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 {
22 
23  public:
24 
29  nMuonRpcBrlHits(0) {}
30  virtual ~PGlobalSimHit(){}
31 
32  struct Vtx
33  {
34  Vtx(): x(0), y(0), z(0) {}
35  float x;
36  float y;
37  float z;
38  };
39 
40  struct Trk
41  {
42  Trk() : pt(0), e(0) {}
43  float pt;
44  float e;
45  };
46 
47  struct CalHit
48  {
49  CalHit() : e(0), tof(0), phi(0), eta(0) {}
50  float e;
51  float tof;
52  float phi;
53  float eta;
54  };
55 
56  struct FwdHit
57  {
58  FwdHit() : tof(0), z(0), phi(0), eta(0) {}
59  float tof;
60  float z;
61  float phi;
62  float eta;
63  };
64 
65  struct BrlHit
66  {
67  BrlHit() : tof(0), r(0), phi(0), eta(0) {}
68  float tof;
69  float r;
70  float phi;
71  float eta;
72  };
73 
74  typedef std::vector<Vtx> VtxVector;
75  typedef std::vector<Trk> TrkVector;
76  typedef std::vector<CalHit> CalVector;
77  typedef std::vector<FwdHit> FwdVector;
78  typedef std::vector<BrlHit> BrlVector;
79 
80  // put functions
81  void putRawGenPart(int n);
82  void putG4Vtx(const std::vector<float>& x, const std::vector<float>& y,
83  const std::vector<float>& z);
84  void putG4Trk(const std::vector<float>& pt, const std::vector<float>& e);
85  void putECalHits(const std::vector<float>& e, const std::vector<float>& tof,
86  const std::vector<float>& phi, const std::vector<float>& eta);
87  void putPreShHits(const std::vector<float>& e, const std::vector<float>& tof,
88  const std::vector<float>& phi, const std::vector<float>& eta);
89  void putHCalHits(const std::vector<float>& e, const std::vector<float>& tof,
90  const std::vector<float>& phi, const std::vector<float>& eta);
91  void putPxlFwdHits(const std::vector<float>& tof, const std::vector<float>& z,
92  const std::vector<float>& phi, const std::vector<float>& eta);
93  void putPxlBrlHits(const std::vector<float>& tof, const std::vector<float>& r,
94  const std::vector<float>& phi, const std::vector<float>& eta);
95  void putSiFwdHits(const std::vector<float>& tof, const std::vector<float>& z,
96  const std::vector<float>& phi, const std::vector<float>& eta);
97  void putSiBrlHits(const std::vector<float>& tof, const std::vector<float>& r,
98  const std::vector<float>& phi, const std::vector<float>& eta);
99  void putMuonCscHits(const std::vector<float>& tof, const std::vector<float>& z,
100  const std::vector<float>& phi, const std::vector<float>& eta);
101  void putMuonDtHits(const std::vector<float>& tof, const std::vector<float>& r,
102  const std::vector<float>& phi, const std::vector<float>& eta);
103  void putMuonRpcFwdHits(const std::vector<float>& tof, const std::vector<float>& z,
104  const std::vector<float>& phi, const std::vector<float>& eta);
105  void putMuonRpcBrlHits(const std::vector<float>& tof, const std::vector<float>& r,
106  const std::vector<float>& phi, const std::vector<float>& eta);
107 
108  int getnRawGenPart() const {return nRawGenPart;}
109  int getnG4Vtx() const {return nG4Vtx;}
110  VtxVector getG4Vtx() const {return G4Vtx;}
111  int getnG4Trk() const {return nG4Trk;}
112  TrkVector getG4Trk() const {return G4Trk;}
113  int getnECalHits() const {return nECalHits;}
114  CalVector getECalHits() const {return ECalHits;}
115  int getnPreShHits() const {return nPreShHits;}
116  CalVector getPreShHits() const {return PreShHits;}
117  int getnHCalHits() const {return nHCalHits;}
118  CalVector getHCalHits() const {return HCalHits;}
119  int getnPxlFwdHits() const {return nPxlFwdHits;}
120  FwdVector getPxlFwdHits() const {return PxlFwdHits;}
121  int getnPxlBrlHits() const {return nPxlBrlHits;}
122  BrlVector getPxlBrlHits() const {return PxlBrlHits;}
123  int getnSiFwdHits() const {return nSiFwdHits;}
124  FwdVector getSiFwdHits() const {return SiFwdHits;}
125  int getnSiBrlHits() const {return nSiBrlHits;}
126  BrlVector getSiBrlHits() const {return SiBrlHits;}
127  int getnMuonDtHits() const {return nMuonDtHits;}
128  BrlVector getMuonDtHits() const {return MuonDtHits;}
129  int getnMuonCscHits() const {return nMuonCscHits;}
130  FwdVector getMuonCscHits() const {return MuonCscHits;}
131  int getnMuonRpcFwdHits() const {return nMuonRpcFwdHits;}
132  FwdVector getMuonRpcFwdHits() const {return MuonRpcFwdHits;}
133  int getnMuonRpcBrlHits() const {return nMuonRpcBrlHits;}
134  BrlVector getMuonRpcBrlHits() const {return MuonRpcBrlHits;}
135 
136  private:
137 
138  // G4MC info
140  int nG4Vtx;
141  VtxVector G4Vtx;
142  int nG4Trk;
143  TrkVector G4Trk;
144 
145  // ECal info
147  CalVector ECalHits;
149  CalVector PreShHits;
150 
151  // HCal info
153  CalVector HCalHits;
154 
155  // Tracker info
157  FwdVector PxlFwdHits;
159  BrlVector PxlBrlHits;
161  FwdVector SiFwdHits;
163  BrlVector SiBrlHits;
164 
165  // Muon info
167  BrlVector MuonDtHits;
169  FwdVector MuonCscHits;
171  FwdVector MuonRpcFwdHits;
173  BrlVector MuonRpcBrlHits;
174 
175 }; // end class declaration
176 
177 #endif // endif PGlobalHit_h
178 
180 // PGlobalDigi
182 
183 #ifndef PGlobalDigi_h
184 #define PGlobalDigi_h
185 
187 {
188  public:
189 
190  PGlobalDigi(): nEBCalDigis(0), nEECalDigis(0), nESCalDigis(0),
191  nHBCalDigis(0), nHECalDigis(0), nHOCalDigis(0), nHFCalDigis(0),
192  nTIBL1Digis(0), nTIBL2Digis(0), nTIBL3Digis(0), nTIBL4Digis(0),
193  nTOBL1Digis(0), nTOBL2Digis(0), nTOBL3Digis(0), nTOBL4Digis(0),
194  nTIDW1Digis(0), nTIDW2Digis(0), nTIDW3Digis(0),
195  nTECW1Digis(0), nTECW2Digis(0), nTECW3Digis(0), nTECW4Digis(0),
196  nTECW5Digis(0), nTECW6Digis(0), nTECW7Digis(0), nTECW8Digis(0),
197  nBRL1Digis(0), nBRL2Digis(0), nBRL3Digis(0),
198  nFWD1pDigis(0), nFWD1nDigis(0), nFWD2pDigis(0), nFWD2nDigis(0),
199  nMB1Digis(0), nMB2Digis(0), nMB3Digis(0), nMB4Digis(0),
200  nCSCstripDigis(0), nCSCwireDigis(0) {}
201  virtual ~PGlobalDigi(){}
202 
204  // ECal Info
206  struct ECalDigi
207  {
208  ECalDigi(): maxPos(0), AEE(0), SHE(0) {}
209  int maxPos;
210  double AEE; //maximum analog equivalent energy
211  float SHE; //simhit energy sum
212  };
213  typedef std::vector<ECalDigi> ECalDigiVector;
214  struct ESCalDigi
215  {
216  ESCalDigi(): ADC0(0), ADC1(0), ADC2(0), SHE(0) {}
217  float ADC0, ADC1, ADC2; //ADC counts
218  float SHE; //sum simhit energy
219  };
220  typedef std::vector<ESCalDigi> ESCalDigiVector;
221  //put functions
222  void putEBCalDigis(const std::vector<int>& maxpos,
223  const std::vector<double>& aee, const std::vector<float>& she);
224  void putEECalDigis(const std::vector<int>& maxpos,
225  const std::vector<double>& aee, const std::vector<float>& she);
226  void putESCalDigis(const std::vector<float>& adc0, const std::vector<float>& adc1,
227  const std::vector<float>& adc2, const std::vector<float>& she);
228  //get functions
229  int getnEBCalDigis() const {return nEBCalDigis;}
230  int getnEECalDigis() const {return nEECalDigis;}
231  int getnESCalDigis() const {return nESCalDigis;}
232  ECalDigiVector getEBCalDigis() const {return EBCalDigis;}
233  ECalDigiVector getEECalDigis() const {return EECalDigis;}
234  ESCalDigiVector getESCalDigis() const {return ESCalDigis;}
235 
237  // HCal Info
239  struct HCalDigi
240  {
241  HCalDigi(): AEE(0), SHE(0) {}
242  float AEE; //sum analog equivalent energy in fC
243  float SHE; //simhit energy sum
244  };
245  typedef std::vector<HCalDigi> HCalDigiVector;
246  //put functions
247  void putHBCalDigis(const std::vector<float>& aee, const std::vector<float>& she);
248  void putHECalDigis(const std::vector<float>& aee, const std::vector<float>& she);
249  void putHOCalDigis(const std::vector<float>& aee, const std::vector<float>& she);
250  void putHFCalDigis(const std::vector<float>& aee, const std::vector<float>& she);
251  //get functions
252  int getnHBCalDigis() const {return nHBCalDigis;}
253  int getnHECalDigis() const {return nHECalDigis;}
254  int getnHOCalDigis() const {return nHOCalDigis;}
255  int getnHFCalDigis() const {return nHFCalDigis;}
256  HCalDigiVector getHBCalDigis() const {return HBCalDigis;}
257  HCalDigiVector getHECalDigis() const {return HECalDigis;}
258  HCalDigiVector getHOCalDigis() const {return HOCalDigis;}
259  HCalDigiVector getHFCalDigis() const {return HFCalDigis;}
260 
262  // Silicon Tracker info
264 
266  // SiStrip info
268  struct SiStripDigi
269  {
270  SiStripDigi(): ADC(0), STRIP(0) {}
271  float ADC; //adc value
272  int STRIP; //strip number
273  };
274  typedef std::vector<SiStripDigi> SiStripDigiVector;
275  //put functions
276  void putTIBL1Digis(const std::vector<float>& adc, const std::vector<int>& strip);
277  void putTIBL2Digis(const std::vector<float>& adc, const std::vector<int>& strip);
278  void putTIBL3Digis(const std::vector<float>& adc, const std::vector<int>& strip);
279  void putTIBL4Digis(const std::vector<float>& adc, const std::vector<int>& strip);
280  void putTOBL1Digis(const std::vector<float>& adc, const std::vector<int>& strip);
281  void putTOBL2Digis(const std::vector<float>& adc, const std::vector<int>& strip);
282  void putTOBL3Digis(const std::vector<float>& adc, const std::vector<int>& strip);
283  void putTOBL4Digis(const std::vector<float>& adc, const std::vector<int>& strip);
284  void putTIDW1Digis(const std::vector<float>& adc, const std::vector<int>& strip);
285  void putTIDW2Digis(const std::vector<float>& adc, const std::vector<int>& strip);
286  void putTIDW3Digis(const std::vector<float>& adc, const std::vector<int>& strip);
287  void putTECW1Digis(const std::vector<float>& adc, const std::vector<int>& strip);
288  void putTECW2Digis(const std::vector<float>& adc, const std::vector<int>& strip);
289  void putTECW3Digis(const std::vector<float>& adc, const std::vector<int>& strip);
290  void putTECW4Digis(const std::vector<float>& adc, const std::vector<int>& strip);
291  void putTECW5Digis(const std::vector<float>& adc, const std::vector<int>& strip);
292  void putTECW6Digis(const std::vector<float>& adc, const std::vector<int>& strip);
293  void putTECW7Digis(const std::vector<float>& adc, const std::vector<int>& strip);
294  void putTECW8Digis(const std::vector<float>& adc, const std::vector<int>& strip);
295  //get functions
296  int getnTIBL1Digis() const {return nTIBL1Digis;}
297  int getnTIBL2Digis() const {return nTIBL2Digis;}
298  int getnTIBL3Digis() const {return nTIBL3Digis;}
299  int getnTIBL4Digis() const {return nTIBL4Digis;}
300  int getnTOBL1Digis() const {return nTOBL1Digis;}
301  int getnTOBL2Digis() const {return nTOBL2Digis;}
302  int getnTOBL3Digis() const {return nTOBL3Digis;}
303  int getnTOBL4Digis() const {return nTOBL4Digis;}
304  int getnTIDW1Digis() const {return nTIDW1Digis;}
305  int getnTIDW2Digis() const {return nTIDW2Digis;}
306  int getnTIDW3Digis() const {return nTIDW3Digis;}
307  int getnTECW1Digis() const {return nTECW1Digis;}
308  int getnTECW2Digis() const {return nTECW2Digis;}
309  int getnTECW3Digis() const {return nTECW3Digis;}
310  int getnTECW4Digis() const {return nTECW4Digis;}
311  int getnTECW5Digis() const {return nTECW5Digis;}
312  int getnTECW6Digis() const {return nTECW6Digis;}
313  int getnTECW7Digis() const {return nTECW7Digis;}
314  int getnTECW8Digis() const {return nTECW8Digis;}
315  SiStripDigiVector getTIBL1Digis() const {return TIBL1Digis;}
316  SiStripDigiVector getTIBL2Digis() const {return TIBL2Digis;}
317  SiStripDigiVector getTIBL3Digis() const {return TIBL3Digis;}
318  SiStripDigiVector getTIBL4Digis() const {return TIBL4Digis;}
319  SiStripDigiVector getTOBL1Digis() const {return TOBL1Digis;}
320  SiStripDigiVector getTOBL2Digis() const {return TOBL2Digis;}
321  SiStripDigiVector getTOBL3Digis() const {return TOBL3Digis;}
322  SiStripDigiVector getTOBL4Digis() const {return TOBL4Digis;}
323  SiStripDigiVector getTIDW1Digis() const {return TIDW1Digis;}
324  SiStripDigiVector getTIDW2Digis() const {return TIDW2Digis;}
325  SiStripDigiVector getTIDW3Digis() const {return TIDW3Digis;}
326  SiStripDigiVector getTECW1Digis() const {return TECW1Digis;}
327  SiStripDigiVector getTECW2Digis() const {return TECW2Digis;}
328  SiStripDigiVector getTECW3Digis() const {return TECW3Digis;}
329  SiStripDigiVector getTECW4Digis() const {return TECW4Digis;}
330  SiStripDigiVector getTECW5Digis() const {return TECW5Digis;}
331  SiStripDigiVector getTECW6Digis() const {return TECW6Digis;}
332  SiStripDigiVector getTECW7Digis() const {return TECW7Digis;}
333  SiStripDigiVector getTECW8Digis() const {return TECW8Digis;}
334 
336  // SiPixel info
338  struct SiPixelDigi
339  {
340  SiPixelDigi(): ADC(0), ROW(0), COLUMN(0) {}
341  float ADC; //adc value
342  int ROW; //row number
343  int COLUMN; //column number
344  };
345  typedef std::vector<SiPixelDigi> SiPixelDigiVector;
346  //put functions
347  void putBRL1Digis(const std::vector<float>& adc, const std::vector<int>& row,
348  const std::vector<int>& column);
349  void putBRL2Digis(const std::vector<float>& adc, const std::vector<int>& row,
350  const std::vector<int>& column);
351  void putBRL3Digis(const std::vector<float>& adc, const std::vector<int>& row,
352  const std::vector<int>& column);
353  void putFWD1pDigis(const std::vector<float>& adc, const std::vector<int>& row,
354  const std::vector<int>& column);
355  void putFWD1nDigis(const std::vector<float>& adc, const std::vector<int>& row,
356  const std::vector<int>& column);
357  void putFWD2pDigis(const std::vector<float>& adc, const std::vector<int>& row,
358  const std::vector<int>& column);
359  void putFWD2nDigis(const std::vector<float>& adc, const std::vector<int>& row,
360  const std::vector<int>& column);
361  //get functions
362  int getnBRL1Digis() const {return nBRL1Digis;}
363  int getnBRL2Digis() const {return nBRL2Digis;}
364  int getnBRL3Digis() const {return nBRL3Digis;}
365  int getnFWD1pDigis() const {return nFWD1pDigis;}
366  int getnFWD1nDigis() const {return nFWD1nDigis;}
367  int getnFWD2pDigis() const {return nFWD2pDigis;}
368  int getnFWD2nDigis() const {return nFWD2nDigis;}
369  SiPixelDigiVector getBRL1Digis() const {return BRL1Digis;}
370  SiPixelDigiVector getBRL2Digis() const {return BRL2Digis;}
371  SiPixelDigiVector getBRL3Digis() const {return BRL3Digis;}
372  SiPixelDigiVector getFWD1pDigis() const {return FWD1pDigis;}
373  SiPixelDigiVector getFWD1nDigis() const {return FWD1nDigis;}
374  SiPixelDigiVector getFWD2pDigis() const {return FWD2pDigis;}
375  SiPixelDigiVector getFWD2nDigis() const {return FWD2nDigis;}
376 
378  // Muon info
380 
382  // DT Info
384  struct DTDigi
385  {
386  DTDigi(): SLAYER(0), TIME(0), LAYER(0) {}
387  int SLAYER; //superlayer number
388  float TIME; //time of hit
389  int LAYER; //layer number
390  };
391  typedef std::vector<DTDigi> DTDigiVector;
392  //put functions
393  void putMB1Digis(const std::vector<int>& slayer, const std::vector<float>& time,
394  const std::vector<int>& layer);
395  void putMB2Digis(const std::vector<int>& slayer, const std::vector<float>& time,
396  const std::vector<int>& layer);
397  void putMB3Digis(const std::vector<int>& slayer, const std::vector<float>& time,
398  const std::vector<int>& layer);
399  void putMB4Digis(const std::vector<int>& slayer, const std::vector<float>& time,
400  const std::vector<int>& layer);
401  //get functions
402  int getnMB1Digis() const {return nMB1Digis;}
403  int getnMB2Digis() const {return nMB2Digis;}
404  int getnMB3Digis() const {return nMB3Digis;}
405  int getnMB4Digis() const {return nMB4Digis;}
406  DTDigiVector getMB1Digis() const {return MB1Digis;}
407  DTDigiVector getMB2Digis() const {return MB2Digis;}
408  DTDigiVector getMB3Digis() const {return MB3Digis;}
409  DTDigiVector getMB4Digis() const {return MB4Digis;}
410 
412  // CSC Strip info
415  {
416  CSCstripDigi(): ADC(0) {}
417  float ADC; //ped subtracted amplitude
418  };
419  typedef std::vector<CSCstripDigi> CSCstripDigiVector;
420  //put functions
421  void putCSCstripDigis(const std::vector<float>& adc);
422  //get functions
423  int getnCSCstripDigis() const {return nCSCstripDigis;}
424  CSCstripDigiVector getCSCstripDigis() const {return CSCstripDigis;}
425 
427  // CSC Wire info
429  struct CSCwireDigi
430  {
431  CSCwireDigi(): TIME(0) {}
432  float TIME; //time
433  };
434  typedef std::vector<CSCwireDigi> CSCwireDigiVector;
435  //put functions
436  void putCSCwireDigis(const std::vector<float>& time);
437  //get functions
438  int getnCSCwireDigis() const {return nCSCwireDigis;}
439  CSCwireDigiVector getCSCwireDigis() const {return CSCwireDigis;}
440 
441  private:
442 
444  // ECal info
447  ECalDigiVector EBCalDigis;
449  ECalDigiVector EECalDigis;
451  ESCalDigiVector ESCalDigis;
452 
454  // HCal info
457  HCalDigiVector HBCalDigis;
459  HCalDigiVector HECalDigis;
461  HCalDigiVector HOCalDigis;
463  HCalDigiVector HFCalDigis;
464 
466  // Silicon Tracker info
468 
470  //SiStrip info
473  SiStripDigiVector TIBL1Digis;
475  SiStripDigiVector TIBL2Digis;
477  SiStripDigiVector TIBL3Digis;
479  SiStripDigiVector TIBL4Digis;
481  SiStripDigiVector TOBL1Digis;
483  SiStripDigiVector TOBL2Digis;
485  SiStripDigiVector TOBL3Digis;
487  SiStripDigiVector TOBL4Digis;
489  SiStripDigiVector TIDW1Digis;
491  SiStripDigiVector TIDW2Digis;
493  SiStripDigiVector TIDW3Digis;
495  SiStripDigiVector TECW1Digis;
497  SiStripDigiVector TECW2Digis;
499  SiStripDigiVector TECW3Digis;
501  SiStripDigiVector TECW4Digis;
503  SiStripDigiVector TECW5Digis;
505  SiStripDigiVector TECW6Digis;
507  SiStripDigiVector TECW7Digis;
509  SiStripDigiVector TECW8Digis;
510 
512  //SiPixel info
515  SiPixelDigiVector BRL1Digis;
517  SiPixelDigiVector BRL2Digis;
519  SiPixelDigiVector BRL3Digis;
521  SiPixelDigiVector FWD1pDigis;
523  SiPixelDigiVector FWD1nDigis;
525  SiPixelDigiVector FWD2pDigis;
527  SiPixelDigiVector FWD2nDigis;
528 
530  // Muon info
532 
534  // DT Info
537  DTDigiVector MB1Digis;
539  DTDigiVector MB2Digis;
541  DTDigiVector MB3Digis;
542  int nMB4Digis;
543  DTDigiVector MB4Digis;
544 
546  // CSC Strip info
549  CSCstripDigiVector CSCstripDigis;
550 
552  // CSC Wire info
555  CSCwireDigiVector CSCwireDigis;
556 
557 }; // end class declaration
558 
559 #endif //PGlobalDigiHit_h
560 
562 // PGlobalRecHit
564 
565 #ifndef PGlobalRecHit_h
566 #define PGlobalRecHit_h
567 
569 {
570  public:
571 
572  PGlobalRecHit(): nEBCalRecHits(0), nEECalRecHits(0), nESCalRecHits(0),
573  nHBCalRecHits(0), nHECalRecHits(0), nHOCalRecHits(0), nHFCalRecHits(0),
574  nTIBL1RecHits(0), nTIBL2RecHits(0), nTIBL3RecHits(0), nTIBL4RecHits(0),
575  nTOBL1RecHits(0), nTOBL2RecHits(0), nTOBL3RecHits(0), nTOBL4RecHits(0),
576  nTIDW1RecHits(0), nTIDW2RecHits(0), nTIDW3RecHits(0),
577  nTECW1RecHits(0), nTECW2RecHits(0), nTECW3RecHits(0), nTECW4RecHits(0),
578  nTECW5RecHits(0), nTECW6RecHits(0), nTECW7RecHits(0), nTECW8RecHits(0),
579  nBRL1RecHits(0), nBRL2RecHits(0), nBRL3RecHits(0),
580  nFWD1pRecHits(0), nFWD1nRecHits(0), nFWD2pRecHits(0), nFWD2nRecHits(0),
581  nDTRecHits(0), nCSCRecHits(0), nRPCRecHits(0) {}
582  virtual ~PGlobalRecHit(){}
583 
585  // ECal Info
587  struct ECalRecHit
588  {
589  ECalRecHit(): RE(0), SHE(0) {}
590  float RE; //reconstructed energy
591  float SHE; //simhit energy
592  };
593  typedef std::vector<ECalRecHit> ECalRecHitVector;
594  //put functions
595  void putEBCalRecHits(const std::vector<float>& re, const std::vector<float>& she);
596  void putEECalRecHits(const std::vector<float>& re, const std::vector<float>& she);
597  void putESCalRecHits(const std::vector<float>& re, const std::vector<float>& she);
598  //get functions
599  int getnEBCalRecHits() const {return nEBCalRecHits;}
600  int getnEECalRecHits() const {return nEECalRecHits;}
601  int getnESCalRecHits() const {return nESCalRecHits;}
602  ECalRecHitVector getEBCalRecHits() const {return EBCalRecHits;}
603  ECalRecHitVector getEECalRecHits() const {return EECalRecHits;}
604  ECalRecHitVector getESCalRecHits() const {return ESCalRecHits;}
605 
607  // HCal Info
609  struct HCalRecHit
610  {
611  HCalRecHit(): REC(0), R(0), SHE(0) {}
612  float REC; // reconstructed energy
613  float R; // distance in cone
614  float SHE; // simhit energy
615  };
616  typedef std::vector<HCalRecHit> HCalRecHitVector;
617  //put functions
618  void putHBCalRecHits(const std::vector<float>& rec, const std::vector<float>& r,
619  const std::vector<float>& she);
620  void putHECalRecHits(const std::vector<float>& rec, const std::vector<float>& r,
621  const std::vector<float>& she);
622  void putHOCalRecHits(const std::vector<float>& rec, const std::vector<float>& r,
623  const std::vector<float>& she);
624  void putHFCalRecHits(const std::vector<float>& rec, const std::vector<float>& r,
625  const std::vector<float>& she);
626  //get functions
627  int getnHBCalRecHits() const {return nHBCalRecHits;}
628  int getnHECalRecHits() const {return nHECalRecHits;}
629  int getnHOCalRecHits() const {return nHOCalRecHits;}
630  int getnHFCalRecHits() const {return nHFCalRecHits;}
631  HCalRecHitVector getHBCalRecHits() const {return HBCalRecHits;}
632  HCalRecHitVector getHECalRecHits() const {return HECalRecHits;}
633  HCalRecHitVector getHOCalRecHits() const {return HOCalRecHits;}
634  HCalRecHitVector getHFCalRecHits() const {return HFCalRecHits;}
635 
637  // Silicon Tracker info
639 
641  // SiStrip info
644  {
645  SiStripRecHit(): RX(0), RY(0), SX(0), SY(0) {}
646  float RX; //reconstructed x
647  float RY; //reconstructed y
648  float SX; //simulated x
649  float SY; //simulated y
650  };
651  typedef std::vector<SiStripRecHit> SiStripRecHitVector;
652  //put functions
653  void putTIBL1RecHits(const std::vector<float>& rx, const std::vector<float>& ry,
654  const std::vector<float>& sx, const std::vector<float>& sy);
655  void putTIBL2RecHits(const std::vector<float>& rx, const std::vector<float>& ry,
656  const std::vector<float>& sx, const std::vector<float>& sy);
657  void putTIBL3RecHits(const std::vector<float>& rx, const std::vector<float>& ry,
658  const std::vector<float>& sx, const std::vector<float>& sy);
659  void putTIBL4RecHits(const std::vector<float>& rx, const std::vector<float>& ry,
660  const std::vector<float>& sx, const std::vector<float>& sy);
661  void putTOBL1RecHits(const std::vector<float>& rx, const std::vector<float>& ry,
662  const std::vector<float>& sx, const std::vector<float>& sy);
663  void putTOBL2RecHits(const std::vector<float>& rx, const std::vector<float>& ry,
664  const std::vector<float>& sx, const std::vector<float>& sy);
665  void putTOBL3RecHits(const std::vector<float>& rx, const std::vector<float>& ry,
666  const std::vector<float>& sx, const std::vector<float>& sy);
667  void putTOBL4RecHits(const std::vector<float>& rx, const std::vector<float>& ry,
668  const std::vector<float>& sx, const std::vector<float>& sy);
669  void putTIDW1RecHits(const std::vector<float>& rx, const std::vector<float>& ry,
670  const std::vector<float>& sx, const std::vector<float>& sy);
671  void putTIDW2RecHits(const std::vector<float>& rx, const std::vector<float>& ry,
672  const std::vector<float>& sx, const std::vector<float>& sy);
673  void putTIDW3RecHits(const std::vector<float>& rx, const std::vector<float>& ry,
674  const std::vector<float>& sx, const std::vector<float>& sy);
675  void putTECW1RecHits(const std::vector<float>& rx, const std::vector<float>& ry,
676  const std::vector<float>& sx, const std::vector<float>& sy);
677  void putTECW2RecHits(const std::vector<float>& rx, const std::vector<float>& ry,
678  const std::vector<float>& sx, const std::vector<float>& sy);
679  void putTECW3RecHits(const std::vector<float>& rx, const std::vector<float>& ry,
680  const std::vector<float>& sx, const std::vector<float>& sy);
681  void putTECW4RecHits(const std::vector<float>& rx, const std::vector<float>& ry,
682  const std::vector<float>& sx, const std::vector<float>& sy);
683  void putTECW5RecHits(const std::vector<float>& rx, const std::vector<float>& ry,
684  const std::vector<float>& sx, const std::vector<float>& sy);
685  void putTECW6RecHits(const std::vector<float>& rx, const std::vector<float>& ry,
686  const std::vector<float>& sx, const std::vector<float>& sy);
687  void putTECW7RecHits(const std::vector<float>& rx, const std::vector<float>& ry,
688  const std::vector<float>& sx, const std::vector<float>& sy);
689  void putTECW8RecHits(const std::vector<float>& rx, const std::vector<float>& ry,
690  const std::vector<float>& sx, const std::vector<float>& sy);
691  //get functions
692  int getnTIBL1RecHits() const {return nTIBL1RecHits;}
693  int getnTIBL2RecHits() const {return nTIBL2RecHits;}
694  int getnTIBL3RecHits() const {return nTIBL3RecHits;}
695  int getnTIBL4RecHits() const {return nTIBL4RecHits;}
696  int getnTOBL1RecHits() const {return nTOBL1RecHits;}
697  int getnTOBL2RecHits() const {return nTOBL2RecHits;}
698  int getnTOBL3RecHits() const {return nTOBL3RecHits;}
699  int getnTOBL4RecHits() const {return nTOBL4RecHits;}
700  int getnTIDW1RecHits() const {return nTIDW1RecHits;}
701  int getnTIDW2RecHits() const {return nTIDW2RecHits;}
702  int getnTIDW3RecHits() const {return nTIDW3RecHits;}
703  int getnTECW1RecHits() const {return nTECW1RecHits;}
704  int getnTECW2RecHits() const {return nTECW2RecHits;}
705  int getnTECW3RecHits() const {return nTECW3RecHits;}
706  int getnTECW4RecHits() const {return nTECW4RecHits;}
707  int getnTECW5RecHits() const {return nTECW5RecHits;}
708  int getnTECW6RecHits() const {return nTECW6RecHits;}
709  int getnTECW7RecHits() const {return nTECW7RecHits;}
710  int getnTECW8RecHits() const {return nTECW8RecHits;}
711  SiStripRecHitVector getTIBL1RecHits() const {return TIBL1RecHits;}
712  SiStripRecHitVector getTIBL2RecHits() const {return TIBL2RecHits;}
713  SiStripRecHitVector getTIBL3RecHits() const {return TIBL3RecHits;}
714  SiStripRecHitVector getTIBL4RecHits() const {return TIBL4RecHits;}
715  SiStripRecHitVector getTOBL1RecHits() const {return TOBL1RecHits;}
716  SiStripRecHitVector getTOBL2RecHits() const {return TOBL2RecHits;}
717  SiStripRecHitVector getTOBL3RecHits() const {return TOBL3RecHits;}
718  SiStripRecHitVector getTOBL4RecHits() const {return TOBL4RecHits;}
719  SiStripRecHitVector getTIDW1RecHits() const {return TIDW1RecHits;}
720  SiStripRecHitVector getTIDW2RecHits() const {return TIDW2RecHits;}
721  SiStripRecHitVector getTIDW3RecHits() const {return TIDW3RecHits;}
722  SiStripRecHitVector getTECW1RecHits() const {return TECW1RecHits;}
723  SiStripRecHitVector getTECW2RecHits() const {return TECW2RecHits;}
724  SiStripRecHitVector getTECW3RecHits() const {return TECW3RecHits;}
725  SiStripRecHitVector getTECW4RecHits() const {return TECW4RecHits;}
726  SiStripRecHitVector getTECW5RecHits() const {return TECW5RecHits;}
727  SiStripRecHitVector getTECW6RecHits() const {return TECW6RecHits;}
728  SiStripRecHitVector getTECW7RecHits() const {return TECW7RecHits;}
729  SiStripRecHitVector getTECW8RecHits() const {return TECW8RecHits;}
730 
732  // SiPixel info
735  {
736  SiPixelRecHit(): RX(0), RY(0), SX(0), SY(0) {}
737  float RX; //reconstructed x
738  float RY; //reconstructed y
739  float SX; //simulated x
740  float SY; //simulated y
741  };
742  typedef std::vector<SiPixelRecHit> SiPixelRecHitVector;
743  //put functions
744  void putBRL1RecHits(const std::vector<float>& rx, const std::vector<float>& ry,
745  const std::vector<float>& sx, const std::vector<float>& sy);
746  void putBRL2RecHits(const std::vector<float>& rx, const std::vector<float>& ry,
747  const std::vector<float>& sx, const std::vector<float>& sy);
748  void putBRL3RecHits(const std::vector<float>& rx, const std::vector<float>& ry,
749  const std::vector<float>& sx, const std::vector<float>& sy);
750  void putFWD1pRecHits(const std::vector<float>& rx, const std::vector<float>& ry,
751  const std::vector<float>& sx, const std::vector<float>& sy);
752  void putFWD1nRecHits(const std::vector<float>& rx, const std::vector<float>& ry,
753  const std::vector<float>& sx, const std::vector<float>& sy);
754  void putFWD2pRecHits(const std::vector<float>& rx, const std::vector<float>& ry,
755  const std::vector<float>& sx, const std::vector<float>& sy);
756  void putFWD2nRecHits(const std::vector<float>& rx, const std::vector<float>& ry,
757  const std::vector<float>& sx, const std::vector<float>& sy);
758  //get functions
759  int getnBRL1RecHits() const {return nBRL1RecHits;}
760  int getnBRL2RecHits() const {return nBRL2RecHits;}
761  int getnBRL3RecHits() const {return nBRL3RecHits;}
762  int getnFWD1pRecHits() const {return nFWD1pRecHits;}
763  int getnFWD1nRecHits() const {return nFWD1nRecHits;}
764  int getnFWD2pRecHits() const {return nFWD2pRecHits;}
765  int getnFWD2nRecHits() const {return nFWD2nRecHits;}
766  SiPixelRecHitVector getBRL1RecHits() const {return BRL1RecHits;}
767  SiPixelRecHitVector getBRL2RecHits() const {return BRL2RecHits;}
768  SiPixelRecHitVector getBRL3RecHits() const {return BRL3RecHits;}
769  SiPixelRecHitVector getFWD1pRecHits() const {return FWD1pRecHits;}
770  SiPixelRecHitVector getFWD1nRecHits() const {return FWD1nRecHits;}
771  SiPixelRecHitVector getFWD2pRecHits() const {return FWD2pRecHits;}
772  SiPixelRecHitVector getFWD2nRecHits() const {return FWD2nRecHits;}
773 
775  // Muon info
777 
779  // DT Info
781  struct DTRecHit
782  {
783  DTRecHit(): RHD(0), SHD(0) {}
784  float RHD; //distance of rechit from wire
785  float SHD; //distance of simhit from wire
786  };
787  typedef std::vector<DTRecHit> DTRecHitVector;
788  //put functions
789  void putDTRecHits(const std::vector<float>& rhd, const std::vector<float>& shd);
790  //get functions
791  int getnDTRecHits() const {return nDTRecHits;}
792  DTRecHitVector getDTRecHits() const {return DTRecHits;}
793 
795  // CSC info
797  struct CSCRecHit
798  {
799  CSCRecHit(): RHPHI(0), RHPERP(0), SHPHI(0) {}
800  float RHPHI; //reconstructed hit phi
801  float RHPERP; //reconstructed hit perp
802  float SHPHI; //simulated hit phi
803  };
804  typedef std::vector<CSCRecHit> CSCRecHitVector;
805  //put functions
806  void putCSCRecHits(const std::vector<float>& rhphi, const std::vector<float>& rhperp,
807  const std::vector<float>& shphi);
808  //get functions
809  int getnCSCRecHits() const {return nCSCRecHits;}
810  CSCRecHitVector getCSCRecHits() const {return CSCRecHits;}
811 
813  // RPC info
815  struct RPCRecHit
816  {
817  RPCRecHit(): RHX(0), SHX(0) {}
818  float RHX; //reconstructed hit x
819  float SHX; //simulated hit x
820  };
821  typedef std::vector<RPCRecHit> RPCRecHitVector;
822  //put functions
823  void putRPCRecHits(const std::vector<float>& rhx, const std::vector<float>& shx);
824  //get functions
825  int getnRPCRecHits() const {return nRPCRecHits;}
826  RPCRecHitVector getRPCRecHits() const {return RPCRecHits;}
827 
828  private:
829 
831  // ECal info
834  ECalRecHitVector EBCalRecHits;
836  ECalRecHitVector EECalRecHits;
838  ECalRecHitVector ESCalRecHits;
839 
841  // HCal info
844  HCalRecHitVector HBCalRecHits;
846  HCalRecHitVector HECalRecHits;
848  HCalRecHitVector HOCalRecHits;
850  HCalRecHitVector HFCalRecHits;
851 
853  // Silicon Tracker info
855 
857  //SiStrip info
860  SiStripRecHitVector TIBL1RecHits;
862  SiStripRecHitVector TIBL2RecHits;
864  SiStripRecHitVector TIBL3RecHits;
866  SiStripRecHitVector TIBL4RecHits;
868  SiStripRecHitVector TOBL1RecHits;
870  SiStripRecHitVector TOBL2RecHits;
872  SiStripRecHitVector TOBL3RecHits;
874  SiStripRecHitVector TOBL4RecHits;
876  SiStripRecHitVector TIDW1RecHits;
878  SiStripRecHitVector TIDW2RecHits;
880  SiStripRecHitVector TIDW3RecHits;
882  SiStripRecHitVector TECW1RecHits;
884  SiStripRecHitVector TECW2RecHits;
886  SiStripRecHitVector TECW3RecHits;
888  SiStripRecHitVector TECW4RecHits;
890  SiStripRecHitVector TECW5RecHits;
892  SiStripRecHitVector TECW6RecHits;
894  SiStripRecHitVector TECW7RecHits;
896  SiStripRecHitVector TECW8RecHits;
897 
899  //SiPixel info
902  SiPixelRecHitVector BRL1RecHits;
904  SiPixelRecHitVector BRL2RecHits;
906  SiPixelRecHitVector BRL3RecHits;
908  SiPixelRecHitVector FWD1pRecHits;
910  SiPixelRecHitVector FWD1nRecHits;
912  SiPixelRecHitVector FWD2pRecHits;
914  SiPixelRecHitVector FWD2nRecHits;
915 
917  // Muon info
919 
921  // DT Info
924  DTRecHitVector DTRecHits;
925 
927  // CSC info
930  CSCRecHitVector CSCRecHits;
931 
933  // RPC info
936  RPCRecHitVector RPCRecHits;
937 
938 }; // end class declaration
939 
940 #endif //PGlobalRecHitHit_h
941 
943 // PEcalValidInfo
945 
946 #ifndef PEcalValidInfo_H
947 #define PEcalValidInfo_H
948 
949 /*----------------------------------------------------------
950 Class Description:
951  The Class, PEcalValidInfo, includes all the quantities
952  needed to validate for the Simulation of Eletromagnetic
953  Calorimetor.
954  The Objects of this class will be save into regular
955  Root file vis EDProducer.
956 
957 Author: X.HUANG ( huangxt@fnal.gov )
958 Date: Dec, 2005
959 
960 ---------------------------------------------------------*/
961 
962 #include <string>
963 #include <vector>
965 
966 class EcalTestAnalysis;
967 
969 {
970  friend class EcalTestAnalysis;
971  friend class PreshowerTestAnalysis;
972  friend class SimHitSingleTest;
974  typedef std::vector<float> FloatVector;
975 
976 public:
978  :ee1(0.0),ee4(0.0),ee9(0.0),ee16(0.0),ee25(0.0),
979  eb1(0.0),eb4(0.0),eb9(0.0),eb16(0.0),eb25(0.0),
980  totalEInEE(0.0), totalEInEB(0.0), totalEInES(0.0),
982 {
983 
984  }
985 
986 
988 
989  // Get functions.
990  float ee1x1() const { return ee1; }
991  float ee2x2() const { return ee4; }
992  float ee3x3() const { return ee9; }
993  float ee4x4() const { return ee16;}
994  float ee5x5() const { return ee25;}
995 
996  float eb1x1() const { return eb1; }
997  float eb2x2() const { return eb4; }
998  float eb3x3() const { return eb9; }
999  float eb4x4() const { return eb16;}
1000  float eb5x5() const { return eb25;}
1001 
1002  float eInEE() const { return totalEInEE; }
1003  float eInEB() const { return totalEInEB; }
1004  float eInES() const { return totalEInES; }
1005 
1006  float eInEEzp() const { return totalEInEEzp; }
1007  float eInEEzm() const { return totalEInEEzm; }
1008 
1009  float eInESzp() const { return totalEInESzp; }
1010  float eInESzm() const { return totalEInESzm; }
1011 
1012  int hitsInEcal() const { return totalHits; }
1013  int hitsInEE() const { return nHitsInEE; }
1014  int hitsInEB() const { return nHitsInEB; }
1015  int hitsInES() const { return nHitsInES; }
1016  int hitsIn1ES() const { return nHitsIn1ES;}
1017  int hitsIn2ES() const { return nHitsIn2ES;}
1018 
1019  int hitsIn1ESzp() const { return nHitsIn1ESzp;}
1020  int hitsIn1ESzm() const { return nHitsIn1ESzm;}
1021  int hitsIn2ESzp() const { return nHitsIn2ESzp;}
1022  int hitsIn2ESzm() const { return nHitsIn2ESzm;}
1023 
1024  int crystalInEB() const { return nCrystalInEB;}
1025  int crystalInEEzp() const { return nCrystalInEEzp; }
1026  int crystalInEEzm() const { return nCrystalInEEzm; }
1027 
1028  FloatVector bX0() const { return eBX0; }
1029  FloatVector eX0() const { return eEX0; }
1030 
1031 
1032  FloatVector eIn1ES() const { return eOf1ES; }
1033  FloatVector eIn2ES() const { return eOf2ES; }
1034  FloatVector zOfInES() const { return zOfES; }
1035 
1036  FloatVector eIn1ESzp() const { return eOf1ESzp; }
1037  FloatVector eIn1ESzm() const { return eOf1ESzm; }
1038 
1039  FloatVector eIn2ESzp() const { return eOf2ESzp; }
1040  FloatVector eIn2ESzm() const { return eOf2ESzm; }
1041 
1042  FloatVector phiOfEEHits() const { return phiOfEECaloG4Hit; }
1043  FloatVector etaOfEEHits() const { return etaOfEECaloG4Hit; }
1044  FloatVector tOfEEHits() const { return tOfEECaloG4Hit; }
1045  FloatVector eOfEEHits() const { return eOfEECaloG4Hit; }
1046  FloatVector eOfEEPlusHits() const { return eOfEEPlusCaloG4Hit; }
1047  FloatVector eOfEEMinusHits() const { return eOfEEMinusCaloG4Hit; }
1048 
1049 
1050  FloatVector phiOfEBHits() const { return phiOfEBCaloG4Hit; }
1051  FloatVector etaOfEBHits() const { return etaOfEBCaloG4Hit; }
1052  FloatVector tOfEBHits() const { return tOfEBCaloG4Hit; }
1053  FloatVector eOfEBHits() const { return eOfEBCaloG4Hit; }
1054 
1055  FloatVector phiOfiESHits() const { return phiOfESCaloG4Hit; }
1056  FloatVector etaOfESHits() const { return etaOfESCaloG4Hit; }
1057  FloatVector tOfESHits() const { return tOfESCaloG4Hit; }
1058  FloatVector eOfESHits() const { return eOfESCaloG4Hit; }
1059 
1062 
1063  int pId() const { return thePID; }
1064 
1065 private:
1066 
1067  float ee1; //Energy deposition in cluser1x1
1068  float ee4; //Energy deposition in cluser2x2
1069  float ee9; //Energy deposition in cluser3x3
1070  float ee16; //Energy deposition in cluser4x4
1071  float ee25; //Energy deposition in cluser5x5
1072 
1073  float eb1; //Energy deposition in cluser1x1
1074  float eb4; //Energy deposition in cluser2x2
1075  float eb9; //Energy deposition in cluser3x3
1076  float eb16; //Energy deposition in cluser4x4
1077  float eb25; //Energy deposition in cluser5x5
1078 
1079 
1080 
1081  float totalEInEE; //The Total Energy deposited in EE;
1082  float totalEInEB; //The Total Energy deposited in EB;
1083  float totalEInES; //The Total Energy deposited in ES;
1084 
1089 
1090 
1091 
1092  int totalHits; //Total number of Hits.
1093  int nHitsInEE; //Total number of Hits in EE.
1094  int nHitsInEB; //Total number of Hits in EB.
1095  int nHitsInES; //Total number of Hits in ES.
1096  int nHitsIn1ES; //Total number of Hits in 1st Layer of ES;
1097  int nHitsIn2ES; //Total number of Hits in 2nd Layer of ES;
1098 
1103 
1107 
1108 
1109  FloatVector eBX0; // longitudinal Energy deposition In EB.
1110  FloatVector eEX0; // longitudinal Energy deposition In EE.
1111 
1112  FloatVector eOf1ES; // Energy deposition of Hits in 1st layer of ES;
1113  FloatVector eOf2ES; // Energy deposition of Hits in 2nd layer of ES;
1114  FloatVector zOfES;
1115 
1116 
1117  FloatVector eOf1ESzp;
1118  FloatVector eOf1ESzm;
1119  FloatVector eOf2ESzp;
1120  FloatVector eOf2ESzm;
1121 
1122  FloatVector phiOfEECaloG4Hit; // Phi of Hits.
1123  FloatVector etaOfEECaloG4Hit; // Eta of Hits.
1124  FloatVector tOfEECaloG4Hit; // Tof of Hits.
1125  FloatVector eOfEECaloG4Hit; // Energy depostion of Hits.
1126  FloatVector eOfEEPlusCaloG4Hit; // Energy depostion of Hits.
1127  FloatVector eOfEEMinusCaloG4Hit; // Energy depostion of Hits.
1128 
1129  FloatVector phiOfESCaloG4Hit; // Phi of Hits.
1130  FloatVector etaOfESCaloG4Hit; // Eta of Hits.
1131  FloatVector tOfESCaloG4Hit; // Tof of Hits.
1132  FloatVector eOfESCaloG4Hit; // Energy depostion of Hits.
1133 
1134  FloatVector phiOfEBCaloG4Hit; // Phi of Hits.
1135  FloatVector etaOfEBCaloG4Hit; // Eta of Hits.
1136  FloatVector tOfEBCaloG4Hit; // Tof of Hits.
1137  FloatVector eOfEBCaloG4Hit; // Energy depostion of Hits.
1138 
1139 
1140 
1141  int thePID; // add more ??
1144 };
1145 
1146 
1147 #endif // endif PECal
1148 
1150 // PHcalValidInfoJets
1152 
1153 #ifndef PHcalValidInfoJets_H
1154 #define PHcalValidInfoJets_H
1155 
1156 #include <string>
1157 #include <vector>
1158 #include <memory>
1159 
1160 class SimG4HcalValidation;
1161 
1163 
1164  friend class SimG4HcalValidation;
1165 
1166 public:
1167 
1168  PHcalValidInfoJets(): nJetHit(0), nJet(0), ecalJet(0.), hcalJet(0.),
1169  hoJet(0.), etotJet(0.), detaJet(0.), dphiJet(0.),
1170  drJet(0.), dijetM(0.) {}
1171  virtual ~PHcalValidInfoJets() {}
1172 
1173  // acceess
1174 
1175  std::vector<float> jethite() const {return jetHite;}
1176  std::vector<float> jethitr() const {return jetHitr;}
1177  std::vector<float> jethitt() const {return jetHitt;}
1178  int njethit() const {return nJetHit;}
1179 
1180  std::vector<float> jete() const {return jetE;}
1181  std::vector<float> jeteta() const {return jetEta;}
1182  std::vector<float> jetphi() const {return jetPhi;}
1183  int njet() const {return nJet;}
1184 
1185  float ecaljet() const {return ecalJet;}
1186  float hcaljet() const {return hcalJet;}
1187  float hojet() const {return hoJet;}
1188  float etotjet() const {return etotJet;}
1189 
1190  float detajet() const {return detaJet;}
1191  float dphijet() const {return dphiJet;}
1192  float drjet() const {return drJet;}
1193  float dijetm() const {return dijetM;}
1194 
1195  // fill
1196  void fillTProfileJet (double e, double r, double t);
1197  void fillEcollectJet (double ee, double he, double hoe, double etot);
1198  void fillEtaPhiProfileJet (double eta0, double phi0, double eta,
1199  double phi, double dist);
1200  void fillJets (const std::vector<double>& enj, const std::vector<double>& etaj,
1201  const std::vector<double>& phij);
1202  void fillDiJets (double mass);
1203 
1204 private:
1205 
1206  int nJetHit, nJet;
1207  float ecalJet, hcalJet, hoJet, etotJet;
1208  float detaJet, dphiJet, drJet, dijetM;
1209  std::vector<float> jetHite;
1210  std::vector<float> jetHitr;
1211  std::vector<float> jetHitt;
1212  std::vector<float> jetE;
1213  std::vector<float> jetEta;
1214  std::vector<float> jetPhi;
1215 
1216 };
1217 
1218 #endif
1219 
1221 // PHcalValidInfoLayer
1223 
1224 #ifndef PHcalValidInfoLayer_H
1225 #define PHcalValidInfoLayer_H
1226 
1227 #include <string>
1228 #include <vector>
1229 #include <memory>
1230 
1231 class SimG4HcalValidation;
1232 
1234 
1235  friend class SimG4HcalValidation;
1236 
1237 public:
1238 
1239  PHcalValidInfoLayer(): hitN(0), eHO(0.0),eHBHE(0.0),eEBEE(0.0),elongHF(0.0),
1240  eshortHF(0.0), eEcalHF(0.0), eHcalHF(0.0) {}
1242 
1243  // access
1244  int nHit() const {return hitN;}
1245 
1246  float eho() const {return eHO;}
1247  float ehbhe() const {return eHBHE;}
1248  float eebee() const {return eEBEE;}
1249  float elonghf() const {return elongHF;}
1250  float eshorthf() const {return eshortHF;}
1251  float eecalhf() const {return eEcalHF;}
1252  float ehcalhf() const {return eHcalHF;}
1253 
1254  std::vector<float> elayer() const {return eLayer;}
1255  std::vector<float> edepth() const {return eDepth;}
1256 
1257  std::vector<float> etaHit() const {return hitEta;}
1258  std::vector<float> phiHit() const {return hitPhi;}
1259  std::vector<float> eHit() const {return hitE;}
1260  std::vector<float> tHit() const {return hitTime;}
1261  std::vector<float> layerHit() const {return hitLayer;}
1262  std::vector<float> idHit() const {return hitId;}
1263 
1264  // filling
1265  void fillLayers (double el[], double ed[], double ho, double hbhe,
1266  double ebee);
1267  void fillHF (double fibl, double fibs, double enec, double enhc);
1268  void fillHits (int Nhits, int lay, int unitID, double eta, double phi,
1269  double ehit, double t);
1270  // void clear();
1271 
1272 
1273 private:
1274 
1275  int hitN;
1276  float eHO, eHBHE, eEBEE;
1277  float elongHF, eshortHF, eEcalHF, eHcalHF;
1278  std::vector<float> eLayer;
1279  std::vector<float> eDepth;
1280  // SimHits parameters
1281  std::vector<float> hitLayer; // float for int
1282  std::vector<float> hitId; // float for int
1283  std::vector<float> hitEta;
1284  std::vector<float> hitPhi;
1285  std::vector<float> hitE;
1286  std::vector<float> hitTime;
1287 
1288 };
1289 
1290 #endif
1291 
1293 // PHcalValidInfoNxN
1295 
1296 #ifndef PHcalValidInfoNxN_H
1297 #define PHcalValidInfoNxN_H
1298 
1299 #include <string>
1300 #include <vector>
1301 #include <memory>
1302 
1303 class SimG4HcalValidation;
1304 
1305 
1307 
1308  friend class SimG4HcalValidation;
1309 
1310 public:
1311 
1312  PHcalValidInfoNxN(): nNxN(0), ecalNxNr(0), hcalNxNr(0.), hoNxNr(0.),
1313  etotNxNr(0.), ecalNxN(0.), hcalNxN(0.), hoNxN(0.), etotNxN(0.) {}
1314  virtual ~PHcalValidInfoNxN() {}
1315 
1316  // access
1317  std::vector<float> idnxn() const {return idNxN;}
1318  std::vector<float> enxn() const {return eNxN;}
1319  std::vector<float> tnxn() const {return tNxN;}
1320  int nnxn() const {return nNxN;}
1321 
1322  float ecalnxnr() const {return ecalNxNr;}
1323  float hcalnxnr() const {return hcalNxNr;}
1324  float honxnr() const {return hoNxNr;}
1325  float etotnxnr() const {return etotNxNr;}
1326 
1327  float ecalnxn () const {return ecalNxN ;}
1328  float hcalnxn () const {return hcalNxN ;}
1329  float honxn () const {return hoNxN ;}
1330  float etotnxn () const {return etotNxN ;}
1331 
1332 
1333  // fill
1334  void fillHvsE (double ee, double he, double hoe, double etot);
1335  void fillEcollectNxN (double een, double hen, double hoen, double etotn);
1336  void fillTProfileNxN (double e, int i, double t);
1337 
1338 private:
1339 
1340  int nNxN;
1341  float ecalNxNr, hcalNxNr, hoNxNr, etotNxNr;
1342  float ecalNxN, hcalNxN, hoNxN, etotNxN;
1343  std::vector<float> idNxN; // float for int
1344  std::vector<float> eNxN;
1345  std::vector<float> tNxN;
1346 
1347 };
1348 
1349 #endif
1350 
1352 // PMuonSimHit
1354 
1355 #ifndef PMuonSimHit_h
1356 #define PMuonSimHit_h
1357 
1358 #include <vector>
1359 #include <memory>
1360 
1363 
1365 {
1366  public:
1367 
1369  nCSCHits(0), nDTHits(0), nRPCHits(0) {}
1370  virtual ~PMuonSimHit(){}
1371 
1372  struct Vtx
1373  {
1374  Vtx(): x(0), y(0), z(0) {}
1375  float x;
1376  float y;
1377  float z;
1378  };
1379 
1380  struct Trk
1381  {
1382  Trk() : pt(0), e(0), eta(0), phi(0) {}
1383  float pt;
1384  float e;
1385  float eta;
1386  float phi;
1387  };
1388 
1389 
1390  struct CSC
1391  {
1392  CSC() :
1393  _cscId(0),
1394  _detUnitId(0), _trackId(0), _processType(0),
1395  _particleType(0),_pabs(0),
1396  _globposz(0), _globposphi(0), _globposeta(0),
1397  _locposx(0), _locposy(0), _locposz(0),
1398  _locdirx(0), _locdiry(0), _locdirz(0),
1399  _locdirtheta(0), _locdirphi(0),
1400  _exitpointx(0), _exitpointy(0), _exitpointz(0),
1401  _entrypointx(0), _entrypointy(0), _entrypointz(0),
1402  _enloss(0), _tof(0) {}
1403 
1404  int _cscId;
1405  unsigned int _detUnitId;
1406  float _trackId;
1409  float _pabs;
1410  float _globposz;
1413  float _locposx;
1414  float _locposy;
1415  float _locposz;
1416  float _locdirx;
1417  float _locdiry;
1418  float _locdirz;
1420  float _locdirphi;
1427  float _enloss;
1428  float _tof;
1429  };
1430 
1431  struct DT
1432  {
1433  DT() :
1434  _detUnitId(0), _trackId(0), _processType(0),
1435  _particleType(0),_pabs(0),
1436  _globposz(0), _globposphi(0), _globposeta(0),
1437  _locposx(0), _locposy(0), _locposz(0),
1438  _locdirx(0), _locdiry(0), _locdirz(0),
1439  _locdirtheta(0), _locdirphi(0),
1440  _exitpointx(0), _exitpointy(0), _exitpointz(0),
1441  _entrypointx(0), _entrypointy(0), _entrypointz(0),
1442  _enloss(0), _tof(0) {}
1443 
1444  unsigned int _detUnitId;
1445  float _trackId;
1448  float _pabs;
1449  float _globposz;
1452  float _locposx;
1453  float _locposy;
1454  float _locposz;
1455  float _locdirx;
1456  float _locdiry;
1457  float _locdirz;
1459  float _locdirphi;
1466  float _enloss;
1467  float _tof;
1468  };
1469 
1470  struct RPC
1471  {
1472  RPC() :
1473  _detUnitId(0), _trackId(0), _processType(0),
1474  _particleType(0),_pabs(0),
1475  _globposz(0), _globposphi(0), _globposeta(0),
1476  _locposx(0), _locposy(0), _locposz(0),
1477  _locdirx(0), _locdiry(0), _locdirz(0),
1478  _locdirtheta(0), _locdirphi(0),
1479  _exitpointx(0), _exitpointy(0), _exitpointz(0),
1480  _entrypointx(0), _entrypointy(0), _entrypointz(0),
1481  _enloss(0), _tof(0) {}
1482 
1483  unsigned int _detUnitId;
1484  float _trackId;
1487  float _pabs;
1488  float _globposz;
1491  float _locposx;
1492  float _locposy;
1493  float _locposz;
1494  float _locdirx;
1495  float _locdiry;
1496  float _locdirz;
1498  float _locdirphi;
1505  float _enloss;
1506  float _tof;
1507  };
1508 
1509  typedef std::vector<Vtx> VtxVector;
1510  typedef std::vector<Trk> TrkVector;
1511 
1512  typedef std::vector<CSC> CSCVector;
1513  typedef std::vector<DT> DTVector;
1514  typedef std::vector<RPC> RPCVector;
1515 
1517 
1518  void putRawGenPart(int n);
1519 
1520  void putG4Vtx(const std::vector<float>& x, const std::vector<float>& y,
1521  const std::vector<float>& z);
1522  void putG4Trk(const std::vector<float>& pt, const std::vector<float>& e,
1523  const std::vector<float>& eta, const std::vector<float>& phi);
1524 
1525  void putCSCHits(
1526  const std::vector<int>& _cscId,
1527  const std::vector<unsigned int>& _detUnitId,
1528  const std::vector<float>& _trackId ,
1529  const std::vector<float>& _processType,
1530  const std::vector<float>& _particleType,
1531  const std::vector<float>& _pabs,
1532  const std::vector<float>& _globposz,
1533  const std::vector<float>& _globposphi,
1534  const std::vector<float>& _globposeta,
1535  const std::vector<float>& _locposx,
1536  const std::vector<float>& _locposy,
1537  const std::vector<float>& _locposz,
1538  const std::vector<float>& _locdirx,
1539  const std::vector<float>& _locdiry,
1540  const std::vector<float>& _locdirz,
1541  const std::vector<float>& _locdirtheta,
1542  const std::vector<float>& _locdirphi,
1543  const std::vector<float>& _exitpointx,
1544  const std::vector<float>& _exitpointy,
1545  const std::vector<float>& _exitpointz,
1546  const std::vector<float>& _entrypointx,
1547  const std::vector<float>& _entrypointy,
1548  const std::vector<float>& _entrypointz,
1549  const std::vector<float>& _enloss,
1550  const std::vector<float>& _tof);
1551 
1552  void putDTHits(
1553  const std::vector<unsigned int>& _detUnitId,
1554  const std::vector<float>& _trackId ,
1555  const std::vector<float>& _processType,
1556  const std::vector<float>& _particleType,
1557  const std::vector<float>& _pabs,
1558  const std::vector<float>& _globposz,
1559  const std::vector<float>& _globposphi,
1560  const std::vector<float>& _globposeta,
1561  const std::vector<float>& _locposx,
1562  const std::vector<float>& _locposy,
1563  const std::vector<float>& _locposz,
1564  const std::vector<float>& _locdirx,
1565  const std::vector<float>& _locdiry,
1566  const std::vector<float>& _locdirz,
1567  const std::vector<float>& _locdirtheta,
1568  const std::vector<float>& _locdirphi,
1569  const std::vector<float>& _exitpointx,
1570  const std::vector<float>& _exitpointy,
1571  const std::vector<float>& _exitpointz,
1572  const std::vector<float>& _entrypointx,
1573  const std::vector<float>& _entrypointy,
1574  const std::vector<float>& _entrypointz,
1575  const std::vector<float>& _enloss,
1576  const std::vector<float>& _tof);
1577 
1578  void putRPCHits(
1579  const std::vector<unsigned int>& _detUnitId,
1580  const std::vector<float>& _trackId ,
1581  const std::vector<float>& _processType,
1582  const std::vector<float>& _particleType,
1583  const std::vector<float>& _pabs,
1584  const std::vector<float>& _globposz,
1585  const std::vector<float>& _globposphi,
1586  const std::vector<float>& _globposeta,
1587  const std::vector<float>& _locposx,
1588  const std::vector<float>& _locposy,
1589  const std::vector<float>& _locposz,
1590  const std::vector<float>& _locdirx,
1591  const std::vector<float>& _locdiry,
1592  const std::vector<float>& _locdirz,
1593  const std::vector<float>& _locdirtheta,
1594  const std::vector<float>& _locdirphi,
1595  const std::vector<float>& _exitpointx,
1596  const std::vector<float>& _exitpointy,
1597  const std::vector<float>& _exitpointz,
1598  const std::vector<float>& _entrypointx,
1599  const std::vector<float>& _entrypointy,
1600  const std::vector<float>& _entrypointz,
1601  const std::vector<float>& _enloss,
1602  const std::vector<float>& _tof);
1603 
1605 
1606  int getnRawGenPart() {return nRawGenPart;}
1607  int getnG4Vtx() {return nG4Vtx;}
1608  int getnG4Trk() {return nG4Trk;}
1609 
1610  VtxVector getG4Vtx() {return G4Vtx;}
1611  TrkVector getG4Trk() {return G4Trk;}
1612 
1613  int getnCSCHits() {return nCSCHits;}
1614  CSCVector getCSCHits() {return CSCHits;}
1615 
1616  int getnDTHits() {return nDTHits;}
1617  DTVector getDTHits() {return DTHits;}
1618 
1619  int getnRPCHits() {return nRPCHits;}
1620  RPCVector getRPCHits() {return RPCHits;}
1621 
1622 
1623 private:
1624 
1626 
1628  int nG4Vtx;
1629  VtxVector G4Vtx;
1630  int nG4Trk;
1631  TrkVector G4Trk;
1632 
1634 
1636  CSCVector CSCHits;
1637 
1638  int nDTHits;
1639  DTVector DTHits;
1640 
1642  RPCVector RPCHits;
1643 
1644 };
1645 
1646 #endif
1647 
1649 // PTrackerSimHit
1651 
1652 #ifndef PTrackerSimHit_h
1653 #define PTrackerSimHit_h
1654 
1655 #include <vector>
1656 #include <memory>
1657 
1659 {
1660 
1661  public:
1662 
1663  PTrackerSimHit(): nRawGenPart(0), nG4Vtx(0), nG4Trk(0), nHits(0) {}
1664  virtual ~PTrackerSimHit(){}
1665 
1666  struct Vtx
1667  {
1668  Vtx(): x(0), y(0), z(0) {}
1669  float x;
1670  float y;
1671  float z;
1672  };
1673 
1674  struct Trk
1675  {
1676  Trk() : pt(0), e(0), eta(0), phi(0) {}
1677  float pt;
1678  float e;
1679  float eta;
1680  float phi;
1681  };
1682 
1683 
1684  struct Hit
1685  {
1686  Hit() : _sysID(0), _detUnitId(0), _trackId(0), _processType(0),
1687  _particleType(0), _pabs(0),
1688  _lpx(0), _lpy(0), _lpz(0),
1689  _ldx(0), _ldy(0), _ldz(0), _ldtheta(0), _ldphi(0),
1690  _exx(0), _exy(0), _exz(0),
1691  _enx(0), _eny(0), _enz(0), _eloss(0), _tof(0) {}
1692  int _sysID;
1693  float _detUnitId;
1694  float _trackId;
1697  float _pabs;
1698  float _lpx;
1699  float _lpy;
1700  float _lpz;
1701  float _ldx;
1702  float _ldy;
1703  float _ldz;
1704  float _ldtheta;
1705  float _ldphi;
1706  float _exx;
1707  float _exy;
1708  float _exz;
1709  float _enx;
1710  float _eny;
1711  float _enz;
1712  float _eloss;
1713  float _tof;
1714  };
1715 
1716 
1717  typedef std::vector<Vtx> VtxVector;
1718  typedef std::vector<Trk> TrkVector;
1719  typedef std::vector<Hit> HitVector;
1720 
1721  // put functions
1722  void putRawGenPart(int n);
1723  void putG4Vtx(const std::vector<float> &x, const std::vector<float> &y, const std::vector<float> &z);
1724  void putG4Trk(const std::vector<float> &pt, const std::vector<float> &e, const std::vector<float> &eta, const std::vector<float> &phi);
1725  void putHits(const std::vector<int> &_sysID, const std::vector<float> &_detUnitId,
1726  const std::vector<float>&_trackId , const std::vector<float>&_processType,
1727  const std::vector<float>&_particleType, const std::vector<float> &_pabs,
1728  const std::vector<float>&_lpx, const std::vector<float>&_lpy, const std::vector<float>&_lpz,
1729  const std::vector<float>&_ldx, const std::vector<float>&_ldy, const std::vector<float>&_ldz,
1730  const std::vector<float>&_ldtheta, const std::vector<float>&_ldphi,
1731  const std::vector<float>&_exx, const std::vector<float>&_exy, const std::vector<float>&_exz,
1732  const std::vector<float>&_enx, const std::vector<float>&_eny, const std::vector<float>&_enz,
1733  const std::vector<float>&_eloss, const std::vector<float>&_tof);
1734 
1735  // get functions
1736  int getnRawGenPart() {return nRawGenPart;}
1737  int getnG4Vtx() {return nG4Vtx;}
1738  VtxVector getG4Vtx() {return G4Vtx;}
1739  int getnG4Trk() {return nG4Trk;}
1740  TrkVector getG4Trk() {return G4Trk;}
1741  int getnHits() {return nHits;}
1742  HitVector getHits() {return Hits;}
1743 
1744  private:
1745 
1746  // G4MC info
1748  int nG4Vtx;
1749  VtxVector G4Vtx;
1750  int nG4Trk;
1751  TrkVector G4Trk;
1752  // Tracker info
1753  int nHits;
1754  HitVector Hits;
1755 
1756 
1757 }; // end class declaration
1758 
1759 #endif
1760 
1761 #endif // endif PValidationFormats_h
int adc(sample_type sample)
get the ADC sample (12 bits)
std::vector< float > tNxN
CalVector getPreShHits() const
FloatVector eOfEEPlusHits() const
TrkVector getG4Trk()
SiPixelRecHitVector getBRL1RecHits() const
SiStripRecHitVector getTIDW2RecHits() const
int getnBRL3RecHits() const
BrlVector getPxlBrlHits() const
SiStripRecHitVector getTECW5RecHits() const
FloatVector eOfEEMinusCaloG4Hit
std::vector< float > jetEta
SiStripRecHitVector TOBL2RecHits
FloatVector eOfESCaloG4Hit
float eb4x4() const
int hitsInEcal() const
virtual ~PGlobalDigi()
FloatVector eOfEEHits() const
SiStripDigiVector getTOBL1Digis() const
std::vector< Trk > TrkVector
std::vector< float > eHit() const
float eInEB() const
HCalRecHitVector HFCalRecHits
HCalDigiVector HOCalDigis
int getnDTRecHits() const
SiStripRecHitVector getTECW8RecHits() const
std::vector< Trk > TrkVector
SiPixelRecHitVector FWD2nRecHits
std::vector< float > jetPhi
SiPixelRecHitVector FWD1nRecHits
std::vector< Trk > TrkVector
std::vector< float > FloatVector
int getnTOBL1Digis() const
FloatVector eOfEEPlusCaloG4Hit
int getnTECW2Digis() const
CSCwireDigiVector CSCwireDigis
FloatVector eIn2ESzm() const
std::vector< SiPixelDigi > SiPixelDigiVector
int getnTIDW1Digis() const
DTDigiVector getMB1Digis() const
SiStripDigiVector getTIDW2Digis() const
std::vector< ECalRecHit > ECalRecHitVector
int getnTECW4Digis() const
FloatVector tOfESHits() const
int hitsIn1ESzp() 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
SiPixelDigiVector getBRL2Digis() const
int getnTIBL4Digis() const
int getnTECW5Digis() const
std::vector< float > jetE
SiStripRecHitVector TIDW1RecHits
DTVector getDTHits()
std::vector< float > tnxn() const
SiStripDigiVector TECW4Digis
HCalRecHitVector getHFCalRecHits() const
FwdVector getMuonCscHits() const
FloatVector tOfEECaloG4Hit
void putMuonRpcFwdHits(const std::vector< float > &tof, const std::vector< float > &z, const std::vector< float > &phi, const std::vector< float > &eta)
SiPixelDigiVector getFWD1nDigis() const
SiStripRecHitVector getTECW3RecHits() const
SiPixelRecHitVector getBRL3RecHits() const
FloatVector tOfEEHits() const
std::vector< float > eNxN
float ee3x3() const
SiStripDigiVector TIDW3Digis
int getnMB2Digis() const
SiPixelRecHitVector getBRL2RecHits() const
SiStripRecHitVector getTIBL2RecHits() const
float ee5x5() const
SiPixelDigiVector getFWD2nDigis() const
SiStripDigiVector getTOBL4Digis() const
CSCRecHitVector getCSCRecHits() const
int nRawGenPart
G4MC info.
void putMuonRpcBrlHits(const std::vector< float > &tof, const std::vector< float > &r, const std::vector< float > &phi, const std::vector< float > &eta)
float etotnxnr() const
SiStripRecHitVector TIBL3RecHits
SiStripDigiVector getTIDW3Digis() const
float hcalnxnr() const
int getnTECW7RecHits() const
FwdVector MuonRpcFwdHits
std::vector< CSC > CSCVector
SiPixelDigiVector getFWD1pDigis() const
int getnRawGenPart() const
std::vector< float > jete() const
SiStripRecHitVector TECW1RecHits
FloatVector etaOfEECaloG4Hit
FloatVector phiOfEBCaloG4Hit
math::XYZTLorentzVector theMomentum
math::XYZTLorentzVector vertex() const
int getnHFCalRecHits() const
float eInEEzm() const
int getnSiFwdHits() const
std::vector< float > hitE
SiStripRecHitVector TIBL4RecHits
SiStripRecHitVector getTOBL4RecHits() const
int getnTECW6Digis() const
int getnHOCalDigis() const
void putMuonCscHits(const std::vector< float > &tof, const std::vector< float > &z, const std::vector< float > &phi, const std::vector< float > &eta)
int getnFWD1nRecHits() 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
SiStripDigiVector getTECW1Digis() const
float eInES() const
SiStripRecHitVector TIDW2RecHits
SiStripDigiVector getTIBL1Digis() const
SiPixelDigiVector getBRL3Digis() const
int hitsIn1ES() const
SiPixelRecHitVector FWD1pRecHits
std::vector< CSCwireDigi > CSCwireDigiVector
int getnFWD2nDigis() const
ESCalDigiVector ESCalDigis
int getnMB1Digis() const
std::vector< float > eDepth
std::vector< float > enxn() const
VtxVector getG4Vtx()
std::vector< DT > DTVector
float eb1x1() const
int getnTECW8Digis() const
std::vector< CSCRecHit > CSCRecHitVector
std::vector< float > idnxn() const
FloatVector eIn2ESzp() const
SiPixelDigiVector FWD1nDigis
CSCstripDigiVector CSCstripDigis
int getnHCalHits() const
int getnFWD2pRecHits() const
HCalRecHitVector HOCalRecHits
SiStripDigiVector TECW2Digis
float eInEEzp() const
FloatVector phiOfEBHits() const
SiStripDigiVector TIDW1Digis
int getnMuonCscHits() const
SiStripDigiVector TOBL2Digis
FwdVector getPxlFwdHits() const
int crystalInEEzm() const
FloatVector eOfESHits() const
SiStripDigiVector TIBL4Digis
unsigned int _detUnitId
float eInESzp() const
std::vector< float > jetHitt
math::XYZTLorentzVector momentum() const
int getnBRL2RecHits() const
int hitsIn2ESzm() const
FloatVector etaOfEBCaloG4Hit
std::vector< float > hitId
SiStripRecHitVector TIDW3RecHits
int getnMuonRpcFwdHits() const
FloatVector eOfEEMinusHits() const
math::XYZTLorentzVector theVertex
HCalDigiVector HECalDigis
math::XYZTLorentzVector theMomentum
int getnMuonDtHits() const
int getnPreShHits() const
int getnCSCRecHits() const
SiStripDigiVector TOBL3Digis
ECalRecHitVector EBCalRecHits
SiStripDigiVector TECW1Digis
std::vector< float > jeteta() const
SiStripRecHitVector getTOBL3RecHits() const
SiPixelRecHitVector BRL1RecHits
std::vector< RPCRecHit > RPCRecHitVector
CSCRecHitVector CSCRecHits
std::vector< float > jetphi() const
SiStripRecHitVector getTIBL4RecHits() const
int getnESCalRecHits() const
SiStripDigiVector getTECW2Digis() const
int crystalInEB() const
std::vector< float > jethitr() const
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:29
SiPixelDigiVector FWD1pDigis
int getnTIBL3RecHits() const
ECalDigiVector getEBCalDigis() const
DTDigiVector getMB3Digis() const
int getnHBCalDigis() const
int nCSCHits
Hit info.
SiStripRecHitVector TECW6RecHits
int getnTOBL1RecHits() const
void putG4Trk(const std::vector< float > &pt, const std::vector< float > &e)
int getnFWD2pDigis() const
int getnMB4Digis() const
std::vector< float > layerHit() const
float eb2x2() const
int getnEBCalDigis() const
SiStripRecHitVector getTIDW1RecHits() const
SiPixelRecHitVector getFWD2nRecHits() const
int getnTECW5RecHits() const
DTDigiVector getMB4Digis() const
HCalDigiVector HFCalDigis
RPCVector getRPCHits()
DTRecHitVector getDTRecHits() const
float ee4x4() const
FwdVector getSiFwdHits() const
SiPixelDigiVector BRL3Digis
HCalRecHitVector HBCalRecHits
std::vector< float > hitPhi
virtual ~PMuonSimHit()
ECalDigiVector EECalDigis
float eInEE() const
std::vector< DTDigi > DTDigiVector
std::vector< SiStripRecHit > SiStripRecHitVector
SiStripDigiVector TIBL3Digis
SiStripDigiVector getTECW8Digis() const
BrlVector MuonRpcBrlHits
HCalRecHitVector getHOCalRecHits() const
int crystalInEEzp() const
void putSiBrlHits(const std::vector< float > &tof, const std::vector< float > &r, const std::vector< float > &phi, const std::vector< float > &eta)
int getnESCalDigis() const
int getnBRL1RecHits() const
void putPxlFwdHits(const std::vector< float > &tof, const std::vector< float > &z, const std::vector< float > &phi, const std::vector< float > &eta)
FloatVector etaOfESHits() const
SiStripRecHitVector getTECW7RecHits() const
FloatVector eIn1ESzp() const
FloatVector eOfEBCaloG4Hit
ECalRecHitVector getEBCalRecHits() const
TrkVector getG4Trk() const
SiStripRecHitVector TIBL2RecHits
std::vector< CalHit > CalVector
int getnTECW1RecHits() const
SiStripDigiVector TECW7Digis
ECalRecHitVector ESCalRecHits
int getnBRL3Digis() const
DTDigiVector MB4Digis
RPCRecHitVector getRPCRecHits() const
HCalDigiVector getHFCalDigis() const
int getnBRL1Digis() const
std::vector< float > idHit() const
std::vector< Hit > HitVector
int hitsInES() const
SiStripDigiVector TIDW2Digis
int getnFWD1nDigis() const
int getnTOBL3RecHits() const
SiStripRecHitVector TECW8RecHits
SiStripRecHitVector TOBL3RecHits
FloatVector phiOfEEHits() const
FloatVector eIn1ESzm() const
std::vector< float > jethite() const
int getnTECW1Digis() const
int getnTECW8RecHits() const
FloatVector phiOfESCaloG4Hit
SiStripDigiVector getTECW4Digis() const
int getnTIDW2Digis() const
std::vector< float > edepth() const
int getnTIBL2Digis() const
SiStripRecHitVector TIBL1RecHits
float hcalnxn() const
SiPixelRecHitVector getFWD1pRecHits() const
float ecalnxn() const
int getnTOBL2Digis() const
std::vector< DTRecHit > DTRecHitVector
int getnHFCalDigis() const
int getnPxlFwdHits() const
SiStripDigiVector TECW3Digis
void putSiFwdHits(const std::vector< float > &tof, const std::vector< float > &z, const std::vector< float > &phi, const std::vector< float > &eta)
SiStripRecHitVector getTECW6RecHits() const
float etotnxn() const
SiPixelDigiVector BRL2Digis
CSCwireDigiVector getCSCwireDigis() const
int getnTECW6RecHits() const
SiStripDigiVector getTIBL4Digis() const
int getnTECW7Digis() const
std::vector< float > idNxN
BrlVector getMuonDtHits() const
std::vector< float > jethitt() const
float ecalnxnr() const
int getnRPCRecHits() const
SiStripRecHitVector getTECW2RecHits() const
int getnG4Trk() const
SiStripRecHitVector getTECW4RecHits() const
int getnTIDW1RecHits() const
ESCalDigiVector getESCalDigis() const
int getnTOBL2RecHits() const
SiPixelDigiVector getFWD2pDigis() const
VtxVector getG4Vtx() const
int hitsIn1ESzm() const
int hitsIn2ES() const
int getnTIDW3RecHits() const
HCalRecHitVector getHECalRecHits() const
SiPixelDigiVector FWD2pDigis
void putPreShHits(const std::vector< float > &e, const std::vector< float > &tof, const std::vector< float > &phi, const std::vector< float > &eta)
int hitsInEB() const
virtual ~PGlobalRecHit()
SiStripRecHitVector TECW7RecHits
HCalRecHitVector HECalRecHits
int getnTECW2RecHits() const
DTDigiVector MB2Digis
std::vector< HCalRecHit > HCalRecHitVector
DTDigiVector MB1Digis
int getnMB3Digis() const
float eb5x5() const
SiPixelRecHitVector BRL3RecHits
RPCRecHitVector RPCRecHits
SiStripDigiVector getTECW7Digis() const
std::vector< float > eLayer
SiStripRecHitVector getTOBL2RecHits() const
FloatVector eIn2ES() const
std::vector< RPC > RPCVector
SiStripDigiVector getTOBL3Digis() const
SiStripDigiVector TECW8Digis
int getnHOCalRecHits() const
FloatVector etaOfEBHits() const
SiPixelDigiVector FWD2nDigis
SiPixelRecHitVector FWD2pRecHits
SiStripDigiVector getTIBL2Digis() const
CSCVector getCSCHits()
SiStripDigiVector TOBL1Digis
int getnTIBL1RecHits() const
int getnHBCalRecHits() const
std::vector< CSCstripDigi > CSCstripDigiVector
math::XYZTLorentzVector theVertex
SiStripRecHitVector TECW5RecHits
SiStripDigiVector getTIBL3Digis() const
int getnFWD1pRecHits() const
int hitsIn2ESzp() const
SiPixelRecHitVector BRL2RecHits
FloatVector tOfEBHits() const
int getnG4Vtx() const
int getnMuonRpcBrlHits() const
float eb3x3() const
DTRecHitVector DTRecHits
SiStripDigiVector getTECW5Digis() const
std::vector< float > phiHit() const
FloatVector etaOfESCaloG4Hit
SiStripDigiVector TECW5Digis
ECalRecHitVector getEECalRecHits() const
ECalDigiVector EBCalDigis
std::vector< float > jetHite
int getnECalHits() const
std::vector< float > elayer() const
DTDigiVector MB3Digis
std::vector< Vtx > VtxVector
int getnTIBL3Digis() const
std::vector< Vtx > VtxVector
SiStripRecHitVector getTIDW3RecHits() const
HCalRecHitVector getHBCalRecHits() const
int getnTIDW2RecHits() const
SiPixelDigiVector BRL1Digis
int getnTIDW3Digis() const
ECalDigiVector getEECalDigis() const
int getnHECalDigis() const
void putPxlBrlHits(const std::vector< float > &tof, const std::vector< float > &r, const std::vector< float > &phi, const std::vector< float > &eta)
void putRawGenPart(int n)
std::vector< ECalDigi > ECalDigiVector
int getnTECW4RecHits() const
FloatVector eX0() const
int getnEBCalRecHits() const
CalVector getHCalHits() const
float eInESzm() const
SiPixelRecHitVector getFWD2pRecHits() const
void putG4Vtx(const std::vector< float > &x, const std::vector< float > &y, const std::vector< float > &z)
std::vector< SiPixelRecHit > SiPixelRecHitVector
int getnHECalRecHits() const
FloatVector phiOfiESHits() const
SiStripRecHitVector getTOBL1RecHits() const
int getnRawGenPart()
get functions
int getnCSCwireDigis() const
HCalDigiVector getHBCalDigis() const
SiStripRecHitVector TOBL4RecHits
int getnEECalRecHits() const
FloatVector eOfEBHits() const
CalVector getECalHits() const
std::vector< FwdHit > FwdVector
std::vector< float > tHit() const
SiStripRecHitVector getTIBL1RecHits() const
int getnFWD1pDigis() const
void putMuonDtHits(const std::vector< float > &tof, const std::vector< float > &r, const std::vector< float > &phi, const std::vector< float > &eta)
int getnTECW3Digis() const
HCalDigiVector getHECalDigis() const
int getnTIBL4RecHits() const
FloatVector tOfESCaloG4Hit
std::vector< SiStripDigi > SiStripDigiVector
int getnSiBrlHits() const
int getnTECW3RecHits() const
std::vector< float > hitEta
SiPixelRecHitVector getFWD1nRecHits() const
FloatVector bX0() const
FloatVector etaOfEEHits() const
SiStripDigiVector TOBL4Digis
float ee1x1() const
int getnEECalDigis() const
SiStripRecHitVector TOBL1RecHits
HCalDigiVector HBCalDigis
FloatVector tOfEBCaloG4Hit
CSCstripDigiVector getCSCstripDigis() const
HCalDigiVector getHOCalDigis() const
std::vector< Vtx > VtxVector
FloatVector eOfEECaloG4Hit
int getnFWD2nRecHits() const
SiStripDigiVector TECW6Digis
SiStripRecHitVector TECW2RecHits
BrlVector getMuonRpcBrlHits() const
int hitsInEE() const
SiStripDigiVector TIBL1Digis
SiStripDigiVector getTOBL2Digis() const
int getnTIBL2RecHits() const
ECalRecHitVector EECalRecHits
std::vector< BrlHit > BrlVector
SiStripRecHitVector TECW3RecHits
BrlVector getSiBrlHits() const
SiStripDigiVector getTIDW1Digis() const
int getnPxlBrlHits() const
SiStripDigiVector TIBL2Digis
FwdVector getMuonRpcFwdHits() const
SiStripDigiVector getTECW6Digis() const
int getnCSCstripDigis() const
FloatVector eIn1ES() const
SiStripDigiVector getTECW3Digis() const
int getnTOBL3Digis() const
std::vector< ESCalDigi > ESCalDigiVector
int getnTOBL4Digis() const
std::vector< float > etaHit() const
int getnBRL2Digis() const
std::vector< HCalDigi > HCalDigiVector
std::vector< float > hitTime
SiStripRecHitVector getTECW1RecHits() const
int getnTIBL1Digis() const
virtual ~PGlobalSimHit()
SiStripRecHitVector getTIBL3RecHits() const
SiPixelDigiVector getBRL1Digis() const
std::vector< float > jetHitr
float ee2x2() const
DTDigiVector getMB2Digis() const
ECalRecHitVector getESCalRecHits() const
std::vector< float > hitLayer
FloatVector zOfInES() const
int getnTOBL4RecHits() const