Moving the classes that belong to the following libraries: STEERBase, ESD, CDB, AOD...
[u/mrichter/AliRoot.git] / STEER / AOD / 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 #include "AliAODJet.h"
17
18 //-- Analysis system
19
20
21 #include "AliAODPWG4Particle.h"
22
23 class AliAODPWG4ParticleCorrelation : public AliAODPWG4Particle {
24
25  public:
26   AliAODPWG4ParticleCorrelation();
27   AliAODPWG4ParticleCorrelation(Double_t px, Double_t py, Double_t pz, Double_t e);
28   AliAODPWG4ParticleCorrelation(TLorentzVector & p);  
29   AliAODPWG4ParticleCorrelation(AliAODPWG4Particle & p);  
30   
31   virtual ~AliAODPWG4ParticleCorrelation();
32   virtual void Clear(const Option_t* /*opt*/);
33   
34   AliAODPWG4ParticleCorrelation(const AliAODPWG4ParticleCorrelation& photon); 
35 private:
36   AliAODPWG4ParticleCorrelation& operator=(const AliAODPWG4ParticleCorrelation& photon);
37   
38 public:
39   virtual TObjArray* GetObjArray(TString refname)  const { if(fListOfObjArrays) return (TObjArray*) fListOfObjArrays->FindObject(refname); 
40                                                            else return 0x0;} 
41   virtual TList*     GetObjArrayList()             const { return  fListOfObjArrays; } 
42   virtual void       AddObjArray(TObjArray * refarray)  { fListOfObjArrays->Add(refarray); }
43
44   virtual TString GetLeadingDetector()   const {return fLeadingDetector ; }
45   virtual void SetLeadingDetector(TString d)   {fLeadingDetector = d ; }
46   
47   virtual TLorentzVector  GetLeading()               const { return  fLeading;}
48   virtual void  SetLeading(TLorentzVector lead) {fLeading = lead;}
49   
50   virtual TLorentzVector  GetCorrelatedJet()         const { return  fCorrJet;}
51   virtual void  SetCorrelatedJet(TLorentzVector jet) {fCorrJet = jet;}
52   
53   virtual TLorentzVector  GetCorrelatedBackground()  const { return  fCorrBkg;}
54   virtual void  SetCorrelatedBackground(TLorentzVector bkg) {fCorrBkg = bkg;}
55   
56   virtual void SetRefJet(AliAODJet* jet)  { fRefJet = jet;}
57   virtual      AliAODJet* GetJet() const {return ((AliAODJet*) fRefJet.GetObject());}
58   virtual TRef GetRefJet()         const {return fRefJet;}
59   
60   virtual Bool_t IsIsolated() const      { return fIsolated ; }
61   virtual void   SetIsolated(Bool_t iso) { fIsolated = iso ; }
62
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;
66   
67  private:
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
76   
77   ClassDef(AliAODPWG4ParticleCorrelation, 4);
78 };
79
80
81 #endif //ALIAODPWG4PARTICLECORRELATION_H