]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG2/SPECTRA/AliAnalysisTaskCheckPerformanceCascade.h
Memory leak fix (M. Verweij).
[u/mrichter/AliRoot.git] / PWG2 / SPECTRA / AliAnalysisTaskCheckPerformanceCascade.h
CommitLineData
b67ec6f7 1#ifndef ALIANALYSISTASKCHECKPERFORMANCECASCADE_H
2#define ALIANALYSISTASKCHECKPERFORMANCECASCADE_H
3
4/* See cxx source for full Copyright notice */
5
7e504402 6// //-----------------------------------------------------------------
7// // AliAnalysisTaskCheckPerformanceCascade class
8// // This task is for a performance study of cascade identification.
9// // It works with MC info and ESD.
10// // Use with AOD tree = under development
11// // Origin : A.Maire Mar2009, antonin.maire@ires.in2p3.fr
12// // Modified : A.Maire Jan2010, antonin.maire@ires.in2p3.fr
13// //-----------------------------------------------------------------
b67ec6f7 14
15class TList;
16class TH1F;
17class TH2F;
18class AliESDEvent;
7e504402 19class AliESDpid;
20class AliCFContainer;
b67ec6f7 21
22#include "AliAnalysisTaskSE.h"
23
24class AliAnalysisTaskCheckPerformanceCascade : public AliAnalysisTaskSE {
25 public:
26
27 AliAnalysisTaskCheckPerformanceCascade();
28 AliAnalysisTaskCheckPerformanceCascade(const char *name );
29 virtual ~AliAnalysisTaskCheckPerformanceCascade() {}
30
31 //virtual void ConnectInputData(Option_t *);
32 virtual void UserCreateOutputObjects();
33 virtual void UserExec(Option_t *option);
7e504402 34 virtual Int_t DoESDTrackWithTPCrefitMultiplicity(const AliESDEvent *lESDevent);
b67ec6f7 35 virtual void Terminate(Option_t *);
36
37 void SetDebugLevelCascade(Int_t lDebugCascade = 0) {fDebugCascade = lDebugCascade;}
38 void SetCollidingSystems (Short_t collidingSystems = 0) {fCollidingSystems = collidingSystems;}
39 void SetAnalysisType (const char* analysisType = "ESD") {fAnalysisType = analysisType;}
40
41 private:
7e504402 42 Int_t fDebugCascade; // Denug Flag for this task devoted to cascade
43 TString fAnalysisType; // "ESD" or "AOD" analysis type
44 Short_t fCollidingSystems; // 0 = pp collisions or 1 = AA collisions
45
46 AliESDpid *fESDpid; // Tool data member to manage the TPC Bethe-Bloch info
b67ec6f7 47
48 TList *fListHistCascade; //! List of Cascade histograms
49 // - Histos
50 TH1F *fHistMCTrackMultiplicity; //! MC Track multiplicity
51
52
53 // proton
54 TH1F *fHistEtaGenProton; //! MC Pseudo-rapidity of any generated p+ (no cuts in acceptance)
55 TH1F *fHistEtaGenAntiProton; //! MC Pseudo-rapidity of any generated p+ (no cuts in acceptance)
56
57// Part 1 - Generated cascades
58
59 //--------------
60 // Xi-
61 TH1F *fHistEtaGenCascXiMinus; //! MC Pseudo-rapidity of any generated Xi- (no cuts in acceptance)
ff0753e1 62 TH2F *f2dHistGenPtVsGenYGenXiMinus; //! MC Pt Vs MC Y of generated Xi-
63
b67ec6f7 64 // - Histos planned for Xi- emitted within the acceptance (cuts in theta + pt of daughters)
65 // = findable cascades
66 TH1F *fHistThetaGenCascXiMinus; //! MC Theta angle of the generated Xi-
ff0753e1 67 TH2F *f2dHistGenPtVsGenYFdblXiMinus; //! MC Pt Vs MC y of the findable Xi-
b67ec6f7 68
69 TH1F *fHistThetaLambdaXiMinus; //! MC Theta angle of the Lambda daughter of the generated Xi-
db71a168 70 TH1F *fHistThetaBachXiMinus; //! MC Theta angle of the Bachelor (pi-)
b67ec6f7 71
72 TH1F *fHistThetaMesDghterXiMinus; //! MC Theta angle of the mesonic V0 daughter in the generated cascade, pi-
73 TH1F *fHistThetaBarDghterXiMinus; //! MC Theta angle of the baryonic V0 daughter in the generated cascade, p+
74
db71a168 75 TH1F *fHistPtBachXiMinus; //! MC Pt of the Bachelor (pi-) (Control Plot)
b67ec6f7 76 TH1F *fHistPtMesDghterXiMinus; //! MC Pt of the meson daughter of the 'Lambda0', pi- (Control Plot)
77 TH1F *fHistPtBarDghterXiMinus; //! MC Pt of the baryon daughter of the 'Lambda0', p+ (Control Plot)
78
79
80
81 //--------------
82 // Xi+
83 TH1F *fHistEtaGenCascXiPlus; //! MC Pseudo-rapidity of any generated Xi+ (no cuts in acceptance)
ff0753e1 84 TH2F *f2dHistGenPtVsGenYGenXiPlus; //! MC Pt Vs MC Y of generated Xi+
85
b67ec6f7 86 // - Histos planned for Xi+ emitted within the acceptance (cuts in theta + pt of daughters)
87 TH1F *fHistThetaGenCascXiPlus; //! MC Theta angle of the generated Xi+
ff0753e1 88 TH2F *f2dHistGenPtVsGenYFdblXiPlus; //! MC Pt Vs MC y of the findable Xi+
b67ec6f7 89
90 TH1F *fHistThetaLambdaXiPlus; //! MC Theta angle of the anti-Lambda daughter of the generated Xi+
db71a168 91 TH1F *fHistThetaBachXiPlus; //! MC Theta angle of the Bachelor (pi+)
b67ec6f7 92
93 TH1F *fHistThetaMesDghterXiPlus; //! MC Theta angle of the mesonic V0 daughter in the generated cascade, pi+
94 TH1F *fHistThetaBarDghterXiPlus; //! MC Theta angle of the baryonic V0 daughter in the generated cascade, p-
95
db71a168 96 TH1F *fHistPtBachXiPlus; //! MC Pt of the Bachelor (pi+) (Control Plot)
b67ec6f7 97 TH1F *fHistPtMesDghterXiPlus; //! MC Pt of the meson daughter of the 'Lambda0', pi+ (Control Plot)
98 TH1F *fHistPtBarDghterXiPlus; //! MC Pt of the baryon daughter of the 'Lambda0', p- (Control Plot)
99
100
101
102 //--------------
103 // Omega-
db71a168 104 TH1F *fHistEtaGenCascOmegaMinus; //! MC Pseudo-rapidity of any generated Omega- (no cuts in acceptance)
ff0753e1 105 TH2F *f2dHistGenPtVsGenYGenOmegaMinus; //! MC Pt Vs MC Y of generated Omega-
b67ec6f7 106
107 // - Histos planned for Omega- emitted within the acceptance (cuts in theta + pt of daughters)
108 TH1F *fHistThetaGenCascOmegaMinus; //! MC Theta angle of the generated Omega-
ff0753e1 109 TH2F *f2dHistGenPtVsGenYFdblOmegaMinus; //! MC Pt Vs MC y of the findable Omega-
b67ec6f7 110
111 TH1F *fHistThetaLambdaOmegaMinus; //! MC Theta angle of the Lambda daughter of the generated Omega-
112 TH1F *fHistThetaBachOmegaMinus; //! MC Theta angle of the Bachelor (K-)
113
db71a168 114 TH1F *fHistThetaMesDghterOmegaMinus; //! MC Theta angle of the mesonic V0 daughter in the generated cascade, pi-
115 TH1F *fHistThetaBarDghterOmegaMinus; //! MC Theta angle of the baryonic V0 daughter in the generated cascade, p+
b67ec6f7 116
117 TH1F *fHistPtBachOmegaMinus; //! MC Pt of the Bachelor (K-) (Control Plot)
118 TH1F *fHistPtMesDghterOmegaMinus; //! MC Pt of the meson daughter of the 'Lambda0', pi- (Control Plot)
119 TH1F *fHistPtBarDghterOmegaMinus; //! MC Pt of the baryon daughter of the 'Lambda0', p+ (Control Plot)
120
121
122
123 //--------------
124 // Omega+
125 TH1F *fHistEtaGenCascOmegaPlus; //! MC Pseudo-rapidity of any generated Omega+ (no cuts in acceptance)
ff0753e1 126 TH2F *f2dHistGenPtVsGenYGenOmegaPlus; //! MC Pt Vs MC Y of generated Omega+
b67ec6f7 127
b67ec6f7 128 // - Histos planned for Omega+ emitted within the acceptance (cuts in theta + pt of daughters)
129 TH1F *fHistThetaGenCascOmegaPlus; //! MC Theta angle of the generated Omega+
ff0753e1 130 TH2F *f2dHistGenPtVsGenYFdblOmegaPlus; //! MC Pt Vs MC y of the findable Omega+
b67ec6f7 131
132 TH1F *fHistThetaLambdaOmegaPlus; //! MC Theta angle of the anti-Lambda daughter of the generated Omega+
133 TH1F *fHistThetaBachOmegaPlus; //! MC Theta angle of the Bachelor (K+)
134
db71a168 135 TH1F *fHistThetaMesDghterOmegaPlus; //! MC Theta angle of the mesonic V0 daughter in the generated cascade, pi+
136 TH1F *fHistThetaBarDghterOmegaPlus; //! MC Theta angle of the baryonic V0 daughter in the generated cascade, p-
b67ec6f7 137
138 TH1F *fHistPtBachOmegaPlus; //! MC Pt of the Bachelor (K+) (Control Plot)
139 TH1F *fHistPtMesDghterOmegaPlus; //! MC Pt of the meson daughter of the 'Lambda0', pi+ (Control Plot)
140 TH1F *fHistPtBarDghterOmegaPlus; //! MC Pt of the baryon daughter of the 'Lambda0', p- (Control Plot)
141
142
143
144// Part 2 - Any reconstructed cascades + reconstructed cascades associated with MC
ff0753e1 145 // 2.1 - Effective mass and PID
b67ec6f7 146 // - Effective mass histos for all the cascade candidates
147 TH1F *fHistMassXiMinus; //! reconstructed cascade effective mass, under Xi- hyp.
148 TH1F *fHistMassXiPlus; //! reconstructed cascade effective mass, under Xi+ hyp.
149 TH1F *fHistMassOmegaMinus; //! reconstructed cascade effective mass, under Omega- hyp.
150 TH1F *fHistMassOmegaPlus; //! reconstructed cascade effective mass, under Omega+ hyp.
151
f87cd3db 152 // - Effective mass histos with reconstruction combined PID
153 TH1F *fHistMassWithCombPIDXiMinus; //! reconstructed Xi- effective mass, with bach. comb PID
154 TH1F *fHistMassWithCombPIDXiPlus; //! reconstructed Xi+ effective mass, with bach. comb PID
155 TH1F *fHistMassWithCombPIDOmegaMinus; //! reconstructed Omega- effective mass, with bach. comb PID
156 TH1F *fHistMassWithCombPIDOmegaPlus; //! reconstructed Omega+ effective mass, with bach. comb PID
f870ac91 157
158 // - PID Probability versus MC Pt(bachelor track)
159 TH2F *f2dHistPIDprobaKaonVsMCPtBach; //! Comb. PID probability for the bach. to be a Kaon Vs MC pt(bach)
160 TH2F *f2dHistPIDprobaPionVsMCPtBach; //! Comb. PID probability for the bach. to be a Pion Vs MC pt(bach)
f87cd3db 161
162 // - Effective mass histos with perfect MC PID
163 TH1F *fHistMassWithMcPIDXiMinus; //! reconstructed Xi- effective mass, with MC bach. PID
164 TH1F *fHistMassWithMcPIDXiPlus; //! reconstructed Xi+ effective mass, with MC bach. PID
165 TH1F *fHistMassWithMcPIDOmegaMinus; //! reconstructed Omega- effective mass, with MC bach. PID
166 TH1F *fHistMassWithMcPIDOmegaPlus; //! reconstructed Omega+ effective mass, with MC bach. PID
167
168
ff0753e1 169 // 2.2 - Associated candidates
f870ac91 170 // - Effective mass histos for the cascade candidates associated with MC, without PID info
b67ec6f7 171 TH1F *fHistAsMCMassXiMinus; //! reconstr. cascade effective mass, under Xi- hyp. for Associated cand.
172 TH1F *fHistAsMCMassXiPlus; //! reconstr. cascade effective mass, under Xi+ hyp. for Associated cand.
173 TH1F *fHistAsMCMassOmegaMinus; //! reconstr. cascade effective mass, under Omega- hyp. for Associated cand.
174 TH1F *fHistAsMCMassOmegaPlus; //! reconstr. cascade effective mass, under Omega+ hyp. for Associated cand.
175
ff0753e1 176 // - Generated Pt Vs generated Y of the cascade candidates associated with MC
177 // + having the proper maximum proba of combined PID for the bachelor
178 TH2F *f2dHistAsMCandCombPIDGenPtVsGenYXiMinus; //! Pt(gen) Vs Y(gen) from the MC Xi- associated with Reco cand + with PID info
179 TH2F *f2dHistAsMCandCombPIDGenPtVsGenYXiPlus; //! Pt(gen) Vs Y(gen) from the MC Xi+ associated with Reco cand + with PID info
180 TH2F *f2dHistAsMCandCombPIDGenPtVsGenYOmegaMinus; //! Pt(gen) Vs Y(gen) from the MC Omega- associated with Reco cand + with PID info
181 TH2F *f2dHistAsMCandCombPIDGenPtVsGenYOmegaPlus; //! Pt(gen) Vs Y(gen) from the MC Omega+ associated with Reco cand + with PID info
182
183 // - Generated Pt Vs generated Y, for the cascade candidates associated with MC, without PID info
184 TH2F *f2dHistAsMCGenPtVsGenYXiMinus; //! gen. Pt Vs gen. Rap. from the MC Xi- associated with a reconstr. cascade
185 TH2F *f2dHistAsMCGenPtVsGenYXiPlus; //! gen. Pt Vs gen. Rap. from the MC Xi+ associated with a reconstr. cascade
186 TH2F *f2dHistAsMCGenPtVsGenYOmegaMinus; //! gen. Pt Vs gen. Rap. from the MC Omega- associated with a reconstr. cascade
187 TH2F *f2dHistAsMCGenPtVsGenYOmegaPlus; //! gen. Pt Vs gen. Rap. from the MC Omega+ associated with a reconstr. cascade
b67ec6f7 188
f870ac91 189 // - Generated Eta of the the cascade candidates associated with MC, without PID info
b67ec6f7 190 TH1F *fHistAsMCGenEtaXiMinus; //! generated Eta from the MC Xi- associated with a reconstr. cascade
191 TH1F *fHistAsMCGenEtaXiPlus; //! generated Eta from the MC Xi+ associated with a reconstr. cascade
192 TH1F *fHistAsMCGenEtaOmegaMinus; //! generated Eta from the MC Omega- associated with a reconstr. cascade
193 TH1F *fHistAsMCGenEtaOmegaPlus; //! generated Eta from the MC Omega+ associated with a reconstr. cascade
194
195 // - Resolution in Pt as function of generated Pt
196 TH2F *f2dHistAsMCResPtXiMinus; //! resolution in Pt as function of gen. Pt, for Xi-
197 TH2F *f2dHistAsMCResPtXiPlus; //! resolution in Pt as function of gen. Pt, for Xi-
198 TH2F *f2dHistAsMCResPtOmegaMinus; //! resolution in Pt as function of gen. Pt, for Omega-
199 TH2F *f2dHistAsMCResPtOmegaPlus; //! resolution in Pt as function of gen. Pt, for Omega+
200
201 // - Resolution in R(2D) as function of generated R
ff0753e1 202 TH2F *f2dHistAsMCResRXiMinus; //! resolution in transv. R = f(transv. gen. R), for Xi-
203 TH2F *f2dHistAsMCResRXiPlus; //! resolution in transv. R = f(transv. gen. R), for Xi+
204 TH2F *f2dHistAsMCResROmegaMinus; //! resolution in transv. R = f(transv. gen. R), for Omega-
205 TH2F *f2dHistAsMCResROmegaPlus; //! resolution in transv. R = f(transv. gen. R), for Omega+
7e504402 206
207 // - Compilation of all PID plots (3D = casc. transv. momemtum Vs Casc Eff mass Vs Y), stored into an AliCFContainer
208 AliCFContainer *fCFContCascadePIDAsXiMinus; //! for Xi- : Container to store any 3D histos with the different PID flavours
209 AliCFContainer *fCFContCascadePIDAsXiPlus; //! for Xi+ : Container to store any 3D histos with the different PID flavours
210 AliCFContainer *fCFContCascadePIDAsOmegaMinus; //! for Omega-: Container to store any 3D histos with the different PID flavours
211 AliCFContainer *fCFContCascadePIDAsOmegaPlus; //! for Omega+: Container to store any 3D histos with the different PID flavours
212
b67ec6f7 213
214
215 AliAnalysisTaskCheckPerformanceCascade(const AliAnalysisTaskCheckPerformanceCascade&); // not implemented
216 AliAnalysisTaskCheckPerformanceCascade& operator=(const AliAnalysisTaskCheckPerformanceCascade&); // not implemented
217
7e504402 218 ClassDef(AliAnalysisTaskCheckPerformanceCascade, 3);
b67ec6f7 219};
220
221#endif