178de16c4cd80119f457b79e62c1b22e81e1163c
[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 TList;
8 class TH1;
9 class TH2;
10
11 #include "AliAnalysisTaskSE.h"
12
13 class AliEmcalJetTask : public AliAnalysisTaskSE {
14  public:
15   AliEmcalJetTask();
16   AliEmcalJetTask(const char *name);
17   virtual ~AliEmcalJetTask();
18
19   void         UserCreateOutputObjects();
20   void         UserExec(Option_t *option);
21   void         Terminate(Option_t *option);
22
23   void         SetAlgo(Int_t a)                 { fAlgo          = a;  }
24   void         SetClusName(const char *n)       { fCaloName      = n;  }
25   void         SetJetsName(const char *n)       { fJetsName      = n;  }
26   void         SetMinJetArea(Double_t a)        { fMinJetArea    = a;  }
27   void         SetMinJetClusPt(Double_t min)    { fMinJetClusPt  = min;}
28   void         SetMinJetPt(Double_t j)          { fMinJetPt      = j;  }
29   void         SetMinJetTrackPt(Double_t min)   { fMinJetTrackPt = min;}
30   void         SetRadius(Double_t r)            { fRadius        = r;  }
31   void         SetTracksName(const char *n)     { fTracksName    = n;  }
32   void         SetType(Int_t t)                 { fType          = t;  }
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   Int_t                  fAlgo;                   // algo (0==kt, 1==antikt)
41   Double_t               fRadius;                 // jet radius
42   Int_t                  fType;                   // jet type (0=all, 1=ch, 2=neutral)
43   Double_t               fMinJetTrackPt;          // min jet track momentum   (applied before clustering)
44   Double_t               fMinJetClusPt;           // min jet cluster momentum (applied before clustering)
45   Double_t               fMinJetArea;             // min area to keep jet in output
46   Double_t               fMinJetPt;               // min jet pt to keep jet in output
47   TClonesArray          *fJets;                   //!jet collection
48
49  private:
50   AliEmcalJetTask(const AliEmcalJetTask&);            // not implemented
51   AliEmcalJetTask &operator=(const AliEmcalJetTask&); // not implemented
52
53   ClassDef(AliEmcalJetTask, 2) // Jet producing task
54 };
55 #endif