/////////////////////////////////////////////////////////////
#include "AliVAODParticle.h"
-//#include <TLorentzVector.h>
-//#include <TMath.h>
+#include <TLorentzVector.h>
+#include <TMath.h>
#include <TDatabasePDG.h>
// ****** constructors and destructor
AliAODParticle();
AliAODParticle(const AliAODParticle& in);
+ AliAODParticle(const AliVAODParticle& in);
AliAODParticle(Int_t pdg, Int_t idx, Double_t px, Double_t py, Double_t pz, Double_t etot,
Double_t vx, Double_t vy, Double_t vz, Double_t time);
virtual ~AliAODParticle();
AliAODParticle& operator=(const AliAODParticle& in);
+ AliVAODParticle& operator=(const AliVAODParticle& in);
- TLorentzVector FourMomentum() const {TLorentzVector v(fPx,fPy,fPz,fE);return v;}
- TVector3 ProductionVertex() const {TVector3 v(fVx,fVy,fVz);return v;}
+ void Clear(Option_t* /*option*/ ="");//Must be implemented in order to store this object in Clones Array
void SetPIDprobability(Int_t pdg, Float_t prob = 1.0);
Float_t GetPIDprobability(Int_t pdg) const;
Double_t GetProbability(Int_t pdg) const {return GetPIDprobability(pdg);}
+
Int_t GetMostProbable() const { return (fPids)?fPids[0]:0;}
Int_t GetPdgCode () const { return (fPids)?fPids[fPdgIdx]:0;}
- Float_t GetPidProb () const { return (fPidProb)?fPidProb[fPdgIdx]:0;}
+ Double_t GetPidProb () const { return (fPidProb)?fPidProb[fPdgIdx]:0;}
Int_t GetUID () const { return fIdxInEvent;}
Int_t GetNumberOfPids () const { return fNPids;}
Double_t Pt () const //transverse momentum
{ return TMath::Sqrt(fPx*fPx+fPy*fPy); }
- Double_t Energy() const { return fE; }
+ Double_t E() const { return fE; }
//Pseudo Rapidity
Double_t Eta () const { if (P() != fPz) return 0.5*TMath::Log((P()+fPz)/(P()-fPz));
{SetProductionVertex(v.X(),v.Y(),v.Z(),v.T());}
void SetCalcMass(Double_t mass) {fCalcMass = mass;}
- void SetUID(Int_t id){fIdxInEvent = id;}
+ void SetUID(Int_t id){fIdxInEvent = id;}
- const Char_t* GetName() const;
- void Print() const;
+ const Char_t* GetName() const;
+ void Print(const Option_t * opt = "") const;
- void SetTrackPoints(AliTrackPoints* tpts){fTrackPoints = tpts;}
- AliTrackPoints* GetTrackPoints() const {return fTrackPoints;}
- void SetClusterMap(AliClusterMap* cm){fClusterMap = cm;}
- AliClusterMap* GetClusterMap() const {return fClusterMap;}
+ void SetTPCTrackPoints(AliTrackPoints* tpts){fTPCTrackPoints = tpts;}
+ AliTrackPoints* GetTPCTrackPoints() const {return fTPCTrackPoints;}
+ void SetITSTrackPoints(AliTrackPoints* tpts){fITSTrackPoints = tpts;}
+ AliTrackPoints* GetITSTrackPoints() const {return fITSTrackPoints;}
+ void SetClusterMap(AliClusterMap* cm){fClusterMap = cm;}
+ AliClusterMap* GetClusterMap() const {return fClusterMap;}
protected:
Double_t fVz; // z of production vertex
Double_t fVt; // t of production vertex
- AliTrackPoints* fTrackPoints; // track positions along trajectory - used by anti-merging cut
+ AliTrackPoints* fTPCTrackPoints; // track positions along trajectory - used by anti-merging cut
+ AliTrackPoints* fITSTrackPoints; // track positions along trajectory - used by anti-merging cut
AliClusterMap* fClusterMap; // bit map of cluters occupation; 1 if has cluter on given layer/padrow/...
ClassDef(AliAODParticle,3) // TParticle vertex particle information