ROOT logo
// $Id$
//
// Emcal jet response matrix maker task.
//
// Author: S. Aiola

#include "AliJetResponseMaker.h"

#include <TClonesArray.h>
#include <TH2F.h>
#include <THnSparse.h>
#include <TLorentzVector.h>

#include "AliAnalysisManager.h"
#include "AliVCluster.h"
#include "AliVTrack.h"
#include "AliEmcalJet.h"
#include "AliLog.h"
#include "AliRhoParameter.h"
#include "AliNamedArrayI.h"
#include "AliJetContainer.h"
#include "AliParticleContainer.h"
#include "AliClusterContainer.h"

ClassImp(AliJetResponseMaker)

//________________________________________________________________________
AliJetResponseMaker::AliJetResponseMaker() : 
  AliAnalysisTaskEmcalJet("AliJetResponseMaker", kTRUE),
  fMatching(kNoMatching),
  fMatchingPar1(0),
  fMatchingPar2(0),
  fUseCellsToMatch(kFALSE),
  fMinJetMCPt(1),
  fHistoType(0),
  fDeltaPtAxis(0),
  fDeltaEtaDeltaPhiAxis(0),
  fNEFAxis(0),
  fZAxis(0),
  fIsJet1Rho(kFALSE),
  fIsJet2Rho(kFALSE),
  fHistRejectionReason1(0),
  fHistRejectionReason2(0),
  fHistJets1(0),
  fHistJets2(0),
  fHistMatching(0),
  fHistJets1PhiEta(0),
  fHistJets1PtArea(0),
  fHistJets1CorrPtArea(0),
  fHistJets1NEFvsPt(0),
  fHistJets1CEFvsCEFPt(0),
  fHistJets1ZvsPt(0),
  fHistJets2PhiEta(0),
  fHistJets2PtArea(0),
  fHistJets2CorrPtArea(0),
  fHistJets2NEFvsPt(0),
  fHistJets2CEFvsCEFPt(0),
  fHistJets2ZvsPt(0),
  fHistCommonEnergy1vsJet1Pt(0),
  fHistCommonEnergy2vsJet2Pt(0),
  fHistDistancevsJet1Pt(0),
  fHistDistancevsJet2Pt(0),
  fHistDistancevsCommonEnergy1(0),
  fHistDistancevsCommonEnergy2(0),
  fHistCommonEnergy1vsCommonEnergy2(0),
  fHistDeltaEtaDeltaPhi(0),
  fHistJet2PtOverJet1PtvsJet2Pt(0),
  fHistJet1PtOverJet2PtvsJet1Pt(0),
  fHistDeltaPtvsJet1Pt(0),
  fHistDeltaPtvsJet2Pt(0),
  fHistDeltaPtOverJet1PtvsJet1Pt(0),
  fHistDeltaPtOverJet2PtvsJet2Pt(0),
  fHistDeltaPtvsDistance(0),
  fHistDeltaPtvsCommonEnergy1(0),
  fHistDeltaPtvsCommonEnergy2(0),
  fHistDeltaPtvsArea1(0),
  fHistDeltaPtvsArea2(0),
  fHistDeltaPtvsDeltaArea(0),
  fHistJet1PtvsJet2Pt(0),
  fHistDeltaCorrPtOverJet1CorrPtvsJet1CorrPt(0),
  fHistDeltaCorrPtOverJet2CorrPtvsJet2CorrPt(0),
  fHistDeltaCorrPtvsJet1CorrPt(0),
  fHistDeltaCorrPtvsJet2CorrPt(0),
  fHistDeltaCorrPtvsDistance(0),
  fHistDeltaCorrPtvsCommonEnergy1(0),
  fHistDeltaCorrPtvsCommonEnergy2(0),
  fHistDeltaCorrPtvsArea1(0),
  fHistDeltaCorrPtvsArea2(0),
  fHistDeltaCorrPtvsDeltaArea(0),
  fHistJet1CorrPtvsJet2CorrPt(0),
  fHistDeltaMCPtOverJet1MCPtvsJet1MCPt(0),
  fHistDeltaMCPtOverJet2PtvsJet2Pt(0),
  fHistDeltaMCPtvsJet1MCPt(0),
  fHistDeltaMCPtvsJet2Pt(0),
  fHistDeltaMCPtvsDistance(0),
  fHistDeltaMCPtvsCommonEnergy1(0),
  fHistDeltaMCPtvsCommonEnergy2(0),
  fHistDeltaMCPtvsArea1(0),
  fHistDeltaMCPtvsArea2(0),
  fHistDeltaMCPtvsDeltaArea(0),
  fHistJet1MCPtvsJet2Pt(0)
{
  // Default constructor.

  SetMakeGeneralHistograms(kTRUE);
}

//________________________________________________________________________
AliJetResponseMaker::AliJetResponseMaker(const char *name) : 
  AliAnalysisTaskEmcalJet(name, kTRUE),
  fMatching(kNoMatching),
  fMatchingPar1(0),
  fMatchingPar2(0),
  fUseCellsToMatch(kFALSE),
  fMinJetMCPt(1),
  fHistoType(0),
  fDeltaPtAxis(0),
  fDeltaEtaDeltaPhiAxis(0),
  fNEFAxis(0),
  fZAxis(0),
  fIsJet1Rho(kFALSE),
  fIsJet2Rho(kFALSE),
  fHistRejectionReason1(0),
  fHistRejectionReason2(0),
  fHistJets1(0),
  fHistJets2(0),
  fHistMatching(0),
  fHistJets1PhiEta(0),
  fHistJets1PtArea(0),
  fHistJets1CorrPtArea(0),
  fHistJets1NEFvsPt(0),
  fHistJets1CEFvsCEFPt(0),
  fHistJets1ZvsPt(0),
  fHistJets2PhiEta(0),
  fHistJets2PtArea(0),
  fHistJets2CorrPtArea(0),
  fHistJets2NEFvsPt(0),
  fHistJets2CEFvsCEFPt(0),
  fHistJets2ZvsPt(0),
  fHistCommonEnergy1vsJet1Pt(0),
  fHistCommonEnergy2vsJet2Pt(0),
  fHistDistancevsJet1Pt(0),
  fHistDistancevsJet2Pt(0),
  fHistDistancevsCommonEnergy1(0),
  fHistDistancevsCommonEnergy2(0),
  fHistCommonEnergy1vsCommonEnergy2(0),
  fHistDeltaEtaDeltaPhi(0),
  fHistJet2PtOverJet1PtvsJet2Pt(0),
  fHistJet1PtOverJet2PtvsJet1Pt(0),
  fHistDeltaPtvsJet1Pt(0),
  fHistDeltaPtvsJet2Pt(0),
  fHistDeltaPtOverJet1PtvsJet1Pt(0),
  fHistDeltaPtOverJet2PtvsJet2Pt(0),
  fHistDeltaPtvsDistance(0),
  fHistDeltaPtvsCommonEnergy1(0),
  fHistDeltaPtvsCommonEnergy2(0),
  fHistDeltaPtvsArea1(0),
  fHistDeltaPtvsArea2(0),
  fHistDeltaPtvsDeltaArea(0),
  fHistJet1PtvsJet2Pt(0),
  fHistDeltaCorrPtOverJet1CorrPtvsJet1CorrPt(0),
  fHistDeltaCorrPtOverJet2CorrPtvsJet2CorrPt(0),
  fHistDeltaCorrPtvsJet1CorrPt(0),
  fHistDeltaCorrPtvsJet2CorrPt(0),
  fHistDeltaCorrPtvsDistance(0),
  fHistDeltaCorrPtvsCommonEnergy1(0),
  fHistDeltaCorrPtvsCommonEnergy2(0),
  fHistDeltaCorrPtvsArea1(0),
  fHistDeltaCorrPtvsArea2(0),
  fHistDeltaCorrPtvsDeltaArea(0),
  fHistJet1CorrPtvsJet2CorrPt(0),
  fHistDeltaMCPtOverJet1MCPtvsJet1MCPt(0),
  fHistDeltaMCPtOverJet2PtvsJet2Pt(0),
  fHistDeltaMCPtvsJet1MCPt(0),
  fHistDeltaMCPtvsJet2Pt(0),
  fHistDeltaMCPtvsDistance(0),
  fHistDeltaMCPtvsCommonEnergy1(0),
  fHistDeltaMCPtvsCommonEnergy2(0),
  fHistDeltaMCPtvsArea1(0),
  fHistDeltaMCPtvsArea2(0),
  fHistDeltaMCPtvsDeltaArea(0),
  fHistJet1MCPtvsJet2Pt(0)
{
  // Standard constructor.

  SetMakeGeneralHistograms(kTRUE);
}

//________________________________________________________________________
AliJetResponseMaker::~AliJetResponseMaker()
{
  // Destructor
}


