Removing AliITSgeom dependencies from the old ITS clusterer V2 and the corresponding...
[u/mrichter/AliRoot.git] / PWG4 / AliAnaGammaIsolCut.h
1 #ifndef ALIANAGAMMAISOLCUT_H
2 #define ALIANAGAMMAISOLCUT_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice     */
5 /* $Id$ */
6
7 /* History of cvs commits:
8  *
9  * $Log$
10  * Revision 1.1  2007/01/25 17:24:20  schutz
11  * new class
12  *
13  * Revision 1.1  2007/01/23 17:17:29  schutz
14  * New Gamma package
15  *
16  *
17  */
18
19 //_________________________________________________________________________
20
21 // Class for the analysis of gamma  (gamma-jet, 
22 // gamma-hadron(Arleo, TODO))
23 // This class make the Isolation Cut analysis for 2 methods, pt cone sum 
24 // and pt particle threshold and with different  cone sizes and pt thresholds.
25
26 //*-- Author: Gustavo Conesa (INFN-LNF)
27
28 // --- ROOT system ---
29 #include <TROOT.h>
30 #include <TChain.h>
31 #include "TTask.h"
32 #include "TArrayD.h"
33 #include "TChain.h"
34 #include <TH2F.h>
35 #include <TTree.h> 
36 #include <TParticle.h> 
37 #include "AliAnaGammaDirect.h" 
38
39 class AliESD ; 
40  
41 class AliAnaGammaIsolCut : public AliAnaGammaDirect {
42
43 public: 
44
45   AliAnaGammaIsolCut(const char *name) ; // default ctor
46   AliAnaGammaIsolCut(const AliAnaGammaIsolCut & g) ; // cpy ctor
47   virtual ~AliAnaGammaIsolCut() ; //virtual dtor
48   virtual void Exec(Option_t * opt = "") ;
49   virtual void ConnectInputData(Option_t *);
50   virtual void CreateOutputObjects();
51   virtual void Terminate(Option_t * opt = "");
52
53   void InitParameters();
54   void Print(const Option_t * opt)const;
55
56   Int_t    GetNCones()                  const {return fNCones ; }
57   Int_t    GetNPtThres()                const {return fNPtThres ; }
58   Float_t GetConeSizes(Int_t i)      const {return fConeSizes[i] ; }
59   Float_t GetPtThresholds(Int_t i)  const {return fPtThresholds[i] ; }
60   
61   void SetNCone(Int_t ncs)              {fNCones = ncs ; }
62   void SetNPtThres(Int_t npt)        {fNPtThres = npt; }
63   void SetConeSizes(Int_t i, Float_t r)         {fConeSizes[i] = r ; }
64   void SetPtThresholds(Int_t i, Float_t pt)   {fPtThresholds[i] = pt; }
65   
66   void MakeHistos() ;
67   
68   
69  private:
70
71   TObjArray  *fOutputContainer ; //! output data container
72
73   Int_t         fNCones   ; //Number of cone sizes to test
74   Int_t         fNPtThres ; //Number of ptThres to test
75   Float_t     fConeSizes[10] ; // Arrat with cones to test
76   Float_t     fPtThresholds[10] ; // Array with pt thresholds to test
77
78   //Histograms  
79  
80   TH1F * fhPtCandidate ;
81   TH1F* fhPtThresIsolated[10][10] ;
82   TH2F* fhPtSumIsolated[10] ;
83
84   ClassDef(AliAnaGammaIsolCut,0)
85 } ;
86  
87
88 #endif //ALIANAGAMMAISOLCUT_H
89
90
91