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