d47f2844d0fb5a5a728b89ad8d5f263cf565092b
[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 "AliAnalysisTaskSE.h"
13
14 class AliAnalysisFilter;
15 class TString;
16 class TList;
17 class AliAODMCHeader;
18 class AliMCParticle;
19 class TClonesArray;
20
21 class AliAnalysisTaskMCParticleFilter : public AliAnalysisTaskSE
22 {
23  public:
24                                   AliAnalysisTaskMCParticleFilter();
25                                   AliAnalysisTaskMCParticleFilter( const char* name );
26     virtual                      ~AliAnalysisTaskMCParticleFilter();
27     
28     // Implementation of interface methods
29     virtual                void   UserCreateOutputObjects();
30     virtual                void   UserExec( Option_t *option );
31     virtual                Bool_t Notify();
32     virtual                void   Terminate( Option_t *option );
33     // Setters
34     virtual                void   SetTrackFilterMother(AliAnalysisFilter* trackF) { fTrackFilterMother = trackF; }
35     
36  private:
37     Bool_t Select(TParticle* part, Float_t rv, Float_t zv);                
38     
39     // pivate c'tors to prevent misuse
40     AliAnalysisTaskMCParticleFilter&   operator=(const AliAnalysisTaskMCParticleFilter& other);
41     AliAnalysisTaskMCParticleFilter(const AliAnalysisTaskMCParticleFilter& obj);
42     void PrintMCParticle(const AliMCParticle *mcp,Int_t np);
43
44
45     AliAnalysisFilter*  fTrackFilterMother;   //  Track Filter
46     AliAODMCHeader *fAODMcHeader;                 // ! MC Header
47     TClonesArray *fAODMcParticles;            // ! tclones array of MC Particles
48     TList *fHistList;                         // list to store e histograms, only as exchange
49
50     ClassDef( AliAnalysisTaskMCParticleFilter, 4 ); // Analysis task for Kinematic filtering
51 };
52  
53 #endif