ROOT logo
//
// Jet mass response analysis task.
//
// 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 "AliGenPythiaEventHeader.h"
#include "AliAODMCHeader.h"
#include "AliMCEvent.h"
#include "AliAnalysisManager.h"
#include "AliJetContainer.h"
#include "AliParticleContainer.h"

#include "AliAODEvent.h"

#include "AliAnalysisTaskEmcalJetMassResponse.h"

ClassImp(AliAnalysisTaskEmcalJetMassResponse)

//________________________________________________________________________
AliAnalysisTaskEmcalJetMassResponse::AliAnalysisTaskEmcalJetMassResponse() : 
  AliAnalysisTaskEmcalJet("AliAnalysisTaskEmcalJetMassResponse", kTRUE),
  fContainerBase(0),
  fMinFractionShared(0),
  f1JetMassAvg(0),
  fSingleTrackEmb(kFALSE),
  fSubtractMassless(kFALSE),
  fCreateTree(kFALSE),
  fh2PtJet1DeltaMNoSub(0),
  fh2PtJet2DeltaMNoSub(0),
  fh3PtJet1DeltaPtDeltaMCheat(0),
  fh3PtJet2DeltaPtDeltaMCheat(0),
  fh3PtJet1DeltaPtDeltaM(0),
  fh3PtJet2DeltaPtDeltaM(0),
  fh2PtJet1DeltaE(0),
  fh2PtJet2DeltaE(0),
  fh2PtJet1DeltaP(0),
  fh2PtJet2DeltaP(0),
  fh2PtJet2DeltaM(0),
  fh3PtJet1MJet1MJet2(0),
  fh3PtJet2MJet1MJet2(0),
  fh3PtJet1DeltaPtDeltaMRho(0),
  fh2PtJet1DeltaERho(0),
  fh3PtJet2DeltaPtDeltaMRho(0),
  fh2PtJet2DeltaPxRho(0),
  fh2PtJet2DeltaPyRho(0),
  fh2PtJet2DeltaPzRho(0),
  fh2PtJet2DeltaERho(0),
  fh2PtJet2DeltaMRho(0),
  fh2PtJet2DeltaPtRho(0),
  fh3PtJet2DeltaEDeltaMRho(0),
  fh3PtJet2DeltaPDeltaMRho(0),
  fh2PtJet1DeltaPtVecSub(0),
  fTreeJetBkg(),
  fJet1Vec(new TLorentzVector()),
  fJet2Vec(new TLorentzVector()),
  fBkgVec(new TLorentzVector()),
  fArea(0),
  fAreaPhi(0),
  fAreaEta(0),
  fRho(0),
  fRhoM(0),
  fNConst(0),
  fJetMassMassless(0)
{
  // Default constructor.

  fh2PtJet1DeltaMNoSub         = new TH2F*[fNcentBins];
  fh2PtJet2DeltaMNoSub         = new TH2F*[fNcentBins];
  fh3PtJet1DeltaPtDeltaMCheat  = new TH3F*[fNcentBins];
  fh3PtJet2DeltaPtDeltaMCheat  = new TH3F*[fNcentBins];
  fh3PtJet1DeltaPtDeltaM       = new TH3F*[fNcentBins];
  fh3PtJet2DeltaPtDeltaM       = new TH3F*[fNcentBins];
  fh2PtJet1DeltaE              = new TH2F*[fNcentBins];
  fh2PtJet2DeltaE              = new TH2F*[fNcentBins];
  fh2PtJet1DeltaP              = new TH2F*[fNcentBins];
  fh2PtJet2DeltaP              = new TH2F*[fNcentBins];
  fh2PtJet2DeltaM              = new TH2F*[fNcentBins];
  fh3PtJet1MJet1MJet2          = new TH3F*[fNcentBins];
  fh3PtJet2MJet1MJet2          = new TH3F*[fNcentBins];
  fh3PtJet1DeltaPtDeltaMRho    = new TH3F*[fNcentBins];
  fh2PtJet1DeltaERho           = new TH2F*[fNcentBins];
  fh3PtJet2DeltaPtDeltaMRho    = new TH3F*[fNcentBins];
  fh2PtJet2DeltaPxRho          = new TH2F*[fNcentBins];
  fh2PtJet2DeltaPyRho          = new TH2F*[fNcentBins];
  fh2PtJet2DeltaPzRho          = new TH2F*[fNcentBins];
  fh2PtJet2DeltaERho           = new TH2F*[fNcentBins];
  fh2PtJet2DeltaMRho           = new TH2F*[fNcentBins];
  fh2PtJet2DeltaPtRho          = new TH2F*[fNcentBins];
  fh3PtJet2DeltaEDeltaMRho     = new TH3F*[fNcentBins];
  fh3PtJet2DeltaPDeltaMRho     = new TH3F*[fNcentBins];
  fh2PtJet1DeltaPtVecSub       = new TH2F*[fNcentBins];
 
  for (Int_t i = 0; i < fNcentBins; i++) {
    fh2PtJet1DeltaMNoSub[i]        = 0;
    fh2PtJet2DeltaMNoSub[i]        = 0;
    fh3PtJet1DeltaPtDeltaMCheat[i] = 0;
    fh3PtJet2DeltaPtDeltaMCheat[i] = 0;
    fh3PtJet1DeltaPtDeltaM[i]      = 0; 
    fh3PtJet2DeltaPtDeltaM[i]      = 0;
    fh2PtJet1DeltaE[i]             = 0;
    fh2PtJet2DeltaE[i]             = 0;
    fh2PtJet1DeltaP[i]             = 0;
    fh2PtJet2DeltaP[i]             = 0;
    fh2PtJet2DeltaM[i]             = 0;
    fh3PtJet1MJet1MJet2[i]         = 0;
    fh3PtJet2MJet1MJet2[i]         = 0;
    fh3PtJet1DeltaPtDeltaMRho[i]   = 0; 
    fh2PtJet1DeltaERho[i]          = 0;
    fh3PtJet2DeltaPtDeltaMRho[i]   = 0;
    fh2PtJet2DeltaPxRho[i]         = 0;
    fh2PtJet2DeltaPyRho[i]         = 0;
    fh2PtJet2DeltaPzRho[i]         = 0;
    fh2PtJet2DeltaERho[i]          = 0;
    fh2PtJet2DeltaMRho[i]          = 0;
    fh2PtJet2DeltaPtRho[i]         = 0;
    fh3PtJet2DeltaEDeltaMRho[i]    = 0;
    fh3PtJet2DeltaPDeltaMRho[i]    = 0;
    fh2PtJet1DeltaPtVecSub[i]      = 0;
  }
  SetMakeGeneralHistograms(kTRUE);
  DefineOutput(2, TTree::Class());
}

