#include <TClonesArray.h>
#include <TFile.h>
#include <TF1.h>
#include <TH1F.h>
#include <TH1I.h>
#include <TH2I.h>
#include <TH2F.h>
#include <TGraph.h>
#include <TParameter.h>
#include <TTimeStamp.h>
#include "AliESDEvent.h"
#include "AliLog.h"
#include "AliCDBManager.h"
#include "AliCDBStorage.h"
#include "AliCDBEntry.h"
#include "AliVZEROQADataMakerRec.h"
#include "AliQAChecker.h"
#include "AliRawReader.h"
#include "AliVZERORawStream.h"
#include "AliVZEROdigit.h"
#include "AliVZEROConst.h"
#include "AliVZEROReconstructor.h"
#include "AliVZEROTrending.h"
#include "AliVZEROCalibData.h"
#include "AliVZEROTriggerData.h"
#include "AliCTPTimeParams.h"
#include "event.h"
const Float_t kMinBBA = 68. ;
const Float_t kMaxBBA = 100. ;
const Float_t kMinBBC = 75.5 ;
const Float_t kMaxBBC = 100. ;
const Float_t kMinBGA = 54. ;
const Float_t kMaxBGA = 58. ;
const Float_t kMinBGC = 69.5 ;
const Float_t kMaxBGC = 74. ;
ClassImp(AliVZEROQADataMakerRec)
AliVZEROQADataMakerRec::AliVZEROQADataMakerRec() :
AliQADataMakerRec(AliQAv1::GetDetName(AliQAv1::kVZERO), "VZERO Quality Assurance Data Maker"),
fCalibData(0x0),
fTriggerData(0x0),
fTrendingUpdateTime(0),
fCycleStartTime(0),
fCycleStopTime(0),
fTimeSlewing(0)
{
AliDebug(AliQAv1::GetQADebugLevel(), "Construct VZERO QA Object");
for(Int_t i=0; i<64; i++){
fEven[i] = 0;
fOdd[i] = 0;
}
for(Int_t i=0; i<128; i++){
fADCmean[i] = 0.0; }
}
AliVZEROQADataMakerRec::AliVZEROQADataMakerRec(const AliVZEROQADataMakerRec& qadm) :
AliQADataMakerRec(),
fCalibData(0x0),
fTriggerData(0x0),
fTrendingUpdateTime(0),
fCycleStartTime(0),
fCycleStopTime(0),
fTimeSlewing(0)
{
SetName((const char*)qadm.GetName()) ;
SetTitle((const char*)qadm.GetTitle());
}
AliVZEROQADataMakerRec& AliVZEROQADataMakerRec::operator = (const AliVZEROQADataMakerRec& qadm )
{
this->~AliVZEROQADataMakerRec();
new(this) AliVZEROQADataMakerRec(qadm);
return *this;
}
AliVZEROCalibData* AliVZEROQADataMakerRec::GetCalibData() const
{
AliCDBManager *man = AliCDBManager::Instance();
AliCDBEntry *entry=0;
entry = man->Get("VZERO/Calib/Data",fRun);
if(!entry){
AliWarning("Load of calibration data from default storage failed!");
AliWarning("Calibration data will be loaded from local storage ($ALICE_ROOT)");
man->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
entry = man->Get("VZERO/Calib/Data",fRun);
}
AliVZEROCalibData *calibdata = 0;
if (entry) calibdata = (AliVZEROCalibData*) entry->GetObject();
if (!calibdata) AliFatal("No calibration data from calibration database !");
return calibdata;
}
void AliVZEROQADataMakerRec::EndOfDetectorCycle(AliQAv1::TASKINDEX_t task, TObjArray ** list)
{
ResetEventTrigClasses();
AliQAChecker::Instance()->Run(AliQAv1::kVZERO, task, list) ;
if(task == AliQAv1::kRAWS){
TTimeStamp currentTime;
fCycleStopTime = currentTime.GetSec();
}
for (Int_t specie = 0 ; specie < AliRecoParam::kNSpecies ; specie++) {
if (! IsValidEventSpecie(specie, list)) continue ;
SetEventSpecie(AliRecoParam::ConvertIndex(specie));
if(task == AliQAv1::kRAWS) {
} else if (task == AliQAv1::kESDS) {
}
}
}
void AliVZEROQADataMakerRec::InitESDs()
{
const Bool_t expert = kTRUE ;
const Bool_t image = kTRUE ;
TH2F * h2d;
TH1I * h1i;
TH1F * h1d;
h1i = new TH1I("H1I_Cell_Multiplicity_V0A", "Cell Multiplicity in V0A;Multiplicity (Nb of Cell);Counts", 35, 0, 35) ;
Add2ESDsList(h1i, kCellMultiV0A, !expert, image) ;
h1i = new TH1I("H1I_Cell_Multiplicity_V0C", "Cell Multiplicity in V0;Multiplicity (Nb of Cell);Counts", 35, 0, 35) ;
Add2ESDsList(h1i, kCellMultiV0C, !expert, image) ;
h1d = new TH1F("H1D_MIP_Multiplicity_V0A", "MIP Multiplicity in V0A;Multiplicity (Nb of MIP);Counts", 1000, 0, 1000) ;
Add2ESDsList(h1d, kMIPMultiV0A, !expert, image) ;
h1d = new TH1F("H1D_MIP_Multiplicity_V0C", "MIP Multiplicity in V0C;Multiplicity (Nb of MIP);Counts", 1000, 0, 1000) ;
Add2ESDsList(h1d, kMIPMultiV0C, !expert, image) ;
h2d = new TH2F("H2D_MIP_Multiplicity_Channel", "MIP Multiplicity per Channel;Channel;Multiplicity (Nb of MIP)",64, 0, 64, 100, 0, 100) ;
Add2ESDsList(h2d, kMIPMultiChannel, !expert, image) ;
h1d = new TH1F("H1D_BBFlag_Counters", "BB Flag Counters;Channel;Counts",64, 0, 64) ;
Add2ESDsList(h1d, kBBFlag, !expert, image) ;
h1d = new TH1F("H1D_BGFlag_Counters", "BG Flag Counters;Channel;Counts",64, 0, 64) ;
Add2ESDsList(h1d, kBGFlag, !expert, image) ;
h2d = new TH2F("H2D_Charge_Channel", "ADC Charge per channel;Channel;Charge (ADC counts)",64, 0, 64, 1024, 0, 1024) ;
Add2ESDsList(h2d, kChargeChannel, !expert, image) ;
h2d = new TH2F("H2D_Time_Channel", "Time per channel;Channel;Time (ns)",64, 0, 64, 400, -100, 100) ;
Add2ESDsList(h2d, kTimeChannel, !expert, image) ;
h1d = new TH1F("H1D_V0A_Time", "Mean V0A Time;Time (ns);Counts",1000, -100., 100.);
Add2ESDsList(h1d,kESDV0ATime, !expert, image);
h1d = new TH1F("H1D_V0C_Time", "Mean V0C Time;Time (ns);Counts",1000, -100., 100.);
Add2ESDsList(h1d,kESDV0CTime, !expert, image);
h1d = new TH1F("H1D_Diff_Time", "Diff Time V0A - V0C;Diff Time V0A - V0C (ns);Counts",1000, -200., 200.);
Add2ESDsList(h1d,kESDDiffTime, !expert, image);
ClonePerTrigClass(AliQAv1::kESDS);
}
void AliVZEROQADataMakerRec::InitRaws()
{
const Bool_t expert = kTRUE ;
const Bool_t saveCorr = kTRUE ;
const Bool_t image = kTRUE ;
const Int_t kNintegrator = 2;
const Int_t kNTdcTimeBins = 1280;
const Float_t kTdcTimeMin = 0.;
const Float_t kTdcTimeMax = 75.;
const Int_t kNTdcWidthBins = 256;
const Float_t kTdcWidthMin = 0;
const Float_t kTdcWidthMax = 200.;
const Int_t kNChargeBins = 1024;
const Float_t kChargeMin = 0;
const Float_t kChargeMax = 1024;
const Int_t kNChannelBins = 64;
const Float_t kChannelMin = 0;
const Float_t kChannelMax = 64;
const Int_t kNPedestalBins = 200;
const Float_t kPedestalMin = 0;
const Float_t kPedestalMax = 200;
const Int_t kNMIPBins = 512;
const Float_t kMIPMin = 0;
const Float_t kMIPMax = 16;
TH2I * h2i;
TH2F * h2d;
TH1I * h1i;
TH1F * h1d;
int iHisto =0;
h1d = new TH1F("H1D_Trigger_Type", "V0 Trigger Type;;Counts", 4,0 ,4) ;
Add2RawsList(h1d,kTriggers, !expert, image, saveCorr); iHisto++;
h1d->SetFillColor(29);
h1d->SetLineWidth(2);
h1d->GetXaxis()->SetLabelSize(0.06);
h1d->GetXaxis()->SetNdivisions(808,kFALSE);
h1d->GetXaxis()->SetBinLabel(1, "V0-AND");
h1d->GetXaxis()->SetBinLabel(2, "V0-OR");
h1d->GetXaxis()->SetBinLabel(3, "V0-BGA");
h1d->GetXaxis()->SetBinLabel(4, "V0-BGC");
h2d = new TH2F("H2D_Trigger_Type", "V0 Trigger Type;V0A;V0C", 4,0 ,4,4,0,4) ;
Add2RawsList(h2d,kTriggers2, !expert, image, saveCorr); iHisto++;
h2d->SetOption("coltext");
h2d->GetXaxis()->SetLabelSize(0.06);
h2d->GetXaxis()->SetNdivisions(808,kFALSE);
h2d->GetYaxis()->SetNdivisions(808,kFALSE);
h2d->GetXaxis()->SetBinLabel(1, "Empty");
h2d->GetXaxis()->SetBinLabel(2, "Fake");
h2d->GetXaxis()->SetBinLabel(3, "BB");
h2d->GetXaxis()->SetBinLabel(4, "BG");
h2d->GetYaxis()->SetBinLabel(1, "Empty");
h2d->GetYaxis()->SetBinLabel(2, "Fake");
h2d->GetYaxis()->SetBinLabel(3, "BB");
h2d->GetYaxis()->SetBinLabel(4, "BG");
h1i = new TH1I("H1I_Multiplicity_V0A", "Cell Multiplicity in V0A;# of Cells;Entries", 35, 0, 35) ;
Add2RawsList(h1i,kMultiV0A, expert, image, saveCorr); iHisto++;
h1i = new TH1I("H1I_Multiplicity_V0C", "Cell Multiplicity in V0C;# of Cells;Entries", 35, 0, 35) ;
Add2RawsList(h1i,kMultiV0C, expert, image, saveCorr); iHisto++;
h1d = new TH1F("H1D_Charge_V0A", "Total Charge in V0A;Charge [ADC counts];Counts", 4000, 0, 30000) ;
Add2RawsList(h1d,kChargeV0A, expert, !image, saveCorr); iHisto++;
h1d = new TH1F("H1D_Charge_V0C", "Total Charge in V0C;Charge [ADC counts];Counts", 4000, 0, 50000) ;
Add2RawsList(h1d,kChargeV0C, expert, !image, saveCorr); iHisto++;
h1d = new TH1F("H1D_Charge_V0", "Total Charge in V0;Charge [ADC counts];Counts", 4000, 0, 80000) ;
Add2RawsList(h1d,kChargeV0, expert, !image, saveCorr); iHisto++;
h1d = new TH1F("H1D_MIP_V0A", "Total MIP in V0A;Multiplicity [MIP];Counts", kNMIPBins,kMIPMin ,32*kMIPMax) ;
Add2RawsList(h1d,kRawMIPV0A, expert, !image, saveCorr); iHisto++;
h1d = new TH1F("H1D_MIP_V0C", "Total MIP in V0C;Multiplicity [MIP];Counts", kNMIPBins,kMIPMin ,32*kMIPMax) ;
Add2RawsList(h1d,kRawMIPV0C, expert, !image, saveCorr); iHisto++;
h1d = new TH1F("H1D_MIP_V0", "Total MIP in V0;Multiplicity [MIP];Counts", 2*kNMIPBins,kMIPMin ,64*kMIPMax) ;
Add2RawsList(h1d,kRawMIPV0, expert, !image, saveCorr); iHisto++;
h2d = new TH2F("H2D_MIP_Channel", "Nb of MIP per channel;Channel;# of Mips", kNChannelBins, kChannelMin, kChannelMax,kNMIPBins,kMIPMin ,kMIPMax) ;
Add2RawsList(h2d,kRawMIPChannel, expert, !image, !saveCorr); iHisto++;
h2d = new TH2F("H2D_ChargeEoI", "Charge Event of Interest;Channel Number;Charge [ADC counts]"
,kNChannelBins, kChannelMin, kChannelMax, kNChargeBins, kChargeMin, 2.*kChargeMax);
Add2RawsList(h2d,kChargeEoI, !expert, image, !saveCorr); iHisto++;
for(Int_t iInt=0;iInt<kNintegrator;iInt++){
h2i = new TH2I(Form("H2I_Pedestal_Int%d",iInt), Form("Pedestal (Int%d);Channel;Pedestal [ADC counts]",iInt)
,kNChannelBins, kChannelMin, kChannelMax,kNPedestalBins,kPedestalMin ,kPedestalMax );
Add2RawsList(h2i,(iInt == 0 ? kPedestalInt0 : kPedestalInt1), expert, !image, !saveCorr); iHisto++;
h2i = new TH2I(Form("H2I_ChargeEoI_Int%d",iInt), Form("Charge EoI (Int%d);Channel;Charge [ADC counts]",iInt)
,kNChannelBins, kChannelMin, kChannelMax, kNChargeBins, kChargeMin, kChargeMax);
Add2RawsList(h2i,(iInt == 0 ? kChargeEoIInt0 : kChargeEoIInt1), expert, image, !saveCorr); iHisto++;
h2i = new TH2I(Form("H2I_ChargeEoI_BB_Int%d",iInt), Form("Charge EoI w/ BB Flag (Int%d);Channel;Charge [ADC counts]",iInt)
,kNChannelBins, kChannelMin, kChannelMax, kNChargeBins, kChargeMin, kChargeMax);
Add2RawsList(h2i,(iInt == 0 ? kChargeEoIBBInt0 : kChargeEoIBBInt1), expert, !image, !saveCorr); iHisto++;
h2i = new TH2I(Form("H2I_ChargeEoI_BG_Int%d",iInt), Form("Charge EoI w/ BG Flag (Int%d);Channel;Charge [ADC counts]",iInt)
,kNChannelBins, kChannelMin, kChannelMax, kNChargeBins, kChargeMin, kChargeMax);
Add2RawsList(h2i,(iInt == 0 ? kChargeEoIBGInt0: kChargeEoIBGInt1), expert, !image, !saveCorr); iHisto++;
h2d = new TH2F(Form("H2D_ChargeVsClock_Int%d",iInt), Form("Charge Versus LHC-Clock (Int%d);Channel;LHCClock;Charge [ADC counts]",iInt)
,kNChannelBins, kChannelMin, kChannelMax,21, -10.5, 10.5 );
Add2RawsList(h2d,(iInt == 0 ? kChargeVsClockInt0 : kChargeVsClockInt1 ), expert, !image, !saveCorr); iHisto++;
for(Int_t iBB=0;iBB<2;iBB++){
for(Int_t iBG=0;iBG<2;iBG++){
h2i = new TH2I(Form("H2I_ChargeMB_BB%d_BG%d_Int%d",iBB,iBG,iInt), Form("MB Charge (BB=%d, BG=%d, Int=%d);Channel;Charge [ADC counts]",iBB,iBG,iInt)
,kNChannelBins, kChannelMin, kChannelMax,kNChargeBins, kChargeMin, kChargeMax);
int idx;
if(iInt==0){
if(iBB==0){
if(iBG==0) idx = kChargeMBBB0BG0Int0;
else idx = kChargeMBBB0BG1Int0;
} else {
if(iBG==0) idx = kChargeMBBB1BG0Int0;
else idx = kChargeMBBB1BG1Int0;
}
} else {
if(iBB==0){
if(iBG==0) idx = kChargeMBBB0BG0Int1;
else idx = kChargeMBBB0BG1Int1;
} else {
if(iBG==0) idx = kChargeMBBB1BG0Int1;
else idx = kChargeMBBB1BG1Int1;
}
}
Add2RawsList(h2i,idx, expert, !image, !saveCorr); iHisto++;
}
}
}
h2i = new TH2I("H2I_Width", "HPTDC Width;Channel;Width [ns]",kNChannelBins, kChannelMin, kChannelMax, kNTdcWidthBins, kTdcWidthMin, kTdcWidthMax);
Add2RawsList(h2i,kWidth, expert, !image, !saveCorr); iHisto++;
h2i = new TH2I("H2I_Width_BB", "HPTDC Width w/ BB Flag condition;Channel;Width [ns]",kNChannelBins, kChannelMin, kChannelMax, kNTdcWidthBins, kTdcWidthMin, kTdcWidthMax);
Add2RawsList(h2i,kWidthBB, expert, !image, !saveCorr); iHisto++;
h2i = new TH2I("H2I_Width_BG", "HPTDC Width w/ BG Flag condition;Channel;Width [ns]",kNChannelBins, kChannelMin, kChannelMax, kNTdcWidthBins, kTdcWidthMin, kTdcWidthMax);
Add2RawsList(h2i,kWidthBG, expert, !image, !saveCorr); iHisto++;
h2i = new TH2I("H2I_HPTDCTime", "HPTDC Time;Channel;Leading Time [ns]",kNChannelBins, kChannelMin, kChannelMax, kNTdcTimeBins, kTdcTimeMin, kTdcTimeMax);
Add2RawsList(h2i,kHPTDCTime, expert, image, !saveCorr); iHisto++;
h2i = new TH2I("H2I_HPTDCTime_BB", "HPTDC Time w/ BB Flag condition;Channel;Leading Time [ns]",kNChannelBins, kChannelMin, kChannelMax, kNTdcTimeBins, kTdcTimeMin, kTdcTimeMax);
Add2RawsList(h2i,kHPTDCTimeBB, !expert, image, !saveCorr); iHisto++;
h2i = new TH2I("H2I_HPTDCTime_BG", "HPTDC Time w/ BG Flag condition;Channel;Leading Time [ns]",kNChannelBins, kChannelMin, kChannelMax, kNTdcTimeBins, kTdcTimeMin, kTdcTimeMax);
Add2RawsList(h2i,kHPTDCTimeBG, !expert, image, !saveCorr); iHisto++;
h1d = new TH1F("H1D_V0A_Time", "V0A Time;Time [ns];Counts",kNTdcTimeBins, kTdcTimeMin, kTdcTimeMax);
Add2RawsList(h1d,kV0ATime, expert, !image, saveCorr); iHisto++;
h1d = new TH1F("H1D_V0C_Time", "V0C Time;Time [ns];Counts",kNTdcTimeBins, kTdcTimeMin, kTdcTimeMax);
Add2RawsList(h1d,kV0CTime, expert, !image, saveCorr); iHisto++;
h1d = new TH1F("H1D_Diff_Time","Diff V0A-V0C Time;Time [ns];Counts",kNTdcTimeBins, -50., 50.);
Add2RawsList(h1d,kDiffTime, expert, image, saveCorr); iHisto++;
h2d = new TH2F("H2D_TimeV0A_V0C", "Mean Time in V0C versus V0A;Time V0A [ns];Time V0C [ns]",
kNTdcTimeBins/8, kTdcTimeMin,kTdcTimeMax,kNTdcTimeBins/8, kTdcTimeMin,kTdcTimeMax) ;
Add2RawsList(h2d,kTimeV0AV0C, !expert, image, !saveCorr); iHisto++;
h1d = new TH1F("H1D_BBFlagPerChannel", "BB-Flags Versus Channel;Channel;BB Flags Count",kNChannelBins, kChannelMin, kChannelMax );
h1d->SetMinimum(0);
Add2RawsList(h1d,kBBFlagsPerChannel, !expert, image, !saveCorr); iHisto++;
h2d = new TH2F("H2D_BBFlagVsClock", "BB-Flags Versus LHC-Clock;Channel;LHC Clocks",kNChannelBins, kChannelMin, kChannelMax,21, -10.5, 10.5 );
Add2RawsList(h2d,kBBFlagVsClock, expert, !image, !saveCorr); iHisto++;
h2d = new TH2F("H2D_BGFlagVsClock", "BG-Flags Versus LHC-Clock;Channel;LHC Clocks",kNChannelBins, kChannelMin, kChannelMax,21, -10.5, 10.5 );
Add2RawsList(h2d,kBGFlagVsClock, expert, !image, !saveCorr); iHisto++;
h2d = new TH2F("H2D_CentrChargeV0A_V0C","Trigger charge sums V0C vs V0A; V0A Charge Sum [ADC counts]; V0C Charge Sum [ADC counts];",
300,0,15000,500,0,25000);
Add2RawsList(h2d,kCentrChargeV0AV0C, !expert, image, saveCorr); iHisto++;
AliDebug(AliQAv1::GetQADebugLevel(), Form("%d Histograms has been added to the Raws List",iHisto));
ClonePerTrigClass(AliQAv1::kRAWS);
}
void AliVZEROQADataMakerRec::InitDigits()
{
const Bool_t expert = kTRUE ;
const Bool_t image = kTRUE ;
TH1I *fhDigTDC[64];
TH1I *fhDigADC[64];
TH1I * h0 = new TH1I("hDigitMultiplicity", "Digits multiplicity distribution in VZERO;# of Digits;Entries", 100, 0, 99) ;
h0->Sumw2() ;
Add2DigitsList(h0, 0, !expert, image) ;
for (Int_t i=0; i<64; i++)
{
fhDigTDC[i] = new TH1I(Form("hDigitTDC%d", i),Form("Digit TDC in cell %d; TDC value;Entries",i),300,0.,149.);
fhDigADC[i]= new TH1I(Form("hDigitADC%d",i),Form("Digit ADC in cell %d;ADC value;Entries",i),1024,0.,1023.);
Add2DigitsList(fhDigTDC[i],i+1, !expert, image);
Add2DigitsList(fhDigADC[i],i+1+64, !expert, image);
}
ClonePerTrigClass(AliQAv1::kDIGITS);
}
void AliVZEROQADataMakerRec::MakeDigits()
{
FillDigitsData(0,fDigitsArray->GetEntriesFast()) ;
TIter next(fDigitsArray) ;
AliVZEROdigit *aVZERODigit ;
while ( (aVZERODigit = dynamic_cast<AliVZEROdigit *>(next())) ) {
Int_t aPMNumber = aVZERODigit->PMNumber();
FillDigitsData(aPMNumber +1, aVZERODigit->Time()) ;
FillDigitsData(aPMNumber +1+64, aVZERODigit->ADC()) ;
}
}
void AliVZEROQADataMakerRec::MakeDigits(TTree *digitTree)
{
if ( fDigitsArray )
fDigitsArray->Clear() ;
else
fDigitsArray = new TClonesArray("AliVZEROdigit", 1000) ;
TBranch * branch = digitTree->GetBranch("VZERODigit") ;
if ( ! branch ) {
AliWarning("VZERO branch in Digit Tree not found") ;
} else {
branch->SetAddress(&fDigitsArray) ;
branch->GetEntry(0) ;
MakeDigits() ;
}
IncEvCountCycleDigits();
IncEvCountTotalDigits();
}
void AliVZEROQADataMakerRec::MakeESDs(AliESDEvent * esd)
{
UInt_t eventType = esd->GetEventType();
switch (eventType){
case PHYSICS_EVENT:
AliESDVZERO *esdVZERO=esd->GetVZEROData();
if (!esdVZERO) break;
FillESDsData(kCellMultiV0A,esdVZERO->GetNbPMV0A());
FillESDsData(kCellMultiV0C,esdVZERO->GetNbPMV0C());
FillESDsData(kMIPMultiV0A,esdVZERO->GetMTotV0A());
FillESDsData(kMIPMultiV0C,esdVZERO->GetMTotV0C());
for(Int_t i=0;i<64;i++) {
FillESDsData(kMIPMultiChannel,(Float_t) i,(Float_t) esdVZERO->GetMultiplicity(i));
FillESDsData(kChargeChannel,(Float_t) i,(Float_t) esdVZERO->GetAdc(i));
if (i < 32) {
if(esdVZERO->BBTriggerV0C(i)) FillESDsData(kBBFlag,(Float_t) i);
if(esdVZERO->BGTriggerV0C(i)) FillESDsData(kBGFlag,(Float_t) i);
}
else {
if(esdVZERO->BBTriggerV0A(i-32)) FillESDsData(kBBFlag,(Float_t) i);
if(esdVZERO->BGTriggerV0A(i-32)) FillESDsData(kBGFlag,(Float_t) i);
}
Float_t time = (Float_t) esdVZERO->GetTime(i);
FillESDsData(kTimeChannel,(Float_t) i,time);
}
Float_t timeV0A = esdVZERO->GetV0ATime();
Float_t timeV0C = esdVZERO->GetV0CTime();
Float_t diffTime;
if(timeV0A<-1024.+1.e-6 || timeV0C<-1024.+1.e-6) diffTime = -1024.;
else diffTime = timeV0A - timeV0C;
FillESDsData(kESDV0ATime,timeV0A);
FillESDsData(kESDV0CTime,timeV0C);
FillESDsData(kESDDiffTime,diffTime);
break;
}
IncEvCountCycleESDs();
IncEvCountTotalESDs();
}
void AliVZEROQADataMakerRec::MakeRaws(AliRawReader* rawReader)
{
if ( ! GetRawsData(kPedestalInt0) )
InitRaws() ;
rawReader->Reset() ;
AliVZERORawStream* rawStream = new AliVZERORawStream(rawReader);
if(!(rawStream->Next())) return;
eventTypeType eventType = rawReader->GetType();
Int_t mulV0A = 0 ;
Int_t mulV0C = 0 ;
Double_t timeV0A =0., timeV0C = 0.;
Double_t weightV0A =0., weightV0C = 0.;
UInt_t itimeV0A=0, itimeV0C=0;
Double_t chargeV0A=0., chargeV0C=0.;
Double_t mipV0A=0., mipV0C=0.;
Double_t diffTime=-100000.;
switch (eventType){
case PHYSICS_EVENT:
Int_t iFlag=0;
Int_t pedestal;
Int_t integrator;
Bool_t flagBB[64];
Bool_t flagBG[64];
Int_t mbCharge;
Float_t charge;
Int_t offlineCh;
Float_t adc[64], time[64], width[64], timeCorr[64];
for(Int_t iChannel=0; iChannel<64; iChannel++) {
offlineCh = rawStream->GetOfflineChannel(iChannel);
for(Int_t j=15; j<21; j++) {
if((rawStream->GetBGFlag(iChannel,j) || rawStream->GetBBFlag(iChannel,j))) iFlag++;
}
if(iFlag == 0){
for(Int_t j=15; j<21; j++){
pedestal= (Int_t) rawStream->GetPedestal(iChannel, j);
integrator = rawStream->GetIntegratorFlag(iChannel, j);
FillRawsData((integrator == 0 ? kPedestalInt0 : kPedestalInt1),offlineCh,pedestal);
}
}
adc[offlineCh] = 0.0;
Float_t maxadc = 0;
Int_t imax = -1;
Float_t adcPedSub[21];
for(Int_t iClock=0; iClock<21; iClock++){
Bool_t iIntegrator = rawStream->GetIntegratorFlag(iChannel,iClock);
Int_t k = offlineCh+64*iIntegrator;
adcPedSub[iClock] = rawStream->GetPedestal(iChannel,iClock) - fCalibData->GetPedestal(k);
if(adcPedSub[iClock] <= 2.*fCalibData->GetSigma(k)) {
adcPedSub[iClock] = 0;
continue;
}
if(iClock < 8 || iClock > 12) continue;
if(adcPedSub[iClock] > maxadc) {
maxadc = adcPedSub[iClock];
imax = iClock;
}
}
if (imax != -1) {
Int_t start = imax - 2;
if (start < 0) start = 0;
Int_t end = imax + 1;
if (end > 20) end = 20;
for(Int_t iClock = start; iClock <= end; iClock++) {
adc[offlineCh] += adcPedSub[iClock];
}
}
Int_t iClock = imax;
charge = rawStream->GetPedestal(iChannel,iClock);
integrator = rawStream->GetIntegratorFlag(iChannel,iClock);
flagBB[offlineCh] = rawStream->GetBBFlag(iChannel, iClock);
flagBG[offlineCh] = rawStream->GetBGFlag(iChannel,iClock );
Int_t board = AliVZEROCalibData::GetBoardNumber(offlineCh);
time[offlineCh] = rawStream->GetTime(iChannel)*fCalibData->GetTimeResolution(board);
width[offlineCh] = rawStream->GetWidth(iChannel)*fCalibData->GetWidthResolution(board);
if (time[offlineCh] >= 1e-6) FillRawsData(kChargeEoI,offlineCh,adc[offlineCh]);
FillRawsData((integrator == 0 ? kChargeEoIInt0 : kChargeEoIInt1),offlineCh,charge);
if(flagBB[offlineCh]) FillRawsData((integrator == 0 ? kChargeEoIBBInt0 : kChargeEoIBBInt1),offlineCh,charge);
if(flagBG[offlineCh]) FillRawsData((integrator == 0 ? kChargeEoIBGInt0 : kChargeEoIBGInt1),offlineCh,charge);
Float_t sigma = fCalibData->GetSigma(offlineCh+64*integrator);
Double_t mipEoI = adc[offlineCh] * fCalibData->GetMIPperADC(offlineCh);
if((adc[offlineCh] > 2.*sigma) && !(time[offlineCh] <1.e-6)){
FillRawsData(kRawMIPChannel,offlineCh,mipEoI);
if(offlineCh<32) {
mulV0C++;
chargeV0C += adc[offlineCh];
mipV0C += mipEoI;
} else {
mulV0A++;
chargeV0A += adc[offlineCh];
mipV0A += mipEoI;
}
}
int idx;
for(Int_t iBunch=0; iBunch<10; iBunch++){
integrator = rawStream->GetIntMBFlag(iChannel, iBunch);
bool bbFlag = rawStream->GetBBMBFlag(iChannel, iBunch);
bool bgFlag = rawStream->GetBGMBFlag(iChannel, iBunch);
mbCharge = rawStream->GetChargeMB(iChannel, iBunch);
if(integrator==0){
if(bbFlag==0){
if(bgFlag==0) idx = kChargeMBBB0BG0Int0;
else idx = kChargeMBBB0BG1Int0;
} else {
if(bgFlag==0) idx = kChargeMBBB1BG0Int0;
else idx = kChargeMBBB1BG1Int0;
}
} else {
if(bbFlag==0){
if(bgFlag==0) idx = kChargeMBBB0BG0Int1;
else idx = kChargeMBBB0BG1Int1;
} else {
if(bgFlag==0) idx = kChargeMBBB1BG0Int1;
else idx = kChargeMBBB1BG1Int1;
}
}
FillRawsData(idx,offlineCh,mbCharge);
}
timeCorr[offlineCh] = CorrectLeadingTime(offlineCh,time[offlineCh],adc[offlineCh]);
const Float_t p1 = 2.50;
const Float_t p2 = 3.00;
if(timeCorr[offlineCh]>-1024 + 1.e-6){
Float_t nphe = adc[offlineCh]*kChargePerADC/(fCalibData->GetGain(offlineCh)*TMath::Qe());
Float_t timeErr = 0;
if (nphe>1.e-6) timeErr = TMath::Sqrt(kIntTimeRes*kIntTimeRes+
p1*p1/nphe+
p2*p2*(fTimeSlewing->GetParameter(0)*fTimeSlewing->GetParameter(1))*(fTimeSlewing->GetParameter(0)*fTimeSlewing->GetParameter(1))*
TMath::Power(adc[offlineCh]/fCalibData->GetCalibDiscriThr(offlineCh,kTRUE),2.*(fTimeSlewing->GetParameter(1)-1.))/
(fCalibData->GetCalibDiscriThr(offlineCh,kTRUE)*fCalibData->GetCalibDiscriThr(offlineCh,kTRUE)));
if (timeErr>1.e-6) {
if (offlineCh<32) {
itimeV0C++;
timeV0C += timeCorr[offlineCh]/(timeErr*timeErr);
weightV0C += 1./(timeErr*timeErr);
}else{
itimeV0A++;
timeV0A += timeCorr[offlineCh]/(timeErr*timeErr);
weightV0A += 1./(timeErr*timeErr);
}
}
}
FillRawsData(kHPTDCTime,offlineCh,timeCorr[offlineCh]);
FillRawsData(kWidth,offlineCh,width[offlineCh]);
if(flagBB[offlineCh]) {
FillRawsData(kHPTDCTimeBB,offlineCh,timeCorr[offlineCh]);
FillRawsData(kWidthBB,offlineCh,width[offlineCh]);
}
if(flagBG[offlineCh]) {
FillRawsData(kHPTDCTimeBG,offlineCh,timeCorr[offlineCh]);
FillRawsData(kWidthBG,offlineCh,width[offlineCh]);
}
for(Int_t iEvent=0; iEvent<21; iEvent++){
charge = rawStream->GetPedestal(iChannel,iEvent);
integrator = rawStream->GetIntegratorFlag(iChannel,iEvent);
bool bbFlag = rawStream->GetBBFlag(iChannel, iEvent);
bool bgFlag = rawStream->GetBGFlag(iChannel,iEvent );
FillRawsData((integrator == 0 ? kChargeVsClockInt0 : kChargeVsClockInt1 ), offlineCh,(float)iEvent-10,(float)charge);
FillRawsData(kBBFlagVsClock, offlineCh,(float)iEvent-10,(float)bbFlag);
FillRawsData(kBGFlagVsClock, offlineCh,(float)iEvent-10,(float)bgFlag);
if(iEvent==10) FillRawsData(kBBFlagsPerChannel, offlineCh,(float)bbFlag);
}
}
if(weightV0A>1.e-6) timeV0A /= weightV0A;
else timeV0A = -1024.;
if(weightV0C>1.e-6) timeV0C /= weightV0C;
else timeV0C = -1024.;
if(timeV0A<-1024.+1.e-6 || timeV0C<-1024.+1.e-6) diffTime = -1024.;
else diffTime = timeV0A - timeV0C;
Bool_t v0ABB = kFALSE;
Bool_t v0CBB = kFALSE;
Bool_t v0ABG = kFALSE;
Bool_t v0CBG = kFALSE;
Bool_t v0AFake = kFALSE;
Bool_t v0CFake = kFALSE;
Bool_t v0AEmpty = kFALSE;
Bool_t v0CEmpty = kFALSE;
Int_t v0ATrigger=0;
Int_t v0CTrigger=0;
Float_t winOffset = (fCalibData->GetTriggerCountOffset(0) - 3247)*25.;
if((timeV0A>kMinBBA-winOffset) && (timeV0A<kMaxBBA-winOffset)) {
v0ABB = kTRUE;
v0ATrigger=2;
} else if((timeV0A>kMinBGA-winOffset) && (timeV0A<kMaxBGA-winOffset)) {
v0ABG = kTRUE;
v0ATrigger=3;
} else if(timeV0A>-1024.+1.e-6) {
v0AFake = kTRUE;
v0ATrigger=1;
} else {
v0AEmpty = kTRUE;
v0ATrigger=0;
}
if((timeV0C>kMinBBC-winOffset) && (timeV0C<kMaxBBC-winOffset)) {
v0CBB = kTRUE;
v0CTrigger=2;
} else if((timeV0C>kMinBGC-winOffset) && (timeV0C<kMaxBGC-winOffset)) {
v0CBG = kTRUE;
v0CTrigger=3;
} else if(timeV0C>-1024.+1.e-6) {
v0CFake = kTRUE;
v0CTrigger=1;
} else {
v0CEmpty = kTRUE;
v0CTrigger=0;
}
if(v0ABB && v0CBB) FillRawsData(kTriggers,0);
if((v0ABB || v0CBB) && !(v0ABG || v0CBG)) FillRawsData(kTriggers,1);
if(v0ABG && v0CBB) FillRawsData(kTriggers,2);
if(v0ABB && v0CBG) FillRawsData(kTriggers,3);
FillRawsData(kTriggers2,v0ATrigger,v0CTrigger);
FillRawsData(kV0ATime,timeV0A);
FillRawsData(kV0CTime,timeV0C);
FillRawsData(kDiffTime,diffTime);
FillRawsData(kTimeV0AV0C,timeV0A,timeV0C);
FillRawsData(kMultiV0A,mulV0A);
FillRawsData(kMultiV0C,mulV0C);
FillRawsData(kChargeV0A,chargeV0A);
FillRawsData(kChargeV0C,chargeV0C);
FillRawsData(kChargeV0,chargeV0A + chargeV0C);
FillRawsData(kRawMIPV0A,mipV0A);
FillRawsData(kRawMIPV0C,mipV0C);
FillRawsData(kRawMIPV0,mipV0A + mipV0C);
UShort_t chargeA = 0;
UShort_t chargeC = 0;
rawStream->CalculateChargeForCentrTriggers(fTriggerData,chargeA,chargeC);
FillRawsData(kCentrChargeV0AV0C,(Float_t)chargeA,(Float_t)chargeC);
break;
}
TParameter<double> * p = dynamic_cast<TParameter<double>*>(GetParameterList()->FindObject(Form("%s_%s_%s", GetName(), AliQAv1::GetTaskName(AliQAv1::kRAWS).Data(), GetRawsData(kMultiV0A)->GetName()))) ;
if (p) p->SetVal((double)mulV0A) ;
p = dynamic_cast<TParameter<double>*>(GetParameterList()->FindObject(Form("%s_%s_%s", GetName(), AliQAv1::GetTaskName(AliQAv1::kRAWS).Data(), GetRawsData(kMultiV0C)->GetName()))) ;
if (p) p->SetVal((double)mulV0C) ;
p = dynamic_cast<TParameter<double>*>(GetParameterList()->FindObject(Form("%s_%s_%s", GetName(), AliQAv1::GetTaskName(AliQAv1::kRAWS).Data(), GetRawsData(kChargeV0A)->GetName()))) ;
if (p) p->SetVal((double)chargeV0A) ;
p = dynamic_cast<TParameter<double>*>(GetParameterList()->FindObject(Form("%s_%s_%s", GetName(), AliQAv1::GetTaskName(AliQAv1::kRAWS).Data(), GetRawsData(kChargeV0C)->GetName()))) ;
if (p) p->SetVal((double)chargeV0C) ;
p = dynamic_cast<TParameter<double>*>(GetParameterList()->FindObject(Form("%s_%s_%s", GetName(), AliQAv1::GetTaskName(AliQAv1::kRAWS).Data(), GetRawsData(kChargeV0)->GetName()))) ;
if (p) p->SetVal((double)(chargeV0A + chargeV0C)) ;
p = dynamic_cast<TParameter<double>*>(GetParameterList()->FindObject(Form("%s_%s_%s", GetName(), AliQAv1::GetTaskName(AliQAv1::kRAWS).Data(), GetRawsData(kRawMIPV0A)->GetName()))) ;
if (p) p->SetVal((double)mipV0A) ;
p = dynamic_cast<TParameter<double>*>(GetParameterList()->FindObject(Form("%s_%s_%s", GetName(), AliQAv1::GetTaskName(AliQAv1::kRAWS).Data(), GetRawsData(kRawMIPV0C)->GetName()))) ;
if (p) p->SetVal((double)mipV0C) ;
p = dynamic_cast<TParameter<double>*>(GetParameterList()->FindObject(Form("%s_%s_%s", GetName(), AliQAv1::GetTaskName(AliQAv1::kRAWS).Data(), GetRawsData(kRawMIPV0)->GetName()))) ;
if (p) p->SetVal((double)(mipV0A + mipV0C)) ;
p = dynamic_cast<TParameter<double>*>(GetParameterList()->FindObject(Form("%s_%s_%s", GetName(), AliQAv1::GetTaskName(AliQAv1::kRAWS).Data(), GetRawsData(kV0ATime)->GetName()))) ;
if (p) p->SetVal((double)timeV0A) ;
p = dynamic_cast<TParameter<double>*>(GetParameterList()->FindObject(Form("%s_%s_%s", GetName(), AliQAv1::GetTaskName(AliQAv1::kRAWS).Data(), GetRawsData(kV0CTime)->GetName()))) ;
if (p) p->SetVal((double)timeV0C) ;
p = dynamic_cast<TParameter<double>*>(GetParameterList()->FindObject(Form("%s_%s_%s", GetName(), AliQAv1::GetTaskName(AliQAv1::kRAWS).Data(), GetRawsData(kDiffTime)->GetName()))) ;
if (p) p->SetVal((double)diffTime) ;
delete rawStream; rawStream = 0x0;
IncEvCountCycleRaws();
IncEvCountTotalRaws();
}
void AliVZEROQADataMakerRec::StartOfDetectorCycle()
{
fCalibData = GetCalibData();
AliCDBEntry *entry = AliCDBManager::Instance()->Get("GRP/CTP/CTPtiming");
if (!entry) AliFatal("CTP timing parameters are not found in OCDB !");
AliCTPTimeParams *ctpParams = (AliCTPTimeParams*)entry->GetObject();
Float_t l1Delay = (Float_t)ctpParams->GetDelayL1L0()*25.0;
AliCDBEntry *entry1 = AliCDBManager::Instance()->Get("GRP/CTP/TimeAlign");
if (!entry1) AliFatal("CTP time-alignment is not found in OCDB !");
AliCTPTimeParams *ctpTimeAlign = (AliCTPTimeParams*)entry1->GetObject();
l1Delay += ((Float_t)ctpTimeAlign->GetDelayL1L0()*25.0);
AliCDBEntry *entry2 = AliCDBManager::Instance()->Get("VZERO/Calib/TimeDelays");
if (!entry2) AliFatal("VZERO time delays are not found in OCDB !");
TH1F *delays = (TH1F*)entry2->GetObject();
AliCDBEntry *entry3 = AliCDBManager::Instance()->Get("VZERO/Calib/TimeSlewing");
if (!entry3) AliFatal("VZERO time slewing function is not found in OCDB !");
fTimeSlewing = (TF1*)entry3->GetObject();
AliCDBEntry *entry4 = AliCDBManager::Instance()->Get("VZERO/Trigger/Data");
if (!entry4) AliFatal("VZERO trigger config data is not found in OCDB !");
fTriggerData = (AliVZEROTriggerData*)entry4->GetObject();
for(Int_t i = 0 ; i < 64; ++i) {
fTimeOffset[i] = (
delays->GetBinContent(i+1)
);
}
TTimeStamp currentTime;
fCycleStartTime = currentTime.GetSec();
}
Float_t AliVZEROQADataMakerRec::CorrectLeadingTime(Int_t i, Float_t time, Float_t adc) const
{
if (time < 1e-6) return -1024;
if (adc < 1e-6) return time;
Float_t thr = fCalibData->GetCalibDiscriThr(i,kTRUE);
time -= fTimeSlewing->Eval(adc/thr);
return time;
}
AliVZEROQADataMakerRec.cxx:1 AliVZEROQADataMakerRec.cxx:2 AliVZEROQADataMakerRec.cxx:3 AliVZEROQADataMakerRec.cxx:4 AliVZEROQADataMakerRec.cxx:5 AliVZEROQADataMakerRec.cxx:6 AliVZEROQADataMakerRec.cxx:7 AliVZEROQADataMakerRec.cxx:8 AliVZEROQADataMakerRec.cxx:9 AliVZEROQADataMakerRec.cxx:10 AliVZEROQADataMakerRec.cxx:11 AliVZEROQADataMakerRec.cxx:12 AliVZEROQADataMakerRec.cxx:13 AliVZEROQADataMakerRec.cxx:14 AliVZEROQADataMakerRec.cxx:15 AliVZEROQADataMakerRec.cxx:16 AliVZEROQADataMakerRec.cxx:17 AliVZEROQADataMakerRec.cxx:18 AliVZEROQADataMakerRec.cxx:19 AliVZEROQADataMakerRec.cxx:20 AliVZEROQADataMakerRec.cxx:21 AliVZEROQADataMakerRec.cxx:22 AliVZEROQADataMakerRec.cxx:23 AliVZEROQADataMakerRec.cxx:24 AliVZEROQADataMakerRec.cxx:25 AliVZEROQADataMakerRec.cxx:26 AliVZEROQADataMakerRec.cxx:27 AliVZEROQADataMakerRec.cxx:28 AliVZEROQADataMakerRec.cxx:29 AliVZEROQADataMakerRec.cxx:30 AliVZEROQADataMakerRec.cxx:31 AliVZEROQADataMakerRec.cxx:32 AliVZEROQADataMakerRec.cxx:33 AliVZEROQADataMakerRec.cxx:34 AliVZEROQADataMakerRec.cxx:35 AliVZEROQADataMakerRec.cxx:36 AliVZEROQADataMakerRec.cxx:37 AliVZEROQADataMakerRec.cxx:38 AliVZEROQADataMakerRec.cxx:39 AliVZEROQADataMakerRec.cxx:40 AliVZEROQADataMakerRec.cxx:41 AliVZEROQADataMakerRec.cxx:42 AliVZEROQADataMakerRec.cxx:43 AliVZEROQADataMakerRec.cxx:44 AliVZEROQADataMakerRec.cxx:45 AliVZEROQADataMakerRec.cxx:46 AliVZEROQADataMakerRec.cxx:47 AliVZEROQADataMakerRec.cxx:48 AliVZEROQADataMakerRec.cxx:49 AliVZEROQADataMakerRec.cxx:50 AliVZEROQADataMakerRec.cxx:51 AliVZEROQADataMakerRec.cxx:52 AliVZEROQADataMakerRec.cxx:53 AliVZEROQADataMakerRec.cxx:54 AliVZEROQADataMakerRec.cxx:55 AliVZEROQADataMakerRec.cxx:56 AliVZEROQADataMakerRec.cxx:57 AliVZEROQADataMakerRec.cxx:58 AliVZEROQADataMakerRec.cxx:59 AliVZEROQADataMakerRec.cxx:60 AliVZEROQADataMakerRec.cxx:61 AliVZEROQADataMakerRec.cxx:62 AliVZEROQADataMakerRec.cxx:63 AliVZEROQADataMakerRec.cxx:64 AliVZEROQADataMakerRec.cxx:65 AliVZEROQADataMakerRec.cxx:66 AliVZEROQADataMakerRec.cxx:67 AliVZEROQADataMakerRec.cxx:68 AliVZEROQADataMakerRec.cxx:69 AliVZEROQADataMakerRec.cxx:70 AliVZEROQADataMakerRec.cxx:71 AliVZEROQADataMakerRec.cxx:72 AliVZEROQADataMakerRec.cxx:73 AliVZEROQADataMakerRec.cxx:74 AliVZEROQADataMakerRec.cxx:75 AliVZEROQADataMakerRec.cxx:76 AliVZEROQADataMakerRec.cxx:77 AliVZEROQADataMakerRec.cxx:78 AliVZEROQADataMakerRec.cxx:79 AliVZEROQADataMakerRec.cxx:80 AliVZEROQADataMakerRec.cxx:81 AliVZEROQADataMakerRec.cxx:82 AliVZEROQADataMakerRec.cxx:83 AliVZEROQADataMakerRec.cxx:84 AliVZEROQADataMakerRec.cxx:85 AliVZEROQADataMakerRec.cxx:86 AliVZEROQADataMakerRec.cxx:87 AliVZEROQADataMakerRec.cxx:88 AliVZEROQADataMakerRec.cxx:89 AliVZEROQADataMakerRec.cxx:90 AliVZEROQADataMakerRec.cxx:91 AliVZEROQADataMakerRec.cxx:92 AliVZEROQADataMakerRec.cxx:93 AliVZEROQADataMakerRec.cxx:94 AliVZEROQADataMakerRec.cxx:95 AliVZEROQADataMakerRec.cxx:96 AliVZEROQADataMakerRec.cxx:97 AliVZEROQADataMakerRec.cxx:98 AliVZEROQADataMakerRec.cxx:99 AliVZEROQADataMakerRec.cxx:100 AliVZEROQADataMakerRec.cxx:101 AliVZEROQADataMakerRec.cxx:102 AliVZEROQADataMakerRec.cxx:103 AliVZEROQADataMakerRec.cxx:104 AliVZEROQADataMakerRec.cxx:105 AliVZEROQADataMakerRec.cxx:106 AliVZEROQADataMakerRec.cxx:107 AliVZEROQADataMakerRec.cxx:108 AliVZEROQADataMakerRec.cxx:109 AliVZEROQADataMakerRec.cxx:110 AliVZEROQADataMakerRec.cxx:111 AliVZEROQADataMakerRec.cxx:112 AliVZEROQADataMakerRec.cxx:113 AliVZEROQADataMakerRec.cxx:114 AliVZEROQADataMakerRec.cxx:115 AliVZEROQADataMakerRec.cxx:116 AliVZEROQADataMakerRec.cxx:117 AliVZEROQADataMakerRec.cxx:118 AliVZEROQADataMakerRec.cxx:119 AliVZEROQADataMakerRec.cxx:120 AliVZEROQADataMakerRec.cxx:121 AliVZEROQADataMakerRec.cxx:122 AliVZEROQADataMakerRec.cxx:123 AliVZEROQADataMakerRec.cxx:124 AliVZEROQADataMakerRec.cxx:125 AliVZEROQADataMakerRec.cxx:126 AliVZEROQADataMakerRec.cxx:127 AliVZEROQADataMakerRec.cxx:128 AliVZEROQADataMakerRec.cxx:129 AliVZEROQADataMakerRec.cxx:130 AliVZEROQADataMakerRec.cxx:131 AliVZEROQADataMakerRec.cxx:132 AliVZEROQADataMakerRec.cxx:133 AliVZEROQADataMakerRec.cxx:134 AliVZEROQADataMakerRec.cxx:135 AliVZEROQADataMakerRec.cxx:136 AliVZEROQADataMakerRec.cxx:137 AliVZEROQADataMakerRec.cxx:138 AliVZEROQADataMakerRec.cxx:139 AliVZEROQADataMakerRec.cxx:140 AliVZEROQADataMakerRec.cxx:141 AliVZEROQADataMakerRec.cxx:142 AliVZEROQADataMakerRec.cxx:143 AliVZEROQADataMakerRec.cxx:144 AliVZEROQADataMakerRec.cxx:145 AliVZEROQADataMakerRec.cxx:146 AliVZEROQADataMakerRec.cxx:147 AliVZEROQADataMakerRec.cxx:148 AliVZEROQADataMakerRec.cxx:149 AliVZEROQADataMakerRec.cxx:150 AliVZEROQADataMakerRec.cxx:151 AliVZEROQADataMakerRec.cxx:152 AliVZEROQADataMakerRec.cxx:153 AliVZEROQADataMakerRec.cxx:154 AliVZEROQADataMakerRec.cxx:155 AliVZEROQADataMakerRec.cxx:156 AliVZEROQADataMakerRec.cxx:157 AliVZEROQADataMakerRec.cxx:158 AliVZEROQADataMakerRec.cxx:159 AliVZEROQADataMakerRec.cxx:160 AliVZEROQADataMakerRec.cxx:161 AliVZEROQADataMakerRec.cxx:162 AliVZEROQADataMakerRec.cxx:163 AliVZEROQADataMakerRec.cxx:164 AliVZEROQADataMakerRec.cxx:165 AliVZEROQADataMakerRec.cxx:166 AliVZEROQADataMakerRec.cxx:167 AliVZEROQADataMakerRec.cxx:168 AliVZEROQADataMakerRec.cxx:169 AliVZEROQADataMakerRec.cxx:170 AliVZEROQADataMakerRec.cxx:171 AliVZEROQADataMakerRec.cxx:172 AliVZEROQADataMakerRec.cxx:173 AliVZEROQADataMakerRec.cxx:174 AliVZEROQADataMakerRec.cxx:175 AliVZEROQADataMakerRec.cxx:176 AliVZEROQADataMakerRec.cxx:177 AliVZEROQADataMakerRec.cxx:178 AliVZEROQADataMakerRec.cxx:179 AliVZEROQADataMakerRec.cxx:180 AliVZEROQADataMakerRec.cxx:181 AliVZEROQADataMakerRec.cxx:182 AliVZEROQADataMakerRec.cxx:183 AliVZEROQADataMakerRec.cxx:184 AliVZEROQADataMakerRec.cxx:185 AliVZEROQADataMakerRec.cxx:186 AliVZEROQADataMakerRec.cxx:187 AliVZEROQADataMakerRec.cxx:188 AliVZEROQADataMakerRec.cxx:189 AliVZEROQADataMakerRec.cxx:190 AliVZEROQADataMakerRec.cxx:191 AliVZEROQADataMakerRec.cxx:192 AliVZEROQADataMakerRec.cxx:193 AliVZEROQADataMakerRec.cxx:194 AliVZEROQADataMakerRec.cxx:195 AliVZEROQADataMakerRec.cxx:196 AliVZEROQADataMakerRec.cxx:197 AliVZEROQADataMakerRec.cxx:198 AliVZEROQADataMakerRec.cxx:199 AliVZEROQADataMakerRec.cxx:200 AliVZEROQADataMakerRec.cxx:201 AliVZEROQADataMakerRec.cxx:202 AliVZEROQADataMakerRec.cxx:203 AliVZEROQADataMakerRec.cxx:204 AliVZEROQADataMakerRec.cxx:205 AliVZEROQADataMakerRec.cxx:206 AliVZEROQADataMakerRec.cxx:207 AliVZEROQADataMakerRec.cxx:208 AliVZEROQADataMakerRec.cxx:209 AliVZEROQADataMakerRec.cxx:210 AliVZEROQADataMakerRec.cxx:211 AliVZEROQADataMakerRec.cxx:212 AliVZEROQADataMakerRec.cxx:213 AliVZEROQADataMakerRec.cxx:214 AliVZEROQADataMakerRec.cxx:215 AliVZEROQADataMakerRec.cxx:216 AliVZEROQADataMakerRec.cxx:217 AliVZEROQADataMakerRec.cxx:218 AliVZEROQADataMakerRec.cxx:219 AliVZEROQADataMakerRec.cxx:220 AliVZEROQADataMakerRec.cxx:221 AliVZEROQADataMakerRec.cxx:222 AliVZEROQADataMakerRec.cxx:223 AliVZEROQADataMakerRec.cxx:224 AliVZEROQADataMakerRec.cxx:225 AliVZEROQADataMakerRec.cxx:226 AliVZEROQADataMakerRec.cxx:227 AliVZEROQADataMakerRec.cxx:228 AliVZEROQADataMakerRec.cxx:229 AliVZEROQADataMakerRec.cxx:230 AliVZEROQADataMakerRec.cxx:231 AliVZEROQADataMakerRec.cxx:232 AliVZEROQADataMakerRec.cxx:233 AliVZEROQADataMakerRec.cxx:234 AliVZEROQADataMakerRec.cxx:235 AliVZEROQADataMakerRec.cxx:236 AliVZEROQADataMakerRec.cxx:237 AliVZEROQADataMakerRec.cxx:238 AliVZEROQADataMakerRec.cxx:239 AliVZEROQADataMakerRec.cxx:240 AliVZEROQADataMakerRec.cxx:241 AliVZEROQADataMakerRec.cxx:242 AliVZEROQADataMakerRec.cxx:243 AliVZEROQADataMakerRec.cxx:244 AliVZEROQADataMakerRec.cxx:245 AliVZEROQADataMakerRec.cxx:246 AliVZEROQADataMakerRec.cxx:247 AliVZEROQADataMakerRec.cxx:248 AliVZEROQADataMakerRec.cxx:249 AliVZEROQADataMakerRec.cxx:250 AliVZEROQADataMakerRec.cxx:251 AliVZEROQADataMakerRec.cxx:252 AliVZEROQADataMakerRec.cxx:253 AliVZEROQADataMakerRec.cxx:254 AliVZEROQADataMakerRec.cxx:255 AliVZEROQADataMakerRec.cxx:256 AliVZEROQADataMakerRec.cxx:257 AliVZEROQADataMakerRec.cxx:258 AliVZEROQADataMakerRec.cxx:259 AliVZEROQADataMakerRec.cxx:260 AliVZEROQADataMakerRec.cxx:261 AliVZEROQADataMakerRec.cxx:262 AliVZEROQADataMakerRec.cxx:263 AliVZEROQADataMakerRec.cxx:264 AliVZEROQADataMakerRec.cxx:265 AliVZEROQADataMakerRec.cxx:266 AliVZEROQADataMakerRec.cxx:267 AliVZEROQADataMakerRec.cxx:268 AliVZEROQADataMakerRec.cxx:269 AliVZEROQADataMakerRec.cxx:270 AliVZEROQADataMakerRec.cxx:271 AliVZEROQADataMakerRec.cxx:272 AliVZEROQADataMakerRec.cxx:273 AliVZEROQADataMakerRec.cxx:274 AliVZEROQADataMakerRec.cxx:275 AliVZEROQADataMakerRec.cxx:276 AliVZEROQADataMakerRec.cxx:277 AliVZEROQADataMakerRec.cxx:278 AliVZEROQADataMakerRec.cxx:279 AliVZEROQADataMakerRec.cxx:280 AliVZEROQADataMakerRec.cxx:281 AliVZEROQADataMakerRec.cxx:282 AliVZEROQADataMakerRec.cxx:283 AliVZEROQADataMakerRec.cxx:284 AliVZEROQADataMakerRec.cxx:285 AliVZEROQADataMakerRec.cxx:286 AliVZEROQADataMakerRec.cxx:287 AliVZEROQADataMakerRec.cxx:288 AliVZEROQADataMakerRec.cxx:289 AliVZEROQADataMakerRec.cxx:290 AliVZEROQADataMakerRec.cxx:291 AliVZEROQADataMakerRec.cxx:292 AliVZEROQADataMakerRec.cxx:293 AliVZEROQADataMakerRec.cxx:294 AliVZEROQADataMakerRec.cxx:295 AliVZEROQADataMakerRec.cxx:296 AliVZEROQADataMakerRec.cxx:297 AliVZEROQADataMakerRec.cxx:298 AliVZEROQADataMakerRec.cxx:299 AliVZEROQADataMakerRec.cxx:300 AliVZEROQADataMakerRec.cxx:301 AliVZEROQADataMakerRec.cxx:302 AliVZEROQADataMakerRec.cxx:303 AliVZEROQADataMakerRec.cxx:304 AliVZEROQADataMakerRec.cxx:305 AliVZEROQADataMakerRec.cxx:306 AliVZEROQADataMakerRec.cxx:307 AliVZEROQADataMakerRec.cxx:308 AliVZEROQADataMakerRec.cxx:309 AliVZEROQADataMakerRec.cxx:310 AliVZEROQADataMakerRec.cxx:311 AliVZEROQADataMakerRec.cxx:312 AliVZEROQADataMakerRec.cxx:313 AliVZEROQADataMakerRec.cxx:314 AliVZEROQADataMakerRec.cxx:315 AliVZEROQADataMakerRec.cxx:316 AliVZEROQADataMakerRec.cxx:317 AliVZEROQADataMakerRec.cxx:318 AliVZEROQADataMakerRec.cxx:319 AliVZEROQADataMakerRec.cxx:320 AliVZEROQADataMakerRec.cxx:321 AliVZEROQADataMakerRec.cxx:322 AliVZEROQADataMakerRec.cxx:323 AliVZEROQADataMakerRec.cxx:324 AliVZEROQADataMakerRec.cxx:325 AliVZEROQADataMakerRec.cxx:326 AliVZEROQADataMakerRec.cxx:327 AliVZEROQADataMakerRec.cxx:328 AliVZEROQADataMakerRec.cxx:329 AliVZEROQADataMakerRec.cxx:330 AliVZEROQADataMakerRec.cxx:331 AliVZEROQADataMakerRec.cxx:332 AliVZEROQADataMakerRec.cxx:333 AliVZEROQADataMakerRec.cxx:334 AliVZEROQADataMakerRec.cxx:335 AliVZEROQADataMakerRec.cxx:336 AliVZEROQADataMakerRec.cxx:337 AliVZEROQADataMakerRec.cxx:338 AliVZEROQADataMakerRec.cxx:339 AliVZEROQADataMakerRec.cxx:340 AliVZEROQADataMakerRec.cxx:341 AliVZEROQADataMakerRec.cxx:342 AliVZEROQADataMakerRec.cxx:343 AliVZEROQADataMakerRec.cxx:344 AliVZEROQADataMakerRec.cxx:345 AliVZEROQADataMakerRec.cxx:346 AliVZEROQADataMakerRec.cxx:347 AliVZEROQADataMakerRec.cxx:348 AliVZEROQADataMakerRec.cxx:349 AliVZEROQADataMakerRec.cxx:350 AliVZEROQADataMakerRec.cxx:351 AliVZEROQADataMakerRec.cxx:352 AliVZEROQADataMakerRec.cxx:353 AliVZEROQADataMakerRec.cxx:354 AliVZEROQADataMakerRec.cxx:355 AliVZEROQADataMakerRec.cxx:356 AliVZEROQADataMakerRec.cxx:357 AliVZEROQADataMakerRec.cxx:358 AliVZEROQADataMakerRec.cxx:359 AliVZEROQADataMakerRec.cxx:360 AliVZEROQADataMakerRec.cxx:361 AliVZEROQADataMakerRec.cxx:362 AliVZEROQADataMakerRec.cxx:363 AliVZEROQADataMakerRec.cxx:364 AliVZEROQADataMakerRec.cxx:365 AliVZEROQADataMakerRec.cxx:366 AliVZEROQADataMakerRec.cxx:367 AliVZEROQADataMakerRec.cxx:368 AliVZEROQADataMakerRec.cxx:369 AliVZEROQADataMakerRec.cxx:370 AliVZEROQADataMakerRec.cxx:371 AliVZEROQADataMakerRec.cxx:372 AliVZEROQADataMakerRec.cxx:373 AliVZEROQADataMakerRec.cxx:374 AliVZEROQADataMakerRec.cxx:375 AliVZEROQADataMakerRec.cxx:376 AliVZEROQADataMakerRec.cxx:377 AliVZEROQADataMakerRec.cxx:378 AliVZEROQADataMakerRec.cxx:379 AliVZEROQADataMakerRec.cxx:380 AliVZEROQADataMakerRec.cxx:381 AliVZEROQADataMakerRec.cxx:382 AliVZEROQADataMakerRec.cxx:383 AliVZEROQADataMakerRec.cxx:384 AliVZEROQADataMakerRec.cxx:385 AliVZEROQADataMakerRec.cxx:386 AliVZEROQADataMakerRec.cxx:387 AliVZEROQADataMakerRec.cxx:388 AliVZEROQADataMakerRec.cxx:389 AliVZEROQADataMakerRec.cxx:390 AliVZEROQADataMakerRec.cxx:391 AliVZEROQADataMakerRec.cxx:392 AliVZEROQADataMakerRec.cxx:393 AliVZEROQADataMakerRec.cxx:394 AliVZEROQADataMakerRec.cxx:395 AliVZEROQADataMakerRec.cxx:396 AliVZEROQADataMakerRec.cxx:397 AliVZEROQADataMakerRec.cxx:398 AliVZEROQADataMakerRec.cxx:399 AliVZEROQADataMakerRec.cxx:400 AliVZEROQADataMakerRec.cxx:401 AliVZEROQADataMakerRec.cxx:402 AliVZEROQADataMakerRec.cxx:403 AliVZEROQADataMakerRec.cxx:404 AliVZEROQADataMakerRec.cxx:405 AliVZEROQADataMakerRec.cxx:406 AliVZEROQADataMakerRec.cxx:407 AliVZEROQADataMakerRec.cxx:408 AliVZEROQADataMakerRec.cxx:409 AliVZEROQADataMakerRec.cxx:410 AliVZEROQADataMakerRec.cxx:411 AliVZEROQADataMakerRec.cxx:412 AliVZEROQADataMakerRec.cxx:413 AliVZEROQADataMakerRec.cxx:414 AliVZEROQADataMakerRec.cxx:415 AliVZEROQADataMakerRec.cxx:416 AliVZEROQADataMakerRec.cxx:417 AliVZEROQADataMakerRec.cxx:418 AliVZEROQADataMakerRec.cxx:419 AliVZEROQADataMakerRec.cxx:420 AliVZEROQADataMakerRec.cxx:421 AliVZEROQADataMakerRec.cxx:422 AliVZEROQADataMakerRec.cxx:423 AliVZEROQADataMakerRec.cxx:424 AliVZEROQADataMakerRec.cxx:425 AliVZEROQADataMakerRec.cxx:426 AliVZEROQADataMakerRec.cxx:427 AliVZEROQADataMakerRec.cxx:428 AliVZEROQADataMakerRec.cxx:429 AliVZEROQADataMakerRec.cxx:430 AliVZEROQADataMakerRec.cxx:431 AliVZEROQADataMakerRec.cxx:432 AliVZEROQADataMakerRec.cxx:433 AliVZEROQADataMakerRec.cxx:434 AliVZEROQADataMakerRec.cxx:435 AliVZEROQADataMakerRec.cxx:436 AliVZEROQADataMakerRec.cxx:437 AliVZEROQADataMakerRec.cxx:438 AliVZEROQADataMakerRec.cxx:439 AliVZEROQADataMakerRec.cxx:440 AliVZEROQADataMakerRec.cxx:441 AliVZEROQADataMakerRec.cxx:442 AliVZEROQADataMakerRec.cxx:443 AliVZEROQADataMakerRec.cxx:444 AliVZEROQADataMakerRec.cxx:445 AliVZEROQADataMakerRec.cxx:446 AliVZEROQADataMakerRec.cxx:447 AliVZEROQADataMakerRec.cxx:448 AliVZEROQADataMakerRec.cxx:449 AliVZEROQADataMakerRec.cxx:450 AliVZEROQADataMakerRec.cxx:451 AliVZEROQADataMakerRec.cxx:452 AliVZEROQADataMakerRec.cxx:453 AliVZEROQADataMakerRec.cxx:454 AliVZEROQADataMakerRec.cxx:455 AliVZEROQADataMakerRec.cxx:456 AliVZEROQADataMakerRec.cxx:457 AliVZEROQADataMakerRec.cxx:458 AliVZEROQADataMakerRec.cxx:459 AliVZEROQADataMakerRec.cxx:460 AliVZEROQADataMakerRec.cxx:461 AliVZEROQADataMakerRec.cxx:462 AliVZEROQADataMakerRec.cxx:463 AliVZEROQADataMakerRec.cxx:464 AliVZEROQADataMakerRec.cxx:465 AliVZEROQADataMakerRec.cxx:466 AliVZEROQADataMakerRec.cxx:467 AliVZEROQADataMakerRec.cxx:468 AliVZEROQADataMakerRec.cxx:469 AliVZEROQADataMakerRec.cxx:470 AliVZEROQADataMakerRec.cxx:471 AliVZEROQADataMakerRec.cxx:472 AliVZEROQADataMakerRec.cxx:473 AliVZEROQADataMakerRec.cxx:474 AliVZEROQADataMakerRec.cxx:475 AliVZEROQADataMakerRec.cxx:476 AliVZEROQADataMakerRec.cxx:477 AliVZEROQADataMakerRec.cxx:478 AliVZEROQADataMakerRec.cxx:479 AliVZEROQADataMakerRec.cxx:480 AliVZEROQADataMakerRec.cxx:481 AliVZEROQADataMakerRec.cxx:482 AliVZEROQADataMakerRec.cxx:483 AliVZEROQADataMakerRec.cxx:484 AliVZEROQADataMakerRec.cxx:485 AliVZEROQADataMakerRec.cxx:486 AliVZEROQADataMakerRec.cxx:487 AliVZEROQADataMakerRec.cxx:488 AliVZEROQADataMakerRec.cxx:489 AliVZEROQADataMakerRec.cxx:490 AliVZEROQADataMakerRec.cxx:491 AliVZEROQADataMakerRec.cxx:492 AliVZEROQADataMakerRec.cxx:493 AliVZEROQADataMakerRec.cxx:494 AliVZEROQADataMakerRec.cxx:495 AliVZEROQADataMakerRec.cxx:496 AliVZEROQADataMakerRec.cxx:497 AliVZEROQADataMakerRec.cxx:498 AliVZEROQADataMakerRec.cxx:499 AliVZEROQADataMakerRec.cxx:500 AliVZEROQADataMakerRec.cxx:501 AliVZEROQADataMakerRec.cxx:502 AliVZEROQADataMakerRec.cxx:503 AliVZEROQADataMakerRec.cxx:504 AliVZEROQADataMakerRec.cxx:505 AliVZEROQADataMakerRec.cxx:506 AliVZEROQADataMakerRec.cxx:507 AliVZEROQADataMakerRec.cxx:508 AliVZEROQADataMakerRec.cxx:509 AliVZEROQADataMakerRec.cxx:510 AliVZEROQADataMakerRec.cxx:511 AliVZEROQADataMakerRec.cxx:512 AliVZEROQADataMakerRec.cxx:513 AliVZEROQADataMakerRec.cxx:514 AliVZEROQADataMakerRec.cxx:515 AliVZEROQADataMakerRec.cxx:516 AliVZEROQADataMakerRec.cxx:517 AliVZEROQADataMakerRec.cxx:518 AliVZEROQADataMakerRec.cxx:519 AliVZEROQADataMakerRec.cxx:520 AliVZEROQADataMakerRec.cxx:521 AliVZEROQADataMakerRec.cxx:522 AliVZEROQADataMakerRec.cxx:523 AliVZEROQADataMakerRec.cxx:524 AliVZEROQADataMakerRec.cxx:525 AliVZEROQADataMakerRec.cxx:526 AliVZEROQADataMakerRec.cxx:527 AliVZEROQADataMakerRec.cxx:528 AliVZEROQADataMakerRec.cxx:529 AliVZEROQADataMakerRec.cxx:530 AliVZEROQADataMakerRec.cxx:531 AliVZEROQADataMakerRec.cxx:532 AliVZEROQADataMakerRec.cxx:533 AliVZEROQADataMakerRec.cxx:534 AliVZEROQADataMakerRec.cxx:535 AliVZEROQADataMakerRec.cxx:536 AliVZEROQADataMakerRec.cxx:537 AliVZEROQADataMakerRec.cxx:538 AliVZEROQADataMakerRec.cxx:539 AliVZEROQADataMakerRec.cxx:540 AliVZEROQADataMakerRec.cxx:541 AliVZEROQADataMakerRec.cxx:542 AliVZEROQADataMakerRec.cxx:543 AliVZEROQADataMakerRec.cxx:544 AliVZEROQADataMakerRec.cxx:545 AliVZEROQADataMakerRec.cxx:546 AliVZEROQADataMakerRec.cxx:547 AliVZEROQADataMakerRec.cxx:548 AliVZEROQADataMakerRec.cxx:549 AliVZEROQADataMakerRec.cxx:550 AliVZEROQADataMakerRec.cxx:551 AliVZEROQADataMakerRec.cxx:552 AliVZEROQADataMakerRec.cxx:553 AliVZEROQADataMakerRec.cxx:554 AliVZEROQADataMakerRec.cxx:555 AliVZEROQADataMakerRec.cxx:556 AliVZEROQADataMakerRec.cxx:557 AliVZEROQADataMakerRec.cxx:558 AliVZEROQADataMakerRec.cxx:559 AliVZEROQADataMakerRec.cxx:560 AliVZEROQADataMakerRec.cxx:561 AliVZEROQADataMakerRec.cxx:562 AliVZEROQADataMakerRec.cxx:563 AliVZEROQADataMakerRec.cxx:564 AliVZEROQADataMakerRec.cxx:565 AliVZEROQADataMakerRec.cxx:566 AliVZEROQADataMakerRec.cxx:567 AliVZEROQADataMakerRec.cxx:568 AliVZEROQADataMakerRec.cxx:569 AliVZEROQADataMakerRec.cxx:570 AliVZEROQADataMakerRec.cxx:571 AliVZEROQADataMakerRec.cxx:572 AliVZEROQADataMakerRec.cxx:573 AliVZEROQADataMakerRec.cxx:574 AliVZEROQADataMakerRec.cxx:575 AliVZEROQADataMakerRec.cxx:576 AliVZEROQADataMakerRec.cxx:577 AliVZEROQADataMakerRec.cxx:578 AliVZEROQADataMakerRec.cxx:579 AliVZEROQADataMakerRec.cxx:580 AliVZEROQADataMakerRec.cxx:581 AliVZEROQADataMakerRec.cxx:582 AliVZEROQADataMakerRec.cxx:583 AliVZEROQADataMakerRec.cxx:584 AliVZEROQADataMakerRec.cxx:585 AliVZEROQADataMakerRec.cxx:586 AliVZEROQADataMakerRec.cxx:587 AliVZEROQADataMakerRec.cxx:588 AliVZEROQADataMakerRec.cxx:589 AliVZEROQADataMakerRec.cxx:590 AliVZEROQADataMakerRec.cxx:591 AliVZEROQADataMakerRec.cxx:592 AliVZEROQADataMakerRec.cxx:593 AliVZEROQADataMakerRec.cxx:594 AliVZEROQADataMakerRec.cxx:595 AliVZEROQADataMakerRec.cxx:596 AliVZEROQADataMakerRec.cxx:597 AliVZEROQADataMakerRec.cxx:598 AliVZEROQADataMakerRec.cxx:599 AliVZEROQADataMakerRec.cxx:600 AliVZEROQADataMakerRec.cxx:601 AliVZEROQADataMakerRec.cxx:602 AliVZEROQADataMakerRec.cxx:603 AliVZEROQADataMakerRec.cxx:604 AliVZEROQADataMakerRec.cxx:605 AliVZEROQADataMakerRec.cxx:606 AliVZEROQADataMakerRec.cxx:607 AliVZEROQADataMakerRec.cxx:608 AliVZEROQADataMakerRec.cxx:609 AliVZEROQADataMakerRec.cxx:610 AliVZEROQADataMakerRec.cxx:611 AliVZEROQADataMakerRec.cxx:612 AliVZEROQADataMakerRec.cxx:613 AliVZEROQADataMakerRec.cxx:614 AliVZEROQADataMakerRec.cxx:615 AliVZEROQADataMakerRec.cxx:616 AliVZEROQADataMakerRec.cxx:617 AliVZEROQADataMakerRec.cxx:618 AliVZEROQADataMakerRec.cxx:619 AliVZEROQADataMakerRec.cxx:620 AliVZEROQADataMakerRec.cxx:621 AliVZEROQADataMakerRec.cxx:622 AliVZEROQADataMakerRec.cxx:623 AliVZEROQADataMakerRec.cxx:624 AliVZEROQADataMakerRec.cxx:625 AliVZEROQADataMakerRec.cxx:626 AliVZEROQADataMakerRec.cxx:627 AliVZEROQADataMakerRec.cxx:628 AliVZEROQADataMakerRec.cxx:629 AliVZEROQADataMakerRec.cxx:630 AliVZEROQADataMakerRec.cxx:631 AliVZEROQADataMakerRec.cxx:632 AliVZEROQADataMakerRec.cxx:633 AliVZEROQADataMakerRec.cxx:634 AliVZEROQADataMakerRec.cxx:635 AliVZEROQADataMakerRec.cxx:636 AliVZEROQADataMakerRec.cxx:637 AliVZEROQADataMakerRec.cxx:638 AliVZEROQADataMakerRec.cxx:639 AliVZEROQADataMakerRec.cxx:640 AliVZEROQADataMakerRec.cxx:641 AliVZEROQADataMakerRec.cxx:642 AliVZEROQADataMakerRec.cxx:643 AliVZEROQADataMakerRec.cxx:644 AliVZEROQADataMakerRec.cxx:645 AliVZEROQADataMakerRec.cxx:646 AliVZEROQADataMakerRec.cxx:647 AliVZEROQADataMakerRec.cxx:648 AliVZEROQADataMakerRec.cxx:649 AliVZEROQADataMakerRec.cxx:650 AliVZEROQADataMakerRec.cxx:651 AliVZEROQADataMakerRec.cxx:652 AliVZEROQADataMakerRec.cxx:653 AliVZEROQADataMakerRec.cxx:654 AliVZEROQADataMakerRec.cxx:655 AliVZEROQADataMakerRec.cxx:656 AliVZEROQADataMakerRec.cxx:657 AliVZEROQADataMakerRec.cxx:658 AliVZEROQADataMakerRec.cxx:659 AliVZEROQADataMakerRec.cxx:660 AliVZEROQADataMakerRec.cxx:661 AliVZEROQADataMakerRec.cxx:662 AliVZEROQADataMakerRec.cxx:663 AliVZEROQADataMakerRec.cxx:664 AliVZEROQADataMakerRec.cxx:665 AliVZEROQADataMakerRec.cxx:666 AliVZEROQADataMakerRec.cxx:667 AliVZEROQADataMakerRec.cxx:668 AliVZEROQADataMakerRec.cxx:669 AliVZEROQADataMakerRec.cxx:670 AliVZEROQADataMakerRec.cxx:671 AliVZEROQADataMakerRec.cxx:672 AliVZEROQADataMakerRec.cxx:673 AliVZEROQADataMakerRec.cxx:674 AliVZEROQADataMakerRec.cxx:675 AliVZEROQADataMakerRec.cxx:676 AliVZEROQADataMakerRec.cxx:677 AliVZEROQADataMakerRec.cxx:678 AliVZEROQADataMakerRec.cxx:679 AliVZEROQADataMakerRec.cxx:680 AliVZEROQADataMakerRec.cxx:681 AliVZEROQADataMakerRec.cxx:682 AliVZEROQADataMakerRec.cxx:683 AliVZEROQADataMakerRec.cxx:684 AliVZEROQADataMakerRec.cxx:685 AliVZEROQADataMakerRec.cxx:686 AliVZEROQADataMakerRec.cxx:687 AliVZEROQADataMakerRec.cxx:688 AliVZEROQADataMakerRec.cxx:689 AliVZEROQADataMakerRec.cxx:690 AliVZEROQADataMakerRec.cxx:691 AliVZEROQADataMakerRec.cxx:692 AliVZEROQADataMakerRec.cxx:693 AliVZEROQADataMakerRec.cxx:694 AliVZEROQADataMakerRec.cxx:695 AliVZEROQADataMakerRec.cxx:696 AliVZEROQADataMakerRec.cxx:697 AliVZEROQADataMakerRec.cxx:698 AliVZEROQADataMakerRec.cxx:699 AliVZEROQADataMakerRec.cxx:700 AliVZEROQADataMakerRec.cxx:701 AliVZEROQADataMakerRec.cxx:702 AliVZEROQADataMakerRec.cxx:703 AliVZEROQADataMakerRec.cxx:704 AliVZEROQADataMakerRec.cxx:705 AliVZEROQADataMakerRec.cxx:706 AliVZEROQADataMakerRec.cxx:707 AliVZEROQADataMakerRec.cxx:708 AliVZEROQADataMakerRec.cxx:709 AliVZEROQADataMakerRec.cxx:710 AliVZEROQADataMakerRec.cxx:711 AliVZEROQADataMakerRec.cxx:712 AliVZEROQADataMakerRec.cxx:713 AliVZEROQADataMakerRec.cxx:714 AliVZEROQADataMakerRec.cxx:715 AliVZEROQADataMakerRec.cxx:716 AliVZEROQADataMakerRec.cxx:717 AliVZEROQADataMakerRec.cxx:718 AliVZEROQADataMakerRec.cxx:719 AliVZEROQADataMakerRec.cxx:720 AliVZEROQADataMakerRec.cxx:721 AliVZEROQADataMakerRec.cxx:722 AliVZEROQADataMakerRec.cxx:723 AliVZEROQADataMakerRec.cxx:724 AliVZEROQADataMakerRec.cxx:725 AliVZEROQADataMakerRec.cxx:726 AliVZEROQADataMakerRec.cxx:727 AliVZEROQADataMakerRec.cxx:728 AliVZEROQADataMakerRec.cxx:729 AliVZEROQADataMakerRec.cxx:730 AliVZEROQADataMakerRec.cxx:731 AliVZEROQADataMakerRec.cxx:732 AliVZEROQADataMakerRec.cxx:733 AliVZEROQADataMakerRec.cxx:734 AliVZEROQADataMakerRec.cxx:735 AliVZEROQADataMakerRec.cxx:736 AliVZEROQADataMakerRec.cxx:737 AliVZEROQADataMakerRec.cxx:738 AliVZEROQADataMakerRec.cxx:739 AliVZEROQADataMakerRec.cxx:740 AliVZEROQADataMakerRec.cxx:741 AliVZEROQADataMakerRec.cxx:742 AliVZEROQADataMakerRec.cxx:743 AliVZEROQADataMakerRec.cxx:744 AliVZEROQADataMakerRec.cxx:745 AliVZEROQADataMakerRec.cxx:746 AliVZEROQADataMakerRec.cxx:747 AliVZEROQADataMakerRec.cxx:748 AliVZEROQADataMakerRec.cxx:749 AliVZEROQADataMakerRec.cxx:750 AliVZEROQADataMakerRec.cxx:751 AliVZEROQADataMakerRec.cxx:752 AliVZEROQADataMakerRec.cxx:753 AliVZEROQADataMakerRec.cxx:754 AliVZEROQADataMakerRec.cxx:755 AliVZEROQADataMakerRec.cxx:756 AliVZEROQADataMakerRec.cxx:757 AliVZEROQADataMakerRec.cxx:758 AliVZEROQADataMakerRec.cxx:759 AliVZEROQADataMakerRec.cxx:760 AliVZEROQADataMakerRec.cxx:761 AliVZEROQADataMakerRec.cxx:762 AliVZEROQADataMakerRec.cxx:763 AliVZEROQADataMakerRec.cxx:764 AliVZEROQADataMakerRec.cxx:765 AliVZEROQADataMakerRec.cxx:766 AliVZEROQADataMakerRec.cxx:767 AliVZEROQADataMakerRec.cxx:768 AliVZEROQADataMakerRec.cxx:769 AliVZEROQADataMakerRec.cxx:770 AliVZEROQADataMakerRec.cxx:771 AliVZEROQADataMakerRec.cxx:772 AliVZEROQADataMakerRec.cxx:773 AliVZEROQADataMakerRec.cxx:774 AliVZEROQADataMakerRec.cxx:775 AliVZEROQADataMakerRec.cxx:776 AliVZEROQADataMakerRec.cxx:777 AliVZEROQADataMakerRec.cxx:778 AliVZEROQADataMakerRec.cxx:779 AliVZEROQADataMakerRec.cxx:780 AliVZEROQADataMakerRec.cxx:781 AliVZEROQADataMakerRec.cxx:782 AliVZEROQADataMakerRec.cxx:783 AliVZEROQADataMakerRec.cxx:784 AliVZEROQADataMakerRec.cxx:785 AliVZEROQADataMakerRec.cxx:786 AliVZEROQADataMakerRec.cxx:787 AliVZEROQADataMakerRec.cxx:788 AliVZEROQADataMakerRec.cxx:789 AliVZEROQADataMakerRec.cxx:790 AliVZEROQADataMakerRec.cxx:791 AliVZEROQADataMakerRec.cxx:792 AliVZEROQADataMakerRec.cxx:793 AliVZEROQADataMakerRec.cxx:794 AliVZEROQADataMakerRec.cxx:795 AliVZEROQADataMakerRec.cxx:796 AliVZEROQADataMakerRec.cxx:797 AliVZEROQADataMakerRec.cxx:798 AliVZEROQADataMakerRec.cxx:799 AliVZEROQADataMakerRec.cxx:800 AliVZEROQADataMakerRec.cxx:801 AliVZEROQADataMakerRec.cxx:802 AliVZEROQADataMakerRec.cxx:803 AliVZEROQADataMakerRec.cxx:804 AliVZEROQADataMakerRec.cxx:805 AliVZEROQADataMakerRec.cxx:806 AliVZEROQADataMakerRec.cxx:807 AliVZEROQADataMakerRec.cxx:808 AliVZEROQADataMakerRec.cxx:809 AliVZEROQADataMakerRec.cxx:810 AliVZEROQADataMakerRec.cxx:811 AliVZEROQADataMakerRec.cxx:812 AliVZEROQADataMakerRec.cxx:813 AliVZEROQADataMakerRec.cxx:814 AliVZEROQADataMakerRec.cxx:815 AliVZEROQADataMakerRec.cxx:816 AliVZEROQADataMakerRec.cxx:817 AliVZEROQADataMakerRec.cxx:818 AliVZEROQADataMakerRec.cxx:819 AliVZEROQADataMakerRec.cxx:820 AliVZEROQADataMakerRec.cxx:821 AliVZEROQADataMakerRec.cxx:822 AliVZEROQADataMakerRec.cxx:823 AliVZEROQADataMakerRec.cxx:824 AliVZEROQADataMakerRec.cxx:825 AliVZEROQADataMakerRec.cxx:826 AliVZEROQADataMakerRec.cxx:827 AliVZEROQADataMakerRec.cxx:828 AliVZEROQADataMakerRec.cxx:829 AliVZEROQADataMakerRec.cxx:830 AliVZEROQADataMakerRec.cxx:831 AliVZEROQADataMakerRec.cxx:832 AliVZEROQADataMakerRec.cxx:833 AliVZEROQADataMakerRec.cxx:834 AliVZEROQADataMakerRec.cxx:835 AliVZEROQADataMakerRec.cxx:836 AliVZEROQADataMakerRec.cxx:837 AliVZEROQADataMakerRec.cxx:838 AliVZEROQADataMakerRec.cxx:839 AliVZEROQADataMakerRec.cxx:840 AliVZEROQADataMakerRec.cxx:841 AliVZEROQADataMakerRec.cxx:842 AliVZEROQADataMakerRec.cxx:843 AliVZEROQADataMakerRec.cxx:844 AliVZEROQADataMakerRec.cxx:845 AliVZEROQADataMakerRec.cxx:846 AliVZEROQADataMakerRec.cxx:847 AliVZEROQADataMakerRec.cxx:848 AliVZEROQADataMakerRec.cxx:849 AliVZEROQADataMakerRec.cxx:850 AliVZEROQADataMakerRec.cxx:851 AliVZEROQADataMakerRec.cxx:852 AliVZEROQADataMakerRec.cxx:853 AliVZEROQADataMakerRec.cxx:854 AliVZEROQADataMakerRec.cxx:855 AliVZEROQADataMakerRec.cxx:856 AliVZEROQADataMakerRec.cxx:857 AliVZEROQADataMakerRec.cxx:858 AliVZEROQADataMakerRec.cxx:859 AliVZEROQADataMakerRec.cxx:860 AliVZEROQADataMakerRec.cxx:861 AliVZEROQADataMakerRec.cxx:862 AliVZEROQADataMakerRec.cxx:863 AliVZEROQADataMakerRec.cxx:864 AliVZEROQADataMakerRec.cxx:865 AliVZEROQADataMakerRec.cxx:866 AliVZEROQADataMakerRec.cxx:867 AliVZEROQADataMakerRec.cxx:868 AliVZEROQADataMakerRec.cxx:869 AliVZEROQADataMakerRec.cxx:870 AliVZEROQADataMakerRec.cxx:871 AliVZEROQADataMakerRec.cxx:872 AliVZEROQADataMakerRec.cxx:873 AliVZEROQADataMakerRec.cxx:874 AliVZEROQADataMakerRec.cxx:875 AliVZEROQADataMakerRec.cxx:876 AliVZEROQADataMakerRec.cxx:877 AliVZEROQADataMakerRec.cxx:878 AliVZEROQADataMakerRec.cxx:879 AliVZEROQADataMakerRec.cxx:880 AliVZEROQADataMakerRec.cxx:881 AliVZEROQADataMakerRec.cxx:882 AliVZEROQADataMakerRec.cxx:883 AliVZEROQADataMakerRec.cxx:884 AliVZEROQADataMakerRec.cxx:885 AliVZEROQADataMakerRec.cxx:886 AliVZEROQADataMakerRec.cxx:887 AliVZEROQADataMakerRec.cxx:888 AliVZEROQADataMakerRec.cxx:889 AliVZEROQADataMakerRec.cxx:890 AliVZEROQADataMakerRec.cxx:891 AliVZEROQADataMakerRec.cxx:892 AliVZEROQADataMakerRec.cxx:893 AliVZEROQADataMakerRec.cxx:894 AliVZEROQADataMakerRec.cxx:895 AliVZEROQADataMakerRec.cxx:896 AliVZEROQADataMakerRec.cxx:897 AliVZEROQADataMakerRec.cxx:898 AliVZEROQADataMakerRec.cxx:899 AliVZEROQADataMakerRec.cxx:900 AliVZEROQADataMakerRec.cxx:901 AliVZEROQADataMakerRec.cxx:902 AliVZEROQADataMakerRec.cxx:903 AliVZEROQADataMakerRec.cxx:904 AliVZEROQADataMakerRec.cxx:905 AliVZEROQADataMakerRec.cxx:906 AliVZEROQADataMakerRec.cxx:907 AliVZEROQADataMakerRec.cxx:908 AliVZEROQADataMakerRec.cxx:909 AliVZEROQADataMakerRec.cxx:910 AliVZEROQADataMakerRec.cxx:911 AliVZEROQADataMakerRec.cxx:912 AliVZEROQADataMakerRec.cxx:913 AliVZEROQADataMakerRec.cxx:914 AliVZEROQADataMakerRec.cxx:915 AliVZEROQADataMakerRec.cxx:916 AliVZEROQADataMakerRec.cxx:917 AliVZEROQADataMakerRec.cxx:918 AliVZEROQADataMakerRec.cxx:919 AliVZEROQADataMakerRec.cxx:920 AliVZEROQADataMakerRec.cxx:921 AliVZEROQADataMakerRec.cxx:922 AliVZEROQADataMakerRec.cxx:923 AliVZEROQADataMakerRec.cxx:924 AliVZEROQADataMakerRec.cxx:925 AliVZEROQADataMakerRec.cxx:926 AliVZEROQADataMakerRec.cxx:927 AliVZEROQADataMakerRec.cxx:928 AliVZEROQADataMakerRec.cxx:929 AliVZEROQADataMakerRec.cxx:930 AliVZEROQADataMakerRec.cxx:931 AliVZEROQADataMakerRec.cxx:932 AliVZEROQADataMakerRec.cxx:933 AliVZEROQADataMakerRec.cxx:934 AliVZEROQADataMakerRec.cxx:935 AliVZEROQADataMakerRec.cxx:936 AliVZEROQADataMakerRec.cxx:937 AliVZEROQADataMakerRec.cxx:938 AliVZEROQADataMakerRec.cxx:939 AliVZEROQADataMakerRec.cxx:940 AliVZEROQADataMakerRec.cxx:941 AliVZEROQADataMakerRec.cxx:942 AliVZEROQADataMakerRec.cxx:943 AliVZEROQADataMakerRec.cxx:944 AliVZEROQADataMakerRec.cxx:945 AliVZEROQADataMakerRec.cxx:946 AliVZEROQADataMakerRec.cxx:947 AliVZEROQADataMakerRec.cxx:948 AliVZEROQADataMakerRec.cxx:949 AliVZEROQADataMakerRec.cxx:950 AliVZEROQADataMakerRec.cxx:951 AliVZEROQADataMakerRec.cxx:952 AliVZEROQADataMakerRec.cxx:953 AliVZEROQADataMakerRec.cxx:954 AliVZEROQADataMakerRec.cxx:955 AliVZEROQADataMakerRec.cxx:956 AliVZEROQADataMakerRec.cxx:957 AliVZEROQADataMakerRec.cxx:958 AliVZEROQADataMakerRec.cxx:959 AliVZEROQADataMakerRec.cxx:960 AliVZEROQADataMakerRec.cxx:961 AliVZEROQADataMakerRec.cxx:962 AliVZEROQADataMakerRec.cxx:963 AliVZEROQADataMakerRec.cxx:964 AliVZEROQADataMakerRec.cxx:965 AliVZEROQADataMakerRec.cxx:966 AliVZEROQADataMakerRec.cxx:967 AliVZEROQADataMakerRec.cxx:968 AliVZEROQADataMakerRec.cxx:969 AliVZEROQADataMakerRec.cxx:970 AliVZEROQADataMakerRec.cxx:971 AliVZEROQADataMakerRec.cxx:972 AliVZEROQADataMakerRec.cxx:973 AliVZEROQADataMakerRec.cxx:974 AliVZEROQADataMakerRec.cxx:975