Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:03:47

0001 #ifndef DataFormats_BTauReco_JetTagInfo_h
0002 #define DataFormats_BTauReco_JetTagInfo_h
0003 
0004 #include "DataFormats/BTauReco/interface/RefMacros.h"
0005 #include "DataFormats/BTauReco/interface/BaseTagInfo.h"
0006 
0007 namespace reco {
0008 
0009   class JetTagInfo : public BaseTagInfo {
0010   public:
0011     JetTagInfo(void) : m_jet() {}
0012 
0013     template <typename T>
0014     JetTagInfo(const edm::Ref<T>& jetRef) : m_jet(jetRef) {}
0015 
0016     JetTagInfo(const edm::RefToBase<Jet>& jetRef) : m_jet(jetRef) {}
0017 
0018     ~JetTagInfo(void) override {}
0019 
0020     JetTagInfo* clone(void) const override { return new JetTagInfo(*this); }
0021 
0022     edm::RefToBase<Jet> jet(void) const override { return m_jet; }
0023 
0024     template <typename T>
0025     void setJetRef(const edm::Ref<T>& jetRef) {
0026       m_jet = edm::RefToBase<Jet>(jetRef);
0027     }
0028 
0029     void setJetRef(const edm::RefToBase<Jet>& jetRef) { m_jet = edm::RefToBase<Jet>(jetRef); }
0030 
0031   protected:
0032     edm::RefToBase<Jet> m_jet;
0033   };
0034 
0035   DECLARE_EDM_REFS(JetTagInfo)
0036 
0037 }  // namespace reco
0038 
0039 #endif  // DataFormats_BTauReco_JetTagInfo_h