]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG4/AliAnaGammaHadron.h
No need for TGLObject.h (C.Holm)
[u/mrichter/AliRoot.git] / PWG4 / AliAnaGammaHadron.h
index 80f16eb9c880cf14211710ba93b163061fb018ac..b81d6f3d63df9817839319f5ed84cecdafea22da 100644 (file)
 /* History of cvs commits:
  *
  * $Log$
- * Revision 1.1  2007/01/23 17:17:29  schutz
- * New Gamma package
+ * Revision 1.4  2007/08/17 12:40:04  schutz
+ * New analysis classes by Gustavo Conesa
+ *
+ * Revision 1.3.4.2  2007/07/26 10:32:09  schutz
+ * new analysis classes in the the new analysis framework
  *
  *
  */
 
 //_________________________________________________________________________
-//  Class for the analysis of gamma-jet correlations.     
-//  Basically it seaches for a prompt photon in the Calorimeters acceptance, 
-//  if so we construct a jet around the highest pt particle in the opposite 
-//  side in azimuth. This jet has to fullfill several conditions to be 
-//  accepted. Then the fragmentation function of this jet is constructed 
-//  Class created from old AliPHOSGammaPion
-
+// Class that contains the algorithm for the analysis of gamma - hadron correlations
 //*-- Author: Gustavo Conesa (INFN-LNF)
 
-// --- ROOT system ---
-#include <TROOT.h>
-#include <TChain.h>
-#include "TTask.h"
-#include "TArrayD.h"
-#include "TChain.h"
-#include <TH2F.h>
-#include <TTree.h> 
-#include "AliAnaGammaDirect.h" 
+#include "AliAnaGammaCorrelation.h"
 
