CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes
L1GtCaloCondition Class Reference

#include <L1GtCaloCondition.h>

Inheritance diagram for L1GtCaloCondition:
L1GtConditionEvaluation

Public Member Functions

const bool evaluateCondition () const override
 the core function to check if the condition matches More...
 
const L1GtCaloTemplategtCaloTemplate () const
 get / set the pointer to a L1GtCondition More...
 
const int gtCorrParDeltaPhiNrBins () const
 get / set maximum number of bins for the delta phi scales More...
 
const int gtIfCaloEtaNumberBits () const
 get / set the number of bits for eta of calorimeter objects More...
 
const L1GlobalTriggerPSBgtPSB () const
 get / set the pointer to PSB More...
 
 L1GtCaloCondition ()
 
 L1GtCaloCondition (const L1GtCaloCondition &)
 
 L1GtCaloCondition (const L1GtCondition *, const L1GlobalTriggerPSB *, const int nrL1NoIsoEG, const int nrL1IsoEG, const int nrL1CenJet, const int nrL1ForJet, const int nrL1TauJet, const int ifCaloEtaNumberBits)
 from base template condition (from event setup usually) More...
 
L1GtCaloConditionoperator= (const L1GtCaloCondition &)
 
void print (std::ostream &myCout) const override
 print condition More...
 
void setGtCaloTemplate (const L1GtCaloTemplate *)
 
void setGtCorrParDeltaPhiNrBins (const int &)
 
void setGtIfCaloEtaNumberBits (const int &)
 
void setGtPSB (const L1GlobalTriggerPSB *)
 set the pointer to PSB More...
 
 ~L1GtCaloCondition () override
 
- Public Member Functions inherited from L1GtConditionEvaluation
bool condLastResult () const
 get the latest result for the condition More...
 
int condMaxNumberObjects () const
 
void evaluateConditionStoreResult ()
 call evaluateCondition and save last result More...
 
const CombinationsInCondgetCombinationsInCond () const
 get all the object combinations evaluated to true in the condition More...
 
virtual std::string getNumericExpression () const
 get numeric expression More...
 
 L1GtConditionEvaluation ()
 constructor More...
 
void setCondMaxNumberObjects (int condMaxNumberObjectsValue)
 
void setVerbosity (const int verbosity)
 
virtual ~L1GtConditionEvaluation ()
 destructor More...
 

Private Member Functions

const bool checkObjectParameter (const int iCondition, const L1GctCand &cand) const
 function to check a single object if it matches a condition More...
 
void copy (const L1GtCaloCondition &cp)
 copy function for copy constructor and operator= More...
 
const L1GctCandgetCandidate (const int indexCand) const
 load calo candidates More...
 

Private Attributes

unsigned int m_corrParDeltaPhiNrBins
 
const L1GtCaloTemplatem_gtCaloTemplate
 pointer to a L1GtCaloTemplate More...
 
const L1GlobalTriggerPSBm_gtPSB
 pointer to PSB, to be able to get the trigger objects More...
 
int m_ifCaloEtaNumberBits
 number of bits for eta of calorimeter objects More...
 

Additional Inherited Members

- Protected Member Functions inherited from L1GtConditionEvaluation
template<class Type1 >
const bool checkBit (const Type1 &mask, const unsigned int bitNumber) const
 check if a bit with a given number is set in a mask More...
 
template<class Type1 , class Type2 >
const bool checkThreshold (const Type1 &threshold, const Type2 &value, const bool condGEqValue) const
 
CombinationsInCondcombinationsInCond () const
 get all the object combinations (to fill it...) More...
 
- Protected Attributes inherited from L1GtConditionEvaluation
CombinationsInCond m_combinationsInCond
 store all the object combinations evaluated to true in the condition More...
 
bool m_condLastResult
 the last result of evaluateCondition() More...
 
int m_condMaxNumberObjects
 
int m_verbosity
 verbosity level More...
 

Detailed Description

Description: evaluation of a CondCalo condition.

Implementation: <TODO: enter implementation details>

