ROOT logo
//
// Analysis task for angular jet shape G(R) arXiv:1201.2688
//
// Author: M.Verweij

#include <TClonesArray.h>
#include <TH1F.h>
#include <TH2F.h>
#include <TH3F.h>
#include <THnSparse.h>
#include <TF1.h>
#include <TList.h>
#include <TLorentzVector.h>
#include <TProfile.h>
#include <TChain.h>
#include <TSystem.h>
#include <TFile.h>
#include <TKey.h>
#include <TTree.h>

#include "AliVCluster.h"
#include "AliVTrack.h"
#include "AliEmcalJet.h"
#include "AliRhoParameter.h"
#include "AliLog.h"
#include "AliEmcalParticle.h"
#include "AliMCEvent.h"
#include "AliAODEvent.h"
#include "AliGenPythiaEventHeader.h"
#include "AliAODMCHeader.h"
#include "AliAnalysisManager.h"
#include "AliJetContainer.h"
#include "AliParticleContainer.h"

#include "AliAnalysisTaskJetShapeGR.h"

ClassImp(AliAnalysisTaskJetShapeGR)

//________________________________________________________________________
AliAnalysisTaskJetShapeGR::AliAnalysisTaskJetShapeGR() : 
  AliAnalysisTaskEmcalJet("AliAnalysisTaskJetShapeGR", kTRUE),
  fContainerBase(0),
  fContainerSub(1),
  fContainerTrue(2),
  fMinFractionShared(0),
  fSingleTrackEmb(kFALSE),
  fCreateTree(kFALSE),
  fTreeJetBkg(),
  fJet1Vec(new TLorentzVector()),
  fJet2Vec(new TLorentzVector()),
  fJetSubVec(new TLorentzVector()),
  fArea(0),
  fAreaPhi(0),
  fAreaEta(0),
  fRho(0),
  fRhoM(0),
  fNConst(0),
  fMatch(0),
  fDRStep(0.04),
  fMaxR(2.),
  fh2PtTrueDeltaGR(0x0),
  fh2PtTrueDeltaGRRel(0x0),
  fhnGRResponse(0x0),
  fh1PtTrue(0x0),
  fh3DeltaGRNumRPtTrue(0x0),
  fh3DeltaGRDenRPtTrue(0x0),
  fh2DeltaGRNumRPtTrue(0x0),
  fh2DeltaGRDenRPtTrue(0x0),
  fh1PtRaw(0x0),
  fh3DeltaGRNumRPtRaw(0x0),
  fh3DeltaGRDenRPtRaw(0x0),
  fh2DeltaGRNumRPtRaw(0x0),
  fh2DeltaGRDenRPtRaw(0x0),
  fh1PtRawMatch(0x0),
  fh3DeltaGRNumRPtRawMatch(0x0),
  fh3DeltaGRDenRPtRawMatch(0x0),
  fh2DeltaGRNumRPtRawMatch(0x0),
  fh2DeltaGRDenRPtRawMatch(0x0),
  fh1PtMatch(0x0),
  fh3DeltaGRNumRPtMatch(0x0),
  fh3DeltaGRDenRPtMatch(0x0),
  fh2DeltaGRNumRPtMatch(0x0),
  fh2DeltaGRDenRPtMatch(0x0),
  fh2DeltaGRNumRPtTrueMatch(0x0),
  fh2DeltaGRDenRPtTrueMatch(0x0)
{
  // Default constructor.

  fh2PtTrueDeltaGR     = new TH2F*[fNcentBins];
  fh2PtTrueDeltaGRRel  = new TH2F*[fNcentBins];
  fhnGRResponse        = new THnSparse*[fNcentBins];
  fh1PtTrue            = new TH1F*[fNcentBins];
  fh3DeltaGRNumRPtTrue = new TH3F*[fNcentBins];
  fh3DeltaGRDenRPtTrue = new TH3F*[fNcentBins];
  fh2DeltaGRNumRPtTrue = new TH2F*[fNcentBins];
  fh2DeltaGRDenRPtTrue = new TH2F*[fNcentBins];
  fh1PtRaw            = new TH1F*[fNcentBins];
  fh3DeltaGRNumRPtRaw = new TH3F*[fNcentBins];
  fh3DeltaGRDenRPtRaw = new TH3F*[fNcentBins];
  fh2DeltaGRNumRPtRaw = new TH2F*[fNcentBins];
  fh2DeltaGRDenRPtRaw = new TH2F*[fNcentBins];
  fh1PtRawMatch            = new TH1F*[fNcentBins];
  fh3DeltaGRNumRPtRawMatch = new TH3F*[fNcentBins];
  fh3DeltaGRDenRPtRawMatch = new TH3F*[fNcentBins];
  fh2DeltaGRNumRPtRawMatch = new TH2F*[fNcentBins];
  fh2DeltaGRDenRPtRawMatch = new TH2F*[fNcentBins];
  fh1PtMatch            = new TH1F*[fNcentBins];
  fh3DeltaGRNumRPtMatch = new TH3F*[fNcentBins];
  fh3DeltaGRDenRPtMatch = new TH3F*[fNcentBins];
  fh2DeltaGRNumRPtMatch = new TH2F*[fNcentBins];
  fh2DeltaGRDenRPtMatch = new TH2F*[fNcentBins];
  fh2DeltaGRNumRPtTrueMatch = new TH2F*[fNcentBins];
  fh2DeltaGRDenRPtTrueMatch = new TH2F*[fNcentBins];

  for (Int_t i = 0; i < fNcentBins; i++) {
    fh2PtTrueDeltaGR[i]     = 0;
    fh2PtTrueDeltaGRRel[i]  = 0;
    fhnGRResponse[i]        = 0;
    fh1PtTrue[i]            = 0;
    fh3DeltaGRNumRPtTrue[i] = 0;
    fh3DeltaGRDenRPtTrue[i] = 0;
    fh2DeltaGRNumRPtTrue[i] = 0;
    fh2DeltaGRDenRPtTrue[i] = 0;
    fh1PtRaw[i]            = 0;
    fh3DeltaGRNumRPtRaw[i] = 0;
    fh3DeltaGRDenRPtRaw[i] = 0;
    fh2DeltaGRNumRPtRaw[i] = 0;
    fh2DeltaGRDenRPtRaw[i] = 0;
    fh1PtRawMatch[i]            = 0;
    fh3DeltaGRNumRPtRawMatch[i] = 0;
    fh3DeltaGRDenRPtRawMatch[i] = 0;
    fh2DeltaGRNumRPtRawMatch[i] = 0;
    fh2DeltaGRDenRPtRawMatch[i] = 0;
    fh1PtMatch[i]            = 0;
    fh3DeltaGRNumRPtMatch[i] = 0;
    fh3DeltaGRDenRPtMatch[i] = 0;
    fh2DeltaGRNumRPtMatch[i] = 0;
    fh2DeltaGRDenRPtMatch[i] = 0;
    fh2DeltaGRNumRPtTrueMatch[i] = 0;
    fh2DeltaGRDenRPtTrueMatch[i] = 0;
  }

  SetMakeGeneralHistograms(kTRUE);
  DefineOutput(2, TTree::Class());
}

//________________________________________________________________________
AliAnalysisTaskJetShapeGR::AliAnalysisTaskJetShapeGR(const char *name) : 
  AliAnalysisTaskEmcalJet(name, kTRUE),  
  fContainerBase(0),
  fContainerSub(1),
  fContainerTrue(2),
  fMinFractionShared(0),
  fSingleTrackEmb(kFALSE),
  fCreateTree(kFALSE),
  fTreeJetBkg(0),
  fJet1Vec(new TLorentzVector()),
  fJet2Vec(new TLorentzVector()),
  fJetSubVec(new TLorentzVector()),
  fArea(0),
  fAreaPhi(0),
  fAreaEta(0),
  fRho(0),
  fRhoM(0),
  fNConst(0),
  fMatch(0),
  fDRStep(0.04),
  fMaxR(2.),
  fh2PtTrueDeltaGR(0x0),
  fh2PtTrueDeltaGRRel(0x0),
  fhnGRResponse(0x0),
  fh1PtTrue(0x0),
  fh3DeltaGRNumRPtTrue(0x0),
  fh3DeltaGRDenRPtTrue(0x0),
  fh2DeltaGRNumRPtTrue(0x0),
  fh2DeltaGRDenRPtTrue(0x0),
  fh1PtRaw(0x0),
  fh3DeltaGRNumRPtRaw(0x0),
  fh3DeltaGRDenRPtRaw(0x0),
  fh2DeltaGRNumRPtRaw(0x0),
  fh2DeltaGRDenRPtRaw(0x0),
  fh1PtRawMatch(0x0),
  fh3DeltaGRNumRPtRawMatch(0x0),
  fh3DeltaGRDenRPtRawMatch(0x0),
  fh2DeltaGRNumRPtRawMatch(0x0),
  fh2DeltaGRDenRPtRawMatch(0x0),
  fh1PtMatch(0x0),
  fh3DeltaGRNumRPtMatch(0x0),
  fh3DeltaGRDenRPtMatch(0x0),
  fh2DeltaGRNumRPtMatch(0x0),
  fh2DeltaGRDenRPtMatch(0x0),
  fh2DeltaGRNumRPtTrueMatch(0x0),
  fh2DeltaGRDenRPtTrueMatch(0x0)
{
  // Standard constructor.

  fh2PtTrueDeltaGR     = new TH2F*[fNcentBins];
  fh2PtTrueDeltaGRRel  = new TH2F*[fNcentBins];
  fhnGRResponse        = new THnSparse*[fNcentBins];
  fh1PtTrue            = new TH1F*[fNcentBins];
  fh3DeltaGRNumRPtTrue = new TH3F*[fNcentBins];
  fh3DeltaGRDenRPtTrue = new TH3F*[fNcentBins];
  fh2DeltaGRNumRPtTrue = new TH2F*[fNcentBins];
  fh2DeltaGRDenRPtTrue = new TH2F*[fNcentBins];
  fh1PtRaw            = new TH1F*[fNcentBins];
  fh3DeltaGRNumRPtRaw = new TH3F*[fNcentBins];
  fh3DeltaGRDenRPtRaw = new TH3F*[fNcentBins];
  fh2DeltaGRNumRPtRaw = new TH2F*[fNcentBins];
  fh2DeltaGRDenRPtRaw = new TH2F*[fNcentBins];
  fh1PtRawMatch            = new TH1F*[fNcentBins];
  fh3DeltaGRNumRPtRawMatch = new TH3F*[fNcentBins];
  fh3DeltaGRDenRPtRawMatch = new TH3F*[fNcentBins];
  fh2DeltaGRNumRPtRawMatch = new TH2F*[fNcentBins];
  fh2DeltaGRDenRPtRawMatch = new TH2F*[fNcentBins];
  fh1PtMatch            = new TH1F*[fNcentBins];
  fh3DeltaGRNumRPtMatch = new TH3F*[fNcentBins];
  fh3DeltaGRDenRPtMatch = new TH3F*[fNcentBins];
  fh2DeltaGRNumRPtMatch = new TH2F*[fNcentBins];
  fh2DeltaGRDenRPtMatch = new TH2F*[fNcentBins];
  fh2DeltaGRNumRPtTrueMatch = new TH2F*[fNcentBins];
  fh2DeltaGRDenRPtTrueMatch = new TH2F*[fNcentBins];

  for (Int_t i = 0; i < fNcentBins; i++) {
    fh2PtTrueDeltaGR[i]     = 0;
    fh2PtTrueDeltaGRRel[i]  = 0;
    fhnGRResponse[i]        = 0;
    fh1PtTrue[i]            = 0;
    fh3DeltaGRNumRPtTrue[i] = 0;
    fh3DeltaGRDenRPtTrue[i] = 0;
    fh2DeltaGRNumRPtTrue[i] = 0;
    fh2DeltaGRDenRPtTrue[i] = 0;
    fh1PtRaw[i]            = 0;
    fh3DeltaGRNumRPtRaw[i] = 0;
    fh3DeltaGRDenRPtRaw[i] = 0;
    fh2DeltaGRNumRPtRaw[i] = 0;
    fh2DeltaGRDenRPtRaw[i] = 0;
    fh1PtRawMatch[i]            = 0;
    fh3DeltaGRNumRPtRawMatch[i] = 0;
    fh3DeltaGRDenRPtRawMatch[i] = 0;
    fh2DeltaGRNumRPtRawMatch[i] = 0;
    fh2DeltaGRDenRPtRawMatch[i] = 0;
    fh1PtMatch[i]            = 0;
    fh3DeltaGRNumRPtMatch[i] = 0;
    fh3DeltaGRDenRPtMatch[i] = 0;
    fh2DeltaGRNumRPtMatch[i] = 0;
    fh2DeltaGRDenRPtMatch[i] = 0;
    fh2DeltaGRNumRPtTrueMatch[i] = 0;
    fh2DeltaGRDenRPtTrueMatch[i] = 0;
  }

  SetMakeGeneralHistograms(kTRUE);
  DefineOutput(2, TTree::Class());
}