//________________________________________________________________________
void AliJetResponseMaker::AllocateTH2()
{
  // Allocate TH2 histograms.

  fHistJets1PhiEta = new TH2F("fHistJets1PhiEta", "fHistJets1PhiEta", 40, -1, 1, 40, 0, TMath::Pi()*2);
  fHistJets1PhiEta->GetXaxis()->SetTitle("#eta");
  fHistJets1PhiEta->GetYaxis()->SetTitle("#phi");
  fOutput->Add(fHistJets1PhiEta);
  
  fHistJets1PtArea = new TH2F("fHistJets1PtArea", "fHistJets1PtArea", fNbins/2, 0, 1.5, fNbins, fMinBinPt, fMaxBinPt);
  fHistJets1PtArea->GetXaxis()->SetTitle("area");
  fHistJets1PtArea->GetYaxis()->SetTitle("p_{T,1} (GeV/c)");
  fHistJets1PtArea->GetZaxis()->SetTitle("counts");
  fOutput->Add(fHistJets1PtArea);
 
  if (fIsJet1Rho) {
    fHistJets1CorrPtArea = new TH2F("fHistJets1CorrPtArea", "fHistJets1CorrPtArea", 
				    fNbins/2, 0, 1.5, 2*fNbins, -fMaxBinPt, fMaxBinPt);
    fHistJets1CorrPtArea->GetXaxis()->SetTitle("area");
    fHistJets1CorrPtArea->GetYaxis()->SetTitle("p_{T,1}^{corr} (GeV/c)");
    fHistJets1CorrPtArea->GetZaxis()->SetTitle("counts");
    fOutput->Add(fHistJets1CorrPtArea);
  }

  fHistJets1ZvsPt = new TH2F("fHistJets1ZvsPt", "fHistJets1ZvsPt", 120, 0, 1.2, fNbins, fMinBinPt, fMaxBinPt);
  fHistJets1ZvsPt->GetXaxis()->SetTitle("Z");
  fHistJets1ZvsPt->GetYaxis()->SetTitle("p_{T,1} (GeV/c)");
  fHistJets1ZvsPt->GetZaxis()->SetTitle("counts");
  fOutput->Add(fHistJets1ZvsPt);
  
  fHistJets1NEFvsPt = new TH2F("fHistJets1NEFvsPt", "fHistJets1NEFvsPt", 120, 0, 1.2, fNbins, fMinBinPt, fMaxBinPt);
  fHistJets1NEFvsPt->GetXaxis()->SetTitle("NEF");
  fHistJets1NEFvsPt->GetYaxis()->SetTitle("p_{T,1} (GeV/c)");
  fHistJets1NEFvsPt->GetZaxis()->SetTitle("counts");
  fOutput->Add(fHistJets1NEFvsPt);
  
  fHistJets1CEFvsCEFPt = new TH2F("fHistJets1CEFvsCEFPt", "fHistJets1CEFvsCEFPt", 120, 0, 1.2, fNbins, fMinBinPt, fMaxBinPt);
  fHistJets1CEFvsCEFPt->GetXaxis()->SetTitle("1-NEF");
  fHistJets1CEFvsCEFPt->GetYaxis()->SetTitle("(1-NEF)*p_{T,1} (GeV/c)");
  fHistJets1CEFvsCEFPt->GetZaxis()->SetTitle("counts");
  fOutput->Add(fHistJets1CEFvsCEFPt);

  // Jets 2 histograms

  fHistJets2PhiEta = new TH2F("fHistJets2PhiEta", "fHistJets2PhiEta", 40, -1, 1, 40, 0, TMath::Pi()*2);
  fHistJets2PhiEta->GetXaxis()->SetTitle("#eta");
  fHistJets2PhiEta->GetYaxis()->SetTitle("#phi");
  fOutput->Add(fHistJets2PhiEta);

  fHistJets2PtArea = new TH2F("fHistJets2PtArea", "fHistJets2PtArea", fNbins/2, 0, 1.5, fNbins, fMinBinPt, fMaxBinPt);
  fHistJets2PtArea->GetXaxis()->SetTitle("area");
  fHistJets2PtArea->GetYaxis()->SetTitle("p_{T,2} (GeV/c)");
  fHistJets2PtArea->GetZaxis()->SetTitle("counts");
  fOutput->Add(fHistJets2PtArea);

  if (fIsJet2Rho) {
    fHistJets2CorrPtArea = new TH2F("fHistJets2CorrPtArea", "fHistJets2CorrPtArea", 
				    fNbins/2, 0, 1.5, 2*fNbins, -fMaxBinPt, fMaxBinPt);
    fHistJets2CorrPtArea->GetXaxis()->SetTitle("area");
    fHistJets2CorrPtArea->GetYaxis()->SetTitle("p_{T,2}^{corr} (GeV/c)");
    fHistJets2CorrPtArea->GetZaxis()->SetTitle("counts");
    fOutput->Add(fHistJets2CorrPtArea);
  }

  fHistJets2ZvsPt = new TH2F("fHistJets2ZvsPt", "fHistJets2ZvsPt", 120, 0, 1.2, fNbins, fMinBinPt, fMaxBinPt);
  fHistJets2ZvsPt->GetXaxis()->SetTitle("Z");
  fHistJets2ZvsPt->GetYaxis()->SetTitle("p_{T,2} (GeV/c)");
  fHistJets2ZvsPt->GetZaxis()->SetTitle("counts");
  fOutput->Add(fHistJets2ZvsPt);
  
  fHistJets2NEFvsPt = new TH2F("fHistJets2NEFvsPt", "fHistJets2NEFvsPt", 120, 0, 1.2, fNbins, fMinBinPt, fMaxBinPt);
  fHistJets2NEFvsPt->GetXaxis()->SetTitle("NEF");
  fHistJets2NEFvsPt->GetYaxis()->SetTitle("p_{T,2} (GeV/c)");
  fHistJets2NEFvsPt->GetZaxis()->SetTitle("counts");
  fOutput->Add(fHistJets2NEFvsPt);
  
  fHistJets2CEFvsCEFPt = new TH2F("fHistJets2CEFvsCEFPt", "fHistJets2CEFvsCEFPt", 120, 0, 1.2, fNbins, fMinBinPt, fMaxBinPt);
  fHistJets2CEFvsCEFPt->GetXaxis()->SetTitle("1-NEF");
  fHistJets2CEFvsCEFPt->GetYaxis()->SetTitle("(1-NEF)*p_{T,2} (GeV/c)");
  fHistJets2CEFvsCEFPt->GetZaxis()->SetTitle("counts");
  fOutput->Add(fHistJets2CEFvsCEFPt);

  // Matching histograms

  fHistCommonEnergy1vsJet1Pt = new TH2F("fHistCommonEnergy1vsJet1Pt", "fHistCommonEnergy1vsJet1Pt", fNbins/2, 0, 1.2, fNbins/2, fMinBinPt, fMaxBinPt);
  fHistCommonEnergy1vsJet1Pt->GetXaxis()->SetTitle("Common energy 1 (%)");
  fHistCommonEnergy1vsJet1Pt->GetYaxis()->SetTitle("p_{T,1}");  
  fHistCommonEnergy1vsJet1Pt->GetZaxis()->SetTitle("counts");
  fOutput->Add(fHistCommonEnergy1vsJet1Pt);

  fHistCommonEnergy2vsJet2Pt = new TH2F("fHistCommonEnergy2vsJet2Pt", "fHistCommonEnergy2vsJet2Pt", fNbins/2, 0, 1.2, fNbins/2, fMinBinPt, fMaxBinPt);
  fHistCommonEnergy2vsJet2Pt->GetXaxis()->SetTitle("Common energy 2 (%)");
  fHistCommonEnergy2vsJet2Pt->GetYaxis()->SetTitle("p_{T,2}");  
  fHistCommonEnergy2vsJet2Pt->GetZaxis()->SetTitle("counts");
  fOutput->Add(fHistCommonEnergy2vsJet2Pt);

  fHistDistancevsJet1Pt = new TH2F("fHistDistancevsJet1Pt", "fHistDistancevsJet1Pt", fNbins/2, 0, 1.2, fNbins/2, fMinBinPt, fMaxBinPt);
  fHistDistancevsJet1Pt->GetXaxis()->SetTitle("Distance");
  fHistDistancevsJet1Pt->GetYaxis()->SetTitle("p_{T,1}");  
  fHistDistancevsJet1Pt->GetZaxis()->SetTitle("counts");
  fOutput->Add(fHistDistancevsJet1Pt);

  fHistDistancevsJet2Pt = new TH2F("fHistDistancevsJet2Pt", "fHistDistancevsJet2Pt", fNbins/2, 0, 1.2, fNbins/2, fMinBinPt, fMaxBinPt);
  fHistDistancevsJet2Pt->GetXaxis()->SetTitle("Distance");
  fHistDistancevsJet2Pt->GetYaxis()->SetTitle("p_{T,2}");  
  fHistDistancevsJet2Pt->GetZaxis()->SetTitle("counts");
  fOutput->Add(fHistDistancevsJet2Pt);

  fHistDistancevsCommonEnergy1 = new TH2F("fHistDistancevsCommonEnergy1", "fHistDistancevsCommonEnergy1", fNbins/2, 0, 1.2, fNbins/2, 0, 1.2);
  fHistDistancevsCommonEnergy1->GetXaxis()->SetTitle("Distance");
  fHistDistancevsCommonEnergy1->GetYaxis()->SetTitle("Common energy 1 (%)");  
  fHistDistancevsCommonEnergy1->GetZaxis()->SetTitle("counts");
  fOutput->Add(fHistDistancevsCommonEnergy1);

  fHistDistancevsCommonEnergy2 = new TH2F("fHistDistancevsCommonEnergy2", "fHistDistancevsCommonEnergy2", fNbins/2, 0, 1.2, fNbins/2, 0, 1.2);
  fHistDistancevsCommonEnergy2->GetXaxis()->SetTitle("Distance");
  fHistDistancevsCommonEnergy2->GetYaxis()->SetTitle("Common energy 2 (%)");  
  fHistDistancevsCommonEnergy2->GetZaxis()->SetTitle("counts");
  fOutput->Add(fHistDistancevsCommonEnergy2);

  fHistCommonEnergy1vsCommonEnergy2 = new TH2F("fHistCommonEnergy1vsCommonEnergy2", "fHistCommonEnergy1vsCommonEnergy2", fNbins/2, 0, 1.2, fNbins/2, 0, 1.2);
  fHistCommonEnergy1vsCommonEnergy2->GetXaxis()->SetTitle("Common energy 1 (%)");
  fHistCommonEnergy1vsCommonEnergy2->GetYaxis()->SetTitle("Common energy 2 (%)");  
  fHistCommonEnergy1vsCommonEnergy2->GetZaxis()->SetTitle("counts");
  fOutput->Add(fHistCommonEnergy1vsCommonEnergy2);

  fHistDeltaEtaDeltaPhi = new TH2F("fHistDeltaEtaDeltaPhi", "fHistDeltaEtaDeltaPhi", fNbins/4, -1, 1, fNbins/4, -TMath::Pi()/2, TMath::Pi()*3/2);
  fHistDeltaEtaDeltaPhi->GetXaxis()->SetTitle("Common energy 1 (%)");
  fHistDeltaEtaDeltaPhi->GetYaxis()->SetTitle("Common energy 2 (%)");  
  fHistDeltaEtaDeltaPhi->GetZaxis()->SetTitle("counts");
  fOutput->Add(fHistDeltaEtaDeltaPhi);

  fHistJet2PtOverJet1PtvsJet2Pt = new TH2F("fHistJet2PtOverJet1PtvsJet2Pt", "fHistJet2PtOverJet1PtvsJet2Pt", fNbins, fMinBinPt, fMaxBinPt, 300, 0, 1.5);
  fHistJet2PtOverJet1PtvsJet2Pt->GetXaxis()->SetTitle("p_{T,2}");  
  fHistJet2PtOverJet1PtvsJet2Pt->GetYaxis()->SetTitle("p_{T,2} / p_{T,1}");
  fHistJet2PtOverJet1PtvsJet2Pt->GetZaxis()->SetTitle("counts");
  fOutput->Add(fHistJet2PtOverJet1PtvsJet2Pt);

  fHistJet1PtOverJet2PtvsJet1Pt = new TH2F("fHistJet1PtOverJet2PtvsJet1Pt", "fHistJet1PtOverJet2PtvsJet1Pt", fNbins, fMinBinPt, fMaxBinPt, 300, 0, 1.5);
  fHistJet1PtOverJet2PtvsJet1Pt->GetXaxis()->SetTitle("p_{T,1}");  
  fHistJet1PtOverJet2PtvsJet1Pt->GetYaxis()->SetTitle("p_{T,1} / p_{T,2}");
  fHistJet1PtOverJet2PtvsJet1Pt->GetZaxis()->SetTitle("counts");
  fOutput->Add(fHistJet1PtOverJet2PtvsJet1Pt);

  fHistDeltaPtvsJet1Pt = new TH2F("fHistDeltaPtvsJet1Pt", "fHistDeltaPtvsJet1Pt", 
				  fNbins, fMinBinPt, fMaxBinPt, 2*fNbins, -fMaxBinPt, fMaxBinPt);
  fHistDeltaPtvsJet1Pt->GetXaxis()->SetTitle("p_{T,1}");  
  fHistDeltaPtvsJet1Pt->GetYaxis()->SetTitle("#deltap_{T} (GeV/c)");
  fHistDeltaPtvsJet1Pt->GetZaxis()->SetTitle("counts");
  fOutput->Add(fHistDeltaPtvsJet1Pt);

  fHistDeltaPtvsJet2Pt = new TH2F("fHistDeltaPtvsJet2Pt", "fHistDeltaPtvsJet2Pt", 
				  fNbins, fMinBinPt, fMaxBinPt, 2*fNbins, -fMaxBinPt, fMaxBinPt);
  fHistDeltaPtvsJet2Pt->GetXaxis()->SetTitle("p_{T,2}");  
  fHistDeltaPtvsJet2Pt->GetYaxis()->SetTitle("#deltap_{T} (GeV/c)");
  fHistDeltaPtvsJet2Pt->GetZaxis()->SetTitle("counts");
  fOutput->Add(fHistDeltaPtvsJet2Pt);

  fHistDeltaPtOverJet1PtvsJet1Pt = new TH2F("fHistDeltaPtOverJet1PtvsJet1Pt", "fHistDeltaPtOverJet1PtvsJet1Pt", 
					    fNbins, fMinBinPt, fMaxBinPt, fNbins, -5, 5);
  fHistDeltaPtOverJet1PtvsJet1Pt->GetXaxis()->SetTitle("p_{T,1}");  
  fHistDeltaPtOverJet1PtvsJet1Pt->GetYaxis()->SetTitle("#deltap_{T} / p_{T,1}");
  fHistDeltaPtOverJet1PtvsJet1Pt->GetZaxis()->SetTitle("counts");
  fOutput->Add(fHistDeltaPtOverJet1PtvsJet1Pt);

  fHistDeltaPtOverJet2PtvsJet2Pt = new TH2F("fHistDeltaPtOverJet2PtvsJet2Pt", "fHistDeltaPtOverJet2PtvsJet2Pt", 
					    fNbins, fMinBinPt, fMaxBinPt, fNbins, -5, 5);
  fHistDeltaPtOverJet2PtvsJet2Pt->GetXaxis()->SetTitle("p_{T,2}");  
  fHistDeltaPtOverJet2PtvsJet2Pt->GetYaxis()->SetTitle("#deltap_{T} / p_{T,2}");
  fHistDeltaPtOverJet2PtvsJet2Pt->GetZaxis()->SetTitle("counts");
  fOutput->Add(fHistDeltaPtOverJet2PtvsJet2Pt);

  fHistDeltaPtvsDistance = new TH2F("fHistDeltaPtvsDistance", "fHistDeltaPtvsDistance", 
				    fNbins/2, 0, 1.2, 2*fNbins, -fMaxBinPt, fMaxBinPt);
  fHistDeltaPtvsDistance->GetXaxis()->SetTitle("Distance");  
  fHistDeltaPtvsDistance->GetYaxis()->SetTitle("#deltap_{T} (GeV/c)");
  fHistDeltaPtvsDistance->GetZaxis()->SetTitle("counts");
  fOutput->Add(fHistDeltaPtvsDistance);

  fHistDeltaPtvsCommonEnergy1 = new TH2F("fHistDeltaPtvsCommonEnergy1", "fHistDeltaPtvsCommonEnergy1",
					 fNbins/2, 0, 1.2, 2*fNbins, -fMaxBinPt, fMaxBinPt);
  fHistDeltaPtvsCommonEnergy1->GetXaxis()->SetTitle("Common energy 1 (%)");  
  fHistDeltaPtvsCommonEnergy1->GetYaxis()->SetTitle("#deltap_{T} (GeV/c)");
  fHistDeltaPtvsCommonEnergy1->GetZaxis()->SetTitle("counts");
  fOutput->Add(fHistDeltaPtvsCommonEnergy1);

  fHistDeltaPtvsCommonEnergy2 = new TH2F("fHistDeltaPtvsCommonEnergy2", "fHistDeltaPtvsCommonEnergy2", 
					 fNbins/2, 0, 1.2, 2*fNbins, -fMaxBinPt, fMaxBinPt);
  fHistDeltaPtvsCommonEnergy2->GetXaxis()->SetTitle("Common energy 2 (%)");  
  fHistDeltaPtvsCommonEnergy2->GetYaxis()->SetTitle("#deltap_{T} (GeV/c)");
  fHistDeltaPtvsCommonEnergy2->GetZaxis()->SetTitle("counts");
  fOutput->Add(fHistDeltaPtvsCommonEnergy2);

  fHistDeltaPtvsArea1 = new TH2F("fHistDeltaPtvsArea1", "fHistDeltaPtvsArea1", 
				 fNbins/2, 0, 1.5, 2*fNbins, -fMaxBinPt, fMaxBinPt);
  fHistDeltaPtvsArea1->GetXaxis()->SetTitle("A_{jet,1}");
  fHistDeltaPtvsArea1->GetYaxis()->SetTitle("#deltap_{T} (GeV/c)");
  fHistDeltaPtvsArea1->GetZaxis()->SetTitle("counts");
  fOutput->Add(fHistDeltaPtvsArea1);

  fHistDeltaPtvsArea2 = new TH2F("fHistDeltaPtvsArea2", "fHistDeltaPtvsArea2", 
				 fNbins/2, 0, 1.5, 2*fNbins, -fMaxBinPt, fMaxBinPt);
  fHistDeltaPtvsArea2->GetXaxis()->SetTitle("A_{jet,2}");
  fHistDeltaPtvsArea2->GetYaxis()->SetTitle("#deltap_{T} (GeV/c)");
  fHistDeltaPtvsArea2->GetZaxis()->SetTitle("counts");
  fOutput->Add(fHistDeltaPtvsArea2);

  fHistDeltaPtvsDeltaArea = new TH2F("fHistDeltaPtvsDeltaArea", "fHistDeltaPtvsDeltaArea", 
				     fNbins, -1.+1./fNbins, 1.+1./fNbins, 2*fNbins, -fMaxBinPt, fMaxBinPt);
  fHistDeltaPtvsDeltaArea->GetXaxis()->SetTitle("#deltaA_{jet}");
  fHistDeltaPtvsDeltaArea->GetYaxis()->SetTitle("#deltap_{T} (GeV/c)");
  fHistDeltaPtvsDeltaArea->GetZaxis()->SetTitle("counts");
  fOutput->Add(fHistDeltaPtvsDeltaArea);

  fHistJet1PtvsJet2Pt = new TH2F("fHistJet1PtvsJet2Pt", "fHistJet1PtvsJet2Pt", fNbins, fMinBinPt, fMaxBinPt, fNbins, fMinBinPt, fMaxBinPt);
  fHistJet1PtvsJet2Pt->GetXaxis()->SetTitle("p_{T,1}");
  fHistJet1PtvsJet2Pt->GetYaxis()->SetTitle("p_{T,2}");
  fHistJet1PtvsJet2Pt->GetZaxis()->SetTitle("counts");
  fOutput->Add(fHistJet1PtvsJet2Pt);

  if (fIsJet1Rho || fIsJet2Rho) {
    if (!fIsJet1Rho) 
      fHistDeltaCorrPtvsJet1CorrPt = new TH2F("fHistDeltaCorrPtvsJet1CorrPt", "fHistDeltaCorrPtvsJet1CorrPt", 
					      fNbins, fMinBinPt, fMaxBinPt, 2*fNbins, -fMaxBinPt, fMaxBinPt);
    else
      fHistDeltaCorrPtvsJet1CorrPt = new TH2F("fHistDeltaCorrPtvsJet1CorrPt", "fHistDeltaCorrPtvsJet1CorrPt", 
					      2*fNbins, -fMaxBinPt, fMaxBinPt, 2*fNbins, -fMaxBinPt, fMaxBinPt);
      
    fHistDeltaCorrPtvsJet1CorrPt->GetXaxis()->SetTitle("p_{T,1}^{corr}");  
    fHistDeltaCorrPtvsJet1CorrPt->GetYaxis()->SetTitle("#deltap_{T}^{corr} (GeV/c)");
    fHistDeltaCorrPtvsJet1CorrPt->GetZaxis()->SetTitle("counts");
    fOutput->Add(fHistDeltaCorrPtvsJet1CorrPt);

    if (!fIsJet2Rho) 
      fHistDeltaCorrPtvsJet2CorrPt = new TH2F("fHistDeltaCorrPtvsJet2CorrPt", "fHistDeltaCorrPtvsJet2CorrPt", 
					      fNbins, fMinBinPt, fMaxBinPt, 2*fNbins, -fMaxBinPt, fMaxBinPt);					      
    else
      fHistDeltaCorrPtvsJet2CorrPt = new TH2F("fHistDeltaCorrPtvsJet2CorrPt", "fHistDeltaCorrPtvsJet2CorrPt", 
					      2*fNbins, -fMaxBinPt, fMaxBinPt, 2*fNbins, -fMaxBinPt, fMaxBinPt);

    fHistDeltaCorrPtvsJet2CorrPt->GetXaxis()->SetTitle("p_{T,2}^{corr}");  
    fHistDeltaCorrPtvsJet2CorrPt->GetYaxis()->SetTitle("#deltap_{T}^{corr} (GeV/c)");
    fHistDeltaCorrPtvsJet2CorrPt->GetZaxis()->SetTitle("counts");
    fOutput->Add(fHistDeltaCorrPtvsJet2CorrPt);

    fHistDeltaCorrPtOverJet1CorrPtvsJet1CorrPt = new TH2F("fHistDeltaCorrPtOverJet1CorrPtvsJet1CorrPt", "fHistDeltaCorrPtOverJet1CorrPtvsJet1CorrPt", 
							  2*fNbins, -fMaxBinPt, fMaxBinPt, fNbins, -5, 5);
    fHistDeltaCorrPtOverJet1CorrPtvsJet1CorrPt->GetXaxis()->SetTitle("p_{T,1}^{corr}");  
    fHistDeltaCorrPtOverJet1CorrPtvsJet1CorrPt->GetYaxis()->SetTitle("#deltap_{T}^{corr} / p_{T,1}^{corr}");
    fHistDeltaCorrPtOverJet1CorrPtvsJet1CorrPt->GetZaxis()->SetTitle("counts");
    fOutput->Add(fHistDeltaCorrPtOverJet1CorrPtvsJet1CorrPt);

    fHistDeltaCorrPtOverJet2CorrPtvsJet2CorrPt = new TH2F("fHistDeltaCorrPtOverJet2CorrPtvsJet2CorrPt", "fHistDeltaCorrPtOverJet2CorrPtvsJet2CorrPt", 
							  2*fNbins, -fMaxBinPt, fMaxBinPt, fNbins, -5, 5);
    fHistDeltaCorrPtOverJet2CorrPtvsJet2CorrPt->GetXaxis()->SetTitle("p_{T,2}^{corr}");  
    fHistDeltaCorrPtOverJet2CorrPtvsJet2CorrPt->GetYaxis()->SetTitle("#deltap_{T}^{corr} / p_{T,2}^{corr}");
    fHistDeltaCorrPtOverJet2CorrPtvsJet2CorrPt->GetZaxis()->SetTitle("counts");
    fOutput->Add(fHistDeltaCorrPtOverJet2CorrPtvsJet2CorrPt);

    fHistDeltaCorrPtvsDistance = new TH2F("fHistDeltaCorrPtvsDistance", "fHistDeltaCorrPtvsDistance", 
					  fNbins/2, 0, 1.2, 2*fNbins, -fMaxBinPt, fMaxBinPt);
    fHistDeltaCorrPtvsDistance->GetXaxis()->SetTitle("Distance");  
    fHistDeltaCorrPtvsDistance->GetYaxis()->SetTitle("#deltap_{T}^{corr} (GeV/c)");
    fHistDeltaCorrPtvsDistance->GetZaxis()->SetTitle("counts");
    fOutput->Add(fHistDeltaCorrPtvsDistance);

    fHistDeltaCorrPtvsCommonEnergy1 = new TH2F("fHistDeltaCorrPtvsCommonEnergy1", "fHistDeltaCorrPtvsCommonEnergy1", 
					       fNbins/2, 0, 1.2, 2*fNbins, -fMaxBinPt, fMaxBinPt);
    fHistDeltaCorrPtvsCommonEnergy1->GetXaxis()->SetTitle("Common energy 1 (%)");  
    fHistDeltaCorrPtvsCommonEnergy1->GetYaxis()->SetTitle("#deltap_{T}^{corr} (GeV/c)");
    fHistDeltaCorrPtvsCommonEnergy1->GetZaxis()->SetTitle("counts");
    fOutput->Add(fHistDeltaCorrPtvsCommonEnergy1);

    fHistDeltaCorrPtvsCommonEnergy2 = new TH2F("fHistDeltaCorrPtvsCommonEnergy2", "fHistDeltaCorrPtvsCommonEnergy2", 
					       fNbins/2, 0, 1.2, 2*fNbins, -fMaxBinPt, fMaxBinPt);
    fHistDeltaCorrPtvsCommonEnergy2->GetXaxis()->SetTitle("Common energy 2 (%)");  
    fHistDeltaCorrPtvsCommonEnergy2->GetYaxis()->SetTitle("#deltap_{T}^{corr} (GeV/c)");
    fHistDeltaCorrPtvsCommonEnergy2->GetZaxis()->SetTitle("counts");
    fOutput->Add(fHistDeltaCorrPtvsCommonEnergy2);

    fHistDeltaCorrPtvsArea1 = new TH2F("fHistDeltaCorrPtvsArea1", "fHistDeltaCorrPtvsArea1", 
				       fNbins/2, 0, 1.5, 2*fNbins, -fMaxBinPt, fMaxBinPt);
    fHistDeltaCorrPtvsArea1->GetXaxis()->SetTitle("A_{jet,1}");
    fHistDeltaCorrPtvsArea1->GetYaxis()->SetTitle("#deltap_{T}^{corr} (GeV/c)");
    fHistDeltaCorrPtvsArea1->GetZaxis()->SetTitle("counts");
    fOutput->Add(fHistDeltaCorrPtvsArea1);
    
    fHistDeltaCorrPtvsArea2 = new TH2F("fHistDeltaCorrPtvsArea2", "fHistDeltaCorrPtvsArea2", 
				       fNbins/2, 0, 1.5, 2*fNbins, -fMaxBinPt, fMaxBinPt);
    fHistDeltaCorrPtvsArea2->GetXaxis()->SetTitle("A_{jet,2}");
    fHistDeltaCorrPtvsArea2->GetYaxis()->SetTitle("#deltap_{T}^{corr} (GeV/c)");
    fHistDeltaCorrPtvsArea2->GetZaxis()->SetTitle("counts");
    fOutput->Add(fHistDeltaCorrPtvsArea2);
    
    fHistDeltaCorrPtvsDeltaArea = new TH2F("fHistDeltaCorrPtvsDeltaArea", "fHistDeltaCorrPtvsDeltaArea", 
					   fNbins, -1.+1./fNbins, 1.+1./fNbins, 2*fNbins, -fMaxBinPt, fMaxBinPt);
    fHistDeltaCorrPtvsDeltaArea->GetXaxis()->SetTitle("#deltaA_{jet}");
    fHistDeltaCorrPtvsDeltaArea->GetYaxis()->SetTitle("#deltap_{T}^{corr} (GeV/c)");
    fHistDeltaCorrPtvsDeltaArea->GetZaxis()->SetTitle("counts");
    fOutput->Add(fHistDeltaCorrPtvsDeltaArea);
    
    if (!fIsJet1Rho) 
      fHistJet1CorrPtvsJet2CorrPt = new TH2F("fHistJet1CorrPtvsJet2CorrPt", "fHistJet1CorrPtvsJet2CorrPt", 
					     fNbins, fMinBinPt, fMaxBinPt, 2*fNbins, -fMaxBinPt, fMaxBinPt);
    else if (!fIsJet2Rho) 
      fHistJet1CorrPtvsJet2CorrPt = new TH2F("fHistJet1CorrPtvsJet2CorrPt", "fHistJet1CorrPtvsJet2CorrPt", 
					     2*fNbins, -fMaxBinPt, fMaxBinPt, fNbins, fMinBinPt, fMaxBinPt);
    else
      fHistJet1CorrPtvsJet2CorrPt = new TH2F("fHistJet1CorrPtvsJet2CorrPt", "fHistJet1CorrPtvsJet2CorrPt", 
					     2*fNbins, -fMaxBinPt, fMaxBinPt, 
					     2*fNbins, -fMaxBinPt, fMaxBinPt);
    fHistJet1CorrPtvsJet2CorrPt->GetXaxis()->SetTitle("p_{T,1}^{corr}");
    fHistJet1CorrPtvsJet2CorrPt->GetYaxis()->SetTitle("p_{T,2}^{corr}");
    fHistJet1CorrPtvsJet2CorrPt->GetZaxis()->SetTitle("counts");
    fOutput->Add(fHistJet1CorrPtvsJet2CorrPt);
  }

  if (fIsEmbedded) {
    fHistDeltaMCPtvsJet1MCPt = new TH2F("fHistDeltaMCPtvsJet1MCPt", "fHistDeltaMCPtvsJet1MCPt", 
					fNbins, fMinBinPt, fMaxBinPt, 2*fNbins, -fMaxBinPt, fMaxBinPt);
    fHistDeltaMCPtvsJet1MCPt->GetXaxis()->SetTitle("p_{T,1}^{MC}");  
    fHistDeltaMCPtvsJet1MCPt->GetYaxis()->SetTitle("#deltap_{T} (GeV/c)");
    fHistDeltaMCPtvsJet1MCPt->GetZaxis()->SetTitle("counts");
    fOutput->Add(fHistDeltaMCPtvsJet1MCPt);

    fHistDeltaMCPtvsJet2Pt = new TH2F("fHistDeltaMCPtvsJet2Pt", "fHistDeltaMCPtvsJet2Pt", 
				      fNbins, fMinBinPt, fMaxBinPt, 2*fNbins, -fMaxBinPt, fMaxBinPt);
    fHistDeltaMCPtvsJet2Pt->GetXaxis()->SetTitle("p_{T,2}");  
    fHistDeltaMCPtvsJet2Pt->GetYaxis()->SetTitle("#deltap_{T} (GeV/c)");
    fHistDeltaMCPtvsJet2Pt->GetZaxis()->SetTitle("counts");
    fOutput->Add(fHistDeltaMCPtvsJet2Pt);

    fHistDeltaMCPtOverJet1MCPtvsJet1MCPt = new TH2F("fHistDeltaMCPtOverJet1MCPtvsJet1MCPt", "fHistDeltaMCPtOverJet1MCPtvsJet1MCPt", 
						    fNbins, fMinBinPt, fMaxBinPt, fNbins, -5, 5);
    fHistDeltaMCPtOverJet1MCPtvsJet1MCPt->GetXaxis()->SetTitle("p_{T,1}^{MC}");  
    fHistDeltaMCPtOverJet1MCPtvsJet1MCPt->GetYaxis()->SetTitle("#deltap_{T} / p_{T,1}^{MC}");
    fHistDeltaMCPtOverJet1MCPtvsJet1MCPt->GetZaxis()->SetTitle("counts");
    fOutput->Add(fHistDeltaMCPtOverJet1MCPtvsJet1MCPt);

    fHistDeltaMCPtOverJet2PtvsJet2Pt = new TH2F("fHistDeltaMCPtOverJet2PtvsJet2Pt", "fHistDeltaMCPtOverJet2PtvsJet2Pt", 
						fNbins, fMinBinPt, fMaxBinPt, fNbins, -5, 5);
    fHistDeltaMCPtOverJet2PtvsJet2Pt->GetXaxis()->SetTitle("p_{T,2}");  
    fHistDeltaMCPtOverJet2PtvsJet2Pt->GetYaxis()->SetTitle("#deltap_{T} / p_{T,2}");
    fHistDeltaMCPtOverJet2PtvsJet2Pt->GetZaxis()->SetTitle("counts");
    fOutput->Add(fHistDeltaMCPtOverJet2PtvsJet2Pt);

    fHistDeltaMCPtvsDistance = new TH2F("fHistDeltaMCPtvsDistance", "fHistDeltaMCPtvsDistance", 
					fNbins/2, 0, 1.2, 2*fNbins, -fMaxBinPt, fMaxBinPt);
    fHistDeltaMCPtvsDistance->GetXaxis()->SetTitle("Distance");  
    fHistDeltaMCPtvsDistance->GetYaxis()->SetTitle("#deltap_{T} (GeV/c)");
    fHistDeltaMCPtvsDistance->GetZaxis()->SetTitle("counts");
    fOutput->Add(fHistDeltaMCPtvsDistance);

    fHistDeltaMCPtvsCommonEnergy1 = new TH2F("fHistDeltaMCPtvsCommonEnergy1", "fHistDeltaMCPtvsCommonEnergy1", 
					     fNbins/2, 0, 1.2, 2*fNbins, -fMaxBinPt, fMaxBinPt);
    fHistDeltaMCPtvsCommonEnergy1->GetXaxis()->SetTitle("Common energy 1 (%)");  
    fHistDeltaMCPtvsCommonEnergy1->GetYaxis()->SetTitle("#deltap_{T} (GeV/c)");
    fHistDeltaMCPtvsCommonEnergy1->GetZaxis()->SetTitle("counts");
    fOutput->Add(fHistDeltaMCPtvsCommonEnergy1);

    fHistDeltaMCPtvsCommonEnergy2 = new TH2F("fHistDeltaMCPtvsCommonEnergy2", "fHistDeltaMCPtvsCommonEnergy2", 
					     fNbins/2, 0, 1.2, 2*fNbins, -fMaxBinPt, fMaxBinPt);
    fHistDeltaMCPtvsCommonEnergy2->GetXaxis()->SetTitle("Common energy 2 (%)");  
    fHistDeltaMCPtvsCommonEnergy2->GetYaxis()->SetTitle("#deltap_{T} (GeV/c)");
    fHistDeltaMCPtvsCommonEnergy2->GetZaxis()->SetTitle("counts");
    fOutput->Add(fHistDeltaMCPtvsCommonEnergy2);

    fHistDeltaMCPtvsArea1 = new TH2F("fHistDeltaMCPtvsArea1", "fHistDeltaMCPtvsArea1", 
				     fNbins/2, 0, 1.5, 2*fNbins, -fMaxBinPt, fMaxBinPt);
    fHistDeltaMCPtvsArea1->GetXaxis()->SetTitle("A_{jet,1}");
    fHistDeltaMCPtvsArea1->GetYaxis()->SetTitle("#deltap_{T} (GeV/c)");
    fHistDeltaMCPtvsArea1->GetZaxis()->SetTitle("counts");
    fOutput->Add(fHistDeltaMCPtvsArea1);

    fHistDeltaMCPtvsArea2 = new TH2F("fHistDeltaMCPtvsArea2", "fHistDeltaMCPtvsArea2", 
				     fNbins/2, 0, 1.5, 2*fNbins, -fMaxBinPt, fMaxBinPt);
    fHistDeltaMCPtvsArea2->GetXaxis()->SetTitle("A_{jet,2}");
    fHistDeltaMCPtvsArea2->GetYaxis()->SetTitle("#deltap_{T} (GeV/c)");
    fHistDeltaMCPtvsArea2->GetZaxis()->SetTitle("counts");
    fOutput->Add(fHistDeltaMCPtvsArea2);

    fHistDeltaMCPtvsDeltaArea = new TH2F("fHistDeltaMCPtvsDeltaArea", "fHistDeltaMCPtvsDeltaArea", 
					 fNbins, -1.+1./fNbins, 1.+1./fNbins, 2*fNbins, -fMaxBinPt, fMaxBinPt);
    fHistDeltaMCPtvsDeltaArea->GetXaxis()->SetTitle("#deltaA_{jet}");
    fHistDeltaMCPtvsDeltaArea->GetYaxis()->SetTitle("#deltap_{T} (GeV/c)");
    fHistDeltaMCPtvsDeltaArea->GetZaxis()->SetTitle("counts");
    fOutput->Add(fHistDeltaMCPtvsDeltaArea);

    fHistJet1MCPtvsJet2Pt = new TH2F("fHistJet1MCPtvsJet2Pt", "fHistJet1MCPtvsJet2Pt", 
				     fNbins, fMinBinPt, fMaxBinPt, fNbins, fMinBinPt, fMaxBinPt);
    fHistJet1MCPtvsJet2Pt->GetXaxis()->SetTitle("p_{T,1}^{MC}");
    fHistJet1MCPtvsJet2Pt->GetYaxis()->SetTitle("p_{T,2}");
    fHistJet1MCPtvsJet2Pt->GetZaxis()->SetTitle("counts");
    fOutput->Add(fHistJet1MCPtvsJet2Pt);
  }
}

