Add forward declaration for ROOT
[u/mrichter/AliRoot.git] / ANALYSIS / AliAnalysisTaskESDfilter.h
CommitLineData
96b85d73 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>
d7bdc804 10#include <TF1.h>
96b85d73 11#include "AliAnalysisTaskSE.h"
d7bdc804 12#include "AliESDtrack.h"
13#include "AliAODTrack.h"
14#include "AliAODPid.h"
96b85d73 15class AliAnalysisFilter;
da97a08a 16class AliStack;
40a060e5 17class AliESDtrack;
96b85d73 18
19class AliAnalysisTaskESDfilter : public AliAnalysisTaskSE
20{
21 public:
22 AliAnalysisTaskESDfilter();
980e4563 23 AliAnalysisTaskESDfilter(const char* name);
96b85d73 24 virtual ~AliAnalysisTaskESDfilter() {;}
25 // Implementation of interface methods
7b4cee8d 26 virtual void UserCreateOutputObjects();
27 virtual void Init();
28 virtual void LocalInit() {Init();}
29 virtual void UserExec(Option_t *option);
7b4cee8d 30 virtual void Terminate(Option_t *option);
96b85d73 31
32 virtual void ConvertESDtoAOD();
96b85d73 33 // Setters
9a244178 34 virtual void SetTrackFilter (AliAnalysisFilter* trackF) {fTrackFilter = trackF;}
35 virtual void SetKinkFilter (AliAnalysisFilter* KinkF) {fKinkFilter = KinkF;}
36 virtual void SetV0Filter (AliAnalysisFilter* V0F) {fV0Filter = V0F;}
37 virtual void SetCascadeFilter (AliAnalysisFilter* CascadeF) {fCascadeFilter = CascadeF;}
38 virtual void SetPthreshold (Double_t p) {fHighPthreshold = p;}
39 virtual void SetPshape (TF1 *func) {fPtshape = func;}
12588061 40 virtual void SetEnableFillAOD (Bool_t b) {fEnableFillAOD = b;}
d7bdc804 41
a401ba0b 42 virtual void SetAODPID(AliESDtrack *esdtrack, AliAODTrack *aodtrack, AliAODPid *detpid, Double_t timezero, Double_t bfield);
43 void SetDetectorRawSignals(AliAODPid *aodpid, AliESDtrack *track, Double_t timezero, Double_t bfield);
96b85d73 44
45 private:
46 AliAnalysisTaskESDfilter(const AliAnalysisTaskESDfilter&);
47 AliAnalysisTaskESDfilter& operator=(const AliAnalysisTaskESDfilter&);
da97a08a 48 void PrintMCInfo(AliStack *pStack,Int_t label); // for debugging
40a060e5 49 Double_t Chi2perNDF(AliESDtrack* track);
50
7b4cee8d 51 // Filtering
9a244178 52 AliAnalysisFilter* fTrackFilter; // Track Filter
53 AliAnalysisFilter* fKinkFilter; // Kink Filter
54 AliAnalysisFilter* fV0Filter; // V0 Filter
55 AliAnalysisFilter* fCascadeFilter; // Cascade Filter
7b4cee8d 56 // PID
d7bdc804 57 Double_t fHighPthreshold; // Pt threshold for detector signal setting
58 TF1 * fPtshape; // Pt spectrum distribution
12588061 59 Bool_t fEnableFillAOD; // value that decides if this task activates AOD filling
9a244178 60
12588061 61 ClassDef(AliAnalysisTaskESDfilter, 4); // Analysis task for standard ESD filtering
96b85d73 62};
63
64#endif