Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef DataFormats_BTauReco_JTATagInfo_h
0002 #define DataFormats_BTauReco_JTATagInfo_h
0003 
0004 #include "DataFormats/BTauReco/interface/RefMacros.h"
0005 #include "DataFormats/BTauReco/interface/BaseTagInfo.h"
0006 #include "DataFormats/JetReco/interface/JetTracksAssociation.h"
0007 
0008 namespace reco {
0009 
0010   class JTATagInfo : public BaseTagInfo {
0011   public:
0012     JTATagInfo(void) : m_jetTracksAssociation() {}
0013     JTATagInfo(const JetTracksAssociationRef& jtaRef) : m_jetTracksAssociation(jtaRef) {}
0014 
0015     ~JTATagInfo(void) override {}
0016 
0017     JTATagInfo* clone(void) const override { return new JTATagInfo(*this); }
0018 
0019     edm::RefToBase<Jet> jet(void) const override { return m_jetTracksAssociation->first; }
0020     TrackRefVector tracks(void) const override { return m_jetTracksAssociation->second; }
0021     const JetTracksAssociationRef& jtaRef(void) const { return m_jetTracksAssociation; }
0022 
0023     bool hasTracks(void) const override { return true; }
0024 
0025     void setJTARef(const JetTracksAssociationRef& jtaRef) { m_jetTracksAssociation = jtaRef; }
0026 
0027   protected:
0028     JetTracksAssociationRef m_jetTracksAssociation;
0029   };
0030 
0031   DECLARE_EDM_REFS(JTATagInfo)
0032 
0033 }  // namespace reco
0034 
0035 #endif  // DataFormats_BTauReco_JTATagInfo_h