ROOT logo
#ifndef ALIANALYSISTASKMCPARTICLEFILTER_H
#define ALIANALYSISTASKMCPARTICLEFILTER_H
 
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

//
//  Analysis task for Kinematic filtering
//  Fill AOD tracks from Kinematic stack
//

#include "AliAnalysisTaskSE.h"

class AliAnalysisFilter;
class TString;
class TList;
class AliAODMCHeader;
class AliMCParticle;
class TClonesArray;

#include "AliESDtrack.h"
#include "AliAODTrack.h"
#include "AliAODPid.h"
#include "AliESDpid.h"

class AliAnalysisTaskMCParticleFilter : public AliAnalysisTaskSE
{
 public:
                                  AliAnalysisTaskMCParticleFilter();
                                  AliAnalysisTaskMCParticleFilter( const char* name );
    virtual                      ~AliAnalysisTaskMCParticleFilter();
    
    // Implementation of interface methods
    virtual                void   UserCreateOutputObjects();
    virtual                void   UserExec( Option_t *option );
    virtual                Bool_t Notify();
    virtual                void   Terminate( Option_t *option );
    // Setters
    virtual                void   SetTrackFilterMother(AliAnalysisFilter* trackF) { fTrackFilterMother = trackF; }
    
 private:
    Bool_t Select(TParticle* part, Float_t rv, Float_t zv);                
    
    // pivate c'tors to prevent misuse
    AliAnalysisTaskMCParticleFilter&   operator=(const AliAnalysisTaskMCParticleFilter& other);
    AliAnalysisTaskMCParticleFilter(const AliAnalysisTaskMCParticleFilter& obj);
    void PrintMCParticle(const AliMCParticle *mcp,Int_t np);


    AliAnalysisFilter*  fTrackFilterMother;   //  Track Filter
    AliAODMCHeader *fAODMcHeader;                 // ! MC Header
    TClonesArray *fAODMcParticles;            // ! tclones array of MC Particles
    TList *fHistList;                         // list to store e histograms, only as exchange

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