]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/totEt/AliAnalysisEtReconstructed.h
Adding a couple histograms for proton correction
[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     void SetEMinCorrection(const Double_t factor) { fEMinCorrection = factor; }
42
43 protected:
44
45     bool CheckGoodVertex(AliVParticle *track);
46     virtual bool TrackHitsCalorimeter(AliVParticle *track, Double_t magField);
47
48     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
49
50     AliAnalysisHadEtCorrections *fCorrections;//corrections needed for hadronic et
51
52     Double_t fPidCut; // cut on the pid probability
53
54     TH2F *fHistChargedPionEnergyDeposit; /** Energy deposited in calorimeter by charged pions */
55     TH2F *fHistProtonEnergyDeposit; /** Energy deposited in calorimeter by protons */
56     TH2F *fHistAntiProtonEnergyDeposit; /** Energy deposited in calorimeter by anti-protons */
57     TH2F *fHistChargedKaonEnergyDeposit; /** Energy deposited in calorimeter by charged kaons */
58     TH2F *fHistMuonEnergyDeposit; /** Energy deposited in calorimeter by muons */
59
60     TH1F *fHistRemovedEnergy; // removed energy
61     
62     Double_t fGeomCorrection; // geometry correction
63     Double_t fEMinCorrection; // Emin correction
64     
65     Double_t fRecEffCorrection; // Eff correction
66     
67     TH2D *fClusterPositionAccepted; // Position of clusters
68     TH2D *fClusterPositionAll; // Position of clusters
69     TH2D *fClusterPositionAcceptedEnergy; // Position of clusters
70     TH2D *fClusterPositionAllEnergy; // Position of clusters
71     TH1F *fClusterEnergy; // Distribution of cluster energies
72     TH2F *fClusterEnergyCent; // Distribution of cluster energies vs centrality bin
73     TH2F *fClusterEnergyCentMatched; // Distribution of cluster energies vs centrality bin
74     TH2F *fClusterEnergyCentNotMatched; // Distribution of cluster energies vs centrality bin
75     TH1F *fClusterEt; // Distribution of cluster energies
76     
77     TH2D *fHistChargedEnergyRemoved; // Charged energy removed
78     TH2D *fHistNeutralEnergyRemoved; // Neutral energy removed
79     TH2D *fHistGammaEnergyAdded; // gamma energy added
80
81     TH3F *fHistMatchedTracksEvspTvsCent;   //For measuring hadron deposits
82     TH3F *fHistMatchedTracksEvspTvsCentEffCorr;   //For measuring hadron deposits
83     TH3F *fHistMatchedTracksEvspTvsCentEffTMCorr;   //For measuring hadron deposits
84     TH3F *fHistMatchedTracksEvspTvsCentEffTMCorr500MeV;   //For measuring hadron deposits
85     TH2F *fHistFoundHadronsvsCent;   //For measuring hadron deposits
86     TH2F *fHistNotFoundHadronsvsCent;   //For measuring hadron deposits
87     TH2F *fHistFoundHadronsEtvsCent;   //For measuring hadron deposits
88     TH2F *fHistNotFoundHadronsEtvsCent;   //For measuring hadron deposits
89     TH2F *fHistFoundHadronsvsCent500MeV;   //For measuring hadron deposits
90     TH2F *fHistNotFoundHadronsvsCent500MeV;   //For measuring hadron deposits
91     TH2F *fHistFoundHadronsEtvsCent500MeV;   //For measuring hadron deposits
92     TH2F *fHistNotFoundHadronsEtvsCent500MeV;   //For measuring hadron deposits
93     TH2D *fHistNominalRawEt;//Total ET from clusters with nominal reconstruction efficiency and nonlinearity correction vs centrality
94     TH2D *fHistNominalNonLinHighEt;//Total ET from clusters with nominal reconstruction efficiency and high bound of nonlinearity correction vs centrality
95     TH2D *fHistNominalNonLinLowEt;//Total ET from clusters with nominal reconstruction efficiency and low bound of nonlinearity correction vs centrality
96     TH2D *fHistNominalEffHighEt;//Total ET from clusters with high bound on reconstruction efficiency and nominal nonlinearity correction vs centrality
97     TH2D *fHistNominalEffLowEt;//Total ET from clusters with low bound on reconstruction efficiency and nominal nonlinearity correction vs centrality
98
99     TH2F *fHistTotRawEtEffCorr; // gamma efficiency applied
100     TH2F *fHistTotRawEt; //no  gamma efficiency applied
101     TH2F *fHistTotRawEtEffCorr500MeV;//Total ET from clusters with nominal reconstruction efficiency and nonlinearity correction vs centrality
102     TH2F *fHistTotAllRawEt; // all clusters no reco eff
103     TH2F *fHistTotAllRawEtEffCorr; // all clusters reco eff applied
104     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
105
106     TH3F *fHistNClustersPhosVsEmcal; // all clusters no reco eff
107     TH2F *fHistClusterSizeVsCent; // all clusters no reco eff
108     TH2F *fHistMatchedClusterSizeVsCent; // all clusters no reco eff
109     TH2F *fHistTotAllRawEtVsTotalPt; // all clusters no reco eff
110     //fHistTotAllRawEtVsTotalPtCent
111     TH3F *fHistTotAllRawEtVsTotalPtVsCent; // all clusters no reco eff
112     TH3F *fHistTotMatchedRawEtVsTotalPtVsCent; // all clusters no reco eff
113     TH2F *fHistPIDProtonsTrackMatchedDepositedVsNch;
114     TH2F *fHistPIDAntiProtonsTrackMatchedDepositedVsNch;
115     TH2F *fHistPIDProtonsTrackMatchedDepositedVsNcl;
116     TH2F *fHistPIDAntiProtonsTrackMatchedDepositedVsNcl;
117     TH2F *fHistPiKPTrackMatchedDepositedVsNch;
118     TH3F *fHistCentVsNchVsNclReco;
119
120 private:
121
122     AliAnalysisEtReconstructed(const AliAnalysisEtReconstructed& g);
123     AliAnalysisEtReconstructed & operator=(const AliAnalysisEtReconstructed&);
124
125
126
127     ClassDef(AliAnalysisEtReconstructed, 1);
128 };
129
130 #endif // ALIANALYSISETRECONSTRUCTED_H