ROOT logo
/**************************************************************************
 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 *                                                                        *
 * Author: The ALICE Off-line Project.                                    *
 * Contributors are mentioned in the code where appropriate.              *
 *                                                                        *
 * Permission to use, copy, modify and distribute this software and its   *
 * documentation strictly for non-commercial purposes is hereby granted   *
 * without fee, provided that the above copyright notice appears in all   *
 * copies and that both the copyright notice and this permission notice   *
 * appear in the supporting documentation. The authors make no claims     *
 * about the suitability of this software for any purpose. It is          *
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/

//------------------------------
// Analysis task for quality-assurance
// of VZERO ESD
//
// 05/12/2009 cvetan.cheshkov@cern.ch
//------------------------------

#include "TChain.h"
#include "TROOT.h"
#include "TFile.h"
#include "TH1F.h"
#include "TH2F.h"
#include "TCanvas.h"
#include "AliLog.h"
#include "AliESDEvent.h"
#include "AliESDVZERO.h"

#include "AliAnaVZEROQA.h"

ClassImp(AliAnaVZEROQA)

AliAnaVZEROQA::AliAnaVZEROQA():
AliAnalysisTaskSE("AliAnaVZEROQA"),
  fListOfHistos(0),

  fhAdcNoTimeA(0),
  fhAdcWithTimeA(0),
  fhAdcNoTimeC(0),
  fhAdcWithTimeC(0),

  fhAdcPMTNoTime(0),
  fhAdcPMTWithTime(0),
 
  fhTimeA(0),
  fhTimeC(0),

  fhWidthA(0),
  fhWidthC(0),

  fhTimePMT(0),
  fhWidthPMT(0),

  fhAdcWidthA(0),
  fhAdcWidthC(0),

  fhTimeCorr(0),

  fhAdcTimeA(0),
  fhAdcTimeC(0),

  fV0a(0),
  fV0c(0),
  fV0multA(0),
  fV0multC(0),
  fV0ampl(0),

  fhEvents(0),

  fhVtxXYBB(0),
  fhVtxZBB(0),
  fhVtxXYBGA(0),
  fhVtxZBGA(0),
  fhVtxXYBGC(0),
  fhVtxZBGC(0)
{
  // Default constructor
  // Define input and output slots here
  // Input slot #0 works with a TChain
  DefineInput(0, TChain::Class());
  // Output slot #1 TList
  DefineOutput(1, TList::Class());
}

AliAnaVZEROQA::AliAnaVZEROQA(const char* name):
AliAnalysisTaskSE(name),
  fListOfHistos(0),
  fhAdcNoTimeA(0),
  fhAdcWithTimeA(0),
  fhAdcNoTimeC(0),
  fhAdcWithTimeC(0),

  fhAdcPMTNoTime(0),
  fhAdcPMTWithTime(0),
 
  fhTimeA(0),
  fhTimeC(0),

  fhWidthA(0),
  fhWidthC(0),

  fhTimePMT(0),
  fhWidthPMT(0),

  fhAdcWidthA(0),
  fhAdcWidthC(0),

  fhTimeCorr(0),

  fhAdcTimeA(0),
  fhAdcTimeC(0),

  fV0a(0),
  fV0c(0),
  fV0multA(0),
  fV0multC(0),
  fV0ampl(0),

  fhEvents(0),

  fhVtxXYBB(0),
  fhVtxZBB(0),
  fhVtxXYBGA(0),
  fhVtxZBGA(0),
  fhVtxXYBGC(0),
  fhVtxZBGC(0)
{
  // Constructor
  AliInfo("Constructor AliAnaVZEROQA");
  // Define input and output slots here
  // Input slot #0 works with a TChain
  DefineInput(0, TChain::Class());
  // Output slot #1 TList
  DefineOutput(1, TList::Class());
}

TH1F * AliAnaVZEROQA::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
  TH1F* result = new TH1F(name, title, nBins, xMin, xMax);
  result->SetOption("E");
  if (xLabel) result->GetXaxis()->SetTitle(xLabel);
  if (yLabel) result->GetYaxis()->SetTitle(yLabel);
  result->SetMarkerStyle(kFullCircle);
  return result;
}

TH2F * AliAnaVZEROQA::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
  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 AliAnaVZEROQA::UserCreateOutputObjects()
{
  // Create histograms
  AliInfo("AliAnaVZEROQA::UserCreateOutputObjects");
  // Create output container
  fListOfHistos = new TList();
  fListOfHistos->SetOwner();

  fhAdcNoTimeA = CreateHisto1D("hAdcNoTimeA","ADC (no Leading Time) V0A",200,0,200,"ADC charge","Entries");
  fhAdcWithTimeA = CreateHisto1D("hAdcWithTimeA","ADC ( with Leading Time) V0A",200,0,200,"ADC charge","Entries");
  fhAdcNoTimeC = CreateHisto1D("hAdcNoTimeC","ADC (no Leading Time) V0C",200,0,200,"ADC charge","Entries");
  fhAdcWithTimeC = CreateHisto1D("hAdcWithTimeC","ADC ( with Leading Time) V0C",200,0,200,"ADC charge","Entries");
  
  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,200,"PMT index","ADC charge");

  fhTimeA = CreateHisto1D("htimepmtA","Time measured by TDC V0A",400,-100,100,"Leading time (ns)","Entries");
  fhTimeC = CreateHisto1D("htimepmtC","Time measured by TDC V0C",400,-100,100,"Leading time (ns)","Entries");

  fhWidthA = CreateHisto1D("hwidthA","Signal width measured by TDC V0A",200,0,100,"Signal width (ns)","Entries");
  fhWidthC = CreateHisto1D("hwidthC","Signal width measured by TDC V0C",200,0,100,"Signal width (ns)","Entries");

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

  fhAdcWidthA = CreateHisto2D("hadcwidthA","Time width vs ADC V0A",200,0,200,200,0,100,"ADC charge","Width (ns)");
  fhAdcWidthC = CreateHisto2D("hadcwidthC","Time width vs ADC V0C",200,0,200,200,0,100,"ADC charge","Width (ns)");

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

  fhAdcTimeA = CreateHisto2D("hAdcTimeA","ADC vs Time V0A",1000,-100,100,200,0,200,"Time (ns)","ADC charge");
  fhAdcTimeC = CreateHisto2D("hAdcTimeC","ADC vs Time V0C",1000,-100,100,200,0,200,"Time (ns)","ADC charge");

  fV0a = CreateHisto1D("hV0a","Number of fired PMTs (V0A)",65,-0.5,64.5);
  fV0c = CreateHisto1D("hV0c","Number of fired PMTs (V0C)",65,-0.5,64.5);
  fV0multA = CreateHisto1D("hV0multA","Total reconstructed multiplicity (V0A)",100,0.,1000.);
  fV0multC = CreateHisto1D("hV0multC","Total reconstructed multiplicity (V0C)",100,0.,1000.);
  fV0ampl  = CreateHisto1D("hV0ampl","V0 multiplicity in single channel (all V0 channels)",400,-0.5,99.5);

  fhEvents = CreateHisto2D("hEvents","V0C vs V0A (empty,bb,bg)",3,-0.5,2.5,3,-0.5,2.5);

  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);

  fListOfHistos->Add(fhAdcNoTimeA);
  fListOfHistos->Add(fhAdcWithTimeA);
  fListOfHistos->Add(fhAdcNoTimeC);
  fListOfHistos->Add(fhAdcWithTimeC);

  fListOfHistos->Add(fhAdcPMTNoTime);
  fListOfHistos->Add(fhAdcPMTWithTime);
 
  fListOfHistos->Add(fhTimeA);
  fListOfHistos->Add(fhTimeC);

  fListOfHistos->Add(fhWidthA);
  fListOfHistos->Add(fhWidthC);

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

  fListOfHistos->Add(fhAdcWidthA);
  fListOfHistos->Add(fhAdcWidthC);

  fListOfHistos->Add(fhTimeCorr);

  fListOfHistos->Add(fhAdcTimeA);
  fListOfHistos->Add(fhAdcTimeC);

  fListOfHistos->Add(fV0a);
  fListOfHistos->Add(fV0c);
  fListOfHistos->Add(fV0multA);
  fListOfHistos->Add(fV0multC);
  fListOfHistos->Add(fV0ampl);

  fListOfHistos->Add(fhEvents);

  fListOfHistos->Add(fhVtxXYBB);
  fListOfHistos->Add(fhVtxZBB);
  fListOfHistos->Add(fhVtxXYBGA);
  fListOfHistos->Add(fhVtxZBGA);
  fListOfHistos->Add(fhVtxXYBGC);
  fListOfHistos->Add(fhVtxZBGC);

  PostData(1, fListOfHistos);
}

void AliAnaVZEROQA::UserExec(Option_t */*option*/)
{
  // Fill the QA histograms
  // using ESD data
  AliVEvent* event = InputEvent();
  if (!event) {
    Printf("ERROR: Could not retrieve event");
    return;
  }

  AliESDEvent* esd = dynamic_cast<AliESDEvent*>(event);
  if (!esd) {
    Printf("ERROR: No ESD event");
    return;
  }
  AliESDVZERO* esdV0 = esd->GetVZEROData();
  if (!esdV0) {
    Printf("ERROR: No ESD VZERO");
    return;
  }

  for (Int_t i=0; i<64; ++i) {
      if (esdV0->GetTime(i) < 1e-6) {
	if (i >= 32) {
	  fhAdcNoTimeA->Fill(esdV0->GetAdc(i));
	}
	else {
	  fhAdcNoTimeC->Fill(esdV0->GetAdc(i));
	}
	fhAdcPMTNoTime->Fill(i,esdV0->GetAdc(i));
      }
      else {
	if (i >= 32) {
	  fhAdcWithTimeA->Fill(esdV0->GetAdc(i));
	}
	else {
	  fhAdcWithTimeC->Fill(esdV0->GetAdc(i));
	}
	fhAdcPMTWithTime->Fill(i,esdV0->GetAdc(i));
      }

      if (i >= 32) {
	fhTimeA->Fill(esdV0->GetTime(i));
	fhWidthA->Fill(esdV0->GetWidth(i));
	fhAdcWidthA->Fill(esdV0->GetAdc(i),esdV0->GetWidth(i));
	fhAdcTimeA->Fill(esdV0->GetTime(i),esdV0->GetAdc(i));
      }
      else {
	fhTimeC->Fill(esdV0->GetTime(i));
	fhWidthC->Fill(esdV0->GetWidth(i));
	fhAdcWidthC->Fill(esdV0->GetAdc(i),esdV0->GetWidth(i));
	fhAdcTimeC->Fill(esdV0->GetTime(i),esdV0->GetAdc(i));
       }
      fhTimePMT->Fill(i,esdV0->GetTime(i));
      fhWidthPMT->Fill(i,esdV0->GetWidth(i));

  }

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

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

  fhEvents->Fill(flaga,flagc);

  const AliESDVertex *vtx = esd->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());
    }
  }

  fV0a->Fill(esdV0->GetNbPMV0A());
  fV0c->Fill(esdV0->GetNbPMV0C());
  fV0multA->Fill(esdV0->GetMTotV0A());
  fV0multC->Fill(esdV0->GetMTotV0C());
  for(Int_t i = 0; i < 64; i++) {
    fV0ampl->Fill(esdV0->GetMultiplicity(i));
  }

  // Post output data.
  PostData(1, fListOfHistos);
}

