#include <TClonesArray.h>
#include <TFile.h>
#include <TH1D.h>
#include <TH1F.h>
#include <TH1I.h>
#include <TH2F.h>
#include "AliESDEvent.h"
#include "AliLog.h"
#include "AliPMDQADataMakerRec.h"
#include "AliQAChecker.h"
#include "AliPMDdigit.h"
#include "AliPMDrecpoint1.h"
#include "AliPMDRawStream.h"
#include "AliPMDddldata.h"
#include "AliPMDUtility.h"
#include "AliESDPmdTrack.h"
ClassImp(AliPMDQADataMakerRec)
AliPMDQADataMakerRec::AliPMDQADataMakerRec() :
AliQADataMakerRec(AliQAv1::GetDetName(AliQAv1::kPMD), "PMD Quality Assurance Data Maker")
{
}
AliPMDQADataMakerRec::AliPMDQADataMakerRec(const AliPMDQADataMakerRec& qadm) :
AliQADataMakerRec()
{
SetName((const char*)qadm.GetName()) ;
SetTitle((const char*)qadm.GetTitle());
}
AliPMDQADataMakerRec& AliPMDQADataMakerRec::operator = (const AliPMDQADataMakerRec& qadm )
{
this->~AliPMDQADataMakerRec();
new(this) AliPMDQADataMakerRec(qadm);
return *this;
}
void AliPMDQADataMakerRec::InitRaws() {
const Bool_t expert = kTRUE ;
const Bool_t saveCorr = kTRUE ;
const Bool_t image = kTRUE ;
TH1F *h0 = new TH1F("hDdl2304","Cell Wise Frequency for PRE Plane DDL 2304;DDL2304;Frequency",50000 ,0,50000.0);
TH1F *h1 = new TH1F("hDdl2305","Cell Wise Frequency for PRE Plane DDL 2305;DDL2305;Frequency",50000 ,0,50000.0);
TH1F *h2 = new TH1F("hDdl2308","Cell Wise Frequency for CPV Plane DDL 2308;DDL2308;Frequency",50000 ,0,50000.0);
TH1F *h3 = new TH1F("hDdl2309","Cell Wise Frequency for CPV Plane DDL 2309;DDL2309;Frequency",50000 ,0,50000.0);
for(int i = 0; i < 50; i++ ) {
h0->GetXaxis()->SetBinLabel(i*1000+300,Form("%2d",i+1));
h1->GetXaxis()->SetBinLabel(i*1000+300,Form("%2d",i+1));
h2->GetXaxis()->SetBinLabel(i*1000+300,Form("%2d",i+1));
h3->GetXaxis()->SetBinLabel(i*1000+300,Form("%2d",i+1));
}
Add2RawsList(h0, 0, expert, image, saveCorr);
Add2RawsList(h1, 1, expert, image, saveCorr);
Add2RawsList(h2, 2, expert, image, saveCorr);
Add2RawsList(h3, 3, expert, image, saveCorr);
TH2F *hPreXY = new TH2F("hPreXY","PRE plane;X [cm];Y [cm]",200,-100.,100.,200,-100.,100.);
Add2RawsList(hPreXY, 4, expert, !image, saveCorr);
TH2F *hCpvXY = new TH2F("hCpvXY","CPV plane;X [cm];Y [cm]",200,-100.,100.,200,-100.,100.);
Add2RawsList(hCpvXY, 5, expert, !image, saveCorr);
TH1F *hQuality1 = new TH1F("hPmdQualityWAdc","Quality Plot SumWAdc/SumWAdc;#eta Bins (PRE <---> CPV);Quality",25,0,25);
TH1F *hQuality2 = new TH1F("hPmdQualityHit","Quality Plot Hit/Hit;#eta Bins (PRE <---> CPV);Quality",25,0,25);
for(int i = 0; i < 10; i++ ) {
hQuality1->GetXaxis()->SetBinLabel(i+3,Form("%2d",i+1));
hQuality2->GetXaxis()->SetBinLabel(i+3,Form("%2d",i+1));
hQuality1->GetXaxis()->SetBinLabel(i+15,Form("%2d",i+1));
hQuality2->GetXaxis()->SetBinLabel(i+15,Form("%2d",i+1));
}
Add2RawsList(hQuality1, 6, !expert, image, saveCorr);
Add2RawsList(hQuality2, 7, !expert, image, saveCorr);
TH1F *hMP = new TH1F("hPmdMultiplicityP"," Cell Hit Distribution with adc>40; Multiplicity; Entries",1000,0,7000);
TH1F *hMC = new TH1F("hPmdMultiplicityC"," Cell Hit Distribution with adc>40; Multiplicity; Entries",1000,0,7000);
Add2RawsList(hMP, 8, expert, !image, saveCorr);
Add2RawsList(hMC, 9, expert, !image, saveCorr);
ClonePerTrigClass(AliQAv1::kRAWS);
}
void AliPMDQADataMakerRec::InitDigits()
{
const Bool_t expert = kTRUE ;
const Bool_t image = kTRUE ;
TH1F *h0 = new TH1F("hPreDigitsEdep","Digits energy distribution in PRE(PMD);Amplitude [ADC counts];Counts", 100, 0., 2000.);
h0->Sumw2();
Add2DigitsList(h0, 0, !expert, image);
TH1F *h1 = new TH1F("hCpvDigitsEdep","Digits energy distribution in CPV(PMD);Amplitude [ADC counts];Counts", 100, 0., 2000.);
h1->Sumw2();
Add2DigitsList(h1, 1, !expert, image);
TH1I *h2 = new TH1I("hPreDigitsMult","Digits multiplicity distribution in PRE(PMD);# of Digits;Entries", 500, 0, 1000) ;
h2->Sumw2();
Add2DigitsList(h2, 2, !expert, image);
TH1I *h3 = new TH1I("hCpvDigitsMult","Digits multiplicity distribution in CPV(PMD);# of Digits;Entries", 500, 0, 1000);
h3->Sumw2();
Add2DigitsList(h3, 3, !expert, image);
ClonePerTrigClass(AliQAv1::kDIGITS);
}
void AliPMDQADataMakerRec::InitRecPoints()
{
const Bool_t expert = kTRUE ;
const Bool_t image = kTRUE ;
TH1F * h0 = new TH1F("hPreDdl0Ncell","PRE: Ddl0 Ncell in a cluster;# of cells;Counts",50,0.,50.);
h0->Sumw2();
Add2RecPointsList(h0, 0, !expert, image);
TH1F * h1 = new TH1F("hPreDdl1Ncell","PRE: Ddl1 Ncell in a cluste;# of cells;Countsr",50,0.,50.);
h1->Sumw2();
Add2RecPointsList(h1, 1, !expert, image);
TH1F * h2 = new TH1F("hPreDdl2Ncell","PRE: Ddl2 Ncell in a cluster;# of cells;Counts",50,0.,50.);
h2->Sumw2();
Add2RecPointsList(h2, 2, !expert, image);
TH1F * h3 = new TH1F("hPreDdl3Ncell","PRE: Ddl3 Ncell in a cluster;# of cells;Counts",50,0.,50.);
h3->Sumw2();
Add2RecPointsList(h3, 3, !expert, image);
TH1F * h4 = new TH1F("hCpvDdl4Ncell","CPV: Ddl4 Ncell in a cluster;# of cells;Counts",50,0.,50.);
h4->Sumw2();
Add2RecPointsList(h4, 4, !expert, image);
TH1F * h5 = new TH1F("hCpvDdl5Ncell","CPV: Ddl5 Ncell in a cluster;# of cells;Counts",50,0.,50.);
h5->Sumw2();
Add2RecPointsList(h5, 5, !expert, image);
TH2I *h6 = new TH2I("hPre10","Cluster - DDL1 vs DDL0;DDL0;DDL1", 100,0,200,100,0,200);
Add2RecPointsList(h6,6, !expert, image);
TH2I *h7 = new TH2I("hPre32","Cluster - DDL3 vs DDL2;DDL2;DDL3", 100,0,200,100,0,200);
Add2RecPointsList(h7,7, !expert, image);
TH2I *h8 = new TH2I("hCpv54","Cluster - DDL5 vs DDL4;DDL4;DDL5", 100,0,200,100,0,200);
Add2RecPointsList(h8,8, !expert, image);
ClonePerTrigClass(AliQAv1::kRECPOINTS);
}
void AliPMDQADataMakerRec::InitESDs()
{
const Bool_t expert = kTRUE ;
const Bool_t image = kTRUE ;
TH1F *h0 = new TH1F("hPreClADC","Cluster ADC of PRE plane;# of clusters;Counts",500,0.,10000.);
h0->Sumw2();
Add2ESDsList(h0, 0, !expert, image) ;
TH1F *h1 = new TH1F("hCpvClADC","Cluster ADC of CPV plane;# of clusters;Counts",500,0.,10000.);
h1->Sumw2();
Add2ESDsList(h1, 1, !expert, image) ;
TH2I *h2 = new TH2I("hPmdClMult","Cluster Multiplicity: PRE vs. CPVplane;CPV multiplicity;PRE Multiplicity",100,0,1000,100,0,1000);
h2->Sumw2();
Add2ESDsList(h2, 2, !expert, image) ;
ClonePerTrigClass(AliQAv1::kESDS);
}
void AliPMDQADataMakerRec::MakeRaws(AliRawReader* rawReader)
{
TObjArray *pmdddlcont = 0x0;
pmdddlcont = new TObjArray();
AliPMDRawStream stream(rawReader);
AliPMDddldata *pmdddl = 0x0;
Int_t iddl = 1;
Int_t sddl = -1;
Float_t xx = 0., yy = 0.;
Double_t eta;
Int_t etaindex = 0;
Float_t nDdl1[10] = {0,0,0,0,0,0,0,0,0,0};
Float_t nDdl2[10] = {1,1,1,1,1,1,1,1,1,1};
Float_t nDdl3[10] = {0,0,0,0,0,0,0,0,0,0};
Float_t nDdl4[10] = {1,1,1,1,1,1,1,1,1,1};
Float_t nDdl1a[10] = {1,1,1,1,1,1,1,1,1,1};
Float_t nDdl2a[10] = {1,1,1,1,1,1,1,1,1,1};
Float_t nDdl3a[10] = {1,1,1,1,1,1,1,1,1,1};
Float_t nDdl4a[10] = {1,1,1,1,1,1,1,1,1,1};
Float_t nDdl11[10] = {1,1,1,1,1,1,1,1,1,1};
Float_t nDdl22[10] = {1,1,1,1,1,1,1,1,1,1};
Float_t nDdl33[10] = {1,1,1,1,1,1,1,1,1,1};
Float_t nDdl44[10] = {1,1,1,1,1,1,1,1,1,1};
Float_t nddlp = 0;
Float_t nddlc = 0;
AliPMDUtility cc;
while ((iddl = stream.DdlData(pmdddlcont)) >=0)
{
Int_t ientries = pmdddlcont->GetEntries();
if(iddl == 0 || iddl == 1) sddl = iddl;
if(iddl == 4 ) sddl = 2;
if(iddl == 5 ) sddl = 3;
for (Int_t ient = 0; ient < ientries; ient++)
{
pmdddl = (AliPMDddldata*)pmdddlcont->UncheckedAt(ient);
Int_t det = pmdddl->GetDetector();
Int_t smn = pmdddl->GetSMN();
Int_t mcm = pmdddl->GetMCM();
Int_t chno = pmdddl->GetChannel();
Int_t pbus = pmdddl->GetPatchBusId();
Int_t row = pmdddl->GetRow();
Int_t col = pmdddl->GetColumn();
Int_t sig = pmdddl->GetSignal();
if (mcm == 0) continue;
if (det < 0 || det > 1) continue;
if (smn < 0 || smn > 23) continue;
if (row < 0 || row > 47) continue;
if (col < 0 || col > 95) continue;
Int_t rc = pbus*1000 + mcm*64 + chno;
if(sddl == 0) FillRawsData(0,rc);
else if(sddl == 1) FillRawsData(1,rc);
else if(sddl == 2) FillRawsData(2,rc);
else if(sddl == 3) FillRawsData(3,rc);
cc.GetEtaIndexXY(smn,row,col,xx,yy,eta,etaindex);
if(etaindex >= 0 && etaindex <10) {
if(sddl == 0) {
nDdl1a[etaindex] += 1;
nDdl1[etaindex] += sig;
if(sig >40) {
nDdl11[etaindex] += 1;
nddlp += 1;
}
}
else if(sddl == 1) {
nDdl2a[etaindex] += 1;
nDdl2[etaindex] += sig;
if(sig >40) {
nDdl22[etaindex] += 1;
nddlp += 1;
}
}
else if(sddl == 2) {
nDdl3a[etaindex] += 1;
nDdl3[etaindex] += sig;
if(sig >40) {
nDdl33[etaindex] += 1;
nddlc += 1;
}
}
else if(sddl == 3) {
nDdl4a[etaindex] += 1;
nDdl4[etaindex] += sig;
if(sig >40) {
nDdl44[etaindex] += 1;
nddlc += 1;
}
}
}
if (det == 0) FillRawsData(4,xx,yy);
else if (det == 1) FillRawsData(5,xx,yy);
}
pmdddlcont->Delete();
}
delete pmdddlcont;
pmdddlcont = 0x0;
if(nddlp != 0) FillRawsData(8,nddlp);
if(nddlc != 0) FillRawsData(9,nddlc);
ResetRawsData(6);
ResetRawsData(7);
for (Int_t i = 0; i < 10; i++) {
Float_t prerC = nDdl11[i]/nDdl22[i];
Float_t cpvrC = nDdl33[i]/nDdl44[i];
Float_t prera =(nDdl1[i]/nDdl1a[i])/(nDdl2[i]/nDdl2a[i]);
Float_t cpvra =(nDdl3[i]/nDdl3a[i])/(nDdl4[i]/nDdl4a[i]);
FillRawsData(6,i+2,prera);
FillRawsData(6,i+14,cpvra);
FillRawsData(7,i+2,prerC);
FillRawsData(7,i+14,cpvrC);
}
IncEvCountCycleRaws();
IncEvCountTotalRaws();
}
void AliPMDQADataMakerRec::MakeDigits()
{
Int_t cpvmul = 0, premul = 0;
TIter next(fDigitsArray) ;
AliPMDdigit * digit ;
while ( (digit = dynamic_cast<AliPMDdigit *>(next())) )
{
if(digit->GetDetector() == 0)
{
FillDigitsData(0, digit->GetADC()) ;
premul++;
}
if(digit->GetDetector() == 1)
{
FillDigitsData(1, digit->GetADC());
cpvmul++;
}
}
if (premul > 0) FillDigitsData(2,premul);
if (cpvmul > 0) FillDigitsData(3,cpvmul);
}
void AliPMDQADataMakerRec::MakeDigits(TTree * digitTree)
{
if (fDigitsArray)
fDigitsArray->Clear() ;
else
fDigitsArray = new TClonesArray("AliPMDdigit", 1000) ;
TBranch * branch = digitTree->GetBranch("PMDDigit") ;
if ( ! branch ) {AliWarning("PMD branch in Digit Tree not found"); return;}
branch->SetAddress(&fDigitsArray) ;
for (Int_t ient = 0; ient < branch->GetEntries(); ient++) {
branch->GetEntry(ient) ;
MakeDigits() ;
}
IncEvCountCycleDigits();
IncEvCountTotalDigits();
}
void AliPMDQADataMakerRec::MakeRecPoints(TTree * clustersTree)
{
Int_t multDdl0 = 0, multDdl1 = 0, multDdl2 = 0;
Int_t multDdl3 = 0, multDdl4 = 0, multDdl5 = 0;
AliPMDrecpoint1 * recpoint;
if (fRecPointsArray)
fRecPointsArray->Clear() ;
else
fRecPointsArray = new TClonesArray("AliPMDrecpoint1", 1000) ;
TBranch * branch = clustersTree->GetBranch("PMDRecpoint") ;
if ( ! branch )
{
AliWarning("PMD branch in Recpoints Tree not found") ;
}
else
{
branch->SetAddress(&fRecPointsArray) ;
for (Int_t imod = 0; imod < branch->GetEntries(); imod++)
{
branch->GetEntry(imod) ;
TIter next(fRecPointsArray) ;
while ( (recpoint = dynamic_cast<AliPMDrecpoint1 *>(next())) )
{
if(recpoint->GetDetector() == 0)
{
if(recpoint->GetSMNumber() >= 0 && recpoint->GetSMNumber() < 6)
{
FillRecPointsData(0,recpoint->GetClusCells());
multDdl0++;
}
if(recpoint->GetSMNumber() >= 6 && recpoint->GetSMNumber() < 12)
{
FillRecPointsData(1,recpoint->GetClusCells());
multDdl1++;
}
if(recpoint->GetSMNumber() >= 12 && recpoint->GetSMNumber() < 18)
{
FillRecPointsData(2,recpoint->GetClusCells());
multDdl2++;
}
if(recpoint->GetSMNumber() >= 18 && recpoint->GetSMNumber() < 24)
{
FillRecPointsData(3,recpoint->GetClusCells());
multDdl3++;
}
}
if(recpoint->GetDetector() == 1)
{
if((recpoint->GetSMNumber() >= 0 && recpoint->GetSMNumber() < 6) ||
(recpoint->GetSMNumber() >= 18 && recpoint->GetSMNumber() < 24))
{
FillRecPointsData(4,recpoint->GetClusCells());
multDdl4++;
}
if(recpoint->GetSMNumber() >= 6 && recpoint->GetSMNumber() < 18 )
{
FillRecPointsData(5,recpoint->GetClusCells());
multDdl5++;
}
}
}
}
}
FillRecPointsData(6,multDdl0,multDdl1);
FillRecPointsData(7,multDdl2,multDdl3);
FillRecPointsData(8,multDdl4,multDdl5);
IncEvCountCycleRecPoints();
IncEvCountTotalRecPoints();
}
void AliPMDQADataMakerRec::MakeESDs(AliESDEvent * esd)
{
Int_t premul = 0, cpvmul = 0;
for (Int_t icl = 0; icl < esd->GetNumberOfPmdTracks(); icl++)
{
AliESDPmdTrack *pmdtr = esd->GetPmdTrack(icl);
Float_t adc = pmdtr->GetClusterADC();
if (pmdtr->GetDetector() == 0)
{
FillESDsData(0,adc);
premul++;
}
if (pmdtr->GetDetector() == 1)
{
FillESDsData(1,adc) ;
cpvmul++;
}
}
FillESDsData(2,cpvmul,premul) ;
IncEvCountCycleESDs();
IncEvCountTotalESDs();
}
void AliPMDQADataMakerRec::StartOfDetectorCycle()
{
}
void AliPMDQADataMakerRec::EndOfDetectorCycle(AliQAv1::TASKINDEX_t task, TObjArray ** list)
{
AliQAChecker::Instance()->Run(AliQAv1::kPMD, task, list) ;
}
AliPMDQADataMakerRec.cxx:1 AliPMDQADataMakerRec.cxx:2 AliPMDQADataMakerRec.cxx:3 AliPMDQADataMakerRec.cxx:4 AliPMDQADataMakerRec.cxx:5 AliPMDQADataMakerRec.cxx:6 AliPMDQADataMakerRec.cxx:7 AliPMDQADataMakerRec.cxx:8 AliPMDQADataMakerRec.cxx:9 AliPMDQADataMakerRec.cxx:10 AliPMDQADataMakerRec.cxx:11 AliPMDQADataMakerRec.cxx:12 AliPMDQADataMakerRec.cxx:13 AliPMDQADataMakerRec.cxx:14 AliPMDQADataMakerRec.cxx:15 AliPMDQADataMakerRec.cxx:16 AliPMDQADataMakerRec.cxx:17 AliPMDQADataMakerRec.cxx:18 AliPMDQADataMakerRec.cxx:19 AliPMDQADataMakerRec.cxx:20 AliPMDQADataMakerRec.cxx:21 AliPMDQADataMakerRec.cxx:22 AliPMDQADataMakerRec.cxx:23 AliPMDQADataMakerRec.cxx:24 AliPMDQADataMakerRec.cxx:25 AliPMDQADataMakerRec.cxx:26 AliPMDQADataMakerRec.cxx:27 AliPMDQADataMakerRec.cxx:28 AliPMDQADataMakerRec.cxx:29 AliPMDQADataMakerRec.cxx:30 AliPMDQADataMakerRec.cxx:31 AliPMDQADataMakerRec.cxx:32 AliPMDQADataMakerRec.cxx:33 AliPMDQADataMakerRec.cxx:34 AliPMDQADataMakerRec.cxx:35 AliPMDQADataMakerRec.cxx:36 AliPMDQADataMakerRec.cxx:37 AliPMDQADataMakerRec.cxx:38 AliPMDQADataMakerRec.cxx:39 AliPMDQADataMakerRec.cxx:40 AliPMDQADataMakerRec.cxx:41 AliPMDQADataMakerRec.cxx:42 AliPMDQADataMakerRec.cxx:43 AliPMDQADataMakerRec.cxx:44 AliPMDQADataMakerRec.cxx:45 AliPMDQADataMakerRec.cxx:46 AliPMDQADataMakerRec.cxx:47 AliPMDQADataMakerRec.cxx:48 AliPMDQADataMakerRec.cxx:49 AliPMDQADataMakerRec.cxx:50 AliPMDQADataMakerRec.cxx:51 AliPMDQADataMakerRec.cxx:52 AliPMDQADataMakerRec.cxx:53 AliPMDQADataMakerRec.cxx:54 AliPMDQADataMakerRec.cxx:55 AliPMDQADataMakerRec.cxx:56 AliPMDQADataMakerRec.cxx:57 AliPMDQADataMakerRec.cxx:58 AliPMDQADataMakerRec.cxx:59 AliPMDQADataMakerRec.cxx:60 AliPMDQADataMakerRec.cxx:61 AliPMDQADataMakerRec.cxx:62 AliPMDQADataMakerRec.cxx:63 AliPMDQADataMakerRec.cxx:64 AliPMDQADataMakerRec.cxx:65 AliPMDQADataMakerRec.cxx:66 AliPMDQADataMakerRec.cxx:67 AliPMDQADataMakerRec.cxx:68 AliPMDQADataMakerRec.cxx:69 AliPMDQADataMakerRec.cxx:70 AliPMDQADataMakerRec.cxx:71 AliPMDQADataMakerRec.cxx:72 AliPMDQADataMakerRec.cxx:73 AliPMDQADataMakerRec.cxx:74 AliPMDQADataMakerRec.cxx:75 AliPMDQADataMakerRec.cxx:76 AliPMDQADataMakerRec.cxx:77 AliPMDQADataMakerRec.cxx:78 AliPMDQADataMakerRec.cxx:79 AliPMDQADataMakerRec.cxx:80 AliPMDQADataMakerRec.cxx:81 AliPMDQADataMakerRec.cxx:82 AliPMDQADataMakerRec.cxx:83 AliPMDQADataMakerRec.cxx:84 AliPMDQADataMakerRec.cxx:85 AliPMDQADataMakerRec.cxx:86 AliPMDQADataMakerRec.cxx:87 AliPMDQADataMakerRec.cxx:88 AliPMDQADataMakerRec.cxx:89 AliPMDQADataMakerRec.cxx:90 AliPMDQADataMakerRec.cxx:91 AliPMDQADataMakerRec.cxx:92 AliPMDQADataMakerRec.cxx:93 AliPMDQADataMakerRec.cxx:94 AliPMDQADataMakerRec.cxx:95 AliPMDQADataMakerRec.cxx:96 AliPMDQADataMakerRec.cxx:97 AliPMDQADataMakerRec.cxx:98 AliPMDQADataMakerRec.cxx:99 AliPMDQADataMakerRec.cxx:100 AliPMDQADataMakerRec.cxx:101 AliPMDQADataMakerRec.cxx:102 AliPMDQADataMakerRec.cxx:103 AliPMDQADataMakerRec.cxx:104 AliPMDQADataMakerRec.cxx:105 AliPMDQADataMakerRec.cxx:106 AliPMDQADataMakerRec.cxx:107 AliPMDQADataMakerRec.cxx:108 AliPMDQADataMakerRec.cxx:109 AliPMDQADataMakerRec.cxx:110 AliPMDQADataMakerRec.cxx:111 AliPMDQADataMakerRec.cxx:112 AliPMDQADataMakerRec.cxx:113 AliPMDQADataMakerRec.cxx:114 AliPMDQADataMakerRec.cxx:115 AliPMDQADataMakerRec.cxx:116 AliPMDQADataMakerRec.cxx:117 AliPMDQADataMakerRec.cxx:118 AliPMDQADataMakerRec.cxx:119 AliPMDQADataMakerRec.cxx:120 AliPMDQADataMakerRec.cxx:121 AliPMDQADataMakerRec.cxx:122 AliPMDQADataMakerRec.cxx:123 AliPMDQADataMakerRec.cxx:124 AliPMDQADataMakerRec.cxx:125 AliPMDQADataMakerRec.cxx:126 AliPMDQADataMakerRec.cxx:127 AliPMDQADataMakerRec.cxx:128 AliPMDQADataMakerRec.cxx:129 AliPMDQADataMakerRec.cxx:130 AliPMDQADataMakerRec.cxx:131 AliPMDQADataMakerRec.cxx:132 AliPMDQADataMakerRec.cxx:133 AliPMDQADataMakerRec.cxx:134 AliPMDQADataMakerRec.cxx:135 AliPMDQADataMakerRec.cxx:136 AliPMDQADataMakerRec.cxx:137 AliPMDQADataMakerRec.cxx:138 AliPMDQADataMakerRec.cxx:139 AliPMDQADataMakerRec.cxx:140 AliPMDQADataMakerRec.cxx:141 AliPMDQADataMakerRec.cxx:142 AliPMDQADataMakerRec.cxx:143 AliPMDQADataMakerRec.cxx:144 AliPMDQADataMakerRec.cxx:145 AliPMDQADataMakerRec.cxx:146 AliPMDQADataMakerRec.cxx:147 AliPMDQADataMakerRec.cxx:148 AliPMDQADataMakerRec.cxx:149 AliPMDQADataMakerRec.cxx:150 AliPMDQADataMakerRec.cxx:151 AliPMDQADataMakerRec.cxx:152 AliPMDQADataMakerRec.cxx:153 AliPMDQADataMakerRec.cxx:154 AliPMDQADataMakerRec.cxx:155 AliPMDQADataMakerRec.cxx:156 AliPMDQADataMakerRec.cxx:157 AliPMDQADataMakerRec.cxx:158 AliPMDQADataMakerRec.cxx:159 AliPMDQADataMakerRec.cxx:160 AliPMDQADataMakerRec.cxx:161 AliPMDQADataMakerRec.cxx:162 AliPMDQADataMakerRec.cxx:163 AliPMDQADataMakerRec.cxx:164 AliPMDQADataMakerRec.cxx:165 AliPMDQADataMakerRec.cxx:166 AliPMDQADataMakerRec.cxx:167 AliPMDQADataMakerRec.cxx:168 AliPMDQADataMakerRec.cxx:169 AliPMDQADataMakerRec.cxx:170 AliPMDQADataMakerRec.cxx:171 AliPMDQADataMakerRec.cxx:172 AliPMDQADataMakerRec.cxx:173 AliPMDQADataMakerRec.cxx:174 AliPMDQADataMakerRec.cxx:175 AliPMDQADataMakerRec.cxx:176 AliPMDQADataMakerRec.cxx:177 AliPMDQADataMakerRec.cxx:178 AliPMDQADataMakerRec.cxx:179 AliPMDQADataMakerRec.cxx:180 AliPMDQADataMakerRec.cxx:181 AliPMDQADataMakerRec.cxx:182 AliPMDQADataMakerRec.cxx:183 AliPMDQADataMakerRec.cxx:184 AliPMDQADataMakerRec.cxx:185 AliPMDQADataMakerRec.cxx:186 AliPMDQADataMakerRec.cxx:187 AliPMDQADataMakerRec.cxx:188 AliPMDQADataMakerRec.cxx:189 AliPMDQADataMakerRec.cxx:190 AliPMDQADataMakerRec.cxx:191 AliPMDQADataMakerRec.cxx:192 AliPMDQADataMakerRec.cxx:193 AliPMDQADataMakerRec.cxx:194 AliPMDQADataMakerRec.cxx:195 AliPMDQADataMakerRec.cxx:196 AliPMDQADataMakerRec.cxx:197 AliPMDQADataMakerRec.cxx:198 AliPMDQADataMakerRec.cxx:199 AliPMDQADataMakerRec.cxx:200 AliPMDQADataMakerRec.cxx:201 AliPMDQADataMakerRec.cxx:202 AliPMDQADataMakerRec.cxx:203 AliPMDQADataMakerRec.cxx:204 AliPMDQADataMakerRec.cxx:205 AliPMDQADataMakerRec.cxx:206 AliPMDQADataMakerRec.cxx:207 AliPMDQADataMakerRec.cxx:208 AliPMDQADataMakerRec.cxx:209 AliPMDQADataMakerRec.cxx:210 AliPMDQADataMakerRec.cxx:211 AliPMDQADataMakerRec.cxx:212 AliPMDQADataMakerRec.cxx:213 AliPMDQADataMakerRec.cxx:214 AliPMDQADataMakerRec.cxx:215 AliPMDQADataMakerRec.cxx:216 AliPMDQADataMakerRec.cxx:217 AliPMDQADataMakerRec.cxx:218 AliPMDQADataMakerRec.cxx:219 AliPMDQADataMakerRec.cxx:220 AliPMDQADataMakerRec.cxx:221 AliPMDQADataMakerRec.cxx:222 AliPMDQADataMakerRec.cxx:223 AliPMDQADataMakerRec.cxx:224 AliPMDQADataMakerRec.cxx:225 AliPMDQADataMakerRec.cxx:226 AliPMDQADataMakerRec.cxx:227 AliPMDQADataMakerRec.cxx:228 AliPMDQADataMakerRec.cxx:229 AliPMDQADataMakerRec.cxx:230 AliPMDQADataMakerRec.cxx:231 AliPMDQADataMakerRec.cxx:232 AliPMDQADataMakerRec.cxx:233 AliPMDQADataMakerRec.cxx:234 AliPMDQADataMakerRec.cxx:235 AliPMDQADataMakerRec.cxx:236 AliPMDQADataMakerRec.cxx:237 AliPMDQADataMakerRec.cxx:238 AliPMDQADataMakerRec.cxx:239 AliPMDQADataMakerRec.cxx:240 AliPMDQADataMakerRec.cxx:241 AliPMDQADataMakerRec.cxx:242 AliPMDQADataMakerRec.cxx:243 AliPMDQADataMakerRec.cxx:244 AliPMDQADataMakerRec.cxx:245 AliPMDQADataMakerRec.cxx:246 AliPMDQADataMakerRec.cxx:247 AliPMDQADataMakerRec.cxx:248 AliPMDQADataMakerRec.cxx:249 AliPMDQADataMakerRec.cxx:250 AliPMDQADataMakerRec.cxx:251 AliPMDQADataMakerRec.cxx:252 AliPMDQADataMakerRec.cxx:253 AliPMDQADataMakerRec.cxx:254 AliPMDQADataMakerRec.cxx:255 AliPMDQADataMakerRec.cxx:256 AliPMDQADataMakerRec.cxx:257 AliPMDQADataMakerRec.cxx:258 AliPMDQADataMakerRec.cxx:259 AliPMDQADataMakerRec.cxx:260 AliPMDQADataMakerRec.cxx:261 AliPMDQADataMakerRec.cxx:262 AliPMDQADataMakerRec.cxx:263 AliPMDQADataMakerRec.cxx:264 AliPMDQADataMakerRec.cxx:265 AliPMDQADataMakerRec.cxx:266 AliPMDQADataMakerRec.cxx:267 AliPMDQADataMakerRec.cxx:268 AliPMDQADataMakerRec.cxx:269 AliPMDQADataMakerRec.cxx:270 AliPMDQADataMakerRec.cxx:271 AliPMDQADataMakerRec.cxx:272 AliPMDQADataMakerRec.cxx:273 AliPMDQADataMakerRec.cxx:274 AliPMDQADataMakerRec.cxx:275 AliPMDQADataMakerRec.cxx:276 AliPMDQADataMakerRec.cxx:277 AliPMDQADataMakerRec.cxx:278 AliPMDQADataMakerRec.cxx:279 AliPMDQADataMakerRec.cxx:280 AliPMDQADataMakerRec.cxx:281 AliPMDQADataMakerRec.cxx:282 AliPMDQADataMakerRec.cxx:283 AliPMDQADataMakerRec.cxx:284 AliPMDQADataMakerRec.cxx:285 AliPMDQADataMakerRec.cxx:286 AliPMDQADataMakerRec.cxx:287 AliPMDQADataMakerRec.cxx:288 AliPMDQADataMakerRec.cxx:289 AliPMDQADataMakerRec.cxx:290 AliPMDQADataMakerRec.cxx:291 AliPMDQADataMakerRec.cxx:292 AliPMDQADataMakerRec.cxx:293 AliPMDQADataMakerRec.cxx:294 AliPMDQADataMakerRec.cxx:295 AliPMDQADataMakerRec.cxx:296 AliPMDQADataMakerRec.cxx:297 AliPMDQADataMakerRec.cxx:298 AliPMDQADataMakerRec.cxx:299 AliPMDQADataMakerRec.cxx:300 AliPMDQADataMakerRec.cxx:301 AliPMDQADataMakerRec.cxx:302 AliPMDQADataMakerRec.cxx:303 AliPMDQADataMakerRec.cxx:304 AliPMDQADataMakerRec.cxx:305 AliPMDQADataMakerRec.cxx:306 AliPMDQADataMakerRec.cxx:307 AliPMDQADataMakerRec.cxx:308 AliPMDQADataMakerRec.cxx:309 AliPMDQADataMakerRec.cxx:310 AliPMDQADataMakerRec.cxx:311 AliPMDQADataMakerRec.cxx:312 AliPMDQADataMakerRec.cxx:313 AliPMDQADataMakerRec.cxx:314 AliPMDQADataMakerRec.cxx:315 AliPMDQADataMakerRec.cxx:316 AliPMDQADataMakerRec.cxx:317 AliPMDQADataMakerRec.cxx:318 AliPMDQADataMakerRec.cxx:319 AliPMDQADataMakerRec.cxx:320 AliPMDQADataMakerRec.cxx:321 AliPMDQADataMakerRec.cxx:322 AliPMDQADataMakerRec.cxx:323 AliPMDQADataMakerRec.cxx:324 AliPMDQADataMakerRec.cxx:325 AliPMDQADataMakerRec.cxx:326 AliPMDQADataMakerRec.cxx:327 AliPMDQADataMakerRec.cxx:328 AliPMDQADataMakerRec.cxx:329 AliPMDQADataMakerRec.cxx:330 AliPMDQADataMakerRec.cxx:331 AliPMDQADataMakerRec.cxx:332 AliPMDQADataMakerRec.cxx:333 AliPMDQADataMakerRec.cxx:334 AliPMDQADataMakerRec.cxx:335 AliPMDQADataMakerRec.cxx:336 AliPMDQADataMakerRec.cxx:337 AliPMDQADataMakerRec.cxx:338 AliPMDQADataMakerRec.cxx:339 AliPMDQADataMakerRec.cxx:340 AliPMDQADataMakerRec.cxx:341 AliPMDQADataMakerRec.cxx:342 AliPMDQADataMakerRec.cxx:343 AliPMDQADataMakerRec.cxx:344 AliPMDQADataMakerRec.cxx:345 AliPMDQADataMakerRec.cxx:346 AliPMDQADataMakerRec.cxx:347 AliPMDQADataMakerRec.cxx:348 AliPMDQADataMakerRec.cxx:349 AliPMDQADataMakerRec.cxx:350 AliPMDQADataMakerRec.cxx:351 AliPMDQADataMakerRec.cxx:352 AliPMDQADataMakerRec.cxx:353 AliPMDQADataMakerRec.cxx:354 AliPMDQADataMakerRec.cxx:355 AliPMDQADataMakerRec.cxx:356 AliPMDQADataMakerRec.cxx:357 AliPMDQADataMakerRec.cxx:358 AliPMDQADataMakerRec.cxx:359 AliPMDQADataMakerRec.cxx:360 AliPMDQADataMakerRec.cxx:361 AliPMDQADataMakerRec.cxx:362 AliPMDQADataMakerRec.cxx:363 AliPMDQADataMakerRec.cxx:364 AliPMDQADataMakerRec.cxx:365 AliPMDQADataMakerRec.cxx:366 AliPMDQADataMakerRec.cxx:367 AliPMDQADataMakerRec.cxx:368 AliPMDQADataMakerRec.cxx:369 AliPMDQADataMakerRec.cxx:370 AliPMDQADataMakerRec.cxx:371 AliPMDQADataMakerRec.cxx:372 AliPMDQADataMakerRec.cxx:373 AliPMDQADataMakerRec.cxx:374 AliPMDQADataMakerRec.cxx:375 AliPMDQADataMakerRec.cxx:376 AliPMDQADataMakerRec.cxx:377 AliPMDQADataMakerRec.cxx:378 AliPMDQADataMakerRec.cxx:379 AliPMDQADataMakerRec.cxx:380 AliPMDQADataMakerRec.cxx:381 AliPMDQADataMakerRec.cxx:382 AliPMDQADataMakerRec.cxx:383 AliPMDQADataMakerRec.cxx:384 AliPMDQADataMakerRec.cxx:385 AliPMDQADataMakerRec.cxx:386 AliPMDQADataMakerRec.cxx:387 AliPMDQADataMakerRec.cxx:388 AliPMDQADataMakerRec.cxx:389 AliPMDQADataMakerRec.cxx:390 AliPMDQADataMakerRec.cxx:391 AliPMDQADataMakerRec.cxx:392 AliPMDQADataMakerRec.cxx:393 AliPMDQADataMakerRec.cxx:394 AliPMDQADataMakerRec.cxx:395 AliPMDQADataMakerRec.cxx:396 AliPMDQADataMakerRec.cxx:397 AliPMDQADataMakerRec.cxx:398 AliPMDQADataMakerRec.cxx:399 AliPMDQADataMakerRec.cxx:400 AliPMDQADataMakerRec.cxx:401 AliPMDQADataMakerRec.cxx:402 AliPMDQADataMakerRec.cxx:403 AliPMDQADataMakerRec.cxx:404 AliPMDQADataMakerRec.cxx:405 AliPMDQADataMakerRec.cxx:406 AliPMDQADataMakerRec.cxx:407 AliPMDQADataMakerRec.cxx:408 AliPMDQADataMakerRec.cxx:409 AliPMDQADataMakerRec.cxx:410 AliPMDQADataMakerRec.cxx:411 AliPMDQADataMakerRec.cxx:412 AliPMDQADataMakerRec.cxx:413 AliPMDQADataMakerRec.cxx:414 AliPMDQADataMakerRec.cxx:415 AliPMDQADataMakerRec.cxx:416 AliPMDQADataMakerRec.cxx:417 AliPMDQADataMakerRec.cxx:418 AliPMDQADataMakerRec.cxx:419 AliPMDQADataMakerRec.cxx:420 AliPMDQADataMakerRec.cxx:421 AliPMDQADataMakerRec.cxx:422 AliPMDQADataMakerRec.cxx:423 AliPMDQADataMakerRec.cxx:424 AliPMDQADataMakerRec.cxx:425 AliPMDQADataMakerRec.cxx:426 AliPMDQADataMakerRec.cxx:427 AliPMDQADataMakerRec.cxx:428 AliPMDQADataMakerRec.cxx:429 AliPMDQADataMakerRec.cxx:430 AliPMDQADataMakerRec.cxx:431 AliPMDQADataMakerRec.cxx:432 AliPMDQADataMakerRec.cxx:433 AliPMDQADataMakerRec.cxx:434 AliPMDQADataMakerRec.cxx:435 AliPMDQADataMakerRec.cxx:436 AliPMDQADataMakerRec.cxx:437 AliPMDQADataMakerRec.cxx:438 AliPMDQADataMakerRec.cxx:439 AliPMDQADataMakerRec.cxx:440 AliPMDQADataMakerRec.cxx:441 AliPMDQADataMakerRec.cxx:442 AliPMDQADataMakerRec.cxx:443 AliPMDQADataMakerRec.cxx:444 AliPMDQADataMakerRec.cxx:445 AliPMDQADataMakerRec.cxx:446 AliPMDQADataMakerRec.cxx:447 AliPMDQADataMakerRec.cxx:448 AliPMDQADataMakerRec.cxx:449 AliPMDQADataMakerRec.cxx:450 AliPMDQADataMakerRec.cxx:451 AliPMDQADataMakerRec.cxx:452 AliPMDQADataMakerRec.cxx:453 AliPMDQADataMakerRec.cxx:454 AliPMDQADataMakerRec.cxx:455 AliPMDQADataMakerRec.cxx:456 AliPMDQADataMakerRec.cxx:457 AliPMDQADataMakerRec.cxx:458 AliPMDQADataMakerRec.cxx:459 AliPMDQADataMakerRec.cxx:460 AliPMDQADataMakerRec.cxx:461 AliPMDQADataMakerRec.cxx:462 AliPMDQADataMakerRec.cxx:463 AliPMDQADataMakerRec.cxx:464 AliPMDQADataMakerRec.cxx:465 AliPMDQADataMakerRec.cxx:466 AliPMDQADataMakerRec.cxx:467 AliPMDQADataMakerRec.cxx:468 AliPMDQADataMakerRec.cxx:469 AliPMDQADataMakerRec.cxx:470 AliPMDQADataMakerRec.cxx:471 AliPMDQADataMakerRec.cxx:472 AliPMDQADataMakerRec.cxx:473 AliPMDQADataMakerRec.cxx:474 AliPMDQADataMakerRec.cxx:475 AliPMDQADataMakerRec.cxx:476 AliPMDQADataMakerRec.cxx:477 AliPMDQADataMakerRec.cxx:478 AliPMDQADataMakerRec.cxx:479 AliPMDQADataMakerRec.cxx:480 AliPMDQADataMakerRec.cxx:481 AliPMDQADataMakerRec.cxx:482 AliPMDQADataMakerRec.cxx:483 AliPMDQADataMakerRec.cxx:484 AliPMDQADataMakerRec.cxx:485 AliPMDQADataMakerRec.cxx:486 AliPMDQADataMakerRec.cxx:487 AliPMDQADataMakerRec.cxx:488 AliPMDQADataMakerRec.cxx:489 AliPMDQADataMakerRec.cxx:490 AliPMDQADataMakerRec.cxx:491 AliPMDQADataMakerRec.cxx:492 AliPMDQADataMakerRec.cxx:493 AliPMDQADataMakerRec.cxx:494 AliPMDQADataMakerRec.cxx:495 AliPMDQADataMakerRec.cxx:496 AliPMDQADataMakerRec.cxx:497 AliPMDQADataMakerRec.cxx:498 AliPMDQADataMakerRec.cxx:499 AliPMDQADataMakerRec.cxx:500 AliPMDQADataMakerRec.cxx:501 AliPMDQADataMakerRec.cxx:502 AliPMDQADataMakerRec.cxx:503 AliPMDQADataMakerRec.cxx:504 AliPMDQADataMakerRec.cxx:505 AliPMDQADataMakerRec.cxx:506 AliPMDQADataMakerRec.cxx:507 AliPMDQADataMakerRec.cxx:508 AliPMDQADataMakerRec.cxx:509 AliPMDQADataMakerRec.cxx:510 AliPMDQADataMakerRec.cxx:511 AliPMDQADataMakerRec.cxx:512 AliPMDQADataMakerRec.cxx:513 AliPMDQADataMakerRec.cxx:514 AliPMDQADataMakerRec.cxx:515 AliPMDQADataMakerRec.cxx:516 AliPMDQADataMakerRec.cxx:517 AliPMDQADataMakerRec.cxx:518 AliPMDQADataMakerRec.cxx:519 AliPMDQADataMakerRec.cxx:520 AliPMDQADataMakerRec.cxx:521 AliPMDQADataMakerRec.cxx:522 AliPMDQADataMakerRec.cxx:523 AliPMDQADataMakerRec.cxx:524 AliPMDQADataMakerRec.cxx:525 AliPMDQADataMakerRec.cxx:526 AliPMDQADataMakerRec.cxx:527 AliPMDQADataMakerRec.cxx:528 AliPMDQADataMakerRec.cxx:529 AliPMDQADataMakerRec.cxx:530 AliPMDQADataMakerRec.cxx:531 AliPMDQADataMakerRec.cxx:532 AliPMDQADataMakerRec.cxx:533 AliPMDQADataMakerRec.cxx:534 AliPMDQADataMakerRec.cxx:535 AliPMDQADataMakerRec.cxx:536 AliPMDQADataMakerRec.cxx:537 AliPMDQADataMakerRec.cxx:538 AliPMDQADataMakerRec.cxx:539 AliPMDQADataMakerRec.cxx:540 AliPMDQADataMakerRec.cxx:541 AliPMDQADataMakerRec.cxx:542 AliPMDQADataMakerRec.cxx:543 AliPMDQADataMakerRec.cxx:544 AliPMDQADataMakerRec.cxx:545 AliPMDQADataMakerRec.cxx:546 AliPMDQADataMakerRec.cxx:547 AliPMDQADataMakerRec.cxx:548 AliPMDQADataMakerRec.cxx:549 AliPMDQADataMakerRec.cxx:550 AliPMDQADataMakerRec.cxx:551 AliPMDQADataMakerRec.cxx:552 AliPMDQADataMakerRec.cxx:553 AliPMDQADataMakerRec.cxx:554 AliPMDQADataMakerRec.cxx:555 AliPMDQADataMakerRec.cxx:556 AliPMDQADataMakerRec.cxx:557 AliPMDQADataMakerRec.cxx:558 AliPMDQADataMakerRec.cxx:559 AliPMDQADataMakerRec.cxx:560 AliPMDQADataMakerRec.cxx:561 AliPMDQADataMakerRec.cxx:562 AliPMDQADataMakerRec.cxx:563 AliPMDQADataMakerRec.cxx:564 AliPMDQADataMakerRec.cxx:565 AliPMDQADataMakerRec.cxx:566 AliPMDQADataMakerRec.cxx:567 AliPMDQADataMakerRec.cxx:568 AliPMDQADataMakerRec.cxx:569 AliPMDQADataMakerRec.cxx:570 AliPMDQADataMakerRec.cxx:571 AliPMDQADataMakerRec.cxx:572 AliPMDQADataMakerRec.cxx:573 AliPMDQADataMakerRec.cxx:574 AliPMDQADataMakerRec.cxx:575 AliPMDQADataMakerRec.cxx:576 AliPMDQADataMakerRec.cxx:577 AliPMDQADataMakerRec.cxx:578 AliPMDQADataMakerRec.cxx:579 AliPMDQADataMakerRec.cxx:580 AliPMDQADataMakerRec.cxx:581 AliPMDQADataMakerRec.cxx:582 AliPMDQADataMakerRec.cxx:583 AliPMDQADataMakerRec.cxx:584 AliPMDQADataMakerRec.cxx:585 AliPMDQADataMakerRec.cxx:586 AliPMDQADataMakerRec.cxx:587 AliPMDQADataMakerRec.cxx:588 AliPMDQADataMakerRec.cxx:589 AliPMDQADataMakerRec.cxx:590 AliPMDQADataMakerRec.cxx:591 AliPMDQADataMakerRec.cxx:592 AliPMDQADataMakerRec.cxx:593 AliPMDQADataMakerRec.cxx:594 AliPMDQADataMakerRec.cxx:595 AliPMDQADataMakerRec.cxx:596 AliPMDQADataMakerRec.cxx:597 AliPMDQADataMakerRec.cxx:598 AliPMDQADataMakerRec.cxx:599 AliPMDQADataMakerRec.cxx:600 AliPMDQADataMakerRec.cxx:601 AliPMDQADataMakerRec.cxx:602 AliPMDQADataMakerRec.cxx:603