Add option to write MC particles to the AOD, new lightweight class AliAODMCParticle...
[u/mrichter/AliRoot.git] / ANALYSIS / AliAnalysisTaskMCParticleFilter.h
1 #ifndef ALIANALYSISTASKMCPARTICLEFILTER_H
2 #define ALIANALYSISTASKMCPARTICLEFILTER_H
3  
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 //
8 //  Analysis task for Kinematic filtering
9 //  Fill AOD tracks from Kinematic stack
10 //
11
12 #include <TList.h> 
13 #include "AliAnalysisTaskSE.h"
14
15 class AliAnalysisFilter;
16 class TString;
17
18 class AliAnalysisTaskMCParticleFilter : public AliAnalysisTaskSE
19 {
20  public:
21                                   AliAnalysisTaskMCParticleFilter();
22                                   AliAnalysisTaskMCParticleFilter( const char* name );
23                                   AliAnalysisTaskMCParticleFilter(const AliAnalysisTaskMCParticleFilter& obj);
24     virtual                      ~AliAnalysisTaskMCParticleFilter();
25      AliAnalysisTaskMCParticleFilter&   operator=(const AliAnalysisTaskMCParticleFilter& other);
26     
27     // Implementation of interface methods
28     virtual                void   UserCreateOutputObjects();
29     virtual                void   UserExec( Option_t *option );
30     
31     // Setters
32     virtual                void   SetTrackFilterMother(AliAnalysisFilter* trackF) { fTrackFilterMother = trackF; }
33     
34  private:
35     Bool_t Select(TParticle* part, Float_t rv, Float_t zv);                
36
37     AliAnalysisFilter*  fTrackFilterMother;   //  Track Filter
38                 
39     ClassDef( AliAnalysisTaskMCParticleFilter, 1 ); // Analysis task for Kinematic filtering
40 };
41  
42 #endif