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 }
0038
0039 #endif