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
 
 EDProducer (const EDProducer &)=delete
 
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
 
const EDProduceroperator= (const EDProducer &)=delete
 
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::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
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
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)
 

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
 
const DTReadOutMappingmapping
 
int maxTDCHits
 
int maxTTMounts
 
const DTGeometrymuonGeom
 
edm::ESGetToken< DTGeometry, MuonGeometryRecordmuonGeomToken_
 
MonitorElementnEventMonitor
 
int nevents
 
std::map< DTChamberId, int > nSynchNoiseEvents
 
edm::ESGetToken< DTReadOutMapping, DTReadOutMappingRcdreadOutMapToken_
 
bool readTTrigDB
 
int resetCycle
 
bool sliceTestMode
 
const DTStatusFlagstatusMap
 
edm::ESGetToken< DTStatusFlag, DTStatusFlagRcdstatusMapToken_
 
bool subtractT0
 
std::set< DTChamberIdsyncNoisyChambers
 
int syncNum
 
int syncNumTot
 
const DTT0t0Map
 
edm::ESGetToken< DTT0, DTT0RcdT0Token_
 
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...
 
const DTTtrigtTrigMap
 
float tTrigRMS
 
edm::ESGetToken< DTTtrig, DTTtrigRcdTtrigToken_
 
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 54 of file DTDigiTask.h.

Constructor & Destructor Documentation

◆ DTDigiTask()

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

Constructor.

Definition at line 36 of file DTDigiTask.cc.

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

References checkNoisyChannels, defaultTmax, defaultTTrig, doAllHitsOccupancies, doInTimeOccupancies, doLayerTimeBoxes, doNoiseOccupancies, doStaticBooking, dtDigiToken_, filterSyncNoise, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), inTimeHitsLowerBound, inTimeHitsUpperBound, isLocalRun, LogTrace, lookForSyncNoise, ltcDigiCollectionToken_, maxTDCHits, maxTTMounts, readTTrigDB, resetCycle, sliceTestMode, subtractT0, syncNum, syncNumTot, tdcPedestal, timeBoxGranularity, and tpMode.

◆ ~DTDigiTask()

DTDigiTask::~DTDigiTask ( )
override

Destructor.

Definition at line 100 of file DTDigiTask.cc.

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

References LogTrace, and 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 444 of file DTDigiTask.cc.

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

References c, DTStatusFlag::cellStatus(), DTSuperLayerId::chamberId(), checkNoisyChannels, DTTimeUnits::counts, defaultTTrig, digiHistos, doAllHitsOccupancies, doInTimeOccupancies, doLayerTimeBoxes, doNoiseOccupancies, dtDigiToken_, dqm::impl::MonitorElement::Fill(), filterSyncNoise, spr::find(), DTT0::get(), DTTtrig::get(), dtResolutionTest_cfi::histoTag, hitMap, createfilelist::int, inTimeHitsLowerBound, inTimeHitsUpperBound, isLocalRun, kFactor, phase1PixelTopology::layer, LogTrace, lookForSyncNoise, ltcDigiCollectionToken_, ltcdigis, SiStripPI::max, maxTDCHits, maxTTMounts, min(), nEventMonitor, nevents, DetId::rawId(), readTTrigDB, edm::second(), DTChamberId::sector(), sliceTestMode, DTChamberId::station(), statusMap, statusMapToken_, subtractT0, DTSuperLayerId::superlayer(), syncNoisyChambers, syncNum, syncNumTot, FrontierCondition_GT_autoExpress_cfi::t0, t0Map, tdcPedestal, tMax, triggerSource(), tTrig, tTrigMap, tTrigRMS, DTChamberId::wheel(), and wheelHistos.

◆ beginLuminosityBlock()

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

To reset the MEs.

Definition at line 190 of file DTDigiTask.cc.

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

References channelsMap(), digiHistos, edm::LuminosityBlockBase::id(), LogTrace, edm::LuminosityBlockID::luminosityBlock(), resetCycle, sliceTestMode, and wheelHistos.

◆ bookHistograms()

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

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

Definition at line 126 of file DTDigiTask.cc.

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

References dqm::implementation::IBooker::bookFloat(), bookHistos(), channelsMap(), doAllHitsOccupancies, doInTimeOccupancies, doNoiseOccupancies, doStaticBooking, filterSyncNoise, isLocalRun, lookForSyncNoise, nEventMonitor, dqm::implementation::NavigatorBase::setCurrentFolder(), sliceTestMode, topFolder(), and tpMode.

◆ 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.

Referenced by bookHistograms().

◆ 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 728 of file DTDigiTask.cc.

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

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