Author
: Vasile Mihai Ghete - HEPHY Vienna

Definition at line 35 of file L1GtCaloCondition.h.

Constructor & Destructor Documentation

◆ L1GtCaloCondition() [1/3]

L1GtCaloCondition::L1GtCaloCondition ( )

constructors default

Definition at line 48 of file L1GtCaloCondition.cc.

References m_corrParDeltaPhiNrBins, and m_ifCaloEtaNumberBits.

◆ L1GtCaloCondition() [2/3]

L1GtCaloCondition::L1GtCaloCondition ( const L1GtCondition caloTemplate,
const L1GlobalTriggerPSB ptrPSB,
const int  nrL1NoIsoEG,
const int  nrL1IsoEG,
const int  nrL1CenJet,
const int  nrL1ForJet,
const int  nrL1TauJet,
const int  ifCaloEtaNumberBits 
)

from base template condition (from event setup usually)

Definition at line 54 of file L1GtCaloCondition.cc.

63  m_gtCaloTemplate(static_cast<const L1GtCaloTemplate *>(caloTemplate)),
64  m_gtPSB(ptrPSB),
65  m_ifCaloEtaNumberBits(ifCaloEtaNumberBits) {
67 
68  // maximum number of objects received for the evaluation of the condition
69  // retrieved before from event setup
70  // for a CondCalo, all objects ar of same type, hence it is enough to get the
71  // type for the first object
72 
73  switch ((m_gtCaloTemplate->objectType())[0]) {
74  case NoIsoEG:
75  m_condMaxNumberObjects = nrL1NoIsoEG;
76  break;
77  case IsoEG:
78  m_condMaxNumberObjects = nrL1IsoEG;
79  break;
80  case CenJet:
81  m_condMaxNumberObjects = nrL1CenJet;
82  break;
83  case ForJet:
84  m_condMaxNumberObjects = nrL1ForJet;
85  break;
86  case TauJet:
87  m_condMaxNumberObjects = nrL1TauJet;
88  break;
89  default:
91  break;
92  }
93 }

References CenJet, ForJet, IsoEG, L1GtConditionEvaluation::m_condMaxNumberObjects, m_corrParDeltaPhiNrBins, m_gtCaloTemplate, NoIsoEG, L1GtCondition::objectType(), and TauJet.

◆ L1GtCaloCondition() [3/3]

L1GtCaloCondition::L1GtCaloCondition ( const L1GtCaloCondition cp)

Definition at line 110 of file L1GtCaloCondition.cc.

References copy(), and CommonMethods::cp().

◆ ~L1GtCaloCondition()

L1GtCaloCondition::~L1GtCaloCondition ( )
override

Definition at line 113 of file L1GtCaloCondition.cc.

113  {
114  // empty
115 }

Member Function Documentation

◆ checkObjectParameter()

const bool L1GtCaloCondition::checkObjectParameter ( const int  iCondition,
const L1GctCand cand 
) const
private

function to check a single object if it matches a condition

checkObjectParameter - Compare a single particle with a numbered condition.

Parameters
iConditionThe number of the condition.
candThe candidate to compare.
Returns
The result of the comparison (false if a condition does not exist).

Definition at line 379 of file L1GtCaloCondition.cc.

379  {
380  // number of objects in condition
381  int nObjInCond = m_gtCaloTemplate->nrObjects();
382 
383  if (iCondition >= nObjInCond || iCondition < 0) {
384  return false;
385  }
386 
387  // empty candidates can not be compared
388  if (cand.empty()) {
389  return false;
390  }
391 
392  const L1GtCaloTemplate::ObjectParameter objPar = (*(m_gtCaloTemplate->objectParameter()))[iCondition];
393 
394  // check energy threshold
395  if (!checkThreshold(objPar.etThreshold, cand.rank(), m_gtCaloTemplate->condGEq())) {
396  return false;
397  }
398 
399  // check eta
400  if (!checkBit(objPar.etaRange, cand.etaIndex())) {
401  return false;
402  }
403 
404  // check phi
405 
406  if (!checkBit(objPar.phiRange, cand.phiIndex())) {
407  return false;
408  }
409 
410  // particle matches if we get here
411  // LogTrace("L1GlobalTrigger")
412  // << " checkObjectParameter: calorimeter object OK, passes all
413  // requirements\n"
414  // << std::endl;
415 
416  return true;
417 }

