gambit is hosted by Hepforge, IPPP Durham
GAMBIT  v1.5.0-2191-ga4742ac
a Global And Modular Bsm Inference Tool
Gambit::ColliderBit::OPALNeutralinoHadronicLimitAt208GeV Class Reference

A class to contain the limit data from OPAL_EPJC35_2004_1, figure 9b. More...

#include <OPALGauginoLimits.hpp>

Inheritance diagram for Gambit::ColliderBit::OPALNeutralinoHadronicLimitAt208GeV:
Collaboration diagram for Gambit::ColliderBit::OPALNeutralinoHadronicLimitAt208GeV:

Public Member Functions

Point interpolation, conversion, and region checks
P2 convertPt (double x, double y) const
 Convert a point from pixel units to axis units. More...
 
bool isWithinExclusionRegion (double x, double y, double) const
 Check to see if the point is within the exclusion region. More...
 
Construction, initializing with all necessary data from the plot
 OPALNeutralinoHadronicLimitAt208GeV ()
 
- Public Member Functions inherited from Gambit::ColliderBit::BaseLimitContainer
 BaseLimitContainer ()
 
virtual ~BaseLimitContainer ()
 
virtual double specialLimit (double, double) const
 Return the limit value outside of the exclusion region. More...
 
double limitAverage (double x, double y, double mZ) const
 Two-pi averaging interpolator to find limits between limit curves. More...
 
void dumpPlotData (double xlow, double xhigh, double ylow, double yhigh, double mZ, std::string filename, int ngrid=100) const
 Dump limit average data into a file for average debugging. More...
 
void dumpLightPlotData (std::string filename, int nperLine=20) const
 Dump input limit contour data into a file for limit debugging. More...
 

Additional Inherited Members

- Protected Types inherited from Gambit::ColliderBit::BaseLimitContainer
typedef std::vector< P2Corners
 
typedef std::vector< LineSegmentContours
 
typedef ContoursContoursPointer
 
typedef std::map< unsigned, Contours * > LimitContours
 
typedef std::pair< unsigned, Contours * > LimitContourEntry
 
- Protected Attributes inherited from Gambit::ColliderBit::BaseLimitContainer
std::vector< double_limitValuesSorted
 
LimitContours _limitContours
 
P2 _externalPoint
 

Detailed Description

A class to contain the limit data from OPAL_EPJC35_2004_1, figure 9b.

Definition at line 85 of file OPALGauginoLimits.hpp.

Constructor & Destructor Documentation

◆ OPALNeutralinoHadronicLimitAt208GeV()

Gambit::ColliderBit::OPALNeutralinoHadronicLimitAt208GeV::OPALNeutralinoHadronicLimitAt208GeV ( )

Definition at line 816 of file OPALGauginoLimits.cpp.

References Gambit::ColliderBit::BaseLimitContainer::_limitContours, Gambit::ColliderBit::BaseLimitContainer::_limitValuesSorted, Gambit::ColliderBit::OPALCharginoHadronicLimitAt208GeV::convertPt(), and Gambit::ColliderBit::makeLine().

