CMS 3D CMS Logo

OuterTrackerMonitorTTTrack.cc
Go to the documentation of this file.
1 // Package: SiOuterTracker
2 // Class: SiOuterTracker
3 //
4 // Original Author: Isis Marina Van Parijs
5 // Modified by: Emily MacDonald (emily.kaelyn.macdonald@cern.ch)
6 
7 // system include files
8 #include <fstream>
9 #include <iostream>
10 #include <memory>
11 #include <numeric>
12 #include <string>
13 #include <vector>
14 
15 // user include files
37 
38 // constructors and destructor
40  topFolderName_ = conf_.getParameter<std::string>("TopFolderName");
42  consumes<std::vector<TTTrack<Ref_Phase2TrackerDigi_>>>(conf_.getParameter<edm::InputTag>("TTTracksTag"));
43  HQNStubs_ = conf_.getParameter<int>("HQNStubs");
44  HQChi2dof_ = conf_.getParameter<double>("HQChi2dof");
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 ------------
56  // L1 Primaries
58  iEvent.getByToken(ttTrackToken_, TTTrackHandle);
59 
61  unsigned int numHQTracks = 0;
62  unsigned int numLQTracks = 0;
63 
64  // Adding protection
65  if (!TTTrackHandle.isValid())
66  return;
67 
69  unsigned int tkCnt = 0;
70  for (auto iterTTTrack : *TTTrackHandle) {
71  edm::Ptr<TTTrack<Ref_Phase2TrackerDigi_>> tempTrackPtr(TTTrackHandle, tkCnt++);
72 
73  unsigned int nStubs = tempTrackPtr->getStubRefs().size();
74  int nBarrelStubs = 0;
75  int nECStubs = 0;
76 
77  double track_d0 = tempTrackPtr->d0();
78  double trackChi2 = tempTrackPtr->chi2();
79  double trackChi2R = tempTrackPtr->chi2Red();
80 
81  Track_NStubs->Fill(nStubs);
82  Track_Eta_NStubs->Fill(tempTrackPtr->eta(), nStubs);
83 
84  std::vector<edm::Ref<edmNew::DetSetVector<TTStub<Ref_Phase2TrackerDigi_>>, TTStub<Ref_Phase2TrackerDigi_>>>
85  theStubs = iterTTTrack.getStubRefs();
86  for (auto istub : theStubs) {
87  bool inTIB = false;
88  bool inTOB = false;
89  bool inTEC = false;
90  bool inTID = false;
91 
92  // Verify if stubs are in EC or barrel
93  DetId detId(istub->getDetId());
94  if (detId.det() == DetId::Detector::Tracker) {
95  if (detId.subdetId() == StripSubdetector::TIB)
96  inTIB = true;
97  else if (detId.subdetId() == StripSubdetector::TOB)
98  inTOB = true;
99  else if (detId.subdetId() == StripSubdetector::TEC)
100  inTEC = true;
101  else if (detId.subdetId() == StripSubdetector::TID)
102  inTID = true;
103  }
104  if (inTIB)
105  nBarrelStubs++;
106  else if (inTOB)
107  nBarrelStubs++;
108  else if (inTEC)
109  nECStubs++;
110  else if (inTID)
111  nECStubs++;
112  } // end loop over stubs
113 
114  // HQ tracks: >=5 stubs and chi2/dof < 1
115  if (nStubs >= HQNStubs_ && trackChi2R <= HQChi2dof_) {
116  numHQTracks++;
117 
118  Track_HQ_Pt->Fill(tempTrackPtr->getMomentum(4).perp()); //4 for now for backwards compatibility
119  Track_HQ_Eta->Fill(tempTrackPtr->eta());
120  Track_HQ_Phi->Fill(tempTrackPtr->phi());
121  Track_HQ_VtxZ->Fill(tempTrackPtr->z0());
122  Track_HQ_Chi2->Fill(trackChi2);
123  Track_HQ_Chi2Red->Fill(trackChi2R);
124  Track_HQ_D0->Fill(track_d0);
125  Track_HQ_Chi2Red_NStubs->Fill(nStubs, trackChi2R);
126  Track_HQ_Chi2Red_Eta->Fill(tempTrackPtr->eta(), trackChi2R);
127  Track_HQ_Eta_BarrelStubs->Fill(tempTrackPtr->eta(), nBarrelStubs);
128  Track_HQ_Eta_ECStubs->Fill(tempTrackPtr->eta(), nECStubs);
130  }
131 
132  // LQ: now defined as all tracks (including HQ tracks)
133  numLQTracks++;
134 
135  Track_LQ_Pt->Fill(tempTrackPtr->getMomentum(4).perp());
136  Track_LQ_Eta->Fill(tempTrackPtr->eta());
137  Track_LQ_Phi->Fill(tempTrackPtr->phi());
138  Track_LQ_VtxZ->Fill(tempTrackPtr->z0());
139  Track_LQ_Chi2->Fill(trackChi2);
140  Track_LQ_Chi2Red->Fill(trackChi2R);
141  Track_LQ_D0->Fill(track_d0);
142  Track_LQ_Chi2Red_NStubs->Fill(nStubs, trackChi2R);
143  Track_LQ_Chi2Red_Eta->Fill(tempTrackPtr->eta(), trackChi2R);
144  Track_LQ_Eta_BarrelStubs->Fill(tempTrackPtr->eta(), nBarrelStubs);
145  Track_LQ_Eta_ECStubs->Fill(tempTrackPtr->eta(), nECStubs);
147 
148  } // End of loop over TTTracks
149 
150  Track_HQ_N->Fill(numHQTracks);
151  Track_LQ_N->Fill(numLQTracks);
152 } // end of method
153 
154 // ------------ method called once each job just before starting event loop
155 // ------------
156 // Creating all histograms for DQM file output
158  edm::Run const &run,
159  edm::EventSetup const &es) {
161  iBooker.setCurrentFolder(topFolderName_ + "/Tracks/");
162 
163  // Number of stubs
164  edm::ParameterSet psTrack_NStubs = conf_.getParameter<edm::ParameterSet>("TH1_NStubs");
165  HistoName = "Track_NStubs";
166  Track_NStubs = iBooker.book1D(HistoName,
167  HistoName,
168  psTrack_NStubs.getParameter<int32_t>("Nbinsx"),
169  psTrack_NStubs.getParameter<double>("xmin"),
170  psTrack_NStubs.getParameter<double>("xmax"));
171  Track_NStubs->setAxisTitle("# L1 Stubs per L1 Track", 1);
172  Track_NStubs->setAxisTitle("# L1 Tracks", 2);
173 
174  edm::ParameterSet psTrack_Eta_NStubs = conf_.getParameter<edm::ParameterSet>("TH2_Track_Eta_NStubs");
175  HistoName = "Track_Eta_NStubs";
176  Track_Eta_NStubs = iBooker.book2D(HistoName,
177  HistoName,
178  psTrack_Eta_NStubs.getParameter<int32_t>("Nbinsx"),
179  psTrack_Eta_NStubs.getParameter<double>("xmin"),
180  psTrack_Eta_NStubs.getParameter<double>("xmax"),
181  psTrack_Eta_NStubs.getParameter<int32_t>("Nbinsy"),
182  psTrack_Eta_NStubs.getParameter<double>("ymin"),
183  psTrack_Eta_NStubs.getParameter<double>("ymax"));
184  Track_Eta_NStubs->setAxisTitle("#eta", 1);
185  Track_Eta_NStubs->setAxisTitle("# L1 Stubs", 2);
186 
188  iBooker.setCurrentFolder(topFolderName_ + "/Tracks/LQ");
189  // Nb of L1Tracks
190  HistoName = "Track_LQ_N";
191  edm::ParameterSet psTrack_N = conf_.getParameter<edm::ParameterSet>("TH1_NTracks");
192  Track_LQ_N = iBooker.book1D(HistoName,
193  HistoName,
194  psTrack_N.getParameter<int32_t>("Nbinsx"),
195  psTrack_N.getParameter<double>("xmin"),
196  psTrack_N.getParameter<double>("xmax"));
197  Track_LQ_N->setAxisTitle("# L1 Tracks", 1);
198  Track_LQ_N->setAxisTitle("# Events", 2);
199 
200  // Pt of the tracks
201  edm::ParameterSet psTrack_Pt = conf_.getParameter<edm::ParameterSet>("TH1_Track_Pt");
202  HistoName = "Track_LQ_Pt";
203  Track_LQ_Pt = iBooker.book1D(HistoName,
204  HistoName,
205  psTrack_Pt.getParameter<int32_t>("Nbinsx"),
206  psTrack_Pt.getParameter<double>("xmin"),
207  psTrack_Pt.getParameter<double>("xmax"));
208  Track_LQ_Pt->setAxisTitle("p_{T} [GeV]", 1);
209  Track_LQ_Pt->setAxisTitle("# L1 Tracks", 2);
210 
211  // Phi
212  edm::ParameterSet psTrack_Phi = conf_.getParameter<edm::ParameterSet>("TH1_Track_Phi");
213  HistoName = "Track_LQ_Phi";
214  Track_LQ_Phi = iBooker.book1D(HistoName,
215  HistoName,
216  psTrack_Phi.getParameter<int32_t>("Nbinsx"),
217  psTrack_Phi.getParameter<double>("xmin"),
218  psTrack_Phi.getParameter<double>("xmax"));
219  Track_LQ_Phi->setAxisTitle("#phi", 1);
220  Track_LQ_Phi->setAxisTitle("# L1 Tracks", 2);
221 
222  // D0
223  edm::ParameterSet psTrack_D0 = conf_.getParameter<edm::ParameterSet>("TH1_Track_D0");
224  HistoName = "Track_LQ_D0";
225  Track_LQ_D0 = iBooker.book1D(HistoName,
226  HistoName,
227  psTrack_D0.getParameter<int32_t>("Nbinsx"),
228  psTrack_D0.getParameter<double>("xmin"),
229  psTrack_D0.getParameter<double>("xmax"));
230  Track_LQ_D0->setAxisTitle("Track D0", 1);
231  Track_LQ_D0->setAxisTitle("# L1 Tracks", 2);
232 
233  // Eta
234  edm::ParameterSet psTrack_Eta = conf_.getParameter<edm::ParameterSet>("TH1_Track_Eta");
235  HistoName = "Track_LQ_Eta";
236  Track_LQ_Eta = iBooker.book1D(HistoName,
237  HistoName,
238  psTrack_Eta.getParameter<int32_t>("Nbinsx"),
239  psTrack_Eta.getParameter<double>("xmin"),
240  psTrack_Eta.getParameter<double>("xmax"));
241  Track_LQ_Eta->setAxisTitle("#eta", 1);
242  Track_LQ_Eta->setAxisTitle("# L1 Tracks", 2);
243 
244  // VtxZ
245  edm::ParameterSet psTrack_VtxZ = conf_.getParameter<edm::ParameterSet>("TH1_Track_VtxZ");
246  HistoName = "Track_LQ_VtxZ";
247  Track_LQ_VtxZ = iBooker.book1D(HistoName,
248  HistoName,
249  psTrack_VtxZ.getParameter<int32_t>("Nbinsx"),
250  psTrack_VtxZ.getParameter<double>("xmin"),
251  psTrack_VtxZ.getParameter<double>("xmax"));
252  Track_LQ_VtxZ->setAxisTitle("L1 Track vertex position z [cm]", 1);
253  Track_LQ_VtxZ->setAxisTitle("# L1 Tracks", 2);
254 
255  // chi2
256  edm::ParameterSet psTrack_Chi2 = conf_.getParameter<edm::ParameterSet>("TH1_Track_Chi2");
257  HistoName = "Track_LQ_Chi2";
258  Track_LQ_Chi2 = iBooker.book1D(HistoName,
259  HistoName,
260  psTrack_Chi2.getParameter<int32_t>("Nbinsx"),
261  psTrack_Chi2.getParameter<double>("xmin"),
262  psTrack_Chi2.getParameter<double>("xmax"));
263  Track_LQ_Chi2->setAxisTitle("L1 Track #chi^{2}", 1);
264  Track_LQ_Chi2->setAxisTitle("# L1 Tracks", 2);
265 
266  // chi2Red
267  edm::ParameterSet psTrack_Chi2Red = conf_.getParameter<edm::ParameterSet>("TH1_Track_Chi2R");
268  HistoName = "Track_LQ_Chi2Red";
269  Track_LQ_Chi2Red = iBooker.book1D(HistoName,
270  HistoName,
271  psTrack_Chi2Red.getParameter<int32_t>("Nbinsx"),
272  psTrack_Chi2Red.getParameter<double>("xmin"),
273  psTrack_Chi2Red.getParameter<double>("xmax"));
274  Track_LQ_Chi2Red->setAxisTitle("L1 Track #chi^{2}/ndf", 1);
275  Track_LQ_Chi2Red->setAxisTitle("# L1 Tracks", 2);
276 
277  // Chi2 prob
278  edm::ParameterSet psTrack_Chi2_Probability = conf_.getParameter<edm::ParameterSet>("TH1_Track_Chi2_Probability");
279  HistoName = "Track_LQ_Chi2_Probability";
280  Track_LQ_Chi2_Probability = iBooker.book1D(HistoName,
281  HistoName,
282  psTrack_Chi2_Probability.getParameter<int32_t>("Nbinsx"),
283  psTrack_Chi2_Probability.getParameter<double>("xmin"),
284  psTrack_Chi2_Probability.getParameter<double>("xmax"));
285  Track_LQ_Chi2_Probability->setAxisTitle("#chi^{2} probability", 1);
286  Track_LQ_Chi2_Probability->setAxisTitle("# L1 Tracks", 2);
287 
288  // Reduced chi2 vs #stubs
289  edm::ParameterSet psTrack_Chi2Red_NStubs = conf_.getParameter<edm::ParameterSet>("TH2_Track_Chi2R_NStubs");
290  HistoName = "Track_LQ_Chi2Red_NStubs";
291  Track_LQ_Chi2Red_NStubs = iBooker.book2D(HistoName,
292  HistoName,
293  psTrack_Chi2Red_NStubs.getParameter<int32_t>("Nbinsx"),
294  psTrack_Chi2Red_NStubs.getParameter<double>("xmin"),
295  psTrack_Chi2Red_NStubs.getParameter<double>("xmax"),
296  psTrack_Chi2Red_NStubs.getParameter<int32_t>("Nbinsy"),
297  psTrack_Chi2Red_NStubs.getParameter<double>("ymin"),
298  psTrack_Chi2Red_NStubs.getParameter<double>("ymax"));
299  Track_LQ_Chi2Red_NStubs->setAxisTitle("# L1 Stubs", 1);
300  Track_LQ_Chi2Red_NStubs->setAxisTitle("L1 Track #chi^{2}/ndf", 2);
301 
302  // chi2/dof vs eta
303  edm::ParameterSet psTrack_Chi2R_Eta = conf_.getParameter<edm::ParameterSet>("TH2_Track_Chi2R_Eta");
304  HistoName = "Track_LQ_Chi2Red_Eta";
305  Track_LQ_Chi2Red_Eta = iBooker.book2D(HistoName,
306  HistoName,
307  psTrack_Chi2R_Eta.getParameter<int32_t>("Nbinsx"),
308  psTrack_Chi2R_Eta.getParameter<double>("xmin"),
309  psTrack_Chi2R_Eta.getParameter<double>("xmax"),
310  psTrack_Chi2R_Eta.getParameter<int32_t>("Nbinsy"),
311  psTrack_Chi2R_Eta.getParameter<double>("ymin"),
312  psTrack_Chi2R_Eta.getParameter<double>("ymax"));
314  Track_LQ_Chi2Red_Eta->setAxisTitle("L1 Track #chi^{2}/ndf", 2);
315 
316  // Eta vs #stubs in barrel
317  HistoName = "Track_LQ_Eta_BarrelStubs";
318  Track_LQ_Eta_BarrelStubs = iBooker.book2D(HistoName,
319  HistoName,
320  psTrack_Eta_NStubs.getParameter<int32_t>("Nbinsx"),
321  psTrack_Eta_NStubs.getParameter<double>("xmin"),
322  psTrack_Eta_NStubs.getParameter<double>("xmax"),
323  psTrack_Eta_NStubs.getParameter<int32_t>("Nbinsy"),
324  psTrack_Eta_NStubs.getParameter<double>("ymin"),
325  psTrack_Eta_NStubs.getParameter<double>("ymax"));
327  Track_LQ_Eta_BarrelStubs->setAxisTitle("# L1 Barrel Stubs", 2);
328 
329  // Eta vs #stubs in EC
330  HistoName = "Track_LQ_Eta_ECStubs";
331  Track_LQ_Eta_ECStubs = iBooker.book2D(HistoName,
332  HistoName,
333  psTrack_Eta_NStubs.getParameter<int32_t>("Nbinsx"),
334  psTrack_Eta_NStubs.getParameter<double>("xmin"),
335  psTrack_Eta_NStubs.getParameter<double>("xmax"),
336  psTrack_Eta_NStubs.getParameter<int32_t>("Nbinsy"),
337  psTrack_Eta_NStubs.getParameter<double>("ymin"),
338  psTrack_Eta_NStubs.getParameter<double>("ymax"));
340  Track_LQ_Eta_ECStubs->setAxisTitle("# L1 EC Stubs", 2);
341 
343  iBooker.setCurrentFolder(topFolderName_ + "/Tracks/HQ");
344  // Nb of L1Tracks
345  HistoName = "Track_HQ_N";
346  Track_HQ_N = iBooker.book1D(HistoName,
347  HistoName,
348  psTrack_N.getParameter<int32_t>("Nbinsx"),
349  psTrack_N.getParameter<double>("xmin"),
350  psTrack_N.getParameter<double>("xmax"));
351  Track_HQ_N->setAxisTitle("# L1 Tracks", 1);
352  Track_HQ_N->setAxisTitle("# Events", 2);
353 
354  // Pt of the tracks
355  HistoName = "Track_HQ_Pt";
356  Track_HQ_Pt = iBooker.book1D(HistoName,
357  HistoName,
358  psTrack_Pt.getParameter<int32_t>("Nbinsx"),
359  psTrack_Pt.getParameter<double>("xmin"),
360  psTrack_Pt.getParameter<double>("xmax"));
361  Track_HQ_Pt->setAxisTitle("p_{T} [GeV]", 1);
362  Track_HQ_Pt->setAxisTitle("# L1 Tracks", 2);
363 
364  // Phi
365  HistoName = "Track_HQ_Phi";
366  Track_HQ_Phi = iBooker.book1D(HistoName,
367  HistoName,
368  psTrack_Phi.getParameter<int32_t>("Nbinsx"),
369  psTrack_Phi.getParameter<double>("xmin"),
370  psTrack_Phi.getParameter<double>("xmax"));
371  Track_HQ_Phi->setAxisTitle("#phi", 1);
372  Track_HQ_Phi->setAxisTitle("# L1 Tracks", 2);
373 
374  // D0
375  HistoName = "Track_HQ_D0";
376  Track_HQ_D0 = iBooker.book1D(HistoName,
377  HistoName,
378  psTrack_D0.getParameter<int32_t>("Nbinsx"),
379  psTrack_D0.getParameter<double>("xmin"),
380  psTrack_D0.getParameter<double>("xmax"));
381  Track_HQ_D0->setAxisTitle("Track D0", 1);
382  Track_HQ_D0->setAxisTitle("# L1 Tracks", 2);
383 
384  // Eta
385  HistoName = "Track_HQ_Eta";
386  Track_HQ_Eta = iBooker.book1D(HistoName,
387  HistoName,
388  psTrack_Eta.getParameter<int32_t>("Nbinsx"),
389  psTrack_Eta.getParameter<double>("xmin"),
390  psTrack_Eta.getParameter<double>("xmax"));
391  Track_HQ_Eta->setAxisTitle("#eta", 1);
392  Track_HQ_Eta->setAxisTitle("# L1 Tracks", 2);
393 
394  // VtxZ
395  HistoName = "Track_HQ_VtxZ";
396  Track_HQ_VtxZ = iBooker.book1D(HistoName,
397  HistoName,
398  psTrack_VtxZ.getParameter<int32_t>("Nbinsx"),
399  psTrack_VtxZ.getParameter<double>("xmin"),
400  psTrack_VtxZ.getParameter<double>("xmax"));
401  Track_HQ_VtxZ->setAxisTitle("L1 Track vertex position z [cm]", 1);
402  Track_HQ_VtxZ->setAxisTitle("# L1 Tracks", 2);
403 
404  // chi2
405  HistoName = "Track_HQ_Chi2";
406  Track_HQ_Chi2 = iBooker.book1D(HistoName,
407  HistoName,
408  psTrack_Chi2.getParameter<int32_t>("Nbinsx"),
409  psTrack_Chi2.getParameter<double>("xmin"),
410  psTrack_Chi2.getParameter<double>("xmax"));
411  Track_HQ_Chi2->setAxisTitle("L1 Track #chi^{2}", 1);
412  Track_HQ_Chi2->setAxisTitle("# L1 Tracks", 2);
413 
414  // chi2Red
415  HistoName = "Track_HQ_Chi2Red";
416  Track_HQ_Chi2Red = iBooker.book1D(HistoName,
417  HistoName,
418  psTrack_Chi2Red.getParameter<int32_t>("Nbinsx"),
419  psTrack_Chi2Red.getParameter<double>("xmin"),
420  psTrack_Chi2Red.getParameter<double>("xmax"));
421  Track_HQ_Chi2Red->setAxisTitle("L1 Track #chi^{2}/ndf", 1);
422  Track_HQ_Chi2Red->setAxisTitle("# L1 Tracks", 2);
423 
424  // Chi2 prob
425  HistoName = "Track_HQ_Chi2_Probability";
426  Track_HQ_Chi2_Probability = iBooker.book1D(HistoName,
427  HistoName,
428  psTrack_Chi2_Probability.getParameter<int32_t>("Nbinsx"),
429  psTrack_Chi2_Probability.getParameter<double>("xmin"),
430  psTrack_Chi2_Probability.getParameter<double>("xmax"));
431  Track_HQ_Chi2_Probability->setAxisTitle("#chi^{2} probability", 1);
432  Track_HQ_Chi2_Probability->setAxisTitle("# L1 Tracks", 2);
433 
434  // Reduced chi2 vs #stubs
435  HistoName = "Track_HQ_Chi2Red_NStubs";
436  Track_HQ_Chi2Red_NStubs = iBooker.book2D(HistoName,
437  HistoName,
438  psTrack_Chi2Red_NStubs.getParameter<int32_t>("Nbinsx"),
439  psTrack_Chi2Red_NStubs.getParameter<double>("xmin"),
440  psTrack_Chi2Red_NStubs.getParameter<double>("xmax"),
441  psTrack_Chi2Red_NStubs.getParameter<int32_t>("Nbinsy"),
442  psTrack_Chi2Red_NStubs.getParameter<double>("ymin"),
443  psTrack_Chi2Red_NStubs.getParameter<double>("ymax"));
444  Track_HQ_Chi2Red_NStubs->setAxisTitle("# L1 Stubs", 1);
445  Track_HQ_Chi2Red_NStubs->setAxisTitle("L1 Track #chi^{2}/ndf", 2);
446 
447  // chi2/dof vs eta
448  HistoName = "Track_HQ_Chi2Red_Eta";
449  Track_HQ_Chi2Red_Eta = iBooker.book2D(HistoName,
450  HistoName,
451  psTrack_Chi2R_Eta.getParameter<int32_t>("Nbinsx"),
452  psTrack_Chi2R_Eta.getParameter<double>("xmin"),
453  psTrack_Chi2R_Eta.getParameter<double>("xmax"),
454  psTrack_Chi2R_Eta.getParameter<int32_t>("Nbinsy"),
455  psTrack_Chi2R_Eta.getParameter<double>("ymin"),
456  psTrack_Chi2R_Eta.getParameter<double>("ymax"));
458  Track_HQ_Chi2Red_Eta->setAxisTitle("L1 Track #chi^{2}/ndf", 2);
459 
460  // eta vs #stubs in barrel
461  HistoName = "Track_HQ_Eta_BarrelStubs";
462  Track_HQ_Eta_BarrelStubs = iBooker.book2D(HistoName,
463  HistoName,
464  psTrack_Eta_NStubs.getParameter<int32_t>("Nbinsx"),
465  psTrack_Eta_NStubs.getParameter<double>("xmin"),
466  psTrack_Eta_NStubs.getParameter<double>("xmax"),
467  psTrack_Eta_NStubs.getParameter<int32_t>("Nbinsy"),
468  psTrack_Eta_NStubs.getParameter<double>("ymin"),
469  psTrack_Eta_NStubs.getParameter<double>("ymax"));
471  Track_HQ_Eta_BarrelStubs->setAxisTitle("# L1 Barrel Stubs", 2);
472 
473  // eta vs #stubs in EC
474  HistoName = "Track_HQ_Eta_ECStubs";
475  Track_HQ_Eta_ECStubs = iBooker.book2D(HistoName,
476  HistoName,
477  psTrack_Eta_NStubs.getParameter<int32_t>("Nbinsx"),
478  psTrack_Eta_NStubs.getParameter<double>("xmin"),
479  psTrack_Eta_NStubs.getParameter<double>("xmax"),
480  psTrack_Eta_NStubs.getParameter<int32_t>("Nbinsy"),
481  psTrack_Eta_NStubs.getParameter<double>("ymin"),
482  psTrack_Eta_NStubs.getParameter<double>("ymax"));
484  Track_HQ_Eta_ECStubs->setAxisTitle("# L1 EC Stubs", 2);
485 
486 } // end of method
487 
T getParameter(std::string const &) const
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:517
void Fill(long long x)
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
int iEvent
Definition: GenABIO.cc:224
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
edm::EDGetTokenT< std::vector< TTTrack< Ref_Phase2TrackerDigi_ > > > ttTrackToken_
void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:268
MonitorElement * Track_HQ_N
High-quality TTTracks (NStubs >=5, chi2/dof<10)
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:106
float ChiSquaredProbability(double chiSquared, double nrDOF)
bool isValid() const
Definition: HandleBase.h:74
Class to store the L1 Track Trigger stubs.
Definition: TTStub.h:22
OuterTrackerMonitorTTTrack(const edm::ParameterSet &)
Definition: DetId.h:18
MonitorElement * book2D(Args &&...args)
Definition: DQMStore.h:109
MonitorElement * Track_LQ_N
Low-quality TTTracks (All tracks)
std::string HistoName
void analyze(const edm::Event &, const edm::EventSetup &) override
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
Definition: Run.h:45