ATLAS Offline Software
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
KinematicSelectorCore Class Reference

Dual use tool (athena/ARA) for kinematic cuts. More...

#include <KinematicSelectorCore.h>

Inheritance diagram for KinematicSelectorCore:
Collaboration diagram for KinematicSelectorCore:

Public Types

typedef PropertyHolder< CommonMessaging< implements< IAlgTool, IDataHandleHolder, IProperty, IStateful > > > PropertyMgr
 
typedef PropertyHolder< CommonMessaging< implements< IAlgTool, IDataHandleHolder, IProperty, IStateful > > > PropertyMgr
 

Public Member Functions

 KinematicSelectorCore (PropertyMgr *pmgr=0)
 Default contructor. More...
 
virtual ~KinematicSelectorCore ()
 Default destructor. More...
 
virtual StatusCode initialize ()
 Gaudi Service Interface method implementations. More...
 
virtual StatusCode finalize ()
 Gaudi Service Interface method implementations. More...
 
bool accept (const IParticle *part) const
 Main method for IParticle, all cuts are applied (const method) More...
 
bool accept (const INavigable4Momentum *part) const
 Main method, all cuts are applied (const method) More...
 
bool passPt (const INavigable4Momentum *part) const
 Only transverse momentum cut is applied. More...
 
bool passP (const INavigable4Momentum *part) const
 Only momentum cut is applied. More...
 
bool passEt (const INavigable4Momentum *part) const
 Only transverse energy cut is applied. More...
 
bool passE (const INavigable4Momentum *part) const
 Only energy cut is applied. More...
 
bool passEta (const INavigable4Momentum *part) const
 Only eta cut is applied. More...
 
bool passAbsEta (const INavigable4Momentum *part) const
 Only |eta| cut is applied. More...
 
bool passEtaVetoRanges (const INavigable4Momentum *part) const
 Only the eta veto ranges cut is applied. More...
 
bool passPhi (const INavigable4Momentum *part) const
 Only phi cut is applied. More...
 
bool passPhiVetoRanges (const INavigable4Momentum *part) const
 Only the phi veto ranges cut is applied. More...
 
bool passMass (const INavigable4Momentum *part) const
 Only mass cut is applied. More...
 
void setminPt (double val)
 set minimum transverse momentum cut value More...
 
double getminPt (void)
 get minimum transverse momentum cut value More...
 
void setmaxPt (double val)
 set maximum transverse momentum cut value More...
 
double getmaxPt (void)
 get maximum transverse momentum cut value More...
 
void setminP (double val)
 set minimum momentum cut value More...
 
double getminP (void)
 get minimum momentum cut value More...
 
void setmaxP (double val)
 set maximum momentum cut value More...
 
double getmaxP (void)
 get maximum momentum cut value More...
 
void setminEt (double val)
 set minimum transverse energy cut value More...
 
double getminEt (void)
 get minimum transverse energy cut value More...
 
void setmaxEt (double val)
 set maximum transverse energy cut value More...
 
double getmaxEt (void)
 get maximum transverse energy cut value More...
 
void setminE (double val)
 set minimum energy cut value More...
 
double getminE (void)
 get minimum energy cut value More...
 
void setmaxE (double val)
 set maximum energy cut value More...
 
double getmaxE (void)
 get maximum energy cut value More...
 
void setminEta (double val)
 set minimum eta cut value More...
 
double getminEta (void)
 get minimum eta cut value More...
 
void setmaxEta (double val)
 set maximum eta cut value More...
 
double getmaxEta (void)
 get maximum eta cut value More...
 
void setminAbsEta (double val)
 set minimum |eta| cut value More...
 
double getminAbsEta (void)
 get minimum |eta| cut value More...
 
void setmaxAbsEta (double val)
 set maximum |eta| cut value More...
 
double getmaxAbsEta (void)
 get maximum |eta| cut value More...
 
void setEtaVetoRanges (std::string &range)
 set eta veto ranges More...
 
std::string getEtaVetoRanges (void)
 get eta veto ranges More...
 
void setminPhi (double val)
 set minimum phi cut value More...
 
double getminPhi (void)
 get minimum phi cut value More...
 
void setmaxPhi (double val)
 set maximum phi cut value More...
 
double getmaxPhi (void)
 get maximum phi cut value More...
 
void setPhiVetoRanges (std::string &range)
 set phi veto ranges More...
 
std::string getPhiVetoRanges (void)
 get phi veto ranges More...
 
void setminMass (double val)
 set minimum mass cut value More...
 
double getminMass (void)
 get minimum mass cut value More...
 
void setmaxMass (double val)
 set maximum mass cut value More...
 
double getmaxMass (void)
 get maximum mass cut value More...
 
template<class TYPE >
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, TYPE &value, const std::string &doc="none")
 
PropertyMgrgetPropertyMgr ()
 
template<class TYPE >
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, TYPE &value, const std::string &doc="none")
 
PropertyMgrgetPropertyMgr ()
 

Static Public Member Functions

static const InterfaceID & interfaceID ()
 AlgTool interface methods. More...
 

Protected Member Functions

bool runningARA () const
 
bool runningARA () const
 

Private Member Functions

void convertStringRange (std::string &range, std::vector< double > &minVals, std::vector< double > &maxVals)
 Helper function. More...
 

Private Attributes

double m_minPt
 minimum transverse momentum cut value More...
 