Referenced by beginLuminosityBlock(), and bookHistograms().

◆ dqmBeginRun()

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

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

Definition at line 104 of file DTDigiTask.cc.

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

References visDQMUpload::context, defaultTmax, LogTrace, mapping, muonGeom, muonGeomToken_, nevents, readOutMapToken_, readTTrigDB, subtractT0, t0Map, T0Token_, tMax, tTrigMap, and TtrigToken_.

◆ endLuminosityBlock()

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

Definition at line 75 of file DTDigiTask.h.

75 {}

◆ topFolder()

string DTDigiTask::topFolder ( ) const
private

Definition at line 720 of file DTDigiTask.cc.

720  {
721  if (tpMode)
722  return string("DT/10-TestPulses/");
723  else if (sliceTestMode)
724  return string("DT/01-SliceTestDigi/");
725  return string("DT/01-Digi/");
726 }

References sliceTestMode, AlCaHLTBitMon_QueryRunRegistry::string, and tpMode.

Referenced by bookHistograms().

◆ triggerSource()

string DTDigiTask::triggerSource ( )
protected

get the L1A source

Definition at line 699 of file DTDigiTask.cc.

699  {
700  string l1ASource;
701  if (isLocalRun)
702  return l1ASource;
703 
704  for (std::vector<LTCDigi>::const_iterator ltc_it = ltcdigis->begin(); ltc_it != ltcdigis->end(); ltc_it++) {
705  size_t otherTriggerSum = 0;
706  for (size_t i = 1; i < 6; i++)
707  otherTriggerSum += size_t((*ltc_it).HasTriggered(i));
708 
709  if ((*ltc_it).HasTriggered(0) && otherTriggerSum == 0)
710  l1ASource = "DTonly";
711  else if (!(*ltc_it).HasTriggered(0))
712  l1ASource = "NoDT";
713  else if ((*ltc_it).HasTriggered(0) && otherTriggerSum > 0)
714  l1ASource = "DTalso";
715  }
716 
717  return l1ASource;
718 }

References mps_fire::i, isLocalRun, and ltcdigis.

Referenced by analyze().

Member Data Documentation

◆ checkNoisyChannels

bool DTDigiTask::checkNoisyChannels
private

Definition at line 147 of file DTDigiTask.h.

Referenced by analyze(), and DTDigiTask().

◆ defaultTmax

int DTDigiTask::defaultTmax
private

Definition at line 138 of file DTDigiTask.h.

Referenced by dqmBeginRun(), and DTDigiTask().

◆ defaultTTrig

int DTDigiTask::defaultTTrig
private

Definition at line 149 of file DTDigiTask.h.

Referenced by analyze(), and DTDigiTask().

◆ digiHistos

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

Definition at line 123 of file DTDigiTask.h.

Referenced by analyze(), beginLuminosityBlock(), and channelsMap().

◆ doAllHitsOccupancies

bool DTDigiTask::doAllHitsOccupancies
private

Definition at line 155 of file DTDigiTask.h.

Referenced by analyze(), bookHistograms(), and DTDigiTask().

◆ doInTimeOccupancies

bool DTDigiTask::doInTimeOccupancies
private

Definition at line 157 of file DTDigiTask.h.

Referenced by analyze(), bookHistograms(), and DTDigiTask().

◆ doLayerTimeBoxes

bool DTDigiTask::doLayerTimeBoxes
private

Definition at line 166 of file DTDigiTask.h.

Referenced by analyze(), and DTDigiTask().

◆ doNoiseOccupancies

bool DTDigiTask::doNoiseOccupancies
private

Definition at line 156 of file DTDigiTask.h.

Referenced by analyze(), bookHistograms(), and DTDigiTask().

◆ doStaticBooking

bool DTDigiTask::doStaticBooking
private

Definition at line 141 of file DTDigiTask.h.

Referenced by bookHistograms(), and DTDigiTask().

◆ dtDigiToken_

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

Definition at line 129 of file DTDigiTask.h.

Referenced by analyze(), and DTDigiTask().

◆ filterSyncNoise

bool DTDigiTask::filterSyncNoise
private

Definition at line 161 of file DTDigiTask.h.

Referenced by analyze(), bookHistograms(), and DTDigiTask().

◆ hitMap

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

Definition at line 102 of file DTDigiTask.h.

Referenced by analyze().

◆ inTimeHitsLowerBound

int DTDigiTask::inTimeHitsLowerBound
private

Definition at line 151 of file DTDigiTask.h.

Referenced by analyze(), and DTDigiTask().

◆ inTimeHitsUpperBound

int DTDigiTask::inTimeHitsUpperBound
private

