CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
L1TdeCSCTPGShower Class Reference

#include <L1TdeCSCTPGShower.h>

Inheritance diagram for L1TdeCSCTPGShower:
DQMEDAnalyzer edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >

Public Member Functions

 L1TdeCSCTPGShower (const edm::ParameterSet &ps)
 
 ~L1TdeCSCTPGShower () override
 
- Public Member Functions inherited from DQMEDAnalyzer
void accumulate (edm::Event const &event, edm::EventSetup const &setup) final
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
void beginStream (edm::StreamID id) final
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 DQMEDAnalyzer ()
 
void endLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &run, edm::EventSetup const &setup) final
 
virtual bool getCanSaveByLumi ()
 
- Public Member Functions inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
 EDProducer ()=default
 
 EDProducer (const EDProducer &)=delete
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
const EDProduceroperator= (const EDProducer &)=delete
 

Protected Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void bookHistograms (DQMStore::IBooker &, const edm::Run &, const edm::EventSetup &) override
 
- Protected Member Functions inherited from DQMEDAnalyzer
uint64_t meId () const
 

Private Member Functions

bool areSameShowers (const CSCShowerDigi &lhs, const CSCShowerDigi &rhs) const
 

Private Attributes

MonitorElementalctShowerDataNomSummary_denom_
 
MonitorElementalctShowerDataNomSummary_num_
 
MonitorElementalctShowerDataTightSummary_denom_
 
MonitorElementalctShowerDataTightSummary_num_
 
MonitorElementalctShowerEmulNomSummary_denom_
 
MonitorElementalctShowerEmulNomSummary_num_
 
MonitorElementalctShowerEmulTightSummary_denom_
 
MonitorElementalctShowerEmulTightSummary_num_
 
MonitorElementclctShowerDataNomSummary_denom_
 
MonitorElementclctShowerDataNomSummary_num_
 
MonitorElementclctShowerDataTightSummary_denom_
 
MonitorElementclctShowerDataTightSummary_num_
 
MonitorElementclctShowerEmulNomSummary_denom_
 
MonitorElementclctShowerEmulNomSummary_num_
 
MonitorElementclctShowerEmulTightSummary_denom_
 
MonitorElementclctShowerEmulTightSummary_num_
 
edm::EDGetTokenT< CSCShowerDigiCollectiondataALCTShower_token_
 
edm::EDGetTokenT< CSCShowerDigiCollectiondataCLCTShower_token_
 
edm::EDGetTokenT< CSCShowerDigiCollectiondataLCTShower_token_
 
edm::EDGetTokenT< CSCShowerDigiCollectionemulALCTShower_token_
 
edm::EDGetTokenT< CSCShowerDigiCollectionemulCLCTShower_token_
 
edm::EDGetTokenT< CSCShowerDigiCollectionemulLCTShower_token_
 
MonitorElementlctShowerDataNomSummary_denom_
 
MonitorElementlctShowerDataNomSummary_num_
 
MonitorElementlctShowerDataTightSummary_denom_
 
MonitorElementlctShowerDataTightSummary_num_
 
MonitorElementlctShowerEmulNomSummary_denom_
 
MonitorElementlctShowerEmulNomSummary_num_
 
MonitorElementlctShowerEmulTightSummary_denom_
 
MonitorElementlctShowerEmulTightSummary_num_
 
std::string monitorDir_
 

Additional Inherited Members

- Public Types inherited from DQMEDAnalyzer
typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- Public Types inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
using CacheTypes = CacheContexts< T... >
 
using GlobalCache = typename CacheTypes::GlobalCache
 
using HasAbility = AbilityChecker< T... >
 
using InputProcessBlockCache = typename CacheTypes::InputProcessBlockCache
 
using LuminosityBlockCache = typename CacheTypes::LuminosityBlockCache
 
using LuminosityBlockContext = LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCache >
 
using LuminosityBlockSummaryCache = typename CacheTypes::LuminosityBlockSummaryCache
 
using RunCache = typename CacheTypes::RunCache
 
using RunContext = RunContextT< RunCache, GlobalCache >
 
using RunSummaryCache = typename CacheTypes::RunSummaryCache
 
- Static Public Member Functions inherited from DQMEDAnalyzer
static void globalEndJob (DQMEDAnalyzerGlobalCache const *)
 
static void globalEndLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup, LuminosityBlockContext const *context)
 
static void globalEndRunProduce (edm::Run &run, edm::EventSetup const &setup, RunContext const *context)
 
static std::unique_ptr< DQMEDAnalyzerGlobalCacheinitializeGlobalCache (edm::ParameterSet const &)
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 
unsigned int streamId_
 

Detailed Description

Definition at line 13 of file L1TdeCSCTPGShower.h.

Constructor & Destructor Documentation

◆ L1TdeCSCTPGShower()

L1TdeCSCTPGShower::L1TdeCSCTPGShower ( const edm::ParameterSet ps)

Definition at line 6 of file L1TdeCSCTPGShower.cc.

