CMS 3D CMS Logo

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

#include <DTDigiTask.h>

Inheritance diagram for DTDigiTask:
DQMOneEDAnalyzer< edm::one::WatchLuminosityBlocks > edm::one::EDProducer< edm::EndRunProducer, edm::one::WatchRuns, edm::Accumulator, Args... > edm::one::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

 DTDigiTask (const edm::ParameterSet &ps)
 Constructor. More...
 
 ~DTDigiTask () override
 Destructor. More...
 
- Public Member Functions inherited from DQMOneEDAnalyzer< edm::one::WatchLuminosityBlocks >
void accumulate (edm::Event const &event, edm::EventSetup const &setup) override
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
 DQMOneEDAnalyzer ()
 
void endRun (edm::Run const &, edm::EventSetup const &) final
 
void endRunProduce (edm::Run &run, edm::EventSetup const &setup) final
 
virtual bool getCanSaveByLumi ()
 
- Public Member Functions inherited from edm::one::EDProducer< edm::EndRunProducer, edm::one::WatchRuns, edm::Accumulator, Args... >
 EDProducer ()=default
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
bool wantsInputProcessBlocks () const final
 
bool wantsProcessBlocks () const final
 
- Public Member Functions inherited from edm::one::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~EDProducerBase () override
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::vector< edm::ProductResolverIndex > const & indiciesForPutProducts (BranchType iBranchType) const
 
 ProducerBase ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () const
 
std::vector< bool > const & recordProvenanceList () const
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription const &)> registrationCallback () const
 used by the fwk to register list of products More...
 
void resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
TypeLabelList const & typeLabelList () const
 used by the fwk to register the list of products of this module More...
 
 ~ProducerBase () noexcept(false) 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 &&)=default
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
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::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Protected Member Functions

void analyze (const edm::Event &e, const edm::EventSetup &c) override
 Analyze. More...
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumiSeg, edm::EventSetup const &context) override
 To reset the MEs. More...
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
void bookHistos (DQMStore::IBooker &ibooker, const DTChamberId &dtCh, std::string folder, std::string histoTag)
 
void bookHistos (DQMStore::IBooker &ibooker, const DTSuperLayerId &dtSL, std::string folder, std::string histoTag)
 Book the ME. More...
 
void bookHistos (DQMStore::IBooker &ibooker, const int wheelId, std::string folder, std::string histoTag)
 
void channelsMap (const DTChamberId &dtCh, std::string histoTag)
 To map real channels. More...
 
void dqmBeginRun (const edm::Run &, const edm::EventSetup &) override
 
void endLuminosityBlock (edm::LuminosityBlock const &lumiSeg, edm::EventSetup const &context) final
 
std::string triggerSource ()
 get the L1A source More...
 
- Protected Member Functions inherited from DQMOneEDAnalyzer< edm::one::WatchLuminosityBlocks >
virtual void dqmEndRun (edm::Run const &, edm::EventSetup const &)
 
- Protected Member Functions inherited from edm::ProducerBase
template<class ProductType >
BranchAliasSetterT< ProductType > produces ()
 declare what type of product will make and with which optional label More...
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces ()
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces ()
 
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<BranchType B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<Transition B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<class ProductType >
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
ProducesCollector producesCollector ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< B > consumes (edm::InputTag tag) noexcept
 
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<Transition Tr = Transition::Event>
constexpr auto esConsumes () noexcept
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag) noexcept
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 

Private Member Functions

std::string topFolder () const
 

Private Attributes

bool checkNoisyChannels
 
int defaultTmax
 
int defaultTTrig
 
std::map< std::string, std::map< uint32_t, MonitorElement * > > digiHistos
 
bool doAllHitsOccupancies
 
bool doInTimeOccupancies
 
bool doLayerTimeBoxes
 
bool doNoiseOccupancies
 
bool doStaticBooking
 
edm::EDGetTokenT< DTDigiCollectiondtDigiToken_
 
bool filterSyncNoise
 
std::map< DTChamberId, int > hitMap
 
int inTimeHitsLowerBound
 
int inTimeHitsUpperBound
 
bool isLocalRun
 
float kFactor
 
bool lookForSyncNoise
 
edm::EDGetTokenT< LTCDigiCollectionltcDigiCollectionToken_
 
edm::Handle< LTCDigiCollectionltcdigis
 
edm::ESHandle< DTReadOutMappingmapping
 
int maxTDCHits
 
int maxTTMounts
 
edm::ESHandle< DTGeometrymuonGeom
 
MonitorElementnEventMonitor
 
int nevents
 
std::map< DTChamberId, int > nSynchNoiseEvents
 
bool readTTrigDB
 
int resetCycle
 
bool sliceTestMode
 
bool subtractT0
 
std::set< DTChamberIdsyncNoisyChambers
 
int syncNum
 
int syncNumTot
 
edm::ESHandle< DTT0t0Map
 
int tdcPedestal
 
int timeBoxGranularity
 
int tMax
 no needs to be precise. Value from PSets will always be used More...
 
bool tpMode
 
float tTrig
 tTrig from the DB More...
 
edm::ESHandle< DTTtrigtTrigMap
 
float tTrigRMS
 
std::map< std::string, std::map< int, MonitorElement * > > wheelHistos
 

Additional Inherited Members

- Public Types inherited from DQMOneEDAnalyzer< edm::one::WatchLuminosityBlocks >
typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- Public Types inherited from edm::one::EDProducerBase
typedef EDProducerBase ModuleType
 
- Public Types inherited from edm::ProducerBase
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex > >
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::one::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- Protected Attributes inherited from DQMOneEDAnalyzer< edm::one::WatchLuminosityBlocks >
edm::EDPutTokenT< DQMTokenrunToken_
 

Detailed Description

Definition at line 47 of file DTDigiTask.h.

Constructor & Destructor Documentation

◆ DTDigiTask()

DTDigiTask::DTDigiTask ( const edm::ParameterSet ps)

Constructor.

Definition at line 43 of file DTDigiTask.cc.