double m_maxPt
 maximum transverse momentum cut value More...
 
double m_minP
 minimum momentum cut value More...
 
double m_maxP
 maximum momentum cut value More...
 
double m_minE
 minimum energy cut value More...
 
double m_maxE
 maximum energy cut value More...
 
double m_minEt
 minimum transverse energy cut value More...
 
double m_maxEt
 maximum transverse energy cut value More...
 
double m_minEta
 minimum eta cut value More...
 
double m_maxEta
 maximum eta cut value More...
 
double m_minAbsEta
 minimum |eta| cut value More...
 
double m_maxAbsEta
 maximum |eta| cut value More...
 
std::string m_etaVetoRanges
 eta veto ranges string More...
 
std::vector< double > m_minEtaVeto
 eta veto ranges lower range boundaries More...
 
std::vector< double > m_maxEtaVeto
 eta veto ranges upper range boundaries More...
 
double m_minPhi
 minimum phi cut value More...
 
double m_maxPhi
 maximum phi cut value More...
 
std::string m_phiVetoRanges
 phi veto ranges string More...
 
std::vector< double > m_minPhiVeto
 phi veto ranges lower range boundaries More...
 
std::vector< double > m_maxPhiVeto
 phi veto ranges upper range boundaries More...
 
double m_minMass
 minimum mass cut value More...
 
double m_maxMass
 maximum mass cut value More...
 
PropertyMgrm_propertyMgr
 
bool m_runningARA
 

Detailed Description

Dual use tool (athena/ARA) for kinematic cuts.

Author
Amir Farbin amir..nosp@m.farb.nosp@m.in@ce.nosp@m.rnSP.nosp@m.AMNOT.nosp@m..ch
Karsten Koeneke karst.nosp@m.en.k.nosp@m.oenek.nosp@m.e@ce.nosp@m.rnSPA.nosp@m.MNOT.nosp@m..ch
Date
June 2009

Definition at line 36 of file KinematicSelectorCore.h.

Member Typedef Documentation

◆ PropertyMgr [1/2]

typedef PropertyHolder<CommonMessaging<implements<IAlgTool, IDataHandleHolder, IProperty, IStateful> > > AraToolBase::PropertyMgr
inherited

Definition at line 19 of file AraToolBase.h.

◆ PropertyMgr [2/2]

typedef PropertyHolder<CommonMessaging<implements<IAlgTool, IDataHandleHolder, IProperty, IStateful> > > AraToolBase::PropertyMgr
inherited

Definition at line 19 of file AraToolBase.h.

Constructor & Destructor Documentation

◆ KinematicSelectorCore()

KinematicSelectorCore::KinematicSelectorCore ( PropertyMgr pmgr = 0)

Default contructor.

Definition at line 33 of file KinematicSelectorCore.cxx.

33  :
34  AraToolBase(pmgr),
35  ISelectorCore(pmgr)
36 {
37 
38  //Need a mechanism to turn on/off a cut
39  // The default values are such that the cut is effectefly turned off.
40 
41  declareProperty( "minPt", m_minPt=-DBL_MAX, "Min Pt");
42  declareProperty( "maxPt", m_maxPt=DBL_MAX, "Max Pt");
43 
44  declareProperty( "minP", m_minP=-DBL_MAX, "Min P");
45  declareProperty( "maxP", m_maxP=DBL_MAX, "Max P");
46 
47  declareProperty( "minEt", m_minEt=-DBL_MAX, "Min Et");
48  declareProperty( "maxEt", m_maxEt=DBL_MAX, "Max Et");
49 
50  declareProperty( "minE", m_minE=-DBL_MAX, "Min E");
51  declareProperty( "maxE", m_maxE=DBL_MAX, "Max E");
52 
53  declareProperty( "minEta", m_minEta=-DBL_MAX, "Min Eta");
54  declareProperty( "maxEta", m_maxEta=DBL_MAX, "Max Eta");
55 
56  declareProperty( "minAbsEta", m_minAbsEta=-DBL_MAX, "Min AbsEta");
57  declareProperty( "maxAbsEta", m_maxAbsEta=DBL_MAX, "Max AbsEta");
58 
59  declareProperty( "etaVetoRanges", m_etaVetoRanges="",
60  "Eta ranges in which the object should NOT be. Example: [[-1.52, -1.37], [1.37, 1.52]]");
61 
62  declareProperty( "minPhi", m_minPhi=-DBL_MAX, "Min Phi");
63  declareProperty( "maxPhi", m_maxPhi=DBL_MAX, "Max Phi");
64 
65  declareProperty( "phiVetoRanges", m_phiVetoRanges="",
66  "Phi ranges in which the object should NOT be. Example: [[-1.4, -1.2], [1.1, 1.5]]");
67 
68  declareProperty( "minMass", m_minMass=-DBL_MAX, "Min Mass");
69  declareProperty( "maxMass", m_maxMass=DBL_MAX, "Max Mass");
70 
71 }

◆ ~KinematicSelectorCore()

virtual KinematicSelectorCore::~KinematicSelectorCore ( )
inlinevirtual

Default destructor.

Definition at line 43 of file KinematicSelectorCore.h.

43 {}

Member Function Documentation

◆ accept() [1/2]

bool KinematicSelectorCore::accept ( const INavigable4Momentum part) const
virtual

Main method, all cuts are applied (const method)