7  : dataALCTShower_token_(consumes<CSCShowerDigiCollection>(ps.getParameter<edm::InputTag>("dataALCTShower"))),
8  emulALCTShower_token_(consumes<CSCShowerDigiCollection>(ps.getParameter<edm::InputTag>("emulALCTShower"))),
9  dataCLCTShower_token_(consumes<CSCShowerDigiCollection>(ps.getParameter<edm::InputTag>("dataCLCTShower"))),
10  emulCLCTShower_token_(consumes<CSCShowerDigiCollection>(ps.getParameter<edm::InputTag>("emulCLCTShower"))),
11  dataLCTShower_token_(consumes<CSCShowerDigiCollection>(ps.getParameter<edm::InputTag>("dataLCTShower"))),
12  emulLCTShower_token_(consumes<CSCShowerDigiCollection>(ps.getParameter<edm::InputTag>("emulLCTShower"))),
13  monitorDir_(ps.getUntrackedParameter<std::string>("monitorDir")) {}
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
edm::EDGetTokenT< CSCShowerDigiCollection > dataLCTShower_token_
edm::EDGetTokenT< CSCShowerDigiCollection > dataCLCTShower_token_
edm::EDGetTokenT< CSCShowerDigiCollection > emulCLCTShower_token_
T getUntrackedParameter(std::string const &, T const &) const
edm::EDGetTokenT< CSCShowerDigiCollection > emulALCTShower_token_
std::string monitorDir_
edm::EDGetTokenT< CSCShowerDigiCollection > dataALCTShower_token_
edm::EDGetTokenT< CSCShowerDigiCollection > emulLCTShower_token_

◆ ~L1TdeCSCTPGShower()

L1TdeCSCTPGShower::~L1TdeCSCTPGShower ( )
override

Definition at line 15 of file L1TdeCSCTPGShower.cc.

15 {}

Member Function Documentation

◆ analyze()

void L1TdeCSCTPGShower::analyze ( const edm::Event e,
const edm::EventSetup c 
)
overrideprotectedvirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 193 of file L1TdeCSCTPGShower.cc.

References alctShowerDataNomSummary_denom_, alctShowerDataNomSummary_num_, alctShowerDataTightSummary_denom_, alctShowerDataTightSummary_num_, alctShowerEmulNomSummary_denom_, alctShowerEmulNomSummary_num_, alctShowerEmulTightSummary_denom_, alctShowerEmulTightSummary_num_, areSameShowers(), relativeConstraints::cham, relativeConstraints::chamber, CSCDetId::chamber(), CSCTriggerNumbering::chamberFromTriggerLabels(), clctShowerDataNomSummary_denom_, clctShowerDataNomSummary_num_, clctShowerDataTightSummary_denom_, clctShowerDataTightSummary_num_, clctShowerEmulNomSummary_denom_, clctShowerEmulNomSummary_num_, clctShowerEmulTightSummary_denom_, clctShowerEmulTightSummary_num_, dataALCTShower_token_, dataCLCTShower_token_, dataLCTShower_token_, MillePedeFileConverter_cfg::e, emulALCTShower_token_, emulCLCTShower_token_, emulLCTShower_token_, dqm::impl::MonitorElement::Fill(), MuonDigiCollection< IndexType, DigiType >::get(), trackerHitRTTI::isMatched(), lctShowerDataNomSummary_denom_, lctShowerDataNomSummary_num_, lctShowerDataTightSummary_denom_, lctShowerDataTightSummary_num_, lctShowerEmulNomSummary_denom_, lctShowerEmulNomSummary_num_, lctShowerEmulTightSummary_denom_, lctShowerEmulTightSummary_num_, CSCDetId::maxEndcapId(), CSCDetId::maxStationId(), CSCTriggerNumbering::maxTriggerCscId(), CSCTriggerNumbering::maxTriggerSectorId(), CSCTriggerNumbering::maxTriggerSubSectorId(), CSCDetId::minEndcapId(), CSCDetId::minStationId(), CSCTriggerNumbering::minTriggerCscId(), CSCTriggerNumbering::minTriggerSectorId(), CSCTriggerNumbering::minTriggerSubSectorId(), or, relativeConstraints::ring, CSCTriggerNumbering::ringFromTriggerLabels(), and edm_modernize_messagelogger::stat.