//________________________________________________________________________
void AliJetResponseMaker::AllocateTHnSparse()
{
  // Allocate THnSparse histograms.

  TString title[25]= {""};
  Int_t nbins[25]  = {0};
  Double_t min[25] = {0.};
  Double_t max[25] = {0.};
  Int_t dim = 0;

  title[dim] = "#phi";
  nbins[dim] = fNbins/4;
  min[dim] = 0;
  max[dim] = 2*TMath::Pi()*(1 + 1./(nbins[dim]-1));
  dim++;

  title[dim] = "#eta";
  nbins[dim] = fNbins/4;
  min[dim] = -1;
  max[dim] = 1;
  dim++;

  title[dim] = "p_{T}";
  nbins[dim] = fNbins;
  min[dim] = 0;
  max[dim] = 250;
  dim++;

  title[dim] = "A_{jet}";
  nbins[dim] = fNbins/4;
  min[dim] = 0;
  max[dim] = 1.5;
  dim++;

  if (fNEFAxis) {
    title[dim] = "NEF";
    nbins[dim] = fNbins/4;
    min[dim] = 0;
    max[dim] = 1.2;
    dim++;
  }

  if (fZAxis) {
    title[dim] = "Z";
    nbins[dim] = fNbins/4;
    min[dim] = 0;
    max[dim] = 1.2;
    dim++;
  }

  title[dim] = "p_{T,particle}^{leading} (GeV/c)";
  nbins[dim] = 120;
  min[dim] = 0;
  max[dim] = 120;
  dim++;

  Int_t dim1 = dim, dim2 = dim;

  if (fIsJet1Rho) {
    title[dim1] = "p_{T}^{corr}";
    nbins[dim1] = fNbins*2;
    min[dim1] = -250;
    max[dim1] = 250;
    dim1++;
  }

  if (fIsEmbedded) {
    title[dim1] = "p_{T}^{MC}";
    nbins[dim1] = fNbins;
    min[dim1] = 0;
    max[dim1] = 250;
    dim1++;
  }

  fHistJets1 = new THnSparseD("fHistJets1","fHistJets1",dim1,nbins,min,max);
  for (Int_t i = 0; i < dim1; i++) 
    fHistJets1->GetAxis(i)->SetTitle(title[i]);
  fOutput->Add(fHistJets1);

  if (fIsJet2Rho) {
    title[dim2] = "p_{T}^{corr}";
    nbins[dim2] = fNbins*2;
    min[dim2] = -250;
    max[dim2] = 250;
    dim2++;
  }

  fHistJets2 = new THnSparseD("fHistJets2","fHistJets2",dim2,nbins,min,max);
  for (Int_t i = 0; i < dim2; i++) 
    fHistJets2->GetAxis(i)->SetTitle(title[i]);
  fOutput->Add(fHistJets2);
  
  // Matching

  dim = 0;

  title[dim] = "p_{T,1}";
  nbins[dim] = fNbins;
  min[dim] = 0;
  max[dim] = 250;
  dim++;

  title[dim] = "p_{T,2}";
  nbins[dim] = fNbins;
  min[dim] = 0;
  max[dim] = 250;
  dim++;

  title[dim] = "A_{jet,1}";
  nbins[dim] = fNbins/4;
  min[dim] = 0;
  max[dim] = 1.5;
  dim++;

  title[dim] = "A_{jet,2}";
  nbins[dim] = fNbins/4;
  min[dim] = 0;
  max[dim] = 1.5;
  dim++;

  title[dim] = "distance";
  nbins[dim] = fNbins/2;
  min[dim] = 0;
  max[dim] = 1.2;
  dim++;

  title[dim] = "CE1";
  nbins[dim] = fNbins/2;
  min[dim] = 0;
  max[dim] = 1.2;
  dim++;

  title[dim] = "CE2";
  nbins[dim] = fNbins/2;
  min[dim] = 0;
  max[dim] = 1.2;
  dim++;

  title[dim] = "p_{T,particle,1}^{leading} (GeV/c)";
  nbins[dim] = 120;
  min[dim] = 0;
  max[dim] = 120;
  dim++;

  title[dim] = "p_{T,particle,2}^{leading} (GeV/c)";
  nbins[dim] = 120;
  min[dim] = 0;
  max[dim] = 120;
  dim++;

  if (fDeltaPtAxis) {
    title[dim] = "#deltaA_{jet}";
    nbins[dim] = fNbins/2;
    min[dim] = -1;
    max[dim] = 1;
    dim++;

    title[dim] = "#deltap_{T}";
    nbins[dim] = fNbins*2;
    min[dim] = -250;
    max[dim] = 250;
    dim++;
  }
  if (fIsJet1Rho) {
    title[dim] = "p_{T,1}^{corr}";
    nbins[dim] = fNbins*2;
    min[dim] = -250;
    max[dim] = 250;
    dim++;
  }
  if (fIsJet2Rho) {
    title[dim] = "p_{T,2}^{corr}";
    nbins[dim] = fNbins*2;
    min[dim] = -250;
    max[dim] = 250;
    dim++;
  }
  if (fDeltaPtAxis && (fIsJet1Rho || fIsJet2Rho)) {
    title[dim] = "#deltap_{T}^{corr}";
    nbins[dim] = fNbins*2;
    min[dim] = -250;
    max[dim] = 250;
    dim++;
  }
  if (fDeltaEtaDeltaPhiAxis) {
    title[dim] = "#delta#eta";
    nbins[dim] = fNbins/2;
    min[dim] = -1;
    max[dim] = 1;
    dim++;

    title[dim] = "#delta#phi";
    nbins[dim] = fNbins/2;
    min[dim] = -TMath::Pi()/2;
    max[dim] = TMath::Pi()*3/2;
    dim++;
  }
  if (fIsEmbedded) {
    title[dim] = "p_{T,1}^{MC}";
    nbins[dim] = fNbins;
    min[dim] = 0;
    max[dim] = 250;
    dim++;

    if (fDeltaPtAxis) {
      title[dim] = "#deltap_{T}^{MC}";
      nbins[dim] = fNbins*2;
      min[dim] = -250;
      max[dim] = 250;
      dim++;
    }
  }

  if (fNEFAxis) {
    title[dim] = "NEF_{1}";
    nbins[dim] = fNbins/4;
    min[dim] = 0;
    max[dim] = 1.2;
    dim++;

    title[dim] = "NEF_{2}";
    nbins[dim] = fNbins/4;
    min[dim] = 0;
    max[dim] = 1.2;
    dim++;
  }

  if (fZAxis) {
    title[dim] = "Z_{1}";
    nbins[dim] = fNbins/4;
    min[dim] = 0;
    max[dim] = 1.2;
    dim++;

    title[dim] = "Z_{2}";
    nbins[dim] = fNbins/4;
    min[dim] = 0;
    max[dim] = 1.2;
    dim++;
  }
      
  fHistMatching = new THnSparseD("fHistMatching","fHistMatching",dim,nbins,min,max);
    
  for (Int_t i = 0; i < dim; i++)
    fHistMatching->GetAxis(i)->SetTitle(title[i]);
   
  fOutput->Add(fHistMatching);
}

