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 //-------------------------------------------------------------------------
16 #include "AliAODJet.h"
21 #include "AliAODPWG4Particle.h"
23 class AliAODPWG4ParticleCorrelation : public AliAODPWG4Particle {
26 AliAODPWG4ParticleCorrelation();
27 AliAODPWG4ParticleCorrelation(Double_t px, Double_t py, Double_t pz, Double_t e);
28 AliAODPWG4ParticleCorrelation(TLorentzVector & p);
29 AliAODPWG4ParticleCorrelation(AliAODPWG4Particle & p);
31 virtual ~AliAODPWG4ParticleCorrelation();
32 virtual void Clear(const Option_t* /*opt*/);
34 AliAODPWG4ParticleCorrelation(const AliAODPWG4ParticleCorrelation& photon);
36 AliAODPWG4ParticleCorrelation& operator=(const AliAODPWG4ParticleCorrelation& photon);
39 virtual TObjArray* GetObjArray(TString refname) const { if(fListOfObjArrays) return (TObjArray*) fListOfObjArrays->FindObject(refname);
41 virtual TList* GetObjArrayList() const { return fListOfObjArrays; }
42 virtual void AddObjArray(TObjArray * refarray) { fListOfObjArrays->Add(refarray); }
44 virtual TString GetLeadingDetector() const {return fLeadingDetector ; }
45 virtual void SetLeadingDetector(TString d) {fLeadingDetector = d ; }
47 virtual TLorentzVector GetLeading() const { return fLeading;}
48 virtual void SetLeading(TLorentzVector lead) {fLeading = lead;}
50 virtual TLorentzVector GetCorrelatedJet() const { return fCorrJet;}
51 virtual void SetCorrelatedJet(TLorentzVector jet) {fCorrJet = jet;}
53 virtual TLorentzVector GetCorrelatedBackground() const { return fCorrBkg;}
54 virtual void SetCorrelatedBackground(TLorentzVector bkg) {fCorrBkg = bkg;}
56 virtual void SetRefJet(AliAODJet* jet) { fRefJet = jet;}
57 virtual AliAODJet* GetJet() const {return ((AliAODJet*) fRefJet.GetObject());}
58 virtual TRef GetRefJet() const {return fRefJet;}
60 virtual Bool_t IsIsolated() const { return fIsolated ; }
61 virtual void SetIsolated(Bool_t iso) { fIsolated = iso ; }
63 virtual Bool_t IsLeadingParticle() const { return fLeadingParticle ; }
64 virtual void SetLeadingParticle(Bool_t leadPart) { fLeadingParticle = leadPart ; }
65 virtual void Print(Option_t* /*option*/) const;
68 Bool_t fIsolated ; //Particle is isolated or not
69 Bool_t fLeadingParticle ; //Particle is leading or not
70 TString fLeadingDetector; // Detector where leading particle was measured.
71 TLorentzVector fLeading; // Leading Particle 4-momentum vector
72 TLorentzVector fCorrJet; // Jet 4-momentum vector
73 TLorentzVector fCorrBkg; // Background 4-momentum vector
74 TRef fRefJet; // Reference to jet found with JETAN and correlated with particle
75 TList * fListOfObjArrays ; // List with correlation reference arrays
77 ClassDef(AliAODPWG4ParticleCorrelation, 4);
81 #endif //ALIAODPWG4PARTICLECORRELATION_H