ROOT logo
// ROOT
#include "TFile.h"
#include "TList.h"
#include "TH1.h"
#include "TH2.h"
#include "TH3.h"
#include "TF1.h"
#include "TFormula.h"
#include "TRandom.h"
#include "TSpline.h"

// analysis framework
#include "AliAnalysisManager.h"
#include "AliInputEventHandler.h"
#include "AliVEvent.h"
#include "AliVTrack.h"
#include "AliVTrdTrack.h"
#include "AliVVertex.h"
#include "AliPIDResponse.h"
#include "AliEventPoolManager.h"
#include "AliOADBContainer.h"
#include "AliTOFPIDParams.h"
#include "AliAnalysisTaskVnV0.h"

// MC stuff
#include "AliMCEvent.h"
#include "AliGenPythiaEventHeader.h"

// ESD stuff
#include "AliESDEvent.h"
#include "AliESDInputHandler.h"
#include "AliESDtrack.h"
#include "AliESDtrackCuts.h"
#include "AliESDTrdTrack.h"
#include "AliESDTrdTracklet.h"
#include "AliESDTrdTrigger.h"

// AOD stuff
#include "AliAODEvent.h"
#include "AliAODJet.h"
#include "AliAODTrack.h"

// jet tasks
#include "AliAnalysisTaskJetServices.h"
#include "AliAnalysisHelperJetTasks.h"

#include "AliAnalysisTaskJetProtonCorr.h"

#include <iostream>
#include <cmath>

AliAnalysisTaskJetProtonCorr::AliAnalysisTaskJetProtonCorr(const char *name) :
  AliAnalysisTaskSE(name),
  fMCEvent(0x0),
  fESDEvent(0x0),
  fAODEvent(0x0),
  fRunNumber(-1),
  fOADBContainerTOF(0x0),
  fParamsTOF(0x0),
  fEventplane(0x0),
  fTriggerMask(0),
  fClassMask(0),
  fCentrality(100.),
  fCentralityCheck(100.),
  fZvtx(0.),
  fPIDResponse(0x0),
  fEventPlaneAngle(5.),
  fEventPlaneRes(0.),
  fEventPlaneAngleCheck(5.),
  fEventPlaneAngle3(5.),
  fPrimTrackArrayAss(0x0),
  fPrimTrackArrayTrg(0x0),
  fPrimConstrainedTrackArray(new TClonesArray("AliESDtrack", 100)),
  fJetArray(0x0),
  fPoolMgr(),
  fPool(),
  fHistCorr(0x0),
  fErrorMsg(10),
  fOutputList(),
  fHist(),
  fShortTaskId("jet_prot_corr"),
  fUseStandardCuts(kTRUE),
  fUseEvplaneV0(kFALSE),
  fCutsPrimTrg(0x0),
  fCutsPrimTrgConstrain(new AliESDtrackCuts()),
  fCutsPrimAss(0x0),
  fCutsTwoTrackEff(0.02),
  fAssFilterMask(1 << 10),
  fRequirePID(kTRUE),
  fTrgJetEtaMax(0.45),
  fHadEtaMax(0.8),
  fTrgPartPtMin(6.),
  fTrgPartPtMax(8.),
  fTrgJetPtMin(50.),
  fTrgJetPtMax(80.),
  fTrgJetLeadTrkPtMin(6.),
  fTrgJetLeadTrkPtMax(100.),
  fTrgJetAreaMin(0.6 * TMath::Pi() * 0.2*0.2),
  fAssPartPtMin(2.),
  fAssPartPtMax(4.),
  fTrgAngleToEvPlane(TMath::Pi() / 4.),
  fToyMeanNoPart(.5),
  fToyRadius(.8),
  fToySmearPhi(.2),
  fTrgJetPhiModCent(new TF1("jetphimodcent", "1 + 2 * [0] * cos(2*x)", 0., 2 * TMath::Pi())),
  fTrgJetPhiModSemi(new TF1("jetphimodsemi", "1 + 2 * [0] * cos(2*x)", 0., 2 * TMath::Pi())),
  fTrgHadPhiModCent(new TF1("hadphimodcent", "1 + 2 * [0] * cos(2*x)", 0., 2 * TMath::Pi())),
  fTrgHadPhiModSemi(new TF1("hadphimodsemi", "1 + 2 * [0] * cos(2*x)", 0., 2 * TMath::Pi())),
  fTrgJetV2Cent(0.10),
  fTrgJetV2Semi(0.10),
  fTrgHadV2Cent(0.04),
  fTrgHadV2Semi(0.10),
  fSplineEventPlaneRes(0x0)
{
  // default ctor

  fkCorrTypeName[kCorrHadHad]  = "hh";
  fkCorrTypeName[kCorrHadProt] = "hp";
  fkCorrTypeName[kCorrJetHad]  = "jh";
  fkCorrTypeName[kCorrJetProt] = "jp";
  fkCorrTypeName[kCorrRndJetHad]  = "rjh";
  fkCorrTypeName[kCorrRndJetProt]  = "rjp";
  fkCorrTypeName[kCorrRndHadHad]  = "rhh";
  fkCorrTypeName[kCorrRndHadProt]  = "rhp";
  fkCorrTypeName[kCorrRndJetExcHad]  = "rjeh";
  fkCorrTypeName[kCorrRndJetExcProt]  = "rjep";
  fkCorrTypeName[kCorrRndHadExcHad]  = "rheh";
  fkCorrTypeName[kCorrRndHadExcProt]  = "rhep";

  fkClassName[kClCentral]      = "cent";
  fkClassName[kClSemiCentral]  = "semi";
  // fkClassName[kClDijet]        = "dijet";

  fkEvName[kEvSame] = "same";
  fkEvName[kEvMix]  = "mixed";

  // track cuts for associates
  if (fUseStandardCuts) {
    fCutsPrimAss = AliESDtrackCuts::GetStandardITSTPCTrackCuts2011(kTRUE);
  } else {
    fCutsPrimAss = new AliESDtrackCuts();

    // this is taken from PWGJE track cuts
    TFormula *f1NClustersTPCLinearPtDep = new TFormula("f1NClustersTPCLinearPtDep","70.+30./20.*x");
    fCutsPrimAss->SetMinNClustersTPCPtDep(f1NClustersTPCLinearPtDep,20.);
    fCutsPrimAss->SetMinNClustersTPC(70);
    fCutsPrimAss->SetMaxChi2PerClusterTPC(4);
    fCutsPrimAss->SetRequireTPCStandAlone(kTRUE); //cut on NClustersTPC and chi2TPC Iter1
    fCutsPrimAss->SetAcceptKinkDaughters(kFALSE);
    fCutsPrimAss->SetRequireTPCRefit(kTRUE);
    fCutsPrimAss->SetMaxFractionSharedTPCClusters(0.4);
    // ITS
    fCutsPrimAss->SetRequireITSRefit(kTRUE);
    //accept secondaries
    fCutsPrimAss->SetMaxDCAToVertexXY(2.4);
    fCutsPrimAss->SetMaxDCAToVertexZ(3.2);
    fCutsPrimAss->SetDCAToVertex2D(kTRUE);
    //reject fakes
    fCutsPrimAss->SetMaxChi2PerClusterITS(36);
    fCutsPrimAss->SetMaxChi2TPCConstrainedGlobal(36);

    fCutsPrimAss->SetRequireSigmaToVertex(kFALSE);

    fCutsPrimAss->SetClusterRequirementITS(AliESDtrackCuts::kSPD, AliESDtrackCuts::kAny);
  }

  fCutsPrimAss->SetEtaRange(-fHadEtaMax, fHadEtaMax);
  fCutsPrimAss->SetPtRange(0.15, 1E+15);

  // track cuts for triggers
  fCutsPrimTrg = new AliESDtrackCuts(*fCutsPrimAss);

  // azimuthal modulation for triggers
  fTrgJetPhiModCent->SetParameter(0, fTrgJetV2Cent);
  fTrgJetPhiModSemi->SetParameter(0, fTrgJetV2Semi);
  fTrgHadPhiModCent->SetParameter(0, fTrgHadV2Cent);
  fTrgHadPhiModSemi->SetParameter(0, fTrgHadV2Semi);

  // event mixing pool
  Double_t centralityBins[] = {
    0., 2., 4., 6., 8., 10., // central
    30., 32., 34., 36., 38., 40., 42., 44., 46., 48., 50., // semi-central
    90.
  };
  Int_t nCentralityBins = sizeof(centralityBins)/sizeof(centralityBins[0]);

  Double_t vertexBins[] = {
    -10., -8., -6., -4., -2., 0., 2., 4., 6., 8., 10.
  };
  Int_t nVertexBins = sizeof(vertexBins)/sizeof(vertexBins[0]);

  Double_t psiBins[12];
  Int_t nPsiBins = sizeof(psiBins)/sizeof(psiBins[0]);
  for (Int_t iBin = 0; iBin < nPsiBins; ++iBin)
    psiBins[iBin] = iBin * TMath::Pi()/nPsiBins;

  const Int_t poolSize = 10; // unused by current event pool implementation
  const Int_t trackDepth = 50000; // number of tracks to maintain in mixing buffer
  const Float_t trackDepthFraction = 0.1;
  const Int_t targetEvents = 1;
  for (Int_t iAss = 0; iAss <= kAssProt; ++iAss) {
    GetPoolMgr((Ass_t) iAss) =
      new AliEventPoolManager(poolSize, trackDepth,
			      nCentralityBins, centralityBins,
			      nVertexBins, vertexBins);
    GetPoolMgr((Ass_t) iAss)->SetTargetValues(trackDepth, trackDepthFraction, targetEvents);
  }

  fHistCorr = new AliHistCorr*[kEvLast*kCorrLast*kClLast];

  DefineOutput(1, TList::Class());
}

AliAnalysisTaskJetProtonCorr::~AliAnalysisTaskJetProtonCorr()
{
  // dtor

  // delete [] fHistCorr;
}

void AliAnalysisTaskJetProtonCorr::UserCreateOutputObjects()
{
  // create user output objects

  // open OADB file and retrieve the OADB container with TOF parameters
  TString oadbFileName =
    TString::Format("%s/COMMON/PID/data/TOFPIDParams.root", AliAnalysisManager::GetOADBPath());
  TFile *oadbFile = TFile::Open(oadbFileName); 
  if(!oadbFile->IsOpen())
    AliFatal(Form("Cannot open OADB file %s", oadbFileName.Data()));
  AliOADBContainer *oadbContainer =
    (AliOADBContainer*) oadbFile->Get("TOFoadb");
  if (!oadbContainer)
    AliFatal("Cannot fetch OADB container for VZERO EP selection");
  fOADBContainerTOF = new AliOADBContainer(*oadbContainer);
  oadbFile->Close();
  delete oadbFile;

  // setup list
  OpenFile(1);
  fOutputList = new TList();
  fOutputList->SetOwner();

  // setup histograms
  TH1 *hist;
  TH1 *histStat = AddHistogram(ID(kHistStat), "event statistics;;counts",
                               kStatLast-1, .5, kStatLast-.5);
  histStat->GetXaxis()->SetBinLabel(ID(kStatSeen));
  histStat->GetXaxis()->SetBinLabel(ID(kStatTrg));
  histStat->GetXaxis()->SetBinLabel(ID(kStatVtx));
  histStat->GetXaxis()->SetBinLabel(ID(kStatEvCuts));
  histStat->GetXaxis()->SetBinLabel(ID(kStatUsed));
  histStat->GetXaxis()->SetBinLabel(ID(kStatCent));
  histStat->GetXaxis()->SetBinLabel(ID(kStatEvPlane));
  histStat->GetXaxis()->SetBinLabel(ID(kStatPID));
  histStat->GetXaxis()->SetBinLabel(ID(kStatCentral));
  histStat->GetXaxis()->SetBinLabel(ID(kStatSemiCentral));

  AddHistogram(ID(kHistVertexNctb), "number of vertex contributors;N_{ctb};counts",
	       100, 0., 2000.);
  AddHistogram(ID(kHistVertexZ), "z-position of primary vertex;z (cm);counts",
	       100, -50., 50.);

  AddHistogram(ID(kHistCentrality), "centrality;C;counts",
	       110, -5., 105.);
  hist = AddHistogram(ID(kHistCentralityUsed), "centrality used;C;event class",
                      110, -5., 105.,
                      kClLast, -.5, kClLast-.5);
  hist->GetYaxis()->SetBinLabel(LAB(kClCentral));
  hist->GetYaxis()->SetBinLabel(LAB(kClSemiCentral));
  // hist->GetYaxis()->SetBinLabel(LAB(kClDijet));
  AddHistogram(ID(kHistCentralityCheck), "centrality check;C;counts",
	       110, -5., 105.);
  hist = AddHistogram(ID(kHistCentralityCheckUsed), "centrality check used;C;event class",
                      110, -5., 105.,
                      kClLast, -.5, kClLast-.5);
  hist->GetYaxis()->SetBinLabel(LAB(kClCentral));
  hist->GetYaxis()->SetBinLabel(LAB(kClSemiCentral));
  // hist->GetYaxis()->SetBinLabel(LAB(kClDijet));
  AddHistogram(ID(kHistCentralityVsMult), "centrality - multiplicity;centrality percentile (%);N_{prim}",
	       100, 0., 100.,
	       100, 0., 2500.);

  AddHistogram(ID(kHistSignalTPC), "TPC dE/dx;p (GeV/#it{c});dE/dx (arb. units)",
	       100, 0., 10., 200, 0., 300.);
  AddHistogram(ID(kHistSignalTOF), "TOF time of flight;p_{T} (GeV/#it{c});t (ns)",
	       100, 0., 10., 200, 0., 50.);
  AddHistogram(ID(kHistBetaTOF), "TOF beta;p (GeV/#it{c}); #beta",
	       100, 0., 10.,
	       100, 0., 1.);

  AddHistogram(ID(kHistDeltaTPC), "TPC dE/dx;p (GeV/#it{c});dE/dx (arb. units)",
	       100, 0., 10., 200, -100., 100.);
  AddHistogram(ID(kHistDeltaTPCSemi), "TPC dE/dx;p (GeV/#it{c});dE/dx (arb. units)",
	       100, 0., 10., 200, -100., 100.);
  AddHistogram(ID(kHistDeltaTOF), "TOF time of flight;p (GeV/#it{c});t (ns)",
	       100, 0., 10., 200, -2., 2.);
  AddHistogram(ID(kHistDeltaTOFSemi), "TOF time of flight;p (GeV/#it{c});t (ns)",
	       100, 0., 10., 200, -2., 2.);

  // Nsigma templates - central
  AddHistogram(ID(kHistNsigmaTPCe), "TPC N_{#sigma,p} - e hypothesis;p (GeV/#it{c});N_{#sigma,p}",
	       100, 0., 10.,
	       100, -25., 25.);
  AddHistogram(ID(kHistNsigmaTPCmu), "TPC N_{#sigma,p} - #mu hypothesis;p (GeV/#it{c});N_{#sigma,p}",
	       100, 0., 10.,
	       100, -25., 25.);
  AddHistogram(ID(kHistNsigmaTPCpi), "TPC N_{#sigma,p} - #pi hypothesis;p (GeV/#it{c});N_{#sigma,p}",
	       100, 0., 10.,
	       100, -25., 25.);
  AddHistogram(ID(kHistNsigmaTPCk), "TPC N_{#sigma,p} - K hypothesis;p (GeV/#it{c});N_{#sigma,p}",
	       100, 0., 10.,
	       100, -25., 25.);
  AddHistogram(ID(kHistNsigmaTPCp), "TPC N_{#sigma,p} - p hypothesis;p (GeV/#it{c});N_{#sigma,p}",
	       100, 0., 10.,
	       100, -25., 25.);
  AddHistogram(ID(kHistNsigmaTPCd), "TPC N_{#sigma,p} - d hypothesis;p (GeV/#it{c});N_{#sigma,p}",
	       100, 0., 10.,
	       100, -25., 25.);
  AddHistogram(ID(kHistNsigmaTPCe_e), "TPC N_{#sigma,p} - e hypothesis (id. e);p (GeV/#it{c});N_{#sigma,p}",
	       100, 0., 10.,
	       100, -25., 25.);

  AddHistogram(ID(kHistNsigmaTOFe), "TOF N_{#sigma,p} - e hypothesis;p (GeV/#it{c});N_{#sigma,p}",
	       100, 0., 10.,
	       200, -100., 100.);
  AddHistogram(ID(kHistNsigmaTOFmu), "TOF N_{#sigma,p} - #mu hypothesis;p (GeV/#it{c});N_{#sigma,p}",
	       100, 0., 10.,
	       200, -100., 100.);
  AddHistogram(ID(kHistNsigmaTOFpi), "TOF N_{#sigma,p} - #pi hypothesis;p (GeV/#it{c});N_{#sigma,p}",
	       100, 0., 10.,
	       200, -100., 100.);
  AddHistogram(ID(kHistNsigmaTOFk), "TOF N_{#sigma,p} - K hypothesis;p (GeV/#it{c});N_{#sigma,p}",
	       100, 0., 10.,
	       200, -100., 100.);
  AddHistogram(ID(kHistNsigmaTOFp), "TOF N_{#sigma,p} - p hypothesis;p (GeV/#it{c});N_{#sigma,p}",
	       100, 0., 10.,
	       200, -100., 100.);
  AddHistogram(ID(kHistNsigmaTOFd), "TOF N_{#sigma,p} - d hypothesis;p (GeV/#it{c});N_{#sigma,p}",
	       100, 0., 10.,
	       200, -100., 100.);
  AddHistogram(ID(kHistNsigmaTOFmismatch), "TOF N_{#sigma,p} - mismatch;p (GeV/#it{c});N_{#sigma,p}",
	       100, 0., 10.,
	       200, -100., 100.);

  // Nsigma templates - semi-central
  AddHistogram(ID(kHistNsigmaTPCeSemi), "TPC N_{#sigma,p} - e hypothesis;p (GeV/#it{c});N_{#sigma,p}",
	       100, 0., 10.,
	       100, -25., 25.);
  AddHistogram(ID(kHistNsigmaTPCmuSemi), "TPC N_{#sigma,p} - #mu hypothesis;p (GeV/#it{c});N_{#sigma,p}",
	       100, 0., 10.,
	       100, -25., 25.);
  AddHistogram(ID(kHistNsigmaTPCpiSemi), "TPC N_{#sigma,p} - #pi hypothesis;p (GeV/#it{c});N_{#sigma,p}",
	       100, 0., 10.,
	       100, -25., 25.);
  AddHistogram(ID(kHistNsigmaTPCkSemi), "TPC N_{#sigma,p} - K hypothesis;p (GeV/#it{c});N_{#sigma,p}",
	       100, 0., 10.,
	       100, -25., 25.);
  AddHistogram(ID(kHistNsigmaTPCpSemi), "TPC N_{#sigma,p} - p hypothesis;p (GeV/#it{c});N_{#sigma,p}",
	       100, 0., 10.,
	       100, -25., 25.);
  AddHistogram(ID(kHistNsigmaTPCdSemi), "TPC N_{#sigma,p} - d hypothesis;p (GeV/#it{c});N_{#sigma,p}",
	       100, 0., 10.,
	       100, -25., 25.);
  AddHistogram(ID(kHistNsigmaTPCe_eSemi), "TPC N_{#sigma,p} - e hypothesis (id. e);p (GeV/#it{c});N_{#sigma,p}",
	       100, 0., 10.,
	       100, -25., 25.);

  AddHistogram(ID(kHistNsigmaTOFeSemi), "TOF N_{#sigma,p} - e hypothesis;p (GeV/#it{c});N_{#sigma,p}",
	       100, 0., 10.,
	       200, -100., 100.);
  AddHistogram(ID(kHistNsigmaTOFmuSemi), "TOF N_{#sigma,p} - #mu hypothesis;p (GeV/#it{c});N_{#sigma,p}",
	       100, 0., 10.,
	       200, -100., 100.);
  AddHistogram(ID(kHistNsigmaTOFpiSemi), "TOF N_{#sigma,p} - #pi hypothesis;p (GeV/#it{c});N_{#sigma,p}",
	       100, 0., 10.,
	       200, -100., 100.);
  AddHistogram(ID(kHistNsigmaTOFkSemi), "TOF N_{#sigma,p} - K hypothesis;p (GeV/#it{c});N_{#sigma,p}",
	       100, 0., 10.,
	       200, -100., 100.);
  AddHistogram(ID(kHistNsigmaTOFpSemi), "TOF N_{#sigma,p} - p hypothesis;p (GeV/#it{c});N_{#sigma,p}",
	       100, 0., 10.,
	       200, -100., 100.);
  AddHistogram(ID(kHistNsigmaTOFdSemi), "TOF N_{#sigma,p} - d hypothesis;p (GeV/#it{c});N_{#sigma,p}",
	       100, 0., 10.,
	       200, -100., 100.);
  AddHistogram(ID(kHistNsigmaTOFmismatchSemi), "TOF N_{#sigma,p} - mismatch;p (GeV/#it{c});N_{#sigma,p}",
	       100, 0., 10.,
	       200, -100., 100.);

  // delta templates
  AddHistogram(ID(kHistDeltaTOFe), "TOF #Delta;p (GeV/#it{c});t (ns)",
	       100, 0., 10., 200, -2., 2.);
  AddHistogram(ID(kHistDeltaTOFmu), "TOF #Delta;p (GeV/#it{c});t (ns)",
	       100, 0., 10., 200, -2., 2.);
  AddHistogram(ID(kHistDeltaTOFpi), "TOF #Delta;p (GeV/#it{c});t (ns)",
	       100, 0., 10., 200, -2., 2.);
  AddHistogram(ID(kHistDeltaTOFk), "TOF #Delta;p (GeV/#it{c});t (ns)",
	       100, 0., 10., 200, -2., 2.);
  AddHistogram(ID(kHistDeltaTOFp), "TOF #Delta;p (GeV/#it{c});t (ns)",
	       100, 0., 10., 200, -2., 2.);
  AddHistogram(ID(kHistDeltaTOFd), "TOF #Delta;p (GeV/#it{c});t (ns)",
	       100, 0., 10., 200, -2., 2.);

  AddHistogram(ID(kHistDeltaTOFeSemi), "TOF #Delta;p (GeV/#it{c});t (ns)",
	       100, 0., 10., 200, -2., 2.);
  AddHistogram(ID(kHistDeltaTOFmuSemi), "TOF #Delta;p (GeV/#it{c});t (ns)",
	       100, 0., 10., 200, -2., 2.);
  AddHistogram(ID(kHistDeltaTOFpiSemi), "TOF #Delta;p (GeV/#it{c});t (ns)",
	       100, 0., 10., 200, -2., 2.);
  AddHistogram(ID(kHistDeltaTOFkSemi), "TOF #Delta;p (GeV/#it{c});t (ns)",
	       100, 0., 10., 200, -2., 2.);
  AddHistogram(ID(kHistDeltaTOFpSemi), "TOF #Delta;p (GeV/#it{c});t (ns)",
	       100, 0., 10., 200, -2., 2.);
  AddHistogram(ID(kHistDeltaTOFdSemi), "TOF #Delta;p (GeV/#it{c});t (ns)",
	       100, 0., 10., 200, -2., 2.);

  // sigma comparisons
  // AddHistogram(ID(kHistExpSigmaTOFe), "TOF time of flight;p (GeV/#it{c});t (ns)",
  // 	       100, 0., 10., 200, 0., .25);
  // AddHistogram(ID(kHistExpSigmaTOFmu), "TOF time of flight;p (GeV/#it{c});t (ns)",
  // 	       100, 0., 10., 200, 0., .25);
  // AddHistogram(ID(kHistExpSigmaTOFpi), "TOF time of flight;p (GeV/#it{c});t (ns)",
  // 	       100, 0., 10., 200, 0., .25);
  // AddHistogram(ID(kHistExpSigmaTOFk), "TOF time of flight;p (GeV/#it{c});t (ns)",
  // 	       100, 0., 10., 200, 0., .25);
  // AddHistogram(ID(kHistExpSigmaTOFp), "TOF time of flight;p (GeV/#it{c});t (ns)",
  // 	       100, 0., 10., 200, 0., .25);
  // AddHistogram(ID(kHistExpSigmaTOFd), "TOF time of flight;p (GeV/#it{c});t (ns)",
  // 	       100, 0., 10., 200, 0., .25);

  // AddHistogram(ID(kHistExpSigmaTOFeSemi), "TOF time of flight;p (GeV/#it{c});t (ns)",
  // 	       100, 0., 10., 200, 0., .25);
  // AddHistogram(ID(kHistExpSigmaTOFmuSemi), "TOF time of flight;p (GeV/#it{c});t (ns)",
  // 	       100, 0., 10., 200, 0., .25);
  // AddHistogram(ID(kHistExpSigmaTOFpiSemi), "TOF time of flight;p (GeV/#it{c});t (ns)",
  // 	       100, 0., 10., 200, 0., .25);
  // AddHistogram(ID(kHistExpSigmaTOFkSemi), "TOF time of flight;p (GeV/#it{c});t (ns)",
  // 	       100, 0., 10., 200, 0., .25);
  // AddHistogram(ID(kHistExpSigmaTOFpSemi), "TOF time of flight;p (GeV/#it{c});t (ns)",
  // 	       100, 0., 10., 200, 0., .25);
  // AddHistogram(ID(kHistExpSigmaTOFdSemi), "TOF time of flight;p (GeV/#it{c});t (ns)",
  // 	       100, 0., 10., 200, 0., .25);

  // AddHistogram(ID(kHistCmpSigmaTOFe), "#sigma comparison;exp #sigma;template #sigma",
  // 	       200, 0., .25, 200, 0., .25);
  // AddHistogram(ID(kHistCmpSigmaTOFmu), "#sigma comparison;exp #sigma;template #sigma",
  // 	       200, 0., .25, 200, 0., .25);
  // AddHistogram(ID(kHistCmpSigmaTOFpi), "#sigma comparison;exp #sigma;template #sigma",
  // 	       200, 0., .25, 200, 0., .25);
  // AddHistogram(ID(kHistCmpSigmaTOFk), "#sigma comparison;exp #sigma;template #sigma",
  // 	       200, 0., .25, 200, 0., .25);
  // AddHistogram(ID(kHistCmpSigmaTOFp), "#sigma comparison;exp #sigma;template #sigma",
  // 	       200, 0., .25, 200, 0., .25);
  // AddHistogram(ID(kHistCmpSigmaTOFd), "#sigma comparison;exp #sigma;template #sigma",
  // 	       200, 0., .25, 200, 0., .25);

  // AddHistogram(ID(kHistCmpSigmaTOFeSemi), "#sigma comparison;exp #sigma;template #sigma",
  // 	       200, 0., .25, 200, 0., .25);
  // AddHistogram(ID(kHistCmpSigmaTOFmuSemi), "#sigma comparison;exp #sigma;template #sigma",
  // 	       200, 0., .25, 200, 0., .25);
  // AddHistogram(ID(kHistCmpSigmaTOFpiSemi), "#sigma comparison;exp #sigma;template #sigma",
  // 	       200, 0., .25, 200, 0., .25);
  // AddHistogram(ID(kHistCmpSigmaTOFkSemi), "#sigma comparison;exp #sigma;template #sigma",
  // 	       200, 0., .25, 200, 0., .25);
  // AddHistogram(ID(kHistCmpSigmaTOFpSemi), "#sigma comparison;exp #sigma;template #sigma",
  // 	       200, 0., .25, 200, 0., .25);
  // AddHistogram(ID(kHistCmpSigmaTOFdSemi), "#sigma comparison;exp #sigma;template #sigma",
  // 	       200, 0., .25, 200, 0., .25);

  // Nsigma distributions
  AddHistogram(ID(kHistNsigmaTPCTOF), "N_{#sigma,p} TPC-TOF;p (GeV/#it{c});N_{#sigma,p}^{TPC};N_{#sigma,p}^{TOF}",
               100, 0., 10.,
               100, -25., 25.,
               200, -100., 100.);
  AddHistogram(ID(kHistNsigmaTPCTOFPt), "N_{#sigma,p} TPC-TOF;p_{T} (GeV/#it{c});N_{#sigma,p}^{TPC};N_{#sigma,p}^{TOF}",
               100, 0., 10.,
               100, -25., 25.,
               200, -100., 100.);
  AddHistogram(ID(kHistNsigmaTPCTOFUsed), "N_{#sigma,p} TPC-TOF;p (GeV/#it{c});N_{#sigma,p}^{TPC};N_{#sigma,p}^{TOF}",
               100, 0., 10.,
               100, -25., 25.,
               200, -100., 100.);
  AddHistogram(ID(kHistNsigmaTPCTOFUsedCentral), "N_{#sigma,p} TPC-TOF (central);p (GeV/#it{c});N_{#sigma,p}^{TPC};N_{#sigma,p}^{TOF}",
               100, 0., 10.,
               100, -25., 25.,
               200, -100., 100.);
  AddHistogram(ID(kHistNsigmaTPCTOFUsedSemiCentral), "N_{#sigma,p} TPC-TOF (semi-central);p (GeV/#it{c});N_{#sigma,p}^{TPC};N_{#sigma,p}^{TOF}",
               100, 0., 10.,
               100, -25., 25.,
               200, -100., 100.);
  AddHistogram(ID(kHistNsigmaTPCTOFUsedPt), "N_{#sigma,p} TPC-TOF;p_{T} (GeV/#it{c});N_{#sigma,p}^{TPC};N_{#sigma,p}^{TOF}",
               50, 0., 10.,
               100, -25., 25.,
               200, -100., 100.);
  AddHistogram(ID(kHistNsigmaTPCTOFUsedPtCentral), "N_{#sigma,p} TPC-TOF;p_{T} (GeV/#it{c});N_{#sigma,p}^{TPC};N_{#sigma,p}^{TOF}",
               50, 0., 10.,
               100, -25., 25.,
               200, -100., 100.);
  AddHistogram(ID(kHistNsigmaTPCTOFUsedPtSemiCentral), "N_{#sigma,p} TPC-TOF;p_{T} (GeV/#it{c});N_{#sigma,p}^{TPC};N_{#sigma,p}^{TOF}",
               50, 0., 10.,
               100, -25., 25.,
               200, -100., 100.);

  AddHistogram(ID(kHistNsigmaTPCTOFUsedCentralMCe), "N_{#sigma,p} TPC-TOF (central, MC e);p (GeV/#it{c});N_{#sigma,p}^{TPC};N_{#sigma,p}^{TOF}",
               100, 0., 10.,
               100, -25., 25.,
               200, -100., 100.);
  AddHistogram(ID(kHistNsigmaTPCTOFUsedCentralMCmu), "N_{#sigma,p} TPC-TOF (central, MC #mu);p (GeV/#it{c});N_{#sigma,p}^{TPC};N_{#sigma,p}^{TOF}",
               100, 0., 10.,
               100, -25., 25.,
               200, -100., 100.);
  AddHistogram(ID(kHistNsigmaTPCTOFUsedCentralMCpi), "N_{#sigma,p} TPC-TOF (central, MC pi);p (GeV/#it{c});N_{#sigma,p}^{TPC};N_{#sigma,p}^{TOF}",
               100, 0., 10.,
               100, -25., 25.,
               200, -100., 100.);
  AddHistogram(ID(kHistNsigmaTPCTOFUsedCentralMCk), "N_{#sigma,p} TPC-TOF (central, MC K);p (GeV/#it{c});N_{#sigma,p}^{TPC};N_{#sigma,p}^{TOF}",
               100, 0., 10.,
               100, -25., 25.,
               200, -100., 100.);
  AddHistogram(ID(kHistNsigmaTPCTOFUsedCentralMCp), "N_{#sigma,p} TPC-TOF (central, MC p);p (GeV/#it{c});N_{#sigma,p}^{TPC};N_{#sigma,p}^{TOF}",
               100, 0., 10.,
               100, -25., 25.,
               200, -100., 100.);
  AddHistogram(ID(kHistNsigmaTPCTOFUsedCentralMCd), "N_{#sigma,p} TPC-TOF (central, MC d);p (GeV/#it{c});N_{#sigma,p}^{TPC};N_{#sigma,p}^{TOF}",
               100, 0., 10.,
               100, -25., 25.,
               200, -100., 100.);

  AddHistogram(ID(kHistNsigmaTPCTOFUsedSemiCentralMCe), "N_{#sigma,p} TPC-TOF (semi-central, MC e);p (GeV/#it{c});N_{#sigma,p}^{TPC};N_{#sigma,p}^{TOF}",
               100, 0., 10.,
               100, -25., 25.,
               200, -100., 100.);
  AddHistogram(ID(kHistNsigmaTPCTOFUsedSemiCentralMCmu), "N_{#sigma,p} TPC-TOF (semi-central, MC #mu);p (GeV/#it{c});N_{#sigma,p}^{TPC};N_{#sigma,p}^{TOF}",
               100, 0., 10.,
               100, -25., 25.,
               200, -100., 100.);
  AddHistogram(ID(kHistNsigmaTPCTOFUsedSemiCentralMCpi), "N_{#sigma,p} TPC-TOF (semi-central, MC pi);p (GeV/#it{c});N_{#sigma,p}^{TPC};N_{#sigma,p}^{TOF}",
               100, 0., 10.,
               100, -25., 25.,
               200, -100., 100.);
  AddHistogram(ID(kHistNsigmaTPCTOFUsedSemiCentralMCk), "N_{#sigma,p} TPC-TOF (semi-central, MC K);p (GeV/#it{c});N_{#sigma,p}^{TPC};N_{#sigma,p}^{TOF}",
               100, 0., 10.,
               100, -25., 25.,
               200, -100., 100.);
  AddHistogram(ID(kHistNsigmaTPCTOFUsedSemiCentralMCp), "N_{#sigma,p} TPC-TOF (semi-central, MC p);p (GeV/#it{c});N_{#sigma,p}^{TPC};N_{#sigma,p}^{TOF}",
               100, 0., 10.,
               100, -25., 25.,
               200, -100., 100.);
  AddHistogram(ID(kHistNsigmaTPCTOFUsedSemiCentralMCd), "N_{#sigma,p} TPC-TOF (semi-central, MC d);p (GeV/#it{c});N_{#sigma,p}^{TPC};N_{#sigma,p}^{TOF}",
               100, 0., 10.,
               100, -25., 25.,
               200, -100., 100.);

  AddHistogram(ID(kHistNevMix), "no. of events for mixing;N_{ev};counts",
	       20, -.5, 19.5,
	       2, -.5, 1.5);

  AddHistogram(ID(kHistEvPlane), "default event plane;#Psi;counts",
               100, -0. * TMath::Pi(), 1. * TMath::Pi());
  AddHistogram(ID(kHistEvPlaneRes), "resolution of default event plane;R^{2};centrality (%)",
               100, -1., 1.,
	       50, 0., 100.);
  AddHistogram(ID(kHistEvPlaneUsed), "default event plane;#Psi;counts",
               100, -0. * TMath::Pi(), 1. * TMath::Pi(),
	       kClLast, -.5, kClLast-.5);
  AddHistogram(ID(kHistEvPlaneCheck), "backup event plane;#Psi;counts",
               100, -1. * TMath::Pi(), 1. * TMath::Pi());
  AddHistogram(ID(kHistEvPlaneCheckUsed), "backup event plane;#Psi;counts",
               100, -0. * TMath::Pi(), 1. * TMath::Pi(),
	       kClLast, -.5, kClLast-.5);
  AddHistogram(ID(kHistEvPlane3), "3rd order event plane;#Psi;counts",
               100, -0. * TMath::Pi(), 2./3. * TMath::Pi());
  AddHistogram(ID(kHistEvPlaneCorr), "default - backup event plane;#Psi_{def};#Psi_{bak};event class",
               100, -0. * TMath::Pi(), 1. * TMath::Pi(),
               100, -0. * TMath::Pi(), 1. * TMath::Pi(),
  	       kClLast, -.5, kClLast-.5);
  AddHistogram(ID(kHistEvPlaneCross), "default - backup event plane;R_{a} R_{b};centrality",
               100, -1., 1.,
	       50, 0., 100.);
  AddHistogram(ID(kHistEvPlaneCorrNoTrgJets), "event plane w/ and w/o trigger jets;#Psi_{full};#Psi_{notrgjets};event class",
               100, -0. * TMath::Pi(), 1. * TMath::Pi(),
               100, -0. * TMath::Pi(), 1. * TMath::Pi(),
	       kClLast, -.5, kClLast-.5);
  AddHistogram(ID(kHistEvPlaneCorrNoTrgJetsTrgd), "event plane w/ and w/o trigger jets;#Psi_{full};#Psi_{notrgjets};event class",
               100, -0. * TMath::Pi(), 1. * TMath::Pi(),
               100, -0. * TMath::Pi(), 1. * TMath::Pi(),
	       kClLast, -.5, kClLast-.5);

  AddHistogram(ID(kHistJetPtCentral), "jet spectrum - central;p_{T}^{jet,ch} (GeV/#it{c});counts",
               40, 0., 200.);
  AddHistogram(ID(kHistJetPtSemi), "jet spectrum - semi-peripheral;p_{T}^{jet,ch} (GeV/#it{c});counts",
               40, 0., 200.);

  AddHistogram(ID(kHistEtaPhiTrgHad), "trg had;#varphi;#eta",
	       100, -0. * TMath::Pi(), 2. * TMath::Pi(),
	       100, -2., 2.);
  AddHistogram(ID(kHistEtaPhiTrgJet), "trg jet;#varphi;#eta",
	       100, -0. * TMath::Pi(), 2. * TMath::Pi(),
	       100, -2., 2.);
  AddHistogram(ID(kHistEtaPhiAssHad), "ass had;#varphi;#eta",
	       100, -0. * TMath::Pi(), 2. * TMath::Pi(),
	       100, -2., 2.);
  AddHistogram(ID(kHistEtaPhiAssProt), "ass proton;#varphi;#eta",
	       100, -0. * TMath::Pi(), 2. * TMath::Pi(),
	       100, -2., 2.);

  AddHistogram(ID(kHistPhiTrgJetEvPlane), "trg jet;#varphi - #Psi_{ev};centrality",
	       100, -0. * TMath::Pi(), 2. * TMath::Pi(),
	       100, 0., 100.);
  AddHistogram(ID(kHistPhiTrgHadEvPlane), "trg had;#varphi - #Psi_{ev};centrality",
	       100, -0. * TMath::Pi(), 2. * TMath::Pi(),
	       100, 0., 100.);
  AddHistogram(ID(kHistPhiRndTrgJetEvPlane), "rnd trg jet;#varphi - #Psi_{ev};centrality",
	       100, -0. * TMath::Pi(), 2. * TMath::Pi(),
	       100, 0., 100.);
  AddHistogram(ID(kHistPhiRndTrgHadEvPlane), "rnd trg had;#varphi - #Psi_{ev};centrality",
	       100, -0. * TMath::Pi(), 2. * TMath::Pi(),
	       100, 0., 100.);
  AddHistogram(ID(kHistPhiAssHadEvPlane), "ass had;#varphi - #Psi_{ev};centrality",
	       100, -0. * TMath::Pi(), 2. * TMath::Pi(),
	       100, 0., 100.);
  AddHistogram(ID(kHistPhiAssProtEvPlane), "ass prot;#varphi - #Psi_{ev};centrality",
	       100, -0. * TMath::Pi(), 2. * TMath::Pi(),
	       100, 0., 100.);
  AddHistogram(ID(kHistPhiAssHadVsEvPlane), "ass had;#Psi_{ev};#varphi;centrality",
	       100, -0. * TMath::Pi(), 1. * TMath::Pi(),
	       100, -0. * TMath::Pi(), 2. * TMath::Pi(),
	       100, 0., 100.);

  AddHistogram(ID(kHistPhiTrgJetEvPlane3), "trg jet;#varphi - #Psi_{ev};centrality",
	       100, -0. * TMath::Pi(), 2. * TMath::Pi(),
	       100, 0., 100.);
  AddHistogram(ID(kHistPhiTrgHadEvPlane3), "trg had;#varphi - #Psi_{ev};centrality",
	       100, -0. * TMath::Pi(), 2. * TMath::Pi(),
	       100, 0., 100.);
  AddHistogram(ID(kHistPhiAssHadEvPlane3), "ass had;#varphi - #Psi_{ev};centrality",
	       100, -0. * TMath::Pi(), 2. * TMath::Pi(),
	       100, 0., 100.);
  AddHistogram(ID(kHistPhiAssProtEvPlane3), "ass prot;#varphi - #Psi_{ev};centrality",
	       100, -0. * TMath::Pi(), 2. * TMath::Pi(),
	       100, 0., 100.);

  for (Int_t iCorr = 0; iCorr < kCorrLast; ++iCorr) {
    for (Int_t iCl = 0; iCl < kClLast; ++iCl) {
      for (Int_t iEv = 0; iEv < kEvLast; ++iEv) {
	// we don't need the mixed event histograms for the embedded excess particles
	if ((iCorr > kCorrRndJetProt) && (iEv == kEvMix))
	  continue;

  	GetHistCorr((CorrType_t) iCorr, (Class_t) iCl, (Ev_t) iEv) =
  	  new AliHistCorr(Form("corr_%s_%s_%s", fkCorrTypeName[iCorr], fkClassName[iCl], fkEvName[iEv]), fOutputList);
      }
    }
  }

  PostData(1, fOutputList);
}

