CMS 3D CMS Logo

DTLocalTriggerBaseTask.cc
Go to the documentation of this file.
1 /*
2  * \file DTLocalTriggerBaseTask.cc
3  *
4  * \author C. Battilana - CIEMAT
5  *
6 */
7 
9 
10 // Framework
12 
13 // DT DQM
15 
16 // DT trigger
18 
19 // Geometry
25 
26 //Root
27 #include "TH1.h"
28 #include "TAxis.h"
29 
30 #include <sstream>
31 #include <iostream>
32 #include <fstream>
33 
34 using namespace edm;
35 using namespace std;
36 
38 public:
39  DTTPGCompareUnit() { theQual = -1; }
41 
42  void setTM(int qual, int bx) {
43  theQual = qual;
44  theBX = bx;
45  }
46 
47  int qualTM() const { return theQual; }
48 
49 private:
50  int theQual;
51  int theBX;
52 };
53 
55  : nEvents(0), nLumis(0), theTrigGeomUtils(nullptr) {
56  LogTrace("DTDQM|DTMonitorModule|DTLocalTriggerBaseTask") << "[DTLocalTriggerBaseTask]: Constructor" << endl;
57 
58  tpMode = ps.getUntrackedParameter<bool>("testPulseMode");
59  detailedAnalysis = ps.getUntrackedParameter<bool>("detailedAnalysis");
60 
61  targetBXTM = ps.getUntrackedParameter<int>("targetBXTM");
62  bestAccRange = ps.getUntrackedParameter<int>("bestTrigAccRange");
63 
64  processTM = ps.getUntrackedParameter<bool>("processTM");
65 
66  tm_phiIn_Token_ = consumes<L1MuDTChambPhContainer>(ps.getUntrackedParameter<InputTag>("inputTagTMphIn"));
67  tm_phiOut_Token_ = consumes<L1MuDTChambPhContainer>(ps.getUntrackedParameter<InputTag>("inputTagTMphOut"));
68  tm_theta_Token_ = consumes<L1MuDTChambThContainer>(ps.getUntrackedParameter<InputTag>("inputTagTMth"));
69 
70  if (processTM)
71  theTypes.push_back("TM");
72 
73  if (tpMode) {
74  topFolder("TM") = "DT/11-LocalTriggerTP-TM/";
75  } else {
76  topFolder("TM") = "DT/03-LocalTrigger-TM/";
77  }
78 
79  theParams = ps;
80 }
81 
83  LogTrace("DTDQM|DTMonitorModule|DTLocalTriggerBaseTask")
84  << "[DTLocalTriggerBaseTask]: analyzed " << nEvents << " events" << endl;
85  if (theTrigGeomUtils) {
86  delete theTrigGeomUtils;
87  }
88 }
89 
90 void DTLocalTriggerBaseTask::bookHistograms(DQMStore::IBooker& ibooker,
91  edm::Run const& iRun,
92  edm::EventSetup const& context) {
93  ibooker.setCurrentFolder("DT/EventInfo/Counters");
94  nEventMonitor = ibooker.bookFloat("nProcessedEventsTrigger");
95  for (int wh = -2; wh < 3; ++wh) {
96  for (int stat = 1; stat < 5; ++stat) {
97  for (int sect = 1; sect < 13; ++sect) {
98  bookHistos(ibooker, DTChamberId(wh, stat, sect));
99  }
100  }
101  }
102 }
103 
105  nEventsInLS = 0;
106  nLumis++;
107  int resetCycle = theParams.getUntrackedParameter<int>("ResetCycle");
108 
109  LogTrace("DTDQM|DTMonitorModule|DTLocalTriggerBaseTask")
110  << "[DTLocalTriggerBaseTask]: Begin of LS transition" << endl;
111 
112  if (nLumis % resetCycle == 0) {
113  map<uint32_t, map<string, MonitorElement*> >::const_iterator chambIt = chamberHistos.begin();
114  map<uint32_t, map<string, MonitorElement*> >::const_iterator chambEnd = chamberHistos.end();
115  for (; chambIt != chambEnd; ++chambIt) {
116  map<string, MonitorElement*>::const_iterator histoIt = chambIt->second.begin();
117  map<string, MonitorElement*>::const_iterator histoEnd = chambIt->second.end();
118  for (; histoIt != histoEnd; ++histoIt) {
119  histoIt->second->Reset();
120  }
121  }
122  }
123 }
124 
126  LogTrace("DTDQM|DTMonitorModule|DTLocalTriggerBaseTask") << "[DTLocalTriggerBaseTask]: End of LS transition" << endl;
127 
128  map<uint32_t, DTTimeEvolutionHisto*>::const_iterator chambIt = trendHistos.begin();
129  map<uint32_t, DTTimeEvolutionHisto*>::const_iterator chambEnd = trendHistos.end();
130  for (; chambIt != chambEnd; ++chambIt) {
131  cout << "updating time slot in DTLocalTriggerBaseTask" << endl;
132  chambIt->second->updateTimeSlot(lumiSeg.luminosityBlock(), nEventsInLS);
133  cout << "updated time slot in DTLocalTriggerBaseTask" << endl;
134  }
135 }
136 
138  LogTrace("DTDQM|DTMonitorModule|DTLocalTriggerBaseTask") << "[DTLocalTriggerBaseTask]: BeginRun" << endl;
139 
140  ESHandle<DTGeometry> theGeom;
141  context.get<MuonGeometryRecord>().get(theGeom);
142  theTrigGeomUtils = new DTTrigGeomUtils(theGeom);
143 }
144 
146  nEvents++;
147  nEventsInLS++;
149 
150  theCompMapIn.clear();
151  theCompMapOut.clear();
152 
153  Handle<L1MuDTChambPhContainer> phiInTrigsTM;
154  Handle<L1MuDTChambPhContainer> phiOutTrigsTM;
155  Handle<L1MuDTChambThContainer> thetaTrigsTM;
156 
157  if (processTM) {
159 
160  e.getByToken(tm_phiIn_Token_, phiInTrigsTM);
161  e.getByToken(tm_phiOut_Token_, phiOutTrigsTM);
162  e.getByToken(tm_theta_Token_, thetaTrigsTM);
163 
164  if (phiInTrigsTM.isValid() && phiOutTrigsTM.isValid() && thetaTrigsTM.isValid()) {
165  runTMAnalysis(phiInTrigsTM->getContainer(), phiOutTrigsTM->getContainer(), thetaTrigsTM->getContainer());
166  } else {
167  LogVerbatim("DTDQM|DTMonitorModule|DTLocalTriggerBaseTask")
168  << "[DTLocalTriggerBaseTask]: one or more TM handles for Input Tag " << inputTagTM << " not found!" << endl;
169  return;
170  }
171  }
172 }
173 
174 void DTLocalTriggerBaseTask::bookHistos(DQMStore::IBooker& ibooker, const DTChamberId& dtCh) {
175  uint32_t rawId = dtCh.rawId();
176 
177  stringstream wheel;
178  wheel << dtCh.wheel();
179  stringstream station;
180  station << dtCh.station();
181  stringstream sector;
182  sector << dtCh.sector();
183 
184  map<string, int> minBX;
185  map<string, int> maxBX;
186 
187  minBX["TM"] = theParams.getUntrackedParameter<int>("minBXTM");
188  maxBX["TM"] = theParams.getUntrackedParameter<int>("maxBXTM");
189 
190  string chTag = "_W" + wheel.str() + "_Sec" + sector.str() + "_St" + station.str();
191  string labelInOut = "";
192 
193  vector<string>::const_iterator typeIt = theTypes.begin();
194  vector<string>::const_iterator typeEnd = theTypes.end();
195 
196  for (; typeIt != typeEnd; ++typeIt) {
197  LogTrace("DTDQM|DTMonitorModule|DTLocalTriggerBaseTask")
198  << "[DTLocalTriggerBaseTask]: booking histos for " << topFolder((*typeIt)) << "Wheel" << wheel.str()
199  << "/Sector" << sector.str() << "/Station" << station.str() << endl;
200 
201  for (int InOut = 0; InOut < 2; InOut++) {
202  // Book Phi View Related Plots
203 
204  if (InOut == 0) {
205  ibooker.setCurrentFolder(topFolder(*typeIt) + "Wheel" + wheel.str() + "/Sector" + sector.str() + "/Station" +
206  station.str() + "/LocalTriggerPhiIn");
207  labelInOut = "_In";
208  } else if (InOut == 1) {
209  ibooker.setCurrentFolder(topFolder(*typeIt) + "Wheel" + wheel.str() + "/Sector" + sector.str() + "/Station" +
210  station.str() + "/LocalTriggerPhiOut");
211  labelInOut = "_Out";
212  }
213 
214  string histoTag = (*typeIt) + "_BXvsQual" + labelInOut;
215  chamberHistos[rawId][histoTag] = ibooker.book2D(histoTag + chTag,
216  "BX vs trigger quality",
217  7,
218  -0.5,
219  6.5,
220  (int)(maxBX[(*typeIt)] - minBX[*typeIt] + 1),
221  minBX[*typeIt] - .5,
222  maxBX[*typeIt] + .5);
223  setQLabels((chamberHistos[rawId])[histoTag], 1);
224 
225  if (!tpMode) {
226  histoTag = (*typeIt) + "_BestQual" + labelInOut;
227  chamberHistos[rawId][histoTag] =
228  ibooker.book1D(histoTag + chTag, "Trigger quality of best primitives", 7, -0.5, 6.5);
229  setQLabels(chamberHistos[rawId][histoTag], 1);
230 
231  histoTag = (*typeIt) + "_Flag1stvsQual" + labelInOut;
232  chamberHistos[dtCh.rawId()][histoTag] =
233  ibooker.book2D(histoTag + chTag, "1st/2nd trig flag vs quality", 7, -0.5, 6.5, 2, -0.5, 1.5);
234  setQLabels(chamberHistos[rawId][histoTag], 1);
235 
236  histoTag = (*typeIt) + "_FlagUpDownvsQual" + labelInOut;
237  chamberHistos[dtCh.rawId()][histoTag] =
238  ibooker.book2D(histoTag + chTag, "Up/Down trig flag vs quality", 7, -0.5, 6.5, 2, -0.5, 1.5);
239  setQLabels(chamberHistos[rawId][histoTag], 1);
240  }
241 
242  if (*typeIt == "TM") {
243  float minPh, maxPh;
244  int nBinsPh;
245  theTrigGeomUtils->phiRange(dtCh, minPh, maxPh, nBinsPh);
246 
247  histoTag = (*typeIt) + "_QualvsPhirad" + labelInOut;
248  chamberHistos[rawId][histoTag] =
249  ibooker.book2D(histoTag + chTag, "Trigger quality vs local position", nBinsPh, minPh, maxPh, 7, -0.5, 6.5);
250  setQLabels(chamberHistos[rawId][histoTag], 2);
251 
252  if (detailedAnalysis && !tpMode) {
253  histoTag = (*typeIt) + "_QualvsPhibend" + labelInOut;
254  chamberHistos[rawId][histoTag] =
255  ibooker.book2D(histoTag + chTag, "Trigger quality vs local direction", 200, -40., 40., 7, -0.5, 6.5);
256  setQLabels((chamberHistos[dtCh.rawId()])[histoTag], 2);
257  }
258  }
259  } //InOut loop
260 
261  // Book Theta View Related Plots
262  ibooker.setCurrentFolder(topFolder(*typeIt) + "Wheel" + wheel.str() + "/Sector" + sector.str() + "/Station" +
263  station.str() + "/LocalTriggerTheta");
264 
265  string histoTag = "";
266  if ((*typeIt) == "TM" && dtCh.station() != 4) {
267  histoTag = (*typeIt) + "_PositionvsBX";
268  chamberHistos[rawId][histoTag] = ibooker.book2D(histoTag + chTag,
269  "Theta trigger position vs BX",
270  (int)(maxBX[(*typeIt)] - minBX[*typeIt] + 1),
271  minBX[*typeIt] - .5,
272  maxBX[*typeIt] + .5,
273  7,
274  -0.5,
275  6.5);
276  histoTag = (*typeIt) + "_PositionvsQual";
277  chamberHistos[rawId][histoTag] =
278  ibooker.book2D(histoTag + chTag, "Theta trigger position vs quality", 2, 0.5, 2.5, 7, -0.5, 6.5);
280  histoTag = (*typeIt) + "_ThetaBXvsQual";
281  chamberHistos[rawId][histoTag] = ibooker.book2D(histoTag + chTag,
282  "BX vs trigger quality",
283  2,
284  0.5,
285  2.5,
286  (int)(maxBX[(*typeIt)] - minBX[*typeIt] + 1),
287  minBX[*typeIt] - .5,
288  maxBX[*typeIt] + .5);
290  // histoTag = (*typeIt) + "_ThetaBestQual";
291  // chamberHistos[rawId][histoTag] = ibooker.book1D(histoTag+chTag,
292  // "Trigger quality of best primitives (theta)",2,0.5,2.5); // 0 = not fired, 1 = L, 2 = H
293  // setQLabelsTheta(chamberHistos[rawId][histoTag],1);
294  } else {
295  if (dtCh.station() != 4) {
296  histoTag = (*typeIt) + "_ThetaBXvsQual";
297  chamberHistos[rawId][histoTag] = ibooker.book2D(histoTag + chTag,
298  "BX vs trigger quality",
299  7,
300  -0.5,
301  6.5,
302  (int)(maxBX[(*typeIt)] - minBX[*typeIt] + 1),
303  minBX[*typeIt] - .5,
304  maxBX[*typeIt] + .5);
305  setQLabels((chamberHistos[dtCh.rawId()])[histoTag], 1);
306 
307  histoTag = (*typeIt) + "_ThetaBestQual";
308  chamberHistos[rawId][histoTag] =
309  ibooker.book1D(histoTag + chTag, "Trigger quality of best primitives (theta)", 7, -0.5, 6.5);
310  setQLabels((chamberHistos[dtCh.rawId()])[histoTag], 1);
311  }
312  }
313  }
314 }
315 
316 void DTLocalTriggerBaseTask::runTMAnalysis(std::vector<L1MuDTChambPhDigi> const* phInTrigs,
317  std::vector<L1MuDTChambPhDigi> const* phOutTrigs,
318  std::vector<L1MuDTChambThDigi> const* thTrigs) {
319  vector<L1MuDTChambPhDigi>::const_iterator iph = phInTrigs->begin();
320  vector<L1MuDTChambPhDigi>::const_iterator iphe = phInTrigs->end();
321 
322  for (; iph != iphe; ++iph) {
323  int wh = iph->whNum();
324  int sec = iph->scNum() + 1; // DTTF->DT Convention
325  int st = iph->stNum();
326  int qual = iph->code();
327  int is1st = iph->Ts2Tag() ? 1 : 0;
328  int bx = iph->bxNum() - is1st;
329  int updown = iph->UpDownTag();
330 
331  if (qual < 0 || qual > 6)
332  continue; // Check that quality is in a valid range
333 
334  DTChamberId dtChId(wh, st, sec);
335  uint32_t rawId = dtChId.rawId();
336 
337  float pos = theTrigGeomUtils->trigPos(&(*iph));
338  float dir = theTrigGeomUtils->trigDir(&(*iph));
339 
340  if (abs(bx - targetBXTM) <= bestAccRange && theCompMapIn[rawId].qualTM() <= qual)
341  theCompMapIn[rawId].setTM(qual, bx);
342 
343  map<string, MonitorElement*>& innerME = chamberHistos[rawId];
344  if (tpMode) {
345  innerME["TM_BXvsQual_In"]->Fill(qual, bx); // SM BX vs Qual Phi view (1st tracks)
346  innerME["TM_QualvsPhirad_In"]->Fill(pos, qual); // SM Qual vs radial angle Phi view
347  } else {
348  innerME["TM_BXvsQual_In"]->Fill(qual, bx); // SM BX vs Qual Phi view (1st tracks)
349  innerME["TM_Flag1stvsQual_In"]->Fill(qual, is1st); // SM Qual 1st/2nd track flag Phi view
350  innerME["TM_FlagUpDownvsQual_In"]->Fill(qual, updown); // SM Qual Up/Down track flag Phi view
351  if (!is1st)
352  innerME["TM_QualvsPhirad_In"]->Fill(pos, qual); // SM Qual vs radial angle Phi view ONLY for 1st tracks
353  if (detailedAnalysis) {
354  innerME["TM_QualvsPhibend_In"]->Fill(dir, qual); // SM Qual vs bending Phi view
355  }
356  }
357  }
358 
359  iph = phOutTrigs->begin();
360  iphe = phOutTrigs->end();
361 
362  for (; iph != iphe; ++iph) {
363  int wh = iph->whNum();
364  int sec = iph->scNum() + 1; // DTTF->DT Convention
365  int st = iph->stNum();
366  int qual = iph->code();
367  int is1st = iph->Ts2Tag() ? 1 : 0;
368  int bx = iph->bxNum() - is1st;
369  int updown = iph->UpDownTag();
370  if (qual < 0 || qual > 6)
371  continue; // Check that quality is in a valid range
372 
373  DTChamberId dtChId(wh, st, sec);
374  uint32_t rawId = dtChId.rawId();
375 
376  float pos = theTrigGeomUtils->trigPos(&(*iph));
377  float dir = theTrigGeomUtils->trigDir(&(*iph));
378 
379  if (abs(bx - targetBXTM) <= bestAccRange && theCompMapOut[rawId].qualTM() <= qual)
380  theCompMapOut[rawId].setTM(qual, bx);
381 
382  map<string, MonitorElement*>& innerME = chamberHistos[rawId];
383  if (tpMode) {
384  innerME["TM_BXvsQual_Out"]->Fill(qual, bx); // SM BX vs Qual Phi view (1st tracks)
385  innerME["TM_QualvsPhirad_Out"]->Fill(pos, qual); // SM Qual vs radial angle Phi view
386  } else {
387  innerME["TM_BXvsQual_Out"]->Fill(qual, bx); // SM BX vs Qual Phi view (1st tracks)
388  innerME["TM_Flag1stvsQual_Out"]->Fill(qual, is1st); // SM Qual 1st/2nd track flag Phi view
389  innerME["TM_FlagUpDownvsQual_Out"]->Fill(qual, updown); // SM Qual Up/Down track flag Phi view
390 
391  if (!is1st)
392  innerME["TM_QualvsPhirad_Out"]->Fill(pos, qual); // SM Qual vs radial angle Phi view ONLY for 1st tracks
393  if (detailedAnalysis) {
394  innerME["TM_QualvsPhibend_Out"]->Fill(dir, qual); // SM Qual vs bending Phi view
395  }
396  }
397  }
398 
399  vector<L1MuDTChambThDigi>::const_iterator ith = thTrigs->begin();
400  vector<L1MuDTChambThDigi>::const_iterator ithe = thTrigs->end();
401 
402  for (; ith != ithe; ++ith) {
403  int wh = ith->whNum();
404  int sec = ith->scNum() + 1; // DTTF -> DT Convention
405  int st = ith->stNum();
406  int bx = ith->bxNum();
407 
408  int thcode[7];
409 
410  for (int pos = 0; pos < 7; pos++)
411  thcode[pos] = ith->code(pos);
412 
413  DTChamberId dtChId(wh, st, sec);
414  uint32_t rawId = dtChId.rawId();
415 
416  map<string, MonitorElement*>& innerME = chamberHistos[rawId];
417 
418  for (int pos = 0; pos < 7; pos++)
419  if (thcode[pos] > 0) { //Fired
420  innerME["TM_PositionvsBX"]->Fill(bx, pos); // SM BX vs Position Theta view
421  innerME["TM_PositionvsQual"]->Fill(thcode[pos], pos); //code = pos + qual; so 0, 1, 2 for 0, L, H resp.
422  innerME["TM_ThetaBXvsQual"]->Fill(thcode[pos], bx); //code = pos + qual; so 0, 1, 2 for 0, L, H resp.
423  }
424  }
425  // Fill Quality plots with best TM triggers (phi view In)
426  if (!tpMode) {
427  map<uint32_t, DTTPGCompareUnit>::const_iterator compIt = theCompMapIn.begin();
428  map<uint32_t, DTTPGCompareUnit>::const_iterator compEnd = theCompMapIn.end();
429  for (; compIt != compEnd; ++compIt) {
430  int bestQual = compIt->second.qualTM();
431  if (bestQual > -1)
432  chamberHistos[compIt->first]["TM_BestQual_In"]->Fill(bestQual); // SM Best Qual Trigger Phi view
433  }
434  }
435 
436  // Fill Quality plots with best TM triggers (phi view Out)
437  if (!tpMode) {
438  map<uint32_t, DTTPGCompareUnit>::const_iterator compIt = theCompMapOut.begin();
439  map<uint32_t, DTTPGCompareUnit>::const_iterator compEnd = theCompMapOut.end();
440  for (; compIt != compEnd; ++compIt) {
441  int bestQual = compIt->second.qualTM();
442  if (bestQual > -1)
443  chamberHistos[compIt->first]["TM_BestQual_Out"]->Fill(bestQual); // SM Best Qual Trigger Phi view
444  }
445  }
446 }
447 
449  TH1* histo = me->getTH1();
450  if (!histo)
451  return;
452 
453  TAxis* axis = nullptr;
454  if (iaxis == 1) {
455  axis = histo->GetXaxis();
456  } else if (iaxis == 2) {
457  axis = histo->GetYaxis();
458  }
459  if (!axis)
460  return;
461 
462  string labels[7] = {"LI", "LO", "HI", "HO", "LL", "HL", "HH"};
463  int istart = axis->GetXmin() < -1 ? 2 : 1;
464  for (int i = 0; i < 7; i++) {
465  axis->SetBinLabel(i + istart, labels[i].c_str());
466  }
467 }
468 
470  TH1* histo = me->getTH1();
471  if (!histo)
472  return;
473 
474  TAxis* axis = nullptr;
475  if (iaxis == 1) {
476  axis = histo->GetXaxis();
477  } else if (iaxis == 2) {
478  axis = histo->GetYaxis();
479  }
480  if (!axis)
481  return;
482 
483  string labels[2] = {"L", "H"};
484  int istart = axis->GetXmin() < -1 ? 2 : 1;
485  for (int i = 0; i < 2; i++) {
486  axis->SetBinLabel(i + istart, labels[i].c_str());
487  }
488 }
489 // Local Variables:
490 // show-trailing-whitespace: t
491 // truncate-lines: t
492 // End:
SummaryClient_cfi.labels
labels
Definition: SummaryClient_cfi.py:61
DTLocalTriggerBaseTask::detailedAnalysis
bool detailedAnalysis
Definition: DTLocalTriggerBaseTask.h:94
simKBmtfStubs_cfi.minBX
minBX
Definition: simKBmtfStubs_cfi.py:9
DTTrigGeomUtils.h
mps_fire.i
i
Definition: mps_fire.py:355
DTTrigGeomUtils::trigDir
float trigDir(const L1MuDTChambPhDigi *trig)
Return local direction (trigger RF) for a given trigger primitive.
Definition: DTTrigGeomUtils.cc:138
DTLocalTriggerBaseTask::setQLabels
void setQLabels(MonitorElement *me, short int iaxis)
Set Quality labels.
Definition: DTLocalTriggerBaseTask.cc:448
DTLocalTriggerBaseTask::DTLocalTriggerBaseTask
DTLocalTriggerBaseTask(const edm::ParameterSet &ps)
Constructor.
Definition: DTLocalTriggerBaseTask.cc:54
DTLocalTriggerBaseTask::processTM
bool processTM
Definition: DTLocalTriggerBaseTask.h:95
DTLocalTriggerBaseTask::runTMAnalysis
void runTMAnalysis(std::vector< L1MuDTChambPhDigi > const *phInTrigs, std::vector< L1MuDTChambPhDigi > const *phOutTrigs, std::vector< L1MuDTChambThDigi > const *thTrigs)
Run analysis on TM data.
Definition: DTLocalTriggerBaseTask.cc:316
edm::LuminosityBlock
Definition: LuminosityBlock.h:50
edm::Run
Definition: Run.h:45
dtTriggerBaseTask_cfi.inputTagTM
inputTagTM
Definition: dtTriggerBaseTask_cfi.py:13
relativeConstraints.station
station
Definition: relativeConstraints.py:67
edm
HLT enums.
Definition: AlignableModifier.h:19
gather_cfg.cout
cout
Definition: gather_cfg.py:144
pos
Definition: PixelAliasList.h:18
DTLocalTriggerBaseTask::theCompMapIn
std::map< uint32_t, DTTPGCompareUnit > theCompMapIn
Definition: DTLocalTriggerBaseTask.h:104
l1GtPatternGenerator_cfi.bx
bx
Definition: l1GtPatternGenerator_cfi.py:18
DTLocalTriggerBaseTask::chamberHistos
std::map< uint32_t, std::map< std::string, MonitorElement * > > chamberHistos
Definition: DTLocalTriggerBaseTask.h:107
timingPdfMaker.histo
histo
Definition: timingPdfMaker.py:279
DTTrigGeomUtils::trigPos
float trigPos(const L1MuDTChambPhDigi *trig)
Return local position (trigger RF) for a given trigger primitive.
Definition: DTTrigGeomUtils.cc:98
dqm::legacy::MonitorElement
Definition: MonitorElement.h:461
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
edm::Handle< L1MuDTChambPhContainer >
DTLocalTriggerBaseTask::~DTLocalTriggerBaseTask
~DTLocalTriggerBaseTask() override
Destructor.
Definition: DTLocalTriggerBaseTask.cc:82
DTLocalTriggerBaseTask::bestAccRange
int bestAccRange
Definition: DTLocalTriggerBaseTask.h:98
L1MuDTChambPhContainer::getContainer
Phi_Container const * getContainer() const
Definition: L1MuDTChambPhContainer.cc:41
DTLocalTriggerBaseTask::nLumis
int nLumis
Definition: DTLocalTriggerBaseTask.h:90
DTTPGCompareUnit::qualTM
int qualTM() const
Definition: DTLocalTriggerBaseTask.cc:47
edm::EventSetup::get
T get() const
Definition: EventSetup.h:73
hgcalPlots.stat
stat
Definition: hgcalPlots.py:1111
DTLocalTriggerBaseTask::topFolder
std::string & topFolder(std::string const &type)
Get the Top folder (different between Physics and TP and TM)
Definition: DTLocalTriggerBaseTask.h:74
DTLocalTriggerBaseTask::bookHistos
void bookHistos(DQMStore::IBooker &, const DTChamberId &chamb)
Book the histograms.
Definition: DTLocalTriggerBaseTask.cc:174
edm::LuminosityBlockBase::luminosityBlock
LuminosityBlockNumber_t luminosityBlock() const
Definition: LuminosityBlockBase.h:40
DTLocalTriggerBaseTask::nEventsInLS
int nEventsInLS
Definition: DTLocalTriggerBaseTask.h:89
dqm::impl::MonitorElement::Fill
void Fill(long long x)
Definition: MonitorElement.h:290
edm::ESHandle< DTGeometry >
DTLocalTriggerBaseTask::trendHistos
std::map< uint32_t, DTTimeEvolutionHisto * > trendHistos
Definition: DTLocalTriggerBaseTask.h:108
DTLocalTriggerBaseTask.h
DTLayer.h
DTTrigGeomUtils::phiRange
void phiRange(const DTChamberId &id, float &min, float &max, int &nbins, float step=15)
Compute phi range in local chamber coordinates.
Definition: DTTrigGeomUtils.cc:67
DTGeometry.h
DTTPGCompareUnit::~DTTPGCompareUnit
~DTTPGCompareUnit()
Definition: DTLocalTriggerBaseTask.cc:40
DTTimeEvolutionHisto.h
DTLocalTriggerBaseTask::theParams
edm::ParameterSet theParams
Definition: DTLocalTriggerBaseTask.h:100
edm::ParameterSet
Definition: ParameterSet.h:36
DTLocalTriggerBaseTask::tm_phiIn_Token_
edm::EDGetTokenT< L1MuDTChambPhContainer > tm_phiIn_Token_
Definition: DTLocalTriggerBaseTask.h:111
Pi.h
DTLocalTriggerBaseTask::theCompMapOut
std::map< uint32_t, DTTPGCompareUnit > theCompMapOut
Definition: DTLocalTriggerBaseTask.h:105
dtResolutionTest_cfi.histoTag
histoTag
Definition: dtResolutionTest_cfi.py:21
makeMuonMisalignmentScenario.wheel
wheel
Definition: makeMuonMisalignmentScenario.py:319
L1MuDTChambThContainer::getContainer
The_Container const * getContainer() const
Definition: L1MuDTChambThContainer.cc:41
DTLocalTriggerBaseTask::analyze
void analyze(const edm::Event &e, const edm::EventSetup &c) override
Analyze.
Definition: DTLocalTriggerBaseTask.cc:145
DTTPGCompareUnit::DTTPGCompareUnit
DTTPGCompareUnit()
Definition: DTLocalTriggerBaseTask.cc:39
edm::LogVerbatim
Definition: MessageLogger.h:297
simKBmtfStubs_cfi.maxBX
maxBX
Definition: simKBmtfStubs_cfi.py:10
DTLocalTriggerBaseTask::bookHistograms
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
Definition: DTLocalTriggerBaseTask.cc:90
DTTPGCompareUnit::theBX
int theBX
Definition: DTLocalTriggerBaseTask.cc:51
edm::EventSetup
Definition: EventSetup.h:57
DTLocalTriggerBaseTask::theTrigGeomUtils
DTTrigGeomUtils * theTrigGeomUtils
Definition: DTLocalTriggerBaseTask.h:101
DTLocalTriggerBaseTask::nEvents
int nEvents
Definition: DTLocalTriggerBaseTask.h:88
HltBtagPostValidation_cff.c
c
Definition: HltBtagPostValidation_cff.py:31
get
#define get
DTTPGCompareUnit
Definition: DTLocalTriggerBaseTask.cc:37
fileinputsource_cfi.sec
sec
Definition: fileinputsource_cfi.py:87
DTLocalTriggerBaseTask::tpMode
bool tpMode
Definition: DTLocalTriggerBaseTask.h:93
DTLocalTriggerBaseTask::dqmBeginRun
void dqmBeginRun(const edm::Run &, const edm::EventSetup &) override
Beginrun.
Definition: DTLocalTriggerBaseTask.cc:137
DTLocalTriggerBaseTask::tm_phiOut_Token_
edm::EDGetTokenT< L1MuDTChambPhContainer > tm_phiOut_Token_
Definition: DTLocalTriggerBaseTask.h:112
DTChamberId::sector
int sector() const
Definition: DTChamberId.h:49
std
Definition: JetResolutionObject.h:76
DetId::rawId
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
writedatasetfile.run
run
Definition: writedatasetfile.py:27
DTLocalTriggerBaseTask::nEventMonitor
MonitorElement * nEventMonitor
Definition: DTLocalTriggerBaseTask.h:109
DTTrigGeomUtils
Definition: DTTrigGeomUtils.h:21
DTLocalTriggerBaseTask::theTypes
std::vector< std::string > theTypes
Definition: DTLocalTriggerBaseTask.h:102
EventSetup.h
DTLocalTriggerBaseTask::beginLuminosityBlock
void beginLuminosityBlock(const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &context) override
To reset the MEs.
Definition: DTLocalTriggerBaseTask.cc:104
DTLocalTriggerBaseTask::endLuminosityBlock
void endLuminosityBlock(const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &context) override
Perform trend plot operations.
Definition: DTLocalTriggerBaseTask.cc:125
DTLocalTriggerBaseTask::targetBXTM
int targetBXTM
Definition: DTLocalTriggerBaseTask.h:97
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
DTChamberId
Definition: DTChamberId.h:14
LogTrace
#define LogTrace(id)
Definition: MessageLogger.h:671
MuonGeometryRecord.h
hlt_dqm_clientPB-live_cfg.me
me
Definition: hlt_dqm_clientPB-live_cfg.py:61
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
nEvents
UInt_t nEvents
Definition: hcalCalib.cc:41
DTLocalTriggerBaseTask::setQLabelsTheta
void setQLabelsTheta(MonitorElement *me, short int iaxis)
Definition: DTLocalTriggerBaseTask.cc:469
edm::Event
Definition: Event.h:73
DTTPGCompareUnit::setTM
void setTM(int qual, int bx)
Definition: DTLocalTriggerBaseTask.cc:42
DTTopology.h
DTLocalTriggerBaseTask::tm_theta_Token_
edm::EDGetTokenT< L1MuDTChambThContainer > tm_theta_Token_
Definition: DTLocalTriggerBaseTask.h:113
MuonGeometryRecord
Definition: MuonGeometryRecord.h:34
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
DTTPGCompareUnit::theQual
int theQual
Definition: DTLocalTriggerBaseTask.cc:50
DeadROC_duringRun.dir
dir
Definition: DeadROC_duringRun.py:23
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37