References L1GtConditionEvaluation::checkBit(), L1GtConditionEvaluation::checkThreshold(), L1GtCondition::condGEq(), L1GtCaloTemplate::ObjectParameter::etaRange, L1GtCaloTemplate::ObjectParameter::etThreshold, m_gtCaloTemplate, L1GtCondition::nrObjects(), L1GtCaloTemplate::objectParameter(), and L1GtCaloTemplate::ObjectParameter::phiRange.

Referenced by evaluateCondition().

◆ copy()

void L1GtCaloCondition::copy ( const L1GtCaloCondition cp)
private

copy function for copy constructor and operator=

Definition at line 96 of file L1GtCaloCondition.cc.

96  {
97  m_gtCaloTemplate = cp.gtCaloTemplate();
98  m_gtPSB = cp.gtPSB();
99 
100  m_ifCaloEtaNumberBits = cp.gtIfCaloEtaNumberBits();
101  m_corrParDeltaPhiNrBins = cp.m_corrParDeltaPhiNrBins;
102 
103  m_condMaxNumberObjects = cp.condMaxNumberObjects();
104  m_condLastResult = cp.condLastResult();
105  m_combinationsInCond = cp.getCombinationsInCond();
106 
107  m_verbosity = cp.m_verbosity;
108 }

References CommonMethods::cp(), L1GtConditionEvaluation::m_combinationsInCond, L1GtConditionEvaluation::m_condLastResult, L1GtConditionEvaluation::m_condMaxNumberObjects, m_corrParDeltaPhiNrBins, m_gtCaloTemplate, m_gtPSB, m_ifCaloEtaNumberBits, and L1GtConditionEvaluation::m_verbosity.

Referenced by L1GtCaloCondition(), and operator=().

◆ evaluateCondition()

const bool L1GtCaloCondition::evaluateCondition ( ) const
overridevirtual

the core function to check if the condition matches

Implements L1GtConditionEvaluation.

Definition at line 140 of file L1GtCaloCondition.cc.