Bool_t AliAnalysisTaskJetProtonCorr::Notify()
{
  // actions to be taken upon notification about input file change

  return AliAnalysisTaskSE::Notify();
}

void AliAnalysisTaskJetProtonCorr::SetParamsTOF()
{
  fParamsTOF =
    dynamic_cast<AliTOFPIDParams*> (fOADBContainerTOF->GetObject(fRunNumber, "TOFparams"));

  if (!fParamsTOF)
    AliError(Form("failed to load TOF parameters for run %i", fRunNumber));
  else if (fDebug > 2) {
    printf("loaded TOF parameters for run %i\n",
	   fRunNumber);
    printf("   intrinsic resolution: %f ps\n",
	   fParamsTOF->GetTOFresolution());
    printf("   tail fraction: %f\n",
	   fParamsTOF->GetTOFtail());
    printf("   start time method: %i\n",
	   fParamsTOF->GetStartTimeMethod());
    printf("   TOF signal parametrization: %f, %f, %f, %f\n",
	   fParamsTOF->GetSigParams(0), fParamsTOF->GetSigParams(1),
	   fParamsTOF->GetSigParams(2), fParamsTOF->GetSigParams(3));
    printf("   matching loss MC: %f%%\n",
	   fParamsTOF->GetTOFmatchingLossMC());
    printf("   additional mismatch for MC: %f%%\n",
	   fParamsTOF->GetTOFadditionalMismForMC());
    printf("   time offset: %f\n",
	   fParamsTOF->GetTOFtimeOffset());
  }
}

void AliAnalysisTaskJetProtonCorr::UserExec(Option_t * /* option */)
{
  // actual work

  // setup pointers to input data (null if unavailable)
  // mcEvent:  MC input
  // esdEvent: ESD input
  // outEvent: AOD output
  // aodEvent: AOD input if available, otherwise AOD output

  fMCEvent   = this->MCEvent();
  fESDEvent  = dynamic_cast<AliESDEvent*>(this->InputEvent()); // could also be AOD input
  AliAODEvent* outEvent  = this->AODEvent();
  fAODEvent  = dynamic_cast<AliAODEvent*> (this->InputEvent());
  if (!fAODEvent)
    fAODEvent = outEvent;

  if ((fDebug > 0) && fESDEvent)
    printf("event: %s-%06i\n", CurrentFileName(), fESDEvent->GetEventNumberInFile());

  // record number of sampled events and detect trigger contributions
  FillH1(kHistStat, kStatSeen);
  if (!DetectTriggers()) {
    AliError("Failed to detect the triggers");
    return;
  }

  if (!IsTrigger(kTriggerInt))
    return;

  FillH1(kHistStat, kStatTrg);

  // prepare the event
  // (make sure it is cleaned up in the end)
  if (PrepareEvent()) {
    FillH1(kHistStat, kStatUsed);
    FillH1(kHistCentrality, fCentrality);
    FillH1(kHistCentralityCheck, fCentralityCheck);

    FillH1(kHistVertexZ, fZvtx);

    // event cuts
    if (TMath::Abs(fZvtx) > 10.)
      goto stop;
    if (GetCentrality() > 90.)
      goto stop;

    FillH1(kHistStat, kStatEvCuts);

    // event category
    DetectClasses();
    if (IsClass(kClCentral))
      FillH1(kHistStat, kStatCentral);
    if (IsClass(kClSemiCentral))
      FillH1(kHistStat, kStatSemiCentral);

    FillH1(kHistEvPlane, fEventPlaneAngle);
    FillH2(kHistEvPlaneRes, fEventPlaneRes, fCentrality);
    FillH1(kHistEvPlaneCheck, fEventPlaneAngleCheck);
    FillH1(kHistEvPlane3, fEventPlaneAngle3);
    FillH2(kHistEvPlaneCross, TMath::Cos(2. * (fEventPlaneAngle - fEventPlaneAngleCheck)), GetCentrality());
    for (Int_t iClass = 0; iClass < kClLast; ++iClass) {
      if (IsClass((Class_t) iClass)) {
        FillH2(kHistCentralityUsed, fCentrality, iClass);
        FillH2(kHistCentralityCheckUsed, fCentralityCheck, iClass);
	FillH2(kHistEvPlaneUsed, fEventPlaneAngle, iClass);
	FillH2(kHistEvPlaneCheckUsed, fEventPlaneAngleCheck, iClass);
	FillH3(kHistEvPlaneCorr, fEventPlaneAngle, fEventPlaneAngleCheck, iClass);
      }
    }

    Bool_t corrEta  = fPIDResponse->UseTPCEtaCorrection();
    Bool_t corrMult = fPIDResponse->UseTPCMultiplicityCorrection();

    // select trigger particles and potential associated particles/protons
    TObjArray trgArray[kTrgLast];
    TObjArray assArray[kAssLast];

    // prepare TOF response
    TF1 fTOFsignal("fTOFsignal", &AliAnalysisTaskJetProtonCorr::TOFsignal, -2440., 2440., 4);
    fTOFsignal.SetParameter(0, 1.);
    fTOFsignal.SetParameter(1, 0.);
    if (fParamsTOF) {
      Float_t res  = fParamsTOF->GetTOFresolution();
      Float_t tail = fParamsTOF->GetTOFtail() * res;
      fTOFsignal.SetParameter(2, res);
      fTOFsignal.SetParameter(3, tail);
    }
    else {
      fTOFsignal.SetParameter(2, 85.);
      fTOFsignal.SetParameter(3, 80.);
    }

    // associate candidates
    const Int_t nPrimTracksAss = fPrimTrackArrayAss ? fPrimTrackArrayAss->GetEntries() : 0;
    FillH2(kHistCentralityVsMult, fCentrality, nPrimTracksAss);
    for (Int_t iTrack = 0; iTrack < nPrimTracksAss; ++iTrack) {
      AliVTrack *trk = (AliVTrack*) fPrimTrackArrayAss->At(iTrack);
      FillH2(kHistSignalTPC, trk->P(), trk->GetTPCsignal());
      // ??? pt or p?
      FillH2(kHistSignalTOF, trk->P(), trk->GetTOFsignal() * 1.e-3); // ps -> ns
      FillH3(kHistNsigmaTPCTOF,
             trk->P(),
             fPIDResponse->NumberOfSigmasTPC(trk, AliPID::kProton),
             fPIDResponse->NumberOfSigmasTOF(trk, AliPID::kProton));
      FillH3(kHistNsigmaTPCTOFPt,
             trk->Pt(),
             fPIDResponse->NumberOfSigmasTPC(trk, AliPID::kProton),
             fPIDResponse->NumberOfSigmasTOF(trk, AliPID::kProton));

      FillH3(kHistPhiAssHadVsEvPlane, fEventPlaneAngle, trk->Phi(), fCentrality);

      if (AcceptAssoc(trk)) {
	Float_t phiRel = GetPhiRel2(trk);
	Float_t phiRel3 = trk->Phi() - fEventPlaneAngle3;
	if (phiRel3 < 0.)
	  phiRel3 += 2. * TMath::Pi();
	assArray[kAssHad].Add(trk);
	FillH1(kHistEtaPhiAssHad, trk->Phi(), trk->Eta());
	FillH2(kHistPhiAssHadEvPlane, phiRel, fCentrality);
	FillH2(kHistPhiAssHadEvPlane3, phiRel3, fCentrality);
	FillH3(kHistNsigmaTPCTOFUsed,
	       trk->P(),
	       fPIDResponse->NumberOfSigmasTPC(trk, AliPID::kProton),
	       fPIDResponse->NumberOfSigmasTOF(trk, AliPID::kProton));
	FillH3(kHistNsigmaTPCTOFUsedPt,
	       trk->Pt(),
	       fPIDResponse->NumberOfSigmasTPC(trk, AliPID::kProton),
	       fPIDResponse->NumberOfSigmasTOF(trk, AliPID::kProton));

	// central events
	if (IsClass(kClCentral)) {
	  FillH3(kHistNsigmaTPCTOFUsedCentral,
		 trk->P(),
		 fPIDResponse->NumberOfSigmasTPC(trk, AliPID::kProton),
		 fPIDResponse->NumberOfSigmasTOF(trk, AliPID::kProton));
	  FillH3(kHistNsigmaTPCTOFUsedPtCentral,
		 trk->Pt(),
		 fPIDResponse->NumberOfSigmasTPC(trk, AliPID::kProton),
		 fPIDResponse->NumberOfSigmasTOF(trk, AliPID::kProton));
	  if (fMCEvent) {
	    if (AliMCParticle *mcPart = (AliMCParticle*) fMCEvent->GetTrack(TMath::Abs(trk->GetLabel()))) {
	      for (Int_t iParticle = 0; iParticle <= AliPID::kDeuteron; ++iParticle) {
		if (TMath::Abs(mcPart->Particle()->GetPdgCode()) == AliPID::ParticleCode(iParticle))
		  FillH3(kHistNsigmaTPCTOFUsedCentralMCe,
			 trk->P(),
			 fPIDResponse->NumberOfSigmasTPC(trk, AliPID::kProton),
			 fPIDResponse->NumberOfSigmasTOF(trk, AliPID::kProton),
			 1., iParticle);
	      }
	    }
	  }
	}

	// semi-central events
	if (IsClass(kClSemiCentral)) {
	  FillH3(kHistNsigmaTPCTOFUsedSemiCentral,
		 trk->P(),
		 fPIDResponse->NumberOfSigmasTPC(trk, AliPID::kProton),
		 fPIDResponse->NumberOfSigmasTOF(trk, AliPID::kProton));
	  FillH3(kHistNsigmaTPCTOFUsedPtSemiCentral,
		 trk->Pt(),
		 fPIDResponse->NumberOfSigmasTPC(trk, AliPID::kProton),
		 fPIDResponse->NumberOfSigmasTOF(trk, AliPID::kProton));
	  if (fMCEvent) {
	    if (AliMCParticle *mcPart = (AliMCParticle*) fMCEvent->GetTrack(TMath::Abs(trk->GetLabel()))) {
	      for (Int_t iParticle = 0; iParticle <= AliPID::kDeuteron; ++iParticle) {
		if (TMath::Abs(mcPart->Particle()->GetPdgCode()) == AliPID::ParticleCode(iParticle))
		  FillH3(kHistNsigmaTPCTOFUsedSemiCentralMCe,
			 trk->P(),
			 fPIDResponse->NumberOfSigmasTPC(trk, AliPID::kProton),
			 fPIDResponse->NumberOfSigmasTOF(trk, AliPID::kProton),
			 1., iParticle);
	      }
	    }
	  }
	}

	// protons
	if (IsProton(trk)) {
	  assArray[kAssProt].Add(trk);
	  FillH1(kHistEtaPhiAssProt, trk->Phi(), trk->Eta());
	  FillH2(kHistPhiAssProtEvPlane, phiRel, fCentrality);
	  FillH2(kHistPhiAssProtEvPlane3, phiRel3, fCentrality);
	}

	// template generation
	if (fPIDResponse->CheckPIDStatus(AliPIDResponse::kTPC, trk) == AliPIDResponse::kDetPidOk) {
	  Double_t deltaTPC;
	  fPIDResponse->GetSignalDelta(AliPIDResponse::kTPC, trk, AliPID::kProton, deltaTPC);
	  if (IsClass(kClCentral))
	    FillH2(kHistDeltaTPC, trk->P(), deltaTPC);
	  if (IsClass(kClSemiCentral))
	    FillH2(kHistDeltaTPCSemi, trk->P(), deltaTPC);

	  Double_t expTPC = fPIDResponse->GetTPCResponse().GetExpectedSignal(trk, AliPID::kProton, AliTPCPIDResponse::kdEdxDefault, corrEta, corrMult);
	  Double_t expSigmaTPC = fPIDResponse->GetTPCResponse().GetExpectedSigma(trk, AliPID::kProton, AliTPCPIDResponse::kdEdxDefault, corrEta, corrMult);

	  // loop over particles
	  for (Int_t iParticle = 0; iParticle <= AliPID::kDeuteron; ++iParticle) {
	    Double_t expTPCx = fPIDResponse->GetTPCResponse().GetExpectedSignal(trk, AliPID::EParticleType(iParticle), AliTPCPIDResponse::kdEdxDefault, corrEta, corrMult);
	    Double_t expSigmaTPCx = fPIDResponse->GetTPCResponse().GetExpectedSigma(trk, AliPID::EParticleType(iParticle), AliTPCPIDResponse::kdEdxDefault, corrEta, corrMult);
	    Double_t rndTPCx = gRandom->Gaus(expTPCx, expSigmaTPCx);

	    if(IsClass(kClCentral))
	      FillH2(kHistNsigmaTPCe, trk->P(), (rndTPCx-expTPC)/expSigmaTPC, 1., iParticle);
	    if(IsClass(kClSemiCentral))
	      FillH2(kHistNsigmaTPCeSemi, trk->P(), (rndTPCx-expTPC)/expSigmaTPC, 1., iParticle);
	  }
	}

	if (fPIDResponse->CheckPIDStatus(AliPIDResponse::kTOF, trk) == AliPIDResponse::kDetPidOk) {
	  Double_t deltaTOF;
	  fPIDResponse->GetSignalDelta(AliPIDResponse::kTOF, trk, AliPID::kProton, deltaTOF);

	  AliTOFPIDResponse &tofResponse = fPIDResponse->GetTOFResponse();

	  Float_t p = trk->P();
	  if (const AliExternalTrackParam *param = trk->GetInnerParam())
	    p = param->GetP();

	  Double_t expTOF = fPIDResponse->GetTOFResponse().GetExpectedSignal(trk, AliPID::kProton);
	  Double_t expSigmaTOF = fPIDResponse->GetTOFResponse().GetExpectedSigma(p, expTOF, AliPID::kProton);
	  Double_t length = trk->GetIntegratedLength() * 1.e-2; // cm -> m
	  Double_t tof = trk->GetTOFsignal() * 1.e-12; // ps -> s
	  Double_t beta = length / tof / TMath::C();

	  FillH2(kHistBetaTOF, p, beta);

	  // intrinsic TOF smearing
	  // Double_t signalSigma = TMath::Sqrt(fTOFsignal.Variance(-2000., 2000.));
	  Double_t signalSmear = fTOFsignal.GetRandom();
	  // t0 smearing
	  Float_t  timezeroSigma = tofResponse.GetT0binRes(tofResponse.GetMomBin(p));
	  Double_t timezeroSmear  = gRandom->Gaus(0., timezeroSigma);
	  // tracking smearing (default parameters, should be overwritten from OADB)
	  Double_t fPar[] = { 0.008, 0.008, 0.002, 40.0 };
	  if (fParamsTOF)
	    for (Int_t i = 0; i < 4; ++i)
	      fPar[i] = fParamsTOF->GetSigParams(i);

	  // loop over particles
	  for (Int_t iParticle = 0; iParticle <= AliPID::kDeuteron; ++iParticle) {
	    Double_t expTOFx = fPIDResponse->GetTOFResponse().GetExpectedSignal(trk, AliPID::EParticleType(iParticle));
	    // Double_t cmpSigmaTOFx = fPIDResponse->GetTOFResponse().GetExpectedSigma(p, expTOFx, AliPID::EParticleType(iParticle));

	    // tracking smearing
	    Double_t massx = AliPID::ParticleMassZ(AliPID::EParticleType(iParticle));
	    Double_t dppx = fPar[0] + fPar[1] * p + fPar[2] * massx / p;
	    Double_t expSigmaTOFx = dppx * expTOFx / (1.+ p * p / (massx * massx));
	    Double_t texpSmearx = gRandom->Gaus(0., TMath::Sqrt(expSigmaTOFx * expSigmaTOFx + fPar[3]*fPar[3]/p/p));
	    // Double_t tmpSigmaTOFx = TMath::Sqrt(signalSigma*signalSigma +
	    // 					timezeroSigma*timezeroSigma +
	    // 					expSigmaTOFx*expSigmaTOFx + fPar[3]*fPar[3]/p/p);
	    // printf("sigma comparison %i, %f: %f, %f, %f -> %f vs %f\n",
	    // 	   iParticle, expTOFx,
	    // 	   signalSigma, // signal
	    // 	   timezeroSigma, // timezero
	    // 	   expSigmaTOFx, // tracking
	    // 	   tmpSigmaTOFx, // total
	    // 	   cmpSigmaTOFx); // from PID response

	    // TOF signal
	    Double_t rndTOFx = expTOFx + signalSmear + timezeroSmear + texpSmearx;

	    if (IsClass(kClCentral)) {
	      FillH2(kHistNsigmaTOFe, trk->P(), (rndTOFx-expTOF)/expSigmaTOF, 1., iParticle);
	      FillH2(kHistDeltaTOFe, trk->P(), (rndTOFx-expTOF) * 1.e-3, 1., iParticle);
	      // FillH2(kHistExpSigmaTOFe, p, cmpSigmaTOFx * 1.e-3, 1., iParticle);
	      // FillH2(kHistCmpSigmaTOFe, cmpSigmaTOFx * 1.e-3, tmpSigmaTOFx * 1.e-3, 1., iParticle);
	    }
	    if (IsClass(kClSemiCentral)) {
	      FillH2(kHistNsigmaTOFeSemi, trk->P(), (rndTOFx-expTOF)/expSigmaTOF, 1., iParticle);
	      FillH2(kHistDeltaTOFeSemi, trk->P(), (rndTOFx-expTOF) * 1.e-3, 1., iParticle);
	      // FillH2(kHistCmpSigmaTOFeSemi, cmpSigmaTOFx * 1.e-3, tmpSigmaTOFx * 1.e-3, 1., iParticle);
	      // FillH2(kHistExpSigmaTOFeSemi, p, cmpSigmaTOFx * 1.e-3, 1., iParticle);
	    }
	  }

	  Double_t rndTOFmismatch = AliTOFPIDResponse::GetMismatchRandomValue(trk->Eta());

	  if(IsClass(kClCentral)) {
	    FillH2(kHistNsigmaTOFmismatch, trk->P(), (rndTOFmismatch - expTOF) / expSigmaTOF);
	    FillH2(kHistDeltaTOF, trk->P(), deltaTOF * 1.e-3); // ps -> ns
	  }
	  if(IsClass(kClSemiCentral)) {
	    FillH2(kHistNsigmaTOFmismatchSemi, trk->P(), (rndTOFmismatch - expTOF) / expSigmaTOF);
	    FillH2(kHistDeltaTOFSemi, trk->P(), deltaTOF * 1.e-3); // ps -> ns
	  }
	}
      }
    }

    const Int_t nPrimTracksTrg = fPrimTrackArrayTrg ? fPrimTrackArrayTrg->GetEntries() : 0;
    for (Int_t iTrack = 0; iTrack < nPrimTracksTrg; ++iTrack) {
      AliVTrack *trk = (AliVTrack*) fPrimTrackArrayTrg->At(iTrack);
      if (AcceptTrigger(trk)) {
	trgArray[kTrgHad].Add(trk);
	FillH1(kHistEtaPhiTrgHad, trk->Phi(), trk->Eta());
      }
    }

    // select trigger jet
    // and remove them from the Q vector
    Int_t nJets = fJetArray ? fJetArray->GetEntries() : 0;
    const TVector2 *qVectorOrig = fEventplane->GetQVector();
    TVector2 qVector;
    if (qVectorOrig)
      qVector = *qVectorOrig;

    for (Int_t iJet = 0; iJet < nJets; ++iJet) {
      AliAODJet *jet = (AliAODJet*) fJetArray->At(iJet);

      if (AcceptTrigger(jet)) {
	trgArray[kTrgJet].Add(jet);
	FillH1(kHistEtaPhiTrgJet, jet->Phi(), jet->Eta());

	if (qVectorOrig) {
	  Int_t nRefTracks = jet->GetRefTracks()->GetEntriesFast();
	  for (Int_t iTrack = 0; iTrack < nRefTracks; ++iTrack) {
	    AliVTrack *track = (AliVTrack*) jet->GetRefTracks()->At(iTrack);
	    
	    if (fEventplane && track &&
		(track->GetID() > -1)) {
	      TVector2 evplaneContrib(fEventplane->GetQContributionX(track),
				      fEventplane->GetQContributionY(track));
	      qVector -= evplaneContrib;
	    }
	  }
	}
      }
    }
    if (qVectorOrig) {
      for (Int_t iClass = 0; iClass < kClLast; ++iClass) {
	if (IsClass((Class_t) iClass)) {
	  FillH3(kHistEvPlaneCorrNoTrgJets, qVectorOrig->Phi()/2., qVector.Phi()/2., iClass);
	  if (trgArray[kTrgJet].GetEntriesFast() > 0)
	    FillH3(kHistEvPlaneCorrNoTrgJetsTrgd, qVectorOrig->Phi()/2., qVector.Phi()/2., iClass);
	}
      }
    }

    // invent a trigger jet/hadron and correlated associates
    Float_t pFraction = assArray[kAssHad].GetEntries() > 0 ?
      (Float_t) (assArray[kAssProt].GetEntries()) / assArray[kAssHad].GetEntries() :
      .5;
    GenerateRandom(&trgArray[kTrgJetRnd], &trgArray[kTrgHadRnd],
		   &assArray[kAssHadJetExc], &assArray[kAssProtJetExc],
		   &assArray[kAssHadHadExc], &assArray[kAssProtHadExc],
		   pFraction);

    // correlate, both same and mixed event
    for (Int_t iClass = 0; iClass < kClLast; ++iClass) {
      if (IsClass((Class_t) iClass)) {
	for (Int_t iTrg = 0; iTrg < kTrgLast; ++iTrg) {
	  for (Int_t iAss = 0; iAss <= kAssProt; ++iAss) {
	    // same event
	    Correlate((Trg_t) iTrg, (Ass_t) iAss, (Class_t) iClass, kEvSame, &trgArray[iTrg], &assArray[iAss]);

	    // mixed event
	    AliEventPool *pool = GetPool((Ass_t) iAss);
	    if (pool)
	      FillH2(kHistNevMix, pool->GetCurrentNEvents(), iAss);
	    if (pool && pool->IsReady()) {
	      AliDebug(1, Form("----- using pool: %i %i %i -----", iClass, iTrg, iAss));
	      const Int_t nEvents = pool->GetCurrentNEvents();
	      for (Int_t iEvent = 0; iEvent < nEvents; ++iEvent) {
		TObjArray *assTracks = pool->GetEvent(iEvent);
		Correlate((Trg_t) iTrg, (Ass_t) iAss, (Class_t) iClass, kEvMix, &trgArray[iTrg], assTracks, 1./nEvents);
	      }
	    }
	  }
	}

	// fill event pool for mixing
	// >= 0: don't require a trigger in the event
	// >= 1: require a trigger in the event
	// if (trgArray[iTrg].GetEntries() >= 0) {
	for (Int_t iAss = 0; iAss <= kAssProt; ++iAss) {
	  AliEventPool *pool = GetPool((Ass_t) iAss);
	  if (pool) {
	    pool->UpdatePool(CloneTracks(&assArray[iAss]));
	    AliDebug(1, Form("----- updating pool: %i -----", iAss));
	    if (fDebug > 0)
	      pool->PrintInfo();
	  }
	}
	// }

	// correlate artificial triggers and associates
	Correlate(kCorrRndJetExcHad,  (Class_t) iClass, kEvSame, &trgArray[kTrgJetRnd], &assArray[kAssHadJetExc]);
	Correlate(kCorrRndJetExcProt, (Class_t) iClass, kEvSame, &trgArray[kTrgJetRnd], &assArray[kAssProtJetExc]);
	Correlate(kCorrRndHadExcHad,  (Class_t) iClass, kEvSame, &trgArray[kTrgHadRnd], &assArray[kAssHadHadExc]);
	Correlate(kCorrRndHadExcProt, (Class_t) iClass, kEvSame, &trgArray[kTrgHadRnd], &assArray[kAssProtHadExc]);
      }
    }

    trgArray[kTrgJetRnd].Delete();
    trgArray[kTrgHadRnd].Clear();
    assArray[kAssHadJetExc].Delete();
    assArray[kAssProtJetExc].Clear();
    assArray[kAssHadHadExc].Delete();
    assArray[kAssProtHadExc].Clear();
  }

 stop:
  CleanUpEvent();

  PostData(1, fOutputList);
}

