]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/totEt/AliAnalysisEtReconstructed.h
816f0831a0af27c7e29f0c5aa76357ed88c3e1ee
[u/mrichter/AliRoot.git] / PWGLF / totEt / AliAnalysisEtReconstructed.h
1 #ifndef ALIANALYSISETRECONSTRUCTED_H
2 #define ALIANALYSISETRECONSTRUCTED_H
3 //_________________________________________________________________________
4 //  Utility Class for transverse energy studies
5 //  Base class for ESD analysis
6 //  - reconstruction output
7 //
8 //*-- Authors: Oystein Djuvsland (Bergen), David Silvermyr (ORNL)
9 //_________________________________________________________________________
10
11 #include "AliAnalysisEt.h"
12 class TH2F;
13 class TH3F;
14 class TH2D;
15 class TH2I;
16 class AliVParticle;
17 class AliESDEvent;
18 class AliAnalysisHadEtCorrections;
19
20 class AliAnalysisEtReconstructed : public AliAnalysisEt
21 {
22
23 public:
24
25     AliAnalysisEtReconstructed();
26     virtual ~AliAnalysisEtReconstructed();
27
28     virtual Int_t AnalyseEvent(AliVEvent* event);
29
30     virtual void Init();
31
32     /** Fill the objects you want to output, classes which add new histograms should overload this. */
33     virtual void FillOutputList(TList *list);
34     void SetCorrections(AliAnalysisHadEtCorrections *corr) {
35         fCorrections = corr;
36     }
37
38     /** Create the histograms, must be overloaded if you want to add your own */
39     virtual void CreateHistograms();
40
41     Float_t GetNumberOfChargedHadronsMatched(){return nChargedHadronsMeasured;}
42     Float_t GetTotalNumberOfChargedHadrons(){return nChargedHadronsTotal;}
43     
44     void SetEMinCorrection(const Double_t factor) { fEMinCorrection = factor; }
45
46 protected:
47
48     bool CheckGoodVertex(AliVParticle *track);
49     virtual bool TrackHitsCalorimeter(AliVParticle *track, Double_t magField);
50
51     virtual Double_t GetCorrectionModification(const AliESDCaloCluster& cluster,Int_t nonLinCorr, Int_t effCorr, Int_t cent);//nonLinCorr 0 = nominal 1 = high -1 = low, effCorr  0 = nominal 1 = high -1 = low
52
53     AliAnalysisHadEtCorrections *fCorrections;//!//corrections needed for hadronic et
54
55     Double_t fPidCut; // cut on the pid probability
56     Float_t nChargedHadronsMeasured;
57     Float_t nChargedHadronsTotal;
58
59     TH2F *fHistChargedPionEnergyDeposit;//! /** Energy deposited in calorimeter by charged pions */
60     TH2F *fHistProtonEnergyDeposit;//! /** Energy deposited in calorimeter by protons */
61     TH2F *fHistAntiProtonEnergyDeposit;//! /** Energy deposited in calorimeter by anti-protons */
62     TH2F *fHistChargedKaonEnergyDeposit;//! /** Energy deposited in calorimeter by charged kaons */
63     TH2F *fHistMuonEnergyDeposit;//! /** Energy deposited in calorimeter by muons */
64
65     TH1F *fHistRemovedEnergy;//! // removed energy
66     
67     Double_t fGeomCorrection; // geometry correction
68     Double_t fEMinCorrection; // Emin correction
69     
70     Double_t fRecEffCorrection; // Eff correction
71     
72     TH2D *fClusterPositionAccepted;//! // Position of clusters
73     TH2D *fClusterPositionAll;//! // Position of clusters
74     TH2D *fClusterPositionAcceptedEnergy;//! // Position of clusters
75     TH2D *fClusterPositionAllEnergy;//! // Position of clusters
76     TH1F *fClusterEnergy;//! // Distribution of cluster energies
77     TH2F *fClusterEnergyCent;//! // Distribution of cluster energies vs centrality bin
78     TH2F *fClusterEnergyCentMatched;//! // Distribution of cluster energies vs centrality bin
79     TH2F *fClusterEnergyCentNotMatched;//! // Distribution of cluster energies vs centrality bin
80     TH1F *fClusterEt;//! // Distribution of cluster energies
81     
82     TH2D *fHistChargedEnergyRemoved;//! // Charged energy removed
83     TH2D *fHistNeutralEnergyRemoved;//! // Neutral energy removed
84     TH2D *fHistGammaEnergyAdded;//! // gamma energy added
85
86     TH3F *fHistMatchedTracksEvspTvsCent;//!   //For measuring hadron deposits
87     TH3F *fHistMatchedTracksEvspTvsCentEffCorr;//!   //For measuring hadron deposits
88     TH3F *fHistMatchedTracksEvspTvsCentEffTMCorr;//!   //For measuring hadron deposits
89     TH3F *fHistPeripheralMatchedTracksEvspTvsCentEffTMCorr;//!   //For measuring hadron deposits - uses peripheral bins and different centralities' efficiences
90     TH3F *fHistMatchedTracksEvspTvsCentEffTMCorr500MeV;//!   //For measuring hadron deposits
91     TH2F *fHistFoundHadronsvsCent;//!   //For measuring hadron deposits
92     TH2F *fHistNotFoundHadronsvsCent;//!   //For measuring hadron deposits
93     TH2F *fHistFoundHadronsEtvsCent;//!   //For measuring hadron deposits
94     TH2F *fHistNotFoundHadronsEtvsCent;//!   //For measuring hadron deposits
95     TH2F *fHistFoundHadronsvsCent500MeV;//!   //For measuring hadron deposits
96     TH2F *fHistNotFoundHadronsvsCent500MeV;//!   //For measuring hadron deposits
97     TH2F *fHistFoundHadronsEtvsCent500MeV;//!   //For measuring hadron deposits
98     TH2F *fHistNotFoundHadronsEtvsCent500MeV;//!   //For measuring hadron deposits
99     TH2D *fHistNominalRawEt;//!//Total ET from clusters with nominal reconstruction efficiency and nonlinearity correction vs centrality
100     TH2D *fHistNominalNonLinHighEt;//!//Total ET from clusters with nominal reconstruction efficiency and high bound of nonlinearity correction vs centrality
101     TH2D *fHistNominalNonLinLowEt;//!//Total ET from clusters with nominal reconstruction efficiency and low bound of nonlinearity correction vs centrality
102     TH2D *fHistNominalEffHighEt;//!//Total ET from clusters with high bound on reconstruction efficiency and nominal nonlinearity correction vs centrality
103     TH2D *fHistNominalEffLowEt;//!//Total ET from clusters with low bound on reconstruction efficiency and nominal nonlinearity correction vs centrality
104
105     TH2F *fHistTotRawEtEffCorr;//! // gamma efficiency applied
106     TH2F *fHistTotRawEt;//! //no  gamma efficiency applied
107     TH2F *fHistTotRawEtEffCorr500MeV;//!//Total ET from clusters with nominal reconstruction efficiency and nonlinearity correction vs centrality
108     TH2F *fHistTotAllRawEt;//! // all clusters no reco eff
109     TH2F *fHistTotAllRawEtEffCorr;//! // all clusters reco eff applied
110     Double_t ApplyModifiedCorrections(const AliESDCaloCluster& cluster,Int_t nonLinCorr, Int_t effCorr, Int_t cent);//nonLinCorr 0 = nominal 1 = high -1 = low, effCorr  0 = nominal 1 = high -1 = low
111
112     TH3F *fHistNClustersPhosVsEmcal;//! // all clusters no reco eff
113     TH2F *fHistClusterSizeVsCent;//! // all clusters no reco eff
114     TH2F *fHistMatchedClusterSizeVsCent;//! // all clusters no reco eff
115     TH2F *fHistTotAllRawEtVsTotalPt;//! // all clusters no reco eff
116     //fHistTotAllRawEtVsTotalPtCent
117     TH3F *fHistTotAllRawEtVsTotalPtVsCent;//! // all clusters no reco eff
118     TH3F *fHistTotMatchedRawEtVsTotalPtVsCent;//! // all clusters no reco eff
119     TH2F *fHistPIDProtonsTrackMatchedDepositedVsNch;//!
120     TH2F *fHistPIDAntiProtonsTrackMatchedDepositedVsNch;//!
121     TH2F *fHistPIDProtonsTrackMatchedDepositedVsNcl;//!
122     TH2F *fHistPIDAntiProtonsTrackMatchedDepositedVsNcl;//!
123     TH2F *fHistPiKPTrackMatchedDepositedVsNch;//!
124     TH2F *fHistPIDProtonsTrackMatchedDepositedVsNchNoEff;//!
125     TH2F *fHistPIDAntiProtonsTrackMatchedDepositedVsNchNoEff;//!
126     TH2F *fHistPIDProtonsTrackMatchedDepositedVsNclNoEff;//!
127     TH2F *fHistPIDAntiProtonsTrackMatchedDepositedVsNclNoEff;//!
128     TH2F *fHistPiKPTrackMatchedDepositedVsNchNoEff;//!
129     TH3F *fHistCentVsNchVsNclReco;//!
130
131     TH1F *fHistRawSignalReco;//!
132     TH1F *fHistEffCorrSignalReco;//!
133     TH3F *fHistRecoRCorrVsPtVsCent;//! // enter comment here
134
135 private:
136
137     AliAnalysisEtReconstructed(const AliAnalysisEtReconstructed& g);
138     AliAnalysisEtReconstructed & operator=(const AliAnalysisEtReconstructed&);
139
140
141
142     ClassDef(AliAnalysisEtReconstructed, 1);
143 };
144
145 #endif // ALIANALYSISETRECONSTRUCTED_H