]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ANALYSIS/AliAnalysisTaskESDfilter.h
Coverity fix.
[u/mrichter/AliRoot.git] / ANALYSIS / AliAnalysisTaskESDfilter.h
1 #ifndef ALIANALYSISTASKESDFILTER_H\r
2 #define ALIANALYSISTASKESDFILTER_H\r
3  \r
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *\r
5  * See cxx source for full Copyright notice                               */\r
6 \r
7 /* $Id: AliAnalysisTaskESDfilter.h 24429 2008-03-12 10:27:50Z jgrosseo $ */\r
8 \r
9 #include <TList.h> \r
10 #include <TF1.h> \r
11 #include "AliAnalysisTaskSE.h"\r
12 #include "AliESDtrack.h"\r
13 #include "AliAODTrack.h"\r
14 #include "AliAODPid.h"\r
15 #include "AliESDpid.h"\r
16 \r
17 class AliAnalysisFilter;\r
18 class AliStack;\r
19 class AliESDtrack;\r
20 \r
21 class AliAnalysisTaskESDfilter : public AliAnalysisTaskSE\r
22 {\r
23  public:\r
24     AliAnalysisTaskESDfilter();\r
25     AliAnalysisTaskESDfilter(const char* name);\r
26     virtual ~AliAnalysisTaskESDfilter() {;}\r
27     // Implementation of interface methods\r
28     virtual void   UserCreateOutputObjects();\r
29     virtual void   Init();\r
30     virtual void   LocalInit() {Init();}\r
31     virtual void   UserExec(Option_t *option);\r
32     virtual void   Terminate(Option_t *option);\r
33 \r
34     virtual void ConvertESDtoAOD();\r
35     // Setters\r
36     virtual void SetTrackFilter   (AliAnalysisFilter*   trackF) {fTrackFilter    =   trackF;}\r
37     virtual void SetTPCOnlyFilterMask (UInt_t filterMask)       {fTPCOnlyFilterMask    =  filterMask;}\r
38     virtual void SetKinkFilter    (AliAnalysisFilter*    KinkF) {fKinkFilter     =    KinkF;}\r
39     virtual void SetV0Filter      (AliAnalysisFilter*      V0F) {fV0Filter       =      V0F;}\r
40     virtual void SetCascadeFilter (AliAnalysisFilter* CascadeF) {fCascadeFilter  = CascadeF;}\r
41     virtual void SetPthreshold    (Double_t p)                  {fHighPthreshold =        p;}\r
42     virtual void SetPshape        (TF1 *func)                   {fPtshape        =     func;}\r
43     virtual void SetEnableFillAOD (Bool_t b)                    {fEnableFillAOD  =     b;}\r
44 \r
45     virtual void SetAODPID(AliESDtrack *esdtrack, AliAODTrack *aodtrack, AliAODPid *detpid, Double_t bfield, AliESDpid *esdpid);\r
46     void SetDetectorRawSignals(AliAODPid *aodpid, AliESDtrack *track, Double_t bfield, AliESDpid *esdpid);\r
47 \r
48     virtual void SetTimeZeroType(AliESDpid::EStartTimeType_t tofTimeZeroType) {fTimeZeroType = tofTimeZeroType;}\r
49 \r
50  private:\r
51     AliAnalysisTaskESDfilter(const AliAnalysisTaskESDfilter&);\r
52     AliAnalysisTaskESDfilter& operator=(const AliAnalysisTaskESDfilter&);\r
53     void PrintMCInfo(AliStack *pStack,Int_t label); // for debugging\r
54     Double_t Chi2perNDF(AliESDtrack* track);\r
55     \r
56     // Filtering\r
57     AliAnalysisFilter* fTrackFilter;      //  Track   Filter\r
58     AliAnalysisFilter* fKinkFilter;       //  Kink    Filter\r
59     AliAnalysisFilter* fV0Filter;         //  V0      Filter\r
60     AliAnalysisFilter* fCascadeFilter;    //  Cascade Filter\r
61     UInt_t             fTPCOnlyFilterMask;//  Fitler Mask used to select and store refitted TPC only tracks\r
62 \r
63 \r
64     // PID\r
65     Double_t     fHighPthreshold;    //  Pt threshold for detector signal setting\r
66     TF1 *        fPtshape;           //  Pt spectrum distribution\r
67     Bool_t       fEnableFillAOD;     //  value that decides if this task activates AOD filling\r
68     Int_t        fTimeZeroType;      //  time zero type \r
69 \r
70     ClassDef(AliAnalysisTaskESDfilter, 6); // Analysis task for standard ESD filtering\r
71 };\r
72  \r
73 #endif\r