#include <iostream>
#include <TH1.h>
#include <TH2.h>
#include <TMath.h>
#include <TList.h>
#include <TClonesArray.h>
#include "AliInputEventHandler.h"
#include "AliMCEvent.h"
#include "AliStack.h"
#include "AliAODMCParticle.h"
#include "AliVEvent.h"
#include "AliVVertex.h"
#include "AliAnalysisUtils.h"
#include "AliVCaloCells.h"
#include "AliPHOSGeoUtils.h"
#include "AliCentrality.h"
#include "AliCaloClusterInfo.h"
#include "AliPHOSpPbPi0Header.h"
class TNamed;
ClassImp(AliPHOSpPbPi0Header)
Bool_t AliPHOSpPbPi0Header::fgIsMC = kFALSE;
Bool_t AliPHOSpPbPi0Header::fgUseFiducialCut = kFALSE;
Int_t AliPHOSpPbPi0Header::fgNCent = 10;
Double_t AliPHOSpPbPi0Header::fgCuts[3] = { 10., 0., 100. };
AliPHOSpPbPi0Header::AliPHOSpPbPi0Header() :
TNamed(), fFiredTriggerClass(), fSelMask(0), fIsVertexOK(kFALSE), fIsPileup(kFALSE), fCentrality(0.)
{
for (Int_t i=3; i--;) fVtx[i] = 0.;
}
AliPHOSpPbPi0Header::AliPHOSpPbPi0Header(const AliPHOSpPbPi0Header &src) :
TNamed(), fFiredTriggerClass(src.fFiredTriggerClass), fSelMask(src.fSelMask), fIsVertexOK(src.fIsVertexOK),
fIsPileup(src.fIsPileup), fCentrality(src.fCentrality)
{
for (Int_t i=3; i--;) fVtx[i] = src.fVtx[i];
}
AliPHOSpPbPi0Header& AliPHOSpPbPi0Header::operator=(const AliPHOSpPbPi0Header &src)
{
if(&src==this) return *this;
fFiredTriggerClass = src.fFiredTriggerClass;
fSelMask = src.fSelMask;
fIsVertexOK = src.fIsVertexOK;
fIsPileup = src.fIsPileup;
fCentrality = src.fCentrality;
for (Int_t i=3; i--;) fVtx[i] = src.fVtx[i];
return *this;
}
AliPHOSpPbPi0Header::~AliPHOSpPbPi0Header()
{
}
void AliPHOSpPbPi0Header::SetEventInfo(AliInputEventHandler* const handler)
{
AliVEvent *event = handler->GetEvent();
fSelMask = handler->IsEventSelected();
fIsVertexOK = CheckEventVertex(event);
AliCentrality *cent = event->GetCentrality();
if (cent) fCentrality = cent->GetCentralityPercentile("V0A");
else fCentrality = -1.;
return;
}
Bool_t AliPHOSpPbPi0Header::IsSelected()
{
if (!fIsVertexOK) return kFALSE;
if (TMath::Abs(fVtx[2])>fgCuts[0]) return kFALSE;
if (fCentrality<fgCuts[1] || fCentrality>fgCuts[2]) return kFALSE;
return kTRUE;
}
Bool_t AliPHOSpPbPi0Header::CheckEventVertex(AliVEvent* const event)
{
fFiredTriggerClass = event->GetFiredTriggerClasses();
const AliVVertex* trkVtx = event->GetPrimaryVertex();
if (!trkVtx) return kFALSE;
trkVtx->GetXYZ(fVtx);
AliAnalysisUtils *utils = new AliAnalysisUtils();
if (!utils->IsVertexSelected2013pA(event)) return kFALSE;
fIsPileup = utils->IsPileUpEvent(event);
return kTRUE;
}
void AliPHOSpPbPi0Header::CreateHistograms(TList *listQA, TList *listRD, TList *listMC)
{
this->CreateHistosEvent(listQA);
this->CreateHistosCaloCellsQA(listQA);
this->CreateHistosCaloCluster(listQA);
this->CreateHistosPi0(listRD);
this->CreateHistosMixPi0(listRD);
if (fgIsMC) this->CreateHistosMC(listMC);
return;
}
void AliPHOSpPbPi0Header::CreateHistosEvent(TList *listQA)
{
const Int_t nhs = 3;
TString tName[nhs] = { "Centrality", "Vz", "Pileup" };
Int_t nbins[nhs] = { 110 , 500 , 500 };
Double_t xlow[nhs] = { -10., -25., -25. };
Double_t xup[nhs] = { 100., 25., 25. };
TString hName;
TH1D *histo = 0;
for (Int_t i=0; i<nhs; i++) {
hName = Form("hEvent_%s", tName[i].Data());
histo = new TH1D(hName.Data(), hName.Data(), nbins[i], xlow[i], xup[i]);
histo->Sumw2(); listQA->Add(histo); histo = 0;
hName = Form("hEventSel_%s", tName[i].Data());
histo = new TH1D(hName.Data(), hName.Data(), nbins[i], xlow[i], xup[i]);
histo->Sumw2(); listQA->Add(histo); histo = 0;
}
return;
}
void AliPHOSpPbPi0Header::CreateHistosCaloCellsQA(TList *listQA)
{
TH1D *histo1 = 0;
TH2D *histo2 = 0;
const Int_t nhs = 3;
const Int_t nMod = 3;
TString hName = "hCaloCellsQA_E";
histo1 = new TH1D(hName, hName, 300, 0., 30.);
histo1->Sumw2(); listQA->Add(histo1); histo1 = 0;
for (Int_t i=0; i<nMod; i++) {
hName = Form("hCaloCellsQA_E_Mod%d", i+1);
histo1 = new TH1D(hName.Data(), hName.Data(), 300, 0., 30.);
histo1->Sumw2(); listQA->Add(histo1); histo1 = 0;
}
TString tName[nhs] = { "CentNCells", "Nxz", "Exz" };
Int_t nbinsx[nhs] = { 10 , 64 , 64 };
Double_t xlow[nhs] = { 0., 0.5, 0.5 };
Double_t xup[nhs] = { 100., 64.5, 64.5 };
Int_t nbinsy[nhs] = { 1000 , 56 , 56 };
Double_t ylow[nhs] = { 0., 0.5, 0.5 };
Double_t yup[nhs] = { 1000., 56.5, 56.5 };
for (Int_t i=0; i<nhs; i++) {
if (i == 0) {
hName = Form("hCaloCellsQA_%s", tName[i].Data());
histo2 = new TH2D(hName.Data(), hName.Data(), nbinsx[i], xlow[i], xup[i], nbinsy[i], ylow[i], yup[i]);
histo2->Sumw2(); listQA->Add(histo2); histo2 = 0;
} else {
for (Int_t j=0; j<nMod; j++) {
hName = Form("hCaloCellsQA_%s_Mod%d", tName[i].Data(), j+1);
histo2 = new TH2D(hName.Data(), hName.Data(), nbinsx[i], xlow[i], xup[i], nbinsy[i], ylow[i], yup[i]);
histo2->Sumw2(); listQA->Add(histo2); histo2 = 0;
}
}
}
return;
}
void AliPHOSpPbPi0Header::CreateHistosCaloCluster(TList *listQA)
{
const Int_t nMods = 3;
const Int_t nTRUs = 8;
TString namePID[kPIDs] = { "All", "Cpv", "Disp", "Both", "Cpv2", "Disp2", "Both2" };
TString tName[kVarsClu] = { "Pt", "Eta", "Phi", "M02", "M20", "TOF", "NCells", "NClusters" };
Int_t bins[kVarsClu] = { 500 , 300 , 120 , 200 , 200 , 400 , 200 , 20 };
Double_t xMin[kVarsClu] = { 0., -0.15, 4.4, 0., 0., -2e-6, 0., 0. };
Double_t xMax[kVarsClu] = { 50., 0.15, 5.6, 2., 2., 2e-6, 1000., 20. };
TH1I *hncells = 0;
TH1D *histo1 = 0;
TH2D *histo2 = 0;
TString hName;
hName = Form("hCaloCluster_%s", tName[kNCellsClu].Data());
hncells = new TH1I(hName.Data(), hName.Data(), bins[kNCellsClu], (Int_t)xMin[kNCellsClu], (Int_t)xMax[kNCellsClu]);
hncells->Sumw2(); listQA->Add(hncells); hncells = 0;
hName = Form("hCaloCluster_%s", tName[kNClustersClu].Data());
hncells = new TH1I(hName.Data(), hName.Data(), bins[kNClustersClu], (Int_t)xMin[kNClustersClu], (Int_t)xMax[kNClustersClu]);
hncells->Sumw2(); listQA->Add(hncells); hncells = 0;
for (Int_t iPID=0; iPID<kPIDs; iPID++) {
hName = Form("hCaloCluster_%s_%s", tName[kPtClu].Data(), namePID[iPID].Data());
histo1 = new TH1D(hName.Data(), hName.Data(), bins[kPtClu], xMin[kPtClu], xMax[kPtClu]);
histo1->Sumw2(); listQA->Add(histo1); histo1 = 0;
for (Int_t icent=0; icent<fgNCent; icent++) {
hName = Form("hCaloCluster_%s_%s_cent%d", tName[kPtClu].Data(), namePID[iPID].Data(), icent);
histo1 = new TH1D(hName.Data(), hName.Data(), bins[kPtClu], xMin[kPtClu], xMax[kPtClu]);
histo1->Sumw2(); listQA->Add(histo1); histo1 = 0;
}
hName = Form("hCaloCluster_%s%s_%s", tName[kEtaClu].Data(), tName[kPhiClu].Data(), namePID[iPID].Data());
histo2 = new TH2D(hName.Data(), hName.Data(), bins[kEtaClu], xMin[kEtaClu], xMax[kEtaClu], bins[kPhiClu], xMin[kPhiClu], xMax[kPhiClu]);
histo2->Sumw2(); listQA->Add(histo2); histo2 = 0;
for (Int_t i=0; i<kVarsClu-3; i++) {
hName = Form("hCaloCluster_%s%s_%s", tName[0].Data(), tName[i+1].Data(), namePID[iPID].Data());
histo2 = new TH2D(hName.Data(), hName.Data(), bins[0], xMin[0], xMax[0], bins[i+1], xMin[i+1], xMax[i+1]);
histo2->Sumw2(); listQA->Add(histo2); histo2 = 0;
}
}
for (Int_t iMod=0; iMod<nMods; iMod++) {
hName = Form("hCaloCluster_%s_Mod%d", tName[kNCellsClu].Data(), iMod+1);
hncells = new TH1I(hName.Data(), hName.Data(), bins[kNCellsClu], (Int_t)xMin[kNCellsClu], (Int_t)xMax[kNCellsClu]);
hncells->Sumw2(); listQA->Add(hncells); hncells = 0;
hName = Form("hCaloCluster_%s_Mod%d", tName[kNClustersClu].Data(), iMod+1);
hncells = new TH1I(hName.Data(), hName.Data(), bins[kNClustersClu], (Int_t)xMin[kNClustersClu], (Int_t)xMax[kNClustersClu]);
hncells->Sumw2(); listQA->Add(hncells); hncells = 0;
for (Int_t iTRU=0; iTRU<nTRUs; iTRU++) {
hName = Form("hCaloCluster_%s_Mod%d_TRU%d", tName[kPtClu].Data(), iMod+1, iTRU+1);
histo1 = new TH1D(hName.Data(), hName.Data(), bins[kPtClu], xMin[kPtClu], xMax[kPtClu]);
histo1->Sumw2(); listQA->Add(histo1); histo1 = 0;
}
for (Int_t iPID=0; iPID<kPIDs; iPID++) {
hName = Form("hCaloCluster_%s_Mod%d_%s", tName[kPtClu].Data(), iMod+1, namePID[iPID].Data());
histo1 = new TH1D(hName.Data(), hName.Data(), bins[kPtClu], xMin[kPtClu], xMax[kPtClu]);
histo1->Sumw2(); listQA->Add(histo1); histo1 = 0;
}
}
return;
}
void AliPHOSpPbPi0Header::CreateHistosPi0(TList *listRD)
{
const Int_t nComb = 2;
TString srcMod[nComb] = { "Mod11", "Mod33" };
TString namePID[kPIDs] = { "All", "Cpv", "Disp", "Both", "Cpv2", "Disp2", "Both2" };
TString tName[kVarsPi0] = { "Pt", "Eta", "Phi", "Asy", "Angle", "InvMass" };
Int_t bins[kVarsPi0] = { 500 , 300 , 120 , 100 , 180 , 1000 };
Double_t xMin[kVarsPi0] = { 0., -0.15, 4.4, 0., 0., 0. };
Double_t xMax[kVarsPi0] = { 50., 0.15, 5.6, 1., TMath::Pi(), 1. };
const Int_t nPtbins = 32;
Double_t ptbins[nPtbins+1] = { 0.8, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0, 2.2, 2.4, 2.6,
2.8, 3.0, 3.2, 3.4, 3.6, 3.8, 4.0, 4.5, 5.0, 5.5,
6.0, 7.0, 8.0, 10.0, 12.0, 14.0, 16.0, 18.0, 20.0, 25.0,
30.0, 36.0, 44.0 };
TH2D *histo = 0;
TString hName;
hName = Form("hPi0_%s%s", tName[kEtaPi0].Data(), tName[kPhiPi0].Data());
histo = new TH2D(hName.Data(), hName.Data(), bins[kEtaPi0], xMin[kEtaPi0], xMax[kEtaPi0], bins[kPhiPi0], xMin[kPhiPi0], xMax[kPhiPi0]);
histo->Sumw2(); listRD->Add(histo); histo = 0;
for (Int_t i=0; i<kVarsPi0-2; i++) {
hName = Form("hPi0_%s%s", tName[0].Data(), tName[i+1].Data());
histo = new TH2D(hName.Data(), hName.Data(), bins[0], xMin[0], xMax[0], bins[i+1], xMin[i+1], xMax[i+1]);
histo->Sumw2(); listRD->Add(histo); histo = 0;
}
for (Int_t iPID=0; iPID<kPIDs; iPID++) {
hName = Form("hPi0_%s%s_%s", tName[kPtPi0].Data(), tName[kInvMassPi0].Data(), namePID[iPID].Data());
histo = new TH2D(hName.Data(), hName.Data(), nPtbins, ptbins, bins[kInvMassPi0], xMin[kInvMassPi0], xMax[kInvMassPi0]);
histo->Sumw2(); listRD->Add(histo); histo = 0;
hName = Form("hPi0_%s%s_%s", tName[kEtaPi0].Data(), tName[kPhiPi0].Data(), namePID[iPID].Data());
histo = new TH2D(hName.Data(), hName.Data(), bins[kEtaPi0], xMin[kEtaPi0], xMax[kEtaPi0], bins[kPhiPi0], xMin[kPhiPi0], xMax[kPhiPi0]);
histo->Sumw2(); listRD->Add(histo); histo = 0;
for (Int_t icent=0; icent<fgNCent; icent++) {
hName = Form("hPi0_%s%s_%s_cent%d", tName[kPtPi0].Data(), tName[kInvMassPi0].Data(), namePID[iPID].Data(), icent);
histo = new TH2D(hName.Data(), hName.Data(), nPtbins, ptbins, bins[kInvMassPi0], xMin[kInvMassPi0], xMax[kInvMassPi0]);
histo->Sumw2(); listRD->Add(histo); histo = 0;
}
for (Int_t i=0; i<kVarsPi0-2; i++) {
hName = Form("hPi0_%s%s_%s", tName[0].Data(), tName[i+1].Data(), namePID[iPID].Data());
histo = new TH2D(hName.Data(), hName.Data(), bins[0], xMin[0], xMax[0], bins[i+1], xMin[i+1], xMax[i+1]);
histo->Sumw2(); listRD->Add(histo); histo = 0;
}
for (Int_t iComb=0; iComb<nComb; iComb++) {
hName = Form("hPi0_%s%s_%s_%s", tName[kPtPi0].Data(), tName[kInvMassPi0].Data(), namePID[iPID].Data(), srcMod[iComb].Data());
histo = new TH2D(hName.Data(), hName.Data(), nPtbins, ptbins, bins[kInvMassPi0], xMin[kInvMassPi0], xMax[kInvMassPi0]);
histo->Sumw2(); listRD->Add(histo); histo = 0;
}
}
return;
}
void AliPHOSpPbPi0Header::CreateHistosMixPi0(TList *listRD)
{
const Int_t nComb = 2;
TString srcMod[nComb] = { "Mod11", "Mod33" };
TString namePID[kPIDs] = { "All", "Cpv", "Disp", "Both", "Cpv2", "Disp2", "Both2" };
TString tName[kVarsMixPi0] = { "Pt", "Eta", "Phi", "InvMass" };
Int_t bins[kVarsMixPi0] = { 500 , 300 , 120 , 1000 };
Double_t xMin[kVarsMixPi0] = { 0., -0.15, 4.4, 0. };
Double_t xMax[kVarsMixPi0] = { 50., 0.15, 5.6, 1. };
const Int_t nPtbins = 32;
Double_t ptbins[nPtbins+1] = { 0.8, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0, 2.2, 2.4, 2.6,
2.8, 3.0, 3.2, 3.4, 3.6, 3.8, 4.0, 4.5, 5.0, 5.5,
6.0, 7.0, 8.0, 10.0, 12.0, 14.0, 16.0, 18.0, 20.0, 25.0,
30.0, 36.0, 44.0 };
TH2D *histo = 0;
TString hName;
hName = Form("hMixPi0_%s%s", tName[kEtaMixPi0].Data(), tName[kPhiMixPi0].Data());
histo = new TH2D(hName.Data(), hName.Data(), bins[kEtaMixPi0], xMin[kEtaMixPi0], xMax[kEtaMixPi0],
bins[kPhiMixPi0], xMin[kPhiMixPi0], xMax[kPhiMixPi0]);
histo->Sumw2(); listRD->Add(histo); histo = 0;
for (Int_t iPID=0; iPID<kPIDs; iPID++) {
hName = Form("hMixPi0_%s%s_%s", tName[kPtMixPi0].Data(), tName[kInvMassMixPi0].Data(), namePID[iPID].Data());
histo = new TH2D(hName.Data(), hName.Data(), nPtbins, ptbins, bins[kInvMassMixPi0], xMin[kInvMassMixPi0], xMax[kInvMassMixPi0]);
histo->Sumw2(); listRD->Add(histo); histo = 0;
hName = Form("hMixPi0_%s%s_%s", tName[kEtaMixPi0].Data(), tName[kPhiMixPi0].Data(), namePID[iPID].Data());
histo = new TH2D(hName.Data(), hName.Data(), bins[kEtaMixPi0], xMin[kEtaMixPi0], xMax[kEtaMixPi0],
bins[kPhiMixPi0], xMin[kPhiMixPi0], xMax[kPhiMixPi0]);
histo->Sumw2(); listRD->Add(histo); histo = 0;
for (Int_t icent=0; icent<fgNCent; icent++) {
hName = Form("hMixPi0_%s%s_%s_cent%d", tName[kPtMixPi0].Data(), tName[kInvMassMixPi0].Data(), namePID[iPID].Data(), icent);
histo = new TH2D(hName.Data(), hName.Data(), nPtbins, ptbins, bins[kInvMassMixPi0], xMin[kInvMassMixPi0], xMax[kInvMassMixPi0]);
histo->Sumw2(); listRD->Add(histo); histo = 0;
}
for (Int_t iComb=0; iComb<nComb; iComb++) {
hName = Form("hMixPi0_%s%s_%s_%s", tName[kPtMixPi0].Data(), tName[kInvMassMixPi0].Data(), namePID[iPID].Data(), srcMod[iComb].Data());
histo = new TH2D(hName.Data(), hName.Data(), nPtbins, ptbins, bins[kInvMassMixPi0], xMin[kInvMassMixPi0], xMax[kInvMassMixPi0]);
histo->Sumw2(); listRD->Add(histo); histo = 0;
}
}
return;
}
void AliPHOSpPbPi0Header::CreateHistosMC(TList *listMC)
{
const Int_t acc = 2;
const char *aName[acc] = {"Pi0InAcc", "GammaInAcc"};
const Int_t types = 5;
const char *pName[types] = {"InclusivePi0", "PrimaryPi0", "2ndPi0FromK0s", "2ndPi0FromMaterials", "2ndPi0FromOtherDecays"};
TString namePID[kPIDs] = { "All", "Cpv", "Disp", "Both", "Cpv2", "Disp2", "Both2" };
TString tName[kVarsMC] = { "Pt", "Rapidity", "Radius", "Phi", "InvMass" };
Int_t bins[kVarsMC] = { 500 , 600 , 1000, 360 , 500 };
Double_t xMin[kVarsMC] = { 0., -3., 0., 0., 0. };
Double_t xMax[kVarsMC] = { 50., 3., 500., TMath::TwoPi(), 0.5 };
const Int_t nPtbins = 32;
Double_t ptbins[nPtbins+1] = { 0.8, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0, 2.2, 2.4, 2.6,
2.8, 3.0, 3.2, 3.4, 3.6, 3.8, 4.0, 4.5, 5.0, 5.5,
6.0, 7.0, 8.0, 10.0, 12.0, 14.0, 16.0, 18.0, 20.0, 25.0,
30.0, 36.0, 44.0 };
TH2D *histo = 0;
TString hName;
for (Int_t iType=0; iType<types; iType++) {
hName = Form("hMC%s_%s%s", pName[iType], tName[kPtMC].Data(), tName[kRapidityMC].Data());
histo = new TH2D(hName.Data(), hName.Data(), nPtbins, ptbins, bins[kRapidityMC], xMin[kRapidityMC], xMax[kRapidityMC]);
histo->Sumw2(); listMC->Add(histo); histo = 0;
hName = Form("hMC%s_%s%s_Check", pName[iType], tName[kPtMC].Data(), tName[kRadiusMC].Data());
histo = new TH2D(hName.Data(), hName.Data(), nPtbins, ptbins, bins[kRadiusMC], xMin[kRadiusMC], xMax[kRadiusMC]);
histo->Sumw2(); listMC->Add(histo); histo = 0;
hName = Form("hMC%s_%s%s", pName[iType], tName[kPtMC].Data(), tName[kRadiusMC].Data());
histo = new TH2D(hName.Data(), hName.Data(), nPtbins, ptbins, bins[kRadiusMC], xMin[kRadiusMC], xMax[kRadiusMC]);
histo->Sumw2(); listMC->Add(histo); histo = 0;
hName = Form("hMC%s_%s%s_MergedCluster", pName[iType], tName[kPtMC].Data(), tName[kRadiusMC].Data());
histo = new TH2D(hName.Data(), hName.Data(), nPtbins, ptbins, bins[kRadiusMC], xMin[kRadiusMC], xMax[kRadiusMC]);
histo->Sumw2(); listMC->Add(histo); histo = 0;
hName = Form("hMC%s_%s%s_Reco", pName[iType], tName[kPtMC].Data(), tName[kRadiusMC].Data());
histo = new TH2D(hName.Data(), hName.Data(), nPtbins, ptbins, bins[kRadiusMC], xMin[kRadiusMC], xMax[kRadiusMC]);
histo->Sumw2(); listMC->Add(histo); histo = 0;
if (strncmp(pName[iType], "2ndPi0FromK0s", 13) == 0) {
hName = Form("hMC%s_%sMatrix", pName[iType], tName[kPtMC].Data());
histo = new TH2D(hName.Data(), hName.Data(), bins[kPtMC], xMin[kPtMC], xMax[kPtMC], bins[kPtMC], xMin[kPtMC], xMax[kPtMC]);
histo->Sumw2(); listMC->Add(histo); histo = 0;
}
for (Int_t iAcc=0; iAcc<acc; iAcc++) {
hName = Form("hMC%s_%s%s_%s", pName[iType], tName[kPtMC].Data(), tName[kRadiusMC].Data(), aName[iAcc]);
histo = new TH2D(hName.Data(), hName.Data(), nPtbins, ptbins, bins[kRadiusMC], xMin[kRadiusMC], xMax[kRadiusMC]);
histo->Sumw2(); listMC->Add(histo); histo = 0;
if (strncmp(pName[iType], "2ndPi0FromK0s", 13) == 0) {
hName = Form("hMC%s_%sMatrix_%s", pName[iType], tName[kPtMC].Data(), aName[iAcc]);
histo = new TH2D(hName.Data(), hName.Data(), bins[kPtMC], xMin[kPtMC], xMax[kPtMC], bins[kPtMC], xMin[kPtMC], xMax[kPtMC]);
histo->Sumw2(); listMC->Add(histo); histo = 0;
}
}
for (Int_t iPID=0; iPID<kPIDs; iPID++) {
hName = Form("hMC%s_%s%s_%s_Reco", pName[iType], tName[kPtMC].Data(), tName[kInvMassMC].Data(), namePID[iPID].Data());
histo = new TH2D(hName.Data(), hName.Data(), nPtbins, ptbins, bins[kInvMassMC], xMin[kInvMassMC], xMax[kInvMassMC]);
histo->Sumw2(); listMC->Add(histo); histo = 0;
}
for (Int_t iCent=0; iCent<fgNCent; iCent++) {
hName = Form("hMC%s_%s%s_cent%d", pName[iType], tName[kPtMC].Data(), tName[kRapidityMC].Data(), iCent);
histo = new TH2D(hName.Data(), hName.Data(), nPtbins, ptbins, bins[kRapidityMC], xMin[kRapidityMC], xMax[kRapidityMC]);
histo->Sumw2(); listMC->Add(histo); histo = 0;
hName = Form("hMC%s_%s%s_cent%d", pName[iType], tName[kPtMC].Data(), tName[kRadiusMC].Data(), iCent);
histo = new TH2D(hName.Data(), hName.Data(), nPtbins, ptbins, bins[kRadiusMC], xMin[kRadiusMC], xMax[kRadiusMC]);
histo->Sumw2(); listMC->Add(histo); histo = 0;
hName = Form("hMC%s_%s%s_MergedCluster_cent%d", pName[iType], tName[kPtMC].Data(), tName[kRadiusMC].Data(), iCent);
histo = new TH2D(hName.Data(), hName.Data(), nPtbins, ptbins, bins[kRadiusMC], xMin[kRadiusMC], xMax[kRadiusMC]);
histo->Sumw2(); listMC->Add(histo); histo = 0;
hName = Form("hMC%s_%s%s_Reco_cent%d", pName[iType], tName[kPtMC].Data(), tName[kRadiusMC].Data(), iCent);
histo = new TH2D(hName.Data(), hName.Data(), nPtbins, ptbins, bins[kRadiusMC], xMin[kRadiusMC], xMax[kRadiusMC]);
histo->Sumw2(); listMC->Add(histo); histo = 0;
if (strncmp(pName[iType], "2ndPi0FromK0s", 13) == 0) {
hName = Form("hMC%s_%sMatrix_cent%d", pName[iType], tName[kPtMC].Data(), iCent);
histo = new TH2D(hName.Data(), hName.Data(), bins[kPtMC], xMin[kPtMC], xMax[kPtMC], bins[kPtMC], xMin[kPtMC], xMax[kPtMC]);
histo->Sumw2(); listMC->Add(histo); histo = 0;
}
for (Int_t iAcc=0; iAcc<acc; iAcc++) {
hName = Form("hMC%s_%s%s_%s_cent%d", pName[iType], tName[kPtMC].Data(), tName[kRadiusMC].Data(), aName[iAcc], iCent);
histo = new TH2D(hName.Data(), hName.Data(), nPtbins, ptbins, bins[kRadiusMC], xMin[kRadiusMC], xMax[kRadiusMC]);
histo->Sumw2(); listMC->Add(histo); histo = 0;
if (strncmp(pName[iType], "2ndPi0FromK0s", 13) == 0) {
hName = Form("hMC%s_%sMatrix_%s_cent%d", pName[iType], tName[kPtMC].Data(), aName[iAcc], iCent);
histo = new TH2D(hName.Data(), hName.Data(), bins[kPtMC], xMin[kPtMC], xMax[kPtMC], bins[kPtMC], xMin[kPtMC], xMax[kPtMC]);
histo->Sumw2(); listMC->Add(histo); histo = 0;
}
}
for (Int_t iPID=0; iPID<kPIDs; iPID++) {
hName = Form("hMC%s_%s%s_%s_Reco_cent%d", pName[iType], tName[kPtMC].Data(), tName[kInvMassMC].Data(), namePID[iPID].Data(), iCent);
histo = new TH2D(hName.Data(), hName.Data(), nPtbins, ptbins, bins[kInvMassMC], xMin[kInvMassMC], xMax[kInvMassMC]);
histo->Sumw2(); listMC->Add(histo); histo = 0;
}
}
}
for (Int_t iPID=0; iPID<kPIDs; iPID++) {
hName = Form("hMCInclusiveCvtedPi0_%s%s_%s_Reco", tName[kPtMC].Data(), tName[kInvMassMC].Data(), namePID[iPID].Data());
histo = new TH2D(hName.Data(), hName.Data(), nPtbins, ptbins, bins[kInvMassMC], xMin[kInvMassMC], xMax[kInvMassMC]);
histo->Sumw2(); listMC->Add(histo); histo = 0;
hName = Form("hMCInclusivePurePi0_%s%s_%s_Reco", tName[kPtMC].Data(), tName[kInvMassMC].Data(), namePID[iPID].Data());
histo = new TH2D(hName.Data(), hName.Data(), nPtbins, ptbins, bins[kInvMassMC], xMin[kInvMassMC], xMax[kInvMassMC]);
histo->Sumw2(); listMC->Add(histo); histo = 0;
for (Int_t iCent=0; iCent<fgNCent; iCent++) {
hName = Form("hMCInclusiveCvtedPi0_%s%s_%s_Reco_cent%d", tName[kPtMC].Data(), tName[kInvMassMC].Data(), namePID[iPID].Data(), iCent);
histo = new TH2D(hName.Data(), hName.Data(), nPtbins, ptbins, bins[kInvMassMC], xMin[kInvMassMC], xMax[kInvMassMC]);
histo->Sumw2(); listMC->Add(histo); histo = 0;
hName = Form("hMCInclusivePurePi0_%s%s_%s_Reco_cent%d", tName[kPtMC].Data(), tName[kInvMassMC].Data(), namePID[iPID].Data(), iCent);
histo = new TH2D(hName.Data(), hName.Data(), nPtbins, ptbins, bins[kInvMassMC], xMin[kInvMassMC], xMax[kInvMassMC]);
histo->Sumw2(); listMC->Add(histo); histo = 0;
}
}
return;
}
void AliPHOSpPbPi0Header::FillHistosEvent(TList *listQA)
{
if (!listQA) return;
const Int_t nhs = 2;
TString tName[nhs+1] = { "Centrality", "Vz", "Pileup" };
Double_t dist[nhs] = { fCentrality, fVtx[2] };
for (Int_t i=nhs; i--;) {
((TH1D*)listQA->FindObject(Form("hEvent_%s", tName[i].Data())))->Fill(dist[i]);
if (this->IsSelected()) ((TH1D*)listQA->FindObject(Form("hEventSel_%s", tName[i].Data())))->Fill(dist[i]);
}
if (fIsPileup) {
((TH1D*)listQA->FindObject(Form("hEvent_%s", tName[nhs].Data())))->Fill(dist[nhs-1]);
if (this->IsSelected()) ((TH1D*)listQA->FindObject(Form("hEventSel_%s", tName[nhs].Data())))->Fill(dist[nhs-1]);
}
return;
}
void AliPHOSpPbPi0Header::FillHistosCaloCellsQA(TList *listQA, AliVCaloCells* const cells, AliPHOSGeoUtils* const phosGeo)
{
if (!listQA) return;
const Int_t nhs = 3;
TString tName[nhs] = { "CentNCells", "Nxz", "Exz" };
((TH2D*)listQA->FindObject(Form("hCaloCellsQA_%s", tName[0].Data())))->Fill(fCentrality, cells->GetNumberOfCells());
for (Int_t iCell=0; iCell<cells->GetNumberOfCells(); iCell++) {
Int_t relID[4] = {0,0,0,0};
phosGeo->AbsToRelNumbering(cells->GetCellNumber(iCell), relID);
Double_t wight[2] = { 1., cells->GetAmplitude(iCell)};
((TH1D*)listQA->FindObject(Form("hCaloCellsQA_%s", "E")))->Fill(wight[1]);
((TH1D*)listQA->FindObject(Form("hCaloCellsQA_%s_Mod%d", "E", relID[0])))->Fill(wight[1]);
for (Int_t i=1; i<nhs; i++)
((TH2D*)listQA->FindObject(Form("hCaloCellsQA_%s_Mod%d", tName[i].Data(), relID[0])))->Fill(relID[2], relID[3], wight[i-1]);
}
return;
}
void AliPHOSpPbPi0Header::FillHistosCaloCluster(TList *listQA, TClonesArray* const caloClArr, Int_t cent)
{
if (!listQA) return;
TString namePID[kPIDs] = { "All", "Cpv", "Disp", "Both", "Cpv2", "Disp2", "Both2" };
UInt_t PIDBIT[kPIDs] = { 0x0, BIT(0), BIT(1), BIT(0)|BIT(1), BIT(2), BIT(3), BIT(2)|BIT(3) };
TString tName[kVarsClu] = { "Pt", "Eta", "Phi", "M02", "M20", "TOF", "NCells", "NClusters" };
Int_t entries = caloClArr->GetEntriesFast();
Int_t iMod = 0, iTRU = 0, nclusters[3] = { 0, 0, 0 };
UInt_t pidBit = 0;
AliCaloClusterInfo *caloCluster = 0;
TLorentzVector gamma;
for(Int_t i=0; i<entries; i++) {
caloCluster = (AliCaloClusterInfo*)caloClArr->At(i);
iMod = caloCluster->GetModule(); nclusters[iMod-1]++;
iTRU = caloCluster->GetTRUNumber();
pidBit = caloCluster->GetPIDBit();
gamma = caloCluster->LorentzVector();
Double_t vars[kVarsClu-1] = { gamma.E(),
gamma.Eta(),
(gamma.Phi()+TMath::TwoPi()),
caloCluster->GetM02(),
caloCluster->GetM20(),
caloCluster->GetTOF(),
(Double_t)caloCluster->GetNCells() };
((TH1I*)listQA->FindObject(Form("hCaloCluster_%s", tName[kNCellsClu].Data())))->Fill((Int_t)vars[kNCellsClu]);
((TH1I*)listQA->FindObject(Form("hCaloCluster_%s_Mod%d", tName[kNCellsClu].Data(), iMod)))->Fill((Int_t)vars[kNCellsClu]);
((TH1D*)listQA->FindObject(Form("hCaloCluster_%s_Mod%d_TRU%d", tName[kPtClu].Data(), iMod, iTRU)))->Fill(vars[kPtClu]);
for (Int_t iPID=0; iPID<kPIDs; iPID++) {
if ((pidBit&PIDBIT[iPID])==PIDBIT[iPID]) {
((TH1D*)listQA->FindObject(Form("hCaloCluster_%s_%s", tName[kPtClu].Data(), namePID[iPID].Data())))->Fill(vars[kPtClu]);
((TH1D*)listQA->FindObject(Form("hCaloCluster_%s_Mod%d_%s", tName[kPtClu].Data(), iMod, namePID[iPID].Data())))->Fill(vars[kPtClu]);
((TH1D*)listQA->FindObject(Form("hCaloCluster_%s_%s_cent%d", tName[kPtClu].Data(), namePID[iPID].Data(), cent)))->Fill(vars[kPtClu]);
((TH2D*)listQA->FindObject(Form("hCaloCluster_%s%s_%s", tName[kEtaClu].Data(), tName[kPhiClu].Data(),
namePID[iPID].Data())))->Fill(vars[kEtaClu], vars[kPhiClu]);
for (Int_t j=0; j<kVarsClu-3; j++)
((TH2D*)listQA->FindObject(Form("hCaloCluster_%s%s_%s", tName[0].Data(), tName[j+1].Data(), namePID[iPID].Data())))->Fill(vars[0], vars[j+1]);
}
}
}
((TH1I*)listQA->FindObject(Form("hCaloCluster_%s", tName[kNClustersClu].Data())))->Fill(entries);
for (Int_t jMod=1; jMod<4; jMod++) {
if (jMod==2) continue;
((TH1I*)listQA->FindObject(Form("hCaloCluster_%s_Mod%d", tName[kNClustersClu].Data(), jMod)))->Fill(nclusters[jMod-1]);
}
return;
}
void AliPHOSpPbPi0Header::FillHistosPi0(TList *listRD, TClonesArray* const caloClArr, Int_t cent)
{
if (!listRD) return;
TString namePID[kPIDs] = { "All", "Cpv", "Disp", "Both", "Cpv2", "Disp2", "Both2" };
UInt_t PIDBIT[kPIDs] = { 0x0, BIT(0), BIT(1), BIT(0)|BIT(1), BIT(2), BIT(3), BIT(2)|BIT(3) };
TString tName[kVarsPi0] = { "Pt", "Eta", "Phi", "Asy", "Angle", "InvMass" };
Int_t entries = caloClArr->GetEntriesFast();
Int_t iMod = 0, jMod = 0, srcMod = 0;
UInt_t iPIDBit = 0, jPIDBit = 0;
Double_t vars[kVarsPi0];
AliCaloClusterInfo *iCaloCluster = 0, *jCaloCluster = 0;
TLorentzVector iGamma, jGamma;
for(Int_t i=0; i<entries-1; i++) {
iCaloCluster = (AliCaloClusterInfo*)caloClArr->At(i);
iMod = iCaloCluster->GetModule();
iPIDBit = iCaloCluster->GetPIDBit();
iGamma = iCaloCluster->LorentzVector();
for (Int_t j=i+1; j<entries; j++) {
jCaloCluster = (AliCaloClusterInfo*)caloClArr->At(j);
jMod = jCaloCluster->GetModule();
jPIDBit = jCaloCluster->GetPIDBit();
jGamma = jCaloCluster->LorentzVector();
if (TMath::Abs(iMod-jMod)>1) { jCaloCluster = 0; continue; }
if (iMod==1 && jMod==1) srcMod = 11;
else if (iMod==3 && jMod==3) srcMod = 33;
else if (iMod==2 && jMod==2) srcMod = 22;
else if (iMod==1 && jMod==2) srcMod = 12;
else if (iMod==2 && jMod==3) srcMod = 23;
vars[kPtPi0] = (iGamma+jGamma).E();
vars[kEtaPi0] = (iGamma+jGamma).Eta();
vars[kPhiPi0] = (iGamma+jGamma).Phi() + TMath::TwoPi();
vars[kInvMassPi0] = (iGamma+jGamma).M();
vars[kAsyPi0] = TMath::Abs((iGamma-jGamma).E())/(iGamma+jGamma).E();
vars[kAnglePi0] = jGamma.Angle(iGamma.Vect());
((TH2D*)listRD->FindObject(Form("hPi0_%s%s", tName[kEtaPi0].Data(), tName[kPhiPi0].Data())))->Fill(vars[kEtaPi0], vars[kPhiPi0]);
for (Int_t k=0; k<kVarsPi0-2; k++) {
((TH2D*)listRD->FindObject(Form("hPi0_%s%s", tName[0].Data(), tName[k+1].Data())))->Fill(vars[0], vars[k+1]);
}
for (Int_t iPID=0; iPID<kPIDs; iPID++) {
if ((iPIDBit & jPIDBit & PIDBIT[iPID])==PIDBIT[iPID]) {
((TH2D*)listRD->FindObject(Form("hPi0_%s%s_%s", tName[kEtaPi0].Data(), tName[kPhiPi0].Data(),
namePID[iPID].Data())))->Fill(vars[kEtaPi0], vars[kPhiPi0]);
((TH2D*)listRD->FindObject(Form("hPi0_%s%s_%s", tName[kPtPi0].Data(), tName[kInvMassPi0].Data(),
namePID[iPID].Data())))->Fill(vars[kPtPi0], vars[kInvMassPi0]);
((TH2D*)listRD->FindObject(Form("hPi0_%s%s_%s_Mod%d", tName[kPtPi0].Data(), tName[kInvMassPi0].Data(),
namePID[iPID].Data(), srcMod)))->Fill(vars[kPtPi0], vars[kInvMassPi0]);
((TH2D*)listRD->FindObject(Form("hPi0_%s%s_%s_cent%d", tName[kPtPi0].Data(), tName[kInvMassPi0].Data(),
namePID[iPID].Data(), cent)))->Fill(vars[kPtPi0], vars[kInvMassPi0]);
for (Int_t k=0; k<kVarsPi0-2; k++) {
((TH2D*)listRD->FindObject(Form("hPi0_%s%s_%s", tName[0].Data(), tName[k+1].Data(), namePID[iPID].Data())))->Fill(vars[0], vars[k+1]);
}
}
}
jCaloCluster = 0;
}
iCaloCluster = 0;
}
return;
}
void AliPHOSpPbPi0Header::FillHistosMixPi0(TList *listRD, TClonesArray* const iCaloClArr, TList* const eventList, Int_t cent)
{
if (!listRD) return;
TString namePID[kPIDs] = { "All", "Cpv", "Disp", "Both", "Cpv2", "Disp2", "Both2" };
UInt_t PIDBIT[kPIDs] = { 0x0, BIT(0), BIT(1), BIT(0)|BIT(1), BIT(2), BIT(3), BIT(2)|BIT(3) };
TString tName[kVarsMixPi0] = { "Pt", "Eta", "Phi", "InvMass" };
Int_t iEntries = iCaloClArr->GetEntriesFast();
Int_t iMod = 0, jMod = 0, srcMod = 0;
UInt_t iPIDBit = 0, jPIDBit = 0;
Double_t vars[kVarsMixPi0];
AliCaloClusterInfo *iCaloCluster = 0, *jCaloCluster = 0;
TLorentzVector iGamma, jGamma;
TClonesArray *jCaloClArr = 0;
for (Int_t i=0; i<iEntries; i++) {
iCaloCluster=(AliCaloClusterInfo*)iCaloClArr->At(i);
iMod = iCaloCluster->GetModule();
iPIDBit = iCaloCluster->GetPIDBit();
iGamma = iCaloCluster->LorentzVector();
Int_t nev = eventList->GetSize();
for(Int_t ev=0; ev<nev; ev++){
jCaloClArr = static_cast<TClonesArray*>(eventList->At(ev));
Int_t jEntries = jCaloClArr->GetEntriesFast();
for(Int_t j=0; j<jEntries; j++){
jCaloCluster=(AliCaloClusterInfo*)jCaloClArr->At(j);
jMod = jCaloCluster->GetModule(); if (TMath::Abs(iMod-jMod)>1) { jCaloCluster = 0; continue; }
jPIDBit = jCaloCluster->GetPIDBit();
jGamma = jCaloCluster->LorentzVector();
if (iMod==1 && jMod==1 ) srcMod = 11;
else if (iMod==3 && jMod==3) srcMod = 33;
else if (iMod==2 && jMod==2) srcMod = 22;
else if ((iMod==1 && jMod==2) || (iMod==2 && jMod==1)) srcMod = 12;
else if ((iMod==2 && jMod==3) || (iMod==3 && jMod==2)) srcMod = 23;
vars[kPtMixPi0] = (iGamma+jGamma).E();
vars[kEtaMixPi0] = (iGamma+jGamma).Eta();
vars[kPhiMixPi0] = (iGamma+jGamma).Phi() + TMath::TwoPi();
vars[kInvMassMixPi0] = (iGamma+jGamma).M();
((TH2D*)listRD->FindObject(Form("hMixPi0_%s%s", tName[kEtaMixPi0].Data(), tName[kPhiMixPi0].Data())))->Fill(vars[kEtaMixPi0], vars[kPhiMixPi0]);
for (Int_t iPID=0; iPID<kPIDs; iPID++) {
if ((iPIDBit & jPIDBit & PIDBIT[iPID])==PIDBIT[iPID]) {
((TH2D*)listRD->FindObject(Form("hMixPi0_%s%s_%s", tName[kEtaMixPi0].Data(), tName[kPhiMixPi0].Data(),
namePID[iPID].Data())))->Fill(vars[kEtaMixPi0], vars[kPhiMixPi0]);
((TH2D*)listRD->FindObject(Form("hMixPi0_%s%s_%s", tName[kPtMixPi0].Data(), tName[kInvMassMixPi0].Data(),
namePID[iPID].Data())))->Fill(vars[kPtMixPi0], vars[kInvMassMixPi0]);
((TH2D*)listRD->FindObject(Form("hMixPi0_%s%s_%s_Mod%d", tName[kPtMixPi0].Data(), tName[kInvMassMixPi0].Data(),
namePID[iPID].Data(), srcMod)))->Fill(vars[kPtMixPi0], vars[kInvMassMixPi0]);
((TH2D*)listRD->FindObject(Form("hMixPi0_%s%s_%s_cent%d", tName[kPtMixPi0].Data(), tName[kInvMassMixPi0].Data(),
namePID[iPID].Data(), cent)))->Fill(vars[kPtMixPi0], vars[kInvMassMixPi0]);
}
}
jCaloCluster = 0;
}
jCaloClArr = 0;
}
iCaloCluster = 0;
}
return;
}
void AliPHOSpPbPi0Header::FillHistosMC(TList *listMC, AliStack* const stack, TClonesArray* const caloClArr, AliPHOSGeoUtils* const phosGeo, Int_t cent)
{
if (!listMC) return;
if (!stack) return;
TString namePID[kPIDs] = { "All", "Cpv", "Disp", "Both", "Cpv2", "Disp2", "Both2" };
UInt_t PIDBIT[kPIDs] = { 0x0, BIT(0), BIT(1), BIT(0)|BIT(1), BIT(2), BIT(3), BIT(2)|BIT(3) };
TString pName;
const Int_t nParticles = stack->GetNtrack();
Int_t iMod = 0, jMod = 0;
for(Int_t iParticle=0; iParticle<nParticles; iParticle++) {
TParticle* pMC = stack->Particle(iParticle);
if (pMC->GetPdgCode() != 111) continue;
if (pMC->GetNDaughters() != 2) continue;
TParticle *iGamma = stack->Particle(pMC->GetFirstDaughter());
TParticle *jGamma = stack->Particle(pMC->GetLastDaughter());
if (!(iGamma->GetPdgCode()==22 && jGamma->GetPdgCode()==22)) continue;
pName = ClassifyMCPi0(iParticle, stack);
Double_t pt = pMC->Pt();
Double_t radius = pMC->R();
Double_t rapidity = pMC->Y();
Double_t eta = pMC->Eta();
Double_t phi = pMC->Phi(); while (phi<0.) phi += TMath::TwoPi(); while (phi>TMath::TwoPi()) phi -= TMath::TwoPi();
((TH2D*)listMC->FindObject("hMCInclusivePi0_PtRapidity"))->Fill(pt, rapidity);
((TH2D*)listMC->FindObject(Form("hMCInclusivePi0_PtRapidity_cent%d", cent)))->Fill(pt, rapidity);
((TH2D*)listMC->FindObject(Form("hMC%s_PtRapidity", pName.Data())))->Fill(pt, rapidity);
((TH2D*)listMC->FindObject(Form("hMC%s_PtRapidity_cent%d", pName.Data(), cent)))->Fill(pt, rapidity);
((TH2D*)listMC->FindObject("hMCInclusivePi0_PtRadius_Check"))->Fill(pt, radius);
((TH2D*)listMC->FindObject(Form("hMC%s_PtRadius_Check", pName.Data())))->Fill(pt, radius);
if (TMath::Abs(rapidity)<0.5) {
((TH2D*)listMC->FindObject("hMCInclusivePi0_PtRadius"))->Fill(pt, radius);
((TH2D*)listMC->FindObject(Form("hMCInclusivePi0_PtRadius_cent%d", cent)))->Fill(pt, radius);
((TH2D*)listMC->FindObject(Form("hMC%s_PtRadius", pName.Data())))->Fill(pt, radius);
((TH2D*)listMC->FindObject(Form("hMC%s_PtRadius_cent%d", pName.Data(), cent)))->Fill(pt, radius);
if (pName.Contains("K0s") && stack->IsPhysicalPrimary(pMC->GetFirstMother()) ) {
TParticle* pMother = stack->Particle(pMC->GetFirstMother());
((TH2D*)listMC->FindObject(Form("hMC%s_PtMatrix", pName.Data())))->Fill(pt, pMother->Pt());
((TH2D*)listMC->FindObject(Form("hMC%s_PtMatrix_cent%d", pName.Data(), cent)))->Fill(pt, pMother->Pt());
}
}
if ((((phi>260.*TMath::DegToRad()) && (phi<280.*TMath::DegToRad())) || ((phi>300.*TMath::DegToRad())
&& (phi<320.*TMath::DegToRad()))) && (TMath::Abs(eta)<0.135)) {
((TH2D*)listMC->FindObject("hMCInclusivePi0_PtRadius_Pi0InAcc"))->Fill(pt, radius);
((TH2D*)listMC->FindObject(Form("hMCInclusivePi0_PtRadius_Pi0InAcc_cent%d", cent)))->Fill(pt, radius);
((TH2D*)listMC->FindObject(Form("hMC%s_PtRadius_Pi0InAcc", pName.Data())))->Fill(pt, radius);
((TH2D*)listMC->FindObject(Form("hMC%s_PtRadius_Pi0InAcc_cent%d", pName.Data(), cent)))->Fill(pt, radius);
if (pName.Contains("K0s") && stack->IsPhysicalPrimary(pMC->GetFirstMother())) {
TParticle* pMother = stack->Particle(pMC->GetFirstMother());
((TH2D*)listMC->FindObject(Form("hMC%s_PtMatrix_Pi0InAcc", pName.Data())))->Fill(pt, pMother->Pt());
((TH2D*)listMC->FindObject(Form("hMC%s_PtMatrix_Pi0InAcc_cent%d", pName.Data(), cent)))->Fill(pt, pMother->Pt());
}
}
iMod = HitPHOSModule(iGamma, phosGeo);
jMod = HitPHOSModule(jGamma, phosGeo);
if (iMod!=-1 && iMod!=2 && jMod!=-1 && jMod!=2 && TMath::Abs(iMod-jMod)<2) {
((TH2D*)listMC->FindObject("hMCInclusivePi0_PtRadius_GammaInAcc"))->Fill(pt, radius);
((TH2D*)listMC->FindObject(Form("hMCInclusivePi0_PtRadius_GammaInAcc_cent%d", cent)))->Fill(pt, radius);
((TH2D*)listMC->FindObject(Form("hMC%s_PtRadius_GammaInAcc", pName.Data())))->Fill(pt, radius);
((TH2D*)listMC->FindObject(Form("hMC%s_PtRadius_GammaInAcc_cent%d", pName.Data(), cent)))->Fill(pt, radius);
if (pName.Contains("K0s") && stack->IsPhysicalPrimary(pMC->GetFirstMother())) {
TParticle* pMother = stack->Particle(pMC->GetFirstMother());
((TH2D*)listMC->FindObject(Form("hMC%s_PtMatrix_GammaInAcc", pName.Data())))->Fill(pt, pMother->Pt());
((TH2D*)listMC->FindObject(Form("hMC%s_PtMatrix_GammaInAcc_cent%d", pName.Data(), cent)))->Fill(pt, pMother->Pt());
}
}
}
Bool_t isConverted_i = kFALSE, isConverted_j = kFALSE;
Int_t entries = caloClArr->GetEntriesFast();
Int_t iPi0Indx =-1, jPi0Indx =-1;
UInt_t iPIDBit = 0, jPIDBit = 0;
Double_t pi0Pt = 0., pi0InvMass = 0., radius = 0.;
AliCaloClusterInfo *iCaloCluster = 0, *jCaloCluster = 0;
TLorentzVector iLorentz, jLorentz;
for(Int_t i=0; i<entries; i++) {
iCaloCluster = (AliCaloClusterInfo*)caloClArr->At(i);
if (iCaloCluster->IsMergedClusterFromPi0(stack, iPi0Indx)) {
pName = ClassifyMCPi0(iPi0Indx, stack);
pi0Pt = (iCaloCluster->LorentzVector()).E();
radius = stack->Particle(iPi0Indx)->R();
((TH2D*)listMC->FindObject("hMCInclusivePi0_PtRadius_MergedCluster"))->Fill(pi0Pt, radius);
((TH2D*)listMC->FindObject(Form("hMCInclusivePi0_PtRadius_MergedCluster_cent%d", cent)))->Fill(pi0Pt, radius);
((TH2D*)listMC->FindObject(Form("hMC%s_PtRadius_MergedCluster", pName.Data())))->Fill(pi0Pt, radius);
((TH2D*)listMC->FindObject(Form("hMC%s_PtRadius_MergedCluster_cent%d", pName.Data(), cent)))->Fill(pi0Pt, radius);
}
else if (!iCaloCluster->IsClusterFromCvtedPi0(stack, isConverted_i, iPi0Indx) || i==entries-1) { iCaloCluster = 0; continue; }
for (Int_t j=i+1; j<entries; j++) {
jCaloCluster = (AliCaloClusterInfo*)caloClArr->At(j);
if (!jCaloCluster->IsClusterFromCvtedPi0(stack, isConverted_j, jPi0Indx)) { jCaloCluster = 0; continue; }
if (jPi0Indx != iPi0Indx) { jCaloCluster = 0; continue; }
iMod = iCaloCluster->GetModule();
iPIDBit = iCaloCluster->GetPIDBit();
iLorentz = iCaloCluster->LorentzVector();
pName = ClassifyMCPi0(iPi0Indx, stack);
jMod = jCaloCluster->GetModule();
jPIDBit = jCaloCluster->GetPIDBit();
jLorentz = jCaloCluster->LorentzVector();
if (TMath::Abs(iMod-jMod)>1) { jCaloCluster = 0; continue; }
pi0Pt = (iLorentz+jLorentz).E();
pi0InvMass = (iLorentz+jLorentz).M();
radius = stack->Particle(iPi0Indx)->R();
((TH2D*)listMC->FindObject("hMCInclusivePi0_PtRadius_Reco"))->Fill(pi0Pt, radius);
((TH2D*)listMC->FindObject(Form("hMCInclusivePi0_PtRadius_Reco_cent%d", cent)))->Fill(pi0Pt, radius);
((TH2D*)listMC->FindObject(Form("hMC%s_PtRadius_Reco", pName.Data())))->Fill(pi0Pt, radius);
((TH2D*)listMC->FindObject(Form("hMC%s_PtRadius_Reco_cent%d", pName.Data(), cent)))->Fill(pi0Pt, radius);
for (Int_t iPID=0; iPID<kPIDs; iPID++)
if ((iPIDBit & jPIDBit & PIDBIT[iPID])==PIDBIT[iPID]) {
((TH2D*)listMC->FindObject(Form("hMCInclusivePi0_PtInvMass_%s_Reco", namePID[iPID].Data())))->Fill(pi0Pt, pi0InvMass);
((TH2D*)listMC->FindObject(Form("hMCInclusivePi0_PtInvMass_%s_Reco_cent%d", namePID[iPID].Data(), cent)))->Fill(pi0Pt, pi0InvMass);
((TH2D*)listMC->FindObject(Form("hMC%s_PtInvMass_%s_Reco", pName.Data(), namePID[iPID].Data())))->Fill(pi0Pt, pi0InvMass);
((TH2D*)listMC->FindObject(Form("hMC%s_PtInvMass_%s_Reco_cent%d", pName.Data(), namePID[iPID].Data(), cent)))->Fill(pi0Pt, pi0InvMass);
if (isConverted_i || isConverted_j) {
((TH2D*)listMC->FindObject(Form("hMCInclusiveCvtedPi0_PtInvMass_%s_Reco", namePID[iPID].Data())))->Fill(pi0Pt, pi0InvMass);
((TH2D*)listMC->FindObject(Form("hMCInclusiveCvtedPi0_PtInvMass_%s_Reco_cent%d", namePID[iPID].Data(), cent)))->Fill(pi0Pt, pi0InvMass);
} else {
((TH2D*)listMC->FindObject(Form("hMCInclusivePurePi0_PtInvMass_%s_Reco", namePID[iPID].Data())))->Fill(pi0Pt, pi0InvMass);
((TH2D*)listMC->FindObject(Form("hMCInclusivePurePi0_PtInvMass_%s_Reco_cent%d", namePID[iPID].Data(), cent)))->Fill(pi0Pt, pi0InvMass);
}
}
}
}
return;
}
TString AliPHOSpPbPi0Header::ClassifyMCPi0(Int_t index, AliStack* const stack)
{
TString pName;
TParticle* pMC = stack->Particle(index);
Int_t mpdg = 0;
if (pMC->GetFirstMother()>-1) {
TParticle* pMother = stack->Particle(pMC->GetFirstMother());
mpdg = TMath::Abs(pMother->GetPdgCode());
}
if (index<stack->GetNprimary()) pName = "PrimaryPi0";
else if (mpdg==310) pName = "2ndPi0FromK0s";
else if (mpdg==321 || mpdg==211 || mpdg==2212 || mpdg==2112) pName = "2ndPi0FromMaterials";
else pName = "2ndPi0FromOtherDecays";
return pName;
}
Int_t AliPHOSpPbPi0Header::HitPHOSModule(TParticle* const pMC, AliPHOSGeoUtils* const phosGeo)
{
Int_t mod=0, relID[4]={0,0,0,0};
Double_t x=0., z=0.;
Double_t vtx[3] = { pMC->Vx(), pMC->Vy(), pMC->Vz() };
Double_t theta = pMC->Theta();
Double_t phi = pMC->Phi();
if (!phosGeo->ImpactOnEmc(vtx, theta, phi, mod, z, x)) return -1;
phosGeo->RelPosToRelId(mod, x, z, relID);
if (fgUseFiducialCut) {
const Int_t edgeX = 2;
const Int_t edgeZ = 2;
if (relID[2] >edgeX && relID[2]<(65-edgeX) && relID[3]>edgeZ && relID[3] <(57-edgeZ)) return relID[0];
else return -1;
}
return relID[0];
}
AliPHOSpPbPi0Header.cxx:1 AliPHOSpPbPi0Header.cxx:2 AliPHOSpPbPi0Header.cxx:3 AliPHOSpPbPi0Header.cxx:4 AliPHOSpPbPi0Header.cxx:5 AliPHOSpPbPi0Header.cxx:6 AliPHOSpPbPi0Header.cxx:7 AliPHOSpPbPi0Header.cxx:8 AliPHOSpPbPi0Header.cxx:9 AliPHOSpPbPi0Header.cxx:10 AliPHOSpPbPi0Header.cxx:11 AliPHOSpPbPi0Header.cxx:12 AliPHOSpPbPi0Header.cxx:13 AliPHOSpPbPi0Header.cxx:14 AliPHOSpPbPi0Header.cxx:15 AliPHOSpPbPi0Header.cxx:16 AliPHOSpPbPi0Header.cxx:17 AliPHOSpPbPi0Header.cxx:18 AliPHOSpPbPi0Header.cxx:19 AliPHOSpPbPi0Header.cxx:20 AliPHOSpPbPi0Header.cxx:21 AliPHOSpPbPi0Header.cxx:22 AliPHOSpPbPi0Header.cxx:23 AliPHOSpPbPi0Header.cxx:24 AliPHOSpPbPi0Header.cxx:25 AliPHOSpPbPi0Header.cxx:26 AliPHOSpPbPi0Header.cxx:27 AliPHOSpPbPi0Header.cxx:28 AliPHOSpPbPi0Header.cxx:29 AliPHOSpPbPi0Header.cxx:30 AliPHOSpPbPi0Header.cxx:31 AliPHOSpPbPi0Header.cxx:32 AliPHOSpPbPi0Header.cxx:33 AliPHOSpPbPi0Header.cxx:34 AliPHOSpPbPi0Header.cxx:35 AliPHOSpPbPi0Header.cxx:36 AliPHOSpPbPi0Header.cxx:37 AliPHOSpPbPi0Header.cxx:38 AliPHOSpPbPi0Header.cxx:39 AliPHOSpPbPi0Header.cxx:40 AliPHOSpPbPi0Header.cxx:41 AliPHOSpPbPi0Header.cxx:42 AliPHOSpPbPi0Header.cxx:43 AliPHOSpPbPi0Header.cxx:44 AliPHOSpPbPi0Header.cxx:45 AliPHOSpPbPi0Header.cxx:46 AliPHOSpPbPi0Header.cxx:47 AliPHOSpPbPi0Header.cxx:48 AliPHOSpPbPi0Header.cxx:49 AliPHOSpPbPi0Header.cxx:50 AliPHOSpPbPi0Header.cxx:51 AliPHOSpPbPi0Header.cxx:52 AliPHOSpPbPi0Header.cxx:53 AliPHOSpPbPi0Header.cxx:54 AliPHOSpPbPi0Header.cxx:55 AliPHOSpPbPi0Header.cxx:56 AliPHOSpPbPi0Header.cxx:57 AliPHOSpPbPi0Header.cxx:58 AliPHOSpPbPi0Header.cxx:59 AliPHOSpPbPi0Header.cxx:60 AliPHOSpPbPi0Header.cxx:61 AliPHOSpPbPi0Header.cxx:62 AliPHOSpPbPi0Header.cxx:63 AliPHOSpPbPi0Header.cxx:64 AliPHOSpPbPi0Header.cxx:65 AliPHOSpPbPi0Header.cxx:66 AliPHOSpPbPi0Header.cxx:67 AliPHOSpPbPi0Header.cxx:68 AliPHOSpPbPi0Header.cxx:69 AliPHOSpPbPi0Header.cxx:70 AliPHOSpPbPi0Header.cxx:71 AliPHOSpPbPi0Header.cxx:72 AliPHOSpPbPi0Header.cxx:73 AliPHOSpPbPi0Header.cxx:74 AliPHOSpPbPi0Header.cxx:75 AliPHOSpPbPi0Header.cxx:76 AliPHOSpPbPi0Header.cxx:77 AliPHOSpPbPi0Header.cxx:78 AliPHOSpPbPi0Header.cxx:79 AliPHOSpPbPi0Header.cxx:80 AliPHOSpPbPi0Header.cxx:81 AliPHOSpPbPi0Header.cxx:82 AliPHOSpPbPi0Header.cxx:83 AliPHOSpPbPi0Header.cxx:84 AliPHOSpPbPi0Header.cxx:85 AliPHOSpPbPi0Header.cxx:86 AliPHOSpPbPi0Header.cxx:87 AliPHOSpPbPi0Header.cxx:88 AliPHOSpPbPi0Header.cxx:89 AliPHOSpPbPi0Header.cxx:90 AliPHOSpPbPi0Header.cxx:91 AliPHOSpPbPi0Header.cxx:92 AliPHOSpPbPi0Header.cxx:93 AliPHOSpPbPi0Header.cxx:94 AliPHOSpPbPi0Header.cxx:95 AliPHOSpPbPi0Header.cxx:96 AliPHOSpPbPi0Header.cxx:97 AliPHOSpPbPi0Header.cxx:98 AliPHOSpPbPi0Header.cxx:99 AliPHOSpPbPi0Header.cxx:100 AliPHOSpPbPi0Header.cxx:101 AliPHOSpPbPi0Header.cxx:102 AliPHOSpPbPi0Header.cxx:103 AliPHOSpPbPi0Header.cxx:104 AliPHOSpPbPi0Header.cxx:105 AliPHOSpPbPi0Header.cxx:106 AliPHOSpPbPi0Header.cxx:107 AliPHOSpPbPi0Header.cxx:108 AliPHOSpPbPi0Header.cxx:109 AliPHOSpPbPi0Header.cxx:110 AliPHOSpPbPi0Header.cxx:111 AliPHOSpPbPi0Header.cxx:112 AliPHOSpPbPi0Header.cxx:113 AliPHOSpPbPi0Header.cxx:114 AliPHOSpPbPi0Header.cxx:115 AliPHOSpPbPi0Header.cxx:116 AliPHOSpPbPi0Header.cxx:117 AliPHOSpPbPi0Header.cxx:118 AliPHOSpPbPi0Header.cxx:119 AliPHOSpPbPi0Header.cxx:120 AliPHOSpPbPi0Header.cxx:121 AliPHOSpPbPi0Header.cxx:122 AliPHOSpPbPi0Header.cxx:123 AliPHOSpPbPi0Header.cxx:124 AliPHOSpPbPi0Header.cxx:125 AliPHOSpPbPi0Header.cxx:126 AliPHOSpPbPi0Header.cxx:127 AliPHOSpPbPi0Header.cxx:128 AliPHOSpPbPi0Header.cxx:129 AliPHOSpPbPi0Header.cxx:130 AliPHOSpPbPi0Header.cxx:131 AliPHOSpPbPi0Header.cxx:132 AliPHOSpPbPi0Header.cxx:133 AliPHOSpPbPi0Header.cxx:134 AliPHOSpPbPi0Header.cxx:135 AliPHOSpPbPi0Header.cxx:136 AliPHOSpPbPi0Header.cxx:137 AliPHOSpPbPi0Header.cxx:138 AliPHOSpPbPi0Header.cxx:139 AliPHOSpPbPi0Header.cxx:140 AliPHOSpPbPi0Header.cxx:141 AliPHOSpPbPi0Header.cxx:142 AliPHOSpPbPi0Header.cxx:143 AliPHOSpPbPi0Header.cxx:144 AliPHOSpPbPi0Header.cxx:145 AliPHOSpPbPi0Header.cxx:146 AliPHOSpPbPi0Header.cxx:147 AliPHOSpPbPi0Header.cxx:148 AliPHOSpPbPi0Header.cxx:149 AliPHOSpPbPi0Header.cxx:150 AliPHOSpPbPi0Header.cxx:151 AliPHOSpPbPi0Header.cxx:152 AliPHOSpPbPi0Header.cxx:153 AliPHOSpPbPi0Header.cxx:154 AliPHOSpPbPi0Header.cxx:155 AliPHOSpPbPi0Header.cxx:156 AliPHOSpPbPi0Header.cxx:157 AliPHOSpPbPi0Header.cxx:158 AliPHOSpPbPi0Header.cxx:159 AliPHOSpPbPi0Header.cxx:160 AliPHOSpPbPi0Header.cxx:161 AliPHOSpPbPi0Header.cxx:162 AliPHOSpPbPi0Header.cxx:163 AliPHOSpPbPi0Header.cxx:164 AliPHOSpPbPi0Header.cxx:165 AliPHOSpPbPi0Header.cxx:166 AliPHOSpPbPi0Header.cxx:167 AliPHOSpPbPi0Header.cxx:168 AliPHOSpPbPi0Header.cxx:169 AliPHOSpPbPi0Header.cxx:170 AliPHOSpPbPi0Header.cxx:171 AliPHOSpPbPi0Header.cxx:172 AliPHOSpPbPi0Header.cxx:173 AliPHOSpPbPi0Header.cxx:174 AliPHOSpPbPi0Header.cxx:175 AliPHOSpPbPi0Header.cxx:176 AliPHOSpPbPi0Header.cxx:177 AliPHOSpPbPi0Header.cxx:178 AliPHOSpPbPi0Header.cxx:179 AliPHOSpPbPi0Header.cxx:180 AliPHOSpPbPi0Header.cxx:181 AliPHOSpPbPi0Header.cxx:182 AliPHOSpPbPi0Header.cxx:183 AliPHOSpPbPi0Header.cxx:184 AliPHOSpPbPi0Header.cxx:185 AliPHOSpPbPi0Header.cxx:186 AliPHOSpPbPi0Header.cxx:187 AliPHOSpPbPi0Header.cxx:188 AliPHOSpPbPi0Header.cxx:189 AliPHOSpPbPi0Header.cxx:190 AliPHOSpPbPi0Header.cxx:191 AliPHOSpPbPi0Header.cxx:192 AliPHOSpPbPi0Header.cxx:193 AliPHOSpPbPi0Header.cxx:194 AliPHOSpPbPi0Header.cxx:195 AliPHOSpPbPi0Header.cxx:196 AliPHOSpPbPi0Header.cxx:197 AliPHOSpPbPi0Header.cxx:198 AliPHOSpPbPi0Header.cxx:199 AliPHOSpPbPi0Header.cxx:200 AliPHOSpPbPi0Header.cxx:201 AliPHOSpPbPi0Header.cxx:202 AliPHOSpPbPi0Header.cxx:203 AliPHOSpPbPi0Header.cxx:204 AliPHOSpPbPi0Header.cxx:205 AliPHOSpPbPi0Header.cxx:206 AliPHOSpPbPi0Header.cxx:207 AliPHOSpPbPi0Header.cxx:208 AliPHOSpPbPi0Header.cxx:209 AliPHOSpPbPi0Header.cxx:210 AliPHOSpPbPi0Header.cxx:211 AliPHOSpPbPi0Header.cxx:212 AliPHOSpPbPi0Header.cxx:213 AliPHOSpPbPi0Header.cxx:214 AliPHOSpPbPi0Header.cxx:215 AliPHOSpPbPi0Header.cxx:216 AliPHOSpPbPi0Header.cxx:217 AliPHOSpPbPi0Header.cxx:218 AliPHOSpPbPi0Header.cxx:219 AliPHOSpPbPi0Header.cxx:220 AliPHOSpPbPi0Header.cxx:221 AliPHOSpPbPi0Header.cxx:222 AliPHOSpPbPi0Header.cxx:223 AliPHOSpPbPi0Header.cxx:224 AliPHOSpPbPi0Header.cxx:225 AliPHOSpPbPi0Header.cxx:226 AliPHOSpPbPi0Header.cxx:227 AliPHOSpPbPi0Header.cxx:228 AliPHOSpPbPi0Header.cxx:229 AliPHOSpPbPi0Header.cxx:230 AliPHOSpPbPi0Header.cxx:231 AliPHOSpPbPi0Header.cxx:232 AliPHOSpPbPi0Header.cxx:233 AliPHOSpPbPi0Header.cxx:234 AliPHOSpPbPi0Header.cxx:235 AliPHOSpPbPi0Header.cxx:236 AliPHOSpPbPi0Header.cxx:237 AliPHOSpPbPi0Header.cxx:238 AliPHOSpPbPi0Header.cxx:239 AliPHOSpPbPi0Header.cxx:240 AliPHOSpPbPi0Header.cxx:241 AliPHOSpPbPi0Header.cxx:242 AliPHOSpPbPi0Header.cxx:243 AliPHOSpPbPi0Header.cxx:244 AliPHOSpPbPi0Header.cxx:245 AliPHOSpPbPi0Header.cxx:246 AliPHOSpPbPi0Header.cxx:247 AliPHOSpPbPi0Header.cxx:248 AliPHOSpPbPi0Header.cxx:249 AliPHOSpPbPi0Header.cxx:250 AliPHOSpPbPi0Header.cxx:251 AliPHOSpPbPi0Header.cxx:252 AliPHOSpPbPi0Header.cxx:253 AliPHOSpPbPi0Header.cxx:254 AliPHOSpPbPi0Header.cxx:255 AliPHOSpPbPi0Header.cxx:256 AliPHOSpPbPi0Header.cxx:257 AliPHOSpPbPi0Header.cxx:258 AliPHOSpPbPi0Header.cxx:259 AliPHOSpPbPi0Header.cxx:260 AliPHOSpPbPi0Header.cxx:261 AliPHOSpPbPi0Header.cxx:262 AliPHOSpPbPi0Header.cxx:263 AliPHOSpPbPi0Header.cxx:264 AliPHOSpPbPi0Header.cxx:265 AliPHOSpPbPi0Header.cxx:266 AliPHOSpPbPi0Header.cxx:267 AliPHOSpPbPi0Header.cxx:268 AliPHOSpPbPi0Header.cxx:269 AliPHOSpPbPi0Header.cxx:270 AliPHOSpPbPi0Header.cxx:271 AliPHOSpPbPi0Header.cxx:272 AliPHOSpPbPi0Header.cxx:273 AliPHOSpPbPi0Header.cxx:274 AliPHOSpPbPi0Header.cxx:275 AliPHOSpPbPi0Header.cxx:276 AliPHOSpPbPi0Header.cxx:277 AliPHOSpPbPi0Header.cxx:278 AliPHOSpPbPi0Header.cxx:279 AliPHOSpPbPi0Header.cxx:280 AliPHOSpPbPi0Header.cxx:281 AliPHOSpPbPi0Header.cxx:282 AliPHOSpPbPi0Header.cxx:283 AliPHOSpPbPi0Header.cxx:284 AliPHOSpPbPi0Header.cxx:285 AliPHOSpPbPi0Header.cxx:286 AliPHOSpPbPi0Header.cxx:287 AliPHOSpPbPi0Header.cxx:288 AliPHOSpPbPi0Header.cxx:289 AliPHOSpPbPi0Header.cxx:290 AliPHOSpPbPi0Header.cxx:291 AliPHOSpPbPi0Header.cxx:292 AliPHOSpPbPi0Header.cxx:293 AliPHOSpPbPi0Header.cxx:294 AliPHOSpPbPi0Header.cxx:295 AliPHOSpPbPi0Header.cxx:296 AliPHOSpPbPi0Header.cxx:297 AliPHOSpPbPi0Header.cxx:298 AliPHOSpPbPi0Header.cxx:299 AliPHOSpPbPi0Header.cxx:300 AliPHOSpPbPi0Header.cxx:301 AliPHOSpPbPi0Header.cxx:302 AliPHOSpPbPi0Header.cxx:303 AliPHOSpPbPi0Header.cxx:304 AliPHOSpPbPi0Header.cxx:305 AliPHOSpPbPi0Header.cxx:306 AliPHOSpPbPi0Header.cxx:307 AliPHOSpPbPi0Header.cxx:308 AliPHOSpPbPi0Header.cxx:309 AliPHOSpPbPi0Header.cxx:310 AliPHOSpPbPi0Header.cxx:311 AliPHOSpPbPi0Header.cxx:312 AliPHOSpPbPi0Header.cxx:313 AliPHOSpPbPi0Header.cxx:314 AliPHOSpPbPi0Header.cxx:315 AliPHOSpPbPi0Header.cxx:316 AliPHOSpPbPi0Header.cxx:317 AliPHOSpPbPi0Header.cxx:318 AliPHOSpPbPi0Header.cxx:319 AliPHOSpPbPi0Header.cxx:320 AliPHOSpPbPi0Header.cxx:321 AliPHOSpPbPi0Header.cxx:322 AliPHOSpPbPi0Header.cxx:323 AliPHOSpPbPi0Header.cxx:324 AliPHOSpPbPi0Header.cxx:325 AliPHOSpPbPi0Header.cxx:326 AliPHOSpPbPi0Header.cxx:327 AliPHOSpPbPi0Header.cxx:328 AliPHOSpPbPi0Header.cxx:329 AliPHOSpPbPi0Header.cxx:330 AliPHOSpPbPi0Header.cxx:331 AliPHOSpPbPi0Header.cxx:332 AliPHOSpPbPi0Header.cxx:333 AliPHOSpPbPi0Header.cxx:334 AliPHOSpPbPi0Header.cxx:335 AliPHOSpPbPi0Header.cxx:336 AliPHOSpPbPi0Header.cxx:337 AliPHOSpPbPi0Header.cxx:338 AliPHOSpPbPi0Header.cxx:339 AliPHOSpPbPi0Header.cxx:340 AliPHOSpPbPi0Header.cxx:341 AliPHOSpPbPi0Header.cxx:342 AliPHOSpPbPi0Header.cxx:343 AliPHOSpPbPi0Header.cxx:344 AliPHOSpPbPi0Header.cxx:345 AliPHOSpPbPi0Header.cxx:346 AliPHOSpPbPi0Header.cxx:347 AliPHOSpPbPi0Header.cxx:348 AliPHOSpPbPi0Header.cxx:349 AliPHOSpPbPi0Header.cxx:350 AliPHOSpPbPi0Header.cxx:351 AliPHOSpPbPi0Header.cxx:352 AliPHOSpPbPi0Header.cxx:353 AliPHOSpPbPi0Header.cxx:354 AliPHOSpPbPi0Header.cxx:355 AliPHOSpPbPi0Header.cxx:356 AliPHOSpPbPi0Header.cxx:357 AliPHOSpPbPi0Header.cxx:358 AliPHOSpPbPi0Header.cxx:359 AliPHOSpPbPi0Header.cxx:360 AliPHOSpPbPi0Header.cxx:361 AliPHOSpPbPi0Header.cxx:362 AliPHOSpPbPi0Header.cxx:363 AliPHOSpPbPi0Header.cxx:364 AliPHOSpPbPi0Header.cxx:365 AliPHOSpPbPi0Header.cxx:366 AliPHOSpPbPi0Header.cxx:367 AliPHOSpPbPi0Header.cxx:368 AliPHOSpPbPi0Header.cxx:369 AliPHOSpPbPi0Header.cxx:370 AliPHOSpPbPi0Header.cxx:371 AliPHOSpPbPi0Header.cxx:372 AliPHOSpPbPi0Header.cxx:373 AliPHOSpPbPi0Header.cxx:374 AliPHOSpPbPi0Header.cxx:375 AliPHOSpPbPi0Header.cxx:376 AliPHOSpPbPi0Header.cxx:377 AliPHOSpPbPi0Header.cxx:378 AliPHOSpPbPi0Header.cxx:379 AliPHOSpPbPi0Header.cxx:380 AliPHOSpPbPi0Header.cxx:381 AliPHOSpPbPi0Header.cxx:382 AliPHOSpPbPi0Header.cxx:383 AliPHOSpPbPi0Header.cxx:384 AliPHOSpPbPi0Header.cxx:385 AliPHOSpPbPi0Header.cxx:386 AliPHOSpPbPi0Header.cxx:387 AliPHOSpPbPi0Header.cxx:388 AliPHOSpPbPi0Header.cxx:389 AliPHOSpPbPi0Header.cxx:390 AliPHOSpPbPi0Header.cxx:391 AliPHOSpPbPi0Header.cxx:392 AliPHOSpPbPi0Header.cxx:393 AliPHOSpPbPi0Header.cxx:394 AliPHOSpPbPi0Header.cxx:395 AliPHOSpPbPi0Header.cxx:396 AliPHOSpPbPi0Header.cxx:397 AliPHOSpPbPi0Header.cxx:398 AliPHOSpPbPi0Header.cxx:399 AliPHOSpPbPi0Header.cxx:400 AliPHOSpPbPi0Header.cxx:401 AliPHOSpPbPi0Header.cxx:402 AliPHOSpPbPi0Header.cxx:403 AliPHOSpPbPi0Header.cxx:404 AliPHOSpPbPi0Header.cxx:405 AliPHOSpPbPi0Header.cxx:406 AliPHOSpPbPi0Header.cxx:407 AliPHOSpPbPi0Header.cxx:408 AliPHOSpPbPi0Header.cxx:409 AliPHOSpPbPi0Header.cxx:410 AliPHOSpPbPi0Header.cxx:411 AliPHOSpPbPi0Header.cxx:412 AliPHOSpPbPi0Header.cxx:413 AliPHOSpPbPi0Header.cxx:414 AliPHOSpPbPi0Header.cxx:415 AliPHOSpPbPi0Header.cxx:416 AliPHOSpPbPi0Header.cxx:417 AliPHOSpPbPi0Header.cxx:418 AliPHOSpPbPi0Header.cxx:419 AliPHOSpPbPi0Header.cxx:420 AliPHOSpPbPi0Header.cxx:421 AliPHOSpPbPi0Header.cxx:422 AliPHOSpPbPi0Header.cxx:423 AliPHOSpPbPi0Header.cxx:424 AliPHOSpPbPi0Header.cxx:425 AliPHOSpPbPi0Header.cxx:426 AliPHOSpPbPi0Header.cxx:427 AliPHOSpPbPi0Header.cxx:428 AliPHOSpPbPi0Header.cxx:429 AliPHOSpPbPi0Header.cxx:430 AliPHOSpPbPi0Header.cxx:431 AliPHOSpPbPi0Header.cxx:432 AliPHOSpPbPi0Header.cxx:433 AliPHOSpPbPi0Header.cxx:434 AliPHOSpPbPi0Header.cxx:435 AliPHOSpPbPi0Header.cxx:436 AliPHOSpPbPi0Header.cxx:437 AliPHOSpPbPi0Header.cxx:438 AliPHOSpPbPi0Header.cxx:439 AliPHOSpPbPi0Header.cxx:440 AliPHOSpPbPi0Header.cxx:441 AliPHOSpPbPi0Header.cxx:442 AliPHOSpPbPi0Header.cxx:443 AliPHOSpPbPi0Header.cxx:444 AliPHOSpPbPi0Header.cxx:445 AliPHOSpPbPi0Header.cxx:446 AliPHOSpPbPi0Header.cxx:447 AliPHOSpPbPi0Header.cxx:448 AliPHOSpPbPi0Header.cxx:449 AliPHOSpPbPi0Header.cxx:450 AliPHOSpPbPi0Header.cxx:451 AliPHOSpPbPi0Header.cxx:452 AliPHOSpPbPi0Header.cxx:453 AliPHOSpPbPi0Header.cxx:454 AliPHOSpPbPi0Header.cxx:455 AliPHOSpPbPi0Header.cxx:456 AliPHOSpPbPi0Header.cxx:457 AliPHOSpPbPi0Header.cxx:458 AliPHOSpPbPi0Header.cxx:459 AliPHOSpPbPi0Header.cxx:460 AliPHOSpPbPi0Header.cxx:461 AliPHOSpPbPi0Header.cxx:462 AliPHOSpPbPi0Header.cxx:463 AliPHOSpPbPi0Header.cxx:464 AliPHOSpPbPi0Header.cxx:465 AliPHOSpPbPi0Header.cxx:466 AliPHOSpPbPi0Header.cxx:467 AliPHOSpPbPi0Header.cxx:468 AliPHOSpPbPi0Header.cxx:469 AliPHOSpPbPi0Header.cxx:470 AliPHOSpPbPi0Header.cxx:471 AliPHOSpPbPi0Header.cxx:472 AliPHOSpPbPi0Header.cxx:473 AliPHOSpPbPi0Header.cxx:474 AliPHOSpPbPi0Header.cxx:475 AliPHOSpPbPi0Header.cxx:476 AliPHOSpPbPi0Header.cxx:477 AliPHOSpPbPi0Header.cxx:478 AliPHOSpPbPi0Header.cxx:479 AliPHOSpPbPi0Header.cxx:480 AliPHOSpPbPi0Header.cxx:481 AliPHOSpPbPi0Header.cxx:482 AliPHOSpPbPi0Header.cxx:483 AliPHOSpPbPi0Header.cxx:484 AliPHOSpPbPi0Header.cxx:485 AliPHOSpPbPi0Header.cxx:486 AliPHOSpPbPi0Header.cxx:487 AliPHOSpPbPi0Header.cxx:488 AliPHOSpPbPi0Header.cxx:489 AliPHOSpPbPi0Header.cxx:490 AliPHOSpPbPi0Header.cxx:491 AliPHOSpPbPi0Header.cxx:492 AliPHOSpPbPi0Header.cxx:493 AliPHOSpPbPi0Header.cxx:494 AliPHOSpPbPi0Header.cxx:495 AliPHOSpPbPi0Header.cxx:496 AliPHOSpPbPi0Header.cxx:497 AliPHOSpPbPi0Header.cxx:498 AliPHOSpPbPi0Header.cxx:499 AliPHOSpPbPi0Header.cxx:500 AliPHOSpPbPi0Header.cxx:501 AliPHOSpPbPi0Header.cxx:502 AliPHOSpPbPi0Header.cxx:503 AliPHOSpPbPi0Header.cxx:504 AliPHOSpPbPi0Header.cxx:505 AliPHOSpPbPi0Header.cxx:506 AliPHOSpPbPi0Header.cxx:507 AliPHOSpPbPi0Header.cxx:508 AliPHOSpPbPi0Header.cxx:509 AliPHOSpPbPi0Header.cxx:510 AliPHOSpPbPi0Header.cxx:511 AliPHOSpPbPi0Header.cxx:512 AliPHOSpPbPi0Header.cxx:513 AliPHOSpPbPi0Header.cxx:514 AliPHOSpPbPi0Header.cxx:515 AliPHOSpPbPi0Header.cxx:516 AliPHOSpPbPi0Header.cxx:517 AliPHOSpPbPi0Header.cxx:518 AliPHOSpPbPi0Header.cxx:519 AliPHOSpPbPi0Header.cxx:520 AliPHOSpPbPi0Header.cxx:521 AliPHOSpPbPi0Header.cxx:522 AliPHOSpPbPi0Header.cxx:523 AliPHOSpPbPi0Header.cxx:524 AliPHOSpPbPi0Header.cxx:525 AliPHOSpPbPi0Header.cxx:526 AliPHOSpPbPi0Header.cxx:527 AliPHOSpPbPi0Header.cxx:528 AliPHOSpPbPi0Header.cxx:529 AliPHOSpPbPi0Header.cxx:530 AliPHOSpPbPi0Header.cxx:531 AliPHOSpPbPi0Header.cxx:532 AliPHOSpPbPi0Header.cxx:533 AliPHOSpPbPi0Header.cxx:534 AliPHOSpPbPi0Header.cxx:535 AliPHOSpPbPi0Header.cxx:536 AliPHOSpPbPi0Header.cxx:537 AliPHOSpPbPi0Header.cxx:538 AliPHOSpPbPi0Header.cxx:539 AliPHOSpPbPi0Header.cxx:540 AliPHOSpPbPi0Header.cxx:541 AliPHOSpPbPi0Header.cxx:542 AliPHOSpPbPi0Header.cxx:543 AliPHOSpPbPi0Header.cxx:544 AliPHOSpPbPi0Header.cxx:545 AliPHOSpPbPi0Header.cxx:546 AliPHOSpPbPi0Header.cxx:547 AliPHOSpPbPi0Header.cxx:548 AliPHOSpPbPi0Header.cxx:549 AliPHOSpPbPi0Header.cxx:550 AliPHOSpPbPi0Header.cxx:551 AliPHOSpPbPi0Header.cxx:552 AliPHOSpPbPi0Header.cxx:553 AliPHOSpPbPi0Header.cxx:554 AliPHOSpPbPi0Header.cxx:555 AliPHOSpPbPi0Header.cxx:556 AliPHOSpPbPi0Header.cxx:557 AliPHOSpPbPi0Header.cxx:558 AliPHOSpPbPi0Header.cxx:559 AliPHOSpPbPi0Header.cxx:560 AliPHOSpPbPi0Header.cxx:561 AliPHOSpPbPi0Header.cxx:562 AliPHOSpPbPi0Header.cxx:563 AliPHOSpPbPi0Header.cxx:564 AliPHOSpPbPi0Header.cxx:565 AliPHOSpPbPi0Header.cxx:566 AliPHOSpPbPi0Header.cxx:567 AliPHOSpPbPi0Header.cxx:568 AliPHOSpPbPi0Header.cxx:569 AliPHOSpPbPi0Header.cxx:570 AliPHOSpPbPi0Header.cxx:571 AliPHOSpPbPi0Header.cxx:572 AliPHOSpPbPi0Header.cxx:573 AliPHOSpPbPi0Header.cxx:574 AliPHOSpPbPi0Header.cxx:575 AliPHOSpPbPi0Header.cxx:576 AliPHOSpPbPi0Header.cxx:577 AliPHOSpPbPi0Header.cxx:578 AliPHOSpPbPi0Header.cxx:579 AliPHOSpPbPi0Header.cxx:580 AliPHOSpPbPi0Header.cxx:581 AliPHOSpPbPi0Header.cxx:582 AliPHOSpPbPi0Header.cxx:583 AliPHOSpPbPi0Header.cxx:584 AliPHOSpPbPi0Header.cxx:585 AliPHOSpPbPi0Header.cxx:586 AliPHOSpPbPi0Header.cxx:587 AliPHOSpPbPi0Header.cxx:588 AliPHOSpPbPi0Header.cxx:589 AliPHOSpPbPi0Header.cxx:590 AliPHOSpPbPi0Header.cxx:591 AliPHOSpPbPi0Header.cxx:592 AliPHOSpPbPi0Header.cxx:593 AliPHOSpPbPi0Header.cxx:594 AliPHOSpPbPi0Header.cxx:595 AliPHOSpPbPi0Header.cxx:596 AliPHOSpPbPi0Header.cxx:597 AliPHOSpPbPi0Header.cxx:598 AliPHOSpPbPi0Header.cxx:599 AliPHOSpPbPi0Header.cxx:600 AliPHOSpPbPi0Header.cxx:601 AliPHOSpPbPi0Header.cxx:602 AliPHOSpPbPi0Header.cxx:603 AliPHOSpPbPi0Header.cxx:604 AliPHOSpPbPi0Header.cxx:605 AliPHOSpPbPi0Header.cxx:606 AliPHOSpPbPi0Header.cxx:607 AliPHOSpPbPi0Header.cxx:608 AliPHOSpPbPi0Header.cxx:609 AliPHOSpPbPi0Header.cxx:610 AliPHOSpPbPi0Header.cxx:611 AliPHOSpPbPi0Header.cxx:612 AliPHOSpPbPi0Header.cxx:613 AliPHOSpPbPi0Header.cxx:614 AliPHOSpPbPi0Header.cxx:615 AliPHOSpPbPi0Header.cxx:616 AliPHOSpPbPi0Header.cxx:617 AliPHOSpPbPi0Header.cxx:618 AliPHOSpPbPi0Header.cxx:619 AliPHOSpPbPi0Header.cxx:620 AliPHOSpPbPi0Header.cxx:621 AliPHOSpPbPi0Header.cxx:622 AliPHOSpPbPi0Header.cxx:623 AliPHOSpPbPi0Header.cxx:624 AliPHOSpPbPi0Header.cxx:625 AliPHOSpPbPi0Header.cxx:626 AliPHOSpPbPi0Header.cxx:627 AliPHOSpPbPi0Header.cxx:628 AliPHOSpPbPi0Header.cxx:629 AliPHOSpPbPi0Header.cxx:630 AliPHOSpPbPi0Header.cxx:631 AliPHOSpPbPi0Header.cxx:632 AliPHOSpPbPi0Header.cxx:633 AliPHOSpPbPi0Header.cxx:634 AliPHOSpPbPi0Header.cxx:635 AliPHOSpPbPi0Header.cxx:636 AliPHOSpPbPi0Header.cxx:637 AliPHOSpPbPi0Header.cxx:638 AliPHOSpPbPi0Header.cxx:639 AliPHOSpPbPi0Header.cxx:640 AliPHOSpPbPi0Header.cxx:641 AliPHOSpPbPi0Header.cxx:642 AliPHOSpPbPi0Header.cxx:643 AliPHOSpPbPi0Header.cxx:644 AliPHOSpPbPi0Header.cxx:645 AliPHOSpPbPi0Header.cxx:646 AliPHOSpPbPi0Header.cxx:647 AliPHOSpPbPi0Header.cxx:648 AliPHOSpPbPi0Header.cxx:649 AliPHOSpPbPi0Header.cxx:650 AliPHOSpPbPi0Header.cxx:651 AliPHOSpPbPi0Header.cxx:652 AliPHOSpPbPi0Header.cxx:653 AliPHOSpPbPi0Header.cxx:654 AliPHOSpPbPi0Header.cxx:655 AliPHOSpPbPi0Header.cxx:656 AliPHOSpPbPi0Header.cxx:657 AliPHOSpPbPi0Header.cxx:658 AliPHOSpPbPi0Header.cxx:659 AliPHOSpPbPi0Header.cxx:660 AliPHOSpPbPi0Header.cxx:661 AliPHOSpPbPi0Header.cxx:662 AliPHOSpPbPi0Header.cxx:663 AliPHOSpPbPi0Header.cxx:664 AliPHOSpPbPi0Header.cxx:665 AliPHOSpPbPi0Header.cxx:666 AliPHOSpPbPi0Header.cxx:667 AliPHOSpPbPi0Header.cxx:668 AliPHOSpPbPi0Header.cxx:669 AliPHOSpPbPi0Header.cxx:670 AliPHOSpPbPi0Header.cxx:671 AliPHOSpPbPi0Header.cxx:672 AliPHOSpPbPi0Header.cxx:673 AliPHOSpPbPi0Header.cxx:674 AliPHOSpPbPi0Header.cxx:675 AliPHOSpPbPi0Header.cxx:676 AliPHOSpPbPi0Header.cxx:677 AliPHOSpPbPi0Header.cxx:678 AliPHOSpPbPi0Header.cxx:679 AliPHOSpPbPi0Header.cxx:680 AliPHOSpPbPi0Header.cxx:681 AliPHOSpPbPi0Header.cxx:682 AliPHOSpPbPi0Header.cxx:683 AliPHOSpPbPi0Header.cxx:684 AliPHOSpPbPi0Header.cxx:685 AliPHOSpPbPi0Header.cxx:686 AliPHOSpPbPi0Header.cxx:687 AliPHOSpPbPi0Header.cxx:688 AliPHOSpPbPi0Header.cxx:689 AliPHOSpPbPi0Header.cxx:690 AliPHOSpPbPi0Header.cxx:691 AliPHOSpPbPi0Header.cxx:692 AliPHOSpPbPi0Header.cxx:693 AliPHOSpPbPi0Header.cxx:694 AliPHOSpPbPi0Header.cxx:695 AliPHOSpPbPi0Header.cxx:696 AliPHOSpPbPi0Header.cxx:697 AliPHOSpPbPi0Header.cxx:698 AliPHOSpPbPi0Header.cxx:699 AliPHOSpPbPi0Header.cxx:700 AliPHOSpPbPi0Header.cxx:701 AliPHOSpPbPi0Header.cxx:702 AliPHOSpPbPi0Header.cxx:703 AliPHOSpPbPi0Header.cxx:704 AliPHOSpPbPi0Header.cxx:705 AliPHOSpPbPi0Header.cxx:706 AliPHOSpPbPi0Header.cxx:707 AliPHOSpPbPi0Header.cxx:708 AliPHOSpPbPi0Header.cxx:709 AliPHOSpPbPi0Header.cxx:710 AliPHOSpPbPi0Header.cxx:711 AliPHOSpPbPi0Header.cxx:712 AliPHOSpPbPi0Header.cxx:713 AliPHOSpPbPi0Header.cxx:714 AliPHOSpPbPi0Header.cxx:715 AliPHOSpPbPi0Header.cxx:716 AliPHOSpPbPi0Header.cxx:717 AliPHOSpPbPi0Header.cxx:718 AliPHOSpPbPi0Header.cxx:719 AliPHOSpPbPi0Header.cxx:720 AliPHOSpPbPi0Header.cxx:721 AliPHOSpPbPi0Header.cxx:722 AliPHOSpPbPi0Header.cxx:723 AliPHOSpPbPi0Header.cxx:724 AliPHOSpPbPi0Header.cxx:725 AliPHOSpPbPi0Header.cxx:726 AliPHOSpPbPi0Header.cxx:727 AliPHOSpPbPi0Header.cxx:728 AliPHOSpPbPi0Header.cxx:729 AliPHOSpPbPi0Header.cxx:730 AliPHOSpPbPi0Header.cxx:731 AliPHOSpPbPi0Header.cxx:732 AliPHOSpPbPi0Header.cxx:733 AliPHOSpPbPi0Header.cxx:734 AliPHOSpPbPi0Header.cxx:735 AliPHOSpPbPi0Header.cxx:736 AliPHOSpPbPi0Header.cxx:737 AliPHOSpPbPi0Header.cxx:738 AliPHOSpPbPi0Header.cxx:739 AliPHOSpPbPi0Header.cxx:740 AliPHOSpPbPi0Header.cxx:741 AliPHOSpPbPi0Header.cxx:742 AliPHOSpPbPi0Header.cxx:743 AliPHOSpPbPi0Header.cxx:744 AliPHOSpPbPi0Header.cxx:745 AliPHOSpPbPi0Header.cxx:746 AliPHOSpPbPi0Header.cxx:747 AliPHOSpPbPi0Header.cxx:748 AliPHOSpPbPi0Header.cxx:749 AliPHOSpPbPi0Header.cxx:750 AliPHOSpPbPi0Header.cxx:751 AliPHOSpPbPi0Header.cxx:752 AliPHOSpPbPi0Header.cxx:753 AliPHOSpPbPi0Header.cxx:754 AliPHOSpPbPi0Header.cxx:755 AliPHOSpPbPi0Header.cxx:756 AliPHOSpPbPi0Header.cxx:757 AliPHOSpPbPi0Header.cxx:758 AliPHOSpPbPi0Header.cxx:759 AliPHOSpPbPi0Header.cxx:760 AliPHOSpPbPi0Header.cxx:761 AliPHOSpPbPi0Header.cxx:762 AliPHOSpPbPi0Header.cxx:763 AliPHOSpPbPi0Header.cxx:764 AliPHOSpPbPi0Header.cxx:765 AliPHOSpPbPi0Header.cxx:766 AliPHOSpPbPi0Header.cxx:767 AliPHOSpPbPi0Header.cxx:768 AliPHOSpPbPi0Header.cxx:769 AliPHOSpPbPi0Header.cxx:770 AliPHOSpPbPi0Header.cxx:771 AliPHOSpPbPi0Header.cxx:772 AliPHOSpPbPi0Header.cxx:773 AliPHOSpPbPi0Header.cxx:774 AliPHOSpPbPi0Header.cxx:775 AliPHOSpPbPi0Header.cxx:776 AliPHOSpPbPi0Header.cxx:777 AliPHOSpPbPi0Header.cxx:778 AliPHOSpPbPi0Header.cxx:779 AliPHOSpPbPi0Header.cxx:780 AliPHOSpPbPi0Header.cxx:781 AliPHOSpPbPi0Header.cxx:782 AliPHOSpPbPi0Header.cxx:783 AliPHOSpPbPi0Header.cxx:784 AliPHOSpPbPi0Header.cxx:785 AliPHOSpPbPi0Header.cxx:786 AliPHOSpPbPi0Header.cxx:787 AliPHOSpPbPi0Header.cxx:788 AliPHOSpPbPi0Header.cxx:789 AliPHOSpPbPi0Header.cxx:790 AliPHOSpPbPi0Header.cxx:791 AliPHOSpPbPi0Header.cxx:792 AliPHOSpPbPi0Header.cxx:793 AliPHOSpPbPi0Header.cxx:794 AliPHOSpPbPi0Header.cxx:795 AliPHOSpPbPi0Header.cxx:796 AliPHOSpPbPi0Header.cxx:797 AliPHOSpPbPi0Header.cxx:798 AliPHOSpPbPi0Header.cxx:799 AliPHOSpPbPi0Header.cxx:800 AliPHOSpPbPi0Header.cxx:801 AliPHOSpPbPi0Header.cxx:802 AliPHOSpPbPi0Header.cxx:803 AliPHOSpPbPi0Header.cxx:804 AliPHOSpPbPi0Header.cxx:805 AliPHOSpPbPi0Header.cxx:806 AliPHOSpPbPi0Header.cxx:807 AliPHOSpPbPi0Header.cxx:808 AliPHOSpPbPi0Header.cxx:809 AliPHOSpPbPi0Header.cxx:810 AliPHOSpPbPi0Header.cxx:811 AliPHOSpPbPi0Header.cxx:812 AliPHOSpPbPi0Header.cxx:813 AliPHOSpPbPi0Header.cxx:814 AliPHOSpPbPi0Header.cxx:815 AliPHOSpPbPi0Header.cxx:816 AliPHOSpPbPi0Header.cxx:817 AliPHOSpPbPi0Header.cxx:818 AliPHOSpPbPi0Header.cxx:819 AliPHOSpPbPi0Header.cxx:820 AliPHOSpPbPi0Header.cxx:821 AliPHOSpPbPi0Header.cxx:822 AliPHOSpPbPi0Header.cxx:823 AliPHOSpPbPi0Header.cxx:824 AliPHOSpPbPi0Header.cxx:825 AliPHOSpPbPi0Header.cxx:826 AliPHOSpPbPi0Header.cxx:827 AliPHOSpPbPi0Header.cxx:828 AliPHOSpPbPi0Header.cxx:829 AliPHOSpPbPi0Header.cxx:830 AliPHOSpPbPi0Header.cxx:831 AliPHOSpPbPi0Header.cxx:832 AliPHOSpPbPi0Header.cxx:833 AliPHOSpPbPi0Header.cxx:834 AliPHOSpPbPi0Header.cxx:835 AliPHOSpPbPi0Header.cxx:836 AliPHOSpPbPi0Header.cxx:837 AliPHOSpPbPi0Header.cxx:838 AliPHOSpPbPi0Header.cxx:839 AliPHOSpPbPi0Header.cxx:840 AliPHOSpPbPi0Header.cxx:841 AliPHOSpPbPi0Header.cxx:842 AliPHOSpPbPi0Header.cxx:843 AliPHOSpPbPi0Header.cxx:844 AliPHOSpPbPi0Header.cxx:845 AliPHOSpPbPi0Header.cxx:846 AliPHOSpPbPi0Header.cxx:847 AliPHOSpPbPi0Header.cxx:848 AliPHOSpPbPi0Header.cxx:849 AliPHOSpPbPi0Header.cxx:850 AliPHOSpPbPi0Header.cxx:851 AliPHOSpPbPi0Header.cxx:852 AliPHOSpPbPi0Header.cxx:853 AliPHOSpPbPi0Header.cxx:854 AliPHOSpPbPi0Header.cxx:855 AliPHOSpPbPi0Header.cxx:856 AliPHOSpPbPi0Header.cxx:857 AliPHOSpPbPi0Header.cxx:858 AliPHOSpPbPi0Header.cxx:859 AliPHOSpPbPi0Header.cxx:860 AliPHOSpPbPi0Header.cxx:861 AliPHOSpPbPi0Header.cxx:862 AliPHOSpPbPi0Header.cxx:863 AliPHOSpPbPi0Header.cxx:864 AliPHOSpPbPi0Header.cxx:865 AliPHOSpPbPi0Header.cxx:866 AliPHOSpPbPi0Header.cxx:867 AliPHOSpPbPi0Header.cxx:868 AliPHOSpPbPi0Header.cxx:869 AliPHOSpPbPi0Header.cxx:870 AliPHOSpPbPi0Header.cxx:871 AliPHOSpPbPi0Header.cxx:872 AliPHOSpPbPi0Header.cxx:873 AliPHOSpPbPi0Header.cxx:874 AliPHOSpPbPi0Header.cxx:875 AliPHOSpPbPi0Header.cxx:876 AliPHOSpPbPi0Header.cxx:877 AliPHOSpPbPi0Header.cxx:878 AliPHOSpPbPi0Header.cxx:879 AliPHOSpPbPi0Header.cxx:880 AliPHOSpPbPi0Header.cxx:881 AliPHOSpPbPi0Header.cxx:882 AliPHOSpPbPi0Header.cxx:883 AliPHOSpPbPi0Header.cxx:884 AliPHOSpPbPi0Header.cxx:885 AliPHOSpPbPi0Header.cxx:886 AliPHOSpPbPi0Header.cxx:887 AliPHOSpPbPi0Header.cxx:888 AliPHOSpPbPi0Header.cxx:889 AliPHOSpPbPi0Header.cxx:890 AliPHOSpPbPi0Header.cxx:891 AliPHOSpPbPi0Header.cxx:892 AliPHOSpPbPi0Header.cxx:893 AliPHOSpPbPi0Header.cxx:894 AliPHOSpPbPi0Header.cxx:895 AliPHOSpPbPi0Header.cxx:896 AliPHOSpPbPi0Header.cxx:897 AliPHOSpPbPi0Header.cxx:898 AliPHOSpPbPi0Header.cxx:899 AliPHOSpPbPi0Header.cxx:900 AliPHOSpPbPi0Header.cxx:901 AliPHOSpPbPi0Header.cxx:902 AliPHOSpPbPi0Header.cxx:903 AliPHOSpPbPi0Header.cxx:904 AliPHOSpPbPi0Header.cxx:905 AliPHOSpPbPi0Header.cxx:906 AliPHOSpPbPi0Header.cxx:907 AliPHOSpPbPi0Header.cxx:908 AliPHOSpPbPi0Header.cxx:909 AliPHOSpPbPi0Header.cxx:910 AliPHOSpPbPi0Header.cxx:911 AliPHOSpPbPi0Header.cxx:912 AliPHOSpPbPi0Header.cxx:913 AliPHOSpPbPi0Header.cxx:914 AliPHOSpPbPi0Header.cxx:915 AliPHOSpPbPi0Header.cxx:916 AliPHOSpPbPi0Header.cxx:917 AliPHOSpPbPi0Header.cxx:918 AliPHOSpPbPi0Header.cxx:919 AliPHOSpPbPi0Header.cxx:920 AliPHOSpPbPi0Header.cxx:921 AliPHOSpPbPi0Header.cxx:922 AliPHOSpPbPi0Header.cxx:923 AliPHOSpPbPi0Header.cxx:924 AliPHOSpPbPi0Header.cxx:925 AliPHOSpPbPi0Header.cxx:926 AliPHOSpPbPi0Header.cxx:927 AliPHOSpPbPi0Header.cxx:928 AliPHOSpPbPi0Header.cxx:929 AliPHOSpPbPi0Header.cxx:930 AliPHOSpPbPi0Header.cxx:931 AliPHOSpPbPi0Header.cxx:932 AliPHOSpPbPi0Header.cxx:933 AliPHOSpPbPi0Header.cxx:934 AliPHOSpPbPi0Header.cxx:935 AliPHOSpPbPi0Header.cxx:936 AliPHOSpPbPi0Header.cxx:937 AliPHOSpPbPi0Header.cxx:938 AliPHOSpPbPi0Header.cxx:939 AliPHOSpPbPi0Header.cxx:940 AliPHOSpPbPi0Header.cxx:941 AliPHOSpPbPi0Header.cxx:942 AliPHOSpPbPi0Header.cxx:943 AliPHOSpPbPi0Header.cxx:944 AliPHOSpPbPi0Header.cxx:945 AliPHOSpPbPi0Header.cxx:946 AliPHOSpPbPi0Header.cxx:947 AliPHOSpPbPi0Header.cxx:948 AliPHOSpPbPi0Header.cxx:949 AliPHOSpPbPi0Header.cxx:950 AliPHOSpPbPi0Header.cxx:951 AliPHOSpPbPi0Header.cxx:952 AliPHOSpPbPi0Header.cxx:953 AliPHOSpPbPi0Header.cxx:954 AliPHOSpPbPi0Header.cxx:955 AliPHOSpPbPi0Header.cxx:956 AliPHOSpPbPi0Header.cxx:957 AliPHOSpPbPi0Header.cxx:958 AliPHOSpPbPi0Header.cxx:959 AliPHOSpPbPi0Header.cxx:960 AliPHOSpPbPi0Header.cxx:961 AliPHOSpPbPi0Header.cxx:962 AliPHOSpPbPi0Header.cxx:963 AliPHOSpPbPi0Header.cxx:964 AliPHOSpPbPi0Header.cxx:965 AliPHOSpPbPi0Header.cxx:966 AliPHOSpPbPi0Header.cxx:967 AliPHOSpPbPi0Header.cxx:968 AliPHOSpPbPi0Header.cxx:969 AliPHOSpPbPi0Header.cxx:970 AliPHOSpPbPi0Header.cxx:971 AliPHOSpPbPi0Header.cxx:972 AliPHOSpPbPi0Header.cxx:973 AliPHOSpPbPi0Header.cxx:974 AliPHOSpPbPi0Header.cxx:975 AliPHOSpPbPi0Header.cxx:976 AliPHOSpPbPi0Header.cxx:977 AliPHOSpPbPi0Header.cxx:978 AliPHOSpPbPi0Header.cxx:979 AliPHOSpPbPi0Header.cxx:980 AliPHOSpPbPi0Header.cxx:981 AliPHOSpPbPi0Header.cxx:982