update from rosi
[u/mrichter/AliRoot.git] / PWGGA / EMCALJetTasks / UserTasks / AliAnalysisTaskEmcalJetSpectra.h
1 #ifndef AliAnalysisTaskEmcalJetSpectra_h
2 #define AliAnalysisTaskEmcalJetSpectra_h
3
4 // $Id$
5
6 class TList;
7 class TH1F;
8 class TH2F;
9 class AliESDEvent;
10
11 #include "AliAnalysisTaskSE.h"
12
13 class AliAnalysisTaskEmcalJetSpectra : public AliAnalysisTaskSE {
14  public:
15   AliAnalysisTaskEmcalJetSpectra();
16   AliAnalysisTaskEmcalJetSpectra(const char *name);
17   virtual ~AliAnalysisTaskEmcalJetSpectra() {}
18   
19   virtual void           UserCreateOutputObjects();
20   virtual void           UserExec(Option_t *option);
21   virtual void           Terminate(Option_t *);
22
23   virtual void           SetAreaCut(Double_t a)                   { fAreacut    = a; }
24   virtual void           SetJetEta(Double_t emin, Double_t emax)  { fEtamin = emin; fEtamax = emax; }
25   virtual void           SetJetPhi(Double_t pmin, Double_t pmax)  { fPhimin = pmin; fPhimax = pmax; }
26   virtual void           SetJetsName(const char *n)               { fJetsName   = n; }
27   virtual void           SetRhos1Name(const char *n)              { fRhos1Name  = n; }
28   virtual void           SetRhos2Name(const char *n)              { fRhos2Name  = n; }
29   virtual void           SetRhos3Name(const char *n)              { fRhos3Name  = n; }
30   virtual void           SetTracksName(const char *n)             { fTracksName = n; }
31   
32  protected:
33   virtual Int_t          GetCentBin(Double_t cent) const;
34    
35  private:
36   TString                fTracksName;              // name of track collection
37   TString                fJetsName;                // name of jet collection
38   TString                fClustersName;            // name of clusters collection
39   TString                fRhos1Name;               // name of Rho1 array output
40   TString                fRhos2Name;               // name of Rho2 array output
41   TString                fRhos3Name;               // name of Rho2 array output
42   Double_t               fPhimin;                  // phi min
43   Double_t               fPhimax;                  // phi max
44   Double_t               fEtamin;                  // eta min
45   Double_t               fEtamax;                  // eta max
46   Double_t               fAreacut;                 // area cut
47
48   AliESDEvent           *fESD;                     //!esd event
49   TList                 *fOutputList;              //!output list
50   TH1F                  *fHistCentrality;          //!centrality
51   TH2F                  *fHistDeltaRho12vsCent;    //!delta rho1 and rho2 vs centrality
52   TH2F                  *fHistDeltaRho13vsCent;    //!delta rho1 and rho3 vs centrality
53   TH2F                  *fHistDeltaRho23vsCent;    //!delta rho2 and rho3 vs centrality
54   TH2F                  *fHistDeltaJetPt12vsCent;  //!delta jet pt1 and pt2 vs centrality 
55   TH2F                  *fHistDeltaJetPt13vsCent;  //!delta jet pt1 and pt3 vs centrality 
56   TH2F                  *fHistDeltaJetPt23vsCent;  //!delta jet pt2 and pt3 vs centrality 
57   TH2F                  *fHistRho1vsCent;          //!rho1 vs centrality
58   TH2F                  *fHistRho2vsCent;          //!rho2 vs centrality
59   TH2F                  *fHistRho3vsCent;          //!rho3 vs centrality
60   TH2F                  *fHistNEFvsPt[6][4];       //!neutral energy fraction vs pt
61   TH2F                  *fHistZvsPt[6][4];         //!z all vs pt
62   TH2F                  *fHistZchvsPt[6][4];       //!z charged vs pt
63   TH2F                  *fHistZemvsPt[6][4];       //!z neutral vs pt
64   TH1F                  *fHistJetPt[6][4];         //!jet pt
65   TH1F                  *fHistJetPt3[6][4];        //!jet pt>3
66   TH1F                  *fHistJetPt5[6][4];        //!jet pt>5
67   TH1F                  *fHistJetPt7[6][4];        //!jet pt>7
68   TH1F                  *fHistJetPt9[6][4];        //!jet pt>9
69   TH2F                  *fHistNconsvsPt[6][4];     //!constituents vs pt
70   TH1F                  *fHistRawJetPt[6];         //!raw jet pt
71   TH2F                  *fHistAreavsRawPt[6];      //!area vs raw pt
72
73   AliAnalysisTaskEmcalJetSpectra(const AliAnalysisTaskEmcalJetSpectra&); // not implemented
74   AliAnalysisTaskEmcalJetSpectra& operator=(const AliAnalysisTaskEmcalJetSpectra&); // not implemented
75   
76   ClassDef(AliAnalysisTaskEmcalJetSpectra, 3); // Emcal jet spectra task
77 };
78 #endif