Changes by Salvatore
[u/mrichter/AliRoot.git] / PWGJE / 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                   SetAlgo(Int_t a)                 { fAlgo          = a     ; }
22   void                   SetClusName(const char *n)       { fCaloName      = n     ; }
23   void                   SetJetsName(const char *n)       { fJetsName      = n     ; }
24   void                   SetMinJetArea(Double_t a)        { fMinJetArea    = a     ; }
25   void                   SetMinJetClusPt(Double_t min)    { fMinJetClusPt  = min   ; }
26   void                   SetMinJetPt(Double_t j)          { fMinJetPt      = j     ; }
27   void                   SetMinJetTrackPt(Double_t min)   { fMinJetTrackPt = min   ; }
28   void                   SetRadius(Double_t r)            { fRadius        = r     ; }
29   void                   SetTracksName(const char *n)     { fTracksName    = n     ; }
30   void                   SetType(Int_t t)                 { fType          = t     ; }
31   void                   SetEtaRange(Double_t emi, Double_t ema) {fEtaMin = emi; fEtaMax = ema; }
32   void                   SetPhiRange(Double_t pmi, Double_t pma) {fPhiMin = pmi; fPhiMax = pma; }
33   void                   SetGhostArea(Double_t gharea)    { fGhostArea      = gharea;  }
34
35  protected:
36   void                   FindJets();
37   Bool_t                 DoInit();
38
39   TString                fTracksName;             // name of track collection
40   TString                fCaloName;               // name of calo cluster collection
41   TString                fJetsName;               // name of jet collection
42   Int_t                  fAlgo;                   // algo (0==kt, 1==antikt)
43   Double_t               fRadius;                 // jet radius
44   Int_t                  fType;                   // jet type (0=all, 1=ch, 2=neutral)
45   Double_t               fMinJetTrackPt;          // min jet track momentum   (applied before clustering)
46   Double_t               fMinJetClusPt;           // min jet cluster momentum (applied before clustering)
47   Double_t               fPhiMin;                 // minimum phi for constituents (applied before clustering)
48   Double_t               fPhiMax;                 // maximum phi for constituents (applied before clustering)
49   Double_t               fEtaMin;                 // minimum eta for constituents (applied before clustering)
50   Double_t               fEtaMax;                 // maximum eta for constituents (applied before clustering)
51   Double_t               fMinJetArea;             // min area to keep jet in output
52   Double_t               fMinJetPt;               // min jet pt to keep jet in output
53   Double_t               fGhostArea;              // ghost area
54   Bool_t                 fIsInit;                 //!=true if already initialized
55   Bool_t                 fIsMcPart;               //!=true if MC particles are given as input
56   Bool_t                 fIsEmcPart;              //!=true if emcal particles are given as input (for clusters)
57   TClonesArray          *fJets;                   //!jet collection
58   AliVEvent             *fEvent;                  //!current event
59   TClonesArray          *fTracks;                 //!tracks collection
60   TClonesArray          *fClus;                   //!cluster collection
61
62  private:
63   AliEmcalJetTask(const AliEmcalJetTask&);            // not implemented
64   AliEmcalJetTask &operator=(const AliEmcalJetTask&); // not implemented
65
66   ClassDef(AliEmcalJetTask, 5) // Jet producing task
67 };
68 #endif