193  {
194  // handles
201 
202  e.getByToken(dataALCTShower_token_, dataALCTshs);
203  e.getByToken(emulALCTShower_token_, emulALCTshs);
204  e.getByToken(dataCLCTShower_token_, dataCLCTshs);
205  e.getByToken(emulCLCTShower_token_, emulCLCTshs);
206  e.getByToken(dataLCTShower_token_, dataLCTshs);
207  e.getByToken(emulLCTShower_token_, emulLCTshs);
208 
209  const std::map<std::pair<int, int>, int> histIndexCSC = {{{1, 1}, 8},
210  {{1, 2}, 7},
211  {{1, 3}, 6},
212  {{2, 1}, 5},
213  {{2, 2}, 4},
214  {{3, 1}, 3},
215  {{3, 2}, 2},
216  {{4, 1}, 1},
217  {{4, 2}, 0}};
218 
219  const int min_endcap = CSCDetId::minEndcapId();
220  const int max_endcap = CSCDetId::maxEndcapId();
221  const int min_station = CSCDetId::minStationId();
222  const int max_station = CSCDetId::maxStationId();
223  const int min_sector = CSCTriggerNumbering::minTriggerSectorId();
224  const int max_sector = CSCTriggerNumbering::maxTriggerSectorId();
225  const int min_subsector = CSCTriggerNumbering::minTriggerSubSectorId();
226  const int max_subsector = CSCTriggerNumbering::maxTriggerSubSectorId();
227  const int min_chamber = CSCTriggerNumbering::minTriggerCscId();
228  const int max_chamber = CSCTriggerNumbering::maxTriggerCscId();
229 
230  for (int endc = min_endcap; endc <= max_endcap; endc++) {
231  // loop on all stations
232  for (int stat = min_station; stat <= max_station; stat++) {
233  int numsubs = ((stat == 1) ? max_subsector : 1);
234  // loop on sectors and subsectors
235  for (int sect = min_sector; sect <= max_sector; sect++) {
236  for (int subs = min_subsector; subs <= numsubs; subs++) {
237  // loop on all chambers
238  for (int cham = min_chamber; cham <= max_chamber; cham++) {
239  // extract the ring number
241 
242  // actual chamber number =/= trigger chamber number
244 
245  // 0th layer means whole chamber.
246  CSCDetId detid(endc, stat, ring, chid, 0);
247 
248  int chamber = detid.chamber();
249 
250  int sr = histIndexCSC.at({stat, ring});
251  if (endc == 1)
252  sr = 17 - sr;
253  bool chamber20 = (sr == 1 or sr == 3 or sr == 5 or sr == 12 or sr == 14 or sr == 16);
254 
255  // ALCT analysis
256  auto range_dataALCT = dataALCTshs->get(detid);
257  auto range_emulALCT = emulALCTshs->get(detid);
258 
259  for (auto dalct = range_dataALCT.first; dalct != range_dataALCT.second; dalct++) {
260  if (dalct->isValid() and dalct->isNominalInTime()) {
261  if (dalct->isTightInTime()) {
262  if (chamber20) {
265  } else
267  }
268  if (chamber20) {
269  alctShowerDataNomSummary_denom_->Fill(chamber * 2 - 1, sr, 0.5);
271  } else
273  // check for least one matching ALCT
274  for (auto ealct = range_emulALCT.first; ealct != range_emulALCT.second; ealct++) {
275  if (ealct->isValid() and areSameShowers(*dalct, *ealct)) {
276  if (dalct->isTightInTime()) {
277  if (chamber20) {
278  alctShowerDataTightSummary_num_->Fill(chamber * 2 - 1, sr, 0.5);
280  } else
282  }
283  if (chamber20) {
284  alctShowerDataNomSummary_num_->Fill(chamber * 2 - 1, sr, 0.5);
286  } else
288  }
289  }
290  }
291  } // End of for (auto dalct = range_dataALCT.first; dalct != range_dataALCT.second; dalct++)
292 
293  for (auto ealct = range_emulALCT.first; ealct != range_emulALCT.second; ealct++) {
294  bool isMatched = false;
295  if (ealct->isValid() and ealct->isNominalInTime()) {
296  if (ealct->isTightInTime()) {
297  if (chamber20) {
300  } else
302  }
303  if (chamber20) {
304  alctShowerEmulNomSummary_denom_->Fill(chamber * 2 - 1, sr, 0.5);
306  } else
308  // check for least one matching ALCT
309  for (auto dalct = range_dataALCT.first; dalct != range_dataALCT.second; dalct++) {
310  if (areSameShowers(*dalct, *ealct))
311  isMatched = true;
312  }
313  // only fill when it is not matched to an ALCT
314  // to understand if the emulator is producing too many ALCTs
315  if (!isMatched) {
316  if (ealct->isTightInTime()) {
317  if (chamber20) {
318  alctShowerEmulTightSummary_num_->Fill(chamber * 2 - 1, sr, 0.5);
320  } else
322  }
323  if (chamber20) {
324  alctShowerEmulNomSummary_num_->Fill(chamber * 2 - 1, sr, 0.5);
326  } else
328  }
329  }
330  } // End of for (auto ealct = range_emulALCT.first; ealct != range_emulALCT.second; ealct++)
331 
332  // CLCT analysis
333  auto range_dataCLCT = dataCLCTshs->get(detid);
334  auto range_emulCLCT = emulCLCTshs->get(detid);
335 
336  for (auto dclct = range_dataCLCT.first; dclct != range_dataCLCT.second; dclct++) {
337  if (dclct->isValid() and dclct->isNominalInTime()) {
338  if (dclct->isTightInTime()) {
339  if (chamber20) {
342  } else
344  }
345  if (chamber20) {
346  clctShowerDataNomSummary_denom_->Fill(chamber * 2 - 1, sr, 0.5);
348  } else
350  // check for least one matching CLCT
351  for (auto eclct = range_emulCLCT.first; eclct != range_emulCLCT.second; eclct++) {
352  if (eclct->isValid() and areSameShowers(*dclct, *eclct)) {
353  if (dclct->isTightInTime()) {
354  if (chamber20) {
355  clctShowerDataTightSummary_num_->Fill(chamber * 2 - 1, sr, 0.5);
357  } else
359  }
360  if (chamber20) {
361  clctShowerDataNomSummary_num_->Fill(chamber * 2 - 1, sr, 0.5);
363  } else
365  }
366  }
367  }
368  } // End of for (auto dclct = range_dataCLCT.first; dclct != range_dataCLCT.second; dclct++)
369 
370  for (auto eclct = range_emulCLCT.first; eclct != range_emulCLCT.second; eclct++) {
371  bool isMatched = false;
372  if (eclct->isValid() and eclct->isNominalInTime()) {
373  if (eclct->isTightInTime()) {
374  if (chamber20) {
377  } else
379  }
380  if (chamber20) {
381  clctShowerEmulNomSummary_denom_->Fill(chamber * 2 - 1, sr, 0.5);
383  } else
385  // check for least one matching CLCT
386  for (auto dclct = range_dataCLCT.first; dclct != range_dataCLCT.second; dclct++) {
387  if (areSameShowers(*dclct, *eclct))
388  isMatched = true;
389  }
390  // only fill when it is not matched to an CLCT
391  // to understand if the emulator is producing too many CLCTs
392  if (!isMatched) {
393  if (eclct->isTightInTime()) {
394  if (chamber20) {
395  clctShowerEmulTightSummary_num_->Fill(chamber * 2 - 1, sr, 0.5);
397  } else
399  }
400  if (chamber20) {
401  clctShowerEmulNomSummary_num_->Fill(chamber * 2 - 1, sr, 0.5);
403  } else
405  }
406  }
407  } // End of for (auto eclct = range_emulCLCT.first; eclct != range_emulCLCT.second; eclct++)
408 
409  // LCT analysis
410  auto range_dataLCT = dataLCTshs->get(detid);
411  auto range_emulLCT = emulLCTshs->get(detid);
412 
413  for (auto dlct = range_dataLCT.first; dlct != range_dataLCT.second; dlct++) {
414  if (dlct->isValid() and dlct->isNominalInTime()) {
415  if (dlct->isTightInTime()) {
416  if (chamber20) {
417  lctShowerDataTightSummary_denom_->Fill(chamber * 2 - 1, sr, 0.5);
419  } else
421  }
422  if (chamber20) {
423  lctShowerDataNomSummary_denom_->Fill(chamber * 2 - 1, sr, 0.5);
425  } else
427  // check for least one matching LCT
428  for (auto elct = range_emulLCT.first; elct != range_emulLCT.second; elct++) {
429  if (elct->isValid() and areSameShowers(*dlct, *elct)) {
430  if (dlct->isTightInTime()) {
431  if (chamber20) {
432  lctShowerDataTightSummary_num_->Fill(chamber * 2 - 1, sr, 0.5);
434  } else
436  }
437  if (chamber20) {
438  lctShowerDataNomSummary_num_->Fill(chamber * 2 - 1, sr, 0.5);
440  } else
442  }
443  }
444  }
445  } // End of for (auto dlct = range_dataLCT.first; dlct != range_dataLCT.second; dlct++)
446 
447  for (auto elct = range_emulLCT.first; elct != range_emulLCT.second; elct++) {
448  bool isMatched = false;
449  if (elct->isValid() and elct->isNominalInTime()) {
450  if (elct->isTightInTime()) {
451  if (chamber20) {
452  lctShowerEmulTightSummary_denom_->Fill(chamber * 2 - 1, sr, 0.5);
454  } else
456  }
457  if (chamber20) {
458  lctShowerEmulNomSummary_denom_->Fill(chamber * 2 - 1, sr, 0.5);
460  } else
462  // check for least one matching LCT
463  for (auto dlct = range_dataLCT.first; dlct != range_dataLCT.second; dlct++) {
464  if (areSameShowers(*dlct, *elct))
465  isMatched = true;
466  }
467  // only fill when it is not matched to an LCT
468  // to understand if the emulator is producing too many LCTs
469  if (!isMatched) {
470  if (elct->isTightInTime()) {
471  if (chamber20) {
472  lctShowerEmulTightSummary_num_->Fill(chamber * 2 - 1, sr, 0.5);
474  } else
476  }
477  if (chamber20) {
478  lctShowerEmulNomSummary_num_->Fill(chamber * 2 - 1, sr, 0.5);
480  } else
482  }
483  }
484  } // End of for (auto elct = range_emulLCT.first; elct != range_emulLCT.second; elct++) {
485  }
486  }
487  }
488  }
489  }
490 }
MonitorElement * lctShowerEmulNomSummary_num_
MonitorElement * lctShowerEmulNomSummary_denom_
MonitorElement * alctShowerDataNomSummary_num_
static int minEndcapId()
Definition: CSCDetId.h:234
MonitorElement * clctShowerDataNomSummary_num_
MonitorElement * clctShowerDataTightSummary_denom_
edm::EDGetTokenT< CSCShowerDigiCollection > dataLCTShower_token_
static int maxTriggerSectorId()
edm::EDGetTokenT< CSCShowerDigiCollection > dataCLCTShower_token_
edm::EDGetTokenT< CSCShowerDigiCollection > emulCLCTShower_token_
static int maxStationId()
Definition: CSCDetId.h:237
static int minTriggerSectorId()
static int ringFromTriggerLabels(int station, int triggerCSCID)
void Fill(long long x)
MonitorElement * lctShowerDataTightSummary_num_
MonitorElement * lctShowerEmulTightSummary_num_
static int minStationId()
Definition: CSCDetId.h:236
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventID const &, edm::Timestamp const & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
Definition: Activities.doc:12
static int maxEndcapId()
Definition: CSCDetId.h:235
MonitorElement * alctShowerEmulNomSummary_denom_
MonitorElement * alctShowerDataTightSummary_denom_
Range get(const IndexType &index) const
return the digis for a given DetUnit
bool isMatched(TrackingRecHit const &hit)
MonitorElement * lctShowerEmulTightSummary_denom_
MonitorElement * clctShowerDataNomSummary_denom_
edm::EDGetTokenT< CSCShowerDigiCollection > emulALCTShower_token_
MonitorElement * alctShowerEmulNomSummary_num_
MonitorElement * alctShowerDataTightSummary_num_
MonitorElement * clctShowerEmulTightSummary_denom_
MonitorElement * alctShowerEmulTightSummary_num_
static int minTriggerSubSectorId()
bool areSameShowers(const CSCShowerDigi &lhs, const CSCShowerDigi &rhs) const
MonitorElement * clctShowerEmulNomSummary_num_
MonitorElement * clctShowerEmulNomSummary_denom_
MonitorElement * lctShowerDataTightSummary_denom_
edm::EDGetTokenT< CSCShowerDigiCollection > dataALCTShower_token_
MonitorElement * alctShowerDataNomSummary_denom_
MonitorElement * lctShowerDataNomSummary_num_
MonitorElement * lctShowerDataNomSummary_denom_
edm::EDGetTokenT< CSCShowerDigiCollection > emulLCTShower_token_
MonitorElement * clctShowerDataTightSummary_num_
MonitorElement * clctShowerEmulTightSummary_num_
MonitorElement * alctShowerEmulTightSummary_denom_
static int chamberFromTriggerLabels(int TriggerSector, int TriggerSubSector, int station, int TriggerCSCID)
static int maxTriggerSubSectorId()

