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

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

#include <OPALGauginoLimits.hpp>

Inheritance diagram for Gambit::ColliderBit::OPALCharginoSemiLeptonicLimitAt208GeV:
Collaboration diagram for Gambit::ColliderBit::OPALCharginoSemiLeptonicLimitAt208GeV:

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

Definition at line 28 of file OPALGauginoLimits.hpp.

Constructor & Destructor Documentation

◆ OPALCharginoSemiLeptonicLimitAt208GeV()

Gambit::ColliderBit::OPALCharginoSemiLeptonicLimitAt208GeV::OPALCharginoSemiLeptonicLimitAt208GeV ( )

0.05pb /////

Note
: This limit has multiple regions, so care must be taken below

Definition at line 243 of file OPALGauginoLimits.cpp.

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

244  {
246  _limitValuesSorted.push_back(0.05);
247  _limitValuesSorted.push_back(0.1);
248  _limitValuesSorted.push_back(1.0);
249  _limitValuesSorted.push_back(2.0);
250 
252  Corners corners;
253  ContoursPointer contoursPointer;
254  size_t oldSize;
255 
258  contoursPointer = new Contours();
259 
260  corners.clear();
261  oldSize = contoursPointer->size();
262  corners.push_back(convertPt(798.00,293.00));
263  corners.push_back(convertPt(798.00,305.00));
264  corners.push_back(convertPt(775.00,305.00));
265  corners.push_back(convertPt(775.00,293.00));
266  corners.push_back(convertPt(798.00,293.00));
267  contoursPointer->resize(oldSize + corners.size() - 1);
268  std::transform(corners.begin(), --corners.end(), ++corners.begin(),
269  contoursPointer->begin() + oldSize, makeLine);
270 
271  corners.clear();
272  oldSize = contoursPointer->size();
273  corners.push_back(convertPt(179.00,365.00));
274  corners.push_back(convertPt(236.00,365.00));
275  corners.push_back(convertPt(236.00,389.00));
276  corners.push_back(convertPt(179.00,389.00));
277  corners.push_back(convertPt(179.00,365.00));
278  contoursPointer->resize(oldSize + corners.size() - 1);
279  std::transform(corners.begin(), --corners.end(), ++corners.begin(),
280  contoursPointer->begin() + oldSize, makeLine);
281 
282  _limitContours.insert(LimitContourEntry(0, contoursPointer));
283 
285  corners.clear();
286  corners.push_back(convertPt(179.00,341.00));
287  corners.push_back(convertPt(236.00,341.00));
288  corners.push_back(convertPt(236.00,317.00));
289  corners.push_back(convertPt(350.00,317.00));
290  corners.push_back(convertPt(350.00,293.00));
291  corners.push_back(convertPt(465.00,293.00));
292  corners.push_back(convertPt(465.00,281.00));
293  corners.push_back(convertPt(580.00,281.00));
294  corners.push_back(convertPt(580.00,269.00));
295  corners.push_back(convertPt(694.00,269.00));
296  corners.push_back(convertPt(694.00,257.00));
297  corners.push_back(convertPt(810.00,257.00));
298  corners.push_back(convertPt(810.00,437.00));
299  corners.push_back(convertPt(798.00,437.00));
300  corners.push_back(convertPt(798.00,449.00));
301  corners.push_back(convertPt(809.00,449.00));
302  corners.push_back(convertPt(809.00,461.00));
303  corners.push_back(convertPt(694.00,461.00));
304  corners.push_back(convertPt(694.00,413.00));
305  corners.push_back(convertPt(660.00,413.00));
306  corners.push_back(convertPt(660.00,401.00));
307  corners.push_back(convertPt(581.00,401.00));
308  corners.push_back(convertPt(581.00,449.00));
309  corners.push_back(convertPt(465.00,449.00));
310  corners.push_back(convertPt(465.00,438.00));
311  corners.push_back(convertPt(351.00,438.00));
312  corners.push_back(convertPt(351.00,461.00));
313  corners.push_back(convertPt(179.00,461.00));
314  corners.push_back(convertPt(179.00,341.00));
315 
316  contoursPointer = new Contours();
317  contoursPointer->resize(corners.size() - 1);
318  std::transform(corners.begin(), --corners.end(), ++corners.begin(),
319  contoursPointer->begin(), makeLine);
320  _limitContours.insert(LimitContourEntry(1, contoursPointer));
321 
323  corners.clear();
324  corners.push_back(convertPt(810.00,700.00));
325  corners.push_back(convertPt(810.00,689.00));
326  corners.push_back(convertPt(833.00,689.00));
327  corners.push_back(convertPt(833.00,497.00));
328  corners.push_back(convertPt(844.00,497.00));
329  corners.push_back(convertPt(844.00,473.00));
330  corners.push_back(convertPt(833.00,473.00));
331  corners.push_back(convertPt(833.00,449.00));
332  corners.push_back(convertPt(844.00,449.00));
333  corners.push_back(convertPt(844.00,317.00));
334  corners.push_back(convertPt(833.00,317.00));
335  corners.push_back(convertPt(833.00,305.00));
336  corners.push_back(convertPt(844.00,305.00));
337  corners.push_back(convertPt(844.00,269.00));
338  corners.push_back(convertPt(833.00,269.00));
339  corners.push_back(convertPt(833.00,125.00));
340  corners.push_back(convertPt(821.00,125.00));
341  corners.push_back(convertPt(821.00,113.00));
342  corners.push_back(convertPt(810.00,113.00));
343  corners.push_back(convertPt(810.00,149.00));
344  corners.push_back(convertPt(695.00,149.00));
345  corners.push_back(convertPt(695.00,161.00));
346  corners.push_back(convertPt(581.00,161.00));
347  corners.push_back(convertPt(581.00,197.00));
348  corners.push_back(convertPt(466.00,197.00));
349  corners.push_back(convertPt(466.00,209.00));
350  corners.push_back(convertPt(374.00,209.00));
351  corners.push_back(convertPt(374.00,221.00));
352  corners.push_back(convertPt(351.00,221.00));
353  corners.push_back(convertPt(351.00,245.00));
354  corners.push_back(convertPt(259.00,245.00));
355  corners.push_back(convertPt(259.00,257.00));
356  corners.push_back(convertPt(225.00,257.00));
357  corners.push_back(convertPt(225.00,269.00));
358  corners.push_back(convertPt(191.00,269.00));
359  corners.push_back(convertPt(191.00,281.00));
360  corners.push_back(convertPt(179.00,281.00));
361  corners.push_back(convertPt(179.00,700.00));
362  corners.push_back(convertPt(810.00,700.00));
363 
364  contoursPointer = new Contours();
365  contoursPointer->resize(corners.size() - 1);
366  std::transform(corners.begin(), --corners.end(), ++corners.begin(),
367  contoursPointer->begin(), makeLine);
368  _limitContours.insert(LimitContourEntry(2, contoursPointer));
369 
371  corners.clear();
372  corners.push_back(convertPt(844.00,161.00));
373  corners.push_back(convertPt(833.00,161.00));
374  corners.push_back(convertPt(833.00,113.00));
375  corners.push_back(convertPt(810.00,113.00));
376  corners.push_back(convertPt(810.00,137.00));
377  corners.push_back(convertPt(603.00,137.00));
378  corners.push_back(convertPt(603.00,149.00));
379  corners.push_back(convertPt(695.00,149.00));
380  corners.push_back(convertPt(695.00,161.00));
381  corners.push_back(convertPt(581.00,161.00));
382  corners.push_back(convertPt(581.00,173.00));
383  corners.push_back(convertPt(489.00,173.00));
384  corners.push_back(convertPt(489.00,185.00));
385  corners.push_back(convertPt(466.00,185.00));
386  corners.push_back(convertPt(466.00,197.00));
387  corners.push_back(convertPt(420.00,197.00));
388  corners.push_back(convertPt(420.00,209.00));
389  corners.push_back(convertPt(374.00,209.00));
390  corners.push_back(convertPt(374.00,221.00));
391  corners.push_back(convertPt(351.00,221.00));
392  corners.push_back(convertPt(351.00,233.00));
393  corners.push_back(convertPt(305.00,233.00));
394  corners.push_back(convertPt(305.00,245.00));
395  corners.push_back(convertPt(259.00,245.00));
396  corners.push_back(convertPt(259.00,257.00));
397  corners.push_back(convertPt(225.00,257.00));
398  corners.push_back(convertPt(225.00,269.00));
399  corners.push_back(convertPt(191.00,269.00));
400  corners.push_back(convertPt(191.00,281.00));
401  corners.push_back(convertPt(179.00,281.00));
402  corners.push_back(convertPt(179.00,700.00));
403  corners.push_back(convertPt(844.00,700.00));
404  corners.push_back(convertPt(844.00,269.00));
405  corners.push_back(convertPt(833.00,269.00));
406  corners.push_back(convertPt(833.00,257.00));
407  corners.push_back(convertPt(844.00,257.00));
408  corners.push_back(convertPt(844.00,245.00));
409  corners.push_back(convertPt(833.00,245.00));
410  corners.push_back(convertPt(833.00,221.00));
411  corners.push_back(convertPt(844.00,221.06));
412  corners.push_back(convertPt(844.00,197.06));
413  corners.push_back(convertPt(833.00,197.00));
414  corners.push_back(convertPt(833.00,185.00));
415  corners.push_back(convertPt(844.00,185.00));
416  corners.push_back(convertPt(844.00,161.00));
417 
418  contoursPointer = new Contours();
419  contoursPointer->resize(corners.size() - 1);
420  std::transform(corners.begin(), --corners.end(), ++corners.begin(),
421  contoursPointer->begin(), makeLine);
422  _limitContours.insert(LimitContourEntry(3, contoursPointer));
423 
424  }
LineSegment makeLine(const P2 &pt1, const P2 &pt2)
Factory function for lines.
std::pair< unsigned, Contours * > LimitContourEntry
P2 convertPt(double x, double y) const
Convert a point from pixel units to axis units.
Here is the call graph for this function:

Member Function Documentation

◆ convertPt()

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

Convert a point from pixel units to axis units.

Implements Gambit::ColliderBit::BaseLimitContainer.

Definition at line 231 of file OPALGauginoLimits.cpp.

232  {
233  return P2(75. + (x - 179.00) / (753.00 - 179.00) * (100. - 75.),
234  100. + (y - 95.00) / (700.00 - 95.00) * (0. - 100.));
235  }

◆ isWithinExclusionRegion()

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

238  {
240  return (y <= x and x <= 205. / 2. and x > 75.);
241  }

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