AOD data classes moved from PWG4 to STEER (Gustavo Conesa)
[u/mrichter/AliRoot.git] / STEER / AliAODPWG4ParticleCorrelation.h
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                               */
5
6 /* $Id: AliAODPWG4ParticleCorrelation.h  $ */
7
8 //-------------------------------------------------------------------------
9 //     Copy of AOD photon class, adapted for particle identification
10 //     and correlations analysis
11 //     Author: Yves Schutz, CERN, Gustavo Conesa, INFN
12 //-------------------------------------------------------------------------
13
14 //-- ROOT system --
15 #include "TList.h"
16
17 //-- Analysis system
18 #include "AliAODJet.h"
19 #include "AliAODPWG4Particle.h"
20
21 class AliAODPWG4ParticleCorrelation : public AliAODPWG4Particle {
22
23  public:
24   AliAODPWG4ParticleCorrelation();
25   AliAODPWG4ParticleCorrelation(Double_t px, Double_t py, Double_t pz, Double_t e);
26   AliAODPWG4ParticleCorrelation(TLorentzVector & p);  
27   AliAODPWG4ParticleCorrelation(AliAODPWG4Particle & p);  
28   
29   virtual ~AliAODPWG4ParticleCorrelation();
30   AliAODPWG4ParticleCorrelation(const AliAODPWG4ParticleCorrelation& photon); 
31   AliAODPWG4ParticleCorrelation& operator=(const AliAODPWG4ParticleCorrelation& photon);
32   
33   virtual TObjArray* GetObjArray(TString refname)  const { return   (TObjArray*) fListOfObjArrays->FindObject(refname); } 
34   virtual TList*     GetObjArrayList()             const { return  fListOfObjArrays; } 
35   virtual void       AddObjArray(TObjArray * refarray)  { fListOfObjArrays->Add(refarray); }
36
37   virtual TString GetLeadingDetector()   const {return fLeadingDetector ; }
38   virtual void SetLeadingDetector(TString d)   {fLeadingDetector = d ; }
39   
40   virtual TLorentzVector  GetLeading()               const { return  fLeading;}
41   virtual void  SetLeading(TLorentzVector lead) {fLeading = lead;}
42   
43   virtual TLorentzVector  GetCorrelatedJet()         const { return  fCorrJet;}
44   virtual void  SetCorrelatedJet(TLorentzVector jet) {fCorrJet = jet;}
45   
46   virtual TLorentzVector  GetCorrelatedBackground()  const { return  fCorrBkg;}
47   virtual void  SetCorrelatedBackground(TLorentzVector bkg) {fCorrBkg = bkg;}
48   
49   virtual void SetRefJet(AliAODJet* jet)  { fRefJet = jet;}
50   virtual      AliAODJet* GetJet() const {return ((AliAODJet*) fRefJet.GetObject());}
51   virtual TRef GetRefJet()         const {return fRefJet;}
52   
53   virtual Bool_t IsIsolated() const      { return fIsolated ; }
54   virtual void   SetIsolated(Bool_t iso) { fIsolated = iso ; }
55
56   virtual void   Print(Option_t* /*option*/) const;
57   
58  private:
59   Bool_t         fIsolated ;        //Particle is isolated or not  
60   TString        fLeadingDetector;  // Detector where leading particle was measured.
61   TLorentzVector fLeading;          // Leading Particle 4-momentum vector
62   TLorentzVector fCorrJet;          // Jet  4-momentum vector
63   TLorentzVector fCorrBkg;          // Background  4-momentum vector
64   TRef           fRefJet;           // Reference to jet found with JETAN and correlated with particle
65   TList   *      fListOfObjArrays ; // List with correlation reference arrays
66   
67   ClassDef(AliAODPWG4ParticleCorrelation, 2);
68 };
69
70
71 #endif //ALIAODPWG4PARTICLECORRELATION_H