]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGGA/EMCALJetTasks/AliEmcalJetTask.h
932cd8749026241cefa29418237b12e749c6e067
[u/mrichter/AliRoot.git] / PWGGA / EMCALJetTasks / AliEmcalJetTask.h
1 #ifndef ALIEMCALJETTASK_H
2 #define ALIEMCALJETTASK_H
3
4 // $Id$
5
6 class TClonesArray;
7 class AliVEvent;
8
9 #include "AliAnalysisTaskSE.h"
10
11 class AliEmcalJetTask : public AliAnalysisTaskSE {
12  public:
13   AliEmcalJetTask();
14   AliEmcalJetTask(const char *name);
15   virtual ~AliEmcalJetTask();
16
17   void                   UserCreateOutputObjects();
18   void                   UserExec(Option_t *option);
19   void                   Terminate(Option_t *option);
20
21   void                   SetTracksName(const char *n)     { fTracksName    = n     ; }
22   void                   SetClusName(const char *n)       { fCaloName      = n     ; }
23   void                   SetJetsName(const char *n)       { fJetsName      = n     ; }
24   void                   SetMC(Bool_t mc = kTRUE)         { fMC            = mc    ; }
25   void                   SetAlgo(Int_t a)                 { fAlgo          = a     ; }
26   void                   SetRadius(Double_t r)            { fRadius        = r     ; }
27   void                   SetType(Int_t t)                 { fType          = t     ; }
28   void                   SetMinJetClusPt(Double_t min)    { fMinJetClusPt  = min   ; }
29   void                   SetMinJetTrackPt(Double_t min)   { fMinJetTrackPt = min   ; }
30   void                   SetMinJetArea(Double_t a)        { fMinJetArea    = a     ; }
31   void                   SetMinJetPt(Double_t j)          { fMinJetPt      = j     ; }
32
33
34  protected:
35   void                   FindJets(TObjArray *tracks, TObjArray *clus, Int_t algo, Double_t radius, Float_t /*cent*/);
36
37   TString                fTracksName;             // name of track collection
38   TString                fCaloName;               // name of calo cluster collection
39   TString                fJetsName;               // name of jet collection
40   Bool_t                 fMC;                     // true = MC analysis
41   Int_t                  fAlgo;                   // algo (0==kt, 1==antikt)
42   Double_t               fRadius;                 // jet radius
43   Int_t                  fType;                   // jet type (0=all, 1=ch, 2=neutral)
44   Double_t               fMinJetTrackPt;          // min jet track momentum   (applied before clustering)
45   Double_t               fMinJetClusPt;           // min jet cluster momentum (applied before clustering)
46   Double_t               fMinJetArea;             // min area to keep jet in output
47   Double_t               fMinJetPt;               // min jet pt to keep jet in output
48   TClonesArray          *fJets;                   //!jet collection
49   AliVEvent             *fEvent;                  //!current event
50
51  private:
52   AliEmcalJetTask(const AliEmcalJetTask&);            // not implemented
53   AliEmcalJetTask &operator=(const AliEmcalJetTask&); // not implemented
54
55   ClassDef(AliEmcalJetTask, 3) // Jet producing task
56 };
57 #endif