#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)
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()
{
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;
}
}
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;
}
}
}
}
}
}
}
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()
{
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;
}
}
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;
}
}
}
}
}
}
}
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),
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()
{
for(Int_t i=0; i<10; i++){
fFSI2SS[i]=obj.fFSI2SS[i];
fFSI2OS[i]=obj.fFSI2OS[i];
}
}
AliThreePionRadii &AliThreePionRadii::operator=(const AliThreePionRadii &obj)
{
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()
{
if(fAOD) delete fAOD;
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;
}
}
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;
}
}
}
}
}
}
}
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;
fTPCTOFboundry = 0.6;
fTOFboundry = 2.1;
fShareQuality = .5;
fShareFraction = .05;
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) {
fMultLimit=kMultLimitPbPb;
fMbins=fCentBins;
fQcut[0]=0.1;
fQcut[1]=0.1;
fQcut[2]=0.6;
fNormQcutLow[0] = 0.15;
fNormQcutHigh[0] = 0.175;
fNormQcutLow[1] = 1.34;
fNormQcutHigh[1] = 1.4;
fNormQcutLow[2] = 1.1;
fNormQcutHigh[2] = 1.4;
fQlimitC2 = 2.0;
fQbinsC2 = 400;
fQupperBound = fQcut[0];
fQbins = kQbins;
fDampStart = 0.5;
fDampStep = 0.02;
}else if(fPbPbcase && fCentBinLowLimit >= 6) {
fMultLimit=kMultLimitPbPb;
fMbins=fCentBins;
fQcut[0]=0.2;
fQcut[1]=0.2;
fQcut[2]=1.2;
fNormQcutLow[0] = 0.3;
fNormQcutHigh[0] = 0.35;
fNormQcutLow[1] = 1.34;
fNormQcutHigh[1] = 1.4;
fNormQcutLow[2] = 1.1;
fNormQcutHigh[2] = 1.4;
fQlimitC2 = 2.0;
fQbinsC2 = 400;
fQupperBound = fQcut[0];
fQbins = 2*kQbins;
fDampStart = 0.5;
fDampStep = 0.02;
}else {
fMultLimit=kMultLimitPP;
fMbins=fCentBins;
fQcut[0]=2.0;
fQcut[1]=2.0;
fQcut[2]=2.0;
fNormQcutLow[0] = 1.0;
fNormQcutHigh[0] = 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;
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);
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);
for(Int_t i=0; i<fMultLimit; i++) fPairSplitCut[0][i] = new TArrayC(fMultLimit,fDefaultsCharMult);
for(Int_t i=0; i<fMultLimit; i++) fPairSplitCut[1][i] = new TArrayC(fMultLimit,fDefaultsCharMult);
for(Int_t i=0; i<fMultLimit; i++) fPairSplitCut[2][i] = new TArrayC(fMultLimit,fDefaultsCharMult);
for(Int_t i=0; i<fMultLimit; i++) fPairSplitCut[3][i] = new TArrayC(fMultLimit,fDefaultsCharMult);
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;
if(!fLEGO) {
SetFSICorrelations(fLEGO);
}
}
void AliThreePionRadii::UserCreateOutputObjects()
{
ParInit();
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);
TH2D *fNchTrueDistCMS = new TH2D("fNchTrueDistCMS","",fMbins,.5,fMbins+.5, 3000,0.5,3000.5);
TH2D *fNchTrueDistFullPt = new TH2D("fNchTrueDistFullPt","",fMbins,.5,fMbins+.5, 3000,0.5,3000.5);
TH2D *fNchTrueDistPubMethod = new TH2D("fNchTrueDistPubMethod","",fMbins,.5,fMbins+.5, 3000,0.5,3000.5);
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;}
}
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);
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);
}
}
}
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;
if(sc==0 || sc==6 || sc==9){
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 {}
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);
}
}
}
}
}
}
}
}
}
}
}
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 *)
{
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;}
if(fPbPbcase){
if(fAOD->GetRunNumber() >= 136851 && fAOD->GetRunNumber() <= 139517){
Bool_t isSelected1 = (((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected() & AliVEvent::kMB);
if(!isSelected1 && !fMCcase) {return;}
}
if(fAOD->GetRunNumber() >= 167693 && fAOD->GetRunNumber() <= 170593){
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{
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;
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;
}
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;
if(!mcParticle->IsPhysicalPrimary()) continue;
if(fabs(mcParticle->Eta())<=0.5) mcNchPubMethod++;
if(fabs(mcParticle->Eta())<=0.8) mcNchFullPt++;
if(mcParticle->Pt() < 0.16 || mcParticle->Pt() > 1.0) continue;
if(mcParticle->P() < 1.0) {
if(fabs(mcParticle->Eta())<=0.8) {
mcNch++;
if(abs(mcParticle->GetPdgCode())==211) mcNpion++;
}
}
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++;
}
}
}
}
}
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;
Int_t trackletMult = 0;
if(fAODcase){
if(fPbPbcase){
centrality = fAOD->GetCentrality();
centralityPercentile = centrality->GetCentralityPercentile("V0M");
if(centralityPercentile == 0) { return;}
cout<<"Centrality % = "<<centralityPercentile<<endl;
}else{
}
((TH1F*)fOutputList->FindObject("fMultDist0"))->Fill(fAOD->GetNumberOfTracks());
AliAnalysisUtils *AnaUtil=new AliAnalysisUtils();
if(!fPbPbcase) AnaUtil->SetUseMVPlpSelection(kTRUE);
else AnaUtil->SetUseMVPlpSelection(kFALSE);
Bool_t pileUpCase=AnaUtil->IsPileUpEvent(fAOD);
if(pileUpCase) return;
((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) { return;}
((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;
FBTracks++;
}
((TH1F*)fOutputList->FindObject("fMultDist2"))->Fill(FBTracks);
if(primaryVertexAOD->GetNContributors() < 1) { 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++;
}
Int_t randomIndex[fAOD->GetNumberOfTracks()];
for (Int_t i = 0; i < fAOD->GetNumberOfTracks(); i++) randomIndex[i]=i;
Shuffle(randomIndex,0,fAOD->GetNumberOfTracks()-1);
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;
if(aodtrack->GetTPCNcls() < 70) continue;
if(fFilterBit != 7){
Bool_t goodTrackOtherFB = kFALSE;
if(fMCcase && fAOD->GetRunNumber()<=126437) goodTrackOtherFB=kTRUE;
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;
if(fTempStruct[myTracks].fPt > 0.9999) continue;
if(fTempStruct[myTracks].fP[2] > 0.9999) continue;
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;
Float_t signalTPC=0, signalTOF=0;
Double_t integratedTimesTOF[10]={0};
Bool_t 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){
fTempStruct[myTracks].fTOFhit = kTRUE;
signalTOF = aodtrack->GetTOFsignal();
aodtrack->GetIntegratedTimes(integratedTimesTOF);
}else fTempStruct[myTracks].fTOFhit = kFALSE;
}else {
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;
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){
fTempStruct[myTracks].fTOFhit = kTRUE;
signalTOF = aodTrack2->GetTOFsignal();
aodTrack2->GetIntegratedTimes(integratedTimesTOF);
}else fTempStruct[myTracks].fTOFhit = kFALSE;
}
}
((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]);
}
if(fTempStruct[myTracks].fTOFhit && fTempStruct[myTracks].fMom > fTPCTOFboundry){
if(fabs(nSigmaTOF[0])<fSigmaCutTOF) fTempStruct[myTracks].fElectron = kTRUE;
if(fabs(nSigmaTOF[2])<fSigmaCutTOF) fTempStruct[myTracks].fPion = kTRUE;
if(fabs(nSigmaTOF[3])<fSigmaCutTOF) fTempStruct[myTracks].fKaon = kTRUE;
if(fabs(nSigmaTOF[4])<fSigmaCutTOF) fTempStruct[myTracks].fProton = kTRUE;
}else {
if(fabs(nSigmaTPC[0])<fSigmaCutTPC) fTempStruct[myTracks].fElectron = kTRUE;
if(fabs(nSigmaTPC[2])<fSigmaCutTPC) fTempStruct[myTracks].fPion = kTRUE;
if(fabs(nSigmaTPC[3])<fSigmaCutTPC) fTempStruct[myTracks].fKaon = kTRUE;
if(fabs(nSigmaTPC[4])<fSigmaCutTPC) fTempStruct[myTracks].fProton = kTRUE;
}
if(fTempStruct[myTracks].fElectron && fTempStruct[myTracks].fMom < 0.45) continue;
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;
if(!fTempStruct[myTracks].fPion) continue;
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) {
fTempStruct[myTracks].fEaccepted = sqrt(pow(fTempStruct[myTracks].fMom,2) + pow(fTrueMassPi,2));
fTempStruct[myTracks].fKey = 1;
}else if(fTempStruct[myTracks].fKaon){
fTempStruct[myTracks].fEaccepted = sqrt(pow(fTempStruct[myTracks].fMom,2) + pow(fTrueMassK,2));;
fTempStruct[myTracks].fKey = 10;
}else{
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){
AliAODMCParticle *tempMCTrack=(AliAODMCParticle*)mcArray->At(abs(aodtrack->GetLabel()));
if(abs(tempMCTrack->GetPdgCode())==13 && tempMCTrack->GetMother()>0){
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 {
cout<<"ESDs not supported currently"<<endl;
return;
}
if(fMCcase && fGeneratorOnly){
myTracks=0; pionCount=0; kaonCount=0; protonCount=0;
for(Int_t mctrackN=0; mctrackN<mcArray->GetEntriesFast(); mctrackN++){
if(myTracks >= fMultLimit) {cout<<"More tracks than Track Limit"<<endl; return;}
if(myTracks >= 1300) continue;
AliAODMCParticle *mcParticle = (AliAODMCParticle*)mcArray->At(mctrackN);
if(!mcParticle) continue;
if(fabs(mcParticle->Eta())>0.8) continue;
if(mcParticle->Charge()!=-3 && mcParticle->Charge()!=+3) continue;
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;
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);
}
if(myTracks < 3) { return;}
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;
else if(fMbin==1) fFSIindex = 1;
else if(fMbin<=3) fFSIindex = 2;
else if(fMbin<=5) fFSIindex = 3;
else if(fMbin<=7) fFSIindex = 4;
else if(fMbin<=9) fFSIindex = 5;
else if(fMbin<=12) fFSIindex = 6;
else if(fMbin<=15) fFSIindex = 7;
else if(fMbin<=18) fFSIindex = 8;
else fFSIindex = 8;
}else fFSIindex = 9;
if(fMCcase){
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);
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);
((TH2D*)fOutputList->FindObject("fNchTrueDistCMS"))->Fill(fMbin+1., mcNchCMS);
((TH2D*)fOutputList->FindObject("fNchTrueDistFullPt"))->Fill(fMbin+1., mcNchFullPt);
((TH2D*)fOutputList->FindObject("fNchTrueDistPubMethod"))->Fill(fMbin+1., mcNchPubMethod);
((TProfile*)fOutputList->FindObject("fAvgNchTrueDistvsPubMethodBin"))->Fill(mcNchPubMethod, mcNch);
((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);
}
if(fMbin < fCentBinLowLimit || fMbin > fCentBinHighLimit) {cout<<"Mult out of range"<<endl; return;}
fEDbin=0;
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];
for(Int_t i=0; i<fMultLimit; i++) {
fPairLocationSE[i]->Set(fMultLimit,fDefaultsInt);
fPairLocationME[i]->Set(fMultLimit,fDefaultsInt);
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;
fPairSplitCut[0][i]->Set(fMultLimit,fDefaultsCharMult);
fPairSplitCut[1][i]->Set(fMultLimit,fDefaultsCharMult);
fPairSplitCut[2][i]->Set(fMultLimit,fDefaultsCharMult);
fPairSplitCut[3][i]->Set(fMultLimit,fDefaultsCharMult);
}
for(Int_t i=0; i<2; i++){
for(Int_t j=0; j<2; j++){
for(Int_t k=0; k<2; k++){
for(Int_t l=0; l<10; l++){
for(Int_t m=0; m<5; m++){
tempNormFillCount[i][j][k][l][m] = 0;
}
}
}
}
}
for (Int_t i=0; i<myTracks; i++) {
Int_t en2=0;
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){
Float_t coeff = (5)*0.2*(0.18/1.2);
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;
for(Int_t imap = 0; imap < ncl1 && imap < ncl2; imap++) {
if ((fEvt)->fTracks[i].fClusterMap.TestBitNumber(imap) && (fEvt+en2)->fTracks[j].fClusterMap.TestBitNumber(imap)) {
if ((fEvt)->fTracks[i].fSharedMap.TestBitNumber(imap) && (fEvt+en2)->fTracks[j].fSharedMap.TestBitNumber(imap)) {
sumQ++;
sumCls+=2;
sumSha+=2;}
else {sumQ--; sumCls+=2;}
}
else if ((fEvt)->fTracks[i].fClusterMap.TestBitNumber(imap) || (fEvt+en2)->fTracks[j].fClusterMap.TestBitNumber(imap)) {
sumQ++;
sumCls++;}
}
if (sumCls>0) {
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);
}
((TH3F*)fOutputList->FindObject("fPairsDetaDPhiNum"))->Fill(rstep, (fEvt)->fTracks[i].fEta-(fEvt+en2)->fTracks[j].fEta, deltaphi);
}
}
if(qinv12 < fQLowerCut) continue;
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;
}
}
if(fMCcase && fillIndex2==0){
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));
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));
Charge1[bin1].Charge2[bin2].SC[fillIndex2].MB[fMbin].EDB[fEDbin].TwoPT[en2].fMCqinvQW->Fill(qinv12MC, qinv12MC*MCWeight(ch1,ch2,rForQW,10,qinv12MC));
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;
else if((abs(mcParticle1->GetPdgCode()) + abs(mcParticle2->GetPdgCode()))==24) SCNumber=2;
else if((abs(mcParticle1->GetPdgCode()) + abs(mcParticle2->GetPdgCode()))==222) SCNumber=3;
else if((abs(mcParticle1->GetPdgCode()) + abs(mcParticle2->GetPdgCode()))==332) SCNumber=4;
else if((abs(mcParticle1->GetPdgCode()) + abs(mcParticle2->GetPdgCode()))==2223) SCNumber=5;
else if((abs(mcParticle1->GetPdgCode()) + abs(mcParticle2->GetPdgCode()))==26) SCNumber=6;
else if((abs(mcParticle1->GetPdgCode()) + abs(mcParticle2->GetPdgCode()))==224) SCNumber=7;
else if((abs(mcParticle1->GetPdgCode()) + abs(mcParticle2->GetPdgCode()))==334) SCNumber=8;
else if((abs(mcParticle1->GetPdgCode()) + abs(mcParticle2->GetPdgCode()))==2225) SCNumber=9;
else if((abs(mcParticle1->GetPdgCode()) + abs(mcParticle2->GetPdgCode()))==422) SCNumber=10;
else if((abs(mcParticle1->GetPdgCode()) + abs(mcParticle2->GetPdgCode()))==532) SCNumber=11;
else if((abs(mcParticle1->GetPdgCode()) + abs(mcParticle2->GetPdgCode()))==2423) SCNumber=12;
else if((abs(mcParticle1->GetPdgCode()) + abs(mcParticle2->GetPdgCode()))==642) SCNumber=13;
else if((abs(mcParticle1->GetPdgCode()) + abs(mcParticle2->GetPdgCode()))==2533) SCNumber=14;
else if((abs(mcParticle1->GetPdgCode()) + abs(mcParticle2->GetPdgCode()))==4424) SCNumber=15;
else SCNumber=16;
Charge1[bin1].Charge2[bin2].SC[fillIndex2].MB[fMbin].EDB[fEDbin].TwoPT[en2].fPIDpurityNum->Fill(SCNumber, transK12, qinv12);
if(qinv12 < fQcut[0] && ((fEvt)->fTracks[i].fLabel != (fEvt+en2)->fTracks[j].fLabel)){
if(abs(mcParticle1->GetPdgCode())==13 || abs(mcParticle2->GetPdgCode())==13){
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);
}
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;
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){
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;
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);
}
}
}
}
}
}
}
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);
if(pairCountSE >= kPairLimit) {exitCode=kTRUE; continue;}
if(exitCode) continue;
if(qinv12 <= fQcut[qCutBin]) {
(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;
}
(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++;
}
if((qinv12 >= fNormQcutLow[normBin]) && (qinv12 < fNormQcutHigh[normBin])){
fNormPairs[en2][normPairCount[en2]].fCharge1 = (fEvt)->fTracks[i].fCharge;
fNormPairs[en2][normPairCount[en2]].fIndex1 = i;
fNormPairs[en2][normPairCount[en2]].fKey1 = (fEvt)->fTracks[i].fKey;
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;
for(Int_t pastpair=0; pastpair<numOtherPairs2[0][j]; pastpair++){
Int_t locationOtherPair = fOtherPairLocation2[0][j]->At(pastpair);
if(locationOtherPair < 0) continue;
Int_t indexOther1 = i;
Int_t indexOther2 = fNormPairs[0][ locationOtherPair ].fIndex1;
if( (fNormPairSwitch[0][indexOther1]->At(indexOther2)=='1') || (fNormPairSwitch[0][indexOther2]->At(indexOther1)=='1')) {
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]++;
}
}
fNormPairSwitch[en2][i]->AddAt('1',j);
fOtherPairLocation1[en2][i]->AddAt(normPairCount[en2], numOtherPairs1[en2][i]);
fOtherPairLocation2[en2][j]->AddAt(normPairCount[en2], numOtherPairs2[en2][j]);
numOtherPairs1[en2][i]++;
numOtherPairs2[en2][j]++;
normPairCount[en2]++;
if(normPairCount[en2] >= kNormPairLimit) exitCode=kTRUE;
}
}
}
for (Int_t i=0; i<myTracks; i++) {
Int_t en2=1;
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.;
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]) {
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;
}
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++){
if(jj==2) {if(!fill2) continue;}
if(jj==3) {if(!fill3) continue;}
if(jj==4) {if(!fill4) continue;}
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){
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 {
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);
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);
}
}
}
}
}
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){
Float_t coeff = (5)*0.2*(0.18/1.2);
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;
for(Int_t imap = 0; imap < ncl1 && imap < ncl2; imap++) {
if ((fEvt)->fTracks[i].fClusterMap.TestBitNumber(imap) && (fEvt+en2)->fTracks[j].fClusterMap.TestBitNumber(imap)) {
if ((fEvt)->fTracks[i].fSharedMap.TestBitNumber(imap) && (fEvt+en2)->fTracks[j].fSharedMap.TestBitNumber(imap)) {
sumQ++;
sumCls+=2;
sumSha+=2;}
else {sumQ--; sumCls+=2;}
}
else if ((fEvt)->fTracks[i].fClusterMap.TestBitNumber(imap) || (fEvt+en2)->fTracks[j].fClusterMap.TestBitNumber(imap)) {
sumQ++;
sumCls++;}
}
if (sumCls>0) {
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);
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);
}
((TH3F*)fOutputList->FindObject("fPairsDetaDPhiDen"))->Fill(rstep, (fEvt)->fTracks[i].fEta-(fEvt+en2)->fTracks[j].fEta, deltaphi);
}
}
}
if(qinv12 < fQLowerCut) continue;
if(ch1 == ch2 && !fGeneratorOnly){
if(!AcceptPair(&((fEvt)->fTracks[i]), &((fEvt+en2)->fTracks[j]))) {
fPairSplitCut[1][i]->AddAt('1',j);
continue;
}
}
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;}
if(exitCode) continue;
if(qinv12 <= fQcut[qCutBin]) {
(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;
}
(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])){
fNormPairs[en2][normPairCount[en2]].fCharge1 = (fEvt)->fTracks[i].fCharge;
fNormPairs[en2][normPairCount[en2]].fIndex1 = i;
fNormPairs[en2][normPairCount[en2]].fKey1 = (fEvt)->fTracks[i].fKey;
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;
for(Int_t pastpairP11=0; pastpairP11<numOtherPairs2[0][i]; pastpairP11++){
Int_t locationOtherPairP11 = fOtherPairLocation2[0][i]->At(pastpairP11);
if(locationOtherPairP11 < 0) continue;
Int_t indexOther1P11 = fNormPairs[0][ locationOtherPairP11 ].fIndex1;
if( (fNormPairSwitch[1][indexOther1P11]->At(j)=='0')) continue;
ch3 = Int_t((fNormPairs[0][ locationOtherPairP11 ].fCharge1 + 1)/2.);
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]++;
}
fNormPairSwitch[en2][i]->AddAt('1',j);
fOtherPairLocation1[en2][i]->AddAt(normPairCount[en2], numOtherPairs1[en2][i]);
fOtherPairLocation2[en2][j]->AddAt(normPairCount[en2], numOtherPairs2[en2][j]);
numOtherPairs1[en2][i]++;
numOtherPairs2[en2][j]++;
normPairCount[en2]++;
if(normPairCount[en2] >= kNormPairLimit) exitCode=kTRUE;
}
}
}
for (Int_t i=0; i<myTracks; i++) {
if(exitCode) break;
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;
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;
}
}
if((qinv12 >= fNormQcutLow[normBin]) && (qinv12 < fNormQcutHigh[normBin])){
fNormPairSwitch[en2][i]->AddAt('1',j);
}
}
}
Int_t en1=1;
for (Int_t i=0; i<(fEvt+en1)->fNtracks; i++) {
if(exitCode) break;
Int_t en2=2;
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;
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++){
Int_t locationOtherPairP12 = fOtherPairLocation2[1][index1P23]->At(pastpairP12);
if(locationOtherPairP12 < 0) continue;
Int_t index1P12 = fNormPairs[1][ locationOtherPairP12 ].fIndex1;
if( (fNormPairSwitch[2][index1P12]->At(index2P23)=='0')) continue;
ch3 = Int_t((fNormPairs[1][ locationOtherPairP12 ].fCharge1 + 1)/2.);
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]++;
}
}
}
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;
}else{
(fEvt)->fNpairsSE = pairCountSE;
(fEvt)->fNpairsME = pairCountME;
((TH1F*)fOutputList->FindObject("fEvents2"))->Fill(fMbin+1);
}
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){
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 {}
Charge1[c1].Charge2[c2].Charge3[c3].SC[sc].MB[fMbin].EDB[fEDbin].ThreePT[termN].fNorm3->Fill(0.,tempNormFillCount[c1][c2][c3][sc][termN]);
}
}
}
}
}
for(Int_t en1case=0; en1case<2; en1case++){
Int_t nump1=0;
if(en1case==0) nump1 = (fEvt)->fNpairsSE;
if(en1case==1) nump1 = (fEvt)->fNpairsME;
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));
}
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;}
if(en1case==0 && en2==1) {skipcase=kFALSE; config=2; part=1;}
if(en1case==1 && en2==0) {skipcase=kFALSE; config=2; part=2;}
if(en1case==1 && en2==2) {skipcase=kFALSE; config=3; part=3;}
if(skipcase) continue;
for(Int_t k=0; k<(fEvt+en2)->fNtracks; k++){
index3 = k;
if(config==1){
if( index1 == index3) continue;
if( index2 == index3) continue;
if(fPairSplitCut[0][index1]->At(index2)=='1') continue;
if(fTripletSkip1[fPairLocationSE[index1]->At(index2)]->At(index3)=='1') {
fTripletSkip1[fPairLocationSE[index1]->At(index2)]->AddAt('0',index3);
continue;
}
if(index1 < index3){
if(fPairLocationSE[index1]->At(index3) >= 0){
fTripletSkip1[fPairLocationSE[index1]->At(index3)]->AddAt('1',index2);
}
if(fPairSplitCut[0][index1]->At(index3)=='1') continue;
}else {
if(fPairLocationSE[index3]->At(index1) >= 0){
fTripletSkip1[fPairLocationSE[index3]->At(index1)]->AddAt('1',index2);
}
if(fPairSplitCut[0][index3]->At(index1)=='1') continue;
}
if(index2 < index3){
if(fPairLocationSE[index2]->At(index3) >= 0){
fTripletSkip1[fPairLocationSE[index2]->At(index3)]->AddAt('1',index1);
}
if(fPairSplitCut[0][index2]->At(index3)=='1') continue;
}else {
if(fPairLocationSE[index3]->At(index2) >= 0){
fTripletSkip1[fPairLocationSE[index3]->At(index2)]->AddAt('1',index1);
}
if(fPairSplitCut[0][index3]->At(index2)=='1') continue;
}
}
if(config==2 && part==1){
if(fPairLocationME[index1]->At(index3) >= 0){
fTripletSkip2[fPairLocationME[index1]->At(index3)]->AddAt('1',index2);
}
if(fPairLocationME[index2]->At(index3) >= 0){
fTripletSkip2[fPairLocationME[index2]->At(index3)]->AddAt('1',index1);
}
if(fPairSplitCut[0][index1]->At(index2)=='1') continue;
if(fPairSplitCut[1][index1]->At(index3)=='1') continue;
if(fPairSplitCut[1][index2]->At(index3)=='1') continue;
}
if(config==2 && part==2){
if( index1 == index3) continue;
if(fTripletSkip2[fPairLocationME[index1]->At(index2)]->At(index3)=='1') {
fTripletSkip2[fPairLocationME[index1]->At(index2)]->AddAt('0',index3);
continue;
}
if(fPairLocationME[index3]->At(index2) >= 0){
fTripletSkip2[fPairLocationME[index3]->At(index2)]->AddAt('1',index1);
}
if(fPairSplitCut[1][index1]->At(index2)=='1') continue;
if(index1 < index3) {if(fPairSplitCut[0][index1]->At(index3)=='1') continue;}
else {if(fPairSplitCut[0][index3]->At(index1)=='1') continue;}
if(fPairSplitCut[1][index3]->At(index2)=='1') continue;
}
if(config==3){
if(fPairSplitCut[1][index1]->At(index2)=='1') continue;
if(fPairSplitCut[2][index1]->At(index3)=='1') continue;
if(fPairSplitCut[3][index2]->At(index3)=='1') continue;
}
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);
}
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{
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) {
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);
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){
Bool_t fill2=kFALSE, fill3=kFALSE, fill4=kFALSE;
SetFillBins3(fillIndex3, key1, key2, key3, ch1, ch2, ch3, part, bin1, bin2, bin3, fill2, fill3, fill4);
for(Int_t jj=2; jj<5; jj++){
if(jj==2) {if(!fill2) continue;}
if(jj==3) {if(!fill3) continue;}
if(jj==4) {if(!fill4) continue;}
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);
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 {
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);
}
}
}
}
}
}
}
PostData(1, fOutputList);
}
void AliThreePionRadii::Terminate(Option_t *)
{
cout<<"Done"<<endl;
}
Bool_t AliThreePionRadii::AcceptPair(AliChaoticityTrackStruct *first, AliChaoticityTrackStruct *second)
{
if(fabs(first->fEta-second->fEta) > fMinSepPairEta) return kTRUE;
Float_t phi1 = first->fPhi - asin(first->fCharge*(0.1*fBfield)*0.15/first->fPt);
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);
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;
phi1 = first->fPhi - asin(first->fCharge*(0.1*fBfield)*0.24/first->fPt);
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);
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;
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)) {
if (first->fSharedMap.TestBitNumber(imap) && second->fSharedMap.TestBitNumber(imap)) {
sumQ++;
sumCls+=2;
sumSha+=2;}
else {sumQ--; sumCls+=2;}
}
else if (first->fClusterMap.TestBitNumber(imap) || second->fClusterMap.TestBitNumber(imap)) {
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;
else if(key==11) return 1;
else if(key==101) return 2;
else if(key==20) return 3;
else if(key==110) return 4;
else return 5;
}
Short_t AliThreePionRadii::FillIndex3part(Short_t key){
if(key==3) return 0;
else if(key==12) return 1;
else if(key==21) return 2;
else if(key==102) return 3;
else if(key==201) return 4;
else if(key==111) return 5;
else if(key==30) return 6;
else if(key==120) return 7;
else if(key==210) return 8;
else return 9;
}
Short_t AliThreePionRadii::SetQcutBin(Short_t fi){
if(fi <= 2) return 0;
else if(fi==3) return 1;
else return 2;
}
Short_t AliThreePionRadii::SetNormBin(Short_t fi){
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){
if((c1+c2)==1) {b1=0; b2=1;}
else {b1=c1; b2=c2;}
}else {
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){
Bool_t seSS=kFALSE;
Bool_t seSK=kFALSE;
Short_t seKeySum=0;
if(part==1) {
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;
}
if(fi==0 || fi==6 || fi==9){
if( (c1+c2+c3)==1) {
b1=0; b2=0; b3=1;
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){
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 {
b3=c1;
if( (c2+c3)==1) {b1=0; b2=1;}
else {b1=c2; b2=c3;}
}
if(seSK) fill2=kTRUE;
else {
if( (c1+c2+c3)==1) {
if(b3==0) {
if(seSS) fill3=kTRUE;
else fill4=kTRUE;
}else{fill3=kTRUE; fill4=kTRUE;}
}else if( (c1+c2+c3)==2) {
if(b3==1) {
if(seSS) fill4=kTRUE;
else fill3=kTRUE;
}else{fill3=kTRUE; fill4=kTRUE;}
}else{fill3=kTRUE; fill4=kTRUE;}
}
}else {
if(key1==1){
if(key2==10) {b1=c1; b2=c2; b3=c3;}
else {b1=c1; b2=c3; b3=c2;}
}else if(key1==10){
if(key2==1) {b1=c2; b2=c1; b3=c3;}
else {b1=c3; b2=c1; b3=c2;}
}else {
if(key2==1) {b1=c2; b2=c3; b3=c1;}
else {b1=c3; b2=c2; b3=c1;}
}
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){
if(fi==0 || fi==6 || fi==9){
if( (c1+c2+c3)==1) {
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) {
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 {
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){
if(key1==key2){
fQ=q12;
if(c1==c2){
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 {
if(c1==c3) {tQ=q13; sQ=q23;}
else {tQ=q23; sQ=q13;}
}
}else if(key1==key3){
fQ=q13;
if(c1==c3){
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 {
if(c1==c2) {tQ=q12; sQ=q23;}
else {tQ=q23; sQ=q12;}
}
}else {
fQ=q23;
if(c2==c3){
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 {
if(c1==c2) {tQ=q12; sQ=q13;}
else {tQ=q13; sQ=q12;}
}
}
}else {
if(key1==1){
if(key2==10) {fQ=q12; sQ=q13; tQ=q23;}
else {fQ=q13; sQ=q12; tQ=q23;}
}else if(key1==10){
if(key2==1) {fQ=q12; sQ=q23; tQ=q13;}
else {fQ=q13; sQ=q23; tQ=q12;}
}else {
if(key2==1) {fQ=q23; sQ=q12; tQ=q13;}
else {fQ=q23; sQ=q13; tQ=q12;}
}
}
}
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){
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{
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;
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){
Float_t coulCorr12 = FSICorrelation2(+1,+1, q12);
Float_t coulCorr13 = FSICorrelation2(+1,+1, q13);
Float_t coulCorr23 = FSICorrelation2(+1,+1, q23);
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{
Float_t coulCorr12 = FSICorrelation2(+1,+1, q12);
Float_t coulCorr13 = FSICorrelation2(+1,-1, q13);
Float_t coulCorr23 = FSICorrelation2(+1,-1, q23);
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]){
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){
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: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