CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
L1TComparison Class Reference
Inheritance diagram for L1TComparison:
edm::EDAnalyzer edm::EDConsumerBase

Public Member Functions

 L1TComparison (const ParameterSet &)
 
 ~L1TComparison () override
 
- Public Member Functions inherited from edm::EDAnalyzer
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzer ()
 
SerialTaskQueueglobalLuminosityBlocksQueue ()
 
SerialTaskQueueglobalRunsQueue ()
 
ModuleDescription const & moduleDescription () const
 
std::string workerType () const
 
 ~EDAnalyzer () override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESProxyIndex > const & esGetTokenIndicesVector (edm::Transition iTrans) const
 
std::vector< ESRecordIndex >
const & 
esGetTokenRecordIndicesVector (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector
< ProductResolverIndexAndSkipBit >
const & 
itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::array< std::vector< ModuleDescription const * > *, NumBranchTypes > &modulesAll, std::vector< ModuleProcessName > &modulesInPreviousProcesses, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void selectInputProcessBlocks (ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase)
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Static Public Member Functions

static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 
static bool wantsGlobalLuminosityBlocks ()
 
static bool wantsGlobalRuns ()
 
static bool wantsInputProcessBlocks ()
 
static bool wantsProcessBlocks ()
 
static bool wantsStreamLuminosityBlocks ()
 
static bool wantsStreamRuns ()
 

Private Member Functions

void analyze (Event const &, EventSetup const &) override
 
void beginJob () override
 
void beginLuminosityBlock (LuminosityBlock const &, EventSetup const &) override
 
void beginRun (Run const &, EventSetup const &) override
 
void endJob () override
 
void endLuminosityBlock (LuminosityBlock const &, EventSetup const &) override
 
void endRun (Run const &, EventSetup const &) override
 

Private Attributes

bool algCheck_
 
int algCount_
 
int algFails_
 
edm::EDGetTokenT
< GlobalAlgBlkBxCollection
algTokenA_
 
edm::EDGetTokenT
< GlobalAlgBlkBxCollection
algTokenB_
 
bool bxZeroOnly_
 
bool egCheck_
 
int egCount_
 
int egFails_
 
edm::EDGetTokenT
< EGammaBxCollection
egTokenA_
 
edm::EDGetTokenT
< EGammaBxCollection
egTokenB_
 
bool jetCheck_
 
int jetCount_
 
int jetFails_
 
edm::EDGetTokenT< JetBxCollectionjetTokenA_
 
edm::EDGetTokenT< JetBxCollectionjetTokenB_
 
bool muonCheck_
 
int muonCount_
 
int muonFails_
 
edm::EDGetTokenT
< MuonBxCollection
muonTokenA_
 
edm::EDGetTokenT
< MuonBxCollection
muonTokenB_
 
bool sumCheck_
 
int sumCount_
 
int sumFails_
 
edm::EDGetTokenT
< EtSumBxCollection
sumTokenA_
 
edm::EDGetTokenT
< EtSumBxCollection
sumTokenB_
 
string tag_
 
bool tauCheck_
 
int tauCount_
 
int tauFails_
 
edm::EDGetTokenT< TauBxCollectiontauTokenA_
 
edm::EDGetTokenT< TauBxCollectiontauTokenB_
 

Additional Inherited Members

- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< Bconsumes (edm::InputTag tag) noexcept
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
constexpr auto esConsumes ()
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag)
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
void resetItemsToGetFrom (BranchType iType)
 

Detailed Description

Definition at line 65 of file L1TComparison.cc.

Constructor & Destructor Documentation

L1TComparison::L1TComparison ( const ParameterSet iConfig)
explicit

Definition at line 125 of file L1TComparison.cc.

References gather_cfg::cout, and edm::ParameterSet::getParameter().

