File indexing completed on 2023-03-17 11:17:44
0001 #ifndef PhotonMCTruth_h
0002 #define PhotonMCTruth_h
0003
0004 #include "DataFormats/GeometryVector/interface/GlobalPoint.h"
0005 #include "SimDataFormats/Track/interface/SimTrack.h"
0006 #include <CLHEP/Matrix/Vector.h>
0007 #include <CLHEP/Vector/LorentzVector.h>
0008 #include "RecoEgamma/EgammaMCTools/interface/ElectronMCTruth.h"
0009 #include <vector>
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020 class PhotonMCTruth {
0021 public:
0022 PhotonMCTruth() : isAConversion_(0), thePhoton_(0., 0., 0.), theConvVertex_(0., 0., 0.){};
0023
0024 PhotonMCTruth(CLHEP::HepLorentzVector v) : thePhoton_(v){};
0025
0026 PhotonMCTruth(int isAConversion,
0027 CLHEP::HepLorentzVector v,
0028 int vertIndex,
0029 int trackId,
0030 int motherId,
0031 CLHEP::HepLorentzVector mothMom,
0032 CLHEP::HepLorentzVector mothVtx,
0033 CLHEP::HepLorentzVector convVertex,
0034 CLHEP::HepLorentzVector pV,
0035 std::vector<ElectronMCTruth>& electrons);
0036
0037 CLHEP::HepLorentzVector primaryVertex() const { return thePrimaryVertex_; }
0038 int isAConversion() const { return isAConversion_; }
0039 CLHEP::HepLorentzVector fourMomentum() const { return thePhoton_; }
0040 int vertexInd() const { return theVertexIndex_; }
0041 CLHEP::HepLorentzVector vertex() const { return theConvVertex_; }
0042 std::vector<ElectronMCTruth> electrons() const { return theElectrons_; }
0043 int trackId() const { return theTrackId_; }
0044 int motherType() const { return theMotherId_; }
0045 CLHEP::HepLorentzVector motherMomentum() const { return theMotherMom_; }
0046 CLHEP::HepLorentzVector motherVtx() const { return theMotherVtx_; }
0047
0048 private:
0049 int isAConversion_;
0050 CLHEP::HepLorentzVector thePhoton_;
0051 int theVertexIndex_;
0052 int theTrackId_;
0053 int theMotherId_;
0054 CLHEP::HepLorentzVector theMotherMom_;
0055 CLHEP::HepLorentzVector theMotherVtx_;
0056 CLHEP::HepLorentzVector theConvVertex_;
0057 CLHEP::HepLorentzVector thePrimaryVertex_;
0058 std::vector<ElectronMCTruth> theElectrons_;
0059 };
0060
0061 #endif