]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG/EMCAL/AliEmcalMCTrackSelector.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWG / EMCAL / AliEmcalMCTrackSelector.h
CommitLineData
48924b8b 1#ifndef ALIEMCALMCTRAKCSELECTOR_H
2#define ALIEMCALMCTRAKCSELECTOR_H
578adbef 3
4class TClonesArray;
4be74b27 5class TString;
48924b8b 6class AliVEvent;
7class AliMCEvent;
5be3857d 8class AliNamedArrayI;
48924b8b 9class AliAODMCParticle;
578adbef 10
11#include "AliAnalysisTaskSE.h"
12
13class AliEmcalMCTrackSelector : public AliAnalysisTaskSE {
14 public:
15 AliEmcalMCTrackSelector();
16 AliEmcalMCTrackSelector(const char *name);
17 virtual ~AliEmcalMCTrackSelector();
18
19 void UserCreateOutputObjects();
20 void UserExec(Option_t *option);
21
48924b8b 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 ; }
578adbef 28
29 protected:
48924b8b 30 void ConvertMCParticles(); // for ESD analysis
31 void CopyMCParticles(); // for AOD analysis
32
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
30b85b3c 47 Bool_t fDisabled; //!Disable task if a problem occurs at initialization
578adbef 48
49 private:
50 AliEmcalMCTrackSelector(const AliEmcalMCTrackSelector&); // not implemented
51 AliEmcalMCTrackSelector &operator=(const AliEmcalMCTrackSelector&); // not implemented
52
48924b8b 53 ClassDef(AliEmcalMCTrackSelector, 3); // Task to select particle in MC events
578adbef 54};
55#endif