1 #ifndef ALIANALYSISTASKESDFILTER_H
\r
2 #define ALIANALYSISTASKESDFILTER_H
\r
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
\r
5 * See cxx source for full Copyright notice */
\r
7 /* $Id: AliAnalysisTaskESDfilter.h 24429 2008-03-12 10:27:50Z jgrosseo $ */
\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
17 class AliAnalysisFilter;
\r
21 class AliAnalysisTaskESDfilter : public AliAnalysisTaskSE
\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
34 virtual void ConvertESDtoAOD();
\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
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
48 virtual void SetTimeZeroType(AliESDpid::EStartTimeType_t tofTimeZeroType) {fTimeZeroType = tofTimeZeroType;}
\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
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
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
70 ClassDef(AliAnalysisTaskESDfilter, 6); // Analysis task for standard ESD filtering
\r