]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/SPECTRA/AliAnalysisTaskCheckPerformanceCascade.h
Bug fix: proper place to reinitialise the generic MC histos in the switch -> no crash...
[u/mrichter/AliRoot.git] / PWG2 / SPECTRA / AliAnalysisTaskCheckPerformanceCascade.h
1 #ifndef ALIANALYSISTASKCHECKPERFORMANCECASCADE_H
2 #define ALIANALYSISTASKCHECKPERFORMANCECASCADE_H
3
4 /*  See cxx source for full Copyright notice */
5
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 //-----------------------------------------------------------------
12
13 class TList;
14 class TH1F;
15 class TH2F;
16 class AliESDEvent;
17
18 #include "AliAnalysisTaskSE.h"
19
20 class AliAnalysisTaskCheckPerformanceCascade : public AliAnalysisTaskSE {
21  public:
22  
23   AliAnalysisTaskCheckPerformanceCascade();
24   AliAnalysisTaskCheckPerformanceCascade(const char *name );
25   virtual ~AliAnalysisTaskCheckPerformanceCascade() {}
26   
27   //virtual void   ConnectInputData(Option_t *);
28   virtual void   UserCreateOutputObjects();
29   virtual void   UserExec(Option_t *option);
30   virtual void   Terminate(Option_t *);
31   
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;}
35   
36  private:
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
40         
41         TList   *fListHistCascade;              //! List of Cascade histograms
42                 // - Histos 
43         TH1F    *fHistMCTrackMultiplicity;      //! MC Track multiplicity
44         
45         
46         // proton
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)
49
50 // Part 1 - Generated cascades
51         
52         //--------------
53         // Xi-
54         TH1F    *fHistEtaGenCascXiMinus;                //! MC Pseudo-rapidity of any generated Xi- (no cuts in acceptance)
55         
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
61         
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-
66         
67         TH1F    *fHistThetaLambdaXiMinus;               //! MC Theta angle of the Lambda daughter of the generated Xi-
68         TH1F    *fHistThetaBachXiMinus;                 //! MC Theta angle of the Bachelor (pi-)
69         
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+
72         
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)
76         
77         
78         
79         //--------------
80         // Xi+
81         TH1F    *fHistEtaGenCascXiPlus;                 //! MC Pseudo-rapidity of any generated Xi+ (no cuts in acceptance)
82         
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
88                 
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+
92         
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+)
95         
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-
98         
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)
102         
103         
104         
105         //--------------
106         // Omega-
107         TH1F    *fHistEtaGenCascOmegaMinus;             //! MC Pseudo-rapidity of any generated Omega- (no cuts in acceptance)
108         
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
114         
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-
118         
119         TH1F    *fHistThetaLambdaOmegaMinus;            //! MC Theta angle of the Lambda daughter of the generated Omega-
120         TH1F    *fHistThetaBachOmegaMinus;              //! MC Theta angle of the Bachelor (K-)
121         
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+
124         
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)
128         
129         
130         
131         //--------------
132         // Omega+
133         TH1F    *fHistEtaGenCascOmegaPlus;              //! MC Pseudo-rapidity of any generated Omega+ (no cuts in acceptance)
134                 
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
140         
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+
144         
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+)
147         
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-
150         
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)
154         
155         
156         
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.
163         
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.
169         
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
175   
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
181         
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
187         
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
193         
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+
199         
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+
205         
206         
207   AliAnalysisTaskCheckPerformanceCascade(const AliAnalysisTaskCheckPerformanceCascade&);            // not implemented
208   AliAnalysisTaskCheckPerformanceCascade& operator=(const AliAnalysisTaskCheckPerformanceCascade&); // not implemented
209   
210   ClassDef(AliAnalysisTaskCheckPerformanceCascade, 1);
211 };
212
213 #endif