CMS 3D CMS Logo

OuterTrackerMonitorTTStub.cc
Go to the documentation of this file.
1 // -*- C++ -*-
2 //
3 // Package: SiOuterTracker
4 // Class: SiOuterTracker
5 //
14 //
15 // Original Author: Isis Marina Van Parijs
16 // Created: Fri, 24 Oct 2014 12:31:31 GMT
17 //
18 //
19 
20 // system include files
21 #include <fstream>
22 #include <iostream>
23 #include <memory>
24 #include <numeric>
25 #include <vector>
26 
27 // user include files
38 
39 // constructors and destructor
41  // now do what ever initialization is needed
42  topFolderName_ = conf_.getParameter<std::string>("TopFolderName");
44  consumes<edmNew::DetSetVector<TTStub<Ref_Phase2TrackerDigi_>>>(conf_.getParameter<edm::InputTag>("TTStubs"));
45 }
46 
48  // do anything here that needs to be done at desctruction time
49  // (e.g. close files, deallocate resources etc.)
50 }
51 
52 // member functions
53 
54 // ------------ method called for each event ------------
58  iEvent.getByToken(tagTTStubsToken_, Phase2TrackerDigiTTStubHandle);
59 
62  const TrackerTopology *tTopo;
63  iSetup.get<TrackerTopologyRcd>().get(tTopoHandle);
64  tTopo = tTopoHandle.product();
65 
66  edm::ESHandle<TrackerGeometry> tGeometryHandle;
67  const TrackerGeometry *theTrackerGeometry;
68  iSetup.get<TrackerDigiGeometryRecord>().get(tGeometryHandle);
69  theTrackerGeometry = tGeometryHandle.product();
70 
72  typename edmNew::DetSetVector<TTStub<Ref_Phase2TrackerDigi_>>::const_iterator inputIter;
73  typename edmNew::DetSet<TTStub<Ref_Phase2TrackerDigi_>>::const_iterator contentIter;
74  // Adding protection
75  if (!Phase2TrackerDigiTTStubHandle.isValid())
76  return;
77 
78  for (inputIter = Phase2TrackerDigiTTStubHandle->begin(); inputIter != Phase2TrackerDigiTTStubHandle->end();
79  ++inputIter) {
80  for (contentIter = inputIter->begin(); contentIter != inputIter->end(); ++contentIter) {
83  edmNew::makeRefTo(Phase2TrackerDigiTTStubHandle, contentIter);
84 
86  // tempStubRef->getDetId() gives the stackDetId, not rawId
87  DetId detIdStub = theTrackerGeometry->idToDet((tempStubRef->getClusterRef(0))->getDetId())->geographicalId();
88 
90  double displStub = tempStubRef->getTriggerDisplacement();
91  double offsetStub = tempStubRef->getTriggerOffset();
92 
94  MeasurementPoint mp = (tempStubRef->getClusterRef(0))->findAverageLocalCoordinates();
95  const GeomDet *theGeomDet = theTrackerGeometry->idToDet(detIdStub);
96  Global3DPoint posStub = theGeomDet->surface().toGlobal(theGeomDet->topology().localPosition(mp));
97 
98  Stub_Eta->Fill(posStub.eta());
99  Stub_Phi->Fill(posStub.phi());
100  Stub_R->Fill(posStub.perp());
101  Stub_RZ->Fill(posStub.z(), posStub.perp());
102 
103  if (detIdStub.subdetId() == static_cast<int>(StripSubdetector::TOB)) { // Phase 2 Outer Tracker Barrel
104  Stub_Barrel->Fill(tTopo->layer(detIdStub));
105  Stub_Barrel_XY->Fill(posStub.x(), posStub.y());
106  Stub_Barrel_W->Fill(tTopo->layer(detIdStub), displStub - offsetStub);
107  Stub_Barrel_O->Fill(tTopo->layer(detIdStub), offsetStub);
108  } else if (detIdStub.subdetId() == static_cast<int>(StripSubdetector::TID)) { // Phase 2 Outer Tracker Endcap
109  int disc = tTopo->layer(detIdStub); // returns wheel
110  int ring = tTopo->tidRing(detIdStub);
111  Stub_Endcap_Disc->Fill(disc);
112  Stub_Endcap_Ring->Fill(ring);
113  Stub_Endcap_Disc_W->Fill(disc, displStub - offsetStub);
114  Stub_Endcap_Ring_W->Fill(ring, displStub - offsetStub);
115  Stub_Endcap_Disc_O->Fill(disc, offsetStub);
116  Stub_Endcap_Ring_O->Fill(ring, offsetStub);
117 
118  if (posStub.z() > 0) {
119  Stub_Endcap_Fw_XY->Fill(posStub.x(), posStub.y());
120  Stub_Endcap_Disc_Fw->Fill(disc);
121  Stub_Endcap_Ring_Fw[disc - 1]->Fill(ring);
122  Stub_Endcap_Ring_W_Fw[disc - 1]->Fill(ring, displStub - offsetStub);
123  Stub_Endcap_Ring_O_Fw[disc - 1]->Fill(ring, offsetStub);
124  } else {
125  Stub_Endcap_Bw_XY->Fill(posStub.x(), posStub.y());
126  Stub_Endcap_Disc_Bw->Fill(disc);
127  Stub_Endcap_Ring_Bw[disc - 1]->Fill(ring);
128  Stub_Endcap_Ring_W_Bw[disc - 1]->Fill(ring, displStub - offsetStub);
129  Stub_Endcap_Ring_O_Bw[disc - 1]->Fill(ring, offsetStub);
130  }
131  }
132  }
133  }
134 } // end of method
135 
136 // ------------ method called when starting to processes a run ------------
138  edm::Run const &run,
139  edm::EventSetup const &es) {
141  const int numDiscs = 5;
142  iBooker.setCurrentFolder(topFolderName_ + "/Stubs/Position");
143 
144  edm::ParameterSet psTTStub_Barrel_XY = conf_.getParameter<edm::ParameterSet>("TH2TTStub_Position");
145  HistoName = "Stub_Barrel_XY";
146  Stub_Barrel_XY = iBooker.book2D(HistoName,
147  HistoName,
148  psTTStub_Barrel_XY.getParameter<int32_t>("Nbinsx"),
149  psTTStub_Barrel_XY.getParameter<double>("xmin"),
150  psTTStub_Barrel_XY.getParameter<double>("xmax"),
151  psTTStub_Barrel_XY.getParameter<int32_t>("Nbinsy"),
152  psTTStub_Barrel_XY.getParameter<double>("ymin"),
153  psTTStub_Barrel_XY.getParameter<double>("ymax"));
154  Stub_Barrel_XY->setAxisTitle("L1 Stub Barrel position x [cm]", 1);
155  Stub_Barrel_XY->setAxisTitle("L1 Stub Barrel position y [cm]", 2);
156 
157  edm::ParameterSet psTTStub_Endcap_Fw_XY = conf_.getParameter<edm::ParameterSet>("TH2TTStub_Position");
158  HistoName = "Stub_Endcap_Fw_XY";
159  Stub_Endcap_Fw_XY = iBooker.book2D(HistoName,
160  HistoName,
161  psTTStub_Endcap_Fw_XY.getParameter<int32_t>("Nbinsx"),
162  psTTStub_Endcap_Fw_XY.getParameter<double>("xmin"),
163  psTTStub_Endcap_Fw_XY.getParameter<double>("xmax"),
164  psTTStub_Endcap_Fw_XY.getParameter<int32_t>("Nbinsy"),
165  psTTStub_Endcap_Fw_XY.getParameter<double>("ymin"),
166  psTTStub_Endcap_Fw_XY.getParameter<double>("ymax"));
167  Stub_Endcap_Fw_XY->setAxisTitle("L1 Stub Endcap position x [cm]", 1);
168  Stub_Endcap_Fw_XY->setAxisTitle("L1 Stub Endcap position y [cm]", 2);
169 
170  edm::ParameterSet psTTStub_Endcap_Bw_XY = conf_.getParameter<edm::ParameterSet>("TH2TTStub_Position");
171  HistoName = "Stub_Endcap_Bw_XY";
172  Stub_Endcap_Bw_XY = iBooker.book2D(HistoName,
173  HistoName,
174  psTTStub_Endcap_Bw_XY.getParameter<int32_t>("Nbinsx"),
175  psTTStub_Endcap_Bw_XY.getParameter<double>("xmin"),
176  psTTStub_Endcap_Bw_XY.getParameter<double>("xmax"),
177  psTTStub_Endcap_Bw_XY.getParameter<int32_t>("Nbinsy"),
178  psTTStub_Endcap_Bw_XY.getParameter<double>("ymin"),
179  psTTStub_Endcap_Bw_XY.getParameter<double>("ymax"));
180  Stub_Endcap_Bw_XY->setAxisTitle("L1 Stub Endcap position x [cm]", 1);
181  Stub_Endcap_Bw_XY->setAxisTitle("L1 Stub Endcap position y [cm]", 2);
182 
183  // TTStub #rho vs. z
184  edm::ParameterSet psTTStub_RZ = conf_.getParameter<edm::ParameterSet>("TH2TTStub_RZ");
185  HistoName = "Stub_RZ";
186  Stub_RZ = iBooker.book2D(HistoName,
187  HistoName,
188  psTTStub_RZ.getParameter<int32_t>("Nbinsx"),
189  psTTStub_RZ.getParameter<double>("xmin"),
190  psTTStub_RZ.getParameter<double>("xmax"),
191  psTTStub_RZ.getParameter<int32_t>("Nbinsy"),
192  psTTStub_RZ.getParameter<double>("ymin"),
193  psTTStub_RZ.getParameter<double>("ymax"));
194  Stub_RZ->setAxisTitle("L1 Stub position z [cm]", 1);
195  Stub_RZ->setAxisTitle("L1 Stub position #rho [cm]", 2);
196 
197  iBooker.setCurrentFolder(topFolderName_ + "/Stubs");
198  // TTStub eta
199  edm::ParameterSet psTTStub_Eta = conf_.getParameter<edm::ParameterSet>("TH1TTStub_Eta");
200  HistoName = "Stub_Eta";
201  Stub_Eta = iBooker.book1D(HistoName,
202  HistoName,
203  psTTStub_Eta.getParameter<int32_t>("Nbinsx"),
204  psTTStub_Eta.getParameter<double>("xmin"),
205  psTTStub_Eta.getParameter<double>("xmax"));
206  Stub_Eta->setAxisTitle("#eta", 1);
207  Stub_Eta->setAxisTitle("# L1 Stubs ", 2);
208 
209  // TTStub phi
210  edm::ParameterSet psTTStub_Phi = conf_.getParameter<edm::ParameterSet>("TH1TTStub_Phi");
211  HistoName = "Stub_Phi";
212  Stub_Phi = iBooker.book1D(HistoName,
213  HistoName,
214  psTTStub_Phi.getParameter<int32_t>("Nbinsx"),
215  psTTStub_Phi.getParameter<double>("xmin"),
216  psTTStub_Phi.getParameter<double>("xmax"));
217  Stub_Phi->setAxisTitle("#phi", 1);
218  Stub_Phi->setAxisTitle("# L1 Stubs ", 2);
219 
220  // TTStub R
221  edm::ParameterSet psTTStub_R = conf_.getParameter<edm::ParameterSet>("TH1TTStub_R");
222  HistoName = "Stub_R";
223  Stub_R = iBooker.book1D(HistoName,
224  HistoName,
225  psTTStub_R.getParameter<int32_t>("Nbinsx"),
226  psTTStub_R.getParameter<double>("xmin"),
227  psTTStub_R.getParameter<double>("xmax"));
228  Stub_R->setAxisTitle("R", 1);
229  Stub_R->setAxisTitle("# L1 Stubs ", 2);
230 
231  iBooker.setCurrentFolder(topFolderName_ + "/Stubs/NStubs");
232  // TTStub barrel stack
233  edm::ParameterSet psTTStub_Barrel = conf_.getParameter<edm::ParameterSet>("TH1TTStub_Layers");
234  HistoName = "NStubs_Barrel";
235  Stub_Barrel = iBooker.book1D(HistoName,
236  HistoName,
237  psTTStub_Barrel.getParameter<int32_t>("Nbinsx"),
238  psTTStub_Barrel.getParameter<double>("xmin"),
239  psTTStub_Barrel.getParameter<double>("xmax"));
240  Stub_Barrel->setAxisTitle("Barrel Layer", 1);
241  Stub_Barrel->setAxisTitle("# L1 Stubs ", 2);
242 
243  // TTStub Endcap stack
244  edm::ParameterSet psTTStub_ECDisc = conf_.getParameter<edm::ParameterSet>("TH1TTStub_Discs");
245  HistoName = "NStubs_Endcap_Disc";
246  Stub_Endcap_Disc = iBooker.book1D(HistoName,
247  HistoName,
248  psTTStub_ECDisc.getParameter<int32_t>("Nbinsx"),
249  psTTStub_ECDisc.getParameter<double>("xmin"),
250  psTTStub_ECDisc.getParameter<double>("xmax"));
251  Stub_Endcap_Disc->setAxisTitle("Endcap Disc", 1);
252  Stub_Endcap_Disc->setAxisTitle("# L1 Stubs ", 2);
253 
254  // TTStub Endcap stack
255  HistoName = "NStubs_Endcap_Disc_Fw";
256  Stub_Endcap_Disc_Fw = iBooker.book1D(HistoName,
257  HistoName,
258  psTTStub_ECDisc.getParameter<int32_t>("Nbinsx"),
259  psTTStub_ECDisc.getParameter<double>("xmin"),
260  psTTStub_ECDisc.getParameter<double>("xmax"));
261  Stub_Endcap_Disc_Fw->setAxisTitle("Forward Endcap Disc", 1);
262  Stub_Endcap_Disc_Fw->setAxisTitle("# L1 Stubs ", 2);
263 
264  // TTStub Endcap stack
265  HistoName = "NStubs_Endcap_Disc_Bw";
266  Stub_Endcap_Disc_Bw = iBooker.book1D(HistoName,
267  HistoName,
268  psTTStub_ECDisc.getParameter<int32_t>("Nbinsx"),
269  psTTStub_ECDisc.getParameter<double>("xmin"),
270  psTTStub_ECDisc.getParameter<double>("xmax"));
271  Stub_Endcap_Disc_Bw->setAxisTitle("Backward Endcap Disc", 1);
272  Stub_Endcap_Disc_Bw->setAxisTitle("# L1 Stubs ", 2);
273 
274  edm::ParameterSet psTTStub_ECRing = conf_.getParameter<edm::ParameterSet>("TH1TTStub_Rings");
275  HistoName = "NStubs_Endcap_Ring";
276  Stub_Endcap_Ring = iBooker.book1D(HistoName,
277  HistoName,
278  psTTStub_ECRing.getParameter<int32_t>("Nbinsx"),
279  psTTStub_ECRing.getParameter<double>("xmin"),
280  psTTStub_ECRing.getParameter<double>("xmax"));
281  Stub_Endcap_Ring->setAxisTitle("Endcap Ring", 1);
282  Stub_Endcap_Ring->setAxisTitle("# L1 Stubs ", 2);
283 
284  for (int i = 0; i < numDiscs; i++) {
285  HistoName = "NStubs_Disc+" + std::to_string(i + 1);
286  // TTStub Endcap stack
287  Stub_Endcap_Ring_Fw[i] = iBooker.book1D(HistoName,
288  HistoName,
289  psTTStub_ECRing.getParameter<int32_t>("Nbinsx"),
290  psTTStub_ECRing.getParameter<double>("xmin"),
291  psTTStub_ECRing.getParameter<double>("xmax"));
292  Stub_Endcap_Ring_Fw[i]->setAxisTitle("Endcap Ring", 1);
293  Stub_Endcap_Ring_Fw[i]->setAxisTitle("# L1 Stubs ", 2);
294  }
295 
296  for (int i = 0; i < numDiscs; i++) {
297  HistoName = "NStubs_Disc-" + std::to_string(i + 1);
298  // TTStub Endcap stack
299  Stub_Endcap_Ring_Bw[i] = iBooker.book1D(HistoName,
300  HistoName,
301  psTTStub_ECRing.getParameter<int32_t>("Nbinsx"),
302  psTTStub_ECRing.getParameter<double>("xmin"),
303  psTTStub_ECRing.getParameter<double>("xmax"));
304  Stub_Endcap_Ring_Bw[i]->setAxisTitle("Endcap Ring", 1);
305  Stub_Endcap_Ring_Bw[i]->setAxisTitle("# L1 Stubs ", 2);
306  }
307 
308  // TTStub displ/offset
309  edm::ParameterSet psTTStub_Barrel_2D = conf_.getParameter<edm::ParameterSet>("TH2TTStub_DisOf_Layer");
310  edm::ParameterSet psTTStub_ECDisc_2D = conf_.getParameter<edm::ParameterSet>("TH2TTStub_DisOf_Disc");
311  edm::ParameterSet psTTStub_ECRing_2D = conf_.getParameter<edm::ParameterSet>("TH2TTStub_DisOf_Ring");
312 
313  iBooker.setCurrentFolder(topFolderName_ + "/Stubs/Width");
314  HistoName = "Stub_Width_Barrel";
315  Stub_Barrel_W = iBooker.book2D(HistoName,
316  HistoName,
317  psTTStub_Barrel_2D.getParameter<int32_t>("Nbinsx"),
318  psTTStub_Barrel_2D.getParameter<double>("xmin"),
319  psTTStub_Barrel_2D.getParameter<double>("xmax"),
320  psTTStub_Barrel_2D.getParameter<int32_t>("Nbinsy"),
321  psTTStub_Barrel_2D.getParameter<double>("ymin"),
322  psTTStub_Barrel_2D.getParameter<double>("ymax"));
323  Stub_Barrel_W->setAxisTitle("Barrel Layer", 1);
324  Stub_Barrel_W->setAxisTitle("Displacement - Offset", 2);
325 
326  HistoName = "Stub_Width_Endcap_Disc";
327  Stub_Endcap_Disc_W = iBooker.book2D(HistoName,
328  HistoName,
329  psTTStub_ECDisc_2D.getParameter<int32_t>("Nbinsx"),
330  psTTStub_ECDisc_2D.getParameter<double>("xmin"),
331  psTTStub_ECDisc_2D.getParameter<double>("xmax"),
332  psTTStub_ECDisc_2D.getParameter<int32_t>("Nbinsy"),
333  psTTStub_ECDisc_2D.getParameter<double>("ymin"),
334  psTTStub_ECDisc_2D.getParameter<double>("ymax"));
335  Stub_Endcap_Disc_W->setAxisTitle("Endcap Disc", 1);
336  Stub_Endcap_Disc_W->setAxisTitle("Displacement - Offset", 2);
337 
338  HistoName = "Stub_Width_Endcap_Ring";
339  Stub_Endcap_Ring_W = iBooker.book2D(HistoName,
340  HistoName,
341  psTTStub_ECRing_2D.getParameter<int32_t>("Nbinsx"),
342  psTTStub_ECRing_2D.getParameter<double>("xmin"),
343  psTTStub_ECRing_2D.getParameter<double>("xmax"),
344  psTTStub_ECRing_2D.getParameter<int32_t>("Nbinsy"),
345  psTTStub_ECRing_2D.getParameter<double>("ymin"),
346  psTTStub_ECRing_2D.getParameter<double>("ymax"));
347  Stub_Endcap_Ring_W->setAxisTitle("Endcap Ring", 1);
348  Stub_Endcap_Ring_W->setAxisTitle("Trigger Offset", 2);
349 
350  for (int i = 0; i < numDiscs; i++) {
351  HistoName = "Stub_Width_Disc+" + std::to_string(i + 1);
352  Stub_Endcap_Ring_W_Fw[i] = iBooker.book2D(HistoName,
353  HistoName,
354  psTTStub_ECRing_2D.getParameter<int32_t>("Nbinsx"),
355  psTTStub_ECRing_2D.getParameter<double>("xmin"),
356  psTTStub_ECRing_2D.getParameter<double>("xmax"),
357  psTTStub_ECRing_2D.getParameter<int32_t>("Nbinsy"),
358  psTTStub_ECRing_2D.getParameter<double>("ymin"),
359  psTTStub_ECRing_2D.getParameter<double>("ymax"));
360  Stub_Endcap_Ring_W_Fw[i]->setAxisTitle("Endcap Ring", 1);
361  Stub_Endcap_Ring_W_Fw[i]->setAxisTitle("Displacement - Offset", 2);
362  }
363 
364  for (int i = 0; i < numDiscs; i++) {
365  HistoName = "Stub_Width_Disc-" + std::to_string(i + 1);
366  Stub_Endcap_Ring_W_Bw[i] = iBooker.book2D(HistoName,
367  HistoName,
368  psTTStub_ECRing_2D.getParameter<int32_t>("Nbinsx"),
369  psTTStub_ECRing_2D.getParameter<double>("xmin"),
370  psTTStub_ECRing_2D.getParameter<double>("xmax"),
371  psTTStub_ECRing_2D.getParameter<int32_t>("Nbinsy"),
372  psTTStub_ECRing_2D.getParameter<double>("ymin"),
373  psTTStub_ECRing_2D.getParameter<double>("ymax"));
374  Stub_Endcap_Ring_W_Bw[i]->setAxisTitle("Endcap Ring", 1);
375  Stub_Endcap_Ring_W_Bw[i]->setAxisTitle("Displacement - Offset", 2);
376  }
377 
378  iBooker.setCurrentFolder(topFolderName_ + "/Stubs/Offset");
379  HistoName = "Stub_Offset_Barrel";
380  Stub_Barrel_O = iBooker.book2D(HistoName,
381  HistoName,
382  psTTStub_Barrel_2D.getParameter<int32_t>("Nbinsx"),
383  psTTStub_Barrel_2D.getParameter<double>("xmin"),
384  psTTStub_Barrel_2D.getParameter<double>("xmax"),
385  psTTStub_Barrel_2D.getParameter<int32_t>("Nbinsy"),
386  psTTStub_Barrel_2D.getParameter<double>("ymin"),
387  psTTStub_Barrel_2D.getParameter<double>("ymax"));
388  Stub_Barrel_O->setAxisTitle("Barrel Layer", 1);
389  Stub_Barrel_O->setAxisTitle("Trigger Offset", 2);
390 
391  HistoName = "Stub_Offset_Endcap_Disc";
392  Stub_Endcap_Disc_O = iBooker.book2D(HistoName,
393  HistoName,
394  psTTStub_ECDisc_2D.getParameter<int32_t>("Nbinsx"),
395  psTTStub_ECDisc_2D.getParameter<double>("xmin"),
396  psTTStub_ECDisc_2D.getParameter<double>("xmax"),
397  psTTStub_ECDisc_2D.getParameter<int32_t>("Nbinsy"),
398  psTTStub_ECDisc_2D.getParameter<double>("ymin"),
399  psTTStub_ECDisc_2D.getParameter<double>("ymax"));
400  Stub_Endcap_Disc_O->setAxisTitle("Endcap Disc", 1);
401  Stub_Endcap_Disc_O->setAxisTitle("Trigger Offset", 2);
402 
403  HistoName = "Stub_Offset_Endcap_Ring";
404  Stub_Endcap_Ring_O = iBooker.book2D(HistoName,
405  HistoName,
406  psTTStub_ECRing_2D.getParameter<int32_t>("Nbinsx"),
407  psTTStub_ECRing_2D.getParameter<double>("xmin"),
408  psTTStub_ECRing_2D.getParameter<double>("xmax"),
409  psTTStub_ECRing_2D.getParameter<int32_t>("Nbinsy"),
410  psTTStub_ECRing_2D.getParameter<double>("ymin"),
411  psTTStub_ECRing_2D.getParameter<double>("ymax"));
412  Stub_Endcap_Ring_O->setAxisTitle("Endcap Ring", 1);
413  Stub_Endcap_Ring_O->setAxisTitle("Trigger Offset", 2);
414 
415  for (int i = 0; i < numDiscs; i++) {
416  HistoName = "Stub_Offset_Disc+" + std::to_string(i + 1);
417  Stub_Endcap_Ring_O_Fw[i] = iBooker.book2D(HistoName,
418  HistoName,
419  psTTStub_ECRing_2D.getParameter<int32_t>("Nbinsx"),
420  psTTStub_ECRing_2D.getParameter<double>("xmin"),
421  psTTStub_ECRing_2D.getParameter<double>("xmax"),
422  psTTStub_ECRing_2D.getParameter<int32_t>("Nbinsy"),
423  psTTStub_ECRing_2D.getParameter<double>("ymin"),
424  psTTStub_ECRing_2D.getParameter<double>("ymax"));
425  Stub_Endcap_Ring_O_Fw[i]->setAxisTitle("Endcap Ring", 1);
426  Stub_Endcap_Ring_O_Fw[i]->setAxisTitle("Trigger Offset", 2);
427  }
428 
429  for (int i = 0; i < numDiscs; i++) {
430  HistoName = "Stub_Offset_Disc-" + std::to_string(i + 1);
431  Stub_Endcap_Ring_O_Bw[i] = iBooker.book2D(HistoName,
432  HistoName,
433  psTTStub_ECRing_2D.getParameter<int32_t>("Nbinsx"),
434  psTTStub_ECRing_2D.getParameter<double>("xmin"),
435  psTTStub_ECRing_2D.getParameter<double>("xmax"),
436  psTTStub_ECRing_2D.getParameter<int32_t>("Nbinsy"),
437  psTTStub_ECRing_2D.getParameter<double>("ymin"),
438  psTTStub_ECRing_2D.getParameter<double>("ymax"));
439  Stub_Endcap_Ring_O_Bw[i]->setAxisTitle("Endcap Ring", 1);
440  Stub_Endcap_Ring_O_Bw[i]->setAxisTitle("Trigger Offset", 2);
441  }
442 }
443 
edm::EDGetTokenT< edmNew::DetSetVector< TTStub< Ref_Phase2TrackerDigi_ > > > tagTTStubsToken_
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
Definition: Surface.h:106
T getParameter(std::string const &) const
edm::Ref< typename HandleT::element_type, typename HandleT::element_type::value_type::value_type > makeRefTo(const HandleT &iHandle, typename HandleT::element_type::value_type::const_iterator itIter)
const_iterator end(bool update=false) const
T perp() const
Definition: PV3DBase.h:72
unsigned int tidRing(const DetId &id) const
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:517
virtual const Topology & topology() const
Definition: GeomDet.cc:81
Geom::Phi< T > phi() const
Definition: PV3DBase.h:69
T y() const
Definition: PV3DBase.h:63
MonitorElement * Stub_Endcap_Ring_O_Fw[5]
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:42
void Fill(long long x)
void analyze(const edm::Event &, const edm::EventSetup &) override
MonitorElement * Stub_Endcap_Ring_Bw[5]
int iEvent
Definition: GenABIO.cc:224
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
OuterTrackerMonitorTTStub(const edm::ParameterSet &)
MonitorElement * Stub_Endcap_Ring_O_Bw[5]
void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:268
T z() const
Definition: PV3DBase.h:64
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:41
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:106
bool isValid() const
Definition: HandleBase.h:74
Class to store the L1 Track Trigger stubs.
Definition: TTStub.h:22
Definition: DetId.h:18
MonitorElement * book2D(Args &&...args)
Definition: DQMStore.h:109
virtual LocalPoint localPosition(const MeasurementPoint &) const =0
std::string HistoName
unsigned int layer(const DetId &id) const
T eta() const
Definition: PV3DBase.h:76
MonitorElement * Stub_Endcap_Ring_Fw[5]
T get() const
Definition: EventSetup.h:71
const TrackerGeomDet * idToDet(DetId) const override
MonitorElement * Stub_Endcap_Ring_W_Bw[5]
T x() const
Definition: PV3DBase.h:62
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
T const * product() const
Definition: ESHandle.h:86
const_iterator begin(bool update=false) const
Definition: Run.h:45
MonitorElement * Stub_Endcap_Ring_W_Fw[5]