CMS 3D CMS Logo

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