]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/totEt/AliAnalysisEtReconstructed.h
Fixing issues with the reconstruction efficiency, adding histograms to do a simultane...
[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     TH1F *fClusterEt; // Distribution of cluster energies
73     
74     TH2D *fHistChargedEnergyRemoved; // Charged energy removed
75     TH2D *fHistNeutralEnergyRemoved; // Neutral energy removed
76     TH2D *fHistGammaEnergyAdded; // gamma energy added
77
78     TH3F *fHistMatchedTracksEvspTvsCent;   //For measuring hadron deposits
79     TH3F *fHistMatchedTracksEvspTvsCentEffCorr;   //For measuring hadron deposits
80     TH3F *fHistMatchedTracksEvspTvsCentEffTMCorr;   //For measuring hadron deposits
81     TH3F *fHistMatchedTracksEvspTvsCentEffTMCorr500MeV;   //For measuring hadron deposits
82     TH2F *fHistFoundHadronsvsCent;   //For measuring hadron deposits
83     TH2F *fHistNotFoundHadronsvsCent;   //For measuring hadron deposits
84     TH2F *fHistFoundHadronsEtvsCent;   //For measuring hadron deposits
85     TH2F *fHistNotFoundHadronsEtvsCent;   //For measuring hadron deposits
86     TH2F *fHistFoundHadronsvsCent500MeV;   //For measuring hadron deposits
87     TH2F *fHistNotFoundHadronsvsCent500MeV;   //For measuring hadron deposits
88     TH2F *fHistFoundHadronsEtvsCent500MeV;   //For measuring hadron deposits
89     TH2F *fHistNotFoundHadronsEtvsCent500MeV;   //For measuring hadron deposits
90     TH2D *fHistNominalRawEt;//Total ET from clusters with nominal reconstruction efficiency and nonlinearity correction vs centrality
91     TH2D *fHistNominalNonLinHighEt;//Total ET from clusters with nominal reconstruction efficiency and high bound of nonlinearity correction vs centrality
92     TH2D *fHistNominalNonLinLowEt;//Total ET from clusters with nominal reconstruction efficiency and low bound of nonlinearity correction vs centrality
93     TH2D *fHistNominalEffHighEt;//Total ET from clusters with high bound on reconstruction efficiency and nominal nonlinearity correction vs centrality
94     TH2D *fHistNominalEffLowEt;//Total ET from clusters with low bound on reconstruction efficiency and nominal nonlinearity correction vs centrality
95
96     TH2F *fHistTotRawEtEffCorr; // gamma efficiency applied
97     TH2F *fHistTotRawEt; //no  gamma efficiency applied
98     TH2F *fHistTotRawEtEffCorr500MeV;//Total ET from clusters with nominal reconstruction efficiency and nonlinearity correction vs centrality
99     TH2F *fHistTotAllRawEt; // all clusters no reco eff
100     TH2F *fHistTotAllRawEtEffCorr; // all clusters reco eff applied
101     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
102
103 private:
104
105     AliAnalysisEtReconstructed(const AliAnalysisEtReconstructed& g);
106     AliAnalysisEtReconstructed & operator=(const AliAnalysisEtReconstructed&);
107
108
109
110     ClassDef(AliAnalysisEtReconstructed, 1);
111 };
112
113 #endif // ALIANALYSISETRECONSTRUCTED_H