CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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 
108  : tTopoEsToken_(esConsumes()),
109  tGeomEsToken_(esConsumes()),
110  trackerHitAssociatorConfig_(ps, consumesCollector()),
111  dbe_(nullptr),
112  tfile_(nullptr),
113  t_(nullptr) {
114  //Read config file
115  MTCCtrack_ = ps.getParameter<bool>("MTCCtrack");
116  runStandalone = ps.getParameter<bool>("runStandalone");
117  outputFile_ = ps.getUntrackedParameter<std::string>("outputFile", "pixeltrackingrechitshisto.root");
118  siPixelRecHitCollectionToken_ = consumes<SiPixelRecHitCollection>(edm::InputTag("siPixelRecHits"));
120  consumes<reco::TrackCollection>(edm::InputTag(ps.getUntrackedParameter<std::string>("src")));
121  builderName_ = ps.getParameter<std::string>("TTRHBuilder");
122  checkType_ = ps.getParameter<bool>("checkType");
123  genType_ = ps.getParameter<int>("genType");
124  debugNtuple_ = ps.getUntrackedParameter<std::string>("debugNtuple", "SiPixelTrackingRecHitsValid_Ntuple.root");
125 }
126 
128  const edm::Run& run,
129  const edm::EventSetup& es) {
130  // Book histograms
132 
133  //float math_pi = 3.14159265;
134  //float radtodeg = 180.0 / math_pi;
135 
136  // Histogram ranges (low and high)
137 
138  float xl = -1.0;
139  float xh = 1.0;
140  float errxl = 0.0;
141  float errxh = 0.003;
142  float resxl = -0.02;
143  float resxh = 0.02;
144  float pullxl = -10.0;
145  float pullxh = 10.0;
146 
147  float yl = -4.0;
148  float yh = 4.0;
149  float erryl = 0.0;
150  float erryh = 0.010;
151  float resyl = -0.04;
152  float resyh = 0.04;
153  float pullyl = -10.0;
154  float pullyh = 10.0;
155 
156  float barrel_alphal = 80.0;
157  float barrel_alphah = 100.0;
158  float barrel_betal = 10.0;
159  float barrel_betah = 170.0;
160  //float barrel_phil = -180.0;
161  //float barrel_phih = 180.0;
162  //float barrel_etal = -2.5;
163  //float barrel_etah = 2.5;
164 
165  float forward_p1_alphal = 100.0;
166  float forward_p1_alphah = 115.0;
167  float forward_p2_alphal = 65.0;
168  float forward_p2_alphah = 80.0;
169  float forward_neg_betal = 67.0;
170  float forward_neg_betah = 73.0;
171  float forward_pos_betal = 107.0;
172  float forward_pos_betah = 113.0;
173  //float forward_phil = -180.0;
174  //float forward_phih = 180.0;
175  //float forward_neg_etal = -2.5;
176  //float forward_neg_etah = -1.5;
177  //float forward_pos_etal = 1.5;
178  //float forward_pos_etah = 2.5;
179 
180  // special ranges for pulls
181  float pull_barrel_alphal = 80.0;
182  float pull_barrel_alphah = 100.0;
183  float pull_barrel_betal = 10.0;
184  float pull_barrel_betah = 170.0;
185  float pull_barrel_phil = -180.0;
186  float pull_barrel_phih = 180.0;
187  float pull_barrel_etal = -2.4;
188  float pull_barrel_etah = 2.4;
189 
190  float pull_forward_p1_alphal = 100.0;
191  float pull_forward_p1_alphah = 112.0;
192  float pull_forward_p2_alphal = 68.0;
193  float pull_forward_p2_alphah = 80.0;
194  float pull_forward_neg_betal = 68.0;
195  float pull_forward_neg_betah = 72.0;
196  float pull_forward_pos_betal = 108.0;
197  float pull_forward_pos_betah = 112.0;
198  float pull_forward_phil = -180.0;
199  float pull_forward_phih = 180.0;
200  float pull_forward_neg_etal = -2.4;
201  float pull_forward_neg_etah = -1.4;
202  float pull_forward_pos_etal = 1.5;
203  float pull_forward_pos_etah = 2.5;
204 
205  int npixl = 0;
206  int npixh = 20;
207  int nxpixl = 0;
208  int nxpixh = 10;
209  int nypixl = 0;
210  int nypixh = 20;
211 
212  float barrel_chargel = 0.0;
213  float barrel_chargeh = 250000.0;
214  float forward_chargel = 0.0;
215  float forward_chargeh = 100000.0;
216 
217  ibooker.setCurrentFolder("Tracking/TrackingRecHits/Pixel/Histograms_per_ring-layer_or_disk-plaquette");
218 
219  // Pixel barrel has 3 layers and 8 rings; book a histogram for each module given by the (layer, ring) pair
220  for (int i = 0; i < 3; i++) // loop over layers
221  {
222  Char_t chisto[100];
223 
224  sprintf(chisto, "meResxBarrelLayer_%d", i + 1);
225  meResxBarrelLayer[i] = ibooker.book1D(chisto, chisto, 100, resxl, resxh);
226  sprintf(chisto, "meResyBarrelLayer_%d", i + 1);
227  meResyBarrelLayer[i] = ibooker.book1D(chisto, chisto, 100, resyl, resyh);
228  sprintf(chisto, "mePullxBarrelLayer_%d", i + 1);
229  mePullxBarrelLayer[i] = ibooker.book1D(chisto, chisto, 100, pullxl, pullxh);
230  sprintf(chisto, "mePullyBarrelLayer_%d", i + 1);
231  mePullyBarrelLayer[i] = ibooker.book1D(chisto, chisto, 100, pullyl, pullyh);
232 
233  sprintf(chisto, "meResXvsAlphaBarrelFlippedLaddersLayer_%d", i + 1);
235  ibooker.bookProfile(chisto, chisto, 20, barrel_alphal, barrel_alphah, 100, 0.0, resxh, "");
236  sprintf(chisto, "meResYvsAlphaBarrelFlippedLaddersLayer_%d", i + 1);
238  ibooker.bookProfile(chisto, chisto, 20, barrel_alphal, barrel_alphah, 100, 0.0, resyh, "");
239  sprintf(chisto, "meResXvsBetaBarrelFlippedLaddersLayer_%d", i + 1);
241  ibooker.bookProfile(chisto, chisto, 20, barrel_betal, barrel_betah, 100, 0.0, resxh, "");
242  sprintf(chisto, "meResYvsBetaBarrelFlippedLaddersLayer_%d", i + 1);
244  ibooker.bookProfile(chisto, chisto, 20, barrel_betal, barrel_betah, 100, 0.0, resyh, "");
245 
246  sprintf(chisto, "meResXvsAlphaBarrelNonFlippedLaddersLayer_%d", i + 1);
248  ibooker.bookProfile(chisto, chisto, 20, barrel_alphal, barrel_alphah, 100, 0.0, resxh, "");
249  sprintf(chisto, "meResYvsAlphaBarrelNonFlippedLaddersLayer_%d", i + 1);
251  ibooker.bookProfile(chisto, chisto, 20, barrel_alphal, barrel_alphah, 100, 0.0, resyh, "");
252  sprintf(chisto, "meResXvsBetaBarrelNonFlippedLaddersLayer_%d", i + 1);
254  ibooker.bookProfile(chisto, chisto, 20, barrel_betal, barrel_betah, 100, 0.0, resxh, "");
255  sprintf(chisto, "meResYvsBetaBarrelNonFlippedLaddersLayer_%d", i + 1);
257  ibooker.bookProfile(chisto, chisto, 20, barrel_betal, barrel_betah, 100, 0.0, resyh, "");
258 
259  for (int j = 0; j < 8; j++) // loop over rings
260  {
261  sprintf(chisto, "mePosxBarrelLayerModule_%d_%d", i + 1, j + 1);
262  mePosxBarrelLayerModule[i][j] = ibooker.book1D(chisto, chisto, 100, xl, xh);
263  sprintf(chisto, "mePosyBarrelLayerModule_%d_%d", i + 1, j + 1);
264  mePosyBarrelLayerModule[i][j] = ibooker.book1D(chisto, chisto, 100, yl, yh);
265  sprintf(chisto, "meErrxBarrelLayerModule_%d_%d", i + 1, j + 1);
266  meErrxBarrelLayerModule[i][j] = ibooker.book1D(chisto, chisto, 100, errxl, errxh);
267  sprintf(chisto, "meErryBarrelLayerModule_%d_%d", i + 1, j + 1);
268  meErryBarrelLayerModule[i][j] = ibooker.book1D(chisto, chisto, 100, erryl, erryh);
269  sprintf(chisto, "meResxBarrelLayerModule_%d_%d", i + 1, j + 1);
270  meResxBarrelLayerModule[i][j] = ibooker.book1D(chisto, chisto, 100, resxl, resxh);
271  sprintf(chisto, "meResyBarrelLayerModule_%d_%d", i + 1, j + 1);
272  meResyBarrelLayerModule[i][j] = ibooker.book1D(chisto, chisto, 100, resyl, resyh);
273  sprintf(chisto, "mePullxBarrelLayerModule_%d_%d", i + 1, j + 1);
274  mePullxBarrelLayerModule[i][j] = ibooker.book1D(chisto, chisto, 100, pullxl, pullxh);
275  sprintf(chisto, "mePullyBarrelLayerModule_%d_%d", i + 1, j + 1);
276  mePullyBarrelLayerModule[i][j] = ibooker.book1D(chisto, chisto, 100, pullyl, pullyh);
277  sprintf(chisto, "meNpixBarrelLayerModule_%d_%d", i + 1, j + 1);
278  meNpixBarrelLayerModule[i][j] = ibooker.book1D(chisto, chisto, 100, npixl, npixh);
279  sprintf(chisto, "meNxpixBarrelLayerModule_%d_%d", i + 1, j + 1);
280  meNxpixBarrelLayerModule[i][j] = ibooker.book1D(chisto, chisto, 100, nxpixl, nxpixh);
281  sprintf(chisto, "meNypixBarrelLayerModule_%d_%d", i + 1, j + 1);
282  meNypixBarrelLayerModule[i][j] = ibooker.book1D(chisto, chisto, 100, nypixl, nypixh);
283  sprintf(chisto, "meChargeBarrelLayerModule_%d_%d", i + 1, j + 1);
284  meChargeBarrelLayerModule[i][j] = ibooker.book1D(chisto, chisto, 100, barrel_chargel, barrel_chargeh);
285 
286  sprintf(chisto, "meResXvsAlphaBarrelLayerModule_%d_%d", i + 1, j + 1);
288  ibooker.bookProfile(chisto, chisto, 20, barrel_alphal, barrel_alphah, 100, 0.0, resxh, "");
289  sprintf(chisto, "meResYvsAlphaBarrelLayerModule_%d_%d", i + 1, j + 1);
291  ibooker.bookProfile(chisto, chisto, 20, barrel_alphal, barrel_alphah, 100, 0.0, resyh, "");
292  sprintf(chisto, "meResXvsBetaBarrelLayerModule_%d_%d", i + 1, j + 1);
294  ibooker.bookProfile(chisto, chisto, 20, barrel_betal, barrel_betah, 100, 0.0, resxh, "");
295  sprintf(chisto, "meResYvsBetaBarrelLayerModule_%d_%d", i + 1, j + 1);
297  ibooker.bookProfile(chisto, chisto, 20, barrel_betal, barrel_betah, 100, 0.0, resyh, "");
298 
299  sprintf(chisto, "mePullXvsAlphaBarrelLayerModule_%d_%d", i + 1, j + 1);
301  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_alphal, pull_barrel_alphah, 100, pullxl, pullxh, "");
302  sprintf(chisto, "mePullYvsAlphaBarrelLayerModule_%d_%d", i + 1, j + 1);
304  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_alphal, pull_barrel_alphah, 100, pullyl, pullyh, "");
305  sprintf(chisto, "mePullXvsBetaBarrelLayerModule_%d_%d", i + 1, j + 1);
307  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_betal, pull_barrel_betah, 100, pullxl, pullxh, "");
308  sprintf(chisto, "mePullYvsBetaBarrelLayerModule_%d_%d", i + 1, j + 1);
310  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_betal, pull_barrel_betah, 100, pullyl, pullyh, "");
311  sprintf(chisto, "mePullXvsPhiBarrelLayerModule_%d_%d", i + 1, j + 1);
313  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_phil, pull_barrel_phih, 100, pullxl, pullxh, "");
314  sprintf(chisto, "mePullYvsPhiBarrelLayerModule_%d_%d", i + 1, j + 1);
316  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_phil, pull_barrel_phih, 100, pullyl, pullyh, "");
317  sprintf(chisto, "mePullXvsEtaBarrelLayerModule_%d_%d", i + 1, j + 1);
319  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_etal, pull_barrel_etah, 100, pullxl, pullxh, "");
320  sprintf(chisto, "mePullYvsEtaBarrelLayerModule_%d_%d", i + 1, j + 1);
322  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_etal, pull_barrel_etah, 100, pullyl, pullyh, "");
323  } // for (int j=0; j<8; j++) // loop over rings
324 
325  } // for (int i=0; i<3 ; i++) // loop over layers
326 
327  // Pixel forward detector has 2 disks, 2 panels and either 3 or 4 plaquettes
328  // Panel 1 has 4 plaquettes
329  // Panel 2 has 3 plaquettes
330 
331  // Panel 1: 2 disks, 4 plaquets
332  // Panel 2: 2 disks, 3 plaquets
333  for (int i = 0; i < 2; i++) // loop over disks
334  for (int j = 0; j < 4; j++) // loop over plaquettes
335  {
336  Char_t chisto[100];
337 
338  sprintf(chisto, "mePosxZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
339  mePosxZmPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, xl, xh);
340  sprintf(chisto, "mePosyZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
341  mePosyZmPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, yl, yh);
342  sprintf(chisto, "meErrxZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
343  meErrxZmPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, errxl, errxh);
344  sprintf(chisto, "meErryZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
345  meErryZmPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, erryl, erryh);
346  sprintf(chisto, "meResxZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
347  meResxZmPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, resxl, resxh);
348  sprintf(chisto, "meResyZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
349  meResyZmPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, resyl, resyh);
350  sprintf(chisto, "mePullxZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
351  mePullxZmPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, pullxl, pullxh);
352  sprintf(chisto, "mePullyZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
353  mePullyZmPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, pullyl, pullyh);
354  sprintf(chisto, "meNpixZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
355  meNpixZmPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, npixl, npixh);
356  sprintf(chisto, "meNxpixZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
357  meNxpixZmPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, nxpixl, nxpixh);
358  sprintf(chisto, "meNypixZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
359  meNypixZmPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, nypixl, nypixh);
360  sprintf(chisto, "meChargeZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
361  meChargeZmPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, forward_chargel, forward_chargeh);
362 
363  sprintf(chisto, "meResXvsAlphaZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
365  ibooker.bookProfile(chisto, chisto, 20, forward_p1_alphal, forward_p1_alphah, 100, 0.0, resxh, "");
366  sprintf(chisto, "meResYvsAlphaZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
368  ibooker.bookProfile(chisto, chisto, 20, forward_p1_alphal, forward_p1_alphah, 100, 0.0, resyh, "");
369  sprintf(chisto, "meResXvsBetaZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
371  ibooker.bookProfile(chisto, chisto, 20, forward_neg_betal, forward_neg_betah, 100, 0.0, resxh, "");
372  sprintf(chisto, "meResYvsBetaZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
374  ibooker.bookProfile(chisto, chisto, 20, forward_neg_betal, forward_neg_betah, 100, 0.0, resyh, "");
375 
376  sprintf(chisto, "mePullXvsAlphaZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
378  chisto, chisto, 20, pull_forward_p1_alphal, pull_forward_p1_alphah, 100, pullxl, pullxh, "");
379  sprintf(chisto, "mePullYvsAlphaZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
381  chisto, chisto, 20, pull_forward_p1_alphal, pull_forward_p1_alphah, 100, pullyl, pullyh, "");
382  sprintf(chisto, "mePullXvsBetaZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
384  chisto, chisto, 20, pull_forward_neg_betal, pull_forward_neg_betah, 100, pullxl, pullxh, "");
385  sprintf(chisto, "mePullYvsBetaZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
387  chisto, chisto, 20, pull_forward_neg_betal, pull_forward_neg_betah, 100, pullyl, pullyh, "");
388  sprintf(chisto, "mePullXvsPhiZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
390  ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullxl, pullxh, "");
391  sprintf(chisto, "mePullYvsPhiZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
393  ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullyl, pullyh, "");
394  sprintf(chisto, "mePullXvsEtaZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
396  chisto, chisto, 20, pull_forward_neg_etal, pull_forward_neg_etah, 100, pullxl, pullxh, "");
397  sprintf(chisto, "mePullYvsEtaZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
399  chisto, chisto, 20, pull_forward_neg_etal, pull_forward_neg_etah, 100, pullyl, pullyh, "");
400 
401  sprintf(chisto, "mePosxZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
402  mePosxZpPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, xl, xh);
403  sprintf(chisto, "mePosyZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
404  mePosyZpPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, yl, yh);
405  sprintf(chisto, "meErrxZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
406  meErrxZpPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, errxl, errxh);
407  sprintf(chisto, "meErryZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
408  meErryZpPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, erryl, erryh);
409  sprintf(chisto, "meResxZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
410  meResxZpPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, resxl, resxh);
411  sprintf(chisto, "meResyZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
412  meResyZpPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, resyl, resyh);
413  sprintf(chisto, "mePullxZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
414  mePullxZpPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, pullxl, pullxh);
415  sprintf(chisto, "mePullyZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
416  mePullyZpPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, pullyl, pullyh);
417  sprintf(chisto, "meNpixZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
418  meNpixZpPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, npixl, npixh);
419  sprintf(chisto, "meNxpixZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
420  meNxpixZpPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, nxpixl, nxpixh);
421  sprintf(chisto, "meNypixZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
422  meNypixZpPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, nypixl, nypixh);
423  sprintf(chisto, "meChargeZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
424  meChargeZpPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, forward_chargel, forward_chargeh);
425  sprintf(chisto, "meResXvsAlphaZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
427  ibooker.bookProfile(chisto, chisto, 20, forward_p1_alphal, forward_p1_alphah, 100, 0.0, resxh, "");
428  sprintf(chisto, "meResYvsAlphaZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
430  ibooker.bookProfile(chisto, chisto, 20, forward_p1_alphal, forward_p1_alphah, 100, 0.0, resyh, "");
431  sprintf(chisto, "meResXvsBetaZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
433  ibooker.bookProfile(chisto, chisto, 20, forward_pos_betal, forward_pos_betah, 100, 0.0, resxh, "");
434  sprintf(chisto, "meResYvsBetaZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
436  ibooker.bookProfile(chisto, chisto, 20, forward_pos_betal, forward_pos_betah, 100, 0.0, resyh, "");
437 
438  sprintf(chisto, "mePullXvsAlphaZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
440  chisto, chisto, 20, pull_forward_p1_alphal, pull_forward_p1_alphah, 100, pullxl, pullxh, "");
441  sprintf(chisto, "mePullYvsAlphaZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
443  chisto, chisto, 20, pull_forward_p1_alphal, pull_forward_p1_alphah, 100, pullyl, pullyh, "");
444  sprintf(chisto, "mePullXvsBetaZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
446  chisto, chisto, 20, pull_forward_pos_betal, pull_forward_pos_betah, 100, pullxl, pullxh, "");
447  sprintf(chisto, "mePullYvsBetaZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
449  chisto, chisto, 20, pull_forward_pos_betal, pull_forward_pos_betah, 100, pullyl, pullyh, "");
450  sprintf(chisto, "mePullXvsPhiZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
452  ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullxl, pullxh, "");
453  sprintf(chisto, "mePullYvsPhiZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
455  ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullyl, pullyh, "");
456  sprintf(chisto, "mePullXvsEtaZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
458  chisto, chisto, 20, pull_forward_pos_etal, pull_forward_pos_etah, 100, pullxl, pullxh, "");
459  sprintf(chisto, "mePullYvsEtaZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
461  chisto, chisto, 20, pull_forward_pos_etal, pull_forward_pos_etah, 100, pullyl, pullyh, "");
462 
463  if (j > 2)
464  continue; // panel 2 has only 3 plaquettes
465 
466  sprintf(chisto, "mePosxZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
467  mePosxZmPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, xl, xh);
468  sprintf(chisto, "mePosyZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
469  mePosyZmPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, yl, yh);
470  sprintf(chisto, "meErrxZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
471  meErrxZmPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, errxl, errxh);
472  sprintf(chisto, "meErryZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
473  meErryZmPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, erryl, erryh);
474  sprintf(chisto, "meResxZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
475  meResxZmPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, resxl, resxh);
476  sprintf(chisto, "meResyZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
477  meResyZmPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, resyl, resyh);
478  sprintf(chisto, "mePullxZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
479  mePullxZmPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, pullxl, pullxh);
480  sprintf(chisto, "mePullyZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
481  mePullyZmPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, pullyl, pullyh);
482  sprintf(chisto, "meNpixZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
483  meNpixZmPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, npixl, npixh);
484  sprintf(chisto, "meNxpixZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
485  meNxpixZmPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, nxpixl, nxpixh);
486  sprintf(chisto, "meNypixZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
487  meNypixZmPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, nypixl, nypixh);
488  sprintf(chisto, "meChargeZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
489  meChargeZmPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, forward_chargel, forward_chargeh);
490  sprintf(chisto, "meResXvsAlphaZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
492  ibooker.bookProfile(chisto, chisto, 20, forward_p2_alphal, forward_p2_alphah, 100, 0.0, resxh, "");
493  sprintf(chisto, "meResYvsAlphaZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
495  ibooker.bookProfile(chisto, chisto, 20, forward_p2_alphal, forward_p2_alphah, 100, 0.0, resyh, "");
496  sprintf(chisto, "meResXvsBetaZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
498  ibooker.bookProfile(chisto, chisto, 20, forward_neg_betal, forward_neg_betah, 100, 0.0, resxh, "");
499  sprintf(chisto, "meResYvsBetaZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
501  ibooker.bookProfile(chisto, chisto, 20, forward_neg_betal, forward_neg_betah, 100, 0.0, resyh, "");
502 
503  sprintf(chisto, "mePullXvsAlphaZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
505  chisto, chisto, 20, pull_forward_p2_alphal, pull_forward_p2_alphah, 100, pullxl, pullxh, "");
506  sprintf(chisto, "mePullYvsAlphaZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
508  chisto, chisto, 20, pull_forward_p2_alphal, pull_forward_p2_alphah, 100, pullyl, pullyh, "");
509  sprintf(chisto, "mePullXvsBetaZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
511  chisto, chisto, 20, pull_forward_neg_betal, pull_forward_neg_betah, 100, pullxl, pullxh, "");
512  sprintf(chisto, "mePullYvsBetaZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
514  chisto, chisto, 20, pull_forward_neg_betal, pull_forward_neg_betah, 100, pullyl, pullyh, "");
515  sprintf(chisto, "mePullXvsPhiZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
517  ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullxl, pullxh, "");
518  sprintf(chisto, "mePullYvsPhiZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
520  ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullyl, pullyh, "");
521  sprintf(chisto, "mePullXvsEtaZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
523  chisto, chisto, 20, pull_forward_neg_etal, pull_forward_neg_etah, 100, pullxl, pullxh, "");
524  sprintf(chisto, "mePullYvsEtaZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
526  chisto, chisto, 20, pull_forward_neg_etal, pull_forward_neg_etah, 100, pullyl, pullyh, "");
527 
528  sprintf(chisto, "mePosxZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
529  mePosxZpPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, xl, xh);
530  sprintf(chisto, "mePosyZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
531  mePosyZpPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, yl, yh);
532  sprintf(chisto, "meErrxZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
533  meErrxZpPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, errxl, errxh);
534  sprintf(chisto, "meErryZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
535  meErryZpPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, erryl, erryh);
536  sprintf(chisto, "meResxZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
537  meResxZpPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, resxl, resxh);
538  sprintf(chisto, "meResyZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
539  meResyZpPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, resyl, resyh);
540  sprintf(chisto, "mePullxZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
541  mePullxZpPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, pullxl, pullxh);
542  sprintf(chisto, "mePullyZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
543  mePullyZpPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, pullyl, pullyh);
544  sprintf(chisto, "meNpixZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
545  meNpixZpPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, npixl, npixh);
546  sprintf(chisto, "meNxpixZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
547  meNxpixZpPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, nxpixl, nxpixh);
548  sprintf(chisto, "meNypixZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
549  meNypixZpPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, nypixl, nypixh);
550  sprintf(chisto, "meChargeZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
551  meChargeZpPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, forward_chargel, forward_chargeh);
552  sprintf(chisto, "meResXvsAlphaZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
554  ibooker.bookProfile(chisto, chisto, 20, forward_p2_alphal, forward_p2_alphah, 100, 0.0, resxh, "");
555  sprintf(chisto, "meResYvsAlphaZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
557  ibooker.bookProfile(chisto, chisto, 20, forward_p2_alphal, forward_p2_alphah, 100, 0.0, resyh, "");
558  sprintf(chisto, "meResXvsBetaZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
560  ibooker.bookProfile(chisto, chisto, 20, forward_pos_betal, forward_pos_betah, 100, 0.0, resxh, "");
561  sprintf(chisto, "meResYvsBetaZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
563  ibooker.bookProfile(chisto, chisto, 20, forward_pos_betal, forward_pos_betah, 100, 0.0, resyh, "");
564 
565  sprintf(chisto, "mePullXvsAlphaZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
567  chisto, chisto, 20, pull_forward_p2_alphal, pull_forward_p2_alphah, 100, pullxl, pullxh, "");
568  sprintf(chisto, "mePullYvsAlphaZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
570  chisto, chisto, 20, pull_forward_p2_alphal, pull_forward_p2_alphah, 100, pullyl, pullyh, "");
571  sprintf(chisto, "mePullXvsBetaZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
573  chisto, chisto, 20, pull_forward_pos_betal, pull_forward_pos_betah, 100, pullxl, pullxh, "");
574  sprintf(chisto, "mePullYvsBetaZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
576  chisto, chisto, 20, pull_forward_pos_betal, pull_forward_pos_betah, 100, pullyl, pullyh, "");
577  sprintf(chisto, "mePullXvsPhiZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
579  ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullxl, pullxh, "");
580  sprintf(chisto, "mePullYvsPhiZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
582  ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullyl, pullyh, "");
583  sprintf(chisto, "mePullXvsEtaZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
585  chisto, chisto, 20, pull_forward_pos_etal, pull_forward_pos_etah, 100, pullxl, pullxh, "");
586  sprintf(chisto, "mePullYvsEtaZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
588  chisto, chisto, 20, pull_forward_pos_etal, pull_forward_pos_etah, 100, pullyl, pullyh, "");
589 
590  } // for (int j=0; j<4; j++) // loop over plaquettes
591 
592  ibooker.setCurrentFolder("Tracking/TrackingRecHits/Pixel/Histograms_all");
593 
594  Char_t chisto[100];
595  sprintf(chisto, "mePosxBarrel");
596  mePosxBarrel = ibooker.book1D(chisto, chisto, 100, xl, xh);
597  sprintf(chisto, "mePosyBarrel");
598  mePosyBarrel = ibooker.book1D(chisto, chisto, 100, yl, yh);
599  sprintf(chisto, "meErrxBarrel");
600  meErrxBarrel = ibooker.book1D(chisto, chisto, 100, errxl, errxh);
601  sprintf(chisto, "meErryBarrel");
602  meErryBarrel = ibooker.book1D(chisto, chisto, 100, erryl, erryh);
603  sprintf(chisto, "meResxBarrel");
604  meResxBarrel = ibooker.book1D(chisto, chisto, 100, resxl, resxh);
605  sprintf(chisto, "meResyBarrel");
606  meResyBarrel = ibooker.book1D(chisto, chisto, 100, resyl, resyh);
607  sprintf(chisto, "mePullxBarrel");
608  mePullxBarrel = ibooker.book1D(chisto, chisto, 100, pullxl, pullxh);
609  sprintf(chisto, "mePullyBarrel");
610  mePullyBarrel = ibooker.book1D(chisto, chisto, 100, pullyl, pullyh);
611  sprintf(chisto, "meNpixBarrel");
612  meNpixBarrel = ibooker.book1D(chisto, chisto, 100, npixl, npixh);
613  sprintf(chisto, "meNxpixBarrel");
614  meNxpixBarrel = ibooker.book1D(chisto, chisto, 100, nxpixl, nxpixh);
615  sprintf(chisto, "meNypixBarrel");
616  meNypixBarrel = ibooker.book1D(chisto, chisto, 100, nypixl, nypixh);
617  sprintf(chisto, "meChargeBarrel");
618  meChargeBarrel = ibooker.book1D(chisto, chisto, 100, barrel_chargel, barrel_chargeh);
619  sprintf(chisto, "meResXvsAlphaBarrel");
620  meResXvsAlphaBarrel = ibooker.bookProfile(chisto, chisto, 20, barrel_alphal, barrel_alphah, 100, 0.0, resxh, "");
621  sprintf(chisto, "meResYvsAlphaBarrel");
622  meResYvsAlphaBarrel = ibooker.bookProfile(chisto, chisto, 20, barrel_alphal, barrel_alphah, 100, 0.0, resyh, "");
623  sprintf(chisto, "meResXvsBetaBarrel");
624  meResXvsBetaBarrel = ibooker.bookProfile(chisto, chisto, 20, barrel_betal, barrel_betah, 100, 0.0, resxh, "");
625  sprintf(chisto, "meResYvsBetaBarrel");
626  meResYvsBetaBarrel = ibooker.bookProfile(chisto, chisto, 20, barrel_betal, barrel_betah, 100, 0.0, resyh, "");
627 
628  sprintf(chisto, "mePullXvsAlphaBarrel");
630  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_alphal, pull_barrel_alphah, 100, pullxl, pullxh, "");
631  sprintf(chisto, "mePullYvsAlphaBarrel");
633  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_alphal, pull_barrel_alphah, 100, pullyl, pullyh, "");
634  sprintf(chisto, "mePullXvsBetaBarrel");
636  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_betal, pull_barrel_betah, 100, pullxl, pullxh, "");
637  sprintf(chisto, "mePullYvsBetaBarrel");
639  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_betal, pull_barrel_betah, 100, pullyl, pullyh, "");
640  sprintf(chisto, "mePullXvsPhiBarrel");
642  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_phil, pull_barrel_phih, 100, pullxl, pullxh, "");
643  sprintf(chisto, "mePullYvsPhiBarrel");
645  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_phil, pull_barrel_phih, 100, pullyl, pullyh, "");
646  sprintf(chisto, "mePullXvsEtaBarrel");
648  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_etal, pull_barrel_etah, 100, pullxl, pullxh, "");
649  sprintf(chisto, "mePullYvsEtaBarrel");
651  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_etal, pull_barrel_etah, 100, pullyl, pullyh, "");
652 
653  sprintf(chisto, "mePosxBarrelHalfModule");
654  mePosxBarrelHalfModule = ibooker.book1D(chisto, chisto, 100, xl, xh);
655  sprintf(chisto, "mePosxBarrelFullModule");
656  mePosxBarrelFullModule = ibooker.book1D(chisto, chisto, 100, xl, xh);
657  sprintf(chisto, "mePosxBarrelFlippedLadders");
658  mePosxBarrelFlippedLadders = ibooker.book1D(chisto, chisto, 100, xl, xh);
659  sprintf(chisto, "mePosxBarrelNonFlippedLadders");
660  mePosxBarrelNonFlippedLadders = ibooker.book1D(chisto, chisto, 100, xl, xh);
661  sprintf(chisto, "mePosyBarrelHalfModule");
662  mePosyBarrelHalfModule = ibooker.book1D(chisto, chisto, 100, yl, yh);
663  sprintf(chisto, "mePosyBarrelFullModule");
664  mePosyBarrelFullModule = ibooker.book1D(chisto, chisto, 100, yl, yh);
665  sprintf(chisto, "mePosyBarrelFlippedLadders");
666  mePosyBarrelFlippedLadders = ibooker.book1D(chisto, chisto, 100, yl, yh);
667  sprintf(chisto, "mePosyBarrelNonFlippedLadders");
668  mePosyBarrelNonFlippedLadders = ibooker.book1D(chisto, chisto, 100, yl, yh);
669 
670  sprintf(chisto, "meResXvsAlphaBarrelFlippedLadders");
672  ibooker.bookProfile(chisto, chisto, 20, barrel_alphal, barrel_alphah, 100, 0.0, resxh, "");
673  sprintf(chisto, "meResYvsAlphaBarrelFlippedLadders");
675  ibooker.bookProfile(chisto, chisto, 20, barrel_alphal, barrel_alphah, 100, 0.0, resyh, "");
676  sprintf(chisto, "meResXvsBetaBarrelFlippedLadders");
678  ibooker.bookProfile(chisto, chisto, 20, barrel_betal, barrel_betah, 100, 0.0, resxh, "");
679  sprintf(chisto, "meResYvsBetaBarrelFlippedLadders");
681  ibooker.bookProfile(chisto, chisto, 20, barrel_betal, barrel_betah, 100, 0.0, resyh, "");
682 
683  sprintf(chisto, "mePullXvsAlphaBarrelFlippedLadders");
685  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_alphal, pull_barrel_alphah, 100, pullxl, pullxh, "");
686  sprintf(chisto, "mePullYvsAlphaBarrelFlippedLadders");
688  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_alphal, pull_barrel_alphah, 100, pullyl, pullyh, "");
689  sprintf(chisto, "mePullXvsBetaBarrelFlippedLadders");
691  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_betal, pull_barrel_betah, 100, pullxl, pullxh, "");
692  sprintf(chisto, "mePullYvsBetaBarrelFlippedLadders");
694  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_betal, pull_barrel_betah, 100, pullyl, pullyh, "");
695  sprintf(chisto, "mePullXvsPhiBarrelFlippedLadders");
697  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_phil, pull_barrel_phih, 100, pullxl, pullxh, "");
698  sprintf(chisto, "mePullYvsPhiBarrelFlippedLadders");
700  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_phil, pull_barrel_phih, 100, pullyl, pullyh, "");
701  sprintf(chisto, "mePullXvsEtaBarrelFlippedLadders");
703  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_etal, pull_barrel_etah, 100, pullxl, pullxh, "");
704  sprintf(chisto, "mePullYvsEtaBarrelFlippedLadders");
706  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_etal, pull_barrel_etah, 100, pullyl, pullyh, "");
707 
708  sprintf(chisto, "meWPullXvsAlphaBarrelFlippedLadders");
710  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_alphal, pull_barrel_alphah, 100, pullxl, pullxh, "");
711  sprintf(chisto, "meWPullYvsAlphaBarrelFlippedLadders");
713  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_alphal, pull_barrel_alphah, 100, pullyl, pullyh, "");
714  sprintf(chisto, "meWPullXvsBetaBarrelFlippedLadders");
716  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_betal, pull_barrel_betah, 100, pullxl, pullxh, "");
717  sprintf(chisto, "meWPullYvsBetaBarrelFlippedLadders");
719  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_betal, pull_barrel_betah, 100, pullyl, pullyh, "");
720 
721  sprintf(chisto, "meResXvsAlphaBarrelNonFlippedLadders");
723  ibooker.bookProfile(chisto, chisto, 20, barrel_alphal, barrel_alphah, 100, 0.0, resxh, "");
724  sprintf(chisto, "meResYvsAlphaBarrelNonFlippedLadders");
726  ibooker.bookProfile(chisto, chisto, 20, barrel_alphal, barrel_alphah, 100, 0.0, resyh, "");
727  sprintf(chisto, "meResXvsBetaBarrelNonFlippedLadders");
729  ibooker.bookProfile(chisto, chisto, 20, barrel_betal, barrel_betah, 100, 0.0, resxh, "");
730  sprintf(chisto, "meResYvsBetaBarrelNonFlippedLadders");
732  ibooker.bookProfile(chisto, chisto, 20, barrel_betal, barrel_betah, 100, 0.0, resyh, "");
733 
734  sprintf(chisto, "mePullXvsAlphaBarrelNonFlippedLadders");
736  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_alphal, pull_barrel_alphah, 100, pullxl, pullxh, "");
737  sprintf(chisto, "mePullYvsAlphaBarrelNonFlippedLadders");
739  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_alphal, pull_barrel_alphah, 100, pullyl, pullyh, "");
740  sprintf(chisto, "mePullXvsBetaBarrelNonFlippedLadders");
742  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_betal, pull_barrel_betah, 100, pullxl, pullxh, "");
743  sprintf(chisto, "mePullYvsBetaBarrelNonFlippedLadders");
745  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_betal, pull_barrel_betah, 100, pullyl, pullyh, "");
746  sprintf(chisto, "mePullXvsPhiBarrelNonFlippedLadders");
748  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_phil, pull_barrel_phih, 100, pullxl, pullxh, "");
749  sprintf(chisto, "mePullYvsPhiBarrelNonFlippedLadders");
751  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_phil, pull_barrel_phih, 100, pullyl, pullyh, "");
752  sprintf(chisto, "mePullXvsEtaBarrelNonFlippedLadders");
754  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_etal, pull_barrel_etah, 100, pullxl, pullxh, "");
755  sprintf(chisto, "mePullYvsEtaBarrelNonFlippedLadders");
757  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_etal, pull_barrel_etah, 100, pullyl, pullyh, "");
758 
759  sprintf(chisto, "meWPullXvsAlphaBarrelNonFlippedLadders");
761  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_alphal, pull_barrel_alphah, 100, pullxl, pullxh, "");
762  sprintf(chisto, "meWPullYvsAlphaBarrelNonFlippedLadders");
764  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_alphal, pull_barrel_alphah, 100, pullyl, pullyh, "");
765  sprintf(chisto, "meWPullXvsBetaBarrelNonFlippedLadders");
767  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_betal, pull_barrel_betah, 100, pullxl, pullxh, "");
768  sprintf(chisto, "meWPullYvsBetaBarrelNonFlippedLadders");
770  ibooker.bookProfile(chisto, chisto, 20, pull_barrel_betal, pull_barrel_betah, 100, pullyl, pullyh, "");
771 
772  sprintf(chisto, "mePosxZmPanel1");
773  mePosxZmPanel1 = ibooker.book1D(chisto, chisto, 100, xl, xh);
774  sprintf(chisto, "mePosyZmPanel1");
775  mePosyZmPanel1 = ibooker.book1D(chisto, chisto, 100, yl, yh);
776  sprintf(chisto, "meErrxZmPanel1");
777  meErrxZmPanel1 = ibooker.book1D(chisto, chisto, 100, errxl, errxh);
778  sprintf(chisto, "meErryZmPanel1");
779  meErryZmPanel1 = ibooker.book1D(chisto, chisto, 100, erryl, erryh);
780  sprintf(chisto, "meResxZmPanel1");
781  meResxZmPanel1 = ibooker.book1D(chisto, chisto, 100, resxl, resxh);
782  sprintf(chisto, "meResyZmPanel1");
783  meResyZmPanel1 = ibooker.book1D(chisto, chisto, 100, resyl, resyh);
784  sprintf(chisto, "mePullxZmPanel1");
785  mePullxZmPanel1 = ibooker.book1D(chisto, chisto, 100, pullxl, pullxh);
786  sprintf(chisto, "mePullyZmPanel1");
787  mePullyZmPanel1 = ibooker.book1D(chisto, chisto, 100, pullyl, pullyh);
788  sprintf(chisto, "meNpixZmPanel1");
789  meNpixZmPanel1 = ibooker.book1D(chisto, chisto, 100, npixl, npixh);
790  sprintf(chisto, "meNxpixZmPanel1");
791  meNxpixZmPanel1 = ibooker.book1D(chisto, chisto, 100, nxpixl, nxpixh);
792  sprintf(chisto, "meNypixZmPanel1");
793  meNypixZmPanel1 = ibooker.book1D(chisto, chisto, 100, nypixl, nypixh);
794  sprintf(chisto, "meChargeZmPanel1");
795  meChargeZmPanel1 = ibooker.book1D(chisto, chisto, 100, forward_chargel, forward_chargeh);
796  sprintf(chisto, "meResXvsAlphaZmPanel1");
798  ibooker.bookProfile(chisto, chisto, 20, forward_p1_alphal, forward_p1_alphah, 100, 0.0, resxh, "");
799  sprintf(chisto, "meResYvsAlphaZmPanel1");
801  ibooker.bookProfile(chisto, chisto, 20, forward_p1_alphal, forward_p1_alphah, 100, 0.0, resyh, "");
802  sprintf(chisto, "meResXvsBetaZmPanel1");
804  ibooker.bookProfile(chisto, chisto, 20, forward_neg_betal, forward_neg_betah, 100, 0.0, resxh, "");
805  sprintf(chisto, "meResYvsBetaZmPanel1");
807  ibooker.bookProfile(chisto, chisto, 20, forward_neg_betal, forward_neg_betah, 100, 0.0, resyh, "");
808 
809  sprintf(chisto, "mePullXvsAlphaZmPanel1");
811  ibooker.bookProfile(chisto, chisto, 20, pull_forward_p1_alphal, pull_forward_p1_alphah, 100, pullxl, pullxh, "");
812  sprintf(chisto, "mePullYvsAlphaZmPanel1");
814  ibooker.bookProfile(chisto, chisto, 20, pull_forward_p1_alphal, pull_forward_p1_alphah, 100, pullyl, pullyh, "");
815  sprintf(chisto, "mePullXvsBetaZmPanel1");
817  ibooker.bookProfile(chisto, chisto, 20, pull_forward_neg_betal, pull_forward_neg_betah, 100, pullxl, pullxh, "");
818  sprintf(chisto, "mePullYvsBetaZmPanel1");
820  ibooker.bookProfile(chisto, chisto, 20, pull_forward_neg_betal, pull_forward_neg_betah, 100, pullyl, pullyh, "");
821  sprintf(chisto, "mePullXvsPhiZmPanel1");
823  ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullxl, pullxh, "");
824  sprintf(chisto, "mePullYvsPhiZmPanel1");
826  ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullyl, pullyh, "");
827  sprintf(chisto, "mePullXvsEtaZmPanel1");
829  ibooker.bookProfile(chisto, chisto, 20, pull_forward_neg_etal, pull_forward_neg_etah, 100, pullxl, pullxh, "");
830  sprintf(chisto, "mePullYvsEtaZmPanel1");
832  ibooker.bookProfile(chisto, chisto, 20, pull_forward_neg_etal, pull_forward_neg_etah, 100, pullyl, pullyh, "");
833 
834  sprintf(chisto, "meWPullXvsAlphaZmPanel1");
836  ibooker.bookProfile(chisto, chisto, 20, pull_forward_p1_alphal, pull_forward_p1_alphah, 100, pullxl, pullxh, "");
837  sprintf(chisto, "meWPullYvsAlphaZmPanel1");
839  ibooker.bookProfile(chisto, chisto, 20, pull_forward_p1_alphal, pull_forward_p1_alphah, 100, pullyl, pullyh, "");
840  sprintf(chisto, "meWPullXvsBetaZmPanel1");
842  ibooker.bookProfile(chisto, chisto, 20, pull_forward_neg_betal, pull_forward_neg_betah, 100, pullxl, pullxh, "");
843  sprintf(chisto, "meWPullYvsBetaZmPanel1");
845  ibooker.bookProfile(chisto, chisto, 20, pull_forward_neg_betal, pull_forward_neg_betah, 100, pullyl, pullyh, "");
846 
847  sprintf(chisto, "mePosxZpPanel1");
848  mePosxZpPanel1 = ibooker.book1D(chisto, chisto, 100, xl, xh);
849  sprintf(chisto, "mePosyZpPanel1");
850  mePosyZpPanel1 = ibooker.book1D(chisto, chisto, 100, yl, yh);
851  sprintf(chisto, "meErrxZpPanel1");
852  meErrxZpPanel1 = ibooker.book1D(chisto, chisto, 100, errxl, errxh);
853  sprintf(chisto, "meErryZpPanel1");
854  meErryZpPanel1 = ibooker.book1D(chisto, chisto, 100, erryl, erryh);
855  sprintf(chisto, "meResxZpPanel1");
856  meResxZpPanel1 = ibooker.book1D(chisto, chisto, 100, resxl, resxh);
857  sprintf(chisto, "meResyZpPanel1");
858  meResyZpPanel1 = ibooker.book1D(chisto, chisto, 100, resyl, resyh);
859  sprintf(chisto, "mePullxZpPanel1");
860  mePullxZpPanel1 = ibooker.book1D(chisto, chisto, 100, pullxl, pullxh);
861  sprintf(chisto, "mePullyZpPanel1");
862  mePullyZpPanel1 = ibooker.book1D(chisto, chisto, 100, pullyl, pullyh);
863  sprintf(chisto, "meNpixZpPanel1");
864  meNpixZpPanel1 = ibooker.book1D(chisto, chisto, 100, npixl, npixh);
865  sprintf(chisto, "meNxpixZpPanel1");
866  meNxpixZpPanel1 = ibooker.book1D(chisto, chisto, 100, nxpixl, nxpixh);
867  sprintf(chisto, "meNypixZpPanel1");
868  meNypixZpPanel1 = ibooker.book1D(chisto, chisto, 100, nypixl, nypixh);
869  sprintf(chisto, "meChargeZpPanel1");
870  meChargeZpPanel1 = ibooker.book1D(chisto, chisto, 100, forward_chargel, forward_chargeh);
871  sprintf(chisto, "meResXvsAlphaZpPanel1");
873  ibooker.bookProfile(chisto, chisto, 20, forward_p1_alphal, forward_p1_alphah, 100, 0.0, resxh, "");
874  sprintf(chisto, "meResYvsAlphaZpPanel1");
876  ibooker.bookProfile(chisto, chisto, 20, forward_p1_alphal, forward_p1_alphah, 100, 0.0, resyh, "");
877  sprintf(chisto, "meResXvsBetaZpPanel1");
879  ibooker.bookProfile(chisto, chisto, 20, forward_pos_betal, forward_pos_betah, 100, 0.0, resxh, "");
880  sprintf(chisto, "meResYvsBetaZpPanel1");
882  ibooker.bookProfile(chisto, chisto, 20, forward_pos_betal, forward_pos_betah, 100, 0.0, resyh, "");
883 
884  sprintf(chisto, "mePullXvsAlphaZpPanel1");
886  ibooker.bookProfile(chisto, chisto, 20, pull_forward_p1_alphal, pull_forward_p1_alphah, 100, pullxl, pullxh, "");
887  sprintf(chisto, "mePullYvsAlphaZpPanel1");
889  ibooker.bookProfile(chisto, chisto, 20, pull_forward_p1_alphal, pull_forward_p1_alphah, 100, pullyl, pullyh, "");
890  sprintf(chisto, "mePullXvsBetaZpPanel1");
892  ibooker.bookProfile(chisto, chisto, 20, pull_forward_pos_betal, pull_forward_pos_betah, 100, pullxl, pullxh, "");
893  sprintf(chisto, "mePullYvsBetaZpPanel1");
895  ibooker.bookProfile(chisto, chisto, 20, pull_forward_pos_betal, pull_forward_pos_betah, 100, pullyl, pullyh, "");
896  sprintf(chisto, "mePullXvsPhiZpPanel1");
898  ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullxl, pullxh, "");
899  sprintf(chisto, "mePullYvsPhiZpPanel1");
901  ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullyl, pullyh, "");
902  sprintf(chisto, "mePullXvsEtaZpPanel1");
904  ibooker.bookProfile(chisto, chisto, 20, pull_forward_pos_etal, pull_forward_pos_etah, 100, pullxl, pullxh, "");
905  sprintf(chisto, "mePullYvsEtaZpPanel1");
907  ibooker.bookProfile(chisto, chisto, 20, pull_forward_pos_etal, pull_forward_pos_etah, 100, pullyl, pullyh, "");
908 
909  sprintf(chisto, "meWPullXvsAlphaZpPanel1");
911  ibooker.bookProfile(chisto, chisto, 20, pull_forward_p1_alphal, pull_forward_p1_alphah, 100, pullxl, pullxh, "");
912  sprintf(chisto, "meWPullYvsAlphaZpPanel1");
914  ibooker.bookProfile(chisto, chisto, 20, pull_forward_p1_alphal, pull_forward_p1_alphah, 100, pullyl, pullyh, "");
915  sprintf(chisto, "meWPullXvsBetaZpPanel1");
917  ibooker.bookProfile(chisto, chisto, 20, pull_forward_pos_betal, pull_forward_pos_betah, 100, pullxl, pullxh, "");
918  sprintf(chisto, "meWPullYvsBetaZpPanel1");
920  ibooker.bookProfile(chisto, chisto, 20, pull_forward_pos_betal, pull_forward_pos_betah, 100, pullyl, pullyh, "");
921 
922  sprintf(chisto, "mePosxZmPanel2");
923  mePosxZmPanel2 = ibooker.book1D(chisto, chisto, 100, xl, xh);
924  sprintf(chisto, "mePosyZmPanel2");
925  mePosyZmPanel2 = ibooker.book1D(chisto, chisto, 100, yl, yh);
926  sprintf(chisto, "meErrxZmPanel2");
927  meErrxZmPanel2 = ibooker.book1D(chisto, chisto, 100, errxl, errxh);
928  sprintf(chisto, "meErryZmPanel2");
929  meErryZmPanel2 = ibooker.book1D(chisto, chisto, 100, erryl, erryh);
930  sprintf(chisto, "meResxZmPanel2");
931  meResxZmPanel2 = ibooker.book1D(chisto, chisto, 100, resxl, resxh);
932  sprintf(chisto, "meResyZmPanel2");
933  meResyZmPanel2 = ibooker.book1D(chisto, chisto, 100, resyl, resyh);
934  sprintf(chisto, "mePullxZmPanel2");
935  mePullxZmPanel2 = ibooker.book1D(chisto, chisto, 100, pullxl, pullxh);
936  sprintf(chisto, "mePullyZmPanel2");
937  mePullyZmPanel2 = ibooker.book1D(chisto, chisto, 100, pullyl, pullyh);
938  sprintf(chisto, "meNpixZmPanel2");
939  meNpixZmPanel2 = ibooker.book1D(chisto, chisto, 100, npixl, npixh);
940  sprintf(chisto, "meNxpixZmPanel2");
941  meNxpixZmPanel2 = ibooker.book1D(chisto, chisto, 100, nxpixl, nxpixh);
942  sprintf(chisto, "meNypixZmPanel2");
943  meNypixZmPanel2 = ibooker.book1D(chisto, chisto, 100, nypixl, nypixh);
944  sprintf(chisto, "meChargeZmPanel2");
945  meChargeZmPanel2 = ibooker.book1D(chisto, chisto, 100, forward_chargel, forward_chargeh);
946  sprintf(chisto, "meResXvsAlphaZmPanel2");
948  ibooker.bookProfile(chisto, chisto, 20, forward_p2_alphal, forward_p2_alphah, 100, 0.0, resxh, "");
949  sprintf(chisto, "meResYvsAlphaZmPanel2");
951  ibooker.bookProfile(chisto, chisto, 20, forward_p2_alphal, forward_p2_alphah, 100, 0.0, resyh, "");
952  sprintf(chisto, "meResXvsBetaZmPanel2");
954  ibooker.bookProfile(chisto, chisto, 20, forward_neg_betal, forward_neg_betah, 100, 0.0, resxh, "");
955  sprintf(chisto, "meResYvsBetaZmPanel2");
957  ibooker.bookProfile(chisto, chisto, 20, forward_neg_betal, forward_neg_betah, 100, 0.0, resyh, "");
958 
959  sprintf(chisto, "mePullXvsAlphaZmPanel2");
961  ibooker.bookProfile(chisto, chisto, 20, pull_forward_p2_alphal, pull_forward_p2_alphah, 100, pullxl, pullxh, "");
962  sprintf(chisto, "mePullYvsAlphaZmPanel2");
964  ibooker.bookProfile(chisto, chisto, 20, pull_forward_p2_alphal, pull_forward_p2_alphah, 100, pullyl, pullyh, "");
965  sprintf(chisto, "mePullXvsBetaZmPanel2");
967  ibooker.bookProfile(chisto, chisto, 20, pull_forward_neg_betal, pull_forward_neg_betah, 100, pullxl, pullxh, "");
968  sprintf(chisto, "mePullYvsBetaZmPanel2");
970  ibooker.bookProfile(chisto, chisto, 20, pull_forward_neg_betal, pull_forward_neg_betah, 100, pullyl, pullyh, "");
971  sprintf(chisto, "mePullXvsPhiZmPanel2");
973  ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullxl, pullxh, "");
974  sprintf(chisto, "mePullYvsPhiZmPanel2");
976  ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullyl, pullyh, "");
977  sprintf(chisto, "mePullXvsEtaZmPanel2");
979  ibooker.bookProfile(chisto, chisto, 20, pull_forward_neg_etal, pull_forward_neg_etah, 100, pullxl, pullxh, "");
980  sprintf(chisto, "mePullYvsEtaZmPanel2");
982  ibooker.bookProfile(chisto, chisto, 20, pull_forward_neg_etal, pull_forward_neg_etah, 100, pullyl, pullyh, "");
983 
984  sprintf(chisto, "meWPullXvsAlphaZmPanel2");
986  ibooker.bookProfile(chisto, chisto, 20, pull_forward_p2_alphal, pull_forward_p2_alphah, 100, pullxl, pullxh, "");
987  sprintf(chisto, "meWPullYvsAlphaZmPanel2");
989  ibooker.bookProfile(chisto, chisto, 20, pull_forward_p2_alphal, pull_forward_p2_alphah, 100, pullyl, pullyh, "");
990  sprintf(chisto, "meWPullXvsBetaZmPanel2");
992  ibooker.bookProfile(chisto, chisto, 20, pull_forward_neg_betal, pull_forward_neg_betah, 100, pullxl, pullxh, "");
993  sprintf(chisto, "meWPullYvsBetaZmPanel2");
995  ibooker.bookProfile(chisto, chisto, 20, pull_forward_neg_betal, pull_forward_neg_betah, 100, pullyl, pullyh, "");
996 
997  sprintf(chisto, "mePosxZpPanel2");
998  mePosxZpPanel2 = ibooker.book1D(chisto, chisto, 100, xl, xh);
999  sprintf(chisto, "mePosyZpPanel2");
1000  mePosyZpPanel2 = ibooker.book1D(chisto, chisto, 100, yl, yh);
1001  sprintf(chisto, "meErrxZpPanel2");
1002  meErrxZpPanel2 = ibooker.book1D(chisto, chisto, 100, errxl, errxh);
1003  sprintf(chisto, "meErryZpPanel2");
1004  meErryZpPanel2 = ibooker.book1D(chisto, chisto, 100, erryl, erryh);
1005  sprintf(chisto, "meResxZpPanel2");
1006  meResxZpPanel2 = ibooker.book1D(chisto, chisto, 100, resxl, resxh);
1007  sprintf(chisto, "meResyZpPanel2");
1008  meResyZpPanel2 = ibooker.book1D(chisto, chisto, 100, resyl, resyh);
1009  sprintf(chisto, "mePullxZpPanel2");
1010  mePullxZpPanel2 = ibooker.book1D(chisto, chisto, 100, pullxl, pullxh);
1011  sprintf(chisto, "mePullyZpPanel2");
1012  mePullyZpPanel2 = ibooker.book1D(chisto, chisto, 100, pullyl, pullyh);
1013  sprintf(chisto, "meNpixZpPanel2");
1014  meNpixZpPanel2 = ibooker.book1D(chisto, chisto, 100, npixl, npixh);
1015  sprintf(chisto, "meNxpixZpPanel2");
1016  meNxpixZpPanel2 = ibooker.book1D(chisto, chisto, 100, nxpixl, nxpixh);
1017  sprintf(chisto, "meNypixZpPanel2");
1018  meNypixZpPanel2 = ibooker.book1D(chisto, chisto, 100, nypixl, nypixh);
1019  sprintf(chisto, "meChargeZpPanel2");
1020  meChargeZpPanel2 = ibooker.book1D(chisto, chisto, 100, forward_chargel, forward_chargeh);
1021  sprintf(chisto, "meResXvsAlphaZpPanel2");
1023  ibooker.bookProfile(chisto, chisto, 20, forward_p2_alphal, forward_p2_alphah, 100, 0.0, resxh, "");
1024  sprintf(chisto, "meResYvsAlphaZpPanel2");
1026  ibooker.bookProfile(chisto, chisto, 20, forward_p2_alphal, forward_p2_alphah, 100, 0.0, resyh, "");
1027  sprintf(chisto, "meResXvsBetaZpPanel2");
1029  ibooker.bookProfile(chisto, chisto, 20, forward_pos_betal, forward_pos_betah, 100, 0.0, resxh, "");
1030  sprintf(chisto, "meResYvsBetaZpPanel2");
1032  ibooker.bookProfile(chisto, chisto, 20, forward_pos_betal, forward_pos_betah, 100, 0.0, resyh, "");
1033 
1034  sprintf(chisto, "mePullXvsAlphaZpPanel2");
1036  ibooker.bookProfile(chisto, chisto, 20, pull_forward_p2_alphal, pull_forward_p2_alphah, 100, pullxl, pullxh, "");
1037  sprintf(chisto, "mePullYvsAlphaZpPanel2");
1039  ibooker.bookProfile(chisto, chisto, 20, pull_forward_p2_alphal, pull_forward_p2_alphah, 100, pullyl, pullyh, "");
1040  sprintf(chisto, "mePullXvsBetaZpPanel2");
1042  ibooker.bookProfile(chisto, chisto, 20, pull_forward_pos_betal, pull_forward_pos_betah, 100, pullxl, pullxh, "");
1043  sprintf(chisto, "mePullYvsBetaZpPanel2");
1045  ibooker.bookProfile(chisto, chisto, 20, pull_forward_pos_betal, pull_forward_pos_betah, 100, pullyl, pullyh, "");
1046  sprintf(chisto, "mePullXvsPhiZpPanel2");
1048  ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullxl, pullxh, "");
1049  sprintf(chisto, "mePullYvsPhiZpPanel2");
1051  ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullyl, pullyh, "");
1052  sprintf(chisto, "mePullXvsEtaZpPanel2");
1054  ibooker.bookProfile(chisto, chisto, 20, pull_forward_pos_etal, pull_forward_pos_etah, 100, pullxl, pullxh, "");
1055  sprintf(chisto, "mePullYvsEtaZpPanel2");
1057  ibooker.bookProfile(chisto, chisto, 20, pull_forward_pos_etal, pull_forward_pos_etah, 100, pullyl, pullyh, "");
1058 
1059  sprintf(chisto, "meWPullXvsAlphaZpPanel2");
1061  ibooker.bookProfile(chisto, chisto, 20, pull_forward_p2_alphal, pull_forward_p2_alphah, 100, pullxl, pullxh, "");
1062  sprintf(chisto, "meWPullYvsAlphaZpPanel2");
1064  ibooker.bookProfile(chisto, chisto, 20, pull_forward_p2_alphal, pull_forward_p2_alphah, 100, pullyl, pullyh, "");
1065  sprintf(chisto, "meWPullXvsBetaZpPanel2");
1067  ibooker.bookProfile(chisto, chisto, 20, pull_forward_pos_betal, pull_forward_pos_betah, 100, pullxl, pullxh, "");
1068  sprintf(chisto, "meWPullYvsBetaZpPanel2");
1070  ibooker.bookProfile(chisto, chisto, 20, pull_forward_pos_betal, pull_forward_pos_betah, 100, pullyl, pullyh, "");
1071 
1072  // all hits (not only from tracks)
1073  sprintf(chisto, "mePosxBarrel_all_hits");
1074  mePosxBarrel_all_hits = ibooker.book1D(chisto, chisto, 100, xl, xh);
1075  sprintf(chisto, "mePosyBarrel_all_hits");
1076  mePosyBarrel_all_hits = ibooker.book1D(chisto, chisto, 100, yl, yh);
1077 
1078  sprintf(chisto, "mePosxZmPanel1_all_hits");
1079  mePosxZmPanel1_all_hits = ibooker.book1D(chisto, chisto, 100, xl, xh);
1080  sprintf(chisto, "mePosyZmPanel1_all_hits");
1081  mePosyZmPanel1_all_hits = ibooker.book1D(chisto, chisto, 100, yl, yh);
1082  sprintf(chisto, "mePosxZmPanel2_all_hits");
1083  mePosxZmPanel2_all_hits = ibooker.book1D(chisto, chisto, 100, xl, xh);
1084  sprintf(chisto, "mePosyZmPanel2_all_hits");
1085  mePosyZmPanel2_all_hits = ibooker.book1D(chisto, chisto, 100, yl, yh);
1086 
1087  sprintf(chisto, "mePosxZpPanel1_all_hits");
1088  mePosxZpPanel1_all_hits = ibooker.book1D(chisto, chisto, 100, xl, xh);
1089  sprintf(chisto, "mePosyZpPanel1_all_hits");
1090  mePosyZpPanel1_all_hits = ibooker.book1D(chisto, chisto, 100, yl, yh);
1091  sprintf(chisto, "mePosxZpPanel2_all_hits");
1092  mePosxZpPanel2_all_hits = ibooker.book1D(chisto, chisto, 100, xl, xh);
1093  sprintf(chisto, "mePosyZpPanel2_all_hits");
1094  mePosyZpPanel2_all_hits = ibooker.book1D(chisto, chisto, 100, yl, yh);
1095 
1096  // control histograms
1097  meTracksPerEvent = ibooker.book1D("meTracksPerEvent", "meTracksPerEvent", 200, 0.0, 200.0);
1098  mePixRecHitsPerTrack = ibooker.book1D("mePixRecHitsPerTrack", "mePixRecHitsPerTrack", 6, 0.0, 6.0);
1099 }
1100 
1101 // Virtual destructor needed.
1103  //save local root file only in standalone mode
1104  if (runStandalone && !outputFile_.empty() && dbe_)
1105  dbe_->save(outputFile_);
1106 }
1107 
1108 // Functions that gets called by framework every event
1110  //Retrieve tracker topology from geometry
1111  const auto& tTopo = &es.getData(tTopoEsToken_);
1112 
1113  run = e.id().run();
1114  evt = e.id().event();
1115 
1116  // if ( evt%1000 == 0 )
1117  //cout << "evt = " << evt << endl;
1118 
1119  float math_pi = 3.14159265;
1120  float radtodeg = 180.0 / math_pi;
1121 
1122  DetId detId;
1123 
1125  LocalError error;
1126  float mindist = 999999.9;
1127 
1128  std::vector<PSimHit> matched;
1130 
1131  const TrackerGeometry* tracker = &es.getData(tGeomEsToken_);
1132 
1133  if (!MTCCtrack_) {
1134  // --------------------------------------- all hits -----------------------------------------------------------
1135  //--- Fetch Pixel RecHits
1138 
1139  //cout <<" ----- Found "
1140  // << const_cast<SiPixelRecHitCollection*>(recHitColl.product())->size()
1141  // << " Pixel RecHits" << std::endl;
1142 
1143  //-----Iterate over detunits
1144  for (const auto& it : tracker->dets()) {
1145  DetId detId = it->geographicalId();
1146 
1147  unsigned int subid = detId.subdetId();
1148  if (!((subid == 1) || (subid == 2)))
1149  continue; // end subid if
1150 
1151  SiPixelRecHitCollection::const_iterator match = recHitColl->find(detId);
1152  if (match == recHitColl->end())
1153  continue;
1154 
1155  SiPixelRecHitCollection::DetSet pixelrechitRange = *match;
1156  SiPixelRecHitCollection::DetSet::const_iterator pixelrechitRangeIteratorBegin = pixelrechitRange.begin();
1157  SiPixelRecHitCollection::DetSet::const_iterator pixelrechitRangeIteratorEnd = pixelrechitRange.end();
1158  SiPixelRecHitCollection::DetSet::const_iterator pixeliter = pixelrechitRangeIteratorBegin;
1159  std::vector<PSimHit> matched;
1160 
1161  //----Loop over rechits for this detId
1162  for (; pixeliter != pixelrechitRangeIteratorEnd; ++pixeliter) {
1163  LocalPoint lp = pixeliter->localPosition();
1164  float rechitx = lp.x();
1165  float rechity = lp.y();
1166 
1167  detId = it->geographicalId();
1168  subdetId = (int)detId.subdetId();
1169  if ((int)detId.subdetId() == (int)PixelSubdetector::PixelBarrel) {
1170  mePosxBarrel_all_hits->Fill(rechitx);
1171  mePosyBarrel_all_hits->Fill(rechity);
1172  } else if ((int)detId.subdetId() == (int)PixelSubdetector::PixelEndcap) {
1173  side = tTopo->pxfSide(detId);
1174  disk = tTopo->pxfDisk(detId);
1175  blade = tTopo->pxfBlade(detId);
1176  panel = tTopo->pxfPanel(detId);
1177  plaq = tTopo->pxfModule(detId); // also known as plaquette
1178 
1179  if (side == 1) {
1180  if (panel == 1) {
1181  mePosxZmPanel1_all_hits->Fill(rechitx);
1182  mePosyZmPanel1_all_hits->Fill(rechity);
1183  } else if (panel == 2) {
1184  mePosxZmPanel2_all_hits->Fill(rechitx);
1185  mePosyZmPanel2_all_hits->Fill(rechity);
1186  } else
1187  edm::LogWarning("SiPixelTrackingRecHitsValid")
1188  << "..............................................Wrong panel number !";
1189  } // if ( side==1 )
1190  else if (side == 2) {
1191  if (panel == 1) {
1192  mePosxZpPanel1_all_hits->Fill(rechitx);
1193  mePosyZpPanel1_all_hits->Fill(rechity);
1194  } else if (panel == 2) {
1195  mePosxZpPanel2_all_hits->Fill(rechitx);
1196  mePosyZpPanel2_all_hits->Fill(rechity);
1197  } else
1198  edm::LogWarning("SiPixelTrackingRecHitsValid")
1199  << "..............................................Wrong panel number !";
1200  } //else if ( side==2 )
1201  else
1202  edm::LogWarning("SiPixelTrackingRecHitsValid")
1203  << ".......................................................Wrong side !";
1204 
1205  } // else if ( detId.subdetId()==PixelSubdetector::PixelEndcap )
1206  else
1207  edm::LogWarning("SiPixelTrackingRecHitsValid")
1208  << "Pixel rechit collection but we are not in the pixel detector" << (int)detId.subdetId();
1209  }
1210  }
1211  // ------------------------------------------------ all hits ---------------------------------------------------------------
1212 
1213  // Get tracks
1215  e.getByToken(recoTrackCollectionToken_, trackCollection);
1216  const reco::TrackCollection* tracks = trackCollection.product();
1217  reco::TrackCollection::const_iterator tciter;
1218 
1219  int n_tracks = (int)tracks->size(); // number of tracks in this event
1220  meTracksPerEvent->Fill(n_tracks);
1221 
1222  if (!tracks->empty()) {
1223  // Loop on tracks
1224  for (tciter = tracks->begin(); tciter != tracks->end(); tciter++) {
1225  phi = tciter->momentum().phi() / math_pi * 180.0;
1226  eta = tciter->momentum().eta();
1227 
1228  int n_hits = 0;
1229  // First loop on hits: find matched hits
1230  for (trackingRecHit_iterator it = tciter->recHitsBegin(); it != tciter->recHitsEnd(); it++) {
1231  const TrackingRecHit& thit = **it;
1232  // Is it a matched hit?
1233  const SiPixelRecHit* matchedhit = dynamic_cast<const SiPixelRecHit*>(&thit);
1234 
1235  if (matchedhit) {
1236  ++n_hits;
1237 
1238  layer = -9999;
1239  ladder = -9999;
1240  mod = -9999;
1241  side = -9999;
1242  disk = -9999;
1243  blade = -9999;
1244  panel = -9999;
1245  plaq = -9999;
1246 
1247  rechitx = -9999.9;
1248  rechity = -9999.9;
1249  rechitz = -9999.9;
1250  rechiterrx = -9999.9;
1251  rechiterry = -9999.9;
1252  rechitresx = -9999.9;
1253  rechitresy = -9999.9;
1254  rechitpullx = -9999.9;
1255  rechitpully = -9999.9;
1256 
1257  npix = -9999;
1258  nxpix = -9999;
1259  nypix = -9999;
1260  charge = -9999.9;
1261 
1262  alpha = -9999.9;
1263  beta = -9999.9;
1264 
1265  half = -9999;
1266  flipped = -9999;
1267 
1268  nsimhit = -9999;
1269 
1270  simhitx = -9999.9;
1271  simhity = -9999.9;
1272 
1273  position = (*it)->localPosition();
1274  error = (*it)->localPositionError();
1275 
1276  rechitx = position.x();
1277  rechity = position.y();
1278  rechitz = position.z();
1279  rechiterrx = sqrt(error.xx());
1280  rechiterry = sqrt(error.yy());
1281 
1282  npix = (*matchedhit).cluster()->size();
1283  nxpix = (*matchedhit).cluster()->sizeX();
1284  nypix = (*matchedhit).cluster()->sizeY();
1285  charge = (*matchedhit).cluster()->charge();
1286 
1287  //Association of the rechit to the simhit
1288  matched.clear();
1289  matched = associate.associateHit(*matchedhit);
1290 
1291  nsimhit = (int)matched.size();
1292 
1293  if (!matched.empty()) {
1294  mindist = 999999.9;
1295  float distx, disty, dist;
1296  bool found_hit_from_generated_particle = false;
1297 
1298  int n_assoc_muon = 0;
1299 
1300  std::vector<PSimHit>::const_iterator closestit = matched.begin();
1301  for (std::vector<PSimHit>::const_iterator m = matched.begin(); m < matched.end(); m++) {
1302  if (checkType_) {
1303  int pid = (*m).particleType();
1304  if (abs(pid) != genType_)
1305  continue;
1306  }
1307 
1308  float simhitx = 0.5 * ((*m).entryPoint().x() + (*m).exitPoint().x());
1309  float simhity = 0.5 * ((*m).entryPoint().y() + (*m).exitPoint().y());
1310 
1311  distx = fabs(rechitx - simhitx);
1312  disty = fabs(rechity - simhity);
1313  dist = sqrt(distx * distx + disty * disty);
1314 
1315  if (dist < mindist) {
1316  n_assoc_muon++;
1317 
1318  mindist = dist;
1319  closestit = m;
1320  found_hit_from_generated_particle = true;
1321  }
1322  } // for (std::vector<PSimHit>::const_iterator m=matched.begin(); m<matched.end(); m++)
1323 
1324  // This recHit does not have any simHit with the same particleType as the particles generated
1325  // Ignore it as most probably come from delta rays.
1326  if (checkType_ && !found_hit_from_generated_particle)
1327  continue;
1328 
1329  if (n_assoc_muon > 1) {
1330  edm::LogWarning("SiPixelTrackingRecHitsValid")
1331  << " ----- This is not good: n_assoc_muon = " << n_assoc_muon;
1332  edm::LogWarning("SiPixelTrackingRecHitsValid") << "evt = " << evt;
1333  }
1334 
1335  pidhit = (*closestit).particleType();
1336 
1337  simhitx = 0.5 * ((*closestit).entryPoint().x() + (*closestit).exitPoint().x());
1338  simhity = 0.5 * ((*closestit).entryPoint().y() + (*closestit).exitPoint().y());
1339 
1342  rechitpullx = (rechitx - simhitx) / sqrt(error.xx());
1343  rechitpully = (rechity - simhity) / sqrt(error.yy());
1344 
1345  float simhitpx = (*closestit).momentumAtEntry().x();
1346  float simhitpy = (*closestit).momentumAtEntry().y();
1347  float simhitpz = (*closestit).momentumAtEntry().z();
1348 
1349  //beta = atan2(simhitpz, simhitpy) * radtodeg;
1350  //alpha = atan2(simhitpz, simhitpx) * radtodeg;
1351 
1352  beta = fabs(atan2(simhitpz, simhitpy)) * radtodeg;
1353  alpha = fabs(atan2(simhitpz, simhitpx)) * radtodeg;
1354 
1355  detId = (*it)->geographicalId();
1356 
1357  subdetId = (int)detId.subdetId();
1358 
1359  if ((int)detId.subdetId() == (int)PixelSubdetector::PixelBarrel) {
1363  meErryBarrel->Fill(rechiterry);
1368  meNpixBarrel->Fill(npix);
1384 
1385  const PixelGeomDetUnit* theGeomDet = dynamic_cast<const PixelGeomDetUnit*>(tracker->idToDet(detId));
1386  //const PixelTopology * topol = (&(theGeomDet->specificTopology()));
1387 
1388  int tmp_nrows = theGeomDet->specificTopology().nrows();
1389 
1390  if (tmp_nrows == 80) {
1393  half = 1;
1394  } else if (tmp_nrows == 160) {
1397  half = 0;
1398  } else
1399  edm::LogWarning("SiPixelTrackingRecHitsValid")
1400  << "-------------------------------------------------- Wrong module size !!!";
1401 
1402  float tmp1 = theGeomDet->surface().toGlobal(Local3DPoint(0., 0., 0.)).perp();
1403  float tmp2 = theGeomDet->surface().toGlobal(Local3DPoint(0., 0., 1.)).perp();
1404 
1405  if (tmp2 < tmp1) { // flipped
1408  flipped = 1;
1409 
1422 
1427  } else { // not flipped
1430  flipped = 0;
1431 
1444 
1449  }
1450 
1451  layer = tTopo->pxbLayer(detId); // Layer: 1,2,3.
1452  ladder = tTopo->pxbLadder(detId); // Ladder: 1-20, 32, 44.
1453  mod = tTopo->pxbModule(detId); // Mod: 1-8.
1454 
1458  meErryBarrelLayerModule[layer - 1][mod - 1]->Fill(rechiterry);
1463  meNpixBarrelLayerModule[layer - 1][mod - 1]->Fill(npix);
1479 
1484 
1485  if (tmp2 < tmp1) { // flipped
1490  } else { // not flipped
1495  }
1496 
1497  } else if ((int)detId.subdetId() == (int)PixelSubdetector::PixelEndcap) {
1498  side = tTopo->pxfSide(detId);
1499  disk = tTopo->pxfDisk(detId);
1500  blade = tTopo->pxfBlade(detId);
1501  panel = tTopo->pxfPanel(detId);
1502  plaq = tTopo->pxfModule(detId); // also known as plaquette
1503 
1504  if (side == 1) {
1505  if (panel == 1) {
1509  meErryZmPanel1->Fill(rechiterry);
1514  meNpixZmPanel1->Fill(npix);
1530 
1535 
1539  meErryZmPanel1DiskPlaq[disk - 1][plaq - 1]->Fill(rechiterry);
1544  meNpixZmPanel1DiskPlaq[disk - 1][plaq - 1]->Fill(npix);
1560 
1561  } else if (panel == 2) {
1565  meErryZmPanel2->Fill(rechiterry);
1570  meNpixZmPanel2->Fill(npix);
1586 
1591 
1595  meErryZmPanel2DiskPlaq[disk - 1][plaq - 1]->Fill(rechiterry);
1600  meNpixZmPanel2DiskPlaq[disk - 1][plaq - 1]->Fill(npix);
1616 
1617  } else
1618  edm::LogWarning("SiPixelTrackingRecHitsValid")
1619  << "..............................................Wrong panel number !";
1620  } // if ( side==1 )
1621  else if (side == 2) {
1622  if (panel == 1) {
1626  meErryZpPanel1->Fill(rechiterry);
1631  meNpixZpPanel1->Fill(npix);
1647 
1652 
1656  meErryZpPanel1DiskPlaq[disk - 1][plaq - 1]->Fill(rechiterry);
1661  meNpixZpPanel1DiskPlaq[disk - 1][plaq - 1]->Fill(npix);
1677 
1678  } else if (panel == 2) {
1682  meErryZpPanel2->Fill(rechiterry);
1687  meNpixZpPanel2->Fill(npix);
1703 
1708 
1712  meErryZpPanel2DiskPlaq[disk - 1][plaq - 1]->Fill(rechiterry);
1717  meNpixZpPanel2DiskPlaq[disk - 1][plaq - 1]->Fill(npix);
1733 
1734  } else
1735  edm::LogWarning("SiPixelTrackingRecHitsValid")
1736  << "..............................................Wrong panel number !";
1737  } //else if ( side==2 )
1738  else
1739  edm::LogWarning("SiPixelTrackingRecHitsValid")
1740  << ".......................................................Wrong side !";
1741 
1742  } // else if ( detId.subdetId()==PixelSubdetector::PixelEndcap )
1743  else
1744  edm::LogWarning("SiPixelTrackingRecHitsValid")
1745  << "Pixel rechit but we are not in the pixel detector" << (int)detId.subdetId();
1746 
1747  if (!debugNtuple_.empty())
1748  t_->Fill();
1749 
1750  } // if ( !matched.empty() )
1751  //else
1752  //cout << "---------------- RecHit with no associated SimHit !!! -------------------------- " << endl;
1753 
1754  } // matchedhit.
1755 
1756  } // end of loop on hits
1757 
1758  mePixRecHitsPerTrack->Fill(n_hits);
1759  //cout << "n_hits = " << n_hits << endl;
1760 
1761  } //end of loop on track
1762 
1763  } // tracks > 0.
1764 
1765  } //end of MTCCTrack
1766 }
RunNumber_t run() const
Definition: EventID.h:38
MonitorElement * meWPullXvsAlphaBarrelNonFlippedLadders
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
Definition: Surface.h:79
edm::EDGetTokenT< SiPixelRecHitCollection > siPixelRecHitCollectionToken_
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]
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > tTopoEsToken_
MonitorElement * mePullXvsBetaBarrelLayerModule[3][8]
MonitorElement * meResyZmPanel2DiskPlaq[2][3]
MonitorElement * mePullXvsAlphaZmPanel1DiskPlaq[2][4]
MonitorElement * meResYvsAlphaBarrelNonFlippedLaddersLayer[3]
MonitorElement * mePullYvsAlphaBarrelNonFlippedLadders
MonitorElement * mePullYvsAlphaZmPanel1DiskPlaq[2][4]
const edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > tGeomEsToken_
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]
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
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:539
MonitorElement * meResYvsBetaZmPanel1DiskPlaq[2][4]
MonitorElement * mePullYvsEtaZmPanel2DiskPlaq[2][3]
MonitorElement * meErrxZmPanel1DiskPlaq[2][4]
MonitorElement * meResXvsBetaBarrelNonFlippedLaddersLayer[3]
MonitorElement * meErrxZpPanel2DiskPlaq[2][3]
MonitorElement * meResYvsBetaBarrelFlippedLaddersLayer[3]
MonitorElement * mePullxBarrelLayerModule[3][8]
MonitorElement * mePosyZpPanel1DiskPlaq[2][4]
MonitorElement * meNxpixZpPanel1DiskPlaq[2][4]
MonitorElement * mePullYvsBetaZpPanel1DiskPlaq[2][4]
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]
virtual int nrows() const =0
MonitorElement * mePosxZmPanel2DiskPlaq[2][3]
MonitorElement * meChargeZpPanel2DiskPlaq[2][3]
MonitorElement * mePullXvsEtaZpPanel2DiskPlaq[2][3]
auto const & tracks
cannot be loose
const DetContainer & dets() const override
Returm a vector of all GeomDet (including all GeomDetUnits)
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)
bool getData(T &iHolder) const
Definition: EventSetup.h:128
MonitorElement * mePullXvsEtaZpPanel1DiskPlaq[2][4]
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 * bookProfile(TString const &name, TString const &title, int nchX, double lowX, double highX, int, double lowY, double highY, char const *option="s", FUNC onbooking=NOOP())
Definition: DQMStore.h:322
MonitorElement * meNpixBarrelLayerModule[3][8]
MonitorElement * meResxZpPanel2DiskPlaq[2][3]
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 * 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]
const TrackerGeomDet * idToDet(DetId) const override
MonitorElement * meNypixZmPanel1DiskPlaq[2][4]
MonitorElement * mePullXvsEtaZmPanel1DiskPlaq[2][4]
MonitorElement * meErrxZpPanel1DiskPlaq[2][4]
MonitorElement * meErryZpPanel1DiskPlaq[2][4]
MonitorElement * meResXvsBetaZpPanel2DiskPlaq[2][3]
MonitorElement * meResXvsBetaZpPanel1DiskPlaq[2][4]
boost::transform_iterator< IterHelp, const_IdIter > const_iterator
MonitorElement * mePullYvsPhiZmPanel1DiskPlaq[2][4]
Definition: DetId.h:17
MonitorElement * meChargeZmPanel1DiskPlaq[2][4]
tuple trackCollection
MonitorElement * mePullYvsAlphaZpPanel2DiskPlaq[2][3]
MonitorElement * meNypixZmPanel2DiskPlaq[2][3]
MonitorElement * mePullYvsPhiZpPanel2DiskPlaq[2][3]
MonitorElement * mePullYvsBetaZmPanel1DiskPlaq[2][4]
T const * product() const
Definition: Handle.h:70
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)
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
MonitorElement * mePullYvsAlphaBarrelLayerModule[3][8]
MonitorElement * mePullYvsEtaZmPanel1DiskPlaq[2][4]
MonitorElement * meResXvsAlphaZmPanel1DiskPlaq[2][4]
MonitorElement * mePullYvsAlphaZpPanel1DiskPlaq[2][4]
MonitorElement * meChargeBarrelLayerModule[3][8]
MonitorElement * meResXvsAlphaZpPanel1DiskPlaq[2][4]
MonitorElement * mePullYvsBetaZpPanel2DiskPlaq[2][3]
edm::EventID id() const
Definition: EventBase.h:59
DQM_DEPRECATED void save(std::string const &filename, std::string const &path="")
Definition: DQMStore.cc:784
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
MonitorElement * meResyZpPanel2DiskPlaq[2][3]
MonitorElement * mePullXvsBetaZpPanel1DiskPlaq[2][4]
MonitorElement * meResYvsBetaZpPanel2DiskPlaq[2][3]
MonitorElement * mePullXvsEtaZmPanel2DiskPlaq[2][3]
MonitorElement * meResYvsAlphaBarrelLayerModule[3][8]
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]
Log< level::Warning, false > LogWarning
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98
MonitorElement * mePullxZpPanel1DiskPlaq[2][4]
T x() const
Definition: PV3DBase.h:59
MonitorElement * meResXvsAlphaZpPanel2DiskPlaq[2][3]
MonitorElement * meResXvsAlphaBarrelLayerModule[3][8]
MonitorElement * meResYvsBetaZmPanel2DiskPlaq[2][3]
ESGetTokenH3DDVariant esConsumes(std::string const &Reccord, edm::ConsumesCollector &)
Definition: DeDxTools.cc:283
MonitorElement * meNpixZmPanel2DiskPlaq[2][3]
MonitorElement * meResXvsAlphaBarrelFlippedLaddersLayer[3]
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]