140  {
141  // number of trigger objects in the condition
142  int nObjInCond = m_gtCaloTemplate->nrObjects();
143  // LogTrace("L1GlobalTrigger") << " nObjInCond: " << nObjInCond
144  // << std::endl;
145 
146  // the candidates
147 
148  // objectType() gives the type for nrObjects() only,
149  // but in a CondCalo all objects have the same type
150  // take type from the type of the first object
151 
152  const std::vector<const L1GctCand *> *candVec;
153 
154  switch ((m_gtCaloTemplate->objectType())[0]) {
155  case NoIsoEG:
156  candVec = m_gtPSB->getCandL1NoIsoEG();
157  break;
158  case IsoEG:
159  candVec = m_gtPSB->getCandL1IsoEG();
160  break;
161  case CenJet:
162  candVec = m_gtPSB->getCandL1CenJet();
163  break;
164  case ForJet:
165  candVec = m_gtPSB->getCandL1ForJet();
166  break;
167  case TauJet:
168  candVec = m_gtPSB->getCandL1TauJet();
169  break;
170  default:
171  return false;
172  break;
173  }
174 
175  int numberObjects = candVec->size();
176  // LogTrace("L1GlobalTrigger") << " numberObjects: " << numberObjects
177  // << std::endl;
178  if (numberObjects < nObjInCond) {
179  return false;
180  }
181 
182  std::vector<int> index(numberObjects);
183 
184  for (int i = 0; i < numberObjects; ++i) {
185  index[i] = i;
186  }
187 
188  int jumpIndex = 1;
189  int jump = factorial(numberObjects - nObjInCond);
190 
191  int totalLoops = 0;
192  int passLoops = 0;
193 
194  // condition result condResult set to true if at least one permutation
195  // passes all requirements
196  // all possible permutations are checked
197  bool condResult = false;
198 
199  // store the indices of the calorimeter objects
200  // from the combination evaluated in the condition
201  SingleCombInCond objectsInComb;
202  objectsInComb.reserve(nObjInCond);
203 
204  // clear the m_combinationsInCond vector
205  combinationsInCond().clear();
206 
207  do {
208  if (--jumpIndex)
209  continue;
210 
211  jumpIndex = jump;
212  totalLoops++;
213 
214  // clear the indices in the combination
215  objectsInComb.clear();
216 
217  bool tmpResult = true;
218 
219  // check if there is a permutation that matches object-parameter
220  // requirements
221  for (int i = 0; i < nObjInCond; i++) {
222  tmpResult &= checkObjectParameter(i, *(*candVec)[index[i]]);
223  objectsInComb.push_back(index[i]);
224  }
225 
226  // if permutation does not match particle conditions
227  // skip spatial correlations
228  if (!tmpResult) {
229  continue;
230  }
231 
232  if (m_gtCaloTemplate->wsc()) {
233  // wsc requirements have always nObjInCond = 2
234  // one can use directly index[0] and index[1] to compute
235  // eta and phi differences
236  const int ObjInWscComb = 2;
237  if (nObjInCond != ObjInWscComb) {
238  if (m_verbosity) {
239  edm::LogError("L1GlobalTrigger")
240  << "\n Error: "
241  << "number of particles in condition with spatial correlation = " << nObjInCond
242  << "\n it must be = " << ObjInWscComb << std::endl;
243  }
244 
245  continue;
246  }
247 
249 
250  unsigned int candDeltaEta;
251  unsigned int candDeltaPhi;
252 
253  // check candDeltaEta
254 
255  // get eta index and the sign bit of the eta index (MSB is the sign)
256  // signedEta[i] is the signed eta index of candVec[index[i]]
257  int signedEta[ObjInWscComb];
258  int signBit[ObjInWscComb] = {0, 0};
259 
260  int scaleEta = 1 << (m_ifCaloEtaNumberBits - 1);
261 
262  for (int i = 0; i < ObjInWscComb; ++i) {
263  signBit[i] = ((*candVec)[index[i]]->etaIndex() & scaleEta) >> (m_ifCaloEtaNumberBits - 1);
264  signedEta[i] = ((*candVec)[index[i]]->etaIndex()) % scaleEta;
265 
266  if (signBit[i] == 1) {
267  signedEta[i] = (-1) * signedEta[i];
268  }
269  }
270 
271  // compute candDeltaEta - add 1 if signs are different (due to +0/-0
272  // indices)
273  candDeltaEta =
274  static_cast<int>(std::abs(signedEta[1] - signedEta[0])) + static_cast<int>(signBit[1] ^ signBit[0]);
275 
276  if (!checkBit(corrPar.deltaEtaRange, candDeltaEta)) {
277  continue;
278  }
279 
280  // check candDeltaPhi
281 
282  // calculate absolute value of candDeltaPhi
283  if ((*candVec)[index[0]]->phiIndex() > (*candVec)[index[1]]->phiIndex()) {
284  candDeltaPhi = (*candVec)[index[0]]->phiIndex() - (*candVec)[index[1]]->phiIndex();
285  } else {
286  candDeltaPhi = (*candVec)[index[1]]->phiIndex() - (*candVec)[index[0]]->phiIndex();
287  }
288 
289  // check if candDeltaPhi > 180 (via delta_phi_maxbits)
290  // delta_phi contains bits for 0..180 (0 and 180 included)
291  // protect also against infinite loop...
292 
293  int nMaxLoop = 10;
294  int iLoop = 0;
295 
296  while (candDeltaPhi >= m_corrParDeltaPhiNrBins) {
297  unsigned int candDeltaPhiInitial = candDeltaPhi;
298 
299  // candDeltaPhi > 180 ==> take 360 - candDeltaPhi
300  candDeltaPhi = (m_corrParDeltaPhiNrBins - 1) * 2 - candDeltaPhi;
301  if (m_verbosity) {
302  LogTrace("L1GlobalTrigger") << " Initial candDeltaPhi = " << candDeltaPhiInitial
303  << " > m_corrParDeltaPhiNrBins = " << m_corrParDeltaPhiNrBins
304  << " ==> candDeltaPhi rescaled to: " << candDeltaPhi << " [ loop index " << iLoop
305  << "; breaks after " << nMaxLoop << " loops ]\n"
306  << std::endl;
307  }
308 
309  iLoop++;
310  if (iLoop > nMaxLoop) {
311  return false;
312  }
313  }
314 
315  if (!checkBit(corrPar.deltaPhiRange, candDeltaPhi)) {
316  continue;
317  }
318 
319  } // end wsc check
320 
321  // if we get here all checks were successful for this combination
322  // set the general result for evaluateCondition to "true"
323 
324  condResult = true;
325  passLoops++;
326  combinationsInCond().push_back(objectsInComb);
327 
328  // } while ( std::next_permutation(index, index + nObj) );
329  } while (std::next_permutation(index.begin(), index.end()));
330 
331  // LogTrace("L1GlobalTrigger")
332  // << "\n L1GtCaloCondition: total number of permutations found: " <<
333  // totalLoops
334  // << "\n L1GtCaloCondition: number of permutations passing requirements:
335  // " << passLoops
336  // << "\n" << std::endl;
337 
338  return condResult;
339 }