125  {
126  tag_ = iConfig.getParameter<string>("tag");
127  egCheck_ = iConfig.getParameter<bool>("egCheck");
128  tauCheck_ = iConfig.getParameter<bool>("tauCheck");
129  jetCheck_ = iConfig.getParameter<bool>("jetCheck");
130  sumCheck_ = iConfig.getParameter<bool>("sumCheck");
131  muonCheck_ = iConfig.getParameter<bool>("muonCheck");
132  algCheck_ = iConfig.getParameter<bool>("algCheck");
133  bxZeroOnly_ = iConfig.getParameter<bool>("bxZeroOnly");
134 
135  cout << "L1T Summary for " << tag_ << "\n";
136  cout << "DEBUG: egCheck: " << egCheck_ << "\n";
137  cout << "DEBUG: tauCheck: " << tauCheck_ << "\n";
138  cout << "DEBUG: jetCheck: " << jetCheck_ << "\n";
139  cout << "DEBUG: sumCheck: " << sumCheck_ << "\n";
140  cout << "DEBUG: muonCheck: " << muonCheck_ << "\n";
141  cout << "DEBUG: algCheck: " << algCheck_ << "\n";
142 
143  if (egCheck_) {
144  egTokenA_ = consumes<EGammaBxCollection>(iConfig.getParameter<InputTag>("egTagA"));
145  }
146  if (tauCheck_) {
147  tauTokenA_ = consumes<TauBxCollection>(iConfig.getParameter<InputTag>("tauTagA"));
148  }
149  if (jetCheck_) {
150  jetTokenA_ = consumes<JetBxCollection>(iConfig.getParameter<InputTag>("jetTagA"));
151  }
152  if (sumCheck_) {
153  sumTokenA_ = consumes<EtSumBxCollection>(iConfig.getParameter<InputTag>("sumTagA"));
154  }
155  if (muonCheck_) {
156  muonTokenA_ = consumes<MuonBxCollection>(iConfig.getParameter<InputTag>("muonTagA"));
157  }
158  if (algCheck_) {
159  algTokenA_ = consumes<GlobalAlgBlkBxCollection>(iConfig.getParameter<InputTag>("algTagA"));
160  }
161 
162  if (egCheck_) {
163  egTokenB_ = consumes<EGammaBxCollection>(iConfig.getParameter<InputTag>("egTagB"));
164  }
165  if (tauCheck_) {
166  tauTokenB_ = consumes<TauBxCollection>(iConfig.getParameter<InputTag>("tauTagB"));
167  }
168  if (jetCheck_) {
169  jetTokenB_ = consumes<JetBxCollection>(iConfig.getParameter<InputTag>("jetTagB"));
170  }
171  if (sumCheck_) {
172  sumTokenB_ = consumes<EtSumBxCollection>(iConfig.getParameter<InputTag>("sumTagB"));
173  }
174  if (muonCheck_) {
175  muonTokenB_ = consumes<MuonBxCollection>(iConfig.getParameter<InputTag>("muonTagB"));
176  }
177  if (algCheck_) {
178  algTokenB_ = consumes<GlobalAlgBlkBxCollection>(iConfig.getParameter<InputTag>("algTagB"));
179  }
180 
181  egCount_ = 0;
182  tauCount_ = 0;
183  jetCount_ = 0;
184  sumCount_ = 0;
185  muonCount_ = 0;
186  algCount_ = 0;
187 
188  egFails_ = 0;
189  tauFails_ = 0;
190  jetFails_ = 0;
191  sumFails_ = 0;
192  muonFails_ = 0;
193  algFails_ = 0;
194 }
edm::EDGetTokenT< EGammaBxCollection > egTokenB_
edm::EDGetTokenT< MuonBxCollection > muonTokenA_
edm::EDGetTokenT< EGammaBxCollection > egTokenA_
edm::EDGetTokenT< MuonBxCollection > muonTokenB_
edm::EDGetTokenT< JetBxCollection > jetTokenA_
edm::EDGetTokenT< EtSumBxCollection > sumTokenB_
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
edm::EDGetTokenT< EtSumBxCollection > sumTokenA_
edm::EDGetTokenT< GlobalAlgBlkBxCollection > algTokenB_
edm::EDGetTokenT< JetBxCollection > jetTokenB_
edm::EDGetTokenT< TauBxCollection > tauTokenB_
edm::EDGetTokenT< TauBxCollection > tauTokenA_
edm::EDGetTokenT< GlobalAlgBlkBxCollection > algTokenA_
tuple cout
Definition: gather_cfg.py:144
L1TComparison::~L1TComparison ( )
override

Definition at line 196 of file L1TComparison.cc.

196 {}

Member Function Documentation

void L1TComparison::analyze ( Event const &  iEvent,
EventSetup const &  iSetup 
)
overrideprivatevirtual

Implements edm::EDAnalyzer.

Definition at line 198 of file L1TComparison.cc.

