]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGHF/vertexingHF/AliAnalysisTaskSEImproveITS.h
Fix for D0 filtering (A.Dainese)
[u/mrichter/AliRoot.git] / PWGHF / vertexingHF / AliAnalysisTaskSEImproveITS.h
1 /* Copyright(c) 1998-2011, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
3 /* $Id$ */
4
5 #ifndef ALI_ANALYSIS_TASK_SE_IMPROVE_ITS_H
6 #define ALI_ANALYSIS_TASK_SE_IMPROVE_ITS_H
7
8 #include "AliAnalysisTaskSE.h"
9
10 class TGraph;
11 class TList;
12 class AliAODTrack;
13 class TClonesArray;
14 class TObjArray;
15 class AliESDVertex;
16 class AliVVertex;
17
18 class AliAnalysisTaskSEImproveITS:public AliAnalysisTaskSE {
19 public:
20   AliAnalysisTaskSEImproveITS();
21   AliAnalysisTaskSEImproveITS(const char *name,
22                               const char *resfileCurURI,
23                               const char *resfileUpgURI,
24                               Bool_t isRunInVertexing,
25                               Int_t ndebug);
26
27   virtual ~AliAnalysisTaskSEImproveITS();
28
29   // Implementation of interface methods
30   virtual void UserCreateOutputObjects();
31 //  virtual void Init();
32 //  virtual void LocalInit() {Init();}
33   virtual void UserExec(Option_t *option);
34 //  virtual void Terminate(Option_t *option);
35 private:
36   AliAnalysisTaskSEImproveITS(const AliAnalysisTaskSEImproveITS&);
37   AliAnalysisTaskSEImproveITS& operator=(const AliAnalysisTaskSEImproveITS&); 
38
39   // Helper functions
40   Double_t EvalGraph(const TGraph *graph,Double_t x) const; 
41   void SmearTrack(AliAODTrack *track,const TClonesArray *mcs);
42   AliESDVertex* RecalculateVertex(const AliVVertex *old,TObjArray *tracks,Double_t bField);
43
44   TGraph *fD0ZResPCur  ; // old pt dep. d0 res. in z for protons
45   TGraph *fD0ZResKCur  ; // old pt dep. d0 res. in z for kaons
46   TGraph *fD0ZResPiCur ; // old pt dep. d0 res. in z for pions
47   TGraph *fD0RPResPCur ; // old pt dep. d0 res. in rphi for protons
48   TGraph *fD0RPResKCur ; // old pt dep. d0 res. in rphi for kaons
49   TGraph *fD0RPResPiCur; // old pt dep. d0 res. in rphi for pions
50   TGraph *fPt1ResPCur  ; // old pt dep. 1/pt res. for protons
51   TGraph *fPt1ResKCur  ; // old pt dep. 1/pt res. for kaons
52   TGraph *fPt1ResPiCur ; // old pt dep. 1/pt res. for pions
53   TGraph *fD0ZResPUpg  ; // new pt dep. d0 res. in z for protons
54   TGraph *fD0ZResKUpg  ; // new pt dep. d0 res. in z for kaons
55   TGraph *fD0ZResPiUpg ; // new pt dep. d0 res. in z for pions
56   TGraph *fD0RPResPUpg ; // new pt dep. d0 res. in rphi for protons
57   TGraph *fD0RPResKUpg ; // new pt dep. d0 res. in rphi for kaons
58   TGraph *fD0RPResPiUpg; // new pt dep. d0 res. in rphi for pions
59   TGraph *fPt1ResPUpg  ; // new pt dep. 1/pt res. for protons
60   TGraph *fPt1ResKUpg  ; // new pt dep. 1/pt res. for kaons
61   TGraph *fPt1ResPiUpg ; // new pt dep. 1/pt res. for pions
62
63   Bool_t fRunInVertexing;// flag to run hybrid task before the vertexingHF task or in standard mode
64                            
65   TList   *fDebugOutput; //! collection of debug output
66   TNtuple *fDebugNtuple; //! debug send on output slot 1
67   Float_t *fDebugVars;   //! variables to store as degug info 
68   Int_t   fNDebug;       // Max number of debug entries into Ntuple
69   ClassDef(AliAnalysisTaskSEImproveITS,2);
70 };
71
72 #endif
73