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