CMS 3D CMS Logo

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

#include <DTSegmentAnalysisTask.h>

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

Public Member Functions

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

Protected Member Functions

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

Private Member Functions

void bookHistos (DQMStore::IBooker &ibooker, DTChamberId chamberId)
 
void fillHistos (DTChamberId chamberId, int nHits, float chi2)
 

Private Attributes

bool checkNoisyChannels
 
bool detailedAnalysis
 
const DTGeometrydtGeom
 
std::map< DTChamberId, std::vector< MonitorElement * > > histosPerCh
 
bool hltDQMMode
 
edm::ESGetToken< DTGeometry, MuonGeometryRecordmuonGeomToken_
 
MonitorElementnEventMonitor
 
int nevents
 
int nhitsCut
 
double phiSegmCut
 
edm::EDGetTokenT< DTRecSegment4DCollectionrecHits4DToken_
 
const DTStatusFlagstatusMap
 
edm::ESGetToken< DTStatusFlag, DTStatusFlagRcdstatusMapToken_
 
std::map< int, MonitorElement * > summaryHistos
 
std::string topHistoFolder
 

Additional Inherited Members

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

Detailed Description

DQM Analysis of 4D DT segments, it produces plots about:

Author
G. Cerminara - INFN Torino

Definition at line 41 of file DTSegmentAnalysisTask.h.

Constructor & Destructor Documentation

◆ DTSegmentAnalysisTask()

DTSegmentAnalysisTask::DTSegmentAnalysisTask ( const edm::ParameterSet pset)

Constructor.

Definition at line 33 of file DTSegmentAnalysisTask.cc.

References checkNoisyChannels, detailedAnalysis, hltDQMMode, ProducerED_cfi::InputTag, nhitsCut, phiSegmCut, muonDTDigis_cfi::pset, recHits4DToken_, and topHistoFolder.

34  : muonGeomToken_(esConsumes<edm::Transition::BeginRun>()), statusMapToken_(esConsumes()), nevents(0) {
35  edm::LogVerbatim("DTDQM|DTMonitorModule|DTSegmentAnalysisTask") << "[DTSegmentAnalysisTask] Constructor called!";
36 
37  // switch for detailed analysis
38  detailedAnalysis = pset.getUntrackedParameter<bool>("detailedAnalysis", false);
39  // the name of the 4D rec hits collection
41  consumes<DTRecSegment4DCollection>(edm::InputTag(pset.getUntrackedParameter<string>("recHits4DLabel")));
42  // Get the map of noisy channels
43  checkNoisyChannels = pset.getUntrackedParameter<bool>("checkNoisyChannels", false);
44  phiSegmCut = pset.getUntrackedParameter<double>("phiSegmCut", 30.);
45  nhitsCut = pset.getUntrackedParameter<int>("nhitsCut", 12);
46 
47  // top folder for the histograms in DQMStore
48  topHistoFolder = pset.getUntrackedParameter<string>("topHistoFolder", "DT/02-Segments");
49  // hlt DQM mode
50  hltDQMMode = pset.getUntrackedParameter<bool>("hltDQMMode", false);
51 }
Log< level::Info, true > LogVerbatim
ESGetTokenH3DDVariant esConsumes(std::string const &Record, edm::ConsumesCollector &)
Definition: DeDxTools.cc:283
edm::ESGetToken< DTStatusFlag, DTStatusFlagRcd > statusMapToken_
edm::ESGetToken< DTGeometry, MuonGeometryRecord > muonGeomToken_
edm::EDGetTokenT< DTRecSegment4DCollection > recHits4DToken_

◆ ~DTSegmentAnalysisTask()

DTSegmentAnalysisTask::~DTSegmentAnalysisTask ( )
override

Destructor.

Definition at line 53 of file DTSegmentAnalysisTask.cc.

