1 #ifndef ALIEMCALMCTRAKCSELECTOR_H
2 #define ALIEMCALMCTRAKCSELECTOR_H
9 class AliAODMCParticle;
11 #include "AliAnalysisTaskSE.h"
13 class AliEmcalMCTrackSelector : public AliAnalysisTaskSE {
15 AliEmcalMCTrackSelector();
16 AliEmcalMCTrackSelector(const char *name);
17 virtual ~AliEmcalMCTrackSelector();
19 void UserCreateOutputObjects();
20 void UserExec(Option_t *option);
22 void SetOnlyPhysPrim(Bool_t s) { fOnlyPhysPrim = s ; }
23 void SetChargedMC(Bool_t c = kTRUE) { fChargedMC = c ; }
24 void SetEtaMax(Double_t e) { fEtaMax = e ; }
25 void SetRejectNK(Bool_t r = kTRUE) { fRejectNK = r ; }
26 void SetOnlyHIJING(Bool_t s) { fOnlyHIJING = s ; }
27 void SetParticlesOutName(const char *name) { fParticlesOutName = name ; }
30 void ConvertMCParticles(); // for ESD analysis
31 void CopyMCParticles(); // for AOD analysis
33 TString fParticlesOutName; // name of output particle array
34 Bool_t fOnlyPhysPrim; // true = only physical primary particles
35 Bool_t fRejectNK; // true = reject K_0^L and neutrons
36 Bool_t fChargedMC; // true = only charged particles
37 Bool_t fOnlyHIJING; // true = only HIJING particles
38 Double_t fEtaMax; // maximum eta to accept particles
39 TString fParticlesMapName; //!name of the particle map
40 Bool_t fInit; //!true = task initialized
41 TClonesArray *fParticlesIn; //!particle array in (AOD)
42 TClonesArray *fParticlesOut; //!particle array out
43 AliNamedArrayI *fParticlesMap; //!particle index/label
44 AliVEvent *fEvent; //!event
45 AliMCEvent *fMC; //!MC event (ESD)
46 Bool_t fIsESD; //!ESD or AOD analysis
47 Bool_t fDisabled; //!Disable task if a problem occurs at initialization
50 AliEmcalMCTrackSelector(const AliEmcalMCTrackSelector&); // not implemented
51 AliEmcalMCTrackSelector &operator=(const AliEmcalMCTrackSelector&); // not implemented
53 ClassDef(AliEmcalMCTrackSelector, 3); // Task to select particle in MC events