CMS 3D CMS Logo

EgHLTOffEle.h
Go to the documentation of this file.
1 #ifndef DQMOFFLINE_TRIGGER_EGHLTOFFELE
2 #define DQMOFFLINE_TRIGGER_EGHLTOFFELE
3 
4 //class: EgHLTOffEle
5 //
6 //author: Sam Harper (July 2008)
7 //
8 //
9 //aim: to allow easy access to electron ID variables
10 // currently the CMSSW electron classes are a mess with key electron selection variables not being accessable from GsfElectron
11 // this a stop gap to produce a simple electron class with all variables easily accessable via methods
12 // note as this is meant for HLT Offline DQM, I do not want the overhead of converting to pat
13 //
14 //implimentation: aims to be a wrapper for GsfElectron methods, it is hoped that in time these methods will be directly added to GsfElectron and so
15 // make this class obsolute
16 // unfortunately can not be a pure wrapper as needs to store isol and cluster shape
17 //
18 
24 
27 
28 namespace egHLT {
29  class OffEle {
30  public:
31  //helper struct to store the isolations
32  struct IsolData {
33  float em;
34  float hadDepth1;
35  float hadDepth2;
36  float ptTrks;
37  int nrTrks;
38  //possibly going to move these to hlt data
39  float hltHad;
40  float hltTrksEle;
41  float hltTrksPho;
42  float hltEm;
43  };
44 
45  public:
46  //helper struct to store the cluster shapes
47  struct ClusShapeData {
48  float sigmaEtaEta;
50  float sigmaPhiPhi;
52  float e1x5Over5x5;
54  float r9;
55  };
56 
57  public:
58  //helper struct to store reco approximations of variables made by HLT - and HLT p4 to get eta,phi
59  struct HLTData {
60  float dEtaIn;
61  float dPhiIn;
62  float invEInvP;
63  //math::XYZTLorentzVector p4;
64  float HLTeta;
65  float HLTphi;
66  float HLTenergy;
67  };
68 
69  public:
70  //helper struct to store event-wide variables
71  struct EventData {
72  int NVertex;
73  };
74 
75  private:
76  const reco::GsfElectron* gsfEle_; //pointers to the underlying electron (we do not own this)
77 
82 
83  //these are bit-packed words telling me which cuts the electron fail (ie 0x0 is passed all cuts)
84  int cutCode_;
86  //the idea is that these are user definable cuts meant to be idenital to the specified trigger
87  //it is probably clear to the reader that I havent decided on the most efficient way to do this
88  std::vector<std::pair<TrigCodes::TrigBitSet, int> >
89  trigCutsCutCodes_; //unsorted vector (may sort if have performance issues)
90 
91  //and these are the trigger bits stored
92  //note that the trigger bits are defined at the begining of each job
93  //and do not necessaryly map between jobs
95 
96  public:
98  const ClusShapeData& shapeData,
99  const IsolData& isolData,
100  const HLTData& hltData,
101  const EventData& eventData)
102  : gsfEle_(&ele),
103  clusShapeData_(shapeData),
104  isolData_(isolData),
105  hltData_(hltData),
106  eventData_(eventData),
109  ~OffEle() = default;
110 
111  //modifiers
112  int NVertex() const { return eventData_.NVertex; }
113  void setCutCode(int code) { cutCode_ = code; }
114  void setLooseCutCode(int code) { looseCutCode_ = code; }
115  //slightly inefficient way, think I can afford it and its a lot easier to just make the sorted vector outside the class
116  void setTrigCutsCutCodes(const std::vector<std::pair<TrigCodes::TrigBitSet, int> >& trigCutsCutCodes) {
117  trigCutsCutCodes_ = trigCutsCutCodes;
118  }
120 
121  const reco::GsfElectron* gsfEle() const { return gsfEle_; }
122 
123  //kinematic and geometric methods
124  float et() const { return gsfEle_->et(); }
125  // float et()const{return etSC();}
126  float energy() const { return gsfEle_->energy(); }
127  float eta() const { return gsfEle_->eta(); }
128  float phi() const { return gsfEle_->phi(); }
129  float etSC() const {
130  return gsfEle_->superCluster()->position().rho() / gsfEle_->superCluster()->position().r() * caloEnergy();
131  }
132  float caloEnergy() const { return gsfEle_->caloEnergy(); }
133  float etaSC() const { return gsfEle_->superCluster()->eta(); }
134  float detEta() const { return etaSC(); }
135  float phiSC() const { return gsfEle_->superCluster()->phi(); }
136  float zVtx() const { return gsfEle_->TrackPositionAtVtx().z(); }
137  const math::XYZTLorentzVector& p4() const { return gsfEle_->p4(); }
138 
139  //classification (couldnt they have just named it 'type')
140  int classification() const { return gsfEle_->classification(); }
141  bool isGap() const { return gsfEle_->isEBGap() || gsfEle_->isEEGap() || gsfEle_->isEBEEGap(); }
142 
143  //track methods
144  int charge() const { return gsfEle_->charge(); }
145  float pVtx() const { return gsfEle_->trackMomentumAtVtx().R(); }
146  float pCalo() const { return gsfEle_->trackMomentumAtCalo().R(); }
147  float ptVtx() const { return gsfEle_->trackMomentumAtVtx().rho(); }
148  float ptCalo() const { return gsfEle_->trackMomentumAtCalo().rho(); }
149 
150  //abreviations of overly long GsfElectron methods, I'm sorry but if you cant figure out what hOverE() means, you shouldnt be using this class
151  float hOverE() const { return gsfEle_->hadronicOverEm(); }
152  float dEtaIn() const { return gsfEle_->deltaEtaSuperClusterTrackAtVtx(); }
153  float dPhiIn() const { return gsfEle_->deltaPhiSuperClusterTrackAtVtx(); }
154  float dPhiOut() const { return gsfEle_->deltaPhiSeedClusterTrackAtCalo(); }
155  float dEtaOut() const { return gsfEle_->deltaEtaSeedClusterTrackAtCalo(); }
156  float epIn() const { return gsfEle_->eSuperClusterOverP(); }
157  float epOut() const { return gsfEle_->eSeedClusterOverPout(); }
158 
159  //variables with no direct method
160  float sigmaEtaEta() const;
161  float sigmaEtaEtaUnCorr() const { return clusShapeData_.sigmaEtaEta; }
162  float sigmaIEtaIEta() const { return clusShapeData_.sigmaIEtaIEta; }
163  float sigmaPhiPhi() const { return clusShapeData_.sigmaPhiPhi; }
164  //float sigmaIPhiIPhi()const{return clusShapeData_.sigmaIPhiIPhi;}
165  float e2x5MaxOver5x5() const { return clusShapeData_.e2x5MaxOver5x5; }
166  float e1x5Over5x5() const { return clusShapeData_.e1x5Over5x5; }
167 
168  float r9() const { return clusShapeData_.r9; }
169  //float sigmaPhiPhi()const{return clusShape_!=NULL ? sqrt(clusShape_->covPhiPhi()) : 999;}
170  float bremFrac() const { return (pVtx() - pCalo()) / pVtx(); }
171  float invEInvP() const {
172  return gsfEle_->caloEnergy() != 0 && gsfEle_->trackMomentumAtVtx().R() != 0.
173  ? 1. / gsfEle_->caloEnergy() - 1. / gsfEle_->trackMomentumAtVtx().R()
174  : -999;
175  }
176  //float e9OverE25()const{return clusShape_!=NULL ? clusShape_->e3x3()/clusShape_->e5x5() : -999;}
177 
178  //isolation
179  float isolEm() const { return isolData_.em; }
180  float isolHad() const { return isolHadDepth1() + isolHadDepth2(); }
181  float isolHadDepth1() const { return isolData_.hadDepth1; }
182  float isolHadDepth2() const { return isolData_.hadDepth2; }
183  float isolPtTrks() const { return isolData_.ptTrks; }
184  int isolNrTrks() const { return isolData_.nrTrks; }
185  float hltIsolTrksEle() const { return isolData_.hltTrksEle; }
186  float hltIsolTrksPho() const { return isolData_.hltTrksPho; }
187  float hltIsolHad() const { return isolData_.hltHad; }
188  float hltIsolEm() const { return isolData_.hltEm; }
189 
190  //some hlt id variables (note these are reco approximations)
191  float hltDEtaIn() const { return hltData_.dEtaIn; }
192  float hltDPhiIn() const { return hltData_.dPhiIn; }
193  float hltInvEInvP() const { return hltData_.invEInvP; }
194  //hlt position - not a reco approximation, taken from triggerobject
195  //const math::XYZTLorentzVector& HLTp4()const{return hltData_.p4;}
196  float hltPhi() const { return hltData_.HLTphi; }
197  float hltEta() const { return hltData_.HLTeta; }
198  float hltEnergy() const { return hltData_.HLTenergy; }
199  //Diference between HLT Et and reco SC Et
200  float DeltaE() const { return (hltEnergy() - caloEnergy()); }
201 
202  //ctf track accessor and validatity checker
204  return gsfEle_->closestCtfTrackRef();
205  } //in theory lightweight (if they follow good design),return by value
206  //track is only valid if it exists and track extra exists (track extra is only stored in reco)
207  bool validCTFTrack() const {
209  }
210 
211  //ctf track varibles, used as hlt uses this algo
212  float ctfTrkP() const { return validCTFTrack() ? ctfTrack()->p() : -999.; }
213  float ctfTrkPt() const { return validCTFTrack() ? ctfTrack()->pt() : -999.; }
214  float ctfTrkEta() const { return validCTFTrack() ? ctfTrack()->eta() : -999.; }
215  float ctfTrkChi2() const { return validCTFTrack() ? ctfTrack()->chi2() : 999.; }
216  float ctfTrkNDof() const {
217  return validCTFTrack() ? ctfTrack()->ndof() : 999.;
218  } //this will give chi2/ndof a valid value, perhaps rethink
219  float ctfTrkPtOuter() const { return validCTFTrack() ? ctfTrack()->outerMomentum().Perp2() : -999.; }
220  float ctfTrkPtInner() const { return validCTFTrack() ? ctfTrack()->innerMomentum().Perp2() : -999.; }
221  float ctfTrkInnerRadius() const { return validCTFTrack() ? ctfTrack()->innerPosition().Rho() : 999.; }
222  float ctfTrkOuterRadius() const { return validCTFTrack() ? ctfTrack()->outerPosition().Rho() : -999.; }
223  int ctfTrkHitsFound() const { return validCTFTrack() ? static_cast<int>(ctfTrack()->found()) : -999; }
224  int ctfTrkHitsLost() const { return validCTFTrack() ? static_cast<int>(ctfTrack()->lost()) : -999; }
225  int ctfTrkNrHits() const { return validCTFTrack() ? static_cast<int>(ctfTrack()->recHitsSize()) : -999; }
226 
227  //selection cuts
228  int cutCode() const { return cutCode_; }
229  int looseCutCode() const { return looseCutCode_; }
230 
231  //trigger codes are just used as a unique identifier of the trigger, it is an error to specify more than a single bit
232  //the idea here is to allow an arbitary number of electron triggers
234  //trigger
236  };
237 
238 } // namespace egHLT
239 
240 #endif
reco::GsfElectron::deltaEtaSeedClusterTrackAtCalo
float deltaEtaSeedClusterTrackAtCalo() const
Definition: GsfElectron.h:234
egHLT::OffEle::eta
float eta() const
Definition: EgHLTOffEle.h:127
egHLT::OffEle::ctfTrkHitsFound
int ctfTrkHitsFound() const
Definition: EgHLTOffEle.h:223
egHLT::OffEle::hltIsolEm
float hltIsolEm() const
Definition: EgHLTOffEle.h:188
egHLT::OffEle::sigmaEtaEtaUnCorr
float sigmaEtaEtaUnCorr() const
Definition: EgHLTOffEle.h:161
egHLT::OffEle::looseCutCode_
int looseCutCode_
Definition: EgHLTOffEle.h:85
egHLT::OffEle::classification
int classification() const
Definition: EgHLTOffEle.h:140
egHLT::OffEle::dEtaOut
float dEtaOut() const
Definition: EgHLTOffEle.h:155
egHLT::OffEle::setTrigCutsCutCodes
void setTrigCutsCutCodes(const std::vector< std::pair< TrigCodes::TrigBitSet, int > > &trigCutsCutCodes)
Definition: EgHLTOffEle.h:116
egHLT::OffEle::phiSC
float phiSC() const
Definition: EgHLTOffEle.h:135
egHLT::OffEle::caloEnergy
float caloEnergy() const
Definition: EgHLTOffEle.h:132
egHLT::OffEle::trigBits
TrigCodes::TrigBitSet trigBits() const
Definition: EgHLTOffEle.h:235
egHLT::OffEle::~OffEle
~OffEle()=default
egHLT::OffEle::isolHadDepth1
float isolHadDepth1() const
Definition: EgHLTOffEle.h:181
egHLT::OffEle::gsfEle_
const reco::GsfElectron * gsfEle_
Definition: EgHLTOffEle.h:76
egHLT::OffEle::energy
float energy() const
Definition: EgHLTOffEle.h:126
egHLT::OffEle::invEInvP
float invEInvP() const
Definition: EgHLTOffEle.h:171
reco::GsfElectron::deltaPhiSuperClusterTrackAtVtx
float deltaPhiSuperClusterTrackAtVtx() const
Definition: GsfElectron.h:236
egHLT::OffEle::bremFrac
float bremFrac() const
Definition: EgHLTOffEle.h:170
egHLT::OffEle::IsolData::hltHad
float hltHad
Definition: EgHLTOffEle.h:39
egHLT::OffEle::dEtaIn
float dEtaIn() const
Definition: EgHLTOffEle.h:152
reco::GsfElectron::isEBGap
bool isEBGap() const
Definition: GsfElectron.h:340
egHLT::EgCutCodes
Definition: EgHLTEgCutCodes.h:12
egHLT::OffEle::ctfTrkOuterRadius
float ctfTrkOuterRadius() const
Definition: EgHLTOffEle.h:222
egHLT::OffEle::ctfTrkP
float ctfTrkP() const
Definition: EgHLTOffEle.h:212
egHLT::OffEle::ctfTrkNrHits
int ctfTrkNrHits() const
Definition: EgHLTOffEle.h:225
egHLT::OffEle::IsolData::ptTrks
float ptTrks
Definition: EgHLTOffEle.h:36
egHLT::OffEle::setTrigBits
void setTrigBits(TrigCodes::TrigBitSet bits)
Definition: EgHLTOffEle.h:119
egHLT::OffEle::e1x5Over5x5
float e1x5Over5x5() const
Definition: EgHLTOffEle.h:166
egHLT::OffEle::EventData::NVertex
int NVertex
Definition: EgHLTOffEle.h:72
egHLT::OffEle::trigCutsCutCode
int trigCutsCutCode(const TrigCodes::TrigBitSet &trigger) const
Definition: EgHLTOffEle.cc:19
egHLT::OffEle::pVtx
float pVtx() const
Definition: EgHLTOffEle.h:145
egHLT::OffEle::NVertex
int NVertex() const
Definition: EgHLTOffEle.h:112
egHLT::OffEle::dPhiIn
float dPhiIn() const
Definition: EgHLTOffEle.h:153
reco::GsfElectron::deltaPhiSeedClusterTrackAtCalo
float deltaPhiSeedClusterTrackAtCalo() const
Definition: GsfElectron.h:237
reco::GsfElectron::isEEGap
bool isEEGap() const
Definition: GsfElectron.h:343
egHLT::OffEle::detEta
float detEta() const
Definition: EgHLTOffEle.h:134
egHLT::OffEle::clusShapeData_
ClusShapeData clusShapeData_
Definition: EgHLTOffEle.h:78
egHLT::OffEle::hltInvEInvP
float hltInvEInvP() const
Definition: EgHLTOffEle.h:193
egHLT::OffEle::isGap
bool isGap() const
Definition: EgHLTOffEle.h:141
reco::GsfElectron::hadronicOverEm
float hadronicOverEm() const
Definition: GsfElectron.h:508
newFWLiteAna.found
found
Definition: newFWLiteAna.py:118
egHLT::OffEle::ClusShapeData::sigmaIPhiIPhi
float sigmaIPhiIPhi
Definition: EgHLTOffEle.h:51
egHLT::OffEle
Definition: EgHLTOffEle.h:29
egHLT::OffEle::ptVtx
float ptVtx() const
Definition: EgHLTOffEle.h:147
egHLT::OffEle::ClusShapeData::sigmaIEtaIEta
float sigmaIEtaIEta
Definition: EgHLTOffEle.h:49
edm::Ref< TrackCollection >
egHLT::OffEle::epOut
float epOut() const
Definition: EgHLTOffEle.h:157
egHLT::OffEle::ctfTrkEta
float ctfTrkEta() const
Definition: EgHLTOffEle.h:214
egHLT::OffEle::cutCode_
int cutCode_
Definition: EgHLTOffEle.h:84
egHLT::OffEle::phi
float phi() const
Definition: EgHLTOffEle.h:128
egHLT::OffEle::trigBits_
TrigCodes::TrigBitSet trigBits_
Definition: EgHLTOffEle.h:94
egHLT::OffEle::etaSC
float etaSC() const
Definition: EgHLTOffEle.h:133
egHLT::OffEle::gsfEle
const reco::GsfElectron * gsfEle() const
Definition: EgHLTOffEle.h:121
egHLT::OffEle::ctfTrkChi2
float ctfTrkChi2() const
Definition: EgHLTOffEle.h:215
Track.h
egHLT::OffEle::hltPhi
float hltPhi() const
Definition: EgHLTOffEle.h:196
ClusterShapeFwd.h
egHLT::OffEle::ctfTrkInnerRadius
float ctfTrkInnerRadius() const
Definition: EgHLTOffEle.h:221
egHLT::OffEle::IsolData::hltTrksPho
float hltTrksPho
Definition: EgHLTOffEle.h:41
egHLT::TrigCodes::TrigBitSet
std::bitset< maxNrBits_ > TrigBitSet
Definition: EgHLTTrigCodes.h:23
cond::time::INVALID
static constexpr TimeType INVALID
Definition: Time.h:33
reco::GsfElectron::trackMomentumAtVtx
math::XYZVectorF trackMomentumAtVtx() const
Definition: GsfElectron.h:276
egHLT::OffEle::ctfTrkPt
float ctfTrkPt() const
Definition: EgHLTOffEle.h:213
egHLT::OffEle::et
float et() const
Definition: EgHLTOffEle.h:124
egHLT::OffEle::HLTData::HLTeta
float HLTeta
Definition: EgHLTOffEle.h:64
egHLT::OffEle::HLTData::dPhiIn
float dPhiIn
Definition: EgHLTOffEle.h:61
reco::GsfElectron
Definition: GsfElectron.h:35
egHLT::OffEle::ctfTrack
reco::TrackRef ctfTrack() const
Definition: EgHLTOffEle.h:203
egHLT::OffEle::ctfTrkHitsLost
int ctfTrkHitsLost() const
Definition: EgHLTOffEle.h:224
egHLT::OffEle::cutCode
int cutCode() const
Definition: EgHLTOffEle.h:228
GsfElectron.h
egHLT::OffEle::epIn
float epIn() const
Definition: EgHLTOffEle.h:156
egHLT::OffEle::zVtx
float zVtx() const
Definition: EgHLTOffEle.h:136
egHLT::OffEle::pCalo
float pCalo() const
Definition: EgHLTOffEle.h:146
egHLT::OffEle::hltDPhiIn
float hltDPhiIn() const
Definition: EgHLTOffEle.h:192
ClusterShape.h
egHLT::OffEle::HLTData::HLTenergy
float HLTenergy
Definition: EgHLTOffEle.h:66
egHLT::OffEle::ctfTrkPtOuter
float ctfTrkPtOuter() const
Definition: EgHLTOffEle.h:219
GsfElectronFwd.h
egHLT::OffEle::ClusShapeData::r9
float r9
Definition: EgHLTOffEle.h:54
reco::GsfElectron::deltaEtaSuperClusterTrackAtVtx
float deltaEtaSuperClusterTrackAtVtx() const
Definition: GsfElectron.h:233
egHLT::OffEle::isolHad
float isolHad() const
Definition: EgHLTOffEle.h:180
reco::LeafCandidate::eta
double eta() const final
momentum pseudorapidity
Definition: LeafCandidate.h:152
egHLT::OffEle::IsolData::nrTrks
int nrTrks
Definition: EgHLTOffEle.h:37
edm::Ref::isNonnull
bool isNonnull() const
Checks for non-null.
Definition: Ref.h:238
egHLT::OffEle::ClusShapeData::e1x5Over5x5
float e1x5Over5x5
Definition: EgHLTOffEle.h:52
egHLT::OffEle::r9
float r9() const
Definition: EgHLTOffEle.h:168
egHLT::OffEle::OffEle
OffEle(const reco::GsfElectron &ele, const ClusShapeData &shapeData, const IsolData &isolData, const HLTData &hltData, const EventData &eventData)
Definition: EgHLTOffEle.h:97
createfilelist.int
int
Definition: createfilelist.py:10
egHLT::OffEle::HLTData::invEInvP
float invEInvP
Definition: EgHLTOffEle.h:62
egHLT::OffEle::hltDEtaIn
float hltDEtaIn() const
Definition: EgHLTOffEle.h:191
egHLT::OffEle::HLTData::dEtaIn
float dEtaIn
Definition: EgHLTOffEle.h:60
egHLT::OffEle::IsolData::hadDepth2
float hadDepth2
Definition: EgHLTOffEle.h:35
trackerHitRTTI::vector
Definition: trackerHitRTTI.h:21
egHLT::OffEle::ctfTrkPtInner
float ctfTrkPtInner() const
Definition: EgHLTOffEle.h:220
egHLT::OffEle::hltIsolHad
float hltIsolHad() const
Definition: EgHLTOffEle.h:187
reco::LeafCandidate::charge
int charge() const final
electric charge
Definition: LeafCandidate.h:106
reco::GsfElectron::closestCtfTrackRef
virtual TrackRef closestCtfTrackRef() const
Definition: GsfElectron.h:188
reco::GsfElectron::trackMomentumAtCalo
math::XYZVectorF trackMomentumAtCalo() const
Definition: GsfElectron.h:277
egHLT::OffEle::e2x5MaxOver5x5
float e2x5MaxOver5x5() const
Definition: EgHLTOffEle.h:165
egHLT::OffEle::hOverE
float hOverE() const
Definition: EgHLTOffEle.h:151
reco::GsfElectron::p4
const LorentzVector & p4(P4Kind kind) const
Definition: GsfElectron.cc:217
egHLT::OffEle::ptCalo
float ptCalo() const
Definition: EgHLTOffEle.h:148
egHLT::OffEle::ClusShapeData::sigmaEtaEta
float sigmaEtaEta
Definition: EgHLTOffEle.h:48
egHLT::OffEle::IsolData
Definition: EgHLTOffEle.h:32
egHLT::OffEle::hltEta
float hltEta() const
Definition: EgHLTOffEle.h:197
reco::LeafCandidate::et
double et() const final
transverse energy
Definition: LeafCandidate.h:127
egHLT::OffEle::ClusShapeData::e2x5MaxOver5x5
float e2x5MaxOver5x5
Definition: EgHLTOffEle.h:53
egHLT::OffEle::isolHadDepth2
float isolHadDepth2() const
Definition: EgHLTOffEle.h:182
egHLT::OffEle::DeltaE
float DeltaE() const
Definition: EgHLTOffEle.h:200
egHLT::OffEle::hltIsolTrksEle
float hltIsolTrksEle() const
Definition: EgHLTOffEle.h:185
reco::LeafCandidate::phi
double phi() const final
momentum azimuthal angle
Definition: LeafCandidate.h:148
egHLT::OffEle::sigmaIEtaIEta
float sigmaIEtaIEta() const
Definition: EgHLTOffEle.h:162
reco::GsfElectron::isEBEEGap
bool isEBEEGap() const
Definition: GsfElectron.h:339
math::XYZTLorentzVector
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:29
egHLT::OffEle::hltData_
HLTData hltData_
Definition: EgHLTOffEle.h:80
egHLT::OffEle::HLTData::HLTphi
float HLTphi
Definition: EgHLTOffEle.h:65
egHLT::OffEle::sigmaEtaEta
float sigmaEtaEta() const
Definition: EgHLTOffEle.cc:7
egHLT::OffEle::hltEnergy
float hltEnergy() const
Definition: EgHLTOffEle.h:198
reco::GsfElectron::eSuperClusterOverP
float eSuperClusterOverP() const
Definition: GsfElectron.h:229
reco::GsfElectron::classification
Classification classification() const
Definition: GsfElectron.h:792
egHLT::OffEle::ClusShapeData::sigmaPhiPhi
float sigmaPhiPhi
Definition: EgHLTOffEle.h:50
egHLT::OffEle::dPhiOut
float dPhiOut() const
Definition: EgHLTOffEle.h:154
egHLT::OffEle::IsolData::hltTrksEle
float hltTrksEle
Definition: EgHLTOffEle.h:40
egHLT::OffEle::EventData
Definition: EgHLTOffEle.h:71
reco::GsfElectron::eSeedClusterOverPout
float eSeedClusterOverPout() const
Definition: GsfElectron.h:231
reco::GsfElectron::superCluster
SuperClusterRef superCluster() const override
reference to a SuperCluster
Definition: GsfElectron.h:163
reco::LeafCandidate::energy
double energy() const final
energy
Definition: LeafCandidate.h:125
egHLT::OffEle::setLooseCutCode
void setLooseCutCode(int code)
Definition: EgHLTOffEle.h:114
egHLT::OffEle::IsolData::hadDepth1
float hadDepth1
Definition: EgHLTOffEle.h:34
egHLT::OffEle::isolPtTrks
float isolPtTrks() const
Definition: EgHLTOffEle.h:183
trigger
Definition: HLTPrescaleTableCond.h:8
egHLT::OffEle::isolNrTrks
int isolNrTrks() const
Definition: EgHLTOffEle.h:184
egHLT::OffEle::etSC
float etSC() const
Definition: EgHLTOffEle.h:129
egHLT::OffEle::p4
const math::XYZTLorentzVector & p4() const
Definition: EgHLTOffEle.h:137
EgHLTEgCutCodes.h
EgHLTTrigCodes.h
egHLT::OffEle::validCTFTrack
bool validCTFTrack() const
Definition: EgHLTOffEle.h:207
egHLT::OffEle::isolData_
IsolData isolData_
Definition: EgHLTOffEle.h:79
egHLT::OffEle::setCutCode
void setCutCode(int code)
Definition: EgHLTOffEle.h:113
egHLT::OffEle::charge
int charge() const
Definition: EgHLTOffEle.h:144
egHLT::OffEle::hltIsolTrksPho
float hltIsolTrksPho() const
Definition: EgHLTOffEle.h:186
egHLT::OffEle::IsolData::em
float em
Definition: EgHLTOffEle.h:33
reco::GsfElectron::TrackPositionAtVtx
math::XYZPointF TrackPositionAtVtx() const
Definition: GsfElectron.h:289
reco::GsfElectron::caloEnergy
float caloEnergy() const
Definition: GsfElectron.h:886
egHLT
Definition: EgHLTBinData.h:10
egHLT::OffEle::ClusShapeData
Definition: EgHLTOffEle.h:47
egHLT::OffEle::HLTData
Definition: EgHLTOffEle.h:59
egHLT::OffEle::IsolData::hltEm
float hltEm
Definition: EgHLTOffEle.h:42
egHLT::OffEle::eventData_
EventData eventData_
Definition: EgHLTOffEle.h:81
egHLT::OffEle::trigCutsCutCodes_
std::vector< std::pair< TrigCodes::TrigBitSet, int > > trigCutsCutCodes_
Definition: EgHLTOffEle.h:89
egHLT::OffEle::looseCutCode
int looseCutCode() const
Definition: EgHLTOffEle.h:229
egHLT::OffEle::isolEm
float isolEm() const
Definition: EgHLTOffEle.h:179
egHLT::OffEle::ctfTrkNDof
float ctfTrkNDof() const
Definition: EgHLTOffEle.h:216
egHLT::OffEle::sigmaPhiPhi
float sigmaPhiPhi() const
Definition: EgHLTOffEle.h:163