1 #ifndef ALIANALYSISTASKCHECKPERFORMANCECASCADE_H
2 #define ALIANALYSISTASKCHECKPERFORMANCECASCADE_H
4 /* See cxx source for full Copyright notice */
6 //-----------------------------------------------------------------
7 // AliAnalysisTaskCheckPerformanceCascade class
8 // This task is for a performance study of cascade identification.
9 // It works with MC info and ESD/AOD tree.
10 // Origin : A.Maire Mar2009, antonin.maire@ires.in2p3.fr
11 //-----------------------------------------------------------------
18 #include "AliAnalysisTaskSE.h"
20 class AliAnalysisTaskCheckPerformanceCascade : public AliAnalysisTaskSE {
23 AliAnalysisTaskCheckPerformanceCascade();
24 AliAnalysisTaskCheckPerformanceCascade(const char *name );
25 virtual ~AliAnalysisTaskCheckPerformanceCascade() {}
27 //virtual void ConnectInputData(Option_t *);
28 virtual void UserCreateOutputObjects();
29 virtual void UserExec(Option_t *option);
30 virtual void Terminate(Option_t *);
32 void SetDebugLevelCascade(Int_t lDebugCascade = 0) {fDebugCascade = lDebugCascade;}
33 void SetCollidingSystems (Short_t collidingSystems = 0) {fCollidingSystems = collidingSystems;}
34 void SetAnalysisType (const char* analysisType = "ESD") {fAnalysisType = analysisType;}
37 Int_t fDebugCascade; // Denug Flag for this task devoted to cascade
38 TString fAnalysisType; // "ESD" or "AOD" analysis type
39 Short_t fCollidingSystems; // 0 = pp collisions or 1 = AA collisions
41 TList *fListHistCascade; //! List of Cascade histograms
43 TH1F *fHistMCTrackMultiplicity; //! MC Track multiplicity
47 TH1F *fHistEtaGenProton; //! MC Pseudo-rapidity of any generated p+ (no cuts in acceptance)
48 TH1F *fHistEtaGenAntiProton; //! MC Pseudo-rapidity of any generated p+ (no cuts in acceptance)
50 // Part 1 - Generated cascades
54 TH1F *fHistEtaGenCascXiMinus; //! MC Pseudo-rapidity of any generated Xi- (no cuts in acceptance)
56 // - Plots for |y(MC)| < 1
57 TH1F *fHistYGenCascMidRapXiMinus; //! MC rapidity of Xi- generated within |y(MC)| < 1
58 TH1F *fHistEtaGenCascMidRapXiMinus; //! MC Eta of Xi- generated within |y(MC)| < 1
59 TH1F *fHistThetaGenCascMidRapXiMinus; //! MC theta of Xi- generated within |y(MC)| < 1
60 TH1F *fHistPtGenCascMidRapXiMinus; //! MC Pt of Xi- generated within |y(MC)| < 1
62 // - Histos planned for Xi- emitted within the acceptance (cuts in theta + pt of daughters)
63 // = findable cascades
64 TH1F *fHistThetaGenCascXiMinus; //! MC Theta angle of the generated Xi-
65 TH1F *fHistPtFdblGenCascXiMinus; //! MC Pt of the cascade, Xi-
67 TH1F *fHistThetaLambdaXiMinus; //! MC Theta angle of the Lambda daughter of the generated Xi-
68 TH1F *fHistThetaBachXiMinus; //! MC Theta angle of the Bachelor (pi-)
70 TH1F *fHistThetaMesDghterXiMinus; //! MC Theta angle of the mesonic V0 daughter in the generated cascade, pi-
71 TH1F *fHistThetaBarDghterXiMinus; //! MC Theta angle of the baryonic V0 daughter in the generated cascade, p+
73 TH1F *fHistPtBachXiMinus; //! MC Pt of the Bachelor (pi-) (Control Plot)
74 TH1F *fHistPtMesDghterXiMinus; //! MC Pt of the meson daughter of the 'Lambda0', pi- (Control Plot)
75 TH1F *fHistPtBarDghterXiMinus; //! MC Pt of the baryon daughter of the 'Lambda0', p+ (Control Plot)
81 TH1F *fHistEtaGenCascXiPlus; //! MC Pseudo-rapidity of any generated Xi+ (no cuts in acceptance)
83 // - Plots for |y(MC)| < 1
84 TH1F *fHistYGenCascMidRapXiPlus; //! MC rapidity of Xi+ generated within |y(MC)| < 1
85 TH1F *fHistEtaGenCascMidRapXiPlus; //! MC Eta of Xi+ generated within |y(MC)| < 1
86 TH1F *fHistThetaGenCascMidRapXiPlus; //! MC theta of Xi+ generated within |y(MC)| < 1
87 TH1F *fHistPtGenCascMidRapXiPlus; //! MC Pt of Xi+ generated within |y(MC)| < 1
89 // - Histos planned for Xi+ emitted within the acceptance (cuts in theta + pt of daughters)
90 TH1F *fHistThetaGenCascXiPlus; //! MC Theta angle of the generated Xi+
91 TH1F *fHistPtFdblGenCascXiPlus; //! MC Pt of the cascade, Xi+
93 TH1F *fHistThetaLambdaXiPlus; //! MC Theta angle of the anti-Lambda daughter of the generated Xi+
94 TH1F *fHistThetaBachXiPlus; //! MC Theta angle of the Bachelor (pi+)
96 TH1F *fHistThetaMesDghterXiPlus; //! MC Theta angle of the mesonic V0 daughter in the generated cascade, pi+
97 TH1F *fHistThetaBarDghterXiPlus; //! MC Theta angle of the baryonic V0 daughter in the generated cascade, p-
99 TH1F *fHistPtBachXiPlus; //! MC Pt of the Bachelor (pi+) (Control Plot)
100 TH1F *fHistPtMesDghterXiPlus; //! MC Pt of the meson daughter of the 'Lambda0', pi+ (Control Plot)
101 TH1F *fHistPtBarDghterXiPlus; //! MC Pt of the baryon daughter of the 'Lambda0', p- (Control Plot)
107 TH1F *fHistEtaGenCascOmegaMinus; //! MC Pseudo-rapidity of any generated Omega- (no cuts in acceptance)
109 // - Plots for |y(MC)| < 1
110 TH1F *fHistYGenCascMidRapOmegaMinus; //! MC rapidity of Omega- generated within |y(MC)| < 1
111 TH1F *fHistEtaGenCascMidRapOmegaMinus; //! MC Eta of Omega- generated within |y(MC)| < 1
112 TH1F *fHistThetaGenCascMidRapOmegaMinus; //! MC theta of Omega- generated within |y(MC)| < 1
113 TH1F *fHistPtGenCascMidRapOmegaMinus; //! MC Pt of Omega- generated within |y(MC)| < 1
115 // - Histos planned for Omega- emitted within the acceptance (cuts in theta + pt of daughters)
116 TH1F *fHistThetaGenCascOmegaMinus; //! MC Theta angle of the generated Omega-
117 TH1F *fHistPtFdblGenCascOmegaMinus; //! MC Pt of the cascade, Omega-
119 TH1F *fHistThetaLambdaOmegaMinus; //! MC Theta angle of the Lambda daughter of the generated Omega-
120 TH1F *fHistThetaBachOmegaMinus; //! MC Theta angle of the Bachelor (K-)
122 TH1F *fHistThetaMesDghterOmegaMinus; //! MC Theta angle of the mesonic V0 daughter in the generated cascade, pi-
123 TH1F *fHistThetaBarDghterOmegaMinus; //! MC Theta angle of the baryonic V0 daughter in the generated cascade, p+
125 TH1F *fHistPtBachOmegaMinus; //! MC Pt of the Bachelor (K-) (Control Plot)
126 TH1F *fHistPtMesDghterOmegaMinus; //! MC Pt of the meson daughter of the 'Lambda0', pi- (Control Plot)
127 TH1F *fHistPtBarDghterOmegaMinus; //! MC Pt of the baryon daughter of the 'Lambda0', p+ (Control Plot)
133 TH1F *fHistEtaGenCascOmegaPlus; //! MC Pseudo-rapidity of any generated Omega+ (no cuts in acceptance)
135 // - Plots for |y(MC)| < 1
136 TH1F *fHistYGenCascMidRapOmegaPlus; //! MC rapidity of Omega+ generated within |y(MC)| < 1
137 TH1F *fHistEtaGenCascMidRapOmegaPlus; //! MC Eta of Omega+ generated within |y(MC)| < 1
138 TH1F *fHistThetaGenCascMidRapOmegaPlus; //! MC theta of Omega+ generated within |y(MC)| < 1
139 TH1F *fHistPtGenCascMidRapOmegaPlus; //! MC Pt of Omega+ generated within |y(MC)| < 1
141 // - Histos planned for Omega+ emitted within the acceptance (cuts in theta + pt of daughters)
142 TH1F *fHistThetaGenCascOmegaPlus; //! MC Theta angle of the generated Omega+
143 TH1F *fHistPtFdblGenCascOmegaPlus; //! MC Pt of the cascade, Omega+
145 TH1F *fHistThetaLambdaOmegaPlus; //! MC Theta angle of the anti-Lambda daughter of the generated Omega+
146 TH1F *fHistThetaBachOmegaPlus; //! MC Theta angle of the Bachelor (K+)
148 TH1F *fHistThetaMesDghterOmegaPlus; //! MC Theta angle of the mesonic V0 daughter in the generated cascade, pi+
149 TH1F *fHistThetaBarDghterOmegaPlus; //! MC Theta angle of the baryonic V0 daughter in the generated cascade, p-
151 TH1F *fHistPtBachOmegaPlus; //! MC Pt of the Bachelor (K+) (Control Plot)
152 TH1F *fHistPtMesDghterOmegaPlus; //! MC Pt of the meson daughter of the 'Lambda0', pi+ (Control Plot)
153 TH1F *fHistPtBarDghterOmegaPlus; //! MC Pt of the baryon daughter of the 'Lambda0', p- (Control Plot)
157 // Part 2 - Any reconstructed cascades + reconstructed cascades associated with MC
158 // - Effective mass histos for all the cascade candidates
159 TH1F *fHistMassXiMinus; //! reconstructed cascade effective mass, under Xi- hyp.
160 TH1F *fHistMassXiPlus; //! reconstructed cascade effective mass, under Xi+ hyp.
161 TH1F *fHistMassOmegaMinus; //! reconstructed cascade effective mass, under Omega- hyp.
162 TH1F *fHistMassOmegaPlus; //! reconstructed cascade effective mass, under Omega+ hyp.
164 // - Effective mass histos for the cascade candidates associated with MC
165 TH1F *fHistAsMCMassXiMinus; //! reconstr. cascade effective mass, under Xi- hyp. for Associated cand.
166 TH1F *fHistAsMCMassXiPlus; //! reconstr. cascade effective mass, under Xi+ hyp. for Associated cand.
167 TH1F *fHistAsMCMassOmegaMinus; //! reconstr. cascade effective mass, under Omega- hyp. for Associated cand.
168 TH1F *fHistAsMCMassOmegaPlus; //! reconstr. cascade effective mass, under Omega+ hyp. for Associated cand.
170 // - Generated Pt of the cascade candidates associated with MC
171 TH1F *fHistAsMCGenPtXiMinus; //! generated Pt from the MC Xi- associated with a reconstr. cascade
172 TH1F *fHistAsMCGenPtXiPlus; //! generated Pt from the MC Xi+ associated with a reconstr. cascade
173 TH1F *fHistAsMCGenPtOmegaMinus; //! generated Pt from the MC Omega- associated with a reconstr. cascade
174 TH1F *fHistAsMCGenPtOmegaPlus; //! generated Pt from the MC Omega+ associated with a reconstr. cascade
176 // - Generated Y of the cascade candidates associated with MC
177 TH1F *fHistAsMCGenYXiMinus; //! generated Rap. from the MC Xi- associated with a reconstr. cascade
178 TH1F *fHistAsMCGenYXiPlus; //! generated Rap. from the MC Xi+ associated with a reconstr. cascade
179 TH1F *fHistAsMCGenYOmegaMinus; //! generated Rap. from the MC Omega- associated with a reconstr. cascade
180 TH1F *fHistAsMCGenYOmegaPlus; //! generated Rap. from the MC Omega+ associated with a reconstr. cascade
182 // - Generated Y Vs Generated Pt, for the cascade candidates associated with MC
183 TH2F *f2dHistAsMCGenYVsGenPtXiMinus; //! gen. Rap. Vs gen. Pt from the MC Xi- associated with a reconstr. cascade
184 TH2F *f2dHistAsMCGenYVsGenPtXiPlus; //! gen. Rap. Vs gen. Pt from the MC Xi+ associated with a reconstr. cascade
185 TH2F *f2dHistAsMCGenYVsGenPtOmegaMinus; //! gen. Rap. Vs gen. Pt from the MC Omega- associated with a reconstr. cascade
186 TH2F *f2dHistAsMCGenYVsGenPtOmegaPlus; //! gen. Rap. Vs gen. Pt from the MC Omega+ associated with a reconstr. cascade
188 // - Generated Eta of the the cascade candidates associated with MC
189 TH1F *fHistAsMCGenEtaXiMinus; //! generated Eta from the MC Xi- associated with a reconstr. cascade
190 TH1F *fHistAsMCGenEtaXiPlus; //! generated Eta from the MC Xi+ associated with a reconstr. cascade
191 TH1F *fHistAsMCGenEtaOmegaMinus; //! generated Eta from the MC Omega- associated with a reconstr. cascade
192 TH1F *fHistAsMCGenEtaOmegaPlus; //! generated Eta from the MC Omega+ associated with a reconstr. cascade
194 // - Resolution in Pt as function of generated Pt
195 TH2F *f2dHistAsMCResPtXiMinus; //! resolution in Pt as function of gen. Pt, for Xi-
196 TH2F *f2dHistAsMCResPtXiPlus; //! resolution in Pt as function of gen. Pt, for Xi-
197 TH2F *f2dHistAsMCResPtOmegaMinus; //! resolution in Pt as function of gen. Pt, for Omega-
198 TH2F *f2dHistAsMCResPtOmegaPlus; //! resolution in Pt as function of gen. Pt, for Omega+
200 // - Resolution in R(2D) as function of generated R
201 TH2F *f2dHistAsMCResRXiMinus; //! resolution in transv. R as function of transv. gen. R, for Xi-
202 TH2F *f2dHistAsMCResRXiPlus; //! resolution in transv. R as function of transv. gen. R, for Xi+
203 TH2F *f2dHistAsMCResROmegaMinus; //! resolution in transv. R as function of transv. gen. R, for Omega-
204 TH2F *f2dHistAsMCResROmegaPlus; //! resolution in transv. R as function of transv. gen. R, for Omega+
207 AliAnalysisTaskCheckPerformanceCascade(const AliAnalysisTaskCheckPerformanceCascade&); // not implemented
208 AliAnalysisTaskCheckPerformanceCascade& operator=(const AliAnalysisTaskCheckPerformanceCascade&); // not implemented
210 ClassDef(AliAnalysisTaskCheckPerformanceCascade, 1);