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; }
45 void MakeQATree(){fMakeQATree = kTRUE;}
49 bool CheckGoodVertex(AliVParticle *track);
50 virtual bool TrackHitsCalorimeter(AliVParticle *track, Double_t magField);
52 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
54 TTree *fQATree; //! Tree for holding information about funny events in PHOS
55 Bool_t fMakeQATree;//boolean for whether or not to make it
56 Int_t fClusterMultiplicity;
57 Int_t fTrackMultiplicity;
60 AliAnalysisHadEtCorrections *fCorrections;//!//corrections needed for hadronic et
62 Double_t fPidCut; // cut on the pid probability
63 Float_t nChargedHadronsMeasured;
64 Float_t nChargedHadronsTotal;
66 TH2F *fHistChargedPionEnergyDeposit;//! /** Energy deposited in calorimeter by charged pions */
67 TH2F *fHistProtonEnergyDeposit;//! /** Energy deposited in calorimeter by protons */
68 TH2F *fHistAntiProtonEnergyDeposit;//! /** Energy deposited in calorimeter by anti-protons */
69 TH2F *fHistChargedKaonEnergyDeposit;//! /** Energy deposited in calorimeter by charged kaons */
70 TH2F *fHistMuonEnergyDeposit;//! /** Energy deposited in calorimeter by muons */
72 TH1F *fHistRemovedEnergy;//! // removed energy
74 Double_t fGeomCorrection; // geometry correction
75 Double_t fEMinCorrection; // Emin correction
77 Double_t fRecEffCorrection; // Eff correction
79 TH2D *fClusterPositionAccepted;//! // Position of clusters
80 TH2D *fClusterPositionAll;//! // Position of clusters
81 TH2D *fClusterPositionAcceptedEnergy;//! // Position of clusters
82 TH2D *fClusterPositionAllEnergy;//! // Position of clusters
83 TH1F *fClusterEnergy;//! // Distribution of cluster energies
84 TH2F *fClusterEnergyCent;//! // Distribution of cluster energies vs centrality bin
85 TH2F *fClusterEnergyModifiedTrackMatchesCent;//! // Distribution of cluster energies vs centrality bin
86 TH2F *fClusterEnergyCentMatched;//! // Distribution of cluster energies vs centrality bin
87 TH2F *fClusterEnergyCentNotMatched;//! // Distribution of cluster energies vs centrality bin
88 TH2F *fClusterEt;//! // Distribution of cluster energies
90 TH2D *fHistChargedEnergyRemoved;//! // Charged energy removed
91 TH2D *fHistNeutralEnergyRemoved;//! // Neutral energy removed
92 TH2D *fHistGammaEnergyAdded;//! // gamma energy added
94 TH3F *fHistMatchedTracksEvspTvsCent;//! //For measuring hadron deposits
95 TH3F *fHistMatchedTracksEvspTvsCentEffCorr;//! //For measuring hadron deposits
96 TH3F *fHistMatchedTracksEvspTvsCentEffTMCorr;//! //For measuring hadron deposits
97 TH3F *fHistPeripheralMatchedTracksEvspTvsCentEffTMCorr;//! //For measuring hadron deposits - uses peripheral bins and different centralities' efficiences
98 TH3F *fHistMatchedTracksEvspTvsCentEffTMCorr500MeV;//! //For measuring hadron deposits
99 TH2F *fHistFoundHadronsvsCent;//! //For measuring hadron deposits
100 TH2F *fHistNotFoundHadronsvsCent;//! //For measuring hadron deposits
101 TH2F *fHistFoundHadronsEtvsCent;//! //For measuring hadron deposits
102 TH2F *fHistNotFoundHadronsEtvsCent;//! //For measuring hadron deposits
103 TH2F *fHistFoundHadronsvsCent500MeV;//! //For measuring hadron deposits
104 TH2F *fHistNotFoundHadronsvsCent500MeV;//! //For measuring hadron deposits
105 TH2F *fHistFoundHadronsEtvsCent500MeV;//! //For measuring hadron deposits
106 TH2F *fHistNotFoundHadronsEtvsCent500MeV;//! //For measuring hadron deposits
107 TH2D *fHistNominalRawEt;//!//Total ET from clusters with nominal reconstruction efficiency and nonlinearity correction vs centrality
108 TH2D *fHistNominalNonLinHighEt;//!//Total ET from clusters with nominal reconstruction efficiency and high bound of nonlinearity correction vs centrality
109 TH2D *fHistNominalNonLinLowEt;//!//Total ET from clusters with nominal reconstruction efficiency and low bound of nonlinearity correction vs centrality
110 TH2D *fHistNominalEffHighEt;//!//Total ET from clusters with high bound on reconstruction efficiency and nominal nonlinearity correction vs centrality
111 TH2D *fHistNominalEffLowEt;//!//Total ET from clusters with low bound on reconstruction efficiency and nominal nonlinearity correction vs centrality
113 TH2F *fHistTotRawEtEffCorr;//! // gamma efficiency applied
114 TH2F *fHistTotRawEt;//! //no gamma efficiency applied
115 TH2F *fHistTotRawEtEffCorr500MeV;//!//Total ET from clusters with nominal reconstruction efficiency and nonlinearity correction vs centrality
116 TH2F *fHistTotAllRawEt;//! // all clusters no reco eff
117 TH2F *fHistTotAllRawEtEffCorr;//! // all clusters reco eff applied
118 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
120 TH2F *fHistNUsedClusters;//! // Distribution of cluster energies vs centrality bin
121 TH3F *fHistNClustersPhosVsEmcal;//! // all clusters no reco eff
122 TH2F *fHistClusterSizeVsCent;//! // all clusters no reco eff
123 TH2F *fHistMatchedClusterSizeVsCent;//! // all clusters no reco eff
124 TH2F *fHistTotAllRawEtVsTotalPt;//! // all clusters no reco eff
125 //fHistTotAllRawEtVsTotalPtCent
126 TH3F *fHistTotAllRawEtVsTotalPtVsCent;//! // all clusters no reco eff
127 TH3F *fHistTotMatchedRawEtVsTotalPtVsCent;//! // all clusters no reco eff
128 TH2F *fHistPIDProtonsTrackMatchedDepositedVsNch;//!
129 TH2F *fHistPIDAntiProtonsTrackMatchedDepositedVsNch;//!
130 TH2F *fHistPIDProtonsTrackMatchedDepositedVsNcl;//!
131 TH2F *fHistPIDAntiProtonsTrackMatchedDepositedVsNcl;//!
132 TH2F *fHistPiKPTrackMatchedDepositedVsNch;//!
133 TH2F *fHistPIDProtonsTrackMatchedDepositedVsNchNoEff;//!
134 TH2F *fHistPIDAntiProtonsTrackMatchedDepositedVsNchNoEff;//!
135 TH2F *fHistPIDProtonsTrackMatchedDepositedVsNclNoEff;//!
136 TH2F *fHistPIDAntiProtonsTrackMatchedDepositedVsNclNoEff;//!
137 TH2F *fHistPiKPTrackMatchedDepositedVsNchNoEff;//!
138 TH3F *fHistCentVsNchVsNclReco;//!
140 TH1F *fHistRawSignalReco;//!
141 TH1F *fHistEffCorrSignalReco;//!
142 TH3F *fHistRecoRCorrVsPtVsCent;//! // enter comment here
146 AliAnalysisEtReconstructed(const AliAnalysisEtReconstructed& g);
147 AliAnalysisEtReconstructed & operator=(const AliAnalysisEtReconstructed&);
151 ClassDef(AliAnalysisEtReconstructed, 1);
154 #endif // ALIANALYSISETRECONSTRUCTED_H