]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ANALYSIS/AliAnalysisTaskESDfilter.h
Possibility to produce AODTags in the same event loop with AODEvents
[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;
7b4cee8d 16class AliRunTag;
17class AliAODTagCreator;
18
96b85d73 19
20class AliAnalysisTaskESDfilter : public AliAnalysisTaskSE
21{
22 public:
23 AliAnalysisTaskESDfilter();
7b4cee8d 24 AliAnalysisTaskESDfilter(const char* name, Bool_t tags = kFALSE);
96b85d73 25 virtual ~AliAnalysisTaskESDfilter() {;}
26 // Implementation of interface methods
7b4cee8d 27 virtual void UserCreateOutputObjects();
28 virtual void Init();
29 virtual void LocalInit() {Init();}
30 virtual void UserExec(Option_t *option);
31 virtual Bool_t Notify();
32 virtual void Terminate(Option_t *option);
33 virtual void FinishTaskOutput();
96b85d73 34
35 virtual void ConvertESDtoAOD();
7b4cee8d 36 virtual void CreateTags();
37 virtual void SetCreateTags() {fCreateTags = kTRUE;}
96b85d73 38 // Setters
39 virtual void SetTrackFilter(AliAnalysisFilter* trackF) {fTrackFilter = trackF;}
40 virtual void SetKinkFilter (AliAnalysisFilter* KinkF) {fKinkFilter = KinkF;}
41 virtual void SetV0Filter (AliAnalysisFilter* V0F) {fV0Filter = V0F;}
7b4cee8d 42 virtual void SetPthreshold (Double_t p) {fHighPthreshold = p;}
43 virtual void SetPshape (TF1 *func) {fPtshape = func;}
d7bdc804 44
45 virtual void SetAODPID(AliESDtrack *esdtrack, AliAODTrack *aodtrack, AliAODPid *detpid, Double_t timezero);
373fc041 46 void SetDetectorRawSignals(AliAODPid *aodpid, AliESDtrack *track, Double_t timezero);
96b85d73 47
48 private:
49 AliAnalysisTaskESDfilter(const AliAnalysisTaskESDfilter&);
50 AliAnalysisTaskESDfilter& operator=(const AliAnalysisTaskESDfilter&);
7b4cee8d 51 // Filtering
96b85d73 52 AliAnalysisFilter* fTrackFilter; // Track Filter
53 AliAnalysisFilter* fKinkFilter; // Kink Filter
7b4cee8d 54 AliAnalysisFilter* fV0Filter; // V0 Filter
55 // PID
d7bdc804 56 Double_t fHighPthreshold; // Pt threshold for detector signal setting
57 TF1 * fPtshape; // Pt spectrum distribution
7b4cee8d 58 // Tags
59 Bool_t fCreateTags; // Flag for tag creation
60 Bool_t fFirstFile; //! To flag the first file
61 AliRunTag *fRunTag; //! Pointer to run tag
62 TTree *fTreeT; //! tree for aod tags
63 AliAODTagCreator *fTagCreator; //! The tag creator
64
96b85d73 65 ClassDef(AliAnalysisTaskESDfilter, 1); // Analysis task for standard ESD filtering
66};
67
68#endif