43  {
44  // switch for the verbosity
45  LogTrace("DTDQM|DTMonitorModule|DTDigiTask") << "[DTDigiTask]: Constructor" << endl;
46 
47  // The label to retrieve the digis
48  dtDigiToken_ = consumes<DTDigiCollection>(ps.getParameter<InputTag>("dtDigiLabel"));
49  // Read the configuration parameters
50  maxTDCHits = ps.getUntrackedParameter<int>("maxTDCHitsPerChamber", 30000);
51  // Set to true to read the ttrig from DB (useful to determine in-time and out-of-time hits)
52  readTTrigDB = ps.getUntrackedParameter<bool>("readDB", false);
53  // Set to true to subtract t0 from test pulses
54  subtractT0 = ps.getParameter<bool>("performPerWireT0Calibration");
55  // Tmax value (TDC counts)
56  defaultTmax = ps.getParameter<int>("defaultTmax");
57  // Switch from static to dinamic histo booking
58  doStaticBooking = ps.getUntrackedParameter<bool>("staticBooking", true);
59 
60  // Switch for local/global runs
61  isLocalRun = ps.getUntrackedParameter<bool>("localrun", true);
62  if (!isLocalRun) {
63  ltcDigiCollectionToken_ = consumes<LTCDigiCollection>(ps.getParameter<edm::InputTag>("ltcDigiCollectionTag"));
64  }
65 
66  // Setting for the reset of the ME after n (= ResetCycle) luminosity sections
67  resetCycle = ps.getUntrackedParameter<int>("ResetCycle", 3);
68  // Check the DB of noisy channels
69  checkNoisyChannels = ps.getUntrackedParameter<bool>("checkNoisyChannels", false);
70  // Default TTrig to be used when not reading the TTrig DB
71  defaultTTrig = ps.getParameter<int>("defaultTtrig");
72  inTimeHitsLowerBound = ps.getParameter<int>("inTimeHitsLowerBound");
73  inTimeHitsUpperBound = ps.getParameter<int>("inTimeHitsUpperBound");
74  timeBoxGranularity = ps.getUntrackedParameter<int>("timeBoxGranularity", 4);
75  maxTTMounts = ps.getUntrackedParameter<int>("maxTTMounts", 6400);
76 
77  doAllHitsOccupancies = ps.getUntrackedParameter<bool>("doAllHitsOccupancies", true);
78  doNoiseOccupancies = ps.getUntrackedParameter<bool>("doNoiseOccupancies", false);
79  doInTimeOccupancies = ps.getUntrackedParameter<bool>("doInTimeOccupancies", false);
80 
81  // switch on the mode for running on test pulses (different top folder)
82  tpMode = ps.getUntrackedParameter<bool>("testPulseMode", false);
83  // switch on/off the filtering of synchronous noise events (cutting on the # of digis)
84  // time-boxes and occupancy plots are not filled and summary plots are created to report the problem
85  filterSyncNoise = ps.getUntrackedParameter<bool>("filterSyncNoise", false);
86  // look for synch noisy events, produce histograms but do not filter them
87  lookForSyncNoise = ps.getUntrackedParameter<bool>("lookForSyncNoise", false);
88 
89  // switch on the mode for running on slice test (different top folder and other customizations)
90  sliceTestMode = ps.getUntrackedParameter<bool>("sliceTestMode", false);
91  // time pedestal to be subtracted if sliceTestMode is true
92  tdcPedestal = ps.getUntrackedParameter<int>("tdcPedestal", 105100);
93 
94  // switch on production of time-boxes with layer granularity
95  doLayerTimeBoxes = ps.getUntrackedParameter<bool>("doLayerTimeBoxes", false);
96 
97  syncNumTot = 0;
98  syncNum = 0;
99 }

References dtDigiTask_cfi::checkNoisyChannels, dt_dqm_sourceclient_common_cff::defaultTmax, dtDigiTask_cfi::doAllHitsOccupancies, dtDigiTask_cfi::doInTimeOccupancies, dtDigiTask_cfi::doLayerTimeBoxes, dtDigiTask_cfi::doNoiseOccupancies, dt_dqm_sourceclient_common_cff::filterSyncNoise, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), dt_dqm_sourceclient_common_cff::inTimeHitsLowerBound, dt_dqm_sourceclient_common_cff::inTimeHitsUpperBound, LogTrace, dt_dqm_sourceclient_common_cff::lookForSyncNoise, dtDigiTask_cfi::maxTTMounts, dtDigiTask_cfi::sliceTestMode, dtDigiTask_cfi::tdcPedestal, and dtDigiTask_cfi::timeBoxGranularity.

◆ ~DTDigiTask()

DTDigiTask::~DTDigiTask ( )
override

Destructor.

Definition at line 102 of file DTDigiTask.cc.

102  {
103  LogTrace("DTDQM|DTMonitorModule|DTDigiTask") << "DTDigiTask: analyzed " << nevents << " events" << endl;
104 }

References LogTrace, and cmsHarvester::nevents.

Member Function Documentation

◆ analyze()

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

Analyze.

Reimplemented from DQMOneEDAnalyzer< edm::one::WatchLuminosityBlocks >.

Definition at line 433 of file DTDigiTask.cc.

