]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG/EMCAL/AliEmcalMCTrackSelector.h
add TPC-only track cuts support
[u/mrichter/AliRoot.git] / PWG / EMCAL / AliEmcalMCTrackSelector.h
1 #ifndef ALIEMCALMCTRACKSELECTOR_H
2 #define ALIEMCALMCTRACKSELECTOR_H
3
4 // $Id$
5
6 class TClonesArray;
7 class TString;
8 class TH1I;
9 class AliNamedArrayI;
10
11 #include "AliAnalysisTaskSE.h"
12
13 class 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
22   void SetChargedMC(Bool_t c = kTRUE)                { fChargedMC        = c    ; }
23   void SetEtaMax(Double_t e)                         { fEtaMax           = e    ; }
24   void SetRejectNK(Bool_t r = kTRUE)                 { fRejectNK         = r    ; }
25   void SetTracksOutName(const char *name)            { fTracksOutName    = name ; }
26
27  protected:
28   Int_t              GetNumberOfTracks() const;
29   AliVParticle      *GetTrack(Int_t i);
30   void               AddTrack(AliVParticle *track, Int_t nacc);
31
32   TString            fTracksOutName;        // name of output track array
33   Bool_t             fRejectNK;             // true = reject k0l and neutrons
34   Bool_t             fChargedMC;            // true = only charged particles
35   TString            fTracksMapName;        // name of the track map
36   Double_t           fEtaMax;               // maximum eta to accept tracks
37   Bool_t             fInit;                 //!true = task initialized
38   Bool_t             fEsdMode;              //!switch for ESD/AOD mode
39   TClonesArray      *fTracksIn;             //!track array in (AOD only)
40   TClonesArray      *fTracksOut;            //!track array out
41   AliNamedArrayI    *fTracksMap;            //!track mapping
42
43  private:
44   AliEmcalMCTrackSelector(const AliEmcalMCTrackSelector&);            // not implemented
45   AliEmcalMCTrackSelector &operator=(const AliEmcalMCTrackSelector&); // not implemented
46
47   ClassDef(AliEmcalMCTrackSelector, 2); // Task to select tracks in MC events
48 };
49 #endif