817  {
819  _limitValuesSorted.push_back(0.051);
820  _limitValuesSorted.push_back(0.15);
821  _limitValuesSorted.push_back(0.5);
822 
824  Corners corners;
825  ContoursPointer contoursPointer;
826  size_t oldSize;
827 
829  contoursPointer = new Contours();
830 
831  corners.clear();
832  oldSize = contoursPointer->size();
833  corners.push_back(convertPt(434.00,85.00));
834  corners.push_back(convertPt(434.00,97.00));
835  corners.push_back(convertPt(413.00,97.00));
836  corners.push_back(convertPt(413.00,85.00));
837  corners.push_back(convertPt(434.00,85.00));
838  contoursPointer->resize(oldSize + corners.size() - 1);
839  std::transform(corners.begin(), --corners.end(), ++corners.begin(),
840  contoursPointer->begin() + oldSize, makeLine);
841 
842  corners.clear();
843  oldSize = contoursPointer->size();
844  corners.push_back(convertPt(391.00,134.0));
845  corners.push_back(convertPt(391.00,158.0));
846  corners.push_back(convertPt(370.00,158.0));
847  corners.push_back(convertPt(370.00,134.0));
848  corners.push_back(convertPt(391.00,134.0));
849  contoursPointer->resize(oldSize + corners.size() - 1);
850  std::transform(corners.begin(), --corners.end(), ++corners.begin(),
851  contoursPointer->begin() + oldSize, makeLine);
852 
853  corners.clear();
854  oldSize = contoursPointer->size();
855  corners.push_back(convertPt(434.00,134.0));
856  corners.push_back(convertPt(434.00,146.0));
857  corners.push_back(convertPt(413.00,146.0));
858  corners.push_back(convertPt(413.00,134.0));
859  corners.push_back(convertPt(434.00,134.0));
860  contoursPointer->resize(oldSize + corners.size() - 1);
861  std::transform(corners.begin(), --corners.end(), ++corners.begin(),
862  contoursPointer->begin() + oldSize, makeLine);
863 
864  corners.clear();
865  oldSize = contoursPointer->size();
866  corners.push_back(convertPt(434.00,158.0));
867  corners.push_back(convertPt(434.00,207.0));
868  corners.push_back(convertPt(455.00,207.0));
869  corners.push_back(convertPt(455.00,195.0));
870  corners.push_back(convertPt(499.00,195.0));
871  corners.push_back(convertPt(499.00,220.0));
872  corners.push_back(convertPt(477.00,220.0));
873  corners.push_back(convertPt(477.00,232.0));
874  corners.push_back(convertPt(499.00,232.0));
875  corners.push_back(convertPt(499.00,244.0));
876  corners.push_back(convertPt(520.00,244.0));
877  corners.push_back(convertPt(520.00,293.0));
878  corners.push_back(convertPt(477.00,293.0));
879  corners.push_back(convertPt(477.00,281.0));
880  corners.push_back(convertPt(434.00,281.0));
881  corners.push_back(convertPt(434.00,293.0));
882  corners.push_back(convertPt(413.00,293.0));
883  corners.push_back(convertPt(413.00,281.0));
884  corners.push_back(convertPt(434.00,281.0));
885  corners.push_back(convertPt(434.00,256.0));
886  corners.push_back(convertPt(413.00,256.0));
887  corners.push_back(convertPt(413.00,158.0));
888  corners.push_back(convertPt(434.00,158.0));
889  contoursPointer->resize(oldSize + corners.size() - 1);
890  std::transform(corners.begin(), --corners.end(), ++corners.begin(),
891  contoursPointer->begin() + oldSize, makeLine);
892 
893  corners.clear();
894  oldSize = contoursPointer->size();
895  corners.push_back(convertPt(370.00,170.0));
896  corners.push_back(convertPt(370.00,183.0));
897  corners.push_back(convertPt(348.00,183.0));
898  corners.push_back(convertPt(348.00,170.0));
899  corners.push_back(convertPt(370.00,170.0));
900  contoursPointer->resize(oldSize + corners.size() - 1);
901  std::transform(corners.begin(), --corners.end(), ++corners.begin(),
902  contoursPointer->begin() + oldSize, makeLine);
903 
904  corners.clear();
905  oldSize = contoursPointer->size();
906  corners.push_back(convertPt(477.00,256.0));
907  corners.push_back(convertPt(477.00,268.0));
908  corners.push_back(convertPt(499.00,268.0));
909  corners.push_back(convertPt(499.00,256.0));
910  corners.push_back(convertPt(477.00,256.0));
911  contoursPointer->resize(oldSize + corners.size() - 1);
912  std::transform(corners.begin(), --corners.end(), ++corners.begin(),
913  contoursPointer->begin() + oldSize, makeLine);
914 
915  corners.clear();
916  oldSize = contoursPointer->size();
917  corners.push_back(convertPt(284.00,281.0));
918  corners.push_back(convertPt(284.00,293.0));
919  corners.push_back(convertPt(262.00,293.0));
920  corners.push_back(convertPt(262.00,281.0));
921  corners.push_back(convertPt(284.00,281.0));
922  contoursPointer->resize(oldSize + corners.size() - 1);
923  std::transform(corners.begin(), --corners.end(), ++corners.begin(),
924  contoursPointer->begin() + oldSize, makeLine);
925 
926  corners.clear();
927  oldSize = contoursPointer->size();
928  corners.push_back(convertPt(520.00,305.0));
929  corners.push_back(convertPt(520.00,317.0));
930  corners.push_back(convertPt(542.00,317.0));
931  corners.push_back(convertPt(542.00,342.0));
932  corners.push_back(convertPt(585.00,342.0));
933  corners.push_back(convertPt(585.00,354.0));
934  corners.push_back(convertPt(606.00,354.0));
935  corners.push_back(convertPt(606.00,378.0));
936  corners.push_back(convertPt(649.00,378.0));
937  corners.push_back(convertPt(649.00,427.0));
938  corners.push_back(convertPt(670.00,427.0));
939  corners.push_back(convertPt(670.00,452.0));
940  corners.push_back(convertPt(692.00,452.0));
941  corners.push_back(convertPt(692.00,464.0));
942  corners.push_back(convertPt(713.00,464.0));
943  corners.push_back(convertPt(713.00,513.0));
944  corners.push_back(convertPt(734.00,513.0));
945  corners.push_back(convertPt(734.00,525.0));
946  corners.push_back(convertPt(756.00,525.0));
947  corners.push_back(convertPt(756.00,538.0));
948  corners.push_back(convertPt(734.00,538.0));
949  corners.push_back(convertPt(734.00,550.0));
950  corners.push_back(convertPt(756.00,550.0));
951  corners.push_back(convertPt(756.00,574.0));
952  corners.push_back(convertPt(777.00,574.0));
953  corners.push_back(convertPt(777.00,611.0));
954  corners.push_back(convertPt(799.00,611.0));
955  corners.push_back(convertPt(799.00,672.0));
956  corners.push_back(convertPt(584.00,672.0));
957  corners.push_back(convertPt(584.00,648.0));
958  corners.push_back(convertPt(563.00,648.0));
959  corners.push_back(convertPt(563.00,672.0));
960  corners.push_back(convertPt(477.00,672.0));
961  corners.push_back(convertPt(477.00,648.0));
962  corners.push_back(convertPt(456.00,648.0));
963  corners.push_back(convertPt(456.00,672.0));
964  corners.push_back(convertPt(413.00,672.0));
965  corners.push_back(convertPt(413.00,476.0));
966  corners.push_back(convertPt(434.00,476.0));
967  corners.push_back(convertPt(434.00,501.0));
968  corners.push_back(convertPt(456.00,501.0));
969  corners.push_back(convertPt(456.00,476.0));
970  corners.push_back(convertPt(477.00,476.0));
971  corners.push_back(convertPt(477.00,439.0));
972  corners.push_back(convertPt(520.00,439.0));
973  corners.push_back(convertPt(520.00,427.0));
974  corners.push_back(convertPt(499.00,427.0));
975  corners.push_back(convertPt(499.00,402.0));
976  corners.push_back(convertPt(520.00,402.0));
977  corners.push_back(convertPt(520.00,366.0));
978  corners.push_back(convertPt(541.00,366.0));
979  corners.push_back(convertPt(541.00,354.0));
980  corners.push_back(convertPt(520.00,354.0));
981  corners.push_back(convertPt(520.00,342.0));
982  corners.push_back(convertPt(477.00,342.0));
983  corners.push_back(convertPt(477.00,330.0));
984  corners.push_back(convertPt(455.00,330.0));
985  corners.push_back(convertPt(455.00,318.0));
986  corners.push_back(convertPt(434.00,318.0));
987  corners.push_back(convertPt(434.00,464.0));
988  corners.push_back(convertPt(413.00,464.0));
989  corners.push_back(convertPt(413.00,305.0));
990  corners.push_back(convertPt(520.00,305.0));
991  contoursPointer->resize(oldSize + corners.size() - 1);
992  std::transform(corners.begin(), --corners.end(), ++corners.begin(),
993  contoursPointer->begin() + oldSize, makeLine);
994 
995  corners.clear();
996  oldSize = contoursPointer->size();
997  corners.push_back(convertPt(241.00,342.0));
998  corners.push_back(convertPt(241.00,354.0));
999  corners.push_back(convertPt(262.00,354.0));
1000  corners.push_back(convertPt(262.00,379.0));
1001  corners.push_back(convertPt(241.00,379.0));
1002  corners.push_back(convertPt(241.00,366.0));
1003  corners.push_back(convertPt(220.00,366.0));
1004  corners.push_back(convertPt(220.00,342.0));
1005  corners.push_back(convertPt(241.00,342.0));
1006  contoursPointer->resize(oldSize + corners.size() - 1);
1007  std::transform(corners.begin(), --corners.end(), ++corners.begin(),
1008  contoursPointer->begin() + oldSize, makeLine);
1009 
1010  corners.clear();
1011  oldSize = contoursPointer->size();
1012  corners.push_back(convertPt(370.00,342.0));
1013  corners.push_back(convertPt(370.00,366.0));
1014  corners.push_back(convertPt(348.00,366.0));
1015  corners.push_back(convertPt(348.00,342.0));
1016  corners.push_back(convertPt(370.00,342.0));
1017  contoursPointer->resize(oldSize + corners.size() - 1);
1018  std::transform(corners.begin(), --corners.end(), ++corners.begin(),
1019  contoursPointer->begin() + oldSize, makeLine);
1020 
1021  corners.clear();
1022  oldSize = contoursPointer->size();
1023  corners.push_back(convertPt(541.00,366.0));
1024  corners.push_back(convertPt(541.00,378.0));
1025  corners.push_back(convertPt(563.00,378.0));
1026  corners.push_back(convertPt(563.00,366.0));
1027  corners.push_back(convertPt(541.00,366.0));
1028  contoursPointer->resize(oldSize + corners.size() - 1);
1029  std::transform(corners.begin(), --corners.end(), ++corners.begin(),
1030  contoursPointer->begin() + oldSize, makeLine);
1031 
1032  corners.clear();
1033  oldSize = contoursPointer->size();
1034  corners.push_back(convertPt(391.00,378.0));
1035  corners.push_back(convertPt(391.00,391.0));
1036  corners.push_back(convertPt(370.00,391.0));
1037  corners.push_back(convertPt(370.00,378.0));
1038  corners.push_back(convertPt(391.00,378.0));
1039  contoursPointer->resize(oldSize + corners.size() - 1);
1040  std::transform(corners.begin(), --corners.end(), ++corners.begin(),
1041  contoursPointer->begin() + oldSize, makeLine);
1042 
1043  corners.clear();
1044  oldSize = contoursPointer->size();
1045  corners.push_back(convertPt(606.00,391.0));
1046  corners.push_back(convertPt(606.00,403.0));
1047  corners.push_back(convertPt(627.00,403.0));
1048  corners.push_back(convertPt(627.00,391.0));
1049  corners.push_back(convertPt(606.00,391.0));
1050  contoursPointer->resize(oldSize + corners.size() - 1);
1051  std::transform(corners.begin(), --corners.end(), ++corners.begin(),
1052  contoursPointer->begin() + oldSize, makeLine);
1053 
1054  corners.clear();
1055  oldSize = contoursPointer->size();
1056  corners.push_back(convertPt(348.00,391.0));
1057  corners.push_back(convertPt(348.00,403.0));
1058  corners.push_back(convertPt(327.00,403.0));
1059  corners.push_back(convertPt(327.00,391.0));
1060  corners.push_back(convertPt(348.00,391.0));
1061  contoursPointer->resize(oldSize + corners.size() - 1);
1062  std::transform(corners.begin(), --corners.end(), ++corners.begin(),
1063  contoursPointer->begin() + oldSize, makeLine);
1064 
1065  corners.clear();
1066  oldSize = contoursPointer->size();
1067  corners.push_back(convertPt(477.00,391.0));
1068  corners.push_back(convertPt(477.00,403.0));
1069  corners.push_back(convertPt(455.00,403.0));
1070  corners.push_back(convertPt(455.00,391.0));
1071  corners.push_back(convertPt(477.00,391.0));
1072  contoursPointer->resize(oldSize + corners.size() - 1);
1073  std::transform(corners.begin(), --corners.end(), ++corners.begin(),
1074  contoursPointer->begin() + oldSize, makeLine);
1075 
1076  corners.clear();
1077  oldSize = contoursPointer->size();
1078  corners.push_back(convertPt(263.00,439.0));
1079  corners.push_back(convertPt(263.00,464.0));
1080  corners.push_back(convertPt(241.00,464.0));
1081  corners.push_back(convertPt(241.00,439.0));
1082  corners.push_back(convertPt(263.00,439.0));
1083  contoursPointer->resize(oldSize + corners.size() - 1);
1084  std::transform(corners.begin(), --corners.end(), ++corners.begin(),
1085  contoursPointer->begin() + oldSize, makeLine);
1086 
1087  corners.clear();
1088  oldSize = contoursPointer->size();
1089  corners.push_back(convertPt(305.00,439.0));
1090  corners.push_back(convertPt(305.00,464.0));
1091  corners.push_back(convertPt(284.00,464.0));
1092  corners.push_back(convertPt(284.00,439.0));
1093  corners.push_back(convertPt(305.00,439.0));
1094  contoursPointer->resize(oldSize + corners.size() - 1);
1095  std::transform(corners.begin(), --corners.end(), ++corners.begin(),
1096  contoursPointer->begin() + oldSize, makeLine);
1097 
1098  corners.clear();
1099  oldSize = contoursPointer->size();
1100  corners.push_back(convertPt(305.00,476.0));
1101  corners.push_back(convertPt(305.00,501.0));
1102  corners.push_back(convertPt(284.00,501.0));
1103  corners.push_back(convertPt(284.00,476.0));
1104  corners.push_back(convertPt(305.00,476.0));
1105  contoursPointer->resize(oldSize + corners.size() - 1);
1106  std::transform(corners.begin(), --corners.end(), ++corners.begin(),
1107  contoursPointer->begin() + oldSize, makeLine);
1108 
1109  corners.clear();
1110  oldSize = contoursPointer->size();
1111  corners.push_back(convertPt(456.00,526.0));
1112  corners.push_back(convertPt(456.00,550.0));
1113  corners.push_back(convertPt(434.00,550.0));
1114  corners.push_back(convertPt(434.00,562.0));
1115  corners.push_back(convertPt(456.00,562.0));
1116  corners.push_back(convertPt(456.00,574.0));
1117  corners.push_back(convertPt(477.00,574.0));
1118  corners.push_back(convertPt(477.00,586.0));
1119  corners.push_back(convertPt(498.00,586.0));
1120  corners.push_back(convertPt(498.00,550.0));
1121  corners.push_back(convertPt(477.00,550.0));
1122  corners.push_back(convertPt(477.00,526.0));
1123  corners.push_back(convertPt(456.00,526.0));
1124  contoursPointer->resize(oldSize + corners.size() - 1);
1125  std::transform(corners.begin(), --corners.end(), ++corners.begin(),
1126  contoursPointer->begin() + oldSize, makeLine);
1127 
1128  corners.clear();
1129  oldSize = contoursPointer->size();
1130  corners.push_back(convertPt(456.00,598.0));
1131  corners.push_back(convertPt(456.00,623.0));
1132  corners.push_back(convertPt(477.00,623.0));
1133  corners.push_back(convertPt(477.00,598.0));
1134  corners.push_back(convertPt(456.00,598.0));
1135  contoursPointer->resize(oldSize + corners.size() - 1);
1136  std::transform(corners.begin(), --corners.end(), ++corners.begin(),
1137  contoursPointer->begin() + oldSize, makeLine);
1138 
1139  corners.clear();
1140  oldSize = contoursPointer->size();
1141  corners.push_back(convertPt(434.00,635.0));
1142  corners.push_back(convertPt(434.00,648.0));
1143  corners.push_back(convertPt(456.00,648.0));
1144  corners.push_back(convertPt(456.00,635.0));
1145  corners.push_back(convertPt(434.00,635.0));
1146  contoursPointer->resize(oldSize + corners.size() - 1);
1147  std::transform(corners.begin(), --corners.end(), ++corners.begin(),
1148  contoursPointer->begin() + oldSize, makeLine);
1149 
1150  _limitContours.insert(LimitContourEntry(0, contoursPointer));
1151 
1153  contoursPointer = new Contours();
1154 
1155  corners.clear();
1156  oldSize = contoursPointer->size();
1157  corners.push_back(convertPt(434.00,73.00));
1158  corners.push_back(convertPt(434.00,97.00));
1159  corners.push_back(convertPt(456.00,97.00));
1160  corners.push_back(convertPt(456.00,109.0));
1161  corners.push_back(convertPt(434.00,109.0));
1162  corners.push_back(convertPt(434.00,122.0));
1163  corners.push_back(convertPt(456.00,122.0));
1164  corners.push_back(convertPt(456.00,171.0));
1165  corners.push_back(convertPt(477.00,171.0));
1166  corners.push_back(convertPt(477.00,158.0));
1167  corners.push_back(convertPt(499.00,158.0));
1168  corners.push_back(convertPt(499.00,182.0));
1169  corners.push_back(convertPt(520.00,182.0));
1170  corners.push_back(convertPt(520.00,219.0));
1171  corners.push_back(convertPt(542.00,219.0));
1172  corners.push_back(convertPt(542.00,243.0));
1173  corners.push_back(convertPt(563.00,243.0));
1174  corners.push_back(convertPt(563.00,281.0));
1175  corners.push_back(convertPt(584.00,281.0));
1176  corners.push_back(convertPt(584.00,305.0));
1177  corners.push_back(convertPt(606.00,305.0));
1178  corners.push_back(convertPt(606.00,342.0));
1179  corners.push_back(convertPt(627.00,342.0));
1180  corners.push_back(convertPt(627.00,366.0));
1181  corners.push_back(convertPt(649.00,366.0));
1182  corners.push_back(convertPt(649.00,403.0));
1183  corners.push_back(convertPt(670.00,403.0));
1184  corners.push_back(convertPt(670.00,427.0));
1185  corners.push_back(convertPt(692.00,427.0));
1186  corners.push_back(convertPt(692.00,464.0));
1187  corners.push_back(convertPt(713.00,464.0));
1188  corners.push_back(convertPt(713.00,489.0));
1189  corners.push_back(convertPt(734.00,489.0));
1190  corners.push_back(convertPt(734.00,525.0));
1191  corners.push_back(convertPt(756.00,525.0));
1192  corners.push_back(convertPt(756.00,550.0));
1193  corners.push_back(convertPt(777.00,550.0));
1194  corners.push_back(convertPt(777.00,599.0));
1195  corners.push_back(convertPt(799.00,599.0));
1196  corners.push_back(convertPt(799.00,611.0));
1197  corners.push_back(convertPt(820.00,611.0));
1198  corners.push_back(convertPt(820.00,647.0));
1199  corners.push_back(convertPt(799.00,647.0));
1200  corners.push_back(convertPt(799.00,672.0));
1201  corners.push_back(convertPt(413.00,672.0));
1202  corners.push_back(convertPt(413.00,647.0));
1203  corners.push_back(convertPt(391.00,647.0));
1204  corners.push_back(convertPt(391.00,635.0));
1205  corners.push_back(convertPt(370.00,635.0));
1206  corners.push_back(convertPt(370.00,623.0));
1207  corners.push_back(convertPt(348.00,623.0));
1208  corners.push_back(convertPt(348.00,586.0));
1209  corners.push_back(convertPt(327.00,586.0));
1210  corners.push_back(convertPt(327.00,562.0));
1211  corners.push_back(convertPt(305.00,562.0));
1212  corners.push_back(convertPt(305.00,525.0));
1213  corners.push_back(convertPt(284.00,525.0));
1214  corners.push_back(convertPt(284.00,501.0));
1215  corners.push_back(convertPt(263.00,501.0));
1216  corners.push_back(convertPt(263.00,464.0));
1217  corners.push_back(convertPt(241.00,464.0));
1218  corners.push_back(convertPt(241.00,439.0));
1219  corners.push_back(convertPt(220.00,439.0));
1220  corners.push_back(convertPt(220.00,342.0));
1221  corners.push_back(convertPt(262.00,342.0));
1222  corners.push_back(convertPt(262.00,281.0));
1223  corners.push_back(convertPt(305.00,281.0));
1224  corners.push_back(convertPt(305.00,244.0));
1225  corners.push_back(convertPt(327.00,244.0));
1226  corners.push_back(convertPt(327.00,220.0));
1227  corners.push_back(convertPt(348.00,220.0));
1228  corners.push_back(convertPt(348.00,207.0));
1229  corners.push_back(convertPt(327.00,207.0));
1230  corners.push_back(convertPt(327.00,195.0));
1231  corners.push_back(convertPt(370.00,195.0));
1232  corners.push_back(convertPt(370.00,220.0));
1233  corners.push_back(convertPt(391.00,220.0));
1234  corners.push_back(convertPt(391.00,256.0));
1235  corners.push_back(convertPt(413.00,256.0));
1236  corners.push_back(convertPt(413.00,158.0));
1237  corners.push_back(convertPt(391.00,158.0));
1238  corners.push_back(convertPt(391.00,183.0));
1239  corners.push_back(convertPt(348.00,183.0));
1240  corners.push_back(convertPt(348.00,158.0));
1241  corners.push_back(convertPt(370.00,158.0));
1242  corners.push_back(convertPt(370.00,134.0));
1243  corners.push_back(convertPt(391.00,134.0));
1244  corners.push_back(convertPt(391.00,146.0));
1245  corners.push_back(convertPt(413.00,146.0));
1246  corners.push_back(convertPt(413.00,134.0));
1247  corners.push_back(convertPt(434.00,134.0));
1248  corners.push_back(convertPt(434.00,122.0));
1249  corners.push_back(convertPt(413.00,122.0));
1250  corners.push_back(convertPt(413.00,73.00));
1251  corners.push_back(convertPt(434.00,73.00));
1252  contoursPointer->resize(oldSize + corners.size() - 1);
1253  std::transform(corners.begin(), --corners.end(), ++corners.begin(),
1254  contoursPointer->begin() + oldSize, makeLine);
1255 
1256  corners.clear();
1257  oldSize = contoursPointer->size();
1258  corners.push_back(convertPt(413.00,146.0));
1259  corners.push_back(convertPt(413.00,158.0));
1260  corners.push_back(convertPt(434.00,158.0));
1261  corners.push_back(convertPt(434.00,146.0));
1262  corners.push_back(convertPt(413.00,146.0));
1263  contoursPointer->resize(oldSize + corners.size() - 1);
1264  std::transform(corners.begin(), --corners.end(), ++corners.begin(),
1265  contoursPointer->begin() + oldSize, makeLine);
1266 
1267  corners.clear();
1268  oldSize = contoursPointer->size();
1269  corners.push_back(convertPt(348.00,220.0));
1270  corners.push_back(convertPt(348.00,244.0));
1271  corners.push_back(convertPt(370.00,244.0));
1272  corners.push_back(convertPt(370.00,220.0));
1273  corners.push_back(convertPt(348.00,220.0));
1274  contoursPointer->resize(oldSize + corners.size() - 1);
1275  std::transform(corners.begin(), --corners.end(), ++corners.begin(),
1276  contoursPointer->begin() + oldSize, makeLine);
1277 
1278  corners.clear();
1279  oldSize = contoursPointer->size();
1280  corners.push_back(convertPt(327.00,244.0));
1281  corners.push_back(convertPt(327.00,281.0));
1282  corners.push_back(convertPt(348.00,281.0));
1283  corners.push_back(convertPt(348.00,244.0));
1284  corners.push_back(convertPt(327.00,244.0));
1285  contoursPointer->resize(oldSize + corners.size() - 1);
1286  std::transform(corners.begin(), --corners.end(), ++corners.begin(),
1287  contoursPointer->begin() + oldSize, makeLine);
1288 
1289  corners.clear();
1290  oldSize = contoursPointer->size();
1291  corners.push_back(convertPt(370.00,268.0));
1292  corners.push_back(convertPt(370.00,293.0));
1293  corners.push_back(convertPt(391.00,293.0));
1294  corners.push_back(convertPt(391.00,281.0));
1295  corners.push_back(convertPt(413.00,281.0));
1296  corners.push_back(convertPt(413.00,268.0));
1297  corners.push_back(convertPt(370.00,268.0));
1298  contoursPointer->resize(oldSize + corners.size() - 1);
1299  std::transform(corners.begin(), --corners.end(), ++corners.begin(),
1300  contoursPointer->begin() + oldSize, makeLine);
1301 
1302  corners.clear();
1303  oldSize = contoursPointer->size();
1304  corners.push_back(convertPt(541.00,281.0));
1305  corners.push_back(convertPt(541.00,293.0));
1306  corners.push_back(convertPt(563.00,293.0));
1307  corners.push_back(convertPt(563.00,281.0));
1308  corners.push_back(convertPt(541.00,281.0));
1309  contoursPointer->resize(oldSize + corners.size() - 1);
1310  std::transform(corners.begin(), --corners.end(), ++corners.begin(),
1311  contoursPointer->begin() + oldSize, makeLine);
1312 
1313  corners.clear();
1314  oldSize = contoursPointer->size();
1315  corners.push_back(convertPt(305.00,293.0));
1316  corners.push_back(convertPt(305.00,305.0));
1317  corners.push_back(convertPt(327.00,305.0));
1318  corners.push_back(convertPt(327.00,293.0));
1319  corners.push_back(convertPt(305.00,293.0));
1320  contoursPointer->resize(oldSize + corners.size() - 1);
1321  std::transform(corners.begin(), --corners.end(), ++corners.begin(),
1322  contoursPointer->begin() + oldSize, makeLine);
1323 
1324  corners.clear();
1325  oldSize = contoursPointer->size();
1326  corners.push_back(convertPt(391.00,317.0));
1327  corners.push_back(convertPt(391.00,403.0));
1328  corners.push_back(convertPt(370.00,403.0));
1329  corners.push_back(convertPt(370.00,464.0));
1330  corners.push_back(convertPt(391.00,464.0));
1331  corners.push_back(convertPt(391.00,513.0));
1332  corners.push_back(convertPt(370.00,513.0));
1333  corners.push_back(convertPt(370.00,501.0));
1334  corners.push_back(convertPt(348.00,501.0));
1335  corners.push_back(convertPt(348.00,476.0));
1336  corners.push_back(convertPt(327.00,476.0));
1337  corners.push_back(convertPt(327.00,526.0));
1338  corners.push_back(convertPt(348.00,526.0));
1339  corners.push_back(convertPt(348.00,550.0));
1340  corners.push_back(convertPt(370.00,550.0));
1341  corners.push_back(convertPt(370.00,562.0));
1342  corners.push_back(convertPt(391.00,562.0));
1343  corners.push_back(convertPt(391.00,586.0));
1344  corners.push_back(convertPt(370.00,586.0));
1345  corners.push_back(convertPt(370.00,623.0));
1346  corners.push_back(convertPt(413.00,623.0));
1347  corners.push_back(convertPt(413.00,317.0));
1348  corners.push_back(convertPt(391.00,317.0));
1349  contoursPointer->resize(oldSize + corners.size() - 1);
1350  std::transform(corners.begin(), --corners.end(), ++corners.begin(),
1351  contoursPointer->begin() + oldSize, makeLine);
1352 
1353  corners.clear();
1354  oldSize = contoursPointer->size();
1355  corners.push_back(convertPt(434.00,318.0));
1356  corners.push_back(convertPt(434.00,330.0));
1357  corners.push_back(convertPt(455.00,330.0));
1358  corners.push_back(convertPt(455.00,318.0));
1359  corners.push_back(convertPt(434.00,318.0));
1360  contoursPointer->resize(oldSize + corners.size() - 1);
1361  std::transform(corners.begin(), --corners.end(), ++corners.begin(),
1362  contoursPointer->begin() + oldSize, makeLine);
1363 
1364  corners.clear();
1365  oldSize = contoursPointer->size();
1366  corners.push_back(convertPt(262.00,379.0));
1367  corners.push_back(convertPt(262.00,391.0));
1368  corners.push_back(convertPt(284.00,391.0));
1369  corners.push_back(convertPt(284.00,379.0));
1370  corners.push_back(convertPt(262.00,379.0));
1371  contoursPointer->resize(oldSize + corners.size() - 1);
1372  std::transform(corners.begin(), --corners.end(), ++corners.begin(),
1373  contoursPointer->begin() + oldSize, makeLine);
1374 
1375  corners.clear();
1376  oldSize = contoursPointer->size();
1377  corners.push_back(convertPt(456.00,598.0));
1378  corners.push_back(convertPt(456.00,611.0));
1379  corners.push_back(convertPt(477.00,611.0));
1380  corners.push_back(convertPt(477.00,598.0));
1381  corners.push_back(convertPt(456.00,598.0));
1382  contoursPointer->resize(oldSize + corners.size() - 1);
1383  std::transform(corners.begin(), --corners.end(), ++corners.begin(),
1384  contoursPointer->begin() + oldSize, makeLine);
1385 
1386  corners.clear();
1387  oldSize = contoursPointer->size();
1388  corners.push_back(convertPt(434.00,635.0));
1389  corners.push_back(convertPt(434.00,648.0));
1390  corners.push_back(convertPt(456.00,648.0));
1391  corners.push_back(convertPt(456.00,635.0));
1392  corners.push_back(convertPt(434.00,635.0));
1393  contoursPointer->resize(oldSize + corners.size() - 1);
1394  std::transform(corners.begin(), --corners.end(), ++corners.begin(),
1395  contoursPointer->begin() + oldSize, makeLine);
1396 
1397  _limitContours.insert(LimitContourEntry(1, contoursPointer));
1398 
1400  corners.clear();
1401  corners.push_back(convertPt(434.00,73.00));
1402  corners.push_back(convertPt(434.00,97.00));
1403  corners.push_back(convertPt(456.00,97.00));
1404  corners.push_back(convertPt(456.00,122.0));
1405  corners.push_back(convertPt(477.00,122.0));
1406  corners.push_back(convertPt(477.00,158.0));
1407  corners.push_back(convertPt(499.00,158.0));
1408  corners.push_back(convertPt(499.00,182.0));
1409  corners.push_back(convertPt(520.00,182.0));
1410  corners.push_back(convertPt(520.00,219.0));
1411  corners.push_back(convertPt(542.00,219.0));
1412  corners.push_back(convertPt(542.00,243.0));
1413  corners.push_back(convertPt(563.00,243.0));
1414  corners.push_back(convertPt(563.00,281.0));
1415  corners.push_back(convertPt(584.00,281.0));
1416  corners.push_back(convertPt(584.00,305.0));
1417  corners.push_back(convertPt(606.00,305.0));
1418  corners.push_back(convertPt(606.00,342.0));
1419  corners.push_back(convertPt(627.00,342.0));
1420  corners.push_back(convertPt(627.00,366.0));
1421  corners.push_back(convertPt(649.00,366.0));
1422  corners.push_back(convertPt(649.00,403.0));
1423  corners.push_back(convertPt(670.00,403.0));
1424  corners.push_back(convertPt(670.00,427.0));
1425  corners.push_back(convertPt(692.00,427.0));
1426  corners.push_back(convertPt(692.00,464.0));
1427  corners.push_back(convertPt(713.00,464.0));
1428  corners.push_back(convertPt(713.00,489.0));
1429  corners.push_back(convertPt(734.00,489.0));
1430  corners.push_back(convertPt(734.00,525.0));
1431  corners.push_back(convertPt(756.00,525.0));
1432  corners.push_back(convertPt(756.00,550.0));
1433  corners.push_back(convertPt(777.00,550.0));
1434  corners.push_back(convertPt(777.00,587.0));
1435  corners.push_back(convertPt(799.00,587.0));
1436  corners.push_back(convertPt(799.00,611.0));
1437  corners.push_back(convertPt(820.00,611.0));
1438  corners.push_back(convertPt(820.00,647.0));
1439  corners.push_back(convertPt(799.00,647.0));
1440  corners.push_back(convertPt(799.00,672.0));
1441  corners.push_back(convertPt(413.00,672.0));
1442  corners.push_back(convertPt(413.00,647.0));
1443  corners.push_back(convertPt(370.00,647.0));
1444  corners.push_back(convertPt(370.00,623.0));
1445  corners.push_back(convertPt(348.00,623.0));
1446  corners.push_back(convertPt(348.00,586.0));
1447  corners.push_back(convertPt(327.00,586.0));
1448  corners.push_back(convertPt(327.00,562.0));
1449  corners.push_back(convertPt(305.00,562.0));
1450  corners.push_back(convertPt(305.00,525.0));
1451  corners.push_back(convertPt(284.00,525.0));
1452  corners.push_back(convertPt(284.00,501.0));
1453  corners.push_back(convertPt(263.00,501.0));
1454  corners.push_back(convertPt(263.00,464.0));
1455  corners.push_back(convertPt(241.00,464.0));
1456  corners.push_back(convertPt(241.00,439.0));
1457  corners.push_back(convertPt(220.00,439.0));
1458  corners.push_back(convertPt(220.00,391.0));
1459  corners.push_back(convertPt(198.00,391.0));
1460  corners.push_back(convertPt(198.00,366.0));
1461  corners.push_back(convertPt(220.00,366.0));
1462  corners.push_back(convertPt(220.00,342.0));
1463  corners.push_back(convertPt(262.00,342.0));
1464  corners.push_back(convertPt(262.00,281.0));
1465  corners.push_back(convertPt(305.00,281.0));
1466  corners.push_back(convertPt(305.00,220.0));
1467  corners.push_back(convertPt(348.00,220.0));
1468  corners.push_back(convertPt(348.00,207.0));
1469  corners.push_back(convertPt(327.00,207.0));
1470  corners.push_back(convertPt(327.00,195.0));
1471  corners.push_back(convertPt(348.00,195.0));
1472  corners.push_back(convertPt(348.00,158.0));
1473  corners.push_back(convertPt(370.00,158.0));
1474  corners.push_back(convertPt(370.00,134.0));
1475  corners.push_back(convertPt(391.00,134.0));
1476  corners.push_back(convertPt(391.00,110.0));
1477  corners.push_back(convertPt(413.00,110.0));
1478  corners.push_back(convertPt(413.00,73.00));
1479  corners.push_back(convertPt(434.00,73.00));
1480 
1481  contoursPointer = new Contours();
1482  contoursPointer->resize(corners.size() - 1);
1483  std::transform(corners.begin(), --corners.end(), ++corners.begin(),
1484  contoursPointer->begin(), makeLine);
1485  _limitContours.insert(LimitContourEntry(2, contoursPointer));
1486 
1487  }
P2 convertPt(double x, double y) const
Convert a point from pixel units to axis units.
LineSegment makeLine(const P2 &pt1, const P2 &pt2)
Factory function for lines.
std::pair< unsigned, Contours * > LimitContourEntry
Here is the call graph for this function:

Member Function Documentation

◆ convertPt()

P2 Gambit::ColliderBit::OPALNeutralinoHadronicLimitAt208GeV::convertPt ( double  x,
double  y 
) const
virtual

Convert a point from pixel units to axis units.

Implements Gambit::ColliderBit::BaseLimitContainer.

Definition at line 804 of file OPALGauginoLimits.cpp.

805  {
806  return P2(60. + (x - 231.00) / (831.00 - 231.00) * (200. - 60.),
807  100. + (y - 67.00) / (684.00 - 67.00) * (0. - 100.));
808  }

◆ isWithinExclusionRegion()

bool Gambit::ColliderBit::OPALNeutralinoHadronicLimitAt208GeV::isWithinExclusionRegion ( double  x,
double  y,
double   
) const
virtual

Check to see if the point is within the exclusion region.

Note
Plot caption explicitly mentions 100 GeV, rather than the Z mass

Implements Gambit::ColliderBit::BaseLimitContainer.

Definition at line 810 of file OPALGauginoLimits.cpp.

811  {
813  return (y <= x and x + y <= 208. and x + y > 100.);
814  }

The documentation for this class was generated from the following files: