]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG1/AliAnalysisTaskV0QA.h
Update of the alignment-data fileting macro including a fix for the access to the...
[u/mrichter/AliRoot.git] / PWG1 / AliAnalysisTaskV0QA.h
1 #include "TH1.h"
2 #include "THnSparse.h"
3 #include "TList.h"
4 #include "AliESDEvent.h"
5 #include "AliESD.h"
6 #include "TLorentzVector.h"
7
8 #include "AliAnalysisTask.h"
9 #include "AliAnalysisManager.h"
10 #include "AliAnalysisDataContainer.h"
11 #include "AliESDtrackCuts.h"
12 class AliESDtrackCuts;
13 class TChain;
14
15 class AliAnalysisTaskV0QA : public AliAnalysisTask {
16  public:
17   //  AliAnalysisTaskV0QA() : AliAnalysisTask(), fESD(0), fChain(0) {}
18   AliAnalysisTaskV0QA(const char *name);
19   virtual ~AliAnalysisTaskV0QA();
20   
21   virtual void   ConnectInputData(Option_t *);
22   virtual void   CreateOutputObjects();
23   virtual void   Exec(Option_t *option);
24   virtual void   Terminate(Option_t *);
25
26   void InspectListOfChargedParticles();
27   void InspectListOfV0s();
28   void FillHnSparseGamma();
29   void FillHnSparseK0();
30   void FillHnSparseL();
31   void FillHnSparseAL();
32
33   //  void getPID(AliESDtrack *esdTrack, Stat_t &fpid, Stat_t &fweight);
34
35
36   //  AliESDtrackCuts* fEsdTrackCuts;           // Object containing the parameters of the esd track cuts
37   //  void SetESDtrackCuts();
38
39
40
41
42   Int_t GetTPCReference(Int_t label);
43
44
45
46
47  private:
48
49
50
51   AliESDEvent *fESD; //ESD object
52   AliStack * stack;
53   AliMCEventHandler* mctruth; 
54  
55   TChain * fChain;
56   TList * fOutputContainer; // ! output data container
57
58   THnSparse   *fSparseV0;
59   THnSparse   *fSparseK0;
60   THnSparse   *fSparseL;
61   THnSparse   *fSparseAL;
62
63   //////////////////////////////////
64
65   Int_t nEv;
66
67   Int_t nConvGamGeant;
68
69   Int_t * gConvGamGeantIndex;
70   Int_t * eNegConvGamGeantIndex;
71   Int_t * ePosConvGamGeantIndex;
72   Float_t * eNegConvGamGeantLength;
73   Float_t * ePosConvGamGeantLength;
74
75
76   Int_t * eNegConvGamSingleRecIndex;
77   Int_t * ePosConvGamSingleRecIndex;
78   Int_t * eNegConvGamV0RecIndex;
79   Int_t * ePosConvGamV0RecIndex;
80   Int_t * ConvGamV0RecIndexPos;
81   Int_t * ConvGamV0RecIndexNeg;
82
83
84   Int_t gDim;
85   // Lambda
86   Int_t nDecayLGeant;
87   Int_t * lDecayLGeantIndex;
88   Int_t * piNegDecayLGeantIndex;
89   Int_t * pPosDecayLGeantIndex;
90   Float_t * piNegDecayLGeantLength;
91   Float_t * pPosDecayLGeantLength;
92
93   Int_t * piNegDecayLSingleRecIndex;
94   Int_t * pPosDecayLSingleRecIndex;
95   Int_t * piNegDecayLV0RecIndex;
96   Int_t * pPosDecayLV0RecIndex;
97   Int_t * DecayLV0RecIndexPos;
98   Int_t * DecayLV0RecIndexNeg;
99
100
101   // AntiLambda
102   Int_t nDecayALGeant;
103   Int_t * alDecayALGeantIndex;
104   Int_t * piPosDecayALGeantIndex;
105   Int_t * apNegDecayALGeantIndex;
106   Float_t * piPosDecayALGeantLength;
107   Float_t * apNegDecayALGeantLength;
108
109   Int_t * piPosDecayALSingleRecIndex;
110   Int_t * apNegDecayALSingleRecIndex;
111   Int_t * piPosDecayALV0RecIndex;
112   Int_t * apNegDecayALV0RecIndex;
113   Int_t * DecayALV0RecIndexPos;
114   Int_t * DecayALV0RecIndexNeg;
115
116
117   // K0S
118   Int_t nDecayK0Geant;
119   Int_t * K0DecayK0GeantIndex;
120   Int_t * piNegDecayK0GeantIndex;
121   Int_t * piPosDecayK0GeantIndex;
122   Float_t * piNegDecayK0GeantLength;
123   Float_t * piPosDecayK0GeantLength;
124
125   Int_t * piNegDecayK0SingleRecIndex;
126   Int_t * piPosDecayK0SingleRecIndex;
127   Int_t * piNegDecayK0V0RecIndex;
128   Int_t * piPosDecayK0V0RecIndex;
129   Int_t * DecayK0V0RecIndexPos;
130   Int_t * DecayK0V0RecIndexNeg;
131
132   Int_t piPosK0Index;
133   Int_t piNegK0Index;
134
135   
136   Int_t nTracksPrim;
137
138
139   Int_t tpcRefit;
140   Int_t itsRefit;
141   Int_t trdRefit;
142   Int_t trdOut;
143
144
145
146
147   Double_t probabilityPos[AliPID::kSPECIES];
148   Double_t probabilityNeg[AliPID::kSPECIES];
149
150   Double_t * fValueL;
151   Double_t * fValueAL;
152   Double_t * fValueK0;
153   Double_t * fValueV0;
154
155   Double_t * xminV0;
156   Double_t * xmaxV0;
157   Int_t    * binsV0;
158   Int_t    fDim;
159
160
161
162   TObjArray* fRefTPC;
163   int fLabelsTPC[100000];
164
165
166   TClonesArray *clRefsN;
167   TClonesArray *clRefsP;
168
169   // MC variables
170
171   AliAnalysisTaskV0QA (const AliAnalysisTaskV0QA & v0QA );
172   AliAnalysisTaskV0QA & operator=(const AliAnalysisTaskV0QA & v0QA);
173
174
175
176   ClassDef(AliAnalysisTaskV0QA, 1); // example of analysis
177 };