1 #ifndef ALIEMCALMCTRACKSELECTOR_H
2 #define ALIEMCALMCTRACKSELECTOR_H
10 #include "AliAnalysisTaskSE.h"
12 class AliEmcalMCTrackSelector : public AliAnalysisTaskSE {
14 AliEmcalMCTrackSelector();
15 AliEmcalMCTrackSelector(const char *name);
16 virtual ~AliEmcalMCTrackSelector();
18 void UserCreateOutputObjects();
19 void UserExec(Option_t *option);
21 void SetTracksOutName(const char *name) { fTracksOutName = name ; }
22 void SetRejectNK(Bool_t r = kTRUE) { fRejectNK = r ; }
23 void SetChargedMC(Bool_t c = kTRUE) { fChargedMC = c ; }
26 Int_t GetNumberOfTracks() const;
27 AliVParticle *GetTrack(Int_t i);
28 void AddTrack(AliVParticle *track, Int_t nacc);
30 TString fTracksOutName; // name of output track array
31 Bool_t fRejectNK; // true = reject k0l and neutrons
32 Bool_t fChargedMC; // true = only charged particles
33 Bool_t fInit; // true = task initialized
34 TString fTracksMapName; // name of the track map
35 Bool_t fEsdMode; //!switch for ESD/AOD mode
36 TClonesArray *fTracksIn; //!track array in (AOD only)
37 TClonesArray *fTracksOut; //!track array out
38 TH1I *fTracksMap; //!track mapping
41 AliEmcalMCTrackSelector(const AliEmcalMCTrackSelector&); // not implemented
42 AliEmcalMCTrackSelector &operator=(const AliEmcalMCTrackSelector&); // not implemented
44 ClassDef(AliEmcalMCTrackSelector, 2); // Task to select tracks in MC events