]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG/EMCAL/AliEmcalPicoTrackMaker.h
dac2dc1e2cf3c2043ca465c23368f7a929226deb
[u/mrichter/AliRoot.git] / PWG / EMCAL / AliEmcalPicoTrackMaker.h
1 #ifndef ALIEMCALPICOTRACKMAKER_H
2 #define ALIEMCALPICOTRACKMAKER_H
3
4 class TClonesArray;
5 class AliVParticle;
6
7 #include "AliAnalysisTaskSE.h"
8
9 class AliEmcalPicoTrackMaker : public AliAnalysisTaskSE {
10  public:
11   AliEmcalPicoTrackMaker();
12   AliEmcalPicoTrackMaker(const char *name);
13   virtual ~AliEmcalPicoTrackMaker();
14
15   void               SetTrackEfficiency(Double_t eff = 0.95)           { fTrackEfficiency   = eff ; }
16   void               SetTrackEtaLimits(Double_t min, Double_t max)     { fMaxTrackEta       = max ; fMinTrackEta      = min ; }
17   void               SetTrackPhiLimits(Double_t min, Double_t max)     { fMaxTrackPhi       = max ; fMinTrackPhi      = min ; }
18   void               SetTrackPtLimits(Double_t min, Double_t max)      { fMaxTrackPt        = max ; fMinTrackPt       = min ; }
19   void               SetTracksInName(const char *name)                 { fTracksInName      = name; }
20   void               SetTracksOutName(const char *name)                { fTracksOutName     = name; }
21   void               SetMCParticlesName(const char *name)              { fMCParticlesName   = name; }
22   void               SetCopyMCFlag(Bool_t c, const char* name)         { fCopyMCFlag        = c   ; fMCParticlesName  = name; }
23   
24
25  protected:
26   void               UserCreateOutputObjects();
27   void               UserExec(Option_t *option);
28
29   AliVParticle*      GetMCParticle(Int_t label);
30
31   Int_t              fAODfilterBits[2];     // AOD track filter bit map
32   TString            fTracksOutName;        // name of output track array
33   TString            fTracksInName;         // name of input track array
34   TString            fMCParticlesName;      // name of MC particle array, used by IsHIJINGParticle
35   Double_t           fMinTrackPt;           // mix pt of tracks
36   Double_t           fMaxTrackPt;           // max pt of tracks
37   Double_t           fMinTrackEta;          // cut on track eta
38   Double_t           fMaxTrackEta;          // cut on track eta
39   Double_t           fMinTrackPhi;          // cut on track phi
40   Double_t           fMaxTrackPhi;          // cut on track phi
41   Double_t           fTrackEfficiency;      // track efficiency
42   Bool_t             fCopyMCFlag;           // copy MC flag
43   TClonesArray      *fTracksIn;             //!track array in
44   TClonesArray      *fTracksOut;            //!track array out
45   TClonesArray      *fMCParticles;          //!MC particle array, used by IsHIJINGParticle
46   Bool_t             fInit;                 //!true = task initialized
47
48  private:
49   AliEmcalPicoTrackMaker(const AliEmcalPicoTrackMaker&);            // not implemented
50   AliEmcalPicoTrackMaker &operator=(const AliEmcalPicoTrackMaker&); // not implemented
51
52   ClassDef(AliEmcalPicoTrackMaker, 8); // Task to make PicoTracks in AOD/ESD events
53 };
54 #endif