//________________________________________________________________________
AliAnalysisTaskEmcalJetMassResponse::AliAnalysisTaskEmcalJetMassResponse(const char *name) : 
  AliAnalysisTaskEmcalJet(name, kTRUE),  
  fContainerBase(0),
  fMinFractionShared(0),
  f1JetMassAvg(0),
  fSingleTrackEmb(kFALSE),
  fSubtractMassless(kFALSE),
  fCreateTree(kFALSE),
  fh2PtJet1DeltaMNoSub(0),
  fh2PtJet2DeltaMNoSub(0),
  fh3PtJet1DeltaPtDeltaMCheat(0),
  fh3PtJet2DeltaPtDeltaMCheat(0),
  fh3PtJet1DeltaPtDeltaM(0),
  fh3PtJet2DeltaPtDeltaM(0),
  fh2PtJet1DeltaE(0),
  fh2PtJet2DeltaE(0),
  fh2PtJet1DeltaP(0),
  fh2PtJet2DeltaP(0),
  fh2PtJet2DeltaM(0),
  fh3PtJet1MJet1MJet2(0),
  fh3PtJet2MJet1MJet2(0),
  fh3PtJet1DeltaPtDeltaMRho(0),
  fh2PtJet1DeltaERho(0),
  fh3PtJet2DeltaPtDeltaMRho(0),
  fh2PtJet2DeltaPxRho(0),
  fh2PtJet2DeltaPyRho(0),
  fh2PtJet2DeltaPzRho(0),
  fh2PtJet2DeltaERho(0),
  fh2PtJet2DeltaMRho(0),
  fh2PtJet2DeltaPtRho(0),
  fh3PtJet2DeltaEDeltaMRho(0),
  fh3PtJet2DeltaPDeltaMRho(0),
  fh2PtJet1DeltaPtVecSub(0),
  fTreeJetBkg(0),
  fJet1Vec(new TLorentzVector()),
  fJet2Vec(new TLorentzVector()),
  fBkgVec(new TLorentzVector()),
  fArea(0),
  fAreaPhi(0),
  fAreaEta(0),
  fRho(0),
  fRhoM(0),
  fNConst(0),
  fJetMassMassless(0)
{
  // Standard constructor.

  fh2PtJet1DeltaMNoSub         = new TH2F*[fNcentBins];
  fh2PtJet2DeltaMNoSub         = new TH2F*[fNcentBins];
  fh3PtJet1DeltaPtDeltaMCheat  = new TH3F*[fNcentBins];
  fh3PtJet2DeltaPtDeltaMCheat  = new TH3F*[fNcentBins];
  fh3PtJet1DeltaPtDeltaM       = new TH3F*[fNcentBins];
  fh3PtJet2DeltaPtDeltaM       = new TH3F*[fNcentBins];
  fh2PtJet1DeltaE              = new TH2F*[fNcentBins];
  fh2PtJet2DeltaE              = new TH2F*[fNcentBins];
  fh2PtJet1DeltaP              = new TH2F*[fNcentBins];
  fh2PtJet2DeltaP              = new TH2F*[fNcentBins];
  fh2PtJet2DeltaM              = new TH2F*[fNcentBins];
  fh3PtJet1MJet1MJet2          = new TH3F*[fNcentBins];
  fh3PtJet2MJet1MJet2          = new TH3F*[fNcentBins];
  fh3PtJet1DeltaPtDeltaMRho    = new TH3F*[fNcentBins];
  fh2PtJet1DeltaERho           = new TH2F*[fNcentBins];
  fh3PtJet2DeltaPtDeltaMRho    = new TH3F*[fNcentBins];
  fh2PtJet2DeltaPxRho          = new TH2F*[fNcentBins];
  fh2PtJet2DeltaPyRho          = new TH2F*[fNcentBins];
  fh2PtJet2DeltaPzRho          = new TH2F*[fNcentBins];
  fh2PtJet2DeltaERho           = new TH2F*[fNcentBins];
  fh2PtJet2DeltaMRho           = new TH2F*[fNcentBins];
  fh2PtJet2DeltaPtRho          = new TH2F*[fNcentBins];
  fh3PtJet2DeltaEDeltaMRho     = new TH3F*[fNcentBins];
  fh3PtJet2DeltaPDeltaMRho     = new TH3F*[fNcentBins];
  fh2PtJet1DeltaPtVecSub       = new TH2F*[fNcentBins];
 
  for (Int_t i = 0; i < fNcentBins; i++) {
    fh2PtJet1DeltaMNoSub[i]        = 0;
    fh2PtJet2DeltaMNoSub[i]        = 0;
    fh3PtJet1DeltaPtDeltaMCheat[i] = 0;
    fh3PtJet2DeltaPtDeltaMCheat[i] = 0;
    fh3PtJet1DeltaPtDeltaM[i]      = 0; 
    fh3PtJet2DeltaPtDeltaM[i]      = 0;
    fh2PtJet1DeltaE[i]             = 0;
    fh2PtJet2DeltaE[i]             = 0;
    fh2PtJet1DeltaP[i]             = 0;
    fh2PtJet2DeltaP[i]             = 0;
    fh2PtJet2DeltaM[i]             = 0;
    fh3PtJet1MJet1MJet2[i]         = 0;
    fh3PtJet2MJet1MJet2[i]         = 0;
    fh3PtJet1DeltaPtDeltaMRho[i]   = 0; 
    fh2PtJet1DeltaERho[i]          = 0;
    fh3PtJet2DeltaPtDeltaMRho[i]   = 0;
    fh2PtJet2DeltaPxRho[i]         = 0;
    fh2PtJet2DeltaPyRho[i]         = 0;
    fh2PtJet2DeltaPzRho[i]         = 0;
    fh2PtJet2DeltaERho[i]          = 0;
    fh2PtJet2DeltaMRho[i]          = 0;
    fh2PtJet2DeltaPtRho[i]         = 0;
    fh3PtJet2DeltaEDeltaMRho[i]    = 0;
    fh3PtJet2DeltaPDeltaMRho[i]    = 0;
    fh2PtJet1DeltaPtVecSub[i]      = 0;
  }

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

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

//________________________________________________________________________
void AliAnalysisTaskEmcalJetMassResponse::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.;

  TString histName = "";
  TString histTitle = "";
  for (Int_t i = 0; i < fNcentBins; i++) {
    histName = TString::Format("fh2PtJet1DeltaMNoSub_%d",i);
    histTitle = TString::Format("%s;#it{p}_{T,jet1};#delta#it{M}_{jet}",histName.Data());
    fh2PtJet1DeltaMNoSub[i] = new TH2F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,nBinsM,minM,maxM);
    fOutput->Add(fh2PtJet1DeltaMNoSub[i]);

    histName = TString::Format("fh2PtJet2DeltaMNoSub_%d",i);
    histTitle = TString::Format("%s;#it{p}_{T,jet1};#delta#it{M}_{jet}",histName.Data());
    fh2PtJet2DeltaMNoSub[i] = new TH2F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,nBinsM,minM,maxM);
    fOutput->Add(fh2PtJet2DeltaMNoSub[i]);

    histName = TString::Format("fh3PtJet1DeltaPtDeltaMCheat_%d",i);
    histTitle = TString::Format("%s;#it{p}_{T,jet1};#delta#it{p}_{T};#delta#it{M}_{jet}",histName.Data());
    fh3PtJet1DeltaPtDeltaMCheat[i] = new TH3F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,nBinsPt,minPt,maxPt,nBinsM,minM,maxM);
    fOutput->Add(fh3PtJet1DeltaPtDeltaMCheat[i]);

    histName = TString::Format("fh3PtJet2DeltaPtDeltaMCheat_%d",i);
    histTitle = TString::Format("%s;#it{p}_{T,jet1};#delta#it{p}_{T};#delta#it{M}_{jet}",histName.Data());
    fh3PtJet2DeltaPtDeltaMCheat[i] = new TH3F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,nBinsPt,minPt,maxPt,nBinsM,minM,maxM);
    fOutput->Add(fh3PtJet2DeltaPtDeltaMCheat[i]);

    histName = TString::Format("fh3PtJet1DeltaPtDeltaM_%d",i);
    histTitle = TString::Format("%s;#it{p}_{T,jet1};#delta#it{p}_{T};#delta#it{M}_{jet}",histName.Data());
    fh3PtJet1DeltaPtDeltaM[i] = new TH3F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,nBinsPt,minPt,maxPt,nBinsM,minM,maxM);
    fOutput->Add(fh3PtJet1DeltaPtDeltaM[i]);

    histName = TString::Format("fh3PtJet2DeltaPtDeltaM_%d",i);
    histTitle = TString::Format("%s;#it{p}_{T,jet2};#delta#it{p}_{T};#delta#it{M}_{jet}",histName.Data());
    fh3PtJet2DeltaPtDeltaM[i] = new TH3F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,nBinsPt,minPt,maxPt,nBinsM,minM,maxM);
    fOutput->Add(fh3PtJet2DeltaPtDeltaM[i]);

    histName = TString::Format("fh2PtJet1DeltaE_%d",i);
    histTitle = TString::Format("%s;#it{p}_{T,jet1};#delta#it{E}",histName.Data());
    fh2PtJet1DeltaE[i] = new TH2F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,nBinsPt,minPt,maxPt);
    fOutput->Add(fh2PtJet1DeltaE[i]);
    
    histName = TString::Format("fh2PtJet2DeltaE_%d",i);
    histTitle = TString::Format("%s;#it{p}_{T,jet1};#delta#it{E}",histName.Data());
    fh2PtJet2DeltaE[i] = new TH2F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,nBinsPt,minPt,maxPt);
    fOutput->Add(fh2PtJet2DeltaE[i]);

    histName = TString::Format("fh2PtJet1DeltaP_%d",i);
    histTitle = TString::Format("%s;#it{p}_{T,jet1};#delta#it{p}",histName.Data());
    fh2PtJet1DeltaP[i] = new TH2F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,nBinsPt,minPt,maxPt);
    fOutput->Add(fh2PtJet1DeltaP[i]);
    
    histName = TString::Format("fh2PtJet2DeltaP_%d",i);
    histTitle = TString::Format("%s;#it{p}_{T,jet1};#delta#it{p}",histName.Data());
    fh2PtJet2DeltaP[i] = new TH2F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,nBinsPt,minPt,maxPt);
    fOutput->Add(fh2PtJet2DeltaP[i]);

    histName = TString::Format("fh2PtJet2DeltaM_%d",i);
    histTitle = TString::Format("%s;#it{p}_{T,jet1};#delta#it{M}",histName.Data());
    fh2PtJet2DeltaM[i] = new TH2F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,nBinsPt,minPt,maxPt);
    fOutput->Add(fh2PtJet2DeltaM[i]);

    histName = TString::Format("fh3PtJet1MJet1MJet2_%d",i);
    histTitle = TString::Format("%s;#it{p}_{T,jet1};#it{M}_{jet1};#it{M}_{jet2}",histName.Data());
    fh3PtJet1MJet1MJet2[i] = new TH3F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,nBinsM,minM,maxM,nBinsM,minM,maxM);
    fOutput->Add(fh3PtJet1MJet1MJet2[i]);

    histName = TString::Format("fh3PtJet2MJet1MJet2_%d",i);
    histTitle = TString::Format("%s;#it{p}_{T,jet2};#it{M}_{jet1};#it{M}_{jet2}",histName.Data());
    fh3PtJet2MJet1MJet2[i] = new TH3F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,nBinsM,minM,maxM,nBinsM,minM,maxM);
    fOutput->Add(fh3PtJet2MJet1MJet2[i]);

    histName = TString::Format("fh3PtJet1DeltaPtDeltaMRho_%d",i);
    histTitle = TString::Format("%s;#it{p}_{T,jet1};#delta#it{p}_{T};#delta#it{M}_{jet}",histName.Data());
    fh3PtJet1DeltaPtDeltaMRho[i] = new TH3F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,nBinsPt,minPt,maxPt,nBinsM,minM,maxM);
    fOutput->Add(fh3PtJet1DeltaPtDeltaMRho[i]);

    histName = TString::Format("fh2PtJet1DeltaERho_%d",i);
    histTitle = TString::Format("%s;#it{p}_{T,jet1};#delta#it{E}",histName.Data());
    fh2PtJet1DeltaERho[i] = new TH2F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,nBinsPt,minPt,maxPt);
    fOutput->Add(fh2PtJet1DeltaERho[i]);

    histName = TString::Format("fh3PtJet2DeltaPtDeltaMRho_%d",i);
    histTitle = TString::Format("%s;#it{p}_{T,jet2};#delta#it{p}_{T};#delta#it{M}_{jet}",histName.Data());
    fh3PtJet2DeltaPtDeltaMRho[i] = new TH3F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,nBinsPt,minPt,maxPt,nBinsM,minM,maxM);
    fOutput->Add(fh3PtJet2DeltaPtDeltaMRho[i]);

    histName = TString::Format("fh2PtJet2DeltaPxRho_%d",i);
    histTitle = TString::Format("%s;#it{p}_{T,jet1};#delta#it{p}_{x}",histName.Data());
    fh2PtJet2DeltaPxRho[i] = new TH2F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,nBinsPt,minPt,maxPt);
    fOutput->Add(fh2PtJet2DeltaPxRho[i]);

    histName = TString::Format("fh2PtJet2DeltaPyRho_%d",i);
    histTitle = TString::Format("%s;#it{p}_{T,jet1};#delta#it{p}_{y}",histName.Data());
    fh2PtJet2DeltaPyRho[i] = new TH2F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,nBinsPt,minPt,maxPt);
    fOutput->Add(fh2PtJet2DeltaPyRho[i]);

    histName = TString::Format("fh2PtJet2DeltaPzRho_%d",i);
    histTitle = TString::Format("%s;#it{p}_{T,jet1};#delta#it{p}_{z}",histName.Data());
    fh2PtJet2DeltaPzRho[i] = new TH2F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,nBinsPt,minPt,maxPt);
    fOutput->Add(fh2PtJet2DeltaPzRho[i]);

    histName = TString::Format("fh2PtJet2DeltaERho_%d",i);
    histTitle = TString::Format("%s;#it{p}_{T,jet1};#delta#it{E}",histName.Data());
    fh2PtJet2DeltaERho[i] = new TH2F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,nBinsPt,minPt,maxPt);
    fOutput->Add(fh2PtJet2DeltaERho[i]);

    histName = TString::Format("fh2PtJet2DeltaMRho_%d",i);
    histTitle = TString::Format("%s;#it{p}_{T,jet1};#delta#it{M}",histName.Data());
    fh2PtJet2DeltaMRho[i] = new TH2F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,nBinsPt,minPt,maxPt);
    fOutput->Add(fh2PtJet2DeltaMRho[i]);

    histName = TString::Format("fh2PtJet2DeltaPtRho_%d",i);
    histTitle = TString::Format("%s;#it{p}_{T,jet1};#delta#it{p}_{T}",histName.Data());
    fh2PtJet2DeltaPtRho[i] = new TH2F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,nBinsPt,minPt,maxPt);
    fOutput->Add(fh2PtJet2DeltaPtRho[i]);

    histName = TString::Format("fh3PtJet2DeltaEDeltaMRho_%d",i);
    histTitle = TString::Format("%s;#it{p}_{T,jet2};#delta#it{E};#delta#it{M}_{jet}",histName.Data());
    fh3PtJet2DeltaEDeltaMRho[i] = new TH3F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,nBinsPt,minPt,maxPt,nBinsM,minM,maxM);
    fOutput->Add(fh3PtJet2DeltaEDeltaMRho[i]);

    histName = TString::Format("fh3PtJet2DeltaPDeltaMRho_%d",i);
    histTitle = TString::Format("%s;#it{p}_{T,jet2};#delta#it{p};#delta#it{M}_{jet}",histName.Data());
    fh3PtJet2DeltaPDeltaMRho[i] = new TH3F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,nBinsPt,minPt,maxPt,nBinsM,minM,maxM);
    fOutput->Add(fh3PtJet2DeltaPDeltaMRho[i]);

    histName = TString::Format("fh2PtJet1DeltaPtVecSub_%d",i);
    histTitle = TString::Format("%s;#it{p}_{T,jet1};#delta#it{p}_{T}",histName.Data());
    fh2PtJet1DeltaPtVecSub[i] = new TH2F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,nBinsPt,minPt,maxPt);
    fOutput->Add(fh2PtJet1DeltaPtVecSub[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("fTreeJetBkg", "fTreeJetBkg");
    fTreeJetBkg->Branch("fJet1Vec","TLorentzVector",&fJet1Vec);
    fTreeJetBkg->Branch("fJet2Vec","TLorentzVector",&fJet2Vec);
    fTreeJetBkg->Branch("fBkgVec","TLorentzVector",&fBkgVec);
    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("fNConst",&fNConst,"fNConst/I");
    fTreeJetBkg->Branch("fJetMassMassless",&fJetMassMassless,"fJetMassMassless/F");
  }
  
  PostData(1, fOutput); // Post data for ALL output slots > 0 here.
  if(fCreateTree) PostData(2, fTreeJetBkg);
}

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

  return kTRUE;
}

