create general emcal task lib
[u/mrichter/AliRoot.git] / PWG / EMCAL / AliEmcalPicoTrackMaker.h
1 #ifndef ALIEMCALPICOTRACKMAKER_H
2 #define ALIEMCALPICOTRACKMAKER_H
3
4 // $Id$
5
6 class TClonesArray;
7 class AliVEvent;
8 class AliVTrack;
9 class AliESDtrackCuts;
10
11 #include "AliAnalysisTaskSE.h"
12
13 class AliEmcalPicoTrackMaker : public AliAnalysisTaskSE {
14  public:
15   AliEmcalPicoTrackMaker();
16   AliEmcalPicoTrackMaker(const char *name);
17   virtual ~AliEmcalPicoTrackMaker();
18
19   void UserCreateOutputObjects();
20   void UserExec(Option_t *option);
21
22   void SetAODfilterBits(Int_t b0 = 0, Int_t b1 = 0)      { fAODfilterBits[0] = b0  ; fAODfilterBits[1] = b1  ; }
23   void SetESDtrackCuts(AliESDtrackCuts *cuts)            { fESDtrackCuts     = cuts; }
24   void SetTracksInName(const char *name)                 { fTracksInName     = name; }
25   void SetTracksOutName(const char *name)                { fTracksOutName    = name; }
26   void SetTrackPtLimits(Double_t min, Double_t max)      { fMaxTrackPt       = max ; fMinTrackPt       = min ; }
27   void SetTrackEtaLimits(Double_t min, Double_t max)     { fMaxTrackEta      = max ; fMinTrackEta      = min ; }
28   void SetTrackPhiLimits(Double_t min, Double_t max)     { fMaxTrackPhi      = max ; fMinTrackPhi      = min ; }
29   void SetTrackEfficiency(Double_t eff = 0.95)           { fTrackEfficiency = eff  ; }
30
31  protected:
32   Int_t              fAODfilterBits[2];     // AOD track filter bit map
33   AliESDtrackCuts   *fESDtrackCuts;         // ESD track cuts
34   TString            fTracksOutName;        // name of output track array
35   TString            fTracksInName;         // name of input track array
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   TClonesArray      *fTracksIn;             //!track array in
44   TClonesArray      *fTracksOut;            //!track array out
45
46  private:
47   AliEmcalPicoTrackMaker(const AliEmcalPicoTrackMaker&);            // not implemented
48   AliEmcalPicoTrackMaker &operator=(const AliEmcalPicoTrackMaker&); // not implemented
49
50   ClassDef(AliEmcalPicoTrackMaker, 3); // Task to make PicoTracks in AOD/ESD events
51 };
52 #endif