References funct::abs(), CenJet, L1GtConditionEvaluation::checkBit(), checkObjectParameter(), L1GtConditionEvaluation::combinationsInCond(), L1GtCaloTemplate::correlationParameter(), L1GtCaloTemplate::CorrelationParameter::deltaEtaRange, L1GtCaloTemplate::CorrelationParameter::deltaPhiRange, factorial(), ForJet, L1GlobalTriggerPSB::getCandL1CenJet(), L1GlobalTriggerPSB::getCandL1ForJet(), L1GlobalTriggerPSB::getCandL1IsoEG(), L1GlobalTriggerPSB::getCandL1NoIsoEG(), L1GlobalTriggerPSB::getCandL1TauJet(), mps_fire::i, IsoEG, LogTrace, m_corrParDeltaPhiNrBins, m_gtCaloTemplate, m_gtPSB, m_ifCaloEtaNumberBits, L1GtConditionEvaluation::m_verbosity, NoIsoEG, L1GtCondition::nrObjects(), L1GtCondition::objectType(), TauJet, and L1GtCondition::wsc().

◆ getCandidate()

const L1GctCand * L1GtCaloCondition::getCandidate ( const int  indexCand) const
private

load calo candidates

Definition at line 342 of file L1GtCaloCondition.cc.

342  {
343  // objectType() gives the type for nrObjects() only,
344  // but in a CondCalo all objects have the same type
345  // take type from the type of the first object
346  switch ((m_gtCaloTemplate->objectType())[0]) {
347  case NoIsoEG:
348  return (*(m_gtPSB->getCandL1NoIsoEG()))[indexCand];
349  break;
350  case IsoEG:
351  return (*(m_gtPSB->getCandL1IsoEG()))[indexCand];
352  break;
353  case CenJet:
354  return (*(m_gtPSB->getCandL1CenJet()))[indexCand];
355  break;
356  case ForJet:
357  return (*(m_gtPSB->getCandL1ForJet()))[indexCand];
358  break;
359  case TauJet:
360  return (*(m_gtPSB->getCandL1TauJet()))[indexCand];
361  break;
362  default:
363  return nullptr;
364  break;
365  }
366 
367  return nullptr;
368 }

References CenJet, ForJet, L1GlobalTriggerPSB::getCandL1CenJet(), L1GlobalTriggerPSB::getCandL1ForJet(), L1GlobalTriggerPSB::getCandL1IsoEG(), L1GlobalTriggerPSB::getCandL1NoIsoEG(), L1GlobalTriggerPSB::getCandL1TauJet(), IsoEG, m_gtCaloTemplate, m_gtPSB, NoIsoEG, L1GtCondition::objectType(), and TauJet.