//________________________________________________________________________
void AliJetResponseMaker::UserCreateOutputObjects()
{
  // Create user objects.

  AliAnalysisTaskEmcalJet::UserCreateOutputObjects();

  AliJetContainer *jets1 = static_cast<AliJetContainer*>(fJetCollArray.At(0));
  AliJetContainer *jets2 = static_cast<AliJetContainer*>(fJetCollArray.At(1));

  if (!jets1 || !jets2) return;

  if (jets1->GetRhoName().IsNull()) fIsJet1Rho = kFALSE;
  else fIsJet1Rho = kTRUE;
  if (jets2->GetRhoName().IsNull()) fIsJet2Rho = kFALSE;
  else fIsJet2Rho = kTRUE;

  fHistRejectionReason1 = new TH2F("fHistRejectionReason1", "fHistRejectionReason1", 32, 0, 32, 100, 0, 250);
  fHistRejectionReason1->GetXaxis()->SetTitle("Rejection reason");
  fHistRejectionReason1->GetYaxis()->SetTitle("p_{T,jet} (GeV/c)");
  fHistRejectionReason1->GetZaxis()->SetTitle("counts");
  SetRejectionReasonLabels(fHistRejectionReason1->GetXaxis());
  fOutput->Add(fHistRejectionReason1);

  fHistRejectionReason2 = new TH2F("fHistRejectionReason2", "fHistRejectionReason2", 32, 0, 32, 100, 0, 250);
  fHistRejectionReason2->GetXaxis()->SetTitle("Rejection reason");
  fHistRejectionReason2->GetYaxis()->SetTitle("p_{T,jet} (GeV/c)");
  fHistRejectionReason2->GetZaxis()->SetTitle("counts");
  SetRejectionReasonLabels(fHistRejectionReason2->GetXaxis());
  fOutput->Add(fHistRejectionReason2);

  if (fHistoType==0)
    AllocateTH2();
  else 
    AllocateTHnSparse();

  PostData(1, fOutput); // Post data for ALL output slots > 0 here, to get at least an empty histogram
}