//________________________________________________________________________
Bool_t AliAnalysisTaskEmcalJetMassResponse::FillHistograms()
{
  // Fill histograms.

  AliEmcalJet* jet1 = NULL;
  AliJetContainer *jetCont = GetJetContainer(fContainerBase);
  if(jetCont) {
    jetCont->ResetCurrentID();
    while((jet1 = jetCont->GetNextAcceptJet())) {
      if(fSingleTrackEmb) {
	AliVParticle *vp = GetEmbeddedConstituent(jet1);
	if(!vp) continue;
	fJet2Vec->SetPxPyPzE(vp->Px(),vp->Py(),vp->Pz(),vp->E());
      } else {
	AliEmcalJet *jet2 = jet1->ClosestJet();
	if(!jet2) continue;

	Double_t fraction = jetCont->GetFractionSharedPt(jet1);
	if(fMinFractionShared>0. && fraction<fMinFractionShared) continue;
	fJet2Vec->SetPxPyPzE(jet2->Px(),jet2->Py(),jet2->Pz(),jet2->E());
      }

      Double_t ptJet1 = jet1->Pt() - GetRhoVal(fContainerBase)*jet1->Area();
      Double_t massJet1 = GetJetMass(jet1);//jet1->M();

      Double_t deltaPt = ptJet1 - fJet2Vec->Pt();
      Double_t deltaM  = massJet1 - fJet2Vec->M();
      TLorentzVector vpS = GetSubtractedVector(jet1);
      Double_t deltaE  = vpS.E() - fJet2Vec->E();
      Double_t deltaP  = vpS.P() - fJet2Vec->P();

      fh2PtJet1DeltaMNoSub[fCentBin]->Fill(ptJet1,jet1->M()-fJet2Vec->M());
      fh2PtJet2DeltaMNoSub[fCentBin]->Fill(fJet2Vec->Pt(),jet1->M()-fJet2Vec->M());

      fh3PtJet1DeltaPtDeltaM[fCentBin]->Fill(ptJet1,deltaPt,deltaM);
      fh3PtJet2DeltaPtDeltaM[fCentBin]->Fill(fJet2Vec->Pt(),deltaPt,deltaM);

      fh2PtJet1DeltaE[fCentBin]->Fill(ptJet1,deltaE);
      //  fh2PtJet2DeltaE[fCentBin]->Fill(ptJet2,deltaE);

      fh2PtJet1DeltaP[fCentBin]->Fill(ptJet1,deltaP);
      //      fh2PtJet2DeltaP[fCentBin]->Fill(ptJet2,deltaP);

      fh3PtJet1MJet1MJet2[fCentBin]->Fill(ptJet1,massJet1,fJet2Vec->M());
      fh3PtJet2MJet1MJet2[fCentBin]->Fill(fJet2Vec->Pt(),massJet1,fJet2Vec->M());

      TLorentzVector vpBkgCheat = GetBkgVectorCheat(jet1);
      //      TLorentzVector vpBkgCheat; vpBkgCheat.SetPtEtaPhiM(vpBkgCheatB.Perp(),jet1->Eta(),jet1->Phi(),vpBkgCheatB.M());
      TLorentzVector vpBkg = GetBkgVector(jet1,jetCont);
      fh2PtJet2DeltaE[fCentBin]->Fill(fJet2Vec->Pt(),vpBkg.E()-vpBkgCheat.E());      
      fh2PtJet2DeltaP[fCentBin]->Fill(fJet2Vec->Pt(),vpBkg.P()-vpBkgCheat.P());
      fh2PtJet2DeltaM[fCentBin]->Fill(fJet2Vec->Pt(),vpBkg.M()-vpBkgCheat.M());

      // fh3PtJet1DeltaPtDeltaMRho[fCentBin]->Fill(jet1->Pt()-vpBkg.Perp()*jet1->Area(),jet1->Pt()-vpBkg.Perp()*jet1->Area()-ptJet2,jet1->M()-vpBkg.M()*jet1->Area()-jet2->M());
      // fh3PtJet2DeltaPtDeltaMRho[fCentBin]->Fill(ptJet2,jet1->Pt()-vpBkg.Perp()*jet1->Area()-ptJet2,jet1->M()-vpBkg.M()*jet1->Area()-jet2->M());
      Double_t px = jet1->Px()-vpBkg.Px();
      Double_t py = jet1->Py()-vpBkg.Py();
      Double_t pz = jet1->Pz()-vpBkg.Pz();
      Double_t E  = jet1->E()-vpBkg.E();
      Double_t p2 = px*px + py*py + pz*pz;
      Double_t msub = 0.;
      if((E*E)>p2) msub = TMath::Sqrt(E*E - p2);
      // fh3PtJet1DeltaPtDeltaMRho[fCentBin]->Fill(jet1->Pt()-vpBkg.Perp(),jet1->Pt()-vpBkg.Perp()-ptJet2,jet1->M()-vpBkg.M()-jet2->M());
      // fh3PtJet2DeltaPtDeltaMRho[fCentBin]->Fill(ptJet2,jet1->Pt()-vpBkg.Perp()-ptJet2,jet1->M()-vpBkg.M()-jet2->M());

      fh3PtJet1DeltaPtDeltaMRho[fCentBin]->Fill(jet1->Pt()-vpBkg.Perp(),jet1->Pt()-vpBkg.Perp()-fJet2Vec->Pt(),msub-fJet2Vec->M());
      fh2PtJet1DeltaERho[fCentBin]->Fill(ptJet1,E - fJet2Vec->E());

      fh3PtJet2DeltaPtDeltaMRho[fCentBin]->Fill(fJet2Vec->Pt(),jet1->Pt()-vpBkg.Perp()-fJet2Vec->Pt(),msub-fJet2Vec->M());
      fh2PtJet2DeltaPxRho[fCentBin]->Fill(fJet2Vec->Pt(),px - fJet2Vec->Px());
      fh2PtJet2DeltaPyRho[fCentBin]->Fill(fJet2Vec->Pt(),py - fJet2Vec->Py());
      fh2PtJet2DeltaPzRho[fCentBin]->Fill(fJet2Vec->Pt(),pz - fJet2Vec->Pz());
      fh2PtJet2DeltaERho[fCentBin]->Fill(fJet2Vec->Pt(),E - fJet2Vec->E());
      fh3PtJet2DeltaEDeltaMRho[fCentBin]->Fill(fJet2Vec->Pt(),E-fJet2Vec->E(),msub-fJet2Vec->M());
      fh3PtJet2DeltaPDeltaMRho[fCentBin]->Fill(fJet2Vec->Pt(),TMath::Sqrt(p2)-fJet2Vec->P(),msub-fJet2Vec->M());

      fh2PtJet2DeltaMRho[fCentBin]->Fill(fJet2Vec->Pt(),msub - fJet2Vec->M());
      fh2PtJet2DeltaPtRho[fCentBin]->Fill(fJet2Vec->Pt(),TMath::Sqrt(px*px+py*py) - fJet2Vec->Pt());

      TLorentzVector vpC = GetSubtractedVectorCheat(jet1);
      fh3PtJet1DeltaPtDeltaMCheat[fCentBin]->Fill(vpC.Perp(),vpC.Perp()-fJet2Vec->Pt(),vpC.M()-fJet2Vec->M());
      fh3PtJet2DeltaPtDeltaMCheat[fCentBin]->Fill(fJet2Vec->Pt(),vpC.Perp()-fJet2Vec->Pt(),vpC.M()-fJet2Vec->M());

      if(fJet2Vec->Pt()>20. && fCreateTree) {      
	fBkgVec->SetPxPyPzE(vpBkg.Px(),vpBkg.Py(),vpBkg.Pz(),vpBkg.E());
	fJet1Vec->SetPxPyPzE(px,py,pz,E);                                     //AA jet
	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();
	fJetMassMassless = (Float_t)GetJetMassMasslessConstituents(jet1);
	fTreeJetBkg->Fill();
      }
    }
  }
  return kTRUE;
}

