File indexing completed on 2024-04-06 12:05:16
0001 #ifndef DataFormats_TauReco_BaseTau_h
0002 #define DataFormats_TauReco_BaseTau_h
0003
0004
0005
0006
0007
0008
0009
0010 #include "DataFormats/Math/interface/LorentzVector.h"
0011 #include "DataFormats/TauReco/interface/BaseTauFwd.h"
0012 #include "DataFormats/RecoCandidate/interface/RecoCandidate.h"
0013 #include "DataFormats/TrackReco/interface/TrackFwd.h"
0014
0015 #include <limits>
0016
0017 namespace reco {
0018 class BaseTau : public RecoCandidate {
0019 public:
0020 BaseTau();
0021 BaseTau(Charge q, const LorentzVector&, const Point& = Point(0, 0, 0));
0022 ~BaseTau() override {}
0023 BaseTau* clone() const override;
0024
0025
0026 math::XYZTLorentzVector alternatLorentzVect() const;
0027 void setalternatLorentzVect(const math::XYZTLorentzVector&);
0028
0029
0030 virtual reco::TrackRef leadTrack() const;
0031 void setleadTrack(const TrackRef&);
0032
0033
0034 virtual const reco::TrackRefVector& signalTracks() const;
0035 void setsignalTracks(const TrackRefVector&);
0036
0037
0038 virtual const reco::TrackRefVector& isolationTracks() const;
0039 void setisolationTracks(const TrackRefVector&);
0040
0041 private:
0042
0043 bool overlap(const Candidate&) const override;
0044 math::XYZTLorentzVector alternatLorentzVect_;
0045 reco::TrackRef leadTrack_;
0046 reco::TrackRefVector signalTracks_, isolationTracks_;
0047 };
0048 }
0049 #endif