//________________________________________________________________________
AliAnalysisTaskJetShapeGR::~AliAnalysisTaskJetShapeGR()
{
  // Destructor.
}

//________________________________________________________________________
void AliAnalysisTaskJetShapeGR::UserCreateOutputObjects()
{
  // Create user output.

  AliAnalysisTaskEmcalJet::UserCreateOutputObjects();

  Bool_t oldStatus = TH1::AddDirectoryStatus();
  TH1::AddDirectory(kFALSE);

  const Int_t nBinsPt  = 200;
  const Double_t minPt = -50.;
  const Double_t maxPt = 150.;

  const Int_t nBinsM  = 150;
  const Double_t minM = -50.;
  const Double_t maxM = 100.;

  const Int_t nBinsR  = 50;
  const Double_t minR = 0.;
  const Double_t maxR = 2.;

  const Int_t nBinsDGR  = 100;
  const Double_t minDGR = 0.;
  const Double_t maxDGR = 10.;

  //Binning for THnSparse
  const Int_t nBinsSparse0 = 4;
  const Int_t nBins0[nBinsSparse0] = {nBinsM,nBinsM,nBinsPt,nBinsPt};
  const Double_t xmin0[nBinsSparse0]  = { minM, minM, minPt, minPt};
  const Double_t xmax0[nBinsSparse0]  = { maxM, maxM, maxPt, maxPt};

  TString histName = "";
  TString histTitle = "";
  for (Int_t i = 0; i < fNcentBins; i++) {
    histName = Form("fh2PtTrueDeltaGR_%d",i);
    histTitle = Form("fh2PtTrueDeltaGR_%d;#it{p}_{T,true};#it{G(R)}_{sub}-#it{G(R)}_{true}",i);
    fh2PtTrueDeltaGR[i] = new TH2F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,100,-50.,50.);
    fOutput->Add(fh2PtTrueDeltaGR[i]);

    histName = Form("fh2PtTrueDeltaGRRel_%d",i);
    histTitle = Form("fh2PtTrueDeltaGRRel_%d;#it{p}_{T,true};(#it{G(R)}_{sub}-#it{G(R)}_{true})/#it{G(R)}_{true}",i);
    fh2PtTrueDeltaGRRel[i] = new TH2F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,200,-1.,1.);
    fOutput->Add(fh2PtTrueDeltaGRRel[i]);

    histName = Form("fhnGRResponse_%d",i);
    histTitle = Form("fhnGRResponse_%d;#it{G(R)}_{sub};#it{G(R)}_{true};#it{p}_{T,sub};#it{p}_{T,true}",i);
    fhnGRResponse[i] = new THnSparseF(histName.Data(),histTitle.Data(),nBinsSparse0,nBins0,xmin0,xmax0);
    fOutput->Add(fhnGRResponse[i]);

    //Histos for true jets
    histName = Form("fh1PtTrue_%d",i);
    histTitle = Form("%s;#it{p}_{T};#it{N}",histName.Data());
    fh1PtTrue[i] = new TH1F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt);
    fOutput->Add(fh1PtTrue[i]);

    histName = Form("fh3DeltaGRNumRPtTrue_%d",i);
    histTitle = Form("%s;#Sigma#it{p}_{Tk,i}#it{p}_{Tk,j}#Delta#it{R}_{ij}^{2}#delta_{dR}(#it{r}-#it{R}_{ij});#it{r};#it{p}_{T,true}",histName.Data());
    fh3DeltaGRNumRPtTrue[i] = new TH3F(histName.Data(),histTitle.Data(),nBinsDGR,minDGR,maxDGR,nBinsR,minR,maxR,nBinsPt,minPt,maxPt);
    fOutput->Add(fh3DeltaGRNumRPtTrue[i]);

    histName = Form("fh3DeltaGRDenRPtTrue_%d",i);
    histTitle = Form("%s;#Sigma#it{p}_{Tk,i}#it{p}_{Tk,j}#Delta#it{R}_{ij}^{2}#Theta_{dR}(#it{r}-#it{R}_{ij});#it{r};#it{p}_{T,true}",histName.Data());
    fh3DeltaGRDenRPtTrue[i] = new TH3F(histName.Data(),histTitle.Data(),nBinsDGR,minDGR,maxDGR,nBinsR,minR,maxR,nBinsPt,minPt,maxPt);
    fOutput->Add(fh3DeltaGRDenRPtTrue[i]);

    histName = Form("fh2DeltaGRNumRPtTrue_%d",i);
    histTitle = Form("%s;#it{r};#it{p}_{T,true}",histName.Data());
    fh2DeltaGRNumRPtTrue[i] = new TH2F(histName.Data(),histTitle.Data(),nBinsR,minR,maxR,nBinsPt,minPt,maxPt);
    fOutput->Add(fh2DeltaGRNumRPtTrue[i]);

    histName = Form("fh2DeltaGRDenRPtTrue_%d",i);
    histTitle = Form("%s;#it{r};#it{p}_{T,true}",histName.Data());
    fh2DeltaGRDenRPtTrue[i] = new TH2F(histName.Data(),histTitle.Data(),nBinsR,minR,maxR,nBinsPt,minPt,maxPt);
    fOutput->Add(fh2DeltaGRDenRPtTrue[i]);

    //Histos for raw AA jets
    histName = Form("fh1PtRaw_%d",i);
    histTitle = Form("%s;#it{p}_{T};#it{N}",histName.Data());
    fh1PtRaw[i] = new TH1F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt);
    fOutput->Add(fh1PtRaw[i]);

    histName = Form("fh3DeltaGRNumRPtRaw_%d",i);
    histTitle = Form("%s;#Sigma#it{p}_{Tk,i}#it{p}_{Tk,j}#Delta#it{R}_{ij}^{2}#delta_{dR}(#it{r}-#it{R}_{ij});#it{r};#it{p}_{T,true}",histName.Data());
    fh3DeltaGRNumRPtRaw[i] = new TH3F(histName.Data(),histTitle.Data(),nBinsDGR,minDGR,maxDGR,nBinsR,minR,maxR,nBinsPt,minPt,maxPt);
    fOutput->Add(fh3DeltaGRNumRPtRaw[i]);

    histName = Form("fh3DeltaGRDenRPtRaw_%d",i);
    histTitle = Form("%s;#Sigma#it{p}_{Tk,i}#it{p}_{Tk,j}#Delta#it{R}_{ij}^{2}#Theta_{dR}(#it{r}-#it{R}_{ij});#it{r};#it{p}_{T,true}",histName.Data());
    fh3DeltaGRDenRPtRaw[i] = new TH3F(histName.Data(),histTitle.Data(),nBinsDGR,minDGR,maxDGR,nBinsR,minR,maxR,nBinsPt,minPt,maxPt);
    fOutput->Add(fh3DeltaGRDenRPtRaw[i]);

    histName = Form("fh2DeltaGRNumRPtRaw_%d",i);
    histTitle = Form("%s;#it{r};#it{p}_{T,true}",histName.Data());
    fh2DeltaGRNumRPtRaw[i] = new TH2F(histName.Data(),histTitle.Data(),nBinsR,minR,maxR,nBinsPt,minPt,maxPt);
    fOutput->Add(fh2DeltaGRNumRPtRaw[i]);

    histName = Form("fh2DeltaGRDenRPtRaw_%d",i);
    histTitle = Form("%s;#it{r};#it{p}_{T,true}",histName.Data());
    fh2DeltaGRDenRPtRaw[i] = new TH2F(histName.Data(),histTitle.Data(),nBinsR,minR,maxR,nBinsPt,minPt,maxPt);
    fOutput->Add(fh2DeltaGRDenRPtRaw[i]);

    //Histos for raw AA jets matched to MC jet
    histName = Form("fh1PtRawMatch_%d",i);
    histTitle = Form("%s;#it{p}_{T};#it{N}",histName.Data());
    fh1PtRawMatch[i] = new TH1F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt);
    fOutput->Add(fh1PtRawMatch[i]);

    histName = Form("fh3DeltaGRNumRPtRawMatch_%d",i);
    histTitle = Form("%s;#Sigma#it{p}_{Tk,i}#it{p}_{Tk,j}#Delta#it{R}_{ij}^{2}#delta_{dR}(#it{r}-#it{R}_{ij});#it{r};#it{p}_{T,true}",histName.Data());
    fh3DeltaGRNumRPtRawMatch[i] = new TH3F(histName.Data(),histTitle.Data(),nBinsDGR,minDGR,maxDGR,nBinsR,minR,maxR,nBinsPt,minPt,maxPt);
    fOutput->Add(fh3DeltaGRNumRPtRawMatch[i]);

    histName = Form("fh3DeltaGRDenRPtRawMatch_%d",i);
    histTitle = Form("%s;#Sigma#it{p}_{Tk,i}#it{p}_{Tk,j}#Delta#it{R}_{ij}^{2}#Theta_{dR}(#it{r}-#it{R}_{ij});#it{r};#it{p}_{T,true}",histName.Data());
    fh3DeltaGRDenRPtRawMatch[i] = new TH3F(histName.Data(),histTitle.Data(),nBinsDGR,minDGR,maxDGR,nBinsR,minR,maxR,nBinsPt,minPt,maxPt);
    fOutput->Add(fh3DeltaGRDenRPtRawMatch[i]);

    histName = Form("fh2DeltaGRNumRPtRawMatch_%d",i);
    histTitle = Form("%s;#it{r};#it{p}_{T,true}",histName.Data());
    fh2DeltaGRNumRPtRawMatch[i] = new TH2F(histName.Data(),histTitle.Data(),nBinsR,minR,maxR,nBinsPt,minPt,maxPt);
    fOutput->Add(fh2DeltaGRNumRPtRawMatch[i]);

    histName = Form("fh2DeltaGRDenRPtRawMatch_%d",i);
    histTitle = Form("%s;#it{r};#it{p}_{T,true}",histName.Data());
    fh2DeltaGRDenRPtRawMatch[i] = new TH2F(histName.Data(),histTitle.Data(),nBinsR,minR,maxR,nBinsPt,minPt,maxPt);
    fOutput->Add(fh2DeltaGRDenRPtRawMatch[i]);

    //Histos for matched jets
    histName = Form("fh1PtMatch_%d",i);
    histTitle = Form("%s;#it{p}_{T};#it{N}",histName.Data());
    fh1PtMatch[i] = new TH1F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt);
    fOutput->Add(fh1PtMatch[i]);

    histName = Form("fh3DeltaGRNumRPtMatch_%d",i);
    histTitle = Form("%s;#Sigma#it{p}_{Tk,i}#it{p}_{Tk,j}#Delta#it{R}_{ij}^{2}#delta_{dR}(#it{r}-#it{R}_{ij});#it{r};#it{p}_{T,true}",histName.Data());
    fh3DeltaGRNumRPtMatch[i] = new TH3F(histName.Data(),histTitle.Data(),nBinsDGR,minDGR,maxDGR,nBinsR,minR,maxR,nBinsPt,minPt,maxPt);
    fOutput->Add(fh3DeltaGRNumRPtMatch[i]);

    histName = Form("fh3DeltaGRDenRPtMatch_%d",i);
    histTitle = Form("%s;#Sigma#it{p}_{Tk,i}#it{p}_{Tk,j}#Delta#it{R}_{ij}^{2}#Theta_{dR}(#it{r}-#it{R}_{ij});#it{r};#it{p}_{T,true}",histName.Data());
    fh3DeltaGRDenRPtMatch[i] = new TH3F(histName.Data(),histTitle.Data(),nBinsDGR,minDGR,maxDGR,nBinsR,minR,maxR,nBinsPt,minPt,maxPt);
    fOutput->Add(fh3DeltaGRDenRPtMatch[i]);

    histName = Form("fh2DeltaGRNumRPtMatch_%d",i);
    histTitle = Form("%s;#it{r};#it{p}_{T,true}",histName.Data());
    fh2DeltaGRNumRPtMatch[i] = new TH2F(histName.Data(),histTitle.Data(),nBinsR,minR,maxR,nBinsPt,minPt,maxPt);
    fOutput->Add(fh2DeltaGRNumRPtMatch[i]);

    histName = Form("fh2DeltaGRDenRPtMatch_%d",i);
    histTitle = Form("%s;#it{r};#it{p}_{T,true}",histName.Data());
    fh2DeltaGRDenRPtMatch[i] = new TH2F(histName.Data(),histTitle.Data(),nBinsR,minR,maxR,nBinsPt,minPt,maxPt);
    fOutput->Add(fh2DeltaGRDenRPtMatch[i]);

    histName = Form("fh2DeltaGRNumRPtTrueMatch_%d",i);
    histTitle = Form("%s;#it{r};#it{p}_{T,true}",histName.Data());
    fh2DeltaGRNumRPtTrueMatch[i] = new TH2F(histName.Data(),histTitle.Data(),nBinsR,minR,maxR,nBinsPt,minPt,maxPt);
    fOutput->Add(fh2DeltaGRNumRPtTrueMatch[i]);

    histName = Form("fh2DeltaGRDenRPtTrueMatch_%d",i);
    histTitle = Form("%s;#it{r};#it{p}_{T,true}",histName.Data());
    fh2DeltaGRDenRPtTrueMatch[i] = new TH2F(histName.Data(),histTitle.Data(),nBinsR,minR,maxR,nBinsPt,minPt,maxPt);
    fOutput->Add(fh2DeltaGRDenRPtTrueMatch[i]);

  }

  // =========== Switch on Sumw2 for all histos ===========
  for (Int_t i=0; i<fOutput->GetEntries(); ++i) {
    TH1 *h1 = dynamic_cast<TH1*>(fOutput->At(i));
    if (h1){
      h1->Sumw2();
      continue;
    }
    THnSparse *hn = dynamic_cast<THnSparse*>(fOutput->At(i));
    if(hn)hn->Sumw2();
  }

  TH1::AddDirectory(oldStatus);

  // Create a tree.
  if(fCreateTree) {
    fTreeJetBkg = new TTree("fTreeJetSubGR", "fTreeJetSubGR");
    fTreeJetBkg->Branch("fJet1Vec","TLorentzVector",&fJet1Vec);
    fTreeJetBkg->Branch("fJet2Vec","TLorentzVector",&fJet2Vec);
    fTreeJetBkg->Branch("fJetSubVec","TLorentzVector",&fJetSubVec);
    fTreeJetBkg->Branch("fArea",&fArea,"fArea/F");
    fTreeJetBkg->Branch("fAreaPhi",&fAreaPhi,"fAreaPhi/F");
    fTreeJetBkg->Branch("fAreaEta",&fAreaEta,"fAreaEta/F");
    fTreeJetBkg->Branch("fRho",&fRho,"fRho/F");
    fTreeJetBkg->Branch("fRhoM",&fRhoM,"fRhoM/F");
    fTreeJetBkg->Branch("fMatch",&fMatch,"fMatch/I");
  }
  
  PostData(1, fOutput); // Post data for ALL output slots > 0 here.
  if(fCreateTree) PostData(2, fTreeJetBkg);
}

