CMS 3D CMS Logo

IsolatedTrack.h
Go to the documentation of this file.
1 #ifndef __DataFormats_PatCandidates_IsolatedTrack_h__
2 #define __DataFormats_PatCandidates_IsolatedTrack_h__
3 
4 /*
5  \class pat::IsolatedTrack IsolatedTrack.h "DataFormats/PatCandidates/interface/IsolatedTrack.h"
6  \brief Small class to store key info on isolated tracks
7  pat::IsolatedTrack stores important info on isolated tracks. Draws from
8  packedPFCandidates, lostTracks, and generalTracks.
9  \author Bennett Marsh
10 */
11 
18 
19 namespace pat {
20 
22  public:
24  : LeafCandidate(0, LorentzVector(0, 0, 0, 0)),
30  pfNeutralSum_(0.),
31  dz_(0.),
32  dxy_(0.),
33  dzError_(0.),
34  dxyError_(0.),
35  fromPV_(-1),
36  trackQuality_(0),
37  dEdxStrip_(0),
38  dEdxPixel_(0),
39  hitPattern_(reco::HitPattern()),
40  crossedEcalStatus_(std::vector<uint16_t>()),
41  crossedHcalStatus_(std::vector<uint32_t>()),
42  deltaEta_(0),
43  deltaPhi_(0),
47 
48  explicit IsolatedTrack(const PFIsolation& iso,
49  const PFIsolation& miniiso,
50  float caloJetEm,
51  float caloJetHad,
52  bool pfLepOverlap,
53  float pfNeutralSum,
54  const LorentzVector& p4,
55  int charge,
56  int id,
57  float dz,
58  float dxy,
59  float dzError,
60  float dxyError,
61  const reco::HitPattern& hp,
62  float dEdxS,
63  float dEdxP,
64  int fromPV,
65  int tkQual,
66  const std::vector<uint16_t>& ecalst,
67  const std::vector<uint32_t>& hcalst,
68  int dEta,
69  int dPhi,
70  const PackedCandidateRef& pcref,
71  const PackedCandidateRef& refToNearestPF,
72  const PackedCandidateRef& refToNearestLostTrack)
73  : LeafCandidate(charge, p4, Point(0., 0., 0.), id),
74  pfIsolationDR03_(iso),
75  miniIsolation_(miniiso),
76  matchedCaloJetEmEnergy_(caloJetEm),
77  matchedCaloJetHadEnergy_(caloJetHad),
80  dz_(dz),
81  dxy_(dxy),
84  fromPV_(fromPV),
85  trackQuality_(tkQual),
86  dEdxStrip_(dEdxS),
87  dEdxPixel_(dEdxP),
88  hitPattern_(hp),
89  crossedEcalStatus_(ecalst),
90  crossedHcalStatus_(hcalst),
91  deltaEta_(dEta),
92  deltaPhi_(dPhi),
93  packedCandRef_(pcref),
94  nearestPFPackedCandRef_(refToNearestPF),
95  nearestLostTrackPackedCandRef_(refToNearestLostTrack) {}
96 
97  ~IsolatedTrack() override {}
98 
99  const PFIsolation& pfIsolationDR03() const { return pfIsolationDR03_; }
100 
101  const PFIsolation& miniPFIsolation() const { return miniIsolation_; }
102 
105 
106  bool pfLepOverlap() const { return pfLepOverlap_; }
107  float pfNeutralSum() const { return pfNeutralSum_; }
108 
109  float dz() const { return dz_; }
110  float dzError() const override { return dzError_; }
111  float dxy() const { return dxy_; }
112  float dxyError() const override { return dxyError_; }
113 
114  int fromPV() const { return fromPV_; }
115 
116  bool isHighPurityTrack() const {
118  }
121 
122  const reco::HitPattern& hitPattern() const { return hitPattern_; }
123 
125  int lostInnerLayers() const {
127  }
129  int lostOuterLayers() const {
131  }
132 
133  float dEdxStrip() const { return dEdxStrip_; }
134  float dEdxPixel() const { return dEdxPixel_; }
135 
137  const std::vector<uint16_t>& crossedEcalStatus() const { return crossedEcalStatus_; }
139  const std::vector<uint32_t>& crossedHcalStatus() const { return crossedHcalStatus_; }
140 
143  float deltaEta() const { return float(deltaEta_) / 500.f; }
144  float deltaPhi() const { return float(deltaPhi_) / 500.f; }
145 
149 
150  protected:
153  float matchedCaloJetEmEnergy_; //energy of nearest calojet within a given dR;
158  int fromPV_; //only stored for packedPFCandidates
160  float dEdxStrip_, dEdxPixel_; //in MeV/mm
161 
163 
164  std::vector<uint16_t> crossedEcalStatus_;
165  std::vector<uint32_t> crossedHcalStatus_;
167 
168  PackedCandidateRef packedCandRef_; // stored only for packedPFCands/lostTracks. NULL for generalTracks
171  };
172 
173  typedef std::vector<IsolatedTrack> IsolatedTrackCollection;
174 
175 } // namespace pat
176 
177 #endif
PackedCandidateRef nearestPFPackedCandRef_
std::vector< IsolatedTrack > IsolatedTrackCollection
bool isLooseTrack() const
const reco::HitPattern & hitPattern() const
float deltaPhi() const
int fromPV() const
float matchedCaloJetHadEnergy() const
float dxyError() const override
uncertainty on dxy
PFIsolation pfIsolationDR03_
float matchedCaloJetEmEnergy() const
std::vector< uint32_t > crossedHcalStatus_
const LorentzVector & p4() const final
four-momentum Lorentz vector
float deltaEta() const
Definition: HeavyIon.h:7
const PackedCandidateRef & nearestPFPackedCandRef() const
bool isTightTrack() const
const PFIsolation & miniPFIsolation() const
~IsolatedTrack() override
Definition: IsolatedTrack.h:97
reco::HitPattern hitPattern_
float dEdxStrip() const
float dEdxPixel() const
const PackedCandidateRef & nearestLostTrackPackedCandRef() const
float dz() const
PackedCandidateRef nearestLostTrackPackedCandRef_
PackedCandidateRef packedCandRef_
float pfNeutralSum() const
int trackerLayersWithoutMeasurement(HitCategory category) const
Definition: HitPattern.cc:553
const PFIsolation & pfIsolationDR03() const
Definition: IsolatedTrack.h:99
const PackedCandidateRef & packedCandRef() const
float matchedCaloJetHadEnergy_
bool isHighPurityTrack() const
PFIsolation miniIsolation_
math::XYZTLorentzVector LorentzVector
Lorentz vector.
Definition: Candidate.h:36
std::vector< uint16_t > crossedEcalStatus_
int lostOuterLayers() const
fixed size matrix
int lostInnerLayers() const
helper functions for string cut parser
Structure Point Contains parameters of Gaussian fits to DMRs.
Definition: DMRtrends.cc:57
int lostLayers() const
float dxy() const
const std::vector< uint32_t > & crossedHcalStatus() const
just the status code part of an HcalChannelStatus for all crossed Hcal cells
IsolatedTrack(const PFIsolation &iso, const PFIsolation &miniiso, float caloJetEm, float caloJetHad, bool pfLepOverlap, float pfNeutralSum, const LorentzVector &p4, int charge, int id, float dz, float dxy, float dzError, float dxyError, const reco::HitPattern &hp, float dEdxS, float dEdxP, int fromPV, int tkQual, const std::vector< uint16_t > &ecalst, const std::vector< uint32_t > &hcalst, int dEta, int dPhi, const PackedCandidateRef &pcref, const PackedCandidateRef &refToNearestPF, const PackedCandidateRef &refToNearestLostTrack)
Definition: IsolatedTrack.h:48
const std::vector< uint16_t > & crossedEcalStatus() const
just the status code part of an EcalChannelStatusCode for all crossed Ecal cells
float dzError() const override
uncertainty on dz
bool pfLepOverlap() const
int charge() const final
electric charge