CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_7/src/RecoEgamma/EgammaMCTools/interface/ElectronMCTruth.h

Go to the documentation of this file.
00001 #ifndef ElectronMCTruth_h
00002 #define ElectronMCTruth_h
00003 
00004 #include "DataFormats/GeometryVector/interface/GlobalPoint.h"
00005 #include "SimDataFormats/Track/interface/SimTrack.h"
00006 #include <CLHEP/Matrix/Vector.h>
00007 #include <CLHEP/Vector/LorentzVector.h>
00008 #include <vector>
00009 
00020 class ElectronMCTruth {
00021 
00022   public:
00023     ElectronMCTruth();
00024     ElectronMCTruth( CLHEP::HepLorentzVector&  v, 
00025                      int vertIndex,
00026                      std::vector<CLHEP::Hep3Vector>& bremPos, 
00027                      std::vector<CLHEP::HepLorentzVector>& pBrem, 
00028                      std::vector<float>& xbrem, 
00029                      CLHEP::HepLorentzVector& pV,  
00030                      SimTrack& eTrack );
00031 
00032 
00033     CLHEP::HepLorentzVector fourMomentum() const {return theElectron_;} 
00034     CLHEP::HepLorentzVector primaryVertex() const {return thePrimaryVertex_;} 
00035     std::vector<CLHEP::Hep3Vector> bremVertices() const { return theBremPosition_;}
00036     std::vector<CLHEP::HepLorentzVector> bremMomentum() const { return theBremMomentum_;}
00037     std::vector<float>  eloss() const {return theELoss_;}
00038     SimTrack simTracks() const {return eTrack_;}     
00039     int vertexInd() const {return theVertexIndex_;}
00040 
00041  private:
00042     CLHEP::HepLorentzVector theElectron_;
00043     int theVertexIndex_;
00044     std::vector<CLHEP::Hep3Vector> theBremPosition_;
00045     std::vector<CLHEP::HepLorentzVector> theBremMomentum_;
00046     std::vector<float> theELoss_;
00047     CLHEP::HepLorentzVector thePrimaryVertex_;
00048     SimTrack eTrack_;
00049 
00050 
00051 
00052 };
00053 
00054 #endif