Reimplemented from ISelectorCore.

Definition at line 153 of file KinematicSelectorCore.cxx.

154 {
155  // This can be a lot smarter.
156  bool pass(true);
157 
158  pass = pass && passPt(part) ;
159  pass = pass && passP(part) ;
160  pass = pass && passEt(part) ;
161  pass = pass && passE(part) ;
162  pass = pass && passEta(part) ;
163  pass = pass && passAbsEta(part) ;
164  pass = pass && passEtaVetoRanges(part) ;
165  pass = pass && passPhi(part) ;
166  pass = pass && passPhiVetoRanges(part) ;
167  pass = pass && passMass(part) ;
168 
169  return pass;
170 }

◆ accept() [2/2]

bool KinematicSelectorCore::accept ( const IParticle part) const

Main method for IParticle, all cuts are applied (const method)

Definition at line 124 of file KinematicSelectorCore.cxx.

125 {
126  // Default return
127  //bool pass(true);
128 
129  // Try to cast the IParticle to INavigable4Momentum
130  // and then use the accept(INavigable4Momentum*) methods.
131  // This should always work since the IParticle class inherits
132  // from INavigable4Momentum.
133  const INavigable4Momentum* inav(NULL);
134  inav = dynamic_cast< const INavigable4Momentum* >(part);
135  if ( inav != NULL )
136  {
137  return accept(inav);
138  }
139  else
140  {
141  std::cerr << "ERROR! Couldn't cast to INavigable4Momentum!"
142  << " But this should always work from an IParticle!"
143  << std::endl;
144  }
145 
146  return false;
147 }

◆ convertStringRange()

void KinematicSelectorCore::convertStringRange ( std::string &  range,
std::vector< double > &  minVals,
std::vector< double > &  maxVals 
)
private

Helper function.

Definition at line 233 of file KinematicSelectorCore.cxx.

236 {
237  // Copy the string for further prcessing
238  std::string rangeCopy(range);
239 
240  // Remove all spaces
241  for ( unsigned int i=0; i<rangeCopy.length(); i++ )
242  {
243  if ( rangeCopy[i]==' ' )
244  {
245  rangeCopy.erase(i,1);
246  i--;
247  }
248  }
249 
250  // Find the position of all open and closed brackets
251  std::vector<size_t> openBracketPositions;
252  std::vector<size_t> closedBracketPositions;
253  for ( size_t i=0; i < rangeCopy.size(); ++i )
254  {
255  if ( rangeCopy.compare( i, 1, "[") == 0 )
256  {
257  openBracketPositions.push_back( i );
258  }
259  if ( rangeCopy.compare( i, 1, "]") == 0 )
260  {
261  closedBracketPositions.push_back( i );
262  }
263  }
264 
265  // Consistency checks: number([) == number(])
266  if ( openBracketPositions.size() != closedBracketPositions.size() )
267  {
268 // if (msgLvl(MSG::WARNING))
269 // {
270 // msg(MSG::WARNING)
271  std::cerr
272  << "Inconsistent number of open and closed brackets! "
273  << " numberOpen=" << openBracketPositions.size()
274  << " numberClosed=" << closedBracketPositions.size()
275  << " and cut string=" << rangeCopy
276  << std::endl;
277 // << endmsg ;
278 // }
279  }
280 
281  // Now, get the actual boundaries
282  for ( unsigned int i=0; i<openBracketPositions.size(); ++i )
283  {
284  std::string newRange;
285  newRange = rangeCopy.substr( openBracketPositions[i]+1,
286  closedBracketPositions[i] );
287  size_t comma = newRange.find(",");
288  minVals.push_back( (double)strtod( (newRange.substr( 0, comma )).c_str(),
289  NULL ) );
290  maxVals.push_back( (double)strtod( (newRange.substr( comma+1 )).c_str(),
291  NULL ) );
292  }
293 
294 }

◆ declareProperty() [1/2]

template<class TYPE >
Gaudi::Details::PropertyBase * AraToolBase::declareProperty ( const std::string &  name,
TYPE value,
const std::string &  doc = "none" 
)
inlineinherited

Definition at line 51 of file AraToolBase.h.

55 {
56 
57  if(m_runningARA) {
58  } else {
59  return m_propertyMgr->declareProperty(name, value, doc);
60  }
61 
62  return 0;
63 }

◆ declareProperty() [2/2]

template<class TYPE >
Gaudi::Details::PropertyBase * AraToolBase::declareProperty ( const std::string &  name,
TYPE value,
const std::string &  doc = "none" 
)
inlineinherited

Definition at line 51 of file AraToolBase.h.

55 {
56 
57  if(m_runningARA) {
58  } else {
59  return m_propertyMgr->declareProperty(name, value, doc);
60  }
61 
62  return 0;
63 }

◆ finalize()

StatusCode KinematicSelectorCore::finalize ( )
virtual

Gaudi Service Interface method implementations.

Reimplemented from ISelectorCore.

Definition at line 111 of file KinematicSelectorCore.cxx.

112 {
113  // The standard status code
114  StatusCode sc = StatusCode::SUCCESS ;
115 
116  return sc ;
117 }

◆ getEtaVetoRanges()

std::string KinematicSelectorCore::getEtaVetoRanges ( void  )
inline

get eta veto ranges

Definition at line 233 of file KinematicSelectorCore.h.