◆ gtCaloTemplate()

const L1GtCaloTemplate* L1GtCaloCondition::gtCaloTemplate ( ) const
inline

get / set the pointer to a L1GtCondition

Definition at line 69 of file L1GtCaloCondition.h.

69 { return m_gtCaloTemplate; }

References m_gtCaloTemplate.

◆ gtCorrParDeltaPhiNrBins()

const int L1GtCaloCondition::gtCorrParDeltaPhiNrBins ( ) const
inline

get / set maximum number of bins for the delta phi scales

Definition at line 84 of file L1GtCaloCondition.h.

84 { return m_corrParDeltaPhiNrBins; }

References m_corrParDeltaPhiNrBins.

◆ gtIfCaloEtaNumberBits()

const int L1GtCaloCondition::gtIfCaloEtaNumberBits ( ) const
inline

get / set the number of bits for eta of calorimeter objects

Definition at line 79 of file L1GtCaloCondition.h.

79 { return m_ifCaloEtaNumberBits; }

References m_ifCaloEtaNumberBits.

◆ gtPSB()

const L1GlobalTriggerPSB* L1GtCaloCondition::gtPSB ( ) const
inline

get / set the pointer to PSB

Definition at line 74 of file L1GtCaloCondition.h.

74 { return m_gtPSB; }

References m_gtPSB.

◆ operator=()

L1GtCaloCondition & L1GtCaloCondition::operator= ( const L1GtCaloCondition cp)

Definition at line 118 of file L1GtCaloCondition.cc.

118  {
119  copy(cp);
120  return *this;
121 }

References copy(), and CommonMethods::cp().

◆ print()

void L1GtCaloCondition::print ( std::ostream &  myCout) const
overridevirtual

print condition

Reimplemented from L1GtConditionEvaluation.

Definition at line 419 of file L1GtCaloCondition.cc.

419  {
420  m_gtCaloTemplate->print(myCout);
421 
422  myCout << " Number of bits for eta of calorimeter objects = " << m_ifCaloEtaNumberBits << std::endl;
423  myCout << " Maximum number of bins for the delta phi scales = " << m_corrParDeltaPhiNrBins << "\n " << std::endl;
424 
426 }

References m_corrParDeltaPhiNrBins, m_gtCaloTemplate, m_ifCaloEtaNumberBits, L1GtConditionEvaluation::print(), and L1GtCaloTemplate::print().

Referenced by L1GtCorrelationCondition::evaluateCondition(), and L1GlobalTriggerGTL::run().

◆ setGtCaloTemplate()

void L1GtCaloCondition::setGtCaloTemplate ( const L1GtCaloTemplate caloTempl)

Definition at line 124 of file L1GtCaloCondition.cc.

124 { m_gtCaloTemplate = caloTempl; }

References m_gtCaloTemplate.

◆ setGtCorrParDeltaPhiNrBins()

void L1GtCaloCondition::setGtCorrParDeltaPhiNrBins ( const int &  corrParDeltaPhiNrBins)

Definition at line 135 of file L1GtCaloCondition.cc.

135  {
136  m_corrParDeltaPhiNrBins = corrParDeltaPhiNrBins;
137 }

References m_corrParDeltaPhiNrBins.

Referenced by L1GlobalTriggerGTL::run().

◆ setGtIfCaloEtaNumberBits()

void L1GtCaloCondition::setGtIfCaloEtaNumberBits ( const int &  ifCaloEtaNumberBitsValue)

Definition at line 130 of file L1GtCaloCondition.cc.

130  {
131  m_ifCaloEtaNumberBits = ifCaloEtaNumberBitsValue;
132 }

References m_ifCaloEtaNumberBits.

◆ setGtPSB()

void L1GtCaloCondition::setGtPSB ( const L1GlobalTriggerPSB ptrPSB)