//________________________________________________________________________
TLorentzVector AliAnalysisTaskEmcalJetMassResponse::GetBkgVector(AliEmcalJet *jet, AliJetContainer *cont) {
  //get background vector

  Double_t rho  = cont->GetRhoVal();
  Double_t rhom = cont->GetRhoMassVal();
  TLorentzVector vpB;
  Double_t aphi = jet->AreaPhi();
  Double_t aeta = jet->AreaEta();
  //  vpB.SetPxPyPzE(rho*TMath::Cos(aphi)*jet->Area(),rho*TMath::Sin(aphi)*jet->Area(),(rho+rhom)*TMath::SinH(aeta)*jet->Area(),(rho+rhom)*TMath::CosH(aeta)*jet->Area());
  vpB.SetPxPyPzE(rho*TMath::Cos(aphi)*jet->Area(),rho*TMath::Sin(aphi)*jet->Area(),(rho+rhom)*TMath::SinH(aeta)*jet->Area(),(rho+rhom)*TMath::CosH(aeta)*jet->Area());
  return vpB;
}

//________________________________________________________________________
TLorentzVector AliAnalysisTaskEmcalJetMassResponse::GetSubtractedVector(AliEmcalJet *jet) {
  //get subtracted vector
  TLorentzVector vpS;

  // if(f1JetMassAvg) {
  //   Double_t pt = jet->Pt() - GetRhoVal(fContainerBase)*jet->Area();
  //   TLorentzVector vpB; vpB.SetPtEtaPhiE(GetRhoVal(fContainerBase)*jet->Area(),0.,0.,f1JetMassAvg->Eval(pt));
  //   TLorentzVector vpAAboost; vpAAboost.SetPtEtaPhiM(jet->Pt(),0.,0.,jet->M());
  //   TLorentzVector vpSboost = vpAAboost - vpB;
  //   vpS.SetPtEtaPhiM(vpSboost.Perp(),jet->Eta(),jet->Phi(),vpSboost.M());
  // } else {
  AliJetContainer *jetCont = GetJetContainer(fContainerBase);
  TLorentzVector vpBkg = GetBkgVector(jet,jetCont);
  vpS.SetPxPyPzE(jet->Px()-vpBkg.Px(),jet->Py()-vpBkg.Py(),jet->Pz()-vpBkg.Pz(),jet->E()-vpBkg.E());
  // TLorentzVector vpAAboost; vpAAboost.SetPtEtaPhiE(jet->Pt(),0.,0.,jet->E());
  // TLorentzVector vpBkgboost; vpBkgboost.SetPtEtaPhiE(vpBkg.Perp(),0.,0.,vpBkg.E());
  // TLorentzVector vpSboost = vpAAboost - vpBkgboost;
  //  vpS.SetPtEtaPhiM(vpSboost.Perp(),jet->Eta(),jet->Phi(),vpSboost.M());
  // }
  return vpS;
}

