]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ANALYSIS/AliAODParticle.h
Several changes:
[u/mrichter/AliRoot.git] / ANALYSIS / AliAODParticle.h
diff --git a/ANALYSIS/AliAODParticle.h b/ANALYSIS/AliAODParticle.h
deleted file mode 100644 (file)
index 911562f..0000000
+++ /dev/null
@@ -1,165 +0,0 @@
-#ifndef ALIAODPARTICLE_H
-#define ALIAODPARTICLE_H
-//___________________________________________________________
-/////////////////////////////////////////////////////////////
-//
-// class AliAODParticle
-//
-// Ali HBT Particle: simplified class TParticle
-// Simplified in order to minimize the size of the object
-//  - we want to keep a lot of such a objects in memory
-// Additionaly adjusted for HBT Analysies purposes
-// + pointer to Track Points
-// + pointer to Cluster Map(s)
-//
-// Piotr.Skowronski@cern.ch
-//
-/////////////////////////////////////////////////////////////
-
-#include "AliVAODParticle.h"
-#include <TLorentzVector.h>
-#include <TMath.h>
-#include <TDatabasePDG.h>
-
-
-class TParticle;
-class AliTrackPoints;
-class AliClusterMap;
-
-class AliAODParticle: public AliVAODParticle
-{
-public:
-                                // ****** 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);
-
-  AliAODParticle(Int_t pdg, Float_t prob, 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);
-
-  AliAODParticle(const TParticle& p, Int_t idx);
-
-  virtual ~AliAODParticle();
-  
-  AliAODParticle& operator=(const AliAODParticle& in); 
-  
-  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;}
-
-  Double_t       GetPidProb      () const { return (fPidProb)?fPidProb[fPdgIdx]:0;}
-  
-  Int_t          GetUID          () const { return fIdxInEvent;}
-  Int_t          GetNumberOfPids () const { return fNPids;}
-  Int_t          GetNthPid         (Int_t idx) const;
-  Float_t        GetNthPidProb     (Int_t idx) const;
-      
-  void           SetPdgCode(Int_t pdg, Float_t prob = 1.0);
-  Double_t       GetCalcMass     () const { return fCalcMass; }
-  Double_t       Mass            () const { return (GetPDG())?GetPDG()->Mass():-1.;}
-  
-  
-  TParticlePDG*  GetPDG          () const {return TDatabasePDG::Instance()->GetParticle(GetPdgCode());}
-  Double_t       Charge          () const { return (GetPDG())?GetPDG()->Charge():1.e8;}
-  
-  Int_t          Beauty          ()  { return GetPDG()->Beauty(); }
-  Int_t          Charm           ()  { return GetPDG()->Charm(); }
-  Int_t          Strangeness     ()  { return GetPDG()->Strangeness();}
-  void ProductionVertex(TLorentzVector &v) const { v.SetXYZT(fVx,fVy,fVz,fVt);}
-
-
-  Double_t         Vx    () const { return fVx;}
-  Double_t         Vy    () const { return fVy;}
-  Double_t         Vz    () const { return fVz;}
-  Double_t         T     () const { return fVt;}
-
-  Double_t         Px    () const { return fPx; } //X coordinate of the momentum
-  Double_t         Py    () const { return fPy; } //Y coordinate of the momentum
-  Double_t         Pz    () const { return fPz; } //Z coordinate of the momentum
-  Double_t         P     () const                 //momentum
-    { return TMath::Sqrt(fPx*fPx+fPy*fPy+fPz*fPz); }
-  
-  void Momentum(TLorentzVector &v) const { v.SetPxPyPzE(fPx,fPy,fPz,fE);}
-    
-  Double_t         Pt    () const  //transverse momentum
-    { return TMath::Sqrt(fPx*fPx+fPy*fPy); }
-  Double_t         E() const { return fE; }
-  
-                                   //Pseudo Rapidity
-  Double_t         Eta   () const { if (P() != fPz) return 0.5*TMath::Log((P()+fPz)/(P()-fPz)); 
-                                    else return 1.e30;}
-
-                                   //Rapidity
-  Double_t         Y     () const { if (fE  != fPz) return 0.5*TMath::Log((fE+fPz)/(fE-fPz));
-                                    else return 1.e30;}
-
-  Double_t         Phi   () const { return TMath::Pi()+TMath::ATan2(-fPy,-fPx); }
-
-  Double_t         Theta () const { return (fPz==0)?TMath::PiOver2():TMath::ACos(fPz/P()); }
-
-  // setters
-
-  void           SetMomentum(Double_t px, Double_t py, Double_t pz, Double_t e)
-                             {fPx=px; fPy=py; fPz=pz; fE=e;}
-  void           SetMomentum(const TLorentzVector& p)
-                             {SetMomentum(p.Px(),p.Py(),p.Pz(),p.Energy());}
-
-  void           SetProductionVertex(Double_t vx, Double_t vy, Double_t vz, Double_t t)
-                             {fVx=vx; fVy=vy; fVz=vz; fVt=t;}
-  void           SetProductionVertex(const TLorentzVector& v)
-                             {SetProductionVertex(v.X(),v.Y(),v.Z(),v.T());}
-  void           SetCalcMass(Double_t mass) {fCalcMass = mass;}
-  
-  void            SetUID(Int_t id){fIdxInEvent = id;}
-  
-  const Char_t*   GetName() const; 
-  void            Print(const Option_t * opt = "") const;
-  
-  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:
-  Int_t          GetPidSlot(Int_t pdg) const;//returns position of the given PID in fPids (and fPidProb) array.
-
-private:
-  Int_t          fPdgIdx;               // index of PDG code of the particle in fPids
-  Int_t          fIdxInEvent;           // index of a particle: the same particle can appear in the event
-                                        //  many times with different pid's. Idx allows to check that they are the same particles
-  Int_t          fNPids;                // number of non-zero proboble Pids
-  Int_t         *fPids;                 // [fNPids] Array with PIDs
-  Float_t       *fPidProb;              // [fNPids] PIDs probabilities
-  Double_t       fCalcMass;             // Calculated mass
-
-  
-  Double_t       fPx;                   // x component of momentum
-  Double_t       fPy;                   // y component of momentum
-  Double_t       fPz;                   // z component of momentum
-  Double_t       fE;                    // Energy
-
-  Double_t       fVx;                   // x of production vertex
-  Double_t       fVy;                   // y of production vertex
-  Double_t       fVz;                   // z of production vertex
-  Double_t       fVt;                   // t of production vertex
-
-  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
-};
-
-#endif