]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG2/SPECTRA/AliAnalysisTaskCheckCascade.h
Real data adaptation :
[u/mrichter/AliRoot.git] / PWG2 / SPECTRA / AliAnalysisTaskCheckCascade.h
CommitLineData
684aef2e 1#ifndef ALIANALYSISTASKCHECKCASCADE_H
2#define ALIANALYSISTASKCHECKCASCADE_H
eed7ee51 3
4/* See cxx source for full Copyright notice */
5
6//-----------------------------------------------------------------
45ee0bcc 7// AliAnalysisTaskCheckCascade class
8// (AliAnalysisTaskCheckCascade)
32599cd4 9// This task has four roles :
3873f6ee 10// 1. QAing the Cascades from ESD and AOD
11// Origin: AliAnalysisTaskESDCheckV0 by B.H. Nov2007, hippolyt@in2p3.fr
32599cd4 12// 2. Prepare the plots which stand as raw material for yield extraction (wi/wo PID)
13// 3. Supply an AliCFContainer meant to define the optimised topological selections
14// 4. Rough azimuthal correlation study (Eta, Phi)
e9c3f0b6 15// Adapted to Cascade : A.Maire Mar2008, antonin.maire@ires.in2p3.fr
f3dc9369 16// Modified : A.Maire Dec2009, antonin.maire@ires.in2p3.fr
eed7ee51 17//-----------------------------------------------------------------
18
19class TList;
20class TH1F;
6dc8b253 21class TH2F;
ff0753e1 22class TH3F;
3873f6ee 23class TVector3;
24class THnSparse;
45ee0bcc 25
32599cd4 26class AliTPCpidESD;
27class AliCFContainer;
28
45ee0bcc 29
30#include "TString.h"
eed7ee51 31
45ee0bcc 32#include "AliAnalysisTaskSE.h"
eed7ee51 33
45ee0bcc 34class AliAnalysisTaskCheckCascade : public AliAnalysisTaskSE {
eed7ee51 35 public:
45ee0bcc 36 AliAnalysisTaskCheckCascade();
37 AliAnalysisTaskCheckCascade(const char *name);
38 virtual ~AliAnalysisTaskCheckCascade() {}
eed7ee51 39
45ee0bcc 40 virtual void UserCreateOutputObjects();
41 virtual void UserExec(Option_t *option);
3873f6ee 42 void DoAngularCorrelation(const Char_t *lCascType,
43 Double_t lInvMassCascade,
44 const Int_t *lArrTrackID,
45 TVector3 &lTVect3MomXi,
46 Double_t lEtaXi);
eed7ee51 47 virtual void Terminate(Option_t *);
48
f3dc9369 49 void SetRealDataFlag (Short_t realData = 0) {fRealData = realData;}
83db4a5d 50 void SetCollidingSystems(Short_t collidingSystems = 0) {fCollidingSystems = collidingSystems;}
51 void SetAnalysisType (const char* analysisType = "ESD") {fAnalysisType = analysisType;}
e9c3f0b6 52
45ee0bcc 53 private:
32599cd4 54 TString fAnalysisType; // "ESD" or "AOD" analysis type
55 Short_t fCollidingSystems; // 0 = pp collisions or 1 = AA collisions
f3dc9369 56 Short_t fRealData; // 0 = MC data or 1 = real data (needed for trigger issues)
32599cd4 57 AliTPCpidESD* fTpcPidManager; //! Tool data member to manage the TPC Bethe-Bloch info
58
eed7ee51 59
db166251 60 TList *fListHistCascade; //! List of Cascade histograms
eed7ee51 61
62 // - General histos (filled for any event)
63 TH1F *fHistTrackMultiplicity; //! Track multiplicity distribution
64 TH1F *fHistCascadeMultiplicity; //! Cascade multiplicity distribution
65
66
67 // - Vertex Positions
f42573c1 68 TH1F *fHistVtxStatus; //! Is there a tracking vertex in the event ?
eed7ee51 69
f42573c1 70 // Vtx coming from the full tracking
71 TH1F *fHistPosTrkgPrimaryVtxX; //! primary vertex position distribution in x
72 TH1F *fHistPosTrkgPrimaryVtxY; //! primary vertex position distribution in y
73 TH1F *fHistPosTrkgPrimaryVtxZ; //! primary vertex position distribution in z
74 TH1F *fHistTrkgPrimaryVtxRadius; //! primary vertex (3D) radius distribution
75
76 // Best primary Vtx available for the event
77 TH1F *fHistPosBestPrimaryVtxX; //! (best) primary vertex position distribution in x
78 TH1F *fHistPosBestPrimaryVtxY; //! (best) primary vertex position distribution in y
79 TH1F *fHistPosBestPrimaryVtxZ; //! (best) primary vertex position distribution in z
80 TH1F *fHistBestPrimaryVtxRadius; //! (best) primary vertex radius distribution
eed7ee51 81
f42573c1 82 // Correlation Best Vtx / Full Tracking Vtx
83 TH2F *f2dHistTrkgPrimVtxVsBestPrimVtx; //! Radius of prim. Vtx from tracks Vs Radius of best Prim. Vtx
eed7ee51 84
85
3873f6ee 86 // PART 1 : Adavanced QA
f42573c1 87 // - Typical histos on the variables used for the selection of cascades
eed7ee51 88 TH1F *fHistEffMassXi; //! reconstructed cascade effective mass
89 TH1F *fHistChi2Xi; //! chi2 value
90 TH1F *fHistDcaXiDaughters; //! dca between Xi's daughters
f42573c1 91 TH1F *fHistDcaBachToPrimVertex; //! dca of the bachelor track to primary vertex
92 TH1F *fHistXiCosineOfPointingAngle; //! cosine of Xi pointing angle in a cascade
eed7ee51 93 TH1F *fHistXiRadius; //! (transverse) radius of the cascade vertex
94
f42573c1 95 // - Histos about ~ the "V0 selection part" of the cascade, coming by inheritance from AliESDv0
eed7ee51 96 TH1F *fHistMassLambdaAsCascDghter; //! Test Invariant Mass of Lambda coming from Cascade
f42573c1 97 TH1F *fHistV0Chi2Xi; //! V0 chi2 distribution, for the V0 associated to a cascade
98 TH1F *fHistDcaV0DaughtersXi; //! Dca between V0 daughters, for the V0 associated to a cascade
db166251 99 TH1F *fHistDcaV0ToPrimVertexXi; //! Dca of V0 to primary vertex, for the V0 associated to a cascade
100 TH1F *fHistV0CosineOfPointingAngleXi; //! Cosine of V0 pointing angle, for the V0 associated to a cascade
101 TH1F *fHistV0RadiusXi; //! V0 (transverse) distance distribution, for the V0 associated to a cascade
eed7ee51 102
db166251 103 TH1F *fHistDcaPosToPrimVertexXi; //! Dca of V0 positive daughter to primary vertex, for the V0 associated to a cascade
104 TH1F *fHistDcaNegToPrimVertexXi; //! Dca of V0 negative daughter to primary vertex, for the V0 associated to a cascade
eed7ee51 105
106
107 // - Effective mass histos for cascades.
108 TH1F *fHistMassXiMinus; //! reconstructed cascade effective mass, under Xi- hyp.
109 TH1F *fHistMassXiPlus; //! reconstructed cascade effective mass, under Xi+ hyp.
110 TH1F *fHistMassOmegaMinus; //! reconstructed cascade effective mass, under Omega- hyp.
111 TH1F *fHistMassOmegaPlus; //! reconstructed cascade effective mass, under Omega+ hyp.
f87cd3db 112
113 TH1F *fHistMassWithCombPIDXiMinus; //! reconstructed Xi- effective mass, with bach. comb PID
114 TH1F *fHistMassWithCombPIDXiPlus; //! reconstructed Xi+ effective mass, with bach. comb PID
115 TH1F *fHistMassWithCombPIDOmegaMinus; //! reconstructed Omega- effective mass, with bach. comb PID
116 TH1F *fHistMassWithCombPIDOmegaPlus; //! reconstructed Omega+ effective mass, with bach. comb PID
f42573c1 117
118 // - Complements for QA
119 TH1F *fHistXiTransvMom; //! Xi transverse momentum
120 TH1F *fHistXiTotMom; //! Xi momentum norm
121
122 TH1F *fHistBachTransvMom; //! bachelor transverse momentum
123 TH1F *fHistBachTotMom; //! bachelor momentum norm
124
125 TH1F *fHistChargeXi; //! Charge sign of the cascade candidate
126 TH1F *fHistV0toXiCosineOfPointingAngle; //! Cos. of Pointing angle between the V0 mom and the Xi-V0 vtx line
eed7ee51 127
f42573c1 128 TH1F *fHistRapXi; //! rapidity of Xi candidates
129 TH1F *fHistRapOmega; //! rapidity of Omega candidates
130 TH1F *fHistEta; //! eta distrib. of all the cascade candidates
131 TH1F *fHistTheta; //! theta distrib. of all the cascade candidates
132 TH1F *fHistPhi; //! phi distrib. of all the cascade candidates
133
134 TH2F *f2dHistArmenteros; //! alpha(casc. cand.) Vs PtArm(casc. cand.)
45ee0bcc 135
136 TH2F *f2dHistEffMassLambdaVsEffMassXiMinus; //! Xi- Eff mass Vs V0 Eff mass, under Xi- hyp.
137 TH2F *f2dHistEffMassXiVsEffMassOmegaMinus; //! Xi- Eff mass Vs Omega- Eff mass, for negative cascades
138 TH2F *f2dHistEffMassLambdaVsEffMassXiPlus; //! Xi+ Eff mass Vs V0 Eff mass, under Xi+ hyp.
139 TH2F *f2dHistEffMassXiVsEffMassOmegaPlus; //! Xi+ Eff mass Vs Omega+ Eff mass, for positive cascades
140
141 TH2F *f2dHistXiRadiusVsEffMassXiMinus; //! transv. casc. decay radius Vs Xi- Eff mass, under Xi- hyp.
142 TH2F *f2dHistXiRadiusVsEffMassXiPlus; //! transv. casc. decay radius Vs Xi+ Eff mass, under Xi+ hyp.
e9c3f0b6 143 TH2F *f2dHistXiRadiusVsEffMassOmegaMinus; //! transv. casc. decay radius Vs Omega- Eff mass, under Omega- hyp.
144 TH2F *f2dHistXiRadiusVsEffMassOmegaPlus; //! transv. casc. decay radius Vs Omega+ Eff mass, under Omega+ hyp.
145
3873f6ee 146
147 // PART 2 : TH3F needed for pt spectrum and yield extraction
3aedd4a5 148 // Without any PID
149 TH3F *f3dHistXiPtVsEffMassVsYXiMinus; //! casc. transv. momemtum Vs Xi- Eff mass Vs Y
150 TH3F *f3dHistXiPtVsEffMassVsYXiPlus; //! casc. transv. momemtum Vs Xi+ Eff mass Vs Y
151 TH3F *f3dHistXiPtVsEffMassVsYOmegaMinus; //! casc. transv. momemtum Vs Omega- Eff mass Vs Y
152 TH3F *f3dHistXiPtVsEffMassVsYOmegaPlus; //! casc. transv. momemtum Vs Omega+ Eff mass Vs Y
153
154 // With single PID : proton PID for Xi (pion = useless) / bachelor PID for Omega
155 // = a priori, the most important PID info for each species
156 TH3F *f3dHistXiPtVsEffMassVsYWithCombPIDXiMinus; //! casc. transv. momemtum Vs Xi- Eff mass Vs Y
157 TH3F *f3dHistXiPtVsEffMassVsYWithCombPIDXiPlus; //! casc. transv. momemtum Vs Xi+ Eff mass Vs Y
158 TH3F *f3dHistXiPtVsEffMassVsYWithCombPIDOmegaMinus; //! casc. transv. momemtum Vs Omega- Eff mass Vs Y
159 TH3F *f3dHistXiPtVsEffMassVsYWithCombPIDOmegaPlus; //! casc. transv. momemtum Vs Omega+ Eff mass Vs Y
160
161 // With double PID : proton PID + bachelor PID for Omega
162 // = "second order" refinement for omegas
163 TH3F *f3dHistXiPtVsEffMassVsYWith2CombPIDOmegaMinus; //! casc. transv. momemtum Vs Omega- Eff mass Vs Y
164 TH3F *f3dHistXiPtVsEffMassVsYWith2CombPIDOmegaPlus; //! casc. transv. momemtum Vs Omega+ Eff mass Vs Y
165
32599cd4 166 // With TPC PID : 3-sigma band on the Bethe-Bloch curve
167 // = directly detector-based
168 TH3F *f3dHistXiPtVsEffMassVsYWithTpcPIDOmegaMinus; //! casc. transv. momemtum Vs Omega- Eff mass Vs Y
169
170 // Compilation of all PID plots (3D = casc. transv. momemtum Vs Casc Eff mass Vs Y), stored into an AliCFContainer
171 AliCFContainer *fCFContCascadePIDXiMinus; //! for Xi- : Container to store any 3D histos with the different PID flavours
172 AliCFContainer *fCFContCascadePIDXiPlus; //! for Xi+ : Container to store any 3D histos with the different PID flavours
173 AliCFContainer *fCFContCascadePIDOmegaMinus; //! for Omega-: Container to store any 3D histos with the different PID flavours
174 AliCFContainer *fCFContCascadePIDOmegaPlus; //! for Omega+: Container to store any 3D histos with the different PID flavours
175
176
177
178 // PART 3 : Towards the optimisation of topological selections
179 AliCFContainer *fCFContCascadeCuts; //! Container meant to store all the relevant distributions corresponding to the cut variables
3873f6ee 180
181
32599cd4 182 // PART 4 : Azimuthal correlation study
3873f6ee 183 THnSparseF *fHnSpAngularCorrXiMinus; //! Delta Phi(Casc,any trck) Vs Delta Eta(Casc,any trck) Vs Casc Pt Vs Pt of the tracks Vs Eff Mass
184 THnSparseF *fHnSpAngularCorrXiPlus; //! Delta Phi(Casc,any trck) Vs Delta Eta(Casc,any trck) Vs Casc Pt Vs Pt of the tracks Vs Eff Mass
185 THnSparseF *fHnSpAngularCorrOmegaMinus; //! Delta Phi(Casc,any trck) Vs Delta Eta(Casc,any trck) Vs Casc Pt Vs Pt of the tracks Vs Eff Mass
186 THnSparseF *fHnSpAngularCorrOmegaPlus; //! Delta Phi(Casc,any trck) Vs Delta Eta(Casc,any trck) Vs Casc Pt Vs Pt of the tracks Vs Eff Mass
187
eed7ee51 188
45ee0bcc 189 AliAnalysisTaskCheckCascade(const AliAnalysisTaskCheckCascade&); // not implemented
190 AliAnalysisTaskCheckCascade& operator=(const AliAnalysisTaskCheckCascade&); // not implemented
eed7ee51 191
f3dc9369 192 ClassDef(AliAnalysisTaskCheckCascade, 8);
eed7ee51 193};
194
195#endif