]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG4/AliAnaGammaHadron.h
- info removed from default logging level for AliRoot embedded processing
[u/mrichter/AliRoot.git] / PWG4 / AliAnaGammaHadron.h
index 3575bbeeec3c5ff51552348ba59f743931172373..b81d6f3d63df9817839319f5ed84cecdafea22da 100644 (file)
 /* History of cvs commits:
  *
  * $Log$
- * Revision 1.2  2007/02/09 18:40:40  schutz
- * B\bNew version from Gustavo
+ * Revision 1.4  2007/08/17 12:40:04  schutz
+ * New analysis classes by Gustavo Conesa
  *
- * Revision 1.1  2007/01/23 17:17:29  schutz
- * New Gamma package
+ * 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
+  
+  AliAnaGammaHadron() ; // default ctor
+  AliAnaGammaHadron(const AliAnaGammaHadron & g) ; // cpy ctor
   AliAnaGammaHadron & operator = (const AliAnaGammaHadron & g) ;//cpy assignment
   virtual ~AliAnaGammaHadron() ; //virtual dtor
 
-  virtual void Exec(Option_t * opt = "") ;
-  virtual void ConnectInputData(Option_t *);
-  virtual void CreateOutputObjects();
-  virtual void Terminate(Option_t * opt = "");
+  TList * GetCreateOutputObjects();
 
-  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:
+  void InitParameters();
 
-  Bool_t IsAngleInWindow(const Float_t angle, const Float_t e);
-  void MakeGammaChargedCorrelation(TClonesArray * pl, TParticle *pGamma) const ;
-  void MakeGammaNeutralCorrelation(TClonesArray * pl, TParticle *pGamma)  ;
-
- private:
-
-  Double_t   fPhiMaxCut ;      // 
-  Double_t   fPhiMinCut ;      // 
-  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
-  TArrayD    fAngleMaxParam ; //Max opening angle selection parameters
+  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)
 } ;