//________________________________________________________________________
void AliJetResponseMaker::FillJetHisto(Double_t Phi, Double_t Eta, Double_t Pt, Double_t A, Double_t NEF, Double_t LeadingPt, Double_t CorrPt, Double_t MCPt, Int_t Set)
{
  if (fHistoType==1) {
    THnSparse *histo = 0;
    if (Set==1)
      histo = fHistJets1;
    else if (Set==2)
      histo = fHistJets2;

    if (!histo)
      return;

    Double_t contents[20]={0};

    for (Int_t i = 0; i < histo->GetNdimensions(); i++) {
      TString title(histo->GetAxis(i)->GetTitle());
      if (title=="#phi")
	contents[i] = Phi;
      else if (title=="#eta")
	contents[i] = Eta;
      else if (title=="p_{T}")
	contents[i] = Pt;
      else if (title=="A_{jet}")
	contents[i] = A;
      else if (title=="NEF")
	contents[i] = NEF;
      else if (title=="Z")
	contents[i] = LeadingPt/Pt;
      else if (title=="p_{T}^{corr}")
	contents[i] = CorrPt;
      else if (title=="p_{T}^{MC}")
	contents[i] = MCPt;
      else if (title=="p_{T,particle}^{leading} (GeV/c)")
	contents[i] = LeadingPt;
      else 
	AliWarning(Form("Unable to fill dimension %s!",title.Data()));
    }

    histo->Fill(contents);
  }
  else {
    if (Set == 1) {
      fHistJets1PtArea->Fill(A, Pt);
      fHistJets1PhiEta->Fill(Eta, Phi);
      fHistJets1ZvsPt->Fill(LeadingPt/Pt, Pt);
      fHistJets1NEFvsPt->Fill(NEF, Pt);
      fHistJets1CEFvsCEFPt->Fill(1-NEF, (1-NEF)*Pt);
      if (fIsJet1Rho)
	fHistJets1CorrPtArea->Fill(A, CorrPt);
    }
    else if (Set == 2) {
      fHistJets2PtArea->Fill(A, Pt);
      fHistJets2PhiEta->Fill(Eta, Phi);
      fHistJets2ZvsPt->Fill(LeadingPt/Pt, Pt);
      fHistJets2NEFvsPt->Fill(NEF, Pt);
      fHistJets2CEFvsCEFPt->Fill(1-NEF, (1-NEF)*Pt);
      if (fIsJet2Rho)
	fHistJets2CorrPtArea->Fill(A, CorrPt);
    }
  }
}