◆ areSameShowers()

bool L1TdeCSCTPGShower::areSameShowers ( const CSCShowerDigi lhs,
const CSCShowerDigi rhs 
) const
private

Definition at line 492 of file L1TdeCSCTPGShower.cc.

References CSCShowerDigi::bitsInTime(), CSCShowerDigi::bitsOutOfTime(), CSCShowerDigi::getCSCID(), and CSCShowerDigi::isValid().

Referenced by analyze().

492  {
493  bool returnValue = false;
494  if (lhs.isValid() == rhs.isValid() && lhs.getCSCID() == rhs.getCSCID() && lhs.bitsInTime() == rhs.bitsInTime() &&
495  lhs.bitsOutOfTime() == rhs.bitsOutOfTime()) {
496  returnValue = true;
497  }
498  return returnValue;
499 }
bool isValid() const
data
uint16_t bitsOutOfTime() const
Definition: CSCShowerDigi.h:33
uint16_t getCSCID() const
Definition: CSCShowerDigi.h:35
uint16_t bitsInTime() const
Definition: CSCShowerDigi.h:32

◆ bookHistograms()

void L1TdeCSCTPGShower::bookHistograms ( DQMStore::IBooker iBooker,
const edm::Run ,
const edm::EventSetup  
)
overrideprotectedvirtual