//________________________________________________________________________
TLorentzVector AliAnalysisTaskEmcalJetMassResponse::GetBkgVectorCheat(AliEmcalJet *jet) {
  //get background vector with cheating
  TLorentzVector vpB; 
  if(fJet2Vec) {
    TLorentzVector vpAAboost; vpAAboost.SetPtEtaPhiM(jet->Pt(),0.,0.,jet->M());
    TLorentzVector vpPPboost; vpPPboost.SetPtEtaPhiM(fJet2Vec->Pt(),0.,0.,fJet2Vec->M());
    Double_t dpt = vpAAboost.Perp()-vpPPboost.Perp();
    Double_t dE = vpAAboost.E()-vpPPboost.E();
    vpB.SetPtEtaPhiE(dpt,0.,0.,dE);
  }
  return vpB;
}

//________________________________________________________________________
TLorentzVector AliAnalysisTaskEmcalJetMassResponse::GetSubtractedVectorCheat(AliEmcalJet *jet) {
  //get subtracted vector taking pT and energy difference from MC match
  TLorentzVector vpS;
  TLorentzVector vpB = GetBkgVectorCheat(jet);
  TLorentzVector vpAAboost; vpAAboost.SetPtEtaPhiM(jet->Pt(),0.,0.,jet->M());
  TLorentzVector vpSboost = vpAAboost - vpB;
  vpS.SetPtEtaPhiM(vpSboost.Perp(),jet->Eta(),jet->Phi(),vpSboost.M());
  return vpS;
}

