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

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

#include <OPALGauginoLimits.hpp>

Inheritance diagram for Gambit::ColliderBit::OPALCharginoAllChannelsLimitAt208GeV:
Collaboration diagram for Gambit::ColliderBit::OPALCharginoAllChannelsLimitAt208GeV:

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
 OPALCharginoAllChannelsLimitAt208GeV ()
 
- 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 8b.

Definition at line 66 of file OPALGauginoLimits.hpp.

Constructor & Destructor Documentation

◆ OPALCharginoAllChannelsLimitAt208GeV()

Gambit::ColliderBit::OPALCharginoAllChannelsLimitAt208GeV::OPALCharginoAllChannelsLimitAt208GeV ( )

Definition at line 622 of file OPALGauginoLimits.cpp.

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

623  {
625  _limitValuesSorted.push_back(0.1);
626  _limitValuesSorted.push_back(1.0);
627  _limitValuesSorted.push_back(2.0);
628 
630  Corners corners;
631  ContoursPointer contoursPointer;
632  size_t oldSize;
633 
635  contoursPointer = new Contours();
636 
637  corners.clear();
638  oldSize = contoursPointer->size();
639  corners.push_back(convertPt(806.00,262.00));
640  corners.push_back(convertPt(806.00,286.00));
641  corners.push_back(convertPt(795.00,286.00));
642  corners.push_back(convertPt(795.00,298.00));
643  corners.push_back(convertPt(806.00,298.00));
644  corners.push_back(convertPt(806.00,465.00));
645  corners.push_back(convertPt(692.00,465.00));
646  corners.push_back(convertPt(692.00,453.00));
647  corners.push_back(convertPt(772.00,453.00));
648  corners.push_back(convertPt(772.00,442.00));
649  corners.push_back(convertPt(692.00,442.00));
650  corners.push_back(convertPt(692.00,406.00));
651  corners.push_back(convertPt(577.00,406.00));
652  corners.push_back(convertPt(577.00,394.00));
653  corners.push_back(convertPt(656.00,394.00));
654  corners.push_back(convertPt(656.00,382.00));
655  corners.push_back(convertPt(462.00,382.00));
656  corners.push_back(convertPt(462.00,394.00));
657  corners.push_back(convertPt(347.00,394.00));
658  corners.push_back(convertPt(347.00,370.00));
659  corners.push_back(convertPt(462.00,370.00));
660  corners.push_back(convertPt(462.00,358.00));
661  corners.push_back(convertPt(577.00,358.00));
662  corners.push_back(convertPt(577.00,370.00));
663  corners.push_back(convertPt(691.00,370.00));
664  corners.push_back(convertPt(691.00,346.00));
665  corners.push_back(convertPt(577.00,346.00));
666  corners.push_back(convertPt(577.00,298.00));
667  corners.push_back(convertPt(771.00,298.00));
668  corners.push_back(convertPt(771.00,286.00));
669  corners.push_back(convertPt(691.00,286.00));
670  corners.push_back(convertPt(691.00,274.00));
671  corners.push_back(convertPt(771.00,274.00));
672  corners.push_back(convertPt(771.00,262.00));
673  corners.push_back(convertPt(806.00,262.00));
674  contoursPointer->resize(oldSize + corners.size() - 1);
675  std::transform(corners.begin(), --corners.end(), ++corners.begin(),
676  contoursPointer->begin() + oldSize, makeLine);
677 
678  corners.clear();
679  oldSize = contoursPointer->size();
680  corners.push_back(convertPt(577.00,418.00));
681  corners.push_back(convertPt(577.00,430.00));
682  corners.push_back(convertPt(462.00,430.00));
683  corners.push_back(convertPt(462.00,418.00));
684  corners.push_back(convertPt(577.00,418.00));
685  contoursPointer->resize(oldSize + corners.size() - 1);
686  std::transform(corners.begin(), --corners.end(), ++corners.begin(),
687  contoursPointer->begin() + oldSize, makeLine);
688 
689  corners.clear();
690  oldSize = contoursPointer->size();
691  corners.push_back(convertPt(794.00,490.00));
692  corners.push_back(convertPt(794.00,501.00));
693  corners.push_back(convertPt(772.00,501.00));
694  corners.push_back(convertPt(772.00,490.00));
695  corners.push_back(convertPt(794.00,490.00));
696  contoursPointer->resize(oldSize + corners.size() - 1);
697  std::transform(corners.begin(), --corners.end(), ++corners.begin(),
698  contoursPointer->begin() + oldSize, makeLine);
699 
700  _limitContours.insert(LimitContourEntry(0, contoursPointer));
701 
703  corners.clear();
704  corners.push_back(convertPt(806.00,705.00));
705  corners.push_back(convertPt(806.00,693.00));
706  corners.push_back(convertPt(829.00,693.00));
707  corners.push_back(convertPt(829.00,502.00));
708  corners.push_back(convertPt(840.00,502.00));
709  corners.push_back(convertPt(840.00,466.00));
710  corners.push_back(convertPt(829.00,466.00));
711  corners.push_back(convertPt(829.00,453.00));
712  corners.push_back(convertPt(840.00,453.00));
713  corners.push_back(convertPt(840.00,274.00));
714  corners.push_back(convertPt(829.00,274.00));
715  corners.push_back(convertPt(829.00,262.00));
716  corners.push_back(convertPt(840.00,262.00));
717  corners.push_back(convertPt(840.00,250.00));
718  corners.push_back(convertPt(829.00,250.00));
719  corners.push_back(convertPt(829.00,130.00));
720  corners.push_back(convertPt(817.00,130.00));
721  corners.push_back(convertPt(817.00,118.00));
722  corners.push_back(convertPt(829.00,118.00));
723  corners.push_back(convertPt(829.00,106.00));
724  corners.push_back(convertPt(806.00,106.00));
725  corners.push_back(convertPt(806.00,154.00));
726  corners.push_back(convertPt(691.00,154.00));
727  corners.push_back(convertPt(691.00,166.00));
728  corners.push_back(convertPt(577.00,166.00));
729  corners.push_back(convertPt(577.00,202.00));
730  corners.push_back(convertPt(462.00,202.00));
731  corners.push_back(convertPt(462.00,214.00));
732  corners.push_back(convertPt(371.00,214.00));
733  corners.push_back(convertPt(371.00,226.00));
734  corners.push_back(convertPt(348.00,226.00));
735  corners.push_back(convertPt(348.00,250.00));
736  corners.push_back(convertPt(256.00,250.00));
737  corners.push_back(convertPt(256.00,262.00));
738  corners.push_back(convertPt(222.00,262.00));
739  corners.push_back(convertPt(222.00,274.00));
740  corners.push_back(convertPt(188.00,274.00));
741  corners.push_back(convertPt(188.00,286.00));
742  corners.push_back(convertPt(176.00,286.00));
743  corners.push_back(convertPt(176.00,705.00));
744  corners.push_back(convertPt(806.00,705.00));
745 
746  contoursPointer = new Contours();
747  contoursPointer->resize(corners.size() - 1);
748  std::transform(corners.begin(), --corners.end(), ++corners.begin(),
749  contoursPointer->begin(), makeLine);
750  _limitContours.insert(LimitContourEntry(1, contoursPointer));
751 
753  corners.clear();
754  corners.push_back(convertPt(806.00,705.00));
755  corners.push_back(convertPt(806.00,693.00));
756  corners.push_back(convertPt(840.00,693.00));
757  corners.push_back(convertPt(840.00,633.00));
758  corners.push_back(convertPt(829.00,633.00));
759  corners.push_back(convertPt(829.00,597.00));
760  corners.push_back(convertPt(840.00,597.00));
761  corners.push_back(convertPt(840.00,585.00));
762  corners.push_back(convertPt(829.00,585.00));
763  corners.push_back(convertPt(829.00,561.00));
764  corners.push_back(convertPt(840.00,561.00));
765  corners.push_back(convertPt(840.00,202.00));
766  corners.push_back(convertPt(829.00,202.00));
767  corners.push_back(convertPt(829.00,190.00));
768  corners.push_back(convertPt(840.00,190.00));
769  corners.push_back(convertPt(840.00,154.00));
770  corners.push_back(convertPt(829.00,154.00));
771  corners.push_back(convertPt(829.00,106.00));
772  corners.push_back(convertPt(806.00,106.00));
773  corners.push_back(convertPt(806.00,154.00));
774  corners.push_back(convertPt(691.00,154.00));
775  corners.push_back(convertPt(691.00,166.00));
776  corners.push_back(convertPt(577.00,166.00));
777  corners.push_back(convertPt(577.00,202.00));
778  corners.push_back(convertPt(462.00,202.00));
779  corners.push_back(convertPt(462.00,214.00));
780  corners.push_back(convertPt(371.00,214.00));
781  corners.push_back(convertPt(371.00,226.00));
782  corners.push_back(convertPt(348.00,226.00));
783  corners.push_back(convertPt(348.00,250.00));
784  corners.push_back(convertPt(256.00,250.00));
785  corners.push_back(convertPt(256.00,262.00));
786  corners.push_back(convertPt(222.00,262.00));
787  corners.push_back(convertPt(222.00,274.00));
788  corners.push_back(convertPt(188.00,274.00));
789  corners.push_back(convertPt(188.00,286.00));
790  corners.push_back(convertPt(176.00,286.00));
791  corners.push_back(convertPt(176.00,705.00));
792  corners.push_back(convertPt(806.00,705.00));
793 
794  contoursPointer = new Contours();
795  contoursPointer->resize(corners.size() - 1);
796  std::transform(corners.begin(), --corners.end(), ++corners.begin(),
797  contoursPointer->begin(), makeLine);
798  _limitContours.insert(LimitContourEntry(2, contoursPointer));
799 
800  }
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::OPALCharginoAllChannelsLimitAt208GeV::convertPt ( double  x,
double  y 
) const
virtual

Convert a point from pixel units to axis units.

Implements Gambit::ColliderBit::BaseLimitContainer.

Definition at line 610 of file OPALGauginoLimits.cpp.

611  {
612  return P2(75. + (x - 176.00) / (749.00 - 176.00) * (100. - 75.),
613  100. + (y - 100.00) / (705.00 - 100.00) * (0. - 100.));
614  }

◆ isWithinExclusionRegion()

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

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

Note
Plots only go down to 75 GeV

Implements Gambit::ColliderBit::BaseLimitContainer.

Definition at line 616 of file OPALGauginoLimits.cpp.

617  {
619  return (y <= x and x <= 205. / 2. and x > 75.);
620  }

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