void AliAnalysisTaskJetProtonCorr::Terminate(const Option_t * /* option */)
{
  // actions at task termination

}

void AliAnalysisTaskJetProtonCorr::PrintTask(Option_t *option, Int_t indent) const
{
  AliAnalysisTaskSE::PrintTask(option, indent);

  std::cout << std::setw(indent) << " " << "using jet branch: " << fJetBranchName << std::endl;
}

Bool_t AliAnalysisTaskJetProtonCorr::DetectTriggers()
{
  fTriggerMask = 0;

  AliVEvent::EOfflineTriggerTypes physSel =
    (AliVEvent::EOfflineTriggerTypes) ((AliInputEventHandler*) (AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected();
  // TString trgClasses = InputEvent()->GetFiredTriggerClasses();

  // physics selection
  if (physSel & (AliVEvent::kMB | AliVEvent::kCentral | AliVEvent::kSemiCentral))
    MarkTrigger(kTriggerInt);

  return kTRUE;
}

Bool_t AliAnalysisTaskJetProtonCorr::DetectClasses()
{
  fClassMask = 0;

  if (IsCentral())
    MarkClass(kClCentral);

  if (IsSemiCentral())
    MarkClass(kClSemiCentral);

  return kTRUE;
}

Bool_t AliAnalysisTaskJetProtonCorr::PrepareEvent()
{
  Bool_t eventGood = kTRUE;

  // check for run change
  if (fRunNumber != InputEvent()->GetRunNumber()) {
    fRunNumber = InputEvent()->GetRunNumber();
    SetParamsTOF();
  }

  // retrieve z-vertex position
  fZvtx = 100.;
  const AliVVertex *vtx = InputEvent()->GetPrimaryVertex();
  if (vtx) {
    FillH1(kHistStat, kStatVtx);
    FillH1(kHistVertexNctb, vtx->GetNContributors());
    if (vtx->GetNContributors() >= 3.)
      fZvtx = vtx->GetZ();
  }

  // retrieve centrality
  AliCentrality *eventCentrality = InputEvent()->GetCentrality();
  if (eventCentrality) {
    fCentrality = eventCentrality->GetCentralityPercentile("V0M");
    fCentralityCheck = eventCentrality->GetCentralityPercentile("TRK");
    if (fCentrality >= 0.) {
      FillH1(kHistStat, kStatCent);
    } else {
      // centrality estimation not reliable
      eventGood = kFALSE;
      fCentrality = 105.;
    }
  }
  else
    eventGood = kFALSE;

  // retrieve event plane
  fEventplane = InputEvent()->GetEventplane();
  if (fEventplane) {
    fEventPlaneAngle3 = fEventplane->GetEventplane("V0", InputEvent(), 3);

    if (fUseEvplaneV0) {
      fEventPlaneAngle = fEventplane->GetEventplane("V0", InputEvent());
      fEventPlaneAngleCheck = fEventplane->GetEventplane("Q");
    }
    else {
      fEventPlaneAngle = fEventplane->GetEventplane("Q");
      fEventPlaneRes   = TMath::Cos(2 * fEventplane->GetQsubRes());
      fEventPlaneAngleCheck = fEventplane->GetEventplane("V0", InputEvent());
      // use V0 event plane angle from flow task:
      // fEventPlaneAngleCheck = AliAnalysisTaskVnV0::GetPsi2V0A();
      // printf("V0A evplane = %f\n", fEventPlaneAngleCheck);
      // fEventPlaneAngleCheck = AliAnalysisTaskVnV0::GetPsi2V0C();
      // printf("V0C evplane = %f\n", fEventPlaneAngleCheck);
    }

    // ensure angles to be in [0, ...)
    if (fEventPlaneAngle3 < 0)
      fEventPlaneAngle3 += 2.*TMath::Pi()/3.;
    if (fEventPlaneAngle < 0)
      fEventPlaneAngle += TMath::Pi();
    if (fEventPlaneAngleCheck < 0)
      fEventPlaneAngleCheck += TMath::Pi();

    FillH1(kHistStat, kStatEvPlane);
  }
  else
    eventGood = kFALSE;

  // retrieve PID
  fPIDResponse = ((AliInputEventHandler*) (AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->GetPIDResponse();
  if (fPIDResponse)
    FillH1(kHistStat, kStatPID);
  else
    eventGood = kFALSE;

  // retrieve primary tracks
  if (fESDEvent) {
    fPrimTrackArrayAss = fCutsPrimAss->GetAcceptedTracks(fESDEvent);
    fPrimTrackArrayTrg = fCutsPrimTrg->GetAcceptedTracks(fESDEvent);
    if (fCutsPrimTrgConstrain) {
      TIter trkIter(fCutsPrimTrgConstrain->GetAcceptedTracks(fESDEvent));
      while (AliESDtrack *trk = (AliESDtrack*) trkIter()) {
	if (!fCutsPrimTrg->IsSelected(trk)) {
	  AliESDtrack *track = (AliESDtrack*) fPrimConstrainedTrackArray->ConstructedAt(fPrimConstrainedTrackArray->GetEntriesFast());
	  if(trk->GetConstrainedParam()) {
	    track->Set(trk->GetConstrainedParam()->GetX(),
		       trk->GetConstrainedParam()->GetAlpha(),
		       trk->GetConstrainedParam()->GetParameter(),
		       trk->GetConstrainedParam()->GetCovariance());
	  }
	  fPrimTrackArrayTrg->Add(track);
	}
      }
    }
  }
  else if (fAODEvent) {
    // associate candidates
    fPrimTrackArrayAss = new TObjArray();
    const Int_t nTracksAODAss = fAODEvent->GetNumberOfTracks();
    for (Int_t iTrack = 0; iTrack < nTracksAODAss; ++iTrack) {
      AliAODTrack *trk = dynamic_cast<AliAODTrack*>(fAODEvent->GetTrack(iTrack));
      if(!trk) AliFatal("Not a standard AOD");
      if (trk->TestFilterBit(fAssFilterMask))
        fPrimTrackArrayAss->Add(trk);
    }

    // trigger candidates
    fPrimTrackArrayTrg = new TObjArray();
    const Int_t nTracksAODTrg = fAODEvent->GetNumberOfTracks();
    for (Int_t iTrack = 0; iTrack < nTracksAODTrg; ++iTrack) {
      AliAODTrack *trk = dynamic_cast<AliAODTrack*>(fAODEvent->GetTrack(iTrack));
      if(!trk) AliFatal("Not a standard AOD");
      if (trk->IsHybridGlobalConstrainedGlobal())
        fPrimTrackArrayTrg->Add(trk);
    }
  }
  else
    eventGood = kFALSE;

  // retrieve jet array
  if (fAODEvent) {
    fJetArray = dynamic_cast<TClonesArray*> (fAODEvent->FindListObject(fJetBranchName));
    if (!fJetArray) {
      // still try the output event
      if (AODEvent())
        fJetArray = dynamic_cast<TClonesArray*> (AODEvent()->FindListObject(fJetBranchName));
      if (!fJetArray) {
	if (fErrorMsg > 0) {
	  AliError(Form("no jet branch \"%s\" found, in the AODs are:", fJetBranchName));
	  --fErrorMsg;
	}
        if (fDebug > 0) {
	  fAODEvent->GetList()->Print();
          if (AODEvent())
            AODEvent()->GetList()->Print();
        }
      }
    }
  }

  // retrieve event pool for the event category
  if (eventGood) {
    for (Int_t iAss = 0; iAss <= kAssProt; ++iAss) {
      AliEventPoolManager *mgr = GetPoolMgr((Ass_t) iAss);
      GetPool((Ass_t) iAss) =
	// mgr ? mgr->GetEventPool(fCentrality, fZvtx, fEventPlaneAngle) : 0x0;
	mgr ? mgr->GetEventPool(fCentrality, fZvtx) : 0x0;
    }
  }

  return eventGood;
}

Float_t AliAnalysisTaskJetProtonCorr::GetPhiRel2(AliVParticle *part) const
{
  // calculate the angle to the event plane
  // after removing the particle's own contribution to the Q vector

  AliVTrack *track = dynamic_cast<AliVTrack*> (part);
  AliAODJet *jet   = dynamic_cast<AliAODJet*> (part);

  Float_t phiRel = -1.;

  if (!fEventplane)
    return phiRel;

  const TVector2 *qVectorOrig = fEventplane->GetQVector();
  if (!qVectorOrig)
    return phiRel;

  TVector2 qVector = *qVectorOrig;

  // ??? protect against negative ID
  // but should be handled properly by event plane
  if (track && (track->GetID() > -1)) {
    TVector2 evplaneContrib(fEventplane->GetQContributionX(track),
			    fEventplane->GetQContributionY(track));
    qVector -= evplaneContrib;
  }
  else if (jet) {
    const Int_t nRefTracks = jet->GetRefTracks()->GetEntriesFast();
    for (Int_t iTrack = 0; iTrack < nRefTracks; ++iTrack) {
      AliVTrack *contrib = (AliVTrack*) jet->GetRefTracks()->At(iTrack);
	    
      if (contrib && (contrib->GetID() > -1)) {
    	TVector2 evplaneContrib(fEventplane->GetQContributionX(contrib),
    				fEventplane->GetQContributionY(contrib));
    	qVector -= evplaneContrib;
      }
    }
  }

  // assign phiRel and map to [0, 2 pi)
  phiRel = part->Phi() - (qVector.Phi() / 2.);
  // if (gRandom->Rndm() > .5)
  // 	phiRel -= TMath::Pi();
  while (phiRel < 0.)
    phiRel += TMath::TwoPi();
  while (phiRel > TMath::TwoPi())
    phiRel -= TMath::TwoPi();

  return phiRel;
}

Bool_t AliAnalysisTaskJetProtonCorr::AcceptTrigger(AliVTrack *trg)
{
  if (TMath::Abs(trg->Eta()) > fHadEtaMax)
    return kFALSE;

  // check pt interval
  Bool_t acceptPt =
    (trg->Pt() >= fTrgPartPtMin) &&
    (trg->Pt() <= fTrgPartPtMax);

  // for semi-central events check phi w.r.t. event plane
  Bool_t acceptOrientation = IsSemiCentral() ?
    AcceptAngleToEvPlane(trg->Phi(), GetEventPlaneAngle()) :
    kTRUE;

  if (acceptPt) {
    Float_t phiRel = trg->Phi() - fEventPlaneAngle;
    // if (gRandom->Rndm() > .5)
    //   phiRel -= TMath::Pi();
    if (phiRel < 0.)
      phiRel += 2. * TMath::Pi();
    Float_t phiRel3 = trg->Phi() - fEventPlaneAngle3;
    if (phiRel3 < 0.)
      phiRel3 += 2. * TMath::Pi();
    FillH2(kHistPhiTrgHadEvPlane, GetPhiRel2(trg), fCentrality);
    FillH2(kHistPhiTrgHadEvPlane3, phiRel3, fCentrality);
  }

  return (acceptPt && acceptOrientation);
}

AliVTrack* AliAnalysisTaskJetProtonCorr::GetLeadingTrack(const AliAODJet *jet) const
{
  // return leading track within a jet

  // check contributing tracks
  Int_t nJetTracks = jet->GetRefTracks()->GetEntriesFast();
  Int_t iLeadingTrack = -1;
  Float_t ptLeadingTrack = 0.;
  for (Int_t iTrack=0; iTrack < nJetTracks; ++iTrack) {
    AliAODTrack *track = (AliAODTrack*) jet->GetRefTracks()->At(iTrack);
    // find the leading track
    if (track->Pt() > ptLeadingTrack) {
      ptLeadingTrack = track->Pt();
      iLeadingTrack = iTrack;
    }
  }

  // retrieve the leading track
  return (AliAODTrack*) jet->GetRefTracks()->At(iLeadingTrack);
}

Bool_t AliAnalysisTaskJetProtonCorr::AcceptTrigger(AliAODJet *trg)
{
  // restrict eta
  if (TMath::Abs(trg->Eta()) > fTrgJetEtaMax)
    return kFALSE;

  // reject too small jets
  if (trg->EffectiveAreaCharged() < fTrgJetAreaMin)
    return kFALSE;

  // require hard leading track
  // (leading track biased jet sample)
  // but reject jets with too high pt constituents
  const Float_t ptLeadTrack = GetLeadingTrack(trg)->Pt();
  if ((ptLeadTrack < fTrgJetLeadTrkPtMin) ||
      (ptLeadTrack > fTrgJetLeadTrkPtMax))
    return kFALSE;

  // check for jet orientation w.r.t. event plane
  // (constrained only for semi-central events)
  Bool_t acceptOrientation = IsSemiCentral() ?
    AcceptAngleToEvPlane(trg->Phi(), GetEventPlaneAngle()) :
    kTRUE;

  // check for jet pt
  Bool_t acceptPt =
    (trg->Pt() >= fTrgJetPtMin) &&
    (trg->Pt() <= fTrgJetPtMax);

  if (acceptPt) {
    // store the azimuthal distribution relative to the event plane
    // for the jets in the pt range of interest
    Float_t phiRel = trg->Phi() - fEventPlaneAngle;
    // if (gRandom->Rndm() > .5)
    //   phiRel -= TMath::Pi();
    if (phiRel < 0.)
      phiRel += 2. * TMath::Pi();
    Float_t phiRel3 = trg->Phi() - fEventPlaneAngle3;
    if (phiRel3 < 0.)
      phiRel3 += 2. * TMath::Pi();
    FillH2(kHistPhiTrgJetEvPlane, GetPhiRel2(trg), fCentrality);
    FillH2(kHistPhiTrgJetEvPlane3, phiRel3, fCentrality);
  }

  if (acceptOrientation) {
    // spectrum for cross checks
    if (IsClass(kClCentral))
      FillH1(kHistJetPtCentral, trg->Pt());
    if (IsClass(kClSemiCentral))
      FillH1(kHistJetPtSemi, trg->Pt());
  }

  return (acceptPt && acceptOrientation);
}

Bool_t AliAnalysisTaskJetProtonCorr::AcceptAssoc(const AliVTrack *trk) const
{
  if ((trk->Pt() > fAssPartPtMin) && (trk->Pt() < fAssPartPtMax) && (TMath::Abs(trk->Eta()) < fHadEtaMax))
    if (fRequirePID) {
      if ((fPIDResponse->CheckPIDStatus(AliPIDResponse::kTPC, trk) == AliPIDResponse::kDetPidOk) &&
	  (fPIDResponse->CheckPIDStatus(AliPIDResponse::kTOF, trk) == AliPIDResponse::kDetPidOk) && 
	  (trk->GetTPCsignalN() >= 60.) && (trk->GetTPCsignal() >= 10))
	return kTRUE;
      else
	return kFALSE;
    }
    else
      return kTRUE;
  else
    return kFALSE;
}

Bool_t AliAnalysisTaskJetProtonCorr::IsProton(const AliVTrack *trk) const
{
  if ((fPIDResponse->CheckPIDStatus(AliPIDResponse::kTPC, trk) != AliPIDResponse::kDetPidOk) ||
      (fPIDResponse->CheckPIDStatus(AliPIDResponse::kTOF, trk) != AliPIDResponse::kDetPidOk) || 
      (trk->GetTPCsignalN() < 60.) || (trk->GetTPCsignal() < 10))
    return kFALSE;

  Double_t nSigmaProtonTPC = fPIDResponse->NumberOfSigmasTPC(trk, AliPID::kProton);
  Double_t nSigmaProtonTOF = fPIDResponse->NumberOfSigmasTOF(trk, AliPID::kProton);

  if ((TMath::Abs(nSigmaProtonTPC) <= 2.) && (TMath::Abs(nSigmaProtonTOF) <= 2.)) {
    return kTRUE;
  }

  return kFALSE;
}

Bool_t AliAnalysisTaskJetProtonCorr::AcceptAngleToEvPlane(Float_t phi, Float_t psi) const
{
  Float_t deltaPhi = phi - psi;
  while (deltaPhi < 0.)
    deltaPhi += 2 * TMath::Pi();

  // map to interval [-pi/2, pi/2)
  deltaPhi = std::fmod(deltaPhi + TMath::Pi()/2., TMath::Pi()) - TMath::Pi()/2.;
  // printf("delta phi = %f with phi = %f, psi = %f\n", deltaPhi, phi, psi);

  if (TMath::Abs(deltaPhi) < fTrgAngleToEvPlane)
    return kTRUE;
  else
    return kFALSE;
}

Float_t AliAnalysisTaskJetProtonCorr::GetDPhiStar(Float_t phi1, Float_t pt1, Float_t charge1,
						  Float_t phi2, Float_t pt2, Float_t charge2,
						  Float_t radius, Float_t bSign) const
{
  // calculates dphistar
  // from AliUEHistograms

  Float_t dphistar = phi1 - phi2
    - charge1 * bSign * TMath::ASin(0.075 * radius / pt1)
    + charge2 * bSign * TMath::ASin(0.075 * radius / pt2);

  static const Double_t kPi = TMath::Pi();

  // circularity
  if (dphistar > kPi)
    dphistar = kPi * 2 - dphistar;
  if (dphistar < -kPi)
    dphistar = -kPi * 2 - dphistar;
  if (dphistar > kPi) // might look funny but is needed
    dphistar = kPi * 2 - dphistar;

  return dphistar;
}


Bool_t AliAnalysisTaskJetProtonCorr::AcceptTwoTracks(const AliVParticle *trgPart, const AliVParticle *assPart) const
{
  // apply two track pair cut

  Float_t phi1 = trgPart->Phi();
  Float_t pt1 = trgPart->Pt();
  Float_t charge1 = trgPart->Charge();

  Float_t phi2 = assPart->Phi();
  Float_t pt2 = assPart->Pt();
  Float_t charge2 = assPart->Charge();

  Float_t deta = trgPart->Eta() - assPart->Eta();

  Float_t bSign = (InputEvent()->GetMagneticField() > 0) ? 1 : -1;

  // optimization
  if (TMath::Abs(deta) < fCutsTwoTrackEff) {
    // check first boundaries to see if is worth to loop and find the minimum
    Float_t dphistar1 = GetDPhiStar(phi1, pt1, charge1, phi2, pt2, charge2, 0.8, bSign);
    Float_t dphistar2 = GetDPhiStar(phi1, pt1, charge1, phi2, pt2, charge2, 2.5, bSign);

    const Float_t kLimit = fCutsTwoTrackEff * 3;

    Float_t dphistarminabs = 1e5;
    // Float_t dphistarmin = 1e5;
    if ((TMath::Abs(dphistar1) < kLimit) ||
	(TMath::Abs(dphistar2) < kLimit) ||
	(dphistar1 * dphistar2 < 0)) {
      for (Double_t rad=0.8; rad<2.51; rad+=0.01) {
	Float_t dphistarabs = TMath::Abs(GetDPhiStar(phi1, pt1, charge1, phi2, pt2, charge2, rad, bSign));
	if (dphistarabs < dphistarminabs)
	  dphistarminabs = dphistarabs;
      }

      if (dphistarminabs < fCutsTwoTrackEff)
	return kFALSE;
    }
  }

  return kTRUE;
}

Bool_t AliAnalysisTaskJetProtonCorr::Correlate(CorrType_t corr, Class_t cl, Ev_t ev,
					       TCollection *trgArray, TCollection *assArray, Float_t weight)
{
  AliHistCorr *histCorr = GetHistCorr(corr, cl, ev);
  if (!histCorr) {
    AliError(Form("no correlation histograms for corr %i, cl %i, ev %i",
		  corr, cl, ev));
    return kFALSE;
  }

  TIter assIter(assArray);
  while (TObject *assObj = assIter()) {
    if (dynamic_cast<AliVParticle*> (assObj)) {
      AliVParticle *assPart = (AliVParticle*) assObj;
      histCorr->Ass(assPart->Phi(), assPart->Eta(),
		    assPart->Pt() > 0. ? (assPart->Charge() / 3.) / assPart->Pt() : 1.e-4,
		    weight);
    }
    else if (dynamic_cast<TLorentzVector*> (assObj)) {
      TLorentzVector *assVec = (TLorentzVector*) assObj;
      histCorr->Ass(TVector2::Phi_0_2pi(assVec->Phi()), assVec->Eta(), 0., weight);
    }
  }

  TIter trgIter(trgArray);
  while (TObject *trgObj = trgIter()) {
    if (AliVParticle *trgPart = dynamic_cast<AliVParticle*> (trgObj)) {
      // count the trigger
      histCorr->Trigger(trgPart->Phi(), trgPart->Eta(),
			trgPart->Pt() > 0. ? (trgPart->Charge() / 3.) / trgPart->Pt() : 1.e-4,
			weight);

      // loop over associates
      assIter.Reset();
      while (TObject *assObj = assIter()) {
	if (AliVParticle *assPart = dynamic_cast<AliVParticle*> (assObj)) {
	  if (AcceptTwoTracks(trgPart, assPart))
	    histCorr->Fill(trgPart, assPart, weight);
	}
	else if (TLorentzVector *assVec = dynamic_cast<TLorentzVector*> (assObj)) {
	  AliFatal(Form("got %p, but not implemented", assVec));
	}
      }
    }
    else if (TLorentzVector *trgVec = dynamic_cast<TLorentzVector*> (trgObj)) {
      // count the trigger
      histCorr->Trigger(TVector2::Phi_0_2pi(trgVec->Phi()), trgVec->Eta(),
			0.,
			weight);

      // loop over associates
      assIter.Reset();
      while (TObject *assObj = assIter()) {
	if (AliVParticle *assPart = dynamic_cast<AliVParticle*> (assObj)) {
	  histCorr->Fill(trgVec, assPart, weight);
	}
	else if (TLorentzVector *assVec = dynamic_cast<TLorentzVector*> (assObj)) {
	  histCorr->Fill(trgVec, assVec, weight);
	}
      }
    }
  }

  return kTRUE;
}

Bool_t AliAnalysisTaskJetProtonCorr::Correlate(Trg_t trg, Ass_t ass, Class_t cl, Ev_t ev,
					       TCollection *trgArray, TCollection *assArray, Float_t weight)
{
  if ((trg < 0) || (trg > kTrgJetRnd))
    AliFatal(Form("wrong request for correlation with trigger: %d", trg));

  if ((ass < 0) || (ass > kAssProt))
    AliFatal(Form("wrong request for correlation with associate: %d", ass));

  CorrType_t corr = (CorrType_t) (2 * trg + ass);

  return Correlate(corr, cl, ev, trgArray, assArray, weight);
}

Bool_t AliAnalysisTaskJetProtonCorr::GenerateRandom(TCollection *trgJetArray,
						    TCollection *trgHadArray,
						    TCollection *assHadJetArray,
						    TCollection *assProtJetArray,
						    TCollection *assHadHadArray,
						    TCollection *assProtHadArray,
						    Float_t pFraction)
{
  const Int_t nPart = gRandom->Poisson(fToyMeanNoPart);

  // overcompensate modulation for event plane resolution
  if (fSplineEventPlaneRes) {
    fTrgJetPhiModCent->SetParameter(0, fTrgJetV2Cent / fSplineEventPlaneRes->Eval(GetCentrality()));
    fTrgJetPhiModSemi->SetParameter(0, fTrgJetV2Semi / fSplineEventPlaneRes->Eval(GetCentrality()));
    fTrgHadPhiModCent->SetParameter(0, fTrgHadV2Cent / fSplineEventPlaneRes->Eval(GetCentrality()));
    fTrgHadPhiModSemi->SetParameter(0, fTrgHadV2Semi / fSplineEventPlaneRes->Eval(GetCentrality()));
  }
  else {
    printf("no event plane resolution spline available\n");
    fTrgJetPhiModCent->SetParameter(0, fTrgJetV2Cent);
    fTrgJetPhiModSemi->SetParameter(0, fTrgJetV2Semi);
    fTrgHadPhiModCent->SetParameter(0, fTrgHadV2Cent);
    fTrgHadPhiModSemi->SetParameter(0, fTrgHadV2Semi);
  }

  // generate random direction
  Float_t trgJetEta = gRandom->Uniform(-fTrgJetEtaMax, fTrgJetEtaMax);
  Float_t trgJetPhi = 0.;
  do {
    trgJetPhi = IsClass(kClSemiCentral) ?
      fTrgJetPhiModSemi->GetRandom() :
      fTrgJetPhiModCent->GetRandom();

    trgJetPhi += fEventPlaneAngle;
    if (trgJetPhi < 0.)
      trgJetPhi += 2. * TMath::Pi();
    else if (trgJetPhi > 2. * TMath::Pi())
      trgJetPhi -= 2. * TMath::Pi();

    Float_t phiRel = trgJetPhi- fEventPlaneAngle;
    if (phiRel < 0.)
      phiRel += 2. * TMath::Pi();
    FillH2(kHistPhiRndTrgJetEvPlane, phiRel, fCentrality);
  } while (IsClass(kClSemiCentral) &&
	   !AcceptAngleToEvPlane(trgJetPhi, GetEventPlaneAngle()));

  // generate one trigger particle
  TLorentzVector *trgJet = new TLorentzVector();
  trgJet->SetPtEtaPhiM(50., trgJetEta, trgJetPhi, .14);
  trgJetArray->Add(trgJet);

  // generate direction for away side
  Float_t trgJetEtaAway = gRandom->Uniform(-fHadEtaMax, fHadEtaMax);
  Float_t trgJetPhiAway = trgJetPhi + TMath::Pi() + gRandom->Gaus(0., fToySmearPhi);

  // generate associated particles
  // with proton/hadron ratio observed in this event
  for (Int_t iPart = 0; iPart < nPart; ++iPart) {
    Float_t deltaEta, deltaPhi;
    const Float_t r = fToyRadius;
    do {
      deltaEta = gRandom->Uniform(-r, r);
      deltaPhi = gRandom->Uniform(-r, r);
    } while ((deltaEta * deltaEta + deltaPhi * deltaPhi) > (r * r));

    TLorentzVector *assPart = new TLorentzVector();
    Float_t eta = trgJetEtaAway + deltaEta;
    Float_t phi = trgJetPhiAway + deltaPhi;
    if (TMath::Abs(eta) > fHadEtaMax) {
      delete assPart;
      continue;
    }
    while (phi < 0.)
      phi += 2. * TMath::Pi();
    while (phi > 2. * TMath::Pi())
      phi -= 2. * TMath::Pi();
    assPart->SetPtEtaPhiM(3., eta, phi, .14);
    assHadJetArray->Add(assPart);
    if (gRandom->Uniform() < pFraction)
      assProtJetArray->Add(assPart);
  }

  // trigger hadron
  Float_t trgHadEta = gRandom->Uniform(-fHadEtaMax, fHadEtaMax);
  Float_t trgHadPhi = 0.;
  do {
    trgHadPhi = IsClass(kClSemiCentral) ?
      fTrgHadPhiModSemi->GetRandom() :
      fTrgHadPhiModCent->GetRandom();

    trgHadPhi += fEventPlaneAngle;
    if (trgHadPhi < 0.)
      trgHadPhi += 2. * TMath::Pi();
    else if (trgHadPhi > 2. * TMath::Pi())
      trgHadPhi -= 2. * TMath::Pi();

    Float_t phiRel = trgHadPhi - fEventPlaneAngle;
    if (phiRel < 0.)
      phiRel += 2. * TMath::Pi();
    FillH2(kHistPhiRndTrgHadEvPlane, phiRel, fCentrality);
  } while (IsClass(kClSemiCentral) &&
	   !AcceptAngleToEvPlane(trgHadPhi, GetEventPlaneAngle()));

  // generate one trigger particle
  TLorentzVector *trgHad = new TLorentzVector();
  trgHad->SetPtEtaPhiM(50., trgHadEta, trgHadPhi, .14);
  trgHadArray->Add(trgHad);

  // generate direction for away side
  Float_t trgHadEtaAway = gRandom->Uniform(-fHadEtaMax, fHadEtaMax);
  Float_t trgHadPhiAway = trgHadPhi + TMath::Pi() + gRandom->Gaus(0., fToySmearPhi);

  // generate associated particles
  // with proton/hadron ratio observed in this event
  for (Int_t iPart = 0; iPart < nPart; ++iPart) {
    Float_t deltaEta, deltaPhi;
    const Float_t r = fToyRadius;
    do {
      deltaEta = gRandom->Uniform(-r, r);
      deltaPhi = gRandom->Uniform(-r, r);
    } while ((deltaEta * deltaEta + deltaPhi * deltaPhi) > (r * r));

    TLorentzVector *assPart = new TLorentzVector();
    Float_t eta = trgHadEtaAway + deltaEta;
    Float_t phi = trgHadPhiAway + deltaPhi;
    if (TMath::Abs(eta) > fHadEtaMax) {
      delete assPart;
      continue;
    }
    while (phi < 0.)
      phi += 2. * TMath::Pi();
    while (phi > 2. * TMath::Pi())
      phi -= 2. * TMath::Pi();
    assPart->SetPtEtaPhiM(3., eta, phi, .14);
    assHadHadArray->Add(assPart);
    if (gRandom->Uniform() < pFraction)
      assProtHadArray->Add(assPart);
  }

  return kTRUE;
}

Bool_t AliAnalysisTaskJetProtonCorr::CleanUpEvent()
{
  if (fAODEvent) {
    delete fPrimTrackArrayAss;
    fPrimTrackArrayAss = 0x0;
    delete fPrimTrackArrayTrg;
    fPrimTrackArrayTrg = 0x0;
  }

  fPrimConstrainedTrackArray->Delete();

  return kTRUE;
}

TObjArray* AliAnalysisTaskJetProtonCorr::CloneTracks(TObjArray* tracks) const
{
  TObjArray* tracksClone = new TObjArray;
  tracksClone->SetOwner(kTRUE);

  Int_t nTracks = tracks->GetEntriesFast();
  for (Int_t i = 0; i < nTracks; i++) {
    // WARNING: TObject::Clone() is very!!! expensive, unusable
    // tracksClone->Add(particle->Clone());

    // if (AliESDtrack* esdTrack = dynamic_cast<AliESDtrack*> (tracks->At(i)))
    //   tracksClone->Add(new AliESDtrack(*esdTrack));
    // else if (AliAODTrack* aodTrack = dynamic_cast<AliAODTrack*> (tracks->At(i)))
    //   tracksClone->Add(new AliAODTrack(*aodTrack));

    if (const AliVTrack *track = dynamic_cast<const AliVTrack*> (tracks->At(i)))
      tracksClone->Add(new AliPartCorr(*track));
  }

  return tracksClone;
}

AliAnalysisTaskJetProtonCorr::AliHistCorr::AliHistCorr(TString name, TList *outputList) :
  TNamed(name, name),
  fOutputList(outputList),
  fHistStat(0x0),
  fHistCorrPhi(0x0),
  fHistCorrPhi2(0x0),
  fHistCorrEtaPhi(0x0),
  fHistCorrAvgEtaPhi(0x0),
  fHistCorrTrgEtaPhi(0x0),
  fHistCorrAssEtaPhi(0x0),
  fHistCorrTrgEtaPhiQpt(0x0),
  fHistCorrAssEtaPhiQpt(0x0),
  fHistDphiLo(-TMath::Pi() / 2.),
  fHistDphiNbins(120),
  fHistDetaNbins(120)
{
  // ctor

  fHistStat = new TH1F(Form("%s_stat", name.Data()), "statistics",
		       1, .5, 1.5);

  fHistCorrPhi = new TH1F(Form("%s_phi", name.Data()), ";#Delta#varphi",
			  fHistDphiNbins, fHistDphiLo, 2.*TMath::Pi() + fHistDphiLo);
  fHistCorrPhi->Sumw2();
  fHistCorrPhi2 = new TH2F(Form("%s_phi2", name.Data()), ";#varphi_{trg};#varphi_{ass}",
  			  120, 0.*TMath::Pi(), 2.*TMath::Pi(),
  			  120, 0.*TMath::Pi(), 2.*TMath::Pi());
  fHistCorrPhi2->Sumw2();
  fHistCorrEtaPhi = new TH2F(Form("%s_etaphi", name.Data()), ";#Delta#varphi;#Delta#eta",
			     fHistDphiNbins, fHistDphiLo, 2*TMath::Pi() + fHistDphiLo,
			     fHistDetaNbins, -2., 2.);
  fHistCorrEtaPhi->Sumw2();
  fHistCorrAvgEtaPhi = new TH2F(Form("%s_avgetaphi", name.Data()), ";#Delta#varphi;avg #eta",
  				fHistDphiNbins, fHistDphiLo, 2*TMath::Pi() + fHistDphiLo,
  				fHistDetaNbins, -2., 2.);
  fHistCorrAvgEtaPhi->Sumw2();
  fHistCorrTrgEtaPhi = new TH2F(Form("%s_trg_etaphi", name.Data()), ";#varphi;#eta",
  				120, 0., 2*TMath::Pi(),
  				120, -1., 1.);
  fHistCorrTrgEtaPhi->Sumw2();
  fHistCorrAssEtaPhi = new TH2F(Form("%s_ass_etaphi", name.Data()), ";#varphi;#eta",
  				120, 0., 2*TMath::Pi(),
  				120, -1., 1.);
  fHistCorrAssEtaPhi->Sumw2();

  // fHistCorrTrgEtaPhiQpt = new TH3F(Form("%s_trg_etaphi", name.Data()), ";#varphi;#eta;Q/p_{T}",
  // 				   120, 0., 2*TMath::Pi(),
  // 				   120, -1., 1.,
  // 				   120, -1., 1.);
  // fHistCorrTrgEtaPhiQpt->Sumw2();
  // fHistCorrAssEtaPhiQpt = new TH3F(Form("%s_ass_etaphi", name.Data()), ";#varphi;#etaQ/p_{T}",
  // 				   120, 0., 2*TMath::Pi(),
  // 				   120, -1., 1.,
  // 				   120, -1., 1.);
  // fHistCorrAssEtaPhiQpt->Sumw2();

  fOutputList->Add(fHistStat);
  fOutputList->Add(fHistCorrPhi);
  fOutputList->Add(fHistCorrPhi2);
  fOutputList->Add(fHistCorrEtaPhi);
  fOutputList->Add(fHistCorrAvgEtaPhi);
  fOutputList->Add(fHistCorrTrgEtaPhi);
  fOutputList->Add(fHistCorrAssEtaPhi);
  // fOutputList->Add(fHistCorrTrgEtaPhiQpt);
  // fOutputList->Add(fHistCorrAssEtaPhiQpt);
}

AliAnalysisTaskJetProtonCorr::AliHistCorr::~AliHistCorr()
{
  // dtor
}

void AliAnalysisTaskJetProtonCorr::AliHistCorr::Fill(AliVParticle *trgPart, AliVParticle *assPart, Float_t weight)
{
  // fill correlation histograms from trigger particle and associate particle

  Float_t deltaEta = assPart->Eta() - trgPart->Eta();
  Float_t avgEta = (assPart->Eta() + trgPart->Eta()) / 2.;
  Float_t deltaPhi = assPart->Phi() - trgPart->Phi();
  while (deltaPhi > (2.*TMath::Pi() + fHistDphiLo))
    deltaPhi -= 2. * TMath::Pi();
  while (deltaPhi < fHistDphiLo)
    deltaPhi += 2. * TMath::Pi();

  fHistCorrPhi->Fill(deltaPhi, weight);
  if (fHistCorrPhi2)
    fHistCorrPhi2->Fill(trgPart->Phi(), assPart->Phi(), weight);
  fHistCorrEtaPhi->Fill(deltaPhi, deltaEta, weight);
  if (fHistCorrAvgEtaPhi)
    fHistCorrAvgEtaPhi->Fill(deltaPhi, avgEta, weight);
}

void AliAnalysisTaskJetProtonCorr::AliHistCorr::Fill(TLorentzVector *trgPart, AliVParticle *assPart, Float_t weight)
{
  // fill correlation histograms from trigger direction and associate particle

  Float_t deltaEta = assPart->Eta() - trgPart->Eta();
  Float_t avgEta = (assPart->Eta() + trgPart->Eta()) / 2.;
  Float_t deltaPhi = assPart->Phi() - trgPart->Phi();
  while (deltaPhi > (2.*TMath::Pi() + fHistDphiLo))
    deltaPhi -= 2. * TMath::Pi();
  while (deltaPhi < fHistDphiLo)
    deltaPhi += 2. * TMath::Pi();

  fHistCorrPhi->Fill(deltaPhi, weight);
  if (fHistCorrPhi2) {
    Float_t trgPhi = trgPart->Phi();
    if (trgPhi < 0)
      trgPhi += 2. * TMath::Pi();
    fHistCorrPhi2->Fill(trgPhi, assPart->Phi(), weight);
  }
  fHistCorrEtaPhi->Fill(deltaPhi, deltaEta, weight);
  if (fHistCorrAvgEtaPhi)
    fHistCorrAvgEtaPhi->Fill(deltaPhi, avgEta, weight);
}

void AliAnalysisTaskJetProtonCorr::AliHistCorr::Fill(TLorentzVector *trgPart, TLorentzVector *assPart, Float_t weight)
{
  // fill correlation histograms from trigger direction and associate direction

  Float_t deltaEta = assPart->Eta() - trgPart->Eta();
  Float_t avgEta = (assPart->Eta() + trgPart->Eta()) / 2.;
  Float_t deltaPhi = assPart->Phi() - trgPart->Phi();
  if (deltaPhi > (2.*TMath::Pi() + fHistDphiLo))
    deltaPhi -= 2. * TMath::Pi();
  else if (deltaPhi < fHistDphiLo)
    deltaPhi += 2. * TMath::Pi();

  fHistCorrPhi->Fill(deltaPhi, weight);
  if (fHistCorrPhi2) {
    Float_t trgPhi = trgPart->Phi();
    if (trgPhi < 0)
      trgPhi += 2. * TMath::Pi();
    Float_t assPhi = assPart->Phi();
    if (assPhi < 0)
      assPhi += 2. * TMath::Pi();
    fHistCorrPhi2->Fill(trgPhi, assPhi, weight);
  }
  fHistCorrEtaPhi->Fill(deltaPhi, deltaEta, weight);
  if (fHistCorrAvgEtaPhi)
    fHistCorrAvgEtaPhi->Fill(deltaPhi, avgEta, weight);
}

// ----- histogram management -----
TH1* AliAnalysisTaskJetProtonCorr::AddHistogram(Hist_t hist, const char *hid, TString title,
						 Int_t xbins, Float_t xmin, Float_t xmax,
						 Int_t binType)
{
  TString hName;
  hName.Form("%s_%s", fShortTaskId, hid);
  hName.ToLower();
  TH1 *h = 0x0;
  if (binType == 0)
    h = new TH1I(hName.Data(), title,
                 xbins, xmin, xmax);
  else
    h = new TH1F(hName.Data(), title,
                 xbins, xmin, xmax);
  GetHistogram(hist) = h;
  fOutputList->Add(h);
  return h;
}

TH2* AliAnalysisTaskJetProtonCorr::AddHistogram(Hist_t hist, const char *hid, TString title,
						 Int_t xbins, Float_t xmin, Float_t xmax,
						 Int_t ybins, Float_t ymin, Float_t ymax,
						 Int_t binType)
{
  TString hName;
  hName.Form("%s_%s", fShortTaskId, hid);
  hName.ToLower();
  TH1 *h = 0x0;
  if (binType == 0)
    h = GetHistogram(hist) = new TH2I(hName.Data(), title,
                                     xbins, xmin, xmax,
                                     ybins, ymin, ymax);
  else
    h = GetHistogram(hist) = new TH2F(hName.Data(), title,
                                     xbins, xmin, xmax,
                                     ybins, ymin, ymax);
  fOutputList->Add(h);
  return (TH2*) h;
}

TH3* AliAnalysisTaskJetProtonCorr::AddHistogram(Hist_t hist, const char *hid, TString title,
						 Int_t xbins, Float_t xmin, Float_t xmax,
						 Int_t ybins, Float_t ymin, Float_t ymax,
						 Int_t zbins, Float_t zmin, Float_t zmax,
						 Int_t binType)
{
  TString hName;
  hName.Form("%s_%s", fShortTaskId, hid);
  hName.ToLower();
  TH1 *h = 0x0;
  if (binType == 0)
    h = GetHistogram(hist) = new TH3I(hName.Data(), title,
                                     xbins, xmin, xmax,
                                     ybins, ymin, ymax,
                                     zbins, zmin, zmax);
  else
    h = GetHistogram(hist) = new TH3F(hName.Data(), title,
                                     xbins, xmin, xmax,
                                     ybins, ymin, ymax,
                                     zbins, zmin, zmax);
  fOutputList->Add(h);
  return (TH3*) h;
}
 AliAnalysisTaskJetProtonCorr.cxx:1
 AliAnalysisTaskJetProtonCorr.cxx:2
 AliAnalysisTaskJetProtonCorr.cxx:3
 AliAnalysisTaskJetProtonCorr.cxx:4
 AliAnalysisTaskJetProtonCorr.cxx:5
 AliAnalysisTaskJetProtonCorr.cxx:6
 AliAnalysisTaskJetProtonCorr.cxx:7
 AliAnalysisTaskJetProtonCorr.cxx:8
 AliAnalysisTaskJetProtonCorr.cxx:9
 AliAnalysisTaskJetProtonCorr.cxx:10
 AliAnalysisTaskJetProtonCorr.cxx:11
 AliAnalysisTaskJetProtonCorr.cxx:12
 AliAnalysisTaskJetProtonCorr.cxx:13
 AliAnalysisTaskJetProtonCorr.cxx:14
 AliAnalysisTaskJetProtonCorr.cxx:15
 AliAnalysisTaskJetProtonCorr.cxx:16
 AliAnalysisTaskJetProtonCorr.cxx:17
 AliAnalysisTaskJetProtonCorr.cxx:18
 AliAnalysisTaskJetProtonCorr.cxx:19
 AliAnalysisTaskJetProtonCorr.cxx:20
 AliAnalysisTaskJetProtonCorr.cxx:21
 AliAnalysisTaskJetProtonCorr.cxx:22
 AliAnalysisTaskJetProtonCorr.cxx:23
 AliAnalysisTaskJetProtonCorr.cxx:24
 AliAnalysisTaskJetProtonCorr.cxx:25
 AliAnalysisTaskJetProtonCorr.cxx:26
 AliAnalysisTaskJetProtonCorr.cxx:27
 AliAnalysisTaskJetProtonCorr.cxx:28
 AliAnalysisTaskJetProtonCorr.cxx:29
 AliAnalysisTaskJetProtonCorr.cxx:30
 AliAnalysisTaskJetProtonCorr.cxx:31
 AliAnalysisTaskJetProtonCorr.cxx:32
 AliAnalysisTaskJetProtonCorr.cxx:33
 AliAnalysisTaskJetProtonCorr.cxx:34
 AliAnalysisTaskJetProtonCorr.cxx:35
 AliAnalysisTaskJetProtonCorr.cxx:36
 AliAnalysisTaskJetProtonCorr.cxx:37
 AliAnalysisTaskJetProtonCorr.cxx:38
 AliAnalysisTaskJetProtonCorr.cxx:39
 AliAnalysisTaskJetProtonCorr.cxx:40
 AliAnalysisTaskJetProtonCorr.cxx:41
 AliAnalysisTaskJetProtonCorr.cxx:42
 AliAnalysisTaskJetProtonCorr.cxx:43
 AliAnalysisTaskJetProtonCorr.cxx:44
 AliAnalysisTaskJetProtonCorr.cxx:45
 AliAnalysisTaskJetProtonCorr.cxx:46
 AliAnalysisTaskJetProtonCorr.cxx:47
 AliAnalysisTaskJetProtonCorr.cxx:48
 AliAnalysisTaskJetProtonCorr.cxx:49
 AliAnalysisTaskJetProtonCorr.cxx:50
 AliAnalysisTaskJetProtonCorr.cxx:51
 AliAnalysisTaskJetProtonCorr.cxx:52
 AliAnalysisTaskJetProtonCorr.cxx:53
 AliAnalysisTaskJetProtonCorr.cxx:54
 AliAnalysisTaskJetProtonCorr.cxx:55
 AliAnalysisTaskJetProtonCorr.cxx:56
 AliAnalysisTaskJetProtonCorr.cxx:57
 AliAnalysisTaskJetProtonCorr.cxx:58
 AliAnalysisTaskJetProtonCorr.cxx:59
 AliAnalysisTaskJetProtonCorr.cxx:60
 AliAnalysisTaskJetProtonCorr.cxx:61
 AliAnalysisTaskJetProtonCorr.cxx:62
 AliAnalysisTaskJetProtonCorr.cxx:63
 AliAnalysisTaskJetProtonCorr.cxx:64
 AliAnalysisTaskJetProtonCorr.cxx:65
 AliAnalysisTaskJetProtonCorr.cxx:66
 AliAnalysisTaskJetProtonCorr.cxx:67
 AliAnalysisTaskJetProtonCorr.cxx:68
 AliAnalysisTaskJetProtonCorr.cxx:69
 AliAnalysisTaskJetProtonCorr.cxx:70
 AliAnalysisTaskJetProtonCorr.cxx:71
 AliAnalysisTaskJetProtonCorr.cxx:72
 AliAnalysisTaskJetProtonCorr.cxx:73
 AliAnalysisTaskJetProtonCorr.cxx:74
 AliAnalysisTaskJetProtonCorr.cxx:75
 AliAnalysisTaskJetProtonCorr.cxx:76
 AliAnalysisTaskJetProtonCorr.cxx:77
 AliAnalysisTaskJetProtonCorr.cxx:78
 AliAnalysisTaskJetProtonCorr.cxx:79
 AliAnalysisTaskJetProtonCorr.cxx:80
 AliAnalysisTaskJetProtonCorr.cxx:81
 AliAnalysisTaskJetProtonCorr.cxx:82
 AliAnalysisTaskJetProtonCorr.cxx:83
 AliAnalysisTaskJetProtonCorr.cxx:84
 AliAnalysisTaskJetProtonCorr.cxx:85
 AliAnalysisTaskJetProtonCorr.cxx:86
 AliAnalysisTaskJetProtonCorr.cxx:87
 AliAnalysisTaskJetProtonCorr.cxx:88
 AliAnalysisTaskJetProtonCorr.cxx:89
 AliAnalysisTaskJetProtonCorr.cxx:90
 AliAnalysisTaskJetProtonCorr.cxx:91
 AliAnalysisTaskJetProtonCorr.cxx:92
 AliAnalysisTaskJetProtonCorr.cxx:93
 AliAnalysisTaskJetProtonCorr.cxx:94
 AliAnalysisTaskJetProtonCorr.cxx:95
 AliAnalysisTaskJetProtonCorr.cxx:96
 AliAnalysisTaskJetProtonCorr.cxx:97
 AliAnalysisTaskJetProtonCorr.cxx:98
 AliAnalysisTaskJetProtonCorr.cxx:99
 AliAnalysisTaskJetProtonCorr.cxx:100
 AliAnalysisTaskJetProtonCorr.cxx:101
 AliAnalysisTaskJetProtonCorr.cxx:102
 AliAnalysisTaskJetProtonCorr.cxx:103
 AliAnalysisTaskJetProtonCorr.cxx:104
 AliAnalysisTaskJetProtonCorr.cxx:105
 AliAnalysisTaskJetProtonCorr.cxx:106
 AliAnalysisTaskJetProtonCorr.cxx:107
 AliAnalysisTaskJetProtonCorr.cxx:108
 AliAnalysisTaskJetProtonCorr.cxx:109
 AliAnalysisTaskJetProtonCorr.cxx:110
 AliAnalysisTaskJetProtonCorr.cxx:111
 AliAnalysisTaskJetProtonCorr.cxx:112
 AliAnalysisTaskJetProtonCorr.cxx:113
 AliAnalysisTaskJetProtonCorr.cxx:114
 AliAnalysisTaskJetProtonCorr.cxx:115
 AliAnalysisTaskJetProtonCorr.cxx:116
 AliAnalysisTaskJetProtonCorr.cxx:117
 AliAnalysisTaskJetProtonCorr.cxx:118
 AliAnalysisTaskJetProtonCorr.cxx:119
 AliAnalysisTaskJetProtonCorr.cxx:120
 AliAnalysisTaskJetProtonCorr.cxx:121
 AliAnalysisTaskJetProtonCorr.cxx:122
 AliAnalysisTaskJetProtonCorr.cxx:123
 AliAnalysisTaskJetProtonCorr.cxx:124
 AliAnalysisTaskJetProtonCorr.cxx:125
 AliAnalysisTaskJetProtonCorr.cxx:126
 AliAnalysisTaskJetProtonCorr.cxx:127
 AliAnalysisTaskJetProtonCorr.cxx:128
 AliAnalysisTaskJetProtonCorr.cxx:129
 AliAnalysisTaskJetProtonCorr.cxx:130
 AliAnalysisTaskJetProtonCorr.cxx:131
 AliAnalysisTaskJetProtonCorr.cxx:132
 AliAnalysisTaskJetProtonCorr.cxx:133
 AliAnalysisTaskJetProtonCorr.cxx:134
 AliAnalysisTaskJetProtonCorr.cxx:135
 AliAnalysisTaskJetProtonCorr.cxx:136
 AliAnalysisTaskJetProtonCorr.cxx:137
 AliAnalysisTaskJetProtonCorr.cxx:138
 AliAnalysisTaskJetProtonCorr.cxx:139
 AliAnalysisTaskJetProtonCorr.cxx:140
 AliAnalysisTaskJetProtonCorr.cxx:141
 AliAnalysisTaskJetProtonCorr.cxx:142
 AliAnalysisTaskJetProtonCorr.cxx:143
 AliAnalysisTaskJetProtonCorr.cxx:144
 AliAnalysisTaskJetProtonCorr.cxx:145
 AliAnalysisTaskJetProtonCorr.cxx:146
 AliAnalysisTaskJetProtonCorr.cxx:147
 AliAnalysisTaskJetProtonCorr.cxx:148
 AliAnalysisTaskJetProtonCorr.cxx:149
 AliAnalysisTaskJetProtonCorr.cxx:150
 AliAnalysisTaskJetProtonCorr.cxx:151
 AliAnalysisTaskJetProtonCorr.cxx:152
 AliAnalysisTaskJetProtonCorr.cxx:153
 AliAnalysisTaskJetProtonCorr.cxx:154
 AliAnalysisTaskJetProtonCorr.cxx:155
 AliAnalysisTaskJetProtonCorr.cxx:156
 AliAnalysisTaskJetProtonCorr.cxx:157
 AliAnalysisTaskJetProtonCorr.cxx:158
 AliAnalysisTaskJetProtonCorr.cxx:159
 AliAnalysisTaskJetProtonCorr.cxx:160
 AliAnalysisTaskJetProtonCorr.cxx:161
 AliAnalysisTaskJetProtonCorr.cxx:162
 AliAnalysisTaskJetProtonCorr.cxx:163
 AliAnalysisTaskJetProtonCorr.cxx:164
 AliAnalysisTaskJetProtonCorr.cxx:165
 AliAnalysisTaskJetProtonCorr.cxx:166
 AliAnalysisTaskJetProtonCorr.cxx:167
 AliAnalysisTaskJetProtonCorr.cxx:168
 AliAnalysisTaskJetProtonCorr.cxx:169
 AliAnalysisTaskJetProtonCorr.cxx:170
 AliAnalysisTaskJetProtonCorr.cxx:171
 AliAnalysisTaskJetProtonCorr.cxx:172
 AliAnalysisTaskJetProtonCorr.cxx:173
 AliAnalysisTaskJetProtonCorr.cxx:174
 AliAnalysisTaskJetProtonCorr.cxx:175
 AliAnalysisTaskJetProtonCorr.cxx:176
 AliAnalysisTaskJetProtonCorr.cxx:177
 AliAnalysisTaskJetProtonCorr.cxx:178
 AliAnalysisTaskJetProtonCorr.cxx:179
 AliAnalysisTaskJetProtonCorr.cxx:180
 AliAnalysisTaskJetProtonCorr.cxx:181
 AliAnalysisTaskJetProtonCorr.cxx:182
 AliAnalysisTaskJetProtonCorr.cxx:183
 AliAnalysisTaskJetProtonCorr.cxx:184
 AliAnalysisTaskJetProtonCorr.cxx:185
 AliAnalysisTaskJetProtonCorr.cxx:186
 AliAnalysisTaskJetProtonCorr.cxx:187
 AliAnalysisTaskJetProtonCorr.cxx:188
 AliAnalysisTaskJetProtonCorr.cxx:189
 AliAnalysisTaskJetProtonCorr.cxx:190
 AliAnalysisTaskJetProtonCorr.cxx:191
 AliAnalysisTaskJetProtonCorr.cxx:192
 AliAnalysisTaskJetProtonCorr.cxx:193
 AliAnalysisTaskJetProtonCorr.cxx:194
 AliAnalysisTaskJetProtonCorr.cxx:195
 AliAnalysisTaskJetProtonCorr.cxx:196
 AliAnalysisTaskJetProtonCorr.cxx:197
 AliAnalysisTaskJetProtonCorr.cxx:198
 AliAnalysisTaskJetProtonCorr.cxx:199
 AliAnalysisTaskJetProtonCorr.cxx:200
 AliAnalysisTaskJetProtonCorr.cxx:201
 AliAnalysisTaskJetProtonCorr.cxx:202
 AliAnalysisTaskJetProtonCorr.cxx:203
 AliAnalysisTaskJetProtonCorr.cxx:204
 AliAnalysisTaskJetProtonCorr.cxx:205
 AliAnalysisTaskJetProtonCorr.cxx:206
 AliAnalysisTaskJetProtonCorr.cxx:207
 AliAnalysisTaskJetProtonCorr.cxx:208
 AliAnalysisTaskJetProtonCorr.cxx:209
 AliAnalysisTaskJetProtonCorr.cxx:210
 AliAnalysisTaskJetProtonCorr.cxx:211
 AliAnalysisTaskJetProtonCorr.cxx:212
 AliAnalysisTaskJetProtonCorr.cxx:213
 AliAnalysisTaskJetProtonCorr.cxx:214
 AliAnalysisTaskJetProtonCorr.cxx:215
 AliAnalysisTaskJetProtonCorr.cxx:216
 AliAnalysisTaskJetProtonCorr.cxx:217
 AliAnalysisTaskJetProtonCorr.cxx:218
 AliAnalysisTaskJetProtonCorr.cxx:219
 AliAnalysisTaskJetProtonCorr.cxx:220
 AliAnalysisTaskJetProtonCorr.cxx:221
 AliAnalysisTaskJetProtonCorr.cxx:222
 AliAnalysisTaskJetProtonCorr.cxx:223
 AliAnalysisTaskJetProtonCorr.cxx:224
 AliAnalysisTaskJetProtonCorr.cxx:225
 AliAnalysisTaskJetProtonCorr.cxx:226
 AliAnalysisTaskJetProtonCorr.cxx:227
 AliAnalysisTaskJetProtonCorr.cxx:228
 AliAnalysisTaskJetProtonCorr.cxx:229
 AliAnalysisTaskJetProtonCorr.cxx:230
 AliAnalysisTaskJetProtonCorr.cxx:231
 AliAnalysisTaskJetProtonCorr.cxx:232
 AliAnalysisTaskJetProtonCorr.cxx:233
 AliAnalysisTaskJetProtonCorr.cxx:234
 AliAnalysisTaskJetProtonCorr.cxx:235
 AliAnalysisTaskJetProtonCorr.cxx:236
 AliAnalysisTaskJetProtonCorr.cxx:237
 AliAnalysisTaskJetProtonCorr.cxx:238
 AliAnalysisTaskJetProtonCorr.cxx:239
 AliAnalysisTaskJetProtonCorr.cxx:240
 AliAnalysisTaskJetProtonCorr.cxx:241
 AliAnalysisTaskJetProtonCorr.cxx:242
 AliAnalysisTaskJetProtonCorr.cxx:243
 AliAnalysisTaskJetProtonCorr.cxx:244
 AliAnalysisTaskJetProtonCorr.cxx:245
 AliAnalysisTaskJetProtonCorr.cxx:246
 AliAnalysisTaskJetProtonCorr.cxx:247
 AliAnalysisTaskJetProtonCorr.cxx:248
 AliAnalysisTaskJetProtonCorr.cxx:249
 AliAnalysisTaskJetProtonCorr.cxx:250
 AliAnalysisTaskJetProtonCorr.cxx:251
 AliAnalysisTaskJetProtonCorr.cxx:252
 AliAnalysisTaskJetProtonCorr.cxx:253
 AliAnalysisTaskJetProtonCorr.cxx:254
 AliAnalysisTaskJetProtonCorr.cxx:255
 AliAnalysisTaskJetProtonCorr.cxx:256
 AliAnalysisTaskJetProtonCorr.cxx:257
 AliAnalysisTaskJetProtonCorr.cxx:258
 AliAnalysisTaskJetProtonCorr.cxx:259
 AliAnalysisTaskJetProtonCorr.cxx:260
 AliAnalysisTaskJetProtonCorr.cxx:261
 AliAnalysisTaskJetProtonCorr.cxx:262
 AliAnalysisTaskJetProtonCorr.cxx:263
 AliAnalysisTaskJetProtonCorr.cxx:264
 AliAnalysisTaskJetProtonCorr.cxx:265
 AliAnalysisTaskJetProtonCorr.cxx:266
 AliAnalysisTaskJetProtonCorr.cxx:267
 AliAnalysisTaskJetProtonCorr.cxx:268
 AliAnalysisTaskJetProtonCorr.cxx:269
 AliAnalysisTaskJetProtonCorr.cxx:270
 AliAnalysisTaskJetProtonCorr.cxx:271
 AliAnalysisTaskJetProtonCorr.cxx:272
 AliAnalysisTaskJetProtonCorr.cxx:273
 AliAnalysisTaskJetProtonCorr.cxx:274
 AliAnalysisTaskJetProtonCorr.cxx:275
 AliAnalysisTaskJetProtonCorr.cxx:276
 AliAnalysisTaskJetProtonCorr.cxx:277
 AliAnalysisTaskJetProtonCorr.cxx:278
 AliAnalysisTaskJetProtonCorr.cxx:279
 AliAnalysisTaskJetProtonCorr.cxx:280
 AliAnalysisTaskJetProtonCorr.cxx:281
 AliAnalysisTaskJetProtonCorr.cxx:282
 AliAnalysisTaskJetProtonCorr.cxx:283
 AliAnalysisTaskJetProtonCorr.cxx:284
 AliAnalysisTaskJetProtonCorr.cxx:285
 AliAnalysisTaskJetProtonCorr.cxx:286
 AliAnalysisTaskJetProtonCorr.cxx:287
 AliAnalysisTaskJetProtonCorr.cxx:288
 AliAnalysisTaskJetProtonCorr.cxx:289
 AliAnalysisTaskJetProtonCorr.cxx:290
 AliAnalysisTaskJetProtonCorr.cxx:291
 AliAnalysisTaskJetProtonCorr.cxx:292
 AliAnalysisTaskJetProtonCorr.cxx:293
 AliAnalysisTaskJetProtonCorr.cxx:294
 AliAnalysisTaskJetProtonCorr.cxx:295
 AliAnalysisTaskJetProtonCorr.cxx:296
 AliAnalysisTaskJetProtonCorr.cxx:297
 AliAnalysisTaskJetProtonCorr.cxx:298
 AliAnalysisTaskJetProtonCorr.cxx:299
 AliAnalysisTaskJetProtonCorr.cxx:300
 AliAnalysisTaskJetProtonCorr.cxx:301
 AliAnalysisTaskJetProtonCorr.cxx:302
 AliAnalysisTaskJetProtonCorr.cxx:303
 AliAnalysisTaskJetProtonCorr.cxx:304
 AliAnalysisTaskJetProtonCorr.cxx:305
 AliAnalysisTaskJetProtonCorr.cxx:306
 AliAnalysisTaskJetProtonCorr.cxx:307
 AliAnalysisTaskJetProtonCorr.cxx:308
 AliAnalysisTaskJetProtonCorr.cxx:309
 AliAnalysisTaskJetProtonCorr.cxx:310
 AliAnalysisTaskJetProtonCorr.cxx:311
 AliAnalysisTaskJetProtonCorr.cxx:312
 AliAnalysisTaskJetProtonCorr.cxx:313
 AliAnalysisTaskJetProtonCorr.cxx:314
 AliAnalysisTaskJetProtonCorr.cxx:315
 AliAnalysisTaskJetProtonCorr.cxx:316
 AliAnalysisTaskJetProtonCorr.cxx:317
 AliAnalysisTaskJetProtonCorr.cxx:318
 AliAnalysisTaskJetProtonCorr.cxx:319
 AliAnalysisTaskJetProtonCorr.cxx:320
 AliAnalysisTaskJetProtonCorr.cxx:321
 AliAnalysisTaskJetProtonCorr.cxx:322
 AliAnalysisTaskJetProtonCorr.cxx:323
 AliAnalysisTaskJetProtonCorr.cxx:324
 AliAnalysisTaskJetProtonCorr.cxx:325
 AliAnalysisTaskJetProtonCorr.cxx:326
 AliAnalysisTaskJetProtonCorr.cxx:327
 AliAnalysisTaskJetProtonCorr.cxx:328
 AliAnalysisTaskJetProtonCorr.cxx:329
 AliAnalysisTaskJetProtonCorr.cxx:330
 AliAnalysisTaskJetProtonCorr.cxx:331
 AliAnalysisTaskJetProtonCorr.cxx:332
 AliAnalysisTaskJetProtonCorr.cxx:333
 AliAnalysisTaskJetProtonCorr.cxx:334
 AliAnalysisTaskJetProtonCorr.cxx:335
 AliAnalysisTaskJetProtonCorr.cxx:336
 AliAnalysisTaskJetProtonCorr.cxx:337
 AliAnalysisTaskJetProtonCorr.cxx:338
 AliAnalysisTaskJetProtonCorr.cxx:339
 AliAnalysisTaskJetProtonCorr.cxx:340
 AliAnalysisTaskJetProtonCorr.cxx:341
 AliAnalysisTaskJetProtonCorr.cxx:342
 AliAnalysisTaskJetProtonCorr.cxx:343
 AliAnalysisTaskJetProtonCorr.cxx:344
 AliAnalysisTaskJetProtonCorr.cxx:345
 AliAnalysisTaskJetProtonCorr.cxx:346
 AliAnalysisTaskJetProtonCorr.cxx:347
 AliAnalysisTaskJetProtonCorr.cxx:348
 AliAnalysisTaskJetProtonCorr.cxx:349
 AliAnalysisTaskJetProtonCorr.cxx:350
 AliAnalysisTaskJetProtonCorr.cxx:351
 AliAnalysisTaskJetProtonCorr.cxx:352
 AliAnalysisTaskJetProtonCorr.cxx:353
 AliAnalysisTaskJetProtonCorr.cxx:354
 AliAnalysisTaskJetProtonCorr.cxx:355
 AliAnalysisTaskJetProtonCorr.cxx:356
 AliAnalysisTaskJetProtonCorr.cxx:357
 AliAnalysisTaskJetProtonCorr.cxx:358
 AliAnalysisTaskJetProtonCorr.cxx:359
 AliAnalysisTaskJetProtonCorr.cxx:360
 AliAnalysisTaskJetProtonCorr.cxx:361
 AliAnalysisTaskJetProtonCorr.cxx:362
 AliAnalysisTaskJetProtonCorr.cxx:363
 AliAnalysisTaskJetProtonCorr.cxx:364
 AliAnalysisTaskJetProtonCorr.cxx:365
 AliAnalysisTaskJetProtonCorr.cxx:366
 AliAnalysisTaskJetProtonCorr.cxx:367
 AliAnalysisTaskJetProtonCorr.cxx:368
 AliAnalysisTaskJetProtonCorr.cxx:369
 AliAnalysisTaskJetProtonCorr.cxx:370
 AliAnalysisTaskJetProtonCorr.cxx:371
 AliAnalysisTaskJetProtonCorr.cxx:372
 AliAnalysisTaskJetProtonCorr.cxx:373
 AliAnalysisTaskJetProtonCorr.cxx:374
 AliAnalysisTaskJetProtonCorr.cxx:375
 AliAnalysisTaskJetProtonCorr.cxx:376
 AliAnalysisTaskJetProtonCorr.cxx:377
 AliAnalysisTaskJetProtonCorr.cxx:378
 AliAnalysisTaskJetProtonCorr.cxx:379
 AliAnalysisTaskJetProtonCorr.cxx:380
 AliAnalysisTaskJetProtonCorr.cxx:381
 AliAnalysisTaskJetProtonCorr.cxx:382
 AliAnalysisTaskJetProtonCorr.cxx:383
 AliAnalysisTaskJetProtonCorr.cxx:384
 AliAnalysisTaskJetProtonCorr.cxx:385
 AliAnalysisTaskJetProtonCorr.cxx:386
 AliAnalysisTaskJetProtonCorr.cxx:387
 AliAnalysisTaskJetProtonCorr.cxx:388
 AliAnalysisTaskJetProtonCorr.cxx:389
 AliAnalysisTaskJetProtonCorr.cxx:390
 AliAnalysisTaskJetProtonCorr.cxx:391
 AliAnalysisTaskJetProtonCorr.cxx:392
 AliAnalysisTaskJetProtonCorr.cxx:393
 AliAnalysisTaskJetProtonCorr.cxx:394
 AliAnalysisTaskJetProtonCorr.cxx:395
 AliAnalysisTaskJetProtonCorr.cxx:396
 AliAnalysisTaskJetProtonCorr.cxx:397
 AliAnalysisTaskJetProtonCorr.cxx:398
 AliAnalysisTaskJetProtonCorr.cxx:399
 AliAnalysisTaskJetProtonCorr.cxx:400
 AliAnalysisTaskJetProtonCorr.cxx:401
 AliAnalysisTaskJetProtonCorr.cxx:402
 AliAnalysisTaskJetProtonCorr.cxx:403
 AliAnalysisTaskJetProtonCorr.cxx:404
 AliAnalysisTaskJetProtonCorr.cxx:405
 AliAnalysisTaskJetProtonCorr.cxx:406
 AliAnalysisTaskJetProtonCorr.cxx:407
 AliAnalysisTaskJetProtonCorr.cxx:408
 AliAnalysisTaskJetProtonCorr.cxx:409
 AliAnalysisTaskJetProtonCorr.cxx:410
 AliAnalysisTaskJetProtonCorr.cxx:411
 AliAnalysisTaskJetProtonCorr.cxx:412
 AliAnalysisTaskJetProtonCorr.cxx:413
 AliAnalysisTaskJetProtonCorr.cxx:414
 AliAnalysisTaskJetProtonCorr.cxx:415
 AliAnalysisTaskJetProtonCorr.cxx:416
 AliAnalysisTaskJetProtonCorr.cxx:417
 AliAnalysisTaskJetProtonCorr.cxx:418
 AliAnalysisTaskJetProtonCorr.cxx:419
 AliAnalysisTaskJetProtonCorr.cxx:420
 AliAnalysisTaskJetProtonCorr.cxx:421
 AliAnalysisTaskJetProtonCorr.cxx:422
 AliAnalysisTaskJetProtonCorr.cxx:423
 AliAnalysisTaskJetProtonCorr.cxx:424
 AliAnalysisTaskJetProtonCorr.cxx:425
 AliAnalysisTaskJetProtonCorr.cxx:426
 AliAnalysisTaskJetProtonCorr.cxx:427
 AliAnalysisTaskJetProtonCorr.cxx:428
 AliAnalysisTaskJetProtonCorr.cxx:429
 AliAnalysisTaskJetProtonCorr.cxx:430
 AliAnalysisTaskJetProtonCorr.cxx:431
 AliAnalysisTaskJetProtonCorr.cxx:432
 AliAnalysisTaskJetProtonCorr.cxx:433
 AliAnalysisTaskJetProtonCorr.cxx:434
 AliAnalysisTaskJetProtonCorr.cxx:435
 AliAnalysisTaskJetProtonCorr.cxx:436
 AliAnalysisTaskJetProtonCorr.cxx:437
 AliAnalysisTaskJetProtonCorr.cxx:438
 AliAnalysisTaskJetProtonCorr.cxx:439
 AliAnalysisTaskJetProtonCorr.cxx:440
 AliAnalysisTaskJetProtonCorr.cxx:441
 AliAnalysisTaskJetProtonCorr.cxx:442
 AliAnalysisTaskJetProtonCorr.cxx:443
 AliAnalysisTaskJetProtonCorr.cxx:444
 AliAnalysisTaskJetProtonCorr.cxx:445
 AliAnalysisTaskJetProtonCorr.cxx:446
 AliAnalysisTaskJetProtonCorr.cxx:447
 AliAnalysisTaskJetProtonCorr.cxx:448
 AliAnalysisTaskJetProtonCorr.cxx:449
 AliAnalysisTaskJetProtonCorr.cxx:450
 AliAnalysisTaskJetProtonCorr.cxx:451
 AliAnalysisTaskJetProtonCorr.cxx:452
 AliAnalysisTaskJetProtonCorr.cxx:453
 AliAnalysisTaskJetProtonCorr.cxx:454
 AliAnalysisTaskJetProtonCorr.cxx:455
 AliAnalysisTaskJetProtonCorr.cxx:456
 AliAnalysisTaskJetProtonCorr.cxx:457
 AliAnalysisTaskJetProtonCorr.cxx:458
 AliAnalysisTaskJetProtonCorr.cxx:459
 AliAnalysisTaskJetProtonCorr.cxx:460
 AliAnalysisTaskJetProtonCorr.cxx:461
 AliAnalysisTaskJetProtonCorr.cxx:462
 AliAnalysisTaskJetProtonCorr.cxx:463
 AliAnalysisTaskJetProtonCorr.cxx:464
 AliAnalysisTaskJetProtonCorr.cxx:465
 AliAnalysisTaskJetProtonCorr.cxx:466
 AliAnalysisTaskJetProtonCorr.cxx:467
 AliAnalysisTaskJetProtonCorr.cxx:468
 AliAnalysisTaskJetProtonCorr.cxx:469
 AliAnalysisTaskJetProtonCorr.cxx:470
 AliAnalysisTaskJetProtonCorr.cxx:471
 AliAnalysisTaskJetProtonCorr.cxx:472
 AliAnalysisTaskJetProtonCorr.cxx:473
 AliAnalysisTaskJetProtonCorr.cxx:474
 AliAnalysisTaskJetProtonCorr.cxx:475
 AliAnalysisTaskJetProtonCorr.cxx:476
 AliAnalysisTaskJetProtonCorr.cxx:477
 AliAnalysisTaskJetProtonCorr.cxx:478
 AliAnalysisTaskJetProtonCorr.cxx:479
 AliAnalysisTaskJetProtonCorr.cxx:480
 AliAnalysisTaskJetProtonCorr.cxx:481
 AliAnalysisTaskJetProtonCorr.cxx:482
 AliAnalysisTaskJetProtonCorr.cxx:483
 AliAnalysisTaskJetProtonCorr.cxx:484
 AliAnalysisTaskJetProtonCorr.cxx:485
 AliAnalysisTaskJetProtonCorr.cxx:486
 AliAnalysisTaskJetProtonCorr.cxx:487
 AliAnalysisTaskJetProtonCorr.cxx:488
 AliAnalysisTaskJetProtonCorr.cxx:489
 AliAnalysisTaskJetProtonCorr.cxx:490
 AliAnalysisTaskJetProtonCorr.cxx:491
 AliAnalysisTaskJetProtonCorr.cxx:492
 AliAnalysisTaskJetProtonCorr.cxx:493
 AliAnalysisTaskJetProtonCorr.cxx:494
 AliAnalysisTaskJetProtonCorr.cxx:495
 AliAnalysisTaskJetProtonCorr.cxx:496
 AliAnalysisTaskJetProtonCorr.cxx:497
 AliAnalysisTaskJetProtonCorr.cxx:498
 AliAnalysisTaskJetProtonCorr.cxx:499
 AliAnalysisTaskJetProtonCorr.cxx:500
 AliAnalysisTaskJetProtonCorr.cxx:501
 AliAnalysisTaskJetProtonCorr.cxx:502
 AliAnalysisTaskJetProtonCorr.cxx:503
 AliAnalysisTaskJetProtonCorr.cxx:504
 AliAnalysisTaskJetProtonCorr.cxx:505
 AliAnalysisTaskJetProtonCorr.cxx:506
 AliAnalysisTaskJetProtonCorr.cxx:507
 AliAnalysisTaskJetProtonCorr.cxx:508
 AliAnalysisTaskJetProtonCorr.cxx:509
 AliAnalysisTaskJetProtonCorr.cxx:510
 AliAnalysisTaskJetProtonCorr.cxx:511
 AliAnalysisTaskJetProtonCorr.cxx:512
 AliAnalysisTaskJetProtonCorr.cxx:513
 AliAnalysisTaskJetProtonCorr.cxx:514
 AliAnalysisTaskJetProtonCorr.cxx:515
 AliAnalysisTaskJetProtonCorr.cxx:516
 AliAnalysisTaskJetProtonCorr.cxx:517
 AliAnalysisTaskJetProtonCorr.cxx:518
 AliAnalysisTaskJetProtonCorr.cxx:519
 AliAnalysisTaskJetProtonCorr.cxx:520
 AliAnalysisTaskJetProtonCorr.cxx:521
 AliAnalysisTaskJetProtonCorr.cxx:522
 AliAnalysisTaskJetProtonCorr.cxx:523
 AliAnalysisTaskJetProtonCorr.cxx:524
 AliAnalysisTaskJetProtonCorr.cxx:525
 AliAnalysisTaskJetProtonCorr.cxx:526
 AliAnalysisTaskJetProtonCorr.cxx:527
 AliAnalysisTaskJetProtonCorr.cxx:528
 AliAnalysisTaskJetProtonCorr.cxx:529
 AliAnalysisTaskJetProtonCorr.cxx:530
 AliAnalysisTaskJetProtonCorr.cxx:531
 AliAnalysisTaskJetProtonCorr.cxx:532
 AliAnalysisTaskJetProtonCorr.cxx:533
 AliAnalysisTaskJetProtonCorr.cxx:534
 AliAnalysisTaskJetProtonCorr.cxx:535
 AliAnalysisTaskJetProtonCorr.cxx:536
 AliAnalysisTaskJetProtonCorr.cxx:537
 AliAnalysisTaskJetProtonCorr.cxx:538
 AliAnalysisTaskJetProtonCorr.cxx:539
 AliAnalysisTaskJetProtonCorr.cxx:540
 AliAnalysisTaskJetProtonCorr.cxx:541
 AliAnalysisTaskJetProtonCorr.cxx:542
 AliAnalysisTaskJetProtonCorr.cxx:543
 AliAnalysisTaskJetProtonCorr.cxx:544
 AliAnalysisTaskJetProtonCorr.cxx:545
 AliAnalysisTaskJetProtonCorr.cxx:546
 AliAnalysisTaskJetProtonCorr.cxx:547
 AliAnalysisTaskJetProtonCorr.cxx:548
 AliAnalysisTaskJetProtonCorr.cxx:549
 AliAnalysisTaskJetProtonCorr.cxx:550
 AliAnalysisTaskJetProtonCorr.cxx:551
 AliAnalysisTaskJetProtonCorr.cxx:552
 AliAnalysisTaskJetProtonCorr.cxx:553
 AliAnalysisTaskJetProtonCorr.cxx:554
 AliAnalysisTaskJetProtonCorr.cxx:555
 AliAnalysisTaskJetProtonCorr.cxx:556
 AliAnalysisTaskJetProtonCorr.cxx:557
 AliAnalysisTaskJetProtonCorr.cxx:558
 AliAnalysisTaskJetProtonCorr.cxx:559
 AliAnalysisTaskJetProtonCorr.cxx:560
 AliAnalysisTaskJetProtonCorr.cxx:561
 AliAnalysisTaskJetProtonCorr.cxx:562
 AliAnalysisTaskJetProtonCorr.cxx:563
 AliAnalysisTaskJetProtonCorr.cxx:564
 AliAnalysisTaskJetProtonCorr.cxx:565
 AliAnalysisTaskJetProtonCorr.cxx:566
 AliAnalysisTaskJetProtonCorr.cxx:567
 AliAnalysisTaskJetProtonCorr.cxx:568
 AliAnalysisTaskJetProtonCorr.cxx:569
 AliAnalysisTaskJetProtonCorr.cxx:570
 AliAnalysisTaskJetProtonCorr.cxx:571
 AliAnalysisTaskJetProtonCorr.cxx:572
 AliAnalysisTaskJetProtonCorr.cxx:573
 AliAnalysisTaskJetProtonCorr.cxx:574
 AliAnalysisTaskJetProtonCorr.cxx:575
 AliAnalysisTaskJetProtonCorr.cxx:576
 AliAnalysisTaskJetProtonCorr.cxx:577
 AliAnalysisTaskJetProtonCorr.cxx:578
 AliAnalysisTaskJetProtonCorr.cxx:579
 AliAnalysisTaskJetProtonCorr.cxx:580
 AliAnalysisTaskJetProtonCorr.cxx:581
 AliAnalysisTaskJetProtonCorr.cxx:582
 AliAnalysisTaskJetProtonCorr.cxx:583
 AliAnalysisTaskJetProtonCorr.cxx:584
 AliAnalysisTaskJetProtonCorr.cxx:585
 AliAnalysisTaskJetProtonCorr.cxx:586
 AliAnalysisTaskJetProtonCorr.cxx:587
 AliAnalysisTaskJetProtonCorr.cxx:588
 AliAnalysisTaskJetProtonCorr.cxx:589
 AliAnalysisTaskJetProtonCorr.cxx:590
 AliAnalysisTaskJetProtonCorr.cxx:591
 AliAnalysisTaskJetProtonCorr.cxx:592
 AliAnalysisTaskJetProtonCorr.cxx:593
 AliAnalysisTaskJetProtonCorr.cxx:594
 AliAnalysisTaskJetProtonCorr.cxx:595
 AliAnalysisTaskJetProtonCorr.cxx:596
 AliAnalysisTaskJetProtonCorr.cxx:597
 AliAnalysisTaskJetProtonCorr.cxx:598
 AliAnalysisTaskJetProtonCorr.cxx:599
 AliAnalysisTaskJetProtonCorr.cxx:600
 AliAnalysisTaskJetProtonCorr.cxx:601
 AliAnalysisTaskJetProtonCorr.cxx:602
 AliAnalysisTaskJetProtonCorr.cxx:603
 AliAnalysisTaskJetProtonCorr.cxx:604
 AliAnalysisTaskJetProtonCorr.cxx:605
 AliAnalysisTaskJetProtonCorr.cxx:606
 AliAnalysisTaskJetProtonCorr.cxx:607
 AliAnalysisTaskJetProtonCorr.cxx:608
 AliAnalysisTaskJetProtonCorr.cxx:609
 AliAnalysisTaskJetProtonCorr.cxx:610
 AliAnalysisTaskJetProtonCorr.cxx:611
 AliAnalysisTaskJetProtonCorr.cxx:612
 AliAnalysisTaskJetProtonCorr.cxx:613
 AliAnalysisTaskJetProtonCorr.cxx:614
 AliAnalysisTaskJetProtonCorr.cxx:615
 AliAnalysisTaskJetProtonCorr.cxx:616
 AliAnalysisTaskJetProtonCorr.cxx:617
 AliAnalysisTaskJetProtonCorr.cxx:618
 AliAnalysisTaskJetProtonCorr.cxx:619
 AliAnalysisTaskJetProtonCorr.cxx:620
 AliAnalysisTaskJetProtonCorr.cxx:621
 AliAnalysisTaskJetProtonCorr.cxx:622
 AliAnalysisTaskJetProtonCorr.cxx:623
 AliAnalysisTaskJetProtonCorr.cxx:624
 AliAnalysisTaskJetProtonCorr.cxx:625
 AliAnalysisTaskJetProtonCorr.cxx:626
 AliAnalysisTaskJetProtonCorr.cxx:627
 AliAnalysisTaskJetProtonCorr.cxx:628
 AliAnalysisTaskJetProtonCorr.cxx:629
 AliAnalysisTaskJetProtonCorr.cxx:630
 AliAnalysisTaskJetProtonCorr.cxx:631
 AliAnalysisTaskJetProtonCorr.cxx:632
 AliAnalysisTaskJetProtonCorr.cxx:633
 AliAnalysisTaskJetProtonCorr.cxx:634
 AliAnalysisTaskJetProtonCorr.cxx:635
 AliAnalysisTaskJetProtonCorr.cxx:636
 AliAnalysisTaskJetProtonCorr.cxx:637
 AliAnalysisTaskJetProtonCorr.cxx:638
 AliAnalysisTaskJetProtonCorr.cxx:639
 AliAnalysisTaskJetProtonCorr.cxx:640
 AliAnalysisTaskJetProtonCorr.cxx:641
 AliAnalysisTaskJetProtonCorr.cxx:642
 AliAnalysisTaskJetProtonCorr.cxx:643
 AliAnalysisTaskJetProtonCorr.cxx:644
 AliAnalysisTaskJetProtonCorr.cxx:645
 AliAnalysisTaskJetProtonCorr.cxx:646
 AliAnalysisTaskJetProtonCorr.cxx:647
 AliAnalysisTaskJetProtonCorr.cxx:648
 AliAnalysisTaskJetProtonCorr.cxx:649
 AliAnalysisTaskJetProtonCorr.cxx:650
 AliAnalysisTaskJetProtonCorr.cxx:651
 AliAnalysisTaskJetProtonCorr.cxx:652
 AliAnalysisTaskJetProtonCorr.cxx:653
 AliAnalysisTaskJetProtonCorr.cxx:654
 AliAnalysisTaskJetProtonCorr.cxx:655
 AliAnalysisTaskJetProtonCorr.cxx:656
 AliAnalysisTaskJetProtonCorr.cxx:657
 AliAnalysisTaskJetProtonCorr.cxx:658
 AliAnalysisTaskJetProtonCorr.cxx:659
 AliAnalysisTaskJetProtonCorr.cxx:660
 AliAnalysisTaskJetProtonCorr.cxx:661
 AliAnalysisTaskJetProtonCorr.cxx:662
 AliAnalysisTaskJetProtonCorr.cxx:663
 AliAnalysisTaskJetProtonCorr.cxx:664
 AliAnalysisTaskJetProtonCorr.cxx:665
 AliAnalysisTaskJetProtonCorr.cxx:666
 AliAnalysisTaskJetProtonCorr.cxx:667
 AliAnalysisTaskJetProtonCorr.cxx:668
 AliAnalysisTaskJetProtonCorr.cxx:669
 AliAnalysisTaskJetProtonCorr.cxx:670
 AliAnalysisTaskJetProtonCorr.cxx:671
 AliAnalysisTaskJetProtonCorr.cxx:672
 AliAnalysisTaskJetProtonCorr.cxx:673
 AliAnalysisTaskJetProtonCorr.cxx:674
 AliAnalysisTaskJetProtonCorr.cxx:675
 AliAnalysisTaskJetProtonCorr.cxx:676
 AliAnalysisTaskJetProtonCorr.cxx:677
 AliAnalysisTaskJetProtonCorr.cxx:678
 AliAnalysisTaskJetProtonCorr.cxx:679
 AliAnalysisTaskJetProtonCorr.cxx:680
 AliAnalysisTaskJetProtonCorr.cxx:681
 AliAnalysisTaskJetProtonCorr.cxx:682
 AliAnalysisTaskJetProtonCorr.cxx:683
 AliAnalysisTaskJetProtonCorr.cxx:684
 AliAnalysisTaskJetProtonCorr.cxx:685
 AliAnalysisTaskJetProtonCorr.cxx:686
 AliAnalysisTaskJetProtonCorr.cxx:687
 AliAnalysisTaskJetProtonCorr.cxx:688
 AliAnalysisTaskJetProtonCorr.cxx:689
 AliAnalysisTaskJetProtonCorr.cxx:690
 AliAnalysisTaskJetProtonCorr.cxx:691
 AliAnalysisTaskJetProtonCorr.cxx:692
 AliAnalysisTaskJetProtonCorr.cxx:693
 AliAnalysisTaskJetProtonCorr.cxx:694
 AliAnalysisTaskJetProtonCorr.cxx:695
 AliAnalysisTaskJetProtonCorr.cxx:696
 AliAnalysisTaskJetProtonCorr.cxx:697
 AliAnalysisTaskJetProtonCorr.cxx:698
 AliAnalysisTaskJetProtonCorr.cxx:699
 AliAnalysisTaskJetProtonCorr.cxx:700
 AliAnalysisTaskJetProtonCorr.cxx:701
 AliAnalysisTaskJetProtonCorr.cxx:702
 AliAnalysisTaskJetProtonCorr.cxx:703
 AliAnalysisTaskJetProtonCorr.cxx:704
 AliAnalysisTaskJetProtonCorr.cxx:705
 AliAnalysisTaskJetProtonCorr.cxx:706
 AliAnalysisTaskJetProtonCorr.cxx:707
 AliAnalysisTaskJetProtonCorr.cxx:708
 AliAnalysisTaskJetProtonCorr.cxx:709
 AliAnalysisTaskJetProtonCorr.cxx:710
 AliAnalysisTaskJetProtonCorr.cxx:711
 AliAnalysisTaskJetProtonCorr.cxx:712
 AliAnalysisTaskJetProtonCorr.cxx:713
 AliAnalysisTaskJetProtonCorr.cxx:714
 AliAnalysisTaskJetProtonCorr.cxx:715
 AliAnalysisTaskJetProtonCorr.cxx:716
 AliAnalysisTaskJetProtonCorr.cxx:717
 AliAnalysisTaskJetProtonCorr.cxx:718
 AliAnalysisTaskJetProtonCorr.cxx:719
 AliAnalysisTaskJetProtonCorr.cxx:720
 AliAnalysisTaskJetProtonCorr.cxx:721
 AliAnalysisTaskJetProtonCorr.cxx:722
 AliAnalysisTaskJetProtonCorr.cxx:723
 AliAnalysisTaskJetProtonCorr.cxx:724
 AliAnalysisTaskJetProtonCorr.cxx:725
 AliAnalysisTaskJetProtonCorr.cxx:726
 AliAnalysisTaskJetProtonCorr.cxx:727
 AliAnalysisTaskJetProtonCorr.cxx:728
 AliAnalysisTaskJetProtonCorr.cxx:729
 AliAnalysisTaskJetProtonCorr.cxx:730
 AliAnalysisTaskJetProtonCorr.cxx:731
 AliAnalysisTaskJetProtonCorr.cxx:732
 AliAnalysisTaskJetProtonCorr.cxx:733
 AliAnalysisTaskJetProtonCorr.cxx:734
 AliAnalysisTaskJetProtonCorr.cxx:735
 AliAnalysisTaskJetProtonCorr.cxx:736
 AliAnalysisTaskJetProtonCorr.cxx:737
 AliAnalysisTaskJetProtonCorr.cxx:738
 AliAnalysisTaskJetProtonCorr.cxx:739
 AliAnalysisTaskJetProtonCorr.cxx:740
 AliAnalysisTaskJetProtonCorr.cxx:741
 AliAnalysisTaskJetProtonCorr.cxx:742
 AliAnalysisTaskJetProtonCorr.cxx:743
 AliAnalysisTaskJetProtonCorr.cxx:744
 AliAnalysisTaskJetProtonCorr.cxx:745
 AliAnalysisTaskJetProtonCorr.cxx:746
 AliAnalysisTaskJetProtonCorr.cxx:747
 AliAnalysisTaskJetProtonCorr.cxx:748
 AliAnalysisTaskJetProtonCorr.cxx:749
 AliAnalysisTaskJetProtonCorr.cxx:750
 AliAnalysisTaskJetProtonCorr.cxx:751
 AliAnalysisTaskJetProtonCorr.cxx:752
 AliAnalysisTaskJetProtonCorr.cxx:753
 AliAnalysisTaskJetProtonCorr.cxx:754
 AliAnalysisTaskJetProtonCorr.cxx:755
 AliAnalysisTaskJetProtonCorr.cxx:756
 AliAnalysisTaskJetProtonCorr.cxx:757
 AliAnalysisTaskJetProtonCorr.cxx:758
 AliAnalysisTaskJetProtonCorr.cxx:759
 AliAnalysisTaskJetProtonCorr.cxx:760
 AliAnalysisTaskJetProtonCorr.cxx:761
 AliAnalysisTaskJetProtonCorr.cxx:762
 AliAnalysisTaskJetProtonCorr.cxx:763
 AliAnalysisTaskJetProtonCorr.cxx:764
 AliAnalysisTaskJetProtonCorr.cxx:765
 AliAnalysisTaskJetProtonCorr.cxx:766
 AliAnalysisTaskJetProtonCorr.cxx:767
 AliAnalysisTaskJetProtonCorr.cxx:768
 AliAnalysisTaskJetProtonCorr.cxx:769
 AliAnalysisTaskJetProtonCorr.cxx:770
 AliAnalysisTaskJetProtonCorr.cxx:771
 AliAnalysisTaskJetProtonCorr.cxx:772
 AliAnalysisTaskJetProtonCorr.cxx:773
 AliAnalysisTaskJetProtonCorr.cxx:774
 AliAnalysisTaskJetProtonCorr.cxx:775
 AliAnalysisTaskJetProtonCorr.cxx:776
 AliAnalysisTaskJetProtonCorr.cxx:777
 AliAnalysisTaskJetProtonCorr.cxx:778
 AliAnalysisTaskJetProtonCorr.cxx:779
 AliAnalysisTaskJetProtonCorr.cxx:780
 AliAnalysisTaskJetProtonCorr.cxx:781
 AliAnalysisTaskJetProtonCorr.cxx:782
 AliAnalysisTaskJetProtonCorr.cxx:783
 AliAnalysisTaskJetProtonCorr.cxx:784
 AliAnalysisTaskJetProtonCorr.cxx:785
 AliAnalysisTaskJetProtonCorr.cxx:786
 AliAnalysisTaskJetProtonCorr.cxx:787
 AliAnalysisTaskJetProtonCorr.cxx:788
 AliAnalysisTaskJetProtonCorr.cxx:789
 AliAnalysisTaskJetProtonCorr.cxx:790
 AliAnalysisTaskJetProtonCorr.cxx:791
 AliAnalysisTaskJetProtonCorr.cxx:792
 AliAnalysisTaskJetProtonCorr.cxx:793
 AliAnalysisTaskJetProtonCorr.cxx:794
 AliAnalysisTaskJetProtonCorr.cxx:795
 AliAnalysisTaskJetProtonCorr.cxx:796
 AliAnalysisTaskJetProtonCorr.cxx:797
 AliAnalysisTaskJetProtonCorr.cxx:798
 AliAnalysisTaskJetProtonCorr.cxx:799
 AliAnalysisTaskJetProtonCorr.cxx:800
 AliAnalysisTaskJetProtonCorr.cxx:801
 AliAnalysisTaskJetProtonCorr.cxx:802
 AliAnalysisTaskJetProtonCorr.cxx:803
 AliAnalysisTaskJetProtonCorr.cxx:804
 AliAnalysisTaskJetProtonCorr.cxx:805
 AliAnalysisTaskJetProtonCorr.cxx:806
 AliAnalysisTaskJetProtonCorr.cxx:807
 AliAnalysisTaskJetProtonCorr.cxx:808
 AliAnalysisTaskJetProtonCorr.cxx:809
 AliAnalysisTaskJetProtonCorr.cxx:810
 AliAnalysisTaskJetProtonCorr.cxx:811
 AliAnalysisTaskJetProtonCorr.cxx:812
 AliAnalysisTaskJetProtonCorr.cxx:813
 AliAnalysisTaskJetProtonCorr.cxx:814
 AliAnalysisTaskJetProtonCorr.cxx:815
 AliAnalysisTaskJetProtonCorr.cxx:816
 AliAnalysisTaskJetProtonCorr.cxx:817
 AliAnalysisTaskJetProtonCorr.cxx:818
 AliAnalysisTaskJetProtonCorr.cxx:819
 AliAnalysisTaskJetProtonCorr.cxx:820
 AliAnalysisTaskJetProtonCorr.cxx:821
 AliAnalysisTaskJetProtonCorr.cxx:822
 AliAnalysisTaskJetProtonCorr.cxx:823
 AliAnalysisTaskJetProtonCorr.cxx:824
 AliAnalysisTaskJetProtonCorr.cxx:825
 AliAnalysisTaskJetProtonCorr.cxx:826
 AliAnalysisTaskJetProtonCorr.cxx:827
 AliAnalysisTaskJetProtonCorr.cxx:828
 AliAnalysisTaskJetProtonCorr.cxx:829
 AliAnalysisTaskJetProtonCorr.cxx:830
 AliAnalysisTaskJetProtonCorr.cxx:831
 AliAnalysisTaskJetProtonCorr.cxx:832
 AliAnalysisTaskJetProtonCorr.cxx:833
 AliAnalysisTaskJetProtonCorr.cxx:834
 AliAnalysisTaskJetProtonCorr.cxx:835
 AliAnalysisTaskJetProtonCorr.cxx:836
 AliAnalysisTaskJetProtonCorr.cxx:837
 AliAnalysisTaskJetProtonCorr.cxx:838
 AliAnalysisTaskJetProtonCorr.cxx:839
 AliAnalysisTaskJetProtonCorr.cxx:840
 AliAnalysisTaskJetProtonCorr.cxx:841
 AliAnalysisTaskJetProtonCorr.cxx:842
 AliAnalysisTaskJetProtonCorr.cxx:843
 AliAnalysisTaskJetProtonCorr.cxx:844
 AliAnalysisTaskJetProtonCorr.cxx:845
 AliAnalysisTaskJetProtonCorr.cxx:846
 AliAnalysisTaskJetProtonCorr.cxx:847
 AliAnalysisTaskJetProtonCorr.cxx:848
 AliAnalysisTaskJetProtonCorr.cxx:849
 AliAnalysisTaskJetProtonCorr.cxx:850
 AliAnalysisTaskJetProtonCorr.cxx:851
 AliAnalysisTaskJetProtonCorr.cxx:852
 AliAnalysisTaskJetProtonCorr.cxx:853
 AliAnalysisTaskJetProtonCorr.cxx:854
 AliAnalysisTaskJetProtonCorr.cxx:855
 AliAnalysisTaskJetProtonCorr.cxx:856
 AliAnalysisTaskJetProtonCorr.cxx:857
 AliAnalysisTaskJetProtonCorr.cxx:858
 AliAnalysisTaskJetProtonCorr.cxx:859
 AliAnalysisTaskJetProtonCorr.cxx:860
 AliAnalysisTaskJetProtonCorr.cxx:861
 AliAnalysisTaskJetProtonCorr.cxx:862
 AliAnalysisTaskJetProtonCorr.cxx:863
 AliAnalysisTaskJetProtonCorr.cxx:864
 AliAnalysisTaskJetProtonCorr.cxx:865
 AliAnalysisTaskJetProtonCorr.cxx:866
 AliAnalysisTaskJetProtonCorr.cxx:867
 AliAnalysisTaskJetProtonCorr.cxx:868
 AliAnalysisTaskJetProtonCorr.cxx:869
 AliAnalysisTaskJetProtonCorr.cxx:870
 AliAnalysisTaskJetProtonCorr.cxx:871
 AliAnalysisTaskJetProtonCorr.cxx:872
 AliAnalysisTaskJetProtonCorr.cxx:873
 AliAnalysisTaskJetProtonCorr.cxx:874
 AliAnalysisTaskJetProtonCorr.cxx:875
 AliAnalysisTaskJetProtonCorr.cxx:876
 AliAnalysisTaskJetProtonCorr.cxx:877
 AliAnalysisTaskJetProtonCorr.cxx:878
 AliAnalysisTaskJetProtonCorr.cxx:879
 AliAnalysisTaskJetProtonCorr.cxx:880
 AliAnalysisTaskJetProtonCorr.cxx:881
 AliAnalysisTaskJetProtonCorr.cxx:882
 AliAnalysisTaskJetProtonCorr.cxx:883
 AliAnalysisTaskJetProtonCorr.cxx:884
 AliAnalysisTaskJetProtonCorr.cxx:885
 AliAnalysisTaskJetProtonCorr.cxx:886
 AliAnalysisTaskJetProtonCorr.cxx:887
 AliAnalysisTaskJetProtonCorr.cxx:888
 AliAnalysisTaskJetProtonCorr.cxx:889
 AliAnalysisTaskJetProtonCorr.cxx:890
 AliAnalysisTaskJetProtonCorr.cxx:891
 AliAnalysisTaskJetProtonCorr.cxx:892
 AliAnalysisTaskJetProtonCorr.cxx:893
 AliAnalysisTaskJetProtonCorr.cxx:894
 AliAnalysisTaskJetProtonCorr.cxx:895
 AliAnalysisTaskJetProtonCorr.cxx:896
 AliAnalysisTaskJetProtonCorr.cxx:897
 AliAnalysisTaskJetProtonCorr.cxx:898
 AliAnalysisTaskJetProtonCorr.cxx:899
 AliAnalysisTaskJetProtonCorr.cxx:900
 AliAnalysisTaskJetProtonCorr.cxx:901
 AliAnalysisTaskJetProtonCorr.cxx:902
 AliAnalysisTaskJetProtonCorr.cxx:903
 AliAnalysisTaskJetProtonCorr.cxx:904
 AliAnalysisTaskJetProtonCorr.cxx:905
 AliAnalysisTaskJetProtonCorr.cxx:906
 AliAnalysisTaskJetProtonCorr.cxx:907
 AliAnalysisTaskJetProtonCorr.cxx:908
 AliAnalysisTaskJetProtonCorr.cxx:909
 AliAnalysisTaskJetProtonCorr.cxx:910
 AliAnalysisTaskJetProtonCorr.cxx:911
 AliAnalysisTaskJetProtonCorr.cxx:912
 AliAnalysisTaskJetProtonCorr.cxx:913
 AliAnalysisTaskJetProtonCorr.cxx:914
 AliAnalysisTaskJetProtonCorr.cxx:915
 AliAnalysisTaskJetProtonCorr.cxx:916
 AliAnalysisTaskJetProtonCorr.cxx:917
 AliAnalysisTaskJetProtonCorr.cxx:918
 AliAnalysisTaskJetProtonCorr.cxx:919
 AliAnalysisTaskJetProtonCorr.cxx:920
 AliAnalysisTaskJetProtonCorr.cxx:921
 AliAnalysisTaskJetProtonCorr.cxx:922
 AliAnalysisTaskJetProtonCorr.cxx:923
 AliAnalysisTaskJetProtonCorr.cxx:924
 AliAnalysisTaskJetProtonCorr.cxx:925
 AliAnalysisTaskJetProtonCorr.cxx:926
 AliAnalysisTaskJetProtonCorr.cxx:927
 AliAnalysisTaskJetProtonCorr.cxx:928
 AliAnalysisTaskJetProtonCorr.cxx:929
 AliAnalysisTaskJetProtonCorr.cxx:930
 AliAnalysisTaskJetProtonCorr.cxx:931
 AliAnalysisTaskJetProtonCorr.cxx:932
 AliAnalysisTaskJetProtonCorr.cxx:933
 AliAnalysisTaskJetProtonCorr.cxx:934
 AliAnalysisTaskJetProtonCorr.cxx:935
 AliAnalysisTaskJetProtonCorr.cxx:936
 AliAnalysisTaskJetProtonCorr.cxx:937
 AliAnalysisTaskJetProtonCorr.cxx:938
 AliAnalysisTaskJetProtonCorr.cxx:939
 AliAnalysisTaskJetProtonCorr.cxx:940
 AliAnalysisTaskJetProtonCorr.cxx:941
 AliAnalysisTaskJetProtonCorr.cxx:942
 AliAnalysisTaskJetProtonCorr.cxx:943
 AliAnalysisTaskJetProtonCorr.cxx:944
 AliAnalysisTaskJetProtonCorr.cxx:945
 AliAnalysisTaskJetProtonCorr.cxx:946
 AliAnalysisTaskJetProtonCorr.cxx:947
 AliAnalysisTaskJetProtonCorr.cxx:948
 AliAnalysisTaskJetProtonCorr.cxx:949
 AliAnalysisTaskJetProtonCorr.cxx:950
 AliAnalysisTaskJetProtonCorr.cxx:951
 AliAnalysisTaskJetProtonCorr.cxx:952
 AliAnalysisTaskJetProtonCorr.cxx:953
 AliAnalysisTaskJetProtonCorr.cxx:954
 AliAnalysisTaskJetProtonCorr.cxx:955
 AliAnalysisTaskJetProtonCorr.cxx:956
 AliAnalysisTaskJetProtonCorr.cxx:957
 AliAnalysisTaskJetProtonCorr.cxx:958
 AliAnalysisTaskJetProtonCorr.cxx:959
 AliAnalysisTaskJetProtonCorr.cxx:960
 AliAnalysisTaskJetProtonCorr.cxx:961
 AliAnalysisTaskJetProtonCorr.cxx:962
 AliAnalysisTaskJetProtonCorr.cxx:963
 AliAnalysisTaskJetProtonCorr.cxx:964
 AliAnalysisTaskJetProtonCorr.cxx:965
 AliAnalysisTaskJetProtonCorr.cxx:966
 AliAnalysisTaskJetProtonCorr.cxx:967
 AliAnalysisTaskJetProtonCorr.cxx:968
 AliAnalysisTaskJetProtonCorr.cxx:969
 AliAnalysisTaskJetProtonCorr.cxx:970
 AliAnalysisTaskJetProtonCorr.cxx:971
 AliAnalysisTaskJetProtonCorr.cxx:972
 AliAnalysisTaskJetProtonCorr.cxx:973
 AliAnalysisTaskJetProtonCorr.cxx:974
 AliAnalysisTaskJetProtonCorr.cxx:975
 AliAnalysisTaskJetProtonCorr.cxx:976
 AliAnalysisTaskJetProtonCorr.cxx:977
 AliAnalysisTaskJetProtonCorr.cxx:978
 AliAnalysisTaskJetProtonCorr.cxx:979
 AliAnalysisTaskJetProtonCorr.cxx:980
 AliAnalysisTaskJetProtonCorr.cxx:981
 AliAnalysisTaskJetProtonCorr.cxx:982
 AliAnalysisTaskJetProtonCorr.cxx:983
 AliAnalysisTaskJetProtonCorr.cxx:984
 AliAnalysisTaskJetProtonCorr.cxx:985
 AliAnalysisTaskJetProtonCorr.cxx:986
 AliAnalysisTaskJetProtonCorr.cxx:987
 AliAnalysisTaskJetProtonCorr.cxx:988
 AliAnalysisTaskJetProtonCorr.cxx:989
 AliAnalysisTaskJetProtonCorr.cxx:990
 AliAnalysisTaskJetProtonCorr.cxx:991
 AliAnalysisTaskJetProtonCorr.cxx:992
 AliAnalysisTaskJetProtonCorr.cxx:993
 AliAnalysisTaskJetProtonCorr.cxx:994
 AliAnalysisTaskJetProtonCorr.cxx:995
 AliAnalysisTaskJetProtonCorr.cxx:996
 AliAnalysisTaskJetProtonCorr.cxx:997
 AliAnalysisTaskJetProtonCorr.cxx:998
 AliAnalysisTaskJetProtonCorr.cxx:999
 AliAnalysisTaskJetProtonCorr.cxx:1000
 AliAnalysisTaskJetProtonCorr.cxx:1001
 AliAnalysisTaskJetProtonCorr.cxx:1002
 AliAnalysisTaskJetProtonCorr.cxx:1003
 AliAnalysisTaskJetProtonCorr.cxx:1004
 AliAnalysisTaskJetProtonCorr.cxx:1005
 AliAnalysisTaskJetProtonCorr.cxx:1006
 AliAnalysisTaskJetProtonCorr.cxx:1007
 AliAnalysisTaskJetProtonCorr.cxx:1008
 AliAnalysisTaskJetProtonCorr.cxx:1009
 AliAnalysisTaskJetProtonCorr.cxx:1010
 AliAnalysisTaskJetProtonCorr.cxx:1011
 AliAnalysisTaskJetProtonCorr.cxx:1012
 AliAnalysisTaskJetProtonCorr.cxx:1013
 AliAnalysisTaskJetProtonCorr.cxx:1014
 AliAnalysisTaskJetProtonCorr.cxx:1015
 AliAnalysisTaskJetProtonCorr.cxx:1016
 AliAnalysisTaskJetProtonCorr.cxx:1017
 AliAnalysisTaskJetProtonCorr.cxx:1018
 AliAnalysisTaskJetProtonCorr.cxx:1019
 AliAnalysisTaskJetProtonCorr.cxx:1020
 AliAnalysisTaskJetProtonCorr.cxx:1021
 AliAnalysisTaskJetProtonCorr.cxx:1022
 AliAnalysisTaskJetProtonCorr.cxx:1023
 AliAnalysisTaskJetProtonCorr.cxx:1024
 AliAnalysisTaskJetProtonCorr.cxx:1025
 AliAnalysisTaskJetProtonCorr.cxx:1026
 AliAnalysisTaskJetProtonCorr.cxx:1027
 AliAnalysisTaskJetProtonCorr.cxx:1028
 AliAnalysisTaskJetProtonCorr.cxx:1029
 AliAnalysisTaskJetProtonCorr.cxx:1030
 AliAnalysisTaskJetProtonCorr.cxx:1031
 AliAnalysisTaskJetProtonCorr.cxx:1032
 AliAnalysisTaskJetProtonCorr.cxx:1033
 AliAnalysisTaskJetProtonCorr.cxx:1034
 AliAnalysisTaskJetProtonCorr.cxx:1035
 AliAnalysisTaskJetProtonCorr.cxx:1036
 AliAnalysisTaskJetProtonCorr.cxx:1037
 AliAnalysisTaskJetProtonCorr.cxx:1038
 AliAnalysisTaskJetProtonCorr.cxx:1039
 AliAnalysisTaskJetProtonCorr.cxx:1040
 AliAnalysisTaskJetProtonCorr.cxx:1041
 AliAnalysisTaskJetProtonCorr.cxx:1042
 AliAnalysisTaskJetProtonCorr.cxx:1043
 AliAnalysisTaskJetProtonCorr.cxx:1044
 AliAnalysisTaskJetProtonCorr.cxx:1045
 AliAnalysisTaskJetProtonCorr.cxx:1046
 AliAnalysisTaskJetProtonCorr.cxx:1047
 AliAnalysisTaskJetProtonCorr.cxx:1048
 AliAnalysisTaskJetProtonCorr.cxx:1049
 AliAnalysisTaskJetProtonCorr.cxx:1050
 AliAnalysisTaskJetProtonCorr.cxx:1051
 AliAnalysisTaskJetProtonCorr.cxx:1052
 AliAnalysisTaskJetProtonCorr.cxx:1053
 AliAnalysisTaskJetProtonCorr.cxx:1054
 AliAnalysisTaskJetProtonCorr.cxx:1055
 AliAnalysisTaskJetProtonCorr.cxx:1056
 AliAnalysisTaskJetProtonCorr.cxx:1057
 AliAnalysisTaskJetProtonCorr.cxx:1058
 AliAnalysisTaskJetProtonCorr.cxx:1059
 AliAnalysisTaskJetProtonCorr.cxx:1060
 AliAnalysisTaskJetProtonCorr.cxx:1061
 AliAnalysisTaskJetProtonCorr.cxx:1062
 AliAnalysisTaskJetProtonCorr.cxx:1063
 AliAnalysisTaskJetProtonCorr.cxx:1064
 AliAnalysisTaskJetProtonCorr.cxx:1065
 AliAnalysisTaskJetProtonCorr.cxx:1066
 AliAnalysisTaskJetProtonCorr.cxx:1067
 AliAnalysisTaskJetProtonCorr.cxx:1068
 AliAnalysisTaskJetProtonCorr.cxx:1069
 AliAnalysisTaskJetProtonCorr.cxx:1070
 AliAnalysisTaskJetProtonCorr.cxx:1071
 AliAnalysisTaskJetProtonCorr.cxx:1072
 AliAnalysisTaskJetProtonCorr.cxx:1073
 AliAnalysisTaskJetProtonCorr.cxx:1074
 AliAnalysisTaskJetProtonCorr.cxx:1075
 AliAnalysisTaskJetProtonCorr.cxx:1076
 AliAnalysisTaskJetProtonCorr.cxx:1077
 AliAnalysisTaskJetProtonCorr.cxx:1078
 AliAnalysisTaskJetProtonCorr.cxx:1079
 AliAnalysisTaskJetProtonCorr.cxx:1080
 AliAnalysisTaskJetProtonCorr.cxx:1081
 AliAnalysisTaskJetProtonCorr.cxx:1082
 AliAnalysisTaskJetProtonCorr.cxx:1083
 AliAnalysisTaskJetProtonCorr.cxx:1084
 AliAnalysisTaskJetProtonCorr.cxx:1085
 AliAnalysisTaskJetProtonCorr.cxx:1086
 AliAnalysisTaskJetProtonCorr.cxx:1087
 AliAnalysisTaskJetProtonCorr.cxx:1088
 AliAnalysisTaskJetProtonCorr.cxx:1089
 AliAnalysisTaskJetProtonCorr.cxx:1090
 AliAnalysisTaskJetProtonCorr.cxx:1091
 AliAnalysisTaskJetProtonCorr.cxx:1092
 AliAnalysisTaskJetProtonCorr.cxx:1093
 AliAnalysisTaskJetProtonCorr.cxx:1094
 AliAnalysisTaskJetProtonCorr.cxx:1095
 AliAnalysisTaskJetProtonCorr.cxx:1096
 AliAnalysisTaskJetProtonCorr.cxx:1097
 AliAnalysisTaskJetProtonCorr.cxx:1098
 AliAnalysisTaskJetProtonCorr.cxx:1099
 AliAnalysisTaskJetProtonCorr.cxx:1100
 AliAnalysisTaskJetProtonCorr.cxx:1101
 AliAnalysisTaskJetProtonCorr.cxx:1102
 AliAnalysisTaskJetProtonCorr.cxx:1103
 AliAnalysisTaskJetProtonCorr.cxx:1104
 AliAnalysisTaskJetProtonCorr.cxx:1105
 AliAnalysisTaskJetProtonCorr.cxx:1106
 AliAnalysisTaskJetProtonCorr.cxx:1107
 AliAnalysisTaskJetProtonCorr.cxx:1108
 AliAnalysisTaskJetProtonCorr.cxx:1109
 AliAnalysisTaskJetProtonCorr.cxx:1110
 AliAnalysisTaskJetProtonCorr.cxx:1111
 AliAnalysisTaskJetProtonCorr.cxx:1112
 AliAnalysisTaskJetProtonCorr.cxx:1113
 AliAnalysisTaskJetProtonCorr.cxx:1114
 AliAnalysisTaskJetProtonCorr.cxx:1115
 AliAnalysisTaskJetProtonCorr.cxx:1116
 AliAnalysisTaskJetProtonCorr.cxx:1117
 AliAnalysisTaskJetProtonCorr.cxx:1118
 AliAnalysisTaskJetProtonCorr.cxx:1119
 AliAnalysisTaskJetProtonCorr.cxx:1120
 AliAnalysisTaskJetProtonCorr.cxx:1121
 AliAnalysisTaskJetProtonCorr.cxx:1122
 AliAnalysisTaskJetProtonCorr.cxx:1123
 AliAnalysisTaskJetProtonCorr.cxx:1124
 AliAnalysisTaskJetProtonCorr.cxx:1125
 AliAnalysisTaskJetProtonCorr.cxx:1126
 AliAnalysisTaskJetProtonCorr.cxx:1127
 AliAnalysisTaskJetProtonCorr.cxx:1128
 AliAnalysisTaskJetProtonCorr.cxx:1129
 AliAnalysisTaskJetProtonCorr.cxx:1130
 AliAnalysisTaskJetProtonCorr.cxx:1131
 AliAnalysisTaskJetProtonCorr.cxx:1132
 AliAnalysisTaskJetProtonCorr.cxx:1133
 AliAnalysisTaskJetProtonCorr.cxx:1134
 AliAnalysisTaskJetProtonCorr.cxx:1135
 AliAnalysisTaskJetProtonCorr.cxx:1136
 AliAnalysisTaskJetProtonCorr.cxx:1137
 AliAnalysisTaskJetProtonCorr.cxx:1138
 AliAnalysisTaskJetProtonCorr.cxx:1139
 AliAnalysisTaskJetProtonCorr.cxx:1140
 AliAnalysisTaskJetProtonCorr.cxx:1141
 AliAnalysisTaskJetProtonCorr.cxx:1142
 AliAnalysisTaskJetProtonCorr.cxx:1143
 AliAnalysisTaskJetProtonCorr.cxx:1144
 AliAnalysisTaskJetProtonCorr.cxx:1145
 AliAnalysisTaskJetProtonCorr.cxx:1146
 AliAnalysisTaskJetProtonCorr.cxx:1147
 AliAnalysisTaskJetProtonCorr.cxx:1148
 AliAnalysisTaskJetProtonCorr.cxx:1149
 AliAnalysisTaskJetProtonCorr.cxx:1150
 AliAnalysisTaskJetProtonCorr.cxx:1151
 AliAnalysisTaskJetProtonCorr.cxx:1152
 AliAnalysisTaskJetProtonCorr.cxx:1153
 AliAnalysisTaskJetProtonCorr.cxx:1154
 AliAnalysisTaskJetProtonCorr.cxx:1155
 AliAnalysisTaskJetProtonCorr.cxx:1156
 AliAnalysisTaskJetProtonCorr.cxx:1157
 AliAnalysisTaskJetProtonCorr.cxx:1158
 AliAnalysisTaskJetProtonCorr.cxx:1159
 AliAnalysisTaskJetProtonCorr.cxx:1160
 AliAnalysisTaskJetProtonCorr.cxx:1161
 AliAnalysisTaskJetProtonCorr.cxx:1162
 AliAnalysisTaskJetProtonCorr.cxx:1163
 AliAnalysisTaskJetProtonCorr.cxx:1164
 AliAnalysisTaskJetProtonCorr.cxx:1165
 AliAnalysisTaskJetProtonCorr.cxx:1166
 AliAnalysisTaskJetProtonCorr.cxx:1167
 AliAnalysisTaskJetProtonCorr.cxx:1168
 AliAnalysisTaskJetProtonCorr.cxx:1169
 AliAnalysisTaskJetProtonCorr.cxx:1170
 AliAnalysisTaskJetProtonCorr.cxx:1171
 AliAnalysisTaskJetProtonCorr.cxx:1172
 AliAnalysisTaskJetProtonCorr.cxx:1173
 AliAnalysisTaskJetProtonCorr.cxx:1174
 AliAnalysisTaskJetProtonCorr.cxx:1175
 AliAnalysisTaskJetProtonCorr.cxx:1176
 AliAnalysisTaskJetProtonCorr.cxx:1177
 AliAnalysisTaskJetProtonCorr.cxx:1178
 AliAnalysisTaskJetProtonCorr.cxx:1179
 AliAnalysisTaskJetProtonCorr.cxx:1180
 AliAnalysisTaskJetProtonCorr.cxx:1181
 AliAnalysisTaskJetProtonCorr.cxx:1182
 AliAnalysisTaskJetProtonCorr.cxx:1183
 AliAnalysisTaskJetProtonCorr.cxx:1184
 AliAnalysisTaskJetProtonCorr.cxx:1185
 AliAnalysisTaskJetProtonCorr.cxx:1186
 AliAnalysisTaskJetProtonCorr.cxx:1187
 AliAnalysisTaskJetProtonCorr.cxx:1188
 AliAnalysisTaskJetProtonCorr.cxx:1189
 AliAnalysisTaskJetProtonCorr.cxx:1190
 AliAnalysisTaskJetProtonCorr.cxx:1191
 AliAnalysisTaskJetProtonCorr.cxx:1192
 AliAnalysisTaskJetProtonCorr.cxx:1193
 AliAnalysisTaskJetProtonCorr.cxx:1194
 AliAnalysisTaskJetProtonCorr.cxx:1195
 AliAnalysisTaskJetProtonCorr.cxx:1196
 AliAnalysisTaskJetProtonCorr.cxx:1197
 AliAnalysisTaskJetProtonCorr.cxx:1198
 AliAnalysisTaskJetProtonCorr.cxx:1199
 AliAnalysisTaskJetProtonCorr.cxx:1200
 AliAnalysisTaskJetProtonCorr.cxx:1201
 AliAnalysisTaskJetProtonCorr.cxx:1202
 AliAnalysisTaskJetProtonCorr.cxx:1203
 AliAnalysisTaskJetProtonCorr.cxx:1204
 AliAnalysisTaskJetProtonCorr.cxx:1205
 AliAnalysisTaskJetProtonCorr.cxx:1206
 AliAnalysisTaskJetProtonCorr.cxx:1207
 AliAnalysisTaskJetProtonCorr.cxx:1208
 AliAnalysisTaskJetProtonCorr.cxx:1209
 AliAnalysisTaskJetProtonCorr.cxx:1210
 AliAnalysisTaskJetProtonCorr.cxx:1211
 AliAnalysisTaskJetProtonCorr.cxx:1212
 AliAnalysisTaskJetProtonCorr.cxx:1213
 AliAnalysisTaskJetProtonCorr.cxx:1214
 AliAnalysisTaskJetProtonCorr.cxx:1215
 AliAnalysisTaskJetProtonCorr.cxx:1216
 AliAnalysisTaskJetProtonCorr.cxx:1217
 AliAnalysisTaskJetProtonCorr.cxx:1218
 AliAnalysisTaskJetProtonCorr.cxx:1219
 AliAnalysisTaskJetProtonCorr.cxx:1220
 AliAnalysisTaskJetProtonCorr.cxx:1221
 AliAnalysisTaskJetProtonCorr.cxx:1222
 AliAnalysisTaskJetProtonCorr.cxx:1223
 AliAnalysisTaskJetProtonCorr.cxx:1224
 AliAnalysisTaskJetProtonCorr.cxx:1225
 AliAnalysisTaskJetProtonCorr.cxx:1226
 AliAnalysisTaskJetProtonCorr.cxx:1227
 AliAnalysisTaskJetProtonCorr.cxx:1228
 AliAnalysisTaskJetProtonCorr.cxx:1229
 AliAnalysisTaskJetProtonCorr.cxx:1230
 AliAnalysisTaskJetProtonCorr.cxx:1231
 AliAnalysisTaskJetProtonCorr.cxx:1232
 AliAnalysisTaskJetProtonCorr.cxx:1233
 AliAnalysisTaskJetProtonCorr.cxx:1234
 AliAnalysisTaskJetProtonCorr.cxx:1235
 AliAnalysisTaskJetProtonCorr.cxx:1236
 AliAnalysisTaskJetProtonCorr.cxx:1237
 AliAnalysisTaskJetProtonCorr.cxx:1238
 AliAnalysisTaskJetProtonCorr.cxx:1239
 AliAnalysisTaskJetProtonCorr.cxx:1240
 AliAnalysisTaskJetProtonCorr.cxx:1241
 AliAnalysisTaskJetProtonCorr.cxx:1242
 AliAnalysisTaskJetProtonCorr.cxx:1243
 AliAnalysisTaskJetProtonCorr.cxx:1244
 AliAnalysisTaskJetProtonCorr.cxx:1245
 AliAnalysisTaskJetProtonCorr.cxx:1246
 AliAnalysisTaskJetProtonCorr.cxx:1247
 AliAnalysisTaskJetProtonCorr.cxx:1248
 AliAnalysisTaskJetProtonCorr.cxx:1249
 AliAnalysisTaskJetProtonCorr.cxx:1250
 AliAnalysisTaskJetProtonCorr.cxx:1251
 AliAnalysisTaskJetProtonCorr.cxx:1252
 AliAnalysisTaskJetProtonCorr.cxx:1253
 AliAnalysisTaskJetProtonCorr.cxx:1254
 AliAnalysisTaskJetProtonCorr.cxx:1255
 AliAnalysisTaskJetProtonCorr.cxx:1256
 AliAnalysisTaskJetProtonCorr.cxx:1257
 AliAnalysisTaskJetProtonCorr.cxx:1258
 AliAnalysisTaskJetProtonCorr.cxx:1259
 AliAnalysisTaskJetProtonCorr.cxx:1260
 AliAnalysisTaskJetProtonCorr.cxx:1261
 AliAnalysisTaskJetProtonCorr.cxx:1262
 AliAnalysisTaskJetProtonCorr.cxx:1263
 AliAnalysisTaskJetProtonCorr.cxx:1264
 AliAnalysisTaskJetProtonCorr.cxx:1265
 AliAnalysisTaskJetProtonCorr.cxx:1266
 AliAnalysisTaskJetProtonCorr.cxx:1267
 AliAnalysisTaskJetProtonCorr.cxx:1268
 AliAnalysisTaskJetProtonCorr.cxx:1269
 AliAnalysisTaskJetProtonCorr.cxx:1270
 AliAnalysisTaskJetProtonCorr.cxx:1271
 AliAnalysisTaskJetProtonCorr.cxx:1272
 AliAnalysisTaskJetProtonCorr.cxx:1273
 AliAnalysisTaskJetProtonCorr.cxx:1274
 AliAnalysisTaskJetProtonCorr.cxx:1275
 AliAnalysisTaskJetProtonCorr.cxx:1276
 AliAnalysisTaskJetProtonCorr.cxx:1277
 AliAnalysisTaskJetProtonCorr.cxx:1278
 AliAnalysisTaskJetProtonCorr.cxx:1279
 AliAnalysisTaskJetProtonCorr.cxx:1280
 AliAnalysisTaskJetProtonCorr.cxx:1281
 AliAnalysisTaskJetProtonCorr.cxx:1282
 AliAnalysisTaskJetProtonCorr.cxx:1283
 AliAnalysisTaskJetProtonCorr.cxx:1284
 AliAnalysisTaskJetProtonCorr.cxx:1285
 AliAnalysisTaskJetProtonCorr.cxx:1286
 AliAnalysisTaskJetProtonCorr.cxx:1287
 AliAnalysisTaskJetProtonCorr.cxx:1288
 AliAnalysisTaskJetProtonCorr.cxx:1289
 AliAnalysisTaskJetProtonCorr.cxx:1290
 AliAnalysisTaskJetProtonCorr.cxx:1291
 AliAnalysisTaskJetProtonCorr.cxx:1292
 AliAnalysisTaskJetProtonCorr.cxx:1293
 AliAnalysisTaskJetProtonCorr.cxx:1294
 AliAnalysisTaskJetProtonCorr.cxx:1295
 AliAnalysisTaskJetProtonCorr.cxx:1296
 AliAnalysisTaskJetProtonCorr.cxx:1297
 AliAnalysisTaskJetProtonCorr.cxx:1298
 AliAnalysisTaskJetProtonCorr.cxx:1299
 AliAnalysisTaskJetProtonCorr.cxx:1300
 AliAnalysisTaskJetProtonCorr.cxx:1301
 AliAnalysisTaskJetProtonCorr.cxx:1302
 AliAnalysisTaskJetProtonCorr.cxx:1303
 AliAnalysisTaskJetProtonCorr.cxx:1304
 AliAnalysisTaskJetProtonCorr.cxx:1305
 AliAnalysisTaskJetProtonCorr.cxx:1306
 AliAnalysisTaskJetProtonCorr.cxx:1307
 AliAnalysisTaskJetProtonCorr.cxx:1308
 AliAnalysisTaskJetProtonCorr.cxx:1309
 AliAnalysisTaskJetProtonCorr.cxx:1310
 AliAnalysisTaskJetProtonCorr.cxx:1311
 AliAnalysisTaskJetProtonCorr.cxx:1312
 AliAnalysisTaskJetProtonCorr.cxx:1313
 AliAnalysisTaskJetProtonCorr.cxx:1314
 AliAnalysisTaskJetProtonCorr.cxx:1315
 AliAnalysisTaskJetProtonCorr.cxx:1316
 AliAnalysisTaskJetProtonCorr.cxx:1317
 AliAnalysisTaskJetProtonCorr.cxx:1318
 AliAnalysisTaskJetProtonCorr.cxx:1319
 AliAnalysisTaskJetProtonCorr.cxx:1320
 AliAnalysisTaskJetProtonCorr.cxx:1321
 AliAnalysisTaskJetProtonCorr.cxx:1322
 AliAnalysisTaskJetProtonCorr.cxx:1323
 AliAnalysisTaskJetProtonCorr.cxx:1324
 AliAnalysisTaskJetProtonCorr.cxx:1325
 AliAnalysisTaskJetProtonCorr.cxx:1326
 AliAnalysisTaskJetProtonCorr.cxx:1327
 AliAnalysisTaskJetProtonCorr.cxx:1328
 AliAnalysisTaskJetProtonCorr.cxx:1329
 AliAnalysisTaskJetProtonCorr.cxx:1330
 AliAnalysisTaskJetProtonCorr.cxx:1331
 AliAnalysisTaskJetProtonCorr.cxx:1332
 AliAnalysisTaskJetProtonCorr.cxx:1333
 AliAnalysisTaskJetProtonCorr.cxx:1334
 AliAnalysisTaskJetProtonCorr.cxx:1335
 AliAnalysisTaskJetProtonCorr.cxx:1336
 AliAnalysisTaskJetProtonCorr.cxx:1337
 AliAnalysisTaskJetProtonCorr.cxx:1338
 AliAnalysisTaskJetProtonCorr.cxx:1339
 AliAnalysisTaskJetProtonCorr.cxx:1340
 AliAnalysisTaskJetProtonCorr.cxx:1341
 AliAnalysisTaskJetProtonCorr.cxx:1342
 AliAnalysisTaskJetProtonCorr.cxx:1343
 AliAnalysisTaskJetProtonCorr.cxx:1344
 AliAnalysisTaskJetProtonCorr.cxx:1345
 AliAnalysisTaskJetProtonCorr.cxx:1346
 AliAnalysisTaskJetProtonCorr.cxx:1347
 AliAnalysisTaskJetProtonCorr.cxx:1348
 AliAnalysisTaskJetProtonCorr.cxx:1349
 AliAnalysisTaskJetProtonCorr.cxx:1350
 AliAnalysisTaskJetProtonCorr.cxx:1351
 AliAnalysisTaskJetProtonCorr.cxx:1352
 AliAnalysisTaskJetProtonCorr.cxx:1353
 AliAnalysisTaskJetProtonCorr.cxx:1354
 AliAnalysisTaskJetProtonCorr.cxx:1355
 AliAnalysisTaskJetProtonCorr.cxx:1356
 AliAnalysisTaskJetProtonCorr.cxx:1357
 AliAnalysisTaskJetProtonCorr.cxx:1358
 AliAnalysisTaskJetProtonCorr.cxx:1359
 AliAnalysisTaskJetProtonCorr.cxx:1360
 AliAnalysisTaskJetProtonCorr.cxx:1361
 AliAnalysisTaskJetProtonCorr.cxx:1362
 AliAnalysisTaskJetProtonCorr.cxx:1363
 AliAnalysisTaskJetProtonCorr.cxx:1364
 AliAnalysisTaskJetProtonCorr.cxx:1365
 AliAnalysisTaskJetProtonCorr.cxx:1366
 AliAnalysisTaskJetProtonCorr.cxx:1367
 AliAnalysisTaskJetProtonCorr.cxx:1368
 AliAnalysisTaskJetProtonCorr.cxx:1369
 AliAnalysisTaskJetProtonCorr.cxx:1370
 AliAnalysisTaskJetProtonCorr.cxx:1371
 AliAnalysisTaskJetProtonCorr.cxx:1372
 AliAnalysisTaskJetProtonCorr.cxx:1373
 AliAnalysisTaskJetProtonCorr.cxx:1374
 AliAnalysisTaskJetProtonCorr.cxx:1375
 AliAnalysisTaskJetProtonCorr.cxx:1376
 AliAnalysisTaskJetProtonCorr.cxx:1377
 AliAnalysisTaskJetProtonCorr.cxx:1378
 AliAnalysisTaskJetProtonCorr.cxx:1379
 AliAnalysisTaskJetProtonCorr.cxx:1380
 AliAnalysisTaskJetProtonCorr.cxx:1381
 AliAnalysisTaskJetProtonCorr.cxx:1382
 AliAnalysisTaskJetProtonCorr.cxx:1383
 AliAnalysisTaskJetProtonCorr.cxx:1384
 AliAnalysisTaskJetProtonCorr.cxx:1385
 AliAnalysisTaskJetProtonCorr.cxx:1386
 AliAnalysisTaskJetProtonCorr.cxx:1387
 AliAnalysisTaskJetProtonCorr.cxx:1388
 AliAnalysisTaskJetProtonCorr.cxx:1389
 AliAnalysisTaskJetProtonCorr.cxx:1390
 AliAnalysisTaskJetProtonCorr.cxx:1391
 AliAnalysisTaskJetProtonCorr.cxx:1392
 AliAnalysisTaskJetProtonCorr.cxx:1393
 AliAnalysisTaskJetProtonCorr.cxx:1394
 AliAnalysisTaskJetProtonCorr.cxx:1395
 AliAnalysisTaskJetProtonCorr.cxx:1396
 AliAnalysisTaskJetProtonCorr.cxx:1397
 AliAnalysisTaskJetProtonCorr.cxx:1398
 AliAnalysisTaskJetProtonCorr.cxx:1399
 AliAnalysisTaskJetProtonCorr.cxx:1400
 AliAnalysisTaskJetProtonCorr.cxx:1401
 AliAnalysisTaskJetProtonCorr.cxx:1402
 AliAnalysisTaskJetProtonCorr.cxx:1403
 AliAnalysisTaskJetProtonCorr.cxx:1404
 AliAnalysisTaskJetProtonCorr.cxx:1405
 AliAnalysisTaskJetProtonCorr.cxx:1406
 AliAnalysisTaskJetProtonCorr.cxx:1407
 AliAnalysisTaskJetProtonCorr.cxx:1408
 AliAnalysisTaskJetProtonCorr.cxx:1409
 AliAnalysisTaskJetProtonCorr.cxx:1410
 AliAnalysisTaskJetProtonCorr.cxx:1411
 AliAnalysisTaskJetProtonCorr.cxx:1412
 AliAnalysisTaskJetProtonCorr.cxx:1413
 AliAnalysisTaskJetProtonCorr.cxx:1414
 AliAnalysisTaskJetProtonCorr.cxx:1415
 AliAnalysisTaskJetProtonCorr.cxx:1416
 AliAnalysisTaskJetProtonCorr.cxx:1417
 AliAnalysisTaskJetProtonCorr.cxx:1418
 AliAnalysisTaskJetProtonCorr.cxx:1419
 AliAnalysisTaskJetProtonCorr.cxx:1420
 AliAnalysisTaskJetProtonCorr.cxx:1421
 AliAnalysisTaskJetProtonCorr.cxx:1422
 AliAnalysisTaskJetProtonCorr.cxx:1423
 AliAnalysisTaskJetProtonCorr.cxx:1424
 AliAnalysisTaskJetProtonCorr.cxx:1425
 AliAnalysisTaskJetProtonCorr.cxx:1426
 AliAnalysisTaskJetProtonCorr.cxx:1427
 AliAnalysisTaskJetProtonCorr.cxx:1428
 AliAnalysisTaskJetProtonCorr.cxx:1429
 AliAnalysisTaskJetProtonCorr.cxx:1430
 AliAnalysisTaskJetProtonCorr.cxx:1431
 AliAnalysisTaskJetProtonCorr.cxx:1432
 AliAnalysisTaskJetProtonCorr.cxx:1433
 AliAnalysisTaskJetProtonCorr.cxx:1434
 AliAnalysisTaskJetProtonCorr.cxx:1435
 AliAnalysisTaskJetProtonCorr.cxx:1436
 AliAnalysisTaskJetProtonCorr.cxx:1437
 AliAnalysisTaskJetProtonCorr.cxx:1438
 AliAnalysisTaskJetProtonCorr.cxx:1439
 AliAnalysisTaskJetProtonCorr.cxx:1440
 AliAnalysisTaskJetProtonCorr.cxx:1441
 AliAnalysisTaskJetProtonCorr.cxx:1442
 AliAnalysisTaskJetProtonCorr.cxx:1443
 AliAnalysisTaskJetProtonCorr.cxx:1444
 AliAnalysisTaskJetProtonCorr.cxx:1445
 AliAnalysisTaskJetProtonCorr.cxx:1446
 AliAnalysisTaskJetProtonCorr.cxx:1447
 AliAnalysisTaskJetProtonCorr.cxx:1448
 AliAnalysisTaskJetProtonCorr.cxx:1449
 AliAnalysisTaskJetProtonCorr.cxx:1450
 AliAnalysisTaskJetProtonCorr.cxx:1451
 AliAnalysisTaskJetProtonCorr.cxx:1452
 AliAnalysisTaskJetProtonCorr.cxx:1453
 AliAnalysisTaskJetProtonCorr.cxx:1454
 AliAnalysisTaskJetProtonCorr.cxx:1455
 AliAnalysisTaskJetProtonCorr.cxx:1456
 AliAnalysisTaskJetProtonCorr.cxx:1457
 AliAnalysisTaskJetProtonCorr.cxx:1458
 AliAnalysisTaskJetProtonCorr.cxx:1459
 AliAnalysisTaskJetProtonCorr.cxx:1460
 AliAnalysisTaskJetProtonCorr.cxx:1461
 AliAnalysisTaskJetProtonCorr.cxx:1462
 AliAnalysisTaskJetProtonCorr.cxx:1463
 AliAnalysisTaskJetProtonCorr.cxx:1464
 AliAnalysisTaskJetProtonCorr.cxx:1465
 AliAnalysisTaskJetProtonCorr.cxx:1466
 AliAnalysisTaskJetProtonCorr.cxx:1467
 AliAnalysisTaskJetProtonCorr.cxx:1468
 AliAnalysisTaskJetProtonCorr.cxx:1469
 AliAnalysisTaskJetProtonCorr.cxx:1470
 AliAnalysisTaskJetProtonCorr.cxx:1471
 AliAnalysisTaskJetProtonCorr.cxx:1472
 AliAnalysisTaskJetProtonCorr.cxx:1473
 AliAnalysisTaskJetProtonCorr.cxx:1474
 AliAnalysisTaskJetProtonCorr.cxx:1475
 AliAnalysisTaskJetProtonCorr.cxx:1476
 AliAnalysisTaskJetProtonCorr.cxx:1477
 AliAnalysisTaskJetProtonCorr.cxx:1478
 AliAnalysisTaskJetProtonCorr.cxx:1479
 AliAnalysisTaskJetProtonCorr.cxx:1480
 AliAnalysisTaskJetProtonCorr.cxx:1481
 AliAnalysisTaskJetProtonCorr.cxx:1482
 AliAnalysisTaskJetProtonCorr.cxx:1483
 AliAnalysisTaskJetProtonCorr.cxx:1484
 AliAnalysisTaskJetProtonCorr.cxx:1485
 AliAnalysisTaskJetProtonCorr.cxx:1486
 AliAnalysisTaskJetProtonCorr.cxx:1487
 AliAnalysisTaskJetProtonCorr.cxx:1488
 AliAnalysisTaskJetProtonCorr.cxx:1489
 AliAnalysisTaskJetProtonCorr.cxx:1490
 AliAnalysisTaskJetProtonCorr.cxx:1491
 AliAnalysisTaskJetProtonCorr.cxx:1492
 AliAnalysisTaskJetProtonCorr.cxx:1493
 AliAnalysisTaskJetProtonCorr.cxx:1494
 AliAnalysisTaskJetProtonCorr.cxx:1495
 AliAnalysisTaskJetProtonCorr.cxx:1496
 AliAnalysisTaskJetProtonCorr.cxx:1497
 AliAnalysisTaskJetProtonCorr.cxx:1498
 AliAnalysisTaskJetProtonCorr.cxx:1499
 AliAnalysisTaskJetProtonCorr.cxx:1500
 AliAnalysisTaskJetProtonCorr.cxx:1501
 AliAnalysisTaskJetProtonCorr.cxx:1502
 AliAnalysisTaskJetProtonCorr.cxx:1503
 AliAnalysisTaskJetProtonCorr.cxx:1504
 AliAnalysisTaskJetProtonCorr.cxx:1505
 AliAnalysisTaskJetProtonCorr.cxx:1506
 AliAnalysisTaskJetProtonCorr.cxx:1507
 AliAnalysisTaskJetProtonCorr.cxx:1508
 AliAnalysisTaskJetProtonCorr.cxx:1509
 AliAnalysisTaskJetProtonCorr.cxx:1510
 AliAnalysisTaskJetProtonCorr.cxx:1511
 AliAnalysisTaskJetProtonCorr.cxx:1512
 AliAnalysisTaskJetProtonCorr.cxx:1513
 AliAnalysisTaskJetProtonCorr.cxx:1514
 AliAnalysisTaskJetProtonCorr.cxx:1515
 AliAnalysisTaskJetProtonCorr.cxx:1516
 AliAnalysisTaskJetProtonCorr.cxx:1517
 AliAnalysisTaskJetProtonCorr.cxx:1518
 AliAnalysisTaskJetProtonCorr.cxx:1519
 AliAnalysisTaskJetProtonCorr.cxx:1520
 AliAnalysisTaskJetProtonCorr.cxx:1521
 AliAnalysisTaskJetProtonCorr.cxx:1522
 AliAnalysisTaskJetProtonCorr.cxx:1523
 AliAnalysisTaskJetProtonCorr.cxx:1524
 AliAnalysisTaskJetProtonCorr.cxx:1525
 AliAnalysisTaskJetProtonCorr.cxx:1526
 AliAnalysisTaskJetProtonCorr.cxx:1527
 AliAnalysisTaskJetProtonCorr.cxx:1528
 AliAnalysisTaskJetProtonCorr.cxx:1529
 AliAnalysisTaskJetProtonCorr.cxx:1530
 AliAnalysisTaskJetProtonCorr.cxx:1531
 AliAnalysisTaskJetProtonCorr.cxx:1532
 AliAnalysisTaskJetProtonCorr.cxx:1533
 AliAnalysisTaskJetProtonCorr.cxx:1534
 AliAnalysisTaskJetProtonCorr.cxx:1535
 AliAnalysisTaskJetProtonCorr.cxx:1536
 AliAnalysisTaskJetProtonCorr.cxx:1537
 AliAnalysisTaskJetProtonCorr.cxx:1538
 AliAnalysisTaskJetProtonCorr.cxx:1539
 AliAnalysisTaskJetProtonCorr.cxx:1540
 AliAnalysisTaskJetProtonCorr.cxx:1541
 AliAnalysisTaskJetProtonCorr.cxx:1542
 AliAnalysisTaskJetProtonCorr.cxx:1543
 AliAnalysisTaskJetProtonCorr.cxx:1544
 AliAnalysisTaskJetProtonCorr.cxx:1545
 AliAnalysisTaskJetProtonCorr.cxx:1546
 AliAnalysisTaskJetProtonCorr.cxx:1547
 AliAnalysisTaskJetProtonCorr.cxx:1548
 AliAnalysisTaskJetProtonCorr.cxx:1549
 AliAnalysisTaskJetProtonCorr.cxx:1550
 AliAnalysisTaskJetProtonCorr.cxx:1551
 AliAnalysisTaskJetProtonCorr.cxx:1552
 AliAnalysisTaskJetProtonCorr.cxx:1553
 AliAnalysisTaskJetProtonCorr.cxx:1554
 AliAnalysisTaskJetProtonCorr.cxx:1555
 AliAnalysisTaskJetProtonCorr.cxx:1556
 AliAnalysisTaskJetProtonCorr.cxx:1557
 AliAnalysisTaskJetProtonCorr.cxx:1558
 AliAnalysisTaskJetProtonCorr.cxx:1559
 AliAnalysisTaskJetProtonCorr.cxx:1560
 AliAnalysisTaskJetProtonCorr.cxx:1561
 AliAnalysisTaskJetProtonCorr.cxx:1562
 AliAnalysisTaskJetProtonCorr.cxx:1563
 AliAnalysisTaskJetProtonCorr.cxx:1564
 AliAnalysisTaskJetProtonCorr.cxx:1565
 AliAnalysisTaskJetProtonCorr.cxx:1566
 AliAnalysisTaskJetProtonCorr.cxx:1567
 AliAnalysisTaskJetProtonCorr.cxx:1568
 AliAnalysisTaskJetProtonCorr.cxx:1569
 AliAnalysisTaskJetProtonCorr.cxx:1570
 AliAnalysisTaskJetProtonCorr.cxx:1571
 AliAnalysisTaskJetProtonCorr.cxx:1572
 AliAnalysisTaskJetProtonCorr.cxx:1573
 AliAnalysisTaskJetProtonCorr.cxx:1574
 AliAnalysisTaskJetProtonCorr.cxx:1575
 AliAnalysisTaskJetProtonCorr.cxx:1576
 AliAnalysisTaskJetProtonCorr.cxx:1577
 AliAnalysisTaskJetProtonCorr.cxx:1578
 AliAnalysisTaskJetProtonCorr.cxx:1579
 AliAnalysisTaskJetProtonCorr.cxx:1580
 AliAnalysisTaskJetProtonCorr.cxx:1581
 AliAnalysisTaskJetProtonCorr.cxx:1582
 AliAnalysisTaskJetProtonCorr.cxx:1583
 AliAnalysisTaskJetProtonCorr.cxx:1584
 AliAnalysisTaskJetProtonCorr.cxx:1585
 AliAnalysisTaskJetProtonCorr.cxx:1586
 AliAnalysisTaskJetProtonCorr.cxx:1587
 AliAnalysisTaskJetProtonCorr.cxx:1588
 AliAnalysisTaskJetProtonCorr.cxx:1589
 AliAnalysisTaskJetProtonCorr.cxx:1590
 AliAnalysisTaskJetProtonCorr.cxx:1591
 AliAnalysisTaskJetProtonCorr.cxx:1592
 AliAnalysisTaskJetProtonCorr.cxx:1593
 AliAnalysisTaskJetProtonCorr.cxx:1594
 AliAnalysisTaskJetProtonCorr.cxx:1595
 AliAnalysisTaskJetProtonCorr.cxx:1596
 AliAnalysisTaskJetProtonCorr.cxx:1597
 AliAnalysisTaskJetProtonCorr.cxx:1598
 AliAnalysisTaskJetProtonCorr.cxx:1599
 AliAnalysisTaskJetProtonCorr.cxx:1600
 AliAnalysisTaskJetProtonCorr.cxx:1601
 AliAnalysisTaskJetProtonCorr.cxx:1602
 AliAnalysisTaskJetProtonCorr.cxx:1603
 AliAnalysisTaskJetProtonCorr.cxx:1604
 AliAnalysisTaskJetProtonCorr.cxx:1605
 AliAnalysisTaskJetProtonCorr.cxx:1606
 AliAnalysisTaskJetProtonCorr.cxx:1607
 AliAnalysisTaskJetProtonCorr.cxx:1608
 AliAnalysisTaskJetProtonCorr.cxx:1609
 AliAnalysisTaskJetProtonCorr.cxx:1610
 AliAnalysisTaskJetProtonCorr.cxx:1611
 AliAnalysisTaskJetProtonCorr.cxx:1612
 AliAnalysisTaskJetProtonCorr.cxx:1613
 AliAnalysisTaskJetProtonCorr.cxx:1614
 AliAnalysisTaskJetProtonCorr.cxx:1615
 AliAnalysisTaskJetProtonCorr.cxx:1616
 AliAnalysisTaskJetProtonCorr.cxx:1617
 AliAnalysisTaskJetProtonCorr.cxx:1618
 AliAnalysisTaskJetProtonCorr.cxx:1619
 AliAnalysisTaskJetProtonCorr.cxx:1620
 AliAnalysisTaskJetProtonCorr.cxx:1621
 AliAnalysisTaskJetProtonCorr.cxx:1622
 AliAnalysisTaskJetProtonCorr.cxx:1623
 AliAnalysisTaskJetProtonCorr.cxx:1624
 AliAnalysisTaskJetProtonCorr.cxx:1625
 AliAnalysisTaskJetProtonCorr.cxx:1626
 AliAnalysisTaskJetProtonCorr.cxx:1627
 AliAnalysisTaskJetProtonCorr.cxx:1628
 AliAnalysisTaskJetProtonCorr.cxx:1629
 AliAnalysisTaskJetProtonCorr.cxx:1630
 AliAnalysisTaskJetProtonCorr.cxx:1631
 AliAnalysisTaskJetProtonCorr.cxx:1632
 AliAnalysisTaskJetProtonCorr.cxx:1633
 AliAnalysisTaskJetProtonCorr.cxx:1634
 AliAnalysisTaskJetProtonCorr.cxx:1635
 AliAnalysisTaskJetProtonCorr.cxx:1636
 AliAnalysisTaskJetProtonCorr.cxx:1637
 AliAnalysisTaskJetProtonCorr.cxx:1638
 AliAnalysisTaskJetProtonCorr.cxx:1639
 AliAnalysisTaskJetProtonCorr.cxx:1640
 AliAnalysisTaskJetProtonCorr.cxx:1641
 AliAnalysisTaskJetProtonCorr.cxx:1642
 AliAnalysisTaskJetProtonCorr.cxx:1643
 AliAnalysisTaskJetProtonCorr.cxx:1644
 AliAnalysisTaskJetProtonCorr.cxx:1645
 AliAnalysisTaskJetProtonCorr.cxx:1646
 AliAnalysisTaskJetProtonCorr.cxx:1647
 AliAnalysisTaskJetProtonCorr.cxx:1648
 AliAnalysisTaskJetProtonCorr.cxx:1649
 AliAnalysisTaskJetProtonCorr.cxx:1650
 AliAnalysisTaskJetProtonCorr.cxx:1651
 AliAnalysisTaskJetProtonCorr.cxx:1652
 AliAnalysisTaskJetProtonCorr.cxx:1653
 AliAnalysisTaskJetProtonCorr.cxx:1654
 AliAnalysisTaskJetProtonCorr.cxx:1655
 AliAnalysisTaskJetProtonCorr.cxx:1656
 AliAnalysisTaskJetProtonCorr.cxx:1657
 AliAnalysisTaskJetProtonCorr.cxx:1658
 AliAnalysisTaskJetProtonCorr.cxx:1659
 AliAnalysisTaskJetProtonCorr.cxx:1660
 AliAnalysisTaskJetProtonCorr.cxx:1661
 AliAnalysisTaskJetProtonCorr.cxx:1662
 AliAnalysisTaskJetProtonCorr.cxx:1663
 AliAnalysisTaskJetProtonCorr.cxx:1664
 AliAnalysisTaskJetProtonCorr.cxx:1665
 AliAnalysisTaskJetProtonCorr.cxx:1666
 AliAnalysisTaskJetProtonCorr.cxx:1667
 AliAnalysisTaskJetProtonCorr.cxx:1668
 AliAnalysisTaskJetProtonCorr.cxx:1669
 AliAnalysisTaskJetProtonCorr.cxx:1670
 AliAnalysisTaskJetProtonCorr.cxx:1671
 AliAnalysisTaskJetProtonCorr.cxx:1672
 AliAnalysisTaskJetProtonCorr.cxx:1673
 AliAnalysisTaskJetProtonCorr.cxx:1674
 AliAnalysisTaskJetProtonCorr.cxx:1675
 AliAnalysisTaskJetProtonCorr.cxx:1676
 AliAnalysisTaskJetProtonCorr.cxx:1677
 AliAnalysisTaskJetProtonCorr.cxx:1678
 AliAnalysisTaskJetProtonCorr.cxx:1679
 AliAnalysisTaskJetProtonCorr.cxx:1680
 AliAnalysisTaskJetProtonCorr.cxx:1681
 AliAnalysisTaskJetProtonCorr.cxx:1682
 AliAnalysisTaskJetProtonCorr.cxx:1683
 AliAnalysisTaskJetProtonCorr.cxx:1684
 AliAnalysisTaskJetProtonCorr.cxx:1685
 AliAnalysisTaskJetProtonCorr.cxx:1686
 AliAnalysisTaskJetProtonCorr.cxx:1687
 AliAnalysisTaskJetProtonCorr.cxx:1688
 AliAnalysisTaskJetProtonCorr.cxx:1689
 AliAnalysisTaskJetProtonCorr.cxx:1690
 AliAnalysisTaskJetProtonCorr.cxx:1691
 AliAnalysisTaskJetProtonCorr.cxx:1692
 AliAnalysisTaskJetProtonCorr.cxx:1693
 AliAnalysisTaskJetProtonCorr.cxx:1694
 AliAnalysisTaskJetProtonCorr.cxx:1695
 AliAnalysisTaskJetProtonCorr.cxx:1696
 AliAnalysisTaskJetProtonCorr.cxx:1697
 AliAnalysisTaskJetProtonCorr.cxx:1698
 AliAnalysisTaskJetProtonCorr.cxx:1699
 AliAnalysisTaskJetProtonCorr.cxx:1700
 AliAnalysisTaskJetProtonCorr.cxx:1701
 AliAnalysisTaskJetProtonCorr.cxx:1702
 AliAnalysisTaskJetProtonCorr.cxx:1703
 AliAnalysisTaskJetProtonCorr.cxx:1704
 AliAnalysisTaskJetProtonCorr.cxx:1705
 AliAnalysisTaskJetProtonCorr.cxx:1706
 AliAnalysisTaskJetProtonCorr.cxx:1707
 AliAnalysisTaskJetProtonCorr.cxx:1708
 AliAnalysisTaskJetProtonCorr.cxx:1709
 AliAnalysisTaskJetProtonCorr.cxx:1710
 AliAnalysisTaskJetProtonCorr.cxx:1711
 AliAnalysisTaskJetProtonCorr.cxx:1712
 AliAnalysisTaskJetProtonCorr.cxx:1713
 AliAnalysisTaskJetProtonCorr.cxx:1714
 AliAnalysisTaskJetProtonCorr.cxx:1715
 AliAnalysisTaskJetProtonCorr.cxx:1716
 AliAnalysisTaskJetProtonCorr.cxx:1717
 AliAnalysisTaskJetProtonCorr.cxx:1718
 AliAnalysisTaskJetProtonCorr.cxx:1719
 AliAnalysisTaskJetProtonCorr.cxx:1720
 AliAnalysisTaskJetProtonCorr.cxx:1721
 AliAnalysisTaskJetProtonCorr.cxx:1722
 AliAnalysisTaskJetProtonCorr.cxx:1723
 AliAnalysisTaskJetProtonCorr.cxx:1724
 AliAnalysisTaskJetProtonCorr.cxx:1725
 AliAnalysisTaskJetProtonCorr.cxx:1726
 AliAnalysisTaskJetProtonCorr.cxx:1727
 AliAnalysisTaskJetProtonCorr.cxx:1728
 AliAnalysisTaskJetProtonCorr.cxx:1729
 AliAnalysisTaskJetProtonCorr.cxx:1730
 AliAnalysisTaskJetProtonCorr.cxx:1731
 AliAnalysisTaskJetProtonCorr.cxx:1732
 AliAnalysisTaskJetProtonCorr.cxx:1733
 AliAnalysisTaskJetProtonCorr.cxx:1734
 AliAnalysisTaskJetProtonCorr.cxx:1735
 AliAnalysisTaskJetProtonCorr.cxx:1736
 AliAnalysisTaskJetProtonCorr.cxx:1737
 AliAnalysisTaskJetProtonCorr.cxx:1738
 AliAnalysisTaskJetProtonCorr.cxx:1739
 AliAnalysisTaskJetProtonCorr.cxx:1740
 AliAnalysisTaskJetProtonCorr.cxx:1741
 AliAnalysisTaskJetProtonCorr.cxx:1742
 AliAnalysisTaskJetProtonCorr.cxx:1743
 AliAnalysisTaskJetProtonCorr.cxx:1744
 AliAnalysisTaskJetProtonCorr.cxx:1745
 AliAnalysisTaskJetProtonCorr.cxx:1746
 AliAnalysisTaskJetProtonCorr.cxx:1747
 AliAnalysisTaskJetProtonCorr.cxx:1748
 AliAnalysisTaskJetProtonCorr.cxx:1749
 AliAnalysisTaskJetProtonCorr.cxx:1750
 AliAnalysisTaskJetProtonCorr.cxx:1751
 AliAnalysisTaskJetProtonCorr.cxx:1752
 AliAnalysisTaskJetProtonCorr.cxx:1753
 AliAnalysisTaskJetProtonCorr.cxx:1754
 AliAnalysisTaskJetProtonCorr.cxx:1755
 AliAnalysisTaskJetProtonCorr.cxx:1756
 AliAnalysisTaskJetProtonCorr.cxx:1757
 AliAnalysisTaskJetProtonCorr.cxx:1758
 AliAnalysisTaskJetProtonCorr.cxx:1759
 AliAnalysisTaskJetProtonCorr.cxx:1760
 AliAnalysisTaskJetProtonCorr.cxx:1761
 AliAnalysisTaskJetProtonCorr.cxx:1762
 AliAnalysisTaskJetProtonCorr.cxx:1763
 AliAnalysisTaskJetProtonCorr.cxx:1764
 AliAnalysisTaskJetProtonCorr.cxx:1765
 AliAnalysisTaskJetProtonCorr.cxx:1766
 AliAnalysisTaskJetProtonCorr.cxx:1767
 AliAnalysisTaskJetProtonCorr.cxx:1768
 AliAnalysisTaskJetProtonCorr.cxx:1769
 AliAnalysisTaskJetProtonCorr.cxx:1770
 AliAnalysisTaskJetProtonCorr.cxx:1771
 AliAnalysisTaskJetProtonCorr.cxx:1772
 AliAnalysisTaskJetProtonCorr.cxx:1773
 AliAnalysisTaskJetProtonCorr.cxx:1774
 AliAnalysisTaskJetProtonCorr.cxx:1775
 AliAnalysisTaskJetProtonCorr.cxx:1776
 AliAnalysisTaskJetProtonCorr.cxx:1777
 AliAnalysisTaskJetProtonCorr.cxx:1778
 AliAnalysisTaskJetProtonCorr.cxx:1779
 AliAnalysisTaskJetProtonCorr.cxx:1780
 AliAnalysisTaskJetProtonCorr.cxx:1781
 AliAnalysisTaskJetProtonCorr.cxx:1782
 AliAnalysisTaskJetProtonCorr.cxx:1783
 AliAnalysisTaskJetProtonCorr.cxx:1784
 AliAnalysisTaskJetProtonCorr.cxx:1785
 AliAnalysisTaskJetProtonCorr.cxx:1786
 AliAnalysisTaskJetProtonCorr.cxx:1787
 AliAnalysisTaskJetProtonCorr.cxx:1788
 AliAnalysisTaskJetProtonCorr.cxx:1789
 AliAnalysisTaskJetProtonCorr.cxx:1790
 AliAnalysisTaskJetProtonCorr.cxx:1791
 AliAnalysisTaskJetProtonCorr.cxx:1792
 AliAnalysisTaskJetProtonCorr.cxx:1793
 AliAnalysisTaskJetProtonCorr.cxx:1794
 AliAnalysisTaskJetProtonCorr.cxx:1795
 AliAnalysisTaskJetProtonCorr.cxx:1796
 AliAnalysisTaskJetProtonCorr.cxx:1797
 AliAnalysisTaskJetProtonCorr.cxx:1798
 AliAnalysisTaskJetProtonCorr.cxx:1799
 AliAnalysisTaskJetProtonCorr.cxx:1800
 AliAnalysisTaskJetProtonCorr.cxx:1801
 AliAnalysisTaskJetProtonCorr.cxx:1802
 AliAnalysisTaskJetProtonCorr.cxx:1803
 AliAnalysisTaskJetProtonCorr.cxx:1804
 AliAnalysisTaskJetProtonCorr.cxx:1805
 AliAnalysisTaskJetProtonCorr.cxx:1806
 AliAnalysisTaskJetProtonCorr.cxx:1807
 AliAnalysisTaskJetProtonCorr.cxx:1808
 AliAnalysisTaskJetProtonCorr.cxx:1809
 AliAnalysisTaskJetProtonCorr.cxx:1810
 AliAnalysisTaskJetProtonCorr.cxx:1811
 AliAnalysisTaskJetProtonCorr.cxx:1812
 AliAnalysisTaskJetProtonCorr.cxx:1813
 AliAnalysisTaskJetProtonCorr.cxx:1814
 AliAnalysisTaskJetProtonCorr.cxx:1815
 AliAnalysisTaskJetProtonCorr.cxx:1816
 AliAnalysisTaskJetProtonCorr.cxx:1817
 AliAnalysisTaskJetProtonCorr.cxx:1818
 AliAnalysisTaskJetProtonCorr.cxx:1819
 AliAnalysisTaskJetProtonCorr.cxx:1820
 AliAnalysisTaskJetProtonCorr.cxx:1821
 AliAnalysisTaskJetProtonCorr.cxx:1822
 AliAnalysisTaskJetProtonCorr.cxx:1823
 AliAnalysisTaskJetProtonCorr.cxx:1824
 AliAnalysisTaskJetProtonCorr.cxx:1825
 AliAnalysisTaskJetProtonCorr.cxx:1826
 AliAnalysisTaskJetProtonCorr.cxx:1827
 AliAnalysisTaskJetProtonCorr.cxx:1828
 AliAnalysisTaskJetProtonCorr.cxx:1829
 AliAnalysisTaskJetProtonCorr.cxx:1830
 AliAnalysisTaskJetProtonCorr.cxx:1831
 AliAnalysisTaskJetProtonCorr.cxx:1832
 AliAnalysisTaskJetProtonCorr.cxx:1833
 AliAnalysisTaskJetProtonCorr.cxx:1834
 AliAnalysisTaskJetProtonCorr.cxx:1835
 AliAnalysisTaskJetProtonCorr.cxx:1836
 AliAnalysisTaskJetProtonCorr.cxx:1837
 AliAnalysisTaskJetProtonCorr.cxx:1838
 AliAnalysisTaskJetProtonCorr.cxx:1839
 AliAnalysisTaskJetProtonCorr.cxx:1840
 AliAnalysisTaskJetProtonCorr.cxx:1841
 AliAnalysisTaskJetProtonCorr.cxx:1842
 AliAnalysisTaskJetProtonCorr.cxx:1843
 AliAnalysisTaskJetProtonCorr.cxx:1844
 AliAnalysisTaskJetProtonCorr.cxx:1845
 AliAnalysisTaskJetProtonCorr.cxx:1846
 AliAnalysisTaskJetProtonCorr.cxx:1847
 AliAnalysisTaskJetProtonCorr.cxx:1848
 AliAnalysisTaskJetProtonCorr.cxx:1849
 AliAnalysisTaskJetProtonCorr.cxx:1850
 AliAnalysisTaskJetProtonCorr.cxx:1851
 AliAnalysisTaskJetProtonCorr.cxx:1852
 AliAnalysisTaskJetProtonCorr.cxx:1853
 AliAnalysisTaskJetProtonCorr.cxx:1854
 AliAnalysisTaskJetProtonCorr.cxx:1855
 AliAnalysisTaskJetProtonCorr.cxx:1856
 AliAnalysisTaskJetProtonCorr.cxx:1857
 AliAnalysisTaskJetProtonCorr.cxx:1858
 AliAnalysisTaskJetProtonCorr.cxx:1859
 AliAnalysisTaskJetProtonCorr.cxx:1860
 AliAnalysisTaskJetProtonCorr.cxx:1861
 AliAnalysisTaskJetProtonCorr.cxx:1862
 AliAnalysisTaskJetProtonCorr.cxx:1863
 AliAnalysisTaskJetProtonCorr.cxx:1864
 AliAnalysisTaskJetProtonCorr.cxx:1865
 AliAnalysisTaskJetProtonCorr.cxx:1866
 AliAnalysisTaskJetProtonCorr.cxx:1867
 AliAnalysisTaskJetProtonCorr.cxx:1868
 AliAnalysisTaskJetProtonCorr.cxx:1869
 AliAnalysisTaskJetProtonCorr.cxx:1870
 AliAnalysisTaskJetProtonCorr.cxx:1871
 AliAnalysisTaskJetProtonCorr.cxx:1872
 AliAnalysisTaskJetProtonCorr.cxx:1873
 AliAnalysisTaskJetProtonCorr.cxx:1874
 AliAnalysisTaskJetProtonCorr.cxx:1875
 AliAnalysisTaskJetProtonCorr.cxx:1876
 AliAnalysisTaskJetProtonCorr.cxx:1877
 AliAnalysisTaskJetProtonCorr.cxx:1878
 AliAnalysisTaskJetProtonCorr.cxx:1879
 AliAnalysisTaskJetProtonCorr.cxx:1880
 AliAnalysisTaskJetProtonCorr.cxx:1881
 AliAnalysisTaskJetProtonCorr.cxx:1882
 AliAnalysisTaskJetProtonCorr.cxx:1883
 AliAnalysisTaskJetProtonCorr.cxx:1884
 AliAnalysisTaskJetProtonCorr.cxx:1885
 AliAnalysisTaskJetProtonCorr.cxx:1886
 AliAnalysisTaskJetProtonCorr.cxx:1887
 AliAnalysisTaskJetProtonCorr.cxx:1888
 AliAnalysisTaskJetProtonCorr.cxx:1889
 AliAnalysisTaskJetProtonCorr.cxx:1890
 AliAnalysisTaskJetProtonCorr.cxx:1891
 AliAnalysisTaskJetProtonCorr.cxx:1892
 AliAnalysisTaskJetProtonCorr.cxx:1893
 AliAnalysisTaskJetProtonCorr.cxx:1894
 AliAnalysisTaskJetProtonCorr.cxx:1895
 AliAnalysisTaskJetProtonCorr.cxx:1896
 AliAnalysisTaskJetProtonCorr.cxx:1897
 AliAnalysisTaskJetProtonCorr.cxx:1898
 AliAnalysisTaskJetProtonCorr.cxx:1899
 AliAnalysisTaskJetProtonCorr.cxx:1900
 AliAnalysisTaskJetProtonCorr.cxx:1901
 AliAnalysisTaskJetProtonCorr.cxx:1902
 AliAnalysisTaskJetProtonCorr.cxx:1903
 AliAnalysisTaskJetProtonCorr.cxx:1904
 AliAnalysisTaskJetProtonCorr.cxx:1905
 AliAnalysisTaskJetProtonCorr.cxx:1906
 AliAnalysisTaskJetProtonCorr.cxx:1907
 AliAnalysisTaskJetProtonCorr.cxx:1908
 AliAnalysisTaskJetProtonCorr.cxx:1909
 AliAnalysisTaskJetProtonCorr.cxx:1910
 AliAnalysisTaskJetProtonCorr.cxx:1911
 AliAnalysisTaskJetProtonCorr.cxx:1912
 AliAnalysisTaskJetProtonCorr.cxx:1913
 AliAnalysisTaskJetProtonCorr.cxx:1914
 AliAnalysisTaskJetProtonCorr.cxx:1915
 AliAnalysisTaskJetProtonCorr.cxx:1916
 AliAnalysisTaskJetProtonCorr.cxx:1917
 AliAnalysisTaskJetProtonCorr.cxx:1918
 AliAnalysisTaskJetProtonCorr.cxx:1919
 AliAnalysisTaskJetProtonCorr.cxx:1920
 AliAnalysisTaskJetProtonCorr.cxx:1921
 AliAnalysisTaskJetProtonCorr.cxx:1922
 AliAnalysisTaskJetProtonCorr.cxx:1923
 AliAnalysisTaskJetProtonCorr.cxx:1924
 AliAnalysisTaskJetProtonCorr.cxx:1925
 AliAnalysisTaskJetProtonCorr.cxx:1926
 AliAnalysisTaskJetProtonCorr.cxx:1927
 AliAnalysisTaskJetProtonCorr.cxx:1928
 AliAnalysisTaskJetProtonCorr.cxx:1929
 AliAnalysisTaskJetProtonCorr.cxx:1930
 AliAnalysisTaskJetProtonCorr.cxx:1931
 AliAnalysisTaskJetProtonCorr.cxx:1932
 AliAnalysisTaskJetProtonCorr.cxx:1933
 AliAnalysisTaskJetProtonCorr.cxx:1934
 AliAnalysisTaskJetProtonCorr.cxx:1935
 AliAnalysisTaskJetProtonCorr.cxx:1936
 AliAnalysisTaskJetProtonCorr.cxx:1937
 AliAnalysisTaskJetProtonCorr.cxx:1938
 AliAnalysisTaskJetProtonCorr.cxx:1939
 AliAnalysisTaskJetProtonCorr.cxx:1940
 AliAnalysisTaskJetProtonCorr.cxx:1941
 AliAnalysisTaskJetProtonCorr.cxx:1942
 AliAnalysisTaskJetProtonCorr.cxx:1943
 AliAnalysisTaskJetProtonCorr.cxx:1944
 AliAnalysisTaskJetProtonCorr.cxx:1945
 AliAnalysisTaskJetProtonCorr.cxx:1946
 AliAnalysisTaskJetProtonCorr.cxx:1947
 AliAnalysisTaskJetProtonCorr.cxx:1948
 AliAnalysisTaskJetProtonCorr.cxx:1949
 AliAnalysisTaskJetProtonCorr.cxx:1950
 AliAnalysisTaskJetProtonCorr.cxx:1951
 AliAnalysisTaskJetProtonCorr.cxx:1952
 AliAnalysisTaskJetProtonCorr.cxx:1953
 AliAnalysisTaskJetProtonCorr.cxx:1954
 AliAnalysisTaskJetProtonCorr.cxx:1955
 AliAnalysisTaskJetProtonCorr.cxx:1956
 AliAnalysisTaskJetProtonCorr.cxx:1957
 AliAnalysisTaskJetProtonCorr.cxx:1958
 AliAnalysisTaskJetProtonCorr.cxx:1959
 AliAnalysisTaskJetProtonCorr.cxx:1960
 AliAnalysisTaskJetProtonCorr.cxx:1961
 AliAnalysisTaskJetProtonCorr.cxx:1962
 AliAnalysisTaskJetProtonCorr.cxx:1963
 AliAnalysisTaskJetProtonCorr.cxx:1964
 AliAnalysisTaskJetProtonCorr.cxx:1965
 AliAnalysisTaskJetProtonCorr.cxx:1966
 AliAnalysisTaskJetProtonCorr.cxx:1967
 AliAnalysisTaskJetProtonCorr.cxx:1968
 AliAnalysisTaskJetProtonCorr.cxx:1969
 AliAnalysisTaskJetProtonCorr.cxx:1970
 AliAnalysisTaskJetProtonCorr.cxx:1971
 AliAnalysisTaskJetProtonCorr.cxx:1972
 AliAnalysisTaskJetProtonCorr.cxx:1973
 AliAnalysisTaskJetProtonCorr.cxx:1974
 AliAnalysisTaskJetProtonCorr.cxx:1975
 AliAnalysisTaskJetProtonCorr.cxx:1976
 AliAnalysisTaskJetProtonCorr.cxx:1977
 AliAnalysisTaskJetProtonCorr.cxx:1978
 AliAnalysisTaskJetProtonCorr.cxx:1979
 AliAnalysisTaskJetProtonCorr.cxx:1980
 AliAnalysisTaskJetProtonCorr.cxx:1981
 AliAnalysisTaskJetProtonCorr.cxx:1982
 AliAnalysisTaskJetProtonCorr.cxx:1983
 AliAnalysisTaskJetProtonCorr.cxx:1984
 AliAnalysisTaskJetProtonCorr.cxx:1985
 AliAnalysisTaskJetProtonCorr.cxx:1986
 AliAnalysisTaskJetProtonCorr.cxx:1987
 AliAnalysisTaskJetProtonCorr.cxx:1988
 AliAnalysisTaskJetProtonCorr.cxx:1989
 AliAnalysisTaskJetProtonCorr.cxx:1990
 AliAnalysisTaskJetProtonCorr.cxx:1991
 AliAnalysisTaskJetProtonCorr.cxx:1992
 AliAnalysisTaskJetProtonCorr.cxx:1993
 AliAnalysisTaskJetProtonCorr.cxx:1994
 AliAnalysisTaskJetProtonCorr.cxx:1995
 AliAnalysisTaskJetProtonCorr.cxx:1996
 AliAnalysisTaskJetProtonCorr.cxx:1997
 AliAnalysisTaskJetProtonCorr.cxx:1998
 AliAnalysisTaskJetProtonCorr.cxx:1999
 AliAnalysisTaskJetProtonCorr.cxx:2000
 AliAnalysisTaskJetProtonCorr.cxx:2001
 AliAnalysisTaskJetProtonCorr.cxx:2002
 AliAnalysisTaskJetProtonCorr.cxx:2003
 AliAnalysisTaskJetProtonCorr.cxx:2004
 AliAnalysisTaskJetProtonCorr.cxx:2005
 AliAnalysisTaskJetProtonCorr.cxx:2006
 AliAnalysisTaskJetProtonCorr.cxx:2007
 AliAnalysisTaskJetProtonCorr.cxx:2008
 AliAnalysisTaskJetProtonCorr.cxx:2009
 AliAnalysisTaskJetProtonCorr.cxx:2010
 AliAnalysisTaskJetProtonCorr.cxx:2011
 AliAnalysisTaskJetProtonCorr.cxx:2012
 AliAnalysisTaskJetProtonCorr.cxx:2013
 AliAnalysisTaskJetProtonCorr.cxx:2014
 AliAnalysisTaskJetProtonCorr.cxx:2015
 AliAnalysisTaskJetProtonCorr.cxx:2016
 AliAnalysisTaskJetProtonCorr.cxx:2017
 AliAnalysisTaskJetProtonCorr.cxx:2018
 AliAnalysisTaskJetProtonCorr.cxx:2019
 AliAnalysisTaskJetProtonCorr.cxx:2020
 AliAnalysisTaskJetProtonCorr.cxx:2021
 AliAnalysisTaskJetProtonCorr.cxx:2022
 AliAnalysisTaskJetProtonCorr.cxx:2023
 AliAnalysisTaskJetProtonCorr.cxx:2024
 AliAnalysisTaskJetProtonCorr.cxx:2025
 AliAnalysisTaskJetProtonCorr.cxx:2026
 AliAnalysisTaskJetProtonCorr.cxx:2027
 AliAnalysisTaskJetProtonCorr.cxx:2028
 AliAnalysisTaskJetProtonCorr.cxx:2029
 AliAnalysisTaskJetProtonCorr.cxx:2030
 AliAnalysisTaskJetProtonCorr.cxx:2031
 AliAnalysisTaskJetProtonCorr.cxx:2032
 AliAnalysisTaskJetProtonCorr.cxx:2033
 AliAnalysisTaskJetProtonCorr.cxx:2034
 AliAnalysisTaskJetProtonCorr.cxx:2035
 AliAnalysisTaskJetProtonCorr.cxx:2036
 AliAnalysisTaskJetProtonCorr.cxx:2037
 AliAnalysisTaskJetProtonCorr.cxx:2038
 AliAnalysisTaskJetProtonCorr.cxx:2039
 AliAnalysisTaskJetProtonCorr.cxx:2040
 AliAnalysisTaskJetProtonCorr.cxx:2041