Definition at line 152 of file DTDigiTask.h.

Referenced by analyze(), and DTDigiTask().

◆ isLocalRun

bool DTDigiTask::isLocalRun
private

Definition at line 143 of file DTDigiTask.h.

Referenced by analyze(), bookHistograms(), DTDigiTask(), and triggerSource().

◆ kFactor

float DTDigiTask::kFactor
private

Definition at line 98 of file DTDigiTask.h.

Referenced by analyze().

◆ lookForSyncNoise

bool DTDigiTask::lookForSyncNoise
private

Definition at line 160 of file DTDigiTask.h.

Referenced by analyze(), bookHistograms(), and DTDigiTask().

◆ ltcDigiCollectionToken_

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

Definition at line 131 of file DTDigiTask.h.

Referenced by analyze(), and DTDigiTask().

◆ ltcdigis

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

Definition at line 107 of file DTDigiTask.h.

Referenced by analyze(), and triggerSource().

◆ mapping

const DTReadOutMapping* DTDigiTask::mapping
private

Definition at line 112 of file DTDigiTask.h.

Referenced by channelsMap(), dqmBeginRun(), and progressbar.FormatLabel::update().

◆ maxTDCHits

int DTDigiTask::maxTDCHits
private

Definition at line 93 of file DTDigiTask.h.

Referenced by analyze(), and DTDigiTask().

◆ maxTTMounts

int DTDigiTask::maxTTMounts
private

Definition at line 154 of file DTDigiTask.h.

Referenced by analyze(), and DTDigiTask().

◆ muonGeom

const DTGeometry* DTDigiTask::muonGeom
private

Definition at line 110 of file DTDigiTask.h.

Referenced by dqmBeginRun().

◆ muonGeomToken_

edm::ESGetToken<DTGeometry, MuonGeometryRecord> DTDigiTask::muonGeomToken_
private

Definition at line 109 of file DTDigiTask.h.

Referenced by dqmBeginRun().

◆ nEventMonitor

MonitorElement* DTDigiTask::nEventMonitor
private

Definition at line 169 of file DTDigiTask.h.

Referenced by analyze(), and bookHistograms().

◆ nevents

int DTDigiTask::nevents
private

Definition at line 89 of file DTDigiTask.h.

Referenced by analyze(), dqmBeginRun(), and ~DTDigiTask().

◆ nSynchNoiseEvents

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

Definition at line 168 of file DTDigiTask.h.

◆ readOutMapToken_

edm::ESGetToken<DTReadOutMapping, DTReadOutMappingRcd> DTDigiTask::readOutMapToken_
private

Definition at line 111 of file DTDigiTask.h.

Referenced by dqmBeginRun().

◆ readTTrigDB

bool DTDigiTask::readTTrigDB
private

Definition at line 134 of file DTDigiTask.h.

Referenced by analyze(), dqmBeginRun(), and DTDigiTask().

◆ resetCycle

int DTDigiTask::resetCycle
private

Definition at line 145 of file DTDigiTask.h.

Referenced by beginLuminosityBlock(), and DTDigiTask().

◆ sliceTestMode

bool DTDigiTask::sliceTestMode
private

Definition at line 163 of file DTDigiTask.h.

Referenced by analyze(), beginLuminosityBlock(), bookHistograms(), DTDigiTask(), and topFolder().

◆ statusMap

const DTStatusFlag* DTDigiTask::statusMap
private

Definition at line 121 of file DTDigiTask.h.

Referenced by analyze().

◆ statusMapToken_

edm::ESGetToken<DTStatusFlag, DTStatusFlagRcd> DTDigiTask::statusMapToken_
private

Definition at line 120 of file DTDigiTask.h.

Referenced by analyze().

◆ subtractT0

bool DTDigiTask::subtractT0
private

Definition at line 136 of file DTDigiTask.h.

Referenced by analyze(), dqmBeginRun(), and DTDigiTask().

◆ syncNoisyChambers

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

Definition at line 103 of file DTDigiTask.h.

Referenced by analyze().

◆ syncNum

int DTDigiTask::syncNum
private

Definition at line 105 of file DTDigiTask.h.

Referenced by analyze(), and DTDigiTask().

◆ syncNumTot

int DTDigiTask::syncNumTot
private

Definition at line 104 of file DTDigiTask.h.

Referenced by analyze(), and DTDigiTask().

◆ t0Map

const DTT0* DTDigiTask::t0Map
private

Definition at line 117 of file DTDigiTask.h.

Referenced by analyze(), and dqmBeginRun().

◆ T0Token_

edm::ESGetToken<DTT0, DTT0Rcd> DTDigiTask::T0Token_
private