433  {
434  nevents++;
436  if (nevents % 1000 == 0) {
437  LogTrace("DTDQM|DTMonitorModule|DTDigiTask")
438  << "[DTDigiTask] Analyze #Run: " << event.id().run() << " #Event: " << event.id().event() << endl;
439  }
440 
441  // Get the ingredients from the event
442 
443  // Digi collection
445  event.getByToken(dtDigiToken_, dtdigis);
446 
447  // LTC digis
448  if (!isLocalRun)
449  event.getByToken(ltcDigiCollectionToken_, ltcdigis);
450 
451  // Status map (for noisy channels)
452  ESHandle<DTStatusFlag> statusMap;
453  if (checkNoisyChannels) {
454  // Get the map of noisy channels
455  c.get<DTStatusFlagRcd>().get(statusMap);
456  }
457 
458  string histoTag;
459 
460  // Check if the digi container is empty
461  if (dtdigis->begin() == dtdigis->end()) {
462  LogTrace("DTDQM|DTMonitorModule|DTDigiTask") << "Event " << nevents << " empty." << endl;
463  }
464 
465  if (lookForSyncNoise || filterSyncNoise) { // dosync
466  // Count the # of digis per chamber
468  for (dtLayerId_It = dtdigis->begin(); dtLayerId_It != dtdigis->end(); dtLayerId_It++) {
469  DTChamberId chId = ((*dtLayerId_It).first).chamberId();
470  if (hitMap.find(chId) == hitMap.end()) { // new chamber
471  hitMap[chId] = 0;
472  }
473  hitMap[chId] += (((*dtLayerId_It).second).second - ((*dtLayerId_It).second).first);
474  }
475 
476  // check chamber with # of digis above threshold and flag them as noisy
477  map<DTChamberId, int>::const_iterator hitMapIt = hitMap.begin();
478  map<DTChamberId, int>::const_iterator hitMapEnd = hitMap.end();
479 
480  map<int, int> chMap;
481 
482  for (; hitMapIt != hitMapEnd; ++hitMapIt) {
483  if ((hitMapIt->second) > maxTDCHits) {
484  DTChamberId chId = hitMapIt->first;
485  int wh = chId.wheel();
486 
487  LogTrace("DTDQM|DTMonitorModule|DTDigiTask")
488  << "[DTDigiTask] Synch noise in chamber: " << chId << " with # digis: " << hitMapIt->second << endl;
489 
490  if (chMap.find(wh) == chMap.end()) {
491  chMap[wh] = 0;
492  }
493  chMap[wh]++;
494 
495  syncNoisyChambers.insert(chId);
496 
497  wheelHistos["SyncNoiseEvents"][wh]->Fill(chId.sector(), chId.station());
498  }
499  }
500 
501  // fill # of noisy ch per wheel plot
502  map<int, int>::const_iterator chMapIt = chMap.begin();
503  map<int, int>::const_iterator chMapEnd = chMap.end();
504  for (; chMapIt != chMapEnd; ++chMapIt) {
505  wheelHistos["SyncNoiseChambs"][(*chMapIt).first]->Fill((*chMapIt).second);
506  }
507 
508  // clear the map of # of digis per chamber: not needed anymore
509  hitMap.clear();
510 
511  if (!syncNoisyChambers.empty()) {
512  LogVerbatim("DTDQM|DTMonitorModule|DTDigiTask") << "[DTDigiTask] Synch Noise in event: " << nevents;
513  if (filterSyncNoise)
514  LogVerbatim("DTDQM|DTMonitorModule|DTDigiTask")
515  << "\tnoisy time-boxes and occupancy will not be filled!" << endl;
516  syncNumTot++;
517  syncNum++;
518  }
519 
520  // Logging of "large" synch Noisy events in private DQM
521  if (syncNoisyChambers.size() > 3) {
522  time_t eventTime = time_t(event.time().value() >> 32);
523 
524  LogVerbatim("DTDQM|DTMonitorModule|DTDigiTask|DTSynchNoise")
525  << "[DTDigiTask] At least 4 Synch Noisy chambers in Run : " << event.id().run()
526  << " Lumi : " << event.id().luminosityBlock() << " Event : " << event.id().event()
527  << " at time : " << ctime(&eventTime) << endl;
528 
529  set<DTChamberId>::const_iterator chIt = syncNoisyChambers.begin();
530  set<DTChamberId>::const_iterator chEnd = syncNoisyChambers.end();
531 
532  stringstream synchNoisyCh;
533  for (; chIt != chEnd; ++chIt) {
534  synchNoisyCh << " " << (*chIt);
535  }
536  LogVerbatim("DTDQM|DTMonitorModule|DTDigiTask|DTSynchNoise")
537  << "[DTDigiTask] Chamber List :" << synchNoisyCh.str() << endl;
538  }
539 
540  if (nevents % 1000 == 0) {
541  LogVerbatim("DTDQM|DTMonitorModule|DTDigiTask")
542  << (syncNumTot * 100. / nevents) << "% sync noise events since the beginning \n"
543  << (syncNum * 0.1) << "% sync noise events in the last 1000 events " << endl;
544  syncNum = 0;
545  }
546  }
547 
548  bool isSyncNoisy = false;
549 
551  for (dtLayerId_It = dtdigis->begin(); dtLayerId_It != dtdigis->end(); ++dtLayerId_It) { // Loop over layers
552  isSyncNoisy = false;
553  // check if chamber labeled as synch noisy
554  if (filterSyncNoise) {
555  DTChamberId chId = ((*dtLayerId_It).first).chamberId();
556  if (syncNoisyChambers.find(chId) != syncNoisyChambers.end()) {
557  isSyncNoisy = true;
558  }
559  }
560 
561  for (DTDigiCollection::const_iterator digiIt = ((*dtLayerId_It).second).first;
562  digiIt != ((*dtLayerId_It).second).second;
563  ++digiIt) { // Loop over all digis
564 
565  bool isNoisy = false;
566  bool isFEMasked = false;
567  bool isTDCMasked = false;
568  bool isTrigMask = false;
569  bool isDead = false;
570  bool isNohv = false;
571  if (checkNoisyChannels) {
572  const DTWireId wireId(((*dtLayerId_It).first), (*digiIt).wire());
573  statusMap->cellStatus(wireId, isNoisy, isFEMasked, isTDCMasked, isTrigMask, isDead, isNohv);
574  }
575 
576  // Get the useful IDs
577  const DTSuperLayerId dtSLId = ((*dtLayerId_It).first).superlayerId();
578  uint32_t indexSL = dtSLId.rawId();
579  const DTChamberId dtChId = dtSLId.chamberId();
580  uint32_t indexCh = dtChId.rawId();
581  int layer_number = ((*dtLayerId_It).first).layer();
582  int superlayer_number = dtSLId.superlayer();
583 
584  // Read the ttrig DB or set a rough value from config
585  // ttrig and rms are TDC counts
586  if (readTTrigDB)
587  tTrigMap->get(((*dtLayerId_It).first).superlayerId(), tTrig, tTrigRMS, kFactor, DTTimeUnits::counts);
588  else
590 
591  int inTimeHitsLowerBoundCorr = int(round(tTrig)) - inTimeHitsLowerBound;
592  int inTimeHitsUpperBoundCorr = int(round(tTrig)) + tMax + inTimeHitsUpperBound;
593 
594  float t0;
595  float t0RMS;
596  int tdcTime = (*digiIt).countsTDC();
597 
598  if (subtractT0) {
599  const DTWireId dtWireId(((*dtLayerId_It).first), (*digiIt).wire());
600  // t0s and rms are TDC counts
601  t0Map->get(dtWireId, t0, t0RMS, DTTimeUnits::counts);
602  tdcTime += int(round(t0));
603  }
604 
605  if (sliceTestMode) {
606  tdcTime -= tdcPedestal;
607  tdcTime = std::max(1, std::min(maxTTMounts - 1, tdcTime));
608  // std::cout << tdcTime << std::endl;
609  }
610 
611  // Fill Time-Boxes
612  // NOTE: avoid to fill TB and PhotoPeak with noise. Occupancy are filled anyway
613  if ((!isNoisy) && (!isSyncNoisy)) { // Discard noisy channels
614  // TimeBoxes per SL
615  histoTag = "TimeBox" + triggerSource();
616 
617  (digiHistos.find(histoTag)->second).find(indexSL)->second->Fill(tdcTime);
618  if (doLayerTimeBoxes)
619  (digiHistos.find(histoTag)->second).find((*dtLayerId_It).first.rawId())->second->Fill(tdcTime);
620  }
621 
622  // Fill Occupancies
623  if (!isSyncNoisy) { // Discard synch noisy channels
624 
625  if (doAllHitsOccupancies) { // fill occupancies for all hits
626  //Occupancies per chamber & layer
627  histoTag = "OccupancyAllHits_perCh";
628  map<uint32_t, MonitorElement*>::const_iterator mappedHisto = digiHistos[histoTag].find(indexCh);
629 
630  //FR comment the following cannot pass ibooker to analyze method!
631  /*
632  if (mappedHisto == digiHistos[histoTag].end()) { // dynamic booking
633  bookHistos(ibooker, dtChId, string("Occupancies"), histoTag);
634  mappedHisto = digiHistos[histoTag].find(indexCh);
635  }
636  */
637  mappedHisto->second->Fill((*digiIt).wire(), (layer_number + (superlayer_number - 1) * 4) - 1);
638 
639  // Fill the chamber occupancy
640  histoTag = "OccupancyAllHits";
641  map<int, MonitorElement*>::const_iterator histoPerWheel = wheelHistos[histoTag].find(dtChId.wheel());
642 
643  histoPerWheel->second->Fill(dtChId.sector(), dtChId.station()); // FIXME: normalize to # of layers
644  }
645 
646  if (doNoiseOccupancies) { // fill occupancies for hits before the ttrig
647  if (tdcTime < inTimeHitsLowerBoundCorr) {
648  // FIXME: what about tdcTime > inTimeHitsUpperBoundCorr ???
649 
650  // Noise: Before tTrig
651  //Occupancies Noise per chamber & layer
652  histoTag = "OccupancyNoise_perCh";
653  map<uint32_t, MonitorElement*>::const_iterator mappedHisto = digiHistos[histoTag].find(indexCh);
654 
655  mappedHisto->second->Fill((*digiIt).wire(), (layer_number + (superlayer_number - 1) * 4) - 1);
656 
657  // Fill the chamber occupancy
658 
659  histoTag = "OccupancyNoise";
660  map<int, MonitorElement*>::const_iterator histoPerWheel = wheelHistos[histoTag].find(dtChId.wheel());
661 
662  histoPerWheel->second->Fill(dtChId.sector(), dtChId.station()); // FIXME: normalize to # of layers
663  }
664  }
665 
666  if (doInTimeOccupancies) { // fill occpunacies for in-time hits only
667  if (tdcTime > inTimeHitsLowerBoundCorr && tdcTime < inTimeHitsUpperBoundCorr) {
668  // Physical hits: within the time window
669 
670  //Occupancies Signal per chamber & layer
671  histoTag = "OccupancyInTimeHits_perCh";
672  map<uint32_t, MonitorElement*>::const_iterator mappedHisto = digiHistos[histoTag].find(indexCh);
673 
674  mappedHisto->second->Fill((*digiIt).wire(), (layer_number + (superlayer_number - 1) * 4) - 1);
675 
676  // Fill the chamber occupancy
677  histoTag = "OccupancyInTimeHits";
678  map<int, MonitorElement*>::const_iterator histoPerWheel = wheelHistos[histoTag].find(dtChId.wheel());
679 
680  histoPerWheel->second->Fill(dtChId.sector(), dtChId.station()); // FIXME: normalize to # of layers
681  }
682  }
683  }
684  }
685  }
686 
687  syncNoisyChambers.clear();
688 }