53  {
54  //FR moved fron endjob
55  edm::LogVerbatim("DTDQM|DTMonitorModule|DTSegmentAnalysisTask") << "[DTSegmentAnalysisTask] Destructor called!";
56 }
Log< level::Info, true > LogVerbatim

Member Function Documentation

◆ analyze()

void DTSegmentAnalysisTask::analyze ( const edm::Event event,
const edm::EventSetup setup 
)
overridevirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 106 of file DTSegmentAnalysisTask.cc.

References DTStatusFlag::cellStatus(), checkNoisyChannels, HLT_2024v14_cff::distance, dqm::impl::MonitorElement::Fill(), fillHistos(), edm::HandleBase::isValid(), nEventMonitor, nevents, nHits, nhitsCut, phiSegmCut, Pi, FastTimerService_cff::range, recHits4DToken_, singleTopDQM_cfi::setup, findQualityFiles::size, DTRecSegment2D::specificRecHits(), statusMap, statusMapToken_, and xdir.

106  {
107  nevents++;
109 
110  edm::LogVerbatim("DTDQM|DTMonitorModule|DTSegmentAnalysisTask")
111  << "[DTSegmentAnalysisTask] Analyze #Run: " << event.id().run() << " #Event: " << event.id().event();
112  if (!(event.id().event() % 1000))
113  edm::LogVerbatim("DTDQM|DTMonitorModule|DTSegmentAnalysisTask")
114  << "[DTSegmentAnalysisTask] Analyze #Run: " << event.id().run() << " #Event: " << event.id().event();
115 
116  if (checkNoisyChannels) {
117  statusMap = &setup.getData(statusMapToken_);
118  }
119 
120  // -- 4D segment analysis -----------------------------------------------------
121 
122  // Get the 4D segment collection from the event
124  event.getByToken(recHits4DToken_, all4DSegments);
125 
126  if (!all4DSegments.isValid())
127  return;
128 
129  // Loop over all chambers containing a segment
131  for (chamberId = all4DSegments->id_begin(); chamberId != all4DSegments->id_end(); ++chamberId) {
132  // Get the range for the corresponding ChamerId
133  DTRecSegment4DCollection::range range = all4DSegments->get(*chamberId);
134 
135  edm::LogVerbatim("DTDQM|DTMonitorModule|DTSegmentAnalysisTask")
136  << " Chamber: " << *chamberId << " has " << distance(range.first, range.second) << " 4D segments";
137 
138  // Loop over the rechits of this ChamerId
139  for (DTRecSegment4DCollection::const_iterator segment4D = range.first; segment4D != range.second; ++segment4D) {
140  //FOR NOISY CHANNELS////////////////////////////////
141  bool segmNoisy = false;
142  if (checkNoisyChannels) {
143  if ((*segment4D).hasPhi()) {
144  const DTChamberRecSegment2D* phiSeg = (*segment4D).phiSegment();
145  vector<DTRecHit1D> phiHits = phiSeg->specificRecHits();
146  map<DTSuperLayerId, vector<DTRecHit1D> > hitsBySLMap;
147  for (vector<DTRecHit1D>::const_iterator hit = phiHits.begin(); hit != phiHits.end(); ++hit) {
148  DTWireId wireId = (*hit).wireId();
149 
150  // Check for noisy channels to skip them
151  bool isNoisy = false;
152  bool isFEMasked = false;
153  bool isTDCMasked = false;
154  bool isTrigMask = false;
155  bool isDead = false;
156  bool isNohv = false;
157  statusMap->cellStatus(wireId, isNoisy, isFEMasked, isTDCMasked, isTrigMask, isDead, isNohv);
158  if (isNoisy) {
159  edm::LogVerbatim("DTDQM|DTMonitorModule|DTSegmentAnalysisTask")
160  << "Wire: " << wireId << " is noisy, skipping!";
161  segmNoisy = true;
162  }
163  }
164  }
165 
166  if ((*segment4D).hasZed()) {
167  const DTSLRecSegment2D* zSeg = (*segment4D).zSegment(); // zSeg lives in the SL RF
168  // Check for noisy channels to skip them
169  vector<DTRecHit1D> zHits = zSeg->specificRecHits();
170  for (vector<DTRecHit1D>::const_iterator hit = zHits.begin(); hit != zHits.end(); ++hit) {
171  DTWireId wireId = (*hit).wireId();
172  bool isNoisy = false;
173  bool isFEMasked = false;
174  bool isTDCMasked = false;
175  bool isTrigMask = false;
176  bool isDead = false;
177  bool isNohv = false;
178  statusMap->cellStatus(wireId, isNoisy, isFEMasked, isTDCMasked, isTrigMask, isDead, isNohv);
179  if (isNoisy) {
180  edm::LogVerbatim("DTDQM|DTMonitorModule|DTSegmentAnalysisTask")
181  << "Wire: " << wireId << " is noisy, skipping!";
182  segmNoisy = true;
183  }
184  }
185  }
186 
187  } // end of switch on noisy channels
188  if (segmNoisy) {
189  edm::LogVerbatim("DTDQM|DTMonitorModule|DTSegmentAnalysisTask")
190  << "skipping the segment: it contains noisy cells";
191  continue;
192  }
193  //END FOR NOISY CHANNELS////////////////////////////////
194 
195  int nHits = 0;
196  if ((*segment4D).hasPhi())
197  nHits = (((*segment4D).phiSegment())->specificRecHits()).size();
198  if ((*segment4D).hasZed())
199  nHits = nHits + ((((*segment4D).zSegment())->specificRecHits()).size());
200 
201  double anglePhiSegm(0.);
202  if ((*segment4D).hasPhi()) {
203  double xdir = (*segment4D).phiSegment()->localDirection().x();
204  double zdir = (*segment4D).phiSegment()->localDirection().z();
205 
206  anglePhiSegm = atan(xdir / zdir) * 180. / TMath::Pi();
207  }
208  if (fabs(anglePhiSegm) > phiSegmCut)
209  continue;
210  // If the segment is in Wh+-2/SecX/MB1, get the DT chambers just above and check if there is a segment
211  // to validate the segment present in MB1
212  if (fabs((*chamberId).wheel()) == 2 && (*chamberId).station() == 1) {
213  bool segmOk = false;
214  int mb(2);
215  while (mb < 4) {
216  DTChamberId checkMB((*chamberId).wheel(), mb, (*chamberId).sector());
217  DTRecSegment4DCollection::range ckrange = all4DSegments->get(checkMB);
218 
219  for (DTRecSegment4DCollection::const_iterator cksegment4D = ckrange.first; cksegment4D != ckrange.second;
220  ++cksegment4D) {
221  int nHits = 0;
222  if ((*cksegment4D).hasPhi())
223  nHits = (((*cksegment4D).phiSegment())->specificRecHits()).size();
224  if ((*cksegment4D).hasZed())
225  nHits = nHits + ((((*cksegment4D).zSegment())->specificRecHits()).size());
226 
227  if (nHits >= nhitsCut)
228  segmOk = true;
229  }
230  mb++;
231  }
232 
233  if (!segmOk)
234  continue;
235  }
236  fillHistos(*chamberId, nHits, (*segment4D).chi2() / (*segment4D).degreesOfFreedom());
237  }
238  }
239 
240  // -----------------------------------------------------------------------------
241 }
size
Write out results.
const double Pi
Log< level::Info, true > LogVerbatim
void fillHistos(DTChamberId chamberId, int nHits, float chi2)
std::pair< const_iterator, const_iterator > range
iterator range
Definition: RangeMap.h:50
identifier iterator
Definition: RangeMap.h:130
edm::ESGetToken< DTStatusFlag, DTStatusFlagRcd > statusMapToken_
void Fill(long long x)
C::const_iterator const_iterator
constant access iterator type
Definition: RangeMap.h:43
const DTStatusFlag * statusMap
std::vector< DTRecHit1D > specificRecHits() const
Access to specific components.
bool isValid() const
Definition: HandleBase.h:70
MonitorElement * nEventMonitor
TupleMultiplicity< TrackerTraits > const *__restrict__ uint32_t nHits
edm::EDGetTokenT< DTRecSegment4DCollection > recHits4DToken_
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:90
Definition: event.py:1

