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
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 

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
 
edm::ESHandle< DTGeometrydtGeom
 
std::map< DTChamberId, std::vector< MonitorElement * > > histosPerCh
 
bool hltDQMMode
 
MonitorElementnEventMonitor
 
int nevents
 
int nhitsCut
 
double phiSegmCut
 
edm::EDGetTokenT< DTRecSegment4DCollectionrecHits4DToken_
 
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 >
typedef CacheContexts< T... > CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T... > HasAbility
 
typedef CacheTypes::LuminosityBlockCache LuminosityBlockCache
 
typedef LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCacheLuminosityBlockContext
 
typedef CacheTypes::LuminosityBlockSummaryCache LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache, GlobalCacheRunContext
 
typedef CacheTypes::RunSummaryCache 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 38 of file DTSegmentAnalysisTask.h.

Constructor & Destructor Documentation

◆ DTSegmentAnalysisTask()

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

Constructor.

Definition at line 35 of file DTSegmentAnalysisTask.cc.

35  : nevents(0) {
36  edm::LogVerbatim("DTDQM|DTMonitorModule|DTSegmentAnalysisTask") << "[DTSegmentAnalysisTask] Constructor called!";
37 
38  // switch for detailed analysis
39  detailedAnalysis = pset.getUntrackedParameter<bool>("detailedAnalysis", false);
40  // the name of the 4D rec hits collection
41  recHits4DToken_ = consumes<DTRecSegment4DCollection>(edm::InputTag(pset.getParameter<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 }

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

◆ ~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 }

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.

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

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

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

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 }

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.

◆ bookHistos()

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

Definition at line 245 of file DTSegmentAnalysisTask.cc.

245  {
246  edm::LogVerbatim("DTDQM|DTMonitorModule|DTSegmentAnalysisTask") << " Booking histos for chamber: " << chamberId;
247 
248  // Compose the chamber name
249  stringstream wheel;
250  wheel << chamberId.wheel();
251  stringstream station;
252  station << chamberId.station();
253  stringstream sector;
254  sector << chamberId.sector();
255 
256  string chamberHistoName = "_W" + wheel.str() + "_St" + station.str() + "_Sec" + sector.str();
257 
258  ibooker.setCurrentFolder(topHistoFolder + "/Wheel" + wheel.str() + "/Sector" + sector.str() + "/Station" +
259  station.str());
260 
261  // Create the monitor elements
262  vector<MonitorElement*> histos;
263  histos.push_back(ibooker.book1D("h4DSegmNHits" + chamberHistoName, "# of hits per segment", 16, 0.5, 16.5));
264  if (detailedAnalysis) {
265  histos.push_back(ibooker.book1D("h4DChi2" + chamberHistoName, "4D Segment reduced Chi2", 20, 0, 20));
266  }
267  histosPerCh[chamberId] = histos;
268 }

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

Referenced by bookHistograms().

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

58  {
59  // Get the DT Geometry
60  context.get<MuonGeometryRecord>().get(dtGeom);
61 }

References dtGeom, edm::EventSetup::get(), and get.

◆ fillHistos()

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

Definition at line 271 of file DTSegmentAnalysisTask.cc.

271  {
272  int sector = chamberId.sector();
273  if (chamberId.sector() == 13) {
274  sector = 4;
275  } else if (chamberId.sector() == 14) {
276  sector = 10;
277  }
278 
279  summaryHistos[chamberId.wheel()]->Fill(sector, chamberId.station());
280 
281  vector<MonitorElement*> histos = histosPerCh[chamberId];
282  histos[0]->Fill(nHits);
283  if (detailedAnalysis) {
284  histos[1]->Fill(chi2);
285  }
286 }

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

Referenced by analyze().

Member Data Documentation

◆ checkNoisyChannels

bool DTSegmentAnalysisTask::checkNoisyChannels
private

Definition at line 67 of file DTSegmentAnalysisTask.h.

Referenced by analyze(), and DTSegmentAnalysisTask().

◆ detailedAnalysis

bool DTSegmentAnalysisTask::detailedAnalysis
private

Definition at line 58 of file DTSegmentAnalysisTask.h.

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

◆ dtGeom

edm::ESHandle<DTGeometry> DTSegmentAnalysisTask::dtGeom
private

Definition at line 61 of file DTSegmentAnalysisTask.h.

Referenced by bookHistograms(), and dqmBeginRun().

◆ histosPerCh

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

Definition at line 75 of file DTSegmentAnalysisTask.h.

Referenced by bookHistos(), and fillHistos().

◆ hltDQMMode

bool DTSegmentAnalysisTask::hltDQMMode
private

Definition at line 82 of file DTSegmentAnalysisTask.h.

Referenced by bookHistograms(), and DTSegmentAnalysisTask().

◆ nEventMonitor

MonitorElement* DTSegmentAnalysisTask::nEventMonitor
private

Definition at line 88 of file DTSegmentAnalysisTask.h.

Referenced by analyze(), and bookHistograms().

◆ nevents

int DTSegmentAnalysisTask::nevents
private

Definition at line 78 of file DTSegmentAnalysisTask.h.

Referenced by analyze().

◆ nhitsCut

int DTSegmentAnalysisTask::nhitsCut
private

Definition at line 86 of file DTSegmentAnalysisTask.h.

Referenced by analyze(), and DTSegmentAnalysisTask().

◆ phiSegmCut

double DTSegmentAnalysisTask::phiSegmCut
private

Definition at line 84 of file DTSegmentAnalysisTask.h.

Referenced by analyze(), and DTSegmentAnalysisTask().

◆ recHits4DToken_

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