233 { return m_etaVetoRanges; }

◆ getmaxAbsEta()

double KinematicSelectorCore::getmaxAbsEta ( void  )
inline

get maximum |eta| cut value

Definition at line 226 of file KinematicSelectorCore.h.

226 { return m_maxAbsEta; }

◆ getmaxE()

double KinematicSelectorCore::getmaxE ( void  )
inline

get maximum energy cut value

Definition at line 200 of file KinematicSelectorCore.h.

200 { return m_maxE; }

◆ getmaxEt()

double KinematicSelectorCore::getmaxEt ( void  )
inline

get maximum transverse energy cut value

Definition at line 187 of file KinematicSelectorCore.h.

187 { return m_maxEt; }

◆ getmaxEta()

double KinematicSelectorCore::getmaxEta ( void  )
inline

get maximum eta cut value

Definition at line 213 of file KinematicSelectorCore.h.

213 { return m_maxEta; }

◆ getmaxMass()

double KinematicSelectorCore::getmaxMass ( void  )
inline

get maximum mass cut value

Definition at line 266 of file KinematicSelectorCore.h.

266 { return m_maxMass; }

◆ getmaxP()

double KinematicSelectorCore::getmaxP ( void  )
inline

get maximum momentum cut value

Definition at line 174 of file KinematicSelectorCore.h.

174 { return m_maxP; }

◆ getmaxPhi()

double KinematicSelectorCore::getmaxPhi ( void  )
inline

get maximum phi cut value

Definition at line 246 of file KinematicSelectorCore.h.

246 { return m_maxPhi; }

◆ getmaxPt()

double KinematicSelectorCore::getmaxPt ( void  )
inline

get maximum transverse momentum cut value

Definition at line 161 of file KinematicSelectorCore.h.

161 { return m_maxPt; }

◆ getminAbsEta()

double KinematicSelectorCore::getminAbsEta ( void  )
inline

get minimum |eta| cut value

Definition at line 220 of file KinematicSelectorCore.h.

220 { return m_minAbsEta; }

◆ getminE()

double KinematicSelectorCore::getminE ( void  )
inline

get minimum energy cut value

Definition at line 194 of file KinematicSelectorCore.h.

194 { return m_minE; }

◆ getminEt()

double KinematicSelectorCore::getminEt ( void  )
inline

get minimum transverse energy cut value

Definition at line 181 of file KinematicSelectorCore.h.

181 { return m_minEt; }

◆ getminEta()

double KinematicSelectorCore::getminEta ( void  )
inline

get minimum eta cut value

Definition at line 207 of file KinematicSelectorCore.h.

207 { return m_minEta; }

◆ getminMass()

double KinematicSelectorCore::getminMass ( void  )
inline

get minimum mass cut value

Definition at line 260 of file KinematicSelectorCore.h.

260 { return m_minMass; }

◆ getminP()

double KinematicSelectorCore::getminP ( void  )
inline

get minimum momentum cut value

Definition at line 168 of file KinematicSelectorCore.h.

168 { return m_minP; }

◆ getminPhi()

double KinematicSelectorCore::getminPhi ( void  )
inline

get minimum phi cut value

Definition at line 240 of file KinematicSelectorCore.h.

240 { return m_minPhi; }

◆ getminPt()

double KinematicSelectorCore::getminPt ( void  )
inline

get minimum transverse momentum cut value

Definition at line 155 of file KinematicSelectorCore.h.

155 { return m_minPt; }

◆ getPhiVetoRanges()

std::string KinematicSelectorCore::getPhiVetoRanges ( void  )
inline

get phi veto ranges

Definition at line 253 of file KinematicSelectorCore.h.

253 { return m_phiVetoRanges; }

◆ getPropertyMgr() [1/2]

PropertyMgr* AraToolBase::getPropertyMgr ( )
inlineinherited

Definition at line 43 of file AraToolBase.h.

43 {return m_propertyMgr;}

◆ getPropertyMgr() [2/2]

PropertyMgr* AraToolBase::getPropertyMgr ( )
inlineinherited

Definition at line 43 of file AraToolBase.h.

43 {return m_propertyMgr;}

◆ initialize()

StatusCode KinematicSelectorCore::initialize ( )
virtual

Gaudi Service Interface method implementations.

Reimplemented from ISelectorCore.

Definition at line 78 of file KinematicSelectorCore.cxx.

79 {
80  // The standard status code
81  StatusCode sc = StatusCode::SUCCESS ;
82 
83  //-----------------------------------------------------------------
84  // Process the strings of veto ranges
85  // and translate it into the double boundaries
86 
87  // Make sure the eta string is not empty
88  if ( !(m_etaVetoRanges.empty()) )
89  {
91  } // End: if m_etaVetoRanges is not empty
92 
93  // Make sure the phi string is not empty
94  if ( !(m_phiVetoRanges.empty()) )
95  {
97  } // End: if m_phiVetoRanges is not empty
98 
99  // End processing of the veto ranges string
100  //-----------------------------------------------------------------
101 
102 
103  return sc ;
104 }

◆ interfaceID()

static const InterfaceID& KinematicSelectorCore::interfaceID ( )
inlinestatic

AlgTool interface methods.

Definition at line 47 of file KinematicSelectorCore.h.

47 { return IID_KinematicSelectorCore; };

◆ passAbsEta()