◆ bookHistograms()

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

Implements DQMEDAnalyzer.

Definition at line 63 of file DTSegmentAnalysisTask.cc.

References dqm::implementation::IBooker::book2D(), dqm::implementation::IBooker::bookFloat(), bookHistos(), DTGeometry::chambers(), chambers, dtGeom, HltBtagPostValidation_cff::histoName, hltDQMMode, nEventMonitor, dqm::implementation::NavigatorBase::setCurrentFolder(), summaryHistos, topHistoFolder, and makeMuonMisalignmentScenario::wheel.

65  {
66  if (!hltDQMMode) {
67  ibooker.setCurrentFolder("DT/EventInfo/Counters");
68  nEventMonitor = ibooker.bookFloat("nProcessedEventsSegment");
69  }
70 
71  for (int wh = -2; wh <= 2; wh++) {
72  stringstream wheel;
73  wheel << wh;
74  ibooker.setCurrentFolder(topHistoFolder + "/Wheel" + wheel.str());
75  string histoName = "numberOfSegments_W" + wheel.str();
76 
77  summaryHistos[wh] = ibooker.book2D(histoName.c_str(), histoName.c_str(), 12, 1, 13, 4, 1, 5);
78  summaryHistos[wh]->setAxisTitle("Sector", 1);
79  summaryHistos[wh]->setBinLabel(1, "1", 1);
80  summaryHistos[wh]->setBinLabel(2, "2", 1);
81  summaryHistos[wh]->setBinLabel(3, "3", 1);
82  summaryHistos[wh]->setBinLabel(4, "4", 1);
83  summaryHistos[wh]->setBinLabel(5, "5", 1);
84  summaryHistos[wh]->setBinLabel(6, "6", 1);
85  summaryHistos[wh]->setBinLabel(7, "7", 1);
86  summaryHistos[wh]->setBinLabel(8, "8", 1);
87  summaryHistos[wh]->setBinLabel(9, "9", 1);
88  summaryHistos[wh]->setBinLabel(10, "10", 1);
89  summaryHistos[wh]->setBinLabel(11, "11", 1);
90  summaryHistos[wh]->setBinLabel(12, "12", 1);
91  summaryHistos[wh]->setBinLabel(1, "MB1", 2);
92  summaryHistos[wh]->setBinLabel(2, "MB2", 2);
93  summaryHistos[wh]->setBinLabel(3, "MB3", 2);
94  summaryHistos[wh]->setBinLabel(4, "MB4", 2);
95  }
96 
97  // loop over all the DT chambers & book the histos
98  const vector<const DTChamber*>& chambers = dtGeom->chambers();
99  vector<const DTChamber*>::const_iterator ch_it = chambers.begin();
100  vector<const DTChamber*>::const_iterator ch_end = chambers.end();
101  for (; ch_it != ch_end; ++ch_it) {
102  bookHistos(ibooker, (*ch_it)->id());
103  }
104 }
MonitorElement * bookFloat(TString const &name, FUNC onbooking=NOOP())
Definition: DQMStore.h:80
const DTGeometry * dtGeom
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:36
void bookHistos(DQMStore::IBooker &ibooker, DTChamberId chamberId)
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
Definition: DQMStore.h:221
MonitorElement * nEventMonitor
std::map< int, MonitorElement * > summaryHistos
const std::vector< const DTChamber * > & chambers() const
Return a vector of all Chamber.
Definition: DTGeometry.cc:84
static char chambers[264][20]
Definition: ReadPGInfo.cc:243

