1 |
bendavid |
1.1 |
//--------------------------------------------------------------------------------------------------
|
2 |
paus |
1.56 |
// $Id: Electron.h,v 1.55 2012/05/12 15:55:10 paus Exp $
|
3 |
bendavid |
1.1 |
//
|
4 |
paus |
1.3 |
// Electron
|
5 |
bendavid |
1.1 |
//
|
6 |
loizides |
1.29 |
// This class holds information about reconstructed electrons from CMSSW.
|
7 |
bendavid |
1.1 |
//
|
8 |
paus |
1.55 |
// Authors: C.Paus, G.Ceballos, C.Loizides, J.Bendavid, S.Xie
|
9 |
bendavid |
1.1 |
//--------------------------------------------------------------------------------------------------
|
10 |
|
|
|
11 |
loizides |
1.23 |
#ifndef MITANA_DATATREE_ELECTRON_H
|
12 |
|
|
#define MITANA_DATATREE_ELECTRON_H
|
13 |
loizides |
1.6 |
|
14 |
sixie |
1.13 |
#include "MitAna/DataTree/interface/SuperCluster.h"
|
15 |
bendavid |
1.11 |
#include "MitAna/DataTree/interface/ChargedParticle.h"
|
16 |
bendavid |
1.24 |
#include "MitAna/DataCont/interface/Ref.h"
|
17 |
loizides |
1.6 |
|
18 |
bendavid |
1.1 |
namespace mithep
|
19 |
|
|
{
|
20 |
bendavid |
1.11 |
class Electron : public ChargedParticle
|
21 |
bendavid |
1.1 |
{
|
22 |
|
|
public:
|
23 |
loizides |
1.34 |
Electron() :
|
24 |
bendavid |
1.38 |
fCharge(-99), fScPixCharge(0),
|
25 |
loizides |
1.34 |
fESuperClusterOverP(0), fESeedClusterOverPout(0), fDeltaEtaSuperClTrkAtVtx(0),
|
26 |
|
|
fDeltaEtaSeedClTrkAtCalo(0), fDeltaPhiSuperClTrkAtVtx(0),
|
27 |
|
|
fDeltaPhiSeedClTrkAtCalo(0), fFBrem(0), fHadronicOverEm(0), fHcalDepth1OverEcal(0),
|
28 |
bendavid |
1.35 |
fHcalDepth2OverEcal(0), fNumberOfClusters(0), fE15(0), fE25Max(0),
|
29 |
|
|
fE55(0), fCovEtaEta(0), fCoviEtaiEta(0),
|
30 |
loizides |
1.34 |
fCaloIsolation(0), fHcalJurassicIsolation(0),
|
31 |
|
|
fHcalDepth1TowerSumEtDr04(0), fHcalDepth2TowerSumEtDr04(0),
|
32 |
|
|
fEcalJurassicIsolation(0), fTrackIsolationDr04(0), fCaloTowerIsolation(0),
|
33 |
|
|
fHcalDepth1TowerSumEtDr03(0), fHcalDepth2TowerSumEtDr03(0),
|
34 |
|
|
fEcalRecHitSumEtDr03(0), fTrackIsolation(0), fPassLooseID(0),
|
35 |
|
|
fPassTightID(0), fIDLikelihood(0), fPIn(0), fPOut(0), fFracSharedHits(0),
|
36 |
bendavid |
1.40 |
fMva(0), fD0PV(0), fD0PVErr(0), fIp3dPV(0), fIp3dPVErr(0),
|
37 |
|
|
fD0PVBS(0), fD0PVBSErr(0), fIp3dPVBS(0), fIp3dPVBSErr(0),
|
38 |
bendavid |
1.44 |
fD0PVCkf(0), fD0PVCkfErr(0), fIp3dPVCkf(0), fIp3dPVCkfErr(0),
|
39 |
|
|
fD0PVBSCkf(0), fD0PVBSCkfErr(0), fIp3dPVBSCkf(0), fIp3dPVBSCkfErr(0),
|
40 |
bendavid |
1.47 |
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 |
bendavid |
1.41 |
fGsfPVCompatibility(0), fGsfPVBSCompatibility(0),
|
45 |
|
|
fGsfPVCompatibilityMatched(0), fGsfPVBSCompatibilityMatched(0),
|
46 |
bendavid |
1.40 |
fConvPartnerDCotTheta(0), fConvPartnerDist(0), fConvPartnerRadius(0),
|
47 |
bendavid |
1.46 |
fPFChargedHadronIso(0), fPFNeutralHadronIso(0), fPFPhotonIso(0),
|
48 |
bendavid |
1.45 |
fConvFlag(0), fIsEnergyScaleCorrected(0), fIsMomentumCorrected(0),
|
49 |
loizides |
1.34 |
fClassification(0), fIsEB(), fIsEE(0), fIsEBEEGap(0), fIsEBEtaGap(0),
|
50 |
|
|
fIsEBPhiGap(0), fIsEEDeeGap(0), fIsEERingGap(0),
|
51 |
bendavid |
1.52 |
fIsEcalDriven(0), fIsTrackerDriven(0), fMatchesVertexConversion(0),
|
52 |
paus |
1.55 |
fHadOverEmTow(0), fHCalIsoTowDr03(0), fHCalIsoTowDr04(0),
|
53 |
|
|
fEcalEnergy(0), fEcalEnergyError(0) {}
|
54 |
loizides |
1.29 |
|
55 |
paus |
1.48 |
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 |
bendavid |
1.47 |
Double_t Ip3dPVUBBSCkfSignificance() const { return fIp3dPVUBBSCkf/fIp3dPVUBBSCkfErr; }
|
104 |
paus |
1.48 |
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 |
sixie |
1.51 |
Double_t EEleClusterOverPout() const { return fEEleClusterOverPout; }
|
126 |
paus |
1.48 |
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 |
paus |
1.53 |
const SuperCluster *PFSCluster() const { return fPFSuperClusterRef.Obj(); }
|
159 |
paus |
1.48 |
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 |
bendavid |
1.43 |
Bool_t HasAmbiguousGsfTrack(const Track *t) const { return fAmbiguousGsfTracks.HasObject(t); }
|
178 |
paus |
1.48 |
const Track *AmbiguousGsfTrack(UInt_t i) const { return fAmbiguousGsfTracks.At(i); }
|
179 |
sixie |
1.51 |
Int_t CTFTrkNLayersWithMeasurement() const { return fCTFTrkNLayersWithMeasurement; }
|
180 |
paus |
1.55 |
<<<<<<< Electron.h
|
181 |
|
|
Double_t HadOverEmTow() const { return fHadOverEmTow; }
|
182 |
|
|
Double_t HcalIsoTowDr03() const { return fHCalIsoTowDr03; }
|
183 |
|
|
Double_t HcalIsoTowDr04() const { return fHCalIsoTowDr04; }
|
184 |
|
|
Double_t EcalEnergy() const { return fEcalEnergy; }
|
185 |
|
|
Double_t EcalEnergyError() const { return fEcalEnergyError; }
|
186 |
|
|
=======
|
187 |
bendavid |
1.52 |
Double_t HadOverEmTow() const { return fHadOverEmTow; }
|
188 |
|
|
Double_t HcalIsoTowDr03() const { return fHCalIsoTowDr03; }
|
189 |
|
|
Double_t HcalIsoTowDr04() const { return fHCalIsoTowDr04; }
|
190 |
ceballos |
1.54 |
Double_t CorrectedEcalEnergy() const { return fCorrectedEcalEnergy; }
|
191 |
|
|
Double_t CorrectedEcalEnergyError() const { return fCorrectedEcalEnergyError; }
|
192 |
paus |
1.55 |
>>>>>>> 1.54
|
193 |
sixie |
1.51 |
|
194 |
paus |
1.48 |
void AddAmbiguousGsfTrack(const Track *t) { fAmbiguousGsfTracks.Add(t); }
|
195 |
|
|
void SetCharge(Char_t x) { fCharge = x; ClearCharge(); }
|
196 |
|
|
void SetScPixCharge(Char_t x) { fScPixCharge = x; }
|
197 |
|
|
void SetD0PV(Double_t x) { fD0PV = x; }
|
198 |
|
|
void SetD0PVErr(Double_t x) { fD0PVErr = x; }
|
199 |
|
|
void SetIp3dPV(Double_t x) { fIp3dPV = x; }
|
200 |
|
|
void SetIp3dPVErr(Double_t x) { fIp3dPVErr = x; }
|
201 |
|
|
void SetD0PVBS(Double_t x) { fD0PVBS = x; }
|
202 |
|
|
void SetD0PVBSErr(Double_t x) { fD0PVBSErr = x; }
|
203 |
|
|
void SetIp3dPVBS(Double_t x) { fIp3dPVBS = x; }
|
204 |
|
|
void SetIp3dPVBSErr(Double_t x) { fIp3dPVBSErr = x; }
|
205 |
|
|
void SetD0PVCkf(Double_t x) { fD0PVCkf = x; }
|
206 |
|
|
void SetD0PVCkfErr(Double_t x) { fD0PVCkfErr = x; }
|
207 |
|
|
void SetIp3dPVCkf(Double_t x) { fIp3dPVCkf = x; }
|
208 |
|
|
void SetIp3dPVCkfErr(Double_t x) { fIp3dPVCkfErr = x; }
|
209 |
|
|
void SetD0PVBSCkf(Double_t x) { fD0PVBSCkf = x; }
|
210 |
|
|
void SetD0PVBSCkfErr(Double_t x) { fD0PVBSCkfErr = x; }
|
211 |
|
|
void SetIp3dPVBSCkf(Double_t x) { fIp3dPVBSCkf = x; }
|
212 |
|
|
void SetIp3dPVBSCkfErr(Double_t x) { fIp3dPVBSCkfErr = x; }
|
213 |
|
|
void SetD0PVUB(Double_t x) { fD0PVUB = x; }
|
214 |
|
|
void SetD0PVUBErr(Double_t x) { fD0PVUBErr = x; }
|
215 |
|
|
void SetIp3dPVUB(Double_t x) { fIp3dPVUB = x; }
|
216 |
|
|
void SetIp3dPVUBErr(Double_t x) { fIp3dPVUBErr = x; }
|
217 |
|
|
void SetD0PVUBBS(Double_t x) { fD0PVUBBS = x; }
|
218 |
|
|
void SetD0PVUBBSErr(Double_t x) { fD0PVUBBSErr = x; }
|
219 |
|
|
void SetIp3dPVUBBS(Double_t x) { fIp3dPVUBBS = x; }
|
220 |
|
|
void SetIp3dPVUBBSErr(Double_t x) { fIp3dPVUBBSErr = x; }
|
221 |
|
|
void SetD0PVUBCkf(Double_t x) { fD0PVUBCkf = x; }
|
222 |
|
|
void SetD0PVUBCkfErr(Double_t x) { fD0PVUBCkfErr = x; }
|
223 |
|
|
void SetIp3dPVUBCkf(Double_t x) { fIp3dPVUBCkf = x; }
|
224 |
|
|
void SetIp3dPVUBCkfErr(Double_t x) { fIp3dPVUBCkfErr = x; }
|
225 |
|
|
void SetD0PVUBBSCkf(Double_t x) { fD0PVUBBSCkf = x; }
|
226 |
|
|
void SetD0PVUBBSCkfErr(Double_t x) { fD0PVUBBSCkfErr = x; }
|
227 |
|
|
void SetIp3dPVUBBSCkf(Double_t x) { fIp3dPVUBBSCkf = x; }
|
228 |
|
|
void SetIp3dPVUBBSCkfErr(Double_t x) { fIp3dPVUBBSCkfErr = x; }
|
229 |
|
|
void SetGsfPVCompatibility(Double_t x) { fGsfPVCompatibility = x; }
|
230 |
|
|
void SetGsfPVBSCompatibility(Double_t x) { fGsfPVBSCompatibility = x; }
|
231 |
|
|
void SetGsfPVCompatibilityMatched(Double_t x) { fGsfPVCompatibilityMatched = x; }
|
232 |
bendavid |
1.41 |
void SetGsfPVBSCompatibilityMatched(Double_t x) { fGsfPVBSCompatibilityMatched = x; }
|
233 |
paus |
1.48 |
void SetConvPartnerDCotTheta(Double_t x) { fConvPartnerDCotTheta = x; }
|
234 |
|
|
void SetConvPartnerDist(Double_t x) { fConvPartnerDist = x; }
|
235 |
|
|
void SetConvPartnerRadius(Double_t x) { fConvPartnerRadius = x; }
|
236 |
|
|
void SetConvFlag(Int_t n) { fConvFlag = n; }
|
237 |
|
|
void SetClassification(Int_t x) { fClassification = x; }
|
238 |
|
|
void SetCovEtaEta(Double_t x) { fCovEtaEta = x; }
|
239 |
|
|
void SetCoviEtaiEta(Double_t x) { fCoviEtaiEta = x; }
|
240 |
loizides |
1.27 |
void SetDeltaEtaSuperClusterTrackAtVtx(Double_t x)
|
241 |
paus |
1.48 |
{ fDeltaEtaSuperClTrkAtVtx = x; }
|
242 |
loizides |
1.27 |
void SetDeltaEtaSeedClusterTrackAtCalo(Double_t x)
|
243 |
paus |
1.48 |
{ fDeltaEtaSeedClTrkAtCalo = x; }
|
244 |
loizides |
1.27 |
void SetDeltaPhiSuperClusterTrackAtVtx(Double_t x)
|
245 |
paus |
1.48 |
{ fDeltaPhiSuperClTrkAtVtx = x; }
|
246 |
loizides |
1.27 |
void SetDeltaPhiSeedClusterTrackAtCalo(Double_t x)
|
247 |
paus |
1.48 |
{ fDeltaPhiSeedClTrkAtCalo = x; }
|
248 |
|
|
void SetE15(Double_t x) { fE15 = x; }
|
249 |
|
|
void SetE25Max(Double_t x) { fE25Max = x; }
|
250 |
|
|
void SetE55(Double_t x) { fE55 = x; }
|
251 |
|
|
void SetESeedClusterOverPout(Double_t x) { fESeedClusterOverPout = x; }
|
252 |
sixie |
1.51 |
void SetEEleClusterOverPout(Double_t x) { fEEleClusterOverPout = x; }
|
253 |
paus |
1.48 |
void SetESuperClusterOverP(Double_t x) { fESuperClusterOverP = x; }
|
254 |
|
|
void SetFBrem(Double_t x) { fFBrem = x; }
|
255 |
|
|
void SetFracSharedHits(Double_t x) { fFracSharedHits = x; }
|
256 |
loizides |
1.29 |
void SetGsfTrk(const Track* t)
|
257 |
bendavid |
1.31 |
{ fGsfTrackRef = t; ClearCharge(); }
|
258 |
paus |
1.48 |
void SetHadronicOverEm(Double_t x) { fHadronicOverEm = x; }
|
259 |
|
|
void SetHcalDepth1OverEcal(Double_t x) { fHcalDepth1OverEcal = x; }
|
260 |
|
|
void SetHcalDepth2OverEcal(Double_t x) { fHcalDepth2OverEcal = x; }
|
261 |
|
|
void SetIDLikelihood(Double_t x) { fIDLikelihood = x; }
|
262 |
|
|
void SetIsEnergyScaleCorrected(Bool_t x) { fIsEnergyScaleCorrected = x; }
|
263 |
|
|
void SetIsMomentumCorrected(Bool_t x) { fIsMomentumCorrected = x; }
|
264 |
|
|
void SetNumberOfClusters(Double_t x) { fNumberOfClusters = x; }
|
265 |
|
|
void SetPIn(Double_t pIn) { fPIn = pIn; }
|
266 |
|
|
void SetPOut(Double_t pOut) { fPOut = pOut; }
|
267 |
|
|
void SetPassLooseID(Double_t passLooseID) { fPassLooseID = passLooseID; }
|
268 |
|
|
void SetPassTightID(Double_t passTightID) { fPassTightID = passTightID; }
|
269 |
bendavid |
1.31 |
void SetPtEtaPhi(Double_t pt, Double_t eta, Double_t phi);
|
270 |
|
|
void SetSuperCluster(const SuperCluster* sc)
|
271 |
|
|
{ fSuperClusterRef = sc; }
|
272 |
paus |
1.53 |
void SetPFSuperCluster(const SuperCluster* sc)
|
273 |
|
|
{ fPFSuperClusterRef = sc; }
|
274 |
loizides |
1.29 |
void SetTrackerTrk(const Track* t)
|
275 |
bendavid |
1.31 |
{ fTrackerTrackRef = t; ClearCharge(); }
|
276 |
bendavid |
1.42 |
void SetConvPartnerTrk(const Track *t)
|
277 |
|
|
{ fConvPartnerTrackRef = t; }
|
278 |
paus |
1.48 |
void SetEcalRecHitIsoDr04(Double_t x) { fEcalJurassicIsolation = x; }
|
279 |
bendavid |
1.33 |
void SetHcalDepth1TowerSumEtDr04(Double_t x) { fHcalDepth1TowerSumEtDr04 = x; }
|
280 |
|
|
void SetHcalDepth2TowerSumEtDr04(Double_t x) { fHcalDepth2TowerSumEtDr04 = x; }
|
281 |
paus |
1.48 |
void SetTrackIsolationDr04(Double_t x) { fTrackIsolationDr04 = x; }
|
282 |
|
|
void SetEcalRecHitIsoDr03(Double_t x) { fEcalRecHitSumEtDr03 = x; }
|
283 |
|
|
void SetHcalTowerSumEtDr03(Double_t x) { fCaloTowerIsolation = x; }
|
284 |
bendavid |
1.33 |
void SetHcalDepth1TowerSumEtDr03(Double_t x) { fHcalDepth1TowerSumEtDr03 = x; }
|
285 |
|
|
void SetHcalDepth2TowerSumEtDr03(Double_t x) { fHcalDepth2TowerSumEtDr03 = x; }
|
286 |
paus |
1.48 |
void SetTrackIsolationDr03(Double_t x) { fTrackIsolation = x; }
|
287 |
|
|
void SetPFChargedHadronIso(Double_t x) { fPFChargedHadronIso = x; }
|
288 |
|
|
void SetPFNeutralHadronIso(Double_t x) { fPFNeutralHadronIso = x; }
|
289 |
|
|
void SetPFPhotonIso(Double_t x) { fPFPhotonIso = x; }
|
290 |
|
|
void SetMva(Double_t x) { fMva = x; }
|
291 |
|
|
void SetIsEB(Bool_t b) { fIsEB = b; }
|
292 |
|
|
void SetIsEE(Bool_t b) { fIsEE = b; }
|
293 |
|
|
void SetIsEBEEGap(Bool_t b) { fIsEBEEGap = b; }
|
294 |
|
|
void SetIsEBEtaGap(Bool_t b) { fIsEBEtaGap = b; }
|
295 |
|
|
void SetIsEBPhiGap(Bool_t b) { fIsEBPhiGap = b; }
|
296 |
|
|
void SetIsEEDeeGap(Bool_t b) { fIsEEDeeGap = b; }
|
297 |
|
|
void SetIsEERingGap(Bool_t b) { fIsEERingGap = b; }
|
298 |
|
|
void SetIsEcalDriven(Bool_t b) { fIsEcalDriven = b; }
|
299 |
|
|
void SetIsTrackerDriven(Bool_t b) { fIsTrackerDriven = b; }
|
300 |
bendavid |
1.42 |
void SetMatchesVertexConversion(Bool_t b) { fMatchesVertexConversion = b; }
|
301 |
|
|
void SetConversionXYZ(Double_t x, Double_t y, Double_t z)
|
302 |
|
|
{ fConvPosition.SetXYZ(x,y,z); }
|
303 |
sixie |
1.51 |
void SetCTFTrkNLayersWithMeasurement(Int_t x){ fCTFTrkNLayersWithMeasurement = x; }
|
304 |
paus |
1.55 |
void SetHadOverEmTow(Double_t x) { fHadOverEmTow = x; }
|
305 |
|
|
void SetHCalIsoTowDr03(Double_t x) { fHCalIsoTowDr03 = x; }
|
306 |
|
|
void SetHCalIsoTowDr04(Double_t x) { fHCalIsoTowDr04 = x; }
|
307 |
|
|
void SetEcalEnergy(Double_t e) { fEcalEnergy = e; }
|
308 |
|
|
void SetEcalEnergyError(Double_t e) { fEcalEnergyError = e; }
|
309 |
bendavid |
1.33 |
|
310 |
paus |
1.48 |
const Track *TrackerTrk() const { return fTrackerTrackRef.Obj(); }
|
311 |
|
|
const Track *Trk() const { return BestTrk(); }
|
312 |
bendavid |
1.42 |
const Track *ConvPartnerTrk() const { return fConvPartnerTrackRef.Obj(); }
|
313 |
sixie |
1.13 |
|
314 |
paus |
1.49 |
// Some structural tools
|
315 |
paus |
1.50 |
void Mark(UInt_t i=1) const;
|
316 |
paus |
1.49 |
|
317 |
loizides |
1.8 |
protected:
|
318 |
bendavid |
1.37 |
Double_t GetCharge() const;
|
319 |
paus |
1.48 |
Double_t GetMass() const { return 0.51099892e-3; }
|
320 |
loizides |
1.27 |
void GetMom() const;
|
321 |
loizides |
1.25 |
|
322 |
bendavid |
1.31 |
Vect3C fMom; //stored three-momentum
|
323 |
bendavid |
1.37 |
Char_t fCharge; //stored charge - filled with -99 when reading old files
|
324 |
bendavid |
1.38 |
Char_t fScPixCharge; //charge from supercluster-pixel matching
|
325 |
loizides |
1.27 |
Ref<Track> fGsfTrackRef; //gsf track reference
|
326 |
|
|
Ref<Track> fTrackerTrackRef; //tracker track reference
|
327 |
bendavid |
1.42 |
Ref<Track> fConvPartnerTrackRef; //conversion partner track reference
|
328 |
loizides |
1.27 |
Ref<SuperCluster> fSuperClusterRef; //reference to SuperCluster
|
329 |
loizides |
1.29 |
Double32_t fESuperClusterOverP; //[0,0,14]super cluster e over p ratio
|
330 |
|
|
Double32_t fESeedClusterOverPout; //[0,0,14]seed cluster e over p mom
|
331 |
|
|
Double32_t fDeltaEtaSuperClTrkAtVtx; //[0,0,14]delta eta of super cluster with trk
|
332 |
|
|
Double32_t fDeltaEtaSeedClTrkAtCalo; //[0,0,14]delta eta of seeed cluster with trk
|
333 |
|
|
Double32_t fDeltaPhiSuperClTrkAtVtx; //[0,0,14]delta phi of super cluster with trk
|
334 |
|
|
Double32_t fDeltaPhiSeedClTrkAtCalo; //[0,0,14]delta phi of seeed cluster with trk
|
335 |
bendavid |
1.33 |
Double32_t fFBrem; //[0,0,14]brem fraction
|
336 |
|
|
Double32_t fHadronicOverEm; //[0,0,14]hadronic over em fraction *DEPRECATED*
|
337 |
|
|
Double32_t fHcalDepth1OverEcal; //[0,0,14]hadronic over em fraction depth1
|
338 |
|
|
Double32_t fHcalDepth2OverEcal; //[0,0,14]hadronic over em fraction depth2
|
339 |
loizides |
1.29 |
Double32_t fNumberOfClusters; //[0,0,14]number of associated clusters
|
340 |
bendavid |
1.33 |
Double32_t fE15; //[0,0,14]1x5 crystal energy
|
341 |
|
|
Double32_t fE25Max; //[0,0,14]2x5 crystal energy (max of two possible sums)
|
342 |
loizides |
1.29 |
Double32_t fE55; //[0,0,14]5x5 crystal energy
|
343 |
|
|
Double32_t fCovEtaEta; //[0,0,14]variance eta-eta
|
344 |
|
|
Double32_t fCoviEtaiEta; //[0,0,14]covariance eta-eta (in crystals)
|
345 |
bendavid |
1.33 |
Double32_t fCaloIsolation; //[0,0,14](non-jura) ecal isolation based on rechits dR 0.3 *DEPRECATED*
|
346 |
|
|
Double32_t fHcalJurassicIsolation; //[0,0,14]hcal jura iso dR 0.4 *DEPRECATED*
|
347 |
|
|
Double32_t fHcalDepth1TowerSumEtDr04; //[0,0,14]hcal depth1 tower based isolation dR 0.4
|
348 |
|
|
Double32_t fHcalDepth2TowerSumEtDr04; //[0,0,14]hcal depth2 tower based isolation dR 0.4
|
349 |
|
|
Double32_t fEcalJurassicIsolation; //[0,0,14]ecal jura iso dR 0.4 *RENAMING*
|
350 |
|
|
Double32_t fTrackIsolationDr04; //[0,0,14]isolation based on tracks dR 0.4
|
351 |
|
|
Double32_t fCaloTowerIsolation; //[0,0,14]hcal tower based isolation dR 0.3 *DEPRECATED*
|
352 |
|
|
Double32_t fHcalDepth1TowerSumEtDr03; //[0,0,14]hcal depth1 tower based isolation dR 0.3
|
353 |
|
|
Double32_t fHcalDepth2TowerSumEtDr03; //[0,0,14]hcal depth2 tower based isolation dR 0.3
|
354 |
|
|
Double32_t fEcalRecHitSumEtDr03; //[0,0,14]ecal jura iso dR 0.3
|
355 |
|
|
Double32_t fTrackIsolation; //[0,0,14]isolation based on tracks dR 0.3 *RENAMING*
|
356 |
loizides |
1.29 |
Double32_t fPassLooseID; //[0,0,14]pass loose id
|
357 |
|
|
Double32_t fPassTightID; //[0,0,14]pass tight id
|
358 |
|
|
Double32_t fIDLikelihood; //[0,0,14]likelihood value
|
359 |
|
|
Double32_t fPIn; //[0,0,14]momentum at vtx
|
360 |
|
|
Double32_t fPOut; //[0,0,14]momentum at ecal surface
|
361 |
bendavid |
1.33 |
Double32_t fFracSharedHits; //[0,0,14]fraction of shared hits btw gsf and std. track
|
362 |
|
|
Double32_t fMva; //[0,0,14] pflow mva output
|
363 |
bendavid |
1.44 |
Double32_t fD0PV; //[0,0,14]transverse impact parameter to signal PV (gsf track)
|
364 |
|
|
Double32_t fD0PVErr; //[0,0,14]transverse impact parameter uncertainty to signal PV (gsf track)
|
365 |
|
|
Double32_t fIp3dPV; //[0,0,14]3d impact parameter to signal PV (gsf track)
|
366 |
|
|
Double32_t fIp3dPVErr; //[0,0,14]3d impact parameter uncertainty to signal PV (gsf track)
|
367 |
|
|
Double32_t fD0PVBS; //[0,0,14]transverse impact parameter to signal PV w/ bs constraint (gsf track)
|
368 |
|
|
Double32_t fD0PVBSErr; //[0,0,14]transverse impact parameter uncertainty to signal PV w/ bs constraint (gsf track)
|
369 |
|
|
Double32_t fIp3dPVBS; //[0,0,14]3d impact parameter to signal PV w/ bs constraint (gsf track)
|
370 |
|
|
Double32_t fIp3dPVBSErr; //[0,0,14]3d impact parameter uncertainty to signal PV w/ bs constraint (gsf track)
|
371 |
paus |
1.55 |
Double32_t fD0PVCkf; //[0,0,14]transverse impact parameter to signal PV (ckf track)
|
372 |
|
|
Double32_t fD0PVCkfErr; //[0,0,14]transverse impact parameter uncertainty to signal PV (ckf track)
|
373 |
|
|
Double32_t fIp3dPVCkf; //[0,0,14]3d impact parameter to signal PV (ckf track)
|
374 |
|
|
Double32_t fIp3dPVCkfErr; //[0,0,14]3d impact parameter uncertainty to signal PV (ckf track)
|
375 |
|
|
Double32_t fD0PVBSCkf; //[0,0,14]transverse impact parameter to signal PV w/ bs constraint (ckf track)
|
376 |
|
|
Double32_t fD0PVBSCkfErr; //[0,0,14]transverse impact parameter uncertainty to signal PV w/ bs constraint (ckf track)
|
377 |
|
|
Double32_t fIp3dPVBSCkf; //[0,0,14]3d impact parameter to signal PV w/ bs constraint (ckf track)
|
378 |
|
|
Double32_t fIp3dPVBSCkfErr; //[0,0,14]3d impact parameter uncertainty to signal PV w/ bs constraint (ckf track)
|
379 |
|
|
Double32_t fD0PVUB; //[0,0,14]transverse impact parameter to signal PVUB (gsf track)
|
380 |
|
|
Double32_t fD0PVUBErr; //[0,0,14]transverse impact parameter uncertainty to signal PVUB (gsf track)
|
381 |
|
|
Double32_t fIp3dPVUB; //[0,0,14]3d impact parameter to signal PVUB (gsf track)
|
382 |
|
|
Double32_t fIp3dPVUBErr; //[0,0,14]3d impact parameter uncertainty to signal PVUB (gsf track)
|
383 |
|
|
Double32_t fD0PVUBBS; //[0,0,14]transverse impact parameter to signal PVUB w/ bs constraint (gsf track)
|
384 |
|
|
Double32_t fD0PVUBBSErr; //[0,0,14]transverse impact parameter uncertainty to signal PVUB w/ bs constraint (gsf track)
|
385 |
|
|
Double32_t fIp3dPVUBBS; //[0,0,14]3d impact parameter to signal PVUB w/ bs constraint (gsf track)
|
386 |
|
|
Double32_t fIp3dPVUBBSErr; //[0,0,14]3d impact parameter uncertainty to signal PVUB w/ bs constraint (gsf track)
|
387 |
|
|
Double32_t fD0PVUBCkf; //[0,0,14]transverse impact parameter to signal PVUB (ckf track)
|
388 |
|
|
Double32_t fD0PVUBCkfErr; //[0,0,14]transverse impact parameter uncertainty to signal PVUB (ckf track)
|
389 |
|
|
Double32_t fIp3dPVUBCkf; //[0,0,14]3d impact parameter to signal PVUB (ckf track)
|
390 |
|
|
Double32_t fIp3dPVUBCkfErr; //[0,0,14]3d impact parameter uncertainty to signal PVUB (ckf track)
|
391 |
|
|
Double32_t fD0PVUBBSCkf; //[0,0,14]transverse impact parameter to signal PVUB w/ bs constraint (ckf track)
|
392 |
|
|
Double32_t fD0PVUBBSCkfErr; //[0,0,14]transverse impact parameter uncertainty to signal PVUB w/ bs constraint (ckf track)
|
393 |
|
|
Double32_t fIp3dPVUBBSCkf; //[0,0,14]3d impact parameter to signal PVUB w/ bs constraint (ckf track)
|
394 |
|
|
Double32_t fIp3dPVUBBSCkfErr; //[0,0,14]3d impact parameter uncertainty to signal PVUB w/ bs constraint (ckf track)
|
395 |
bendavid |
1.41 |
Double32_t fGsfPVCompatibility; //[0,0,14]gsf compatibility with signal PV
|
396 |
|
|
Double32_t fGsfPVBSCompatibility; //[0,0,14]gsf compatibility with signal PV w/ bs constraint
|
397 |
|
|
Double32_t fGsfPVCompatibilityMatched; //[0,0,14]gsf compatibility with signal PV (matching ckf track excluded from vertex)
|
398 |
|
|
Double32_t fGsfPVBSCompatibilityMatched; //[0,0,14]gsf compatibility with signal PV w/ bs constraint (matching ckf track excluded from vertex)
|
399 |
bendavid |
1.40 |
Double32_t fConvPartnerDCotTheta; //[0,0,14]delta cot theta to nearest conversion partner track
|
400 |
|
|
Double32_t fConvPartnerDist; //[0,0,14]distance in x-y plane to nearest conversion partner track
|
401 |
|
|
Double32_t fConvPartnerRadius; //[0,0,14]radius of helix intersection with conversion partner track
|
402 |
bendavid |
1.46 |
Double32_t fPFChargedHadronIso; //[0,0,14]pf isolation, charged hadrons
|
403 |
|
|
Double32_t fPFNeutralHadronIso; //[0,0,14]pf isolation, neutral hadrons
|
404 |
|
|
Double32_t fPFPhotonIso; //[0,0,14]pf isolation, photons
|
405 |
bendavid |
1.45 |
Int_t fConvFlag; //conversion flag indicating which track combination was used
|
406 |
bendavid |
1.42 |
Vect3C fConvPosition;
|
407 |
loizides |
1.29 |
Bool_t fIsEnergyScaleCorrected; //class dependent escale correction
|
408 |
|
|
Bool_t fIsMomentumCorrected; //class dependent E-p combination
|
409 |
|
|
Int_t fClassification; //classification (see GsfElectron.h)
|
410 |
bendavid |
1.33 |
Bool_t fIsEB; //is ECAL barrel
|
411 |
|
|
Bool_t fIsEE; //is ECAL Endcap
|
412 |
|
|
Bool_t fIsEBEEGap; //is in barrel-endcap gap
|
413 |
|
|
Bool_t fIsEBEtaGap; //is in EB eta module gap
|
414 |
|
|
Bool_t fIsEBPhiGap; //is in EB phi module gap
|
415 |
|
|
Bool_t fIsEEDeeGap; //is in EE dee gap
|
416 |
|
|
Bool_t fIsEERingGap; //is in EE ring gap
|
417 |
|
|
Bool_t fIsEcalDriven; //is std. egamma electron
|
418 |
|
|
Bool_t fIsTrackerDriven; //is pflow track-seeded electron
|
419 |
bendavid |
1.42 |
Bool_t fMatchesVertexConversion;
|
420 |
bendavid |
1.43 |
RefArray<Track> fAmbiguousGsfTracks; //ambiguous gsf tracks for this electron
|
421 |
sixie |
1.51 |
Double_t fEEleClusterOverPout; //energy of the electron cluster
|
422 |
|
|
Int_t fCTFTrkNLayersWithMeasurement; //number of tracker layers from associated ctf trk
|
423 |
paus |
1.55 |
Double32_t fHadOverEmTow; //[0,0,14]per-tower definition of hadronic/em energy fraction
|
424 |
|
|
Double32_t fHCalIsoTowDr03; //[0,0,14]hcal isolation matched to per tower h/e definition
|
425 |
|
|
Double32_t fHCalIsoTowDr04; //[0,0,14]hcal isolation matched to per tower h/e definition
|
426 |
|
|
Double32_t fEcalEnergy; //[0,0,14]corrected Ecal energy
|
427 |
|
|
Double32_t fEcalEnergyError; //[0,0,14]corrected Ecal energy error
|
428 |
|
|
Ref<SuperCluster> fPFSuperClusterRef; //reference to Particle Flow SuperCluster
|
429 |
sixie |
1.13 |
|
430 |
paus |
1.55 |
ClassDef(Electron, 15) // Electron class
|
431 |
bendavid |
1.1 |
};
|
432 |
loizides |
1.4 |
}
|
433 |
loizides |
1.8 |
|
434 |
loizides |
1.9 |
//--------------------------------------------------------------------------------------------------
|
435 |
paus |
1.50 |
inline void mithep::Electron::Mark(UInt_t ib) const
|
436 |
paus |
1.49 |
{
|
437 |
|
|
// mark myself
|
438 |
paus |
1.50 |
mithep::DataObject::Mark(ib);
|
439 |
paus |
1.49 |
// mark my dependencies if they are there
|
440 |
paus |
1.50 |
if (fSuperClusterRef.IsValid())
|
441 |
|
|
fSuperClusterRef.Obj()->Mark(ib);
|
442 |
|
|
if (fGsfTrackRef.IsValid())
|
443 |
|
|
fGsfTrackRef.Obj()->Mark(ib);
|
444 |
|
|
if (fTrackerTrackRef.IsValid())
|
445 |
|
|
fTrackerTrackRef.Obj()->Mark(ib);
|
446 |
paus |
1.49 |
if (fConvPartnerTrackRef.IsValid())
|
447 |
paus |
1.50 |
fConvPartnerTrackRef.Obj()->Mark(ib);
|
448 |
|
|
fAmbiguousGsfTracks.Mark(ib);
|
449 |
paus |
1.49 |
}
|
450 |
|
|
|
451 |
|
|
//--------------------------------------------------------------------------------------------------
|
452 |
loizides |
1.10 |
inline const mithep::Track *mithep::Electron::BestTrk() const
|
453 |
loizides |
1.9 |
{
|
454 |
loizides |
1.10 |
// Return "best" track.
|
455 |
|
|
|
456 |
bendavid |
1.24 |
if (HasGsfTrk())
|
457 |
loizides |
1.10 |
return GsfTrk();
|
458 |
bendavid |
1.24 |
else if (HasTrackerTrk())
|
459 |
loizides |
1.10 |
return TrackerTrk();
|
460 |
loizides |
1.9 |
|
461 |
loizides |
1.10 |
return 0;
|
462 |
loizides |
1.9 |
}
|
463 |
|
|
|
464 |
loizides |
1.25 |
//--------------------------------------------------------------------------------------------------
|
465 |
bendavid |
1.37 |
inline Double_t mithep::Electron::GetCharge() const
|
466 |
|
|
{
|
467 |
|
|
// Return stored charge, unless it is set to invalid (-99),
|
468 |
|
|
// in that case get charge from track as before
|
469 |
|
|
|
470 |
|
|
if (fCharge==-99)
|
471 |
|
|
return mithep::ChargedParticle::GetCharge();
|
472 |
|
|
else
|
473 |
|
|
return fCharge;
|
474 |
|
|
|
475 |
|
|
}
|
476 |
|
|
|
477 |
|
|
//--------------------------------------------------------------------------------------------------
|
478 |
loizides |
1.25 |
inline void mithep::Electron::GetMom() const
|
479 |
sixie |
1.14 |
{
|
480 |
bendavid |
1.31 |
// Get momentum of the electron. We use an explicitly stored three vector, with the pdg mass,
|
481 |
|
|
// since the momentum vector may be computed non-trivially in cmssw
|
482 |
sixie |
1.14 |
|
483 |
bendavid |
1.31 |
fCachedMom.SetCoordinates(fMom.Rho(),fMom.Eta(),fMom.Phi(),GetMass());
|
484 |
bendavid |
1.18 |
}
|
485 |
|
|
|
486 |
|
|
//-------------------------------------------------------------------------------------------------
|
487 |
loizides |
1.25 |
inline Double_t mithep::Electron::ESeedClusterOverPIn() const
|
488 |
bendavid |
1.18 |
{
|
489 |
loizides |
1.25 |
// Return energy of the SuperCluster seed divided by the magnitude
|
490 |
|
|
// of the track momentum at the vertex.
|
491 |
|
|
|
492 |
|
|
return SCluster()->Seed()->Energy() / PIn();
|
493 |
bendavid |
1.18 |
}
|
494 |
bendavid |
1.31 |
|
495 |
|
|
//-------------------------------------------------------------------------------------------------
|
496 |
|
|
inline void mithep::Electron::SetPtEtaPhi(Double_t pt, Double_t eta, Double_t phi)
|
497 |
|
|
{
|
498 |
|
|
// Set three-vector
|
499 |
|
|
|
500 |
|
|
fMom.Set(pt,eta,phi);
|
501 |
|
|
ClearMom();
|
502 |
|
|
}
|
503 |
loizides |
1.8 |
#endif
|