References compare_l1candidate(), gather_cfg::cout, edm::Event::getByToken(), edm::HandleBase::isValid(), L1Analysis::kMinBiasHFM1, L1Analysis::kMinBiasHFP0, and L1Analysis::kTotalEtEm.

198  {
199  cout << "L1TComparison Module output for " << tag_ << "\n";
200 
201  if (egCheck_) {
203  iEvent.getByToken(egTokenA_, XTMPA);
205  iEvent.getByToken(egTokenB_, XTMPB);
206 
207  if (!(XTMPA.isValid() && XTMPB.isValid())) {
208  LogWarning("MissingProduct") << "L1Upgrade e-gamma's not found." << std::endl;
209  } else {
210  for (int ibx = XTMPA->getFirstBX(); ibx <= XTMPA->getLastBX(); ++ibx) {
211  if (bxZeroOnly_ && (ibx != 0))
212  continue;
213  if (ibx < XTMPB->getFirstBX())
214  continue;
215  if (ibx > XTMPB->getLastBX())
216  continue;
217  int sizeA = XTMPA->size(ibx);
218  int sizeB = XTMPB->size(ibx);
219  if (sizeA != sizeB) {
220  cout << "L1T COMPARISON FAILURE: collections have different sizes for bx = " << ibx << "\n";
221  } else {
222  auto itB = XTMPB->begin(ibx);
223  for (auto itA = XTMPA->begin(ibx); itA != XTMPA->end(ibx); ++itA) {
224  bool fail = compare_l1candidate(*itA, *itB);
225  itB++;
226  if (!fail) {
227  egCount_++;
228  } else {
229  egFails_++;
230  }
231  }
232  }
233  }
234  }
235  }
236 
237  if (tauCheck_) {
239  iEvent.getByToken(tauTokenA_, XTMPA);
241  iEvent.getByToken(tauTokenB_, XTMPB);
242 
243  if (!(XTMPA.isValid() && XTMPB.isValid())) {
244  LogWarning("MissingProduct") << "L1Upgrade tau's not found." << std::endl;
245  } else {
246  for (int ibx = XTMPA->getFirstBX(); ibx <= XTMPA->getLastBX(); ++ibx) {
247  if (bxZeroOnly_ && (ibx != 0))
248  continue;
249  if (ibx < XTMPB->getFirstBX())
250  continue;
251  if (ibx > XTMPB->getLastBX())
252  continue;
253  int sizeA = XTMPA->size(ibx);
254  int sizeB = XTMPB->size(ibx);
255  if (sizeA != sizeB) {
256  cout << "L1T COMPARISON FAILURE: collections have different sizes for bx = " << ibx << "\n";
257  } else {
258  auto itB = XTMPB->begin(ibx);
259  for (auto itA = XTMPA->begin(ibx); itA != XTMPA->end(ibx); ++itA) {
260  bool fail = compare_l1candidate(*itA, *itB);
261  itB++;
262  if (!fail) {
263  tauCount_++;
264  } else {
265  tauFails_++;
266  }
267  }
268  }
269  }
270  }
271  }
272 
273  if (jetCheck_) {
275  iEvent.getByToken(jetTokenA_, XTMPA);
277  iEvent.getByToken(jetTokenB_, XTMPB);
278 
279  if (!(XTMPA.isValid() && XTMPB.isValid())) {
280  LogWarning("MissingProduct") << "L1Upgrade jet's not found." << std::endl;
281  } else {
282  for (int ibx = XTMPA->getFirstBX(); ibx <= XTMPA->getLastBX(); ++ibx) {
283  if (bxZeroOnly_ && (ibx != 0))
284  continue;
285  if (ibx < XTMPB->getFirstBX())
286  continue;
287  if (ibx > XTMPB->getLastBX())
288  continue;
289  int sizeA = XTMPA->size(ibx);
290  int sizeB = XTMPB->size(ibx);
291  if (sizeA != sizeB) {
292  cout << "L1T COMPARISON FAILURE: collections have different sizes for bx = " << ibx << "\n";
293  } else {
294  auto itB = XTMPB->begin(ibx);
295  for (auto itA = XTMPA->begin(ibx); itA != XTMPA->end(ibx); ++itA) {
296  bool fail = compare_l1candidate(*itA, *itB);
297  itB++;
298  if (!fail) {
299  jetCount_++;
300  } else {
301  jetFails_++;
302  }
303  }
304  }
305  }
306  }
307  }
308 
309  if (sumCheck_) {
311  iEvent.getByToken(sumTokenA_, XTMPA);
313  iEvent.getByToken(sumTokenB_, XTMPB);
314 
315  if (!(XTMPA.isValid() && XTMPB.isValid())) {
316  LogWarning("MissingProduct") << "L1Upgrade sum's not found." << std::endl;
317  } else {
318  for (int ibx = XTMPA->getFirstBX(); ibx <= XTMPA->getLastBX(); ++ibx) {
319  if (bxZeroOnly_ && (ibx != 0))
320  continue;
321  if (ibx < XTMPB->getFirstBX())
322  continue;
323  if (ibx > XTMPB->getLastBX())
324  continue;
325  int sizeA = XTMPA->size(ibx);
326  int sizeB = XTMPB->size(ibx);
327 
328  if (sizeA != sizeB) {
329  cout << "L1T COMPARISON WARNING: sums collections have different sizes for bx = " << ibx << "\n";
330  cout << "L1T COMPARISON WARNING: sums collections A size = " << sizeA
331  << " sums collection B size = " << sizeB << "\n";
332  cout << "L1T COMPARISON WARNING: known issue because packer has not been udpated for Minbias\n";
333  }
334  for (auto itA = XTMPA->begin(ibx); itA != XTMPA->end(ibx); ++itA) {
335  cout << "L1T COMPARISON : EtSum type: A = " << itA->getType() << "\n";
336  }
337  for (auto itB = XTMPB->begin(ibx); itB != XTMPB->end(ibx); ++itB) {
338  cout << "L1T COMPARISON : EtSum type: B = " << itB->getType() << "\n";
339  }
340 
341  // temp workaround for sums not packed...
342  if (sizeA > sizeB)
343  sizeA = sizeB;
344  if (sizeB > sizeA)
345  sizeB = sizeA;
346 
347  if (sizeA != sizeB) {
348  cout << "L1T COMPARISON FAILURE: collections have different sizes for bx = " << ibx << "\n";
349  } else {
350  auto itB = XTMPB->begin(ibx);
351  for (auto itA = XTMPA->begin(ibx); itA != XTMPA->end(ibx); ++itA) {
352  cout << "L1T COMPARISON : EtSum type: A = " << itA->getType() << " vs B = " << itB->getType() << "\n";
353  if (itA->getType() != itB->getType()) {
354  cout << "L1T COMPARISON FAILURE: Different types .... EtSum type:" << itA->getType() << " vs "
355  << itB->getType() << "\n";
356  }
357  if (itA->getType() == EtSum::kTotalEtEm)
358  cout << "L1T COMPARISON WARNING: (known issue) sum of type " << itA->getType()
359  << " when emulated has a dummy value (pending proper emulation)"
360  << "\n";
361  if (itA->getType() < EtSum::kMinBiasHFP0 || itA->getType() > EtSum::kMinBiasHFM1) {
362  bool fail = compare_l1candidate(*itA, *itB);
363  if (fail) {
364  cout << "L1T COMPARISON FAILURE: for type " << itA->getType() << "\n";
365  }
366  if (!fail) {
367  sumCount_++;
368  } else {
369  sumFails_++;
370  }
371  } else {
372  cout << "L1T COMPARISON WARNING: (known issue) not checking sum of type " << itA->getType() << "\n";
373  }
374  itB++;
375  }
376  }
377  }
378  }
379  }
380 
381  if (muonCheck_) {
383  iEvent.getByToken(muonTokenA_, XTMPA);
385  iEvent.getByToken(muonTokenB_, XTMPB);
386 
387  if (!(XTMPA.isValid() && XTMPB.isValid())) {
388  LogWarning("MissingProduct") << "L1Upgrade muon's not found." << std::endl;
389  } else {
390  for (int ibx = XTMPA->getFirstBX(); ibx <= XTMPA->getLastBX(); ++ibx) {
391  if (bxZeroOnly_ && (ibx != 0))
392  continue;
393  if (ibx < XTMPB->getFirstBX())
394  continue;
395  if (ibx > XTMPB->getLastBX())
396  continue;
397  int sizeA = XTMPA->size(ibx);
398  int sizeB = XTMPB->size(ibx);
399  if (sizeA != sizeB) {
400  cout << "L1T COMPARISON FAILURE: collections have different sizes for bx = " << ibx << "\n";
401  } else {
402  auto itB = XTMPB->begin(ibx);
403  for (auto itA = XTMPA->begin(ibx); itA != XTMPA->end(ibx); ++itA) {
404  bool fail = compare_l1candidate(*itA, *itB);
405  itB++;
406  if (!fail) {
407  muonCount_++;
408  } else {
409  muonFails_++;
410  }
411  }
412  }
413  }
414  }
415  }
416 }
edm::EDGetTokenT< EGammaBxCollection > egTokenB_
edm::EDGetTokenT< MuonBxCollection > muonTokenA_
static bool compare_l1candidate(const L1Candidate &a, const L1Candidate &b, int verbose=1)
edm::EDGetTokenT< EGammaBxCollection > egTokenA_
int iEvent
Definition: GenABIO.cc:224
edm::EDGetTokenT< MuonBxCollection > muonTokenB_
edm::EDGetTokenT< JetBxCollection > jetTokenA_
edm::EDGetTokenT< EtSumBxCollection > sumTokenB_
bool isValid() const
Definition: HandleBase.h:70
edm::EDGetTokenT< EtSumBxCollection > sumTokenA_
edm::EDGetTokenT< JetBxCollection > jetTokenB_
edm::EDGetTokenT< TauBxCollection > tauTokenB_
edm::EDGetTokenT< TauBxCollection > tauTokenA_
tuple cout
Definition: gather_cfg.py:144
Log< level::Warning, false > LogWarning
void L1TComparison::beginJob ( void  )
overrideprivatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 418 of file L1TComparison.cc.

