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