]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG4/AliAnaGammaDirect.h
New analysis classes by Gustavo Conesa
[u/mrichter/AliRoot.git] / PWG4 / AliAnaGammaDirect.h
CommitLineData
f9cea31c 1#ifndef ALIANAGAMMADIRECT_H
2#define ALIANAGAMMADIRECT_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$
bdcfac30 10 * Revision 1.4.4.3 2007/07/26 10:32:09 schutz
11 * new analysis classes in the the new analysis framework
2a1d8a29 12 *
f9cea31c 13 *
14 */
15
16//_________________________________________________________________________
17
bdcfac30 18// Class for the analysis of prompt gamma, isolation cut.
f9cea31c 19//
20// Class created from old AliPHOSGammaJet
21// (see AliRoot versions previous Release 4-09)
22
23//*-- Author: Gustavo Conesa (INFN-LNF)
24
25// --- ROOT system ---
f9cea31c 26#include <TParticle.h>
2a1d8a29 27#include <TClonesArray.h>
bdcfac30 28#include "TObject.h"
2a1d8a29 29#include <TH2F.h>
f9cea31c 30
bdcfac30 31class TList ;
32
33class AliAnaGammaDirect : public TObject {
f9cea31c 34
35public:
36
bdcfac30 37 AliAnaGammaDirect() ; // default ctor
f9cea31c 38 AliAnaGammaDirect(const AliAnaGammaDirect & g) ; // cpy ctor
463ee300 39 AliAnaGammaDirect & operator = (const AliAnaGammaDirect & g) ;//cpy assignment
f9cea31c 40 virtual ~AliAnaGammaDirect() ; //virtual dtor
f9cea31c 41
bdcfac30 42 enum anatype_t {kNoIC, kPtIC, kSumPtIC, kSeveralIC};
43
f9cea31c 44 Double_t GetMinGammaPt() const {return fMinGammaPt ; }
f9cea31c 45 Float_t GetConeSize() const {return fConeSize ; }
46 Float_t GetPtThreshold() const {return fPtThreshold ; }
47 Float_t GetPtSumThres() const {return fPtSumThreshold ; }
bdcfac30 48 Int_t GetICMethod() const {return fICMethod ; }
f9cea31c 49
bdcfac30 50 TList * GetCreateOutputObjects();
51 void GetPromptGamma(TClonesArray * plNe, TClonesArray * plCTS, TParticle * pGamma, Bool_t &Is) const;
52
53 void MakeSeveralICAnalysis(TClonesArray * plCalo, TClonesArray * plCTS);
54 void MakeIsolationCut(TClonesArray * plCTS, TClonesArray * plNe,
55 TParticle *pCandidate, Int_t index,
56 Bool_t &imcpt, Bool_t &icms, Float_t &ptsum) const ;
57
f9cea31c 58 void Print(const Option_t * opt)const;
bdcfac30 59
f9cea31c 60 void SetMinGammaPt(Double_t ptcut){fMinGammaPt =ptcut;}
f9cea31c 61 void SetConeSize(Float_t r) {fConeSize = r ; }
62 void SetPtThreshold(Float_t pt) {fPtThreshold = pt; };
63 void SetPtSumThreshold(Float_t pt) {fPtSumThreshold = pt; };
bdcfac30 64 void SetICMethod(Int_t i ) {fICMethod = i ; }
f9cea31c 65
bdcfac30 66 Int_t GetNCones() const {return fNCones ; }
67 Int_t GetNPtThresholds() const {return fNPtThres ; }
68 Float_t GetConeSizes(Int_t i) const {return fConeSizes[i] ; }
69 Float_t GetPtThresholds(Int_t i) const {return fPtThresholds[i] ; }
f9cea31c 70
bdcfac30 71 void InitParameters();
72
73 void SetNCones(Int_t ncs) {fNCones = ncs ; }
74 void SetNPtThresholds(Int_t npt) {fNPtThres = npt; }
75 void SetConeSizes(Int_t i, Float_t r) {fConeSizes[i] = r ; }
76 void SetPtThresholds(Int_t i, Float_t pt) {fPtThresholds[i] = pt; }
f9cea31c 77
bdcfac30 78
79 private:
80
f9cea31c 81 Double_t fMinGammaPt ; // Min pt in Calorimeter
f9cea31c 82 Float_t fConeSize ; //Size of the isolation cone
83 Float_t fPtThreshold ; //Mimium pt of the particles in the cone to set isolation
84 Float_t fPtSumThreshold ; //Mimium pt sum of the particles in the cone to set isolation
bdcfac30 85 Int_t fICMethod ; //Isolation cut method to be used
86 // kNoIC: No isolation
87 // kPtIC: Pt threshold method
88 // kSumPtIC: Cone pt sum method
89 // kSeveralIC: Analysis for several cuts
f9cea31c 90 //Histograms
bdcfac30 91 TH1F * fhNGamma ; //Number of (isolated) gamma identified
92 TH2F * fhPhiGamma ; // Phi of identified gamma
93 TH2F * fhEtaGamma ; // eta of identified gamma
94
95 //Prompt photon analysis data members for multiple cones and pt thresholds kIsolationCut
96 Int_t fNCones ; //Number of cone sizes to test
97 Int_t fNPtThres ; //Number of ptThres to test
98 Float_t fConeSizes[10] ; // Array with cones to test
99 Float_t fPtThresholds[10] ; // Array with pt thresholds to test
100
101 TH1F* fhPtThresIsolated[20][20]; // Isolated gamma with pt threshold
102 TH2F* fhPtSumIsolated[20] ; // Isolated gamma with threshold on cone pt sume
f9cea31c 103
104 ClassDef(AliAnaGammaDirect,0)
105} ;
106
107
108#endif //ALIANAGAMMADIRECT_H
109
110
111