//________________________________________________________________________
void AliJetResponseMaker::FillMatchingHistos(Double_t Pt1, Double_t Pt2, Double_t Eta1, Double_t Eta2, Double_t Phi1, Double_t Phi2, 
					     Double_t A1, Double_t A2, Double_t d, Double_t CE1, Double_t CE2, Double_t CorrPt1, Double_t CorrPt2, 
					     Double_t MCPt1, Double_t NEF1, Double_t NEF2, Double_t LeadingPt1, Double_t LeadingPt2)
{
  if (fHistoType==1) {
    Double_t contents[20]={0};

    for (Int_t i = 0; i < fHistMatching->GetNdimensions(); i++) {
      TString title(fHistMatching->GetAxis(i)->GetTitle());
      if (title=="p_{T,1}")
	contents[i] = Pt1;
      else if (title=="p_{T,2}")
	contents[i] = Pt2;
      else if (title=="A_{jet,1}")
	contents[i] = A1;
      else if (title=="A_{jet,2}")
	contents[i] = A2;
      else if (title=="distance")
	contents[i] = d;
      else if (title=="CE1")
	contents[i] = CE1;
      else if (title=="CE2")
	contents[i] = CE2;
      else if (title=="#deltaA_{jet}")
	contents[i] = A1-A2;
      else if (title=="#deltap_{T}")
	contents[i] = Pt1-Pt2;
      else if (title=="#delta#eta")
	contents[i] = Eta1-Eta2;
      else if (title=="#delta#phi")
	contents[i] = Phi1-Phi2;
      else if (title=="p_{T,1}^{corr}")
	contents[i] = CorrPt1;
      else if (title=="p_{T,2}^{corr}")
	contents[i] = CorrPt2;
      else if (title=="#deltap_{T}^{corr}")
	contents[i] = CorrPt1-CorrPt2;
      else if (title=="p_{T,1}^{MC}")
	contents[i] = MCPt1;
      else if (title=="#deltap_{T}^{MC}")
	contents[i] = MCPt1-Pt2;
      else if (title=="NEF_{1}")
	contents[i] = NEF1;
      else if (title=="NEF_{2}")
	contents[i] = NEF2;
      else if (title=="Z_{1}")
	contents[i] = LeadingPt1/Pt1;
      else if (title=="Z_{2}")
	contents[i] = LeadingPt2/Pt2;
      else if (title=="p_{T,particle,1}^{leading} (GeV/c)")
	contents[i] = LeadingPt1;
      else if (title=="p_{T,particle,2}^{leading} (GeV/c)")
	contents[i] = LeadingPt2;
      else 
	AliWarning(Form("Unable to fill dimension %s!",title.Data()));
    }

    fHistMatching->Fill(contents);
  }
  else {
    fHistCommonEnergy1vsJet1Pt->Fill(CE1, Pt1);
    fHistCommonEnergy2vsJet2Pt->Fill(CE2, Pt2);

    fHistDistancevsJet1Pt->Fill(d, Pt1);
    fHistDistancevsJet2Pt->Fill(d, Pt2);

    fHistDistancevsCommonEnergy1->Fill(d, CE1);
    fHistDistancevsCommonEnergy2->Fill(d, CE2);
    fHistCommonEnergy1vsCommonEnergy2->Fill(CE1, CE2);

    fHistDeltaEtaDeltaPhi->Fill(Eta1-Eta2,Phi1-Phi2);

    fHistJet2PtOverJet1PtvsJet2Pt->Fill(Pt2, Pt2 / Pt1);
    fHistJet1PtOverJet2PtvsJet1Pt->Fill(Pt1, Pt1 / Pt2);

    Double_t dpt = Pt1 - Pt2;
    fHistDeltaPtvsJet1Pt->Fill(Pt1, dpt);
    fHistDeltaPtvsJet2Pt->Fill(Pt2, dpt);
    fHistDeltaPtOverJet1PtvsJet1Pt->Fill(Pt1, dpt/Pt1);
    fHistDeltaPtOverJet2PtvsJet2Pt->Fill(Pt2, dpt/Pt2);

    fHistDeltaPtvsDistance->Fill(d, dpt);
    fHistDeltaPtvsCommonEnergy1->Fill(CE1, dpt);
    fHistDeltaPtvsCommonEnergy2->Fill(CE2, dpt);

    fHistDeltaPtvsArea1->Fill(A1, dpt);
    fHistDeltaPtvsArea2->Fill(A2, dpt);

    Double_t darea = A1 - A2;
    fHistDeltaPtvsDeltaArea->Fill(darea, dpt);

    fHistJet1PtvsJet2Pt->Fill(Pt1, Pt2);

    if (fIsJet1Rho || fIsJet2Rho) {
      Double_t dcorrpt = CorrPt1 - CorrPt2;
      fHistDeltaCorrPtvsJet1CorrPt->Fill(CorrPt1, dcorrpt);
      fHistDeltaCorrPtvsJet2CorrPt->Fill(CorrPt2, dcorrpt);
      fHistDeltaCorrPtOverJet1CorrPtvsJet1CorrPt->Fill(CorrPt1, dcorrpt/CorrPt1);
      fHistDeltaCorrPtOverJet2CorrPtvsJet2CorrPt->Fill(CorrPt2, dcorrpt/CorrPt2);
      fHistDeltaCorrPtvsDistance->Fill(d, dcorrpt);
      fHistDeltaCorrPtvsCommonEnergy1->Fill(CE1, dcorrpt);
      fHistDeltaCorrPtvsCommonEnergy2->Fill(CE2, dcorrpt);
      fHistDeltaCorrPtvsArea1->Fill(A1, dcorrpt);
      fHistDeltaCorrPtvsArea2->Fill(A2, dcorrpt);
      fHistDeltaCorrPtvsDeltaArea->Fill(darea, dcorrpt);
      fHistJet1CorrPtvsJet2CorrPt->Fill(CorrPt1, CorrPt2);
    }

    if (fIsEmbedded) {
      Double_t dmcpt = MCPt1 - Pt2;
      fHistDeltaMCPtvsJet1MCPt->Fill(MCPt1, dmcpt);
      fHistDeltaMCPtvsJet2Pt->Fill(Pt2, dmcpt);
      fHistDeltaMCPtOverJet1MCPtvsJet1MCPt->Fill(MCPt1, dmcpt/MCPt1);
      fHistDeltaMCPtOverJet2PtvsJet2Pt->Fill(Pt2, dmcpt/Pt2);
      fHistDeltaMCPtvsDistance->Fill(d, dmcpt);
      fHistDeltaMCPtvsCommonEnergy1->Fill(CE1, dmcpt);
      fHistDeltaMCPtvsCommonEnergy2->Fill(CE2, dmcpt);
      fHistDeltaMCPtvsArea1->Fill(A1, dmcpt);
      fHistDeltaMCPtvsArea2->Fill(A2, dmcpt);
      fHistDeltaMCPtvsDeltaArea->Fill(darea, dmcpt);
      fHistJet1MCPtvsJet2Pt->Fill(MCPt1, Pt2);
    }
  }
}

//________________________________________________________________________
void AliJetResponseMaker::ExecOnce()
{
  // Execute once.

  AliAnalysisTaskEmcalJet::ExecOnce();

  AliJetContainer *jets1 = static_cast<AliJetContainer*>(fJetCollArray.At(0));
  AliJetContainer *jets2 = static_cast<AliJetContainer*>(fJetCollArray.At(1));

  if (!jets1 || !jets1->GetArray() || !jets2 || !jets2->GetArray()) return;

  if (fMatching == kMCLabel && (!jets2->GetIsParticleLevel() || jets1->GetIsParticleLevel())) {
    if (jets1->GetIsParticleLevel() == jets2->GetIsParticleLevel()) {
      AliWarning("Changing matching type from MC label to same collection...");
      fMatching = kSameCollections;
    }
    else {
      AliWarning("Changing matching type from MC label to geometrical...");
      fMatching = kGeometrical;
    }
  }
  else if (fMatching == kSameCollections && jets1->GetIsParticleLevel() != jets2->GetIsParticleLevel()) {
    if (jets2->GetIsParticleLevel() && !jets1->GetIsParticleLevel()) {
      AliWarning("Changing matching type from same collection to MC label...");
      fMatching = kMCLabel;
    }
    else {
      AliWarning("Changing matching type from same collection to geometrical...");
      fMatching = kGeometrical;
    }
  }
}

//________________________________________________________________________
Bool_t AliJetResponseMaker::Run()
{
  // Find the closest jets

  if (fMatching == kNoMatching) 
    return kTRUE;
  else
    return DoJetMatching();
}

//________________________________________________________________________
Bool_t AliJetResponseMaker::DoJetMatching()
{
  AliJetContainer *jets1 = static_cast<AliJetContainer*>(fJetCollArray.At(0));
  AliJetContainer *jets2 = static_cast<AliJetContainer*>(fJetCollArray.At(1));

  if (!jets1 || !jets1->GetArray() || !jets2 || !jets2->GetArray()) return kFALSE;

  DoJetLoop();

  AliEmcalJet* jet1 = 0;

  jets1->ResetCurrentID();
  while ((jet1 = jets1->GetNextJet())) {

    AliEmcalJet *jet2 = jet1->ClosestJet();

    if (!jet2) continue;
    if (jet2->ClosestJet() != jet1) continue;
    if (jet1->ClosestJetDistance() > fMatchingPar1 || jet2->ClosestJetDistance() > fMatchingPar2) continue;

    // Matched jet found
    jet1->SetMatchedToClosest(fMatching);
    jet2->SetMatchedToClosest(fMatching);
    AliDebug(2,Form("Found matching: jet1 pt = %f, eta = %f, phi = %f, jet2 pt = %f, eta = %f, phi = %f", 
		    jet1->Pt(), jet1->Eta(), jet1->Phi(), 
		    jet2->Pt(), jet2->Eta(), jet2->Phi()));
  }

  return kTRUE;
}

