5 |
|
// |
6 |
|
// This class holds information about reconstructed electrons from CMSSW. |
7 |
|
// |
8 |
< |
// Authors: C.Loizides, J.Bendavid, S.Xie |
8 |
> |
// Authors: C.Paus, G.Ceballos, C.Loizides, J.Bendavid, S.Xie |
9 |
|
//-------------------------------------------------------------------------------------------------- |
10 |
|
|
11 |
|
#ifndef MITANA_DATATREE_ELECTRON_H |
33 |
|
fHcalDepth1TowerSumEtDr03(0), fHcalDepth2TowerSumEtDr03(0), |
34 |
|
fEcalRecHitSumEtDr03(0), fTrackIsolation(0), fPassLooseID(0), |
35 |
|
fPassTightID(0), fIDLikelihood(0), fPIn(0), fPOut(0), fFracSharedHits(0), |
36 |
< |
fMva(0), fIsEnergyScaleCorrected(0), fIsMomentumCorrected(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 |
> |
fD0PVUB(0), fD0PVUBErr(0), fIp3dPVUB(0), fIp3dPVUBErr(0), |
41 |
> |
fD0PVUBBS(0), fD0PVUBBSErr(0), fIp3dPVUBBS(0), fIp3dPVUBBSErr(0), |
42 |
> |
fD0PVUBCkf(0), fD0PVUBCkfErr(0), fIp3dPVUBCkf(0), fIp3dPVUBCkfErr(0), |
43 |
> |
fD0PVUBBSCkf(0), fD0PVUBBSCkfErr(0), fIp3dPVUBBSCkf(0), fIp3dPVUBBSCkfErr(0), |
44 |
> |
fGsfPVCompatibility(0), fGsfPVBSCompatibility(0), |
45 |
> |
fGsfPVCompatibilityMatched(0), fGsfPVBSCompatibilityMatched(0), |
46 |
> |
fConvPartnerDCotTheta(0), fConvPartnerDist(0), fConvPartnerRadius(0), |
47 |
> |
fPFChargedHadronIso(0), fPFNeutralHadronIso(0), fPFPhotonIso(0), |
48 |
> |
fConvFlag(0), fIsEnergyScaleCorrected(0), fIsMomentumCorrected(0), |
49 |
|
fClassification(0), fIsEB(), fIsEE(0), fIsEBEEGap(0), fIsEBEtaGap(0), |
50 |
|
fIsEBPhiGap(0), fIsEEDeeGap(0), fIsEERingGap(0), |
51 |
< |
fIsEcalDriven(0), fIsTrackerDriven(0) {} |
51 |
> |
fIsEcalDriven(0), fIsTrackerDriven(0), fMatchesVertexConversion(0), |
52 |
> |
fHadOverEmTow(0), fHCalIsoTowDr03(0), fHCalIsoTowDr04(0), |
53 |
> |
fEcalEnergy(0), fEcalEnergyError(0), fTrackMomentumError(0) {} |
54 |
|
|
55 |
< |
const Track *BestTrk() const; |
56 |
< |
Double_t CaloIsolation() const { return fCaloIsolation; } // *DEPRECATED* |
57 |
< |
Int_t Classification() const { return fClassification; } |
58 |
< |
Double_t CovEtaEta() const { return fCovEtaEta; } |
59 |
< |
Double_t CoviEtaiEta() const { return fCoviEtaiEta; } |
60 |
< |
Double_t DeltaEtaSuperClusterTrackAtVtx() const |
61 |
< |
{ return fDeltaEtaSuperClTrkAtVtx; } |
62 |
< |
Double_t DeltaEtaSeedClusterTrackAtCalo() const |
63 |
< |
{ return fDeltaEtaSeedClTrkAtCalo; } |
64 |
< |
Double_t DeltaPhiSuperClusterTrackAtVtx() const |
65 |
< |
{ return fDeltaPhiSuperClTrkAtVtx; } |
66 |
< |
Double_t DeltaPhiSeedClusterTrackAtCalo() const |
67 |
< |
{ return fDeltaPhiSeedClTrkAtCalo; } |
68 |
< |
Double_t E15() const { return fE15; } |
69 |
< |
Double_t E25Max() const { return fE25Max; } |
70 |
< |
Double_t E55() const { return fE55; } |
71 |
< |
Double_t ESuperClusterOverP() const { return fESuperClusterOverP; } |
72 |
< |
Double_t ESeedClusterOverPout() const { return fESeedClusterOverPout; } |
73 |
< |
Double_t ESeedClusterOverPIn() const; |
74 |
< |
Double_t FBrem() const { return fFBrem; } |
75 |
< |
Double_t FBremOld() const { return (PIn() - POut())/PIn(); } |
76 |
< |
Double_t FracSharedHits() const { return fFracSharedHits; } |
77 |
< |
const Track *GsfTrk() const { return fGsfTrackRef.Obj(); } |
78 |
< |
Double_t HadronicOverEm() const { return fHadronicOverEm; } |
79 |
< |
Double_t HcalDepth1OverEcal() const { return fHcalDepth1OverEcal; } |
80 |
< |
Double_t HcalDepth2OverEcal() const { return fHcalDepth2OverEcal; } |
81 |
< |
Bool_t HasGsfTrk() const { return fGsfTrackRef.IsValid(); } |
82 |
< |
Bool_t HasTrackerTrk() const { return fTrackerTrackRef.IsValid(); } |
83 |
< |
Bool_t HasSuperCluster() const { return fSuperClusterRef.IsValid(); } |
84 |
< |
Double_t HcalIsolation() const { return fHcalJurassicIsolation; } // *DEPRECATED* |
85 |
< |
Double_t IDLikelihood() const { return fIDLikelihood; } |
86 |
< |
Bool_t IsEnergyScaleCorrected() const { return fIsEnergyScaleCorrected; } |
87 |
< |
Bool_t IsMomentumCorrected() const { return fIsMomentumCorrected; } |
88 |
< |
Bool_t IsEB() const { return fIsEB; } |
89 |
< |
Bool_t IsEE() const { return fIsEE; } |
90 |
< |
Bool_t IsEBEEGap() const { return fIsEBEEGap; } |
91 |
< |
Bool_t IsEBEtaGap() const { return fIsEBEtaGap; } |
92 |
< |
Bool_t IsEBPhiGap() const { return fIsEBPhiGap; } |
93 |
< |
Bool_t IsEEDeeGap() const { return fIsEEDeeGap; } |
94 |
< |
Bool_t IsEERingGap() const { return fIsEERingGap; } |
95 |
< |
Bool_t IsEcalDriven() const { return fIsEcalDriven; } |
96 |
< |
Bool_t IsTrackerDriven() const { return fIsTrackerDriven; } |
97 |
< |
Double_t Mva() const { return fMva; } |
98 |
< |
Double_t NumberOfClusters() const { return fNumberOfClusters; } |
99 |
< |
EObjType ObjType() const { return kElectron; } |
100 |
< |
Double_t PassLooseID() const { return fPassLooseID; } |
101 |
< |
Double_t PassTightID() const { return fPassTightID; } |
102 |
< |
Double_t PIn() const { return fPIn; } |
103 |
< |
Double_t POut() const { return fPOut; } |
104 |
< |
const SuperCluster *SCluster() const { return fSuperClusterRef.Obj(); } |
105 |
< |
Double_t ScPixCharge() const { return fScPixCharge; } |
106 |
< |
|
107 |
< |
Double_t EcalRecHitIsoDr04() const { return fEcalJurassicIsolation; } |
108 |
< |
Double_t HcalTowerSumEtDr04() const { return HcalDepth1TowerSumEtDr04() + |
109 |
< |
HcalDepth2TowerSumEtDr04(); } |
110 |
< |
Double_t HcalDepth1TowerSumEtDr04() const { return fHcalDepth1TowerSumEtDr04; } |
111 |
< |
Double_t HcalDepth2TowerSumEtDr04() const { return fHcalDepth2TowerSumEtDr04; } |
112 |
< |
Double_t TrackIsolationDr04() const { return fTrackIsolationDr04; } |
113 |
< |
Double_t EcalRecHitIsoDr03() const { return fEcalRecHitSumEtDr03; } |
114 |
< |
Double_t HcalTowerSumEtDr03() const { return fCaloTowerIsolation; } |
115 |
< |
Double_t HcalDepth1TowerSumEtDr03() const { return fHcalDepth1TowerSumEtDr03; } |
116 |
< |
Double_t HcalDepth2TowerSumEtDr03() const { return fHcalDepth2TowerSumEtDr03; } |
117 |
< |
Double_t TrackIsolationDr03() const { return fTrackIsolation; } |
118 |
< |
|
119 |
< |
|
120 |
< |
void SetCharge(Char_t x) { fCharge = x; } |
121 |
< |
void SetScPixCharge(Char_t x) { fScPixCharge = x; } |
122 |
< |
void SetClassification(Int_t x) { fClassification = x; } |
123 |
< |
void SetCovEtaEta(Double_t CovEtaEta) { fCovEtaEta = CovEtaEta; } |
124 |
< |
void SetCoviEtaiEta(Double_t CoviEtaiEta) { fCoviEtaiEta = CoviEtaiEta; } |
55 |
> |
const Track *BestTrk() const; |
56 |
> |
Double_t D0PV() const { return fD0PV; } |
57 |
> |
Double_t D0PVErr() const { return fD0PVErr; } |
58 |
> |
Double_t D0PVSignificance() const { return fD0PV/fD0PVErr; } |
59 |
> |
Double_t Ip3dPV() const { return fIp3dPV; } |
60 |
> |
Double_t Ip3dPVErr() const { return fIp3dPVErr; } |
61 |
> |
Double_t Ip3dPVSignificance() const { return fIp3dPV/fIp3dPVErr; } |
62 |
> |
Double_t D0PVBS() const { return fD0PVBS; } |
63 |
> |
Double_t D0PVBSErr() const { return fD0PVBSErr; } |
64 |
> |
Double_t D0PVBSSignificance() const { return fD0PVBS/fD0PVBSErr; } |
65 |
> |
Double_t Ip3dPVBS() const { return fIp3dPVBS; } |
66 |
> |
Double_t Ip3dPVBSErr() const { return fIp3dPVBSErr; } |
67 |
> |
Double_t Ip3dPVBSSignificance() const { return fIp3dPVBS/fIp3dPVBSErr; } |
68 |
> |
Double_t D0PVCkf() const { return fD0PVCkf; } |
69 |
> |
Double_t D0PVCkfErr() const { return fD0PVCkfErr; } |
70 |
> |
Double_t D0PVCkfSignificance() const { return fD0PVCkf/fD0PVCkfErr; } |
71 |
> |
Double_t Ip3dPVCkf() const { return fIp3dPVCkf; } |
72 |
> |
Double_t Ip3dPVCkfErr() const { return fIp3dPVCkfErr; } |
73 |
> |
Double_t Ip3dPVCkfSignificance() const { return fIp3dPVCkf/fIp3dPVCkfErr; } |
74 |
> |
Double_t D0PVBSCkf() const { return fD0PVBSCkf; } |
75 |
> |
Double_t D0PVBSCkfErr() const { return fD0PVBSCkfErr; } |
76 |
> |
Double_t D0PVBSCkfSignificance() const { return fD0PVBSCkf/fD0PVBSCkfErr; } |
77 |
> |
Double_t Ip3dPVBSCkf() const { return fIp3dPVBSCkf; } |
78 |
> |
Double_t Ip3dPVBSCkfErr() const { return fIp3dPVBSCkfErr; } |
79 |
> |
Double_t Ip3dPVBSCkfSignificance() const { return fIp3dPVBSCkf/fIp3dPVBSCkfErr; } |
80 |
> |
Double_t D0PVUB() const { return fD0PVUB; } |
81 |
> |
Double_t D0PVUBErr() const { return fD0PVUBErr; } |
82 |
> |
Double_t D0PVUBSignificance() const { return fD0PVUB/fD0PVUBErr; } |
83 |
> |
Double_t Ip3dPVUB() const { return fIp3dPVUB; } |
84 |
> |
Double_t Ip3dPVUBErr() const { return fIp3dPVUBErr; } |
85 |
> |
Double_t Ip3dPVUBSignificance() const { return fIp3dPVUB/fIp3dPVUBErr; } |
86 |
> |
Double_t D0PVUBBS() const { return fD0PVUBBS; } |
87 |
> |
Double_t D0PVUBBSErr() const { return fD0PVUBBSErr; } |
88 |
> |
Double_t D0PVUBBSSignificance() const { return fD0PVUBBS/fD0PVUBBSErr; } |
89 |
> |
Double_t Ip3dPVUBBS() const { return fIp3dPVUBBS; } |
90 |
> |
Double_t Ip3dPVUBBSErr() const { return fIp3dPVUBBSErr; } |
91 |
> |
Double_t Ip3dPVUBBSSignificance() const { return fIp3dPVUBBS/fIp3dPVUBBSErr; } |
92 |
> |
Double_t D0PVUBCkf() const { return fD0PVUBCkf; } |
93 |
> |
Double_t D0PVUBCkfErr() const { return fD0PVUBCkfErr; } |
94 |
> |
Double_t D0PVUBCkfSignificance() const { return fD0PVUBCkf/fD0PVUBCkfErr; } |
95 |
> |
Double_t Ip3dPVUBCkf() const { return fIp3dPVUBCkf; } |
96 |
> |
Double_t Ip3dPVUBCkfErr() const { return fIp3dPVUBCkfErr; } |
97 |
> |
Double_t Ip3dPVUBCkfSignificance() const { return fIp3dPVUBCkf/fIp3dPVUBCkfErr; } |
98 |
> |
Double_t D0PVUBBSCkf() const { return fD0PVUBBSCkf; } |
99 |
> |
Double_t D0PVUBBSCkfErr() const { return fD0PVUBBSCkfErr; } |
100 |
> |
Double_t D0PVUBBSCkfSignificance() const { return fD0PVUBBSCkf/fD0PVUBBSCkfErr; } |
101 |
> |
Double_t Ip3dPVUBBSCkf() const { return fIp3dPVUBBSCkf; } |
102 |
> |
Double_t Ip3dPVUBBSCkfErr() const { return fIp3dPVUBBSCkfErr; } |
103 |
> |
Double_t Ip3dPVUBBSCkfSignificance() const { return fIp3dPVUBBSCkf/fIp3dPVUBBSCkfErr; } |
104 |
> |
Double_t GsfPVCompatibility() const { return fGsfPVCompatibility; } |
105 |
> |
Double_t GsfPVBSCompatibility() const { return fGsfPVBSCompatibility; } |
106 |
> |
Double_t GsfPVCompatibilityMatched() const { return fGsfPVCompatibilityMatched; } |
107 |
> |
Double_t GsfPVBSCompatibilityMatched() const { return fGsfPVBSCompatibilityMatched; } |
108 |
> |
Double_t ConvPartnerDCotTheta() const { return fConvPartnerDCotTheta; } |
109 |
> |
Double_t ConvPartnerDist() const { return fConvPartnerDist; } |
110 |
> |
Double_t ConvPartnerRadius() const { return fConvPartnerRadius; } |
111 |
> |
Int_t ConvFlag() const { return fConvFlag; } |
112 |
> |
Double_t CaloIsolation() const { return fCaloIsolation; } // *DEPRECATED* |
113 |
> |
Int_t Classification() const { return fClassification; } |
114 |
> |
Double_t CovEtaEta() const { return fCovEtaEta; } |
115 |
> |
Double_t CoviEtaiEta() const { return fCoviEtaiEta; } |
116 |
> |
Double_t DeltaEtaSuperClusterTrackAtVtx() const { return fDeltaEtaSuperClTrkAtVtx; } |
117 |
> |
Double_t DeltaEtaSeedClusterTrackAtCalo() const { return fDeltaEtaSeedClTrkAtCalo; } |
118 |
> |
Double_t DeltaPhiSuperClusterTrackAtVtx() const { return fDeltaPhiSuperClTrkAtVtx; } |
119 |
> |
Double_t DeltaPhiSeedClusterTrackAtCalo() const { return fDeltaPhiSeedClTrkAtCalo; } |
120 |
> |
Double_t E15() const { return fE15; } |
121 |
> |
Double_t E25Max() const { return fE25Max; } |
122 |
> |
Double_t E55() const { return fE55; } |
123 |
> |
Double_t ESuperClusterOverP() const { return fESuperClusterOverP; } |
124 |
> |
Double_t ESeedClusterOverPout() const { return fESeedClusterOverPout; } |
125 |
> |
Double_t EEleClusterOverPout() const { return fEEleClusterOverPout; } |
126 |
> |
Double_t ESeedClusterOverPIn() const; |
127 |
> |
Double_t FBrem() const { return fFBrem; } |
128 |
> |
Double_t FBremOld() const { return (PIn() - POut())/PIn(); } |
129 |
> |
Double_t FracSharedHits() const { return fFracSharedHits; } |
130 |
> |
const Track *GsfTrk() const { return fGsfTrackRef.Obj(); } |
131 |
> |
Double_t HadronicOverEm() const { return fHadronicOverEm; } |
132 |
> |
Double_t HcalDepth1OverEcal() const { return fHcalDepth1OverEcal; } |
133 |
> |
Double_t HcalDepth2OverEcal() const { return fHcalDepth2OverEcal; } |
134 |
> |
Bool_t HasGsfTrk() const { return fGsfTrackRef.IsValid(); } |
135 |
> |
Bool_t HasTrackerTrk() const { return fTrackerTrackRef.IsValid(); } |
136 |
> |
Bool_t HasSuperCluster() const { return fSuperClusterRef.IsValid(); } |
137 |
> |
Double_t HcalIsolation() const { return fHcalJurassicIsolation; } // *DEPRECATED* |
138 |
> |
Double_t IDLikelihood() const { return fIDLikelihood; } |
139 |
> |
Bool_t IsEnergyScaleCorrected() const { return fIsEnergyScaleCorrected; } |
140 |
> |
Bool_t IsMomentumCorrected() const { return fIsMomentumCorrected; } |
141 |
> |
Bool_t IsEB() const { return fIsEB; } |
142 |
> |
Bool_t IsEE() const { return fIsEE; } |
143 |
> |
Bool_t IsEBEEGap() const { return fIsEBEEGap; } |
144 |
> |
Bool_t IsEBEtaGap() const { return fIsEBEtaGap; } |
145 |
> |
Bool_t IsEBPhiGap() const { return fIsEBPhiGap; } |
146 |
> |
Bool_t IsEEDeeGap() const { return fIsEEDeeGap; } |
147 |
> |
Bool_t IsEERingGap() const { return fIsEERingGap; } |
148 |
> |
Bool_t IsEcalDriven() const { return fIsEcalDriven; } |
149 |
> |
Bool_t IsTrackerDriven() const { return fIsTrackerDriven; } |
150 |
> |
Double_t Mva() const { return fMva; } |
151 |
> |
Double_t NumberOfClusters() const { return fNumberOfClusters; } |
152 |
> |
EObjType ObjType() const { return kElectron; } |
153 |
> |
Double_t PassLooseID() const { return fPassLooseID; } |
154 |
> |
Double_t PassTightID() const { return fPassTightID; } |
155 |
> |
Double_t PIn() const { return fPIn; } |
156 |
> |
Double_t POut() const { return fPOut; } |
157 |
> |
const SuperCluster *SCluster() const { return fSuperClusterRef.Obj(); } |
158 |
> |
const SuperCluster *PFSCluster() const { return fPFSuperClusterRef.Obj(); } |
159 |
> |
Double_t ScPixCharge() const { return fScPixCharge; } |
160 |
> |
|
161 |
> |
Double_t EcalRecHitIsoDr04() const { return fEcalJurassicIsolation; } |
162 |
> |
Double_t HcalTowerSumEtDr04() const { return HcalDepth1TowerSumEtDr04() + |
163 |
> |
HcalDepth2TowerSumEtDr04(); } |
164 |
> |
Double_t HcalDepth1TowerSumEtDr04() const { return fHcalDepth1TowerSumEtDr04; } |
165 |
> |
Double_t HcalDepth2TowerSumEtDr04() const { return fHcalDepth2TowerSumEtDr04; } |
166 |
> |
Double_t TrackIsolationDr04() const { return fTrackIsolationDr04; } |
167 |
> |
Double_t EcalRecHitIsoDr03() const { return fEcalRecHitSumEtDr03; } |
168 |
> |
Double_t HcalTowerSumEtDr03() const { return fCaloTowerIsolation; } |
169 |
> |
Double_t HcalDepth1TowerSumEtDr03() const { return fHcalDepth1TowerSumEtDr03; } |
170 |
> |
Double_t HcalDepth2TowerSumEtDr03() const { return fHcalDepth2TowerSumEtDr03; } |
171 |
> |
Double_t TrackIsolationDr03() const { return fTrackIsolation; } |
172 |
> |
Double_t PFChargedHadronIso() const { return fPFChargedHadronIso; } |
173 |
> |
Double_t PFNeutralHadronIso() const { return fPFNeutralHadronIso; } |
174 |
> |
Double_t PFPhotonIso() const { return fPFPhotonIso; } |
175 |
> |
Bool_t MatchesVertexConversion() const { return fMatchesVertexConversion; } |
176 |
> |
UInt_t NAmbiguousGsfTracks() const { return fAmbiguousGsfTracks.Entries(); } |
177 |
> |
Bool_t HasAmbiguousGsfTrack(const Track *t) const { return fAmbiguousGsfTracks.HasObject(t); } |
178 |
> |
const Track *AmbiguousGsfTrack(UInt_t i) const { return fAmbiguousGsfTracks.At(i); } |
179 |
> |
Int_t CTFTrkNLayersWithMeasurement() const { return fCTFTrkNLayersWithMeasurement; } |
180 |
> |
Double_t HadOverEmTow() const { return fHadOverEmTow; } |
181 |
> |
Double_t HcalIsoTowDr03() const { return fHCalIsoTowDr03; } |
182 |
> |
Double_t HcalIsoTowDr04() const { return fHCalIsoTowDr04; } |
183 |
> |
Double_t EcalEnergy() const { return fEcalEnergy; } |
184 |
> |
Double_t EcalEnergyError() const { return fEcalEnergyError; } |
185 |
> |
Double_t TrackMomentumError() const { return fTrackMomentumError; } |
186 |
> |
|
187 |
> |
void AddAmbiguousGsfTrack(const Track *t) { fAmbiguousGsfTracks.Add(t); } |
188 |
> |
void SetCharge(Char_t x) { fCharge = x; ClearCharge(); } |
189 |
> |
void SetScPixCharge(Char_t x) { fScPixCharge = x; } |
190 |
> |
void SetD0PV(Double_t x) { fD0PV = x; } |
191 |
> |
void SetD0PVErr(Double_t x) { fD0PVErr = x; } |
192 |
> |
void SetIp3dPV(Double_t x) { fIp3dPV = x; } |
193 |
> |
void SetIp3dPVErr(Double_t x) { fIp3dPVErr = x; } |
194 |
> |
void SetD0PVBS(Double_t x) { fD0PVBS = x; } |
195 |
> |
void SetD0PVBSErr(Double_t x) { fD0PVBSErr = x; } |
196 |
> |
void SetIp3dPVBS(Double_t x) { fIp3dPVBS = x; } |
197 |
> |
void SetIp3dPVBSErr(Double_t x) { fIp3dPVBSErr = x; } |
198 |
> |
void SetD0PVCkf(Double_t x) { fD0PVCkf = x; } |
199 |
> |
void SetD0PVCkfErr(Double_t x) { fD0PVCkfErr = x; } |
200 |
> |
void SetIp3dPVCkf(Double_t x) { fIp3dPVCkf = x; } |
201 |
> |
void SetIp3dPVCkfErr(Double_t x) { fIp3dPVCkfErr = x; } |
202 |
> |
void SetD0PVBSCkf(Double_t x) { fD0PVBSCkf = x; } |
203 |
> |
void SetD0PVBSCkfErr(Double_t x) { fD0PVBSCkfErr = x; } |
204 |
> |
void SetIp3dPVBSCkf(Double_t x) { fIp3dPVBSCkf = x; } |
205 |
> |
void SetIp3dPVBSCkfErr(Double_t x) { fIp3dPVBSCkfErr = x; } |
206 |
> |
void SetD0PVUB(Double_t x) { fD0PVUB = x; } |
207 |
> |
void SetD0PVUBErr(Double_t x) { fD0PVUBErr = x; } |
208 |
> |
void SetIp3dPVUB(Double_t x) { fIp3dPVUB = x; } |
209 |
> |
void SetIp3dPVUBErr(Double_t x) { fIp3dPVUBErr = x; } |
210 |
> |
void SetD0PVUBBS(Double_t x) { fD0PVUBBS = x; } |
211 |
> |
void SetD0PVUBBSErr(Double_t x) { fD0PVUBBSErr = x; } |
212 |
> |
void SetIp3dPVUBBS(Double_t x) { fIp3dPVUBBS = x; } |
213 |
> |
void SetIp3dPVUBBSErr(Double_t x) { fIp3dPVUBBSErr = x; } |
214 |
> |
void SetD0PVUBCkf(Double_t x) { fD0PVUBCkf = x; } |
215 |
> |
void SetD0PVUBCkfErr(Double_t x) { fD0PVUBCkfErr = x; } |
216 |
> |
void SetIp3dPVUBCkf(Double_t x) { fIp3dPVUBCkf = x; } |
217 |
> |
void SetIp3dPVUBCkfErr(Double_t x) { fIp3dPVUBCkfErr = x; } |
218 |
> |
void SetD0PVUBBSCkf(Double_t x) { fD0PVUBBSCkf = x; } |
219 |
> |
void SetD0PVUBBSCkfErr(Double_t x) { fD0PVUBBSCkfErr = x; } |
220 |
> |
void SetIp3dPVUBBSCkf(Double_t x) { fIp3dPVUBBSCkf = x; } |
221 |
> |
void SetIp3dPVUBBSCkfErr(Double_t x) { fIp3dPVUBBSCkfErr = x; } |
222 |
> |
void SetGsfPVCompatibility(Double_t x) { fGsfPVCompatibility = x; } |
223 |
> |
void SetGsfPVBSCompatibility(Double_t x) { fGsfPVBSCompatibility = x; } |
224 |
> |
void SetGsfPVCompatibilityMatched(Double_t x) { fGsfPVCompatibilityMatched = x; } |
225 |
> |
void SetGsfPVBSCompatibilityMatched(Double_t x) { fGsfPVBSCompatibilityMatched = x; } |
226 |
> |
void SetConvPartnerDCotTheta(Double_t x) { fConvPartnerDCotTheta = x; } |
227 |
> |
void SetConvPartnerDist(Double_t x) { fConvPartnerDist = x; } |
228 |
> |
void SetConvPartnerRadius(Double_t x) { fConvPartnerRadius = x; } |
229 |
> |
void SetConvFlag(Int_t n) { fConvFlag = n; } |
230 |
> |
void SetClassification(Int_t x) { fClassification = x; } |
231 |
> |
void SetCovEtaEta(Double_t x) { fCovEtaEta = x; } |
232 |
> |
void SetCoviEtaiEta(Double_t x) { fCoviEtaiEta = x; } |
233 |
|
void SetDeltaEtaSuperClusterTrackAtVtx(Double_t x) |
234 |
< |
{ fDeltaEtaSuperClTrkAtVtx = x; } |
234 |
> |
{ fDeltaEtaSuperClTrkAtVtx = x; } |
235 |
|
void SetDeltaEtaSeedClusterTrackAtCalo(Double_t x) |
236 |
< |
{ fDeltaEtaSeedClTrkAtCalo = x; } |
236 |
> |
{ fDeltaEtaSeedClTrkAtCalo = x; } |
237 |
|
void SetDeltaPhiSuperClusterTrackAtVtx(Double_t x) |
238 |
< |
{ fDeltaPhiSuperClTrkAtVtx = x; } |
238 |
> |
{ fDeltaPhiSuperClTrkAtVtx = x; } |
239 |
|
void SetDeltaPhiSeedClusterTrackAtCalo(Double_t x) |
240 |
< |
{ fDeltaPhiSeedClTrkAtCalo = x; } |
241 |
< |
void SetE15(Double_t x) { fE15 = x; } |
242 |
< |
void SetE25Max(Double_t x) { fE25Max = x; } |
243 |
< |
void SetE55(Double_t x) { fE55 = x; } |
244 |
< |
void SetESeedClusterOverPout(Double_t x) { fESeedClusterOverPout = x; } |
245 |
< |
void SetESuperClusterOverP(Double_t x) { fESuperClusterOverP = x; } |
246 |
< |
void SetFBrem(Double_t x) { fFBrem = x; } |
247 |
< |
void SetFracSharedHits(Double_t x) { fFracSharedHits = x; } |
240 |
> |
{ fDeltaPhiSeedClTrkAtCalo = x; } |
241 |
> |
void SetE15(Double_t x) { fE15 = x; } |
242 |
> |
void SetE25Max(Double_t x) { fE25Max = x; } |
243 |
> |
void SetE55(Double_t x) { fE55 = x; } |
244 |
> |
void SetESeedClusterOverPout(Double_t x) { fESeedClusterOverPout = x; } |
245 |
> |
void SetEEleClusterOverPout(Double_t x) { fEEleClusterOverPout = x; } |
246 |
> |
void SetESuperClusterOverP(Double_t x) { fESuperClusterOverP = x; } |
247 |
> |
void SetFBrem(Double_t x) { fFBrem = x; } |
248 |
> |
void SetFracSharedHits(Double_t x) { fFracSharedHits = x; } |
249 |
|
void SetGsfTrk(const Track* t) |
250 |
|
{ fGsfTrackRef = t; ClearCharge(); } |
251 |
< |
void SetHadronicOverEm(Double_t x) { fHadronicOverEm = x; } |
252 |
< |
void SetHcalDepth1OverEcal(Double_t x) { fHcalDepth1OverEcal = x; } |
253 |
< |
void SetHcalDepth2OverEcal(Double_t x) { fHcalDepth2OverEcal = x; } |
254 |
< |
void SetIDLikelihood(Double_t likelihood) { fIDLikelihood = likelihood; } |
255 |
< |
void SetIsEnergyScaleCorrected(Bool_t x) { fIsEnergyScaleCorrected = x; } |
256 |
< |
void SetIsMomentumCorrected(Bool_t x) { fIsMomentumCorrected = x; } |
257 |
< |
void SetNumberOfClusters(Double_t x) { fNumberOfClusters = x; } |
258 |
< |
void SetPIn(Double_t PIn) { fPIn = PIn; } |
259 |
< |
void SetPOut(Double_t POut) { fPOut = POut; } |
260 |
< |
void SetPassLooseID(Double_t passLooseID) { fPassLooseID = passLooseID; } |
261 |
< |
void SetPassTightID(Double_t passTightID) { fPassTightID = passTightID; } |
251 |
> |
void SetHadronicOverEm(Double_t x) { fHadronicOverEm = x; } |
252 |
> |
void SetHcalDepth1OverEcal(Double_t x) { fHcalDepth1OverEcal = x; } |
253 |
> |
void SetHcalDepth2OverEcal(Double_t x) { fHcalDepth2OverEcal = x; } |
254 |
> |
void SetIDLikelihood(Double_t x) { fIDLikelihood = x; } |
255 |
> |
void SetIsEnergyScaleCorrected(Bool_t x) { fIsEnergyScaleCorrected = x; } |
256 |
> |
void SetIsMomentumCorrected(Bool_t x) { fIsMomentumCorrected = x; } |
257 |
> |
void SetNumberOfClusters(Double_t x) { fNumberOfClusters = x; } |
258 |
> |
void SetPIn(Double_t pIn) { fPIn = pIn; } |
259 |
> |
void SetPOut(Double_t pOut) { fPOut = pOut; } |
260 |
> |
void SetPassLooseID(Double_t passLooseID) { fPassLooseID = passLooseID; } |
261 |
> |
void SetPassTightID(Double_t passTightID) { fPassTightID = passTightID; } |
262 |
|
void SetPtEtaPhi(Double_t pt, Double_t eta, Double_t phi); |
263 |
|
void SetSuperCluster(const SuperCluster* sc) |
264 |
|
{ fSuperClusterRef = sc; } |
265 |
+ |
void SetPFSuperCluster(const SuperCluster* sc) |
266 |
+ |
{ fPFSuperClusterRef = sc; } |
267 |
|
void SetTrackerTrk(const Track* t) |
268 |
|
{ fTrackerTrackRef = t; ClearCharge(); } |
269 |
< |
void SetEcalRecHitIsoDr04(Double_t x) { fEcalJurassicIsolation = x; } |
269 |
> |
void SetConvPartnerTrk(const Track *t) |
270 |
> |
{ fConvPartnerTrackRef = t; } |
271 |
> |
void SetEcalRecHitIsoDr04(Double_t x) { fEcalJurassicIsolation = x; } |
272 |
|
void SetHcalDepth1TowerSumEtDr04(Double_t x) { fHcalDepth1TowerSumEtDr04 = x; } |
273 |
|
void SetHcalDepth2TowerSumEtDr04(Double_t x) { fHcalDepth2TowerSumEtDr04 = x; } |
274 |
< |
void SetTrackIsolationDr04(Double_t x) { fTrackIsolationDr04 = x; } |
275 |
< |
void SetEcalRecHitIsoDr03(Double_t x) { fEcalRecHitSumEtDr03 = x; } |
276 |
< |
void SetHcalTowerSumEtDr03(Double_t x) { fCaloTowerIsolation = x; } |
274 |
> |
void SetTrackIsolationDr04(Double_t x) { fTrackIsolationDr04 = x; } |
275 |
> |
void SetEcalRecHitIsoDr03(Double_t x) { fEcalRecHitSumEtDr03 = x; } |
276 |
> |
void SetHcalTowerSumEtDr03(Double_t x) { fCaloTowerIsolation = x; } |
277 |
|
void SetHcalDepth1TowerSumEtDr03(Double_t x) { fHcalDepth1TowerSumEtDr03 = x; } |
278 |
|
void SetHcalDepth2TowerSumEtDr03(Double_t x) { fHcalDepth2TowerSumEtDr03 = x; } |
279 |
< |
void SetTrackIsolationDr03(Double_t x) { fTrackIsolation = x; } |
280 |
< |
void SetMva(Double_t x) { fMva = x; } |
281 |
< |
void SetIsEB(Bool_t b) { fIsEB = b; } |
282 |
< |
void SetIsEE(Bool_t b) { fIsEE = b; } |
283 |
< |
void SetIsEBEEGap(Bool_t b) { fIsEBEEGap = b; } |
284 |
< |
void SetIsEBEtaGap(Bool_t b) { fIsEBEtaGap = b; } |
285 |
< |
void SetIsEBPhiGap(Bool_t b) { fIsEBPhiGap = b; } |
286 |
< |
void SetIsEEDeeGap(Bool_t b) { fIsEEDeeGap = b; } |
287 |
< |
void SetIsEERingGap(Bool_t b) { fIsEERingGap = b; } |
288 |
< |
void SetIsEcalDriven(Bool_t b) { fIsEcalDriven = b; } |
289 |
< |
void SetIsTrackerDriven(Bool_t b) { fIsTrackerDriven = b; } |
290 |
< |
|
279 |
> |
void SetTrackIsolationDr03(Double_t x) { fTrackIsolation = x; } |
280 |
> |
void SetPFChargedHadronIso(Double_t x) { fPFChargedHadronIso = x; } |
281 |
> |
void SetPFNeutralHadronIso(Double_t x) { fPFNeutralHadronIso = x; } |
282 |
> |
void SetPFPhotonIso(Double_t x) { fPFPhotonIso = x; } |
283 |
> |
void SetMva(Double_t x) { fMva = x; } |
284 |
> |
void SetIsEB(Bool_t b) { fIsEB = b; } |
285 |
> |
void SetIsEE(Bool_t b) { fIsEE = b; } |
286 |
> |
void SetIsEBEEGap(Bool_t b) { fIsEBEEGap = b; } |
287 |
> |
void SetIsEBEtaGap(Bool_t b) { fIsEBEtaGap = b; } |
288 |
> |
void SetIsEBPhiGap(Bool_t b) { fIsEBPhiGap = b; } |
289 |
> |
void SetIsEEDeeGap(Bool_t b) { fIsEEDeeGap = b; } |
290 |
> |
void SetIsEERingGap(Bool_t b) { fIsEERingGap = b; } |
291 |
> |
void SetIsEcalDriven(Bool_t b) { fIsEcalDriven = b; } |
292 |
> |
void SetIsTrackerDriven(Bool_t b) { fIsTrackerDriven = b; } |
293 |
> |
void SetMatchesVertexConversion(Bool_t b) { fMatchesVertexConversion = b; } |
294 |
> |
void SetConversionXYZ(Double_t x, Double_t y, Double_t z) |
295 |
> |
{ fConvPosition.SetXYZ(x,y,z); } |
296 |
> |
void SetCTFTrkNLayersWithMeasurement(Int_t x){ fCTFTrkNLayersWithMeasurement = x; } |
297 |
> |
void SetHadOverEmTow(Double_t x) { fHadOverEmTow = x; } |
298 |
> |
void SetHCalIsoTowDr03(Double_t x) { fHCalIsoTowDr03 = x; } |
299 |
> |
void SetHCalIsoTowDr04(Double_t x) { fHCalIsoTowDr04 = x; } |
300 |
> |
void SetEcalEnergy(Double_t e) { fEcalEnergy = e; } |
301 |
> |
void SetEcalEnergyError(Double_t e) { fEcalEnergyError = e; } |
302 |
> |
void SetTrackMomentumError(Double_t e) { fTrackMomentumError = e; } |
303 |
|
|
304 |
< |
const Track *TrackerTrk() const { return fTrackerTrackRef.Obj(); } |
305 |
< |
const Track *Trk() const { return BestTrk(); } |
304 |
> |
const Track *TrackerTrk() const { return fTrackerTrackRef.Obj(); } |
305 |
> |
const Track *Trk() const { return BestTrk(); } |
306 |
> |
const Track *ConvPartnerTrk() const { return fConvPartnerTrackRef.Obj(); } |
307 |
> |
|
308 |
> |
// Some structural tools |
309 |
> |
void Mark(UInt_t i=1) const; |
310 |
|
|
311 |
|
protected: |
312 |
|
Double_t GetCharge() const; |
313 |
< |
Double_t GetMass() const { return 0.51099892e-3; } |
313 |
> |
Double_t GetMass() const { return 0.51099892e-3; } |
314 |
|
void GetMom() const; |
315 |
|
|
316 |
|
Vect3C fMom; //stored three-momentum |
318 |
|
Char_t fScPixCharge; //charge from supercluster-pixel matching |
319 |
|
Ref<Track> fGsfTrackRef; //gsf track reference |
320 |
|
Ref<Track> fTrackerTrackRef; //tracker track reference |
321 |
+ |
Ref<Track> fConvPartnerTrackRef; //conversion partner track reference |
322 |
|
Ref<SuperCluster> fSuperClusterRef; //reference to SuperCluster |
323 |
|
Double32_t fESuperClusterOverP; //[0,0,14]super cluster e over p ratio |
324 |
|
Double32_t fESeedClusterOverPout; //[0,0,14]seed cluster e over p mom |
354 |
|
Double32_t fPOut; //[0,0,14]momentum at ecal surface |
355 |
|
Double32_t fFracSharedHits; //[0,0,14]fraction of shared hits btw gsf and std. track |
356 |
|
Double32_t fMva; //[0,0,14] pflow mva output |
357 |
+ |
Double32_t fD0PV; //[0,0,14]transverse impact parameter to signal PV (gsf track) |
358 |
+ |
Double32_t fD0PVErr; //[0,0,14]transverse impact parameter uncertainty to signal PV (gsf track) |
359 |
+ |
Double32_t fIp3dPV; //[0,0,14]3d impact parameter to signal PV (gsf track) |
360 |
+ |
Double32_t fIp3dPVErr; //[0,0,14]3d impact parameter uncertainty to signal PV (gsf track) |
361 |
+ |
Double32_t fD0PVBS; //[0,0,14]transverse impact parameter to signal PV w/ bs constraint (gsf track) |
362 |
+ |
Double32_t fD0PVBSErr; //[0,0,14]transverse impact parameter uncertainty to signal PV w/ bs constraint (gsf track) |
363 |
+ |
Double32_t fIp3dPVBS; //[0,0,14]3d impact parameter to signal PV w/ bs constraint (gsf track) |
364 |
+ |
Double32_t fIp3dPVBSErr; //[0,0,14]3d impact parameter uncertainty to signal PV w/ bs constraint (gsf track) |
365 |
+ |
Double32_t fD0PVCkf; //[0,0,14]transverse impact parameter to signal PV (ckf track) |
366 |
+ |
Double32_t fD0PVCkfErr; //[0,0,14]transverse impact parameter uncertainty to signal PV (ckf track) |
367 |
+ |
Double32_t fIp3dPVCkf; //[0,0,14]3d impact parameter to signal PV (ckf track) |
368 |
+ |
Double32_t fIp3dPVCkfErr; //[0,0,14]3d impact parameter uncertainty to signal PV (ckf track) |
369 |
+ |
Double32_t fD0PVBSCkf; //[0,0,14]transverse impact parameter to signal PV w/ bs constraint (ckf track) |
370 |
+ |
Double32_t fD0PVBSCkfErr; //[0,0,14]transverse impact parameter uncertainty to signal PV w/ bs constraint (ckf track) |
371 |
+ |
Double32_t fIp3dPVBSCkf; //[0,0,14]3d impact parameter to signal PV w/ bs constraint (ckf track) |
372 |
+ |
Double32_t fIp3dPVBSCkfErr; //[0,0,14]3d impact parameter uncertainty to signal PV w/ bs constraint (ckf track) |
373 |
+ |
Double32_t fD0PVUB; //[0,0,14]transverse impact parameter to signal PVUB (gsf track) |
374 |
+ |
Double32_t fD0PVUBErr; //[0,0,14]transverse impact parameter uncertainty to signal PVUB (gsf track) |
375 |
+ |
Double32_t fIp3dPVUB; //[0,0,14]3d impact parameter to signal PVUB (gsf track) |
376 |
+ |
Double32_t fIp3dPVUBErr; //[0,0,14]3d impact parameter uncertainty to signal PVUB (gsf track) |
377 |
+ |
Double32_t fD0PVUBBS; //[0,0,14]transverse impact parameter to signal PVUB w/ bs constraint (gsf track) |
378 |
+ |
Double32_t fD0PVUBBSErr; //[0,0,14]transverse impact parameter uncertainty to signal PVUB w/ bs constraint (gsf track) |
379 |
+ |
Double32_t fIp3dPVUBBS; //[0,0,14]3d impact parameter to signal PVUB w/ bs constraint (gsf track) |
380 |
+ |
Double32_t fIp3dPVUBBSErr; //[0,0,14]3d impact parameter uncertainty to signal PVUB w/ bs constraint (gsf track) |
381 |
+ |
Double32_t fD0PVUBCkf; //[0,0,14]transverse impact parameter to signal PVUB (ckf track) |
382 |
+ |
Double32_t fD0PVUBCkfErr; //[0,0,14]transverse impact parameter uncertainty to signal PVUB (ckf track) |
383 |
+ |
Double32_t fIp3dPVUBCkf; //[0,0,14]3d impact parameter to signal PVUB (ckf track) |
384 |
+ |
Double32_t fIp3dPVUBCkfErr; //[0,0,14]3d impact parameter uncertainty to signal PVUB (ckf track) |
385 |
+ |
Double32_t fD0PVUBBSCkf; //[0,0,14]transverse impact parameter to signal PVUB w/ bs constraint (ckf track) |
386 |
+ |
Double32_t fD0PVUBBSCkfErr; //[0,0,14]transverse impact parameter uncertainty to signal PVUB w/ bs constraint (ckf track) |
387 |
+ |
Double32_t fIp3dPVUBBSCkf; //[0,0,14]3d impact parameter to signal PVUB w/ bs constraint (ckf track) |
388 |
+ |
Double32_t fIp3dPVUBBSCkfErr; //[0,0,14]3d impact parameter uncertainty to signal PVUB w/ bs constraint (ckf track) |
389 |
+ |
Double32_t fGsfPVCompatibility; //[0,0,14]gsf compatibility with signal PV |
390 |
+ |
Double32_t fGsfPVBSCompatibility; //[0,0,14]gsf compatibility with signal PV w/ bs constraint |
391 |
+ |
Double32_t fGsfPVCompatibilityMatched; //[0,0,14]gsf compatibility with signal PV (matching ckf track excluded from vertex) |
392 |
+ |
Double32_t fGsfPVBSCompatibilityMatched; //[0,0,14]gsf compatibility with signal PV w/ bs constraint (matching ckf track excluded from vertex) |
393 |
+ |
Double32_t fConvPartnerDCotTheta; //[0,0,14]delta cot theta to nearest conversion partner track |
394 |
+ |
Double32_t fConvPartnerDist; //[0,0,14]distance in x-y plane to nearest conversion partner track |
395 |
+ |
Double32_t fConvPartnerRadius; //[0,0,14]radius of helix intersection with conversion partner track |
396 |
+ |
Double32_t fPFChargedHadronIso; //[0,0,14]pf isolation, charged hadrons |
397 |
+ |
Double32_t fPFNeutralHadronIso; //[0,0,14]pf isolation, neutral hadrons |
398 |
+ |
Double32_t fPFPhotonIso; //[0,0,14]pf isolation, photons |
399 |
+ |
Int_t fConvFlag; //conversion flag indicating which track combination was used |
400 |
+ |
Vect3C fConvPosition; |
401 |
|
Bool_t fIsEnergyScaleCorrected; //class dependent escale correction |
402 |
|
Bool_t fIsMomentumCorrected; //class dependent E-p combination |
403 |
|
Int_t fClassification; //classification (see GsfElectron.h) |
410 |
|
Bool_t fIsEERingGap; //is in EE ring gap |
411 |
|
Bool_t fIsEcalDriven; //is std. egamma electron |
412 |
|
Bool_t fIsTrackerDriven; //is pflow track-seeded electron |
413 |
+ |
Bool_t fMatchesVertexConversion; |
414 |
+ |
RefArray<Track> fAmbiguousGsfTracks; //ambiguous gsf tracks for this electron |
415 |
+ |
Double_t fEEleClusterOverPout; //energy of the electron cluster |
416 |
+ |
Int_t fCTFTrkNLayersWithMeasurement; //number of tracker layers from associated ctf trk |
417 |
+ |
Double32_t fHadOverEmTow; //[0,0,14]per-tower definition of hadronic/em energy fraction |
418 |
+ |
Double32_t fHCalIsoTowDr03; //[0,0,14]hcal isolation matched to per tower h/e definition |
419 |
+ |
Double32_t fHCalIsoTowDr04; //[0,0,14]hcal isolation matched to per tower h/e definition |
420 |
+ |
Double32_t fEcalEnergy; //[0,0,14]corrected Ecal energy |
421 |
+ |
Double32_t fEcalEnergyError; //[0,0,14]corrected Ecal energy error |
422 |
+ |
Double32_t fTrackMomentumError; //track momentum error |
423 |
+ |
Ref<SuperCluster> fPFSuperClusterRef; //reference to Particle Flow SuperCluster |
424 |
|
|
425 |
< |
ClassDef(Electron, 3) // Electron class |
425 |
> |
ClassDef(Electron, 15) // Electron class |
426 |
|
}; |
427 |
|
} |
428 |
|
|
429 |
|
//-------------------------------------------------------------------------------------------------- |
430 |
+ |
inline void mithep::Electron::Mark(UInt_t ib) const |
431 |
+ |
{ |
432 |
+ |
// mark myself |
433 |
+ |
mithep::DataObject::Mark(ib); |
434 |
+ |
// mark my dependencies if they are there |
435 |
+ |
if (fSuperClusterRef.IsValid()) |
436 |
+ |
fSuperClusterRef.Obj()->Mark(ib); |
437 |
+ |
if (fGsfTrackRef.IsValid()) |
438 |
+ |
fGsfTrackRef.Obj()->Mark(ib); |
439 |
+ |
if (fTrackerTrackRef.IsValid()) |
440 |
+ |
fTrackerTrackRef.Obj()->Mark(ib); |
441 |
+ |
if (fConvPartnerTrackRef.IsValid()) |
442 |
+ |
fConvPartnerTrackRef.Obj()->Mark(ib); |
443 |
+ |
fAmbiguousGsfTracks.Mark(ib); |
444 |
+ |
} |
445 |
+ |
|
446 |
+ |
//-------------------------------------------------------------------------------------------------- |
447 |
|
inline const mithep::Track *mithep::Electron::BestTrk() const |
448 |
|
{ |
449 |
|
// Return "best" track. |