create general emcal task lib
[u/mrichter/AliRoot.git] / PWG / EMCAL / AliEmcalTrackPropagatorTask.h
1 #ifndef ALIEMCALTRACKPROPAGATORTASK_H
2 #define ALIEMCALTRACKPROPAGATORTASK_H
3
4 // $Id$
5
6 class TClonesArray;
7 class AliEMCALRecoUtils;
8 class AliESDEvent;
9 class AliESDtrack;
10
11 #include "AliAnalysisTaskSE.h"
12
13 class AliEmcalTrackPropagatorTask : public AliAnalysisTaskSE {
14  public:
15   AliEmcalTrackPropagatorTask();
16   AliEmcalTrackPropagatorTask(const char *name);
17   virtual ~AliEmcalTrackPropagatorTask();
18
19   void UserCreateOutputObjects();
20   void UserExec(Option_t *option);
21    
22   void SetDist(Double_t d)                 { fDist       = d;    }
23   void SetMinPt(Double_t pt)               { fMinPtCut = pt;     }
24   void SetRecoUtils(AliEMCALRecoUtils *ru) { fRecoUtils  = ru;   }
25   void SetTracksName(const char *name)     { fTracksName = name; }
26
27  protected:
28   AliEMCALRecoUtils *fRecoUtils;         // esd reco utils
29   TString            fTracksName;        // name of tracks 
30   Double_t           fDist;              // distance to surface (430cm default)
31   Double_t           fMinPtCut;          // minimum track pt cut (500 MeV/c default)
32   AliESDEvent       *fEsdEv;             //!esd event
33   TClonesArray      *fTracks;            //!track array
34
35  private:
36   AliEmcalTrackPropagatorTask(const AliEmcalTrackPropagatorTask&);            // not implemented
37   AliEmcalTrackPropagatorTask &operator=(const AliEmcalTrackPropagatorTask&); // not implemented
38
39   ClassDef(AliEmcalTrackPropagatorTask, 1); // Class to propagate and store track parameters at EMCAL surface
40 };
41
42 #endif