//________________________________________________________________________
void AliJetResponseMaker::DoJetLoop()
{
  // Do the jet loop.

  AliJetContainer *jets1 = static_cast<AliJetContainer*>(fJetCollArray.At(0));
  AliJetContainer *jets2 = static_cast<AliJetContainer*>(fJetCollArray.At(1));

  if (!jets1 || !jets1->GetArray() || !jets2 || !jets2->GetArray()) return;

  AliEmcalJet* jet1 = 0;
  AliEmcalJet* jet2 = 0;

  jets2->ResetCurrentID();
  while ((jet2 = jets2->GetNextJet())) jet2->ResetMatching();
    
  jets1->ResetCurrentID();
  while ((jet1 = jets1->GetNextJet())) {
    jet1->ResetMatching();
    
    if (jet1->MCPt() < fMinJetMCPt) continue;

    jets2->ResetCurrentID();
    while ((jet2 = jets2->GetNextJet())) {
      SetMatchingLevel(jet1, jet2, fMatching);
    } // jet2 loop
  } // jet1 loop
}

//________________________________________________________________________
void AliJetResponseMaker::GetGeometricalMatchingLevel(AliEmcalJet *jet1, AliEmcalJet *jet2, Double_t &d) const
{
  Double_t deta = jet2->Eta() - jet1->Eta();
  Double_t dphi = jet2->Phi() - jet1->Phi();
  d = TMath::Sqrt(deta * deta + dphi * dphi);
}

//________________________________________________________________________
void AliJetResponseMaker::GetMCLabelMatchingLevel(AliEmcalJet *jet1, AliEmcalJet *jet2, Double_t &d1, Double_t &d2) const
{ 
  AliJetContainer *jets1 = static_cast<AliJetContainer*>(fJetCollArray.At(0));
  AliJetContainer *jets2 = static_cast<AliJetContainer*>(fJetCollArray.At(1));

  if (!jets1 || !jets1->GetArray() || !jets2 || !jets2->GetArray()) return;

  AliParticleContainer *tracks1   = jets1->GetParticleContainer();
  AliClusterContainer  *clusters1 = jets1->GetClusterContainer();
  AliParticleContainer *tracks2   = jets2->GetParticleContainer();

  // d1 and d2 represent the matching level: 0 = maximum level of matching, 1 = the two jets are completely unrelated
  d1 = jet1->Pt();
  d2 = jet2->Pt();
  Double_t totalPt1 = d1; // the total pt of the reconstructed jet will be cleaned from the background

  // remove completely tracks that are not MC particles (label == 0)
  if (tracks1 && tracks1->GetArray()) {
    for (Int_t iTrack = 0; iTrack < jet1->GetNumberOfTracks(); iTrack++) {
      AliVParticle *track = jet1->TrackAt(iTrack,tracks1->GetArray());
      if (!track) {
	AliWarning(Form("Could not find track %d!", iTrack));
	continue;
      }

      Int_t MClabel = TMath::Abs(track->GetLabel());
      MClabel -= fMCLabelShift;
      if (MClabel != 0) continue;

      // this is not a MC particle; remove it completely
      AliDebug(3,Form("Track %d (pT = %f) is not a MC particle (MClabel = %d)!",iTrack,track->Pt(),MClabel));
      totalPt1 -= track->Pt();
      d1 -= track->Pt();
    }
  }

  // remove completely clusters that are not MC particles (label == 0)
  if (fUseCellsToMatch && fCaloCells) { 
    for (Int_t iClus = 0; iClus < jet1->GetNumberOfClusters(); iClus++) {
      AliVCluster *clus = jet1->ClusterAt(iClus,clusters1->GetArray());
      if (!clus) {
	AliWarning(Form("Could not find cluster %d!", iClus));
	continue;
      }
      TLorentzVector part;
      clus->GetMomentum(part, const_cast<Double_t*>(fVertex));
	  
      for (Int_t iCell = 0; iCell < clus->GetNCells(); iCell++) {
	Int_t cellId = clus->GetCellAbsId(iCell);
	Double_t cellFrac = clus->GetCellAmplitudeFraction(iCell);

	Int_t MClabel = TMath::Abs(fCaloCells->GetCellMCLabel(cellId));
	MClabel -= fMCLabelShift;
	if (MClabel != 0) continue;

	// this is not a MC particle; remove it completely
	AliDebug(3,Form("Cell %d (frac = %f) is not a MC particle (MClabel = %d)!",iCell,cellFrac,MClabel));
	totalPt1 -= part.Pt() * cellFrac;
	d1 -= part.Pt() * cellFrac;
      }
    }
  }
  else {
    for (Int_t iClus = 0; iClus < jet1->GetNumberOfClusters(); iClus++) {
      AliVCluster *clus = jet1->ClusterAt(iClus,clusters1->GetArray());
      if (!clus) {
	AliWarning(Form("Could not find cluster %d!", iClus));
	continue;
      }
      TLorentzVector part;
      clus->GetMomentum(part, const_cast<Double_t*>(fVertex));
	  
      Int_t MClabel = TMath::Abs(clus->GetLabel());
      MClabel -= fMCLabelShift;
      if (MClabel != 0) continue;

      // this is not a MC particle; remove it completely
      AliDebug(3,Form("Cluster %d (pT = %f) is not a MC particle (MClabel = %d)!",iClus,part.Pt(),MClabel));
      totalPt1 -= part.Pt();
      d1 -= part.Pt();
    }
  }

  for (Int_t iTrack2 = 0; iTrack2 < jet2->GetNumberOfTracks(); iTrack2++) {
    Bool_t track2Found = kFALSE;
    Int_t index2 = jet2->TrackAt(iTrack2);

    // now look for common particles in the track array
    for (Int_t iTrack = 0; iTrack < jet1->GetNumberOfTracks(); iTrack++) {
      AliVParticle *track = jet1->TrackAt(iTrack,tracks1->GetArray());
      if (!track) {
	AliWarning(Form("Could not find track %d!", iTrack));
	continue;
      }
      Int_t MClabel = TMath::Abs(track->GetLabel());
      MClabel -= fMCLabelShift;	  
      if (MClabel <= 0) continue;

      Int_t index = -1;
      index = tracks2->GetIndexFromLabel(MClabel);
      if (index < 0) {
	AliDebug(2,Form("Track %d (pT = %f) does not have an associated MC particle (MClabel = %d)!",iTrack,track->Pt(),MClabel));
	continue;
      }
	
      if (index2 != index) continue;
      
      // found common particle
      d1 -= track->Pt();

      if (!track2Found) {
	AliVParticle *MCpart = tracks2->GetParticle(index2);
	AliDebug(3,Form("Track %d (pT = %f, eta = %f, phi = %f) is associated with the MC particle %d (pT = %f, eta = %f, phi = %f)!",
			iTrack,track->Pt(),track->Eta(),track->Phi(),MClabel,MCpart->Pt(),MCpart->Eta(),MCpart->Phi()));
	d2 -= MCpart->Pt();
      }

      track2Found = kTRUE;
    }

    // now look for common particles in the cluster array
    if (fUseCellsToMatch && fCaloCells) { // if the cell colection is available, look for cells with a matched MC particle
      for (Int_t iClus = 0; iClus < jet1->GetNumberOfClusters(); iClus++) {
	AliVCluster *clus = jet1->ClusterAt(iClus,fCaloClusters);
	if (!clus) {
	  AliWarning(Form("Could not find cluster %d!", iClus));
	  continue;
	}
	TLorentzVector part;
	clus->GetMomentum(part, const_cast<Double_t*>(fVertex));
      
	for (Int_t iCell = 0; iCell < clus->GetNCells(); iCell++) {
	  Int_t cellId = clus->GetCellAbsId(iCell);
	  Double_t cellFrac = clus->GetCellAmplitudeFraction(iCell);
	
	  Int_t MClabel = TMath::Abs(fCaloCells->GetCellMCLabel(cellId));
	  MClabel -= fMCLabelShift;
	  if (MClabel <= 0) continue;
	  
	  Int_t index1 = -1;
	  index1 = tracks2->GetIndexFromLabel(MClabel);
	  if (index1 < 0) {
	    AliDebug(3,Form("Cell %d (frac = %f) does not have an associated MC particle (MClabel = %d)!",iCell,cellFrac,MClabel));
	    continue;
	  }
	
	  if (index2 != index1) continue;
	  
	  // found common particle
	  d1 -= part.Pt() * cellFrac;
	
	  if (!track2Found) { // only if it is not already found among charged tracks (charged particles are most likely already found)
	    AliVParticle *MCpart = tracks2->GetParticle(index2);
	    AliDebug(3,Form("Cell %d belonging to cluster %d (pT = %f, eta = %f, phi = %f) is associated with the MC particle %d (pT = %f, eta = %f, phi = %f)!",
			    iCell,iClus,part.Pt(),part.Eta(),part.Phi(),MClabel,MCpart->Pt(),MCpart->Eta(),MCpart->Phi()));		  
	    d2 -= MCpart->Pt() * cellFrac;
	  }

	  track2Found = kTRUE;
	}
      }
    }
    else { //otherwise look for the first contributor to the cluster, and if matched to a MC label remove it
      for (Int_t iClus = 0; iClus < jet1->GetNumberOfClusters(); iClus++) {
	AliVCluster *clus = jet1->ClusterAt(iClus,fCaloClusters);
	if (!clus) {
	  AliWarning(Form("Could not find cluster %d!", iClus));
	  continue;
	}
	TLorentzVector part;
	clus->GetMomentum(part, const_cast<Double_t*>(fVertex));
      
	Int_t MClabel = TMath::Abs(clus->GetLabel());
	MClabel -= fMCLabelShift;	    
	if (MClabel <= 0) continue;

	Int_t index = -1;
	index = tracks2->GetIndexFromLabel(MClabel);
      
	if (index < 0) {
	  AliDebug(3,Form("Cluster %d (pT = %f) does not have an associated MC particle (MClabel = %d)!",iClus,part.Pt(),MClabel));
	  continue;
	}

	if (index2 != index) continue;
      
	// found common particle
	d1 -= part.Pt();
      
	if (!track2Found) { // only if it is not already found among charged tracks (charged particles are most likely already found)
	  AliVParticle *MCpart = tracks2->GetParticle(index2);
	  AliDebug(3,Form("Cluster %d (pT = %f, eta = %f, phi = %f) is associated with the MC particle %d (pT = %f, eta = %f, phi = %f)!",
			  iClus,part.Pt(),part.Eta(),part.Phi(),MClabel,MCpart->Pt(),MCpart->Eta(),MCpart->Phi()));
	  
	  d2 -= MCpart->Pt();
	}

	track2Found = kTRUE;
      }
    }
  }

  if (d1 < 0)
    d1 = 0;

  if (d2 < 0)
    d2 = 0;

  if (totalPt1 < 1)
    d1 = -1;
  else
    d1 /= totalPt1;

  if (jet2->Pt() < 1)
    d2 = -1;
  else
    d2 /= jet2->Pt();
}