Implements DQMEDAnalyzer.

Definition at line 17 of file L1TdeCSCTPGShower.cc.

References alctShowerDataNomSummary_denom_, alctShowerDataNomSummary_num_, alctShowerDataTightSummary_denom_, alctShowerDataTightSummary_num_, alctShowerEmulNomSummary_denom_, alctShowerEmulNomSummary_num_, alctShowerEmulTightSummary_denom_, alctShowerEmulTightSummary_num_, dqm::implementation::IBooker::book2D(), clctShowerDataNomSummary_denom_, clctShowerDataNomSummary_num_, clctShowerDataTightSummary_denom_, clctShowerDataTightSummary_num_, clctShowerEmulNomSummary_denom_, clctShowerEmulNomSummary_num_, clctShowerEmulTightSummary_denom_, clctShowerEmulTightSummary_num_, lctShowerDataNomSummary_denom_, lctShowerDataNomSummary_num_, lctShowerDataTightSummary_denom_, lctShowerDataTightSummary_num_, lctShowerEmulNomSummary_denom_, lctShowerEmulNomSummary_num_, lctShowerEmulTightSummary_denom_, lctShowerEmulTightSummary_num_, monitorDir_, dqm::impl::MonitorElement::setAxisTitle(), dqm::impl::MonitorElement::setBinLabel(), dqm::implementation::NavigatorBase::setCurrentFolder(), and dqm::impl::MonitorElement::setOption().

