00001 // 00002 // $Id: PFParticle.h,v 1.3 2008/11/28 19:02:15 lowette Exp $ 00003 // 00004 00005 #ifndef DataFormats_PatCandidates_PFParticle_h 00006 #define DataFormats_PatCandidates_PFParticle_h 00007 00020 #include "DataFormats/ParticleFlowCandidate/interface/PFCandidate.h" 00021 #include "DataFormats/PatCandidates/interface/PATObject.h" 00022 00023 00024 // Define typedefs for convenience 00025 namespace pat { 00026 class PFParticle; 00027 typedef std::vector<PFParticle> PFParticleCollection; 00028 typedef edm::Ref<PFParticleCollection> PFParticleRef; 00029 typedef edm::RefVector<PFParticleCollection> PFParticleRefVector; 00030 } 00031 00032 00033 // Class definition 00034 namespace pat { 00035 00036 00037 class PFParticle : public PATObject<reco::PFCandidate> { 00038 00039 public: 00040 00042 PFParticle() {} 00044 PFParticle(const edm::RefToBase<reco::PFCandidate> & aPFParticle); 00046 virtual ~PFParticle() {} 00047 00049 virtual PFParticle * clone() const { return new PFParticle(*this); } 00050 00051 }; 00052 00053 00054 } 00055 00056 #endif