1 #ifndef ALIAODPWG4PARTICLECORRELATION_H
2 #define ALIAODPWG4PARTICLECORRELATION_H
3 /* Copyright(c) 1998-2007, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
6 /* $Id: AliAODPWG4ParticleCorrelation.h $ */
8 //-------------------------------------------------------------------------
9 // Copy of AOD photon class, adapted for particle identification
10 // and correlations analysis
11 // Author: Yves Schutz, CERN, Gustavo Conesa, INFN
12 //-------------------------------------------------------------------------
17 #include "AliAODJet.h"
18 #include "AliAODPWG4Particle.h"
20 class AliAODPWG4ParticleCorrelation : public AliAODPWG4Particle {
23 AliAODPWG4ParticleCorrelation();
24 AliAODPWG4ParticleCorrelation(Double_t px, Double_t py, Double_t pz, Double_t e);
25 AliAODPWG4ParticleCorrelation(TLorentzVector & p);
26 AliAODPWG4ParticleCorrelation(AliAODPWG4Particle & p);
28 virtual ~AliAODPWG4ParticleCorrelation();
29 AliAODPWG4ParticleCorrelation(const AliAODPWG4ParticleCorrelation& photon);
30 AliAODPWG4ParticleCorrelation& operator=(const AliAODPWG4ParticleCorrelation& photon);
32 virtual Bool_t IsIsolated() const { return fIsolated ;}
33 virtual void SetIsolated(Bool_t iso) {fIsolated = iso ;}
35 virtual TRefArray* GetRefTracks() const { return fRefTracks;}
36 virtual void AddTrack(TObject *tr) {fRefTracks->Add(tr);}
37 virtual TObject* GetTrack(Int_t i) const { return fRefTracks->At(i);}
39 virtual TRefArray* GetRefClusters() const { return fRefClusters;}
40 virtual void AddCluster(TObject *tr) {fRefClusters->Add(tr);}
41 virtual TObject* GetCluster(Int_t i) const { return fRefClusters->At(i);}
43 virtual TRefArray* GetRefIsolationConeTracks() const { return fRefIsolationConeTracks;}
44 virtual void AddIsolationConeTrack(TObject *tr) {fRefIsolationConeTracks->Add(tr);}
45 virtual TObject* GetIsolationConeTrack(Int_t i) const { return fRefIsolationConeTracks->At(i);}
47 virtual TRefArray* GetRefIsolationConeClusters() const { return fRefIsolationConeClusters;}
48 virtual void AddIsolationConeCluster(TObject *tr) {fRefIsolationConeClusters->Add(tr);}
49 virtual TObject* GetIsolationConeCluster(Int_t i) const { return fRefIsolationConeClusters->At(i);}
51 virtual TRefArray* GetRefBackgroundTracks() const { return fRefBackgroundTracks;}
52 virtual void AddBackgroundTrack(TObject *tr) {fRefBackgroundTracks->Add(tr);}
53 virtual TObject* GetBackgroundTrack(Int_t i) const { return fRefBackgroundTracks->At(i);}
55 virtual TRefArray* GetRefBackgroundClusters() const { return fRefBackgroundClusters;}
56 virtual void AddBackgroundCluster(TObject *tr) {fRefBackgroundClusters->Add(tr);}
57 virtual TObject* GetBackgroundCluster(Int_t i) const { return fRefBackgroundClusters->At(i);}
59 virtual TString GetLeadingDetector() const {return fLeadingDetector ; }
60 virtual void SetLeadingDetector(TString d) {fLeadingDetector = d ; }
62 virtual TLorentzVector GetLeading() const { return fLeading;}
63 virtual void SetLeading(TLorentzVector lead) {fLeading = lead;}
65 virtual TLorentzVector GetCorrelatedJet() const { return fCorrJet;}
66 virtual void SetCorrelatedJet(TLorentzVector jet) {fCorrJet = jet;}
68 virtual TLorentzVector GetCorrelatedBackground() const { return fCorrBkg;}
69 virtual void SetCorrelatedBackground(TLorentzVector bkg) {fCorrBkg = bkg;}
71 virtual void SetRefJet(AliAODJet* jet) { fRefJet = jet;}
72 virtual AliAODJet* GetJet() const {return ((AliAODJet*) fRefJet.GetObject());}
73 virtual TRef GetRefJet() const {return fRefJet;}
75 virtual void Print(Option_t* /*option*/) const;
79 Bool_t fIsolated ; //Particle is isolated or not
81 TRefArray* fRefTracks; // array of references to the tracks belonging to the jet / all selected hadrons
82 TRefArray* fRefClusters; // array of references to the clusters belonging to the jet / all selected hadrons
84 TRefArray* fRefIsolationConeTracks; // array of references to the tracks belonging to the cone around direct particle candidate
85 TRefArray* fRefIsolationConeClusters; // array of references to the clusters belonging to the cone around direct particle candidate
87 TRefArray* fRefBackgroundTracks; // array of references to the tracks for background stimation
88 TRefArray* fRefBackgroundClusters; // array of references to the clusters for background stimation
90 TString fLeadingDetector; // Detector where leading particle was measured.
91 TLorentzVector fLeading; // Leading Particle 4-momentum vector
93 TLorentzVector fCorrJet; // Jet 4-momentum vector
94 TLorentzVector fCorrBkg; // Background 4-momentum vector
96 TRef fRefJet; // Rerence to jet found with JETAN and correlated with particle
98 ClassDef(AliAODPWG4ParticleCorrelation,1);
102 #endif //ALIAODPWG4PARTICLECORRELATION_H