Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 10:50:52

0001 //
0002 //
0003 
0004 #ifndef DataFormats_PatCandidates_CompositeCandidate_h
0005 #define DataFormats_PatCandidates_CompositeCandidate_h
0006 
0007 /**
0008   \class    pat::CompositeCandidate CompositeCandidate.h "DataFormats/PatCandidates/interface/CompositeCandidate.h"
0009   \brief    Analysis-level particle class
0010 
0011    CompositeCandidate implements an analysis-level particle class within the 'pat'
0012    namespace.
0013 
0014   \author   Sal Rappoccio
0015 */
0016 
0017 #include "DataFormats/Candidate/interface/CompositeCandidate.h"
0018 #include "DataFormats/PatCandidates/interface/PATObject.h"
0019 
0020 // Define typedefs for convenience
0021 namespace pat {
0022   class CompositeCandidate;
0023   typedef std::vector<CompositeCandidate> CompositeCandidateCollection;
0024   typedef edm::Ref<CompositeCandidateCollection> CompositeCandidateRef;
0025   typedef edm::RefVector<CompositeCandidateCollection> CompositeCandidateRefVector;
0026 }  // namespace pat
0027 
0028 // Class definition
0029 namespace pat {
0030 
0031   class CompositeCandidate : public PATObject<reco::CompositeCandidate> {
0032   public:
0033     /// default constructor
0034     CompositeCandidate();
0035     /// constructor from a composite candidate
0036     CompositeCandidate(const reco::CompositeCandidate& aCompositeCandidate);
0037     /// destructor
0038     ~CompositeCandidate() override;
0039 
0040     /// required reimplementation of the Candidate's clone method
0041     CompositeCandidate* clone() const override { return new CompositeCandidate(*this); }
0042   };
0043 
0044 }  // namespace pat
0045 
0046 #endif