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