]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG4/totEt/AliAnalysisHadEt.h
totEt cuts into their own proper class
[u/mrichter/AliRoot.git] / PWG4 / totEt / AliAnalysisHadEt.h
CommitLineData
cf6522d1 1//_________________________________________________________________________
2//Created by Christine Nattrass, Rebecca Scott, Irakli Martashvili
641e1e0c 3//University of Tennessee at Knoxville
cf6522d1 4//
5// This class is designed for the analysis of the hadronic component of
6// transverse energy. It is used by AliAnalysisTaskHadEt.
7//_________________________________________________________________________
641e1e0c 8#ifndef ALIANALYSISHADET_H
9#define ALIANALYSISHADET_H
10
11#include "TString.h"
641e1e0c 12
13class TH2F;
14class TH1F;
15class AliVEvent;
16class TList;
020abff0 17class AliESDtrackCuts;
18class Rtypes;
19class TParticle;
20class TDatabasePDG;
4998becf 21class AliAnalysisEtCuts;
641e1e0c 22
23class AliAnalysisHadEt
24{
25public:
26
27 AliAnalysisHadEt();
28 virtual ~AliAnalysisHadEt();
29
30 /** Analyse the event! */
31 virtual Int_t AnalyseEvent(AliVEvent *event);
32
33 /** Fill the objects you want to output, classes which add new histograms should overload this. */
34 virtual void FillOutputList();
35
36 /** Initialise the analysis, must be overloaded. */
37 virtual void Init();
38
39 /**
40 * Creates the histograms, must be overloaded if you want to add your own.
41 * Uses the fHistogramNameSuffix to create proper histogram names
42 */
43 virtual void CreateHistograms();
44
45 /** Fills the histograms, must be overloaded if you want to add your own */
46 virtual void FillHistograms();
47
48 /** Reset event specific values (Et etc.) */
49 virtual void ResetEventValues();
4998becf 50
51 /** Set Particle codes/mass */
52 virtual void SetParticleCodes();
53
54 /** Cuts info */
55 AliAnalysisEtCuts * GetCuts() const { return fCuts; }
56 virtual void SetCuts(const AliAnalysisEtCuts *cuts)
57 { fCuts = (AliAnalysisEtCuts *) cuts; }
641e1e0c 58
59 /** Sum of the total Et for all events */
020abff0 60 Double_t GetSumEt() const { return fSumEt; }
641e1e0c 61
62 /** Sum of the total Et within our acceptance for all events */
020abff0 63 Double_t GetSumEtAcc() const { return fSumEtAcc; }
641e1e0c 64
65 /** Total Et in the event (without acceptance cuts) */
020abff0 66 Double_t GetTotEt() const { return fTotEt; }
641e1e0c 67
68 /** Total Et in the event within the acceptance cuts */
020abff0 69 Double_t GetTotEtAcc() const { return fTotEtAcc; }
641e1e0c 70
71 /** Total neutral Et in the event (without acceptance cuts) */
020abff0 72 Double_t GetTotNeutralEt() const { return fTotNeutralEt; }
641e1e0c 73
74 /** Total neutral Et in the event within the acceptance cuts */
020abff0 75 Double_t GetTotNeutralEtAcc() const { return fTotNeutralEtAcc; }
641e1e0c 76
77 /** Total charged Et in the event (without acceptance cuts) */
020abff0 78 Double_t GetTotChargedEt() const { return fTotChargedEt; }
641e1e0c 79
80 /** Total charged Et in the event within the acceptance cuts */
020abff0 81 Double_t GetTotChargedEtAcc() const { return fTotChargedEtAcc; }
641e1e0c 82
83
cf6522d1 84 void SetHistoList(const TList *mylist){fhistoList = (TList *) mylist;}
641e1e0c 85
cf6522d1 86 void SetTPCITSTrackCuts(const AliESDtrackCuts *cuts){ fEsdtrackCutsITSTPC = (AliESDtrackCuts *) cuts;}
87 void SetTPCOnlyTrackCuts(const AliESDtrackCuts *cuts){ fEsdtrackCutsTPC = (AliESDtrackCuts *) cuts;}
88 void SetITSTrackCuts(const AliESDtrackCuts *cuts){ fEsdtrackCutsITS = (AliESDtrackCuts *) cuts;}
641e1e0c 89
cf6522d1 90protected:
020abff0 91
92 TString fHistogramNameSuffix; /** The suffix for the histogram names */
641e1e0c 93
4998becf 94 AliAnalysisEtCuts *fCuts; // keeper of basic cuts
95
641e1e0c 96 /** PDG Database */
020abff0 97 TDatabasePDG *fPdgDB;//data base used for looking up pdg codes
98 //these codes are stored as variables because otherwise there were issues using this with the plugin
99 Int_t fPiPlusCode;//pdg pi plus code
100 Int_t fPiMinusCode;//pdg pi minus code
101 Int_t fKPlusCode;// pdg k plus code
102 Int_t fKMinusCode;//pdg k minus code
103 Int_t fProtonCode;//pdg proton code
104 Int_t fAntiProtonCode;//pdg antiproton code
105 Int_t fLambdaCode;// pdg lambda code
106 Int_t fAntiLambdaCode;//pdg antilambda code
107 Int_t fK0SCode;//pdg k0 short code
108 Int_t fOmegaCode;//pdg omega code
109 Int_t fAntiOmegaCode;//pdg anti-omega code
110 Int_t fXi0Code;//pdg xi-0 code
111 Int_t fAntiXi0Code;//pdg anti-xi0 code
112 Int_t fXiCode;//pdg xi code
113 Int_t fAntiXiCode;//pdg anti-xi code
114 Int_t fSigmaCode;//pdg sigma code
115 Int_t fAntiSigmaCode;//pdg anti-sigma code
116 Int_t fK0LCode;//pdg k0 long code
117 Int_t fNeutronCode;//pdg neutron code
118 Int_t fAntiNeutronCode;//pdg anti-neutron code
119 Int_t fEPlusCode;//pdg positron code
120 Int_t fEMinusCode;//pdg electron code
121 Float_t fPionMass;//pdg pion mass
641e1e0c 122
020abff0 123
124 Double_t fSumEt;/** Sum of the total Et for all events */
020abff0 125 Double_t fSumEtAcc;/** Sum of the total Et within our acceptance for all events */
020abff0 126 Double_t fTotEt;/** Total Et in the event (without acceptance cuts) */
020abff0 127 Double_t fTotEtAcc;/** Total Et in the event within the acceptance cuts */
128
129 Double_t fTotNeutralEt;/** Total neutral Et in the event */
020abff0 130 Double_t fTotNeutralEtAcc;/** Total neutral Et in the event within the acceptance cuts */
020abff0 131 Double_t fTotChargedEt;/** Total charged Et in the event */
020abff0 132 Double_t fTotChargedEtAcc;/** Total charged Et in the event within the acceptance cuts */
133
134 Int_t fMultiplicity;/** Multiplicity of particles in the event */
020abff0 135 Int_t fChargedMultiplicity;/** Multiplicity of charged particles in the event */
020abff0 136 Int_t fNeutralMultiplicity; /** Multiplicity of neutral particles in the event */
137
641e1e0c 138 void CreateEtaPtHisto2D(TString name, TString title);
139 void CreateEtaHisto1D(TString name, TString title);
140 void CreateHisto2D(TString name, TString title, TString xtitle, TString ytitle,Int_t xbins, Float_t xlow,Float_t xhigh,Int_t ybins,Float_t ylow,Float_t yhigh);
141 void CreateHisto1D(TString name, TString title, TString xtitle, TString ytitle,Int_t xbins, Float_t xlow,Float_t xhigh);
142 void CreateIntHisto1D(TString name, TString title, TString xtitle, TString ytitle,Int_t xbins, Int_t xlow,Int_t xhigh);
143 void CreateIntHisto2D(TString name, TString title, TString xtitle, TString ytitle,Int_t xbins, Int_t xlow,Int_t xhigh,Int_t ybins,Int_t ylow,Int_t yhigh);
144 void FillHisto1D(TString histname, Float_t x, Float_t weight);
145 void FillHisto2D(TString histname, Float_t x, Float_t y, Float_t weight);
146
147 Float_t Et(TParticle *part, float mass = -1000);
cf6522d1 148 AliESDtrackCuts* fEsdtrackCutsITSTPC;//esd track cuts for ITS+TPC tracks
149 AliESDtrackCuts* fEsdtrackCutsTPC;//esd track cuts for TPC tracks (which may also contain ITS hits)
150 AliESDtrackCuts* fEsdtrackCutsITS;//esd track cuts for ITS stand alone tracks
020abff0 151
152 TList *fhistoList;//list of histograms saved out to file
153 static Float_t fgEtaAxis[47];//bins for eta axis of histograms
154 static Int_t fgnumOfEtaBins;//number of eta bins
155 static Float_t fgPtAxis[117];//bins for pt axis of histograms
156 static Int_t fgNumOfPtBins;//number of pt bins
641e1e0c 157
641e1e0c 158 private:
4998becf 159 //Declare it private to avoid compilation warning
160 AliAnalysisHadEt & operator = (const AliAnalysisHadEt & g) ;//cpy assignment
161 AliAnalysisHadEt(const AliAnalysisHadEt & g) ; // cpy ctor
641e1e0c 162
163 ClassDef(AliAnalysisHadEt, 0);
164};
165
166#endif // ALIANALYSISHADET_H