set the pointer to PSB

Definition at line 127 of file L1GtCaloCondition.cc.

127 { m_gtPSB = ptrPSB; }

References m_gtPSB.

Member Data Documentation

◆ m_corrParDeltaPhiNrBins

unsigned int L1GtCaloCondition::m_corrParDeltaPhiNrBins
private

◆ m_gtCaloTemplate

const L1GtCaloTemplate* L1GtCaloCondition::m_gtCaloTemplate
private

◆ m_gtPSB

const L1GlobalTriggerPSB* L1GtCaloCondition::m_gtPSB
private

pointer to PSB, to be able to get the trigger objects

Definition at line 103 of file L1GtCaloCondition.h.

Referenced by copy(), evaluateCondition(), getCandidate(), gtPSB(), and setGtPSB().

◆ m_ifCaloEtaNumberBits

int L1GtCaloCondition::m_ifCaloEtaNumberBits
private

number of bits for eta of calorimeter objects

Definition at line 106 of file L1GtCaloCondition.h.

Referenced by copy(), evaluateCondition(), gtIfCaloEtaNumberBits(), L1GtCaloCondition(), print(), and setGtIfCaloEtaNumberBits().

mps_fire.i
i
Definition: mps_fire.py:355
L1GtConditionEvaluation::m_verbosity
int m_verbosity
verbosity level
Definition: L1GtConditionEvaluation.h:105
L1GtCaloCondition::checkObjectParameter
const bool checkObjectParameter(const int iCondition, const L1GctCand &cand) const
function to check a single object if it matches a condition
Definition: L1GtCaloCondition.cc:379
L1GtCondition::nrObjects
const int nrObjects() const
get number of trigger objects
Definition: L1GtCondition.cc:62
L1GtCaloCondition::m_ifCaloEtaNumberBits
int m_ifCaloEtaNumberBits
number of bits for eta of calorimeter objects
Definition: L1GtCaloCondition.h:106
L1GtConditionEvaluation::combinationsInCond
CombinationsInCond & combinationsInCond() const
get all the object combinations (to fill it...)
Definition: L1GtConditionEvaluation.h:82
L1GtCondition::condGEq
const bool condGEq() const
get / set condition GEq flag
Definition: L1GtCondition.h:72
L1GtConditionEvaluation::checkBit
const bool checkBit(const Type1 &mask, const unsigned int bitNumber) const
check if a bit with a given number is set in a mask
Definition: L1GtConditionEvaluation.h:149
L1GtConditionEvaluation::print
virtual void print(std::ostream &myCout) const
print condition
Definition: L1GtConditionEvaluation.cc:34
L1GtCondition::wsc
const bool wsc() const
Definition: L1GtCondition.cc:114
factorial
int factorial(int n)
factorial function
Definition: L1GlobalTriggerFunctions.cc:13
L1GtCaloTemplate::ObjectParameter
typedef for a single object template
Definition: L1GtCaloTemplate.h:56
L1GtConditionEvaluation::m_combinationsInCond
CombinationsInCond m_combinationsInCond
store all the object combinations evaluated to true in the condition
Definition: L1GtConditionEvaluation.h:102
NoIsoEG
Definition: L1GtObject.h:30
L1GtCondition::objectType
const std::vector< L1GtObject > & objectType() const
get / set the trigger object type(s) in the condition
Definition: L1GtCondition.h:67
L1GlobalTriggerPSB::getCandL1ForJet
const std::vector< const L1GctCand * > * getCandL1ForJet() const
pointer to ForJet data list
Definition: L1GlobalTriggerPSB.h:153
IsoEG
Definition: L1GtObject.h:31
L1GtConditionEvaluation::checkThreshold
const bool checkThreshold(const Type1 &threshold, const Type2 &value, const bool condGEqValue) const
Definition: L1GtConditionEvaluation.h:113
L1GtConditionEvaluation::m_condLastResult
bool m_condLastResult
the last result of evaluateCondition()
Definition: L1GtConditionEvaluation.h:99
L1GtCaloCondition::m_gtPSB
const L1GlobalTriggerPSB * m_gtPSB
pointer to PSB, to be able to get the trigger objects
Definition: L1GtCaloCondition.h:103
SingleCombInCond
std::vector< int > SingleCombInCond
typedefs
Definition: L1GlobalTriggerObjectMapFwd.h:29
L1GtCaloTemplate::CorrelationParameter::deltaPhiRange
unsigned long long deltaPhiRange
Definition: L1GtCaloTemplate.h:68
L1GtCaloCondition::m_gtCaloTemplate
const L1GtCaloTemplate * m_gtCaloTemplate
pointer to a L1GtCaloTemplate
Definition: L1GtCaloCondition.h:100
CenJet
Definition: L1GtObject.h:32
L1GtConditionEvaluation::L1GtConditionEvaluation
L1GtConditionEvaluation()
constructor
Definition: L1GtConditionEvaluation.h:40
L1GtCaloTemplate::CorrelationParameter
typedef for correlation parameters
Definition: L1GtCaloTemplate.h:65
L1GtCaloTemplate::CorrelationParameter::deltaEtaRange
unsigned long long deltaEtaRange
Definition: L1GtCaloTemplate.h:66
L1GtCaloCondition::copy
void copy(const L1GtCaloCondition &cp)
copy function for copy constructor and operator=
Definition: L1GtCaloCondition.cc:96
TauJet
Definition: L1GtObject.h:34
edm::LogError
Definition: MessageLogger.h:183
L1GlobalTriggerPSB::getCandL1TauJet
const std::vector< const L1GctCand * > * getCandL1TauJet() const
pointer to TauJet data list
Definition: L1GlobalTriggerPSB.h:156
L1GlobalTriggerPSB::getCandL1IsoEG
const std::vector< const L1GctCand * > * getCandL1IsoEG() const
pointer to IsoEG data list
Definition: L1GlobalTriggerPSB.h:147
L1GtCaloCondition::m_corrParDeltaPhiNrBins
unsigned int m_corrParDeltaPhiNrBins
Definition: L1GtCaloCondition.h:109
L1GtCaloTemplate::objectParameter
const std::vector< ObjectParameter > * objectParameter() const
Definition: L1GtCaloTemplate.h:75
L1GtCaloTemplate::ObjectParameter::phiRange
unsigned int phiRange
Definition: L1GtCaloTemplate.h:59
L1GtConditionEvaluation::m_condMaxNumberObjects
int m_condMaxNumberObjects
Definition: L1GtConditionEvaluation.h:96
cand
Definition: decayParser.h:34
L1GlobalTriggerPSB::getCandL1NoIsoEG
const std::vector< const L1GctCand * > * getCandL1NoIsoEG() const
pointer to NoIsoEG data list
Definition: L1GlobalTriggerPSB.h:144
L1GtCaloTemplate::correlationParameter
const CorrelationParameter * correlationParameter() const
Definition: L1GtCaloTemplate.h:77
L1GtCaloTemplate::print
void print(std::ostream &myCout) const override
print the condition
Definition: L1GtCaloTemplate.cc:71
L1GtCaloTemplate::ObjectParameter::etaRange
unsigned int etaRange
Definition: L1GtCaloTemplate.h:58
ForJet
Definition: L1GtObject.h:33
AlignmentPI::index
index
Definition: AlignmentPayloadInspectorHelper.h:46
L1GtCaloTemplate::ObjectParameter::etThreshold
unsigned int etThreshold
Definition: L1GtCaloTemplate.h:57
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
LogTrace
#define LogTrace(id)
Definition: MessageLogger.h:671
CommonMethods.cp
def cp(fromDir, toDir, listOfFiles, overwrite=False, smallList=False)
Definition: CommonMethods.py:192
L1GlobalTriggerPSB::getCandL1CenJet
const std::vector< const L1GctCand * > * getCandL1CenJet() const
pointer to CenJet data list
Definition: L1GlobalTriggerPSB.h:150