ROOT logo
// Jet v2 task using QA method, based on jet sample task (S.Aiola).
//
// Authors: Jason Mueller (CERN summer student 2014) & Alice Ohlson

#ifndef ALIANALYSISTASKEMCALJETVNQA_H
#define ALIANALYSISTASKEMCALJETVNQA_H

// $Id$

class TH1;
class TH2;
class TH3;
class AliJetContainer;
class AliParticleContainer;
class AliClusterContainer;

#include "AliAnalysisTaskEmcalJet.h"

class AliAnalysisTaskEmcalJetv2QA : public AliAnalysisTaskEmcalJet {
 public:

  AliAnalysisTaskEmcalJetv2QA();
  AliAnalysisTaskEmcalJetv2QA(const char *name);
  virtual ~AliAnalysisTaskEmcalJetv2QA();

  void                        UserCreateOutputObjects();
  void                        Terminate(Option_t *option);

  void                        SetCentBins(Int_t n, Double_t* bins);
  void                        SetJetPtBins(Int_t n, Double_t* bins);

  Double_t		      GetJetv2(){return fJetv2;};
  void			      SetJetv2(Double_t jetv2){fJetv2 = jetv2;};
  Bool_t		      GetDoPtWeight(){return doPtWeight;};
  void			      SetDoPtWeight(Bool_t ptWeight){doPtWeight = ptWeight;};

 protected:
  Int_t			      nCentBins;
  Int_t                       nCentBins1;
  Double_t*		      centBins; //[nCentBins1]
  Int_t			      nJetPtBins;
  Int_t			      nJetPtBins1;
  Double_t*		      jetPtBins; //[nJetPtBins1]
  void                        ExecOnce();
  Bool_t                      FillHistograms();
  Bool_t                      Run();
  Double_t		      fJetv2;
  Bool_t		      doPtWeight;

  // General histograms
  TH1F                       *fHistTracksPt;            //!Track pt spectrum
  TH1F                       *fHistClustersPt;          //!Cluster pt spectrum
  TH1F                       *fHistLeadingJetPt;        //!Leading jet pt spectrum
  TH1F                       *fHistLeadingJetPtCorr;    //!Leading jet pt spectrum, background subtracted
  TH2F                       *fHistJetsPhiEta;          //!Phi-Eta distribution of jets
  TH2F                       *fHistJetsPtArea;          //!Jet pt vs. area
  TH2F                       *fHistJetsPtLeadHad;       //!Jet pt vs. leading hadron
  TH2F                       *fHistJetsCorrPtArea;      //!Jet pt - bkg vs. area
  TH3F                       *fHistPtDEtaDPhiTrackClus; //!track pt, delta eta, delta phi to matched cluster
  TH3F                       *fHistPtDEtaDPhiClusTrack; //!cluster pt, delta eta, delta phi to matched track
  TH1F                       *fDPhiJet;                 //!
  TH1F                       *fDPhiJetPythia;           //!
  TH1F                       *fDPhiEP;                  //!
  TH2D 			     *hGx;		        //!
  TH2D                       *hGy2;                     //!
  TH2D                       *hGxGy2;                   //!
  TH2D                       *hGy4;                     //!
  TH2D                       *hGx2;                     //!
  TH2D                       *hGx2Gy2;                  //!
  TH2D                       *hGxGy4;                   //!
  TH2D                       *hGy6;                     //!
  TH2D                       *hGx2Gy4;                  //!
  TH2D                       *hGxGy6;                   //!
  TH2D                       *hGy8;                     //!
  TH2D                       *hGy;                      //!
  TH2D                       *hN;                       //!
  TH2D                       *htv2std;                  //!
  TH2D                       *htjv2std;                 //!
  TH2D                       *htj2v2std;                //!
  TH2D                       *hV0jv2std;                //!
  TH3D                       *htdPsi;                   //!
  TH3D                       *htjdPsi;                  //!
  TH3D                       *htj2dPsi;                 //!
  TH3D                       *hV0jdPsi;                 //!
  TH2D		 	     *hAx;		        //!
  TH2D			     *hAxDijet;		        //!
  TH2D			     *hQx;		        //!
  TH2D			     *hQy;		        //!
  TH1F			     *hEventData;	        //!
  TH2F			     *hNTracks;		        //!
  TH2D			     *hNTracksCent;		//!
  TH2D                       *hGxTracks;                //!
  TH2D                       *hGyTracks;                //!
  TH2D                       *hGy2Tracks;               //!
  TH2D                       *hGxGy2Tracks;             //!
  TH2D                       *hGy4Tracks;               //!
  TH2D                       *htEPRes;                  //!
  TH2D                       *htjEPRes;                 //!
  TH2D                       *htj2EPRes;                //!

