]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/SPECTRA/AliAnalysisTaskCheckCascade.h
adding properly the Cascade task to PWG2spectra pkg
[u/mrichter/AliRoot.git] / PWG2 / SPECTRA / AliAnalysisTaskCheckCascade.h
1 #ifndef ALIANALYSISTASKCHECKCASCADE_H
2 #define ALIANALYSISTASKCHECKCASCADE_H
3
4 /*  See cxx source for full Copyright notice */
5
6 //-----------------------------------------------------------------
7 //                 AliAnalysisTaskCheckCascade class
8 //            (AliAnalysisTaskCheckCascade)
9 //            This task is for QAing the Cascades from ESD and AOD
10 //              Origin:  AliAnalysisTaskESDCheckV0 by B.H. Nov2007, hippolyt@in2p3.fr
11 //            Adapted to Cascade : A.M Mar2008, antonin.maire@ires.in2p3.fr
12 //-----------------------------------------------------------------
13
14 class TList;
15 class TH1F;
16 class TH2F;
17  
18
19 #include "TString.h"
20
21 #include "AliAnalysisTaskSE.h"
22
23 class AliAnalysisTaskCheckCascade : public AliAnalysisTaskSE {
24  public:
25   AliAnalysisTaskCheckCascade();
26   AliAnalysisTaskCheckCascade(const char *name);
27   virtual ~AliAnalysisTaskCheckCascade() {}
28   
29   virtual void   UserCreateOutputObjects();
30   virtual void   UserExec(Option_t *option);
31   virtual void   Terminate(Option_t *);
32   
33   void SetCollidingSystem(Short_t collidingSystems = 0)     {fCollidingSystems = collidingSystems;}
34   void SetAnalysisType   (const char* analysisType = "ESD") {fAnalysisType = analysisType;}
35   
36  private:
37         TString fAnalysisType;                          // "ESD" or "AOD" analysis type 
38         Short_t fCollidingSystems;                      // 0 = pp collisions or 1 = AA collisions
39         
40
41                 TList   *fListHistCascade;              //! List of Cascade histograms
42         
43         // - General histos (filled for any event)
44         TH1F    *fHistTrackMultiplicity;                //! Track multiplicity distribution
45         TH1F    *fHistCascadeMultiplicity;              //! Cascade multiplicity distribution
46
47
48         // - Vertex Positions
49         TH1F    *fHistVtxStatus;                        //! Is there a tracking vertex in the event ?
50
51                 // Vtx coming from the full tracking
52         TH1F    *fHistPosTrkgPrimaryVtxX;               //! primary vertex position distribution in x 
53         TH1F    *fHistPosTrkgPrimaryVtxY;               //! primary vertex position distribution in y
54         TH1F    *fHistPosTrkgPrimaryVtxZ;               //! primary vertex position distribution in z
55         TH1F    *fHistTrkgPrimaryVtxRadius;             //! primary vertex (3D) radius distribution 
56
57                 // Best primary Vtx available for the event
58         TH1F    *fHistPosBestPrimaryVtxX;               //! (best) primary vertex position distribution in x 
59         TH1F    *fHistPosBestPrimaryVtxY;               //! (best) primary vertex position distribution in y
60         TH1F    *fHistPosBestPrimaryVtxZ;               //! (best) primary vertex position distribution in z
61         TH1F    *fHistBestPrimaryVtxRadius;             //! (best) primary vertex radius distribution 
62         
63                 // Correlation Best Vtx / Full Tracking Vtx
64         TH2F    *f2dHistTrkgPrimVtxVsBestPrimVtx;       //!  Radius of prim. Vtx from tracks Vs Radius of best Prim. Vtx
65         
66         
67         
68         // - Typical histos on the variables used for the selection of cascades
69         TH1F    *fHistEffMassXi;                        //! reconstructed cascade effective mass
70         TH1F    *fHistChi2Xi;                           //! chi2 value
71         TH1F    *fHistDcaXiDaughters;                   //! dca between Xi's daughters
72         TH1F    *fHistDcaBachToPrimVertex;              //! dca of the bachelor track to primary vertex
73         TH1F    *fHistXiCosineOfPointingAngle;          //! cosine of Xi pointing angle in a cascade
74         TH1F    *fHistXiRadius;                         //! (transverse) radius of the cascade vertex 
75                 
76         // - Histos about ~ the "V0 selection part" of the cascade,  coming by inheritance from AliESDv0
77         TH1F    *fHistMassLambdaAsCascDghter;           //! Test Invariant Mass of Lambda coming from Cascade
78         TH1F    *fHistV0Chi2Xi;                         //! V0 chi2 distribution, for the V0 associated to a cascade
79         TH1F    *fHistDcaV0DaughtersXi;                 //! Dca between V0 daughters, for the V0 associated to a cascade
80         TH1F    *fHistDcaV0ToPrimVertexXi;              //! Dca of V0 to primary vertex, for the V0 associated to a cascade     
81         TH1F    *fHistV0CosineOfPointingAngleXi;        //! Cosine of V0 pointing angle, for the V0 associated to a cascade
82         TH1F    *fHistV0RadiusXi;                       //! V0 (transverse) distance distribution, for the V0 associated to a cascade
83
84         TH1F    *fHistDcaPosToPrimVertexXi;             //! Dca of V0 positive daughter to primary vertex, for the V0 associated to a cascade
85         TH1F    *fHistDcaNegToPrimVertexXi;             //! Dca of V0 negative daughter to primary vertex, for the V0 associated to a cascade
86         
87
88         // - Effective mass histos for cascades.
89         TH1F    *fHistMassXiMinus;                      //! reconstructed cascade effective mass, under Xi- hyp.
90         TH1F    *fHistMassXiPlus;                       //! reconstructed cascade effective mass, under Xi+ hyp.
91         TH1F    *fHistMassOmegaMinus;                   //! reconstructed cascade effective mass, under Omega- hyp.
92         TH1F    *fHistMassOmegaPlus;                    //! reconstructed cascade effective mass, under Omega+ hyp.
93
94         // - Complements for QA
95         TH1F    *fHistXiTransvMom;                      //! Xi transverse momentum 
96         TH1F    *fHistXiTotMom;                         //! Xi momentum norm
97         
98         TH1F    *fHistBachTransvMom;                    //! bachelor transverse momentum 
99         TH1F    *fHistBachTotMom;                       //! bachelor momentum norm
100                                 
101         TH1F    *fHistChargeXi;                         //! Charge sign of the cascade candidate
102         TH1F    *fHistV0toXiCosineOfPointingAngle;      //! Cos. of Pointing angle between the V0 mom and the Xi-V0 vtx line
103   
104         TH1F    *fHistRapXi;                            //! rapidity of Xi candidates
105         TH1F    *fHistRapOmega;                         //! rapidity of Omega candidates
106         TH1F    *fHistEta;                              //! eta distrib. of all the cascade candidates
107         TH1F    *fHistTheta;                            //! theta distrib. of all the cascade candidates
108         TH1F    *fHistPhi;                              //! phi distrib. of all the cascade candidates
109         
110         TH2F    *f2dHistArmenteros;                     //! alpha(casc. cand.) Vs PtArm(casc. cand.)
111         
112         TH2F    *f2dHistEffMassLambdaVsEffMassXiMinus;  //! Xi- Eff mass Vs V0 Eff mass, under Xi- hyp.
113         TH2F    *f2dHistEffMassXiVsEffMassOmegaMinus;   //! Xi- Eff mass Vs Omega- Eff mass, for negative cascades
114         TH2F    *f2dHistEffMassLambdaVsEffMassXiPlus;   //! Xi+ Eff mass Vs V0 Eff mass, under Xi+ hyp.
115         TH2F    *f2dHistEffMassXiVsEffMassOmegaPlus;    //! Xi+ Eff mass Vs Omega+ Eff mass, for positive cascades
116         
117         TH2F    *f2dHistXiRadiusVsEffMassXiMinus;       //! transv. casc. decay radius Vs Xi- Eff mass, under Xi- hyp.
118         TH2F    *f2dHistXiRadiusVsEffMassXiPlus;        //! transv. casc. decay radius Vs Xi+ Eff mass, under Xi+ hyp.
119
120   AliAnalysisTaskCheckCascade(const AliAnalysisTaskCheckCascade&);            // not implemented
121   AliAnalysisTaskCheckCascade& operator=(const AliAnalysisTaskCheckCascade&); // not implemented
122   
123   ClassDef(AliAnalysisTaskCheckCascade, 3);
124 };
125
126 #endif