17  {
19 
20  // 2D summary plots
22  iBooker.book2D("lct_cscshower_data_nom_summary_denom", "Data LCT Nominal Shower All", 36, 1, 37, 18, 0, 18);
24  "lct_cscshower_data_nom_summary_num", "Data LCT Nominal Shower Emul Matched", 36, 1, 37, 18, 0, 18);
26  iBooker.book2D("alct_cscshower_data_nom_summary_denom", "Data ALCT Nominal Shower All", 36, 1, 37, 18, 0, 18);
28  "alct_cscshower_data_nom_summary_num", "Data ALCT Nominal Shower Emul Matched", 36, 1, 37, 18, 0, 18);
30  iBooker.book2D("clct_cscshower_data_nom_summary_denom", "Data CLCT Nominal Shower All", 36, 1, 37, 18, 0, 18);
32  "clct_cscshower_data_nom_summary_num", "Data CLCT Nominal Shower Emul Matched", 36, 1, 37, 18, 0, 18);
33 
35  iBooker.book2D("lct_cscshower_emul_nom_summary_denom", "Emul LCT Nominal Shower All", 36, 1, 37, 18, 0, 18);
37  "lct_cscshower_emul_nom_summary_num", "Emul LCT Nominal Shower Not Matched to Data", 36, 1, 37, 18, 0, 18);
39  iBooker.book2D("alct_cscshower_emul_nom_summary_denom", "Emul ALCT Nominal Shower All", 36, 1, 37, 18, 0, 18);
41  "alct_cscshower_emul_nom_summary_num", "Emul ALCT Nominal Shower Not Matched to Data", 36, 1, 37, 18, 0, 18);
43  iBooker.book2D("clct_cscshower_emul_nom_summary_denom", "Emul CLCT Nominal Shower All", 36, 1, 37, 18, 0, 18);
45  "clct_cscshower_emul_nom_summary_num", "Emul CLCT Nominal Shower Not Matched to Data", 36, 1, 37, 18, 0, 18);
46 
48  iBooker.book2D("lct_cscshower_data_tight_summary_denom", "Data LCT Tight Shower All", 36, 1, 37, 18, 0, 18);
50  "lct_cscshower_data_tight_summary_num", "Data LCT Tight Shower Emul Matched", 36, 1, 37, 18, 0, 18);
52  iBooker.book2D("alct_cscshower_data_tight_summary_denom", "Data ALCT Tight Shower All", 36, 1, 37, 18, 0, 18);
54  "alct_cscshower_data_tight_summary_num", "Data ALCT Tight Shower Emul Matched", 36, 1, 37, 18, 0, 18);
56  iBooker.book2D("clct_cscshower_data_tight_summary_denom", "Data CLCT Tight Shower All", 36, 1, 37, 18, 0, 18);
58  "clct_cscshower_data_tight_summary_num", "Data CLCT Tight Shower Emul Matched", 36, 1, 37, 18, 0, 18);
59 
61  iBooker.book2D("lct_cscshower_emul_tight_summary_denom", "Emul LCT Tight Shower All", 36, 1, 37, 18, 0, 18);
63  "lct_cscshower_emul_tight_summary_num", "Emul LCT Tight Shower Not Matched to Data", 36, 1, 37, 18, 0, 18);
65  iBooker.book2D("alct_cscshower_emul_tight_summary_denom", "Emul ALCT Tight Shower All", 36, 1, 37, 18, 0, 18);
67  "alct_cscshower_emul_tight_summary_num", "Emul ALCT Tight Shower Not Matched to Data", 36, 1, 37, 18, 0, 18);
69  iBooker.book2D("clct_cscshower_emul_tight_summary_denom", "Emul CLCT Tight Shower All", 36, 1, 37, 18, 0, 18);
71  "clct_cscshower_emul_tight_summary_num", "Emul CLCT Tight Shower Not Matched to Data", 36, 1, 37, 18, 0, 18);
72 
73  // x labels
80 
87 
94 
101 
102  // plotting option
109 
116 
123 
130 
131  const std::array<std::string, 9> suffix_label{{"4/2", "4/1", "3/2", "3/1", " 2/2", "2/1", "1/3", "1/2", "1/1"}};
132 
133  // y labels
134  for (int ybin = 1; ybin <= 9; ++ybin) {
135  lctShowerDataNomSummary_denom_->setBinLabel(ybin, "ME-" + suffix_label[ybin - 1], 2);
136  lctShowerDataNomSummary_num_->setBinLabel(ybin, "ME-" + suffix_label[ybin - 1], 2);
137  alctShowerDataNomSummary_denom_->setBinLabel(ybin, "ME-" + suffix_label[ybin - 1], 2);
138  alctShowerDataNomSummary_num_->setBinLabel(ybin, "ME-" + suffix_label[ybin - 1], 2);
139  clctShowerDataNomSummary_denom_->setBinLabel(ybin, "ME-" + suffix_label[ybin - 1], 2);
140  clctShowerDataNomSummary_num_->setBinLabel(ybin, "ME-" + suffix_label[ybin - 1], 2);
141 
142  lctShowerEmulNomSummary_denom_->setBinLabel(ybin, "ME-" + suffix_label[ybin - 1], 2);
143  lctShowerEmulNomSummary_num_->setBinLabel(ybin, "ME-" + suffix_label[ybin - 1], 2);
144  alctShowerEmulNomSummary_denom_->setBinLabel(ybin, "ME-" + suffix_label[ybin - 1], 2);
145  alctShowerEmulNomSummary_num_->setBinLabel(ybin, "ME-" + suffix_label[ybin - 1], 2);
146  clctShowerEmulNomSummary_denom_->setBinLabel(ybin, "ME-" + suffix_label[ybin - 1], 2);
147  clctShowerEmulNomSummary_num_->setBinLabel(ybin, "ME-" + suffix_label[ybin - 1], 2);
148 
149  lctShowerDataNomSummary_denom_->setBinLabel(19 - ybin, "ME+" + suffix_label[ybin - 1], 2);
150  lctShowerDataNomSummary_num_->setBinLabel(19 - ybin, "ME+" + suffix_label[ybin - 1], 2);
151  alctShowerDataNomSummary_denom_->setBinLabel(19 - ybin, "ME+" + suffix_label[ybin - 1], 2);
152  alctShowerDataNomSummary_num_->setBinLabel(19 - ybin, "ME+" + suffix_label[ybin - 1], 2);
153  clctShowerDataNomSummary_denom_->setBinLabel(19 - ybin, "ME+" + suffix_label[ybin - 1], 2);
154  clctShowerDataNomSummary_num_->setBinLabel(19 - ybin, "ME+" + suffix_label[ybin - 1], 2);
155 
156  lctShowerEmulNomSummary_denom_->setBinLabel(19 - ybin, "ME+" + suffix_label[ybin - 1], 2);
157  lctShowerEmulNomSummary_num_->setBinLabel(19 - ybin, "ME+" + suffix_label[ybin - 1], 2);
158  alctShowerEmulNomSummary_denom_->setBinLabel(19 - ybin, "ME+" + suffix_label[ybin - 1], 2);
159  alctShowerEmulNomSummary_num_->setBinLabel(19 - ybin, "ME+" + suffix_label[ybin - 1], 2);
160  clctShowerEmulNomSummary_denom_->setBinLabel(19 - ybin, "ME+" + suffix_label[ybin - 1], 2);
161  clctShowerEmulNomSummary_num_->setBinLabel(19 - ybin, "ME+" + suffix_label[ybin - 1], 2);
162 
163  lctShowerDataTightSummary_denom_->setBinLabel(ybin, "ME-" + suffix_label[ybin - 1], 2);
164  lctShowerDataTightSummary_num_->setBinLabel(ybin, "ME-" + suffix_label[ybin - 1], 2);
165  alctShowerDataTightSummary_denom_->setBinLabel(ybin, "ME-" + suffix_label[ybin - 1], 2);
166  alctShowerDataTightSummary_num_->setBinLabel(ybin, "ME-" + suffix_label[ybin - 1], 2);
167  clctShowerDataTightSummary_denom_->setBinLabel(ybin, "ME-" + suffix_label[ybin - 1], 2);
168  clctShowerDataTightSummary_num_->setBinLabel(ybin, "ME-" + suffix_label[ybin - 1], 2);
169 
170  lctShowerEmulTightSummary_denom_->setBinLabel(ybin, "ME-" + suffix_label[ybin - 1], 2);
171  lctShowerEmulTightSummary_num_->setBinLabel(ybin, "ME-" + suffix_label[ybin - 1], 2);
172  alctShowerEmulTightSummary_denom_->setBinLabel(ybin, "ME-" + suffix_label[ybin - 1], 2);
173  alctShowerEmulTightSummary_num_->setBinLabel(ybin, "ME-" + suffix_label[ybin - 1], 2);
174  clctShowerEmulTightSummary_denom_->setBinLabel(ybin, "ME-" + suffix_label[ybin - 1], 2);
175  clctShowerEmulTightSummary_num_->setBinLabel(ybin, "ME-" + suffix_label[ybin - 1], 2);
176 
177  lctShowerDataTightSummary_denom_->setBinLabel(19 - ybin, "ME+" + suffix_label[ybin - 1], 2);
178  lctShowerDataTightSummary_num_->setBinLabel(19 - ybin, "ME+" + suffix_label[ybin - 1], 2);
179  alctShowerDataTightSummary_denom_->setBinLabel(19 - ybin, "ME+" + suffix_label[ybin - 1], 2);
180  alctShowerDataTightSummary_num_->setBinLabel(19 - ybin, "ME+" + suffix_label[ybin - 1], 2);
181  clctShowerDataTightSummary_denom_->setBinLabel(19 - ybin, "ME+" + suffix_label[ybin - 1], 2);
182  clctShowerDataTightSummary_num_->setBinLabel(19 - ybin, "ME+" + suffix_label[ybin - 1], 2);
183 
184  lctShowerEmulTightSummary_denom_->setBinLabel(19 - ybin, "ME+" + suffix_label[ybin - 1], 2);
185  lctShowerEmulTightSummary_num_->setBinLabel(19 - ybin, "ME+" + suffix_label[ybin - 1], 2);
186  alctShowerEmulTightSummary_denom_->setBinLabel(19 - ybin, "ME+" + suffix_label[ybin - 1], 2);
187  alctShowerEmulTightSummary_num_->setBinLabel(19 - ybin, "ME+" + suffix_label[ybin - 1], 2);
188  clctShowerEmulTightSummary_denom_->setBinLabel(19 - ybin, "ME+" + suffix_label[ybin - 1], 2);
189  clctShowerEmulTightSummary_num_->setBinLabel(19 - ybin, "ME+" + suffix_label[ybin - 1], 2);
190  }
191 }
MonitorElement * lctShowerEmulNomSummary_num_
MonitorElement * lctShowerEmulNomSummary_denom_
MonitorElement * alctShowerDataNomSummary_num_
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
MonitorElement * clctShowerDataNomSummary_num_
MonitorElement * clctShowerDataTightSummary_denom_
virtual void setOption(const char *option)
MonitorElement * lctShowerDataTightSummary_num_
MonitorElement * lctShowerEmulTightSummary_num_
MonitorElement * alctShowerEmulNomSummary_denom_
MonitorElement * alctShowerDataTightSummary_denom_
MonitorElement * lctShowerEmulTightSummary_denom_
MonitorElement * clctShowerDataNomSummary_denom_
virtual void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
MonitorElement * alctShowerEmulNomSummary_num_
MonitorElement * alctShowerDataTightSummary_num_
MonitorElement * clctShowerEmulTightSummary_denom_
MonitorElement * alctShowerEmulTightSummary_num_
std::string monitorDir_
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
Definition: DQMStore.h:212
MonitorElement * clctShowerEmulNomSummary_num_
MonitorElement * clctShowerEmulNomSummary_denom_
MonitorElement * lctShowerDataTightSummary_denom_
MonitorElement * alctShowerDataNomSummary_denom_
MonitorElement * lctShowerDataNomSummary_num_
MonitorElement * lctShowerDataNomSummary_denom_
MonitorElement * clctShowerDataTightSummary_num_
MonitorElement * clctShowerEmulTightSummary_num_
MonitorElement * alctShowerEmulTightSummary_denom_
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)