Definition at line 116 of file DTDigiTask.h.

Referenced by dqmBeginRun().

◆ tdcPedestal

int DTDigiTask::tdcPedestal
private

Definition at line 164 of file DTDigiTask.h.

Referenced by analyze(), and DTDigiTask().

◆ timeBoxGranularity

int DTDigiTask::timeBoxGranularity
private

Definition at line 153 of file DTDigiTask.h.

Referenced by DTDigiTask().

◆ tMax

int DTDigiTask::tMax
private

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

Definition at line 92 of file DTDigiTask.h.

Referenced by analyze(), and dqmBeginRun().

◆ tpMode

bool DTDigiTask::tpMode
private

Definition at line 159 of file DTDigiTask.h.

Referenced by bookHistograms(), DTDigiTask(), and topFolder().

◆ tTrig

float DTDigiTask::tTrig
private

tTrig from the DB

Definition at line 96 of file DTDigiTask.h.

Referenced by analyze().

◆ tTrigMap

const DTTtrig* DTDigiTask::tTrigMap
private

Definition at line 115 of file DTDigiTask.h.

Referenced by analyze(), and dqmBeginRun().

◆ tTrigRMS

float DTDigiTask::tTrigRMS
private

Definition at line 97 of file DTDigiTask.h.

Referenced by analyze().

◆ TtrigToken_

edm::ESGetToken<DTTtrig, DTTtrigRcd> DTDigiTask::TtrigToken_
private

Definition at line 114 of file DTDigiTask.h.

Referenced by dqmBeginRun().

◆ wheelHistos

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

Definition at line 124 of file DTDigiTask.h.

Referenced by analyze(), and beginLuminosityBlock().

