]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG/EMCAL/AliEmcalPicoTrackMaker.h
9ef049380dbd7f708abb18412632ff8971d0f02b
[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   void SetIncludeNoITS(Bool_t f)                         { fIncludeNoITS     = f   ; }
31   void SetUseNegativeLabels(Bool_t f)                    { fUseNegativeLabels= f   ; }
32   void SetMC(Bool_t a)                                   { fIsMC             = a   ; }
33
34  protected:
35   Int_t              fAODfilterBits[2];     // AOD track filter bit map
36   AliESDtrackCuts   *fESDtrackCuts;         // ESD track cuts
37   TString            fTracksOutName;        // name of output track array
38   TString            fTracksInName;         // name of input track array
39   Double_t           fMinTrackPt;           // mix pt of tracks
40   Double_t           fMaxTrackPt;           // max pt of tracks
41   Double_t           fMinTrackEta;          // cut on track eta
42   Double_t           fMaxTrackEta;          // cut on track eta
43   Double_t           fMinTrackPhi;          // cut on track phi
44   Double_t           fMaxTrackPhi;          // cut on track phi
45   Double_t           fTrackEfficiency;      // track efficiency
46   Bool_t             fIncludeNoITS;         // includes tracks with failed ITS refit
47   Bool_t             fUseNegativeLabels;    // whether or not should use negative MC labels
48   Bool_t             fIsMC;                 // whether it is a MC event or not
49   TClonesArray      *fTracksIn;             //!track array in
50   TClonesArray      *fTracksOut;            //!track array out
51
52  private:
53   AliEmcalPicoTrackMaker(const AliEmcalPicoTrackMaker&);            // not implemented
54   AliEmcalPicoTrackMaker &operator=(const AliEmcalPicoTrackMaker&); // not implemented
55
56   ClassDef(AliEmcalPicoTrackMaker, 5); // Task to make PicoTracks in AOD/ESD events
57 };
58 #endif