CMS 3D CMS Logo

MuCondition.cc
Go to the documentation of this file.
1 
16 // this class header
18 
19 // system include files
20 #include <iostream>
21 #include <iomanip>
22 
23 #include <string>
24 #include <vector>
25 #include <algorithm>
26 
27 // user include files
28 // base classes
31 
33 
35 
38 
39 // constructors
40 // default
42  // empty
43 }
44 
45 // from base template condition (from event setup usually)
47  const GlobalBoard* ptrGTL,
48  const int nrL1Mu,
49  const int ifMuEtaNumberBits)
51  m_gtMuonTemplate(static_cast<const MuonTemplate*>(muonTemplate)),
52  m_gtGTL(ptrGTL),
53  m_ifMuEtaNumberBits(ifMuEtaNumberBits) {
55  m_condMaxNumberObjects = nrL1Mu;
56 }
57 
58 // copy constructor
60  m_gtMuonTemplate = cp.gtMuonTemplate();
61  m_gtGTL = cp.gtGTL();
62 
63  m_ifMuEtaNumberBits = cp.gtIfMuEtaNumberBits();
64  m_corrParDeltaPhiNrBins = cp.m_corrParDeltaPhiNrBins;
65 
66  m_condMaxNumberObjects = cp.condMaxNumberObjects();
67  m_condLastResult = cp.condLastResult();
68  m_combinationsInCond = cp.getCombinationsInCond();
69 
70  m_verbosity = cp.m_verbosity;
71 }
72 
74 
75 // destructor
77  // empty
78 }
79 
80 // equal operator
82  copy(cp);
83  return *this;
84 }
85 
86 // methods
87 void l1t::MuCondition::setGtMuonTemplate(const MuonTemplate* muonTempl) { m_gtMuonTemplate = muonTempl; }
88 
90 void l1t::MuCondition::setGtGTL(const GlobalBoard* ptrGTL) { m_gtGTL = ptrGTL; }
91 
92 // set the number of bits for eta of muon objects
93 void l1t::MuCondition::setGtIfMuEtaNumberBits(const int& ifMuEtaNumberBitsValue) {
94  m_ifMuEtaNumberBits = ifMuEtaNumberBitsValue;
95 }
96 
97 // set the maximum number of bins for the delta phi scales
98 void l1t::MuCondition::setGtCorrParDeltaPhiNrBins(const int& corrParDeltaPhiNrBins) {
99  m_corrParDeltaPhiNrBins = corrParDeltaPhiNrBins;
100 }
101 
102 // try all object permutations and check spatial correlations, if required
103 const bool l1t::MuCondition::evaluateCondition(const int bxEval) const {
104  // BLW Need to pass this as an argument
105  //const int bxEval=0; //BLW Change for BXVector
106 
107  // number of trigger objects in the condition
108  int nObjInCond = m_gtMuonTemplate->nrObjects();
109 
110  // the candidates
111  const BXVector<const l1t::Muon*>* candVec = m_gtGTL->getCandL1Mu(); //BLW Change for BXVector
112 
113  // Look at objects in bx = bx + relativeBx
114  int useBx = bxEval + m_gtMuonTemplate->condRelativeBx();
115 
116  // Fail condition if attempting to get Bx outside of range
117  if ((useBx < candVec->getFirstBX()) || (useBx > candVec->getLastBX())) {
118  return false;
119  }
120 
121  int numberObjects = candVec->size(useBx); //BLW Change for BXVector
122  //LogTrace("L1TGlobal") << " numberObjects: " << numberObjects
123  // << std::endl;
124  if (numberObjects < nObjInCond) {
125  return false;
126  }
127 
128  std::vector<int> index(numberObjects);
129 
130  for (int i = 0; i < numberObjects; ++i) {
131  index[i] = i;
132  }
133 
134  int numberForFactorial = numberObjects - nObjInCond;
135 
136  // TEMPORARY FIX UNTIL IMPLEMENT NEW MUON CONDITIONS
137  int myfactorial = 1;
138  for (int i = numberForFactorial; i > 0; i--)
139  myfactorial *= i;
140 
141  int jumpIndex = 1;
142  int jump = myfactorial; //factorial(numberObjects - nObjInCond);
143 
144  int totalLoops = 0;
145  int passLoops = 0;
146 
147  // condition result condResult set to true if at least one permutation
148  // passes all requirements
149  // all possible permutations are checked
150  bool condResult = false;
151 
152  // store the indices of the muon objects
153  // from the combination evaluated in the condition
154  SingleCombInCond objectsInComb;
155  objectsInComb.reserve(nObjInCond);
156 
157  // clear the m_combinationsInCond vector
158  combinationsInCond().clear();
159 
160  do {
161  if (--jumpIndex)
162  continue;
163 
164  jumpIndex = jump;
165  totalLoops++;
166 
167  // clear the indices in the combination
168  objectsInComb.clear();
169 
170  bool tmpResult = true;
171 
172  bool passCondition = false;
173  // check if there is a permutation that matches object-parameter requirements
174  for (int i = 0; i < nObjInCond; i++) {
175  passCondition = checkObjectParameter(i, *(candVec->at(useBx, index[i])), index[i]); //BLW Change for BXVector
176  tmpResult &= passCondition;
177  if (passCondition)
178  LogDebug("L1TGlobal") << "===> MuCondition::evaluateCondition, CONGRATS!! This muon passed the condition."
179  << std::endl;
180  else
181  LogDebug("L1TGlobal") << "===> MuCondition::evaluateCondition, FAIL!! This muon failed the condition."
182  << std::endl;
183  objectsInComb.push_back(index[i]);
184  }
185 
186  // if permutation does not match particle conditions
187  // skip charge correlation and spatial correlations
188  if (!tmpResult) {
189  continue;
190  }
191 
192  // get the correlation parameters (chargeCorrelation included here also)
193  MuonTemplate::CorrelationParameter corrPar = *(m_gtMuonTemplate->correlationParameter());
194 
195  // charge_correlation consists of 3 relevant bits (D2, D1, D0)
196  unsigned int chargeCorr = corrPar.chargeCorrelation;
197 
198  // charge ignore bit (D0) not set?
199  if ((chargeCorr & 1) == 0) {
200  LogDebug("L1TGlobal") << "===> MuCondition:: Checking Charge Correlation" << std::endl;
201 
202  for (int i = 0; i < nObjInCond; i++) {
203  // check valid charge - skip if invalid charge
204  int chargeValid = (candVec->at(useBx, index[i]))->hwChargeValid(); //BLW Change for BXVector
205  tmpResult &= chargeValid;
206 
207  if (chargeValid == 0) { //BLW type change for New Muon Class
208  continue;
209  }
210  }
211 
212  if (!tmpResult) {
213  LogDebug("L1TGlobal") << "===> MuCondition:: Charge Correlation Failed...No Valid Charges" << std::endl;
214  continue;
215  }
216 
217  if (nObjInCond > 1) { // more objects condition
218 
219  // find out if signs are equal
220  bool equalSigns = true;
221  for (int i = 0; i < nObjInCond - 1; i++) {
222  if ((candVec->at(useBx, index[i]))->hwCharge() !=
223  (candVec->at(useBx, index[i + 1]))->hwCharge()) { //BLW Change for BXVector
224  equalSigns = false;
225  break;
226  }
227  }
228 
229  LogDebug("L1TGlobal") << "===> MuCondition:: Checking Charge Correlation equalSigns = " << equalSigns
230  << std::endl;
231 
232  // two or three particle condition
233  if (nObjInCond == 2 || nObjInCond == 3) {
234  if (!(((chargeCorr & 2) != 0 && equalSigns) || ((chargeCorr & 4) != 0 && !equalSigns))) {
235  LogDebug("L1TGlobal") << "===> MuCondition:: 2/3 Muon Fail Charge Correlation Condition =" << chargeCorr
236  << std::endl;
237  continue;
238  }
239  } else if (nObjInCond == 4) {
240  //counter to count positive charges to determine if there are pairs
241  unsigned int posCount = 0;
242 
243  for (int i = 0; i < nObjInCond; i++) {
244  if ((candVec->at(useBx, index[i]))->hwCharge() > 0) { //BLW Change for BXVector
245  posCount++;
246  }
247  }
248 
249  if (!(((chargeCorr & 2) != 0 && equalSigns) || ((chargeCorr & 4) != 0 && posCount == 2))) {
250  LogDebug("L1TGlobal") << "===> MuCondition:: 4 Muon Fail Charge Correlation Condition = " << chargeCorr
251  << " posCnt " << posCount << std::endl;
252  continue;
253  }
254  }
255  } // end require nObjInCond > 1
256  } // end signchecks
257 
258  if (m_gtMuonTemplate->wsc()) {
259  // wsc requirements have always nObjInCond = 2
260  // one can use directly index[0] and index[1] to compute
261  // eta and phi differences
262  const int ObjInWscComb = 2;
263  if (nObjInCond != ObjInWscComb) {
264  edm::LogError("L1TGlobal") << "\n Error: "
265  << "number of particles in condition with spatial correlation = " << nObjInCond
266  << "\n it must be = " << ObjInWscComb << std::endl;
267  // TODO Perhaps I should throw here an exception,
268  // since something is really wrong if nObjInCond != ObjInWscComb (=2)
269  continue;
270  }
271 
272  // check delta eta
273  if (!checkRangeDeltaEta((candVec->at(useBx, 0))->hwEtaAtVtx(),
274  (candVec->at(useBx, 1))->hwEtaAtVtx(),
275  corrPar.deltaEtaRangeLower,
276  corrPar.deltaEtaRangeUpper,
277  8)) {
278  LogDebug("L1TGlobal") << "\t\t l1t::Candidate failed checkRangeDeltaEta" << std::endl;
279  continue;
280  }
281 
282  // check delta phi
283  if (!checkRangeDeltaPhi((candVec->at(useBx, 0))->hwPhiAtVtx(),
284  (candVec->at(useBx, 1))->hwPhiAtVtx(),
285  corrPar.deltaPhiRangeLower,
286  corrPar.deltaPhiRangeUpper)) {
287  LogDebug("L1TGlobal") << "\t\t l1t::Candidate failed checkRangeDeltaPhi" << std::endl;
288  continue;
289  }
290 
291  } // end wsc check
292 
293  // if we get here all checks were successfull for this combination
294  // set the general result for evaluateCondition to "true"
295 
296  condResult = true;
297  passLoops++;
298  (combinationsInCond()).push_back(objectsInComb);
299 
300  } while (std::next_permutation(index.begin(), index.end()));
301 
302  //LogTrace("L1TGlobal")
303  // << "\n MuCondition: total number of permutations found: " << totalLoops
304  // << "\n MuCondition: number of permutations passing requirements: " << passLoops
305  // << "\n" << std::endl;
306 
307  return condResult;
308 }
309 
310 // load muon candidates
311 const l1t::Muon* l1t::MuCondition::getCandidate(const int bx, const int indexCand) const {
312  return (m_gtGTL->getCandL1Mu())->at(bx, indexCand); //BLW Change for BXVector
313 }
314 
324 const bool l1t::MuCondition::checkObjectParameter(const int iCondition,
325  const l1t::Muon& cand,
326  const unsigned int index) const {
327  // number of objects in condition
328  int nObjInCond = m_gtMuonTemplate->nrObjects();
329 
330  if (iCondition >= nObjInCond || iCondition < 0) {
331  return false;
332  }
333 
334  // // empty candidates can not be compared
335  // if (cand.empty()) {
336  // return false;
337  // }
338 
339  const MuonTemplate::ObjectParameter objPar = (*(m_gtMuonTemplate->objectParameter()))[iCondition];
340 
341  // using the logic table from GTL-9U-module.pdf
342  // "Truth table for Isolation bit"
343 
344  // check thresholds:
345 
346  // value < low pt threshold
347  // fail trigger
348 
349  // low pt threshold <= value < high pt threshold & non-isolated muon:
350  // requestIso true: fail trigger
351  // requestIso false, enableIso true: fail trigger
352  // requestIso false, enableIso false: OK, trigger
353 
354  // low pt threshold <= value < high pt threshold & isolated muon:
355  // requestIso true: OK, trigger
356  // requestIso false, enableIso true: OK, trigger
357  // requestIso false, enableIso false: OK, trigger
358 
359  // value >= high pt threshold & non-isolated muon:
360  // requestIso true: fail trigger
361  // requestIso false: OK, trigger
362 
363  // value >= high pt threshold & isolated muon:
364  // OK, trigger
365 
366  LogDebug("L1TGlobal") << "\n MuonTemplate::ObjectParameter : " << std::hex << "\n\t ptHighThreshold = 0x "
367  << objPar.ptHighThreshold << "\n\t ptLowThreshold = 0x " << objPar.ptLowThreshold
368  << "\n\t indexHigh = 0x " << objPar.indexHigh << "\n\t indexLow = 0x "
369  << objPar.indexLow << "\n\t requestIso = 0x " << objPar.requestIso
370  << "\n\t enableIso = 0x " << objPar.enableIso << "\n\t etaRange = 0x "
371  << objPar.etaRange << "\n\t phiLow = 0x " << objPar.phiLow
372  << "\n\t phiHigh = 0x " << objPar.phiHigh << "\n\t phiWindow1Lower = 0x "
373  << objPar.phiWindow1Lower << "\n\t phiWindow1Upper = 0x " << objPar.phiWindow1Upper
374  << "\n\t phiWindow2Lower = 0x " << objPar.phiWindow2Lower << "\n\t phiWindow2Lower = 0x "
375  << objPar.phiWindow2Lower << "\n\t charge = 0x " << objPar.charge
376  << "\n\t qualityLUT = 0x " << objPar.qualityLUT << "\n\t isolationLUT = 0x "
377  << objPar.isolationLUT << "\n\t enableMip = 0x " << objPar.enableMip << std::endl;
378 
379  LogDebug("L1TGlobal") << "\n l1t::Muon : "
380  << "\n\t hwPt = 0x " << cand.hwPt() << "\n\t hwEtaAtVtx = 0x " << cand.hwEtaAtVtx()
381  << "\n\t hwPhiAtVtx = 0x " << cand.hwPhiAtVtx() << "\n\t hwCharge = 0x " << cand.hwCharge()
382  << "\n\t hwQual = 0x " << cand.hwQual() << "\n\t hwIso = 0x " << cand.hwIso()
383  << std::dec << std::endl;
384 
385  if (!checkThreshold(objPar.ptLowThreshold, objPar.ptHighThreshold, cand.hwPt(), m_gtMuonTemplate->condGEq())) {
386  LogDebug("L1TGlobal") << "\t\t Muon Failed checkThreshold " << std::endl;
387  return false;
388  }
389 
390  // check index
391  if (!checkIndex(objPar.indexLow, objPar.indexHigh, index)) {
392  LogDebug("L1TGlobal") << "\t\t Muon Failed checkIndex " << std::endl;
393  return false;
394  }
395 
396  // check eta
397  if (!checkRangeEta(cand.hwEtaAtVtx(),
398  objPar.etaWindow1Lower,
399  objPar.etaWindow1Upper,
400  objPar.etaWindow2Lower,
401  objPar.etaWindow2Upper,
402  8)) {
403  LogDebug("L1TGlobal") << "\t\t l1t::Candidate failed checkRange(eta)" << std::endl;
404  return false;
405  }
406 
407  // check phi
408  if (!checkRangePhi(cand.hwPhiAtVtx(),
409  objPar.phiWindow1Lower,
410  objPar.phiWindow1Upper,
411  objPar.phiWindow2Lower,
412  objPar.phiWindow2Upper)) {
413  LogDebug("L1TGlobal") << "\t\t l1t::Candidate failed checkRange(phi)" << std::endl;
414  return false;
415  }
416 
417  // check charge
418  if (objPar.charge >= 0) {
419  if (cand.hwCharge() != objPar.charge) {
420  LogDebug("L1TGlobal") << "\t\t l1t::Candidate failed charge requirement" << std::endl;
421  return false;
422  }
423  }
424 
425  // check quality ( bit check ) with quality LUT
426  // sanity check on candidate quality
427  if (cand.hwQual() > 16) {
428  LogDebug("L1TGlobal") << "\t\t l1t::Candidate has out of range hwQual = " << cand.hwQual() << std::endl;
429  return false;
430  }
431  bool passQualLUT = ((objPar.qualityLUT >> cand.hwQual()) & 1);
432  if (!passQualLUT) {
433  LogDebug("L1TGlobal") << "\t\t l1t::Candidate failed quality requirement" << std::endl;
434  return false;
435  }
436 
437  // check isolation ( bit check ) with isolation LUT
438  // sanity check on candidate isolation
439  if (cand.hwIso() > 4) {
440  LogDebug("L1TGlobal") << "\t\t l1t::Candidate has out of range hwIso = " << cand.hwIso() << std::endl;
441  return false;
442  }
443  bool passIsoLUT = ((objPar.isolationLUT >> cand.hwIso()) & 1);
444  if (!passIsoLUT) {
445  LogDebug("L1TGlobal") << "\t\t l1t::Candidate failed isolation requirement" << std::endl;
446  return false;
447  }
448 
449  // A number of values is required to trigger (at least one).
450  // "Don’t care" means that all values are allowed.
451  // Qual = 000 means then NO MUON (GTL module)
452 
453  // if (cand.hwQual() == 0) {
454  // LogDebug("L1TGlobal") << "\t\t Muon Failed hwQual() == 0" << std::endl;
455  // return false;
456  // }
457 
458  // if (objPar.qualityRange == 0) {
459  // LogDebug("L1TGlobal") << "\t\t Muon Failed qualityRange == 0" << std::endl;
460  // return false;
461  // }
462  // else {
463  // if (!checkBit(objPar.qualityRange, cand.hwQual())) {
464  // LogDebug("L1TGlobal") << "\t\t Muon Failed checkBit(qualityRange) " << std::endl;
465  // return false;
466  // }
467  // }
468 
469  // check mip
470  if (objPar.enableMip) {
471  // if (!cand.hwMip()) {
472  // LogDebug("L1TGlobal") << "\t\t Muon Failed enableMip" << std::endl;
473  // return false;
474  // }
475  }
476 
477  // particle matches if we get here
478  //LogTrace("L1TGlobal")
479  // << " checkObjectParameter: muon object OK, passes all requirements\n" << std::endl;
480 
481  return true;
482 }
483 
484 void l1t::MuCondition::print(std::ostream& myCout) const {
485  m_gtMuonTemplate->print(myCout);
486 
487  myCout << " Number of bits for eta of muon objects = " << m_ifMuEtaNumberBits << std::endl;
488  myCout << " Maximum number of bins for the delta phi scales = " << m_corrParDeltaPhiNrBins << "\n " << std::endl;
489 
491 }
l1t::GlobalBoard
Definition: GlobalBoard.h:52
MuonTemplate::ObjectParameter::phiWindow1Upper
unsigned int phiWindow1Upper
Definition: MuonTemplate.h:77
MuonTemplate::ObjectParameter::qualityLUT
unsigned int qualityLUT
Definition: MuonTemplate.h:63
MuonTemplate::ObjectParameter::phiWindow1Lower
unsigned int phiWindow1Lower
Definition: MuonTemplate.h:76
mps_fire.i
i
Definition: mps_fire.py:355
GlobalBoard.h
MessageLogger.h
MuonTemplate::ObjectParameter::indexLow
unsigned int indexLow
Definition: MuonTemplate.h:59
filterCSVwithJSON.copy
copy
Definition: filterCSVwithJSON.py:36
MuonTemplate::ObjectParameter::phiHigh
unsigned int phiHigh
Definition: MuonTemplate.h:66
l1t::MuCondition::copy
void copy(const MuCondition &cp)
copy function for copy constructor and operator=
Definition: MuCondition.cc:59
Muon.h
l1GtPatternGenerator_cfi.bx
bx
Definition: l1GtPatternGenerator_cfi.py:18
l1t::MuCondition::evaluateCondition
const bool evaluateCondition(const int bxEval) const override
the core function to check if the condition matches
Definition: MuCondition.cc:103
l1t::ConditionEvaluation::print
virtual void print(std::ostream &myCout) const
print condition
Definition: ConditionEvaluation.cc:32
l1t::MuCondition::setGtIfMuEtaNumberBits
void setGtIfMuEtaNumberBits(const int &)
Definition: MuCondition.cc:93
l1t::MuCondition::MuCondition
MuCondition()
Definition: MuCondition.cc:41
MuonTemplate::ObjectParameter::isolationLUT
unsigned int isolationLUT
Definition: MuonTemplate.h:64
watchdog.const
const
Definition: watchdog.py:83
MuonTemplate::ObjectParameter::enableIso
bool enableIso
Definition: MuonTemplate.h:61
MuonTemplate::ObjectParameter::etaWindow1Lower
unsigned int etaWindow1Lower
Definition: MuonTemplate.h:71
BXVector< const l1t::Muon * >
MuonTemplate::CorrelationParameter::deltaPhiRangeUpper
unsigned int deltaPhiRangeUpper
Definition: MuonTemplate.h:102
SingleCombInCond
std::vector< int > SingleCombInCond
typedefs
Definition: L1GlobalTriggerObjectMapFwd.h:29
MuonTemplate.h
MuonTemplate::ObjectParameter::phiLow
unsigned int phiLow
Definition: MuonTemplate.h:67
MuonTemplate::ObjectParameter::etaWindow1Upper
unsigned int etaWindow1Upper
Definition: MuonTemplate.h:72
l1t::MuCondition::~MuCondition
~MuCondition() override
Definition: MuCondition.cc:76
MuonTemplate
Definition: MuonTemplate.h:33
l1t::MuCondition::getCandidate
const l1t::Muon * getCandidate(const int bx, const int indexCand) const
load muon candidates
Definition: MuCondition.cc:311
MuonTemplate::ObjectParameter::ptHighThreshold
unsigned int ptHighThreshold
Definition: MuonTemplate.h:56
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:670
MessageDrop.h
edm::LogError
Definition: MessageLogger.h:183
l1t::MuCondition::m_corrParDeltaPhiNrBins
unsigned int m_corrParDeltaPhiNrBins
Definition: MuCondition.h:104
BXVector::at
const T & at(int bx, unsigned i) const
l1t::MuCondition::print
void print(std::ostream &myCout) const override
print condition
Definition: MuCondition.cc:484
MuonTemplate::CorrelationParameter::deltaEtaRangeUpper
unsigned int deltaEtaRangeUpper
Definition: MuonTemplate.h:99
cand
Definition: decayParser.h:34
MuonTemplate::CorrelationParameter::deltaEtaRangeLower
unsigned int deltaEtaRangeLower
Definition: MuonTemplate.h:98
l1t::MuCondition
Definition: MuCondition.h:37
l1t::MuCondition::setGtMuonTemplate
void setGtMuonTemplate(const MuonTemplate *)
Definition: MuCondition.cc:87
ConditionEvaluation.h
MuCondition.h
MuonTemplate::CorrelationParameter::chargeCorrelation
unsigned int chargeCorrelation
Definition: MuonTemplate.h:86
MuonTemplate::ObjectParameter::charge
int charge
Definition: MuonTemplate.h:69
MuonTemplate::ObjectParameter::ptLowThreshold
unsigned int ptLowThreshold
Definition: MuonTemplate.h:57
MuonTemplate::ObjectParameter::phiWindow2Upper
unsigned int phiWindow2Upper
Definition: MuonTemplate.h:79
MuonTemplate::ObjectParameter::etaRange
unsigned long long etaRange
Definition: MuonTemplate.h:65
l1t::ConditionEvaluation
Definition: ConditionEvaluation.h:39
MuonTemplate::ObjectParameter::phiWindow2Lower
unsigned int phiWindow2Lower
Definition: MuonTemplate.h:78
MuonTemplate::ObjectParameter
Definition: MuonTemplate.h:55
l1t::MuCondition::checkObjectParameter
const bool checkObjectParameter(const int iCondition, const l1t::Muon &cand, const unsigned int index) const
function to check a single object if it matches a condition
Definition: MuCondition.cc:324
MuonTemplate::ObjectParameter::enableMip
bool enableMip
Definition: MuonTemplate.h:60
l1t::MuCondition::operator=
MuCondition & operator=(const MuCondition &)
Definition: MuCondition.cc:81
MuonTemplate::ObjectParameter::etaWindow2Lower
unsigned int etaWindow2Lower
Definition: MuonTemplate.h:73
MuonTemplate::ObjectParameter::requestIso
bool requestIso
Definition: MuonTemplate.h:62
AlignmentPI::index
index
Definition: AlignmentPayloadInspectorHelper.h:46
BXVector::size
unsigned size(int bx) const
MuonTemplate::CorrelationParameter
Definition: MuonTemplate.h:85
GlobalCondition
Definition: GlobalCondition.h:33
MuonTemplate::ObjectParameter::indexHigh
unsigned int indexHigh
Definition: MuonTemplate.h:58
l1t::ConditionEvaluation::m_condMaxNumberObjects
int m_condMaxNumberObjects
Definition: ConditionEvaluation.h:137
l1t::Muon
Definition: Muon.h:21
CommonMethods.cp
def cp(fromDir, toDir, listOfFiles, overwrite=False, smallList=False)
Definition: CommonMethods.py:192
BXVector::getLastBX
int getLastBX() const
MuonTemplate::ObjectParameter::etaWindow2Upper
unsigned int etaWindow2Upper
Definition: MuonTemplate.h:74
TauDecayModes.dec
dec
Definition: TauDecayModes.py:143
MuonTemplate::CorrelationParameter::deltaPhiRangeLower
unsigned int deltaPhiRangeLower
Definition: MuonTemplate.h:101
l1t::MuCondition::setGtGTL
void setGtGTL(const GlobalBoard *)
set the pointer to GTL
Definition: MuCondition.cc:90
l1t::MuCondition::setGtCorrParDeltaPhiNrBins
void setGtCorrParDeltaPhiNrBins(const int &)
Definition: MuCondition.cc:98