1 #ifndef ALIANALYSISTASKESDFILTER_H
2 #define ALIANALYSISTASKESDFILTER_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
7 /* $Id: AliAnalysisTaskESDfilter.h 24429 2008-03-12 10:27:50Z jgrosseo $ */
11 #include "AliAnalysisTaskSE.h"
12 #include "AliESDtrack.h"
13 #include "AliAODTrack.h"
14 #include "AliAODPid.h"
15 class AliAnalysisFilter;
19 class AliAnalysisTaskESDfilter : public AliAnalysisTaskSE
22 AliAnalysisTaskESDfilter();
23 AliAnalysisTaskESDfilter(const char* name);
24 virtual ~AliAnalysisTaskESDfilter() {;}
25 // Implementation of interface methods
26 virtual void UserCreateOutputObjects();
28 virtual void LocalInit() {Init();}
29 virtual void UserExec(Option_t *option);
30 virtual void Terminate(Option_t *option);
32 virtual void ConvertESDtoAOD();
34 virtual void SetTrackFilter (AliAnalysisFilter* trackF) {fTrackFilter = trackF;}
35 virtual void SetTPCOnlyFilterMask (UInt_t filterMask) {fTPCOnlyFilterMask = filterMask;}
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 virtual void SetEnableFillAOD (Bool_t b) {fEnableFillAOD = b;}
43 virtual void SetAODPID(AliESDtrack *esdtrack, AliAODTrack *aodtrack, AliAODPid *detpid, Double_t timezero, Double_t bfield);
44 void SetDetectorRawSignals(AliAODPid *aodpid, AliESDtrack *track, Double_t timezero, Double_t bfield);
47 AliAnalysisTaskESDfilter(const AliAnalysisTaskESDfilter&);
48 AliAnalysisTaskESDfilter& operator=(const AliAnalysisTaskESDfilter&);
49 void PrintMCInfo(AliStack *pStack,Int_t label); // for debugging
50 Double_t Chi2perNDF(AliESDtrack* track);
53 AliAnalysisFilter* fTrackFilter; // Track Filter
54 AliAnalysisFilter* fKinkFilter; // Kink Filter
55 AliAnalysisFilter* fV0Filter; // V0 Filter
56 AliAnalysisFilter* fCascadeFilter; // Cascade Filter
57 UInt_t fTPCOnlyFilterMask;// Fitler Mask used to select and store refitted TPC only tracks
61 Double_t fHighPthreshold; // Pt threshold for detector signal setting
62 TF1 * fPtshape; // Pt spectrum distribution
63 Bool_t fEnableFillAOD; // value that decides if this task activates AOD filling
65 ClassDef(AliAnalysisTaskESDfilter, 5); // Analysis task for standard ESD filtering