ROOT logo
#include "TChain.h"
#include "TTree.h"
#include "TH1F.h"
#include "TH2F.h"

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

#include "AliESDEvent.h"
#include "AliESDInputHandler.h"
#include "AliAnaVZEROPbPb.h"
#include "AliMultiplicity.h"
#include "AliESDUtils.h"
#include "AliCentrality.h"

// VZERO includes
#include "AliESDVZERO.h"

ClassImp(AliAnaVZEROPbPb)

AliAnaVZEROPbPb::AliAnaVZEROPbPb() 
  : AliAnalysisTaskSE(), fESD(0), fEsdV0(0), fOutputList(0), fNClasses(0), fClassesNames(0),
  fNFlags(0),
  fhAdcPMTNoTime(0),
  fhAdcPMTWithTime(0),
  fhTimePMT(0),
  fhWidthPMT(0),
  fhTimeCorr(0),
  fhPmtMult(0),
  fhV0ampl(0),
  fhEvents(0),
  fhVtxXYBB(0),
  fhVtxZBB(0),
  fhVtxXYBGA(0),
  fhVtxZBGA(0),
  fhVtxXYBGC(0),
  fhVtxZBGC(0),
  fhL2Triggers(0),
fhOnlineCharge(0),
fhRecoMult(0),
fhRecoMultPMT(0),
fhV0vsSPDCentrality(0),
fhTriggerBits(0),
fhTotRecoMult(0),
fhCentrality(0),
fhEqualizedMult(0),
fhEqualizedMultSum(0),
fNBinTotMult(100),
fTotMultMax(30000),
fNBinMult(100),
fV0AMultMax(20000),
fV0CMultMax(30000),
fNBinOnlineCharge(100),
fV0AOnlineChargeMax(20000),
fV0COnlineChargeMax(30000),
fNBinEquaMult(400),
fEquaMultMax(1000),
fNBinSumsEqMult(100),
fV0AEqMultMax(4000.),
fV0CEqMultMax(4000.),
fZvtxCut(10.)

{
  // Constructor
  // Init arrays
  for(Int_t i = 0; i < 2; ++i) {
	fhAdcNoTime[i] = fhAdcWithTime[i] =  fhWidth[i] =  fhTime[i] = NULL;
	fhAdcTime[i] =  fhAdcWidth[i] = NULL;
  }

}

//________________________________________________________________________
AliAnaVZEROPbPb::AliAnaVZEROPbPb(const char *name) 
  : AliAnalysisTaskSE(name), fESD(0), fEsdV0(0), fOutputList(0),fNClasses(0),fClassesNames(0),
  fNFlags(0),
  fhAdcPMTNoTime(0),
  fhAdcPMTWithTime(0),
  fhTimePMT(0),
  fhWidthPMT(0),
  fhTimeCorr(0),
  fhPmtMult(0),
  fhV0ampl(0),
  fhEvents(0),
  fhVtxXYBB(0),
  fhVtxZBB(0),
  fhVtxXYBGA(0),
  fhVtxZBGA(0),
  fhVtxXYBGC(0),
  fhVtxZBGC(0),
  fhL2Triggers(0),
fhOnlineCharge(0),
fhRecoMult(0),
fhRecoMultPMT(0),
fhV0vsSPDCentrality(0),
fhTriggerBits(0),
fhTotRecoMult(0),
fhCentrality(0),
fhEqualizedMult(0),
fhEqualizedMultSum(0),
fNBinTotMult(100),
fTotMultMax(30000),
fNBinMult(100),
fV0AMultMax(20000),
fV0CMultMax(30000),
fNBinOnlineCharge(100),
fV0AOnlineChargeMax(20000),
fV0COnlineChargeMax(30000),
fNBinEquaMult(400),
fEquaMultMax(1000),
fNBinSumsEqMult(100),
fV0AEqMultMax(4000.),
fV0CEqMultMax(4000.),
fZvtxCut(10.)
{
  // Constructor
  // Init arrays
  for(Int_t i = 0; i < 2; ++i) {
	fhAdcNoTime[i] = fhAdcWithTime[i] =  fhWidth[i] =  fhTime[i] = NULL;
	fhAdcTime[i] =  fhAdcWidth[i] = NULL;
  }
  // Define input and output slots here
  // Input slot #0 works with a TChain
  DefineInput(0, TChain::Class());
  // Output slot #0 id reserved by the base class for AOD
  // Output slot #1 writes into a TH1 container
  DefineOutput(1, TList::Class());
}
//________________________________________________________________________
void AliAnaVZEROPbPb::SetClassesNames(const Char_t * nameList){
  // Initialize the class names
  // which are used in the trigger split
	TString  names("AllClasses,");
	names += nameList;
	fClassesNames = names.Tokenize(",");
	fNClasses = fClassesNames->GetEntriesFast();
}
//________________________________________________________________________
TH1F * AliAnaVZEROPbPb::CreateHisto1D(const char* name, const char* title,Int_t nBins, 
				    Double_t xMin, Double_t xMax,
				    const char* xLabel, const char* yLabel)
{
  // create a histogram
  // and set the axis labels and the style
  TH1F* result = new TH1F(name, title, nBins, xMin, xMax);
  result->SetOption("hist");
  if (xLabel) result->GetXaxis()->SetTitle(xLabel);
  if (yLabel) result->GetYaxis()->SetTitle(yLabel);
  result->SetMarkerStyle(kFullCircle);
  return result;
}

//________________________________________________________________________
TH2F * AliAnaVZEROPbPb::CreateHisto2D(const char* name, const char* title,Int_t nBinsX, 
				    Double_t xMin, Double_t xMax,
				    Int_t nBinsY,
				    Double_t yMin, Double_t yMax,
				    const char* xLabel, const char* yLabel)
{
  // create a histogram
  // and set the axis labels and the style
  TH2F* result = new TH2F(name, title, nBinsX, xMin, xMax, nBinsY, yMin, yMax);
  if (xLabel) result->GetXaxis()->SetTitle(xLabel);
  if (yLabel) result->GetYaxis()->SetTitle(yLabel);
  return result;
}


//________________________________________________________________________
void AliAnaVZEROPbPb::UserCreateOutputObjects()
{
  // Create histograms
  // Called once
	if(fNClasses==0) {
		AliFatal("No Classes Defined");
		return;
	}

  fOutputList = new TList();
  fOutputList->SetOwner(kTRUE);


 	CreateHistosPerL2Trigger();
    CreateQAHistos();

  PostData(1, fOutputList);
 }
//________________________________________________________________________
void AliAnaVZEROPbPb::Init()
{
  // Nothing here
  // ...
}