bool KinematicSelectorCore::passAbsEta ( const INavigable4Momentum part) const
inline

Only |eta| cut is applied.

Definition at line 115 of file KinematicSelectorCore.h.

116  {
117  double eta = part->eta();
118  if ( (std::isinf(eta) || std::isnan(eta)) ) return true;
119  return ( fabs(eta) > m_minAbsEta && fabs(eta) < m_maxAbsEta );
120  };

◆ passE()

bool KinematicSelectorCore::passE ( const INavigable4Momentum part) const
inline

Only energy cut is applied.

Definition at line 97 of file KinematicSelectorCore.h.

98  {
99  double e = part->e();
100  if ( (std::isinf(e) || std::isnan(e)) ) return true;
101  return ( e > m_minE && e < m_maxE );
102  };

◆ passEt()

bool KinematicSelectorCore::passEt ( const INavigable4Momentum part) const
inline

Only transverse energy cut is applied.

Definition at line 88 of file KinematicSelectorCore.h.

89  {
90  double et = part->et();
91  if ( (std::isinf(et) || std::isnan(et)) ) return true;
92  return ( et > m_minEt && et < m_maxEt );
93  };

◆ passEta()

bool KinematicSelectorCore::passEta ( const INavigable4Momentum part) const
inline

Only eta cut is applied.

Definition at line 106 of file KinematicSelectorCore.h.

107  {
108  double eta = part->eta();
109  if ( (std::isinf(eta) || std::isnan(eta)) ) return true;
110  return ( eta > m_minEta && eta < m_maxEta );
111  };

◆ passEtaVetoRanges()

bool KinematicSelectorCore::passEtaVetoRanges ( const INavigable4Momentum part) const

Only the eta veto ranges cut is applied.

Definition at line 175 of file KinematicSelectorCore.cxx.

176 {
177  // Default return
178  bool isInVetoRange = false;
179 
180  double eta = part->eta();
181  if ( (std::isinf(eta) || std::isnan(eta)) ) return true;
182 
183  // Check consistency of upper and lower range boundaries
184  // and a non-empty string
185  if ( !(m_etaVetoRanges.empty())
186  && m_minEtaVeto.size() == m_maxEtaVeto.size() )
187  {
188  // Loop over all ranges
189  for ( unsigned int i=0; i<m_minEtaVeto.size(); ++i )
190  {
191  if ( eta > m_minEtaVeto[i] && eta < m_maxEtaVeto[i] )
192  {
193  isInVetoRange = true;
194  }
195  }
196  } // End: if ( m_minEtaVeto.size() == m_maxEtaVeto.size() )
197 
198  return !isInVetoRange;
199 }

◆ passMass()

bool KinematicSelectorCore::passMass ( const INavigable4Momentum part) const
inline

Only mass cut is applied.

Definition at line 141 of file KinematicSelectorCore.h.

142  {
143  double mass = part->m();
144  if ( (std::isinf(mass) || std::isnan(mass)) ) return true;
145  return ( mass > m_minMass && mass < m_maxMass );
146  };

◆ passP()

bool KinematicSelectorCore::passP ( const INavigable4Momentum part) const
inline

Only momentum cut is applied.

Definition at line 79 of file KinematicSelectorCore.h.

80  {
81  double p = part->p();
82  if ( (std::isinf(p) || std::isnan(p)) ) return true;
83  return ( p > m_minP && p < m_maxP );
84  };

◆ passPhi()

bool KinematicSelectorCore::passPhi ( const INavigable4Momentum part) const
inline

Only phi cut is applied.

Definition at line 128 of file KinematicSelectorCore.h.

129  {
130  double phi = part->phi();
131  if ( (std::isinf(phi) || std::isnan(phi)) ) return true;
132  return ( phi > m_minPhi && phi < m_maxPhi );
133  };

◆ passPhiVetoRanges()

bool KinematicSelectorCore::passPhiVetoRanges ( const INavigable4Momentum part) const

Only the phi veto ranges cut is applied.

Definition at line 204 of file KinematicSelectorCore.cxx.

205 {
206  // Default return
207  bool isInVetoRange = false;
208 
209  double phi = part->phi();
210  if ( (std::isinf(phi) || std::isnan(phi)) ) return true;
211 
212  // Check consistency of upper and lower range boundaries
213  // and a non-empty string
214  if ( !(m_phiVetoRanges.empty())
215  && m_minPhiVeto.size() == m_maxPhiVeto.size() )
216  {
217  // Loop over all ranges
218  for ( unsigned int i=0; i<m_minPhiVeto.size(); ++i )
219  {
220  if ( phi > m_minPhiVeto[i] && phi < m_maxPhiVeto[i] )
221  {
222  isInVetoRange = true;
223  }
224  }
225  } // End: if ( m_minPhiVeto.size() == m_maxPhiVeto.size() )
226 
227  return !isInVetoRange;
228 }

◆ passPt()

bool KinematicSelectorCore::passPt ( const INavigable4Momentum part) const
inline

Only transverse momentum cut is applied.

Definition at line 70 of file KinematicSelectorCore.h.

71  {
72  double pt = part->pt();
73  if ( (std::isinf(pt) || std::isnan(pt)) ) return true;
74  return ( pt > m_minPt && pt < m_maxPt );
75  };

◆ runningARA() [1/2]

bool AraToolBase::runningARA ( ) const
inlineprotectedinherited