//________________________________________________________________________
Bool_t AliAnalysisTaskJetShapeGR::Run()
{
  // Run analysis code here, if needed. It will be executed before FillHistograms().

  return kTRUE;
}

//________________________________________________________________________
Bool_t AliAnalysisTaskJetShapeGR::FillHistograms()
{
  // Fill histograms.
  FillTrueJets();

  AliEmcalJet* jet1 = NULL;
  AliEmcalJet *jet2 = NULL;
  AliEmcalJet *jetS = NULL;
  AliJetContainer *jetCont = GetJetContainer(fContainerBase);
  AliJetContainer *jetContS = GetJetContainer(fContainerSub);
  AliDebug(11,Form("NJets  Incl: %d  Csub: %d",jetCont->GetNJets(),jetContS->GetNJets()));
  if(jetCont && jetContS) {
    jetCont->ResetCurrentID();
    Double_t rmax = jetCont->GetJetRadius()+0.2;
    Double_t wr = 0.04;
    Int_t nr = TMath::CeilNint(rmax/wr);
    while((jet1 = jetCont->GetNextAcceptJet())) {
      Double_t fraction = 0.;
      fMatch = 0;
      fJet2Vec->SetPtEtaPhiM(0.,0.,0.,0.);
      if(fSingleTrackEmb) {
	AliVParticle *vp = GetEmbeddedConstituent(jet1);
	if(vp) {
	  fJet2Vec->SetPxPyPzE(vp->Px(),vp->Py(),vp->Pz(),vp->E());
	  fMatch = 1;
	}
      } else {
	jet2 = jet1->ClosestJet();
	if(!jet2) continue;

	fraction = jetCont->GetFractionSharedPt(jet1);
	fMatch = 1;
	if(fMinFractionShared>0.) {
	  if(fraction>fMinFractionShared) {
	    fJet2Vec->SetPxPyPzE(jet2->Px(),jet2->Py(),jet2->Pz(),jet2->E());
	    fMatch = 1;
	  } else
	    fMatch = 0;
	}
      }

      //Fill histograms for all AA jets
      Double_t ptcorr = jet1->Pt()-jetCont->GetRhoVal()*jet1->Area();
      fh1PtRaw[fCentBin]->Fill(ptcorr);
      if(fMatch==1) fh1PtRawMatch[fCentBin]->Fill(ptcorr);

      TArrayF numRaw = jet1->GetGRNumerator();
      TArrayF denRaw = jet1->GetGRDenominator();
      if(numRaw.GetSize()>0) {
	for(Int_t i = 0; i<nr; i++) {
	  Double_t r = i*wr + 0.5*wr;
	  fh3DeltaGRNumRPtRaw[fCentBin]->Fill(numRaw[i],r,ptcorr);
	  fh3DeltaGRDenRPtRaw[fCentBin]->Fill(denRaw[i],r,ptcorr);
	  fh2DeltaGRNumRPtRaw[fCentBin]->Fill(r,ptcorr,numRaw[i]);
	  fh2DeltaGRDenRPtRaw[fCentBin]->Fill(r,ptcorr,denRaw[i]);
	  if(fMatch==1) {
	    fh3DeltaGRNumRPtRawMatch[fCentBin]->Fill(numRaw[i],r,ptcorr);
	    fh3DeltaGRDenRPtRawMatch[fCentBin]->Fill(denRaw[i],r,ptcorr);
	    fh2DeltaGRNumRPtRawMatch[fCentBin]->Fill(r,ptcorr,numRaw[i]);
	    fh2DeltaGRDenRPtRawMatch[fCentBin]->Fill(r,ptcorr,denRaw[i]);
	  }
	}
      }

      //Fill histograms for matched jets
      if(fMatch==1) {
	fh1PtMatch[fCentBin]->Fill(ptcorr);

	//now get second derivative vs R and do final calculation
	TArrayF num = jet1->GetGRNumeratorSub();
	TArrayF den = jet1->GetGRDenominatorSub();
	if(num.GetSize()>0) {
	  for(Int_t i = 0; i<nr; i++) {
	    Double_t r = i*wr + 0.5*wr;
	    fh3DeltaGRNumRPtMatch[fCentBin]->Fill(num[i],r,ptcorr);
	    fh3DeltaGRDenRPtMatch[fCentBin]->Fill(den[i],r,ptcorr);
	    fh2DeltaGRNumRPtMatch[fCentBin]->Fill(r,ptcorr,num[i]);
	    fh2DeltaGRDenRPtMatch[fCentBin]->Fill(r,ptcorr,den[i]);
	    fh2DeltaGRNumRPtTrueMatch[fCentBin]->Fill(r,jet2->Pt(),num[i]);
	    fh2DeltaGRDenRPtTrueMatch[fCentBin]->Fill(r,jet2->Pt(),den[i]);

	    Double_t dGR = 0.;
	    fh2PtTrueDeltaGR[fCentBin]->Fill(jet2->Pt(),dGR);
	  }
	}
      }

      if(fCreateTree) {      
	fJet1Vec->SetPxPyPzE(jet1->Px(),jet1->Py(),jet1->Pz(),jet1->E());
	if(jetS && jetS->Pt()>0.) fJetSubVec->SetPtEtaPhiM(jetS->Pt(),jetS->Eta(),jetS->Phi(),jetS->M());
	else fJetSubVec->SetPtEtaPhiM(0.,0.,0.,0.);
	fArea = (Float_t)jet1->Area();
	fAreaPhi = (Float_t)jet1->AreaPhi();
	fAreaEta = (Float_t)jet1->AreaEta();
	fRho  = (Float_t)jetCont->GetRhoVal();
	fRhoM = (Float_t)jetCont->GetRhoMassVal();
	fNConst = (Int_t)jet1->GetNumberOfTracks();
	fTreeJetBkg->Fill();
      }
    } //jet1 loop
  }//jetCont


  return kTRUE;
}

