ROOT logo
#ifndef ALIAODPWG4PARTICLECORRELATION_H
#define ALIAODPWG4PARTICLECORRELATION_H
/* Copyright(c) 1998-2007, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

/* $Id: AliAODPWG4ParticleCorrelation.h  $ */

//-------------------------------------------------------------------------
//     AOD objects class in use in the CaloTrackCorrelations
//     analysis pacackge ($ALICE_ROOT/PWGGA/CaloTrackCorrelations)
//     Includes correlation objects
//
//     Author: Gustavo Conesa Balbastre - CNRS-LPSC-Grenoble
//-------------------------------------------------------------------------

//-- ROOT system --
#include "TList.h"
#include "AliAODJet.h"

//-- Analysis system


#include "AliAODPWG4Particle.h"

class AliAODPWG4ParticleCorrelation : public AliAODPWG4Particle {

 public:
  
  AliAODPWG4ParticleCorrelation();
  AliAODPWG4ParticleCorrelation(Double_t px, Double_t py, Double_t pz, Double_t e);
  AliAODPWG4ParticleCorrelation(TLorentzVector & p);  
  AliAODPWG4ParticleCorrelation(AliAODPWG4Particle & p);  
  
  virtual ~AliAODPWG4ParticleCorrelation();
  virtual void Clear(const Option_t* /*opt*/);
  
  AliAODPWG4ParticleCorrelation(           const AliAODPWG4ParticleCorrelation& photon);
  
private:
  
  AliAODPWG4ParticleCorrelation& operator=(const AliAODPWG4ParticleCorrelation& photon);
  
public:
  virtual TObjArray* GetObjArray(TString refname)     const
  { if(fListOfObjArrays) return (TObjArray*) fListOfObjArrays->FindObject(refname);
    else                 return 0x0 ; }
  
  virtual TList*     GetObjArrayList()                const { return  fListOfObjArrays; }
  virtual void       AddObjArray(TObjArray * refarray)      { fListOfObjArrays->Add(refarray); }

  virtual Int_t GetLeadingDetector()                  const { return fLeadingDetector ; }
  virtual void  SetLeadingDetector(Int_t d)                 { fLeadingDetector = d    ; }
  
  virtual TLorentzVector  GetLeading()                const { return  fLeading ; }
  virtual void  SetLeading(TLorentzVector lead)             { fLeading = lead  ; }
  
  virtual TLorentzVector  GetCorrelatedJet()          const { return  fCorrJet ; }
  virtual void  SetCorrelatedJet(TLorentzVector jet)        { fCorrJet = jet   ; }
  
  virtual TLorentzVector  GetCorrelatedBackground()   const { return  fCorrBkg ; }
  virtual void  SetCorrelatedBackground(TLorentzVector bkg) { fCorrBkg = bkg   ; }
  
  virtual void  SetRefJet(AliAODJet* jet)                   { fRefJet = jet    ; }
  virtual       AliAODJet* GetJet()                   const { return ((AliAODJet*) fRefJet.GetObject()) ; }
  virtual TRef  GetRefJet()                           const { return fRefJet;}
  
  virtual void   Print(Option_t* /*option*/) const;
  
 private:
  Int_t          fLeadingDetector;  // Detector where leading particle was measured.
  TLorentzVector fLeading;          // Leading Particle 4-momentum vector
  TLorentzVector fCorrJet;          // Jet  4-momentum vector
  TLorentzVector fCorrBkg;          // Background  4-momentum vector
  TRef           fRefJet;           // Reference to jet found with JETAN and correlated with particle
  TList   *      fListOfObjArrays ; // List with correlation reference arrays
  
  ClassDef(AliAODPWG4ParticleCorrelation, 6);
};


