2f4f250100041215ed85e4aa304838dd5de36830
[u/mrichter/AliRoot.git] / PWGLF / SPECTRA / PiKaPr / TOF / pp7 / TOFSpectrappAnalysis.h
1 #ifndef ALIANALYSISTASKCHARGEDHADRONSPECTRA_H
2 #define ALIANALYSISTASKCHARGEDHADRONSPECTRA_H
3
4 //////////////////////////////////////////////////////////////////////////////
5 //                                                                          //
6 // This analysis extracts pT-spectra of charged kaons, protons, and pions.  //
7 // It is based on particles identifation via the dE/dx signal of the TPC.   //
8 //                                                                          //
9 //////////////////////////////////////////////////////////////////////////////
10
11 class TH1;
12 class TH1F;
13 class TH2F;
14 class TH3F;
15 class TList;
16 class TObjArray;
17 class AliESDEvent;
18 class AliESDtrack;
19 class AliESDtrackCuts;
20 class AliHeader;
21 class AliESDpid;
22 #include "AliTOFT0v1.h"
23 #include "AliTOFT0maker.h"
24 #include "AliTOFcalib.h"
25 #include "AliCDBManager.h"
26 #include <TTree.h>
27
28 class AliAnalysisFilter;
29 class AliCFContainer;
30 class TDatabasePDG;
31
32 #include "AliAnalysisTask.h"
33 #include "AliESDVertex.h"
34 #include "AliPhysicsSelectionTask.h"
35 #include "AliPhysicsSelection.h"
36 #include "AliBackgroundSelection.h"
37 #include "AliTOFT0v1.h"
38 #include "AliTOFT0maker.h"
39 #include "AliTOFcalib.h"
40 #include "AliCDBManager.h"
41
42
43
44 #include "AliAnalysisTaskSE.h"
45 #include "THnSparse.h"
46
47 class TOFSpectrappAnalysis : public AliAnalysisTaskSE {
48  public:
49   TOFSpectrappAnalysis(const char *name);
50   TOFSpectrappAnalysis();
51   virtual ~TOFSpectrappAnalysis() {}
52   //
53   virtual void   UserCreateOutputObjects();
54   virtual void   UserExec(Option_t *option);
55   virtual void   Terminate(Option_t *);
56   //
57   Bool_t         SelectOnImpPar(AliESDtrack* t);
58   //
59   void           SetESDtrackCuts(AliESDtrackCuts * trackCuts){fESDtrackCuts = trackCuts;};
60   //void           SetAlephParameters(const Double_t * parameters){for(Int_t j=0;j<5;j++) fAlephParameters[j] = parameters[j]; Initialize();};
61   Int_t           Mult();
62   
63   //
64   
65  private:
66   //
67   //void  BinLogAxis(const THnSparse *h, Int_t axisNumber);
68   
69   //
70   AliESDEvent *fESD;                  //! ESD object
71   AliESDtrackCuts * fESDtrackCuts;    // basic cut variables
72   AliESDpid       * fESDpid;          // basic TPC object for n-sigma cuts
73   Bool_t        fMCtrue;              // flag if real data or MC is processed
74   Double_t      fAlephParameters[5];  // Aleph Parameters for Bethe-Bloch
75   Float_t spdCorr;
76   Int_t multiplicity;
77   Double_t ZPrimVertex;
78   Int_t frun; 
79   Int_t frunOld;
80   Bool_t fLoadOCDB;
81   Bool_t correctTExp;  
82   Bool_t calibrateESD;
83   Bool_t useT0TOF;
84   Double_t timeResolution; 
85   Bool_t tuneTOFMC;
86   TTree *fTreeTrack;
87   //TTree *fTreeEv;
88   TH1D *hNumEv;
89   AliTOFcalib *tofCalib;
90   AliTOFT0maker *t0maker;
91   
92   Float_t fDCAXY;
93   Float_t fDCAZ;
94   Int_t kselimppar;
95   Int_t fmatch;
96   Double_t fmom;
97   Double_t flength;
98   Int_t fsign;
99   Double_t ftimetof;
100   Double_t fexptimeel;
101   Double_t fexptimemu;
102   Double_t fexptimepi;
103   Double_t fexptimeka;
104   Double_t fexptimepr;
105   Int_t ftofchan;
106   Double_t feta;
107   Double_t fphi;
108   Double_t fmomtrasv;
109   Float_t t0track;
110   Float_t t0trackSigma;
111   Double_t sigmael;
112   Double_t sigmamu;
113   Double_t sigmapi;
114   Double_t sigmaka;
115   Double_t sigmapr;
116   Double_t TPCSignal;
117   Float_t TPCSigmaPI;
118   Float_t TPCSigmaKA;
119   Float_t TPCSigmaPR;
120   Int_t TOFlabel0;
121   Int_t TOFlabel1;
122   Int_t TOFlabel2;
123
124     
125   Double_t r1[5];
126  
127   
128   //
129   TOFSpectrappAnalysis(const TOFSpectrappAnalysis&); 
130   TOFSpectrappAnalysis & operator=(const TOFSpectrappAnalysis&); 
131
132   ClassDef(TOFSpectrappAnalysis, 1); 
133 };
134
135 #endif