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
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 #endif
IntVector detectorHit() const
Definition: PHcalTB04Info.h:64
FloatVector simEHcal() const
Definition: PHcalTB04Info.h:60
FloatVector eHit
virtual ~PHcalTB04Info()
type
Definition: HCALResponse.h:21
FloatVector v1secPy
int nHit() const
Definition: PHcalTB04Info.h:63
float simEtotal() const
Definition: PHcalTB04Info.h:52
void setLongProf(const std::vector< double > &es, const std::vector< double > &eq)
int partID() const
Definition: PHcalTB04Info.h:44
IntVector layHit
const double w
Definition: UKUtility.cc:23
float digEcE() const
Definition: PHcalTB04Info.h:56
FloatVector digEEcal() const
Definition: PHcalTB04Info.h:59
FloatVector vtxSecEk() const
Definition: PHcalTB04Info.h:89
float simHcE() const
Definition: PHcalTB04Info.h:54
float vtxPrimY() const
Definition: PHcalTB04Info.h:77
void setEdepEcal(const std::vector< double > &esim, const std::vector< double > &edig)
IntVector phiHit
float vtxPrimPy() const
Definition: PHcalTB04Info.h:84
void setPrimary(int primary, int id, double energy, double eta, double phi)
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
IntVector idsEcal() const
Definition: PHcalTB04Info.h:49
void saveHit(int det, int lay, int eta, int phi, double e, double t)
FloatVector edige
IntVector idsHcal() const
Definition: PHcalTB04Info.h:51
IntVector vtxPartID() const
Definition: PHcalTB04Info.h:75
FloatVector longdig
FloatVector esime
float digEtotal() const
Definition: PHcalTB04Info.h:55
void setIDs(const std::vector< int > &, const std::vector< int > &)
IntVector layerHit() const
Definition: PHcalTB04Info.h:67
FloatVector v1secPz
int vtxSec() const
Definition: PHcalTB04Info.h:73
void setVtxSec(int id, int pdg, double px, double py, double pz, double ek)
FloatVector energyHit() const
Definition: PHcalTB04Info.h:68
FloatVector timeHit() const
Definition: PHcalTB04Info.h:69
void setEdepHcal(const std::vector< double > &esim, const std::vector< double > &edig)
float initE() const
Definition: PHcalTB04Info.h:45
IntVector v1secTrackID
IntVector idEcal
float vtxPrimZ() const
Definition: PHcalTB04Info.h:78
FloatVector simEEcal() const
Definition: PHcalTB04Info.h:58
float vtxPrimPx() const
Definition: PHcalTB04Info.h:83
IntVector etaIndexHit() const
Definition: PHcalTB04Info.h:65
FloatVector latsimEta
IntVector idHcal
IntVector vtxTrkID() const
Definition: PHcalTB04Info.h:74
FloatVector vtxSecPx() const
Definition: PHcalTB04Info.h:86
float vtxPrimR() const
Definition: PHcalTB04Info.h:79
FloatVector vtxSecPz() const
Definition: PHcalTB04Info.h:88
int evNum() const
Definition: PHcalTB04Info.h:71
int crystal() const
Definition: PHcalTB04Info.h:48
FloatVector vtxSecPy() const
Definition: PHcalTB04Info.h:87
FloatVector longsim
float phi() const
Definition: PHcalTB04Info.h:47
IntVector etaHit
IntVector phiIndexHit() const
Definition: PHcalTB04Info.h:66
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:76
FloatVector latdigPhi
float digHcE() const
Definition: PHcalTB04Info.h:57
FloatVector esimh
float vtxPrimU() const
Definition: PHcalTB04Info.h:80
FloatVector digEHcal() const
Definition: PHcalTB04Info.h:61
float eta() const
Definition: PHcalTB04Info.h:46
int primary() const
Definition: PHcalTB04Info.h:43
float simEcE() const
Definition: PHcalTB04Info.h:53
float vtxPrimPz() const
Definition: PHcalTB04Info.h:85
IntVector detHit
float vtxPrimW() const
Definition: PHcalTB04Info.h:82
std::vector< float > FloatVector
Definition: PHcalTB04Info.h:34
float vtxPrimV() const
Definition: PHcalTB04Info.h:81
FloatVector latsimPhi
FloatVector latdigEta
int vtxType() const
Definition: PHcalTB04Info.h:72
FloatVector tHit
int tower() const
Definition: PHcalTB04Info.h:50