◆ bookHistos()

void DTSegmentAnalysisTask::bookHistos ( DQMStore::IBooker ibooker,
DTChamberId  chamberId 
)
private

Definition at line 244 of file DTSegmentAnalysisTask.cc.

References dqm::implementation::IBooker::book1D(), detailedAnalysis, combine::histos, histosPerCh, nano_mu_digi_cff::sector, DTChamberId::sector(), dqm::implementation::NavigatorBase::setCurrentFolder(), DTChamberId::station(), relativeConstraints::station, topHistoFolder, DTChamberId::wheel(), and makeMuonMisalignmentScenario::wheel.

Referenced by bookHistograms().

244  {
245  edm::LogVerbatim("DTDQM|DTMonitorModule|DTSegmentAnalysisTask") << " Booking histos for chamber: " << chamberId;
246 
247  // Compose the chamber name
248  stringstream wheel;
249  wheel << chamberId.wheel();
250  stringstream station;
251  station << chamberId.station();
252  stringstream sector;
253  sector << chamberId.sector();
254 
255  string chamberHistoName = "_W" + wheel.str() + "_St" + station.str() + "_Sec" + sector.str();
256 
257  ibooker.setCurrentFolder(topHistoFolder + "/Wheel" + wheel.str() + "/Sector" + sector.str() + "/Station" +
258  station.str());
259 
260  // Create the monitor elements
261  vector<MonitorElement*> histos;
262  histos.push_back(ibooker.book1D("h4DSegmNHits" + chamberHistoName, "# of hits per segment", 16, 0.5, 16.5));
263  if (detailedAnalysis) {
264  histos.push_back(ibooker.book1D("h4DChi2" + chamberHistoName, "4D Segment reduced Chi2", 20, 0, 20));
265  }
266  histosPerCh[chamberId] = histos;
267 }
Log< level::Info, true > LogVerbatim
int station() const
Return the station number.
Definition: DTChamberId.h:45
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:36
std::map< DTChamberId, std::vector< MonitorElement * > > histosPerCh
histos
Definition: combine.py:4
int wheel() const
Return the wheel number.
Definition: DTChamberId.h:42
int sector() const
Definition: DTChamberId.h:52
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98