Definition at line 22 of file AraToolBase.h.

22 { return m_runningARA; }

◆ runningARA() [2/2]

bool AraToolBase::runningARA ( ) const
inlineprotectedinherited

Definition at line 22 of file AraToolBase.h.

22 { return m_runningARA; }

◆ setEtaVetoRanges()

void KinematicSelectorCore::setEtaVetoRanges ( std::string &  range)

set eta veto ranges

Definition at line 300 of file KinematicSelectorCore.cxx.

301 {
302  // Set the member variable to the given input
304 
305  // Decode the other member variables again
306 
307  // Make sure the eta string is not empty
308  if ( !(m_etaVetoRanges.empty()) )
309  {
311  } // End: if m_etaVetoRanges is not empty
312 
313 }

◆ setmaxAbsEta()

void KinematicSelectorCore::setmaxAbsEta ( double  val)
inline

set maximum |eta| cut value

Definition at line 223 of file KinematicSelectorCore.h.

223 { m_maxAbsEta=val; }

◆ setmaxE()

void KinematicSelectorCore::setmaxE ( double  val)
inline

set maximum energy cut value

Definition at line 197 of file KinematicSelectorCore.h.

197 { m_maxE=val; }

◆ setmaxEt()

void KinematicSelectorCore::setmaxEt ( double  val)
inline

set maximum transverse energy cut value

Definition at line 184 of file KinematicSelectorCore.h.

184 { m_maxEt=val; }

◆ setmaxEta()

void KinematicSelectorCore::setmaxEta ( double  val)
inline

set maximum eta cut value

Definition at line 210 of file KinematicSelectorCore.h.

210 { m_maxEta=val; }

◆ setmaxMass()

void KinematicSelectorCore::setmaxMass ( double  val)
inline

set maximum mass cut value

Definition at line 263 of file KinematicSelectorCore.h.

263 { m_maxMass=val; }

◆ setmaxP()

void KinematicSelectorCore::setmaxP ( double  val)
inline

set maximum momentum cut value

Definition at line 171 of file KinematicSelectorCore.h.

171 { m_maxP=val; }

◆ setmaxPhi()

void KinematicSelectorCore::setmaxPhi ( double  val)
inline

set maximum phi cut value

Definition at line 243 of file KinematicSelectorCore.h.

243 { m_maxPhi=val; }

◆ setmaxPt()

void KinematicSelectorCore::setmaxPt ( double  val)
inline

set maximum transverse momentum cut value

Definition at line 158 of file KinematicSelectorCore.h.

158 { m_maxPt=val; }

◆ setminAbsEta()

void KinematicSelectorCore::setminAbsEta ( double  val)
inline

set minimum |eta| cut value

Definition at line 217 of file KinematicSelectorCore.h.

217 { m_minAbsEta=val; }

◆ setminE()

void KinematicSelectorCore::setminE ( double  val)
inline

set minimum energy cut value

Definition at line 191 of file KinematicSelectorCore.h.

191 { m_minE=val; }

◆ setminEt()

void KinematicSelectorCore::setminEt ( double  val)
inline

set minimum transverse energy cut value

Definition at line 178 of file KinematicSelectorCore.h.

178 { m_minEt=val; }

◆ setminEta()

void KinematicSelectorCore::setminEta ( double  val)
inline

set minimum eta cut value

Definition at line 204 of file KinematicSelectorCore.h.

204 { m_minEta=val; }

◆ setminMass()

void KinematicSelectorCore::setminMass ( double  val)
inline

set minimum mass cut value

Definition at line 257 of file KinematicSelectorCore.h.

257 { m_minMass=val; }

◆ setminP()

void KinematicSelectorCore::setminP ( double  val)
inline

set minimum momentum cut value

Definition at line 165 of file KinematicSelectorCore.h.

165 { m_minP=val; }

◆ setminPhi()

void KinematicSelectorCore::setminPhi ( double  val)
inline

set minimum phi cut value

Definition at line 237 of file KinematicSelectorCore.h.

237 { m_minPhi=val; }

◆ setminPt()

void KinematicSelectorCore::setminPt ( double  val)
inline

set minimum transverse momentum cut value

Definition at line 152 of file KinematicSelectorCore.h.

152 { m_minPt=val; }

◆ setPhiVetoRanges()

void KinematicSelectorCore::setPhiVetoRanges ( std::string &  range)

set phi veto ranges

Definition at line 319 of file KinematicSelectorCore.cxx.

320 {
321  // Set the member variable to the given input
323 
324  // Decode the other member variables again
325 
326  // Make sure the phi string is not empty
327  if ( !(m_phiVetoRanges.empty()) )
328  {
330  } // End: if m_phiVetoRanges is not empty
331 
332 }

Member Data Documentation

◆ m_etaVetoRanges

std::string KinematicSelectorCore::m_etaVetoRanges
private

eta veto ranges string

Definition at line 322 of file KinematicSelectorCore.h.

◆ m_maxAbsEta

double KinematicSelectorCore::m_maxAbsEta
private

maximum |eta| cut value

Definition at line 318 of file KinematicSelectorCore.h.

◆ m_maxE

double KinematicSelectorCore::m_maxE
private

maximum energy cut value

Definition at line 297 of file KinematicSelectorCore.h.

◆ m_maxEt

double KinematicSelectorCore::m_maxEt
private

maximum transverse energy cut value