References gather_cfg::cout.

418 { cout << "INFO: L1TComparison module beginJob called.\n"; }
tuple cout
Definition: gather_cfg.py:144
void L1TComparison::beginLuminosityBlock ( LuminosityBlock const &  ,
EventSetup const &   
)
overrideprivatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 468 of file L1TComparison.cc.

468 {}
void L1TComparison::beginRun ( Run const &  run,
EventSetup const &  iSetup 
)
overrideprivatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 464 of file L1TComparison.cc.

464 {}
void L1TComparison::endJob ( void  )
overrideprivatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 420 of file L1TComparison.cc.

References gather_cfg::cout.

420  {
421  cout << "INFO: L1T Comparison for " << tag_ << "\n";
422  cout << "INFO: count of successful comparison for each type follows:\n";
423  if (egCheck_)
424  cout << "eg: " << egCount_ << "\n";
425  if (tauCheck_)
426  cout << "tau: " << tauCount_ << "\n";
427  if (jetCheck_)
428  cout << "jet: " << jetCount_ << "\n";
429  if (sumCheck_)
430  cout << "sum: " << sumCount_ << "\n";
431  if (muonCheck_)
432  cout << "muon: " << muonCount_ << "\n";
433  cout << "INFO: count of failed comparison for each type follows:\n";
434  if (egCheck_)
435  cout << "eg: " << egFails_ << "\n";
436  if (tauCheck_)
437  cout << "tau: " << tauFails_ << "\n";
438  if (jetCheck_)
439  cout << "jet: " << jetFails_ << "\n";
440  if (sumCheck_)
441  cout << "sum: " << sumFails_ << "\n";
442  if (muonCheck_)
443  cout << "muon: " << muonFails_ << "\n";
444 
445  int fail = 0;
446  if (egCheck_ && ((egFails_ > 0) || (egCount_ <= 0)))
447  fail = 1;
448  if (tauCheck_ && ((tauFails_ > 0) || (tauCount_ <= 0)))
449  fail = 1;
450  if (jetCheck_ && ((jetFails_ > 0) || (jetCount_ <= 0)))
451  fail = 1;
452  if (sumCheck_ && ((sumFails_ > 0) || (sumCount_ <= 0)))
453  fail = 1;
454  if (muonCheck_ && ((muonFails_ > 0) || (muonCount_ <= 0)))
455  fail = 1;
456 
457  if (fail) {
458  cout << "SUMMARY: L1T Comparison for " << tag_ << " was FAILURE\n";
459  } else {
460  cout << "SUMMARY: L1T Comparison for " << tag_ << " was SUCCESS\n";
461  }
462 }
tuple cout
Definition: gather_cfg.py:144
void L1TComparison::endLuminosityBlock ( LuminosityBlock const &  ,
EventSetup const &   
)
overrideprivatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 470 of file L1TComparison.cc.

