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; }
153  FwdVector getMuonCscHits() const { return MuonCscHits; }
154  int getnMuonRpcFwdHits() const { return nMuonRpcFwdHits; }
155  FwdVector getMuonRpcFwdHits() const { return MuonRpcFwdHits; }
156  int getnMuonRpcBrlHits() const { return nMuonRpcBrlHits; }
157  BrlVector getMuonRpcBrlHits() const { return MuonRpcBrlHits; }
158 
159 private:
160  // G4MC info
162  int nG4Vtx;
163  VtxVector G4Vtx;
164  int nG4Trk;
165  TrkVector G4Trk;
166 
167  // ECal info
169  CalVector ECalHits;
171  CalVector PreShHits;
172 
173  // HCal info
175  CalVector HCalHits;
176 
177  // Tracker info
179  FwdVector PxlFwdHits;
181  BrlVector PxlBrlHits;
183  FwdVector SiFwdHits;
185  BrlVector SiBrlHits;
186 
187  // Muon info
189  BrlVector MuonDtHits;
191  FwdVector MuonCscHits;
193  FwdVector MuonRpcFwdHits;
195  BrlVector MuonRpcBrlHits;
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; }
279  ECalDigiVector getEBCalDigis() const { return EBCalDigis; }
280  ECalDigiVector getEECalDigis() const { return EECalDigis; }
281  ESCalDigiVector getESCalDigis() const { return ESCalDigis; }
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; }
302  HCalDigiVector getHBCalDigis() const { return HBCalDigis; }
303  HCalDigiVector getHECalDigis() const { return HECalDigis; }
304  HCalDigiVector getHOCalDigis() const { return HOCalDigis; }
305  HCalDigiVector getHFCalDigis() const { return HFCalDigis; }
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; }
360  SiStripDigiVector getTIBL1Digis() const { return TIBL1Digis; }
361  SiStripDigiVector getTIBL2Digis() const { return TIBL2Digis; }
362  SiStripDigiVector getTIBL3Digis() const { return TIBL3Digis; }
363  SiStripDigiVector getTIBL4Digis() const { return TIBL4Digis; }
364  SiStripDigiVector getTOBL1Digis() const { return TOBL1Digis; }
365  SiStripDigiVector getTOBL2Digis() const { return TOBL2Digis; }
366  SiStripDigiVector getTOBL3Digis() const { return TOBL3Digis; }
367  SiStripDigiVector getTOBL4Digis() const { return TOBL4Digis; }
368  SiStripDigiVector getTIDW1Digis() const { return TIDW1Digis; }
369  SiStripDigiVector getTIDW2Digis() const { return TIDW2Digis; }
370  SiStripDigiVector getTIDW3Digis() const { return TIDW3Digis; }
371  SiStripDigiVector getTECW1Digis() const { return TECW1Digis; }
372  SiStripDigiVector getTECW2Digis() const { return TECW2Digis; }
373  SiStripDigiVector getTECW3Digis() const { return TECW3Digis; }
374  SiStripDigiVector getTECW4Digis() const { return TECW4Digis; }
375  SiStripDigiVector getTECW5Digis() const { return TECW5Digis; }
376  SiStripDigiVector getTECW6Digis() const { return TECW6Digis; }
377  SiStripDigiVector getTECW7Digis() const { return TECW7Digis; }
378  SiStripDigiVector getTECW8Digis() const { return TECW8Digis; }
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; }
406  SiPixelDigiVector getBRL1Digis() const { return BRL1Digis; }
407  SiPixelDigiVector getBRL2Digis() const { return BRL2Digis; }
408  SiPixelDigiVector getBRL3Digis() const { return BRL3Digis; }
409  SiPixelDigiVector getFWD1pDigis() const { return FWD1pDigis; }
410  SiPixelDigiVector getFWD1nDigis() const { return FWD1nDigis; }
411  SiPixelDigiVector getFWD2pDigis() const { return FWD2pDigis; }
412  SiPixelDigiVector getFWD2nDigis() const { return FWD2nDigis; }
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; }
455  CSCstripDigiVector getCSCstripDigis() const { return CSCstripDigis; }
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; }
469  CSCwireDigiVector getCSCwireDigis() const { return CSCwireDigis; }
470 
471 private:
473  // ECal info
476  ECalDigiVector EBCalDigis;
478  ECalDigiVector EECalDigis;
480  ESCalDigiVector ESCalDigis;
481 
483  // HCal info
486  HCalDigiVector HBCalDigis;
488  HCalDigiVector HECalDigis;
490  HCalDigiVector HOCalDigis;
492  HCalDigiVector HFCalDigis;
493 
495  // Silicon Tracker info
497 
499  //SiStrip info
502  SiStripDigiVector TIBL1Digis;
504  SiStripDigiVector TIBL2Digis;
506  SiStripDigiVector TIBL3Digis;
508  SiStripDigiVector TIBL4Digis;
510  SiStripDigiVector TOBL1Digis;
512  SiStripDigiVector TOBL2Digis;
514  SiStripDigiVector TOBL3Digis;
516  SiStripDigiVector TOBL4Digis;
518  SiStripDigiVector TIDW1Digis;
520  SiStripDigiVector TIDW2Digis;
522  SiStripDigiVector TIDW3Digis;
524  SiStripDigiVector TECW1Digis;
526  SiStripDigiVector TECW2Digis;
528  SiStripDigiVector TECW3Digis;
530  SiStripDigiVector TECW4Digis;
532  SiStripDigiVector TECW5Digis;
534  SiStripDigiVector TECW6Digis;
536  SiStripDigiVector TECW7Digis;
538  SiStripDigiVector TECW8Digis;
539 
541  //SiPixel info
544  SiPixelDigiVector BRL1Digis;
546  SiPixelDigiVector BRL2Digis;
548  SiPixelDigiVector BRL3Digis;
550  SiPixelDigiVector FWD1pDigis;
552  SiPixelDigiVector FWD1nDigis;
554  SiPixelDigiVector FWD2pDigis;
556  SiPixelDigiVector FWD2nDigis;
557 
559  // Muon info
561 
563  // DT Info
566  DTDigiVector MB1Digis;
568  DTDigiVector MB2Digis;
570  DTDigiVector MB3Digis;
572  DTDigiVector MB4Digis;
573 
575  // CSC Strip info
578  CSCstripDigiVector CSCstripDigis;
579 
581  // CSC Wire info
584  CSCwireDigiVector CSCwireDigis;
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; }
655  ECalRecHitVector getEBCalRecHits() const { return EBCalRecHits; }
656  ECalRecHitVector getEECalRecHits() const { return EECalRecHits; }
657  ECalRecHitVector getESCalRecHits() const { return ESCalRecHits; }
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; }
679  HCalRecHitVector getHBCalRecHits() const { return HBCalRecHits; }
680  HCalRecHitVector getHECalRecHits() const { return HECalRecHits; }
681  HCalRecHitVector getHOCalRecHits() const { return HOCalRecHits; }
682  HCalRecHitVector getHFCalRecHits() const { return HFCalRecHits; }
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; }
796  SiStripRecHitVector getTIBL1RecHits() const { return TIBL1RecHits; }
797  SiStripRecHitVector getTIBL2RecHits() const { return TIBL2RecHits; }
798  SiStripRecHitVector getTIBL3RecHits() const { return TIBL3RecHits; }
799  SiStripRecHitVector getTIBL4RecHits() const { return TIBL4RecHits; }
800  SiStripRecHitVector getTOBL1RecHits() const { return TOBL1RecHits; }
801  SiStripRecHitVector getTOBL2RecHits() const { return TOBL2RecHits; }
802  SiStripRecHitVector getTOBL3RecHits() const { return TOBL3RecHits; }
803  SiStripRecHitVector getTOBL4RecHits() const { return TOBL4RecHits; }
804  SiStripRecHitVector getTIDW1RecHits() const { return TIDW1RecHits; }
805  SiStripRecHitVector getTIDW2RecHits() const { return TIDW2RecHits; }
806  SiStripRecHitVector getTIDW3RecHits() const { return TIDW3RecHits; }
807  SiStripRecHitVector getTECW1RecHits() const { return TECW1RecHits; }
808  SiStripRecHitVector getTECW2RecHits() const { return TECW2RecHits; }
809  SiStripRecHitVector getTECW3RecHits() const { return TECW3RecHits; }
810  SiStripRecHitVector getTECW4RecHits() const { return TECW4RecHits; }
811  SiStripRecHitVector getTECW5RecHits() const { return TECW5RecHits; }
812  SiStripRecHitVector getTECW6RecHits() const { return TECW6RecHits; }
813  SiStripRecHitVector getTECW7RecHits() const { return TECW7RecHits; }
814  SiStripRecHitVector getTECW8RecHits() const { return TECW8RecHits; }
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; }
864  SiPixelRecHitVector getBRL1RecHits() const { return BRL1RecHits; }
865  SiPixelRecHitVector getBRL2RecHits() const { return BRL2RecHits; }
866  SiPixelRecHitVector getBRL3RecHits() const { return BRL3RecHits; }
867  SiPixelRecHitVector getFWD1pRecHits() const { return FWD1pRecHits; }
868  SiPixelRecHitVector getFWD1nRecHits() const { return FWD1nRecHits; }
869  SiPixelRecHitVector getFWD2pRecHits() const { return FWD2pRecHits; }
870  SiPixelRecHitVector getFWD2nRecHits() const { return FWD2nRecHits; }
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; }
889  DTRecHitVector getDTRecHits() const { return DTRecHits; }
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; }
907  CSCRecHitVector getCSCRecHits() const { return CSCRecHits; }
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; }
922  RPCRecHitVector getRPCRecHits() const { return RPCRecHits; }
923 
924 private:
926  // ECal info
929  ECalRecHitVector EBCalRecHits;
931  ECalRecHitVector EECalRecHits;
933  ECalRecHitVector ESCalRecHits;
934 
936  // HCal info
939  HCalRecHitVector HBCalRecHits;
941  HCalRecHitVector HECalRecHits;
943  HCalRecHitVector HOCalRecHits;
945  HCalRecHitVector HFCalRecHits;
946 
948  // Silicon Tracker info
950 
952  //SiStrip info
955  SiStripRecHitVector TIBL1RecHits;
957  SiStripRecHitVector TIBL2RecHits;
959  SiStripRecHitVector TIBL3RecHits;
961  SiStripRecHitVector TIBL4RecHits;
963  SiStripRecHitVector TOBL1RecHits;
965  SiStripRecHitVector TOBL2RecHits;
967  SiStripRecHitVector TOBL3RecHits;
969  SiStripRecHitVector TOBL4RecHits;
971  SiStripRecHitVector TIDW1RecHits;
973  SiStripRecHitVector TIDW2RecHits;
975  SiStripRecHitVector TIDW3RecHits;
977  SiStripRecHitVector TECW1RecHits;
979  SiStripRecHitVector TECW2RecHits;
981  SiStripRecHitVector TECW3RecHits;
983  SiStripRecHitVector TECW4RecHits;
985  SiStripRecHitVector TECW5RecHits;
987  SiStripRecHitVector TECW6RecHits;
989  SiStripRecHitVector TECW7RecHits;
991  SiStripRecHitVector TECW8RecHits;
992 
994  //SiPixel info
997  SiPixelRecHitVector BRL1RecHits;
999  SiPixelRecHitVector BRL2RecHits;
1001  SiPixelRecHitVector BRL3RecHits;
1003  SiPixelRecHitVector FWD1pRecHits;
1005  SiPixelRecHitVector FWD1nRecHits;
1007  SiPixelRecHitVector FWD2pRecHits;
1009  SiPixelRecHitVector FWD2nRecHits;
1010 
1012  // Muon info
1014 
1016  // DT Info
1019  DTRecHitVector DTRecHits;
1020 
1022  // CSC info
1025  CSCRecHitVector CSCRecHits;
1026 
1028  // RPC info
1031  RPCRecHitVector RPCRecHits;
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;
1065  friend class PreshowerTestAnalysis;
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 
1146  FloatVector phiOfEEHits() const { return phiOfEECaloG4Hit; }
1147  FloatVector etaOfEEHits() const { return etaOfEECaloG4Hit; }
1148  FloatVector tOfEEHits() const { return tOfEECaloG4Hit; }
1149  FloatVector eOfEEHits() const { return eOfEECaloG4Hit; }
1150  FloatVector eOfEEPlusHits() const { return eOfEEPlusCaloG4Hit; }
1151  FloatVector eOfEEMinusHits() const { return eOfEEMinusCaloG4Hit; }
1152 
1153  FloatVector phiOfEBHits() const { return phiOfEBCaloG4Hit; }
1154  FloatVector etaOfEBHits() const { return etaOfEBCaloG4Hit; }
1155  FloatVector tOfEBHits() const { return tOfEBCaloG4Hit; }
1156  FloatVector eOfEBHits() const { return eOfEBCaloG4Hit; }
1157 
1158  FloatVector phiOfiESHits() const { return phiOfESCaloG4Hit; }
1159  FloatVector etaOfESHits() const { return etaOfESCaloG4Hit; }
1160  FloatVector tOfESHits() const { return tOfESCaloG4Hit; }
1161  FloatVector eOfESHits() const { return eOfESCaloG4Hit; }
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;
1211  FloatVector zOfES;
1212 
1213  FloatVector eOf1ESzp;
1214  FloatVector eOf1ESzm;
1215  FloatVector eOf2ESzp;
1216  FloatVector eOf2ESzm;
1217 
1218  FloatVector phiOfEECaloG4Hit; // Phi of Hits.
1219  FloatVector etaOfEECaloG4Hit; // Eta of Hits.
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 
1225  FloatVector phiOfESCaloG4Hit; // Phi of Hits.
1226  FloatVector etaOfESCaloG4Hit; // Eta of Hits.
1227  FloatVector tOfESCaloG4Hit; // Tof of Hits.
1228  FloatVector eOfESCaloG4Hit; // Energy depostion of Hits.
1229 
1230  FloatVector phiOfEBCaloG4Hit; // Phi of Hits.
1231  FloatVector etaOfEBCaloG4Hit; // Eta of Hits.
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:
1302  int nJetHit, nJet;
1303  float ecalJet, hcalJet, hoJet, etotJet;
1304  float detaJet, dphiJet, drJet, dijetM;
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;
1366  float elongHF, eshortHF, eEcalHF, eHcalHF;
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;
1424  float ecalNxNr, hcalNxNr, hoNxNr, etotNxNr;
1425  float ecalNxN, hcalNxN, hoNxN, etotNxN;
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:
1448  PMuonSimHit() : nRawGenPart(0), nG4Vtx(0), nG4Trk(0), nCSCHits(0), nDTHits(0), nRPCHits(0) {}
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; }
1730  CSCVector getCSCHits() { return CSCHits; }
1731 
1732  int getnDTHits() { return nDTHits; }
1733  DTVector getDTHits() { return DTHits; }
1734 
1735  int getnRPCHits() { return nRPCHits; }
1736  RPCVector getRPCHits() { return RPCHits; }
1737 
1738 private:
1740 
1742  int nG4Vtx;
1743  VtxVector G4Vtx;
1744  int nG4Trk;
1745  TrkVector G4Trk;
1746 
1748 
1750  CSCVector CSCHits;
1751 
1752  int nDTHits;
1753  DTVector DTHits;
1754 
1756  RPCVector RPCHits;
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:
1773  PTrackerSimHit() : nRawGenPart(0), nG4Vtx(0), nG4Trk(0), nHits(0) {}
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;
1886  VtxVector G4Vtx;
1887  int nG4Trk;
1888  TrkVector G4Trk;
1889  // Tracker info
1890  int nHits;
1891  HitVector Hits;
1892 
1893 }; // end class declaration
1894 
1895 #endif
1896 
1897 #endif // endif PValidationFormats_h
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
constexpr int adc(sample_type sample)
get the ADC sample (12 bits)
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