ROOT logo
/**************************************************************************
 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 *                                                                        *
 * Author: The ALICE Off-line Project.                                    *
 * Contributors are mentioned in the code where appropriate.              *
 *                                                                        *
 * Permission to use, copy, modify and distribute this software and its   *
 * documentation strictly for non-commercial purposes is hereby granted   *
 * without fee, provided that the above copyright notice appears in all   *
 * copies and that both the copyright notice and this permission notice   *
 * appear in the supporting documentation. The authors make no claims     *
 * about the suitability of this software for any purpose. It is          *
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/

//-----------------------------------------------------------------------
// This class compares the global reconstruction with the MC information
// Momentum resolution is stored as function of track cuts and pt.
// Output: Histograms for different set of cuts
//-----------------------------------------------------------------------
// Author : Marta Verweij - UU
//-----------------------------------------------------------------------

#ifndef ALIPWG4HighPtQAMC_CXX
#define ALIPWG4HighPtQAMC_CXX

#include "AliPWG4HighPtQAMC.h"

#include "TH1.h"
#include "TH2.h"
#include "TH3.h"
#include "TProfile.h"
#include "TList.h"
#include "TFile.h"
#include "TChain.h"
#include "TH3F.h"
#include "TKey.h"
#include "TSystem.h"

#include "AliAnalysisTask.h"
#include "AliAnalysisManager.h"
#include "AliESDInputHandler.h"
#include "AliMCEvent.h"
#include "AliMCEventHandler.h"
#include "AliStack.h"
#include "AliESDtrack.h"
#include "AliESDtrackCuts.h"
#include "AliExternalTrackParam.h"
#include "AliLog.h"
#include "AliGenPythiaEventHeader.h"
#include "AliGenCocktailEventHeader.h"
//#include "AliAnalysisHelperJetTasks.h"

using namespace std; //required for resolving the 'cout' symbol

ClassImp(AliPWG4HighPtQAMC)

AliPWG4HighPtQAMC::AliPWG4HighPtQAMC()
: AliAnalysisTask("AliPWG4HighPtQAMC", ""), 
  fESD(0), 
  fMC(0),
  fStack(0),
  fVtx(0x0),
  fTrackCuts(0), 
  fTrackCutsReject(),
  fTrackType(0),
  fSigmaConstrainedMax(1e6),
  fPtMax(100.),
  fAvgTrials(1),
  fNEventAll(0),
  fNEventSel(0),
  fNEventReject(0),
  fh1Xsec(0),
  fh1Trials(0),
  fh1PtHard(0),
  fh1PtHardTrials(0),
  fPtAll(0),  
  fPtSel(0),  
  fPtSelFakes(0),
  fNPointTPCFakes(0),
  fPtSelLargeLabel(0),
  fMultRec(0),
  fNPointTPCMultRec(0),
  fDeltaPtMultRec(0),
  fPtAllvsPtMC(0),
  fPtAllminPtMCvsPtMC(0),
  fPtAllminPtMCvsPtAll(0),
  fPtAllvsPtMCvsMult(0),
  fPtAllminPtMCvsPtAllvsMult(0),
  fPtAllminPtMCvsPtAllNPointTPC(0),
  fPtAllminPtMCvsPtAllNPointTPCIter1(0),
  fPtAllminPtMCvsPtAllChi2TPC(0),
  fPtAllminPtMCvsPtAllChi2TPCIter1(0),
  fPtAllminPtMCvsPtAllDCAR(0),
  fPtAllminPtMCvsPtAllDCAZ(0),
  fPtAllminPtMCvsPtAllPhi(0),
  fPtAllminPtMCvsPtAllNPointITS(0),
  fPtAllminPtMCvsPtAllNSigmaToVertex(0),
  fPtAllminPtMCvsPtAllChi2C(0),
  fPtAllminPtMCvsPtAllRel1PtUncertainty(0),
  fPtAllMC(0),
  fPtSelMC(0),
  fHistList(0)
{

  fPtBinEdges[0][0] = 10.;
  fPtBinEdges[0][1] = 1.;
  fPtBinEdges[1][0] = 20.;
  fPtBinEdges[1][1] = 2.;
  fPtBinEdges[2][0] = 100.;
  fPtBinEdges[2][1] = 10.;

}
//________________________________________________________________________
AliPWG4HighPtQAMC::AliPWG4HighPtQAMC(const char *name): 
  AliAnalysisTask(name,""), 
  fESD(0),
  fMC(0),
  fStack(0),
  fVtx(0x0),
  fTrackCuts(),
  fTrackCutsReject(),
  fTrackType(0),
  fSigmaConstrainedMax(1e6),
  fPtMax(100.),
  fAvgTrials(1),
  fNEventAll(0),
  fNEventSel(0),
  fNEventReject(0),
  fh1Xsec(0),
  fh1Trials(0),
  fh1PtHard(0),
  fh1PtHardTrials(0),
  fPtAll(0),
  fPtSel(0),
  fPtSelFakes(0),
  fNPointTPCFakes(0),
  fPtSelLargeLabel(0),
  fMultRec(0),
  fNPointTPCMultRec(0),
  fDeltaPtMultRec(0),
  fPtAllvsPtMC(0),
  fPtAllminPtMCvsPtMC(0),
  fPtAllminPtMCvsPtAll(0),
  fPtAllvsPtMCvsMult(0),
  fPtAllminPtMCvsPtAllvsMult(0),
  fPtAllminPtMCvsPtAllNPointTPC(0),
  fPtAllminPtMCvsPtAllNPointTPCIter1(0),
  fPtAllminPtMCvsPtAllChi2TPC(0),
  fPtAllminPtMCvsPtAllChi2TPCIter1(0),
  fPtAllminPtMCvsPtAllDCAR(0),
  fPtAllminPtMCvsPtAllDCAZ(0),
  fPtAllminPtMCvsPtAllPhi(0),
  fPtAllminPtMCvsPtAllNPointITS(0),
  fPtAllminPtMCvsPtAllNSigmaToVertex(0),
  fPtAllminPtMCvsPtAllChi2C(0),
  fPtAllminPtMCvsPtAllRel1PtUncertainty(0),
  fPtAllMC(0),
  fPtSelMC(0),
  fHistList(0)
{
  //
  // Constructor. Initialization of Inputs and Outputs
  //
  AliDebug(2,Form("AliPWG4HighPtQAMC Calling Constructor"));

  fPtBinEdges[0][0] = 10.;
  fPtBinEdges[0][1] = 1.;
  fPtBinEdges[1][0] = 20.;
  fPtBinEdges[1][1] = 2.;
  fPtBinEdges[2][0] = 100.;
  fPtBinEdges[2][1] = 10.;

  // Input slot #0 works with a TChain ESD
  DefineInput(0, TChain::Class());
  // Output slot #0, #1 write into a TList
  DefineOutput(0, TList::Class());
}

//________________________________________________________________________
void AliPWG4HighPtQAMC::SetPtBinEdges(Int_t region, Double_t ptmax, Double_t ptBinWidth) {

  if(region<3) {
    fPtBinEdges[region][0] = ptmax;
    fPtBinEdges[region][1] = ptBinWidth;
  }
  else {
    AliError("Only 3 regions alowed. Use region 0/1/2\n");
    return;
  }

}

//________________________________________________________________________
void AliPWG4HighPtQAMC::ConnectInputData(Option_t *) 
{
  // Connect ESD and MC event handler here
  // Called once
  AliDebug(2,Form(">> AliPWG4HighPtSpectra::ConnectInputData \n"));
  TTree* tree = dynamic_cast<TTree*> (GetInputData(0));
  if (!tree) {
    AliDebug(2,Form( "ERROR: Could not read chain from input slot 0 \n"));
    return;
  }

  AliESDInputHandler *esdH = dynamic_cast<AliESDInputHandler*> (AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler());

  if (!esdH) {
    AliDebug(2,Form("ERROR: Could not get ESDInputHandler"));
    return;
  } else
    fESD = esdH->GetEvent();
  
  AliMCEventHandler *eventHandler = dynamic_cast<AliMCEventHandler*> (AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler());
  if (!eventHandler) {
    AliDebug(2,Form( "ERROR: Could not retrieve MC event handler \n"));
  }
  else
    fMC = eventHandler->MCEvent();

}


//________________________________________________________________________
void AliPWG4HighPtQAMC::CreateOutputObjects() {
  //Create output objects
  AliDebug(2,Form(">> AliPWG4HighPtQATPConly::CreateOutputObjects \n"));

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

  OpenFile(0);
  fHistList = new TList();
  fHistList->SetOwner(kTRUE);

  Float_t fgkPtMin = 0.;

  //fPtBinEdges[region][0] = ptmax of region ; fPtBinEdges[region][1] = binWidth of region
  const Float_t ptmin1 =  fgkPtMin;
  const Float_t ptmax1 =  fPtBinEdges[0][0];
  const Float_t ptmin2 =  ptmax1 ;
  const Float_t ptmax2 =  fPtBinEdges[1][0];
  const Float_t ptmin3 =  ptmax2 ;
  const Float_t ptmax3 =  fPtBinEdges[2][0];//fgkPtMax;
  const Int_t nbin11 = (int)((ptmax1-ptmin1)/fPtBinEdges[0][1]);
  const Int_t nbin12 = (int)((ptmax2-ptmin2)/fPtBinEdges[1][1])+nbin11;
  const Int_t nbin13 = (int)((ptmax3-ptmin3)/fPtBinEdges[2][1])+nbin12;
  Int_t fgkNPtBins=nbin13;
  //Create array with low edges of each bin
  Double_t *binsPt=new Double_t[fgkNPtBins+1];
  for(Int_t i=0; i<=fgkNPtBins; i++) {
    if(i<=nbin11) binsPt[i]=(Double_t)ptmin1 + (ptmax1-ptmin1)/nbin11*(Double_t)i ;
    if(i<=nbin12 && i>nbin11) binsPt[i]=(Double_t)ptmin2 + (ptmax2-ptmin2)/(nbin12-nbin11)*((Double_t)i-(Double_t)nbin11) ;
    if(i<=nbin13 && i>nbin12) binsPt[i]=(Double_t)ptmin3 + (ptmax3-ptmin3)/(nbin13-nbin12)*((Double_t)i-(Double_t)nbin12) ;
  }

  Int_t fgkNPhiBins = 18*6;
  Float_t kMinPhi   = 0.;
  Float_t kMaxPhi   = 2.*TMath::Pi();
  Double_t *binsPhi = new Double_t[fgkNPhiBins+1];
  for(Int_t i=0; i<=fgkNPhiBins; i++) binsPhi[i]=(Double_t)kMinPhi + (kMaxPhi-kMinPhi)/fgkNPhiBins*(Double_t)i ;

  Int_t fgkResPtBins=80;
  Float_t kMinResPt = -1.;
  Float_t kMaxResPt = 1.;
  Double_t *binsResPt = new Double_t[fgkResPtBins+1];
  for(Int_t i=0; i<=fgkResPtBins; i++) binsResPt[i]=(Double_t)kMinResPt + (kMaxResPt-kMinResPt)/fgkResPtBins*(Double_t)i ;

  Int_t fgkMultBins=50;
  Float_t kMinMult = 0.;
  Float_t kMaxMult = 3000.;
  Double_t *binsMult = new Double_t[fgkMultBins+1];
  for(Int_t i=0; i<=fgkMultBins; i++) binsMult[i]=(Double_t)kMinMult + (kMaxMult-kMinMult)/fgkMultBins*(Double_t)i ;

  Int_t fgkNEtaBins=20;
  Float_t fgkEtaMin = -1.;
  Float_t fgkEtaMax = 1.;
  Double_t *binsEta=new Double_t[fgkNEtaBins+1];
  for(Int_t i=0; i<=fgkNEtaBins; i++) binsEta[i]=(Double_t)fgkEtaMin + (fgkEtaMax-fgkEtaMin)/fgkNEtaBins*(Double_t)i ;

  Int_t fgkNNClustersTPCBins=80;
  Float_t fgkNClustersTPCMin = 0.5;
  Float_t fgkNClustersTPCMax = 160.5;
  Double_t *binsNClustersTPC=new Double_t[fgkNNClustersTPCBins+1];
  for(Int_t i=0; i<=fgkNNClustersTPCBins; i++) binsNClustersTPC[i]=(Double_t)fgkNClustersTPCMin + (fgkNClustersTPCMax-fgkNClustersTPCMin)/fgkNNClustersTPCBins*(Double_t)i ;

  Int_t fgkNDCA2DBins=80;
  Float_t fgkDCA2DMin = -0.2;
  Float_t fgkDCA2DMax = 0.2;
  if(fTrackType==1 || fTrackType==2 || fTrackType==4) {
    fgkDCA2DMin = -2.;
    fgkDCA2DMax = 2.;
  }
  Double_t *binsDCA2D=new Double_t[fgkNDCA2DBins+1];
  for(Int_t i=0; i<=fgkNDCA2DBins; i++) binsDCA2D[i]=(Double_t)fgkDCA2DMin + (fgkDCA2DMax-fgkDCA2DMin)/fgkNDCA2DBins*(Double_t)i ;

  Int_t fgkNDCAZBins=80;
  Float_t fgkDCAZMin = -2.;
  Float_t fgkDCAZMax = 2.;
  if(fTrackType==1 || fTrackType==2 || fTrackType==4) {
    fgkDCAZMin = -5.;
    fgkDCAZMax = 5.;
  }
  Double_t *binsDCAZ=new Double_t[fgkNDCAZBins+1];
  for(Int_t i=0; i<=fgkNDCAZBins; i++) binsDCAZ[i]=(Double_t)fgkDCAZMin + (fgkDCAZMax-fgkDCAZMin)/fgkNDCAZBins*(Double_t)i ;

 Int_t fgkNNPointITSBins=9;
  Float_t fgkNPointITSMin = -0.5;
  Float_t fgkNPointITSMax = 8.5;
  Double_t *binsNPointITS=new Double_t[fgkNNPointITSBins+1];
  for(Int_t i=0; i<=fgkNNPointITSBins; i++) binsNPointITS[i]=(Double_t)fgkNPointITSMin + (fgkNPointITSMax-fgkNPointITSMin)/fgkNNPointITSBins*(Double_t)i ;

  Int_t fgkNNSigmaToVertexBins=20;
  Float_t fgkNSigmaToVertexMin = 0.;
  Float_t fgkNSigmaToVertexMax = 8.;
  Double_t *binsNSigmaToVertex=new Double_t[fgkNNSigmaToVertexBins+1];
  for(Int_t i=0; i<=fgkNNSigmaToVertexBins; i++) binsNSigmaToVertex[i]=(Double_t)fgkNSigmaToVertexMin + (fgkNSigmaToVertexMax-fgkNSigmaToVertexMin)/fgkNNSigmaToVertexBins*(Double_t)i ;

  Int_t fgkNChi2CBins=20;
  Float_t fgkChi2CMin = 0.;
  Float_t fgkChi2CMax = 100.;
  Double_t *binsChi2C=new Double_t[fgkNChi2CBins+1];
  for(Int_t i=0; i<=fgkNChi2CBins; i++) binsChi2C[i]=(Double_t)fgkChi2CMin + (fgkChi2CMax-fgkChi2CMin)/fgkNChi2CBins*(Double_t)i ;

  Int_t fgkNRel1PtUncertaintyBins=50;
  Float_t fgkRel1PtUncertaintyMin = 0.;
  Float_t fgkRel1PtUncertaintyMax = 1.;
  Double_t *binsRel1PtUncertainty=new Double_t[fgkNRel1PtUncertaintyBins+1];
  for(Int_t i=0; i<=fgkNRel1PtUncertaintyBins; i++) binsRel1PtUncertainty[i]=(Double_t)fgkRel1PtUncertaintyMin + (fgkRel1PtUncertaintyMax-fgkRel1PtUncertaintyMin)/fgkNRel1PtUncertaintyBins*(Double_t)i ;

  Float_t fgkChi2PerClusMin = 0.;
  Float_t fgkChi2PerClusMax = 4.;
  Int_t fgkNChi2PerClusBins = (int)(fgkChi2PerClusMax*10.);
  Double_t *binsChi2PerClus=new Double_t[fgkNChi2PerClusBins+1];
  for(Int_t i=0; i<=fgkNChi2PerClusBins; i++) binsChi2PerClus[i]=(Double_t)fgkChi2PerClusMin + (fgkChi2PerClusMax-fgkChi2PerClusMin)/fgkNChi2PerClusBins*(Double_t)i ;


  fNEventAll = new TH1F("fNEventAll","NEventAll",1,-0.5,0.5);
  fHistList->Add(fNEventAll);
  fNEventSel = new TH1F("fNEventSel","NEvent Selected for analysis",1,-0.5,0.5);
  fHistList->Add(fNEventSel);
  fNEventReject = new TH1F("fNEventReject","Reason events are rejectected for analysis",20,0,20);
  //Set labels
  fNEventReject->Fill("noESD",0);
  fNEventReject->Fill("Trigger",0);
  fNEventReject->Fill("noMCEvent",0);
  fNEventReject->Fill("noStack",0);
  fNEventReject->Fill("NTracks<2",0);
  fNEventReject->Fill("noVTX",0);
  fNEventReject->Fill("VtxStatus",0);
  fNEventReject->Fill("NCont<2",0);
  fNEventReject->Fill("ZVTX>10",0);
  fHistList->Add(fNEventReject);

  fh1Xsec = new TProfile("fh1Xsec","xsec from pyxsec.root",1,0,1);
  fh1Xsec->GetXaxis()->SetBinLabel(1,"<#sigma>");
  fHistList->Add(fh1Xsec);

  fh1Trials = new TH1F("fh1Trials","trials root file",1,0,1);
  fh1Trials->GetXaxis()->SetBinLabel(1,"#sum{ntrials}");
  fHistList->Add(fh1Trials);

  fh1PtHard       = new TH1F("fh1PtHard","PYTHIA Pt hard;p_{T,hard}",350,-.5,349.5);
  fHistList->Add(fh1PtHard);
  fh1PtHardTrials = new TH1F("fh1PtHardTrials","PYTHIA Pt hard weight with trials;p_{T,hard}",350,-.5,349.5);
  fHistList->Add(fh1PtHardTrials);

  fPtAll = new TH1F("fPtAll","PtAll",fgkNPtBins, binsPt);
  fHistList->Add(fPtAll);
  fPtSel = new TH1F("fPtSel","PtSel",fgkNPtBins, binsPt);
  fHistList->Add(fPtSel);

  fPtSelFakes = new TH1F("fPtSelFakes","PtSelFakes",fgkNPtBins, binsPt);
  fHistList->Add(fPtSelFakes);

  fNPointTPCFakes = new TH1F("fNPointTPCFakes","fNPointTPCFakes",fgkNNClustersTPCBins, binsNClustersTPC);
  fHistList->Add(fNPointTPCFakes);

  fPtSelLargeLabel = new TH1F("fPtSelLargeLabel","PtSelLargeLabel",fgkNPtBins, binsPt);
  fHistList->Add(fPtSelLargeLabel);

  fMultRec = new TH1F("fMultRec","Multiple reconstruction of tracks",fgkMultBins, binsMult);
  fHistList->Add(fMultRec);

  fNPointTPCMultRec = new TH1F("fNPointTPCMultRec","Multiple reconstruction of tracks",fgkNNClustersTPCBins, binsNClustersTPC);
  fHistList->Add(fNPointTPCMultRec);

  fDeltaPtMultRec = new TH2F("fDeltaPtMultRec","Delta pT vs pT for multiple reconstructed tracks",50,0.,50.,40,-20.,20.);
  fHistList->Add(fDeltaPtMultRec);

  fPtAllvsPtMC = new TH2F("fPtAllvsPtMC","fPtAllvsPtMC;p_{T,MC};p_{T,rec}",fgkNPtBins, binsPt,fgkNPtBins, binsPt);
  fHistList->Add(fPtAllvsPtMC);

  fPtAllminPtMCvsPtMC = new TH2F("fPtAllminPtMCvsPtMC","PtAllminPtMCvsPtMC",fgkNPtBins, binsPt,fgkResPtBins,binsResPt);
  fPtAllminPtMCvsPtMC->SetXTitle("p_{t}^{MC}");
  fPtAllminPtMCvsPtMC->SetYTitle("(1/p_{t}^{rec}-1/p_{t}^{MC})/(1/p_{t}^{MC})");
  fHistList->Add(fPtAllminPtMCvsPtMC);

  fPtAllminPtMCvsPtAll = new TH2F("fPtAllminPtMCvsPtAll","PtAllminPtMCvsPtAll",fgkNPtBins, binsPt,fgkResPtBins,binsResPt);
  fPtAllminPtMCvsPtAll->SetXTitle("p_{t}^{rec}");
  fPtAllminPtMCvsPtAll->SetYTitle("(1/p_{t}^{rec}-1/p_{t}^{MC})/(1/p_{t}^{MC})");
  fHistList->Add(fPtAllminPtMCvsPtAll);

  fPtAllvsPtMCvsMult = new TH3F("fPtAllvsPtMCvsMult","fPtAllvsPtMCvsMult;p_{T,MC};p_{T,rec};N_{tracks}",fgkNPtBins, binsPt,fgkNPtBins, binsPt,fgkMultBins,binsMult);
  fHistList->Add(fPtAllvsPtMCvsMult);

  fPtAllminPtMCvsPtAllvsMult = new TH3F("fPtAllminPtMCvsPtAllvsMult","fPtAllminPtMCvsPtAllvsMult",fgkNPtBins, binsPt,fgkResPtBins,binsResPt,fgkMultBins,binsMult);
  fPtAllminPtMCvsPtAllvsMult->SetXTitle("p_{t}^{MC}");
  fPtAllminPtMCvsPtAllvsMult->SetYTitle("(1/p_{t}^{All}-1/p_{t}^{MC})/(1/p_{t}^{MC})");
  fPtAllminPtMCvsPtAllvsMult->SetZTitle("N_{tracks}");
  fHistList->Add(fPtAllminPtMCvsPtAllvsMult);
  
  fPtAllminPtMCvsPtAllNPointTPC = new TH3F("fPtAllminPtMCvsPtAllNPointTPC","PtAllminPtMCvsPtAllNPointTPC",fgkNPtBins, binsPt,fgkResPtBins,binsResPt,fgkNNClustersTPCBins, binsNClustersTPC);
  fPtAllminPtMCvsPtAllNPointTPC->SetXTitle("p_{t}^{MC}");
  fPtAllminPtMCvsPtAllNPointTPC->SetYTitle("(1/p_{t}^{All}-1/p_{t}^{MC})/(1/p_{t}^{MC})");
  fPtAllminPtMCvsPtAllNPointTPC->SetZTitle("N_{cls,TPC}");
  fHistList->Add(fPtAllminPtMCvsPtAllNPointTPC);

  fPtAllminPtMCvsPtAllNPointTPCIter1 = new TH3F("fPtAllminPtMCvsPtAllNPointTPCIter1","PtAllminPtMCvsPtAllNPointTPCIter1",fgkNPtBins, binsPt,fgkResPtBins,binsResPt,fgkNNClustersTPCBins, binsNClustersTPC);
  fPtAllminPtMCvsPtAllNPointTPCIter1->SetXTitle("p_{t}^{MC}");
  fPtAllminPtMCvsPtAllNPointTPCIter1->SetYTitle("(1/p_{t}^{All}-1/p_{t}^{MC})/(1/p_{t}^{MC})");
  fPtAllminPtMCvsPtAllNPointTPCIter1->SetZTitle("N_{clsIter1,TPC}");
  fHistList->Add(fPtAllminPtMCvsPtAllNPointTPCIter1);

  fPtAllminPtMCvsPtAllChi2TPC = new TH3F("fPtAllminPtMCvsPtAllChi2TPC","PtAllminPtMCvsPtAllChi2TPC",fgkNPtBins, binsPt,fgkResPtBins,binsResPt,fgkNChi2PerClusBins, binsChi2PerClus);
  fPtAllminPtMCvsPtAllChi2TPC->SetXTitle("p_{t}^{MC}");
  fPtAllminPtMCvsPtAllChi2TPC->SetYTitle("(1/p_{t}^{All}-1/p_{t}^{MC})/(1/p_{t}^{MC})");
  fPtAllminPtMCvsPtAllChi2TPC->SetZTitle("#chi^{2} TPC");
  fHistList->Add(fPtAllminPtMCvsPtAllChi2TPC);

  fPtAllminPtMCvsPtAllChi2TPCIter1 = new TH3F("fPtAllminPtMCvsPtAllChi2TPCIter1","PtAllminPtMCvsPtAllChi2TPCIter1",fgkNPtBins, binsPt,fgkResPtBins,binsResPt,fgkNChi2PerClusBins, binsChi2PerClus);
  fPtAllminPtMCvsPtAllChi2TPCIter1->SetXTitle("p_{t}^{MC}");
  fPtAllminPtMCvsPtAllChi2TPCIter1->SetYTitle("(1/p_{t}^{All}-1/p_{t}^{MC})/(1/p_{t}^{MC})");
  fPtAllminPtMCvsPtAllChi2TPCIter1->SetZTitle("#chi^{2} TPC Iter1");
  fHistList->Add(fPtAllminPtMCvsPtAllChi2TPCIter1);

  fPtAllminPtMCvsPtAllDCAR = new TH3F("fPtAllminPtMCvsPtAllDCAR","PtAllminPtMCvsPtAllDCAR",fgkNPtBins, binsPt,fgkResPtBins,binsResPt,fgkNDCA2DBins,binsDCA2D);
  fPtAllminPtMCvsPtAllDCAR->SetXTitle("p_{t}^{MC}");
  fPtAllminPtMCvsPtAllDCAR->SetYTitle("(1/p_{t}^{All}-1/p_{t}^{MC})/(1/p_{t}^{MC})");
  fPtAllminPtMCvsPtAllDCAR->SetZTitle("DCA_{R}");
  fHistList->Add(fPtAllminPtMCvsPtAllDCAR);

  fPtAllminPtMCvsPtAllDCAZ = new TH3F("fPtAllminPtMCvsPtAllDCAZ","PtAllminPtMCvsPtAllDCAZ",fgkNPtBins, binsPt,fgkResPtBins,binsResPt,fgkNDCAZBins,binsDCAZ);
  fPtAllminPtMCvsPtAllDCAZ->SetXTitle("p_{t}^{MC}");
  fPtAllminPtMCvsPtAllDCAZ->SetYTitle("(1/p_{t}^{All}-1/p_{t}^{MC})/(1/p_{t}^{MC})");
  fPtAllminPtMCvsPtAllDCAZ->SetZTitle("DCA_{Z}");
  fHistList->Add(fPtAllminPtMCvsPtAllDCAZ);

  fPtAllminPtMCvsPtAllPhi = new TH3F("fPtAllminPtMCvsPtAllPhi","PtAllminPtMCvsPtAllPhi",fgkNPtBins, binsPt,fgkResPtBins,binsResPt,fgkNPhiBins,binsPhi);
  fPtAllminPtMCvsPtAllPhi->SetXTitle("p_{t}^{MC}");
  fPtAllminPtMCvsPtAllPhi->SetYTitle("(1/p_{t}^{All}-1/p_{t}^{MC})/(1/p_{t}^{MC})");
  fPtAllminPtMCvsPtAllPhi->SetZTitle("#phi");
  fHistList->Add(fPtAllminPtMCvsPtAllPhi);

  fPtAllminPtMCvsPtAllNPointITS = new TH3F("fPtAllminPtMCvsPtAllNPointITS","PtAllminPtMCvsPtAllNPointITS",fgkNPtBins, binsPt,fgkResPtBins,binsResPt,fgkNNPointITSBins,binsNPointITS);
  fPtAllminPtMCvsPtAllNPointITS->SetXTitle("p_{t}^{MC}");
  fPtAllminPtMCvsPtAllNPointITS->SetYTitle("(1/p_{t}^{All}-1/p_{t}^{MC})/(1/p_{t}^{MC})");
  fPtAllminPtMCvsPtAllNPointITS->SetZTitle("N_{point,ITS}}");
  fHistList->Add(fPtAllminPtMCvsPtAllNPointITS);
  
  fPtAllminPtMCvsPtAllNSigmaToVertex = new TH3F("fPtAllminPtMCvsPtAllNSigmaToVertex","PtAllminPtMCvsPtAllNSigmaToVertex",fgkNPtBins, binsPt,fgkResPtBins,binsResPt,fgkNNSigmaToVertexBins,binsNSigmaToVertex);
  fPtAllminPtMCvsPtAllNSigmaToVertex->SetXTitle("p_{t}^{MC}");
  fPtAllminPtMCvsPtAllNSigmaToVertex->SetYTitle("(1/p_{t}^{All}-1/p_{t}^{MC})/(1/p_{t}^{MC})");
  fPtAllminPtMCvsPtAllNSigmaToVertex->SetZTitle("N#sigma to vertex");
  fHistList->Add(fPtAllminPtMCvsPtAllNSigmaToVertex);

  fPtAllminPtMCvsPtAllChi2C = new TH3F("fPtAllminPtMCvsPtAllChi2C","PtAllminPtMCvsPtAllChi2C",fgkNPtBins, binsPt,fgkResPtBins,binsResPt,fgkNChi2CBins,binsChi2C);
  fPtAllminPtMCvsPtAllChi2C->SetXTitle("p_{t}^{MC}");
  fPtAllminPtMCvsPtAllChi2C->SetYTitle("(1/p_{t}^{All}-1/p_{t}^{MC})/(1/p_{t}^{MC})");
  fPtAllminPtMCvsPtAllChi2C->SetZTitle("Constrained #chi^{2}");
  fHistList->Add(fPtAllminPtMCvsPtAllChi2C);

  fPtAllminPtMCvsPtAllRel1PtUncertainty = new TH3F("fPtAllminPtMCvsPtAllRel1PtUncertainty","PtAllminPtMCvsPtAllRel1PtUncertainty",fgkNPtBins, binsPt,fgkResPtBins,binsResPt,fgkNRel1PtUncertaintyBins,binsRel1PtUncertainty);
  fPtAllminPtMCvsPtAllRel1PtUncertainty->SetXTitle("p_{t}^{MC}");
  fPtAllminPtMCvsPtAllRel1PtUncertainty->SetYTitle("(1/p_{t}^{All}-1/p_{t}^{MC})/(1/p_{t}^{MC})");
  fPtAllminPtMCvsPtAllRel1PtUncertainty->SetZTitle("Rel1PtUncertainty");
  fHistList->Add(fPtAllminPtMCvsPtAllRel1PtUncertainty);


  fPtAllMC = new TH1F("fPtAllMC","PtAll",fgkNPtBins, binsPt);
  fHistList->Add(fPtAllMC);
  fPtSelMC = new TH1F("fPtSelMC","PtSel",fgkNPtBins, binsPt);
  fHistList->Add(fPtSelMC);

  TH1::AddDirectory(oldStatus); 

  PostData(0, fHistList);

  if(binsPt)                delete [] binsPt;
  if(binsResPt)             delete [] binsResPt;
  if(binsPhi)               delete [] binsPhi;
  if(binsNClustersTPC)      delete [] binsNClustersTPC;
  if(binsDCA2D)             delete [] binsDCA2D;
  if(binsDCAZ)              delete [] binsDCAZ;
  if(binsNPointITS)         delete [] binsNPointITS;
  if(binsNSigmaToVertex)    delete [] binsNSigmaToVertex;
  if(binsChi2C)             delete [] binsChi2C;
  if(binsEta)               delete [] binsEta;
  if(binsRel1PtUncertainty) delete [] binsRel1PtUncertainty;
  if(binsChi2PerClus)       delete [] binsChi2PerClus;
  if(binsMult)              delete [] binsMult;
  
}

//________________________________________________________________________
Bool_t AliPWG4HighPtQAMC::SelectEvent() {
  //
  // Decide if event should be selected for analysis
  //

  // Checks following requirements:
  // - fESD available
  // - trigger info from AliPhysicsSelection
  // - MCevent available
  // - number of reconstructed tracks > 1
  // - primary vertex reconstructed
  // - z-vertex < 10 cm

  Bool_t selectEvent = kTRUE;

  //fESD object available?
  if (!fESD) {
    AliDebug(2,Form("ERROR: fInputEvent not available\n"));
    fNEventReject->Fill("noESD",1);
    selectEvent = kFALSE;
    return selectEvent;
  }

  //Trigger
  UInt_t isSelected = ((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected();
  if(!(isSelected&AliVEvent::kMB)) { //Select collison candidates
    AliDebug(2,Form(" Trigger Selection: event REJECTED ... "));
    fNEventReject->Fill("Trigger",1);
    selectEvent = kFALSE;
    return selectEvent;
  }

  //MCEvent available?
  //if yes: get stack
  if(fMC) {
    AliDebug(2,Form("MC particles: %d", fMC->GetNumberOfTracks()));
    fStack = fMC->Stack();                //Particles Stack
    if(fStack) { 
      AliDebug(2,Form("MC particles stack: %d", fStack->GetNtrack()));
    }
    else {
      AliDebug(2,Form("ERROR: Could not retrieve MC eventHandler"));
      fNEventReject->Fill("noStack",1);
      selectEvent = kFALSE;
      return selectEvent;
    }
  } else {
    AliDebug(2,Form("ERROR: Could not retrieve stack"));
    fNEventReject->Fill("noMCEvent",1);
    selectEvent = kFALSE;
    return selectEvent;
  }

  //Check if number of reconstructed tracks is larger than 1
  if(!fESD->GetNumberOfTracks() || fESD->GetNumberOfTracks()<2)  {
    fNEventReject->Fill("NTracks<2",1);
    selectEvent = kFALSE;
    return selectEvent;
  }

  //Check if vertex is reconstructed
  if(fTrackType==1) fVtx = fESD->GetPrimaryVertexTPC();
  else              fVtx = fESD->GetPrimaryVertexSPD();

  if(!fVtx) {
    fNEventReject->Fill("noVTX",1);
    selectEvent = kFALSE;
    return selectEvent;
  }
   
  if(!fVtx->GetStatus()) {
    fNEventReject->Fill("VtxStatus",1);
    selectEvent = kFALSE;
    return selectEvent;
  }
  
  // Need vertex cut
  //  TString vtxName(fVtx->GetName());
  if(fVtx->GetNContributors()<2) {
    fNEventReject->Fill("NCont<2",1);
    selectEvent = kFALSE;
    return selectEvent;
  }
  
  //Check if z-vertex < 10 cm
  double primVtx[3];
  fVtx->GetXYZ(primVtx);
  if(TMath::Sqrt(primVtx[0]*primVtx[0] + primVtx[1]*primVtx[1])>1. || TMath::Abs(primVtx[2]>10.)){
    fNEventReject->Fill("ZVTX>10",1);
    selectEvent = kFALSE;
    return selectEvent;
  }

  AliDebug(2,Form("Vertex title %s, status %d, nCont %d\n",fVtx->GetTitle(), fVtx->GetStatus(), fVtx->GetNContributors()));

  return selectEvent;

}

//________________________________________________________________________
void AliPWG4HighPtQAMC::Exec(Option_t *) {  
  // Main loop
  // Called for each event
  AliDebug(2,Form(">> AliPWG4HighPtQATPConly::Exec \n"));  
  // All events without selection
  fNEventAll->Fill(0.);

  if(!SelectEvent()) {
    // Post output data
    PostData(0, fHistList);
    return;
  }

  // ---- Get MC Header information (for MC productions in pThard bins) ----
  Double_t ptHard = 0.;
  Double_t nTrials = 1; // trials for MC trigger weight for real data
  
  if(fMC){
    AliGenPythiaEventHeader*  pythiaGenHeader = GetPythiaEventHeader(fMC);
     if(pythiaGenHeader){
       nTrials = pythiaGenHeader->Trials();
       ptHard  = pythiaGenHeader->GetPtHard();
       
       fh1PtHard->Fill(ptHard);
       fh1PtHardTrials->Fill(ptHard,nTrials);
       
       fh1Trials->Fill("#sum{ntrials}",fAvgTrials);
     }
  }

  //Need to keep track of selected events
  fNEventSel->Fill(0.);

  Int_t nTracks = fESD->GetNumberOfTracks();
  AliDebug(2,Form("nTracks ESD%d", nTracks));

  int nMCtracks = fStack->GetNtrack();

  Float_t pt      = 0.;
  Float_t ptMC    = 0.;
  Float_t phi     = 0.;
  Float_t dca2D   = 0.;
  Float_t dcaZ    = 0.;
  Int_t nPointITS = 0;
  Float_t chi2C   = 0.;
  Float_t nSigmaToVertex    = 0.;
  Float_t relUncertainty1Pt = 0.;

  int mult = fTrackCuts->CountAcceptedTracks(fESD);

  for (Int_t iTrack = 0; iTrack < nTracks; iTrack++) {
    
    AliESDtrack *track = 0;
    AliESDtrack *esdtrack = fESD->GetTrack(iTrack);
    if(!esdtrack) continue;

    if(fTrackType==1) {
      track = AliESDtrackCuts::GetTPCOnlyTrack(fESD,esdtrack->GetID());
      if(!track) continue;
    }
    else if(fTrackType==2) {
      track = AliESDtrackCuts::GetTPCOnlyTrack(fESD,esdtrack->GetID());
      if(!track) continue;
      
      AliExternalTrackParam exParam;
      Bool_t relate = track->RelateToVertexTPC(fVtx,fESD->GetMagneticField(),kVeryBig,&exParam);
      if( !relate ) {
	delete track;
	continue;
      }
      track->Set(exParam.GetX(),exParam.GetAlpha(),exParam.GetParameter(),exParam.GetCovariance());
    }
    else if(fTrackType==7) {
      //use global constrained track
      track = new AliESDtrack(*esdtrack);
      //      track = esdtrack;
      //      track->Set(esdtrack->GetConstrainedParam()->GetX(),esdtrack->GetConstrainedParam()->GetAlpha(),esdtrack->GetConstrainedParam()->GetParameter(),esdtrack->GetConstrainedParam()->GetCovariance());
    }
    else
      track = esdtrack;

    if(!track) continue;
    
    if(fTrackType==2) {
      //Cut on chi2 of constrained fit
      if(track->GetConstrainedChi2TPC() > fSigmaConstrainedMax*fSigmaConstrainedMax) {
	delete track;
	continue;
      }
    }

    Int_t label = TMath::Abs(track->GetLabel());
    if(label>=nMCtracks) {
      if (fTrackCuts->AcceptTrack(track)) { fPtSelLargeLabel->Fill(pt); }
      if(fTrackType==1 || fTrackType==2 || fTrackType==7) delete track;
      continue;
    }

    TParticle *particle = fStack->Particle(label) ;
    if(!particle) {
      if(fTrackType==1 || fTrackType==2 || fTrackType==7) {
	if(track) delete track;
      }
      continue;
    }

    ptMC = particle->Pt();

    if(fTrackType==1 || fTrackType==2) 
      track->GetImpactParametersTPC(dca2D,dcaZ);  //TPConly
    else
      track->GetImpactParameters(dca2D,dcaZ);     //Global
    
    UChar_t itsMap = track->GetITSClusterMap();
    for (Int_t i=0; i < 6; i++) {
      if (itsMap & (1 << i))
	nPointITS ++;
    }
    
    //    fPtAll->Fill(pt);
    fPtAllMC->Fill(ptMC);

    if (fTrackCuts->AcceptTrack(track)) {

      if(fTrackType==7) {
	if(fTrackCutsReject ) {
	  if(fTrackCutsReject->AcceptTrack(track) ) {
	    if(track) delete track;
	    continue;
	  }
	}
	
	if(esdtrack->GetConstrainedParam()) 
	  track->Set(esdtrack->GetConstrainedParam()->GetX(),esdtrack->GetConstrainedParam()->GetAlpha(),esdtrack->GetConstrainedParam()->GetParameter(),esdtrack->GetConstrainedParam()->GetCovariance());
      }

      pt  = track->Pt();
      phi = track->Phi();

      nSigmaToVertex = fTrackCuts->GetSigmaToVertex(track);// Calculates the number of sigma to the vertex for a track.
      chi2C = track->GetConstrainedChi2();
      relUncertainty1Pt = TMath::Sqrt(track->GetSigma1Pt2())*pt;

      fPtSel->Fill(pt);
      if(track->GetLabel()<0) {
        fPtSelFakes->Fill(pt);
        fNPointTPCFakes->Fill(track->GetTPCNcls());
      }
      fPtSelMC->Fill(ptMC);
      fPtAllvsPtMC->Fill(ptMC,pt);
      fPtAllminPtMCvsPtMC->Fill(ptMC,(1./pt-1./ptMC)/(1./ptMC) );
      fPtAllminPtMCvsPtAll->Fill(pt,(1./pt-1./ptMC)/(1./ptMC) );
      fPtAllminPtMCvsPtAllNPointTPC->Fill(ptMC,(1./pt-1./ptMC)/(1./ptMC),track->GetTPCNcls());
      fPtAllminPtMCvsPtAllNPointTPCIter1->Fill(ptMC,(1./pt-1./ptMC)/(1./ptMC),track->GetTPCNclsIter1());
      if(track->GetTPCNcls()>0.) 
	fPtAllminPtMCvsPtAllChi2TPC->Fill(ptMC,(1./pt-1./ptMC)/(1./ptMC),track->GetTPCchi2()/track->GetTPCNcls());
      if(track->GetTPCNclsIter1()>0.) 
	fPtAllminPtMCvsPtAllChi2TPCIter1->Fill(ptMC,(1./pt-1./ptMC)/(1./ptMC),track->GetTPCchi2Iter1()/track->GetTPCNclsIter1());
      fPtAllminPtMCvsPtAllDCAR->Fill(ptMC,(1./pt-1./ptMC)/(1./ptMC),dca2D);
      fPtAllminPtMCvsPtAllDCAZ->Fill(ptMC,(1./pt-1./ptMC)/(1./ptMC),dcaZ);
      fPtAllminPtMCvsPtAllPhi->Fill(ptMC,(1./pt-1./ptMC)/(1./ptMC),phi);
      fPtAllminPtMCvsPtAllNPointITS->Fill(ptMC,(1./pt-1./ptMC)/(1./ptMC),nPointITS);
      fPtAllminPtMCvsPtAllNSigmaToVertex->Fill(ptMC,(1./pt-1./ptMC)/(1./ptMC),nSigmaToVertex);
      fPtAllminPtMCvsPtAllChi2C->Fill(ptMC,(1./pt-1./ptMC)/(1./ptMC),chi2C);
      fPtAllminPtMCvsPtAllRel1PtUncertainty->Fill(ptMC,(1./pt-1./ptMC)/(1./ptMC),relUncertainty1Pt);

      fPtAllvsPtMCvsMult->Fill(ptMC,pt,mult);
      fPtAllminPtMCvsPtAllvsMult->Fill(ptMC,(1./pt-1./ptMC)/(1./ptMC), mult);

      //Check if track is reconstructed multiple times
      /*
      int multCounter = 1;
      for (Int_t iTrack2 = iTrack+1; iTrack2 < nTracks; iTrack2++) {
	//   AliESDtrack *track2 = GetTrackForAnalysis(iTrack2);
	AliESDtrack *track2;
	AliESDtrack *esdtrack2 = fESD->GetTrack(iTrack2);
	if(!esdtrack2) continue;
      
	if(fTrackType==1)
	  track2 = AliESDtrackCuts::GetTPCOnlyTrack(fESD,esdtrack2->GetID());
	else if(fTrackType==2) {
	  track2 = AliESDtrackCuts::GetTPCOnlyTrack(fESD,esdtrack2->GetID());
	  if(!track2) { 
	    continue;
	  }
	  AliExternalTrackParam exParam2;
	  Bool_t relate = track2->RelateToVertexTPC(fVtx,fESD->GetMagneticField(),kVeryBig,&exParam2);
	  if( !relate ) {
	    delete track2;
	    continue;
	  }
	  track2->Set(exParam2.GetX(),exParam2.GetAlpha(),exParam2.GetParameter(),exParam2.GetCovariance());
	}
	else
	  track2 = esdtrack2;
	if(!track2) {
	  continue;
	}
      
	if (fTrackCuts->AcceptTrack(track2)) {
	  Int_t label2 = TMath::Abs(track2->GetLabel());
	  if(label==label2) {
	    fNPointTPCMultRec->Fill(track->GetTPCNcls());
	    fNPointTPCMultRec->Fill(track2->GetTPCNcls());
	    fDeltaPtMultRec->Fill(track->Pt(),track->Pt()-track2->Pt());
	    multCounter++;
	  }
	}
	if(fTrackType==1 || fTrackType==2) delete track2;
      }//track2 loop
      if(multCounter>1) fMultRec->Fill(multCounter);
      */

    }//fTrackCuts selection


    if(fTrackType==1 || fTrackType==2 || fTrackType==7) {
      if(track) delete track;    
    }

  }//ESD track loop
   
  // Post output data
  PostData(0, fHistList);
  
}
//________________________________________________________________________
Bool_t AliPWG4HighPtQAMC::PythiaInfoFromFile(const char* currFile,Float_t &fXsec,Float_t &fTrials){
  //
  // get the cross section and the trails either from pyxsec.root or from pysec_hists.root
  // This is to called in Notify and should provide the path to the AOD/ESD file
  // Copied from AliAnalysisTaskJetSpectrum2
  //

  TString file(currFile);  
  fXsec = 0;
  fTrials = 1;

  if(file.Contains("root_archive.zip#")){
    Ssiz_t pos1 = file.Index("root_archive",12,TString::kExact);
    Ssiz_t pos = file.Index("#",1,pos1,TString::kExact);
    file.Replace(pos+1,20,"");
  }
  else {
    // not an archive take the basename....
    file.ReplaceAll(gSystem->BaseName(file.Data()),"");
  }
  //  Printf("%s",file.Data());
   

  TFile *fxsec = TFile::Open(Form("%s%s",file.Data(),"pyxsec.root")); // problem that we cannot really test the existance of a file in a archive so we have to lvie with open error message from root
  if(!fxsec){
    // next trial fetch the histgram file
    fxsec = TFile::Open(Form("%s%s",file.Data(),"pyxsec_hists.root"));
    if(!fxsec){
	// not a severe condition but inciate that we have no information
      return kFALSE;
    }
    else{
      // find the tlist we want to be independtent of the name so use the Tkey
      TKey* key = (TKey*)fxsec->GetListOfKeys()->At(0); 
      if(!key){
	fxsec->Close();
	return kFALSE;
      }
      TList *list = dynamic_cast<TList*>(key->ReadObj());
      if(!list){
	fxsec->Close();
	return kFALSE;
      }
      fXsec = ((TProfile*)list->FindObject("h1Xsec"))->GetBinContent(1);
      fTrials  = ((TH1F*)list->FindObject("h1Trials"))->GetBinContent(1);
      fxsec->Close();
    }
  } // no tree pyxsec.root
  else {
    TTree *xtree = (TTree*)fxsec->Get("Xsection");
    if(!xtree){
      fxsec->Close();
      return kFALSE;
    }
    UInt_t   ntrials  = 0;
    Double_t  xsection  = 0;
    xtree->SetBranchAddress("xsection",&xsection);
    xtree->SetBranchAddress("ntrials",&ntrials);
    xtree->GetEntry(0);
    fTrials = ntrials;
    fXsec = xsection;
    fxsec->Close();
  }
  return kTRUE;
}
//________________________________________________________________________
Bool_t AliPWG4HighPtQAMC::Notify()
{
  //
  // Implemented Notify() to read the cross sections
  // and number of trials from pyxsec.root
  // Copied from AliAnalysisTaskJetSpectrum2
  // 

  TTree *tree = AliAnalysisManager::GetAnalysisManager()->GetTree();
  Float_t xsection = 0;
  Float_t ftrials  = 1;

  fAvgTrials = 1;
  if(tree){
    TFile *curfile = tree->GetCurrentFile();
    if (!curfile) {
      Error("Notify","No current file");
      return kFALSE;
    }
    if(!fh1Xsec||!fh1Trials){
      //      Printf("%s%d No Histogram fh1Xsec",(char*)__FILE__,__LINE__);
      return kFALSE;
    }
    PythiaInfoFromFile(curfile->GetName(),xsection,ftrials);
    fh1Xsec->Fill("<#sigma>",xsection);
    // construct a poor man average trials 
    Float_t nEntries = (Float_t)tree->GetTree()->GetEntries();
    if(ftrials>=nEntries && nEntries>0.)fAvgTrials = ftrials/nEntries;
  }  
  return kTRUE;
}

