Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-02-14 12:52:50

0001 #ifndef DataFormats_BTauReco_BaseTagInfo_h
0002 #define DataFormats_BTauReco_BaseTagInfo_h
0003 
0004 #include "DataFormats/BTauReco/interface/RefMacros.h"
0005 #include "DataFormats/Common/interface/RefToBase.h"
0006 #include "DataFormats/JetReco/interface/Jet.h"
0007 #include "DataFormats/TrackReco/interface/TrackFwd.h"
0008 #include "DataFormats/BTauReco/interface/TaggingVariable.h"
0009 
0010 namespace reco {
0011 
0012   class BaseTagInfo {
0013   public:
0014     BaseTagInfo(void) {}
0015 
0016     virtual ~BaseTagInfo(void) {}
0017 
0018     /// clone
0019     virtual BaseTagInfo* clone(void) const { return new BaseTagInfo(*this); }
0020 
0021     /// returns a polymorphic reference to the tagged jet
0022     virtual edm::RefToBase<Jet> jet(void) const { return edm::RefToBase<Jet>(); }
0023 
0024     /// returns a list of tracks associated to the jet
0025     virtual TrackRefVector tracks(void) const { return TrackRefVector(); }
0026 
0027     /// check if the algorithm is using the tracks or not
0028     virtual bool hasTracks(void) const { return false; }
0029 
0030     /// returns a description of the extended informations in a TaggingVariableList
0031     virtual TaggingVariableList taggingVariables(void) const { return TaggingVariableList(); }
0032   };
0033 
0034   DECLARE_EDM_REFS(BaseTagInfo)
0035 
0036 }  // namespace reco
0037 
0038 #endif  // DataFormats_BTauReco_BaseTagInfo_h