Member Data Documentation

◆ alctShowerDataNomSummary_denom_

MonitorElement* L1TdeCSCTPGShower::alctShowerDataNomSummary_denom_
private

Definition at line 36 of file L1TdeCSCTPGShower.h.

Referenced by analyze(), and bookHistograms().

◆ alctShowerDataNomSummary_num_

MonitorElement* L1TdeCSCTPGShower::alctShowerDataNomSummary_num_
private

Definition at line 37 of file L1TdeCSCTPGShower.h.

Referenced by analyze(), and bookHistograms().

◆ alctShowerDataTightSummary_denom_

MonitorElement* L1TdeCSCTPGShower::alctShowerDataTightSummary_denom_
private

Definition at line 50 of file L1TdeCSCTPGShower.h.

Referenced by analyze(), and bookHistograms().

◆ alctShowerDataTightSummary_num_

MonitorElement* L1TdeCSCTPGShower::alctShowerDataTightSummary_num_
private

Definition at line 51 of file L1TdeCSCTPGShower.h.

Referenced by analyze(), and bookHistograms().

◆ alctShowerEmulNomSummary_denom_

MonitorElement* L1TdeCSCTPGShower::alctShowerEmulNomSummary_denom_
private

Definition at line 43 of file L1TdeCSCTPGShower.h.

Referenced by analyze(), and bookHistograms().

◆ alctShowerEmulNomSummary_num_

MonitorElement* L1TdeCSCTPGShower::alctShowerEmulNomSummary_num_
private

Definition at line 44 of file L1TdeCSCTPGShower.h.

Referenced by analyze(), and bookHistograms().

◆ alctShowerEmulTightSummary_denom_

MonitorElement* L1TdeCSCTPGShower::alctShowerEmulTightSummary_denom_
private

Definition at line 57 of file L1TdeCSCTPGShower.h.

Referenced by analyze(), and bookHistograms().

◆ alctShowerEmulTightSummary_num_

MonitorElement* L1TdeCSCTPGShower::alctShowerEmulTightSummary_num_
private

Definition at line 58 of file L1TdeCSCTPGShower.h.

Referenced by analyze(), and bookHistograms().

◆ clctShowerDataNomSummary_denom_

MonitorElement* L1TdeCSCTPGShower::clctShowerDataNomSummary_denom_
private

Definition at line 38 of file L1TdeCSCTPGShower.h.

