00001 // 00002 // $Id: PFParticle.h,v 1.2 2008/10/08 19:04:42 gpetrucc 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 namespace pat { 00033 00034 00035 typedef reco::PFCandidate PFParticleType; 00036 00037 00038 class PFParticle : public PATObject<PFParticleType> { 00039 00040 public: 00041 00042 PFParticle() {} 00043 00044 PFParticle(const edm::RefToBase<PFParticleType> & aPFParticle); 00045 00046 virtual PFParticle * clone() const { return new PFParticle(*this); } 00047 00048 }; 00049 00050 00051 } 00052 00053 #endif