ROOT logo
#include <iostream>
#include <math.h>
#include "TChain.h"
#include "TFile.h"
#include "TKey.h"
#include "TObject.h"
#include "TObjString.h"
#include "TList.h"
#include "TTree.h"
#include "TH1F.h"
#include "TH1D.h"
#include "TH2D.h"
#include "TH3D.h"
#include "TProfile.h"
#include "TProfile2D.h"
#include "TCanvas.h"
#include "TRandom3.h"
#include "TF1.h"

#include "AliAnalysisTask.h"
#include "AliAnalysisManager.h"


#include "AliESDEvent.h"
#include "AliESDInputHandler.h"
#include "AliESDtrackCuts.h"

#include "AliAODEvent.h"
#include "AliAODInputHandler.h"
#include "AliAODMCParticle.h"
#include "AliAODTracklets.h"
#include "AliAnalysisUtils.h"

#include "AliThreePionRadii.h"

#define PI 3.1415927
#define G_Coeff 0.006399 // 2*pi*alpha*M_pion
#define kappa3 0.2 // kappa3 Edgeworth coefficient (non-Gaussian features of C2)
#define kappa4 0.45 // kappa4 Edgeworth coefficient (non-Gaussian features of C2)


// Author: Dhevan Gangadharan

ClassImp(AliThreePionRadii)

//________________________________________________________________________
AliThreePionRadii::AliThreePionRadii():
AliAnalysisTaskSE(),
  fname(0),
  fAOD(0x0), 
  fOutputList(0x0),
  fPIDResponse(0x0),
  fEC(0x0),
  fEvt(0x0),
  fTempStruct(0x0),
  fRandomNumber(0x0),
  fLEGO(kTRUE),
  fMCcase(kFALSE),
  fAODcase(kTRUE),
  fPbPbcase(kTRUE),
  fGenerateSignal(kFALSE),
  fGeneratorOnly(kFALSE),
  fPdensityPairCut(kTRUE),
  fRMax(11),
  fFilterBit(7),
  fMaxChi2NDF(10),
  fMinTPCncls(0),
  fBfield(0),
  fMbin(0),
  fFSIindex(0),
  fEDbin(0),
  fMbins(fCentBins),
  fMultLimit(0),
  fKt3bins(1),
  fV0Mbinning(kFALSE),
  fCentBinLowLimit(0),
  fCentBinHighLimit(1),
  fTriggerType(0),
  fEventCounter(0),
  fEventsToMix(0),
  fZvertexBins(0),
  fMultLimits(),
  fQcut(),
  fQLowerCut(0),
  fQlimitC2(2.0),
  fQbinsC2(400),
  fNormQcutLow(),
  fNormQcutHigh(),
  fKupperBound(0),
  fQupperBound(0),
  fQbins(0),
  fDampStart(0),
  fDampStep(0),
  fTPCTOFboundry(0),
  fTOFboundry(0),
  fSigmaCutTPC(2.0),
  fSigmaCutTOF(2.0),
  fMinSepPairEta(0.03),
  fMinSepPairPhi(0.04),
  fShareQuality(0),
  fShareFraction(0),
  fTrueMassP(0), 
  fTrueMassPi(0), 
  fTrueMassK(0), 
  fTrueMassKs(0), 
  fTrueMassLam(0),
  fDummyB(0),
  fDefaultsCharMult(),
  fDefaultsCharSE(),
  fDefaultsCharME(),
  fDefaultsInt(),
  fPairLocationSE(),
  fPairLocationME(),
  fTripletSkip1(),
  fTripletSkip2(),
  fOtherPairLocation1(),
  fOtherPairLocation2(),
  fNormPairSwitch(),
  fPairSplitCut(),
  fNormPairs()
{
  // Default constructor
  for(Int_t mb=0; mb<fMbins; mb++){
    for(Int_t edB=0; edB<fEDbins; edB++){
      for(Int_t c1=0; c1<2; c1++){
	for(Int_t c2=0; c2<2; c2++){
	  for(Int_t sc=0; sc<kSCLimit2; sc++){
	    for(Int_t term=0; term<2; term++){
	      
	      Charge1[c1].Charge2[c2].SC[sc].MB[mb].EDB[edB].TwoPT[term].fExplicit2 = 0x0;
	      Charge1[c1].Charge2[c2].SC[sc].MB[mb].EDB[edB].TwoPT[term].fExplicit2QW = 0x0;
	      Charge1[c1].Charge2[c2].SC[sc].MB[mb].EDB[edB].TwoPT[term].fAvgP = 0x0;
	      Charge1[c1].Charge2[c2].SC[sc].MB[mb].EDB[edB].TwoPT[term].fIdeal = 0x0;
	      Charge1[c1].Charge2[c2].SC[sc].MB[mb].EDB[edB].TwoPT[term].fSmeared = 0x0;
	      //
	      Charge1[c1].Charge2[c2].SC[sc].MB[mb].EDB[edB].TwoPT[term].fMCqinv = 0x0;
	      Charge1[c1].Charge2[c2].SC[sc].MB[mb].EDB[edB].TwoPT[term].fMCqinvQW = 0x0;
	      Charge1[c1].Charge2[c2].SC[sc].MB[mb].EDB[edB].TwoPT[term].fPIDpurityDen = 0x0;
	      Charge1[c1].Charge2[c2].SC[sc].MB[mb].EDB[edB].TwoPT[term].fPIDpurityNum = 0x0;
	      
	    }// term_2
	  }// SC_2
	  
	  for(Int_t c3=0; c3<2; c3++){
	    for(Int_t sc=0; sc<kSCLimit3; sc++){
	      for(Int_t term=0; term<5; term++){
		
		Charge1[c1].Charge2[c2].Charge3[c3].SC[sc].MB[mb].EDB[edB].ThreePT[term].fNorm3 = 0x0;
		Charge1[c1].Charge2[c2].Charge3[c3].SC[sc].MB[mb].EDB[edB].ThreePT[term].fTerms3 = 0x0;
		Charge1[c1].Charge2[c2].Charge3[c3].SC[sc].MB[mb].EDB[edB].ThreePT[term].fTermsQ3 = 0x0;
		Charge1[c1].Charge2[c2].Charge3[c3].SC[sc].MB[mb].EDB[edB].ThreePT[term].fIdeal = 0x0;
		Charge1[c1].Charge2[c2].Charge3[c3].SC[sc].MB[mb].EDB[edB].ThreePT[term].fSmeared = 0x0;

	      }// term_3
	    }// SC_3
	  }//c3
	}//c2
      }//c1
      
    }// ED
  }// Mbin
  
  // Initialize 3-pion FSI histograms
  for(Int_t i=0; i<10; i++){
    fFSI2SS[i]=0x0; 
    fFSI2OS[i]=0x0;
  }

}
//________________________________________________________________________
AliThreePionRadii::AliThreePionRadii(const Char_t *name) 
: AliAnalysisTaskSE(name), 
  fname(name),
  fAOD(0x0), 
  fOutputList(0x0),
  fPIDResponse(0x0),
  fEC(0x0),
  fEvt(0x0),
  fTempStruct(0x0),
  fRandomNumber(0x0),
  fLEGO(kTRUE),
  fMCcase(kFALSE),
  fAODcase(kTRUE),
  fPbPbcase(kTRUE),
  fGenerateSignal(kFALSE),
  fGeneratorOnly(kFALSE),
  fPdensityPairCut(kTRUE),
  fRMax(11),
  fFilterBit(7),
  fMaxChi2NDF(10),
  fMinTPCncls(0),
  fBfield(0),
  fMbin(0),
  fFSIindex(0),
  fEDbin(0),
  fMbins(fCentBins),
  fMultLimit(0),
  fKt3bins(1),
  fV0Mbinning(kFALSE),
  fCentBinLowLimit(0),
  fCentBinHighLimit(1),
  fTriggerType(0),
  fEventCounter(0),
  fEventsToMix(0),
  fZvertexBins(0),
  fMultLimits(),
  fQcut(),
  fQLowerCut(0),
  fQlimitC2(2.0),
  fQbinsC2(400),
  fNormQcutLow(),
  fNormQcutHigh(),
  fKupperBound(0),
  fQupperBound(0),
  fQbins(0),
  fDampStart(0),
  fDampStep(0),
  fTPCTOFboundry(0),
  fTOFboundry(0),
  fSigmaCutTPC(2.0),
  fSigmaCutTOF(2.0),
  fMinSepPairEta(0.03),
  fMinSepPairPhi(0.04),
  fShareQuality(0),
  fShareFraction(0),
  fTrueMassP(0), 
  fTrueMassPi(0), 
  fTrueMassK(0), 
  fTrueMassKs(0), 
  fTrueMassLam(0),
  fDummyB(0),
  fDefaultsCharMult(),
  fDefaultsCharSE(),
  fDefaultsCharME(),
  fDefaultsInt(),
  fPairLocationSE(),
  fPairLocationME(),
  fTripletSkip1(),
  fTripletSkip2(),
  fOtherPairLocation1(),
  fOtherPairLocation2(),
  fNormPairSwitch(),
  fPairSplitCut(),
  fNormPairs()
{
  // Main constructor
  fAODcase=kTRUE;
  fPdensityPairCut = kTRUE;
  

  for(Int_t mb=0; mb<fMbins; mb++){
    for(Int_t edB=0; edB<fEDbins; edB++){
      for(Int_t c1=0; c1<2; c1++){
	for(Int_t c2=0; c2<2; c2++){
	  for(Int_t sc=0; sc<kSCLimit2; sc++){
	    for(Int_t term=0; term<2; term++){
	      
	      Charge1[c1].Charge2[c2].SC[sc].MB[mb].EDB[edB].TwoPT[term].fExplicit2 = 0x0;
	      Charge1[c1].Charge2[c2].SC[sc].MB[mb].EDB[edB].TwoPT[term].fExplicit2QW = 0x0;
	      Charge1[c1].Charge2[c2].SC[sc].MB[mb].EDB[edB].TwoPT[term].fAvgP = 0x0;
	      Charge1[c1].Charge2[c2].SC[sc].MB[mb].EDB[edB].TwoPT[term].fIdeal = 0x0;
	      Charge1[c1].Charge2[c2].SC[sc].MB[mb].EDB[edB].TwoPT[term].fSmeared = 0x0;
	      //
	      Charge1[c1].Charge2[c2].SC[sc].MB[mb].EDB[edB].TwoPT[term].fMCqinv = 0x0;
	      Charge1[c1].Charge2[c2].SC[sc].MB[mb].EDB[edB].TwoPT[term].fMCqinvQW = 0x0;
	      Charge1[c1].Charge2[c2].SC[sc].MB[mb].EDB[edB].TwoPT[term].fPIDpurityDen = 0x0;
	      Charge1[c1].Charge2[c2].SC[sc].MB[mb].EDB[edB].TwoPT[term].fPIDpurityNum = 0x0;
	    }// term_2
	  }// SC_2
	  
	  for(Int_t c3=0; c3<2; c3++){
	    for(Int_t sc=0; sc<kSCLimit3; sc++){
	      for(Int_t term=0; term<5; term++){
		
		Charge1[c1].Charge2[c2].Charge3[c3].SC[sc].MB[mb].EDB[edB].ThreePT[term].fNorm3 = 0x0;
		Charge1[c1].Charge2[c2].Charge3[c3].SC[sc].MB[mb].EDB[edB].ThreePT[term].fTerms3 = 0x0;
		Charge1[c1].Charge2[c2].Charge3[c3].SC[sc].MB[mb].EDB[edB].ThreePT[term].fTermsQ3 = 0x0;
		Charge1[c1].Charge2[c2].Charge3[c3].SC[sc].MB[mb].EDB[edB].ThreePT[term].fIdeal = 0x0;
		Charge1[c1].Charge2[c2].Charge3[c3].SC[sc].MB[mb].EDB[edB].ThreePT[term].fSmeared = 0x0;
	      }// term_3
	    }// SC_3
	  }//c3
	}//c2
      }//c1
            
    }// ED
  }// Mbin
  
  // Initialize 3-pion FSI histograms
  for(Int_t i=0; i<10; i++){
    fFSI2SS[i]=0x0; 
    fFSI2OS[i]=0x0;
  }


  DefineOutput(1, TList::Class());
}
//________________________________________________________________________
AliThreePionRadii::AliThreePionRadii(const AliThreePionRadii &obj) 
  : AliAnalysisTaskSE(obj.fname),
    fname(obj.fname),
    fAOD(obj.fAOD), 
    //fESD(obj.fESD), 
    fOutputList(obj.fOutputList),
    fPIDResponse(obj.fPIDResponse),
    fEC(obj.fEC),
    fEvt(obj.fEvt),
    fTempStruct(obj.fTempStruct),
    fRandomNumber(obj.fRandomNumber),
    fLEGO(obj.fLEGO),
    fMCcase(obj.fMCcase),
    fAODcase(obj.fAODcase),
    fPbPbcase(obj.fPbPbcase),
    fGenerateSignal(obj.fGenerateSignal),
    fGeneratorOnly(obj.fGeneratorOnly),
    fPdensityPairCut(obj.fPdensityPairCut),
    fRMax(obj.fRMax),
    fFilterBit(obj.fFilterBit),
    fMaxChi2NDF(obj.fMaxChi2NDF),
    fMinTPCncls(obj.fMinTPCncls),
    fBfield(obj.fBfield),
    fMbin(obj.fMbin),
    fFSIindex(obj.fFSIindex),
    fEDbin(obj.fEDbin),
    fMbins(obj.fMbins),
    fMultLimit(obj.fMultLimit),
    fKt3bins(obj.fKt3bins),
    fV0Mbinning(obj.fV0Mbinning),
    fCentBinLowLimit(obj.fCentBinLowLimit),
    fCentBinHighLimit(obj.fCentBinHighLimit),
    fTriggerType(obj.fTriggerType),
    fEventCounter(obj.fEventCounter),
    fEventsToMix(obj.fEventsToMix),
    fZvertexBins(obj.fZvertexBins),
    fMultLimits(),
    fQcut(),
    fQLowerCut(obj.fQLowerCut),
    fQlimitC2(obj.fQlimitC2),
    fQbinsC2(obj.fQbinsC2),
    fNormQcutLow(),
    fNormQcutHigh(),
    fKupperBound(obj.fKupperBound),
    fQupperBound(obj.fQupperBound),
    fQbins(obj.fQbins),
    fDampStart(obj.fDampStart),
    fDampStep(obj.fDampStep),
    fTPCTOFboundry(obj.fTPCTOFboundry),
    fTOFboundry(obj.fTOFboundry),
    fSigmaCutTPC(obj.fSigmaCutTPC),
    fSigmaCutTOF(obj.fSigmaCutTOF),
    fMinSepPairEta(obj.fMinSepPairEta),
    fMinSepPairPhi(obj.fMinSepPairPhi),
    fShareQuality(obj.fShareQuality),
    fShareFraction(obj.fShareFraction),
    fTrueMassP(obj.fTrueMassP), 
    fTrueMassPi(obj.fTrueMassPi), 
    fTrueMassK(obj.fTrueMassK), 
    fTrueMassKs(obj.fTrueMassKs), 
    fTrueMassLam(obj.fTrueMassLam),
    fDummyB(obj.fDummyB),
    fDefaultsCharMult(),
    fDefaultsCharSE(),
    fDefaultsCharME(),
    fDefaultsInt(),
    fPairLocationSE(),
    fPairLocationME(),
    fTripletSkip1(),
    fTripletSkip2(),
    fOtherPairLocation1(),
    fOtherPairLocation2(),
    fNormPairSwitch(),
    fPairSplitCut(),
    fNormPairs()
{
  // Copy Constructor
  
  for(Int_t i=0; i<10; i++){
    fFSI2SS[i]=obj.fFSI2SS[i]; 
    fFSI2OS[i]=obj.fFSI2OS[i];
  }

}
//________________________________________________________________________
AliThreePionRadii &AliThreePionRadii::operator=(const AliThreePionRadii &obj) 
{
  // Assignment operator  
  if (this == &obj)
    return *this;

  fname = obj.fname;
  fAOD = obj.fAOD; 
  fOutputList = obj.fOutputList;
  fPIDResponse = obj.fPIDResponse;
  fEC = obj.fEC;
  fEvt = obj.fEvt;
  fTempStruct = obj.fTempStruct;
  fRandomNumber = obj.fRandomNumber;
  fLEGO = obj.fLEGO;
  fMCcase = obj.fMCcase;
  fAODcase = obj.fAODcase;
  fPbPbcase = obj.fPbPbcase; 
  fGenerateSignal = obj.fGenerateSignal;
  fGeneratorOnly = obj.fGeneratorOnly;
  fPdensityPairCut = obj.fPdensityPairCut;
  fRMax = obj.fRMax;
  fFilterBit = obj.fFilterBit;
  fMaxChi2NDF = obj.fMaxChi2NDF;
  fMinTPCncls = obj.fMinTPCncls;
  fBfield = obj.fBfield;
  fMbin = obj.fMbin;
  fFSIindex = obj.fFSIindex;
  fEDbin = obj.fEDbin;
  fMbins = obj.fMbins;
  fMultLimit = obj.fMultLimit;
  fKt3bins = obj.fKt3bins;
  fV0Mbinning = obj.fV0Mbinning;
  fCentBinLowLimit = obj.fCentBinLowLimit;
  fCentBinHighLimit = obj.fCentBinHighLimit;
  fTriggerType = obj.fTriggerType;
  fEventCounter = obj.fEventCounter;
  fEventsToMix = obj.fEventsToMix;
  fZvertexBins = obj.fZvertexBins;
  fQLowerCut = obj.fQLowerCut;
  fQlimitC2 = obj.fQlimitC2;
  fQbinsC2 = obj.fQbinsC2;
  fKupperBound = obj.fKupperBound;
  fQupperBound = obj.fQupperBound;
  fQbins = obj.fQbins;
  fDampStart = obj.fDampStart;
  fDampStep = obj.fDampStep;
  fTPCTOFboundry = obj.fTPCTOFboundry;
  fTOFboundry = obj.fTOFboundry;
  fSigmaCutTPC = obj.fSigmaCutTPC;
  fSigmaCutTOF = obj.fSigmaCutTOF;
  fMinSepPairEta = obj.fMinSepPairEta;
  fMinSepPairPhi = obj.fMinSepPairPhi;
  fShareQuality = obj.fShareQuality;
  fShareFraction = obj.fShareFraction;
  fTrueMassP = obj.fTrueMassP; 
  fTrueMassPi = obj.fTrueMassPi; 
  fTrueMassK = obj.fTrueMassK; 
  fTrueMassKs = obj.fTrueMassKs; 
  fTrueMassLam = obj.fTrueMassLam;
  fDummyB = obj.fDummyB;
 
 
  for(Int_t i=0; i<10; i++){
    fFSI2SS[i]=obj.fFSI2SS[i]; 
    fFSI2OS[i]=obj.fFSI2OS[i];
  }
  
  return (*this);
}
//________________________________________________________________________
AliThreePionRadii::~AliThreePionRadii()
{
  // Destructor
  if(fAOD) delete fAOD; 
  //if(fESD) delete fESD; 
  if(fOutputList) delete fOutputList;
  if(fPIDResponse) delete fPIDResponse;
  if(fEC) delete fEC;
  if(fEvt) delete fEvt;
  if(fTempStruct) delete [] fTempStruct;
  if(fRandomNumber) delete fRandomNumber;
 
  for(Int_t i=0; i<fMultLimit; i++){
    if(fPairLocationSE[i]) delete [] fPairLocationSE[i];
    if(fPairLocationME[i]) delete [] fPairLocationME[i];
    for(Int_t j=0; j<2; j++){
      if(fOtherPairLocation1[j][i]) delete [] fOtherPairLocation1[j][i];
      if(fOtherPairLocation2[j][i]) delete [] fOtherPairLocation2[j][i];
    }
    for(Int_t j=0; j<3; j++) if(fNormPairSwitch[j][i]) delete [] fNormPairSwitch[j][i];
    for(Int_t j=0; j<4; j++) if(fPairSplitCut[j][i]) delete [] fPairSplitCut[j][i];
  }
  for(Int_t i=0; i<kPairLimit; i++) if(fTripletSkip1[i]) delete [] fTripletSkip1[i];
  for(Int_t i=0; i<2*kPairLimit; i++) if(fTripletSkip2[i]) delete [] fTripletSkip2[i];
  for(Int_t i=0; i<3; i++) if(fNormPairs[i]) delete [] fNormPairs[i];
  //
  for(Int_t mb=0; mb<fMbins; mb++){
    if(fPbPbcase && ((mb < fCentBinLowLimit) || (mb > fCentBinHighLimit))) continue;
    for(Int_t edB=0; edB<fEDbins; edB++){
      for(Int_t c1=0; c1<2; c1++){
	for(Int_t c2=0; c2<2; c2++){
	  for(Int_t sc=0; sc<kSCLimit2; sc++){
	    for(Int_t term=0; term<2; term++){
	      
	      if(Charge1[c1].Charge2[c2].SC[sc].MB[mb].EDB[edB].TwoPT[term].fExplicit2) delete Charge1[c1].Charge2[c2].SC[sc].MB[mb].EDB[edB].TwoPT[term].fExplicit2;
	      if(Charge1[c1].Charge2[c2].SC[sc].MB[mb].EDB[edB].TwoPT[term].fExplicit2QW) delete Charge1[c1].Charge2[c2].SC[sc].MB[mb].EDB[edB].TwoPT[term].fExplicit2QW;

	      if(Charge1[c1].Charge2[c2].SC[sc].MB[mb].EDB[edB].TwoPT[term].fIdeal) delete Charge1[c1].Charge2[c2].SC[sc].MB[mb].EDB[edB].TwoPT[term].fIdeal;
	      if(Charge1[c1].Charge2[c2].SC[sc].MB[mb].EDB[edB].TwoPT[term].fSmeared) delete Charge1[c1].Charge2[c2].SC[sc].MB[mb].EDB[edB].TwoPT[term].fSmeared;
	      //
	      if(Charge1[c1].Charge2[c2].SC[sc].MB[mb].EDB[edB].TwoPT[term].fMCqinv) delete Charge1[c1].Charge2[c2].SC[sc].MB[mb].EDB[edB].TwoPT[term].fMCqinv;
	      if(Charge1[c1].Charge2[c2].SC[sc].MB[mb].EDB[edB].TwoPT[term].fMCqinvQW) delete Charge1[c1].Charge2[c2].SC[sc].MB[mb].EDB[edB].TwoPT[term].fMCqinvQW;
	    }// term_2
	  }// SC_2
	  
	  for(Int_t c3=0; c3<2; c3++){
	    for(Int_t sc=0; sc<kSCLimit3; sc++){
	      for(Int_t term=0; term<5; term++){
		
		if(Charge1[c1].Charge2[c2].Charge3[c3].SC[sc].MB[mb].EDB[edB].ThreePT[term].fNorm3) delete Charge1[c1].Charge2[c2].Charge3[c3].SC[sc].MB[mb].EDB[edB].ThreePT[term].fNorm3;
		if(Charge1[c1].Charge2[c2].Charge3[c3].SC[sc].MB[mb].EDB[edB].ThreePT[term].fTerms3) delete Charge1[c1].Charge2[c2].Charge3[c3].SC[sc].MB[mb].EDB[edB].ThreePT[term].fTerms3;
				
	      }// term_3
	    }// SC_3
	  }//c3
	}//c2
      }//c1
      
    }// ED
  }// Mbin
  
   
  for(Int_t i=0; i<10; i++){
    if(fFSI2SS[i]) delete fFSI2SS[i]; 
    if(fFSI2OS[i]) delete fFSI2OS[i];
  }
  
}
//________________________________________________________________________
void AliThreePionRadii::ParInit()
{
  cout<<"AliThreePionRadii MyInit() call"<<endl;
  cout<<"lego:"<<fLEGO<<"  MCcase:"<<fMCcase<<"  PbPbcase:"<<fPbPbcase<<"  GenSignal:"<<fGenerateSignal<<"  CentLow:"<<fCentBinLowLimit<<"  CentHigh:"<<fCentBinHighLimit<<"  RMax:"<<fRMax<<"  FB:"<<fFilterBit<<"  MaxChi2/NDF:"<<fMaxChi2NDF<<"  MinTPCncls:"<<fMinTPCncls<<"  MinPairSepEta:"<<fMinSepPairEta<<"  MinPairSepPhi:"<<fMinSepPairPhi<<"  NsigTPC:"<<fSigmaCutTPC<<"  NsigTOF:"<<fSigmaCutTOF<<endl;

  fRandomNumber = new TRandom3();
  fRandomNumber->SetSeed(0);
    
  //
  fEventCounter=0;
  if(fPdensityPairCut) fEventsToMix=2;
  else fEventsToMix=0;
  fZvertexBins=2;//2
  
  fTPCTOFboundry = 0.6;// TPC pid used below this momentum, TOF above but below TOF_boundry
  fTOFboundry = 2.1;// TOF pid used below this momentum
  
  ////////////////////////////////////////////////
  // PadRow Pair Cuts
  fShareQuality = .5;// max
  fShareFraction = .05;// max
  ////////////////////////////////////////////////
  
  
  //fMultLimits[0]=0, fMultLimits[1]=5, fMultLimits[2]=10, fMultLimits[3]=15, fMultLimits[4]=20, fMultLimits[5]=25;
  //fMultLimits[6]=30, fMultLimits[7]=35, fMultLimits[8]=40, fMultLimits[9]=45, fMultLimits[10]=kMultLimitPP;
  
  fMultLimits[0]=0, fMultLimits[1]=5; fMultLimits[2]=10; fMultLimits[3]=15; fMultLimits[4]=20;
  fMultLimits[5]=30, fMultLimits[6]=40; fMultLimits[7]=50; fMultLimits[8]=70; fMultLimits[9]=100;
  fMultLimits[10]=150, fMultLimits[11]=200; fMultLimits[12]=260; fMultLimits[13]=320; fMultLimits[14]=400;
  fMultLimits[15]=500, fMultLimits[16]=600; fMultLimits[17]=700; fMultLimits[18]=850; fMultLimits[19]=1050;
  fMultLimits[20]=2000;
  
  
  if(fPbPbcase && fCentBinLowLimit < 6) {// PbPb 0-30%, was 0-50%
    fMultLimit=kMultLimitPbPb; 
    fMbins=fCentBins; 
    fQcut[0]=0.1;//pi-pi, pi-k, pi-p
    fQcut[1]=0.1;//k-k
    fQcut[2]=0.6;//the rest
    fNormQcutLow[0] = 0.15;// was 0.15
    fNormQcutHigh[0] = 0.175;// was 0.175
    fNormQcutLow[1] = 1.34;//1.34
    fNormQcutHigh[1] = 1.4;//1.4
    fNormQcutLow[2] = 1.1;//1.1
    fNormQcutHigh[2] = 1.4;//1.4
    //
    fQlimitC2 = 2.0;
    fQbinsC2 = 400;
    fQupperBound = fQcut[0];
    fQbins = kQbins;
    //
    fDampStart = 0.5;
    fDampStep = 0.02;
  }else if(fPbPbcase && fCentBinLowLimit >= 6) {// PbPb 30-100%, was 50-100%
    fMultLimit=kMultLimitPbPb;
    fMbins=fCentBins;
    fQcut[0]=0.2;//pi-pi, pi-k, pi-p
    fQcut[1]=0.2;//k-k
    fQcut[2]=1.2;//the rest
    fNormQcutLow[0] = 0.3;// was 0.3
    fNormQcutHigh[0] = 0.35;// was 0.35
    fNormQcutLow[1] = 1.34;//1.34
    fNormQcutHigh[1] = 1.4;//1.4
    fNormQcutLow[2] = 1.1;//1.1
    fNormQcutHigh[2] = 1.4;//1.4
    //
    fQlimitC2 = 2.0;
    fQbinsC2 = 400;
    fQupperBound = fQcut[0];
    fQbins = 2*kQbins;
    //
    fDampStart = 0.5;
    fDampStep = 0.02;
  }else {// pp or pPb
    fMultLimit=kMultLimitPP;
    fMbins=fCentBins;
    fQcut[0]=2.0;// 0.4
    fQcut[1]=2.0;
    fQcut[2]=2.0;
    fNormQcutLow[0] = 1.0;// was 1.0
    fNormQcutHigh[0] = 1.2;// was 1.2
    fNormQcutLow[1] = 1.0;
    fNormQcutHigh[1] = 1.2;
    fNormQcutLow[2] = 1.0;
    fNormQcutHigh[2] = 1.2;
    //
    fQlimitC2 = 2.0;
    fQbinsC2 = 200;
    fQupperBound = 0.5;// was 0.4
    fQbins = kQbinsPP;
    //
    fDampStart = 0.5;
    fDampStep = 0.02;
  }

  fQLowerCut = 0.005;
  fKupperBound = 1.0;
  //
 
  
  fEC = new AliChaoticityEventCollection **[fZvertexBins];
  for(UShort_t i=0; i<fZvertexBins; i++){
    
    fEC[i] = new AliChaoticityEventCollection *[fMbins];

    for(UShort_t j=0; j<fMbins; j++){
      
      fEC[i][j] = new AliChaoticityEventCollection(fEventsToMix+1, fMultLimit, kPairLimit, kMCarrayLimit, fMCcase);
    }
  }
  
    
  for(Int_t i=0; i<fMultLimit; i++) fDefaultsCharMult[i]='0';
  for(Int_t i=0; i<kPairLimit; i++) fDefaultsCharSE[i]='0';
  for(Int_t i=0; i<2*kPairLimit; i++) fDefaultsCharME[i]='0';
  for(Int_t i=0; i<fMultLimit; i++) fDefaultsInt[i]=-1;
  for(Int_t i=0; i<fMultLimit; i++) fPairLocationSE[i] = new TArrayI(fMultLimit,fDefaultsInt);
  for(Int_t i=0; i<fMultLimit; i++) fPairLocationME[i] = new TArrayI(fMultLimit,fDefaultsInt);
  for(Int_t i=0; i<kPairLimit; i++) fTripletSkip1[i] = new TArrayC(fMultLimit,fDefaultsCharSE);
  for(Int_t i=0; i<2*kPairLimit; i++) fTripletSkip2[i] = new TArrayC(fMultLimit,fDefaultsCharME);
 

  // Normalization utilities
  for(Int_t i=0; i<fMultLimit; i++) fOtherPairLocation1[0][i] = new TArrayI(fMultLimit,fDefaultsInt);
  for(Int_t i=0; i<fMultLimit; i++) fOtherPairLocation1[1][i] = new TArrayI(fMultLimit,fDefaultsInt);
  for(Int_t i=0; i<fMultLimit; i++) fOtherPairLocation2[0][i] = new TArrayI(fMultLimit,fDefaultsInt);
  for(Int_t i=0; i<fMultLimit; i++) fOtherPairLocation2[1][i] = new TArrayI(fMultLimit,fDefaultsInt);
  for(Int_t i=0; i<fMultLimit; i++) fNormPairSwitch[0][i] = new TArrayC(fMultLimit,fDefaultsCharMult);
  for(Int_t i=0; i<fMultLimit; i++) fNormPairSwitch[1][i] = new TArrayC(fMultLimit,fDefaultsCharMult);
  for(Int_t i=0; i<fMultLimit; i++) fNormPairSwitch[2][i] = new TArrayC(fMultLimit,fDefaultsCharMult);
 
  // Track Merging/Splitting utilities
  for(Int_t i=0; i<fMultLimit; i++) fPairSplitCut[0][i] = new TArrayC(fMultLimit,fDefaultsCharMult);// P11
  for(Int_t i=0; i<fMultLimit; i++) fPairSplitCut[1][i] = new TArrayC(fMultLimit,fDefaultsCharMult);// P12
  for(Int_t i=0; i<fMultLimit; i++) fPairSplitCut[2][i] = new TArrayC(fMultLimit,fDefaultsCharMult);// P13
  for(Int_t i=0; i<fMultLimit; i++) fPairSplitCut[3][i] = new TArrayC(fMultLimit,fDefaultsCharMult);// P23

  
  fNormPairs[0] = new AliChaoticityNormPairStruct[kNormPairLimit];
  fNormPairs[1] = new AliChaoticityNormPairStruct[kNormPairLimit];
  

  fTempStruct = new AliChaoticityTrackStruct[fMultLimit];
   
   
  fTrueMassP=0.93827, fTrueMassPi=0.13957, fTrueMassK=0.493677, fTrueMassKs=0.497614, fTrueMassLam=1.11568;

  

  // Set weights, Coulomb corrections, and Momentum resolution corrections manually if not on LEGO
  if(!fLEGO) {
    SetFSICorrelations(fLEGO);// Read in 2-particle and 3-particle FSI correlations
  }
  
  /////////////////////////////////////////////
  /////////////////////////////////////////////
  
}
//________________________________________________________________________
void AliThreePionRadii::UserCreateOutputObjects()
{
  // Create histograms
  // Called once
  
  ParInit();// Initialize my settings


  fOutputList = new TList();
  fOutputList->SetOwner();
  
  TH3F *fVertexDist = new TH3F("fVertexDist","Vertex Distribution",20,-1,1, 20,-1,1, 600,-30,30);
  fVertexDist->GetXaxis()->SetTitle("X Vertex (cm)");
  fVertexDist->GetYaxis()->SetTitle("Y Vertex (cm)");
  fVertexDist->GetZaxis()->SetTitle("Z Vertex (cm)");
  fOutputList->Add(fVertexDist);
  
  
  TH2F *fDCAxyDistPlus = new TH2F("fDCAxyDistPlus","DCA distribution",300,0,3., 50,0,5);
  fOutputList->Add(fDCAxyDistPlus);
  TH2F *fDCAzDistPlus = new TH2F("fDCAzDistPlus","DCA distribution",300,0,3., 50,0,5);
  fOutputList->Add(fDCAzDistPlus);
  TH2F *fDCAxyDistMinus = new TH2F("fDCAxyDistMinus","DCA distribution",300,0,3., 50,0,5);
  fOutputList->Add(fDCAxyDistMinus);
  TH2F *fDCAzDistMinus = new TH2F("fDCAzDistMinus","DCA distribution",300,0,3., 50,0,5);
  fOutputList->Add(fDCAzDistMinus);
  
  
  TH1F *fEvents1 = new TH1F("fEvents1","Events vs. fMbin",fMbins,.5,fMbins+.5);
  fOutputList->Add(fEvents1);
  TH1F *fEvents2 = new TH1F("fEvents2","Events vs. fMbin",fMbins,.5,fMbins+.5);
  fOutputList->Add(fEvents2);
  
  TH1F *fMultDist0 = new TH1F("fMultDist0","Multiplicity Distribution",fMultLimit,-.5,fMultLimit-.5);
  fMultDist0->GetXaxis()->SetTitle("Multiplicity");
  fOutputList->Add(fMultDist0);

  TH1F *fMultDist1 = new TH1F("fMultDist1","Multiplicity Distribution",fMultLimit,-.5,fMultLimit-.5);
  fMultDist1->GetXaxis()->SetTitle("Multiplicity");
  fOutputList->Add(fMultDist1);
  
  TH1F *fMultDist2 = new TH1F("fMultDist2","Multiplicity Distribution",fMultLimit,-.5,fMultLimit-.5);
  fMultDist2->GetXaxis()->SetTitle("Multiplicity");
  fOutputList->Add(fMultDist2);
  
  TH1F *fMultDist3 = new TH1F("fMultDist3","Multiplicity Distribution",fMultLimit,-.5,fMultLimit-.5);
  fMultDist3->GetXaxis()->SetTitle("Multiplicity");
  fOutputList->Add(fMultDist3);
  
  TH1F *fMultDist4 = new TH1F("fMultDist4","Multiplicity Distribution",fMultLimit,-.5,fMultLimit-.5);
  fMultDist4->GetXaxis()->SetTitle("Multiplicity");
  fOutputList->Add(fMultDist4);
  
  TH3F *fPtEtaDist = new TH3F("fPtEtaDist","fPtEtaDist",2,-1.1,1.1, 300,0,3., 28,-1.4,1.4);
  fOutputList->Add(fPtEtaDist);

  TH3F *fPhiPtDist = new TH3F("fPhiPtDist","fPhiPtDist",2,-1.1,1.1, 120,0,2*PI, 300,0,3.);
  fOutputList->Add(fPhiPtDist);
  
  TH3F *fTOFResponse = new TH3F("fTOFResponse","TOF relative time",20,0,100, 200,0,2, 4000,-20000,20000);
  fOutputList->Add(fTOFResponse);
  TH3F *fTPCResponse = new TH3F("fTPCResponse","TPCsignal",20,0,100, 200,0,2, 1000,0,1000);
  fOutputList->Add(fTPCResponse);
 
  TH1F *fRejectedPairs = new TH1F("fRejectedPairs","",200,0,2);
  fOutputList->Add(fRejectedPairs);
  TH1I *fRejectedEvents = new TH1I("fRejectedEvents","",fMbins,0.5,fMbins+.5);
  fOutputList->Add(fRejectedEvents);
  
  TH3F *fPairsDetaDPhiNum = new TH3F("fPairsDetaDPhiNum","",10,-.5,9.5, 200,-0.2,0.2, 600,-0.3,0.3);
  if(fMCcase) fOutputList->Add(fPairsDetaDPhiNum);
  TH3F *fPairsDetaDPhiDen = new TH3F("fPairsDetaDPhiDen","",10,-.5,9.5, 200,-0.2,0.2, 600,-0.3,0.3);
  if(fMCcase) fOutputList->Add(fPairsDetaDPhiDen);
  TH3F *fPairsShareFracDPhiNum = new TH3F("fPairsShareFracDPhiNum","",10,-.5,9.5, 159,0,1, 600,-0.3,0.3);
  if(fMCcase) fOutputList->Add(fPairsShareFracDPhiNum);
  TH3F *fPairsShareFracDPhiDen = new TH3F("fPairsShareFracDPhiDen","",10,-.5,9.5, 159,0,1, 600,-0.3,0.3);
  if(fMCcase) fOutputList->Add(fPairsShareFracDPhiDen);
  TH3D* fPairsPadRowNum = new TH3D("fPairsPadRowNum","", 20,0,1, 159,0,1, 40,0,0.2);
  if(fMCcase) fOutputList->Add(fPairsPadRowNum);
  TH3D* fPairsPadRowDen = new TH3D("fPairsPadRowDen","", 20,0,1, 159,0,1, 40,0,0.2);
  if(fMCcase) fOutputList->Add(fPairsPadRowDen);


  
  TH3D *fPrimarySCPionPairs = new TH3D("fPrimarySCPionPairs","",fMbins,.5,fMbins+.5, 20,0,1, 20,0,0.2);
  if(fMCcase) fOutputList->Add(fPrimarySCPionPairs);
  TH3D *fAllSCPionPairs = new TH3D("fAllSCPionPairs","",fMbins,.5,fMbins+.5, 20,0,1, 20,0,0.2);
  if(fMCcase) fOutputList->Add(fAllSCPionPairs);
  TH3D *fPrimaryMCPionPairs = new TH3D("fPrimaryMCPionPairs","",fMbins,.5,fMbins+.5, 20,0,1, 20,0,0.2);
  if(fMCcase) fOutputList->Add(fPrimaryMCPionPairs);
  TH3D *fAllMCPionPairs = new TH3D("fAllMCPionPairs","",fMbins,.5,fMbins+.5, 20,0,1, 20,0,0.2);
  if(fMCcase) fOutputList->Add(fAllMCPionPairs);
  //
  TH3D *fMuonContamSmearedNum2 = new TH3D("fMuonContamSmearedNum2","",2,-0.5,1.5, 20,0,1, 100,0,0.5);
  if(fMCcase) fOutputList->Add(fMuonContamSmearedNum2);
  TH3D *fMuonContamSmearedDen2 = new TH3D("fMuonContamSmearedDen2","",2,-0.5,1.5, 20,0,1, 100,0,0.5);
  if(fMCcase) fOutputList->Add(fMuonContamSmearedDen2);
  TH3D *fMuonContamIdealNum2 = new TH3D("fMuonContamIdealNum2","",2,-0.5,1.5, 20,0,1, 100,0,0.5);
  if(fMCcase) fOutputList->Add(fMuonContamIdealNum2);
  TH3D *fMuonContamIdealDen2 = new TH3D("fMuonContamIdealDen2","",2,-0.5,1.5, 20,0,1, 100,0,0.5);
  if(fMCcase) fOutputList->Add(fMuonContamIdealDen2);
  //
  TH3D *fMuonContamSmearedNum3 = new TH3D("fMuonContamSmearedNum3","",2,-0.5,1.5, 2,-0.5,1.5, 50,0,0.5);
  if(fMCcase) fOutputList->Add(fMuonContamSmearedNum3);
  TH3D *fMuonContamSmearedDen3 = new TH3D("fMuonContamSmearedDen3","",2,-0.5,1.5, 2,-0.5,1.5, 50,0,0.5);
  if(fMCcase) fOutputList->Add(fMuonContamSmearedDen3);
  TH3D *fMuonContamIdealNum3 = new TH3D("fMuonContamIdealNum3","",2,-0.5,1.5, 2,-0.5,1.5, 50,0,0.5);
  if(fMCcase) fOutputList->Add(fMuonContamIdealNum3);
  TH3D *fMuonContamIdealDen3 = new TH3D("fMuonContamIdealDen3","",2,-0.5,1.5, 2,-0.5,1.5, 50,0,0.5);
  if(fMCcase) fOutputList->Add(fMuonContamIdealDen3);
  //
  TH1D *fMuonParents = new TH1D("fMuonParents","",500,0.5,500.5);
  if(fMCcase) fOutputList->Add(fMuonParents);
  TH1D *fSecondaryMuonParents = new TH1D("fSecondaryMuonParents","",500,0.5,500.5);
  if(fMCcase) fOutputList->Add(fSecondaryMuonParents);
  TH3D *fMuonPionDeltaQinv = new TH3D("fMuonPionDeltaQinv","",2,-0.5,1.5, 20,0,1, 100,-0.2,0.2);
  if(fMCcase) fOutputList->Add(fMuonPionDeltaQinv);
  TH1D *fPionCandidates = new TH1D("fPionCandidates","",500,0.5,500.5);
  if(fMCcase) fOutputList->Add(fPionCandidates);
  //  
  TH3D *fMuonPionK2 = new TH3D("fMuonPionK2","",2,-0.5,1.5, 20,0,1, 100,0,0.5);
  TH3D *fPionPionK2 = new TH3D("fPionPionK2","",2,-0.5,1.5, 20,0,1, 100,0,0.5);
  TH3D *fMuonPionK3 = new TH3D("fMuonPionK3","",2,-0.5,1.5, 2,-0.5,1.5, 50,0,0.5);
  TH3D *fPionPionK3 = new TH3D("fPionPionK3","",2,-0.5,1.5, 2,-0.5,1.5, 50,0,0.5);
  if(fMCcase) fOutputList->Add(fMuonPionK2);
  if(fMCcase) fOutputList->Add(fPionPionK2);
  if(fMCcase) fOutputList->Add(fMuonPionK3);
  if(fMCcase) fOutputList->Add(fPionPionK3);
  //
  TProfile *fAvgMult = new TProfile("fAvgMult","",fMbins,.5,fMbins+.5, 0,1500,"");
  fOutputList->Add(fAvgMult);
  TH2D *fAvgMultHisto2D = new TH2D("fAvgMultHisto2D","",fMbins,.5,fMbins+.5, 1000,0.5,2000.5);
  fOutputList->Add(fAvgMultHisto2D);
  TH2D *fAvgMultHisto2DV0C = new TH2D("fAvgMultHisto2DV0C","",fMbins,.5,fMbins+.5, 1000,0.5,2000.5);
  fOutputList->Add(fAvgMultHisto2DV0C);
  TH2D *fAvgMultHisto2DV0AplusC = new TH2D("fAvgMultHisto2DV0AplusC","",fMbins,.5,fMbins+.5, 1000,0.5,2000.5);
  fOutputList->Add(fAvgMultHisto2DV0AplusC);

  TH2D *fTrackChi2NDF = new TH2D("fTrackChi2NDF","",20,0,100, 100,0,10);
  fOutputList->Add(fTrackChi2NDF);
  TH2D *fTrackTPCncls = new TH2D("fTrackTPCncls","",20,0,100, 110,50,160);
  fOutputList->Add(fTrackTPCncls);



  TH3D *fKt3DistTerm1 = new TH3D("fKt3DistTerm1","",fMbins,.5,fMbins+.5, 20,0,1, 20,0,0.2);
  TH3D *fKt3DistTerm5 = new TH3D("fKt3DistTerm5","",fMbins,.5,fMbins+.5, 20,0,1, 20,0,0.2);
  fOutputList->Add(fKt3DistTerm1);
  fOutputList->Add(fKt3DistTerm5);

  TH1D *fMCWeight3DTerm1SC = new TH1D("fMCWeight3DTerm1SC","", 20,0,0.2);
  TH1D *fMCWeight3DTerm1SCden = new TH1D("fMCWeight3DTerm1SCden","", 20,0,0.2);
  TH1D *fMCWeight3DTerm2SC = new TH1D("fMCWeight3DTerm2SC","", 20,0,0.2);
  TH1D *fMCWeight3DTerm2SCden = new TH1D("fMCWeight3DTerm2SCden","", 20,0,0.2);
  TH1D *fMCWeight3DTerm1MC = new TH1D("fMCWeight3DTerm1MC","", 20,0,0.2);
  TH1D *fMCWeight3DTerm1MCden = new TH1D("fMCWeight3DTerm1MCden","", 20,0,0.2);
  TH1D *fMCWeight3DTerm2MC = new TH1D("fMCWeight3DTerm2MC","", 20,0,0.2);
  TH1D *fMCWeight3DTerm2MCden = new TH1D("fMCWeight3DTerm2MCden","", 20,0,0.2);
  TH1D *fMCWeight3DTerm3MC = new TH1D("fMCWeight3DTerm3MC","", 20,0,0.2);
  TH1D *fMCWeight3DTerm3MCden = new TH1D("fMCWeight3DTerm3MCden","", 20,0,0.2);
  TH1D *fMCWeight3DTerm4MC = new TH1D("fMCWeight3DTerm4MC","", 20,0,0.2);
  TH1D *fMCWeight3DTerm4MCden = new TH1D("fMCWeight3DTerm4MCden","", 20,0,0.2);
  fOutputList->Add(fMCWeight3DTerm1SC);
  fOutputList->Add(fMCWeight3DTerm1SCden);
  fOutputList->Add(fMCWeight3DTerm2SC);
  fOutputList->Add(fMCWeight3DTerm2SCden);
  fOutputList->Add(fMCWeight3DTerm1MC);
  fOutputList->Add(fMCWeight3DTerm1MCden);
  fOutputList->Add(fMCWeight3DTerm2MC);
  fOutputList->Add(fMCWeight3DTerm2MCden);
  fOutputList->Add(fMCWeight3DTerm3MC);
  fOutputList->Add(fMCWeight3DTerm3MCden);
  fOutputList->Add(fMCWeight3DTerm4MC);
  fOutputList->Add(fMCWeight3DTerm4MCden);

  TH2D *fdNchdEtaResponse = new TH2D("fdNchdEtaResponse","",15,0,15, 15,0,15);
  TH2D *fNpionTrueDist = new TH2D("fNpionTrueDist","",fMbins,.5,fMbins+.5, 3000,0.5,3000.5);
  TH2D *fNchTrueDist = new TH2D("fNchTrueDist","",fMbins,.5,fMbins+.5, 3000,0.5,3000.5);// default Nch mapping
  TH2D *fNchTrueDistCMS = new TH2D("fNchTrueDistCMS","",fMbins,.5,fMbins+.5, 3000,0.5,3000.5);// default Nch mapping
  TH2D *fNchTrueDistFullPt = new TH2D("fNchTrueDistFullPt","",fMbins,.5,fMbins+.5, 3000,0.5,3000.5);// full Pt Nch range mapping
  TH2D *fNchTrueDistPubMethod = new TH2D("fNchTrueDistPubMethod","",fMbins,.5,fMbins+.5, 3000,0.5,3000.5);// Published pp Nch mapping
  Float_t PubBins[9]={1.,12.,17.,23.,29.,35.,42.,52.,152.};
  TProfile *fAvgNchTrueDistvsPubMethodBin = new TProfile("fAvgNchTrueDistvsPubMethodBin","",8,PubBins,"");
  TProfile *fAvgRecRate = new TProfile("fAvgRecRate","",3000,0.5,3000.5, 0,3000, "");
  if(fMCcase) fOutputList->Add(fdNchdEtaResponse);
  if(fMCcase) fOutputList->Add(fNpionTrueDist);
  if(fMCcase) fOutputList->Add(fNchTrueDist);
  if(fMCcase) fOutputList->Add(fNchTrueDistCMS);
  if(fMCcase) fOutputList->Add(fNchTrueDistFullPt);
  if(fMCcase) fOutputList->Add(fNchTrueDistPubMethod);
  if(fMCcase) fOutputList->Add(fAvgRecRate);
  if(fMCcase) fOutputList->Add(fAvgNchTrueDistvsPubMethodBin);
  
  TH2D *fdCentVsNchdEta = new TH2D("fdCentVsNchdEta","",fMbins,.5,fMbins+.5, 15,0,15);
  if(fPbPbcase) fOutputList->Add(fdCentVsNchdEta);
  
  TH1D *fV0TotSignal = new TH1D("fV0TotSignal","",3000, 0,30000); 
  if(fV0Mbinning) fOutputList->Add(fV0TotSignal);
  
  TH2D *fMultBinVsCent = new TH2D("fMultBinVsCent","",fMbins,.5,fMbins+.5, 100,0,100);
  fOutputList->Add(fMultBinVsCent);

  TH1D *fExtendedQ3Histo_term1 = new TH1D("fExtendedQ3Histo_term1","",50,0,0.5);
  TH1D *fExtendedQ3Histo_term2 = new TH1D("fExtendedQ3Histo_term2","",50,0,0.5);
  TH1D *fExtendedQ3Histo_term5 = new TH1D("fExtendedQ3Histo_term5","",50,0,0.5);
  fOutputList->Add(fExtendedQ3Histo_term1);
  fOutputList->Add(fExtendedQ3Histo_term2);
  fOutputList->Add(fExtendedQ3Histo_term5);

  if(fPdensityPairCut){
    
    for(Int_t mb=0; mb<fMbins; mb++){
      if((mb < fCentBinLowLimit) || (mb > fCentBinHighLimit)) continue;
      
      for(Int_t edB=0; edB<fEDbins; edB++){
	if(edB >= fKt3bins) continue;
	
	for(Int_t c1=0; c1<2; c1++){
	  for(Int_t c2=0; c2<2; c2++){
	    for(Int_t sc=0; sc<kSCLimit2; sc++){
	      for(Int_t term=0; term<2; term++){
		
		TString *nameEx2 = new TString("Explicit2_Charge1_");
		*nameEx2 += c1;
		nameEx2->Append("_Charge2_");
		*nameEx2 += c2;
		nameEx2->Append("_SC_");
		*nameEx2 += sc;
		nameEx2->Append("_M_");
		*nameEx2 += mb;
		nameEx2->Append("_ED_");
		*nameEx2 += edB;
		nameEx2->Append("_Term_");
		*nameEx2 += term+1;
		
		if(sc==0 || sc==3 || sc==5){
		  if( (c1+c2)==1 ) {if(c1!=0) continue;}// skip degenerate histogram
		}
		
		Charge1[c1].Charge2[c2].SC[sc].MB[mb].EDB[edB].TwoPT[term].fExplicit2 = new TH2D(nameEx2->Data(),"Two Particle Distribution",20,0,1, fQbinsC2,0,fQlimitC2);
		fOutputList->Add(Charge1[c1].Charge2[c2].SC[sc].MB[mb].EDB[edB].TwoPT[term].fExplicit2);
		//
		TString *nameMeanKt=new TString(nameEx2->Data());
		nameMeanKt->Append("_MeanKt");
		Charge1[c1].Charge2[c2].SC[sc].MB[mb].EDB[edB].TwoPT[term].fMeanKt = new TH1D(nameMeanKt->Data(),"Two Particle Distribution",200,0,1);
		fOutputList->Add(Charge1[c1].Charge2[c2].SC[sc].MB[mb].EDB[edB].TwoPT[term].fMeanKt);
		//
		TString *nameEx2QW=new TString(nameEx2->Data());
		nameEx2QW->Append("_QW");
		Charge1[c1].Charge2[c2].SC[sc].MB[mb].EDB[edB].TwoPT[term].fExplicit2QW = new TH2D(nameEx2QW->Data(),"Two Particle Distribution",20,0,1, fQbinsC2,0,fQlimitC2);
		fOutputList->Add(Charge1[c1].Charge2[c2].SC[sc].MB[mb].EDB[edB].TwoPT[term].fExplicit2QW);
		TString *nameAvgP=new TString(nameEx2->Data());
		nameAvgP->Append("_AvgP");
		Charge1[c1].Charge2[c2].SC[sc].MB[mb].EDB[edB].TwoPT[term].fAvgP = new TProfile2D(nameAvgP->Data(),"",10,0,1, fQbinsC2,0,fQlimitC2, 0.,1.0,"");
		fOutputList->Add(Charge1[c1].Charge2[c2].SC[sc].MB[mb].EDB[edB].TwoPT[term].fAvgP);
		
		// Momentum resolution histos
		if(fMCcase && sc==0){
		  TString *nameIdeal = new TString(nameEx2->Data());
		  nameIdeal->Append("_Ideal");
		  Charge1[c1].Charge2[c2].SC[sc].MB[mb].EDB[edB].TwoPT[term].fIdeal = new TH2D(nameIdeal->Data(),"Two Particle Distribution",fRVALUES*kNDampValues,-0.5,fRVALUES*kNDampValues-0.5, fQbins,0,fQupperBound);
		  fOutputList->Add(Charge1[c1].Charge2[c2].SC[sc].MB[mb].EDB[edB].TwoPT[term].fIdeal);
		  TString *nameSmeared = new TString(nameEx2->Data());
		  nameSmeared->Append("_Smeared");
		  Charge1[c1].Charge2[c2].SC[sc].MB[mb].EDB[edB].TwoPT[term].fSmeared = new TH2D(nameSmeared->Data(),"Two Particle Distribution",fRVALUES*kNDampValues,-0.5,fRVALUES*kNDampValues-0.5, fQbins,0,fQupperBound);
		  fOutputList->Add(Charge1[c1].Charge2[c2].SC[sc].MB[mb].EDB[edB].TwoPT[term].fSmeared);
		  //
		  TString *nameEx2MC=new TString(nameEx2->Data());
		  nameEx2MC->Append("_MCqinv");
		  Charge1[c1].Charge2[c2].SC[sc].MB[mb].EDB[edB].TwoPT[term].fMCqinv = new TH1D(nameEx2MC->Data(),"",fQbinsC2,0,fQlimitC2);
		  fOutputList->Add(Charge1[c1].Charge2[c2].SC[sc].MB[mb].EDB[edB].TwoPT[term].fMCqinv);
		  TString *nameEx2MCQW=new TString(nameEx2->Data());
		  nameEx2MCQW->Append("_MCqinvQW");
		  Charge1[c1].Charge2[c2].SC[sc].MB[mb].EDB[edB].TwoPT[term].fMCqinvQW = new TH1D(nameEx2MCQW->Data(),"",fQbinsC2,0,fQlimitC2);
		  fOutputList->Add(Charge1[c1].Charge2[c2].SC[sc].MB[mb].EDB[edB].TwoPT[term].fMCqinvQW);
		  //
		  TString *nameEx2PIDpurityDen=new TString(nameEx2->Data());
		  nameEx2PIDpurityDen->Append("_PIDpurityDen");
		  Charge1[c1].Charge2[c2].SC[sc].MB[mb].EDB[edB].TwoPT[term].fPIDpurityDen = new TH2D(nameEx2PIDpurityDen->Data(),"Two Particle Distribution",20,0,1, fQbinsC2,0,fQlimitC2);
		  fOutputList->Add(Charge1[c1].Charge2[c2].SC[sc].MB[mb].EDB[edB].TwoPT[term].fPIDpurityDen);
		  TString *nameEx2PIDpurityNum=new TString(nameEx2->Data());
		  nameEx2PIDpurityNum->Append("_PIDpurityNum");
		  Charge1[c1].Charge2[c2].SC[sc].MB[mb].EDB[edB].TwoPT[term].fPIDpurityNum = new TH3D(nameEx2PIDpurityNum->Data(),"Two Particle Distribution",16,0.5,16.5, 20,0,1, fQbinsC2,0,fQlimitC2);
		  fOutputList->Add(Charge1[c1].Charge2[c2].SC[sc].MB[mb].EDB[edB].TwoPT[term].fPIDpurityNum);
		}
		
	      }// term_2
	    }// SC_2
	    
	    
 
	    for(Int_t c3=0; c3<2; c3++){
	      for(Int_t sc=0; sc<kSCLimit3; sc++){
		for(Int_t term=0; term<5; term++){
		  TString *nameEx3 = new TString("Explicit3_Charge1_");
		  *nameEx3 += c1;
		  nameEx3->Append("_Charge2_");
		  *nameEx3 += c2;
		  nameEx3->Append("_Charge3_");
		  *nameEx3 += c3;
		  nameEx3->Append("_SC_");
		  *nameEx3 += sc;
		  nameEx3->Append("_M_");
		  *nameEx3 += mb;
		  nameEx3->Append("_ED_");
		  *nameEx3 += edB;
		  nameEx3->Append("_Term_");
		  *nameEx3 += term+1;
		  
		  TString *namePC3 = new TString("PairCut3_Charge1_");
		  *namePC3 += c1;
		  namePC3->Append("_Charge2_");
		  *namePC3 += c2;
		  namePC3->Append("_Charge3_");
		  *namePC3 += c3;
		  namePC3->Append("_SC_");
		  *namePC3 += sc;
		  namePC3->Append("_M_");
		  *namePC3 += mb;
		  namePC3->Append("_ED_");
		  *namePC3 += edB;
		  namePC3->Append("_Term_");
		  *namePC3 += term+1;
	      
		  ///////////////////////////////////////
		  // skip degenerate histograms
		  if(sc==0 || sc==6 || sc==9){// Identical species
		    if( (c1+c2+c3)==1) {if(c3!=1) continue;}
		    if( (c1+c2+c3)==2) {if(c1!=0) continue;}
		  }else if(sc!=5){
		    if( (c1+c2)==1) {if(c1!=0) continue;}
		  }else {}// do nothing for pi-k-p case
		  
		  /////////////////////////////////////////
	      
		  

		  
		  if(fPdensityPairCut){
		    TString *nameNorm=new TString(namePC3->Data());
		    nameNorm->Append("_Norm");
		    Charge1[c1].Charge2[c2].Charge3[c3].SC[sc].MB[mb].EDB[edB].ThreePT[term].fNorm3 = new TH1D(nameNorm->Data(),"Norm",1,-0.5,0.5);
		    fOutputList->Add(Charge1[c1].Charge2[c2].Charge3[c3].SC[sc].MB[mb].EDB[edB].ThreePT[term].fNorm3);
		    //
		    if(sc<=2){
		      TString *nameQ3=new TString(namePC3->Data());
		      nameQ3->Append("_Q3");
		      Charge1[c1].Charge2[c2].Charge3[c3].SC[sc].MB[mb].EDB[edB].ThreePT[term].fTermsQ3 = new TH1D(nameQ3->Data(),"", 200,0,2.0);
		      fOutputList->Add(Charge1[c1].Charge2[c2].Charge3[c3].SC[sc].MB[mb].EDB[edB].ThreePT[term].fTermsQ3);
		      //
		      TString *name3DQ=new TString(namePC3->Data());
		      name3DQ->Append("_3D");
		      Charge1[c1].Charge2[c2].Charge3[c3].SC[sc].MB[mb].EDB[edB].ThreePT[term].fTerms3 = new TH3D(name3DQ->Data(),"", fQbins,0,fQupperBound, fQbins,0,fQupperBound, fQbins,0,fQupperBound);
		      fOutputList->Add(Charge1[c1].Charge2[c2].Charge3[c3].SC[sc].MB[mb].EDB[edB].ThreePT[term].fTerms3);
		      //
		      TString *nameMeanKt=new TString(namePC3->Data());
		      nameMeanKt->Append("_MeanKt");
		      Charge1[c1].Charge2[c2].Charge3[c3].SC[sc].MB[mb].EDB[edB].ThreePT[term].fMeanKt = new TH1D(nameMeanKt->Data(),"", 200,0,1);
		      fOutputList->Add(Charge1[c1].Charge2[c2].Charge3[c3].SC[sc].MB[mb].EDB[edB].ThreePT[term].fMeanKt);
		      
		      if(sc==0 && fMCcase==kTRUE){
			TString *name3DMomResIdeal=new TString(namePC3->Data());
			name3DMomResIdeal->Append("_Ideal");
			Charge1[c1].Charge2[c2].Charge3[c3].SC[sc].MB[mb].EDB[edB].ThreePT[term].fIdeal = new TH1D(name3DMomResIdeal->Data(),"", 200,0,2.0);
			fOutputList->Add(Charge1[c1].Charge2[c2].Charge3[c3].SC[sc].MB[mb].EDB[edB].ThreePT[term].fIdeal);
			TString *name3DMomResSmeared=new TString(namePC3->Data());
			name3DMomResSmeared->Append("_Smeared");
			Charge1[c1].Charge2[c2].Charge3[c3].SC[sc].MB[mb].EDB[edB].ThreePT[term].fSmeared = new TH1D(name3DMomResSmeared->Data(),"", 200,0,2.0);
			fOutputList->Add(Charge1[c1].Charge2[c2].Charge3[c3].SC[sc].MB[mb].EDB[edB].ThreePT[term].fSmeared);
		      }// MCcase
		      
		      
		    }// sc exclusion
		  }// PdensityPairCut
		}// term_3
	      }// SC_3
	    }//c3
	  }//c2
	}//c1
      }// ED
    }// mbin
  }// Pdensity Method

  
    
  TH1D *frstar4VectDist = new TH1D("frstar4VectDist","",10000,0,100);
  fOutputList->Add(frstar4VectDist);
  
  
  TProfile *fQsmearMean = new TProfile("fQsmearMean","",2,0.5,2.5, -0.2,0.2,"");
  fOutputList->Add(fQsmearMean);
  TProfile *fQsmearSq = new TProfile("fQsmearSq","",2,0.5,2.5, -2,2,"");
  fOutputList->Add(fQsmearSq);
  TH1D *fQDist = new TH1D("fQDist","",200,-.2,.2);
  fOutputList->Add(fQDist);
  
    
  ////////////////////////////////////
  ///////////////////////////////////  
  
  PostData(1, fOutputList);
}

//________________________________________________________________________
void AliThreePionRadii::UserExec(Option_t *) 
{
  // Main loop
  // Called for each event
  fEventCounter++;
  if(fEventCounter%1000==0) cout<<"===========  Event # "<<fEventCounter<<"  ==========="<<endl;

  if(!fAODcase) {cout<<"ESDs not supported"<<endl; return;}
  
  fAOD = dynamic_cast<AliAODEvent*> (InputEvent());
  if (!fAOD) {Printf("ERROR: fAOD not available"); return;}
  
  
  // Trigger Cut
  if(fPbPbcase){
    if(fAOD->GetRunNumber() >= 136851 && fAOD->GetRunNumber() <= 139517){// 10h data
      Bool_t isSelected1 = (((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected() & AliVEvent::kMB);
      if(!isSelected1 && !fMCcase) {return;}
    }
    if(fAOD->GetRunNumber() >= 167693 && fAOD->GetRunNumber() <= 170593){// 11h data
      Bool_t isSelected1 = (((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected() & AliVEvent::kMB);
      Bool_t isSelected2 = (((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected() & AliVEvent::kCentral);
      Bool_t isSelected3 = (((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected() & AliVEvent::kSemiCentral);
      if(!isSelected1 && !isSelected2 && !isSelected3 && !fMCcase) {return;}
    }
  }else{// pp and pPb
    Bool_t isSelected[4]={kFALSE};
    isSelected[0] = (((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected() & AliVEvent::kMB);
    isSelected[1] = (((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected() & AliVEvent::kAny);
    isSelected[2] = (((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected() & AliVEvent::kINT7);
    isSelected[3] = (((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected() & AliVEvent::kHighMult);
    if(!isSelected[fTriggerType] && !fMCcase) return;
  }
  
  
  ///////////////////////////////////////////////////////////
  const AliAODVertex *primaryVertexAOD;
  AliCentrality *centrality;// for AODs and ESDs

 
  AliAnalysisManager *man=AliAnalysisManager::GetAnalysisManager();
  AliInputEventHandler* inputHandler = (AliInputEventHandler*) (man->GetInputEventHandler());
  fPIDResponse = inputHandler->GetPIDResponse();

  
  TClonesArray *mcArray = 0x0;
  Int_t mcNch=0, mcNchCMS=0, mcNchFullPt=0, mcNchPubMethod=0;
  Int_t mcNpion=0;
  if(fMCcase){
    if(fAODcase){ 
      mcArray = (TClonesArray*)fAOD->FindListObject(AliAODMCParticle::StdBranchName());
      if(!mcArray || mcArray->GetEntriesFast() >= kMCarrayLimit){
	cout<<"No MC particle branch found or Array too large!!"<<endl;
	return;
      }
      
      // Count true Nch at mid-rapidity
      for(Int_t mctrackN=0; mctrackN<mcArray->GetEntriesFast(); mctrackN++){
	AliAODMCParticle *mcParticle = (AliAODMCParticle*)mcArray->At(mctrackN);
	if(!mcParticle) continue;
	if(mcParticle->Charge()!=-3 && mcParticle->Charge()!=+3) continue;// x3 by convention
	//if(!mcParticle->IsPrimary()) continue;// superfluous when IsPhysicalPrimary() is used
	if(!mcParticle->IsPhysicalPrimary()) continue;
	//
	if(fabs(mcParticle->Eta())<=0.5) mcNchPubMethod++;// Published pp binning
	if(fabs(mcParticle->Eta())<=0.8) mcNchFullPt++;// My binning in full Pt range
	
	if(mcParticle->Pt() < 0.16 || mcParticle->Pt() > 1.0) continue;
	
	//
	if(mcParticle->P() < 1.0) {
	  if(fabs(mcParticle->Eta())<=0.8) {
	    mcNch++;// My binning in my pt range
	    if(abs(mcParticle->GetPdgCode())==211) mcNpion++;
	  }
	}
	// p-Pb CMS boost counting
	Double_t newPz = mcParticle->Pz()*cosh(0.465) - mcParticle->E()*sinh(0.465);
	Double_t newP = sqrt(pow(mcParticle->Pt(),2) + pow(newPz,2));
	if(newP < 1.0){
	  Double_t newEta = 0.5 * log( (newP+newPz) / (newP-newPz));
	  if(TMath::Abs(newEta)<=0.8) {
	    mcNchCMS++;
	  }
	}
      }
    }
  }// fMCcase
  
  UInt_t status=0;
  Int_t positiveTracks=0, negativeTracks=0;
  Int_t myTracks=0, pionCount=0, kaonCount=0, protonCount=0;
  Int_t FBTracks=0, AODTracks=0;

  Double_t vertex[3]={0};
  Int_t zbin=0;
  Double_t zstep=2*10/Double_t(fZvertexBins), zstart=-10.;
  /////////////////////////////////////////////////
  
  Float_t centralityPercentile=0;
  //Float_t cStep=5.0, cStart=0;
  Int_t trackletMult = 0;

  if(fAODcase){// AOD case
    
    if(fPbPbcase){
      centrality = fAOD->GetCentrality();
      centralityPercentile = centrality->GetCentralityPercentile("V0M");
      if(centralityPercentile == 0) {/*cout<<"Centrality = 0, skipping event"<<endl;*/ return;}
      //if((centralityPercentile < 5*fCentBinLowLimit) || (centralityPercentile>= 5*(fCentBinHighLimit+1))) {/*cout<<"Centrality out of Range.  Skipping Event"<<endl;*/ return;}
      cout<<"Centrality % = "<<centralityPercentile<<endl;
    }else{
      //cout<<"AOD multiplicity = "<<fAOD->GetNumberOfTracks()<<endl;
    }
    
    ((TH1F*)fOutputList->FindObject("fMultDist0"))->Fill(fAOD->GetNumberOfTracks());

    // Pile-up rejection
    AliAnalysisUtils *AnaUtil=new AliAnalysisUtils();
    if(!fPbPbcase) AnaUtil->SetUseMVPlpSelection(kTRUE);// use Multi-Vertex tool for pp and pPb
    else AnaUtil->SetUseMVPlpSelection(kFALSE);
    Bool_t pileUpCase=AnaUtil->IsPileUpEvent(fAOD); 
    if(pileUpCase) return;
    
    ////////////////////////////////
    // Vertexing
    ((TH1F*)fOutputList->FindObject("fMultDist1"))->Fill(fAOD->GetNumberOfTracks());
    primaryVertexAOD = fAOD->GetPrimaryVertex();
    vertex[0]=primaryVertexAOD->GetX(); vertex[1]=primaryVertexAOD->GetY(); vertex[2]=primaryVertexAOD->GetZ();
    
    if(fabs(vertex[2]) > 10) {/*cout<<"Zvertex Out of Range. Skip Event"<<endl;*/ return;} // Z-Vertex Cut 
    ((TH3F*)fOutputList->FindObject("fVertexDist"))->Fill(vertex[0], vertex[1], vertex[2]);
    
    for (Int_t i = 0; i < fAOD->GetNumberOfTracks(); i++) {
      AliAODTrack* aodtrack = dynamic_cast<AliAODTrack*>(fAOD->GetTrack(i));
      if(!aodtrack) AliFatal("Not a standard AOD");
      if (!aodtrack) continue;
      AODTracks++;
      if(!aodtrack->TestFilterBit(BIT(fFilterBit))) continue;// AOD filterBit cut
      FBTracks++;
    }
    ((TH1F*)fOutputList->FindObject("fMultDist2"))->Fill(FBTracks);

    //if(fAOD->IsPileupFromSPD()) {/*cout<<"PileUpEvent. Skip Event"<<endl;*/ return;} // Old Pile-up cut
    if(primaryVertexAOD->GetNContributors() < 1) {/*cout<<"Bad Vertex. Skip Event"<<endl;*/ return;}
   
    ((TH1F*)fOutputList->FindObject("fMultDist3"))->Fill(FBTracks);
 
    fBfield = fAOD->GetMagneticField();
    
    for(Int_t i=0; i<fZvertexBins; i++){
      if( (vertex[2] >= zstart+i*zstep) && (vertex[2] < zstart+(i+1)*zstep) ){
	zbin=i;
	break;
      }
    }
    
    AliAODTracklets *tracklets = (AliAODTracklets*)fAOD->GetTracklets();
    for(Int_t trackletN=0; trackletN<tracklets->GetNumberOfTracklets(); trackletN++){
      if(tracklets->GetTheta(trackletN) > 1.0904 && tracklets->GetTheta(trackletN) < 2.0512) trackletMult++;// |eta|<0.5 tracklets
    }
   
    /////////////////////////////
    // Create Shuffled index list
    Int_t randomIndex[fAOD->GetNumberOfTracks()];
    for (Int_t i = 0; i < fAOD->GetNumberOfTracks(); i++) randomIndex[i]=i;
    Shuffle(randomIndex,0,fAOD->GetNumberOfTracks()-1);
    /////////////////////////////
  
    // Track loop
    for (Int_t i = 0; i < fAOD->GetNumberOfTracks(); i++) {
      AliAODTrack* aodtrack = dynamic_cast<AliAODTrack*>(fAOD->GetTrack(randomIndex[i]));
      if(!aodtrack) AliFatal("Not a standard AOD");
      if (!aodtrack) continue;
      if(myTracks >= fMultLimit) {cout<<"More tracks than Track Limit"<<endl; return;}
      
      status=aodtrack->GetStatus();
      
      if(!aodtrack->TestFilterBit(BIT(7))) continue;// AOD filterBit cut
      if(aodtrack->GetTPCNcls() < 70) continue;// TPC nCluster cut
      
      // FilterBit Overlap Check
      if(fFilterBit != 7){
	Bool_t goodTrackOtherFB = kFALSE;
	if(fMCcase && fAOD->GetRunNumber()<=126437) goodTrackOtherFB=kTRUE;// FB7 to FB5 mapping in 10f6a MC does not work
	
	for (Int_t j = 0; j < fAOD->GetNumberOfTracks(); j++) {
	  AliAODTrack* aodtrack2 = dynamic_cast<AliAODTrack*>(fAOD->GetTrack(randomIndex[j]));
	  if(!aodtrack2) AliFatal("Not a standard AOD");
	  if(!aodtrack2) continue;
	  if(!aodtrack2->TestFilterBit(BIT(fFilterBit))) continue;
	  
	  if(-(aodtrack->GetID()+1)==aodtrack2->GetID()) {goodTrackOtherFB=kTRUE; break;}
	  
	}
	if(!goodTrackOtherFB) continue;
      }
      

      if(aodtrack->Pt() < 0.16) continue;
      if(fabs(aodtrack->Eta()) > 0.8) continue;
      
      
      Bool_t goodMomentum = aodtrack->GetPxPyPz( fTempStruct[myTracks].fP);
      if(!goodMomentum) continue; 
      aodtrack->GetXYZ( fTempStruct[myTracks].fX);
         
      Float_t dca2[2];
      Float_t dca3d;

      dca2[0] = sqrt( pow(fTempStruct[myTracks].fX[0] - vertex[0],2) + pow(fTempStruct[myTracks].fX[1] - vertex[1],2));
      dca2[1] = sqrt( pow(fTempStruct[myTracks].fX[2] - vertex[2],2));
      dca3d = sqrt( pow(dca2[0],2) + pow(dca2[1],2));
             
      fTempStruct[myTracks].fStatus = status;
      fTempStruct[myTracks].fFiltermap = aodtrack->GetFilterMap();
      fTempStruct[myTracks].fId = aodtrack->GetID();
      fTempStruct[myTracks].fLabel = aodtrack->GetLabel();
      fTempStruct[myTracks].fPhi = atan2(fTempStruct[myTracks].fP[1], fTempStruct[myTracks].fP[0]);
      if(fTempStruct[myTracks].fPhi < 0) fTempStruct[myTracks].fPhi += 2*PI;
      fTempStruct[myTracks].fPt = sqrt(pow(fTempStruct[myTracks].fP[0],2) + pow(fTempStruct[myTracks].fP[1],2));
      fTempStruct[myTracks].fMom = sqrt( pow(fTempStruct[myTracks].fPt,2) + pow(fTempStruct[myTracks].fP[2],2) );
      fTempStruct[myTracks].fEta = aodtrack->Eta();
      fTempStruct[myTracks].fCharge = aodtrack->Charge();
      fTempStruct[myTracks].fDCAXY = dca2[0];
      fTempStruct[myTracks].fDCAZ = dca2[1];
      fTempStruct[myTracks].fDCA = dca3d;
      fTempStruct[myTracks].fClusterMap = aodtrack->GetTPCClusterMap();
      fTempStruct[myTracks].fSharedMap = aodtrack->GetTPCSharedMap();
      
    
      
      if(fTempStruct[myTracks].fMom > 0.9999) continue;// upper P bound
      if(fTempStruct[myTracks].fPt > 0.9999) continue;// upper P bound
      if(fTempStruct[myTracks].fP[2] > 0.9999) continue;// upper P bound

      
            
      // PID section
      fTempStruct[myTracks].fElectron = kFALSE;
      fTempStruct[myTracks].fPion = kFALSE;
      fTempStruct[myTracks].fKaon = kFALSE;
      fTempStruct[myTracks].fProton = kFALSE;
      
      Float_t nSigmaTPC[5];
      Float_t nSigmaTOF[5];
      nSigmaTPC[0]=10; nSigmaTPC[1]=10; nSigmaTPC[2]=10; nSigmaTPC[3]=10; nSigmaTPC[4]=10;
      nSigmaTOF[0]=10; nSigmaTOF[1]=10; nSigmaTOF[2]=10; nSigmaTOF[3]=10; nSigmaTOF[4]=10;
      fTempStruct[myTracks].fTOFhit = kFALSE;// default
      Float_t signalTPC=0, signalTOF=0;
      Double_t integratedTimesTOF[10]={0};

      Bool_t DoPIDWorkAround=kTRUE;
      //if(fFilterBit == 7) DoPIDWorkAround=kTRUE;
      if(fMCcase && !fPbPbcase) DoPIDWorkAround=kFALSE;
      if(DoPIDWorkAround==kFALSE && fabs(fPIDResponse->NumberOfSigmasTPC(aodtrack,AliPID::kPion)) < 900) {
	nSigmaTPC[0]=fPIDResponse->NumberOfSigmasTPC(aodtrack,AliPID::kElectron);
	nSigmaTPC[1]=fPIDResponse->NumberOfSigmasTPC(aodtrack,AliPID::kMuon);
	nSigmaTPC[2]=fPIDResponse->NumberOfSigmasTPC(aodtrack,AliPID::kPion);
	nSigmaTPC[3]=fPIDResponse->NumberOfSigmasTPC(aodtrack,AliPID::kKaon);
	nSigmaTPC[4]=fPIDResponse->NumberOfSigmasTPC(aodtrack,AliPID::kProton);
	//
	nSigmaTOF[0]=fPIDResponse->NumberOfSigmasTOF(aodtrack,AliPID::kElectron);
	nSigmaTOF[1]=fPIDResponse->NumberOfSigmasTOF(aodtrack,AliPID::kMuon);
	nSigmaTOF[2]=fPIDResponse->NumberOfSigmasTOF(aodtrack,AliPID::kPion);
	nSigmaTOF[3]=fPIDResponse->NumberOfSigmasTOF(aodtrack,AliPID::kKaon);
	nSigmaTOF[4]=fPIDResponse->NumberOfSigmasTOF(aodtrack,AliPID::kProton);
	signalTPC = aodtrack->GetTPCsignal();
	if( (status&AliESDtrack::kTOFpid)!=0 && (status&AliESDtrack::kTIME)!=0 && (status&AliESDtrack::kTOFout)!=0 && (status&AliESDtrack::kTOFmismatch)<=0){// good tof hit
	  fTempStruct[myTracks].fTOFhit = kTRUE;
	  signalTOF = aodtrack->GetTOFsignal();
	  aodtrack->GetIntegratedTimes(integratedTimesTOF);
	}else fTempStruct[myTracks].fTOFhit = kFALSE;
	
      }else {// FilterBit 7 PID workaround
	
	for(Int_t j = 0; j < fAOD->GetNumberOfTracks(); j++) {
	  AliAODTrack* aodTrack2 = dynamic_cast<AliAODTrack*>(fAOD->GetTrack(j));
	  if(!aodTrack2) AliFatal("Not a standard AOD");
	  if (!aodTrack2) continue;
	  if(aodtrack->GetID() != (-aodTrack2->GetID() - 1)) continue;// (-aodTrack2->GetID() - 1)
	  
	  UInt_t status2=aodTrack2->GetStatus();
	  
	  nSigmaTPC[0]=fPIDResponse->NumberOfSigmasTPC(aodTrack2,AliPID::kElectron);
	  nSigmaTPC[1]=fPIDResponse->NumberOfSigmasTPC(aodTrack2,AliPID::kMuon);
	  nSigmaTPC[2]=fPIDResponse->NumberOfSigmasTPC(aodTrack2,AliPID::kPion);
	  nSigmaTPC[3]=fPIDResponse->NumberOfSigmasTPC(aodTrack2,AliPID::kKaon);
	  nSigmaTPC[4]=fPIDResponse->NumberOfSigmasTPC(aodTrack2,AliPID::kProton);
	  //
	  nSigmaTOF[0]=fPIDResponse->NumberOfSigmasTOF(aodTrack2,AliPID::kElectron);
	  nSigmaTOF[1]=fPIDResponse->NumberOfSigmasTOF(aodTrack2,AliPID::kMuon);
	  nSigmaTOF[2]=fPIDResponse->NumberOfSigmasTOF(aodTrack2,AliPID::kPion);
	  nSigmaTOF[3]=fPIDResponse->NumberOfSigmasTOF(aodTrack2,AliPID::kKaon);
	  nSigmaTOF[4]=fPIDResponse->NumberOfSigmasTOF(aodTrack2,AliPID::kProton);
	  signalTPC = aodTrack2->GetTPCsignal();
	  
	  if( (status2&AliESDtrack::kTOFpid)!=0 && (status2&AliESDtrack::kTIME)!=0 && (status2&AliESDtrack::kTOFout)!=0 && (status2&AliESDtrack::kTOFmismatch)<=0){// good tof hit
	    fTempStruct[myTracks].fTOFhit = kTRUE;
	    signalTOF = aodTrack2->GetTOFsignal();
	    aodTrack2->GetIntegratedTimes(integratedTimesTOF);
	  }else fTempStruct[myTracks].fTOFhit = kFALSE;
	  
	}// aodTrack2
      }// FilterBit 7 PID workaround

      //cout<<nSigmaTPC[2]<<endl;
      ///////////////////
      ((TH3F*)fOutputList->FindObject("fTPCResponse"))->Fill(centralityPercentile, fTempStruct[myTracks].fMom, signalTPC);
      if(fTempStruct[myTracks].fTOFhit) {
	((TH3F*)fOutputList->FindObject("fTOFResponse"))->Fill(centralityPercentile, fTempStruct[myTracks].fMom, signalTOF - integratedTimesTOF[3]);
      }
      ///////////////////

      // Use TOF if good hit and above threshold
      if(fTempStruct[myTracks].fTOFhit && fTempStruct[myTracks].fMom > fTPCTOFboundry){
	if(fabs(nSigmaTOF[0])<fSigmaCutTOF) fTempStruct[myTracks].fElectron = kTRUE;// Electron candidate
	if(fabs(nSigmaTOF[2])<fSigmaCutTOF) fTempStruct[myTracks].fPion = kTRUE;// Pion candidate
	if(fabs(nSigmaTOF[3])<fSigmaCutTOF) fTempStruct[myTracks].fKaon = kTRUE;// Kaon candidate
	if(fabs(nSigmaTOF[4])<fSigmaCutTOF) fTempStruct[myTracks].fProton = kTRUE;// Proton candidate
      }else {// TPC info instead
	if(fabs(nSigmaTPC[0])<fSigmaCutTPC) fTempStruct[myTracks].fElectron = kTRUE;// Electron candidate
	if(fabs(nSigmaTPC[2])<fSigmaCutTPC) fTempStruct[myTracks].fPion = kTRUE;// Pion candidate
	if(fabs(nSigmaTPC[3])<fSigmaCutTPC) fTempStruct[myTracks].fKaon = kTRUE;// Kaon candidate
	if(fabs(nSigmaTPC[4])<fSigmaCutTPC) fTempStruct[myTracks].fProton = kTRUE;// Proton candidate
      }
               
      
      // Ensure there is only 1 candidate per track
      if(fTempStruct[myTracks].fElectron && fTempStruct[myTracks].fMom < 0.45) continue;// Remove electron band
      if(!fTempStruct[myTracks].fPion && !fTempStruct[myTracks].fKaon && !fTempStruct[myTracks].fProton) continue;
      if(fTempStruct[myTracks].fPion && fTempStruct[myTracks].fKaon) continue;
      if(fTempStruct[myTracks].fPion && fTempStruct[myTracks].fProton) continue;
      if(fTempStruct[myTracks].fKaon && fTempStruct[myTracks].fProton) continue;
      if(fTempStruct[myTracks].fPion && fTempStruct[myTracks].fKaon && fTempStruct[myTracks].fProton) continue;
      ////////////////////////
      if(fTempStruct[myTracks].fProton && fTempStruct[myTracks].fMom < 0.25) continue;//extra cut for protons

      if(!fTempStruct[myTracks].fPion) continue;// only pions
          
     


      if(fTempStruct[myTracks].fCharge==+1) {
	((TH2F*)fOutputList->FindObject("fDCAxyDistPlus"))->Fill(fTempStruct[myTracks].fPt, dca2[0]);
	((TH2F*)fOutputList->FindObject("fDCAzDistPlus"))->Fill(fTempStruct[myTracks].fPt, dca2[1]);
      }else {
	((TH2F*)fOutputList->FindObject("fDCAxyDistMinus"))->Fill(fTempStruct[myTracks].fPt, dca2[0]);
	((TH2F*)fOutputList->FindObject("fDCAzDistMinus"))->Fill(fTempStruct[myTracks].fPt, dca2[1]);
      }
      
      ((TH3F*)fOutputList->FindObject("fPhiPtDist"))->Fill(aodtrack->Charge(), aodtrack->Phi(), aodtrack->Pt());
      ((TH3F*)fOutputList->FindObject("fPtEtaDist"))->Fill(aodtrack->Charge(), aodtrack->Pt(), aodtrack->Eta());

           
    
      if(fTempStruct[myTracks].fPion) {// pions
	fTempStruct[myTracks].fEaccepted = sqrt(pow(fTempStruct[myTracks].fMom,2) + pow(fTrueMassPi,2)); 
	fTempStruct[myTracks].fKey = 1;
      }else if(fTempStruct[myTracks].fKaon){// kaons
	fTempStruct[myTracks].fEaccepted = sqrt(pow(fTempStruct[myTracks].fMom,2) + pow(fTrueMassK,2));;
	fTempStruct[myTracks].fKey = 10;
      }else{// protons
	fTempStruct[myTracks].fEaccepted = sqrt(pow(fTempStruct[myTracks].fMom,2) + pow(fTrueMassP,2));;
	fTempStruct[myTracks].fKey = 100;
      }
      
     
      ((TH2D*)fOutputList->FindObject("fTrackChi2NDF"))->Fill(centralityPercentile, aodtrack->Chi2perNDF());
      ((TH2D*)fOutputList->FindObject("fTrackTPCncls"))->Fill(centralityPercentile, aodtrack->GetTPCncls());
      if(aodtrack->Chi2perNDF() > fMaxChi2NDF) continue;
      if(aodtrack->GetTPCncls() < fMinTPCncls) continue;
      

      if(aodtrack->Charge() > 0) positiveTracks++;
      else negativeTracks++;
      
      if(fTempStruct[myTracks].fPion) pionCount++;
      if(fTempStruct[myTracks].fKaon) kaonCount++;
      if(fTempStruct[myTracks].fProton) protonCount++;

      myTracks++;
      
      if(fMCcase){// muon mothers
	AliAODMCParticle *tempMCTrack=(AliAODMCParticle*)mcArray->At(abs(aodtrack->GetLabel()));
	if(abs(tempMCTrack->GetPdgCode())==13 && tempMCTrack->GetMother()>0){// muons
	  AliAODMCParticle *parent=(AliAODMCParticle*)mcArray->At(tempMCTrack->GetMother());
	  if(parent->IsPhysicalPrimary()){
	    ((TH1D*)fOutputList->FindObject("fMuonParents"))->Fill(abs(parent->GetPdgCode()));
	  }else ((TH1D*)fOutputList->FindObject("fSecondaryMuonParents"))->Fill(abs(parent->GetPdgCode()));
	}
	((TH1D*)fOutputList->FindObject("fPionCandidates"))->Fill(abs(tempMCTrack->GetPdgCode()));
      }
    }
  }else {// ESD tracks
    cout<<"ESDs not supported currently"<<endl;
    return;
  }
  
  // Generator info only
  if(fMCcase && fGeneratorOnly){
    myTracks=0; pionCount=0; kaonCount=0; protonCount=0;// reset track counters
    for(Int_t mctrackN=0; mctrackN<mcArray->GetEntriesFast(); mctrackN++){
      if(myTracks >= fMultLimit) {cout<<"More tracks than Track Limit"<<endl; return;}
      if(myTracks >= 1300) continue;// additional cut to limit high mult events which exceed pair # limits
      
      AliAODMCParticle *mcParticle = (AliAODMCParticle*)mcArray->At(mctrackN);
      if(!mcParticle) continue;
      if(fabs(mcParticle->Eta())>0.8) continue;
      if(mcParticle->Charge()!=-3 && mcParticle->Charge()!=+3) continue;// x3 by convention
      if(mcParticle->Pt() < 0.16 || mcParticle->Pt() > 1.0) continue;
      if(!mcParticle->IsPrimary()) continue;
      if(!mcParticle->IsPhysicalPrimary()) continue;
      if(abs(mcParticle->GetPdgCode())!=211) continue;
      
      fTempStruct[myTracks].fP[0] = mcParticle->Px();
      fTempStruct[myTracks].fP[1] = mcParticle->Py();
      fTempStruct[myTracks].fP[2] = mcParticle->Pz();
      fTempStruct[myTracks].fX[0] = 0.; fTempStruct[myTracks].fX[1] = 0.; fTempStruct[myTracks].fX[2] = 0.;
      
      fTempStruct[myTracks].fId = myTracks;// use my track counter 
      fTempStruct[myTracks].fLabel = mctrackN;
      fTempStruct[myTracks].fPhi = atan2(fTempStruct[myTracks].fP[1], fTempStruct[myTracks].fP[0]);
      if(fTempStruct[myTracks].fPhi < 0) fTempStruct[myTracks].fPhi += 2*PI;
      fTempStruct[myTracks].fPt = sqrt(pow(fTempStruct[myTracks].fP[0],2) + pow(fTempStruct[myTracks].fP[1],2));
      fTempStruct[myTracks].fMom = sqrt( pow(fTempStruct[myTracks].fPt,2) + pow(fTempStruct[myTracks].fP[2],2) );
      fTempStruct[myTracks].fEta = mcParticle->Eta();
      fTempStruct[myTracks].fCharge = int(mcParticle->Charge()/3.);
      fTempStruct[myTracks].fDCAXY = 0.;
      fTempStruct[myTracks].fDCAZ = 0.;
      fTempStruct[myTracks].fDCA = 0.;
      fTempStruct[myTracks].fPion = kTRUE;
      fTempStruct[myTracks].fEaccepted = sqrt(pow(fTempStruct[myTracks].fMom,2) + pow(fTrueMassPi,2)); 
      fTempStruct[myTracks].fKey = 1;
            
      myTracks++;
      pionCount++;
    }
  }


  
  if(myTracks >= 1) {
    ((TH1F*)fOutputList->FindObject("fMultDist4"))->Fill(myTracks);
  }
 
 
  //cout<<"There are "<<myTracks<<"  myTracks"<<endl;
  //cout<<"pionCount = "<<pionCount<<"   kaonCount = "<<kaonCount<<"   protonCount = "<<protonCount<<endl;

  /////////////////////////////////////////
  // Pion Multiplicity Cut (To ensure all Correlation orders are present in each event)
  if(myTracks < 3) {/*cout<<"Less than 3 tracks. Skipping Event."<<endl;*/ return;}
  /////////////////////////////////////////
 

  ////////////////////////////////
  ///////////////////////////////
  // Mbin determination
  //
  fMbin=-1;
  for(Int_t i=0; i<fCentBins; i++){
    if( pionCount >= fMultLimits[i] && pionCount < fMultLimits[i+1]) {fMbin = fCentBins-i-1; break;}
  }
  
  
  fFSIindex=0;
  if(fPbPbcase){
    if(fMbin==0) fFSIindex = 0;//0-5%
    else if(fMbin==1) fFSIindex = 1;//5-10%
    else if(fMbin<=3) fFSIindex = 2;//10-20%
    else if(fMbin<=5) fFSIindex = 3;//20-30%
    else if(fMbin<=7) fFSIindex = 4;//30-40%
    else if(fMbin<=9) fFSIindex = 5;//40-50%
    else if(fMbin<=12) fFSIindex = 6;//40-50%
    else if(fMbin<=15) fFSIindex = 7;//40-50%
    else if(fMbin<=18) fFSIindex = 8;//40-50%
    else fFSIindex = 8;//90-100%
  }else fFSIindex = 9;// pp and pPb
  
  if(fMCcase){// FSI binning for MC 
    if(fRMax>=10) fFSIindex = 0;
    else if(fRMax>=9) fFSIindex = 1;
    else if(fRMax>=8) fFSIindex = 2;
    else if(fRMax>=7) fFSIindex = 3;
    else if(fRMax>=6) fFSIindex = 4;
    else if(fRMax>=5) fFSIindex = 5;
    else if(fRMax>=4) fFSIindex = 6;
    else if(fRMax>=3) fFSIindex = 7;
    else if(fRMax>=2) fFSIindex = 8;
    else fFSIindex = 9;
  }

  if(fV0Mbinning){
    Bool_t useV0=kFALSE;
    if(fPbPbcase) useV0=kTRUE;
    if(!fPbPbcase && fAOD->GetRunNumber() >= 195344 && fAOD->GetRunNumber() <= 195677) useV0=kTRUE;
    if(useV0){
      AliAODVZERO *vZero = fAOD->GetVZEROData();
      Float_t vZeroAmp = vZero->GetMTotV0A();
      centrality = fAOD->GetCentrality();
      centralityPercentile = centrality->GetCentralityPercentile("V0M");
      for(Int_t i=0; i<fCentBins; i++){
	if(vZeroAmp/4.4 >= fMultLimits[i] && vZeroAmp/4.4 < fMultLimits[i+1]) {fMbin = fCentBins-i-1; break;}
      }
      ((TH1D*)fOutputList->FindObject("fV0TotSignal"))->Fill(vZeroAmp);
      //cout<<centralityPercentile<<"  "<<vZeroAmp<<"  "<<fMbin<<endl;
      //
      Int_t fMbinV0C=-1;
      vZeroAmp = vZero->GetMTotV0C();
      for(Int_t i=0; i<fCentBins; i++){
	if(vZeroAmp/4.4 >= fMultLimits[i] && vZeroAmp/4.4 < fMultLimits[i+1]) {fMbinV0C = fCentBins-i-1; break;}
      }
      //
      Int_t fMbinV0AplusC=-1;
      vZeroAmp = vZero->GetMTotV0A() + vZero->GetMTotV0C();
      for(Int_t i=0; i<fCentBins; i++){
	if(vZeroAmp/4.4 >= fMultLimits[i] && vZeroAmp/4.4 < fMultLimits[i+1]) {fMbinV0AplusC = fCentBins-i-1; break;}
      }
      ((TH2D*)fOutputList->FindObject("fAvgMultHisto2DV0C"))->Fill(fMbinV0C+1., pionCount);
      ((TH2D*)fOutputList->FindObject("fAvgMultHisto2DV0AplusC"))->Fill(fMbinV0AplusC+1., pionCount);
    }
  }
  
  if(fMbin==-1) {cout<<pionCount<<"  Bad Mbin+++++++++++++++++++++++++++++++++++++++++++++++++++"<<endl; return;}

  ((TH1F*)fOutputList->FindObject("fEvents1"))->Fill(fMbin+1);
  ((TProfile*)fOutputList->FindObject("fAvgMult"))->Fill(fMbin+1., pionCount);
  ((TH2D*)fOutputList->FindObject("fAvgMultHisto2D"))->Fill(fMbin+1., pionCount);
  if(fMCcase){
    ((TH2D*)fOutputList->FindObject("fdNchdEtaResponse"))->Fill(pow(trackletMult,1/3.), pow(mcNch,1/3.));
    ((TH2D*)fOutputList->FindObject("fNpionTrueDist"))->Fill(fMbin+1., mcNpion);
    ((TH2D*)fOutputList->FindObject("fNchTrueDist"))->Fill(fMbin+1., mcNch);// default Nch mapping
    ((TH2D*)fOutputList->FindObject("fNchTrueDistCMS"))->Fill(fMbin+1., mcNchCMS);// p-Pb CMS counting
    ((TH2D*)fOutputList->FindObject("fNchTrueDistFullPt"))->Fill(fMbin+1., mcNchFullPt);// full Pt Nch range mapping
    ((TH2D*)fOutputList->FindObject("fNchTrueDistPubMethod"))->Fill(fMbin+1., mcNchPubMethod);// Published pp Method Nch mapping
    ((TProfile*)fOutputList->FindObject("fAvgNchTrueDistvsPubMethodBin"))->Fill(mcNchPubMethod, mcNch);// Mapping of Published bins to default Nch bins
    ((TProfile*)fOutputList->FindObject("fAvgRecRate"))->Fill(mcNpion, pionCount);
  }
  if(fPbPbcase){
    ((TH2D*)fOutputList->FindObject("fdCentVsNchdEta"))->Fill(fMbin+1, pow(trackletMult,1/3.));
    centrality = fAOD->GetCentrality();
    centralityPercentile = centrality->GetCentralityPercentile("V0M");
    ((TH2D*)fOutputList->FindObject("fMultBinVsCent"))->Fill(fMbin+1, centralityPercentile);
  }

  // Mult cut
  if(fMbin < fCentBinLowLimit || fMbin > fCentBinHighLimit) {cout<<"Mult out of range"<<endl; return;}
  
  //////////////////////////////////////////////////
  fEDbin=0;// Extra Dimension bin (Kt, (Kt-Psi),....)
  //////////////////////////////////////////////////


  
  //return;// un-comment for a run to calculate Nrec to Nch Mapping 
  // to test the eta dependence of radii
  /*Int_t firstTrackCount=myTracks;
  Int_t newTrackCount=0;
  myTracks=0; pionCount=0; kaonCount=0; protonCount=0;// reset track counters
  for(Int_t newTracks=0; newTracks<firstTrackCount; newTracks++){
    
    if(fTempStruct[newTracks].fEta > -0.4) continue;
    
    fTempStruct[newTrackCount]=fTempStruct[newTracks];
  
    newTrackCount++;
    pionCount++;
  }
  myTracks=newTrackCount;// re-assign main counter
  */
  
  ////////////////////////////////////
  // Add event to buffer if > 0 tracks
  if(myTracks > 0){
    fEC[zbin][fMbin]->FIFOShift();
    (fEvt) = fEC[zbin][fMbin]->fEvtStr;
    (fEvt)->fNtracks = myTracks;
    (fEvt)->fFillStatus = 1;
    for(Int_t i=0; i<myTracks; i++) (fEvt)->fTracks[i] = fTempStruct[i];
    if(fMCcase){
      (fEvt)->fMCarraySize = mcArray->GetEntriesFast();
      for(Int_t i=0; i<mcArray->GetEntriesFast(); i++) {
	AliAODMCParticle *tempMCTrack = (AliAODMCParticle*)mcArray->At(i);
	(fEvt)->fMCtracks[i].fPx = tempMCTrack->Px();
	(fEvt)->fMCtracks[i].fPy = tempMCTrack->Py();
	(fEvt)->fMCtracks[i].fPz = tempMCTrack->Pz();
	(fEvt)->fMCtracks[i].fPtot = sqrt(pow(tempMCTrack->Px(),2)+pow(tempMCTrack->Py(),2)+pow(tempMCTrack->Pz(),2));
      }
    }
  }

  
  Float_t qinv12=0, qinv13=0, qinv23=0;
  Float_t qout=0, qside=0, qlong=0;
  Float_t qoutMC=0, qsideMC=0, qlongMC=0;
  Float_t firstQ=0, secondQ=0, thirdQ=0;
  Float_t firstQMC=0, secondQMC=0, thirdQMC=0;
  Float_t transK12=0, transK3=0;
  Float_t q3=0, q3MC=0;
  Int_t ch1=0, ch2=0, ch3=0;
  Short_t key1=0, key2=0, key3=0;
  Int_t bin1=0, bin2=0, bin3=0;
  Float_t pVect1[4]={0}; 
  Float_t pVect2[4]={0};
  Float_t pVect3[4]={0}; 
  Float_t pVect1MC[4]={0}; 
  Float_t pVect2MC[4]={0};
  Float_t pVect3MC[4]={0};
  Int_t index1=0, index2=0, index3=0;
  Float_t qinv12MC=0, qinv13MC=0, qinv23MC=0;
  //
  AliAODMCParticle *mcParticle1=0x0;
  AliAODMCParticle *mcParticle2=0x0;
 
  if(fPdensityPairCut){
    ////////////////////
    Int_t pairCountSE=0, pairCountME=0;
    Int_t normPairCount[2]={0};
    Int_t numOtherPairs1[2][fMultLimit];
    Int_t numOtherPairs2[2][fMultLimit];
    Bool_t exitCode=kFALSE;
    Int_t tempNormFillCount[2][2][2][10][5];
    

    // reset to defaults
    for(Int_t i=0; i<fMultLimit; i++) {
      fPairLocationSE[i]->Set(fMultLimit,fDefaultsInt);
      fPairLocationME[i]->Set(fMultLimit,fDefaultsInt);
           
      // Normalization Utilities
      fOtherPairLocation1[0][i]->Set(fMultLimit,fDefaultsInt);
      fOtherPairLocation1[1][i]->Set(fMultLimit,fDefaultsInt);
      fOtherPairLocation2[0][i]->Set(fMultLimit,fDefaultsInt);
      fOtherPairLocation2[1][i]->Set(fMultLimit,fDefaultsInt);
      fNormPairSwitch[0][i]->Set(fMultLimit,fDefaultsCharMult);
      fNormPairSwitch[1][i]->Set(fMultLimit,fDefaultsCharMult);
      fNormPairSwitch[2][i]->Set(fMultLimit,fDefaultsCharMult);
      numOtherPairs1[0][i]=0;
      numOtherPairs1[1][i]=0;
      numOtherPairs2[0][i]=0;
      numOtherPairs2[1][i]=0;
      
      // Track Merging/Splitting Utilities
      fPairSplitCut[0][i]->Set(fMultLimit,fDefaultsCharMult);// P11
      fPairSplitCut[1][i]->Set(fMultLimit,fDefaultsCharMult);// P12
      fPairSplitCut[2][i]->Set(fMultLimit,fDefaultsCharMult);// P13
      fPairSplitCut[3][i]->Set(fMultLimit,fDefaultsCharMult);// P23
    }

    // Reset the temp Normalization counters
    for(Int_t i=0; i<2; i++){// Charge1
      for(Int_t j=0; j<2; j++){// Charge2
	for(Int_t k=0; k<2; k++){// Charge3
	  for(Int_t l=0; l<10; l++){// FillIndex (species Combination)
	    for(Int_t m=0; m<5; m++){// Term (Cumulant term)
	      tempNormFillCount[i][j][k][l][m] = 0;
	    }
	  }
	}
      }
    }
  	      
 

    /////////////////////////////////////////////////////////////////
    // extended range Q3 baseline
    /*for(Int_t iter=0; iter<3; iter++){
      for (Int_t i=0; i<myTracks; i++) {
	
	Int_t en2=0;
	if(iter==2) en2=1;
	Int_t start2=i+1;
	if(en2!=0) start2=0;
	// 2nd particle
	for (Int_t j=start2; j<(fEvt+en2)->fNtracks; j++) {
	  if((fEvt)->fTracks[i].fCharge != (fEvt+en2)->fTracks[j].fCharge) continue;
	  key1 = (fEvt)->fTracks[i].fKey;
	  key2 = (fEvt+en2)->fTracks[j].fKey;
	  Short_t fillIndex2 = FillIndex2part(key1+key2);
	  pVect1[0]=(fEvt)->fTracks[i].fEaccepted; pVect2[0]=(fEvt+en2)->fTracks[j].fEaccepted;
	  pVect1[1]=(fEvt)->fTracks[i].fP[0];      pVect2[1]=(fEvt+en2)->fTracks[j].fP[0];
	  pVect1[2]=(fEvt)->fTracks[i].fP[1];      pVect2[2]=(fEvt+en2)->fTracks[j].fP[1];
	  pVect1[3]=(fEvt)->fTracks[i].fP[2];      pVect2[3]=(fEvt+en2)->fTracks[j].fP[2];
	  qinv12 = GetQinv(fillIndex2, pVect1, pVect2);
	  
	  if(qinv12>0.5) continue;
	  if(!AcceptPair(&((fEvt)->fTracks[i]), &((fEvt+en2)->fTracks[j]))) continue;
	  
	  Int_t en3=0;
	  if(iter==1) en3=1;
	  if(iter==2) en3=2;
	  Int_t start3=j+1;
	  if(iter>0) start3=0;
	  // 3nd particle
	  for (Int_t k=start3; k<(fEvt+en3)->fNtracks; k++) {
	    if((fEvt)->fTracks[i].fCharge != (fEvt+en3)->fTracks[k].fCharge) continue;
	    pVect3[0]=(fEvt+en3)->fTracks[k].fEaccepted;
	    pVect3[1]=(fEvt+en3)->fTracks[k].fP[0];
	    pVect3[2]=(fEvt+en3)->fTracks[k].fP[1];
	    pVect3[3]=(fEvt+en3)->fTracks[k].fP[2];
	    qinv13 = GetQinv(fillIndex2, pVect1, pVect3);
	    if(qinv13>0.5) continue;
	    qinv23 = GetQinv(fillIndex2, pVect2, pVect3);
	    if(qinv23>0.5) continue;
	    if(!AcceptPair(&((fEvt)->fTracks[i]), &((fEvt+en3)->fTracks[k]))) continue;
	    if(!AcceptPair(&((fEvt+en2)->fTracks[j]), &((fEvt+en3)->fTracks[k]))) continue;

	    q3 = sqrt(pow(qinv12,2) + pow(qinv13,2) + pow(qinv23,2));

	    if(iter==0) ((TH1D*)fOutputList->FindObject("fExtendedQ3Histo_term1"))->Fill(q3);
	    if(iter==1) ((TH1D*)fOutputList->FindObject("fExtendedQ3Histo_term2"))->Fill(q3);
	    if(iter==2) ((TH1D*)fOutputList->FindObject("fExtendedQ3Histo_term5"))->Fill(q3);
	    
	  }
	}
      }
    }
    */
    ///////////////////////////////////////////////////////
    // Start the pairing process
    // P11 pairing
    // 1st Particle
  
    for (Int_t i=0; i<myTracks; i++) {
         
      Int_t en2=0;
   
      // 2nd particle
      for (Int_t j=i+1; j<(fEvt+en2)->fNtracks; j++) {
	
	key1 = (fEvt)->fTracks[i].fKey;
	key2 = (fEvt+en2)->fTracks[j].fKey;
	Short_t fillIndex2 = FillIndex2part(key1+key2);
	Short_t qCutBin = SetQcutBin(fillIndex2);
	Short_t normBin = SetNormBin(fillIndex2);
	pVect1[0]=(fEvt)->fTracks[i].fEaccepted; pVect2[0]=(fEvt+en2)->fTracks[j].fEaccepted;
	pVect1[1]=(fEvt)->fTracks[i].fP[0];      pVect2[1]=(fEvt+en2)->fTracks[j].fP[0];
	pVect1[2]=(fEvt)->fTracks[i].fP[1];      pVect2[2]=(fEvt+en2)->fTracks[j].fP[1];
	pVect1[3]=(fEvt)->fTracks[i].fP[2];      pVect2[3]=(fEvt+en2)->fTracks[j].fP[2];
	
	//
	
	qinv12 = GetQinv(fillIndex2, pVect1, pVect2);
	GetQosl(pVect1, pVect2, qout, qside, qlong);
	transK12 = sqrt(pow(pVect1[1]+pVect2[1],2) + pow(pVect1[2]+pVect2[2],2))/2.;


	//

	///////////////////////////////
	ch1 = Int_t(((fEvt)->fTracks[i].fCharge + 1)/2.);
	ch2 = Int_t(((fEvt+en2)->fTracks[j].fCharge + 1)/2.);
	SetFillBins2(fillIndex2, key1, key2, ch1, ch2, bin1, bin2);
	
	if(fMCcase && ch1==ch2 && fMbin==0 && qinv12<0.2){
	  //////////////////////////
	  // pad-row method testing
	  Float_t coeff = (5)*0.2*(0.18/1.2);// 5 to evaluate at 1.0m in TPC
	  Float_t phi1 = (fEvt)->fTracks[i].fPhi - asin((fEvt)->fTracks[i].fCharge*(0.1*fBfield)*coeff/(fEvt)->fTracks[i].fPt);
	  if(phi1 > 2*PI) phi1 -= 2*PI;
	  if(phi1 < 0) phi1 += 2*PI;
	  Float_t phi2 = (fEvt+en2)->fTracks[j].fPhi - asin((fEvt+en2)->fTracks[j].fCharge*(0.1*fBfield)*coeff/(fEvt+en2)->fTracks[j].fPt);
	  if(phi2 > 2*PI) phi2 -= 2*PI;
	  if(phi2 < 0) phi2 += 2*PI;
	  Float_t deltaphi = phi1 - phi2;
	  if(deltaphi > PI) deltaphi -= PI;
	  if(deltaphi < -PI) deltaphi += PI;
	  
	  Int_t ncl1 = (fEvt)->fTracks[i].fClusterMap.GetNbits();
	  Int_t ncl2 = (fEvt+en2)->fTracks[j].fClusterMap.GetNbits();
	  Float_t sumCls = 0; Float_t sumSha = 0; Float_t sumQ = 0;
	  Double_t shfrac = 0; //Double_t qfactor = 0;
	  for(Int_t imap = 0; imap < ncl1 && imap < ncl2; imap++) {
	    if ((fEvt)->fTracks[i].fClusterMap.TestBitNumber(imap) && (fEvt+en2)->fTracks[j].fClusterMap.TestBitNumber(imap)) {// Both clusters
	      if ((fEvt)->fTracks[i].fSharedMap.TestBitNumber(imap) && (fEvt+en2)->fTracks[j].fSharedMap.TestBitNumber(imap)) { // Shared
		sumQ++;
		sumCls+=2;
		sumSha+=2;}
	      else {sumQ--; sumCls+=2;}
	    }
	    else if ((fEvt)->fTracks[i].fClusterMap.TestBitNumber(imap) || (fEvt+en2)->fTracks[j].fClusterMap.TestBitNumber(imap)) {// Non shared
	      sumQ++;
	      sumCls++;}
	  }
	  if (sumCls>0) {
	    //qfactor = sumQ*1.0/sumCls;
	    shfrac = sumSha*1.0/sumCls;
	  }
	  if(fabs(deltaphi)<0.07 && fabs((fEvt)->fTracks[i].fEta-(fEvt+en2)->fTracks[j].fEta) < 0.03){
	    ((TH3D*)fOutputList->FindObject("fPairsPadRowNum"))->Fill(transK12, shfrac, qinv12);
	  }
	  
	  for(Int_t rstep=0; rstep<10; rstep++){
	    coeff = (rstep)*0.2*(0.18/1.2);
	    phi1 = (fEvt)->fTracks[i].fPhi - asin((fEvt)->fTracks[i].fCharge*(0.1*fBfield)*coeff/(fEvt)->fTracks[i].fPt);
	    if(phi1 > 2*PI) phi1 -= 2*PI;
	    if(phi1 < 0) phi1 += 2*PI;
	    phi2 = (fEvt+en2)->fTracks[j].fPhi - asin((fEvt+en2)->fTracks[j].fCharge*(0.1*fBfield)*coeff/(fEvt+en2)->fTracks[j].fPt);
	    if(phi2 > 2*PI) phi2 -= 2*PI;
	    if(phi2 < 0) phi2 += 2*PI;
	    deltaphi = phi1 - phi2;
	    if(deltaphi > PI) deltaphi -= PI;
	    if(deltaphi < -PI) deltaphi += PI;

	    if(fabs((fEvt)->fTracks[i].fEta-(fEvt+en2)->fTracks[j].fEta) < 0.03){
	      ((TH3F*)fOutputList->FindObject("fPairsShareFracDPhiNum"))->Fill(rstep, shfrac, deltaphi);
	    }
	    //if(shfrac < 0.05){
	    ((TH3F*)fOutputList->FindObject("fPairsDetaDPhiNum"))->Fill(rstep, (fEvt)->fTracks[i].fEta-(fEvt+en2)->fTracks[j].fEta, deltaphi);
	    //}
	  }
	  
	  
	}// MCcase and pair selection
	
	// Pair Splitting/Merging cut
	if(qinv12 < fQLowerCut) continue;// remove unwanted low-q pairs (also a type of track splitting/merging cut)
	if(ch1 == ch2 && !fGeneratorOnly){
	  if(!AcceptPair(&((fEvt)->fTracks[i]), &((fEvt+en2)->fTracks[j]))) {
	    fPairSplitCut[0][i]->AddAt('1',j);
	    ((TH1F*)fOutputList->FindObject("fRejectedPairs"))->Fill(qinv12);
	    continue;
	  }
	}
	
	// HIJING tests 
	if(fMCcase && fillIndex2==0){
	  
	  // Check that label does not exceed stack size
	  if((fEvt)->fTracks[i].fLabel < (fEvt)->fMCarraySize && (fEvt+en2)->fTracks[j].fLabel < (fEvt+en2)->fMCarraySize){
	    pVect1MC[0]=sqrt(pow((fEvt)->fMCtracks[abs((fEvt)->fTracks[i].fLabel)].fPtot,2)+pow(fTrueMassPi,2)); 
	    pVect2MC[0]=sqrt(pow((fEvt+en2)->fMCtracks[abs((fEvt+en2)->fTracks[j].fLabel)].fPtot,2)+pow(fTrueMassPi,2));
	    pVect1MC[1]=(fEvt)->fMCtracks[abs((fEvt)->fTracks[i].fLabel)].fPx; pVect2MC[1]=(fEvt+en2)->fMCtracks[abs((fEvt+en2)->fTracks[j].fLabel)].fPx;
	    pVect1MC[2]=(fEvt)->fMCtracks[abs((fEvt)->fTracks[i].fLabel)].fPy; pVect2MC[2]=(fEvt+en2)->fMCtracks[abs((fEvt+en2)->fTracks[j].fLabel)].fPy;
	    pVect1MC[3]=(fEvt)->fMCtracks[abs((fEvt)->fTracks[i].fLabel)].fPz; pVect2MC[3]=(fEvt+en2)->fMCtracks[abs((fEvt+en2)->fTracks[j].fLabel)].fPz;
	    qinv12MC = GetQinv(fillIndex2, pVect1MC, pVect2MC);
	    GetQosl(pVect1MC, pVect2MC, qoutMC, qsideMC, qlongMC);
	    if(qinv12<0.1 && ch1==ch2) {
	      ((TProfile*)fOutputList->FindObject("fQsmearMean"))->Fill(1.,qinv12-qinv12MC); 
	      ((TProfile*)fOutputList->FindObject("fQsmearSq"))->Fill(1.,1000.*pow(qinv12-qinv12MC,2));
	      ((TH1D*)fOutputList->FindObject("fQDist"))->Fill(qinv12-qinv12MC);
	    }
	    
	    
	   
	    mcParticle1 = (AliAODMCParticle*)mcArray->At(abs((fEvt)->fTracks[i].fLabel));
	    mcParticle2 = (AliAODMCParticle*)mcArray->At(abs((fEvt+en2)->fTracks[j].fLabel));
	    
	   
	    // secondary contamination
	    if(abs(mcParticle1->GetPdgCode())==211 && abs(mcParticle2->GetPdgCode())==211){
	      if(ch1==ch2) {
		((TH3D*)fOutputList->FindObject("fAllSCPionPairs"))->Fill(fMbin+1, transK12, qinv12);
		if(!mcParticle1->IsSecondaryFromWeakDecay() && !mcParticle2->IsSecondaryFromWeakDecay()) {
		  ((TH3D*)fOutputList->FindObject("fPrimarySCPionPairs"))->Fill(fMbin+1, transK12, qinv12);
		}	      
	      }else{
		((TH3D*)fOutputList->FindObject("fAllMCPionPairs"))->Fill(fMbin+1, transK12, qinv12);
		if(!mcParticle1->IsSecondaryFromWeakDecay() && !mcParticle2->IsSecondaryFromWeakDecay()) {
		  ((TH3D*)fOutputList->FindObject("fPrimaryMCPionPairs"))->Fill(fMbin+1, transK12, qinv12);
		}
	      }
	    }

	    Float_t rForQW=5.0;
	    if(fFSIindex<=1) rForQW=10;
	    else if(fFSIindex==2) rForQW=9;
	    else if(fFSIindex==3) rForQW=8;
	    else if(fFSIindex==4) rForQW=7;
	    else if(fFSIindex==5) rForQW=6;
	    else if(fFSIindex==6) rForQW=5;
	    else if(fFSIindex==7) rForQW=4;
	    else if(fFSIindex==8) rForQW=3;
	    else rForQW=2;
	    
	    Charge1[bin1].Charge2[bin2].SC[fillIndex2].MB[fMbin].EDB[fEDbin].TwoPT[en2].fMCqinv->Fill(qinv12MC, MCWeight(ch1,ch2,rForQW,10,qinv12MC));// was 4,5
	    Charge1[bin1].Charge2[bin2].SC[fillIndex2].MB[fMbin].EDB[fEDbin].TwoPT[en2].fMCqinvQW->Fill(qinv12MC, qinv12MC*MCWeight(ch1,ch2,rForQW,10,qinv12MC));// was 4,5
	    // pion purity
	    Charge1[bin1].Charge2[bin2].SC[fillIndex2].MB[fMbin].EDB[fEDbin].TwoPT[en2].fPIDpurityDen->Fill(transK12, qinv12);
	    Int_t SCNumber = 1;
	    
	    if((abs(mcParticle1->GetPdgCode()) + abs(mcParticle2->GetPdgCode()))==22) SCNumber=1;// e-e
	    else if((abs(mcParticle1->GetPdgCode()) + abs(mcParticle2->GetPdgCode()))==24) SCNumber=2;// e-mu
	    else if((abs(mcParticle1->GetPdgCode()) + abs(mcParticle2->GetPdgCode()))==222) SCNumber=3;// e-pi
	    else if((abs(mcParticle1->GetPdgCode()) + abs(mcParticle2->GetPdgCode()))==332) SCNumber=4;// e-k
	    else if((abs(mcParticle1->GetPdgCode()) + abs(mcParticle2->GetPdgCode()))==2223) SCNumber=5;// e-p
	    else if((abs(mcParticle1->GetPdgCode()) + abs(mcParticle2->GetPdgCode()))==26) SCNumber=6;// mu-mu
	    else if((abs(mcParticle1->GetPdgCode()) + abs(mcParticle2->GetPdgCode()))==224) SCNumber=7;// mu-pi
	    else if((abs(mcParticle1->GetPdgCode()) + abs(mcParticle2->GetPdgCode()))==334) SCNumber=8;// mu-k
	    else if((abs(mcParticle1->GetPdgCode()) + abs(mcParticle2->GetPdgCode()))==2225) SCNumber=9;// mu-p
	    else if((abs(mcParticle1->GetPdgCode()) + abs(mcParticle2->GetPdgCode()))==422) SCNumber=10;// pi-pi
	    else if((abs(mcParticle1->GetPdgCode()) + abs(mcParticle2->GetPdgCode()))==532) SCNumber=11;// pi-k
	    else if((abs(mcParticle1->GetPdgCode()) + abs(mcParticle2->GetPdgCode()))==2423) SCNumber=12;// pi-p
	    else if((abs(mcParticle1->GetPdgCode()) + abs(mcParticle2->GetPdgCode()))==642) SCNumber=13;// k-k
	    else if((abs(mcParticle1->GetPdgCode()) + abs(mcParticle2->GetPdgCode()))==2533) SCNumber=14;// k-p
	    else if((abs(mcParticle1->GetPdgCode()) + abs(mcParticle2->GetPdgCode()))==4424) SCNumber=15;// p-p
	    else SCNumber=16;
	    
	    Charge1[bin1].Charge2[bin2].SC[fillIndex2].MB[fMbin].EDB[fEDbin].TwoPT[en2].fPIDpurityNum->Fill(SCNumber, transK12, qinv12);
	    
	   
	    ///////////////////////
	    // muon contamination
	    if(qinv12 < fQcut[0] && ((fEvt)->fTracks[i].fLabel != (fEvt+en2)->fTracks[j].fLabel)){
	      if(abs(mcParticle1->GetPdgCode())==13 || abs(mcParticle2->GetPdgCode())==13){// muon check
		Float_t Pparent1[4]={pVect1MC[0],pVect1MC[1],pVect1MC[2],pVect1MC[3]}; 
		Float_t Pparent2[4]={pVect2MC[0],pVect2MC[1],pVect2MC[2],pVect2MC[3]};
		Bool_t pionParent1=kFALSE, pionParent2=kFALSE;
		if(abs(mcParticle1->GetPdgCode())==13) {
		  AliAODMCParticle *parent1=(AliAODMCParticle*)mcArray->At(mcParticle1->GetMother());
		  if(abs(parent1->GetPdgCode())==211) {
		    pionParent1=kTRUE;
		    Pparent1[1] = parent1->Px(); Pparent1[2] = parent1->Py(); Pparent1[3] = parent1->Pz();
		    Pparent1[0] = sqrt(pow(Pparent1[1],2)+pow(Pparent1[2],2)+pow(Pparent1[3],2)+pow(fTrueMassPi,2));
		  }
		}
		// 
		if(abs(mcParticle2->GetPdgCode())==13) {
		  AliAODMCParticle *parent2=(AliAODMCParticle*)mcArray->At(mcParticle2->GetMother());
		  if(abs(parent2->GetPdgCode())==211) {
		    pionParent2=kTRUE;
		    Pparent2[1] = parent2->Px(); Pparent2[2] = parent2->Py(); Pparent2[3] = parent2->Pz();
		    Pparent2[0] = sqrt(pow(Pparent2[1],2)+pow(Pparent2[2],2)+pow(Pparent2[3],2)+pow(fTrueMassPi,2));
		  }
		}
		
		Float_t parentQinv12 = GetQinv(0, Pparent1, Pparent2);
		Float_t WInput = 1.0, muonPionK12=1.0, pionPionK12=1.0;
		if(parentQinv12 > 0.001 && parentQinv12 < 0.3) {
		  WInput = MCWeight(ch1,ch2, fRMax, 25, parentQinv12);
		  muonPionK12 = FSICorrelation2(ch1, ch2, qinv12MC);
		  pionPionK12 = FSICorrelation2(ch1, ch2, parentQinv12);
		}
		Int_t ChComb=0;
		if(ch1 != ch2) ChComb=1;
		if(pionParent1 || pionParent2){
		  ((TH3D*)fOutputList->FindObject("fMuonContamSmearedNum2"))->Fill(ChComb, transK12, qinv12MC, WInput);
		  ((TH3D*)fOutputList->FindObject("fMuonContamSmearedDen2"))->Fill(ChComb, transK12, qinv12MC);
		  ((TH3D*)fOutputList->FindObject("fMuonContamIdealNum2"))->Fill(ChComb, transK12, parentQinv12, WInput);
		  ((TH3D*)fOutputList->FindObject("fMuonContamIdealDen2"))->Fill(ChComb, transK12, parentQinv12);
		  ((TH3D*)fOutputList->FindObject("fMuonPionDeltaQinv"))->Fill(ChComb, transK12, qinv12MC-parentQinv12);
		  ((TH3D*)fOutputList->FindObject("fMuonPionK2"))->Fill(ChComb, transK12, qinv12MC, muonPionK12);
		  ((TH3D*)fOutputList->FindObject("fPionPionK2"))->Fill(ChComb, transK12, parentQinv12, pionPionK12);
		}
		////////////////////////////////////
		// 3rd particle
		Int_t en3=0;
		for (Int_t k=j+1; k<(fEvt+en3)->fNtracks; k++) {
		  pVect3[0]=(fEvt+en3)->fTracks[k].fEaccepted;
		  pVect3[1]=(fEvt+en3)->fTracks[k].fP[0];
		  pVect3[2]=(fEvt+en3)->fTracks[k].fP[1];
		  pVect3[3]=(fEvt+en3)->fTracks[k].fP[2];
		  //
		  qinv13 = GetQinv(0, pVect1, pVect3);
		  qinv23 = GetQinv(0, pVect2, pVect3);
		  if(qinv13 > fQcut[0] || qinv23 > fQcut[0]) continue;
		  
		  if(qinv13 < fQLowerCut || qinv23 < fQLowerCut) continue;// remove unwanted low-q pairs (also a type of track splitting/merging cut)
		  if(ch1 == ch3 && !fGeneratorOnly){
		    if(!AcceptPair(&((fEvt)->fTracks[i]), &((fEvt+en3)->fTracks[k]))) {
		      continue;
		    }
		  }
		  if(ch2 == ch3 && !fGeneratorOnly){
		    if(!AcceptPair(&((fEvt+en2)->fTracks[j]), &((fEvt+en3)->fTracks[k]))) {
		      continue;
		    }
		  }
		  
		  if((fEvt+en3)->fTracks[k].fLabel == (fEvt+en2)->fTracks[j].fLabel) continue;
		  if((fEvt+en3)->fTracks[k].fLabel == (fEvt)->fTracks[i].fLabel) continue;
		  
		  if((fEvt+en3)->fTracks[k].fLabel < (fEvt+en3)->fMCarraySize){
		    AliAODMCParticle *mcParticle3 = (AliAODMCParticle*)mcArray->At(abs((fEvt+en3)->fTracks[k].fLabel));
		    
		    ch3 = Int_t(((fEvt+en3)->fTracks[k].fCharge + 1)/2.);
		    pVect3MC[0]=sqrt(pow((fEvt+en3)->fMCtracks[abs((fEvt+en3)->fTracks[k].fLabel)].fPtot,2)+pow(fTrueMassPi,2)); 
		    pVect3MC[1]=(fEvt+en3)->fMCtracks[abs((fEvt+en3)->fTracks[k].fLabel)].fPx;
		    pVect3MC[2]=(fEvt+en3)->fMCtracks[abs((fEvt+en3)->fTracks[k].fLabel)].fPy;
		    pVect3MC[3]=(fEvt+en3)->fMCtracks[abs((fEvt+en3)->fTracks[k].fLabel)].fPz;
		    qinv13MC = GetQinv(0, pVect1MC, pVect3MC);
		    qinv23MC = GetQinv(0, pVect2MC, pVect3MC);
		    
		    q3MC = sqrt(pow(qinv12MC,2)+pow(qinv13MC,2)+pow(qinv23MC,2));
		    transK3 = sqrt( pow(pVect1[1]+pVect2[1]+pVect3[1],2) + pow(pVect1[2]+pVect2[2]+pVect3[2],2))/3.;
		    Int_t K3index=0;
		    if(transK3>0.3) K3index=1;

		    Float_t Pparent3[4]={pVect3MC[0],pVect3MC[1],pVect3MC[2],pVect3MC[3]}; 
		    Bool_t pionParent3=kFALSE;
		    if(abs(mcParticle3->GetPdgCode())==13){// muon check
		      AliAODMCParticle *parent3=(AliAODMCParticle*)mcArray->At(mcParticle3->GetMother());
		      if(abs(parent3->GetPdgCode())==211) {
			pionParent3=kTRUE;
			Pparent3[1] = parent3->Px(); Pparent3[2] = parent3->Py(); Pparent3[3] = parent3->Pz();
			Pparent3[0] = sqrt(pow(Pparent3[1],2)+pow(Pparent3[2],2)+pow(Pparent3[3],2)+pow(fTrueMassPi,2));
		      }
		    }
		    
		    Float_t parentQinv13 = GetQinv(0, Pparent1, Pparent3);
		    Float_t parentQinv23 = GetQinv(0, Pparent2, Pparent3);
		    Float_t parentQ3 = sqrt(pow(parentQinv12,2) + pow(parentQinv13,2) + pow(parentQinv23,2));
		    if(parentQ3 >= 0.5) continue;
		    if(parentQinv12 < 0.001) continue;
		    if(parentQinv13 < 0.001) continue;
		    if(parentQinv23 < 0.001) continue;
		    
		    if(!pionParent1 && !pionParent2 && !pionParent3) continue;// want at least one pion-->muon
		    
		    Int_t ChCombtriplet=0;
		    if(ch1!=ch2 || ch1!=ch3 || ch2!=ch3) ChCombtriplet=1;
		    Float_t WInput3=1.0;
		    Float_t muonPionK13=1.0, muonPionK23=1.0;
		    Float_t pionPionK13=1.0, pionPionK23=1.0;
		    muonPionK13 = FSICorrelation2(ch1, ch3, qinv13MC);
		    pionPionK13 = FSICorrelation2(ch1, ch3, parentQinv13);
		    muonPionK23 = FSICorrelation2(ch2, ch3, qinv23MC);
		    pionPionK23 = FSICorrelation2(ch2, ch3, parentQinv23);
		    if(ChCombtriplet==0) WInput3 = MCWeight3D(kTRUE, 1, 25, parentQinv12, parentQinv13, parentQinv23);
		    else{
		      if(ch1==ch2) WInput3 = MCWeight3D(kFALSE, 1, 25, parentQinv12, parentQinv13, parentQinv23);
		      else if(ch1==ch3) WInput3 = MCWeight3D(kFALSE, 1, 25, parentQinv13, parentQinv12, parentQinv23);
		      else WInput3 = MCWeight3D(kFALSE, 1, 25, parentQinv23, parentQinv12, parentQinv13);
		    }
		    if(WInput3>0 && WInput3<10.) {
		      ((TH3D*)fOutputList->FindObject("fMuonContamSmearedNum3"))->Fill(ChCombtriplet, K3index, q3MC, WInput3);
		      ((TH3D*)fOutputList->FindObject("fMuonContamSmearedDen3"))->Fill(ChCombtriplet, K3index, q3MC);
		      ((TH3D*)fOutputList->FindObject("fMuonContamIdealNum3"))->Fill(ChCombtriplet, K3index, parentQ3, WInput3);
		      ((TH3D*)fOutputList->FindObject("fMuonContamIdealDen3"))->Fill(ChCombtriplet, K3index, parentQ3);
		      ((TH3D*)fOutputList->FindObject("fMuonPionK3"))->Fill(ChCombtriplet, K3index, q3MC, muonPionK12*muonPionK13*muonPionK23);
		      ((TH3D*)fOutputList->FindObject("fPionPionK3"))->Fill(ChCombtriplet, K3index, parentQ3, pionPionK12*pionPionK13*pionPionK23);
		    }
		  }//label check of 3
		}// 3rd particle
	      }// muon code check of 1 and 2
	    }// qinv12 cut
	  }// label check 2
	}// MC case
	
	//////////////////////////////////////////
	// 2-particle term
	Charge1[bin1].Charge2[bin2].SC[fillIndex2].MB[fMbin].EDB[fEDbin].TwoPT[en2].fExplicit2->Fill(transK12, qinv12);
	Charge1[bin1].Charge2[bin2].SC[fillIndex2].MB[fMbin].EDB[fEDbin].TwoPT[en2].fExplicit2QW->Fill(transK12, qinv12, qinv12);
	Charge1[bin1].Charge2[bin2].SC[fillIndex2].MB[fMbin].EDB[fEDbin].TwoPT[en2].fAvgP->Fill(transK12, qinv12, (fEvt)->fTracks[i].fMom);
	Charge1[bin1].Charge2[bin2].SC[fillIndex2].MB[fMbin].EDB[fEDbin].TwoPT[en2].fAvgP->Fill(transK12, qinv12, (fEvt+en2)->fTracks[j].fMom);
	//
	if(qinv12<fQupperBound) Charge1[bin1].Charge2[bin2].SC[fillIndex2].MB[fMbin].EDB[fEDbin].TwoPT[en2].fMeanKt->Fill(transK12);
	
	//////////////////////////////////////////
	
	

	// exit out of loop if there are too many pairs  
	if(pairCountSE >= kPairLimit) {exitCode=kTRUE; continue;}// Too many SE pairs
	if(exitCode) continue;

	//////////////////////////
	// Enforce the Qcut
	if(qinv12 <= fQcut[qCutBin]) {
	 
	  ///////////////////////////
	  // particle 1
	  (fEvt)->fPairsSE[pairCountSE].fP1[0] = (fEvt)->fTracks[i].fP[0];
	  (fEvt)->fPairsSE[pairCountSE].fP1[1] = (fEvt)->fTracks[i].fP[1];
	  (fEvt)->fPairsSE[pairCountSE].fP1[2] = (fEvt)->fTracks[i].fP[2];
	  (fEvt)->fPairsSE[pairCountSE].fE1 = (fEvt)->fTracks[i].fEaccepted;
	  (fEvt)->fPairsSE[pairCountSE].fCharge1 = (fEvt)->fTracks[i].fCharge;
	  (fEvt)->fPairsSE[pairCountSE].fIndex1 = i;
	  (fEvt)->fPairsSE[pairCountSE].fKey1 = key1;
	  (fEvt)->fPairsSE[pairCountSE].fLabel1 = (fEvt)->fTracks[i].fLabel;
	  if(fMCcase && ((fEvt)->fTracks[i].fLabel < (fEvt)->fMCarraySize)){
	    (fEvt)->fPairsSE[pairCountSE].fP1MC[0] = (fEvt)->fMCtracks[abs((fEvt)->fTracks[i].fLabel)].fPx;
	    (fEvt)->fPairsSE[pairCountSE].fP1MC[1] = (fEvt)->fMCtracks[abs((fEvt)->fTracks[i].fLabel)].fPy;
	    (fEvt)->fPairsSE[pairCountSE].fP1MC[2] = (fEvt)->fMCtracks[abs((fEvt)->fTracks[i].fLabel)].fPz;
	  }
	  // particle 2
	  (fEvt)->fPairsSE[pairCountSE].fP2[0] = (fEvt+en2)->fTracks[j].fP[0];
	  (fEvt)->fPairsSE[pairCountSE].fP2[1] = (fEvt+en2)->fTracks[j].fP[1];
	  (fEvt)->fPairsSE[pairCountSE].fP2[2] = (fEvt+en2)->fTracks[j].fP[2];
	  (fEvt)->fPairsSE[pairCountSE].fE2 = (fEvt+en2)->fTracks[j].fEaccepted;
	  (fEvt)->fPairsSE[pairCountSE].fCharge2 = (fEvt+en2)->fTracks[j].fCharge;
	  (fEvt)->fPairsSE[pairCountSE].fIndex2 = j;
	  (fEvt)->fPairsSE[pairCountSE].fKey2 = key2;
	  (fEvt)->fPairsSE[pairCountSE].fLabel2 = (fEvt+en2)->fTracks[j].fLabel;
	  if(fMCcase && ((fEvt+en2)->fTracks[j].fLabel < (fEvt+en2)->fMCarraySize)){
	    (fEvt)->fPairsSE[pairCountSE].fP2MC[0] = (fEvt+en2)->fMCtracks[abs((fEvt+en2)->fTracks[j].fLabel)].fPx;
	    (fEvt)->fPairsSE[pairCountSE].fP2MC[1] = (fEvt+en2)->fMCtracks[abs((fEvt+en2)->fTracks[j].fLabel)].fPy;
	    (fEvt)->fPairsSE[pairCountSE].fP2MC[2] = (fEvt+en2)->fMCtracks[abs((fEvt+en2)->fTracks[j].fLabel)].fPz;
	  }
	
	  (fEvt)->fPairsSE[pairCountSE].fQinv = qinv12;
	  
	  fPairLocationSE[i]->AddAt(pairCountSE,j);
	  
	  pairCountSE++;
	  
	}

	
	/////////////////////////////////////////////////////////
	// Normalization Region
	
	if((qinv12 >= fNormQcutLow[normBin]) && (qinv12 < fNormQcutHigh[normBin])){
	  // particle 1
	  fNormPairs[en2][normPairCount[en2]].fCharge1 = (fEvt)->fTracks[i].fCharge;
	  fNormPairs[en2][normPairCount[en2]].fIndex1 = i;
	  fNormPairs[en2][normPairCount[en2]].fKey1 = (fEvt)->fTracks[i].fKey;
	  // particle 2
	  fNormPairs[en2][normPairCount[en2]].fCharge2 = (fEvt+en2)->fTracks[j].fCharge;
	  fNormPairs[en2][normPairCount[en2]].fIndex2 = j;
	  fNormPairs[en2][normPairCount[en2]].fKey2 = (fEvt+en2)->fTracks[j].fKey;
	  
	  
	  //other past pairs with particle j
	  for(Int_t pastpair=0; pastpair<numOtherPairs2[0][j]; pastpair++){
	    Int_t locationOtherPair = fOtherPairLocation2[0][j]->At(pastpair);
	    if(locationOtherPair < 0) continue;// no pair there
	    Int_t indexOther1 = i;
	    Int_t indexOther2 = fNormPairs[0][ locationOtherPair ].fIndex1;
	    
	    // Both possible orderings of other indexes
	    if( (fNormPairSwitch[0][indexOther1]->At(indexOther2)=='1') || (fNormPairSwitch[0][indexOther2]->At(indexOther1)=='1')) {
	      
	      // 1 and 2 are from SE
	      ch3 = Int_t((fNormPairs[0][ locationOtherPair ].fCharge1 + 1)/2.);
	      key3 = fNormPairs[0][ locationOtherPair ].fKey1;
	      Short_t fillIndex3 = FillIndex3part(key1+key2+key3);
	      SetFillBins3(fillIndex3, key1, key2, key3, ch1, ch2, ch3, 0, bin1, bin2, bin3, fDummyB, fDummyB, fDummyB);
	      
	      tempNormFillCount[bin1][bin2][bin3][fillIndex3][0]++;
	    }
	    
	  }// pastpair P11 loop
	  
	  
	  fNormPairSwitch[en2][i]->AddAt('1',j);	    
	  fOtherPairLocation1[en2][i]->AddAt(normPairCount[en2], numOtherPairs1[en2][i]);// location of otherpair with i as 1st particle
	  fOtherPairLocation2[en2][j]->AddAt(normPairCount[en2], numOtherPairs2[en2][j]);// location of otherpair with j as 2nd particle
	  
	  numOtherPairs1[en2][i]++;
	  numOtherPairs2[en2][j]++;
	  
	  
	  normPairCount[en2]++;
	  if(normPairCount[en2] >= kNormPairLimit) exitCode=kTRUE;
	  
	}// Norm Region
	
      }// j particle
    }// i particle
    
    
    
    //////////////////////////////////////////////
    // P12 pairing
    // 1st Particle
    for (Int_t i=0; i<myTracks; i++) {
         
      Int_t en2=1;

      // 2nd particle
      for (Int_t j=0; j<(fEvt+en2)->fNtracks; j++) {
	  	
	key1 = (fEvt)->fTracks[i].fKey;
	key2 = (fEvt+en2)->fTracks[j].fKey;
	Short_t fillIndex2 = FillIndex2part(key1+key2);
	Short_t qCutBin = SetQcutBin(fillIndex2);
	Short_t normBin = SetNormBin(fillIndex2);
	pVect1[0]=(fEvt)->fTracks[i].fEaccepted; pVect2[0]=(fEvt+en2)->fTracks[j].fEaccepted;
	pVect1[1]=(fEvt)->fTracks[i].fP[0];      pVect2[1]=(fEvt+en2)->fTracks[j].fP[0];
	pVect1[2]=(fEvt)->fTracks[i].fP[1];      pVect2[2]=(fEvt+en2)->fTracks[j].fP[1];
	pVect1[3]=(fEvt)->fTracks[i].fP[2];      pVect2[3]=(fEvt+en2)->fTracks[j].fP[2];
	
	qinv12 = GetQinv(fillIndex2, pVect1, pVect2);
	GetQosl(pVect1, pVect2, qout, qside, qlong);
	transK12 = sqrt(pow(pVect1[1]+pVect2[1],2) + pow(pVect1[2]+pVect2[2],2))/2.;
	//if(transK12 <= 0.35) fEDbin=0;
	//else fEDbin=1;


	///////////////////////////////
	ch1 = Int_t(((fEvt)->fTracks[i].fCharge + 1)/2.);
	ch2 = Int_t(((fEvt+en2)->fTracks[j].fCharge + 1)/2.);
	SetFillBins2(fillIndex2, key1, key2, ch1, ch2, bin1, bin2);
	
	if(fMCcase){
	  if((fEvt)->fTracks[i].fLabel < (fEvt)->fMCarraySize && (fEvt+en2)->fTracks[j].fLabel < (fEvt+en2)->fMCarraySize){
	    pVect1MC[0]=sqrt(pow((fEvt)->fMCtracks[abs((fEvt)->fTracks[i].fLabel)].fPtot,2)+pow(fTrueMassPi,2)); 
	    pVect2MC[0]=sqrt(pow((fEvt+en2)->fMCtracks[abs((fEvt+en2)->fTracks[j].fLabel)].fPtot,2)+pow(fTrueMassPi,2));
	    pVect1MC[1]=(fEvt)->fMCtracks[abs((fEvt)->fTracks[i].fLabel)].fPx; pVect2MC[1]=(fEvt+en2)->fMCtracks[abs((fEvt+en2)->fTracks[j].fLabel)].fPx;
	    pVect1MC[2]=(fEvt)->fMCtracks[abs((fEvt)->fTracks[i].fLabel)].fPy; pVect2MC[2]=(fEvt+en2)->fMCtracks[abs((fEvt+en2)->fTracks[j].fLabel)].fPy;
	    pVect1MC[3]=(fEvt)->fMCtracks[abs((fEvt)->fTracks[i].fLabel)].fPz; pVect2MC[3]=(fEvt+en2)->fMCtracks[abs((fEvt+en2)->fTracks[j].fLabel)].fPz;
	    qinv12MC = GetQinv(fillIndex2, pVect1MC, pVect2MC);
	    //
	  
	    for(Int_t rIter=0; rIter<fRVALUES; rIter++){
	      for(Int_t myDampIt=0; myDampIt<kNDampValues; myDampIt++){
		Int_t denIndex = rIter*kNDampValues + myDampIt;
		Float_t WInput = MCWeight(ch1,ch2, rIter+kRmin, myDampIt, qinv12MC);
		Charge1[bin1].Charge2[bin2].SC[fillIndex2].MB[fMbin].EDB[fEDbin].TwoPT[0].fIdeal->Fill(denIndex, qinv12MC, WInput);
		Charge1[bin1].Charge2[bin2].SC[fillIndex2].MB[fMbin].EDB[fEDbin].TwoPT[1].fIdeal->Fill(denIndex, qinv12MC);
		Charge1[bin1].Charge2[bin2].SC[fillIndex2].MB[fMbin].EDB[fEDbin].TwoPT[0].fSmeared->Fill(denIndex, qinv12, WInput);
		Charge1[bin1].Charge2[bin2].SC[fillIndex2].MB[fMbin].EDB[fEDbin].TwoPT[1].fSmeared->Fill(denIndex, qinv12);
	      }
	    }
	   
	    /////////////////////////////////////////////////////
	    if(qinv12 <= fQcut[qCutBin]) {// 3-particle MRC
	      
	      // 3-particle MRC
	      Short_t fillIndex3 = 0;
	      key1=1; key2=1; key3=1;
	      Int_t en3 = 2;
	      
	      for (Int_t k=0; k<(fEvt+en3)->fNtracks; k++) {
		if((fEvt+en3)->fTracks[k].fLabel < (fEvt+en3)->fMCarraySize){
		  ch3 = Int_t(((fEvt+en3)->fTracks[k].fCharge + 1)/2.);
		  pVect3[0]=(fEvt+en3)->fTracks[k].fEaccepted;
		  pVect3[1]=(fEvt+en3)->fTracks[k].fP[0];
		  pVect3[2]=(fEvt+en3)->fTracks[k].fP[1];
		  pVect3[3]=(fEvt+en3)->fTracks[k].fP[2];
		  qinv13 = GetQinv(0, pVect1, pVect3);
		  qinv23 = GetQinv(0, pVect2, pVect3);
		  q3 = sqrt(pow(qinv12,2)+pow(qinv13,2)+pow(qinv23,2));
		  
		  if(qinv13 > fQcut[qCutBin] || qinv23 > fQcut[qCutBin]) continue;
		  
		  
		  pVect3MC[0]=sqrt(pow((fEvt+en3)->fMCtracks[abs((fEvt+en3)->fTracks[k].fLabel)].fPtot,2)+pow(fTrueMassPi,2)); 
		  pVect3MC[1]=(fEvt+en3)->fMCtracks[abs((fEvt+en3)->fTracks[k].fLabel)].fPx;
		  pVect3MC[2]=(fEvt+en3)->fMCtracks[abs((fEvt+en3)->fTracks[k].fLabel)].fPy;
		  pVect3MC[3]=(fEvt+en3)->fMCtracks[abs((fEvt+en3)->fTracks[k].fLabel)].fPz;
		  qinv13MC = GetQinv(0, pVect1MC, pVect3MC);
		  qinv23MC = GetQinv(0, pVect2MC, pVect3MC);
		  
		  
		  q3MC = sqrt(pow(qinv12MC,2)+pow(qinv13MC,2)+pow(qinv23MC,2));
		  transK3 = sqrt( pow(pVect1[1]+pVect2[1]+pVect3[1],2) + pow(pVect1[2]+pVect2[2]+pVect3[2],2))/3.;
		  
		  if(qinv12 < fQLowerCut) continue;
		  if(qinv13 < fQLowerCut) continue;
		  if(qinv23 < fQLowerCut) continue;
		  if(ch1 == ch2){
		    if(!AcceptPair(&((fEvt)->fTracks[i]), &((fEvt+en2)->fTracks[j]))) continue;
		  }
		  if(ch1 == ch3){
		    if(!AcceptPair(&((fEvt)->fTracks[i]), &((fEvt+en3)->fTracks[k]))) continue;
		  }
		  if(ch2 == ch3){
		    if(!AcceptPair(&((fEvt+en2)->fTracks[j]), &((fEvt+en3)->fTracks[k]))) continue;
		  }

		  //
		  // The below call to SetFillBins3 will work for all 3-particle terms since all are for fully mixed events. part is set to 1, but only matters for terms 2-4.
		  Bool_t fill2=kFALSE, fill3=kFALSE, fill4=kFALSE;
		  SetFillBins3(fillIndex3, key1, key2, key3, ch1, ch2, ch3, 1, bin1, bin2, bin3, fill2, fill3, fill4);
		  
		  
		  for(Int_t jj=1; jj<=5; jj++){// term loop
		    
		    if(jj==2) {if(!fill2) continue;}//12
		    if(jj==3) {if(!fill3) continue;}//13
		    if(jj==4) {if(!fill4) continue;}//23
		    
		    Float_t WInput=1.0;
		    ArrangeQs(fillIndex3, key1, key2, key3, ch1, ch2, ch3, qinv12, qinv13, qinv23, 1, jj, firstQ, secondQ, thirdQ);
		    ArrangeQs(fillIndex3, key1, key2, key3, ch1, ch2, ch3, qinv12MC, qinv13MC, qinv23MC, 1, jj, firstQMC, secondQMC, thirdQMC);
		    
		    if(ch1==ch2 && ch1==ch3){// same charge
		      WInput = MCWeight3D(kTRUE, jj, 10, firstQMC, secondQMC, thirdQMC);
		      if(jj==1) {
			((TH1D*)fOutputList->FindObject("fMCWeight3DTerm1SC"))->Fill(q3MC, WInput);
			((TH1D*)fOutputList->FindObject("fMCWeight3DTerm1SCden"))->Fill(q3MC);
		      }else if(jj!=5){
			((TH1D*)fOutputList->FindObject("fMCWeight3DTerm2SC"))->Fill(q3MC, WInput);
			((TH1D*)fOutputList->FindObject("fMCWeight3DTerm2SCden"))->Fill(q3MC);
		      }
		    }else {// mixed charge
		      if(bin1==bin2) {
			WInput = MCWeight3D(kFALSE, jj, 10, firstQMC, secondQMC, thirdQMC);
		      }else {
			if(jj==1 || jj==5) WInput = MCWeight3D(kFALSE, jj, 10, thirdQMC, secondQMC, firstQMC);// thirdQMC is ss
			else WInput = MCWeight3D(kFALSE, 6-jj, 10, thirdQMC, secondQMC, firstQMC);
		      }
		      if(jj==1){
			((TH1D*)fOutputList->FindObject("fMCWeight3DTerm1MC"))->Fill(q3MC, WInput);
			((TH1D*)fOutputList->FindObject("fMCWeight3DTerm1MCden"))->Fill(q3MC);
		      }else{
			if(bin1==bin2){
			  if(jj==2){
			    ((TH1D*)fOutputList->FindObject("fMCWeight3DTerm2MC"))->Fill(q3MC, WInput);
			    ((TH1D*)fOutputList->FindObject("fMCWeight3DTerm2MCden"))->Fill(q3MC);
			  }else if(jj==3){
			    ((TH1D*)fOutputList->FindObject("fMCWeight3DTerm3MC"))->Fill(q3MC, WInput);
			    ((TH1D*)fOutputList->FindObject("fMCWeight3DTerm3MCden"))->Fill(q3MC);
			  }else if(jj==4){
			    ((TH1D*)fOutputList->FindObject("fMCWeight3DTerm4MC"))->Fill(q3MC, WInput);
			    ((TH1D*)fOutputList->FindObject("fMCWeight3DTerm4MCden"))->Fill(q3MC);
			  }else{}
			}else{
			  if(jj==2){
			    ((TH1D*)fOutputList->FindObject("fMCWeight3DTerm4MC"))->Fill(q3MC, WInput);
			    ((TH1D*)fOutputList->FindObject("fMCWeight3DTerm4MCden"))->Fill(q3MC);
			  }else if(jj==3){
			    ((TH1D*)fOutputList->FindObject("fMCWeight3DTerm3MC"))->Fill(q3MC, WInput);
			    ((TH1D*)fOutputList->FindObject("fMCWeight3DTerm3MCden"))->Fill(q3MC);
			  }else if(jj==4){
			    ((TH1D*)fOutputList->FindObject("fMCWeight3DTerm2MC"))->Fill(q3MC, WInput);
			    ((TH1D*)fOutputList->FindObject("fMCWeight3DTerm2MCden"))->Fill(q3MC);
			  }else{}
			}
			
		      }
		    }
		    
		    
		    Charge1[bin1].Charge2[bin2].Charge3[bin3].SC[fillIndex3].MB[fMbin].EDB[fEDbin].ThreePT[jj-1].fIdeal->Fill(q3MC, WInput);
		    Charge1[bin1].Charge2[bin2].Charge3[bin3].SC[fillIndex3].MB[fMbin].EDB[fEDbin].ThreePT[jj-1].fSmeared->Fill(q3, WInput);
		    
		    		    
		  }// jj
		}// MCarray check, 3rd particle
	      }// 3rd particle
	      
	    }// TabulatePairs Check
	    
	  }// MCarray check, 1st and 2nd particle
	  
	  // reset key's and fill bins (they were altered for 3 particle MRC calculation)
	  key1 = (fEvt)->fTracks[i].fKey;
	  key2 = (fEvt+en2)->fTracks[j].fKey;
	  SetFillBins2(fillIndex2, key1, key2, ch1, ch2, bin1, bin2);

	  
	  if(ch1==ch2 && fMbin==0 && qinv12<0.2){
	    //////////////////////////
	    // pad-row method testing
	    Float_t coeff = (5)*0.2*(0.18/1.2);// 5 to evaluate at 1.0m in TPC
	    Float_t phi1 = (fEvt)->fTracks[i].fPhi - asin((fEvt)->fTracks[i].fCharge*(0.1*fBfield)*coeff/(fEvt)->fTracks[i].fPt);
	    if(phi1 > 2*PI) phi1 -= 2*PI;
	    if(phi1 < 0) phi1 += 2*PI;
	    Float_t phi2 = (fEvt+en2)->fTracks[j].fPhi - asin((fEvt+en2)->fTracks[j].fCharge*(0.1*fBfield)*coeff/(fEvt+en2)->fTracks[j].fPt);
	    if(phi2 > 2*PI) phi2 -= 2*PI;
	    if(phi2 < 0) phi2 += 2*PI;
	    Float_t deltaphi = phi1 - phi2;
	    if(deltaphi > PI) deltaphi -= PI;
	    if(deltaphi < -PI) deltaphi += PI;
	    
	    Int_t ncl1 = (fEvt)->fTracks[i].fClusterMap.GetNbits();
	    Int_t ncl2 = (fEvt+en2)->fTracks[j].fClusterMap.GetNbits();
	    Float_t sumCls = 0; Float_t sumSha = 0; Float_t sumQ = 0;
	    Double_t shfrac = 0; //Double_t qfactor = 0;
	    for(Int_t imap = 0; imap < ncl1 && imap < ncl2; imap++) {
	      if ((fEvt)->fTracks[i].fClusterMap.TestBitNumber(imap) && (fEvt+en2)->fTracks[j].fClusterMap.TestBitNumber(imap)) {// Both clusters
		if ((fEvt)->fTracks[i].fSharedMap.TestBitNumber(imap) && (fEvt+en2)->fTracks[j].fSharedMap.TestBitNumber(imap)) { // Shared
		  sumQ++;
		  sumCls+=2;
		  sumSha+=2;}
		else {sumQ--; sumCls+=2;}
	      }
	      else if ((fEvt)->fTracks[i].fClusterMap.TestBitNumber(imap) || (fEvt+en2)->fTracks[j].fClusterMap.TestBitNumber(imap)) {// Non shared
		sumQ++;
		sumCls++;}
	    }
	    if (sumCls>0) {
	      //qfactor = sumQ*1.0/sumCls;
	      shfrac = sumSha*1.0/sumCls;
	    }
	    if(fabs(deltaphi)<0.07 && fabs((fEvt)->fTracks[i].fEta-(fEvt+en2)->fTracks[j].fEta) < 0.03){
	      ((TH3D*)fOutputList->FindObject("fPairsPadRowDen"))->Fill(transK12, shfrac, qinv12);
	    }
	    
	    for(Int_t rstep=0; rstep<10; rstep++){
	      coeff = (rstep)*0.2*(0.18/1.2);
	      // propagate through B field to r=1.2m
	      phi1 = (fEvt)->fTracks[i].fPhi - asin((fEvt)->fTracks[i].fCharge*(0.1*fBfield)*coeff/(fEvt)->fTracks[i].fPt);
	      if(phi1 > 2*PI) phi1 -= 2*PI;
	      if(phi1 < 0) phi1 += 2*PI;
	      phi2 = (fEvt+en2)->fTracks[j].fPhi - asin((fEvt+en2)->fTracks[j].fCharge*(0.1*fBfield)*coeff/(fEvt+en2)->fTracks[j].fPt);
	      if(phi2 > 2*PI) phi2 -= 2*PI;
	      if(phi2 < 0) phi2 += 2*PI;
	      deltaphi = phi1 - phi2;
	      if(deltaphi > PI) deltaphi -= PI;
	      if(deltaphi < -PI) deltaphi += PI;
	      
	      if(fabs((fEvt)->fTracks[i].fEta-(fEvt+en2)->fTracks[j].fEta) < 0.03){
		((TH3F*)fOutputList->FindObject("fPairsShareFracDPhiDen"))->Fill(rstep, shfrac, deltaphi);
	      }
	      //if(shfrac < 0.05){
	      ((TH3F*)fOutputList->FindObject("fPairsDetaDPhiDen"))->Fill(rstep, (fEvt)->fTracks[i].fEta-(fEvt+en2)->fTracks[j].fEta, deltaphi);
	      //}
	    }
	    
	   
	    
	    
	  }// desired pair selection
	  
	
  
	}// fMCcase
	
	

	if(qinv12 < fQLowerCut) continue;// remove unwanted low-q pairs (also a type of track splitting cut)
	if(ch1 == ch2 && !fGeneratorOnly){
	  if(!AcceptPair(&((fEvt)->fTracks[i]), &((fEvt+en2)->fTracks[j]))) {
	    fPairSplitCut[1][i]->AddAt('1',j);
	    continue;
	  }
	}
	
	//////////////////////////////////////////
	// 2-particle term
	Charge1[bin1].Charge2[bin2].SC[fillIndex2].MB[fMbin].EDB[fEDbin].TwoPT[en2].fExplicit2->Fill(transK12, qinv12);
	Charge1[bin1].Charge2[bin2].SC[fillIndex2].MB[fMbin].EDB[fEDbin].TwoPT[en2].fExplicit2QW->Fill(transK12, qinv12, qinv12);
	if(qinv12<fQupperBound) Charge1[bin1].Charge2[bin2].SC[fillIndex2].MB[fMbin].EDB[fEDbin].TwoPT[en2].fMeanKt->Fill(transK12);
	
	//////////////////////////////////////////

	
	
	if(pairCountME >= 2*kPairLimit) {exitCode=kTRUE; continue;}// Too many SE pairs
	if(exitCode) continue;

	if(qinv12 <= fQcut[qCutBin]) {
	  ///////////////////////////
	  
	  // particle 1
	  (fEvt)->fPairsME[pairCountME].fP1[0] = (fEvt)->fTracks[i].fP[0];
	  (fEvt)->fPairsME[pairCountME].fP1[1] = (fEvt)->fTracks[i].fP[1];
	  (fEvt)->fPairsME[pairCountME].fP1[2] = (fEvt)->fTracks[i].fP[2];
	  (fEvt)->fPairsME[pairCountME].fE1 = (fEvt)->fTracks[i].fEaccepted;
	  (fEvt)->fPairsME[pairCountME].fCharge1 = (fEvt)->fTracks[i].fCharge;
	  (fEvt)->fPairsME[pairCountME].fIndex1 = i;
	  (fEvt)->fPairsME[pairCountME].fKey1 = key1;
	  (fEvt)->fPairsME[pairCountME].fLabel1 = (fEvt)->fTracks[i].fLabel;
	  if(fMCcase && ((fEvt)->fTracks[i].fLabel < (fEvt)->fMCarraySize)){
	    (fEvt)->fPairsME[pairCountME].fP1MC[0] = (fEvt)->fMCtracks[abs((fEvt)->fTracks[i].fLabel)].fPx;
	    (fEvt)->fPairsME[pairCountME].fP1MC[1] = (fEvt)->fMCtracks[abs((fEvt)->fTracks[i].fLabel)].fPy;
	    (fEvt)->fPairsME[pairCountME].fP1MC[2] = (fEvt)->fMCtracks[abs((fEvt)->fTracks[i].fLabel)].fPz;
	  }
	  // particle 2
	  (fEvt)->fPairsME[pairCountME].fP2[0] = (fEvt+en2)->fTracks[j].fP[0];
	  (fEvt)->fPairsME[pairCountME].fP2[1] = (fEvt+en2)->fTracks[j].fP[1];
	  (fEvt)->fPairsME[pairCountME].fP2[2] = (fEvt+en2)->fTracks[j].fP[2];
	  (fEvt)->fPairsME[pairCountME].fE2 = (fEvt+en2)->fTracks[j].fEaccepted;
	  (fEvt)->fPairsME[pairCountME].fCharge2 = (fEvt+en2)->fTracks[j].fCharge;
	  (fEvt)->fPairsME[pairCountME].fIndex2 = j;
	  (fEvt)->fPairsME[pairCountME].fKey2 = key2;
	  (fEvt)->fPairsME[pairCountME].fLabel2 = (fEvt+en2)->fTracks[j].fLabel;
	  if(fMCcase && ((fEvt+en2)->fTracks[j].fLabel < (fEvt+en2)->fMCarraySize)){
	    (fEvt)->fPairsME[pairCountME].fP2MC[0] = (fEvt+en2)->fMCtracks[abs((fEvt+en2)->fTracks[j].fLabel)].fPx;
	    (fEvt)->fPairsME[pairCountME].fP2MC[1] = (fEvt+en2)->fMCtracks[abs((fEvt+en2)->fTracks[j].fLabel)].fPy;
	    (fEvt)->fPairsME[pairCountME].fP2MC[2] = (fEvt+en2)->fMCtracks[abs((fEvt+en2)->fTracks[j].fLabel)].fPz;
	  }
	  
	  (fEvt)->fPairsME[pairCountME].fQinv = qinv12;
	  
	  fPairLocationME[i]->AddAt(Int_t(pairCountME),j);
	  
	  pairCountME++;
	  
	}
	
	if((qinv12 >= fNormQcutLow[normBin]) && (qinv12 < fNormQcutHigh[normBin])){
	  // particle 1
	  fNormPairs[en2][normPairCount[en2]].fCharge1 = (fEvt)->fTracks[i].fCharge;
	  fNormPairs[en2][normPairCount[en2]].fIndex1 = i;
	  fNormPairs[en2][normPairCount[en2]].fKey1 = (fEvt)->fTracks[i].fKey;
	  // particle 2
	  fNormPairs[en2][normPairCount[en2]].fCharge2 = (fEvt+en2)->fTracks[j].fCharge;
	  fNormPairs[en2][normPairCount[en2]].fIndex2 = j;
	  fNormPairs[en2][normPairCount[en2]].fKey2 = (fEvt+en2)->fTracks[j].fKey;
	  
	  //other past pairs in P11 with particle i
	  for(Int_t pastpairP11=0; pastpairP11<numOtherPairs2[0][i]; pastpairP11++){// past pair in P11 with i as 1st and 2nd particle
	    Int_t locationOtherPairP11 = fOtherPairLocation2[0][i]->At(pastpairP11);// i is 2nd particle
	    if(locationOtherPairP11 < 0) continue;// no pair there
	    Int_t indexOther1P11 = fNormPairs[0][ locationOtherPairP11 ].fIndex1; 
	    	    
	    //Check other past pairs in P12
	    if( (fNormPairSwitch[1][indexOther1P11]->At(j)=='0')) continue;
	    
	    // 1 and 3 are from SE
	    ch3 = Int_t((fNormPairs[0][ locationOtherPairP11 ].fCharge1 + 1)/2.);// charge of second particle in P11
	    key3 = fNormPairs[0][ locationOtherPairP11 ].fKey1;
	    Short_t fillIndex3 = FillIndex3part(key1+key2+key3);
	    Bool_t fill2=kFALSE, fill3=kFALSE, fill4=kFALSE;
	    SetFillBins3(fillIndex3, key1, key2, key3, ch1, ch2, ch3, 2, bin1, bin2, bin3, fill2, fill3, fill4);
	    
	 	    
	    if(fill2) tempNormFillCount[bin1][bin2][bin3][fillIndex3][1]++;
	    if(fill3) tempNormFillCount[bin1][bin2][bin3][fillIndex3][2]++;
	    if(fill4) tempNormFillCount[bin1][bin2][bin3][fillIndex3][3]++;
	    

	  }// P11 loop
	  
	  
	  fNormPairSwitch[en2][i]->AddAt('1',j);	    
	  fOtherPairLocation1[en2][i]->AddAt(normPairCount[en2], numOtherPairs1[en2][i]);// location of otherpair with i as 1st particle
	  fOtherPairLocation2[en2][j]->AddAt(normPairCount[en2], numOtherPairs2[en2][j]);// location of otherpair with j as 2nd particle
	  
	  numOtherPairs1[en2][i]++;
	  numOtherPairs2[en2][j]++;
	  
	  normPairCount[en2]++;
	  if(normPairCount[en2] >= kNormPairLimit) exitCode=kTRUE;

	}// Norm Region
	

      }
    }
    
 
    ///////////////////////////////////////
    // P13 pairing (just for Norm counting of term5)
    for (Int_t i=0; i<myTracks; i++) {
      
      // exit out of loop if there are too many pairs
      // dont bother with this loop if exitCode is set.
      if(exitCode) break;
      
      // 2nd particle
      Int_t en2=2;
      
      for (Int_t j=0; j<(fEvt+en2)->fNtracks; j++) {
	
	key1 = (fEvt)->fTracks[i].fKey;
	key2 = (fEvt+en2)->fTracks[j].fKey;
	Short_t fillIndex2 = FillIndex2part(key1+key2);
	Short_t normBin = SetNormBin(fillIndex2);
	pVect1[0]=(fEvt)->fTracks[i].fEaccepted; pVect2[0]=(fEvt+en2)->fTracks[j].fEaccepted;
	pVect1[1]=(fEvt)->fTracks[i].fP[0];      pVect2[1]=(fEvt+en2)->fTracks[j].fP[0];
	pVect1[2]=(fEvt)->fTracks[i].fP[1];      pVect2[2]=(fEvt+en2)->fTracks[j].fP[1];
	pVect1[3]=(fEvt)->fTracks[i].fP[2];      pVect2[3]=(fEvt+en2)->fTracks[j].fP[2];

	qinv12 = GetQinv(fillIndex2, pVect1, pVect2);
	
	if(qinv12 < fQLowerCut) continue;// remove unwanted low-q pairs (also a type of track splitting cut)
	
	ch1 = Int_t(((fEvt)->fTracks[i].fCharge + 1)/2.);
	ch2 = Int_t(((fEvt+en2)->fTracks[j].fCharge + 1)/2.);
	
	if(ch1 == ch2 && !fGeneratorOnly){
	  if(!AcceptPair(&((fEvt)->fTracks[i]), &((fEvt+en2)->fTracks[j]))) {
	    fPairSplitCut[2][i]->AddAt('1',j);
	    continue;
	  }
	}
	
	/////////////////////////////////////////////////////////
	// Normalization Region
	
	if((qinv12 >= fNormQcutLow[normBin]) && (qinv12 < fNormQcutHigh[normBin])){
	
	  fNormPairSwitch[en2][i]->AddAt('1',j);	    
	
	}// Norm Region
      }
    }


   
    ///////////////////////////////////////
    // P23 pairing (just for Norm counting of term5)
    Int_t en1=1;
    for (Int_t i=0; i<(fEvt+en1)->fNtracks; i++) {
      
      // exit out of loop if there are too many pairs
      // dont bother with this loop if exitCode is set.
      if(exitCode) break;
      
      // 2nd event
      Int_t en2=2;
      // 2nd particle
      for (Int_t j=0; j<(fEvt+en2)->fNtracks; j++) {
	
	if(exitCode) break;

	key1 = (fEvt+en1)->fTracks[i].fKey;
	key2 = (fEvt+en2)->fTracks[j].fKey;
	Short_t fillIndex2 = FillIndex2part(key1+key2);
	Short_t normBin = SetNormBin(fillIndex2);
	pVect1[0]=(fEvt+en1)->fTracks[i].fEaccepted; pVect2[0]=(fEvt+en2)->fTracks[j].fEaccepted;
	pVect1[1]=(fEvt+en1)->fTracks[i].fP[0];      pVect2[1]=(fEvt+en2)->fTracks[j].fP[0];
	pVect1[2]=(fEvt+en1)->fTracks[i].fP[1];      pVect2[2]=(fEvt+en2)->fTracks[j].fP[1];
	pVect1[3]=(fEvt+en1)->fTracks[i].fP[2];      pVect2[3]=(fEvt+en2)->fTracks[j].fP[2];

	qinv12 = GetQinv(fillIndex2, pVect1, pVect2);

	if(qinv12 < fQLowerCut) continue;// remove unwanted low-q pairs (also a type of track splitting cut)
	
	///////////////////////////////
	ch1 = Int_t(((fEvt+en1)->fTracks[i].fCharge + 1)/2.);
	ch2 = Int_t(((fEvt+en2)->fTracks[j].fCharge + 1)/2.);
	
	if(ch1 == ch2 && !fGeneratorOnly){
	  if(!AcceptPair(&((fEvt+en1)->fTracks[i]), &((fEvt+en2)->fTracks[j]))) {
	    fPairSplitCut[3][i]->AddAt('1',j);
	    continue;
	  }
	}

	if((qinv12 < fNormQcutLow[normBin]) || (qinv12 >= fNormQcutHigh[normBin])) continue;
	
	Int_t index1P23 = i;
	Int_t index2P23 = j;
	
	for(Int_t pastpairP12=0; pastpairP12<numOtherPairs2[1][index1P23]; pastpairP12++){// loop in P12 with i as 2nd particle
	  Int_t locationOtherPairP12 = fOtherPairLocation2[1][index1P23]->At(pastpairP12);
	  if(locationOtherPairP12 < 0) continue; // no pair there
	  Int_t index1P12 = fNormPairs[1][ locationOtherPairP12 ].fIndex1;
	  
	 	  
	  //Check other past pair status in P13
	  if( (fNormPairSwitch[2][index1P12]->At(index2P23)=='0')) continue;
	  
	  // all from different event
	  ch3 = Int_t((fNormPairs[1][ locationOtherPairP12 ].fCharge1 + 1)/2.);// charge of first particle in P12
	  key3 = fNormPairs[1][ locationOtherPairP12 ].fKey1;
	  Short_t fillIndex3 = FillIndex3part(key1+key2+key3);
	  SetFillBins3(fillIndex3, key1, key2, key3, ch1, ch2, ch3, 3, bin1, bin2, bin3, fDummyB, fDummyB, fDummyB);
	  
	  tempNormFillCount[bin1][bin2][bin3][fillIndex3][4]++;
	}
      }
    }
    
    
  
    
    ///////////////////////////////////////////////////  
    // Do not use pairs from events with too many pairs
    if(exitCode) {
      cout<<"SE or ME or Norm PairCount too large.  Discarding all pairs and skipping event"<<endl;
      (fEvt)->fNpairsSE = 0;
      (fEvt)->fNpairsME = 0;
      ((TH1F*)fOutputList->FindObject("fRejectedEvents"))->Fill(fMbin+1);
      return;// Skip event
    }else{
      (fEvt)->fNpairsSE = pairCountSE;
      (fEvt)->fNpairsME = pairCountME;  
      ((TH1F*)fOutputList->FindObject("fEvents2"))->Fill(fMbin+1);
    }
    ///////////////////////////////////////////////////


      
    ///////////////////////////////////////////////////////////////////////
    ///////////////////////////////////////////////////////////////////////
    ///////////////////////////////////////////////////////////////////////
    //
    //
    // Start the Main Correlation Analysis
    //
    //
    ///////////////////////////////////////////////////////////////////////
    
    
    
  
    /////////////////////////////////////////////////////////

    // Set the Normalization counters
    for(Int_t termN=0; termN<5; termN++){
      
      if(termN==0){
	if((fEvt)->fNtracks ==0) continue;
      }else if(termN<4){
	if((fEvt)->fNtracks ==0) continue;
	if((fEvt+1)->fNtracks ==0) continue;
      }else {
	if((fEvt)->fNtracks ==0) continue;
	if((fEvt+1)->fNtracks ==0) continue;
	if((fEvt+2)->fNtracks ==0) continue;
      }
     
      for(Int_t sc=0; sc<kSCLimit3; sc++){
	
	for(Int_t c1=0; c1<2; c1++){
	  for(Int_t c2=0; c2<2; c2++){
	    for(Int_t c3=0; c3<2; c3++){
	      
	      if(sc==0 || sc==6 || sc==9){// Identical species
		if( (c1+c2+c3)==1) {if(c1!=0 || c2!=0 || c3!=1) continue;}
		if( (c1+c2+c3)==2) {if(c1!=0) continue;}
	      }else if(sc!=5){
		if( (c1+c2)==1) {if(c1!=0) continue;}
	      }else {}// do nothing for pi-k-p case
	      Charge1[c1].Charge2[c2].Charge3[c3].SC[sc].MB[fMbin].EDB[fEDbin].ThreePT[termN].fNorm3->Fill(0.,tempNormFillCount[c1][c2][c3][sc][termN]);
	    }
	  }
	}
      }
    }
    
    
    
    /////////////////////////////////////////////
    // Calculate Pair-Cut Correlations
    for(Int_t en1case=0; en1case<2; en1case++){// limit at 2 (normal)
      
      Int_t nump1=0;
      if(en1case==0) nump1 = (fEvt)->fNpairsSE;
      if(en1case==1) nump1 = (fEvt)->fNpairsME;
     
      // 1st pair
      for(Int_t p1=0; p1<nump1; p1++){
	
	if(en1case==0){
	  ch1 = Int_t(((fEvt)->fPairsSE[p1].fCharge1 + 1)/2.);
	  ch2 = Int_t(((fEvt)->fPairsSE[p1].fCharge2 + 1)/2.);
	  pVect1[0] = (fEvt)->fPairsSE[p1].fE1; pVect2[0] = (fEvt)->fPairsSE[p1].fE2;
	  pVect1[1] = (fEvt)->fPairsSE[p1].fP1[0]; pVect2[1] = (fEvt)->fPairsSE[p1].fP2[0]; 
	  pVect1[2] = (fEvt)->fPairsSE[p1].fP1[1]; pVect2[2] = (fEvt)->fPairsSE[p1].fP2[1];
	  pVect1[3] = (fEvt)->fPairsSE[p1].fP1[2]; pVect2[3] = (fEvt)->fPairsSE[p1].fP2[2];
	  index1 = (fEvt)->fPairsSE[p1].fIndex1; index2 = (fEvt)->fPairsSE[p1].fIndex2;
	  key1 = (fEvt)->fPairsSE[p1].fKey1; key2 = (fEvt)->fPairsSE[p1].fKey2;
	  qinv12 = (fEvt)->fPairsSE[p1].fQinv;
	  //
	  pVect1MC[1] = (fEvt)->fPairsSE[p1].fP1MC[0]; pVect2MC[1] = (fEvt)->fPairsSE[p1].fP2MC[0];
          pVect1MC[2] = (fEvt)->fPairsSE[p1].fP1MC[1]; pVect2MC[2] = (fEvt)->fPairsSE[p1].fP2MC[1];
          pVect1MC[3] = (fEvt)->fPairsSE[p1].fP1MC[2]; pVect2MC[3] = (fEvt)->fPairsSE[p1].fP2MC[2];
          pVect1MC[0] = sqrt(pow(pVect1MC[1],2)+pow(pVect1MC[2],2)+pow(pVect1MC[3],2)+pow(fTrueMassPi,2));
          pVect2MC[0] = sqrt(pow(pVect2MC[1],2)+pow(pVect2MC[2],2)+pow(pVect2MC[3],2)+pow(fTrueMassPi,2));
	}
	if(en1case==1){
	  ch1 = Int_t(((fEvt)->fPairsME[p1].fCharge1 + 1)/2.);
	  ch2 = Int_t(((fEvt)->fPairsME[p1].fCharge2 + 1)/2.);
	  pVect1[0] = (fEvt)->fPairsME[p1].fE1; pVect2[0] = (fEvt)->fPairsME[p1].fE2; 
	  pVect1[1] = (fEvt)->fPairsME[p1].fP1[0]; pVect2[1] = (fEvt)->fPairsME[p1].fP2[0]; 
	  pVect1[2] = (fEvt)->fPairsME[p1].fP1[1]; pVect2[2] = (fEvt)->fPairsME[p1].fP2[1];
	  pVect1[3] = (fEvt)->fPairsME[p1].fP1[2]; pVect2[3] = (fEvt)->fPairsME[p1].fP2[2];
	  index1 = (fEvt)->fPairsME[p1].fIndex1; index2 = (fEvt)->fPairsME[p1].fIndex2;
	  key1 = (fEvt)->fPairsME[p1].fKey1; key2 = (fEvt)->fPairsME[p1].fKey2;
	  qinv12 = (fEvt)->fPairsME[p1].fQinv;
	  //
	  pVect1MC[1] = (fEvt)->fPairsME[p1].fP1MC[0]; pVect2MC[1] = (fEvt)->fPairsME[p1].fP2MC[0];
          pVect1MC[2] = (fEvt)->fPairsME[p1].fP1MC[1]; pVect2MC[2] = (fEvt)->fPairsME[p1].fP2MC[1];
          pVect1MC[3] = (fEvt)->fPairsME[p1].fP1MC[2]; pVect2MC[3] = (fEvt)->fPairsME[p1].fP2MC[2];
          pVect1MC[0] = sqrt(pow(pVect1MC[1],2)+pow(pVect1MC[2],2)+pow(pVect1MC[3],2)+pow(fTrueMassPi,2));
          pVect2MC[0] = sqrt(pow(pVect2MC[1],2)+pow(pVect2MC[2],2)+pow(pVect2MC[3],2)+pow(fTrueMassPi,2));
	}
	
	
	// en2 buffer
	for(Int_t en2=0; en2<3; en2++){
	  //////////////////////////////////////

	  Bool_t skipcase=kTRUE;
	  Short_t config=-1, part=-1;
	  if(en1case==0 && en2==0) {skipcase=kFALSE; config=1; part=0;}// P11T1
	  if(en1case==0 && en2==1) {skipcase=kFALSE; config=2; part=1;}// P11T2
	  if(en1case==1 && en2==0) {skipcase=kFALSE; config=2; part=2;}// P12T1
	  if(en1case==1 && en2==2) {skipcase=kFALSE; config=3; part=3;}// P12T3
	  	 
	  if(skipcase) continue;
	
	  
	  // 3-particle terms
	  // 3rd particle
	  for(Int_t k=0; k<(fEvt+en2)->fNtracks; k++){
	    index3 = k;
	    

	    // remove auto-correlations and duplicate triplets
	    if(config==1){
	      if( index1 == index3) continue;
	      if( index2 == index3) continue;
	      if(fPairSplitCut[0][index1]->At(index2)=='1') continue;// Track splitting/merging
	     
	      // skip the switched off triplets
	      if(fTripletSkip1[fPairLocationSE[index1]->At(index2)]->At(index3)=='1') {
		fTripletSkip1[fPairLocationSE[index1]->At(index2)]->AddAt('0',index3);// Reset
		continue;
	      }
	      ///////////////////////////////
	      // Turn off 1st possible degenerate triplet
	      if(index1 < index3){// verify correct id ordering ( index1 < k )
		if(fPairLocationSE[index1]->At(index3) >= 0){
		  fTripletSkip1[fPairLocationSE[index1]->At(index3)]->AddAt('1',index2);
		}
		if(fPairSplitCut[0][index1]->At(index3)=='1') continue;// Track splitting/merging
	      }else {// or k < index1
		if(fPairLocationSE[index3]->At(index1) >= 0){
		  fTripletSkip1[fPairLocationSE[index3]->At(index1)]->AddAt('1',index2);
		}
		if(fPairSplitCut[0][index3]->At(index1)=='1') continue;// Track splitting/merging
	      }
	      // turn off 2nd possible degenerate triplet
	      if(index2 < index3){// verify correct id ordering (index2 < k)
		if(fPairLocationSE[index2]->At(index3) >= 0){
		  fTripletSkip1[fPairLocationSE[index2]->At(index3)]->AddAt('1',index1);
		}
		if(fPairSplitCut[0][index2]->At(index3)=='1') continue;// Track splitting/merging
	      }else {// or k < index2
		if(fPairLocationSE[index3]->At(index2) >= 0){
		  fTripletSkip1[fPairLocationSE[index3]->At(index2)]->AddAt('1',index1);
		}
		if(fPairSplitCut[0][index3]->At(index2)=='1') continue;// Track splitting/merging
	      }

	    }// end config 1
	    
	    if(config==2 && part==1){// SE pair and third particle from next event. P11T2
	      ///////////////////////////////
	      // Turn off 1st possible degenerate triplet
	      if(fPairLocationME[index1]->At(index3) >= 0){
		fTripletSkip2[fPairLocationME[index1]->At(index3)]->AddAt('1',index2);
	      }
	      
	      // turn off 2nd possible degenerate triplet
	      if(fPairLocationME[index2]->At(index3) >= 0){
		fTripletSkip2[fPairLocationME[index2]->At(index3)]->AddAt('1',index1);
	      }
	      
	      if(fPairSplitCut[0][index1]->At(index2)=='1') continue;// Track splitting/merging
	      if(fPairSplitCut[1][index1]->At(index3)=='1') continue;// Track splitting/merging
	      if(fPairSplitCut[1][index2]->At(index3)=='1') continue;// Track splitting/merging
	    }// end config 2 part 1

	    if(config==2 && part==2){// P12T1
	      if( index1 == index3) continue;
	      
	      // skip the switched off triplets
	      if(fTripletSkip2[fPairLocationME[index1]->At(index2)]->At(index3)=='1') {
		fTripletSkip2[fPairLocationME[index1]->At(index2)]->AddAt('0',index3);// Reset
		continue;
	      }
	      // turn off another possible degenerate
	      if(fPairLocationME[index3]->At(index2) >= 0){
		fTripletSkip2[fPairLocationME[index3]->At(index2)]->AddAt('1',index1);
	      }// end config 2 part 2

	      if(fPairSplitCut[1][index1]->At(index2)=='1') continue;// Track splitting/merging
	      if(index1 < index3) {if(fPairSplitCut[0][index1]->At(index3)=='1') continue;}// Track splitting/merging
	      else {if(fPairSplitCut[0][index3]->At(index1)=='1') continue;}// Track splitting/merging
	      if(fPairSplitCut[1][index3]->At(index2)=='1') continue;// Track splitting/merging
	    }
	    if(config==3){// P12T3
	      if(fPairSplitCut[1][index1]->At(index2)=='1') continue;// Track splitting/merging
	      if(fPairSplitCut[2][index1]->At(index3)=='1') continue;// Track splitting/merging
	      if(fPairSplitCut[3][index2]->At(index3)=='1') continue;// Track splitting/merging
	    }// end config 3
	    
	    

	    ch3 = Int_t(((fEvt+en2)->fTracks[k].fCharge + 1)/2.);
	    key3 = (fEvt+en2)->fTracks[k].fKey;
	    Short_t fillIndex3 = FillIndex3part(key1+key2+key3);
	    Short_t fillIndex13 = FillIndex2part(key1+key3);
	    Short_t fillIndex23 = FillIndex2part(key2+key3);
	    Short_t qCutBin13 = SetQcutBin(fillIndex13);
	    Short_t qCutBin23 = SetQcutBin(fillIndex23);
	    pVect3[0] = (fEvt+en2)->fTracks[k].fEaccepted;
	    pVect3[1] = (fEvt+en2)->fTracks[k].fP[0];
	    pVect3[2] = (fEvt+en2)->fTracks[k].fP[1];
	    pVect3[3] = (fEvt+en2)->fTracks[k].fP[2];
	    qinv13 = GetQinv(fillIndex13, pVect1, pVect3);
	    qinv23 = GetQinv(fillIndex23, pVect2, pVect3);

	    if(qinv13 < fQLowerCut) continue;
	    if(qinv23 < fQLowerCut) continue;
	    if(qinv13 > fQcut[qCutBin13]) continue;
	    if(qinv23 > fQcut[qCutBin23]) continue;

	   
	    
	    if(fMCcase){
              pVect3MC[1] = (fEvt+en2)->fMCtracks[abs((fEvt+en2)->fTracks[k].fLabel)].fPx;
              pVect3MC[2] = (fEvt+en2)->fMCtracks[abs((fEvt+en2)->fTracks[k].fLabel)].fPy;
              pVect3MC[3] = (fEvt+en2)->fMCtracks[abs((fEvt+en2)->fTracks[k].fLabel)].fPz;
              pVect3MC[0] = sqrt(pow(pVect3MC[1],2)+pow(pVect3MC[2],2)+pow(pVect3MC[3],2)+pow(fTrueMassPi,2));
              qinv12MC = GetQinv(0, pVect1MC, pVect2MC);
              qinv13MC = GetQinv(0, pVect1MC, pVect3MC);
              qinv23MC = GetQinv(0, pVect2MC, pVect3MC);
            }

	    
	    
	    // if all three pair cuts are the same then the case (config=2 && term=2) never reaches here.
	    Float_t Kt12 = sqrt( pow(pVect1[1]+pVect2[1],2) + pow(pVect1[2]+pVect2[2],2))/2.;
	    Float_t Kt13 = sqrt( pow(pVect1[1]+pVect3[1],2) + pow(pVect1[2]+pVect3[2],2))/2.;
	    Float_t Kt23 = sqrt( pow(pVect2[1]+pVect3[1],2) + pow(pVect2[2]+pVect3[2],2))/2.;
	    q3 = sqrt(pow(qinv12,2) + pow(qinv13,2) + pow(qinv23,2));
	    transK3 = sqrt( pow(pVect1[1]+pVect2[1]+pVect3[1],2) + pow(pVect1[2]+pVect2[2]+pVect3[2],2))/3.;
	    if(fKt3bins==1) fEDbin=0;
	    else if(fKt3bins==2){
	      if(transK3<0.3) fEDbin=0;
	      else fEDbin=1;
	    }else{// fKt3bins==3 is the limit set by fEDbins
	      if(transK3<0.25) fEDbin=0;
	      else if(transK3<0.35) fEDbin=1;
	      else fEDbin=2;
	    }
	    
	    firstQ=0; secondQ=0; thirdQ=0;
	    
	    
	    //
	    
	    if(config==1) {// 123
	      SetFillBins3(fillIndex3, key1, key2, key3, ch1, ch2, ch3, 0, bin1, bin2, bin3, fDummyB, fDummyB, fDummyB);
	      
	      if(fillIndex3 <= 2){
		ArrangeQs(fillIndex3, key1, key2, key3, ch1, ch2, ch3, qinv12, qinv13, qinv23, 0, 1, firstQ, secondQ, thirdQ);
		if(fillIndex3==0 && fMCcase) ArrangeQs(fillIndex3, key1, key2, key3, ch1, ch2, ch3, qinv12MC, qinv13MC, qinv23MC, 0, 1, firstQMC, secondQMC, thirdQMC);
		Float_t WInput = 1.0;
		if(fGenerateSignal && ch1==ch2 && ch1==ch3) WInput = MCWeight3D(kTRUE, 1, 10, firstQ, secondQ, thirdQ);
		//if(fGenerateSignal && ch1==ch2 && ch1==ch3) WInput = MCWeight3D(kTRUE, 1, fFixedLambdaBinr3, firstQMC, secondQMC, thirdQMC);
		////
		Charge1[bin1].Charge2[bin2].Charge3[bin3].SC[fillIndex3].MB[fMbin].EDB[fEDbin].ThreePT[0].fTermsQ3->Fill(q3, WInput);
		Charge1[bin1].Charge2[bin2].Charge3[bin3].SC[fillIndex3].MB[fMbin].EDB[fEDbin].ThreePT[0].fTerms3->Fill(firstQ, secondQ, thirdQ, WInput);
		//
		Charge1[bin1].Charge2[bin2].Charge3[bin3].SC[fillIndex3].MB[fMbin].EDB[fEDbin].ThreePT[0].fMeanKt->Fill(Kt12);
		Charge1[bin1].Charge2[bin2].Charge3[bin3].SC[fillIndex3].MB[fMbin].EDB[fEDbin].ThreePT[0].fMeanKt->Fill(Kt13);
		Charge1[bin1].Charge2[bin2].Charge3[bin3].SC[fillIndex3].MB[fMbin].EDB[fEDbin].ThreePT[0].fMeanKt->Fill(Kt23);
		////
		//
		if(fillIndex3==0 && ch1==ch2 && ch1==ch3 && fMCcase==kFALSE){
		  ((TH3D*)fOutputList->FindObject("fKt3DistTerm1"))->Fill(fMbin+1, transK3, q3);
		}		
		
	      }
	      
	    }else if(config==2){// 12, 13, 23
	      
	      Bool_t fill2=kFALSE, fill3=kFALSE, fill4=kFALSE;
	      SetFillBins3(fillIndex3, key1, key2, key3, ch1, ch2, ch3, part, bin1, bin2, bin3, fill2, fill3, fill4);
	  
	      // loop over terms 2-4
	      for(Int_t jj=2; jj<5; jj++){
		if(jj==2) {if(!fill2) continue;}//12
		if(jj==3) {if(!fill3) continue;}//13
		if(jj==4) {if(!fill4) continue;}//23
	
		if(fillIndex3 <= 2){
		  ArrangeQs(fillIndex3, key1, key2, key3, ch1, ch2, ch3, qinv12, qinv13, qinv23, part, jj, firstQ, secondQ, thirdQ);
		  if(fillIndex3==0 && fMCcase) ArrangeQs(fillIndex3, key1, key2, key3, ch1, ch2, ch3, qinv12MC, qinv13MC, qinv23MC, part, jj, firstQMC, secondQMC, thirdQMC);
		  Float_t WInput = 1.0;
		  if(fGenerateSignal && ch1==ch2 && ch1==ch3) WInput = MCWeight3D(kTRUE, jj, 10, firstQ, secondQ, thirdQ);
		  //if(fGenerateSignal && ch1==ch2 && ch1==ch3) WInput = MCWeight3D(kTRUE, jj, fFixedLambdaBinr3, firstQMC, secondQMC, thirdQMC);
		  ////
		  Charge1[bin1].Charge2[bin2].Charge3[bin3].SC[fillIndex3].MB[fMbin].EDB[fEDbin].ThreePT[jj-1].fTermsQ3->Fill(q3, WInput);
		  Charge1[bin1].Charge2[bin2].Charge3[bin3].SC[fillIndex3].MB[fMbin].EDB[fEDbin].ThreePT[jj-1].fTerms3->Fill(firstQ, secondQ, thirdQ, WInput);
		  //
		  Charge1[bin1].Charge2[bin2].Charge3[bin3].SC[fillIndex3].MB[fMbin].EDB[fEDbin].ThreePT[jj-1].fMeanKt->Fill(Kt12);
		  Charge1[bin1].Charge2[bin2].Charge3[bin3].SC[fillIndex3].MB[fMbin].EDB[fEDbin].ThreePT[jj-1].fMeanKt->Fill(Kt13);
		  Charge1[bin1].Charge2[bin2].Charge3[bin3].SC[fillIndex3].MB[fMbin].EDB[fEDbin].ThreePT[jj-1].fMeanKt->Fill(Kt23);
		}
	      }
	      
	    }else {// config 3: All particles from different events
	      
	      SetFillBins3(fillIndex3, key1, key2, key3, ch1, ch2, ch3, 3, bin1, bin2, bin3, fDummyB, fDummyB, fDummyB);
	      
	      if(ch1==ch2 && ch1==ch3 && fillIndex3==0) {
		if(!fMCcase) ((TH3D*)fOutputList->FindObject("fKt3DistTerm5"))->Fill(fMbin+1, transK3, q3);
	      }	      
	      
	      if(fillIndex3 <= 2){
		ArrangeQs(fillIndex3, key1, key2, key3, ch1, ch2, ch3, qinv12, qinv13, qinv23, part, 5, firstQ, secondQ, thirdQ);
		Charge1[bin1].Charge2[bin2].Charge3[bin3].SC[fillIndex3].MB[fMbin].EDB[fEDbin].ThreePT[4].fTermsQ3->Fill(q3);
		Charge1[bin1].Charge2[bin2].Charge3[bin3].SC[fillIndex3].MB[fMbin].EDB[fEDbin].ThreePT[4].fTerms3->Fill(firstQ, secondQ, thirdQ);
		//
		Charge1[bin1].Charge2[bin2].Charge3[bin3].SC[fillIndex3].MB[fMbin].EDB[fEDbin].ThreePT[4].fMeanKt->Fill(Kt12);
		Charge1[bin1].Charge2[bin2].Charge3[bin3].SC[fillIndex3].MB[fMbin].EDB[fEDbin].ThreePT[4].fMeanKt->Fill(Kt13);
		Charge1[bin1].Charge2[bin2].Charge3[bin3].SC[fillIndex3].MB[fMbin].EDB[fEDbin].ThreePT[4].fMeanKt->Fill(Kt23);
	      }
	      
	      
	    }// config 3
	  }// end 3rd particle
	}// en2
	
	
      }// p1
    }//en1
    
    ///////////////////
  }// end of PdensityPairs

 
  
  // Post output data.
  PostData(1, fOutputList);
  
}
//________________________________________________________________________
void AliThreePionRadii::Terminate(Option_t *) 
{
  // Called once at the end of the query
 
  cout<<"Done"<<endl;

}
//________________________________________________________________________
Bool_t AliThreePionRadii::AcceptPair(AliChaoticityTrackStruct *first, AliChaoticityTrackStruct *second)
{
  
  if(fabs(first->fEta-second->fEta) > fMinSepPairEta) return kTRUE;
  
  // propagate through B field to r=1m
  Float_t phi1 = first->fPhi - asin(first->fCharge*(0.1*fBfield)*0.15/first->fPt);// 0.15 for D=1m
  if(phi1 > 2*PI) phi1 -= 2*PI;
  if(phi1 < 0) phi1 += 2*PI;
  Float_t phi2 = second->fPhi - asin(second->fCharge*(0.1*fBfield)*0.15/second->fPt);// 0.15 for D=1m 
  if(phi2 > 2*PI) phi2 -= 2*PI;
  if(phi2 < 0) phi2 += 2*PI;
  
  Float_t deltaphi = phi1 - phi2;
  if(deltaphi > PI) deltaphi -= 2*PI;
  if(deltaphi < -PI) deltaphi += 2*PI;
  deltaphi = fabs(deltaphi);

  if(deltaphi < fMinSepPairPhi) return kFALSE;// Min Separation
    
  
  // propagate through B field to r=1.6m
  phi1 = first->fPhi - asin(first->fCharge*(0.1*fBfield)*0.24/first->fPt);// mine. 0.24 for D=1.6m
  if(phi1 > 2*PI) phi1 -= 2*PI;
  if(phi1 < 0) phi1 += 2*PI;
  phi2 = second->fPhi - asin(second->fCharge*(0.1*fBfield)*0.24/second->fPt);// mine. 0.24 for D=1.6m 
  if(phi2 > 2*PI) phi2 -= 2*PI;
  if(phi2 < 0) phi2 += 2*PI;
  
  deltaphi = phi1 - phi2;
  if(deltaphi > PI) deltaphi -= 2*PI;
  if(deltaphi < -PI) deltaphi += 2*PI;
  deltaphi = fabs(deltaphi);

  if(deltaphi < fMinSepPairPhi) return kFALSE;// Min Separation
  
  
   
  //
  
  Int_t ncl1 = first->fClusterMap.GetNbits();
  Int_t ncl2 = second->fClusterMap.GetNbits();
  Int_t sumCls = 0; Int_t sumSha = 0; Int_t sumQ = 0;
  Double_t shfrac = 0; Double_t qfactor = 0;
  for(Int_t imap = 0; imap < ncl1 && imap < ncl2; imap++) {
    if (first->fClusterMap.TestBitNumber(imap) && second->fClusterMap.TestBitNumber(imap)) {// Both clusters
      if (first->fSharedMap.TestBitNumber(imap) && second->fSharedMap.TestBitNumber(imap)) { // Shared
	sumQ++;
	sumCls+=2;
	sumSha+=2;}
      else {sumQ--; sumCls+=2;}
    }
    else if (first->fClusterMap.TestBitNumber(imap) || second->fClusterMap.TestBitNumber(imap)) {// Non shared
      sumQ++;
      sumCls++;}
  }
  if (sumCls>0) {
    qfactor = sumQ*1.0/sumCls;
    shfrac = sumSha*1.0/sumCls;
  }
  
  if(qfactor > fShareQuality || shfrac > fShareFraction) return kFALSE;
  
  
  return kTRUE;
  

}
//________________________________________________________________________
Float_t AliThreePionRadii::GamovFactor(Int_t chargeBin1, Int_t chargeBin2, Float_t qinv)
{
  Float_t arg = G_Coeff/qinv;
  
  if(chargeBin1==chargeBin2) return (exp(arg)-1)/(arg);
  else {return (exp(-arg)-1)/(-arg);}
  
}
//________________________________________________________________________
void AliThreePionRadii::Shuffle(Int_t *iarr, Int_t i1, Int_t i2)
{
  Int_t j, k;
  Int_t a = i2 - i1;
  for (Int_t i = i1; i < i2+1; i++) {
    j = (Int_t) (gRandom->Rndm() * a);
    k = iarr[j];
    iarr[j] = iarr[i];
    iarr[i] = k;
  }
}
//________________________________________________________________________
Short_t AliThreePionRadii::FillIndex2part(Short_t key){

  if(key==2) return 0;// pi-pi
  else if(key==11) return 1;// pi-k
  else if(key==101) return 2;// pi-p
  else if(key==20) return 3;// k-k
  else if(key==110) return 4;// k-p
  else return 5;// p-p
}
//________________________________________________________________________
Short_t AliThreePionRadii::FillIndex3part(Short_t key){
  
  if(key==3) return 0;// pi-pi-pi
  else if(key==12) return 1;// pi-pi-k
  else if(key==21) return 2;// k-k-pi
  else if(key==102) return 3;// pi-pi-p
  else if(key==201) return 4;// p-p-pi
  else if(key==111) return 5;// pi-k-p
  else if(key==30) return 6;// k-k-k
  else if(key==120) return 7;// k-k-p
  else if(key==210) return 8;// p-p-k
  else return 9;// p-p-p
  
}
//________________________________________________________________________
Short_t AliThreePionRadii::SetQcutBin(Short_t fi){// fi=FillIndex
  if(fi <= 2) return 0;
  else if(fi==3) return 1;
  else return 2;
}
//________________________________________________________________________
Short_t AliThreePionRadii::SetNormBin(Short_t fi){// fi=FillIndex
  if(fi==0) return 0;
  else if(fi <= 2) return 1;
  else return 2;
}
//________________________________________________________________________
void AliThreePionRadii::SetFillBins2(Short_t fi, Short_t key1, Short_t key2, Int_t c1, Int_t c2, Int_t &b1, Int_t &b2){
  
  if(fi==0 || fi==3 || fi==5){// Identical species
    if((c1+c2)==1) {b1=0; b2=1;}// Re-assign to merge degenerate histos
    else {b1=c1; b2=c2;}
  }else {// Mixed species
    if(key1 < key2) { b1=c1; b2=c2;}
    else {b1=c2; b2=c1;}
  }
  
}
//________________________________________________________________________
void AliThreePionRadii::SetFillBins3(Short_t fi, Short_t key1, Short_t key2, Short_t key3, Int_t c1, Int_t c2, Int_t c3, Short_t part, Int_t &b1, Int_t &b2, Int_t &b3, Bool_t &fill2, Bool_t &fill3, Bool_t &fill4){
  
  
  // seSS, seSK, SE_keysum only used to determine which terms to fill (only used for terms 2-4)
  // part only matters for terms 2-4
  Bool_t seSS=kFALSE;
  Bool_t seSK=kFALSE;
  Short_t seKeySum=0;// only used for pi-k-p case
  if(part==1) {// default case (irrelevant for term 1 and term 5)
    if(c1==c2) seSS=kTRUE;
    if(key1==key2) seSK=kTRUE;
    seKeySum = key1+key2;
  }
  if(part==2){
    if(c1==c3) seSS=kTRUE;
    if(key1==key3) seSK=kTRUE;
    seKeySum = key1+key3;
  }
  
  
  // fill2, fill3, fill4 are only used for Cumulant Terms 2,3,4
  
  if(fi==0 || fi==6 || fi==9){// Identical species
    if( (c1+c2+c3)==1) {
      b1=0; b2=0; b3=1;// Re-assign to merge degenerate histos
      //
      if(seSS) fill2=kTRUE;
      else {fill3=kTRUE; fill4=kTRUE;}
      //
    }else if( (c1+c2+c3)==2) {
      b1=0; b2=1; b3=1;
      //
      if(!seSS) {fill2=kTRUE; fill3=kTRUE;}
      else fill4=kTRUE;
      //
    }else {
      b1=c1; b2=c2; b3=c3;
      fill2=kTRUE; fill3=kTRUE; fill4=kTRUE;
    }
  }else if(fi != 5){// all the rest except pi-k-p
    if(key1==key2){
      b3=c3;
      if( (c1+c2)==1) {b1=0; b2=1;}
      else {b1=c1; b2=c2;}
    }else if(key1==key3){
      b3=c2;
      if( (c1+c3)==1) {b1=0; b2=1;}
      else {b1=c1; b2=c3;}
    }else {// Key2==Key3
      b3=c1;
      if( (c2+c3)==1) {b1=0; b2=1;}
      else {b1=c2; b2=c3;}
    }
    //////////////////////////////
    if(seSK) fill2=kTRUE;// Same keys from Same Event
    else {// Different keys from Same Event
      if( (c1+c2+c3)==1) {
	if(b3==0) {
	  if(seSS) fill3=kTRUE;
	  else fill4=kTRUE;
	}else{fill3=kTRUE; fill4=kTRUE;}// b3=1 so fill both
      }else if( (c1+c2+c3)==2) {
	if(b3==1) {
	  if(seSS) fill4=kTRUE;
	  else fill3=kTRUE;
	}else{fill3=kTRUE; fill4=kTRUE;}// b3=0 so fill both
      }else{fill3=kTRUE; fill4=kTRUE;}// all same charge so fill both
    }
    /////////////////////////////
  }else {// pi-k-p  (no charge ordering applies since all are unique)
    if(key1==1){
      if(key2==10) {b1=c1; b2=c2; b3=c3;}// pi-k-p
      else {b1=c1; b2=c3; b3=c2;}// pi-p-k
    }else if(key1==10){
      if(key2==1) {b1=c2; b2=c1; b3=c3;}// k-pi-p
      else {b1=c3; b2=c1; b3=c2;}// k-p-pi
    }else {// key1==100
      if(key2==1) {b1=c2; b2=c3; b3=c1;}// p-pi-k
      else {b1=c3; b2=c2; b3=c1;}// p-k-pi
    }
    ////////////////////////////////////
    if(seKeySum==11) fill2=kTRUE;
    else if(seKeySum==101) fill3=kTRUE;
    else fill4=kTRUE;
    ////////////////////////////////////
  }
  
}
//________________________________________________________________________
void AliThreePionRadii::ArrangeQs(Short_t fi, Short_t key1, Short_t key2, Short_t key3, Int_t c1, Int_t c2, Int_t c3, Float_t q12, Float_t q13, Float_t q23, Short_t part, Short_t term, Float_t &fQ, Float_t &sQ, Float_t &tQ){
 
  // for terms 2-4: start by setting q12(part 1) or q13(part 2)
  if(fi==0 || fi==6 || fi==9){// Identical species
    if( (c1+c2+c3)==1) {// fQ=ss, sQ=os, tQ=os
      if(term==1 || term==5){
	if(c1==c2) {fQ=q12; sQ=q13; tQ=q23;}
	else if(c1==c3) {fQ=q13; sQ=q12; tQ=q23;}
	else {fQ=q23; sQ=q12; tQ=q13;}
      }else if(term==2 && part==1){
	fQ=q12; sQ=q13; tQ=q23;
      }else if(term==2 && part==2){
	fQ=q13; sQ=q12; tQ=q23;
      }else if(term==3 && part==1){
	sQ=q12; 
	if(c1==c3) {fQ=q13; tQ=q23;}
	else {fQ=q23; tQ=q13;}
      }else if(term==3 && part==2){
	sQ=q13;
	if(c1==c2) {fQ=q12; tQ=q23;}
	else {fQ=q23; tQ=q12;}
      }else if(term==4 && part==1){
	tQ=q12;
	if(c1==c3) {fQ=q13; sQ=q23;}
	else {fQ=q23; sQ=q13;}
      }else if(term==4 && part==2){
	tQ=q13;
	if(c1==c2) {fQ=q12; sQ=q23;}
	else {fQ=q23; sQ=q12;}
      }else cout<<"problem!!!!!!!!!!!!!"<<endl;
    }else if( (c1+c2+c3)==2) {// fQ=os, sQ=os, tQ=ss
      if(term==1 || term==5){
	if(c1==c2) {tQ=q12; sQ=q13; fQ=q23;}
	else if(c1==c3) {tQ=q13; sQ=q12; fQ=q23;}
	else {tQ=q23; sQ=q12; fQ=q13;}
      }else if(term==2 && part==1){
	fQ=q12; 
	if(c1==c3) {tQ=q13; sQ=q23;}
	else {tQ=q23; sQ=q13;}
      }else if(term==2 && part==2){
	fQ=q13; 
	if(c1==c2) {tQ=q12; sQ=q23;}
	else {tQ=q23; sQ=q12;}
      }else if(term==3 && part==1){
	sQ=q12; 
	if(c1==c3) {tQ=q13; fQ=q23;}
	else {tQ=q23; fQ=q13;}
      }else if(term==3 && part==2){
	sQ=q13; 
	if(c1==c2) {tQ=q12; fQ=q23;}
	else {tQ=q23; fQ=q12;}
      }else if(term==4 && part==1){
	tQ=q12; sQ=q13; fQ=q23;
      }else if(term==4 && part==2){
	tQ=q13; sQ=q12; fQ=q23;
      }else cout<<"problem!!!!!!!!!!!!!"<<endl;
    }else {// fQ=ss, sQ=ss, tQ=ss
      if(term==1 || term==5) {fQ=q12; sQ=q13; tQ=q23;}
      else if(term==2 && part==1) {fQ=q12; sQ=q13; tQ=q23;}
      else if(term==2 && part==2) {fQ=q13; sQ=q12; tQ=q23;}
      else if(term==3 && part==1) {sQ=q12; fQ=q13; tQ=q23;}
      else if(term==3 && part==2) {sQ=q13; fQ=q12; tQ=q23;}
      else if(term==4 && part==1) {tQ=q12; fQ=q13; sQ=q23;}
      else if(term==4 && part==2) {tQ=q13; fQ=q12; sQ=q23;}
    }
  }else if(fi != 5){// all the rest except pi-k-p	
    if(key1==key2){
      fQ=q12;
      if(c1==c2){
	// cases not explicity shown below are not possible
	if(term==1 || term==5) {sQ=q13; tQ=q23;}
	else if(term==2 && part==1) {sQ=q13; tQ=q23;}
	else if(term==3 && part==2) {sQ=q13; tQ=q23;}
	else if(term==4 && part==2) {tQ=q13; sQ=q23;}
	else cout<<"problem!!!!!!!!!!!!!"<<endl;
      }else if(c3==0){
	if(c1==c3) {sQ=q13; tQ=q23;}
	else {sQ=q23; tQ=q13;}
      }else {//c3==1
	if(c1==c3) {tQ=q13; sQ=q23;}
	else {tQ=q23; sQ=q13;}
      }
    }else if(key1==key3){
      fQ=q13;
      if(c1==c3){
	// cases not explicity shown below are not possible
	if(term==1 || term==5) {sQ=q12; tQ=q23;}
	else if(term==2 && part==2) {sQ=q12; tQ=q23;}
	else if(term==3 && part==1) {sQ=q12; tQ=q23;}
	else if(term==4 && part==1) {tQ=q12; sQ=q23;}
	else cout<<"problem!!!!!!!!!!!!!!!!!!!!!!"<<endl;
      }else if(c2==0){
	if(c1==c2) {sQ=q12; tQ=q23;}
	else {sQ=q23; tQ=q12;}
      }else {//c2==1
	if(c1==c2) {tQ=q12; sQ=q23;}
	else {tQ=q23; sQ=q12;}
      }
    }else {// key2==key3
      fQ=q23;
      if(c2==c3){
	// cases not explicity shown below are not possible
	if(term==1 || term==5) {sQ=q12; tQ=q13;}
	else if(term==3 && part==1) {sQ=q12; tQ=q13;}
	else if(term==3 && part==2) {sQ=q13; tQ=q12;}
	else if(term==4 && part==1) {tQ=q12; sQ=q13;}
	else if(term==4 && part==2) {tQ=q13; sQ=q12;}
	else cout<<"problem!!!!!!!!!!!!!!!!!!!!!!"<<endl;
      }else if(c1==0){
	if(c1==c2) {sQ=q12; tQ=q13;}
	else {sQ=q13; tQ=q12;}
      }else {//c1==1
	if(c1==c2) {tQ=q12; sQ=q13;}
	else {tQ=q13; sQ=q12;}
      }
    }
  }else {// pi-k-p
    if(key1==1){
      if(key2==10) {fQ=q12; sQ=q13; tQ=q23;}// pi-k-p
      else {fQ=q13; sQ=q12; tQ=q23;}// pi-p-k
    }else if(key1==10){
      if(key2==1) {fQ=q12; sQ=q23; tQ=q13;}// k-pi-p
      else {fQ=q13; sQ=q23; tQ=q12;}// k-p-pi
    }else {// key1==100
      if(key2==1) {fQ=q23; sQ=q12; tQ=q13;}// p-pi-k
      else {fQ=q23; sQ=q13; tQ=q12;}// p-k-pi
    }
    
  }


}
//________________________________________________________________________
Float_t AliThreePionRadii::GetQinv(Short_t fi, Float_t track1[], Float_t track2[]){
  
  Float_t qinv=1.0;
  
  if(fi==0 || fi==3 || fi==5){// identical masses
    qinv = sqrt( pow(track1[1]-track2[1],2) + pow(track1[2]-track2[2],2) + pow(track1[3]-track2[3],2) - pow(track1[0]-track2[0],2));
  }else{// different masses
    Float_t px = track1[1] + track2[1]; 
    Float_t py = track1[2] + track2[2]; 
    Float_t pz = track1[3] + track2[3];    
    Float_t pSquared = pow(track1[0]+track2[0],2) - px*px - py*py - pz*pz;
    Float_t deltaDOTsum = (track1[0]-track2[0])*(track1[0]+track2[0]);
    deltaDOTsum -= (track1[1]-track2[1])*px + (track1[2]-track2[2])*py + (track1[3]-track2[3])*pz;
    
    qinv =  pow( (track1[1]-track2[1]) - deltaDOTsum*px/(pSquared),2);
    qinv += pow( (track1[2]-track2[2]) - deltaDOTsum*py/(pSquared),2);
    qinv += pow( (track1[3]-track2[3]) - deltaDOTsum*pz/(pSquared),2);
    qinv -= pow( (track1[0]-track2[0]) - deltaDOTsum*(track1[0]+track2[0])/(pSquared),2);
    qinv = sqrt(qinv);
  }
  
  return qinv;
  
}
//________________________________________________________________________
void AliThreePionRadii::GetQosl(Float_t track1[], Float_t track2[], Float_t& qout, Float_t& qside, Float_t& qlong){
 
  Float_t p0 = track1[0] + track2[0];
  Float_t px = track1[1] + track2[1];
  Float_t py = track1[2] + track2[2];
  Float_t pz = track1[3] + track2[3];
  
  Float_t mt = sqrt(p0*p0 - pz*pz);
  Float_t pt = sqrt(px*px + py*py);
  
  Float_t v0 = track1[0] - track2[0];
  Float_t vx = track1[1] - track2[1];
  Float_t vy = track1[2] - track2[2];
  Float_t vz = track1[3] - track2[3];
  
  qout = (px*vx + py*vy)/pt;
  qside = (px*vy - py*vx)/pt;
  qlong = (p0*vz - pz*v0)/mt;
}
//________________________________________________________________________
Float_t AliThreePionRadii::MCWeight(Int_t charge1, Int_t charge2, Float_t r, Int_t dampIndex, Float_t qinv){
  
  Float_t radius = r/0.19733;// convert to GeV (starts at 5 fm, was 3 fm)
  
  Float_t myDamp = fDampStart + (fDampStep)*dampIndex;
  Float_t coulCorr12 = FSICorrelation2(charge1, charge2, qinv);
  if(charge1==charge2){
    Float_t arg=qinv*radius;
    Float_t EW = 1 + kappa3/(6.*pow(2.,1.5))*(8.*pow(arg,3) - 12.*arg);
    EW += kappa4/(24.*pow(2.,2))*(16.*pow(arg,4) -48.*pow(arg,2) + 12);
    return ((1-myDamp) + myDamp*(1 + exp(-pow(qinv*radius,2))*pow(EW,2))*coulCorr12);
  }else {
    return ((1-myDamp) + myDamp*coulCorr12);
  }
    
}
//________________________________________________________________________
Float_t AliThreePionRadii::MCWeight3D(Bool_t SameCharge, Int_t term, Int_t dampIndex, Float_t q12, Float_t q13, Float_t q23){
  if(term==5) return 1.0;
  
  Float_t radius=fRMax;
  radius /= 0.19733;

  Float_t myDamp = fDampStart + (fDampStep)*dampIndex;
  Float_t fc = sqrt(myDamp);
  
  if(SameCharge){// all three of the same charge
    Float_t coulCorr12 = FSICorrelation2(+1,+1, q12);// K2
    Float_t coulCorr13 = FSICorrelation2(+1,+1, q13);// K2
    Float_t coulCorr23 = FSICorrelation2(+1,+1, q23);// K2
    Float_t arg12=q12*radius;
    Float_t arg13=q13*radius;
    Float_t arg23=q23*radius;
    Float_t EW12 = 1 + kappa3/(6.*pow(2.,1.5))*(8.*pow(arg12,3) - 12.*arg12);
    EW12 += kappa4/(24.*pow(2.,2))*(16.*pow(arg12,4) -48.*pow(arg12,2) + 12);
    Float_t EW13 = 1 + kappa3/(6.*pow(2.,1.5))*(8.*pow(arg13,3) - 12.*arg13);
    EW13 += kappa4/(24.*pow(2.,2))*(16.*pow(arg13,4) -48.*pow(arg13,2) + 12);
    Float_t EW23 = 1 + kappa3/(6.*pow(2.,1.5))*(8.*pow(arg23,3) - 12.*arg23);
    EW23 += kappa4/(24.*pow(2.,2))*(16.*pow(arg23,4) -48.*pow(arg23,2) + 12);
    if(term==1){
      Float_t c3QS = 1 + exp(-pow(q12*radius,2))*pow(EW12,2) + exp(-pow(q13*radius,2))*pow(EW13,2) + exp(-pow(q23*radius,2))*pow(EW23,2);
      c3QS += 2*exp(-pow(radius,2)*(pow(q12,2) + pow(q13,2) + pow(q23,2))/2.)*EW12*EW13*EW23;
      Float_t w123 = pow(1-fc,3) + 3*fc*pow(1-fc,2);
      w123 += pow(fc,2)*(1-fc)*(1+exp(-pow(q12*radius,2))*pow(EW12,2))*coulCorr12;
      w123 += pow(fc,2)*(1-fc)*(1+exp(-pow(q13*radius,2))*pow(EW13,2))*coulCorr13;
      w123 += pow(fc,2)*(1-fc)*(1+exp(-pow(q23*radius,2))*pow(EW23,2))*coulCorr23;
      w123 += pow(fc,3)*c3QS*coulCorr12*coulCorr13*coulCorr23;
      return w123;
    }else if(term==2){
      return ((1-myDamp) + myDamp*(1 + exp(-pow(q12*radius,2))*pow(EW12,2))*coulCorr12);
    }else if(term==3){
      return ((1-myDamp) + myDamp*(1 + exp(-pow(q13*radius,2))*pow(EW13,2))*coulCorr13);
    }else if(term==4){
      return ((1-myDamp) + myDamp*(1 + exp(-pow(q23*radius,2))*pow(EW23,2))*coulCorr23);
    }else return 1.0;
  
  }else{// mixed charge case pair 12 always treated as ss
    Float_t coulCorr12 = FSICorrelation2(+1,+1, q12);// K2 ss
    Float_t coulCorr13 = FSICorrelation2(+1,-1, q13);// K2 os
    Float_t coulCorr23 = FSICorrelation2(+1,-1, q23);// K2 os
    Float_t arg12=q12*radius;
    Float_t EW12 = 1 + kappa3/(6.*pow(2.,1.5))*(8.*pow(arg12,3) - 12.*arg12);
    EW12 += kappa4/(24.*pow(2.,2))*(16.*pow(arg12,4) -48.*pow(arg12,2) + 12);
    if(term==1){
      Float_t c3QS = 1 + exp(-pow(q12*radius,2))*pow(EW12,2);
      Float_t w123 = pow(1-fc,3) + 3*fc*pow(1-fc,2);
      w123 += pow(fc,2)*(1-fc)*(1+exp(-pow(q12*radius,2))*pow(EW12,2))*coulCorr12;
      w123 += pow(fc,2)*(1-fc)*coulCorr13;
      w123 += pow(fc,2)*(1-fc)*coulCorr23;
      w123 += pow(fc,3)*c3QS*coulCorr12*coulCorr13*coulCorr23;
      return w123;
    }else if(term==2){
      return ((1-myDamp) + myDamp*(1 + exp(-pow(q12*radius,2))*pow(EW12,2))*coulCorr12);
    }else if(term==3){
      return ((1-myDamp) + myDamp*coulCorr13);
    }else if(term==4){
      return ((1-myDamp) + myDamp*coulCorr23);
    }else return 1.0;
  }
  
}
//________________________________________________________________________
void AliThreePionRadii::SetFSICorrelations(Bool_t legoCase, TH1D *temp1DSS[10], TH1D *temp1DOS[10]){
  // read in 2-particle FSI correlations = K2 
  // 2-particle input histo from file is binned in qinv.
  if(legoCase){
    cout<<"LEGO call to SetFSICorrelations"<<endl;
    for(int mb=0; mb<10; mb++){
      fFSI2SS[mb] = (TH1D*)temp1DSS[mb]->Clone();
      fFSI2OS[mb] = (TH1D*)temp1DOS[mb]->Clone();
      //
      fFSI2SS[mb]->SetDirectory(0);
      fFSI2OS[mb]->SetDirectory(0);
    }
  }else {
    cout<<"non LEGO call to SetFSICorrelations"<<endl;
    TFile *fsifile = new TFile("KFile.root","READ");
    if(!fsifile->IsOpen()) {
      cout<<"No FSI file found"<<endl;
      AliFatal("No FSI file found.  Kill process.");
    }else {cout<<"Good FSI File Found!"<<endl;}
    for(int mb=0; mb<10; mb++){
      TString *nameK2ss = new TString("K2ss_");
      TString *nameK2os = new TString("K2os_");
      *nameK2ss += mb;
      *nameK2os += mb;
      TH1D *temphistoSS = (TH1D*)fsifile->Get(nameK2ss->Data());
      TH1D *temphistoOS = (TH1D*)fsifile->Get(nameK2os->Data());
      //
      fFSI2SS[mb] = (TH1D*)temphistoSS->Clone();
      fFSI2OS[mb] = (TH1D*)temphistoOS->Clone();
      fFSI2SS[mb]->SetDirectory(0);
      fFSI2OS[mb]->SetDirectory(0);
    }
    
    fsifile->Close();
  }

  for(int mb=0; mb<10; mb++){
    for(Int_t ii=1; ii<=fFSI2SS[mb]->GetNbinsX(); ii++){
      if(fFSI2SS[mb]->GetBinContent(ii) > 1.0) fFSI2SS[mb]->SetBinContent(ii, 1.0);
      if(fFSI2OS[mb]->GetBinContent(ii) > 10.0) fFSI2OS[mb]->SetBinContent(ii, 10.0);
      //
      if(fFSI2SS[mb]->GetBinContent(ii) < 0.05) fFSI2SS[mb]->SetBinContent(ii, 0.05);
      if(fFSI2OS[mb]->GetBinContent(ii) < 0.9) fFSI2OS[mb]->SetBinContent(ii, 0.9);
    }
  }
  
  cout<<"Done reading FSI file"<<endl;
}
//________________________________________________________________________
Float_t AliThreePionRadii::FSICorrelation2(Int_t charge1, Int_t charge2, Float_t qinv){
  // returns 2-particle Coulomb correlations = K2
  Int_t qbinL = fFSI2SS[fFSIindex]->GetXaxis()->FindBin(qinv-fFSI2SS[fFSIindex]->GetXaxis()->GetBinWidth(1)/2.);
  Int_t qbinH = qbinL+1;
  if(qbinL <= 0) return 1.0;
  if(qbinH > fFSI2SS[fFSIindex]->GetNbinsX()) return 1.0;
  
  Float_t slope=0;
  if(charge1==charge2){
    slope = fFSI2SS[fFSIindex]->GetBinContent(qbinL) - fFSI2SS[fFSIindex]->GetBinContent(qbinH);
    slope /= fFSI2SS[fFSIindex]->GetXaxis()->GetBinCenter(qbinL) - fFSI2SS[fFSIindex]->GetXaxis()->GetBinCenter(qbinH);
    return (slope*(qinv - fFSI2SS[fFSIindex]->GetXaxis()->GetBinCenter(qbinL)) + fFSI2SS[fFSIindex]->GetBinContent(qbinL));
  }else {
    slope = fFSI2OS[fFSIindex]->GetBinContent(qbinL) - fFSI2OS[fFSIindex]->GetBinContent(qbinH);
    slope /= fFSI2OS[fFSIindex]->GetXaxis()->GetBinCenter(qbinL) - fFSI2OS[fFSIindex]->GetXaxis()->GetBinCenter(qbinH);
    return (slope*(qinv - fFSI2OS[fFSIindex]->GetXaxis()->GetBinCenter(qbinL)) + fFSI2OS[fFSIindex]->GetBinContent(qbinL));
  }
}
//________________________________________________________________________
 AliThreePionRadii.cxx:1
 AliThreePionRadii.cxx:2
 AliThreePionRadii.cxx:3
 AliThreePionRadii.cxx:4
 AliThreePionRadii.cxx:5
 AliThreePionRadii.cxx:6
 AliThreePionRadii.cxx:7
 AliThreePionRadii.cxx:8
 AliThreePionRadii.cxx:9
 AliThreePionRadii.cxx:10
 AliThreePionRadii.cxx:11
 AliThreePionRadii.cxx:12
 AliThreePionRadii.cxx:13
 AliThreePionRadii.cxx:14
 AliThreePionRadii.cxx:15
 AliThreePionRadii.cxx:16
 AliThreePionRadii.cxx:17
 AliThreePionRadii.cxx:18
 AliThreePionRadii.cxx:19
 AliThreePionRadii.cxx:20
 AliThreePionRadii.cxx:21
 AliThreePionRadii.cxx:22
 AliThreePionRadii.cxx:23
 AliThreePionRadii.cxx:24
 AliThreePionRadii.cxx:25
 AliThreePionRadii.cxx:26
 AliThreePionRadii.cxx:27
 AliThreePionRadii.cxx:28
 AliThreePionRadii.cxx:29
 AliThreePionRadii.cxx:30
 AliThreePionRadii.cxx:31
 AliThreePionRadii.cxx:32
 AliThreePionRadii.cxx:33
 AliThreePionRadii.cxx:34
 AliThreePionRadii.cxx:35
 AliThreePionRadii.cxx:36
 AliThreePionRadii.cxx:37
 AliThreePionRadii.cxx:38
 AliThreePionRadii.cxx:39
 AliThreePionRadii.cxx:40
 AliThreePionRadii.cxx:41
 AliThreePionRadii.cxx:42
 AliThreePionRadii.cxx:43
 AliThreePionRadii.cxx:44
 AliThreePionRadii.cxx:45
 AliThreePionRadii.cxx:46
 AliThreePionRadii.cxx:47
 AliThreePionRadii.cxx:48
 AliThreePionRadii.cxx:49
 AliThreePionRadii.cxx:50
 AliThreePionRadii.cxx:51
 AliThreePionRadii.cxx:52
 AliThreePionRadii.cxx:53
 AliThreePionRadii.cxx:54
 AliThreePionRadii.cxx:55
 AliThreePionRadii.cxx:56
 AliThreePionRadii.cxx:57
 AliThreePionRadii.cxx:58
 AliThreePionRadii.cxx:59
 AliThreePionRadii.cxx:60
 AliThreePionRadii.cxx:61
 AliThreePionRadii.cxx:62
 AliThreePionRadii.cxx:63
 AliThreePionRadii.cxx:64
 AliThreePionRadii.cxx:65
 AliThreePionRadii.cxx:66
 AliThreePionRadii.cxx:67
 AliThreePionRadii.cxx:68
 AliThreePionRadii.cxx:69
 AliThreePionRadii.cxx:70
 AliThreePionRadii.cxx:71
 AliThreePionRadii.cxx:72
 AliThreePionRadii.cxx:73
 AliThreePionRadii.cxx:74
 AliThreePionRadii.cxx:75
 AliThreePionRadii.cxx:76
 AliThreePionRadii.cxx:77
 AliThreePionRadii.cxx:78
 AliThreePionRadii.cxx:79
 AliThreePionRadii.cxx:80
 AliThreePionRadii.cxx:81
 AliThreePionRadii.cxx:82
 AliThreePionRadii.cxx:83
 AliThreePionRadii.cxx:84
 AliThreePionRadii.cxx:85
 AliThreePionRadii.cxx:86
 AliThreePionRadii.cxx:87
 AliThreePionRadii.cxx:88
 AliThreePionRadii.cxx:89
 AliThreePionRadii.cxx:90
 AliThreePionRadii.cxx:91
 AliThreePionRadii.cxx:92
 AliThreePionRadii.cxx:93
 AliThreePionRadii.cxx:94
 AliThreePionRadii.cxx:95
 AliThreePionRadii.cxx:96
 AliThreePionRadii.cxx:97
 AliThreePionRadii.cxx:98
 AliThreePionRadii.cxx:99
 AliThreePionRadii.cxx:100
 AliThreePionRadii.cxx:101
 AliThreePionRadii.cxx:102
 AliThreePionRadii.cxx:103
 AliThreePionRadii.cxx:104
 AliThreePionRadii.cxx:105
 AliThreePionRadii.cxx:106
 AliThreePionRadii.cxx:107
 AliThreePionRadii.cxx:108
 AliThreePionRadii.cxx:109
 AliThreePionRadii.cxx:110
 AliThreePionRadii.cxx:111
 AliThreePionRadii.cxx:112
 AliThreePionRadii.cxx:113
 AliThreePionRadii.cxx:114
 AliThreePionRadii.cxx:115
 AliThreePionRadii.cxx:116
 AliThreePionRadii.cxx:117
 AliThreePionRadii.cxx:118
 AliThreePionRadii.cxx:119
 AliThreePionRadii.cxx:120
 AliThreePionRadii.cxx:121
 AliThreePionRadii.cxx:122
 AliThreePionRadii.cxx:123
 AliThreePionRadii.cxx:124
 AliThreePionRadii.cxx:125
 AliThreePionRadii.cxx:126
 AliThreePionRadii.cxx:127
 AliThreePionRadii.cxx:128
 AliThreePionRadii.cxx:129
 AliThreePionRadii.cxx:130
 AliThreePionRadii.cxx:131
 AliThreePionRadii.cxx:132
 AliThreePionRadii.cxx:133
 AliThreePionRadii.cxx:134
 AliThreePionRadii.cxx:135
 AliThreePionRadii.cxx:136
 AliThreePionRadii.cxx:137
 AliThreePionRadii.cxx:138
 AliThreePionRadii.cxx:139
 AliThreePionRadii.cxx:140
 AliThreePionRadii.cxx:141
 AliThreePionRadii.cxx:142
 AliThreePionRadii.cxx:143
 AliThreePionRadii.cxx:144
 AliThreePionRadii.cxx:145
 AliThreePionRadii.cxx:146
 AliThreePionRadii.cxx:147
 AliThreePionRadii.cxx:148
 AliThreePionRadii.cxx:149
 AliThreePionRadii.cxx:150
 AliThreePionRadii.cxx:151
 AliThreePionRadii.cxx:152
 AliThreePionRadii.cxx:153
 AliThreePionRadii.cxx:154
 AliThreePionRadii.cxx:155
 AliThreePionRadii.cxx:156
 AliThreePionRadii.cxx:157
 AliThreePionRadii.cxx:158
 AliThreePionRadii.cxx:159
 AliThreePionRadii.cxx:160
 AliThreePionRadii.cxx:161
 AliThreePionRadii.cxx:162
 AliThreePionRadii.cxx:163
 AliThreePionRadii.cxx:164
 AliThreePionRadii.cxx:165
 AliThreePionRadii.cxx:166
 AliThreePionRadii.cxx:167
 AliThreePionRadii.cxx:168
 AliThreePionRadii.cxx:169
 AliThreePionRadii.cxx:170
 AliThreePionRadii.cxx:171
 AliThreePionRadii.cxx:172
 AliThreePionRadii.cxx:173
 AliThreePionRadii.cxx:174
 AliThreePionRadii.cxx:175
 AliThreePionRadii.cxx:176
 AliThreePionRadii.cxx:177
 AliThreePionRadii.cxx:178
 AliThreePionRadii.cxx:179
 AliThreePionRadii.cxx:180
 AliThreePionRadii.cxx:181
 AliThreePionRadii.cxx:182
 AliThreePionRadii.cxx:183
 AliThreePionRadii.cxx:184
 AliThreePionRadii.cxx:185
 AliThreePionRadii.cxx:186
 AliThreePionRadii.cxx:187
 AliThreePionRadii.cxx:188
 AliThreePionRadii.cxx:189
 AliThreePionRadii.cxx:190
 AliThreePionRadii.cxx:191
 AliThreePionRadii.cxx:192
 AliThreePionRadii.cxx:193
 AliThreePionRadii.cxx:194
 AliThreePionRadii.cxx:195
 AliThreePionRadii.cxx:196
 AliThreePionRadii.cxx:197
 AliThreePionRadii.cxx:198
 AliThreePionRadii.cxx:199
 AliThreePionRadii.cxx:200
 AliThreePionRadii.cxx:201
 AliThreePionRadii.cxx:202
 AliThreePionRadii.cxx:203
 AliThreePionRadii.cxx:204
 AliThreePionRadii.cxx:205
 AliThreePionRadii.cxx:206
 AliThreePionRadii.cxx:207
 AliThreePionRadii.cxx:208
 AliThreePionRadii.cxx:209
 AliThreePionRadii.cxx:210
 AliThreePionRadii.cxx:211
 AliThreePionRadii.cxx:212
 AliThreePionRadii.cxx:213
 AliThreePionRadii.cxx:214
 AliThreePionRadii.cxx:215
 AliThreePionRadii.cxx:216
 AliThreePionRadii.cxx:217
 AliThreePionRadii.cxx:218
 AliThreePionRadii.cxx:219
 AliThreePionRadii.cxx:220
 AliThreePionRadii.cxx:221
 AliThreePionRadii.cxx:222
 AliThreePionRadii.cxx:223
 AliThreePionRadii.cxx:224
 AliThreePionRadii.cxx:225
 AliThreePionRadii.cxx:226
 AliThreePionRadii.cxx:227
 AliThreePionRadii.cxx:228
 AliThreePionRadii.cxx:229
 AliThreePionRadii.cxx:230
 AliThreePionRadii.cxx:231
 AliThreePionRadii.cxx:232
 AliThreePionRadii.cxx:233
 AliThreePionRadii.cxx:234
 AliThreePionRadii.cxx:235
 AliThreePionRadii.cxx:236
 AliThreePionRadii.cxx:237
 AliThreePionRadii.cxx:238
 AliThreePionRadii.cxx:239
 AliThreePionRadii.cxx:240
 AliThreePionRadii.cxx:241
 AliThreePionRadii.cxx:242
 AliThreePionRadii.cxx:243
 AliThreePionRadii.cxx:244
 AliThreePionRadii.cxx:245
 AliThreePionRadii.cxx:246
 AliThreePionRadii.cxx:247
 AliThreePionRadii.cxx:248
 AliThreePionRadii.cxx:249
 AliThreePionRadii.cxx:250
 AliThreePionRadii.cxx:251
 AliThreePionRadii.cxx:252
 AliThreePionRadii.cxx:253
 AliThreePionRadii.cxx:254
 AliThreePionRadii.cxx:255
 AliThreePionRadii.cxx:256
 AliThreePionRadii.cxx:257
 AliThreePionRadii.cxx:258
 AliThreePionRadii.cxx:259
 AliThreePionRadii.cxx:260
 AliThreePionRadii.cxx:261
 AliThreePionRadii.cxx:262
 AliThreePionRadii.cxx:263
 AliThreePionRadii.cxx:264
 AliThreePionRadii.cxx:265
 AliThreePionRadii.cxx:266
 AliThreePionRadii.cxx:267
 AliThreePionRadii.cxx:268
 AliThreePionRadii.cxx:269
 AliThreePionRadii.cxx:270
 AliThreePionRadii.cxx:271
 AliThreePionRadii.cxx:272
 AliThreePionRadii.cxx:273
 AliThreePionRadii.cxx:274
 AliThreePionRadii.cxx:275
 AliThreePionRadii.cxx:276
 AliThreePionRadii.cxx:277
 AliThreePionRadii.cxx:278
 AliThreePionRadii.cxx:279
 AliThreePionRadii.cxx:280
 AliThreePionRadii.cxx:281
 AliThreePionRadii.cxx:282
 AliThreePionRadii.cxx:283
 AliThreePionRadii.cxx:284
 AliThreePionRadii.cxx:285
 AliThreePionRadii.cxx:286
 AliThreePionRadii.cxx:287
 AliThreePionRadii.cxx:288
 AliThreePionRadii.cxx:289
 AliThreePionRadii.cxx:290
 AliThreePionRadii.cxx:291
 AliThreePionRadii.cxx:292
 AliThreePionRadii.cxx:293
 AliThreePionRadii.cxx:294
 AliThreePionRadii.cxx:295
 AliThreePionRadii.cxx:296
 AliThreePionRadii.cxx:297
 AliThreePionRadii.cxx:298
 AliThreePionRadii.cxx:299
 AliThreePionRadii.cxx:300
 AliThreePionRadii.cxx:301
 AliThreePionRadii.cxx:302
 AliThreePionRadii.cxx:303
 AliThreePionRadii.cxx:304
 AliThreePionRadii.cxx:305
 AliThreePionRadii.cxx:306
 AliThreePionRadii.cxx:307
 AliThreePionRadii.cxx:308
 AliThreePionRadii.cxx:309
 AliThreePionRadii.cxx:310
 AliThreePionRadii.cxx:311
 AliThreePionRadii.cxx:312
 AliThreePionRadii.cxx:313
 AliThreePionRadii.cxx:314
 AliThreePionRadii.cxx:315
 AliThreePionRadii.cxx:316
 AliThreePionRadii.cxx:317
 AliThreePionRadii.cxx:318
 AliThreePionRadii.cxx:319
 AliThreePionRadii.cxx:320
 AliThreePionRadii.cxx:321
 AliThreePionRadii.cxx:322
 AliThreePionRadii.cxx:323
 AliThreePionRadii.cxx:324
 AliThreePionRadii.cxx:325
 AliThreePionRadii.cxx:326
 AliThreePionRadii.cxx:327
 AliThreePionRadii.cxx:328
 AliThreePionRadii.cxx:329
 AliThreePionRadii.cxx:330
 AliThreePionRadii.cxx:331
 AliThreePionRadii.cxx:332
 AliThreePionRadii.cxx:333
 AliThreePionRadii.cxx:334
 AliThreePionRadii.cxx:335
 AliThreePionRadii.cxx:336
 AliThreePionRadii.cxx:337
 AliThreePionRadii.cxx:338
 AliThreePionRadii.cxx:339
 AliThreePionRadii.cxx:340
 AliThreePionRadii.cxx:341
 AliThreePionRadii.cxx:342
 AliThreePionRadii.cxx:343
 AliThreePionRadii.cxx:344
 AliThreePionRadii.cxx:345
 AliThreePionRadii.cxx:346
 AliThreePionRadii.cxx:347
 AliThreePionRadii.cxx:348
 AliThreePionRadii.cxx:349
 AliThreePionRadii.cxx:350
 AliThreePionRadii.cxx:351
 AliThreePionRadii.cxx:352
 AliThreePionRadii.cxx:353
 AliThreePionRadii.cxx:354
 AliThreePionRadii.cxx:355
 AliThreePionRadii.cxx:356
 AliThreePionRadii.cxx:357
 AliThreePionRadii.cxx:358
 AliThreePionRadii.cxx:359
 AliThreePionRadii.cxx:360
 AliThreePionRadii.cxx:361
 AliThreePionRadii.cxx:362
 AliThreePionRadii.cxx:363
 AliThreePionRadii.cxx:364
 AliThreePionRadii.cxx:365
 AliThreePionRadii.cxx:366
 AliThreePionRadii.cxx:367
 AliThreePionRadii.cxx:368
 AliThreePionRadii.cxx:369
 AliThreePionRadii.cxx:370
 AliThreePionRadii.cxx:371
 AliThreePionRadii.cxx:372
 AliThreePionRadii.cxx:373
 AliThreePionRadii.cxx:374
 AliThreePionRadii.cxx:375
 AliThreePionRadii.cxx:376
 AliThreePionRadii.cxx:377
 AliThreePionRadii.cxx:378
 AliThreePionRadii.cxx:379
 AliThreePionRadii.cxx:380
 AliThreePionRadii.cxx:381
 AliThreePionRadii.cxx:382
 AliThreePionRadii.cxx:383
 AliThreePionRadii.cxx:384
 AliThreePionRadii.cxx:385
 AliThreePionRadii.cxx:386
 AliThreePionRadii.cxx:387
 AliThreePionRadii.cxx:388
 AliThreePionRadii.cxx:389
 AliThreePionRadii.cxx:390
 AliThreePionRadii.cxx:391
 AliThreePionRadii.cxx:392
 AliThreePionRadii.cxx:393
 AliThreePionRadii.cxx:394
 AliThreePionRadii.cxx:395
 AliThreePionRadii.cxx:396
 AliThreePionRadii.cxx:397
 AliThreePionRadii.cxx:398
 AliThreePionRadii.cxx:399
 AliThreePionRadii.cxx:400
 AliThreePionRadii.cxx:401
 AliThreePionRadii.cxx:402
 AliThreePionRadii.cxx:403
 AliThreePionRadii.cxx:404
 AliThreePionRadii.cxx:405
 AliThreePionRadii.cxx:406
 AliThreePionRadii.cxx:407
 AliThreePionRadii.cxx:408
 AliThreePionRadii.cxx:409
 AliThreePionRadii.cxx:410
 AliThreePionRadii.cxx:411
 AliThreePionRadii.cxx:412
 AliThreePionRadii.cxx:413
 AliThreePionRadii.cxx:414
 AliThreePionRadii.cxx:415
 AliThreePionRadii.cxx:416
 AliThreePionRadii.cxx:417
 AliThreePionRadii.cxx:418
 AliThreePionRadii.cxx:419
 AliThreePionRadii.cxx:420
 AliThreePionRadii.cxx:421
 AliThreePionRadii.cxx:422
 AliThreePionRadii.cxx:423
 AliThreePionRadii.cxx:424
 AliThreePionRadii.cxx:425
 AliThreePionRadii.cxx:426
 AliThreePionRadii.cxx:427
 AliThreePionRadii.cxx:428
 AliThreePionRadii.cxx:429
 AliThreePionRadii.cxx:430
 AliThreePionRadii.cxx:431
 AliThreePionRadii.cxx:432
 AliThreePionRadii.cxx:433
 AliThreePionRadii.cxx:434
 AliThreePionRadii.cxx:435
 AliThreePionRadii.cxx:436
 AliThreePionRadii.cxx:437
 AliThreePionRadii.cxx:438
 AliThreePionRadii.cxx:439
 AliThreePionRadii.cxx:440
 AliThreePionRadii.cxx:441
 AliThreePionRadii.cxx:442
 AliThreePionRadii.cxx:443
 AliThreePionRadii.cxx:444
 AliThreePionRadii.cxx:445
 AliThreePionRadii.cxx:446
 AliThreePionRadii.cxx:447
 AliThreePionRadii.cxx:448
 AliThreePionRadii.cxx:449
 AliThreePionRadii.cxx:450
 AliThreePionRadii.cxx:451
 AliThreePionRadii.cxx:452
 AliThreePionRadii.cxx:453
 AliThreePionRadii.cxx:454
 AliThreePionRadii.cxx:455
 AliThreePionRadii.cxx:456
 AliThreePionRadii.cxx:457
 AliThreePionRadii.cxx:458
 AliThreePionRadii.cxx:459
 AliThreePionRadii.cxx:460
 AliThreePionRadii.cxx:461
 AliThreePionRadii.cxx:462
 AliThreePionRadii.cxx:463
 AliThreePionRadii.cxx:464
 AliThreePionRadii.cxx:465
 AliThreePionRadii.cxx:466
 AliThreePionRadii.cxx:467
 AliThreePionRadii.cxx:468
 AliThreePionRadii.cxx:469
 AliThreePionRadii.cxx:470
 AliThreePionRadii.cxx:471
 AliThreePionRadii.cxx:472
 AliThreePionRadii.cxx:473
 AliThreePionRadii.cxx:474
 AliThreePionRadii.cxx:475
 AliThreePionRadii.cxx:476
 AliThreePionRadii.cxx:477
 AliThreePionRadii.cxx:478
 AliThreePionRadii.cxx:479
 AliThreePionRadii.cxx:480
 AliThreePionRadii.cxx:481
 AliThreePionRadii.cxx:482
 AliThreePionRadii.cxx:483
 AliThreePionRadii.cxx:484
 AliThreePionRadii.cxx:485
 AliThreePionRadii.cxx:486
 AliThreePionRadii.cxx:487
 AliThreePionRadii.cxx:488
 AliThreePionRadii.cxx:489
 AliThreePionRadii.cxx:490
 AliThreePionRadii.cxx:491
 AliThreePionRadii.cxx:492
 AliThreePionRadii.cxx:493
 AliThreePionRadii.cxx:494
 AliThreePionRadii.cxx:495
 AliThreePionRadii.cxx:496
 AliThreePionRadii.cxx:497
 AliThreePionRadii.cxx:498
 AliThreePionRadii.cxx:499
 AliThreePionRadii.cxx:500
 AliThreePionRadii.cxx:501
 AliThreePionRadii.cxx:502
 AliThreePionRadii.cxx:503
 AliThreePionRadii.cxx:504
 AliThreePionRadii.cxx:505
 AliThreePionRadii.cxx:506
 AliThreePionRadii.cxx:507
 AliThreePionRadii.cxx:508
 AliThreePionRadii.cxx:509
 AliThreePionRadii.cxx:510
 AliThreePionRadii.cxx:511
 AliThreePionRadii.cxx:512
 AliThreePionRadii.cxx:513
 AliThreePionRadii.cxx:514
 AliThreePionRadii.cxx:515
 AliThreePionRadii.cxx:516
 AliThreePionRadii.cxx:517
 AliThreePionRadii.cxx:518
 AliThreePionRadii.cxx:519
 AliThreePionRadii.cxx:520
 AliThreePionRadii.cxx:521
 AliThreePionRadii.cxx:522
 AliThreePionRadii.cxx:523
 AliThreePionRadii.cxx:524
 AliThreePionRadii.cxx:525
 AliThreePionRadii.cxx:526
 AliThreePionRadii.cxx:527
 AliThreePionRadii.cxx:528
 AliThreePionRadii.cxx:529
 AliThreePionRadii.cxx:530
 AliThreePionRadii.cxx:531
 AliThreePionRadii.cxx:532
 AliThreePionRadii.cxx:533
 AliThreePionRadii.cxx:534
 AliThreePionRadii.cxx:535
 AliThreePionRadii.cxx:536
 AliThreePionRadii.cxx:537
 AliThreePionRadii.cxx:538
 AliThreePionRadii.cxx:539
 AliThreePionRadii.cxx:540
 AliThreePionRadii.cxx:541
 AliThreePionRadii.cxx:542
 AliThreePionRadii.cxx:543
 AliThreePionRadii.cxx:544
 AliThreePionRadii.cxx:545
 AliThreePionRadii.cxx:546
 AliThreePionRadii.cxx:547
 AliThreePionRadii.cxx:548
 AliThreePionRadii.cxx:549
 AliThreePionRadii.cxx:550
 AliThreePionRadii.cxx:551
 AliThreePionRadii.cxx:552
 AliThreePionRadii.cxx:553
 AliThreePionRadii.cxx:554
 AliThreePionRadii.cxx:555
 AliThreePionRadii.cxx:556
 AliThreePionRadii.cxx:557
 AliThreePionRadii.cxx:558
 AliThreePionRadii.cxx:559
 AliThreePionRadii.cxx:560
 AliThreePionRadii.cxx:561
 AliThreePionRadii.cxx:562
 AliThreePionRadii.cxx:563
 AliThreePionRadii.cxx:564
 AliThreePionRadii.cxx:565
 AliThreePionRadii.cxx:566
 AliThreePionRadii.cxx:567
 AliThreePionRadii.cxx:568
 AliThreePionRadii.cxx:569
 AliThreePionRadii.cxx:570
 AliThreePionRadii.cxx:571
 AliThreePionRadii.cxx:572
 AliThreePionRadii.cxx:573
 AliThreePionRadii.cxx:574
 AliThreePionRadii.cxx:575
 AliThreePionRadii.cxx:576
 AliThreePionRadii.cxx:577
 AliThreePionRadii.cxx:578
 AliThreePionRadii.cxx:579
 AliThreePionRadii.cxx:580
 AliThreePionRadii.cxx:581
 AliThreePionRadii.cxx:582
 AliThreePionRadii.cxx:583
 AliThreePionRadii.cxx:584
 AliThreePionRadii.cxx:585
 AliThreePionRadii.cxx:586
 AliThreePionRadii.cxx:587
 AliThreePionRadii.cxx:588
 AliThreePionRadii.cxx:589
 AliThreePionRadii.cxx:590
 AliThreePionRadii.cxx:591
 AliThreePionRadii.cxx:592
 AliThreePionRadii.cxx:593
 AliThreePionRadii.cxx:594
 AliThreePionRadii.cxx:595
 AliThreePionRadii.cxx:596
 AliThreePionRadii.cxx:597
 AliThreePionRadii.cxx:598
 AliThreePionRadii.cxx:599
 AliThreePionRadii.cxx:600
 AliThreePionRadii.cxx:601
 AliThreePionRadii.cxx:602
 AliThreePionRadii.cxx:603
 AliThreePionRadii.cxx:604
 AliThreePionRadii.cxx:605
 AliThreePionRadii.cxx:606
 AliThreePionRadii.cxx:607
 AliThreePionRadii.cxx:608
 AliThreePionRadii.cxx:609
 AliThreePionRadii.cxx:610
 AliThreePionRadii.cxx:611
 AliThreePionRadii.cxx:612
 AliThreePionRadii.cxx:613
 AliThreePionRadii.cxx:614
 AliThreePionRadii.cxx:615
 AliThreePionRadii.cxx:616
 AliThreePionRadii.cxx:617
 AliThreePionRadii.cxx:618
 AliThreePionRadii.cxx:619
 AliThreePionRadii.cxx:620
 AliThreePionRadii.cxx:621
 AliThreePionRadii.cxx:622
 AliThreePionRadii.cxx:623
 AliThreePionRadii.cxx:624
 AliThreePionRadii.cxx:625
 AliThreePionRadii.cxx:626
 AliThreePionRadii.cxx:627
 AliThreePionRadii.cxx:628
 AliThreePionRadii.cxx:629
 AliThreePionRadii.cxx:630
 AliThreePionRadii.cxx:631
 AliThreePionRadii.cxx:632
 AliThreePionRadii.cxx:633
 AliThreePionRadii.cxx:634
 AliThreePionRadii.cxx:635
 AliThreePionRadii.cxx:636
 AliThreePionRadii.cxx:637
 AliThreePionRadii.cxx:638
 AliThreePionRadii.cxx:639
 AliThreePionRadii.cxx:640
 AliThreePionRadii.cxx:641
 AliThreePionRadii.cxx:642
 AliThreePionRadii.cxx:643
 AliThreePionRadii.cxx:644
 AliThreePionRadii.cxx:645
 AliThreePionRadii.cxx:646
 AliThreePionRadii.cxx:647
 AliThreePionRadii.cxx:648
 AliThreePionRadii.cxx:649
 AliThreePionRadii.cxx:650
 AliThreePionRadii.cxx:651
 AliThreePionRadii.cxx:652
 AliThreePionRadii.cxx:653
 AliThreePionRadii.cxx:654
 AliThreePionRadii.cxx:655
 AliThreePionRadii.cxx:656
 AliThreePionRadii.cxx:657
 AliThreePionRadii.cxx:658
 AliThreePionRadii.cxx:659
 AliThreePionRadii.cxx:660
 AliThreePionRadii.cxx:661
 AliThreePionRadii.cxx:662
 AliThreePionRadii.cxx:663
 AliThreePionRadii.cxx:664
 AliThreePionRadii.cxx:665
 AliThreePionRadii.cxx:666
 AliThreePionRadii.cxx:667
 AliThreePionRadii.cxx:668
 AliThreePionRadii.cxx:669
 AliThreePionRadii.cxx:670
 AliThreePionRadii.cxx:671
 AliThreePionRadii.cxx:672
 AliThreePionRadii.cxx:673
 AliThreePionRadii.cxx:674
 AliThreePionRadii.cxx:675
 AliThreePionRadii.cxx:676
 AliThreePionRadii.cxx:677
 AliThreePionRadii.cxx:678
 AliThreePionRadii.cxx:679
 AliThreePionRadii.cxx:680
 AliThreePionRadii.cxx:681
 AliThreePionRadii.cxx:682
 AliThreePionRadii.cxx:683
 AliThreePionRadii.cxx:684
 AliThreePionRadii.cxx:685
 AliThreePionRadii.cxx:686
 AliThreePionRadii.cxx:687
 AliThreePionRadii.cxx:688
 AliThreePionRadii.cxx:689
 AliThreePionRadii.cxx:690
 AliThreePionRadii.cxx:691
 AliThreePionRadii.cxx:692
 AliThreePionRadii.cxx:693
 AliThreePionRadii.cxx:694
 AliThreePionRadii.cxx:695
 AliThreePionRadii.cxx:696
 AliThreePionRadii.cxx:697
 AliThreePionRadii.cxx:698
 AliThreePionRadii.cxx:699
 AliThreePionRadii.cxx:700
 AliThreePionRadii.cxx:701
 AliThreePionRadii.cxx:702
 AliThreePionRadii.cxx:703
 AliThreePionRadii.cxx:704
 AliThreePionRadii.cxx:705
 AliThreePionRadii.cxx:706
 AliThreePionRadii.cxx:707
 AliThreePionRadii.cxx:708
 AliThreePionRadii.cxx:709
 AliThreePionRadii.cxx:710
 AliThreePionRadii.cxx:711
 AliThreePionRadii.cxx:712
 AliThreePionRadii.cxx:713
 AliThreePionRadii.cxx:714
 AliThreePionRadii.cxx:715
 AliThreePionRadii.cxx:716
 AliThreePionRadii.cxx:717
 AliThreePionRadii.cxx:718
 AliThreePionRadii.cxx:719
 AliThreePionRadii.cxx:720
 AliThreePionRadii.cxx:721
 AliThreePionRadii.cxx:722
 AliThreePionRadii.cxx:723
 AliThreePionRadii.cxx:724
 AliThreePionRadii.cxx:725
 AliThreePionRadii.cxx:726
 AliThreePionRadii.cxx:727
 AliThreePionRadii.cxx:728
 AliThreePionRadii.cxx:729
 AliThreePionRadii.cxx:730
 AliThreePionRadii.cxx:731
 AliThreePionRadii.cxx:732
 AliThreePionRadii.cxx:733
 AliThreePionRadii.cxx:734
 AliThreePionRadii.cxx:735
 AliThreePionRadii.cxx:736
 AliThreePionRadii.cxx:737
 AliThreePionRadii.cxx:738
 AliThreePionRadii.cxx:739
 AliThreePionRadii.cxx:740
 AliThreePionRadii.cxx:741
 AliThreePionRadii.cxx:742
 AliThreePionRadii.cxx:743
 AliThreePionRadii.cxx:744
 AliThreePionRadii.cxx:745
 AliThreePionRadii.cxx:746
 AliThreePionRadii.cxx:747
 AliThreePionRadii.cxx:748
 AliThreePionRadii.cxx:749
 AliThreePionRadii.cxx:750
 AliThreePionRadii.cxx:751
 AliThreePionRadii.cxx:752
 AliThreePionRadii.cxx:753
 AliThreePionRadii.cxx:754
 AliThreePionRadii.cxx:755
 AliThreePionRadii.cxx:756
 AliThreePionRadii.cxx:757
 AliThreePionRadii.cxx:758
 AliThreePionRadii.cxx:759
 AliThreePionRadii.cxx:760
 AliThreePionRadii.cxx:761
 AliThreePionRadii.cxx:762
 AliThreePionRadii.cxx:763
 AliThreePionRadii.cxx:764
 AliThreePionRadii.cxx:765
 AliThreePionRadii.cxx:766
 AliThreePionRadii.cxx:767
 AliThreePionRadii.cxx:768
 AliThreePionRadii.cxx:769
 AliThreePionRadii.cxx:770
 AliThreePionRadii.cxx:771
 AliThreePionRadii.cxx:772
 AliThreePionRadii.cxx:773
 AliThreePionRadii.cxx:774
 AliThreePionRadii.cxx:775
 AliThreePionRadii.cxx:776
 AliThreePionRadii.cxx:777
 AliThreePionRadii.cxx:778
 AliThreePionRadii.cxx:779
 AliThreePionRadii.cxx:780
 AliThreePionRadii.cxx:781
 AliThreePionRadii.cxx:782
 AliThreePionRadii.cxx:783
 AliThreePionRadii.cxx:784
 AliThreePionRadii.cxx:785
 AliThreePionRadii.cxx:786
 AliThreePionRadii.cxx:787
 AliThreePionRadii.cxx:788
 AliThreePionRadii.cxx:789
 AliThreePionRadii.cxx:790
 AliThreePionRadii.cxx:791
 AliThreePionRadii.cxx:792
 AliThreePionRadii.cxx:793
 AliThreePionRadii.cxx:794
 AliThreePionRadii.cxx:795
 AliThreePionRadii.cxx:796
 AliThreePionRadii.cxx:797
 AliThreePionRadii.cxx:798
 AliThreePionRadii.cxx:799
 AliThreePionRadii.cxx:800
 AliThreePionRadii.cxx:801
 AliThreePionRadii.cxx:802
 AliThreePionRadii.cxx:803
 AliThreePionRadii.cxx:804
 AliThreePionRadii.cxx:805
 AliThreePionRadii.cxx:806
 AliThreePionRadii.cxx:807
 AliThreePionRadii.cxx:808
 AliThreePionRadii.cxx:809
 AliThreePionRadii.cxx:810
 AliThreePionRadii.cxx:811
 AliThreePionRadii.cxx:812
 AliThreePionRadii.cxx:813
 AliThreePionRadii.cxx:814
 AliThreePionRadii.cxx:815
 AliThreePionRadii.cxx:816
 AliThreePionRadii.cxx:817
 AliThreePionRadii.cxx:818
 AliThreePionRadii.cxx:819
 AliThreePionRadii.cxx:820
 AliThreePionRadii.cxx:821
 AliThreePionRadii.cxx:822
 AliThreePionRadii.cxx:823
 AliThreePionRadii.cxx:824
 AliThreePionRadii.cxx:825
 AliThreePionRadii.cxx:826
 AliThreePionRadii.cxx:827
 AliThreePionRadii.cxx:828
 AliThreePionRadii.cxx:829
 AliThreePionRadii.cxx:830
 AliThreePionRadii.cxx:831
 AliThreePionRadii.cxx:832
 AliThreePionRadii.cxx:833
 AliThreePionRadii.cxx:834
 AliThreePionRadii.cxx:835
 AliThreePionRadii.cxx:836
 AliThreePionRadii.cxx:837
 AliThreePionRadii.cxx:838
 AliThreePionRadii.cxx:839
 AliThreePionRadii.cxx:840
 AliThreePionRadii.cxx:841
 AliThreePionRadii.cxx:842
 AliThreePionRadii.cxx:843
 AliThreePionRadii.cxx:844
 AliThreePionRadii.cxx:845
 AliThreePionRadii.cxx:846
 AliThreePionRadii.cxx:847
 AliThreePionRadii.cxx:848
 AliThreePionRadii.cxx:849
 AliThreePionRadii.cxx:850
 AliThreePionRadii.cxx:851
 AliThreePionRadii.cxx:852
 AliThreePionRadii.cxx:853
 AliThreePionRadii.cxx:854
 AliThreePionRadii.cxx:855
 AliThreePionRadii.cxx:856
 AliThreePionRadii.cxx:857
 AliThreePionRadii.cxx:858
 AliThreePionRadii.cxx:859
 AliThreePionRadii.cxx:860
 AliThreePionRadii.cxx:861
 AliThreePionRadii.cxx:862
 AliThreePionRadii.cxx:863
 AliThreePionRadii.cxx:864
 AliThreePionRadii.cxx:865
 AliThreePionRadii.cxx:866
 AliThreePionRadii.cxx:867
 AliThreePionRadii.cxx:868
 AliThreePionRadii.cxx:869
 AliThreePionRadii.cxx:870
 AliThreePionRadii.cxx:871
 AliThreePionRadii.cxx:872
 AliThreePionRadii.cxx:873
 AliThreePionRadii.cxx:874
 AliThreePionRadii.cxx:875
 AliThreePionRadii.cxx:876
 AliThreePionRadii.cxx:877
 AliThreePionRadii.cxx:878
 AliThreePionRadii.cxx:879
 AliThreePionRadii.cxx:880
 AliThreePionRadii.cxx:881
 AliThreePionRadii.cxx:882
 AliThreePionRadii.cxx:883
 AliThreePionRadii.cxx:884
 AliThreePionRadii.cxx:885
 AliThreePionRadii.cxx:886
 AliThreePionRadii.cxx:887
 AliThreePionRadii.cxx:888
 AliThreePionRadii.cxx:889
 AliThreePionRadii.cxx:890
 AliThreePionRadii.cxx:891
 AliThreePionRadii.cxx:892
 AliThreePionRadii.cxx:893
 AliThreePionRadii.cxx:894
 AliThreePionRadii.cxx:895
 AliThreePionRadii.cxx:896
 AliThreePionRadii.cxx:897
 AliThreePionRadii.cxx:898
 AliThreePionRadii.cxx:899
 AliThreePionRadii.cxx:900
 AliThreePionRadii.cxx:901
 AliThreePionRadii.cxx:902
 AliThreePionRadii.cxx:903
 AliThreePionRadii.cxx:904
 AliThreePionRadii.cxx:905
 AliThreePionRadii.cxx:906
 AliThreePionRadii.cxx:907
 AliThreePionRadii.cxx:908
 AliThreePionRadii.cxx:909
 AliThreePionRadii.cxx:910
 AliThreePionRadii.cxx:911
 AliThreePionRadii.cxx:912
 AliThreePionRadii.cxx:913
 AliThreePionRadii.cxx:914
 AliThreePionRadii.cxx:915
 AliThreePionRadii.cxx:916
 AliThreePionRadii.cxx:917
 AliThreePionRadii.cxx:918
 AliThreePionRadii.cxx:919
 AliThreePionRadii.cxx:920
 AliThreePionRadii.cxx:921
 AliThreePionRadii.cxx:922
 AliThreePionRadii.cxx:923
 AliThreePionRadii.cxx:924
 AliThreePionRadii.cxx:925
 AliThreePionRadii.cxx:926
 AliThreePionRadii.cxx:927
 AliThreePionRadii.cxx:928
 AliThreePionRadii.cxx:929
 AliThreePionRadii.cxx:930
 AliThreePionRadii.cxx:931
 AliThreePionRadii.cxx:932
 AliThreePionRadii.cxx:933
 AliThreePionRadii.cxx:934
 AliThreePionRadii.cxx:935
 AliThreePionRadii.cxx:936
 AliThreePionRadii.cxx:937
 AliThreePionRadii.cxx:938
 AliThreePionRadii.cxx:939
 AliThreePionRadii.cxx:940
 AliThreePionRadii.cxx:941
 AliThreePionRadii.cxx:942
 AliThreePionRadii.cxx:943
 AliThreePionRadii.cxx:944
 AliThreePionRadii.cxx:945
 AliThreePionRadii.cxx:946
 AliThreePionRadii.cxx:947
 AliThreePionRadii.cxx:948
 AliThreePionRadii.cxx:949
 AliThreePionRadii.cxx:950
 AliThreePionRadii.cxx:951
 AliThreePionRadii.cxx:952
 AliThreePionRadii.cxx:953
 AliThreePionRadii.cxx:954
 AliThreePionRadii.cxx:955
 AliThreePionRadii.cxx:956
 AliThreePionRadii.cxx:957
 AliThreePionRadii.cxx:958
 AliThreePionRadii.cxx:959
 AliThreePionRadii.cxx:960
 AliThreePionRadii.cxx:961
 AliThreePionRadii.cxx:962
 AliThreePionRadii.cxx:963
 AliThreePionRadii.cxx:964
 AliThreePionRadii.cxx:965
 AliThreePionRadii.cxx:966
 AliThreePionRadii.cxx:967
 AliThreePionRadii.cxx:968
 AliThreePionRadii.cxx:969
 AliThreePionRadii.cxx:970
 AliThreePionRadii.cxx:971
 AliThreePionRadii.cxx:972
 AliThreePionRadii.cxx:973
 AliThreePionRadii.cxx:974
 AliThreePionRadii.cxx:975
 AliThreePionRadii.cxx:976
 AliThreePionRadii.cxx:977
 AliThreePionRadii.cxx:978
 AliThreePionRadii.cxx:979
 AliThreePionRadii.cxx:980
 AliThreePionRadii.cxx:981
 AliThreePionRadii.cxx:982
 AliThreePionRadii.cxx:983
 AliThreePionRadii.cxx:984
 AliThreePionRadii.cxx:985
 AliThreePionRadii.cxx:986
 AliThreePionRadii.cxx:987
 AliThreePionRadii.cxx:988
 AliThreePionRadii.cxx:989
 AliThreePionRadii.cxx:990
 AliThreePionRadii.cxx:991
 AliThreePionRadii.cxx:992
 AliThreePionRadii.cxx:993
 AliThreePionRadii.cxx:994
 AliThreePionRadii.cxx:995
 AliThreePionRadii.cxx:996
 AliThreePionRadii.cxx:997
 AliThreePionRadii.cxx:998
 AliThreePionRadii.cxx:999
 AliThreePionRadii.cxx:1000
 AliThreePionRadii.cxx:1001
 AliThreePionRadii.cxx:1002
 AliThreePionRadii.cxx:1003
 AliThreePionRadii.cxx:1004
 AliThreePionRadii.cxx:1005
 AliThreePionRadii.cxx:1006
 AliThreePionRadii.cxx:1007
 AliThreePionRadii.cxx:1008
 AliThreePionRadii.cxx:1009
 AliThreePionRadii.cxx:1010
 AliThreePionRadii.cxx:1011
 AliThreePionRadii.cxx:1012
 AliThreePionRadii.cxx:1013
 AliThreePionRadii.cxx:1014
 AliThreePionRadii.cxx:1015
 AliThreePionRadii.cxx:1016
 AliThreePionRadii.cxx:1017
 AliThreePionRadii.cxx:1018
 AliThreePionRadii.cxx:1019
 AliThreePionRadii.cxx:1020
 AliThreePionRadii.cxx:1021
 AliThreePionRadii.cxx:1022
 AliThreePionRadii.cxx:1023
 AliThreePionRadii.cxx:1024
 AliThreePionRadii.cxx:1025
 AliThreePionRadii.cxx:1026
 AliThreePionRadii.cxx:1027
 AliThreePionRadii.cxx:1028
 AliThreePionRadii.cxx:1029
 AliThreePionRadii.cxx:1030
 AliThreePionRadii.cxx:1031
 AliThreePionRadii.cxx:1032
 AliThreePionRadii.cxx:1033
 AliThreePionRadii.cxx:1034
 AliThreePionRadii.cxx:1035
 AliThreePionRadii.cxx:1036
 AliThreePionRadii.cxx:1037
 AliThreePionRadii.cxx:1038
 AliThreePionRadii.cxx:1039
 AliThreePionRadii.cxx:1040
 AliThreePionRadii.cxx:1041
 AliThreePionRadii.cxx:1042
 AliThreePionRadii.cxx:1043
 AliThreePionRadii.cxx:1044
 AliThreePionRadii.cxx:1045
 AliThreePionRadii.cxx:1046
 AliThreePionRadii.cxx:1047
 AliThreePionRadii.cxx:1048
 AliThreePionRadii.cxx:1049
 AliThreePionRadii.cxx:1050
 AliThreePionRadii.cxx:1051
 AliThreePionRadii.cxx:1052
 AliThreePionRadii.cxx:1053
 AliThreePionRadii.cxx:1054
 AliThreePionRadii.cxx:1055
 AliThreePionRadii.cxx:1056
 AliThreePionRadii.cxx:1057
 AliThreePionRadii.cxx:1058
 AliThreePionRadii.cxx:1059
 AliThreePionRadii.cxx:1060
 AliThreePionRadii.cxx:1061
 AliThreePionRadii.cxx:1062
 AliThreePionRadii.cxx:1063
 AliThreePionRadii.cxx:1064
 AliThreePionRadii.cxx:1065
 AliThreePionRadii.cxx:1066
 AliThreePionRadii.cxx:1067
 AliThreePionRadii.cxx:1068
 AliThreePionRadii.cxx:1069
 AliThreePionRadii.cxx:1070
 AliThreePionRadii.cxx:1071
 AliThreePionRadii.cxx:1072
 AliThreePionRadii.cxx:1073
 AliThreePionRadii.cxx:1074
 AliThreePionRadii.cxx:1075
 AliThreePionRadii.cxx:1076
 AliThreePionRadii.cxx:1077
 AliThreePionRadii.cxx:1078
 AliThreePionRadii.cxx:1079
 AliThreePionRadii.cxx:1080
 AliThreePionRadii.cxx:1081
 AliThreePionRadii.cxx:1082
 AliThreePionRadii.cxx:1083
 AliThreePionRadii.cxx:1084
 AliThreePionRadii.cxx:1085
 AliThreePionRadii.cxx:1086
 AliThreePionRadii.cxx:1087
 AliThreePionRadii.cxx:1088
 AliThreePionRadii.cxx:1089
 AliThreePionRadii.cxx:1090
 AliThreePionRadii.cxx:1091
 AliThreePionRadii.cxx:1092
 AliThreePionRadii.cxx:1093
 AliThreePionRadii.cxx:1094
 AliThreePionRadii.cxx:1095
 AliThreePionRadii.cxx:1096
 AliThreePionRadii.cxx:1097
 AliThreePionRadii.cxx:1098
 AliThreePionRadii.cxx:1099
 AliThreePionRadii.cxx:1100
 AliThreePionRadii.cxx:1101
 AliThreePionRadii.cxx:1102
 AliThreePionRadii.cxx:1103
 AliThreePionRadii.cxx:1104
 AliThreePionRadii.cxx:1105
 AliThreePionRadii.cxx:1106
 AliThreePionRadii.cxx:1107
 AliThreePionRadii.cxx:1108
 AliThreePionRadii.cxx:1109
 AliThreePionRadii.cxx:1110
 AliThreePionRadii.cxx:1111
 AliThreePionRadii.cxx:1112
 AliThreePionRadii.cxx:1113
 AliThreePionRadii.cxx:1114
 AliThreePionRadii.cxx:1115
 AliThreePionRadii.cxx:1116
 AliThreePionRadii.cxx:1117
 AliThreePionRadii.cxx:1118
 AliThreePionRadii.cxx:1119
 AliThreePionRadii.cxx:1120
 AliThreePionRadii.cxx:1121
 AliThreePionRadii.cxx:1122
 AliThreePionRadii.cxx:1123
 AliThreePionRadii.cxx:1124
 AliThreePionRadii.cxx:1125
 AliThreePionRadii.cxx:1126
 AliThreePionRadii.cxx:1127
 AliThreePionRadii.cxx:1128
 AliThreePionRadii.cxx:1129
 AliThreePionRadii.cxx:1130
 AliThreePionRadii.cxx:1131
 AliThreePionRadii.cxx:1132
 AliThreePionRadii.cxx:1133
 AliThreePionRadii.cxx:1134
 AliThreePionRadii.cxx:1135
 AliThreePionRadii.cxx:1136
 AliThreePionRadii.cxx:1137
 AliThreePionRadii.cxx:1138
 AliThreePionRadii.cxx:1139
 AliThreePionRadii.cxx:1140
 AliThreePionRadii.cxx:1141
 AliThreePionRadii.cxx:1142
 AliThreePionRadii.cxx:1143
 AliThreePionRadii.cxx:1144
 AliThreePionRadii.cxx:1145
 AliThreePionRadii.cxx:1146
 AliThreePionRadii.cxx:1147
 AliThreePionRadii.cxx:1148
 AliThreePionRadii.cxx:1149
 AliThreePionRadii.cxx:1150
 AliThreePionRadii.cxx:1151
 AliThreePionRadii.cxx:1152
 AliThreePionRadii.cxx:1153
 AliThreePionRadii.cxx:1154
 AliThreePionRadii.cxx:1155
 AliThreePionRadii.cxx:1156
 AliThreePionRadii.cxx:1157
 AliThreePionRadii.cxx:1158
 AliThreePionRadii.cxx:1159
 AliThreePionRadii.cxx:1160
 AliThreePionRadii.cxx:1161
 AliThreePionRadii.cxx:1162
 AliThreePionRadii.cxx:1163
 AliThreePionRadii.cxx:1164
 AliThreePionRadii.cxx:1165
 AliThreePionRadii.cxx:1166
 AliThreePionRadii.cxx:1167
 AliThreePionRadii.cxx:1168
 AliThreePionRadii.cxx:1169
 AliThreePionRadii.cxx:1170
 AliThreePionRadii.cxx:1171
 AliThreePionRadii.cxx:1172
 AliThreePionRadii.cxx:1173
 AliThreePionRadii.cxx:1174
 AliThreePionRadii.cxx:1175
 AliThreePionRadii.cxx:1176
 AliThreePionRadii.cxx:1177
 AliThreePionRadii.cxx:1178
 AliThreePionRadii.cxx:1179
 AliThreePionRadii.cxx:1180
 AliThreePionRadii.cxx:1181
 AliThreePionRadii.cxx:1182
 AliThreePionRadii.cxx:1183
 AliThreePionRadii.cxx:1184
 AliThreePionRadii.cxx:1185
 AliThreePionRadii.cxx:1186
 AliThreePionRadii.cxx:1187
 AliThreePionRadii.cxx:1188
 AliThreePionRadii.cxx:1189
 AliThreePionRadii.cxx:1190
 AliThreePionRadii.cxx:1191
 AliThreePionRadii.cxx:1192
 AliThreePionRadii.cxx:1193
 AliThreePionRadii.cxx:1194
 AliThreePionRadii.cxx:1195
 AliThreePionRadii.cxx:1196
 AliThreePionRadii.cxx:1197
 AliThreePionRadii.cxx:1198
 AliThreePionRadii.cxx:1199
 AliThreePionRadii.cxx:1200
 AliThreePionRadii.cxx:1201
 AliThreePionRadii.cxx:1202
 AliThreePionRadii.cxx:1203
 AliThreePionRadii.cxx:1204
 AliThreePionRadii.cxx:1205
 AliThreePionRadii.cxx:1206
 AliThreePionRadii.cxx:1207
 AliThreePionRadii.cxx:1208
 AliThreePionRadii.cxx:1209
 AliThreePionRadii.cxx:1210
 AliThreePionRadii.cxx:1211
 AliThreePionRadii.cxx:1212
 AliThreePionRadii.cxx:1213
 AliThreePionRadii.cxx:1214
 AliThreePionRadii.cxx:1215
 AliThreePionRadii.cxx:1216
 AliThreePionRadii.cxx:1217
 AliThreePionRadii.cxx:1218
 AliThreePionRadii.cxx:1219
 AliThreePionRadii.cxx:1220
 AliThreePionRadii.cxx:1221
 AliThreePionRadii.cxx:1222
 AliThreePionRadii.cxx:1223
 AliThreePionRadii.cxx:1224
 AliThreePionRadii.cxx:1225
 AliThreePionRadii.cxx:1226
 AliThreePionRadii.cxx:1227
 AliThreePionRadii.cxx:1228
 AliThreePionRadii.cxx:1229
 AliThreePionRadii.cxx:1230
 AliThreePionRadii.cxx:1231
 AliThreePionRadii.cxx:1232
 AliThreePionRadii.cxx:1233
 AliThreePionRadii.cxx:1234
 AliThreePionRadii.cxx:1235
 AliThreePionRadii.cxx:1236
 AliThreePionRadii.cxx:1237
 AliThreePionRadii.cxx:1238
 AliThreePionRadii.cxx:1239
 AliThreePionRadii.cxx:1240
 AliThreePionRadii.cxx:1241
 AliThreePionRadii.cxx:1242
 AliThreePionRadii.cxx:1243
 AliThreePionRadii.cxx:1244
 AliThreePionRadii.cxx:1245
 AliThreePionRadii.cxx:1246
 AliThreePionRadii.cxx:1247
 AliThreePionRadii.cxx:1248
 AliThreePionRadii.cxx:1249
 AliThreePionRadii.cxx:1250
 AliThreePionRadii.cxx:1251
 AliThreePionRadii.cxx:1252
 AliThreePionRadii.cxx:1253
 AliThreePionRadii.cxx:1254
 AliThreePionRadii.cxx:1255
 AliThreePionRadii.cxx:1256
 AliThreePionRadii.cxx:1257
 AliThreePionRadii.cxx:1258
 AliThreePionRadii.cxx:1259
 AliThreePionRadii.cxx:1260
 AliThreePionRadii.cxx:1261
 AliThreePionRadii.cxx:1262
 AliThreePionRadii.cxx:1263
 AliThreePionRadii.cxx:1264
 AliThreePionRadii.cxx:1265
 AliThreePionRadii.cxx:1266
 AliThreePionRadii.cxx:1267
 AliThreePionRadii.cxx:1268
 AliThreePionRadii.cxx:1269
 AliThreePionRadii.cxx:1270
 AliThreePionRadii.cxx:1271
 AliThreePionRadii.cxx:1272
 AliThreePionRadii.cxx:1273
 AliThreePionRadii.cxx:1274
 AliThreePionRadii.cxx:1275
 AliThreePionRadii.cxx:1276
 AliThreePionRadii.cxx:1277
 AliThreePionRadii.cxx:1278
 AliThreePionRadii.cxx:1279
 AliThreePionRadii.cxx:1280
 AliThreePionRadii.cxx:1281
 AliThreePionRadii.cxx:1282
 AliThreePionRadii.cxx:1283
 AliThreePionRadii.cxx:1284
 AliThreePionRadii.cxx:1285
 AliThreePionRadii.cxx:1286
 AliThreePionRadii.cxx:1287
 AliThreePionRadii.cxx:1288
 AliThreePionRadii.cxx:1289
 AliThreePionRadii.cxx:1290
 AliThreePionRadii.cxx:1291
 AliThreePionRadii.cxx:1292
 AliThreePionRadii.cxx:1293
 AliThreePionRadii.cxx:1294
 AliThreePionRadii.cxx:1295
 AliThreePionRadii.cxx:1296
 AliThreePionRadii.cxx:1297
 AliThreePionRadii.cxx:1298
 AliThreePionRadii.cxx:1299
 AliThreePionRadii.cxx:1300
 AliThreePionRadii.cxx:1301
 AliThreePionRadii.cxx:1302
 AliThreePionRadii.cxx:1303
 AliThreePionRadii.cxx:1304
 AliThreePionRadii.cxx:1305
 AliThreePionRadii.cxx:1306
 AliThreePionRadii.cxx:1307
 AliThreePionRadii.cxx:1308
 AliThreePionRadii.cxx:1309
 AliThreePionRadii.cxx:1310
 AliThreePionRadii.cxx:1311
 AliThreePionRadii.cxx:1312
 AliThreePionRadii.cxx:1313
 AliThreePionRadii.cxx:1314
 AliThreePionRadii.cxx:1315
 AliThreePionRadii.cxx:1316
 AliThreePionRadii.cxx:1317
 AliThreePionRadii.cxx:1318
 AliThreePionRadii.cxx:1319
 AliThreePionRadii.cxx:1320
 AliThreePionRadii.cxx:1321
 AliThreePionRadii.cxx:1322
 AliThreePionRadii.cxx:1323
 AliThreePionRadii.cxx:1324
 AliThreePionRadii.cxx:1325
 AliThreePionRadii.cxx:1326
 AliThreePionRadii.cxx:1327
 AliThreePionRadii.cxx:1328
 AliThreePionRadii.cxx:1329
 AliThreePionRadii.cxx:1330
 AliThreePionRadii.cxx:1331
 AliThreePionRadii.cxx:1332
 AliThreePionRadii.cxx:1333
 AliThreePionRadii.cxx:1334
 AliThreePionRadii.cxx:1335
 AliThreePionRadii.cxx:1336
 AliThreePionRadii.cxx:1337
 AliThreePionRadii.cxx:1338
 AliThreePionRadii.cxx:1339
 AliThreePionRadii.cxx:1340
 AliThreePionRadii.cxx:1341
 AliThreePionRadii.cxx:1342
 AliThreePionRadii.cxx:1343
 AliThreePionRadii.cxx:1344
 AliThreePionRadii.cxx:1345
 AliThreePionRadii.cxx:1346
 AliThreePionRadii.cxx:1347
 AliThreePionRadii.cxx:1348
 AliThreePionRadii.cxx:1349
 AliThreePionRadii.cxx:1350
 AliThreePionRadii.cxx:1351
 AliThreePionRadii.cxx:1352
 AliThreePionRadii.cxx:1353
 AliThreePionRadii.cxx:1354
 AliThreePionRadii.cxx:1355
 AliThreePionRadii.cxx:1356
 AliThreePionRadii.cxx:1357
 AliThreePionRadii.cxx:1358
 AliThreePionRadii.cxx:1359
 AliThreePionRadii.cxx:1360
 AliThreePionRadii.cxx:1361
 AliThreePionRadii.cxx:1362
 AliThreePionRadii.cxx:1363
 AliThreePionRadii.cxx:1364
 AliThreePionRadii.cxx:1365
 AliThreePionRadii.cxx:1366
 AliThreePionRadii.cxx:1367
 AliThreePionRadii.cxx:1368
 AliThreePionRadii.cxx:1369
 AliThreePionRadii.cxx:1370
 AliThreePionRadii.cxx:1371
 AliThreePionRadii.cxx:1372
 AliThreePionRadii.cxx:1373
 AliThreePionRadii.cxx:1374
 AliThreePionRadii.cxx:1375
 AliThreePionRadii.cxx:1376
 AliThreePionRadii.cxx:1377
 AliThreePionRadii.cxx:1378
 AliThreePionRadii.cxx:1379
 AliThreePionRadii.cxx:1380
 AliThreePionRadii.cxx:1381
 AliThreePionRadii.cxx:1382
 AliThreePionRadii.cxx:1383
 AliThreePionRadii.cxx:1384
 AliThreePionRadii.cxx:1385
 AliThreePionRadii.cxx:1386
 AliThreePionRadii.cxx:1387
 AliThreePionRadii.cxx:1388
 AliThreePionRadii.cxx:1389
 AliThreePionRadii.cxx:1390
 AliThreePionRadii.cxx:1391
 AliThreePionRadii.cxx:1392
 AliThreePionRadii.cxx:1393
 AliThreePionRadii.cxx:1394
 AliThreePionRadii.cxx:1395
 AliThreePionRadii.cxx:1396
 AliThreePionRadii.cxx:1397
 AliThreePionRadii.cxx:1398
 AliThreePionRadii.cxx:1399
 AliThreePionRadii.cxx:1400
 AliThreePionRadii.cxx:1401
 AliThreePionRadii.cxx:1402
 AliThreePionRadii.cxx:1403
 AliThreePionRadii.cxx:1404
 AliThreePionRadii.cxx:1405
 AliThreePionRadii.cxx:1406
 AliThreePionRadii.cxx:1407
 AliThreePionRadii.cxx:1408
 AliThreePionRadii.cxx:1409
 AliThreePionRadii.cxx:1410
 AliThreePionRadii.cxx:1411
 AliThreePionRadii.cxx:1412
 AliThreePionRadii.cxx:1413
 AliThreePionRadii.cxx:1414
 AliThreePionRadii.cxx:1415
 AliThreePionRadii.cxx:1416
 AliThreePionRadii.cxx:1417
 AliThreePionRadii.cxx:1418
 AliThreePionRadii.cxx:1419
 AliThreePionRadii.cxx:1420
 AliThreePionRadii.cxx:1421
 AliThreePionRadii.cxx:1422
 AliThreePionRadii.cxx:1423
 AliThreePionRadii.cxx:1424
 AliThreePionRadii.cxx:1425
 AliThreePionRadii.cxx:1426
 AliThreePionRadii.cxx:1427
 AliThreePionRadii.cxx:1428
 AliThreePionRadii.cxx:1429
 AliThreePionRadii.cxx:1430
 AliThreePionRadii.cxx:1431
 AliThreePionRadii.cxx:1432
 AliThreePionRadii.cxx:1433
 AliThreePionRadii.cxx:1434
 AliThreePionRadii.cxx:1435
 AliThreePionRadii.cxx:1436
 AliThreePionRadii.cxx:1437
 AliThreePionRadii.cxx:1438
 AliThreePionRadii.cxx:1439
 AliThreePionRadii.cxx:1440
 AliThreePionRadii.cxx:1441
 AliThreePionRadii.cxx:1442
 AliThreePionRadii.cxx:1443
 AliThreePionRadii.cxx:1444
 AliThreePionRadii.cxx:1445
 AliThreePionRadii.cxx:1446
 AliThreePionRadii.cxx:1447
 AliThreePionRadii.cxx:1448
 AliThreePionRadii.cxx:1449
 AliThreePionRadii.cxx:1450
 AliThreePionRadii.cxx:1451
 AliThreePionRadii.cxx:1452
 AliThreePionRadii.cxx:1453
 AliThreePionRadii.cxx:1454
 AliThreePionRadii.cxx:1455
 AliThreePionRadii.cxx:1456
 AliThreePionRadii.cxx:1457
 AliThreePionRadii.cxx:1458
 AliThreePionRadii.cxx:1459
 AliThreePionRadii.cxx:1460
 AliThreePionRadii.cxx:1461
 AliThreePionRadii.cxx:1462
 AliThreePionRadii.cxx:1463
 AliThreePionRadii.cxx:1464
 AliThreePionRadii.cxx:1465
 AliThreePionRadii.cxx:1466
 AliThreePionRadii.cxx:1467
 AliThreePionRadii.cxx:1468
 AliThreePionRadii.cxx:1469
 AliThreePionRadii.cxx:1470
 AliThreePionRadii.cxx:1471
 AliThreePionRadii.cxx:1472
 AliThreePionRadii.cxx:1473
 AliThreePionRadii.cxx:1474
 AliThreePionRadii.cxx:1475
 AliThreePionRadii.cxx:1476
 AliThreePionRadii.cxx:1477
 AliThreePionRadii.cxx:1478
 AliThreePionRadii.cxx:1479
 AliThreePionRadii.cxx:1480
 AliThreePionRadii.cxx:1481
 AliThreePionRadii.cxx:1482
 AliThreePionRadii.cxx:1483
 AliThreePionRadii.cxx:1484
 AliThreePionRadii.cxx:1485
 AliThreePionRadii.cxx:1486
 AliThreePionRadii.cxx:1487
 AliThreePionRadii.cxx:1488
 AliThreePionRadii.cxx:1489
 AliThreePionRadii.cxx:1490
 AliThreePionRadii.cxx:1491
 AliThreePionRadii.cxx:1492
 AliThreePionRadii.cxx:1493
 AliThreePionRadii.cxx:1494
 AliThreePionRadii.cxx:1495
 AliThreePionRadii.cxx:1496
 AliThreePionRadii.cxx:1497
 AliThreePionRadii.cxx:1498
 AliThreePionRadii.cxx:1499
 AliThreePionRadii.cxx:1500
 AliThreePionRadii.cxx:1501
 AliThreePionRadii.cxx:1502
 AliThreePionRadii.cxx:1503
 AliThreePionRadii.cxx:1504
 AliThreePionRadii.cxx:1505
 AliThreePionRadii.cxx:1506
 AliThreePionRadii.cxx:1507
 AliThreePionRadii.cxx:1508
 AliThreePionRadii.cxx:1509
 AliThreePionRadii.cxx:1510
 AliThreePionRadii.cxx:1511
 AliThreePionRadii.cxx:1512
 AliThreePionRadii.cxx:1513
 AliThreePionRadii.cxx:1514
 AliThreePionRadii.cxx:1515
 AliThreePionRadii.cxx:1516
 AliThreePionRadii.cxx:1517
 AliThreePionRadii.cxx:1518
 AliThreePionRadii.cxx:1519
 AliThreePionRadii.cxx:1520
 AliThreePionRadii.cxx:1521
 AliThreePionRadii.cxx:1522
 AliThreePionRadii.cxx:1523
 AliThreePionRadii.cxx:1524
 AliThreePionRadii.cxx:1525
 AliThreePionRadii.cxx:1526
 AliThreePionRadii.cxx:1527
 AliThreePionRadii.cxx:1528
 AliThreePionRadii.cxx:1529
 AliThreePionRadii.cxx:1530
 AliThreePionRadii.cxx:1531
 AliThreePionRadii.cxx:1532
 AliThreePionRadii.cxx:1533
 AliThreePionRadii.cxx:1534
 AliThreePionRadii.cxx:1535
 AliThreePionRadii.cxx:1536
 AliThreePionRadii.cxx:1537
 AliThreePionRadii.cxx:1538
 AliThreePionRadii.cxx:1539
 AliThreePionRadii.cxx:1540
 AliThreePionRadii.cxx:1541
 AliThreePionRadii.cxx:1542
 AliThreePionRadii.cxx:1543
 AliThreePionRadii.cxx:1544
 AliThreePionRadii.cxx:1545
 AliThreePionRadii.cxx:1546
 AliThreePionRadii.cxx:1547
 AliThreePionRadii.cxx:1548
 AliThreePionRadii.cxx:1549
 AliThreePionRadii.cxx:1550
 AliThreePionRadii.cxx:1551
 AliThreePionRadii.cxx:1552
 AliThreePionRadii.cxx:1553
 AliThreePionRadii.cxx:1554
 AliThreePionRadii.cxx:1555
 AliThreePionRadii.cxx:1556
 AliThreePionRadii.cxx:1557
 AliThreePionRadii.cxx:1558
 AliThreePionRadii.cxx:1559
 AliThreePionRadii.cxx:1560
 AliThreePionRadii.cxx:1561
 AliThreePionRadii.cxx:1562
 AliThreePionRadii.cxx:1563
 AliThreePionRadii.cxx:1564
 AliThreePionRadii.cxx:1565
 AliThreePionRadii.cxx:1566
 AliThreePionRadii.cxx:1567
 AliThreePionRadii.cxx:1568
 AliThreePionRadii.cxx:1569
 AliThreePionRadii.cxx:1570
 AliThreePionRadii.cxx:1571
 AliThreePionRadii.cxx:1572
 AliThreePionRadii.cxx:1573
 AliThreePionRadii.cxx:1574
 AliThreePionRadii.cxx:1575
 AliThreePionRadii.cxx:1576
 AliThreePionRadii.cxx:1577
 AliThreePionRadii.cxx:1578
 AliThreePionRadii.cxx:1579
 AliThreePionRadii.cxx:1580
 AliThreePionRadii.cxx:1581
 AliThreePionRadii.cxx:1582
 AliThreePionRadii.cxx:1583
 AliThreePionRadii.cxx:1584
 AliThreePionRadii.cxx:1585
 AliThreePionRadii.cxx:1586
 AliThreePionRadii.cxx:1587
 AliThreePionRadii.cxx:1588
 AliThreePionRadii.cxx:1589
 AliThreePionRadii.cxx:1590
 AliThreePionRadii.cxx:1591
 AliThreePionRadii.cxx:1592
 AliThreePionRadii.cxx:1593
 AliThreePionRadii.cxx:1594
 AliThreePionRadii.cxx:1595
 AliThreePionRadii.cxx:1596
 AliThreePionRadii.cxx:1597
 AliThreePionRadii.cxx:1598
 AliThreePionRadii.cxx:1599
 AliThreePionRadii.cxx:1600
 AliThreePionRadii.cxx:1601
 AliThreePionRadii.cxx:1602
 AliThreePionRadii.cxx:1603
 AliThreePionRadii.cxx:1604
 AliThreePionRadii.cxx:1605
 AliThreePionRadii.cxx:1606
 AliThreePionRadii.cxx:1607
 AliThreePionRadii.cxx:1608
 AliThreePionRadii.cxx:1609
 AliThreePionRadii.cxx:1610
 AliThreePionRadii.cxx:1611
 AliThreePionRadii.cxx:1612
 AliThreePionRadii.cxx:1613
 AliThreePionRadii.cxx:1614
 AliThreePionRadii.cxx:1615
 AliThreePionRadii.cxx:1616
 AliThreePionRadii.cxx:1617
 AliThreePionRadii.cxx:1618
 AliThreePionRadii.cxx:1619
 AliThreePionRadii.cxx:1620
 AliThreePionRadii.cxx:1621
 AliThreePionRadii.cxx:1622
 AliThreePionRadii.cxx:1623
 AliThreePionRadii.cxx:1624
 AliThreePionRadii.cxx:1625
 AliThreePionRadii.cxx:1626
 AliThreePionRadii.cxx:1627
 AliThreePionRadii.cxx:1628
 AliThreePionRadii.cxx:1629
 AliThreePionRadii.cxx:1630
 AliThreePionRadii.cxx:1631
 AliThreePionRadii.cxx:1632
 AliThreePionRadii.cxx:1633
 AliThreePionRadii.cxx:1634
 AliThreePionRadii.cxx:1635
 AliThreePionRadii.cxx:1636
 AliThreePionRadii.cxx:1637
 AliThreePionRadii.cxx:1638
 AliThreePionRadii.cxx:1639
 AliThreePionRadii.cxx:1640
 AliThreePionRadii.cxx:1641
 AliThreePionRadii.cxx:1642
 AliThreePionRadii.cxx:1643
 AliThreePionRadii.cxx:1644
 AliThreePionRadii.cxx:1645
 AliThreePionRadii.cxx:1646
 AliThreePionRadii.cxx:1647
 AliThreePionRadii.cxx:1648
 AliThreePionRadii.cxx:1649
 AliThreePionRadii.cxx:1650
 AliThreePionRadii.cxx:1651
 AliThreePionRadii.cxx:1652
 AliThreePionRadii.cxx:1653
 AliThreePionRadii.cxx:1654
 AliThreePionRadii.cxx:1655
 AliThreePionRadii.cxx:1656
 AliThreePionRadii.cxx:1657
 AliThreePionRadii.cxx:1658
 AliThreePionRadii.cxx:1659
 AliThreePionRadii.cxx:1660
 AliThreePionRadii.cxx:1661
 AliThreePionRadii.cxx:1662
 AliThreePionRadii.cxx:1663
 AliThreePionRadii.cxx:1664
 AliThreePionRadii.cxx:1665
 AliThreePionRadii.cxx:1666
 AliThreePionRadii.cxx:1667
 AliThreePionRadii.cxx:1668
 AliThreePionRadii.cxx:1669
 AliThreePionRadii.cxx:1670
 AliThreePionRadii.cxx:1671
 AliThreePionRadii.cxx:1672
 AliThreePionRadii.cxx:1673
 AliThreePionRadii.cxx:1674
 AliThreePionRadii.cxx:1675
 AliThreePionRadii.cxx:1676
 AliThreePionRadii.cxx:1677
 AliThreePionRadii.cxx:1678
 AliThreePionRadii.cxx:1679
 AliThreePionRadii.cxx:1680
 AliThreePionRadii.cxx:1681
 AliThreePionRadii.cxx:1682
 AliThreePionRadii.cxx:1683
 AliThreePionRadii.cxx:1684
 AliThreePionRadii.cxx:1685
 AliThreePionRadii.cxx:1686
 AliThreePionRadii.cxx:1687
 AliThreePionRadii.cxx:1688
 AliThreePionRadii.cxx:1689
 AliThreePionRadii.cxx:1690
 AliThreePionRadii.cxx:1691
 AliThreePionRadii.cxx:1692
 AliThreePionRadii.cxx:1693
 AliThreePionRadii.cxx:1694
 AliThreePionRadii.cxx:1695
 AliThreePionRadii.cxx:1696
 AliThreePionRadii.cxx:1697
 AliThreePionRadii.cxx:1698
 AliThreePionRadii.cxx:1699
 AliThreePionRadii.cxx:1700
 AliThreePionRadii.cxx:1701
 AliThreePionRadii.cxx:1702
 AliThreePionRadii.cxx:1703
 AliThreePionRadii.cxx:1704
 AliThreePionRadii.cxx:1705
 AliThreePionRadii.cxx:1706
 AliThreePionRadii.cxx:1707
 AliThreePionRadii.cxx:1708
 AliThreePionRadii.cxx:1709
 AliThreePionRadii.cxx:1710
 AliThreePionRadii.cxx:1711
 AliThreePionRadii.cxx:1712
 AliThreePionRadii.cxx:1713
 AliThreePionRadii.cxx:1714
 AliThreePionRadii.cxx:1715
 AliThreePionRadii.cxx:1716
 AliThreePionRadii.cxx:1717
 AliThreePionRadii.cxx:1718
 AliThreePionRadii.cxx:1719
 AliThreePionRadii.cxx:1720
 AliThreePionRadii.cxx:1721
 AliThreePionRadii.cxx:1722
 AliThreePionRadii.cxx:1723
 AliThreePionRadii.cxx:1724
 AliThreePionRadii.cxx:1725
 AliThreePionRadii.cxx:1726
 AliThreePionRadii.cxx:1727
 AliThreePionRadii.cxx:1728
 AliThreePionRadii.cxx:1729
 AliThreePionRadii.cxx:1730
 AliThreePionRadii.cxx:1731
 AliThreePionRadii.cxx:1732
 AliThreePionRadii.cxx:1733
 AliThreePionRadii.cxx:1734
 AliThreePionRadii.cxx:1735
 AliThreePionRadii.cxx:1736
 AliThreePionRadii.cxx:1737
 AliThreePionRadii.cxx:1738
 AliThreePionRadii.cxx:1739
 AliThreePionRadii.cxx:1740
 AliThreePionRadii.cxx:1741
 AliThreePionRadii.cxx:1742
 AliThreePionRadii.cxx:1743
 AliThreePionRadii.cxx:1744
 AliThreePionRadii.cxx:1745
 AliThreePionRadii.cxx:1746
 AliThreePionRadii.cxx:1747
 AliThreePionRadii.cxx:1748
 AliThreePionRadii.cxx:1749
 AliThreePionRadii.cxx:1750
 AliThreePionRadii.cxx:1751
 AliThreePionRadii.cxx:1752
 AliThreePionRadii.cxx:1753
 AliThreePionRadii.cxx:1754
 AliThreePionRadii.cxx:1755
 AliThreePionRadii.cxx:1756
 AliThreePionRadii.cxx:1757
 AliThreePionRadii.cxx:1758
 AliThreePionRadii.cxx:1759
 AliThreePionRadii.cxx:1760
 AliThreePionRadii.cxx:1761
 AliThreePionRadii.cxx:1762
 AliThreePionRadii.cxx:1763
 AliThreePionRadii.cxx:1764
 AliThreePionRadii.cxx:1765
 AliThreePionRadii.cxx:1766
 AliThreePionRadii.cxx:1767
 AliThreePionRadii.cxx:1768
 AliThreePionRadii.cxx:1769
 AliThreePionRadii.cxx:1770
 AliThreePionRadii.cxx:1771
 AliThreePionRadii.cxx:1772
 AliThreePionRadii.cxx:1773
 AliThreePionRadii.cxx:1774
 AliThreePionRadii.cxx:1775
 AliThreePionRadii.cxx:1776
 AliThreePionRadii.cxx:1777
 AliThreePionRadii.cxx:1778
 AliThreePionRadii.cxx:1779
 AliThreePionRadii.cxx:1780
 AliThreePionRadii.cxx:1781
 AliThreePionRadii.cxx:1782
 AliThreePionRadii.cxx:1783
 AliThreePionRadii.cxx:1784
 AliThreePionRadii.cxx:1785
 AliThreePionRadii.cxx:1786
 AliThreePionRadii.cxx:1787
 AliThreePionRadii.cxx:1788
 AliThreePionRadii.cxx:1789
 AliThreePionRadii.cxx:1790
 AliThreePionRadii.cxx:1791
 AliThreePionRadii.cxx:1792
 AliThreePionRadii.cxx:1793
 AliThreePionRadii.cxx:1794
 AliThreePionRadii.cxx:1795
 AliThreePionRadii.cxx:1796
 AliThreePionRadii.cxx:1797
 AliThreePionRadii.cxx:1798
 AliThreePionRadii.cxx:1799
 AliThreePionRadii.cxx:1800
 AliThreePionRadii.cxx:1801
 AliThreePionRadii.cxx:1802
 AliThreePionRadii.cxx:1803
 AliThreePionRadii.cxx:1804
 AliThreePionRadii.cxx:1805
 AliThreePionRadii.cxx:1806
 AliThreePionRadii.cxx:1807
 AliThreePionRadii.cxx:1808
 AliThreePionRadii.cxx:1809
 AliThreePionRadii.cxx:1810
 AliThreePionRadii.cxx:1811
 AliThreePionRadii.cxx:1812
 AliThreePionRadii.cxx:1813
 AliThreePionRadii.cxx:1814
 AliThreePionRadii.cxx:1815
 AliThreePionRadii.cxx:1816
 AliThreePionRadii.cxx:1817
 AliThreePionRadii.cxx:1818
 AliThreePionRadii.cxx:1819
 AliThreePionRadii.cxx:1820
 AliThreePionRadii.cxx:1821
 AliThreePionRadii.cxx:1822
 AliThreePionRadii.cxx:1823
 AliThreePionRadii.cxx:1824
 AliThreePionRadii.cxx:1825
 AliThreePionRadii.cxx:1826
 AliThreePionRadii.cxx:1827
 AliThreePionRadii.cxx:1828
 AliThreePionRadii.cxx:1829
 AliThreePionRadii.cxx:1830
 AliThreePionRadii.cxx:1831
 AliThreePionRadii.cxx:1832
 AliThreePionRadii.cxx:1833
 AliThreePionRadii.cxx:1834
 AliThreePionRadii.cxx:1835
 AliThreePionRadii.cxx:1836
 AliThreePionRadii.cxx:1837
 AliThreePionRadii.cxx:1838
 AliThreePionRadii.cxx:1839
 AliThreePionRadii.cxx:1840
 AliThreePionRadii.cxx:1841
 AliThreePionRadii.cxx:1842
 AliThreePionRadii.cxx:1843
 AliThreePionRadii.cxx:1844
 AliThreePionRadii.cxx:1845
 AliThreePionRadii.cxx:1846
 AliThreePionRadii.cxx:1847
 AliThreePionRadii.cxx:1848
 AliThreePionRadii.cxx:1849
 AliThreePionRadii.cxx:1850
 AliThreePionRadii.cxx:1851
 AliThreePionRadii.cxx:1852
 AliThreePionRadii.cxx:1853
 AliThreePionRadii.cxx:1854
 AliThreePionRadii.cxx:1855
 AliThreePionRadii.cxx:1856
 AliThreePionRadii.cxx:1857
 AliThreePionRadii.cxx:1858
 AliThreePionRadii.cxx:1859
 AliThreePionRadii.cxx:1860
 AliThreePionRadii.cxx:1861
 AliThreePionRadii.cxx:1862
 AliThreePionRadii.cxx:1863
 AliThreePionRadii.cxx:1864
 AliThreePionRadii.cxx:1865
 AliThreePionRadii.cxx:1866
 AliThreePionRadii.cxx:1867
 AliThreePionRadii.cxx:1868
 AliThreePionRadii.cxx:1869
 AliThreePionRadii.cxx:1870
 AliThreePionRadii.cxx:1871
 AliThreePionRadii.cxx:1872
 AliThreePionRadii.cxx:1873
 AliThreePionRadii.cxx:1874
 AliThreePionRadii.cxx:1875
 AliThreePionRadii.cxx:1876
 AliThreePionRadii.cxx:1877
 AliThreePionRadii.cxx:1878
 AliThreePionRadii.cxx:1879
 AliThreePionRadii.cxx:1880
 AliThreePionRadii.cxx:1881
 AliThreePionRadii.cxx:1882
 AliThreePionRadii.cxx:1883
 AliThreePionRadii.cxx:1884
 AliThreePionRadii.cxx:1885
 AliThreePionRadii.cxx:1886
 AliThreePionRadii.cxx:1887
 AliThreePionRadii.cxx:1888
 AliThreePionRadii.cxx:1889
 AliThreePionRadii.cxx:1890
 AliThreePionRadii.cxx:1891
 AliThreePionRadii.cxx:1892
 AliThreePionRadii.cxx:1893
 AliThreePionRadii.cxx:1894
 AliThreePionRadii.cxx:1895
 AliThreePionRadii.cxx:1896
 AliThreePionRadii.cxx:1897
 AliThreePionRadii.cxx:1898
 AliThreePionRadii.cxx:1899
 AliThreePionRadii.cxx:1900
 AliThreePionRadii.cxx:1901
 AliThreePionRadii.cxx:1902
 AliThreePionRadii.cxx:1903
 AliThreePionRadii.cxx:1904
 AliThreePionRadii.cxx:1905
 AliThreePionRadii.cxx:1906
 AliThreePionRadii.cxx:1907
 AliThreePionRadii.cxx:1908
 AliThreePionRadii.cxx:1909
 AliThreePionRadii.cxx:1910
 AliThreePionRadii.cxx:1911
 AliThreePionRadii.cxx:1912
 AliThreePionRadii.cxx:1913
 AliThreePionRadii.cxx:1914
 AliThreePionRadii.cxx:1915
 AliThreePionRadii.cxx:1916
 AliThreePionRadii.cxx:1917
 AliThreePionRadii.cxx:1918
 AliThreePionRadii.cxx:1919
 AliThreePionRadii.cxx:1920
 AliThreePionRadii.cxx:1921
 AliThreePionRadii.cxx:1922
 AliThreePionRadii.cxx:1923
 AliThreePionRadii.cxx:1924
 AliThreePionRadii.cxx:1925
 AliThreePionRadii.cxx:1926
 AliThreePionRadii.cxx:1927
 AliThreePionRadii.cxx:1928
 AliThreePionRadii.cxx:1929
 AliThreePionRadii.cxx:1930
 AliThreePionRadii.cxx:1931
 AliThreePionRadii.cxx:1932
 AliThreePionRadii.cxx:1933
 AliThreePionRadii.cxx:1934
 AliThreePionRadii.cxx:1935
 AliThreePionRadii.cxx:1936
 AliThreePionRadii.cxx:1937
 AliThreePionRadii.cxx:1938
 AliThreePionRadii.cxx:1939
 AliThreePionRadii.cxx:1940
 AliThreePionRadii.cxx:1941
 AliThreePionRadii.cxx:1942
 AliThreePionRadii.cxx:1943
 AliThreePionRadii.cxx:1944
 AliThreePionRadii.cxx:1945
 AliThreePionRadii.cxx:1946
 AliThreePionRadii.cxx:1947
 AliThreePionRadii.cxx:1948
 AliThreePionRadii.cxx:1949
 AliThreePionRadii.cxx:1950
 AliThreePionRadii.cxx:1951
 AliThreePionRadii.cxx:1952
 AliThreePionRadii.cxx:1953
 AliThreePionRadii.cxx:1954
 AliThreePionRadii.cxx:1955
 AliThreePionRadii.cxx:1956
 AliThreePionRadii.cxx:1957
 AliThreePionRadii.cxx:1958
 AliThreePionRadii.cxx:1959
 AliThreePionRadii.cxx:1960
 AliThreePionRadii.cxx:1961
 AliThreePionRadii.cxx:1962
 AliThreePionRadii.cxx:1963
 AliThreePionRadii.cxx:1964
 AliThreePionRadii.cxx:1965
 AliThreePionRadii.cxx:1966
 AliThreePionRadii.cxx:1967
 AliThreePionRadii.cxx:1968
 AliThreePionRadii.cxx:1969
 AliThreePionRadii.cxx:1970
 AliThreePionRadii.cxx:1971
 AliThreePionRadii.cxx:1972
 AliThreePionRadii.cxx:1973
 AliThreePionRadii.cxx:1974
 AliThreePionRadii.cxx:1975
 AliThreePionRadii.cxx:1976
 AliThreePionRadii.cxx:1977
 AliThreePionRadii.cxx:1978
 AliThreePionRadii.cxx:1979
 AliThreePionRadii.cxx:1980
 AliThreePionRadii.cxx:1981
 AliThreePionRadii.cxx:1982
 AliThreePionRadii.cxx:1983
 AliThreePionRadii.cxx:1984
 AliThreePionRadii.cxx:1985
 AliThreePionRadii.cxx:1986
 AliThreePionRadii.cxx:1987
 AliThreePionRadii.cxx:1988
 AliThreePionRadii.cxx:1989
 AliThreePionRadii.cxx:1990
 AliThreePionRadii.cxx:1991
 AliThreePionRadii.cxx:1992
 AliThreePionRadii.cxx:1993
 AliThreePionRadii.cxx:1994
 AliThreePionRadii.cxx:1995
 AliThreePionRadii.cxx:1996
 AliThreePionRadii.cxx:1997
 AliThreePionRadii.cxx:1998
 AliThreePionRadii.cxx:1999
 AliThreePionRadii.cxx:2000
 AliThreePionRadii.cxx:2001
 AliThreePionRadii.cxx:2002
 AliThreePionRadii.cxx:2003
 AliThreePionRadii.cxx:2004
 AliThreePionRadii.cxx:2005
 AliThreePionRadii.cxx:2006
 AliThreePionRadii.cxx:2007
 AliThreePionRadii.cxx:2008
 AliThreePionRadii.cxx:2009
 AliThreePionRadii.cxx:2010
 AliThreePionRadii.cxx:2011
 AliThreePionRadii.cxx:2012
 AliThreePionRadii.cxx:2013
 AliThreePionRadii.cxx:2014
 AliThreePionRadii.cxx:2015
 AliThreePionRadii.cxx:2016
 AliThreePionRadii.cxx:2017
 AliThreePionRadii.cxx:2018
 AliThreePionRadii.cxx:2019
 AliThreePionRadii.cxx:2020
 AliThreePionRadii.cxx:2021
 AliThreePionRadii.cxx:2022
 AliThreePionRadii.cxx:2023
 AliThreePionRadii.cxx:2024
 AliThreePionRadii.cxx:2025
 AliThreePionRadii.cxx:2026
 AliThreePionRadii.cxx:2027
 AliThreePionRadii.cxx:2028
 AliThreePionRadii.cxx:2029
 AliThreePionRadii.cxx:2030
 AliThreePionRadii.cxx:2031
 AliThreePionRadii.cxx:2032
 AliThreePionRadii.cxx:2033
 AliThreePionRadii.cxx:2034
 AliThreePionRadii.cxx:2035
 AliThreePionRadii.cxx:2036
 AliThreePionRadii.cxx:2037
 AliThreePionRadii.cxx:2038
 AliThreePionRadii.cxx:2039
 AliThreePionRadii.cxx:2040
 AliThreePionRadii.cxx:2041
 AliThreePionRadii.cxx:2042
 AliThreePionRadii.cxx:2043
 AliThreePionRadii.cxx:2044
 AliThreePionRadii.cxx:2045
 AliThreePionRadii.cxx:2046
 AliThreePionRadii.cxx:2047
 AliThreePionRadii.cxx:2048
 AliThreePionRadii.cxx:2049
 AliThreePionRadii.cxx:2050
 AliThreePionRadii.cxx:2051
 AliThreePionRadii.cxx:2052
 AliThreePionRadii.cxx:2053
 AliThreePionRadii.cxx:2054
 AliThreePionRadii.cxx:2055
 AliThreePionRadii.cxx:2056
 AliThreePionRadii.cxx:2057
 AliThreePionRadii.cxx:2058
 AliThreePionRadii.cxx:2059
 AliThreePionRadii.cxx:2060
 AliThreePionRadii.cxx:2061
 AliThreePionRadii.cxx:2062
 AliThreePionRadii.cxx:2063
 AliThreePionRadii.cxx:2064
 AliThreePionRadii.cxx:2065
 AliThreePionRadii.cxx:2066
 AliThreePionRadii.cxx:2067
 AliThreePionRadii.cxx:2068
 AliThreePionRadii.cxx:2069
 AliThreePionRadii.cxx:2070
 AliThreePionRadii.cxx:2071
 AliThreePionRadii.cxx:2072
 AliThreePionRadii.cxx:2073
 AliThreePionRadii.cxx:2074
 AliThreePionRadii.cxx:2075
 AliThreePionRadii.cxx:2076
 AliThreePionRadii.cxx:2077
 AliThreePionRadii.cxx:2078
 AliThreePionRadii.cxx:2079
 AliThreePionRadii.cxx:2080
 AliThreePionRadii.cxx:2081
 AliThreePionRadii.cxx:2082
 AliThreePionRadii.cxx:2083
 AliThreePionRadii.cxx:2084
 AliThreePionRadii.cxx:2085
 AliThreePionRadii.cxx:2086
 AliThreePionRadii.cxx:2087
 AliThreePionRadii.cxx:2088
 AliThreePionRadii.cxx:2089
 AliThreePionRadii.cxx:2090
 AliThreePionRadii.cxx:2091
 AliThreePionRadii.cxx:2092
 AliThreePionRadii.cxx:2093
 AliThreePionRadii.cxx:2094
 AliThreePionRadii.cxx:2095
 AliThreePionRadii.cxx:2096
 AliThreePionRadii.cxx:2097
 AliThreePionRadii.cxx:2098
 AliThreePionRadii.cxx:2099
 AliThreePionRadii.cxx:2100
 AliThreePionRadii.cxx:2101
 AliThreePionRadii.cxx:2102
 AliThreePionRadii.cxx:2103
 AliThreePionRadii.cxx:2104
 AliThreePionRadii.cxx:2105
 AliThreePionRadii.cxx:2106
 AliThreePionRadii.cxx:2107
 AliThreePionRadii.cxx:2108
 AliThreePionRadii.cxx:2109
 AliThreePionRadii.cxx:2110
 AliThreePionRadii.cxx:2111
 AliThreePionRadii.cxx:2112
 AliThreePionRadii.cxx:2113
 AliThreePionRadii.cxx:2114
 AliThreePionRadii.cxx:2115
 AliThreePionRadii.cxx:2116
 AliThreePionRadii.cxx:2117
 AliThreePionRadii.cxx:2118
 AliThreePionRadii.cxx:2119
 AliThreePionRadii.cxx:2120
 AliThreePionRadii.cxx:2121
 AliThreePionRadii.cxx:2122
 AliThreePionRadii.cxx:2123
 AliThreePionRadii.cxx:2124
 AliThreePionRadii.cxx:2125
 AliThreePionRadii.cxx:2126
 AliThreePionRadii.cxx:2127
 AliThreePionRadii.cxx:2128
 AliThreePionRadii.cxx:2129
 AliThreePionRadii.cxx:2130
 AliThreePionRadii.cxx:2131
 AliThreePionRadii.cxx:2132
 AliThreePionRadii.cxx:2133
 AliThreePionRadii.cxx:2134
 AliThreePionRadii.cxx:2135
 AliThreePionRadii.cxx:2136
 AliThreePionRadii.cxx:2137
 AliThreePionRadii.cxx:2138
 AliThreePionRadii.cxx:2139
 AliThreePionRadii.cxx:2140
 AliThreePionRadii.cxx:2141
 AliThreePionRadii.cxx:2142
 AliThreePionRadii.cxx:2143
 AliThreePionRadii.cxx:2144
 AliThreePionRadii.cxx:2145
 AliThreePionRadii.cxx:2146
 AliThreePionRadii.cxx:2147
 AliThreePionRadii.cxx:2148
 AliThreePionRadii.cxx:2149
 AliThreePionRadii.cxx:2150
 AliThreePionRadii.cxx:2151
 AliThreePionRadii.cxx:2152
 AliThreePionRadii.cxx:2153
 AliThreePionRadii.cxx:2154
 AliThreePionRadii.cxx:2155
 AliThreePionRadii.cxx:2156
 AliThreePionRadii.cxx:2157
 AliThreePionRadii.cxx:2158
 AliThreePionRadii.cxx:2159
 AliThreePionRadii.cxx:2160
 AliThreePionRadii.cxx:2161
 AliThreePionRadii.cxx:2162
 AliThreePionRadii.cxx:2163
 AliThreePionRadii.cxx:2164
 AliThreePionRadii.cxx:2165
 AliThreePionRadii.cxx:2166
 AliThreePionRadii.cxx:2167
 AliThreePionRadii.cxx:2168
 AliThreePionRadii.cxx:2169
 AliThreePionRadii.cxx:2170
 AliThreePionRadii.cxx:2171
 AliThreePionRadii.cxx:2172
 AliThreePionRadii.cxx:2173
 AliThreePionRadii.cxx:2174
 AliThreePionRadii.cxx:2175
 AliThreePionRadii.cxx:2176
 AliThreePionRadii.cxx:2177
 AliThreePionRadii.cxx:2178
 AliThreePionRadii.cxx:2179
 AliThreePionRadii.cxx:2180
 AliThreePionRadii.cxx:2181
 AliThreePionRadii.cxx:2182
 AliThreePionRadii.cxx:2183
 AliThreePionRadii.cxx:2184
 AliThreePionRadii.cxx:2185
 AliThreePionRadii.cxx:2186
 AliThreePionRadii.cxx:2187
 AliThreePionRadii.cxx:2188
 AliThreePionRadii.cxx:2189
 AliThreePionRadii.cxx:2190
 AliThreePionRadii.cxx:2191
 AliThreePionRadii.cxx:2192
 AliThreePionRadii.cxx:2193
 AliThreePionRadii.cxx:2194
 AliThreePionRadii.cxx:2195
 AliThreePionRadii.cxx:2196
 AliThreePionRadii.cxx:2197
 AliThreePionRadii.cxx:2198
 AliThreePionRadii.cxx:2199
 AliThreePionRadii.cxx:2200
 AliThreePionRadii.cxx:2201
 AliThreePionRadii.cxx:2202
 AliThreePionRadii.cxx:2203
 AliThreePionRadii.cxx:2204
 AliThreePionRadii.cxx:2205
 AliThreePionRadii.cxx:2206
 AliThreePionRadii.cxx:2207
 AliThreePionRadii.cxx:2208
 AliThreePionRadii.cxx:2209
 AliThreePionRadii.cxx:2210
 AliThreePionRadii.cxx:2211
 AliThreePionRadii.cxx:2212
 AliThreePionRadii.cxx:2213
 AliThreePionRadii.cxx:2214
 AliThreePionRadii.cxx:2215
 AliThreePionRadii.cxx:2216
 AliThreePionRadii.cxx:2217
 AliThreePionRadii.cxx:2218
 AliThreePionRadii.cxx:2219
 AliThreePionRadii.cxx:2220
 AliThreePionRadii.cxx:2221
 AliThreePionRadii.cxx:2222
 AliThreePionRadii.cxx:2223
 AliThreePionRadii.cxx:2224
 AliThreePionRadii.cxx:2225
 AliThreePionRadii.cxx:2226
 AliThreePionRadii.cxx:2227
 AliThreePionRadii.cxx:2228
 AliThreePionRadii.cxx:2229
 AliThreePionRadii.cxx:2230
 AliThreePionRadii.cxx:2231
 AliThreePionRadii.cxx:2232
 AliThreePionRadii.cxx:2233
 AliThreePionRadii.cxx:2234
 AliThreePionRadii.cxx:2235
 AliThreePionRadii.cxx:2236
 AliThreePionRadii.cxx:2237
 AliThreePionRadii.cxx:2238
 AliThreePionRadii.cxx:2239
 AliThreePionRadii.cxx:2240
 AliThreePionRadii.cxx:2241
 AliThreePionRadii.cxx:2242
 AliThreePionRadii.cxx:2243
 AliThreePionRadii.cxx:2244
 AliThreePionRadii.cxx:2245
 AliThreePionRadii.cxx:2246
 AliThreePionRadii.cxx:2247
 AliThreePionRadii.cxx:2248
 AliThreePionRadii.cxx:2249
 AliThreePionRadii.cxx:2250
 AliThreePionRadii.cxx:2251
 AliThreePionRadii.cxx:2252
 AliThreePionRadii.cxx:2253
 AliThreePionRadii.cxx:2254
 AliThreePionRadii.cxx:2255
 AliThreePionRadii.cxx:2256
 AliThreePionRadii.cxx:2257
 AliThreePionRadii.cxx:2258
 AliThreePionRadii.cxx:2259
 AliThreePionRadii.cxx:2260
 AliThreePionRadii.cxx:2261
 AliThreePionRadii.cxx:2262
 AliThreePionRadii.cxx:2263
 AliThreePionRadii.cxx:2264
 AliThreePionRadii.cxx:2265
 AliThreePionRadii.cxx:2266
 AliThreePionRadii.cxx:2267
 AliThreePionRadii.cxx:2268
 AliThreePionRadii.cxx:2269
 AliThreePionRadii.cxx:2270
 AliThreePionRadii.cxx:2271
 AliThreePionRadii.cxx:2272
 AliThreePionRadii.cxx:2273
 AliThreePionRadii.cxx:2274
 AliThreePionRadii.cxx:2275
 AliThreePionRadii.cxx:2276
 AliThreePionRadii.cxx:2277
 AliThreePionRadii.cxx:2278
 AliThreePionRadii.cxx:2279
 AliThreePionRadii.cxx:2280
 AliThreePionRadii.cxx:2281
 AliThreePionRadii.cxx:2282
 AliThreePionRadii.cxx:2283
 AliThreePionRadii.cxx:2284
 AliThreePionRadii.cxx:2285
 AliThreePionRadii.cxx:2286
 AliThreePionRadii.cxx:2287
 AliThreePionRadii.cxx:2288
 AliThreePionRadii.cxx:2289
 AliThreePionRadii.cxx:2290
 AliThreePionRadii.cxx:2291
 AliThreePionRadii.cxx:2292
 AliThreePionRadii.cxx:2293
 AliThreePionRadii.cxx:2294
 AliThreePionRadii.cxx:2295
 AliThreePionRadii.cxx:2296
 AliThreePionRadii.cxx:2297
 AliThreePionRadii.cxx:2298
 AliThreePionRadii.cxx:2299
 AliThreePionRadii.cxx:2300
 AliThreePionRadii.cxx:2301
 AliThreePionRadii.cxx:2302
 AliThreePionRadii.cxx:2303
 AliThreePionRadii.cxx:2304
 AliThreePionRadii.cxx:2305
 AliThreePionRadii.cxx:2306
 AliThreePionRadii.cxx:2307
 AliThreePionRadii.cxx:2308
 AliThreePionRadii.cxx:2309
 AliThreePionRadii.cxx:2310
 AliThreePionRadii.cxx:2311
 AliThreePionRadii.cxx:2312
 AliThreePionRadii.cxx:2313
 AliThreePionRadii.cxx:2314
 AliThreePionRadii.cxx:2315
 AliThreePionRadii.cxx:2316
 AliThreePionRadii.cxx:2317
 AliThreePionRadii.cxx:2318
 AliThreePionRadii.cxx:2319
 AliThreePionRadii.cxx:2320
 AliThreePionRadii.cxx:2321
 AliThreePionRadii.cxx:2322
 AliThreePionRadii.cxx:2323
 AliThreePionRadii.cxx:2324
 AliThreePionRadii.cxx:2325
 AliThreePionRadii.cxx:2326
 AliThreePionRadii.cxx:2327
 AliThreePionRadii.cxx:2328
 AliThreePionRadii.cxx:2329
 AliThreePionRadii.cxx:2330
 AliThreePionRadii.cxx:2331
 AliThreePionRadii.cxx:2332
 AliThreePionRadii.cxx:2333
 AliThreePionRadii.cxx:2334
 AliThreePionRadii.cxx:2335
 AliThreePionRadii.cxx:2336
 AliThreePionRadii.cxx:2337
 AliThreePionRadii.cxx:2338
 AliThreePionRadii.cxx:2339
 AliThreePionRadii.cxx:2340
 AliThreePionRadii.cxx:2341
 AliThreePionRadii.cxx:2342
 AliThreePionRadii.cxx:2343
 AliThreePionRadii.cxx:2344
 AliThreePionRadii.cxx:2345
 AliThreePionRadii.cxx:2346
 AliThreePionRadii.cxx:2347
 AliThreePionRadii.cxx:2348
 AliThreePionRadii.cxx:2349
 AliThreePionRadii.cxx:2350
 AliThreePionRadii.cxx:2351
 AliThreePionRadii.cxx:2352
 AliThreePionRadii.cxx:2353
 AliThreePionRadii.cxx:2354
 AliThreePionRadii.cxx:2355
 AliThreePionRadii.cxx:2356
 AliThreePionRadii.cxx:2357
 AliThreePionRadii.cxx:2358
 AliThreePionRadii.cxx:2359
 AliThreePionRadii.cxx:2360
 AliThreePionRadii.cxx:2361
 AliThreePionRadii.cxx:2362
 AliThreePionRadii.cxx:2363
 AliThreePionRadii.cxx:2364
 AliThreePionRadii.cxx:2365
 AliThreePionRadii.cxx:2366
 AliThreePionRadii.cxx:2367
 AliThreePionRadii.cxx:2368
 AliThreePionRadii.cxx:2369
 AliThreePionRadii.cxx:2370
 AliThreePionRadii.cxx:2371
 AliThreePionRadii.cxx:2372
 AliThreePionRadii.cxx:2373
 AliThreePionRadii.cxx:2374
 AliThreePionRadii.cxx:2375
 AliThreePionRadii.cxx:2376
 AliThreePionRadii.cxx:2377
 AliThreePionRadii.cxx:2378
 AliThreePionRadii.cxx:2379
 AliThreePionRadii.cxx:2380
 AliThreePionRadii.cxx:2381
 AliThreePionRadii.cxx:2382
 AliThreePionRadii.cxx:2383
 AliThreePionRadii.cxx:2384
 AliThreePionRadii.cxx:2385
 AliThreePionRadii.cxx:2386
 AliThreePionRadii.cxx:2387
 AliThreePionRadii.cxx:2388
 AliThreePionRadii.cxx:2389
 AliThreePionRadii.cxx:2390
 AliThreePionRadii.cxx:2391
 AliThreePionRadii.cxx:2392
 AliThreePionRadii.cxx:2393
 AliThreePionRadii.cxx:2394
 AliThreePionRadii.cxx:2395
 AliThreePionRadii.cxx:2396
 AliThreePionRadii.cxx:2397
 AliThreePionRadii.cxx:2398
 AliThreePionRadii.cxx:2399
 AliThreePionRadii.cxx:2400
 AliThreePionRadii.cxx:2401
 AliThreePionRadii.cxx:2402
 AliThreePionRadii.cxx:2403
 AliThreePionRadii.cxx:2404
 AliThreePionRadii.cxx:2405
 AliThreePionRadii.cxx:2406
 AliThreePionRadii.cxx:2407
 AliThreePionRadii.cxx:2408
 AliThreePionRadii.cxx:2409
 AliThreePionRadii.cxx:2410
 AliThreePionRadii.cxx:2411
 AliThreePionRadii.cxx:2412
 AliThreePionRadii.cxx:2413
 AliThreePionRadii.cxx:2414
 AliThreePionRadii.cxx:2415
 AliThreePionRadii.cxx:2416
 AliThreePionRadii.cxx:2417
 AliThreePionRadii.cxx:2418
 AliThreePionRadii.cxx:2419
 AliThreePionRadii.cxx:2420
 AliThreePionRadii.cxx:2421
 AliThreePionRadii.cxx:2422
 AliThreePionRadii.cxx:2423
 AliThreePionRadii.cxx:2424
 AliThreePionRadii.cxx:2425
 AliThreePionRadii.cxx:2426
 AliThreePionRadii.cxx:2427
 AliThreePionRadii.cxx:2428
 AliThreePionRadii.cxx:2429
 AliThreePionRadii.cxx:2430
 AliThreePionRadii.cxx:2431
 AliThreePionRadii.cxx:2432
 AliThreePionRadii.cxx:2433
 AliThreePionRadii.cxx:2434
 AliThreePionRadii.cxx:2435
 AliThreePionRadii.cxx:2436
 AliThreePionRadii.cxx:2437
 AliThreePionRadii.cxx:2438
 AliThreePionRadii.cxx:2439
 AliThreePionRadii.cxx:2440
 AliThreePionRadii.cxx:2441
 AliThreePionRadii.cxx:2442
 AliThreePionRadii.cxx:2443
 AliThreePionRadii.cxx:2444
 AliThreePionRadii.cxx:2445
 AliThreePionRadii.cxx:2446
 AliThreePionRadii.cxx:2447
 AliThreePionRadii.cxx:2448
 AliThreePionRadii.cxx:2449
 AliThreePionRadii.cxx:2450
 AliThreePionRadii.cxx:2451
 AliThreePionRadii.cxx:2452
 AliThreePionRadii.cxx:2453
 AliThreePionRadii.cxx:2454
 AliThreePionRadii.cxx:2455
 AliThreePionRadii.cxx:2456
 AliThreePionRadii.cxx:2457
 AliThreePionRadii.cxx:2458
 AliThreePionRadii.cxx:2459
 AliThreePionRadii.cxx:2460
 AliThreePionRadii.cxx:2461
 AliThreePionRadii.cxx:2462
 AliThreePionRadii.cxx:2463
 AliThreePionRadii.cxx:2464
 AliThreePionRadii.cxx:2465
 AliThreePionRadii.cxx:2466
 AliThreePionRadii.cxx:2467
 AliThreePionRadii.cxx:2468
 AliThreePionRadii.cxx:2469
 AliThreePionRadii.cxx:2470
 AliThreePionRadii.cxx:2471
 AliThreePionRadii.cxx:2472
 AliThreePionRadii.cxx:2473
 AliThreePionRadii.cxx:2474
 AliThreePionRadii.cxx:2475
 AliThreePionRadii.cxx:2476
 AliThreePionRadii.cxx:2477
 AliThreePionRadii.cxx:2478
 AliThreePionRadii.cxx:2479
 AliThreePionRadii.cxx:2480
 AliThreePionRadii.cxx:2481
 AliThreePionRadii.cxx:2482
 AliThreePionRadii.cxx:2483
 AliThreePionRadii.cxx:2484
 AliThreePionRadii.cxx:2485
 AliThreePionRadii.cxx:2486
 AliThreePionRadii.cxx:2487
 AliThreePionRadii.cxx:2488
 AliThreePionRadii.cxx:2489
 AliThreePionRadii.cxx:2490
 AliThreePionRadii.cxx:2491
 AliThreePionRadii.cxx:2492
 AliThreePionRadii.cxx:2493
 AliThreePionRadii.cxx:2494
 AliThreePionRadii.cxx:2495
 AliThreePionRadii.cxx:2496
 AliThreePionRadii.cxx:2497
 AliThreePionRadii.cxx:2498
 AliThreePionRadii.cxx:2499
 AliThreePionRadii.cxx:2500
 AliThreePionRadii.cxx:2501
 AliThreePionRadii.cxx:2502
 AliThreePionRadii.cxx:2503
 AliThreePionRadii.cxx:2504
 AliThreePionRadii.cxx:2505
 AliThreePionRadii.cxx:2506
 AliThreePionRadii.cxx:2507
 AliThreePionRadii.cxx:2508
 AliThreePionRadii.cxx:2509
 AliThreePionRadii.cxx:2510
 AliThreePionRadii.cxx:2511
 AliThreePionRadii.cxx:2512
 AliThreePionRadii.cxx:2513
 AliThreePionRadii.cxx:2514
 AliThreePionRadii.cxx:2515
 AliThreePionRadii.cxx:2516
 AliThreePionRadii.cxx:2517
 AliThreePionRadii.cxx:2518
 AliThreePionRadii.cxx:2519
 AliThreePionRadii.cxx:2520
 AliThreePionRadii.cxx:2521
 AliThreePionRadii.cxx:2522
 AliThreePionRadii.cxx:2523
 AliThreePionRadii.cxx:2524
 AliThreePionRadii.cxx:2525
 AliThreePionRadii.cxx:2526
 AliThreePionRadii.cxx:2527
 AliThreePionRadii.cxx:2528
 AliThreePionRadii.cxx:2529
 AliThreePionRadii.cxx:2530
 AliThreePionRadii.cxx:2531
 AliThreePionRadii.cxx:2532
 AliThreePionRadii.cxx:2533
 AliThreePionRadii.cxx:2534
 AliThreePionRadii.cxx:2535
 AliThreePionRadii.cxx:2536
 AliThreePionRadii.cxx:2537
 AliThreePionRadii.cxx:2538
 AliThreePionRadii.cxx:2539
 AliThreePionRadii.cxx:2540
 AliThreePionRadii.cxx:2541
 AliThreePionRadii.cxx:2542
 AliThreePionRadii.cxx:2543
 AliThreePionRadii.cxx:2544
 AliThreePionRadii.cxx:2545
 AliThreePionRadii.cxx:2546
 AliThreePionRadii.cxx:2547
 AliThreePionRadii.cxx:2548
 AliThreePionRadii.cxx:2549
 AliThreePionRadii.cxx:2550
 AliThreePionRadii.cxx:2551
 AliThreePionRadii.cxx:2552
 AliThreePionRadii.cxx:2553
 AliThreePionRadii.cxx:2554
 AliThreePionRadii.cxx:2555
 AliThreePionRadii.cxx:2556
 AliThreePionRadii.cxx:2557
 AliThreePionRadii.cxx:2558
 AliThreePionRadii.cxx:2559
 AliThreePionRadii.cxx:2560
 AliThreePionRadii.cxx:2561
 AliThreePionRadii.cxx:2562
 AliThreePionRadii.cxx:2563
 AliThreePionRadii.cxx:2564
 AliThreePionRadii.cxx:2565
 AliThreePionRadii.cxx:2566
 AliThreePionRadii.cxx:2567
 AliThreePionRadii.cxx:2568
 AliThreePionRadii.cxx:2569
 AliThreePionRadii.cxx:2570
 AliThreePionRadii.cxx:2571
 AliThreePionRadii.cxx:2572
 AliThreePionRadii.cxx:2573
 AliThreePionRadii.cxx:2574
 AliThreePionRadii.cxx:2575
 AliThreePionRadii.cxx:2576
 AliThreePionRadii.cxx:2577
 AliThreePionRadii.cxx:2578
 AliThreePionRadii.cxx:2579
 AliThreePionRadii.cxx:2580
 AliThreePionRadii.cxx:2581
 AliThreePionRadii.cxx:2582
 AliThreePionRadii.cxx:2583
 AliThreePionRadii.cxx:2584
 AliThreePionRadii.cxx:2585
 AliThreePionRadii.cxx:2586
 AliThreePionRadii.cxx:2587
 AliThreePionRadii.cxx:2588
 AliThreePionRadii.cxx:2589
 AliThreePionRadii.cxx:2590
 AliThreePionRadii.cxx:2591
 AliThreePionRadii.cxx:2592
 AliThreePionRadii.cxx:2593
 AliThreePionRadii.cxx:2594
 AliThreePionRadii.cxx:2595
 AliThreePionRadii.cxx:2596
 AliThreePionRadii.cxx:2597
 AliThreePionRadii.cxx:2598
 AliThreePionRadii.cxx:2599
 AliThreePionRadii.cxx:2600
 AliThreePionRadii.cxx:2601
 AliThreePionRadii.cxx:2602
 AliThreePionRadii.cxx:2603
 AliThreePionRadii.cxx:2604
 AliThreePionRadii.cxx:2605
 AliThreePionRadii.cxx:2606
 AliThreePionRadii.cxx:2607
 AliThreePionRadii.cxx:2608
 AliThreePionRadii.cxx:2609
 AliThreePionRadii.cxx:2610
 AliThreePionRadii.cxx:2611
 AliThreePionRadii.cxx:2612
 AliThreePionRadii.cxx:2613
 AliThreePionRadii.cxx:2614
 AliThreePionRadii.cxx:2615
 AliThreePionRadii.cxx:2616
 AliThreePionRadii.cxx:2617
 AliThreePionRadii.cxx:2618
 AliThreePionRadii.cxx:2619
 AliThreePionRadii.cxx:2620
 AliThreePionRadii.cxx:2621
 AliThreePionRadii.cxx:2622
 AliThreePionRadii.cxx:2623
 AliThreePionRadii.cxx:2624
 AliThreePionRadii.cxx:2625
 AliThreePionRadii.cxx:2626
 AliThreePionRadii.cxx:2627
 AliThreePionRadii.cxx:2628
 AliThreePionRadii.cxx:2629
 AliThreePionRadii.cxx:2630
 AliThreePionRadii.cxx:2631
 AliThreePionRadii.cxx:2632
 AliThreePionRadii.cxx:2633
 AliThreePionRadii.cxx:2634
 AliThreePionRadii.cxx:2635
 AliThreePionRadii.cxx:2636
 AliThreePionRadii.cxx:2637
 AliThreePionRadii.cxx:2638
 AliThreePionRadii.cxx:2639
 AliThreePionRadii.cxx:2640
 AliThreePionRadii.cxx:2641
 AliThreePionRadii.cxx:2642
 AliThreePionRadii.cxx:2643
 AliThreePionRadii.cxx:2644
 AliThreePionRadii.cxx:2645
 AliThreePionRadii.cxx:2646
 AliThreePionRadii.cxx:2647
 AliThreePionRadii.cxx:2648
 AliThreePionRadii.cxx:2649
 AliThreePionRadii.cxx:2650
 AliThreePionRadii.cxx:2651
 AliThreePionRadii.cxx:2652
 AliThreePionRadii.cxx:2653
 AliThreePionRadii.cxx:2654
 AliThreePionRadii.cxx:2655
 AliThreePionRadii.cxx:2656
 AliThreePionRadii.cxx:2657
 AliThreePionRadii.cxx:2658
 AliThreePionRadii.cxx:2659
 AliThreePionRadii.cxx:2660
 AliThreePionRadii.cxx:2661
 AliThreePionRadii.cxx:2662
 AliThreePionRadii.cxx:2663
 AliThreePionRadii.cxx:2664
 AliThreePionRadii.cxx:2665
 AliThreePionRadii.cxx:2666
 AliThreePionRadii.cxx:2667
 AliThreePionRadii.cxx:2668
 AliThreePionRadii.cxx:2669
 AliThreePionRadii.cxx:2670
 AliThreePionRadii.cxx:2671
 AliThreePionRadii.cxx:2672
 AliThreePionRadii.cxx:2673
 AliThreePionRadii.cxx:2674
 AliThreePionRadii.cxx:2675
 AliThreePionRadii.cxx:2676
 AliThreePionRadii.cxx:2677
 AliThreePionRadii.cxx:2678
 AliThreePionRadii.cxx:2679
 AliThreePionRadii.cxx:2680
 AliThreePionRadii.cxx:2681
 AliThreePionRadii.cxx:2682
 AliThreePionRadii.cxx:2683
 AliThreePionRadii.cxx:2684
 AliThreePionRadii.cxx:2685
 AliThreePionRadii.cxx:2686
 AliThreePionRadii.cxx:2687
 AliThreePionRadii.cxx:2688
 AliThreePionRadii.cxx:2689
 AliThreePionRadii.cxx:2690
 AliThreePionRadii.cxx:2691
 AliThreePionRadii.cxx:2692
 AliThreePionRadii.cxx:2693
 AliThreePionRadii.cxx:2694
 AliThreePionRadii.cxx:2695
 AliThreePionRadii.cxx:2696
 AliThreePionRadii.cxx:2697
 AliThreePionRadii.cxx:2698
 AliThreePionRadii.cxx:2699
 AliThreePionRadii.cxx:2700
 AliThreePionRadii.cxx:2701
 AliThreePionRadii.cxx:2702
 AliThreePionRadii.cxx:2703
 AliThreePionRadii.cxx:2704
 AliThreePionRadii.cxx:2705
 AliThreePionRadii.cxx:2706
 AliThreePionRadii.cxx:2707
 AliThreePionRadii.cxx:2708
 AliThreePionRadii.cxx:2709
 AliThreePionRadii.cxx:2710
 AliThreePionRadii.cxx:2711
 AliThreePionRadii.cxx:2712
 AliThreePionRadii.cxx:2713
 AliThreePionRadii.cxx:2714
 AliThreePionRadii.cxx:2715
 AliThreePionRadii.cxx:2716
 AliThreePionRadii.cxx:2717
 AliThreePionRadii.cxx:2718
 AliThreePionRadii.cxx:2719
 AliThreePionRadii.cxx:2720
 AliThreePionRadii.cxx:2721
 AliThreePionRadii.cxx:2722
 AliThreePionRadii.cxx:2723
 AliThreePionRadii.cxx:2724
 AliThreePionRadii.cxx:2725
 AliThreePionRadii.cxx:2726
 AliThreePionRadii.cxx:2727
 AliThreePionRadii.cxx:2728
 AliThreePionRadii.cxx:2729
 AliThreePionRadii.cxx:2730
 AliThreePionRadii.cxx:2731
 AliThreePionRadii.cxx:2732
 AliThreePionRadii.cxx:2733
 AliThreePionRadii.cxx:2734
 AliThreePionRadii.cxx:2735
 AliThreePionRadii.cxx:2736
 AliThreePionRadii.cxx:2737
 AliThreePionRadii.cxx:2738
 AliThreePionRadii.cxx:2739
 AliThreePionRadii.cxx:2740
 AliThreePionRadii.cxx:2741
 AliThreePionRadii.cxx:2742
 AliThreePionRadii.cxx:2743
 AliThreePionRadii.cxx:2744
 AliThreePionRadii.cxx:2745
 AliThreePionRadii.cxx:2746
 AliThreePionRadii.cxx:2747
 AliThreePionRadii.cxx:2748
 AliThreePionRadii.cxx:2749
 AliThreePionRadii.cxx:2750
 AliThreePionRadii.cxx:2751
 AliThreePionRadii.cxx:2752
 AliThreePionRadii.cxx:2753
 AliThreePionRadii.cxx:2754
 AliThreePionRadii.cxx:2755
 AliThreePionRadii.cxx:2756
 AliThreePionRadii.cxx:2757
 AliThreePionRadii.cxx:2758
 AliThreePionRadii.cxx:2759
 AliThreePionRadii.cxx:2760
 AliThreePionRadii.cxx:2761
 AliThreePionRadii.cxx:2762
 AliThreePionRadii.cxx:2763
 AliThreePionRadii.cxx:2764
 AliThreePionRadii.cxx:2765
 AliThreePionRadii.cxx:2766
 AliThreePionRadii.cxx:2767
 AliThreePionRadii.cxx:2768
 AliThreePionRadii.cxx:2769
 AliThreePionRadii.cxx:2770
 AliThreePionRadii.cxx:2771
 AliThreePionRadii.cxx:2772
 AliThreePionRadii.cxx:2773
 AliThreePionRadii.cxx:2774
 AliThreePionRadii.cxx:2775
 AliThreePionRadii.cxx:2776
 AliThreePionRadii.cxx:2777
 AliThreePionRadii.cxx:2778
 AliThreePionRadii.cxx:2779
 AliThreePionRadii.cxx:2780
 AliThreePionRadii.cxx:2781
 AliThreePionRadii.cxx:2782
 AliThreePionRadii.cxx:2783
 AliThreePionRadii.cxx:2784
 AliThreePionRadii.cxx:2785
 AliThreePionRadii.cxx:2786
 AliThreePionRadii.cxx:2787
 AliThreePionRadii.cxx:2788
 AliThreePionRadii.cxx:2789
 AliThreePionRadii.cxx:2790
 AliThreePionRadii.cxx:2791
 AliThreePionRadii.cxx:2792
 AliThreePionRadii.cxx:2793
 AliThreePionRadii.cxx:2794
 AliThreePionRadii.cxx:2795
 AliThreePionRadii.cxx:2796
 AliThreePionRadii.cxx:2797
 AliThreePionRadii.cxx:2798
 AliThreePionRadii.cxx:2799
 AliThreePionRadii.cxx:2800
 AliThreePionRadii.cxx:2801
 AliThreePionRadii.cxx:2802
 AliThreePionRadii.cxx:2803
 AliThreePionRadii.cxx:2804
 AliThreePionRadii.cxx:2805
 AliThreePionRadii.cxx:2806
 AliThreePionRadii.cxx:2807
 AliThreePionRadii.cxx:2808
 AliThreePionRadii.cxx:2809
 AliThreePionRadii.cxx:2810
 AliThreePionRadii.cxx:2811
 AliThreePionRadii.cxx:2812
 AliThreePionRadii.cxx:2813
 AliThreePionRadii.cxx:2814
 AliThreePionRadii.cxx:2815
 AliThreePionRadii.cxx:2816
 AliThreePionRadii.cxx:2817
 AliThreePionRadii.cxx:2818
 AliThreePionRadii.cxx:2819
 AliThreePionRadii.cxx:2820
 AliThreePionRadii.cxx:2821
 AliThreePionRadii.cxx:2822
 AliThreePionRadii.cxx:2823
 AliThreePionRadii.cxx:2824
 AliThreePionRadii.cxx:2825
 AliThreePionRadii.cxx:2826
 AliThreePionRadii.cxx:2827
 AliThreePionRadii.cxx:2828
 AliThreePionRadii.cxx:2829
 AliThreePionRadii.cxx:2830
 AliThreePionRadii.cxx:2831
 AliThreePionRadii.cxx:2832
 AliThreePionRadii.cxx:2833
 AliThreePionRadii.cxx:2834
 AliThreePionRadii.cxx:2835
 AliThreePionRadii.cxx:2836
 AliThreePionRadii.cxx:2837
 AliThreePionRadii.cxx:2838
 AliThreePionRadii.cxx:2839
 AliThreePionRadii.cxx:2840
 AliThreePionRadii.cxx:2841
 AliThreePionRadii.cxx:2842
 AliThreePionRadii.cxx:2843
 AliThreePionRadii.cxx:2844
 AliThreePionRadii.cxx:2845
 AliThreePionRadii.cxx:2846
 AliThreePionRadii.cxx:2847
 AliThreePionRadii.cxx:2848
 AliThreePionRadii.cxx:2849
 AliThreePionRadii.cxx:2850
 AliThreePionRadii.cxx:2851
 AliThreePionRadii.cxx:2852
 AliThreePionRadii.cxx:2853
 AliThreePionRadii.cxx:2854
 AliThreePionRadii.cxx:2855
 AliThreePionRadii.cxx:2856
 AliThreePionRadii.cxx:2857
 AliThreePionRadii.cxx:2858
 AliThreePionRadii.cxx:2859
 AliThreePionRadii.cxx:2860
 AliThreePionRadii.cxx:2861
 AliThreePionRadii.cxx:2862
 AliThreePionRadii.cxx:2863
 AliThreePionRadii.cxx:2864
 AliThreePionRadii.cxx:2865
 AliThreePionRadii.cxx:2866
 AliThreePionRadii.cxx:2867
 AliThreePionRadii.cxx:2868
 AliThreePionRadii.cxx:2869
 AliThreePionRadii.cxx:2870
 AliThreePionRadii.cxx:2871
 AliThreePionRadii.cxx:2872
 AliThreePionRadii.cxx:2873
 AliThreePionRadii.cxx:2874
 AliThreePionRadii.cxx:2875
 AliThreePionRadii.cxx:2876
 AliThreePionRadii.cxx:2877
 AliThreePionRadii.cxx:2878
 AliThreePionRadii.cxx:2879
 AliThreePionRadii.cxx:2880
 AliThreePionRadii.cxx:2881
 AliThreePionRadii.cxx:2882
 AliThreePionRadii.cxx:2883
 AliThreePionRadii.cxx:2884
 AliThreePionRadii.cxx:2885
 AliThreePionRadii.cxx:2886
 AliThreePionRadii.cxx:2887
 AliThreePionRadii.cxx:2888
 AliThreePionRadii.cxx:2889
 AliThreePionRadii.cxx:2890
 AliThreePionRadii.cxx:2891
 AliThreePionRadii.cxx:2892
 AliThreePionRadii.cxx:2893
 AliThreePionRadii.cxx:2894
 AliThreePionRadii.cxx:2895
 AliThreePionRadii.cxx:2896
 AliThreePionRadii.cxx:2897
 AliThreePionRadii.cxx:2898
 AliThreePionRadii.cxx:2899
 AliThreePionRadii.cxx:2900
 AliThreePionRadii.cxx:2901
 AliThreePionRadii.cxx:2902
 AliThreePionRadii.cxx:2903
 AliThreePionRadii.cxx:2904
 AliThreePionRadii.cxx:2905
 AliThreePionRadii.cxx:2906
 AliThreePionRadii.cxx:2907
 AliThreePionRadii.cxx:2908
 AliThreePionRadii.cxx:2909
 AliThreePionRadii.cxx:2910
 AliThreePionRadii.cxx:2911
 AliThreePionRadii.cxx:2912
 AliThreePionRadii.cxx:2913
 AliThreePionRadii.cxx:2914
 AliThreePionRadii.cxx:2915
 AliThreePionRadii.cxx:2916
 AliThreePionRadii.cxx:2917
 AliThreePionRadii.cxx:2918
 AliThreePionRadii.cxx:2919
 AliThreePionRadii.cxx:2920
 AliThreePionRadii.cxx:2921
 AliThreePionRadii.cxx:2922
 AliThreePionRadii.cxx:2923
 AliThreePionRadii.cxx:2924
 AliThreePionRadii.cxx:2925
 AliThreePionRadii.cxx:2926
 AliThreePionRadii.cxx:2927
 AliThreePionRadii.cxx:2928
 AliThreePionRadii.cxx:2929
 AliThreePionRadii.cxx:2930
 AliThreePionRadii.cxx:2931
 AliThreePionRadii.cxx:2932
 AliThreePionRadii.cxx:2933
 AliThreePionRadii.cxx:2934
 AliThreePionRadii.cxx:2935
 AliThreePionRadii.cxx:2936
 AliThreePionRadii.cxx:2937
 AliThreePionRadii.cxx:2938
 AliThreePionRadii.cxx:2939
 AliThreePionRadii.cxx:2940
 AliThreePionRadii.cxx:2941
 AliThreePionRadii.cxx:2942
 AliThreePionRadii.cxx:2943
 AliThreePionRadii.cxx:2944
 AliThreePionRadii.cxx:2945
 AliThreePionRadii.cxx:2946
 AliThreePionRadii.cxx:2947
 AliThreePionRadii.cxx:2948
 AliThreePionRadii.cxx:2949
 AliThreePionRadii.cxx:2950
 AliThreePionRadii.cxx:2951
 AliThreePionRadii.cxx:2952
 AliThreePionRadii.cxx:2953
 AliThreePionRadii.cxx:2954
 AliThreePionRadii.cxx:2955
 AliThreePionRadii.cxx:2956
 AliThreePionRadii.cxx:2957
 AliThreePionRadii.cxx:2958
 AliThreePionRadii.cxx:2959
 AliThreePionRadii.cxx:2960
 AliThreePionRadii.cxx:2961
 AliThreePionRadii.cxx:2962
 AliThreePionRadii.cxx:2963
 AliThreePionRadii.cxx:2964
 AliThreePionRadii.cxx:2965
 AliThreePionRadii.cxx:2966
 AliThreePionRadii.cxx:2967
 AliThreePionRadii.cxx:2968
 AliThreePionRadii.cxx:2969
 AliThreePionRadii.cxx:2970
 AliThreePionRadii.cxx:2971
 AliThreePionRadii.cxx:2972
 AliThreePionRadii.cxx:2973
 AliThreePionRadii.cxx:2974
 AliThreePionRadii.cxx:2975
 AliThreePionRadii.cxx:2976
 AliThreePionRadii.cxx:2977
 AliThreePionRadii.cxx:2978
 AliThreePionRadii.cxx:2979
 AliThreePionRadii.cxx:2980
 AliThreePionRadii.cxx:2981
 AliThreePionRadii.cxx:2982
 AliThreePionRadii.cxx:2983
 AliThreePionRadii.cxx:2984
 AliThreePionRadii.cxx:2985
 AliThreePionRadii.cxx:2986
 AliThreePionRadii.cxx:2987
 AliThreePionRadii.cxx:2988
 AliThreePionRadii.cxx:2989
 AliThreePionRadii.cxx:2990
 AliThreePionRadii.cxx:2991
 AliThreePionRadii.cxx:2992
 AliThreePionRadii.cxx:2993
 AliThreePionRadii.cxx:2994
 AliThreePionRadii.cxx:2995
 AliThreePionRadii.cxx:2996
 AliThreePionRadii.cxx:2997
 AliThreePionRadii.cxx:2998
 AliThreePionRadii.cxx:2999
 AliThreePionRadii.cxx:3000
 AliThreePionRadii.cxx:3001
 AliThreePionRadii.cxx:3002
 AliThreePionRadii.cxx:3003
 AliThreePionRadii.cxx:3004
 AliThreePionRadii.cxx:3005
 AliThreePionRadii.cxx:3006
 AliThreePionRadii.cxx:3007
 AliThreePionRadii.cxx:3008
 AliThreePionRadii.cxx:3009
 AliThreePionRadii.cxx:3010
 AliThreePionRadii.cxx:3011
 AliThreePionRadii.cxx:3012
 AliThreePionRadii.cxx:3013
 AliThreePionRadii.cxx:3014
 AliThreePionRadii.cxx:3015
 AliThreePionRadii.cxx:3016
 AliThreePionRadii.cxx:3017
 AliThreePionRadii.cxx:3018
 AliThreePionRadii.cxx:3019
 AliThreePionRadii.cxx:3020
 AliThreePionRadii.cxx:3021
 AliThreePionRadii.cxx:3022
 AliThreePionRadii.cxx:3023
 AliThreePionRadii.cxx:3024
 AliThreePionRadii.cxx:3025
 AliThreePionRadii.cxx:3026
 AliThreePionRadii.cxx:3027
 AliThreePionRadii.cxx:3028
 AliThreePionRadii.cxx:3029
 AliThreePionRadii.cxx:3030
 AliThreePionRadii.cxx:3031
 AliThreePionRadii.cxx:3032
 AliThreePionRadii.cxx:3033
 AliThreePionRadii.cxx:3034
 AliThreePionRadii.cxx:3035
 AliThreePionRadii.cxx:3036
 AliThreePionRadii.cxx:3037
 AliThreePionRadii.cxx:3038
 AliThreePionRadii.cxx:3039
 AliThreePionRadii.cxx:3040
 AliThreePionRadii.cxx:3041
 AliThreePionRadii.cxx:3042
 AliThreePionRadii.cxx:3043
 AliThreePionRadii.cxx:3044
 AliThreePionRadii.cxx:3045
 AliThreePionRadii.cxx:3046
 AliThreePionRadii.cxx:3047
 AliThreePionRadii.cxx:3048
 AliThreePionRadii.cxx:3049
 AliThreePionRadii.cxx:3050
 AliThreePionRadii.cxx:3051
 AliThreePionRadii.cxx:3052
 AliThreePionRadii.cxx:3053
 AliThreePionRadii.cxx:3054
 AliThreePionRadii.cxx:3055
 AliThreePionRadii.cxx:3056
 AliThreePionRadii.cxx:3057
 AliThreePionRadii.cxx:3058
 AliThreePionRadii.cxx:3059
 AliThreePionRadii.cxx:3060
 AliThreePionRadii.cxx:3061
 AliThreePionRadii.cxx:3062
 AliThreePionRadii.cxx:3063
 AliThreePionRadii.cxx:3064
 AliThreePionRadii.cxx:3065
 AliThreePionRadii.cxx:3066
 AliThreePionRadii.cxx:3067
 AliThreePionRadii.cxx:3068
 AliThreePionRadii.cxx:3069
 AliThreePionRadii.cxx:3070
 AliThreePionRadii.cxx:3071
 AliThreePionRadii.cxx:3072
 AliThreePionRadii.cxx:3073
 AliThreePionRadii.cxx:3074
 AliThreePionRadii.cxx:3075
 AliThreePionRadii.cxx:3076
 AliThreePionRadii.cxx:3077
 AliThreePionRadii.cxx:3078
 AliThreePionRadii.cxx:3079
 AliThreePionRadii.cxx:3080
 AliThreePionRadii.cxx:3081
 AliThreePionRadii.cxx:3082
 AliThreePionRadii.cxx:3083
 AliThreePionRadii.cxx:3084
 AliThreePionRadii.cxx:3085
 AliThreePionRadii.cxx:3086
 AliThreePionRadii.cxx:3087
 AliThreePionRadii.cxx:3088
 AliThreePionRadii.cxx:3089
 AliThreePionRadii.cxx:3090
 AliThreePionRadii.cxx:3091
 AliThreePionRadii.cxx:3092
 AliThreePionRadii.cxx:3093
 AliThreePionRadii.cxx:3094
 AliThreePionRadii.cxx:3095
 AliThreePionRadii.cxx:3096
 AliThreePionRadii.cxx:3097
 AliThreePionRadii.cxx:3098
 AliThreePionRadii.cxx:3099
 AliThreePionRadii.cxx:3100
 AliThreePionRadii.cxx:3101
 AliThreePionRadii.cxx:3102
 AliThreePionRadii.cxx:3103
 AliThreePionRadii.cxx:3104
 AliThreePionRadii.cxx:3105
 AliThreePionRadii.cxx:3106
 AliThreePionRadii.cxx:3107
 AliThreePionRadii.cxx:3108
 AliThreePionRadii.cxx:3109
 AliThreePionRadii.cxx:3110
 AliThreePionRadii.cxx:3111
 AliThreePionRadii.cxx:3112
 AliThreePionRadii.cxx:3113
 AliThreePionRadii.cxx:3114
 AliThreePionRadii.cxx:3115
 AliThreePionRadii.cxx:3116
 AliThreePionRadii.cxx:3117
 AliThreePionRadii.cxx:3118
 AliThreePionRadii.cxx:3119
 AliThreePionRadii.cxx:3120
 AliThreePionRadii.cxx:3121
 AliThreePionRadii.cxx:3122
 AliThreePionRadii.cxx:3123
 AliThreePionRadii.cxx:3124
 AliThreePionRadii.cxx:3125
 AliThreePionRadii.cxx:3126
 AliThreePionRadii.cxx:3127
 AliThreePionRadii.cxx:3128
 AliThreePionRadii.cxx:3129
 AliThreePionRadii.cxx:3130
 AliThreePionRadii.cxx:3131
 AliThreePionRadii.cxx:3132
 AliThreePionRadii.cxx:3133
 AliThreePionRadii.cxx:3134
 AliThreePionRadii.cxx:3135
 AliThreePionRadii.cxx:3136
 AliThreePionRadii.cxx:3137
 AliThreePionRadii.cxx:3138
 AliThreePionRadii.cxx:3139
 AliThreePionRadii.cxx:3140
 AliThreePionRadii.cxx:3141
 AliThreePionRadii.cxx:3142
 AliThreePionRadii.cxx:3143
 AliThreePionRadii.cxx:3144
 AliThreePionRadii.cxx:3145
 AliThreePionRadii.cxx:3146
 AliThreePionRadii.cxx:3147
 AliThreePionRadii.cxx:3148
 AliThreePionRadii.cxx:3149
 AliThreePionRadii.cxx:3150
 AliThreePionRadii.cxx:3151
 AliThreePionRadii.cxx:3152
 AliThreePionRadii.cxx:3153
 AliThreePionRadii.cxx:3154
 AliThreePionRadii.cxx:3155
 AliThreePionRadii.cxx:3156
 AliThreePionRadii.cxx:3157
 AliThreePionRadii.cxx:3158
 AliThreePionRadii.cxx:3159
 AliThreePionRadii.cxx:3160
 AliThreePionRadii.cxx:3161
 AliThreePionRadii.cxx:3162
 AliThreePionRadii.cxx:3163
 AliThreePionRadii.cxx:3164
 AliThreePionRadii.cxx:3165
 AliThreePionRadii.cxx:3166
 AliThreePionRadii.cxx:3167
 AliThreePionRadii.cxx:3168
 AliThreePionRadii.cxx:3169
 AliThreePionRadii.cxx:3170
 AliThreePionRadii.cxx:3171
 AliThreePionRadii.cxx:3172
 AliThreePionRadii.cxx:3173
 AliThreePionRadii.cxx:3174
 AliThreePionRadii.cxx:3175
 AliThreePionRadii.cxx:3176
 AliThreePionRadii.cxx:3177
 AliThreePionRadii.cxx:3178
 AliThreePionRadii.cxx:3179
 AliThreePionRadii.cxx:3180
 AliThreePionRadii.cxx:3181
 AliThreePionRadii.cxx:3182
 AliThreePionRadii.cxx:3183
 AliThreePionRadii.cxx:3184
 AliThreePionRadii.cxx:3185
 AliThreePionRadii.cxx:3186
 AliThreePionRadii.cxx:3187
 AliThreePionRadii.cxx:3188
 AliThreePionRadii.cxx:3189
 AliThreePionRadii.cxx:3190
 AliThreePionRadii.cxx:3191
 AliThreePionRadii.cxx:3192
 AliThreePionRadii.cxx:3193
 AliThreePionRadii.cxx:3194
 AliThreePionRadii.cxx:3195
 AliThreePionRadii.cxx:3196
 AliThreePionRadii.cxx:3197
 AliThreePionRadii.cxx:3198
 AliThreePionRadii.cxx:3199
 AliThreePionRadii.cxx:3200
 AliThreePionRadii.cxx:3201
 AliThreePionRadii.cxx:3202
 AliThreePionRadii.cxx:3203
 AliThreePionRadii.cxx:3204
 AliThreePionRadii.cxx:3205
 AliThreePionRadii.cxx:3206
 AliThreePionRadii.cxx:3207
 AliThreePionRadii.cxx:3208
 AliThreePionRadii.cxx:3209
 AliThreePionRadii.cxx:3210
 AliThreePionRadii.cxx:3211
 AliThreePionRadii.cxx:3212
 AliThreePionRadii.cxx:3213
 AliThreePionRadii.cxx:3214
 AliThreePionRadii.cxx:3215
 AliThreePionRadii.cxx:3216
 AliThreePionRadii.cxx:3217
 AliThreePionRadii.cxx:3218
 AliThreePionRadii.cxx:3219
 AliThreePionRadii.cxx:3220
 AliThreePionRadii.cxx:3221
 AliThreePionRadii.cxx:3222
 AliThreePionRadii.cxx:3223
 AliThreePionRadii.cxx:3224
 AliThreePionRadii.cxx:3225
 AliThreePionRadii.cxx:3226
 AliThreePionRadii.cxx:3227
 AliThreePionRadii.cxx:3228
 AliThreePionRadii.cxx:3229
 AliThreePionRadii.cxx:3230
 AliThreePionRadii.cxx:3231
 AliThreePionRadii.cxx:3232
 AliThreePionRadii.cxx:3233
 AliThreePionRadii.cxx:3234
 AliThreePionRadii.cxx:3235
 AliThreePionRadii.cxx:3236
 AliThreePionRadii.cxx:3237
 AliThreePionRadii.cxx:3238
 AliThreePionRadii.cxx:3239
 AliThreePionRadii.cxx:3240
 AliThreePionRadii.cxx:3241
 AliThreePionRadii.cxx:3242
 AliThreePionRadii.cxx:3243
 AliThreePionRadii.cxx:3244
 AliThreePionRadii.cxx:3245
 AliThreePionRadii.cxx:3246
 AliThreePionRadii.cxx:3247
 AliThreePionRadii.cxx:3248
 AliThreePionRadii.cxx:3249
 AliThreePionRadii.cxx:3250
 AliThreePionRadii.cxx:3251
 AliThreePionRadii.cxx:3252
 AliThreePionRadii.cxx:3253
 AliThreePionRadii.cxx:3254
 AliThreePionRadii.cxx:3255
 AliThreePionRadii.cxx:3256
 AliThreePionRadii.cxx:3257
 AliThreePionRadii.cxx:3258
 AliThreePionRadii.cxx:3259
 AliThreePionRadii.cxx:3260
 AliThreePionRadii.cxx:3261
 AliThreePionRadii.cxx:3262
 AliThreePionRadii.cxx:3263
 AliThreePionRadii.cxx:3264
 AliThreePionRadii.cxx:3265
 AliThreePionRadii.cxx:3266
 AliThreePionRadii.cxx:3267
 AliThreePionRadii.cxx:3268
 AliThreePionRadii.cxx:3269
 AliThreePionRadii.cxx:3270
 AliThreePionRadii.cxx:3271
 AliThreePionRadii.cxx:3272
 AliThreePionRadii.cxx:3273
 AliThreePionRadii.cxx:3274
 AliThreePionRadii.cxx:3275
 AliThreePionRadii.cxx:3276
 AliThreePionRadii.cxx:3277
 AliThreePionRadii.cxx:3278
 AliThreePionRadii.cxx:3279
 AliThreePionRadii.cxx:3280
 AliThreePionRadii.cxx:3281
 AliThreePionRadii.cxx:3282
 AliThreePionRadii.cxx:3283
 AliThreePionRadii.cxx:3284
 AliThreePionRadii.cxx:3285
 AliThreePionRadii.cxx:3286
 AliThreePionRadii.cxx:3287
 AliThreePionRadii.cxx:3288
 AliThreePionRadii.cxx:3289
 AliThreePionRadii.cxx:3290
 AliThreePionRadii.cxx:3291
 AliThreePionRadii.cxx:3292
 AliThreePionRadii.cxx:3293
 AliThreePionRadii.cxx:3294
 AliThreePionRadii.cxx:3295
 AliThreePionRadii.cxx:3296
 AliThreePionRadii.cxx:3297
 AliThreePionRadii.cxx:3298
 AliThreePionRadii.cxx:3299
 AliThreePionRadii.cxx:3300
 AliThreePionRadii.cxx:3301
 AliThreePionRadii.cxx:3302
 AliThreePionRadii.cxx:3303
 AliThreePionRadii.cxx:3304
 AliThreePionRadii.cxx:3305
 AliThreePionRadii.cxx:3306
 AliThreePionRadii.cxx:3307
 AliThreePionRadii.cxx:3308
 AliThreePionRadii.cxx:3309
 AliThreePionRadii.cxx:3310
 AliThreePionRadii.cxx:3311
 AliThreePionRadii.cxx:3312
 AliThreePionRadii.cxx:3313
 AliThreePionRadii.cxx:3314
 AliThreePionRadii.cxx:3315
 AliThreePionRadii.cxx:3316
 AliThreePionRadii.cxx:3317
 AliThreePionRadii.cxx:3318
 AliThreePionRadii.cxx:3319
 AliThreePionRadii.cxx:3320
 AliThreePionRadii.cxx:3321
 AliThreePionRadii.cxx:3322
 AliThreePionRadii.cxx:3323
 AliThreePionRadii.cxx:3324
 AliThreePionRadii.cxx:3325
 AliThreePionRadii.cxx:3326
 AliThreePionRadii.cxx:3327
 AliThreePionRadii.cxx:3328
 AliThreePionRadii.cxx:3329
 AliThreePionRadii.cxx:3330
 AliThreePionRadii.cxx:3331
 AliThreePionRadii.cxx:3332
 AliThreePionRadii.cxx:3333
 AliThreePionRadii.cxx:3334
 AliThreePionRadii.cxx:3335
 AliThreePionRadii.cxx:3336
 AliThreePionRadii.cxx:3337
 AliThreePionRadii.cxx:3338
 AliThreePionRadii.cxx:3339
 AliThreePionRadii.cxx:3340
 AliThreePionRadii.cxx:3341
 AliThreePionRadii.cxx:3342
 AliThreePionRadii.cxx:3343
 AliThreePionRadii.cxx:3344
 AliThreePionRadii.cxx:3345
 AliThreePionRadii.cxx:3346
 AliThreePionRadii.cxx:3347
 AliThreePionRadii.cxx:3348
 AliThreePionRadii.cxx:3349
 AliThreePionRadii.cxx:3350
 AliThreePionRadii.cxx:3351
 AliThreePionRadii.cxx:3352
 AliThreePionRadii.cxx:3353
 AliThreePionRadii.cxx:3354
 AliThreePionRadii.cxx:3355
 AliThreePionRadii.cxx:3356
 AliThreePionRadii.cxx:3357
 AliThreePionRadii.cxx:3358
 AliThreePionRadii.cxx:3359
 AliThreePionRadii.cxx:3360
 AliThreePionRadii.cxx:3361
 AliThreePionRadii.cxx:3362
 AliThreePionRadii.cxx:3363
 AliThreePionRadii.cxx:3364
 AliThreePionRadii.cxx:3365
 AliThreePionRadii.cxx:3366
 AliThreePionRadii.cxx:3367
 AliThreePionRadii.cxx:3368
 AliThreePionRadii.cxx:3369
 AliThreePionRadii.cxx:3370
 AliThreePionRadii.cxx:3371
 AliThreePionRadii.cxx:3372
 AliThreePionRadii.cxx:3373
 AliThreePionRadii.cxx:3374
 AliThreePionRadii.cxx:3375
 AliThreePionRadii.cxx:3376
 AliThreePionRadii.cxx:3377
 AliThreePionRadii.cxx:3378
 AliThreePionRadii.cxx:3379
 AliThreePionRadii.cxx:3380
 AliThreePionRadii.cxx:3381
 AliThreePionRadii.cxx:3382
 AliThreePionRadii.cxx:3383
 AliThreePionRadii.cxx:3384
 AliThreePionRadii.cxx:3385
 AliThreePionRadii.cxx:3386
 AliThreePionRadii.cxx:3387
 AliThreePionRadii.cxx:3388
 AliThreePionRadii.cxx:3389
 AliThreePionRadii.cxx:3390
 AliThreePionRadii.cxx:3391
 AliThreePionRadii.cxx:3392
 AliThreePionRadii.cxx:3393
 AliThreePionRadii.cxx:3394
 AliThreePionRadii.cxx:3395
 AliThreePionRadii.cxx:3396
 AliThreePionRadii.cxx:3397
 AliThreePionRadii.cxx:3398
 AliThreePionRadii.cxx:3399
 AliThreePionRadii.cxx:3400
 AliThreePionRadii.cxx:3401
 AliThreePionRadii.cxx:3402
 AliThreePionRadii.cxx:3403
 AliThreePionRadii.cxx:3404
 AliThreePionRadii.cxx:3405
 AliThreePionRadii.cxx:3406
 AliThreePionRadii.cxx:3407
 AliThreePionRadii.cxx:3408
 AliThreePionRadii.cxx:3409
 AliThreePionRadii.cxx:3410
 AliThreePionRadii.cxx:3411
 AliThreePionRadii.cxx:3412
 AliThreePionRadii.cxx:3413
 AliThreePionRadii.cxx:3414
 AliThreePionRadii.cxx:3415
 AliThreePionRadii.cxx:3416
 AliThreePionRadii.cxx:3417
 AliThreePionRadii.cxx:3418
 AliThreePionRadii.cxx:3419
 AliThreePionRadii.cxx:3420
 AliThreePionRadii.cxx:3421
 AliThreePionRadii.cxx:3422
 AliThreePionRadii.cxx:3423
 AliThreePionRadii.cxx:3424
 AliThreePionRadii.cxx:3425
 AliThreePionRadii.cxx:3426
 AliThreePionRadii.cxx:3427
 AliThreePionRadii.cxx:3428
 AliThreePionRadii.cxx:3429
 AliThreePionRadii.cxx:3430
 AliThreePionRadii.cxx:3431
 AliThreePionRadii.cxx:3432
 AliThreePionRadii.cxx:3433
 AliThreePionRadii.cxx:3434
 AliThreePionRadii.cxx:3435
 AliThreePionRadii.cxx:3436
 AliThreePionRadii.cxx:3437
 AliThreePionRadii.cxx:3438
 AliThreePionRadii.cxx:3439
 AliThreePionRadii.cxx:3440
 AliThreePionRadii.cxx:3441
 AliThreePionRadii.cxx:3442
 AliThreePionRadii.cxx:3443
 AliThreePionRadii.cxx:3444
 AliThreePionRadii.cxx:3445
 AliThreePionRadii.cxx:3446
 AliThreePionRadii.cxx:3447
 AliThreePionRadii.cxx:3448
 AliThreePionRadii.cxx:3449
 AliThreePionRadii.cxx:3450
 AliThreePionRadii.cxx:3451
 AliThreePionRadii.cxx:3452
 AliThreePionRadii.cxx:3453
 AliThreePionRadii.cxx:3454
 AliThreePionRadii.cxx:3455
 AliThreePionRadii.cxx:3456
 AliThreePionRadii.cxx:3457
 AliThreePionRadii.cxx:3458
 AliThreePionRadii.cxx:3459
 AliThreePionRadii.cxx:3460
 AliThreePionRadii.cxx:3461
 AliThreePionRadii.cxx:3462
 AliThreePionRadii.cxx:3463
 AliThreePionRadii.cxx:3464
 AliThreePionRadii.cxx:3465
 AliThreePionRadii.cxx:3466
 AliThreePionRadii.cxx:3467
 AliThreePionRadii.cxx:3468
 AliThreePionRadii.cxx:3469
 AliThreePionRadii.cxx:3470
 AliThreePionRadii.cxx:3471
 AliThreePionRadii.cxx:3472
 AliThreePionRadii.cxx:3473
 AliThreePionRadii.cxx:3474
 AliThreePionRadii.cxx:3475
 AliThreePionRadii.cxx:3476
 AliThreePionRadii.cxx:3477
 AliThreePionRadii.cxx:3478
 AliThreePionRadii.cxx:3479
 AliThreePionRadii.cxx:3480
 AliThreePionRadii.cxx:3481
 AliThreePionRadii.cxx:3482
 AliThreePionRadii.cxx:3483
 AliThreePionRadii.cxx:3484
 AliThreePionRadii.cxx:3485
 AliThreePionRadii.cxx:3486
 AliThreePionRadii.cxx:3487
 AliThreePionRadii.cxx:3488
 AliThreePionRadii.cxx:3489
 AliThreePionRadii.cxx:3490
 AliThreePionRadii.cxx:3491
 AliThreePionRadii.cxx:3492
 AliThreePionRadii.cxx:3493
 AliThreePionRadii.cxx:3494
 AliThreePionRadii.cxx:3495
 AliThreePionRadii.cxx:3496
 AliThreePionRadii.cxx:3497
 AliThreePionRadii.cxx:3498
 AliThreePionRadii.cxx:3499
 AliThreePionRadii.cxx:3500
 AliThreePionRadii.cxx:3501
 AliThreePionRadii.cxx:3502
 AliThreePionRadii.cxx:3503
 AliThreePionRadii.cxx:3504
 AliThreePionRadii.cxx:3505
 AliThreePionRadii.cxx:3506
 AliThreePionRadii.cxx:3507
 AliThreePionRadii.cxx:3508
 AliThreePionRadii.cxx:3509
 AliThreePionRadii.cxx:3510
 AliThreePionRadii.cxx:3511
 AliThreePionRadii.cxx:3512
 AliThreePionRadii.cxx:3513
 AliThreePionRadii.cxx:3514
 AliThreePionRadii.cxx:3515
 AliThreePionRadii.cxx:3516
 AliThreePionRadii.cxx:3517
 AliThreePionRadii.cxx:3518
 AliThreePionRadii.cxx:3519
 AliThreePionRadii.cxx:3520
 AliThreePionRadii.cxx:3521
 AliThreePionRadii.cxx:3522
 AliThreePionRadii.cxx:3523
 AliThreePionRadii.cxx:3524
 AliThreePionRadii.cxx:3525
 AliThreePionRadii.cxx:3526
 AliThreePionRadii.cxx:3527
 AliThreePionRadii.cxx:3528
 AliThreePionRadii.cxx:3529
 AliThreePionRadii.cxx:3530
 AliThreePionRadii.cxx:3531
 AliThreePionRadii.cxx:3532
 AliThreePionRadii.cxx:3533
 AliThreePionRadii.cxx:3534
 AliThreePionRadii.cxx:3535
 AliThreePionRadii.cxx:3536
 AliThreePionRadii.cxx:3537
 AliThreePionRadii.cxx:3538
 AliThreePionRadii.cxx:3539
 AliThreePionRadii.cxx:3540
 AliThreePionRadii.cxx:3541
 AliThreePionRadii.cxx:3542
 AliThreePionRadii.cxx:3543
 AliThreePionRadii.cxx:3544
 AliThreePionRadii.cxx:3545
 AliThreePionRadii.cxx:3546
 AliThreePionRadii.cxx:3547
 AliThreePionRadii.cxx:3548
 AliThreePionRadii.cxx:3549
 AliThreePionRadii.cxx:3550
 AliThreePionRadii.cxx:3551
 AliThreePionRadii.cxx:3552
 AliThreePionRadii.cxx:3553
 AliThreePionRadii.cxx:3554
 AliThreePionRadii.cxx:3555
 AliThreePionRadii.cxx:3556
 AliThreePionRadii.cxx:3557
 AliThreePionRadii.cxx:3558
 AliThreePionRadii.cxx:3559
 AliThreePionRadii.cxx:3560
 AliThreePionRadii.cxx:3561
 AliThreePionRadii.cxx:3562
 AliThreePionRadii.cxx:3563
 AliThreePionRadii.cxx:3564
 AliThreePionRadii.cxx:3565
 AliThreePionRadii.cxx:3566
 AliThreePionRadii.cxx:3567
 AliThreePionRadii.cxx:3568
 AliThreePionRadii.cxx:3569
 AliThreePionRadii.cxx:3570
 AliThreePionRadii.cxx:3571
 AliThreePionRadii.cxx:3572
 AliThreePionRadii.cxx:3573
 AliThreePionRadii.cxx:3574
 AliThreePionRadii.cxx:3575
 AliThreePionRadii.cxx:3576
 AliThreePionRadii.cxx:3577
 AliThreePionRadii.cxx:3578
 AliThreePionRadii.cxx:3579
 AliThreePionRadii.cxx:3580
 AliThreePionRadii.cxx:3581
 AliThreePionRadii.cxx:3582
 AliThreePionRadii.cxx:3583
 AliThreePionRadii.cxx:3584
 AliThreePionRadii.cxx:3585
 AliThreePionRadii.cxx:3586
 AliThreePionRadii.cxx:3587
 AliThreePionRadii.cxx:3588
 AliThreePionRadii.cxx:3589
 AliThreePionRadii.cxx:3590
 AliThreePionRadii.cxx:3591
 AliThreePionRadii.cxx:3592
 AliThreePionRadii.cxx:3593
 AliThreePionRadii.cxx:3594
 AliThreePionRadii.cxx:3595
 AliThreePionRadii.cxx:3596
 AliThreePionRadii.cxx:3597
 AliThreePionRadii.cxx:3598
 AliThreePionRadii.cxx:3599
 AliThreePionRadii.cxx:3600
 AliThreePionRadii.cxx:3601
 AliThreePionRadii.cxx:3602
 AliThreePionRadii.cxx:3603
 AliThreePionRadii.cxx:3604
 AliThreePionRadii.cxx:3605
 AliThreePionRadii.cxx:3606
 AliThreePionRadii.cxx:3607
 AliThreePionRadii.cxx:3608
 AliThreePionRadii.cxx:3609
 AliThreePionRadii.cxx:3610
 AliThreePionRadii.cxx:3611
 AliThreePionRadii.cxx:3612
 AliThreePionRadii.cxx:3613
 AliThreePionRadii.cxx:3614
 AliThreePionRadii.cxx:3615
 AliThreePionRadii.cxx:3616
 AliThreePionRadii.cxx:3617
 AliThreePionRadii.cxx:3618
 AliThreePionRadii.cxx:3619
 AliThreePionRadii.cxx:3620
 AliThreePionRadii.cxx:3621
 AliThreePionRadii.cxx:3622
 AliThreePionRadii.cxx:3623
 AliThreePionRadii.cxx:3624
 AliThreePionRadii.cxx:3625
 AliThreePionRadii.cxx:3626
 AliThreePionRadii.cxx:3627
 AliThreePionRadii.cxx:3628
 AliThreePionRadii.cxx:3629
 AliThreePionRadii.cxx:3630
 AliThreePionRadii.cxx:3631
 AliThreePionRadii.cxx:3632
 AliThreePionRadii.cxx:3633
 AliThreePionRadii.cxx:3634
 AliThreePionRadii.cxx:3635
 AliThreePionRadii.cxx:3636
 AliThreePionRadii.cxx:3637
 AliThreePionRadii.cxx:3638
 AliThreePionRadii.cxx:3639
 AliThreePionRadii.cxx:3640
 AliThreePionRadii.cxx:3641
 AliThreePionRadii.cxx:3642
 AliThreePionRadii.cxx:3643
 AliThreePionRadii.cxx:3644