Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / ANALYSIS / AliAnalysisTaskMCParticleFilter.h
CommitLineData
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
14class AliAnalysisFilter;
15class TString;
a3b51fd2 16class TList;
3189f57d 17class AliAODMCHeader;
9804ab8d 18class AliMCParticle;
3189f57d 19class TClonesArray;
da97a08a 20
21class AliAnalysisTaskMCParticleFilter : public AliAnalysisTaskSE
22{
23 public:
24 AliAnalysisTaskMCParticleFilter();
25 AliAnalysisTaskMCParticleFilter( const char* name );
da97a08a 26 virtual ~AliAnalysisTaskMCParticleFilter();
da97a08a 27
28 // Implementation of interface methods
29 virtual void UserCreateOutputObjects();
30 virtual void UserExec( Option_t *option );
a3b51fd2 31 virtual Bool_t Notify();
32 virtual void Terminate( Option_t *option );
da97a08a 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);
a3b51fd2 38
39 // pivate c'tors to prevent misuse
40 AliAnalysisTaskMCParticleFilter& operator=(const AliAnalysisTaskMCParticleFilter& other);
41 AliAnalysisTaskMCParticleFilter(const AliAnalysisTaskMCParticleFilter& obj);
9804ab8d 42 void PrintMCParticle(const AliMCParticle *mcp,Int_t np);
a3b51fd2 43
da97a08a 44
45 AliAnalysisFilter* fTrackFilterMother; // Track Filter
3189f57d 46 AliAODMCHeader *fAODMcHeader; // ! MC Header
47 TClonesArray *fAODMcParticles; // ! tclones array of MC Particles
a3b51fd2 48 TList *fHistList; // list to store e histograms, only as exchange
49
9804ab8d 50 ClassDef( AliAnalysisTaskMCParticleFilter, 4 ); // Analysis task for Kinematic filtering
da97a08a 51};
52
53#endif