Definition at line 64 of file DTSegmentAnalysisTask.h.

Referenced by analyze(), and DTSegmentAnalysisTask().

◆ summaryHistos

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

Definition at line 76 of file DTSegmentAnalysisTask.h.

Referenced by bookHistograms(), and fillHistos().

◆ topHistoFolder

std::string DTSegmentAnalysisTask::topHistoFolder
private

Definition at line 80 of file DTSegmentAnalysisTask.h.

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

DTSegmentAnalysisTask::dtGeom
edm::ESHandle< DTGeometry > dtGeom
Definition: DTSegmentAnalysisTask.h:61
DTSegmentAnalysisTask::topHistoFolder
std::string topHistoFolder
Definition: DTSegmentAnalysisTask.h:80
DTSLRecSegment2D
Definition: DTSLRecSegment2D.h:15
DTSegmentAnalysisTask::nhitsCut
int nhitsCut
Definition: DTSegmentAnalysisTask.h:86
FastTimerService_cff.range
range
Definition: FastTimerService_cff.py:34
DTSegmentAnalysisTask::checkNoisyChannels
bool checkNoisyChannels
Definition: DTSegmentAnalysisTask.h:67
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
relativeConstraints.station
station
Definition: relativeConstraints.py:67
dqm::implementation::NavigatorBase::setCurrentFolder
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
hltPixelTracks_cff.chi2
chi2
Definition: hltPixelTracks_cff.py:25
edm::Handle< DTRecSegment4DCollection >
edm::RangeMap::id_iterator
identifier iterator
Definition: RangeMap.h:130
singleTopDQM_cfi.setup
setup
Definition: singleTopDQM_cfi.py:37
edm::EventSetup::get
T get() const
Definition: EventSetup.h:80
DTWireId
Definition: DTWireId.h:12
DTGeometry::chambers
const std::vector< const DTChamber * > & chambers() const
Return a vector of all Chamber.
Definition: DTGeometry.cc:84
dqm::impl::MonitorElement::Fill
void Fill(long long x)
Definition: MonitorElement.h:290
edm::ESHandle
Definition: DTSurvey.h:22
DTStatusFlagRcd
Definition: DTStatusFlagRcd.h:5
DTSegmentAnalysisTask::fillHistos
void fillHistos(DTChamberId chamberId, int nHits, float chi2)
Definition: DTSegmentAnalysisTask.cc:271
edm::RangeMap::const_iterator
C::const_iterator const_iterator
constant access iterator type
Definition: RangeMap.h:43
makeMuonMisalignmentScenario.wheel
wheel
Definition: makeMuonMisalignmentScenario.py:319
DTChamberRecSegment2D
Definition: DTChamberRecSegment2D.h:31
chambers
static char chambers[264][20]
Definition: ReadPGInfo.cc:243
xdir
Definition: DeviationsFromFileSensor2D.cc:15
get
#define get
combine.histos
histos
Definition: combine.py:4
DTSegmentAnalysisTask::nEventMonitor
MonitorElement * nEventMonitor
Definition: DTSegmentAnalysisTask.h:88
DTChamberId::sector
int sector() const
Definition: DTChamberId.h:49
edm::RangeMap::range
std::pair< const_iterator, const_iterator > range
iterator range
Definition: RangeMap.h:50
DTSegmentAnalysisTask::hltDQMMode
bool hltDQMMode
Definition: DTSegmentAnalysisTask.h:82
DTSegmentAnalysisTask::histosPerCh
std::map< DTChamberId, std::vector< MonitorElement * > > histosPerCh
Definition: DTSegmentAnalysisTask.h:75
edm::LogVerbatim
Log< level::Info, true > LogVerbatim
Definition: MessageLogger.h:128
dqm::implementation::IBooker::book2D
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:177
DTSegmentAnalysisTask::detailedAnalysis
bool detailedAnalysis
Definition: DTSegmentAnalysisTask.h:58
DTRecSegment2D::specificRecHits
std::vector< DTRecHit1D > specificRecHits() const
Access to specific components.
Definition: DTRecSegment2D.cc:104
HltBtagPostValidation_cff.histoName
histoName
Definition: HltBtagPostValidation_cff.py:17
DTSegmentAnalysisTask::summaryHistos
std::map< int, MonitorElement * > summaryHistos
Definition: DTSegmentAnalysisTask.h:76
Pi
const double Pi
Definition: CosmicMuonParameters.h:18
DTSegmentAnalysisTask::recHits4DToken_
edm::EDGetTokenT< DTRecSegment4DCollection > recHits4DToken_
Definition: DTSegmentAnalysisTask.h:64
DTSegmentAnalysisTask::bookHistos
void bookHistos(DQMStore::IBooker &ibooker, DTChamberId chamberId)
Definition: DTSegmentAnalysisTask.cc:245
DTChamberId
Definition: DTChamberId.h:14
DTSegmentAnalysisTask::nevents
int nevents
Definition: DTSegmentAnalysisTask.h:78
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
event
Definition: event.py:1
HLT_FULL_cff.distance
distance
Definition: HLT_FULL_cff.py:7733
MuonGeometryRecord
Definition: MuonGeometryRecord.h:34
DTSegmentAnalysisTask::phiSegmCut
double phiSegmCut
Definition: DTSegmentAnalysisTask.h:84
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
hit
Definition: SiStripHitEffFromCalibTree.cc:88
muonDTDigis_cfi.pset
pset
Definition: muonDTDigis_cfi.py:27
dqm::implementation::IBooker::book1D
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98
findQualityFiles.size
size
Write out results.
Definition: findQualityFiles.py:443