]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AOD/AliAODPWG4ParticleCorrelation.h
Non-implemented method are commented out or moved to the private part of the class
[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 //     AOD objects class in use in the CaloTrackCorrelations
10 //     analysis pacackge ($ALICE_ROOT/PWGGA/CaloTrackCorrelations)
11 //     Includes correlation objects
12 //
13 //     Author: Gustavo Conesa Balbastre - CNRS-LPSC-Grenoble
14 //-------------------------------------------------------------------------
15
16 //-- ROOT system --
17 #include "TList.h"
18 #include "AliAODJet.h"
19
20 //-- Analysis system
21
22
23 #include "AliAODPWG4Particle.h"
24
25 class AliAODPWG4ParticleCorrelation : public AliAODPWG4Particle {
26
27  public:
28   
29   AliAODPWG4ParticleCorrelation();
30   AliAODPWG4ParticleCorrelation(Double_t px, Double_t py, Double_t pz, Double_t e);
31   AliAODPWG4ParticleCorrelation(TLorentzVector & p);  
32   AliAODPWG4ParticleCorrelation(AliAODPWG4Particle & p);  
33   
34   virtual ~AliAODPWG4ParticleCorrelation();
35   virtual void Clear(const Option_t* /*opt*/);
36   
37   AliAODPWG4ParticleCorrelation(           const AliAODPWG4ParticleCorrelation& photon);
38   
39 private:
40   
41   AliAODPWG4ParticleCorrelation& operator=(const AliAODPWG4ParticleCorrelation& photon);
42   
43 public:
44   virtual TObjArray* GetObjArray(TString refname)     const
45   { if(fListOfObjArrays) return (TObjArray*) fListOfObjArrays->FindObject(refname);
46     else                 return 0x0 ; }
47   
48   virtual TList*     GetObjArrayList()                const { return  fListOfObjArrays; }
49   virtual void       AddObjArray(TObjArray * refarray)      { fListOfObjArrays->Add(refarray); }
50
51   virtual Int_t GetLeadingDetector()                  const { return fLeadingDetector ; }
52   virtual void  SetLeadingDetector(Int_t d)                 { fLeadingDetector = d    ; }
53   
54   virtual TLorentzVector  GetLeading()                const { return  fLeading ; }
55   virtual void  SetLeading(TLorentzVector lead)             { fLeading = lead  ; }
56   
57   virtual TLorentzVector  GetCorrelatedJet()          const { return  fCorrJet ; }
58   virtual void  SetCorrelatedJet(TLorentzVector jet)        { fCorrJet = jet   ; }
59   
60   virtual TLorentzVector  GetCorrelatedBackground()   const { return  fCorrBkg ; }
61   virtual void  SetCorrelatedBackground(TLorentzVector bkg) { fCorrBkg = bkg   ; }
62   
63   virtual void  SetRefJet(AliAODJet* jet)                   { fRefJet = jet    ; }
64   virtual       AliAODJet* GetJet()                   const { return ((AliAODJet*) fRefJet.GetObject()) ; }
65   virtual TRef  GetRefJet()                           const { return fRefJet;}
66   
67   virtual void   Print(Option_t* /*option*/) const;
68   
69  private:
70   Int_t          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, 6);
78 };
79
80
81 #endif //ALIAODPWG4PARTICLECORRELATION_H