ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitAna/DataTree/interface/Electron.h
Revision: 1.42
Committed: Wed Jun 23 09:02:04 2010 UTC (14 years, 10 months ago) by bendavid
Content type: text/plain
Branch: MAIN
CVS Tags: Mit_014e, Mit_014d, Mit_014c, Mit_014b
Changes since 1.41: +13 -3 lines
Log Message:
Some extra conversion variables

File Contents

# Content
1 //--------------------------------------------------------------------------------------------------
2 // $Id: Electron.h,v 1.41 2010/05/23 21:09:38 bendavid Exp $
3 //
4 // Electron
5 //
6 // This class holds information about reconstructed electrons from CMSSW.
7 //
8 // Authors: C.Loizides, J.Bendavid, S.Xie
9 //--------------------------------------------------------------------------------------------------
10
11 #ifndef MITANA_DATATREE_ELECTRON_H
12 #define MITANA_DATATREE_ELECTRON_H
13
14 #include "MitAna/DataTree/interface/SuperCluster.h"
15 #include "MitAna/DataTree/interface/ChargedParticle.h"
16 #include "MitAna/DataCont/interface/Ref.h"
17
18 namespace mithep
19 {
20 class Electron : public ChargedParticle
21 {
22 public:
23 Electron() :
24 fCharge(-99), fScPixCharge(0),
25 fESuperClusterOverP(0), fESeedClusterOverPout(0), fDeltaEtaSuperClTrkAtVtx(0),
26 fDeltaEtaSeedClTrkAtCalo(0), fDeltaPhiSuperClTrkAtVtx(0),
27 fDeltaPhiSeedClTrkAtCalo(0), fFBrem(0), fHadronicOverEm(0), fHcalDepth1OverEcal(0),
28 fHcalDepth2OverEcal(0), fNumberOfClusters(0), fE15(0), fE25Max(0),
29 fE55(0), fCovEtaEta(0), fCoviEtaiEta(0),
30 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 fMva(0), fD0PV(0), fD0PVErr(0), fIp3dPV(0), fIp3dPVErr(0),
37 fD0PVBS(0), fD0PVBSErr(0), fIp3dPVBS(0), fIp3dPVBSErr(0),
38 fGsfPVCompatibility(0), fGsfPVBSCompatibility(0),
39 fGsfPVCompatibilityMatched(0), fGsfPVBSCompatibilityMatched(0),
40 fConvPartnerDCotTheta(0), fConvPartnerDist(0), fConvPartnerRadius(0),
41 fIsEnergyScaleCorrected(0), fIsMomentumCorrected(0),
42 fClassification(0), fIsEB(), fIsEE(0), fIsEBEEGap(0), fIsEBEtaGap(0),
43 fIsEBPhiGap(0), fIsEEDeeGap(0), fIsEERingGap(0),
44 fIsEcalDriven(0), fIsTrackerDriven(0), fMatchesVertexConversion(0) {}
45
46 const Track *BestTrk() const;
47 Double_t D0PV() const { return fD0PV; }
48 Double_t D0PVErr() const { return fD0PVErr; }
49 Double_t D0PVSignificance() const { return fD0PV/fD0PVErr; }
50 Double_t Ip3dPV() const { return fIp3dPV; }
51 Double_t Ip3dPVErr() const { return fIp3dPVErr; }
52 Double_t Ip3dPVSignificance() const { return fIp3dPV/fIp3dPVErr; }
53 Double_t D0PVBS() const { return fD0PVBS; }
54 Double_t D0PVBSErr() const { return fD0PVBSErr; }
55 Double_t D0PVBSSignificance() const { return fD0PVBS/fD0PVBSErr; }
56 Double_t Ip3dPVBS() const { return fIp3dPVBS; }
57 Double_t Ip3dPVBSErr() const { return fIp3dPVBSErr; }
58 Double_t Ip3dPVBSSignificance() const { return fIp3dPVBS/fIp3dPVBSErr; }
59 Double_t GsfPVCompatibility() const { return fGsfPVCompatibility; }
60 Double_t GsfPVBSCompatibility() const { return fGsfPVBSCompatibility; }
61 Double_t GsfPVCompatibilityMatched() const { return fGsfPVCompatibilityMatched; }
62 Double_t GsfPVBSCompatibilityMatched() const { return fGsfPVBSCompatibilityMatched; }
63 Double_t ConvPartnerDCotTheta() const { return fConvPartnerDCotTheta; }
64 Double_t ConvPartnerDist() const { return fConvPartnerDist; }
65 Double_t ConvPartnerRadius() const { return fConvPartnerRadius; }
66 Double_t CaloIsolation() const { return fCaloIsolation; } // *DEPRECATED*
67 Int_t Classification() const { return fClassification; }
68 Double_t CovEtaEta() const { return fCovEtaEta; }
69 Double_t CoviEtaiEta() const { return fCoviEtaiEta; }
70 Double_t DeltaEtaSuperClusterTrackAtVtx() const
71 { return fDeltaEtaSuperClTrkAtVtx; }
72 Double_t DeltaEtaSeedClusterTrackAtCalo() const
73 { return fDeltaEtaSeedClTrkAtCalo; }
74 Double_t DeltaPhiSuperClusterTrackAtVtx() const
75 { return fDeltaPhiSuperClTrkAtVtx; }
76 Double_t DeltaPhiSeedClusterTrackAtCalo() const
77 { return fDeltaPhiSeedClTrkAtCalo; }
78 Double_t E15() const { return fE15; }
79 Double_t E25Max() const { return fE25Max; }
80 Double_t E55() const { return fE55; }
81 Double_t ESuperClusterOverP() const { return fESuperClusterOverP; }
82 Double_t ESeedClusterOverPout() const { return fESeedClusterOverPout; }
83 Double_t ESeedClusterOverPIn() const;
84 Double_t FBrem() const { return fFBrem; }
85 Double_t FBremOld() const { return (PIn() - POut())/PIn(); }
86 Double_t FracSharedHits() const { return fFracSharedHits; }
87 const Track *GsfTrk() const { return fGsfTrackRef.Obj(); }
88 Double_t HadronicOverEm() const { return fHadronicOverEm; }
89 Double_t HcalDepth1OverEcal() const { return fHcalDepth1OverEcal; }
90 Double_t HcalDepth2OverEcal() const { return fHcalDepth2OverEcal; }
91 Bool_t HasGsfTrk() const { return fGsfTrackRef.IsValid(); }
92 Bool_t HasTrackerTrk() const { return fTrackerTrackRef.IsValid(); }
93 Bool_t HasSuperCluster() const { return fSuperClusterRef.IsValid(); }
94 Double_t HcalIsolation() const { return fHcalJurassicIsolation; } // *DEPRECATED*
95 Double_t IDLikelihood() const { return fIDLikelihood; }
96 Bool_t IsEnergyScaleCorrected() const { return fIsEnergyScaleCorrected; }
97 Bool_t IsMomentumCorrected() const { return fIsMomentumCorrected; }
98 Bool_t IsEB() const { return fIsEB; }
99 Bool_t IsEE() const { return fIsEE; }
100 Bool_t IsEBEEGap() const { return fIsEBEEGap; }
101 Bool_t IsEBEtaGap() const { return fIsEBEtaGap; }
102 Bool_t IsEBPhiGap() const { return fIsEBPhiGap; }
103 Bool_t IsEEDeeGap() const { return fIsEEDeeGap; }
104 Bool_t IsEERingGap() const { return fIsEERingGap; }
105 Bool_t IsEcalDriven() const { return fIsEcalDriven; }
106 Bool_t IsTrackerDriven() const { return fIsTrackerDriven; }
107 Double_t Mva() const { return fMva; }
108 Double_t NumberOfClusters() const { return fNumberOfClusters; }
109 EObjType ObjType() const { return kElectron; }
110 Double_t PassLooseID() const { return fPassLooseID; }
111 Double_t PassTightID() const { return fPassTightID; }
112 Double_t PIn() const { return fPIn; }
113 Double_t POut() const { return fPOut; }
114 const SuperCluster *SCluster() const { return fSuperClusterRef.Obj(); }
115 Double_t ScPixCharge() const { return fScPixCharge; }
116
117 Double_t EcalRecHitIsoDr04() const { return fEcalJurassicIsolation; }
118 Double_t HcalTowerSumEtDr04() const { return HcalDepth1TowerSumEtDr04() +
119 HcalDepth2TowerSumEtDr04(); }
120 Double_t HcalDepth1TowerSumEtDr04() const { return fHcalDepth1TowerSumEtDr04; }
121 Double_t HcalDepth2TowerSumEtDr04() const { return fHcalDepth2TowerSumEtDr04; }
122 Double_t TrackIsolationDr04() const { return fTrackIsolationDr04; }
123 Double_t EcalRecHitIsoDr03() const { return fEcalRecHitSumEtDr03; }
124 Double_t HcalTowerSumEtDr03() const { return fCaloTowerIsolation; }
125 Double_t HcalDepth1TowerSumEtDr03() const { return fHcalDepth1TowerSumEtDr03; }
126 Double_t HcalDepth2TowerSumEtDr03() const { return fHcalDepth2TowerSumEtDr03; }
127 Double_t TrackIsolationDr03() const { return fTrackIsolation; }
128 Bool_t MatchesVertexConversion() const { return fMatchesVertexConversion; }
129
130
131 void SetCharge(Char_t x) { fCharge = x; ClearCharge(); }
132 void SetScPixCharge(Char_t x) { fScPixCharge = x; }
133 void SetD0PV(Double_t x) { fD0PV = x; }
134 void SetD0PVErr(Double_t x) { fD0PVErr = x; }
135 void SetIp3dPV(Double_t x) { fIp3dPV = x; }
136 void SetIp3dPVErr(Double_t x) { fIp3dPVErr = x; }
137 void SetD0PVBS(Double_t x) { fD0PVBS = x; }
138 void SetD0PVBSErr(Double_t x) { fD0PVBSErr = x; }
139 void SetIp3dPVBS(Double_t x) { fIp3dPVBS = x; }
140 void SetIp3dPVBSErr(Double_t x) { fIp3dPVBSErr = x; }
141 void SetGsfPVCompatibility(Double_t x) { fGsfPVCompatibility = x; }
142 void SetGsfPVBSCompatibility(Double_t x) { fGsfPVBSCompatibility = x; }
143 void SetGsfPVCompatibilityMatched(Double_t x) { fGsfPVCompatibilityMatched = x; }
144 void SetGsfPVBSCompatibilityMatched(Double_t x) { fGsfPVBSCompatibilityMatched = x; }
145 void SetConvPartnerDCotTheta(Double_t x) { fConvPartnerDCotTheta = x; }
146 void SetConvPartnerDist(Double_t x) { fConvPartnerDist = x; }
147 void SetConvPartnerRadius(Double_t x) { fConvPartnerRadius = x; }
148 void SetClassification(Int_t x) { fClassification = x; }
149 void SetCovEtaEta(Double_t CovEtaEta) { fCovEtaEta = CovEtaEta; }
150 void SetCoviEtaiEta(Double_t CoviEtaiEta) { fCoviEtaiEta = CoviEtaiEta; }
151 void SetDeltaEtaSuperClusterTrackAtVtx(Double_t x)
152 { fDeltaEtaSuperClTrkAtVtx = x; }
153 void SetDeltaEtaSeedClusterTrackAtCalo(Double_t x)
154 { fDeltaEtaSeedClTrkAtCalo = x; }
155 void SetDeltaPhiSuperClusterTrackAtVtx(Double_t x)
156 { fDeltaPhiSuperClTrkAtVtx = x; }
157 void SetDeltaPhiSeedClusterTrackAtCalo(Double_t x)
158 { fDeltaPhiSeedClTrkAtCalo = x; }
159 void SetE15(Double_t x) { fE15 = x; }
160 void SetE25Max(Double_t x) { fE25Max = x; }
161 void SetE55(Double_t x) { fE55 = x; }
162 void SetESeedClusterOverPout(Double_t x) { fESeedClusterOverPout = x; }
163 void SetESuperClusterOverP(Double_t x) { fESuperClusterOverP = x; }
164 void SetFBrem(Double_t x) { fFBrem = x; }
165 void SetFracSharedHits(Double_t x) { fFracSharedHits = x; }
166 void SetGsfTrk(const Track* t)
167 { fGsfTrackRef = t; ClearCharge(); }
168 void SetHadronicOverEm(Double_t x) { fHadronicOverEm = x; }
169 void SetHcalDepth1OverEcal(Double_t x) { fHcalDepth1OverEcal = x; }
170 void SetHcalDepth2OverEcal(Double_t x) { fHcalDepth2OverEcal = x; }
171 void SetIDLikelihood(Double_t likelihood) { fIDLikelihood = likelihood; }
172 void SetIsEnergyScaleCorrected(Bool_t x) { fIsEnergyScaleCorrected = x; }
173 void SetIsMomentumCorrected(Bool_t x) { fIsMomentumCorrected = x; }
174 void SetNumberOfClusters(Double_t x) { fNumberOfClusters = x; }
175 void SetPIn(Double_t PIn) { fPIn = PIn; }
176 void SetPOut(Double_t POut) { fPOut = POut; }
177 void SetPassLooseID(Double_t passLooseID) { fPassLooseID = passLooseID; }
178 void SetPassTightID(Double_t passTightID) { fPassTightID = passTightID; }
179 void SetPtEtaPhi(Double_t pt, Double_t eta, Double_t phi);
180 void SetSuperCluster(const SuperCluster* sc)
181 { fSuperClusterRef = sc; }
182 void SetTrackerTrk(const Track* t)
183 { fTrackerTrackRef = t; ClearCharge(); }
184 void SetConvPartnerTrk(const Track *t)
185 { fConvPartnerTrackRef = t; }
186 void SetEcalRecHitIsoDr04(Double_t x) { fEcalJurassicIsolation = x; }
187 void SetHcalDepth1TowerSumEtDr04(Double_t x) { fHcalDepth1TowerSumEtDr04 = x; }
188 void SetHcalDepth2TowerSumEtDr04(Double_t x) { fHcalDepth2TowerSumEtDr04 = x; }
189 void SetTrackIsolationDr04(Double_t x) { fTrackIsolationDr04 = x; }
190 void SetEcalRecHitIsoDr03(Double_t x) { fEcalRecHitSumEtDr03 = x; }
191 void SetHcalTowerSumEtDr03(Double_t x) { fCaloTowerIsolation = x; }
192 void SetHcalDepth1TowerSumEtDr03(Double_t x) { fHcalDepth1TowerSumEtDr03 = x; }
193 void SetHcalDepth2TowerSumEtDr03(Double_t x) { fHcalDepth2TowerSumEtDr03 = x; }
194 void SetTrackIsolationDr03(Double_t x) { fTrackIsolation = x; }
195 void SetMva(Double_t x) { fMva = x; }
196 void SetIsEB(Bool_t b) { fIsEB = b; }
197 void SetIsEE(Bool_t b) { fIsEE = b; }
198 void SetIsEBEEGap(Bool_t b) { fIsEBEEGap = b; }
199 void SetIsEBEtaGap(Bool_t b) { fIsEBEtaGap = b; }
200 void SetIsEBPhiGap(Bool_t b) { fIsEBPhiGap = b; }
201 void SetIsEEDeeGap(Bool_t b) { fIsEEDeeGap = b; }
202 void SetIsEERingGap(Bool_t b) { fIsEERingGap = b; }
203 void SetIsEcalDriven(Bool_t b) { fIsEcalDriven = b; }
204 void SetIsTrackerDriven(Bool_t b) { fIsTrackerDriven = b; }
205 void SetMatchesVertexConversion(Bool_t b) { fMatchesVertexConversion = b; }
206 void SetConversionXYZ(Double_t x, Double_t y, Double_t z)
207 { fConvPosition.SetXYZ(x,y,z); }
208
209
210 const Track *TrackerTrk() const { return fTrackerTrackRef.Obj(); }
211 const Track *Trk() const { return BestTrk(); }
212 const Track *ConvPartnerTrk() const { return fConvPartnerTrackRef.Obj(); }
213
214 protected:
215 Double_t GetCharge() const;
216 Double_t GetMass() const { return 0.51099892e-3; }
217 void GetMom() const;
218
219 Vect3C fMom; //stored three-momentum
220 Char_t fCharge; //stored charge - filled with -99 when reading old files
221 Char_t fScPixCharge; //charge from supercluster-pixel matching
222 Ref<Track> fGsfTrackRef; //gsf track reference
223 Ref<Track> fTrackerTrackRef; //tracker track reference
224 Ref<Track> fConvPartnerTrackRef; //conversion partner track reference
225 Ref<SuperCluster> fSuperClusterRef; //reference to SuperCluster
226 Double32_t fESuperClusterOverP; //[0,0,14]super cluster e over p ratio
227 Double32_t fESeedClusterOverPout; //[0,0,14]seed cluster e over p mom
228 Double32_t fDeltaEtaSuperClTrkAtVtx; //[0,0,14]delta eta of super cluster with trk
229 Double32_t fDeltaEtaSeedClTrkAtCalo; //[0,0,14]delta eta of seeed cluster with trk
230 Double32_t fDeltaPhiSuperClTrkAtVtx; //[0,0,14]delta phi of super cluster with trk
231 Double32_t fDeltaPhiSeedClTrkAtCalo; //[0,0,14]delta phi of seeed cluster with trk
232 Double32_t fFBrem; //[0,0,14]brem fraction
233 Double32_t fHadronicOverEm; //[0,0,14]hadronic over em fraction *DEPRECATED*
234 Double32_t fHcalDepth1OverEcal; //[0,0,14]hadronic over em fraction depth1
235 Double32_t fHcalDepth2OverEcal; //[0,0,14]hadronic over em fraction depth2
236 Double32_t fNumberOfClusters; //[0,0,14]number of associated clusters
237 Double32_t fE15; //[0,0,14]1x5 crystal energy
238 Double32_t fE25Max; //[0,0,14]2x5 crystal energy (max of two possible sums)
239 Double32_t fE55; //[0,0,14]5x5 crystal energy
240 Double32_t fCovEtaEta; //[0,0,14]variance eta-eta
241 Double32_t fCoviEtaiEta; //[0,0,14]covariance eta-eta (in crystals)
242 Double32_t fCaloIsolation; //[0,0,14](non-jura) ecal isolation based on rechits dR 0.3 *DEPRECATED*
243 Double32_t fHcalJurassicIsolation; //[0,0,14]hcal jura iso dR 0.4 *DEPRECATED*
244 Double32_t fHcalDepth1TowerSumEtDr04; //[0,0,14]hcal depth1 tower based isolation dR 0.4
245 Double32_t fHcalDepth2TowerSumEtDr04; //[0,0,14]hcal depth2 tower based isolation dR 0.4
246 Double32_t fEcalJurassicIsolation; //[0,0,14]ecal jura iso dR 0.4 *RENAMING*
247 Double32_t fTrackIsolationDr04; //[0,0,14]isolation based on tracks dR 0.4
248 Double32_t fCaloTowerIsolation; //[0,0,14]hcal tower based isolation dR 0.3 *DEPRECATED*
249 Double32_t fHcalDepth1TowerSumEtDr03; //[0,0,14]hcal depth1 tower based isolation dR 0.3
250 Double32_t fHcalDepth2TowerSumEtDr03; //[0,0,14]hcal depth2 tower based isolation dR 0.3
251 Double32_t fEcalRecHitSumEtDr03; //[0,0,14]ecal jura iso dR 0.3
252 Double32_t fTrackIsolation; //[0,0,14]isolation based on tracks dR 0.3 *RENAMING*
253 Double32_t fPassLooseID; //[0,0,14]pass loose id
254 Double32_t fPassTightID; //[0,0,14]pass tight id
255 Double32_t fIDLikelihood; //[0,0,14]likelihood value
256 Double32_t fPIn; //[0,0,14]momentum at vtx
257 Double32_t fPOut; //[0,0,14]momentum at ecal surface
258 Double32_t fFracSharedHits; //[0,0,14]fraction of shared hits btw gsf and std. track
259 Double32_t fMva; //[0,0,14] pflow mva output
260 Double32_t fD0PV; //[0,0,14]transverse impact parameter to signal PV
261 Double32_t fD0PVErr; //[0,0,14]transverse impact parameter uncertainty to signal PV
262 Double32_t fIp3dPV; //[0,0,14]3d impact parameter to signal PV
263 Double32_t fIp3dPVErr; //[0,0,14]3d impact parameter uncertainty to signal PV
264 Double32_t fD0PVBS; //[0,0,14]transverse impact parameter to signal PV w/ bs constraint
265 Double32_t fD0PVBSErr; //[0,0,14]transverse impact parameter uncertainty to signal PV w/ bs constraint
266 Double32_t fIp3dPVBS; //[0,0,14]3d impact parameter to signal PV w/ bs constraint
267 Double32_t fIp3dPVBSErr; //[0,0,14]3d impact parameter uncertainty to signal PV w/ bs constraint
268 Double32_t fGsfPVCompatibility; //[0,0,14]gsf compatibility with signal PV
269 Double32_t fGsfPVBSCompatibility; //[0,0,14]gsf compatibility with signal PV w/ bs constraint
270 Double32_t fGsfPVCompatibilityMatched; //[0,0,14]gsf compatibility with signal PV (matching ckf track excluded from vertex)
271 Double32_t fGsfPVBSCompatibilityMatched; //[0,0,14]gsf compatibility with signal PV w/ bs constraint (matching ckf track excluded from vertex)
272 Double32_t fConvPartnerDCotTheta; //[0,0,14]delta cot theta to nearest conversion partner track
273 Double32_t fConvPartnerDist; //[0,0,14]distance in x-y plane to nearest conversion partner track
274 Double32_t fConvPartnerRadius; //[0,0,14]radius of helix intersection with conversion partner track
275 Vect3C fConvPosition;
276 Bool_t fIsEnergyScaleCorrected; //class dependent escale correction
277 Bool_t fIsMomentumCorrected; //class dependent E-p combination
278 Int_t fClassification; //classification (see GsfElectron.h)
279 Bool_t fIsEB; //is ECAL barrel
280 Bool_t fIsEE; //is ECAL Endcap
281 Bool_t fIsEBEEGap; //is in barrel-endcap gap
282 Bool_t fIsEBEtaGap; //is in EB eta module gap
283 Bool_t fIsEBPhiGap; //is in EB phi module gap
284 Bool_t fIsEEDeeGap; //is in EE dee gap
285 Bool_t fIsEERingGap; //is in EE ring gap
286 Bool_t fIsEcalDriven; //is std. egamma electron
287 Bool_t fIsTrackerDriven; //is pflow track-seeded electron
288 Bool_t fMatchesVertexConversion;
289
290 ClassDef(Electron, 7) // Electron class
291 };
292 }
293
294 //--------------------------------------------------------------------------------------------------
295 inline const mithep::Track *mithep::Electron::BestTrk() const
296 {
297 // Return "best" track.
298
299 if (HasGsfTrk())
300 return GsfTrk();
301 else if (HasTrackerTrk())
302 return TrackerTrk();
303
304 return 0;
305 }
306
307 //--------------------------------------------------------------------------------------------------
308 inline Double_t mithep::Electron::GetCharge() const
309 {
310 // Return stored charge, unless it is set to invalid (-99),
311 // in that case get charge from track as before
312
313 if (fCharge==-99)
314 return mithep::ChargedParticle::GetCharge();
315 else
316 return fCharge;
317
318 }
319
320 //--------------------------------------------------------------------------------------------------
321 inline void mithep::Electron::GetMom() const
322 {
323 // Get momentum of the electron. We use an explicitly stored three vector, with the pdg mass,
324 // since the momentum vector may be computed non-trivially in cmssw
325
326 fCachedMom.SetCoordinates(fMom.Rho(),fMom.Eta(),fMom.Phi(),GetMass());
327 }
328
329 //-------------------------------------------------------------------------------------------------
330 inline Double_t mithep::Electron::ESeedClusterOverPIn() const
331 {
332 // Return energy of the SuperCluster seed divided by the magnitude
333 // of the track momentum at the vertex.
334
335 return SCluster()->Seed()->Energy() / PIn();
336 }
337
338 //-------------------------------------------------------------------------------------------------
339 inline void mithep::Electron::SetPtEtaPhi(Double_t pt, Double_t eta, Double_t phi)
340 {
341 // Set three-vector
342
343 fMom.Set(pt,eta,phi);
344 ClearMom();
345 }
346 #endif