References HltBtagPostValidation_cff::c, DTStatusFlag::cellStatus(), DTSuperLayerId::chamberId(), dtDigiTask_cfi::checkNoisyChannels, DTTimeUnits::counts, dtDigiTask_cfi::doAllHitsOccupancies, dtDigiTask_cfi::doInTimeOccupancies, dtDigiTask_cfi::doLayerTimeBoxes, dtDigiTask_cfi::doNoiseOccupancies, dt_dqm_sourceclient_common_cff::filterSyncNoise, spr::find(), edm::get(), dtResolutionTest_cfi::histoTag, createfilelist::int, dt_dqm_sourceclient_common_cff::inTimeHitsLowerBound, dt_dqm_sourceclient_common_cff::inTimeHitsUpperBound, dttriganalyzer_cfi::kFactor, LogTrace, dt_dqm_sourceclient_common_cff::lookForSyncNoise, SiStripPI::max, dtDigiTask_cfi::maxTTMounts, min(), cmsHarvester::nevents, DetId::rawId(), edm::second(), DTChamberId::sector(), dtDigiTask_cfi::sliceTestMode, DTChamberId::station(), DTSuperLayerId::superlayer(), FrontierCondition_GT_autoExpress_cfi::t0, dtDigiTask_cfi::tdcPedestal, dttriganalyzer_cfi::tTrig, and DTChamberId::wheel().

◆ beginLuminosityBlock()

void DTDigiTask::beginLuminosityBlock ( edm::LuminosityBlock const &  lumiSeg,
edm::EventSetup const &  context 
)
overrideprotected

To reset the MEs.

Definition at line 185 of file DTDigiTask.cc.