DTSuperLayerId
Definition: DTSuperLayerId.h:12
DTDigiTask::t0Map
const DTT0 * t0Map
Definition: DTDigiTask.h:117
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::muonGeom
const DTGeometry * muonGeom
Definition: DTDigiTask.h:110
DTDigiTask::kFactor
float kFactor
Definition: DTDigiTask.h:98
DTDigiTask::doAllHitsOccupancies
bool doAllHitsOccupancies
Definition: DTDigiTask.h:155
min
T min(T a, T b)
Definition: MathUtil.h:58
DTDigiTask::dtDigiToken_
edm::EDGetTokenT< DTDigiCollection > dtDigiToken_
Definition: DTDigiTask.h:129
DTDigiTask::tTrigRMS
float tTrigRMS
Definition: DTDigiTask.h:97
DTDigiTask::tMax
int tMax
no needs to be precise. Value from PSets will always be used
Definition: DTDigiTask.h:92
DTDigiTask::timeBoxGranularity
int timeBoxGranularity
Definition: DTDigiTask.h:153
dqm::implementation::NavigatorBase::setCurrentFolder
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
DTDigiTask::mapping
const DTReadOutMapping * mapping
Definition: DTDigiTask.h:112
DTDigiTask::sliceTestMode
bool sliceTestMode
Definition: DTDigiTask.h:163
DTDigiTask::channelsMap
void channelsMap(const DTChamberId &dtCh, std::string histoTag)
To map real channels.
Definition: DTDigiTask.cc:728
DTDigiTask::maxTDCHits
int maxTDCHits
Definition: DTDigiTask.h:93
edm::second
U second(std::pair< T, U > const &p)
Definition: ParameterSet.cc:222
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:154
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::statusMapToken_
edm::ESGetToken< DTStatusFlag, DTStatusFlagRcd > statusMapToken_
Definition: DTDigiTask.h:120
MuonDigiCollection::const_iterator
std::vector< DigiType >::const_iterator const_iterator
Definition: MuonDigiCollection.h:94
visDQMUpload.context
context
Definition: visDQMUpload.py:37
DTDigiTask::doLayerTimeBoxes
bool doLayerTimeBoxes
Definition: DTDigiTask.h:166
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:105
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:149
DTDigiTask::syncNoisyChambers
std::set< DTChamberId > syncNoisyChambers
Definition: DTDigiTask.h:103
DTDigiTask::defaultTmax
int defaultTmax
Definition: DTDigiTask.h:138
DTDigiTask::tTrigMap
const DTTtrig * tTrigMap
Definition: DTDigiTask.h:115
dqm::impl::MonitorElement::Fill
void Fill(long long x)
Definition: MonitorElement.h:290
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:164
phase1PixelTopology::layer
constexpr std::array< uint8_t, layerIndexSize > layer
Definition: phase1PixelTopology.h:99
DTDigiTask::wheelHistos
std::map< std::string, std::map< int, MonitorElement * > > wheelHistos
Definition: DTDigiTask.h:124
DTDigiTask::topFolder
std::string topFolder() const
Definition: DTDigiTask.cc:720
DTDigiTask::nEventMonitor
MonitorElement * nEventMonitor
Definition: DTDigiTask.h:169
SiStripPI::max
Definition: SiStripPayloadInspectorHelper.h:169
DTDigiTask::ltcdigis
edm::Handle< LTCDigiCollection > ltcdigis
Definition: DTDigiTask.h:107
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
DTDigiTask::T0Token_
edm::ESGetToken< DTT0, DTT0Rcd > T0Token_
Definition: DTDigiTask.h:116
dtResolutionTest_cfi.histoTag
histoTag
Definition: dtResolutionTest_cfi.py:21
createfilelist.int
int
Definition: createfilelist.py:10
DTDigiTask::lookForSyncNoise
bool lookForSyncNoise
Definition: DTDigiTask.h:160
DTDigiTask::tTrig
float tTrig
tTrig from the DB
Definition: DTDigiTask.h:96
DTDigiTask::isLocalRun
bool isLocalRun
Definition: DTDigiTask.h:143
DTDigiTask::doInTimeOccupancies
bool doInTimeOccupancies
Definition: DTDigiTask.h:157
DTDigiTask::subtractT0
bool subtractT0
Definition: DTDigiTask.h:136
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
DTDigiTask::digiHistos
std::map< std::string, std::map< uint32_t, MonitorElement * > > digiHistos
Definition: DTDigiTask.h:123
DTDigiTask::triggerSource
std::string triggerSource()
get the L1A source
Definition: DTDigiTask.cc:699
DTDigiTask::readOutMapToken_
edm::ESGetToken< DTReadOutMapping, DTReadOutMappingRcd > readOutMapToken_
Definition: DTDigiTask.h:111
DTDigiTask::defaultTTrig
int defaultTTrig
Definition: DTDigiTask.h:149
DTDigiTask::inTimeHitsUpperBound
int inTimeHitsUpperBound
Definition: DTDigiTask.h:152
DTDigiTask::readTTrigDB
bool readTTrigDB
Definition: DTDigiTask.h:134
DTChamberId::sector
int sector() const
Definition: DTChamberId.h:49
DTDigiTask::checkNoisyChannels
bool checkNoisyChannels
Definition: DTDigiTask.h:147
DetId::rawId
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
DTDigiTask::nevents
int nevents
Definition: DTDigiTask.h:89
DTDigiTask::hitMap
std::map< DTChamberId, int > hitMap
Definition: DTDigiTask.h:102
DTTimeUnits::counts
Definition: DTTimeUnits.h:32
edm::LogVerbatim
Log< level::Info, true > LogVerbatim
Definition: MessageLogger.h:128
DTDigiTask::resetCycle
int resetCycle
Definition: DTDigiTask.h:145
DTDigiTask::doStaticBooking
bool doStaticBooking
Definition: DTDigiTask.h:141
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
DTDigiTask::filterSyncNoise
bool filterSyncNoise
Definition: DTDigiTask.h:161
edm::EDConsumerBase::esConsumes
auto esConsumes()
Definition: EDConsumerBase.h:206
DTDigiTask::TtrigToken_
edm::ESGetToken< DTTtrig, DTTtrigRcd > TtrigToken_
Definition: DTDigiTask.h:114
DTDigiTask::syncNumTot
int syncNumTot
Definition: DTDigiTask.h:104
DTChamberId
Definition: DTChamberId.h:14
LogTrace
#define LogTrace(id)
Definition: MessageLogger.h:234
c
auto & c
Definition: CAHitNtupletGeneratorKernelsImpl.h:56
DTDigiTask::tpMode
bool tpMode
Definition: DTDigiTask.h:159
event
Definition: event.py:1
DTDigiTask::statusMap
const DTStatusFlag * statusMap
Definition: DTDigiTask.h:121
DigiContainerIterator
Definition: MuonDigiCollection.h:30
DTDigiTask::inTimeHitsLowerBound
int inTimeHitsLowerBound
Definition: DTDigiTask.h:151
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::muonGeomToken_
edm::ESGetToken< DTGeometry, MuonGeometryRecord > muonGeomToken_
Definition: DTDigiTask.h:109
DTDigiTask::doNoiseOccupancies
bool doNoiseOccupancies
Definition: DTDigiTask.h:156
DTDigiTask::ltcDigiCollectionToken_
edm::EDGetTokenT< LTCDigiCollection > ltcDigiCollectionToken_
Definition: DTDigiTask.h:131