CMS 3D CMS Logo

PHcalTB04Info.h
Go to the documentation of this file.
1 #ifndef HcalTestBeam_PHcalTB04Info_h
2 #define HcalTestBeam_PHcalTB04Info_h
3 // -*- C++ -*-
4 //
5 // Package: HcalTestBeam
6 // Class : PHcalTB04Info
7 //
17 //
18 // Original Author: Sunanda Banerjee
19 // Created: Sun May 14 10:14:34 CEST 2006
20 //
21 
22 // system include files
23 #include <string>
24 #include <vector>
25 #include <memory>
26 #include <cmath>
27 
28 // user include files
29 
30 // forward declarations
31 class HcalTB04Analysis;
32 
34  typedef std::vector<float> FloatVector;
35  typedef std::vector<int> IntVector;
36  friend class HcalTB04Analysis;
37 
38 public:
39  PHcalTB04Info();
40  virtual ~PHcalTB04Info();
41 
42  // ---------- const member functions ---------------------
43  int primary() const { return nPrimary; }
44  int partID() const { return idBeam; }
45  float initE() const { return eBeam; }
46  float eta() const { return etaBeam; }
47  float phi() const { return phiBeam; }
48  int crystal() const { return nCrystal; }
49  IntVector idsEcal() const { return idEcal; }
50  int tower() const { return nTower; }
51  IntVector idsHcal() const { return idHcal; }
52  float simEtotal() const { return simEtot; }
53  float simEcE() const { return simEEc; }
54  float simHcE() const { return simEHc; }
55  float digEtotal() const { return digEtot; }
56  float digEcE() const { return digEEc; }
57  float digHcE() const { return digEHc; }
58  FloatVector simEEcal() const { return esime; }
59  FloatVector digEEcal() const { return edige; }
60  FloatVector simEHcal() const { return esimh; }
61  FloatVector digEHcal() const { return edigh; }
62 
63  int nHit() const { return hit; }
64  IntVector detectorHit() const { return detHit; }
65  IntVector etaIndexHit() const { return etaHit; }
66  IntVector phiIndexHit() const { return phiHit; }
67  IntVector layerHit() const { return layHit; }
68  FloatVector energyHit() const { return eHit; }
69  FloatVector timeHit() const { return tHit; }
70 
71  int evNum() const { return v1EvNum; }
72  int vtxType() const { return v1Type; }
73  int vtxSec() const { return v1Nsec; }
74  IntVector vtxTrkID() const { return v1secTrackID; }
75  IntVector vtxPartID() const { return v1secPartID; }
76  float vtxPrimX() const { return v1X; }
77  float vtxPrimY() const { return v1Y; }
78  float vtxPrimZ() const { return v1Z; }
79  float vtxPrimR() const { return v1R; }
80  float vtxPrimU() const { return v1U; }
81  float vtxPrimV() const { return v1V; }
82  float vtxPrimW() const { return v1W; }
83  float vtxPrimPx() const { return v1Px; }
84  float vtxPrimPy() const { return v1Py; }
85  float vtxPrimPz() const { return v1Pz; }
86  FloatVector vtxSecPx() const { return v1secPx; }
87  FloatVector vtxSecPy() const { return v1secPy; }
88  FloatVector vtxSecPz() const { return v1secPz; }
89  FloatVector vtxSecEk() const { return v1secEk; }
90 
91  // ---------- static member functions --------------------
92 
93  // ---------- member functions ---------------------------
94  void clear();
95  void setIDs(const std::vector<int>&, const std::vector<int>&);
96  void setPrimary(int primary, int id, double energy, double eta, double phi);
97  void setEdep(double simtot, double sime, double simh, double digtot, double dige, double digh);
98  void setEdepEcal(const std::vector<double>& esim, const std::vector<double>& edig);
99  void setEdepHcal(const std::vector<double>& esim, const std::vector<double>& edig);
100 
101  void setTrnsProf(const std::vector<double>& es1,
102  const std::vector<double>& eq1,
103  const std::vector<double>& es2,
104  const std::vector<double>& eq2);
105  void setLongProf(const std::vector<double>& es, const std::vector<double>& eq);
106  void saveHit(int det, int lay, int eta, int phi, double e, double t);
107 
108  //Vertex associated methods
109  void setVtxPrim(
110  int evNum, int type, double x, double y, double z, double u, double v, double w, double px, double py, double pz);
111  void setVtxSec(int id, int pdg, double px, double py, double pz, double ek);
112 
113 private:
114  // PHcalTB04Info(const PHcalTB04Info&);
115  // const PHcalTB04Info& operator=(const PHcalTB04Info&);
116 
117  // ---------- member data --------------------------------
118 
119  //Beam parameters
122 
123  //Deposited energies
131 
132  //Tower Members
133  int nCrystal;
135  int nTower;
137 
138  //Hit Members
139  int hit;
142 
143  //Vertex members
146  float v1X, v1Y, v1Z, v1R, v1U, v1V, v1W;
147  float v1Px, v1Py, v1Pz;
149 };
150 
151 #endif
FloatVector eHit
virtual ~PHcalTB04Info()
float vtxPrimW() const
Definition: PHcalTB04Info.h:82
FloatVector v1secPy
int partID() const
Definition: PHcalTB04Info.h:44
int nHit() const
Definition: PHcalTB04Info.h:63
void setLongProf(const std::vector< double > &es, const std::vector< double > &eq)
IntVector layHit
IntVector vtxPartID() const
Definition: PHcalTB04Info.h:75
float digHcE() const
Definition: PHcalTB04Info.h:57
FloatVector vtxSecEk() const
Definition: PHcalTB04Info.h:89
T w() const
float digEcE() const
Definition: PHcalTB04Info.h:56
int primary() const
Definition: PHcalTB04Info.h:43
float simEcE() const
Definition: PHcalTB04Info.h:53
FloatVector digEEcal() const
Definition: PHcalTB04Info.h:59
void setEdepEcal(const std::vector< double > &esim, const std::vector< double > &edig)
IntVector phiHit
void setPrimary(int primary, int id, double energy, double eta, double phi)
FloatVector simEHcal() const
Definition: PHcalTB04Info.h:60
IntVector detectorHit() const
Definition: PHcalTB04Info.h:64
FloatVector v1secPx
IntVector v1secPartID
std::vector< int > IntVector
Definition: PHcalTB04Info.h:35
void setEdep(double simtot, double sime, double simh, double digtot, double dige, double digh)
void setTrnsProf(const std::vector< double > &es1, const std::vector< double > &eq1, const std::vector< double > &es2, const std::vector< double > &eq2)
FloatVector edigh
FloatVector vtxSecPz() const
Definition: PHcalTB04Info.h:88
float vtxPrimPx() const
Definition: PHcalTB04Info.h:83
void saveHit(int det, int lay, int eta, int phi, double e, double t)
IntVector etaIndexHit() const
Definition: PHcalTB04Info.h:65
float vtxPrimY() const
Definition: PHcalTB04Info.h:77
FloatVector edige
FloatVector digEHcal() const
Definition: PHcalTB04Info.h:61
FloatVector simEEcal() const
Definition: PHcalTB04Info.h:58
FloatVector longdig
FloatVector esime
void setIDs(const std::vector< int > &, const std::vector< int > &)
float vtxPrimR() const
Definition: PHcalTB04Info.h:79
FloatVector v1secPz
void setVtxSec(int id, int pdg, double px, double py, double pz, double ek)
void setEdepHcal(const std::vector< double > &esim, const std::vector< double > &edig)
IntVector v1secTrackID
IntVector vtxTrkID() const
Definition: PHcalTB04Info.h:74
IntVector idEcal
int vtxType() const
Definition: PHcalTB04Info.h:72
float vtxPrimX() const
Definition: PHcalTB04Info.h:76
float digEtotal() const
Definition: PHcalTB04Info.h:55
float eta() const
Definition: PHcalTB04Info.h:46
FloatVector timeHit() const
Definition: PHcalTB04Info.h:69
FloatVector latsimEta
float vtxPrimPz() const
Definition: PHcalTB04Info.h:85
IntVector idHcal
IntVector layerHit() const
Definition: PHcalTB04Info.h:67
float vtxPrimV() const
Definition: PHcalTB04Info.h:81
FloatVector vtxSecPy() const
Definition: PHcalTB04Info.h:87
int vtxSec() const
Definition: PHcalTB04Info.h:73
FloatVector longsim
float vtxPrimPy() const
Definition: PHcalTB04Info.h:84
IntVector etaHit
int crystal() const
Definition: PHcalTB04Info.h:48
float initE() const
Definition: PHcalTB04Info.h:45
FloatVector v1secEk
void setVtxPrim(int evNum, int type, double x, double y, double z, double u, double v, double w, double px, double py, double pz)
FloatVector latdigPhi
FloatVector esimh
float vtxPrimZ() const
Definition: PHcalTB04Info.h:78
float vtxPrimU() const
Definition: PHcalTB04Info.h:80
float phi() const
Definition: PHcalTB04Info.h:47
float simEtotal() const
Definition: PHcalTB04Info.h:52
int evNum() const
Definition: PHcalTB04Info.h:71
FloatVector energyHit() const
Definition: PHcalTB04Info.h:68
float simHcE() const
Definition: PHcalTB04Info.h:54
IntVector idsEcal() const
Definition: PHcalTB04Info.h:49
IntVector detHit
std::vector< float > FloatVector
Definition: PHcalTB04Info.h:34
FloatVector latsimPhi
IntVector idsHcal() const
Definition: PHcalTB04Info.h:51
FloatVector latdigEta
FloatVector vtxSecPx() const
Definition: PHcalTB04Info.h:86
IntVector phiIndexHit() const
Definition: PHcalTB04Info.h:66
FloatVector tHit
int tower() const
Definition: PHcalTB04Info.h:50