185  {
186  LogTrace("DTDQM|DTMonitorModule|DTDigiTask") << "[DTDigiTask]: Begin of LS transition" << endl;
187 
188  // Reset the MonitorElements every n (= ResetCycle) Lumi Blocks
189  int lumiBlock = lumiSeg.id().luminosityBlock();
190  if (lumiBlock % resetCycle == 0) {
191  LogVerbatim("DTDQM|DTMonitorModule|DTDigiTask")
192  << "[DTDigiTask]: Reset at the LS transition : " << lumiBlock << endl;
193  // Loop over all ME
194  map<string, map<uint32_t, MonitorElement*> >::const_iterator histosIt = digiHistos.begin();
195  map<string, map<uint32_t, MonitorElement*> >::const_iterator histosEnd = digiHistos.end();
196  for (; histosIt != histosEnd; ++histosIt) {
197  map<uint32_t, MonitorElement*>::const_iterator histoIt = (*histosIt).second.begin();
198  map<uint32_t, MonitorElement*>::const_iterator histoEnd = (*histosIt).second.end();
199  for (; histoIt != histoEnd; ++histoIt) {
200  (*histoIt).second->Reset();
201  }
202  }
203 
204  // re-set mapping for not real channels in the occupancyHits per chamber
205  for (int wh = -2; wh <= 2; wh++) {
206  for (int sect = 1; sect <= 14; sect++) {
207  for (int st = 1; st <= 4; st++) {
208  if ((sect == 13 || sect == 14) && st != 4) {
209  continue;
210  }
211  const DTChamberId dtChId(wh, st, sect);
212  channelsMap(dtChId, "OccupancyAllHits_perCh");
213  }
214  }
215  }
216 
217  // loop over wheel summaries
218  map<string, map<int, MonitorElement*> >::const_iterator whHistosIt = wheelHistos.begin();
219  map<string, map<int, MonitorElement*> >::const_iterator whHistosEnd = wheelHistos.end();
220  for (; whHistosIt != whHistosEnd; ++whHistosIt) {
221  if ((*whHistosIt).first.find("Sync") == string::npos) { // FIXME skips synch noise plots
222  map<int, MonitorElement*>::const_iterator histoIt = (*whHistosIt).second.begin();
223  map<int, MonitorElement*>::const_iterator histoEnd = (*whHistosIt).second.end();
224  for (; histoIt != histoEnd; ++histoIt) {
225  (*histoIt).second->Reset();
226  }
227  }
228  }
229  }
230 }

References edm::LuminosityBlockBase::id(), LogTrace, and edm::LuminosityBlockID::luminosityBlock().

◆ bookHistograms()

void DTDigiTask::bookHistograms ( DQMStore::IBooker ibooker,
edm::Run const &  run,
edm::EventSetup const &  context 
)
overrideprotectedvirtual

Implements DQMOneEDAnalyzer< edm::one::WatchLuminosityBlocks >.

Definition at line 128 of file DTDigiTask.cc.

128  {
129  if (doStaticBooking) { // Static histo booking
130  // book the event counter
131  ibooker.setCurrentFolder("DT/EventInfo/Counters");
132  nEventMonitor = ibooker.bookFloat(tpMode ? "nProcessedEventsDigiTP" : "nProcessedEventsDigi");
133  ibooker.setCurrentFolder(topFolder());
134  for (int wh = -2; wh <= 2; ++wh) { // loop over wheels
136  bookHistos(ibooker, wh, string("Occupancies"), "OccupancyAllHits");
137 
138  if (doNoiseOccupancies)
139  bookHistos(ibooker, wh, string("Occupancies"), "OccupancyNoise");
141  bookHistos(ibooker, wh, string("Occupancies"), "OccupancyInTimeHits");
142 
144  bookHistos(ibooker, wh, string("SynchNoise"), "SyncNoiseEvents");
145  bookHistos(ibooker, wh, string("SynchNoise"), "SyncNoiseChambs");
146  }
147 
148  for (int st = 1; st <= 4; ++st) { // loop over stations
149  for (int sect = 1; sect <= 14; ++sect) { // loop over sectors
150  if ((sect == 13 || sect == 14) && st != 4)
151  continue;
152  // Get the chamber ID
153  const DTChamberId dtChId(wh, st, sect);
154 
155  // Occupancies
156  if (doAllHitsOccupancies) {
157  bookHistos(ibooker, dtChId, string("Occupancies"), "OccupancyAllHits_perCh");
158  // set channel mapping
159  channelsMap(dtChId, "OccupancyAllHits_perCh");
160  }
161  if (doNoiseOccupancies)
162  bookHistos(ibooker, dtChId, string("Occupancies"), "OccupancyNoise_perCh");
164  bookHistos(ibooker, dtChId, string("Occupancies"), "OccupancyInTimeHits_perCh");
165 
166  for (int sl = 1; sl <= 3; ++sl) { // Loop over SLs
167  if (st == 4 && sl == 2)
168  continue;
169  const DTSuperLayerId dtSLId(wh, st, sect, sl);
170  if (isLocalRun) {
171  bookHistos(ibooker, dtSLId, string("TimeBoxes"), "TimeBox");
172  } else {
173  // TimeBoxes for different triggers
174  bookHistos(ibooker, dtSLId, string("TimeBoxes"), "TimeBoxDTonly");
175  bookHistos(ibooker, dtSLId, string("TimeBoxes"), "TimeBoxNoDT");
176  bookHistos(ibooker, dtSLId, string("TimeBoxes"), "TimeBoxDTalso");
177  }
178  }
179  }
180  }
181  }
182  }
183 }

References dqm::implementation::IBooker::bookFloat(), bookHistos(), dtDigiTask_cfi::doAllHitsOccupancies, dtDigiTask_cfi::doInTimeOccupancies, dtDigiTask_cfi::doNoiseOccupancies, dt_dqm_sourceclient_common_cff::filterSyncNoise, dt_dqm_sourceclient_common_cff::lookForSyncNoise, and dqm::implementation::NavigatorBase::setCurrentFolder().

◆ bookHistos() [1/3]

void DTDigiTask::bookHistos ( DQMStore::IBooker ibooker,
const DTChamberId dtCh,
std::string  folder,
std::string  histoTag 
)
protected

◆ bookHistos() [2/3]

void DTDigiTask::bookHistos ( DQMStore::IBooker ibooker,
const DTSuperLayerId dtSL,
std::string  folder,
std::string  histoTag 
)
protected

Book the ME.

◆ bookHistos() [3/3]

void DTDigiTask::bookHistos ( DQMStore::IBooker ibooker,
const int  wheelId,
std::string  folder,
std::string  histoTag 
)
protected

◆ channelsMap()

void DTDigiTask::channelsMap ( const DTChamberId dtCh,
std::string  histoTag 
)
protected

To map real channels.

Definition at line 719 of file DTDigiTask.cc.

