]>
Commit | Line | Data |
---|---|---|
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 mult);//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 *fClusterPosition; // Position of clusters | |
68 | TH1F *fClusterEnergy; // Distribution of cluster energies | |
69 | TH1F *fClusterEt; // Distribution of cluster energies | |
70 | ||
71 | TH2D *fHistChargedEnergyRemoved; // Charged energy removed | |
72 | TH2D *fHistNeutralEnergyRemoved; // Neutral energy removed | |
73 | TH2D *fHistGammaEnergyAdded; // gamma energy added | |
74 | ||
75 | TH3F *fHistMatchedTracksEvspTvsCent; //For measuring hadron deposits | |
76 | TH3F *fHistMatchedTracksEvspTvsCentEffCorr; //For measuring hadron deposits | |
77 | TH2F *fHistFoundHadronsvsCent; //For measuring hadron deposits | |
78 | TH2F *fHistNotFoundHadronsvsCent; //For measuring hadron deposits | |
79 | TH2F *fHistFoundHadronsEtvsCent; //For measuring hadron deposits | |
80 | TH2F *fHistNotFoundHadronsEtvsCent; //For measuring hadron deposits | |
81 | TH2D *fHistNominalRawEt;//Total ET from clusters with nominal reconstruction efficiency and nonlinearity correction vs centrality | |
82 | TH2D *fHistNominalNonLinHighEt;//Total ET from clusters with nominal reconstruction efficiency and high bound of nonlinearity correction vs centrality | |
83 | TH2D *fHistNominalNonLinLowEt;//Total ET from clusters with nominal reconstruction efficiency and low bound of nonlinearity correction vs centrality | |
84 | TH2D *fHistNominalEffHighEt;//Total ET from clusters with high bound on reconstruction efficiency and nominal nonlinearity correction vs centrality | |
85 | TH2D *fHistNominalEffLowEt;//Total ET from clusters with low bound on reconstruction efficiency and nominal nonlinearity correction vs centrality | |
86 | ||
87 | Double_t ApplyModifiedCorrections(const AliESDCaloCluster& cluster,Int_t nonLinCorr, Int_t effCorr, Int_t mult);//nonLinCorr 0 = nominal 1 = high -1 = low, effCorr 0 = nominal 1 = high -1 = low | |
88 | ||
89 | private: | |
90 | ||
91 | AliAnalysisEtReconstructed(const AliAnalysisEtReconstructed& g); | |
92 | AliAnalysisEtReconstructed & operator=(const AliAnalysisEtReconstructed&); | |
93 | ||
94 | ||
95 | ||
96 | ClassDef(AliAnalysisEtReconstructed, 1); | |
97 | }; | |
98 | ||
99 | #endif // ALIANALYSISETRECONSTRUCTED_H |