1010#include " DataFormats/GeometryVector/interface/GlobalPoint.h"
1111#include < vector>
1212
13+ #include " DataFormats/PatCandidates/interface/Muon.h"
14+ #include " DataFormats/PatCandidates/interface/PackedCandidate.h"
15+ #include " DataFormats/PatCandidates/interface/IsolatedTrack.h"
16+ #include " DataFormats/TrackReco/interface/DeDxHitInfo.h"
17+
1318#include " DataFormats/MuonReco/interface/MuonTimeExtra.h"
1419#include " AnalysisDataFormats/SUSYBSMObjects/interface/HSCPCaloInfo.h"
1520
@@ -45,6 +50,8 @@ namespace susybsm {
4550 HSCParticle () {}
4651
4752 // check available infos
53+ bool hasTrack () const { return track_.packedCandRef ().isNonnull (); }
54+ bool hasMuon () const { return muon_.isNonnull (); }
4855 bool hasMuonRef () const { return muonRef_.isNonnull (); }
4956 bool hasMTMuonRef () const { return MTMuonRef_.isNonnull (); }
5057 bool hasTrackRef () const { return trackRef_.isNonnull (); }
@@ -53,6 +60,9 @@ namespace susybsm {
5360 bool hasCaloInfo () const { return caloInfoRef_.isNonnull (); }
5461
5562 // set infos
63+ void setDeDxHitInfo (const reco::DeDxHitInfo* data) {dedxHitInfo_ = data;}
64+ void setTrack (const pat::IsolatedTrack& data) { track_ = data; }
65+ void setMuon (const pat::MuonRef& data) { muon_ = data; }
5666 void setMuon (const reco::MuonRef& data) { muonRef_ = data; }
5767 void setMTMuon (const reco::MuonRef& data) { MTMuonRef_ = data; }
5868 void setTrack (const reco::TrackRef& data) { trackRef_ = data; }
@@ -61,6 +71,9 @@ namespace susybsm {
6171 void setCaloInfo (const HSCPCaloInfoRef& data) { caloInfoRef_ = data; }
6272
6373 // get infos
74+ const reco::DeDxHitInfo* dedxHitInfo () const {return dedxHitInfo_; }
75+ pat::IsolatedTrack track () const { return track_; }
76+ pat::MuonRef muon () const { return muon_; }
6477 reco::TrackRef trackRef () const { return trackRef_; }
6578 reco::TrackRef trackIsoRef () const { return trackIsoRef_; }
6679 reco::MuonRef muonRef () const { return muonRef_; }
@@ -74,6 +87,9 @@ namespace susybsm {
7487 int type () const ;
7588
7689 private:
90+ const reco::DeDxHitInfo* dedxHitInfo_ = nullptr ;
91+ pat::IsolatedTrack track_;
92+ pat::MuonRef muon_;
7793 reco::TrackRef trackRef_; // TrackRef from refitted track collection (dE/dx purposes)
7894 reco::TrackRef trackIsoRef_; // TrackRef from general track collection (isolation purposes)
7995 reco::MuonRef muonRef_;
0 commit comments