]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/totEt/AliAnalysisEtReconstructed.h
Operating mode changes: Regular/Light/SuperLight Cascade output storage for Pb-Pb
[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     Float_t GetNumberOfChargedHadronsMatched(){return nChargedHadronsMeasured;}
42     Float_t GetTotalNumberOfChargedHadrons(){return nChargedHadronsTotal;}
43     
44     void SetEMinCorrection(const Double_t factor) { fEMinCorrection = factor; }
45     void MakeQATree(){fMakeQATree = kTRUE;}
46
47 protected:
48
49     bool CheckGoodVertex(AliVParticle *track);
50     virtual bool TrackHitsCalorimeter(AliVParticle *track, Double_t magField);
51
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
53
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;
58     Int_t fEventID;
59
60     AliAnalysisHadEtCorrections *fCorrections;//!//corrections needed for hadronic et
61
62     Double_t fPidCut; // cut on the pid probability
63     Float_t nChargedHadronsMeasured;
64     Float_t nChargedHadronsTotal;
65
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 */
71
72     TH1F *fHistRemovedEnergy;//! // removed energy
73     
74     Double_t fGeomCorrection; // geometry correction
75     Double_t fEMinCorrection; // Emin correction
76     
77     Double_t fRecEffCorrection; // Eff correction
78     
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
89     
90     TH2D *fHistChargedEnergyRemoved;//! // Charged energy removed
91     TH2D *fHistNeutralEnergyRemoved;//! // Neutral energy removed
92     TH2D *fHistGammaEnergyAdded;//! // gamma energy added
93
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
112
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
119
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;//!
139
140     TH1F *fHistRawSignalReco;//!
141     TH1F *fHistEffCorrSignalReco;//!
142     TH3F *fHistRecoRCorrVsPtVsCent;//! // enter comment here
143
144 private:
145
146     AliAnalysisEtReconstructed(const AliAnalysisEtReconstructed& g);
147     AliAnalysisEtReconstructed & operator=(const AliAnalysisEtReconstructed&);
148
149
150
151     ClassDef(AliAnalysisEtReconstructed, 1);
152 };
153
154 #endif // ALIANALYSISETRECONSTRUCTED_H