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 
35  typedef std::vector<float> FloatVector;
36  typedef std::vector<int> IntVector;
37  friend class HcalTB04Analysis;
38 
39 public:
40  PHcalTB04Info();
41  virtual ~PHcalTB04Info();
42 
43  // ---------- const member functions ---------------------
44  int primary() const {return nPrimary;}
45  int partID() const {return idBeam;}
46  float initE() const {return eBeam;}
47  float eta() const {return etaBeam;}
48  float phi() const {return phiBeam;}
49  int crystal() const {return nCrystal;}
50  IntVector idsEcal() const {return idEcal;}
51  int tower() const {return nTower;}
52  IntVector idsHcal() const {return idHcal;}
53  float simEtotal() const {return simEtot;}
54  float simEcE() const {return simEEc;}
55  float simHcE() const {return simEHc;}
56  float digEtotal() const {return digEtot;}
57  float digEcE() const {return digEEc;}
58  float digHcE() const {return digEHc;}
59  FloatVector simEEcal() const {return esime;}
60  FloatVector digEEcal() const {return edige;}
61  FloatVector simEHcal() const {return esimh;}
62  FloatVector digEHcal() const {return edigh;}
63 
64  int nHit() const {return hit;}
65  IntVector detectorHit() const {return detHit;}
66  IntVector etaIndexHit() const {return etaHit;}
67  IntVector phiIndexHit() const {return phiHit;}
68  IntVector layerHit() const {return layHit;}
69  FloatVector energyHit() const {return eHit;}
70  FloatVector timeHit() const {return tHit;}
71 
72  int evNum() const {return v1EvNum;}
73  int vtxType() const {return v1Type;}
74  int vtxSec() const {return v1Nsec;}
75  IntVector vtxTrkID() const {return v1secTrackID;}
76  IntVector vtxPartID() const {return v1secPartID;}
77  float vtxPrimX() const {return v1X;}
78  float vtxPrimY() const {return v1Y;}
79  float vtxPrimZ() const {return v1Z;}
80  float vtxPrimR() const {return v1R;}
81  float vtxPrimU() const {return v1U;}
82  float vtxPrimV() const {return v1V;}
83  float vtxPrimW() const {return v1W;}
84  float vtxPrimPx() const {return v1Px;}
85  float vtxPrimPy() const {return v1Py;}
86  float vtxPrimPz() const {return v1Pz;}
87  FloatVector vtxSecPx() const {return v1secPx;}
88  FloatVector vtxSecPy() const {return v1secPy;}
89  FloatVector vtxSecPz() const {return v1secPz;}
90  FloatVector vtxSecEk() const {return v1secEk;}
91 
92  // ---------- static member functions --------------------
93 
94  // ---------- member functions ---------------------------
95  void clear();
96  void setIDs(const std::vector<int>&, const std::vector<int>&);
97  void setPrimary(int primary, int id, double energy, double eta, double phi);
98  void setEdep(double simtot, double sime, double simh,
99  double digtot, double dige, double digh);
100  void setEdepEcal(const std::vector<double>& esim, const std::vector<double>& edig);
101  void setEdepHcal(const std::vector<double>& esim, const std::vector<double>& edig);
102 
103  void setTrnsProf(const std::vector<double>& es1, const std::vector<double>& eq1,
104  const std::vector<double>& es2, 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(int evNum, int type, double x, double y, double z, double u,
110  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
126  FloatVector esime, edige;
127  FloatVector esimh, edigh;
128  FloatVector latsimEta, latdigEta;
129  FloatVector latsimPhi, latdigPhi;
130  FloatVector longsim, longdig;
131 
132  //Tower Members
133  int nCrystal;
134  IntVector idEcal;
135  int nTower;
136  IntVector idHcal;
137 
138  //Hit Members
139  int hit;
140  IntVector detHit, etaHit, phiHit, layHit;
141  FloatVector eHit, tHit;
142 
143  //Vertex members
146  float v1X, v1Y, v1Z, v1R, v1U, v1V, v1W;
147  float v1Px, v1Py, v1Pz;
148  FloatVector v1secPx, v1secPy, v1secPz, v1secEk;
149 };
150 
151 
152 #endif
IntVector detectorHit() const
Definition: PHcalTB04Info.h:65
FloatVector simEHcal() const
Definition: PHcalTB04Info.h:61
FloatVector eHit
virtual ~PHcalTB04Info()
type
Definition: HCALResponse.h:21
FloatVector v1secPy
int nHit() const
Definition: PHcalTB04Info.h:64
float simEtotal() const
Definition: PHcalTB04Info.h:53
void setLongProf(const std::vector< double > &es, const std::vector< double > &eq)
int partID() const
Definition: PHcalTB04Info.h:45
IntVector layHit
const double w
Definition: UKUtility.cc:23
float digEcE() const
Definition: PHcalTB04Info.h:57
FloatVector digEEcal() const
Definition: PHcalTB04Info.h:60
FloatVector vtxSecEk() const
Definition: PHcalTB04Info.h:90
float simHcE() const
Definition: PHcalTB04Info.h:55
float vtxPrimY() const
Definition: PHcalTB04Info.h:78
void setEdepEcal(const std::vector< double > &esim, const std::vector< double > &edig)
IntVector phiHit
float vtxPrimPy() const
Definition: PHcalTB04Info.h:85
void setPrimary(int primary, int id, double energy, double eta, double phi)
FloatVector v1secPx
IntVector v1secPartID
std::vector< int > IntVector
Definition: PHcalTB04Info.h:36
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
IntVector idsEcal() const
Definition: PHcalTB04Info.h:50
void saveHit(int det, int lay, int eta, int phi, double e, double t)
FloatVector edige
IntVector idsHcal() const
Definition: PHcalTB04Info.h:52
IntVector vtxPartID() const
Definition: PHcalTB04Info.h:76
FloatVector longdig
FloatVector esime
float digEtotal() const
Definition: PHcalTB04Info.h:56
void setIDs(const std::vector< int > &, const std::vector< int > &)
IntVector layerHit() const
Definition: PHcalTB04Info.h:68
FloatVector v1secPz
int vtxSec() const
Definition: PHcalTB04Info.h:74
void setVtxSec(int id, int pdg, double px, double py, double pz, double ek)
FloatVector energyHit() const
Definition: PHcalTB04Info.h:69
FloatVector timeHit() const
Definition: PHcalTB04Info.h:70
void setEdepHcal(const std::vector< double > &esim, const std::vector< double > &edig)
float initE() const
Definition: PHcalTB04Info.h:46
IntVector v1secTrackID
IntVector idEcal
float vtxPrimZ() const
Definition: PHcalTB04Info.h:79
FloatVector simEEcal() const
Definition: PHcalTB04Info.h:59
float vtxPrimPx() const
Definition: PHcalTB04Info.h:84
IntVector etaIndexHit() const
Definition: PHcalTB04Info.h:66
FloatVector latsimEta
IntVector idHcal
IntVector vtxTrkID() const
Definition: PHcalTB04Info.h:75
FloatVector vtxSecPx() const
Definition: PHcalTB04Info.h:87
float vtxPrimR() const
Definition: PHcalTB04Info.h:80
FloatVector vtxSecPz() const
Definition: PHcalTB04Info.h:89
int evNum() const
Definition: PHcalTB04Info.h:72
int crystal() const
Definition: PHcalTB04Info.h:49
FloatVector vtxSecPy() const
Definition: PHcalTB04Info.h:88
FloatVector longsim
float phi() const
Definition: PHcalTB04Info.h:48
IntVector etaHit
IntVector phiIndexHit() const
Definition: PHcalTB04Info.h:67
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)
float vtxPrimX() const
Definition: PHcalTB04Info.h:77
FloatVector latdigPhi
float digHcE() const
Definition: PHcalTB04Info.h:58
FloatVector esimh
float vtxPrimU() const
Definition: PHcalTB04Info.h:81
FloatVector digEHcal() const
Definition: PHcalTB04Info.h:62
float eta() const
Definition: PHcalTB04Info.h:47
int primary() const
Definition: PHcalTB04Info.h:44
float simEcE() const
Definition: PHcalTB04Info.h:54
float vtxPrimPz() const
Definition: PHcalTB04Info.h:86
IntVector detHit
float vtxPrimW() const
Definition: PHcalTB04Info.h:83
std::vector< float > FloatVector
Definition: PHcalTB04Info.h:35
float vtxPrimV() const
Definition: PHcalTB04Info.h:82
FloatVector latsimPhi
FloatVector latdigEta
int vtxType() const
Definition: PHcalTB04Info.h:73
FloatVector tHit
int tower() const
Definition: PHcalTB04Info.h:51