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.                  *
 **************************************************************************/

#include "AliTwoParticlePIDCorr.h"
#include "AliVParticle.h"
#include "TFormula.h"
#include "TAxis.h"
#include "TChain.h"
#include "TTree.h"
#include "TH1F.h"
#include "TH2F.h"
#include "TH3F.h"
#include "TProfile.h"
#include "TList.h"
#include "TFile.h"
#include "TGrid.h"
#include "TExMap.h"
#include "AliCentrality.h"
#include "Riostream.h"

#include "AliAnalysisDataSlot.h"
 #include "AliAnalysisDataContainer.h"

#include "AliTHn.h"    
#include "AliCFContainer.h"
#include "THn.h"
#include "THnSparse.h"
#include "TBits.h"
#include <TSpline.h>
#include <AliPID.h>
#include "AliESDpid.h"
#include "AliAODpidUtil.h"
#include <AliPIDResponse.h>
#include "AliPIDCombined.h"   

#include <AliInputEventHandler.h>
#include "AliAODInputHandler.h"

#include "AliAnalysisTaskSE.h"
#include "AliAnalysisManager.h"
#include "AliCentrality.h"

#include "AliVEvent.h"
#include "AliAODEvent.h"
#include "AliAODTrack.h"
#include "AliVTrack.h"
#include "AliAODv0.h"
#include "AliAODcascade.h"

#include "THnSparse.h"

#include "AliAODMCHeader.h"
#include "AliAODMCParticle.h"
#include "AliMCEventHandler.h"
#include "AliMCEvent.h"
#include "AliMCParticle.h"
#include "TParticle.h"
#include <TDatabasePDG.h>
#include <TParticlePDG.h>

#include "AliGenCocktailEventHeader.h"
#include "AliGenEventHeader.h"
#include "AliCollisionGeometry.h"
#include "AliOADBContainer.h"

#include "AliEventPoolManager.h"
#include "AliAnalysisUtils.h"
using namespace AliPIDNameSpace;
using namespace std;

ClassImp(AliTwoParticlePIDCorr)
ClassImp(LRCParticlePID)

const char * kPIDTypeName[]={"TPC","TOF","TPC-TOF"} ;
const char * kDetectorName[]={"ITS","TPC","TOF"} ;
const char * kParticleSpeciesName[]={"Pions","Kaons","Protons","Undefined"} ;
//Source code::dphicorrelations,VnV0, TaskBFpsi, AliHelperPID, 

//________________________________________________________________________
AliTwoParticlePIDCorr::AliTwoParticlePIDCorr() // All data members should be initialised here
:AliAnalysisTaskSE(),
  fOutput(0),
   fOutputList(0),
  fList(0),
  fCentralityMethod("V0A"),
  fPPVsMultUtils(kFALSE),
  fSampleType("pPb"),
 fRequestEventPlane(kFALSE),
 fRequestEventPlanemixing(kFALSE),
  fnTracksVertex(1),  // QA tracks pointing to principal vertex (= 3 default)
  trkVtx(0),
  zvtx(0),
  fFilterBit(768),
  fTrackStatus(0),
  fSharedClusterCut(-1),
 fSharedTPCmapCut(-1),
 fSharedfraction_Pair_cut(-1),
  fVertextype(1),
 skipParticlesAbove(0),
  fzvtxcut(10.0),
  fVxMax_MC(0.3),
  fVyMax_MC(0.3),
  fVzMax_MC(10.),
  ffilltrigassoUNID(kFALSE),
  ffilltrigUNIDassoID(kFALSE),
  ffilltrigIDassoUNID(kTRUE),
  ffilltrigIDassoID(kFALSE),
  ffilltrigIDassoIDMCTRUTH(kFALSE),
  fMaxNofMixingTracks(50000),
  fPtOrderMCTruth(kTRUE),
 fPtOrderDataReco(kTRUE),
  fWeightPerEvent(kFALSE),
  fTriggerSpeciesSelection(kFALSE),
  fAssociatedSpeciesSelection(kFALSE),
 fRandomizeReactionPlane(kFALSE),
  fTriggerSpecies(SpPion),
  fAssociatedSpecies(SpPion),
  fCustomBinning(""),
  fBinningString(""),
  fSelectHighestPtTrig(kFALSE),
  fcontainPIDtrig(kTRUE),
  fcontainPIDasso(kFALSE),
  SetChargeAxis(0),
  frejectPileUp(kFALSE),
  fminPt(0.2),
  fmaxPt(20.0),
  fmineta(-0.8),
  fmaxeta(0.8),
  fselectprimaryTruth(kTRUE),
  fonlyprimarydatareco(kFALSE),
  fdcacut(kFALSE),
  fdcacutvalue(3.0),
  ffillhistQAReco(kFALSE),
  ffillhistQATruth(kFALSE),
  kTrackVariablesPair(0),
  fminPtTrig(0),
  fmaxPtTrig(0),
  fminPtComboeff(2.0),
  fmaxPtComboeff(4.0), 
  fminPtAsso(0),
  fmaxPtAsso(0),
 fmincentmult(0),
 fmaxcentmult(0), 
 fPriHistShare(0),
  fhistcentrality(0),
 fhistImpactParm(0),
 fhistImpactParmvsMult(0x0),
 fNchNpartCorr(0x0),
  fEventCounter(0),
  fEtaSpectrasso(0),
  fphiSpectraasso(0),
  MCtruthpt(0),
  MCtrutheta(0),
  MCtruthphi(0),
  MCtruthpionpt(0),
  MCtruthpioneta(0),
  MCtruthpionphi(0),
  MCtruthkaonpt(0),
  MCtruthkaoneta(0),
  MCtruthkaonphi(0),
  MCtruthprotonpt(0),
  MCtruthprotoneta(0),
  MCtruthprotonphi(0),
  fPioncont(0),
  fKaoncont(0),
  fProtoncont(0),
  fUNIDcont(0),
  fEventno(0),
  fEventnobaryon(0),
  fEventnomeson(0),
 fhistJetTrigestimate(0),
fTwoTrackDistancePtdip(0x0),
fTwoTrackDistancePtdipmix(0x0),
  fCentralityCorrelation(0x0),
 fHistVZEROAGainEqualizationMap(0),
  fHistVZEROCGainEqualizationMap(0),
 fHistVZEROChannelGainEqualizationMap(0),
fCentralityWeights(0),
 fHistCentStats(0x0),
 fHistRefmult(0x0),
 fHistEQVZEROvsTPCmultiplicity(0x0),
    fHistEQVZEROAvsTPCmultiplicity(0x0),
    fHistEQVZEROCvsTPCmultiplicity(0x0),
    fHistVZEROCvsEQVZEROCmultiplicity(0x0),
    fHistVZEROAvsEQVZEROAmultiplicity(0x0),
    fHistVZEROCvsVZEROAmultiplicity(0x0),
    fHistEQVZEROCvsEQVZEROAmultiplicity(0x0),
    fHistVZEROSignal(0x0),
fHistEventPlaneTruth(0x0),
fHistPsiMinusPhi(0x0),
fEventPlanePID(0x0),
evplaneMC(999.),
 fgPsi2v0a(999.),
    fgPsi2v0c(999.),
    fgPsi2tpc(999.),
    fgPsi3v0a(999.),
    fgPsi3v0c(999.),
    fgPsi3tpc(999.),
    fgPsi2v0aMC(999.),
    fgPsi2v0cMC(999.),
    fgPsi2tpcMC(999.),
    fgPsi3v0aMC(999.),
    fgPsi3v0cMC(999.),
    fgPsi3tpcMC(999.),
 gReactionPlane(999.),
  fV2(kTRUE),
 fV3(kFALSE),
 fIsAfter2011(kTRUE),
  fRun(-1),
  fNcluster(70),
 fEPdet("V0A"),  
 fMultV0(NULL),
  fV0Cpol(100),
  fV0Apol(100),
 fHResTPCv0A2(NULL),
fHResTPCv0C2(NULL),
fHResv0Cv0A2(NULL),
fHResTPCv0A3(NULL),
fHResTPCv0C3(NULL),
fHResv0Cv0A3(NULL),
 fHResMA2(NULL),
fHResMC2(NULL),
fHResAC2(NULL),
fHResMA3(NULL),
fHResMC3(NULL),
fHResAC3(NULL),
fPhiRPTPC(NULL),
fPhiRPTPCv3(NULL),
fPhiRPv0A(NULL),
fPhiRPv0C(NULL),
fPhiRPv0Av3(NULL),
fPhiRPv0Cv3(NULL),
 fControlConvResoncances(0),
  fHistoTPCdEdx(0x0),
  fHistoTOFbeta(0x0),
  fTPCTOFPion3d(0),
  fTPCTOFKaon3d(0),
  fTPCTOFProton3d(0),
  fPionPt(0),
  fPionEta(0),
  fPionPhi(0),
  fKaonPt(0),
  fKaonEta(0),
  fKaonPhi(0),
  fProtonPt(0),
  fProtonEta(0),
  fProtonPhi(0),
  fCorrelatonTruthPrimary(0),
  fCorrelatonTruthPrimarymix(0),
  fTHnCorrUNID(0),
  fTHnCorrUNIDmix(0),
  fTHnCorrID(0),
  fTHnCorrIDmix(0),
  fTHnCorrIDUNID(0),
  fTHnCorrIDUNIDmix(0),
  fTHnTrigcount(0),
  fTHnTrigcountMCTruthPrim(0),
  fPoolMgr(0x0),
  fArrayMC(0),
  fAnalysisType("AOD"), 
  fefffilename(""),
 ftwoTrackEfficiencyCutDataReco(kTRUE),
fTwoTrackCutMinRadius(0.8),
fTwoTrackCutMaxRadius(2.5),
  twoTrackEfficiencyCutValue(0.02),
  fPID(NULL),
 fPIDCombined(NULL),
 eventno(0),
  fPtTOFPIDmin(0.5),
  fPtTOFPIDmax(4.0),
  fRequestTOFPID(kTRUE),
  fPIDType(NSigmaTPCTOF),
 fFIllPIDQAHistos(kTRUE),
  fNSigmaPID(3),
  fBayesCut(0.8),
 fdiffPIDcutvalues(kFALSE),
 fPIDCutval1(0.0),
 fPIDCutval2(0.0),
 fPIDCutval3(0.0),
 fPIDCutval4(0.0),
 fHighPtKaonNSigmaPID(-1),
 fHighPtKaonSigma(3.5),
  fUseExclusiveNSigma(kFALSE),
  fRemoveTracksT0Fill(kFALSE),
fSelectCharge(0),
fTriggerSelectCharge(0),
fAssociatedSelectCharge(0),
fTriggerRestrictEta(-1),
fEtaOrdering(kFALSE),
fCutConversions(kFALSE),
fCutResonances(kFALSE),
fRejectResonanceDaughters(-1),
  fOnlyOneEtaSide(0),
fInjectedSignals(kFALSE),
  fRemoveWeakDecays(kFALSE),
fRemoveDuplicates(kFALSE),
  fapplyTrigefficiency(kFALSE),
  fapplyAssoefficiency(kFALSE),
  ffillefficiency(kFALSE),
  fmesoneffrequired(kFALSE),
  fkaonprotoneffrequired(kFALSE),
fAnalysisUtils(0x0),
 fDCAXYCut(0),
 fV0TrigCorr(kFALSE),
 fUsev0DaughterPID(kFALSE),
  fMinPtDaughter(1.0),// v0 related cut starts here
  fMaxPtDaughter(4.0),
  fDCAToPrimVtx(0.1),
  fMaxDCADaughter(1.0),
  fMinCPA(0.998),
  lMax(100),
  fHistRawPtCentInvK0s(0x0),
  fHistRawPtCentInvLambda(0x0),
  fHistRawPtCentInvAntiLambda(0x0),
  fHistFinalPtCentInvK0s(0x0),
  fHistFinalPtCentInvLambda(0x0),
  fHistFinalPtCentInvAntiLambda(0x0),
  NCtau(3.0),
fCutctauK0s(2.68),
  fCutctauLambda(7.8),
  fCutctauAntiLambda(7.8),
  fRapCutK0s(0.7),
  fRapCutLambda(0.7),
fDaugNClsTPC(70),
fFracTPCcls(0) 

{ 
 for ( Int_t i = 0; i < 16; i++) { 
    fHistQA[i] = NULL;
  }

 for ( Int_t i = 0; i < 6; i++ ){
    fTrackHistEfficiency[i] = NULL;
    effcorection[i]=NULL;
    //effmap[i]=NULL;
  }
 for ( Int_t i = 0; i < 2; i++ ){
   fTwoTrackDistancePt[i]=NULL;
   fTwoTrackDistancePtmix[i]=NULL;
}

 for(Int_t ipart=0;ipart<NSpecies;ipart++)
    for(Int_t ipid=0;ipid<=NSigmaPIDType;ipid++)
      fnsigmas[ipart][ipid]=999.;

 for(Int_t ipart=0;ipart<NSpecies;ipart++) {fHasDoubleCounting[ipart]=kFALSE;}

  for(Int_t i = 0; i != 2; ++i)
    for(Int_t j = 0; j != 2; ++j)
      for(Int_t iC = 0; iC < 9; iC++){
	fMeanQ[iC][i][j] = 0.;
	fWidthQ[iC][i][j] = 1.;
        fMeanQv3[iC][i][j] = 0.;
	fWidthQv3[iC][i][j] = 1.;
    }

  }
//________________________________________________________________________
AliTwoParticlePIDCorr::AliTwoParticlePIDCorr(const char *name) // All data members should be initialised here
  :AliAnalysisTaskSE(name),
 fOutput(0),
   fOutputList(0),
   fList(0),
 fCentralityMethod("V0A"),
  fPPVsMultUtils(kFALSE),
  fSampleType("pPb"),
 fRequestEventPlane(kFALSE),
 fRequestEventPlanemixing(kFALSE),
  fnTracksVertex(1),  // QA tracks pointing to principal vertex (= 3 default)
  trkVtx(0),
  zvtx(0),
  fFilterBit(768),
  fTrackStatus(0),
  fSharedClusterCut(-1),
  fSharedTPCmapCut(-1),
 fSharedfraction_Pair_cut(-1),
  fVertextype(1),
   skipParticlesAbove(0),
  fzvtxcut(10.0),
  fVxMax_MC(0.3),
  fVyMax_MC(0.3),
  fVzMax_MC(10.),
  ffilltrigassoUNID(kFALSE),
  ffilltrigUNIDassoID(kFALSE),
  ffilltrigIDassoUNID(kTRUE),
  ffilltrigIDassoID(kFALSE),
  ffilltrigIDassoIDMCTRUTH(kFALSE),
  fMaxNofMixingTracks(50000),
  fPtOrderMCTruth(kTRUE),
  fPtOrderDataReco(kTRUE),
  fWeightPerEvent(kFALSE),
  fTriggerSpeciesSelection(kFALSE),
  fAssociatedSpeciesSelection(kFALSE),
   fRandomizeReactionPlane(kFALSE),
  fTriggerSpecies(SpPion),
  fAssociatedSpecies(SpPion),
  fCustomBinning(""),
  fBinningString(""),
  fSelectHighestPtTrig(kFALSE),
  fcontainPIDtrig(kTRUE),
  fcontainPIDasso(kFALSE),
  SetChargeAxis(0),
  frejectPileUp(kFALSE),
  fminPt(0.2),
  fmaxPt(20.0),
  fmineta(-0.8),
  fmaxeta(0.8),
  fselectprimaryTruth(kTRUE),
  fonlyprimarydatareco(kFALSE),
   fdcacut(kFALSE),
  fdcacutvalue(3.0),
  ffillhistQAReco(kFALSE),
  ffillhistQATruth(kFALSE),
 kTrackVariablesPair(0),
  fminPtTrig(0),
  fmaxPtTrig(0),
  fminPtComboeff(2.0),
  fmaxPtComboeff(4.0), 
  fminPtAsso(0),
  fmaxPtAsso(0),
   fmincentmult(0),
   fmaxcentmult(0),
   fPriHistShare(0),
  fhistcentrality(0),
   fhistImpactParm(0),
   fhistImpactParmvsMult(0x0),
   fNchNpartCorr(0x0),
  fEventCounter(0),
  fEtaSpectrasso(0),
  fphiSpectraasso(0),
  MCtruthpt(0),
  MCtrutheta(0),
  MCtruthphi(0),
  MCtruthpionpt(0),
  MCtruthpioneta(0),
  MCtruthpionphi(0),
  MCtruthkaonpt(0),
  MCtruthkaoneta(0),
  MCtruthkaonphi(0),
  MCtruthprotonpt(0),
  MCtruthprotoneta(0),
  MCtruthprotonphi(0),
  fPioncont(0),
  fKaoncont(0),
  fProtoncont(0),
   fUNIDcont(0),
  fEventno(0),
  fEventnobaryon(0),
  fEventnomeson(0),
  fhistJetTrigestimate(0),
fTwoTrackDistancePtdip(0x0),
fTwoTrackDistancePtdipmix(0x0),
  fCentralityCorrelation(0x0),
 fHistVZEROAGainEqualizationMap(0),
  fHistVZEROCGainEqualizationMap(0),
   fHistVZEROChannelGainEqualizationMap(0),
fCentralityWeights(0),
  fHistCentStats(0x0),
  fHistRefmult(0x0),
    fHistEQVZEROvsTPCmultiplicity(0x0),
    fHistEQVZEROAvsTPCmultiplicity(0x0),
    fHistEQVZEROCvsTPCmultiplicity(0x0),
    fHistVZEROCvsEQVZEROCmultiplicity(0x0),
    fHistVZEROAvsEQVZEROAmultiplicity(0x0),
    fHistVZEROCvsVZEROAmultiplicity(0x0),
    fHistEQVZEROCvsEQVZEROAmultiplicity(0x0),
    fHistVZEROSignal(0x0),
fHistEventPlaneTruth(0x0),
   fHistPsiMinusPhi(0x0),
fEventPlanePID(0x0),
evplaneMC(999.),
 fgPsi2v0a(999.),
    fgPsi2v0c(999.),
    fgPsi2tpc(999.),
    fgPsi3v0a(999.),
    fgPsi3v0c(999.),
    fgPsi3tpc(999.),
    fgPsi2v0aMC(999.),
    fgPsi2v0cMC(999.),
    fgPsi2tpcMC(999.),
    fgPsi3v0aMC(999.),
    fgPsi3v0cMC(999.),
    fgPsi3tpcMC(999.),
   gReactionPlane(999.),
 fV2(kTRUE),
 fV3(kFALSE),
 fIsAfter2011(kTRUE),
  fRun(-1),
  fNcluster(70),
   fEPdet("V0A"),  
 fMultV0(NULL),
  fV0Cpol(100),
  fV0Apol(100),
 fHResTPCv0A2(NULL),
fHResTPCv0C2(NULL),
fHResv0Cv0A2(NULL),
fHResTPCv0A3(NULL),
fHResTPCv0C3(NULL),
fHResv0Cv0A3(NULL),
 fHResMA2(NULL),
fHResMC2(NULL),
fHResAC2(NULL),
fHResMA3(NULL),
fHResMC3(NULL),
fHResAC3(NULL),
fPhiRPTPC(NULL),
fPhiRPTPCv3(NULL),
fPhiRPv0A(NULL),
fPhiRPv0C(NULL),
fPhiRPv0Av3(NULL),
fPhiRPv0Cv3(NULL),
  fControlConvResoncances(0), 
  fHistoTPCdEdx(0x0),
  fHistoTOFbeta(0x0),
  fTPCTOFPion3d(0),
  fTPCTOFKaon3d(0),
  fTPCTOFProton3d(0),
  fPionPt(0),
  fPionEta(0),
  fPionPhi(0),
  fKaonPt(0),
  fKaonEta(0),
  fKaonPhi(0),
  fProtonPt(0),
  fProtonEta(0),
  fProtonPhi(0),
  fCorrelatonTruthPrimary(0),
 fCorrelatonTruthPrimarymix(0),
  fTHnCorrUNID(0),
  fTHnCorrUNIDmix(0),
  fTHnCorrID(0),
  fTHnCorrIDmix(0),
  fTHnCorrIDUNID(0),
  fTHnCorrIDUNIDmix(0),
  fTHnTrigcount(0),
  fTHnTrigcountMCTruthPrim(0),
  fPoolMgr(0x0),
  fArrayMC(0),
  fAnalysisType("AOD"),
  fefffilename(""),
  ftwoTrackEfficiencyCutDataReco(kTRUE),
fTwoTrackCutMinRadius(0.8),
fTwoTrackCutMaxRadius(2.5),
  twoTrackEfficiencyCutValue(0.02),
  fPID(NULL),
  fPIDCombined(NULL),
  eventno(0),
 fPtTOFPIDmin(0.5),
  fPtTOFPIDmax(4.0),
  fRequestTOFPID(kTRUE),
  fPIDType(NSigmaTPCTOF),
  fFIllPIDQAHistos(kTRUE),
  fNSigmaPID(3),
  fBayesCut(0.8),
 fdiffPIDcutvalues(kFALSE),
 fPIDCutval1(0.0),
 fPIDCutval2(0.0),
 fPIDCutval3(0.0),
 fPIDCutval4(0.0),
fHighPtKaonNSigmaPID(-1),
 fHighPtKaonSigma(3.5),
  fUseExclusiveNSigma(kFALSE),
  fRemoveTracksT0Fill(kFALSE),
fSelectCharge(0),
fTriggerSelectCharge(0),
fAssociatedSelectCharge(0),
fTriggerRestrictEta(-1),
fEtaOrdering(kFALSE),
fCutConversions(kFALSE),
fCutResonances(kFALSE),
fRejectResonanceDaughters(-1),
  fOnlyOneEtaSide(0),
fInjectedSignals(kFALSE),
  fRemoveWeakDecays(kFALSE),
fRemoveDuplicates(kFALSE),
  fapplyTrigefficiency(kFALSE),
  fapplyAssoefficiency(kFALSE),
  ffillefficiency(kFALSE),
 fmesoneffrequired(kFALSE),
 fkaonprotoneffrequired(kFALSE),
   fAnalysisUtils(0x0),
   fDCAXYCut(0),
 fV0TrigCorr(kFALSE),
 fUsev0DaughterPID(kFALSE),
  fMinPtDaughter(1.0),// v0 related cut starts here
  fMaxPtDaughter(4.0),
  fDCAToPrimVtx(0.1),
  fMaxDCADaughter(1.0),
  fMinCPA(0.998),
  lMax(100),
  fHistRawPtCentInvK0s(0x0),
  fHistRawPtCentInvLambda(0x0),
  fHistRawPtCentInvAntiLambda(0x0),
  fHistFinalPtCentInvK0s(0x0),
  fHistFinalPtCentInvLambda(0x0),
  fHistFinalPtCentInvAntiLambda(0x0),
  NCtau(3.0),
fCutctauK0s(2.68),
  fCutctauLambda(7.8),
  fCutctauAntiLambda(7.8),
  fRapCutK0s(0.7),
  fRapCutLambda(0.7),
fDaugNClsTPC(70),
fFracTPCcls(0)    
    
  // The last in the above list should not have a comma after it
     
{
  
   for ( Int_t i = 0; i < 16; i++) { 
    fHistQA[i] = NULL;
  }
 
for ( Int_t i = 0; i < 6; i++ ){
    fTrackHistEfficiency[i] = NULL;
    effcorection[i]=NULL;
    //effmap[i]=NULL;
  }

for ( Int_t i = 0; i < 2; i++ ){
   fTwoTrackDistancePt[i]=NULL;
   fTwoTrackDistancePtmix[i]=NULL;
}

 for(Int_t ipart=0;ipart<NSpecies;ipart++)
    for(Int_t ipid=0;ipid<=NSigmaPIDType;ipid++)
      fnsigmas[ipart][ipid]=999.;

   for(Int_t ipart=0;ipart<NSpecies;ipart++) {fHasDoubleCounting[ipart]=kFALSE;}

  for(Int_t i = 0; i != 2; ++i)
    for(Int_t j = 0; j != 2; ++j)
      for(Int_t iC = 0; iC < 9; iC++){
	fMeanQ[iC][i][j] = 0.;
	fWidthQ[iC][i][j] = 1.;
        fMeanQv3[iC][i][j] = 0.;
	fWidthQv3[iC][i][j] = 1.;
    }
  
  // Constructor
  // Define input and output slots here (never in the dummy constructor)
  // Input slot #0 works with a TChain - it is connected to the default input container
  // Output slot #1 writes into a TH1 container
     DefineInput(0, TChain::Class());

  DefineOutput(1, TList::Class());                                        // for output list
  DefineOutput(2, TList::Class());
  DefineOutput(3, TList::Class());

}

//________________________________________________________________________
AliTwoParticlePIDCorr::~AliTwoParticlePIDCorr()
{
  // Destructor. Clean-up the output list, but not the histograms that are put inside
  // (the list is owner and will clean-up these histograms). Protect in PROOF case.
  if (fOutput && !AliAnalysisManager::GetAnalysisManager()->IsProofMode()) {
    delete fOutput;

  }

if (fOutputList && !AliAnalysisManager::GetAnalysisManager()->IsProofMode()) {
    delete fOutputList;

  }

if(fRequestEventPlane){
if (fList && !AliAnalysisManager::GetAnalysisManager()->IsProofMode()) {
    delete fList;
 }
 }

  if (fPID) delete fPID;
  if (fPIDCombined) delete fPIDCombined;

  }
//________________________________________________________________________

//////////////////////////////////////////////////////////////////////////////////////////////////

TH2F* AliTwoParticlePIDCorr::GetHistogram2D(const char * name){
  // returns histo named name
  return (TH2F*) fOutputList->FindObject(name);
}

//////////////////////////////////////////////////////////////////////////////////////////////////

Float_t AliTwoParticlePIDCorr::PhiRange(Float_t DPhi)

{
	//
	// Puts the argument in the range [-pi/2,3 pi/2].
	//
	
	if (DPhi < -TMath::Pi()/2) DPhi += 2*TMath::Pi();
	if (DPhi > 3*TMath::Pi()/2) DPhi -= 2*TMath::Pi();	

	return DPhi;
	
}
//________________________________________________________________________
void AliTwoParticlePIDCorr::UserCreateOutputObjects()
{
  // Create histograms
  // Called once (on the worker node)

// global switch disabling the reference 
  // (to avoid "Replacing existing TH1" if several wagons are created in train)
  Bool_t oldStatus = TH1::AddDirectoryStatus();
  TH1::AddDirectory(kFALSE);

  const Int_t nPsiTOF = 10;  
  const Int_t nCentrBin = 9;  


  fOutput = new TList();
  fOutput->SetOwner();  // IMPORTANT!  

  fOutputList = new TList;
  fOutputList->SetOwner();
  fOutputList->SetName("PIDQAList");

  if(fRequestEventPlane){
  fList = new TList;
  fList->SetOwner();
  fList->SetName("EPQAList");
  }
  fEventCounter = new TH1F("fEventCounter","EventCounter", 19, 0.5,19.5);
  fEventCounter->GetXaxis()->SetBinLabel(1,"Event Accesed");
  fEventCounter->GetXaxis()->SetBinLabel(3,"After PileUP Cut");//only for Data
  fEventCounter->GetXaxis()->SetBinLabel(5,"Have A Vertex");
  fEventCounter->GetXaxis()->SetBinLabel(7,"After vertex Cut");
  fEventCounter->GetXaxis()->SetBinLabel(9,"Getting centrality");
  fEventCounter->GetXaxis()->SetBinLabel(11,"After centrality flattening");
  fEventCounter->GetXaxis()->SetBinLabel(13,"Within 0-100% centrality");
  fEventCounter->GetXaxis()->SetBinLabel(15,"Event Analyzed");
  //fEventCounter->GetXaxis()->SetBinLabel(8,"Event Analysis finished");
  fOutput->Add(fEventCounter);
  
fEtaSpectrasso=new TH2F("fEtaSpectraasso","fEtaSpectraasso",180,-0.9,0.9,100,0.,20. );
fOutput->Add(fEtaSpectrasso);

fphiSpectraasso=new TH2F("fphiSpectraasso","fphiSpectraasso",72,0,2*TMath::Pi(),100,0.,20.);
fOutput->Add(fphiSpectraasso);

 if(fSampleType=="pPb" || fSampleType=="PbPb" || fPPVsMultUtils==kTRUE || fCentralityMethod == "MC_b"){ fCentralityCorrelation = new TH2D("fCentralityCorrelation", ";centrality_ImpactParam;multiplicity", 101, 0, 101, 20000, 0,40000);
      fOutput->Add(fCentralityCorrelation);
 }

if(fCentralityMethod=="V0M" || fCentralityMethod=="V0A" || fCentralityMethod=="V0C" || fCentralityMethod=="CL1" || fCentralityMethod=="ZNA" || fCentralityMethod=="V0AEq" || fCentralityMethod=="V0CEq" || fCentralityMethod=="V0MEq")
  {
 TString gCentName[8] = {"V0A","V0C","V0M","V0AEq","V0CEq","V0MEq","CL1","ZNA"};
  fHistCentStats = new TH2F("fHistCentStats",
                             "Centrality statistics;;Cent percentile",
			    8,-0.5,7.5,220,-5,105);
  for(Int_t i = 1; i <= 8; i++){
    fHistCentStats->GetXaxis()->SetBinLabel(i,gCentName[i-1].Data());
    //fHistCentStatsUsed->GetXaxis()->SetBinLabel(i,gCentName[i-1].Data());
  }
  fOutput->Add(fHistCentStats);
  }

if(fSampleType=="pp_2_76" || fCentralityMethod.EndsWith("_MANUAL") || (fSampleType=="pp_7" && fPPVsMultUtils==kFALSE))
  {
fhistcentrality=new TH1F("fhistcentrality","referencemultiplicity",30001,-0.5,30000.5);
fOutput->Add(fhistcentrality);
  }
 else{
fhistcentrality=new TH1F("fhistcentrality","centrality",220,-5,105);
fOutput->Add(fhistcentrality);
 }
 if(fCentralityMethod=="MC_b"){
fhistImpactParm=new TH1F("fhistImpactParm","Impact_Parameter",300,0,300);
fOutput->Add(fhistImpactParm);
fhistImpactParmvsMult=new TH2F("fhistImpactParmvsMult","fhistImpactParmvsMult",300,0,300,5001,-0.5,50000.5);
fOutput->Add(fhistImpactParmvsMult);
 }

 if(fAnalysisType =="MCAOD" || fAnalysisType =="MC"){
fNchNpartCorr=new TH2F("fNchNpartCorr","fNchNpartCorr",500,0.0,500.0,5001,-0.5,50000.5);
fOutput->Add(fNchNpartCorr);
 }

 TString gmultName[4] = {"V0A_MANUAL","V0C_MANUAL","V0M_MANUAL","TRACKS_MANUAL"};
  fHistRefmult = new TH2F("fHistRefmult",
                             "Reference multiplicity",
			    4,-0.5,3.5,10000,0,20000);
  for(Int_t i = 1; i <= 4; i++){
    fHistRefmult->GetXaxis()->SetBinLabel(i,gmultName[i-1].Data());
  }
  fOutput->Add(fHistRefmult);

 if(fCentralityMethod == "V0A_MANUAL" || fCentralityMethod == "V0M_MANUAL" || fCentralityMethod == "V0C_MANUAL" ){
 //TPC vs EQVZERO multiplicity
    fHistEQVZEROvsTPCmultiplicity = new TH2F("fHistEQVZEROvsTPCmultiplicity","EqVZERO vs TPC multiplicity",10001,-0.5,10000.5,4001,-0.5,4000.5);
    fHistEQVZEROvsTPCmultiplicity->GetXaxis()->SetTitle("EqVZERO multiplicity (a.u.)");
    fHistEQVZEROvsTPCmultiplicity->GetYaxis()->SetTitle("TPC multiplicity (a.u.)");
    fOutput->Add(fHistEQVZEROvsTPCmultiplicity);


    fHistEQVZEROAvsTPCmultiplicity = new TH2F("fHistEQVZEROAvsTPCmultiplicity","EqVZERO_A vs TPC multiplicity",10001,-0.5,10000.5,4001,-0.5,4000.5);
    fHistEQVZEROAvsTPCmultiplicity->GetXaxis()->SetTitle("EqVZERO_A multiplicity (a.u.)");
    fHistEQVZEROAvsTPCmultiplicity->GetYaxis()->SetTitle("TPC multiplicity (a.u.)");
    fOutput->Add(fHistEQVZEROAvsTPCmultiplicity);


    fHistEQVZEROCvsTPCmultiplicity = new TH2F("fHistEQVZEROCvsTPCmultiplicity","EqVZERO_C vs TPC multiplicity",10001,-0.5,10000.5,4001,-0.5,4000.5);
    fHistEQVZEROCvsTPCmultiplicity->GetXaxis()->SetTitle("EqVZERO_C multiplicity (a.u.)");
    fHistEQVZEROCvsTPCmultiplicity->GetYaxis()->SetTitle("TPC multiplicity (a.u.)");
    fOutput->Add(fHistEQVZEROCvsTPCmultiplicity);

 //EQVZERO vs VZERO multiplicity
  fHistVZEROCvsEQVZEROCmultiplicity = new TH2F("fHistVZEROCvsEQVZEROCmultiplicity","EqVZERO_C vs VZERO_C multiplicity",10001,-0.5,10000.5,10001,-0.5,10000.5);
    fHistVZEROCvsEQVZEROCmultiplicity->GetXaxis()->SetTitle("VZERO_C multiplicity (a.u.)");
    fHistVZEROCvsEQVZEROCmultiplicity->GetYaxis()->SetTitle("EqVZERO_C multiplicity (a.u.)");
    fOutput->Add(fHistVZEROCvsEQVZEROCmultiplicity);


fHistVZEROAvsEQVZEROAmultiplicity = new TH2F("fHistVZEROAvsEQVZEROAmultiplicity","EqVZERO_A vs VZERO_A multiplicity",10001,-0.5,10000.5,10001,-0.5,10000.5);
    fHistVZEROAvsEQVZEROAmultiplicity->GetXaxis()->SetTitle("VZERO_A multiplicity (a.u.)");
    fHistVZEROAvsEQVZEROAmultiplicity->GetYaxis()->SetTitle("EqVZERO_A multiplicity (a.u.)");
    fOutput->Add(fHistVZEROAvsEQVZEROAmultiplicity);


  //VZEROC vs VZEROA multiplicity
fHistVZEROCvsVZEROAmultiplicity = new TH2F("fHistVZEROCvsVZEROAmultiplicity","VZERO_C vs VZERO_A multiplicity",10001,-0.5,10000.5,10001,-0.5,10000.5);
    fHistVZEROCvsVZEROAmultiplicity->GetXaxis()->SetTitle("VZERO_C multiplicity (a.u.)");
    fHistVZEROCvsVZEROAmultiplicity->GetYaxis()->SetTitle("VZERO_A multiplicity (a.u.)");
    fOutput->Add(fHistVZEROCvsVZEROAmultiplicity);



  //EQVZEROC vs EQVZEROA multiplicity
fHistEQVZEROCvsEQVZEROAmultiplicity = new TH2F("fHistEQVZEROCvsEQVZEROAmultiplicity","EqVZERO_C vs EqVZERO_A multiplicity",10001,-0.5,10000.5,10001,-0.5,10000.5);
    fHistEQVZEROCvsEQVZEROAmultiplicity->GetXaxis()->SetTitle("EqVZERO_C multiplicity (a.u.)");
    fHistEQVZEROCvsEQVZEROAmultiplicity->GetYaxis()->SetTitle("EqVZERO_A multiplicity (a.u.)");
    fOutput->Add(fHistEQVZEROCvsEQVZEROAmultiplicity);

 fHistVZEROSignal = new TH2F("fHistVZEROSignal","VZERO signal vs VZERO channel;VZERO channel; Signal (a.u.)",64,0.5,64.5,3001,-0.5,30000.5);
  fOutput->Add(fHistVZEROSignal);
 }


 if(fRequestEventPlane){
//Event plane
 
  fHistPsiMinusPhi = new TH2D("fHistPsiMinusPhi","",4,-0.5,3.5,100,0,2.*TMath::Pi());
  fList->Add(fHistPsiMinusPhi);

  fEventPlanePID = new TH3F("fEventPlanePID",";centrality;eventplane;PID",20,0.0,100.0,4,-0.5,3.5,4,-0.5,3.5);
  fList->Add(fEventPlanePID);

 }
 
if(fCutConversions || fCutResonances)
    {
fControlConvResoncances = new TH2F("fControlConvResoncances", ";id;delta mass", 3, -0.5, 2.5, 100, -0.1, 0.1);
 fOutput->Add(fControlConvResoncances);
    }

fHistoTPCdEdx = new TH2F("fHistoTPCdEdx", ";p_{T} (GeV/c);dE/dx (au.)",200,0.0,10.0,500, 0., 500.);
fOutputList->Add(fHistoTPCdEdx);
fHistoTOFbeta = new TH2F(Form("fHistoTOFbeta"), ";p_{T} (GeV/c);v/c",100, 0., fmaxPt, 500, 0.1, 1.1);
  fOutputList->Add(fHistoTOFbeta);
  
   fTPCTOFPion3d=new TH3F ("fTPCTOFpion3d", "fTPCTOFpion3d",100,0., 10., 120,-60.,60.,120,-60.,60);
   fOutputList->Add(fTPCTOFPion3d);
  
   fTPCTOFKaon3d=new TH3F ("fTPCTOFKaon3d", "fTPCTOFKaon3d",100,0., 10., 120,-60.,60.,120,-60.,60);
   fOutputList->Add(fTPCTOFKaon3d);

   fTPCTOFProton3d=new TH3F ("fTPCTOFProton3d", "fTPCTOFProton3d",100,0., 10., 120,-60.,60.,120,-60.,60);
   fOutputList->Add(fTPCTOFProton3d);

if(ffillhistQAReco)
    {
    fPionPt = new TH1F("fPionPt","p_{T} distribution",200,0.,10.);
 fOutputList->Add(fPionPt);
    fPionEta= new TH1F("fPionEta","#eta distribution",360,-1.8,1.8);
 fOutputList->Add(fPionEta);
    fPionPhi = new TH1F("fPionPhi","#phi distribution",340,0,6.8);
 fOutputList->Add(fPionPhi);
  
    fKaonPt = new TH1F("fKaonPt","p_{T} distribution",200,0.,10.);
 fOutputList->Add(fKaonPt);
    fKaonEta= new TH1F("fKaonEta","#eta distribution",360,-1.8,1.8);
 fOutputList->Add(fKaonEta);
    fKaonPhi = new TH1F("fKaonPhi","#phi distribution",340,0,6.8);
 fOutputList->Add(fKaonPhi);
  
    fProtonPt = new TH1F("fProtonPt","p_{T} distribution",200,0.,10.);
 fOutputList->Add(fProtonPt);
    fProtonEta= new TH1F("fProtonEta","#eta distribution",360,-1.8,1.8);
 fOutputList->Add(fProtonEta);
    fProtonPhi= new TH1F("fProtonPhi","#phi distribution",340,0,6.8);
 fOutputList->Add(fProtonPhi);
    }

  fHistQA[0] = new TH1F("fHistQAvx", "Histo Vx All ", 50, -5., 5.);
  fHistQA[1] = new TH1F("fHistQAvy", "Histo Vy All", 50, -5., 5.);
  fHistQA[2] = new TH1F("fHistQAvz", "Histo Vz All", 50, -25., 25.);  
  fHistQA[3] = new TH1F("fHistQAvxA", "Histo Vx  After Cut ", 50, -5., 5.);
  fHistQA[4] = new TH1F("fHistQAvyA", "Histo Vy After Cut", 50, -5., 5.);
  fHistQA[5] = new TH1F("fHistQAvzA", "Histo Vz After Cut", 50, -25., 25.);
  fHistQA[6] = new TH1F("fHistQADcaXyC", "Histo DCAxy after cut", 50, -5., 5.);
  fHistQA[7] = new TH1F("fHistQADcaZC", "Histo DCAz after cut", 50, -5., 5.);   
  fHistQA[8] = new TH1F("fHistQAPt","p_{T} distribution",200,0.,10.);
  fHistQA[9] = new TH1F("fHistQAEta","#eta distribution",360,-1.8,1.8);
  fHistQA[10] = new TH1F("fHistQAPhi","#phi distribution",340,0,6.8);
  fHistQA[11] = new TH1F("fHistQANCls","Number of TPC cluster",200,0,200);
  fHistQA[13] = new TH1F("fHistQAChi2","Chi2 per NDF",100,0,10);
 fHistQA[12] = new TH1F("fHistQANCls1","Number of TPC cluster1",200,0,200);
 fHistQA[14] = new TH1F("nCrossedRowsTPC","Number of TPC ccrossed rows",200,0,200);
 fHistQA[15] = new TH1F("ratioCrossedRowsOverFindableClustersTPC","Number of TPC ccrossed rows find clusters",200,0,2);
    
for(Int_t i = 0; i < 16; i++)
    {
      fOutput->Add(fHistQA[i]);
    }

    fPriHistShare = new TH1F ("fPriHistShare","Shared clusters, primaries;#shared clusters;counts",160,0,160);
    fOutput->Add(fPriHistShare);

   Int_t eventplaneaxis=0;

   if (fRequestEventPlane) eventplaneaxis=1;

   kTrackVariablesPair=6+SetChargeAxis+eventplaneaxis;

   if(fcontainPIDtrig && !fcontainPIDasso) kTrackVariablesPair=7+SetChargeAxis+eventplaneaxis;
 
 if(!fcontainPIDtrig && fcontainPIDasso) kTrackVariablesPair=7+SetChargeAxis+eventplaneaxis;
 
 if(fcontainPIDtrig && fcontainPIDasso) kTrackVariablesPair=8+SetChargeAxis+eventplaneaxis;
 
 
// two particle histograms
  Int_t anaSteps   = 1;       // analysis steps
  const char* title = "d^{2}N_{ch}/d#varphid#eta";

  Int_t iBinPair[kTrackVariablesPair];         // binning for track variables
  Double_t* dBinsPair[kTrackVariablesPair];    // bins for track variables  
  TString* axisTitlePair;  // axis titles for track variables
  axisTitlePair=new TString[kTrackVariablesPair];

 TString defaultBinningStr;
  defaultBinningStr =   "eta: -1.0, -0.9, -0.8, -0.7, -0.6, -0.5, -0.4, -0.3, -0.2, -0.1, 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0\n"
    "p_t_assoc: 0.5, 0.75, 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 8.0,10.0\n"
    "p_t_leading_course: 0.5, 1.0, 2.0, 3.0, 4.0, 6.0, 8.0,10.0\n"
    "p_t_eff:0.0,0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.25, 1.5, 1.75, 2.0, 2.25, 2.5, 2.75, 3.0, 3.25, 3.5, 3.75, 4.0, 4.5, 5.0,5.5, 6.0, 7.0, 8.0,9.0,10.0\n"
    "vertex: -10, -8, -6, -4, -2, 0, 2, 4, 6, 8, 10\n"
  "delta_phi: -1.570796, -1.483530, -1.396263, -1.308997, -1.221730, -1.134464, -1.047198, -0.959931, -0.872665, -0.785398, -0.698132, -0.610865, -0.523599, -0.436332, -0.349066, -0.261799, -0.174533, -0.087266, 0.0, 0.087266, 0.174533, 0.261799, 0.349066, 0.436332, 0.523599, 0.610865, 0.698132, 0.785398, 0.872665, 0.959931, 1.047198, 1.134464, 1.221730, 1.308997, 1.396263, 1.483530, 1.570796, 1.658063, 1.745329, 1.832596, 1.919862, 2.007129, 2.094395, 2.181662, 2.268928, 2.356194, 2.443461, 2.530727, 2.617994, 2.705260, 2.792527, 2.879793, 2.967060, 3.054326, 3.141593, 3.228859, 3.316126, 3.403392, 3.490659, 3.577925, 3.665191, 3.752458, 3.839724, 3.926991, 4.014257, 4.101524, 4.188790, 4.276057, 4.363323, 4.450590, 4.537856, 4.625123, 4.712389\n" // this binning starts at -pi/2 and is modulo 3 
	"delta_eta: -2.4, -2.3, -2.2, -2.1, -2.0, -1.9, -1.8, -1.7, -1.6, -1.5, -1.4, -1.3, -1.2, -1.1, -1.0, -0.9, -0.8, -0.7, -0.6, -0.5, -0.4, -0.3, -0.2, -0.1, 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2.0,2.1, 2.2, 2.3, 2.4\n"
      "multiplicity: 0, 1, 2, 3, 4, 5, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100.1\n"
      "multiplicity_mixing: 0., 1., 2., 3., 4., 5., 10., 20., 30., 40., 50., 60., 70., 80., 90., 100.1\n";


  if(fV0TrigCorr){
defaultBinningStr += "InvariantMass:0.200,0.300,0.398,0.399,0.4,0.401,0.402,0.403,0.404,0.405,0.406,0.407,0.408,0.409,0.41,0.411,0.412,0.413,0.414,0.415,0.416,0.417,0.418,0.419,0.42,0.421,0.422,0.423,0.424,0.425,0.426,0.427,0.428,0.429,0.43,0.431,0.432,0.433,0.434,0.435,0.436,0.437,0.438,0.439,0.44,0.441,0.442,0.443,0.444,0.445,0.446,0.447,0.448,0.449,0.45,0.451,0.452,0.453,0.454,0.455,0.456,0.457,0.458,0.459,0.46,0.461,0.462,0.463,0.464,0.465,0.466,0.467,0.468,0.469,0.47,0.471,0.472,0.473,0.474,0.475,0.476,0.477,0.478,0.479,0.48,0.481,0.482,0.483,0.484,0.485,0.486,0.487,0.488,0.489,0.49,0.491,0.492,0.493,0.494,0.495,0.496,0.497,0.498,0.499,0.5,0.501,0.502,0.503,0.504,0.505,0.506,0.507,0.508,0.509,0.51,0.511,0.512,0.513,0.514,0.515,0.516,0.517,0.518,0.519,0.52,0.521,0.522,0.523,0.524,0.525,0.526,0.527,0.528,0.529,0.53,0.531,0.532,0.533,0.534,0.535,0.536,0.537,0.538,0.539,0.54,0.541,0.542,0.543,0.544,0.545,0.546,0.547,0.548,0.549,0.55,0.551,0.552,0.553,0.554,0.555,0.556,0.557,0.558,0.559,0.56,0.561,0.562,0.563,0.564,0.565,0.566,0.567,0.568,0.569,0.57,0.571,0.572,0.573,0.574,0.575,0.576,0.577,0.578,0.579,0.58,0.581,0.582,0.583,0.584,0.585,0.586,0.587,0.588,0.589,0.59,0.591,0.592,0.593,0.594,0.595,0.596,0.597,0.598,0.599,0.600,0.700,0.800,0.900,1.000,1.065,1.066,1.067,1.068,1.069,1.07,1.071,1.072,1.073,1.074,1.075,1.076,1.077,1.078,1.079,1.08,1.081,1.082,1.083,1.084,1.085,1.086,1.087,1.088,1.089,1.09,1.091,1.092,1.093,1.094,1.095,1.096,1.097,1.098,1.099,1.1,1.101,1.102,1.103,1.104,1.105,1.106,1.107,1.108,1.109,1.11,1.111,1.112,1.113,1.114,1.115,1.116,1.117,1.118,1.119,1.12,1.121,1.122,1.123,1.124,1.125,1.126,1.127,1.128,1.129,1.13,1.131,1.132,1.133,1.134,1.135,1.136,1.137,1.138,1.139,1.14,1.141,1.142,1.143,1.144,1.145,1.146,1.147,1.148,1.149,1.15,1.151,1.152,1.153,1.154,1.155,1.156,1.157,1.158,1.159,1.16,1.161,1.162,1.163,1.164,1.165\n";
  }
 if(fRequestEventPlane){
   defaultBinningStr += "eventPlane: -0.5,0.5,1.5,2.5,3.5\n"; // Event Plane Bins (Psi: -0.5->0.5 (in plane), 0.5->1.5 (intermediate), 1.5->2.5 (out of plane), 2.5->3.5 (rest))
  }
 if(fRequestEventPlanemixing){
defaultBinningStr += "eventPlanemixing: 0.0*TMath::DegToRad(), 30.0*TMath::DegToRad(), 60.0*TMath::DegToRad(), 90.0*TMath::DegToRad(), 120.0*TMath::DegToRad(),150.0*TMath::DegToRad(),180.1*TMath::DegToRad()\n";
 }
  if(fcontainPIDtrig){
      defaultBinningStr += "PIDTrig: -0.5,0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5,10.5\n"; // course
  }
  if(fcontainPIDasso){
      defaultBinningStr += "PIDAsso: -0.5,0.5,1.5,2.5,3.5\n"; // course
  }
 
  if(SetChargeAxis==2){
      defaultBinningStr += "TrigCharge: -2.0,0.0,2.0\n"; // course
      defaultBinningStr += "AssoCharge: -2.0,0.0,2.0\n"; // course
  }
 // =========================================================
  // Customization (adopted from AliUEHistograms)
  // =========================================================

  TObjArray* lines = defaultBinningStr.Tokenize("\n");
  for (Int_t i=0; i<lines->GetEntriesFast(); i++)
  {
    TString line(lines->At(i)->GetName());
    TString tag = line(0, line.Index(":")+1);
    if (!fCustomBinning.BeginsWith(tag) && !fCustomBinning.Contains(TString("\n") + tag))
      fBinningString += line + "\n";
    else
      AliInfo(Form("Using custom binning for %s", tag.Data()));
  }
  delete lines;
  fBinningString += fCustomBinning;
  
  AliInfo(Form("Used AliTHn Binning:\n%s",fBinningString.Data()));

 //  =========================================================
  // Now set the bins
  // =========================================================

    dBinsPair[0]       = GetBinning(fBinningString, "multiplicity", iBinPair[0]);
    axisTitlePair[0]   = " multiplicity";

    dBinsPair[1]     = GetBinning(fBinningString, "vertex", iBinPair[1]);
    axisTitlePair[1]  = "v_{Z} (cm)"; 

    dBinsPair[2]     = GetBinning(fBinningString, "p_t_leading_course", iBinPair[2]);
    axisTitlePair[2]    = "p_{T,trig.} (GeV/c)"; 

    dBinsPair[3]     = GetBinning(fBinningString, "p_t_assoc", iBinPair[3]);
    axisTitlePair[3]    = "p_{T,assoc.} (GeV/c)";

    dBinsPair[4]       = GetBinning(fBinningString, "delta_eta", iBinPair[4]);
    axisTitlePair[4]   = "#Delta#eta"; 

    dBinsPair[5]       = GetBinning(fBinningString, "delta_phi", iBinPair[5]);
    axisTitlePair[5]   = "#Delta#varphi (rad)";  

    Int_t dim_val=6;

    if(fRequestEventPlane){
    dBinsPair[dim_val]       = GetBinning(fBinningString, "eventPlane", iBinPair[dim_val]);
    axisTitlePair[dim_val]   = "#varphi - #Psi_{2} (a.u.)";
    dim_val=7;
    }

    if(!fcontainPIDtrig && !fcontainPIDasso && SetChargeAxis==2){
    dBinsPair[dim_val]       = GetBinning(fBinningString, "TrigCharge", iBinPair[dim_val]);
    axisTitlePair[dim_val]   = "TrigCharge";

    dBinsPair[dim_val+1]       = GetBinning(fBinningString, "AssoCharge", iBinPair[dim_val+1]);
    axisTitlePair[dim_val+1]   = "AssoCharge";
    }

 if(fcontainPIDtrig && !fcontainPIDasso){
   if(fV0TrigCorr){
    dBinsPair[dim_val]       = GetBinning(fBinningString, "InvariantMass", iBinPair[dim_val]);
    axisTitlePair[dim_val]   = "InvariantMass"; 
   }
   else{
    dBinsPair[dim_val]       = GetBinning(fBinningString, "PIDTrig", iBinPair[dim_val]);
    axisTitlePair[dim_val]   = "PIDTrig"; 
   }
    if(SetChargeAxis==2){
    dBinsPair[dim_val+1]       = GetBinning(fBinningString, "TrigCharge", iBinPair[dim_val+1]);
    axisTitlePair[dim_val+1]   = "TrigCharge";

    dBinsPair[dim_val+2]       = GetBinning(fBinningString, "AssoCharge", iBinPair[dim_val+2]);
    axisTitlePair[dim_val+2]   = "AssoCharge";
    }
 }

 if(!fcontainPIDtrig && fcontainPIDasso){
    dBinsPair[dim_val]       = GetBinning(fBinningString, "PIDAsso", iBinPair[dim_val]);
    axisTitlePair[dim_val]   = "PIDAsso"; 

 if(SetChargeAxis==2){
    dBinsPair[dim_val+1]       = GetBinning(fBinningString, "TrigCharge", iBinPair[dim_val+1]);
    axisTitlePair[dim_val+1]   = "TrigCharge";

    dBinsPair[dim_val+2]       = GetBinning(fBinningString, "AssoCharge", iBinPair[dim_val+2]);
    axisTitlePair[dim_val+2]   = "AssoCharge";
    }
 }

if(fcontainPIDtrig && fcontainPIDasso){

   if(fV0TrigCorr){
    dBinsPair[dim_val]       = GetBinning(fBinningString, "InvariantMass", iBinPair[dim_val]);
    axisTitlePair[dim_val]   = "InvariantMass"; 
   }
   else{
    dBinsPair[dim_val]       = GetBinning(fBinningString, "PIDTrig", iBinPair[dim_val]);
    axisTitlePair[dim_val]   = "PIDTrig"; 
   }

    dBinsPair[dim_val+1]       = GetBinning(fBinningString, "PIDAsso", iBinPair[dim_val+1]);
    axisTitlePair[dim_val+1]   = "PIDAsso";

    if(SetChargeAxis==2){
    dBinsPair[dim_val+2]       = GetBinning(fBinningString, "TrigCharge", iBinPair[dim_val+2]);
    axisTitlePair[dim_val+2]   = "TrigCharge";

    dBinsPair[dim_val+3]       = GetBinning(fBinningString, "AssoCharge", iBinPair[dim_val+3]);
    axisTitlePair[dim_val+3]   = "AssoCharge";
    }
 }
	
	Int_t nEtaBin = -1;
 	Double_t* EtaBin = GetBinning(fBinningString, "eta", nEtaBin);
	
        Int_t nPteffbin = -1;
 	Double_t* Pteff = GetBinning(fBinningString, "p_t_eff", nPteffbin);

        Int_t multmixbin = -1;
 	Double_t* multmix = GetBinning(fBinningString, "multiplicity_mixing", multmixbin);


	//Set the limits from custom binning
	fminPtTrig=dBinsPair[2][0];
        fmaxPtTrig=dBinsPair[2][iBinPair[2]];
        fminPtAsso=dBinsPair[3][0];
        fmaxPtAsso=dBinsPair[3][iBinPair[3]];
        fmincentmult=dBinsPair[0][0];
        fmaxcentmult=dBinsPair[0][iBinPair[0]];

	//event pool manager
Int_t MaxNofEvents=1000;
const Int_t NofVrtxBins=10+(1+10)*2;
Double_t ZvrtxBins[NofVrtxBins+1]={ -10,   -8,  -6,  -4,  -2,   0,   2,   4,   6,   8,  10, 
				       90,  92,  94,  96,  98, 100, 102, 104, 106, 108, 110, 
				    190, 192, 194, 196, 198, 200, 202, 204, 206, 208, 210}; 


if(fRequestEventPlanemixing){
    // Event plane angle (Psi) bins for event mixing
  
    Int_t nPsiBins=-1;; 
    Double_t* psibins = GetBinning(fBinningString, "eventPlanemixing", nPsiBins);
    fPoolMgr = new AliEventPoolManager(MaxNofEvents,fMaxNofMixingTracks,multmixbin,multmix,NofVrtxBins,ZvrtxBins, nPsiBins, psibins);
    if(psibins)  delete [] psibins; 
				    }

 else{
 const Int_t  nPsiBinsd=1;
 Double_t psibinsd[nPsiBinsd+1]={0.0, 2000.0};
fPoolMgr = new AliEventPoolManager(MaxNofEvents,fMaxNofMixingTracks,multmixbin,multmix,NofVrtxBins,ZvrtxBins, nPsiBinsd, psibinsd);

 }  
fPoolMgr->SetTargetValues(fMaxNofMixingTracks, 0.1, 5);
 
   if(!fPoolMgr){
      AliError("Event Mixing required, but Pool Manager not initialized...");
      return;
    }

	//fminPtComboeff=fminPtTrig;***then this value will be fixed ,even Setter can't change it's value
	//fmaxPtComboeff=fmaxPtTrig;
//THnSparses for calculation of efficiency

 if((fAnalysisType =="MCAOD") && ffillefficiency) {
TString Histrename;
  Int_t effbin[4];
  effbin[0]=iBinPair[0];
  effbin[1]=iBinPair[1];
  effbin[2]=nPteffbin;
  effbin[3]=nEtaBin;
  Int_t effsteps=5;//for each species type::primMCParticles(0),primRecoTracksMatched(1),allRecoTracksMatched(2),primRecoTracksMatchedPID(3),allRecoTracksMatchedPID(4)
for(Int_t jj=0;jj<6;jj++)//PID type binning
    {
     if(jj==5) effsteps=3;//for unidentified particles
  Histrename="fTrackHistEfficiency";Histrename+=jj;
  fTrackHistEfficiency[jj] = new AliTHn(Histrename.Data(), "Tracking efficiency", effsteps, 4, effbin);
  fTrackHistEfficiency[jj]->SetBinLimits(0, dBinsPair[0]);
  fTrackHistEfficiency[jj]->SetVarTitle(0, "Centrality");
  fTrackHistEfficiency[jj]->SetBinLimits(1, dBinsPair[1]);
  fTrackHistEfficiency[jj]->SetVarTitle(1, "zvtx");
  fTrackHistEfficiency[jj]->SetBinLimits(2, Pteff);
  fTrackHistEfficiency[jj]->SetVarTitle(2, "p_{T} (GeV/c)");
  fTrackHistEfficiency[jj]->SetBinLimits(3, EtaBin);
  fTrackHistEfficiency[jj]->SetVarTitle(3, "#eta");
  fOutput->Add(fTrackHistEfficiency[jj]);
    }
 }

//AliThns for Correlation plots(data &  MC)
 
     if(ffilltrigassoUNID)
       {
    fTHnCorrUNID = new AliTHn("fTHnCorrUNID", title, anaSteps, kTrackVariablesPair, iBinPair);
for (Int_t j=0; j<kTrackVariablesPair; j++) {
    fTHnCorrUNID->SetBinLimits(j, dBinsPair[j]);
    fTHnCorrUNID->SetVarTitle(j, axisTitlePair[j]);
  }
  fOutput->Add(fTHnCorrUNID);

 fTHnCorrUNIDmix = new AliTHn("fTHnCorrUNIDmix", title, anaSteps, kTrackVariablesPair, iBinPair);
for (Int_t j=0; j<kTrackVariablesPair; j++) {
    fTHnCorrUNIDmix->SetBinLimits(j, dBinsPair[j]);
    fTHnCorrUNIDmix->SetVarTitle(j, axisTitlePair[j]);
  }
  fOutput->Add(fTHnCorrUNIDmix);
       }

     if(ffilltrigIDassoID)
       {
fTHnCorrID = new AliTHn("fTHnCorrID", title, anaSteps, kTrackVariablesPair, iBinPair);
for (Int_t j=0; j<kTrackVariablesPair; j++) {
    fTHnCorrID->SetBinLimits(j, dBinsPair[j]);
    fTHnCorrID->SetVarTitle(j, axisTitlePair[j]);
  }
  fOutput->Add(fTHnCorrID);

fTHnCorrIDmix = new AliTHn("fTHnCorrIDmix", title, anaSteps, kTrackVariablesPair, iBinPair);
for (Int_t j=0; j<kTrackVariablesPair; j++) {
    fTHnCorrIDmix->SetBinLimits(j, dBinsPair[j]);
    fTHnCorrIDmix->SetVarTitle(j, axisTitlePair[j]);
  }
  fOutput->Add(fTHnCorrIDmix);
       }

     if(ffilltrigUNIDassoID || ffilltrigIDassoUNID)//***********a bit tricky, be careful
       {
fTHnCorrIDUNID = new AliTHn("fTHnCorrIDUNID", title, anaSteps, kTrackVariablesPair, iBinPair);
for (Int_t j=0; j<kTrackVariablesPair; j++) {
    fTHnCorrIDUNID->SetBinLimits(j, dBinsPair[j]);
    fTHnCorrIDUNID->SetVarTitle(j, axisTitlePair[j]);
  }
  fOutput->Add(fTHnCorrIDUNID);


fTHnCorrIDUNIDmix = new AliTHn("fTHnCorrIDUNIDmix", title, anaSteps, kTrackVariablesPair, iBinPair);
for (Int_t j=0; j<kTrackVariablesPair; j++) {
    fTHnCorrIDUNIDmix->SetBinLimits(j, dBinsPair[j]);
    fTHnCorrIDUNIDmix->SetVarTitle(j, axisTitlePair[j]);
  }
  fOutput->Add(fTHnCorrIDUNIDmix);
       }



  //ThnSparse for Correlation plots(truth MC)
     if(ffilltrigIDassoIDMCTRUTH) {//remember that in this case uidentified means other than pions, kaons, protons

fCorrelatonTruthPrimary = new AliTHn("fCorrelatonTruthPrimary", title, anaSteps, kTrackVariablesPair, iBinPair);
for (Int_t j=0; j<kTrackVariablesPair; j++) {
    fCorrelatonTruthPrimary->SetBinLimits(j, dBinsPair[j]);
    fCorrelatonTruthPrimary->SetVarTitle(j, axisTitlePair[j]);
  }
  fOutput->Add(fCorrelatonTruthPrimary);


fCorrelatonTruthPrimarymix = new AliTHn("fCorrelatonTruthPrimarymix", title, anaSteps, kTrackVariablesPair, iBinPair);
for (Int_t j=0; j<kTrackVariablesPair; j++) {
    fCorrelatonTruthPrimarymix->SetBinLimits(j, dBinsPair[j]);
    fCorrelatonTruthPrimarymix->SetVarTitle(j, axisTitlePair[j]);
  }
  fOutput->Add(fCorrelatonTruthPrimarymix);     
 }

    //binning for trigger no. counting

     Int_t ChargeAxis=0;
     if(SetChargeAxis==2) ChargeAxis=1;

	Int_t* fBinst;
	Int_t dims=3+ChargeAxis+eventplaneaxis;
	if(fcontainPIDtrig) dims=4+ChargeAxis+eventplaneaxis;
        fBinst= new Int_t[dims];
   Double_t* dBinsTrig[dims];    // bins for track variables  
   TString* axisTitleTrig;  // axis titles for track variables
   axisTitleTrig=new TString[dims];

	for(Int_t i=0; i<3;i++)
	  {
	    fBinst[i]=iBinPair[i];
	    dBinsTrig[i]=dBinsPair[i];
	    axisTitleTrig[i]=axisTitlePair[i];
	  }
	Int_t dim_val_trig=3;
    if(fRequestEventPlane){
      fBinst[dim_val_trig]=iBinPair[6];//if fRequestEventPlane=TRUE, dim_val already becomes 7.
      dBinsTrig[dim_val_trig]=dBinsPair[6];
      axisTitleTrig[dim_val_trig]=axisTitlePair[6];
      dim_val_trig=4;
    }

if(!fcontainPIDtrig && !fcontainPIDasso && ChargeAxis==1){
fBinst[dim_val_trig]=iBinPair[dim_val];
dBinsTrig[dim_val_trig]=dBinsPair[dim_val];
axisTitleTrig[dim_val_trig]=axisTitlePair[dim_val];
    }

if(fcontainPIDtrig && !fcontainPIDasso){
fBinst[dim_val_trig]=iBinPair[dim_val];
dBinsTrig[dim_val_trig]=dBinsPair[dim_val];
axisTitleTrig[dim_val_trig]=axisTitlePair[dim_val]; 
    if(ChargeAxis==1){
fBinst[dim_val_trig+1]=iBinPair[dim_val+1];
dBinsTrig[dim_val_trig+1]=dBinsPair[dim_val+1];
axisTitleTrig[dim_val_trig+1]=axisTitlePair[dim_val+1];
    }
 }

 if(!fcontainPIDtrig && fcontainPIDasso){
 if(ChargeAxis==1){
    fBinst[dim_val_trig]=iBinPair[dim_val+1];
dBinsTrig[dim_val_trig]=dBinsPair[dim_val+1];
axisTitleTrig[dim_val_trig]=axisTitlePair[dim_val+1];
    }
 }

if(fcontainPIDtrig && fcontainPIDasso){
  fBinst[dim_val_trig]=iBinPair[dim_val];
dBinsTrig[dim_val_trig]=dBinsPair[dim_val];
axisTitleTrig[dim_val_trig]=axisTitlePair[dim_val]; 
    if(ChargeAxis==1){
fBinst[dim_val_trig+1]=iBinPair[dim_val+2];
dBinsTrig[dim_val_trig+1]=dBinsPair[dim_val+2];
axisTitleTrig[dim_val_trig+1]=axisTitlePair[dim_val+2];
    }
    }
 
  //ThSparse for trigger counting(data & reco MC)
  if(ffilltrigassoUNID || ffilltrigUNIDassoID || ffilltrigIDassoUNID || ffilltrigIDassoID)
	  {
	    fTHnTrigcount = new  AliTHn("fTHnTrigcount", "fTHnTrigcount", 2, dims, fBinst); //2 steps;;;;0->same event;;;;;1->mixed event
   for(Int_t i=0; i<dims;i++){
    fTHnTrigcount->SetBinLimits(i, dBinsTrig[i]);
    fTHnTrigcount->SetVarTitle(i, axisTitleTrig[i]);
  } 
  fOutput->Add(fTHnTrigcount);
	  }
  
  if(ffilltrigIDassoIDMCTRUTH) {
  //AliTHns for trigger counting(truth MC)
  fTHnTrigcountMCTruthPrim = new  AliTHn("fTHnTrigcountMCTruthPrim", "fTHnTrigcountMCTruthPrim", 2, dims, fBinst); //2 steps;;;;0->same event;;;;;1->mixed event
 for(Int_t i=0; i<dims;i++){
    fTHnTrigcountMCTruthPrim->SetBinLimits(i, dBinsTrig[i]);
    fTHnTrigcountMCTruthPrim->SetVarTitle(i, axisTitleTrig[i]);
  } 
  fOutput->Add(fTHnTrigcountMCTruthPrim);
 }

if(fAnalysisType=="MCAOD" || fAnalysisType=="MC"){
  if(ffillhistQATruth)
    {
  MCtruthpt=new TH1F ("MCtruthpt","ptdistributiontruthprim",100,0.,10.);
  fOutputList->Add(MCtruthpt);

  MCtrutheta=new TH1F ("MCtrutheta","etadistributiontruthprim",360,-1.8,1.8);
  fOutputList->Add(MCtrutheta);

  MCtruthphi=new TH1F ("MCtruthphi","phidisttruthprim",340,0,6.8);
  fOutputList->Add(MCtruthphi);

  MCtruthpionpt=new TH1F ("MCtruthpionpt","MCtruthpionpt",100,0.,10.);
  fOutputList->Add(MCtruthpionpt);

  MCtruthpioneta=new TH1F ("MCtruthpioneta","MCtruthpioneta",360,-1.8,1.8);
  fOutputList->Add(MCtruthpioneta);

  MCtruthpionphi=new TH1F ("MCtruthpionphi","MCtruthpionphi",340,0,6.8);
  fOutputList->Add(MCtruthpionphi);

  MCtruthkaonpt=new TH1F ("MCtruthkaonpt","MCtruthkaonpt",100,0.,10.);
  fOutputList->Add(MCtruthkaonpt);

  MCtruthkaoneta=new TH1F ("MCtruthkaoneta","MCtruthkaoneta",360,-1.8,1.8);
  fOutputList->Add(MCtruthkaoneta);

  MCtruthkaonphi=new TH1F ("MCtruthkaonphi","MCtruthkaonphi",340,0,6.8);
  fOutputList->Add(MCtruthkaonphi);

  MCtruthprotonpt=new TH1F ("MCtruthprotonpt","MCtruthprotonpt",100,0.,10.);
  fOutputList->Add(MCtruthprotonpt);

  MCtruthprotoneta=new TH1F ("MCtruthprotoneta","MCtruthprotoneta",360,-1.8,1.8);
  fOutputList->Add(MCtruthprotoneta);

  MCtruthprotonphi=new TH1F ("MCtruthprotonphi","MCtruthprotonphi",340,0,6.8);
  fOutputList->Add(MCtruthprotonphi);
    }
 fPioncont=new TH2F("fPioncont", "fPioncont",10,-0.5,9.5,100,0.,10.);
  fOutputList->Add(fPioncont);

 fKaoncont=new TH2F("fKaoncont","fKaoncont",10,-0.5,9.5,100,0.,10.);
  fOutputList->Add(fKaoncont);

 fProtoncont=new TH2F("fProtoncont","fProtoncont",10,-0.5,9.5,100,0.,10.);
  fOutputList->Add(fProtoncont);

fUNIDcont=new TH2F("fUNIDcont","fUNIDcont",10,-0.5,9.5,100,0.,10.);
  fOutputList->Add(fUNIDcont);
  }

fEventno=new TH2F("fEventno","fEventno",iBinPair[0], dBinsPair[0],iBinPair[1],dBinsPair[1]);
 fEventno->GetXaxis()->SetTitle("Centrality");
 fEventno->GetYaxis()->SetTitle("Z_Vtx");
fOutput->Add(fEventno);
fEventnobaryon=new TH2F("fEventnobaryon","fEventnobaryon",iBinPair[0], dBinsPair[0],iBinPair[1],dBinsPair[1]);
 fEventnobaryon->GetXaxis()->SetTitle("Centrality");
 fEventnobaryon->GetYaxis()->SetTitle("Z_Vtx");
fOutput->Add(fEventnobaryon);
fEventnomeson=new TH2F("fEventnomeson","fEventnomeson",iBinPair[0], dBinsPair[0],iBinPair[1],dBinsPair[1]);
 fEventnomeson->GetXaxis()->SetTitle("Centrality");
 fEventnomeson->GetYaxis()->SetTitle("Z_Vtx");
fOutput->Add(fEventnomeson);

fhistJetTrigestimate=new TH2F("fhistJetTrigestimate","fhistJetTrigestimate",iBinPair[0],dBinsPair[0],6,-0.5,5.5);
fOutput->Add(fhistJetTrigestimate);

   fTwoTrackDistancePtdip = new TH3F("fTwoTrackDistancePtdip", ";#Delta#eta;#Delta#varphi;#Delta p_{T}", 36, -1.8, 1.8, 72,-TMath::Pi()/2, 3*TMath::Pi()/2, 40, 0, 10);
  fOutput->Add(fTwoTrackDistancePtdip);

fTwoTrackDistancePtdipmix = new TH3F("fTwoTrackDistancePtdipmix", ";#Delta#eta;#Delta#varphi;#Delta p_{T}", 36, -1.8, 1.8, 72,-TMath::Pi()/2, 3*TMath::Pi()/2, 40, 0, 10);
  fOutput->Add(fTwoTrackDistancePtdipmix);

  TString Histttrname;
for(Int_t jj=0;jj<2;jj++)// PID type binning
    {
  Histttrname="fTwoTrackDistancePt";Histttrname+=jj;
  fTwoTrackDistancePt[jj] = new TH3F(Histttrname.Data(), ";#Delta#eta;#Delta#varphi^{*}_{min};#Delta p_{T}", 100, -0.15, 0.15, 100, -0.05, 0.05, 20, 0, 10);
  fOutput->Add(fTwoTrackDistancePt[jj]);

 Histttrname="fTwoTrackDistancePtmix";Histttrname+=jj;
  fTwoTrackDistancePtmix[jj] = new TH3F(Histttrname.Data(), ";#Delta#eta;#Delta#varphi^{*}_{min};#Delta p_{T}", 100, -0.15, 0.15, 100, -0.05, 0.05, 20, 0, 10);
  fOutput->Add(fTwoTrackDistancePtmix[jj]);
    }
//Mixing
//DefineEventPool();

  if(fapplyTrigefficiency || fapplyAssoefficiency)
   {
     const Int_t nDimt = 4;//       cent zvtx  pt   eta
     Int_t fBinsCht[nDimt] = {iBinPair[0], iBinPair[1], nPteffbin ,nEtaBin};//*************change it
     Double_t fMinCht[nDimt] = { dBinsPair[0][0],dBinsPair[1][0], Pteff[0], EtaBin[0] };
     Double_t fMaxCht[nDimt] = {dBinsPair[0][iBinPair[0]], dBinsPair[1][iBinPair[1]], Pteff[nPteffbin], EtaBin[nEtaBin]};

  TString Histrexname;
for(Int_t jj=0;jj<6;jj++)// PID type binning
    {
  Histrexname="effcorection";Histrexname+=jj;
  effcorection[jj] = new THnSparseF(Histrexname.Data(),"cent:zvtx::Pt:eta", nDimt, fBinsCht, fMinCht, fMaxCht);
  effcorection[jj]->Sumw2(); 
  effcorection[jj]->GetAxis(0)->Set(iBinPair[0], dBinsPair[0]);
  effcorection[jj]->GetAxis(0)->SetTitle("Centrality");
  effcorection[jj]->GetAxis(1)->Set( iBinPair[1],dBinsPair[1]);
  effcorection[jj]->GetAxis(1)->SetTitle("zvtx"); 
  effcorection[jj]->GetAxis(2)->Set(nPteffbin, Pteff);  
  effcorection[jj]->GetAxis(2)->SetTitle("p_{T} (GeV/c)");
  effcorection[jj]->GetAxis(3)->Set( nEtaBin,EtaBin);
  effcorection[jj]->GetAxis(3)->SetTitle("#eta");
  fOutput->Add(effcorection[jj]);
    }
// TFile *fsifile = new TFile(fefffilename,"READ");

 if (TString(fefffilename).BeginsWith("alien:"))
    TGrid::Connect("alien:");
 TFile *fileT=TFile::Open(fefffilename);
 TString Nameg;
for(Int_t jj=0;jj<6;jj++)//type binning
    {
Nameg="effmap";Nameg+=jj;
//effcorection[jj] = (THnSparseF*)fsifile->Get(Nameg.Data());
effcorection[jj] = (THnSparseF*)fileT->Get(Nameg.Data());

//effcorection[jj]->SetDirectory(0);//****************************not present in case oh THnF
    }
//fsifile->Close();
fileT->Close();

   }

 delete [] EtaBin; 
 delete [] Pteff; 
 delete [] multmix; 

 //******************************************************************V0 plots*********************************************//
 if(fV0TrigCorr){
	//histos for v0
	//Double_t BinsV0[]={1.0,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,2.0,2.2,2.4,2.6,2.8,3.0,3.2,3.4,3.6,3.8,4.0,4.5,5.0,5.5,6.5,8.0};
	//const Int_t nbinsV0 =sizeof(BinsV0)/sizeof(Double_t)-1;

 

   fHistRawPtCentInvK0s= new TH3F("fHistRawPtCentInvK0s", "K^{0}_{s}: mass vs #it{p}_{T};Mass (GeV/#it{c}^2);#it{p}_{T} (GeV/#it{c});centrality",100,0.398,0.598,100,0.0,10.0,100,0.0,100.);
fOutput->Add(fHistRawPtCentInvK0s);


 fHistRawPtCentInvLambda= new TH3F("fHistRawPtCentInvLambda", "#Lambda: mass vs #it{p}_{T};Mass (GeV/#it{c}^2);#it{p}_{T} (GeV/#it{c});centrality",100,1.065,1.165,100,0.0,10.0,100,0.0,100.);
fOutput->Add(fHistRawPtCentInvLambda);


 fHistRawPtCentInvAntiLambda= new TH3F("fHistRawPtCentInvAntiLambda", "#bar{#Lambda} : mass vs #it{p}_{T};Mass (GeV/#it{c}^2);#it{p}_{T} (GeV/#it{c});centrality",100,1.065,1.165,100,0.0,10.0,100,0.0,100.);
fOutput->Add(fHistRawPtCentInvAntiLambda);


 fHistFinalPtCentInvK0s= new TH3F("fHistFinalPtCentInvK0s", "K^{0}_{s}: mass vs #it{p}_{T};Mass (GeV/#it{c}^2);#it{p}_{T} (GeV/#it{c});centrality",100,0.398,0.598,100,0.0,10.0,100,0.0,100.);
fOutput->Add(fHistFinalPtCentInvK0s);


 fHistFinalPtCentInvLambda= new TH3F("fHistFinalPtCentInvLambda", "#Lambda: mass vs #it{p}_{T};Mass (GeV/#it{c}^2);#it{p}_{T} (GeV/#it{c});centrality",100,1.065,1.165,100,0.0,10.0,100,0.0,100.);
fOutput->Add(fHistFinalPtCentInvLambda);


 fHistFinalPtCentInvAntiLambda= new TH3F("fHistFinalPtCentInvAntiLambda", "#bar{#Lambda} : mass vs #it{p}_{T};Mass (GeV/#it{c}^2);#it{p}_{T} (GeV/#it{c});centrality",100,1.065,1.165,100,0.0,10.0,100,0.0,100.);
fOutput->Add(fHistFinalPtCentInvAntiLambda);

 }

  //*************************************************************EP plots***********************************************//
  if(fRequestEventPlane){
  // TProfile for resolutions 3 subevents (V0A, V0C, TPC)
  // v2
  fHResTPCv0A2 = new TProfile("hResTPCv0A2","",nCentrBin,0,nCentrBin);
  fHResTPCv0C2 = new TProfile("hResTPCv0C2","",nCentrBin,0,nCentrBin);
  fHResv0Cv0A2 = new TProfile("hResv0Cv0A2","",nCentrBin,0,nCentrBin);

  fList->Add(fHResTPCv0A2);
  fList->Add(fHResTPCv0C2);
  fList->Add(fHResv0Cv0A2);

  // v3
  fHResTPCv0A3 = new TProfile("hResTPCv0A3","",nCentrBin,0,nCentrBin);
  fHResTPCv0C3 = new TProfile("hResTPCv0C3","",nCentrBin,0,nCentrBin);
  fHResv0Cv0A3 = new TProfile("hResv0Cv0A3","",nCentrBin,0,nCentrBin);

  fList->Add(fHResTPCv0A3);
  fList->Add(fHResTPCv0C3);
  fList->Add(fHResv0Cv0A3);

  // MC as in the dataEP resolution (but using MC tracks)
  if(fAnalysisType == "MCAOD"  && fV2){
    fHResMA2 = new TProfile("hResMA2","",nCentrBin,0,nCentrBin);
    fHResMC2 = new TProfile("hResMC2","",nCentrBin,0,nCentrBin);
    fHResAC2 = new TProfile("hResAC2","",nCentrBin,0,nCentrBin);
    fList->Add(fHResMA2); 
    fList->Add(fHResMC2); 
    fList->Add(fHResAC2); 
  }
  if(fAnalysisType == "MCAOD" && fV3){
    fHResMA3 = new TProfile("hResMA3","",nCentrBin,0,nCentrBin);
    fHResMC3 = new TProfile("hResMC3","",nCentrBin,0,nCentrBin);
    fHResAC3 = new TProfile("hResAC3","",nCentrBin,0,nCentrBin);
    fList->Add(fHResMA3); 
    fList->Add(fHResMC3); 
    fList->Add(fHResAC3); 
  }


  // V0A and V0C event plane distributions
  //v2 
  fPhiRPTPC = new TH2F("fPhiRPTPCv2","#phi distribution of EP TPC;centrality;#phi (rad)",nCentrBin,0,nCentrBin,nPsiTOF,-TMath::Pi()/2,TMath::Pi()/2);
  fPhiRPTPCv3 = new TH2F("fPhiRPTPCv3","#phi distribution of EP TPC;centrality;#phi (rad)",nCentrBin,0,nCentrBin,nPsiTOF,-TMath::Pi()/3,TMath::Pi()/3);
  fList->Add(fPhiRPTPC);
  fList->Add(fPhiRPTPCv3);

  fPhiRPv0A = new TH2F("fPhiRPv0Av2","#phi distribution of EP VZERO-A;centrality;#phi (rad)",nCentrBin,0,nCentrBin,nPsiTOF,-TMath::Pi()/2,TMath::Pi()/2);
  fPhiRPv0C = new TH2F("fPhiRPv0Cv2","#phi distribution of EP VZERO-C;centrality;#phi (rad)",nCentrBin,0,nCentrBin,nPsiTOF,-TMath::Pi()/2,TMath::Pi()/2);
  fList->Add(fPhiRPv0A);
  fList->Add(fPhiRPv0C);

  //v3
  fPhiRPv0Av3 = new TH2F("fPhiRPv0Av3","#phi distribution of EP VZERO-A;centrality;#phi (rad)",nCentrBin,0,nCentrBin,nPsiTOF,-TMath::Pi()/3,TMath::Pi()/3);
  fPhiRPv0Cv3 = new TH2F("fPhiRPv0Cv3","#phi distribution of EP VZERO-C;centrality;#phi (rad)",nCentrBin,0,nCentrBin,nPsiTOF,-TMath::Pi()/3,TMath::Pi()/3);
  fList->Add(fPhiRPv0Av3);
  fList->Add(fPhiRPv0Cv3);

  fHistEventPlaneTruth = new TH2F("fHistEventPlaneTruth","#phi distribution of EP MCTRUTHheader;centrality;#phi (rad)",nCentrBin,0,nCentrBin,nPsiTOF,-TMath::Pi()/2,TMath::Pi()/2);
  fList->Add(fHistEventPlaneTruth);

  }
    
  //*****************************************************PIDQA histos*****************************************************//

 
  //nsigma plot
  for(Int_t ipart=0;ipart<NSpecies;ipart++){
    for(Int_t ipid=0;ipid<=NSigmaPIDType;ipid++){
      Double_t miny=-30;
      Double_t maxy=30;
      if(ipid==NSigmaTPCTOF){miny=0;maxy=50;}
      TH2F *fHistoNSigma=new TH2F(Form("NSigma_%d_%d",ipart,ipid),Form("n#sigma %s %s",kParticleSpeciesName[ipart],kPIDTypeName[ipid]),200,0,10,500,miny,maxy);
      fHistoNSigma->GetXaxis()->SetTitle("P_{T} (GeV / c)");
      fHistoNSigma->GetYaxis()->SetTitle(Form("n#sigma %s %s",kParticleSpeciesName[ipart],kPIDTypeName[ipid]));
      fOutputList->Add(fHistoNSigma);
    }
  }
  
  //nsigmaRec plot
  for(Int_t ipart=0;ipart<NSpecies;ipart++){
    for(Int_t ipid=0;ipid<=NSigmaPIDType;ipid++){
      Double_t miny=-10;
      Double_t maxy=10;
      if(ipid==NSigmaTPCTOF){miny=0;maxy=20;}
      TH2F *fHistoNSigma=new TH2F(Form("NSigmaRec_%d_%d",ipart,ipid),
				  Form("n#sigma for reconstructed %s %s",kParticleSpeciesName[ipart],kPIDTypeName[ipid]),200,0,10,500,miny,maxy);
      fHistoNSigma->GetXaxis()->SetTitle("P_{T} (GeV / c)");
      fHistoNSigma->GetYaxis()->SetTitle(Form("n#sigma %s %s",kParticleSpeciesName[ipart],kPIDTypeName[ipid]));
      fOutputList->Add(fHistoNSigma);
    }
  }

  //BayesRec plot
  if(fPIDType==Bayes){//use bayesianPID
    fPIDCombined = new AliPIDCombined();
    fPIDCombined->SetDefaultTPCPriors();//****************************************Need to know about it

  for(Int_t ipart=0;ipart<NSpecies;ipart++){
    Double_t miny=0.;
    Double_t maxy=1;
    TH2F *fHistoBayes=new TH2F(Form("BayesRec_%d",ipart),
			       Form("probability for reconstructed %s",kParticleSpeciesName[ipart]),200,0,10,500,miny,maxy);
    fHistoBayes->GetXaxis()->SetTitle("P_{T} (GeV / c)");
    fHistoBayes->GetYaxis()->SetTitle(Form("Bayes prob %s",kParticleSpeciesName[ipart]));
    fOutputList->Add(fHistoBayes);


   TH2F *fHistoBayesTPC=new TH2F(Form("probBayes_TPC_%d",ipart),
			       Form("probability for Tracks as %s",kParticleSpeciesName[ipart]),200,0,10,500,miny,maxy);
    fHistoBayesTPC->GetXaxis()->SetTitle("P_{T} (GeV / c)");
    fHistoBayesTPC->GetYaxis()->SetTitle(Form("Bayes prob TPC %s",kParticleSpeciesName[ipart]));
    fOutputList->Add(fHistoBayesTPC);

  TH2F *fHistoBayesTOF=new TH2F(Form("probBayes_TOF_%d",ipart),
			       Form("probability for Tracks as %s",kParticleSpeciesName[ipart]),200,0,10,500,miny,maxy);
    fHistoBayesTOF->GetXaxis()->SetTitle("P_{T} (GeV / c)");
    fHistoBayesTOF->GetYaxis()->SetTitle(Form("Bayes prob TOF %s",kParticleSpeciesName[ipart]));
    fOutputList->Add(fHistoBayesTOF);

 TH2F *fHistoBayesTPCTOF=new TH2F(Form("probBayes_TPCTOF_%d",ipart),
			       Form("probability for Tracks as  %s",kParticleSpeciesName[ipart]),200,0,10,500,miny,maxy);
    fHistoBayesTPCTOF->GetXaxis()->SetTitle("P_{T} (GeV / c)");
    fHistoBayesTPCTOF->GetYaxis()->SetTitle(Form("Bayes prob TPCTOF %s",kParticleSpeciesName[ipart]));
    fOutputList->Add(fHistoBayesTPCTOF);
  }
  }

  //nsigma separation power plot 
    for(Int_t ipid=0;ipid<=NSigmaPIDType;ipid++){
 Double_t miny=0;
 Double_t maxy=10;
   TH2F *Pi_Ka_sep=new TH2F(Form("Pi_Ka_sep_%d",ipid),
			       Form("Pi_Ka separation in %s",kPIDTypeName[ipid]),50,0,10,200,miny,maxy);
    Pi_Ka_sep->GetXaxis()->SetTitle("P_{T} (GeV/C)");
    Pi_Ka_sep->GetYaxis()->SetTitle(Form("expected seaparation(n#sigma) in %s",kPIDTypeName[ipid]));
    fOutputList->Add(Pi_Ka_sep);

   TH2F *Pi_Pr_sep=new TH2F(Form("Pi_Pr_sep_%d",ipid),
			       Form("Pi_Pr separation in %s",kPIDTypeName[ipid]),50,0,10,200,miny,maxy);
    Pi_Pr_sep->GetXaxis()->SetTitle("P_{T} (GeV/C)");
    Pi_Pr_sep->GetYaxis()->SetTitle(Form("expected seaparation(n#sigma) in %s",kPIDTypeName[ipid]));
    fOutputList->Add(Pi_Pr_sep);

    TH2F *Ka_Pr_sep=new TH2F(Form("Ka_Pr_sep_%d",ipid),
			       Form("Ka_Pr separation in %s",kPIDTypeName[ipid]),50,0,10,200,miny,maxy);
    Ka_Pr_sep->GetXaxis()->SetTitle("P_{T} (GeV/C)");
    Ka_Pr_sep->GetYaxis()->SetTitle(Form("expected seaparation(n#sigma) in %s",kPIDTypeName[ipid]));
    fOutputList->Add(Ka_Pr_sep);
    }

  //nsigmaDC plot
  for(Int_t ipart=0;ipart<NSpecies;ipart++){
    for(Int_t ipid=0;ipid<=NSigmaPIDType;ipid++){
      Double_t miny=-10;
      Double_t maxy=10;
      if(ipid==NSigmaTPCTOF){miny=0;maxy=20;}
      TH2F *fHistoNSigma=new TH2F(Form("NSigmaDC_%d_%d",ipart,ipid),
				  Form("n#sigma for double counting %s %s",kParticleSpeciesName[ipart],kPIDTypeName[ipid]),200,0,10,500,miny,maxy);
      fHistoNSigma->GetXaxis()->SetTitle("P_{T} (GeV / c)");
      fHistoNSigma->GetYaxis()->SetTitle(Form("n#sigma %s %s",kParticleSpeciesName[ipart],kPIDTypeName[ipid]));
      fOutputList->Add(fHistoNSigma);
    }
  }
  
  //nsigmaMC plot
 if (fAnalysisType == "MCAOD"){
  for(Int_t ipart=0;ipart<NSpecies;ipart++){
    for(Int_t ipid=0;ipid<=NSigmaPIDType;ipid++){
      Double_t miny=-30;
      Double_t maxy=30;
      if(ipid==NSigmaTPCTOF){miny=0;maxy=50;}
      TH2F *fHistoNSigma=new TH2F(Form("NSigmaMC_%d_%d",ipart,ipid),
				  Form("n#sigma for MC %s %s",kParticleSpeciesName[ipart],kPIDTypeName[ipid]),200,0,10,500,miny,maxy);
      fHistoNSigma->GetXaxis()->SetTitle("P_{T} (GeV / c)");
      fHistoNSigma->GetYaxis()->SetTitle(Form("n#sigma %s %s",kParticleSpeciesName[ipart],kPIDTypeName[ipid]));
      fOutputList->Add(fHistoNSigma);
    }
  }
  }
  //PID signal plot
  for(Int_t idet=0;idet<fNDetectors;idet++){
    for(Int_t ipart=0;ipart<NSpecies;ipart++){
      Double_t maxy=500;
      if(idet==fTOF)maxy=1.1;
      TH2F *fHistoPID=new TH2F(Form("PID_%d_%d",idet,ipart),Form("%s signal - %s",kDetectorName[idet],kParticleSpeciesName[ipart]),200,0,10,500,-maxy,maxy);
      fHistoPID->GetXaxis()->SetTitle("P (GeV / c)");
      fHistoPID->GetYaxis()->SetTitle(Form("%s signal",kDetectorName[idet]));
      fOutputList->Add(fHistoPID);
    }
  }
  //PID signal plot, before PID cut
  for(Int_t idet=0;idet<fNDetectors;idet++){
    Double_t maxy=500;
    if(idet==fTOF)maxy=1.1;
    TH2F *fHistoPID=new TH2F(Form("PIDAll_%d",idet),Form("%s signal",kDetectorName[idet]),200,0,10,500,-maxy,maxy);
    fHistoPID->GetXaxis()->SetTitle("P (GeV / c)");
    fHistoPID->GetYaxis()->SetTitle(Form("%s signal",kDetectorName[idet]));
    fOutputList->Add(fHistoPID);
  }

  PostData(1, fOutput);              // Post data for ALL output slots >0 here, to get at least an empty histogram
  PostData(2, fOutputList);
  if(fRequestEventPlane) PostData(3, fList);
  AliInfo("Finished setting up the Output");

   TH1::AddDirectory(oldStatus);
}
//-------------------------------------------------------------------------------
void AliTwoParticlePIDCorr::UserExec( Option_t * ){
 
  if(fAnalysisType == "AOD") {

    doAODevent();
    
  }//AOD--analysis-----

  else if(fAnalysisType == "MCAOD" || fAnalysisType == "MC") {
  
    doMCAODevent();

  }
  
  else return;
  
}
//-------------------------------------------------------------------------
void AliTwoParticlePIDCorr::doMCAODevent() 
{

  // get the event (for generator level: MCEvent())
  AliVEvent* event = NULL;
  if(fAnalysisType == "MC") {
    event = dynamic_cast<AliVEvent*>(MCEvent());
  }
  else{
    event = dynamic_cast<AliVEvent*>(InputEvent());     
  }
  if(!event) {
    AliError("eventMain not available");
    return;
  }

  Double_t Inv_mass=0.0;//has no meaning for pions, kaons and protons(just set 0.0) to fill the LRCParticlePID position
    evplaneMC=999.;
    fgPsi2v0aMC=999.;
    fgPsi2v0cMC=999.;
    fgPsi2tpcMC=999.;
    fgPsi3v0aMC=999.;
    fgPsi3v0cMC=999.;
    fgPsi3tpcMC=999.;
    gReactionPlane = 999.;

 // get centrality object and check quality(valid for p-Pb and Pb-Pb; coming soon for pp 7 TeV)
  Double_t cent_v0=-1.0;
  Double_t effcent=1.0;
  Double_t refmultReco =0.0;
   Double_t nooftrackstruth=0.0;//in case of pp this will give the multiplicity(for truth case) after the track loop(only for unidentified particles that pass  kinematic cuts)


if(fAnalysisType == "MC"){
   
    AliMCEvent *gMCEvent = dynamic_cast<AliMCEvent*>(event);

 if(!gMCEvent) {
      AliError("mcEvent not available");
      return ;
    }
// count all events(physics triggered)   
  fEventCounter->Fill(1);

	AliGenEventHeader *header = dynamic_cast<AliGenEventHeader*>(gMCEvent->GenEventHeader());
	if(!header) return;  
	  TArrayF gVertexArray;
	  header->PrimaryVertex(gVertexArray);
          Float_t zVtxmc =gVertexArray.At(2);
	  //cout<<"*****************************************************************************************************hi I am here"<<endl;

 
	  cent_v0=GetAcceptedEventMultiplicity((AliVEvent*)gMCEvent,kFALSE); //b value; 2nd argument has no meaning
 
 if(cent_v0<0.) return;//mainly returns impact parameter

 //get the event plane in case of PbPb
   if(fRequestEventPlane){
     gReactionPlane=GetEventPlane((AliVEvent*)gMCEvent,kTRUE,cent_v0);//get the truth event plane,middle argument has no meaning in this case
   if(gReactionPlane==999.) return;
 }


TObjArray* tracksMCtruth=new TObjArray;//for truth MC particles with PID,here unidentified means any particle other than pion, kaon or proton(Basicaly Spundefined of AliHelperPID)******WARNING::different from data and reco MC
 tracksMCtruth->SetOwner(kTRUE);  //***********************************IMPORTANT!

for (Int_t iTracks = 0; iTracks < gMCEvent->GetNumberOfPrimaries(); iTracks++) {
	AliMCParticle* partMC = dynamic_cast<AliMCParticle *>(gMCEvent->GetTrack(iTracks));
	if (!partMC) {
	  AliError(Form("Could not receive particle %d", iTracks));
	  continue;
	}
//exclude non stable particles
	if(fselectprimaryTruth && !(gMCEvent->IsPhysicalPrimary(iTracks))) continue;

//consider only charged particles
    if(partMC->Charge() == 0) continue;


//give only kinematic cuts at the generator level  
 if (partMC->Eta() < fmineta || partMC->Eta() > fmaxeta) continue;
 if (partMC->Pt() < fminPt ||  partMC->Pt() > fmaxPt) continue;

 if(!partMC) continue;//for safety

          TParticle *particle = partMC->Particle();
	  if(!particle) continue;
           Int_t particletypeTruth=-999;
	  
	  Int_t pdgtruth = particle->GetPdgCode();

 //To determine multiplicity in case of PP
 nooftrackstruth++;
 //cout<<"**************************************"<<TMath::Abs(partMC->GetLabel())<<endl;
//only physical primary(all/unidentified)  
if(ffillhistQATruth)
    {
 MCtruthpt->Fill(partMC->Pt());
 MCtrutheta->Fill(partMC->Eta());
 MCtruthphi->Fill(partMC->Phi());
    }
 if (TMath::Abs(pdgtruth)==211)
   {
 particletypeTruth=SpPion;
if(ffillhistQATruth)
    {
 MCtruthpionpt->Fill(partMC->Pt());
 MCtruthpioneta->Fill(partMC->Eta());
 MCtruthpionphi->Fill(partMC->Phi());
    }
      }
 if (TMath::Abs(pdgtruth)==321)
   {
 particletypeTruth=SpKaon;
if(ffillhistQATruth)
    {
 MCtruthkaonpt->Fill(partMC->Pt());
 MCtruthkaoneta->Fill(partMC->Eta());
 MCtruthkaonphi->Fill(partMC->Phi());
  }
    }
if(TMath::Abs(pdgtruth)==2212)
  {
 particletypeTruth=SpProton;
if(ffillhistQATruth)
    {
 MCtruthprotonpt->Fill(partMC->Pt());
 MCtruthprotoneta->Fill(partMC->Eta());
 MCtruthprotonphi->Fill(partMC->Phi());
    }
     }
 if(TMath::Abs(pdgtruth)!=211 && TMath::Abs(pdgtruth)!=321 && TMath::Abs(pdgtruth)!=2212)  particletypeTruth=unidentified;//*********************WARNING:: situation is different from reco MC and data case(here we don't have SpUndefined particles,because here unidentified=SpUndefined)

    if(fRequestEventPlane){
      FillPIDEventPlane(cent_v0,particletypeTruth,partMC->Phi(),gReactionPlane);
    }
    /*
//Exclude resonances
	if(fExcludeResonancesInMC) {
	  TParticle *particle = track->Particle();
	  if(!particle) continue;
	  
	  Bool_t kExcludeParticle = kFALSE;
	  Int_t gMotherIndex = particle->GetFirstMother();
	  if(gMotherIndex != -1) {
	    AliMCParticle* motherTrack = dynamic_cast<AliMCParticle *>(event->GetTrack(gMotherIndex));
	    if(motherTrack) {
	      TParticle *motherParticle = motherTrack->Particle();
	      if(motherParticle) {
		Int_t pdgCodeOfMother = motherParticle->GetPdgCode();
		//if((pdgCodeOfMother == 113)||(pdgCodeOfMother == 213)||(pdgCodeOfMother == 221)||(pdgCodeOfMother == 223)||(pdgCodeOfMother == 331)||(pdgCodeOfMother == 333)) {
		}
		if(pdgCodeOfMother == 113  // rho0
		   || pdgCodeOfMother == 213 || pdgCodeOfMother == -213 // rho+
		   // || pdgCodeOfMother == 221  // eta
		   // || pdgCodeOfMother == 331  // eta'
		   // || pdgCodeOfMother == 223  // omega
		   // || pdgCodeOfMother == 333  // phi
		   || pdgCodeOfMother == 311  || pdgCodeOfMother == -311 // K0
		   // || pdgCodeOfMother == 313  || pdgCodeOfMother == -313 // K0*
		   // || pdgCodeOfMother == 323  || pdgCodeOfMother == -323 // K+*
		   || pdgCodeOfMother == 3122 || pdgCodeOfMother == -3122 // Lambda
		   || pdgCodeOfMother == 111  // pi0 Dalitz
		   ) {
		  kExcludeParticle = kTRUE;
		}
	      }
	    }
	  }
	  
	  //Exclude from the analysis decay products of rho0, rho+, eta, eta' and phi
	  if(kExcludeParticle) continue;
	}

	//Exclude electrons with PDG
	if(fExcludeElectronsInMC) {
	  
	  TParticle *particle = track->Particle();
	  
	  if (particle){ 
	    if(TMath::Abs(particle->GetPdgCode()) == 11) continue;
	  }
	}
    */

 Float_t effmatrixtruth=1.0;//In Truth MC, no case of efficiency correction so it should be always 1.0
if((partMC->Pt()>=fminPtAsso && partMC->Pt()<=fmaxPtAsso) || (partMC->Pt()>=fminPtTrig && partMC->Pt()<=fmaxPtTrig))//to reduce memory consumption in pool
  {
    Short_t chargeval=0;
    if(partMC->Charge()>0)   chargeval=1;
    if(partMC->Charge()<0)   chargeval=-1;
    if(chargeval==0) continue;
    const TBits *clustermap=0;
    const TBits *sharemap=0;
    LRCParticlePID* copy6 = new LRCParticlePID(particletypeTruth,Inv_mass,chargeval,partMC->Pt(),partMC->Eta(), partMC->Phi(),effmatrixtruth,clustermap,sharemap);
//copy6->SetUniqueID(eventno * 100000 + TMath::Abs(partMC->GetLabel()));
 copy6->SetUniqueID(eventno * 100000 + (Int_t)nooftrackstruth);
 tracksMCtruth->Add(copy6);//************** TObjArray used for truth correlation function calculation
  }
 }//track loop ends

 if(nooftrackstruth>0.0){
if (fSampleType=="pPb" || fSampleType=="PbPb" || fPPVsMultUtils==kTRUE || fCentralityMethod == "MC_b") fCentralityCorrelation->Fill(cent_v0, nooftrackstruth);//only with unidentified tracks(i.e before PID selection);;;;;can be used to remove centrality outliers??????

AliCollisionGeometry* collGeometry = dynamic_cast<AliCollisionGeometry*>(gMCEvent->GenEventHeader());    
 if(collGeometry){
Float_t NpartProj= collGeometry-> ProjectileParticipants();
Float_t NpartTarg = collGeometry->TargetParticipants();
 Float_t Npart= (NpartProj + NpartTarg);
fNchNpartCorr->Fill(Npart,nooftrackstruth);
 }
 }

  if (fRandomizeReactionPlane)//only for TRuth MC??
  {
    Double_t centralityDigits = cent_v0*1000. - (Int_t)(cent_v0*1000.);
    Double_t angle = TMath::TwoPi() * centralityDigits;
    AliInfo(Form("Shifting phi of all tracks by %f (digits %f)", angle, centralityDigits));
    ShiftTracks(tracksMCtruth, angle);  
  }
 

 Float_t weghtval=1.0;
 Float_t bSign = 0;

if(nooftrackstruth>0.0 && ffilltrigIDassoIDMCTRUTH)
  {
 //Fill Correlations for MC truth particles(same event)
if(tracksMCtruth && tracksMCtruth->GetEntriesFast()>0)//hadron triggered correlation
  Fillcorrelation(gReactionPlane,tracksMCtruth,0,cent_v0,zVtxmc,weghtval,kFALSE,bSign,fPtOrderMCTruth,kFALSE,kFALSE,"trigIDassoIDMCTRUTH");//mixcase=kFALSE for same event case

//start mixing
 AliEventPool* pool2 = fPoolMgr->GetEventPool(cent_v0, zVtxmc+200, gReactionPlane);
if (pool2 && pool2->IsReady())
  {//start mixing only when pool->IsReady
if(tracksMCtruth && tracksMCtruth->GetEntriesFast()>0)
  {//proceed only when no. of trigger particles >0 in current event
    Float_t nmix=(Float_t)pool2->GetCurrentNEvents();  
for (Int_t jMix=0; jMix<pool2->GetCurrentNEvents(); jMix++) 
  { //pool event loop start
 TObjArray* bgTracks6 = pool2->GetEvent(jMix);
  if(!bgTracks6) continue;
  Fillcorrelation(gReactionPlane,tracksMCtruth,bgTracks6,cent_v0,zVtxmc,nmix,(jMix == 0),bSign,fPtOrderMCTruth,kFALSE,kTRUE,"trigIDassoIDMCTRUTH");//mixcase=kTRUE for mixing case
  
   }// pool event loop ends mixing case
 }//if(trackstrig && trackstrig->GetEntriesFast()>0) condition ends mixing case
} //if pool->IsReady() condition ends mixing case

 //still in main event loop

 if(tracksMCtruth){
if(pool2)  pool2->UpdatePool(CloneAndReduceTrackList(tracksMCtruth));//ownership of tracksasso is with pool now, don't delete it
 }
  }

 //still in main event loop

if(tracksMCtruth) delete tracksMCtruth;


 }//MC type

//"MC" type analysis is finished but still in event loop

 else{//if(fAnalysisType=="MCAOD")

  AliAODEvent* aod = dynamic_cast<AliAODEvent*>(event);
  if (!aod) {
    AliError("Cannot get the AOD event");
    return;
  }
 
// count all events(physics triggered)   
  fEventCounter->Fill(1);

   

//check the PIDResponse handler
     fPID = ((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->GetPIDResponse();
    if (!fPID) AliFatal("This Task needs the PID response attached to the inputHandler");
    //if (!fPID) return;
// get mag. field required for twotrack efficiency cut
 Float_t bSign = 0;
 bSign = (aod->GetMagneticField() > 0) ? 1 : -1;

 //check for TClonesArray(truth track MC information)
fArrayMC = dynamic_cast<TClonesArray*>(aod->FindListObject(AliAODMCParticle::StdBranchName()));
  if (!fArrayMC) {
    AliFatal("Error: MC particles branch not found!\n");
    return;
  }
  
  //check for AliAODMCHeader(truth event MC information)
  AliAODMCHeader *header=NULL;
  header=(AliAODMCHeader*)aod->GetList()->FindObject(AliAODMCHeader::StdBranchName());  
  if(!header) {
    printf("MC header branch not found!\n");
    return;
  }
 
//Only consider MC events within the vtx-z region used also as cut on the reconstructed vertex
Float_t zVtxmc =header->GetVtxZ();
 if(TMath::Abs(zVtxmc)>fzvtxcut) return;

 // For productions with injected signals, figure out above which label to skip particles/tracks

 if (fInjectedSignals)
  {
    AliGenEventHeader* eventHeader = 0;
    Int_t headers = 0;

// AOD
      if (!header)
      AliFatal("fInjectedSignals set but no MC header found");
      
      headers = header->GetNCocktailHeaders();
      eventHeader = header->GetCocktailHeader(0);

 if (!eventHeader)
    {
      // We avoid AliFatal here, because the AOD productions sometimes have events where the MC header is missing 
      // (due to unreadable Kinematics) and we don't want to loose the whole job because of a few events
      AliError("First event header not found. Skipping this event.");
      //fHistos->FillEvent(centrality, AliUEHist::kCFStepAnaTopology);
      return;
    }
skipParticlesAbove = eventHeader->NProduced();
    AliInfo(Form("Injected signals in this event (%d headers). Keeping events of %s. Will skip particles/tracks above %d.", headers, eventHeader->ClassName(), skipParticlesAbove));
  }

 if (fSampleType=="pp_2_76" || fCentralityMethod.EndsWith("_MANUAL") || (fSampleType=="pp_7" && fPPVsMultUtils==kFALSE))
   {
 //make the event selection with reco vertex cut and centrality cut and return the value of the centrality
     Double_t refmultTruth = GetAcceptedEventMultiplicity((AliVEvent*)aod,kTRUE);  //incase of ref multiplicity it will return the truth MC ref mullt value; need to determine the ref mult value separately for reco Mc case; in case of centrality this is final and fine
     refmultReco = GetAcceptedEventMultiplicity((AliVEvent*)aod,kFALSE); 
     if(refmultTruth<=0 || refmultReco<=0) return;
     cent_v0=refmultTruth;
   }
 else {
 cent_v0=GetAcceptedEventMultiplicity((AliVEvent*)aod,kFALSE); //centrality value; 2nd argument has no meaning
 }

 if(cent_v0<0.) return;
 effcent=cent_v0;// This will be required for efficiency THn filling(specially in case of pp)

  //get the event plane in case of PbPb
   if(fRequestEventPlane){
     gReactionPlane=GetEventPlane((AliVEvent*)aod,kTRUE,cent_v0);//get the truth event plane
   if(gReactionPlane==999.) return;
 }
 
   //TObjArray* tracksMCtruth=0;
TObjArray* tracksMCtruth=new TObjArray;//for truth MC particles with PID,here unidentified means any particle other than pion, kaon or proton(Basicaly Spundefined of AliHelperPID)******WARNING::different from data and reco MC
 tracksMCtruth->SetOwner(kTRUE);  //***********************************IMPORTANT!

  eventno++;

  //There is a small difference between zvtx and zVtxmc?????? 
  //cout<<"***********************************************zVtxmc="<<zVtxmc<<endl;
  //cout<<"***********************************************zvtx="<<zvtx<<endl;
 
//now process the truth particles(for both efficiency & correlation function)
Int_t nMCTrack = fArrayMC->GetEntriesFast();
  
for (Int_t iMC = 0; iMC < nMCTrack; iMC++) 
{      //MC truth track loop starts
    
AliAODMCParticle *partMC = (AliAODMCParticle*) fArrayMC->At(iMC);
    
    if(!partMC){
      AliError(Form("ERROR: Could not retrieve AODMCtrack %d",iMC));
      continue;
    }

//consider only charged particles
    if(partMC->Charge() == 0) continue;

//consider only primary particles; neglect all secondary particles including from weak decays
 if(fselectprimaryTruth && !partMC->IsPhysicalPrimary()) continue;


//remove injected signals(primaries above <maxLabel>)
 if (fInjectedSignals && partMC->GetLabel() >= skipParticlesAbove) continue;

//remove duplicates
  Bool_t isduplicate=kFALSE;
 if (fRemoveDuplicates)
   { 
 for (Int_t j=iMC+1; j<nMCTrack; ++j) 
   {//2nd trutuh loop starts
AliAODMCParticle *partMC2 = (AliAODMCParticle*) fArrayMC->At(j);
   if(!partMC2){
      AliError(Form("ERROR: Could not retrieve AODMCtrack %d",j));
      continue;
    }    
 if (partMC->GetLabel() == partMC2->GetLabel())
   {
isduplicate=kTRUE;
 break;  
   }    
   }//2nd truth loop ends
   }
 if(fRemoveDuplicates && isduplicate) continue;//remove duplicates

//give only kinematic cuts at the truth level  
 if (partMC->Eta() < fmineta || partMC->Eta() > fmaxeta) continue;
 if (partMC->Pt() < fminPt ||  partMC->Pt() > fmaxPt) continue;

 if(!partMC) continue;//for safety

 //To determine multiplicity in case of PP
 nooftrackstruth++;
 //cout<<"**************************************"<<TMath::Abs(partMC->GetLabel())<<endl;
//only physical primary(all/unidentified)  
if(ffillhistQATruth)
    {
 MCtruthpt->Fill(partMC->Pt());
 MCtrutheta->Fill(partMC->Eta());
 MCtruthphi->Fill(partMC->Phi());
    }
 //get particle ID
Int_t pdgtruth=((AliAODMCParticle*)partMC)->GetPdgCode();
Int_t particletypeTruth=-999;
 if (TMath::Abs(pdgtruth)==211)
   {
 particletypeTruth=SpPion;
if(ffillhistQATruth)
    {

 MCtruthpionpt->Fill(partMC->Pt());
 MCtruthpioneta->Fill(partMC->Eta());
 MCtruthpionphi->Fill(partMC->Phi());
    }
      }
 if (TMath::Abs(pdgtruth)==321)
   {
 particletypeTruth=SpKaon;
if(ffillhistQATruth)
    {
 MCtruthkaonpt->Fill(partMC->Pt());
 MCtruthkaoneta->Fill(partMC->Eta());
 MCtruthkaonphi->Fill(partMC->Phi());
  }
    }
if(TMath::Abs(pdgtruth)==2212)
  {
 particletypeTruth=SpProton;
if(ffillhistQATruth)
    {
 MCtruthprotonpt->Fill(partMC->Pt());
 MCtruthprotoneta->Fill(partMC->Eta());
 MCtruthprotonphi->Fill(partMC->Phi());
    }
     }
 if(TMath::Abs(pdgtruth)!=211 && TMath::Abs(pdgtruth)!=321 && TMath::Abs(pdgtruth)!=2212)  particletypeTruth=unidentified;//*********************WARNING:: situation is different from reco MC and data case(here we don't have SpUndefined particles,because here unidentified=SpUndefined)

    if(fRequestEventPlane){
      FillPIDEventPlane(cent_v0,particletypeTruth,partMC->Phi(),gReactionPlane);
    }

 // -- Fill THnSparse for efficiency and contamination calculation
    if (fSampleType=="pp_2_76" || fCentralityMethod.EndsWith("_MANUAL") || (fSampleType=="pp_7" && fPPVsMultUtils==kFALSE)) effcent=15.0;//integrated over multiplicity(so put any fixed value for each track so that practically means there is only one bin in multiplicity i.e. multiplicity intregated out )**************Important

 Double_t primmctruth[4] = {effcent, zVtxmc,partMC->Pt(), partMC->Eta()};
 if(ffillefficiency)
  {
    fTrackHistEfficiency[5]->Fill(primmctruth,0);//for all primary truth particles(4)
    if (TMath::Abs(pdgtruth)==211 || TMath::Abs(pdgtruth)==321) fTrackHistEfficiency[3]->Fill(primmctruth,0);//for  primary truth mesons(3)
    if (TMath::Abs(pdgtruth)==2212 || TMath::Abs(pdgtruth)==321) fTrackHistEfficiency[4]->Fill(primmctruth,0);//for  primary truth kaons+protons(4)
    if (TMath::Abs(pdgtruth)==211)  fTrackHistEfficiency[0]->Fill(primmctruth,0);//for pions
    if (TMath::Abs(pdgtruth)==321)  fTrackHistEfficiency[1]->Fill(primmctruth,0);//for kaons
    if (TMath::Abs(pdgtruth)==2212)  fTrackHistEfficiency[2]->Fill(primmctruth,0);//for protons
  }
   
 Float_t effmatrixtruth=1.0;//In Truth MC, no case of efficiency correction so it should be always 1.0
if((partMC->Pt()>=fminPtAsso && partMC->Pt()<=fmaxPtAsso) || (partMC->Pt()>=fminPtTrig && partMC->Pt()<=fmaxPtTrig))//to reduce memory consumption in pool
  {
    Short_t chargeval=0;
    if(partMC->Charge()>0)   chargeval=1;
    if(partMC->Charge()<0)   chargeval=-1;
    if(chargeval==0) continue;
    const TBits *clustermap=0;
    const TBits *sharemap=0;
    LRCParticlePID* copy6 = new LRCParticlePID(particletypeTruth,Inv_mass,chargeval,partMC->Pt(),partMC->Eta(), partMC->Phi(),effmatrixtruth,clustermap,sharemap);
//copy6->SetUniqueID(eventno * 100000 + TMath::Abs(partMC->GetLabel()));
 copy6->SetUniqueID(eventno * 100000 + (Int_t)nooftrackstruth);
 tracksMCtruth->Add(copy6);//************** TObjArray used for truth correlation function calculation
  }
  }//MC truth track loop ends

//*********************still in event loop

   if (fRandomizeReactionPlane)//only for TRuth MC??
  {
    Double_t centralityDigits = cent_v0*1000. - (Int_t)(cent_v0*1000.);
    Double_t angle = TMath::TwoPi() * centralityDigits;
    AliInfo(Form("Shifting phi of all tracks by %f (digits %f)", angle, centralityDigits));
    ShiftTracks(tracksMCtruth, angle);  
  }
 
if(nooftrackstruth>0.0){
if (fSampleType=="pPb" || fSampleType=="PbPb" || fPPVsMultUtils==kTRUE || fCentralityMethod == "MC_b") fCentralityCorrelation->Fill(cent_v0, nooftrackstruth);//only with unidentified tracks(i.e before PID selection);;;;;can be used to remove centrality outliers??????

   AliGenEventHeader* eventHeader = header->GetCocktailHeader(0);  // get first MC header from either ESD/AOD (including cocktail header if available)
      if (eventHeader)
      {	     
AliCollisionGeometry* collGeometry = dynamic_cast <AliCollisionGeometry*> (eventHeader);
 if(collGeometry){
Float_t NpartProj= collGeometry-> ProjectileParticipants();
Float_t NpartTarg = collGeometry->TargetParticipants();
Float_t Npart= (NpartProj + NpartTarg);
fNchNpartCorr->Fill(Npart,nooftrackstruth);
         }
      }    
 }
 
 Float_t weghtval=1.0;

if(nooftrackstruth>0.0 && ffilltrigIDassoIDMCTRUTH)
  {
 //Fill Correlations for MC truth particles(same event)
if(tracksMCtruth && tracksMCtruth->GetEntriesFast()>0)//hadron triggered correlation
  Fillcorrelation(gReactionPlane,tracksMCtruth,0,cent_v0,zVtxmc,weghtval,kFALSE,bSign,fPtOrderMCTruth,kFALSE,kFALSE,"trigIDassoIDMCTRUTH");//mixcase=kFALSE for same event case

//start mixing
 AliEventPool* pool2 = fPoolMgr->GetEventPool(cent_v0, zVtxmc+200, gReactionPlane);
if (pool2 && pool2->IsReady())
  {//start mixing only when pool->IsReady
if(tracksMCtruth && tracksMCtruth->GetEntriesFast()>0)
  {//proceed only when no. of trigger particles >0 in current event
    Float_t nmix=(Float_t)pool2->GetCurrentNEvents();  
for (Int_t jMix=0; jMix<pool2->GetCurrentNEvents(); jMix++) 
  { //pool event loop start
 TObjArray* bgTracks6 = pool2->GetEvent(jMix);
  if(!bgTracks6) continue;
  Fillcorrelation(gReactionPlane,tracksMCtruth,bgTracks6,cent_v0,zVtxmc,nmix,(jMix == 0),bSign,fPtOrderMCTruth,kFALSE,kTRUE,"trigIDassoIDMCTRUTH");//mixcase=kTRUE for mixing case
  
   }// pool event loop ends mixing case
 }//if(trackstrig && trackstrig->GetEntriesFast()>0) condition ends mixing case
} //if pool->IsReady() condition ends mixing case

 //still in main event loop

 if(tracksMCtruth){
if(pool2)  pool2->UpdatePool(CloneAndReduceTrackList(tracksMCtruth));//ownership of tracksasso is with pool now, don't delete it
 }
  }

 //still in main event loop

if(tracksMCtruth) delete tracksMCtruth;

//now deal with reco tracks


//Float_t bSign1=aod->GetHeader()->GetMagneticField() ;//used for reconstructed track dca cut
   Float_t bSign1=aod->GetMagneticField() ;//used for reconstructed track dca cut


//detrmine the ref mult in case of Reco(not required if we get centrality info from AliCentrality)
 if (fSampleType=="pp_2_76" || fCentralityMethod.EndsWith("_MANUAL") || (fSampleType=="pp_7" && fPPVsMultUtils==kFALSE)) cent_v0=refmultReco;
 effcent=cent_v0;// This will be required for efficiency THn filling(specially in case of pp)

 if(fRequestEventPlane){
   gReactionPlane = GetEventPlane((AliVEvent*)aod,kFALSE,cent_v0);//get the reconstructed event plane
    if(gReactionPlane==999.) return;
 }


  TExMap *trackMap = new TExMap();

// --- track loop for mapping matrix
 if(fFilterBit==128)
   {
 for (Int_t itrk = 0; itrk < aod->GetNumberOfTracks(); itrk++) 
{ //track loop starts for TObjArray(containing track and event information) filling; used for correlation function calculation 
  AliAODTrack* track = dynamic_cast<AliAODTrack*>(aod->GetTrack(itrk));
  if (!track) continue;
  Int_t tracktype=ClassifyTrack(track,trkVtx,bSign1,kFALSE);//don't fill the histos here
  if(tracktype!=1) continue; 

  if(!track) continue;//for safety

   Int_t gid = track->GetID();
   trackMap->Add(gid,itrk);
 }//track looop ends
   }


  
   //TObjArray* tracksUNID=0;
   TObjArray* tracksUNID = new TObjArray;
   tracksUNID->SetOwner(kTRUE);

   //TObjArray* tracksID=0;
   TObjArray* tracksID = new TObjArray;
   tracksID->SetOwner(kTRUE);


//get the selected v0 particle TObjArray
   TObjArray* tracksIDV0 = new TObjArray;
   tracksIDV0->SetOwner(kTRUE);

   Double_t trackscount=0.0;
// loop over reconstructed tracks 
  for (Int_t itrk = 0; itrk < aod->GetNumberOfTracks(); itrk++) 
{ // reconstructed track loop starts
  AliAODTrack* track = dynamic_cast<AliAODTrack*>(aod->GetTrack(itrk));
  if (!track) continue;
 //get the corresponding MC track at the truth level (doing reco matching)
  AliAODMCParticle* recomatched = static_cast<AliAODMCParticle*>(fArrayMC->At(TMath::Abs(track->GetLabel())));
  if(!recomatched) continue;//if a reco track doesn't have corresponding truth track at generated level is a fake track(label==0), ignore it

//remove injected signals 
 if(fInjectedSignals)
   {
    AliAODMCParticle* mother = recomatched;

      while (!mother->IsPhysicalPrimary())
      {// find the primary mother;the first stable mother is searched and checked if it is <= <maxLabel>
	if (mother->GetMother() < 0)
	{
	  mother = 0;
	  break;
	}
	  
   mother =(AliAODMCParticle*) fArrayMC->At(((AliAODMCParticle*)mother)->GetMother());
	if (!mother)
	  break;
      }
 if (!mother)
    {
      Printf("WARNING: No mother found for particle %d:", recomatched->GetLabel());
      continue;
    }
 if (mother->GetLabel() >= skipParticlesAbove) continue;//remove injected signals(primaries above <maxLabel>)
   }//remove injected signals

 if (fRemoveWeakDecays && ((AliAODMCParticle*) recomatched)->IsSecondaryFromWeakDecay()) continue;//remove weak decays
	
  Bool_t isduplicate2=kFALSE;
if (fRemoveDuplicates)
   {
  for (Int_t j =itrk+1; j < aod->GetNumberOfTracks(); j++) 
    {//2nd loop starts
 AliAODTrack* track2 = dynamic_cast<AliAODTrack*>(aod->GetTrack(j));
 if (!track2) continue;
 AliAODMCParticle* recomatched2 = static_cast<AliAODMCParticle*>(fArrayMC->At(TMath::Abs(track2->GetLabel())));
if(!recomatched2) continue;

if (track->GetLabel() == track2->GetLabel())
   {
isduplicate2=kTRUE;
 break;  
   }
    }//2nd loop ends
   }
 if(fRemoveDuplicates && isduplicate2) continue;//remove duplicates
     
  fHistQA[11]->Fill(track->GetTPCNcls());
  Int_t tracktype=ClassifyTrack(track,trkVtx,bSign1,kTRUE);//dcacut=kFALSE,onlyprimary=kFALSE

 if(tracktype==0) continue; 
 if(tracktype==1)//tracks "not" passed AliAODTrack::kPrimary at reconstructed level & have proper TPC PID response(?)
{
  if(!track) continue;//for safety
 //accepted all(primaries+secondary) reconstructed tracks(pt 0.2 to 10.0,,eta -0.8 to 0.8)

 if(fV0TrigCorr){ 
if(IsTrackFromV0(aod,track)) continue;// remove auto correlation
  }

  AliAODTrack *PIDtrack=track;//for PID purpose, mainly important for TPC only tracks

  if(fFilterBit==128){
Int_t gid1 = track->GetID();
//if(gid1>=0) PIDtrack = track;
 PIDtrack =(AliAODTrack*) aod->GetTrack(trackMap->GetValue(-1-gid1));
if(!PIDtrack) continue;//for safety; so that each of the TPC only tracks have corresponding global track along with it
  }

  trackscount++;

//check for eta , phi holes
 fEtaSpectrasso->Fill(track->Eta(),track->Pt());
 fphiSpectraasso->Fill(track->Phi(),track->Pt());

  Int_t particletypeMC=-9999;

//tag all particles as unidentified
 particletypeMC=unidentified;

 Float_t effmatrix=1.;

// -- Fill THnSparse for efficiency calculation
 if (fSampleType=="pp_2_76" || fCentralityMethod.EndsWith("_MANUAL") || (fSampleType=="pp_7" && fPPVsMultUtils==kFALSE)) effcent=15.0;//integrated over multiplicity(so put any fixed value for each track so that practically means there is only one bin in multiplicity i.e. multiplicity intregated out )**************Important
 //NOTE:: this will be used for fillinfg THnSparse of efficiency & also to get the the track by track eff. factor on the fly(only in case of pp)

 //Clone & Reduce track list(TObjArray) for unidentified particles
if((track->Pt()>=fminPtAsso && track->Pt()<=fmaxPtAsso) || (track->Pt()>=fminPtTrig && track->Pt()<=fmaxPtTrig))//to reduce memory consumption in pool
  {
     Short_t chargeval=0;
    if(track->Charge()>0)   chargeval=1;
    if(track->Charge()<0)   chargeval=-1;
    if(chargeval==0) continue;
 if (fapplyTrigefficiency || fapplyAssoefficiency)//get the trackingefficiency x contamination factor for unidentified particles
   effmatrix=GetTrackbyTrackeffvalue(track,effcent,zvtx,particletypeMC);
 LRCParticlePID* copy = new LRCParticlePID(particletypeMC,Inv_mass,chargeval,track->Pt(),track->Eta(), track->Phi(),effmatrix,track->GetTPCClusterMapPtr(),track->GetTPCSharedMapPtr());
   copy->SetUniqueID(eventno * 100000 +(Int_t)trackscount);
   tracksUNID->Add(copy);//track information Storage for UNID correlation function(tracks that pass the filterbit & kinematic cuts only)
  }

//get the pdg code of the corresponding truth particle
 Int_t pdgCode = ((AliAODMCParticle*)recomatched)->GetPdgCode();

 Double_t allrecomatchedpid[4] = {effcent, zVtxmc,recomatched->Pt(), recomatched->Eta()};
 if(ffillefficiency) {
fTrackHistEfficiency[5]->Fill(allrecomatchedpid,2);//for allreco matched
 if(TMath::Abs(pdgCode)==211 ||  TMath::Abs(pdgCode)==321)   fTrackHistEfficiency[3]->Fill(allrecomatchedpid,2);//for mesons
 if(TMath::Abs(pdgCode)==321 ||  TMath::Abs(pdgCode)==2212)   fTrackHistEfficiency[4]->Fill(allrecomatchedpid,2);//for kaons+protons
 if(TMath::Abs(pdgCode)==211)  fTrackHistEfficiency[0]->Fill(allrecomatchedpid,2);//for pions  
 if(TMath::Abs(pdgCode)==321)  fTrackHistEfficiency[1]->Fill(allrecomatchedpid,2);//for kaons
 if(TMath::Abs(pdgCode)==2212) fTrackHistEfficiency[2]->Fill(allrecomatchedpid,2);//for protons

 if (((AliAODMCParticle*)recomatched)->IsPhysicalPrimary()) {
 fTrackHistEfficiency[5]->Fill(allrecomatchedpid,1);//for primreco matched
 if(TMath::Abs(pdgCode)==211 ||  TMath::Abs(pdgCode)==321)   fTrackHistEfficiency[3]->Fill(allrecomatchedpid,1);//for mesons
 if(TMath::Abs(pdgCode)==321 ||  TMath::Abs(pdgCode)==2212)   fTrackHistEfficiency[4]->Fill(allrecomatchedpid,1);//for kaons+protons
 if( TMath::Abs(pdgCode)==211)  fTrackHistEfficiency[0]->Fill(allrecomatchedpid,1);//for pions  
 if( TMath::Abs(pdgCode)==321)  fTrackHistEfficiency[1]->Fill(allrecomatchedpid,1);//for kaons
 if( TMath::Abs(pdgCode)==2212) fTrackHistEfficiency[2]->Fill(allrecomatchedpid,1);//for protons
 }
 }

switch(TMath::Abs(pdgCode)){
  case 2212:
    if(fFIllPIDQAHistos){
      for(Int_t ipid=0;ipid<=NSigmaPIDType;ipid++){
	if((ipid!=NSigmaTPC) && (!HasTOFPID(PIDtrack)))continue;//not filling TOF and combined if no TOF PID
	TH2F *h=GetHistogram2D(Form("NSigmaMC_%d_%d",SpProton,ipid));
	h->Fill(track->Pt(),fnsigmas[SpProton][ipid]);
      }
    }
    break;
  case 321:
    if(fFIllPIDQAHistos){
      for(Int_t ipid=0;ipid<=NSigmaPIDType;ipid++){
	if((ipid!=NSigmaTPC) && (!HasTOFPID(PIDtrack)))continue;//not filling TOF and combined if no TOF PID
	TH2F *h=GetHistogram2D(Form("NSigmaMC_%d_%d",SpKaon,ipid));
	h->Fill(track->Pt(),fnsigmas[SpKaon][ipid]);
      }
    }
    break;
  case 211:
    if(fFIllPIDQAHistos){
      for(Int_t ipid=0;ipid<=NSigmaPIDType;ipid++){
	if((ipid!=NSigmaTPC) && (!HasTOFPID(PIDtrack)))continue;//not filling TOF and combined if no TOF PID
	TH2F *h=GetHistogram2D(Form("NSigmaMC_%d_%d",SpPion,ipid));
	h->Fill(track->Pt(),fnsigmas[SpPion][ipid]);
      }
    }
    break;
  }


 //now start the particle identification process:)

Float_t dEdx = PIDtrack->GetTPCsignal();
 fHistoTPCdEdx->Fill(track->Pt(), dEdx);

 if(HasTOFPID(PIDtrack))
{
Double_t beta = GetBeta(PIDtrack);
fHistoTOFbeta->Fill(track->Pt(), beta);
 }

 //remove the tracks which don't have proper TOF response-otherwise the misIDentification rate values will be wrong
if(fRequestTOFPID && track->Pt()>fPtTOFPIDmin && (!HasTOFPID(PIDtrack)) ) continue;
 

//do track identification(nsigma method)
  particletypeMC=GetParticle(PIDtrack,fFIllPIDQAHistos);//******************************problem is here

//2-d TPCTOF map(for each Pt interval)
  if(HasTOFPID(PIDtrack)){
 fTPCTOFPion3d->Fill(track->Pt(),fnsigmas[SpPion][NSigmaTOF],fnsigmas[SpPion][NSigmaTPC]);
 fTPCTOFKaon3d->Fill(track->Pt(),fnsigmas[SpKaon][NSigmaTOF],fnsigmas[SpKaon][NSigmaTPC]);
 fTPCTOFProton3d->Fill(track->Pt(),fnsigmas[SpProton][NSigmaTOF],fnsigmas[SpProton][NSigmaTPC]); 
  }

 //Pt, Eta , Phi distribution of the reconstructed identified particles
if(ffillhistQAReco)
    {
if (particletypeMC==SpPion)
  {
    fPionPt->Fill(track->Pt());
    fPionEta->Fill(track->Eta());
    fPionPhi->Fill(track->Phi());
  }
if (particletypeMC==SpKaon)
  {
    fKaonPt->Fill(track->Pt());
    fKaonEta->Fill(track->Eta());
    fKaonPhi->Fill(track->Phi());
  }
if (particletypeMC==SpProton)
  {
    fProtonPt->Fill(track->Pt());
    fProtonEta->Fill(track->Eta());
    fProtonPhi->Fill(track->Phi());
  }
    }

 //fill tracking efficiency
 if(ffillefficiency)
   {
 if(particletypeMC==SpPion || particletypeMC==SpKaon)
   {
     if(TMath::Abs(pdgCode)==211 ||  TMath::Abs(pdgCode)==321) {
       fTrackHistEfficiency[3]->Fill(allrecomatchedpid,4);//for mesons
 if (((AliAODMCParticle*)recomatched)->IsPhysicalPrimary())  fTrackHistEfficiency[3]->Fill(allrecomatchedpid,3);//for mesons
     }
   }
 if(particletypeMC==SpKaon || particletypeMC==SpProton)
   {
     if(TMath::Abs(pdgCode)==321 ||  TMath::Abs(pdgCode)==2212) {
       fTrackHistEfficiency[4]->Fill(allrecomatchedpid,4);//for kaons+protons
 if (((AliAODMCParticle*)recomatched)->IsPhysicalPrimary())  fTrackHistEfficiency[4]->Fill(allrecomatchedpid,3);
     }
   }
 if(particletypeMC==SpPion && TMath::Abs(pdgCode)==211)  {
   fTrackHistEfficiency[0]->Fill(allrecomatchedpid,4);//for pions
 if (((AliAODMCParticle*)recomatched)->IsPhysicalPrimary())  fTrackHistEfficiency[0]->Fill(allrecomatchedpid,3);
 } 
 if(particletypeMC==SpKaon && TMath::Abs(pdgCode)==321) {
   fTrackHistEfficiency[1]->Fill(allrecomatchedpid,4);//for kaons
if (((AliAODMCParticle*)recomatched)->IsPhysicalPrimary())  fTrackHistEfficiency[1]->Fill(allrecomatchedpid,3);
 }
 if(particletypeMC==SpProton && TMath::Abs(pdgCode)==2212){
   fTrackHistEfficiency[2]->Fill(allrecomatchedpid,4);//for protons
if (((AliAODMCParticle*)recomatched)->IsPhysicalPrimary())  fTrackHistEfficiency[2]->Fill(allrecomatchedpid,3);
 }
   }


 //for misidentification fraction calculation(do it with tuneonPID)
 if(particletypeMC==SpPion )
   {
     if(TMath::Abs(pdgCode)==211) fPioncont->Fill(1.,track->Pt());
     if(TMath::Abs(pdgCode)==321) fPioncont->Fill(3.,track->Pt());
     if(TMath::Abs(pdgCode)==2212) fPioncont->Fill(5.,track->Pt());
     if(TMath::Abs(pdgCode)!=211 && TMath::Abs(pdgCode)!=321 && TMath::Abs(pdgCode)!=2212) fPioncont->Fill(7.,track->Pt());
   }
if(particletypeMC==SpKaon )
   {
     if(TMath::Abs(pdgCode)==211) fKaoncont->Fill(1.,track->Pt());
     if(TMath::Abs(pdgCode)==321) fKaoncont->Fill(3.,track->Pt());
     if(TMath::Abs(pdgCode)==2212) fKaoncont->Fill(5.,track->Pt());
     if(TMath::Abs(pdgCode)!=211 && TMath::Abs(pdgCode)!=321 && TMath::Abs(pdgCode)!=2212) fKaoncont->Fill(7.,track->Pt());
   }
 if(particletypeMC==SpProton )
   {
     if(TMath::Abs(pdgCode)==211) fProtoncont->Fill(1.,track->Pt());
     if(TMath::Abs(pdgCode)==321) fProtoncont->Fill(3.,track->Pt());
     if(TMath::Abs(pdgCode)==2212) fProtoncont->Fill(5.,track->Pt());
     if(TMath::Abs(pdgCode)!=211 && TMath::Abs(pdgCode)!=321 && TMath::Abs(pdgCode)!=2212) fProtoncont->Fill(7.,track->Pt());
   }
 if(particletypeMC==SpUndefined )//these undefined are not due to absence of proper TOF response, rather due to the PID method only
   {
     if(TMath::Abs(pdgCode)==211) fUNIDcont->Fill(1.,track->Pt());
     if(TMath::Abs(pdgCode)==321) fUNIDcont->Fill(3.,track->Pt());
     if(TMath::Abs(pdgCode)==2212) fUNIDcont->Fill(5.,track->Pt());
     if(TMath::Abs(pdgCode)!=211 && TMath::Abs(pdgCode)!=321 && TMath::Abs(pdgCode)!=2212) fUNIDcont->Fill(7.,track->Pt());
   }

 if(particletypeMC==SpUndefined) continue;

    if(fRequestEventPlane){
      FillPIDEventPlane(cent_v0,particletypeMC,track->Phi(),gReactionPlane);
    }

if((track->Pt()>=fminPtAsso && track->Pt()<=fmaxPtAsso) || (track->Pt()>=fminPtTrig && track->Pt()<=fmaxPtTrig))//to reduce memory consumption in pool
  {
    Short_t chargeval=0;
    if(track->Charge()>0)   chargeval=1;
    if(track->Charge()<0)   chargeval=-1;
    if(chargeval==0) continue;
if (fapplyTrigefficiency || fapplyAssoefficiency)
    effmatrix=GetTrackbyTrackeffvalue(track,effcent,zvtx,particletypeMC);//get the tracking eff x TOF matching eff x PID eff x contamination factor for identified particles 
 LRCParticlePID* copy1 = new LRCParticlePID(particletypeMC,Inv_mass,chargeval,track->Pt(),track->Eta(), track->Phi(),effmatrix,track->GetTPCClusterMapPtr(),track->GetTPCSharedMapPtr());
    copy1->SetUniqueID(eventno * 100000 + (Int_t)trackscount);
    tracksID->Add(copy1);
  }
  }// if(tracktype==1) condition structure ands

}//reco track loop ends

  //*************************************************************still in event loop
 

if(trackscount>0.0)
  { 
//fill the centrality/multiplicity distribution of the selected events
 fhistcentrality->Fill(cent_v0);//*********************************WARNING::binning of cent_v0 is different for pp and pPb/PbPb case

 if (fSampleType=="pPb" || fSampleType=="PbPb" || fPPVsMultUtils==kTRUE || fCentralityMethod == "MC_b") fCentralityCorrelation->Fill(cent_v0, trackscount);//only with unidentified tracks(i.e before PID selection);;;;;can be used to remove centrality outliers??????

//count selected events having centrality betn 0-100%
 fEventCounter->Fill(13);

//***************************************event no. counting
Bool_t isbaryontrig=kFALSE;
Bool_t ismesontrig=kFALSE;
if(tracksUNID && tracksUNID->GetEntriesFast()>0) fEventno->Fill(cent_v0,zvtx);

if(tracksID && tracksID->GetEntriesFast()>0)
  {
for(Int_t i=0;i<tracksID->GetEntriesFast();i++)
    {  //trigger loop starts
      LRCParticlePID *trig=(LRCParticlePID*)(tracksID->UncheckedAt(i));
      if(!trig) continue;
      if(trig->Pt()<fminPtTrig || trig->Pt()>fmaxPtTrig) continue;
      Int_t particlepidtrig=trig->getparticle(); //either 1 or 2
      if(particlepidtrig==SpProton) isbaryontrig=kTRUE;
      if(particlepidtrig==SpPion) ismesontrig=kTRUE;
    }//trig loop ends
 if (isbaryontrig) fEventnobaryon->Fill(cent_v0,zvtx); 
 if (ismesontrig) fEventnomeson->Fill(cent_v0,zvtx);
  }


 if(fV0TrigCorr){
 tracksIDV0=GetV0Particles((AliVEvent*) aod, cent_v0);
 if(tracksIDV0->GetEntriesFast()<=0) return;
 }
 //same event delte-eta, delta-phi plot
if(tracksUNID && tracksUNID->GetEntriesFast()>0)//hadron triggered correlation
  {//same event calculation starts
    if(ffilltrigassoUNID) Fillcorrelation(gReactionPlane,tracksUNID,0,cent_v0,zvtx,weghtval,kFALSE,bSign,fPtOrderDataReco,ftwoTrackEfficiencyCutDataReco,kFALSE,"trigassoUNID");//mixcase=kFALSE (hadron-hadron correlation)
    if(tracksID && tracksID->GetEntriesFast()>0 && ffilltrigUNIDassoID)  Fillcorrelation(gReactionPlane,tracksUNID,tracksID,cent_v0,zvtx,weghtval,kFALSE,bSign,fPtOrderDataReco,ftwoTrackEfficiencyCutDataReco,kFALSE,"trigUNIDassoID");//mixcase=kFALSE (hadron-ID correlation)
  }

if(tracksID && tracksID->GetEntriesFast()>0)//ID triggered correlation
  {//same event calculation starts
    if(tracksUNID && tracksUNID->GetEntriesFast()>0 && ffilltrigIDassoUNID) {
      if(fV0TrigCorr) Fillcorrelation(gReactionPlane,tracksIDV0,tracksUNID,cent_v0,zvtx,weghtval,kFALSE,bSign,fPtOrderDataReco,ftwoTrackEfficiencyCutDataReco,kFALSE,"trigIDassoUNID");//mixcase=kFALSE (ID-hadron correlation)
      
 else Fillcorrelation(gReactionPlane,tracksID,tracksUNID,cent_v0,zvtx,weghtval,kFALSE,bSign,fPtOrderDataReco,ftwoTrackEfficiencyCutDataReco,kFALSE,"trigIDassoUNID");//mixcase=kFALSE (ID-hadron correlation)
    }
    if(ffilltrigIDassoID)   Fillcorrelation(gReactionPlane,tracksID,0,cent_v0,zvtx,weghtval,kFALSE,bSign,fPtOrderDataReco,ftwoTrackEfficiencyCutDataReco,kFALSE,"trigIDassoID");//mixcase=kFALSE (ID-ID correlation)
  }

//still in  main event loop
//start mixing
 if(ffilltrigassoUNID || ffilltrigIDassoUNID){//mixing with unidentified particles
  AliEventPool* pool = fPoolMgr->GetEventPool(cent_v0, zvtx,gReactionPlane);//In the pool there is tracksUNID(i.e associateds are unidentified)
if (pool && pool->IsReady())
  {//start mixing only when pool->IsReady
    Float_t nmix1=(Float_t)pool->GetCurrentNEvents();  
 for (Int_t jMix=0; jMix<pool->GetCurrentNEvents(); jMix++) 
  { //pool event loop start
 TObjArray* bgTracks = pool->GetEvent(jMix);
  if(!bgTracks) continue;
  if(ffilltrigassoUNID && tracksUNID && tracksUNID->GetEntriesFast()>0)//*******************************hadron trggered mixing
    Fillcorrelation(gReactionPlane,tracksUNID,bgTracks,cent_v0,zvtx,nmix1,(jMix == 0),bSign,fPtOrderDataReco,ftwoTrackEfficiencyCutDataReco,kTRUE,"trigassoUNID");//mixcase=kTRUE
 if(ffilltrigIDassoUNID && tracksID && tracksID->GetEntriesFast()>0)//***********************************ID trggered mixing
   {
     if(fV0TrigCorr) Fillcorrelation(gReactionPlane,tracksIDV0,bgTracks,cent_v0,zvtx,nmix1,(jMix == 0),bSign,fPtOrderDataReco,ftwoTrackEfficiencyCutDataReco,kTRUE,"trigIDassoUNID");//mixcase=kTRUE 
     
 else  Fillcorrelation(gReactionPlane,tracksID,bgTracks,cent_v0,zvtx,nmix1,(jMix == 0),bSign,fPtOrderDataReco,ftwoTrackEfficiencyCutDataReco,kTRUE,"trigIDassoUNID");//mixcase=kTRUE 
   }
   }// pool event loop ends mixing case

} //if pool->IsReady() condition ends mixing case
 if(tracksUNID) {
if(pool)
  pool->UpdatePool(CloneAndReduceTrackList(tracksUNID));
 }
 }//mixing with unidentified particles

 if(ffilltrigUNIDassoID || ffilltrigIDassoID){//mixing with identified particles
  AliEventPool* pool1 = fPoolMgr->GetEventPool(cent_v0, zvtx+100,gReactionPlane);//In the pool1 there is tracksID(i.e associateds are identified)
if (pool1 && pool1->IsReady())
  {//start mixing only when pool->IsReady
  Float_t nmix2=(Float_t)pool1->GetCurrentNEvents();  
for (Int_t jMix=0; jMix<pool1->GetCurrentNEvents(); jMix++) 
  { //pool event loop start
 TObjArray* bgTracks2 = pool1->GetEvent(jMix);
  if(!bgTracks2) continue;
if(ffilltrigUNIDassoID && tracksUNID && tracksUNID->GetEntriesFast()>0)
  Fillcorrelation(gReactionPlane,tracksUNID,bgTracks2,cent_v0,zvtx,nmix2,(jMix == 0),bSign,fPtOrderDataReco,ftwoTrackEfficiencyCutDataReco,kTRUE,"trigUNIDassoID");//mixcase=kTRUE  
if(ffilltrigIDassoID && tracksID && tracksID->GetEntriesFast()>0)
  Fillcorrelation(gReactionPlane,tracksID,bgTracks2,cent_v0,zvtx,nmix2,(jMix == 0),bSign,fPtOrderDataReco,ftwoTrackEfficiencyCutDataReco,kTRUE,"trigIDassoID");//mixcase=kTRUE

   }// pool event loop ends mixing case
} //if pool1->IsReady() condition ends mixing case

if(tracksID) {
if(pool1) 
  pool1->UpdatePool(CloneAndReduceTrackList(tracksID));//ownership of tracksasso is with pool now, don't delete it(tracksUNID is with pool)
 }
 }//mixing with identified particles

  //no. of events analyzed
fEventCounter->Fill(15);
  }

if(tracksUNID)  delete tracksUNID;

if(tracksID) delete tracksID;
if(fV0TrigCorr) {
  if(tracksIDV0) delete tracksIDV0;
  }


}//AOD || MCAOD condition

//still in the main event loop

}
//________________________________________________________________________
void AliTwoParticlePIDCorr::doAODevent() 
{

  //get AOD
  AliVEvent *event = InputEvent();
  if (!event) { Printf("ERROR: Could not retrieve event"); return; }
  AliAODEvent* aod = dynamic_cast<AliAODEvent*>(event);
  if (!aod) {
    AliError("Cannot get the AOD event");
    return;
  }
  Double_t Inv_mass=0.0;

// count all events   
  fEventCounter->Fill(1);

   fPID = ((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->GetPIDResponse();
    if (!fPID) AliFatal("This Task needs the PID response attached to the inputHandler");
    //if (!fPID) return;//this should be available with each event even if we don't do PID selection

    fgPsi2v0a=999.;
    fgPsi2v0c=999.;
    fgPsi2tpc=999.;
    fgPsi3v0a=999.;
    fgPsi3v0c=999.;
    fgPsi3tpc=999.;
    gReactionPlane = 999.;
    
  Double_t cent_v0=   -999.;
  Double_t effcent=1.0;
  Float_t bSign = 0.;
  Double_t trackscount=0;//counts particles passed filterbit cuts and kinematic cuts used in this analysis


 bSign = (aod->GetMagneticField() > 0) ? 1 : -1;//for two track efficiency cut in correlation function calculation
 Float_t bSign1=aod->GetMagneticField() ;//for dca cut in ClassifyTrack(), i.e in track loop


// check event cuts and fill event histograms and return the centrality or reference multiplicity value
 if((cent_v0 = GetAcceptedEventMultiplicity((AliVEvent*)aod,kFALSE)) < 0){ 
    return;
  }
 effcent=cent_v0;//required for efficiency correction case********Extremely Important
  //get the event plane in case of PbPb
    if(fRequestEventPlane){
      gReactionPlane = GetEventPlane((AliVEvent*)aod,kFALSE,cent_v0);
    if(gReactionPlane==999.) return;
    }    
    

TExMap *trackMap = new TExMap();
// --- track loop for mapping matrix
 if(fFilterBit==128)
   {
 for (Int_t itrk = 0; itrk < aod->GetNumberOfTracks(); itrk++) 
{ //track loop starts for TObjArray(containing track and event information) filling; used for correlation function calculation 
  AliAODTrack* track = dynamic_cast<AliAODTrack*>(aod->GetTrack(itrk));
  if (!track) continue;
  Int_t tracktype=ClassifyTrack(track,trkVtx,bSign1,kFALSE);//don't fill the histos here
  if(tracktype!=1) continue; 

  if(!track) continue;//for safety

   Int_t gid = track->GetID();
   trackMap->Add(gid,itrk);
 }//track looop ends
   }

   TObjArray*  tracksUNID= new TObjArray;//track info before doing PID
   tracksUNID->SetOwner(kTRUE);  // IMPORTANT!

   TObjArray* tracksID= new TObjArray;//only pions, kaons,protons i.e. after doing the PID selection
   tracksID->SetOwner(kTRUE);  // IMPORTANT!
 
   //get the selected v0 particle TObjArray
   TObjArray*  tracksIDV0= new TObjArray;
   tracksIDV0->SetOwner(kTRUE);  // IMPORTANT!
    
    eventno++;

    Bool_t fTrigPtmin1=kFALSE;
    Bool_t fTrigPtmin2=kFALSE;
    Bool_t fTrigPtJet=kFALSE;

 for (Int_t itrk = 0; itrk < aod->GetNumberOfTracks(); itrk++) 
{ //track loop starts for TObjArray(containing track and event information) filling; used for correlation function calculation 
  AliAODTrack* track = dynamic_cast<AliAODTrack*>(aod->GetTrack(itrk));
  if (!track) continue;
  fHistQA[11]->Fill(track->GetTPCNcls());
  Int_t particletype=-9999;//required for PID filling
  Int_t tracktype=ClassifyTrack(track,trkVtx,bSign1,kTRUE);//dcacut=kFALSE,onlyprimary=kFALSE
  if(tracktype!=1) continue; 

  if(!track) continue;//for safety

  if(fV0TrigCorr){ 
if(IsTrackFromV0(aod,track)) continue;// remove auto correlation
  }
AliAODTrack *PIDtrack=track;//for PID purpose, mainly important for TPC only tracks

  if(fFilterBit==128){
Int_t gid1 = track->GetID();
//if(gid1>=0) PIDtrack = track;
 PIDtrack =(AliAODTrack*) aod->GetTrack(trackMap->GetValue(-1-gid1));
if(!PIDtrack) continue;//for safety; so that each of the TPC only tracks have corresponding global track along with it
  }

//check for eta , phi holes
 fEtaSpectrasso->Fill(track->Eta(),track->Pt());
 fphiSpectraasso->Fill(track->Phi(),track->Pt());

 trackscount++;

 //if no applyefficiency , set the eff factor=1.0
 Float_t effmatrix=1.0;

 //tag all particles as unidentified that passed filterbit & kinematic cuts 
 particletype=unidentified;

 //To count the no. of tracks having an accepted track in a certain PT(e.g. Jet Pt) range
 if(track->Pt()>=fminPtTrig) fTrigPtmin1=kTRUE;
 if(track->Pt()>=(fminPtTrig+0.5)) fTrigPtmin2=kTRUE;
 if(track->Pt()>=fmaxPtTrig) fTrigPtJet=kTRUE;


if (fSampleType=="pp_2_76" || fCentralityMethod.EndsWith("_MANUAL") || (fSampleType=="pp_7" && fPPVsMultUtils==kFALSE)) effcent=15.0;//integrated over multiplicity [i.e each track has multiplicity 15.0](so put any fixed value for each track so that practically means there is only one bin in multiplicityi.e multiplicity intregated out )**************Important for efficiency related issues


 //to reduce memory consumption in pool
  if((track->Pt()>=fminPtAsso && track->Pt()<=fmaxPtAsso) || (track->Pt()>=fminPtTrig && track->Pt()<=fmaxPtTrig)) 
  {
 //Clone & Reduce track list(TObjArray) for unidentified particles
    Short_t chargeval=0;
    if(track->Charge()>0)   chargeval=1;
    if(track->Charge()<0)   chargeval=-1;
    if(chargeval==0) continue;
 if (fapplyTrigefficiency || fapplyAssoefficiency)//get the trackingefficiency x contamination factor for unidentified particles
   effmatrix=GetTrackbyTrackeffvalue(track,effcent,zvtx,particletype);
 LRCParticlePID* copy = new LRCParticlePID(particletype,Inv_mass,chargeval,track->Pt(),track->Eta(), track->Phi(),effmatrix,track->GetTPCClusterMapPtr(),track->GetTPCSharedMapPtr());
  copy->SetUniqueID(eventno * 100000 + (Int_t)trackscount);
  tracksUNID->Add(copy);//track information Storage for UNID correlation function(tracks that pass the filterbit & kinematic cuts only)
  }

//now start the particle identificaion process:) 

//track passing filterbit 768 have proper TPC response,or need to be checked explicitly before doing PID????

  Float_t dEdx = PIDtrack->GetTPCsignal();
  fHistoTPCdEdx->Fill(track->Pt(), dEdx);

  //fill beta vs Pt plots only for tracks having proper TOF response(much less tracks compared to the no. that pass the filterbit & kinematic cuts)
 if(HasTOFPID(PIDtrack))
{
  Double_t beta = GetBeta(PIDtrack);
  fHistoTOFbeta->Fill(track->Pt(), beta);
 }
  
 //remove the tracks which don't have proper TOF response-otherwise the misIDentification rate values will be wrong(in MC)
if(fRequestTOFPID && track->Pt()>fPtTOFPIDmin && (!HasTOFPID(PIDtrack)) ) continue;
 
//track identification(using nsigma method)
     particletype=GetParticle(PIDtrack,fFIllPIDQAHistos);//*******************************change may be required(It should return only pion,kaon, proton and Spundefined; NOT unidentifed***************be careful)

//2-d TPCTOF map(for each Pt interval)
  if(HasTOFPID(PIDtrack)){
 fTPCTOFPion3d->Fill(track->Pt(),fnsigmas[SpPion][NSigmaTOF],fnsigmas[SpPion][NSigmaTPC]);
 fTPCTOFKaon3d->Fill(track->Pt(),fnsigmas[SpKaon][NSigmaTOF],fnsigmas[SpKaon][NSigmaTPC]);
 fTPCTOFProton3d->Fill(track->Pt(),fnsigmas[SpProton][NSigmaTOF],fnsigmas[SpProton][NSigmaTPC]); 
  }

//ignore the Spundefined particles as they also contain pion, kaon, proton outside the nsigma cut(also if tracks don't have proper TOF PID in a certain Pt interval) & these tracks are actually counted when we do the the efficiency correction, so considering them as unidentified particles & doing the efficiency correction(i.e defining unidentified=pion+Kaon+proton+SpUndefined is right only without efficiency correction) for them will be two times wrong!!!!! 
  if (particletype==SpUndefined) continue;//this condition creating a modulated structure in delphi projection in mixed event case(only when we are dealing with identified particles i.e. tracksID)!!!!!!!!!!!

    if(fRequestEventPlane){
      FillPIDEventPlane(cent_v0,particletype,track->Phi(),gReactionPlane);
    }


 //Pt, Eta , Phi distribution of the reconstructed identified particles
if(ffillhistQAReco)
    {
if (particletype==SpPion)
  {
    fPionPt->Fill(track->Pt());
    fPionEta->Fill(track->Eta());
    fPionPhi->Fill(track->Phi());
  }
if (particletype==SpKaon)
  {
    fKaonPt->Fill(track->Pt());
    fKaonEta->Fill(track->Eta());
    fKaonPhi->Fill(track->Phi());
  }
if (particletype==SpProton)
  {
    fProtonPt->Fill(track->Pt());
    fProtonEta->Fill(track->Eta());
    fProtonPhi->Fill(track->Phi());
  }
    }
 
 if((track->Pt()>=fminPtAsso && track->Pt()<=fmaxPtAsso) || (track->Pt()>=fminPtTrig && track->Pt()<=fmaxPtTrig)) 
  {
    Short_t chargeval=0;
    if(track->Charge()>0)   chargeval=1;
    if(track->Charge()<0)   chargeval=-1;
    if(chargeval==0) continue;
if (fapplyTrigefficiency || fapplyAssoefficiency)
  effmatrix=GetTrackbyTrackeffvalue(track,effcent,zvtx,particletype);//get the tracking eff x TOF matching eff x PID eff x contamination factor for identified particles; Bool_t mesoneffrequired=kFALSE
 LRCParticlePID* copy1 = new LRCParticlePID(particletype,Inv_mass,chargeval,track->Pt(),track->Eta(), track->Phi(),effmatrix,track->GetTPCClusterMapPtr(),track->GetTPCSharedMapPtr());
    copy1->SetUniqueID(eventno * 100000 + (Int_t)trackscount);
    tracksID->Add(copy1);
  }
} //track loop ends but still in event loop

if(trackscount<1.0){
  if(tracksUNID) delete tracksUNID;
  if(tracksID) delete tracksID;
  return;
 }

 if (fTrigPtmin1) fhistJetTrigestimate->Fill(cent_v0,0.0);
 if (fTrigPtmin2) fhistJetTrigestimate->Fill(cent_v0,2.0);
 if (fTrigPtJet) fhistJetTrigestimate->Fill(cent_v0,4.0);

 Float_t weightval=1.0;


  
//fill the centrality/multiplicity distribution of the selected events
 fhistcentrality->Fill(cent_v0);//*********************************WARNING::binning of cent_v0 is different for pp and pPb/PbPb case

if(fSampleType=="pPb" || fSampleType=="PbPb" || fPPVsMultUtils==kTRUE) fCentralityCorrelation->Fill(cent_v0, trackscount);//only with unidentified tracks(i.e before PID selection);;;;;can be used to remove centrality outliers??????

//count selected events having centrality betn 0-100%
 fEventCounter->Fill(13);

//***************************************event no. counting
Bool_t isbaryontrig=kFALSE;
Bool_t ismesontrig=kFALSE;
if(tracksUNID && tracksUNID->GetEntriesFast()>0) fEventno->Fill(cent_v0,zvtx);

if(tracksID && tracksID->GetEntriesFast()>0)
  {
for(Int_t i=0;i<tracksID->GetEntriesFast();i++)
    {  //trigger loop starts
      LRCParticlePID *trig=(LRCParticlePID*)(tracksID->UncheckedAt(i));
      if(!trig) continue;
      if(trig->Pt()<fminPtTrig || trig->Pt()>fmaxPtTrig) continue;
      Int_t particlepidtrig=trig->getparticle(); //either 1 or 2
      if(particlepidtrig==SpProton) isbaryontrig=kTRUE;
      if(particlepidtrig==SpPion) ismesontrig=kTRUE;
    }//trig loop ends
 if (isbaryontrig) fEventnobaryon->Fill(cent_v0,zvtx); 
 if (ismesontrig) fEventnomeson->Fill(cent_v0,zvtx);
  }

//Get the TObjArray of V0 particles
 if(fV0TrigCorr){
 tracksIDV0=GetV0Particles((AliVEvent*) aod,cent_v0);
 if(tracksIDV0->GetEntriesFast()<=0) return;
 }

//same event delta-eta-deltaphi plot 
if(tracksUNID && tracksUNID->GetEntriesFast()>0)//hadron triggered correlation
  {//same event calculation starts
    if(ffilltrigassoUNID) Fillcorrelation(gReactionPlane,tracksUNID,0,cent_v0,zvtx,weightval,kFALSE,bSign,fPtOrderDataReco,ftwoTrackEfficiencyCutDataReco,kFALSE,"trigassoUNID");//mixcase=kFALSE (hadron-hadron correlation)
    if(tracksID && tracksID->GetEntriesFast()>0 && ffilltrigUNIDassoID) Fillcorrelation(gReactionPlane,tracksUNID,tracksID,cent_v0,zvtx,weightval,kFALSE,bSign,fPtOrderDataReco,ftwoTrackEfficiencyCutDataReco,kFALSE,"trigUNIDassoID");//mixcase=kFALSE (hadron-ID correlation)
    
  }

if(tracksID && tracksID->GetEntriesFast()>0)//ID triggered correlation
  {//same event calculation starts
    if(tracksUNID && tracksUNID->GetEntriesFast()>0 && ffilltrigIDassoUNID){
if(fV0TrigCorr)  Fillcorrelation(gReactionPlane,tracksIDV0,tracksUNID,cent_v0,zvtx,weightval,kFALSE,bSign,fPtOrderDataReco,ftwoTrackEfficiencyCutDataReco,kFALSE,"trigIDassoUNID");//mixcase=kFALSE (ID-hadron correlation)
else  Fillcorrelation(gReactionPlane,tracksID,tracksUNID,cent_v0,zvtx,weightval,kFALSE,bSign,fPtOrderDataReco,ftwoTrackEfficiencyCutDataReco,kFALSE,"trigIDassoUNID");//mixcase=kFALSE (ID-hadron correlation)
    }
    if(ffilltrigIDassoID)   Fillcorrelation(gReactionPlane,tracksID,0,cent_v0,zvtx,weightval,kFALSE,bSign,fPtOrderDataReco,ftwoTrackEfficiencyCutDataReco,kFALSE,"trigIDassoID");//mixcase=kFALSE (ID-ID correlation)
  }

//still in  main event loop


//start mixing
 if(ffilltrigassoUNID || ffilltrigIDassoUNID){//mixing with unidentified particles
AliEventPool* pool = fPoolMgr->GetEventPool(cent_v0, zvtx,gReactionPlane);//In the pool there is tracksUNID(i.e associateds are unidentified)
if (pool && pool->IsReady())
  {//start mixing only when pool->IsReady
  Float_t nmix1=(Float_t)pool->GetCurrentNEvents();  
 for (Int_t jMix=0; jMix<pool->GetCurrentNEvents(); jMix++) 
  { //pool event loop start
 TObjArray* bgTracks = pool->GetEvent(jMix);
  if(!bgTracks) continue;
  if(ffilltrigassoUNID && tracksUNID && tracksUNID->GetEntriesFast()>0)//*******************************hadron trggered mixing
    Fillcorrelation(gReactionPlane,tracksUNID,bgTracks,cent_v0,zvtx,nmix1,(jMix == 0),bSign,fPtOrderDataReco,ftwoTrackEfficiencyCutDataReco,kTRUE,"trigassoUNID");//mixcase=kTRUE
 if(ffilltrigIDassoUNID && tracksID && tracksID->GetEntriesFast()>0)//***********************************ID trggered mixing
   {
if(fV0TrigCorr)   Fillcorrelation(gReactionPlane,tracksIDV0,bgTracks,cent_v0,zvtx,nmix1,(jMix == 0),bSign,fPtOrderDataReco,ftwoTrackEfficiencyCutDataReco,kTRUE,"trigIDassoUNID");//mixcase=kTRUE
else  Fillcorrelation(gReactionPlane,tracksID,bgTracks,cent_v0,zvtx,nmix1,(jMix == 0),bSign,fPtOrderDataReco,ftwoTrackEfficiencyCutDataReco,kTRUE,"trigIDassoUNID");//mixcase=kTRUE
   } 
   }// pool event loop ends mixing case
} //if pool->IsReady() condition ends mixing case
 if(tracksUNID) {
if(pool)
  pool->UpdatePool(CloneAndReduceTrackList(tracksUNID));
 }
 }//mixing with unidentified particles


 if(ffilltrigUNIDassoID || ffilltrigIDassoID){//mixing with identified particles
 AliEventPool* pool1 = fPoolMgr->GetEventPool(cent_v0, zvtx+100,gReactionPlane);//In the pool1 there is tracksID(i.e associateds are identified)
if (pool1 && pool1->IsReady())
  {//start mixing only when pool->IsReady
  Float_t nmix2=(Float_t)pool1->GetCurrentNEvents();  
for (Int_t jMix=0; jMix<pool1->GetCurrentNEvents(); jMix++) 
  { //pool event loop start
 TObjArray* bgTracks2 = pool1->GetEvent(jMix);
  if(!bgTracks2) continue;
if(ffilltrigUNIDassoID && tracksUNID && tracksUNID->GetEntriesFast()>0)
  Fillcorrelation(gReactionPlane,tracksUNID,bgTracks2,cent_v0,zvtx,nmix2,(jMix == 0),bSign,fPtOrderDataReco,ftwoTrackEfficiencyCutDataReco,kTRUE,"trigUNIDassoID");//mixcase=kTRUE  
if(ffilltrigIDassoID && tracksID && tracksID->GetEntriesFast()>0)
  Fillcorrelation(gReactionPlane,tracksID,bgTracks2,cent_v0,zvtx,nmix2,(jMix == 0),bSign,fPtOrderDataReco,ftwoTrackEfficiencyCutDataReco,kTRUE,"trigIDassoID");//mixcase=kTRUE

   }// pool event loop ends mixing case
} //if pool1->IsReady() condition ends mixing case

if(tracksID) {
if(pool1) 
  pool1->UpdatePool(CloneAndReduceTrackList(tracksID));//ownership of tracksasso is with pool now, don't delete it(tracksUNID is with pool)
 }
 }//mixing with identified particles


  //no. of events analyzed
fEventCounter->Fill(15);
 
//still in main event loop


if(tracksUNID)  delete tracksUNID;

if(tracksID) delete tracksID;

if(fV0TrigCorr) {
  if(tracksIDV0) delete tracksIDV0;
  }

} // *************************event loop ends******************************************
//_______________________________________________________________________
TObjArray* AliTwoParticlePIDCorr::CloneAndReduceTrackList(TObjArray* tracks)
{
  // clones a track list by using AliDPhiBasicParticle which uses much less memory (used for event mixing)
  
  TObjArray* tracksClone = new TObjArray;
  tracksClone->SetOwner(kTRUE);
  
  for (Int_t i=0; i<tracks->GetEntriesFast(); i++)
  {
    LRCParticlePID* particle = (LRCParticlePID*) tracks->UncheckedAt(i);
    LRCParticlePID* copy100 = new LRCParticlePID(particle->getparticle(),particle->GetInvMass(),particle->Charge(), particle->Pt(),particle->Eta(), particle->Phi(), particle->geteffcorrectionval(),particle->GetTPCPadMap(),particle->GetTPCSharedMap());
    copy100->SetUniqueID(particle->GetUniqueID());
    tracksClone->Add(copy100);
  }
  
  return tracksClone;
}

//--------------------------------------------------------------------------------
void AliTwoParticlePIDCorr::Fillcorrelation(Float_t ReactionPlane,TObjArray *trackstrig,TObjArray *tracksasso,Double_t cent,Float_t vtx,Float_t weight,Bool_t firstTime,Float_t bSign,Bool_t fPtOrder,Bool_t twoTrackEfficiencyCut,Bool_t mixcase,TString fillup)
{

  //before calling this function check that either trackstrig & tracksasso are available 

 // Eta() is extremely time consuming, therefore cache it for the inner loop here:
  TObjArray* input = (tracksasso) ? tracksasso : trackstrig;
  TArrayF eta(input->GetEntriesFast());
  for (Int_t i=0; i<input->GetEntriesFast(); i++)
    eta[i] = ((LRCParticlePID*) input->UncheckedAt(i))->Eta();

  //if(trackstrig)
    Int_t jmax=trackstrig->GetEntriesFast();
  if(tracksasso)
     jmax=tracksasso->GetEntriesFast();

// identify K, Lambda candidates and flag those particles
    // a TObject bit is used for this
const UInt_t kResonanceDaughterFlag = 1 << 14;
    if (fRejectResonanceDaughters > 0)
    {
      Double_t resonanceMass = -1;
      Double_t massDaughter1 = -1;
      Double_t massDaughter2 = -1;
      const Double_t interval = 0.02;
 switch (fRejectResonanceDaughters)
      {
	case 1: resonanceMass = 0.9; massDaughter1 = 0.1396; massDaughter2 = 0.9383; break; // method test
	case 2: resonanceMass = 0.4976; massDaughter1 = 0.1396; massDaughter2 = massDaughter1; break; // k0
	case 3: resonanceMass = 1.115; massDaughter1 = 0.1396; massDaughter2 = 0.9383; break; // lambda
	default: AliFatal(Form("Invalid setting %d", fRejectResonanceDaughters));
      }      

for (Int_t i=0; i<trackstrig->GetEntriesFast(); i++)
	trackstrig->UncheckedAt(i)->ResetBit(kResonanceDaughterFlag);
 for (Int_t i=0; tracksasso->GetEntriesFast(); i++)
	  tracksasso->UncheckedAt(i)->ResetBit(kResonanceDaughterFlag);

 for (Int_t i=0; i<trackstrig->GetEntriesFast(); i++)
      {
      LRCParticlePID *trig=(LRCParticlePID*)(trackstrig->UncheckedAt(i));
for (Int_t j=0; tracksasso->GetEntriesFast(); j++)
	{
        LRCParticlePID *asso=(LRCParticlePID*)(tracksasso->UncheckedAt(j));

 // check if both particles point to the same element (does not occur for mixed events, but if subsets are mixed within the same event)
if (trig->IsEqual(asso)) continue;

if (trig->Charge() * asso->Charge() > 0) continue;

 Float_t mass = GetInvMassSquaredCheap(trig->Pt(), trig->Eta(), trig->Phi(), asso->Pt(), asso->Eta(), asso->Phi(), massDaughter1, massDaughter2);
     
if (TMath::Abs(mass - resonanceMass*resonanceMass) < interval*5)
	  {
	    mass = GetInvMassSquared(trig->Pt(), trig->Eta(), trig->Phi(), asso->Pt(), asso->Eta(), asso->Phi(), massDaughter1, massDaughter2);

	    if (mass > (resonanceMass-interval)*(resonanceMass-interval) && mass < (resonanceMass+interval)*(resonanceMass+interval))
	    {
	      trig->SetBit(kResonanceDaughterFlag);
	      asso->SetBit(kResonanceDaughterFlag);
	      
// 	      Printf("Flagged %d %d %f", i, j, TMath::Sqrt(mass));
	    }
	  }
	}
      }
    }

      //Select the highest Pt trigger particle in an event (within a given Pt trigger range)

    Float_t TriggerPtMin=fminPtTrig;
    Float_t TriggerPtMax=fmaxPtTrig;
    Int_t HighestPtTriggerIndx=-99999;
    TH1* triggerWeighting = 0;

if(fSelectHighestPtTrig || fWeightPerEvent)//**************add this data member to the constructor
      {
if (fWeightPerEvent)
    {
      TAxis* axis=0;
   if(ffilltrigassoUNID || ffilltrigUNIDassoID || ffilltrigIDassoUNID || ffilltrigIDassoID) axis = fTHnTrigcount->GetGrid(0)->GetGrid()->GetAxis(2);                                          
  if((fAnalysisType =="MCAOD") && ffilltrigIDassoIDMCTRUTH)    axis = fTHnTrigcountMCTruthPrim->GetGrid(0)->GetGrid()->GetAxis(2);
      triggerWeighting = new TH1F("triggerWeighting", "", axis->GetNbins(), axis->GetXbins()->GetArray());
    }
for(Int_t i=0;i<trackstrig->GetEntriesFast();i++)
    {  //trigger loop starts(highest Pt trigger selection)
      LRCParticlePID *trig=(LRCParticlePID*)(trackstrig->UncheckedAt(i));
      if(!trig) continue;
      Float_t trigpt=trig->Pt();
    //to avoid overflow qnd underflow
      if(trigpt<fminPtTrig || trigpt>fmaxPtTrig) continue;
      Int_t particlepidtrig=trig->getparticle();
      if(fTriggerSpeciesSelection){ if (particlepidtrig!=fTriggerSpecies) continue;}

      Float_t trigeta=trig->Eta();

      // some optimization
 if (fTriggerRestrictEta > 0 && TMath::Abs(trigeta) > fTriggerRestrictEta)
	continue;

if (fOnlyOneEtaSide != 0)
      {
	if (fOnlyOneEtaSide * trigeta < 0)
	  continue;
      }
  if (fTriggerSelectCharge != 0)
	if (trig->Charge() * fTriggerSelectCharge < 0)
	  continue;
	
      if (fRejectResonanceDaughters > 0)
	if (trig->TestBit(kResonanceDaughterFlag)) continue;

      if(fSelectHighestPtTrig){
 if(trigpt>TriggerPtMin && trigpt<=TriggerPtMax)
          {         
	  HighestPtTriggerIndx=(Int_t)trig->GetUniqueID();
          TriggerPtMin=trigpt;
          }
      }

if (fWeightPerEvent)  triggerWeighting->Fill(trigpt);

    }//trigger loop ends(highest Pt trigger selection)

      }//******************(fSelectHighestPtTrig || fWeightPerEvent) condition ends


 //two particle correlation filling
for(Int_t i=0;i<trackstrig->GetEntriesFast();i++)
    {  //trigger loop starts
      LRCParticlePID *trig=(LRCParticlePID*)(trackstrig->UncheckedAt(i));
      if(!trig) continue;
      Float_t trigpt=trig->Pt();
    //to avoid overflow qnd underflow
      if(trigpt<fminPtTrig || trigpt>fmaxPtTrig) continue;
      Double_t ParticlePID_InvMass=0.0;
      if(fV0TrigCorr) ParticlePID_InvMass=trig->GetInvMass();
      else{
      Int_t particlepidtrig=trig->getparticle();
      ParticlePID_InvMass=(Double_t) particlepidtrig;
      if(fTriggerSpeciesSelection){ if (particlepidtrig!=fTriggerSpecies) continue;}//***********************************forks,lam.Alam their PID numbers have no meaning, only their Inv_mass will be stored
      }

      Float_t trigeta=trig->Eta();

      // some optimization
 if (fTriggerRestrictEta > 0 && TMath::Abs(trigeta) > fTriggerRestrictEta)
	continue;

if (fOnlyOneEtaSide != 0)
      {
	if (fOnlyOneEtaSide * trigeta < 0)
	  continue;
      }
  if (fTriggerSelectCharge != 0)
	if (trig->Charge() * fTriggerSelectCharge < 0)
	  continue;
	
      if (fRejectResonanceDaughters > 0)
	if (trig->TestBit(kResonanceDaughterFlag)) continue;

      if(fSelectHighestPtTrig && HighestPtTriggerIndx!=-99999) {
	if(trig->GetUniqueID()!=(UInt_t)HighestPtTriggerIndx) continue;
      }

      Float_t trigphi=trig->Phi();
      Float_t trackefftrig=1.0;
      if(fapplyTrigefficiency) trackefftrig=trig->geteffcorrectionval();

    // Event plane (determine psi bin)
    Double_t gPsiMinusPhi    =   0.;
    Double_t gPsiMinusPhiBin = -10.;
if(fRequestEventPlane){
    gPsiMinusPhi   = TMath::Abs(trigphi - ReactionPlane);
    //in-plane(Note thet event plane angle has to be defined within 0 to 180 degree(do not use this if event ), otherwise the definition of in plane and out plane particles is wrong)
    if((gPsiMinusPhi <= 7.5*TMath::DegToRad())||
      (gPsiMinusPhi >= 352.5*TMath::DegToRad())||
       ((172.5*TMath::DegToRad() <= gPsiMinusPhi)&&(gPsiMinusPhi <= 187.5*TMath::DegToRad())))
      gPsiMinusPhiBin = 0.0;
    /*
 if((gPsiMinusPhi <= 7.5*TMath::DegToRad())||
       ((172.5*TMath::DegToRad() <= gPsiMinusPhi)&&(gPsiMinusPhi <= 187.5*TMath::DegToRad())))
      gPsiMinusPhiBin = 0.0;
    */
    //intermediate
    else if(((37.5*TMath::DegToRad() <= gPsiMinusPhi)&&(gPsiMinusPhi <= 52.5*TMath::DegToRad()))||
	    ((127.5*TMath::DegToRad() <= gPsiMinusPhi)&&(gPsiMinusPhi <= 142.5*TMath::DegToRad()))||
	    ((217.5*TMath::DegToRad() <= gPsiMinusPhi)&&(gPsiMinusPhi <= 232.5*TMath::DegToRad()))||
	    ((307.5*TMath::DegToRad() <= gPsiMinusPhi)&&(gPsiMinusPhi <= 322.5*TMath::DegToRad())))
      gPsiMinusPhiBin = 1.0;
    //out of plane
    else if(((82.5*TMath::DegToRad() <= gPsiMinusPhi)&&(gPsiMinusPhi <= 97.5*TMath::DegToRad()))||
	    ((262.5*TMath::DegToRad() <= gPsiMinusPhi)&&(gPsiMinusPhi <= 277.5*TMath::DegToRad())))
      gPsiMinusPhiBin = 2.0;
    //everything else
    else 
      gPsiMinusPhiBin = 3.0;
    
    fHistPsiMinusPhi->Fill(gPsiMinusPhiBin,gPsiMinusPhi);
 }

      //cout<<"*******************trackefftrig="<<trackefftrig<<endl;
	Double_t* trigval;
	Int_t dim=3;
	Int_t eventplaneAxis=0;
        if(fRequestEventPlane) eventplaneAxis=1;
	if(fcontainPIDtrig && SetChargeAxis==0) dim=4+eventplaneAxis;
	if(!fcontainPIDtrig && SetChargeAxis==2) dim=4+eventplaneAxis;
	if(fcontainPIDtrig && SetChargeAxis==2) dim=5+eventplaneAxis;
        trigval= new Double_t[dim];
      trigval[0] = cent;
      trigval[1] = vtx;
      trigval[2] = trigpt;

      if(fRequestEventPlane){
      trigval[3] = gPsiMinusPhiBin;
      if(fcontainPIDtrig && SetChargeAxis==0) trigval[4] = ParticlePID_InvMass;
      if(!fcontainPIDtrig && SetChargeAxis==2) trigval[4] = trig->Charge();
      if(fcontainPIDtrig && SetChargeAxis==2) {
      trigval[4] = ParticlePID_InvMass;
      trigval[5] = trig->Charge();
       }
      }

  if(!fRequestEventPlane){
      if(fcontainPIDtrig && SetChargeAxis==0) trigval[3] = ParticlePID_InvMass;
      if(!fcontainPIDtrig && SetChargeAxis==2) trigval[3] = trig->Charge();
      if(fcontainPIDtrig && SetChargeAxis==2) {
      trigval[3] = ParticlePID_InvMass;
      trigval[4] = trig->Charge();
       }
      }

 

	if (fWeightPerEvent)
	{
	  // leads effectively to a filling of one entry per filled trigger particle pT bin
	  Int_t weightBin = triggerWeighting->GetXaxis()->FindBin(trigval[2]);
// 	  Printf("Using weight %f", triggerWeighting->GetBinContent(weightBin));
	  trackefftrig *= triggerWeighting->GetBinContent(weightBin);
	}


      //trigger particle counting for both same and mixed event case;;;;;step=0->same event case;;;;;step=1->mixed event case;;;;;;
if(ffilltrigassoUNID==kTRUE && ffilltrigUNIDassoID==kTRUE){
      if(fillup=="trigassoUNID" ) {
if(mixcase==kFALSE)   fTHnTrigcount->Fill(trigval,0,1.0/trackefftrig); 
if(mixcase==kTRUE && firstTime)   fTHnTrigcount->Fill(trigval,1,1.0/trackefftrig); 
      }
    }
 if(ffilltrigassoUNID==kTRUE && ffilltrigUNIDassoID==kFALSE){
   if(fillup=="trigassoUNID" )  
     {
if(mixcase==kFALSE)   fTHnTrigcount->Fill(trigval,0,1.0/trackefftrig); 
if(mixcase==kTRUE && firstTime)   fTHnTrigcount->Fill(trigval,1,1.0/trackefftrig); 
     }
    }
if(ffilltrigassoUNID==kFALSE && ffilltrigUNIDassoID==kTRUE){
  if(fillup=="trigUNIDassoID")  
    {
if(mixcase==kFALSE)   fTHnTrigcount->Fill(trigval,0,1.0/trackefftrig); 
if(mixcase==kTRUE && firstTime)   fTHnTrigcount->Fill(trigval,1,1.0/trackefftrig); 
    }
    }
 //ensure that trigIDassoID , trigassoUNID, trigIDassoUNID & trigUNIDassoID  case FillCorrelation called only once in the event loop for same event correlation function calculation, otherwise there will be multiple counting of pion, kaon,proton,unidentified
if(ffilltrigIDassoUNID==kTRUE && ffilltrigIDassoID==kTRUE){
  if(fillup=="trigIDassoID")  
    {
if(mixcase==kFALSE)   fTHnTrigcount->Fill(trigval,0,1.0/trackefftrig); 
if(mixcase==kTRUE && firstTime)   fTHnTrigcount->Fill(trigval,1,1.0/trackefftrig); 
    }
    }
 if(ffilltrigIDassoUNID==kTRUE && ffilltrigIDassoID==kFALSE){
   if(fillup=="trigIDassoUNID" ) 
     {
if(mixcase==kFALSE)   fTHnTrigcount->Fill(trigval,0,1.0/trackefftrig); 
if(mixcase==kTRUE && firstTime)   fTHnTrigcount->Fill(trigval,1,1.0/trackefftrig); 
     } 
    }
if(ffilltrigIDassoUNID==kFALSE && ffilltrigIDassoID==kTRUE){
  if(fillup=="trigIDassoID")  
    {
if(mixcase==kFALSE)   fTHnTrigcount->Fill(trigval,0,1.0/trackefftrig); 
if(mixcase==kTRUE && firstTime)   fTHnTrigcount->Fill(trigval,1,1.0/trackefftrig); 
    }
    }

 if(fillup=="trigIDassoIDMCTRUTH") { //In truth MC case "Unidentified" means any particle other than pion,kaon or proton and no efficiency correction(default value 1.0)************************be careful!!!! 
if(mixcase==kFALSE)   fTHnTrigcountMCTruthPrim->Fill(trigval,0,1.0/trackefftrig); 
if(mixcase==kTRUE && firstTime)   fTHnTrigcountMCTruthPrim->Fill(trigval,1,1.0/trackefftrig); 
  }

    //asso loop starts within trigger loop
   for(Int_t j=0;j<jmax;j++)
             {
    LRCParticlePID *asso=0;
    if(!tracksasso)
    asso=(LRCParticlePID*)(trackstrig->UncheckedAt(j));
    else
    asso=(LRCParticlePID*)(tracksasso->UncheckedAt(j));

    if(!asso) continue;

    //to avoid overflow and underflow
 if(asso->Pt()<fminPtAsso || asso->Pt()>fmaxPtAsso) continue;//***********************Important

 //if(fmaxPtAsso==fminPtTrig) {if(asso->Pt()==fminPtTrig) continue;}//******************Think about it!

  if(!tracksasso && j==i) continue;

   // check if both particles point to the same element (does not occur for mixed events, but if subsets are mixed within the same event,i.e. both Trig and asso TObjArray belongs to the same Pt range but say Trig is Unidentified but asso is identified then the serial no. wise particles are not same and and j==i doesn't aplly)
   // if (tracksasso && trig->IsEqual(asso))  continue;

  if (tracksasso && (trig->GetUniqueID()==asso->GetUniqueID())) continue;
          
 if (fPtOrder)
 if (asso->Pt() >= trig->Pt()) continue;

  Int_t particlepidasso=asso->getparticle(); 
  if(fAssociatedSpeciesSelection){ if (particlepidasso!=fAssociatedSpecies) continue;}
	    

if (fAssociatedSelectCharge != 0)
if (asso->Charge() * fAssociatedSelectCharge < 0) continue;
	    
 if (fSelectCharge > 0)
        {
          // skip like sign
          if (fSelectCharge == 1 && asso->Charge() * trig->Charge() > 0)
            continue;
            
          // skip unlike sign
          if (fSelectCharge == 2 && asso->Charge() * trig->Charge() < 0)
            continue;
        }

if (fEtaOrdering)
	{
	  if (trigeta < 0 && asso->Eta() < trigeta)
	    continue;
	  if (trigeta > 0 && asso->Eta() > trigeta)
	    continue;
	}

if (fRejectResonanceDaughters > 0)
	  if (asso->TestBit(kResonanceDaughterFlag))
	  {
// 	    Printf("Skipped j=%d", j);
	    continue;
	  }

	// conversions
	if (fCutConversions && asso->Charge() * trig->Charge() < 0)
	{
	  Float_t mass = GetInvMassSquaredCheap(trig->Pt(), trigeta, trig->Phi(), asso->Pt(),eta[j], asso->Phi(), 0.510e-3, 0.510e-3);
	  
	  if (mass < 0.1)
	  {
	    mass = GetInvMassSquared(trig->Pt(), trigeta, trig->Phi(), asso->Pt(), eta[j], asso->Phi(), 0.510e-3, 0.510e-3);
	    
	    fControlConvResoncances->Fill(0.0, mass);

	    if (mass < 0.04*0.04) 
	      continue;
	  }
	}

	// K0s
	if (fCutResonances && asso->Charge() * trig->Charge() < 0)
	{
	  Float_t mass = GetInvMassSquaredCheap(trig->Pt(), trigeta, trig->Phi(), asso->Pt(), eta[j], asso->Phi(), 0.1396, 0.1396);
	  
	  const Float_t kK0smass = 0.4976;
	  
	  if (TMath::Abs(mass - kK0smass*kK0smass) < 0.1)
	  {
	    mass = GetInvMassSquared(trig->Pt(), trigeta, trig->Phi(), asso->Pt(),eta[j], asso->Phi(), 0.1396, 0.1396);
	    
	    fControlConvResoncances->Fill(1, mass - kK0smass*kK0smass);

	    if (mass > (kK0smass-0.02)*(kK0smass-0.02) && mass < (kK0smass+0.02)*(kK0smass+0.02))
	      continue;
	  }
	}
	
	// Lambda
	if (fCutResonances && asso->Charge() * trig->Charge() < 0)
	{
	  Float_t mass1 = GetInvMassSquaredCheap(trig->Pt(), trigeta, trig->Phi(), asso->Pt(), eta[j], asso->Phi(), 0.1396, 0.9383);
	  Float_t mass2 = GetInvMassSquaredCheap(trig->Pt(), trigeta, trig->Phi(), asso->Pt(),eta[j] , asso->Phi(), 0.9383, 0.1396);
	  
	  const Float_t kLambdaMass = 1.115;

	  if (TMath::Abs(mass1 - kLambdaMass*kLambdaMass) < 0.1)
	  {
	    mass1 = GetInvMassSquared(trig->Pt(), trigeta, trig->Phi(), asso->Pt(),eta[j], asso->Phi(), 0.1396, 0.9383);

	    fControlConvResoncances->Fill(2, mass1 - kLambdaMass*kLambdaMass);
	    
	    if (mass1 > (kLambdaMass-0.02)*(kLambdaMass-0.02) && mass1 < (kLambdaMass+0.02)*(kLambdaMass+0.02))
	      continue;
	  }
	  if (TMath::Abs(mass2 - kLambdaMass*kLambdaMass) < 0.1)
	  {
	    mass2 = GetInvMassSquared(trig->Pt(), trigeta, trig->Phi(), asso->Pt(),eta[j] , asso->Phi(), 0.9383, 0.1396);

	    fControlConvResoncances->Fill(2, mass2 - kLambdaMass*kLambdaMass);

	    if (mass2 > (kLambdaMass-0.02)*(kLambdaMass-0.02) && mass2 < (kLambdaMass+0.02)*(kLambdaMass+0.02))
	      continue;
	  }
	}

	if (twoTrackEfficiencyCut)
	{
	  // the variables & cuthave been developed by the HBT group 
	  // see e.g. https://indico.cern.ch/materialDisplay.py?contribId=36&sessionId=6&materialId=slides&confId=142700
	  Float_t phi1 = trig->Phi();
	  Float_t pt1 = trig->Pt();
	  Float_t charge1 = trig->Charge();
	  Float_t phi2 = asso->Phi();
	  Float_t pt2 = asso->Pt();
	  Float_t charge2 = asso->Charge();

	  Float_t deta= trigeta - eta[j]; 
    
 // optimization
	  if (TMath::Abs(deta) < twoTrackEfficiencyCutValue * 2.5 * 3)
	  {

  // check first boundaries to see if is worth to loop and find the minimum
	    Float_t dphistar1 = GetDPhiStar(phi1, pt1, charge1, phi2, pt2, charge2, fTwoTrackCutMinRadius, bSign);
	    Float_t dphistar2 = GetDPhiStar(phi1, pt1, charge1, phi2, pt2, charge2, fTwoTrackCutMaxRadius, bSign);

 const Float_t kLimit = twoTrackEfficiencyCutValue * 3;

	    Float_t dphistarminabs = 1e5;
	    Float_t dphistarmin = 1e5;

 if (TMath::Abs(dphistar1) < kLimit || TMath::Abs(dphistar2) < kLimit || dphistar1 * dphistar2 < 0)
	    {
	      for (Double_t rad=fTwoTrackCutMinRadius; rad<=fTwoTrackCutMaxRadius; rad+=0.01) 
	      {
		Float_t dphistar = GetDPhiStar(phi1, pt1, charge1, phi2, pt2, charge2, rad, bSign);

		Float_t dphistarabs = TMath::Abs(dphistar);

	if (dphistarabs < dphistarminabs)
		{
		  dphistarmin = dphistar;
		  dphistarminabs = dphistarabs;
		}
	      }
	      if(mixcase==kFALSE)  fTwoTrackDistancePt[0]->Fill(deta, dphistarmin, TMath::Abs(pt1 - pt2));//for same event
	      if(mixcase==kTRUE)  fTwoTrackDistancePtmix[0]->Fill(deta, dphistarmin, TMath::Abs(pt1 - pt2));//for mixed event

if (dphistarminabs < twoTrackEfficiencyCutValue && TMath::Abs(deta) < twoTrackEfficiencyCutValue)
	      {
// 		Printf("Removed track pair %d %d with %f %f %f %f %f %f %f %f %f", i, j, deta, dphistarminabs, phi1, pt1, charge1, phi2, pt2, charge2, bSign);
		continue;
	      }
             if(mixcase==kFALSE) fTwoTrackDistancePt[1]->Fill(deta, dphistarmin, TMath::Abs(pt1 - pt2));//for same event
             if(mixcase==kTRUE) fTwoTrackDistancePtmix[1]->Fill(deta, dphistarmin, TMath::Abs(pt1 - pt2));//for mixed event

	    }
	  }
	}

	//pair sharedfraction cut(only between the trig and asso track)
   if(fillup!="trigIDassoIDMCTRUTH")//******************************************NOT for TRUTH MC particles
  {
    if(fSharedfraction_Pair_cut>=0){
	Bool_t passsharedfractionpaircut=CalculateSharedFraction(trig->GetTPCPadMap(),asso->GetTPCPadMap(),trig->GetTPCSharedMap(),asso->GetTPCSharedMap());
	if(!passsharedfractionpaircut) continue;
    }
  }
	Float_t weightperevent=weight;
        Float_t trackeffasso=1.0;
        if(fapplyAssoefficiency) trackeffasso=asso->geteffcorrectionval();
	//cout<<"*******************trackeffasso="<<trackeffasso<<endl;
        Float_t deleta=trigeta-eta[j];
	Float_t delphi=PhiRange(trigphi-asso->Phi()); 

	Float_t delpt=trigpt-asso->Pt();
	//fill it with/without two track efficiency cut	   
	if(mixcase==kFALSE)  fTwoTrackDistancePtdip->Fill(deleta, delphi, TMath::Abs(delpt));//for same event
	if(mixcase==kTRUE)  fTwoTrackDistancePtdipmix->Fill(deleta, delphi, TMath::Abs(delpt));//for mixed event

 //here get the two particle efficiency correction factor
	Float_t effweight=trackefftrig*trackeffasso*weightperevent;
	// if(mixcase==kFALSE)	cout<<"*******************effweight="<<effweight<<endl;
	Double_t* vars;
	Int_t dimused=kTrackVariablesPair+eventplaneAxis;
        vars= new Double_t[dimused];
	vars[0]=cent;
	vars[1]=vtx;
	vars[2]=trigpt;
	vars[3]=asso->Pt();
	vars[4]=deleta;
	vars[5]=delphi;

	Int_t dimension=6;
        if(fRequestEventPlane) 
	{
       vars[6]=gPsiMinusPhiBin;
       dimension=7;
	}

if(!fcontainPIDtrig && !fcontainPIDasso && SetChargeAxis==2){
        vars[dimension]=trig->Charge();
	vars[dimension+1]=asso->Charge();
 }
if(fcontainPIDtrig && !fcontainPIDasso){
        vars[dimension]=ParticlePID_InvMass;
if(SetChargeAxis==2){
        vars[dimension+1]=trig->Charge();
	vars[dimension+2]=asso->Charge();
 }
	}
if(!fcontainPIDtrig && fcontainPIDasso){
        vars[dimension]=particlepidasso;
if(SetChargeAxis==2){
        vars[dimension+1]=trig->Charge();
	vars[dimension+2]=asso->Charge();
   }
 }
 if(fcontainPIDtrig && fcontainPIDasso){
	vars[dimension]=ParticlePID_InvMass;
	vars[dimension+1]=particlepidasso;
if(SetChargeAxis==2){
        vars[dimension+2]=trig->Charge();
	vars[dimension+3]=asso->Charge();
   }
 }

	if (fWeightPerEvent)
	{
	  Int_t weightBin = triggerWeighting->GetXaxis()->FindBin(vars[2]);
// 	  Printf("Using weight %f", triggerWeighting->GetBinContent(weightBin));
	 effweight *= triggerWeighting->GetBinContent(weightBin);
	}
    

	//Fill Correlation ThnSparses
    if(fillup=="trigassoUNID")
      {
    if(mixcase==kFALSE)  fTHnCorrUNID->Fill(vars,0,1.0/effweight);
    if(mixcase==kTRUE)   fTHnCorrUNIDmix->Fill(vars,0,1.0/effweight);
      }
    if(fillup=="trigIDassoID")
      {
	if(mixcase==kFALSE)  fTHnCorrID->Fill(vars,0,1.0/effweight);
	if(mixcase==kTRUE)  fTHnCorrIDmix->Fill(vars,0,1.0/effweight);
      }
    if(fillup=="trigIDassoIDMCTRUTH")//******************************************for TRUTH MC particles
      {//in this case effweight should be 1 always 
	if(mixcase==kFALSE)  fCorrelatonTruthPrimary->Fill(vars,0,1.0/effweight); 
	if(mixcase==kTRUE) fCorrelatonTruthPrimarymix->Fill(vars,0,1.0/effweight);
    }   
    if(fillup=="trigIDassoUNID" || fillup=="trigUNIDassoID")//****************************be careful
      {
	if(mixcase==kFALSE)  fTHnCorrIDUNID->Fill(vars,0,1.0/effweight);
	if(mixcase==kTRUE)   fTHnCorrIDUNIDmix->Fill(vars,0,1.0/effweight);
       }
	
delete[] vars;
   }//asso loop ends 
delete[] trigval;
 }//trigger loop ends 

 if (triggerWeighting)
    {
      delete triggerWeighting;
      triggerWeighting = 0;
    }
}

//------------------------------------------------------------------------------------------------
Bool_t AliTwoParticlePIDCorr:: CalculateSharedFraction(const TBits *triggerPadMap,const TBits *assocPadMap,const TBits *triggerShareMap,const TBits *assocShareMap)
{//source code-AliFemtoShareQualityPairCut.cxx
Double_t nofhits=0;
Double_t nofsharedhits=0;

for(UInt_t imap=0;imap< (triggerPadMap->GetNbits() );imap++)
{
//if they are in same pad
//cout<<triggerPadMap->TestBitNumber(imap)<<"    "<< assocPadMap->TestBitNumber(imap)<<endl;
if (triggerPadMap->TestBitNumber(imap) &&
      assocPadMap->TestBitNumber(imap))
{
//if they share
//cout<<triggerShareMap->TestBitNumber(imap)<<"   "<<assocShareMap->TestBitNumber(imap)<<endl;
if (triggerShareMap->TestBitNumber(imap) &&
      assocShareMap->TestBitNumber(imap))
{
  //cout<<triggerShareMap->TestBitNumber(imap)<<"   "<<assocShareMap->TestBitNumber(imap)<<endl;
nofhits+=2;
nofsharedhits+=2;
}



//not shared
    else {
     
      nofhits+=2;
    }


}
//different pad

//cout<< (triggerPadMap->TestBitNumber(imap) || assocPadMap->TestBitNumber(imap))<<endl;
else if (triggerPadMap->TestBitNumber(imap) ||
      assocPadMap->TestBitNumber(imap)) {
    // One track has a hit, the other does not
   
    nofhits++;
    //cout<<"No hits :"<<nofhits<<endl;
   
      }



}

Double_t SharedFraction=0.0;
if(nofhits>0) SharedFraction=(nofsharedhits/nofhits);

//cout<<"Fraction shared hits :"<<SharedFraction<<endl;

if(SharedFraction>fSharedfraction_Pair_cut) return kFALSE;

return kTRUE;

}

//________________________________________________________________________________________________
Float_t AliTwoParticlePIDCorr::GetTrackbyTrackeffvalue(AliAODTrack* track,Double_t cent,Float_t evzvtx, Int_t parpid)
{
  //This function is called only when applyefficiency=kTRUE; also ensure that "track" is present before calling that function
 Int_t effVars[4];
 Float_t effvalue=1.; 

  if(parpid==unidentified)
            {
	    effVars[0] = effcorection[5]->GetAxis(0)->FindBin(cent);
	    effVars[1] = effcorection[5]->GetAxis(1)->FindBin(evzvtx); 
	    effVars[2] = effcorection[5]->GetAxis(2)->FindBin(track->Pt()); 
	    effVars[3] = effcorection[5]->GetAxis(3)->FindBin(track->Eta()); 
            effvalue=effcorection[5]->GetBinContent(effVars);
	    }
if(parpid==SpPion || parpid==SpKaon)
            {
	      if(fmesoneffrequired && !fkaonprotoneffrequired && track->Pt()>=fminPtComboeff && track->Pt()<=fmaxPtComboeff)
		{
	    effVars[0] = effcorection[3]->GetAxis(0)->FindBin(cent);
	    effVars[1] = effcorection[3]->GetAxis(1)->FindBin(evzvtx); 
	    effVars[2] = effcorection[3]->GetAxis(2)->FindBin(track->Pt()); 
	    effVars[3] = effcorection[3]->GetAxis(3)->FindBin(track->Eta());
            effvalue=effcorection[3]->GetBinContent(effVars);
		}
	      else{
 if(parpid==SpPion)
            {
	    effVars[0] = effcorection[0]->GetAxis(0)->FindBin(cent);
	    effVars[1] = effcorection[0]->GetAxis(1)->FindBin(evzvtx); 
	    effVars[2] = effcorection[0]->GetAxis(2)->FindBin(track->Pt()); 
	    effVars[3] = effcorection[0]->GetAxis(3)->FindBin(track->Eta()); 
            effvalue=effcorection[0]->GetBinContent(effVars);
	    }
	    
 if(parpid==SpKaon)
            {
	    effVars[0] = effcorection[1]->GetAxis(0)->FindBin(cent);
	    effVars[1] =  effcorection[1]->GetAxis(1)->FindBin(evzvtx); 
	    effVars[2] =  effcorection[1]->GetAxis(2)->FindBin(track->Pt()); 
	    effVars[3] =  effcorection[1]->GetAxis(3)->FindBin(track->Eta()); 
            effvalue=effcorection[1]->GetBinContent(effVars);
	    }
	      }
	    }	
	     
 if(parpid==SpProton)
            {
	    effVars[0] =  effcorection[2]->GetAxis(0)->FindBin(cent);
	    effVars[1] = effcorection[2]->GetAxis(1)->FindBin(evzvtx); 
	    effVars[2] = effcorection[2]->GetAxis(2)->FindBin(track->Pt()); 
	    effVars[3] = effcorection[2]->GetAxis(3)->FindBin(track->Eta()); 
            effvalue=effcorection[2]->GetBinContent(effVars);
	    }

 if(fkaonprotoneffrequired && !fmesoneffrequired && track->Pt()>=fminPtComboeff && track->Pt()<=fmaxPtComboeff)
		{
  if(parpid==SpProton || parpid==SpKaon)
            {
	    effVars[0] = effcorection[4]->GetAxis(0)->FindBin(cent);
	    effVars[1] = effcorection[4]->GetAxis(1)->FindBin(evzvtx); 
	    effVars[2] = effcorection[4]->GetAxis(2)->FindBin(track->Pt()); 
	    effVars[3] = effcorection[4]->GetAxis(3)->FindBin(track->Eta());
            effvalue=effcorection[4]->GetBinContent(effVars);
	    }
		}	    
	    // 	  Printf("%d %d %d %d %f", effVars[0], effVars[1], effVars[2], effVars[3], fEfficiencyCorrectionAssociated->GetBinContent(effVars));
     if(effvalue==0.) effvalue=1.;

     return effvalue; 

}
//---------------------------------------------------------------------------------

Int_t AliTwoParticlePIDCorr::ClassifyTrack(AliAODTrack* track,AliAODVertex* vertex,Float_t magfield, Bool_t fill)
{  
 
  if(!track) return 0;
  Bool_t trackOK = track->TestFilterBit(fFilterBit);
  if(!trackOK) return 0;
  if (fTrackStatus != 0 && !CheckTrack(track)) return 0;
  //select only primary traks(for data & reco MC tracks) 
  if(fonlyprimarydatareco && track->GetType()!=AliAODTrack::kPrimary) return 0;
  if(track->Charge()==0) return 0;
  if (fill) fHistQA[12]->Fill(track->GetTPCNcls());  
  Float_t dxy, dz;		  
  dxy = track->DCA();
  dz = track->ZAtDCA();
  if (fill) fHistQA[6]->Fill(dxy);
  if (fill) fHistQA[7]->Fill(dz);
  Float_t chi2ndf = track->Chi2perNDF();
  if (fill) fHistQA[13]->Fill(chi2ndf);  
  // Float_t nCrossedRowsTPC = track->GetTPCClusterInfo(2,1);
  Float_t nCrossedRowsTPC = track->GetTPCNCrossedRows();
  if (fill) fHistQA[14]->Fill(nCrossedRowsTPC); 
  //Float_t  ratioCrossedRowsOverFindableClustersTPC = 1.0;
  if (track->GetTPCNclsF()>0) {
   Float_t  ratioCrossedRowsOverFindableClustersTPC = nCrossedRowsTPC/track->GetTPCNclsF();
   if (fill) fHistQA[15]->Fill(ratioCrossedRowsOverFindableClustersTPC);
    }
//accepted tracks  
     Float_t pt=track->Pt();
     if(pt< fminPt || pt> fmaxPt) return 0;
     if(TMath::Abs(track->Eta())> fmaxeta) return 0;
     if(track->Phi()<0. || track->Phi()>2*TMath::Pi()) return 0;
     //if (!HasTPCPID(track)) return 0;//trigger & associated particles must have TPC PID,Is it required???
// DCA XY
	if (fdcacut && fDCAXYCut)
	{
	  if (!vertex)
	    return 0;
	  
	  Double_t pos[2];
	  Double_t covar[3];
	  AliAODTrack* clone =(AliAODTrack*) track->Clone();
	  Bool_t success = clone->PropagateToDCA(vertex, magfield, fdcacutvalue, pos, covar);
	  delete clone;
	  if (!success)
	    return 0;

// 	  Printf("%f", ((AliAODTrack*)part)->DCA());
// 	  Printf("%f", pos[0]);
	  if (TMath::Abs(pos[0]) > fDCAXYCut->Eval(track->Pt()))
	    return 0;
	}

	if (fSharedClusterCut >= 0)
	{
	  Double_t frac = Double_t(((AliAODTrack*)track)->GetTPCnclsS()) / Double_t(((AliAODTrack*)track)->GetTPCncls());
	  if (frac > fSharedClusterCut)
	    return 0;
	}

   // Rejects tracks with shared clusters after filling a control histogram
   // This overload is used for primaries

     // Get the shared maps
      const TBits sharedMap = track->GetTPCSharedMap();
     // Fill a control histogram
      fPriHistShare->Fill(sharedMap.CountBits());

    // Reject shared clusters
       if (fSharedTPCmapCut >= 0)
	{     
      if((sharedMap.CountBits()) >= 1)  return 0;// Bad track, has too many shared clusters!
	}

     if (fill) fHistQA[8]->Fill(pt);
     if (fill) fHistQA[9]->Fill(track->Eta());
     if (fill) fHistQA[10]->Fill(track->Phi());
     return 1;
  }
  //________________________________________________________________________________
void AliTwoParticlePIDCorr::CalculateNSigmas(AliAODTrack *track, Bool_t FIllQAHistos) 
{
//This function is called within the func GetParticle() for accepted tracks only i.e.after call of Classifytrack() & for those tracks which have proper TPC PID response . combined nsigma(circular) cut only for particles having pt upto  4.0 Gev/c and beyond that use the asymmetric nsigma cut around pion's mean position in TPC ( while filling the  TObjArray for trig & asso )
Float_t pt=track->Pt();

//plot the separation power

Double_t bethe[AliPID::kSPECIES]={0.};
Double_t sigma_TPC[AliPID::kSPECIES]={0.}; 

 Double_t Pi_Ka_sep[NSigmaPIDType+1]={0.};
 Double_t Pi_Pr_sep[NSigmaPIDType+1]={0.};
 Double_t Ka_Pr_sep[NSigmaPIDType+1]={0.};


    Double_t ptpc = track->GetTPCmomentum();
    Int_t dEdxN = track->GetTPCsignalN();
 for (Int_t ipart = 0; ipart < AliPID::kSPECIES; ipart++) {
       bethe[ipart] = fPID->GetTPCResponse().GetExpectedSignal(ptpc, (AliPID::EParticleType)ipart);
      //Double_t diff = dEdx - bethe;
       sigma_TPC[ipart] = fPID->GetTPCResponse().GetExpectedSigma(ptpc, dEdxN, (AliPID::EParticleType)ipart);
      //nSigma[ipart] = diff / sigma;
    }
 Pi_Ka_sep[NSigmaTPC]=TMath::Abs(bethe[AliPID::kPion]-bethe[AliPID::kKaon])/((sigma_TPC[AliPID::kPion]+sigma_TPC[AliPID::kKaon])/2.0);
 Pi_Pr_sep[NSigmaTPC]=TMath::Abs(bethe[AliPID::kPion]-bethe[AliPID::kProton])/((sigma_TPC[AliPID::kPion]+sigma_TPC[AliPID::kProton])/2.0);
 Ka_Pr_sep[NSigmaTPC]=TMath::Abs(bethe[AliPID::kKaon]-bethe[AliPID::kProton])/((sigma_TPC[AliPID::kKaon]+sigma_TPC[AliPID::kProton])/2.0);


Double_t sigma_TOF[AliPID::kSPECIES]={0.}; 

if(HasTOFPID(track) && pt>fPtTOFPIDmin)
   {
 Double_t timei[AliPID::kSPECIES];
 track->GetIntegratedTimes(timei);
 for (Int_t ipart = 0; ipart < AliPID::kSPECIES; ipart++) {  sigma_TOF[ipart]= fPID->GetTOFResponse().GetExpectedSigma(track->P(), timei[ipart], AliPID::ParticleMass(ipart));}
 Pi_Ka_sep[NSigmaTOF]=TMath::Abs(timei[AliPID::kPion]-timei[AliPID::kKaon])/((sigma_TOF[AliPID::kPion]+sigma_TOF[AliPID::kKaon])/2.0);
 Pi_Pr_sep[NSigmaTOF]=TMath::Abs(timei[AliPID::kPion]-timei[AliPID::kProton])/((sigma_TOF[AliPID::kPion]+sigma_TOF[AliPID::kProton])/2.0);
 Ka_Pr_sep[NSigmaTOF]=TMath::Abs(timei[AliPID::kKaon]-timei[AliPID::kProton])/((sigma_TOF[AliPID::kKaon]+sigma_TOF[AliPID::kProton])/2.0);

  Pi_Ka_sep[NSigmaTPCTOF]=TMath::Abs(Pi_Ka_sep[NSigmaTPC]*Pi_Ka_sep[NSigmaTPC]+Pi_Ka_sep[NSigmaTOF]*Pi_Ka_sep[NSigmaTOF]);
  Pi_Pr_sep[NSigmaTPCTOF]=TMath::Abs(Pi_Pr_sep[NSigmaTPC]*Pi_Pr_sep[NSigmaTPC]+Pi_Pr_sep[NSigmaTOF]*Pi_Pr_sep[NSigmaTOF]);
  Ka_Pr_sep[NSigmaTPCTOF]=TMath::Abs(Ka_Pr_sep[NSigmaTPC]*Ka_Pr_sep[NSigmaTPC]+Ka_Pr_sep[NSigmaTOF]*Ka_Pr_sep[NSigmaTOF]);
   }


//fill separation power histograms
 for(Int_t ipid=0;ipid<=NSigmaPIDType;ipid++){
   if(ipid==0){
	TH2F *h=GetHistogram2D(Form("Pi_Ka_sep_%d",ipid));
	h->Fill(track->Pt(),Pi_Ka_sep[ipid]);
        TH2F *h1=GetHistogram2D(Form("Pi_Pr_sep_%d",ipid));
	h1->Fill(track->Pt(),Pi_Pr_sep[ipid]);
        TH2F *h2=GetHistogram2D(Form("Ka_Pr_sep_%d",ipid));
	h2->Fill(track->Pt(),Ka_Pr_sep[ipid]);
   }
   if(HasTOFPID(track) && pt>fPtTOFPIDmin && ipid!=0){
       TH2F *h=GetHistogram2D(Form("Pi_Ka_sep_%d",ipid));
	h->Fill(track->Pt(),Pi_Ka_sep[ipid]);
        TH2F *h1=GetHistogram2D(Form("Pi_Pr_sep_%d",ipid));
	h1->Fill(track->Pt(),Pi_Pr_sep[ipid]);
        TH2F *h2=GetHistogram2D(Form("Ka_Pr_sep_%d",ipid));
	h2->Fill(track->Pt(),Ka_Pr_sep[ipid]);
   }
 }


//it is assumed that every track that passed the filterbit have proper TPC response(!!)
Float_t nsigmaTPCkPion =fPID->NumberOfSigmasTPC(track, AliPID::kPion);
Float_t nsigmaTPCkKaon =fPID->NumberOfSigmasTPC(track, AliPID::kKaon);
Float_t nsigmaTPCkProton =fPID->NumberOfSigmasTPC(track, AliPID::kProton);

Float_t nsigmaTOFkProton=999.,nsigmaTOFkKaon=999.,nsigmaTOFkPion=999.;
Float_t nsigmaTPCTOFkProton=999.,nsigmaTPCTOFkKaon=999.,nsigmaTPCTOFkPion=999.;

 if(HasTOFPID(track) && pt>fPtTOFPIDmin)
   {

nsigmaTOFkPion =fPID->NumberOfSigmasTOF(track, AliPID::kPion);
nsigmaTOFkKaon =fPID->NumberOfSigmasTOF(track, AliPID::kKaon);
nsigmaTOFkProton =fPID->NumberOfSigmasTOF(track, AliPID::kProton);
//---combined
nsigmaTPCTOFkPion   = TMath::Sqrt(nsigmaTPCkPion*nsigmaTPCkPion+nsigmaTOFkPion*nsigmaTOFkPion);
nsigmaTPCTOFkKaon   = TMath::Sqrt(nsigmaTPCkKaon*nsigmaTPCkKaon+nsigmaTOFkKaon*nsigmaTOFkKaon);
nsigmaTPCTOFkProton = TMath::Sqrt(nsigmaTPCkProton*nsigmaTPCkProton+nsigmaTOFkProton*nsigmaTOFkProton);


   }
else{
    // --- combined
    // if TOF is missing and below fPtTOFPID only the TPC information is used
    nsigmaTPCTOFkProton = TMath::Abs(nsigmaTPCkProton);
    nsigmaTPCTOFkKaon   = TMath::Abs(nsigmaTPCkKaon);
    nsigmaTPCTOFkPion   = TMath::Abs(nsigmaTPCkPion);

  }

//set data member fnsigmas
  fnsigmas[SpPion][NSigmaTPC]=nsigmaTPCkPion;
  fnsigmas[SpKaon][NSigmaTPC]=nsigmaTPCkKaon;
  fnsigmas[SpProton][NSigmaTPC]=nsigmaTPCkProton;

  //for all tracks below fPtTOFPIDmin  and also for tracks above fPtTOFPIDmin without proper TOF response these TOF nsigma values will be 999.
  fnsigmas[SpPion][NSigmaTOF]=nsigmaTOFkPion;
  fnsigmas[SpKaon][NSigmaTOF]=nsigmaTOFkKaon;
  fnsigmas[SpProton][NSigmaTOF]=nsigmaTOFkProton;

 //for all tracks below fPtTOFPIDmin  and also for tracks above fPtTOFPIDmin without proper TOF response these TPCTOF nsigma values will be TMath::Abs(TPC only nsigma)
  fnsigmas[SpPion][NSigmaTPCTOF]=nsigmaTPCTOFkPion;
  fnsigmas[SpKaon][NSigmaTPCTOF]=nsigmaTPCTOFkKaon;
  fnsigmas[SpProton][NSigmaTPCTOF]=nsigmaTPCTOFkProton;

 if(FIllQAHistos){
    //Fill NSigma SeparationPlot
    for(Int_t ipart=0;ipart<NSpecies;ipart++){
      for(Int_t ipid=0;ipid<=NSigmaPIDType;ipid++){
	if((ipid!=NSigmaTPC) && (!HasTOFPID(track)))continue;//not filling TOF and combined if no TOF PID
	TH2F *h=GetHistogram2D(Form("NSigma_%d_%d",ipart,ipid));
	h->Fill(track->Pt(),fnsigmas[ipart][ipid]);
      }
    }
  }

}
//----------------------------------------------------------------------------
Int_t AliTwoParticlePIDCorr::FindMinNSigma(AliAODTrack *track,Bool_t FillQAHistos) 
{
  //this function is always called after calling the function CalculateNSigmas(AliAODTrack *track)
if(fRequestTOFPID && track->Pt()>fPtTOFPIDmin && (!HasTOFPID(track)) )return SpUndefined;//so any track having Pt>0.6 withot having proper TOF response will be defined as SpUndefined
//get the identity of the particle with the minimum Nsigma
  Float_t nsigmaPion=999., nsigmaKaon=999., nsigmaProton=999.;
  switch (fPIDType){
  case NSigmaTPC:
    nsigmaProton  =  TMath::Abs(fnsigmas[SpProton][NSigmaTPC]);
    nsigmaKaon	  =  TMath::Abs(fnsigmas[SpKaon][NSigmaTPC])  ;
    nsigmaPion    =  TMath::Abs(fnsigmas[SpPion][NSigmaTPC])  ;
    break;
  case NSigmaTOF:
    nsigmaProton  =  TMath::Abs(fnsigmas[SpProton][NSigmaTOF]);
    nsigmaKaon	  =  TMath::Abs(fnsigmas[SpKaon][NSigmaTOF])  ;
    nsigmaPion    =  TMath::Abs(fnsigmas[SpPion][NSigmaTOF])  ;
    break;
  case NSigmaTPCTOF://In case of no TOF matching the combined nsigma is the TPC one
    nsigmaProton  =  TMath::Abs(fnsigmas[SpProton][NSigmaTPCTOF]);
    nsigmaKaon	  =  TMath::Abs(fnsigmas[SpKaon][NSigmaTPCTOF])  ;
    nsigmaPion    =  TMath::Abs(fnsigmas[SpPion][NSigmaTPCTOF])  ;
    break;
  case Bayes://the nsigma in the bayesian is used to clean with a very large n-sigma value
    nsigmaProton  =  TMath::Abs(fnsigmas[SpProton][NSigmaTPCTOF]);
    nsigmaKaon	  =  TMath::Abs(fnsigmas[SpKaon][NSigmaTPCTOF])  ;
    nsigmaPion    =  TMath::Abs(fnsigmas[SpPion][NSigmaTPCTOF])  ;
    break;
  }


if(fdiffPIDcutvalues){
  if(track->Pt()<=4) fNSigmaPID=fPIDCutval1;
  if(track->Pt()>4 && track->Pt()<=6) fNSigmaPID=fPIDCutval2;
  if(track->Pt()>6 && track->Pt()<=8) fNSigmaPID=fPIDCutval3;
  if(track->Pt()>8) fNSigmaPID=fPIDCutval4;
  }

 // guess the particle based on the smaller nsigma (within fNSigmaPID)
  if( ( nsigmaKaon==nsigmaPion ) && ( nsigmaKaon==nsigmaProton )) return SpUndefined;//it is the default value for the three

  if( ( nsigmaKaon   < nsigmaPion ) && ( nsigmaKaon < nsigmaProton ) && (nsigmaKaon < fNSigmaPID)){
    if((fHighPtKaonNSigmaPID>0) && (track->Pt()>fHighPtKaonSigma) && (nsigmaKaon > fHighPtKaonNSigmaPID)) return SpUndefined;//different nsigma cut for kaons above a particular Pt range(within the TPC-TOF PID range)
if(FillQAHistos){
      for(Int_t ipid=0;ipid<=NSigmaPIDType;ipid++){
	if((ipid!=NSigmaTPC) && (!HasTOFPID(track)))continue;//not filling TOF and combined if no TOF PID
	TH2F *h=GetHistogram2D(Form("NSigmaRec_%d_%d",SpKaon,ipid));
	h->Fill(track->Pt(),fnsigmas[SpKaon][ipid]);
      }
    }
 return SpKaon;
  }
  if( ( nsigmaPion   < nsigmaKaon ) && ( nsigmaPion < nsigmaProton ) && (nsigmaPion < fNSigmaPID)) {
 if(FillQAHistos){
      for(Int_t ipid=0;ipid<=NSigmaPIDType;ipid++){
	if((ipid!=NSigmaTPC) && (!HasTOFPID(track)))continue;//not filling TOF and combined if no TOF PID
	TH2F *h=GetHistogram2D(Form("NSigmaRec_%d_%d",SpPion,ipid));
	h->Fill(track->Pt(),fnsigmas[SpPion][ipid]);
      }
    }
return SpPion;
  }
  if( ( nsigmaProton < nsigmaKaon ) && ( nsigmaProton < nsigmaPion ) && (nsigmaProton < fNSigmaPID)) {
if(FillQAHistos){
      for(Int_t ipid=0;ipid<=NSigmaPIDType;ipid++){
	if((ipid!=NSigmaTPC) && (!HasTOFPID(track)))continue;//not filling TOF and combined if no TOF PID
	TH2F *h=GetHistogram2D(Form("NSigmaRec_%d_%d",SpProton,ipid));
	h->Fill(track->Pt(),fnsigmas[SpProton][ipid]);
      }
 }
return SpProton;
  }

// else, return undefined
  return SpUndefined;
  
 
}

//------------------------------------------------------------------------------------------
Bool_t* AliTwoParticlePIDCorr::GetDoubleCounting(AliAODTrack * trk,Bool_t FIllQAHistos){ 
  //this function is always called after calling the function CalculateNSigmas(AliAODTrack *track)

  //if a particle has double counting set fHasDoubleCounting[ipart]=kTRUE
  //fill DC histos
  for(Int_t ipart=0;ipart<NSpecies;ipart++)fHasDoubleCounting[ipart]=kFALSE;//array with kTRUE for second (or third) identity of the track
  
  Int_t MinNSigma=FindMinNSigma(trk,kFALSE);//not filling the NSigmaRec histos
  
  
  if(MinNSigma==SpUndefined)return fHasDoubleCounting;//in case of undefined no Double counting
  
  Float_t nsigmaPion=999., nsigmaKaon=999., nsigmaProton=999.;
  switch (fPIDType) {
  case NSigmaTPC:
    nsigmaProton  =  TMath::Abs(fnsigmas[SpProton][NSigmaTPC]);
    nsigmaKaon	  =  TMath::Abs(fnsigmas[SpKaon][NSigmaTPC])  ;
    nsigmaPion    =  TMath::Abs(fnsigmas[SpPion][NSigmaTPC])  ;
    break;
  case NSigmaTOF:
    nsigmaProton  =  TMath::Abs(fnsigmas[SpProton][NSigmaTOF]);
    nsigmaKaon	  =  TMath::Abs(fnsigmas[SpKaon][NSigmaTOF])  ;
    nsigmaPion    =  TMath::Abs(fnsigmas[SpPion][NSigmaTOF])  ;
    break;
  case NSigmaTPCTOF://In case of no TOF matching the combined nsigma is the TPC one
    nsigmaProton  =  TMath::Abs(fnsigmas[SpProton][NSigmaTPCTOF]);
    nsigmaKaon	  =  TMath::Abs(fnsigmas[SpKaon][NSigmaTPCTOF])  ;
    nsigmaPion    =  TMath::Abs(fnsigmas[SpPion][NSigmaTPCTOF])  ;
    break;
  case Bayes://the nsigma in the bayesian is used to clean with a very large n-sigma value
    nsigmaProton  =  TMath::Abs(fnsigmas[SpProton][NSigmaTPCTOF]);
    nsigmaKaon	  =  TMath::Abs(fnsigmas[SpKaon][NSigmaTPCTOF])  ;
    nsigmaPion    =  TMath::Abs(fnsigmas[SpPion][NSigmaTPCTOF])  ;
    break;
  }

  // Actually the tracks in the overlapping region(in TPC-TOF nSigma plane) will be ignored

  if(nsigmaPion<fNSigmaPID && MinNSigma!=SpPion)fHasDoubleCounting[SpPion]=kTRUE;
  if(nsigmaKaon<fNSigmaPID && MinNSigma!=SpKaon)fHasDoubleCounting[SpKaon]=kTRUE;
  if(nsigmaProton<fNSigmaPID && MinNSigma!=SpProton)fHasDoubleCounting[SpProton]=kTRUE;
     
  

if(FIllQAHistos){
    //fill NSigma distr for double counting
    for(Int_t ipart=0;ipart<NSpecies;ipart++){
      if(fHasDoubleCounting[ipart]){//this may be kTRUE only for particles having Pt<=4.0 GeV/C, so this histo contains all the particles having Pt<=4.0 GeV/C in the nsigma overlapping region in TPC/TPC-TOF plane 
	for(Int_t ipid=0;ipid<=NSigmaPIDType;ipid++){
	  if((ipid!=NSigmaTPC) && (!HasTOFPID(trk)))continue;//not filling TOF and combined if no TOF PID
	  TH2F *h=GetHistogram2D(Form("NSigmaDC_%d_%d",ipart,ipid));
	  h->Fill(trk->Pt(),fnsigmas[ipart][ipid]);
	}
      }
    }
  }
 
 
  return fHasDoubleCounting;
}

//////////////////////////////////////////////////////////////////////////////////////////////////

Bool_t* AliTwoParticlePIDCorr::GetAllCompatibleIdentitiesNSigma(AliAODTrack * trk,Bool_t FIllQAHistos){ 
 //mainly intended to check the probability of the PID of the tracks which are in the overlapping nSigma regions and near about the middle position from the   mean position of two ID particle
  Bool_t *IDs=GetDoubleCounting(trk,FIllQAHistos);
  IDs[FindMinNSigma(trk,FIllQAHistos)]=kTRUE;
  return IDs;
  
}
//////////////////////////////////////////////////////////////////////////////////////////////////

UInt_t AliTwoParticlePIDCorr::CalcPIDCombined(AliAODTrack *track, Int_t detMask, Double_t* prob) const{
  //
  // Bayesian PID calculation
  //
  for(Int_t i=0;i<AliPID::kSPECIES;i++)
    {
      prob[i]=0.;
    }
  fPIDCombined->SetDetectorMask(detMask);
  
  return fPIDCombined->ComputeProbabilities((AliAODTrack*)track, fPID, prob);
}

//////////////////////////////////////////////////////////////////////////////////////////////////

Int_t AliTwoParticlePIDCorr::GetIDBayes(AliAODTrack * trk, Bool_t FIllQAHistos){ 
  
  Bool_t *IDs=GetAllCompatibleIdentitiesNSigma(trk,FIllQAHistos);


  //Filling of Probability histos
	Double_t probTPC[AliPID::kSPECIES]={0.};
	Double_t probTOF[AliPID::kSPECIES]={0.};
	Double_t probTPCTOF[AliPID::kSPECIES]={0.};

	UInt_t detUsedTPC = 0;
	UInt_t detUsedTOF = 0;
	UInt_t detUsedTPCTOF = 0;

 //get the TPC probability
          fPIDCombined->SetDetectorMask(AliPIDResponse::kDetTPC);
	  detUsedTPC = fPIDCombined->ComputeProbabilities(trk, fPID, probTPC);
if(detUsedTPC == AliPIDResponse::kDetTPC)
  {
for(Int_t ipart=0;ipart<NSpecies;ipart++){

	TH2F *h=GetHistogram2D(Form("probBayes_TPC_%d",ipart));
	if(ipart==0)	h->Fill(trk->Pt(),probTPC[AliPID::kPion]);
	if(ipart==1)	h->Fill(trk->Pt(),probTPC[AliPID::kKaon]);
	if(ipart==2)	h->Fill(trk->Pt(),probTPC[AliPID::kProton]);
 }
  }

  //get the TOF probability
	  fPIDCombined->SetDetectorMask(AliPIDResponse::kDetTOF);
	  detUsedTOF = fPIDCombined->ComputeProbabilities(trk, fPID, probTOF);
if(detUsedTOF == AliPIDResponse::kDetTOF)
  {
for(Int_t ipart=0;ipart<NSpecies;ipart++){
	TH2F *h=GetHistogram2D(Form("probBayes_TOF_%d",ipart));
	if(ipart==0)	h->Fill(trk->Pt(),probTOF[AliPID::kPion]);
	if(ipart==1)	h->Fill(trk->Pt(),probTOF[AliPID::kKaon]);
	if(ipart==2)	h->Fill(trk->Pt(),probTOF[AliPID::kProton]);
 }
  }

 //get the TPC-TOF probability
	  fPIDCombined->SetDetectorMask(AliPIDResponse::kDetTOF|AliPIDResponse::kDetTPC);
	  detUsedTPCTOF = fPIDCombined->ComputeProbabilities(trk, fPID, probTPCTOF);
if(detUsedTPCTOF == (AliPIDResponse::kDetTOF|AliPIDResponse::kDetTPC))
  {
for(Int_t ipart=0;ipart<NSpecies;ipart++){
	TH2F *h=GetHistogram2D(Form("probBayes_TPCTOF_%d",ipart));
	if(ipart==0)	h->Fill(trk->Pt(),probTPCTOF[AliPID::kPion]);
	if(ipart==1)	h->Fill(trk->Pt(),probTPCTOF[AliPID::kKaon]);
	if(ipart==2)	h->Fill(trk->Pt(),probTPCTOF[AliPID::kProton]); 
}
  }

  
  Double_t probBayes[AliPID::kSPECIES];
  
  UInt_t detUsed= 0;
  if(HasTOFPID(trk) && trk->Pt()>fPtTOFPIDmin){//use TOF information
    detUsed = CalcPIDCombined(trk, AliPIDResponse::kDetTOF|AliPIDResponse::kDetTPC, probBayes);
    if(detUsed != (AliPIDResponse::kDetTOF|AliPIDResponse::kDetTPC))return SpUndefined;//check that TPC and TOF are used
  }else{
    detUsed = CalcPIDCombined(trk,AliPIDResponse::kDetTPC, probBayes);
    if(detUsed != AliPIDResponse::kDetTPC)return SpUndefined;//check that TPC is used
  }
  
  //the probability has to be normalized to one, we check it
  Double_t sump=0.;
  for(Int_t ipart=0;ipart<AliPID::kSPECIES;ipart++)sump+=probBayes[ipart];
  if(sump<.99 && sump>1.01){//FIXME precision problem in the sum, workaround
    AliFatal("Bayesian probability not normalized to one");
  }

  if(fdiffPIDcutvalues){
  if(trk->Pt()<=4) fBayesCut=fPIDCutval1;
  if(trk->Pt()>4 && trk->Pt()<=6) fBayesCut=fPIDCutval2;
  if(trk->Pt()>6 && trk->Pt()<=8) fBayesCut=fPIDCutval3;
  if(trk->Pt()>8) fBayesCut=fPIDCutval4;
  }

  
  //probabilities are normalized to one, if the cut is above .5 there is no problem
  if(probBayes[AliPID::kPion]>fBayesCut && IDs[SpPion]==1){
    TH2F *h=GetHistogram2D(Form("BayesRec_%d",SpPion));
    h->Fill(trk->Pt(),probBayes[AliPID::kPion]);
    return SpPion;
  }
  else if(probBayes[AliPID::kKaon]>fBayesCut && IDs[SpKaon]==1){
    TH2F *h=GetHistogram2D(Form("BayesRec_%d",SpKaon));
    h->Fill(trk->Pt(),probBayes[AliPID::kKaon]);
    return SpKaon;
  }
  else if(probBayes[AliPID::kProton]>fBayesCut && IDs[SpProton]==1){
    TH2F *h=GetHistogram2D(Form("BayesRec_%d",SpProton));
    h->Fill(trk->Pt(),probBayes[AliPID::kProton]);
    return SpProton;
  }
  else{
    return SpUndefined;
  }
}


//////////////////////////////////////////////////////////////////////////////////////////////////
Int_t AliTwoParticlePIDCorr::GetParticle(AliAODTrack * trk, Bool_t FIllQAHistos){ 
  //return the specie according to the minimum nsigma value
  //no double counting, this has to be evaluated using CheckDoubleCounting()
  
  Int_t ID=SpUndefined;

  CalculateNSigmas(trk,FIllQAHistos);//fill the data member fnsigmas with the nsigmas value [ipart][iPID]


 //Do PID
  if(fPIDType==Bayes){//use bayesianPID
    
    if(!fPIDCombined) {
      AliFatal("PIDCombined object has to be set in the steering macro");
    }
    
    ID = GetIDBayes(trk,FIllQAHistos);
    
  }else{ //use nsigma PID  

   ID=FindMinNSigma(trk,FIllQAHistos);
if(fUseExclusiveNSigma){ //if one particle has double counting and exclusive nsigma is requested ID = kSpUndefined
      Bool_t *HasDC;
      HasDC=GetDoubleCounting(trk,FIllQAHistos);
      for(Int_t ipart=0;ipart<NSpecies;ipart++){
	if(HasDC[ipart]==kTRUE)  ID = SpUndefined;
      }
    }
  }
//Fill PID signal plot
  if(ID != SpUndefined){
    for(Int_t idet=0;idet<fNDetectors;idet++){
      TH2F *h=GetHistogram2D(Form("PID_%d_%d",idet,ID));
      if(idet==fITS)h->Fill(trk->P(),trk->GetITSsignal()*trk->Charge());
      if(idet==fTPC)h->Fill(trk->P(),trk->GetTPCsignal()*trk->Charge());
      if(idet==fTOF && HasTOFPID(trk))h->Fill(trk->P(),GetBeta(trk)*trk->Charge());
    }
  }
  //Fill PID signal plot without cuts
  for(Int_t idet=0;idet<fNDetectors;idet++){
    TH2F *h=GetHistogram2D(Form("PIDAll_%d",idet));
    if(idet==fITS)h->Fill(trk->P(),trk->GetITSsignal()*trk->Charge());
    if(idet==fTPC)h->Fill(trk->P(),trk->GetTPCsignal()*trk->Charge());
    if(idet==fTOF && HasTOFPID(trk))h->Fill(trk->P(),GetBeta(trk)*trk->Charge());
  }
  
  return ID;
}

//-------------------------------------------------------------------------------------
Bool_t
AliTwoParticlePIDCorr::HasTPCPID(AliAODTrack *track) const
{  
  // check PID signal 
   AliPIDResponse::EDetPidStatus statustpc = fPID->CheckPIDStatus(AliPIDResponse::kTPC,track);
   if(statustpc!=AliPIDResponse::kDetPidOk) return kFALSE;
   //ULong_t status=track->GetStatus();
   //if  (!( (status & AliAODTrack::kTPCpid  ) == AliAODTrack::kTPCpid  )) return kFALSE;//remove light nuclei
   //if (track->GetTPCsignal() <= 0.) return kFALSE;
   // if(track->GetTPCsignalN() < 60) return kFALSE;//tracks with TPCsignalN< 60 have questionable dEdx,cutting on TPCsignalN > 70 or > 60 shouldn't make too much difference in statistics,also  it is IMO safe to use TPC also for MIPs.
   
  return kTRUE;  
}
//___________________________________________________________

Bool_t
AliTwoParticlePIDCorr::HasTOFPID(AliAODTrack *track) const
{
  // check TOF matched track 
  //ULong_t status=track->GetStatus();
  //if  (!( (status & AliAODTrack::kITSin  ) == AliAODTrack::kITSin  )) return kFALSE;
 AliPIDResponse::EDetPidStatus statustof = fPID->CheckPIDStatus(AliPIDResponse::kTOF,track);
 if(statustof!= AliPIDResponse::kDetPidOk) return kFALSE;
  if(track->Pt()<=fPtTOFPIDmin) return kFALSE;
 //if(!((status & AliAODTrack::kTOFpid  ) == AliAODTrack::kTOFpid  )) return kFALSE;
 //Float_t probMis = fPIDresponse->GetTOFMismatchProbability(track);
 // if (probMis > 0.01) return kFALSE;
if(fRemoveTracksT0Fill)
    {
Int_t startTimeMask = fPID->GetTOFResponse().GetStartTimeMask(track->P());
      if (startTimeMask < 0)return kFALSE; 
    }
  return kTRUE;
}

//________________________________________________________________________
Double_t AliTwoParticlePIDCorr :: GetBeta(AliAODTrack *track)
{
  //it is called only when TOF PID is available
//TOF beta calculation
  Double_t tofTime=track->GetTOFsignal();
  
  Double_t c=TMath::C()*1.E-9;// m/ns
  Float_t startTime = fPID->GetTOFResponse().GetStartTime(((AliVTrack*)track)->P());//in ps
  Double_t length= fPID->GetTOFResponse().GetExpectedSignal(track,AliPID::kElectron)*1E-3*c;
  tofTime -= startTime;      // subtract startTime to the signal
  Double_t tof= tofTime*1E-3; // ns, average T0 fill subtracted, no info from T0detector 	 
  tof=tof*c;
  return length/tof;


  /*
  Double_t p = track->P();
  Double_t time=track->GetTOFsignal()-fPID->GetTOFResponse().GetStartTime(p);
  Double_t timei[5];
  track->GetIntegratedTimes(timei);
  return timei[0]/time;
  */
}
//------------------------------------------------------------------------------------------------------

Float_t AliTwoParticlePIDCorr::GetInvMassSquared(Float_t pt1, Float_t eta1, Float_t phi1, Float_t pt2, Float_t eta2, Float_t phi2, Float_t m0_1, Float_t m0_2)
{
  // calculate inv mass squared
  // same can be achieved, but with more computing time with
  /*TLorentzVector photon, p1, p2;
  p1.SetPtEtaPhiM(triggerParticle->Pt(), triggerEta, triggerParticle->Phi(), 0.510e-3);
  p2.SetPtEtaPhiM(particle->Pt(), eta[j], particle->Phi(), 0.510e-3);
  photon = p1+p2;
  photon.M()*/
  
  Float_t tantheta1 = 1e10;
  
  if (eta1 < -1e-10 || eta1 > 1e-10)
    tantheta1 = 2 * TMath::Exp(-eta1) / ( 1 - TMath::Exp(-2*eta1));
  
  Float_t tantheta2 = 1e10;
  if (eta2 < -1e-10 || eta2 > 1e-10)
    tantheta2 = 2 * TMath::Exp(-eta2) / ( 1 - TMath::Exp(-2*eta2));
  
  Float_t e1squ = m0_1 * m0_1 + pt1 * pt1 * (1.0 + 1.0 / tantheta1 / tantheta1);
  Float_t e2squ = m0_2 * m0_2 + pt2 * pt2 * (1.0 + 1.0 / tantheta2 / tantheta2);
  
  Float_t mass2 = m0_1 * m0_1 + m0_2 * m0_2 + 2 * ( TMath::Sqrt(e1squ * e2squ) - ( pt1 * pt2 * ( TMath::Cos(phi1 - phi2) + 1.0 / tantheta1 / tantheta2 ) ) );
  
  return mass2;
}
//---------------------------------------------------------------------------------

Float_t AliTwoParticlePIDCorr::GetInvMassSquaredCheap(Float_t pt1, Float_t eta1, Float_t phi1, Float_t pt2, Float_t eta2, Float_t phi2, Float_t m0_1, Float_t m0_2)
{
  // calculate inv mass squared approximately
  
  Float_t tantheta1 = 1e10;
  
  if (eta1 < -1e-10 || eta1 > 1e-10)
  {
    Float_t expTmp = 1.0-eta1+eta1*eta1/2-eta1*eta1*eta1/6+eta1*eta1*eta1*eta1/24;
    tantheta1 = 2.0 * expTmp / ( 1.0 - expTmp*expTmp);
  }
  
  Float_t tantheta2 = 1e10;
  if (eta2 < -1e-10 || eta2 > 1e-10)
  {
    Float_t expTmp = 1.0-eta2+eta2*eta2/2-eta2*eta2*eta2/6+eta2*eta2*eta2*eta2/24;
    tantheta2 = 2.0 * expTmp / ( 1.0 - expTmp*expTmp);
  }
  
  Float_t e1squ = m0_1 * m0_1 + pt1 * pt1 * (1.0 + 1.0 / tantheta1 / tantheta1);
  Float_t e2squ = m0_2 * m0_2 + pt2 * pt2 * (1.0 + 1.0 / tantheta2 / tantheta2);
  
  // fold onto 0...pi
  Float_t deltaPhi = TMath::Abs(phi1 - phi2);
  while (deltaPhi > TMath::TwoPi())
    deltaPhi -= TMath::TwoPi();
  if (deltaPhi > TMath::Pi())
    deltaPhi = TMath::TwoPi() - deltaPhi;
  
  Float_t cosDeltaPhi = 0;
  if (deltaPhi < TMath::Pi()/3)
    cosDeltaPhi = 1.0 - deltaPhi*deltaPhi/2 + deltaPhi*deltaPhi*deltaPhi*deltaPhi/24;
  else if (deltaPhi < 2*TMath::Pi()/3)
    cosDeltaPhi = -(deltaPhi - TMath::Pi()/2) + 1.0/6 * TMath::Power((deltaPhi - TMath::Pi()/2), 3);
  else
    cosDeltaPhi = -1.0 + 1.0/2.0*(deltaPhi - TMath::Pi())*(deltaPhi - TMath::Pi()) - 1.0/24.0 * TMath::Power(deltaPhi - TMath::Pi(), 4);
  
  Float_t mass2 = m0_1 * m0_1 + m0_2 * m0_2 + 2 * ( TMath::Sqrt(e1squ * e2squ) - ( pt1 * pt2 * ( cosDeltaPhi + 1.0 / tantheta1 / tantheta2 ) ) );
  
//   Printf(Form("%f %f %f %f %f %f %f %f %f", pt1, eta1, phi1, pt2, eta2, phi2, m0_1, m0_2, mass2));
  
  return mass2;
}
//--------------------------------------------------------------------------------
Float_t  AliTwoParticlePIDCorr::GetDPhiStar(Float_t phi1, Float_t pt1, Float_t charge1, Float_t phi2, Float_t pt2, Float_t charge2, Float_t radius, Float_t bSign)
{ 
  //
  // calculates dphistar
  //
  
  Float_t dphistar = phi1 - phi2 - charge1 * bSign * TMath::ASin(0.075 * radius / pt1) + charge2 * bSign * TMath::ASin(0.075 * radius / pt2);
  
  static const Double_t kPi = TMath::Pi();
  
  // circularity
//   if (dphistar > 2 * kPi)
//     dphistar -= 2 * kPi;
//   if (dphistar < -2 * kPi)
//     dphistar += 2 * kPi;
  
  if (dphistar > kPi)
    dphistar = kPi * 2 - dphistar;
  if (dphistar < -kPi)
    dphistar = -kPi * 2 - dphistar;
  if (dphistar > kPi) // might look funny but is needed
    dphistar = kPi * 2 - dphistar;
  
  return dphistar;
}

//------------------------------------------------------------------------
Double_t* AliTwoParticlePIDCorr::GetBinning(const char* configuration, const char* tag, Int_t& nBins)
{
  // This method is a copy from AliUEHist::GetBinning
  // takes the binning from <configuration> identified by <tag>
  // configuration syntax example:
  // eta: 2.4, -2.3, -2.2, -2.1, -2.0, -1.9, -1.8, -1.7, -1.6, -1.5, -1.4, -1.3, -1.2, -1.1, -1.0, -0.9, -0.8, -0.7, -0.6, -0.5, -0.4, -0.3, -0.2, -0.1, 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2.0, 2.1, 2.2, 2.3, 2.4
  // phi: .....
  //
  // returns bin edges which have to be deleted by the caller
  
  TString config(configuration);
  TObjArray* lines = config.Tokenize("\n");
  for (Int_t i=0; i<lines->GetEntriesFast(); i++)
  {
    TString line(lines->At(i)->GetName());
    if (line.BeginsWith(TString(tag) + ":"))
    {
      line.Remove(0, strlen(tag) + 1);
      line.ReplaceAll(" ", "");
      TObjArray* binning = line.Tokenize(",");
      Double_t* bins = new Double_t[binning->GetEntriesFast()];
      for (Int_t j=0; j<binning->GetEntriesFast(); j++)
	bins[j] = TString(binning->At(j)->GetName()).Atof();
      
      nBins = binning->GetEntriesFast() - 1;

      delete binning;
      delete lines;
      return bins;
    }
  }
  
  delete lines;
  AliFatal(Form("Tag %s not found in %s", tag, configuration));
  return 0;
}

//____________________________________________________________________

Bool_t AliTwoParticlePIDCorr::CheckTrack(AliAODTrack * part)
{
  // check if the track status flags are set
  
  UInt_t status=((AliAODTrack*)part)->GetStatus();
  if ((status & fTrackStatus) == fTrackStatus)
    return kTRUE;
  return kFALSE;
}
//________________________________________________________________________

Bool_t AliTwoParticlePIDCorr::AcceptEventCentralityWeight(Double_t centrality)
{
  // rejects "randomly" events such that the centrality gets flat
  // uses fCentralityWeights histogram

  // TODO code taken and adapted from AliRDHFCuts; waiting for general class AliCentralityFlattening
  
  Double_t weight = fCentralityWeights->GetBinContent(fCentralityWeights->FindBin(centrality));
  Double_t centralityDigits = centrality*100. - (Int_t)(centrality*100.);
  
  Bool_t result = kFALSE;
  if (centralityDigits < weight) 
    result = kTRUE;
  
  AliInfo(Form("Centrality: %f; Digits: %f; Weight: %f; Result: %d", centrality, centralityDigits, weight, result));
  
  return result;
}

//____________________________________________________________________
void AliTwoParticlePIDCorr::ShiftTracks(TObjArray* tracks, Double_t angle)
{
  // shifts the phi angle of all tracks by angle
  // 0 <= angle <= 2pi
  
  for (Int_t i=0; i<tracks->GetEntriesFast(); ++i) 
  {
   LRCParticlePID *part=(LRCParticlePID*)(tracks->UncheckedAt(i));

    Double_t newAngle = part->Phi() + angle; 
    if (newAngle >= TMath::TwoPi())
      newAngle -= TMath::TwoPi();
    
    part->SetPhi(newAngle);
  }
}


//________________________________________________________________________
void  AliTwoParticlePIDCorr::SetVZEROCalibrationFile(const char* filename,const char* lhcPeriod) {
  //Function to setup the VZERO gain equalization
    //============Get the equilization map============//
  TFile *calibrationFile = TFile::Open(filename);
  if((!calibrationFile)||(!calibrationFile->IsOpen())) {
    Printf("No calibration file found!!!");
    return;
  }

  TList *list = dynamic_cast<TList *>(calibrationFile->Get(lhcPeriod));
  if(!list) {
    Printf("Calibration TList not found!!!");
    return;
  }

  fHistVZEROAGainEqualizationMap = dynamic_cast<TH1F *>(list->FindObject("gHistVZEROAGainEqualizationMap"));
  if(!fHistVZEROAGainEqualizationMap) {
    Printf("VZERO-A calibration object not found!!!");
    return;
  }
  fHistVZEROCGainEqualizationMap = dynamic_cast<TH1F *>(list->FindObject("gHistVZEROCGainEqualizationMap"));
  if(!fHistVZEROCGainEqualizationMap) {
    Printf("VZERO-C calibration object not found!!!");
    return;
  }

  fHistVZEROChannelGainEqualizationMap = dynamic_cast<TH2F *>(list->FindObject("gHistVZEROChannelGainEqualizationMap"));
  if(!fHistVZEROChannelGainEqualizationMap) {
    Printf("VZERO channel calibration object not found!!!");
    return;
  }
}

//________________________________________________________________________
Double_t AliTwoParticlePIDCorr::GetChannelEqualizationFactor(Int_t run,Int_t channel) {
  //
  if(!fHistVZEROAGainEqualizationMap) return 1.0;

  for(Int_t iBinX = 1; iBinX <= fHistVZEROChannelGainEqualizationMap->GetNbinsX(); iBinX++) {
    Int_t gRunNumber = atoi(fHistVZEROChannelGainEqualizationMap->GetXaxis()->GetBinLabel(iBinX));
    if(gRunNumber == run)
      return fHistVZEROChannelGainEqualizationMap->GetBinContent(iBinX,channel+1);
  }

  return 1.0;
}

//________________________________________________________________________
Double_t AliTwoParticlePIDCorr::GetEqualizationFactor(Int_t run, const char* side) {
  //
  if(!fHistVZEROAGainEqualizationMap) return 1.0;

  TString gVZEROSide = side;
  for(Int_t iBinX = 1; iBinX < fHistVZEROAGainEqualizationMap->GetNbinsX(); iBinX++) {
    Int_t gRunNumber = atoi(fHistVZEROAGainEqualizationMap->GetXaxis()->GetBinLabel(iBinX));
    //cout<<"Looking for run "<<run<<" - current run: "<<gRunNumber<<endl;
    if(gRunNumber == run) {
      if(gVZEROSide == "A") 
	return fHistVZEROAGainEqualizationMap->GetBinContent(iBinX);
      else if(gVZEROSide == "C") 
	return fHistVZEROCGainEqualizationMap->GetBinContent(iBinX);
    }
  }

  return 1.0;
}
//________________________________________________________________________
Double_t AliTwoParticlePIDCorr::GetReferenceMultiplicityVZEROFromAOD(AliVEvent *mainevent){
  //Function that returns the reference multiplicity from AODs (data or reco MC, Not for Truth)
  //Different ref. mult. implemented: V0M, V0A, V0C, TPC
  if(!mainevent) return -1;

      AliAODEvent* event = dynamic_cast<AliAODEvent*>(mainevent);

  Double_t gRefMultiplicity = 0., gRefMultiplicityTPC = 0.;
  Double_t gRefMultiplicityVZERO = 0., gRefMultiplicityVZEROA = 0., gRefMultiplicityVZEROC = 0.;

  AliAODHeader *header = dynamic_cast<AliAODHeader *>(event->GetHeader());
  if(!header) {
    Printf("ERROR: AOD header not available");
    return -999;
  }
  Int_t gRunNumber = header->GetRunNumber();
 Float_t bSign1=header->GetMagneticField() ;//for dca cut in ClassifyTrack(), i.e in track loop


 for (Int_t itrk = 0; itrk < event->GetNumberOfTracks(); itrk++) 
{ //track loop starts for TObjArray(containing track and event information) filling; used for correlation function calculation 
  AliAODTrack* track = dynamic_cast<AliAODTrack*>(event->GetTrack(itrk));
  if (!track) continue;
  Int_t tracktype=ClassifyTrack(track,trkVtx,bSign1,kFALSE);//don't fill the histos here
  if(tracktype!=1) continue; 

  if(!track) continue;//for safety

    gRefMultiplicityTPC += 1.0;

 }//track looop ends

 if(fCentralityMethod == "V0A_MANUAL" || fCentralityMethod == "V0M_MANUAL" || fCentralityMethod == "V0C_MANUAL" ){
  //VZERO segmentation in two detectors (0-31: VZERO-C, 32-63: VZERO-A)
  for(Int_t iChannel = 0; iChannel < 64; iChannel++) {
    fHistVZEROSignal->Fill(iChannel,event->GetVZEROEqMultiplicity(iChannel));
    
    if(iChannel < 32) 
      gRefMultiplicityVZEROC += event->GetVZEROEqMultiplicity(iChannel);
    else if(iChannel >= 32) 
      gRefMultiplicityVZEROA += event->GetVZEROEqMultiplicity(iChannel);
  }//loop over PMTs
  
  //Equalization of gain
  Double_t gFactorA = GetEqualizationFactor(gRunNumber,"A");
  if(gFactorA != 0)
    gRefMultiplicityVZEROA /= gFactorA;
  Double_t gFactorC = GetEqualizationFactor(gRunNumber,"C");
  if(gFactorC != 0)
    gRefMultiplicityVZEROC /= gFactorC;
  if((gFactorA != 0)&&(gFactorC != 0)) 
    gRefMultiplicityVZERO = (gRefMultiplicityVZEROA/gFactorA)+(gRefMultiplicityVZEROC/gFactorC);

      
  //EQVZERO vs TPC multiplicity
  fHistEQVZEROvsTPCmultiplicity->Fill(gRefMultiplicityVZERO,gRefMultiplicityTPC);
  fHistEQVZEROAvsTPCmultiplicity->Fill(gRefMultiplicityVZEROA,gRefMultiplicityTPC);
  fHistEQVZEROCvsTPCmultiplicity->Fill(gRefMultiplicityVZEROC,gRefMultiplicityTPC);

  //EQVZERO vs VZERO multiplicity
  fHistVZEROCvsEQVZEROCmultiplicity->Fill(event->GetVZEROData()->GetMTotV0C(),gRefMultiplicityVZEROC);
  fHistVZEROAvsEQVZEROAmultiplicity->Fill(event->GetVZEROData()->GetMTotV0A(),gRefMultiplicityVZEROA);

  //VZEROC vs VZEROA multiplicity
  fHistVZEROCvsVZEROAmultiplicity->Fill(event->GetVZEROData()->GetMTotV0C(),event->GetVZEROData()->GetMTotV0A());

  //EQVZEROC vs EQVZEROA multiplicity
  fHistEQVZEROCvsEQVZEROAmultiplicity->Fill(gRefMultiplicityVZEROC,gRefMultiplicityVZEROA);
 }
    fHistRefmult->Fill(3.,gRefMultiplicityTPC);
    fHistRefmult->Fill(2.,gRefMultiplicityVZERO);
    fHistRefmult->Fill(0.,gRefMultiplicityVZEROA);
    fHistRefmult->Fill(1.,gRefMultiplicityVZEROC);


 if(fCentralityMethod == "TRACKS_MANUAL") gRefMultiplicity = gRefMultiplicityTPC;
   
 else if(fCentralityMethod == "V0M_MANUAL") gRefMultiplicity = gRefMultiplicityVZERO;

 else if(fCentralityMethod == "V0A_MANUAL")  gRefMultiplicity = gRefMultiplicityVZEROA;
   
 else if(fCentralityMethod == "V0C_MANUAL") gRefMultiplicity = gRefMultiplicityVZEROC;
 
 else gRefMultiplicity = gRefMultiplicityTPC;
 
  return gRefMultiplicity;
}

//-------------------------------------------------------------------------------------------------------
Double_t AliTwoParticlePIDCorr::GetRefMultiOrCentrality(AliVEvent *mainevent, Bool_t truth){

  if(!mainevent) return -1;
  // get centrality object and check quality
  Double_t cent_v0=-1;
  Bool_t shift_to_TRACKS_MANUAL=kFALSE;//in case of wrong setting automatic shift to Tracks_Manual method

  Double_t gRefMultiplicityTPC_Truth = 0.;
  Double_t gRefMultiplicityVZERO_Truth = 0., gRefMultiplicityVZEROA_Truth = 0., gRefMultiplicityVZEROC_Truth = 0.;

  if(fAnalysisType == "AOD"|| fAnalysisType == "MCAOD") { //centrality in AOD header  //++++++++++++++
      AliAODEvent* event = dynamic_cast<AliAODEvent*>(mainevent);

if(fCentralityMethod=="V0M" || fCentralityMethod=="V0A" || fCentralityMethod=="V0C" || fCentralityMethod=="CL1" || fCentralityMethod=="ZNA" || fCentralityMethod=="V0AEq" || fCentralityMethod=="V0CEq" || fCentralityMethod=="V0MEq")//for PbPb, pPb, pp7TeV(still to be introduced)//data or RecoMC and also for TRUTH
    {
                   
if(fSampleType=="pp_7" && fPPVsMultUtils)
   {//for pp 7 TeV case only using Alianalysisutils class
	if(fAnalysisUtils) cent_v0 = fAnalysisUtils->GetMultiplicityPercentile((AliVEvent*)event,fCentralityMethod);
	else cent_v0 = -1;
  fHistCentStats->Fill(0.,fAnalysisUtils->GetMultiplicityPercentile((AliVEvent*)event,"V0A"));
  fHistCentStats->Fill(1.,fAnalysisUtils->GetMultiplicityPercentile((AliVEvent*)event,"V0C"));
  fHistCentStats->Fill(2.,fAnalysisUtils->GetMultiplicityPercentile((AliVEvent*)event,"V0M"));   
  fHistCentStats->Fill(3.,fAnalysisUtils->GetMultiplicityPercentile((AliVEvent*)event,"V0AEq"));//only available for LHC10d at present (Quantile info)
  fHistCentStats->Fill(4.,fAnalysisUtils->GetMultiplicityPercentile((AliVEvent*)event,"V0CEq"));//only available for LHC10d at present (Quantile info)
  fHistCentStats->Fill(5.,fAnalysisUtils->GetMultiplicityPercentile((AliVEvent*)event,"V0MEq"));//only available for LHC10d at present (Quantile info)
      }
              
else if(fSampleType=="pPb" || fSampleType=="PbPb")
  {
  AliCentrality *centralityObj=0;
  AliAODHeader *header = (AliAODHeader*) event->GetHeader();
  if(!header) return -1;
  centralityObj = header->GetCentralityP();
  // if (centrality->GetQuality() != 0) return ;
  if(centralityObj){
  fHistCentStats->Fill(0.,centralityObj->GetCentralityPercentile("V0A"));
  fHistCentStats->Fill(1.,centralityObj->GetCentralityPercentile("V0C"));
  fHistCentStats->Fill(2.,centralityObj->GetCentralityPercentile("V0M"));
  fHistCentStats->Fill(3.,centralityObj->GetCentralityPercentile("V0AEq"));//only available for LHC10d at present (Quantile info)
  fHistCentStats->Fill(4.,centralityObj->GetCentralityPercentile("V0CEq"));//only available for LHC10d at present (Quantile info)
  fHistCentStats->Fill(5.,centralityObj->GetCentralityPercentile("V0MEq"));//only available for LHC10d at present (Quantile info)

  fHistCentStats->Fill(6.,centralityObj->GetCentralityPercentile("CL1"));
  fHistCentStats->Fill(7.,centralityObj->GetCentralityPercentile("ZNA")); 

   cent_v0 = centralityObj->GetCentralityPercentile(fCentralityMethod);
    }
  else cent_v0= -1;    
  }
 else shift_to_TRACKS_MANUAL=kTRUE;    

    }//centralitymethod condition

 else if(fCentralityMethod=="V0M_MANUAL" || fCentralityMethod=="V0A_MANUAL" || fCentralityMethod=="V0C_MANUAL" || fCentralityMethod=="TRACKS_MANUAL" || shift_to_TRACKS_MANUAL)//data or RecoMc and also for TRUTH
   {
     if(!truth){//for data or RecoMC
       cent_v0 = GetReferenceMultiplicityVZEROFromAOD((AliVEvent*)event);
   }//for data or RecoMC

    if(truth && (fAnalysisType == "MCAOD")){//condition for TRUTH case
//check for TClonesArray(truth track MC information)
fArrayMC = dynamic_cast<TClonesArray*>(event->FindListObject(AliAODMCParticle::StdBranchName()));
  if (!fArrayMC) {
    //AliFatal("Error: MC particles branch not found!\n");
    return -1;
  }
//now process the truth particles(for both efficiency & correlation function)
Int_t nMCTrack = fArrayMC->GetEntriesFast();
  
for (Int_t iMC = 0; iMC < nMCTrack; iMC++) 
{//MC truth track loop starts
    
AliAODMCParticle *partMC = (AliAODMCParticle*) fArrayMC->At(iMC);
    
    if(!partMC){
      AliError(Form("ERROR: Could not retrieve AODMCtrack %d",iMC));
      continue;
    }

//consider only charged particles
    if(partMC->Charge() == 0) continue;

//consider only primary particles; neglect all secondary particles including from weak decays
 if(fselectprimaryTruth && !partMC->IsPhysicalPrimary()) continue;


//remove injected signals(primaries above <maxLabel>)
 if (fInjectedSignals && partMC->GetLabel() >= skipParticlesAbove) continue;

//remove duplicates
  Bool_t isduplicate=kFALSE;
 if (fRemoveDuplicates)
   { 
 for (Int_t j=iMC+1; j<nMCTrack; ++j) 
   {//2nd trutuh loop starts
AliAODMCParticle *partMC2 = (AliAODMCParticle*) fArrayMC->At(j);
   if(!partMC2){
      AliError(Form("ERROR: Could not retrieve AODMCtrack %d",j));
      continue;
    }    
 if (partMC->GetLabel() == partMC2->GetLabel())
   {
isduplicate=kTRUE;
 break;  
   }    
   }//2nd truth loop ends
   }
 if(fRemoveDuplicates && isduplicate) continue;//remove duplicates


       //  if (fCentralityMethod=="V0M_MANUAL") 
	if((partMC->Eta() < 5.1 && partMC->Eta() > 2.8) || (partMC->Eta() > -3.7 && partMC->Eta() < -1.7)) gRefMultiplicityVZERO_Truth+=1;
	//   else if (fCentralityMethod=="V0A_MANUAL") {
	if(partMC->Eta() < 5.1 && partMC->Eta() > 2.8)  gRefMultiplicityVZEROA_Truth+=1;
	// else if (fCentralityMethod=="V0C_MANUAL") {
	if(partMC->Eta() < -1.7 && partMC->Eta() > -3.7)  gRefMultiplicityVZEROC_Truth+=1;
	//else if (fCentralityMethod=="TRACKS_MANUAL") {
        if (partMC->Eta() > fmineta && partMC->Eta() < fmaxeta) {
	  if (partMC->Pt() > fminPt &&  partMC->Pt() < fmaxPt) gRefMultiplicityTPC_Truth+=1;
           }
     
 }//truth track loop ends

 fHistRefmult->Fill(3.,gRefMultiplicityTPC_Truth);
 fHistRefmult->Fill(2.,gRefMultiplicityVZERO_Truth); 
 fHistRefmult->Fill(0.,gRefMultiplicityVZEROA_Truth);
 fHistRefmult->Fill(1.,gRefMultiplicityVZEROC_Truth);

 if(fCentralityMethod == "TRACKS_MANUAL")   cent_v0=gRefMultiplicityTPC_Truth;

 else if(fCentralityMethod == "V0M_MANUAL")  cent_v0=gRefMultiplicityVZERO_Truth;

 else if(fCentralityMethod == "V0A_MANUAL")  cent_v0=gRefMultiplicityVZEROA_Truth;

 else if(fCentralityMethod == "V0C_MANUAL")  cent_v0=gRefMultiplicityVZEROC_Truth;
 
 else      cent_v0=gRefMultiplicityTPC_Truth;

    }//condition for TRUTH case

   }//end of MANUAL method

 else if ((fAnalysisType == "MCAOD") && (fCentralityMethod == "MC_b"))//TRUTH MC in AOD production
    {
    AliAODMCHeader* header = (AliAODMCHeader*) event->GetList()->FindObject(AliAODMCHeader::StdBranchName());
    if (!header)
    return -1;
    
      AliGenEventHeader* eventHeader = header->GetCocktailHeader(0);  // get first MC header from either ESD/AOD (including cocktail header if available)
      if (!eventHeader)
      {
	// We avoid AliFatal here, because the AOD productions sometimes have events where the MC header is missing 
	// (due to unreadable Kinematics) and we don't want to loose the whole job because of a few events
	AliError("Event header not found. Skipping this event.");
	return -1;
      }
      
      AliCollisionGeometry* collGeometry = dynamic_cast<AliCollisionGeometry*> (eventHeader);
     
      
      if (collGeometry) {
  cent_v0 = collGeometry->ImpactParameter();
  fhistImpactParm->Fill(cent_v0);
      }
      else cent_v0=-1.;
    }//end of Impact parameter method

//else return -1
 else cent_v0=-1.;
}//AOD OR MCAOD condition


else if(fAnalysisType == "MC"){
    Double_t gImpactParameter = -1.;
    AliMCEvent *gMCEvent = dynamic_cast<AliMCEvent*>(mainevent);
    if(gMCEvent){
      AliCollisionGeometry* headerH = dynamic_cast<AliCollisionGeometry*>(gMCEvent->GenEventHeader());      
      if(headerH){
	gImpactParameter = headerH->ImpactParameter();

 for(Int_t iParticle = 0; iParticle < gMCEvent->GetNumberOfPrimaries(); iParticle++) {
      AliMCParticle* track = dynamic_cast<AliMCParticle *>(gMCEvent->GetTrack(iParticle));
      if (!track) {
	AliError(Form("Could not receive particle %d", iParticle));
	continue;
      }
      
      //exclude non stable particles
      if(!(gMCEvent->IsPhysicalPrimary(iParticle))) continue;

      if(track->Charge() == 0) continue;

 //  if (fCentralityMethod=="V0M_MANUAL") 
	if((track->Eta() < 5.1 && track->Eta() > 2.8) || (track->Eta() > -3.7 && track->Eta() < -1.7)) gRefMultiplicityVZERO_Truth+=1;
	//   else if (fCentralityMethod=="V0A_MANUAL") {
	if(track->Eta() < 5.1 && track->Eta() > 2.8)  gRefMultiplicityVZEROA_Truth+=1;
	// else if (fCentralityMethod=="V0C_MANUAL") {
	if(track->Eta() < -1.7 && track->Eta() > -3.7)  gRefMultiplicityVZEROC_Truth+=1;
	//else if (fCentralityMethod=="TRACKS_MANUAL") {
        if (track->Eta() > fmineta && track->Eta() < fmaxeta) {
	  if (track->Pt() > fminPt &&  track->Pt() < fmaxPt) gRefMultiplicityTPC_Truth+=1;}

     }//loop over primaries

 fHistRefmult->Fill(3.,gRefMultiplicityTPC_Truth);
 fHistRefmult->Fill(2.,gRefMultiplicityVZERO_Truth); 
 fHistRefmult->Fill(0.,gRefMultiplicityVZEROA_Truth);
 fHistRefmult->Fill(1.,gRefMultiplicityVZEROC_Truth);
 if (fCentralityMethod == "MC_b"){
       cent_v0=gImpactParameter;
       fhistImpactParm->Fill(gImpactParameter);
       fhistImpactParmvsMult->Fill(gImpactParameter,gRefMultiplicityTPC_Truth);
 }

 else if(fCentralityMethod == "TRACKS_MANUAL")   cent_v0=gRefMultiplicityTPC_Truth;

 else if(fCentralityMethod == "V0M_MANUAL")  cent_v0=gRefMultiplicityVZERO_Truth;

 else if(fCentralityMethod == "V0A_MANUAL")  cent_v0=gRefMultiplicityVZEROA_Truth;

 else if(fCentralityMethod == "V0C_MANUAL")  cent_v0=gRefMultiplicityVZEROC_Truth;
 
 else      cent_v0=gImpactParameter;//default value is the impact parameter
    }//MC event header
    }//MC event cast
    else   cent_v0 = -1.;
  }//MC condition

  else{
    cent_v0 = -1.;
  }
 return cent_v0;
}
//-----------------------------------------------------------------------------------------
Double_t AliTwoParticlePIDCorr::GetAcceptedEventMultiplicity(AliVEvent *event,Bool_t truth){
  //do the event selection(zvtx, pileup, centrality/multiplicity cut) and then return the value of the centrality of that event
  if(!event) return -1;

  Float_t gRefMultiplicity = -1.;

   //***********************************SOURCE CODE-TASKBFPsi

   // Event Vertex MC
    if(fAnalysisType == "MC") {
    AliMCEvent *mcevent = dynamic_cast<AliMCEvent*>(event);
      if(!mcevent) {
       AliError("mcEvent not available");
      return -1.;
      }
      
      if(mcevent){
	AliGenEventHeader *header = dynamic_cast<AliGenEventHeader*>(mcevent->GenEventHeader());
	if(header){  
	  TArrayF gVertexArray;
	  header->PrimaryVertex(gVertexArray);
 //count events having a proper vertex
          fEventCounter->Fill(5);	  

fHistQA[0]->Fill((gVertexArray.At(0)));fHistQA[1]->Fill((gVertexArray.At(1)));fHistQA[2]->Fill((gVertexArray.At(2))); //for trkVtx only before vertex cut |zvtx|<10 cm

       if(TMath::Abs(gVertexArray.At(0)) < fVxMax_MC) {
	    if(TMath::Abs(gVertexArray.At(1)) < fVyMax_MC) {
	      if(TMath::Abs(gVertexArray.At(2)) < fVzMax_MC) {
//count events after vertex cut
                 fEventCounter->Fill(7);
 fHistQA[3]->Fill((gVertexArray.At(0)));fHistQA[4]->Fill((gVertexArray.At(1)));fHistQA[5]->Fill((gVertexArray.At(2)));//after vertex cut,for trkVtx only

		// get the reference multiplicty or centrality
 gRefMultiplicity = GetRefMultiOrCentrality((AliVEvent*)mcevent,kFALSE);//2nd argument has no meaning

               if(gRefMultiplicity<0) return -1;

 // take events only within the  multiplicity class mentioned in the custom binning
  if(gRefMultiplicity < fmincentmult || gRefMultiplicity > fmaxcentmult) return -1;

//count events having proper centrality/ref multiplicity
                    fEventCounter->Fill(9);

	      }//Vz cut
	    }//Vy cut
	  }//Vx cut
	}//header    
      }//MC event object
    }//MC

    else  if(fAnalysisType == "MCAOD" || fAnalysisType == "AOD"){// if(fAnalysisType == "MCAOD" || fAnalysisType == "AOD"
  //vertex selection(is it fine for PP?)
  AliAODEvent* aod = dynamic_cast<AliAODEvent*>(event);


 // check first event in chunk (is not needed for new reconstructions)
  if(fCheckFirstEventInChunk){
    AliAnalysisUtils ut;
    if(ut.IsFirstEventInChunk(aod)) 
      return -1.;
  }

 if(frejectPileUp){
    AliAnalysisUtils ut;
    ut.SetUseMVPlpSelection(kTRUE);
    ut.SetUseOutOfBunchPileUp(kTRUE);
    if(ut.IsPileUpEvent(aod))
      return -1.;
  }

//count events after pileup selection
   fEventCounter->Fill(3);

 if (fVertextype==1){//for pPb basically if(!fAnalysisUtils->IsVertexSelected2013pA(aod)) return; 
   trkVtx = aod->GetPrimaryVertex();
  if (!trkVtx || trkVtx->GetNContributors()<=0) return -1;
  TString vtxTtl = trkVtx->GetTitle();
  if (!vtxTtl.Contains("VertexerTracks")) return -1;
   zvtx = trkVtx->GetZ();
  const AliAODVertex* spdVtx = aod->GetPrimaryVertexSPD();
  if (!spdVtx || spdVtx->GetNContributors()<=0) return -1;
  TString vtxTyp = spdVtx->GetTitle();
  Double_t cov[6]={0};
  spdVtx->GetCovarianceMatrix(cov);
  Double_t zRes = TMath::Sqrt(cov[5]);
  if (vtxTyp.Contains("vertexer:Z") && (zRes>0.25)) return -1;
   if (TMath::Abs(spdVtx->GetZ() - trkVtx->GetZ())>0.5) return -1;
  }
  else if(fVertextype==2) {//for pp and pb-pb case , taken from Jan's code
	Int_t nVertex = aod->GetNumberOfVertices();
  	if( nVertex > 0 ) { 
     trkVtx = aod->GetPrimaryVertex();
		Int_t nTracksPrim = trkVtx->GetNContributors();
                 zvtx = trkVtx->GetZ();
  		//if (fDebug > 1)AliInfo(Form(" Vertex in = %f with %d particles by  %s data ...",zVertex,nTracksPrim,vertex->GetName()));
  		// Reject TPC only vertex
		TString name(trkVtx->GetName());
		if (name.CompareTo("PrimaryVertex") && name.CompareTo("SPDVertex"))return -1;

		// Select a quality vertex by number of tracks?
  		if( nTracksPrim < fnTracksVertex ) {
		  //if (fDebug > 1) AliInfo(" Primary-vertex Selection: event REJECTED ...");
  			return -1;
  			}
  		// TODO remove vertexer Z events with dispersion > 0.02: Doesn't work for AOD at present
                //if (strcmp(vertex->GetTitle(), "AliVertexerZ") == 0 && vertex->GetDispersion() > 0.02)
                //  return kFALSE;
		//	if (fDebug > 1) AliInfo(" Primary-vertex Selection: event ACCEPTED...");
	}
	else return -1;

  }
 else if(fVertextype==0){//default case
  trkVtx =(AliAODVertex*) aod->GetPrimaryVertex();
  if (!trkVtx || trkVtx->GetNContributors()<=0) return -1;//proper number of contributors
  zvtx = trkVtx->GetZ();
  Double32_t fCov[6];
  trkVtx->GetCovarianceMatrix(fCov);
  if(fCov[5] == 0) return -1;//proper vertex resolution
  }
  else {
   AliInfo("Wrong Vertextype set for Primary-vertex Selection: event REJECTED ...");
   return -1;//as there is no proper sample type
  }

fHistQA[0]->Fill((trkVtx->GetX()));fHistQA[1]->Fill((trkVtx->GetY()));fHistQA[2]->Fill((trkVtx->GetZ())); //for trkVtx only before vertex cut |zvtx|<10 cm

//count events having a proper vertex
   fEventCounter->Fill(5);

 if (TMath::Abs(zvtx) > fzvtxcut) return -1;

//count events after vertex cut
  fEventCounter->Fill(7);


 //if(!fAnalysisUtils->IsVertexSelected2013pA(aod)) return;
  
 fHistQA[3]->Fill((trkVtx->GetX()));fHistQA[4]->Fill((trkVtx->GetY()));fHistQA[5]->Fill((trkVtx->GetZ()));//after vertex cut,for trkVtx only

 //get the centrality or multiplicity
 if(truth)  {gRefMultiplicity = GetRefMultiOrCentrality((AliVEvent*)aod,kTRUE);}//kTRUE-->for Truth case(only meaningful in case of ref multiplicity,in case of centrality it has no meaning)

 else {gRefMultiplicity = GetRefMultiOrCentrality((AliVEvent*)aod,kFALSE);}//kFALSE-->for data and RecoMc case(only meaningful in case of ref multiplicity,in case of centrality it has no meaning)

  if(gRefMultiplicity<0) return -1;

 // take events only within the  multiplicity class mentioned in the custom binning
  if(gRefMultiplicity < fmincentmult || gRefMultiplicity > fmaxcentmult) return -1;

//count events having proper centrality/ref multiplicity
  fEventCounter->Fill(9);


// centrality weighting (optional for 2011 if central and semicentral triggers are used);only for data and recoMC
 if (fCentralityWeights && !AcceptEventCentralityWeight(gRefMultiplicity))//**********************
  {
    AliInfo(Form("Rejecting event because of centrality weighting: %f", gRefMultiplicity));
    return -1;
  }

//count events after rejection due to centrality weighting
  fEventCounter->Fill(11);

    }
    else gRefMultiplicity=-1;

  return gRefMultiplicity;

}
//--------------------------------------------------------------------------------------------------------
Float_t AliTwoParticlePIDCorr::GetEventPlane(AliVEvent *mainevent,Bool_t truth, Double_t v0Centr)
{
  Float_t eventplane=999.;
  // Get the event plane
  if(!mainevent) return 999.;


 //MC: from reaction plane
  if(fAnalysisType == "MC"){
    if(!mainevent) {
      AliError("mcEvent not available");
      return 999.;
    }

    AliMCEvent *gMCEvent = dynamic_cast<AliMCEvent*>(mainevent);
    if(gMCEvent){
      AliCollisionGeometry* headerH = dynamic_cast<AliCollisionGeometry*>(gMCEvent->GenEventHeader());    
      if (headerH) {
 Int_t iC = -1;  
    // Impact parameter bins(it is only for Pb-Pb)
    if(v0Centr < 3.50) iC = 0;
    else if(v0Centr < 4.94) iC = 1;
    else if(v0Centr < 6.98) iC = 2;
    else if(v0Centr < 8.55) iC = 3;
    else if(v0Centr < 9.88) iC = 4;
    else if(v0Centr < 11.04) iC = 5;
    else if(v0Centr < 12.09) iC = 6;
    else if(v0Centr < 13.05) iC = 7;
    else iC = 8;

	eventplane = headerH->ReactionPlaneAngle();
	if(eventplane > TMath::Pi()/2 && eventplane <=  TMath::Pi()*3/2) eventplane-=TMath::Pi(); 
	 if(eventplane > TMath::Pi()*3/2) eventplane-=2*TMath::Pi();
         fHistEventPlaneTruth->Fill(iC,eventplane);
	//gReactionPlane *= TMath::RadToDeg();
      }//MC header
    }//MC event cast
  }//MC
  
  else  if(fAnalysisType == "MCAOD" || fAnalysisType == "AOD") {
 //reset Q vector info	

  AliAODEvent* event = dynamic_cast<AliAODEvent*>(mainevent);


    Int_t run = event->GetRunNumber();

    if(run != fRun){
	// Load the calibrations run dependent
      if(! fIsAfter2011) OpenInfoCalbration(run);
      fRun=run;
    }


  Int_t iC = -1;  
  if (v0Centr > 80) return 999.; // analysis only for 0-80% centrality classes
 // centrality bins
    if(v0Centr < 5) iC = 0;
    else if(v0Centr < 10) iC = 1;
    else if(v0Centr < 20) iC = 2;
    else if(v0Centr < 30) iC = 3;
    else if(v0Centr < 40) iC = 4;
    else if(v0Centr < 50) iC = 5;
    else if(v0Centr < 60) iC = 6;
    else if(v0Centr < 70) iC = 7;
    else iC = 8;


     Int_t iCcal = iC;

 //reset Q vector info	 
    Double_t Qxa2 = 0, Qya2 = 0;
    Double_t Qxc2 = 0, Qyc2 = 0;
    Double_t Qxa3 = 0, Qya3 = 0;
    Double_t Qxc3 = 0, Qyc3 = 0;


  //MC: from reaction plane
 if(truth)
{
    AliAODMCHeader* header = (AliAODMCHeader*) event->GetList()->FindObject(AliAODMCHeader::StdBranchName());
    if (header){
      evplaneMC = header->GetReactionPlaneAngle();//[0, 360]
        //make it within [-pi/2,pi/2] to make it general
	if(evplaneMC > TMath::Pi()/2 && evplaneMC <=  TMath::Pi()*3/2) evplaneMC-=TMath::Pi(); 
	 if(evplaneMC > TMath::Pi()*3/2) evplaneMC-=2*TMath::Pi();
         fHistEventPlaneTruth->Fill(iC,evplaneMC);
	/*
        AliGenEventHeader* eventHeader = header->GetCocktailHeader(0);  // get first MC header from either ESD/AOD (including cocktail header if available)
      if (eventHeader)
      {
	      
	AliCollisionGeometry* collGeometry = dynamic_cast<AliCollisionGeometry*> (eventHeader);     
      
	if (collGeometry){//get the reaction plane from MC header   
	  gReactionPlane = collGeometry->ReactionPlaneAngle();//[0,180]
 }
      }
	*/   
     //taken from vnv0 code(get the TPC, V0A, V0C event plane using truth tracks)
       TClonesArray *mcArray = NULL;
	mcArray = (TClonesArray*)event->GetList()->FindObject(AliAODMCParticle::StdBranchName());
	if(mcArray){
	  Float_t QxMCv2[3] = {0,0,0};
	  Float_t QyMCv2[3] = {0,0,0};
	  Float_t QxMCv3[3] = {0,0,0};
	  Float_t QyMCv3[3] = {0,0,0};
	  Float_t EvPlaneMCV2[3] = {0,0,0};
	  Float_t EvPlaneMCV3[3] = {0,0,0};
	  Float_t etaMin[3] = {2.8,-3.6,-0.8}; // A-side, C-side M-barrel
	  Float_t etaMax[3] = {4.88,-1.8,0.8};

	  // analysis on MC tracks
	  Int_t nMCtrack = mcArray->GetEntries() ;

	  // EP computation with MC tracks
	  for(Int_t iT=0;iT < nMCtrack;iT++){
	    AliAODMCParticle *mctr = (AliAODMCParticle*) mcArray->At(iT);
	    if(!mctr || !(mctr->IsPrimary()) || !(mctr->Charge()) || mctr->Pt() < 0.2) continue;
	    
	    Float_t eta = mctr->Eta();
  for(Int_t iD=0;iD<3;iD++){
	      if(eta > etaMin[iD] && eta < etaMax[iD]){
		Float_t phi = mctr->Phi();
		QxMCv2[iD] += TMath::Cos(2*phi);
		QyMCv2[iD] += TMath::Sin(2*phi);
		QxMCv3[iD] += TMath::Cos(3*phi);
		QyMCv3[iD] += TMath::Sin(3*phi);
	      }
	    }
	  }

	    EvPlaneMCV2[0] = TMath::ATan2(QyMCv2[0],QxMCv2[0])/2.;
	    EvPlaneMCV2[1] = TMath::ATan2(QyMCv2[1],QxMCv2[1])/2.;
	    EvPlaneMCV2[2] = TMath::ATan2(QyMCv2[2],QxMCv2[2])/2.;
	    fHResMA2->Fill(Double_t(iC), TMath::Cos(2*(EvPlaneMCV2[2]-EvPlaneMCV2[0])));
	    fHResMC2->Fill(Double_t(iC), TMath::Cos(2*(EvPlaneMCV2[2]-EvPlaneMCV2[1])));
	    fHResAC2->Fill(Double_t(iC), TMath::Cos(2*(EvPlaneMCV2[0]-EvPlaneMCV2[1])));
            fgPsi2v0aMC = EvPlaneMCV2[0];
            fgPsi2v0cMC = EvPlaneMCV2[1];
            fgPsi2tpcMC = EvPlaneMCV2[2];
	  

	    EvPlaneMCV3[0] = TMath::ATan2(QyMCv3[0],QxMCv3[0])/3.;
	    EvPlaneMCV3[1] = TMath::ATan2(QyMCv3[1],QxMCv3[1])/3.;
	    EvPlaneMCV3[2] = TMath::ATan2(QyMCv3[2],QxMCv3[2])/3.;
	    fHResMA3->Fill(Double_t(iC), TMath::Cos(3*(EvPlaneMCV3[2]-EvPlaneMCV3[0])));
	    fHResMC3->Fill(Double_t(iC), TMath::Cos(3*(EvPlaneMCV3[2]-EvPlaneMCV3[1])));
	    fHResAC3->Fill(Double_t(iC), TMath::Cos(3*(EvPlaneMCV3[0]-EvPlaneMCV3[1])));
            fgPsi3v0aMC = EvPlaneMCV3[0];
            fgPsi3v0cMC = EvPlaneMCV3[1];
            fgPsi3tpcMC = EvPlaneMCV3[2];
	  
	}    
    }

    }
 else{
    Int_t nAODTracks = event->GetNumberOfTracks();

// TPC EP needed for resolution studies (TPC subevent)
   //AliEventplane * ep = (fAOD->GetHeader())->GetEventplaneP();
   //Double_t psiTPC = ep->GetEventplane("Q", fAOD, 2); // in range of [0, pi]
    Double_t Qx2 = 0, Qy2 = 0;
    Double_t Qx3 = 0, Qy3 = 0;

    for(Int_t iT = 0; iT < nAODTracks; iT++) {
      
      AliAODTrack* aodTrack =(AliAODTrack*) event->GetTrack(iT);
      
      if (!aodTrack){
	continue;
      }
      
      Bool_t trkFlag = aodTrack->TestFilterBit(1);

      if ((TMath::Abs(aodTrack->Eta()) > 0.8) || (aodTrack->Pt() < 0.2) || (aodTrack->GetTPCNcls() < fNcluster)  || !trkFlag) 
	continue;
	
      Double_t b[2] = {-99., -99.};
      Double_t bCov[3] = {-99., -99., -99.};


      AliAODTrack param(*aodTrack);
      if (!param.PropagateToDCA(event->GetPrimaryVertex(), event->GetMagneticField(), 100., b, bCov)){
	continue;
      }
	    
      if ((TMath::Abs(b[0]) > 3.0) || (TMath::Abs(b[1]) > 2.4))
	continue;
      
      Qx2 += TMath::Cos(2*aodTrack->Phi()); 
      Qy2 += TMath::Sin(2*aodTrack->Phi());
      Qx3 += TMath::Cos(3*aodTrack->Phi()); 
      Qy3 += TMath::Sin(3*aodTrack->Phi());
      
    }
    
   Float_t evPlAng2 = TMath::ATan2(Qy2, Qx2)/2.;
   Float_t evPlAng3 = TMath::ATan2(Qy3, Qx3)/3.;

    fgPsi2tpc = evPlAng2;
    fgPsi3tpc = evPlAng3;

     fPhiRPTPC->Fill(iC,evPlAng2);
     fPhiRPTPCv3->Fill(iC,evPlAng3);



//V0 info    
    AliAODVZERO* aodV0 = event->GetVZEROData();

    for (Int_t iv0 = 0; iv0 < 64; iv0++) {
      Double_t phiV0 = TMath::PiOver4()*(0.5 + iv0 % 8);
      Float_t multv0 = aodV0->GetMultiplicity(iv0);

      if(! fIsAfter2011){
	if(fAnalysisType == "AOD"){//not for reco MC tracks, only for real data
	  if (iv0 < 32){ // V0C
	    Qxc2 += TMath::Cos(2*phiV0) * multv0*fV0Cpol/fMultV0->GetBinContent(iv0+1);
	    Qyc2 += TMath::Sin(2*phiV0) * multv0*fV0Cpol/fMultV0->GetBinContent(iv0+1);
	    Qxc3 += TMath::Cos(3*phiV0) * multv0*fV0Cpol/fMultV0->GetBinContent(iv0+1);
	    Qyc3 += TMath::Sin(3*phiV0) * multv0*fV0Cpol/fMultV0->GetBinContent(iv0+1);
	  } else {       // V0A
	    Qxa2 += TMath::Cos(2*phiV0) * multv0*fV0Apol/fMultV0->GetBinContent(iv0+1);
	    Qya2 += TMath::Sin(2*phiV0) * multv0*fV0Apol/fMultV0->GetBinContent(iv0+1);
	    Qxa3 += TMath::Cos(3*phiV0) * multv0*fV0Apol/fMultV0->GetBinContent(iv0+1);
	    Qya3 += TMath::Sin(3*phiV0) * multv0*fV0Apol/fMultV0->GetBinContent(iv0+1);
	  }
	}
	else{
	  if (iv0 < 32){ // V0C
	    Qxc2 += TMath::Cos(2*phiV0) * multv0;//*fV0Cpol/fMultV0->GetBinContent(iv0+1);
	    Qyc2 += TMath::Sin(2*phiV0) * multv0;//*fV0Cpol/fMultV0->GetBinContent(iv0+1);
	    Qxc3 += TMath::Cos(3*phiV0) * multv0;//*fV0Cpol/fMultV0->GetBinContent(iv0+1);
	    Qyc3 += TMath::Sin(3*phiV0) * multv0;//*fV0Cpol/fMultV0->GetBinContent(iv0+1);
	  } else {       // V0A
	    Qxa2 += TMath::Cos(2*phiV0) * multv0;//*fV0Apol/fMultV0->GetBinContent(iv0+1);
	    Qya2 += TMath::Sin(2*phiV0) * multv0;//*fV0Apol/fMultV0->GetBinContent(iv0+1);
	    Qxa3 += TMath::Cos(3*phiV0) * multv0;//*fV0Apol/fMultV0->GetBinContent(iv0+1);
	    Qya3 += TMath::Sin(3*phiV0) * multv0;//*fV0Apol/fMultV0->GetBinContent(iv0+1);
	  }
	}
      }
    }
   //grab for each centrality the proper histo with the Qx and Qy to do the recentering
    Double_t Qxamean2 = fMeanQ[iCcal][1][0];
    Double_t Qxarms2  = fWidthQ[iCcal][1][0];
    Double_t Qyamean2 = fMeanQ[iCcal][1][1];
    Double_t Qyarms2  = fWidthQ[iCcal][1][1];
    Double_t Qxamean3 = fMeanQv3[iCcal][1][0];
    Double_t Qxarms3  = fWidthQv3[iCcal][1][0];
    Double_t Qyamean3 = fMeanQv3[iCcal][1][1];
    Double_t Qyarms3  = fWidthQv3[iCcal][1][1];
    
    Double_t Qxcmean2 = fMeanQ[iCcal][0][0];
    Double_t Qxcrms2  = fWidthQ[iCcal][0][0];
    Double_t Qycmean2 = fMeanQ[iCcal][0][1];
    Double_t Qycrms2  = fWidthQ[iCcal][0][1];	
    Double_t Qxcmean3 = fMeanQv3[iCcal][0][0];
    Double_t Qxcrms3  = fWidthQv3[iCcal][0][0];
    Double_t Qycmean3 = fMeanQv3[iCcal][0][1];
    Double_t Qycrms3  = fWidthQv3[iCcal][0][1];	
    
    Double_t QxaCor2 = (Qxa2 - Qxamean2)/Qxarms2;
    Double_t QyaCor2 = (Qya2 - Qyamean2)/Qyarms2;
    Double_t QxcCor2 = (Qxc2 - Qxcmean2)/Qxcrms2;
    Double_t QycCor2 = (Qyc2 - Qycmean2)/Qycrms2;
    Double_t QxaCor3 = (Qxa3 - Qxamean3)/Qxarms3;
    Double_t QyaCor3 = (Qya3 - Qyamean3)/Qyarms3;
    Double_t QxcCor3 = (Qxc3 - Qxcmean3)/Qxcrms3;
    Double_t QycCor3 = (Qyc3 - Qycmean3)/Qycrms3;
    /*
    //to calculate 2nd order event plane with v0M
 Double_t QxCor2 = (Qxa2 - Qxamean2 + Qxc2 - Qxcmean2)
    /TMath::Sqrt(Qxarms2*Qxarms2 + Qxcrms2*Qxcrms2);
  Double_t QyCor2 = (Qya2 - Qyamean2 + Qyc2 - Qycmean2)
    /TMath::Sqrt(Qyarms2*Qyarms2 + Qycrms2*Qycrms2);

  //here the calculated event plane is within -Pi to +Pi(delete it , no use here , only for definition)
  Double_t psiV0A =(TMath::Pi() + TMath::ATan2(-QyaCor2, -QxaCor2))/2.;
  Double_t psiV0C = (TMath::Pi() + TMath::ATan2(-QycCor2, -QxcCor2))/2.;
  Double_t psiVZero = (TMath::Pi() + TMath::ATan2(-QyCor2, -QxCor2))/2.;

    */

    Float_t evPlAngV0ACor2=999.;
    Float_t evPlAngV0CCor2=999.;
    Float_t evPlAngV0ACor3=999.;
    Float_t evPlAngV0CCor3=999.;

   if(! fIsAfter2011){
      if(fAnalysisType == "AOD"){
	evPlAngV0ACor2 = TMath::ATan2(QyaCor2, QxaCor2)/2.;
	evPlAngV0CCor2 = TMath::ATan2(QycCor2, QxcCor2)/2.;
	evPlAngV0ACor3 = TMath::ATan2(QyaCor3, QxaCor3)/3.;
	evPlAngV0CCor3 = TMath::ATan2(QycCor3, QxcCor3)/3.;
      }
      else{
	evPlAngV0ACor2 = TMath::ATan2(Qya2, Qxa2)/2.;
	evPlAngV0CCor2 = TMath::ATan2(Qyc2, Qxc2)/2.;
	evPlAngV0ACor3 = TMath::ATan2(Qya3, Qxa3)/3.;
	evPlAngV0CCor3 = TMath::ATan2(Qyc3, Qxc3)/3.;
      }
    }
    else{
      AliEventplane *ep =  event->GetEventplane();
      evPlAngV0ACor2 = ep->GetEventplane("V0A", event, 2);
      evPlAngV0CCor2 = ep->GetEventplane("V0C", event, 2);
      evPlAngV0ACor3 = ep->GetEventplane("V0A", event, 3);
      evPlAngV0CCor3 = ep->GetEventplane("V0C", event, 3);
    }

    fgPsi2v0a = evPlAngV0ACor2;
    fgPsi2v0c = evPlAngV0CCor2;
    fgPsi3v0a = evPlAngV0ACor3;
    fgPsi3v0c = evPlAngV0CCor3;

 // Fill EP distribution histograms evPlAng
    
     fPhiRPv0A->Fill(iC,evPlAngV0ACor2);
     fPhiRPv0C->Fill(iC,evPlAngV0CCor2);
    
     fPhiRPv0Av3->Fill(iC,evPlAngV0ACor3);
     fPhiRPv0Cv3->Fill(iC,evPlAngV0CCor3);

    // Fill histograms needed for resolution evaluation
    fHResTPCv0A2->Fill(Double_t(iC), TMath::Cos(2*(evPlAng2 - evPlAngV0ACor2)));
    fHResTPCv0C2->Fill(Double_t(iC), TMath::Cos(2*(evPlAng2 - evPlAngV0CCor2)));
    fHResv0Cv0A2->Fill(Double_t(iC), TMath::Cos(2*(evPlAngV0ACor2 - evPlAngV0CCor2)));
    
    fHResTPCv0A3->Fill(Double_t(iC), TMath::Cos(3*(evPlAng3 - evPlAngV0ACor3)));
    fHResTPCv0C3->Fill(Double_t(iC), TMath::Cos(3*(evPlAng3 - evPlAngV0CCor3)));
    fHResv0Cv0A3->Fill(Double_t(iC), TMath::Cos(3*(evPlAngV0ACor3 - evPlAngV0CCor3)));


    /*   
 Float_t gVZEROEventPlane    = -10.;
  Float_t gReactionPlane      = -10.;
  Double_t qxTot = 0.0, qyTot = 0.0;

    AliEventplane *ep = event->GetEventplane();
    if(ep){ 
      gVZEROEventPlane = ep->CalculateVZEROEventPlane(event,10,2,qxTot,qyTot);
      if(gVZEROEventPlane < 0.) gVZEROEventPlane += TMath::Pi();
      //gReactionPlane = gVZEROEventPlane*TMath::RadToDeg();
      gReactionPlane = gVZEROEventPlane;
    }
    */
  }//AOD,ESD,ESDMC
 //return gReactionPlane;

 //make the final 2nd order event plane within 0 to Pi
     //using data and reco tracks only
      if(fgPsi2v0a!=999. && fgPsi2v0a < 0.) fgPsi2v0a += TMath::Pi();
      if(fgPsi2v0c!=999. && fgPsi2v0c < 0.) fgPsi2v0c += TMath::Pi();
      if(fgPsi2tpc!=999. && fgPsi2tpc < 0.) fgPsi2tpc += TMath::Pi();
      //using truth tracks only
      if(evplaneMC!=999. && evplaneMC < 0.) evplaneMC += TMath::Pi();
      if(fgPsi2v0aMC!=999. && fgPsi2v0aMC < 0.) fgPsi2v0aMC += TMath::Pi();
      if(fgPsi2v0cMC!=999. && fgPsi2v0cMC < 0.) fgPsi2v0cMC += TMath::Pi();
      if(fgPsi2tpcMC!=999. && fgPsi2tpcMC < 0.) fgPsi2tpcMC += TMath::Pi();
      //for the time being leave the 3rd order event planes within -pi/3 t0 +pi/3

      if(truth){//for truth MC
	if(fV2 && fEPdet=="header")eventplane=evplaneMC;
	if(fV2 && fEPdet=="V0A")eventplane=fgPsi2v0aMC;
	if(fV2 && fEPdet=="V0C")eventplane=fgPsi2v0cMC;
	if(fV2 && fEPdet=="TPC")eventplane=fgPsi2tpcMC;

	if(fV3 && fEPdet=="V0A")eventplane=fgPsi3v0aMC;
	if(fV3 && fEPdet=="V0C")eventplane=fgPsi3v0cMC;
	if(fV3 && fEPdet=="TPC")eventplane=fgPsi3tpcMC;
}
      else{//for data and recoMC
	if(fV2 && fEPdet=="V0A")eventplane=fgPsi2v0a;
	if(fV2 && fEPdet=="V0C")eventplane=fgPsi2v0c;
	if(fV2 && fEPdet=="TPC")eventplane=fgPsi2tpc;

	if(fV3 && fEPdet=="V0A")eventplane=fgPsi3v0a;
	if(fV3 && fEPdet=="V0C")eventplane=fgPsi3v0c;
	if(fV3 && fEPdet=="TPC")eventplane=fgPsi3tpc;

      }
     

  }//AOD/MCAOD condition

  else eventplane=999.;
 
  return eventplane;

}
//------------------------------------------------------------------------------------------------------------------
void AliTwoParticlePIDCorr::OpenInfoCalbration(Int_t run){
    TString oadbfilename = "$ALICE_ROOT/OADB/PWGCF/VZERO/VZEROcalibEP.root";
    TFile *foadb = TFile::Open(oadbfilename.Data());

    if(!foadb){
	printf("OADB file %s cannot be opened\n",oadbfilename.Data());
	return;
    }

    AliOADBContainer *cont = (AliOADBContainer*) foadb->Get("hMultV0BefCorr");
    if(!cont){
	printf("OADB object hMultV0BefCorr is not available in the file\n");
	return;	
    }

    if(!(cont->GetObject(run))){
	printf("OADB object hMultV0BefCorr is not available for run %i (used run 137366)\n",run);
	run = 137366;
    }
    fMultV0 = ((TH2F *) cont->GetObject(run))->ProfileX();

    TF1 *fpol0 = new TF1("fpol0","pol0"); 
    fMultV0->Fit(fpol0,"","",0,31);
    fV0Cpol = fpol0->GetParameter(0);
    fMultV0->Fit(fpol0,"","",32,64);
    fV0Apol = fpol0->GetParameter(0);

    for(Int_t iside=0;iside<2;iside++){
	for(Int_t icoord=0;icoord<2;icoord++){
	    for(Int_t i=0;i  < 9;i++){
		char namecont[100];
  		if(iside==0 && icoord==0)
		  snprintf(namecont,100,"hQxc2_%i",i);
		else if(iside==1 && icoord==0)
		  snprintf(namecont,100,"hQxa2_%i",i);
		else if(iside==0 && icoord==1)
		  snprintf(namecont,100,"hQyc2_%i",i);
		else if(iside==1 && icoord==1)
		  snprintf(namecont,100,"hQya2_%i",i);

		cont = (AliOADBContainer*) foadb->Get(namecont);
		if(!cont){
		    printf("OADB object %s is not available in the file\n",namecont);
		    return;	
		}
		
		if(!(cont->GetObject(run))){
		    printf("OADB object %s is not available for run %i (used run 137366)\n",namecont,run);
		    run = 137366;
		}
		fMeanQ[i][iside][icoord] = ((TH1F *) cont->GetObject(run))->GetMean();
		fWidthQ[i][iside][icoord] = ((TH1F *) cont->GetObject(run))->GetRMS();

		//for v3
		if(iside==0 && icoord==0)
		  snprintf(namecont,100,"hQxc3_%i",i);
		else if(iside==1 && icoord==0)
		  snprintf(namecont,100,"hQxa3_%i",i);
		else if(iside==0 && icoord==1)
		  snprintf(namecont,100,"hQyc3_%i",i);
		else if(iside==1 && icoord==1)
		  snprintf(namecont,100,"hQya3_%i",i);

		cont = (AliOADBContainer*) foadb->Get(namecont);
		if(!cont){
		    printf("OADB object %s is not available in the file\n",namecont);
		    return;	
		}
		
		if(!(cont->GetObject(run))){
		    printf("OADB object %s is not available for run %i (used run 137366)\n",namecont,run);
		    run = 137366;
		}
		fMeanQv3[i][iside][icoord] = ((TH1F *) cont->GetObject(run))->GetMean();
		fWidthQv3[i][iside][icoord] = ((TH1F *) cont->GetObject(run))->GetRMS();

     	    }
	}
    }
}
//____________________________________________________________________
void AliTwoParticlePIDCorr::FillPIDEventPlane(Double_t centrality,Int_t par,Float_t trigphi,Float_t fReactionPlane) 
{

 // Event plane (determine psi bin)
    Double_t gPsiMinusPhi    =   0.;
    Double_t gPsiMinusPhiBin = -10.;
if(fRequestEventPlane){
    gPsiMinusPhi   = TMath::Abs(trigphi - fReactionPlane);
    //in-plane
    if((gPsiMinusPhi <= 7.5*TMath::DegToRad())||
      (gPsiMinusPhi >= 352.5*TMath::DegToRad())||
       ((172.5*TMath::DegToRad() <= gPsiMinusPhi)&&(gPsiMinusPhi <= 187.5*TMath::DegToRad())))
      gPsiMinusPhiBin = 0.0;
    //intermediate
    else if(((37.5*TMath::DegToRad() <= gPsiMinusPhi)&&(gPsiMinusPhi <= 52.5*TMath::DegToRad()))||
	    ((127.5*TMath::DegToRad() <= gPsiMinusPhi)&&(gPsiMinusPhi <= 142.5*TMath::DegToRad()))||
	    ((217.5*TMath::DegToRad() <= gPsiMinusPhi)&&(gPsiMinusPhi <= 232.5*TMath::DegToRad()))||
	    ((307.5*TMath::DegToRad() <= gPsiMinusPhi)&&(gPsiMinusPhi <= 322.5*TMath::DegToRad())))
      gPsiMinusPhiBin = 1.0;
    //out of plane
    else if(((82.5*TMath::DegToRad() <= gPsiMinusPhi)&&(gPsiMinusPhi <= 97.5*TMath::DegToRad()))||
	    ((262.5*TMath::DegToRad() <= gPsiMinusPhi)&&(gPsiMinusPhi <= 277.5*TMath::DegToRad())))
      gPsiMinusPhiBin = 2.0;
    //everything else
    else 
      gPsiMinusPhiBin = 3.0;

    fEventPlanePID->Fill(centrality,gPsiMinusPhiBin,(Float_t)par); 
 }
}

//____________________________________________________________________________________________________

TObjArray* AliTwoParticlePIDCorr::GetV0Particles(AliVEvent* event,Double_t Centrality)
{

  AliAODEvent* fAOD = dynamic_cast<AliAODEvent*>(event);

 //function to select v0's from AODs
  trkVtx=fAOD->GetPrimaryVertex();
  Float_t xv=trkVtx->GetX(), yv=trkVtx->GetY(), zv=trkVtx->GetZ();
  Int_t nV0sTot = fAOD->GetNumberOfV0s();

        TObjArray * selectedV0s = new TObjArray;
	selectedV0s->SetOwner(kTRUE);

 for (Int_t iV0 = 0; iV0 < nV0sTot; iV0++) 
    {
    
    AliAODv0 *v0=fAOD->GetV0(iV0);
    if (!v0) continue;
    if(!CheckStatusv0(v0)) continue;

    AliAODTrack *ptrack=(AliAODTrack*)v0->GetDaughter(0);
    AliAODTrack *ntrack=(AliAODTrack*)v0->GetDaughter(1);

    Bool_t cutK0sPID=kFALSE;
    Bool_t cutLambdaPID=kFALSE;
    Bool_t cutAntiLambdaPID=kFALSE;

    if(fUsev0DaughterPID)
{
	//use fHelperPID check PID of the daughter tracks
	//v0 daughter PID may be helpful in distangling k0S and (Anti)Lamda
                                                                                          
        Int_t PIDptrack = GetParticle(ptrack,kFALSE);
        Int_t PIDntrack = GetParticle(ntrack ,kFALSE);

        if(PIDptrack ==0 &&  PIDntrack == 0) cutK0sPID=kTRUE;

        if(PIDptrack==2 && PIDntrack ==0) cutLambdaPID=kTRUE;

        if (PIDptrack ==0 && PIDntrack == 2) cutAntiLambdaPID=kTRUE;

      }

 // effective mass calculations for each hypothesis(without daughter PID)
    Double_t InvMassK0s = v0->MassK0Short();
    Double_t InvMassAntiLambda = v0->MassAntiLambda();
    Double_t InvMassLambda = v0->MassLambda();

    Float_t v0Pt=TMath::Sqrt(v0->Pt2V0());
    Float_t v0Eta=v0->Eta();
    Float_t v0Phi=v0->Phi();

    //This is simply raw v0 without any specialised cut
    fHistRawPtCentInvK0s->Fill(InvMassK0s,v0Pt,Centrality);
    fHistRawPtCentInvLambda->Fill(InvMassLambda,v0Pt,Centrality);
    fHistRawPtCentInvAntiLambda->Fill(InvMassAntiLambda,v0Pt,Centrality);

  // Decay vertex
    Double_t xyz[3];   
    v0->GetSecondaryVtx(xyz);
    Float_t dx,dy,dz;
     dx=xyz[0]-xv, dy=xyz[1]-yv, dz=xyz[2]-zv;

     //  Float_t v0DecayRadius=TMath::Sqrt(dx*dx + dy*dy);
    Float_t v0DecayLength=TMath::Sqrt(dx*dx + dy*dy + dz*dz);
    // VO's main characteristics to check the reconstruction cuts
    // Float_t DcaV0Daughters    = v0->DcaV0Daughters();
    Float_t V0cosPointAngle   = v0->CosPointingAngle(trkVtx);
    // Float_t DcaPosToPrimVertex = v0->DcaPosToPrimVertex();
    //Float_t DcaNegToPrimVertex = v0->DcaNegToPrimVertex();   
    //Float_t Dcav0PVz   = v0->DcaV0ToPrimVertex(); 
    Float_t v0Pz=v0->Pz();
    Float_t v0P= TMath::Sqrt(v0Pt*v0Pt + v0Pz*v0Pz);

    Float_t ctauLambda =999.;
    Float_t ctauAntiLambda = 999.;
    Float_t ctauK0s = 999.;
 if(v0P > 0.0)
      {
	 ctauLambda = (v0DecayLength*InvMassLambda)/v0P;
	 ctauAntiLambda = (v0DecayLength*InvMassAntiLambda)/v0P;
	 ctauK0s = (v0DecayLength*InvMassK0s)/v0P;
      }
    
    Bool_t ctauCutK0s= ctauK0s < NCtau*fCutctauK0s ; //ctauK0s 2.68 cm, mean life time of K0s is 8.95 x10^(-11)
    Bool_t ctauCutLambda = ctauLambda    < NCtau*fCutctauLambda; //ctauLambda 7.8 cm ,mean life is 2.6 x10 ^(-10) ***** 3xctau is the accepted limit
    Bool_t ctauCutAntiLambda= ctauAntiLambda < NCtau*fCutctauAntiLambda;

    Bool_t RapCutK0s = v0->RapK0Short() < fRapCutK0s;
    Bool_t RapCutLambda = v0->RapLambda() < fRapCutLambda; 
    Bool_t RapCutAntiLambda = v0->Y(-3122) < fRapCutLambda;

    Bool_t CPACut= V0cosPointAngle > fMinCPA; //cosine of pointing angle with v0 should be greater than 0.998

    //Now we put a loose mass cut which will be tightened later 
    Bool_t MassCutLooseK0s=(TMath::Abs(InvMassK0s - 0.497614) < 0.1);
    Bool_t MassCutLooseLambda=(TMath::Abs(InvMassLambda - 1.115683) < 0.1); // cut is same for Anti-Lambda
    Bool_t MassCutLooseAntiLambda=(TMath::Abs(InvMassAntiLambda - 1.115683) < 0.1); // cut is same for Anti-Lambda

 //Special Cut for Kshort arementeros podalanski plot
    Bool_t ArmenterosCut =kFALSE;
    if(ctauCutK0s && RapCutK0s && CPACut && MassCutLooseK0s)
      {

    Float_t lAlphaV0      =  v0->AlphaV0();
    Float_t lPtArmV0      =  v0->PtArmV0();

     ArmenterosCut = lPtArmV0 > TMath::Abs(0.2*lAlphaV0);

      }

    Bool_t IskShortOk=(ctauCutK0s && RapCutK0s && CPACut && MassCutLooseK0s && ArmenterosCut);

    Bool_t IsLambdaOk=(ctauCutLambda && RapCutLambda && CPACut && MassCutLooseLambda);

    Bool_t IsAntiLambdaOk=(ctauCutAntiLambda && RapCutAntiLambda && CPACut && MassCutLooseAntiLambda);

//Difference on Lambda and Anti-Lambda can be made through daughter PID


    Int_t particletype=999;

	if( IskShortOk || cutK0sPID )
	{
	 fHistFinalPtCentInvK0s->Fill(InvMassK0s,v0Pt,Centrality);
	 particletype=SpKs0;

    Short_t chargeval=0;
    Float_t effmatrix=1.0;
    LRCParticlePID* copy1 = new LRCParticlePID(particletype,InvMassK0s,chargeval,v0Pt,v0Eta, v0Phi,effmatrix,ptrack->GetTPCSharedMapPtr(),ntrack->GetTPCSharedMapPtr());
    copy1->SetUniqueID(eventno * 200000 + (Int_t)iV0);
    selectedV0s->Add(copy1);
  
	}


	if(IsLambdaOk ||  cutLambdaPID)
	{
	 fHistFinalPtCentInvLambda->Fill(InvMassLambda,v0Pt,Centrality);
//Add in the LRCParticle and give Lambda a tag 5
	 particletype=SpLam;
 
    Short_t chargeval=0;
    Float_t effmatrix=1.0;
    LRCParticlePID* copy1 = new LRCParticlePID(particletype,InvMassLambda,chargeval,v0Pt,v0Eta, v0Phi,effmatrix,ptrack->GetTPCSharedMapPtr(),ntrack->GetTPCSharedMapPtr());
    copy1->SetUniqueID(eventno * 200000 + (Int_t)iV0);
    selectedV0s->Add(copy1);
	}

	if(IsAntiLambdaOk ||  cutAntiLambdaPID)
	{
	 fHistFinalPtCentInvLambda->Fill(InvMassAntiLambda,v0Pt,Centrality);
//Add in the LRCParticle and give Lambda a tag 6
	 particletype=SpALam;
    Short_t chargeval=0;
    Float_t effmatrix=1.0;
    LRCParticlePID* copy1 = new LRCParticlePID(particletype,InvMassAntiLambda,chargeval,v0Pt,v0Eta, v0Phi,effmatrix,ptrack->GetTPCSharedMapPtr(),ntrack->GetTPCSharedMapPtr());
    copy1->SetUniqueID(eventno * 200000 + (Int_t)iV0);
    selectedV0s->Add(copy1);
	}


    }//v0 loop

  return selectedV0s;    
}

//___________________________________________________________________
  Bool_t AliTwoParticlePIDCorr :: CheckStatusv0Daughter(AliAODTrack *t1 ,AliAODTrack *t2)
  {
  if (!t1->IsOn(AliAODTrack::kTPCrefit) || !t2->IsOn(AliAODTrack::kTPCrefit)) return kFALSE;
  // Float_t nCrossedRowsTPC = t->GetTPCClusterInfo(2,1); 
if(t1->GetTPCClusterInfo(2,1)<fDaugNClsTPC || t2->GetTPCClusterInfo(2,1)<fDaugNClsTPC) return kFALSE ;

// ---------------- Fraction of TPC Shared Cluster 
     Float_t fracPosDaugTPCSharedMap = GetFractionTPCSharedCls(t1);
     Float_t fracNegDaugTPCSharedMap = GetFractionTPCSharedCls(t2);

 if(  (fracPosDaugTPCSharedMap > fFracTPCcls) || (fracNegDaugTPCSharedMap > fFracTPCcls) )
	return kFALSE;
  
  return kTRUE; 

  }
//___________________________________________________________________________________________
   
 Float_t AliTwoParticlePIDCorr :: GetFractionTPCSharedCls( AliAODTrack *track)
{
  // Rejects tracks with shared clusters after filling a control histogram
  // This overload is used for primaries
 
  // Get the shared maps
  const TBits sharedMap = track->GetTPCSharedMap();

  return 1.*sharedMap.CountBits()/track->GetTPCNclsF();
  
}
//______________________________________________________________________
  Bool_t AliTwoParticlePIDCorr :: CheckStatusv0(AliAODv0 *v1)
  {

    // Offline reconstructed V0 only
    if (v1->GetOnFlyStatus()) return kFALSE;

     AliAODTrack *ptrack=(AliAODTrack *)v1->GetDaughter(0);
     AliAODTrack *ntrack=(AliAODTrack *)v1->GetDaughter(1);

    if(!ptrack || !ntrack) return kFALSE;

    if(ptrack->Charge()==-1 || ntrack->Charge()==1) return kFALSE; //remove wrongly identified charge pairs 

    if(ptrack->Charge()==0 || ntrack->Charge()==0) return kFALSE; //remove uncharged pairs

    if(ptrack->Charge() == ntrack->Charge()) return kFALSE; //remove like sign pairs 

    if(!CheckStatusv0Daughter(ptrack,ntrack)) return kFALSE;//daughters need to pass some basic cuts    

    if(TMath::Abs(ptrack->Eta()) > fmaxeta || TMath::Abs(ntrack->Eta()) > fmaxeta) return kFALSE; // remove daughters beyond eta bound |0.8|

    if(ptrack->Pt() < fMinPtDaughter || ntrack->Pt() < fMinPtDaughter) return kFALSE; // remove daughter tracks below minmum p |1.0 GeV/c|

    if(ptrack->Pt() > fMaxPtDaughter || ntrack->Pt() > fMaxPtDaughter) return kFALSE; // remove daughter tracks above maximum p ** to make it compatiable with AliHelperPID**|4.0 GeV/C|

    // Daughters: Impact parameter of daughter to prim vtx
    Float_t xy = v1->DcaPosToPrimVertex();
    if (TMath::Abs(xy)<fDCAToPrimVtx) return kFALSE; //0.1 cm
    xy = v1->DcaNegToPrimVertex();
    if (TMath::Abs(xy)<fDCAToPrimVtx) return kFALSE; //0.1 cm

    // Daughters: DCA
    Float_t dca = v1->DcaV0Daughters();
    if (dca>fMaxDCADaughter) return kFALSE; //1.0 cm
    
    // V0: Cosine of the pointing angle
    Float_t cpa=v1->CosPointingAngle(trkVtx); //0.997
    if (cpa<fMinCPA) return kFALSE;

    // V0: Fiducial volume
    Double_t xyz[3]; v1->GetSecondaryVtx(xyz);
    Float_t r2=xyz[0]*xyz[0] + xyz[1]*xyz[1];
    if (r2<5.*5.) return kFALSE;
    if (r2>lMax*lMax) return kFALSE; //lmax=100 cm

    return kTRUE;


  }
//__________________________________________________________________________________________
Bool_t AliTwoParticlePIDCorr::IsTrackFromV0(AliAODEvent* fAOD,AliAODTrack* track)
{
//to check whether a daughter being taken as associated
	Int_t assoID = track->GetID();

	for(int i=0; i<fAOD->GetNumberOfV0s(); i++){ // loop over V0s
		AliAODv0* aodV0 = fAOD->GetV0(i);
		
		AliAODTrack *trackPos=(AliAODTrack *)(aodV0->GetDaughter(0));
        	AliAODTrack *trackNeg=(AliAODTrack *)(aodV0->GetDaughter(1));
			
		
		Int_t negID = trackNeg->GetID();
		Int_t posID = trackPos->GetID();
		
		if ((TMath::Abs(negID)+1)==(TMath::Abs(assoID))){ return kTRUE;}
		if ((TMath::Abs(posID)+1)==(TMath::Abs(assoID))){ return kTRUE;}
		//----------------------------------
	}
	return kFALSE;
}



//----------------------------------------------------------
void AliTwoParticlePIDCorr::Terminate(Option_t *) 
{
  // Draw result to screen, or perform fitting, normalizations
  // Called once at the end of the query
  fOutput = dynamic_cast<TList*> (GetOutputData(1));
  if(!fOutput) { Printf("ERROR: could not retrieve TList fOutput"); return; }
  
  
}
//------------------------------------------------------------------ 
 AliTwoParticlePIDCorr.cxx:1
 AliTwoParticlePIDCorr.cxx:2
 AliTwoParticlePIDCorr.cxx:3
 AliTwoParticlePIDCorr.cxx:4
 AliTwoParticlePIDCorr.cxx:5
 AliTwoParticlePIDCorr.cxx:6
 AliTwoParticlePIDCorr.cxx:7
 AliTwoParticlePIDCorr.cxx:8
 AliTwoParticlePIDCorr.cxx:9
 AliTwoParticlePIDCorr.cxx:10
 AliTwoParticlePIDCorr.cxx:11
 AliTwoParticlePIDCorr.cxx:12
 AliTwoParticlePIDCorr.cxx:13
 AliTwoParticlePIDCorr.cxx:14
 AliTwoParticlePIDCorr.cxx:15
 AliTwoParticlePIDCorr.cxx:16
 AliTwoParticlePIDCorr.cxx:17
 AliTwoParticlePIDCorr.cxx:18
 AliTwoParticlePIDCorr.cxx:19
 AliTwoParticlePIDCorr.cxx:20
 AliTwoParticlePIDCorr.cxx:21
 AliTwoParticlePIDCorr.cxx:22
 AliTwoParticlePIDCorr.cxx:23
 AliTwoParticlePIDCorr.cxx:24
 AliTwoParticlePIDCorr.cxx:25
 AliTwoParticlePIDCorr.cxx:26
 AliTwoParticlePIDCorr.cxx:27
 AliTwoParticlePIDCorr.cxx:28
 AliTwoParticlePIDCorr.cxx:29
 AliTwoParticlePIDCorr.cxx:30
 AliTwoParticlePIDCorr.cxx:31
 AliTwoParticlePIDCorr.cxx:32
 AliTwoParticlePIDCorr.cxx:33
 AliTwoParticlePIDCorr.cxx:34
 AliTwoParticlePIDCorr.cxx:35
 AliTwoParticlePIDCorr.cxx:36
 AliTwoParticlePIDCorr.cxx:37
 AliTwoParticlePIDCorr.cxx:38
 AliTwoParticlePIDCorr.cxx:39
 AliTwoParticlePIDCorr.cxx:40
 AliTwoParticlePIDCorr.cxx:41
 AliTwoParticlePIDCorr.cxx:42
 AliTwoParticlePIDCorr.cxx:43
 AliTwoParticlePIDCorr.cxx:44
 AliTwoParticlePIDCorr.cxx:45
 AliTwoParticlePIDCorr.cxx:46
 AliTwoParticlePIDCorr.cxx:47
 AliTwoParticlePIDCorr.cxx:48
 AliTwoParticlePIDCorr.cxx:49
 AliTwoParticlePIDCorr.cxx:50
 AliTwoParticlePIDCorr.cxx:51
 AliTwoParticlePIDCorr.cxx:52
 AliTwoParticlePIDCorr.cxx:53
 AliTwoParticlePIDCorr.cxx:54
 AliTwoParticlePIDCorr.cxx:55
 AliTwoParticlePIDCorr.cxx:56
 AliTwoParticlePIDCorr.cxx:57
 AliTwoParticlePIDCorr.cxx:58
 AliTwoParticlePIDCorr.cxx:59
 AliTwoParticlePIDCorr.cxx:60
 AliTwoParticlePIDCorr.cxx:61
 AliTwoParticlePIDCorr.cxx:62
 AliTwoParticlePIDCorr.cxx:63
 AliTwoParticlePIDCorr.cxx:64
 AliTwoParticlePIDCorr.cxx:65
 AliTwoParticlePIDCorr.cxx:66
 AliTwoParticlePIDCorr.cxx:67
 AliTwoParticlePIDCorr.cxx:68
 AliTwoParticlePIDCorr.cxx:69
 AliTwoParticlePIDCorr.cxx:70
 AliTwoParticlePIDCorr.cxx:71
 AliTwoParticlePIDCorr.cxx:72
 AliTwoParticlePIDCorr.cxx:73
 AliTwoParticlePIDCorr.cxx:74
 AliTwoParticlePIDCorr.cxx:75
 AliTwoParticlePIDCorr.cxx:76
 AliTwoParticlePIDCorr.cxx:77
 AliTwoParticlePIDCorr.cxx:78
 AliTwoParticlePIDCorr.cxx:79
 AliTwoParticlePIDCorr.cxx:80
 AliTwoParticlePIDCorr.cxx:81
 AliTwoParticlePIDCorr.cxx:82
 AliTwoParticlePIDCorr.cxx:83
 AliTwoParticlePIDCorr.cxx:84
 AliTwoParticlePIDCorr.cxx:85
 AliTwoParticlePIDCorr.cxx:86
 AliTwoParticlePIDCorr.cxx:87
 AliTwoParticlePIDCorr.cxx:88
 AliTwoParticlePIDCorr.cxx:89
 AliTwoParticlePIDCorr.cxx:90
 AliTwoParticlePIDCorr.cxx:91
 AliTwoParticlePIDCorr.cxx:92
 AliTwoParticlePIDCorr.cxx:93
 AliTwoParticlePIDCorr.cxx:94
 AliTwoParticlePIDCorr.cxx:95
 AliTwoParticlePIDCorr.cxx:96
 AliTwoParticlePIDCorr.cxx:97
 AliTwoParticlePIDCorr.cxx:98
 AliTwoParticlePIDCorr.cxx:99
 AliTwoParticlePIDCorr.cxx:100
 AliTwoParticlePIDCorr.cxx:101
 AliTwoParticlePIDCorr.cxx:102
 AliTwoParticlePIDCorr.cxx:103
 AliTwoParticlePIDCorr.cxx:104
 AliTwoParticlePIDCorr.cxx:105
 AliTwoParticlePIDCorr.cxx:106
 AliTwoParticlePIDCorr.cxx:107
 AliTwoParticlePIDCorr.cxx:108
 AliTwoParticlePIDCorr.cxx:109
 AliTwoParticlePIDCorr.cxx:110
 AliTwoParticlePIDCorr.cxx:111
 AliTwoParticlePIDCorr.cxx:112
 AliTwoParticlePIDCorr.cxx:113
 AliTwoParticlePIDCorr.cxx:114
 AliTwoParticlePIDCorr.cxx:115
 AliTwoParticlePIDCorr.cxx:116
 AliTwoParticlePIDCorr.cxx:117
 AliTwoParticlePIDCorr.cxx:118
 AliTwoParticlePIDCorr.cxx:119
 AliTwoParticlePIDCorr.cxx:120
 AliTwoParticlePIDCorr.cxx:121
 AliTwoParticlePIDCorr.cxx:122
 AliTwoParticlePIDCorr.cxx:123
 AliTwoParticlePIDCorr.cxx:124
 AliTwoParticlePIDCorr.cxx:125
 AliTwoParticlePIDCorr.cxx:126
 AliTwoParticlePIDCorr.cxx:127
 AliTwoParticlePIDCorr.cxx:128
 AliTwoParticlePIDCorr.cxx:129
 AliTwoParticlePIDCorr.cxx:130
 AliTwoParticlePIDCorr.cxx:131
 AliTwoParticlePIDCorr.cxx:132
 AliTwoParticlePIDCorr.cxx:133
 AliTwoParticlePIDCorr.cxx:134
 AliTwoParticlePIDCorr.cxx:135
 AliTwoParticlePIDCorr.cxx:136
 AliTwoParticlePIDCorr.cxx:137
 AliTwoParticlePIDCorr.cxx:138
 AliTwoParticlePIDCorr.cxx:139
 AliTwoParticlePIDCorr.cxx:140
 AliTwoParticlePIDCorr.cxx:141
 AliTwoParticlePIDCorr.cxx:142
 AliTwoParticlePIDCorr.cxx:143
 AliTwoParticlePIDCorr.cxx:144
 AliTwoParticlePIDCorr.cxx:145
 AliTwoParticlePIDCorr.cxx:146
 AliTwoParticlePIDCorr.cxx:147
 AliTwoParticlePIDCorr.cxx:148
 AliTwoParticlePIDCorr.cxx:149
 AliTwoParticlePIDCorr.cxx:150
 AliTwoParticlePIDCorr.cxx:151
 AliTwoParticlePIDCorr.cxx:152
 AliTwoParticlePIDCorr.cxx:153
 AliTwoParticlePIDCorr.cxx:154
 AliTwoParticlePIDCorr.cxx:155
 AliTwoParticlePIDCorr.cxx:156
 AliTwoParticlePIDCorr.cxx:157
 AliTwoParticlePIDCorr.cxx:158
 AliTwoParticlePIDCorr.cxx:159
 AliTwoParticlePIDCorr.cxx:160
 AliTwoParticlePIDCorr.cxx:161
 AliTwoParticlePIDCorr.cxx:162
 AliTwoParticlePIDCorr.cxx:163
 AliTwoParticlePIDCorr.cxx:164
 AliTwoParticlePIDCorr.cxx:165
 AliTwoParticlePIDCorr.cxx:166
 AliTwoParticlePIDCorr.cxx:167
 AliTwoParticlePIDCorr.cxx:168
 AliTwoParticlePIDCorr.cxx:169
 AliTwoParticlePIDCorr.cxx:170
 AliTwoParticlePIDCorr.cxx:171
 AliTwoParticlePIDCorr.cxx:172
 AliTwoParticlePIDCorr.cxx:173
 AliTwoParticlePIDCorr.cxx:174
 AliTwoParticlePIDCorr.cxx:175
 AliTwoParticlePIDCorr.cxx:176
 AliTwoParticlePIDCorr.cxx:177
 AliTwoParticlePIDCorr.cxx:178
 AliTwoParticlePIDCorr.cxx:179
 AliTwoParticlePIDCorr.cxx:180
 AliTwoParticlePIDCorr.cxx:181
 AliTwoParticlePIDCorr.cxx:182
 AliTwoParticlePIDCorr.cxx:183
 AliTwoParticlePIDCorr.cxx:184
 AliTwoParticlePIDCorr.cxx:185
 AliTwoParticlePIDCorr.cxx:186
 AliTwoParticlePIDCorr.cxx:187
 AliTwoParticlePIDCorr.cxx:188
 AliTwoParticlePIDCorr.cxx:189
 AliTwoParticlePIDCorr.cxx:190
 AliTwoParticlePIDCorr.cxx:191
 AliTwoParticlePIDCorr.cxx:192
 AliTwoParticlePIDCorr.cxx:193
 AliTwoParticlePIDCorr.cxx:194
 AliTwoParticlePIDCorr.cxx:195
 AliTwoParticlePIDCorr.cxx:196
 AliTwoParticlePIDCorr.cxx:197
 AliTwoParticlePIDCorr.cxx:198
 AliTwoParticlePIDCorr.cxx:199
 AliTwoParticlePIDCorr.cxx:200
 AliTwoParticlePIDCorr.cxx:201
 AliTwoParticlePIDCorr.cxx:202
 AliTwoParticlePIDCorr.cxx:203
 AliTwoParticlePIDCorr.cxx:204
 AliTwoParticlePIDCorr.cxx:205
 AliTwoParticlePIDCorr.cxx:206
 AliTwoParticlePIDCorr.cxx:207
 AliTwoParticlePIDCorr.cxx:208
 AliTwoParticlePIDCorr.cxx:209
 AliTwoParticlePIDCorr.cxx:210
 AliTwoParticlePIDCorr.cxx:211
 AliTwoParticlePIDCorr.cxx:212
 AliTwoParticlePIDCorr.cxx:213
 AliTwoParticlePIDCorr.cxx:214
 AliTwoParticlePIDCorr.cxx:215
 AliTwoParticlePIDCorr.cxx:216
 AliTwoParticlePIDCorr.cxx:217
 AliTwoParticlePIDCorr.cxx:218
 AliTwoParticlePIDCorr.cxx:219
 AliTwoParticlePIDCorr.cxx:220
 AliTwoParticlePIDCorr.cxx:221
 AliTwoParticlePIDCorr.cxx:222
 AliTwoParticlePIDCorr.cxx:223
 AliTwoParticlePIDCorr.cxx:224
 AliTwoParticlePIDCorr.cxx:225
 AliTwoParticlePIDCorr.cxx:226
 AliTwoParticlePIDCorr.cxx:227
 AliTwoParticlePIDCorr.cxx:228
 AliTwoParticlePIDCorr.cxx:229
 AliTwoParticlePIDCorr.cxx:230
 AliTwoParticlePIDCorr.cxx:231
 AliTwoParticlePIDCorr.cxx:232
 AliTwoParticlePIDCorr.cxx:233
 AliTwoParticlePIDCorr.cxx:234
 AliTwoParticlePIDCorr.cxx:235
 AliTwoParticlePIDCorr.cxx:236
 AliTwoParticlePIDCorr.cxx:237
 AliTwoParticlePIDCorr.cxx:238
 AliTwoParticlePIDCorr.cxx:239
 AliTwoParticlePIDCorr.cxx:240
 AliTwoParticlePIDCorr.cxx:241
 AliTwoParticlePIDCorr.cxx:242
 AliTwoParticlePIDCorr.cxx:243
 AliTwoParticlePIDCorr.cxx:244
 AliTwoParticlePIDCorr.cxx:245
 AliTwoParticlePIDCorr.cxx:246
 AliTwoParticlePIDCorr.cxx:247
 AliTwoParticlePIDCorr.cxx:248
 AliTwoParticlePIDCorr.cxx:249
 AliTwoParticlePIDCorr.cxx:250
 AliTwoParticlePIDCorr.cxx:251
 AliTwoParticlePIDCorr.cxx:252
 AliTwoParticlePIDCorr.cxx:253
 AliTwoParticlePIDCorr.cxx:254
 AliTwoParticlePIDCorr.cxx:255
 AliTwoParticlePIDCorr.cxx:256
 AliTwoParticlePIDCorr.cxx:257
 AliTwoParticlePIDCorr.cxx:258
 AliTwoParticlePIDCorr.cxx:259
 AliTwoParticlePIDCorr.cxx:260
 AliTwoParticlePIDCorr.cxx:261
 AliTwoParticlePIDCorr.cxx:262
 AliTwoParticlePIDCorr.cxx:263
 AliTwoParticlePIDCorr.cxx:264
 AliTwoParticlePIDCorr.cxx:265
 AliTwoParticlePIDCorr.cxx:266
 AliTwoParticlePIDCorr.cxx:267
 AliTwoParticlePIDCorr.cxx:268
 AliTwoParticlePIDCorr.cxx:269
 AliTwoParticlePIDCorr.cxx:270
 AliTwoParticlePIDCorr.cxx:271
 AliTwoParticlePIDCorr.cxx:272
 AliTwoParticlePIDCorr.cxx:273
 AliTwoParticlePIDCorr.cxx:274
 AliTwoParticlePIDCorr.cxx:275
 AliTwoParticlePIDCorr.cxx:276
 AliTwoParticlePIDCorr.cxx:277
 AliTwoParticlePIDCorr.cxx:278
 AliTwoParticlePIDCorr.cxx:279
 AliTwoParticlePIDCorr.cxx:280
 AliTwoParticlePIDCorr.cxx:281
 AliTwoParticlePIDCorr.cxx:282
 AliTwoParticlePIDCorr.cxx:283
 AliTwoParticlePIDCorr.cxx:284
 AliTwoParticlePIDCorr.cxx:285
 AliTwoParticlePIDCorr.cxx:286
 AliTwoParticlePIDCorr.cxx:287
 AliTwoParticlePIDCorr.cxx:288
 AliTwoParticlePIDCorr.cxx:289
 AliTwoParticlePIDCorr.cxx:290
 AliTwoParticlePIDCorr.cxx:291
 AliTwoParticlePIDCorr.cxx:292
 AliTwoParticlePIDCorr.cxx:293
 AliTwoParticlePIDCorr.cxx:294
 AliTwoParticlePIDCorr.cxx:295
 AliTwoParticlePIDCorr.cxx:296
 AliTwoParticlePIDCorr.cxx:297
 AliTwoParticlePIDCorr.cxx:298
 AliTwoParticlePIDCorr.cxx:299
 AliTwoParticlePIDCorr.cxx:300
 AliTwoParticlePIDCorr.cxx:301
 AliTwoParticlePIDCorr.cxx:302
 AliTwoParticlePIDCorr.cxx:303
 AliTwoParticlePIDCorr.cxx:304
 AliTwoParticlePIDCorr.cxx:305
 AliTwoParticlePIDCorr.cxx:306
 AliTwoParticlePIDCorr.cxx:307
 AliTwoParticlePIDCorr.cxx:308
 AliTwoParticlePIDCorr.cxx:309
 AliTwoParticlePIDCorr.cxx:310
 AliTwoParticlePIDCorr.cxx:311
 AliTwoParticlePIDCorr.cxx:312
 AliTwoParticlePIDCorr.cxx:313
 AliTwoParticlePIDCorr.cxx:314
 AliTwoParticlePIDCorr.cxx:315
 AliTwoParticlePIDCorr.cxx:316
 AliTwoParticlePIDCorr.cxx:317
 AliTwoParticlePIDCorr.cxx:318
 AliTwoParticlePIDCorr.cxx:319
 AliTwoParticlePIDCorr.cxx:320
 AliTwoParticlePIDCorr.cxx:321
 AliTwoParticlePIDCorr.cxx:322
 AliTwoParticlePIDCorr.cxx:323
 AliTwoParticlePIDCorr.cxx:324
 AliTwoParticlePIDCorr.cxx:325
 AliTwoParticlePIDCorr.cxx:326
 AliTwoParticlePIDCorr.cxx:327
 AliTwoParticlePIDCorr.cxx:328
 AliTwoParticlePIDCorr.cxx:329
 AliTwoParticlePIDCorr.cxx:330
 AliTwoParticlePIDCorr.cxx:331
 AliTwoParticlePIDCorr.cxx:332
 AliTwoParticlePIDCorr.cxx:333
 AliTwoParticlePIDCorr.cxx:334
 AliTwoParticlePIDCorr.cxx:335
 AliTwoParticlePIDCorr.cxx:336
 AliTwoParticlePIDCorr.cxx:337
 AliTwoParticlePIDCorr.cxx:338
 AliTwoParticlePIDCorr.cxx:339
 AliTwoParticlePIDCorr.cxx:340
 AliTwoParticlePIDCorr.cxx:341
 AliTwoParticlePIDCorr.cxx:342
 AliTwoParticlePIDCorr.cxx:343
 AliTwoParticlePIDCorr.cxx:344
 AliTwoParticlePIDCorr.cxx:345
 AliTwoParticlePIDCorr.cxx:346
 AliTwoParticlePIDCorr.cxx:347
 AliTwoParticlePIDCorr.cxx:348
 AliTwoParticlePIDCorr.cxx:349
 AliTwoParticlePIDCorr.cxx:350
 AliTwoParticlePIDCorr.cxx:351
 AliTwoParticlePIDCorr.cxx:352
 AliTwoParticlePIDCorr.cxx:353
 AliTwoParticlePIDCorr.cxx:354
 AliTwoParticlePIDCorr.cxx:355
 AliTwoParticlePIDCorr.cxx:356
 AliTwoParticlePIDCorr.cxx:357
 AliTwoParticlePIDCorr.cxx:358
 AliTwoParticlePIDCorr.cxx:359
 AliTwoParticlePIDCorr.cxx:360
 AliTwoParticlePIDCorr.cxx:361
 AliTwoParticlePIDCorr.cxx:362
 AliTwoParticlePIDCorr.cxx:363
 AliTwoParticlePIDCorr.cxx:364
 AliTwoParticlePIDCorr.cxx:365
 AliTwoParticlePIDCorr.cxx:366
 AliTwoParticlePIDCorr.cxx:367
 AliTwoParticlePIDCorr.cxx:368
 AliTwoParticlePIDCorr.cxx:369
 AliTwoParticlePIDCorr.cxx:370
 AliTwoParticlePIDCorr.cxx:371
 AliTwoParticlePIDCorr.cxx:372
 AliTwoParticlePIDCorr.cxx:373
 AliTwoParticlePIDCorr.cxx:374
 AliTwoParticlePIDCorr.cxx:375
 AliTwoParticlePIDCorr.cxx:376
 AliTwoParticlePIDCorr.cxx:377
 AliTwoParticlePIDCorr.cxx:378
 AliTwoParticlePIDCorr.cxx:379
 AliTwoParticlePIDCorr.cxx:380
 AliTwoParticlePIDCorr.cxx:381
 AliTwoParticlePIDCorr.cxx:382
 AliTwoParticlePIDCorr.cxx:383
 AliTwoParticlePIDCorr.cxx:384
 AliTwoParticlePIDCorr.cxx:385
 AliTwoParticlePIDCorr.cxx:386
 AliTwoParticlePIDCorr.cxx:387
 AliTwoParticlePIDCorr.cxx:388
 AliTwoParticlePIDCorr.cxx:389
 AliTwoParticlePIDCorr.cxx:390
 AliTwoParticlePIDCorr.cxx:391
 AliTwoParticlePIDCorr.cxx:392
 AliTwoParticlePIDCorr.cxx:393
 AliTwoParticlePIDCorr.cxx:394
 AliTwoParticlePIDCorr.cxx:395
 AliTwoParticlePIDCorr.cxx:396
 AliTwoParticlePIDCorr.cxx:397
 AliTwoParticlePIDCorr.cxx:398
 AliTwoParticlePIDCorr.cxx:399
 AliTwoParticlePIDCorr.cxx:400
 AliTwoParticlePIDCorr.cxx:401
 AliTwoParticlePIDCorr.cxx:402
 AliTwoParticlePIDCorr.cxx:403
 AliTwoParticlePIDCorr.cxx:404
 AliTwoParticlePIDCorr.cxx:405
 AliTwoParticlePIDCorr.cxx:406
 AliTwoParticlePIDCorr.cxx:407
 AliTwoParticlePIDCorr.cxx:408
 AliTwoParticlePIDCorr.cxx:409
 AliTwoParticlePIDCorr.cxx:410
 AliTwoParticlePIDCorr.cxx:411
 AliTwoParticlePIDCorr.cxx:412
 AliTwoParticlePIDCorr.cxx:413
 AliTwoParticlePIDCorr.cxx:414
 AliTwoParticlePIDCorr.cxx:415
 AliTwoParticlePIDCorr.cxx:416
 AliTwoParticlePIDCorr.cxx:417
 AliTwoParticlePIDCorr.cxx:418
 AliTwoParticlePIDCorr.cxx:419
 AliTwoParticlePIDCorr.cxx:420
 AliTwoParticlePIDCorr.cxx:421
 AliTwoParticlePIDCorr.cxx:422
 AliTwoParticlePIDCorr.cxx:423
 AliTwoParticlePIDCorr.cxx:424
 AliTwoParticlePIDCorr.cxx:425
 AliTwoParticlePIDCorr.cxx:426
 AliTwoParticlePIDCorr.cxx:427
 AliTwoParticlePIDCorr.cxx:428
 AliTwoParticlePIDCorr.cxx:429
 AliTwoParticlePIDCorr.cxx:430
 AliTwoParticlePIDCorr.cxx:431
 AliTwoParticlePIDCorr.cxx:432
 AliTwoParticlePIDCorr.cxx:433
 AliTwoParticlePIDCorr.cxx:434
 AliTwoParticlePIDCorr.cxx:435
 AliTwoParticlePIDCorr.cxx:436
 AliTwoParticlePIDCorr.cxx:437
 AliTwoParticlePIDCorr.cxx:438
 AliTwoParticlePIDCorr.cxx:439
 AliTwoParticlePIDCorr.cxx:440
 AliTwoParticlePIDCorr.cxx:441
 AliTwoParticlePIDCorr.cxx:442
 AliTwoParticlePIDCorr.cxx:443
 AliTwoParticlePIDCorr.cxx:444
 AliTwoParticlePIDCorr.cxx:445
 AliTwoParticlePIDCorr.cxx:446
 AliTwoParticlePIDCorr.cxx:447
 AliTwoParticlePIDCorr.cxx:448
 AliTwoParticlePIDCorr.cxx:449
 AliTwoParticlePIDCorr.cxx:450
 AliTwoParticlePIDCorr.cxx:451
 AliTwoParticlePIDCorr.cxx:452
 AliTwoParticlePIDCorr.cxx:453
 AliTwoParticlePIDCorr.cxx:454
 AliTwoParticlePIDCorr.cxx:455
 AliTwoParticlePIDCorr.cxx:456
 AliTwoParticlePIDCorr.cxx:457
 AliTwoParticlePIDCorr.cxx:458
 AliTwoParticlePIDCorr.cxx:459
 AliTwoParticlePIDCorr.cxx:460
 AliTwoParticlePIDCorr.cxx:461
 AliTwoParticlePIDCorr.cxx:462
 AliTwoParticlePIDCorr.cxx:463
 AliTwoParticlePIDCorr.cxx:464
 AliTwoParticlePIDCorr.cxx:465
 AliTwoParticlePIDCorr.cxx:466
 AliTwoParticlePIDCorr.cxx:467
 AliTwoParticlePIDCorr.cxx:468
 AliTwoParticlePIDCorr.cxx:469
 AliTwoParticlePIDCorr.cxx:470
 AliTwoParticlePIDCorr.cxx:471
 AliTwoParticlePIDCorr.cxx:472
 AliTwoParticlePIDCorr.cxx:473
 AliTwoParticlePIDCorr.cxx:474
 AliTwoParticlePIDCorr.cxx:475
 AliTwoParticlePIDCorr.cxx:476
 AliTwoParticlePIDCorr.cxx:477
 AliTwoParticlePIDCorr.cxx:478
 AliTwoParticlePIDCorr.cxx:479
 AliTwoParticlePIDCorr.cxx:480
 AliTwoParticlePIDCorr.cxx:481
 AliTwoParticlePIDCorr.cxx:482
 AliTwoParticlePIDCorr.cxx:483
 AliTwoParticlePIDCorr.cxx:484
 AliTwoParticlePIDCorr.cxx:485
 AliTwoParticlePIDCorr.cxx:486
 AliTwoParticlePIDCorr.cxx:487
 AliTwoParticlePIDCorr.cxx:488
 AliTwoParticlePIDCorr.cxx:489
 AliTwoParticlePIDCorr.cxx:490
 AliTwoParticlePIDCorr.cxx:491
 AliTwoParticlePIDCorr.cxx:492
 AliTwoParticlePIDCorr.cxx:493
 AliTwoParticlePIDCorr.cxx:494
 AliTwoParticlePIDCorr.cxx:495
 AliTwoParticlePIDCorr.cxx:496
 AliTwoParticlePIDCorr.cxx:497
 AliTwoParticlePIDCorr.cxx:498
 AliTwoParticlePIDCorr.cxx:499
 AliTwoParticlePIDCorr.cxx:500
 AliTwoParticlePIDCorr.cxx:501
 AliTwoParticlePIDCorr.cxx:502
 AliTwoParticlePIDCorr.cxx:503
 AliTwoParticlePIDCorr.cxx:504
 AliTwoParticlePIDCorr.cxx:505
 AliTwoParticlePIDCorr.cxx:506
 AliTwoParticlePIDCorr.cxx:507
 AliTwoParticlePIDCorr.cxx:508
 AliTwoParticlePIDCorr.cxx:509
 AliTwoParticlePIDCorr.cxx:510
 AliTwoParticlePIDCorr.cxx:511
 AliTwoParticlePIDCorr.cxx:512
 AliTwoParticlePIDCorr.cxx:513
 AliTwoParticlePIDCorr.cxx:514
 AliTwoParticlePIDCorr.cxx:515
 AliTwoParticlePIDCorr.cxx:516
 AliTwoParticlePIDCorr.cxx:517
 AliTwoParticlePIDCorr.cxx:518
 AliTwoParticlePIDCorr.cxx:519
 AliTwoParticlePIDCorr.cxx:520
 AliTwoParticlePIDCorr.cxx:521
 AliTwoParticlePIDCorr.cxx:522
 AliTwoParticlePIDCorr.cxx:523
 AliTwoParticlePIDCorr.cxx:524
 AliTwoParticlePIDCorr.cxx:525
 AliTwoParticlePIDCorr.cxx:526
 AliTwoParticlePIDCorr.cxx:527
 AliTwoParticlePIDCorr.cxx:528
 AliTwoParticlePIDCorr.cxx:529
 AliTwoParticlePIDCorr.cxx:530
 AliTwoParticlePIDCorr.cxx:531
 AliTwoParticlePIDCorr.cxx:532
 AliTwoParticlePIDCorr.cxx:533
 AliTwoParticlePIDCorr.cxx:534
 AliTwoParticlePIDCorr.cxx:535
 AliTwoParticlePIDCorr.cxx:536
 AliTwoParticlePIDCorr.cxx:537
 AliTwoParticlePIDCorr.cxx:538
 AliTwoParticlePIDCorr.cxx:539
 AliTwoParticlePIDCorr.cxx:540
 AliTwoParticlePIDCorr.cxx:541
 AliTwoParticlePIDCorr.cxx:542
 AliTwoParticlePIDCorr.cxx:543
 AliTwoParticlePIDCorr.cxx:544
 AliTwoParticlePIDCorr.cxx:545
 AliTwoParticlePIDCorr.cxx:546
 AliTwoParticlePIDCorr.cxx:547
 AliTwoParticlePIDCorr.cxx:548
 AliTwoParticlePIDCorr.cxx:549
 AliTwoParticlePIDCorr.cxx:550
 AliTwoParticlePIDCorr.cxx:551
 AliTwoParticlePIDCorr.cxx:552
 AliTwoParticlePIDCorr.cxx:553
 AliTwoParticlePIDCorr.cxx:554
 AliTwoParticlePIDCorr.cxx:555
 AliTwoParticlePIDCorr.cxx:556
 AliTwoParticlePIDCorr.cxx:557
 AliTwoParticlePIDCorr.cxx:558
 AliTwoParticlePIDCorr.cxx:559
 AliTwoParticlePIDCorr.cxx:560
 AliTwoParticlePIDCorr.cxx:561
 AliTwoParticlePIDCorr.cxx:562
 AliTwoParticlePIDCorr.cxx:563
 AliTwoParticlePIDCorr.cxx:564
 AliTwoParticlePIDCorr.cxx:565
 AliTwoParticlePIDCorr.cxx:566
 AliTwoParticlePIDCorr.cxx:567
 AliTwoParticlePIDCorr.cxx:568
 AliTwoParticlePIDCorr.cxx:569
 AliTwoParticlePIDCorr.cxx:570
 AliTwoParticlePIDCorr.cxx:571
 AliTwoParticlePIDCorr.cxx:572
 AliTwoParticlePIDCorr.cxx:573
 AliTwoParticlePIDCorr.cxx:574
 AliTwoParticlePIDCorr.cxx:575
 AliTwoParticlePIDCorr.cxx:576
 AliTwoParticlePIDCorr.cxx:577
 AliTwoParticlePIDCorr.cxx:578
 AliTwoParticlePIDCorr.cxx:579
 AliTwoParticlePIDCorr.cxx:580
 AliTwoParticlePIDCorr.cxx:581
 AliTwoParticlePIDCorr.cxx:582
 AliTwoParticlePIDCorr.cxx:583
 AliTwoParticlePIDCorr.cxx:584
 AliTwoParticlePIDCorr.cxx:585
 AliTwoParticlePIDCorr.cxx:586
 AliTwoParticlePIDCorr.cxx:587
 AliTwoParticlePIDCorr.cxx:588
 AliTwoParticlePIDCorr.cxx:589
 AliTwoParticlePIDCorr.cxx:590
 AliTwoParticlePIDCorr.cxx:591
 AliTwoParticlePIDCorr.cxx:592
 AliTwoParticlePIDCorr.cxx:593
 AliTwoParticlePIDCorr.cxx:594
 AliTwoParticlePIDCorr.cxx:595
 AliTwoParticlePIDCorr.cxx:596
 AliTwoParticlePIDCorr.cxx:597
 AliTwoParticlePIDCorr.cxx:598
 AliTwoParticlePIDCorr.cxx:599
 AliTwoParticlePIDCorr.cxx:600
 AliTwoParticlePIDCorr.cxx:601
 AliTwoParticlePIDCorr.cxx:602
 AliTwoParticlePIDCorr.cxx:603
 AliTwoParticlePIDCorr.cxx:604
 AliTwoParticlePIDCorr.cxx:605
 AliTwoParticlePIDCorr.cxx:606
 AliTwoParticlePIDCorr.cxx:607
 AliTwoParticlePIDCorr.cxx:608
 AliTwoParticlePIDCorr.cxx:609
 AliTwoParticlePIDCorr.cxx:610
 AliTwoParticlePIDCorr.cxx:611
 AliTwoParticlePIDCorr.cxx:612
 AliTwoParticlePIDCorr.cxx:613
 AliTwoParticlePIDCorr.cxx:614
 AliTwoParticlePIDCorr.cxx:615
 AliTwoParticlePIDCorr.cxx:616
 AliTwoParticlePIDCorr.cxx:617
 AliTwoParticlePIDCorr.cxx:618
 AliTwoParticlePIDCorr.cxx:619
 AliTwoParticlePIDCorr.cxx:620
 AliTwoParticlePIDCorr.cxx:621
 AliTwoParticlePIDCorr.cxx:622
 AliTwoParticlePIDCorr.cxx:623
 AliTwoParticlePIDCorr.cxx:624
 AliTwoParticlePIDCorr.cxx:625
 AliTwoParticlePIDCorr.cxx:626
 AliTwoParticlePIDCorr.cxx:627
 AliTwoParticlePIDCorr.cxx:628
 AliTwoParticlePIDCorr.cxx:629
 AliTwoParticlePIDCorr.cxx:630
 AliTwoParticlePIDCorr.cxx:631
 AliTwoParticlePIDCorr.cxx:632
 AliTwoParticlePIDCorr.cxx:633
 AliTwoParticlePIDCorr.cxx:634
 AliTwoParticlePIDCorr.cxx:635
 AliTwoParticlePIDCorr.cxx:636
 AliTwoParticlePIDCorr.cxx:637
 AliTwoParticlePIDCorr.cxx:638
 AliTwoParticlePIDCorr.cxx:639
 AliTwoParticlePIDCorr.cxx:640
 AliTwoParticlePIDCorr.cxx:641
 AliTwoParticlePIDCorr.cxx:642
 AliTwoParticlePIDCorr.cxx:643
 AliTwoParticlePIDCorr.cxx:644
 AliTwoParticlePIDCorr.cxx:645
 AliTwoParticlePIDCorr.cxx:646
 AliTwoParticlePIDCorr.cxx:647
 AliTwoParticlePIDCorr.cxx:648
 AliTwoParticlePIDCorr.cxx:649
 AliTwoParticlePIDCorr.cxx:650
 AliTwoParticlePIDCorr.cxx:651
 AliTwoParticlePIDCorr.cxx:652
 AliTwoParticlePIDCorr.cxx:653
 AliTwoParticlePIDCorr.cxx:654
 AliTwoParticlePIDCorr.cxx:655
 AliTwoParticlePIDCorr.cxx:656
 AliTwoParticlePIDCorr.cxx:657
 AliTwoParticlePIDCorr.cxx:658
 AliTwoParticlePIDCorr.cxx:659
 AliTwoParticlePIDCorr.cxx:660
 AliTwoParticlePIDCorr.cxx:661
 AliTwoParticlePIDCorr.cxx:662
 AliTwoParticlePIDCorr.cxx:663
 AliTwoParticlePIDCorr.cxx:664
 AliTwoParticlePIDCorr.cxx:665
 AliTwoParticlePIDCorr.cxx:666
 AliTwoParticlePIDCorr.cxx:667
 AliTwoParticlePIDCorr.cxx:668
 AliTwoParticlePIDCorr.cxx:669
 AliTwoParticlePIDCorr.cxx:670
 AliTwoParticlePIDCorr.cxx:671
 AliTwoParticlePIDCorr.cxx:672
 AliTwoParticlePIDCorr.cxx:673
 AliTwoParticlePIDCorr.cxx:674
 AliTwoParticlePIDCorr.cxx:675
 AliTwoParticlePIDCorr.cxx:676
 AliTwoParticlePIDCorr.cxx:677
 AliTwoParticlePIDCorr.cxx:678
 AliTwoParticlePIDCorr.cxx:679
 AliTwoParticlePIDCorr.cxx:680
 AliTwoParticlePIDCorr.cxx:681
 AliTwoParticlePIDCorr.cxx:682
 AliTwoParticlePIDCorr.cxx:683
 AliTwoParticlePIDCorr.cxx:684
 AliTwoParticlePIDCorr.cxx:685
 AliTwoParticlePIDCorr.cxx:686
 AliTwoParticlePIDCorr.cxx:687
 AliTwoParticlePIDCorr.cxx:688
 AliTwoParticlePIDCorr.cxx:689
 AliTwoParticlePIDCorr.cxx:690
 AliTwoParticlePIDCorr.cxx:691
 AliTwoParticlePIDCorr.cxx:692
 AliTwoParticlePIDCorr.cxx:693
 AliTwoParticlePIDCorr.cxx:694
 AliTwoParticlePIDCorr.cxx:695
 AliTwoParticlePIDCorr.cxx:696
 AliTwoParticlePIDCorr.cxx:697
 AliTwoParticlePIDCorr.cxx:698
 AliTwoParticlePIDCorr.cxx:699
 AliTwoParticlePIDCorr.cxx:700
 AliTwoParticlePIDCorr.cxx:701
 AliTwoParticlePIDCorr.cxx:702
 AliTwoParticlePIDCorr.cxx:703
 AliTwoParticlePIDCorr.cxx:704
 AliTwoParticlePIDCorr.cxx:705
 AliTwoParticlePIDCorr.cxx:706
 AliTwoParticlePIDCorr.cxx:707
 AliTwoParticlePIDCorr.cxx:708
 AliTwoParticlePIDCorr.cxx:709
 AliTwoParticlePIDCorr.cxx:710
 AliTwoParticlePIDCorr.cxx:711
 AliTwoParticlePIDCorr.cxx:712
 AliTwoParticlePIDCorr.cxx:713
 AliTwoParticlePIDCorr.cxx:714
 AliTwoParticlePIDCorr.cxx:715
 AliTwoParticlePIDCorr.cxx:716
 AliTwoParticlePIDCorr.cxx:717
 AliTwoParticlePIDCorr.cxx:718
 AliTwoParticlePIDCorr.cxx:719
 AliTwoParticlePIDCorr.cxx:720
 AliTwoParticlePIDCorr.cxx:721
 AliTwoParticlePIDCorr.cxx:722
 AliTwoParticlePIDCorr.cxx:723
 AliTwoParticlePIDCorr.cxx:724
 AliTwoParticlePIDCorr.cxx:725
 AliTwoParticlePIDCorr.cxx:726
 AliTwoParticlePIDCorr.cxx:727
 AliTwoParticlePIDCorr.cxx:728
 AliTwoParticlePIDCorr.cxx:729
 AliTwoParticlePIDCorr.cxx:730
 AliTwoParticlePIDCorr.cxx:731
 AliTwoParticlePIDCorr.cxx:732
 AliTwoParticlePIDCorr.cxx:733
 AliTwoParticlePIDCorr.cxx:734
 AliTwoParticlePIDCorr.cxx:735
 AliTwoParticlePIDCorr.cxx:736
 AliTwoParticlePIDCorr.cxx:737
 AliTwoParticlePIDCorr.cxx:738
 AliTwoParticlePIDCorr.cxx:739
 AliTwoParticlePIDCorr.cxx:740
 AliTwoParticlePIDCorr.cxx:741
 AliTwoParticlePIDCorr.cxx:742
 AliTwoParticlePIDCorr.cxx:743
 AliTwoParticlePIDCorr.cxx:744
 AliTwoParticlePIDCorr.cxx:745
 AliTwoParticlePIDCorr.cxx:746
 AliTwoParticlePIDCorr.cxx:747
 AliTwoParticlePIDCorr.cxx:748
 AliTwoParticlePIDCorr.cxx:749
 AliTwoParticlePIDCorr.cxx:750
 AliTwoParticlePIDCorr.cxx:751
 AliTwoParticlePIDCorr.cxx:752
 AliTwoParticlePIDCorr.cxx:753
 AliTwoParticlePIDCorr.cxx:754
 AliTwoParticlePIDCorr.cxx:755
 AliTwoParticlePIDCorr.cxx:756
 AliTwoParticlePIDCorr.cxx:757
 AliTwoParticlePIDCorr.cxx:758
 AliTwoParticlePIDCorr.cxx:759
 AliTwoParticlePIDCorr.cxx:760
 AliTwoParticlePIDCorr.cxx:761
 AliTwoParticlePIDCorr.cxx:762
 AliTwoParticlePIDCorr.cxx:763
 AliTwoParticlePIDCorr.cxx:764
 AliTwoParticlePIDCorr.cxx:765
 AliTwoParticlePIDCorr.cxx:766
 AliTwoParticlePIDCorr.cxx:767
 AliTwoParticlePIDCorr.cxx:768
 AliTwoParticlePIDCorr.cxx:769
 AliTwoParticlePIDCorr.cxx:770
 AliTwoParticlePIDCorr.cxx:771
 AliTwoParticlePIDCorr.cxx:772
 AliTwoParticlePIDCorr.cxx:773
 AliTwoParticlePIDCorr.cxx:774
 AliTwoParticlePIDCorr.cxx:775
 AliTwoParticlePIDCorr.cxx:776
 AliTwoParticlePIDCorr.cxx:777
 AliTwoParticlePIDCorr.cxx:778
 AliTwoParticlePIDCorr.cxx:779
 AliTwoParticlePIDCorr.cxx:780
 AliTwoParticlePIDCorr.cxx:781
 AliTwoParticlePIDCorr.cxx:782
 AliTwoParticlePIDCorr.cxx:783
 AliTwoParticlePIDCorr.cxx:784
 AliTwoParticlePIDCorr.cxx:785
 AliTwoParticlePIDCorr.cxx:786
 AliTwoParticlePIDCorr.cxx:787
 AliTwoParticlePIDCorr.cxx:788
 AliTwoParticlePIDCorr.cxx:789
 AliTwoParticlePIDCorr.cxx:790
 AliTwoParticlePIDCorr.cxx:791
 AliTwoParticlePIDCorr.cxx:792
 AliTwoParticlePIDCorr.cxx:793
 AliTwoParticlePIDCorr.cxx:794
 AliTwoParticlePIDCorr.cxx:795
 AliTwoParticlePIDCorr.cxx:796
 AliTwoParticlePIDCorr.cxx:797
 AliTwoParticlePIDCorr.cxx:798
 AliTwoParticlePIDCorr.cxx:799
 AliTwoParticlePIDCorr.cxx:800
 AliTwoParticlePIDCorr.cxx:801
 AliTwoParticlePIDCorr.cxx:802
 AliTwoParticlePIDCorr.cxx:803
 AliTwoParticlePIDCorr.cxx:804
 AliTwoParticlePIDCorr.cxx:805
 AliTwoParticlePIDCorr.cxx:806
 AliTwoParticlePIDCorr.cxx:807
 AliTwoParticlePIDCorr.cxx:808
 AliTwoParticlePIDCorr.cxx:809
 AliTwoParticlePIDCorr.cxx:810
 AliTwoParticlePIDCorr.cxx:811
 AliTwoParticlePIDCorr.cxx:812
 AliTwoParticlePIDCorr.cxx:813
 AliTwoParticlePIDCorr.cxx:814
 AliTwoParticlePIDCorr.cxx:815
 AliTwoParticlePIDCorr.cxx:816
 AliTwoParticlePIDCorr.cxx:817
 AliTwoParticlePIDCorr.cxx:818
 AliTwoParticlePIDCorr.cxx:819
 AliTwoParticlePIDCorr.cxx:820
 AliTwoParticlePIDCorr.cxx:821
 AliTwoParticlePIDCorr.cxx:822
 AliTwoParticlePIDCorr.cxx:823
 AliTwoParticlePIDCorr.cxx:824
 AliTwoParticlePIDCorr.cxx:825
 AliTwoParticlePIDCorr.cxx:826
 AliTwoParticlePIDCorr.cxx:827
 AliTwoParticlePIDCorr.cxx:828
 AliTwoParticlePIDCorr.cxx:829
 AliTwoParticlePIDCorr.cxx:830
 AliTwoParticlePIDCorr.cxx:831
 AliTwoParticlePIDCorr.cxx:832
 AliTwoParticlePIDCorr.cxx:833
 AliTwoParticlePIDCorr.cxx:834
 AliTwoParticlePIDCorr.cxx:835
 AliTwoParticlePIDCorr.cxx:836
 AliTwoParticlePIDCorr.cxx:837
 AliTwoParticlePIDCorr.cxx:838
 AliTwoParticlePIDCorr.cxx:839
 AliTwoParticlePIDCorr.cxx:840
 AliTwoParticlePIDCorr.cxx:841
 AliTwoParticlePIDCorr.cxx:842
 AliTwoParticlePIDCorr.cxx:843
 AliTwoParticlePIDCorr.cxx:844
 AliTwoParticlePIDCorr.cxx:845
 AliTwoParticlePIDCorr.cxx:846
 AliTwoParticlePIDCorr.cxx:847
 AliTwoParticlePIDCorr.cxx:848
 AliTwoParticlePIDCorr.cxx:849
 AliTwoParticlePIDCorr.cxx:850
 AliTwoParticlePIDCorr.cxx:851
 AliTwoParticlePIDCorr.cxx:852
 AliTwoParticlePIDCorr.cxx:853
 AliTwoParticlePIDCorr.cxx:854
 AliTwoParticlePIDCorr.cxx:855
 AliTwoParticlePIDCorr.cxx:856
 AliTwoParticlePIDCorr.cxx:857
 AliTwoParticlePIDCorr.cxx:858
 AliTwoParticlePIDCorr.cxx:859
 AliTwoParticlePIDCorr.cxx:860
 AliTwoParticlePIDCorr.cxx:861
 AliTwoParticlePIDCorr.cxx:862
 AliTwoParticlePIDCorr.cxx:863
 AliTwoParticlePIDCorr.cxx:864
 AliTwoParticlePIDCorr.cxx:865
 AliTwoParticlePIDCorr.cxx:866
 AliTwoParticlePIDCorr.cxx:867
 AliTwoParticlePIDCorr.cxx:868
 AliTwoParticlePIDCorr.cxx:869
 AliTwoParticlePIDCorr.cxx:870
 AliTwoParticlePIDCorr.cxx:871
 AliTwoParticlePIDCorr.cxx:872
 AliTwoParticlePIDCorr.cxx:873
 AliTwoParticlePIDCorr.cxx:874
 AliTwoParticlePIDCorr.cxx:875
 AliTwoParticlePIDCorr.cxx:876
 AliTwoParticlePIDCorr.cxx:877
 AliTwoParticlePIDCorr.cxx:878
 AliTwoParticlePIDCorr.cxx:879
 AliTwoParticlePIDCorr.cxx:880
 AliTwoParticlePIDCorr.cxx:881
 AliTwoParticlePIDCorr.cxx:882
 AliTwoParticlePIDCorr.cxx:883
 AliTwoParticlePIDCorr.cxx:884
 AliTwoParticlePIDCorr.cxx:885
 AliTwoParticlePIDCorr.cxx:886
 AliTwoParticlePIDCorr.cxx:887
 AliTwoParticlePIDCorr.cxx:888
 AliTwoParticlePIDCorr.cxx:889
 AliTwoParticlePIDCorr.cxx:890
 AliTwoParticlePIDCorr.cxx:891
 AliTwoParticlePIDCorr.cxx:892
 AliTwoParticlePIDCorr.cxx:893
 AliTwoParticlePIDCorr.cxx:894
 AliTwoParticlePIDCorr.cxx:895
 AliTwoParticlePIDCorr.cxx:896
 AliTwoParticlePIDCorr.cxx:897
 AliTwoParticlePIDCorr.cxx:898
 AliTwoParticlePIDCorr.cxx:899
 AliTwoParticlePIDCorr.cxx:900
 AliTwoParticlePIDCorr.cxx:901
 AliTwoParticlePIDCorr.cxx:902
 AliTwoParticlePIDCorr.cxx:903
 AliTwoParticlePIDCorr.cxx:904
 AliTwoParticlePIDCorr.cxx:905
 AliTwoParticlePIDCorr.cxx:906
 AliTwoParticlePIDCorr.cxx:907
 AliTwoParticlePIDCorr.cxx:908
 AliTwoParticlePIDCorr.cxx:909
 AliTwoParticlePIDCorr.cxx:910
 AliTwoParticlePIDCorr.cxx:911
 AliTwoParticlePIDCorr.cxx:912
 AliTwoParticlePIDCorr.cxx:913
 AliTwoParticlePIDCorr.cxx:914
 AliTwoParticlePIDCorr.cxx:915
 AliTwoParticlePIDCorr.cxx:916
 AliTwoParticlePIDCorr.cxx:917
 AliTwoParticlePIDCorr.cxx:918
 AliTwoParticlePIDCorr.cxx:919
 AliTwoParticlePIDCorr.cxx:920
 AliTwoParticlePIDCorr.cxx:921
 AliTwoParticlePIDCorr.cxx:922
 AliTwoParticlePIDCorr.cxx:923
 AliTwoParticlePIDCorr.cxx:924
 AliTwoParticlePIDCorr.cxx:925
 AliTwoParticlePIDCorr.cxx:926
 AliTwoParticlePIDCorr.cxx:927
 AliTwoParticlePIDCorr.cxx:928
 AliTwoParticlePIDCorr.cxx:929
 AliTwoParticlePIDCorr.cxx:930
 AliTwoParticlePIDCorr.cxx:931
 AliTwoParticlePIDCorr.cxx:932
 AliTwoParticlePIDCorr.cxx:933
 AliTwoParticlePIDCorr.cxx:934
 AliTwoParticlePIDCorr.cxx:935
 AliTwoParticlePIDCorr.cxx:936
 AliTwoParticlePIDCorr.cxx:937
 AliTwoParticlePIDCorr.cxx:938
 AliTwoParticlePIDCorr.cxx:939
 AliTwoParticlePIDCorr.cxx:940
 AliTwoParticlePIDCorr.cxx:941
 AliTwoParticlePIDCorr.cxx:942
 AliTwoParticlePIDCorr.cxx:943
 AliTwoParticlePIDCorr.cxx:944
 AliTwoParticlePIDCorr.cxx:945
 AliTwoParticlePIDCorr.cxx:946
 AliTwoParticlePIDCorr.cxx:947
 AliTwoParticlePIDCorr.cxx:948
 AliTwoParticlePIDCorr.cxx:949
 AliTwoParticlePIDCorr.cxx:950
 AliTwoParticlePIDCorr.cxx:951
 AliTwoParticlePIDCorr.cxx:952
 AliTwoParticlePIDCorr.cxx:953
 AliTwoParticlePIDCorr.cxx:954
 AliTwoParticlePIDCorr.cxx:955
 AliTwoParticlePIDCorr.cxx:956
 AliTwoParticlePIDCorr.cxx:957
 AliTwoParticlePIDCorr.cxx:958
 AliTwoParticlePIDCorr.cxx:959
 AliTwoParticlePIDCorr.cxx:960
 AliTwoParticlePIDCorr.cxx:961
 AliTwoParticlePIDCorr.cxx:962
 AliTwoParticlePIDCorr.cxx:963
 AliTwoParticlePIDCorr.cxx:964
 AliTwoParticlePIDCorr.cxx:965
 AliTwoParticlePIDCorr.cxx:966
 AliTwoParticlePIDCorr.cxx:967
 AliTwoParticlePIDCorr.cxx:968
 AliTwoParticlePIDCorr.cxx:969
 AliTwoParticlePIDCorr.cxx:970
 AliTwoParticlePIDCorr.cxx:971
 AliTwoParticlePIDCorr.cxx:972
 AliTwoParticlePIDCorr.cxx:973
 AliTwoParticlePIDCorr.cxx:974
 AliTwoParticlePIDCorr.cxx:975
 AliTwoParticlePIDCorr.cxx:976
 AliTwoParticlePIDCorr.cxx:977
 AliTwoParticlePIDCorr.cxx:978
 AliTwoParticlePIDCorr.cxx:979
 AliTwoParticlePIDCorr.cxx:980
 AliTwoParticlePIDCorr.cxx:981
 AliTwoParticlePIDCorr.cxx:982
 AliTwoParticlePIDCorr.cxx:983
 AliTwoParticlePIDCorr.cxx:984
 AliTwoParticlePIDCorr.cxx:985
 AliTwoParticlePIDCorr.cxx:986
 AliTwoParticlePIDCorr.cxx:987
 AliTwoParticlePIDCorr.cxx:988
 AliTwoParticlePIDCorr.cxx:989
 AliTwoParticlePIDCorr.cxx:990
 AliTwoParticlePIDCorr.cxx:991
 AliTwoParticlePIDCorr.cxx:992
 AliTwoParticlePIDCorr.cxx:993
 AliTwoParticlePIDCorr.cxx:994
 AliTwoParticlePIDCorr.cxx:995
 AliTwoParticlePIDCorr.cxx:996
 AliTwoParticlePIDCorr.cxx:997
 AliTwoParticlePIDCorr.cxx:998
 AliTwoParticlePIDCorr.cxx:999
 AliTwoParticlePIDCorr.cxx:1000
 AliTwoParticlePIDCorr.cxx:1001
 AliTwoParticlePIDCorr.cxx:1002
 AliTwoParticlePIDCorr.cxx:1003
 AliTwoParticlePIDCorr.cxx:1004
 AliTwoParticlePIDCorr.cxx:1005
 AliTwoParticlePIDCorr.cxx:1006
 AliTwoParticlePIDCorr.cxx:1007
 AliTwoParticlePIDCorr.cxx:1008
 AliTwoParticlePIDCorr.cxx:1009
 AliTwoParticlePIDCorr.cxx:1010
 AliTwoParticlePIDCorr.cxx:1011
 AliTwoParticlePIDCorr.cxx:1012
 AliTwoParticlePIDCorr.cxx:1013
 AliTwoParticlePIDCorr.cxx:1014
 AliTwoParticlePIDCorr.cxx:1015
 AliTwoParticlePIDCorr.cxx:1016
 AliTwoParticlePIDCorr.cxx:1017
 AliTwoParticlePIDCorr.cxx:1018
 AliTwoParticlePIDCorr.cxx:1019
 AliTwoParticlePIDCorr.cxx:1020
 AliTwoParticlePIDCorr.cxx:1021
 AliTwoParticlePIDCorr.cxx:1022
 AliTwoParticlePIDCorr.cxx:1023
 AliTwoParticlePIDCorr.cxx:1024
 AliTwoParticlePIDCorr.cxx:1025
 AliTwoParticlePIDCorr.cxx:1026
 AliTwoParticlePIDCorr.cxx:1027
 AliTwoParticlePIDCorr.cxx:1028
 AliTwoParticlePIDCorr.cxx:1029
 AliTwoParticlePIDCorr.cxx:1030
 AliTwoParticlePIDCorr.cxx:1031
 AliTwoParticlePIDCorr.cxx:1032
 AliTwoParticlePIDCorr.cxx:1033
 AliTwoParticlePIDCorr.cxx:1034
 AliTwoParticlePIDCorr.cxx:1035
 AliTwoParticlePIDCorr.cxx:1036
 AliTwoParticlePIDCorr.cxx:1037
 AliTwoParticlePIDCorr.cxx:1038
 AliTwoParticlePIDCorr.cxx:1039
 AliTwoParticlePIDCorr.cxx:1040
 AliTwoParticlePIDCorr.cxx:1041
 AliTwoParticlePIDCorr.cxx:1042
 AliTwoParticlePIDCorr.cxx:1043
 AliTwoParticlePIDCorr.cxx:1044
 AliTwoParticlePIDCorr.cxx:1045
 AliTwoParticlePIDCorr.cxx:1046
 AliTwoParticlePIDCorr.cxx:1047
 AliTwoParticlePIDCorr.cxx:1048
 AliTwoParticlePIDCorr.cxx:1049
 AliTwoParticlePIDCorr.cxx:1050
 AliTwoParticlePIDCorr.cxx:1051
 AliTwoParticlePIDCorr.cxx:1052
 AliTwoParticlePIDCorr.cxx:1053
 AliTwoParticlePIDCorr.cxx:1054
 AliTwoParticlePIDCorr.cxx:1055
 AliTwoParticlePIDCorr.cxx:1056
 AliTwoParticlePIDCorr.cxx:1057
 AliTwoParticlePIDCorr.cxx:1058
 AliTwoParticlePIDCorr.cxx:1059
 AliTwoParticlePIDCorr.cxx:1060
 AliTwoParticlePIDCorr.cxx:1061
 AliTwoParticlePIDCorr.cxx:1062
 AliTwoParticlePIDCorr.cxx:1063
 AliTwoParticlePIDCorr.cxx:1064
 AliTwoParticlePIDCorr.cxx:1065
 AliTwoParticlePIDCorr.cxx:1066
 AliTwoParticlePIDCorr.cxx:1067
 AliTwoParticlePIDCorr.cxx:1068
 AliTwoParticlePIDCorr.cxx:1069
 AliTwoParticlePIDCorr.cxx:1070
 AliTwoParticlePIDCorr.cxx:1071
 AliTwoParticlePIDCorr.cxx:1072
 AliTwoParticlePIDCorr.cxx:1073
 AliTwoParticlePIDCorr.cxx:1074
 AliTwoParticlePIDCorr.cxx:1075
 AliTwoParticlePIDCorr.cxx:1076
 AliTwoParticlePIDCorr.cxx:1077
 AliTwoParticlePIDCorr.cxx:1078
 AliTwoParticlePIDCorr.cxx:1079
 AliTwoParticlePIDCorr.cxx:1080
 AliTwoParticlePIDCorr.cxx:1081
 AliTwoParticlePIDCorr.cxx:1082
 AliTwoParticlePIDCorr.cxx:1083
 AliTwoParticlePIDCorr.cxx:1084
 AliTwoParticlePIDCorr.cxx:1085
 AliTwoParticlePIDCorr.cxx:1086
 AliTwoParticlePIDCorr.cxx:1087
 AliTwoParticlePIDCorr.cxx:1088
 AliTwoParticlePIDCorr.cxx:1089
 AliTwoParticlePIDCorr.cxx:1090
 AliTwoParticlePIDCorr.cxx:1091
 AliTwoParticlePIDCorr.cxx:1092
 AliTwoParticlePIDCorr.cxx:1093
 AliTwoParticlePIDCorr.cxx:1094
 AliTwoParticlePIDCorr.cxx:1095
 AliTwoParticlePIDCorr.cxx:1096
 AliTwoParticlePIDCorr.cxx:1097
 AliTwoParticlePIDCorr.cxx:1098
 AliTwoParticlePIDCorr.cxx:1099
 AliTwoParticlePIDCorr.cxx:1100
 AliTwoParticlePIDCorr.cxx:1101
 AliTwoParticlePIDCorr.cxx:1102
 AliTwoParticlePIDCorr.cxx:1103
 AliTwoParticlePIDCorr.cxx:1104
 AliTwoParticlePIDCorr.cxx:1105
 AliTwoParticlePIDCorr.cxx:1106
 AliTwoParticlePIDCorr.cxx:1107
 AliTwoParticlePIDCorr.cxx:1108
 AliTwoParticlePIDCorr.cxx:1109
 AliTwoParticlePIDCorr.cxx:1110
 AliTwoParticlePIDCorr.cxx:1111
 AliTwoParticlePIDCorr.cxx:1112
 AliTwoParticlePIDCorr.cxx:1113
 AliTwoParticlePIDCorr.cxx:1114
 AliTwoParticlePIDCorr.cxx:1115
 AliTwoParticlePIDCorr.cxx:1116
 AliTwoParticlePIDCorr.cxx:1117
 AliTwoParticlePIDCorr.cxx:1118
 AliTwoParticlePIDCorr.cxx:1119
 AliTwoParticlePIDCorr.cxx:1120
 AliTwoParticlePIDCorr.cxx:1121
 AliTwoParticlePIDCorr.cxx:1122
 AliTwoParticlePIDCorr.cxx:1123
 AliTwoParticlePIDCorr.cxx:1124
 AliTwoParticlePIDCorr.cxx:1125
 AliTwoParticlePIDCorr.cxx:1126
 AliTwoParticlePIDCorr.cxx:1127
 AliTwoParticlePIDCorr.cxx:1128
 AliTwoParticlePIDCorr.cxx:1129
 AliTwoParticlePIDCorr.cxx:1130
 AliTwoParticlePIDCorr.cxx:1131
 AliTwoParticlePIDCorr.cxx:1132
 AliTwoParticlePIDCorr.cxx:1133
 AliTwoParticlePIDCorr.cxx:1134
 AliTwoParticlePIDCorr.cxx:1135
 AliTwoParticlePIDCorr.cxx:1136
 AliTwoParticlePIDCorr.cxx:1137
 AliTwoParticlePIDCorr.cxx:1138
 AliTwoParticlePIDCorr.cxx:1139
 AliTwoParticlePIDCorr.cxx:1140
 AliTwoParticlePIDCorr.cxx:1141
 AliTwoParticlePIDCorr.cxx:1142
 AliTwoParticlePIDCorr.cxx:1143
 AliTwoParticlePIDCorr.cxx:1144
 AliTwoParticlePIDCorr.cxx:1145
 AliTwoParticlePIDCorr.cxx:1146
 AliTwoParticlePIDCorr.cxx:1147
 AliTwoParticlePIDCorr.cxx:1148
 AliTwoParticlePIDCorr.cxx:1149
 AliTwoParticlePIDCorr.cxx:1150
 AliTwoParticlePIDCorr.cxx:1151
 AliTwoParticlePIDCorr.cxx:1152
 AliTwoParticlePIDCorr.cxx:1153
 AliTwoParticlePIDCorr.cxx:1154
 AliTwoParticlePIDCorr.cxx:1155
 AliTwoParticlePIDCorr.cxx:1156
 AliTwoParticlePIDCorr.cxx:1157
 AliTwoParticlePIDCorr.cxx:1158
 AliTwoParticlePIDCorr.cxx:1159
 AliTwoParticlePIDCorr.cxx:1160
 AliTwoParticlePIDCorr.cxx:1161
 AliTwoParticlePIDCorr.cxx:1162
 AliTwoParticlePIDCorr.cxx:1163
 AliTwoParticlePIDCorr.cxx:1164
 AliTwoParticlePIDCorr.cxx:1165
 AliTwoParticlePIDCorr.cxx:1166
 AliTwoParticlePIDCorr.cxx:1167
 AliTwoParticlePIDCorr.cxx:1168
 AliTwoParticlePIDCorr.cxx:1169
 AliTwoParticlePIDCorr.cxx:1170
 AliTwoParticlePIDCorr.cxx:1171
 AliTwoParticlePIDCorr.cxx:1172
 AliTwoParticlePIDCorr.cxx:1173
 AliTwoParticlePIDCorr.cxx:1174
 AliTwoParticlePIDCorr.cxx:1175
 AliTwoParticlePIDCorr.cxx:1176
 AliTwoParticlePIDCorr.cxx:1177
 AliTwoParticlePIDCorr.cxx:1178
 AliTwoParticlePIDCorr.cxx:1179
 AliTwoParticlePIDCorr.cxx:1180
 AliTwoParticlePIDCorr.cxx:1181
 AliTwoParticlePIDCorr.cxx:1182
 AliTwoParticlePIDCorr.cxx:1183
 AliTwoParticlePIDCorr.cxx:1184
 AliTwoParticlePIDCorr.cxx:1185
 AliTwoParticlePIDCorr.cxx:1186
 AliTwoParticlePIDCorr.cxx:1187
 AliTwoParticlePIDCorr.cxx:1188
 AliTwoParticlePIDCorr.cxx:1189
 AliTwoParticlePIDCorr.cxx:1190
 AliTwoParticlePIDCorr.cxx:1191
 AliTwoParticlePIDCorr.cxx:1192
 AliTwoParticlePIDCorr.cxx:1193
 AliTwoParticlePIDCorr.cxx:1194
 AliTwoParticlePIDCorr.cxx:1195
 AliTwoParticlePIDCorr.cxx:1196
 AliTwoParticlePIDCorr.cxx:1197
 AliTwoParticlePIDCorr.cxx:1198
 AliTwoParticlePIDCorr.cxx:1199
 AliTwoParticlePIDCorr.cxx:1200
 AliTwoParticlePIDCorr.cxx:1201
 AliTwoParticlePIDCorr.cxx:1202
 AliTwoParticlePIDCorr.cxx:1203
 AliTwoParticlePIDCorr.cxx:1204
 AliTwoParticlePIDCorr.cxx:1205
 AliTwoParticlePIDCorr.cxx:1206
 AliTwoParticlePIDCorr.cxx:1207
 AliTwoParticlePIDCorr.cxx:1208
 AliTwoParticlePIDCorr.cxx:1209
 AliTwoParticlePIDCorr.cxx:1210
 AliTwoParticlePIDCorr.cxx:1211
 AliTwoParticlePIDCorr.cxx:1212
 AliTwoParticlePIDCorr.cxx:1213
 AliTwoParticlePIDCorr.cxx:1214
 AliTwoParticlePIDCorr.cxx:1215
 AliTwoParticlePIDCorr.cxx:1216
 AliTwoParticlePIDCorr.cxx:1217
 AliTwoParticlePIDCorr.cxx:1218
 AliTwoParticlePIDCorr.cxx:1219
 AliTwoParticlePIDCorr.cxx:1220
 AliTwoParticlePIDCorr.cxx:1221
 AliTwoParticlePIDCorr.cxx:1222
 AliTwoParticlePIDCorr.cxx:1223
 AliTwoParticlePIDCorr.cxx:1224
 AliTwoParticlePIDCorr.cxx:1225
 AliTwoParticlePIDCorr.cxx:1226
 AliTwoParticlePIDCorr.cxx:1227
 AliTwoParticlePIDCorr.cxx:1228
 AliTwoParticlePIDCorr.cxx:1229
 AliTwoParticlePIDCorr.cxx:1230
 AliTwoParticlePIDCorr.cxx:1231
 AliTwoParticlePIDCorr.cxx:1232
 AliTwoParticlePIDCorr.cxx:1233
 AliTwoParticlePIDCorr.cxx:1234
 AliTwoParticlePIDCorr.cxx:1235
 AliTwoParticlePIDCorr.cxx:1236
 AliTwoParticlePIDCorr.cxx:1237
 AliTwoParticlePIDCorr.cxx:1238
 AliTwoParticlePIDCorr.cxx:1239
 AliTwoParticlePIDCorr.cxx:1240
 AliTwoParticlePIDCorr.cxx:1241
 AliTwoParticlePIDCorr.cxx:1242
 AliTwoParticlePIDCorr.cxx:1243
 AliTwoParticlePIDCorr.cxx:1244
 AliTwoParticlePIDCorr.cxx:1245
 AliTwoParticlePIDCorr.cxx:1246
 AliTwoParticlePIDCorr.cxx:1247
 AliTwoParticlePIDCorr.cxx:1248
 AliTwoParticlePIDCorr.cxx:1249
 AliTwoParticlePIDCorr.cxx:1250
 AliTwoParticlePIDCorr.cxx:1251
 AliTwoParticlePIDCorr.cxx:1252
 AliTwoParticlePIDCorr.cxx:1253
 AliTwoParticlePIDCorr.cxx:1254
 AliTwoParticlePIDCorr.cxx:1255
 AliTwoParticlePIDCorr.cxx:1256
 AliTwoParticlePIDCorr.cxx:1257
 AliTwoParticlePIDCorr.cxx:1258
 AliTwoParticlePIDCorr.cxx:1259
 AliTwoParticlePIDCorr.cxx:1260
 AliTwoParticlePIDCorr.cxx:1261
 AliTwoParticlePIDCorr.cxx:1262
 AliTwoParticlePIDCorr.cxx:1263
 AliTwoParticlePIDCorr.cxx:1264
 AliTwoParticlePIDCorr.cxx:1265
 AliTwoParticlePIDCorr.cxx:1266
 AliTwoParticlePIDCorr.cxx:1267
 AliTwoParticlePIDCorr.cxx:1268
 AliTwoParticlePIDCorr.cxx:1269
 AliTwoParticlePIDCorr.cxx:1270
 AliTwoParticlePIDCorr.cxx:1271
 AliTwoParticlePIDCorr.cxx:1272
 AliTwoParticlePIDCorr.cxx:1273
 AliTwoParticlePIDCorr.cxx:1274
 AliTwoParticlePIDCorr.cxx:1275
 AliTwoParticlePIDCorr.cxx:1276
 AliTwoParticlePIDCorr.cxx:1277
 AliTwoParticlePIDCorr.cxx:1278
 AliTwoParticlePIDCorr.cxx:1279
 AliTwoParticlePIDCorr.cxx:1280
 AliTwoParticlePIDCorr.cxx:1281
 AliTwoParticlePIDCorr.cxx:1282
 AliTwoParticlePIDCorr.cxx:1283
 AliTwoParticlePIDCorr.cxx:1284
 AliTwoParticlePIDCorr.cxx:1285
 AliTwoParticlePIDCorr.cxx:1286
 AliTwoParticlePIDCorr.cxx:1287
 AliTwoParticlePIDCorr.cxx:1288
 AliTwoParticlePIDCorr.cxx:1289
 AliTwoParticlePIDCorr.cxx:1290
 AliTwoParticlePIDCorr.cxx:1291
 AliTwoParticlePIDCorr.cxx:1292
 AliTwoParticlePIDCorr.cxx:1293
 AliTwoParticlePIDCorr.cxx:1294
 AliTwoParticlePIDCorr.cxx:1295
 AliTwoParticlePIDCorr.cxx:1296
 AliTwoParticlePIDCorr.cxx:1297
 AliTwoParticlePIDCorr.cxx:1298
 AliTwoParticlePIDCorr.cxx:1299
 AliTwoParticlePIDCorr.cxx:1300
 AliTwoParticlePIDCorr.cxx:1301
 AliTwoParticlePIDCorr.cxx:1302
 AliTwoParticlePIDCorr.cxx:1303
 AliTwoParticlePIDCorr.cxx:1304
 AliTwoParticlePIDCorr.cxx:1305
 AliTwoParticlePIDCorr.cxx:1306
 AliTwoParticlePIDCorr.cxx:1307
 AliTwoParticlePIDCorr.cxx:1308
 AliTwoParticlePIDCorr.cxx:1309
 AliTwoParticlePIDCorr.cxx:1310
 AliTwoParticlePIDCorr.cxx:1311
 AliTwoParticlePIDCorr.cxx:1312
 AliTwoParticlePIDCorr.cxx:1313
 AliTwoParticlePIDCorr.cxx:1314
 AliTwoParticlePIDCorr.cxx:1315
 AliTwoParticlePIDCorr.cxx:1316
 AliTwoParticlePIDCorr.cxx:1317
 AliTwoParticlePIDCorr.cxx:1318
 AliTwoParticlePIDCorr.cxx:1319
 AliTwoParticlePIDCorr.cxx:1320
 AliTwoParticlePIDCorr.cxx:1321
 AliTwoParticlePIDCorr.cxx:1322
 AliTwoParticlePIDCorr.cxx:1323
 AliTwoParticlePIDCorr.cxx:1324
 AliTwoParticlePIDCorr.cxx:1325
 AliTwoParticlePIDCorr.cxx:1326
 AliTwoParticlePIDCorr.cxx:1327
 AliTwoParticlePIDCorr.cxx:1328
 AliTwoParticlePIDCorr.cxx:1329
 AliTwoParticlePIDCorr.cxx:1330
 AliTwoParticlePIDCorr.cxx:1331
 AliTwoParticlePIDCorr.cxx:1332
 AliTwoParticlePIDCorr.cxx:1333
 AliTwoParticlePIDCorr.cxx:1334
 AliTwoParticlePIDCorr.cxx:1335
 AliTwoParticlePIDCorr.cxx:1336
 AliTwoParticlePIDCorr.cxx:1337
 AliTwoParticlePIDCorr.cxx:1338
 AliTwoParticlePIDCorr.cxx:1339
 AliTwoParticlePIDCorr.cxx:1340
 AliTwoParticlePIDCorr.cxx:1341
 AliTwoParticlePIDCorr.cxx:1342
 AliTwoParticlePIDCorr.cxx:1343
 AliTwoParticlePIDCorr.cxx:1344
 AliTwoParticlePIDCorr.cxx:1345
 AliTwoParticlePIDCorr.cxx:1346
 AliTwoParticlePIDCorr.cxx:1347
 AliTwoParticlePIDCorr.cxx:1348
 AliTwoParticlePIDCorr.cxx:1349
 AliTwoParticlePIDCorr.cxx:1350
 AliTwoParticlePIDCorr.cxx:1351
 AliTwoParticlePIDCorr.cxx:1352
 AliTwoParticlePIDCorr.cxx:1353
 AliTwoParticlePIDCorr.cxx:1354
 AliTwoParticlePIDCorr.cxx:1355
 AliTwoParticlePIDCorr.cxx:1356
 AliTwoParticlePIDCorr.cxx:1357
 AliTwoParticlePIDCorr.cxx:1358
 AliTwoParticlePIDCorr.cxx:1359
 AliTwoParticlePIDCorr.cxx:1360
 AliTwoParticlePIDCorr.cxx:1361
 AliTwoParticlePIDCorr.cxx:1362
 AliTwoParticlePIDCorr.cxx:1363
 AliTwoParticlePIDCorr.cxx:1364
 AliTwoParticlePIDCorr.cxx:1365
 AliTwoParticlePIDCorr.cxx:1366
 AliTwoParticlePIDCorr.cxx:1367
 AliTwoParticlePIDCorr.cxx:1368
 AliTwoParticlePIDCorr.cxx:1369
 AliTwoParticlePIDCorr.cxx:1370
 AliTwoParticlePIDCorr.cxx:1371
 AliTwoParticlePIDCorr.cxx:1372
 AliTwoParticlePIDCorr.cxx:1373
 AliTwoParticlePIDCorr.cxx:1374
 AliTwoParticlePIDCorr.cxx:1375
 AliTwoParticlePIDCorr.cxx:1376
 AliTwoParticlePIDCorr.cxx:1377
 AliTwoParticlePIDCorr.cxx:1378
 AliTwoParticlePIDCorr.cxx:1379
 AliTwoParticlePIDCorr.cxx:1380
 AliTwoParticlePIDCorr.cxx:1381
 AliTwoParticlePIDCorr.cxx:1382
 AliTwoParticlePIDCorr.cxx:1383
 AliTwoParticlePIDCorr.cxx:1384
 AliTwoParticlePIDCorr.cxx:1385
 AliTwoParticlePIDCorr.cxx:1386
 AliTwoParticlePIDCorr.cxx:1387
 AliTwoParticlePIDCorr.cxx:1388
 AliTwoParticlePIDCorr.cxx:1389
 AliTwoParticlePIDCorr.cxx:1390
 AliTwoParticlePIDCorr.cxx:1391
 AliTwoParticlePIDCorr.cxx:1392
 AliTwoParticlePIDCorr.cxx:1393
 AliTwoParticlePIDCorr.cxx:1394
 AliTwoParticlePIDCorr.cxx:1395
 AliTwoParticlePIDCorr.cxx:1396
 AliTwoParticlePIDCorr.cxx:1397
 AliTwoParticlePIDCorr.cxx:1398
 AliTwoParticlePIDCorr.cxx:1399
 AliTwoParticlePIDCorr.cxx:1400
 AliTwoParticlePIDCorr.cxx:1401
 AliTwoParticlePIDCorr.cxx:1402
 AliTwoParticlePIDCorr.cxx:1403
 AliTwoParticlePIDCorr.cxx:1404
 AliTwoParticlePIDCorr.cxx:1405
 AliTwoParticlePIDCorr.cxx:1406
 AliTwoParticlePIDCorr.cxx:1407
 AliTwoParticlePIDCorr.cxx:1408
 AliTwoParticlePIDCorr.cxx:1409
 AliTwoParticlePIDCorr.cxx:1410
 AliTwoParticlePIDCorr.cxx:1411
 AliTwoParticlePIDCorr.cxx:1412
 AliTwoParticlePIDCorr.cxx:1413
 AliTwoParticlePIDCorr.cxx:1414
 AliTwoParticlePIDCorr.cxx:1415
 AliTwoParticlePIDCorr.cxx:1416
 AliTwoParticlePIDCorr.cxx:1417
 AliTwoParticlePIDCorr.cxx:1418
 AliTwoParticlePIDCorr.cxx:1419
 AliTwoParticlePIDCorr.cxx:1420
 AliTwoParticlePIDCorr.cxx:1421
 AliTwoParticlePIDCorr.cxx:1422
 AliTwoParticlePIDCorr.cxx:1423
 AliTwoParticlePIDCorr.cxx:1424
 AliTwoParticlePIDCorr.cxx:1425
 AliTwoParticlePIDCorr.cxx:1426
 AliTwoParticlePIDCorr.cxx:1427
 AliTwoParticlePIDCorr.cxx:1428
 AliTwoParticlePIDCorr.cxx:1429
 AliTwoParticlePIDCorr.cxx:1430
 AliTwoParticlePIDCorr.cxx:1431
 AliTwoParticlePIDCorr.cxx:1432
 AliTwoParticlePIDCorr.cxx:1433
 AliTwoParticlePIDCorr.cxx:1434
 AliTwoParticlePIDCorr.cxx:1435
 AliTwoParticlePIDCorr.cxx:1436
 AliTwoParticlePIDCorr.cxx:1437
 AliTwoParticlePIDCorr.cxx:1438
 AliTwoParticlePIDCorr.cxx:1439
 AliTwoParticlePIDCorr.cxx:1440
 AliTwoParticlePIDCorr.cxx:1441
 AliTwoParticlePIDCorr.cxx:1442
 AliTwoParticlePIDCorr.cxx:1443
 AliTwoParticlePIDCorr.cxx:1444
 AliTwoParticlePIDCorr.cxx:1445
 AliTwoParticlePIDCorr.cxx:1446
 AliTwoParticlePIDCorr.cxx:1447
 AliTwoParticlePIDCorr.cxx:1448
 AliTwoParticlePIDCorr.cxx:1449
 AliTwoParticlePIDCorr.cxx:1450
 AliTwoParticlePIDCorr.cxx:1451
 AliTwoParticlePIDCorr.cxx:1452
 AliTwoParticlePIDCorr.cxx:1453
 AliTwoParticlePIDCorr.cxx:1454
 AliTwoParticlePIDCorr.cxx:1455
 AliTwoParticlePIDCorr.cxx:1456
 AliTwoParticlePIDCorr.cxx:1457
 AliTwoParticlePIDCorr.cxx:1458
 AliTwoParticlePIDCorr.cxx:1459
 AliTwoParticlePIDCorr.cxx:1460
 AliTwoParticlePIDCorr.cxx:1461
 AliTwoParticlePIDCorr.cxx:1462
 AliTwoParticlePIDCorr.cxx:1463
 AliTwoParticlePIDCorr.cxx:1464
 AliTwoParticlePIDCorr.cxx:1465
 AliTwoParticlePIDCorr.cxx:1466
 AliTwoParticlePIDCorr.cxx:1467
 AliTwoParticlePIDCorr.cxx:1468
 AliTwoParticlePIDCorr.cxx:1469
 AliTwoParticlePIDCorr.cxx:1470
 AliTwoParticlePIDCorr.cxx:1471
 AliTwoParticlePIDCorr.cxx:1472
 AliTwoParticlePIDCorr.cxx:1473
 AliTwoParticlePIDCorr.cxx:1474
 AliTwoParticlePIDCorr.cxx:1475
 AliTwoParticlePIDCorr.cxx:1476
 AliTwoParticlePIDCorr.cxx:1477
 AliTwoParticlePIDCorr.cxx:1478
 AliTwoParticlePIDCorr.cxx:1479
 AliTwoParticlePIDCorr.cxx:1480
 AliTwoParticlePIDCorr.cxx:1481
 AliTwoParticlePIDCorr.cxx:1482
 AliTwoParticlePIDCorr.cxx:1483
 AliTwoParticlePIDCorr.cxx:1484
 AliTwoParticlePIDCorr.cxx:1485
 AliTwoParticlePIDCorr.cxx:1486
 AliTwoParticlePIDCorr.cxx:1487
 AliTwoParticlePIDCorr.cxx:1488
 AliTwoParticlePIDCorr.cxx:1489
 AliTwoParticlePIDCorr.cxx:1490
 AliTwoParticlePIDCorr.cxx:1491
 AliTwoParticlePIDCorr.cxx:1492
 AliTwoParticlePIDCorr.cxx:1493
 AliTwoParticlePIDCorr.cxx:1494
 AliTwoParticlePIDCorr.cxx:1495
 AliTwoParticlePIDCorr.cxx:1496
 AliTwoParticlePIDCorr.cxx:1497
 AliTwoParticlePIDCorr.cxx:1498
 AliTwoParticlePIDCorr.cxx:1499
 AliTwoParticlePIDCorr.cxx:1500
 AliTwoParticlePIDCorr.cxx:1501
 AliTwoParticlePIDCorr.cxx:1502
 AliTwoParticlePIDCorr.cxx:1503
 AliTwoParticlePIDCorr.cxx:1504
 AliTwoParticlePIDCorr.cxx:1505
 AliTwoParticlePIDCorr.cxx:1506
 AliTwoParticlePIDCorr.cxx:1507
 AliTwoParticlePIDCorr.cxx:1508
 AliTwoParticlePIDCorr.cxx:1509
 AliTwoParticlePIDCorr.cxx:1510
 AliTwoParticlePIDCorr.cxx:1511
 AliTwoParticlePIDCorr.cxx:1512
 AliTwoParticlePIDCorr.cxx:1513
 AliTwoParticlePIDCorr.cxx:1514
 AliTwoParticlePIDCorr.cxx:1515
 AliTwoParticlePIDCorr.cxx:1516
 AliTwoParticlePIDCorr.cxx:1517
 AliTwoParticlePIDCorr.cxx:1518
 AliTwoParticlePIDCorr.cxx:1519
 AliTwoParticlePIDCorr.cxx:1520
 AliTwoParticlePIDCorr.cxx:1521
 AliTwoParticlePIDCorr.cxx:1522
 AliTwoParticlePIDCorr.cxx:1523
 AliTwoParticlePIDCorr.cxx:1524
 AliTwoParticlePIDCorr.cxx:1525
 AliTwoParticlePIDCorr.cxx:1526
 AliTwoParticlePIDCorr.cxx:1527
 AliTwoParticlePIDCorr.cxx:1528
 AliTwoParticlePIDCorr.cxx:1529
 AliTwoParticlePIDCorr.cxx:1530
 AliTwoParticlePIDCorr.cxx:1531
 AliTwoParticlePIDCorr.cxx:1532
 AliTwoParticlePIDCorr.cxx:1533
 AliTwoParticlePIDCorr.cxx:1534
 AliTwoParticlePIDCorr.cxx:1535
 AliTwoParticlePIDCorr.cxx:1536
 AliTwoParticlePIDCorr.cxx:1537
 AliTwoParticlePIDCorr.cxx:1538
 AliTwoParticlePIDCorr.cxx:1539
 AliTwoParticlePIDCorr.cxx:1540
 AliTwoParticlePIDCorr.cxx:1541
 AliTwoParticlePIDCorr.cxx:1542
 AliTwoParticlePIDCorr.cxx:1543
 AliTwoParticlePIDCorr.cxx:1544
 AliTwoParticlePIDCorr.cxx:1545
 AliTwoParticlePIDCorr.cxx:1546
 AliTwoParticlePIDCorr.cxx:1547
 AliTwoParticlePIDCorr.cxx:1548
 AliTwoParticlePIDCorr.cxx:1549
 AliTwoParticlePIDCorr.cxx:1550
 AliTwoParticlePIDCorr.cxx:1551
 AliTwoParticlePIDCorr.cxx:1552
 AliTwoParticlePIDCorr.cxx:1553
 AliTwoParticlePIDCorr.cxx:1554
 AliTwoParticlePIDCorr.cxx:1555
 AliTwoParticlePIDCorr.cxx:1556
 AliTwoParticlePIDCorr.cxx:1557
 AliTwoParticlePIDCorr.cxx:1558
 AliTwoParticlePIDCorr.cxx:1559
 AliTwoParticlePIDCorr.cxx:1560
 AliTwoParticlePIDCorr.cxx:1561
 AliTwoParticlePIDCorr.cxx:1562
 AliTwoParticlePIDCorr.cxx:1563
 AliTwoParticlePIDCorr.cxx:1564
 AliTwoParticlePIDCorr.cxx:1565
 AliTwoParticlePIDCorr.cxx:1566
 AliTwoParticlePIDCorr.cxx:1567
 AliTwoParticlePIDCorr.cxx:1568
 AliTwoParticlePIDCorr.cxx:1569
 AliTwoParticlePIDCorr.cxx:1570
 AliTwoParticlePIDCorr.cxx:1571
 AliTwoParticlePIDCorr.cxx:1572
 AliTwoParticlePIDCorr.cxx:1573
 AliTwoParticlePIDCorr.cxx:1574
 AliTwoParticlePIDCorr.cxx:1575
 AliTwoParticlePIDCorr.cxx:1576
 AliTwoParticlePIDCorr.cxx:1577
 AliTwoParticlePIDCorr.cxx:1578
 AliTwoParticlePIDCorr.cxx:1579
 AliTwoParticlePIDCorr.cxx:1580
 AliTwoParticlePIDCorr.cxx:1581
 AliTwoParticlePIDCorr.cxx:1582
 AliTwoParticlePIDCorr.cxx:1583
 AliTwoParticlePIDCorr.cxx:1584
 AliTwoParticlePIDCorr.cxx:1585
 AliTwoParticlePIDCorr.cxx:1586
 AliTwoParticlePIDCorr.cxx:1587
 AliTwoParticlePIDCorr.cxx:1588
 AliTwoParticlePIDCorr.cxx:1589
 AliTwoParticlePIDCorr.cxx:1590
 AliTwoParticlePIDCorr.cxx:1591
 AliTwoParticlePIDCorr.cxx:1592
 AliTwoParticlePIDCorr.cxx:1593
 AliTwoParticlePIDCorr.cxx:1594
 AliTwoParticlePIDCorr.cxx:1595
 AliTwoParticlePIDCorr.cxx:1596
 AliTwoParticlePIDCorr.cxx:1597
 AliTwoParticlePIDCorr.cxx:1598
 AliTwoParticlePIDCorr.cxx:1599
 AliTwoParticlePIDCorr.cxx:1600
 AliTwoParticlePIDCorr.cxx:1601
 AliTwoParticlePIDCorr.cxx:1602
 AliTwoParticlePIDCorr.cxx:1603
 AliTwoParticlePIDCorr.cxx:1604
 AliTwoParticlePIDCorr.cxx:1605
 AliTwoParticlePIDCorr.cxx:1606
 AliTwoParticlePIDCorr.cxx:1607
 AliTwoParticlePIDCorr.cxx:1608
 AliTwoParticlePIDCorr.cxx:1609
 AliTwoParticlePIDCorr.cxx:1610
 AliTwoParticlePIDCorr.cxx:1611
 AliTwoParticlePIDCorr.cxx:1612
 AliTwoParticlePIDCorr.cxx:1613
 AliTwoParticlePIDCorr.cxx:1614
 AliTwoParticlePIDCorr.cxx:1615
 AliTwoParticlePIDCorr.cxx:1616
 AliTwoParticlePIDCorr.cxx:1617
 AliTwoParticlePIDCorr.cxx:1618
 AliTwoParticlePIDCorr.cxx:1619
 AliTwoParticlePIDCorr.cxx:1620
 AliTwoParticlePIDCorr.cxx:1621
 AliTwoParticlePIDCorr.cxx:1622
 AliTwoParticlePIDCorr.cxx:1623
 AliTwoParticlePIDCorr.cxx:1624
 AliTwoParticlePIDCorr.cxx:1625
 AliTwoParticlePIDCorr.cxx:1626
 AliTwoParticlePIDCorr.cxx:1627
 AliTwoParticlePIDCorr.cxx:1628
 AliTwoParticlePIDCorr.cxx:1629
 AliTwoParticlePIDCorr.cxx:1630
 AliTwoParticlePIDCorr.cxx:1631
 AliTwoParticlePIDCorr.cxx:1632
 AliTwoParticlePIDCorr.cxx:1633
 AliTwoParticlePIDCorr.cxx:1634
 AliTwoParticlePIDCorr.cxx:1635
 AliTwoParticlePIDCorr.cxx:1636
 AliTwoParticlePIDCorr.cxx:1637
 AliTwoParticlePIDCorr.cxx:1638
 AliTwoParticlePIDCorr.cxx:1639
 AliTwoParticlePIDCorr.cxx:1640
 AliTwoParticlePIDCorr.cxx:1641
 AliTwoParticlePIDCorr.cxx:1642
 AliTwoParticlePIDCorr.cxx:1643
 AliTwoParticlePIDCorr.cxx:1644
 AliTwoParticlePIDCorr.cxx:1645
 AliTwoParticlePIDCorr.cxx:1646
 AliTwoParticlePIDCorr.cxx:1647
 AliTwoParticlePIDCorr.cxx:1648
 AliTwoParticlePIDCorr.cxx:1649
 AliTwoParticlePIDCorr.cxx:1650
 AliTwoParticlePIDCorr.cxx:1651
 AliTwoParticlePIDCorr.cxx:1652
 AliTwoParticlePIDCorr.cxx:1653
 AliTwoParticlePIDCorr.cxx:1654
 AliTwoParticlePIDCorr.cxx:1655
 AliTwoParticlePIDCorr.cxx:1656
 AliTwoParticlePIDCorr.cxx:1657
 AliTwoParticlePIDCorr.cxx:1658
 AliTwoParticlePIDCorr.cxx:1659
 AliTwoParticlePIDCorr.cxx:1660
 AliTwoParticlePIDCorr.cxx:1661
 AliTwoParticlePIDCorr.cxx:1662
 AliTwoParticlePIDCorr.cxx:1663
 AliTwoParticlePIDCorr.cxx:1664
 AliTwoParticlePIDCorr.cxx:1665
 AliTwoParticlePIDCorr.cxx:1666
 AliTwoParticlePIDCorr.cxx:1667
 AliTwoParticlePIDCorr.cxx:1668
 AliTwoParticlePIDCorr.cxx:1669
 AliTwoParticlePIDCorr.cxx:1670
 AliTwoParticlePIDCorr.cxx:1671
 AliTwoParticlePIDCorr.cxx:1672
 AliTwoParticlePIDCorr.cxx:1673
 AliTwoParticlePIDCorr.cxx:1674
 AliTwoParticlePIDCorr.cxx:1675
 AliTwoParticlePIDCorr.cxx:1676
 AliTwoParticlePIDCorr.cxx:1677
 AliTwoParticlePIDCorr.cxx:1678
 AliTwoParticlePIDCorr.cxx:1679
 AliTwoParticlePIDCorr.cxx:1680
 AliTwoParticlePIDCorr.cxx:1681
 AliTwoParticlePIDCorr.cxx:1682
 AliTwoParticlePIDCorr.cxx:1683
 AliTwoParticlePIDCorr.cxx:1684
 AliTwoParticlePIDCorr.cxx:1685
 AliTwoParticlePIDCorr.cxx:1686
 AliTwoParticlePIDCorr.cxx:1687
 AliTwoParticlePIDCorr.cxx:1688
 AliTwoParticlePIDCorr.cxx:1689
 AliTwoParticlePIDCorr.cxx:1690
 AliTwoParticlePIDCorr.cxx:1691
 AliTwoParticlePIDCorr.cxx:1692
 AliTwoParticlePIDCorr.cxx:1693
 AliTwoParticlePIDCorr.cxx:1694
 AliTwoParticlePIDCorr.cxx:1695
 AliTwoParticlePIDCorr.cxx:1696
 AliTwoParticlePIDCorr.cxx:1697
 AliTwoParticlePIDCorr.cxx:1698
 AliTwoParticlePIDCorr.cxx:1699
 AliTwoParticlePIDCorr.cxx:1700
 AliTwoParticlePIDCorr.cxx:1701
 AliTwoParticlePIDCorr.cxx:1702
 AliTwoParticlePIDCorr.cxx:1703
 AliTwoParticlePIDCorr.cxx:1704
 AliTwoParticlePIDCorr.cxx:1705
 AliTwoParticlePIDCorr.cxx:1706
 AliTwoParticlePIDCorr.cxx:1707
 AliTwoParticlePIDCorr.cxx:1708
 AliTwoParticlePIDCorr.cxx:1709
 AliTwoParticlePIDCorr.cxx:1710
 AliTwoParticlePIDCorr.cxx:1711
 AliTwoParticlePIDCorr.cxx:1712
 AliTwoParticlePIDCorr.cxx:1713
 AliTwoParticlePIDCorr.cxx:1714
 AliTwoParticlePIDCorr.cxx:1715
 AliTwoParticlePIDCorr.cxx:1716
 AliTwoParticlePIDCorr.cxx:1717
 AliTwoParticlePIDCorr.cxx:1718
 AliTwoParticlePIDCorr.cxx:1719
 AliTwoParticlePIDCorr.cxx:1720
 AliTwoParticlePIDCorr.cxx:1721
 AliTwoParticlePIDCorr.cxx:1722
 AliTwoParticlePIDCorr.cxx:1723
 AliTwoParticlePIDCorr.cxx:1724
 AliTwoParticlePIDCorr.cxx:1725
 AliTwoParticlePIDCorr.cxx:1726
 AliTwoParticlePIDCorr.cxx:1727
 AliTwoParticlePIDCorr.cxx:1728
 AliTwoParticlePIDCorr.cxx:1729
 AliTwoParticlePIDCorr.cxx:1730
 AliTwoParticlePIDCorr.cxx:1731
 AliTwoParticlePIDCorr.cxx:1732
 AliTwoParticlePIDCorr.cxx:1733
 AliTwoParticlePIDCorr.cxx:1734
 AliTwoParticlePIDCorr.cxx:1735
 AliTwoParticlePIDCorr.cxx:1736
 AliTwoParticlePIDCorr.cxx:1737
 AliTwoParticlePIDCorr.cxx:1738
 AliTwoParticlePIDCorr.cxx:1739
 AliTwoParticlePIDCorr.cxx:1740
 AliTwoParticlePIDCorr.cxx:1741
 AliTwoParticlePIDCorr.cxx:1742
 AliTwoParticlePIDCorr.cxx:1743
 AliTwoParticlePIDCorr.cxx:1744
 AliTwoParticlePIDCorr.cxx:1745
 AliTwoParticlePIDCorr.cxx:1746
 AliTwoParticlePIDCorr.cxx:1747
 AliTwoParticlePIDCorr.cxx:1748
 AliTwoParticlePIDCorr.cxx:1749
 AliTwoParticlePIDCorr.cxx:1750
 AliTwoParticlePIDCorr.cxx:1751
 AliTwoParticlePIDCorr.cxx:1752
 AliTwoParticlePIDCorr.cxx:1753
 AliTwoParticlePIDCorr.cxx:1754
 AliTwoParticlePIDCorr.cxx:1755
 AliTwoParticlePIDCorr.cxx:1756
 AliTwoParticlePIDCorr.cxx:1757
 AliTwoParticlePIDCorr.cxx:1758
 AliTwoParticlePIDCorr.cxx:1759
 AliTwoParticlePIDCorr.cxx:1760
 AliTwoParticlePIDCorr.cxx:1761
 AliTwoParticlePIDCorr.cxx:1762
 AliTwoParticlePIDCorr.cxx:1763
 AliTwoParticlePIDCorr.cxx:1764
 AliTwoParticlePIDCorr.cxx:1765
 AliTwoParticlePIDCorr.cxx:1766
 AliTwoParticlePIDCorr.cxx:1767
 AliTwoParticlePIDCorr.cxx:1768
 AliTwoParticlePIDCorr.cxx:1769
 AliTwoParticlePIDCorr.cxx:1770
 AliTwoParticlePIDCorr.cxx:1771
 AliTwoParticlePIDCorr.cxx:1772
 AliTwoParticlePIDCorr.cxx:1773
 AliTwoParticlePIDCorr.cxx:1774
 AliTwoParticlePIDCorr.cxx:1775
 AliTwoParticlePIDCorr.cxx:1776
 AliTwoParticlePIDCorr.cxx:1777
 AliTwoParticlePIDCorr.cxx:1778
 AliTwoParticlePIDCorr.cxx:1779
 AliTwoParticlePIDCorr.cxx:1780
 AliTwoParticlePIDCorr.cxx:1781
 AliTwoParticlePIDCorr.cxx:1782
 AliTwoParticlePIDCorr.cxx:1783
 AliTwoParticlePIDCorr.cxx:1784
 AliTwoParticlePIDCorr.cxx:1785
 AliTwoParticlePIDCorr.cxx:1786
 AliTwoParticlePIDCorr.cxx:1787
 AliTwoParticlePIDCorr.cxx:1788
 AliTwoParticlePIDCorr.cxx:1789
 AliTwoParticlePIDCorr.cxx:1790
 AliTwoParticlePIDCorr.cxx:1791
 AliTwoParticlePIDCorr.cxx:1792
 AliTwoParticlePIDCorr.cxx:1793
 AliTwoParticlePIDCorr.cxx:1794
 AliTwoParticlePIDCorr.cxx:1795
 AliTwoParticlePIDCorr.cxx:1796
 AliTwoParticlePIDCorr.cxx:1797
 AliTwoParticlePIDCorr.cxx:1798
 AliTwoParticlePIDCorr.cxx:1799
 AliTwoParticlePIDCorr.cxx:1800
 AliTwoParticlePIDCorr.cxx:1801
 AliTwoParticlePIDCorr.cxx:1802
 AliTwoParticlePIDCorr.cxx:1803
 AliTwoParticlePIDCorr.cxx:1804
 AliTwoParticlePIDCorr.cxx:1805
 AliTwoParticlePIDCorr.cxx:1806
 AliTwoParticlePIDCorr.cxx:1807
 AliTwoParticlePIDCorr.cxx:1808
 AliTwoParticlePIDCorr.cxx:1809
 AliTwoParticlePIDCorr.cxx:1810
 AliTwoParticlePIDCorr.cxx:1811
 AliTwoParticlePIDCorr.cxx:1812
 AliTwoParticlePIDCorr.cxx:1813
 AliTwoParticlePIDCorr.cxx:1814
 AliTwoParticlePIDCorr.cxx:1815
 AliTwoParticlePIDCorr.cxx:1816
 AliTwoParticlePIDCorr.cxx:1817
 AliTwoParticlePIDCorr.cxx:1818
 AliTwoParticlePIDCorr.cxx:1819
 AliTwoParticlePIDCorr.cxx:1820
 AliTwoParticlePIDCorr.cxx:1821
 AliTwoParticlePIDCorr.cxx:1822
 AliTwoParticlePIDCorr.cxx:1823
 AliTwoParticlePIDCorr.cxx:1824
 AliTwoParticlePIDCorr.cxx:1825
 AliTwoParticlePIDCorr.cxx:1826
 AliTwoParticlePIDCorr.cxx:1827
 AliTwoParticlePIDCorr.cxx:1828
 AliTwoParticlePIDCorr.cxx:1829
 AliTwoParticlePIDCorr.cxx:1830
 AliTwoParticlePIDCorr.cxx:1831
 AliTwoParticlePIDCorr.cxx:1832
 AliTwoParticlePIDCorr.cxx:1833
 AliTwoParticlePIDCorr.cxx:1834
 AliTwoParticlePIDCorr.cxx:1835
 AliTwoParticlePIDCorr.cxx:1836
 AliTwoParticlePIDCorr.cxx:1837
 AliTwoParticlePIDCorr.cxx:1838
 AliTwoParticlePIDCorr.cxx:1839
 AliTwoParticlePIDCorr.cxx:1840
 AliTwoParticlePIDCorr.cxx:1841
 AliTwoParticlePIDCorr.cxx:1842
 AliTwoParticlePIDCorr.cxx:1843
 AliTwoParticlePIDCorr.cxx:1844
 AliTwoParticlePIDCorr.cxx:1845
 AliTwoParticlePIDCorr.cxx:1846
 AliTwoParticlePIDCorr.cxx:1847
 AliTwoParticlePIDCorr.cxx:1848
 AliTwoParticlePIDCorr.cxx:1849
 AliTwoParticlePIDCorr.cxx:1850
 AliTwoParticlePIDCorr.cxx:1851
 AliTwoParticlePIDCorr.cxx:1852
 AliTwoParticlePIDCorr.cxx:1853
 AliTwoParticlePIDCorr.cxx:1854
 AliTwoParticlePIDCorr.cxx:1855
 AliTwoParticlePIDCorr.cxx:1856
 AliTwoParticlePIDCorr.cxx:1857
 AliTwoParticlePIDCorr.cxx:1858
 AliTwoParticlePIDCorr.cxx:1859
 AliTwoParticlePIDCorr.cxx:1860
 AliTwoParticlePIDCorr.cxx:1861
 AliTwoParticlePIDCorr.cxx:1862
 AliTwoParticlePIDCorr.cxx:1863
 AliTwoParticlePIDCorr.cxx:1864
 AliTwoParticlePIDCorr.cxx:1865
 AliTwoParticlePIDCorr.cxx:1866
 AliTwoParticlePIDCorr.cxx:1867
 AliTwoParticlePIDCorr.cxx:1868
 AliTwoParticlePIDCorr.cxx:1869
 AliTwoParticlePIDCorr.cxx:1870
 AliTwoParticlePIDCorr.cxx:1871
 AliTwoParticlePIDCorr.cxx:1872
 AliTwoParticlePIDCorr.cxx:1873
 AliTwoParticlePIDCorr.cxx:1874
 AliTwoParticlePIDCorr.cxx:1875
 AliTwoParticlePIDCorr.cxx:1876
 AliTwoParticlePIDCorr.cxx:1877
 AliTwoParticlePIDCorr.cxx:1878
 AliTwoParticlePIDCorr.cxx:1879
 AliTwoParticlePIDCorr.cxx:1880
 AliTwoParticlePIDCorr.cxx:1881
 AliTwoParticlePIDCorr.cxx:1882
 AliTwoParticlePIDCorr.cxx:1883
 AliTwoParticlePIDCorr.cxx:1884
 AliTwoParticlePIDCorr.cxx:1885
 AliTwoParticlePIDCorr.cxx:1886
 AliTwoParticlePIDCorr.cxx:1887
 AliTwoParticlePIDCorr.cxx:1888
 AliTwoParticlePIDCorr.cxx:1889
 AliTwoParticlePIDCorr.cxx:1890
 AliTwoParticlePIDCorr.cxx:1891
 AliTwoParticlePIDCorr.cxx:1892
 AliTwoParticlePIDCorr.cxx:1893
 AliTwoParticlePIDCorr.cxx:1894
 AliTwoParticlePIDCorr.cxx:1895
 AliTwoParticlePIDCorr.cxx:1896
 AliTwoParticlePIDCorr.cxx:1897
 AliTwoParticlePIDCorr.cxx:1898
 AliTwoParticlePIDCorr.cxx:1899
 AliTwoParticlePIDCorr.cxx:1900
 AliTwoParticlePIDCorr.cxx:1901
 AliTwoParticlePIDCorr.cxx:1902
 AliTwoParticlePIDCorr.cxx:1903
 AliTwoParticlePIDCorr.cxx:1904
 AliTwoParticlePIDCorr.cxx:1905
 AliTwoParticlePIDCorr.cxx:1906
 AliTwoParticlePIDCorr.cxx:1907
 AliTwoParticlePIDCorr.cxx:1908
 AliTwoParticlePIDCorr.cxx:1909
 AliTwoParticlePIDCorr.cxx:1910
 AliTwoParticlePIDCorr.cxx:1911
 AliTwoParticlePIDCorr.cxx:1912
 AliTwoParticlePIDCorr.cxx:1913
 AliTwoParticlePIDCorr.cxx:1914
 AliTwoParticlePIDCorr.cxx:1915
 AliTwoParticlePIDCorr.cxx:1916
 AliTwoParticlePIDCorr.cxx:1917
 AliTwoParticlePIDCorr.cxx:1918
 AliTwoParticlePIDCorr.cxx:1919
 AliTwoParticlePIDCorr.cxx:1920
 AliTwoParticlePIDCorr.cxx:1921
 AliTwoParticlePIDCorr.cxx:1922
 AliTwoParticlePIDCorr.cxx:1923
 AliTwoParticlePIDCorr.cxx:1924
 AliTwoParticlePIDCorr.cxx:1925
 AliTwoParticlePIDCorr.cxx:1926
 AliTwoParticlePIDCorr.cxx:1927
 AliTwoParticlePIDCorr.cxx:1928
 AliTwoParticlePIDCorr.cxx:1929
 AliTwoParticlePIDCorr.cxx:1930
 AliTwoParticlePIDCorr.cxx:1931
 AliTwoParticlePIDCorr.cxx:1932
 AliTwoParticlePIDCorr.cxx:1933
 AliTwoParticlePIDCorr.cxx:1934
 AliTwoParticlePIDCorr.cxx:1935
 AliTwoParticlePIDCorr.cxx:1936
 AliTwoParticlePIDCorr.cxx:1937
 AliTwoParticlePIDCorr.cxx:1938
 AliTwoParticlePIDCorr.cxx:1939
 AliTwoParticlePIDCorr.cxx:1940
 AliTwoParticlePIDCorr.cxx:1941
 AliTwoParticlePIDCorr.cxx:1942
 AliTwoParticlePIDCorr.cxx:1943
 AliTwoParticlePIDCorr.cxx:1944
 AliTwoParticlePIDCorr.cxx:1945
 AliTwoParticlePIDCorr.cxx:1946
 AliTwoParticlePIDCorr.cxx:1947
 AliTwoParticlePIDCorr.cxx:1948
 AliTwoParticlePIDCorr.cxx:1949
 AliTwoParticlePIDCorr.cxx:1950
 AliTwoParticlePIDCorr.cxx:1951
 AliTwoParticlePIDCorr.cxx:1952
 AliTwoParticlePIDCorr.cxx:1953
 AliTwoParticlePIDCorr.cxx:1954
 AliTwoParticlePIDCorr.cxx:1955
 AliTwoParticlePIDCorr.cxx:1956
 AliTwoParticlePIDCorr.cxx:1957
 AliTwoParticlePIDCorr.cxx:1958
 AliTwoParticlePIDCorr.cxx:1959
 AliTwoParticlePIDCorr.cxx:1960
 AliTwoParticlePIDCorr.cxx:1961
 AliTwoParticlePIDCorr.cxx:1962
 AliTwoParticlePIDCorr.cxx:1963
 AliTwoParticlePIDCorr.cxx:1964
 AliTwoParticlePIDCorr.cxx:1965
 AliTwoParticlePIDCorr.cxx:1966
 AliTwoParticlePIDCorr.cxx:1967
 AliTwoParticlePIDCorr.cxx:1968
 AliTwoParticlePIDCorr.cxx:1969
 AliTwoParticlePIDCorr.cxx:1970
 AliTwoParticlePIDCorr.cxx:1971
 AliTwoParticlePIDCorr.cxx:1972
 AliTwoParticlePIDCorr.cxx:1973
 AliTwoParticlePIDCorr.cxx:1974
 AliTwoParticlePIDCorr.cxx:1975
 AliTwoParticlePIDCorr.cxx:1976
 AliTwoParticlePIDCorr.cxx:1977
 AliTwoParticlePIDCorr.cxx:1978
 AliTwoParticlePIDCorr.cxx:1979
 AliTwoParticlePIDCorr.cxx:1980
 AliTwoParticlePIDCorr.cxx:1981
 AliTwoParticlePIDCorr.cxx:1982
 AliTwoParticlePIDCorr.cxx:1983
 AliTwoParticlePIDCorr.cxx:1984
 AliTwoParticlePIDCorr.cxx:1985
 AliTwoParticlePIDCorr.cxx:1986
 AliTwoParticlePIDCorr.cxx:1987
 AliTwoParticlePIDCorr.cxx:1988
 AliTwoParticlePIDCorr.cxx:1989
 AliTwoParticlePIDCorr.cxx:1990
 AliTwoParticlePIDCorr.cxx:1991
 AliTwoParticlePIDCorr.cxx:1992
 AliTwoParticlePIDCorr.cxx:1993
 AliTwoParticlePIDCorr.cxx:1994
 AliTwoParticlePIDCorr.cxx:1995
 AliTwoParticlePIDCorr.cxx:1996
 AliTwoParticlePIDCorr.cxx:1997
 AliTwoParticlePIDCorr.cxx:1998
 AliTwoParticlePIDCorr.cxx:1999
 AliTwoParticlePIDCorr.cxx:2000
 AliTwoParticlePIDCorr.cxx:2001
 AliTwoParticlePIDCorr.cxx:2002
 AliTwoParticlePIDCorr.cxx:2003
 AliTwoParticlePIDCorr.cxx:2004
 AliTwoParticlePIDCorr.cxx:2005
 AliTwoParticlePIDCorr.cxx:2006
 AliTwoParticlePIDCorr.cxx:2007
 AliTwoParticlePIDCorr.cxx:2008
 AliTwoParticlePIDCorr.cxx:2009
 AliTwoParticlePIDCorr.cxx:2010
 AliTwoParticlePIDCorr.cxx:2011
 AliTwoParticlePIDCorr.cxx:2012
 AliTwoParticlePIDCorr.cxx:2013
 AliTwoParticlePIDCorr.cxx:2014
 AliTwoParticlePIDCorr.cxx:2015
 AliTwoParticlePIDCorr.cxx:2016
 AliTwoParticlePIDCorr.cxx:2017
 AliTwoParticlePIDCorr.cxx:2018
 AliTwoParticlePIDCorr.cxx:2019
 AliTwoParticlePIDCorr.cxx:2020
 AliTwoParticlePIDCorr.cxx:2021
 AliTwoParticlePIDCorr.cxx:2022
 AliTwoParticlePIDCorr.cxx:2023
 AliTwoParticlePIDCorr.cxx:2024
 AliTwoParticlePIDCorr.cxx:2025
 AliTwoParticlePIDCorr.cxx:2026
 AliTwoParticlePIDCorr.cxx:2027
 AliTwoParticlePIDCorr.cxx:2028
 AliTwoParticlePIDCorr.cxx:2029
 AliTwoParticlePIDCorr.cxx:2030
 AliTwoParticlePIDCorr.cxx:2031
 AliTwoParticlePIDCorr.cxx:2032
 AliTwoParticlePIDCorr.cxx:2033
 AliTwoParticlePIDCorr.cxx:2034
 AliTwoParticlePIDCorr.cxx:2035
 AliTwoParticlePIDCorr.cxx:2036
 AliTwoParticlePIDCorr.cxx:2037
 AliTwoParticlePIDCorr.cxx:2038
 AliTwoParticlePIDCorr.cxx:2039
 AliTwoParticlePIDCorr.cxx:2040
 AliTwoParticlePIDCorr.cxx:2041
 AliTwoParticlePIDCorr.cxx:2042
 AliTwoParticlePIDCorr.cxx:2043
 AliTwoParticlePIDCorr.cxx:2044
 AliTwoParticlePIDCorr.cxx:2045
 AliTwoParticlePIDCorr.cxx:2046
 AliTwoParticlePIDCorr.cxx:2047
 AliTwoParticlePIDCorr.cxx:2048
 AliTwoParticlePIDCorr.cxx:2049
 AliTwoParticlePIDCorr.cxx:2050
 AliTwoParticlePIDCorr.cxx:2051
 AliTwoParticlePIDCorr.cxx:2052
 AliTwoParticlePIDCorr.cxx:2053
 AliTwoParticlePIDCorr.cxx:2054
 AliTwoParticlePIDCorr.cxx:2055
 AliTwoParticlePIDCorr.cxx:2056
 AliTwoParticlePIDCorr.cxx:2057
 AliTwoParticlePIDCorr.cxx:2058
 AliTwoParticlePIDCorr.cxx:2059
 AliTwoParticlePIDCorr.cxx:2060
 AliTwoParticlePIDCorr.cxx:2061
 AliTwoParticlePIDCorr.cxx:2062
 AliTwoParticlePIDCorr.cxx:2063
 AliTwoParticlePIDCorr.cxx:2064
 AliTwoParticlePIDCorr.cxx:2065
 AliTwoParticlePIDCorr.cxx:2066
 AliTwoParticlePIDCorr.cxx:2067
 AliTwoParticlePIDCorr.cxx:2068
 AliTwoParticlePIDCorr.cxx:2069
 AliTwoParticlePIDCorr.cxx:2070
 AliTwoParticlePIDCorr.cxx:2071
 AliTwoParticlePIDCorr.cxx:2072
 AliTwoParticlePIDCorr.cxx:2073
 AliTwoParticlePIDCorr.cxx:2074
 AliTwoParticlePIDCorr.cxx:2075
 AliTwoParticlePIDCorr.cxx:2076
 AliTwoParticlePIDCorr.cxx:2077
 AliTwoParticlePIDCorr.cxx:2078
 AliTwoParticlePIDCorr.cxx:2079
 AliTwoParticlePIDCorr.cxx:2080
 AliTwoParticlePIDCorr.cxx:2081
 AliTwoParticlePIDCorr.cxx:2082
 AliTwoParticlePIDCorr.cxx:2083
 AliTwoParticlePIDCorr.cxx:2084
 AliTwoParticlePIDCorr.cxx:2085
 AliTwoParticlePIDCorr.cxx:2086
 AliTwoParticlePIDCorr.cxx:2087
 AliTwoParticlePIDCorr.cxx:2088
 AliTwoParticlePIDCorr.cxx:2089
 AliTwoParticlePIDCorr.cxx:2090
 AliTwoParticlePIDCorr.cxx:2091
 AliTwoParticlePIDCorr.cxx:2092
 AliTwoParticlePIDCorr.cxx:2093
 AliTwoParticlePIDCorr.cxx:2094
 AliTwoParticlePIDCorr.cxx:2095
 AliTwoParticlePIDCorr.cxx:2096
 AliTwoParticlePIDCorr.cxx:2097
 AliTwoParticlePIDCorr.cxx:2098
 AliTwoParticlePIDCorr.cxx:2099
 AliTwoParticlePIDCorr.cxx:2100
 AliTwoParticlePIDCorr.cxx:2101
 AliTwoParticlePIDCorr.cxx:2102
 AliTwoParticlePIDCorr.cxx:2103
 AliTwoParticlePIDCorr.cxx:2104
 AliTwoParticlePIDCorr.cxx:2105
 AliTwoParticlePIDCorr.cxx:2106
 AliTwoParticlePIDCorr.cxx:2107
 AliTwoParticlePIDCorr.cxx:2108
 AliTwoParticlePIDCorr.cxx:2109
 AliTwoParticlePIDCorr.cxx:2110
 AliTwoParticlePIDCorr.cxx:2111
 AliTwoParticlePIDCorr.cxx:2112
 AliTwoParticlePIDCorr.cxx:2113
 AliTwoParticlePIDCorr.cxx:2114
 AliTwoParticlePIDCorr.cxx:2115
 AliTwoParticlePIDCorr.cxx:2116
 AliTwoParticlePIDCorr.cxx:2117
 AliTwoParticlePIDCorr.cxx:2118
 AliTwoParticlePIDCorr.cxx:2119
 AliTwoParticlePIDCorr.cxx:2120
 AliTwoParticlePIDCorr.cxx:2121
 AliTwoParticlePIDCorr.cxx:2122
 AliTwoParticlePIDCorr.cxx:2123
 AliTwoParticlePIDCorr.cxx:2124
 AliTwoParticlePIDCorr.cxx:2125
 AliTwoParticlePIDCorr.cxx:2126
 AliTwoParticlePIDCorr.cxx:2127
 AliTwoParticlePIDCorr.cxx:2128
 AliTwoParticlePIDCorr.cxx:2129
 AliTwoParticlePIDCorr.cxx:2130
 AliTwoParticlePIDCorr.cxx:2131
 AliTwoParticlePIDCorr.cxx:2132
 AliTwoParticlePIDCorr.cxx:2133
 AliTwoParticlePIDCorr.cxx:2134
 AliTwoParticlePIDCorr.cxx:2135
 AliTwoParticlePIDCorr.cxx:2136
 AliTwoParticlePIDCorr.cxx:2137
 AliTwoParticlePIDCorr.cxx:2138
 AliTwoParticlePIDCorr.cxx:2139
 AliTwoParticlePIDCorr.cxx:2140
 AliTwoParticlePIDCorr.cxx:2141
 AliTwoParticlePIDCorr.cxx:2142
 AliTwoParticlePIDCorr.cxx:2143
 AliTwoParticlePIDCorr.cxx:2144
 AliTwoParticlePIDCorr.cxx:2145
 AliTwoParticlePIDCorr.cxx:2146
 AliTwoParticlePIDCorr.cxx:2147
 AliTwoParticlePIDCorr.cxx:2148
 AliTwoParticlePIDCorr.cxx:2149
 AliTwoParticlePIDCorr.cxx:2150
 AliTwoParticlePIDCorr.cxx:2151
 AliTwoParticlePIDCorr.cxx:2152
 AliTwoParticlePIDCorr.cxx:2153
 AliTwoParticlePIDCorr.cxx:2154
 AliTwoParticlePIDCorr.cxx:2155
 AliTwoParticlePIDCorr.cxx:2156
 AliTwoParticlePIDCorr.cxx:2157
 AliTwoParticlePIDCorr.cxx:2158
 AliTwoParticlePIDCorr.cxx:2159
 AliTwoParticlePIDCorr.cxx:2160
 AliTwoParticlePIDCorr.cxx:2161
 AliTwoParticlePIDCorr.cxx:2162
 AliTwoParticlePIDCorr.cxx:2163
 AliTwoParticlePIDCorr.cxx:2164
 AliTwoParticlePIDCorr.cxx:2165
 AliTwoParticlePIDCorr.cxx:2166
 AliTwoParticlePIDCorr.cxx:2167
 AliTwoParticlePIDCorr.cxx:2168
 AliTwoParticlePIDCorr.cxx:2169
 AliTwoParticlePIDCorr.cxx:2170
 AliTwoParticlePIDCorr.cxx:2171
 AliTwoParticlePIDCorr.cxx:2172
 AliTwoParticlePIDCorr.cxx:2173
 AliTwoParticlePIDCorr.cxx:2174
 AliTwoParticlePIDCorr.cxx:2175
 AliTwoParticlePIDCorr.cxx:2176
 AliTwoParticlePIDCorr.cxx:2177
 AliTwoParticlePIDCorr.cxx:2178
 AliTwoParticlePIDCorr.cxx:2179
 AliTwoParticlePIDCorr.cxx:2180
 AliTwoParticlePIDCorr.cxx:2181
 AliTwoParticlePIDCorr.cxx:2182
 AliTwoParticlePIDCorr.cxx:2183
 AliTwoParticlePIDCorr.cxx:2184
 AliTwoParticlePIDCorr.cxx:2185
 AliTwoParticlePIDCorr.cxx:2186
 AliTwoParticlePIDCorr.cxx:2187
 AliTwoParticlePIDCorr.cxx:2188
 AliTwoParticlePIDCorr.cxx:2189
 AliTwoParticlePIDCorr.cxx:2190
 AliTwoParticlePIDCorr.cxx:2191
 AliTwoParticlePIDCorr.cxx:2192
 AliTwoParticlePIDCorr.cxx:2193
 AliTwoParticlePIDCorr.cxx:2194
 AliTwoParticlePIDCorr.cxx:2195
 AliTwoParticlePIDCorr.cxx:2196
 AliTwoParticlePIDCorr.cxx:2197
 AliTwoParticlePIDCorr.cxx:2198
 AliTwoParticlePIDCorr.cxx:2199
 AliTwoParticlePIDCorr.cxx:2200
 AliTwoParticlePIDCorr.cxx:2201
 AliTwoParticlePIDCorr.cxx:2202
 AliTwoParticlePIDCorr.cxx:2203
 AliTwoParticlePIDCorr.cxx:2204
 AliTwoParticlePIDCorr.cxx:2205
 AliTwoParticlePIDCorr.cxx:2206
 AliTwoParticlePIDCorr.cxx:2207
 AliTwoParticlePIDCorr.cxx:2208
 AliTwoParticlePIDCorr.cxx:2209
 AliTwoParticlePIDCorr.cxx:2210
 AliTwoParticlePIDCorr.cxx:2211
 AliTwoParticlePIDCorr.cxx:2212
 AliTwoParticlePIDCorr.cxx:2213
 AliTwoParticlePIDCorr.cxx:2214
 AliTwoParticlePIDCorr.cxx:2215
 AliTwoParticlePIDCorr.cxx:2216
 AliTwoParticlePIDCorr.cxx:2217
 AliTwoParticlePIDCorr.cxx:2218
 AliTwoParticlePIDCorr.cxx:2219
 AliTwoParticlePIDCorr.cxx:2220
 AliTwoParticlePIDCorr.cxx:2221
 AliTwoParticlePIDCorr.cxx:2222
 AliTwoParticlePIDCorr.cxx:2223
 AliTwoParticlePIDCorr.cxx:2224
 AliTwoParticlePIDCorr.cxx:2225
 AliTwoParticlePIDCorr.cxx:2226
 AliTwoParticlePIDCorr.cxx:2227
 AliTwoParticlePIDCorr.cxx:2228
 AliTwoParticlePIDCorr.cxx:2229
 AliTwoParticlePIDCorr.cxx:2230
 AliTwoParticlePIDCorr.cxx:2231
 AliTwoParticlePIDCorr.cxx:2232
 AliTwoParticlePIDCorr.cxx:2233
 AliTwoParticlePIDCorr.cxx:2234
 AliTwoParticlePIDCorr.cxx:2235
 AliTwoParticlePIDCorr.cxx:2236
 AliTwoParticlePIDCorr.cxx:2237
 AliTwoParticlePIDCorr.cxx:2238
 AliTwoParticlePIDCorr.cxx:2239
 AliTwoParticlePIDCorr.cxx:2240
 AliTwoParticlePIDCorr.cxx:2241
 AliTwoParticlePIDCorr.cxx:2242
 AliTwoParticlePIDCorr.cxx:2243
 AliTwoParticlePIDCorr.cxx:2244
 AliTwoParticlePIDCorr.cxx:2245
 AliTwoParticlePIDCorr.cxx:2246
 AliTwoParticlePIDCorr.cxx:2247
 AliTwoParticlePIDCorr.cxx:2248
 AliTwoParticlePIDCorr.cxx:2249
 AliTwoParticlePIDCorr.cxx:2250
 AliTwoParticlePIDCorr.cxx:2251
 AliTwoParticlePIDCorr.cxx:2252
 AliTwoParticlePIDCorr.cxx:2253
 AliTwoParticlePIDCorr.cxx:2254
 AliTwoParticlePIDCorr.cxx:2255
 AliTwoParticlePIDCorr.cxx:2256
 AliTwoParticlePIDCorr.cxx:2257
 AliTwoParticlePIDCorr.cxx:2258
 AliTwoParticlePIDCorr.cxx:2259
 AliTwoParticlePIDCorr.cxx:2260
 AliTwoParticlePIDCorr.cxx:2261
 AliTwoParticlePIDCorr.cxx:2262
 AliTwoParticlePIDCorr.cxx:2263
 AliTwoParticlePIDCorr.cxx:2264
 AliTwoParticlePIDCorr.cxx:2265
 AliTwoParticlePIDCorr.cxx:2266
 AliTwoParticlePIDCorr.cxx:2267
 AliTwoParticlePIDCorr.cxx:2268
 AliTwoParticlePIDCorr.cxx:2269
 AliTwoParticlePIDCorr.cxx:2270
 AliTwoParticlePIDCorr.cxx:2271
 AliTwoParticlePIDCorr.cxx:2272
 AliTwoParticlePIDCorr.cxx:2273
 AliTwoParticlePIDCorr.cxx:2274
 AliTwoParticlePIDCorr.cxx:2275
 AliTwoParticlePIDCorr.cxx:2276
 AliTwoParticlePIDCorr.cxx:2277
 AliTwoParticlePIDCorr.cxx:2278
 AliTwoParticlePIDCorr.cxx:2279
 AliTwoParticlePIDCorr.cxx:2280
 AliTwoParticlePIDCorr.cxx:2281
 AliTwoParticlePIDCorr.cxx:2282
 AliTwoParticlePIDCorr.cxx:2283
 AliTwoParticlePIDCorr.cxx:2284
 AliTwoParticlePIDCorr.cxx:2285
 AliTwoParticlePIDCorr.cxx:2286
 AliTwoParticlePIDCorr.cxx:2287
 AliTwoParticlePIDCorr.cxx:2288
 AliTwoParticlePIDCorr.cxx:2289
 AliTwoParticlePIDCorr.cxx:2290
 AliTwoParticlePIDCorr.cxx:2291
 AliTwoParticlePIDCorr.cxx:2292
 AliTwoParticlePIDCorr.cxx:2293
 AliTwoParticlePIDCorr.cxx:2294
 AliTwoParticlePIDCorr.cxx:2295
 AliTwoParticlePIDCorr.cxx:2296
 AliTwoParticlePIDCorr.cxx:2297
 AliTwoParticlePIDCorr.cxx:2298
 AliTwoParticlePIDCorr.cxx:2299
 AliTwoParticlePIDCorr.cxx:2300
 AliTwoParticlePIDCorr.cxx:2301
 AliTwoParticlePIDCorr.cxx:2302
 AliTwoParticlePIDCorr.cxx:2303
 AliTwoParticlePIDCorr.cxx:2304
 AliTwoParticlePIDCorr.cxx:2305
 AliTwoParticlePIDCorr.cxx:2306
 AliTwoParticlePIDCorr.cxx:2307
 AliTwoParticlePIDCorr.cxx:2308
 AliTwoParticlePIDCorr.cxx:2309
 AliTwoParticlePIDCorr.cxx:2310
 AliTwoParticlePIDCorr.cxx:2311
 AliTwoParticlePIDCorr.cxx:2312
 AliTwoParticlePIDCorr.cxx:2313
 AliTwoParticlePIDCorr.cxx:2314
 AliTwoParticlePIDCorr.cxx:2315
 AliTwoParticlePIDCorr.cxx:2316
 AliTwoParticlePIDCorr.cxx:2317
 AliTwoParticlePIDCorr.cxx:2318
 AliTwoParticlePIDCorr.cxx:2319
 AliTwoParticlePIDCorr.cxx:2320
 AliTwoParticlePIDCorr.cxx:2321
 AliTwoParticlePIDCorr.cxx:2322
 AliTwoParticlePIDCorr.cxx:2323
 AliTwoParticlePIDCorr.cxx:2324
 AliTwoParticlePIDCorr.cxx:2325
 AliTwoParticlePIDCorr.cxx:2326
 AliTwoParticlePIDCorr.cxx:2327
 AliTwoParticlePIDCorr.cxx:2328
 AliTwoParticlePIDCorr.cxx:2329
 AliTwoParticlePIDCorr.cxx:2330
 AliTwoParticlePIDCorr.cxx:2331
 AliTwoParticlePIDCorr.cxx:2332
 AliTwoParticlePIDCorr.cxx:2333
 AliTwoParticlePIDCorr.cxx:2334
 AliTwoParticlePIDCorr.cxx:2335
 AliTwoParticlePIDCorr.cxx:2336
 AliTwoParticlePIDCorr.cxx:2337
 AliTwoParticlePIDCorr.cxx:2338
 AliTwoParticlePIDCorr.cxx:2339
 AliTwoParticlePIDCorr.cxx:2340
 AliTwoParticlePIDCorr.cxx:2341
 AliTwoParticlePIDCorr.cxx:2342
 AliTwoParticlePIDCorr.cxx:2343
 AliTwoParticlePIDCorr.cxx:2344
 AliTwoParticlePIDCorr.cxx:2345
 AliTwoParticlePIDCorr.cxx:2346
 AliTwoParticlePIDCorr.cxx:2347
 AliTwoParticlePIDCorr.cxx:2348
 AliTwoParticlePIDCorr.cxx:2349
 AliTwoParticlePIDCorr.cxx:2350
 AliTwoParticlePIDCorr.cxx:2351
 AliTwoParticlePIDCorr.cxx:2352
 AliTwoParticlePIDCorr.cxx:2353
 AliTwoParticlePIDCorr.cxx:2354
 AliTwoParticlePIDCorr.cxx:2355
 AliTwoParticlePIDCorr.cxx:2356
 AliTwoParticlePIDCorr.cxx:2357
 AliTwoParticlePIDCorr.cxx:2358
 AliTwoParticlePIDCorr.cxx:2359
 AliTwoParticlePIDCorr.cxx:2360
 AliTwoParticlePIDCorr.cxx:2361
 AliTwoParticlePIDCorr.cxx:2362
 AliTwoParticlePIDCorr.cxx:2363
 AliTwoParticlePIDCorr.cxx:2364
 AliTwoParticlePIDCorr.cxx:2365
 AliTwoParticlePIDCorr.cxx:2366
 AliTwoParticlePIDCorr.cxx:2367
 AliTwoParticlePIDCorr.cxx:2368
 AliTwoParticlePIDCorr.cxx:2369
 AliTwoParticlePIDCorr.cxx:2370
 AliTwoParticlePIDCorr.cxx:2371
 AliTwoParticlePIDCorr.cxx:2372
 AliTwoParticlePIDCorr.cxx:2373
 AliTwoParticlePIDCorr.cxx:2374
 AliTwoParticlePIDCorr.cxx:2375
 AliTwoParticlePIDCorr.cxx:2376
 AliTwoParticlePIDCorr.cxx:2377
 AliTwoParticlePIDCorr.cxx:2378
 AliTwoParticlePIDCorr.cxx:2379
 AliTwoParticlePIDCorr.cxx:2380
 AliTwoParticlePIDCorr.cxx:2381
 AliTwoParticlePIDCorr.cxx:2382
 AliTwoParticlePIDCorr.cxx:2383
 AliTwoParticlePIDCorr.cxx:2384
 AliTwoParticlePIDCorr.cxx:2385
 AliTwoParticlePIDCorr.cxx:2386
 AliTwoParticlePIDCorr.cxx:2387
 AliTwoParticlePIDCorr.cxx:2388
 AliTwoParticlePIDCorr.cxx:2389
 AliTwoParticlePIDCorr.cxx:2390
 AliTwoParticlePIDCorr.cxx:2391
 AliTwoParticlePIDCorr.cxx:2392
 AliTwoParticlePIDCorr.cxx:2393
 AliTwoParticlePIDCorr.cxx:2394
 AliTwoParticlePIDCorr.cxx:2395
 AliTwoParticlePIDCorr.cxx:2396
 AliTwoParticlePIDCorr.cxx:2397
 AliTwoParticlePIDCorr.cxx:2398
 AliTwoParticlePIDCorr.cxx:2399
 AliTwoParticlePIDCorr.cxx:2400
 AliTwoParticlePIDCorr.cxx:2401
 AliTwoParticlePIDCorr.cxx:2402
 AliTwoParticlePIDCorr.cxx:2403
 AliTwoParticlePIDCorr.cxx:2404
 AliTwoParticlePIDCorr.cxx:2405
 AliTwoParticlePIDCorr.cxx:2406
 AliTwoParticlePIDCorr.cxx:2407
 AliTwoParticlePIDCorr.cxx:2408
 AliTwoParticlePIDCorr.cxx:2409
 AliTwoParticlePIDCorr.cxx:2410
 AliTwoParticlePIDCorr.cxx:2411
 AliTwoParticlePIDCorr.cxx:2412
 AliTwoParticlePIDCorr.cxx:2413
 AliTwoParticlePIDCorr.cxx:2414
 AliTwoParticlePIDCorr.cxx:2415
 AliTwoParticlePIDCorr.cxx:2416
 AliTwoParticlePIDCorr.cxx:2417
 AliTwoParticlePIDCorr.cxx:2418
 AliTwoParticlePIDCorr.cxx:2419
 AliTwoParticlePIDCorr.cxx:2420
 AliTwoParticlePIDCorr.cxx:2421
 AliTwoParticlePIDCorr.cxx:2422
 AliTwoParticlePIDCorr.cxx:2423
 AliTwoParticlePIDCorr.cxx:2424
 AliTwoParticlePIDCorr.cxx:2425
 AliTwoParticlePIDCorr.cxx:2426
 AliTwoParticlePIDCorr.cxx:2427
 AliTwoParticlePIDCorr.cxx:2428
 AliTwoParticlePIDCorr.cxx:2429
 AliTwoParticlePIDCorr.cxx:2430
 AliTwoParticlePIDCorr.cxx:2431
 AliTwoParticlePIDCorr.cxx:2432
 AliTwoParticlePIDCorr.cxx:2433
 AliTwoParticlePIDCorr.cxx:2434
 AliTwoParticlePIDCorr.cxx:2435
 AliTwoParticlePIDCorr.cxx:2436
 AliTwoParticlePIDCorr.cxx:2437
 AliTwoParticlePIDCorr.cxx:2438
 AliTwoParticlePIDCorr.cxx:2439
 AliTwoParticlePIDCorr.cxx:2440
 AliTwoParticlePIDCorr.cxx:2441
 AliTwoParticlePIDCorr.cxx:2442
 AliTwoParticlePIDCorr.cxx:2443
 AliTwoParticlePIDCorr.cxx:2444
 AliTwoParticlePIDCorr.cxx:2445
 AliTwoParticlePIDCorr.cxx:2446
 AliTwoParticlePIDCorr.cxx:2447
 AliTwoParticlePIDCorr.cxx:2448
 AliTwoParticlePIDCorr.cxx:2449
 AliTwoParticlePIDCorr.cxx:2450
 AliTwoParticlePIDCorr.cxx:2451
 AliTwoParticlePIDCorr.cxx:2452
 AliTwoParticlePIDCorr.cxx:2453
 AliTwoParticlePIDCorr.cxx:2454
 AliTwoParticlePIDCorr.cxx:2455
 AliTwoParticlePIDCorr.cxx:2456
 AliTwoParticlePIDCorr.cxx:2457
 AliTwoParticlePIDCorr.cxx:2458
 AliTwoParticlePIDCorr.cxx:2459
 AliTwoParticlePIDCorr.cxx:2460
 AliTwoParticlePIDCorr.cxx:2461
 AliTwoParticlePIDCorr.cxx:2462
 AliTwoParticlePIDCorr.cxx:2463
 AliTwoParticlePIDCorr.cxx:2464
 AliTwoParticlePIDCorr.cxx:2465
 AliTwoParticlePIDCorr.cxx:2466
 AliTwoParticlePIDCorr.cxx:2467
 AliTwoParticlePIDCorr.cxx:2468
 AliTwoParticlePIDCorr.cxx:2469
 AliTwoParticlePIDCorr.cxx:2470
 AliTwoParticlePIDCorr.cxx:2471
 AliTwoParticlePIDCorr.cxx:2472
 AliTwoParticlePIDCorr.cxx:2473
 AliTwoParticlePIDCorr.cxx:2474
 AliTwoParticlePIDCorr.cxx:2475
 AliTwoParticlePIDCorr.cxx:2476
 AliTwoParticlePIDCorr.cxx:2477
 AliTwoParticlePIDCorr.cxx:2478
 AliTwoParticlePIDCorr.cxx:2479
 AliTwoParticlePIDCorr.cxx:2480
 AliTwoParticlePIDCorr.cxx:2481
 AliTwoParticlePIDCorr.cxx:2482
 AliTwoParticlePIDCorr.cxx:2483
 AliTwoParticlePIDCorr.cxx:2484
 AliTwoParticlePIDCorr.cxx:2485
 AliTwoParticlePIDCorr.cxx:2486
 AliTwoParticlePIDCorr.cxx:2487
 AliTwoParticlePIDCorr.cxx:2488
 AliTwoParticlePIDCorr.cxx:2489
 AliTwoParticlePIDCorr.cxx:2490
 AliTwoParticlePIDCorr.cxx:2491
 AliTwoParticlePIDCorr.cxx:2492
 AliTwoParticlePIDCorr.cxx:2493
 AliTwoParticlePIDCorr.cxx:2494
 AliTwoParticlePIDCorr.cxx:2495
 AliTwoParticlePIDCorr.cxx:2496
 AliTwoParticlePIDCorr.cxx:2497
 AliTwoParticlePIDCorr.cxx:2498
 AliTwoParticlePIDCorr.cxx:2499
 AliTwoParticlePIDCorr.cxx:2500
 AliTwoParticlePIDCorr.cxx:2501
 AliTwoParticlePIDCorr.cxx:2502
 AliTwoParticlePIDCorr.cxx:2503
 AliTwoParticlePIDCorr.cxx:2504
 AliTwoParticlePIDCorr.cxx:2505
 AliTwoParticlePIDCorr.cxx:2506
 AliTwoParticlePIDCorr.cxx:2507
 AliTwoParticlePIDCorr.cxx:2508
 AliTwoParticlePIDCorr.cxx:2509
 AliTwoParticlePIDCorr.cxx:2510
 AliTwoParticlePIDCorr.cxx:2511
 AliTwoParticlePIDCorr.cxx:2512
 AliTwoParticlePIDCorr.cxx:2513
 AliTwoParticlePIDCorr.cxx:2514
 AliTwoParticlePIDCorr.cxx:2515
 AliTwoParticlePIDCorr.cxx:2516
 AliTwoParticlePIDCorr.cxx:2517
 AliTwoParticlePIDCorr.cxx:2518
 AliTwoParticlePIDCorr.cxx:2519
 AliTwoParticlePIDCorr.cxx:2520
 AliTwoParticlePIDCorr.cxx:2521
 AliTwoParticlePIDCorr.cxx:2522
 AliTwoParticlePIDCorr.cxx:2523
 AliTwoParticlePIDCorr.cxx:2524
 AliTwoParticlePIDCorr.cxx:2525
 AliTwoParticlePIDCorr.cxx:2526
 AliTwoParticlePIDCorr.cxx:2527
 AliTwoParticlePIDCorr.cxx:2528
 AliTwoParticlePIDCorr.cxx:2529
 AliTwoParticlePIDCorr.cxx:2530
 AliTwoParticlePIDCorr.cxx:2531
 AliTwoParticlePIDCorr.cxx:2532
 AliTwoParticlePIDCorr.cxx:2533
 AliTwoParticlePIDCorr.cxx:2534
 AliTwoParticlePIDCorr.cxx:2535
 AliTwoParticlePIDCorr.cxx:2536
 AliTwoParticlePIDCorr.cxx:2537
 AliTwoParticlePIDCorr.cxx:2538
 AliTwoParticlePIDCorr.cxx:2539
 AliTwoParticlePIDCorr.cxx:2540
 AliTwoParticlePIDCorr.cxx:2541
 AliTwoParticlePIDCorr.cxx:2542
 AliTwoParticlePIDCorr.cxx:2543
 AliTwoParticlePIDCorr.cxx:2544
 AliTwoParticlePIDCorr.cxx:2545
 AliTwoParticlePIDCorr.cxx:2546
 AliTwoParticlePIDCorr.cxx:2547
 AliTwoParticlePIDCorr.cxx:2548
 AliTwoParticlePIDCorr.cxx:2549
 AliTwoParticlePIDCorr.cxx:2550
 AliTwoParticlePIDCorr.cxx:2551
 AliTwoParticlePIDCorr.cxx:2552
 AliTwoParticlePIDCorr.cxx:2553
 AliTwoParticlePIDCorr.cxx:2554
 AliTwoParticlePIDCorr.cxx:2555
 AliTwoParticlePIDCorr.cxx:2556
 AliTwoParticlePIDCorr.cxx:2557
 AliTwoParticlePIDCorr.cxx:2558
 AliTwoParticlePIDCorr.cxx:2559
 AliTwoParticlePIDCorr.cxx:2560
 AliTwoParticlePIDCorr.cxx:2561
 AliTwoParticlePIDCorr.cxx:2562
 AliTwoParticlePIDCorr.cxx:2563
 AliTwoParticlePIDCorr.cxx:2564
 AliTwoParticlePIDCorr.cxx:2565
 AliTwoParticlePIDCorr.cxx:2566
 AliTwoParticlePIDCorr.cxx:2567
 AliTwoParticlePIDCorr.cxx:2568
 AliTwoParticlePIDCorr.cxx:2569
 AliTwoParticlePIDCorr.cxx:2570
 AliTwoParticlePIDCorr.cxx:2571
 AliTwoParticlePIDCorr.cxx:2572
 AliTwoParticlePIDCorr.cxx:2573
 AliTwoParticlePIDCorr.cxx:2574
 AliTwoParticlePIDCorr.cxx:2575
 AliTwoParticlePIDCorr.cxx:2576
 AliTwoParticlePIDCorr.cxx:2577
 AliTwoParticlePIDCorr.cxx:2578
 AliTwoParticlePIDCorr.cxx:2579
 AliTwoParticlePIDCorr.cxx:2580
 AliTwoParticlePIDCorr.cxx:2581
 AliTwoParticlePIDCorr.cxx:2582
 AliTwoParticlePIDCorr.cxx:2583
 AliTwoParticlePIDCorr.cxx:2584
 AliTwoParticlePIDCorr.cxx:2585
 AliTwoParticlePIDCorr.cxx:2586
 AliTwoParticlePIDCorr.cxx:2587
 AliTwoParticlePIDCorr.cxx:2588
 AliTwoParticlePIDCorr.cxx:2589
 AliTwoParticlePIDCorr.cxx:2590
 AliTwoParticlePIDCorr.cxx:2591
 AliTwoParticlePIDCorr.cxx:2592
 AliTwoParticlePIDCorr.cxx:2593
 AliTwoParticlePIDCorr.cxx:2594
 AliTwoParticlePIDCorr.cxx:2595
 AliTwoParticlePIDCorr.cxx:2596
 AliTwoParticlePIDCorr.cxx:2597
 AliTwoParticlePIDCorr.cxx:2598
 AliTwoParticlePIDCorr.cxx:2599
 AliTwoParticlePIDCorr.cxx:2600
 AliTwoParticlePIDCorr.cxx:2601
 AliTwoParticlePIDCorr.cxx:2602
 AliTwoParticlePIDCorr.cxx:2603
 AliTwoParticlePIDCorr.cxx:2604
 AliTwoParticlePIDCorr.cxx:2605
 AliTwoParticlePIDCorr.cxx:2606
 AliTwoParticlePIDCorr.cxx:2607
 AliTwoParticlePIDCorr.cxx:2608
 AliTwoParticlePIDCorr.cxx:2609
 AliTwoParticlePIDCorr.cxx:2610
 AliTwoParticlePIDCorr.cxx:2611
 AliTwoParticlePIDCorr.cxx:2612
 AliTwoParticlePIDCorr.cxx:2613
 AliTwoParticlePIDCorr.cxx:2614
 AliTwoParticlePIDCorr.cxx:2615
 AliTwoParticlePIDCorr.cxx:2616
 AliTwoParticlePIDCorr.cxx:2617
 AliTwoParticlePIDCorr.cxx:2618
 AliTwoParticlePIDCorr.cxx:2619
 AliTwoParticlePIDCorr.cxx:2620
 AliTwoParticlePIDCorr.cxx:2621
 AliTwoParticlePIDCorr.cxx:2622
 AliTwoParticlePIDCorr.cxx:2623
 AliTwoParticlePIDCorr.cxx:2624
 AliTwoParticlePIDCorr.cxx:2625
 AliTwoParticlePIDCorr.cxx:2626
 AliTwoParticlePIDCorr.cxx:2627
 AliTwoParticlePIDCorr.cxx:2628
 AliTwoParticlePIDCorr.cxx:2629
 AliTwoParticlePIDCorr.cxx:2630
 AliTwoParticlePIDCorr.cxx:2631
 AliTwoParticlePIDCorr.cxx:2632
 AliTwoParticlePIDCorr.cxx:2633
 AliTwoParticlePIDCorr.cxx:2634
 AliTwoParticlePIDCorr.cxx:2635
 AliTwoParticlePIDCorr.cxx:2636
 AliTwoParticlePIDCorr.cxx:2637
 AliTwoParticlePIDCorr.cxx:2638
 AliTwoParticlePIDCorr.cxx:2639
 AliTwoParticlePIDCorr.cxx:2640
 AliTwoParticlePIDCorr.cxx:2641
 AliTwoParticlePIDCorr.cxx:2642
 AliTwoParticlePIDCorr.cxx:2643
 AliTwoParticlePIDCorr.cxx:2644
 AliTwoParticlePIDCorr.cxx:2645
 AliTwoParticlePIDCorr.cxx:2646
 AliTwoParticlePIDCorr.cxx:2647
 AliTwoParticlePIDCorr.cxx:2648
 AliTwoParticlePIDCorr.cxx:2649
 AliTwoParticlePIDCorr.cxx:2650
 AliTwoParticlePIDCorr.cxx:2651
 AliTwoParticlePIDCorr.cxx:2652
 AliTwoParticlePIDCorr.cxx:2653
 AliTwoParticlePIDCorr.cxx:2654
 AliTwoParticlePIDCorr.cxx:2655
 AliTwoParticlePIDCorr.cxx:2656
 AliTwoParticlePIDCorr.cxx:2657
 AliTwoParticlePIDCorr.cxx:2658
 AliTwoParticlePIDCorr.cxx:2659
 AliTwoParticlePIDCorr.cxx:2660
 AliTwoParticlePIDCorr.cxx:2661
 AliTwoParticlePIDCorr.cxx:2662
 AliTwoParticlePIDCorr.cxx:2663
 AliTwoParticlePIDCorr.cxx:2664
 AliTwoParticlePIDCorr.cxx:2665
 AliTwoParticlePIDCorr.cxx:2666
 AliTwoParticlePIDCorr.cxx:2667
 AliTwoParticlePIDCorr.cxx:2668
 AliTwoParticlePIDCorr.cxx:2669
 AliTwoParticlePIDCorr.cxx:2670
 AliTwoParticlePIDCorr.cxx:2671
 AliTwoParticlePIDCorr.cxx:2672
 AliTwoParticlePIDCorr.cxx:2673
 AliTwoParticlePIDCorr.cxx:2674
 AliTwoParticlePIDCorr.cxx:2675
 AliTwoParticlePIDCorr.cxx:2676
 AliTwoParticlePIDCorr.cxx:2677
 AliTwoParticlePIDCorr.cxx:2678
 AliTwoParticlePIDCorr.cxx:2679
 AliTwoParticlePIDCorr.cxx:2680
 AliTwoParticlePIDCorr.cxx:2681
 AliTwoParticlePIDCorr.cxx:2682
 AliTwoParticlePIDCorr.cxx:2683
 AliTwoParticlePIDCorr.cxx:2684
 AliTwoParticlePIDCorr.cxx:2685
 AliTwoParticlePIDCorr.cxx:2686
 AliTwoParticlePIDCorr.cxx:2687
 AliTwoParticlePIDCorr.cxx:2688
 AliTwoParticlePIDCorr.cxx:2689
 AliTwoParticlePIDCorr.cxx:2690
 AliTwoParticlePIDCorr.cxx:2691
 AliTwoParticlePIDCorr.cxx:2692
 AliTwoParticlePIDCorr.cxx:2693
 AliTwoParticlePIDCorr.cxx:2694
 AliTwoParticlePIDCorr.cxx:2695
 AliTwoParticlePIDCorr.cxx:2696
 AliTwoParticlePIDCorr.cxx:2697
 AliTwoParticlePIDCorr.cxx:2698
 AliTwoParticlePIDCorr.cxx:2699
 AliTwoParticlePIDCorr.cxx:2700
 AliTwoParticlePIDCorr.cxx:2701
 AliTwoParticlePIDCorr.cxx:2702
 AliTwoParticlePIDCorr.cxx:2703
 AliTwoParticlePIDCorr.cxx:2704
 AliTwoParticlePIDCorr.cxx:2705
 AliTwoParticlePIDCorr.cxx:2706
 AliTwoParticlePIDCorr.cxx:2707
 AliTwoParticlePIDCorr.cxx:2708
 AliTwoParticlePIDCorr.cxx:2709
 AliTwoParticlePIDCorr.cxx:2710
 AliTwoParticlePIDCorr.cxx:2711
 AliTwoParticlePIDCorr.cxx:2712
 AliTwoParticlePIDCorr.cxx:2713
 AliTwoParticlePIDCorr.cxx:2714
 AliTwoParticlePIDCorr.cxx:2715
 AliTwoParticlePIDCorr.cxx:2716
 AliTwoParticlePIDCorr.cxx:2717
 AliTwoParticlePIDCorr.cxx:2718
 AliTwoParticlePIDCorr.cxx:2719
 AliTwoParticlePIDCorr.cxx:2720
 AliTwoParticlePIDCorr.cxx:2721
 AliTwoParticlePIDCorr.cxx:2722
 AliTwoParticlePIDCorr.cxx:2723
 AliTwoParticlePIDCorr.cxx:2724
 AliTwoParticlePIDCorr.cxx:2725
 AliTwoParticlePIDCorr.cxx:2726
 AliTwoParticlePIDCorr.cxx:2727
 AliTwoParticlePIDCorr.cxx:2728
 AliTwoParticlePIDCorr.cxx:2729
 AliTwoParticlePIDCorr.cxx:2730
 AliTwoParticlePIDCorr.cxx:2731
 AliTwoParticlePIDCorr.cxx:2732
 AliTwoParticlePIDCorr.cxx:2733
 AliTwoParticlePIDCorr.cxx:2734
 AliTwoParticlePIDCorr.cxx:2735
 AliTwoParticlePIDCorr.cxx:2736
 AliTwoParticlePIDCorr.cxx:2737
 AliTwoParticlePIDCorr.cxx:2738
 AliTwoParticlePIDCorr.cxx:2739
 AliTwoParticlePIDCorr.cxx:2740
 AliTwoParticlePIDCorr.cxx:2741
 AliTwoParticlePIDCorr.cxx:2742
 AliTwoParticlePIDCorr.cxx:2743
 AliTwoParticlePIDCorr.cxx:2744
 AliTwoParticlePIDCorr.cxx:2745
 AliTwoParticlePIDCorr.cxx:2746
 AliTwoParticlePIDCorr.cxx:2747
 AliTwoParticlePIDCorr.cxx:2748
 AliTwoParticlePIDCorr.cxx:2749
 AliTwoParticlePIDCorr.cxx:2750
 AliTwoParticlePIDCorr.cxx:2751
 AliTwoParticlePIDCorr.cxx:2752
 AliTwoParticlePIDCorr.cxx:2753
 AliTwoParticlePIDCorr.cxx:2754
 AliTwoParticlePIDCorr.cxx:2755
 AliTwoParticlePIDCorr.cxx:2756
 AliTwoParticlePIDCorr.cxx:2757
 AliTwoParticlePIDCorr.cxx:2758
 AliTwoParticlePIDCorr.cxx:2759
 AliTwoParticlePIDCorr.cxx:2760
 AliTwoParticlePIDCorr.cxx:2761
 AliTwoParticlePIDCorr.cxx:2762
 AliTwoParticlePIDCorr.cxx:2763
 AliTwoParticlePIDCorr.cxx:2764
 AliTwoParticlePIDCorr.cxx:2765
 AliTwoParticlePIDCorr.cxx:2766
 AliTwoParticlePIDCorr.cxx:2767
 AliTwoParticlePIDCorr.cxx:2768
 AliTwoParticlePIDCorr.cxx:2769
 AliTwoParticlePIDCorr.cxx:2770
 AliTwoParticlePIDCorr.cxx:2771
 AliTwoParticlePIDCorr.cxx:2772
 AliTwoParticlePIDCorr.cxx:2773
 AliTwoParticlePIDCorr.cxx:2774
 AliTwoParticlePIDCorr.cxx:2775
 AliTwoParticlePIDCorr.cxx:2776
 AliTwoParticlePIDCorr.cxx:2777
 AliTwoParticlePIDCorr.cxx:2778
 AliTwoParticlePIDCorr.cxx:2779
 AliTwoParticlePIDCorr.cxx:2780
 AliTwoParticlePIDCorr.cxx:2781
 AliTwoParticlePIDCorr.cxx:2782
 AliTwoParticlePIDCorr.cxx:2783
 AliTwoParticlePIDCorr.cxx:2784
 AliTwoParticlePIDCorr.cxx:2785
 AliTwoParticlePIDCorr.cxx:2786
 AliTwoParticlePIDCorr.cxx:2787
 AliTwoParticlePIDCorr.cxx:2788
 AliTwoParticlePIDCorr.cxx:2789
 AliTwoParticlePIDCorr.cxx:2790
 AliTwoParticlePIDCorr.cxx:2791
 AliTwoParticlePIDCorr.cxx:2792
 AliTwoParticlePIDCorr.cxx:2793
 AliTwoParticlePIDCorr.cxx:2794
 AliTwoParticlePIDCorr.cxx:2795
 AliTwoParticlePIDCorr.cxx:2796
 AliTwoParticlePIDCorr.cxx:2797
 AliTwoParticlePIDCorr.cxx:2798
 AliTwoParticlePIDCorr.cxx:2799
 AliTwoParticlePIDCorr.cxx:2800
 AliTwoParticlePIDCorr.cxx:2801
 AliTwoParticlePIDCorr.cxx:2802
 AliTwoParticlePIDCorr.cxx:2803
 AliTwoParticlePIDCorr.cxx:2804
 AliTwoParticlePIDCorr.cxx:2805
 AliTwoParticlePIDCorr.cxx:2806
 AliTwoParticlePIDCorr.cxx:2807
 AliTwoParticlePIDCorr.cxx:2808
 AliTwoParticlePIDCorr.cxx:2809
 AliTwoParticlePIDCorr.cxx:2810
 AliTwoParticlePIDCorr.cxx:2811
 AliTwoParticlePIDCorr.cxx:2812
 AliTwoParticlePIDCorr.cxx:2813
 AliTwoParticlePIDCorr.cxx:2814
 AliTwoParticlePIDCorr.cxx:2815
 AliTwoParticlePIDCorr.cxx:2816
 AliTwoParticlePIDCorr.cxx:2817
 AliTwoParticlePIDCorr.cxx:2818
 AliTwoParticlePIDCorr.cxx:2819
 AliTwoParticlePIDCorr.cxx:2820
 AliTwoParticlePIDCorr.cxx:2821
 AliTwoParticlePIDCorr.cxx:2822
 AliTwoParticlePIDCorr.cxx:2823
 AliTwoParticlePIDCorr.cxx:2824
 AliTwoParticlePIDCorr.cxx:2825
 AliTwoParticlePIDCorr.cxx:2826
 AliTwoParticlePIDCorr.cxx:2827
 AliTwoParticlePIDCorr.cxx:2828
 AliTwoParticlePIDCorr.cxx:2829
 AliTwoParticlePIDCorr.cxx:2830
 AliTwoParticlePIDCorr.cxx:2831
 AliTwoParticlePIDCorr.cxx:2832
 AliTwoParticlePIDCorr.cxx:2833
 AliTwoParticlePIDCorr.cxx:2834
 AliTwoParticlePIDCorr.cxx:2835
 AliTwoParticlePIDCorr.cxx:2836
 AliTwoParticlePIDCorr.cxx:2837
 AliTwoParticlePIDCorr.cxx:2838
 AliTwoParticlePIDCorr.cxx:2839
 AliTwoParticlePIDCorr.cxx:2840
 AliTwoParticlePIDCorr.cxx:2841
 AliTwoParticlePIDCorr.cxx:2842
 AliTwoParticlePIDCorr.cxx:2843
 AliTwoParticlePIDCorr.cxx:2844
 AliTwoParticlePIDCorr.cxx:2845
 AliTwoParticlePIDCorr.cxx:2846
 AliTwoParticlePIDCorr.cxx:2847
 AliTwoParticlePIDCorr.cxx:2848
 AliTwoParticlePIDCorr.cxx:2849
 AliTwoParticlePIDCorr.cxx:2850
 AliTwoParticlePIDCorr.cxx:2851
 AliTwoParticlePIDCorr.cxx:2852
 AliTwoParticlePIDCorr.cxx:2853
 AliTwoParticlePIDCorr.cxx:2854
 AliTwoParticlePIDCorr.cxx:2855
 AliTwoParticlePIDCorr.cxx:2856
 AliTwoParticlePIDCorr.cxx:2857
 AliTwoParticlePIDCorr.cxx:2858
 AliTwoParticlePIDCorr.cxx:2859
 AliTwoParticlePIDCorr.cxx:2860
 AliTwoParticlePIDCorr.cxx:2861
 AliTwoParticlePIDCorr.cxx:2862
 AliTwoParticlePIDCorr.cxx:2863
 AliTwoParticlePIDCorr.cxx:2864
 AliTwoParticlePIDCorr.cxx:2865
 AliTwoParticlePIDCorr.cxx:2866
 AliTwoParticlePIDCorr.cxx:2867
 AliTwoParticlePIDCorr.cxx:2868
 AliTwoParticlePIDCorr.cxx:2869
 AliTwoParticlePIDCorr.cxx:2870
 AliTwoParticlePIDCorr.cxx:2871
 AliTwoParticlePIDCorr.cxx:2872
 AliTwoParticlePIDCorr.cxx:2873
 AliTwoParticlePIDCorr.cxx:2874
 AliTwoParticlePIDCorr.cxx:2875
 AliTwoParticlePIDCorr.cxx:2876
 AliTwoParticlePIDCorr.cxx:2877
 AliTwoParticlePIDCorr.cxx:2878
 AliTwoParticlePIDCorr.cxx:2879
 AliTwoParticlePIDCorr.cxx:2880
 AliTwoParticlePIDCorr.cxx:2881
 AliTwoParticlePIDCorr.cxx:2882
 AliTwoParticlePIDCorr.cxx:2883
 AliTwoParticlePIDCorr.cxx:2884
 AliTwoParticlePIDCorr.cxx:2885
 AliTwoParticlePIDCorr.cxx:2886
 AliTwoParticlePIDCorr.cxx:2887
 AliTwoParticlePIDCorr.cxx:2888
 AliTwoParticlePIDCorr.cxx:2889
 AliTwoParticlePIDCorr.cxx:2890
 AliTwoParticlePIDCorr.cxx:2891
 AliTwoParticlePIDCorr.cxx:2892
 AliTwoParticlePIDCorr.cxx:2893
 AliTwoParticlePIDCorr.cxx:2894
 AliTwoParticlePIDCorr.cxx:2895
 AliTwoParticlePIDCorr.cxx:2896
 AliTwoParticlePIDCorr.cxx:2897
 AliTwoParticlePIDCorr.cxx:2898
 AliTwoParticlePIDCorr.cxx:2899
 AliTwoParticlePIDCorr.cxx:2900
 AliTwoParticlePIDCorr.cxx:2901
 AliTwoParticlePIDCorr.cxx:2902
 AliTwoParticlePIDCorr.cxx:2903
 AliTwoParticlePIDCorr.cxx:2904
 AliTwoParticlePIDCorr.cxx:2905
 AliTwoParticlePIDCorr.cxx:2906
 AliTwoParticlePIDCorr.cxx:2907
 AliTwoParticlePIDCorr.cxx:2908
 AliTwoParticlePIDCorr.cxx:2909
 AliTwoParticlePIDCorr.cxx:2910
 AliTwoParticlePIDCorr.cxx:2911
 AliTwoParticlePIDCorr.cxx:2912
 AliTwoParticlePIDCorr.cxx:2913
 AliTwoParticlePIDCorr.cxx:2914
 AliTwoParticlePIDCorr.cxx:2915
 AliTwoParticlePIDCorr.cxx:2916
 AliTwoParticlePIDCorr.cxx:2917
 AliTwoParticlePIDCorr.cxx:2918
 AliTwoParticlePIDCorr.cxx:2919
 AliTwoParticlePIDCorr.cxx:2920
 AliTwoParticlePIDCorr.cxx:2921
 AliTwoParticlePIDCorr.cxx:2922
 AliTwoParticlePIDCorr.cxx:2923
 AliTwoParticlePIDCorr.cxx:2924
 AliTwoParticlePIDCorr.cxx:2925
 AliTwoParticlePIDCorr.cxx:2926
 AliTwoParticlePIDCorr.cxx:2927
 AliTwoParticlePIDCorr.cxx:2928
 AliTwoParticlePIDCorr.cxx:2929
 AliTwoParticlePIDCorr.cxx:2930
 AliTwoParticlePIDCorr.cxx:2931
 AliTwoParticlePIDCorr.cxx:2932
 AliTwoParticlePIDCorr.cxx:2933
 AliTwoParticlePIDCorr.cxx:2934
 AliTwoParticlePIDCorr.cxx:2935
 AliTwoParticlePIDCorr.cxx:2936
 AliTwoParticlePIDCorr.cxx:2937
 AliTwoParticlePIDCorr.cxx:2938
 AliTwoParticlePIDCorr.cxx:2939
 AliTwoParticlePIDCorr.cxx:2940
 AliTwoParticlePIDCorr.cxx:2941
 AliTwoParticlePIDCorr.cxx:2942
 AliTwoParticlePIDCorr.cxx:2943
 AliTwoParticlePIDCorr.cxx:2944
 AliTwoParticlePIDCorr.cxx:2945
 AliTwoParticlePIDCorr.cxx:2946
 AliTwoParticlePIDCorr.cxx:2947
 AliTwoParticlePIDCorr.cxx:2948
 AliTwoParticlePIDCorr.cxx:2949
 AliTwoParticlePIDCorr.cxx:2950
 AliTwoParticlePIDCorr.cxx:2951
 AliTwoParticlePIDCorr.cxx:2952
 AliTwoParticlePIDCorr.cxx:2953
 AliTwoParticlePIDCorr.cxx:2954
 AliTwoParticlePIDCorr.cxx:2955
 AliTwoParticlePIDCorr.cxx:2956
 AliTwoParticlePIDCorr.cxx:2957
 AliTwoParticlePIDCorr.cxx:2958
 AliTwoParticlePIDCorr.cxx:2959
 AliTwoParticlePIDCorr.cxx:2960
 AliTwoParticlePIDCorr.cxx:2961
 AliTwoParticlePIDCorr.cxx:2962
 AliTwoParticlePIDCorr.cxx:2963
 AliTwoParticlePIDCorr.cxx:2964
 AliTwoParticlePIDCorr.cxx:2965
 AliTwoParticlePIDCorr.cxx:2966
 AliTwoParticlePIDCorr.cxx:2967
 AliTwoParticlePIDCorr.cxx:2968
 AliTwoParticlePIDCorr.cxx:2969
 AliTwoParticlePIDCorr.cxx:2970
 AliTwoParticlePIDCorr.cxx:2971
 AliTwoParticlePIDCorr.cxx:2972
 AliTwoParticlePIDCorr.cxx:2973
 AliTwoParticlePIDCorr.cxx:2974
 AliTwoParticlePIDCorr.cxx:2975
 AliTwoParticlePIDCorr.cxx:2976
 AliTwoParticlePIDCorr.cxx:2977
 AliTwoParticlePIDCorr.cxx:2978
 AliTwoParticlePIDCorr.cxx:2979
 AliTwoParticlePIDCorr.cxx:2980
 AliTwoParticlePIDCorr.cxx:2981
 AliTwoParticlePIDCorr.cxx:2982
 AliTwoParticlePIDCorr.cxx:2983
 AliTwoParticlePIDCorr.cxx:2984
 AliTwoParticlePIDCorr.cxx:2985
 AliTwoParticlePIDCorr.cxx:2986
 AliTwoParticlePIDCorr.cxx:2987
 AliTwoParticlePIDCorr.cxx:2988
 AliTwoParticlePIDCorr.cxx:2989
 AliTwoParticlePIDCorr.cxx:2990
 AliTwoParticlePIDCorr.cxx:2991
 AliTwoParticlePIDCorr.cxx:2992
 AliTwoParticlePIDCorr.cxx:2993
 AliTwoParticlePIDCorr.cxx:2994
 AliTwoParticlePIDCorr.cxx:2995
 AliTwoParticlePIDCorr.cxx:2996
 AliTwoParticlePIDCorr.cxx:2997
 AliTwoParticlePIDCorr.cxx:2998
 AliTwoParticlePIDCorr.cxx:2999
 AliTwoParticlePIDCorr.cxx:3000
 AliTwoParticlePIDCorr.cxx:3001
 AliTwoParticlePIDCorr.cxx:3002
 AliTwoParticlePIDCorr.cxx:3003
 AliTwoParticlePIDCorr.cxx:3004
 AliTwoParticlePIDCorr.cxx:3005
 AliTwoParticlePIDCorr.cxx:3006
 AliTwoParticlePIDCorr.cxx:3007
 AliTwoParticlePIDCorr.cxx:3008
 AliTwoParticlePIDCorr.cxx:3009
 AliTwoParticlePIDCorr.cxx:3010
 AliTwoParticlePIDCorr.cxx:3011
 AliTwoParticlePIDCorr.cxx:3012
 AliTwoParticlePIDCorr.cxx:3013
 AliTwoParticlePIDCorr.cxx:3014
 AliTwoParticlePIDCorr.cxx:3015
 AliTwoParticlePIDCorr.cxx:3016
 AliTwoParticlePIDCorr.cxx:3017
 AliTwoParticlePIDCorr.cxx:3018
 AliTwoParticlePIDCorr.cxx:3019
 AliTwoParticlePIDCorr.cxx:3020
 AliTwoParticlePIDCorr.cxx:3021
 AliTwoParticlePIDCorr.cxx:3022
 AliTwoParticlePIDCorr.cxx:3023
 AliTwoParticlePIDCorr.cxx:3024
 AliTwoParticlePIDCorr.cxx:3025
 AliTwoParticlePIDCorr.cxx:3026
 AliTwoParticlePIDCorr.cxx:3027
 AliTwoParticlePIDCorr.cxx:3028
 AliTwoParticlePIDCorr.cxx:3029
 AliTwoParticlePIDCorr.cxx:3030
 AliTwoParticlePIDCorr.cxx:3031
 AliTwoParticlePIDCorr.cxx:3032
 AliTwoParticlePIDCorr.cxx:3033
 AliTwoParticlePIDCorr.cxx:3034
 AliTwoParticlePIDCorr.cxx:3035
 AliTwoParticlePIDCorr.cxx:3036
 AliTwoParticlePIDCorr.cxx:3037
 AliTwoParticlePIDCorr.cxx:3038
 AliTwoParticlePIDCorr.cxx:3039
 AliTwoParticlePIDCorr.cxx:3040
 AliTwoParticlePIDCorr.cxx:3041
 AliTwoParticlePIDCorr.cxx:3042
 AliTwoParticlePIDCorr.cxx:3043
 AliTwoParticlePIDCorr.cxx:3044
 AliTwoParticlePIDCorr.cxx:3045
 AliTwoParticlePIDCorr.cxx:3046
 AliTwoParticlePIDCorr.cxx:3047
 AliTwoParticlePIDCorr.cxx:3048
 AliTwoParticlePIDCorr.cxx:3049
 AliTwoParticlePIDCorr.cxx:3050
 AliTwoParticlePIDCorr.cxx:3051
 AliTwoParticlePIDCorr.cxx:3052
 AliTwoParticlePIDCorr.cxx:3053
 AliTwoParticlePIDCorr.cxx:3054
 AliTwoParticlePIDCorr.cxx:3055
 AliTwoParticlePIDCorr.cxx:3056
 AliTwoParticlePIDCorr.cxx:3057
 AliTwoParticlePIDCorr.cxx:3058
 AliTwoParticlePIDCorr.cxx:3059
 AliTwoParticlePIDCorr.cxx:3060
 AliTwoParticlePIDCorr.cxx:3061
 AliTwoParticlePIDCorr.cxx:3062
 AliTwoParticlePIDCorr.cxx:3063
 AliTwoParticlePIDCorr.cxx:3064
 AliTwoParticlePIDCorr.cxx:3065
 AliTwoParticlePIDCorr.cxx:3066
 AliTwoParticlePIDCorr.cxx:3067
 AliTwoParticlePIDCorr.cxx:3068
 AliTwoParticlePIDCorr.cxx:3069
 AliTwoParticlePIDCorr.cxx:3070
 AliTwoParticlePIDCorr.cxx:3071
 AliTwoParticlePIDCorr.cxx:3072
 AliTwoParticlePIDCorr.cxx:3073
 AliTwoParticlePIDCorr.cxx:3074
 AliTwoParticlePIDCorr.cxx:3075
 AliTwoParticlePIDCorr.cxx:3076
 AliTwoParticlePIDCorr.cxx:3077
 AliTwoParticlePIDCorr.cxx:3078
 AliTwoParticlePIDCorr.cxx:3079
 AliTwoParticlePIDCorr.cxx:3080
 AliTwoParticlePIDCorr.cxx:3081
 AliTwoParticlePIDCorr.cxx:3082
 AliTwoParticlePIDCorr.cxx:3083
 AliTwoParticlePIDCorr.cxx:3084
 AliTwoParticlePIDCorr.cxx:3085
 AliTwoParticlePIDCorr.cxx:3086
 AliTwoParticlePIDCorr.cxx:3087
 AliTwoParticlePIDCorr.cxx:3088
 AliTwoParticlePIDCorr.cxx:3089
 AliTwoParticlePIDCorr.cxx:3090
 AliTwoParticlePIDCorr.cxx:3091
 AliTwoParticlePIDCorr.cxx:3092
 AliTwoParticlePIDCorr.cxx:3093
 AliTwoParticlePIDCorr.cxx:3094
 AliTwoParticlePIDCorr.cxx:3095
 AliTwoParticlePIDCorr.cxx:3096
 AliTwoParticlePIDCorr.cxx:3097
 AliTwoParticlePIDCorr.cxx:3098
 AliTwoParticlePIDCorr.cxx:3099
 AliTwoParticlePIDCorr.cxx:3100
 AliTwoParticlePIDCorr.cxx:3101
 AliTwoParticlePIDCorr.cxx:3102
 AliTwoParticlePIDCorr.cxx:3103
 AliTwoParticlePIDCorr.cxx:3104
 AliTwoParticlePIDCorr.cxx:3105
 AliTwoParticlePIDCorr.cxx:3106
 AliTwoParticlePIDCorr.cxx:3107
 AliTwoParticlePIDCorr.cxx:3108
 AliTwoParticlePIDCorr.cxx:3109
 AliTwoParticlePIDCorr.cxx:3110
 AliTwoParticlePIDCorr.cxx:3111
 AliTwoParticlePIDCorr.cxx:3112
 AliTwoParticlePIDCorr.cxx:3113
 AliTwoParticlePIDCorr.cxx:3114
 AliTwoParticlePIDCorr.cxx:3115
 AliTwoParticlePIDCorr.cxx:3116
 AliTwoParticlePIDCorr.cxx:3117
 AliTwoParticlePIDCorr.cxx:3118
 AliTwoParticlePIDCorr.cxx:3119
 AliTwoParticlePIDCorr.cxx:3120
 AliTwoParticlePIDCorr.cxx:3121
 AliTwoParticlePIDCorr.cxx:3122
 AliTwoParticlePIDCorr.cxx:3123
 AliTwoParticlePIDCorr.cxx:3124
 AliTwoParticlePIDCorr.cxx:3125
 AliTwoParticlePIDCorr.cxx:3126
 AliTwoParticlePIDCorr.cxx:3127
 AliTwoParticlePIDCorr.cxx:3128
 AliTwoParticlePIDCorr.cxx:3129
 AliTwoParticlePIDCorr.cxx:3130
 AliTwoParticlePIDCorr.cxx:3131
 AliTwoParticlePIDCorr.cxx:3132
 AliTwoParticlePIDCorr.cxx:3133
 AliTwoParticlePIDCorr.cxx:3134
 AliTwoParticlePIDCorr.cxx:3135
 AliTwoParticlePIDCorr.cxx:3136
 AliTwoParticlePIDCorr.cxx:3137
 AliTwoParticlePIDCorr.cxx:3138
 AliTwoParticlePIDCorr.cxx:3139
 AliTwoParticlePIDCorr.cxx:3140
 AliTwoParticlePIDCorr.cxx:3141
 AliTwoParticlePIDCorr.cxx:3142
 AliTwoParticlePIDCorr.cxx:3143
 AliTwoParticlePIDCorr.cxx:3144
 AliTwoParticlePIDCorr.cxx:3145
 AliTwoParticlePIDCorr.cxx:3146
 AliTwoParticlePIDCorr.cxx:3147
 AliTwoParticlePIDCorr.cxx:3148
 AliTwoParticlePIDCorr.cxx:3149
 AliTwoParticlePIDCorr.cxx:3150
 AliTwoParticlePIDCorr.cxx:3151
 AliTwoParticlePIDCorr.cxx:3152
 AliTwoParticlePIDCorr.cxx:3153
 AliTwoParticlePIDCorr.cxx:3154
 AliTwoParticlePIDCorr.cxx:3155
 AliTwoParticlePIDCorr.cxx:3156
 AliTwoParticlePIDCorr.cxx:3157
 AliTwoParticlePIDCorr.cxx:3158
 AliTwoParticlePIDCorr.cxx:3159
 AliTwoParticlePIDCorr.cxx:3160
 AliTwoParticlePIDCorr.cxx:3161
 AliTwoParticlePIDCorr.cxx:3162
 AliTwoParticlePIDCorr.cxx:3163
 AliTwoParticlePIDCorr.cxx:3164
 AliTwoParticlePIDCorr.cxx:3165
 AliTwoParticlePIDCorr.cxx:3166
 AliTwoParticlePIDCorr.cxx:3167
 AliTwoParticlePIDCorr.cxx:3168
 AliTwoParticlePIDCorr.cxx:3169
 AliTwoParticlePIDCorr.cxx:3170
 AliTwoParticlePIDCorr.cxx:3171
 AliTwoParticlePIDCorr.cxx:3172
 AliTwoParticlePIDCorr.cxx:3173
 AliTwoParticlePIDCorr.cxx:3174
 AliTwoParticlePIDCorr.cxx:3175
 AliTwoParticlePIDCorr.cxx:3176
 AliTwoParticlePIDCorr.cxx:3177
 AliTwoParticlePIDCorr.cxx:3178
 AliTwoParticlePIDCorr.cxx:3179
 AliTwoParticlePIDCorr.cxx:3180
 AliTwoParticlePIDCorr.cxx:3181
 AliTwoParticlePIDCorr.cxx:3182
 AliTwoParticlePIDCorr.cxx:3183
 AliTwoParticlePIDCorr.cxx:3184
 AliTwoParticlePIDCorr.cxx:3185
 AliTwoParticlePIDCorr.cxx:3186
 AliTwoParticlePIDCorr.cxx:3187
 AliTwoParticlePIDCorr.cxx:3188
 AliTwoParticlePIDCorr.cxx:3189
 AliTwoParticlePIDCorr.cxx:3190
 AliTwoParticlePIDCorr.cxx:3191
 AliTwoParticlePIDCorr.cxx:3192
 AliTwoParticlePIDCorr.cxx:3193
 AliTwoParticlePIDCorr.cxx:3194
 AliTwoParticlePIDCorr.cxx:3195
 AliTwoParticlePIDCorr.cxx:3196
 AliTwoParticlePIDCorr.cxx:3197
 AliTwoParticlePIDCorr.cxx:3198
 AliTwoParticlePIDCorr.cxx:3199
 AliTwoParticlePIDCorr.cxx:3200
 AliTwoParticlePIDCorr.cxx:3201
 AliTwoParticlePIDCorr.cxx:3202
 AliTwoParticlePIDCorr.cxx:3203
 AliTwoParticlePIDCorr.cxx:3204
 AliTwoParticlePIDCorr.cxx:3205
 AliTwoParticlePIDCorr.cxx:3206
 AliTwoParticlePIDCorr.cxx:3207
 AliTwoParticlePIDCorr.cxx:3208
 AliTwoParticlePIDCorr.cxx:3209
 AliTwoParticlePIDCorr.cxx:3210
 AliTwoParticlePIDCorr.cxx:3211
 AliTwoParticlePIDCorr.cxx:3212
 AliTwoParticlePIDCorr.cxx:3213
 AliTwoParticlePIDCorr.cxx:3214
 AliTwoParticlePIDCorr.cxx:3215
 AliTwoParticlePIDCorr.cxx:3216
 AliTwoParticlePIDCorr.cxx:3217
 AliTwoParticlePIDCorr.cxx:3218
 AliTwoParticlePIDCorr.cxx:3219
 AliTwoParticlePIDCorr.cxx:3220
 AliTwoParticlePIDCorr.cxx:3221
 AliTwoParticlePIDCorr.cxx:3222
 AliTwoParticlePIDCorr.cxx:3223
 AliTwoParticlePIDCorr.cxx:3224
 AliTwoParticlePIDCorr.cxx:3225
 AliTwoParticlePIDCorr.cxx:3226
 AliTwoParticlePIDCorr.cxx:3227
 AliTwoParticlePIDCorr.cxx:3228
 AliTwoParticlePIDCorr.cxx:3229
 AliTwoParticlePIDCorr.cxx:3230
 AliTwoParticlePIDCorr.cxx:3231
 AliTwoParticlePIDCorr.cxx:3232
 AliTwoParticlePIDCorr.cxx:3233
 AliTwoParticlePIDCorr.cxx:3234
 AliTwoParticlePIDCorr.cxx:3235
 AliTwoParticlePIDCorr.cxx:3236
 AliTwoParticlePIDCorr.cxx:3237
 AliTwoParticlePIDCorr.cxx:3238
 AliTwoParticlePIDCorr.cxx:3239
 AliTwoParticlePIDCorr.cxx:3240
 AliTwoParticlePIDCorr.cxx:3241
 AliTwoParticlePIDCorr.cxx:3242
 AliTwoParticlePIDCorr.cxx:3243
 AliTwoParticlePIDCorr.cxx:3244
 AliTwoParticlePIDCorr.cxx:3245
 AliTwoParticlePIDCorr.cxx:3246
 AliTwoParticlePIDCorr.cxx:3247
 AliTwoParticlePIDCorr.cxx:3248
 AliTwoParticlePIDCorr.cxx:3249
 AliTwoParticlePIDCorr.cxx:3250
 AliTwoParticlePIDCorr.cxx:3251
 AliTwoParticlePIDCorr.cxx:3252
 AliTwoParticlePIDCorr.cxx:3253
 AliTwoParticlePIDCorr.cxx:3254
 AliTwoParticlePIDCorr.cxx:3255
 AliTwoParticlePIDCorr.cxx:3256
 AliTwoParticlePIDCorr.cxx:3257
 AliTwoParticlePIDCorr.cxx:3258
 AliTwoParticlePIDCorr.cxx:3259
 AliTwoParticlePIDCorr.cxx:3260
 AliTwoParticlePIDCorr.cxx:3261
 AliTwoParticlePIDCorr.cxx:3262
 AliTwoParticlePIDCorr.cxx:3263
 AliTwoParticlePIDCorr.cxx:3264
 AliTwoParticlePIDCorr.cxx:3265
 AliTwoParticlePIDCorr.cxx:3266
 AliTwoParticlePIDCorr.cxx:3267
 AliTwoParticlePIDCorr.cxx:3268
 AliTwoParticlePIDCorr.cxx:3269
 AliTwoParticlePIDCorr.cxx:3270
 AliTwoParticlePIDCorr.cxx:3271
 AliTwoParticlePIDCorr.cxx:3272
 AliTwoParticlePIDCorr.cxx:3273
 AliTwoParticlePIDCorr.cxx:3274
 AliTwoParticlePIDCorr.cxx:3275
 AliTwoParticlePIDCorr.cxx:3276
 AliTwoParticlePIDCorr.cxx:3277
 AliTwoParticlePIDCorr.cxx:3278
 AliTwoParticlePIDCorr.cxx:3279
 AliTwoParticlePIDCorr.cxx:3280
 AliTwoParticlePIDCorr.cxx:3281
 AliTwoParticlePIDCorr.cxx:3282
 AliTwoParticlePIDCorr.cxx:3283
 AliTwoParticlePIDCorr.cxx:3284
 AliTwoParticlePIDCorr.cxx:3285
 AliTwoParticlePIDCorr.cxx:3286
 AliTwoParticlePIDCorr.cxx:3287
 AliTwoParticlePIDCorr.cxx:3288
 AliTwoParticlePIDCorr.cxx:3289
 AliTwoParticlePIDCorr.cxx:3290
 AliTwoParticlePIDCorr.cxx:3291
 AliTwoParticlePIDCorr.cxx:3292
 AliTwoParticlePIDCorr.cxx:3293
 AliTwoParticlePIDCorr.cxx:3294
 AliTwoParticlePIDCorr.cxx:3295
 AliTwoParticlePIDCorr.cxx:3296
 AliTwoParticlePIDCorr.cxx:3297
 AliTwoParticlePIDCorr.cxx:3298
 AliTwoParticlePIDCorr.cxx:3299
 AliTwoParticlePIDCorr.cxx:3300
 AliTwoParticlePIDCorr.cxx:3301
 AliTwoParticlePIDCorr.cxx:3302
 AliTwoParticlePIDCorr.cxx:3303
 AliTwoParticlePIDCorr.cxx:3304
 AliTwoParticlePIDCorr.cxx:3305
 AliTwoParticlePIDCorr.cxx:3306
 AliTwoParticlePIDCorr.cxx:3307
 AliTwoParticlePIDCorr.cxx:3308
 AliTwoParticlePIDCorr.cxx:3309
 AliTwoParticlePIDCorr.cxx:3310
 AliTwoParticlePIDCorr.cxx:3311
 AliTwoParticlePIDCorr.cxx:3312
 AliTwoParticlePIDCorr.cxx:3313
 AliTwoParticlePIDCorr.cxx:3314
 AliTwoParticlePIDCorr.cxx:3315
 AliTwoParticlePIDCorr.cxx:3316
 AliTwoParticlePIDCorr.cxx:3317
 AliTwoParticlePIDCorr.cxx:3318
 AliTwoParticlePIDCorr.cxx:3319
 AliTwoParticlePIDCorr.cxx:3320
 AliTwoParticlePIDCorr.cxx:3321
 AliTwoParticlePIDCorr.cxx:3322
 AliTwoParticlePIDCorr.cxx:3323
 AliTwoParticlePIDCorr.cxx:3324
 AliTwoParticlePIDCorr.cxx:3325
 AliTwoParticlePIDCorr.cxx:3326
 AliTwoParticlePIDCorr.cxx:3327
 AliTwoParticlePIDCorr.cxx:3328
 AliTwoParticlePIDCorr.cxx:3329
 AliTwoParticlePIDCorr.cxx:3330
 AliTwoParticlePIDCorr.cxx:3331
 AliTwoParticlePIDCorr.cxx:3332
 AliTwoParticlePIDCorr.cxx:3333
 AliTwoParticlePIDCorr.cxx:3334
 AliTwoParticlePIDCorr.cxx:3335
 AliTwoParticlePIDCorr.cxx:3336
 AliTwoParticlePIDCorr.cxx:3337
 AliTwoParticlePIDCorr.cxx:3338
 AliTwoParticlePIDCorr.cxx:3339
 AliTwoParticlePIDCorr.cxx:3340
 AliTwoParticlePIDCorr.cxx:3341
 AliTwoParticlePIDCorr.cxx:3342
 AliTwoParticlePIDCorr.cxx:3343
 AliTwoParticlePIDCorr.cxx:3344
 AliTwoParticlePIDCorr.cxx:3345
 AliTwoParticlePIDCorr.cxx:3346
 AliTwoParticlePIDCorr.cxx:3347
 AliTwoParticlePIDCorr.cxx:3348
 AliTwoParticlePIDCorr.cxx:3349
 AliTwoParticlePIDCorr.cxx:3350
 AliTwoParticlePIDCorr.cxx:3351
 AliTwoParticlePIDCorr.cxx:3352
 AliTwoParticlePIDCorr.cxx:3353
 AliTwoParticlePIDCorr.cxx:3354
 AliTwoParticlePIDCorr.cxx:3355
 AliTwoParticlePIDCorr.cxx:3356
 AliTwoParticlePIDCorr.cxx:3357
 AliTwoParticlePIDCorr.cxx:3358
 AliTwoParticlePIDCorr.cxx:3359
 AliTwoParticlePIDCorr.cxx:3360
 AliTwoParticlePIDCorr.cxx:3361
 AliTwoParticlePIDCorr.cxx:3362
 AliTwoParticlePIDCorr.cxx:3363
 AliTwoParticlePIDCorr.cxx:3364
 AliTwoParticlePIDCorr.cxx:3365
 AliTwoParticlePIDCorr.cxx:3366
 AliTwoParticlePIDCorr.cxx:3367
 AliTwoParticlePIDCorr.cxx:3368
 AliTwoParticlePIDCorr.cxx:3369
 AliTwoParticlePIDCorr.cxx:3370
 AliTwoParticlePIDCorr.cxx:3371
 AliTwoParticlePIDCorr.cxx:3372
 AliTwoParticlePIDCorr.cxx:3373
 AliTwoParticlePIDCorr.cxx:3374
 AliTwoParticlePIDCorr.cxx:3375
 AliTwoParticlePIDCorr.cxx:3376
 AliTwoParticlePIDCorr.cxx:3377
 AliTwoParticlePIDCorr.cxx:3378
 AliTwoParticlePIDCorr.cxx:3379
 AliTwoParticlePIDCorr.cxx:3380
 AliTwoParticlePIDCorr.cxx:3381
 AliTwoParticlePIDCorr.cxx:3382
 AliTwoParticlePIDCorr.cxx:3383
 AliTwoParticlePIDCorr.cxx:3384
 AliTwoParticlePIDCorr.cxx:3385
 AliTwoParticlePIDCorr.cxx:3386
 AliTwoParticlePIDCorr.cxx:3387
 AliTwoParticlePIDCorr.cxx:3388
 AliTwoParticlePIDCorr.cxx:3389
 AliTwoParticlePIDCorr.cxx:3390
 AliTwoParticlePIDCorr.cxx:3391
 AliTwoParticlePIDCorr.cxx:3392
 AliTwoParticlePIDCorr.cxx:3393
 AliTwoParticlePIDCorr.cxx:3394
 AliTwoParticlePIDCorr.cxx:3395
 AliTwoParticlePIDCorr.cxx:3396
 AliTwoParticlePIDCorr.cxx:3397
 AliTwoParticlePIDCorr.cxx:3398
 AliTwoParticlePIDCorr.cxx:3399
 AliTwoParticlePIDCorr.cxx:3400
 AliTwoParticlePIDCorr.cxx:3401
 AliTwoParticlePIDCorr.cxx:3402
 AliTwoParticlePIDCorr.cxx:3403
 AliTwoParticlePIDCorr.cxx:3404
 AliTwoParticlePIDCorr.cxx:3405
 AliTwoParticlePIDCorr.cxx:3406
 AliTwoParticlePIDCorr.cxx:3407
 AliTwoParticlePIDCorr.cxx:3408
 AliTwoParticlePIDCorr.cxx:3409
 AliTwoParticlePIDCorr.cxx:3410
 AliTwoParticlePIDCorr.cxx:3411
 AliTwoParticlePIDCorr.cxx:3412
 AliTwoParticlePIDCorr.cxx:3413
 AliTwoParticlePIDCorr.cxx:3414
 AliTwoParticlePIDCorr.cxx:3415
 AliTwoParticlePIDCorr.cxx:3416
 AliTwoParticlePIDCorr.cxx:3417
 AliTwoParticlePIDCorr.cxx:3418
 AliTwoParticlePIDCorr.cxx:3419
 AliTwoParticlePIDCorr.cxx:3420
 AliTwoParticlePIDCorr.cxx:3421
 AliTwoParticlePIDCorr.cxx:3422
 AliTwoParticlePIDCorr.cxx:3423
 AliTwoParticlePIDCorr.cxx:3424
 AliTwoParticlePIDCorr.cxx:3425
 AliTwoParticlePIDCorr.cxx:3426
 AliTwoParticlePIDCorr.cxx:3427
 AliTwoParticlePIDCorr.cxx:3428
 AliTwoParticlePIDCorr.cxx:3429
 AliTwoParticlePIDCorr.cxx:3430
 AliTwoParticlePIDCorr.cxx:3431
 AliTwoParticlePIDCorr.cxx:3432
 AliTwoParticlePIDCorr.cxx:3433
 AliTwoParticlePIDCorr.cxx:3434
 AliTwoParticlePIDCorr.cxx:3435
 AliTwoParticlePIDCorr.cxx:3436
 AliTwoParticlePIDCorr.cxx:3437
 AliTwoParticlePIDCorr.cxx:3438
 AliTwoParticlePIDCorr.cxx:3439
 AliTwoParticlePIDCorr.cxx:3440
 AliTwoParticlePIDCorr.cxx:3441
 AliTwoParticlePIDCorr.cxx:3442
 AliTwoParticlePIDCorr.cxx:3443
 AliTwoParticlePIDCorr.cxx:3444
 AliTwoParticlePIDCorr.cxx:3445
 AliTwoParticlePIDCorr.cxx:3446
 AliTwoParticlePIDCorr.cxx:3447
 AliTwoParticlePIDCorr.cxx:3448
 AliTwoParticlePIDCorr.cxx:3449
 AliTwoParticlePIDCorr.cxx:3450
 AliTwoParticlePIDCorr.cxx:3451
 AliTwoParticlePIDCorr.cxx:3452
 AliTwoParticlePIDCorr.cxx:3453
 AliTwoParticlePIDCorr.cxx:3454
 AliTwoParticlePIDCorr.cxx:3455
 AliTwoParticlePIDCorr.cxx:3456
 AliTwoParticlePIDCorr.cxx:3457
 AliTwoParticlePIDCorr.cxx:3458
 AliTwoParticlePIDCorr.cxx:3459
 AliTwoParticlePIDCorr.cxx:3460
 AliTwoParticlePIDCorr.cxx:3461
 AliTwoParticlePIDCorr.cxx:3462
 AliTwoParticlePIDCorr.cxx:3463
 AliTwoParticlePIDCorr.cxx:3464
 AliTwoParticlePIDCorr.cxx:3465
 AliTwoParticlePIDCorr.cxx:3466
 AliTwoParticlePIDCorr.cxx:3467
 AliTwoParticlePIDCorr.cxx:3468
 AliTwoParticlePIDCorr.cxx:3469
 AliTwoParticlePIDCorr.cxx:3470
 AliTwoParticlePIDCorr.cxx:3471
 AliTwoParticlePIDCorr.cxx:3472
 AliTwoParticlePIDCorr.cxx:3473
 AliTwoParticlePIDCorr.cxx:3474
 AliTwoParticlePIDCorr.cxx:3475
 AliTwoParticlePIDCorr.cxx:3476
 AliTwoParticlePIDCorr.cxx:3477
 AliTwoParticlePIDCorr.cxx:3478
 AliTwoParticlePIDCorr.cxx:3479
 AliTwoParticlePIDCorr.cxx:3480
 AliTwoParticlePIDCorr.cxx:3481
 AliTwoParticlePIDCorr.cxx:3482
 AliTwoParticlePIDCorr.cxx:3483
 AliTwoParticlePIDCorr.cxx:3484
 AliTwoParticlePIDCorr.cxx:3485
 AliTwoParticlePIDCorr.cxx:3486
 AliTwoParticlePIDCorr.cxx:3487
 AliTwoParticlePIDCorr.cxx:3488
 AliTwoParticlePIDCorr.cxx:3489
 AliTwoParticlePIDCorr.cxx:3490
 AliTwoParticlePIDCorr.cxx:3491
 AliTwoParticlePIDCorr.cxx:3492
 AliTwoParticlePIDCorr.cxx:3493
 AliTwoParticlePIDCorr.cxx:3494
 AliTwoParticlePIDCorr.cxx:3495
 AliTwoParticlePIDCorr.cxx:3496
 AliTwoParticlePIDCorr.cxx:3497
 AliTwoParticlePIDCorr.cxx:3498
 AliTwoParticlePIDCorr.cxx:3499
 AliTwoParticlePIDCorr.cxx:3500
 AliTwoParticlePIDCorr.cxx:3501
 AliTwoParticlePIDCorr.cxx:3502
 AliTwoParticlePIDCorr.cxx:3503
 AliTwoParticlePIDCorr.cxx:3504
 AliTwoParticlePIDCorr.cxx:3505
 AliTwoParticlePIDCorr.cxx:3506
 AliTwoParticlePIDCorr.cxx:3507
 AliTwoParticlePIDCorr.cxx:3508
 AliTwoParticlePIDCorr.cxx:3509
 AliTwoParticlePIDCorr.cxx:3510
 AliTwoParticlePIDCorr.cxx:3511
 AliTwoParticlePIDCorr.cxx:3512
 AliTwoParticlePIDCorr.cxx:3513
 AliTwoParticlePIDCorr.cxx:3514
 AliTwoParticlePIDCorr.cxx:3515
 AliTwoParticlePIDCorr.cxx:3516
 AliTwoParticlePIDCorr.cxx:3517
 AliTwoParticlePIDCorr.cxx:3518
 AliTwoParticlePIDCorr.cxx:3519
 AliTwoParticlePIDCorr.cxx:3520
 AliTwoParticlePIDCorr.cxx:3521
 AliTwoParticlePIDCorr.cxx:3522
 AliTwoParticlePIDCorr.cxx:3523
 AliTwoParticlePIDCorr.cxx:3524
 AliTwoParticlePIDCorr.cxx:3525
 AliTwoParticlePIDCorr.cxx:3526
 AliTwoParticlePIDCorr.cxx:3527
 AliTwoParticlePIDCorr.cxx:3528
 AliTwoParticlePIDCorr.cxx:3529
 AliTwoParticlePIDCorr.cxx:3530
 AliTwoParticlePIDCorr.cxx:3531
 AliTwoParticlePIDCorr.cxx:3532
 AliTwoParticlePIDCorr.cxx:3533
 AliTwoParticlePIDCorr.cxx:3534
 AliTwoParticlePIDCorr.cxx:3535
 AliTwoParticlePIDCorr.cxx:3536
 AliTwoParticlePIDCorr.cxx:3537
 AliTwoParticlePIDCorr.cxx:3538
 AliTwoParticlePIDCorr.cxx:3539
 AliTwoParticlePIDCorr.cxx:3540
 AliTwoParticlePIDCorr.cxx:3541
 AliTwoParticlePIDCorr.cxx:3542
 AliTwoParticlePIDCorr.cxx:3543
 AliTwoParticlePIDCorr.cxx:3544
 AliTwoParticlePIDCorr.cxx:3545
 AliTwoParticlePIDCorr.cxx:3546
 AliTwoParticlePIDCorr.cxx:3547
 AliTwoParticlePIDCorr.cxx:3548
 AliTwoParticlePIDCorr.cxx:3549
 AliTwoParticlePIDCorr.cxx:3550
 AliTwoParticlePIDCorr.cxx:3551
 AliTwoParticlePIDCorr.cxx:3552
 AliTwoParticlePIDCorr.cxx:3553
 AliTwoParticlePIDCorr.cxx:3554
 AliTwoParticlePIDCorr.cxx:3555
 AliTwoParticlePIDCorr.cxx:3556
 AliTwoParticlePIDCorr.cxx:3557
 AliTwoParticlePIDCorr.cxx:3558
 AliTwoParticlePIDCorr.cxx:3559
 AliTwoParticlePIDCorr.cxx:3560
 AliTwoParticlePIDCorr.cxx:3561
 AliTwoParticlePIDCorr.cxx:3562
 AliTwoParticlePIDCorr.cxx:3563
 AliTwoParticlePIDCorr.cxx:3564
 AliTwoParticlePIDCorr.cxx:3565
 AliTwoParticlePIDCorr.cxx:3566
 AliTwoParticlePIDCorr.cxx:3567
 AliTwoParticlePIDCorr.cxx:3568
 AliTwoParticlePIDCorr.cxx:3569
 AliTwoParticlePIDCorr.cxx:3570
 AliTwoParticlePIDCorr.cxx:3571
 AliTwoParticlePIDCorr.cxx:3572
 AliTwoParticlePIDCorr.cxx:3573
 AliTwoParticlePIDCorr.cxx:3574
 AliTwoParticlePIDCorr.cxx:3575
 AliTwoParticlePIDCorr.cxx:3576
 AliTwoParticlePIDCorr.cxx:3577
 AliTwoParticlePIDCorr.cxx:3578
 AliTwoParticlePIDCorr.cxx:3579
 AliTwoParticlePIDCorr.cxx:3580
 AliTwoParticlePIDCorr.cxx:3581
 AliTwoParticlePIDCorr.cxx:3582
 AliTwoParticlePIDCorr.cxx:3583
 AliTwoParticlePIDCorr.cxx:3584
 AliTwoParticlePIDCorr.cxx:3585
 AliTwoParticlePIDCorr.cxx:3586
 AliTwoParticlePIDCorr.cxx:3587
 AliTwoParticlePIDCorr.cxx:3588
 AliTwoParticlePIDCorr.cxx:3589
 AliTwoParticlePIDCorr.cxx:3590
 AliTwoParticlePIDCorr.cxx:3591
 AliTwoParticlePIDCorr.cxx:3592
 AliTwoParticlePIDCorr.cxx:3593
 AliTwoParticlePIDCorr.cxx:3594
 AliTwoParticlePIDCorr.cxx:3595
 AliTwoParticlePIDCorr.cxx:3596
 AliTwoParticlePIDCorr.cxx:3597
 AliTwoParticlePIDCorr.cxx:3598
 AliTwoParticlePIDCorr.cxx:3599
 AliTwoParticlePIDCorr.cxx:3600
 AliTwoParticlePIDCorr.cxx:3601
 AliTwoParticlePIDCorr.cxx:3602
 AliTwoParticlePIDCorr.cxx:3603
 AliTwoParticlePIDCorr.cxx:3604
 AliTwoParticlePIDCorr.cxx:3605
 AliTwoParticlePIDCorr.cxx:3606
 AliTwoParticlePIDCorr.cxx:3607
 AliTwoParticlePIDCorr.cxx:3608
 AliTwoParticlePIDCorr.cxx:3609
 AliTwoParticlePIDCorr.cxx:3610
 AliTwoParticlePIDCorr.cxx:3611
 AliTwoParticlePIDCorr.cxx:3612
 AliTwoParticlePIDCorr.cxx:3613
 AliTwoParticlePIDCorr.cxx:3614
 AliTwoParticlePIDCorr.cxx:3615
 AliTwoParticlePIDCorr.cxx:3616
 AliTwoParticlePIDCorr.cxx:3617
 AliTwoParticlePIDCorr.cxx:3618
 AliTwoParticlePIDCorr.cxx:3619
 AliTwoParticlePIDCorr.cxx:3620
 AliTwoParticlePIDCorr.cxx:3621
 AliTwoParticlePIDCorr.cxx:3622
 AliTwoParticlePIDCorr.cxx:3623
 AliTwoParticlePIDCorr.cxx:3624
 AliTwoParticlePIDCorr.cxx:3625
 AliTwoParticlePIDCorr.cxx:3626
 AliTwoParticlePIDCorr.cxx:3627
 AliTwoParticlePIDCorr.cxx:3628
 AliTwoParticlePIDCorr.cxx:3629
 AliTwoParticlePIDCorr.cxx:3630
 AliTwoParticlePIDCorr.cxx:3631
 AliTwoParticlePIDCorr.cxx:3632
 AliTwoParticlePIDCorr.cxx:3633
 AliTwoParticlePIDCorr.cxx:3634
 AliTwoParticlePIDCorr.cxx:3635
 AliTwoParticlePIDCorr.cxx:3636
 AliTwoParticlePIDCorr.cxx:3637
 AliTwoParticlePIDCorr.cxx:3638
 AliTwoParticlePIDCorr.cxx:3639
 AliTwoParticlePIDCorr.cxx:3640
 AliTwoParticlePIDCorr.cxx:3641
 AliTwoParticlePIDCorr.cxx:3642
 AliTwoParticlePIDCorr.cxx:3643
 AliTwoParticlePIDCorr.cxx:3644
 AliTwoParticlePIDCorr.cxx:3645
 AliTwoParticlePIDCorr.cxx:3646
 AliTwoParticlePIDCorr.cxx:3647
 AliTwoParticlePIDCorr.cxx:3648
 AliTwoParticlePIDCorr.cxx:3649
 AliTwoParticlePIDCorr.cxx:3650
 AliTwoParticlePIDCorr.cxx:3651
 AliTwoParticlePIDCorr.cxx:3652
 AliTwoParticlePIDCorr.cxx:3653
 AliTwoParticlePIDCorr.cxx:3654
 AliTwoParticlePIDCorr.cxx:3655
 AliTwoParticlePIDCorr.cxx:3656
 AliTwoParticlePIDCorr.cxx:3657
 AliTwoParticlePIDCorr.cxx:3658
 AliTwoParticlePIDCorr.cxx:3659
 AliTwoParticlePIDCorr.cxx:3660
 AliTwoParticlePIDCorr.cxx:3661
 AliTwoParticlePIDCorr.cxx:3662
 AliTwoParticlePIDCorr.cxx:3663
 AliTwoParticlePIDCorr.cxx:3664
 AliTwoParticlePIDCorr.cxx:3665
 AliTwoParticlePIDCorr.cxx:3666
 AliTwoParticlePIDCorr.cxx:3667
 AliTwoParticlePIDCorr.cxx:3668
 AliTwoParticlePIDCorr.cxx:3669
 AliTwoParticlePIDCorr.cxx:3670
 AliTwoParticlePIDCorr.cxx:3671
 AliTwoParticlePIDCorr.cxx:3672
 AliTwoParticlePIDCorr.cxx:3673
 AliTwoParticlePIDCorr.cxx:3674
 AliTwoParticlePIDCorr.cxx:3675
 AliTwoParticlePIDCorr.cxx:3676
 AliTwoParticlePIDCorr.cxx:3677
 AliTwoParticlePIDCorr.cxx:3678
 AliTwoParticlePIDCorr.cxx:3679
 AliTwoParticlePIDCorr.cxx:3680
 AliTwoParticlePIDCorr.cxx:3681
 AliTwoParticlePIDCorr.cxx:3682
 AliTwoParticlePIDCorr.cxx:3683
 AliTwoParticlePIDCorr.cxx:3684
 AliTwoParticlePIDCorr.cxx:3685
 AliTwoParticlePIDCorr.cxx:3686
 AliTwoParticlePIDCorr.cxx:3687
 AliTwoParticlePIDCorr.cxx:3688
 AliTwoParticlePIDCorr.cxx:3689
 AliTwoParticlePIDCorr.cxx:3690
 AliTwoParticlePIDCorr.cxx:3691
 AliTwoParticlePIDCorr.cxx:3692
 AliTwoParticlePIDCorr.cxx:3693
 AliTwoParticlePIDCorr.cxx:3694
 AliTwoParticlePIDCorr.cxx:3695
 AliTwoParticlePIDCorr.cxx:3696
 AliTwoParticlePIDCorr.cxx:3697
 AliTwoParticlePIDCorr.cxx:3698
 AliTwoParticlePIDCorr.cxx:3699
 AliTwoParticlePIDCorr.cxx:3700
 AliTwoParticlePIDCorr.cxx:3701
 AliTwoParticlePIDCorr.cxx:3702
 AliTwoParticlePIDCorr.cxx:3703
 AliTwoParticlePIDCorr.cxx:3704
 AliTwoParticlePIDCorr.cxx:3705
 AliTwoParticlePIDCorr.cxx:3706
 AliTwoParticlePIDCorr.cxx:3707
 AliTwoParticlePIDCorr.cxx:3708
 AliTwoParticlePIDCorr.cxx:3709
 AliTwoParticlePIDCorr.cxx:3710
 AliTwoParticlePIDCorr.cxx:3711
 AliTwoParticlePIDCorr.cxx:3712
 AliTwoParticlePIDCorr.cxx:3713
 AliTwoParticlePIDCorr.cxx:3714
 AliTwoParticlePIDCorr.cxx:3715
 AliTwoParticlePIDCorr.cxx:3716
 AliTwoParticlePIDCorr.cxx:3717
 AliTwoParticlePIDCorr.cxx:3718
 AliTwoParticlePIDCorr.cxx:3719
 AliTwoParticlePIDCorr.cxx:3720
 AliTwoParticlePIDCorr.cxx:3721
 AliTwoParticlePIDCorr.cxx:3722
 AliTwoParticlePIDCorr.cxx:3723
 AliTwoParticlePIDCorr.cxx:3724
 AliTwoParticlePIDCorr.cxx:3725
 AliTwoParticlePIDCorr.cxx:3726
 AliTwoParticlePIDCorr.cxx:3727
 AliTwoParticlePIDCorr.cxx:3728
 AliTwoParticlePIDCorr.cxx:3729
 AliTwoParticlePIDCorr.cxx:3730
 AliTwoParticlePIDCorr.cxx:3731
 AliTwoParticlePIDCorr.cxx:3732
 AliTwoParticlePIDCorr.cxx:3733
 AliTwoParticlePIDCorr.cxx:3734
 AliTwoParticlePIDCorr.cxx:3735
 AliTwoParticlePIDCorr.cxx:3736
 AliTwoParticlePIDCorr.cxx:3737
 AliTwoParticlePIDCorr.cxx:3738
 AliTwoParticlePIDCorr.cxx:3739
 AliTwoParticlePIDCorr.cxx:3740
 AliTwoParticlePIDCorr.cxx:3741
 AliTwoParticlePIDCorr.cxx:3742
 AliTwoParticlePIDCorr.cxx:3743
 AliTwoParticlePIDCorr.cxx:3744
 AliTwoParticlePIDCorr.cxx:3745
 AliTwoParticlePIDCorr.cxx:3746
 AliTwoParticlePIDCorr.cxx:3747
 AliTwoParticlePIDCorr.cxx:3748
 AliTwoParticlePIDCorr.cxx:3749
 AliTwoParticlePIDCorr.cxx:3750
 AliTwoParticlePIDCorr.cxx:3751
 AliTwoParticlePIDCorr.cxx:3752
 AliTwoParticlePIDCorr.cxx:3753
 AliTwoParticlePIDCorr.cxx:3754
 AliTwoParticlePIDCorr.cxx:3755
 AliTwoParticlePIDCorr.cxx:3756
 AliTwoParticlePIDCorr.cxx:3757
 AliTwoParticlePIDCorr.cxx:3758
 AliTwoParticlePIDCorr.cxx:3759
 AliTwoParticlePIDCorr.cxx:3760
 AliTwoParticlePIDCorr.cxx:3761
 AliTwoParticlePIDCorr.cxx:3762
 AliTwoParticlePIDCorr.cxx:3763
 AliTwoParticlePIDCorr.cxx:3764
 AliTwoParticlePIDCorr.cxx:3765
 AliTwoParticlePIDCorr.cxx:3766
 AliTwoParticlePIDCorr.cxx:3767
 AliTwoParticlePIDCorr.cxx:3768
 AliTwoParticlePIDCorr.cxx:3769
 AliTwoParticlePIDCorr.cxx:3770
 AliTwoParticlePIDCorr.cxx:3771
 AliTwoParticlePIDCorr.cxx:3772
 AliTwoParticlePIDCorr.cxx:3773
 AliTwoParticlePIDCorr.cxx:3774
 AliTwoParticlePIDCorr.cxx:3775
 AliTwoParticlePIDCorr.cxx:3776
 AliTwoParticlePIDCorr.cxx:3777
 AliTwoParticlePIDCorr.cxx:3778
 AliTwoParticlePIDCorr.cxx:3779
 AliTwoParticlePIDCorr.cxx:3780
 AliTwoParticlePIDCorr.cxx:3781
 AliTwoParticlePIDCorr.cxx:3782
 AliTwoParticlePIDCorr.cxx:3783
 AliTwoParticlePIDCorr.cxx:3784
 AliTwoParticlePIDCorr.cxx:3785
 AliTwoParticlePIDCorr.cxx:3786
 AliTwoParticlePIDCorr.cxx:3787
 AliTwoParticlePIDCorr.cxx:3788
 AliTwoParticlePIDCorr.cxx:3789
 AliTwoParticlePIDCorr.cxx:3790
 AliTwoParticlePIDCorr.cxx:3791
 AliTwoParticlePIDCorr.cxx:3792
 AliTwoParticlePIDCorr.cxx:3793
 AliTwoParticlePIDCorr.cxx:3794
 AliTwoParticlePIDCorr.cxx:3795
 AliTwoParticlePIDCorr.cxx:3796
 AliTwoParticlePIDCorr.cxx:3797
 AliTwoParticlePIDCorr.cxx:3798
 AliTwoParticlePIDCorr.cxx:3799
 AliTwoParticlePIDCorr.cxx:3800
 AliTwoParticlePIDCorr.cxx:3801
 AliTwoParticlePIDCorr.cxx:3802
 AliTwoParticlePIDCorr.cxx:3803
 AliTwoParticlePIDCorr.cxx:3804
 AliTwoParticlePIDCorr.cxx:3805
 AliTwoParticlePIDCorr.cxx:3806
 AliTwoParticlePIDCorr.cxx:3807
 AliTwoParticlePIDCorr.cxx:3808
 AliTwoParticlePIDCorr.cxx:3809
 AliTwoParticlePIDCorr.cxx:3810
 AliTwoParticlePIDCorr.cxx:3811
 AliTwoParticlePIDCorr.cxx:3812
 AliTwoParticlePIDCorr.cxx:3813
 AliTwoParticlePIDCorr.cxx:3814
 AliTwoParticlePIDCorr.cxx:3815
 AliTwoParticlePIDCorr.cxx:3816
 AliTwoParticlePIDCorr.cxx:3817
 AliTwoParticlePIDCorr.cxx:3818
 AliTwoParticlePIDCorr.cxx:3819
 AliTwoParticlePIDCorr.cxx:3820
 AliTwoParticlePIDCorr.cxx:3821
 AliTwoParticlePIDCorr.cxx:3822
 AliTwoParticlePIDCorr.cxx:3823
 AliTwoParticlePIDCorr.cxx:3824
 AliTwoParticlePIDCorr.cxx:3825
 AliTwoParticlePIDCorr.cxx:3826
 AliTwoParticlePIDCorr.cxx:3827
 AliTwoParticlePIDCorr.cxx:3828
 AliTwoParticlePIDCorr.cxx:3829
 AliTwoParticlePIDCorr.cxx:3830
 AliTwoParticlePIDCorr.cxx:3831
 AliTwoParticlePIDCorr.cxx:3832
 AliTwoParticlePIDCorr.cxx:3833
 AliTwoParticlePIDCorr.cxx:3834
 AliTwoParticlePIDCorr.cxx:3835
 AliTwoParticlePIDCorr.cxx:3836
 AliTwoParticlePIDCorr.cxx:3837
 AliTwoParticlePIDCorr.cxx:3838
 AliTwoParticlePIDCorr.cxx:3839
 AliTwoParticlePIDCorr.cxx:3840
 AliTwoParticlePIDCorr.cxx:3841
 AliTwoParticlePIDCorr.cxx:3842
 AliTwoParticlePIDCorr.cxx:3843
 AliTwoParticlePIDCorr.cxx:3844
 AliTwoParticlePIDCorr.cxx:3845
 AliTwoParticlePIDCorr.cxx:3846
 AliTwoParticlePIDCorr.cxx:3847
 AliTwoParticlePIDCorr.cxx:3848
 AliTwoParticlePIDCorr.cxx:3849
 AliTwoParticlePIDCorr.cxx:3850
 AliTwoParticlePIDCorr.cxx:3851
 AliTwoParticlePIDCorr.cxx:3852
 AliTwoParticlePIDCorr.cxx:3853
 AliTwoParticlePIDCorr.cxx:3854
 AliTwoParticlePIDCorr.cxx:3855
 AliTwoParticlePIDCorr.cxx:3856
 AliTwoParticlePIDCorr.cxx:3857
 AliTwoParticlePIDCorr.cxx:3858
 AliTwoParticlePIDCorr.cxx:3859
 AliTwoParticlePIDCorr.cxx:3860
 AliTwoParticlePIDCorr.cxx:3861
 AliTwoParticlePIDCorr.cxx:3862
 AliTwoParticlePIDCorr.cxx:3863
 AliTwoParticlePIDCorr.cxx:3864
 AliTwoParticlePIDCorr.cxx:3865
 AliTwoParticlePIDCorr.cxx:3866
 AliTwoParticlePIDCorr.cxx:3867
 AliTwoParticlePIDCorr.cxx:3868
 AliTwoParticlePIDCorr.cxx:3869
 AliTwoParticlePIDCorr.cxx:3870
 AliTwoParticlePIDCorr.cxx:3871
 AliTwoParticlePIDCorr.cxx:3872
 AliTwoParticlePIDCorr.cxx:3873
 AliTwoParticlePIDCorr.cxx:3874
 AliTwoParticlePIDCorr.cxx:3875
 AliTwoParticlePIDCorr.cxx:3876
 AliTwoParticlePIDCorr.cxx:3877
 AliTwoParticlePIDCorr.cxx:3878
 AliTwoParticlePIDCorr.cxx:3879
 AliTwoParticlePIDCorr.cxx:3880
 AliTwoParticlePIDCorr.cxx:3881
 AliTwoParticlePIDCorr.cxx:3882
 AliTwoParticlePIDCorr.cxx:3883
 AliTwoParticlePIDCorr.cxx:3884
 AliTwoParticlePIDCorr.cxx:3885
 AliTwoParticlePIDCorr.cxx:3886
 AliTwoParticlePIDCorr.cxx:3887
 AliTwoParticlePIDCorr.cxx:3888
 AliTwoParticlePIDCorr.cxx:3889
 AliTwoParticlePIDCorr.cxx:3890
 AliTwoParticlePIDCorr.cxx:3891
 AliTwoParticlePIDCorr.cxx:3892
 AliTwoParticlePIDCorr.cxx:3893
 AliTwoParticlePIDCorr.cxx:3894
 AliTwoParticlePIDCorr.cxx:3895
 AliTwoParticlePIDCorr.cxx:3896
 AliTwoParticlePIDCorr.cxx:3897
 AliTwoParticlePIDCorr.cxx:3898
 AliTwoParticlePIDCorr.cxx:3899
 AliTwoParticlePIDCorr.cxx:3900
 AliTwoParticlePIDCorr.cxx:3901
 AliTwoParticlePIDCorr.cxx:3902
 AliTwoParticlePIDCorr.cxx:3903
 AliTwoParticlePIDCorr.cxx:3904
 AliTwoParticlePIDCorr.cxx:3905
 AliTwoParticlePIDCorr.cxx:3906
 AliTwoParticlePIDCorr.cxx:3907
 AliTwoParticlePIDCorr.cxx:3908
 AliTwoParticlePIDCorr.cxx:3909
 AliTwoParticlePIDCorr.cxx:3910
 AliTwoParticlePIDCorr.cxx:3911
 AliTwoParticlePIDCorr.cxx:3912
 AliTwoParticlePIDCorr.cxx:3913
 AliTwoParticlePIDCorr.cxx:3914
 AliTwoParticlePIDCorr.cxx:3915
 AliTwoParticlePIDCorr.cxx:3916
 AliTwoParticlePIDCorr.cxx:3917
 AliTwoParticlePIDCorr.cxx:3918
 AliTwoParticlePIDCorr.cxx:3919
 AliTwoParticlePIDCorr.cxx:3920
 AliTwoParticlePIDCorr.cxx:3921
 AliTwoParticlePIDCorr.cxx:3922
 AliTwoParticlePIDCorr.cxx:3923
 AliTwoParticlePIDCorr.cxx:3924
 AliTwoParticlePIDCorr.cxx:3925
 AliTwoParticlePIDCorr.cxx:3926
 AliTwoParticlePIDCorr.cxx:3927
 AliTwoParticlePIDCorr.cxx:3928
 AliTwoParticlePIDCorr.cxx:3929
 AliTwoParticlePIDCorr.cxx:3930
 AliTwoParticlePIDCorr.cxx:3931
 AliTwoParticlePIDCorr.cxx:3932
 AliTwoParticlePIDCorr.cxx:3933
 AliTwoParticlePIDCorr.cxx:3934
 AliTwoParticlePIDCorr.cxx:3935
 AliTwoParticlePIDCorr.cxx:3936
 AliTwoParticlePIDCorr.cxx:3937
 AliTwoParticlePIDCorr.cxx:3938
 AliTwoParticlePIDCorr.cxx:3939
 AliTwoParticlePIDCorr.cxx:3940
 AliTwoParticlePIDCorr.cxx:3941
 AliTwoParticlePIDCorr.cxx:3942
 AliTwoParticlePIDCorr.cxx:3943
 AliTwoParticlePIDCorr.cxx:3944
 AliTwoParticlePIDCorr.cxx:3945
 AliTwoParticlePIDCorr.cxx:3946
 AliTwoParticlePIDCorr.cxx:3947
 AliTwoParticlePIDCorr.cxx:3948
 AliTwoParticlePIDCorr.cxx:3949
 AliTwoParticlePIDCorr.cxx:3950
 AliTwoParticlePIDCorr.cxx:3951
 AliTwoParticlePIDCorr.cxx:3952
 AliTwoParticlePIDCorr.cxx:3953
 AliTwoParticlePIDCorr.cxx:3954
 AliTwoParticlePIDCorr.cxx:3955
 AliTwoParticlePIDCorr.cxx:3956
 AliTwoParticlePIDCorr.cxx:3957
 AliTwoParticlePIDCorr.cxx:3958
 AliTwoParticlePIDCorr.cxx:3959
 AliTwoParticlePIDCorr.cxx:3960
 AliTwoParticlePIDCorr.cxx:3961
 AliTwoParticlePIDCorr.cxx:3962
 AliTwoParticlePIDCorr.cxx:3963
 AliTwoParticlePIDCorr.cxx:3964
 AliTwoParticlePIDCorr.cxx:3965
 AliTwoParticlePIDCorr.cxx:3966
 AliTwoParticlePIDCorr.cxx:3967
 AliTwoParticlePIDCorr.cxx:3968
 AliTwoParticlePIDCorr.cxx:3969
 AliTwoParticlePIDCorr.cxx:3970
 AliTwoParticlePIDCorr.cxx:3971
 AliTwoParticlePIDCorr.cxx:3972
 AliTwoParticlePIDCorr.cxx:3973
 AliTwoParticlePIDCorr.cxx:3974
 AliTwoParticlePIDCorr.cxx:3975
 AliTwoParticlePIDCorr.cxx:3976
 AliTwoParticlePIDCorr.cxx:3977
 AliTwoParticlePIDCorr.cxx:3978
 AliTwoParticlePIDCorr.cxx:3979
 AliTwoParticlePIDCorr.cxx:3980
 AliTwoParticlePIDCorr.cxx:3981
 AliTwoParticlePIDCorr.cxx:3982
 AliTwoParticlePIDCorr.cxx:3983
 AliTwoParticlePIDCorr.cxx:3984
 AliTwoParticlePIDCorr.cxx:3985
 AliTwoParticlePIDCorr.cxx:3986
 AliTwoParticlePIDCorr.cxx:3987
 AliTwoParticlePIDCorr.cxx:3988
 AliTwoParticlePIDCorr.cxx:3989
 AliTwoParticlePIDCorr.cxx:3990
 AliTwoParticlePIDCorr.cxx:3991
 AliTwoParticlePIDCorr.cxx:3992
 AliTwoParticlePIDCorr.cxx:3993
 AliTwoParticlePIDCorr.cxx:3994
 AliTwoParticlePIDCorr.cxx:3995
 AliTwoParticlePIDCorr.cxx:3996
 AliTwoParticlePIDCorr.cxx:3997
 AliTwoParticlePIDCorr.cxx:3998
 AliTwoParticlePIDCorr.cxx:3999
 AliTwoParticlePIDCorr.cxx:4000
 AliTwoParticlePIDCorr.cxx:4001
 AliTwoParticlePIDCorr.cxx:4002
 AliTwoParticlePIDCorr.cxx:4003
 AliTwoParticlePIDCorr.cxx:4004
 AliTwoParticlePIDCorr.cxx:4005
 AliTwoParticlePIDCorr.cxx:4006
 AliTwoParticlePIDCorr.cxx:4007
 AliTwoParticlePIDCorr.cxx:4008
 AliTwoParticlePIDCorr.cxx:4009
 AliTwoParticlePIDCorr.cxx:4010
 AliTwoParticlePIDCorr.cxx:4011
 AliTwoParticlePIDCorr.cxx:4012
 AliTwoParticlePIDCorr.cxx:4013
 AliTwoParticlePIDCorr.cxx:4014
 AliTwoParticlePIDCorr.cxx:4015
 AliTwoParticlePIDCorr.cxx:4016
 AliTwoParticlePIDCorr.cxx:4017
 AliTwoParticlePIDCorr.cxx:4018
 AliTwoParticlePIDCorr.cxx:4019
 AliTwoParticlePIDCorr.cxx:4020
 AliTwoParticlePIDCorr.cxx:4021
 AliTwoParticlePIDCorr.cxx:4022
 AliTwoParticlePIDCorr.cxx:4023
 AliTwoParticlePIDCorr.cxx:4024
 AliTwoParticlePIDCorr.cxx:4025
 AliTwoParticlePIDCorr.cxx:4026
 AliTwoParticlePIDCorr.cxx:4027
 AliTwoParticlePIDCorr.cxx:4028
 AliTwoParticlePIDCorr.cxx:4029
 AliTwoParticlePIDCorr.cxx:4030
 AliTwoParticlePIDCorr.cxx:4031
 AliTwoParticlePIDCorr.cxx:4032
 AliTwoParticlePIDCorr.cxx:4033
 AliTwoParticlePIDCorr.cxx:4034
 AliTwoParticlePIDCorr.cxx:4035
 AliTwoParticlePIDCorr.cxx:4036
 AliTwoParticlePIDCorr.cxx:4037
 AliTwoParticlePIDCorr.cxx:4038
 AliTwoParticlePIDCorr.cxx:4039
 AliTwoParticlePIDCorr.cxx:4040
 AliTwoParticlePIDCorr.cxx:4041
 AliTwoParticlePIDCorr.cxx:4042
 AliTwoParticlePIDCorr.cxx:4043
 AliTwoParticlePIDCorr.cxx:4044
 AliTwoParticlePIDCorr.cxx:4045
 AliTwoParticlePIDCorr.cxx:4046
 AliTwoParticlePIDCorr.cxx:4047
 AliTwoParticlePIDCorr.cxx:4048
 AliTwoParticlePIDCorr.cxx:4049
 AliTwoParticlePIDCorr.cxx:4050
 AliTwoParticlePIDCorr.cxx:4051
 AliTwoParticlePIDCorr.cxx:4052
 AliTwoParticlePIDCorr.cxx:4053
 AliTwoParticlePIDCorr.cxx:4054
 AliTwoParticlePIDCorr.cxx:4055
 AliTwoParticlePIDCorr.cxx:4056
 AliTwoParticlePIDCorr.cxx:4057
 AliTwoParticlePIDCorr.cxx:4058
 AliTwoParticlePIDCorr.cxx:4059
 AliTwoParticlePIDCorr.cxx:4060
 AliTwoParticlePIDCorr.cxx:4061
 AliTwoParticlePIDCorr.cxx:4062
 AliTwoParticlePIDCorr.cxx:4063
 AliTwoParticlePIDCorr.cxx:4064
 AliTwoParticlePIDCorr.cxx:4065
 AliTwoParticlePIDCorr.cxx:4066
 AliTwoParticlePIDCorr.cxx:4067
 AliTwoParticlePIDCorr.cxx:4068
 AliTwoParticlePIDCorr.cxx:4069
 AliTwoParticlePIDCorr.cxx:4070
 AliTwoParticlePIDCorr.cxx:4071
 AliTwoParticlePIDCorr.cxx:4072
 AliTwoParticlePIDCorr.cxx:4073
 AliTwoParticlePIDCorr.cxx:4074
 AliTwoParticlePIDCorr.cxx:4075
 AliTwoParticlePIDCorr.cxx:4076
 AliTwoParticlePIDCorr.cxx:4077
 AliTwoParticlePIDCorr.cxx:4078
 AliTwoParticlePIDCorr.cxx:4079
 AliTwoParticlePIDCorr.cxx:4080
 AliTwoParticlePIDCorr.cxx:4081
 AliTwoParticlePIDCorr.cxx:4082
 AliTwoParticlePIDCorr.cxx:4083
 AliTwoParticlePIDCorr.cxx:4084
 AliTwoParticlePIDCorr.cxx:4085
 AliTwoParticlePIDCorr.cxx:4086
 AliTwoParticlePIDCorr.cxx:4087
 AliTwoParticlePIDCorr.cxx:4088
 AliTwoParticlePIDCorr.cxx:4089
 AliTwoParticlePIDCorr.cxx:4090
 AliTwoParticlePIDCorr.cxx:4091
 AliTwoParticlePIDCorr.cxx:4092
 AliTwoParticlePIDCorr.cxx:4093
 AliTwoParticlePIDCorr.cxx:4094
 AliTwoParticlePIDCorr.cxx:4095
 AliTwoParticlePIDCorr.cxx:4096
 AliTwoParticlePIDCorr.cxx:4097
 AliTwoParticlePIDCorr.cxx:4098
 AliTwoParticlePIDCorr.cxx:4099
 AliTwoParticlePIDCorr.cxx:4100
 AliTwoParticlePIDCorr.cxx:4101
 AliTwoParticlePIDCorr.cxx:4102
 AliTwoParticlePIDCorr.cxx:4103
 AliTwoParticlePIDCorr.cxx:4104
 AliTwoParticlePIDCorr.cxx:4105
 AliTwoParticlePIDCorr.cxx:4106
 AliTwoParticlePIDCorr.cxx:4107
 AliTwoParticlePIDCorr.cxx:4108
 AliTwoParticlePIDCorr.cxx:4109
 AliTwoParticlePIDCorr.cxx:4110
 AliTwoParticlePIDCorr.cxx:4111
 AliTwoParticlePIDCorr.cxx:4112
 AliTwoParticlePIDCorr.cxx:4113
 AliTwoParticlePIDCorr.cxx:4114
 AliTwoParticlePIDCorr.cxx:4115
 AliTwoParticlePIDCorr.cxx:4116
 AliTwoParticlePIDCorr.cxx:4117
 AliTwoParticlePIDCorr.cxx:4118
 AliTwoParticlePIDCorr.cxx:4119
 AliTwoParticlePIDCorr.cxx:4120
 AliTwoParticlePIDCorr.cxx:4121
 AliTwoParticlePIDCorr.cxx:4122
 AliTwoParticlePIDCorr.cxx:4123
 AliTwoParticlePIDCorr.cxx:4124
 AliTwoParticlePIDCorr.cxx:4125
 AliTwoParticlePIDCorr.cxx:4126
 AliTwoParticlePIDCorr.cxx:4127
 AliTwoParticlePIDCorr.cxx:4128
 AliTwoParticlePIDCorr.cxx:4129
 AliTwoParticlePIDCorr.cxx:4130
 AliTwoParticlePIDCorr.cxx:4131
 AliTwoParticlePIDCorr.cxx:4132
 AliTwoParticlePIDCorr.cxx:4133
 AliTwoParticlePIDCorr.cxx:4134
 AliTwoParticlePIDCorr.cxx:4135
 AliTwoParticlePIDCorr.cxx:4136
 AliTwoParticlePIDCorr.cxx:4137
 AliTwoParticlePIDCorr.cxx:4138
 AliTwoParticlePIDCorr.cxx:4139
 AliTwoParticlePIDCorr.cxx:4140
 AliTwoParticlePIDCorr.cxx:4141
 AliTwoParticlePIDCorr.cxx:4142
 AliTwoParticlePIDCorr.cxx:4143
 AliTwoParticlePIDCorr.cxx:4144
 AliTwoParticlePIDCorr.cxx:4145
 AliTwoParticlePIDCorr.cxx:4146
 AliTwoParticlePIDCorr.cxx:4147
 AliTwoParticlePIDCorr.cxx:4148
 AliTwoParticlePIDCorr.cxx:4149
 AliTwoParticlePIDCorr.cxx:4150
 AliTwoParticlePIDCorr.cxx:4151
 AliTwoParticlePIDCorr.cxx:4152
 AliTwoParticlePIDCorr.cxx:4153
 AliTwoParticlePIDCorr.cxx:4154
 AliTwoParticlePIDCorr.cxx:4155
 AliTwoParticlePIDCorr.cxx:4156
 AliTwoParticlePIDCorr.cxx:4157
 AliTwoParticlePIDCorr.cxx:4158
 AliTwoParticlePIDCorr.cxx:4159
 AliTwoParticlePIDCorr.cxx:4160
 AliTwoParticlePIDCorr.cxx:4161
 AliTwoParticlePIDCorr.cxx:4162
 AliTwoParticlePIDCorr.cxx:4163
 AliTwoParticlePIDCorr.cxx:4164
 AliTwoParticlePIDCorr.cxx:4165
 AliTwoParticlePIDCorr.cxx:4166
 AliTwoParticlePIDCorr.cxx:4167
 AliTwoParticlePIDCorr.cxx:4168
 AliTwoParticlePIDCorr.cxx:4169
 AliTwoParticlePIDCorr.cxx:4170
 AliTwoParticlePIDCorr.cxx:4171
 AliTwoParticlePIDCorr.cxx:4172
 AliTwoParticlePIDCorr.cxx:4173
 AliTwoParticlePIDCorr.cxx:4174
 AliTwoParticlePIDCorr.cxx:4175
 AliTwoParticlePIDCorr.cxx:4176
 AliTwoParticlePIDCorr.cxx:4177
 AliTwoParticlePIDCorr.cxx:4178
 AliTwoParticlePIDCorr.cxx:4179
 AliTwoParticlePIDCorr.cxx:4180
 AliTwoParticlePIDCorr.cxx:4181
 AliTwoParticlePIDCorr.cxx:4182
 AliTwoParticlePIDCorr.cxx:4183
 AliTwoParticlePIDCorr.cxx:4184
 AliTwoParticlePIDCorr.cxx:4185
 AliTwoParticlePIDCorr.cxx:4186
 AliTwoParticlePIDCorr.cxx:4187
 AliTwoParticlePIDCorr.cxx:4188
 AliTwoParticlePIDCorr.cxx:4189
 AliTwoParticlePIDCorr.cxx:4190
 AliTwoParticlePIDCorr.cxx:4191
 AliTwoParticlePIDCorr.cxx:4192
 AliTwoParticlePIDCorr.cxx:4193
 AliTwoParticlePIDCorr.cxx:4194
 AliTwoParticlePIDCorr.cxx:4195
 AliTwoParticlePIDCorr.cxx:4196
 AliTwoParticlePIDCorr.cxx:4197
 AliTwoParticlePIDCorr.cxx:4198
 AliTwoParticlePIDCorr.cxx:4199
 AliTwoParticlePIDCorr.cxx:4200
 AliTwoParticlePIDCorr.cxx:4201
 AliTwoParticlePIDCorr.cxx:4202
 AliTwoParticlePIDCorr.cxx:4203
 AliTwoParticlePIDCorr.cxx:4204
 AliTwoParticlePIDCorr.cxx:4205
 AliTwoParticlePIDCorr.cxx:4206
 AliTwoParticlePIDCorr.cxx:4207
 AliTwoParticlePIDCorr.cxx:4208
 AliTwoParticlePIDCorr.cxx:4209
 AliTwoParticlePIDCorr.cxx:4210
 AliTwoParticlePIDCorr.cxx:4211
 AliTwoParticlePIDCorr.cxx:4212
 AliTwoParticlePIDCorr.cxx:4213
 AliTwoParticlePIDCorr.cxx:4214
 AliTwoParticlePIDCorr.cxx:4215
 AliTwoParticlePIDCorr.cxx:4216
 AliTwoParticlePIDCorr.cxx:4217
 AliTwoParticlePIDCorr.cxx:4218
 AliTwoParticlePIDCorr.cxx:4219
 AliTwoParticlePIDCorr.cxx:4220
 AliTwoParticlePIDCorr.cxx:4221
 AliTwoParticlePIDCorr.cxx:4222
 AliTwoParticlePIDCorr.cxx:4223
 AliTwoParticlePIDCorr.cxx:4224
 AliTwoParticlePIDCorr.cxx:4225
 AliTwoParticlePIDCorr.cxx:4226
 AliTwoParticlePIDCorr.cxx:4227
 AliTwoParticlePIDCorr.cxx:4228
 AliTwoParticlePIDCorr.cxx:4229
 AliTwoParticlePIDCorr.cxx:4230
 AliTwoParticlePIDCorr.cxx:4231
 AliTwoParticlePIDCorr.cxx:4232
 AliTwoParticlePIDCorr.cxx:4233
 AliTwoParticlePIDCorr.cxx:4234
 AliTwoParticlePIDCorr.cxx:4235
 AliTwoParticlePIDCorr.cxx:4236
 AliTwoParticlePIDCorr.cxx:4237
 AliTwoParticlePIDCorr.cxx:4238
 AliTwoParticlePIDCorr.cxx:4239
 AliTwoParticlePIDCorr.cxx:4240
 AliTwoParticlePIDCorr.cxx:4241
 AliTwoParticlePIDCorr.cxx:4242
 AliTwoParticlePIDCorr.cxx:4243
 AliTwoParticlePIDCorr.cxx:4244
 AliTwoParticlePIDCorr.cxx:4245
 AliTwoParticlePIDCorr.cxx:4246
 AliTwoParticlePIDCorr.cxx:4247
 AliTwoParticlePIDCorr.cxx:4248
 AliTwoParticlePIDCorr.cxx:4249
 AliTwoParticlePIDCorr.cxx:4250
 AliTwoParticlePIDCorr.cxx:4251
 AliTwoParticlePIDCorr.cxx:4252
 AliTwoParticlePIDCorr.cxx:4253
 AliTwoParticlePIDCorr.cxx:4254
 AliTwoParticlePIDCorr.cxx:4255
 AliTwoParticlePIDCorr.cxx:4256
 AliTwoParticlePIDCorr.cxx:4257
 AliTwoParticlePIDCorr.cxx:4258
 AliTwoParticlePIDCorr.cxx:4259
 AliTwoParticlePIDCorr.cxx:4260
 AliTwoParticlePIDCorr.cxx:4261
 AliTwoParticlePIDCorr.cxx:4262
 AliTwoParticlePIDCorr.cxx:4263
 AliTwoParticlePIDCorr.cxx:4264
 AliTwoParticlePIDCorr.cxx:4265
 AliTwoParticlePIDCorr.cxx:4266
 AliTwoParticlePIDCorr.cxx:4267
 AliTwoParticlePIDCorr.cxx:4268
 AliTwoParticlePIDCorr.cxx:4269
 AliTwoParticlePIDCorr.cxx:4270
 AliTwoParticlePIDCorr.cxx:4271
 AliTwoParticlePIDCorr.cxx:4272
 AliTwoParticlePIDCorr.cxx:4273
 AliTwoParticlePIDCorr.cxx:4274
 AliTwoParticlePIDCorr.cxx:4275
 AliTwoParticlePIDCorr.cxx:4276
 AliTwoParticlePIDCorr.cxx:4277
 AliTwoParticlePIDCorr.cxx:4278
 AliTwoParticlePIDCorr.cxx:4279
 AliTwoParticlePIDCorr.cxx:4280
 AliTwoParticlePIDCorr.cxx:4281
 AliTwoParticlePIDCorr.cxx:4282
 AliTwoParticlePIDCorr.cxx:4283
 AliTwoParticlePIDCorr.cxx:4284
 AliTwoParticlePIDCorr.cxx:4285
 AliTwoParticlePIDCorr.cxx:4286
 AliTwoParticlePIDCorr.cxx:4287
 AliTwoParticlePIDCorr.cxx:4288
 AliTwoParticlePIDCorr.cxx:4289
 AliTwoParticlePIDCorr.cxx:4290
 AliTwoParticlePIDCorr.cxx:4291
 AliTwoParticlePIDCorr.cxx:4292
 AliTwoParticlePIDCorr.cxx:4293
 AliTwoParticlePIDCorr.cxx:4294
 AliTwoParticlePIDCorr.cxx:4295
 AliTwoParticlePIDCorr.cxx:4296
 AliTwoParticlePIDCorr.cxx:4297
 AliTwoParticlePIDCorr.cxx:4298
 AliTwoParticlePIDCorr.cxx:4299
 AliTwoParticlePIDCorr.cxx:4300
 AliTwoParticlePIDCorr.cxx:4301
 AliTwoParticlePIDCorr.cxx:4302
 AliTwoParticlePIDCorr.cxx:4303
 AliTwoParticlePIDCorr.cxx:4304
 AliTwoParticlePIDCorr.cxx:4305
 AliTwoParticlePIDCorr.cxx:4306
 AliTwoParticlePIDCorr.cxx:4307
 AliTwoParticlePIDCorr.cxx:4308
 AliTwoParticlePIDCorr.cxx:4309
 AliTwoParticlePIDCorr.cxx:4310
 AliTwoParticlePIDCorr.cxx:4311
 AliTwoParticlePIDCorr.cxx:4312
 AliTwoParticlePIDCorr.cxx:4313
 AliTwoParticlePIDCorr.cxx:4314
 AliTwoParticlePIDCorr.cxx:4315
 AliTwoParticlePIDCorr.cxx:4316
 AliTwoParticlePIDCorr.cxx:4317
 AliTwoParticlePIDCorr.cxx:4318
 AliTwoParticlePIDCorr.cxx:4319
 AliTwoParticlePIDCorr.cxx:4320
 AliTwoParticlePIDCorr.cxx:4321
 AliTwoParticlePIDCorr.cxx:4322
 AliTwoParticlePIDCorr.cxx:4323
 AliTwoParticlePIDCorr.cxx:4324
 AliTwoParticlePIDCorr.cxx:4325
 AliTwoParticlePIDCorr.cxx:4326
 AliTwoParticlePIDCorr.cxx:4327
 AliTwoParticlePIDCorr.cxx:4328
 AliTwoParticlePIDCorr.cxx:4329
 AliTwoParticlePIDCorr.cxx:4330
 AliTwoParticlePIDCorr.cxx:4331
 AliTwoParticlePIDCorr.cxx:4332
 AliTwoParticlePIDCorr.cxx:4333
 AliTwoParticlePIDCorr.cxx:4334
 AliTwoParticlePIDCorr.cxx:4335
 AliTwoParticlePIDCorr.cxx:4336
 AliTwoParticlePIDCorr.cxx:4337
 AliTwoParticlePIDCorr.cxx:4338
 AliTwoParticlePIDCorr.cxx:4339
 AliTwoParticlePIDCorr.cxx:4340
 AliTwoParticlePIDCorr.cxx:4341
 AliTwoParticlePIDCorr.cxx:4342
 AliTwoParticlePIDCorr.cxx:4343
 AliTwoParticlePIDCorr.cxx:4344
 AliTwoParticlePIDCorr.cxx:4345
 AliTwoParticlePIDCorr.cxx:4346
 AliTwoParticlePIDCorr.cxx:4347
 AliTwoParticlePIDCorr.cxx:4348
 AliTwoParticlePIDCorr.cxx:4349
 AliTwoParticlePIDCorr.cxx:4350
 AliTwoParticlePIDCorr.cxx:4351
 AliTwoParticlePIDCorr.cxx:4352
 AliTwoParticlePIDCorr.cxx:4353
 AliTwoParticlePIDCorr.cxx:4354
 AliTwoParticlePIDCorr.cxx:4355
 AliTwoParticlePIDCorr.cxx:4356
 AliTwoParticlePIDCorr.cxx:4357
 AliTwoParticlePIDCorr.cxx:4358
 AliTwoParticlePIDCorr.cxx:4359
 AliTwoParticlePIDCorr.cxx:4360
 AliTwoParticlePIDCorr.cxx:4361
 AliTwoParticlePIDCorr.cxx:4362
 AliTwoParticlePIDCorr.cxx:4363
 AliTwoParticlePIDCorr.cxx:4364
 AliTwoParticlePIDCorr.cxx:4365
 AliTwoParticlePIDCorr.cxx:4366
 AliTwoParticlePIDCorr.cxx:4367
 AliTwoParticlePIDCorr.cxx:4368
 AliTwoParticlePIDCorr.cxx:4369
 AliTwoParticlePIDCorr.cxx:4370
 AliTwoParticlePIDCorr.cxx:4371
 AliTwoParticlePIDCorr.cxx:4372
 AliTwoParticlePIDCorr.cxx:4373
 AliTwoParticlePIDCorr.cxx:4374
 AliTwoParticlePIDCorr.cxx:4375
 AliTwoParticlePIDCorr.cxx:4376
 AliTwoParticlePIDCorr.cxx:4377
 AliTwoParticlePIDCorr.cxx:4378
 AliTwoParticlePIDCorr.cxx:4379
 AliTwoParticlePIDCorr.cxx:4380
 AliTwoParticlePIDCorr.cxx:4381
 AliTwoParticlePIDCorr.cxx:4382
 AliTwoParticlePIDCorr.cxx:4383
 AliTwoParticlePIDCorr.cxx:4384
 AliTwoParticlePIDCorr.cxx:4385
 AliTwoParticlePIDCorr.cxx:4386
 AliTwoParticlePIDCorr.cxx:4387
 AliTwoParticlePIDCorr.cxx:4388
 AliTwoParticlePIDCorr.cxx:4389
 AliTwoParticlePIDCorr.cxx:4390
 AliTwoParticlePIDCorr.cxx:4391
 AliTwoParticlePIDCorr.cxx:4392
 AliTwoParticlePIDCorr.cxx:4393
 AliTwoParticlePIDCorr.cxx:4394
 AliTwoParticlePIDCorr.cxx:4395
 AliTwoParticlePIDCorr.cxx:4396
 AliTwoParticlePIDCorr.cxx:4397
 AliTwoParticlePIDCorr.cxx:4398
 AliTwoParticlePIDCorr.cxx:4399
 AliTwoParticlePIDCorr.cxx:4400
 AliTwoParticlePIDCorr.cxx:4401
 AliTwoParticlePIDCorr.cxx:4402
 AliTwoParticlePIDCorr.cxx:4403
 AliTwoParticlePIDCorr.cxx:4404
 AliTwoParticlePIDCorr.cxx:4405
 AliTwoParticlePIDCorr.cxx:4406
 AliTwoParticlePIDCorr.cxx:4407
 AliTwoParticlePIDCorr.cxx:4408
 AliTwoParticlePIDCorr.cxx:4409
 AliTwoParticlePIDCorr.cxx:4410
 AliTwoParticlePIDCorr.cxx:4411
 AliTwoParticlePIDCorr.cxx:4412
 AliTwoParticlePIDCorr.cxx:4413
 AliTwoParticlePIDCorr.cxx:4414
 AliTwoParticlePIDCorr.cxx:4415
 AliTwoParticlePIDCorr.cxx:4416
 AliTwoParticlePIDCorr.cxx:4417
 AliTwoParticlePIDCorr.cxx:4418
 AliTwoParticlePIDCorr.cxx:4419
 AliTwoParticlePIDCorr.cxx:4420
 AliTwoParticlePIDCorr.cxx:4421
 AliTwoParticlePIDCorr.cxx:4422
 AliTwoParticlePIDCorr.cxx:4423
 AliTwoParticlePIDCorr.cxx:4424
 AliTwoParticlePIDCorr.cxx:4425
 AliTwoParticlePIDCorr.cxx:4426
 AliTwoParticlePIDCorr.cxx:4427
 AliTwoParticlePIDCorr.cxx:4428
 AliTwoParticlePIDCorr.cxx:4429
 AliTwoParticlePIDCorr.cxx:4430
 AliTwoParticlePIDCorr.cxx:4431
 AliTwoParticlePIDCorr.cxx:4432
 AliTwoParticlePIDCorr.cxx:4433
 AliTwoParticlePIDCorr.cxx:4434
 AliTwoParticlePIDCorr.cxx:4435
 AliTwoParticlePIDCorr.cxx:4436
 AliTwoParticlePIDCorr.cxx:4437
 AliTwoParticlePIDCorr.cxx:4438
 AliTwoParticlePIDCorr.cxx:4439
 AliTwoParticlePIDCorr.cxx:4440
 AliTwoParticlePIDCorr.cxx:4441
 AliTwoParticlePIDCorr.cxx:4442
 AliTwoParticlePIDCorr.cxx:4443
 AliTwoParticlePIDCorr.cxx:4444
 AliTwoParticlePIDCorr.cxx:4445
 AliTwoParticlePIDCorr.cxx:4446
 AliTwoParticlePIDCorr.cxx:4447
 AliTwoParticlePIDCorr.cxx:4448
 AliTwoParticlePIDCorr.cxx:4449
 AliTwoParticlePIDCorr.cxx:4450
 AliTwoParticlePIDCorr.cxx:4451
 AliTwoParticlePIDCorr.cxx:4452
 AliTwoParticlePIDCorr.cxx:4453
 AliTwoParticlePIDCorr.cxx:4454
 AliTwoParticlePIDCorr.cxx:4455
 AliTwoParticlePIDCorr.cxx:4456
 AliTwoParticlePIDCorr.cxx:4457
 AliTwoParticlePIDCorr.cxx:4458
 AliTwoParticlePIDCorr.cxx:4459
 AliTwoParticlePIDCorr.cxx:4460
 AliTwoParticlePIDCorr.cxx:4461
 AliTwoParticlePIDCorr.cxx:4462
 AliTwoParticlePIDCorr.cxx:4463
 AliTwoParticlePIDCorr.cxx:4464
 AliTwoParticlePIDCorr.cxx:4465
 AliTwoParticlePIDCorr.cxx:4466
 AliTwoParticlePIDCorr.cxx:4467
 AliTwoParticlePIDCorr.cxx:4468
 AliTwoParticlePIDCorr.cxx:4469
 AliTwoParticlePIDCorr.cxx:4470
 AliTwoParticlePIDCorr.cxx:4471
 AliTwoParticlePIDCorr.cxx:4472
 AliTwoParticlePIDCorr.cxx:4473
 AliTwoParticlePIDCorr.cxx:4474
 AliTwoParticlePIDCorr.cxx:4475
 AliTwoParticlePIDCorr.cxx:4476
 AliTwoParticlePIDCorr.cxx:4477
 AliTwoParticlePIDCorr.cxx:4478
 AliTwoParticlePIDCorr.cxx:4479
 AliTwoParticlePIDCorr.cxx:4480
 AliTwoParticlePIDCorr.cxx:4481
 AliTwoParticlePIDCorr.cxx:4482
 AliTwoParticlePIDCorr.cxx:4483
 AliTwoParticlePIDCorr.cxx:4484
 AliTwoParticlePIDCorr.cxx:4485
 AliTwoParticlePIDCorr.cxx:4486
 AliTwoParticlePIDCorr.cxx:4487
 AliTwoParticlePIDCorr.cxx:4488
 AliTwoParticlePIDCorr.cxx:4489
 AliTwoParticlePIDCorr.cxx:4490
 AliTwoParticlePIDCorr.cxx:4491
 AliTwoParticlePIDCorr.cxx:4492
 AliTwoParticlePIDCorr.cxx:4493
 AliTwoParticlePIDCorr.cxx:4494
 AliTwoParticlePIDCorr.cxx:4495
 AliTwoParticlePIDCorr.cxx:4496
 AliTwoParticlePIDCorr.cxx:4497
 AliTwoParticlePIDCorr.cxx:4498
 AliTwoParticlePIDCorr.cxx:4499
 AliTwoParticlePIDCorr.cxx:4500
 AliTwoParticlePIDCorr.cxx:4501
 AliTwoParticlePIDCorr.cxx:4502
 AliTwoParticlePIDCorr.cxx:4503
 AliTwoParticlePIDCorr.cxx:4504
 AliTwoParticlePIDCorr.cxx:4505
 AliTwoParticlePIDCorr.cxx:4506
 AliTwoParticlePIDCorr.cxx:4507
 AliTwoParticlePIDCorr.cxx:4508
 AliTwoParticlePIDCorr.cxx:4509
 AliTwoParticlePIDCorr.cxx:4510
 AliTwoParticlePIDCorr.cxx:4511
 AliTwoParticlePIDCorr.cxx:4512
 AliTwoParticlePIDCorr.cxx:4513
 AliTwoParticlePIDCorr.cxx:4514
 AliTwoParticlePIDCorr.cxx:4515
 AliTwoParticlePIDCorr.cxx:4516
 AliTwoParticlePIDCorr.cxx:4517
 AliTwoParticlePIDCorr.cxx:4518
 AliTwoParticlePIDCorr.cxx:4519
 AliTwoParticlePIDCorr.cxx:4520
 AliTwoParticlePIDCorr.cxx:4521
 AliTwoParticlePIDCorr.cxx:4522
 AliTwoParticlePIDCorr.cxx:4523
 AliTwoParticlePIDCorr.cxx:4524
 AliTwoParticlePIDCorr.cxx:4525
 AliTwoParticlePIDCorr.cxx:4526
 AliTwoParticlePIDCorr.cxx:4527
 AliTwoParticlePIDCorr.cxx:4528
 AliTwoParticlePIDCorr.cxx:4529
 AliTwoParticlePIDCorr.cxx:4530
 AliTwoParticlePIDCorr.cxx:4531
 AliTwoParticlePIDCorr.cxx:4532
 AliTwoParticlePIDCorr.cxx:4533
 AliTwoParticlePIDCorr.cxx:4534
 AliTwoParticlePIDCorr.cxx:4535
 AliTwoParticlePIDCorr.cxx:4536
 AliTwoParticlePIDCorr.cxx:4537
 AliTwoParticlePIDCorr.cxx:4538
 AliTwoParticlePIDCorr.cxx:4539
 AliTwoParticlePIDCorr.cxx:4540
 AliTwoParticlePIDCorr.cxx:4541
 AliTwoParticlePIDCorr.cxx:4542
 AliTwoParticlePIDCorr.cxx:4543
 AliTwoParticlePIDCorr.cxx:4544
 AliTwoParticlePIDCorr.cxx:4545
 AliTwoParticlePIDCorr.cxx:4546
 AliTwoParticlePIDCorr.cxx:4547
 AliTwoParticlePIDCorr.cxx:4548
 AliTwoParticlePIDCorr.cxx:4549
 AliTwoParticlePIDCorr.cxx:4550
 AliTwoParticlePIDCorr.cxx:4551
 AliTwoParticlePIDCorr.cxx:4552
 AliTwoParticlePIDCorr.cxx:4553
 AliTwoParticlePIDCorr.cxx:4554
 AliTwoParticlePIDCorr.cxx:4555
 AliTwoParticlePIDCorr.cxx:4556
 AliTwoParticlePIDCorr.cxx:4557
 AliTwoParticlePIDCorr.cxx:4558
 AliTwoParticlePIDCorr.cxx:4559
 AliTwoParticlePIDCorr.cxx:4560
 AliTwoParticlePIDCorr.cxx:4561
 AliTwoParticlePIDCorr.cxx:4562
 AliTwoParticlePIDCorr.cxx:4563
 AliTwoParticlePIDCorr.cxx:4564
 AliTwoParticlePIDCorr.cxx:4565
 AliTwoParticlePIDCorr.cxx:4566
 AliTwoParticlePIDCorr.cxx:4567
 AliTwoParticlePIDCorr.cxx:4568
 AliTwoParticlePIDCorr.cxx:4569
 AliTwoParticlePIDCorr.cxx:4570
 AliTwoParticlePIDCorr.cxx:4571
 AliTwoParticlePIDCorr.cxx:4572
 AliTwoParticlePIDCorr.cxx:4573
 AliTwoParticlePIDCorr.cxx:4574
 AliTwoParticlePIDCorr.cxx:4575
 AliTwoParticlePIDCorr.cxx:4576
 AliTwoParticlePIDCorr.cxx:4577
 AliTwoParticlePIDCorr.cxx:4578
 AliTwoParticlePIDCorr.cxx:4579
 AliTwoParticlePIDCorr.cxx:4580
 AliTwoParticlePIDCorr.cxx:4581
 AliTwoParticlePIDCorr.cxx:4582
 AliTwoParticlePIDCorr.cxx:4583
 AliTwoParticlePIDCorr.cxx:4584
 AliTwoParticlePIDCorr.cxx:4585
 AliTwoParticlePIDCorr.cxx:4586
 AliTwoParticlePIDCorr.cxx:4587
 AliTwoParticlePIDCorr.cxx:4588
 AliTwoParticlePIDCorr.cxx:4589
 AliTwoParticlePIDCorr.cxx:4590
 AliTwoParticlePIDCorr.cxx:4591
 AliTwoParticlePIDCorr.cxx:4592
 AliTwoParticlePIDCorr.cxx:4593
 AliTwoParticlePIDCorr.cxx:4594
 AliTwoParticlePIDCorr.cxx:4595
 AliTwoParticlePIDCorr.cxx:4596
 AliTwoParticlePIDCorr.cxx:4597
 AliTwoParticlePIDCorr.cxx:4598
 AliTwoParticlePIDCorr.cxx:4599
 AliTwoParticlePIDCorr.cxx:4600
 AliTwoParticlePIDCorr.cxx:4601
 AliTwoParticlePIDCorr.cxx:4602
 AliTwoParticlePIDCorr.cxx:4603
 AliTwoParticlePIDCorr.cxx:4604
 AliTwoParticlePIDCorr.cxx:4605
 AliTwoParticlePIDCorr.cxx:4606
 AliTwoParticlePIDCorr.cxx:4607
 AliTwoParticlePIDCorr.cxx:4608
 AliTwoParticlePIDCorr.cxx:4609
 AliTwoParticlePIDCorr.cxx:4610
 AliTwoParticlePIDCorr.cxx:4611
 AliTwoParticlePIDCorr.cxx:4612
 AliTwoParticlePIDCorr.cxx:4613
 AliTwoParticlePIDCorr.cxx:4614
 AliTwoParticlePIDCorr.cxx:4615
 AliTwoParticlePIDCorr.cxx:4616
 AliTwoParticlePIDCorr.cxx:4617
 AliTwoParticlePIDCorr.cxx:4618
 AliTwoParticlePIDCorr.cxx:4619
 AliTwoParticlePIDCorr.cxx:4620
 AliTwoParticlePIDCorr.cxx:4621
 AliTwoParticlePIDCorr.cxx:4622
 AliTwoParticlePIDCorr.cxx:4623
 AliTwoParticlePIDCorr.cxx:4624
 AliTwoParticlePIDCorr.cxx:4625
 AliTwoParticlePIDCorr.cxx:4626
 AliTwoParticlePIDCorr.cxx:4627
 AliTwoParticlePIDCorr.cxx:4628
 AliTwoParticlePIDCorr.cxx:4629
 AliTwoParticlePIDCorr.cxx:4630
 AliTwoParticlePIDCorr.cxx:4631
 AliTwoParticlePIDCorr.cxx:4632
 AliTwoParticlePIDCorr.cxx:4633
 AliTwoParticlePIDCorr.cxx:4634
 AliTwoParticlePIDCorr.cxx:4635
 AliTwoParticlePIDCorr.cxx:4636
 AliTwoParticlePIDCorr.cxx:4637
 AliTwoParticlePIDCorr.cxx:4638
 AliTwoParticlePIDCorr.cxx:4639
 AliTwoParticlePIDCorr.cxx:4640
 AliTwoParticlePIDCorr.cxx:4641
 AliTwoParticlePIDCorr.cxx:4642
 AliTwoParticlePIDCorr.cxx:4643
 AliTwoParticlePIDCorr.cxx:4644
 AliTwoParticlePIDCorr.cxx:4645
 AliTwoParticlePIDCorr.cxx:4646
 AliTwoParticlePIDCorr.cxx:4647
 AliTwoParticlePIDCorr.cxx:4648
 AliTwoParticlePIDCorr.cxx:4649
 AliTwoParticlePIDCorr.cxx:4650
 AliTwoParticlePIDCorr.cxx:4651
 AliTwoParticlePIDCorr.cxx:4652
 AliTwoParticlePIDCorr.cxx:4653
 AliTwoParticlePIDCorr.cxx:4654
 AliTwoParticlePIDCorr.cxx:4655
 AliTwoParticlePIDCorr.cxx:4656
 AliTwoParticlePIDCorr.cxx:4657
 AliTwoParticlePIDCorr.cxx:4658
 AliTwoParticlePIDCorr.cxx:4659
 AliTwoParticlePIDCorr.cxx:4660
 AliTwoParticlePIDCorr.cxx:4661
 AliTwoParticlePIDCorr.cxx:4662
 AliTwoParticlePIDCorr.cxx:4663
 AliTwoParticlePIDCorr.cxx:4664
 AliTwoParticlePIDCorr.cxx:4665
 AliTwoParticlePIDCorr.cxx:4666
 AliTwoParticlePIDCorr.cxx:4667
 AliTwoParticlePIDCorr.cxx:4668
 AliTwoParticlePIDCorr.cxx:4669
 AliTwoParticlePIDCorr.cxx:4670
 AliTwoParticlePIDCorr.cxx:4671
 AliTwoParticlePIDCorr.cxx:4672
 AliTwoParticlePIDCorr.cxx:4673
 AliTwoParticlePIDCorr.cxx:4674
 AliTwoParticlePIDCorr.cxx:4675
 AliTwoParticlePIDCorr.cxx:4676
 AliTwoParticlePIDCorr.cxx:4677
 AliTwoParticlePIDCorr.cxx:4678
 AliTwoParticlePIDCorr.cxx:4679
 AliTwoParticlePIDCorr.cxx:4680
 AliTwoParticlePIDCorr.cxx:4681
 AliTwoParticlePIDCorr.cxx:4682
 AliTwoParticlePIDCorr.cxx:4683
 AliTwoParticlePIDCorr.cxx:4684
 AliTwoParticlePIDCorr.cxx:4685
 AliTwoParticlePIDCorr.cxx:4686
 AliTwoParticlePIDCorr.cxx:4687
 AliTwoParticlePIDCorr.cxx:4688
 AliTwoParticlePIDCorr.cxx:4689
 AliTwoParticlePIDCorr.cxx:4690
 AliTwoParticlePIDCorr.cxx:4691
 AliTwoParticlePIDCorr.cxx:4692
 AliTwoParticlePIDCorr.cxx:4693
 AliTwoParticlePIDCorr.cxx:4694
 AliTwoParticlePIDCorr.cxx:4695
 AliTwoParticlePIDCorr.cxx:4696
 AliTwoParticlePIDCorr.cxx:4697
 AliTwoParticlePIDCorr.cxx:4698
 AliTwoParticlePIDCorr.cxx:4699
 AliTwoParticlePIDCorr.cxx:4700
 AliTwoParticlePIDCorr.cxx:4701
 AliTwoParticlePIDCorr.cxx:4702
 AliTwoParticlePIDCorr.cxx:4703
 AliTwoParticlePIDCorr.cxx:4704
 AliTwoParticlePIDCorr.cxx:4705
 AliTwoParticlePIDCorr.cxx:4706
 AliTwoParticlePIDCorr.cxx:4707
 AliTwoParticlePIDCorr.cxx:4708
 AliTwoParticlePIDCorr.cxx:4709
 AliTwoParticlePIDCorr.cxx:4710
 AliTwoParticlePIDCorr.cxx:4711
 AliTwoParticlePIDCorr.cxx:4712
 AliTwoParticlePIDCorr.cxx:4713
 AliTwoParticlePIDCorr.cxx:4714
 AliTwoParticlePIDCorr.cxx:4715
 AliTwoParticlePIDCorr.cxx:4716
 AliTwoParticlePIDCorr.cxx:4717
 AliTwoParticlePIDCorr.cxx:4718
 AliTwoParticlePIDCorr.cxx:4719
 AliTwoParticlePIDCorr.cxx:4720
 AliTwoParticlePIDCorr.cxx:4721
 AliTwoParticlePIDCorr.cxx:4722
 AliTwoParticlePIDCorr.cxx:4723
 AliTwoParticlePIDCorr.cxx:4724
 AliTwoParticlePIDCorr.cxx:4725
 AliTwoParticlePIDCorr.cxx:4726
 AliTwoParticlePIDCorr.cxx:4727
 AliTwoParticlePIDCorr.cxx:4728
 AliTwoParticlePIDCorr.cxx:4729
 AliTwoParticlePIDCorr.cxx:4730
 AliTwoParticlePIDCorr.cxx:4731
 AliTwoParticlePIDCorr.cxx:4732
 AliTwoParticlePIDCorr.cxx:4733
 AliTwoParticlePIDCorr.cxx:4734
 AliTwoParticlePIDCorr.cxx:4735
 AliTwoParticlePIDCorr.cxx:4736
 AliTwoParticlePIDCorr.cxx:4737
 AliTwoParticlePIDCorr.cxx:4738
 AliTwoParticlePIDCorr.cxx:4739
 AliTwoParticlePIDCorr.cxx:4740
 AliTwoParticlePIDCorr.cxx:4741
 AliTwoParticlePIDCorr.cxx:4742
 AliTwoParticlePIDCorr.cxx:4743
 AliTwoParticlePIDCorr.cxx:4744
 AliTwoParticlePIDCorr.cxx:4745
 AliTwoParticlePIDCorr.cxx:4746
 AliTwoParticlePIDCorr.cxx:4747
 AliTwoParticlePIDCorr.cxx:4748
 AliTwoParticlePIDCorr.cxx:4749
 AliTwoParticlePIDCorr.cxx:4750
 AliTwoParticlePIDCorr.cxx:4751
 AliTwoParticlePIDCorr.cxx:4752
 AliTwoParticlePIDCorr.cxx:4753
 AliTwoParticlePIDCorr.cxx:4754
 AliTwoParticlePIDCorr.cxx:4755
 AliTwoParticlePIDCorr.cxx:4756
 AliTwoParticlePIDCorr.cxx:4757
 AliTwoParticlePIDCorr.cxx:4758
 AliTwoParticlePIDCorr.cxx:4759
 AliTwoParticlePIDCorr.cxx:4760
 AliTwoParticlePIDCorr.cxx:4761
 AliTwoParticlePIDCorr.cxx:4762
 AliTwoParticlePIDCorr.cxx:4763
 AliTwoParticlePIDCorr.cxx:4764
 AliTwoParticlePIDCorr.cxx:4765
 AliTwoParticlePIDCorr.cxx:4766
 AliTwoParticlePIDCorr.cxx:4767
 AliTwoParticlePIDCorr.cxx:4768
 AliTwoParticlePIDCorr.cxx:4769
 AliTwoParticlePIDCorr.cxx:4770
 AliTwoParticlePIDCorr.cxx:4771
 AliTwoParticlePIDCorr.cxx:4772
 AliTwoParticlePIDCorr.cxx:4773
 AliTwoParticlePIDCorr.cxx:4774
 AliTwoParticlePIDCorr.cxx:4775
 AliTwoParticlePIDCorr.cxx:4776
 AliTwoParticlePIDCorr.cxx:4777
 AliTwoParticlePIDCorr.cxx:4778
 AliTwoParticlePIDCorr.cxx:4779
 AliTwoParticlePIDCorr.cxx:4780
 AliTwoParticlePIDCorr.cxx:4781
 AliTwoParticlePIDCorr.cxx:4782
 AliTwoParticlePIDCorr.cxx:4783
 AliTwoParticlePIDCorr.cxx:4784
 AliTwoParticlePIDCorr.cxx:4785
 AliTwoParticlePIDCorr.cxx:4786
 AliTwoParticlePIDCorr.cxx:4787
 AliTwoParticlePIDCorr.cxx:4788
 AliTwoParticlePIDCorr.cxx:4789
 AliTwoParticlePIDCorr.cxx:4790
 AliTwoParticlePIDCorr.cxx:4791
 AliTwoParticlePIDCorr.cxx:4792
 AliTwoParticlePIDCorr.cxx:4793
 AliTwoParticlePIDCorr.cxx:4794
 AliTwoParticlePIDCorr.cxx:4795
 AliTwoParticlePIDCorr.cxx:4796
 AliTwoParticlePIDCorr.cxx:4797
 AliTwoParticlePIDCorr.cxx:4798
 AliTwoParticlePIDCorr.cxx:4799
 AliTwoParticlePIDCorr.cxx:4800
 AliTwoParticlePIDCorr.cxx:4801
 AliTwoParticlePIDCorr.cxx:4802
 AliTwoParticlePIDCorr.cxx:4803
 AliTwoParticlePIDCorr.cxx:4804
 AliTwoParticlePIDCorr.cxx:4805
 AliTwoParticlePIDCorr.cxx:4806
 AliTwoParticlePIDCorr.cxx:4807
 AliTwoParticlePIDCorr.cxx:4808
 AliTwoParticlePIDCorr.cxx:4809
 AliTwoParticlePIDCorr.cxx:4810
 AliTwoParticlePIDCorr.cxx:4811
 AliTwoParticlePIDCorr.cxx:4812
 AliTwoParticlePIDCorr.cxx:4813
 AliTwoParticlePIDCorr.cxx:4814
 AliTwoParticlePIDCorr.cxx:4815
 AliTwoParticlePIDCorr.cxx:4816
 AliTwoParticlePIDCorr.cxx:4817
 AliTwoParticlePIDCorr.cxx:4818
 AliTwoParticlePIDCorr.cxx:4819
 AliTwoParticlePIDCorr.cxx:4820
 AliTwoParticlePIDCorr.cxx:4821
 AliTwoParticlePIDCorr.cxx:4822
 AliTwoParticlePIDCorr.cxx:4823
 AliTwoParticlePIDCorr.cxx:4824
 AliTwoParticlePIDCorr.cxx:4825
 AliTwoParticlePIDCorr.cxx:4826
 AliTwoParticlePIDCorr.cxx:4827
 AliTwoParticlePIDCorr.cxx:4828
 AliTwoParticlePIDCorr.cxx:4829
 AliTwoParticlePIDCorr.cxx:4830
 AliTwoParticlePIDCorr.cxx:4831
 AliTwoParticlePIDCorr.cxx:4832
 AliTwoParticlePIDCorr.cxx:4833
 AliTwoParticlePIDCorr.cxx:4834
 AliTwoParticlePIDCorr.cxx:4835
 AliTwoParticlePIDCorr.cxx:4836
 AliTwoParticlePIDCorr.cxx:4837
 AliTwoParticlePIDCorr.cxx:4838
 AliTwoParticlePIDCorr.cxx:4839
 AliTwoParticlePIDCorr.cxx:4840
 AliTwoParticlePIDCorr.cxx:4841
 AliTwoParticlePIDCorr.cxx:4842
 AliTwoParticlePIDCorr.cxx:4843
 AliTwoParticlePIDCorr.cxx:4844
 AliTwoParticlePIDCorr.cxx:4845
 AliTwoParticlePIDCorr.cxx:4846
 AliTwoParticlePIDCorr.cxx:4847
 AliTwoParticlePIDCorr.cxx:4848
 AliTwoParticlePIDCorr.cxx:4849
 AliTwoParticlePIDCorr.cxx:4850
 AliTwoParticlePIDCorr.cxx:4851
 AliTwoParticlePIDCorr.cxx:4852
 AliTwoParticlePIDCorr.cxx:4853
 AliTwoParticlePIDCorr.cxx:4854
 AliTwoParticlePIDCorr.cxx:4855
 AliTwoParticlePIDCorr.cxx:4856
 AliTwoParticlePIDCorr.cxx:4857
 AliTwoParticlePIDCorr.cxx:4858
 AliTwoParticlePIDCorr.cxx:4859
 AliTwoParticlePIDCorr.cxx:4860
 AliTwoParticlePIDCorr.cxx:4861
 AliTwoParticlePIDCorr.cxx:4862
 AliTwoParticlePIDCorr.cxx:4863
 AliTwoParticlePIDCorr.cxx:4864
 AliTwoParticlePIDCorr.cxx:4865
 AliTwoParticlePIDCorr.cxx:4866
 AliTwoParticlePIDCorr.cxx:4867
 AliTwoParticlePIDCorr.cxx:4868
 AliTwoParticlePIDCorr.cxx:4869
 AliTwoParticlePIDCorr.cxx:4870
 AliTwoParticlePIDCorr.cxx:4871
 AliTwoParticlePIDCorr.cxx:4872
 AliTwoParticlePIDCorr.cxx:4873
 AliTwoParticlePIDCorr.cxx:4874
 AliTwoParticlePIDCorr.cxx:4875
 AliTwoParticlePIDCorr.cxx:4876
 AliTwoParticlePIDCorr.cxx:4877
 AliTwoParticlePIDCorr.cxx:4878
 AliTwoParticlePIDCorr.cxx:4879
 AliTwoParticlePIDCorr.cxx:4880
 AliTwoParticlePIDCorr.cxx:4881
 AliTwoParticlePIDCorr.cxx:4882
 AliTwoParticlePIDCorr.cxx:4883
 AliTwoParticlePIDCorr.cxx:4884
 AliTwoParticlePIDCorr.cxx:4885
 AliTwoParticlePIDCorr.cxx:4886
 AliTwoParticlePIDCorr.cxx:4887
 AliTwoParticlePIDCorr.cxx:4888
 AliTwoParticlePIDCorr.cxx:4889
 AliTwoParticlePIDCorr.cxx:4890
 AliTwoParticlePIDCorr.cxx:4891
 AliTwoParticlePIDCorr.cxx:4892
 AliTwoParticlePIDCorr.cxx:4893
 AliTwoParticlePIDCorr.cxx:4894
 AliTwoParticlePIDCorr.cxx:4895
 AliTwoParticlePIDCorr.cxx:4896
 AliTwoParticlePIDCorr.cxx:4897
 AliTwoParticlePIDCorr.cxx:4898
 AliTwoParticlePIDCorr.cxx:4899
 AliTwoParticlePIDCorr.cxx:4900
 AliTwoParticlePIDCorr.cxx:4901
 AliTwoParticlePIDCorr.cxx:4902
 AliTwoParticlePIDCorr.cxx:4903
 AliTwoParticlePIDCorr.cxx:4904
 AliTwoParticlePIDCorr.cxx:4905
 AliTwoParticlePIDCorr.cxx:4906
 AliTwoParticlePIDCorr.cxx:4907
 AliTwoParticlePIDCorr.cxx:4908
 AliTwoParticlePIDCorr.cxx:4909
 AliTwoParticlePIDCorr.cxx:4910
 AliTwoParticlePIDCorr.cxx:4911
 AliTwoParticlePIDCorr.cxx:4912
 AliTwoParticlePIDCorr.cxx:4913
 AliTwoParticlePIDCorr.cxx:4914
 AliTwoParticlePIDCorr.cxx:4915
 AliTwoParticlePIDCorr.cxx:4916
 AliTwoParticlePIDCorr.cxx:4917
 AliTwoParticlePIDCorr.cxx:4918
 AliTwoParticlePIDCorr.cxx:4919
 AliTwoParticlePIDCorr.cxx:4920
 AliTwoParticlePIDCorr.cxx:4921
 AliTwoParticlePIDCorr.cxx:4922
 AliTwoParticlePIDCorr.cxx:4923
 AliTwoParticlePIDCorr.cxx:4924
 AliTwoParticlePIDCorr.cxx:4925
 AliTwoParticlePIDCorr.cxx:4926
 AliTwoParticlePIDCorr.cxx:4927
 AliTwoParticlePIDCorr.cxx:4928
 AliTwoParticlePIDCorr.cxx:4929
 AliTwoParticlePIDCorr.cxx:4930
 AliTwoParticlePIDCorr.cxx:4931
 AliTwoParticlePIDCorr.cxx:4932
 AliTwoParticlePIDCorr.cxx:4933
 AliTwoParticlePIDCorr.cxx:4934
 AliTwoParticlePIDCorr.cxx:4935
 AliTwoParticlePIDCorr.cxx:4936
 AliTwoParticlePIDCorr.cxx:4937
 AliTwoParticlePIDCorr.cxx:4938
 AliTwoParticlePIDCorr.cxx:4939
 AliTwoParticlePIDCorr.cxx:4940
 AliTwoParticlePIDCorr.cxx:4941
 AliTwoParticlePIDCorr.cxx:4942
 AliTwoParticlePIDCorr.cxx:4943
 AliTwoParticlePIDCorr.cxx:4944
 AliTwoParticlePIDCorr.cxx:4945
 AliTwoParticlePIDCorr.cxx:4946
 AliTwoParticlePIDCorr.cxx:4947
 AliTwoParticlePIDCorr.cxx:4948
 AliTwoParticlePIDCorr.cxx:4949
 AliTwoParticlePIDCorr.cxx:4950
 AliTwoParticlePIDCorr.cxx:4951
 AliTwoParticlePIDCorr.cxx:4952
 AliTwoParticlePIDCorr.cxx:4953
 AliTwoParticlePIDCorr.cxx:4954
 AliTwoParticlePIDCorr.cxx:4955
 AliTwoParticlePIDCorr.cxx:4956
 AliTwoParticlePIDCorr.cxx:4957
 AliTwoParticlePIDCorr.cxx:4958
 AliTwoParticlePIDCorr.cxx:4959
 AliTwoParticlePIDCorr.cxx:4960
 AliTwoParticlePIDCorr.cxx:4961
 AliTwoParticlePIDCorr.cxx:4962
 AliTwoParticlePIDCorr.cxx:4963
 AliTwoParticlePIDCorr.cxx:4964
 AliTwoParticlePIDCorr.cxx:4965
 AliTwoParticlePIDCorr.cxx:4966
 AliTwoParticlePIDCorr.cxx:4967
 AliTwoParticlePIDCorr.cxx:4968
 AliTwoParticlePIDCorr.cxx:4969
 AliTwoParticlePIDCorr.cxx:4970
 AliTwoParticlePIDCorr.cxx:4971
 AliTwoParticlePIDCorr.cxx:4972
 AliTwoParticlePIDCorr.cxx:4973
 AliTwoParticlePIDCorr.cxx:4974
 AliTwoParticlePIDCorr.cxx:4975
 AliTwoParticlePIDCorr.cxx:4976
 AliTwoParticlePIDCorr.cxx:4977
 AliTwoParticlePIDCorr.cxx:4978
 AliTwoParticlePIDCorr.cxx:4979
 AliTwoParticlePIDCorr.cxx:4980
 AliTwoParticlePIDCorr.cxx:4981
 AliTwoParticlePIDCorr.cxx:4982
 AliTwoParticlePIDCorr.cxx:4983
 AliTwoParticlePIDCorr.cxx:4984
 AliTwoParticlePIDCorr.cxx:4985
 AliTwoParticlePIDCorr.cxx:4986
 AliTwoParticlePIDCorr.cxx:4987
 AliTwoParticlePIDCorr.cxx:4988
 AliTwoParticlePIDCorr.cxx:4989
 AliTwoParticlePIDCorr.cxx:4990
 AliTwoParticlePIDCorr.cxx:4991
 AliTwoParticlePIDCorr.cxx:4992
 AliTwoParticlePIDCorr.cxx:4993
 AliTwoParticlePIDCorr.cxx:4994
 AliTwoParticlePIDCorr.cxx:4995
 AliTwoParticlePIDCorr.cxx:4996
 AliTwoParticlePIDCorr.cxx:4997
 AliTwoParticlePIDCorr.cxx:4998
 AliTwoParticlePIDCorr.cxx:4999
 AliTwoParticlePIDCorr.cxx:5000
 AliTwoParticlePIDCorr.cxx:5001
 AliTwoParticlePIDCorr.cxx:5002
 AliTwoParticlePIDCorr.cxx:5003
 AliTwoParticlePIDCorr.cxx:5004
 AliTwoParticlePIDCorr.cxx:5005
 AliTwoParticlePIDCorr.cxx:5006
 AliTwoParticlePIDCorr.cxx:5007
 AliTwoParticlePIDCorr.cxx:5008
 AliTwoParticlePIDCorr.cxx:5009
 AliTwoParticlePIDCorr.cxx:5010
 AliTwoParticlePIDCorr.cxx:5011
 AliTwoParticlePIDCorr.cxx:5012
 AliTwoParticlePIDCorr.cxx:5013
 AliTwoParticlePIDCorr.cxx:5014
 AliTwoParticlePIDCorr.cxx:5015
 AliTwoParticlePIDCorr.cxx:5016
 AliTwoParticlePIDCorr.cxx:5017
 AliTwoParticlePIDCorr.cxx:5018
 AliTwoParticlePIDCorr.cxx:5019
 AliTwoParticlePIDCorr.cxx:5020
 AliTwoParticlePIDCorr.cxx:5021
 AliTwoParticlePIDCorr.cxx:5022
 AliTwoParticlePIDCorr.cxx:5023
 AliTwoParticlePIDCorr.cxx:5024
 AliTwoParticlePIDCorr.cxx:5025
 AliTwoParticlePIDCorr.cxx:5026
 AliTwoParticlePIDCorr.cxx:5027
 AliTwoParticlePIDCorr.cxx:5028
 AliTwoParticlePIDCorr.cxx:5029
 AliTwoParticlePIDCorr.cxx:5030
 AliTwoParticlePIDCorr.cxx:5031
 AliTwoParticlePIDCorr.cxx:5032
 AliTwoParticlePIDCorr.cxx:5033
 AliTwoParticlePIDCorr.cxx:5034
 AliTwoParticlePIDCorr.cxx:5035
 AliTwoParticlePIDCorr.cxx:5036
 AliTwoParticlePIDCorr.cxx:5037
 AliTwoParticlePIDCorr.cxx:5038
 AliTwoParticlePIDCorr.cxx:5039
 AliTwoParticlePIDCorr.cxx:5040
 AliTwoParticlePIDCorr.cxx:5041
 AliTwoParticlePIDCorr.cxx:5042
 AliTwoParticlePIDCorr.cxx:5043
 AliTwoParticlePIDCorr.cxx:5044
 AliTwoParticlePIDCorr.cxx:5045
 AliTwoParticlePIDCorr.cxx:5046
 AliTwoParticlePIDCorr.cxx:5047
 AliTwoParticlePIDCorr.cxx:5048
 AliTwoParticlePIDCorr.cxx:5049
 AliTwoParticlePIDCorr.cxx:5050
 AliTwoParticlePIDCorr.cxx:5051
 AliTwoParticlePIDCorr.cxx:5052
 AliTwoParticlePIDCorr.cxx:5053
 AliTwoParticlePIDCorr.cxx:5054
 AliTwoParticlePIDCorr.cxx:5055
 AliTwoParticlePIDCorr.cxx:5056
 AliTwoParticlePIDCorr.cxx:5057
 AliTwoParticlePIDCorr.cxx:5058
 AliTwoParticlePIDCorr.cxx:5059
 AliTwoParticlePIDCorr.cxx:5060
 AliTwoParticlePIDCorr.cxx:5061
 AliTwoParticlePIDCorr.cxx:5062
 AliTwoParticlePIDCorr.cxx:5063
 AliTwoParticlePIDCorr.cxx:5064
 AliTwoParticlePIDCorr.cxx:5065
 AliTwoParticlePIDCorr.cxx:5066
 AliTwoParticlePIDCorr.cxx:5067
 AliTwoParticlePIDCorr.cxx:5068
 AliTwoParticlePIDCorr.cxx:5069
 AliTwoParticlePIDCorr.cxx:5070
 AliTwoParticlePIDCorr.cxx:5071
 AliTwoParticlePIDCorr.cxx:5072
 AliTwoParticlePIDCorr.cxx:5073
 AliTwoParticlePIDCorr.cxx:5074
 AliTwoParticlePIDCorr.cxx:5075
 AliTwoParticlePIDCorr.cxx:5076
 AliTwoParticlePIDCorr.cxx:5077
 AliTwoParticlePIDCorr.cxx:5078
 AliTwoParticlePIDCorr.cxx:5079
 AliTwoParticlePIDCorr.cxx:5080
 AliTwoParticlePIDCorr.cxx:5081
 AliTwoParticlePIDCorr.cxx:5082
 AliTwoParticlePIDCorr.cxx:5083
 AliTwoParticlePIDCorr.cxx:5084
 AliTwoParticlePIDCorr.cxx:5085
 AliTwoParticlePIDCorr.cxx:5086
 AliTwoParticlePIDCorr.cxx:5087
 AliTwoParticlePIDCorr.cxx:5088
 AliTwoParticlePIDCorr.cxx:5089
 AliTwoParticlePIDCorr.cxx:5090
 AliTwoParticlePIDCorr.cxx:5091
 AliTwoParticlePIDCorr.cxx:5092
 AliTwoParticlePIDCorr.cxx:5093
 AliTwoParticlePIDCorr.cxx:5094
 AliTwoParticlePIDCorr.cxx:5095
 AliTwoParticlePIDCorr.cxx:5096
 AliTwoParticlePIDCorr.cxx:5097
 AliTwoParticlePIDCorr.cxx:5098
 AliTwoParticlePIDCorr.cxx:5099
 AliTwoParticlePIDCorr.cxx:5100
 AliTwoParticlePIDCorr.cxx:5101
 AliTwoParticlePIDCorr.cxx:5102
 AliTwoParticlePIDCorr.cxx:5103
 AliTwoParticlePIDCorr.cxx:5104
 AliTwoParticlePIDCorr.cxx:5105
 AliTwoParticlePIDCorr.cxx:5106
 AliTwoParticlePIDCorr.cxx:5107
 AliTwoParticlePIDCorr.cxx:5108
 AliTwoParticlePIDCorr.cxx:5109
 AliTwoParticlePIDCorr.cxx:5110
 AliTwoParticlePIDCorr.cxx:5111
 AliTwoParticlePIDCorr.cxx:5112
 AliTwoParticlePIDCorr.cxx:5113
 AliTwoParticlePIDCorr.cxx:5114
 AliTwoParticlePIDCorr.cxx:5115
 AliTwoParticlePIDCorr.cxx:5116
 AliTwoParticlePIDCorr.cxx:5117
 AliTwoParticlePIDCorr.cxx:5118
 AliTwoParticlePIDCorr.cxx:5119
 AliTwoParticlePIDCorr.cxx:5120
 AliTwoParticlePIDCorr.cxx:5121
 AliTwoParticlePIDCorr.cxx:5122
 AliTwoParticlePIDCorr.cxx:5123
 AliTwoParticlePIDCorr.cxx:5124
 AliTwoParticlePIDCorr.cxx:5125
 AliTwoParticlePIDCorr.cxx:5126
 AliTwoParticlePIDCorr.cxx:5127
 AliTwoParticlePIDCorr.cxx:5128
 AliTwoParticlePIDCorr.cxx:5129
 AliTwoParticlePIDCorr.cxx:5130
 AliTwoParticlePIDCorr.cxx:5131
 AliTwoParticlePIDCorr.cxx:5132
 AliTwoParticlePIDCorr.cxx:5133
 AliTwoParticlePIDCorr.cxx:5134
 AliTwoParticlePIDCorr.cxx:5135
 AliTwoParticlePIDCorr.cxx:5136
 AliTwoParticlePIDCorr.cxx:5137
 AliTwoParticlePIDCorr.cxx:5138
 AliTwoParticlePIDCorr.cxx:5139
 AliTwoParticlePIDCorr.cxx:5140
 AliTwoParticlePIDCorr.cxx:5141
 AliTwoParticlePIDCorr.cxx:5142
 AliTwoParticlePIDCorr.cxx:5143
 AliTwoParticlePIDCorr.cxx:5144
 AliTwoParticlePIDCorr.cxx:5145
 AliTwoParticlePIDCorr.cxx:5146
 AliTwoParticlePIDCorr.cxx:5147
 AliTwoParticlePIDCorr.cxx:5148
 AliTwoParticlePIDCorr.cxx:5149
 AliTwoParticlePIDCorr.cxx:5150
 AliTwoParticlePIDCorr.cxx:5151
 AliTwoParticlePIDCorr.cxx:5152
 AliTwoParticlePIDCorr.cxx:5153
 AliTwoParticlePIDCorr.cxx:5154
 AliTwoParticlePIDCorr.cxx:5155
 AliTwoParticlePIDCorr.cxx:5156
 AliTwoParticlePIDCorr.cxx:5157
 AliTwoParticlePIDCorr.cxx:5158
 AliTwoParticlePIDCorr.cxx:5159
 AliTwoParticlePIDCorr.cxx:5160
 AliTwoParticlePIDCorr.cxx:5161
 AliTwoParticlePIDCorr.cxx:5162
 AliTwoParticlePIDCorr.cxx:5163
 AliTwoParticlePIDCorr.cxx:5164
 AliTwoParticlePIDCorr.cxx:5165
 AliTwoParticlePIDCorr.cxx:5166
 AliTwoParticlePIDCorr.cxx:5167
 AliTwoParticlePIDCorr.cxx:5168
 AliTwoParticlePIDCorr.cxx:5169
 AliTwoParticlePIDCorr.cxx:5170
 AliTwoParticlePIDCorr.cxx:5171
 AliTwoParticlePIDCorr.cxx:5172
 AliTwoParticlePIDCorr.cxx:5173
 AliTwoParticlePIDCorr.cxx:5174
 AliTwoParticlePIDCorr.cxx:5175
 AliTwoParticlePIDCorr.cxx:5176
 AliTwoParticlePIDCorr.cxx:5177
 AliTwoParticlePIDCorr.cxx:5178
 AliTwoParticlePIDCorr.cxx:5179
 AliTwoParticlePIDCorr.cxx:5180
 AliTwoParticlePIDCorr.cxx:5181
 AliTwoParticlePIDCorr.cxx:5182
 AliTwoParticlePIDCorr.cxx:5183
 AliTwoParticlePIDCorr.cxx:5184
 AliTwoParticlePIDCorr.cxx:5185
 AliTwoParticlePIDCorr.cxx:5186
 AliTwoParticlePIDCorr.cxx:5187
 AliTwoParticlePIDCorr.cxx:5188
 AliTwoParticlePIDCorr.cxx:5189
 AliTwoParticlePIDCorr.cxx:5190
 AliTwoParticlePIDCorr.cxx:5191
 AliTwoParticlePIDCorr.cxx:5192
 AliTwoParticlePIDCorr.cxx:5193
 AliTwoParticlePIDCorr.cxx:5194
 AliTwoParticlePIDCorr.cxx:5195
 AliTwoParticlePIDCorr.cxx:5196
 AliTwoParticlePIDCorr.cxx:5197
 AliTwoParticlePIDCorr.cxx:5198
 AliTwoParticlePIDCorr.cxx:5199
 AliTwoParticlePIDCorr.cxx:5200
 AliTwoParticlePIDCorr.cxx:5201
 AliTwoParticlePIDCorr.cxx:5202
 AliTwoParticlePIDCorr.cxx:5203
 AliTwoParticlePIDCorr.cxx:5204
 AliTwoParticlePIDCorr.cxx:5205
 AliTwoParticlePIDCorr.cxx:5206
 AliTwoParticlePIDCorr.cxx:5207
 AliTwoParticlePIDCorr.cxx:5208
 AliTwoParticlePIDCorr.cxx:5209
 AliTwoParticlePIDCorr.cxx:5210
 AliTwoParticlePIDCorr.cxx:5211
 AliTwoParticlePIDCorr.cxx:5212
 AliTwoParticlePIDCorr.cxx:5213
 AliTwoParticlePIDCorr.cxx:5214
 AliTwoParticlePIDCorr.cxx:5215
 AliTwoParticlePIDCorr.cxx:5216
 AliTwoParticlePIDCorr.cxx:5217
 AliTwoParticlePIDCorr.cxx:5218
 AliTwoParticlePIDCorr.cxx:5219
 AliTwoParticlePIDCorr.cxx:5220
 AliTwoParticlePIDCorr.cxx:5221
 AliTwoParticlePIDCorr.cxx:5222
 AliTwoParticlePIDCorr.cxx:5223
 AliTwoParticlePIDCorr.cxx:5224
 AliTwoParticlePIDCorr.cxx:5225
 AliTwoParticlePIDCorr.cxx:5226
 AliTwoParticlePIDCorr.cxx:5227
 AliTwoParticlePIDCorr.cxx:5228
 AliTwoParticlePIDCorr.cxx:5229
 AliTwoParticlePIDCorr.cxx:5230
 AliTwoParticlePIDCorr.cxx:5231
 AliTwoParticlePIDCorr.cxx:5232
 AliTwoParticlePIDCorr.cxx:5233
 AliTwoParticlePIDCorr.cxx:5234
 AliTwoParticlePIDCorr.cxx:5235
 AliTwoParticlePIDCorr.cxx:5236
 AliTwoParticlePIDCorr.cxx:5237
 AliTwoParticlePIDCorr.cxx:5238
 AliTwoParticlePIDCorr.cxx:5239
 AliTwoParticlePIDCorr.cxx:5240
 AliTwoParticlePIDCorr.cxx:5241
 AliTwoParticlePIDCorr.cxx:5242
 AliTwoParticlePIDCorr.cxx:5243
 AliTwoParticlePIDCorr.cxx:5244
 AliTwoParticlePIDCorr.cxx:5245
 AliTwoParticlePIDCorr.cxx:5246
 AliTwoParticlePIDCorr.cxx:5247
 AliTwoParticlePIDCorr.cxx:5248
 AliTwoParticlePIDCorr.cxx:5249
 AliTwoParticlePIDCorr.cxx:5250
 AliTwoParticlePIDCorr.cxx:5251
 AliTwoParticlePIDCorr.cxx:5252
 AliTwoParticlePIDCorr.cxx:5253
 AliTwoParticlePIDCorr.cxx:5254
 AliTwoParticlePIDCorr.cxx:5255
 AliTwoParticlePIDCorr.cxx:5256
 AliTwoParticlePIDCorr.cxx:5257
 AliTwoParticlePIDCorr.cxx:5258
 AliTwoParticlePIDCorr.cxx:5259
 AliTwoParticlePIDCorr.cxx:5260
 AliTwoParticlePIDCorr.cxx:5261
 AliTwoParticlePIDCorr.cxx:5262
 AliTwoParticlePIDCorr.cxx:5263
 AliTwoParticlePIDCorr.cxx:5264
 AliTwoParticlePIDCorr.cxx:5265
 AliTwoParticlePIDCorr.cxx:5266
 AliTwoParticlePIDCorr.cxx:5267
 AliTwoParticlePIDCorr.cxx:5268
 AliTwoParticlePIDCorr.cxx:5269
 AliTwoParticlePIDCorr.cxx:5270
 AliTwoParticlePIDCorr.cxx:5271
 AliTwoParticlePIDCorr.cxx:5272
 AliTwoParticlePIDCorr.cxx:5273
 AliTwoParticlePIDCorr.cxx:5274
 AliTwoParticlePIDCorr.cxx:5275
 AliTwoParticlePIDCorr.cxx:5276
 AliTwoParticlePIDCorr.cxx:5277
 AliTwoParticlePIDCorr.cxx:5278
 AliTwoParticlePIDCorr.cxx:5279
 AliTwoParticlePIDCorr.cxx:5280
 AliTwoParticlePIDCorr.cxx:5281
 AliTwoParticlePIDCorr.cxx:5282
 AliTwoParticlePIDCorr.cxx:5283
 AliTwoParticlePIDCorr.cxx:5284
 AliTwoParticlePIDCorr.cxx:5285
 AliTwoParticlePIDCorr.cxx:5286
 AliTwoParticlePIDCorr.cxx:5287
 AliTwoParticlePIDCorr.cxx:5288
 AliTwoParticlePIDCorr.cxx:5289
 AliTwoParticlePIDCorr.cxx:5290
 AliTwoParticlePIDCorr.cxx:5291
 AliTwoParticlePIDCorr.cxx:5292
 AliTwoParticlePIDCorr.cxx:5293
 AliTwoParticlePIDCorr.cxx:5294
 AliTwoParticlePIDCorr.cxx:5295
 AliTwoParticlePIDCorr.cxx:5296
 AliTwoParticlePIDCorr.cxx:5297
 AliTwoParticlePIDCorr.cxx:5298
 AliTwoParticlePIDCorr.cxx:5299
 AliTwoParticlePIDCorr.cxx:5300
 AliTwoParticlePIDCorr.cxx:5301
 AliTwoParticlePIDCorr.cxx:5302
 AliTwoParticlePIDCorr.cxx:5303
 AliTwoParticlePIDCorr.cxx:5304
 AliTwoParticlePIDCorr.cxx:5305
 AliTwoParticlePIDCorr.cxx:5306
 AliTwoParticlePIDCorr.cxx:5307
 AliTwoParticlePIDCorr.cxx:5308
 AliTwoParticlePIDCorr.cxx:5309
 AliTwoParticlePIDCorr.cxx:5310
 AliTwoParticlePIDCorr.cxx:5311
 AliTwoParticlePIDCorr.cxx:5312
 AliTwoParticlePIDCorr.cxx:5313
 AliTwoParticlePIDCorr.cxx:5314
 AliTwoParticlePIDCorr.cxx:5315
 AliTwoParticlePIDCorr.cxx:5316
 AliTwoParticlePIDCorr.cxx:5317
 AliTwoParticlePIDCorr.cxx:5318
 AliTwoParticlePIDCorr.cxx:5319
 AliTwoParticlePIDCorr.cxx:5320
 AliTwoParticlePIDCorr.cxx:5321
 AliTwoParticlePIDCorr.cxx:5322
 AliTwoParticlePIDCorr.cxx:5323
 AliTwoParticlePIDCorr.cxx:5324
 AliTwoParticlePIDCorr.cxx:5325
 AliTwoParticlePIDCorr.cxx:5326
 AliTwoParticlePIDCorr.cxx:5327
 AliTwoParticlePIDCorr.cxx:5328
 AliTwoParticlePIDCorr.cxx:5329
 AliTwoParticlePIDCorr.cxx:5330
 AliTwoParticlePIDCorr.cxx:5331
 AliTwoParticlePIDCorr.cxx:5332
 AliTwoParticlePIDCorr.cxx:5333
 AliTwoParticlePIDCorr.cxx:5334
 AliTwoParticlePIDCorr.cxx:5335
 AliTwoParticlePIDCorr.cxx:5336
 AliTwoParticlePIDCorr.cxx:5337
 AliTwoParticlePIDCorr.cxx:5338
 AliTwoParticlePIDCorr.cxx:5339
 AliTwoParticlePIDCorr.cxx:5340
 AliTwoParticlePIDCorr.cxx:5341
 AliTwoParticlePIDCorr.cxx:5342
 AliTwoParticlePIDCorr.cxx:5343
 AliTwoParticlePIDCorr.cxx:5344
 AliTwoParticlePIDCorr.cxx:5345
 AliTwoParticlePIDCorr.cxx:5346
 AliTwoParticlePIDCorr.cxx:5347
 AliTwoParticlePIDCorr.cxx:5348
 AliTwoParticlePIDCorr.cxx:5349
 AliTwoParticlePIDCorr.cxx:5350
 AliTwoParticlePIDCorr.cxx:5351
 AliTwoParticlePIDCorr.cxx:5352
 AliTwoParticlePIDCorr.cxx:5353
 AliTwoParticlePIDCorr.cxx:5354
 AliTwoParticlePIDCorr.cxx:5355
 AliTwoParticlePIDCorr.cxx:5356
 AliTwoParticlePIDCorr.cxx:5357
 AliTwoParticlePIDCorr.cxx:5358
 AliTwoParticlePIDCorr.cxx:5359
 AliTwoParticlePIDCorr.cxx:5360
 AliTwoParticlePIDCorr.cxx:5361
 AliTwoParticlePIDCorr.cxx:5362
 AliTwoParticlePIDCorr.cxx:5363
 AliTwoParticlePIDCorr.cxx:5364
 AliTwoParticlePIDCorr.cxx:5365
 AliTwoParticlePIDCorr.cxx:5366
 AliTwoParticlePIDCorr.cxx:5367
 AliTwoParticlePIDCorr.cxx:5368
 AliTwoParticlePIDCorr.cxx:5369
 AliTwoParticlePIDCorr.cxx:5370
 AliTwoParticlePIDCorr.cxx:5371
 AliTwoParticlePIDCorr.cxx:5372
 AliTwoParticlePIDCorr.cxx:5373
 AliTwoParticlePIDCorr.cxx:5374
 AliTwoParticlePIDCorr.cxx:5375
 AliTwoParticlePIDCorr.cxx:5376
 AliTwoParticlePIDCorr.cxx:5377
 AliTwoParticlePIDCorr.cxx:5378
 AliTwoParticlePIDCorr.cxx:5379
 AliTwoParticlePIDCorr.cxx:5380
 AliTwoParticlePIDCorr.cxx:5381
 AliTwoParticlePIDCorr.cxx:5382
 AliTwoParticlePIDCorr.cxx:5383
 AliTwoParticlePIDCorr.cxx:5384
 AliTwoParticlePIDCorr.cxx:5385
 AliTwoParticlePIDCorr.cxx:5386
 AliTwoParticlePIDCorr.cxx:5387
 AliTwoParticlePIDCorr.cxx:5388
 AliTwoParticlePIDCorr.cxx:5389
 AliTwoParticlePIDCorr.cxx:5390
 AliTwoParticlePIDCorr.cxx:5391
 AliTwoParticlePIDCorr.cxx:5392
 AliTwoParticlePIDCorr.cxx:5393
 AliTwoParticlePIDCorr.cxx:5394
 AliTwoParticlePIDCorr.cxx:5395
 AliTwoParticlePIDCorr.cxx:5396
 AliTwoParticlePIDCorr.cxx:5397
 AliTwoParticlePIDCorr.cxx:5398
 AliTwoParticlePIDCorr.cxx:5399
 AliTwoParticlePIDCorr.cxx:5400
 AliTwoParticlePIDCorr.cxx:5401
 AliTwoParticlePIDCorr.cxx:5402
 AliTwoParticlePIDCorr.cxx:5403
 AliTwoParticlePIDCorr.cxx:5404
 AliTwoParticlePIDCorr.cxx:5405
 AliTwoParticlePIDCorr.cxx:5406
 AliTwoParticlePIDCorr.cxx:5407
 AliTwoParticlePIDCorr.cxx:5408
 AliTwoParticlePIDCorr.cxx:5409
 AliTwoParticlePIDCorr.cxx:5410
 AliTwoParticlePIDCorr.cxx:5411
 AliTwoParticlePIDCorr.cxx:5412
 AliTwoParticlePIDCorr.cxx:5413
 AliTwoParticlePIDCorr.cxx:5414
 AliTwoParticlePIDCorr.cxx:5415
 AliTwoParticlePIDCorr.cxx:5416
 AliTwoParticlePIDCorr.cxx:5417
 AliTwoParticlePIDCorr.cxx:5418
 AliTwoParticlePIDCorr.cxx:5419
 AliTwoParticlePIDCorr.cxx:5420
 AliTwoParticlePIDCorr.cxx:5421
 AliTwoParticlePIDCorr.cxx:5422
 AliTwoParticlePIDCorr.cxx:5423
 AliTwoParticlePIDCorr.cxx:5424
 AliTwoParticlePIDCorr.cxx:5425
 AliTwoParticlePIDCorr.cxx:5426
 AliTwoParticlePIDCorr.cxx:5427
 AliTwoParticlePIDCorr.cxx:5428
 AliTwoParticlePIDCorr.cxx:5429
 AliTwoParticlePIDCorr.cxx:5430
 AliTwoParticlePIDCorr.cxx:5431
 AliTwoParticlePIDCorr.cxx:5432
 AliTwoParticlePIDCorr.cxx:5433
 AliTwoParticlePIDCorr.cxx:5434
 AliTwoParticlePIDCorr.cxx:5435
 AliTwoParticlePIDCorr.cxx:5436
 AliTwoParticlePIDCorr.cxx:5437
 AliTwoParticlePIDCorr.cxx:5438
 AliTwoParticlePIDCorr.cxx:5439
 AliTwoParticlePIDCorr.cxx:5440
 AliTwoParticlePIDCorr.cxx:5441
 AliTwoParticlePIDCorr.cxx:5442
 AliTwoParticlePIDCorr.cxx:5443
 AliTwoParticlePIDCorr.cxx:5444
 AliTwoParticlePIDCorr.cxx:5445
 AliTwoParticlePIDCorr.cxx:5446
 AliTwoParticlePIDCorr.cxx:5447
 AliTwoParticlePIDCorr.cxx:5448
 AliTwoParticlePIDCorr.cxx:5449
 AliTwoParticlePIDCorr.cxx:5450
 AliTwoParticlePIDCorr.cxx:5451
 AliTwoParticlePIDCorr.cxx:5452
 AliTwoParticlePIDCorr.cxx:5453
 AliTwoParticlePIDCorr.cxx:5454
 AliTwoParticlePIDCorr.cxx:5455
 AliTwoParticlePIDCorr.cxx:5456
 AliTwoParticlePIDCorr.cxx:5457
 AliTwoParticlePIDCorr.cxx:5458
 AliTwoParticlePIDCorr.cxx:5459
 AliTwoParticlePIDCorr.cxx:5460
 AliTwoParticlePIDCorr.cxx:5461
 AliTwoParticlePIDCorr.cxx:5462
 AliTwoParticlePIDCorr.cxx:5463
 AliTwoParticlePIDCorr.cxx:5464
 AliTwoParticlePIDCorr.cxx:5465
 AliTwoParticlePIDCorr.cxx:5466
 AliTwoParticlePIDCorr.cxx:5467
 AliTwoParticlePIDCorr.cxx:5468
 AliTwoParticlePIDCorr.cxx:5469
 AliTwoParticlePIDCorr.cxx:5470
 AliTwoParticlePIDCorr.cxx:5471
 AliTwoParticlePIDCorr.cxx:5472
 AliTwoParticlePIDCorr.cxx:5473
 AliTwoParticlePIDCorr.cxx:5474
 AliTwoParticlePIDCorr.cxx:5475
 AliTwoParticlePIDCorr.cxx:5476
 AliTwoParticlePIDCorr.cxx:5477
 AliTwoParticlePIDCorr.cxx:5478
 AliTwoParticlePIDCorr.cxx:5479
 AliTwoParticlePIDCorr.cxx:5480
 AliTwoParticlePIDCorr.cxx:5481
 AliTwoParticlePIDCorr.cxx:5482
 AliTwoParticlePIDCorr.cxx:5483
 AliTwoParticlePIDCorr.cxx:5484
 AliTwoParticlePIDCorr.cxx:5485
 AliTwoParticlePIDCorr.cxx:5486
 AliTwoParticlePIDCorr.cxx:5487
 AliTwoParticlePIDCorr.cxx:5488
 AliTwoParticlePIDCorr.cxx:5489
 AliTwoParticlePIDCorr.cxx:5490
 AliTwoParticlePIDCorr.cxx:5491
 AliTwoParticlePIDCorr.cxx:5492
 AliTwoParticlePIDCorr.cxx:5493
 AliTwoParticlePIDCorr.cxx:5494
 AliTwoParticlePIDCorr.cxx:5495
 AliTwoParticlePIDCorr.cxx:5496
 AliTwoParticlePIDCorr.cxx:5497
 AliTwoParticlePIDCorr.cxx:5498
 AliTwoParticlePIDCorr.cxx:5499
 AliTwoParticlePIDCorr.cxx:5500
 AliTwoParticlePIDCorr.cxx:5501
 AliTwoParticlePIDCorr.cxx:5502
 AliTwoParticlePIDCorr.cxx:5503
 AliTwoParticlePIDCorr.cxx:5504
 AliTwoParticlePIDCorr.cxx:5505
 AliTwoParticlePIDCorr.cxx:5506
 AliTwoParticlePIDCorr.cxx:5507
 AliTwoParticlePIDCorr.cxx:5508
 AliTwoParticlePIDCorr.cxx:5509
 AliTwoParticlePIDCorr.cxx:5510
 AliTwoParticlePIDCorr.cxx:5511
 AliTwoParticlePIDCorr.cxx:5512
 AliTwoParticlePIDCorr.cxx:5513
 AliTwoParticlePIDCorr.cxx:5514
 AliTwoParticlePIDCorr.cxx:5515
 AliTwoParticlePIDCorr.cxx:5516
 AliTwoParticlePIDCorr.cxx:5517
 AliTwoParticlePIDCorr.cxx:5518
 AliTwoParticlePIDCorr.cxx:5519
 AliTwoParticlePIDCorr.cxx:5520
 AliTwoParticlePIDCorr.cxx:5521
 AliTwoParticlePIDCorr.cxx:5522
 AliTwoParticlePIDCorr.cxx:5523
 AliTwoParticlePIDCorr.cxx:5524
 AliTwoParticlePIDCorr.cxx:5525
 AliTwoParticlePIDCorr.cxx:5526
 AliTwoParticlePIDCorr.cxx:5527
 AliTwoParticlePIDCorr.cxx:5528
 AliTwoParticlePIDCorr.cxx:5529
 AliTwoParticlePIDCorr.cxx:5530
 AliTwoParticlePIDCorr.cxx:5531
 AliTwoParticlePIDCorr.cxx:5532
 AliTwoParticlePIDCorr.cxx:5533
 AliTwoParticlePIDCorr.cxx:5534
 AliTwoParticlePIDCorr.cxx:5535
 AliTwoParticlePIDCorr.cxx:5536
 AliTwoParticlePIDCorr.cxx:5537
 AliTwoParticlePIDCorr.cxx:5538
 AliTwoParticlePIDCorr.cxx:5539
 AliTwoParticlePIDCorr.cxx:5540
 AliTwoParticlePIDCorr.cxx:5541
 AliTwoParticlePIDCorr.cxx:5542
 AliTwoParticlePIDCorr.cxx:5543
 AliTwoParticlePIDCorr.cxx:5544
 AliTwoParticlePIDCorr.cxx:5545
 AliTwoParticlePIDCorr.cxx:5546
 AliTwoParticlePIDCorr.cxx:5547
 AliTwoParticlePIDCorr.cxx:5548
 AliTwoParticlePIDCorr.cxx:5549
 AliTwoParticlePIDCorr.cxx:5550
 AliTwoParticlePIDCorr.cxx:5551
 AliTwoParticlePIDCorr.cxx:5552
 AliTwoParticlePIDCorr.cxx:5553
 AliTwoParticlePIDCorr.cxx:5554
 AliTwoParticlePIDCorr.cxx:5555
 AliTwoParticlePIDCorr.cxx:5556
 AliTwoParticlePIDCorr.cxx:5557
 AliTwoParticlePIDCorr.cxx:5558
 AliTwoParticlePIDCorr.cxx:5559
 AliTwoParticlePIDCorr.cxx:5560
 AliTwoParticlePIDCorr.cxx:5561
 AliTwoParticlePIDCorr.cxx:5562
 AliTwoParticlePIDCorr.cxx:5563
 AliTwoParticlePIDCorr.cxx:5564
 AliTwoParticlePIDCorr.cxx:5565
 AliTwoParticlePIDCorr.cxx:5566
 AliTwoParticlePIDCorr.cxx:5567
 AliTwoParticlePIDCorr.cxx:5568
 AliTwoParticlePIDCorr.cxx:5569
 AliTwoParticlePIDCorr.cxx:5570
 AliTwoParticlePIDCorr.cxx:5571
 AliTwoParticlePIDCorr.cxx:5572
 AliTwoParticlePIDCorr.cxx:5573
 AliTwoParticlePIDCorr.cxx:5574
 AliTwoParticlePIDCorr.cxx:5575
 AliTwoParticlePIDCorr.cxx:5576
 AliTwoParticlePIDCorr.cxx:5577
 AliTwoParticlePIDCorr.cxx:5578
 AliTwoParticlePIDCorr.cxx:5579
 AliTwoParticlePIDCorr.cxx:5580
 AliTwoParticlePIDCorr.cxx:5581
 AliTwoParticlePIDCorr.cxx:5582
 AliTwoParticlePIDCorr.cxx:5583
 AliTwoParticlePIDCorr.cxx:5584
 AliTwoParticlePIDCorr.cxx:5585
 AliTwoParticlePIDCorr.cxx:5586
 AliTwoParticlePIDCorr.cxx:5587
 AliTwoParticlePIDCorr.cxx:5588
 AliTwoParticlePIDCorr.cxx:5589
 AliTwoParticlePIDCorr.cxx:5590
 AliTwoParticlePIDCorr.cxx:5591
 AliTwoParticlePIDCorr.cxx:5592
 AliTwoParticlePIDCorr.cxx:5593
 AliTwoParticlePIDCorr.cxx:5594
 AliTwoParticlePIDCorr.cxx:5595
 AliTwoParticlePIDCorr.cxx:5596
 AliTwoParticlePIDCorr.cxx:5597
 AliTwoParticlePIDCorr.cxx:5598
 AliTwoParticlePIDCorr.cxx:5599
 AliTwoParticlePIDCorr.cxx:5600
 AliTwoParticlePIDCorr.cxx:5601
 AliTwoParticlePIDCorr.cxx:5602
 AliTwoParticlePIDCorr.cxx:5603
 AliTwoParticlePIDCorr.cxx:5604
 AliTwoParticlePIDCorr.cxx:5605
 AliTwoParticlePIDCorr.cxx:5606
 AliTwoParticlePIDCorr.cxx:5607
 AliTwoParticlePIDCorr.cxx:5608
 AliTwoParticlePIDCorr.cxx:5609
 AliTwoParticlePIDCorr.cxx:5610
 AliTwoParticlePIDCorr.cxx:5611
 AliTwoParticlePIDCorr.cxx:5612
 AliTwoParticlePIDCorr.cxx:5613
 AliTwoParticlePIDCorr.cxx:5614
 AliTwoParticlePIDCorr.cxx:5615
 AliTwoParticlePIDCorr.cxx:5616
 AliTwoParticlePIDCorr.cxx:5617
 AliTwoParticlePIDCorr.cxx:5618
 AliTwoParticlePIDCorr.cxx:5619
 AliTwoParticlePIDCorr.cxx:5620
 AliTwoParticlePIDCorr.cxx:5621
 AliTwoParticlePIDCorr.cxx:5622
 AliTwoParticlePIDCorr.cxx:5623
 AliTwoParticlePIDCorr.cxx:5624
 AliTwoParticlePIDCorr.cxx:5625
 AliTwoParticlePIDCorr.cxx:5626
 AliTwoParticlePIDCorr.cxx:5627
 AliTwoParticlePIDCorr.cxx:5628
 AliTwoParticlePIDCorr.cxx:5629
 AliTwoParticlePIDCorr.cxx:5630
 AliTwoParticlePIDCorr.cxx:5631
 AliTwoParticlePIDCorr.cxx:5632
 AliTwoParticlePIDCorr.cxx:5633
 AliTwoParticlePIDCorr.cxx:5634
 AliTwoParticlePIDCorr.cxx:5635
 AliTwoParticlePIDCorr.cxx:5636
 AliTwoParticlePIDCorr.cxx:5637
 AliTwoParticlePIDCorr.cxx:5638
 AliTwoParticlePIDCorr.cxx:5639
 AliTwoParticlePIDCorr.cxx:5640
 AliTwoParticlePIDCorr.cxx:5641
 AliTwoParticlePIDCorr.cxx:5642
 AliTwoParticlePIDCorr.cxx:5643
 AliTwoParticlePIDCorr.cxx:5644
 AliTwoParticlePIDCorr.cxx:5645
 AliTwoParticlePIDCorr.cxx:5646
 AliTwoParticlePIDCorr.cxx:5647
 AliTwoParticlePIDCorr.cxx:5648
 AliTwoParticlePIDCorr.cxx:5649
 AliTwoParticlePIDCorr.cxx:5650
 AliTwoParticlePIDCorr.cxx:5651
 AliTwoParticlePIDCorr.cxx:5652
 AliTwoParticlePIDCorr.cxx:5653
 AliTwoParticlePIDCorr.cxx:5654
 AliTwoParticlePIDCorr.cxx:5655
 AliTwoParticlePIDCorr.cxx:5656
 AliTwoParticlePIDCorr.cxx:5657
 AliTwoParticlePIDCorr.cxx:5658
 AliTwoParticlePIDCorr.cxx:5659
 AliTwoParticlePIDCorr.cxx:5660
 AliTwoParticlePIDCorr.cxx:5661
 AliTwoParticlePIDCorr.cxx:5662
 AliTwoParticlePIDCorr.cxx:5663
 AliTwoParticlePIDCorr.cxx:5664
 AliTwoParticlePIDCorr.cxx:5665
 AliTwoParticlePIDCorr.cxx:5666
 AliTwoParticlePIDCorr.cxx:5667
 AliTwoParticlePIDCorr.cxx:5668
 AliTwoParticlePIDCorr.cxx:5669
 AliTwoParticlePIDCorr.cxx:5670
 AliTwoParticlePIDCorr.cxx:5671
 AliTwoParticlePIDCorr.cxx:5672
 AliTwoParticlePIDCorr.cxx:5673
 AliTwoParticlePIDCorr.cxx:5674
 AliTwoParticlePIDCorr.cxx:5675
 AliTwoParticlePIDCorr.cxx:5676
 AliTwoParticlePIDCorr.cxx:5677
 AliTwoParticlePIDCorr.cxx:5678
 AliTwoParticlePIDCorr.cxx:5679
 AliTwoParticlePIDCorr.cxx:5680
 AliTwoParticlePIDCorr.cxx:5681
 AliTwoParticlePIDCorr.cxx:5682
 AliTwoParticlePIDCorr.cxx:5683
 AliTwoParticlePIDCorr.cxx:5684
 AliTwoParticlePIDCorr.cxx:5685
 AliTwoParticlePIDCorr.cxx:5686
 AliTwoParticlePIDCorr.cxx:5687
 AliTwoParticlePIDCorr.cxx:5688
 AliTwoParticlePIDCorr.cxx:5689
 AliTwoParticlePIDCorr.cxx:5690
 AliTwoParticlePIDCorr.cxx:5691
 AliTwoParticlePIDCorr.cxx:5692
 AliTwoParticlePIDCorr.cxx:5693
 AliTwoParticlePIDCorr.cxx:5694
 AliTwoParticlePIDCorr.cxx:5695
 AliTwoParticlePIDCorr.cxx:5696
 AliTwoParticlePIDCorr.cxx:5697
 AliTwoParticlePIDCorr.cxx:5698
 AliTwoParticlePIDCorr.cxx:5699
 AliTwoParticlePIDCorr.cxx:5700
 AliTwoParticlePIDCorr.cxx:5701
 AliTwoParticlePIDCorr.cxx:5702
 AliTwoParticlePIDCorr.cxx:5703
 AliTwoParticlePIDCorr.cxx:5704
 AliTwoParticlePIDCorr.cxx:5705
 AliTwoParticlePIDCorr.cxx:5706
 AliTwoParticlePIDCorr.cxx:5707
 AliTwoParticlePIDCorr.cxx:5708
 AliTwoParticlePIDCorr.cxx:5709
 AliTwoParticlePIDCorr.cxx:5710
 AliTwoParticlePIDCorr.cxx:5711
 AliTwoParticlePIDCorr.cxx:5712
 AliTwoParticlePIDCorr.cxx:5713
 AliTwoParticlePIDCorr.cxx:5714
 AliTwoParticlePIDCorr.cxx:5715
 AliTwoParticlePIDCorr.cxx:5716
 AliTwoParticlePIDCorr.cxx:5717
 AliTwoParticlePIDCorr.cxx:5718
 AliTwoParticlePIDCorr.cxx:5719
 AliTwoParticlePIDCorr.cxx:5720
 AliTwoParticlePIDCorr.cxx:5721
 AliTwoParticlePIDCorr.cxx:5722
 AliTwoParticlePIDCorr.cxx:5723
 AliTwoParticlePIDCorr.cxx:5724
 AliTwoParticlePIDCorr.cxx:5725
 AliTwoParticlePIDCorr.cxx:5726
 AliTwoParticlePIDCorr.cxx:5727
 AliTwoParticlePIDCorr.cxx:5728
 AliTwoParticlePIDCorr.cxx:5729
 AliTwoParticlePIDCorr.cxx:5730
 AliTwoParticlePIDCorr.cxx:5731
 AliTwoParticlePIDCorr.cxx:5732
 AliTwoParticlePIDCorr.cxx:5733
 AliTwoParticlePIDCorr.cxx:5734
 AliTwoParticlePIDCorr.cxx:5735
 AliTwoParticlePIDCorr.cxx:5736
 AliTwoParticlePIDCorr.cxx:5737
 AliTwoParticlePIDCorr.cxx:5738
 AliTwoParticlePIDCorr.cxx:5739
 AliTwoParticlePIDCorr.cxx:5740
 AliTwoParticlePIDCorr.cxx:5741
 AliTwoParticlePIDCorr.cxx:5742
 AliTwoParticlePIDCorr.cxx:5743
 AliTwoParticlePIDCorr.cxx:5744
 AliTwoParticlePIDCorr.cxx:5745
 AliTwoParticlePIDCorr.cxx:5746
 AliTwoParticlePIDCorr.cxx:5747
 AliTwoParticlePIDCorr.cxx:5748
 AliTwoParticlePIDCorr.cxx:5749
 AliTwoParticlePIDCorr.cxx:5750
 AliTwoParticlePIDCorr.cxx:5751
 AliTwoParticlePIDCorr.cxx:5752
 AliTwoParticlePIDCorr.cxx:5753
 AliTwoParticlePIDCorr.cxx:5754
 AliTwoParticlePIDCorr.cxx:5755
 AliTwoParticlePIDCorr.cxx:5756
 AliTwoParticlePIDCorr.cxx:5757
 AliTwoParticlePIDCorr.cxx:5758
 AliTwoParticlePIDCorr.cxx:5759
 AliTwoParticlePIDCorr.cxx:5760
 AliTwoParticlePIDCorr.cxx:5761
 AliTwoParticlePIDCorr.cxx:5762
 AliTwoParticlePIDCorr.cxx:5763
 AliTwoParticlePIDCorr.cxx:5764
 AliTwoParticlePIDCorr.cxx:5765
 AliTwoParticlePIDCorr.cxx:5766
 AliTwoParticlePIDCorr.cxx:5767
 AliTwoParticlePIDCorr.cxx:5768
 AliTwoParticlePIDCorr.cxx:5769
 AliTwoParticlePIDCorr.cxx:5770
 AliTwoParticlePIDCorr.cxx:5771
 AliTwoParticlePIDCorr.cxx:5772
 AliTwoParticlePIDCorr.cxx:5773
 AliTwoParticlePIDCorr.cxx:5774
 AliTwoParticlePIDCorr.cxx:5775
 AliTwoParticlePIDCorr.cxx:5776
 AliTwoParticlePIDCorr.cxx:5777
 AliTwoParticlePIDCorr.cxx:5778
 AliTwoParticlePIDCorr.cxx:5779
 AliTwoParticlePIDCorr.cxx:5780
 AliTwoParticlePIDCorr.cxx:5781
 AliTwoParticlePIDCorr.cxx:5782
 AliTwoParticlePIDCorr.cxx:5783
 AliTwoParticlePIDCorr.cxx:5784
 AliTwoParticlePIDCorr.cxx:5785
 AliTwoParticlePIDCorr.cxx:5786
 AliTwoParticlePIDCorr.cxx:5787
 AliTwoParticlePIDCorr.cxx:5788
 AliTwoParticlePIDCorr.cxx:5789
 AliTwoParticlePIDCorr.cxx:5790
 AliTwoParticlePIDCorr.cxx:5791
 AliTwoParticlePIDCorr.cxx:5792
 AliTwoParticlePIDCorr.cxx:5793
 AliTwoParticlePIDCorr.cxx:5794
 AliTwoParticlePIDCorr.cxx:5795
 AliTwoParticlePIDCorr.cxx:5796
 AliTwoParticlePIDCorr.cxx:5797
 AliTwoParticlePIDCorr.cxx:5798
 AliTwoParticlePIDCorr.cxx:5799
 AliTwoParticlePIDCorr.cxx:5800
 AliTwoParticlePIDCorr.cxx:5801
 AliTwoParticlePIDCorr.cxx:5802
 AliTwoParticlePIDCorr.cxx:5803
 AliTwoParticlePIDCorr.cxx:5804
 AliTwoParticlePIDCorr.cxx:5805
 AliTwoParticlePIDCorr.cxx:5806
 AliTwoParticlePIDCorr.cxx:5807
 AliTwoParticlePIDCorr.cxx:5808
 AliTwoParticlePIDCorr.cxx:5809
 AliTwoParticlePIDCorr.cxx:5810
 AliTwoParticlePIDCorr.cxx:5811
 AliTwoParticlePIDCorr.cxx:5812
 AliTwoParticlePIDCorr.cxx:5813
 AliTwoParticlePIDCorr.cxx:5814
 AliTwoParticlePIDCorr.cxx:5815
 AliTwoParticlePIDCorr.cxx:5816
 AliTwoParticlePIDCorr.cxx:5817
 AliTwoParticlePIDCorr.cxx:5818
 AliTwoParticlePIDCorr.cxx:5819
 AliTwoParticlePIDCorr.cxx:5820
 AliTwoParticlePIDCorr.cxx:5821
 AliTwoParticlePIDCorr.cxx:5822
 AliTwoParticlePIDCorr.cxx:5823
 AliTwoParticlePIDCorr.cxx:5824
 AliTwoParticlePIDCorr.cxx:5825
 AliTwoParticlePIDCorr.cxx:5826
 AliTwoParticlePIDCorr.cxx:5827
 AliTwoParticlePIDCorr.cxx:5828
 AliTwoParticlePIDCorr.cxx:5829
 AliTwoParticlePIDCorr.cxx:5830
 AliTwoParticlePIDCorr.cxx:5831
 AliTwoParticlePIDCorr.cxx:5832
 AliTwoParticlePIDCorr.cxx:5833
 AliTwoParticlePIDCorr.cxx:5834
 AliTwoParticlePIDCorr.cxx:5835
 AliTwoParticlePIDCorr.cxx:5836
 AliTwoParticlePIDCorr.cxx:5837
 AliTwoParticlePIDCorr.cxx:5838
 AliTwoParticlePIDCorr.cxx:5839
 AliTwoParticlePIDCorr.cxx:5840
 AliTwoParticlePIDCorr.cxx:5841
 AliTwoParticlePIDCorr.cxx:5842
 AliTwoParticlePIDCorr.cxx:5843
 AliTwoParticlePIDCorr.cxx:5844
 AliTwoParticlePIDCorr.cxx:5845
 AliTwoParticlePIDCorr.cxx:5846
 AliTwoParticlePIDCorr.cxx:5847
 AliTwoParticlePIDCorr.cxx:5848
 AliTwoParticlePIDCorr.cxx:5849
 AliTwoParticlePIDCorr.cxx:5850
 AliTwoParticlePIDCorr.cxx:5851
 AliTwoParticlePIDCorr.cxx:5852
 AliTwoParticlePIDCorr.cxx:5853
 AliTwoParticlePIDCorr.cxx:5854
 AliTwoParticlePIDCorr.cxx:5855
 AliTwoParticlePIDCorr.cxx:5856
 AliTwoParticlePIDCorr.cxx:5857
 AliTwoParticlePIDCorr.cxx:5858
 AliTwoParticlePIDCorr.cxx:5859
 AliTwoParticlePIDCorr.cxx:5860
 AliTwoParticlePIDCorr.cxx:5861
 AliTwoParticlePIDCorr.cxx:5862
 AliTwoParticlePIDCorr.cxx:5863
 AliTwoParticlePIDCorr.cxx:5864
 AliTwoParticlePIDCorr.cxx:5865
 AliTwoParticlePIDCorr.cxx:5866
 AliTwoParticlePIDCorr.cxx:5867
 AliTwoParticlePIDCorr.cxx:5868
 AliTwoParticlePIDCorr.cxx:5869
 AliTwoParticlePIDCorr.cxx:5870
 AliTwoParticlePIDCorr.cxx:5871
 AliTwoParticlePIDCorr.cxx:5872
 AliTwoParticlePIDCorr.cxx:5873
 AliTwoParticlePIDCorr.cxx:5874
 AliTwoParticlePIDCorr.cxx:5875
 AliTwoParticlePIDCorr.cxx:5876
 AliTwoParticlePIDCorr.cxx:5877
 AliTwoParticlePIDCorr.cxx:5878
 AliTwoParticlePIDCorr.cxx:5879
 AliTwoParticlePIDCorr.cxx:5880
 AliTwoParticlePIDCorr.cxx:5881
 AliTwoParticlePIDCorr.cxx:5882
 AliTwoParticlePIDCorr.cxx:5883
 AliTwoParticlePIDCorr.cxx:5884
 AliTwoParticlePIDCorr.cxx:5885
 AliTwoParticlePIDCorr.cxx:5886
 AliTwoParticlePIDCorr.cxx:5887
 AliTwoParticlePIDCorr.cxx:5888
 AliTwoParticlePIDCorr.cxx:5889
 AliTwoParticlePIDCorr.cxx:5890
 AliTwoParticlePIDCorr.cxx:5891
 AliTwoParticlePIDCorr.cxx:5892
 AliTwoParticlePIDCorr.cxx:5893
 AliTwoParticlePIDCorr.cxx:5894
 AliTwoParticlePIDCorr.cxx:5895
 AliTwoParticlePIDCorr.cxx:5896
 AliTwoParticlePIDCorr.cxx:5897
 AliTwoParticlePIDCorr.cxx:5898
 AliTwoParticlePIDCorr.cxx:5899
 AliTwoParticlePIDCorr.cxx:5900
 AliTwoParticlePIDCorr.cxx:5901
 AliTwoParticlePIDCorr.cxx:5902
 AliTwoParticlePIDCorr.cxx:5903
 AliTwoParticlePIDCorr.cxx:5904
 AliTwoParticlePIDCorr.cxx:5905
 AliTwoParticlePIDCorr.cxx:5906
 AliTwoParticlePIDCorr.cxx:5907
 AliTwoParticlePIDCorr.cxx:5908
 AliTwoParticlePIDCorr.cxx:5909
 AliTwoParticlePIDCorr.cxx:5910
 AliTwoParticlePIDCorr.cxx:5911
 AliTwoParticlePIDCorr.cxx:5912
 AliTwoParticlePIDCorr.cxx:5913
 AliTwoParticlePIDCorr.cxx:5914
 AliTwoParticlePIDCorr.cxx:5915
 AliTwoParticlePIDCorr.cxx:5916
 AliTwoParticlePIDCorr.cxx:5917
 AliTwoParticlePIDCorr.cxx:5918
 AliTwoParticlePIDCorr.cxx:5919
 AliTwoParticlePIDCorr.cxx:5920
 AliTwoParticlePIDCorr.cxx:5921
 AliTwoParticlePIDCorr.cxx:5922
 AliTwoParticlePIDCorr.cxx:5923
 AliTwoParticlePIDCorr.cxx:5924
 AliTwoParticlePIDCorr.cxx:5925
 AliTwoParticlePIDCorr.cxx:5926
 AliTwoParticlePIDCorr.cxx:5927
 AliTwoParticlePIDCorr.cxx:5928
 AliTwoParticlePIDCorr.cxx:5929
 AliTwoParticlePIDCorr.cxx:5930
 AliTwoParticlePIDCorr.cxx:5931
 AliTwoParticlePIDCorr.cxx:5932
 AliTwoParticlePIDCorr.cxx:5933
 AliTwoParticlePIDCorr.cxx:5934
 AliTwoParticlePIDCorr.cxx:5935
 AliTwoParticlePIDCorr.cxx:5936
 AliTwoParticlePIDCorr.cxx:5937
 AliTwoParticlePIDCorr.cxx:5938
 AliTwoParticlePIDCorr.cxx:5939
 AliTwoParticlePIDCorr.cxx:5940
 AliTwoParticlePIDCorr.cxx:5941
 AliTwoParticlePIDCorr.cxx:5942
 AliTwoParticlePIDCorr.cxx:5943
 AliTwoParticlePIDCorr.cxx:5944
 AliTwoParticlePIDCorr.cxx:5945
 AliTwoParticlePIDCorr.cxx:5946
 AliTwoParticlePIDCorr.cxx:5947
 AliTwoParticlePIDCorr.cxx:5948
 AliTwoParticlePIDCorr.cxx:5949
 AliTwoParticlePIDCorr.cxx:5950
 AliTwoParticlePIDCorr.cxx:5951
 AliTwoParticlePIDCorr.cxx:5952
 AliTwoParticlePIDCorr.cxx:5953
 AliTwoParticlePIDCorr.cxx:5954
 AliTwoParticlePIDCorr.cxx:5955
 AliTwoParticlePIDCorr.cxx:5956
 AliTwoParticlePIDCorr.cxx:5957