719  {
720  // n max channels
721  int nWires_max = (digiHistos[histoTag])[dtCh.rawId()]->getNbinsX();
722 
723  // set bin content = -1 for each not real channel. For visualization purposes
724  for (int sl = 1; sl <= 3; sl++) {
725  for (int ly = 1; ly <= 4; ly++) {
726  for (int ch = 1; ch <= nWires_max; ch++) {
727  int dduId = -1, rosId = -1, robId = -1, tdcId = -1, channelId = -1;
728  int realCh = mapping->geometryToReadOut(
729  dtCh.wheel(), dtCh.station(), dtCh.sector(), sl, ly, ch, dduId, rosId, robId, tdcId, channelId);
730 
731  // realCh = 0 if the channel exists, while realCh = 1 if it does not exist
732  if (realCh) {
733  int lybin = (4 * sl - 4) + ly;
734  (digiHistos[histoTag])[dtCh.rawId()]->setBinContent(ch, lybin, -1.);
735  }
736  }
737  }
738  }
739 }

References dtResolutionTest_cfi::histoTag, taus_updatedMVAIds_cff::mapping, DetId::rawId(), DTChamberId::sector(), DTChamberId::station(), and DTChamberId::wheel().

◆ dqmBeginRun()

void DTDigiTask::dqmBeginRun ( const edm::Run run,
const edm::EventSetup context 
)
overrideprotectedvirtual

Reimplemented from DQMOneEDAnalyzer< edm::one::WatchLuminosityBlocks >.

Definition at line 106 of file DTDigiTask.cc.

106  {
107  LogTrace("DTDQM|DTMonitorModule|DTDigiTask") << "[DTDigiTask]: begin run" << endl;
108  nevents = 0;
109 
110  // Get the geometry
111  context.get<MuonGeometryRecord>().get(muonGeom);
112 
113  // map of the channels
114  context.get<DTReadOutMappingRcd>().get(mapping);
115 
116  // tTrig
117  if (readTTrigDB)
118  context.get<DTTtrigRcd>().get(tTrigMap);
119  // t0s
120  if (subtractT0)
121  context.get<DTT0Rcd>().get(t0Map);
122  // FIXME: tMax (not yet from the DB)
123  tMax = defaultTmax;
124 
125  // ----------------------------------------------------------------------
126 }

References dt_dqm_sourceclient_common_cff::defaultTmax, edm::EventSetup::get(), edm::get(), LogTrace, taus_updatedMVAIds_cff::mapping, and cmsHarvester::nevents.

◆ endLuminosityBlock()

void DTDigiTask::endLuminosityBlock ( edm::LuminosityBlock const &  lumiSeg,
edm::EventSetup const &  context 
)
inlinefinalprotected

Definition at line 68 of file DTDigiTask.h.

68 {}

◆ topFolder()

string DTDigiTask::topFolder ( ) const
private

Definition at line 711 of file DTDigiTask.cc.

711  {
712  if (tpMode)
713  return string("DT/10-TestPulses/");
714  else if (sliceTestMode)
715  return string("DT/01-SliceTestDigi/");
716  return string("DT/01-Digi/");
717 }

References dtDigiTask_cfi::sliceTestMode, and AlCaHLTBitMon_QueryRunRegistry::string.

◆ triggerSource()

string DTDigiTask::triggerSource ( )
protected

get the L1A source

Definition at line 690 of file DTDigiTask.cc.

690  {
691  string l1ASource;
692  if (isLocalRun)
693  return l1ASource;
694 
695  for (std::vector<LTCDigi>::const_iterator ltc_it = ltcdigis->begin(); ltc_it != ltcdigis->end(); ltc_it++) {
696  size_t otherTriggerSum = 0;
697  for (size_t i = 1; i < 6; i++)
698  otherTriggerSum += size_t((*ltc_it).HasTriggered(i));
699 
700  if ((*ltc_it).HasTriggered(0) && otherTriggerSum == 0)
701  l1ASource = "DTonly";
702  else if (!(*ltc_it).HasTriggered(0))
703  l1ASource = "NoDT";
704  else if ((*ltc_it).HasTriggered(0) && otherTriggerSum > 0)
705  l1ASource = "DTalso";
706  }
707 
708  return l1ASource;
709 }

References mps_fire::i.

Member Data Documentation

◆ checkNoisyChannels

bool DTDigiTask::checkNoisyChannels
private

Definition at line 132 of file DTDigiTask.h.

◆ defaultTmax

int DTDigiTask::defaultTmax
private

Definition at line 123 of file DTDigiTask.h.

◆ defaultTTrig

int DTDigiTask::defaultTTrig
private

Definition at line 134 of file DTDigiTask.h.

◆ digiHistos

std::map<std::string, std::map<uint32_t, MonitorElement*> > DTDigiTask::digiHistos
private

Definition at line 108 of file DTDigiTask.h.

◆ doAllHitsOccupancies

bool DTDigiTask::doAllHitsOccupancies
private

Definition at line 140 of file DTDigiTask.h.

◆ doInTimeOccupancies

bool DTDigiTask::doInTimeOccupancies
private

Definition at line 142 of file DTDigiTask.h.

◆ doLayerTimeBoxes

bool DTDigiTask::doLayerTimeBoxes
private

Definition at line 151 of file DTDigiTask.h.

◆ doNoiseOccupancies

bool DTDigiTask::doNoiseOccupancies
private

Definition at line 141 of file DTDigiTask.h.

◆ doStaticBooking

bool DTDigiTask::doStaticBooking
private

Definition at line 126 of file DTDigiTask.h.

◆ dtDigiToken_

edm::EDGetTokenT<DTDigiCollection> DTDigiTask::dtDigiToken_
private

Definition at line 114 of file DTDigiTask.h.

◆ filterSyncNoise

bool DTDigiTask::filterSyncNoise
private

Definition at line 146 of file DTDigiTask.h.

◆ hitMap

std::map<DTChamberId, int> DTDigiTask::hitMap
private

Definition at line 95 of file DTDigiTask.h.

◆ inTimeHitsLowerBound

int DTDigiTask::inTimeHitsLowerBound
private

Definition at line 136 of file DTDigiTask.h.

◆ inTimeHitsUpperBound

int DTDigiTask::inTimeHitsUpperBound
private

Definition at line 137 of file DTDigiTask.h.

◆ isLocalRun

bool DTDigiTask::isLocalRun
private

Definition at line 128 of file DTDigiTask.h.

◆ kFactor

float DTDigiTask::kFactor
private

Definition at line 91 of file DTDigiTask.h.

◆ lookForSyncNoise

bool DTDigiTask::lookForSyncNoise
private

Definition at line 145 of file DTDigiTask.h.

◆ ltcDigiCollectionToken_

