CMS 3D CMS Logo

DTRunConditionVarClient.cc
Go to the documentation of this file.
1 /******* \class DTRunConditionVarClient *******
2  *
3  * Description:
4  *
5  * detailed description
6  *
7  * \author : Paolo Bellan, Antonio Branca
8  * $date : 23/09/2011 15:42:04 CET $
9  *
10  * Modification:
11  *
12  * threadsafe version (//-) oct/nov 2014 - WATWanAbdullah -ncpp-um-my
13  *
14  *
15  *********************************/
16 
19 
22 
26 
27 #include <cstdio>
28 #include <sstream>
29 #include <cmath>
30 
31 using namespace edm;
32 using namespace std;
33 
35  LogVerbatim("DTDQM|DTMonitorClient|DTRunConditionVarClient") << "DTRunConditionVarClient: Constructor called";
36 
37  minRangeVDrift = pSet.getUntrackedParameter<double>("minRangeVDrift");
38  maxRangeVDrift = pSet.getUntrackedParameter<double>("maxRangeVDrift");
39  minRangeT0 = pSet.getUntrackedParameter<double>("minRangeT0");
40  maxRangeT0 = pSet.getUntrackedParameter<double>("maxRangeT0");
41 
42  maxGoodVDriftDev = pSet.getUntrackedParameter<double>("maxGoodVDriftDev");
43  minBadVDriftDev = pSet.getUntrackedParameter<double>("minBadVDriftDev");
44  maxGoodT0 = pSet.getUntrackedParameter<double>("maxGoodT0");
45  minBadT0 = pSet.getUntrackedParameter<double>("minBadT0");
46 
47  maxGoodVDriftSigma = pSet.getUntrackedParameter<double>("maxGoodVDriftSigma");
48  minBadVDriftSigma = pSet.getUntrackedParameter<double>("minBadVDriftSigma");
49  maxGoodT0Sigma = pSet.getUntrackedParameter<double>("maxGoodT0Sigma");
50  minBadT0Sigma = pSet.getUntrackedParameter<double>("minBadT0Sigma");
51 
52  nevents = 0;
53 
54  bookingdone = false;
55 }
56 
58  LogVerbatim("DTDQM|DTMonitorClient|DTRunConditionVarClient") << "DTRunConditionVarClient: Destructor called";
59 }
60 
61 void DTRunConditionVarClient::beginRun(const Run& run, const EventSetup& context) {
62  LogTrace("DTDQM|DTMonitorClient|DTResolutionAnalysisTest") << "[DTRunConditionVarClient]: BeginRun";
63  // Get the map of vdrift from the setup
64  context.get<DTMtimeRcd>().get(mTime);
65  mTimeMap_ = &*mTime;
66 }
67 
69  DQMStore::IGetter& igetter,
70  edm::LuminosityBlock const& lumiSeg,
71  edm::EventSetup const& context) {}
72 
74  LogVerbatim("DTDQM|DTMonitorClient|DTRunConditionVarClient") << "DTRunConditionVarClient: end job";
75 
76  ibooker.setCurrentFolder("DT/02-Segments");
77 
78  glbVDriftSummary =
79  ibooker.book2D("VDriftGlbSummary", "# of MBs with good mean and good sigma of vDrift", 12, 1, 13, 5, -2, 3);
80  glbT0Summary = ibooker.book2D("T0GlbSummary", "# of MBs with good mean and good sigma of t0", 12, 1, 13, 5, -2, 3);
81 
82  ibooker.setCurrentFolder("DT/02-Segments/02-MeanVDrift");
83 
84  summaryHistos["MeanVDriftGlbSummary"] =
85  ibooker.book2D("MeanVDriftGlbSummary", "mean VDrift average per sector", 12, 1., 13., 5, -2., 3.);
86  allwheelHistos["allMeanVDrift"] =
87  ibooker.book1D("VDriftMeanAllWheels", "mean VDrift for all chambers", 60, 0.0048, 0.006);
88 
89  ibooker.setCurrentFolder("DT/02-Segments/02-SigmaVDrift");
90 
91  summaryHistos["SigmaVDriftGlbSummary"] =
92  ibooker.book2D("SigmaVDriftGlbSummary", "# of Chambers with good sigma VDrift", 12, 1., 13., 5, -2., 3.);
93  allwheelHistos["allSigmaVDrift"] =
94  ibooker.book1D("VDriftSigmaAllWheels", "sigma VDrift for all chambers", 30, 0., 0.0006);
95 
96  ibooker.setCurrentFolder("DT/02-Segments/03-MeanT0");
97 
98  summaryHistos["MeanT0GlbSummary"] =
99  ibooker.book2D("MeanT0GlbSummary", "mean T0 average per sector", 12, 1., 13., 5, -2., 3.);
100  allwheelHistos["allMeanT0"] = ibooker.book1D("T0MeanAllWheels", "mean T0 for all chambers", 100, -25., 25.);
101 
102  ibooker.setCurrentFolder("DT/02-Segments/03-SigmaT0");
103 
104  summaryHistos["SigmaT0GlbSummary"] =
105  ibooker.book2D("SigmaT0GlbSummary", "# of Chambers with good sigma T0", 12, 1., 13., 5, -2., 3.);
106  allwheelHistos["allSigmaT0"] = ibooker.book1D("T0SigmaAllWheels", "sigma T0 for all chambers", 50, 0, 25);
107 
108  for (int wh = -2; wh <= 2; wh++) {
109  bookWheelHistos(ibooker, "MeanVDrift", "02-MeanVDrift", wh, 60, 0.0048, 0.006, true);
110  bookWheelHistos(ibooker, "SigmaVDrift", "02-SigmaVDrift", wh, 30, 0., 0.0006);
111  bookWheelHistos(ibooker, "MeanT0", "03-MeanT0", wh, 100, -25., 25., false, true);
112  bookWheelHistos(ibooker, "SigmaT0", "03-SigmaT0", wh, 50, 0, 25, false, true);
113  }
114 
115  for (int wheel = -2; wheel <= 2; wheel++) {
116  for (int sec = 1; sec <= 14; sec++) {
117  for (int stat = 1; stat <= 4; stat++) {
118  if ((sec == 13 || sec == 14) && stat != 4)
119  continue;
120 
121  // Get the ME produced by DTRunConditionVar Source
122  MonitorElement* VDriftME = getChamberHistos(igetter, DTChamberId(wheel, stat, sec), "VDrift_FromSegm");
123  MonitorElement* T0ME = getChamberHistos(igetter, DTChamberId(wheel, stat, sec), "T0_FromSegm");
124 
125  if (!VDriftME || !T0ME) {
126  edm::LogWarning("DTRunConditionVarClient") << "ME not available" << std::endl;
127  return;
128  }
129 
130  // Get the means per chamber
131  float vDriftMean = VDriftME->getMean();
132  T0ME->setAxisRange(-15, 15);
133  float t0Mean = T0ME->getMean();
134 
135  // Get the sigma per chamber
136  float vDriftSigma = VDriftME->getRMS();
137  float t0Sigma = T0ME->getRMS();
138 
139  if (VDriftME->getEntries() != 0) {
140  allwheelHistos["allMeanVDrift"]->Fill(vDriftMean);
141  allwheelHistos["allSigmaVDrift"]->Fill(vDriftSigma);
142 
143  (wheelHistos[wheel])["MeanVDrift"]->Fill(vDriftMean);
144  (wheelHistos[wheel])["SigmaVDrift"]->Fill(vDriftSigma);
145  }
146 
147  if (T0ME->getEntries() != 0) {
148  allwheelHistos["allMeanT0"]->Fill(t0Mean);
149  allwheelHistos["allSigmaT0"]->Fill(t0Sigma);
150 
151  (wheelRingHistos[wheel][stat])["MeanT0"]->Fill(t0Mean);
152  (wheelRingHistos[wheel][stat])["SigmaT0"]->Fill(t0Sigma);
153  }
154 
155  DTChamberId indexCh(wheel, stat, sec);
156 
157  float vDriftDev(0.), errvDriftDev(0.);
158  percDevVDrift(indexCh, vDriftMean, vDriftSigma, vDriftDev, errvDriftDev);
159 
160  int sec_ = sec;
161  if (sec == 13 || sec == 14)
162  sec_ = (sec == 13) ? 4 : 10;
163 
164  float fillvDriftDev = max(min(vDriftDev, maxRangeVDrift), minRangeVDrift);
165  float fillT0Mean = max(min(t0Mean, maxRangeT0), minRangeT0);
166 
167  float vDriftDevQ = varQuality(fabs(vDriftDev), maxGoodVDriftDev, minBadVDriftDev);
168  float t0MeanQ = varQuality(fabs(t0Mean), maxGoodT0, minBadT0);
169 
170  float vDriftSigmQ = varQuality(vDriftSigma, maxGoodVDriftSigma, minBadVDriftSigma);
171  float t0SigmQ = varQuality(t0Sigma, maxGoodT0Sigma, minBadT0Sigma);
172 
173  if (sec == 13 || sec == 14) {
174  float binVDriftDev = (wheelHistos[wheel])["MeanVDriftSummary"]->getBinContent(sec_, stat);
175  binVDriftDev = (fabs(binVDriftDev) > fabs(fillvDriftDev)) ? binVDriftDev : fillvDriftDev;
176  (wheelHistos[wheel])["MeanVDriftSummary"]->setBinContent(sec_, stat, binVDriftDev);
177 
178  float binT0MeanVal = (wheelHistos[wheel])["MeanT0Summary"]->getBinContent(sec_, stat);
179  binT0MeanVal = (fabs(binT0MeanVal) > fabs(fillT0Mean)) ? binT0MeanVal : fillT0Mean;
180  (wheelHistos[wheel])["MeanT0Summary"]->setBinContent(sec_, stat, binT0MeanVal);
181 
182  float binVDriftSigmVal = (wheelHistos[wheel])["SigmaVDriftSummary"]->getBinContent(sec_, stat);
183  binVDriftSigmVal = (binVDriftSigmVal > 0. && binVDriftSigmVal < vDriftSigmQ) ? binVDriftSigmVal : vDriftSigmQ;
184  (wheelHistos[wheel])["SigmaVDriftSummary"]->setBinContent(sec_, stat, binVDriftSigmVal);
185 
186  float binT0SigmVal = (wheelHistos[wheel])["SigmaT0Summary"]->getBinContent(sec_, stat);
187  binT0SigmVal = (binT0SigmVal > 0. && binT0SigmVal < t0SigmQ) ? binT0SigmVal : t0SigmQ;
188  (wheelHistos[wheel])["SigmaT0Summary"]->setBinContent(sec_, stat, binT0SigmVal);
189 
190  } else {
191  (wheelHistos[wheel])["MeanVDriftSummary"]->setBinContent(sec_, stat, fillvDriftDev);
192  (wheelHistos[wheel])["MeanT0Summary"]->setBinContent(sec_, stat, fillT0Mean);
193  (wheelHistos[wheel])["SigmaVDriftSummary"]->setBinContent(sec_, stat, vDriftSigmQ);
194  (wheelHistos[wheel])["SigmaT0Summary"]->setBinContent(sec_, stat, t0SigmQ);
195  }
196 
197  double weight = 1 / 4.;
198  if ((sec_ == 4 || sec_ == 10) && stat == 4)
199  weight = 1 / 8.;
200 
201  if (vDriftDevQ > 0.85 && vDriftSigmQ > 0.85) {
202  glbVDriftSummary->Fill(sec_, wheel, weight);
203  summaryHistos["MeanVDriftGlbSummary"]->Fill(sec_, wheel, weight);
204  summaryHistos["SigmaVDriftGlbSummary"]->Fill(sec_, wheel, weight);
205 
206  } else {
207  if (vDriftDevQ > 0.85 && vDriftSigmQ < 0.85) {
208  summaryHistos["MeanVDriftGlbSummary"]->Fill(sec_, wheel, weight);
209  }
210  if (vDriftDevQ < 0.85 && vDriftSigmQ > 0.85) {
211  summaryHistos["SigmaVDriftGlbSummary"]->Fill(sec_, wheel, weight);
212  }
213  }
214 
215  if (t0MeanQ > 0.85 && t0SigmQ > 0.85) {
216  glbT0Summary->Fill(sec_, wheel, weight);
217  summaryHistos["MeanT0GlbSummary"]->Fill(sec_, wheel, weight);
218  summaryHistos["SigmaT0GlbSummary"]->Fill(sec_, wheel, weight);
219  } else {
220  if (t0MeanQ > 0.85 && t0SigmQ < 0.85) {
221  summaryHistos["MeanT0GlbSummary"]->Fill(sec_, wheel, weight);
222  }
223  if (t0MeanQ < 0.85 && t0SigmQ > 0.85) {
224  summaryHistos["SigmaT0GlbSummary"]->Fill(sec_, wheel, weight);
225  }
226  }
227 
228  } // end loop on stations
229  } // end loop on sectors
230  } //end loop on wheels
231 
232  return;
233 }
234 
235 float DTRunConditionVarClient::varQuality(float var, float maxGood, float minBad) {
236  float qual(0);
237  if (var <= maxGood) {
238  qual = 1.;
239  } else if (var > maxGood && var < minBad) {
240  qual = 0.9;
241  } else if (var >= minBad) {
242  qual = 0.1;
243  }
244 
245  return qual;
246 }
247 
249  DTChamberId indexCh, float meanVD, float sigmaVD, float& devVD, float& errdevVD) {
250  DTSuperLayerId indexSLPhi1(indexCh, 1);
251  DTSuperLayerId indexSLPhi2(indexCh, 3);
252 
253  float vDriftPhi1(0.), vDriftPhi2(0.);
254  float ResPhi1(0.), ResPhi2(0.);
255  int status1 = mTimeMap_->get(indexSLPhi1, vDriftPhi1, ResPhi1, DTVelocityUnits::cm_per_ns);
256  int status2 = mTimeMap_->get(indexSLPhi2, vDriftPhi2, ResPhi2, DTVelocityUnits::cm_per_ns);
257 
258  if (status1 != 0 || status2 != 0) {
259  DTSuperLayerId sl = (status1 != 0) ? indexSLPhi1 : indexSLPhi2;
260  throw cms::Exception("DTRunConditionVarClient") << "Could not find vDrift entry in DB for" << sl << endl;
261  }
262 
263  float vDriftMed = (vDriftPhi1 + vDriftPhi2) / 2.;
264 
265  devVD = (meanVD - vDriftMed) / vDriftMed;
266  devVD = devVD < 1. ? devVD : 1.;
267 
268  errdevVD = sigmaVD / vDriftMed;
269 
270  return;
271 }
272 
274  string histoType,
275  string subfolder,
276  int wh,
277  int nbins,
278  float min,
279  float max,
280  bool isVDCorr,
281  bool makeRings) {
282  stringstream wheel;
283  wheel << wh;
284 
285  string folder = "DT/02-Segments/" + subfolder;
286 
287  ibooker.setCurrentFolder(folder);
288 
289  string histoName;
290  string histoLabel;
291 
292  if (makeRings) {
293  ibooker.setCurrentFolder(folder + "/Wheel" + wheel.str());
294  for (int st = 1; st <= 4; st++) {
295  stringstream station;
296  station << st;
297 
298  histoName = histoType + "_W" + wheel.str() + "_MB" + station.str();
299  histoLabel = histoType;
300 
301  (wheelRingHistos[wh][st])[histoType] = ibooker.book1D(histoName, histoLabel, nbins, min, max);
302  }
303  } else {
304  histoName = histoType + "_W" + wheel.str();
305  histoLabel = histoType;
306 
307  (wheelHistos[wh])[histoType] = ibooker.book1D(histoName, histoLabel, nbins, min, max);
308  }
309 
310  ibooker.setCurrentFolder(folder);
311 
312  if (isVDCorr) {
313  histoLabel = "Summary of corrections to VDrift DB values";
314  histoName = "CorrTo" + histoType + "Summary_W" + wheel.str();
315  } else {
316  histoLabel = histoType + "Summary";
317  histoName = histoType + "Summary_W" + wheel.str();
318  }
319 
320  MonitorElement* me = ibooker.book2D(histoName, histoLabel, 12, 1, 13, 4, 1, 5);
321 
322  me->setBinLabel(1, "MB1", 2);
323  me->setBinLabel(2, "MB2", 2);
324  me->setBinLabel(3, "MB3", 2);
325  me->setBinLabel(4, "MB4", 2);
326  me->setAxisTitle("Sector", 1);
327 
328  (wheelHistos[wh])[histoType + "Summary"] = me;
329 
330  return;
331 }
332 
334  const DTChamberId& dtCh,
335  string histoType) {
336  int wh = dtCh.wheel();
337  int sc = dtCh.sector();
338  int st = dtCh.station();
339  stringstream wheel;
340  wheel << wh;
341  stringstream station;
342  station << st;
343  stringstream sector;
344  sector << sc;
345 
346  string folder = "DT/02-Segments/Wheel" + wheel.str() + "/Sector" + sector.str() + "/Station" + station.str();
347  string histoTag = "_W" + wheel.str() + "_Sec" + sector.str() + "_St" + station.str();
348  string MEpath = folder + "/" + histoType + histoTag;
349 
350  igetter.setCurrentFolder(folder);
351 
352  LogTrace("DTDQM|DTMonitorModule|DTRunConditionVar") << "[DTRunConditionVar]: getting ME from " << folder << endl;
353 
354  MonitorElement* ME = igetter.get(MEpath);
355 
356  return ME;
357 }
cmsHarvester.nevents
nevents
Definition: cmsHarvester.py:3177
DTSuperLayerId
Definition: DTSuperLayerId.h:12
MessageLogger.h
dtRunConditionVarClient_cfi.minBadVDriftDev
minBadVDriftDev
Definition: dtRunConditionVarClient_cfi.py:12
edm::LuminosityBlock
Definition: LuminosityBlock.h:50
edm::Run
Definition: Run.h:45
printsummarytable.folder
folder
Definition: printsummarytable.py:7
relativeConstraints.station
station
Definition: relativeConstraints.py:67
edm
HLT enums.
Definition: AlignableModifier.h:19
edm::max
EventID const & max(EventID const &lh, EventID const &rh)
Definition: EventID.h:118
edm::min
EventID const & min(EventID const &lh, EventID const &rh)
Definition: EventID.h:116
dtRunConditionVarClient_cfi.maxRangeVDrift
maxRangeVDrift
Definition: dtRunConditionVarClient_cfi.py:7
DTRunConditionVarClient::varQuality
float varQuality(float var, float maxGood, float minBad)
Definition: DTRunConditionVarClient.cc:235
dqm::implementation::NavigatorBase::setCurrentFolder
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
DQMStore.h
dtRunConditionVarClient_cfi.maxGoodVDriftSigma
maxGoodVDriftSigma
Definition: dtRunConditionVarClient_cfi.py:17
dqm::legacy::MonitorElement
Definition: MonitorElement.h:461
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
DTRunConditionVarClient::dqmEndJob
void dqmEndJob(DQMStore::IBooker &, DQMStore::IGetter &) override
Definition: DTRunConditionVarClient.cc:73
edm::LogWarning
Log< level::Warning, false > LogWarning
Definition: MessageLogger.h:122
trigObjTnPSource_cfi.var
var
Definition: trigObjTnPSource_cfi.py:21
edm::EventSetup::get
T get() const
Definition: EventSetup.h:80
hgcalPlots.stat
stat
Definition: hgcalPlots.py:1119
DTRunConditionVarClient::percDevVDrift
void percDevVDrift(DTChamberId indexCh, float meanVD, float sigmaVD, float &devVD, float &errdevVD)
Definition: DTRunConditionVarClient.cc:248
dtRunConditionVarClient_cfi.maxGoodT0Sigma
maxGoodT0Sigma
Definition: dtRunConditionVarClient_cfi.py:20
DTRunConditionVarClient::getChamberHistos
MonitorElement * getChamberHistos(DQMStore::IGetter &, const DTChamberId &, std::string)
Definition: DTRunConditionVarClient.cc:333
LaserClient_cfi.nbins
nbins
Definition: LaserClient_cfi.py:51
dqm::impl::MonitorElement::getRMS
virtual double getRMS(int axis=1) const
get RMS of histogram along x, y or z axis (axis=1, 2, 3 respectively)
Definition: MonitorElement.cc:562
DTRunConditionVarClient.h
dqm::impl::MonitorElement::setAxisRange
virtual void setAxisRange(double xmin, double xmax, int axis=1)
set x-, y- or z-axis range (axis=1, 2, 3 respectively)
Definition: MonitorElement.cc:794
dqm::impl::MonitorElement::getEntries
virtual double getEntries() const
get # of entries
Definition: MonitorElement.cc:628
DTGeometry.h
DTRunConditionVarClient::DTRunConditionVarClient
DTRunConditionVarClient(const edm::ParameterSet &ps)
Constructor.
Definition: DTRunConditionVarClient.cc:34
dtRunConditionVarClient_cfi.minRangeT0
minRangeT0
Definition: dtRunConditionVarClient_cfi.py:8
edm::ParameterSet
Definition: ParameterSet.h:47
DTVelocityUnits::cm_per_ns
Definition: DTVelocityUnits.h:32
DTMtimeRcd.h
ME
dqm::harvesting::MonitorElement ME
Definition: TrackingDQMClientHeavyIons.cc:20
dtResolutionTest_cfi.histoTag
histoTag
Definition: dtResolutionTest_cfi.py:21
edm::get
T const & get(Event const &event, InputTag const &tag) noexcept(false)
Definition: Event.h:671
makeMuonMisalignmentScenario.wheel
wheel
Definition: makeMuonMisalignmentScenario.py:319
DTRunConditionVarClient::bookWheelHistos
void bookWheelHistos(DQMStore::IBooker &, std::string histoType, std::string subfolder, int wh, int nbins, float min, float max, bool isVDCorr=false, bool makeRings=false)
book the report summary
Definition: DTRunConditionVarClient.cc:273
dtRunConditionVarClient_cfi.minBadT0Sigma
minBadT0Sigma
Definition: dtRunConditionVarClient_cfi.py:21
edm::EventSetup
Definition: EventSetup.h:57
DTRunConditionVarClient::beginRun
void beginRun(const edm::Run &r, const edm::EventSetup &c) override
Definition: DTRunConditionVarClient.cc:61
dtRunConditionVarClient_cfi.minBadVDriftSigma
minBadVDriftSigma
Definition: dtRunConditionVarClient_cfi.py:18
HcalObjRepresent::Fill
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
Definition: HcalObjRepresent.h:1053
fileinputsource_cfi.sec
sec
Definition: fileinputsource_cfi.py:87
dtRunConditionVarClient_cfi.minBadT0
minBadT0
Definition: dtRunConditionVarClient_cfi.py:15
DTChamberId::sector
int sector() const
Definition: DTChamberId.h:49
std
Definition: JetResolutionObject.h:76
writedatasetfile.run
run
Definition: writedatasetfile.py:27
edm::LogVerbatim
Log< level::Info, true > LogVerbatim
Definition: MessageLogger.h:128
dqm::implementation::IGetter
Definition: DQMStore.h:484
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
Exception
Definition: hltDiff.cc:246
ME
Definition: ME.h:11
dqm::implementation::IGetter::get
virtual MonitorElement * get(std::string const &fullpath) const
Definition: DQMStore.cc:651
HltBtagPostValidation_cff.histoName
histoName
Definition: HltBtagPostValidation_cff.py:17
EventSetup.h
dqm::impl::MonitorElement::getMean
virtual double getMean(int axis=1) const
get mean value of histogram along x, y or z axis (axis=1, 2, 3 respectively)
Definition: MonitorElement.cc:549
dtRunConditionVarClient_cfi.minRangeVDrift
minRangeVDrift
Definition: dtRunConditionVarClient_cfi.py:6
DTRunConditionVarClient::~DTRunConditionVarClient
~DTRunConditionVarClient() override
Destructor.
Definition: DTRunConditionVarClient.cc:57
dqm::implementation::IBooker
Definition: DQMStore.h:43
DTChamberId
Definition: DTChamberId.h:14
LogTrace
#define LogTrace(id)
Definition: MessageLogger.h:224
MuonGeometryRecord.h
hlt_dqm_clientPB-live_cfg.me
me
Definition: hlt_dqm_clientPB-live_cfg.py:61
dtRunConditionVarClient_cfi.maxGoodT0
maxGoodT0
Definition: dtRunConditionVarClient_cfi.py:14
fftjetimagerecorder_cfi.histoLabel
histoLabel
Definition: fftjetimagerecorder_cfi.py:12
dtRunConditionVarClient_cfi.maxRangeT0
maxRangeT0
Definition: dtRunConditionVarClient_cfi.py:9
DTChamberId::wheel
int wheel() const
Return the wheel number.
Definition: DTChamberId.h:39
dtRunConditionVarClient_cfi.maxGoodVDriftDev
maxGoodVDriftDev
Definition: dtRunConditionVarClient_cfi.py:11
weight
Definition: weight.py:1
DTChamberId::station
int station() const
Return the station number.
Definition: DTChamberId.h:42
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
DTRunConditionVarClient::dqmEndLuminosityBlock
void dqmEndLuminosityBlock(DQMStore::IBooker &, DQMStore::IGetter &, edm::LuminosityBlock const &, edm::EventSetup const &) override
DQM Client Diagnostic.
Definition: DTRunConditionVarClient.cc:68
DTMtimeRcd
Definition: DTMtimeRcd.h:5