![]() |
![]() |
00001 #ifndef DataFormats_BTauReco_JTATagInfo_h 00002 #define DataFormats_BTauReco_JTATagInfo_h 00003 00004 #include "DataFormats/BTauReco/interface/RefMacros.h" 00005 #include "DataFormats/BTauReco/interface/BaseTagInfo.h" 00006 #include "DataFormats/JetReco/interface/JetTracksAssociation.h" 00007 00008 namespace reco { 00009 00010 class JTATagInfo : public BaseTagInfo { 00011 public: 00012 00013 JTATagInfo(void) : m_jetTracksAssociation() { } 00014 JTATagInfo(const JetTracksAssociationRef & jtaRef) : m_jetTracksAssociation(jtaRef) { } 00015 00016 virtual ~JTATagInfo(void) { } 00017 00018 virtual JTATagInfo* clone(void) const { return new JTATagInfo(*this); } 00019 00020 virtual edm::RefToBase<Jet> jet(void) const { return m_jetTracksAssociation->first ; } 00021 virtual TrackRefVector tracks(void) const { return m_jetTracksAssociation->second; } 00022 const JetTracksAssociationRef & jtaRef(void) const { return m_jetTracksAssociation; } 00023 00024 virtual bool hasTracks(void) const { return true; } 00025 00026 void setJTARef(const JetTracksAssociationRef & jtaRef) { m_jetTracksAssociation = jtaRef; } 00027 00028 protected: 00029 JetTracksAssociationRef m_jetTracksAssociation; 00030 }; 00031 00032 DECLARE_EDM_REFS( JTATagInfo ) 00033 00034 } 00035 00036 #endif // DataFormats_BTauReco_JTATagInfo_h