//________________________________________________________________________
AliGenPythiaEventHeader*  AliPWG4HighPtQAMC::GetPythiaEventHeader(AliMCEvent *mcEvent){
  
  if(!mcEvent)return 0;
  AliGenEventHeader* genHeader = mcEvent->GenEventHeader();
  AliGenPythiaEventHeader* pythiaGenHeader = dynamic_cast<AliGenPythiaEventHeader*>(genHeader);
  if(!pythiaGenHeader){
    // cocktail ??
    AliGenCocktailEventHeader* genCocktailHeader = dynamic_cast<AliGenCocktailEventHeader*>(genHeader);
    
    if (!genCocktailHeader) {
      //      AliWarningGeneral(Form(" %s:%d",(char*)__FILE__,__LINE__),"Unknown header type (not Pythia or Cocktail)");
      //      AliWarning(Form("%s %d: Unknown header type (not Pythia or Cocktail)",(char*)__FILE__,__LINE__));
      return 0;
    }
    TList* headerList = genCocktailHeader->GetHeaders();
    for (Int_t i=0; i<headerList->GetEntries(); i++) {
      pythiaGenHeader = dynamic_cast<AliGenPythiaEventHeader*>(headerList->At(i));
      if (pythiaGenHeader)
        break;
    }
    if(!pythiaGenHeader){
      AliWarningGeneral(Form(" %s:%d",(char*)__FILE__,__LINE__),"Pythia event header not found");
      return 0;
    }
  }
  return pythiaGenHeader;

}