470 {}
void L1TComparison::endRun ( Run const &  ,
EventSetup const &   
)
overrideprivatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 466 of file L1TComparison.cc.

466 {}
void L1TComparison::fillDescriptions ( ConfigurationDescriptions descriptions)
static

Definition at line 472 of file L1TComparison.cc.

References edm::ConfigurationDescriptions::addDefault(), submitPVResolutionJobs::desc, and edm::ParameterSetDescription::setUnknown().

472  {
473  //The following says we do not know what parameters are allowed so do no validation
474  // Please change this to state exactly what you do use, even if it is no parameters
476  desc.setUnknown();
477  descriptions.addDefault(desc);
478 }
void addDefault(ParameterSetDescription const &psetDescription)

Member Data Documentation

bool L1TComparison::algCheck_
private

Definition at line 91 of file L1TComparison.cc.

int L1TComparison::algCount_
private

Definition at line 115 of file L1TComparison.cc.

int L1TComparison::algFails_
private

Definition at line 122 of file L1TComparison.cc.

edm::EDGetTokenT<GlobalAlgBlkBxCollection> L1TComparison::algTokenA_
private

Definition at line 100 of file L1TComparison.cc.

edm::EDGetTokenT<GlobalAlgBlkBxCollection> L1TComparison::algTokenB_
private