edm::EDGetTokenT<LTCDigiCollection> DTDigiTask::ltcDigiCollectionToken_
private

Definition at line 116 of file DTDigiTask.h.

◆ ltcdigis

edm::Handle<LTCDigiCollection> DTDigiTask::ltcdigis
private

Definition at line 100 of file DTDigiTask.h.

◆ mapping

edm::ESHandle<DTReadOutMapping> DTDigiTask::mapping
private

Definition at line 103 of file DTDigiTask.h.

Referenced by progressbar.FormatLabel::update().

◆ maxTDCHits

int DTDigiTask::maxTDCHits
private

Definition at line 86 of file DTDigiTask.h.

◆ maxTTMounts

int DTDigiTask::maxTTMounts
private

Definition at line 139 of file DTDigiTask.h.

◆ muonGeom

edm::ESHandle<DTGeometry> DTDigiTask::muonGeom
private

Definition at line 102 of file DTDigiTask.h.

◆ nEventMonitor

MonitorElement* DTDigiTask::nEventMonitor
private

Definition at line 154 of file DTDigiTask.h.

◆ nevents

int DTDigiTask::nevents
private

Definition at line 82 of file DTDigiTask.h.

◆ nSynchNoiseEvents

std::map<DTChamberId, int> DTDigiTask::nSynchNoiseEvents
private

Definition at line 153 of file DTDigiTask.h.

◆ readTTrigDB

bool DTDigiTask::readTTrigDB
private

Definition at line 119 of file DTDigiTask.h.

◆ resetCycle

int DTDigiTask::resetCycle
private

Definition at line 130 of file DTDigiTask.h.

◆ sliceTestMode

bool DTDigiTask::sliceTestMode
private

Definition at line 148 of file DTDigiTask.h.

◆ subtractT0

bool DTDigiTask::subtractT0
private

Definition at line 121 of file DTDigiTask.h.

◆ syncNoisyChambers

std::set<DTChamberId> DTDigiTask::syncNoisyChambers
private

Definition at line 96 of file DTDigiTask.h.

◆ syncNum

int DTDigiTask::syncNum
private

Definition at line 98 of file DTDigiTask.h.

◆ syncNumTot

int DTDigiTask::syncNumTot
private

Definition at line 97 of file DTDigiTask.h.

◆ t0Map

edm::ESHandle<DTT0> DTDigiTask::t0Map
private

Definition at line 106 of file DTDigiTask.h.

◆ tdcPedestal

int DTDigiTask::tdcPedestal
private

Definition at line 149 of file DTDigiTask.h.

◆ timeBoxGranularity

int DTDigiTask::timeBoxGranularity
private

Definition at line 138 of file DTDigiTask.h.

◆ tMax

int DTDigiTask::tMax
private

no needs to be precise. Value from PSets will always be used

Definition at line 85 of file DTDigiTask.h.

◆ tpMode

bool DTDigiTask::tpMode
private

Definition at line 144 of file DTDigiTask.h.

◆ tTrig

float DTDigiTask::tTrig
private

tTrig from the DB

Definition at line 89 of file DTDigiTask.h.

◆ tTrigMap

edm::ESHandle<DTTtrig> DTDigiTask::tTrigMap
private

Definition at line 105 of file DTDigiTask.h.

◆ tTrigRMS

float DTDigiTask::tTrigRMS
private

Definition at line 90 of file DTDigiTask.h.

◆ wheelHistos

std::map<std::string, std::map<int, MonitorElement*> > DTDigiTask::wheelHistos
private

Definition at line 109 of file DTDigiTask.h.

