ROOT logo
//-------------------------------------------------------------------------
//     Task for the Analysis Framework 
// Creates a PWG2 specific AOD, from the ESD, adding information required
// for PWG2 analysis. 
//  - Puts the per-track information into the AliPWG2AODTrack container, 
//    together with the link to the original AliAODTrack
//
//     Author: Adam Kisiel, OSU, Adam.Kisiel@cern.ch
//-------------------------------------------------------------------------
#ifndef ALIANALYSISTASKPWG2ESDFILTER_H
#define ALIANALYSISTASKPWG2ESDFILTER_H
 
#include <AliAnalysisTask.h>

class AliESDEvent;
class TChain;
class AliAODEvent;
class AliAnalysisFilter;
class TTree;
class TClonesArray;
class TList;

class AliAnalysisTaskPWG2ESDfilter : public AliAnalysisTask
{
 public:
    AliAnalysisTaskPWG2ESDfilter();
    AliAnalysisTaskPWG2ESDfilter(const char* name);
    AliAnalysisTaskPWG2ESDfilter(const AliAnalysisTaskPWG2ESDfilter &task); 
    virtual ~AliAnalysisTaskPWG2ESDfilter() {;}

    AliAnalysisTaskPWG2ESDfilter& operator=(const AliAnalysisTaskPWG2ESDfilter &task);
    // Implementation of interface methods
    virtual void ConnectInputData(Option_t *option = "");
    virtual void CreateOutputObjects();
    virtual void Init();
    virtual void LocalInit() {Init();}
    virtual void Exec(Option_t *option);
    virtual void Terminate(Option_t *option);
    // Setters
    virtual void SetTrackFilter(AliAnalysisFilter* trackF) {fTrackFilter = trackF;}
    virtual void SetKinkFilter (AliAnalysisFilter*  KinkF) {fKinkFilter  =  KinkF;}
    virtual void SetV0Filter   (AliAnalysisFilter*    V0F) {fV0Filter    =    V0F;}
    virtual void SetDebugLevel(Int_t level) {fDebug = level;}
    
 private:
    Int_t              fDebug;         //  Debug flag
    TTree*             fTree;          //! chained files
    AliESDEvent*       fESD;           //! ESD
    AliAODEvent*       fAOD;           //! AOD event 
    TTree*             fTreeA;         //! AOD tree
    AliAnalysisFilter* fTrackFilter;   //  Track Filter
    AliAnalysisFilter* fKinkFilter;    //  Kink  Filter
    AliAnalysisFilter* fV0Filter;      //  V0    Filter    
    TClonesArray*      fPWG2AODTracks; //! container for PWG2 specific information

    ClassDef(AliAnalysisTaskPWG2ESDfilter, 1); // Analysis task for standard ESD filtering
};
 
#endif
 AliAnalysisTaskPWG2ESDfilter.h:1
 AliAnalysisTaskPWG2ESDfilter.h:2
 AliAnalysisTaskPWG2ESDfilter.h:3
 AliAnalysisTaskPWG2ESDfilter.h:4
 AliAnalysisTaskPWG2ESDfilter.h:5
 AliAnalysisTaskPWG2ESDfilter.h:6
 AliAnalysisTaskPWG2ESDfilter.h:7
 AliAnalysisTaskPWG2ESDfilter.h:8
 AliAnalysisTaskPWG2ESDfilter.h:9
 AliAnalysisTaskPWG2ESDfilter.h:10
 AliAnalysisTaskPWG2ESDfilter.h:11
 AliAnalysisTaskPWG2ESDfilter.h:12
 AliAnalysisTaskPWG2ESDfilter.h:13
 AliAnalysisTaskPWG2ESDfilter.h:14
 AliAnalysisTaskPWG2ESDfilter.h:15
 AliAnalysisTaskPWG2ESDfilter.h:16
 AliAnalysisTaskPWG2ESDfilter.h:17
 AliAnalysisTaskPWG2ESDfilter.h:18
 AliAnalysisTaskPWG2ESDfilter.h:19
 AliAnalysisTaskPWG2ESDfilter.h:20
 AliAnalysisTaskPWG2ESDfilter.h:21
 AliAnalysisTaskPWG2ESDfilter.h:22
 AliAnalysisTaskPWG2ESDfilter.h:23
 AliAnalysisTaskPWG2ESDfilter.h:24
 AliAnalysisTaskPWG2ESDfilter.h:25
 AliAnalysisTaskPWG2ESDfilter.h:26
 AliAnalysisTaskPWG2ESDfilter.h:27
 AliAnalysisTaskPWG2ESDfilter.h:28
 AliAnalysisTaskPWG2ESDfilter.h:29
 AliAnalysisTaskPWG2ESDfilter.h:30
 AliAnalysisTaskPWG2ESDfilter.h:31
 AliAnalysisTaskPWG2ESDfilter.h:32
 AliAnalysisTaskPWG2ESDfilter.h:33
 AliAnalysisTaskPWG2ESDfilter.h:34
 AliAnalysisTaskPWG2ESDfilter.h:35
 AliAnalysisTaskPWG2ESDfilter.h:36
 AliAnalysisTaskPWG2ESDfilter.h:37
 AliAnalysisTaskPWG2ESDfilter.h:38
 AliAnalysisTaskPWG2ESDfilter.h:39
 AliAnalysisTaskPWG2ESDfilter.h:40
 AliAnalysisTaskPWG2ESDfilter.h:41
 AliAnalysisTaskPWG2ESDfilter.h:42
 AliAnalysisTaskPWG2ESDfilter.h:43
 AliAnalysisTaskPWG2ESDfilter.h:44
 AliAnalysisTaskPWG2ESDfilter.h:45
 AliAnalysisTaskPWG2ESDfilter.h:46
 AliAnalysisTaskPWG2ESDfilter.h:47
 AliAnalysisTaskPWG2ESDfilter.h:48
 AliAnalysisTaskPWG2ESDfilter.h:49
 AliAnalysisTaskPWG2ESDfilter.h:50
 AliAnalysisTaskPWG2ESDfilter.h:51
 AliAnalysisTaskPWG2ESDfilter.h:52
 AliAnalysisTaskPWG2ESDfilter.h:53
 AliAnalysisTaskPWG2ESDfilter.h:54
 AliAnalysisTaskPWG2ESDfilter.h:55
 AliAnalysisTaskPWG2ESDfilter.h:56
 AliAnalysisTaskPWG2ESDfilter.h:57
 AliAnalysisTaskPWG2ESDfilter.h:58
 AliAnalysisTaskPWG2ESDfilter.h:59