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

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

#include <OPALGauginoLimits.hpp>

Inheritance diagram for Gambit::ColliderBit::OPALCharginoLeptonicLimitAt208GeV:
Collaboration diagram for Gambit::ColliderBit::OPALCharginoLeptonicLimitAt208GeV:

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

Definition at line 47 of file OPALGauginoLimits.hpp.

Constructor & Destructor Documentation

◆ OPALCharginoLeptonicLimitAt208GeV()

Gambit::ColliderBit::OPALCharginoLeptonicLimitAt208GeV::OPALCharginoLeptonicLimitAt208GeV ( )

Definition at line 440 of file OPALGauginoLimits.cpp.

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

441  {
443  _limitValuesSorted.push_back(0.05);
444  _limitValuesSorted.push_back(0.1);
445  _limitValuesSorted.push_back(1.0);
446  _limitValuesSorted.push_back(2.0);
447 
449  Corners corners;
450  ContoursPointer contoursPointer;
451 
453  corners.clear();
454  corners.push_back(convertPt(185.00,473.00));
455  corners.push_back(convertPt(185.00,281.00));
456  corners.push_back(convertPt(243.00,281.00));
457  corners.push_back(convertPt(243.00,257.00));
458  corners.push_back(convertPt(357.00,257.00));
459  corners.push_back(convertPt(357.00,221.00));
460  corners.push_back(convertPt(472.00,221.00));
461  corners.push_back(convertPt(472.00,197.00));
462  corners.push_back(convertPt(587.00,197.00));
463  corners.push_back(convertPt(587.00,161.00));
464  corners.push_back(convertPt(701.00,161.00));
465  corners.push_back(convertPt(701.00,173.00));
466  corners.push_back(convertPt(782.00,173.00));
467  corners.push_back(convertPt(782.00,185.00));
468  corners.push_back(convertPt(816.00,185.00));
469  corners.push_back(convertPt(816.00,449.00));
470  corners.push_back(convertPt(782.00,449.00));
471  corners.push_back(convertPt(782.00,461.00));
472  corners.push_back(convertPt(701.00,461.00));
473  corners.push_back(convertPt(701.00,449.00));
474  corners.push_back(convertPt(587.00,449.00));
475  corners.push_back(convertPt(587.00,461.00));
476  corners.push_back(convertPt(472.00,461.00));
477  corners.push_back(convertPt(472.00,485.00));
478  corners.push_back(convertPt(242.00,485.00));
479  corners.push_back(convertPt(242.00,473.00));
480  corners.push_back(convertPt(185.00,473.00));
481 
482  contoursPointer = new Contours();
483  contoursPointer->resize(corners.size() - 1);
484  std::transform(corners.begin(), --corners.end(), ++corners.begin(),
485  contoursPointer->begin(), makeLine);
486  _limitContours.insert(LimitContourEntry(0, contoursPointer));
487 
489  corners.clear();
490  corners.push_back(convertPt(242.00,689.00));
491  corners.push_back(convertPt(185.00,689.00));
492  corners.push_back(convertPt(185.00,269.00));
493  corners.push_back(convertPt(243.00,269.00));
494  corners.push_back(convertPt(243.00,245.00));
495  corners.push_back(convertPt(357.00,245.00));
496  corners.push_back(convertPt(357.00,209.00));
497  corners.push_back(convertPt(472.00,209.00));
498  corners.push_back(convertPt(472.00,185.00));
499  corners.push_back(convertPt(587.00,185.00));
500  corners.push_back(convertPt(587.00,149.00));
501  corners.push_back(convertPt(701.00,149.00));
502  corners.push_back(convertPt(701.00,137.00));
503  corners.push_back(convertPt(816.00,137.00));
504  corners.push_back(convertPt(816.00,161.00));
505  corners.push_back(convertPt(839.00,161.00));
506  corners.push_back(convertPt(839.00,425.00));
507  corners.push_back(convertPt(816.00,425.00));
508  corners.push_back(convertPt(816.00,557.00));
509  corners.push_back(convertPt(701.00,557.00));
510  corners.push_back(convertPt(701.00,593.00));
511  corners.push_back(convertPt(666.00,593.00));
512  corners.push_back(convertPt(666.00,582.00));
513  corners.push_back(convertPt(586.00,582.00));
514  corners.push_back(convertPt(586.00,630.00));
515  corners.push_back(convertPt(471.00,630.00));
516  corners.push_back(convertPt(471.00,641.00));
517  corners.push_back(convertPt(357.00,641.00));
518  corners.push_back(convertPt(357.00,677.00));
519  corners.push_back(convertPt(242.00,677.00));
520  corners.push_back(convertPt(242.00,689.00));
521 
522  contoursPointer = new Contours();
523  contoursPointer->resize(corners.size() - 1);
524  std::transform(corners.begin(), --corners.end(), ++corners.begin(),
525  contoursPointer->begin(), makeLine);
526  _limitContours.insert(LimitContourEntry(1, contoursPointer));
527 
529  corners.clear();
530  corners.push_back(convertPt(816.00,689.00));
531  corners.push_back(convertPt(816.00,665.00));
532  corners.push_back(convertPt(838.00,665.00));
533  corners.push_back(convertPt(838.00,545.00));
534  corners.push_back(convertPt(850.00,545.00));
535  corners.push_back(convertPt(850.00,125.00));
536  corners.push_back(convertPt(839.00,125.00));
537  corners.push_back(convertPt(839.00,78.00));
538  corners.push_back(convertPt(816.00,78.00));
539  corners.push_back(convertPt(816.00,113.00));
540  corners.push_back(convertPt(701.00,113.00));
541  corners.push_back(convertPt(701.00,137.00));
542  corners.push_back(convertPt(587.00,137.00));
543  corners.push_back(convertPt(587.00,173.00));
544  corners.push_back(convertPt(472.00,173.00));
545  corners.push_back(convertPt(472.00,197.00));
546  corners.push_back(convertPt(380.00,197.00));
547  corners.push_back(convertPt(380.00,209.00));
548  corners.push_back(convertPt(357.00,209.00));
549  corners.push_back(convertPt(357.00,233.00));
550  corners.push_back(convertPt(265.00,233.00));
551  corners.push_back(convertPt(265.00,245.00));
552  corners.push_back(convertPt(243.00,245.00));
553  corners.push_back(convertPt(243.00,257.00));
554  corners.push_back(convertPt(197.00,257.00));
555  corners.push_back(convertPt(197.00,269.00));
556  corners.push_back(convertPt(185.00,269.00));
557  corners.push_back(convertPt(185.00,689.00));
558  corners.push_back(convertPt(816.00,689.00));
559 
560  contoursPointer = new Contours();
561  contoursPointer->resize(corners.size() - 1);
562  std::transform(corners.begin(), --corners.end(), ++corners.begin(),
563  contoursPointer->begin(), makeLine);
564  _limitContours.insert(LimitContourEntry(2, contoursPointer));
565 
567  corners.clear();
568  corners.push_back(convertPt(816.00,689.00));
569  corners.push_back(convertPt(816.00,677.00));
570  corners.push_back(convertPt(850.00,677.00));
571  corners.push_back(convertPt(850.00,101.00));
572  corners.push_back(convertPt(839.00,101.00));
573  corners.push_back(convertPt(839.00,78.00));
574  corners.push_back(convertPt(816.00,78.00));
575  corners.push_back(convertPt(816.00,113.00));
576  corners.push_back(convertPt(701.00,113.00));
577  corners.push_back(convertPt(701.00,137.00));
578  corners.push_back(convertPt(587.00,137.00));
579  corners.push_back(convertPt(587.00,173.00));
580  corners.push_back(convertPt(472.00,173.00));
581  corners.push_back(convertPt(472.00,185.00));
582  corners.push_back(convertPt(426.00,185.00));
583  corners.push_back(convertPt(426.00,197.00));
584  corners.push_back(convertPt(380.00,197.00));
585  corners.push_back(convertPt(380.00,209.00));
586  corners.push_back(convertPt(357.00,209.00));
587  corners.push_back(convertPt(357.00,221.00));
588  corners.push_back(convertPt(311.00,221.00));
589  corners.push_back(convertPt(311.00,233.00));
590  corners.push_back(convertPt(265.00,233.00));
591  corners.push_back(convertPt(265.00,245.00));
592  corners.push_back(convertPt(231.00,245.00));
593  corners.push_back(convertPt(231.00,257.00));
594  corners.push_back(convertPt(197.00,257.00));
595  corners.push_back(convertPt(197.00,269.00));
596  corners.push_back(convertPt(185.00,269.00));
597  corners.push_back(convertPt(185.00,689.00));
598  corners.push_back(convertPt(816.00,689.00));
599 
600  contoursPointer = new Contours();
601  contoursPointer->resize(corners.size() - 1);
602  std::transform(corners.begin(), --corners.end(), ++corners.begin(),
603  contoursPointer->begin(), makeLine);
604  _limitContours.insert(LimitContourEntry(3, contoursPointer));
605 
606  }
LineSegment makeLine(const P2 &pt1, const P2 &pt2)
Factory function for lines.
P2 convertPt(double x, double y) const
Convert a point from pixel units to axis units.
std::pair< unsigned, Contours * > LimitContourEntry
Here is the call graph for this function:

Member Function Documentation

◆ convertPt()

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

Convert a point from pixel units to axis units.

Implements Gambit::ColliderBit::BaseLimitContainer.

Definition at line 428 of file OPALGauginoLimits.cpp.

429  {
430  return P2(75. + (x - 185.00) / (759.00 - 185.00) * (100. - 75.),
431  100. + (y - 83.00) / (689.00 - 83.00) * (0. - 100.));
432  }

◆ isWithinExclusionRegion()

bool Gambit::ColliderBit::OPALCharginoLeptonicLimitAt208GeV::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 434 of file OPALGauginoLimits.cpp.

435  {
437  return (y <= x and x <= 205. / 2. and x > 75.);
438  }

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