DTSuperLayerId
Definition: DTSuperLayerId.h:12
mps_fire.i
i
Definition: mps_fire.py:428
DTStatusFlag::cellStatus
int cellStatus(int wheelId, int stationId, int sectorId, int slId, int layerId, int cellId, bool &noiseFlag, bool &feMask, bool &tdcMask, bool &trigMask, bool &deadFlag, bool &nohvFlag) const
get content
Definition: DTStatusFlag.h:88
dqm::implementation::IBooker::bookFloat
MonitorElement * bookFloat(TString const &name, FUNC onbooking=NOOP())
Definition: DQMStore.h:80
DTDigiTask::kFactor
float kFactor
Definition: DTDigiTask.h:91
DTDigiTask::doAllHitsOccupancies
bool doAllHitsOccupancies
Definition: DTDigiTask.h:140
DTTtrigRcd
Definition: DTTtrigRcd.h:5
min
T min(T a, T b)
Definition: MathUtil.h:58
DTReadOutMappingRcd
Definition: DTReadOutMappingRcd.h:5
DTDigiTask::dtDigiToken_
edm::EDGetTokenT< DTDigiCollection > dtDigiToken_
Definition: DTDigiTask.h:114
DTDigiTask::tTrigRMS
float tTrigRMS
Definition: DTDigiTask.h:90
DTDigiTask::tMax
int tMax
no needs to be precise. Value from PSets will always be used
Definition: DTDigiTask.h:85
DTDigiTask::timeBoxGranularity
int timeBoxGranularity
Definition: DTDigiTask.h:138
dqm::implementation::NavigatorBase::setCurrentFolder
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
DTDigiTask::sliceTestMode
bool sliceTestMode
Definition: DTDigiTask.h:148
DTDigiTask::channelsMap
void channelsMap(const DTChamberId &dtCh, std::string histoTag)
To map real channels.
Definition: DTDigiTask.cc:719
DTDigiTask::maxTDCHits
int maxTDCHits
Definition: DTDigiTask.h:86
edm::second
U second(std::pair< T, U > const &p)
Definition: ParameterSet.cc:222
DTDigiTask::t0Map
edm::ESHandle< DTT0 > t0Map
Definition: DTDigiTask.h:106
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
DTSuperLayerId::superlayer
int superlayer() const
Return the superlayer number (deprecated method name)
Definition: DTSuperLayerId.h:42
DTDigiTask::maxTTMounts
int maxTTMounts
Definition: DTDigiTask.h:139
DTT0Rcd
Definition: DTT0Rcd.h:9
spr::find
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:19
edm::Handle< DTDigiCollection >
DTDigiTask::muonGeom
edm::ESHandle< DTGeometry > muonGeom
Definition: DTDigiTask.h:102
MuonDigiCollection::const_iterator
std::vector< DigiType >::const_iterator const_iterator
Definition: MuonDigiCollection.h:94
DTDigiTask::doLayerTimeBoxes
bool doLayerTimeBoxes
Definition: DTDigiTask.h:151
DTDigiTask::mapping
edm::ESHandle< DTReadOutMapping > mapping
Definition: DTDigiTask.h:103
DTDigiTask::bookHistos
void bookHistos(DQMStore::IBooker &ibooker, const DTSuperLayerId &dtSL, std::string folder, std::string histoTag)
Book the ME.
DTDigiTask::syncNum
int syncNum
Definition: DTDigiTask.h:98
DTDigiTask::tTrigMap
edm::ESHandle< DTTtrig > tTrigMap
Definition: DTDigiTask.h:105
edm::EventSetup::get
T get() const
Definition: EventSetup.h:80
DTT0::get
int get(int wheelId, int stationId, int sectorId, int slId, int layerId, int cellId, float &t0mean, float &t0rms, DTTimeUnits::type unit) const
Definition: DTT0.cc:48
DTWireId
Definition: DTWireId.h:12
FrontierCondition_GT_autoExpress_cfi.t0
t0
Definition: FrontierCondition_GT_autoExpress_cfi.py:148
DTDigiTask::syncNoisyChambers
std::set< DTChamberId > syncNoisyChambers
Definition: DTDigiTask.h:96
DTDigiTask::defaultTmax
int defaultTmax
Definition: DTDigiTask.h:123
dqm::impl::MonitorElement::Fill
void Fill(long long x)
Definition: MonitorElement.h:290
edm::ESHandle
Definition: DTSurvey.h:22
DTTtrig::get
int get(int wheelId, int stationId, int sectorId, int slId, float &tTrig, float &tTrms, float &kFact, DTTimeUnits::type unit) const
get content
Definition: DTTtrig.cc:59
DTDigiTask::tdcPedestal
int tdcPedestal
Definition: DTDigiTask.h:149
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
DTStatusFlagRcd
Definition: DTStatusFlagRcd.h:5
DTDigiTask::wheelHistos
std::map< std::string, std::map< int, MonitorElement * > > wheelHistos
Definition: DTDigiTask.h:109
DTDigiTask::topFolder
std::string topFolder() const
Definition: DTDigiTask.cc:711
DTDigiTask::nEventMonitor
MonitorElement * nEventMonitor
Definition: DTDigiTask.h:154
SiStripPI::max
Definition: SiStripPayloadInspectorHelper.h:169
DTDigiTask::ltcdigis
edm::Handle< LTCDigiCollection > ltcdigis
Definition: DTDigiTask.h:100
DTReadOutMapping::geometryToReadOut
int geometryToReadOut(int wheelId, int stationId, int sectorId, int slId, int layerId, int cellId, int &dduId, int &rosId, int &robId, int &tdcId, int &channelId) const
Definition: DTReadOutMapping.cc:185
DTSuperLayerId::chamberId
DTChamberId chamberId() const
Return the corresponding ChamberId.
Definition: DTSuperLayerId.h:45
dtResolutionTest_cfi.histoTag
histoTag
Definition: dtResolutionTest_cfi.py:21
createfilelist.int
int
Definition: createfilelist.py:10
DTDigiTask::lookForSyncNoise
bool lookForSyncNoise
Definition: DTDigiTask.h:145
DTDigiTask::tTrig
float tTrig
tTrig from the DB
Definition: DTDigiTask.h:89
HltBtagPostValidation_cff.c
c
Definition: HltBtagPostValidation_cff.py:31
get
#define get
DTDigiTask::isLocalRun
bool isLocalRun
Definition: DTDigiTask.h:128
DTDigiTask::doInTimeOccupancies
bool doInTimeOccupancies
Definition: DTDigiTask.h:142
DTDigiTask::subtractT0
bool subtractT0
Definition: DTDigiTask.h:121
DTDigiTask::digiHistos
std::map< std::string, std::map< uint32_t, MonitorElement * > > digiHistos
Definition: DTDigiTask.h:108
DTDigiTask::triggerSource
std::string triggerSource()
get the L1A source
Definition: DTDigiTask.cc:690
DTDigiTask::defaultTTrig
int defaultTTrig
Definition: DTDigiTask.h:134
DTDigiTask::inTimeHitsUpperBound
int inTimeHitsUpperBound
Definition: DTDigiTask.h:137
DTDigiTask::readTTrigDB
bool readTTrigDB
Definition: DTDigiTask.h:119
DTChamberId::sector
int sector() const
Definition: DTChamberId.h:49
DTDigiTask::checkNoisyChannels
bool checkNoisyChannels
Definition: DTDigiTask.h:132
DetId::rawId
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
DTDigiTask::nevents
int nevents
Definition: DTDigiTask.h:82
DTDigiTask::hitMap
std::map< DTChamberId, int > hitMap
Definition: DTDigiTask.h:95
DTTimeUnits::counts
Definition: DTTimeUnits.h:32
edm::LogVerbatim
Log< level::Info, true > LogVerbatim
Definition: MessageLogger.h:128
DTDigiTask::resetCycle
int resetCycle
Definition: DTDigiTask.h:130
DTDigiTask::doStaticBooking
bool doStaticBooking
Definition: DTDigiTask.h:126
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
DTDigiTask::filterSyncNoise
bool filterSyncNoise
Definition: DTDigiTask.h:146
DTDigiTask::syncNumTot
int syncNumTot
Definition: DTDigiTask.h:97
DTChamberId
Definition: DTChamberId.h:14
LogTrace
#define LogTrace(id)
Definition: MessageLogger.h:224
DTDigiTask::tpMode
bool tpMode
Definition: DTDigiTask.h:144
event
Definition: event.py:1
DigiContainerIterator
Definition: MuonDigiCollection.h:30
MuonGeometryRecord
Definition: MuonGeometryRecord.h:34
DTDigiTask::inTimeHitsLowerBound
int inTimeHitsLowerBound
Definition: DTDigiTask.h:136
DTChamberId::wheel
int wheel() const
Return the wheel number.
Definition: DTChamberId.h:39
edm::InputTag
Definition: InputTag.h:15
DTChamberId::station
int station() const
Return the station number.
Definition: DTChamberId.h:42
DTDigiTask::doNoiseOccupancies
bool doNoiseOccupancies
Definition: DTDigiTask.h:141
DTDigiTask::ltcDigiCollectionToken_
edm::EDGetTokenT< LTCDigiCollection > ltcDigiCollectionToken_
Definition: DTDigiTask.h:116