]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGHF/vertexingHF/AliAnalysisTaskSEImproveITS.h
New methods for tagging decay channels
[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   void SetImproveTracks(Bool_t flag=kTRUE) { fImproveTracks=flag; return; }
36
37 private:
38   AliAnalysisTaskSEImproveITS(const AliAnalysisTaskSEImproveITS&);
39   AliAnalysisTaskSEImproveITS& operator=(const AliAnalysisTaskSEImproveITS&); 
40
41   // Helper functions
42   Double_t EvalGraph(Double_t x,const TGraph *graph,const TGraph *graphSA=0) const; 
43   void SmearTrack(AliAODTrack *track,const TClonesArray *mcs);
44   AliESDVertex* RecalculateVertex(const AliVVertex *old,TObjArray *tracks,Double_t bField);
45
46   TGraph *fD0ZResPCur  ; // old pt dep. d0 res. in z for protons
47   TGraph *fD0ZResKCur  ; // old pt dep. d0 res. in z for kaons
48   TGraph *fD0ZResPiCur ; // old pt dep. d0 res. in z for pions
49   TGraph *fD0RPResPCur ; // old pt dep. d0 res. in rphi for protons
50   TGraph *fD0RPResKCur ; // old pt dep. d0 res. in rphi for kaons
51   TGraph *fD0RPResPiCur; // old pt dep. d0 res. in rphi for pions
52   TGraph *fPt1ResPCur  ; // old pt dep. 1/pt res. for protons
53   TGraph *fPt1ResKCur  ; // old pt dep. 1/pt res. for kaons
54   TGraph *fPt1ResPiCur ; // old pt dep. 1/pt res. for pions
55   TGraph *fD0ZResPUpg  ; // new pt dep. d0 res. in z for protons
56   TGraph *fD0ZResKUpg  ; // new pt dep. d0 res. in z for kaons
57   TGraph *fD0ZResPiUpg ; // new pt dep. d0 res. in z for pions
58   TGraph *fD0RPResPUpg ; // new pt dep. d0 res. in rphi for protons
59   TGraph *fD0RPResKUpg ; // new pt dep. d0 res. in rphi for kaons
60   TGraph *fD0RPResPiUpg; // new pt dep. d0 res. in rphi for pions
61   TGraph *fPt1ResPUpg  ; // new pt dep. 1/pt res. for protons
62   TGraph *fPt1ResKUpg  ; // new pt dep. 1/pt res. for kaons
63   TGraph *fPt1ResPiUpg ; // new pt dep. 1/pt res. for pions
64   TGraph *fD0ZResPCurSA  ; // old standalone pt dep. d0 res. in z for protons
65   TGraph *fD0ZResKCurSA  ; // old standalone pt dep. d0 res. in z for kaons
66   TGraph *fD0ZResPiCurSA ; // old standalone pt dep. d0 res. in z for pions
67   TGraph *fD0RPResPCurSA ; // old standalone pt dep. d0 res. in rphi for protons
68   TGraph *fD0RPResKCurSA ; // old standalone pt dep. d0 res. in rphi for kaons
69   TGraph *fD0RPResPiCurSA; // old standalone pt dep. d0 res. in rphi for pions
70   TGraph *fPt1ResPCurSA  ; // old standalone pt dep. 1/pt res. for protons
71   TGraph *fPt1ResKCurSA  ; // old standalone pt dep. 1/pt res. for kaons
72   TGraph *fPt1ResPiCurSA ; // old standalone pt dep. 1/pt res. for pions
73   TGraph *fD0ZResPUpgSA  ; // new standalone pt dep. d0 res. in z for protons
74   TGraph *fD0ZResKUpgSA  ; // new standalone pt dep. d0 res. in z for kaons
75   TGraph *fD0ZResPiUpgSA ; // new standalone pt dep. d0 res. in z for pions
76   TGraph *fD0RPResPUpgSA ; // new standalone pt dep. d0 res. in rphi for protons
77   TGraph *fD0RPResKUpgSA ; // new standalone pt dep. d0 res. in rphi for kaons
78   TGraph *fD0RPResPiUpgSA; // new standalone pt dep. d0 res. in rphi for pions
79   TGraph *fPt1ResPUpgSA  ; // new standalone pt dep. 1/pt res. for protons
80   TGraph *fPt1ResKUpgSA  ; // new standalone pt dep. 1/pt res. for kaons
81   TGraph *fPt1ResPiUpgSA ; // new standalone pt dep. 1/pt res. for pions
82
83   Bool_t fRunInVertexing; // flag to run hybrid task before the vertexingHF task or in standard mode
84   Bool_t fImproveTracks; // this is always kTRUE. kFALSE only if re-running on already improved AODs 
85                            
86   TList   *fDebugOutput; //! collection of debug output
87   TNtuple *fDebugNtuple; //! debug send on output slot 1
88   Float_t *fDebugVars;   //! variables to store as degug info 
89   Int_t   fNDebug;       // Max number of debug entries into Ntuple
90
91   ClassDef(AliAnalysisTaskSEImproveITS,4);
92 };
93
94 #endif
95