fine tuning of TOF tail (developing task)
[u/mrichter/AliRoot.git] / PWGPP / AliAnalysisTaskV0QA.h
CommitLineData
7f11ea62 1#ifndef AliAnalysisTaskV0QA_h
2#define AliAnalysisTaskV0QA_h
3//----------------------------------
4// Class to check the V0 method efficiency for
5// Author A. Marin revision 18/10/2009
6//----------------------------------
7
d38f1e88 8#include "THnSparse.h"
9#include "TList.h"
8b04dae1 10#include "AliPID.h"
47dce8bb 11#include "AliAnalysisTaskSE.h"
d38f1e88 12#include "AliAnalysisManager.h"
13#include "AliAnalysisDataContainer.h"
7f11ea62 14
15class TH1;
16class THnSparse;
17class TList;
18class AliESDEvent;
19class AliESD;
20class TLorentzVector;
21class AliAnalysisManager;
22class AliAnalysisDataContainer;
d38f1e88 23class AliESDtrackCuts;
8b04dae1 24class AliMCEventHandler;
25class AliStack;
d38f1e88 26class TChain;
27
47dce8bb 28class AliAnalysisTaskV0QA : public AliAnalysisTaskSE {
d38f1e88 29 public:
30 // AliAnalysisTaskV0QA() : AliAnalysisTask(), fESD(0), fChain(0) {}
47dce8bb 31 AliAnalysisTaskV0QA();
32 AliAnalysisTaskV0QA(const char *name);
33
d38f1e88 34 virtual ~AliAnalysisTaskV0QA();
35
47dce8bb 36 virtual void UserCreateOutputObjects();
37 virtual void UserExec(Option_t *option);
d38f1e88 38 virtual void Terminate(Option_t *);
39
40 void InspectListOfChargedParticles();
41 void InspectListOfV0s();
42 void FillHnSparseGamma();
43 void FillHnSparseK0();
44 void FillHnSparseL();
45 void FillHnSparseAL();
46
47 // void getPID(AliESDtrack *esdTrack, Stat_t &fpid, Stat_t &fweight);
48
49
50 // AliESDtrackCuts* fEsdTrackCuts; // Object containing the parameters of the esd track cuts
51 // void SetESDtrackCuts();
52
53
54
55
56 Int_t GetTPCReference(Int_t label);
57
58
59
60
61 private:
62
63
64
7f11ea62 65 AliESDEvent *fESD; // ESD object
66 AliStack * fStack; // The MC Stack
67 AliMCEventHandler* fMCtruth; // The mc info
d38f1e88 68
7f11ea62 69 TChain * fChain; // Input chian
d38f1e88 70 TList * fOutputContainer; // ! output data container
71
7f11ea62 72 THnSparse *fSparseV0; // THnSparse with Gamma info
73 THnSparse *fSparseK0; // THnSparse with K0 info
74 THnSparse *fSparseL; // THnSparse with L info
75 THnSparse *fSparseAL; // THnSparse with antiL info
d38f1e88 76
77 //////////////////////////////////
78
7f11ea62 79 Int_t fnEv; // Number of event to analyse
ec835029 80 Int_t fgDim; // Dimension of the THnSparse
d38f1e88 81
7f11ea62 82 Int_t fnConvGamGeant; // number of conversions in mc
d38f1e88 83
ec835029 84 Int_t * fgConvGamGeantIndex; //[fgDim] index of conversions in mc
85 Int_t * feNegConvGamGeantIndex; //[fgDim] index of e- from conversions in mc
86 Int_t * fePosConvGamGeantIndex; //[fgDim] index of e+ from conversions in mc
87 Float_t * feNegConvGamGeantLength; //[fgDim] length of the e- from conv
88 Float_t * fePosConvGamGeantLength; //[fgDim] length of the e+ from conv
d38f1e88 89
90
ec835029 91 Int_t * feNegConvGamSingleRecIndex; //[fgDim] index of e- from conversions reconstructed single
92 Int_t * fePosConvGamSingleRecIndex; //[fgDim] index of e+ from conversions reconstructed single
93 Int_t * feNegConvGamV0RecIndex; //[fgDim] index of e- from conversions reconstructed in V0
94 Int_t * fePosConvGamV0RecIndex; //[fgDim] index of e- from conversions reconstructed in V0
95 Int_t * fConvGamV0RecIndexPos; //[fgDim] index of V0 from conversions reconstructed
96 Int_t * fConvGamV0RecIndexNeg; //[fgDim] index of V0 from conversions reconstructed
97
d38f1e88 98
99
7f11ea62 100 // Lambda
101 Int_t fnDecayLGeant; // number of Lambda in mc
ec835029 102 Int_t * flDecayLGeantIndex; //[fgDim] index of Lambda in MC
103 Int_t * fpiNegDecayLGeantIndex; //[fgDim] index of pi- from L in MC
104 Int_t * fpPosDecayLGeantIndex; //[fgDim] index of proton from L in MC
105 Float_t * fpiNegDecayLGeantLength; //[fgDim] length of the pi- from MC
106 Float_t * fpPosDecayLGeantLength; //[fgDim] length of the proton from MC
d38f1e88 107
ec835029 108 Int_t * fpiNegDecayLSingleRecIndex; //[fgDim] index of pi- from L reconstr. single
109 Int_t * fpPosDecayLSingleRecIndex; //[fgDim] index of proton from L reconstr. single
110 Int_t * fpiNegDecayLV0RecIndex; //[fgDim] index of pi- from L reconstr. V0
111 Int_t * fpPosDecayLV0RecIndex; //[fgDim] index of proton from L reconstr. V0
112 Int_t * fDecayLV0RecIndexPos; //[fgDim] index of pi- from L reconstr. V0
113 Int_t * fDecayLV0RecIndexNeg; //[fgDim] index of proton from L reconstr.
d38f1e88 114
115
116 // AntiLambda
7f11ea62 117 Int_t fnDecayALGeant; // number of Lambdabar in mc
ec835029 118 Int_t * falDecayALGeantIndex; //[fgDim] index of Lambdabar in MC
119 Int_t * fpiPosDecayALGeantIndex; //[fgDim] index of pi+ from AL in MC
120 Int_t * fapNegDecayALGeantIndex; //[fgDim] index of antiproton from AL in MC
121 Float_t * fpiPosDecayALGeantLength; //[fgDim] Length of pi+ in MC
122 Float_t * fapNegDecayALGeantLength; //[fgDim] Length of antiproton in MC
d38f1e88 123
ec835029 124 Int_t * fpiPosDecayALSingleRecIndex; //[fgDim] index of pi+ from AL reconstr. single
125 Int_t * fapNegDecayALSingleRecIndex; //[fgDim] index of antiproton from AL reconstr. single
126 Int_t * fpiPosDecayALV0RecIndex; //[fgDim] index of pi+ from AL reconstr. V0
127 Int_t * fapNegDecayALV0RecIndex; //[fgDim] index of antiproton from AL reconstr. V0
128 Int_t * fDecayALV0RecIndexPos; //[fgDim] index of pi+ V0
129 Int_t * fDecayALV0RecIndexNeg; //[fgDim] index of antiproton V0
d38f1e88 130
131
132 // K0S
7f11ea62 133 Int_t fnDecayK0Geant; // number of K0s in mc
ec835029 134 Int_t * fK0DecayK0GeantIndex; //[fgDim] index of K0S in MC
135 Int_t * fpiNegDecayK0GeantIndex; //[fgDim] index of pi- from K0s in MC
136 Int_t * fpiPosDecayK0GeantIndex; //[fgDim] index of pi+ from K0s in MC
137 Float_t * fpiNegDecayK0GeantLength; //[fgDim] length of the pi- from K0s in MC
138 Float_t * fpiPosDecayK0GeantLength; //[fgDim] length of the pi+ from K0s in MC
139
140 Int_t * fpiNegDecayK0SingleRecIndex; //[fgDim] index of pi- from K0S reconstr. single
141 Int_t * fpiPosDecayK0SingleRecIndex; //[fgDim] index of pi+ from K0S reconstr. single
142 Int_t * fpiNegDecayK0V0RecIndex; //[fgDim] index of pi- from K0S reconstr. V0
143 Int_t * fpiPosDecayK0V0RecIndex; //[fgDim] index of pi+ from K0S reconstr. V0
144 Int_t * fDecayK0V0RecIndexPos; //[fgDim] index of pi+ V0
145 Int_t * fDecayK0V0RecIndexNeg; //[fgDim] index of pi- V0
7f11ea62 146
147 Int_t fpiPosK0Index; //
148 Int_t fpiNegK0Index; //
d38f1e88 149
150
7f11ea62 151 Int_t fnTracksPrim; // number of primary tracks contributing to vertex
d38f1e88 152
153
7f11ea62 154 Int_t ftpcRefit; // tpcRefit condition
155 Int_t fitsRefit; // itsRefit condition
156 Int_t ftrdRefit; // trdRefit condition
157 Int_t ftrdOut; // trdOut condition
d38f1e88 158
159
160
161
8155e9ad 162 //Double_t fprobabilityPos[AliPID::kSPECIES];
163 //Double_t fprobabilityNeg[AliPID::kSPECIES];
d38f1e88 164
7f11ea62 165 Int_t fDim; // number of dimensions THnSparse
ec835029 166 Double_t * fValueL; //[fDim] values to THnSparse for L
167 Double_t * fValueAL; //[fDim] values to THnSparse for AL
168 Double_t * fValueK0; //[fDim] values to THnSparse for K0
169 Double_t * fValueV0; //[fDim] values to THnSparse for Gamma
170
171 Double_t * fxminV0; //[fDim] min value to THnSparse
172 Double_t * fxmaxV0; //[fDim] max value to THnSparse
173 Int_t * fbinsV0; //[fDim] number of bins to THnSparse
b820cd62 174 Int_t fCentralityC; // centrality
d38f1e88 175
176
177
7f11ea62 178 TObjArray* fRefTPC; // references for the tpc
179 int fLabelsTPC[100000]; // labels for the tpc
d38f1e88 180
181
7f11ea62 182 TClonesArray *fclRefsN; // negative references for the tpc
183 TClonesArray *fclRefsP; // positive references for the tpc
d38f1e88 184
185 // MC variables
186
187 AliAnalysisTaskV0QA (const AliAnalysisTaskV0QA & v0QA );
188 AliAnalysisTaskV0QA & operator=(const AliAnalysisTaskV0QA & v0QA);
189
190
191
192 ClassDef(AliAnalysisTaskV0QA, 1); // example of analysis
193};
7f11ea62 194
195
196#endif