]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AliAODPWG4ParticleCorrelation.h
Corrected protection.
[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 private:
32   AliAODPWG4ParticleCorrelation& operator=(const AliAODPWG4ParticleCorrelation& photon);
33   
34 public:
35   virtual TObjArray* GetObjArray(TString refname)  const { return   (TObjArray*) fListOfObjArrays->FindObject(refname); } 
36   virtual TList*     GetObjArrayList()             const { return  fListOfObjArrays; } 
37   virtual void       AddObjArray(TObjArray * refarray)  { fListOfObjArrays->Add(refarray); }
38
39   virtual TString GetLeadingDetector()   const {return fLeadingDetector ; }
40   virtual void SetLeadingDetector(TString d)   {fLeadingDetector = d ; }
41   
42   virtual TLorentzVector  GetLeading()               const { return  fLeading;}
43   virtual void  SetLeading(TLorentzVector lead) {fLeading = lead;}
44   
45   virtual TLorentzVector  GetCorrelatedJet()         const { return  fCorrJet;}
46   virtual void  SetCorrelatedJet(TLorentzVector jet) {fCorrJet = jet;}
47   
48   virtual TLorentzVector  GetCorrelatedBackground()  const { return  fCorrBkg;}
49   virtual void  SetCorrelatedBackground(TLorentzVector bkg) {fCorrBkg = bkg;}
50   
51   virtual void SetRefJet(AliAODJet* jet)  { fRefJet = jet;}
52   virtual      AliAODJet* GetJet() const {return ((AliAODJet*) fRefJet.GetObject());}
53   virtual TRef GetRefJet()         const {return fRefJet;}
54   
55   virtual Bool_t IsIsolated() const      { return fIsolated ; }
56   virtual void   SetIsolated(Bool_t iso) { fIsolated = iso ; }
57
58   virtual void   Print(Option_t* /*option*/) const;
59   
60  private:
61   Bool_t         fIsolated ;        //Particle is isolated or not  
62   TString        fLeadingDetector;  // Detector where leading particle was measured.
63   TLorentzVector fLeading;          // Leading Particle 4-momentum vector
64   TLorentzVector fCorrJet;          // Jet  4-momentum vector
65   TLorentzVector fCorrBkg;          // Background  4-momentum vector
66   TRef           fRefJet;           // Reference to jet found with JETAN and correlated with particle
67   TList   *      fListOfObjArrays ; // List with correlation reference arrays
68   
69   ClassDef(AliAODPWG4ParticleCorrelation, 3);
70 };
71
72
73 #endif //ALIAODPWG4PARTICLECORRELATION_H