00001 #ifndef PizeroMCTruthFinder_h 00002 #define PizeroMCTruthFinder_h 00003 00004 #include "SimDataFormats/Track/interface/SimTrack.h" 00005 #include "SimDataFormats/Track/interface/SimTrackContainer.h" 00006 #include "SimDataFormats/Vertex/interface/SimVertex.h" 00007 #include "SimDataFormats/Vertex/interface/SimVertexContainer.h" 00008 00009 #include "RecoEgamma/EgammaMCTools/interface/PizeroMCTruth.h" 00010 #include "RecoEgamma/EgammaMCTools/interface/PhotonMCTruth.h" 00011 #include "RecoEgamma/EgammaMCTools/interface/ElectronMCTruth.h" 00012 00013 00014 class PhotonMCTruthFinder; 00015 class ElectronMCTruthFinder; 00016 class PizeroMCTruthFinder { 00017 00018 public: 00019 00020 PizeroMCTruthFinder(); 00021 00022 virtual ~PizeroMCTruthFinder(); 00023 00024 std::vector<PizeroMCTruth> find(std::vector<SimTrack> simTracks, std::vector<SimVertex> simVertices); 00025 00026 private: 00027 00028 void fill(std::vector<SimTrack>& theSimTracks, std::vector<SimVertex>& theSimVertices); 00029 00030 std::map<unsigned, unsigned> geantToIndex_; 00031 PhotonMCTruthFinder* thePhotonMCTruthFinder_; 00032 ElectronMCTruthFinder* theElectronMCTruthFinder_; 00033 00034 }; 00035 00036 #endif