Definition at line 304 of file KinematicSelectorCore.h.

◆ m_maxEta

double KinematicSelectorCore::m_maxEta
private

maximum eta cut value

Definition at line 311 of file KinematicSelectorCore.h.

◆ m_maxEtaVeto

std::vector<double> KinematicSelectorCore::m_maxEtaVeto
private

eta veto ranges upper range boundaries

Definition at line 328 of file KinematicSelectorCore.h.

◆ m_maxMass

double KinematicSelectorCore::m_maxMass
private

maximum mass cut value

Definition at line 352 of file KinematicSelectorCore.h.

◆ m_maxP

double KinematicSelectorCore::m_maxP
private

maximum momentum cut value

Definition at line 290 of file KinematicSelectorCore.h.

◆ m_maxPhi

double KinematicSelectorCore::m_maxPhi
private

maximum phi cut value

Definition at line 335 of file KinematicSelectorCore.h.

◆ m_maxPhiVeto

std::vector<double> KinematicSelectorCore::m_maxPhiVeto
private

phi veto ranges upper range boundaries

Definition at line 345 of file KinematicSelectorCore.h.

◆ m_maxPt

double KinematicSelectorCore::m_maxPt
private

maximum transverse momentum cut value

Definition at line 283 of file KinematicSelectorCore.h.

◆ m_minAbsEta

double KinematicSelectorCore::m_minAbsEta
private

minimum |eta| cut value

Definition at line 315 of file KinematicSelectorCore.h.

◆ m_minE

double KinematicSelectorCore::m_minE
private

minimum energy cut value

Definition at line 294 of file KinematicSelectorCore.h.

◆ m_minEt

double KinematicSelectorCore::m_minEt
private

minimum transverse energy cut value

Definition at line 301 of file KinematicSelectorCore.h.

◆ m_minEta

double KinematicSelectorCore::m_minEta
private

minimum eta cut value

Definition at line 308 of file KinematicSelectorCore.h.

◆ m_minEtaVeto

std::vector<double> KinematicSelectorCore::m_minEtaVeto
private

eta veto ranges lower range boundaries

Definition at line 325 of file KinematicSelectorCore.h.

◆ m_minMass

double KinematicSelectorCore::m_minMass
private

minimum mass cut value

Definition at line 349 of file KinematicSelectorCore.h.

◆ m_minP

double KinematicSelectorCore::m_minP
private

minimum momentum cut value

Definition at line 287 of file KinematicSelectorCore.h.

◆ m_minPhi

double KinematicSelectorCore::m_minPhi
private

minimum phi cut value

Definition at line 332 of file KinematicSelectorCore.h.

◆ m_minPhiVeto

std::vector<double> KinematicSelectorCore::m_minPhiVeto
private

phi veto ranges lower range boundaries

Definition at line 342 of file KinematicSelectorCore.h.

◆ m_minPt

double KinematicSelectorCore::m_minPt
private

minimum transverse momentum cut value

Definition at line 280 of file KinematicSelectorCore.h.

◆ m_phiVetoRanges

std::string KinematicSelectorCore::m_phiVetoRanges
private

phi veto ranges string

Definition at line 339 of file KinematicSelectorCore.h.

◆ m_propertyMgr

PropertyMgr* AraToolBase::m_propertyMgr
privateinherited

Definition at line 25 of file AraToolBase.h.

◆ m_runningARA

bool AraToolBase::m_runningARA
privateinherited

Definition at line 26 of file AraToolBase.h.


