CMS 3D CMS Logo

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