◆ dqmBeginRun()

void DTSegmentAnalysisTask::dqmBeginRun ( const edm::Run run,
const edm::EventSetup context 
)
overridevirtual

BeginRun.

Reimplemented from DQMEDAnalyzer.

Definition at line 58 of file DTSegmentAnalysisTask.cc.

References visDQMUpload::context, dtGeom, and muonGeomToken_.

58  {
59  // Get the DT Geometry
60  dtGeom = &context.getData(muonGeomToken_);
61 }
const DTGeometry * dtGeom
edm::ESGetToken< DTGeometry, MuonGeometryRecord > muonGeomToken_

◆ fillHistos()

void DTSegmentAnalysisTask::fillHistos ( DTChamberId  chamberId,
int  nHits,
float  chi2 
)
private

Definition at line 270 of file DTSegmentAnalysisTask.cc.

References nano_mu_local_reco_cff::chi2, detailedAnalysis, combine::histos, histosPerCh, nHits, nano_mu_digi_cff::sector, DTChamberId::sector(), DTChamberId::station(), summaryHistos, and DTChamberId::wheel().

Referenced by analyze().

270  {
271  int sector = chamberId.sector();
272  if (chamberId.sector() == 13) {
273  sector = 4;
274  } else if (chamberId.sector() == 14) {
275  sector = 10;
276  }
277 
278  summaryHistos[chamberId.wheel()]->Fill(sector, chamberId.station());
279 
280  vector<MonitorElement*> histos = histosPerCh[chamberId];
281  histos[0]->Fill(nHits);
282  if (detailedAnalysis) {
283  histos[1]->Fill(chi2);
284  }
285 }
int station() const
Return the station number.
Definition: DTChamberId.h:45
std::map< DTChamberId, std::vector< MonitorElement * > > histosPerCh
histos
Definition: combine.py:4
int wheel() const
Return the wheel number.
Definition: DTChamberId.h:42
int sector() const
Definition: DTChamberId.h:52
std::map< int, MonitorElement * > summaryHistos
TupleMultiplicity< TrackerTraits > const *__restrict__ uint32_t nHits