  AliJetContainer            *fJetsCont;                   //!Jets
  AliParticleContainer       *fTracksCont;                 //!Tracks
  AliClusterContainer        *fCaloClustersCont;           //!Clusters



 private:
  AliAnalysisTaskEmcalJetv2QA(const AliAnalysisTaskEmcalJetv2QA&);            // not implemented
  AliAnalysisTaskEmcalJetv2QA &operator=(const AliAnalysisTaskEmcalJetv2QA&); // not implemented

  ClassDef(AliAnalysisTaskEmcalJetv2QA, 3) // jet v2QA analysis task
};
#endif
 AliAnalysisTaskEmcalJetv2QA.h:1
 AliAnalysisTaskEmcalJetv2QA.h:2
 AliAnalysisTaskEmcalJetv2QA.h:3
 AliAnalysisTaskEmcalJetv2QA.h:4
 AliAnalysisTaskEmcalJetv2QA.h:5
 AliAnalysisTaskEmcalJetv2QA.h:6
 AliAnalysisTaskEmcalJetv2QA.h:7
 AliAnalysisTaskEmcalJetv2QA.h:8
 AliAnalysisTaskEmcalJetv2QA.h:9
 AliAnalysisTaskEmcalJetv2QA.h:10
 AliAnalysisTaskEmcalJetv2QA.h:11
 AliAnalysisTaskEmcalJetv2QA.h:12
 AliAnalysisTaskEmcalJetv2QA.h:13
 AliAnalysisTaskEmcalJetv2QA.h:14
 AliAnalysisTaskEmcalJetv2QA.h:15
 AliAnalysisTaskEmcalJetv2QA.h:16
 AliAnalysisTaskEmcalJetv2QA.h:17
 AliAnalysisTaskEmcalJetv2QA.h:18
 AliAnalysisTaskEmcalJetv2QA.h:19
 AliAnalysisTaskEmcalJetv2QA.h:20
 AliAnalysisTaskEmcalJetv2QA.h:21
 AliAnalysisTaskEmcalJetv2QA.h:22
 AliAnalysisTaskEmcalJetv2QA.h:23
 AliAnalysisTaskEmcalJetv2QA.h:24
 AliAnalysisTaskEmcalJetv2QA.h:25
 AliAnalysisTaskEmcalJetv2QA.h:26
 AliAnalysisTaskEmcalJetv2QA.h:27
 AliAnalysisTaskEmcalJetv2QA.h:28
 AliAnalysisTaskEmcalJetv2QA.h:29
 AliAnalysisTaskEmcalJetv2QA.h:30
 AliAnalysisTaskEmcalJetv2QA.h:31
 AliAnalysisTaskEmcalJetv2QA.h:32
 AliAnalysisTaskEmcalJetv2QA.h:33
 AliAnalysisTaskEmcalJetv2QA.h:34
 AliAnalysisTaskEmcalJetv2QA.h:35
 AliAnalysisTaskEmcalJetv2QA.h:36
 AliAnalysisTaskEmcalJetv2QA.h:37
 AliAnalysisTaskEmcalJetv2QA.h:38
 AliAnalysisTaskEmcalJetv2QA.h:39
 AliAnalysisTaskEmcalJetv2QA.h:40
 AliAnalysisTaskEmcalJetv2QA.h:41
 AliAnalysisTaskEmcalJetv2QA.h:42
 AliAnalysisTaskEmcalJetv2QA.h:43
 AliAnalysisTaskEmcalJetv2QA.h:44
 AliAnalysisTaskEmcalJetv2QA.h:45
 AliAnalysisTaskEmcalJetv2QA.h:46
 AliAnalysisTaskEmcalJetv2QA.h:47
 AliAnalysisTaskEmcalJetv2QA.h:48
 AliAnalysisTaskEmcalJetv2QA.h:49
 AliAnalysisTaskEmcalJetv2QA.h:50
 AliAnalysisTaskEmcalJetv2QA.h:51
 AliAnalysisTaskEmcalJetv2QA.h:52
 AliAnalysisTaskEmcalJetv2QA.h:53
 AliAnalysisTaskEmcalJetv2QA.h:54
 AliAnalysisTaskEmcalJetv2QA.h:55
 AliAnalysisTaskEmcalJetv2QA.h:56
 AliAnalysisTaskEmcalJetv2QA.h:57
 AliAnalysisTaskEmcalJetv2QA.h:58
 AliAnalysisTaskEmcalJetv2QA.h:59
 AliAnalysisTaskEmcalJetv2QA.h:60
 AliAnalysisTaskEmcalJetv2QA.h:61
 AliAnalysisTaskEmcalJetv2QA.h:62
 AliAnalysisTaskEmcalJetv2QA.h:63
 AliAnalysisTaskEmcalJetv2QA.h:64
 AliAnalysisTaskEmcalJetv2QA.h:65
 AliAnalysisTaskEmcalJetv2QA.h:66
 AliAnalysisTaskEmcalJetv2QA.h:67
 AliAnalysisTaskEmcalJetv2QA.h:68
 AliAnalysisTaskEmcalJetv2QA.h:69
 AliAnalysisTaskEmcalJetv2QA.h:70
 AliAnalysisTaskEmcalJetv2QA.h:71
 AliAnalysisTaskEmcalJetv2QA.h:72
 AliAnalysisTaskEmcalJetv2QA.h:73
 AliAnalysisTaskEmcalJetv2QA.h:74
 AliAnalysisTaskEmcalJetv2QA.h:75
 AliAnalysisTaskEmcalJetv2QA.h:76
 AliAnalysisTaskEmcalJetv2QA.h:77
 AliAnalysisTaskEmcalJetv2QA.h:78
 AliAnalysisTaskEmcalJetv2QA.h:79
 AliAnalysisTaskEmcalJetv2QA.h:80
 AliAnalysisTaskEmcalJetv2QA.h:81
 AliAnalysisTaskEmcalJetv2QA.h:82
 AliAnalysisTaskEmcalJetv2QA.h:83
 AliAnalysisTaskEmcalJetv2QA.h:84
 AliAnalysisTaskEmcalJetv2QA.h:85
 AliAnalysisTaskEmcalJetv2QA.h:86
 AliAnalysisTaskEmcalJetv2QA.h:87
 AliAnalysisTaskEmcalJetv2QA.h:88
 AliAnalysisTaskEmcalJetv2QA.h:89
 AliAnalysisTaskEmcalJetv2QA.h:90
 AliAnalysisTaskEmcalJetv2QA.h:91
 AliAnalysisTaskEmcalJetv2QA.h:92
 AliAnalysisTaskEmcalJetv2QA.h:93
 AliAnalysisTaskEmcalJetv2QA.h:94
 AliAnalysisTaskEmcalJetv2QA.h:95
 AliAnalysisTaskEmcalJetv2QA.h:96
 AliAnalysisTaskEmcalJetv2QA.h:97
 AliAnalysisTaskEmcalJetv2QA.h:98
 AliAnalysisTaskEmcalJetv2QA.h:99
 AliAnalysisTaskEmcalJetv2QA.h:100
 AliAnalysisTaskEmcalJetv2QA.h:101
 AliAnalysisTaskEmcalJetv2QA.h:102
 AliAnalysisTaskEmcalJetv2QA.h:103
 AliAnalysisTaskEmcalJetv2QA.h:104
 AliAnalysisTaskEmcalJetv2QA.h:105
 AliAnalysisTaskEmcalJetv2QA.h:106
 AliAnalysisTaskEmcalJetv2QA.h:107
 AliAnalysisTaskEmcalJetv2QA.h:108
 AliAnalysisTaskEmcalJetv2QA.h:109
 AliAnalysisTaskEmcalJetv2QA.h:110
 AliAnalysisTaskEmcalJetv2QA.h:111
 AliAnalysisTaskEmcalJetv2QA.h:112
 AliAnalysisTaskEmcalJetv2QA.h:113