The documentation for this class was generated from the following files:
LArG4FSStartPointFilter.part
part
Definition: LArG4FSStartPointFilter.py:21
KinematicSelectorCore::passPt
bool passPt(const INavigable4Momentum *part) const
Only transverse momentum cut is applied.
Definition: KinematicSelectorCore.h:70
KinematicSelectorCore::m_maxEtaVeto
std::vector< double > m_maxEtaVeto
eta veto ranges upper range boundaries
Definition: KinematicSelectorCore.h:328
KinematicSelectorCore::m_maxEta
double m_maxEta
maximum eta cut value
Definition: KinematicSelectorCore.h:311
KinematicSelectorCore::passE
bool passE(const INavigable4Momentum *part) const
Only energy cut is applied.
Definition: KinematicSelectorCore.h:97
et
Extra patterns decribing particle interation process.
AraToolBase::m_runningARA
bool m_runningARA
Definition: AraToolBase.h:26
KinematicSelectorCore::passPhi
bool passPhi(const INavigable4Momentum *part) const
Only phi cut is applied.
Definition: KinematicSelectorCore.h:128
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
KinematicSelectorCore::m_maxPt
double m_maxPt
maximum transverse momentum cut value
Definition: KinematicSelectorCore.h:283
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:64
KinematicSelectorCore::m_maxPhiVeto
std::vector< double > m_maxPhiVeto
phi veto ranges upper range boundaries
Definition: KinematicSelectorCore.h:345
KinematicSelectorCore::passPhiVetoRanges
bool passPhiVetoRanges(const INavigable4Momentum *part) const
Only the phi veto ranges cut is applied.
Definition: KinematicSelectorCore.cxx:204
KinematicSelectorCore::m_minEtaVeto
std::vector< double > m_minEtaVeto
eta veto ranges lower range boundaries
Definition: KinematicSelectorCore.h:325
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:79
KinematicSelectorCore::passP
bool passP(const INavigable4Momentum *part) const
Only momentum cut is applied.
Definition: KinematicSelectorCore.h:79
AraToolBase::AraToolBase
AraToolBase(PropertyMgr *pmgr=0)
Definition: AraToolBase.cxx:7
test_pyathena.pt
pt
Definition: test_pyathena.py:11
KinematicSelectorCore::passMass
bool passMass(const INavigable4Momentum *part) const
Only mass cut is applied.
Definition: KinematicSelectorCore.h:141
KinematicSelectorCore::passEtaVetoRanges
bool passEtaVetoRanges(const INavigable4Momentum *part) const
Only the eta veto ranges cut is applied.
Definition: KinematicSelectorCore.cxx:175
athena.value
value
Definition: athena.py:122
AraToolBase::m_propertyMgr
PropertyMgr * m_propertyMgr
Definition: AraToolBase.h:25
KinematicSelectorCore::m_minE
double m_minE
minimum energy cut value
Definition: KinematicSelectorCore.h:294
KinematicSelectorCore::accept
bool accept(const IParticle *part) const
Main method for IParticle, all cuts are applied (const method)
Definition: KinematicSelectorCore.cxx:124
KinematicSelectorCore::m_etaVetoRanges
std::string m_etaVetoRanges
eta veto ranges string
Definition: KinematicSelectorCore.h:322
KinematicSelectorCore::convertStringRange
void convertStringRange(std::string &range, std::vector< double > &minVals, std::vector< double > &maxVals)
Helper function.
Definition: KinematicSelectorCore.cxx:233
dqt_zlumi_pandas.mass
mass
Definition: dqt_zlumi_pandas.py:170
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
KinematicSelectorCore::m_maxMass
double m_maxMass
maximum mass cut value
Definition: KinematicSelectorCore.h:352
KinematicSelectorCore::m_minPt
double m_minPt
minimum transverse momentum cut value
Definition: KinematicSelectorCore.h:280
KinematicSelectorCore::m_minEt
double m_minEt
minimum transverse energy cut value
Definition: KinematicSelectorCore.h:301
lumiFormat.i
int i
Definition: lumiFormat.py:92
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
plotBeamSpotVxVal.range
range
Definition: plotBeamSpotVxVal.py:195
KinematicSelectorCore::m_maxAbsEta
double m_maxAbsEta
maximum |eta| cut value
Definition: KinematicSelectorCore.h:318
KinematicSelectorCore::passEta
bool passEta(const INavigable4Momentum *part) const
Only eta cut is applied.
Definition: KinematicSelectorCore.h:106
MakeTH3DFromTH2Ds.maxVals
maxVals
Definition: MakeTH3DFromTH2Ds.py:74
KinematicSelectorCore::m_minMass
double m_minMass
minimum mass cut value
Definition: KinematicSelectorCore.h:349
KinematicSelectorCore::m_minAbsEta
double m_minAbsEta
minimum |eta| cut value
Definition: KinematicSelectorCore.h:315
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
KinematicSelectorCore::m_minPhi
double m_minPhi
minimum phi cut value
Definition: KinematicSelectorCore.h:332
AraToolBase::declareProperty
Gaudi::Details::PropertyBase * declareProperty(const std::string &name, TYPE &value, const std::string &doc="none")
Definition: AraToolBase.h:52
KinematicSelectorCore::passEt
bool passEt(const INavigable4Momentum *part) const
Only transverse energy cut is applied.
Definition: KinematicSelectorCore.h:88
DiTauMassTools::MaxHistStrategyV2::e
e
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:26
KinematicSelectorCore::passAbsEta
bool passAbsEta(const INavigable4Momentum *part) const
Only |eta| cut is applied.
Definition: KinematicSelectorCore.h:115
Pythia8_RapidityOrderMPI.val
val
Definition: Pythia8_RapidityOrderMPI.py:14
INavigable4Momentum
Definition: INavigable4Momentum.h:21
ISelectorCore::ISelectorCore
ISelectorCore(PropertyMgr *pmgr=0)
Definition: ISelectorCore.cxx:7
KinematicSelectorCore::m_minEta
double m_minEta
minimum eta cut value
Definition: KinematicSelectorCore.h:308
KinematicSelectorCore::m_maxPhi
double m_maxPhi
maximum phi cut value
Definition: KinematicSelectorCore.h:335
MakeTH3DFromTH2Ds.minVals
minVals
Definition: MakeTH3DFromTH2Ds.py:73
KinematicSelectorCore::m_maxE
double m_maxE
maximum energy cut value
Definition: KinematicSelectorCore.h:297
KinematicSelectorCore::m_minP
double m_minP
minimum momentum cut value
Definition: KinematicSelectorCore.h:287
KinematicSelectorCore::m_phiVetoRanges
std::string m_phiVetoRanges
phi veto ranges string
Definition: KinematicSelectorCore.h:339
KinematicSelectorCore::m_maxP
double m_maxP
maximum momentum cut value
Definition: KinematicSelectorCore.h:290
KinematicSelectorCore::m_minPhiVeto
std::vector< double > m_minPhiVeto
phi veto ranges lower range boundaries
Definition: KinematicSelectorCore.h:342
KinematicSelectorCore::m_maxEt
double m_maxEt
maximum transverse energy cut value
Definition: KinematicSelectorCore.h:304