void AliAnaVZEROQA::Terminate(Option_t *)
{
  // Store the output histograms
  // from the list
  fListOfHistos = dynamic_cast<TList*>(GetOutputData(1));
  if (!fListOfHistos) {
    Printf("ERROR: fListOfHistos not available");
    return;
  }
	
  Info("AliAnaVZEROQA", "Successfully finished");
}
 AliAnaVZEROQA.cxx:1
 AliAnaVZEROQA.cxx:2
 AliAnaVZEROQA.cxx:3
 AliAnaVZEROQA.cxx:4
 AliAnaVZEROQA.cxx:5
 AliAnaVZEROQA.cxx:6
 AliAnaVZEROQA.cxx:7
 AliAnaVZEROQA.cxx:8
 AliAnaVZEROQA.cxx:9
 AliAnaVZEROQA.cxx:10
 AliAnaVZEROQA.cxx:11
 AliAnaVZEROQA.cxx:12
 AliAnaVZEROQA.cxx:13
 AliAnaVZEROQA.cxx:14
 AliAnaVZEROQA.cxx:15
 AliAnaVZEROQA.cxx:16
 AliAnaVZEROQA.cxx:17
 AliAnaVZEROQA.cxx:18
 AliAnaVZEROQA.cxx:19
 AliAnaVZEROQA.cxx:20
 AliAnaVZEROQA.cxx:21
 AliAnaVZEROQA.cxx:22
 AliAnaVZEROQA.cxx:23
 AliAnaVZEROQA.cxx:24
 AliAnaVZEROQA.cxx:25
 AliAnaVZEROQA.cxx:26
 AliAnaVZEROQA.cxx:27
 AliAnaVZEROQA.cxx:28
 AliAnaVZEROQA.cxx:29
 AliAnaVZEROQA.cxx:30
 AliAnaVZEROQA.cxx:31
 AliAnaVZEROQA.cxx:32
 AliAnaVZEROQA.cxx:33
 AliAnaVZEROQA.cxx:34
 AliAnaVZEROQA.cxx:35
 AliAnaVZEROQA.cxx:36
 AliAnaVZEROQA.cxx:37
 AliAnaVZEROQA.cxx:38
 AliAnaVZEROQA.cxx:39
 AliAnaVZEROQA.cxx:40
 AliAnaVZEROQA.cxx:41
 AliAnaVZEROQA.cxx:42
 AliAnaVZEROQA.cxx:43
 AliAnaVZEROQA.cxx:44
 AliAnaVZEROQA.cxx:45
 AliAnaVZEROQA.cxx:46
 AliAnaVZEROQA.cxx:47
 AliAnaVZEROQA.cxx:48
 AliAnaVZEROQA.cxx:49
 AliAnaVZEROQA.cxx:50
 AliAnaVZEROQA.cxx:51
 AliAnaVZEROQA.cxx:52
 AliAnaVZEROQA.cxx:53
 AliAnaVZEROQA.cxx:54
 AliAnaVZEROQA.cxx:55
 AliAnaVZEROQA.cxx:56
 AliAnaVZEROQA.cxx:57
 AliAnaVZEROQA.cxx:58
 AliAnaVZEROQA.cxx:59
 AliAnaVZEROQA.cxx:60
 AliAnaVZEROQA.cxx:61
 AliAnaVZEROQA.cxx:62
 AliAnaVZEROQA.cxx:63
 AliAnaVZEROQA.cxx:64
 AliAnaVZEROQA.cxx:65
 AliAnaVZEROQA.cxx:66
 AliAnaVZEROQA.cxx:67
 AliAnaVZEROQA.cxx:68
 AliAnaVZEROQA.cxx:69
 AliAnaVZEROQA.cxx:70
 AliAnaVZEROQA.cxx:71
 AliAnaVZEROQA.cxx:72
 AliAnaVZEROQA.cxx:73
 AliAnaVZEROQA.cxx:74
 AliAnaVZEROQA.cxx:75
 AliAnaVZEROQA.cxx:76
 AliAnaVZEROQA.cxx:77
 AliAnaVZEROQA.cxx:78
 AliAnaVZEROQA.cxx:79
 AliAnaVZEROQA.cxx:80
 AliAnaVZEROQA.cxx:81
 AliAnaVZEROQA.cxx:82
 AliAnaVZEROQA.cxx:83
 AliAnaVZEROQA.cxx:84
 AliAnaVZEROQA.cxx:85
 AliAnaVZEROQA.cxx:86
 AliAnaVZEROQA.cxx:87
 AliAnaVZEROQA.cxx:88
 AliAnaVZEROQA.cxx:89
 AliAnaVZEROQA.cxx:90
 AliAnaVZEROQA.cxx:91
 AliAnaVZEROQA.cxx:92
 AliAnaVZEROQA.cxx:93
 AliAnaVZEROQA.cxx:94
 AliAnaVZEROQA.cxx:95
 AliAnaVZEROQA.cxx:96
 AliAnaVZEROQA.cxx:97
 AliAnaVZEROQA.cxx:98
 AliAnaVZEROQA.cxx:99
 AliAnaVZEROQA.cxx:100
 AliAnaVZEROQA.cxx:101
 AliAnaVZEROQA.cxx:102
 AliAnaVZEROQA.cxx:103
 AliAnaVZEROQA.cxx:104
 AliAnaVZEROQA.cxx:105
 AliAnaVZEROQA.cxx:106
 AliAnaVZEROQA.cxx:107
 AliAnaVZEROQA.cxx:108
 AliAnaVZEROQA.cxx:109
 AliAnaVZEROQA.cxx:110
 AliAnaVZEROQA.cxx:111
 AliAnaVZEROQA.cxx:112
 AliAnaVZEROQA.cxx:113
 AliAnaVZEROQA.cxx:114
 AliAnaVZEROQA.cxx:115
 AliAnaVZEROQA.cxx:116
 AliAnaVZEROQA.cxx:117
 AliAnaVZEROQA.cxx:118
 AliAnaVZEROQA.cxx:119
 AliAnaVZEROQA.cxx:120
 AliAnaVZEROQA.cxx:121
 AliAnaVZEROQA.cxx:122
 AliAnaVZEROQA.cxx:123
 AliAnaVZEROQA.cxx:124
 AliAnaVZEROQA.cxx:125
 AliAnaVZEROQA.cxx:126
 AliAnaVZEROQA.cxx:127
 AliAnaVZEROQA.cxx:128
 AliAnaVZEROQA.cxx:129
 AliAnaVZEROQA.cxx:130
 AliAnaVZEROQA.cxx:131
 AliAnaVZEROQA.cxx:132
 AliAnaVZEROQA.cxx:133
 AliAnaVZEROQA.cxx:134
 AliAnaVZEROQA.cxx:135
 AliAnaVZEROQA.cxx:136
 AliAnaVZEROQA.cxx:137
 AliAnaVZEROQA.cxx:138
 AliAnaVZEROQA.cxx:139
 AliAnaVZEROQA.cxx:140
 AliAnaVZEROQA.cxx:141
 AliAnaVZEROQA.cxx:142
 AliAnaVZEROQA.cxx:143
 AliAnaVZEROQA.cxx:144
 AliAnaVZEROQA.cxx:145
 AliAnaVZEROQA.cxx:146
 AliAnaVZEROQA.cxx:147
 AliAnaVZEROQA.cxx:148
 AliAnaVZEROQA.cxx:149
 AliAnaVZEROQA.cxx:150
 AliAnaVZEROQA.cxx:151
 AliAnaVZEROQA.cxx:152
 AliAnaVZEROQA.cxx:153
 AliAnaVZEROQA.cxx:154
 AliAnaVZEROQA.cxx:155
 AliAnaVZEROQA.cxx:156
 AliAnaVZEROQA.cxx:157
 AliAnaVZEROQA.cxx:158
 AliAnaVZEROQA.cxx:159
 AliAnaVZEROQA.cxx:160
 AliAnaVZEROQA.cxx:161
 AliAnaVZEROQA.cxx:162
 AliAnaVZEROQA.cxx:163
 AliAnaVZEROQA.cxx:164
 AliAnaVZEROQA.cxx:165
 AliAnaVZEROQA.cxx:166
 AliAnaVZEROQA.cxx:167
 AliAnaVZEROQA.cxx:168
 AliAnaVZEROQA.cxx:169
 AliAnaVZEROQA.cxx:170
 AliAnaVZEROQA.cxx:171
 AliAnaVZEROQA.cxx:172
 AliAnaVZEROQA.cxx:173
 AliAnaVZEROQA.cxx:174
 AliAnaVZEROQA.cxx:175
 AliAnaVZEROQA.cxx:176
 AliAnaVZEROQA.cxx:177
 AliAnaVZEROQA.cxx:178
 AliAnaVZEROQA.cxx:179
 AliAnaVZEROQA.cxx:180
 AliAnaVZEROQA.cxx:181
 AliAnaVZEROQA.cxx:182
 AliAnaVZEROQA.cxx:183
 AliAnaVZEROQA.cxx:184
 AliAnaVZEROQA.cxx:185
 AliAnaVZEROQA.cxx:186
 AliAnaVZEROQA.cxx:187
 AliAnaVZEROQA.cxx:188
 AliAnaVZEROQA.cxx:189
 AliAnaVZEROQA.cxx:190
 AliAnaVZEROQA.cxx:191
 AliAnaVZEROQA.cxx:192
 AliAnaVZEROQA.cxx:193
 AliAnaVZEROQA.cxx:194
 AliAnaVZEROQA.cxx:195
 AliAnaVZEROQA.cxx:196
 AliAnaVZEROQA.cxx:197
 AliAnaVZEROQA.cxx:198
 AliAnaVZEROQA.cxx:199
 AliAnaVZEROQA.cxx:200
 AliAnaVZEROQA.cxx:201
 AliAnaVZEROQA.cxx:202
 AliAnaVZEROQA.cxx:203
 AliAnaVZEROQA.cxx:204
 AliAnaVZEROQA.cxx:205
 AliAnaVZEROQA.cxx:206
 AliAnaVZEROQA.cxx:207
 AliAnaVZEROQA.cxx:208
 AliAnaVZEROQA.cxx:209
 AliAnaVZEROQA.cxx:210
 AliAnaVZEROQA.cxx:211
 AliAnaVZEROQA.cxx:212
 AliAnaVZEROQA.cxx:213
 AliAnaVZEROQA.cxx:214
 AliAnaVZEROQA.cxx:215
 AliAnaVZEROQA.cxx:216
 AliAnaVZEROQA.cxx:217
 AliAnaVZEROQA.cxx:218
 AliAnaVZEROQA.cxx:219
 AliAnaVZEROQA.cxx:220
 AliAnaVZEROQA.cxx:221
 AliAnaVZEROQA.cxx:222
 AliAnaVZEROQA.cxx:223
 AliAnaVZEROQA.cxx:224
 AliAnaVZEROQA.cxx:225
 AliAnaVZEROQA.cxx:226
 AliAnaVZEROQA.cxx:227
 AliAnaVZEROQA.cxx:228
 AliAnaVZEROQA.cxx:229
 AliAnaVZEROQA.cxx:230
 AliAnaVZEROQA.cxx:231
 AliAnaVZEROQA.cxx:232
 AliAnaVZEROQA.cxx:233
 AliAnaVZEROQA.cxx:234
 AliAnaVZEROQA.cxx:235
 AliAnaVZEROQA.cxx:236
 AliAnaVZEROQA.cxx:237
 AliAnaVZEROQA.cxx:238
 AliAnaVZEROQA.cxx:239
 AliAnaVZEROQA.cxx:240
 AliAnaVZEROQA.cxx:241
 AliAnaVZEROQA.cxx:242
 AliAnaVZEROQA.cxx:243
 AliAnaVZEROQA.cxx:244
 AliAnaVZEROQA.cxx:245
 AliAnaVZEROQA.cxx:246
 AliAnaVZEROQA.cxx:247
 AliAnaVZEROQA.cxx:248
 AliAnaVZEROQA.cxx:249
 AliAnaVZEROQA.cxx:250
 AliAnaVZEROQA.cxx:251
 AliAnaVZEROQA.cxx:252
 AliAnaVZEROQA.cxx:253
 AliAnaVZEROQA.cxx:254
 AliAnaVZEROQA.cxx:255
 AliAnaVZEROQA.cxx:256
 AliAnaVZEROQA.cxx:257
 AliAnaVZEROQA.cxx:258
 AliAnaVZEROQA.cxx:259
 AliAnaVZEROQA.cxx:260
 AliAnaVZEROQA.cxx:261
 AliAnaVZEROQA.cxx:262
 AliAnaVZEROQA.cxx:263
 AliAnaVZEROQA.cxx:264
 AliAnaVZEROQA.cxx:265
 AliAnaVZEROQA.cxx:266
 AliAnaVZEROQA.cxx:267
 AliAnaVZEROQA.cxx:268
 AliAnaVZEROQA.cxx:269
 AliAnaVZEROQA.cxx:270
 AliAnaVZEROQA.cxx:271
 AliAnaVZEROQA.cxx:272
 AliAnaVZEROQA.cxx:273
 AliAnaVZEROQA.cxx:274
 AliAnaVZEROQA.cxx:275
 AliAnaVZEROQA.cxx:276
 AliAnaVZEROQA.cxx:277
 AliAnaVZEROQA.cxx:278
 AliAnaVZEROQA.cxx:279
 AliAnaVZEROQA.cxx:280
 AliAnaVZEROQA.cxx:281
 AliAnaVZEROQA.cxx:282
 AliAnaVZEROQA.cxx:283
 AliAnaVZEROQA.cxx:284
 AliAnaVZEROQA.cxx:285
 AliAnaVZEROQA.cxx:286
 AliAnaVZEROQA.cxx:287
 AliAnaVZEROQA.cxx:288
 AliAnaVZEROQA.cxx:289
 AliAnaVZEROQA.cxx:290
 AliAnaVZEROQA.cxx:291
 AliAnaVZEROQA.cxx:292
 AliAnaVZEROQA.cxx:293
 AliAnaVZEROQA.cxx:294
 AliAnaVZEROQA.cxx:295
 AliAnaVZEROQA.cxx:296
 AliAnaVZEROQA.cxx:297
 AliAnaVZEROQA.cxx:298
 AliAnaVZEROQA.cxx:299
 AliAnaVZEROQA.cxx:300
 AliAnaVZEROQA.cxx:301
 AliAnaVZEROQA.cxx:302
 AliAnaVZEROQA.cxx:303
 AliAnaVZEROQA.cxx:304
 AliAnaVZEROQA.cxx:305
 AliAnaVZEROQA.cxx:306
 AliAnaVZEROQA.cxx:307
 AliAnaVZEROQA.cxx:308
 AliAnaVZEROQA.cxx:309
 AliAnaVZEROQA.cxx:310
 AliAnaVZEROQA.cxx:311
 AliAnaVZEROQA.cxx:312
 AliAnaVZEROQA.cxx:313
 AliAnaVZEROQA.cxx:314
 AliAnaVZEROQA.cxx:315
 AliAnaVZEROQA.cxx:316
 AliAnaVZEROQA.cxx:317
 AliAnaVZEROQA.cxx:318
 AliAnaVZEROQA.cxx:319
 AliAnaVZEROQA.cxx:320
 AliAnaVZEROQA.cxx:321
 AliAnaVZEROQA.cxx:322
 AliAnaVZEROQA.cxx:323
 AliAnaVZEROQA.cxx:324
 AliAnaVZEROQA.cxx:325
 AliAnaVZEROQA.cxx:326
 AliAnaVZEROQA.cxx:327
 AliAnaVZEROQA.cxx:328
 AliAnaVZEROQA.cxx:329
 AliAnaVZEROQA.cxx:330
 AliAnaVZEROQA.cxx:331
 AliAnaVZEROQA.cxx:332
 AliAnaVZEROQA.cxx:333
 AliAnaVZEROQA.cxx:334
 AliAnaVZEROQA.cxx:335
 AliAnaVZEROQA.cxx:336
 AliAnaVZEROQA.cxx:337
 AliAnaVZEROQA.cxx:338
 AliAnaVZEROQA.cxx:339
 AliAnaVZEROQA.cxx:340
 AliAnaVZEROQA.cxx:341
 AliAnaVZEROQA.cxx:342
 AliAnaVZEROQA.cxx:343
 AliAnaVZEROQA.cxx:344
 AliAnaVZEROQA.cxx:345
 AliAnaVZEROQA.cxx:346
 AliAnaVZEROQA.cxx:347
 AliAnaVZEROQA.cxx:348
 AliAnaVZEROQA.cxx:349
 AliAnaVZEROQA.cxx:350
 AliAnaVZEROQA.cxx:351
 AliAnaVZEROQA.cxx:352
 AliAnaVZEROQA.cxx:353
 AliAnaVZEROQA.cxx:354
 AliAnaVZEROQA.cxx:355
 AliAnaVZEROQA.cxx:356
 AliAnaVZEROQA.cxx:357
 AliAnaVZEROQA.cxx:358
 AliAnaVZEROQA.cxx:359
 AliAnaVZEROQA.cxx:360
 AliAnaVZEROQA.cxx:361
 AliAnaVZEROQA.cxx:362
 AliAnaVZEROQA.cxx:363