-class AliESD ; 
-class AliAnaGammaHadron : public AliAnaGammaDirect {
+class AliAnaGammaHadron : public AliAnaGammaCorrelation {
 
 public: 
-
-  AliAnaGammaHadron(const char *name) ; // default ctor
-  AliAnaGammaHadron(const AliAnaGammaHadron & gj) ; // cpy ctor
-  virtual ~AliAnaGammaHadron() ; //virtual dtor
-  virtual void Exec(Option_t * opt = "") ;
-  virtual void ConnectInputData(Option_t *);
-  virtual void CreateOutputObjects();
-  virtual void Terminate(Option_t * opt = "");
-
-  void InitParameters(); 
-  Double_t GetAngleMaxParam(Int_t i) const {return fAngleMaxParam.At(i) ; }
-  Double_t GetInvMassMaxCut() const {return fInvMassMaxCut ; }
-  Double_t GetInvMassMinCut() const {return fInvMassMinCut ; }
-  Double_t GetPhiMaxCut() const {return fPhiMaxCut ; }
-  Double_t GetPhiMinCut() const {return fPhiMinCut ; }
-  Float_t    GetMinPtPion() const {return fMinPtPion ; }
-
-  void Print(const Option_t * opt)const;
   
-  void SetAngleMaxParam(Int_t i, Double_t par)
-  {fAngleMaxParam.AddAt(par,i) ; }
-  void SetMinPtPion(Float_t pt){fMinPtPion = pt; };
-  void SetInvMassCutRange(Double_t invmassmin, Double_t invmassmax)
-    {fInvMassMaxCut =invmassmax;  fInvMassMinCut =invmassmin;} 
-  void SetPhiCutRange(Double_t phimin, Double_t phimax)
-  {fPhiMaxCut =phimax;  fPhiMinCut =phimin;}
-
-  private:
-
-  Bool_t IsAngleInWindow(const Float_t angle, const Float_t e);
-  void MakeGammaChargedCorrelation(TClonesArray * pl, TParticle *pGamma) const ;
-  void MakeGammaNeutralCorrelation(TClonesArray * pl, TParticle *pGamma)  ;
-  void MakeHistos() ;
+  AliAnaGammaHadron() ; // default ctor
+  AliAnaGammaHadron(const AliAnaGammaHadron & g) ; // cpy ctor
+  AliAnaGammaHadron & operator = (const AliAnaGammaHadron & g) ;//cpy assignment
+  virtual ~AliAnaGammaHadron() ; //virtual dtor
 
- private:
+  TList * GetCreateOutputObjects();
 
-  //  TTree       *fChain ;   //!pointer to the analyzed TTree or TChain
-  //AliESD       *fESD ;     //! Declaration of leave types
+  void InitParameters();
 
-  Double_t   fPhiMaxCut ;      // 
-  Double_t   fPhiMinCut ;      // 
-  // Double_t   fGammaPtCut ;  // Min pt in Calorimeter
-  Double_t   fInvMassMaxCut ;  // Invariant Mass cut maximum
-  Double_t   fInvMassMinCut ;  // Invariant Masscut minimun
+  void Print(const Option_t * opt) const;
  
-  Double_t   fMinPtPion;       // Minimum pt of pion
-  TObjArray  *fOutputContainer ; //! output data container
-  TString     fNamePtThres[10];   // String name of pt th to append to histos
-  TArrayD    fAngleMaxParam ; //Max opening angle selection parameters
-  //TString     fCalorimeter ; //PHOS or EMCAL detects Gamma
-  //Bool_t      fEMCALPID ; //Fill EMCAL particle lists with particles with corresponding pid
-  //Bool_t      fPHOSPID;   //Fill PHOS particle lists with particles with corresponding pid
+  void MakeGammaCorrelation(TParticle *pGamma, TClonesArray * plCTS,   TClonesArray * plNe) ;
+  void MakeGammaChargedCorrelation(TParticle *pGamma, TClonesArray * pl) ;
+  void MakeGammaNeutralCorrelation(TParticle *pGamma, TClonesArray * pl)  ;
 
+  private:
+  
   //Histograms
-
-  TH2F * fhPhiCharged  ; 
-  TH2F * fhPhiNeutral   ; 
-  TH2F * fhEtaCharged  ; 
-  TH2F * fhEtaNeutral   ; 
-  TH2F * fhDeltaPhiGammaCharged  ;  
-  TH2F * fhDeltaPhiGammaNeutral   ; 
-  TH2F * fhDeltaEtaGammaCharged  ; 
-  TH2F * fhDeltaEtaGammaNeutral  ; 
-
-  TH2F * fhCorrelationGammaNeutral  ; 
-  TH2F * fhCorrelationGammaCharged  ; 
-
-  TH2F * fhAnglePairAccepted  ; 
-  TH2F * fhAnglePairNoCut  ; 
-  TH2F * fhAnglePairAzimuthCut  ; 
-  TH2F * fhAnglePairOpeningAngleCut   ; 
-  TH2F * fhAnglePairAllCut   ; 
-  TH2F * fhInvMassPairNoCut    ; 
-  TH2F * fhInvMassPairAzimuthCut  ; 
-  TH2F * fhInvMassPairOpeningAngleCut  ; 
-  TH2F * fhInvMassPairAllCut   ; 
+  TH2F * fhPhiCharged  ; //Phi distribution of charged particles
+  TH2F * fhPhiNeutral   ;  //Phi distribution of neutral particles
+  TH2F * fhEtaCharged  ; //Eta distribution of charged particles
+  TH2F * fhEtaNeutral   ; //Eta distribution of neutral particles
+  TH2F * fhDeltaPhiGammaCharged  ;  //Difference of charged particle phi and prompt gamma phi as function of gamma pT
+  TH2F * fhDeltaPhiGammaNeutral   ;  //Difference of neutral particle phi and prompt gamma phi as function of gamma pT
+  TH2F * fhDeltaEtaGammaCharged  ;  //Difference of charged particle eta and prompt gamma eta as function of gamma pT
+  TH2F * fhDeltaEtaGammaNeutral  ;  //Difference of neutral particle eta and prompt gamma eta as function of gamma pT
+  TH2F * fhDeltaPhiChargedPt  ;  //Difference of charged particle eta and prompt gamma eta as function of charged pT
+
+  TH2F * fhCorrelationGammaNeutral  ; //Neutral hadron correlation histogram 
+  TH2F * fhCorrelationGammaCharged  ; //Charged hadron correlation histogram
   
-  ClassDef(AliAnaGammaHadron,0)
+  ClassDef(AliAnaGammaHadron,1)
 } ;