//________________________________________________________________________
Bool_t AliAnalysisTaskJetShapeGR::FillTrueJets() {

  AliEmcalJet* jet1 = NULL;
  AliJetContainer *jetCont = GetJetContainer(fContainerTrue);
  if(!jetCont)
    return kFALSE;

  AliDebug(11,Form("NJets True: %d",jetCont->GetNJets()));

  //create arrays
  const Int_t nr = TMath::CeilNint(fMaxR/fDRStep);
  TArrayF *fNum = new TArrayF(nr);
  TArrayF *fDen = new TArrayF(nr);

  if(jetCont) {
    jetCont->ResetCurrentID();
    while((jet1 = jetCont->GetNextAcceptJet())) {
      fh1PtTrue[fCentBin]->Fill(jet1->Pt());
      
      //Double_t dev = CalcDeltaGR(jet1,fContainerTrue,fNum,fDen);//num,den);
      for(Int_t i = 0; i<nr; i++) {
	Double_t r = i*fDRStep + 0.5*fDRStep;
	fh3DeltaGRNumRPtTrue[fCentBin]->Fill(fNum->At(i),r,jet1->Pt());
	fh3DeltaGRDenRPtTrue[fCentBin]->Fill(fDen->At(i),r,jet1->Pt());
	fh2DeltaGRNumRPtTrue[fCentBin]->Fill(r,jet1->Pt(),fNum->At(i));
	fh2DeltaGRDenRPtTrue[fCentBin]->Fill(r,jet1->Pt(),fDen->At(i));
      }
    }
  }
  if(fNum)  delete fNum;
  if(fDen)  delete fDen;
  return kTRUE;
}

//________________________________________________________________________
Double_t AliAnalysisTaskJetShapeGR::CalcDeltaGR(AliEmcalJet *jet, Int_t ic, TArrayF *fNum, TArrayF *fDen) { //Double_t *num, Double_t *den) {
  //Calculate G(R)

  //First clear the arrays
  const Int_t nr = TMath::CeilNint(fMaxR/fDRStep);
  for(Int_t i = 0; i<nr; i++) {
    fNum->SetAt(0.,i);
    fDen->SetAt(0.,i);
  }

  AliJetContainer *jetCont = GetJetContainer(ic); 
  AliVParticle *vp1 = 0x0;
  AliVParticle *vp2 = 0x0;
  Double_t A = 0.; Double_t B = 0.;
  if(jet->GetNumberOfTracks()<2) return 0.;
  for(Int_t i=0; i<jet->GetNumberOfTracks(); i++) {
    vp1 = static_cast<AliVParticle*>(jet->TrackAt(i, jetCont->GetParticleContainer()->GetArray()));
    if(!vp1) continue;
    for(Int_t j=i+1; j<jet->GetNumberOfTracks(); j++) {
      vp2 = static_cast<AliVParticle*>(jet->TrackAt(j, jetCont->GetParticleContainer()->GetArray()));
      if(!vp2) continue;
      Double_t dphi = GetDeltaPhi(vp1->Phi(),vp2->Phi());
      Double_t dr2 = (vp1->Eta()-vp2->Eta())*(vp1->Eta()-vp2->Eta()) + dphi*dphi;
      if(dr2>0.) {
	for(Int_t k = 0; k<nr; k++) {
	  Double_t r = k*fDRStep + 0.5*fDRStep;
	  //	Double_t x = jetCont->GetJetRadius()-TMath::Sqrt(dr2);
	  Double_t dr = TMath::Sqrt(dr2);
	  Double_t x = r-dr;
	  //noisy function
	  Double_t noise = TMath::Exp(-x*x/(2*fDRStep*fDRStep))/(TMath::Sqrt(2.*TMath::Pi())*fDRStep);
	  //error function
	  Double_t erf = 0.5*(1.+TMath::Erf(x/(TMath::Sqrt(2.)*fDRStep)));
	  
	  A = vp1->Pt()*vp2->Pt()*dr2*noise;
	  B = vp1->Pt()*vp2->Pt()*dr2*erf;
	  fNum->AddAt(fNum->At(k)+A,k);
	  fDen->AddAt(fDen->At(k)+B,k);
	}
      }
    }
  }

  Double_t deltaGR = 0.;
  if(B>0.) deltaGR = A/B; //useless
  return deltaGR;
}

//________________________________________________________________________
Double_t AliAnalysisTaskJetShapeGR::CalcGR(AliEmcalJet *jet, Int_t ic) {
  //Calculate G(R)
  AliJetContainer *jetCont = GetJetContainer(ic); 
  AliVParticle *vp1 = 0x0;
  AliVParticle *vp2 = 0x0;
  Double_t gR = 0.;
  Double_t wr = 0.04;
  const Int_t nr = TMath::CeilNint(jetCont->GetJetRadius()/wr);
  Double_t grArr[nr];
  for(Int_t i = 0; i<nr; i++)
    grArr[i] = 0.;

  for(Int_t i=0; i<jet->GetNumberOfTracks(); i++) {
    vp1 = static_cast<AliVParticle*>(jet->TrackAt(i, jetCont->GetParticleContainer()->GetArray()));
    for(Int_t j=i; j<jet->GetNumberOfTracks(); j++) {
      vp2 = static_cast<AliVParticle*>(jet->TrackAt(j, jetCont->GetParticleContainer()->GetArray()));
      Double_t dphi = GetDeltaPhi(vp1->Phi(),vp2->Phi());
      Double_t dr2 = (vp1->Eta()-vp2->Eta())*(vp1->Eta()-vp2->Eta()) + dphi*dphi;
      Int_t bin = TMath::FloorNint(TMath::Sqrt(dr2)/wr);
      Double_t gr = vp1->Pt()*vp2->Pt()*dr2;
      if(bin<nr) grArr[bin]+=gr;
      
      if(TMath::Sqrt(dr2)<jetCont->GetJetRadius())
	gR += gr;
    }
  }
  return gR;
}

//________________________________________________________________________
AliVParticle* AliAnalysisTaskJetShapeGR::GetEmbeddedConstituent(AliEmcalJet *jet) {

  AliJetContainer *jetCont = GetJetContainer(fContainerBase);
  AliVParticle *vp = 0x0;
  AliVParticle *vpe = 0x0; //embedded particle
  Int_t nc = 0;
  for(Int_t i=0; i<jet->GetNumberOfTracks(); i++) {
    vp = static_cast<AliVParticle*>(jet->TrackAt(i, jetCont->GetParticleContainer()->GetArray())); //check if fTracks is the correct track branch
    if (vp->TestBits(TObject::kBitMask) != (Int_t)(TObject::kBitMask) ) continue;
    if(!vpe) vpe = vp;
    else if(vp->Pt()>vpe->Pt()) vpe = vp;
    nc++;
  }
  AliDebug(11,Form("Found %d embedded particles",nc));
  return vpe;
}

//________________________________________________________________________
Double_t AliAnalysisTaskJetShapeGR::GetDeltaPhi(Double_t phi1,Double_t phi2) {
  //
  // Calculate azimuthal angle difference
  //

  Double_t dPhi = phi1-phi2;

  if(dPhi <-1.*TMath::Pi())  dPhi += TMath::TwoPi();
  if(dPhi > 1.*TMath::Pi())  dPhi -= TMath::TwoPi();

  return dPhi;
}


//________________________________________________________________________
Bool_t AliAnalysisTaskJetShapeGR::RetrieveEventObjects() {
  //
  // retrieve event objects
  //

  if (!AliAnalysisTaskEmcalJet::RetrieveEventObjects())
    return kFALSE;

  AliJetContainer *jetCont = GetJetContainer(fContainerBase);
  jetCont->LoadRhoMass(InputEvent());

  return kTRUE;
}