#endif //ALIAODPWG4PARTICLECORRELATION_H
 AliAODPWG4ParticleCorrelation.h:1
 AliAODPWG4ParticleCorrelation.h:2
 AliAODPWG4ParticleCorrelation.h:3
 AliAODPWG4ParticleCorrelation.h:4
 AliAODPWG4ParticleCorrelation.h:5
 AliAODPWG4ParticleCorrelation.h:6
 AliAODPWG4ParticleCorrelation.h:7
 AliAODPWG4ParticleCorrelation.h:8
 AliAODPWG4ParticleCorrelation.h:9
 AliAODPWG4ParticleCorrelation.h:10
 AliAODPWG4ParticleCorrelation.h:11
 AliAODPWG4ParticleCorrelation.h:12
 AliAODPWG4ParticleCorrelation.h:13
 AliAODPWG4ParticleCorrelation.h:14
 AliAODPWG4ParticleCorrelation.h:15
 AliAODPWG4ParticleCorrelation.h:16
 AliAODPWG4ParticleCorrelation.h:17
 AliAODPWG4ParticleCorrelation.h:18
 AliAODPWG4ParticleCorrelation.h:19
 AliAODPWG4ParticleCorrelation.h:20
 AliAODPWG4ParticleCorrelation.h:21
 AliAODPWG4ParticleCorrelation.h:22
 AliAODPWG4ParticleCorrelation.h:23
 AliAODPWG4ParticleCorrelation.h:24
 AliAODPWG4ParticleCorrelation.h:25
 AliAODPWG4ParticleCorrelation.h:26
 AliAODPWG4ParticleCorrelation.h:27
 AliAODPWG4ParticleCorrelation.h:28
 AliAODPWG4ParticleCorrelation.h:29
 AliAODPWG4ParticleCorrelation.h:30
 AliAODPWG4ParticleCorrelation.h:31
 AliAODPWG4ParticleCorrelation.h:32
 AliAODPWG4ParticleCorrelation.h:33
 AliAODPWG4ParticleCorrelation.h:34
 AliAODPWG4ParticleCorrelation.h:35
 AliAODPWG4ParticleCorrelation.h:36
 AliAODPWG4ParticleCorrelation.h:37
 AliAODPWG4ParticleCorrelation.h:38
 AliAODPWG4ParticleCorrelation.h:39
 AliAODPWG4ParticleCorrelation.h:40
 AliAODPWG4ParticleCorrelation.h:41
 AliAODPWG4ParticleCorrelation.h:42
 AliAODPWG4ParticleCorrelation.h:43
 AliAODPWG4ParticleCorrelation.h:44
 AliAODPWG4ParticleCorrelation.h:45
 AliAODPWG4ParticleCorrelation.h:46
 AliAODPWG4ParticleCorrelation.h:47
 AliAODPWG4ParticleCorrelation.h:48
 AliAODPWG4ParticleCorrelation.h:49
 AliAODPWG4ParticleCorrelation.h:50
 AliAODPWG4ParticleCorrelation.h:51
 AliAODPWG4ParticleCorrelation.h:52
 AliAODPWG4ParticleCorrelation.h:53
 AliAODPWG4ParticleCorrelation.h:54
 AliAODPWG4ParticleCorrelation.h:55
 AliAODPWG4ParticleCorrelation.h:56
 AliAODPWG4ParticleCorrelation.h:57
 AliAODPWG4ParticleCorrelation.h:58
 AliAODPWG4ParticleCorrelation.h:59
 AliAODPWG4ParticleCorrelation.h:60
 AliAODPWG4ParticleCorrelation.h:61
 AliAODPWG4ParticleCorrelation.h:62
 AliAODPWG4ParticleCorrelation.h:63
 AliAODPWG4ParticleCorrelation.h:64
 AliAODPWG4ParticleCorrelation.h:65
 AliAODPWG4ParticleCorrelation.h:66
 AliAODPWG4ParticleCorrelation.h:67
 AliAODPWG4ParticleCorrelation.h:68
 AliAODPWG4ParticleCorrelation.h:69
 AliAODPWG4ParticleCorrelation.h:70
 AliAODPWG4ParticleCorrelation.h:71
 AliAODPWG4ParticleCorrelation.h:72
 AliAODPWG4ParticleCorrelation.h:73
 AliAODPWG4ParticleCorrelation.h:74
 AliAODPWG4ParticleCorrelation.h:75
 AliAODPWG4ParticleCorrelation.h:76
 AliAODPWG4ParticleCorrelation.h:77
 AliAODPWG4ParticleCorrelation.h:78
 AliAODPWG4ParticleCorrelation.h:79
 AliAODPWG4ParticleCorrelation.h:80
 AliAODPWG4ParticleCorrelation.h:81