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