CMS 3D CMS Logo

SiPixelTrackingRecHitsValid.cc
Go to the documentation of this file.
1 
2 // File: SiPixelTrackingRecHitsValid.cc
3 // Authors: Xingtao Huang (Puerto Rico Univ.)
4 // Gavril Giurgiu (JHU)
5 // Creation Date: Oct. 2006
6 
7 #include <memory>
8 #include <string>
9 #include <iostream>
10 #include <TMath.h>
12 
22 
28 
33 
35 
37 
42 
43 #include <TTree.h>
44 #include <TFile.h>
45 
46 // End job: write and close the ntuple file
48  if (!debugNtuple_.empty()) {
49  tfile_->Write();
50  tfile_->Close();
51  }
52 }
53 
55  if (!debugNtuple_.empty()) {
56  tfile_ = new TFile(debugNtuple_.c_str(), "RECREATE");
57 
58  t_ = new TTree("Ntuple", "Ntuple");
59  int bufsize = 64000;
60 
61  t_->Branch("subdetId", &subdetId, "subdetId/I", bufsize);
62 
63  t_->Branch("layer", &layer, "layer/I", bufsize);
64  t_->Branch("ladder", &ladder, "ladder/I", bufsize);
65  t_->Branch("mod", &mod, "mod/I", bufsize);
66  t_->Branch("side", &side, "side/I", bufsize);
67  t_->Branch("disk", &disk, "disk/I", bufsize);
68  t_->Branch("blade", &blade, "blade/I", bufsize);
69  t_->Branch("panel", &panel, "panel/I", bufsize);
70  t_->Branch("plaq", &plaq, "plaq/I", bufsize);
71 
72  t_->Branch("rechitx", &rechitx, "rechitx/F", bufsize);
73  t_->Branch("rechity", &rechity, "rechity/F", bufsize);
74  t_->Branch("rechitz", &rechitz, "rechitz/F", bufsize);
75  t_->Branch("rechiterrx", &rechiterrx, "rechiterrx/F", bufsize);
76  t_->Branch("rechiterry", &rechiterry, "rechiterry/F", bufsize);
77  t_->Branch("rechitresx", &rechitresx, "rechitresx/F", bufsize);
78  t_->Branch("rechitresy", &rechitresy, "rechitresy/F", bufsize);
79  t_->Branch("rechitpullx", &rechitpullx, "rechitpullx/F", bufsize);
80  t_->Branch("rechitpully", &rechitpully, "rechitpully/F", bufsize);
81 
82  t_->Branch("npix", &npix, "npix/I", bufsize);
83  t_->Branch("nxpix", &nxpix, "nxpix/I", bufsize);
84  t_->Branch("nypix", &nypix, "nypix/I", bufsize);
85  t_->Branch("charge", &charge, "charge/F", bufsize);
86 
87  t_->Branch("alpha", &alpha, "alpha/F", bufsize);
88  t_->Branch("beta", &beta, "beta/F", bufsize);
89 
90  t_->Branch("phi", &phi, "phi/F", bufsize);
91  t_->Branch("eta", &eta, "eta/F", bufsize);
92 
93  t_->Branch("half", &half, "half/I", bufsize);
94  t_->Branch("flipped", &flipped, "flipped/I", bufsize);
95 
96  t_->Branch("simhitx", &simhitx, "simhitx/F", bufsize);
97  t_->Branch("simhity", &simhity, "simhity/F", bufsize);
98 
99  t_->Branch("nsimhit", &nsimhit, "nsimhit/I", bufsize);
100  t_->Branch("pidhit", &pidhit, "pidhit/I", bufsize);
101 
102  t_->Branch("evt", &evt, "evt/I", bufsize);
103  t_->Branch("run", &run, "run/I", bufsize);
104  }
105 }
106 
109  //Read config file
110  MTCCtrack_ = ps.getParameter<bool>("MTCCtrack");
111  runStandalone = ps.getParameter<bool>("runStandalone");
112  outputFile_ = ps.getUntrackedParameter<std::string>("outputFile", "pixeltrackingrechitshisto.root");
113  siPixelRecHitCollectionToken_ = consumes<SiPixelRecHitCollection>(edm::InputTag("siPixelRecHits"));
115  consumes<reco::TrackCollection>(edm::InputTag(ps.getUntrackedParameter<std::string>("src")));
116  builderName_ = ps.getParameter<std::string>("TTRHBuilder");
117  checkType_ = ps.getParameter<bool>("checkType");
118  genType_ = ps.getParameter<int>("genType");
119  debugNtuple_ = ps.getUntrackedParameter<std::string>("debugNtuple", "SiPixelTrackingRecHitsValid_Ntuple.root");
120 }
121 
123  const edm::Run& run,
124  const edm::EventSetup& es) {
125  // Book histograms
127  //dbe_->showDirStructure();
128 
129  //float math_pi = 3.14159265;
130  //float radtodeg = 180.0 / math_pi;
131 
132  // Histogram ranges (low and high)
133 
134  float xl = -1.0;
135  float xh = 1.0;
136  float errxl = 0.0;
137  float errxh = 0.003;
138  float resxl = -0.02;
139  float resxh = 0.02;
140  float pullxl = -10.0;
141  float pullxh = 10.0;
142 
143  float yl = -4.0;
144  float yh = 4.0;
145  float erryl = 0.0;
146  float erryh = 0.010;
147  float resyl = -0.04;
148  float resyh = 0.04;
149  float pullyl = -10.0;
150  float pullyh = 10.0;
151 
152  float barrel_alphal = 80.0;
153  float barrel_alphah = 100.0;
154  float barrel_betal = 10.0;
155  float barrel_betah = 170.0;
156  //float barrel_phil = -180.0;
157  //float barrel_phih = 180.0;
158  //float barrel_etal = -2.5;
159  //float barrel_etah = 2.5;
160 
161  float forward_p1_alphal = 100.0;
162  float forward_p1_alphah = 115.0;
163  float forward_p2_alphal = 65.0;
164  float forward_p2_alphah = 80.0;
165  float forward_neg_betal = 67.0;
166  float forward_neg_betah = 73.0;
167  float forward_pos_betal = 107.0;
168  float forward_pos_betah = 113.0;
169  //float forward_phil = -180.0;
170  //float forward_phih = 180.0;
171  //float forward_neg_etal = -2.5;
172  //float forward_neg_etah = -1.5;
173  //float forward_pos_etal = 1.5;
174  //float forward_pos_etah = 2.5;
175 
176  // special ranges for pulls
177  float pull_barrel_alphal = 80.0;
178  float pull_barrel_alphah = 100.0;
179  float pull_barrel_betal = 10.0;
180  float pull_barrel_betah = 170.0;
181  float pull_barrel_phil = -180.0;
182  float pull_barrel_phih = 180.0;
183  float pull_barrel_etal = -2.4;
184  float pull_barrel_etah = 2.4;
185 
186  float pull_forward_p1_alphal = 100.0;
187  float pull_forward_p1_alphah = 112.0;
188  float pull_forward_p2_alphal = 68.0;
189  float pull_forward_p2_alphah = 80.0;
190  float pull_forward_neg_betal = 68.0;
191  float pull_forward_neg_betah = 72.0;
192  float pull_forward_pos_betal = 108.0;
193  float pull_forward_pos_betah = 112.0;
194  float pull_forward_phil = -180.0;
195  float pull_forward_phih = 180.0;
196  float pull_forward_neg_etal = -2.4;
197  float pull_forward_neg_etah = -1.4;
198  float pull_forward_pos_etal = 1.5;
199  float pull_forward_pos_etah = 2.5;
200 
201  int npixl = 0;
202  int npixh = 20;
203  int nxpixl = 0;
204  int nxpixh = 10;
205  int nypixl = 0;
206  int nypixh = 20;
207 
208  float barrel_chargel = 0.0;
209  float barrel_chargeh = 250000.0;
210  float forward_chargel = 0.0;
211  float forward_chargeh = 100000.0;
212 
213  ibooker.setCurrentFolder("Tracking/TrackingRecHits/Pixel/Histograms_per_ring-layer_or_disk-plaquette");
214 
215  // Pixel barrel has 3 layers and 8 rings; book a histogram for each module given by the (layer, ring) pair
216  for (int i = 0; i < 3; i++) // loop over layers
217  {
218  Char_t chisto[100];
219 
220  sprintf(chisto, "meResxBarrelLayer_%d", i + 1);
221  meResxBarrelLayer[i] = ibooker.book1D(chisto, chisto, 100, resxl, resxh);
222  sprintf(chisto, "meResyBarrelLayer_%d", i + 1);
223  meResyBarrelLayer[i] = ibooker.book1D(chisto, chisto, 100, resyl, resyh);
224  sprintf(chisto, "mePullxBarrelLayer_%d", i + 1);
225  mePullxBarrelLayer[i] = ibooker.book1D(chisto, chisto, 100, pullxl, pullxh);
226  sprintf(chisto, "mePullyBarrelLayer_%d", i + 1);
227  mePullyBarrelLayer[i] = ibooker.book1D(chisto, chisto, 100, pullyl, pullyh);
228 
229  sprintf(chisto, "meResXvsAlphaBarrelFlippedLaddersLayer_%d", i + 1);
231  ibooker.bookProfile(chisto, chisto, 20, barrel_alphal, barrel_alphah, 100, 0.0, resxh, "");
232  sprintf(chisto, "meResYvsAlphaBarrelFlippedLaddersLayer_%d", i + 1);
234  ibooker.bookProfile(chisto, chisto, 20, barrel_alphal, barrel_alphah, 100, 0.0, resyh, "");
235  sprintf(chisto, "meResXvsBetaBarrelFlippedLaddersLayer_%d", i + 1);
237  ibooker.bookProfile(chisto, chisto, 20, barrel_betal, barrel_betah, 100, 0.0, resxh, "");
238  sprintf(chisto, "meResYvsBetaBarrelFlippedLaddersLayer_%d", i + 1);
240  ibooker.bookProfile(chisto, chisto, 20, barrel_betal, barrel_betah, 100, 0.0, resyh, "");
241 
242  sprintf(chisto, "meResXvsAlphaBarrelNonFlippedLaddersLayer_%d", i + 1);
244  ibooker.bookProfile(chisto, chisto, 20, barrel_alphal, barrel_alphah, 100, 0.0, resxh, "");
245  sprintf(chisto, "meResYvsAlphaBarrelNonFlippedLaddersLayer_%d", i + 1);
247  ibooker.bookProfile(chisto, chisto, 20, barrel_alphal, barrel_alphah, 100, 0.0, resyh, "");
248  sprintf(chisto, "meResXvsBetaBarrelNonFlippedLaddersLayer_%d", i + 1);
250  ibooker.bookProfile(chisto, chisto, 20, barrel_betal, barrel_betah, 100, 0.0, resxh, "");
251  sprintf(chisto, "meResYvsBetaBarrelNonFlippedLaddersLayer_%d", i + 1);
253  ibooker.bookProfile(chisto, chisto, 20, barrel_betal, barrel_betah, 100, 0.0, resyh, "");
254 
255  for (int j = 0; j < 8; j++) // loop over rings
256  {
257  sprintf(chisto, "mePosxBarrelLayerModule_%d_%d", i + 1, j + 1);
258  mePosxBarrelLayerModule[i][j] = ibooker.book1D(chisto, chisto, 100, xl, xh);
259  sprintf(chisto, "mePosyBarrelLayerModule_%d_%d", i + 1, j + 1);
260  mePosyBarrelLayerModule[i][j] = ibooker.book1D(chisto, chisto, 100, yl, yh);
261  sprintf(chisto, "meErrxBarrelLayerModule_%d_%d", i + 1, j + 1);
262  meErrxBarrelLayerModule[i][j] = ibooker.book1D(chisto, chisto, 100, errxl, errxh);
263  sprintf(chisto, "meErryBarrelLayerModule_%d_%d", i + 1, j + 1);
264  meErryBarrelLayerModule[i][j] = ibooker.book1D(chisto, chisto, 100, erryl, erryh);
265  sprintf(chisto, "meResxBarrelLayerModule_%d_%d", i + 1, j + 1);
266  meResxBarrelLayerModule[i][j] = ibooker.book1D(chisto, chisto, 100, resxl, resxh);
267  sprintf(chisto, "meResyBarrelLayerModule_%d_%d", i + 1, j + 1);
268  meResyBarrelLayerModule[i][j] = ibooker.book1D(chisto, chisto, 100, resyl, resyh);
269  sprintf(chisto, "mePullxBarrelLayerModule_%d_%d", i + 1, j + 1);
270  mePullxBarrelLayerModule[i][j] = ibooker.book1D(chisto, chisto, 100, pullxl, pullxh);
271  sprintf(chisto, "mePullyBarrelLayerModule_%d_%d", i + 1, j + 1);
272  mePullyBarrelLayerModule[i][j] = ibooker.book1D(chisto, chisto, 100, pullyl, pullyh);
273  sprintf(chisto, "meNpixBarrelLayerModule_%d_%d", i + 1, j + 1);
274  meNpixBarrelLayerModule[i][j] = ibooker.book1D(chisto, chisto, 100, npixl, npixh);
275  sprintf(chisto, "meNxpixBarrelLayerModule_%d_%d", i + 1, j + 1);
276  meNxpixBarrelLayerModule[i][j] = ibooker.book1D(chisto, chisto, 100, nxpixl, nxpixh);
277  sprintf(chisto, "meNypixBarrelLayerModule_%d_%d", i + 1, j + 1);
278  meNypixBarrelLayerModule[i][j] = ibooker.book1D(chisto, chisto, 100, nypixl, nypixh);
279  sprintf(chisto, "meChargeBarrelLayerModule_%d_%d", i + 1, j + 1);
280  meChargeBarrelLayerModule[i][j] = ibooker.book1D(chisto, chisto, 100, barrel_chargel, barrel_chargeh);
281 
282  sprintf(chisto, "meResXvsAlphaBarrelLayerModule_%d_%d", i + 1, j + 1);
284  ibooker.bookProfile(chisto, chisto, 20, barrel_alphal, barrel_alphah, 100, 0.0, resxh, "");
285  sprintf(chisto, "meResYvsAlphaBarrelLayerModule_%d_%d", i + 1, j + 1);
287  ibooker.bookProfile(chisto, chisto, 20, barrel_alphal, barrel_alphah, 100, 0.0, resyh, "");
288  sprintf(chisto, "meResXvsBetaBarrelLayerModule_%d_%d", i + 1, j + 1);
290  ibooker.bookProfile(chisto, chisto, 20, barrel_betal, barrel_betah, 100, 0.0, resxh, "");
291  sprintf(chisto, "meResYvsBetaBarrelLayerModule_%d_%d", i + 1, j + 1);
293  ibooker.bookProfile(chisto, chisto, 20, barrel_betal, barrel_betah, 100, 0.0, resyh, "");
294 
295  sprintf(chisto, "mePullXvsAlphaBarrelLayerModule_%d_%d", i + 1, j + 1);
297  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_alphal, pull_barrel_alphah, 100, pullxl, pullxh, "");
298  sprintf(chisto, "mePullYvsAlphaBarrelLayerModule_%d_%d", i + 1, j + 1);
300  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_alphal, pull_barrel_alphah, 100, pullyl, pullyh, "");
301  sprintf(chisto, "mePullXvsBetaBarrelLayerModule_%d_%d", i + 1, j + 1);
303  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_betal, pull_barrel_betah, 100, pullxl, pullxh, "");
304  sprintf(chisto, "mePullYvsBetaBarrelLayerModule_%d_%d", i + 1, j + 1);
306  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_betal, pull_barrel_betah, 100, pullyl, pullyh, "");
307  sprintf(chisto, "mePullXvsPhiBarrelLayerModule_%d_%d", i + 1, j + 1);
309  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_phil, pull_barrel_phih, 100, pullxl, pullxh, "");
310  sprintf(chisto, "mePullYvsPhiBarrelLayerModule_%d_%d", i + 1, j + 1);
312  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_phil, pull_barrel_phih, 100, pullyl, pullyh, "");
313  sprintf(chisto, "mePullXvsEtaBarrelLayerModule_%d_%d", i + 1, j + 1);
315  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_etal, pull_barrel_etah, 100, pullxl, pullxh, "");
316  sprintf(chisto, "mePullYvsEtaBarrelLayerModule_%d_%d", i + 1, j + 1);
318  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_etal, pull_barrel_etah, 100, pullyl, pullyh, "");
319  } // for (int j=0; j<8; j++) // loop over rings
320 
321  } // for (int i=0; i<3 ; i++) // loop over layers
322 
323  // Pixel forward detector has 2 disks, 2 panels and either 3 or 4 plaquettes
324  // Panel 1 has 4 plaquettes
325  // Panel 2 has 3 plaquettes
326 
327  // Panel 1: 2 disks, 4 plaquets
328  // Panel 2: 2 disks, 3 plaquets
329  for (int i = 0; i < 2; i++) // loop over disks
330  for (int j = 0; j < 4; j++) // loop over plaquettes
331  {
332  Char_t chisto[100];
333 
334  sprintf(chisto, "mePosxZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
335  mePosxZmPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, xl, xh);
336  sprintf(chisto, "mePosyZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
337  mePosyZmPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, yl, yh);
338  sprintf(chisto, "meErrxZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
339  meErrxZmPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, errxl, errxh);
340  sprintf(chisto, "meErryZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
341  meErryZmPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, erryl, erryh);
342  sprintf(chisto, "meResxZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
343  meResxZmPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, resxl, resxh);
344  sprintf(chisto, "meResyZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
345  meResyZmPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, resyl, resyh);
346  sprintf(chisto, "mePullxZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
347  mePullxZmPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, pullxl, pullxh);
348  sprintf(chisto, "mePullyZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
349  mePullyZmPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, pullyl, pullyh);
350  sprintf(chisto, "meNpixZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
351  meNpixZmPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, npixl, npixh);
352  sprintf(chisto, "meNxpixZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
353  meNxpixZmPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, nxpixl, nxpixh);
354  sprintf(chisto, "meNypixZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
355  meNypixZmPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, nypixl, nypixh);
356  sprintf(chisto, "meChargeZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
357  meChargeZmPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, forward_chargel, forward_chargeh);
358 
359  sprintf(chisto, "meResXvsAlphaZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
361  ibooker.bookProfile(chisto, chisto, 20, forward_p1_alphal, forward_p1_alphah, 100, 0.0, resxh, "");
362  sprintf(chisto, "meResYvsAlphaZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
364  ibooker.bookProfile(chisto, chisto, 20, forward_p1_alphal, forward_p1_alphah, 100, 0.0, resyh, "");
365  sprintf(chisto, "meResXvsBetaZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
367  ibooker.bookProfile(chisto, chisto, 20, forward_neg_betal, forward_neg_betah, 100, 0.0, resxh, "");
368  sprintf(chisto, "meResYvsBetaZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
370  ibooker.bookProfile(chisto, chisto, 20, forward_neg_betal, forward_neg_betah, 100, 0.0, resyh, "");
371 
372  sprintf(chisto, "mePullXvsAlphaZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
374  chisto, chisto, 20, pull_forward_p1_alphal, pull_forward_p1_alphah, 100, pullxl, pullxh, "");
375  sprintf(chisto, "mePullYvsAlphaZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
377  chisto, chisto, 20, pull_forward_p1_alphal, pull_forward_p1_alphah, 100, pullyl, pullyh, "");
378  sprintf(chisto, "mePullXvsBetaZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
380  chisto, chisto, 20, pull_forward_neg_betal, pull_forward_neg_betah, 100, pullxl, pullxh, "");
381  sprintf(chisto, "mePullYvsBetaZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
383  chisto, chisto, 20, pull_forward_neg_betal, pull_forward_neg_betah, 100, pullyl, pullyh, "");
384  sprintf(chisto, "mePullXvsPhiZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
386  ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullxl, pullxh, "");
387  sprintf(chisto, "mePullYvsPhiZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
389  ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullyl, pullyh, "");
390  sprintf(chisto, "mePullXvsEtaZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
392  chisto, chisto, 20, pull_forward_neg_etal, pull_forward_neg_etah, 100, pullxl, pullxh, "");
393  sprintf(chisto, "mePullYvsEtaZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
395  chisto, chisto, 20, pull_forward_neg_etal, pull_forward_neg_etah, 100, pullyl, pullyh, "");
396 
397  sprintf(chisto, "mePosxZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
398  mePosxZpPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, xl, xh);
399  sprintf(chisto, "mePosyZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
400  mePosyZpPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, yl, yh);
401  sprintf(chisto, "meErrxZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
402  meErrxZpPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, errxl, errxh);
403  sprintf(chisto, "meErryZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
404  meErryZpPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, erryl, erryh);
405  sprintf(chisto, "meResxZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
406  meResxZpPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, resxl, resxh);
407  sprintf(chisto, "meResyZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
408  meResyZpPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, resyl, resyh);
409  sprintf(chisto, "mePullxZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
410  mePullxZpPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, pullxl, pullxh);
411  sprintf(chisto, "mePullyZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
412  mePullyZpPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, pullyl, pullyh);
413  sprintf(chisto, "meNpixZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
414  meNpixZpPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, npixl, npixh);
415  sprintf(chisto, "meNxpixZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
416  meNxpixZpPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, nxpixl, nxpixh);
417  sprintf(chisto, "meNypixZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
418  meNypixZpPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, nypixl, nypixh);
419  sprintf(chisto, "meChargeZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
420  meChargeZpPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, forward_chargel, forward_chargeh);
421  sprintf(chisto, "meResXvsAlphaZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
423  ibooker.bookProfile(chisto, chisto, 20, forward_p1_alphal, forward_p1_alphah, 100, 0.0, resxh, "");
424  sprintf(chisto, "meResYvsAlphaZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
426  ibooker.bookProfile(chisto, chisto, 20, forward_p1_alphal, forward_p1_alphah, 100, 0.0, resyh, "");
427  sprintf(chisto, "meResXvsBetaZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
429  ibooker.bookProfile(chisto, chisto, 20, forward_pos_betal, forward_pos_betah, 100, 0.0, resxh, "");
430  sprintf(chisto, "meResYvsBetaZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
432  ibooker.bookProfile(chisto, chisto, 20, forward_pos_betal, forward_pos_betah, 100, 0.0, resyh, "");
433 
434  sprintf(chisto, "mePullXvsAlphaZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
436  chisto, chisto, 20, pull_forward_p1_alphal, pull_forward_p1_alphah, 100, pullxl, pullxh, "");
437  sprintf(chisto, "mePullYvsAlphaZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
439  chisto, chisto, 20, pull_forward_p1_alphal, pull_forward_p1_alphah, 100, pullyl, pullyh, "");
440  sprintf(chisto, "mePullXvsBetaZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
442  chisto, chisto, 20, pull_forward_pos_betal, pull_forward_pos_betah, 100, pullxl, pullxh, "");
443  sprintf(chisto, "mePullYvsBetaZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
445  chisto, chisto, 20, pull_forward_pos_betal, pull_forward_pos_betah, 100, pullyl, pullyh, "");
446  sprintf(chisto, "mePullXvsPhiZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
448  ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullxl, pullxh, "");
449  sprintf(chisto, "mePullYvsPhiZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
451  ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullyl, pullyh, "");
452  sprintf(chisto, "mePullXvsEtaZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
454  chisto, chisto, 20, pull_forward_pos_etal, pull_forward_pos_etah, 100, pullxl, pullxh, "");
455  sprintf(chisto, "mePullYvsEtaZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
457  chisto, chisto, 20, pull_forward_pos_etal, pull_forward_pos_etah, 100, pullyl, pullyh, "");
458 
459  if (j > 2)
460  continue; // panel 2 has only 3 plaquettes
461 
462  sprintf(chisto, "mePosxZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
463  mePosxZmPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, xl, xh);
464  sprintf(chisto, "mePosyZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
465  mePosyZmPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, yl, yh);
466  sprintf(chisto, "meErrxZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
467  meErrxZmPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, errxl, errxh);
468  sprintf(chisto, "meErryZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
469  meErryZmPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, erryl, erryh);
470  sprintf(chisto, "meResxZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
471  meResxZmPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, resxl, resxh);
472  sprintf(chisto, "meResyZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
473  meResyZmPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, resyl, resyh);
474  sprintf(chisto, "mePullxZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
475  mePullxZmPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, pullxl, pullxh);
476  sprintf(chisto, "mePullyZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
477  mePullyZmPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, pullyl, pullyh);
478  sprintf(chisto, "meNpixZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
479  meNpixZmPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, npixl, npixh);
480  sprintf(chisto, "meNxpixZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
481  meNxpixZmPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, nxpixl, nxpixh);
482  sprintf(chisto, "meNypixZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
483  meNypixZmPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, nypixl, nypixh);
484  sprintf(chisto, "meChargeZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
485  meChargeZmPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, forward_chargel, forward_chargeh);
486  sprintf(chisto, "meResXvsAlphaZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
488  ibooker.bookProfile(chisto, chisto, 20, forward_p2_alphal, forward_p2_alphah, 100, 0.0, resxh, "");
489  sprintf(chisto, "meResYvsAlphaZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
491  ibooker.bookProfile(chisto, chisto, 20, forward_p2_alphal, forward_p2_alphah, 100, 0.0, resyh, "");
492  sprintf(chisto, "meResXvsBetaZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
494  ibooker.bookProfile(chisto, chisto, 20, forward_neg_betal, forward_neg_betah, 100, 0.0, resxh, "");
495  sprintf(chisto, "meResYvsBetaZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
497  ibooker.bookProfile(chisto, chisto, 20, forward_neg_betal, forward_neg_betah, 100, 0.0, resyh, "");
498 
499  sprintf(chisto, "mePullXvsAlphaZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
501  chisto, chisto, 20, pull_forward_p2_alphal, pull_forward_p2_alphah, 100, pullxl, pullxh, "");
502  sprintf(chisto, "mePullYvsAlphaZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
504  chisto, chisto, 20, pull_forward_p2_alphal, pull_forward_p2_alphah, 100, pullyl, pullyh, "");
505  sprintf(chisto, "mePullXvsBetaZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
507  chisto, chisto, 20, pull_forward_neg_betal, pull_forward_neg_betah, 100, pullxl, pullxh, "");
508  sprintf(chisto, "mePullYvsBetaZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
510  chisto, chisto, 20, pull_forward_neg_betal, pull_forward_neg_betah, 100, pullyl, pullyh, "");
511  sprintf(chisto, "mePullXvsPhiZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
513  ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullxl, pullxh, "");
514  sprintf(chisto, "mePullYvsPhiZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
516  ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullyl, pullyh, "");
517  sprintf(chisto, "mePullXvsEtaZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
519  chisto, chisto, 20, pull_forward_neg_etal, pull_forward_neg_etah, 100, pullxl, pullxh, "");
520  sprintf(chisto, "mePullYvsEtaZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
522  chisto, chisto, 20, pull_forward_neg_etal, pull_forward_neg_etah, 100, pullyl, pullyh, "");
523 
524  sprintf(chisto, "mePosxZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
525  mePosxZpPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, xl, xh);
526  sprintf(chisto, "mePosyZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
527  mePosyZpPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, yl, yh);
528  sprintf(chisto, "meErrxZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
529  meErrxZpPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, errxl, errxh);
530  sprintf(chisto, "meErryZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
531  meErryZpPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, erryl, erryh);
532  sprintf(chisto, "meResxZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
533  meResxZpPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, resxl, resxh);
534  sprintf(chisto, "meResyZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
535  meResyZpPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, resyl, resyh);
536  sprintf(chisto, "mePullxZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
537  mePullxZpPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, pullxl, pullxh);
538  sprintf(chisto, "mePullyZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
539  mePullyZpPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, pullyl, pullyh);
540  sprintf(chisto, "meNpixZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
541  meNpixZpPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, npixl, npixh);
542  sprintf(chisto, "meNxpixZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
543  meNxpixZpPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, nxpixl, nxpixh);
544  sprintf(chisto, "meNypixZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
545  meNypixZpPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, nypixl, nypixh);
546  sprintf(chisto, "meChargeZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
547  meChargeZpPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, forward_chargel, forward_chargeh);
548  sprintf(chisto, "meResXvsAlphaZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
550  ibooker.bookProfile(chisto, chisto, 20, forward_p2_alphal, forward_p2_alphah, 100, 0.0, resxh, "");
551  sprintf(chisto, "meResYvsAlphaZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
553  ibooker.bookProfile(chisto, chisto, 20, forward_p2_alphal, forward_p2_alphah, 100, 0.0, resyh, "");
554  sprintf(chisto, "meResXvsBetaZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
556  ibooker.bookProfile(chisto, chisto, 20, forward_pos_betal, forward_pos_betah, 100, 0.0, resxh, "");
557  sprintf(chisto, "meResYvsBetaZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
559  ibooker.bookProfile(chisto, chisto, 20, forward_pos_betal, forward_pos_betah, 100, 0.0, resyh, "");
560 
561  sprintf(chisto, "mePullXvsAlphaZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
563  chisto, chisto, 20, pull_forward_p2_alphal, pull_forward_p2_alphah, 100, pullxl, pullxh, "");
564  sprintf(chisto, "mePullYvsAlphaZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
566  chisto, chisto, 20, pull_forward_p2_alphal, pull_forward_p2_alphah, 100, pullyl, pullyh, "");
567  sprintf(chisto, "mePullXvsBetaZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
569  chisto, chisto, 20, pull_forward_pos_betal, pull_forward_pos_betah, 100, pullxl, pullxh, "");
570  sprintf(chisto, "mePullYvsBetaZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
572  chisto, chisto, 20, pull_forward_pos_betal, pull_forward_pos_betah, 100, pullyl, pullyh, "");
573  sprintf(chisto, "mePullXvsPhiZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
575  ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullxl, pullxh, "");
576  sprintf(chisto, "mePullYvsPhiZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
578  ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullyl, pullyh, "");
579  sprintf(chisto, "mePullXvsEtaZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
581  chisto, chisto, 20, pull_forward_pos_etal, pull_forward_pos_etah, 100, pullxl, pullxh, "");
582  sprintf(chisto, "mePullYvsEtaZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
584  chisto, chisto, 20, pull_forward_pos_etal, pull_forward_pos_etah, 100, pullyl, pullyh, "");
585 
586  } // for (int j=0; j<4; j++) // loop over plaquettes
587 
588  ibooker.setCurrentFolder("Tracking/TrackingRecHits/Pixel/Histograms_all");
589 
590  Char_t chisto[100];
591  sprintf(chisto, "mePosxBarrel");
592  mePosxBarrel = ibooker.book1D(chisto, chisto, 100, xl, xh);
593  sprintf(chisto, "mePosyBarrel");
594  mePosyBarrel = ibooker.book1D(chisto, chisto, 100, yl, yh);
595  sprintf(chisto, "meErrxBarrel");
596  meErrxBarrel = ibooker.book1D(chisto, chisto, 100, errxl, errxh);
597  sprintf(chisto, "meErryBarrel");
598  meErryBarrel = ibooker.book1D(chisto, chisto, 100, erryl, erryh);
599  sprintf(chisto, "meResxBarrel");
600  meResxBarrel = ibooker.book1D(chisto, chisto, 100, resxl, resxh);
601  sprintf(chisto, "meResyBarrel");
602  meResyBarrel = ibooker.book1D(chisto, chisto, 100, resyl, resyh);
603  sprintf(chisto, "mePullxBarrel");
604  mePullxBarrel = ibooker.book1D(chisto, chisto, 100, pullxl, pullxh);
605  sprintf(chisto, "mePullyBarrel");
606  mePullyBarrel = ibooker.book1D(chisto, chisto, 100, pullyl, pullyh);
607  sprintf(chisto, "meNpixBarrel");
608  meNpixBarrel = ibooker.book1D(chisto, chisto, 100, npixl, npixh);
609  sprintf(chisto, "meNxpixBarrel");
610  meNxpixBarrel = ibooker.book1D(chisto, chisto, 100, nxpixl, nxpixh);
611  sprintf(chisto, "meNypixBarrel");
612  meNypixBarrel = ibooker.book1D(chisto, chisto, 100, nypixl, nypixh);
613  sprintf(chisto, "meChargeBarrel");
614  meChargeBarrel = ibooker.book1D(chisto, chisto, 100, barrel_chargel, barrel_chargeh);
615  sprintf(chisto, "meResXvsAlphaBarrel");
616  meResXvsAlphaBarrel = ibooker.bookProfile(chisto, chisto, 20, barrel_alphal, barrel_alphah, 100, 0.0, resxh, "");
617  sprintf(chisto, "meResYvsAlphaBarrel");
618  meResYvsAlphaBarrel = ibooker.bookProfile(chisto, chisto, 20, barrel_alphal, barrel_alphah, 100, 0.0, resyh, "");
619  sprintf(chisto, "meResXvsBetaBarrel");
620  meResXvsBetaBarrel = ibooker.bookProfile(chisto, chisto, 20, barrel_betal, barrel_betah, 100, 0.0, resxh, "");
621  sprintf(chisto, "meResYvsBetaBarrel");
622  meResYvsBetaBarrel = ibooker.bookProfile(chisto, chisto, 20, barrel_betal, barrel_betah, 100, 0.0, resyh, "");
623 
624  sprintf(chisto, "mePullXvsAlphaBarrel");
626  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_alphal, pull_barrel_alphah, 100, pullxl, pullxh, "");
627  sprintf(chisto, "mePullYvsAlphaBarrel");
629  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_alphal, pull_barrel_alphah, 100, pullyl, pullyh, "");
630  sprintf(chisto, "mePullXvsBetaBarrel");
632  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_betal, pull_barrel_betah, 100, pullxl, pullxh, "");
633  sprintf(chisto, "mePullYvsBetaBarrel");
635  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_betal, pull_barrel_betah, 100, pullyl, pullyh, "");
636  sprintf(chisto, "mePullXvsPhiBarrel");
638  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_phil, pull_barrel_phih, 100, pullxl, pullxh, "");
639  sprintf(chisto, "mePullYvsPhiBarrel");
641  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_phil, pull_barrel_phih, 100, pullyl, pullyh, "");
642  sprintf(chisto, "mePullXvsEtaBarrel");
644  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_etal, pull_barrel_etah, 100, pullxl, pullxh, "");
645  sprintf(chisto, "mePullYvsEtaBarrel");
647  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_etal, pull_barrel_etah, 100, pullyl, pullyh, "");
648 
649  sprintf(chisto, "mePosxBarrelHalfModule");
650  mePosxBarrelHalfModule = ibooker.book1D(chisto, chisto, 100, xl, xh);
651  sprintf(chisto, "mePosxBarrelFullModule");
652  mePosxBarrelFullModule = ibooker.book1D(chisto, chisto, 100, xl, xh);
653  sprintf(chisto, "mePosxBarrelFlippedLadders");
654  mePosxBarrelFlippedLadders = ibooker.book1D(chisto, chisto, 100, xl, xh);
655  sprintf(chisto, "mePosxBarrelNonFlippedLadders");
656  mePosxBarrelNonFlippedLadders = ibooker.book1D(chisto, chisto, 100, xl, xh);
657  sprintf(chisto, "mePosyBarrelHalfModule");
658  mePosyBarrelHalfModule = ibooker.book1D(chisto, chisto, 100, yl, yh);
659  sprintf(chisto, "mePosyBarrelFullModule");
660  mePosyBarrelFullModule = ibooker.book1D(chisto, chisto, 100, yl, yh);
661  sprintf(chisto, "mePosyBarrelFlippedLadders");
662  mePosyBarrelFlippedLadders = ibooker.book1D(chisto, chisto, 100, yl, yh);
663  sprintf(chisto, "mePosyBarrelNonFlippedLadders");
664  mePosyBarrelNonFlippedLadders = ibooker.book1D(chisto, chisto, 100, yl, yh);
665 
666  sprintf(chisto, "meResXvsAlphaBarrelFlippedLadders");
668  ibooker.bookProfile(chisto, chisto, 20, barrel_alphal, barrel_alphah, 100, 0.0, resxh, "");
669  sprintf(chisto, "meResYvsAlphaBarrelFlippedLadders");
671  ibooker.bookProfile(chisto, chisto, 20, barrel_alphal, barrel_alphah, 100, 0.0, resyh, "");
672  sprintf(chisto, "meResXvsBetaBarrelFlippedLadders");
674  ibooker.bookProfile(chisto, chisto, 20, barrel_betal, barrel_betah, 100, 0.0, resxh, "");
675  sprintf(chisto, "meResYvsBetaBarrelFlippedLadders");
677  ibooker.bookProfile(chisto, chisto, 20, barrel_betal, barrel_betah, 100, 0.0, resyh, "");
678 
679  sprintf(chisto, "mePullXvsAlphaBarrelFlippedLadders");
681  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_alphal, pull_barrel_alphah, 100, pullxl, pullxh, "");
682  sprintf(chisto, "mePullYvsAlphaBarrelFlippedLadders");
684  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_alphal, pull_barrel_alphah, 100, pullyl, pullyh, "");
685  sprintf(chisto, "mePullXvsBetaBarrelFlippedLadders");
687  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_betal, pull_barrel_betah, 100, pullxl, pullxh, "");
688  sprintf(chisto, "mePullYvsBetaBarrelFlippedLadders");
690  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_betal, pull_barrel_betah, 100, pullyl, pullyh, "");
691  sprintf(chisto, "mePullXvsPhiBarrelFlippedLadders");
693  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_phil, pull_barrel_phih, 100, pullxl, pullxh, "");
694  sprintf(chisto, "mePullYvsPhiBarrelFlippedLadders");
696  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_phil, pull_barrel_phih, 100, pullyl, pullyh, "");
697  sprintf(chisto, "mePullXvsEtaBarrelFlippedLadders");
699  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_etal, pull_barrel_etah, 100, pullxl, pullxh, "");
700  sprintf(chisto, "mePullYvsEtaBarrelFlippedLadders");
702  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_etal, pull_barrel_etah, 100, pullyl, pullyh, "");
703 
704  sprintf(chisto, "meWPullXvsAlphaBarrelFlippedLadders");
706  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_alphal, pull_barrel_alphah, 100, pullxl, pullxh, "");
707  sprintf(chisto, "meWPullYvsAlphaBarrelFlippedLadders");
709  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_alphal, pull_barrel_alphah, 100, pullyl, pullyh, "");
710  sprintf(chisto, "meWPullXvsBetaBarrelFlippedLadders");
712  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_betal, pull_barrel_betah, 100, pullxl, pullxh, "");
713  sprintf(chisto, "meWPullYvsBetaBarrelFlippedLadders");
715  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_betal, pull_barrel_betah, 100, pullyl, pullyh, "");
716 
717  sprintf(chisto, "meResXvsAlphaBarrelNonFlippedLadders");
719  ibooker.bookProfile(chisto, chisto, 20, barrel_alphal, barrel_alphah, 100, 0.0, resxh, "");
720  sprintf(chisto, "meResYvsAlphaBarrelNonFlippedLadders");
722  ibooker.bookProfile(chisto, chisto, 20, barrel_alphal, barrel_alphah, 100, 0.0, resyh, "");
723  sprintf(chisto, "meResXvsBetaBarrelNonFlippedLadders");
725  ibooker.bookProfile(chisto, chisto, 20, barrel_betal, barrel_betah, 100, 0.0, resxh, "");
726  sprintf(chisto, "meResYvsBetaBarrelNonFlippedLadders");
728  ibooker.bookProfile(chisto, chisto, 20, barrel_betal, barrel_betah, 100, 0.0, resyh, "");
729 
730  sprintf(chisto, "mePullXvsAlphaBarrelNonFlippedLadders");
732  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_alphal, pull_barrel_alphah, 100, pullxl, pullxh, "");
733  sprintf(chisto, "mePullYvsAlphaBarrelNonFlippedLadders");
735  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_alphal, pull_barrel_alphah, 100, pullyl, pullyh, "");
736  sprintf(chisto, "mePullXvsBetaBarrelNonFlippedLadders");
738  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_betal, pull_barrel_betah, 100, pullxl, pullxh, "");
739  sprintf(chisto, "mePullYvsBetaBarrelNonFlippedLadders");
741  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_betal, pull_barrel_betah, 100, pullyl, pullyh, "");
742  sprintf(chisto, "mePullXvsPhiBarrelNonFlippedLadders");
744  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_phil, pull_barrel_phih, 100, pullxl, pullxh, "");
745  sprintf(chisto, "mePullYvsPhiBarrelNonFlippedLadders");
747  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_phil, pull_barrel_phih, 100, pullyl, pullyh, "");
748  sprintf(chisto, "mePullXvsEtaBarrelNonFlippedLadders");
750  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_etal, pull_barrel_etah, 100, pullxl, pullxh, "");
751  sprintf(chisto, "mePullYvsEtaBarrelNonFlippedLadders");
753  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_etal, pull_barrel_etah, 100, pullyl, pullyh, "");
754 
755  sprintf(chisto, "meWPullXvsAlphaBarrelNonFlippedLadders");
757  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_alphal, pull_barrel_alphah, 100, pullxl, pullxh, "");
758  sprintf(chisto, "meWPullYvsAlphaBarrelNonFlippedLadders");
760  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_alphal, pull_barrel_alphah, 100, pullyl, pullyh, "");
761  sprintf(chisto, "meWPullXvsBetaBarrelNonFlippedLadders");
763  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_betal, pull_barrel_betah, 100, pullxl, pullxh, "");
764  sprintf(chisto, "meWPullYvsBetaBarrelNonFlippedLadders");
766  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_betal, pull_barrel_betah, 100, pullyl, pullyh, "");
767 
768  sprintf(chisto, "mePosxZmPanel1");
769  mePosxZmPanel1 = ibooker.book1D(chisto, chisto, 100, xl, xh);
770  sprintf(chisto, "mePosyZmPanel1");
771  mePosyZmPanel1 = ibooker.book1D(chisto, chisto, 100, yl, yh);
772  sprintf(chisto, "meErrxZmPanel1");
773  meErrxZmPanel1 = ibooker.book1D(chisto, chisto, 100, errxl, errxh);
774  sprintf(chisto, "meErryZmPanel1");
775  meErryZmPanel1 = ibooker.book1D(chisto, chisto, 100, erryl, erryh);
776  sprintf(chisto, "meResxZmPanel1");
777  meResxZmPanel1 = ibooker.book1D(chisto, chisto, 100, resxl, resxh);
778  sprintf(chisto, "meResyZmPanel1");
779  meResyZmPanel1 = ibooker.book1D(chisto, chisto, 100, resyl, resyh);
780  sprintf(chisto, "mePullxZmPanel1");
781  mePullxZmPanel1 = ibooker.book1D(chisto, chisto, 100, pullxl, pullxh);
782  sprintf(chisto, "mePullyZmPanel1");
783  mePullyZmPanel1 = ibooker.book1D(chisto, chisto, 100, pullyl, pullyh);
784  sprintf(chisto, "meNpixZmPanel1");
785  meNpixZmPanel1 = ibooker.book1D(chisto, chisto, 100, npixl, npixh);
786  sprintf(chisto, "meNxpixZmPanel1");
787  meNxpixZmPanel1 = ibooker.book1D(chisto, chisto, 100, nxpixl, nxpixh);
788  sprintf(chisto, "meNypixZmPanel1");
789  meNypixZmPanel1 = ibooker.book1D(chisto, chisto, 100, nypixl, nypixh);
790  sprintf(chisto, "meChargeZmPanel1");
791  meChargeZmPanel1 = ibooker.book1D(chisto, chisto, 100, forward_chargel, forward_chargeh);
792  sprintf(chisto, "meResXvsAlphaZmPanel1");
794  ibooker.bookProfile(chisto, chisto, 20, forward_p1_alphal, forward_p1_alphah, 100, 0.0, resxh, "");
795  sprintf(chisto, "meResYvsAlphaZmPanel1");
797  ibooker.bookProfile(chisto, chisto, 20, forward_p1_alphal, forward_p1_alphah, 100, 0.0, resyh, "");
798  sprintf(chisto, "meResXvsBetaZmPanel1");
800  ibooker.bookProfile(chisto, chisto, 20, forward_neg_betal, forward_neg_betah, 100, 0.0, resxh, "");
801  sprintf(chisto, "meResYvsBetaZmPanel1");
803  ibooker.bookProfile(chisto, chisto, 20, forward_neg_betal, forward_neg_betah, 100, 0.0, resyh, "");
804 
805  sprintf(chisto, "mePullXvsAlphaZmPanel1");
807  ibooker.bookProfile(chisto, chisto, 20, pull_forward_p1_alphal, pull_forward_p1_alphah, 100, pullxl, pullxh, "");
808  sprintf(chisto, "mePullYvsAlphaZmPanel1");
810  ibooker.bookProfile(chisto, chisto, 20, pull_forward_p1_alphal, pull_forward_p1_alphah, 100, pullyl, pullyh, "");
811  sprintf(chisto, "mePullXvsBetaZmPanel1");
813  ibooker.bookProfile(chisto, chisto, 20, pull_forward_neg_betal, pull_forward_neg_betah, 100, pullxl, pullxh, "");
814  sprintf(chisto, "mePullYvsBetaZmPanel1");
816  ibooker.bookProfile(chisto, chisto, 20, pull_forward_neg_betal, pull_forward_neg_betah, 100, pullyl, pullyh, "");
817  sprintf(chisto, "mePullXvsPhiZmPanel1");
819  ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullxl, pullxh, "");
820  sprintf(chisto, "mePullYvsPhiZmPanel1");
822  ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullyl, pullyh, "");
823  sprintf(chisto, "mePullXvsEtaZmPanel1");
825  ibooker.bookProfile(chisto, chisto, 20, pull_forward_neg_etal, pull_forward_neg_etah, 100, pullxl, pullxh, "");
826  sprintf(chisto, "mePullYvsEtaZmPanel1");
828  ibooker.bookProfile(chisto, chisto, 20, pull_forward_neg_etal, pull_forward_neg_etah, 100, pullyl, pullyh, "");
829 
830  sprintf(chisto, "meWPullXvsAlphaZmPanel1");
832  ibooker.bookProfile(chisto, chisto, 20, pull_forward_p1_alphal, pull_forward_p1_alphah, 100, pullxl, pullxh, "");
833  sprintf(chisto, "meWPullYvsAlphaZmPanel1");
835  ibooker.bookProfile(chisto, chisto, 20, pull_forward_p1_alphal, pull_forward_p1_alphah, 100, pullyl, pullyh, "");
836  sprintf(chisto, "meWPullXvsBetaZmPanel1");
838  ibooker.bookProfile(chisto, chisto, 20, pull_forward_neg_betal, pull_forward_neg_betah, 100, pullxl, pullxh, "");
839  sprintf(chisto, "meWPullYvsBetaZmPanel1");
841  ibooker.bookProfile(chisto, chisto, 20, pull_forward_neg_betal, pull_forward_neg_betah, 100, pullyl, pullyh, "");
842 
843  sprintf(chisto, "mePosxZpPanel1");
844  mePosxZpPanel1 = ibooker.book1D(chisto, chisto, 100, xl, xh);
845  sprintf(chisto, "mePosyZpPanel1");
846  mePosyZpPanel1 = ibooker.book1D(chisto, chisto, 100, yl, yh);
847  sprintf(chisto, "meErrxZpPanel1");
848  meErrxZpPanel1 = ibooker.book1D(chisto, chisto, 100, errxl, errxh);
849  sprintf(chisto, "meErryZpPanel1");
850  meErryZpPanel1 = ibooker.book1D(chisto, chisto, 100, erryl, erryh);
851  sprintf(chisto, "meResxZpPanel1");
852  meResxZpPanel1 = ibooker.book1D(chisto, chisto, 100, resxl, resxh);
853  sprintf(chisto, "meResyZpPanel1");
854  meResyZpPanel1 = ibooker.book1D(chisto, chisto, 100, resyl, resyh);
855  sprintf(chisto, "mePullxZpPanel1");
856  mePullxZpPanel1 = ibooker.book1D(chisto, chisto, 100, pullxl, pullxh);
857  sprintf(chisto, "mePullyZpPanel1");
858  mePullyZpPanel1 = ibooker.book1D(chisto, chisto, 100, pullyl, pullyh);
859  sprintf(chisto, "meNpixZpPanel1");
860  meNpixZpPanel1 = ibooker.book1D(chisto, chisto, 100, npixl, npixh);
861  sprintf(chisto, "meNxpixZpPanel1");
862  meNxpixZpPanel1 = ibooker.book1D(chisto, chisto, 100, nxpixl, nxpixh);
863  sprintf(chisto, "meNypixZpPanel1");
864  meNypixZpPanel1 = ibooker.book1D(chisto, chisto, 100, nypixl, nypixh);
865  sprintf(chisto, "meChargeZpPanel1");
866  meChargeZpPanel1 = ibooker.book1D(chisto, chisto, 100, forward_chargel, forward_chargeh);
867  sprintf(chisto, "meResXvsAlphaZpPanel1");
869  ibooker.bookProfile(chisto, chisto, 20, forward_p1_alphal, forward_p1_alphah, 100, 0.0, resxh, "");
870  sprintf(chisto, "meResYvsAlphaZpPanel1");
872  ibooker.bookProfile(chisto, chisto, 20, forward_p1_alphal, forward_p1_alphah, 100, 0.0, resyh, "");
873  sprintf(chisto, "meResXvsBetaZpPanel1");
875  ibooker.bookProfile(chisto, chisto, 20, forward_pos_betal, forward_pos_betah, 100, 0.0, resxh, "");
876  sprintf(chisto, "meResYvsBetaZpPanel1");
878  ibooker.bookProfile(chisto, chisto, 20, forward_pos_betal, forward_pos_betah, 100, 0.0, resyh, "");
879 
880  sprintf(chisto, "mePullXvsAlphaZpPanel1");
882  ibooker.bookProfile(chisto, chisto, 20, pull_forward_p1_alphal, pull_forward_p1_alphah, 100, pullxl, pullxh, "");
883  sprintf(chisto, "mePullYvsAlphaZpPanel1");
885  ibooker.bookProfile(chisto, chisto, 20, pull_forward_p1_alphal, pull_forward_p1_alphah, 100, pullyl, pullyh, "");
886  sprintf(chisto, "mePullXvsBetaZpPanel1");
888  ibooker.bookProfile(chisto, chisto, 20, pull_forward_pos_betal, pull_forward_pos_betah, 100, pullxl, pullxh, "");
889  sprintf(chisto, "mePullYvsBetaZpPanel1");
891  ibooker.bookProfile(chisto, chisto, 20, pull_forward_pos_betal, pull_forward_pos_betah, 100, pullyl, pullyh, "");
892  sprintf(chisto, "mePullXvsPhiZpPanel1");
894  ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullxl, pullxh, "");
895  sprintf(chisto, "mePullYvsPhiZpPanel1");
897  ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullyl, pullyh, "");
898  sprintf(chisto, "mePullXvsEtaZpPanel1");
900  ibooker.bookProfile(chisto, chisto, 20, pull_forward_pos_etal, pull_forward_pos_etah, 100, pullxl, pullxh, "");
901  sprintf(chisto, "mePullYvsEtaZpPanel1");
903  ibooker.bookProfile(chisto, chisto, 20, pull_forward_pos_etal, pull_forward_pos_etah, 100, pullyl, pullyh, "");
904 
905  sprintf(chisto, "meWPullXvsAlphaZpPanel1");
907  ibooker.bookProfile(chisto, chisto, 20, pull_forward_p1_alphal, pull_forward_p1_alphah, 100, pullxl, pullxh, "");
908  sprintf(chisto, "meWPullYvsAlphaZpPanel1");
910  ibooker.bookProfile(chisto, chisto, 20, pull_forward_p1_alphal, pull_forward_p1_alphah, 100, pullyl, pullyh, "");
911  sprintf(chisto, "meWPullXvsBetaZpPanel1");
913  ibooker.bookProfile(chisto, chisto, 20, pull_forward_pos_betal, pull_forward_pos_betah, 100, pullxl, pullxh, "");
914  sprintf(chisto, "meWPullYvsBetaZpPanel1");
916  ibooker.bookProfile(chisto, chisto, 20, pull_forward_pos_betal, pull_forward_pos_betah, 100, pullyl, pullyh, "");
917 
918  sprintf(chisto, "mePosxZmPanel2");
919  mePosxZmPanel2 = ibooker.book1D(chisto, chisto, 100, xl, xh);
920  sprintf(chisto, "mePosyZmPanel2");
921  mePosyZmPanel2 = ibooker.book1D(chisto, chisto, 100, yl, yh);
922  sprintf(chisto, "meErrxZmPanel2");
923  meErrxZmPanel2 = ibooker.book1D(chisto, chisto, 100, errxl, errxh);
924  sprintf(chisto, "meErryZmPanel2");
925  meErryZmPanel2 = ibooker.book1D(chisto, chisto, 100, erryl, erryh);
926  sprintf(chisto, "meResxZmPanel2");
927  meResxZmPanel2 = ibooker.book1D(chisto, chisto, 100, resxl, resxh);
928  sprintf(chisto, "meResyZmPanel2");
929  meResyZmPanel2 = ibooker.book1D(chisto, chisto, 100, resyl, resyh);
930  sprintf(chisto, "mePullxZmPanel2");
931  mePullxZmPanel2 = ibooker.book1D(chisto, chisto, 100, pullxl, pullxh);
932  sprintf(chisto, "mePullyZmPanel2");
933  mePullyZmPanel2 = ibooker.book1D(chisto, chisto, 100, pullyl, pullyh);
934  sprintf(chisto, "meNpixZmPanel2");
935  meNpixZmPanel2 = ibooker.book1D(chisto, chisto, 100, npixl, npixh);
936  sprintf(chisto, "meNxpixZmPanel2");
937  meNxpixZmPanel2 = ibooker.book1D(chisto, chisto, 100, nxpixl, nxpixh);
938  sprintf(chisto, "meNypixZmPanel2");
939  meNypixZmPanel2 = ibooker.book1D(chisto, chisto, 100, nypixl, nypixh);
940  sprintf(chisto, "meChargeZmPanel2");
941  meChargeZmPanel2 = ibooker.book1D(chisto, chisto, 100, forward_chargel, forward_chargeh);
942  sprintf(chisto, "meResXvsAlphaZmPanel2");
944  ibooker.bookProfile(chisto, chisto, 20, forward_p2_alphal, forward_p2_alphah, 100, 0.0, resxh, "");
945  sprintf(chisto, "meResYvsAlphaZmPanel2");
947  ibooker.bookProfile(chisto, chisto, 20, forward_p2_alphal, forward_p2_alphah, 100, 0.0, resyh, "");
948  sprintf(chisto, "meResXvsBetaZmPanel2");
950  ibooker.bookProfile(chisto, chisto, 20, forward_neg_betal, forward_neg_betah, 100, 0.0, resxh, "");
951  sprintf(chisto, "meResYvsBetaZmPanel2");
953  ibooker.bookProfile(chisto, chisto, 20, forward_neg_betal, forward_neg_betah, 100, 0.0, resyh, "");
954 
955  sprintf(chisto, "mePullXvsAlphaZmPanel2");
957  ibooker.bookProfile(chisto, chisto, 20, pull_forward_p2_alphal, pull_forward_p2_alphah, 100, pullxl, pullxh, "");
958  sprintf(chisto, "mePullYvsAlphaZmPanel2");
960  ibooker.bookProfile(chisto, chisto, 20, pull_forward_p2_alphal, pull_forward_p2_alphah, 100, pullyl, pullyh, "");
961  sprintf(chisto, "mePullXvsBetaZmPanel2");
963  ibooker.bookProfile(chisto, chisto, 20, pull_forward_neg_betal, pull_forward_neg_betah, 100, pullxl, pullxh, "");
964  sprintf(chisto, "mePullYvsBetaZmPanel2");
966  ibooker.bookProfile(chisto, chisto, 20, pull_forward_neg_betal, pull_forward_neg_betah, 100, pullyl, pullyh, "");
967  sprintf(chisto, "mePullXvsPhiZmPanel2");
969  ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullxl, pullxh, "");
970  sprintf(chisto, "mePullYvsPhiZmPanel2");
972  ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullyl, pullyh, "");
973  sprintf(chisto, "mePullXvsEtaZmPanel2");
975  ibooker.bookProfile(chisto, chisto, 20, pull_forward_neg_etal, pull_forward_neg_etah, 100, pullxl, pullxh, "");
976  sprintf(chisto, "mePullYvsEtaZmPanel2");
978  ibooker.bookProfile(chisto, chisto, 20, pull_forward_neg_etal, pull_forward_neg_etah, 100, pullyl, pullyh, "");
979 
980  sprintf(chisto, "meWPullXvsAlphaZmPanel2");
982  ibooker.bookProfile(chisto, chisto, 20, pull_forward_p2_alphal, pull_forward_p2_alphah, 100, pullxl, pullxh, "");
983  sprintf(chisto, "meWPullYvsAlphaZmPanel2");
985  ibooker.bookProfile(chisto, chisto, 20, pull_forward_p2_alphal, pull_forward_p2_alphah, 100, pullyl, pullyh, "");
986  sprintf(chisto, "meWPullXvsBetaZmPanel2");
988  ibooker.bookProfile(chisto, chisto, 20, pull_forward_neg_betal, pull_forward_neg_betah, 100, pullxl, pullxh, "");
989  sprintf(chisto, "meWPullYvsBetaZmPanel2");
991  ibooker.bookProfile(chisto, chisto, 20, pull_forward_neg_betal, pull_forward_neg_betah, 100, pullyl, pullyh, "");
992 
993  sprintf(chisto, "mePosxZpPanel2");
994  mePosxZpPanel2 = ibooker.book1D(chisto, chisto, 100, xl, xh);
995  sprintf(chisto, "mePosyZpPanel2");
996  mePosyZpPanel2 = ibooker.book1D(chisto, chisto, 100, yl, yh);
997  sprintf(chisto, "meErrxZpPanel2");
998  meErrxZpPanel2 = ibooker.book1D(chisto, chisto, 100, errxl, errxh);
999  sprintf(chisto, "meErryZpPanel2");
1000  meErryZpPanel2 = ibooker.book1D(chisto, chisto, 100, erryl, erryh);
1001  sprintf(chisto, "meResxZpPanel2");
1002  meResxZpPanel2 = ibooker.book1D(chisto, chisto, 100, resxl, resxh);
1003  sprintf(chisto, "meResyZpPanel2");
1004  meResyZpPanel2 = ibooker.book1D(chisto, chisto, 100, resyl, resyh);
1005  sprintf(chisto, "mePullxZpPanel2");
1006  mePullxZpPanel2 = ibooker.book1D(chisto, chisto, 100, pullxl, pullxh);
1007  sprintf(chisto, "mePullyZpPanel2");
1008  mePullyZpPanel2 = ibooker.book1D(chisto, chisto, 100, pullyl, pullyh);
1009  sprintf(chisto, "meNpixZpPanel2");
1010  meNpixZpPanel2 = ibooker.book1D(chisto, chisto, 100, npixl, npixh);
1011  sprintf(chisto, "meNxpixZpPanel2");
1012  meNxpixZpPanel2 = ibooker.book1D(chisto, chisto, 100, nxpixl, nxpixh);
1013  sprintf(chisto, "meNypixZpPanel2");
1014  meNypixZpPanel2 = ibooker.book1D(chisto, chisto, 100, nypixl, nypixh);
1015  sprintf(chisto, "meChargeZpPanel2");
1016  meChargeZpPanel2 = ibooker.book1D(chisto, chisto, 100, forward_chargel, forward_chargeh);
1017  sprintf(chisto, "meResXvsAlphaZpPanel2");
1019  ibooker.bookProfile(chisto, chisto, 20, forward_p2_alphal, forward_p2_alphah, 100, 0.0, resxh, "");
1020  sprintf(chisto, "meResYvsAlphaZpPanel2");
1022  ibooker.bookProfile(chisto, chisto, 20, forward_p2_alphal, forward_p2_alphah, 100, 0.0, resyh, "");
1023  sprintf(chisto, "meResXvsBetaZpPanel2");
1025  ibooker.bookProfile(chisto, chisto, 20, forward_pos_betal, forward_pos_betah, 100, 0.0, resxh, "");
1026  sprintf(chisto, "meResYvsBetaZpPanel2");
1028  ibooker.bookProfile(chisto, chisto, 20, forward_pos_betal, forward_pos_betah, 100, 0.0, resyh, "");
1029 
1030  sprintf(chisto, "mePullXvsAlphaZpPanel2");
1032  ibooker.bookProfile(chisto, chisto, 20, pull_forward_p2_alphal, pull_forward_p2_alphah, 100, pullxl, pullxh, "");
1033  sprintf(chisto, "mePullYvsAlphaZpPanel2");
1035  ibooker.bookProfile(chisto, chisto, 20, pull_forward_p2_alphal, pull_forward_p2_alphah, 100, pullyl, pullyh, "");
1036  sprintf(chisto, "mePullXvsBetaZpPanel2");
1038  ibooker.bookProfile(chisto, chisto, 20, pull_forward_pos_betal, pull_forward_pos_betah, 100, pullxl, pullxh, "");
1039  sprintf(chisto, "mePullYvsBetaZpPanel2");
1041  ibooker.bookProfile(chisto, chisto, 20, pull_forward_pos_betal, pull_forward_pos_betah, 100, pullyl, pullyh, "");
1042  sprintf(chisto, "mePullXvsPhiZpPanel2");
1044  ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullxl, pullxh, "");
1045  sprintf(chisto, "mePullYvsPhiZpPanel2");
1047  ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullyl, pullyh, "");
1048  sprintf(chisto, "mePullXvsEtaZpPanel2");
1050  ibooker.bookProfile(chisto, chisto, 20, pull_forward_pos_etal, pull_forward_pos_etah, 100, pullxl, pullxh, "");
1051  sprintf(chisto, "mePullYvsEtaZpPanel2");
1053  ibooker.bookProfile(chisto, chisto, 20, pull_forward_pos_etal, pull_forward_pos_etah, 100, pullyl, pullyh, "");
1054 
1055  sprintf(chisto, "meWPullXvsAlphaZpPanel2");
1057  ibooker.bookProfile(chisto, chisto, 20, pull_forward_p2_alphal, pull_forward_p2_alphah, 100, pullxl, pullxh, "");
1058  sprintf(chisto, "meWPullYvsAlphaZpPanel2");
1060  ibooker.bookProfile(chisto, chisto, 20, pull_forward_p2_alphal, pull_forward_p2_alphah, 100, pullyl, pullyh, "");
1061  sprintf(chisto, "meWPullXvsBetaZpPanel2");
1063  ibooker.bookProfile(chisto, chisto, 20, pull_forward_pos_betal, pull_forward_pos_betah, 100, pullxl, pullxh, "");
1064  sprintf(chisto, "meWPullYvsBetaZpPanel2");
1066  ibooker.bookProfile(chisto, chisto, 20, pull_forward_pos_betal, pull_forward_pos_betah, 100, pullyl, pullyh, "");
1067 
1068  // all hits (not only from tracks)
1069  sprintf(chisto, "mePosxBarrel_all_hits");
1070  mePosxBarrel_all_hits = ibooker.book1D(chisto, chisto, 100, xl, xh);
1071  sprintf(chisto, "mePosyBarrel_all_hits");
1072  mePosyBarrel_all_hits = ibooker.book1D(chisto, chisto, 100, yl, yh);
1073 
1074  sprintf(chisto, "mePosxZmPanel1_all_hits");
1075  mePosxZmPanel1_all_hits = ibooker.book1D(chisto, chisto, 100, xl, xh);
1076  sprintf(chisto, "mePosyZmPanel1_all_hits");
1077  mePosyZmPanel1_all_hits = ibooker.book1D(chisto, chisto, 100, yl, yh);
1078  sprintf(chisto, "mePosxZmPanel2_all_hits");
1079  mePosxZmPanel2_all_hits = ibooker.book1D(chisto, chisto, 100, xl, xh);
1080  sprintf(chisto, "mePosyZmPanel2_all_hits");
1081  mePosyZmPanel2_all_hits = ibooker.book1D(chisto, chisto, 100, yl, yh);
1082 
1083  sprintf(chisto, "mePosxZpPanel1_all_hits");
1084  mePosxZpPanel1_all_hits = ibooker.book1D(chisto, chisto, 100, xl, xh);
1085  sprintf(chisto, "mePosyZpPanel1_all_hits");
1086  mePosyZpPanel1_all_hits = ibooker.book1D(chisto, chisto, 100, yl, yh);
1087  sprintf(chisto, "mePosxZpPanel2_all_hits");
1088  mePosxZpPanel2_all_hits = ibooker.book1D(chisto, chisto, 100, xl, xh);
1089  sprintf(chisto, "mePosyZpPanel2_all_hits");
1090  mePosyZpPanel2_all_hits = ibooker.book1D(chisto, chisto, 100, yl, yh);
1091 
1092  // control histograms
1093  meTracksPerEvent = ibooker.book1D("meTracksPerEvent", "meTracksPerEvent", 200, 0.0, 200.0);
1094  mePixRecHitsPerTrack = ibooker.book1D("mePixRecHitsPerTrack", "mePixRecHitsPerTrack", 6, 0.0, 6.0);
1095 }
1096 
1097 // Virtual destructor needed.
1099  //save local root file only in standalone mode
1100  if (runStandalone && !outputFile_.empty() && dbe_)
1101  dbe_->save(outputFile_);
1102 }
1103 
1104 // Functions that gets called by framework every event
1106  //Retrieve tracker topology from geometry
1108  es.get<TrackerTopologyRcd>().get(tTopo);
1109 
1110  run = e.id().run();
1111  evt = e.id().event();
1112 
1113  // if ( evt%1000 == 0 )
1114  //cout << "evt = " << evt << endl;
1115 
1116  float math_pi = 3.14159265;
1117  float radtodeg = 180.0 / math_pi;
1118 
1119  DetId detId;
1120 
1122  LocalError error;
1123  float mindist = 999999.9;
1124 
1125  std::vector<PSimHit> matched;
1127 
1129  es.get<TrackerDigiGeometryRecord>().get(pDD);
1130  const TrackerGeometry* tracker = &(*pDD);
1131 
1132  if (!MTCCtrack_) {
1133  // --------------------------------------- all hits -----------------------------------------------------------
1134  //--- Fetch Pixel RecHits
1137 
1138  //cout <<" ----- Found "
1139  // << const_cast<SiPixelRecHitCollection*>(recHitColl.product())->size()
1140  // << " Pixel RecHits" << std::endl;
1141 
1142  //-----Iterate over detunits
1143  for (TrackerGeometry::DetContainer::const_iterator it = pDD->dets().begin(); it != pDD->dets().end(); it++) {
1144  DetId detId = ((*it)->geographicalId());
1145 
1146  unsigned int subid = detId.subdetId();
1147  if (!((subid == 1) || (subid == 2)))
1148  continue; // end subid if
1149 
1150  SiPixelRecHitCollection::const_iterator match = recHitColl->find(detId);
1151  if (match == recHitColl->end())
1152  continue;
1153 
1154  SiPixelRecHitCollection::DetSet pixelrechitRange = *match;
1155  SiPixelRecHitCollection::DetSet::const_iterator pixelrechitRangeIteratorBegin = pixelrechitRange.begin();
1156  SiPixelRecHitCollection::DetSet::const_iterator pixelrechitRangeIteratorEnd = pixelrechitRange.end();
1157  SiPixelRecHitCollection::DetSet::const_iterator pixeliter = pixelrechitRangeIteratorBegin;
1158  std::vector<PSimHit> matched;
1159 
1160  //----Loop over rechits for this detId
1161  for (; pixeliter != pixelrechitRangeIteratorEnd; ++pixeliter) {
1162  LocalPoint lp = pixeliter->localPosition();
1163  float rechitx = lp.x();
1164  float rechity = lp.y();
1165 
1166  detId = (*it)->geographicalId();
1167  subdetId = (int)detId.subdetId();
1168  if ((int)detId.subdetId() == (int)PixelSubdetector::PixelBarrel) {
1169  mePosxBarrel_all_hits->Fill(rechitx);
1170  mePosyBarrel_all_hits->Fill(rechity);
1171  } else if ((int)detId.subdetId() == (int)PixelSubdetector::PixelEndcap) {
1172  side = tTopo->pxfSide(detId);
1173  disk = tTopo->pxfDisk(detId);
1174  blade = tTopo->pxfBlade(detId);
1175  panel = tTopo->pxfPanel(detId);
1176  plaq = tTopo->pxfModule(detId); // also known as plaquette
1177 
1178  if (side == 1) {
1179  if (panel == 1) {
1180  mePosxZmPanel1_all_hits->Fill(rechitx);
1181  mePosyZmPanel1_all_hits->Fill(rechity);
1182  } else if (panel == 2) {
1183  mePosxZmPanel2_all_hits->Fill(rechitx);
1184  mePosyZmPanel2_all_hits->Fill(rechity);
1185  } else
1186  edm::LogWarning("SiPixelTrackingRecHitsValid")
1187  << "..............................................Wrong panel number !";
1188  } // if ( side==1 )
1189  else if (side == 2) {
1190  if (panel == 1) {
1191  mePosxZpPanel1_all_hits->Fill(rechitx);
1192  mePosyZpPanel1_all_hits->Fill(rechity);
1193  } else if (panel == 2) {
1194  mePosxZpPanel2_all_hits->Fill(rechitx);
1195  mePosyZpPanel2_all_hits->Fill(rechity);
1196  } else
1197  edm::LogWarning("SiPixelTrackingRecHitsValid")
1198  << "..............................................Wrong panel number !";
1199  } //else if ( side==2 )
1200  else
1201  edm::LogWarning("SiPixelTrackingRecHitsValid")
1202  << ".......................................................Wrong side !";
1203 
1204  } // else if ( detId.subdetId()==PixelSubdetector::PixelEndcap )
1205  else
1206  edm::LogWarning("SiPixelTrackingRecHitsValid")
1207  << "Pixel rechit collection but we are not in the pixel detector" << (int)detId.subdetId();
1208  }
1209  }
1210  // ------------------------------------------------ all hits ---------------------------------------------------------------
1211 
1212  // Get tracks
1214  e.getByToken(recoTrackCollectionToken_, trackCollection);
1215  const reco::TrackCollection* tracks = trackCollection.product();
1216  reco::TrackCollection::const_iterator tciter;
1217 
1218  int n_tracks = (int)tracks->size(); // number of tracks in this event
1219  meTracksPerEvent->Fill(n_tracks);
1220 
1221  if (!tracks->empty()) {
1222  // Loop on tracks
1223  for (tciter = tracks->begin(); tciter != tracks->end(); tciter++) {
1224  phi = tciter->momentum().phi() / math_pi * 180.0;
1225  eta = tciter->momentum().eta();
1226 
1227  int n_hits = 0;
1228  // First loop on hits: find matched hits
1229  for (trackingRecHit_iterator it = tciter->recHitsBegin(); it != tciter->recHitsEnd(); it++) {
1230  const TrackingRecHit& thit = **it;
1231  // Is it a matched hit?
1232  const SiPixelRecHit* matchedhit = dynamic_cast<const SiPixelRecHit*>(&thit);
1233 
1234  if (matchedhit) {
1235  ++n_hits;
1236 
1237  layer = -9999;
1238  ladder = -9999;
1239  mod = -9999;
1240  side = -9999;
1241  disk = -9999;
1242  blade = -9999;
1243  panel = -9999;
1244  plaq = -9999;
1245 
1246  rechitx = -9999.9;
1247  rechity = -9999.9;
1248  rechitz = -9999.9;
1249  rechiterrx = -9999.9;
1250  rechiterry = -9999.9;
1251  rechitresx = -9999.9;
1252  rechitresy = -9999.9;
1253  rechitpullx = -9999.9;
1254  rechitpully = -9999.9;
1255 
1256  npix = -9999;
1257  nxpix = -9999;
1258  nypix = -9999;
1259  charge = -9999.9;
1260 
1261  alpha = -9999.9;
1262  beta = -9999.9;
1263 
1264  half = -9999;
1265  flipped = -9999;
1266 
1267  nsimhit = -9999;
1268 
1269  simhitx = -9999.9;
1270  simhity = -9999.9;
1271 
1272  position = (*it)->localPosition();
1273  error = (*it)->localPositionError();
1274 
1275  rechitx = position.x();
1276  rechity = position.y();
1277  rechitz = position.z();
1278  rechiterrx = sqrt(error.xx());
1279  rechiterry = sqrt(error.yy());
1280 
1281  npix = (*matchedhit).cluster()->size();
1282  nxpix = (*matchedhit).cluster()->sizeX();
1283  nypix = (*matchedhit).cluster()->sizeY();
1284  charge = (*matchedhit).cluster()->charge();
1285 
1286  //Association of the rechit to the simhit
1287  matched.clear();
1288  matched = associate.associateHit(*matchedhit);
1289 
1290  nsimhit = (int)matched.size();
1291 
1292  if (!matched.empty()) {
1293  mindist = 999999.9;
1294  float distx, disty, dist;
1295  bool found_hit_from_generated_particle = false;
1296 
1297  int n_assoc_muon = 0;
1298 
1299  std::vector<PSimHit>::const_iterator closestit = matched.begin();
1300  for (std::vector<PSimHit>::const_iterator m = matched.begin(); m < matched.end(); m++) {
1301  if (checkType_) {
1302  int pid = (*m).particleType();
1303  if (abs(pid) != genType_)
1304  continue;
1305  }
1306 
1307  float simhitx = 0.5 * ((*m).entryPoint().x() + (*m).exitPoint().x());
1308  float simhity = 0.5 * ((*m).entryPoint().y() + (*m).exitPoint().y());
1309 
1310  distx = fabs(rechitx - simhitx);
1311  disty = fabs(rechity - simhity);
1312  dist = sqrt(distx * distx + disty * disty);
1313 
1314  if (dist < mindist) {
1315  n_assoc_muon++;
1316 
1317  mindist = dist;
1318  closestit = m;
1319  found_hit_from_generated_particle = true;
1320  }
1321  } // for (std::vector<PSimHit>::const_iterator m=matched.begin(); m<matched.end(); m++)
1322 
1323  // This recHit does not have any simHit with the same particleType as the particles generated
1324  // Ignore it as most probably come from delta rays.
1325  if (checkType_ && !found_hit_from_generated_particle)
1326  continue;
1327 
1328  if (n_assoc_muon > 1) {
1329  edm::LogWarning("SiPixelTrackingRecHitsValid")
1330  << " ----- This is not good: n_assoc_muon = " << n_assoc_muon;
1331  edm::LogWarning("SiPixelTrackingRecHitsValid") << "evt = " << evt;
1332  }
1333 
1334  pidhit = (*closestit).particleType();
1335 
1336  simhitx = 0.5 * ((*closestit).entryPoint().x() + (*closestit).exitPoint().x());
1337  simhity = 0.5 * ((*closestit).entryPoint().y() + (*closestit).exitPoint().y());
1338 
1341  rechitpullx = (rechitx - simhitx) / sqrt(error.xx());
1342  rechitpully = (rechity - simhity) / sqrt(error.yy());
1343 
1344  float simhitpx = (*closestit).momentumAtEntry().x();
1345  float simhitpy = (*closestit).momentumAtEntry().y();
1346  float simhitpz = (*closestit).momentumAtEntry().z();
1347 
1348  //beta = atan2(simhitpz, simhitpy) * radtodeg;
1349  //alpha = atan2(simhitpz, simhitpx) * radtodeg;
1350 
1351  beta = fabs(atan2(simhitpz, simhitpy)) * radtodeg;
1352  alpha = fabs(atan2(simhitpz, simhitpx)) * radtodeg;
1353 
1354  detId = (*it)->geographicalId();
1355 
1356  subdetId = (int)detId.subdetId();
1357 
1358  if ((int)detId.subdetId() == (int)PixelSubdetector::PixelBarrel) {
1362  meErryBarrel->Fill(rechiterry);
1367  meNpixBarrel->Fill(npix);
1383 
1384  const PixelGeomDetUnit* theGeomDet = dynamic_cast<const PixelGeomDetUnit*>(tracker->idToDet(detId));
1385  //const PixelTopology * topol = (&(theGeomDet->specificTopology()));
1386 
1387  int tmp_nrows = theGeomDet->specificTopology().nrows();
1388 
1389  if (tmp_nrows == 80) {
1392  half = 1;
1393  } else if (tmp_nrows == 160) {
1396  half = 0;
1397  } else
1398  edm::LogWarning("SiPixelTrackingRecHitsValid")
1399  << "-------------------------------------------------- Wrong module size !!!";
1400 
1401  float tmp1 = theGeomDet->surface().toGlobal(Local3DPoint(0., 0., 0.)).perp();
1402  float tmp2 = theGeomDet->surface().toGlobal(Local3DPoint(0., 0., 1.)).perp();
1403 
1404  if (tmp2 < tmp1) { // flipped
1407  flipped = 1;
1408 
1421 
1426  } else { // not flipped
1429  flipped = 0;
1430 
1443 
1448  }
1449 
1450  layer = tTopo->pxbLayer(detId); // Layer: 1,2,3.
1451  ladder = tTopo->pxbLadder(detId); // Ladder: 1-20, 32, 44.
1452  mod = tTopo->pxbModule(detId); // Mod: 1-8.
1453 
1457  meErryBarrelLayerModule[layer - 1][mod - 1]->Fill(rechiterry);
1462  meNpixBarrelLayerModule[layer - 1][mod - 1]->Fill(npix);
1478 
1483 
1484  if (tmp2 < tmp1) { // flipped
1489  } else { // not flipped
1494  }
1495 
1496  } else if ((int)detId.subdetId() == (int)PixelSubdetector::PixelEndcap) {
1497  side = tTopo->pxfSide(detId);
1498  disk = tTopo->pxfDisk(detId);
1499  blade = tTopo->pxfBlade(detId);
1500  panel = tTopo->pxfPanel(detId);
1501  plaq = tTopo->pxfModule(detId); // also known as plaquette
1502 
1503  if (side == 1) {
1504  if (panel == 1) {
1508  meErryZmPanel1->Fill(rechiterry);
1513  meNpixZmPanel1->Fill(npix);
1529 
1534 
1538  meErryZmPanel1DiskPlaq[disk - 1][plaq - 1]->Fill(rechiterry);
1543  meNpixZmPanel1DiskPlaq[disk - 1][plaq - 1]->Fill(npix);
1559 
1560  } else if (panel == 2) {
1564  meErryZmPanel2->Fill(rechiterry);
1569  meNpixZmPanel2->Fill(npix);
1585 
1590 
1594  meErryZmPanel2DiskPlaq[disk - 1][plaq - 1]->Fill(rechiterry);
1599  meNpixZmPanel2DiskPlaq[disk - 1][plaq - 1]->Fill(npix);
1615 
1616  } else
1617  edm::LogWarning("SiPixelTrackingRecHitsValid")
1618  << "..............................................Wrong panel number !";
1619  } // if ( side==1 )
1620  else if (side == 2) {
1621  if (panel == 1) {
1625  meErryZpPanel1->Fill(rechiterry);
1630  meNpixZpPanel1->Fill(npix);
1646 
1651 
1655  meErryZpPanel1DiskPlaq[disk - 1][plaq - 1]->Fill(rechiterry);
1660  meNpixZpPanel1DiskPlaq[disk - 1][plaq - 1]->Fill(npix);
1676 
1677  } else if (panel == 2) {
1681  meErryZpPanel2->Fill(rechiterry);
1686  meNpixZpPanel2->Fill(npix);
1702 
1707 
1711  meErryZpPanel2DiskPlaq[disk - 1][plaq - 1]->Fill(rechiterry);
1716  meNpixZpPanel2DiskPlaq[disk - 1][plaq - 1]->Fill(npix);
1732 
1733  } else
1734  edm::LogWarning("SiPixelTrackingRecHitsValid")
1735  << "..............................................Wrong panel number !";
1736  } //else if ( side==2 )
1737  else
1738  edm::LogWarning("SiPixelTrackingRecHitsValid")
1739  << ".......................................................Wrong side !";
1740 
1741  } // else if ( detId.subdetId()==PixelSubdetector::PixelEndcap )
1742  else
1743  edm::LogWarning("SiPixelTrackingRecHitsValid")
1744  << "Pixel rechit but we are not in the pixel detector" << (int)detId.subdetId();
1745 
1746  if (!debugNtuple_.empty())
1747  t_->Fill();
1748 
1749  } // if ( !matched.empty() )
1750  //else
1751  //cout << "---------------- RecHit with no associated SimHit !!! -------------------------- " << endl;
1752 
1753  } // matchedhit.
1754 
1755  } // end of loop on hits
1756 
1757  mePixRecHitsPerTrack->Fill(n_hits);
1758  //cout << "n_hits = " << n_hits << endl;
1759 
1760  } //end of loop on track
1761 
1762  } // tracks > 0.
1763 
1764  } //end of MTCCTrack
1765 }
RunNumber_t run() const
Definition: EventID.h:38
MonitorElement * meWPullXvsAlphaBarrelNonFlippedLadders
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
Definition: Surface.h:81
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX)
Definition: DQMStore.cc:239
edm::EDGetTokenT< SiPixelRecHitCollection > siPixelRecHitCollectionToken_
T getParameter(std::string const &) const
EventNumber_t event() const
Definition: EventID.h:40
MonitorElement * meResXvsAlphaBarrelNonFlippedLaddersLayer[3]
MonitorElement * meErryBarrelLayerModule[3][8]
MonitorElement * meNpixZmPanel1DiskPlaq[2][4]
MonitorElement * meResYvsAlphaBarrelFlippedLaddersLayer[3]
T getUntrackedParameter(std::string const &, T const &) const
MonitorElement * mePullYvsEtaBarrelLayerModule[3][8]
MonitorElement * meErryZpPanel2DiskPlaq[2][3]
MonitorElement * meResyZpPanel1DiskPlaq[2][4]
float xx() const
Definition: LocalError.h:22
MonitorElement * mePullxZpPanel2DiskPlaq[2][3]
virtual int nrows() const =0
MonitorElement * mePullXvsBetaBarrelLayerModule[3][8]
MonitorElement * meResyZmPanel2DiskPlaq[2][3]
MonitorElement * mePullXvsAlphaZmPanel1DiskPlaq[2][4]
MonitorElement * meResYvsAlphaBarrelNonFlippedLaddersLayer[3]
const_iterator end(bool update=false) const
MonitorElement * mePullYvsAlphaBarrelNonFlippedLadders
MonitorElement * mePullYvsAlphaZmPanel1DiskPlaq[2][4]
T perp() const
Definition: PV3DBase.h:69
MonitorElement * meChargeZmPanel2DiskPlaq[2][3]
MonitorElement * mePosxZmPanel1DiskPlaq[2][4]
MonitorElement * mePosyBarrelLayerModule[3][8]
MonitorElement * meResxZpPanel1DiskPlaq[2][4]
MonitorElement * meNpixZpPanel2DiskPlaq[2][3]
MonitorElement * meResyZmPanel1DiskPlaq[2][4]
MonitorElement * meResXvsBetaZmPanel1DiskPlaq[2][4]
MonitorElement * mePullYvsEtaZpPanel1DiskPlaq[2][4]
MonitorElement * meWPullXvsBetaBarrelNonFlippedLadders
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:525
MonitorElement * meResYvsBetaZmPanel1DiskPlaq[2][4]
MonitorElement * mePullYvsEtaZmPanel2DiskPlaq[2][3]
MonitorElement * meErrxZmPanel1DiskPlaq[2][4]
MonitorElement * meResXvsBetaBarrelNonFlippedLaddersLayer[3]
void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:418
unsigned int pxfDisk(const DetId &id) const
MonitorElement * meErrxZpPanel2DiskPlaq[2][3]
MonitorElement * meResYvsBetaBarrelFlippedLaddersLayer[3]
MonitorElement * mePullxBarrelLayerModule[3][8]
MonitorElement * mePosyZpPanel1DiskPlaq[2][4]
MonitorElement * meNxpixZpPanel1DiskPlaq[2][4]
MonitorElement * mePullYvsBetaZpPanel1DiskPlaq[2][4]
#define nullptr
unsigned int pxbLadder(const DetId &id) const
MonitorElement * mePullXvsPhiZmPanel1DiskPlaq[2][4]
std::vector< Track > TrackCollection
collection of Tracks
Definition: TrackFwd.h:14
T y() const
Definition: PV3DBase.h:60
MonitorElement * meResXvsBetaBarrelFlippedLaddersLayer[3]
MonitorElement * mePullyZmPanel1DiskPlaq[2][4]
MonitorElement * meErrxBarrelLayerModule[3][8]
MonitorElement * meErryZmPanel2DiskPlaq[2][3]
MonitorElement * mePosxZmPanel2DiskPlaq[2][3]
MonitorElement * meChargeZpPanel2DiskPlaq[2][3]
unsigned int pxbModule(const DetId &id) const
MonitorElement * mePullXvsEtaZpPanel2DiskPlaq[2][3]
MonitorElement * meResYvsAlphaZmPanel1DiskPlaq[2][4]
MonitorElement * mePullXvsBetaZmPanel1DiskPlaq[2][4]
MonitorElement * meResXvsAlphaZmPanel2DiskPlaq[2][3]
MonitorElement * mePullYvsAlphaZmPanel2DiskPlaq[2][3]
MonitorElement * mePullxZmPanel1DiskPlaq[2][4]
MonitorElement * mePullyZpPanel2DiskPlaq[2][3]
MonitorElement * mePullXvsAlphaBarrelLayerModule[3][8]
MonitorElement * meNpixZpPanel1DiskPlaq[2][4]
MonitorElement * mePosyZmPanel2DiskPlaq[2][3]
TrackerHitAssociator::Config trackerHitAssociatorConfig_
MonitorElement * mePullyBarrelLayerModule[3][8]
MonitorElement * mePullXvsPhiZpPanel2DiskPlaq[2][3]
MonitorElement * meResyBarrelLayerModule[3][8]
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:37
MonitorElement * meWPullYvsBetaBarrelNonFlippedLadders
MonitorElement * meNypixBarrelLayerModule[3][8]
edm::EDGetTokenT< reco::TrackCollection > recoTrackCollectionToken_
MonitorElement * mePullyZpPanel1DiskPlaq[2][4]
MonitorElement * meNypixZpPanel1DiskPlaq[2][4]
MonitorElement * mePullXvsAlphaZpPanel1DiskPlaq[2][4]
MonitorElement * meErryZmPanel1DiskPlaq[2][4]
MonitorElement * mePullxZmPanel2DiskPlaq[2][3]
void Fill(long long x)
MonitorElement * mePullXvsEtaZpPanel1DiskPlaq[2][4]
const DetContainer & dets() const override
Returm a vector of all GeomDet (including all GeomDetUnits)
MonitorElement * mePullXvsPhiZmPanel2DiskPlaq[2][3]
MonitorElement * mePullYvsBetaZmPanel2DiskPlaq[2][3]
MonitorElement * mePullXvsPhiBarrelLayerModule[3][8]
MonitorElement * mePullYvsPhiZmPanel2DiskPlaq[2][3]
MonitorElement * meWPullYvsAlphaBarrelNonFlippedLadders
MonitorElement * meResYvsAlphaZpPanel2DiskPlaq[2][3]
void bookHistograms(DQMStore::IBooker &ibooker, const edm::Run &run, const edm::EventSetup &es) override
float yy() const
Definition: LocalError.h:24
MonitorElement * meNpixBarrelLayerModule[3][8]
MonitorElement * meResxZpPanel2DiskPlaq[2][3]
ConsumesCollector consumesCollector()
Use a ConsumesCollector to gather consumes information from helper functions.
T sqrt(T t)
Definition: SSEVec.h:19
MonitorElement * meChargeZpPanel1DiskPlaq[2][4]
MonitorElement * mePullXvsBetaZpPanel2DiskPlaq[2][3]
T z() const
Definition: PV3DBase.h:61
MonitorElement * meResYvsAlphaZpPanel1DiskPlaq[2][4]
MonitorElement * bookProfile(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, char const *option="s")
Definition: DQMStore.cc:333
MonitorElement * meResxBarrelLayerModule[3][8]
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:48
MonitorElement * meNxpixZmPanel1DiskPlaq[2][4]
void analyze(const edm::Event &e, const edm::EventSetup &c) override
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
MonitorElement * mePosxZpPanel2DiskPlaq[2][3]
MonitorElement * mePosxZpPanel1DiskPlaq[2][4]
MonitorElement * meNxpixZpPanel2DiskPlaq[2][3]
MonitorElement * mePullYvsEtaZpPanel2DiskPlaq[2][3]
MonitorElement * mePullYvsPhiZpPanel1DiskPlaq[2][4]
MonitorElement * meResxZmPanel2DiskPlaq[2][3]
MonitorElement * meResXvsBetaZmPanel2DiskPlaq[2][3]
MonitorElement * mePullyZmPanel2DiskPlaq[2][3]
MonitorElement * mePullYvsBetaBarrelLayerModule[3][8]
MonitorElement * meErrxZmPanel2DiskPlaq[2][3]
MonitorElement * meNypixZmPanel1DiskPlaq[2][4]
unsigned int pxfModule(const DetId &id) const
MonitorElement * mePullXvsEtaZmPanel1DiskPlaq[2][4]
MonitorElement * meErrxZpPanel1DiskPlaq[2][4]
MonitorElement * meErryZpPanel1DiskPlaq[2][4]
MonitorElement * meResXvsBetaZpPanel2DiskPlaq[2][3]
MonitorElement * meResXvsBetaZpPanel1DiskPlaq[2][4]
unsigned int pxbLayer(const DetId &id) const
boost::transform_iterator< IterHelp, const_IdIter > const_iterator
MonitorElement * mePullYvsPhiZmPanel1DiskPlaq[2][4]
Definition: DetId.h:17
MonitorElement * meChargeZmPanel1DiskPlaq[2][4]
MonitorElement * mePullYvsAlphaZpPanel2DiskPlaq[2][3]
MonitorElement * meNypixZmPanel2DiskPlaq[2][3]
MonitorElement * mePullYvsPhiZpPanel2DiskPlaq[2][3]
MonitorElement * mePullYvsBetaZmPanel1DiskPlaq[2][4]
T const * product() const
Definition: Handle.h:69
MonitorElement * mePullXvsEtaBarrelLayerModule[3][8]
MonitorElement * mePullXvsBetaZmPanel2DiskPlaq[2][3]
MonitorElement * mePullXvsAlphaZpPanel2DiskPlaq[2][3]
MonitorElement * meResYvsBetaBarrelLayerModule[3][8]
MonitorElement * mePullXvsAlphaBarrelNonFlippedLadders
virtual const PixelTopology & specificTopology() const
Returns a reference to the pixel proxy topology.
SiPixelTrackingRecHitsValid(const edm::ParameterSet &conf)
MonitorElement * mePullYvsAlphaBarrelLayerModule[3][8]
MonitorElement * mePullYvsEtaZmPanel1DiskPlaq[2][4]
MonitorElement * meResXvsAlphaZmPanel1DiskPlaq[2][4]
MonitorElement * mePullYvsAlphaZpPanel1DiskPlaq[2][4]
MonitorElement * meChargeBarrelLayerModule[3][8]
const_iterator find(id_type i, bool update=false) const
MonitorElement * meResXvsAlphaZpPanel1DiskPlaq[2][4]
MonitorElement * mePullYvsBetaZpPanel2DiskPlaq[2][3]
edm::EventID id() const
Definition: EventBase.h:59
MonitorElement * meResYvsBetaZpPanel1DiskPlaq[2][4]
MonitorElement * mePosxBarrelLayerModule[3][8]
iterator end()
Definition: DetSetNew.h:56
MonitorElement * meResYvsAlphaZmPanel2DiskPlaq[2][3]
static int position[264][3]
Definition: ReadPGInfo.cc:289
T get() const
Definition: EventSetup.h:73
MonitorElement * meResyZpPanel2DiskPlaq[2][3]
MonitorElement * mePullXvsBetaZpPanel1DiskPlaq[2][4]
MonitorElement * meResYvsBetaZpPanel2DiskPlaq[2][3]
const TrackerGeomDet * idToDet(DetId) const override
MonitorElement * mePullXvsEtaZmPanel2DiskPlaq[2][3]
MonitorElement * meResYvsAlphaBarrelLayerModule[3][8]
unsigned int pxfSide(const DetId &id) const
std::vector< PSimHit > associateHit(const TrackingRecHit &thit) const
std::pair< typename Association::data_type::first_type, double > match(Reference key, Association association, bool bestMatchByMaxValue)
Generic matching function.
Definition: Utils.h:10
MonitorElement * mePosyZpPanel2DiskPlaq[2][3]
MonitorElement * mePullXvsAlphaZmPanel2DiskPlaq[2][3]
MonitorElement * mePullxZpPanel1DiskPlaq[2][4]
T x() const
Definition: PV3DBase.h:59
MonitorElement * meResXvsAlphaZpPanel2DiskPlaq[2][3]
MonitorElement * meResXvsAlphaBarrelLayerModule[3][8]
MonitorElement * meResYvsBetaZmPanel2DiskPlaq[2][3]
MonitorElement * meNpixZmPanel2DiskPlaq[2][3]
unsigned int pxfPanel(const DetId &id) const
unsigned int pxfBlade(const DetId &id) const
MonitorElement * meResXvsAlphaBarrelFlippedLaddersLayer[3]
void save(std::string const &filename, std::string const &path="", std::string const &pattern="", std::string const &rewrite="", uint32_t run=0, uint32_t lumi=0, SaveReferenceTag ref=SaveWithReference, int minStatus=dqm::qstatus::STATUS_OK, std::string const &fileupdate="RECREATE")
Definition: DQMStore.cc:2244
MonitorElement * meResXvsBetaBarrelLayerModule[3][8]
MonitorElement * mePullYvsPhiBarrelLayerModule[3][8]
MonitorElement * meNypixZpPanel2DiskPlaq[2][3]
Definition: Run.h:45
MonitorElement * mePosyZmPanel1DiskPlaq[2][4]
MonitorElement * mePullXvsPhiZpPanel1DiskPlaq[2][4]
MonitorElement * meNxpixBarrelLayerModule[3][8]
MonitorElement * meNxpixZmPanel2DiskPlaq[2][3]
Our base class.
Definition: SiPixelRecHit.h:23
MonitorElement * meResxZmPanel1DiskPlaq[2][4]
Point3DBase< float, LocalTag > Local3DPoint
Definition: LocalPoint.h:9
iterator begin()
Definition: DetSetNew.h:54
MonitorElement * meResYvsBetaBarrelNonFlippedLaddersLayer[3]