CMS 3D CMS Logo

PValidationFormats.h
Go to the documentation of this file.
1 #ifndef PValidationFormats_h
2 #define PValidationFormats_h
3 
5 // PGlobalSimHit
7 #ifndef PGlobalSimHit_h
8 #define PGlobalSimHit_h
9 
17 #include <vector>
18 #include <memory>
19 
21 public:
23  : nRawGenPart(0),
24  nG4Vtx(0),
25  nG4Trk(0),
26  nECalHits(0),
27  nPreShHits(0),
28  nHCalHits(0),
29  nPxlFwdHits(0),
30  nPxlBrlHits(0),
31  nSiFwdHits(0),
32  nSiBrlHits(0),
33  nMuonDtHits(0),
34  nMuonCscHits(0),
35  nMuonRpcFwdHits(0),
36  nMuonRpcBrlHits(0) {}
37  virtual ~PGlobalSimHit() {}
38 
39  struct Vtx {
40  Vtx() : x(0), y(0), z(0) {}
41  float x;
42  float y;
43  float z;
44  };
45 
46  struct Trk {
47  Trk() : pt(0), e(0) {}
48  float pt;
49  float e;
50  };
51 
52  struct CalHit {
53  CalHit() : e(0), tof(0), phi(0), eta(0) {}
54  float e;
55  float tof;
56  float phi;
57  float eta;
58  };
59 
60  struct FwdHit {
61  FwdHit() : tof(0), z(0), phi(0), eta(0) {}
62  float tof;
63  float z;
64  float phi;
65  float eta;
66  };
67 
68  struct BrlHit {
69  BrlHit() : tof(0), r(0), phi(0), eta(0) {}
70  float tof;
71  float r;
72  float phi;
73  float eta;
74  };
75 
76  typedef std::vector<Vtx> VtxVector;
77  typedef std::vector<Trk> TrkVector;
78  typedef std::vector<CalHit> CalVector;
79  typedef std::vector<FwdHit> FwdVector;
80  typedef std::vector<BrlHit> BrlVector;
81 
82  // put functions
83  void putRawGenPart(int n);
84  void putG4Vtx(const std::vector<float>& x, const std::vector<float>& y, const std::vector<float>& z);
85  void putG4Trk(const std::vector<float>& pt, const std::vector<float>& e);
86  void putECalHits(const std::vector<float>& e,
87  const std::vector<float>& tof,
88  const std::vector<float>& phi,
89  const std::vector<float>& eta);
90  void putPreShHits(const std::vector<float>& e,
91  const std::vector<float>& tof,
92  const std::vector<float>& phi,
93  const std::vector<float>& eta);
94  void putHCalHits(const std::vector<float>& e,
95  const std::vector<float>& tof,
96  const std::vector<float>& phi,
97  const std::vector<float>& eta);
98  void putPxlFwdHits(const std::vector<float>& tof,
99  const std::vector<float>& z,
100  const std::vector<float>& phi,
101  const std::vector<float>& eta);
102  void putPxlBrlHits(const std::vector<float>& tof,
103  const std::vector<float>& r,
104  const std::vector<float>& phi,
105  const std::vector<float>& eta);
106  void putSiFwdHits(const std::vector<float>& tof,
107  const std::vector<float>& z,
108  const std::vector<float>& phi,
109  const std::vector<float>& eta);
110  void putSiBrlHits(const std::vector<float>& tof,
111  const std::vector<float>& r,
112  const std::vector<float>& phi,
113  const std::vector<float>& eta);
114  void putMuonCscHits(const std::vector<float>& tof,
115  const std::vector<float>& z,
116  const std::vector<float>& phi,
117  const std::vector<float>& eta);
118  void putMuonDtHits(const std::vector<float>& tof,
119  const std::vector<float>& r,
120  const std::vector<float>& phi,
121  const std::vector<float>& eta);
122  void putMuonRpcFwdHits(const std::vector<float>& tof,
123  const std::vector<float>& z,
124  const std::vector<float>& phi,
125  const std::vector<float>& eta);
126  void putMuonRpcBrlHits(const std::vector<float>& tof,
127  const std::vector<float>& r,
128  const std::vector<float>& phi,
129  const std::vector<float>& eta);
130 
131  int getnRawGenPart() const { return nRawGenPart; }
132  int getnG4Vtx() const { return nG4Vtx; }
133  VtxVector getG4Vtx() const { return G4Vtx; }
134  int getnG4Trk() const { return nG4Trk; }
135  TrkVector getG4Trk() const { return G4Trk; }
136  int getnECalHits() const { return nECalHits; }
137  CalVector getECalHits() const { return ECalHits; }
138  int getnPreShHits() const { return nPreShHits; }
139  CalVector getPreShHits() const { return PreShHits; }
140  int getnHCalHits() const { return nHCalHits; }
141  CalVector getHCalHits() const { return HCalHits; }
142  int getnPxlFwdHits() const { return nPxlFwdHits; }
143  FwdVector getPxlFwdHits() const { return PxlFwdHits; }
144  int getnPxlBrlHits() const { return nPxlBrlHits; }
145  BrlVector getPxlBrlHits() const { return PxlBrlHits; }
146  int getnSiFwdHits() const { return nSiFwdHits; }
147  FwdVector getSiFwdHits() const { return SiFwdHits; }
148  int getnSiBrlHits() const { return nSiBrlHits; }
149  BrlVector getSiBrlHits() const { return SiBrlHits; }
150  int getnMuonDtHits() const { return nMuonDtHits; }
151  BrlVector getMuonDtHits() const { return MuonDtHits; }
152  int getnMuonCscHits() const { return nMuonCscHits; }
154  int getnMuonRpcFwdHits() const { return nMuonRpcFwdHits; }
156  int getnMuonRpcBrlHits() const { return nMuonRpcBrlHits; }
158 
159 private:
160  // G4MC info
162  int nG4Vtx;
164  int nG4Trk;
166 
167  // ECal info
172 
173  // HCal info
176 
177  // Tracker info
186 
187  // Muon info
196 
197 }; // end class declaration
198 
199 #endif // endif PGlobalHit_h
200 
202 // PGlobalDigi
204 
205 #ifndef PGlobalDigi_h
206 #define PGlobalDigi_h
207 
208 class PGlobalDigi {
209 public:
211  : nEBCalDigis(0),
212  nEECalDigis(0),
213  nESCalDigis(0),
214  nHBCalDigis(0),
215  nHECalDigis(0),
216  nHOCalDigis(0),
217  nHFCalDigis(0),
218  nTIBL1Digis(0),
219  nTIBL2Digis(0),
220  nTIBL3Digis(0),
221  nTIBL4Digis(0),
222  nTOBL1Digis(0),
223  nTOBL2Digis(0),
224  nTOBL3Digis(0),
225  nTOBL4Digis(0),
226  nTIDW1Digis(0),
227  nTIDW2Digis(0),
228  nTIDW3Digis(0),
229  nTECW1Digis(0),
230  nTECW2Digis(0),
231  nTECW3Digis(0),
232  nTECW4Digis(0),
233  nTECW5Digis(0),
234  nTECW6Digis(0),
235  nTECW7Digis(0),
236  nTECW8Digis(0),
237  nBRL1Digis(0),
238  nBRL2Digis(0),
239  nBRL3Digis(0),
240  nFWD1pDigis(0),
241  nFWD1nDigis(0),
242  nFWD2pDigis(0),
243  nFWD2nDigis(0),
244  nMB1Digis(0),
245  nMB2Digis(0),
246  nMB3Digis(0),
247  nMB4Digis(0),
248  nCSCstripDigis(0),
249  nCSCwireDigis(0) {}
250  virtual ~PGlobalDigi() {}
251 
253  // ECal Info
255  struct ECalDigi {
256  ECalDigi() : maxPos(0), AEE(0), SHE(0) {}
257  int maxPos;
258  double AEE; //maximum analog equivalent energy
259  float SHE; //simhit energy sum
260  };
261  typedef std::vector<ECalDigi> ECalDigiVector;
262  struct ESCalDigi {
263  ESCalDigi() : ADC0(0), ADC1(0), ADC2(0), SHE(0) {}
264  float ADC0, ADC1, ADC2; //ADC counts
265  float SHE; //sum simhit energy
266  };
267  typedef std::vector<ESCalDigi> ESCalDigiVector;
268  //put functions
269  void putEBCalDigis(const std::vector<int>& maxpos, const std::vector<double>& aee, const std::vector<float>& she);
270  void putEECalDigis(const std::vector<int>& maxpos, const std::vector<double>& aee, const std::vector<float>& she);
271  void putESCalDigis(const std::vector<float>& adc0,
272  const std::vector<float>& adc1,
273  const std::vector<float>& adc2,
274  const std::vector<float>& she);
275  //get functions
276  int getnEBCalDigis() const { return nEBCalDigis; }
277  int getnEECalDigis() const { return nEECalDigis; }
278  int getnESCalDigis() const { return nESCalDigis; }
282 
284  // HCal Info
286  struct HCalDigi {
287  HCalDigi() : AEE(0), SHE(0) {}
288  float AEE; //sum analog equivalent energy in fC
289  float SHE; //simhit energy sum
290  };
291  typedef std::vector<HCalDigi> HCalDigiVector;
292  //put functions
293  void putHBCalDigis(const std::vector<float>& aee, const std::vector<float>& she);
294  void putHECalDigis(const std::vector<float>& aee, const std::vector<float>& she);
295  void putHOCalDigis(const std::vector<float>& aee, const std::vector<float>& she);
296  void putHFCalDigis(const std::vector<float>& aee, const std::vector<float>& she);
297  //get functions
298  int getnHBCalDigis() const { return nHBCalDigis; }
299  int getnHECalDigis() const { return nHECalDigis; }
300  int getnHOCalDigis() const { return nHOCalDigis; }
301  int getnHFCalDigis() const { return nHFCalDigis; }
306 
308  // Silicon Tracker info
310 
312  // SiStrip info
314  struct SiStripDigi {
315  SiStripDigi() : ADC(0), STRIP(0) {}
316  float ADC; //adc value
317  int STRIP; //strip number
318  };
319  typedef std::vector<SiStripDigi> SiStripDigiVector;
320  //put functions
321  void putTIBL1Digis(const std::vector<float>& adc, const std::vector<int>& strip);
322  void putTIBL2Digis(const std::vector<float>& adc, const std::vector<int>& strip);
323  void putTIBL3Digis(const std::vector<float>& adc, const std::vector<int>& strip);
324  void putTIBL4Digis(const std::vector<float>& adc, const std::vector<int>& strip);
325  void putTOBL1Digis(const std::vector<float>& adc, const std::vector<int>& strip);
326  void putTOBL2Digis(const std::vector<float>& adc, const std::vector<int>& strip);
327  void putTOBL3Digis(const std::vector<float>& adc, const std::vector<int>& strip);
328  void putTOBL4Digis(const std::vector<float>& adc, const std::vector<int>& strip);
329  void putTIDW1Digis(const std::vector<float>& adc, const std::vector<int>& strip);
330  void putTIDW2Digis(const std::vector<float>& adc, const std::vector<int>& strip);
331  void putTIDW3Digis(const std::vector<float>& adc, const std::vector<int>& strip);
332  void putTECW1Digis(const std::vector<float>& adc, const std::vector<int>& strip);
333  void putTECW2Digis(const std::vector<float>& adc, const std::vector<int>& strip);
334  void putTECW3Digis(const std::vector<float>& adc, const std::vector<int>& strip);
335  void putTECW4Digis(const std::vector<float>& adc, const std::vector<int>& strip);
336  void putTECW5Digis(const std::vector<float>& adc, const std::vector<int>& strip);
337  void putTECW6Digis(const std::vector<float>& adc, const std::vector<int>& strip);
338  void putTECW7Digis(const std::vector<float>& adc, const std::vector<int>& strip);
339  void putTECW8Digis(const std::vector<float>& adc, const std::vector<int>& strip);
340  //get functions
341  int getnTIBL1Digis() const { return nTIBL1Digis; }
342  int getnTIBL2Digis() const { return nTIBL2Digis; }
343  int getnTIBL3Digis() const { return nTIBL3Digis; }
344  int getnTIBL4Digis() const { return nTIBL4Digis; }
345  int getnTOBL1Digis() const { return nTOBL1Digis; }
346  int getnTOBL2Digis() const { return nTOBL2Digis; }
347  int getnTOBL3Digis() const { return nTOBL3Digis; }
348  int getnTOBL4Digis() const { return nTOBL4Digis; }
349  int getnTIDW1Digis() const { return nTIDW1Digis; }
350  int getnTIDW2Digis() const { return nTIDW2Digis; }
351  int getnTIDW3Digis() const { return nTIDW3Digis; }
352  int getnTECW1Digis() const { return nTECW1Digis; }
353  int getnTECW2Digis() const { return nTECW2Digis; }
354  int getnTECW3Digis() const { return nTECW3Digis; }
355  int getnTECW4Digis() const { return nTECW4Digis; }
356  int getnTECW5Digis() const { return nTECW5Digis; }
357  int getnTECW6Digis() const { return nTECW6Digis; }
358  int getnTECW7Digis() const { return nTECW7Digis; }
359  int getnTECW8Digis() const { return nTECW8Digis; }
379 
381  // SiPixel info
383  struct SiPixelDigi {
384  SiPixelDigi() : ADC(0), ROW(0), COLUMN(0) {}
385  float ADC; //adc value
386  int ROW; //row number
387  int COLUMN; //column number
388  };
389  typedef std::vector<SiPixelDigi> SiPixelDigiVector;
390  //put functions
391  void putBRL1Digis(const std::vector<float>& adc, const std::vector<int>& row, const std::vector<int>& column);
392  void putBRL2Digis(const std::vector<float>& adc, const std::vector<int>& row, const std::vector<int>& column);
393  void putBRL3Digis(const std::vector<float>& adc, const std::vector<int>& row, const std::vector<int>& column);
394  void putFWD1pDigis(const std::vector<float>& adc, const std::vector<int>& row, const std::vector<int>& column);
395  void putFWD1nDigis(const std::vector<float>& adc, const std::vector<int>& row, const std::vector<int>& column);
396  void putFWD2pDigis(const std::vector<float>& adc, const std::vector<int>& row, const std::vector<int>& column);
397  void putFWD2nDigis(const std::vector<float>& adc, const std::vector<int>& row, const std::vector<int>& column);
398  //get functions
399  int getnBRL1Digis() const { return nBRL1Digis; }
400  int getnBRL2Digis() const { return nBRL2Digis; }
401  int getnBRL3Digis() const { return nBRL3Digis; }
402  int getnFWD1pDigis() const { return nFWD1pDigis; }
403  int getnFWD1nDigis() const { return nFWD1nDigis; }
404  int getnFWD2pDigis() const { return nFWD2pDigis; }
405  int getnFWD2nDigis() const { return nFWD2nDigis; }
413 
415  // Muon info
417 
419  // DT Info
421  struct DTDigi {
422  DTDigi() : SLAYER(0), TIME(0), LAYER(0) {}
423  int SLAYER; //superlayer number
424  float TIME; //time of hit
425  int LAYER; //layer number
426  };
427  typedef std::vector<DTDigi> DTDigiVector;
428  //put functions
429  void putMB1Digis(const std::vector<int>& slayer, const std::vector<float>& time, const std::vector<int>& layer);
430  void putMB2Digis(const std::vector<int>& slayer, const std::vector<float>& time, const std::vector<int>& layer);
431  void putMB3Digis(const std::vector<int>& slayer, const std::vector<float>& time, const std::vector<int>& layer);
432  void putMB4Digis(const std::vector<int>& slayer, const std::vector<float>& time, const std::vector<int>& layer);
433  //get functions
434  int getnMB1Digis() const { return nMB1Digis; }
435  int getnMB2Digis() const { return nMB2Digis; }
436  int getnMB3Digis() const { return nMB3Digis; }
437  int getnMB4Digis() const { return nMB4Digis; }
438  DTDigiVector getMB1Digis() const { return MB1Digis; }
439  DTDigiVector getMB2Digis() const { return MB2Digis; }
440  DTDigiVector getMB3Digis() const { return MB3Digis; }
441  DTDigiVector getMB4Digis() const { return MB4Digis; }
442 
444  // CSC Strip info
446  struct CSCstripDigi {
447  CSCstripDigi() : ADC(0) {}
448  float ADC; //ped subtracted amplitude
449  };
450  typedef std::vector<CSCstripDigi> CSCstripDigiVector;
451  //put functions
452  void putCSCstripDigis(const std::vector<float>& adc);
453  //get functions
454  int getnCSCstripDigis() const { return nCSCstripDigis; }
456 
458  // CSC Wire info
460  struct CSCwireDigi {
461  CSCwireDigi() : TIME(0) {}
462  float TIME; //time
463  };
464  typedef std::vector<CSCwireDigi> CSCwireDigiVector;
465  //put functions
466  void putCSCwireDigis(const std::vector<float>& time);
467  //get functions
468  int getnCSCwireDigis() const { return nCSCwireDigis; }
470 
471 private:
473  // ECal info
481 
483  // HCal info
493 
495  // Silicon Tracker info
497 
499  //SiStrip info
539 
541  //SiPixel info
557 
559  // Muon info
561 
563  // DT Info
573 
575  // CSC Strip info
579 
581  // CSC Wire info
585 
586 }; // end class declaration
587 
588 #endif //PGlobalDigiHit_h
589 
591 // PGlobalRecHit
593 
594 #ifndef PGlobalRecHit_h
595 #define PGlobalRecHit_h
596 
598 public:
600  : nEBCalRecHits(0),
601  nEECalRecHits(0),
602  nESCalRecHits(0),
603  nHBCalRecHits(0),
604  nHECalRecHits(0),
605  nHOCalRecHits(0),
606  nHFCalRecHits(0),
607  nTIBL1RecHits(0),
608  nTIBL2RecHits(0),
609  nTIBL3RecHits(0),
610  nTIBL4RecHits(0),
611  nTOBL1RecHits(0),
612  nTOBL2RecHits(0),
613  nTOBL3RecHits(0),
614  nTOBL4RecHits(0),
615  nTIDW1RecHits(0),
616  nTIDW2RecHits(0),
617  nTIDW3RecHits(0),
618  nTECW1RecHits(0),
619  nTECW2RecHits(0),
620  nTECW3RecHits(0),
621  nTECW4RecHits(0),
622  nTECW5RecHits(0),
623  nTECW6RecHits(0),
624  nTECW7RecHits(0),
625  nTECW8RecHits(0),
626  nBRL1RecHits(0),
627  nBRL2RecHits(0),
628  nBRL3RecHits(0),
629  nFWD1pRecHits(0),
630  nFWD1nRecHits(0),
631  nFWD2pRecHits(0),
632  nFWD2nRecHits(0),
633  nDTRecHits(0),
634  nCSCRecHits(0),
635  nRPCRecHits(0) {}
636  virtual ~PGlobalRecHit() {}
637 
639  // ECal Info
641  struct ECalRecHit {
642  ECalRecHit() : RE(0), SHE(0) {}
643  float RE; //reconstructed energy
644  float SHE; //simhit energy
645  };
646  typedef std::vector<ECalRecHit> ECalRecHitVector;
647  //put functions
648  void putEBCalRecHits(const std::vector<float>& re, const std::vector<float>& she);
649  void putEECalRecHits(const std::vector<float>& re, const std::vector<float>& she);
650  void putESCalRecHits(const std::vector<float>& re, const std::vector<float>& she);
651  //get functions
652  int getnEBCalRecHits() const { return nEBCalRecHits; }
653  int getnEECalRecHits() const { return nEECalRecHits; }
654  int getnESCalRecHits() const { return nESCalRecHits; }
658 
660  // HCal Info
662  struct HCalRecHit {
663  HCalRecHit() : REC(0), R(0), SHE(0) {}
664  float REC; // reconstructed energy
665  float R; // distance in cone
666  float SHE; // simhit energy
667  };
668  typedef std::vector<HCalRecHit> HCalRecHitVector;
669  //put functions
670  void putHBCalRecHits(const std::vector<float>& rec, const std::vector<float>& r, const std::vector<float>& she);
671  void putHECalRecHits(const std::vector<float>& rec, const std::vector<float>& r, const std::vector<float>& she);
672  void putHOCalRecHits(const std::vector<float>& rec, const std::vector<float>& r, const std::vector<float>& she);
673  void putHFCalRecHits(const std::vector<float>& rec, const std::vector<float>& r, const std::vector<float>& she);
674  //get functions
675  int getnHBCalRecHits() const { return nHBCalRecHits; }
676  int getnHECalRecHits() const { return nHECalRecHits; }
677  int getnHOCalRecHits() const { return nHOCalRecHits; }
678  int getnHFCalRecHits() const { return nHFCalRecHits; }
683 
685  // Silicon Tracker info
687 
689  // SiStrip info
691  struct SiStripRecHit {
692  SiStripRecHit() : RX(0), RY(0), SX(0), SY(0) {}
693  float RX; //reconstructed x
694  float RY; //reconstructed y
695  float SX; //simulated x
696  float SY; //simulated y
697  };
698  typedef std::vector<SiStripRecHit> SiStripRecHitVector;
699  //put functions
700  void putTIBL1RecHits(const std::vector<float>& rx,
701  const std::vector<float>& ry,
702  const std::vector<float>& sx,
703  const std::vector<float>& sy);
704  void putTIBL2RecHits(const std::vector<float>& rx,
705  const std::vector<float>& ry,
706  const std::vector<float>& sx,
707  const std::vector<float>& sy);
708  void putTIBL3RecHits(const std::vector<float>& rx,
709  const std::vector<float>& ry,
710  const std::vector<float>& sx,
711  const std::vector<float>& sy);
712  void putTIBL4RecHits(const std::vector<float>& rx,
713  const std::vector<float>& ry,
714  const std::vector<float>& sx,
715  const std::vector<float>& sy);
716  void putTOBL1RecHits(const std::vector<float>& rx,
717  const std::vector<float>& ry,
718  const std::vector<float>& sx,
719  const std::vector<float>& sy);
720  void putTOBL2RecHits(const std::vector<float>& rx,
721  const std::vector<float>& ry,
722  const std::vector<float>& sx,
723  const std::vector<float>& sy);
724  void putTOBL3RecHits(const std::vector<float>& rx,
725  const std::vector<float>& ry,
726  const std::vector<float>& sx,
727  const std::vector<float>& sy);
728  void putTOBL4RecHits(const std::vector<float>& rx,
729  const std::vector<float>& ry,
730  const std::vector<float>& sx,
731  const std::vector<float>& sy);
732  void putTIDW1RecHits(const std::vector<float>& rx,
733  const std::vector<float>& ry,
734  const std::vector<float>& sx,
735  const std::vector<float>& sy);
736  void putTIDW2RecHits(const std::vector<float>& rx,
737  const std::vector<float>& ry,
738  const std::vector<float>& sx,
739  const std::vector<float>& sy);
740  void putTIDW3RecHits(const std::vector<float>& rx,
741  const std::vector<float>& ry,
742  const std::vector<float>& sx,
743  const std::vector<float>& sy);
744  void putTECW1RecHits(const std::vector<float>& rx,
745  const std::vector<float>& ry,
746  const std::vector<float>& sx,
747  const std::vector<float>& sy);
748  void putTECW2RecHits(const std::vector<float>& rx,
749  const std::vector<float>& ry,
750  const std::vector<float>& sx,
751  const std::vector<float>& sy);
752  void putTECW3RecHits(const std::vector<float>& rx,
753  const std::vector<float>& ry,
754  const std::vector<float>& sx,
755  const std::vector<float>& sy);
756  void putTECW4RecHits(const std::vector<float>& rx,
757  const std::vector<float>& ry,
758  const std::vector<float>& sx,
759  const std::vector<float>& sy);
760  void putTECW5RecHits(const std::vector<float>& rx,
761  const std::vector<float>& ry,
762  const std::vector<float>& sx,
763  const std::vector<float>& sy);
764  void putTECW6RecHits(const std::vector<float>& rx,
765  const std::vector<float>& ry,
766  const std::vector<float>& sx,
767  const std::vector<float>& sy);
768  void putTECW7RecHits(const std::vector<float>& rx,
769  const std::vector<float>& ry,
770  const std::vector<float>& sx,
771  const std::vector<float>& sy);
772  void putTECW8RecHits(const std::vector<float>& rx,
773  const std::vector<float>& ry,
774  const std::vector<float>& sx,
775  const std::vector<float>& sy);
776  //get functions
777  int getnTIBL1RecHits() const { return nTIBL1RecHits; }
778  int getnTIBL2RecHits() const { return nTIBL2RecHits; }
779  int getnTIBL3RecHits() const { return nTIBL3RecHits; }
780  int getnTIBL4RecHits() const { return nTIBL4RecHits; }
781  int getnTOBL1RecHits() const { return nTOBL1RecHits; }
782  int getnTOBL2RecHits() const { return nTOBL2RecHits; }
783  int getnTOBL3RecHits() const { return nTOBL3RecHits; }
784  int getnTOBL4RecHits() const { return nTOBL4RecHits; }
785  int getnTIDW1RecHits() const { return nTIDW1RecHits; }
786  int getnTIDW2RecHits() const { return nTIDW2RecHits; }
787  int getnTIDW3RecHits() const { return nTIDW3RecHits; }
788  int getnTECW1RecHits() const { return nTECW1RecHits; }
789  int getnTECW2RecHits() const { return nTECW2RecHits; }
790  int getnTECW3RecHits() const { return nTECW3RecHits; }
791  int getnTECW4RecHits() const { return nTECW4RecHits; }
792  int getnTECW5RecHits() const { return nTECW5RecHits; }
793  int getnTECW6RecHits() const { return nTECW6RecHits; }
794  int getnTECW7RecHits() const { return nTECW7RecHits; }
795  int getnTECW8RecHits() const { return nTECW8RecHits; }
815 
817  // SiPixel info
819  struct SiPixelRecHit {
820  SiPixelRecHit() : RX(0), RY(0), SX(0), SY(0) {}
821  float RX; //reconstructed x
822  float RY; //reconstructed y
823  float SX; //simulated x
824  float SY; //simulated y
825  };
826  typedef std::vector<SiPixelRecHit> SiPixelRecHitVector;
827  //put functions
828  void putBRL1RecHits(const std::vector<float>& rx,
829  const std::vector<float>& ry,
830  const std::vector<float>& sx,
831  const std::vector<float>& sy);
832  void putBRL2RecHits(const std::vector<float>& rx,
833  const std::vector<float>& ry,
834  const std::vector<float>& sx,
835  const std::vector<float>& sy);
836  void putBRL3RecHits(const std::vector<float>& rx,
837  const std::vector<float>& ry,
838  const std::vector<float>& sx,
839  const std::vector<float>& sy);
840  void putFWD1pRecHits(const std::vector<float>& rx,
841  const std::vector<float>& ry,
842  const std::vector<float>& sx,
843  const std::vector<float>& sy);
844  void putFWD1nRecHits(const std::vector<float>& rx,
845  const std::vector<float>& ry,
846  const std::vector<float>& sx,
847  const std::vector<float>& sy);
848  void putFWD2pRecHits(const std::vector<float>& rx,
849  const std::vector<float>& ry,
850  const std::vector<float>& sx,
851  const std::vector<float>& sy);
852  void putFWD2nRecHits(const std::vector<float>& rx,
853  const std::vector<float>& ry,
854  const std::vector<float>& sx,
855  const std::vector<float>& sy);
856  //get functions
857  int getnBRL1RecHits() const { return nBRL1RecHits; }
858  int getnBRL2RecHits() const { return nBRL2RecHits; }
859  int getnBRL3RecHits() const { return nBRL3RecHits; }
860  int getnFWD1pRecHits() const { return nFWD1pRecHits; }
861  int getnFWD1nRecHits() const { return nFWD1nRecHits; }
862  int getnFWD2pRecHits() const { return nFWD2pRecHits; }
863  int getnFWD2nRecHits() const { return nFWD2nRecHits; }
871 
873  // Muon info
875 
877  // DT Info
879  struct DTRecHit {
880  DTRecHit() : RHD(0), SHD(0) {}
881  float RHD; //distance of rechit from wire
882  float SHD; //distance of simhit from wire
883  };
884  typedef std::vector<DTRecHit> DTRecHitVector;
885  //put functions
886  void putDTRecHits(const std::vector<float>& rhd, const std::vector<float>& shd);
887  //get functions
888  int getnDTRecHits() const { return nDTRecHits; }
890 
892  // CSC info
894  struct CSCRecHit {
895  CSCRecHit() : RHPHI(0), RHPERP(0), SHPHI(0) {}
896  float RHPHI; //reconstructed hit phi
897  float RHPERP; //reconstructed hit perp
898  float SHPHI; //simulated hit phi
899  };
900  typedef std::vector<CSCRecHit> CSCRecHitVector;
901  //put functions
902  void putCSCRecHits(const std::vector<float>& rhphi,
903  const std::vector<float>& rhperp,
904  const std::vector<float>& shphi);
905  //get functions
906  int getnCSCRecHits() const { return nCSCRecHits; }
908 
910  // RPC info
912  struct RPCRecHit {
913  RPCRecHit() : RHX(0), SHX(0) {}
914  float RHX; //reconstructed hit x
915  float SHX; //simulated hit x
916  };
917  typedef std::vector<RPCRecHit> RPCRecHitVector;
918  //put functions
919  void putRPCRecHits(const std::vector<float>& rhx, const std::vector<float>& shx);
920  //get functions
921  int getnRPCRecHits() const { return nRPCRecHits; }
923 
924 private:
926  // ECal info
934 
936  // HCal info
946 
948  // Silicon Tracker info
950 
952  //SiStrip info
992 
994  //SiPixel info
1010 
1012  // Muon info
1014 
1016  // DT Info
1020 
1022  // CSC info
1026 
1028  // RPC info
1032 
1033 }; // end class declaration
1034 
1035 #endif //PGlobalRecHitHit_h
1036 
1038 // PEcalValidInfo
1040 
1041 #ifndef PEcalValidInfo_H
1042 #define PEcalValidInfo_H
1043 
1044 /*----------------------------------------------------------
1045 Class Description:
1046  The Class, PEcalValidInfo, includes all the quantities
1047  needed to validate for the Simulation of Eletromagnetic
1048  Calorimetor.
1049  The Objects of this class will be save into regular
1050  Root file vis EDProducer.
1051 
1052 Author: X.HUANG ( huangxt@fnal.gov )
1053 Date: Dec, 2005
1054 
1055 ---------------------------------------------------------*/
1056 
1057 #include <string>
1058 #include <vector>
1060 
1061 class EcalTestAnalysis;
1062 
1064  friend class EcalTestAnalysis;
1066  friend class SimHitSingleTest;
1068  typedef std::vector<float> FloatVector;
1069 
1070 public:
1072  : ee1(0.0),
1073  ee4(0.0),
1074  ee9(0.0),
1075  ee16(0.0),
1076  ee25(0.0),
1077  eb1(0.0),
1078  eb4(0.0),
1079  eb9(0.0),
1080  eb16(0.0),
1081  eb25(0.0),
1082  totalEInEE(0.0),
1083  totalEInEB(0.0),
1084  totalEInES(0.0),
1085  totalHits(0),
1086  nHitsInEE(0),
1087  nHitsInEB(0),
1088  nHitsInES(0),
1089  nHitsIn1ES(0),
1090  nHitsIn2ES(0) {}
1091 
1093 
1094  // Get functions.
1095  float ee1x1() const { return ee1; }
1096  float ee2x2() const { return ee4; }
1097  float ee3x3() const { return ee9; }
1098  float ee4x4() const { return ee16; }
1099  float ee5x5() const { return ee25; }
1100 
1101  float eb1x1() const { return eb1; }
1102  float eb2x2() const { return eb4; }
1103  float eb3x3() const { return eb9; }
1104  float eb4x4() const { return eb16; }
1105  float eb5x5() const { return eb25; }
1106 
1107  float eInEE() const { return totalEInEE; }
1108  float eInEB() const { return totalEInEB; }
1109  float eInES() const { return totalEInES; }
1110 
1111  float eInEEzp() const { return totalEInEEzp; }
1112  float eInEEzm() const { return totalEInEEzm; }
1113 
1114  float eInESzp() const { return totalEInESzp; }
1115  float eInESzm() const { return totalEInESzm; }
1116 
1117  int hitsInEcal() const { return totalHits; }
1118  int hitsInEE() const { return nHitsInEE; }
1119  int hitsInEB() const { return nHitsInEB; }
1120  int hitsInES() const { return nHitsInES; }
1121  int hitsIn1ES() const { return nHitsIn1ES; }
1122  int hitsIn2ES() const { return nHitsIn2ES; }
1123 
1124  int hitsIn1ESzp() const { return nHitsIn1ESzp; }
1125  int hitsIn1ESzm() const { return nHitsIn1ESzm; }
1126  int hitsIn2ESzp() const { return nHitsIn2ESzp; }
1127  int hitsIn2ESzm() const { return nHitsIn2ESzm; }
1128 
1129  int crystalInEB() const { return nCrystalInEB; }
1130  int crystalInEEzp() const { return nCrystalInEEzp; }
1131  int crystalInEEzm() const { return nCrystalInEEzm; }
1132 
1133  FloatVector bX0() const { return eBX0; }
1134  FloatVector eX0() const { return eEX0; }
1135 
1136  FloatVector eIn1ES() const { return eOf1ES; }
1137  FloatVector eIn2ES() const { return eOf2ES; }
1138  FloatVector zOfInES() const { return zOfES; }
1139 
1140  FloatVector eIn1ESzp() const { return eOf1ESzp; }
1141  FloatVector eIn1ESzm() const { return eOf1ESzm; }
1142 
1143  FloatVector eIn2ESzp() const { return eOf2ESzp; }
1144  FloatVector eIn2ESzm() const { return eOf2ESzm; }
1145 
1152 
1157 
1162 
1165 
1166  int pId() const { return thePID; }
1167 
1168 private:
1169  float ee1; //Energy deposition in cluser1x1
1170  float ee4; //Energy deposition in cluser2x2
1171  float ee9; //Energy deposition in cluser3x3
1172  float ee16; //Energy deposition in cluser4x4
1173  float ee25; //Energy deposition in cluser5x5
1174 
1175  float eb1; //Energy deposition in cluser1x1
1176  float eb4; //Energy deposition in cluser2x2
1177  float eb9; //Energy deposition in cluser3x3
1178  float eb16; //Energy deposition in cluser4x4
1179  float eb25; //Energy deposition in cluser5x5
1180 
1181  float totalEInEE; //The Total Energy deposited in EE;
1182  float totalEInEB; //The Total Energy deposited in EB;
1183  float totalEInES; //The Total Energy deposited in ES;
1184 
1189 
1190  int totalHits; //Total number of Hits.
1191  int nHitsInEE; //Total number of Hits in EE.
1192  int nHitsInEB; //Total number of Hits in EB.
1193  int nHitsInES; //Total number of Hits in ES.
1194  int nHitsIn1ES; //Total number of Hits in 1st Layer of ES;
1195  int nHitsIn2ES; //Total number of Hits in 2nd Layer of ES;
1196 
1201 
1205 
1206  FloatVector eBX0; // longitudinal Energy deposition In EB.
1207  FloatVector eEX0; // longitudinal Energy deposition In EE.
1208 
1209  FloatVector eOf1ES; // Energy deposition of Hits in 1st layer of ES;
1210  FloatVector eOf2ES; // Energy deposition of Hits in 2nd layer of ES;
1212 
1217 
1220  FloatVector tOfEECaloG4Hit; // Tof of Hits.
1221  FloatVector eOfEECaloG4Hit; // Energy depostion of Hits.
1222  FloatVector eOfEEPlusCaloG4Hit; // Energy depostion of Hits.
1223  FloatVector eOfEEMinusCaloG4Hit; // Energy depostion of Hits.
1224 
1227  FloatVector tOfESCaloG4Hit; // Tof of Hits.
1228  FloatVector eOfESCaloG4Hit; // Energy depostion of Hits.
1229 
1232  FloatVector tOfEBCaloG4Hit; // Tof of Hits.
1233  FloatVector eOfEBCaloG4Hit; // Energy depostion of Hits.
1234 
1235  int thePID; // add more ??
1238 };
1239 
1240 #endif // endif PECal
1241 
1243 // PHcalValidInfoJets
1245 
1246 #ifndef PHcalValidInfoJets_H
1247 #define PHcalValidInfoJets_H
1248 
1249 #include <string>
1250 #include <vector>
1251 #include <memory>
1252 
1253 class SimG4HcalValidation;
1254 
1256  friend class SimG4HcalValidation;
1257 
1258 public:
1260  : nJetHit(0),
1261  nJet(0),
1262  ecalJet(0.),
1263  hcalJet(0.),
1264  hoJet(0.),
1265  etotJet(0.),
1266  detaJet(0.),
1267  dphiJet(0.),
1268  drJet(0.),
1269  dijetM(0.) {}
1270  virtual ~PHcalValidInfoJets() {}
1271 
1272  // acceess
1273 
1274  std::vector<float> jethite() const { return jetHite; }
1275  std::vector<float> jethitr() const { return jetHitr; }
1276  std::vector<float> jethitt() const { return jetHitt; }
1277  int njethit() const { return nJetHit; }
1278 
1279  std::vector<float> jete() const { return jetE; }
1280  std::vector<float> jeteta() const { return jetEta; }
1281  std::vector<float> jetphi() const { return jetPhi; }
1282  int njet() const { return nJet; }
1283 
1284  float ecaljet() const { return ecalJet; }
1285  float hcaljet() const { return hcalJet; }
1286  float hojet() const { return hoJet; }
1287  float etotjet() const { return etotJet; }
1288 
1289  float detajet() const { return detaJet; }
1290  float dphijet() const { return dphiJet; }
1291  float drjet() const { return drJet; }
1292  float dijetm() const { return dijetM; }
1293 
1294  // fill
1295  void fillTProfileJet(double e, double r, double t);
1296  void fillEcollectJet(double ee, double he, double hoe, double etot);
1297  void fillEtaPhiProfileJet(double eta0, double phi0, double eta, double phi, double dist);
1298  void fillJets(const std::vector<double>& enj, const std::vector<double>& etaj, const std::vector<double>& phij);
1299  void fillDiJets(double mass);
1300 
1301 private:
1305  std::vector<float> jetHite;
1306  std::vector<float> jetHitr;
1307  std::vector<float> jetHitt;
1308  std::vector<float> jetE;
1309  std::vector<float> jetEta;
1310  std::vector<float> jetPhi;
1311 };
1312 
1313 #endif
1314 
1316 // PHcalValidInfoLayer
1318 
1319 #ifndef PHcalValidInfoLayer_H
1320 #define PHcalValidInfoLayer_H
1321 
1322 #include <string>
1323 #include <vector>
1324 #include <memory>
1325 
1326 class SimG4HcalValidation;
1327 
1329  friend class SimG4HcalValidation;
1330 
1331 public:
1333  : hitN(0), eHO(0.0), eHBHE(0.0), eEBEE(0.0), elongHF(0.0), eshortHF(0.0), eEcalHF(0.0), eHcalHF(0.0) {}
1335 
1336  // access
1337  int nHit() const { return hitN; }
1338 
1339  float eho() const { return eHO; }
1340  float ehbhe() const { return eHBHE; }
1341  float eebee() const { return eEBEE; }
1342  float elonghf() const { return elongHF; }
1343  float eshorthf() const { return eshortHF; }
1344  float eecalhf() const { return eEcalHF; }
1345  float ehcalhf() const { return eHcalHF; }
1346 
1347  std::vector<float> elayer() const { return eLayer; }
1348  std::vector<float> edepth() const { return eDepth; }
1349 
1350  std::vector<float> etaHit() const { return hitEta; }
1351  std::vector<float> phiHit() const { return hitPhi; }
1352  std::vector<float> eHit() const { return hitE; }
1353  std::vector<float> tHit() const { return hitTime; }
1354  std::vector<float> layerHit() const { return hitLayer; }
1355  std::vector<float> idHit() const { return hitId; }
1356 
1357  // filling
1358  void fillLayers(double el[], double ed[], double ho, double hbhe, double ebee);
1359  void fillHF(double fibl, double fibs, double enec, double enhc);
1360  void fillHits(int Nhits, int lay, int unitID, double eta, double phi, double ehit, double t);
1361  // void clear();
1362 
1363 private:
1364  int hitN;
1365  float eHO, eHBHE, eEBEE;
1367  std::vector<float> eLayer;
1368  std::vector<float> eDepth;
1369  // SimHits parameters
1370  std::vector<float> hitLayer; // float for int
1371  std::vector<float> hitId; // float for int
1372  std::vector<float> hitEta;
1373  std::vector<float> hitPhi;
1374  std::vector<float> hitE;
1375  std::vector<float> hitTime;
1376 };
1377 
1378 #endif
1379 
1381 // PHcalValidInfoNxN
1383 
1384 #ifndef PHcalValidInfoNxN_H
1385 #define PHcalValidInfoNxN_H
1386 
1387 #include <string>
1388 #include <vector>
1389 #include <memory>
1390 
1391 class SimG4HcalValidation;
1392 
1394  friend class SimG4HcalValidation;
1395 
1396 public:
1398  : nNxN(0), ecalNxNr(0), hcalNxNr(0.), hoNxNr(0.), etotNxNr(0.), ecalNxN(0.), hcalNxN(0.), hoNxN(0.), etotNxN(0.) {}
1399  virtual ~PHcalValidInfoNxN() {}
1400 
1401  // access
1402  std::vector<float> idnxn() const { return idNxN; }
1403  std::vector<float> enxn() const { return eNxN; }
1404  std::vector<float> tnxn() const { return tNxN; }
1405  int nnxn() const { return nNxN; }
1406 
1407  float ecalnxnr() const { return ecalNxNr; }
1408  float hcalnxnr() const { return hcalNxNr; }
1409  float honxnr() const { return hoNxNr; }
1410  float etotnxnr() const { return etotNxNr; }
1411 
1412  float ecalnxn() const { return ecalNxN; }
1413  float hcalnxn() const { return hcalNxN; }
1414  float honxn() const { return hoNxN; }
1415  float etotnxn() const { return etotNxN; }
1416 
1417  // fill
1418  void fillHvsE(double ee, double he, double hoe, double etot);
1419  void fillEcollectNxN(double een, double hen, double hoen, double etotn);
1420  void fillTProfileNxN(double e, int i, double t);
1421 
1422 private:
1423  int nNxN;
1426  std::vector<float> idNxN; // float for int
1427  std::vector<float> eNxN;
1428  std::vector<float> tNxN;
1429 };
1430 
1431 #endif
1432 
1434 // PMuonSimHit
1436 
1437 #ifndef PMuonSimHit_h
1438 #define PMuonSimHit_h
1439 
1440 #include <vector>
1441 #include <memory>
1442 
1445 
1447 public:
1449  virtual ~PMuonSimHit() {}
1450 
1451  struct Vtx {
1452  Vtx() : x(0), y(0), z(0) {}
1453  float x;
1454  float y;
1455  float z;
1456  };
1457 
1458  struct Trk {
1459  Trk() : pt(0), e(0), eta(0), phi(0) {}
1460  float pt;
1461  float e;
1462  float eta;
1463  float phi;
1464  };
1465 
1466  struct CSC {
1468  : _cscId(0),
1469  _detUnitId(0),
1470  _trackId(0),
1471  _processType(0),
1472  _particleType(0),
1473  _pabs(0),
1474  _globposz(0),
1475  _globposphi(0),
1476  _globposeta(0),
1477  _locposx(0),
1478  _locposy(0),
1479  _locposz(0),
1480  _locdirx(0),
1481  _locdiry(0),
1482  _locdirz(0),
1483  _locdirtheta(0),
1484  _locdirphi(0),
1485  _exitpointx(0),
1486  _exitpointy(0),
1487  _exitpointz(0),
1488  _entrypointx(0),
1489  _entrypointy(0),
1490  _entrypointz(0),
1491  _enloss(0),
1492  _tof(0) {}
1493 
1494  int _cscId;
1495  unsigned int _detUnitId;
1496  float _trackId;
1499  float _pabs;
1500  float _globposz;
1503  float _locposx;
1504  float _locposy;
1505  float _locposz;
1506  float _locdirx;
1507  float _locdiry;
1508  float _locdirz;
1510  float _locdirphi;
1517  float _enloss;
1518  float _tof;
1519  };
1520 
1521  struct DT {
1522  DT()
1523  : _detUnitId(0),
1524  _trackId(0),
1525  _processType(0),
1526  _particleType(0),
1527  _pabs(0),
1528  _globposz(0),
1529  _globposphi(0),
1530  _globposeta(0),
1531  _locposx(0),
1532  _locposy(0),
1533  _locposz(0),
1534  _locdirx(0),
1535  _locdiry(0),
1536  _locdirz(0),
1537  _locdirtheta(0),
1538  _locdirphi(0),
1539  _exitpointx(0),
1540  _exitpointy(0),
1541  _exitpointz(0),
1542  _entrypointx(0),
1543  _entrypointy(0),
1544  _entrypointz(0),
1545  _enloss(0),
1546  _tof(0) {}
1547 
1548  unsigned int _detUnitId;
1549  float _trackId;
1552  float _pabs;
1553  float _globposz;
1556  float _locposx;
1557  float _locposy;
1558  float _locposz;
1559  float _locdirx;
1560  float _locdiry;
1561  float _locdirz;
1563  float _locdirphi;
1570  float _enloss;
1571  float _tof;
1572  };
1573 
1574  struct RPC {
1576  : _detUnitId(0),
1577  _trackId(0),
1578  _processType(0),
1579  _particleType(0),
1580  _pabs(0),
1581  _globposz(0),
1582  _globposphi(0),
1583  _globposeta(0),
1584  _locposx(0),
1585  _locposy(0),
1586  _locposz(0),
1587  _locdirx(0),
1588  _locdiry(0),
1589  _locdirz(0),
1590  _locdirtheta(0),
1591  _locdirphi(0),
1592  _exitpointx(0),
1593  _exitpointy(0),
1594  _exitpointz(0),
1595  _entrypointx(0),
1596  _entrypointy(0),
1597  _entrypointz(0),
1598  _enloss(0),
1599  _tof(0) {}
1600 
1601  unsigned int _detUnitId;
1602  float _trackId;
1605  float _pabs;
1606  float _globposz;
1609  float _locposx;
1610  float _locposy;
1611  float _locposz;
1612  float _locdirx;
1613  float _locdiry;
1614  float _locdirz;
1616  float _locdirphi;
1623  float _enloss;
1624  float _tof;
1625  };
1626 
1627  typedef std::vector<Vtx> VtxVector;
1628  typedef std::vector<Trk> TrkVector;
1629 
1630  typedef std::vector<CSC> CSCVector;
1631  typedef std::vector<DT> DTVector;
1632  typedef std::vector<RPC> RPCVector;
1633 
1635 
1636  void putRawGenPart(int n);
1637 
1638  void putG4Vtx(const std::vector<float>& x, const std::vector<float>& y, const std::vector<float>& z);
1639  void putG4Trk(const std::vector<float>& pt,
1640  const std::vector<float>& e,
1641  const std::vector<float>& eta,
1642  const std::vector<float>& phi);
1643 
1644  void putCSCHits(const std::vector<int>& _cscId,
1645  const std::vector<unsigned int>& _detUnitId,
1646  const std::vector<float>& _trackId,
1647  const std::vector<float>& _processType,
1648  const std::vector<float>& _particleType,
1649  const std::vector<float>& _pabs,
1650  const std::vector<float>& _globposz,
1651  const std::vector<float>& _globposphi,
1652  const std::vector<float>& _globposeta,
1653  const std::vector<float>& _locposx,
1654  const std::vector<float>& _locposy,
1655  const std::vector<float>& _locposz,
1656  const std::vector<float>& _locdirx,
1657  const std::vector<float>& _locdiry,
1658  const std::vector<float>& _locdirz,
1659  const std::vector<float>& _locdirtheta,
1660  const std::vector<float>& _locdirphi,
1661  const std::vector<float>& _exitpointx,
1662  const std::vector<float>& _exitpointy,
1663  const std::vector<float>& _exitpointz,
1664  const std::vector<float>& _entrypointx,
1665  const std::vector<float>& _entrypointy,
1666  const std::vector<float>& _entrypointz,
1667  const std::vector<float>& _enloss,
1668  const std::vector<float>& _tof);
1669 
1670  void putDTHits(const std::vector<unsigned int>& _detUnitId,
1671  const std::vector<float>& _trackId,
1672  const std::vector<float>& _processType,
1673  const std::vector<float>& _particleType,
1674  const std::vector<float>& _pabs,
1675  const std::vector<float>& _globposz,
1676  const std::vector<float>& _globposphi,
1677  const std::vector<float>& _globposeta,
1678  const std::vector<float>& _locposx,
1679  const std::vector<float>& _locposy,
1680  const std::vector<float>& _locposz,
1681  const std::vector<float>& _locdirx,
1682  const std::vector<float>& _locdiry,
1683  const std::vector<float>& _locdirz,
1684  const std::vector<float>& _locdirtheta,
1685  const std::vector<float>& _locdirphi,
1686  const std::vector<float>& _exitpointx,
1687  const std::vector<float>& _exitpointy,
1688  const std::vector<float>& _exitpointz,
1689  const std::vector<float>& _entrypointx,
1690  const std::vector<float>& _entrypointy,
1691  const std::vector<float>& _entrypointz,
1692  const std::vector<float>& _enloss,
1693  const std::vector<float>& _tof);
1694 
1695  void putRPCHits(const std::vector<unsigned int>& _detUnitId,
1696  const std::vector<float>& _trackId,
1697  const std::vector<float>& _processType,
1698  const std::vector<float>& _particleType,
1699  const std::vector<float>& _pabs,
1700  const std::vector<float>& _globposz,
1701  const std::vector<float>& _globposphi,
1702  const std::vector<float>& _globposeta,
1703  const std::vector<float>& _locposx,
1704  const std::vector<float>& _locposy,
1705  const std::vector<float>& _locposz,
1706  const std::vector<float>& _locdirx,
1707  const std::vector<float>& _locdiry,
1708  const std::vector<float>& _locdirz,
1709  const std::vector<float>& _locdirtheta,
1710  const std::vector<float>& _locdirphi,
1711  const std::vector<float>& _exitpointx,
1712  const std::vector<float>& _exitpointy,
1713  const std::vector<float>& _exitpointz,
1714  const std::vector<float>& _entrypointx,
1715  const std::vector<float>& _entrypointy,
1716  const std::vector<float>& _entrypointz,
1717  const std::vector<float>& _enloss,
1718  const std::vector<float>& _tof);
1719 
1721 
1722  int getnRawGenPart() { return nRawGenPart; }
1723  int getnG4Vtx() { return nG4Vtx; }
1724  int getnG4Trk() { return nG4Trk; }
1725 
1726  VtxVector getG4Vtx() { return G4Vtx; }
1727  TrkVector getG4Trk() { return G4Trk; }
1728 
1729  int getnCSCHits() { return nCSCHits; }
1731 
1732  int getnDTHits() { return nDTHits; }
1733  DTVector getDTHits() { return DTHits; }
1734 
1735  int getnRPCHits() { return nRPCHits; }
1737 
1738 private:
1740 
1742  int nG4Vtx;
1744  int nG4Trk;
1746 
1748 
1751 
1752  int nDTHits;
1754 
1757 };
1758 
1759 #endif
1760 
1762 // PTrackerSimHit
1764 
1765 #ifndef PTrackerSimHit_h
1766 #define PTrackerSimHit_h
1767 
1768 #include <vector>
1769 #include <memory>
1770 
1772 public:
1774  virtual ~PTrackerSimHit() {}
1775 
1776  struct Vtx {
1777  Vtx() : x(0), y(0), z(0) {}
1778  float x;
1779  float y;
1780  float z;
1781  };
1782 
1783  struct Trk {
1784  Trk() : pt(0), e(0), eta(0), phi(0) {}
1785  float pt;
1786  float e;
1787  float eta;
1788  float phi;
1789  };
1790 
1791  struct Hit {
1793  : _sysID(0),
1794  _detUnitId(0),
1795  _trackId(0),
1796  _processType(0),
1797  _particleType(0),
1798  _pabs(0),
1799  _lpx(0),
1800  _lpy(0),
1801  _lpz(0),
1802  _ldx(0),
1803  _ldy(0),
1804  _ldz(0),
1805  _ldtheta(0),
1806  _ldphi(0),
1807  _exx(0),
1808  _exy(0),
1809  _exz(0),
1810  _enx(0),
1811  _eny(0),
1812  _enz(0),
1813  _eloss(0),
1814  _tof(0) {}
1815  int _sysID;
1816  float _detUnitId;
1817  float _trackId;
1820  float _pabs;
1821  float _lpx;
1822  float _lpy;
1823  float _lpz;
1824  float _ldx;
1825  float _ldy;
1826  float _ldz;
1827  float _ldtheta;
1828  float _ldphi;
1829  float _exx;
1830  float _exy;
1831  float _exz;
1832  float _enx;
1833  float _eny;
1834  float _enz;
1835  float _eloss;
1836  float _tof;
1837  };
1838 
1839  typedef std::vector<Vtx> VtxVector;
1840  typedef std::vector<Trk> TrkVector;
1841  typedef std::vector<Hit> HitVector;
1842 
1843  // put functions
1844  void putRawGenPart(int n);
1845  void putG4Vtx(const std::vector<float>& x, const std::vector<float>& y, const std::vector<float>& z);
1846  void putG4Trk(const std::vector<float>& pt,
1847  const std::vector<float>& e,
1848  const std::vector<float>& eta,
1849  const std::vector<float>& phi);
1850  void putHits(const std::vector<int>& _sysID,
1851  const std::vector<float>& _detUnitId,
1852  const std::vector<float>& _trackId,
1853  const std::vector<float>& _processType,
1854  const std::vector<float>& _particleType,
1855  const std::vector<float>& _pabs,
1856  const std::vector<float>& _lpx,
1857  const std::vector<float>& _lpy,
1858  const std::vector<float>& _lpz,
1859  const std::vector<float>& _ldx,
1860  const std::vector<float>& _ldy,
1861  const std::vector<float>& _ldz,
1862  const std::vector<float>& _ldtheta,
1863  const std::vector<float>& _ldphi,
1864  const std::vector<float>& _exx,
1865  const std::vector<float>& _exy,
1866  const std::vector<float>& _exz,
1867  const std::vector<float>& _enx,
1868  const std::vector<float>& _eny,
1869  const std::vector<float>& _enz,
1870  const std::vector<float>& _eloss,
1871  const std::vector<float>& _tof);
1872 
1873  // get functions
1874  int getnRawGenPart() { return nRawGenPart; }
1875  int getnG4Vtx() { return nG4Vtx; }
1876  VtxVector getG4Vtx() { return G4Vtx; }
1877  int getnG4Trk() { return nG4Trk; }
1878  TrkVector getG4Trk() { return G4Trk; }
1879  int getnHits() { return nHits; }
1880  HitVector getHits() { return Hits; }
1881 
1882 private:
1883  // G4MC info
1885  int nG4Vtx;
1887  int nG4Trk;
1889  // Tracker info
1890  int nHits;
1892 
1893 }; // end class declaration
1894 
1895 #endif
1896 
1897 #endif // endif PValidationFormats_h
int getnFWD1pDigis() const
void putTIBL1RecHits(const std::vector< float > &rx, const std::vector< float > &ry, const std::vector< float > &sx, const std::vector< float > &sy)
std::vector< float > tNxN
void putTECW7Digis(const std::vector< float > &adc, const std::vector< int > &strip)
int getnBRL1Digis() const
TrkVector getG4Trk()
void fillJets(const std::vector< double > &enj, const std::vector< double > &etaj, const std::vector< double > &phij)
void putTOBL4Digis(const std::vector< float > &adc, const std::vector< int > &strip)
int crystalInEEzm() const
SiStripDigiVector getTECW5Digis() const
FloatVector eOfEEMinusCaloG4Hit
std::vector< float > jetEta
SiStripRecHitVector TOBL2RecHits
FloatVector eOfESCaloG4Hit
int getnFWD2nRecHits() const
std::vector< float > jetphi() const
SiStripRecHitVector getTECW1RecHits() const
SiStripDigiVector getTECW7Digis() const
virtual ~PGlobalDigi()
void putFWD2pDigis(const std::vector< float > &adc, const std::vector< int > &row, const std::vector< int > &column)
int getnTIDW2Digis() const
FwdVector getMuonCscHits() const
void putTOBL1Digis(const std::vector< float > &adc, const std::vector< int > &strip)
int getnCSCRecHits() const
DTDigiVector getMB3Digis() const
int getnMuonDtHits() const
std::vector< Trk > TrkVector
void putHFCalRecHits(const std::vector< float > &rec, const std::vector< float > &r, const std::vector< float > &she)
SiPixelRecHitVector getBRL1RecHits() const
HCalDigiVector getHOCalDigis() const
SiStripRecHitVector getTIDW2RecHits() const
HCalRecHitVector HFCalRecHits
HCalDigiVector HOCalDigis
std::vector< float > jethitt() const
int getnMB1Digis() const
SiStripDigiVector getTOBL3Digis() const
float eb1x1() const
int getnTIDW1Digis() const
std::vector< Trk > TrkVector
float ee4x4() const
SiPixelRecHitVector FWD2nRecHits
int getnTIBL1RecHits() const
void fillHvsE(double ee, double he, double hoe, double etot)
int getnRPCRecHits() const
std::vector< float > jetPhi
void fillTProfileJet(double e, double r, double t)
SiPixelRecHitVector FWD1nRecHits
std::vector< Trk > TrkVector
std::vector< float > FloatVector
FloatVector eOfEEPlusCaloG4Hit
HCalRecHitVector getHOCalRecHits() const
void putHECalRecHits(const std::vector< float > &rec, const std::vector< float > &r, const std::vector< float > &she)
CSCwireDigiVector CSCwireDigis
std::vector< SiPixelDigi > SiPixelDigiVector
int getnBRL3RecHits() const
int getnTIDW3Digis() const
void putFWD1nRecHits(const std::vector< float > &rx, const std::vector< float > &ry, const std::vector< float > &sx, const std::vector< float > &sy)
void putBRL3Digis(const std::vector< float > &adc, const std::vector< int > &row, const std::vector< int > &column)
void putTOBL4RecHits(const std::vector< float > &rx, const std::vector< float > &ry, const std::vector< float > &sx, const std::vector< float > &sy)
FloatVector phiOfiESHits() const
std::vector< ECalRecHit > ECalRecHitVector
FloatVector eIn1ES() const
void putHCalHits(const std::vector< float > &e, const std::vector< float > &tof, const std::vector< float > &phi, const std::vector< float > &eta)
FloatVector phiOfEECaloG4Hit
std::vector< float > jetE
void fillLayers(double el[], double ed[], double ho, double hbhe, double ebee)
SiStripRecHitVector TIDW1RecHits
DTVector getDTHits()
void putHBCalRecHits(const std::vector< float > &rec, const std::vector< float > &r, const std::vector< float > &she)
SiStripDigiVector TECW4Digis
SiStripDigiVector getTOBL2Digis() const
void fillEcollectJet(double ee, double he, double hoe, double etot)
SiStripDigiVector getTIBL2Digis() const
math::XYZTLorentzVector vertex() const
FloatVector tOfEECaloG4Hit
int getnTECW3Digis() const
SiStripDigiVector getTIDW1Digis() const
FloatVector eIn2ES() const
void putMuonRpcFwdHits(const std::vector< float > &tof, const std::vector< float > &z, const std::vector< float > &phi, const std::vector< float > &eta)
std::vector< float > eNxN
float eInEB() const
SiStripDigiVector TIDW3Digis
int getnTECW4RecHits() const
void fillEtaPhiProfileJet(double eta0, double phi0, double eta, double phi, double dist)
FloatVector tOfEBHits() const
void putTECW6RecHits(const std::vector< float > &rx, const std::vector< float > &ry, const std::vector< float > &sx, const std::vector< float > &sy)
int getnTOBL1Digis() const
void putBRL1RecHits(const std::vector< float > &rx, const std::vector< float > &ry, const std::vector< float > &sx, const std::vector< float > &sy)
void putTECW8RecHits(const std::vector< float > &rx, const std::vector< float > &ry, const std::vector< float > &sx, const std::vector< float > &sy)
SiStripDigiVector getTIBL1Digis() const
int nRawGenPart
G4MC info.
int getnHECalDigis() const
int getnEECalRecHits() const
void putMuonRpcBrlHits(const std::vector< float > &tof, const std::vector< float > &r, const std::vector< float > &phi, const std::vector< float > &eta)
void putEECalRecHits(const std::vector< float > &re, const std::vector< float > &she)
int getnFWD2nDigis() const
float ee3x3() const
int getnESCalDigis() const
void putRawGenPart(int n)
put functions
void putTECW5RecHits(const std::vector< float > &rx, const std::vector< float > &ry, const std::vector< float > &sx, const std::vector< float > &sy)
SiStripRecHitVector TIBL3RecHits
void putTECW7RecHits(const std::vector< float > &rx, const std::vector< float > &ry, const std::vector< float > &sx, const std::vector< float > &sy)
FwdVector getPxlFwdHits() const
int getnHFCalDigis() const
int hitsIn1ESzp() const
void fillDiJets(double mass)
FwdVector MuonRpcFwdHits
std::vector< CSC > CSCVector
void putCSCRecHits(const std::vector< float > &rhphi, const std::vector< float > &rhperp, const std::vector< float > &shphi)
void putRawGenPart(int n)
void putTECW2RecHits(const std::vector< float > &rx, const std::vector< float > &ry, const std::vector< float > &sx, const std::vector< float > &sy)
void putMB1Digis(const std::vector< int > &slayer, const std::vector< float > &time, const std::vector< int > &layer)
SiPixelDigiVector getBRL1Digis() const
FloatVector eIn2ESzp() const
friend class EcalTestAnalysis
int getnTECW6Digis() const
void putTIDW1RecHits(const std::vector< float > &rx, const std::vector< float > &ry, const std::vector< float > &sx, const std::vector< float > &sy)
SiStripRecHitVector getTECW4RecHits() const
SiStripRecHitVector TECW1RecHits
FloatVector etaOfEECaloG4Hit
int getnTIBL3Digis() const
FloatVector phiOfEBCaloG4Hit
FloatVector etaOfESHits() const
void putRPCRecHits(const std::vector< float > &rhx, const std::vector< float > &shx)
std::vector< float > eHit() const
std::vector< float > hitE
void putTECW1RecHits(const std::vector< float > &rx, const std::vector< float > &ry, const std::vector< float > &sx, const std::vector< float > &sy)
int getnTOBL3Digis() const
SiStripRecHitVector TIBL4RecHits
std::vector< float > enxn() const
int getnEECalDigis() const
void putMuonCscHits(const std::vector< float > &tof, const std::vector< float > &z, const std::vector< float > &phi, const std::vector< float > &eta)
FloatVector eIn1ESzm() const
BrlVector getMuonRpcBrlHits() const
void putECalHits(const std::vector< float > &e, const std::vector< float > &tof, const std::vector< float > &phi, const std::vector< float > &eta)
SiStripRecHitVector TECW4RecHits
int hitsIn2ESzp() const
SiStripRecHitVector TIDW2RecHits
CalVector getPreShHits() const
float ee2x2() const
SiPixelRecHitVector FWD1pRecHits
std::vector< CSCwireDigi > CSCwireDigiVector
ESCalDigiVector ESCalDigis
std::vector< float > eDepth
VtxVector getG4Vtx()
std::vector< DT > DTVector
std::vector< CSCRecHit > CSCRecHitVector
void putHOCalDigis(const std::vector< float > &aee, const std::vector< float > &she)
int getnTECW2Digis() const
SiStripRecHitVector getTIBL3RecHits() const
SiPixelDigiVector FWD1nDigis
CSCstripDigiVector CSCstripDigis
int getnMB3Digis() const
BrlVector getPxlBrlHits() const
HCalRecHitVector HOCalRecHits
void putFWD2nDigis(const std::vector< float > &adc, const std::vector< int > &row, const std::vector< int > &column)
SiStripDigiVector TECW2Digis
DTRecHitVector getDTRecHits() const
std::vector< float > idHit() const
SiStripDigiVector TIDW1Digis
void putFWD1nDigis(const std::vector< float > &adc, const std::vector< int > &row, const std::vector< int > &column)
SiStripDigiVector TOBL2Digis
FloatVector eOfEEHits() const
void putTECW8Digis(const std::vector< float > &adc, const std::vector< int > &strip)
SiStripDigiVector TIBL4Digis
unsigned int _detUnitId
std::vector< float > jetHitt
SiStripDigiVector getTECW6Digis() const
int getnPxlBrlHits() const
void putG4Vtx(const std::vector< float > &x, const std::vector< float > &y, const std::vector< float > &z)
int getnTIBL4RecHits() const
void putFWD1pDigis(const std::vector< float > &adc, const std::vector< int > &row, const std::vector< int > &column)
void putHits(const std::vector< int > &_sysID, const std::vector< float > &_detUnitId, const std::vector< float > &_trackId, const std::vector< float > &_processType, const std::vector< float > &_particleType, const std::vector< float > &_pabs, const std::vector< float > &_lpx, const std::vector< float > &_lpy, const std::vector< float > &_lpz, const std::vector< float > &_ldx, const std::vector< float > &_ldy, const std::vector< float > &_ldz, const std::vector< float > &_ldtheta, const std::vector< float > &_ldphi, const std::vector< float > &_exx, const std::vector< float > &_exy, const std::vector< float > &_exz, const std::vector< float > &_enx, const std::vector< float > &_eny, const std::vector< float > &_enz, const std::vector< float > &_eloss, const std::vector< float > &_tof)
FloatVector etaOfEBCaloG4Hit
int getnTOBL4Digis() const
std::vector< float > hitId
float eInES() const
SiStripRecHitVector TIDW3RecHits
int getnTECW1RecHits() const
std::vector< float > layerHit() const
math::XYZTLorentzVector theVertex
HCalDigiVector HECalDigis
void fillHits(int Nhits, int lay, int unitID, double eta, double phi, double ehit, double t)
int getnTECW5Digis() const
math::XYZTLorentzVector theMomentum
int getnMuonRpcFwdHits() const
SiStripDigiVector TOBL3Digis
constexpr std::array< uint8_t, layerIndexSize > layer
int getnMuonRpcBrlHits() const
void putBRL2RecHits(const std::vector< float > &rx, const std::vector< float > &ry, const std::vector< float > &sx, const std::vector< float > &sy)
void putTIDW3Digis(const std::vector< float > &adc, const std::vector< int > &strip)
void putTECW3Digis(const std::vector< float > &adc, const std::vector< int > &strip)
ECalRecHitVector EBCalRecHits
SiStripDigiVector TECW1Digis
SiStripDigiVector getTECW4Digis() const
SiPixelRecHitVector BRL1RecHits
std::vector< RPCRecHit > RPCRecHitVector
CSCRecHitVector CSCRecHits
void putBRL1Digis(const std::vector< float > &adc, const std::vector< int > &row, const std::vector< int > &column)
SiPixelRecHitVector getFWD1nRecHits() const
int getnTECW2RecHits() const
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:29
SiPixelDigiVector FWD1pDigis
float ee5x5() const
FloatVector eOfEEMinusHits() const
int nCSCHits
Hit info.
SiStripRecHitVector TECW6RecHits
int getnHCalHits() const
CalVector getECalHits() const
int getnFWD1nDigis() const
SiStripDigiVector getTECW8Digis() const
void putTECW6Digis(const std::vector< float > &adc, const std::vector< int > &strip)
void putG4Trk(const std::vector< float > &pt, const std::vector< float > &e)
std::vector< float > etaHit() const
int getnBRL2Digis() const
FloatVector eIn1ESzp() const
SiStripRecHitVector getTECW6RecHits() const
DTDigiVector getMB2Digis() const
std::vector< float > tnxn() const
int getnTIBL4Digis() const
int getnTECW8RecHits() const
void putHBCalDigis(const std::vector< float > &aee, const std::vector< float > &she)
int getnSiFwdHits() const
void putTECW2Digis(const std::vector< float > &adc, const std::vector< int > &strip)
float eInESzm() const
void putTOBL1RecHits(const std::vector< float > &rx, const std::vector< float > &ry, const std::vector< float > &sx, const std::vector< float > &sy)
std::vector< float > jeteta() const
HCalDigiVector HFCalDigis
RPCVector getRPCHits()
int getnTECW1Digis() const
void putTIDW2RecHits(const std::vector< float > &rx, const std::vector< float > &ry, const std::vector< float > &sx, const std::vector< float > &sy)
HCalDigiVector getHECalDigis() const
void putFWD2nRecHits(const std::vector< float > &rx, const std::vector< float > &ry, const std::vector< float > &sx, const std::vector< float > &sy)
FwdVector getMuonRpcFwdHits() const
void putEBCalDigis(const std::vector< int > &maxpos, const std::vector< double > &aee, const std::vector< float > &she)
SiPixelDigiVector BRL3Digis
HCalRecHitVector HBCalRecHits
int getnPreShHits() const
FloatVector tOfESHits() const
std::vector< float > hitPhi
virtual ~PMuonSimHit()
ECalDigiVector EECalDigis
void putG4Trk(const std::vector< float > &pt, const std::vector< float > &e, const std::vector< float > &eta, const std::vector< float > &phi)
std::vector< DTDigi > DTDigiVector
SiPixelDigiVector getFWD1nDigis() const
void putHOCalRecHits(const std::vector< float > &rec, const std::vector< float > &r, const std::vector< float > &she)
std::vector< SiStripRecHit > SiStripRecHitVector
int getnBRL3Digis() const
SiStripDigiVector TIBL3Digis
HCalRecHitVector getHFCalRecHits() const
void putTECW3RecHits(const std::vector< float > &rx, const std::vector< float > &ry, const std::vector< float > &sx, const std::vector< float > &sy)
int getnHBCalRecHits() const
BrlVector MuonRpcBrlHits
void putTOBL3RecHits(const std::vector< float > &rx, const std::vector< float > &ry, const std::vector< float > &sx, const std::vector< float > &sy)
void putTIBL2RecHits(const std::vector< float > &rx, const std::vector< float > &ry, const std::vector< float > &sx, const std::vector< float > &sy)
void putSiBrlHits(const std::vector< float > &tof, const std::vector< float > &r, const std::vector< float > &phi, const std::vector< float > &eta)
void putTECW1Digis(const std::vector< float > &adc, const std::vector< int > &strip)
void putPxlFwdHits(const std::vector< float > &tof, const std::vector< float > &z, const std::vector< float > &phi, const std::vector< float > &eta)
ECalDigiVector getEECalDigis() const
int getnHFCalRecHits() const
int getnHECalRecHits() const
HCalDigiVector getHFCalDigis() const
SiStripRecHitVector getTIBL2RecHits() const
FloatVector eOfEBCaloG4Hit
std::vector< float > jete() const
SiStripRecHitVector TIBL2RecHits
std::vector< CalHit > CalVector
SiStripDigiVector TECW7Digis
void putHFCalDigis(const std::vector< float > &aee, const std::vector< float > &she)
SiStripDigiVector getTIBL3Digis() const
ECalRecHitVector ESCalRecHits
FloatVector bX0() const
int getnTIBL3RecHits() const
DTDigiVector MB4Digis
void putTECW4Digis(const std::vector< float > &adc, const std::vector< int > &strip)
SiPixelDigiVector getBRL3Digis() const
std::vector< Hit > HitVector
SiStripDigiVector TIDW2Digis
void putTOBL2Digis(const std::vector< float > &adc, const std::vector< int > &strip)
SiStripRecHitVector TECW8RecHits
FloatVector tOfEEHits() const
int getnCSCstripDigis() const
SiStripRecHitVector TOBL3RecHits
FloatVector eIn2ESzm() const
std::vector< float > jethite() const
void putESCalDigis(const std::vector< float > &adc0, const std::vector< float > &adc1, const std::vector< float > &adc2, const std::vector< float > &she)
int getnTIBL1Digis() const
int getnTOBL1RecHits() const
FloatVector phiOfESCaloG4Hit
int getnECalHits() const
void putEBCalRecHits(const std::vector< float > &re, const std::vector< float > &she)
int getnCSCwireDigis() const
SiStripRecHitVector TIBL1RecHits
SiStripDigiVector getTECW3Digis() const
void putBRL3RecHits(const std::vector< float > &rx, const std::vector< float > &ry, const std::vector< float > &sx, const std::vector< float > &sy)
SiStripDigiVector getTECW2Digis() const
void putG4Vtx(const std::vector< float > &x, const std::vector< float > &y, const std::vector< float > &z)
SiStripRecHitVector getTECW8RecHits() const
std::vector< DTRecHit > DTRecHitVector
float ee1x1() const
friend class SimHitSingleTest
SiStripDigiVector TECW3Digis
int hitsIn2ESzm() const
void putSiFwdHits(const std::vector< float > &tof, const std::vector< float > &z, const std::vector< float > &phi, const std::vector< float > &eta)
std::vector< float > idnxn() const
int getnFWD1pRecHits() const
SiStripRecHitVector getTECW2RecHits() const
DTDigiVector getMB1Digis() const
void putTECW5Digis(const std::vector< float > &adc, const std::vector< int > &strip)
CSCstripDigiVector getCSCstripDigis() const
void putMB4Digis(const std::vector< int > &slayer, const std::vector< float > &time, const std::vector< int > &layer)
SiPixelDigiVector BRL2Digis
FloatVector eOfEBHits() const
SiPixelDigiVector getBRL2Digis() const
void putDTHits(const std::vector< unsigned int > &_detUnitId, const std::vector< float > &_trackId, const std::vector< float > &_processType, const std::vector< float > &_particleType, const std::vector< float > &_pabs, const std::vector< float > &_globposz, const std::vector< float > &_globposphi, const std::vector< float > &_globposeta, const std::vector< float > &_locposx, const std::vector< float > &_locposy, const std::vector< float > &_locposz, const std::vector< float > &_locdirx, const std::vector< float > &_locdiry, const std::vector< float > &_locdirz, const std::vector< float > &_locdirtheta, const std::vector< float > &_locdirphi, const std::vector< float > &_exitpointx, const std::vector< float > &_exitpointy, const std::vector< float > &_exitpointz, const std::vector< float > &_entrypointx, const std::vector< float > &_entrypointy, const std::vector< float > &_entrypointz, const std::vector< float > &_enloss, const std::vector< float > &_tof)
int getnBRL2RecHits() const
int getnRawGenPart() const
int getnFWD2pDigis() const
std::vector< float > idNxN
int getnMB2Digis() const
int getnTECW4Digis() const
SiStripRecHitVector getTIDW1RecHits() const
void fillEcollectNxN(double een, double hen, double hoen, double etotn)
int getnPxlFwdHits() const
int crystalInEB() const
int getnTECW7RecHits() const
void putBRL2Digis(const std::vector< float > &adc, const std::vector< int > &row, const std::vector< int > &column)
int getnTIBL2Digis() const
void putTIBL4RecHits(const std::vector< float > &rx, const std::vector< float > &ry, const std::vector< float > &sx, const std::vector< float > &sy)
SiPixelDigiVector getFWD1pDigis() const
void putESCalRecHits(const std::vector< float > &re, const std::vector< float > &she)
int getnTECW7Digis() const
void putCSCHits(const std::vector< int > &_cscId, const std::vector< unsigned int > &_detUnitId, const std::vector< float > &_trackId, const std::vector< float > &_processType, const std::vector< float > &_particleType, const std::vector< float > &_pabs, const std::vector< float > &_globposz, const std::vector< float > &_globposphi, const std::vector< float > &_globposeta, const std::vector< float > &_locposx, const std::vector< float > &_locposy, const std::vector< float > &_locposz, const std::vector< float > &_locdirx, const std::vector< float > &_locdiry, const std::vector< float > &_locdirz, const std::vector< float > &_locdirtheta, const std::vector< float > &_locdirphi, const std::vector< float > &_exitpointx, const std::vector< float > &_exitpointy, const std::vector< float > &_exitpointz, const std::vector< float > &_entrypointx, const std::vector< float > &_entrypointy, const std::vector< float > &_entrypointz, const std::vector< float > &_enloss, const std::vector< float > &_tof)
float eInEE() const
void putFWD1pRecHits(const std::vector< float > &rx, const std::vector< float > &ry, const std::vector< float > &sx, const std::vector< float > &sy)
int getnG4Vtx() const
int getnHBCalDigis() const
friend class PreshowerTestAnalysis
SiPixelDigiVector FWD2pDigis
void putPreShHits(const std::vector< float > &e, const std::vector< float > &tof, const std::vector< float > &phi, const std::vector< float > &eta)
SiStripRecHitVector getTECW7RecHits() const
virtual ~PGlobalRecHit()
SiStripRecHitVector getTIBL1RecHits() const
SiStripRecHitVector TECW7RecHits
HCalRecHitVector HECalRecHits
ECalRecHitVector getEECalRecHits() const
DTDigiVector MB2Digis
HCalDigiVector getHBCalDigis() const
void putHECalDigis(const std::vector< float > &aee, const std::vector< float > &she)
std::vector< HCalRecHit > HCalRecHitVector
int getnEBCalDigis() const
float eb3x3() const
SiStripRecHitVector getTOBL4RecHits() const
BrlVector getSiBrlHits() const
DTDigiVector MB1Digis
std::vector< float > phiHit() const
BrlVector getMuonDtHits() const
void putDTRecHits(const std::vector< float > &rhd, const std::vector< float > &shd)
SiPixelRecHitVector BRL3RecHits
RPCRecHitVector RPCRecHits
void fillTProfileNxN(double e, int i, double t)
std::vector< float > eLayer
TrkVector getG4Trk() const
float eInEEzp() const
int getnFWD1nRecHits() const
std::vector< RPC > RPCVector
SiStripDigiVector TECW8Digis
int getnMuonCscHits() const
FloatVector etaOfEEHits() const
FloatVector phiOfEEHits() const
SiPixelDigiVector FWD2nDigis
SiPixelRecHitVector FWD2pRecHits
CSCVector getCSCHits()
void putEECalDigis(const std::vector< int > &maxpos, const std::vector< double > &aee, const std::vector< float > &she)
int getnTOBL3RecHits() const
CSCwireDigiVector getCSCwireDigis() const
SiStripDigiVector TOBL1Digis
CSCRecHitVector getCSCRecHits() const
std::vector< CSCstripDigi > CSCstripDigiVector
ECalDigiVector getEBCalDigis() const
SiStripRecHitVector TECW5RecHits
SiStripRecHitVector getTOBL3RecHits() const
SiPixelRecHitVector BRL2RecHits
void putTIBL1Digis(const std::vector< float > &adc, const std::vector< int > &strip)
int getnHOCalRecHits() const
FloatVector eX0() const
int getnTECW3RecHits() const
SiStripRecHitVector getTECW3RecHits() const
void putMB2Digis(const std::vector< int > &slayer, const std::vector< float > &time, const std::vector< int > &layer)
int getnTOBL4RecHits() const
DTRecHitVector DTRecHits
FloatVector etaOfESCaloG4Hit
SiPixelRecHitVector getFWD1pRecHits() const
SiStripDigiVector TECW5Digis
HCalRecHitVector getHBCalRecHits() const
int getnTECW5RecHits() const
ECalDigiVector EBCalDigis
SiStripRecHitVector getTIBL4RecHits() const
SiStripDigiVector getTOBL1Digis() const
int getnMB4Digis() const
RPCRecHitVector getRPCRecHits() const
std::vector< float > jetHite
int hitsIn1ESzm() const
void putTOBL2RecHits(const std::vector< float > &rx, const std::vector< float > &ry, const std::vector< float > &sx, const std::vector< float > &sy)
DTDigiVector MB3Digis
SiStripRecHitVector getTOBL2RecHits() const
std::vector< Vtx > VtxVector
SiPixelRecHitVector getBRL2RecHits() const
int getnDTRecHits() const
int getnSiBrlHits() const
std::vector< Vtx > VtxVector
int getnEBCalRecHits() const
int getnHOCalDigis() const
SiPixelDigiVector BRL1Digis
FloatVector eOfEEPlusHits() const
int getnTOBL2RecHits() const
SiStripDigiVector getTIDW2Digis() const
int getnBRL1RecHits() const
void putPxlBrlHits(const std::vector< float > &tof, const std::vector< float > &r, const std::vector< float > &phi, const std::vector< float > &eta)
float eb4x4() const
SiPixelDigiVector getFWD2pDigis() const
SiPixelRecHitVector getFWD2nRecHits() const
void putTIDW2Digis(const std::vector< float > &adc, const std::vector< int > &strip)
void putRawGenPart(int n)
ECalRecHitVector getEBCalRecHits() const
std::vector< ECalDigi > ECalDigiVector
FwdVector getSiFwdHits() const
void putG4Vtx(const std::vector< float > &x, const std::vector< float > &y, const std::vector< float > &z)
std::vector< SiPixelRecHit > SiPixelRecHitVector
int getnG4Trk() const
int getnRawGenPart()
get functions
SiStripRecHitVector getTECW5RecHits() const
void putMB3Digis(const std::vector< int > &slayer, const std::vector< float > &time, const std::vector< int > &layer)
int getnFWD2pRecHits() const
void putRPCHits(const std::vector< unsigned int > &_detUnitId, const std::vector< float > &_trackId, const std::vector< float > &_processType, const std::vector< float > &_particleType, const std::vector< float > &_pabs, const std::vector< float > &_globposz, const std::vector< float > &_globposphi, const std::vector< float > &_globposeta, const std::vector< float > &_locposx, const std::vector< float > &_locposy, const std::vector< float > &_locposz, const std::vector< float > &_locdirx, const std::vector< float > &_locdiry, const std::vector< float > &_locdirz, const std::vector< float > &_locdirtheta, const std::vector< float > &_locdirphi, const std::vector< float > &_exitpointx, const std::vector< float > &_exitpointy, const std::vector< float > &_exitpointz, const std::vector< float > &_entrypointx, const std::vector< float > &_entrypointy, const std::vector< float > &_entrypointz, const std::vector< float > &_enloss, const std::vector< float > &_tof)
int getnTIBL2RecHits() const
SiStripDigiVector getTIDW3Digis() const
SiStripRecHitVector TOBL4RecHits
std::vector< FwdHit > FwdVector
SiPixelRecHitVector getFWD2pRecHits() const
int getnTECW6RecHits() const
void putMuonDtHits(const std::vector< float > &tof, const std::vector< float > &r, const std::vector< float > &phi, const std::vector< float > &eta)
int getnTIDW3RecHits() const
SiStripDigiVector getTIBL4Digis() const
FloatVector tOfESCaloG4Hit
FloatVector etaOfEBHits() const
std::vector< SiStripDigi > SiStripDigiVector
std::vector< float > edepth() const
VtxVector getG4Vtx() const
std::vector< float > hitEta
float eInEEzm() const
float eb2x2() const
FloatVector zOfInES() const
int crystalInEEzp() const
SiStripDigiVector TOBL4Digis
int getnTIDW2RecHits() const
void putCSCwireDigis(const std::vector< float > &time)
float eInESzp() const
FloatVector phiOfEBHits() const
void putTIBL4Digis(const std::vector< float > &adc, const std::vector< int > &strip)
SiStripRecHitVector TOBL1RecHits
void putTIBL2Digis(const std::vector< float > &adc, const std::vector< int > &strip)
HCalDigiVector HBCalDigis
FloatVector tOfEBCaloG4Hit
SiStripRecHitVector getTIDW3RecHits() const
float eb5x5() const
void putTIBL3Digis(const std::vector< float > &adc, const std::vector< int > &strip)
std::vector< Vtx > VtxVector
int getnTOBL2Digis() const
FloatVector eOfEECaloG4Hit
ECalRecHitVector getESCalRecHits() const
std::vector< float > elayer() const
SiStripDigiVector TECW6Digis
SiStripRecHitVector TECW2RecHits
SiStripDigiVector TIBL1Digis
void putTECW4RecHits(const std::vector< float > &rx, const std::vector< float > &ry, const std::vector< float > &sx, const std::vector< float > &sy)
SiStripDigiVector getTECW1Digis() const
FloatVector eOfESHits() const
SiStripRecHitVector getTOBL1RecHits() const
void putG4Trk(const std::vector< float > &pt, const std::vector< float > &e, const std::vector< float > &eta, const std::vector< float > &phi)
ECalRecHitVector EECalRecHits
std::vector< BrlHit > BrlVector
void putTOBL3Digis(const std::vector< float > &adc, const std::vector< int > &strip)
void putFWD2pRecHits(const std::vector< float > &rx, const std::vector< float > &ry, const std::vector< float > &sx, const std::vector< float > &sy)
int getnTIDW1RecHits() const
SiStripRecHitVector TECW3RecHits
std::vector< float > jethitr() const
int getnESCalRecHits() const
math::XYZTLorentzVector momentum() const
void putCSCstripDigis(const std::vector< float > &adc)
DTDigiVector getMB4Digis() const
SiStripDigiVector TIBL2Digis
void putTIDW3RecHits(const std::vector< float > &rx, const std::vector< float > &ry, const std::vector< float > &sx, const std::vector< float > &sy)
ESCalDigiVector getESCalDigis() const
HCalRecHitVector getHECalRecHits() const
void putTIBL3RecHits(const std::vector< float > &rx, const std::vector< float > &ry, const std::vector< float > &sx, const std::vector< float > &sy)
void fillHF(double fibl, double fibs, double enec, double enhc)
uint16_t *__restrict__ uint16_t const *__restrict__ adc
std::vector< ESCalDigi > ESCalDigiVector
std::vector< HCalDigi > HCalDigiVector
std::vector< float > hitTime
int hitsInEcal() const
virtual ~PGlobalSimHit()
SiStripDigiVector getTOBL4Digis() const
SiPixelRecHitVector getBRL3RecHits() const
SiPixelDigiVector getFWD2nDigis() const
std::vector< float > jetHitr
std::vector< float > tHit() const
std::vector< float > hitLayer
int getnTECW8Digis() const
void putTIDW1Digis(const std::vector< float > &adc, const std::vector< int > &strip)
CalVector getHCalHits() const