//________________________________________________________________________
Double_t AliAnalysisTaskEmcalJetMassResponse::GetJetMass(AliEmcalJet *jet) {

  TLorentzVector vpS = GetSubtractedVector(jet);
  
  AliEmcalJet *jet2 = jet->ClosestJet();
  if(jet2) fh2PtJet1DeltaPtVecSub[fCentBin]->Fill(vpS.Perp(),vpS.Perp()-jet2->Pt());
  
  if(fSubtractMassless) {
    Double_t m = vpS.M()-GetJetMassMasslessConstituents(jet);
    return m;
  } else
    return vpS.M();
}

//________________________________________________________________________
Double_t AliAnalysisTaskEmcalJetMassResponse::GetJetMassMasslessConstituents(AliEmcalJet *jet) {
  //Get mass of jet assuming all particles are massless (E==P)
  
  AliJetContainer *jetCont = GetJetContainer(fContainerBase);
  AliVParticle *vp = 0x0;
  Double_t px = 0.; Double_t py = 0.; Double_t pz = 0.; Double_t E = 0.;
  for(Int_t i=0; i<jet->GetNumberOfTracks(); i++) {
    vp = static_cast<AliVParticle*>(jet->TrackAt(i, jetCont->GetParticleContainer()->GetArray()));
    px+=vp->Px();
    py+=vp->Py();
    pz+=vp->Pz();
    E+=vp->P();
  }

  Double_t m2 = E*E - px*px - py*py - pz*pz;
  if(m2>0.)
    return TMath::Sqrt(E*E - px*px - py*py - pz*pz);
  else
    return 0.;
}

//________________________________________________________________________
AliVParticle* AliAnalysisTaskEmcalJetMassResponse::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;
}

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

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

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

  return kTRUE;
}

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

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