#include "TChain.h"
#include "TTree.h"
#include "TLegend.h"
#include "TH1F.h"
#include "TH1I.h"
#include "TH2F.h"
#include "TCanvas.h"
#include "AliAnalysisTask.h"
#include "AliAnalysisManager.h"
#include "AliAODTrack.h"
#include "AliAODMCParticle.h"
#include "AliAODEvent.h"
#include "AliESDEvent.h"
#include "AliAODInputHandler.h"
#include "AliAnalysisTaskESDfilter.h"
#include "AliAnalysisDataContainer.h"
#include "AliSpectraBothEventCuts.h"
#include "AliSpectraBothTrackCuts.h"
#include "AliAnalysisUtils.h"
#include "AliPPVsMultUtils.h"
#include "AliGenPythiaEventHeader.h"
#include <iostream>
using namespace std;
ClassImp(AliSpectraBothEventCuts)
AliSpectraBothEventCuts::AliSpectraBothEventCuts(const char *name) : TNamed(name, "AOD Event Cuts"), fAOD(0),fAODEvent(AliSpectraBothTrackCuts::kAODobject), fTrackBits(0),fIsMC(0),fCentEstimator(""), fUseCentPatchAOD049(0), fUseSDDPatchforLHC11a(kDoNotCheckforSDD),fTriggerSettings(AliVEvent::kMB),fTrackCuts(0),
fIsSelected(0), fCentralityCutMin(0), fCentralityCutMax(0), fQVectorCutMin(0), fQVectorCutMax(0), fVertexCutMin(0), fVertexCutMax(0), fMultiplicityCutMin(0), fMultiplicityCutMax(0),fMaxChi2perNDFforVertex(0),
fMinRun(0),fMaxRun(0),fetarangeofmultiplicitycut(0.0),fUseAliPPVsMultUtils(false),
fNMCProcessType(0),fEventMCProcessType(0),fEventMCProcessTypeIncluded(0),
fHistoCuts(0),fHistoVtxBefSel(0),fHistoVtxAftSel(0),fHistoEtaBefSel(0),fHistoEtaAftSel(0),fHistoNChAftSel(0),fHistoQVector(0)
,fHistoEP(0),fHistoVtxAftSelwithoutZvertexCut(0),fHistoVtxalltriggerEventswithMCz(0),fHistoVtxAftSelwithoutZvertexCutusingMCz(0),fHistoRunNumbers(0),
fHistoCentrality(0),fHistoMultiplicty(0),fAnalysisUtils(0),fAliPPVsMultUtils(0)
{
fCentralityCutMin = 0.0;
fCentralityCutMax = 10000.0;
fQVectorCutMin=0.0;
fQVectorCutMax=10000.0;
fVertexCutMin=-10.0;
fVertexCutMax=10.0;
fMultiplicityCutMin=-1.0;
fMultiplicityCutMax=-1.0;
fTrackBits=1;
fCentEstimator="V0M";
fMaxChi2perNDFforVertex=-1;
}
AliSpectraBothEventCuts::~AliSpectraBothEventCuts()
{
if(fHistoCuts)
delete fHistoCuts;
if(fHistoVtxBefSel)
delete fHistoVtxBefSel;
if(fHistoVtxAftSel)
delete fHistoVtxAftSel;
if(fHistoVtxAftSelwithoutZvertexCut)
delete fHistoVtxAftSelwithoutZvertexCut;
if(fHistoVtxalltriggerEventswithMCz)
delete fHistoVtxalltriggerEventswithMCz;
if(fHistoVtxAftSelwithoutZvertexCutusingMCz)
delete fHistoVtxAftSelwithoutZvertexCutusingMCz;
if(fHistoEtaBefSel)
delete fHistoEtaBefSel;
if(fHistoEtaAftSel)
delete fHistoEtaAftSel ;
if(fHistoNChAftSel)
delete fHistoNChAftSel;
if(fHistoQVector)
delete fHistoQVector;
if(fHistoEP)
delete fHistoEP;
if(fHistoRunNumbers)
delete fHistoRunNumbers;
if(fHistoCentrality)
delete fHistoCentrality;
if(fHistoMultiplicty)
delete fHistoMultiplicty;
if(fAnalysisUtils)
delete fAnalysisUtils;
if(fAliPPVsMultUtils)
delete fAliPPVsMultUtils;
if(fEventMCProcessType)
delete [] fEventMCProcessType;
}
void AliSpectraBothEventCuts::InitHisto()
{
Bool_t oldStatus = TH1::AddDirectoryStatus();
TH1::AddDirectory(kFALSE);
if(!fHistoCuts)
fHistoCuts = new TH1I("fEventCuts", "Event Cuts", kNVtxCuts, -0.5, kNVtxCuts - 0.5);
if(!fHistoVtxBefSel )
fHistoVtxBefSel = new TH1F("fHistoVtxBefSel", "Vtx distr before event selection",300,-15,15);
if(!fHistoVtxAftSel)
fHistoVtxAftSel = new TH1F("fHistoVtxAftSel", "Vtx distr after event selection",300,-15,15);
if(!fHistoVtxAftSelwithoutZvertexCut)
fHistoVtxAftSelwithoutZvertexCut=new TH1F("fHistoVtxAftSelwithoutZvertexcut", "Vtx distr after event selection without Z vertex cut",300,-15,15);
if(!fHistoVtxalltriggerEventswithMCz)
fHistoVtxalltriggerEventswithMCz=new TH1F("fHistoVtxalltriggerEventswithMCz", "generated z vertex position",300,-15,15);
if(!fHistoVtxAftSelwithoutZvertexCutusingMCz)
fHistoVtxAftSelwithoutZvertexCutusingMCz=new TH1F("fHistoVtxAftSelwithoutZvertexCutusingMCz", "Vtx distr after event selection without Z vertex cut using MC z",300,-15,15);
if(!fHistoEtaBefSel)
fHistoEtaBefSel = new TH1F("fHistoEtaBefSel", "Eta distr before event selection",500,-2,2);
if(!fHistoEtaAftSel)
fHistoEtaAftSel = new TH1F("fHistoEtaAftSel", "Eta distr after event selection",500,-2,2);
if(!fHistoNChAftSel)
fHistoNChAftSel = new TH1F("fHistoNChAftSel", "NCh distr after event selection",2000,-0.5,1999.5);
if(!fHistoQVector)
fHistoQVector = new TH1F("fHistoQVector", "QVector with VZERO distribution",100,0,10);
if(!fHistoEP)
fHistoEP = new TH1F("fHistoEP", "EP with VZERO distribution",100,-10,10);
if(!fHistoRunNumbers)
{
if(fMaxRun>fMinRun&&fMinRun>=0)
fHistoRunNumbers=new TH1F("fHistoRunNumbers","Run numbers",fMaxRun-fMinRun+1,fMinRun-0.5,fMaxRun+0.5);
else
fHistoRunNumbers=new TH1F("fHistoRunNumbers","Run numbers",1001,120000-.5,121000+0.5);
}
if(!fHistoCentrality)
fHistoCentrality = new TH2F("fHistoCentrality", "centrality",2,0,2,100,0.0,100);
if(!fHistoMultiplicty)
fHistoMultiplicty= new TH2F("fHistoMultiplicty", "multiplicty estimator",2,0,2,155,-4.5,150.5);
TH1::AddDirectory(oldStatus);
}
Bool_t AliSpectraBothEventCuts::IsSelected(AliVEvent * aod,AliSpectraBothTrackCuts* trackcuts,Bool_t isMC,Double_t mcZ,TH1F* managerhisteventcuts)
{
fAOD = aod;
fTrackCuts = trackcuts;
fHistoCuts->Fill(kProcessedEvents);
if(managerhisteventcuts)
managerhisteventcuts->Fill(0);
fHistoRunNumbers->Fill(aod->GetRunNumber());
Bool_t IsPhysSel = (((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected() & fTriggerSettings);
if(!IsPhysSel)
return IsPhysSel;
if(fAnalysisUtils)
IsPhysSel = (!fAnalysisUtils->IsPileUpEvent(fAOD));
if(!IsPhysSel)
return IsPhysSel;
if(isMC)
fHistoVtxalltriggerEventswithMCz->Fill(mcZ);
AliESDEvent* esdevent=0x0;
AliAODEvent* aodevent=0x0;
Bool_t isSDD=kFALSE;
TString nameoftrack(fAOD->ClassName());
if(!nameoftrack.CompareTo("AliESDEvent"))
{
fAODEvent=AliSpectraBothTrackCuts::kESDobject;
if(fUseSDDPatchforLHC11a!=kDoNotCheckforSDD)
{
esdevent=dynamic_cast<AliESDEvent*>(fAOD);
if(!esdevent)
return kFALSE;
if(esdevent->GetFiredTriggerClasses().Contains("ALLNOTRD"))
isSDD=kTRUE;
}
}
else if(!nameoftrack.CompareTo("AliAODEvent"))
{
fAODEvent=AliSpectraBothTrackCuts::kAODobject;
if(fUseSDDPatchforLHC11a!=kDoNotCheckforSDD)
{
aodevent=dynamic_cast<AliAODEvent*>(fAOD);
if(!aodevent)
return kFALSE;
if(aodevent->GetFiredTriggerClasses().Contains("ALLNOTRD"))
isSDD=kTRUE;
}
}
else
return false;
if(fUseSDDPatchforLHC11a==kwithSDD&&isSDD==kFALSE)
return false;
if(fUseSDDPatchforLHC11a==kwithoutSDD&&isSDD==kTRUE)
return false;
fHistoCuts->Fill(kPhysSelEvents);
if(managerhisteventcuts)
managerhisteventcuts->Fill(1);
const AliVVertex * vertex = fAOD->GetPrimaryVertex();
if(vertex)
fHistoVtxBefSel->Fill(vertex->GetZ());
fIsSelected =kFALSE;
if(CheckVtx())
{
fIsSelected=kTRUE;
}
if(fIsSelected&&vertex)
{
fHistoVtxAftSelwithoutZvertexCut->Fill(vertex->GetZ());
if(isMC)
fHistoVtxAftSelwithoutZvertexCutusingMCz->Fill(mcZ);
if (vertex->GetZ() > fVertexCutMin && vertex->GetZ() < fVertexCutMax)
{
fIsSelected=kTRUE;
fHistoVtxAftSel->Fill(vertex->GetZ());
}
else
{
fIsSelected=kFALSE;
}
}
if(fIsSelected)
{
if( CheckCentralityCut() && CheckMultiplicityCut() && CheckQVectorCut())
fIsSelected=kTRUE;
else
fIsSelected=kFALSE;
}
Int_t Nch=0;
for (Int_t iTracks = 0; iTracks < fAOD->GetNumberOfTracks(); iTracks++)
{
AliVTrack* track =dynamic_cast<AliVTrack*>(fAOD->GetTrack(iTracks));
if (!fTrackCuts->IsSelected(track,kFALSE))
continue;
fHistoEtaBefSel->Fill(track->Eta());
if(fIsSelected)
{
fHistoEtaAftSel->Fill(track->Eta());
Nch++;
}
}
if(fIsSelected)
{
fHistoNChAftSel->Fill(Nch);
fHistoCuts->Fill(kAcceptedEvents);
if(managerhisteventcuts)
managerhisteventcuts->Fill(2);
}
return fIsSelected;
}
Bool_t AliSpectraBothEventCuts::CheckVtx()
{
const AliVVertex * vertex = fAOD->GetPrimaryVertex();
if (!vertex)
{
fHistoCuts->Fill(kVtxNoEvent);
return kFALSE;
}
if(vertex->GetNContributors()<1)
{
fHistoCuts->Fill(kZeroCont);
return kFALSE;
}
TString tmp(vertex->GetTitle());
if(tmp.Contains("NoConstraint"))
{
fHistoCuts->Fill(kTPCasPV);
return kFALSE;
}
if(!CheckVtxChi2perNDF())
return kFALSE;
fHistoCuts->Fill(kGoodVtx);
return kTRUE;
}
Bool_t AliSpectraBothEventCuts::CheckCentralityCut()
{
if ( fCentralityCutMax<0.0 && fCentralityCutMin<0.0 )
return kTRUE;
Double_t cent=0;
if(fUseAliPPVsMultUtils)
{
if(!fAliPPVsMultUtils)
fAliPPVsMultUtils=new AliPPVsMultUtils();
cent=fAliPPVsMultUtils->GetMultiplicityPercentile(fAOD,fCentEstimator.Data());
}
else
{
if(!fUseCentPatchAOD049)
cent=fAOD->GetCentrality()->GetCentralityPercentile(fCentEstimator.Data());
else
cent=ApplyCentralityPatchAOD049();
}
fHistoCentrality->Fill(0.5,cent);
if ( (cent < fCentralityCutMax) && (cent >= fCentralityCutMin) )
{
fHistoCentrality->Fill(1.5,cent);
return kTRUE;
}
fHistoCuts->Fill(kVtxCentral);
return kFALSE;
}
Bool_t AliSpectraBothEventCuts::CheckMultiplicityCut()
{
if(fMultiplicityCutMin<0 && fMultiplicityCutMax<0)
return kTRUE;
Int_t Ncharged=-1;
if(fAODEvent==AliSpectraBothTrackCuts::kESDobject)
{
AliESDEvent* esdevent=dynamic_cast<AliESDEvent*>(fAOD);
AliESDtrackCuts::MultEstTrackType estType = esdevent->GetPrimaryVertexTracks()->GetStatus() ? AliESDtrackCuts::kTrackletsITSTPC : AliESDtrackCuts::kTracklets;
Ncharged=AliESDtrackCuts::GetReferenceMultiplicity(esdevent,estType,fetarangeofmultiplicitycut);
}
else if(fAODEvent==AliSpectraBothTrackCuts::kAODobject)
{
AliAODEvent* aodevent=0x0;
aodevent=dynamic_cast<AliAODEvent*>(fAOD);
AliAODHeader * header = dynamic_cast<AliAODHeader*>(aodevent->GetHeader());
if(!header) AliFatal("Not a standard AOD");
if(TMath::Abs(0.8-fetarangeofmultiplicitycut)<0.1)
Ncharged=header->GetRefMultiplicityComb08();
else if (TMath::Abs(0.5-fetarangeofmultiplicitycut)<0.1)
Ncharged=header->GetRefMultiplicityComb05();
else
Ncharged=-1;
}
else
return kFALSE;
fHistoMultiplicty->Fill(0.5,Ncharged);
if(Ncharged>=fMultiplicityCutMin && Ncharged<fMultiplicityCutMax)
{
fHistoMultiplicty->Fill(1.5,Ncharged);
return kTRUE;
}
fHistoCuts->Fill(kVtxCentral);
return kFALSE;
}
Bool_t AliSpectraBothEventCuts::CheckQVectorCut()
{
if(fQVectorCutMin<0.0 && fQVectorCutMax<0.0)return kTRUE;
Double_t qxEPVZERO = 0, qyEPVZERO = 0;
Double_t qVZERO = -999;
Double_t psi=fAOD->GetEventplane()->CalculateVZEROEventPlane(fAOD,10,2,qxEPVZERO,qyEPVZERO);
qVZERO= TMath::Sqrt(qxEPVZERO*qxEPVZERO + qyEPVZERO*qyEPVZERO);
if(qVZERO<fQVectorCutMin || qVZERO>fQVectorCutMax)return kFALSE;
fHistoQVector->Fill(qVZERO);
fHistoEP->Fill(psi);
fHistoCuts->Fill(kQVector);
return kTRUE;
}
Bool_t AliSpectraBothEventCuts::CheckVtxChi2perNDF()
{
if(fMaxChi2perNDFforVertex<0)
return kTRUE;
const AliVVertex * vertex = fAOD->GetPrimaryVertex();
if(TMath::Abs(vertex->GetChi2perNDF())>fMaxChi2perNDFforVertex)
return kFALSE;
return kTRUE;
}
void AliSpectraBothEventCuts::PrintCuts()
{
cout << "Event Stats" << endl;
if(fHistoCuts)
{
cout << " > Number of accepted events: " << fHistoCuts->GetBinContent(kAcceptedEvents + 1) << endl;
cout << " > Number of processed events: " << fHistoCuts->GetBinContent(kProcessedEvents + 1) << endl;
cout << " > Number of PhysSel events: " << fHistoCuts->GetBinContent(kPhysSelEvents + 1) << endl;
cout << " > With good veretx: " << fHistoCuts->GetBinContent(kGoodVtx + 1) << endl;
cout << " > Events cut by centrality: " << fHistoCuts->GetBinContent(kVtxCentral + 1) << endl;
cout << " > Events without vertex: " << fHistoCuts->GetBinContent(kVtxNoEvent + 1) << endl;
cout << " > QVector cut: " << fHistoCuts->GetBinContent(kQVector + 1) << endl;
}
cout << " > Track type used for the QVector calculation: " << fTrackBits << endl;
cout << " > QRange: [" << fQVectorCutMin <<"," <<fQVectorCutMax<<"]"<< endl;
cout << " > Vertex: [" << fVertexCutMin <<"," <<fVertexCutMax<<"]"<< endl;
cout << " > Multiplicity: [" << fMultiplicityCutMin <<"," <<fMultiplicityCutMax<<"]"<< endl;
cout << " > Centrality: [" << fCentralityCutMin <<"," <<fCentralityCutMax<<"]"<< endl;
}
Double_t AliSpectraBothEventCuts::ApplyCentralityPatchAOD049()
{
AliCentrality *centrality = fAOD->GetCentrality();
if (!centrality) {
AliWarning("Cannot get centrality from AOD event.");
return -999.0;
}
Float_t cent = (Float_t)(centrality->GetCentralityPercentile("V0M"));
if(cent>=0.0) {
Float_t v0 = 0.0;
AliAODEvent *aodEvent = (AliAODEvent *)fAOD;
AliAODVZERO *aodV0 = (AliAODVZERO *) aodEvent->GetVZEROData();
v0+=aodV0->GetMTotV0A();
v0+=aodV0->GetMTotV0C();
if ( (cent==0) && (v0<19500) ) {
AliDebug(3, Form("Filtering issue in centrality -> cent = %5.2f",cent));
return -999.0;
}
Float_t tkl = (Float_t)(aodEvent->GetTracklets()->GetNumberOfTracklets());
Float_t val = 1.30552 + 0.147931 * v0;
Float_t tklSigma[101] = {176.644, 156.401, 153.789, 153.015, 142.476, 137.951, 136.127, 129.852, 127.436, 124.86,
120.788, 115.611, 113.172, 110.496, 109.127, 104.421, 102.479, 99.9766, 97.5152, 94.0654,
92.4602, 89.3364, 87.1342, 83.3497, 82.6216, 81.1084, 78.0793, 76.1234, 72.9434, 72.1334,
68.0056, 68.2755, 66.0376, 62.9666, 62.4274, 59.65, 58.3776, 56.6361, 54.5184, 53.4224,
51.932, 50.8922, 48.2848, 47.912, 46.5717, 43.4114, 43.2083, 41.3065, 40.1863, 38.5255,
37.2851, 37.5396, 34.4949, 33.8366, 31.8043, 31.7412, 30.8392, 30.0274, 28.8793, 27.6398,
26.6488, 25.0183, 25.1489, 24.4185, 22.9107, 21.2002, 21.6977, 20.1242, 20.4963, 19.0235,
19.298, 17.4103, 16.868, 15.2939, 15.2939, 16.0295, 14.186, 14.186, 15.2173, 12.9504, 12.9504,
12.9504, 15.264, 12.3674, 12.3674, 12.3674, 12.3674, 12.3674, 18.3811, 13.7544, 13.7544,
13.7544, 13.7544, 13.7544, 13.7544, 13.7544, 13.7544, 13.7544, 13.7544, 13.7544, 13.7544
};
if ( TMath::Abs(tkl-val) > 6.*tklSigma[(Int_t)cent] ) {
AliDebug(3, Form("Outlier event in centrality -> cent = %5.2f",cent));
return -999.0;
}
} else {
cent = -999.;
}
return cent;
}
Long64_t AliSpectraBothEventCuts::Merge(TCollection* list)
{
if (!list)
return 0;
if (list->IsEmpty())
return 1;
TIterator* iter = list->MakeIterator();
TObject* obj;
TList collections;
TList collections_histoVtxBefSel;
TList collections_histoVtxAftSel;
TList collections_histoEtaBefSel;
TList collections_histoEtaAftSel;
TList collections_histoNChAftSel;
TList collections_histoQVector;
TList collections_histoEP;
TList collections_histoVtxAftSelwithoutZvertexCut;
TList collections_histoVtxalltriggerEventswithMCz;
TList collections_histoVtxAftSelwithoutZvertexCutusingMCz;
TList collections_histoRunNumbers;
TList collections_histoCentrality;
TList collections_histoMultiplicty;
Int_t count = 0;
while ((obj = iter->Next())) {
AliSpectraBothEventCuts* entry = dynamic_cast<AliSpectraBothEventCuts*> (obj);
if (entry == 0)
continue;
TH1I * histo = entry->GetHistoCuts();
if(histo)
collections.Add(histo);
TH1F * histo_histoVtxBefSel = entry->GetHistoVtxBefSel();
if(histo_histoVtxBefSel)
collections_histoVtxBefSel.Add(histo_histoVtxBefSel);
TH1F * histo_histoVtxAftSel = entry->GetHistoVtxAftSel();
if(histo_histoVtxAftSel)
collections_histoVtxAftSel.Add(histo_histoVtxAftSel);
TH1F * histo_histoEtaBefSel = entry->GetHistoEtaBefSel();
if(histo_histoEtaBefSel)
collections_histoEtaBefSel.Add(histo_histoEtaBefSel);
TH1F * histo_histoEtaAftSel = entry->GetHistoEtaAftSel();
if(histo_histoEtaAftSel)
collections_histoEtaAftSel.Add(histo_histoEtaAftSel);
TH1F * histo_histoNChAftSel = entry->GetHistoNChAftSel();
if(histo_histoNChAftSel)
collections_histoNChAftSel.Add(histo_histoNChAftSel);
TH1F * histo_histoQVector = entry->GetHistoQVector();
if(histo_histoQVector)
collections_histoQVector.Add(histo_histoQVector);
TH1F * histo_histoEP = entry->GetHistoEP();
if(histo_histoEP)
collections_histoEP.Add(histo_histoEP);
TH1F* histo_histoVtxAftSelwithoutZvertexCut=entry->GetHistoVtxAftSelwithoutZvertexCut();
if(histo_histoVtxAftSelwithoutZvertexCut)
collections_histoVtxAftSelwithoutZvertexCut.Add(histo_histoVtxAftSelwithoutZvertexCut);
TH1F* histo_histoVtxalltriggerEventswithMCz=entry->GetHistoVtxGenerated();
if(histo_histoVtxalltriggerEventswithMCz)
collections_histoVtxalltriggerEventswithMCz.Add(histo_histoVtxalltriggerEventswithMCz);
TH1F* histo_histoVtxAftSelwithoutZvertexCutusingMCz=entry->GetHistoVtxAftSelwithoutZvertexCutusingMCz();
if(histo_histoVtxAftSelwithoutZvertexCutusingMCz)
collections_histoVtxAftSelwithoutZvertexCutusingMCz.Add(histo_histoVtxAftSelwithoutZvertexCutusingMCz);
TH1F* histo_histoRunNumbers=entry->GetHistoRunNumbers();
if(histo_histoRunNumbers)
collections_histoRunNumbers.Add(histo_histoRunNumbers);
TH2F* histo_histoCentrality=entry->GetHistoCentrality();
if(histo_histoCentrality)
collections_histoCentrality.Add(histo_histoCentrality);
TH2F* histo_histoMultiplicty=entry->GetHistoMultiplicty();
if(histo_histoMultiplicty)
collections_histoMultiplicty.Add(histo_histoMultiplicty);
count++;
}
if(fHistoCuts)
fHistoCuts->Merge(&collections);
if(fHistoVtxBefSel)
fHistoVtxBefSel->Merge(&collections_histoVtxBefSel);
if(fHistoVtxAftSel)
fHistoVtxAftSel->Merge(&collections_histoVtxAftSel);
if(fHistoEtaBefSel)
fHistoEtaBefSel->Merge(&collections_histoEtaBefSel);
if(fHistoEtaAftSel)
fHistoEtaAftSel->Merge(&collections_histoEtaAftSel);
if(fHistoNChAftSel)
fHistoNChAftSel->Merge(&collections_histoNChAftSel);
if(fHistoQVector)
fHistoQVector->Merge(&collections_histoQVector);
if(fHistoEP)
fHistoEP->Merge(&collections_histoEP);
if(fHistoVtxAftSelwithoutZvertexCut)
fHistoVtxAftSelwithoutZvertexCut->Merge(&collections_histoVtxAftSelwithoutZvertexCut);
if(fHistoVtxalltriggerEventswithMCz)
fHistoVtxalltriggerEventswithMCz->Merge(&collections_histoVtxalltriggerEventswithMCz);
if(fHistoVtxAftSelwithoutZvertexCutusingMCz)
fHistoVtxAftSelwithoutZvertexCutusingMCz->Merge(&collections_histoVtxAftSelwithoutZvertexCutusingMCz);
if(fHistoRunNumbers)
fHistoRunNumbers->Merge(&collections_histoRunNumbers);
if(fHistoCentrality)
fHistoCentrality->Merge(&collections_histoCentrality);
if(fHistoMultiplicty)
fHistoMultiplicty->Merge(&collections_histoMultiplicty);
delete iter;
return count+1;
}
void AliSpectraBothEventCuts::SetRunNumberRange(Int_t min, Int_t max)
{
if(max>min&&min>=0)
{
fMinRun=min;
fMaxRun=max;
}
}
Bool_t AliSpectraBothEventCuts::CheckMCProcessType(AliMCEvent* mcevent)
{
if(fNMCProcessType<0)
return kTRUE;
if(!mcevent)
return kFALSE;
AliHeader* aHeader=mcevent->Header();
if(!aHeader)
return kFALSE;
AliGenPythiaEventHeader* pythiaGenHeader = dynamic_cast<AliGenPythiaEventHeader*>(aHeader->GenEventHeader());
if(!pythiaGenHeader)
return kFALSE;
Int_t processtype=pythiaGenHeader->ProcessType();
for(int i=0;i<fNMCProcessType;i++)
{
if(fEventMCProcessType[i]<0)
continue;
if (processtype==fEventMCProcessType[i])
return fEventMCProcessTypeIncluded;
}
return !fEventMCProcessTypeIncluded;
}
void AliSpectraBothEventCuts::SetNMCProcessType(Int_t flag)
{
fNMCProcessType=flag;
if(fEventMCProcessType)
delete [] fEventMCProcessType;
fEventMCProcessType= new Int_t[fNMCProcessType];
if(!fEventMCProcessType)
{
fNMCProcessType=-1;
return;
}
for(int i=0;i<fNMCProcessType;i++)
fEventMCProcessType[i]=-1.0;
return;
}
void AliSpectraBothEventCuts::AddMCProcessType(Int_t type,Int_t index)
{
if(index<fNMCProcessType)
fEventMCProcessType[index]=type;
}
AliSpectraBothEventCuts.cxx:1 AliSpectraBothEventCuts.cxx:2 AliSpectraBothEventCuts.cxx:3 AliSpectraBothEventCuts.cxx:4 AliSpectraBothEventCuts.cxx:5 AliSpectraBothEventCuts.cxx:6 AliSpectraBothEventCuts.cxx:7 AliSpectraBothEventCuts.cxx:8 AliSpectraBothEventCuts.cxx:9 AliSpectraBothEventCuts.cxx:10 AliSpectraBothEventCuts.cxx:11 AliSpectraBothEventCuts.cxx:12 AliSpectraBothEventCuts.cxx:13 AliSpectraBothEventCuts.cxx:14 AliSpectraBothEventCuts.cxx:15 AliSpectraBothEventCuts.cxx:16 AliSpectraBothEventCuts.cxx:17 AliSpectraBothEventCuts.cxx:18 AliSpectraBothEventCuts.cxx:19 AliSpectraBothEventCuts.cxx:20 AliSpectraBothEventCuts.cxx:21 AliSpectraBothEventCuts.cxx:22 AliSpectraBothEventCuts.cxx:23 AliSpectraBothEventCuts.cxx:24 AliSpectraBothEventCuts.cxx:25 AliSpectraBothEventCuts.cxx:26 AliSpectraBothEventCuts.cxx:27 AliSpectraBothEventCuts.cxx:28 AliSpectraBothEventCuts.cxx:29 AliSpectraBothEventCuts.cxx:30 AliSpectraBothEventCuts.cxx:31 AliSpectraBothEventCuts.cxx:32 AliSpectraBothEventCuts.cxx:33 AliSpectraBothEventCuts.cxx:34 AliSpectraBothEventCuts.cxx:35 AliSpectraBothEventCuts.cxx:36 AliSpectraBothEventCuts.cxx:37 AliSpectraBothEventCuts.cxx:38 AliSpectraBothEventCuts.cxx:39 AliSpectraBothEventCuts.cxx:40 AliSpectraBothEventCuts.cxx:41 AliSpectraBothEventCuts.cxx:42 AliSpectraBothEventCuts.cxx:43 AliSpectraBothEventCuts.cxx:44 AliSpectraBothEventCuts.cxx:45 AliSpectraBothEventCuts.cxx:46 AliSpectraBothEventCuts.cxx:47 AliSpectraBothEventCuts.cxx:48 AliSpectraBothEventCuts.cxx:49 AliSpectraBothEventCuts.cxx:50 AliSpectraBothEventCuts.cxx:51 AliSpectraBothEventCuts.cxx:52 AliSpectraBothEventCuts.cxx:53 AliSpectraBothEventCuts.cxx:54 AliSpectraBothEventCuts.cxx:55 AliSpectraBothEventCuts.cxx:56 AliSpectraBothEventCuts.cxx:57 AliSpectraBothEventCuts.cxx:58 AliSpectraBothEventCuts.cxx:59 AliSpectraBothEventCuts.cxx:60 AliSpectraBothEventCuts.cxx:61 AliSpectraBothEventCuts.cxx:62 AliSpectraBothEventCuts.cxx:63 AliSpectraBothEventCuts.cxx:64 AliSpectraBothEventCuts.cxx:65 AliSpectraBothEventCuts.cxx:66 AliSpectraBothEventCuts.cxx:67 AliSpectraBothEventCuts.cxx:68 AliSpectraBothEventCuts.cxx:69 AliSpectraBothEventCuts.cxx:70 AliSpectraBothEventCuts.cxx:71 AliSpectraBothEventCuts.cxx:72 AliSpectraBothEventCuts.cxx:73 AliSpectraBothEventCuts.cxx:74 AliSpectraBothEventCuts.cxx:75 AliSpectraBothEventCuts.cxx:76 AliSpectraBothEventCuts.cxx:77 AliSpectraBothEventCuts.cxx:78 AliSpectraBothEventCuts.cxx:79 AliSpectraBothEventCuts.cxx:80 AliSpectraBothEventCuts.cxx:81 AliSpectraBothEventCuts.cxx:82 AliSpectraBothEventCuts.cxx:83 AliSpectraBothEventCuts.cxx:84 AliSpectraBothEventCuts.cxx:85 AliSpectraBothEventCuts.cxx:86 AliSpectraBothEventCuts.cxx:87 AliSpectraBothEventCuts.cxx:88 AliSpectraBothEventCuts.cxx:89 AliSpectraBothEventCuts.cxx:90 AliSpectraBothEventCuts.cxx:91 AliSpectraBothEventCuts.cxx:92 AliSpectraBothEventCuts.cxx:93 AliSpectraBothEventCuts.cxx:94 AliSpectraBothEventCuts.cxx:95 AliSpectraBothEventCuts.cxx:96 AliSpectraBothEventCuts.cxx:97 AliSpectraBothEventCuts.cxx:98 AliSpectraBothEventCuts.cxx:99 AliSpectraBothEventCuts.cxx:100 AliSpectraBothEventCuts.cxx:101 AliSpectraBothEventCuts.cxx:102 AliSpectraBothEventCuts.cxx:103 AliSpectraBothEventCuts.cxx:104 AliSpectraBothEventCuts.cxx:105 AliSpectraBothEventCuts.cxx:106 AliSpectraBothEventCuts.cxx:107 AliSpectraBothEventCuts.cxx:108 AliSpectraBothEventCuts.cxx:109 AliSpectraBothEventCuts.cxx:110 AliSpectraBothEventCuts.cxx:111 AliSpectraBothEventCuts.cxx:112 AliSpectraBothEventCuts.cxx:113 AliSpectraBothEventCuts.cxx:114 AliSpectraBothEventCuts.cxx:115 AliSpectraBothEventCuts.cxx:116 AliSpectraBothEventCuts.cxx:117 AliSpectraBothEventCuts.cxx:118 AliSpectraBothEventCuts.cxx:119 AliSpectraBothEventCuts.cxx:120 AliSpectraBothEventCuts.cxx:121 AliSpectraBothEventCuts.cxx:122 AliSpectraBothEventCuts.cxx:123 AliSpectraBothEventCuts.cxx:124 AliSpectraBothEventCuts.cxx:125 AliSpectraBothEventCuts.cxx:126 AliSpectraBothEventCuts.cxx:127 AliSpectraBothEventCuts.cxx:128 AliSpectraBothEventCuts.cxx:129 AliSpectraBothEventCuts.cxx:130 AliSpectraBothEventCuts.cxx:131 AliSpectraBothEventCuts.cxx:132 AliSpectraBothEventCuts.cxx:133 AliSpectraBothEventCuts.cxx:134 AliSpectraBothEventCuts.cxx:135 AliSpectraBothEventCuts.cxx:136 AliSpectraBothEventCuts.cxx:137 AliSpectraBothEventCuts.cxx:138 AliSpectraBothEventCuts.cxx:139 AliSpectraBothEventCuts.cxx:140 AliSpectraBothEventCuts.cxx:141 AliSpectraBothEventCuts.cxx:142 AliSpectraBothEventCuts.cxx:143 AliSpectraBothEventCuts.cxx:144 AliSpectraBothEventCuts.cxx:145 AliSpectraBothEventCuts.cxx:146 AliSpectraBothEventCuts.cxx:147 AliSpectraBothEventCuts.cxx:148 AliSpectraBothEventCuts.cxx:149 AliSpectraBothEventCuts.cxx:150 AliSpectraBothEventCuts.cxx:151 AliSpectraBothEventCuts.cxx:152 AliSpectraBothEventCuts.cxx:153 AliSpectraBothEventCuts.cxx:154 AliSpectraBothEventCuts.cxx:155 AliSpectraBothEventCuts.cxx:156 AliSpectraBothEventCuts.cxx:157 AliSpectraBothEventCuts.cxx:158 AliSpectraBothEventCuts.cxx:159 AliSpectraBothEventCuts.cxx:160 AliSpectraBothEventCuts.cxx:161 AliSpectraBothEventCuts.cxx:162 AliSpectraBothEventCuts.cxx:163 AliSpectraBothEventCuts.cxx:164 AliSpectraBothEventCuts.cxx:165 AliSpectraBothEventCuts.cxx:166 AliSpectraBothEventCuts.cxx:167 AliSpectraBothEventCuts.cxx:168 AliSpectraBothEventCuts.cxx:169 AliSpectraBothEventCuts.cxx:170 AliSpectraBothEventCuts.cxx:171 AliSpectraBothEventCuts.cxx:172 AliSpectraBothEventCuts.cxx:173 AliSpectraBothEventCuts.cxx:174 AliSpectraBothEventCuts.cxx:175 AliSpectraBothEventCuts.cxx:176 AliSpectraBothEventCuts.cxx:177 AliSpectraBothEventCuts.cxx:178 AliSpectraBothEventCuts.cxx:179 AliSpectraBothEventCuts.cxx:180 AliSpectraBothEventCuts.cxx:181 AliSpectraBothEventCuts.cxx:182 AliSpectraBothEventCuts.cxx:183 AliSpectraBothEventCuts.cxx:184 AliSpectraBothEventCuts.cxx:185 AliSpectraBothEventCuts.cxx:186 AliSpectraBothEventCuts.cxx:187 AliSpectraBothEventCuts.cxx:188 AliSpectraBothEventCuts.cxx:189 AliSpectraBothEventCuts.cxx:190 AliSpectraBothEventCuts.cxx:191 AliSpectraBothEventCuts.cxx:192 AliSpectraBothEventCuts.cxx:193 AliSpectraBothEventCuts.cxx:194 AliSpectraBothEventCuts.cxx:195 AliSpectraBothEventCuts.cxx:196 AliSpectraBothEventCuts.cxx:197 AliSpectraBothEventCuts.cxx:198 AliSpectraBothEventCuts.cxx:199 AliSpectraBothEventCuts.cxx:200 AliSpectraBothEventCuts.cxx:201 AliSpectraBothEventCuts.cxx:202 AliSpectraBothEventCuts.cxx:203 AliSpectraBothEventCuts.cxx:204 AliSpectraBothEventCuts.cxx:205 AliSpectraBothEventCuts.cxx:206 AliSpectraBothEventCuts.cxx:207 AliSpectraBothEventCuts.cxx:208 AliSpectraBothEventCuts.cxx:209 AliSpectraBothEventCuts.cxx:210 AliSpectraBothEventCuts.cxx:211 AliSpectraBothEventCuts.cxx:212 AliSpectraBothEventCuts.cxx:213 AliSpectraBothEventCuts.cxx:214 AliSpectraBothEventCuts.cxx:215 AliSpectraBothEventCuts.cxx:216 AliSpectraBothEventCuts.cxx:217 AliSpectraBothEventCuts.cxx:218 AliSpectraBothEventCuts.cxx:219 AliSpectraBothEventCuts.cxx:220 AliSpectraBothEventCuts.cxx:221 AliSpectraBothEventCuts.cxx:222 AliSpectraBothEventCuts.cxx:223 AliSpectraBothEventCuts.cxx:224 AliSpectraBothEventCuts.cxx:225 AliSpectraBothEventCuts.cxx:226 AliSpectraBothEventCuts.cxx:227 AliSpectraBothEventCuts.cxx:228 AliSpectraBothEventCuts.cxx:229 AliSpectraBothEventCuts.cxx:230 AliSpectraBothEventCuts.cxx:231 AliSpectraBothEventCuts.cxx:232 AliSpectraBothEventCuts.cxx:233 AliSpectraBothEventCuts.cxx:234 AliSpectraBothEventCuts.cxx:235 AliSpectraBothEventCuts.cxx:236 AliSpectraBothEventCuts.cxx:237 AliSpectraBothEventCuts.cxx:238 AliSpectraBothEventCuts.cxx:239 AliSpectraBothEventCuts.cxx:240 AliSpectraBothEventCuts.cxx:241 AliSpectraBothEventCuts.cxx:242 AliSpectraBothEventCuts.cxx:243 AliSpectraBothEventCuts.cxx:244 AliSpectraBothEventCuts.cxx:245 AliSpectraBothEventCuts.cxx:246 AliSpectraBothEventCuts.cxx:247 AliSpectraBothEventCuts.cxx:248 AliSpectraBothEventCuts.cxx:249 AliSpectraBothEventCuts.cxx:250 AliSpectraBothEventCuts.cxx:251 AliSpectraBothEventCuts.cxx:252 AliSpectraBothEventCuts.cxx:253 AliSpectraBothEventCuts.cxx:254 AliSpectraBothEventCuts.cxx:255 AliSpectraBothEventCuts.cxx:256 AliSpectraBothEventCuts.cxx:257 AliSpectraBothEventCuts.cxx:258 AliSpectraBothEventCuts.cxx:259 AliSpectraBothEventCuts.cxx:260 AliSpectraBothEventCuts.cxx:261 AliSpectraBothEventCuts.cxx:262 AliSpectraBothEventCuts.cxx:263 AliSpectraBothEventCuts.cxx:264 AliSpectraBothEventCuts.cxx:265 AliSpectraBothEventCuts.cxx:266 AliSpectraBothEventCuts.cxx:267 AliSpectraBothEventCuts.cxx:268 AliSpectraBothEventCuts.cxx:269 AliSpectraBothEventCuts.cxx:270 AliSpectraBothEventCuts.cxx:271 AliSpectraBothEventCuts.cxx:272 AliSpectraBothEventCuts.cxx:273 AliSpectraBothEventCuts.cxx:274 AliSpectraBothEventCuts.cxx:275 AliSpectraBothEventCuts.cxx:276 AliSpectraBothEventCuts.cxx:277 AliSpectraBothEventCuts.cxx:278 AliSpectraBothEventCuts.cxx:279 AliSpectraBothEventCuts.cxx:280 AliSpectraBothEventCuts.cxx:281 AliSpectraBothEventCuts.cxx:282 AliSpectraBothEventCuts.cxx:283 AliSpectraBothEventCuts.cxx:284 AliSpectraBothEventCuts.cxx:285 AliSpectraBothEventCuts.cxx:286 AliSpectraBothEventCuts.cxx:287 AliSpectraBothEventCuts.cxx:288 AliSpectraBothEventCuts.cxx:289 AliSpectraBothEventCuts.cxx:290 AliSpectraBothEventCuts.cxx:291 AliSpectraBothEventCuts.cxx:292 AliSpectraBothEventCuts.cxx:293 AliSpectraBothEventCuts.cxx:294 AliSpectraBothEventCuts.cxx:295 AliSpectraBothEventCuts.cxx:296 AliSpectraBothEventCuts.cxx:297 AliSpectraBothEventCuts.cxx:298 AliSpectraBothEventCuts.cxx:299 AliSpectraBothEventCuts.cxx:300 AliSpectraBothEventCuts.cxx:301 AliSpectraBothEventCuts.cxx:302 AliSpectraBothEventCuts.cxx:303 AliSpectraBothEventCuts.cxx:304 AliSpectraBothEventCuts.cxx:305 AliSpectraBothEventCuts.cxx:306 AliSpectraBothEventCuts.cxx:307 AliSpectraBothEventCuts.cxx:308 AliSpectraBothEventCuts.cxx:309 AliSpectraBothEventCuts.cxx:310 AliSpectraBothEventCuts.cxx:311 AliSpectraBothEventCuts.cxx:312 AliSpectraBothEventCuts.cxx:313 AliSpectraBothEventCuts.cxx:314 AliSpectraBothEventCuts.cxx:315 AliSpectraBothEventCuts.cxx:316 AliSpectraBothEventCuts.cxx:317 AliSpectraBothEventCuts.cxx:318 AliSpectraBothEventCuts.cxx:319 AliSpectraBothEventCuts.cxx:320 AliSpectraBothEventCuts.cxx:321 AliSpectraBothEventCuts.cxx:322 AliSpectraBothEventCuts.cxx:323 AliSpectraBothEventCuts.cxx:324 AliSpectraBothEventCuts.cxx:325 AliSpectraBothEventCuts.cxx:326 AliSpectraBothEventCuts.cxx:327 AliSpectraBothEventCuts.cxx:328 AliSpectraBothEventCuts.cxx:329 AliSpectraBothEventCuts.cxx:330 AliSpectraBothEventCuts.cxx:331 AliSpectraBothEventCuts.cxx:332 AliSpectraBothEventCuts.cxx:333 AliSpectraBothEventCuts.cxx:334 AliSpectraBothEventCuts.cxx:335 AliSpectraBothEventCuts.cxx:336 AliSpectraBothEventCuts.cxx:337 AliSpectraBothEventCuts.cxx:338 AliSpectraBothEventCuts.cxx:339 AliSpectraBothEventCuts.cxx:340 AliSpectraBothEventCuts.cxx:341 AliSpectraBothEventCuts.cxx:342 AliSpectraBothEventCuts.cxx:343 AliSpectraBothEventCuts.cxx:344 AliSpectraBothEventCuts.cxx:345 AliSpectraBothEventCuts.cxx:346 AliSpectraBothEventCuts.cxx:347 AliSpectraBothEventCuts.cxx:348 AliSpectraBothEventCuts.cxx:349 AliSpectraBothEventCuts.cxx:350 AliSpectraBothEventCuts.cxx:351 AliSpectraBothEventCuts.cxx:352 AliSpectraBothEventCuts.cxx:353 AliSpectraBothEventCuts.cxx:354 AliSpectraBothEventCuts.cxx:355 AliSpectraBothEventCuts.cxx:356 AliSpectraBothEventCuts.cxx:357 AliSpectraBothEventCuts.cxx:358 AliSpectraBothEventCuts.cxx:359 AliSpectraBothEventCuts.cxx:360 AliSpectraBothEventCuts.cxx:361 AliSpectraBothEventCuts.cxx:362 AliSpectraBothEventCuts.cxx:363 AliSpectraBothEventCuts.cxx:364 AliSpectraBothEventCuts.cxx:365 AliSpectraBothEventCuts.cxx:366 AliSpectraBothEventCuts.cxx:367 AliSpectraBothEventCuts.cxx:368 AliSpectraBothEventCuts.cxx:369 AliSpectraBothEventCuts.cxx:370 AliSpectraBothEventCuts.cxx:371 AliSpectraBothEventCuts.cxx:372 AliSpectraBothEventCuts.cxx:373 AliSpectraBothEventCuts.cxx:374 AliSpectraBothEventCuts.cxx:375 AliSpectraBothEventCuts.cxx:376 AliSpectraBothEventCuts.cxx:377 AliSpectraBothEventCuts.cxx:378 AliSpectraBothEventCuts.cxx:379 AliSpectraBothEventCuts.cxx:380 AliSpectraBothEventCuts.cxx:381 AliSpectraBothEventCuts.cxx:382 AliSpectraBothEventCuts.cxx:383 AliSpectraBothEventCuts.cxx:384 AliSpectraBothEventCuts.cxx:385 AliSpectraBothEventCuts.cxx:386 AliSpectraBothEventCuts.cxx:387 AliSpectraBothEventCuts.cxx:388 AliSpectraBothEventCuts.cxx:389 AliSpectraBothEventCuts.cxx:390 AliSpectraBothEventCuts.cxx:391 AliSpectraBothEventCuts.cxx:392 AliSpectraBothEventCuts.cxx:393 AliSpectraBothEventCuts.cxx:394 AliSpectraBothEventCuts.cxx:395 AliSpectraBothEventCuts.cxx:396 AliSpectraBothEventCuts.cxx:397 AliSpectraBothEventCuts.cxx:398 AliSpectraBothEventCuts.cxx:399 AliSpectraBothEventCuts.cxx:400 AliSpectraBothEventCuts.cxx:401 AliSpectraBothEventCuts.cxx:402 AliSpectraBothEventCuts.cxx:403 AliSpectraBothEventCuts.cxx:404 AliSpectraBothEventCuts.cxx:405 AliSpectraBothEventCuts.cxx:406 AliSpectraBothEventCuts.cxx:407 AliSpectraBothEventCuts.cxx:408 AliSpectraBothEventCuts.cxx:409 AliSpectraBothEventCuts.cxx:410 AliSpectraBothEventCuts.cxx:411 AliSpectraBothEventCuts.cxx:412 AliSpectraBothEventCuts.cxx:413 AliSpectraBothEventCuts.cxx:414 AliSpectraBothEventCuts.cxx:415 AliSpectraBothEventCuts.cxx:416 AliSpectraBothEventCuts.cxx:417 AliSpectraBothEventCuts.cxx:418 AliSpectraBothEventCuts.cxx:419 AliSpectraBothEventCuts.cxx:420 AliSpectraBothEventCuts.cxx:421 AliSpectraBothEventCuts.cxx:422 AliSpectraBothEventCuts.cxx:423 AliSpectraBothEventCuts.cxx:424 AliSpectraBothEventCuts.cxx:425 AliSpectraBothEventCuts.cxx:426 AliSpectraBothEventCuts.cxx:427 AliSpectraBothEventCuts.cxx:428 AliSpectraBothEventCuts.cxx:429 AliSpectraBothEventCuts.cxx:430 AliSpectraBothEventCuts.cxx:431 AliSpectraBothEventCuts.cxx:432 AliSpectraBothEventCuts.cxx:433 AliSpectraBothEventCuts.cxx:434 AliSpectraBothEventCuts.cxx:435 AliSpectraBothEventCuts.cxx:436 AliSpectraBothEventCuts.cxx:437 AliSpectraBothEventCuts.cxx:438 AliSpectraBothEventCuts.cxx:439 AliSpectraBothEventCuts.cxx:440 AliSpectraBothEventCuts.cxx:441 AliSpectraBothEventCuts.cxx:442 AliSpectraBothEventCuts.cxx:443 AliSpectraBothEventCuts.cxx:444 AliSpectraBothEventCuts.cxx:445 AliSpectraBothEventCuts.cxx:446 AliSpectraBothEventCuts.cxx:447 AliSpectraBothEventCuts.cxx:448 AliSpectraBothEventCuts.cxx:449 AliSpectraBothEventCuts.cxx:450 AliSpectraBothEventCuts.cxx:451 AliSpectraBothEventCuts.cxx:452 AliSpectraBothEventCuts.cxx:453 AliSpectraBothEventCuts.cxx:454 AliSpectraBothEventCuts.cxx:455 AliSpectraBothEventCuts.cxx:456 AliSpectraBothEventCuts.cxx:457 AliSpectraBothEventCuts.cxx:458 AliSpectraBothEventCuts.cxx:459 AliSpectraBothEventCuts.cxx:460 AliSpectraBothEventCuts.cxx:461 AliSpectraBothEventCuts.cxx:462 AliSpectraBothEventCuts.cxx:463 AliSpectraBothEventCuts.cxx:464 AliSpectraBothEventCuts.cxx:465 AliSpectraBothEventCuts.cxx:466 AliSpectraBothEventCuts.cxx:467 AliSpectraBothEventCuts.cxx:468 AliSpectraBothEventCuts.cxx:469 AliSpectraBothEventCuts.cxx:470 AliSpectraBothEventCuts.cxx:471 AliSpectraBothEventCuts.cxx:472 AliSpectraBothEventCuts.cxx:473 AliSpectraBothEventCuts.cxx:474 AliSpectraBothEventCuts.cxx:475 AliSpectraBothEventCuts.cxx:476 AliSpectraBothEventCuts.cxx:477 AliSpectraBothEventCuts.cxx:478 AliSpectraBothEventCuts.cxx:479 AliSpectraBothEventCuts.cxx:480 AliSpectraBothEventCuts.cxx:481 AliSpectraBothEventCuts.cxx:482 AliSpectraBothEventCuts.cxx:483 AliSpectraBothEventCuts.cxx:484 AliSpectraBothEventCuts.cxx:485 AliSpectraBothEventCuts.cxx:486 AliSpectraBothEventCuts.cxx:487 AliSpectraBothEventCuts.cxx:488 AliSpectraBothEventCuts.cxx:489 AliSpectraBothEventCuts.cxx:490 AliSpectraBothEventCuts.cxx:491 AliSpectraBothEventCuts.cxx:492 AliSpectraBothEventCuts.cxx:493 AliSpectraBothEventCuts.cxx:494 AliSpectraBothEventCuts.cxx:495 AliSpectraBothEventCuts.cxx:496 AliSpectraBothEventCuts.cxx:497 AliSpectraBothEventCuts.cxx:498 AliSpectraBothEventCuts.cxx:499 AliSpectraBothEventCuts.cxx:500 AliSpectraBothEventCuts.cxx:501 AliSpectraBothEventCuts.cxx:502 AliSpectraBothEventCuts.cxx:503 AliSpectraBothEventCuts.cxx:504 AliSpectraBothEventCuts.cxx:505 AliSpectraBothEventCuts.cxx:506 AliSpectraBothEventCuts.cxx:507 AliSpectraBothEventCuts.cxx:508 AliSpectraBothEventCuts.cxx:509 AliSpectraBothEventCuts.cxx:510 AliSpectraBothEventCuts.cxx:511 AliSpectraBothEventCuts.cxx:512 AliSpectraBothEventCuts.cxx:513 AliSpectraBothEventCuts.cxx:514 AliSpectraBothEventCuts.cxx:515 AliSpectraBothEventCuts.cxx:516 AliSpectraBothEventCuts.cxx:517 AliSpectraBothEventCuts.cxx:518 AliSpectraBothEventCuts.cxx:519 AliSpectraBothEventCuts.cxx:520 AliSpectraBothEventCuts.cxx:521 AliSpectraBothEventCuts.cxx:522 AliSpectraBothEventCuts.cxx:523 AliSpectraBothEventCuts.cxx:524 AliSpectraBothEventCuts.cxx:525 AliSpectraBothEventCuts.cxx:526 AliSpectraBothEventCuts.cxx:527 AliSpectraBothEventCuts.cxx:528 AliSpectraBothEventCuts.cxx:529 AliSpectraBothEventCuts.cxx:530 AliSpectraBothEventCuts.cxx:531 AliSpectraBothEventCuts.cxx:532 AliSpectraBothEventCuts.cxx:533 AliSpectraBothEventCuts.cxx:534 AliSpectraBothEventCuts.cxx:535 AliSpectraBothEventCuts.cxx:536 AliSpectraBothEventCuts.cxx:537 AliSpectraBothEventCuts.cxx:538 AliSpectraBothEventCuts.cxx:539 AliSpectraBothEventCuts.cxx:540 AliSpectraBothEventCuts.cxx:541 AliSpectraBothEventCuts.cxx:542 AliSpectraBothEventCuts.cxx:543 AliSpectraBothEventCuts.cxx:544 AliSpectraBothEventCuts.cxx:545 AliSpectraBothEventCuts.cxx:546 AliSpectraBothEventCuts.cxx:547 AliSpectraBothEventCuts.cxx:548 AliSpectraBothEventCuts.cxx:549 AliSpectraBothEventCuts.cxx:550 AliSpectraBothEventCuts.cxx:551 AliSpectraBothEventCuts.cxx:552 AliSpectraBothEventCuts.cxx:553 AliSpectraBothEventCuts.cxx:554 AliSpectraBothEventCuts.cxx:555 AliSpectraBothEventCuts.cxx:556 AliSpectraBothEventCuts.cxx:557 AliSpectraBothEventCuts.cxx:558 AliSpectraBothEventCuts.cxx:559 AliSpectraBothEventCuts.cxx:560 AliSpectraBothEventCuts.cxx:561 AliSpectraBothEventCuts.cxx:562 AliSpectraBothEventCuts.cxx:563 AliSpectraBothEventCuts.cxx:564 AliSpectraBothEventCuts.cxx:565 AliSpectraBothEventCuts.cxx:566 AliSpectraBothEventCuts.cxx:567 AliSpectraBothEventCuts.cxx:568 AliSpectraBothEventCuts.cxx:569 AliSpectraBothEventCuts.cxx:570 AliSpectraBothEventCuts.cxx:571 AliSpectraBothEventCuts.cxx:572 AliSpectraBothEventCuts.cxx:573 AliSpectraBothEventCuts.cxx:574 AliSpectraBothEventCuts.cxx:575 AliSpectraBothEventCuts.cxx:576 AliSpectraBothEventCuts.cxx:577 AliSpectraBothEventCuts.cxx:578 AliSpectraBothEventCuts.cxx:579 AliSpectraBothEventCuts.cxx:580 AliSpectraBothEventCuts.cxx:581 AliSpectraBothEventCuts.cxx:582 AliSpectraBothEventCuts.cxx:583 AliSpectraBothEventCuts.cxx:584 AliSpectraBothEventCuts.cxx:585 AliSpectraBothEventCuts.cxx:586 AliSpectraBothEventCuts.cxx:587 AliSpectraBothEventCuts.cxx:588 AliSpectraBothEventCuts.cxx:589 AliSpectraBothEventCuts.cxx:590 AliSpectraBothEventCuts.cxx:591 AliSpectraBothEventCuts.cxx:592 AliSpectraBothEventCuts.cxx:593 AliSpectraBothEventCuts.cxx:594 AliSpectraBothEventCuts.cxx:595 AliSpectraBothEventCuts.cxx:596 AliSpectraBothEventCuts.cxx:597 AliSpectraBothEventCuts.cxx:598 AliSpectraBothEventCuts.cxx:599 AliSpectraBothEventCuts.cxx:600 AliSpectraBothEventCuts.cxx:601 AliSpectraBothEventCuts.cxx:602 AliSpectraBothEventCuts.cxx:603 AliSpectraBothEventCuts.cxx:604 AliSpectraBothEventCuts.cxx:605 AliSpectraBothEventCuts.cxx:606 AliSpectraBothEventCuts.cxx:607 AliSpectraBothEventCuts.cxx:608 AliSpectraBothEventCuts.cxx:609 AliSpectraBothEventCuts.cxx:610 AliSpectraBothEventCuts.cxx:611 AliSpectraBothEventCuts.cxx:612 AliSpectraBothEventCuts.cxx:613 AliSpectraBothEventCuts.cxx:614 AliSpectraBothEventCuts.cxx:615 AliSpectraBothEventCuts.cxx:616 AliSpectraBothEventCuts.cxx:617 AliSpectraBothEventCuts.cxx:618 AliSpectraBothEventCuts.cxx:619 AliSpectraBothEventCuts.cxx:620 AliSpectraBothEventCuts.cxx:621 AliSpectraBothEventCuts.cxx:622 AliSpectraBothEventCuts.cxx:623 AliSpectraBothEventCuts.cxx:624 AliSpectraBothEventCuts.cxx:625 AliSpectraBothEventCuts.cxx:626 AliSpectraBothEventCuts.cxx:627 AliSpectraBothEventCuts.cxx:628 AliSpectraBothEventCuts.cxx:629 AliSpectraBothEventCuts.cxx:630 AliSpectraBothEventCuts.cxx:631 AliSpectraBothEventCuts.cxx:632 AliSpectraBothEventCuts.cxx:633 AliSpectraBothEventCuts.cxx:634 AliSpectraBothEventCuts.cxx:635 AliSpectraBothEventCuts.cxx:636 AliSpectraBothEventCuts.cxx:637 AliSpectraBothEventCuts.cxx:638 AliSpectraBothEventCuts.cxx:639 AliSpectraBothEventCuts.cxx:640 AliSpectraBothEventCuts.cxx:641 AliSpectraBothEventCuts.cxx:642 AliSpectraBothEventCuts.cxx:643 AliSpectraBothEventCuts.cxx:644 AliSpectraBothEventCuts.cxx:645 AliSpectraBothEventCuts.cxx:646 AliSpectraBothEventCuts.cxx:647 AliSpectraBothEventCuts.cxx:648 AliSpectraBothEventCuts.cxx:649 AliSpectraBothEventCuts.cxx:650 AliSpectraBothEventCuts.cxx:651 AliSpectraBothEventCuts.cxx:652 AliSpectraBothEventCuts.cxx:653 AliSpectraBothEventCuts.cxx:654 AliSpectraBothEventCuts.cxx:655 AliSpectraBothEventCuts.cxx:656 AliSpectraBothEventCuts.cxx:657 AliSpectraBothEventCuts.cxx:658 AliSpectraBothEventCuts.cxx:659 AliSpectraBothEventCuts.cxx:660 AliSpectraBothEventCuts.cxx:661 AliSpectraBothEventCuts.cxx:662 AliSpectraBothEventCuts.cxx:663 AliSpectraBothEventCuts.cxx:664 AliSpectraBothEventCuts.cxx:665 AliSpectraBothEventCuts.cxx:666 AliSpectraBothEventCuts.cxx:667 AliSpectraBothEventCuts.cxx:668 AliSpectraBothEventCuts.cxx:669 AliSpectraBothEventCuts.cxx:670 AliSpectraBothEventCuts.cxx:671 AliSpectraBothEventCuts.cxx:672 AliSpectraBothEventCuts.cxx:673 AliSpectraBothEventCuts.cxx:674 AliSpectraBothEventCuts.cxx:675 AliSpectraBothEventCuts.cxx:676 AliSpectraBothEventCuts.cxx:677 AliSpectraBothEventCuts.cxx:678 AliSpectraBothEventCuts.cxx:679 AliSpectraBothEventCuts.cxx:680 AliSpectraBothEventCuts.cxx:681 AliSpectraBothEventCuts.cxx:682 AliSpectraBothEventCuts.cxx:683 AliSpectraBothEventCuts.cxx:684 AliSpectraBothEventCuts.cxx:685 AliSpectraBothEventCuts.cxx:686 AliSpectraBothEventCuts.cxx:687 AliSpectraBothEventCuts.cxx:688 AliSpectraBothEventCuts.cxx:689 AliSpectraBothEventCuts.cxx:690 AliSpectraBothEventCuts.cxx:691 AliSpectraBothEventCuts.cxx:692 AliSpectraBothEventCuts.cxx:693 AliSpectraBothEventCuts.cxx:694 AliSpectraBothEventCuts.cxx:695 AliSpectraBothEventCuts.cxx:696 AliSpectraBothEventCuts.cxx:697 AliSpectraBothEventCuts.cxx:698 AliSpectraBothEventCuts.cxx:699 AliSpectraBothEventCuts.cxx:700 AliSpectraBothEventCuts.cxx:701 AliSpectraBothEventCuts.cxx:702 AliSpectraBothEventCuts.cxx:703 AliSpectraBothEventCuts.cxx:704 AliSpectraBothEventCuts.cxx:705 AliSpectraBothEventCuts.cxx:706 AliSpectraBothEventCuts.cxx:707 AliSpectraBothEventCuts.cxx:708 AliSpectraBothEventCuts.cxx:709 AliSpectraBothEventCuts.cxx:710 AliSpectraBothEventCuts.cxx:711 AliSpectraBothEventCuts.cxx:712 AliSpectraBothEventCuts.cxx:713 AliSpectraBothEventCuts.cxx:714 AliSpectraBothEventCuts.cxx:715 AliSpectraBothEventCuts.cxx:716 AliSpectraBothEventCuts.cxx:717 AliSpectraBothEventCuts.cxx:718 AliSpectraBothEventCuts.cxx:719 AliSpectraBothEventCuts.cxx:720 AliSpectraBothEventCuts.cxx:721 AliSpectraBothEventCuts.cxx:722 AliSpectraBothEventCuts.cxx:723 AliSpectraBothEventCuts.cxx:724 AliSpectraBothEventCuts.cxx:725 AliSpectraBothEventCuts.cxx:726 AliSpectraBothEventCuts.cxx:727 AliSpectraBothEventCuts.cxx:728 AliSpectraBothEventCuts.cxx:729 AliSpectraBothEventCuts.cxx:730 AliSpectraBothEventCuts.cxx:731 AliSpectraBothEventCuts.cxx:732 AliSpectraBothEventCuts.cxx:733 AliSpectraBothEventCuts.cxx:734 AliSpectraBothEventCuts.cxx:735 AliSpectraBothEventCuts.cxx:736 AliSpectraBothEventCuts.cxx:737 AliSpectraBothEventCuts.cxx:738 AliSpectraBothEventCuts.cxx:739 AliSpectraBothEventCuts.cxx:740 AliSpectraBothEventCuts.cxx:741 AliSpectraBothEventCuts.cxx:742 AliSpectraBothEventCuts.cxx:743 AliSpectraBothEventCuts.cxx:744 AliSpectraBothEventCuts.cxx:745 AliSpectraBothEventCuts.cxx:746 AliSpectraBothEventCuts.cxx:747 AliSpectraBothEventCuts.cxx:748 AliSpectraBothEventCuts.cxx:749 AliSpectraBothEventCuts.cxx:750 AliSpectraBothEventCuts.cxx:751 AliSpectraBothEventCuts.cxx:752 AliSpectraBothEventCuts.cxx:753 AliSpectraBothEventCuts.cxx:754 AliSpectraBothEventCuts.cxx:755 AliSpectraBothEventCuts.cxx:756 AliSpectraBothEventCuts.cxx:757 AliSpectraBothEventCuts.cxx:758 AliSpectraBothEventCuts.cxx:759 AliSpectraBothEventCuts.cxx:760