//________________________________________________________________________
void AliJetResponseMaker::GetSameCollectionsMatchingLevel(AliEmcalJet *jet1, AliEmcalJet *jet2, Double_t &d1, Double_t &d2) const
{ 
  AliJetContainer *jets1 = static_cast<AliJetContainer*>(fJetCollArray.At(0));
  AliJetContainer *jets2 = static_cast<AliJetContainer*>(fJetCollArray.At(1));

  if (!jets1 || !jets1->GetArray() || !jets2 || !jets2->GetArray()) return;

  AliParticleContainer *tracks1   = jets1->GetParticleContainer();
  AliClusterContainer  *clusters1 = jets1->GetClusterContainer();
  AliParticleContainer *tracks2   = jets2->GetParticleContainer();
  AliClusterContainer  *clusters2 = jets2->GetClusterContainer();

  // d1 and d2 represent the matching level: 0 = maximum level of matching, 1 = the two jets are completely unrelated
  d1 = jet1->Pt();
  d2 = jet2->Pt();

  if (tracks1 && tracks2) {

    for (Int_t iTrack2 = 0; iTrack2 < jet2->GetNumberOfTracks(); iTrack2++) {
      Int_t index2 = jet2->TrackAt(iTrack2);
      for (Int_t iTrack1 = 0; iTrack1 < jet1->GetNumberOfTracks(); iTrack1++) {
	Int_t index1 = jet1->TrackAt(iTrack1);
	if (index2 == index1) { // found common particle
	  AliVParticle *part1 = tracks1->GetParticle(index1);
	  if (!part1) {
	    AliWarning(Form("Could not find track %d!", index1));
	    continue;
	  }
	  AliVParticle *part2 = tracks2->GetParticle(index2);
	  if (!part2) {
	    AliWarning(Form("Could not find track %d!", index2));
	    continue;
	  }

	  d1 -= part1->Pt();
	  d2 -= part2->Pt();
	  break;
	}
      }
    }

  }

  if (clusters1 && clusters2) {

    if (fUseCellsToMatch) {
      const Int_t nClus1 = jet1->GetNumberOfClusters();

      Int_t ncells1[nClus1];
      UShort_t *cellsId1[nClus1];
      Double_t *cellsFrac1[nClus1];
      Int_t *sortedIndexes1[nClus1];
      Double_t ptClus1[nClus1];
      for (Int_t iClus1 = 0; iClus1 < nClus1; iClus1++) {
	Int_t index1 = jet1->ClusterAt(iClus1);
	AliVCluster *clus1 = clusters1->GetCluster(index1);
	if (!clus1) {
	  AliWarning(Form("Could not find cluster %d!", index1));
	  ncells1[iClus1] = 0;
	  cellsId1[iClus1] = 0;
	  cellsFrac1[iClus1] = 0;
	  sortedIndexes1[iClus1] = 0;
	  ptClus1[iClus1] = 0;
	  continue;
	}
	TLorentzVector part1;
	clus1->GetMomentum(part1, const_cast<Double_t*>(fVertex));

	ncells1[iClus1] = clus1->GetNCells();
	cellsId1[iClus1] = clus1->GetCellsAbsId();
	cellsFrac1[iClus1] = clus1->GetCellsAmplitudeFraction();
	sortedIndexes1[iClus1] = new Int_t[ncells1[iClus1]];
	ptClus1[iClus1] = part1.Pt();

	TMath::Sort(ncells1[iClus1], cellsId1[iClus1], sortedIndexes1[iClus1], kFALSE);
      }
      
      const Int_t nClus2 = jet2->GetNumberOfClusters();

      const Int_t maxNcells2 = 11520;
      Int_t sortedIndexes2[maxNcells2];
      for (Int_t iClus2 = 0; iClus2 < nClus2; iClus2++) {
	Int_t index2 = jet2->ClusterAt(iClus2);
	AliVCluster *clus2 =  clusters2->GetCluster(index2);
	if (!clus2) {
	  AliWarning(Form("Could not find cluster %d!", index2));
	  continue;
	}
	Int_t ncells2 = clus2->GetNCells();
	if (ncells2 >= maxNcells2) {
	  AliError(Form("Number of cells in the cluster %d >= %d",ncells2,maxNcells2));
	  continue;
	}
	UShort_t *cellsId2 = clus2->GetCellsAbsId();
	Double_t *cellsFrac2 = clus2->GetCellsAmplitudeFraction();

	TLorentzVector part2;
	clus2->GetMomentum(part2, const_cast<Double_t*>(fVertex));
	Double_t ptClus2 = part2.Pt();

	TMath::Sort(ncells2, cellsId2, sortedIndexes2, kFALSE);

	for (Int_t iClus1 = 0; iClus1 < nClus1; iClus1++) {
	  if (sortedIndexes1[iClus1] == 0)
	    continue;
	  Int_t iCell1 = 0, iCell2 = 0;
	  while (iCell1 < ncells1[iClus1] && iCell2 < ncells2) {
	    if (cellsId1[iClus1][sortedIndexes1[iClus1][iCell1]] == cellsId2[sortedIndexes2[iCell2]]) { // found a common cell
	      d1 -= cellsFrac1[iClus1][sortedIndexes1[iClus1][iCell1]] * ptClus1[iClus1];
	      d2 -= cellsFrac2[sortedIndexes2[iCell2]] * ptClus2;
	      iCell1++;
	      iCell2++;
	    }
	    else if (cellsId1[iClus1][sortedIndexes1[iClus1][iCell1]] > cellsId2[sortedIndexes2[iCell2]]) { 
	      iCell2++;
	    }
	    else {
	      iCell1++;
	    }
	  }
	}
      }
    }
    else {
      for (Int_t iClus2 = 0; iClus2 < jet2->GetNumberOfClusters(); iClus2++) {
	Int_t index2 = jet2->ClusterAt(iClus2);
	for (Int_t iClus1 = 0; iClus1 < jet1->GetNumberOfClusters(); iClus1++) {
	  Int_t index1 = jet1->ClusterAt(iClus1);
	  if (index2 == index1) { // found common particle
	    AliVCluster *clus1 = clusters1->GetCluster(index1);
	    if (!clus1) {
	      AliWarning(Form("Could not find cluster %d!", index1));
	      continue;
	    }
	    AliVCluster *clus2 =  clusters2->GetCluster(index2);
	    if (!clus2) {
	      AliWarning(Form("Could not find cluster %d!", index2));
	      continue;
	    }
	    TLorentzVector part1, part2;
	    clus1->GetMomentum(part1, const_cast<Double_t*>(fVertex));
	    clus2->GetMomentum(part2, const_cast<Double_t*>(fVertex));
	    
	    d1 -= part1.Pt();
	    d2 -= part2.Pt();
	    break;
	  }
	}
      }
    }
  }

  if (d1 < 0)
    d1 = 0;

  if (d2 < 0)
    d2 = 0;

  if (jet1->Pt() > 0)
    d1 /= jet1->Pt();
  else
    d1 = -1;

  if (jet2->Pt() > 0)
    d2 /= jet2->Pt();
  else
    d2 = -1;
}

//________________________________________________________________________
void AliJetResponseMaker::SetMatchingLevel(AliEmcalJet *jet1, AliEmcalJet *jet2, MatchingType matching) 
{
  Double_t d1 = -1;
  Double_t d2 = -1;

  switch (matching) {
  case kGeometrical:
    GetGeometricalMatchingLevel(jet1,jet2,d1);
    d2 = d1;
    break;
  case kMCLabel: // jet1 = detector level and jet2 = particle level!
    GetMCLabelMatchingLevel(jet1,jet2,d1,d2);
    break;
  case kSameCollections:
    GetSameCollectionsMatchingLevel(jet1,jet2,d1,d2);
    break;
  default:
    ;
  }

  if (d1 >= 0) {

    if (d1 < jet1->ClosestJetDistance()) {
      jet1->SetSecondClosestJet(jet1->ClosestJet(), jet1->ClosestJetDistance());
      jet1->SetClosestJet(jet2, d1);
    }
    else if (d1 < jet1->SecondClosestJetDistance()) {
      jet1->SetSecondClosestJet(jet2, d1);
    }
  }
  
  if (d2 >= 0) {
    
    if (d2 < jet2->ClosestJetDistance()) {
      jet2->SetSecondClosestJet(jet2->ClosestJet(), jet2->ClosestJetDistance());
      jet2->SetClosestJet(jet1, d2);
    }
    else if (d2 < jet2->SecondClosestJetDistance()) {
      jet2->SetSecondClosestJet(jet1, d2);
    }
  }
}

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

  AliJetContainer *jets1 = static_cast<AliJetContainer*>(fJetCollArray.At(0));
  AliJetContainer *jets2 = static_cast<AliJetContainer*>(fJetCollArray.At(1));

  if (!jets1 || !jets1->GetArray() || !jets2 || !jets2->GetArray()) return kFALSE;

  AliEmcalJet* jet1 = 0;  
  AliEmcalJet* jet2 = 0;
  
  jets2->ResetCurrentID();
  while ((jet2 = jets2->GetNextJet())) {

    AliDebug(2,Form("Processing jet (2) %d", jets2->GetCurrentID()));

    if (jet2->Pt() < jets2->GetJetPtCut()) continue;

    Double_t ptLeading2 = jets2->GetLeadingHadronPt(jet2);
    Double_t corrpt2 = jet2->Pt() - jets2->GetRhoVal() * jet2->Area();

    if (jets2->AcceptJet(jet2))
      FillJetHisto(jet2->Phi(), jet2->Eta(), jet2->Pt(), jet2->Area(), jet2->NEF(), ptLeading2, 
		   corrpt2, jet2->MCPt(), 2);
    else
      fHistRejectionReason2->Fill(jets2->GetRejectionReasonBitPosition(), jet2->Pt());

    jet1 = jet2->MatchedJet();

    if (!jet1) continue;
    if (!jets1->AcceptJet(jet1)) continue;
    if (jet1->MCPt() < fMinJetMCPt) continue;

    Double_t d=-1, ce1=-1, ce2=-1;
    if (jet2->GetMatchingType() == kGeometrical) {
      if (jets2->GetIsParticleLevel() && !jets1->GetIsParticleLevel()) // the other way around is not supported
	GetMCLabelMatchingLevel(jet1, jet2, ce1, ce2);
      else if (jets1->GetIsParticleLevel() == jets2->GetIsParticleLevel())
	GetSameCollectionsMatchingLevel(jet1, jet2, ce1, ce2);
      
      d = jet2->ClosestJetDistance();
    }
    else if (jet2->GetMatchingType() == kMCLabel || jet2->GetMatchingType() == kSameCollections) {
      GetGeometricalMatchingLevel(jet1, jet2, d);

      ce1 = jet1->ClosestJetDistance();
      ce2 = jet2->ClosestJetDistance();
    }

    Double_t ptLeading1 = jets1->GetLeadingHadronPt(jet1);
    Double_t corrpt1 = jet1->Pt() - jets1->GetRhoVal() * jet1->Area();

    FillMatchingHistos(jet1->Pt(), jet2->Pt(), jet1->Eta(), jet2->Eta(), jet1->Phi(), jet2->Phi(), 
		       jet1->Area(), jet2->Area(), d, ce1, ce2, corrpt1, corrpt2, jet1->MCPt(), 
		       jet1->NEF(), jet2->NEF(), ptLeading1, ptLeading2);
  }

  jets1->ResetCurrentID();
  while ((jet1 = jets1->GetNextJet())) {
    if (!jets1->AcceptJet(jet1)) {
      fHistRejectionReason1->Fill(jets1->GetRejectionReasonBitPosition(), jet1->Pt());
      continue;
    }
    if (jet1->MCPt() < fMinJetMCPt) continue;
    AliDebug(2,Form("Processing jet (1) %d", jets1->GetCurrentID()));

    Double_t ptLeading1 = jets1->GetLeadingHadronPt(jet1);
    Double_t corrpt1 = jet1->Pt() - jets1->GetRhoVal() * jet1->Area();

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