//_______________________________________________________________________
void AliAnalysisTaskJetShapeGR::Terminate(Option_t *) 
{
  // Called once at the end of the analysis.
}

 AliAnalysisTaskJetShapeGR.cxx:1
 AliAnalysisTaskJetShapeGR.cxx:2
 AliAnalysisTaskJetShapeGR.cxx:3
 AliAnalysisTaskJetShapeGR.cxx:4
 AliAnalysisTaskJetShapeGR.cxx:5
 AliAnalysisTaskJetShapeGR.cxx:6
 AliAnalysisTaskJetShapeGR.cxx:7
 AliAnalysisTaskJetShapeGR.cxx:8
 AliAnalysisTaskJetShapeGR.cxx:9
 AliAnalysisTaskJetShapeGR.cxx:10
 AliAnalysisTaskJetShapeGR.cxx:11
 AliAnalysisTaskJetShapeGR.cxx:12
 AliAnalysisTaskJetShapeGR.cxx:13
 AliAnalysisTaskJetShapeGR.cxx:14
 AliAnalysisTaskJetShapeGR.cxx:15
 AliAnalysisTaskJetShapeGR.cxx:16
 AliAnalysisTaskJetShapeGR.cxx:17
 AliAnalysisTaskJetShapeGR.cxx:18
 AliAnalysisTaskJetShapeGR.cxx:19
 AliAnalysisTaskJetShapeGR.cxx:20
 AliAnalysisTaskJetShapeGR.cxx:21
 AliAnalysisTaskJetShapeGR.cxx:22
 AliAnalysisTaskJetShapeGR.cxx:23
 AliAnalysisTaskJetShapeGR.cxx:24
 AliAnalysisTaskJetShapeGR.cxx:25
 AliAnalysisTaskJetShapeGR.cxx:26
 AliAnalysisTaskJetShapeGR.cxx:27
 AliAnalysisTaskJetShapeGR.cxx:28
 AliAnalysisTaskJetShapeGR.cxx:29
 AliAnalysisTaskJetShapeGR.cxx:30
 AliAnalysisTaskJetShapeGR.cxx:31
 AliAnalysisTaskJetShapeGR.cxx:32
 AliAnalysisTaskJetShapeGR.cxx:33
 AliAnalysisTaskJetShapeGR.cxx:34
 AliAnalysisTaskJetShapeGR.cxx:35
 AliAnalysisTaskJetShapeGR.cxx:36
 AliAnalysisTaskJetShapeGR.cxx:37
 AliAnalysisTaskJetShapeGR.cxx:38
 AliAnalysisTaskJetShapeGR.cxx:39
 AliAnalysisTaskJetShapeGR.cxx:40
 AliAnalysisTaskJetShapeGR.cxx:41
 AliAnalysisTaskJetShapeGR.cxx:42
 AliAnalysisTaskJetShapeGR.cxx:43
 AliAnalysisTaskJetShapeGR.cxx:44
 AliAnalysisTaskJetShapeGR.cxx:45
 AliAnalysisTaskJetShapeGR.cxx:46
 AliAnalysisTaskJetShapeGR.cxx:47
 AliAnalysisTaskJetShapeGR.cxx:48
 AliAnalysisTaskJetShapeGR.cxx:49
 AliAnalysisTaskJetShapeGR.cxx:50
 AliAnalysisTaskJetShapeGR.cxx:51
 AliAnalysisTaskJetShapeGR.cxx:52
 AliAnalysisTaskJetShapeGR.cxx:53
 AliAnalysisTaskJetShapeGR.cxx:54
 AliAnalysisTaskJetShapeGR.cxx:55
 AliAnalysisTaskJetShapeGR.cxx:56
 AliAnalysisTaskJetShapeGR.cxx:57
 AliAnalysisTaskJetShapeGR.cxx:58
 AliAnalysisTaskJetShapeGR.cxx:59
 AliAnalysisTaskJetShapeGR.cxx:60
 AliAnalysisTaskJetShapeGR.cxx:61
 AliAnalysisTaskJetShapeGR.cxx:62
 AliAnalysisTaskJetShapeGR.cxx:63
 AliAnalysisTaskJetShapeGR.cxx:64
 AliAnalysisTaskJetShapeGR.cxx:65
 AliAnalysisTaskJetShapeGR.cxx:66
 AliAnalysisTaskJetShapeGR.cxx:67
 AliAnalysisTaskJetShapeGR.cxx:68
 AliAnalysisTaskJetShapeGR.cxx:69
 AliAnalysisTaskJetShapeGR.cxx:70
 AliAnalysisTaskJetShapeGR.cxx:71
 AliAnalysisTaskJetShapeGR.cxx:72
 AliAnalysisTaskJetShapeGR.cxx:73
 AliAnalysisTaskJetShapeGR.cxx:74
 AliAnalysisTaskJetShapeGR.cxx:75
 AliAnalysisTaskJetShapeGR.cxx:76
 AliAnalysisTaskJetShapeGR.cxx:77
 AliAnalysisTaskJetShapeGR.cxx:78
 AliAnalysisTaskJetShapeGR.cxx:79
 AliAnalysisTaskJetShapeGR.cxx:80
 AliAnalysisTaskJetShapeGR.cxx:81
 AliAnalysisTaskJetShapeGR.cxx:82
 AliAnalysisTaskJetShapeGR.cxx:83
 AliAnalysisTaskJetShapeGR.cxx:84
 AliAnalysisTaskJetShapeGR.cxx:85
 AliAnalysisTaskJetShapeGR.cxx:86
 AliAnalysisTaskJetShapeGR.cxx:87
 AliAnalysisTaskJetShapeGR.cxx:88
 AliAnalysisTaskJetShapeGR.cxx:89
 AliAnalysisTaskJetShapeGR.cxx:90
 AliAnalysisTaskJetShapeGR.cxx:91
 AliAnalysisTaskJetShapeGR.cxx:92
 AliAnalysisTaskJetShapeGR.cxx:93
 AliAnalysisTaskJetShapeGR.cxx:94
 AliAnalysisTaskJetShapeGR.cxx:95
 AliAnalysisTaskJetShapeGR.cxx:96
 AliAnalysisTaskJetShapeGR.cxx:97
 AliAnalysisTaskJetShapeGR.cxx:98
 AliAnalysisTaskJetShapeGR.cxx:99
 AliAnalysisTaskJetShapeGR.cxx:100
 AliAnalysisTaskJetShapeGR.cxx:101
 AliAnalysisTaskJetShapeGR.cxx:102
 AliAnalysisTaskJetShapeGR.cxx:103
 AliAnalysisTaskJetShapeGR.cxx:104
 AliAnalysisTaskJetShapeGR.cxx:105
 AliAnalysisTaskJetShapeGR.cxx:106
 AliAnalysisTaskJetShapeGR.cxx:107
 AliAnalysisTaskJetShapeGR.cxx:108
 AliAnalysisTaskJetShapeGR.cxx:109
 AliAnalysisTaskJetShapeGR.cxx:110
 AliAnalysisTaskJetShapeGR.cxx:111
 AliAnalysisTaskJetShapeGR.cxx:112
 AliAnalysisTaskJetShapeGR.cxx:113
 AliAnalysisTaskJetShapeGR.cxx:114
 AliAnalysisTaskJetShapeGR.cxx:115
 AliAnalysisTaskJetShapeGR.cxx:116
 AliAnalysisTaskJetShapeGR.cxx:117
 AliAnalysisTaskJetShapeGR.cxx:118
 AliAnalysisTaskJetShapeGR.cxx:119
 AliAnalysisTaskJetShapeGR.cxx:120
 AliAnalysisTaskJetShapeGR.cxx:121
 AliAnalysisTaskJetShapeGR.cxx:122
 AliAnalysisTaskJetShapeGR.cxx:123
 AliAnalysisTaskJetShapeGR.cxx:124
 AliAnalysisTaskJetShapeGR.cxx:125
 AliAnalysisTaskJetShapeGR.cxx:126
 AliAnalysisTaskJetShapeGR.cxx:127
 AliAnalysisTaskJetShapeGR.cxx:128
 AliAnalysisTaskJetShapeGR.cxx:129
 AliAnalysisTaskJetShapeGR.cxx:130
 AliAnalysisTaskJetShapeGR.cxx:131
 AliAnalysisTaskJetShapeGR.cxx:132
 AliAnalysisTaskJetShapeGR.cxx:133
 AliAnalysisTaskJetShapeGR.cxx:134
 AliAnalysisTaskJetShapeGR.cxx:135
 AliAnalysisTaskJetShapeGR.cxx:136
 AliAnalysisTaskJetShapeGR.cxx:137
 AliAnalysisTaskJetShapeGR.cxx:138
 AliAnalysisTaskJetShapeGR.cxx:139
 AliAnalysisTaskJetShapeGR.cxx:140
 AliAnalysisTaskJetShapeGR.cxx:141
 AliAnalysisTaskJetShapeGR.cxx:142
 AliAnalysisTaskJetShapeGR.cxx:143
 AliAnalysisTaskJetShapeGR.cxx:144
 AliAnalysisTaskJetShapeGR.cxx:145
 AliAnalysisTaskJetShapeGR.cxx:146
 AliAnalysisTaskJetShapeGR.cxx:147
 AliAnalysisTaskJetShapeGR.cxx:148
 AliAnalysisTaskJetShapeGR.cxx:149
 AliAnalysisTaskJetShapeGR.cxx:150
 AliAnalysisTaskJetShapeGR.cxx:151
 AliAnalysisTaskJetShapeGR.cxx:152
 AliAnalysisTaskJetShapeGR.cxx:153
 AliAnalysisTaskJetShapeGR.cxx:154
 AliAnalysisTaskJetShapeGR.cxx:155
 AliAnalysisTaskJetShapeGR.cxx:156
 AliAnalysisTaskJetShapeGR.cxx:157
 AliAnalysisTaskJetShapeGR.cxx:158
 AliAnalysisTaskJetShapeGR.cxx:159
 AliAnalysisTaskJetShapeGR.cxx:160
 AliAnalysisTaskJetShapeGR.cxx:161
 AliAnalysisTaskJetShapeGR.cxx:162
 AliAnalysisTaskJetShapeGR.cxx:163
 AliAnalysisTaskJetShapeGR.cxx:164
 AliAnalysisTaskJetShapeGR.cxx:165
 AliAnalysisTaskJetShapeGR.cxx:166
 AliAnalysisTaskJetShapeGR.cxx:167
 AliAnalysisTaskJetShapeGR.cxx:168
 AliAnalysisTaskJetShapeGR.cxx:169
 AliAnalysisTaskJetShapeGR.cxx:170
 AliAnalysisTaskJetShapeGR.cxx:171
 AliAnalysisTaskJetShapeGR.cxx:172
 AliAnalysisTaskJetShapeGR.cxx:173
 AliAnalysisTaskJetShapeGR.cxx:174
 AliAnalysisTaskJetShapeGR.cxx:175
 AliAnalysisTaskJetShapeGR.cxx:176
 AliAnalysisTaskJetShapeGR.cxx:177
 AliAnalysisTaskJetShapeGR.cxx:178
 AliAnalysisTaskJetShapeGR.cxx:179
 AliAnalysisTaskJetShapeGR.cxx:180
 AliAnalysisTaskJetShapeGR.cxx:181
 AliAnalysisTaskJetShapeGR.cxx:182
 AliAnalysisTaskJetShapeGR.cxx:183
 AliAnalysisTaskJetShapeGR.cxx:184
 AliAnalysisTaskJetShapeGR.cxx:185
 AliAnalysisTaskJetShapeGR.cxx:186
 AliAnalysisTaskJetShapeGR.cxx:187
 AliAnalysisTaskJetShapeGR.cxx:188
 AliAnalysisTaskJetShapeGR.cxx:189
 AliAnalysisTaskJetShapeGR.cxx:190
 AliAnalysisTaskJetShapeGR.cxx:191
 AliAnalysisTaskJetShapeGR.cxx:192
 AliAnalysisTaskJetShapeGR.cxx:193
 AliAnalysisTaskJetShapeGR.cxx:194
 AliAnalysisTaskJetShapeGR.cxx:195
 AliAnalysisTaskJetShapeGR.cxx:196
 AliAnalysisTaskJetShapeGR.cxx:197
 AliAnalysisTaskJetShapeGR.cxx:198
 AliAnalysisTaskJetShapeGR.cxx:199
 AliAnalysisTaskJetShapeGR.cxx:200
 AliAnalysisTaskJetShapeGR.cxx:201
 AliAnalysisTaskJetShapeGR.cxx:202
 AliAnalysisTaskJetShapeGR.cxx:203
 AliAnalysisTaskJetShapeGR.cxx:204
 AliAnalysisTaskJetShapeGR.cxx:205
 AliAnalysisTaskJetShapeGR.cxx:206
 AliAnalysisTaskJetShapeGR.cxx:207
 AliAnalysisTaskJetShapeGR.cxx:208
 AliAnalysisTaskJetShapeGR.cxx:209
 AliAnalysisTaskJetShapeGR.cxx:210
 AliAnalysisTaskJetShapeGR.cxx:211
 AliAnalysisTaskJetShapeGR.cxx:212
 AliAnalysisTaskJetShapeGR.cxx:213
 AliAnalysisTaskJetShapeGR.cxx:214
 AliAnalysisTaskJetShapeGR.cxx:215
 AliAnalysisTaskJetShapeGR.cxx:216
 AliAnalysisTaskJetShapeGR.cxx:217
 AliAnalysisTaskJetShapeGR.cxx:218
 AliAnalysisTaskJetShapeGR.cxx:219
 AliAnalysisTaskJetShapeGR.cxx:220
 AliAnalysisTaskJetShapeGR.cxx:221
 AliAnalysisTaskJetShapeGR.cxx:222
 AliAnalysisTaskJetShapeGR.cxx:223
 AliAnalysisTaskJetShapeGR.cxx:224
 AliAnalysisTaskJetShapeGR.cxx:225
 AliAnalysisTaskJetShapeGR.cxx:226
 AliAnalysisTaskJetShapeGR.cxx:227
 AliAnalysisTaskJetShapeGR.cxx:228
 AliAnalysisTaskJetShapeGR.cxx:229
 AliAnalysisTaskJetShapeGR.cxx:230
 AliAnalysisTaskJetShapeGR.cxx:231
 AliAnalysisTaskJetShapeGR.cxx:232
 AliAnalysisTaskJetShapeGR.cxx:233
 AliAnalysisTaskJetShapeGR.cxx:234
 AliAnalysisTaskJetShapeGR.cxx:235
 AliAnalysisTaskJetShapeGR.cxx:236
 AliAnalysisTaskJetShapeGR.cxx:237
 AliAnalysisTaskJetShapeGR.cxx:238
 AliAnalysisTaskJetShapeGR.cxx:239
 AliAnalysisTaskJetShapeGR.cxx:240
 AliAnalysisTaskJetShapeGR.cxx:241
 AliAnalysisTaskJetShapeGR.cxx:242
 AliAnalysisTaskJetShapeGR.cxx:243
 AliAnalysisTaskJetShapeGR.cxx:244
 AliAnalysisTaskJetShapeGR.cxx:245
 AliAnalysisTaskJetShapeGR.cxx:246
 AliAnalysisTaskJetShapeGR.cxx:247
 AliAnalysisTaskJetShapeGR.cxx:248
 AliAnalysisTaskJetShapeGR.cxx:249
 AliAnalysisTaskJetShapeGR.cxx:250
 AliAnalysisTaskJetShapeGR.cxx:251
 AliAnalysisTaskJetShapeGR.cxx:252
 AliAnalysisTaskJetShapeGR.cxx:253
 AliAnalysisTaskJetShapeGR.cxx:254
 AliAnalysisTaskJetShapeGR.cxx:255
 AliAnalysisTaskJetShapeGR.cxx:256
 AliAnalysisTaskJetShapeGR.cxx:257
 AliAnalysisTaskJetShapeGR.cxx:258
 AliAnalysisTaskJetShapeGR.cxx:259
 AliAnalysisTaskJetShapeGR.cxx:260
 AliAnalysisTaskJetShapeGR.cxx:261
 AliAnalysisTaskJetShapeGR.cxx:262
 AliAnalysisTaskJetShapeGR.cxx:263
 AliAnalysisTaskJetShapeGR.cxx:264
 AliAnalysisTaskJetShapeGR.cxx:265
 AliAnalysisTaskJetShapeGR.cxx:266
 AliAnalysisTaskJetShapeGR.cxx:267
 AliAnalysisTaskJetShapeGR.cxx:268
 AliAnalysisTaskJetShapeGR.cxx:269
 AliAnalysisTaskJetShapeGR.cxx:270
 AliAnalysisTaskJetShapeGR.cxx:271
 AliAnalysisTaskJetShapeGR.cxx:272
 AliAnalysisTaskJetShapeGR.cxx:273
 AliAnalysisTaskJetShapeGR.cxx:274
 AliAnalysisTaskJetShapeGR.cxx:275
 AliAnalysisTaskJetShapeGR.cxx:276
 AliAnalysisTaskJetShapeGR.cxx:277
 AliAnalysisTaskJetShapeGR.cxx:278
 AliAnalysisTaskJetShapeGR.cxx:279
 AliAnalysisTaskJetShapeGR.cxx:280
 AliAnalysisTaskJetShapeGR.cxx:281
 AliAnalysisTaskJetShapeGR.cxx:282
 AliAnalysisTaskJetShapeGR.cxx:283
 AliAnalysisTaskJetShapeGR.cxx:284
 AliAnalysisTaskJetShapeGR.cxx:285
 AliAnalysisTaskJetShapeGR.cxx:286
 AliAnalysisTaskJetShapeGR.cxx:287
 AliAnalysisTaskJetShapeGR.cxx:288
 AliAnalysisTaskJetShapeGR.cxx:289
 AliAnalysisTaskJetShapeGR.cxx:290
 AliAnalysisTaskJetShapeGR.cxx:291
 AliAnalysisTaskJetShapeGR.cxx:292
 AliAnalysisTaskJetShapeGR.cxx:293
 AliAnalysisTaskJetShapeGR.cxx:294
 AliAnalysisTaskJetShapeGR.cxx:295
 AliAnalysisTaskJetShapeGR.cxx:296
 AliAnalysisTaskJetShapeGR.cxx:297
 AliAnalysisTaskJetShapeGR.cxx:298
 AliAnalysisTaskJetShapeGR.cxx:299
 AliAnalysisTaskJetShapeGR.cxx:300
 AliAnalysisTaskJetShapeGR.cxx:301
 AliAnalysisTaskJetShapeGR.cxx:302
 AliAnalysisTaskJetShapeGR.cxx:303
 AliAnalysisTaskJetShapeGR.cxx:304
 AliAnalysisTaskJetShapeGR.cxx:305
 AliAnalysisTaskJetShapeGR.cxx:306
 AliAnalysisTaskJetShapeGR.cxx:307
 AliAnalysisTaskJetShapeGR.cxx:308
 AliAnalysisTaskJetShapeGR.cxx:309
 AliAnalysisTaskJetShapeGR.cxx:310
 AliAnalysisTaskJetShapeGR.cxx:311
 AliAnalysisTaskJetShapeGR.cxx:312
 AliAnalysisTaskJetShapeGR.cxx:313
 AliAnalysisTaskJetShapeGR.cxx:314
 AliAnalysisTaskJetShapeGR.cxx:315
 AliAnalysisTaskJetShapeGR.cxx:316
 AliAnalysisTaskJetShapeGR.cxx:317
 AliAnalysisTaskJetShapeGR.cxx:318
 AliAnalysisTaskJetShapeGR.cxx:319
 AliAnalysisTaskJetShapeGR.cxx:320
 AliAnalysisTaskJetShapeGR.cxx:321
 AliAnalysisTaskJetShapeGR.cxx:322
 AliAnalysisTaskJetShapeGR.cxx:323
 AliAnalysisTaskJetShapeGR.cxx:324
 AliAnalysisTaskJetShapeGR.cxx:325
 AliAnalysisTaskJetShapeGR.cxx:326
 AliAnalysisTaskJetShapeGR.cxx:327
 AliAnalysisTaskJetShapeGR.cxx:328
 AliAnalysisTaskJetShapeGR.cxx:329
 AliAnalysisTaskJetShapeGR.cxx:330
 AliAnalysisTaskJetShapeGR.cxx:331
 AliAnalysisTaskJetShapeGR.cxx:332
 AliAnalysisTaskJetShapeGR.cxx:333
 AliAnalysisTaskJetShapeGR.cxx:334
 AliAnalysisTaskJetShapeGR.cxx:335
 AliAnalysisTaskJetShapeGR.cxx:336
 AliAnalysisTaskJetShapeGR.cxx:337
 AliAnalysisTaskJetShapeGR.cxx:338
 AliAnalysisTaskJetShapeGR.cxx:339
 AliAnalysisTaskJetShapeGR.cxx:340
 AliAnalysisTaskJetShapeGR.cxx:341
 AliAnalysisTaskJetShapeGR.cxx:342
 AliAnalysisTaskJetShapeGR.cxx:343
 AliAnalysisTaskJetShapeGR.cxx:344
 AliAnalysisTaskJetShapeGR.cxx:345
 AliAnalysisTaskJetShapeGR.cxx:346
 AliAnalysisTaskJetShapeGR.cxx:347
 AliAnalysisTaskJetShapeGR.cxx:348
 AliAnalysisTaskJetShapeGR.cxx:349
 AliAnalysisTaskJetShapeGR.cxx:350
 AliAnalysisTaskJetShapeGR.cxx:351
 AliAnalysisTaskJetShapeGR.cxx:352
 AliAnalysisTaskJetShapeGR.cxx:353
 AliAnalysisTaskJetShapeGR.cxx:354
 AliAnalysisTaskJetShapeGR.cxx:355
 AliAnalysisTaskJetShapeGR.cxx:356
 AliAnalysisTaskJetShapeGR.cxx:357
 AliAnalysisTaskJetShapeGR.cxx:358
 AliAnalysisTaskJetShapeGR.cxx:359
 AliAnalysisTaskJetShapeGR.cxx:360
 AliAnalysisTaskJetShapeGR.cxx:361
 AliAnalysisTaskJetShapeGR.cxx:362
 AliAnalysisTaskJetShapeGR.cxx:363
 AliAnalysisTaskJetShapeGR.cxx:364
 AliAnalysisTaskJetShapeGR.cxx:365
 AliAnalysisTaskJetShapeGR.cxx:366
 AliAnalysisTaskJetShapeGR.cxx:367
 AliAnalysisTaskJetShapeGR.cxx:368
 AliAnalysisTaskJetShapeGR.cxx:369
 AliAnalysisTaskJetShapeGR.cxx:370
 AliAnalysisTaskJetShapeGR.cxx:371
 AliAnalysisTaskJetShapeGR.cxx:372
 AliAnalysisTaskJetShapeGR.cxx:373
 AliAnalysisTaskJetShapeGR.cxx:374
 AliAnalysisTaskJetShapeGR.cxx:375
 AliAnalysisTaskJetShapeGR.cxx:376
 AliAnalysisTaskJetShapeGR.cxx:377
 AliAnalysisTaskJetShapeGR.cxx:378
 AliAnalysisTaskJetShapeGR.cxx:379
 AliAnalysisTaskJetShapeGR.cxx:380
 AliAnalysisTaskJetShapeGR.cxx:381
 AliAnalysisTaskJetShapeGR.cxx:382
 AliAnalysisTaskJetShapeGR.cxx:383
 AliAnalysisTaskJetShapeGR.cxx:384
 AliAnalysisTaskJetShapeGR.cxx:385
 AliAnalysisTaskJetShapeGR.cxx:386
 AliAnalysisTaskJetShapeGR.cxx:387
 AliAnalysisTaskJetShapeGR.cxx:388
 AliAnalysisTaskJetShapeGR.cxx:389
 AliAnalysisTaskJetShapeGR.cxx:390
 AliAnalysisTaskJetShapeGR.cxx:391
 AliAnalysisTaskJetShapeGR.cxx:392
 AliAnalysisTaskJetShapeGR.cxx:393
 AliAnalysisTaskJetShapeGR.cxx:394
 AliAnalysisTaskJetShapeGR.cxx:395
 AliAnalysisTaskJetShapeGR.cxx:396
 AliAnalysisTaskJetShapeGR.cxx:397
 AliAnalysisTaskJetShapeGR.cxx:398
 AliAnalysisTaskJetShapeGR.cxx:399
 AliAnalysisTaskJetShapeGR.cxx:400
 AliAnalysisTaskJetShapeGR.cxx:401
 AliAnalysisTaskJetShapeGR.cxx:402
 AliAnalysisTaskJetShapeGR.cxx:403
 AliAnalysisTaskJetShapeGR.cxx:404
 AliAnalysisTaskJetShapeGR.cxx:405
 AliAnalysisTaskJetShapeGR.cxx:406
 AliAnalysisTaskJetShapeGR.cxx:407
 AliAnalysisTaskJetShapeGR.cxx:408
 AliAnalysisTaskJetShapeGR.cxx:409
 AliAnalysisTaskJetShapeGR.cxx:410
 AliAnalysisTaskJetShapeGR.cxx:411
 AliAnalysisTaskJetShapeGR.cxx:412
 AliAnalysisTaskJetShapeGR.cxx:413
 AliAnalysisTaskJetShapeGR.cxx:414
 AliAnalysisTaskJetShapeGR.cxx:415
 AliAnalysisTaskJetShapeGR.cxx:416
 AliAnalysisTaskJetShapeGR.cxx:417
 AliAnalysisTaskJetShapeGR.cxx:418
 AliAnalysisTaskJetShapeGR.cxx:419
 AliAnalysisTaskJetShapeGR.cxx:420
 AliAnalysisTaskJetShapeGR.cxx:421
 AliAnalysisTaskJetShapeGR.cxx:422
 AliAnalysisTaskJetShapeGR.cxx:423
 AliAnalysisTaskJetShapeGR.cxx:424
 AliAnalysisTaskJetShapeGR.cxx:425
 AliAnalysisTaskJetShapeGR.cxx:426
 AliAnalysisTaskJetShapeGR.cxx:427
 AliAnalysisTaskJetShapeGR.cxx:428
 AliAnalysisTaskJetShapeGR.cxx:429
 AliAnalysisTaskJetShapeGR.cxx:430
 AliAnalysisTaskJetShapeGR.cxx:431
 AliAnalysisTaskJetShapeGR.cxx:432
 AliAnalysisTaskJetShapeGR.cxx:433
 AliAnalysisTaskJetShapeGR.cxx:434
 AliAnalysisTaskJetShapeGR.cxx:435
 AliAnalysisTaskJetShapeGR.cxx:436
 AliAnalysisTaskJetShapeGR.cxx:437
 AliAnalysisTaskJetShapeGR.cxx:438
 AliAnalysisTaskJetShapeGR.cxx:439
 AliAnalysisTaskJetShapeGR.cxx:440
 AliAnalysisTaskJetShapeGR.cxx:441
 AliAnalysisTaskJetShapeGR.cxx:442
 AliAnalysisTaskJetShapeGR.cxx:443
 AliAnalysisTaskJetShapeGR.cxx:444
 AliAnalysisTaskJetShapeGR.cxx:445
 AliAnalysisTaskJetShapeGR.cxx:446
 AliAnalysisTaskJetShapeGR.cxx:447
 AliAnalysisTaskJetShapeGR.cxx:448
 AliAnalysisTaskJetShapeGR.cxx:449
 AliAnalysisTaskJetShapeGR.cxx:450
 AliAnalysisTaskJetShapeGR.cxx:451
 AliAnalysisTaskJetShapeGR.cxx:452
 AliAnalysisTaskJetShapeGR.cxx:453
 AliAnalysisTaskJetShapeGR.cxx:454
 AliAnalysisTaskJetShapeGR.cxx:455
 AliAnalysisTaskJetShapeGR.cxx:456
 AliAnalysisTaskJetShapeGR.cxx:457
 AliAnalysisTaskJetShapeGR.cxx:458
 AliAnalysisTaskJetShapeGR.cxx:459
 AliAnalysisTaskJetShapeGR.cxx:460
 AliAnalysisTaskJetShapeGR.cxx:461
 AliAnalysisTaskJetShapeGR.cxx:462
 AliAnalysisTaskJetShapeGR.cxx:463
 AliAnalysisTaskJetShapeGR.cxx:464
 AliAnalysisTaskJetShapeGR.cxx:465
 AliAnalysisTaskJetShapeGR.cxx:466
 AliAnalysisTaskJetShapeGR.cxx:467
 AliAnalysisTaskJetShapeGR.cxx:468
 AliAnalysisTaskJetShapeGR.cxx:469
 AliAnalysisTaskJetShapeGR.cxx:470
 AliAnalysisTaskJetShapeGR.cxx:471
 AliAnalysisTaskJetShapeGR.cxx:472
 AliAnalysisTaskJetShapeGR.cxx:473
 AliAnalysisTaskJetShapeGR.cxx:474
 AliAnalysisTaskJetShapeGR.cxx:475
 AliAnalysisTaskJetShapeGR.cxx:476
 AliAnalysisTaskJetShapeGR.cxx:477
 AliAnalysisTaskJetShapeGR.cxx:478
 AliAnalysisTaskJetShapeGR.cxx:479
 AliAnalysisTaskJetShapeGR.cxx:480
 AliAnalysisTaskJetShapeGR.cxx:481
 AliAnalysisTaskJetShapeGR.cxx:482
 AliAnalysisTaskJetShapeGR.cxx:483
 AliAnalysisTaskJetShapeGR.cxx:484
 AliAnalysisTaskJetShapeGR.cxx:485
 AliAnalysisTaskJetShapeGR.cxx:486
 AliAnalysisTaskJetShapeGR.cxx:487
 AliAnalysisTaskJetShapeGR.cxx:488
 AliAnalysisTaskJetShapeGR.cxx:489
 AliAnalysisTaskJetShapeGR.cxx:490
 AliAnalysisTaskJetShapeGR.cxx:491
 AliAnalysisTaskJetShapeGR.cxx:492
 AliAnalysisTaskJetShapeGR.cxx:493
 AliAnalysisTaskJetShapeGR.cxx:494
 AliAnalysisTaskJetShapeGR.cxx:495
 AliAnalysisTaskJetShapeGR.cxx:496
 AliAnalysisTaskJetShapeGR.cxx:497
 AliAnalysisTaskJetShapeGR.cxx:498
 AliAnalysisTaskJetShapeGR.cxx:499
 AliAnalysisTaskJetShapeGR.cxx:500
 AliAnalysisTaskJetShapeGR.cxx:501
 AliAnalysisTaskJetShapeGR.cxx:502
 AliAnalysisTaskJetShapeGR.cxx:503
 AliAnalysisTaskJetShapeGR.cxx:504
 AliAnalysisTaskJetShapeGR.cxx:505
 AliAnalysisTaskJetShapeGR.cxx:506
 AliAnalysisTaskJetShapeGR.cxx:507
 AliAnalysisTaskJetShapeGR.cxx:508
 AliAnalysisTaskJetShapeGR.cxx:509
 AliAnalysisTaskJetShapeGR.cxx:510
 AliAnalysisTaskJetShapeGR.cxx:511
 AliAnalysisTaskJetShapeGR.cxx:512
 AliAnalysisTaskJetShapeGR.cxx:513
 AliAnalysisTaskJetShapeGR.cxx:514
 AliAnalysisTaskJetShapeGR.cxx:515
 AliAnalysisTaskJetShapeGR.cxx:516
 AliAnalysisTaskJetShapeGR.cxx:517
 AliAnalysisTaskJetShapeGR.cxx:518
 AliAnalysisTaskJetShapeGR.cxx:519
 AliAnalysisTaskJetShapeGR.cxx:520
 AliAnalysisTaskJetShapeGR.cxx:521
 AliAnalysisTaskJetShapeGR.cxx:522
 AliAnalysisTaskJetShapeGR.cxx:523
 AliAnalysisTaskJetShapeGR.cxx:524
 AliAnalysisTaskJetShapeGR.cxx:525
 AliAnalysisTaskJetShapeGR.cxx:526
 AliAnalysisTaskJetShapeGR.cxx:527
 AliAnalysisTaskJetShapeGR.cxx:528
 AliAnalysisTaskJetShapeGR.cxx:529
 AliAnalysisTaskJetShapeGR.cxx:530
 AliAnalysisTaskJetShapeGR.cxx:531
 AliAnalysisTaskJetShapeGR.cxx:532
 AliAnalysisTaskJetShapeGR.cxx:533
 AliAnalysisTaskJetShapeGR.cxx:534
 AliAnalysisTaskJetShapeGR.cxx:535
 AliAnalysisTaskJetShapeGR.cxx:536
 AliAnalysisTaskJetShapeGR.cxx:537
 AliAnalysisTaskJetShapeGR.cxx:538
 AliAnalysisTaskJetShapeGR.cxx:539
 AliAnalysisTaskJetShapeGR.cxx:540
 AliAnalysisTaskJetShapeGR.cxx:541
 AliAnalysisTaskJetShapeGR.cxx:542
 AliAnalysisTaskJetShapeGR.cxx:543
 AliAnalysisTaskJetShapeGR.cxx:544
 AliAnalysisTaskJetShapeGR.cxx:545
 AliAnalysisTaskJetShapeGR.cxx:546
 AliAnalysisTaskJetShapeGR.cxx:547
 AliAnalysisTaskJetShapeGR.cxx:548
 AliAnalysisTaskJetShapeGR.cxx:549
 AliAnalysisTaskJetShapeGR.cxx:550
 AliAnalysisTaskJetShapeGR.cxx:551
 AliAnalysisTaskJetShapeGR.cxx:552
 AliAnalysisTaskJetShapeGR.cxx:553
 AliAnalysisTaskJetShapeGR.cxx:554
 AliAnalysisTaskJetShapeGR.cxx:555
 AliAnalysisTaskJetShapeGR.cxx:556
 AliAnalysisTaskJetShapeGR.cxx:557
 AliAnalysisTaskJetShapeGR.cxx:558
 AliAnalysisTaskJetShapeGR.cxx:559
 AliAnalysisTaskJetShapeGR.cxx:560
 AliAnalysisTaskJetShapeGR.cxx:561
 AliAnalysisTaskJetShapeGR.cxx:562
 AliAnalysisTaskJetShapeGR.cxx:563
 AliAnalysisTaskJetShapeGR.cxx:564
 AliAnalysisTaskJetShapeGR.cxx:565
 AliAnalysisTaskJetShapeGR.cxx:566
 AliAnalysisTaskJetShapeGR.cxx:567
 AliAnalysisTaskJetShapeGR.cxx:568
 AliAnalysisTaskJetShapeGR.cxx:569
 AliAnalysisTaskJetShapeGR.cxx:570
 AliAnalysisTaskJetShapeGR.cxx:571
 AliAnalysisTaskJetShapeGR.cxx:572
 AliAnalysisTaskJetShapeGR.cxx:573
 AliAnalysisTaskJetShapeGR.cxx:574
 AliAnalysisTaskJetShapeGR.cxx:575
 AliAnalysisTaskJetShapeGR.cxx:576
 AliAnalysisTaskJetShapeGR.cxx:577
 AliAnalysisTaskJetShapeGR.cxx:578
 AliAnalysisTaskJetShapeGR.cxx:579
 AliAnalysisTaskJetShapeGR.cxx:580
 AliAnalysisTaskJetShapeGR.cxx:581
 AliAnalysisTaskJetShapeGR.cxx:582
 AliAnalysisTaskJetShapeGR.cxx:583
 AliAnalysisTaskJetShapeGR.cxx:584
 AliAnalysisTaskJetShapeGR.cxx:585
 AliAnalysisTaskJetShapeGR.cxx:586
 AliAnalysisTaskJetShapeGR.cxx:587
 AliAnalysisTaskJetShapeGR.cxx:588
 AliAnalysisTaskJetShapeGR.cxx:589
 AliAnalysisTaskJetShapeGR.cxx:590
 AliAnalysisTaskJetShapeGR.cxx:591
 AliAnalysisTaskJetShapeGR.cxx:592
 AliAnalysisTaskJetShapeGR.cxx:593
 AliAnalysisTaskJetShapeGR.cxx:594
 AliAnalysisTaskJetShapeGR.cxx:595
 AliAnalysisTaskJetShapeGR.cxx:596
 AliAnalysisTaskJetShapeGR.cxx:597
 AliAnalysisTaskJetShapeGR.cxx:598
 AliAnalysisTaskJetShapeGR.cxx:599
 AliAnalysisTaskJetShapeGR.cxx:600
 AliAnalysisTaskJetShapeGR.cxx:601
 AliAnalysisTaskJetShapeGR.cxx:602
 AliAnalysisTaskJetShapeGR.cxx:603
 AliAnalysisTaskJetShapeGR.cxx:604
 AliAnalysisTaskJetShapeGR.cxx:605
 AliAnalysisTaskJetShapeGR.cxx:606
 AliAnalysisTaskJetShapeGR.cxx:607
 AliAnalysisTaskJetShapeGR.cxx:608
 AliAnalysisTaskJetShapeGR.cxx:609
 AliAnalysisTaskJetShapeGR.cxx:610
 AliAnalysisTaskJetShapeGR.cxx:611
 AliAnalysisTaskJetShapeGR.cxx:612
 AliAnalysisTaskJetShapeGR.cxx:613
 AliAnalysisTaskJetShapeGR.cxx:614
 AliAnalysisTaskJetShapeGR.cxx:615
 AliAnalysisTaskJetShapeGR.cxx:616
 AliAnalysisTaskJetShapeGR.cxx:617
 AliAnalysisTaskJetShapeGR.cxx:618
 AliAnalysisTaskJetShapeGR.cxx:619
 AliAnalysisTaskJetShapeGR.cxx:620
 AliAnalysisTaskJetShapeGR.cxx:621
 AliAnalysisTaskJetShapeGR.cxx:622
 AliAnalysisTaskJetShapeGR.cxx:623
 AliAnalysisTaskJetShapeGR.cxx:624
 AliAnalysisTaskJetShapeGR.cxx:625
 AliAnalysisTaskJetShapeGR.cxx:626
 AliAnalysisTaskJetShapeGR.cxx:627
 AliAnalysisTaskJetShapeGR.cxx:628
 AliAnalysisTaskJetShapeGR.cxx:629
 AliAnalysisTaskJetShapeGR.cxx:630
 AliAnalysisTaskJetShapeGR.cxx:631
 AliAnalysisTaskJetShapeGR.cxx:632
 AliAnalysisTaskJetShapeGR.cxx:633
 AliAnalysisTaskJetShapeGR.cxx:634
 AliAnalysisTaskJetShapeGR.cxx:635
 AliAnalysisTaskJetShapeGR.cxx:636
 AliAnalysisTaskJetShapeGR.cxx:637
 AliAnalysisTaskJetShapeGR.cxx:638
 AliAnalysisTaskJetShapeGR.cxx:639
 AliAnalysisTaskJetShapeGR.cxx:640
 AliAnalysisTaskJetShapeGR.cxx:641
 AliAnalysisTaskJetShapeGR.cxx:642
 AliAnalysisTaskJetShapeGR.cxx:643
 AliAnalysisTaskJetShapeGR.cxx:644
 AliAnalysisTaskJetShapeGR.cxx:645
 AliAnalysisTaskJetShapeGR.cxx:646
 AliAnalysisTaskJetShapeGR.cxx:647
 AliAnalysisTaskJetShapeGR.cxx:648
 AliAnalysisTaskJetShapeGR.cxx:649
 AliAnalysisTaskJetShapeGR.cxx:650
 AliAnalysisTaskJetShapeGR.cxx:651
 AliAnalysisTaskJetShapeGR.cxx:652
 AliAnalysisTaskJetShapeGR.cxx:653
 AliAnalysisTaskJetShapeGR.cxx:654
 AliAnalysisTaskJetShapeGR.cxx:655
 AliAnalysisTaskJetShapeGR.cxx:656
 AliAnalysisTaskJetShapeGR.cxx:657
 AliAnalysisTaskJetShapeGR.cxx:658
 AliAnalysisTaskJetShapeGR.cxx:659
 AliAnalysisTaskJetShapeGR.cxx:660
 AliAnalysisTaskJetShapeGR.cxx:661
 AliAnalysisTaskJetShapeGR.cxx:662
 AliAnalysisTaskJetShapeGR.cxx:663
 AliAnalysisTaskJetShapeGR.cxx:664
 AliAnalysisTaskJetShapeGR.cxx:665
 AliAnalysisTaskJetShapeGR.cxx:666
 AliAnalysisTaskJetShapeGR.cxx:667
 AliAnalysisTaskJetShapeGR.cxx:668
 AliAnalysisTaskJetShapeGR.cxx:669
 AliAnalysisTaskJetShapeGR.cxx:670
 AliAnalysisTaskJetShapeGR.cxx:671
 AliAnalysisTaskJetShapeGR.cxx:672
 AliAnalysisTaskJetShapeGR.cxx:673
 AliAnalysisTaskJetShapeGR.cxx:674
 AliAnalysisTaskJetShapeGR.cxx:675
 AliAnalysisTaskJetShapeGR.cxx:676
 AliAnalysisTaskJetShapeGR.cxx:677
 AliAnalysisTaskJetShapeGR.cxx:678
 AliAnalysisTaskJetShapeGR.cxx:679
 AliAnalysisTaskJetShapeGR.cxx:680
 AliAnalysisTaskJetShapeGR.cxx:681
 AliAnalysisTaskJetShapeGR.cxx:682
 AliAnalysisTaskJetShapeGR.cxx:683
 AliAnalysisTaskJetShapeGR.cxx:684
 AliAnalysisTaskJetShapeGR.cxx:685
 AliAnalysisTaskJetShapeGR.cxx:686
 AliAnalysisTaskJetShapeGR.cxx:687
 AliAnalysisTaskJetShapeGR.cxx:688
 AliAnalysisTaskJetShapeGR.cxx:689
 AliAnalysisTaskJetShapeGR.cxx:690
 AliAnalysisTaskJetShapeGR.cxx:691
 AliAnalysisTaskJetShapeGR.cxx:692
 AliAnalysisTaskJetShapeGR.cxx:693
 AliAnalysisTaskJetShapeGR.cxx:694
 AliAnalysisTaskJetShapeGR.cxx:695
 AliAnalysisTaskJetShapeGR.cxx:696
 AliAnalysisTaskJetShapeGR.cxx:697
 AliAnalysisTaskJetShapeGR.cxx:698
 AliAnalysisTaskJetShapeGR.cxx:699
 AliAnalysisTaskJetShapeGR.cxx:700
 AliAnalysisTaskJetShapeGR.cxx:701
 AliAnalysisTaskJetShapeGR.cxx:702
 AliAnalysisTaskJetShapeGR.cxx:703
 AliAnalysisTaskJetShapeGR.cxx:704
 AliAnalysisTaskJetShapeGR.cxx:705
 AliAnalysisTaskJetShapeGR.cxx:706
 AliAnalysisTaskJetShapeGR.cxx:707
 AliAnalysisTaskJetShapeGR.cxx:708
 AliAnalysisTaskJetShapeGR.cxx:709
 AliAnalysisTaskJetShapeGR.cxx:710
 AliAnalysisTaskJetShapeGR.cxx:711
 AliAnalysisTaskJetShapeGR.cxx:712
 AliAnalysisTaskJetShapeGR.cxx:713
 AliAnalysisTaskJetShapeGR.cxx:714
 AliAnalysisTaskJetShapeGR.cxx:715
 AliAnalysisTaskJetShapeGR.cxx:716
 AliAnalysisTaskJetShapeGR.cxx:717
 AliAnalysisTaskJetShapeGR.cxx:718
 AliAnalysisTaskJetShapeGR.cxx:719
 AliAnalysisTaskJetShapeGR.cxx:720
 AliAnalysisTaskJetShapeGR.cxx:721
 AliAnalysisTaskJetShapeGR.cxx:722
 AliAnalysisTaskJetShapeGR.cxx:723
 AliAnalysisTaskJetShapeGR.cxx:724
 AliAnalysisTaskJetShapeGR.cxx:725
 AliAnalysisTaskJetShapeGR.cxx:726
 AliAnalysisTaskJetShapeGR.cxx:727
 AliAnalysisTaskJetShapeGR.cxx:728
 AliAnalysisTaskJetShapeGR.cxx:729
 AliAnalysisTaskJetShapeGR.cxx:730
 AliAnalysisTaskJetShapeGR.cxx:731
 AliAnalysisTaskJetShapeGR.cxx:732
 AliAnalysisTaskJetShapeGR.cxx:733
 AliAnalysisTaskJetShapeGR.cxx:734
 AliAnalysisTaskJetShapeGR.cxx:735
 AliAnalysisTaskJetShapeGR.cxx:736
 AliAnalysisTaskJetShapeGR.cxx:737
 AliAnalysisTaskJetShapeGR.cxx:738
 AliAnalysisTaskJetShapeGR.cxx:739
 AliAnalysisTaskJetShapeGR.cxx:740