]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskEmcalJetHMEC.h
update from megan
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / UserTasks / AliAnalysisTaskEmcalJetHMEC.h
1 #ifndef AliAnalysisTaskEmcalJetHMEC_H
2 #define AliAnalysisTaskEmcalJetHMEC_H
3
4 // $Id$
5
6 class TList;
7 class TH1;
8 class TH2;
9 class THnSparse;
10 class AliEmcalJet;
11 class AliESDEvent;
12 class AliEventPoolManager;
13
14 #include "AliAnalysisTaskSE.h"
15
16 class AliAnalysisTaskEmcalJetHMEC : public AliAnalysisTaskSE {
17  public:
18   AliAnalysisTaskEmcalJetHMEC();
19   AliAnalysisTaskEmcalJetHMEC(const char *name);
20   virtual ~AliAnalysisTaskEmcalJetHMEC() {}
21   
22   virtual void            UserCreateOutputObjects();
23   virtual Double_t        RelativePhi(Double_t mphi, Double_t vphi);
24   virtual void            UserExec(Option_t *option);
25   virtual void            Terminate(Option_t *);
26   virtual Int_t           AcceptJet(AliEmcalJet *jet);
27   virtual THnSparse*      NewTHnSparseF(const char* name, UInt_t entries);
28   virtual void            GetDimParams(Int_t iEntry,TString &label, Int_t &nbins, Double_t &xmin, Double_t &xmax);
29
30   virtual void            SetTracksName(const char *n)             {fTracksName=n;}
31   virtual void            SetJetsName(const char *jn)              {fJetsName=jn;}
32
33   virtual void            SetAreaCut(Double_t a)                   { fAreacut    = a; }
34   virtual void            SetTrkBias(Double_t b)                   { fTrkBias    = b; }  //require a track with pt > b in jet
35   virtual void            SetClusBias(Double_t b)                  { fClusBias   = b; }  //require a cluster with pt > b in jet
36
37   virtual void            SetTrkEta(Double_t e)                    { fTrkEta   = e; }  //eta range of the associated tracks
38
39   virtual void            SetJetEta(Double_t emin, Double_t emax)  { fEtamin = emin; fEtamax = emax; }
40   virtual void            SetJetPhi(Double_t pmin, Double_t pmax)  { fPhimin = pmin; fPhimax = pmax; }
41   virtual void            SetEventMixing(Int_t yesno)              { fDoEventMixing=yesno;}
42   virtual void            SetMixingTracks(Int_t tracks)            { fMixingTracks = tracks; }
43
44
45
46
47
48  protected:
49   virtual Int_t          GetCentBin(Double_t cent) const;
50   virtual Int_t          GetEtaBin(Double_t eta) const;
51   virtual Int_t          GetpTjetBin(Double_t pt) const;
52
53   TString                fTracksName;              //name of tracks collection
54   TString                fJetsName;                //name of Jet collection
55   Double_t               fPhimin;                  // phi min of jet
56   Double_t               fPhimax;                  // phi max of jet
57   Double_t               fEtamin;                  // eta min of jet
58   Double_t               fEtamax;                  // eta max of jet
59   Double_t               fAreacut;                 // area cut of jet
60   Double_t               fTrkBias;
61   Double_t               fClusBias;
62   Double_t               fTrkEta;                  // eta min/max of tracks
63   Int_t                  fDoEventMixing;           // flag to do evt mixing
64   Int_t                  fMixingTracks;            // size of track buffer for event mixing
65   TObjArray*             CloneAndReduceTrackList(TObjArray* tracks);
66
67   AliESDEvent           *fESD;    //! ESD object
68   AliEventPoolManager   *fPoolMgr; //!
69   TList                 *fOutputList; //! Output list
70   TH1                   *fHistTrackPt; //! Pt spectrum
71   TH1                   *fHistCentrality;//!
72   TH2                   *fHistJetEtaPhi;//!
73   TH2                   *fHistTrackEtaPhi[7];//!
74   TH2                   *fHistJetHEtaPhi;//!
75
76   TH1                   *fHistJetPt[6]; //!
77   TH1                   *fHistJetPtBias[6];//!
78   TH1                   *fHistLeadJetPt[6];//!
79   TH1                   *fHistLeadJetPtBias[6];//!
80   TH1                   *fHistJetPtTT[6];//!
81   TH2                   *fHistJetH[6][5][3];//!
82   TH2                   *fHistJetHBias[6][5][3];//!
83   TH2                   *fHistJetHTT[6][5][3];//!
84   THnSparse             *fhnMixedEvents;      //!mixed events matrix
85   THnSparse             *fhnJH;      //!Fg events matrix
86
87  private:
88    
89   AliAnalysisTaskEmcalJetHMEC(const AliAnalysisTaskEmcalJetHMEC&); // not implemented
90   AliAnalysisTaskEmcalJetHMEC& operator=(const AliAnalysisTaskEmcalJetHMEC&); // not implemented
91   
92   ClassDef(AliAnalysisTaskEmcalJetHMEC, 10); 
93 };
94 #endif