CMS 3D CMS Logo

SiPixelRecHitModule.cc
Go to the documentation of this file.
6 // STL
7 #include <cstdlib>
8 #include <iostream>
9 #include <memory>
10 #include <string>
11 #include <vector>
12 
13 // Data Formats
21 
26 
31 
33 // Constructors
34 //
37 SiPixelRecHitModule::SiPixelRecHitModule(const uint32_t &id) : id_(id) {}
38 
39 //
40 // Destructor
41 //
43 //
44 // Book histograms
45 //
47  DQMStore::IBooker &iBooker,
48  const edm::EventSetup &iSetup,
49  int type,
50  bool twoD,
51  bool reducedSet,
52  bool isUpgrade) {
54  iSetup.get<TrackerTopologyRcd>().get(tTopoHandle);
55  const TrackerTopology *pTT = tTopoHandle.product();
56 
57  bool barrel = DetId(id_).subdetId() == static_cast<int>(PixelSubdetector::PixelBarrel);
58  bool endcap = DetId(id_).subdetId() == static_cast<int>(PixelSubdetector::PixelEndcap);
59  bool isHalfModule = false;
60 
61  if (barrel) {
62  // if (!isUpgrade) {
63  isHalfModule = PixelBarrelName(DetId(id_), pTT, isUpgrade).isHalfModule();
64  //} else if (isUpgrade) {
65  // isHalfModule = PixelBarrelNameUpgrade(DetId(id_)).isHalfModule();
66  //}
67  }
68 
69  std::string hid;
70  // Get collection name and instantiate Histo Id builder
71  edm::InputTag src = iConfig.getParameter<edm::InputTag>("src");
72  // Get DQM interface
73 
74  if (type == 0) {
75  SiPixelHistogramId *theHistogramId = new SiPixelHistogramId(src.label());
76  if (!reducedSet) {
77  if (twoD) {
78  // XYPosition
79  hid = theHistogramId->setHistoId("xypos", id_);
80  meXYPos_ = iBooker.book2D(hid, "XY Position", 100, -1., 1, 100, -4, 4);
81  meXYPos_->setAxisTitle("X Position", 1);
82  meXYPos_->setAxisTitle("Y Position", 2);
83  } else {
84  // projections of XYPosition
85  hid = theHistogramId->setHistoId("xypos", id_);
86  meXYPos_px_ = iBooker.book1D(hid + "_px", "X Position", 100, -1., 1);
87  meXYPos_px_->setAxisTitle("X Position", 1);
88  meXYPos_py_ = iBooker.book1D(hid + "_py", "Y Position", 100, -4, 4);
89  meXYPos_py_->setAxisTitle("Y Position", 1);
90  }
91  }
92  hid = theHistogramId->setHistoId("ClustX", id_);
93  meClustX_ = iBooker.book1D(hid, "RecHit X size", 10, 0., 10.);
94  meClustX_->setAxisTitle("RecHit size X dimension", 1);
95  hid = theHistogramId->setHistoId("ClustY", id_);
96  meClustY_ = iBooker.book1D(hid, "RecHit Y size", 15, 0., 15.);
97  meClustY_->setAxisTitle("RecHit size Y dimension", 1);
98 
99  hid = theHistogramId->setHistoId("ErrorX", id_);
100  meErrorX_ = iBooker.book1D(hid, "RecHit error X", 100, 0., 0.02);
101  meErrorX_->setAxisTitle("RecHit error X", 1);
102  hid = theHistogramId->setHistoId("ErrorY", id_);
103  meErrorY_ = iBooker.book1D(hid, "RecHit error Y", 100, 0., 0.02);
104  meErrorY_->setAxisTitle("RecHit error Y", 1);
105 
106  // Removed to save offline memory
107  // hid = theHistogramId->setHistoId("nRecHits",id_);
108  // menRecHits_ = iBooker.book1D(hid, "# of rechits in this module", 8, 0,
109  // 8); menRecHits_->setAxisTitle("number of rechits",1);
110  delete theHistogramId;
111  }
112 
113  if (type == 1 && barrel) {
114  uint32_t DBladder;
115  // if (!isUpgrade) { DBladder = PixelBarrelName(DetId(id_)).ladderName(); }
116  // else { DBladder = PixelBarrelNameUpgrade(DetId(id_)).ladderName(); }
117  DBladder = PixelBarrelName(DetId(id_), pTT, isUpgrade).ladderName();
118  char sladder[80];
119  sprintf(sladder, "Ladder_%02i", DBladder);
120  hid = src.label() + "_" + sladder;
121  if (isHalfModule)
122  hid += "H";
123  else
124  hid += "F";
125  if (!reducedSet) {
126  if (twoD) {
127  meXYPosLad_ = iBooker.book2D("xypos_" + hid, "XY Position", 100, -1., 1, 100, -4, 4);
128  meXYPosLad_->setAxisTitle("X Position", 1);
129  meXYPosLad_->setAxisTitle("Y Position", 2);
130  } else {
131  // projections of XYPosition
132  meXYPosLad_px_ = iBooker.book1D("xypos_" + hid + "_px", "X Position", 100, -1., 1);
133  meXYPosLad_px_->setAxisTitle("X Position", 1);
134  meXYPosLad_py_ = iBooker.book1D("xypos_" + hid + "_py", "Y Position", 100, -4, 4);
135  meXYPosLad_py_->setAxisTitle("Y Position", 1);
136  }
137  }
138  meClustXLad_ = iBooker.book1D("ClustX_" + hid, "RecHit X size", 10, 0., 10.);
139  meClustXLad_->setAxisTitle("RecHit size X dimension", 1);
140  meClustYLad_ = iBooker.book1D("ClustY_" + hid, "RecHit Y size", 15, 0., 15.);
141  meClustYLad_->setAxisTitle("RecHit size Y dimension", 1);
142  meErrorXLad_ = iBooker.book1D("ErrorX_" + hid, "RecHit error X", 100, 0., 0.02);
143  meErrorXLad_->setAxisTitle("RecHit error X", 1);
144  meErrorYLad_ = iBooker.book1D("ErrorY_" + hid, "RecHit error Y", 100, 0., 0.02);
145  meErrorYLad_->setAxisTitle("RecHit error Y", 1);
146  menRecHitsLad_ = iBooker.book1D("nRecHits_" + hid, "# of rechits in this module", 8, 0, 8);
147  menRecHitsLad_->setAxisTitle("number of rechits", 1);
148  }
149 
150  if (type == 2 && barrel) {
151  uint32_t DBlayer;
152  // if (!isUpgrade) { DBlayer = PixelBarrelName(DetId(id_)).layerName(); }
153  // else { DBlayer = PixelBarrelNameUpgrade(DetId(id_)).layerName(); }
154  DBlayer = PixelBarrelName(DetId(id_), pTT, isUpgrade).layerName();
155  char slayer[80];
156  sprintf(slayer, "Layer_%i", DBlayer);
157  hid = src.label() + "_" + slayer;
158 
159  if (!reducedSet) {
160  if (twoD) {
161  meXYPosLay_ = iBooker.book2D("xypos_" + hid, "XY Position", 100, -1., 1, 100, -4, 4);
162  meXYPosLay_->setAxisTitle("X Position", 1);
163  meXYPosLay_->setAxisTitle("Y Position", 2);
164  } else {
165  // projections of XYPosition
166  meXYPosLay_px_ = iBooker.book1D("xypos_" + hid + "_px", "X Position", 100, -1., 1);
167  meXYPosLay_px_->setAxisTitle("X Position", 1);
168  meXYPosLay_py_ = iBooker.book1D("xypos_" + hid + "_py", "Y Position", 100, -4, 4);
169  meXYPosLay_py_->setAxisTitle("Y Position", 1);
170  }
171  }
172 
173  meClustXLay_ = iBooker.book1D("ClustX_" + hid, "RecHit X size", 10, 0., 10.);
174  meClustXLay_->setAxisTitle("RecHit size X dimension", 1);
175  meClustYLay_ = iBooker.book1D("ClustY_" + hid, "RecHit Y size", 15, 0., 15.);
176  meClustYLay_->setAxisTitle("RecHit size Y dimension", 1);
177  meErrorXLay_ = iBooker.book1D("ErrorX_" + hid, "RecHit error X", 100, 0., 0.02);
178  meErrorXLay_->setAxisTitle("RecHit error X", 1);
179  meErrorYLay_ = iBooker.book1D("ErrorY_" + hid, "RecHit error Y", 100, 0., 0.02);
180  meErrorYLay_->setAxisTitle("RecHit error Y", 1);
181  menRecHitsLay_ = iBooker.book1D("nRecHits_" + hid, "# of rechits in this module", 8, 0, 8);
182  menRecHitsLay_->setAxisTitle("number of rechits", 1);
183  }
184 
185  if (type == 3 && barrel) {
186  uint32_t DBmodule;
187  // if (!isUpgrade) { DBmodule = PixelBarrelName(DetId(id_)).moduleName(); }
188  // else { DBmodule = PixelBarrelNameUpgrade(DetId(id_)).moduleName(); }
189  DBmodule = PixelBarrelName(DetId(id_), pTT, isUpgrade).moduleName();
190  char smodule[80];
191  sprintf(smodule, "Ring_%i", DBmodule);
192  hid = src.label() + "_" + smodule;
193 
194  if (!reducedSet) {
195  if (twoD) {
196  meXYPosPhi_ = iBooker.book2D("xypos_" + hid, "XY Position", 100, -1., 1, 100, -4, 4);
197  meXYPosPhi_->setAxisTitle("X Position", 1);
198  meXYPosPhi_->setAxisTitle("Y Position", 2);
199  } else {
200  // projections of XYPosition
201  meXYPosPhi_px_ = iBooker.book1D("xypos_" + hid + "_px", "X Position", 100, -1., 1);
202  meXYPosPhi_px_->setAxisTitle("X Position", 1);
203  meXYPosPhi_py_ = iBooker.book1D("xypos_" + hid + "_py", "Y Position", 100, -4, 4);
204  meXYPosPhi_py_->setAxisTitle("Y Position", 1);
205  }
206  }
207  meClustXPhi_ = iBooker.book1D("ClustX_" + hid, "RecHit X size", 10, 0., 10.);
208  meClustXPhi_->setAxisTitle("RecHit size X dimension", 1);
209  meClustYPhi_ = iBooker.book1D("ClustY_" + hid, "RecHit Y size", 15, 0., 15.);
210  meClustYPhi_->setAxisTitle("RecHit size Y dimension", 1);
211  meErrorXPhi_ = iBooker.book1D("ErrorX_" + hid, "RecHit error X", 100, 0., 0.02);
212  meErrorXPhi_->setAxisTitle("RecHit error X", 1);
213  meErrorYPhi_ = iBooker.book1D("ErrorY_" + hid, "RecHit error Y", 100, 0., 0.02);
214  meErrorYPhi_->setAxisTitle("RecHit error Y", 1);
215  menRecHitsPhi_ = iBooker.book1D("nRecHits_" + hid, "# of rechits in this module", 8, 0, 8);
216  menRecHitsPhi_->setAxisTitle("number of rechits", 1);
217  }
218 
219  if (type == 4 && endcap) {
220  uint32_t blade;
221  // if (!isUpgrade) { blade= PixelEndcapName(DetId(id_)).bladeName(); }
222  // else { blade= PixelEndcapNameUpgrade(DetId(id_)).bladeName(); }
223  blade = PixelEndcapName(DetId(id_), pTT, isUpgrade).bladeName();
224 
225  char sblade[80];
226  sprintf(sblade, "Blade_%02i", blade);
227  hid = src.label() + "_" + sblade;
228  // meXYPosBlade_ = iBooker.book2D("xypos_" + hid,"XY
229  // Position",100,-1.,1,100,-4,4); meXYPosBlade_->setAxisTitle("X
230  // Position",1); meXYPosBlade_->setAxisTitle("Y Position",2);
231 
232  meClustXBlade_ = iBooker.book1D("ClustX_" + hid, "RecHit X size", 10, 0., 10.);
233  meClustXBlade_->setAxisTitle("RecHit size X dimension", 1);
234  meClustYBlade_ = iBooker.book1D("ClustY_" + hid, "RecHit Y size", 15, 0., 15.);
235  meClustYBlade_->setAxisTitle("RecHit size Y dimension", 1);
236  meErrorXBlade_ = iBooker.book1D("ErrorX_" + hid, "RecHit error X", 100, 0., 0.02);
237  meErrorXBlade_->setAxisTitle("RecHit error X", 1);
238  meErrorYBlade_ = iBooker.book1D("ErrorY_" + hid, "RecHit error Y", 100, 0., 0.02);
239  meErrorYBlade_->setAxisTitle("RecHit error Y", 1);
240  menRecHitsBlade_ = iBooker.book1D("nRecHits_" + hid, "# of rechits in this module", 8, 0, 8);
241  menRecHitsBlade_->setAxisTitle("number of rechits", 1);
242  }
243  if (type == 5 && endcap) {
244  uint32_t disk;
245  // if (!isUpgrade) { disk = PixelEndcapName(DetId(id_)).diskName(); }
246  // else { disk = PixelEndcapNameUpgrade(DetId(id_)).diskName(); }
247  disk = PixelEndcapName(DetId(id_), pTT, isUpgrade).diskName();
248 
249  char sdisk[80];
250  sprintf(sdisk, "Disk_%i", disk);
251  hid = src.label() + "_" + sdisk;
252  // meXYPosDisk_ = iBooker.book2D("xypos_" + hid,"XY
253  // Position",100,-1.,1,100,-4,4); meXYPosDisk_->setAxisTitle("X
254  // Position",1); meXYPosDisk_->setAxisTitle("Y Position",2);
255 
256  meClustXDisk_ = iBooker.book1D("ClustX_" + hid, "RecHit X size", 10, 0., 10.);
257  meClustXDisk_->setAxisTitle("RecHit size X dimension", 1);
258  meClustYDisk_ = iBooker.book1D("ClustY_" + hid, "RecHit Y size", 15, 0., 15.);
259  meClustYDisk_->setAxisTitle("RecHit size Y dimension", 1);
260  meErrorXDisk_ = iBooker.book1D("ErrorX_" + hid, "RecHit error X", 100, 0., 0.02);
261  meErrorXDisk_->setAxisTitle("RecHit error X", 1);
262  meErrorYDisk_ = iBooker.book1D("ErrorY_" + hid, "RecHit error Y", 100, 0., 0.02);
263  meErrorYDisk_->setAxisTitle("RecHit error Y", 1);
264  menRecHitsDisk_ = iBooker.book1D("nRecHits_" + hid, "# of rechits in this module", 8, 0, 8);
265  menRecHitsDisk_->setAxisTitle("number of rechits", 1);
266  }
267 
268  if (type == 6 && endcap) {
269  uint32_t panel;
270  uint32_t module;
271  /*if (!isUpgrade) {
272  panel= PixelEndcapName(DetId(id_)).pannelName();
273  module= PixelEndcapName(DetId(id_)).plaquetteName();
274  } else {
275  panel= PixelEndcapNameUpgrade(DetId(id_)).pannelName();
276  module= PixelEndcapNameUpgrade(DetId(id_)).plaquetteName();
277  }*/
278  panel = PixelEndcapName(DetId(id_), pTT, isUpgrade).pannelName();
279  module = PixelEndcapName(DetId(id_), pTT, isUpgrade).plaquetteName();
280 
281  char slab[80];
282  sprintf(slab, "Panel_%i_Ring_%i", panel, module);
283  hid = src.label() + "_" + slab;
284 
285  if (!reducedSet) {
286  if (twoD) {
287  meXYPosRing_ = iBooker.book2D("xypos_" + hid, "XY Position", 100, -1., 1, 100, -4, 4);
288  meXYPosRing_->setAxisTitle("X Position", 1);
289  meXYPosRing_->setAxisTitle("Y Position", 2);
290  } else {
291  // projections of XYPosition
292  meXYPosRing_px_ = iBooker.book1D("xypos_" + hid + "_px", "X Position", 100, -1., 1);
293  meXYPosRing_px_->setAxisTitle("X Position", 1);
294  meXYPosRing_py_ = iBooker.book1D("xypos_" + hid + "_py", "Y Position", 100, -4, 4);
295  meXYPosRing_py_->setAxisTitle("Y Position", 1);
296  }
297  }
298  meClustXRing_ = iBooker.book1D("ClustX_" + hid, "RecHit X size", 10, 0., 10.);
299  meClustXRing_->setAxisTitle("RecHit size X dimension", 1);
300  meClustYRing_ = iBooker.book1D("ClustY_" + hid, "RecHit Y size", 15, 0., 15.);
301  meClustYRing_->setAxisTitle("RecHit size Y dimension", 1);
302  meErrorXRing_ = iBooker.book1D("ErrorX_" + hid, "RecHit error X", 100, 0., 0.02);
303  meErrorXRing_->setAxisTitle("RecHit error X", 1);
304  meErrorYRing_ = iBooker.book1D("ErrorY_" + hid, "RecHit error Y", 100, 0., 0.02);
305  meErrorYRing_->setAxisTitle("RecHit error Y", 1);
306  menRecHitsRing_ = iBooker.book1D("nRecHits_" + hid, "# of rechits in this module", 8, 0, 8);
307  menRecHitsRing_->setAxisTitle("number of rechits", 1);
308  }
309 }
310 //
311 // Fill histograms
312 //
313 void SiPixelRecHitModule::fill(const float &rechit_x,
314  const float &rechit_y,
315  const int &sizeX,
316  const int &sizeY,
317  const float &lerr_x,
318  const float &lerr_y,
319  bool modon,
320  bool ladon,
321  bool layon,
322  bool phion,
323  bool bladeon,
324  bool diskon,
325  bool ringon,
326  bool twoD,
327  bool reducedSet) {
328  bool barrel = DetId(id_).subdetId() == static_cast<int>(PixelSubdetector::PixelBarrel);
329  bool endcap = DetId(id_).subdetId() == static_cast<int>(PixelSubdetector::PixelEndcap);
330 
331  // std::cout << rechit_x << " " << rechit_y << " " << sizeX << " " << sizeY <<
332  // std::endl;
333  if (modon) {
334  meClustX_->Fill(sizeX);
335  meClustY_->Fill(sizeY);
336  meErrorX_->Fill(lerr_x);
337  meErrorY_->Fill(lerr_y);
338  if (!reducedSet) {
339  if (twoD)
340  meXYPos_->Fill(rechit_x, rechit_y);
341  else {
342  meXYPos_px_->Fill(rechit_x);
343  meXYPos_py_->Fill(rechit_y);
344  }
345  }
346  }
347  // std::cout<<"number of detector units="<<numberOfDetUnits<<std::endl;
348 
349  if (ladon && barrel) {
350  meClustXLad_->Fill(sizeX);
351  meClustYLad_->Fill(sizeY);
352  meErrorXLad_->Fill(lerr_x);
353  meErrorYLad_->Fill(lerr_y);
354  if (!reducedSet) {
355  if (twoD)
356  meXYPosLad_->Fill(rechit_x, rechit_y);
357  else {
358  meXYPosLad_px_->Fill(rechit_x);
359  meXYPosLad_py_->Fill(rechit_y);
360  }
361  }
362  }
363 
364  if (layon && barrel) {
365  meClustXLay_->Fill(sizeX);
366  meClustYLay_->Fill(sizeY);
367  meErrorXLay_->Fill(lerr_x);
368  meErrorYLay_->Fill(lerr_y);
369  if (!reducedSet) {
370  if (twoD)
371  meXYPosLay_->Fill(rechit_x, rechit_y);
372  else {
373  meXYPosLay_px_->Fill(rechit_x);
374  meXYPosLay_py_->Fill(rechit_y);
375  }
376  }
377  }
378 
379  if (phion && barrel) {
380  meClustXPhi_->Fill(sizeX);
381  meClustYPhi_->Fill(sizeY);
382  meErrorXPhi_->Fill(lerr_x);
383  meErrorYPhi_->Fill(lerr_y);
384  if (!reducedSet) {
385  if (twoD)
386  meXYPosPhi_->Fill(rechit_x, rechit_y);
387  else {
388  meXYPosPhi_px_->Fill(rechit_x);
389  meXYPosPhi_py_->Fill(rechit_y);
390  }
391  }
392  }
393 
394  if (bladeon && endcap) {
395  // meXYPosBlade_->Fill(rechit_x, rechit_y);
396  meClustXBlade_->Fill(sizeX);
397  meClustYBlade_->Fill(sizeY);
398  meErrorXBlade_->Fill(lerr_x);
399  meErrorYBlade_->Fill(lerr_y);
400  }
401 
402  if (diskon && endcap) {
403  // meXYPosDisk_->Fill(rechit_x, rechit_y);
404  meClustXDisk_->Fill(sizeX);
405  meClustYDisk_->Fill(sizeY);
406  meErrorXDisk_->Fill(lerr_x);
407  meErrorYDisk_->Fill(lerr_y);
408  }
409 
410  if (ringon && endcap) {
411  meClustXRing_->Fill(sizeX);
412  meClustYRing_->Fill(sizeY);
413  meErrorXRing_->Fill(lerr_x);
414  meErrorYRing_->Fill(lerr_y);
415  if (!reducedSet) {
416  if (twoD)
417  meXYPosRing_->Fill(rechit_x, rechit_y);
418  else {
419  meXYPosRing_px_->Fill(rechit_x);
420  meXYPosRing_py_->Fill(rechit_y);
421  }
422  }
423  }
424 }
425 
427  const int &nrec, bool modon, bool ladon, bool layon, bool phion, bool bladeon, bool diskon, bool ringon) {
428  bool barrel = DetId(id_).subdetId() == static_cast<int>(PixelSubdetector::PixelBarrel);
429  bool endcap = DetId(id_).subdetId() == static_cast<int>(PixelSubdetector::PixelEndcap);
430 
431  // if(modon) menRecHits_->Fill(nrec);
432  // barrel
433  if (ladon && barrel)
434  menRecHitsLad_->Fill(nrec);
435  if (layon && barrel)
436  menRecHitsLay_->Fill(nrec);
437  if (phion && barrel)
438  menRecHitsPhi_->Fill(nrec);
439  // endcap
440  if (bladeon && endcap)
441  menRecHitsBlade_->Fill(nrec);
442  if (diskon && endcap)
443  menRecHitsDisk_->Fill(nrec);
444  if (ringon && endcap)
445  menRecHitsRing_->Fill(nrec);
446 }
int plaquetteName() const
plaquetteId (in pannel)
MonitorElement * menRecHitsLay_
type
Definition: HCALResponse.h:21
T getParameter(std::string const &) const
MonitorElement * meXYPosPhi_px_
MonitorElement * meClustYRing_
MonitorElement * meClustXLay_
MonitorElement * meXYPosPhi_
void nfill(const int &nrec, bool modon=true, bool ladon=false, bool layon=false, bool phion=false, bool bladeon=false, bool diskon=false, bool ringon=false)
MonitorElement * meXYPosPhi_py_
MonitorElement * meErrorXDisk_
MonitorElement * meClustYPhi_
SiPixelRecHitModule()
Default constructor.
int moduleName() const
module id (index in z)
MonitorElement * meXYPosLay_py_
MonitorElement * meClustXDisk_
MonitorElement * meClustYDisk_
MonitorElement * meErrorY_
MonitorElement * meErrorYRing_
~SiPixelRecHitModule()
Destructor.
MonitorElement * meClustXLad_
MonitorElement * meErrorYPhi_
MonitorElement * meXYPosRing_px_
MonitorElement * meXYPosLay_
MonitorElement * meErrorXLad_
MonitorElement * meClustX_
void Fill(long long x)
MonitorElement * meClustXBlade_
MonitorElement * meClustXPhi_
MonitorElement * meXYPosLad_px_
int bladeName() const
blade id
MonitorElement * meErrorXBlade_
bool isHalfModule() const
full or half module
MonitorElement * meXYPosRing_
MonitorElement * meErrorYLad_
MonitorElement * menRecHitsRing_
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:41
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:106
MonitorElement * meXYPosLay_px_
MonitorElement * meClustXRing_
MonitorElement * meXYPos_py_
MonitorElement * meErrorYLay_
MonitorElement * meXYPos_
std::string setHistoId(std::string variable, uint32_t &rawId)
Set Histogram Id.
Definition: DetId.h:18
void book(const edm::ParameterSet &iConfig, DQMStore::IBooker &iBooker, const edm::EventSetup &iSetup, int type=0, bool twoD=true, bool reducedSet=false, bool isUpgrade=false)
Book histograms.
int ladderName() const
ladder id (index in phi)
MonitorElement * book2D(Args &&...args)
Definition: DQMStore.h:109
MonitorElement * meXYPosLad_
int layerName() const
layer id
MonitorElement * meErrorYDisk_
MonitorElement * menRecHitsDisk_
std::string const & label() const
Definition: InputTag.h:36
MonitorElement * meErrorX_
MonitorElement * menRecHitsPhi_
int pannelName() const
pannel id
T get() const
Definition: EventSetup.h:71
MonitorElement * menRecHitsLad_
MonitorElement * meClustYLad_
MonitorElement * meClustY_
MonitorElement * meXYPosRing_py_
int diskName() const
disk id
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
T const * product() const
Definition: ESHandle.h:86
Definition: vlib.h:208
MonitorElement * meXYPosLad_py_
MonitorElement * meErrorXLay_
MonitorElement * menRecHitsBlade_
MonitorElement * meClustYBlade_
void fill(const float &rechit_x, const float &rechit_y, const int &sizeX, const int &sizeY, const float &lerr_x, const float &lerr_y, bool modon=true, bool ladon=false, bool layon=false, bool phion=false, bool bladeon=false, bool diskon=false, bool ringon=false, bool twoD=true, bool reducedSet=false)
Fill histograms.
MonitorElement * meClustYLay_
MonitorElement * meXYPos_px_
MonitorElement * meErrorXRing_
MonitorElement * meErrorYBlade_
MonitorElement * meErrorXPhi_