//________________________________________________________________________
void AliAnaVZEROPbPb::UserExec(Option_t *) 
{
  // Main loop
  // Called for each event

  fESD = dynamic_cast<AliESDEvent*>(InputEvent());
  if (!fESD) {
    printf("ERROR: fESD not available\n");
    return;
  }
  
  fEsdV0 = fESD->GetVZEROData();
  if (!fEsdV0) {
    Printf("ERROR: esd V0  not available");
    return;
  }

  FillQAHistos();

  Bool_t isSelected = kFALSE;

  const AliESDVertex *vtx = fESD->GetPrimaryVertexSPD();

  if ((vtx != NULL) && (vtx->GetStatus()) && (TMath::Abs(vtx->GetZ())<fZvtxCut) && (fEsdV0->GetV0ADecision()==1) && (fEsdV0->GetV0CDecision()==1)){
	isSelected = kTRUE;
  }

  if (isSelected) FillPerL2TriggerHistos();

        

  PostData(1, fOutputList);
}      
//________________________________________________________________________
void AliAnaVZEROPbPb::CreateHistosPerL2Trigger(){
  // Create the histograms
  // for all the required L2 trigger classes	
	fhOnlineCharge= new TH2F*[fNClasses];
	fhCentrality= new TH1F*[fNClasses];
	fhV0vsSPDCentrality= new TH2F*[fNClasses];
	fhRecoMult= new TH2F*[fNClasses];
	fhRecoMultPMT= new TH2F*[fNClasses];
	fhTotRecoMult= new TH1F*[fNClasses];
	fhTriggerBits= new TH1F*[fNClasses];
	fhEqualizedMult= new TH2F*[fNClasses];
	fhEqualizedMultSum = new TH2F*[fNClasses];
	
	fhL2Triggers = CreateHisto1D("hL2Triggers","L2 Triggers",fNClasses,0,fNClasses);
  	fOutputList->Add(fhL2Triggers);	  
	
	TIter iter(fClassesNames);
	TObjString* name;
	Int_t iClass =0;
	while((name = (TObjString*) iter.Next())){
		fhL2Triggers->GetXaxis()->SetBinLabel(iClass+1,name->String().Data());
		
		fhOnlineCharge[iClass] = CreateHisto2D(Form("hOnlineCharge_%s",name->String().Data()),Form("Online Charge for %s",name->String().Data()),fNBinOnlineCharge,0.,fV0AOnlineChargeMax,fNBinOnlineCharge,0.,fV0COnlineChargeMax,"V0A","V0C");
		fOutputList->Add(fhOnlineCharge[iClass]);	  

		fhCentrality[iClass] = CreateHisto1D(Form("hV0Centrality_%s",name->String().Data()),Form("V0 centrality for %s",name->String().Data()),100,0.,100.);
		fOutputList->Add(fhCentrality[iClass]);	  

		fhV0vsSPDCentrality[iClass] = CreateHisto2D(Form("hV0vsSPDCentrality_%s",name->String().Data()),Form("Centrality for %s",name->String().Data()),100,0.,100.,100,0.,100,"SPD Centrality (CL1)","V0 Centrality (V0M)");
		fOutputList->Add(fhV0vsSPDCentrality[iClass]);	  

		fhRecoMult[iClass] = CreateHisto2D(Form("hRecoMult_%s",name->String().Data()),Form("Reco Multiplicity for %s",name->String().Data()),fNBinMult,0.,fV0AMultMax,fNBinMult,0.,fV0CMultMax,"V0A Offline Mult","V0C Offline Mult");
	  	fOutputList->Add(fhRecoMult[iClass]);	  

		fhRecoMultPMT[iClass] = CreateHisto2D(Form("hRecoMultPMT_%s",name->String().Data()),Form("Reco Multiplicity per PMT for %s",name->String().Data()),64,-0.5,63.5,200,0.,2000.,"PMT channel","Offline Mult");
	  	fOutputList->Add(fhRecoMultPMT[iClass]);	  

		fhTotRecoMult[iClass] = CreateHisto1D(Form("hTotRecoMult_%s",name->String().Data()),Form("Total Reco Multiplicity for %s",name->String().Data()),fNBinTotMult,0.,fTotMultMax,"V0A + V0C Offline Mult");
	  	fOutputList->Add(fhTotRecoMult[iClass]);	  

		fhTriggerBits[iClass] = CreateHisto1D(Form("hTriggerBits_%s",name->String().Data()),Form("Trigger Bits for %s",name->String().Data()),16,-0.5,15.5);
		fhTriggerBits[iClass]->GetXaxis()->SetBinLabel(1,"BBA_AND_BBC");
		fhTriggerBits[iClass]->GetXaxis()->SetBinLabel(2,"BBA_OR_BBC");
		fhTriggerBits[iClass]->GetXaxis()->SetBinLabel(3,"BGA_AND_BBC");
		fhTriggerBits[iClass]->GetXaxis()->SetBinLabel(4,"BGA");
		fhTriggerBits[iClass]->GetXaxis()->SetBinLabel(5,"BBA_AND_BGC");
		fhTriggerBits[iClass]->GetXaxis()->SetBinLabel(6,"BGC");
		fhTriggerBits[iClass]->GetXaxis()->SetBinLabel(7,"CTA1_AND_CTC1");
		fhTriggerBits[iClass]->GetXaxis()->SetBinLabel(8,"CTA1_OR_CTC1");
		fhTriggerBits[iClass]->GetXaxis()->SetBinLabel(9,"CTA2_AND_CTC2");
		fhTriggerBits[iClass]->GetXaxis()->SetBinLabel(10,"CTA2_OR_CTC2");
		fhTriggerBits[iClass]->GetXaxis()->SetBinLabel(11,"MTA_AND_MTC");
		fhTriggerBits[iClass]->GetXaxis()->SetBinLabel(12,"MTA_OR_MTC");
		fhTriggerBits[iClass]->GetXaxis()->SetBinLabel(13,"BBA");
		fhTriggerBits[iClass]->GetXaxis()->SetBinLabel(14,"BBC");
		fhTriggerBits[iClass]->GetXaxis()->SetBinLabel(15,"BGA_OR_BGC");
		fhTriggerBits[iClass]->GetXaxis()->SetBinLabel(16,"All True BG");
	  	fOutputList->Add(fhTriggerBits[iClass]);
	
		fhEqualizedMult[iClass] = CreateHisto2D(Form("hEqualizedMult_%s",name->String().Data()),Form("Equalized Multiplicity for %s",name->String().Data()),64,-0.5,63.5,fNBinEquaMult,0.,fEquaMultMax,"PMT channel","Equalized Multiplicity");
	  	fOutputList->Add(fhEqualizedMult[iClass]);
	
		fhEqualizedMultSum[iClass] = CreateHisto2D(Form("hEqualizedMultSum_%s",name->String().Data()),Form("Summed Equalized Multiplicity for %s",name->String().Data()),fNBinSumsEqMult,0.,fV0AEqMultMax,fNBinSumsEqMult,0.,fV0CEqMultMax,"V0A","V0C");
	  	fOutputList->Add(fhEqualizedMultSum[iClass]);

		
		iClass++;
	}
	
}
//________________________________________________________________________
void AliAnaVZEROPbPb::CreateQAHistos(){
  // Create the main
  // QA histos
  fNFlags    = CreateHisto2D("hNFlags","BB Flags",33,-0.5,32.5,33,-0.5,32.5,"V0A","V0C");
  fOutputList->Add(fNFlags);

	for(int iSide = 0; iSide < 2; ++iSide){
		TString side;
		if(iSide) side = "V0A";
		else side = "V0C";
		
		fhAdcNoTime[iSide] = CreateHisto1D(Form("hAdcNoTime%s",side.Data()),Form("ADC (no Leading Time) %s",side.Data()),200,0,200,"ADC charge","Entries");
	  	fOutputList->Add(fhAdcNoTime[iSide]);	  
		fhAdcWithTime[iSide] = CreateHisto1D(Form("hAdcWithTime%s",side.Data()),Form("ADC (with Leading Time) %s",side.Data()),200,0,200,"ADC charge","Entries");
	  	fOutputList->Add(fhAdcWithTime[iSide]);
	  	fhTime[iSide] = CreateHisto1D(Form("htimepmt%s",side.Data()),Form("Time measured by TDC %s",side.Data()),1000,-100,100,"Leading time (ns)","Entries");
	  	fOutputList->Add(fhTime[iSide]);
	  	fhWidth[iSide] = CreateHisto1D(Form("hwidth%s",side.Data()),Form("Signal width measured by TDC %s",side.Data()),128,0,800,"Signal width (ns)","Entries");
	  	fOutputList->Add(fhWidth[iSide]);
	  	fhAdcWidth[iSide] = CreateHisto2D(Form("hadcwidth%s",side.Data()),Form("Time width vs ADC %s",side.Data()),200,0,1200,128,0,800,"ADC charge","Width (ns)");
	  	fOutputList->Add(fhAdcWidth[iSide]);
	  	fhAdcTime[iSide] = CreateHisto2D(Form("hAdcTime%s",side.Data()),Form("ADC vs Time %s",side.Data()),200,-100,100,200,0,200,"Time (ns)","ADC charge");
	  	fOutputList->Add(fhAdcTime[iSide]);
	}

  fhAdcPMTNoTime = CreateHisto2D("hadcpmtnotime","ADC vs PMT index (no leading time)",64,-0.5,63.5,200,0,200,"PMT index","ADC charge");
  fhAdcPMTWithTime = CreateHisto2D("hadcpmtwithtime","ADC vs PMT index (with leading time)",64,-0.5,63.5,200,0,2000,"PMT index","ADC charge");

  fhTimePMT = CreateHisto2D("htimepmt","Time measured by TDC vs PMT index",64,-0.5,63.5,200,-50,50,"PMT Index","Leading time (ns)");
  fhWidthPMT = CreateHisto2D("hwidthpmt","Time width vs PMT index",64,-0.5,63.5,128,0,800,"PMT Index","Signal width (ns)");

  fhTimeCorr = CreateHisto2D("htimecorr","Average time C side vs. A side",200,-50,50,200,-50,50,"Time V0A (ns)","Time V0C (ns");

  fhV0ampl  = CreateHisto1D("hV0ampl","V0 multiplicity in single channel (all V0 channels)",500,-0.5,499.5);

  fhEvents = CreateHisto2D("hTriggerDecision","Trigger Decision",3,-0.5,2.5,3,-0.5,2.5,"V0A Decision","V0C Decision");
  fhEvents->GetXaxis()->SetBinLabel(1,"Fake");
  fhEvents->GetXaxis()->SetBinLabel(2,"BB");
  fhEvents->GetXaxis()->SetBinLabel(3,"BG");
  fhEvents->GetYaxis()->SetBinLabel(1,"Fake");
  fhEvents->GetYaxis()->SetBinLabel(2,"BB");
  fhEvents->GetYaxis()->SetBinLabel(3,"BG");

  fhVtxXYBB = CreateHisto2D("fhVtxXYBB","XY SPD vertex (bb)",200,-2,2,200,-2,2);
  fhVtxZBB = CreateHisto1D("fhVtxZBB","Z SPD vertex (bb)",400,-50,50);
  fhVtxXYBGA = CreateHisto2D("fhVtxXYBGA","XY SPD vertex (bga)",200,-2,2,200,-2,2);
  fhVtxZBGA = CreateHisto1D("fhVtxZBGA","Z SPD vertex (bga)",400,-50,50);
  fhVtxXYBGC = CreateHisto2D("fhVtxXYBGC","XY SPD vertex (bgc)",200,-2,2,200,-2,2);
  fhVtxZBGC = CreateHisto1D("fhVtxZBGC","Z SPD vertex (bgc)",400,-50,50);

  fhPmtMult = CreateHisto2D("hV0CellMult","Number of fired PMTs (V0C vs V0A)",33,-0.5,32.5,33,-0.5,32.5,"# Cell (V0A)","# Cell (V0C)");
	fOutputList->Add(fhPmtMult);


  fOutputList->Add(fhAdcPMTNoTime);
  fOutputList->Add(fhAdcPMTWithTime);

  fOutputList->Add(fhTimePMT);
  fOutputList->Add(fhWidthPMT);

  fOutputList->Add(fhTimeCorr);
  fOutputList->Add(fhV0ampl);

  fOutputList->Add(fhEvents);

  fOutputList->Add(fhVtxXYBB);
  fOutputList->Add(fhVtxZBB);
  fOutputList->Add(fhVtxXYBGA);
  fOutputList->Add(fhVtxZBGA);
  fOutputList->Add(fhVtxXYBGC);
  fOutputList->Add(fhVtxZBGC);
  
}
//________________________________________________________________________
void AliAnaVZEROPbPb::FillPerL2TriggerHistos(){
  // Fill the histos which are split
  // by L2 trigger class
   TString trigStr(fESD->GetFiredTriggerClasses());
  
	TIter iter(fClassesNames);
	TObjString* name;
	Int_t iClass =0;
	
   
	TObjArray * tokens = trigStr.Tokenize(" ");
    Int_t ntokens = tokens->GetEntriesFast();
		
  while((name = (TObjString*) iter.Next())){
	
	Bool_t goodTrig = kFALSE;
	if(iClass>0){
    	for (Int_t itoken = 0; itoken < ntokens; ++itoken) {
			if (!((((TObjString*)tokens->At(itoken))->String()).Contains("-B-"))) continue;
			if ((((TObjString*)tokens->At(itoken))->String()).BeginsWith(name->String().Data())) {
				goodTrig = kTRUE;
				break;
			}
		}
	} else goodTrig = kTRUE;
	
	if (!goodTrig) {
		iClass++;
		continue;
	}
//	if (!trigStr.Contains(name->String().Data())) continue;
	
	fhOnlineCharge[iClass]->Fill(fEsdV0->GetTriggerChargeA(),fEsdV0->GetTriggerChargeC());
 	
	fhL2Triggers->Fill(iClass);
		
  	fhRecoMult[iClass]->Fill(fEsdV0->GetMTotV0A(),fEsdV0->GetMTotV0C());
  	fhTotRecoMult[iClass]->Fill(fEsdV0->GetMTotV0A()+fEsdV0->GetMTotV0C());

	for(int iTrig = 0; iTrig < 16; ++iTrig){
		if(fEsdV0->GetTriggerBits() & (1<<iTrig)) fhTriggerBits[iClass]->Fill(iTrig);	
	}
	
    AliCentrality *centrality = fESD->GetCentrality();
  	Float_t percentile = centrality->GetCentralityPercentile("V0M");
  	Float_t spdPercentile = centrality->GetCentralityPercentile("CL1");
	//  	if (spdPercentile < 0) spdPercentile = 0;
	//  	if (percentile < 0) percentile = 0;
	fhCentrality[iClass]->Fill(percentile);
	fhV0vsSPDCentrality[iClass]->Fill(spdPercentile,percentile);
	
	Float_t sumEqMult[2] = {0.,0.};
	for(int iCh = 0; iCh < 64; ++iCh){
		if(fEsdV0->GetTime(iCh) < -1024.+ 1e-6) continue;
		fhRecoMultPMT[iClass]->Fill(iCh,fEsdV0->GetMultiplicity(iCh));
		Int_t side = iCh / 32 ;
		sumEqMult[side] += fESD->GetVZEROEqMultiplicity(iCh);
		fhEqualizedMult[iClass]->Fill(iCh,fESD->GetVZEROEqMultiplicity(iCh));
	}
	fhEqualizedMultSum[iClass]->Fill(sumEqMult[1],sumEqMult[0]);
	
	iClass++;
  }
	delete tokens;

}
//________________________________________________________________________
void AliAnaVZEROPbPb::FillQAHistos(){
  // Fill the main QA histos
  // Count V0 flags
  Int_t nV0A = 0, nV0C = 0;
  for(Int_t i = 0; i < 32; ++i) {
    if (fEsdV0->GetBBFlag(i)) nV0C++;
    if (fEsdV0->GetBBFlag(i+32)) nV0A++;
  }
  fNFlags->Fill((Float_t)nV0A,(Float_t)nV0C);

  for (Int_t i=0; i<64; ++i) {
	Int_t side = i/32;
	if (fEsdV0->GetTime(i) < 1e-6) {
		fhAdcNoTime[side]->Fill(fEsdV0->GetAdc(i));
		fhAdcPMTNoTime->Fill(i,fEsdV0->GetAdc(i));
    } else {
	  	fhAdcWithTime[side]->Fill(fEsdV0->GetAdc(i));
		fhAdcPMTWithTime->Fill(i,fEsdV0->GetAdc(i));
    }

	fhTime[side]->Fill(fEsdV0->GetTime(i));
	fhWidth[side]->Fill(fEsdV0->GetWidth(i));
	fhAdcWidth[side]->Fill(fEsdV0->GetAdc(i),fEsdV0->GetWidth(i));
	fhAdcTime[side]->Fill(fEsdV0->GetTime(i),fEsdV0->GetAdc(i));

    fhTimePMT->Fill(i,fEsdV0->GetTime(i));
    fhWidthPMT->Fill(i,fEsdV0->GetWidth(i));

  }

  fhTimeCorr->Fill(fEsdV0->GetV0ATime(),fEsdV0->GetV0CTime());

  AliESDVZERO::Decision flaga = fEsdV0->GetV0ADecision();
  AliESDVZERO::Decision flagc = fEsdV0->GetV0CDecision();

  fhEvents->Fill(flaga,flagc);

  const AliESDVertex *vtx = fESD->GetPrimaryVertexSPD();

  if (flaga <= 1 && flagc <=1) {
    fhVtxXYBB->Fill(vtx->GetX(),vtx->GetY());
    fhVtxZBB->Fill(vtx->GetZ());
  }
  else {
    if (flaga == 2) {
      fhVtxXYBGA->Fill(vtx->GetX(),vtx->GetY());
      fhVtxZBGA->Fill(vtx->GetZ());
    }
    if (flagc == 2) {
      fhVtxXYBGC->Fill(vtx->GetX(),vtx->GetY());
      fhVtxZBGC->Fill(vtx->GetZ());
    }
  }

  fhPmtMult->Fill(fEsdV0->GetNbPMV0A(),fEsdV0->GetNbPMV0C());
  for(Int_t i = 0; i < 64; i++) {
    fhV0ampl->Fill(fEsdV0->GetMultiplicity(i));
  }
  
}
//________________________________________________________________________
void AliAnaVZEROPbPb::Terminate(Option_t *) 
{
  // Check if the output list is there
  // Called once at the end of the query

  fOutputList = dynamic_cast<TList*> (GetOutputData(1));
  if (!fOutputList) {
    printf("ERROR: Output list not available\n");
    return;
  }

}
//________________________________________________________________________
void AliAnaVZEROPbPb::SetOnlineChargeRange(Int_t nbins, Float_t maxA, Float_t maxC){
  // Set Trigger charge
  // range used for histogramming
	fNBinOnlineCharge = nbins;
	fV0AOnlineChargeMax = maxA;
	fV0COnlineChargeMax = maxC;
}
//________________________________________________________________________
void AliAnaVZEROPbPb::SetTotalMultiplicityRange(Int_t nbins, Float_t max){
  // Set Multiplicity 
  // range used for histogramming
	fNBinTotMult = nbins;
	fTotMultMax = max;
}
//________________________________________________________________________
void AliAnaVZEROPbPb::SetMultiplicityRange(Int_t nbins, Float_t maxA, Float_t maxC){
  // Set Multiplicity 
  // range used for histogramming
	fNBinMult = nbins;
	fV0AMultMax = maxA;
	fV0CMultMax = maxC;
}
//________________________________________________________________________
void AliAnaVZEROPbPb::SetEquaMultRange(Int_t nbins, Float_t max){
  // Set Equalized multiplicity
  // range used for histogramming
	fNBinEquaMult = nbins;
	fEquaMultMax = max;
}
//________________________________________________________________________
void AliAnaVZEROPbPb::SetSumEquaMultRange(Int_t nbins, Float_t maxA, Float_t maxC){
  // Set Equalized multiplicity
  // range used for histogramming
	fNBinSumsEqMult = nbins;
	fV0AEqMultMax = maxA;
	fV0CEqMultMax = maxC;
}

 AliAnaVZEROPbPb.cxx:1
 AliAnaVZEROPbPb.cxx:2
 AliAnaVZEROPbPb.cxx:3
 AliAnaVZEROPbPb.cxx:4
 AliAnaVZEROPbPb.cxx:5
 AliAnaVZEROPbPb.cxx:6
 AliAnaVZEROPbPb.cxx:7
 AliAnaVZEROPbPb.cxx:8
 AliAnaVZEROPbPb.cxx:9
 AliAnaVZEROPbPb.cxx:10
 AliAnaVZEROPbPb.cxx:11
 AliAnaVZEROPbPb.cxx:12
 AliAnaVZEROPbPb.cxx:13
 AliAnaVZEROPbPb.cxx:14
 AliAnaVZEROPbPb.cxx:15
 AliAnaVZEROPbPb.cxx:16
 AliAnaVZEROPbPb.cxx:17
 AliAnaVZEROPbPb.cxx:18
 AliAnaVZEROPbPb.cxx:19
 AliAnaVZEROPbPb.cxx:20
 AliAnaVZEROPbPb.cxx:21
 AliAnaVZEROPbPb.cxx:22
 AliAnaVZEROPbPb.cxx:23
 AliAnaVZEROPbPb.cxx:24
 AliAnaVZEROPbPb.cxx:25
 AliAnaVZEROPbPb.cxx:26
 AliAnaVZEROPbPb.cxx:27
 AliAnaVZEROPbPb.cxx:28
 AliAnaVZEROPbPb.cxx:29
 AliAnaVZEROPbPb.cxx:30
 AliAnaVZEROPbPb.cxx:31
 AliAnaVZEROPbPb.cxx:32
 AliAnaVZEROPbPb.cxx:33
 AliAnaVZEROPbPb.cxx:34
 AliAnaVZEROPbPb.cxx:35
 AliAnaVZEROPbPb.cxx:36
 AliAnaVZEROPbPb.cxx:37
 AliAnaVZEROPbPb.cxx:38
 AliAnaVZEROPbPb.cxx:39
 AliAnaVZEROPbPb.cxx:40
 AliAnaVZEROPbPb.cxx:41
 AliAnaVZEROPbPb.cxx:42
 AliAnaVZEROPbPb.cxx:43
 AliAnaVZEROPbPb.cxx:44
 AliAnaVZEROPbPb.cxx:45
 AliAnaVZEROPbPb.cxx:46
 AliAnaVZEROPbPb.cxx:47
 AliAnaVZEROPbPb.cxx:48
 AliAnaVZEROPbPb.cxx:49
 AliAnaVZEROPbPb.cxx:50
 AliAnaVZEROPbPb.cxx:51
 AliAnaVZEROPbPb.cxx:52
 AliAnaVZEROPbPb.cxx:53
 AliAnaVZEROPbPb.cxx:54
 AliAnaVZEROPbPb.cxx:55
 AliAnaVZEROPbPb.cxx:56
 AliAnaVZEROPbPb.cxx:57
 AliAnaVZEROPbPb.cxx:58
 AliAnaVZEROPbPb.cxx:59
 AliAnaVZEROPbPb.cxx:60
 AliAnaVZEROPbPb.cxx:61
 AliAnaVZEROPbPb.cxx:62
 AliAnaVZEROPbPb.cxx:63
 AliAnaVZEROPbPb.cxx:64
 AliAnaVZEROPbPb.cxx:65
 AliAnaVZEROPbPb.cxx:66
 AliAnaVZEROPbPb.cxx:67
 AliAnaVZEROPbPb.cxx:68
 AliAnaVZEROPbPb.cxx:69
 AliAnaVZEROPbPb.cxx:70
 AliAnaVZEROPbPb.cxx:71
 AliAnaVZEROPbPb.cxx:72
 AliAnaVZEROPbPb.cxx:73
 AliAnaVZEROPbPb.cxx:74
 AliAnaVZEROPbPb.cxx:75
 AliAnaVZEROPbPb.cxx:76
 AliAnaVZEROPbPb.cxx:77
 AliAnaVZEROPbPb.cxx:78
 AliAnaVZEROPbPb.cxx:79
 AliAnaVZEROPbPb.cxx:80
 AliAnaVZEROPbPb.cxx:81
 AliAnaVZEROPbPb.cxx:82
 AliAnaVZEROPbPb.cxx:83
 AliAnaVZEROPbPb.cxx:84
 AliAnaVZEROPbPb.cxx:85
 AliAnaVZEROPbPb.cxx:86
 AliAnaVZEROPbPb.cxx:87
 AliAnaVZEROPbPb.cxx:88
 AliAnaVZEROPbPb.cxx:89
 AliAnaVZEROPbPb.cxx:90
 AliAnaVZEROPbPb.cxx:91
 AliAnaVZEROPbPb.cxx:92
 AliAnaVZEROPbPb.cxx:93
 AliAnaVZEROPbPb.cxx:94
 AliAnaVZEROPbPb.cxx:95
 AliAnaVZEROPbPb.cxx:96
 AliAnaVZEROPbPb.cxx:97
 AliAnaVZEROPbPb.cxx:98
 AliAnaVZEROPbPb.cxx:99
 AliAnaVZEROPbPb.cxx:100
 AliAnaVZEROPbPb.cxx:101
 AliAnaVZEROPbPb.cxx:102
 AliAnaVZEROPbPb.cxx:103
 AliAnaVZEROPbPb.cxx:104
 AliAnaVZEROPbPb.cxx:105
 AliAnaVZEROPbPb.cxx:106
 AliAnaVZEROPbPb.cxx:107
 AliAnaVZEROPbPb.cxx:108
 AliAnaVZEROPbPb.cxx:109
 AliAnaVZEROPbPb.cxx:110
 AliAnaVZEROPbPb.cxx:111
 AliAnaVZEROPbPb.cxx:112
 AliAnaVZEROPbPb.cxx:113
 AliAnaVZEROPbPb.cxx:114
 AliAnaVZEROPbPb.cxx:115
 AliAnaVZEROPbPb.cxx:116
 AliAnaVZEROPbPb.cxx:117
 AliAnaVZEROPbPb.cxx:118
 AliAnaVZEROPbPb.cxx:119
 AliAnaVZEROPbPb.cxx:120
 AliAnaVZEROPbPb.cxx:121
 AliAnaVZEROPbPb.cxx:122
 AliAnaVZEROPbPb.cxx:123
 AliAnaVZEROPbPb.cxx:124
 AliAnaVZEROPbPb.cxx:125
 AliAnaVZEROPbPb.cxx:126
 AliAnaVZEROPbPb.cxx:127
 AliAnaVZEROPbPb.cxx:128
 AliAnaVZEROPbPb.cxx:129
 AliAnaVZEROPbPb.cxx:130
 AliAnaVZEROPbPb.cxx:131
 AliAnaVZEROPbPb.cxx:132
 AliAnaVZEROPbPb.cxx:133
 AliAnaVZEROPbPb.cxx:134
 AliAnaVZEROPbPb.cxx:135
 AliAnaVZEROPbPb.cxx:136
 AliAnaVZEROPbPb.cxx:137
 AliAnaVZEROPbPb.cxx:138
 AliAnaVZEROPbPb.cxx:139
 AliAnaVZEROPbPb.cxx:140
 AliAnaVZEROPbPb.cxx:141
 AliAnaVZEROPbPb.cxx:142
 AliAnaVZEROPbPb.cxx:143
 AliAnaVZEROPbPb.cxx:144
 AliAnaVZEROPbPb.cxx:145
 AliAnaVZEROPbPb.cxx:146
 AliAnaVZEROPbPb.cxx:147
 AliAnaVZEROPbPb.cxx:148
 AliAnaVZEROPbPb.cxx:149
 AliAnaVZEROPbPb.cxx:150
 AliAnaVZEROPbPb.cxx:151
 AliAnaVZEROPbPb.cxx:152
 AliAnaVZEROPbPb.cxx:153
 AliAnaVZEROPbPb.cxx:154
 AliAnaVZEROPbPb.cxx:155
 AliAnaVZEROPbPb.cxx:156
 AliAnaVZEROPbPb.cxx:157
 AliAnaVZEROPbPb.cxx:158
 AliAnaVZEROPbPb.cxx:159
 AliAnaVZEROPbPb.cxx:160
 AliAnaVZEROPbPb.cxx:161
 AliAnaVZEROPbPb.cxx:162
 AliAnaVZEROPbPb.cxx:163
 AliAnaVZEROPbPb.cxx:164
 AliAnaVZEROPbPb.cxx:165
 AliAnaVZEROPbPb.cxx:166
 AliAnaVZEROPbPb.cxx:167
 AliAnaVZEROPbPb.cxx:168
 AliAnaVZEROPbPb.cxx:169
 AliAnaVZEROPbPb.cxx:170
 AliAnaVZEROPbPb.cxx:171
 AliAnaVZEROPbPb.cxx:172
 AliAnaVZEROPbPb.cxx:173
 AliAnaVZEROPbPb.cxx:174
 AliAnaVZEROPbPb.cxx:175
 AliAnaVZEROPbPb.cxx:176
 AliAnaVZEROPbPb.cxx:177
 AliAnaVZEROPbPb.cxx:178
 AliAnaVZEROPbPb.cxx:179
 AliAnaVZEROPbPb.cxx:180
 AliAnaVZEROPbPb.cxx:181
 AliAnaVZEROPbPb.cxx:182
 AliAnaVZEROPbPb.cxx:183
 AliAnaVZEROPbPb.cxx:184
 AliAnaVZEROPbPb.cxx:185
 AliAnaVZEROPbPb.cxx:186
 AliAnaVZEROPbPb.cxx:187
 AliAnaVZEROPbPb.cxx:188
 AliAnaVZEROPbPb.cxx:189
 AliAnaVZEROPbPb.cxx:190
 AliAnaVZEROPbPb.cxx:191
 AliAnaVZEROPbPb.cxx:192
 AliAnaVZEROPbPb.cxx:193
 AliAnaVZEROPbPb.cxx:194
 AliAnaVZEROPbPb.cxx:195
 AliAnaVZEROPbPb.cxx:196
 AliAnaVZEROPbPb.cxx:197
 AliAnaVZEROPbPb.cxx:198
 AliAnaVZEROPbPb.cxx:199
 AliAnaVZEROPbPb.cxx:200
 AliAnaVZEROPbPb.cxx:201
 AliAnaVZEROPbPb.cxx:202
 AliAnaVZEROPbPb.cxx:203
 AliAnaVZEROPbPb.cxx:204
 AliAnaVZEROPbPb.cxx:205
 AliAnaVZEROPbPb.cxx:206
 AliAnaVZEROPbPb.cxx:207
 AliAnaVZEROPbPb.cxx:208
 AliAnaVZEROPbPb.cxx:209
 AliAnaVZEROPbPb.cxx:210
 AliAnaVZEROPbPb.cxx:211
 AliAnaVZEROPbPb.cxx:212
 AliAnaVZEROPbPb.cxx:213
 AliAnaVZEROPbPb.cxx:214
 AliAnaVZEROPbPb.cxx:215
 AliAnaVZEROPbPb.cxx:216
 AliAnaVZEROPbPb.cxx:217
 AliAnaVZEROPbPb.cxx:218
 AliAnaVZEROPbPb.cxx:219
 AliAnaVZEROPbPb.cxx:220
 AliAnaVZEROPbPb.cxx:221
 AliAnaVZEROPbPb.cxx:222
 AliAnaVZEROPbPb.cxx:223
 AliAnaVZEROPbPb.cxx:224
 AliAnaVZEROPbPb.cxx:225
 AliAnaVZEROPbPb.cxx:226
 AliAnaVZEROPbPb.cxx:227
 AliAnaVZEROPbPb.cxx:228
 AliAnaVZEROPbPb.cxx:229
 AliAnaVZEROPbPb.cxx:230
 AliAnaVZEROPbPb.cxx:231
 AliAnaVZEROPbPb.cxx:232
 AliAnaVZEROPbPb.cxx:233
 AliAnaVZEROPbPb.cxx:234
 AliAnaVZEROPbPb.cxx:235
 AliAnaVZEROPbPb.cxx:236
 AliAnaVZEROPbPb.cxx:237
 AliAnaVZEROPbPb.cxx:238
 AliAnaVZEROPbPb.cxx:239
 AliAnaVZEROPbPb.cxx:240
 AliAnaVZEROPbPb.cxx:241
 AliAnaVZEROPbPb.cxx:242
 AliAnaVZEROPbPb.cxx:243
 AliAnaVZEROPbPb.cxx:244
 AliAnaVZEROPbPb.cxx:245
 AliAnaVZEROPbPb.cxx:246
 AliAnaVZEROPbPb.cxx:247
 AliAnaVZEROPbPb.cxx:248
 AliAnaVZEROPbPb.cxx:249
 AliAnaVZEROPbPb.cxx:250
 AliAnaVZEROPbPb.cxx:251
 AliAnaVZEROPbPb.cxx:252
 AliAnaVZEROPbPb.cxx:253
 AliAnaVZEROPbPb.cxx:254
 AliAnaVZEROPbPb.cxx:255
 AliAnaVZEROPbPb.cxx:256
 AliAnaVZEROPbPb.cxx:257
 AliAnaVZEROPbPb.cxx:258
 AliAnaVZEROPbPb.cxx:259
 AliAnaVZEROPbPb.cxx:260
 AliAnaVZEROPbPb.cxx:261
 AliAnaVZEROPbPb.cxx:262
 AliAnaVZEROPbPb.cxx:263
 AliAnaVZEROPbPb.cxx:264
 AliAnaVZEROPbPb.cxx:265
 AliAnaVZEROPbPb.cxx:266
 AliAnaVZEROPbPb.cxx:267
 AliAnaVZEROPbPb.cxx:268
 AliAnaVZEROPbPb.cxx:269
 AliAnaVZEROPbPb.cxx:270
 AliAnaVZEROPbPb.cxx:271
 AliAnaVZEROPbPb.cxx:272
 AliAnaVZEROPbPb.cxx:273
 AliAnaVZEROPbPb.cxx:274
 AliAnaVZEROPbPb.cxx:275
 AliAnaVZEROPbPb.cxx:276
 AliAnaVZEROPbPb.cxx:277
 AliAnaVZEROPbPb.cxx:278
 AliAnaVZEROPbPb.cxx:279
 AliAnaVZEROPbPb.cxx:280
 AliAnaVZEROPbPb.cxx:281
 AliAnaVZEROPbPb.cxx:282
 AliAnaVZEROPbPb.cxx:283
 AliAnaVZEROPbPb.cxx:284
 AliAnaVZEROPbPb.cxx:285
 AliAnaVZEROPbPb.cxx:286
 AliAnaVZEROPbPb.cxx:287
 AliAnaVZEROPbPb.cxx:288
 AliAnaVZEROPbPb.cxx:289
 AliAnaVZEROPbPb.cxx:290
 AliAnaVZEROPbPb.cxx:291
 AliAnaVZEROPbPb.cxx:292
 AliAnaVZEROPbPb.cxx:293
 AliAnaVZEROPbPb.cxx:294
 AliAnaVZEROPbPb.cxx:295
 AliAnaVZEROPbPb.cxx:296
 AliAnaVZEROPbPb.cxx:297
 AliAnaVZEROPbPb.cxx:298
 AliAnaVZEROPbPb.cxx:299
 AliAnaVZEROPbPb.cxx:300
 AliAnaVZEROPbPb.cxx:301
 AliAnaVZEROPbPb.cxx:302
 AliAnaVZEROPbPb.cxx:303
 AliAnaVZEROPbPb.cxx:304
 AliAnaVZEROPbPb.cxx:305
 AliAnaVZEROPbPb.cxx:306
 AliAnaVZEROPbPb.cxx:307
 AliAnaVZEROPbPb.cxx:308
 AliAnaVZEROPbPb.cxx:309
 AliAnaVZEROPbPb.cxx:310
 AliAnaVZEROPbPb.cxx:311
 AliAnaVZEROPbPb.cxx:312
 AliAnaVZEROPbPb.cxx:313
 AliAnaVZEROPbPb.cxx:314
 AliAnaVZEROPbPb.cxx:315
 AliAnaVZEROPbPb.cxx:316
 AliAnaVZEROPbPb.cxx:317
 AliAnaVZEROPbPb.cxx:318
 AliAnaVZEROPbPb.cxx:319
 AliAnaVZEROPbPb.cxx:320
 AliAnaVZEROPbPb.cxx:321
 AliAnaVZEROPbPb.cxx:322
 AliAnaVZEROPbPb.cxx:323
 AliAnaVZEROPbPb.cxx:324
 AliAnaVZEROPbPb.cxx:325
 AliAnaVZEROPbPb.cxx:326
 AliAnaVZEROPbPb.cxx:327
 AliAnaVZEROPbPb.cxx:328
 AliAnaVZEROPbPb.cxx:329
 AliAnaVZEROPbPb.cxx:330
 AliAnaVZEROPbPb.cxx:331
 AliAnaVZEROPbPb.cxx:332
 AliAnaVZEROPbPb.cxx:333
 AliAnaVZEROPbPb.cxx:334
 AliAnaVZEROPbPb.cxx:335
 AliAnaVZEROPbPb.cxx:336
 AliAnaVZEROPbPb.cxx:337
 AliAnaVZEROPbPb.cxx:338
 AliAnaVZEROPbPb.cxx:339
 AliAnaVZEROPbPb.cxx:340
 AliAnaVZEROPbPb.cxx:341
 AliAnaVZEROPbPb.cxx:342
 AliAnaVZEROPbPb.cxx:343
 AliAnaVZEROPbPb.cxx:344
 AliAnaVZEROPbPb.cxx:345
 AliAnaVZEROPbPb.cxx:346
 AliAnaVZEROPbPb.cxx:347
 AliAnaVZEROPbPb.cxx:348
 AliAnaVZEROPbPb.cxx:349
 AliAnaVZEROPbPb.cxx:350
 AliAnaVZEROPbPb.cxx:351
 AliAnaVZEROPbPb.cxx:352
 AliAnaVZEROPbPb.cxx:353
 AliAnaVZEROPbPb.cxx:354
 AliAnaVZEROPbPb.cxx:355
 AliAnaVZEROPbPb.cxx:356
 AliAnaVZEROPbPb.cxx:357
 AliAnaVZEROPbPb.cxx:358
 AliAnaVZEROPbPb.cxx:359
 AliAnaVZEROPbPb.cxx:360
 AliAnaVZEROPbPb.cxx:361
 AliAnaVZEROPbPb.cxx:362
 AliAnaVZEROPbPb.cxx:363
 AliAnaVZEROPbPb.cxx:364
 AliAnaVZEROPbPb.cxx:365
 AliAnaVZEROPbPb.cxx:366
 AliAnaVZEROPbPb.cxx:367
 AliAnaVZEROPbPb.cxx:368
 AliAnaVZEROPbPb.cxx:369
 AliAnaVZEROPbPb.cxx:370
 AliAnaVZEROPbPb.cxx:371
 AliAnaVZEROPbPb.cxx:372
 AliAnaVZEROPbPb.cxx:373
 AliAnaVZEROPbPb.cxx:374
 AliAnaVZEROPbPb.cxx:375
 AliAnaVZEROPbPb.cxx:376
 AliAnaVZEROPbPb.cxx:377
 AliAnaVZEROPbPb.cxx:378
 AliAnaVZEROPbPb.cxx:379
 AliAnaVZEROPbPb.cxx:380
 AliAnaVZEROPbPb.cxx:381
 AliAnaVZEROPbPb.cxx:382
 AliAnaVZEROPbPb.cxx:383
 AliAnaVZEROPbPb.cxx:384
 AliAnaVZEROPbPb.cxx:385
 AliAnaVZEROPbPb.cxx:386
 AliAnaVZEROPbPb.cxx:387
 AliAnaVZEROPbPb.cxx:388
 AliAnaVZEROPbPb.cxx:389
 AliAnaVZEROPbPb.cxx:390
 AliAnaVZEROPbPb.cxx:391
 AliAnaVZEROPbPb.cxx:392
 AliAnaVZEROPbPb.cxx:393
 AliAnaVZEROPbPb.cxx:394
 AliAnaVZEROPbPb.cxx:395
 AliAnaVZEROPbPb.cxx:396
 AliAnaVZEROPbPb.cxx:397
 AliAnaVZEROPbPb.cxx:398
 AliAnaVZEROPbPb.cxx:399
 AliAnaVZEROPbPb.cxx:400
 AliAnaVZEROPbPb.cxx:401
 AliAnaVZEROPbPb.cxx:402
 AliAnaVZEROPbPb.cxx:403
 AliAnaVZEROPbPb.cxx:404
 AliAnaVZEROPbPb.cxx:405
 AliAnaVZEROPbPb.cxx:406
 AliAnaVZEROPbPb.cxx:407
 AliAnaVZEROPbPb.cxx:408
 AliAnaVZEROPbPb.cxx:409
 AliAnaVZEROPbPb.cxx:410
 AliAnaVZEROPbPb.cxx:411
 AliAnaVZEROPbPb.cxx:412
 AliAnaVZEROPbPb.cxx:413
 AliAnaVZEROPbPb.cxx:414
 AliAnaVZEROPbPb.cxx:415
 AliAnaVZEROPbPb.cxx:416
 AliAnaVZEROPbPb.cxx:417
 AliAnaVZEROPbPb.cxx:418
 AliAnaVZEROPbPb.cxx:419
 AliAnaVZEROPbPb.cxx:420
 AliAnaVZEROPbPb.cxx:421
 AliAnaVZEROPbPb.cxx:422
 AliAnaVZEROPbPb.cxx:423
 AliAnaVZEROPbPb.cxx:424
 AliAnaVZEROPbPb.cxx:425
 AliAnaVZEROPbPb.cxx:426
 AliAnaVZEROPbPb.cxx:427
 AliAnaVZEROPbPb.cxx:428
 AliAnaVZEROPbPb.cxx:429
 AliAnaVZEROPbPb.cxx:430
 AliAnaVZEROPbPb.cxx:431
 AliAnaVZEROPbPb.cxx:432
 AliAnaVZEROPbPb.cxx:433
 AliAnaVZEROPbPb.cxx:434
 AliAnaVZEROPbPb.cxx:435
 AliAnaVZEROPbPb.cxx:436
 AliAnaVZEROPbPb.cxx:437
 AliAnaVZEROPbPb.cxx:438
 AliAnaVZEROPbPb.cxx:439
 AliAnaVZEROPbPb.cxx:440
 AliAnaVZEROPbPb.cxx:441
 AliAnaVZEROPbPb.cxx:442
 AliAnaVZEROPbPb.cxx:443
 AliAnaVZEROPbPb.cxx:444
 AliAnaVZEROPbPb.cxx:445
 AliAnaVZEROPbPb.cxx:446
 AliAnaVZEROPbPb.cxx:447
 AliAnaVZEROPbPb.cxx:448
 AliAnaVZEROPbPb.cxx:449
 AliAnaVZEROPbPb.cxx:450
 AliAnaVZEROPbPb.cxx:451
 AliAnaVZEROPbPb.cxx:452
 AliAnaVZEROPbPb.cxx:453
 AliAnaVZEROPbPb.cxx:454
 AliAnaVZEROPbPb.cxx:455
 AliAnaVZEROPbPb.cxx:456
 AliAnaVZEROPbPb.cxx:457
 AliAnaVZEROPbPb.cxx:458
 AliAnaVZEROPbPb.cxx:459
 AliAnaVZEROPbPb.cxx:460
 AliAnaVZEROPbPb.cxx:461
 AliAnaVZEROPbPb.cxx:462
 AliAnaVZEROPbPb.cxx:463
 AliAnaVZEROPbPb.cxx:464
 AliAnaVZEROPbPb.cxx:465
 AliAnaVZEROPbPb.cxx:466
 AliAnaVZEROPbPb.cxx:467
 AliAnaVZEROPbPb.cxx:468
 AliAnaVZEROPbPb.cxx:469
 AliAnaVZEROPbPb.cxx:470
 AliAnaVZEROPbPb.cxx:471
 AliAnaVZEROPbPb.cxx:472
 AliAnaVZEROPbPb.cxx:473
 AliAnaVZEROPbPb.cxx:474
 AliAnaVZEROPbPb.cxx:475
 AliAnaVZEROPbPb.cxx:476
 AliAnaVZEROPbPb.cxx:477
 AliAnaVZEROPbPb.cxx:478
 AliAnaVZEROPbPb.cxx:479
 AliAnaVZEROPbPb.cxx:480
 AliAnaVZEROPbPb.cxx:481
 AliAnaVZEROPbPb.cxx:482
 AliAnaVZEROPbPb.cxx:483
 AliAnaVZEROPbPb.cxx:484
 AliAnaVZEROPbPb.cxx:485
 AliAnaVZEROPbPb.cxx:486
 AliAnaVZEROPbPb.cxx:487
 AliAnaVZEROPbPb.cxx:488
 AliAnaVZEROPbPb.cxx:489
 AliAnaVZEROPbPb.cxx:490
 AliAnaVZEROPbPb.cxx:491
 AliAnaVZEROPbPb.cxx:492
 AliAnaVZEROPbPb.cxx:493
 AliAnaVZEROPbPb.cxx:494
 AliAnaVZEROPbPb.cxx:495
 AliAnaVZEROPbPb.cxx:496
 AliAnaVZEROPbPb.cxx:497
 AliAnaVZEROPbPb.cxx:498
 AliAnaVZEROPbPb.cxx:499
 AliAnaVZEROPbPb.cxx:500
 AliAnaVZEROPbPb.cxx:501
 AliAnaVZEROPbPb.cxx:502
 AliAnaVZEROPbPb.cxx:503
 AliAnaVZEROPbPb.cxx:504
 AliAnaVZEROPbPb.cxx:505
 AliAnaVZEROPbPb.cxx:506
 AliAnaVZEROPbPb.cxx:507
 AliAnaVZEROPbPb.cxx:508
 AliAnaVZEROPbPb.cxx:509
 AliAnaVZEROPbPb.cxx:510
 AliAnaVZEROPbPb.cxx:511
 AliAnaVZEROPbPb.cxx:512
 AliAnaVZEROPbPb.cxx:513
 AliAnaVZEROPbPb.cxx:514
 AliAnaVZEROPbPb.cxx:515
 AliAnaVZEROPbPb.cxx:516
 AliAnaVZEROPbPb.cxx:517
 AliAnaVZEROPbPb.cxx:518
 AliAnaVZEROPbPb.cxx:519
 AliAnaVZEROPbPb.cxx:520
 AliAnaVZEROPbPb.cxx:521
 AliAnaVZEROPbPb.cxx:522
 AliAnaVZEROPbPb.cxx:523
 AliAnaVZEROPbPb.cxx:524
 AliAnaVZEROPbPb.cxx:525
 AliAnaVZEROPbPb.cxx:526
 AliAnaVZEROPbPb.cxx:527
 AliAnaVZEROPbPb.cxx:528
 AliAnaVZEROPbPb.cxx:529
 AliAnaVZEROPbPb.cxx:530
 AliAnaVZEROPbPb.cxx:531
 AliAnaVZEROPbPb.cxx:532
 AliAnaVZEROPbPb.cxx:533
 AliAnaVZEROPbPb.cxx:534
 AliAnaVZEROPbPb.cxx:535
 AliAnaVZEROPbPb.cxx:536
 AliAnaVZEROPbPb.cxx:537
 AliAnaVZEROPbPb.cxx:538
 AliAnaVZEROPbPb.cxx:539
 AliAnaVZEROPbPb.cxx:540
 AliAnaVZEROPbPb.cxx:541
 AliAnaVZEROPbPb.cxx:542
 AliAnaVZEROPbPb.cxx:543
 AliAnaVZEROPbPb.cxx:544
 AliAnaVZEROPbPb.cxx:545
 AliAnaVZEROPbPb.cxx:546
 AliAnaVZEROPbPb.cxx:547
 AliAnaVZEROPbPb.cxx:548
 AliAnaVZEROPbPb.cxx:549
 AliAnaVZEROPbPb.cxx:550
 AliAnaVZEROPbPb.cxx:551
 AliAnaVZEROPbPb.cxx:552
 AliAnaVZEROPbPb.cxx:553