]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG3/dielectron/AliDielectronVarManager.h
Updates and additions: Classes for signal and spectrum extraction; saving of
[u/mrichter/AliRoot.git] / PWG3 / dielectron / AliDielectronVarManager.h
CommitLineData
b2a297fa 1#ifndef ALIDIELECTRONVARMANAGER_H
2#define ALIDIELECTRONVARMANAGER_H
3/* Copyright(c) 1998-2009, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6//#############################################################
7//# #
8//# Class AliDielectronVarManager #
9//# Class for management of available variables #
10//# #
11//# Authors: #
12//# Anton Andronic, GSI / A.Andronic@gsi.de #
13//# Ionut C. Arsene, GSI / I.C.Arsene@gsi.de #
14//# Julian Book, Uni Ffm / Julian.Book@cern.ch #
572b0139 15//# Markus Köhler, GSI / M.Koehler@gsi.de #
6551594b 16//# Frederick Kramer, Uni Ffm / Frederick.Kramer@cern.ch #
b2a297fa 17//# Magnus Mager, CERN / Magnus.Mager@cern.ch #
18//# WooJin J. Park, GSI / W.J.Park@gsi.de #
19//# Jens Wiechula, Uni HD / Jens.Wiechula@cern.ch #
20//# #
21//#############################################################
22
23
24#include <TNamed.h>
25
26#include <AliVEvent.h>
27#include <AliESDEvent.h>
6551594b 28#include <AliAODEvent.h>
29#include <AliMCEvent.h>
30#include <AliVVertex.h>
31#include <AliESDVertex.h>
b2a297fa 32
33#include <AliVParticle.h>
b2a297fa 34#include <AliESDtrack.h>
35#include <AliAODTrack.h>
572b0139 36#include <AliAODPid.h>
b2a297fa 37#include <AliKFParticle.h>
572b0139 38#include <AliKFVertex.h>
b2a297fa 39#include <AliMCParticle.h>
40#include <AliAODMCParticle.h>
41#include <AliVTrack.h> // ?
42
6551594b 43#include <AliExternalTrackParam.h>
44#include <AliESDpid.h>
45
b2a297fa 46#include "AliDielectronPair.h"
47
48class AliVEvent;
49
50//________________________________________________________________
51class AliDielectronVarManager : public TNamed {
52
53public:
54
55 // Particle specific variables
56 enum ValueTypes {
57 kPx = 0, // px
58 kPy, // py
59 kPz, // pz
60 kPt, // transverse momentum
61 kP, // momentum
62 kXv, // vertex position in x
63 kYv, // vertex position in y
64 kZv, // vertex position in z
65 kOneOverPt, // 1/pt
66 kPhi, // phi angle
67 kTheta, // theta angle
68 kEta, // pseudo-rapidity
69 kY, // rapidity
70 kE, // energy
71 kM, // mass
72 kCharge, // charge
73 kNclsITS, // number of clusters assigned in the ITS
74 kNclsTPC, // number of clusters assigned in the TPC
75 kNFclsTPC, // number of findable clusters in the TPC
76 kTPCsignalN, // number of points used for dEdx
77 kNclsTRD, // number of clusters assigned in the TRD
78 kTRDntracklets, // number of TRD tracklets used for tracking/PID TODO: correct getter
79 kTRDpidQuality, // number of TRD tracklets used for PID
80 kImpactParXY, // Impact parameter in XY plane
81 kImpactParZ, // Impact parameter in Z
82 kTrackLength, // Track length
83 kPdgCode, // PDG code
84 kPIn, // momentum at inner wall of TPC (if available), used for PID
85 kTPCsignal, // TPC dE/dx signal
572b0139 86
6551594b 87 kTPCnSigmaEle, // number of sigmas to the dE/dx electron line in the TPC
572b0139 88 kTPCnSigmaPio, // number of sigmas to the dE/dx pion line in the TPC
89 kTPCnSigmaMuo, // number of sigmas to the dE/dx muon line in the TPC
90 kTPCnSigmaKao, // number of sigmas to the dE/dx kaon line in the TPC
91 kTPCnSigmaPro, // number of sigmas to the dE/dx proton line in the TPC
92
93 kTOFnSigmaPio, // number of sigmas to the pion line in the TOF
94 kTOFnSigmaMuo, // number of sigmas to the muon line in the TOF
95 kTOFnSigmaKao, // number of sigmas to the kaon line in the TOF
96 kTOFnSigmaPro, // number of sigmas to the proton line in the TOF
97
b2a297fa 98 kParticleMax, //
99 // TODO: kRNClusters ??
100 // AliDielectronPair specific variables
101 kChi2NDF = kParticleMax, // Chi^2/NDF
102 kDecayLength, // decay length
103 kR, // distance to the origin
104 kOpeningAngle, // opening angle
572b0139 105 kLegDist, // distance of the legs
106 kLegDistXY, // distance of the legs in XY
b2a297fa 107 kMerr, // error of mass calculation
108 kDCA, // distance of closest approach TODO: not implemented yet
109 kPairType, // type of the pair, like like sign ++ unlikesign ...
110 kPairMax, //
111 // Event specific variables
6551594b 112 kXvPrim=kPairMax, // prim vertex
113 kYvPrim, // prim vertex
114 kZvPrim, // prim vertex
115 kXRes, // primary vertex x-resolution
116 kYRes, // primary vertex y-resolution
117 kZRes, // primary vertex z-resolution
b2a297fa 118 kNTrk, // number of tracks (or tracklets)
6551594b 119 kTracks, // ESD tracks
120 kNevents, // event counter
b2a297fa 121 kNMaxValues //
122 // TODO: (for A+A) ZDCEnergy, impact parameter, Iflag??
123 };
124
125
126 AliDielectronVarManager();
127 AliDielectronVarManager(const char* name, const char* title);
128 virtual ~AliDielectronVarManager();
129 static void Fill(const TObject* particle, Double_t * const values);
130
6551594b 131 static void InitESDpid(Int_t type=0);
572b0139 132 static void SetESDpid(AliESDpid * const pid) {fgESDpid=pid;}
133 static AliESDpid* GetESDpid() {return fgESDpid;}
134 static void SetEvent(AliVEvent * const ev);
6551594b 135
b2a297fa 136 static const char* GetValueName(Int_t i) { return (i>=0&&i<kNMaxValues)?fgkParticleNames[i]:""; }
137private:
138
139 static const char* fgkParticleNames[kNMaxValues]; //variable names
140
141 static void FillVarVParticle(const AliVParticle *particle, Double_t * const values);
142 static void FillVarESDtrack(const AliESDtrack *particle, Double_t * const values);
143 static void FillVarAODTrack(const AliAODTrack *particle, Double_t * const values);
572b0139 144 static void FillVarMCParticle(const AliMCParticle *particle, Double_t * const values);
b2a297fa 145 static void FillVarAODMCParticle(const AliAODMCParticle *particle, Double_t * const values);
146 static void FillVarDielectronPair(const AliDielectronPair *pair, Double_t * const values);
6551594b 147 static void FillVarVEvent(const AliVEvent *event, Double_t * const values);
148 static void FillVarESDEvent(const AliESDEvent *event, Double_t * const values);
149 static void FillVarAODEvent(const AliAODEvent *event, Double_t * const values);
150 static void FillVarMCEvent(const AliMCEvent *event, Double_t * const values);
151
152 static AliESDpid* fgESDpid; // ESD pid object
153 static AliVEvent* fgEvent; // current event pointer
572b0139 154 static AliKFVertex *fgKFVertex; // kf vertex
155
b2a297fa 156 AliDielectronVarManager(const AliDielectronVarManager &c);
157 AliDielectronVarManager &operator=(const AliDielectronVarManager &c);
158
159 ClassDef(AliDielectronVarManager,1);
160};
161
162
163//Inline functions
6551594b 164inline void AliDielectronVarManager::Fill(const TObject* object, Double_t * const values)
b2a297fa 165{
166 //
167 // Main function to fill all available variables according to the type of particle
168 //
169
6551594b 170 if (object->IsA() == AliESDtrack::Class()) FillVarESDtrack(static_cast<const AliESDtrack*>(object), values);
171 else if (object->IsA() == AliAODTrack::Class()) FillVarAODTrack(static_cast<const AliAODTrack*>(object), values);
172 else if (object->IsA() == AliMCParticle::Class()) FillVarMCParticle(static_cast<const AliMCParticle*>(object), values);
173 else if (object->IsA() == AliAODMCParticle::Class()) FillVarAODMCParticle(static_cast<const AliAODMCParticle*>(object), values);
174 else if (object->IsA() == AliDielectronPair::Class()) FillVarDielectronPair(static_cast<const AliDielectronPair*>(object), values);
175
176 // Main function to fill all available variables according to the type of event
177
178 else if (object->IsA() == AliVEvent::Class()) FillVarVEvent(static_cast<const AliVEvent*>(object), values);
179 else if (object->IsA() == AliESDEvent::Class()) FillVarESDEvent(static_cast<const AliESDEvent*>(object), values);
180 else if (object->IsA() == AliAODEvent::Class()) FillVarAODEvent(static_cast<const AliAODEvent*>(object), values);
181 else if (object->IsA() == AliMCEvent::Class()) FillVarMCEvent(static_cast<const AliMCEvent*>(object), values);
182// else Error("Fill",Form("Type %s is not supported by AliDielectronVarManager!", object->ClassName())); //TODO: implement without object needed
b2a297fa 183}
184
185inline void AliDielectronVarManager::FillVarVParticle(const AliVParticle *particle, Double_t * const values)
186{
187 //
188 // Fill track information available in AliVParticle into an array
189 //
190 values[AliDielectronVarManager::kPx] = particle->Px();
191 values[AliDielectronVarManager::kPy] = particle->Py();
192 values[AliDielectronVarManager::kPz] = particle->Pz();
193 values[AliDielectronVarManager::kPt] = particle->Pt();
194 values[AliDielectronVarManager::kP] = particle->P();
195
196 values[AliDielectronVarManager::kXv] = particle->Xv();
197 values[AliDielectronVarManager::kYv] = particle->Yv();
198 values[AliDielectronVarManager::kZv] = particle->Zv();
199
200 values[AliDielectronVarManager::kOneOverPt] = particle->OneOverPt();
201 values[AliDielectronVarManager::kPhi] = particle->Phi();
202 values[AliDielectronVarManager::kTheta] = particle->Theta();
203 values[AliDielectronVarManager::kEta] = particle->Eta();
204 values[AliDielectronVarManager::kY] = particle->Y();
205
206 values[AliDielectronVarManager::kE] = particle->E();
207 values[AliDielectronVarManager::kM] = particle->M();
208 values[AliDielectronVarManager::kCharge] = particle->Charge();
6551594b 209
210 if ( fgEvent ) AliDielectronVarManager::Fill(fgEvent, values);
b2a297fa 211}
212
213inline void AliDielectronVarManager::FillVarESDtrack(const AliESDtrack *particle, Double_t * const values)
214{
215 //
216 // Fill track information available for histogramming into an array
217 //
218
219 // Fill common AliVParticle interface information
220 FillVarVParticle(particle, values);
221
222 // Fill AliESDtrack interface specific information
223 values[AliDielectronVarManager::kNclsITS] = particle->GetNcls(0); // TODO: get rid of the plain numbers
224 values[AliDielectronVarManager::kNclsTPC] = particle->GetNcls(1); // TODO: get rid of the plain numbers
225 values[AliDielectronVarManager::kNFclsTPC] = particle->GetTPCNclsF();
226 values[AliDielectronVarManager::kTPCsignalN] = particle->GetTPCsignalN();
227 values[AliDielectronVarManager::kNclsTRD] = particle->GetNcls(2); // TODO: get rid of the plain numbers
228 values[AliDielectronVarManager::kTRDntracklets] = particle->GetTRDntracklets(); // TODO: GetTRDtracklets/GetTRDntracklets?
229 values[AliDielectronVarManager::kTRDpidQuality] = particle->GetTRDpidQuality();
230
231 Float_t impactParXY, impactParZ;
232 particle->GetImpactParameters(impactParXY, impactParZ);
233 values[AliDielectronVarManager::kImpactParXY] = impactParXY;
234 values[AliDielectronVarManager::kImpactParZ] = impactParZ;
235
236 values[AliDielectronVarManager::kTrackLength] = particle->GetIntegratedLength();
b2a297fa 237 //dEdx information
238 Double_t mom = particle->GetP();
239 const AliExternalTrackParam *in=particle->GetInnerParam();
240 if (in) mom = in->GetP();
241 values[AliDielectronVarManager::kPIn]=mom;
242 values[AliDielectronVarManager::kTPCsignal]=particle->GetTPCsignal();
6551594b 243 // nsigma to Electron band
244 // TODO: for the moment we set the bethe bloch parameters manually
245 // this should be changed in future!
246 values[AliDielectronVarManager::kTPCnSigmaEle]=fgESDpid->NumberOfSigmasTPC(particle,AliPID::kElectron);
572b0139 247 values[AliDielectronVarManager::kTPCnSigmaPio]=fgESDpid->NumberOfSigmasTPC(particle,AliPID::kPion);
248 values[AliDielectronVarManager::kTPCnSigmaMuo]=fgESDpid->NumberOfSigmasTPC(particle,AliPID::kMuon);
249 values[AliDielectronVarManager::kTPCnSigmaKao]=fgESDpid->NumberOfSigmasTPC(particle,AliPID::kKaon);
250 values[AliDielectronVarManager::kTPCnSigmaPro]=fgESDpid->NumberOfSigmasTPC(particle,AliPID::kProton);
251
252 Double_t t0=fgESDpid->GetTOFResponse().GetTimeZero();
253 values[AliDielectronVarManager::kTOFnSigmaPio]=fgESDpid->NumberOfSigmasTOF(particle,AliPID::kPion,t0);
254 values[AliDielectronVarManager::kTOFnSigmaMuo]=fgESDpid->NumberOfSigmasTOF(particle,AliPID::kMuon,t0);
255 values[AliDielectronVarManager::kTOFnSigmaKao]=fgESDpid->NumberOfSigmasTOF(particle,AliPID::kKaon,t0);
256 values[AliDielectronVarManager::kTOFnSigmaPro]=fgESDpid->NumberOfSigmasTOF(particle,AliPID::kProton,t0);
b2a297fa 257}
258
259inline void AliDielectronVarManager::FillVarAODTrack(const AliAODTrack *particle, Double_t * const values)
260{
261 //
262 // Fill track information available for histogramming into an array
263 //
264
265 // Fill common AliVParticle interface information
266 FillVarVParticle(particle, values);
572b0139 267
268 // Reset AliESDtrack interface specific information
269 values[AliDielectronVarManager::kNclsITS] = 0;
270 values[AliDielectronVarManager::kNclsTPC] = 0;
271 values[AliDielectronVarManager::kNFclsTPC] = 0;
272 values[AliDielectronVarManager::kNclsTRD] = 0;
273 values[AliDielectronVarManager::kTRDntracklets] = 0;
274 values[AliDielectronVarManager::kTRDpidQuality] = 0;
275
276 //TODO: This is only an approximation!!!
277 values[AliDielectronVarManager::kTPCsignalN] = particle->GetTPCClusterMap().CountBits();
278
279// Fill AliAODTrack interface information
b2a297fa 280 // ...
572b0139 281 values[AliDielectronVarManager::kImpactParXY] = particle->DCA();
282 values[AliDielectronVarManager::kImpactParZ] = particle->ZAtDCA();
283
284 values[AliDielectronVarManager::kPIn]=0;
285 values[AliDielectronVarManager::kTPCsignal]=0;
286
287 values[AliDielectronVarManager::kTPCnSigmaEle]=0;
288 values[AliDielectronVarManager::kTPCnSigmaPio]=0;
289 values[AliDielectronVarManager::kTPCnSigmaMuo]=0;
290 values[AliDielectronVarManager::kTPCnSigmaKao]=0;
291 values[AliDielectronVarManager::kTPCnSigmaPro]=0;
b2a297fa 292
572b0139 293
294 AliAODPid *pid=particle->GetDetPid();
295 if (pid){
296 Double_t mom =pid->GetTPCmomentum();
297 //TODO: kTPCsignalN is only an approximation (see above)!!
298
299 Double_t tpcNsigmaEle=fgESDpid->GetTPCResponse().GetNumberOfSigmas(mom,pid->GetTPCsignal(),
300 TMath::Nint(values[AliDielectronVarManager::kTPCsignalN]) ,AliPID::kElectron);
301
302 Double_t tpcNsigmaPio=fgESDpid->GetTPCResponse().GetNumberOfSigmas(mom,pid->GetTPCsignal(),
303 TMath::Nint(values[AliDielectronVarManager::kTPCsignalN]),AliPID::kPion);
304
305 Double_t tpcNsigmaMuo=fgESDpid->GetTPCResponse().GetNumberOfSigmas(mom,pid->GetTPCsignal(),
306 TMath::Nint(values[AliDielectronVarManager::kTPCsignalN]),AliPID::kMuon);
307
308 Double_t tpcNsigmaKao=fgESDpid->GetTPCResponse().GetNumberOfSigmas(mom,pid->GetTPCsignal(),
309 TMath::Nint(values[AliDielectronVarManager::kTPCsignalN]),AliPID::kKaon);
310
311 Double_t tpcNsigmaPro=fgESDpid->GetTPCResponse().GetNumberOfSigmas(mom,pid->GetTPCsignal(),
312 TMath::Nint(values[AliDielectronVarManager::kTPCsignalN]),AliPID::kProton);
313
314 values[AliDielectronVarManager::kPIn]=pid->GetTPCmomentum();
315 values[AliDielectronVarManager::kTPCsignal]=pid->GetTPCsignal();
316
317 values[AliDielectronVarManager::kTPCnSigmaEle]=tpcNsigmaEle;
318 values[AliDielectronVarManager::kTPCnSigmaPio]=tpcNsigmaPio;
319 values[AliDielectronVarManager::kTPCnSigmaMuo]=tpcNsigmaMuo;
320 values[AliDielectronVarManager::kTPCnSigmaKao]=tpcNsigmaKao;
321 values[AliDielectronVarManager::kTPCnSigmaPro]=tpcNsigmaPro;
322
323 values[AliDielectronVarManager::kTRDntracklets] = 0;
324 values[AliDielectronVarManager::kTRDpidQuality] = 0;
325
326 }
b2a297fa 327}
328
329inline void AliDielectronVarManager::FillVarMCParticle(const AliMCParticle *particle, Double_t * const values)
330{
331 //
332 // Fill track information available for histogramming into an array
333 //
334
335 // Fill common AliVParticle interface information
336 FillVarVParticle(particle, values);
337
338 // Fill AliMCParticle interface specific information
339 values[AliDielectronVarManager::kPdgCode] = particle->PdgCode();
340}
341
342inline void AliDielectronVarManager::FillVarAODMCParticle(const AliAODMCParticle *particle, Double_t * const values)
343{
344 //
345 // Fill track information available for histogramming into an array
346 //
347
348 // Fill common AliVParticle interface information
349 FillVarVParticle(particle, values);
350
351 // Fill AliAODMCParticle interface specific information
352 values[AliDielectronVarManager::kPdgCode] = particle->GetPdgCode();
353}
354
355inline void AliDielectronVarManager::FillVarDielectronPair(const AliDielectronPair *pair, Double_t * const values)
356{
357 //
358 // Fill pair information available for histogramming into an array
359 //
360
361 // Fill common AliVParticle interface information
362 FillVarVParticle(pair, values);
363
364 // Fill AliDielectronPair specific information
365 const AliKFParticle &kfPair = pair->GetKFParticle();
366
367 values[AliDielectronVarManager::kChi2NDF] = kfPair.GetChi2()/kfPair.GetNDF();
368 values[AliDielectronVarManager::kDecayLength] = kfPair.GetDecayLength();
369 values[AliDielectronVarManager::kR] = kfPair.GetR();
370 values[AliDielectronVarManager::kOpeningAngle] = pair->OpeningAngle();
572b0139 371 values[AliDielectronVarManager::kLegDist] = pair->DistanceDaughters();
372 values[AliDielectronVarManager::kLegDistXY] = pair->DistanceDaughtersXY();
373 values[AliDielectronVarManager::kMerr] = kfPair.GetErrMass()>1e-30&&kfPair.GetErrMass()>1e-30?kfPair.GetErrMass()/kfPair.GetMass():1000000;
b2a297fa 374 values[AliDielectronVarManager::kPairType] = pair->GetType();
375}
376
6551594b 377
378inline void AliDielectronVarManager::FillVarVEvent(const AliVEvent *event, Double_t * const values)
379{
380 //
381 // Fill event information available for histogramming into an array
382 //
383 const AliVVertex *primVtx = event->GetPrimaryVertex();
384 values[AliDielectronVarManager::kXvPrim] = primVtx->GetX();
385 values[AliDielectronVarManager::kYvPrim] = primVtx->GetY();
386 values[AliDielectronVarManager::kZvPrim] = primVtx->GetZ();
387 values[AliDielectronVarManager::kChi2NDF] = primVtx->GetChi2perNDF();
388
389 values[AliDielectronVarManager::kNTrk] = event->GetNumberOfTracks();
390 values[AliDielectronVarManager::kNevents] = 0; //always fill bin 0;
391}
392
393inline void AliDielectronVarManager::FillVarESDEvent(const AliESDEvent *event, Double_t * const values)
394{
395 //
396 // Fill event information available for histogramming into an array
397 //
398
399 // Fill common AliVEvent interface information
400 FillVarVEvent(event, values);
401
402 // Fill AliESDEvent interface specific information
403 const AliESDVertex *primVtx = event->GetPrimaryVertex();
404 values[AliDielectronVarManager::kXRes] = primVtx->GetXRes();
405 values[AliDielectronVarManager::kYRes] = primVtx->GetYRes();
406 values[AliDielectronVarManager::kZRes] = primVtx->GetZRes();
407}
408
409inline void AliDielectronVarManager::FillVarAODEvent(const AliAODEvent *event, Double_t * const values)
410{
411 //
412 // Fill event information available for histogramming into an array
413 //
414
415 // Fill common AliVEvent interface information
416 FillVarVEvent(event, values);
417
418 // Fill AliAODEvent interface specific information
419}
420
421inline void AliDielectronVarManager::FillVarMCEvent(const AliMCEvent *event, Double_t * const values)
422{
423 //
424 // Fill event information available for histogramming into an array
425 //
426
427 // Fill common AliVEvent interface information
428 FillVarVEvent(event, values);
429
430 // Fill AliMCEvent interface specific information
431}
432
433inline void AliDielectronVarManager::InitESDpid(Int_t type)
434{
435 //
436 // initialize PID parameters
437 // type=0 is simulation
438 // type=1 is data
439
572b0139 440 if (!fgESDpid) fgESDpid=new AliESDpid;
6551594b 441 Double_t alephParameters[5];
442 // simulation
443 alephParameters[0] = 2.15898e+00/50.;
444 alephParameters[1] = 1.75295e+01;
445 alephParameters[2] = 3.40030e-09;
446 alephParameters[3] = 1.96178e+00;
447 alephParameters[4] = 3.91720e+00;
448
449 // data
450 if (type==1){
451 alephParameters[0] = 0.0283086;
452 alephParameters[1] = 2.63394e+01;
453 alephParameters[2] = 5.04114e-11;
454 alephParameters[3] = 2.12543e+00;
455 alephParameters[4] = 4.88663e+00;
456 }
457
458 fgESDpid->GetTPCResponse().SetBetheBlochParameters(
459 alephParameters[0],alephParameters[1],alephParameters[2],
460 alephParameters[3],alephParameters[4]);
461
462}
463
572b0139 464
465inline void AliDielectronVarManager::SetEvent(AliVEvent * const ev)
466{
467
468 fgEvent = ev;
469 if (fgKFVertex) delete fgKFVertex;
470 fgKFVertex=0x0;
471 if (ev) fgKFVertex=new AliKFVertex(*ev->GetPrimaryVertex());
472}
b2a297fa 473/*
474inline void AliDielectronVarManager::FillValues(const TParticle *particle, Double_t *values)
475{
476 //
477 // Fill track information available for histogramming into an array
478 //
479
480 // Fill TParticle interface information
481 values[AliDielectronVarManager::kPx] = particle->Px();
482 values[AliDielectronVarManager::kPy] = particle->Py();
483 values[AliDielectronVarManager::kPz] = particle->Pz();
484 values[AliDielectronVarManager::kPt] = particle->Pt();
485 values[AliDielectronVarManager::kP] = particle->P();
486
487 values[AliDielectronVarManager::kXv] = particle->Vx();
488 values[AliDielectronVarManager::kYv] = particle->Vy();
489 values[AliDielectronVarManager::kZv] = particle->Vz();
490
491 values[AliDielectronVarManager::kOneOverPt] = 1./particle->Pt();
492 values[AliDielectronVarManager::kPhi] = particle->Phi();
493 values[AliDielectronVarManager::kTheta] =
494 values[AliDielectronVarManager::kEta] = particle->Eta();
495 values[AliDielectronVarManager::kY] =
496
497 values[AliDielectronVarManager::kE] = particle->Energy();
498 values[AliDielectronVarManager::kM] = particle->GetMass();
499
500 values[AliDielectronVarManager::kCharge] = particle->GetPDG()->Charge()/3; // uggly
501
502}*/
503
504#endif