35 |
|
fPassTightID(0), fIDLikelihood(0), fPIn(0), fPOut(0), fFracSharedHits(0), |
36 |
|
fMva(0), fD0PV(0), fD0PVErr(0), fIp3dPV(0), fIp3dPVErr(0), |
37 |
|
fD0PVBS(0), fD0PVBSErr(0), fIp3dPVBS(0), fIp3dPVBSErr(0), |
38 |
+ |
fD0PVCkf(0), fD0PVCkfErr(0), fIp3dPVCkf(0), fIp3dPVCkfErr(0), |
39 |
+ |
fD0PVBSCkf(0), fD0PVBSCkfErr(0), fIp3dPVBSCkf(0), fIp3dPVBSCkfErr(0), |
40 |
|
fGsfPVCompatibility(0), fGsfPVBSCompatibility(0), |
41 |
|
fGsfPVCompatibilityMatched(0), fGsfPVBSCompatibilityMatched(0), |
42 |
|
fConvPartnerDCotTheta(0), fConvPartnerDist(0), fConvPartnerRadius(0), |
43 |
< |
fIsEnergyScaleCorrected(0), fIsMomentumCorrected(0), |
43 |
> |
fConvFlag(0), fIsEnergyScaleCorrected(0), fIsMomentumCorrected(0), |
44 |
|
fClassification(0), fIsEB(), fIsEE(0), fIsEBEEGap(0), fIsEBEtaGap(0), |
45 |
|
fIsEBPhiGap(0), fIsEEDeeGap(0), fIsEERingGap(0), |
46 |
< |
fIsEcalDriven(0), fIsTrackerDriven(0) {} |
46 |
> |
fIsEcalDriven(0), fIsTrackerDriven(0), fMatchesVertexConversion(0) {} |
47 |
|
|
48 |
|
const Track *BestTrk() const; |
49 |
|
Double_t D0PV() const { return fD0PV; } |
58 |
|
Double_t Ip3dPVBS() const { return fIp3dPVBS; } |
59 |
|
Double_t Ip3dPVBSErr() const { return fIp3dPVBSErr; } |
60 |
|
Double_t Ip3dPVBSSignificance() const { return fIp3dPVBS/fIp3dPVBSErr; } |
61 |
+ |
Double_t D0PVCkf() const { return fD0PVCkf; } |
62 |
+ |
Double_t D0PVCkfErr() const { return fD0PVCkfErr; } |
63 |
+ |
Double_t D0PVCkfSignificance() const { return fD0PVCkf/fD0PVCkfErr; } |
64 |
+ |
Double_t Ip3dPVCkf() const { return fIp3dPVCkf; } |
65 |
+ |
Double_t Ip3dPVCkfErr() const { return fIp3dPVCkfErr; } |
66 |
+ |
Double_t Ip3dPVCkfSignificance() const { return fIp3dPVCkf/fIp3dPVCkfErr; } |
67 |
+ |
Double_t D0PVBSCkf() const { return fD0PVBSCkf; } |
68 |
+ |
Double_t D0PVBSCkfErr() const { return fD0PVBSCkfErr; } |
69 |
+ |
Double_t D0PVBSCkfSignificance() const { return fD0PVBSCkf/fD0PVBSCkfErr; } |
70 |
+ |
Double_t Ip3dPVBSCkf() const { return fIp3dPVBSCkf; } |
71 |
+ |
Double_t Ip3dPVBSCkfErr() const { return fIp3dPVBSCkfErr; } |
72 |
+ |
Double_t Ip3dPVBSCkfSignificance() const { return fIp3dPVBSCkf/fIp3dPVBSCkfErr; } |
73 |
|
Double_t GsfPVCompatibility() const { return fGsfPVCompatibility; } |
74 |
|
Double_t GsfPVBSCompatibility() const { return fGsfPVBSCompatibility; } |
75 |
|
Double_t GsfPVCompatibilityMatched() const { return fGsfPVCompatibilityMatched; } |
77 |
|
Double_t ConvPartnerDCotTheta() const { return fConvPartnerDCotTheta; } |
78 |
|
Double_t ConvPartnerDist() const { return fConvPartnerDist; } |
79 |
|
Double_t ConvPartnerRadius() const { return fConvPartnerRadius; } |
80 |
+ |
Int_t ConvFlag() const { return fConvFlag; } |
81 |
|
Double_t CaloIsolation() const { return fCaloIsolation; } // *DEPRECATED* |
82 |
|
Int_t Classification() const { return fClassification; } |
83 |
|
Double_t CovEtaEta() const { return fCovEtaEta; } |
140 |
|
Double_t HcalDepth1TowerSumEtDr03() const { return fHcalDepth1TowerSumEtDr03; } |
141 |
|
Double_t HcalDepth2TowerSumEtDr03() const { return fHcalDepth2TowerSumEtDr03; } |
142 |
|
Double_t TrackIsolationDr03() const { return fTrackIsolation; } |
143 |
+ |
Bool_t MatchesVertexConversion() const { return fMatchesVertexConversion; } |
144 |
+ |
UInt_t NAmbiguousGsfTracks() const { return fAmbiguousGsfTracks.Entries(); } |
145 |
+ |
Bool_t HasAmbiguousGsfTrack(const Track *t) const { return fAmbiguousGsfTracks.HasObject(t); } |
146 |
+ |
const Track *AmbiguousGsfTrack(UInt_t i) const { return fAmbiguousGsfTracks.At(i); } |
147 |
|
|
148 |
< |
|
148 |
> |
void AddAmbiguousGsfTrack(const Track *t) { fAmbiguousGsfTracks.Add(t); } |
149 |
|
void SetCharge(Char_t x) { fCharge = x; ClearCharge(); } |
150 |
|
void SetScPixCharge(Char_t x) { fScPixCharge = x; } |
151 |
|
void SetD0PV(Double_t x) { fD0PV = x; } |
156 |
|
void SetD0PVBSErr(Double_t x) { fD0PVBSErr = x; } |
157 |
|
void SetIp3dPVBS(Double_t x) { fIp3dPVBS = x; } |
158 |
|
void SetIp3dPVBSErr(Double_t x) { fIp3dPVBSErr = x; } |
159 |
+ |
void SetD0PVCkf(Double_t x) { fD0PVCkf = x; } |
160 |
+ |
void SetD0PVCkfErr(Double_t x) { fD0PVCkfErr = x; } |
161 |
+ |
void SetIp3dPVCkf(Double_t x) { fIp3dPVCkf = x; } |
162 |
+ |
void SetIp3dPVCkfErr(Double_t x) { fIp3dPVCkfErr = x; } |
163 |
+ |
void SetD0PVBSCkf(Double_t x) { fD0PVBSCkf = x; } |
164 |
+ |
void SetD0PVBSCkfErr(Double_t x) { fD0PVBSCkfErr = x; } |
165 |
+ |
void SetIp3dPVBSCkf(Double_t x) { fIp3dPVBSCkf = x; } |
166 |
+ |
void SetIp3dPVBSCkfErr(Double_t x) { fIp3dPVBSCkfErr = x; } |
167 |
|
void SetGsfPVCompatibility(Double_t x) { fGsfPVCompatibility = x; } |
168 |
|
void SetGsfPVBSCompatibility(Double_t x) { fGsfPVBSCompatibility = x; } |
169 |
|
void SetGsfPVCompatibilityMatched(Double_t x) { fGsfPVCompatibilityMatched = x; } |
171 |
|
void SetConvPartnerDCotTheta(Double_t x) { fConvPartnerDCotTheta = x; } |
172 |
|
void SetConvPartnerDist(Double_t x) { fConvPartnerDist = x; } |
173 |
|
void SetConvPartnerRadius(Double_t x) { fConvPartnerRadius = x; } |
174 |
+ |
void SetConvFlag(Int_t n) { fConvFlag = n; } |
175 |
|
void SetClassification(Int_t x) { fClassification = x; } |
176 |
|
void SetCovEtaEta(Double_t CovEtaEta) { fCovEtaEta = CovEtaEta; } |
177 |
|
void SetCoviEtaiEta(Double_t CoviEtaiEta) { fCoviEtaiEta = CoviEtaiEta; } |
208 |
|
{ fSuperClusterRef = sc; } |
209 |
|
void SetTrackerTrk(const Track* t) |
210 |
|
{ fTrackerTrackRef = t; ClearCharge(); } |
211 |
+ |
void SetConvPartnerTrk(const Track *t) |
212 |
+ |
{ fConvPartnerTrackRef = t; } |
213 |
|
void SetEcalRecHitIsoDr04(Double_t x) { fEcalJurassicIsolation = x; } |
214 |
|
void SetHcalDepth1TowerSumEtDr04(Double_t x) { fHcalDepth1TowerSumEtDr04 = x; } |
215 |
|
void SetHcalDepth2TowerSumEtDr04(Double_t x) { fHcalDepth2TowerSumEtDr04 = x; } |
229 |
|
void SetIsEERingGap(Bool_t b) { fIsEERingGap = b; } |
230 |
|
void SetIsEcalDriven(Bool_t b) { fIsEcalDriven = b; } |
231 |
|
void SetIsTrackerDriven(Bool_t b) { fIsTrackerDriven = b; } |
232 |
+ |
void SetMatchesVertexConversion(Bool_t b) { fMatchesVertexConversion = b; } |
233 |
+ |
void SetConversionXYZ(Double_t x, Double_t y, Double_t z) |
234 |
+ |
{ fConvPosition.SetXYZ(x,y,z); } |
235 |
|
|
236 |
|
|
237 |
|
const Track *TrackerTrk() const { return fTrackerTrackRef.Obj(); } |
238 |
|
const Track *Trk() const { return BestTrk(); } |
239 |
+ |
const Track *ConvPartnerTrk() const { return fConvPartnerTrackRef.Obj(); } |
240 |
|
|
241 |
|
protected: |
242 |
|
Double_t GetCharge() const; |
248 |
|
Char_t fScPixCharge; //charge from supercluster-pixel matching |
249 |
|
Ref<Track> fGsfTrackRef; //gsf track reference |
250 |
|
Ref<Track> fTrackerTrackRef; //tracker track reference |
251 |
+ |
Ref<Track> fConvPartnerTrackRef; //conversion partner track reference |
252 |
|
Ref<SuperCluster> fSuperClusterRef; //reference to SuperCluster |
253 |
|
Double32_t fESuperClusterOverP; //[0,0,14]super cluster e over p ratio |
254 |
|
Double32_t fESeedClusterOverPout; //[0,0,14]seed cluster e over p mom |
284 |
|
Double32_t fPOut; //[0,0,14]momentum at ecal surface |
285 |
|
Double32_t fFracSharedHits; //[0,0,14]fraction of shared hits btw gsf and std. track |
286 |
|
Double32_t fMva; //[0,0,14] pflow mva output |
287 |
< |
Double32_t fD0PV; //[0,0,14]transverse impact parameter to signal PV |
288 |
< |
Double32_t fD0PVErr; //[0,0,14]transverse impact parameter uncertainty to signal PV |
289 |
< |
Double32_t fIp3dPV; //[0,0,14]3d impact parameter to signal PV |
290 |
< |
Double32_t fIp3dPVErr; //[0,0,14]3d impact parameter uncertainty to signal PV |
291 |
< |
Double32_t fD0PVBS; //[0,0,14]transverse impact parameter to signal PV w/ bs constraint |
292 |
< |
Double32_t fD0PVBSErr; //[0,0,14]transverse impact parameter uncertainty to signal PV w/ bs constraint |
293 |
< |
Double32_t fIp3dPVBS; //[0,0,14]3d impact parameter to signal PV w/ bs constraint |
294 |
< |
Double32_t fIp3dPVBSErr; //[0,0,14]3d impact parameter uncertainty to signal PV w/ bs constraint |
287 |
> |
Double32_t fD0PV; //[0,0,14]transverse impact parameter to signal PV (gsf track) |
288 |
> |
Double32_t fD0PVErr; //[0,0,14]transverse impact parameter uncertainty to signal PV (gsf track) |
289 |
> |
Double32_t fIp3dPV; //[0,0,14]3d impact parameter to signal PV (gsf track) |
290 |
> |
Double32_t fIp3dPVErr; //[0,0,14]3d impact parameter uncertainty to signal PV (gsf track) |
291 |
> |
Double32_t fD0PVBS; //[0,0,14]transverse impact parameter to signal PV w/ bs constraint (gsf track) |
292 |
> |
Double32_t fD0PVBSErr; //[0,0,14]transverse impact parameter uncertainty to signal PV w/ bs constraint (gsf track) |
293 |
> |
Double32_t fIp3dPVBS; //[0,0,14]3d impact parameter to signal PV w/ bs constraint (gsf track) |
294 |
> |
Double32_t fIp3dPVBSErr; //[0,0,14]3d impact parameter uncertainty to signal PV w/ bs constraint (gsf track) |
295 |
> |
Double32_t fD0PVCkf; //[0,0,14]transverse impact parameter to signal PV (ckf track) |
296 |
> |
Double32_t fD0PVCkfErr; //[0,0,14]transverse impact parameter uncertainty to signal PV (ckf track) |
297 |
> |
Double32_t fIp3dPVCkf; //[0,0,14]3d impact parameter to signal PV (ckf track) |
298 |
> |
Double32_t fIp3dPVCkfErr; //[0,0,14]3d impact parameter uncertainty to signal PV (ckf track) |
299 |
> |
Double32_t fD0PVBSCkf; //[0,0,14]transverse impact parameter to signal PV w/ bs constraint (ckf track) |
300 |
> |
Double32_t fD0PVBSCkfErr; //[0,0,14]transverse impact parameter uncertainty to signal PV w/ bs constraint (ckf track) |
301 |
> |
Double32_t fIp3dPVBSCkf; //[0,0,14]3d impact parameter to signal PV w/ bs constraint (ckf track) |
302 |
> |
Double32_t fIp3dPVBSCkfErr; //[0,0,14]3d impact parameter uncertainty to signal PV w/ bs constraint (ckf track) |
303 |
|
Double32_t fGsfPVCompatibility; //[0,0,14]gsf compatibility with signal PV |
304 |
|
Double32_t fGsfPVBSCompatibility; //[0,0,14]gsf compatibility with signal PV w/ bs constraint |
305 |
|
Double32_t fGsfPVCompatibilityMatched; //[0,0,14]gsf compatibility with signal PV (matching ckf track excluded from vertex) |
307 |
|
Double32_t fConvPartnerDCotTheta; //[0,0,14]delta cot theta to nearest conversion partner track |
308 |
|
Double32_t fConvPartnerDist; //[0,0,14]distance in x-y plane to nearest conversion partner track |
309 |
|
Double32_t fConvPartnerRadius; //[0,0,14]radius of helix intersection with conversion partner track |
310 |
+ |
Int_t fConvFlag; //conversion flag indicating which track combination was used |
311 |
+ |
Vect3C fConvPosition; |
312 |
|
Bool_t fIsEnergyScaleCorrected; //class dependent escale correction |
313 |
|
Bool_t fIsMomentumCorrected; //class dependent E-p combination |
314 |
|
Int_t fClassification; //classification (see GsfElectron.h) |
321 |
|
Bool_t fIsEERingGap; //is in EE ring gap |
322 |
|
Bool_t fIsEcalDriven; //is std. egamma electron |
323 |
|
Bool_t fIsTrackerDriven; //is pflow track-seeded electron |
324 |
+ |
Bool_t fMatchesVertexConversion; |
325 |
+ |
RefArray<Track> fAmbiguousGsfTracks; //ambiguous gsf tracks for this electron |
326 |
|
|
327 |
< |
ClassDef(Electron, 5) // Electron class |
327 |
> |
ClassDef(Electron, 10) // Electron class |
328 |
|
}; |
329 |
|
} |
330 |
|
|