Referenced by analyze(), and bookHistograms().

◆ clctShowerDataNomSummary_num_

MonitorElement* L1TdeCSCTPGShower::clctShowerDataNomSummary_num_
private

Definition at line 39 of file L1TdeCSCTPGShower.h.

Referenced by analyze(), and bookHistograms().

◆ clctShowerDataTightSummary_denom_

MonitorElement* L1TdeCSCTPGShower::clctShowerDataTightSummary_denom_
private

Definition at line 52 of file L1TdeCSCTPGShower.h.

Referenced by analyze(), and bookHistograms().

◆ clctShowerDataTightSummary_num_

MonitorElement* L1TdeCSCTPGShower::clctShowerDataTightSummary_num_
private

Definition at line 53 of file L1TdeCSCTPGShower.h.

Referenced by analyze(), and bookHistograms().

◆ clctShowerEmulNomSummary_denom_

MonitorElement* L1TdeCSCTPGShower::clctShowerEmulNomSummary_denom_
private

Definition at line 45 of file L1TdeCSCTPGShower.h.

Referenced by analyze(), and bookHistograms().

◆ clctShowerEmulNomSummary_num_

MonitorElement* L1TdeCSCTPGShower::clctShowerEmulNomSummary_num_
private

Definition at line 46 of file L1TdeCSCTPGShower.h.

Referenced by analyze(), and bookHistograms().

◆ clctShowerEmulTightSummary_denom_

MonitorElement* L1TdeCSCTPGShower::clctShowerEmulTightSummary_denom_
private

Definition at line 59 of file L1TdeCSCTPGShower.h.

Referenced by analyze(), and bookHistograms().

◆ clctShowerEmulTightSummary_num_

MonitorElement* L1TdeCSCTPGShower::clctShowerEmulTightSummary_num_
private

Definition at line 60 of file L1TdeCSCTPGShower.h.

Referenced by analyze(), and bookHistograms().

◆ dataALCTShower_token_

edm::EDGetTokenT<CSCShowerDigiCollection> L1TdeCSCTPGShower::dataALCTShower_token_
private

Definition at line 25 of file L1TdeCSCTPGShower.h.

Referenced by analyze().

◆ dataCLCTShower_token_

edm::EDGetTokenT<CSCShowerDigiCollection> L1TdeCSCTPGShower::dataCLCTShower_token_
private

Definition at line 27 of file L1TdeCSCTPGShower.h.

Referenced by analyze().

◆ dataLCTShower_token_

edm::EDGetTokenT<CSCShowerDigiCollection> L1TdeCSCTPGShower::dataLCTShower_token_
private

Definition at line 29 of file L1TdeCSCTPGShower.h.

Referenced by analyze().

◆ emulALCTShower_token_

edm::EDGetTokenT<CSCShowerDigiCollection> L1TdeCSCTPGShower::emulALCTShower_token_
private

Definition at line 26 of file L1TdeCSCTPGShower.h.

Referenced by analyze().

◆ emulCLCTShower_token_

edm::EDGetTokenT<CSCShowerDigiCollection> L1TdeCSCTPGShower::emulCLCTShower_token_
private

Definition at line 28 of file L1TdeCSCTPGShower.h.

Referenced by analyze().

◆ emulLCTShower_token_

edm::EDGetTokenT<CSCShowerDigiCollection> L1TdeCSCTPGShower::emulLCTShower_token_
private

Definition at line 30 of file L1TdeCSCTPGShower.h.

Referenced by analyze().

◆ lctShowerDataNomSummary_denom_

MonitorElement* L1TdeCSCTPGShower::lctShowerDataNomSummary_denom_
private

Definition at line 34 of file L1TdeCSCTPGShower.h.

Referenced by analyze(), and bookHistograms().

◆ lctShowerDataNomSummary_num_

MonitorElement* L1TdeCSCTPGShower::lctShowerDataNomSummary_num_
private

Definition at line 35 of file L1TdeCSCTPGShower.h.

Referenced by analyze(), and bookHistograms().

◆ lctShowerDataTightSummary_denom_

MonitorElement* L1TdeCSCTPGShower::lctShowerDataTightSummary_denom_
private

Definition at line 48 of file L1TdeCSCTPGShower.h.

Referenced by analyze(), and bookHistograms().

◆ lctShowerDataTightSummary_num_

MonitorElement* L1TdeCSCTPGShower::lctShowerDataTightSummary_num_
private

Definition at line 49 of file L1TdeCSCTPGShower.h.

Referenced by analyze(), and bookHistograms().

◆ lctShowerEmulNomSummary_denom_

MonitorElement* L1TdeCSCTPGShower::lctShowerEmulNomSummary_denom_
private

Definition at line 41 of file L1TdeCSCTPGShower.h.

Referenced by analyze(), and bookHistograms().

◆ lctShowerEmulNomSummary_num_

MonitorElement* L1TdeCSCTPGShower::lctShowerEmulNomSummary_num_
private

Definition at line 42 of file L1TdeCSCTPGShower.h.

Referenced by analyze(), and bookHistograms().

◆ lctShowerEmulTightSummary_denom_

MonitorElement* L1TdeCSCTPGShower::lctShowerEmulTightSummary_denom_
private

Definition at line 55 of file L1TdeCSCTPGShower.h.

Referenced by analyze(), and bookHistograms().

◆ lctShowerEmulTightSummary_num_

MonitorElement* L1TdeCSCTPGShower::lctShowerEmulTightSummary_num_
private

Definition at line 56 of file L1TdeCSCTPGShower.h.

Referenced by analyze(), and bookHistograms().

◆ monitorDir_

std::string L1TdeCSCTPGShower::monitorDir_
private

Definition at line 32 of file L1TdeCSCTPGShower.h.

Referenced by bookHistograms().