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
8 //*-- Authors: Oystein Djuvsland (Bergen), David Silvermyr (ORNL)
9 //_________________________________________________________________________
11 #include "AliAnalysisEt.h"
18 class AliAnalysisHadEtCorrections;
20 class AliAnalysisEtReconstructed : public AliAnalysisEt
25 AliAnalysisEtReconstructed();
26 virtual ~AliAnalysisEtReconstructed();
28 virtual Int_t AnalyseEvent(AliVEvent* event);
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) {
38 /** Create the histograms, must be overloaded if you want to add your own */
39 virtual void CreateHistograms();
41 Float_t GetNumberOfChargedHadronsMatched(){return nChargedHadronsMeasured;}
42 Float_t GetTotalNumberOfChargedHadrons(){return nChargedHadronsTotal;}
44 void SetEMinCorrection(const Double_t factor) { fEMinCorrection = factor; }
48 bool CheckGoodVertex(AliVParticle *track);
49 virtual bool TrackHitsCalorimeter(AliVParticle *track, Double_t magField);
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
53 AliAnalysisHadEtCorrections *fCorrections;//!//corrections needed for hadronic et
55 Double_t fPidCut; // cut on the pid probability
56 Float_t nChargedHadronsMeasured;
57 Float_t nChargedHadronsTotal;
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 */
65 TH1F *fHistRemovedEnergy;//! // removed energy
67 Double_t fGeomCorrection; // geometry correction
68 Double_t fEMinCorrection; // Emin correction
70 Double_t fRecEffCorrection; // Eff correction
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
82 TH2D *fHistChargedEnergyRemoved;//! // Charged energy removed
83 TH2D *fHistNeutralEnergyRemoved;//! // Neutral energy removed
84 TH2D *fHistGammaEnergyAdded;//! // gamma energy added
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
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
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;//!
131 TH1F *fHistRawSignalReco;//!
132 TH1F *fHistEffCorrSignalReco;//!
133 TH3F *fHistRecoRCorrVsPtVsCent;//! // enter comment here
137 AliAnalysisEtReconstructed(const AliAnalysisEtReconstructed& g);
138 AliAnalysisEtReconstructed & operator=(const AliAnalysisEtReconstructed&);
142 ClassDef(AliAnalysisEtReconstructed, 1);
145 #endif // ALIANALYSISETRECONSTRUCTED_H