Definition at line 107 of file L1TComparison.cc.

bool L1TComparison::bxZeroOnly_
private

Definition at line 92 of file L1TComparison.cc.

bool L1TComparison::egCheck_
private

Definition at line 86 of file L1TComparison.cc.

int L1TComparison::egCount_
private

Definition at line 110 of file L1TComparison.cc.

int L1TComparison::egFails_
private

Definition at line 117 of file L1TComparison.cc.

edm::EDGetTokenT<EGammaBxCollection> L1TComparison::egTokenA_
private

Definition at line 95 of file L1TComparison.cc.

edm::EDGetTokenT<EGammaBxCollection> L1TComparison::egTokenB_
private

Definition at line 102 of file L1TComparison.cc.

bool L1TComparison::jetCheck_
private

Definition at line 88 of file L1TComparison.cc.

int L1TComparison::jetCount_
private

Definition at line 112 of file L1TComparison.cc.

int L1TComparison::jetFails_
private

Definition at line 119 of file L1TComparison.cc.

edm::EDGetTokenT<JetBxCollection> L1TComparison::jetTokenA_
private

Definition at line 97 of file L1TComparison.cc.

edm::EDGetTokenT<JetBxCollection> L1TComparison::jetTokenB_
private

Definition at line 104 of file L1TComparison.cc.

bool L1TComparison::muonCheck_
private

Definition at line 90 of file L1TComparison.cc.

int L1TComparison::muonCount_
private

Definition at line 114 of file L1TComparison.cc.

int L1TComparison::muonFails_
private

Definition at line 121 of file L1TComparison.cc.

edm::EDGetTokenT<MuonBxCollection> L1TComparison::muonTokenA_
private

Definition at line 99 of file L1TComparison.cc.

edm::EDGetTokenT<MuonBxCollection> L1TComparison::muonTokenB_
private

Definition at line 106 of file L1TComparison.cc.

bool L1TComparison::sumCheck_
private

Definition at line 89 of file L1TComparison.cc.

int L1TComparison::sumCount_
private

Definition at line 113 of file L1TComparison.cc.

int L1TComparison::sumFails_
private

Definition at line 120 of file L1TComparison.cc.

edm::EDGetTokenT<EtSumBxCollection> L1TComparison::sumTokenA_
private

Definition at line 98 of file L1TComparison.cc.

edm::EDGetTokenT<EtSumBxCollection> L1TComparison::sumTokenB_
private

Definition at line 105 of file L1TComparison.cc.

string L1TComparison::tag_
private

Definition at line 83 of file L1TComparison.cc.

bool L1TComparison::tauCheck_
private

Definition at line 87 of file L1TComparison.cc.

int L1TComparison::tauCount_
private

Definition at line 111 of file L1TComparison.cc.

int L1TComparison::tauFails_
private

Definition at line 118 of file L1TComparison.cc.

edm::EDGetTokenT<TauBxCollection> L1TComparison::tauTokenA_
private

Definition at line 96 of file L1TComparison.cc.

edm::EDGetTokenT<TauBxCollection> L1TComparison::tauTokenB_
private

Definition at line 103 of file L1TComparison.cc.