//________________________________________________________________________
void AliPWG4HighPtQAMC::Terminate(Option_t *)
{
  // The Terminate() function is the last function to be called during
  // a query. It always runs on the client, it can be used to present
  // the results graphically or save the results to file.

}

#endif
 AliPWG4HighPtQAMC.cxx:1
 AliPWG4HighPtQAMC.cxx:2
 AliPWG4HighPtQAMC.cxx:3
 AliPWG4HighPtQAMC.cxx:4
 AliPWG4HighPtQAMC.cxx:5
 AliPWG4HighPtQAMC.cxx:6
 AliPWG4HighPtQAMC.cxx:7
 AliPWG4HighPtQAMC.cxx:8
 AliPWG4HighPtQAMC.cxx:9
 AliPWG4HighPtQAMC.cxx:10
 AliPWG4HighPtQAMC.cxx:11
 AliPWG4HighPtQAMC.cxx:12
 AliPWG4HighPtQAMC.cxx:13
 AliPWG4HighPtQAMC.cxx:14
 AliPWG4HighPtQAMC.cxx:15
 AliPWG4HighPtQAMC.cxx:16
 AliPWG4HighPtQAMC.cxx:17
 AliPWG4HighPtQAMC.cxx:18
 AliPWG4HighPtQAMC.cxx:19
 AliPWG4HighPtQAMC.cxx:20
 AliPWG4HighPtQAMC.cxx:21
 AliPWG4HighPtQAMC.cxx:22
 AliPWG4HighPtQAMC.cxx:23
 AliPWG4HighPtQAMC.cxx:24
 AliPWG4HighPtQAMC.cxx:25
 AliPWG4HighPtQAMC.cxx:26
 AliPWG4HighPtQAMC.cxx:27
 AliPWG4HighPtQAMC.cxx:28
 AliPWG4HighPtQAMC.cxx:29
 AliPWG4HighPtQAMC.cxx:30
 AliPWG4HighPtQAMC.cxx:31
 AliPWG4HighPtQAMC.cxx:32
 AliPWG4HighPtQAMC.cxx:33
 AliPWG4HighPtQAMC.cxx:34
 AliPWG4HighPtQAMC.cxx:35
 AliPWG4HighPtQAMC.cxx:36
 AliPWG4HighPtQAMC.cxx:37
 AliPWG4HighPtQAMC.cxx:38
 AliPWG4HighPtQAMC.cxx:39
 AliPWG4HighPtQAMC.cxx:40
 AliPWG4HighPtQAMC.cxx:41
 AliPWG4HighPtQAMC.cxx:42
 AliPWG4HighPtQAMC.cxx:43
 AliPWG4HighPtQAMC.cxx:44
 AliPWG4HighPtQAMC.cxx:45
 AliPWG4HighPtQAMC.cxx:46
 AliPWG4HighPtQAMC.cxx:47
 AliPWG4HighPtQAMC.cxx:48
 AliPWG4HighPtQAMC.cxx:49
 AliPWG4HighPtQAMC.cxx:50
 AliPWG4HighPtQAMC.cxx:51
 AliPWG4HighPtQAMC.cxx:52
 AliPWG4HighPtQAMC.cxx:53
 AliPWG4HighPtQAMC.cxx:54
 AliPWG4HighPtQAMC.cxx:55
 AliPWG4HighPtQAMC.cxx:56
 AliPWG4HighPtQAMC.cxx:57
 AliPWG4HighPtQAMC.cxx:58
 AliPWG4HighPtQAMC.cxx:59
 AliPWG4HighPtQAMC.cxx:60
 AliPWG4HighPtQAMC.cxx:61
 AliPWG4HighPtQAMC.cxx:62
 AliPWG4HighPtQAMC.cxx:63
 AliPWG4HighPtQAMC.cxx:64
 AliPWG4HighPtQAMC.cxx:65
 AliPWG4HighPtQAMC.cxx:66
 AliPWG4HighPtQAMC.cxx:67
 AliPWG4HighPtQAMC.cxx:68
 AliPWG4HighPtQAMC.cxx:69
 AliPWG4HighPtQAMC.cxx:70
 AliPWG4HighPtQAMC.cxx:71
 AliPWG4HighPtQAMC.cxx:72
 AliPWG4HighPtQAMC.cxx:73
 AliPWG4HighPtQAMC.cxx:74
 AliPWG4HighPtQAMC.cxx:75
 AliPWG4HighPtQAMC.cxx:76
 AliPWG4HighPtQAMC.cxx:77
 AliPWG4HighPtQAMC.cxx:78
 AliPWG4HighPtQAMC.cxx:79
 AliPWG4HighPtQAMC.cxx:80
 AliPWG4HighPtQAMC.cxx:81
 AliPWG4HighPtQAMC.cxx:82
 AliPWG4HighPtQAMC.cxx:83
 AliPWG4HighPtQAMC.cxx:84
 AliPWG4HighPtQAMC.cxx:85
 AliPWG4HighPtQAMC.cxx:86
 AliPWG4HighPtQAMC.cxx:87
 AliPWG4HighPtQAMC.cxx:88
 AliPWG4HighPtQAMC.cxx:89
 AliPWG4HighPtQAMC.cxx:90
 AliPWG4HighPtQAMC.cxx:91
 AliPWG4HighPtQAMC.cxx:92
 AliPWG4HighPtQAMC.cxx:93
 AliPWG4HighPtQAMC.cxx:94
 AliPWG4HighPtQAMC.cxx:95
 AliPWG4HighPtQAMC.cxx:96
 AliPWG4HighPtQAMC.cxx:97
 AliPWG4HighPtQAMC.cxx:98
 AliPWG4HighPtQAMC.cxx:99
 AliPWG4HighPtQAMC.cxx:100
 AliPWG4HighPtQAMC.cxx:101
 AliPWG4HighPtQAMC.cxx:102
 AliPWG4HighPtQAMC.cxx:103
 AliPWG4HighPtQAMC.cxx:104
 AliPWG4HighPtQAMC.cxx:105
 AliPWG4HighPtQAMC.cxx:106
 AliPWG4HighPtQAMC.cxx:107
 AliPWG4HighPtQAMC.cxx:108
 AliPWG4HighPtQAMC.cxx:109
 AliPWG4HighPtQAMC.cxx:110
 AliPWG4HighPtQAMC.cxx:111
 AliPWG4HighPtQAMC.cxx:112
 AliPWG4HighPtQAMC.cxx:113
 AliPWG4HighPtQAMC.cxx:114
 AliPWG4HighPtQAMC.cxx:115
 AliPWG4HighPtQAMC.cxx:116
 AliPWG4HighPtQAMC.cxx:117
 AliPWG4HighPtQAMC.cxx:118
 AliPWG4HighPtQAMC.cxx:119
 AliPWG4HighPtQAMC.cxx:120
 AliPWG4HighPtQAMC.cxx:121
 AliPWG4HighPtQAMC.cxx:122
 AliPWG4HighPtQAMC.cxx:123
 AliPWG4HighPtQAMC.cxx:124
 AliPWG4HighPtQAMC.cxx:125
 AliPWG4HighPtQAMC.cxx:126
 AliPWG4HighPtQAMC.cxx:127
 AliPWG4HighPtQAMC.cxx:128
 AliPWG4HighPtQAMC.cxx:129
 AliPWG4HighPtQAMC.cxx:130
 AliPWG4HighPtQAMC.cxx:131
 AliPWG4HighPtQAMC.cxx:132
 AliPWG4HighPtQAMC.cxx:133
 AliPWG4HighPtQAMC.cxx:134
 AliPWG4HighPtQAMC.cxx:135
 AliPWG4HighPtQAMC.cxx:136
 AliPWG4HighPtQAMC.cxx:137
 AliPWG4HighPtQAMC.cxx:138
 AliPWG4HighPtQAMC.cxx:139
 AliPWG4HighPtQAMC.cxx:140
 AliPWG4HighPtQAMC.cxx:141
 AliPWG4HighPtQAMC.cxx:142
 AliPWG4HighPtQAMC.cxx:143
 AliPWG4HighPtQAMC.cxx:144
 AliPWG4HighPtQAMC.cxx:145
 AliPWG4HighPtQAMC.cxx:146
 AliPWG4HighPtQAMC.cxx:147
 AliPWG4HighPtQAMC.cxx:148
 AliPWG4HighPtQAMC.cxx:149
 AliPWG4HighPtQAMC.cxx:150
 AliPWG4HighPtQAMC.cxx:151
 AliPWG4HighPtQAMC.cxx:152
 AliPWG4HighPtQAMC.cxx:153
 AliPWG4HighPtQAMC.cxx:154
 AliPWG4HighPtQAMC.cxx:155
 AliPWG4HighPtQAMC.cxx:156
 AliPWG4HighPtQAMC.cxx:157
 AliPWG4HighPtQAMC.cxx:158
 AliPWG4HighPtQAMC.cxx:159
 AliPWG4HighPtQAMC.cxx:160
 AliPWG4HighPtQAMC.cxx:161
 AliPWG4HighPtQAMC.cxx:162
 AliPWG4HighPtQAMC.cxx:163
 AliPWG4HighPtQAMC.cxx:164
 AliPWG4HighPtQAMC.cxx:165
 AliPWG4HighPtQAMC.cxx:166
 AliPWG4HighPtQAMC.cxx:167
 AliPWG4HighPtQAMC.cxx:168
 AliPWG4HighPtQAMC.cxx:169
 AliPWG4HighPtQAMC.cxx:170
 AliPWG4HighPtQAMC.cxx:171
 AliPWG4HighPtQAMC.cxx:172
 AliPWG4HighPtQAMC.cxx:173
 AliPWG4HighPtQAMC.cxx:174
 AliPWG4HighPtQAMC.cxx:175
 AliPWG4HighPtQAMC.cxx:176
 AliPWG4HighPtQAMC.cxx:177
 AliPWG4HighPtQAMC.cxx:178
 AliPWG4HighPtQAMC.cxx:179
 AliPWG4HighPtQAMC.cxx:180
 AliPWG4HighPtQAMC.cxx:181
 AliPWG4HighPtQAMC.cxx:182
 AliPWG4HighPtQAMC.cxx:183
 AliPWG4HighPtQAMC.cxx:184
 AliPWG4HighPtQAMC.cxx:185
 AliPWG4HighPtQAMC.cxx:186
 AliPWG4HighPtQAMC.cxx:187
 AliPWG4HighPtQAMC.cxx:188
 AliPWG4HighPtQAMC.cxx:189
 AliPWG4HighPtQAMC.cxx:190
 AliPWG4HighPtQAMC.cxx:191
 AliPWG4HighPtQAMC.cxx:192
 AliPWG4HighPtQAMC.cxx:193
 AliPWG4HighPtQAMC.cxx:194
 AliPWG4HighPtQAMC.cxx:195
 AliPWG4HighPtQAMC.cxx:196
 AliPWG4HighPtQAMC.cxx:197
 AliPWG4HighPtQAMC.cxx:198
 AliPWG4HighPtQAMC.cxx:199
 AliPWG4HighPtQAMC.cxx:200
 AliPWG4HighPtQAMC.cxx:201
 AliPWG4HighPtQAMC.cxx:202
 AliPWG4HighPtQAMC.cxx:203
 AliPWG4HighPtQAMC.cxx:204
 AliPWG4HighPtQAMC.cxx:205
 AliPWG4HighPtQAMC.cxx:206
 AliPWG4HighPtQAMC.cxx:207
 AliPWG4HighPtQAMC.cxx:208
 AliPWG4HighPtQAMC.cxx:209
 AliPWG4HighPtQAMC.cxx:210
 AliPWG4HighPtQAMC.cxx:211
 AliPWG4HighPtQAMC.cxx:212
 AliPWG4HighPtQAMC.cxx:213
 AliPWG4HighPtQAMC.cxx:214
 AliPWG4HighPtQAMC.cxx:215
 AliPWG4HighPtQAMC.cxx:216
 AliPWG4HighPtQAMC.cxx:217
 AliPWG4HighPtQAMC.cxx:218
 AliPWG4HighPtQAMC.cxx:219
 AliPWG4HighPtQAMC.cxx:220
 AliPWG4HighPtQAMC.cxx:221
 AliPWG4HighPtQAMC.cxx:222
 AliPWG4HighPtQAMC.cxx:223
 AliPWG4HighPtQAMC.cxx:224
 AliPWG4HighPtQAMC.cxx:225
 AliPWG4HighPtQAMC.cxx:226
 AliPWG4HighPtQAMC.cxx:227
 AliPWG4HighPtQAMC.cxx:228
 AliPWG4HighPtQAMC.cxx:229
 AliPWG4HighPtQAMC.cxx:230
 AliPWG4HighPtQAMC.cxx:231
 AliPWG4HighPtQAMC.cxx:232
 AliPWG4HighPtQAMC.cxx:233
 AliPWG4HighPtQAMC.cxx:234
 AliPWG4HighPtQAMC.cxx:235
 AliPWG4HighPtQAMC.cxx:236
 AliPWG4HighPtQAMC.cxx:237
 AliPWG4HighPtQAMC.cxx:238
 AliPWG4HighPtQAMC.cxx:239
 AliPWG4HighPtQAMC.cxx:240
 AliPWG4HighPtQAMC.cxx:241
 AliPWG4HighPtQAMC.cxx:242
 AliPWG4HighPtQAMC.cxx:243
 AliPWG4HighPtQAMC.cxx:244
 AliPWG4HighPtQAMC.cxx:245
 AliPWG4HighPtQAMC.cxx:246
 AliPWG4HighPtQAMC.cxx:247
 AliPWG4HighPtQAMC.cxx:248
 AliPWG4HighPtQAMC.cxx:249
 AliPWG4HighPtQAMC.cxx:250
 AliPWG4HighPtQAMC.cxx:251
 AliPWG4HighPtQAMC.cxx:252
 AliPWG4HighPtQAMC.cxx:253
 AliPWG4HighPtQAMC.cxx:254
 AliPWG4HighPtQAMC.cxx:255
 AliPWG4HighPtQAMC.cxx:256
 AliPWG4HighPtQAMC.cxx:257
 AliPWG4HighPtQAMC.cxx:258
 AliPWG4HighPtQAMC.cxx:259
 AliPWG4HighPtQAMC.cxx:260
 AliPWG4HighPtQAMC.cxx:261
 AliPWG4HighPtQAMC.cxx:262
 AliPWG4HighPtQAMC.cxx:263
 AliPWG4HighPtQAMC.cxx:264
 AliPWG4HighPtQAMC.cxx:265
 AliPWG4HighPtQAMC.cxx:266
 AliPWG4HighPtQAMC.cxx:267
 AliPWG4HighPtQAMC.cxx:268
 AliPWG4HighPtQAMC.cxx:269
 AliPWG4HighPtQAMC.cxx:270
 AliPWG4HighPtQAMC.cxx:271
 AliPWG4HighPtQAMC.cxx:272
 AliPWG4HighPtQAMC.cxx:273
 AliPWG4HighPtQAMC.cxx:274
 AliPWG4HighPtQAMC.cxx:275
 AliPWG4HighPtQAMC.cxx:276
 AliPWG4HighPtQAMC.cxx:277
 AliPWG4HighPtQAMC.cxx:278
 AliPWG4HighPtQAMC.cxx:279
 AliPWG4HighPtQAMC.cxx:280
 AliPWG4HighPtQAMC.cxx:281
 AliPWG4HighPtQAMC.cxx:282
 AliPWG4HighPtQAMC.cxx:283
 AliPWG4HighPtQAMC.cxx:284
 AliPWG4HighPtQAMC.cxx:285
 AliPWG4HighPtQAMC.cxx:286
 AliPWG4HighPtQAMC.cxx:287
 AliPWG4HighPtQAMC.cxx:288
 AliPWG4HighPtQAMC.cxx:289
 AliPWG4HighPtQAMC.cxx:290
 AliPWG4HighPtQAMC.cxx:291
 AliPWG4HighPtQAMC.cxx:292
 AliPWG4HighPtQAMC.cxx:293
 AliPWG4HighPtQAMC.cxx:294
 AliPWG4HighPtQAMC.cxx:295
 AliPWG4HighPtQAMC.cxx:296
 AliPWG4HighPtQAMC.cxx:297
 AliPWG4HighPtQAMC.cxx:298
 AliPWG4HighPtQAMC.cxx:299
 AliPWG4HighPtQAMC.cxx:300
 AliPWG4HighPtQAMC.cxx:301
 AliPWG4HighPtQAMC.cxx:302
 AliPWG4HighPtQAMC.cxx:303
 AliPWG4HighPtQAMC.cxx:304
 AliPWG4HighPtQAMC.cxx:305
 AliPWG4HighPtQAMC.cxx:306
 AliPWG4HighPtQAMC.cxx:307
 AliPWG4HighPtQAMC.cxx:308
 AliPWG4HighPtQAMC.cxx:309
 AliPWG4HighPtQAMC.cxx:310
 AliPWG4HighPtQAMC.cxx:311
 AliPWG4HighPtQAMC.cxx:312
 AliPWG4HighPtQAMC.cxx:313
 AliPWG4HighPtQAMC.cxx:314
 AliPWG4HighPtQAMC.cxx:315
 AliPWG4HighPtQAMC.cxx:316
 AliPWG4HighPtQAMC.cxx:317
 AliPWG4HighPtQAMC.cxx:318
 AliPWG4HighPtQAMC.cxx:319
 AliPWG4HighPtQAMC.cxx:320
 AliPWG4HighPtQAMC.cxx:321
 AliPWG4HighPtQAMC.cxx:322
 AliPWG4HighPtQAMC.cxx:323
 AliPWG4HighPtQAMC.cxx:324
 AliPWG4HighPtQAMC.cxx:325
 AliPWG4HighPtQAMC.cxx:326
 AliPWG4HighPtQAMC.cxx:327
 AliPWG4HighPtQAMC.cxx:328
 AliPWG4HighPtQAMC.cxx:329
 AliPWG4HighPtQAMC.cxx:330
 AliPWG4HighPtQAMC.cxx:331
 AliPWG4HighPtQAMC.cxx:332
 AliPWG4HighPtQAMC.cxx:333
 AliPWG4HighPtQAMC.cxx:334
 AliPWG4HighPtQAMC.cxx:335
 AliPWG4HighPtQAMC.cxx:336
 AliPWG4HighPtQAMC.cxx:337
 AliPWG4HighPtQAMC.cxx:338
 AliPWG4HighPtQAMC.cxx:339
 AliPWG4HighPtQAMC.cxx:340
 AliPWG4HighPtQAMC.cxx:341
 AliPWG4HighPtQAMC.cxx:342
 AliPWG4HighPtQAMC.cxx:343
 AliPWG4HighPtQAMC.cxx:344
 AliPWG4HighPtQAMC.cxx:345
 AliPWG4HighPtQAMC.cxx:346
 AliPWG4HighPtQAMC.cxx:347
 AliPWG4HighPtQAMC.cxx:348
 AliPWG4HighPtQAMC.cxx:349
 AliPWG4HighPtQAMC.cxx:350
 AliPWG4HighPtQAMC.cxx:351
 AliPWG4HighPtQAMC.cxx:352
 AliPWG4HighPtQAMC.cxx:353
 AliPWG4HighPtQAMC.cxx:354
 AliPWG4HighPtQAMC.cxx:355
 AliPWG4HighPtQAMC.cxx:356
 AliPWG4HighPtQAMC.cxx:357
 AliPWG4HighPtQAMC.cxx:358
 AliPWG4HighPtQAMC.cxx:359
 AliPWG4HighPtQAMC.cxx:360
 AliPWG4HighPtQAMC.cxx:361
 AliPWG4HighPtQAMC.cxx:362
 AliPWG4HighPtQAMC.cxx:363
 AliPWG4HighPtQAMC.cxx:364
 AliPWG4HighPtQAMC.cxx:365
 AliPWG4HighPtQAMC.cxx:366
 AliPWG4HighPtQAMC.cxx:367
 AliPWG4HighPtQAMC.cxx:368
 AliPWG4HighPtQAMC.cxx:369
 AliPWG4HighPtQAMC.cxx:370
 AliPWG4HighPtQAMC.cxx:371
 AliPWG4HighPtQAMC.cxx:372
 AliPWG4HighPtQAMC.cxx:373
 AliPWG4HighPtQAMC.cxx:374
 AliPWG4HighPtQAMC.cxx:375
 AliPWG4HighPtQAMC.cxx:376
 AliPWG4HighPtQAMC.cxx:377
 AliPWG4HighPtQAMC.cxx:378
 AliPWG4HighPtQAMC.cxx:379
 AliPWG4HighPtQAMC.cxx:380
 AliPWG4HighPtQAMC.cxx:381
 AliPWG4HighPtQAMC.cxx:382
 AliPWG4HighPtQAMC.cxx:383
 AliPWG4HighPtQAMC.cxx:384
 AliPWG4HighPtQAMC.cxx:385
 AliPWG4HighPtQAMC.cxx:386
 AliPWG4HighPtQAMC.cxx:387
 AliPWG4HighPtQAMC.cxx:388
 AliPWG4HighPtQAMC.cxx:389
 AliPWG4HighPtQAMC.cxx:390
 AliPWG4HighPtQAMC.cxx:391
 AliPWG4HighPtQAMC.cxx:392
 AliPWG4HighPtQAMC.cxx:393
 AliPWG4HighPtQAMC.cxx:394
 AliPWG4HighPtQAMC.cxx:395
 AliPWG4HighPtQAMC.cxx:396
 AliPWG4HighPtQAMC.cxx:397
 AliPWG4HighPtQAMC.cxx:398
 AliPWG4HighPtQAMC.cxx:399
 AliPWG4HighPtQAMC.cxx:400
 AliPWG4HighPtQAMC.cxx:401
 AliPWG4HighPtQAMC.cxx:402
 AliPWG4HighPtQAMC.cxx:403
 AliPWG4HighPtQAMC.cxx:404
 AliPWG4HighPtQAMC.cxx:405
 AliPWG4HighPtQAMC.cxx:406
 AliPWG4HighPtQAMC.cxx:407
 AliPWG4HighPtQAMC.cxx:408
 AliPWG4HighPtQAMC.cxx:409
 AliPWG4HighPtQAMC.cxx:410
 AliPWG4HighPtQAMC.cxx:411
 AliPWG4HighPtQAMC.cxx:412
 AliPWG4HighPtQAMC.cxx:413
 AliPWG4HighPtQAMC.cxx:414
 AliPWG4HighPtQAMC.cxx:415
 AliPWG4HighPtQAMC.cxx:416
 AliPWG4HighPtQAMC.cxx:417
 AliPWG4HighPtQAMC.cxx:418
 AliPWG4HighPtQAMC.cxx:419
 AliPWG4HighPtQAMC.cxx:420
 AliPWG4HighPtQAMC.cxx:421
 AliPWG4HighPtQAMC.cxx:422
 AliPWG4HighPtQAMC.cxx:423
 AliPWG4HighPtQAMC.cxx:424
 AliPWG4HighPtQAMC.cxx:425
 AliPWG4HighPtQAMC.cxx:426
 AliPWG4HighPtQAMC.cxx:427
 AliPWG4HighPtQAMC.cxx:428
 AliPWG4HighPtQAMC.cxx:429
 AliPWG4HighPtQAMC.cxx:430
 AliPWG4HighPtQAMC.cxx:431
 AliPWG4HighPtQAMC.cxx:432
 AliPWG4HighPtQAMC.cxx:433
 AliPWG4HighPtQAMC.cxx:434
 AliPWG4HighPtQAMC.cxx:435
 AliPWG4HighPtQAMC.cxx:436
 AliPWG4HighPtQAMC.cxx:437
 AliPWG4HighPtQAMC.cxx:438
 AliPWG4HighPtQAMC.cxx:439
 AliPWG4HighPtQAMC.cxx:440
 AliPWG4HighPtQAMC.cxx:441
 AliPWG4HighPtQAMC.cxx:442
 AliPWG4HighPtQAMC.cxx:443
 AliPWG4HighPtQAMC.cxx:444
 AliPWG4HighPtQAMC.cxx:445
 AliPWG4HighPtQAMC.cxx:446
 AliPWG4HighPtQAMC.cxx:447
 AliPWG4HighPtQAMC.cxx:448
 AliPWG4HighPtQAMC.cxx:449
 AliPWG4HighPtQAMC.cxx:450
 AliPWG4HighPtQAMC.cxx:451
 AliPWG4HighPtQAMC.cxx:452
 AliPWG4HighPtQAMC.cxx:453
 AliPWG4HighPtQAMC.cxx:454
 AliPWG4HighPtQAMC.cxx:455
 AliPWG4HighPtQAMC.cxx:456
 AliPWG4HighPtQAMC.cxx:457
 AliPWG4HighPtQAMC.cxx:458
 AliPWG4HighPtQAMC.cxx:459
 AliPWG4HighPtQAMC.cxx:460
 AliPWG4HighPtQAMC.cxx:461
 AliPWG4HighPtQAMC.cxx:462
 AliPWG4HighPtQAMC.cxx:463
 AliPWG4HighPtQAMC.cxx:464
 AliPWG4HighPtQAMC.cxx:465
 AliPWG4HighPtQAMC.cxx:466
 AliPWG4HighPtQAMC.cxx:467
 AliPWG4HighPtQAMC.cxx:468
 AliPWG4HighPtQAMC.cxx:469
 AliPWG4HighPtQAMC.cxx:470
 AliPWG4HighPtQAMC.cxx:471
 AliPWG4HighPtQAMC.cxx:472
 AliPWG4HighPtQAMC.cxx:473
 AliPWG4HighPtQAMC.cxx:474
 AliPWG4HighPtQAMC.cxx:475
 AliPWG4HighPtQAMC.cxx:476
 AliPWG4HighPtQAMC.cxx:477
 AliPWG4HighPtQAMC.cxx:478
 AliPWG4HighPtQAMC.cxx:479
 AliPWG4HighPtQAMC.cxx:480
 AliPWG4HighPtQAMC.cxx:481
 AliPWG4HighPtQAMC.cxx:482
 AliPWG4HighPtQAMC.cxx:483
 AliPWG4HighPtQAMC.cxx:484
 AliPWG4HighPtQAMC.cxx:485
 AliPWG4HighPtQAMC.cxx:486
 AliPWG4HighPtQAMC.cxx:487
 AliPWG4HighPtQAMC.cxx:488
 AliPWG4HighPtQAMC.cxx:489
 AliPWG4HighPtQAMC.cxx:490
 AliPWG4HighPtQAMC.cxx:491
 AliPWG4HighPtQAMC.cxx:492
 AliPWG4HighPtQAMC.cxx:493
 AliPWG4HighPtQAMC.cxx:494
 AliPWG4HighPtQAMC.cxx:495
 AliPWG4HighPtQAMC.cxx:496
 AliPWG4HighPtQAMC.cxx:497
 AliPWG4HighPtQAMC.cxx:498
 AliPWG4HighPtQAMC.cxx:499
 AliPWG4HighPtQAMC.cxx:500
 AliPWG4HighPtQAMC.cxx:501
 AliPWG4HighPtQAMC.cxx:502
 AliPWG4HighPtQAMC.cxx:503
 AliPWG4HighPtQAMC.cxx:504
 AliPWG4HighPtQAMC.cxx:505
 AliPWG4HighPtQAMC.cxx:506
 AliPWG4HighPtQAMC.cxx:507
 AliPWG4HighPtQAMC.cxx:508
 AliPWG4HighPtQAMC.cxx:509
 AliPWG4HighPtQAMC.cxx:510
 AliPWG4HighPtQAMC.cxx:511
 AliPWG4HighPtQAMC.cxx:512
 AliPWG4HighPtQAMC.cxx:513
 AliPWG4HighPtQAMC.cxx:514
 AliPWG4HighPtQAMC.cxx:515
 AliPWG4HighPtQAMC.cxx:516
 AliPWG4HighPtQAMC.cxx:517
 AliPWG4HighPtQAMC.cxx:518
 AliPWG4HighPtQAMC.cxx:519
 AliPWG4HighPtQAMC.cxx:520
 AliPWG4HighPtQAMC.cxx:521
 AliPWG4HighPtQAMC.cxx:522
 AliPWG4HighPtQAMC.cxx:523
 AliPWG4HighPtQAMC.cxx:524
 AliPWG4HighPtQAMC.cxx:525
 AliPWG4HighPtQAMC.cxx:526
 AliPWG4HighPtQAMC.cxx:527
 AliPWG4HighPtQAMC.cxx:528
 AliPWG4HighPtQAMC.cxx:529
 AliPWG4HighPtQAMC.cxx:530
 AliPWG4HighPtQAMC.cxx:531
 AliPWG4HighPtQAMC.cxx:532
 AliPWG4HighPtQAMC.cxx:533
 AliPWG4HighPtQAMC.cxx:534
 AliPWG4HighPtQAMC.cxx:535
 AliPWG4HighPtQAMC.cxx:536
 AliPWG4HighPtQAMC.cxx:537
 AliPWG4HighPtQAMC.cxx:538
 AliPWG4HighPtQAMC.cxx:539
 AliPWG4HighPtQAMC.cxx:540
 AliPWG4HighPtQAMC.cxx:541
 AliPWG4HighPtQAMC.cxx:542
 AliPWG4HighPtQAMC.cxx:543
 AliPWG4HighPtQAMC.cxx:544
 AliPWG4HighPtQAMC.cxx:545
 AliPWG4HighPtQAMC.cxx:546
 AliPWG4HighPtQAMC.cxx:547
 AliPWG4HighPtQAMC.cxx:548
 AliPWG4HighPtQAMC.cxx:549
 AliPWG4HighPtQAMC.cxx:550
 AliPWG4HighPtQAMC.cxx:551
 AliPWG4HighPtQAMC.cxx:552
 AliPWG4HighPtQAMC.cxx:553
 AliPWG4HighPtQAMC.cxx:554
 AliPWG4HighPtQAMC.cxx:555
 AliPWG4HighPtQAMC.cxx:556
 AliPWG4HighPtQAMC.cxx:557
 AliPWG4HighPtQAMC.cxx:558
 AliPWG4HighPtQAMC.cxx:559
 AliPWG4HighPtQAMC.cxx:560
 AliPWG4HighPtQAMC.cxx:561
 AliPWG4HighPtQAMC.cxx:562
 AliPWG4HighPtQAMC.cxx:563
 AliPWG4HighPtQAMC.cxx:564
 AliPWG4HighPtQAMC.cxx:565
 AliPWG4HighPtQAMC.cxx:566
 AliPWG4HighPtQAMC.cxx:567
 AliPWG4HighPtQAMC.cxx:568
 AliPWG4HighPtQAMC.cxx:569
 AliPWG4HighPtQAMC.cxx:570
 AliPWG4HighPtQAMC.cxx:571
 AliPWG4HighPtQAMC.cxx:572
 AliPWG4HighPtQAMC.cxx:573
 AliPWG4HighPtQAMC.cxx:574
 AliPWG4HighPtQAMC.cxx:575
 AliPWG4HighPtQAMC.cxx:576
 AliPWG4HighPtQAMC.cxx:577
 AliPWG4HighPtQAMC.cxx:578
 AliPWG4HighPtQAMC.cxx:579
 AliPWG4HighPtQAMC.cxx:580
 AliPWG4HighPtQAMC.cxx:581
 AliPWG4HighPtQAMC.cxx:582
 AliPWG4HighPtQAMC.cxx:583
 AliPWG4HighPtQAMC.cxx:584
 AliPWG4HighPtQAMC.cxx:585
 AliPWG4HighPtQAMC.cxx:586
 AliPWG4HighPtQAMC.cxx:587
 AliPWG4HighPtQAMC.cxx:588
 AliPWG4HighPtQAMC.cxx:589
 AliPWG4HighPtQAMC.cxx:590
 AliPWG4HighPtQAMC.cxx:591
 AliPWG4HighPtQAMC.cxx:592
 AliPWG4HighPtQAMC.cxx:593
 AliPWG4HighPtQAMC.cxx:594
 AliPWG4HighPtQAMC.cxx:595
 AliPWG4HighPtQAMC.cxx:596
 AliPWG4HighPtQAMC.cxx:597
 AliPWG4HighPtQAMC.cxx:598
 AliPWG4HighPtQAMC.cxx:599
 AliPWG4HighPtQAMC.cxx:600
 AliPWG4HighPtQAMC.cxx:601
 AliPWG4HighPtQAMC.cxx:602
 AliPWG4HighPtQAMC.cxx:603
 AliPWG4HighPtQAMC.cxx:604
 AliPWG4HighPtQAMC.cxx:605
 AliPWG4HighPtQAMC.cxx:606
 AliPWG4HighPtQAMC.cxx:607
 AliPWG4HighPtQAMC.cxx:608
 AliPWG4HighPtQAMC.cxx:609
 AliPWG4HighPtQAMC.cxx:610
 AliPWG4HighPtQAMC.cxx:611
 AliPWG4HighPtQAMC.cxx:612
 AliPWG4HighPtQAMC.cxx:613
 AliPWG4HighPtQAMC.cxx:614
 AliPWG4HighPtQAMC.cxx:615
 AliPWG4HighPtQAMC.cxx:616
 AliPWG4HighPtQAMC.cxx:617
 AliPWG4HighPtQAMC.cxx:618
 AliPWG4HighPtQAMC.cxx:619
 AliPWG4HighPtQAMC.cxx:620
 AliPWG4HighPtQAMC.cxx:621
 AliPWG4HighPtQAMC.cxx:622
 AliPWG4HighPtQAMC.cxx:623
 AliPWG4HighPtQAMC.cxx:624
 AliPWG4HighPtQAMC.cxx:625
 AliPWG4HighPtQAMC.cxx:626
 AliPWG4HighPtQAMC.cxx:627
 AliPWG4HighPtQAMC.cxx:628
 AliPWG4HighPtQAMC.cxx:629
 AliPWG4HighPtQAMC.cxx:630
 AliPWG4HighPtQAMC.cxx:631
 AliPWG4HighPtQAMC.cxx:632
 AliPWG4HighPtQAMC.cxx:633
 AliPWG4HighPtQAMC.cxx:634
 AliPWG4HighPtQAMC.cxx:635
 AliPWG4HighPtQAMC.cxx:636
 AliPWG4HighPtQAMC.cxx:637
 AliPWG4HighPtQAMC.cxx:638
 AliPWG4HighPtQAMC.cxx:639
 AliPWG4HighPtQAMC.cxx:640
 AliPWG4HighPtQAMC.cxx:641
 AliPWG4HighPtQAMC.cxx:642
 AliPWG4HighPtQAMC.cxx:643
 AliPWG4HighPtQAMC.cxx:644
 AliPWG4HighPtQAMC.cxx:645
 AliPWG4HighPtQAMC.cxx:646
 AliPWG4HighPtQAMC.cxx:647
 AliPWG4HighPtQAMC.cxx:648
 AliPWG4HighPtQAMC.cxx:649
 AliPWG4HighPtQAMC.cxx:650
 AliPWG4HighPtQAMC.cxx:651
 AliPWG4HighPtQAMC.cxx:652
 AliPWG4HighPtQAMC.cxx:653
 AliPWG4HighPtQAMC.cxx:654
 AliPWG4HighPtQAMC.cxx:655
 AliPWG4HighPtQAMC.cxx:656
 AliPWG4HighPtQAMC.cxx:657
 AliPWG4HighPtQAMC.cxx:658
 AliPWG4HighPtQAMC.cxx:659
 AliPWG4HighPtQAMC.cxx:660
 AliPWG4HighPtQAMC.cxx:661
 AliPWG4HighPtQAMC.cxx:662
 AliPWG4HighPtQAMC.cxx:663
 AliPWG4HighPtQAMC.cxx:664
 AliPWG4HighPtQAMC.cxx:665
 AliPWG4HighPtQAMC.cxx:666
 AliPWG4HighPtQAMC.cxx:667
 AliPWG4HighPtQAMC.cxx:668
 AliPWG4HighPtQAMC.cxx:669
 AliPWG4HighPtQAMC.cxx:670
 AliPWG4HighPtQAMC.cxx:671
 AliPWG4HighPtQAMC.cxx:672
 AliPWG4HighPtQAMC.cxx:673
 AliPWG4HighPtQAMC.cxx:674
 AliPWG4HighPtQAMC.cxx:675
 AliPWG4HighPtQAMC.cxx:676
 AliPWG4HighPtQAMC.cxx:677
 AliPWG4HighPtQAMC.cxx:678
 AliPWG4HighPtQAMC.cxx:679
 AliPWG4HighPtQAMC.cxx:680
 AliPWG4HighPtQAMC.cxx:681
 AliPWG4HighPtQAMC.cxx:682
 AliPWG4HighPtQAMC.cxx:683
 AliPWG4HighPtQAMC.cxx:684
 AliPWG4HighPtQAMC.cxx:685
 AliPWG4HighPtQAMC.cxx:686
 AliPWG4HighPtQAMC.cxx:687
 AliPWG4HighPtQAMC.cxx:688
 AliPWG4HighPtQAMC.cxx:689
 AliPWG4HighPtQAMC.cxx:690
 AliPWG4HighPtQAMC.cxx:691
 AliPWG4HighPtQAMC.cxx:692
 AliPWG4HighPtQAMC.cxx:693
 AliPWG4HighPtQAMC.cxx:694
 AliPWG4HighPtQAMC.cxx:695
 AliPWG4HighPtQAMC.cxx:696
 AliPWG4HighPtQAMC.cxx:697
 AliPWG4HighPtQAMC.cxx:698
 AliPWG4HighPtQAMC.cxx:699
 AliPWG4HighPtQAMC.cxx:700
 AliPWG4HighPtQAMC.cxx:701
 AliPWG4HighPtQAMC.cxx:702
 AliPWG4HighPtQAMC.cxx:703
 AliPWG4HighPtQAMC.cxx:704
 AliPWG4HighPtQAMC.cxx:705
 AliPWG4HighPtQAMC.cxx:706
 AliPWG4HighPtQAMC.cxx:707
 AliPWG4HighPtQAMC.cxx:708
 AliPWG4HighPtQAMC.cxx:709
 AliPWG4HighPtQAMC.cxx:710
 AliPWG4HighPtQAMC.cxx:711
 AliPWG4HighPtQAMC.cxx:712
 AliPWG4HighPtQAMC.cxx:713
 AliPWG4HighPtQAMC.cxx:714
 AliPWG4HighPtQAMC.cxx:715
 AliPWG4HighPtQAMC.cxx:716
 AliPWG4HighPtQAMC.cxx:717
 AliPWG4HighPtQAMC.cxx:718
 AliPWG4HighPtQAMC.cxx:719
 AliPWG4HighPtQAMC.cxx:720
 AliPWG4HighPtQAMC.cxx:721
 AliPWG4HighPtQAMC.cxx:722
 AliPWG4HighPtQAMC.cxx:723
 AliPWG4HighPtQAMC.cxx:724
 AliPWG4HighPtQAMC.cxx:725
 AliPWG4HighPtQAMC.cxx:726
 AliPWG4HighPtQAMC.cxx:727
 AliPWG4HighPtQAMC.cxx:728
 AliPWG4HighPtQAMC.cxx:729
 AliPWG4HighPtQAMC.cxx:730
 AliPWG4HighPtQAMC.cxx:731
 AliPWG4HighPtQAMC.cxx:732
 AliPWG4HighPtQAMC.cxx:733
 AliPWG4HighPtQAMC.cxx:734
 AliPWG4HighPtQAMC.cxx:735
 AliPWG4HighPtQAMC.cxx:736
 AliPWG4HighPtQAMC.cxx:737
 AliPWG4HighPtQAMC.cxx:738
 AliPWG4HighPtQAMC.cxx:739
 AliPWG4HighPtQAMC.cxx:740
 AliPWG4HighPtQAMC.cxx:741
 AliPWG4HighPtQAMC.cxx:742
 AliPWG4HighPtQAMC.cxx:743
 AliPWG4HighPtQAMC.cxx:744
 AliPWG4HighPtQAMC.cxx:745
 AliPWG4HighPtQAMC.cxx:746
 AliPWG4HighPtQAMC.cxx:747
 AliPWG4HighPtQAMC.cxx:748
 AliPWG4HighPtQAMC.cxx:749
 AliPWG4HighPtQAMC.cxx:750
 AliPWG4HighPtQAMC.cxx:751
 AliPWG4HighPtQAMC.cxx:752
 AliPWG4HighPtQAMC.cxx:753
 AliPWG4HighPtQAMC.cxx:754
 AliPWG4HighPtQAMC.cxx:755
 AliPWG4HighPtQAMC.cxx:756
 AliPWG4HighPtQAMC.cxx:757
 AliPWG4HighPtQAMC.cxx:758
 AliPWG4HighPtQAMC.cxx:759
 AliPWG4HighPtQAMC.cxx:760
 AliPWG4HighPtQAMC.cxx:761
 AliPWG4HighPtQAMC.cxx:762
 AliPWG4HighPtQAMC.cxx:763
 AliPWG4HighPtQAMC.cxx:764
 AliPWG4HighPtQAMC.cxx:765
 AliPWG4HighPtQAMC.cxx:766
 AliPWG4HighPtQAMC.cxx:767
 AliPWG4HighPtQAMC.cxx:768
 AliPWG4HighPtQAMC.cxx:769
 AliPWG4HighPtQAMC.cxx:770
 AliPWG4HighPtQAMC.cxx:771
 AliPWG4HighPtQAMC.cxx:772
 AliPWG4HighPtQAMC.cxx:773
 AliPWG4HighPtQAMC.cxx:774
 AliPWG4HighPtQAMC.cxx:775
 AliPWG4HighPtQAMC.cxx:776
 AliPWG4HighPtQAMC.cxx:777
 AliPWG4HighPtQAMC.cxx:778
 AliPWG4HighPtQAMC.cxx:779
 AliPWG4HighPtQAMC.cxx:780
 AliPWG4HighPtQAMC.cxx:781
 AliPWG4HighPtQAMC.cxx:782
 AliPWG4HighPtQAMC.cxx:783
 AliPWG4HighPtQAMC.cxx:784
 AliPWG4HighPtQAMC.cxx:785
 AliPWG4HighPtQAMC.cxx:786
 AliPWG4HighPtQAMC.cxx:787
 AliPWG4HighPtQAMC.cxx:788
 AliPWG4HighPtQAMC.cxx:789
 AliPWG4HighPtQAMC.cxx:790
 AliPWG4HighPtQAMC.cxx:791
 AliPWG4HighPtQAMC.cxx:792
 AliPWG4HighPtQAMC.cxx:793
 AliPWG4HighPtQAMC.cxx:794
 AliPWG4HighPtQAMC.cxx:795
 AliPWG4HighPtQAMC.cxx:796
 AliPWG4HighPtQAMC.cxx:797
 AliPWG4HighPtQAMC.cxx:798
 AliPWG4HighPtQAMC.cxx:799
 AliPWG4HighPtQAMC.cxx:800
 AliPWG4HighPtQAMC.cxx:801
 AliPWG4HighPtQAMC.cxx:802
 AliPWG4HighPtQAMC.cxx:803
 AliPWG4HighPtQAMC.cxx:804
 AliPWG4HighPtQAMC.cxx:805
 AliPWG4HighPtQAMC.cxx:806
 AliPWG4HighPtQAMC.cxx:807
 AliPWG4HighPtQAMC.cxx:808
 AliPWG4HighPtQAMC.cxx:809
 AliPWG4HighPtQAMC.cxx:810
 AliPWG4HighPtQAMC.cxx:811
 AliPWG4HighPtQAMC.cxx:812
 AliPWG4HighPtQAMC.cxx:813
 AliPWG4HighPtQAMC.cxx:814
 AliPWG4HighPtQAMC.cxx:815
 AliPWG4HighPtQAMC.cxx:816
 AliPWG4HighPtQAMC.cxx:817
 AliPWG4HighPtQAMC.cxx:818
 AliPWG4HighPtQAMC.cxx:819
 AliPWG4HighPtQAMC.cxx:820
 AliPWG4HighPtQAMC.cxx:821
 AliPWG4HighPtQAMC.cxx:822
 AliPWG4HighPtQAMC.cxx:823
 AliPWG4HighPtQAMC.cxx:824
 AliPWG4HighPtQAMC.cxx:825
 AliPWG4HighPtQAMC.cxx:826
 AliPWG4HighPtQAMC.cxx:827
 AliPWG4HighPtQAMC.cxx:828
 AliPWG4HighPtQAMC.cxx:829
 AliPWG4HighPtQAMC.cxx:830
 AliPWG4HighPtQAMC.cxx:831
 AliPWG4HighPtQAMC.cxx:832
 AliPWG4HighPtQAMC.cxx:833
 AliPWG4HighPtQAMC.cxx:834
 AliPWG4HighPtQAMC.cxx:835
 AliPWG4HighPtQAMC.cxx:836
 AliPWG4HighPtQAMC.cxx:837
 AliPWG4HighPtQAMC.cxx:838
 AliPWG4HighPtQAMC.cxx:839
 AliPWG4HighPtQAMC.cxx:840
 AliPWG4HighPtQAMC.cxx:841
 AliPWG4HighPtQAMC.cxx:842
 AliPWG4HighPtQAMC.cxx:843
 AliPWG4HighPtQAMC.cxx:844
 AliPWG4HighPtQAMC.cxx:845
 AliPWG4HighPtQAMC.cxx:846
 AliPWG4HighPtQAMC.cxx:847
 AliPWG4HighPtQAMC.cxx:848
 AliPWG4HighPtQAMC.cxx:849
 AliPWG4HighPtQAMC.cxx:850
 AliPWG4HighPtQAMC.cxx:851
 AliPWG4HighPtQAMC.cxx:852
 AliPWG4HighPtQAMC.cxx:853
 AliPWG4HighPtQAMC.cxx:854
 AliPWG4HighPtQAMC.cxx:855
 AliPWG4HighPtQAMC.cxx:856
 AliPWG4HighPtQAMC.cxx:857
 AliPWG4HighPtQAMC.cxx:858
 AliPWG4HighPtQAMC.cxx:859
 AliPWG4HighPtQAMC.cxx:860
 AliPWG4HighPtQAMC.cxx:861
 AliPWG4HighPtQAMC.cxx:862
 AliPWG4HighPtQAMC.cxx:863
 AliPWG4HighPtQAMC.cxx:864
 AliPWG4HighPtQAMC.cxx:865
 AliPWG4HighPtQAMC.cxx:866
 AliPWG4HighPtQAMC.cxx:867
 AliPWG4HighPtQAMC.cxx:868
 AliPWG4HighPtQAMC.cxx:869
 AliPWG4HighPtQAMC.cxx:870
 AliPWG4HighPtQAMC.cxx:871
 AliPWG4HighPtQAMC.cxx:872
 AliPWG4HighPtQAMC.cxx:873
 AliPWG4HighPtQAMC.cxx:874
 AliPWG4HighPtQAMC.cxx:875
 AliPWG4HighPtQAMC.cxx:876
 AliPWG4HighPtQAMC.cxx:877
 AliPWG4HighPtQAMC.cxx:878
 AliPWG4HighPtQAMC.cxx:879
 AliPWG4HighPtQAMC.cxx:880
 AliPWG4HighPtQAMC.cxx:881
 AliPWG4HighPtQAMC.cxx:882
 AliPWG4HighPtQAMC.cxx:883
 AliPWG4HighPtQAMC.cxx:884
 AliPWG4HighPtQAMC.cxx:885
 AliPWG4HighPtQAMC.cxx:886
 AliPWG4HighPtQAMC.cxx:887
 AliPWG4HighPtQAMC.cxx:888
 AliPWG4HighPtQAMC.cxx:889
 AliPWG4HighPtQAMC.cxx:890
 AliPWG4HighPtQAMC.cxx:891
 AliPWG4HighPtQAMC.cxx:892
 AliPWG4HighPtQAMC.cxx:893
 AliPWG4HighPtQAMC.cxx:894
 AliPWG4HighPtQAMC.cxx:895
 AliPWG4HighPtQAMC.cxx:896
 AliPWG4HighPtQAMC.cxx:897
 AliPWG4HighPtQAMC.cxx:898
 AliPWG4HighPtQAMC.cxx:899
 AliPWG4HighPtQAMC.cxx:900
 AliPWG4HighPtQAMC.cxx:901
 AliPWG4HighPtQAMC.cxx:902
 AliPWG4HighPtQAMC.cxx:903
 AliPWG4HighPtQAMC.cxx:904
 AliPWG4HighPtQAMC.cxx:905
 AliPWG4HighPtQAMC.cxx:906
 AliPWG4HighPtQAMC.cxx:907
 AliPWG4HighPtQAMC.cxx:908
 AliPWG4HighPtQAMC.cxx:909
 AliPWG4HighPtQAMC.cxx:910
 AliPWG4HighPtQAMC.cxx:911
 AliPWG4HighPtQAMC.cxx:912
 AliPWG4HighPtQAMC.cxx:913
 AliPWG4HighPtQAMC.cxx:914
 AliPWG4HighPtQAMC.cxx:915
 AliPWG4HighPtQAMC.cxx:916
 AliPWG4HighPtQAMC.cxx:917
 AliPWG4HighPtQAMC.cxx:918
 AliPWG4HighPtQAMC.cxx:919
 AliPWG4HighPtQAMC.cxx:920
 AliPWG4HighPtQAMC.cxx:921
 AliPWG4HighPtQAMC.cxx:922
 AliPWG4HighPtQAMC.cxx:923
 AliPWG4HighPtQAMC.cxx:924
 AliPWG4HighPtQAMC.cxx:925
 AliPWG4HighPtQAMC.cxx:926
 AliPWG4HighPtQAMC.cxx:927
 AliPWG4HighPtQAMC.cxx:928
 AliPWG4HighPtQAMC.cxx:929
 AliPWG4HighPtQAMC.cxx:930
 AliPWG4HighPtQAMC.cxx:931
 AliPWG4HighPtQAMC.cxx:932
 AliPWG4HighPtQAMC.cxx:933
 AliPWG4HighPtQAMC.cxx:934
 AliPWG4HighPtQAMC.cxx:935
 AliPWG4HighPtQAMC.cxx:936
 AliPWG4HighPtQAMC.cxx:937
 AliPWG4HighPtQAMC.cxx:938
 AliPWG4HighPtQAMC.cxx:939
 AliPWG4HighPtQAMC.cxx:940
 AliPWG4HighPtQAMC.cxx:941
 AliPWG4HighPtQAMC.cxx:942
 AliPWG4HighPtQAMC.cxx:943
 AliPWG4HighPtQAMC.cxx:944
 AliPWG4HighPtQAMC.cxx:945
 AliPWG4HighPtQAMC.cxx:946
 AliPWG4HighPtQAMC.cxx:947
 AliPWG4HighPtQAMC.cxx:948
 AliPWG4HighPtQAMC.cxx:949
 AliPWG4HighPtQAMC.cxx:950
 AliPWG4HighPtQAMC.cxx:951
 AliPWG4HighPtQAMC.cxx:952
 AliPWG4HighPtQAMC.cxx:953
 AliPWG4HighPtQAMC.cxx:954
 AliPWG4HighPtQAMC.cxx:955
 AliPWG4HighPtQAMC.cxx:956
 AliPWG4HighPtQAMC.cxx:957
 AliPWG4HighPtQAMC.cxx:958
 AliPWG4HighPtQAMC.cxx:959
 AliPWG4HighPtQAMC.cxx:960
 AliPWG4HighPtQAMC.cxx:961
 AliPWG4HighPtQAMC.cxx:962
 AliPWG4HighPtQAMC.cxx:963
 AliPWG4HighPtQAMC.cxx:964
 AliPWG4HighPtQAMC.cxx:965
 AliPWG4HighPtQAMC.cxx:966
 AliPWG4HighPtQAMC.cxx:967
 AliPWG4HighPtQAMC.cxx:968
 AliPWG4HighPtQAMC.cxx:969
 AliPWG4HighPtQAMC.cxx:970