Member Data Documentation

◆ checkNoisyChannels

bool DTSegmentAnalysisTask::checkNoisyChannels
private

Definition at line 75 of file DTSegmentAnalysisTask.h.

Referenced by analyze(), and DTSegmentAnalysisTask().

◆ detailedAnalysis

bool DTSegmentAnalysisTask::detailedAnalysis
private

Definition at line 61 of file DTSegmentAnalysisTask.h.

Referenced by bookHistos(), DTSegmentAnalysisTask(), and fillHistos().

◆ dtGeom

const DTGeometry* DTSegmentAnalysisTask::dtGeom
private

Definition at line 65 of file DTSegmentAnalysisTask.h.

Referenced by bookHistograms(), and dqmBeginRun().

◆ histosPerCh

std::map<DTChamberId, std::vector<MonitorElement*> > DTSegmentAnalysisTask::histosPerCh
private

Definition at line 83 of file DTSegmentAnalysisTask.h.

Referenced by bookHistos(), and fillHistos().

◆ hltDQMMode

bool DTSegmentAnalysisTask::hltDQMMode
private

Definition at line 90 of file DTSegmentAnalysisTask.h.

Referenced by bookHistograms(), and DTSegmentAnalysisTask().

◆ muonGeomToken_

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

Definition at line 64 of file DTSegmentAnalysisTask.h.

Referenced by dqmBeginRun().

◆ nEventMonitor

MonitorElement* DTSegmentAnalysisTask::nEventMonitor
private

Definition at line 96 of file DTSegmentAnalysisTask.h.

Referenced by analyze(), and bookHistograms().

◆ nevents

int DTSegmentAnalysisTask::nevents
private

Definition at line 86 of file DTSegmentAnalysisTask.h.

Referenced by analyze().

◆ nhitsCut

int DTSegmentAnalysisTask::nhitsCut
private

Definition at line 94 of file DTSegmentAnalysisTask.h.

Referenced by analyze(), and DTSegmentAnalysisTask().

◆ phiSegmCut

double DTSegmentAnalysisTask::phiSegmCut
private

Definition at line 92 of file DTSegmentAnalysisTask.h.

Referenced by analyze(), and DTSegmentAnalysisTask().

◆ recHits4DToken_

edm::EDGetTokenT<DTRecSegment4DCollection> DTSegmentAnalysisTask::recHits4DToken_
private

Definition at line 72 of file DTSegmentAnalysisTask.h.

Referenced by analyze(), and DTSegmentAnalysisTask().

◆ statusMap

const DTStatusFlag* DTSegmentAnalysisTask::statusMap
private

Definition at line 69 of file DTSegmentAnalysisTask.h.

Referenced by analyze().

◆ statusMapToken_

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

Definition at line 68 of file DTSegmentAnalysisTask.h.

Referenced by analyze().

◆ summaryHistos

std::map<int, MonitorElement*> DTSegmentAnalysisTask::summaryHistos
private

Definition at line 84 of file DTSegmentAnalysisTask.h.

Referenced by bookHistograms(), and fillHistos().

◆ topHistoFolder

std::string DTSegmentAnalysisTask::topHistoFolder
private

Definition at line 88 of file DTSegmentAnalysisTask.h.

Referenced by bookHistograms(), bookHistos(), and DTSegmentAnalysisTask().