00001 // 00002 // $Id: CompositeCandidate.h,v 1.1 2008/10/23 20:21:13 srappocc Exp $ 00003 // 00004 00005 #ifndef DataFormats_PatCandidates_CompositeCandidate_h 00006 #define DataFormats_PatCandidates_CompositeCandidate_h 00007 00019 #include "DataFormats/Candidate/interface/CompositeCandidate.h" 00020 #include "DataFormats/PatCandidates/interface/PATObject.h" 00021 00022 // Define typedefs for convenience 00023 namespace pat { 00024 class CompositeCandidate; 00025 typedef std::vector<CompositeCandidate> CompositeCandidateCollection; 00026 typedef edm::Ref<CompositeCandidateCollection> CompositeCandidateRef; 00027 typedef edm::RefVector<CompositeCandidateCollection> CompositeCandidateRefVector; 00028 } 00029 00030 namespace pat { 00031 00032 00033 typedef reco::CompositeCandidate CompositeCandidateType; 00034 00035 00036 class CompositeCandidate : public PATObject<reco::CompositeCandidate> { 00037 00038 public: 00039 00040 CompositeCandidate(); 00041 CompositeCandidate(const CompositeCandidateType & aCompositeCandidate); 00042 virtual ~CompositeCandidate(); 00043 00044 virtual CompositeCandidate * clone() const { return new CompositeCandidate(*this); } 00045 00046 }; 00047 00048 00049 } 00050 00051 #endif