00001 #ifndef MatchedParton_H 00002 #define MatchedParton_H 00003 00004 #include <vector> 00005 //#include "DataFormats/Candidate/interface/Candidate.h" 00006 //#include "DataFormats/Candidate/interface/CandidateFwd.h" 00007 #include "DataFormats/HepMCCandidate/interface/GenParticle.h" 00008 #include "DataFormats/HepMCCandidate/interface/GenParticleFwd.h" 00009 00010 namespace reco 00011 { 00012 00013 class MatchedPartons 00014 { 00015 public: 00016 00017 MatchedPartons() { } 00018 MatchedPartons( 00019 GenParticleRef hv, 00020 GenParticleRef n2, 00021 GenParticleRef n3, 00022 GenParticleRef pd, 00023 GenParticleRef ad 00024 ) : 00025 m_heaviest(hv), 00026 m_nearest2(n2), 00027 m_nearest3(n3), 00028 m_PhysDef(pd), 00029 m_AlgoDef(ad) { } 00030 00031 //Return the ParticleRef for the heaviest flavour in the signal cone 00032 const GenParticleRef heaviest() const {return m_heaviest;} 00033 00034 //Return the ParticleRef for the nearest parton (status=2) 00035 const GenParticleRef & nearest_status2() const {return m_nearest2;} 00036 00037 //Return the ParticleRef for the nearest parton (status=3) 00038 const GenParticleRef & nearest_status3() const {return m_nearest3;} 00039 00040 //Return the ParticleRef for the Physics Definition parton 00041 const GenParticleRef & physicsDefinitionParton() const {return m_PhysDef;} 00042 00043 //Return the ParticleRef for the Algorithmic Definition parton 00044 const GenParticleRef & algoDefinitionParton() const {return m_AlgoDef;} 00045 00046 private: 00047 00048 GenParticleRef m_heaviest; 00049 GenParticleRef m_nearest2; 00050 GenParticleRef m_nearest3; 00051 GenParticleRef m_PhysDef; 00052 GenParticleRef m_AlgoDef; 00053 00054 }; 00055 00056 } 00057 #endif