CMS 3D CMS Logo

ElectronMCTruth.h
Go to the documentation of this file.
1 #ifndef ElectronMCTruth_h
2 #define ElectronMCTruth_h
3 
6 #include <CLHEP/Matrix/Vector.h>
7 #include <CLHEP/Vector/LorentzVector.h>
8 #include <vector>
9 
19 public:
21  ElectronMCTruth(CLHEP::HepLorentzVector& v,
22  int vertIndex,
23  std::vector<CLHEP::Hep3Vector>& bremPos,
24  std::vector<CLHEP::HepLorentzVector>& pBrem,
25  std::vector<float>& xbrem,
26  CLHEP::HepLorentzVector& pV,
27  SimTrack& eTrack);
28 
29  CLHEP::HepLorentzVector fourMomentum() const { return theElectron_; }
30  CLHEP::HepLorentzVector primaryVertex() const { return thePrimaryVertex_; }
31  std::vector<CLHEP::Hep3Vector> bremVertices() const { return theBremPosition_; }
32  std::vector<CLHEP::HepLorentzVector> bremMomentum() const { return theBremMomentum_; }
33  std::vector<float> eloss() const { return theELoss_; }
34  SimTrack simTracks() const { return eTrack_; }
35  int vertexInd() const { return theVertexIndex_; }
36 
37 private:
38  CLHEP::HepLorentzVector theElectron_;
40  std::vector<CLHEP::Hep3Vector> theBremPosition_;
41  std::vector<CLHEP::HepLorentzVector> theBremMomentum_;
42  std::vector<float> theELoss_;
43  CLHEP::HepLorentzVector thePrimaryVertex_;
45 };
46 
47 #endif
std::vector< CLHEP::Hep3Vector > theBremPosition_
std::vector< CLHEP::HepLorentzVector > theBremMomentum_
CLHEP::HepLorentzVector fourMomentum() const
int vertexInd() const
std::vector< float > theELoss_
std::vector< CLHEP::Hep3Vector > bremVertices() const
std::vector< CLHEP::HepLorentzVector > bremMomentum() const
CLHEP::HepLorentzVector primaryVertex() const
std::vector< float > eloss() const
SimTrack simTracks() const
CLHEP::HepLorentzVector thePrimaryVertex_
CLHEP::HepLorentzVector theElectron_