Added AddTrackParams() method for convenience + some comments
[u/mrichter/AliRoot.git] / ANALYSIS / AliAnalysisTaskESDfilter.h
1 #ifndef ALIANALYSISTASKESDFILTER_H
2 #define ALIANALYSISTASKESDFILTER_H
3  
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 /* $Id: AliAnalysisTaskESDfilter.h 24429 2008-03-12 10:27:50Z jgrosseo $ */
8
9 #include <TList.h> 
10 #include <TF1.h> 
11 #include "AliAnalysisTaskSE.h"
12 #include "AliESDtrack.h"
13 #include "AliAODTrack.h"
14 #include "AliAODPid.h"
15 class AliAnalysisFilter;
16 class AliStack;
17
18
19
20 class AliAnalysisTaskESDfilter : public AliAnalysisTaskSE
21 {
22  public:
23     AliAnalysisTaskESDfilter();
24     AliAnalysisTaskESDfilter(const char* name);
25     virtual ~AliAnalysisTaskESDfilter() {;}
26     // Implementation of interface methods
27     virtual void   UserCreateOutputObjects();
28     virtual void   Init();
29     virtual void   LocalInit() {Init();}
30     virtual void   UserExec(Option_t *option);
31     virtual void   Terminate(Option_t *option);
32
33     virtual void ConvertESDtoAOD();
34     // Setters
35     virtual void SetTrackFilter   (AliAnalysisFilter*   trackF) {fTrackFilter    =   trackF;}
36     virtual void SetKinkFilter    (AliAnalysisFilter*    KinkF) {fKinkFilter     =    KinkF;}
37     virtual void SetV0Filter      (AliAnalysisFilter*      V0F) {fV0Filter       =      V0F;}
38     virtual void SetCascadeFilter (AliAnalysisFilter* CascadeF) {fCascadeFilter  = CascadeF;}
39     virtual void SetPthreshold    (Double_t p)                  {fHighPthreshold =        p;}
40     virtual void SetPshape        (TF1 *func)                   {fPtshape        =     func;}
41
42     virtual void SetAODPID(AliESDtrack *esdtrack, AliAODTrack *aodtrack, AliAODPid *detpid, Double_t timezero);
43     void SetDetectorRawSignals(AliAODPid *aodpid, AliESDtrack *track, Double_t timezero);
44
45  private:
46     AliAnalysisTaskESDfilter(const AliAnalysisTaskESDfilter&);
47     AliAnalysisTaskESDfilter& operator=(const AliAnalysisTaskESDfilter&);
48     void PrintMCInfo(AliStack *pStack,Int_t label); // for debugging
49
50     // Filtering
51     AliAnalysisFilter* fTrackFilter;      //  Track   Filter
52     AliAnalysisFilter* fKinkFilter;       //  Kink    Filter
53     AliAnalysisFilter* fV0Filter;         //  V0      Filter
54     AliAnalysisFilter* fCascadeFilter;    //  Cascade Filter
55     // PID
56     Double_t     fHighPthreshold;    //  Pt threshold for detector signal setting
57     TF1 *        fPtshape;           //  Pt spectrum distribution
58
59     ClassDef(AliAnalysisTaskESDfilter, 3); // Analysis task for standard ESD filtering
60 };
61  
62 #endif