#include "TH1.h"
#include <TH1D.h>
#include <TH2.h>
#include "TCanvas.h"
#include "TPaveText.h"
#include "TPad.h"
#include "AliITSQADataMakerRec.h"
#include "AliITSQASDDChecker.h"
#include "AliLog.h"
#include "AliCDBEntry.h"
#include "AliCDBManager.h"
#include "AliITSCalibrationSDD.h"
#include "AliITSgeomTGeo.h"
#include "AliQAManager.h"
#include "AliQAv1.h"
#include "AliQAChecker.h"
#include "AliQACheckerBase.h"
ClassImp(AliITSQASDDChecker)
AliITSQASDDChecker::AliITSQASDDChecker():
fSubDetOffset(0),
fStepBitSDD(NULL),
fLowSDDValue(NULL),
fHighSDDValue(NULL),
fCalibration(NULL),
fThresholdForRelativeOccupancy(0.01),
fThresholdForRecToRawRatio(0.04),
fImage(NULL),
fESforCheck(0)
{
fStepBitSDD=new Double_t[AliQAv1::kNBIT];
fLowSDDValue=new Float_t[AliQAv1::kNBIT];
fHighSDDValue=new Float_t[AliQAv1::kNBIT];
for(Int_t ibit=0;ibit<AliQAv1::kNBIT;ibit++)
{
fStepBitSDD[ibit]=0.;
fLowSDDValue[ibit]=0.;
fHighSDDValue[ibit]=0.;
}
for(Int_t i=0;i<AliRecoParam::kNSpecies;i++) fPaveText[i] = NULL;
}
AliITSQASDDChecker::~AliITSQASDDChecker()
{
if(fStepBitSDD)
{
delete[] fStepBitSDD ;
fStepBitSDD = NULL;
}
if(fLowSDDValue)
{
delete[]fLowSDDValue;
fLowSDDValue=NULL;
}
if(fHighSDDValue)
{
delete[]fHighSDDValue;
fHighSDDValue=NULL;
}
if(fCalibration)
{
delete fCalibration;
fCalibration=NULL;
}
if(fImage)
{
delete []fImage;
fImage=NULL;
}
for(Int_t i=0;i<AliRecoParam::kNSpecies;i++) {
if(fPaveText[i])
{
delete fPaveText[i];
fPaveText[i]=NULL;
}
}
}
Double_t AliITSQASDDChecker::Check(AliQAv1::ALITASK_t index, const TObjArray * list, const AliDetectorRecoParam * )
{
AliInfo(Form("AliITSQASDDChecker called with offset: %d \t and specie %d\n", fSubDetOffset,fESforCheck));
AliDebug(1,Form("AliITSQASDDChecker called with offset: %d\n", fSubDetOffset));
Double_t sddQACheckerValue = 0.;
TH1 *hdata=NULL;
Double_t entries=0.;
Double_t entries2[2];
for(Int_t i=0;i<2;i++)entries2[i]=0.;
if(!fCalibration){
AliCDBEntry *calibSDD = AliCDBManager::Instance()->Get("ITS/Calib/CalibSDD");
Bool_t cacheStatus = AliCDBManager::Instance()->GetCacheFlag();
if(!calibSDD)
{
AliError("Calibration object retrieval failed! SDD will not be processed");
fCalibration = NULL;
sddQACheckerValue= fHighSDDValue[AliQAv1::kWARNING];
}
else{
fCalibration = (TObjArray *)calibSDD->GetObject();
if(!cacheStatus)calibSDD->SetObject(NULL);
calibSDD->SetOwner(kTRUE);
if(!cacheStatus)
{
delete calibSDD;
}
}
}
AliInfo("Calib SDD Created\n ");
TIter next(list);
TString results1;
TString results2;
Int_t color=kBlack;
Int_t textcolor=kBlack;
switch(index) {
case AliQAv1::kRAW:{
AliInfo(Form("Check on %s\n",AliQAv1::GetAliTaskName(index)));
if (list->GetEntries() == 0){AliError("Raw List for SDD is empty \n");sddQACheckerValue += fHighSDDValue[AliQAv1::kFATAL]; break;}
TH1 *hmodule=NULL;
TH2 *hlayer[2];
hdata=NULL;
for(Int_t i=0;i<2;i++)hlayer[i]=NULL;
Int_t emptymodules[2], filledmodules[2],emptyladders[2],filledladders[2],emptydriftregion[2], filleddriftregion[2], excludedmoduleperlayer[2], excludeddrperlayer[2], activemoduleperlayer[2],activedrperlayer[2],exactivemoduleperlayer[2],exactivedrperlayer[2];
Int_t excluded=0;
Int_t excludeddriftregion=0;
Int_t active=0;
Int_t activedriftregion=0;
Int_t exactive=0;
Int_t exactivedriftregion=0;
Int_t empty=0;
Int_t filled=0;
Int_t emptydr=0;
Int_t filleddr=0;
Int_t emptyactivemoduleperlayer[2];
Int_t emptyactivedrperlayer[2];
Int_t emptysum=0;
Int_t emptydiff=0;
Int_t emptydrsum=0;
Int_t emptydrdiff=0;
for(Int_t i=0;i<2;i++)
{
emptymodules[i]=0;
filledmodules[i]=0;
emptyladders[i]=0;
filledladders[i]=0;
emptydriftregion[i]=0;
filleddriftregion[i]=0;
excludedmoduleperlayer[i]=0;
excludeddrperlayer[i]=0;
activemoduleperlayer[i]=0;
activedrperlayer[i]=0;
exactivemoduleperlayer[i]=0;
exactivedrperlayer[i]=0;
emptyactivemoduleperlayer[i]=0;
emptyactivedrperlayer[i]=0;
}
Int_t neventsraw=0;
while( (hdata = dynamic_cast<TH1* >(next())) ){
if (hdata){
TString hname=hdata->GetName();
if(hname.Contains("SDDRawDataCheck"))
{
neventsraw=(Int_t)hdata->GetBinContent(1);
}
else continue;
}
}
next.Begin();
while( (hdata = dynamic_cast<TH1* >(next())) ){
if (hdata){
TString hname=hdata->GetName();
if(hname.Contains("SDDchargeMap"))continue;
if(hname.Contains("SDDDDLPattern"))continue;
if(hname.Contains("SDDEventSize"))continue;
if(hname.Contains("_RelativeOccupancy"))continue;
if(hname.Contains("SDDModPattern")){
if(hname.Contains("NORM")) continue;
hmodule=(TH1*)hdata->Clone();
entries= hdata->GetEntries();
if(AliITSQADataMakerRec::AreEqual(entries,0.)){AliWarning(Form("===================>>>>>> No entries in %s \n",hname.Data()));sddQACheckerValue += fStepBitSDD[AliQAv1::kFATAL];}
else{
int modmax=hdata->GetNbinsX();
Double_t content=0;
Int_t llay=0;
for(Int_t i=1;i<=modmax;i++)
{
if(i<85)llay=0;
else llay=1;
content=hdata->GetBinContent(i);
if(AliITSQADataMakerRec::AreEqual(content,0.))
{
empty++;
emptymodules[llay]++;
}
else
{
filled++;
filledmodules[llay]++;
}
}
AliInfo(Form(" %s : empty modules %i \t filled modules %i",hname.Data(), empty, filled));
AliInfo(Form(" %s : Layer 3 empty modules %i \t filled modules %i",hname.Data(), emptymodules[0], filledmodules[0]));
AliInfo(Form(" %s : Layer 4 empty modules %i \t filled modules %i",hname.Data(), emptymodules[1], filledmodules[1]));
}
}
if(hname.Contains("_RelativeOccupancy")) {
Float_t threshold = hdata->GetMean() + 4*hdata->GetRMS();
if(hname.Contains("L3")) AliInfo(Form("SDD check number 1: L3 mean: %f, rms: ,%f",hdata->GetMean(),hdata->GetRMS()));
if(hname.Contains("L4")) AliInfo(Form("SDD check number 2: L4 mean: %f, rms: ,%f",hdata->GetMean(),hdata->GetRMS()));
Int_t aboveThreshold = 0;
for(Int_t k=0; k<= hdata->GetNbinsX(); k++) {if(hdata->GetBinLowEdge(k) > threshold) aboveThreshold += (int)(hdata->GetBinContent(k));}
Float_t fractionAboveThreshold=0.;
if(hdata->GetEntries()>0.)fractionAboveThreshold=((Float_t) aboveThreshold)/hdata->GetEntries();
if(hname.Contains("L3")) AliInfo(Form("SDD check number 1, L3: Raw fractionAboveThreshold: %f",fractionAboveThreshold));
if(hname.Contains("L4")) AliInfo(Form("SDD check number 2, L4: Raw fractionAboveThreshold: %f",fractionAboveThreshold));
if(fractionAboveThreshold > fThresholdForRelativeOccupancy) {sddQACheckerValue=fHighSDDValue[AliQAv1::kWARNING];
if(hname.Contains("L3")) AliInfo(Form("SDD check number 1: Set Warning (L3 Raw)"));
if(hname.Contains("L4")) AliInfo(Form("SDD check number 2: Set Warning (L4 Raw)")); } }
if(hname.Contains("SDDphizL3") || hname.Contains("SDDphizL4")){if(hname.Contains("NORM"))continue;
Int_t layer=0;
if(hname.Contains("3"))layer=0;
else if(hname.Contains("4"))layer=1;
entries2[layer]=hdata->GetEntries();
if(entries2[layer]==0){AliWarning(Form("===================>>>>>> No entries in %s \n",hname.Data()));
sddQACheckerValue += fStepBitSDD[AliQAv1::kFATAL];}
else{
Int_t layer1=0;
if(hname.Contains("3"))layer1=0;
else if(hname.Contains("4"))layer1=1;
TH2* htemp=dynamic_cast<TH2*>(hdata);
if(htemp){
hlayer[layer1]=(TH2*)htemp->Clone();
hlayer[layer1]->SetName(Form("%s_copy",hname.Data()));
int modmay=hlayer[layer1]->GetNbinsY();
TH1D* hproj= hlayer[layer1]->ProjectionY();
Double_t ladcontent=0;
for(Int_t i=1;i<=modmay;i++) {
ladcontent=hproj->GetBinContent(i);
if(AliITSQADataMakerRec::AreEqual(ladcontent,0.)) emptyladders[layer1]++;
else filledladders[layer1]++;}
AliInfo(Form(" %s : empty ladders %i \t filled ladders %i\n",hname.Data(), emptyladders[layer1], filledladders[layer1]));
delete hproj;
hproj=NULL;
}
}
}
}
}
for(Int_t ii=0;ii<2;ii++)
{
filledmodules[ii]=0;
emptymodules[ii]=0;
}
filled=0;
empty=0;
if(AliITSQADataMakerRec::AreEqual(entries,0.)&& AliITSQADataMakerRec::AreEqual(entries2[0],0.)&& AliITSQADataMakerRec::AreEqual(entries2[1],0.)) break;
if(hmodule || (hlayer[0] && hlayer[1])){
for(Int_t imod=0;imod<fgknSDDmodules;imod++){
Int_t lay=0;
Int_t lad=0;
Int_t det=0;
Int_t module=0;
module=imod+fgkmodoffset;
AliITSCalibrationSDD * cal=(AliITSCalibrationSDD*)fCalibration->At(imod);
if(cal==0) { continue;}
AliITSgeomTGeo::GetModuleId(module,lay,lad,det);
if (cal->IsBad()){
excluded++;
excludedmoduleperlayer[lay-3]++;
Double_t content=0.;
if(hmodule)content=hmodule->GetBinContent(imod+1);
if(AliITSQADataMakerRec::AreEqual(content,0.)== kFALSE) {
filledmodules[lay-3]++;
filled++;
AliError(Form("The module %d (layer %i, ladder %i det %i ) excluded from the acquisition, took data \n ",module,lay,lad,det));
exactive++;
exactivemoduleperlayer[lay-3]++;
} else if(AliITSQADataMakerRec::AreEqual(content,0.))
{
emptymodules[lay-3]++;
empty++;
}
} else {
Int_t totside=0;
Int_t totactiveside=0;
Double_t contentgood=0.;
for(Int_t i=0;i<2;i++){
if(hlayer[lay-3]) contentgood=hlayer[lay-3]->GetBinContent(2*det+i-1,lad);
if(cal->IsWingBad(i))
{
excludeddriftregion++;
excludeddrperlayer[lay-3]++;
if(AliITSQADataMakerRec::AreEqual(contentgood,0.)==kFALSE){
AliError(Form("The side %d of the module %d (layer %i, ladder %i det %i ) excluded from the acquisition, took data \n ",i,module,lay,lad,det));
exactivedriftregion++;
exactivedrperlayer[lay-3]++;
filleddr++;
filleddriftregion[lay-3]++;
}
}
else{
if(AliITSQADataMakerRec::AreEqual(contentgood,0.)==kTRUE)
{
AliWarning(Form("The side %d of the module %d (layer %i, ladder %i det %i ) is in acquisition, but it didn't take data\n ",i,module, lay, lad, det));
}
else
{
totside++;
}
totactiveside++;
}
}
if(totside==0){
AliWarning(Form("The module %d (layer %i, ladder %i det %i ) is in acquisition, but it didn't take data\n ",module, lay, lad, det));
emptymodules[lay-3]++;
empty++;
}
else
if(totside==2){
filledmodules[lay-3]++;
filled++;
}
else
if(totside==1)
{
emptydriftregion[lay-3]++;
emptydr++;
filleddr++;
filleddriftregion[lay-3]++;
}
if(totactiveside==1)
{
activedriftregion++;
activedrperlayer[lay-3]++;
}else if(totactiveside==2)
{
active++;
activemoduleperlayer[lay-3]++;
}
}
}
AliInfo(Form("In total %d modules and %d single drift regions took data.\n ",filled, filleddr));
AliInfo(Form("In total %d modules and %d single drift regions were empty\n",empty, emptydr));
for(Int_t i=0;i<2;i++)
{
AliInfo(Form("Layer %i \tempty modules %i \t filled modules %i\n", i+3,emptymodules[i], filledmodules[i]));
AliInfo(Form("Layer %i \tempty single drift regions %i \t filled single drift regions %i\n",i+3,emptydriftregion[i], filleddriftregion[i]));
}
emptysum=emptymodules[0]+emptymodules[1];
emptydiff=emptysum-excluded;
emptyactivemoduleperlayer[0]=emptymodules[0]- excludedmoduleperlayer[0];
emptyactivemoduleperlayer[1]=emptymodules[1]- excludedmoduleperlayer[1];
emptydrsum=emptydriftregion[0]+emptydriftregion[1];
emptydrdiff=emptydrsum-excludeddriftregion;
emptyactivedrperlayer[0]=emptydriftregion[0]- excludeddrperlayer[0];
emptyactivedrperlayer[1]=emptydriftregion[1]- excludeddrperlayer[1];
Int_t numlimit=1000;
if(emptysum>excluded||emptydrsum>excludeddriftregion){
AliWarning(Form(" %i good module(s) and %i good single drift regions didn't take data! \n",emptydiff,emptydrdiff));
AliWarning(Form(" Layer 3: %i good module(s) and %i good single drift regions didn't take data! \n",emptyactivemoduleperlayer[0] ,emptyactivedrperlayer[0] ));
AliWarning(Form(" Layer 4: %i good module(s) and %i good single drift regions didn't take data! \n",emptyactivemoduleperlayer[1] ,emptyactivedrperlayer[1] ));
if(AliRecoParam::ConvertIndex(GetEventSpecieForCheck())!=AliRecoParam::kCosmic){
results1.Form("%i good module(s) and %i good drift regions didn't take data!",emptydiff,emptydrdiff);
if(neventsraw<numlimit) {
results2.Form(" Events %d .Too few events.DO NOT CALL the Expert ",neventsraw);
color=kYellow;
textcolor=kBlack;
sddQACheckerValue=fHighSDDValue[AliQAv1::kWARNING];
} else {
results2.Form(" Events %d. If PHYSICS, follow the TWiki instruction and call the Expert ",neventsraw);
color=kRed;
textcolor=kWhite;
sddQACheckerValue=fHighSDDValue[AliQAv1::kERROR];
}
}
else
if(AliRecoParam::ConvertIndex(GetEventSpecieForCheck())==AliRecoParam::kCosmic)
{
numlimit=10000;
if(neventsraw<numlimit)
{
AliWarning(Form("This is a cosmic run. Some module and drift region are empty but all is OK. "));
results1.Form("OK. This is a cosmic run. you need a lot of events. Events %i",neventsraw);
results2.Form("%i good module(s) and %i good drift are empty! DO NOT CALL THE EXPERT",emptydiff,emptydrdiff);
color=kYellow;
textcolor=kBlack;
sddQACheckerValue=fHighSDDValue[AliQAv1::kWARNING];
}
else
{
results1.Form("%i good module(s) and %i good drift region(s) have no data!",emptydiff,emptydrdiff);
results2.Form(" Cosmic Events %d .Follow the TWiki instruction and call the Expert ",neventsraw);
color=kRed;
textcolor=kWhite;
sddQACheckerValue=fHighSDDValue[AliQAv1::kERROR];
}
}
}
if(exactive==0 && emptydiff==0 && exactivedriftregion==0 && emptydrdiff==0){
AliInfo(Form("All the active modules (%i) and single drift regions (%i) are in acquisition. The number of excluded modules are %i and the excluded single drift regions are %i\n",active,activedriftregion,excluded,excludeddriftregion));
results1.Form("OK.");
results2.Form(" All active modules and drift regions in acquisition");
color=kGreen;
textcolor=kBlack;
sddQACheckerValue=fHighSDDValue[AliQAv1::kINFO];
}
if(exactive!=0||exactivedriftregion!=0){
AliError(Form("%i modules and %i single drift regions excluded from the acquisition took data. Active modules%i single drift region %i \n ",exactive,exactivedriftregion,active,activedriftregion));
AliError(Form("Layer 3: %i modules and %i single drift regions excluded from the acquisition took data. Active modules%i single drift region %i \n ",exactivemoduleperlayer[0],exactivedrperlayer[0],activemoduleperlayer[0],activedrperlayer[0]));
AliError(Form("Layer 3: %i modules and %i single drift regions excluded from the acquisition took data. Active modules%i single drift region %i \n ",exactivemoduleperlayer[1],exactivedrperlayer[1],activemoduleperlayer[1],activedrperlayer[1]));
results1.Form("%i modules and %i drift region excluded from the acquisition took data",exactive,exactivedriftregion);
results2.Form("Follow the TWiki instructions and Call the SDD expert ");
color=kRed;
textcolor=kWhite;
sddQACheckerValue=fHighSDDValue[AliQAv1::kERROR];
}
if(excluded==exactive||excludeddriftregion==exactivedriftregion){
AliError(Form("All the modules (%d) or single drift regions (%d) excluded from the acquisition took data!\n Active modules %i \t Active drfift regions %i\n",excluded,excludeddriftregion,active,activedriftregion));
results1.Form("All the modules (%d) or drift regions (%d) excluded from the acquisition took data!",excluded,excludeddriftregion );
results2.Form("Follow the TWiki instructions and Call the SDD expert ");
color=kRed;
textcolor=kWhite;
sddQACheckerValue=fHighSDDValue[AliQAv1::kFATAL];
}
if(active==0||activedriftregion==0){
AliError(Form("No modules or single drift regions took data: excluded %i \t excluded active %i \n\t\t excluded single drift regions %i \t excluded active drift regions %i \n", excluded, exactive, excludeddriftregion, exactivedriftregion));
results1.Form("No modules or drift region took data: excluded modules %i excluded drift regions %i ", excluded, excludeddriftregion );
results2.Form("Follow the TWiki instructions and Call the SDD expert ");
color=kRed;
textcolor=kWhite;
sddQACheckerValue=fHighSDDValue[AliQAv1::kFATAL];
}
next.Begin();
while( (hdata=dynamic_cast<TH1* >(next())) ) {
if (hdata){
TString hname=hdata->GetName();
if(hname.Contains("SDDphizL3") || hname.Contains("SDDphizL4")){
if(hname.Contains("NORM"))continue;
TPaveText *ptext = ((TPaveText *)hdata->GetListOfFunctions()->FindObject("TPave"));
if(ptext) {
ptext->Clear();
ptext->AddText(results1.Data());
ptext->AddText(results2.Data());
ptext->SetFillColor(color);
ptext->SetTextColor(textcolor);
}
} else if(hname.Contains("SDDRawDataCheck")) {
((TH1F*)hdata)->SetBinContent(5,active);
((TH1F*)hdata)->SetBinContent(6,filled);
((TH1F*)hdata)->SetBinContent(7,activedriftregion);
((TH1F*)hdata)->SetBinContent(8,filleddr);
((TH1F*)hdata)->SetBinContent(9,excluded);
((TH1F*)hdata)->SetBinContent(10,empty);
((TH1F*)hdata)->SetBinContent(11,excludeddriftregion);
((TH1F*)hdata)->SetBinContent(12,emptydr);
((TH1F*)hdata)->SetBinContent(13,exactive);
((TH1F*)hdata)->SetBinContent(14,emptydiff);
((TH1F*)hdata)->SetBinContent(15,exactivedriftregion);
((TH1F*)hdata)->SetBinContent(16,emptydrdiff);
((TH1F*)hdata)->SetBinContent(19,activemoduleperlayer[0]);
((TH1F*)hdata)->SetBinContent(20,filledmodules[0]);
((TH1F*)hdata)->SetBinContent(21,activedrperlayer[0]);
((TH1F*)hdata)->SetBinContent(22,filleddriftregion[0]);
((TH1F*)hdata)->SetBinContent(23,excludedmoduleperlayer[0]);
((TH1F*)hdata)->SetBinContent(24,emptymodules[0]);
((TH1F*)hdata)->SetBinContent(25,excludeddrperlayer[0]);
((TH1F*)hdata)->SetBinContent(26,emptydriftregion[0]);
((TH1F*)hdata)->SetBinContent(27,exactivemoduleperlayer[0]);
((TH1F*)hdata)->SetBinContent(28,emptyactivemoduleperlayer[0]);
((TH1F*)hdata)->SetBinContent(29,exactivedrperlayer[0]);
((TH1F*)hdata)->SetBinContent(30,emptyactivedrperlayer[0]);
((TH1F*)hdata)->SetBinContent(33,activemoduleperlayer[1]);
((TH1F*)hdata)->SetBinContent(34,filledmodules[1]);
((TH1F*)hdata)->SetBinContent(35,activedrperlayer[1]);
((TH1F*)hdata)->SetBinContent(36,filleddriftregion[1]);
((TH1F*)hdata)->SetBinContent(37,excludedmoduleperlayer[1]);
((TH1F*)hdata)->SetBinContent(38,emptymodules[1]);
((TH1F*)hdata)->SetBinContent(39,excludeddrperlayer[1]);
((TH1F*)hdata)->SetBinContent(40,emptydriftregion[1]);
((TH1F*)hdata)->SetBinContent(41,exactivemoduleperlayer[1]);
((TH1F*)hdata)->SetBinContent(42,emptyactivemoduleperlayer[1]);
((TH1F*)hdata)->SetBinContent(43,exactivedrperlayer[1]);
((TH1F*)hdata)->SetBinContent(44,emptyactivedrperlayer[1]);
}
}
}
}
delete hmodule;
hmodule=NULL;
for(Int_t i=0;i<2;i++) {
delete hlayer[i];
hlayer[i]=NULL;
}
}
break;
case AliQAv1::kNULLTASK:{
AliInfo(Form("No Check on %s\n",AliQAv1::GetAliTaskName(index)));
sddQACheckerValue=1.;
}
break;
case AliQAv1::kREC:
{
Int_t uidrec=list->GetUniqueID();
AliInfo(Form("Check on %s\n",AliQAv1::GetAliTaskName(index)));
if(uidrec==20){
if (list->GetEntries() == 0){
sddQACheckerValue=fHighSDDValue[AliQAv1::kFATAL];
}
TH1 *hmodule=NULL;
TH2 *hlayer[2];
hdata=NULL;
for(Int_t i=0;i<2;i++)hlayer[i]=NULL;
Int_t emptymodules[2], filledmodules[2],emptyladders[2],filledladders[2],emptydriftregion[2], filleddriftregion[2], excludedmoduleperlayer[2], excludeddrperlayer[2], activemoduleperlayer[2],activedrperlayer[2],exactivemoduleperlayer[2],exactivedrperlayer[2];
Int_t excluded=0;
Int_t excludeddriftregion=0;
Int_t active=0;
Int_t activedriftregion=0;
Int_t exactive=0;
Int_t exactivedriftregion=0;
Int_t empty=0;
Int_t filled=0;
Int_t emptydr=0;
Int_t filleddr=0;
Int_t emptyactivemoduleperlayer[2];
Int_t emptyactivedrperlayer[2];
Int_t emptysum=0;
Int_t emptydiff=0;
Int_t emptydrsum=0;
Int_t emptydrdiff=0;
for(Int_t i=0;i<2;i++)
{
emptymodules[i]=0;
filledmodules[i]=0;
emptyladders[i]=0;
filledladders[i]=0;
emptydriftregion[i]=0;
filleddriftregion[i]=0;
excludedmoduleperlayer[i]=0;
excludeddrperlayer[i]=0;
activemoduleperlayer[i]=0;
activedrperlayer[i]=0;
exactivemoduleperlayer[i]=0;
exactivedrperlayer[i]=0;
emptyactivemoduleperlayer[i]=0;
emptyactivedrperlayer[i]=0;
}
Int_t neventsrecpoints=0;
while( (hdata = dynamic_cast<TH1* >(next())) ){
if (hdata){
TString hname=hdata->GetName();
if(hname.Contains("SDDRecPointCheck"))
{
neventsrecpoints=(Int_t)hdata->GetBinContent(1);
}
else{continue;}
}
}
next.Begin();
while((hdata=dynamic_cast<TH1* >(next()))){
if (hdata){
TString hname=hdata->GetName();
if(hname.Contains("_RelativeOccupancy")) {
Float_t threshold = hdata->GetMean() + 4*hdata->GetRMS();
if(hname.Contains("L3")) AliInfo(Form("SDD check number 3: L3 mean: %f, rms: ,%f",hdata->GetMean(),hdata->GetRMS()));
if(hname.Contains("L4")) AliInfo(Form("SDD check number 4: L4 mean: %f, rms: ,%f",hdata->GetMean(),hdata->GetRMS()));
Int_t aboveThreshold = 0;
for(Int_t k=0; k<= ((Int_t)hdata->GetNbinsX()); k++) {
if(hdata->GetBinLowEdge(k) > threshold) aboveThreshold += (Int_t)(hdata->GetBinContent(k));
}
Float_t fractionAboveThreshold=0.;
if(hdata->GetEntries()>0.) fractionAboveThreshold = ((Float_t) aboveThreshold)/hdata->GetEntries();
if(hname.Contains("L3")) AliInfo(Form("SDD check number 3, L3: RecPoints fractionAboveThreshold: %f",fractionAboveThreshold));
if(hname.Contains("L4")) AliInfo(Form("SDD check number 4, L4: RecPoints fractionAboveThreshold: %f",fractionAboveThreshold));
if(fractionAboveThreshold > fThresholdForRelativeOccupancy) {
sddQACheckerValue=fHighSDDValue[AliQAv1::kWARNING];
if(hname.Contains("L3")) AliInfo(Form("SDD check number 3: Set Warning (L3 RecPoints)"));
if(hname.Contains("L4")) AliInfo(Form("SDD check number 4: Set Warning (L4 RecPoints)"));
}
}
if(hname.Contains("Rec2Raw") && !hname.Contains("2D")) {
if(hname.Contains("L3")) AliInfo(Form("SDD check number 5: L3 R2R mean: %f, rms: ,%f",((TH1F *) hdata)->GetMean(),((TH1F *) hdata)->GetRMS()));
if(hname.Contains("L4")) AliInfo(Form("SDD check number 6: L4 R2R mean: %f, rms: ,%f",((TH1F *) hdata)->GetMean(),((TH1F *) hdata)->GetRMS()));
Int_t belowThreshold = 0;
for(Int_t k=0; k<=((TH1F *)hdata)->GetNbinsX(); k++) {
if(((TH1F *) hdata)->GetBinLowEdge(k) < fThresholdForRecToRawRatio) belowThreshold += ((Int_t)((TH1F *) hdata)->GetBinContent(k));
}
Double_t fractionBelowThreshold =0.;
Double_t entries3=((TH1F *)hdata)->GetEntries();
if(entries3>0.001)fractionBelowThreshold = ((Double_t)(belowThreshold))/entries3;
else{ AliWarning(Form("No entries on %s. The check will retuns zero.\n",hdata->GetName() )); }
if(hname.Contains("L3")) AliInfo(Form("SDD check number 5, L3: RecPoints2Raws fractionBelowThreshold: %f",fractionBelowThreshold));
if(hname.Contains("L4")) AliInfo(Form("SDD check number 6, L4: RecPoints2Raws fractionBelowThreshold: %f",fractionBelowThreshold));
if(fractionBelowThreshold > fThresholdForRelativeOccupancy) {
sddQACheckerValue=fHighSDDValue[AliQAv1::kWARNING];
if(hname.Contains("L3")) AliInfo(Form("SDD check number 5: Set Warning (L3 RecPoints2Raws)"));
if(hname.Contains("L4")) AliInfo(Form("SDD check number 6: Set Warning (L4 RecPoints2Raws)"));
}
}
if(hname.Contains("dedx")) {
if(hname.Contains("L3")) AliInfo(Form("SDD check number 7: L3 average charge: %f, rms: ,%f",hdata->GetMean(),hdata->GetRMS()));
if(hname.Contains("L4")) AliInfo(Form("SDD check number 8: L4 average charge: %f, rms: ,%f",hdata->GetMean(),hdata->GetRMS()));
}
if(hname.Contains("SDDModPatternRP")){
if(hname.Contains("NORM")) continue;
hmodule=(TH1*)hdata->Clone();
entries= hdata->GetEntries();
if(AliITSQADataMakerRec::AreEqual(entries,0.)){AliWarning(Form("===================>>>>>> No entries in %s \n",hname.Data()));sddQACheckerValue += fStepBitSDD[AliQAv1::kFATAL];}
else{
int modmax=hdata->GetNbinsX();
Double_t content=0;
Int_t llay=0;
for(Int_t i=1;i<=modmax;i++)
{
if(i<85)llay=0;
else llay=1;
content=hdata->GetBinContent(i);
if(AliITSQADataMakerRec::AreEqual(content,0.))
{
empty++;
emptymodules[llay]++;
}
else
{
filled++;
filledmodules[llay]++;
}
}
AliInfo(Form(" %s : empty modules %i \t filled modules %i",hname.Data(), empty, filled));
AliInfo(Form(" %s : Layer 3 empty modules %i \t filled modules %i",hname.Data(), emptymodules[0], filledmodules[0]));
AliInfo(Form(" %s : Layer 4 empty modules %i \t filled modules %i",hname.Data(), emptymodules[1], filledmodules[1]));
}
}
if(hname.Contains("SDDModPatternL3RP") || hname.Contains("SDDModPatternL4RP")){if(hname.Contains("NORM"))continue;
Int_t layer=0;
if(hname.Contains("3"))layer=0;
else if(hname.Contains("4"))layer=1;
entries2[layer]=hdata->GetEntries();
if(entries2[layer]==0){AliWarning(Form("===================>>>>>> No entries in %s \n",hname.Data()));
sddQACheckerValue += fStepBitSDD[AliQAv1::kFATAL];}
else{
Int_t layer1=0;
if(hname.Contains("3"))layer1=0;
else if(hname.Contains("4"))layer1=1;
TH2* htemp=dynamic_cast<TH2*>(hdata);
if(htemp){
hlayer[layer1]=(TH2*)htemp->Clone();
hlayer[layer1]->SetName(Form("%s_copy",hname.Data()));
int modmay=hlayer[layer1]->GetNbinsY();
TH1D* hproj= hlayer[layer1]->ProjectionY();
Double_t ladcontent=0;
for(Int_t i=1;i<=modmay;i++) {
ladcontent=hproj->GetBinContent(i);
if(AliITSQADataMakerRec::AreEqual(ladcontent,0.)) emptyladders[layer1]++;
else filledladders[layer1]++;}
AliInfo(Form(" %s : empty ladders %i \t filled ladders %i\n",hname.Data(), emptyladders[layer1], filledladders[layer1]));
delete hproj;
hproj=NULL;
}
}
}
}
}
for(Int_t ii=0;ii<2;ii++)
{
filledmodules[ii]=0;
emptymodules[ii]=0;
}
filled=0;
empty=0;
if(AliITSQADataMakerRec::AreEqual(entries,0.)&& AliITSQADataMakerRec::AreEqual(entries2[0],0.)&& AliITSQADataMakerRec::AreEqual(entries2[1],0.)) break;
if(hmodule || (hlayer[0] && hlayer[1])){
for(Int_t imod=0;imod<fgknSDDmodules;imod++){
Int_t lay=0;
Int_t lad=0;
Int_t det=0;
Int_t module=0;
module=imod+fgkmodoffset;
AliITSCalibrationSDD * cal=(AliITSCalibrationSDD*)fCalibration->At(imod);
if(cal==0) { continue;}
AliITSgeomTGeo::GetModuleId(module,lay,lad,det);
if (cal->IsBad()){
excluded++;
excludedmoduleperlayer[lay-3]++;
Double_t content=0.;
if(hmodule)content=hmodule->GetBinContent(imod+1);
if(AliITSQADataMakerRec::AreEqual(content,0.)== kFALSE) {
filledmodules[lay-3]++;
filled++;
AliError(Form("The module %d (layer %i, ladder %i det %i ) excluded from the acquisition,has recpoints \n ",module,lay,lad,det));
exactive++;
exactivemoduleperlayer[lay-3]++;
} else if(AliITSQADataMakerRec::AreEqual(content,0.))
{
emptymodules[lay-3]++;
empty++;
}
} else {
Int_t totside=0;
Int_t totactiveside=0;
Double_t contentgood=0.;
for(Int_t i=0;i<2;i++){
if(hlayer[lay-3]) contentgood=hlayer[lay-3]->GetBinContent(2*det+i-1,lad);
if(cal->IsWingBad(i))
{
excludeddriftregion++;
excludeddrperlayer[lay-3]++;
if(AliITSQADataMakerRec::AreEqual(contentgood,0.)==kFALSE){
AliError(Form("The side %d of the module %d (layer %i, ladder %i det %i ) excluded from the acquisition, has recpoints \n ",i,module,lay,lad,det));
exactivedriftregion++;
exactivedrperlayer[lay-3]++;
filleddr++;
filleddriftregion[lay-3]++;
}
}
else{
if(AliITSQADataMakerRec::AreEqual(contentgood,0.)==kTRUE)
{
AliWarning(Form("The side %d of the module %d (layer %i, ladder %i det %i ) is in acquisition, but no recpoints are present\n ",i,module, lay, lad, det));
}
else
{
totside++;
}
totactiveside++;
}
}
if(totside==0){
AliWarning(Form("The module %d (layer %i, ladder %i det %i ) is in acquisition, but no recpoints are present \n ",module, lay, lad, det));
emptymodules[lay-3]++;
empty++;
}
else
if(totside==2){
filledmodules[lay-3]++;
filled++;
}
else
if(totside==1)
{
emptydriftregion[lay-3]++;
emptydr++;
filleddr++;
filleddriftregion[lay-3]++;
}
if(totactiveside==1)
{
activedriftregion++;
activedrperlayer[lay-3]++;
}else if(totactiveside==2)
{
active++;
activemoduleperlayer[lay-3]++;
}
}
}
AliInfo(Form("In total %d modules and %d single drift regions have recpoints.\n ",filled, filleddr));
AliInfo(Form("In total %d modules and %d single drift regions are empty\n",empty, emptydr));
for(Int_t i=0;i<2;i++)
{
AliInfo(Form("Layer %i \tempty modules %i \t filled modules %i\n", i+3,emptymodules[i], filledmodules[i]));
AliInfo(Form("Layer %i \tempty single drift regions %i \t filled single drift regions %i\n",i+3,emptydriftregion[i], filleddriftregion[i]));
}
emptysum=emptymodules[0]+emptymodules[1];
emptydiff=emptysum-excluded;
emptyactivemoduleperlayer[0]=emptymodules[0]- excludedmoduleperlayer[0];
emptyactivemoduleperlayer[1]=emptymodules[1]- excludedmoduleperlayer[1];
emptydrsum=emptydriftregion[0]+emptydriftregion[1];
emptydrdiff=emptydrsum-excludeddriftregion;
emptyactivedrperlayer[0]=emptydriftregion[0]- excludeddrperlayer[0];
emptyactivedrperlayer[1]=emptydriftregion[1]- excludeddrperlayer[1];
Int_t numlimit=1000;
if(emptysum>excluded||emptydrsum>excludeddriftregion){
AliWarning(Form(" %i good module(s) and %i good single drift regions have not recpoints! \n",emptydiff,emptydrdiff));
AliWarning(Form(" Layer 3: %i good module(s) and %i good single drift regions have not recpoints! \n",emptyactivemoduleperlayer[0] ,emptyactivedrperlayer[0] ));
AliWarning(Form(" Layer 4: %i good module(s) and %i good single drift regions have not recpoints! \n",emptyactivemoduleperlayer[1] ,emptyactivedrperlayer[1] ));
Int_t numlimits=1000;
results1.Form("%i good module(s) and %i good drift region(s) have not recpoints!",emptydiff,emptydrdiff);
if(AliRecoParam::ConvertIndex(GetEventSpecieForCheck())!=AliRecoParam::kCosmic){
if(neventsrecpoints<numlimits)
{
results2.Form(" Events %d .Too few events.DO NOT CALL the Expert ",neventsrecpoints);
color=kYellow;
textcolor=kBlack;
sddQACheckerValue=fHighSDDValue[AliQAv1::kWARNING];
}
else
{
results2.Form(" Events %d .If PHYSICS, follow the TWiki instruction and call the Expert ",neventsrecpoints);
color=kRed;
textcolor=kWhite;
sddQACheckerValue=fHighSDDValue[AliQAv1::kERROR];
}
}
else
if(AliRecoParam::ConvertIndex(GetEventSpecieForCheck())==AliRecoParam::kCosmic){
numlimit=10000;
if( neventsrecpoints<numlimit)
{
AliWarning(Form("This is a cosmic run. Some module and drift region are empty but all is OK. "));
results1.Form("OK. Thi is a cosmic run. You need a lot of events. Events %i",neventsrecpoints);
results2.Form("%i good module(s) and %i good drift are empty! DO NOT CALL THE EXPERT",emptydiff,emptydrdiff);
color=kYellow;
textcolor=kBlack;
sddQACheckerValue=fHighSDDValue[AliQAv1::kWARNING];
}
else
{
results1.Form("%i good module(s) and %i good drift region(s) have not recpoints!",emptydiff,emptydrdiff);
results2.Form("Cosmic Events %d .Follow the TWiki instruction and call the Expert ",neventsrecpoints);
color=kRed;
textcolor=kWhite;
sddQACheckerValue=fHighSDDValue[AliQAv1::kERROR];
}
}
}
if(exactive==0 && emptydiff==0 && exactivedriftregion==0 && emptydrdiff==0){
AliInfo(Form("All the active modules (%i) and single drift regions (%i) are in acquisition. The number of excluded modules are %i and the excluded single drift regions are %i\n",active,activedriftregion,excluded,excludeddriftregion));
results1.Form("OK.");
results2.Form(" All active modules have recpoints");
color=kGreen;
textcolor=kBlack;
sddQACheckerValue=fHighSDDValue[AliQAv1::kINFO];
}
if(exactive!=0||exactivedriftregion!=0){
AliError(Form("%i modules and %i single drift regions excluded from the acquisition have recpoints. Active modules %i single drift region %i \n ",exactive,exactivedriftregion,active,activedriftregion));
AliError(Form("Layer 3: %i modules and %i single drift regions excluded from the acquisition have recpoints. Active modules %i single drift region %i \n ",exactivemoduleperlayer[0],exactivedrperlayer[0],activemoduleperlayer[0],activedrperlayer[0]));
AliError(Form("Layer 3: %i modules and %i single drift regions excluded from the acquisition have recpoints. Active modules %i single drift region %i \n ",exactivemoduleperlayer[1],exactivedrperlayer[1],activemoduleperlayer[1],activedrperlayer[1]));
results1.Form("%i modules and %i drift region excluded from the acquisition have recpoints",exactive,exactivedriftregion);
results2.Form("Follow the TWiki instructions and Call the SDD expert ");
color=kRed;
textcolor=kWhite;
sddQACheckerValue=fHighSDDValue[AliQAv1::kERROR];
}
if(excluded==exactive||excludeddriftregion==exactivedriftregion){
AliError(Form("All the modules (%d) or single drift regions (%d) excluded from the acquisition have recpoints!\n Active modules %i \t Active drfift regions %i\n",excluded,excludeddriftregion,active,activedriftregion));
results1.Form("All the modules (%d) or drift regions (%d) excluded from the acquisition have recpoints!",excluded,excludeddriftregion );
results2.Form("Follow the TWiki instructions and Call the SDD expert ");
color=kRed;
textcolor=kWhite;
sddQACheckerValue=fHighSDDValue[AliQAv1::kFATAL];
}
if(active==0||activedriftregion==0){
AliError(Form("No modules or single drift regions have recpoints: excluded %i \t excluded active %i \n\t\t excluded single drift regions %i \t excluded active drift regions %i \n", excluded, exactive, excludeddriftregion, exactivedriftregion));
results1.Form("No modules or drift region have recpoints: excluded modules %i excluded drift regions %i ", excluded, excludeddriftregion );
results2.Form("Follow the TWiki instructions and Call the SDD expert ");
color=kRed;
textcolor=kWhite;
sddQACheckerValue=fHighSDDValue[AliQAv1::kFATAL];
}
next.Begin();
while( (hdata=dynamic_cast<TH1* >(next())) )
{
if (hdata){
TString hname=hdata->GetName();
if(hname.Contains("SDDModPatternL3RP") || hname.Contains("SDDModPatternL4RP")){
if(hname.Contains("NORM"))continue;
TPaveText *ptext = ((TPaveText *)hdata->GetListOfFunctions()->FindObject("TPave"));
if(ptext) {
ptext->Clear();
ptext->AddText(results1.Data());
ptext->AddText(results2.Data());
ptext->SetFillColor(color);
ptext->SetTextColor(textcolor);
}
}
else
if(hname.Contains("SDDRecPointCheck"))
{
((TH1F*)hdata)->SetBinContent(5,active);
((TH1F*)hdata)->SetBinContent(6,filled);
((TH1F*)hdata)->SetBinContent(7,activedriftregion);
((TH1F*)hdata)->SetBinContent(8,filleddr);
((TH1F*)hdata)->SetBinContent(9,excluded);
((TH1F*)hdata)->SetBinContent(10,empty);
((TH1F*)hdata)->SetBinContent(11,excludeddriftregion);
((TH1F*)hdata)->SetBinContent(12,emptydr);
((TH1F*)hdata)->SetBinContent(13,exactive);
((TH1F*)hdata)->SetBinContent(14,emptydiff);
((TH1F*)hdata)->SetBinContent(15,exactivedriftregion);
((TH1F*)hdata)->SetBinContent(16,emptydrdiff);
((TH1F*)hdata)->SetBinContent(19,activemoduleperlayer[0]);
((TH1F*)hdata)->SetBinContent(20,filledmodules[0]);
((TH1F*)hdata)->SetBinContent(21,activedrperlayer[0]);
((TH1F*)hdata)->SetBinContent(22,filleddriftregion[0]);
((TH1F*)hdata)->SetBinContent(23,excludedmoduleperlayer[0]);
((TH1F*)hdata)->SetBinContent(24,emptymodules[0]);
((TH1F*)hdata)->SetBinContent(25,excludeddrperlayer[0]);
((TH1F*)hdata)->SetBinContent(26,emptydriftregion[0]);
((TH1F*)hdata)->SetBinContent(27,exactivemoduleperlayer[0]);
((TH1F*)hdata)->SetBinContent(28,emptyactivemoduleperlayer[0]);
((TH1F*)hdata)->SetBinContent(29,exactivedrperlayer[0]);
((TH1F*)hdata)->SetBinContent(30,emptyactivedrperlayer[0]);
((TH1F*)hdata)->SetBinContent(35,activemoduleperlayer[1]);
((TH1F*)hdata)->SetBinContent(36,filledmodules[1]);
((TH1F*)hdata)->SetBinContent(37,activedrperlayer[1]);
((TH1F*)hdata)->SetBinContent(38,filleddriftregion[1]);
((TH1F*)hdata)->SetBinContent(39,excludedmoduleperlayer[1]);
((TH1F*)hdata)->SetBinContent(40,emptymodules[1]);
((TH1F*)hdata)->SetBinContent(41,excludeddrperlayer[1]);
((TH1F*)hdata)->SetBinContent(42,emptydriftregion[1]);
((TH1F*)hdata)->SetBinContent(43,exactivemoduleperlayer[1]);
((TH1F*)hdata)->SetBinContent(44,emptyactivemoduleperlayer[1]);
((TH1F*)hdata)->SetBinContent(45,exactivedrperlayer[1]);
((TH1F*)hdata)->SetBinContent(46,emptyactivedrperlayer[1]);
}
}
}
}
delete hmodule;
hmodule=NULL;
for(Int_t i=0;i<2;i++) {
delete hlayer[i];
hlayer[i]=NULL;
}
}
if(uidrec==40)
{
if (list->GetEntries() == 0){
sddQACheckerValue=fHighSDDValue[AliQAv1::kFATAL];
break;
} else{
while( (hdata = dynamic_cast<TH1* >(next())) ){
if (hdata){
if(hdata->GetEntries()==0)sddQACheckerValue += fStepBitSDD[AliQAv1::kFATAL];
else {
TString hname=hdata->GetName();
if(hname.Contains("SDD DIGITS Module Pattern")) {
sddQACheckerValue += fStepBitSDD[AliQAv1::kINFO];
} else if(hname.Contains("SDD Anode Distribution")) {
sddQACheckerValue += fStepBitSDD[AliQAv1::kINFO];
} else if(hname.Contains("SDD Tbin Distribution")) {
sddQACheckerValue += fStepBitSDD[AliQAv1::kINFO];
} else if(hname.Contains("SDD ADC Counts Distribution")) {
sddQACheckerValue += fStepBitSDD[AliQAv1::kINFO];
}
}
}
}
}
sddQACheckerValue=1.;
}
}
break;
case AliQAv1::kANA:
{
AliInfo(Form("===================> No Check on %s\n",AliQAv1::GetAliTaskName(index)));
sddQACheckerValue=1.;
}
break;
case AliQAv1::kESD:
{
AliInfo(Form("==================> No Check on %s\n",AliQAv1::GetAliTaskName(index)));
sddQACheckerValue=1.;
}
break;
case AliQAv1::kNTASK:{
AliInfo(Form("==================> No Check on %s\n",AliQAv1::GetAliTaskName(index)));
sddQACheckerValue=1.;
}
break;
case AliQAv1::kSIM:{
AliInfo(Form("Check on %s\n",AliQAv1::GetAliTaskName(index)));
Int_t uid=list->GetUniqueID();
if(uid==60) {
if (list->GetEntries() == 0){
sddQACheckerValue=fHighSDDValue[AliQAv1::kFATAL];
break;
} else{
while( (hdata = dynamic_cast<TH1* >(next())) ){
if (hdata){
if(hdata->GetEntries()==0)sddQACheckerValue += fStepBitSDD[AliQAv1::kFATAL];
else {
TString hname=hdata->GetName();
if(hname.Contains("SDDDIGITSModulePattern")) {
sddQACheckerValue += fStepBitSDD[AliQAv1::kINFO];
} else if(hname.Contains("SDDAnodeDistribution")) {
sddQACheckerValue += fStepBitSDD[AliQAv1::kINFO];
} else if(hname.Contains("SDDTbinDistribution")) {
sddQACheckerValue += fStepBitSDD[AliQAv1::kINFO];
} else if(hname.Contains("SDDADCCountsDistribution")) {
sddQACheckerValue += fStepBitSDD[AliQAv1::kINFO];
}
}
}
}
}
} else if(uid==50)
{
if (list->GetEntries() == 0){
sddQACheckerValue=fHighSDDValue[AliQAv1::kFATAL];
break;
}
else{
while( (hdata = dynamic_cast<TH1* >(next())) ){
if (hdata){
if(hdata->GetEntries()==0)sddQACheckerValue += fStepBitSDD[AliQAv1::kFATAL];
else {
TString hname=hdata->GetName();
if(hname.Contains("SDDHITSModulePattern")) {
sddQACheckerValue += fStepBitSDD[AliQAv1::kINFO];
} else if(hname.Contains("SDDHITlenghtalonglocalYCoord")) {
sddQACheckerValue += fStepBitSDD[AliQAv1::kINFO];
} else if(hname.Contains("SDDHITlenghtalonglocalYCoordZoom")) {
sddQACheckerValue += fStepBitSDD[AliQAv1::kINFO];
} else if(hname.Contains("SDDDepositedEnergyDistribution")) {
sddQACheckerValue += fStepBitSDD[AliQAv1::kINFO];
}
}
}
}
}
} else if(uid==70)
{
if (list->GetEntries() == 0){
sddQACheckerValue=fHighSDDValue[AliQAv1::kFATAL];
break;
} else{
while( (hdata = dynamic_cast<TH1* >(next())) ){
if (hdata){
if(hdata->GetEntries()==0)sddQACheckerValue += fStepBitSDD[AliQAv1::kFATAL];
else {
TString hname=hdata->GetName();
if(hname.Contains("SDDSDIGITSModulePattern")) {
sddQACheckerValue += fStepBitSDD[AliQAv1::kINFO];
} else if(hname.Contains("SDDAnodeDistribution")) {
sddQACheckerValue += fStepBitSDD[AliQAv1::kINFO];
} else if(hname.Contains("SDDTbinDistribution")) {
sddQACheckerValue += fStepBitSDD[AliQAv1::kINFO];
} else if(hname.Contains("SDDADCCountsDistribution")) {
sddQACheckerValue += fStepBitSDD[AliQAv1::kINFO];
}
}
}
}
}
}
sddQACheckerValue=1.;
}
break;
}
fCalibration=NULL;
return sddQACheckerValue;
}
void AliITSQASDDChecker::SetTaskOffset(Int_t taskoffset)
{
fSubDetOffset = taskoffset;
}
void AliITSQASDDChecker::SetStepBit(const Double_t *steprange)
{
for(Int_t bit=0;bit<AliQAv1::kNBIT;bit++)
{
fStepBitSDD[bit]=steprange[bit];
}
}
void AliITSQASDDChecker::SetSDDLimits(const Float_t *lowvalue, const Float_t * highvalue)
{
for(Int_t bit=0;bit<AliQAv1::kNBIT;bit++)
{
fLowSDDValue[bit]=lowvalue[bit];
fHighSDDValue[bit]= highvalue[bit];
}
}
Bool_t AliITSQASDDChecker::MakeSDDImage( TObjArray ** list, AliQAv1::TASKINDEX_t task, AliQAv1::MODE_t mode)
{
Bool_t rval=kFALSE;
fImage=(TCanvas**)AliQAChecker::Instance()->GetDetQAChecker(0)->GetImage();
switch(task)
{
case AliQAv1::kRAWS:{
rval=MakeSDDRawsImage(list, task,mode);
}
break;
case AliQAv1::kRECPOINTS:{ rval=MakeSDDRecPointsImage(list, task,mode); }
break;
case AliQAv1::kHITS:; case AliQAv1::kESDS:; case AliQAv1::kDIGITS:;case AliQAv1::kDIGITSR:;case AliQAv1::kSDIGITS:;case AliQAv1::kTRACKSEGMENTS:;case AliQAv1::kRECPARTICLES:; default:
{
rval=kFALSE;
}
break;
case AliQAv1::kNULLTASKINDEX:; case AliQAv1::kNTASKINDEX:
{
Int_t ts=(Int_t)task;
AliWarning(Form("No histograms for this task number %d \n", ts));
rval=kFALSE;
}
break;
}
return rval;
}
Bool_t AliITSQASDDChecker::MakeSDDRawsImage(TObjArray ** list, AliQAv1::TASKINDEX_t task, AliQAv1::MODE_t mode )
{
for (Int_t esIndex = 0 ; esIndex < AliRecoParam::kNSpecies ; esIndex++) {
if (! AliQAv1::Instance(AliQAv1::GetDetIndex(GetName()))->IsEventSpecieSet(AliRecoParam::ConvertIndex(esIndex)) || list[esIndex]->GetEntries() == 0) {
continue;
} else {
const Char_t * title = Form("QA_%s_%s_%s", GetName(), AliQAv1::GetTaskName(task).Data(), AliRecoParam::GetEventSpecieName(esIndex)) ;
if ( !fImage[esIndex] ) {
fImage[esIndex] = new TCanvas(title, title,1280,980) ;
}
fImage[esIndex]->Clear() ;
fImage[esIndex]->SetTitle(title) ;
fImage[esIndex]->cd();
fPaveText[esIndex] = new TPaveText(0.015, 0.015, 0.98, 0.98);
fPaveText[esIndex]->AddText(title);
fPaveText[esIndex]->Draw();
fImage[esIndex]->Print(Form("%s%s%d.%s", AliQAv1::GetImageFileName(), AliQAv1::GetModeName(mode), AliQAChecker::Instance()->GetRunNumber(), AliQAv1::GetImageFileFormat()), "ps") ;
fImage[esIndex]->Clear() ;
Int_t nx =2;
Int_t ny =3;
fImage[esIndex]->Divide(nx, ny) ;
TIter nexthist(list[esIndex]) ;
Int_t npad = 1 ;
fImage[esIndex]->cd(npad);
fImage[esIndex]->cd(npad)->SetBorderMode(0) ;
Int_t nhist = 0;
while ( 1 ) {
TH1* hist = static_cast<TH1*>(nexthist());
if(hist == NULL) break;
nhist++;
TString hname(hist->GetName());
TString cln(hist->ClassName()) ;
if ( ! cln.Contains("TH") )
continue ;
if(hist->TestBit(AliQAv1::GetImageBit())) {
hist->GetXaxis()->SetTitleSize(0.04);
hist->GetYaxis()->SetTitleSize(0.04);
hist->GetXaxis()->SetLabelSize(0.02);
hist->GetYaxis()->SetLabelSize(0.02);
if(cln.Contains("TH2")) {
gPad->SetRightMargin(0.15);
gPad->SetLeftMargin(0.05);
hist->SetStats(0);
hist->SetOption("colz") ;
}
hist->DrawCopy();
fImage[esIndex]->cd(++npad) ;
fImage[esIndex]->cd(npad)->SetBorderMode(0) ;
}
}
fImage[esIndex]->Print(Form("%s%s%d.%s", AliQAv1::GetImageFileName(), AliQAv1::GetModeName(mode), AliQAChecker::Instance()->GetRunNumber(), AliQAv1::GetImageFileFormat()), "ps") ;
}
}
return kTRUE;
}
Bool_t AliITSQASDDChecker::MakeSDDRecPointsImage(TObjArray ** list, AliQAv1::TASKINDEX_t task, AliQAv1::MODE_t mode )
{
for (Int_t esIndex = 0 ; esIndex < AliRecoParam::kNSpecies ; esIndex++) {
if (! AliQAv1::Instance(AliQAv1::GetDetIndex(GetName()))->IsEventSpecieSet(AliRecoParam::ConvertIndex(esIndex)) || list[esIndex]->GetEntries() == 0)
{
continue;
}
const Char_t * title = Form("QA_%s_%s_%s", GetName(), AliQAv1::GetTaskName(task).Data(), AliRecoParam::GetEventSpecieName(esIndex)) ;
if ( !fImage[esIndex] ) {
fImage[esIndex] = new TCanvas(title, title,1280,980) ;
}
fImage[esIndex]->Clear() ;
fImage[esIndex]->SetTitle(title) ;
fImage[esIndex]->cd();
fImage[esIndex]->SetBorderMode(0) ;
TPaveText someText(0.015, 0.015, 0.98, 0.98);
someText.AddText(title);
someText.Draw();
fImage[esIndex]->Print(Form("%s%s%d.%s", AliQAv1::GetImageFileName(), AliQAv1::GetModeName(mode), AliQAChecker::Instance()->GetRunNumber(), AliQAv1::GetImageFileFormat()), "ps") ;
fImage[esIndex]->Clear() ;
Int_t nx =2;
Int_t ny =6;
fImage[esIndex]->Divide(nx, ny) ;
TIter nexthist(list[esIndex]) ;
TH1* hist = NULL ;
Int_t npad = 1 ;
fImage[esIndex]->cd(npad) ;
fImage[esIndex]->cd(npad)->SetBorderMode(0) ;
while ( (hist=static_cast<TH1*>(nexthist())) ) {
TString cln(hist->ClassName()) ;
TString hname(hist->GetName());
if ( ! cln.Contains("TH") )
continue ;
if(hist->TestBit(AliQAv1::GetImageBit())) {
hist->GetXaxis()->SetTitleSize(0.04);
hist->GetYaxis()->SetTitleSize(0.04);
hist->GetXaxis()->SetLabelSize(0.02);
hist->GetYaxis()->SetLabelSize(0.02);
if(cln.Contains("TH1"))
{
if(!hname.Contains("Check")) hist->SetFillColor(kOrange+7);
}
if(cln.Contains("TH2"))
{
gPad->SetRightMargin(0.15);
gPad->SetLeftMargin(0.05);
hist->SetStats(0);
hist->SetOption("colz") ;
}
hist->DrawCopy();
fImage[esIndex]->cd(++npad) ;
fImage[esIndex]->cd(npad)->SetBorderMode(0) ;
}
}
fImage[esIndex]->Print(Form("%s%s%d.%s", AliQAv1::GetImageFileName(), AliQAv1::GetModeName(mode), AliQAChecker::Instance()->GetRunNumber(), AliQAv1::GetImageFileFormat()), "ps") ;
}
return kTRUE;
}
AliITSQASDDChecker.cxx:10 AliITSQASDDChecker.cxx:11 AliITSQASDDChecker.cxx:12 AliITSQASDDChecker.cxx:13 AliITSQASDDChecker.cxx:14 AliITSQASDDChecker.cxx:15 AliITSQASDDChecker.cxx:16 AliITSQASDDChecker.cxx:17 AliITSQASDDChecker.cxx:18 AliITSQASDDChecker.cxx:19 AliITSQASDDChecker.cxx:20 AliITSQASDDChecker.cxx:21 AliITSQASDDChecker.cxx:22 AliITSQASDDChecker.cxx:23 AliITSQASDDChecker.cxx:24 AliITSQASDDChecker.cxx:25 AliITSQASDDChecker.cxx:26 AliITSQASDDChecker.cxx:27 AliITSQASDDChecker.cxx:28 AliITSQASDDChecker.cxx:29 AliITSQASDDChecker.cxx:30 AliITSQASDDChecker.cxx:31 AliITSQASDDChecker.cxx:32 AliITSQASDDChecker.cxx:33 AliITSQASDDChecker.cxx:34 AliITSQASDDChecker.cxx:35 AliITSQASDDChecker.cxx:36 AliITSQASDDChecker.cxx:37 AliITSQASDDChecker.cxx:38 AliITSQASDDChecker.cxx:39 AliITSQASDDChecker.cxx:40 AliITSQASDDChecker.cxx:41 AliITSQASDDChecker.cxx:42 AliITSQASDDChecker.cxx:43 AliITSQASDDChecker.cxx:44 AliITSQASDDChecker.cxx:45 AliITSQASDDChecker.cxx:46 AliITSQASDDChecker.cxx:47 AliITSQASDDChecker.cxx:48 AliITSQASDDChecker.cxx:49 AliITSQASDDChecker.cxx:50 AliITSQASDDChecker.cxx:51 AliITSQASDDChecker.cxx:52 AliITSQASDDChecker.cxx:53 AliITSQASDDChecker.cxx:54 AliITSQASDDChecker.cxx:55 AliITSQASDDChecker.cxx:56 AliITSQASDDChecker.cxx:57 AliITSQASDDChecker.cxx:58 AliITSQASDDChecker.cxx:59 AliITSQASDDChecker.cxx:60 AliITSQASDDChecker.cxx:61 AliITSQASDDChecker.cxx:62 AliITSQASDDChecker.cxx:63 AliITSQASDDChecker.cxx:64 AliITSQASDDChecker.cxx:65 AliITSQASDDChecker.cxx:66 AliITSQASDDChecker.cxx:67 AliITSQASDDChecker.cxx:68 AliITSQASDDChecker.cxx:69 AliITSQASDDChecker.cxx:70 AliITSQASDDChecker.cxx:71 AliITSQASDDChecker.cxx:72 AliITSQASDDChecker.cxx:73 AliITSQASDDChecker.cxx:74 AliITSQASDDChecker.cxx:75 AliITSQASDDChecker.cxx:76 AliITSQASDDChecker.cxx:77 AliITSQASDDChecker.cxx:78 AliITSQASDDChecker.cxx:79 AliITSQASDDChecker.cxx:80 AliITSQASDDChecker.cxx:81 AliITSQASDDChecker.cxx:82 AliITSQASDDChecker.cxx:83 AliITSQASDDChecker.cxx:84 AliITSQASDDChecker.cxx:85 AliITSQASDDChecker.cxx:86 AliITSQASDDChecker.cxx:87 AliITSQASDDChecker.cxx:88 AliITSQASDDChecker.cxx:89 AliITSQASDDChecker.cxx:90 AliITSQASDDChecker.cxx:91 AliITSQASDDChecker.cxx:92 AliITSQASDDChecker.cxx:93 AliITSQASDDChecker.cxx:94 AliITSQASDDChecker.cxx:95 AliITSQASDDChecker.cxx:96 AliITSQASDDChecker.cxx:97 AliITSQASDDChecker.cxx:98 AliITSQASDDChecker.cxx:99 AliITSQASDDChecker.cxx:100 AliITSQASDDChecker.cxx:101 AliITSQASDDChecker.cxx:102 AliITSQASDDChecker.cxx:103 AliITSQASDDChecker.cxx:104 AliITSQASDDChecker.cxx:105 AliITSQASDDChecker.cxx:106 AliITSQASDDChecker.cxx:107 AliITSQASDDChecker.cxx:108 AliITSQASDDChecker.cxx:109 AliITSQASDDChecker.cxx:110 AliITSQASDDChecker.cxx:111 AliITSQASDDChecker.cxx:112 AliITSQASDDChecker.cxx:113 AliITSQASDDChecker.cxx:114 AliITSQASDDChecker.cxx:115 AliITSQASDDChecker.cxx:116 AliITSQASDDChecker.cxx:117 AliITSQASDDChecker.cxx:118 AliITSQASDDChecker.cxx:119 AliITSQASDDChecker.cxx:120 AliITSQASDDChecker.cxx:121 AliITSQASDDChecker.cxx:122 AliITSQASDDChecker.cxx:123 AliITSQASDDChecker.cxx:124 AliITSQASDDChecker.cxx:125 AliITSQASDDChecker.cxx:126 AliITSQASDDChecker.cxx:127 AliITSQASDDChecker.cxx:128 AliITSQASDDChecker.cxx:129 AliITSQASDDChecker.cxx:130 AliITSQASDDChecker.cxx:131 AliITSQASDDChecker.cxx:132 AliITSQASDDChecker.cxx:133 AliITSQASDDChecker.cxx:134 AliITSQASDDChecker.cxx:135 AliITSQASDDChecker.cxx:136 AliITSQASDDChecker.cxx:137 AliITSQASDDChecker.cxx:138 AliITSQASDDChecker.cxx:139 AliITSQASDDChecker.cxx:140 AliITSQASDDChecker.cxx:141 AliITSQASDDChecker.cxx:142 AliITSQASDDChecker.cxx:143 AliITSQASDDChecker.cxx:144 AliITSQASDDChecker.cxx:145 AliITSQASDDChecker.cxx:146 AliITSQASDDChecker.cxx:147 AliITSQASDDChecker.cxx:148 AliITSQASDDChecker.cxx:149 AliITSQASDDChecker.cxx:150 AliITSQASDDChecker.cxx:151 AliITSQASDDChecker.cxx:152 AliITSQASDDChecker.cxx:153 AliITSQASDDChecker.cxx:154 AliITSQASDDChecker.cxx:155 AliITSQASDDChecker.cxx:156 AliITSQASDDChecker.cxx:157 AliITSQASDDChecker.cxx:158 AliITSQASDDChecker.cxx:159 AliITSQASDDChecker.cxx:160 AliITSQASDDChecker.cxx:161 AliITSQASDDChecker.cxx:162 AliITSQASDDChecker.cxx:163 AliITSQASDDChecker.cxx:164 AliITSQASDDChecker.cxx:165 AliITSQASDDChecker.cxx:166 AliITSQASDDChecker.cxx:167 AliITSQASDDChecker.cxx:168 AliITSQASDDChecker.cxx:169 AliITSQASDDChecker.cxx:170 AliITSQASDDChecker.cxx:171 AliITSQASDDChecker.cxx:172 AliITSQASDDChecker.cxx:173 AliITSQASDDChecker.cxx:174 AliITSQASDDChecker.cxx:175 AliITSQASDDChecker.cxx:176 AliITSQASDDChecker.cxx:177 AliITSQASDDChecker.cxx:178 AliITSQASDDChecker.cxx:179 AliITSQASDDChecker.cxx:180 AliITSQASDDChecker.cxx:181 AliITSQASDDChecker.cxx:182 AliITSQASDDChecker.cxx:183 AliITSQASDDChecker.cxx:184 AliITSQASDDChecker.cxx:185 AliITSQASDDChecker.cxx:186 AliITSQASDDChecker.cxx:187 AliITSQASDDChecker.cxx:188 AliITSQASDDChecker.cxx:189 AliITSQASDDChecker.cxx:190 AliITSQASDDChecker.cxx:191 AliITSQASDDChecker.cxx:192 AliITSQASDDChecker.cxx:193 AliITSQASDDChecker.cxx:194 AliITSQASDDChecker.cxx:195 AliITSQASDDChecker.cxx:196 AliITSQASDDChecker.cxx:197 AliITSQASDDChecker.cxx:198 AliITSQASDDChecker.cxx:199 AliITSQASDDChecker.cxx:200 AliITSQASDDChecker.cxx:201 AliITSQASDDChecker.cxx:202 AliITSQASDDChecker.cxx:203 AliITSQASDDChecker.cxx:204 AliITSQASDDChecker.cxx:205 AliITSQASDDChecker.cxx:206 AliITSQASDDChecker.cxx:207 AliITSQASDDChecker.cxx:208 AliITSQASDDChecker.cxx:209 AliITSQASDDChecker.cxx:210 AliITSQASDDChecker.cxx:211 AliITSQASDDChecker.cxx:212 AliITSQASDDChecker.cxx:213 AliITSQASDDChecker.cxx:214 AliITSQASDDChecker.cxx:215 AliITSQASDDChecker.cxx:216 AliITSQASDDChecker.cxx:217 AliITSQASDDChecker.cxx:218 AliITSQASDDChecker.cxx:219 AliITSQASDDChecker.cxx:220 AliITSQASDDChecker.cxx:221 AliITSQASDDChecker.cxx:222 AliITSQASDDChecker.cxx:223 AliITSQASDDChecker.cxx:224 AliITSQASDDChecker.cxx:225 AliITSQASDDChecker.cxx:226 AliITSQASDDChecker.cxx:227 AliITSQASDDChecker.cxx:228 AliITSQASDDChecker.cxx:229 AliITSQASDDChecker.cxx:230 AliITSQASDDChecker.cxx:231 AliITSQASDDChecker.cxx:232 AliITSQASDDChecker.cxx:233 AliITSQASDDChecker.cxx:234 AliITSQASDDChecker.cxx:235 AliITSQASDDChecker.cxx:236 AliITSQASDDChecker.cxx:237 AliITSQASDDChecker.cxx:238 AliITSQASDDChecker.cxx:239 AliITSQASDDChecker.cxx:240 AliITSQASDDChecker.cxx:241 AliITSQASDDChecker.cxx:242 AliITSQASDDChecker.cxx:243 AliITSQASDDChecker.cxx:244 AliITSQASDDChecker.cxx:245 AliITSQASDDChecker.cxx:246 AliITSQASDDChecker.cxx:247 AliITSQASDDChecker.cxx:248 AliITSQASDDChecker.cxx:249 AliITSQASDDChecker.cxx:250 AliITSQASDDChecker.cxx:251 AliITSQASDDChecker.cxx:252 AliITSQASDDChecker.cxx:253 AliITSQASDDChecker.cxx:254 AliITSQASDDChecker.cxx:255 AliITSQASDDChecker.cxx:256 AliITSQASDDChecker.cxx:257 AliITSQASDDChecker.cxx:258 AliITSQASDDChecker.cxx:259 AliITSQASDDChecker.cxx:260 AliITSQASDDChecker.cxx:261 AliITSQASDDChecker.cxx:262 AliITSQASDDChecker.cxx:263 AliITSQASDDChecker.cxx:264 AliITSQASDDChecker.cxx:265 AliITSQASDDChecker.cxx:266 AliITSQASDDChecker.cxx:267 AliITSQASDDChecker.cxx:268 AliITSQASDDChecker.cxx:269 AliITSQASDDChecker.cxx:270 AliITSQASDDChecker.cxx:271 AliITSQASDDChecker.cxx:272 AliITSQASDDChecker.cxx:273 AliITSQASDDChecker.cxx:274 AliITSQASDDChecker.cxx:275 AliITSQASDDChecker.cxx:276 AliITSQASDDChecker.cxx:277 AliITSQASDDChecker.cxx:278 AliITSQASDDChecker.cxx:279 AliITSQASDDChecker.cxx:280 AliITSQASDDChecker.cxx:281 AliITSQASDDChecker.cxx:282 AliITSQASDDChecker.cxx:283 AliITSQASDDChecker.cxx:284 AliITSQASDDChecker.cxx:285 AliITSQASDDChecker.cxx:286 AliITSQASDDChecker.cxx:287 AliITSQASDDChecker.cxx:288 AliITSQASDDChecker.cxx:289 AliITSQASDDChecker.cxx:290 AliITSQASDDChecker.cxx:291 AliITSQASDDChecker.cxx:292 AliITSQASDDChecker.cxx:293 AliITSQASDDChecker.cxx:294 AliITSQASDDChecker.cxx:295 AliITSQASDDChecker.cxx:296 AliITSQASDDChecker.cxx:297 AliITSQASDDChecker.cxx:298 AliITSQASDDChecker.cxx:299 AliITSQASDDChecker.cxx:300 AliITSQASDDChecker.cxx:301 AliITSQASDDChecker.cxx:302 AliITSQASDDChecker.cxx:303 AliITSQASDDChecker.cxx:304 AliITSQASDDChecker.cxx:305 AliITSQASDDChecker.cxx:306 AliITSQASDDChecker.cxx:307 AliITSQASDDChecker.cxx:308 AliITSQASDDChecker.cxx:309 AliITSQASDDChecker.cxx:310 AliITSQASDDChecker.cxx:311 AliITSQASDDChecker.cxx:312 AliITSQASDDChecker.cxx:313 AliITSQASDDChecker.cxx:314 AliITSQASDDChecker.cxx:315 AliITSQASDDChecker.cxx:316 AliITSQASDDChecker.cxx:317 AliITSQASDDChecker.cxx:318 AliITSQASDDChecker.cxx:319 AliITSQASDDChecker.cxx:320 AliITSQASDDChecker.cxx:321 AliITSQASDDChecker.cxx:322 AliITSQASDDChecker.cxx:323 AliITSQASDDChecker.cxx:324 AliITSQASDDChecker.cxx:325 AliITSQASDDChecker.cxx:326 AliITSQASDDChecker.cxx:327 AliITSQASDDChecker.cxx:328 AliITSQASDDChecker.cxx:329 AliITSQASDDChecker.cxx:330 AliITSQASDDChecker.cxx:331 AliITSQASDDChecker.cxx:332 AliITSQASDDChecker.cxx:333 AliITSQASDDChecker.cxx:334 AliITSQASDDChecker.cxx:335 AliITSQASDDChecker.cxx:336 AliITSQASDDChecker.cxx:337 AliITSQASDDChecker.cxx:338 AliITSQASDDChecker.cxx:339 AliITSQASDDChecker.cxx:340 AliITSQASDDChecker.cxx:341 AliITSQASDDChecker.cxx:342 AliITSQASDDChecker.cxx:343 AliITSQASDDChecker.cxx:344 AliITSQASDDChecker.cxx:345 AliITSQASDDChecker.cxx:346 AliITSQASDDChecker.cxx:347 AliITSQASDDChecker.cxx:348 AliITSQASDDChecker.cxx:349 AliITSQASDDChecker.cxx:350 AliITSQASDDChecker.cxx:351 AliITSQASDDChecker.cxx:352 AliITSQASDDChecker.cxx:353 AliITSQASDDChecker.cxx:354 AliITSQASDDChecker.cxx:355 AliITSQASDDChecker.cxx:356 AliITSQASDDChecker.cxx:357 AliITSQASDDChecker.cxx:358 AliITSQASDDChecker.cxx:359 AliITSQASDDChecker.cxx:360 AliITSQASDDChecker.cxx:361 AliITSQASDDChecker.cxx:362 AliITSQASDDChecker.cxx:363 AliITSQASDDChecker.cxx:364 AliITSQASDDChecker.cxx:365 AliITSQASDDChecker.cxx:366 AliITSQASDDChecker.cxx:367 AliITSQASDDChecker.cxx:368 AliITSQASDDChecker.cxx:369 AliITSQASDDChecker.cxx:370 AliITSQASDDChecker.cxx:371 AliITSQASDDChecker.cxx:372 AliITSQASDDChecker.cxx:373 AliITSQASDDChecker.cxx:374 AliITSQASDDChecker.cxx:375 AliITSQASDDChecker.cxx:376 AliITSQASDDChecker.cxx:377 AliITSQASDDChecker.cxx:378 AliITSQASDDChecker.cxx:379 AliITSQASDDChecker.cxx:380 AliITSQASDDChecker.cxx:381 AliITSQASDDChecker.cxx:382 AliITSQASDDChecker.cxx:383 AliITSQASDDChecker.cxx:384 AliITSQASDDChecker.cxx:385 AliITSQASDDChecker.cxx:386 AliITSQASDDChecker.cxx:387 AliITSQASDDChecker.cxx:388 AliITSQASDDChecker.cxx:389 AliITSQASDDChecker.cxx:390 AliITSQASDDChecker.cxx:391 AliITSQASDDChecker.cxx:392 AliITSQASDDChecker.cxx:393 AliITSQASDDChecker.cxx:394 AliITSQASDDChecker.cxx:395 AliITSQASDDChecker.cxx:396 AliITSQASDDChecker.cxx:397 AliITSQASDDChecker.cxx:398 AliITSQASDDChecker.cxx:399 AliITSQASDDChecker.cxx:400 AliITSQASDDChecker.cxx:401 AliITSQASDDChecker.cxx:402 AliITSQASDDChecker.cxx:403 AliITSQASDDChecker.cxx:404 AliITSQASDDChecker.cxx:405 AliITSQASDDChecker.cxx:406 AliITSQASDDChecker.cxx:407 AliITSQASDDChecker.cxx:408 AliITSQASDDChecker.cxx:409 AliITSQASDDChecker.cxx:410 AliITSQASDDChecker.cxx:411 AliITSQASDDChecker.cxx:412 AliITSQASDDChecker.cxx:413 AliITSQASDDChecker.cxx:414 AliITSQASDDChecker.cxx:415 AliITSQASDDChecker.cxx:416 AliITSQASDDChecker.cxx:417 AliITSQASDDChecker.cxx:418 AliITSQASDDChecker.cxx:419 AliITSQASDDChecker.cxx:420 AliITSQASDDChecker.cxx:421 AliITSQASDDChecker.cxx:422 AliITSQASDDChecker.cxx:423 AliITSQASDDChecker.cxx:424 AliITSQASDDChecker.cxx:425 AliITSQASDDChecker.cxx:426 AliITSQASDDChecker.cxx:427 AliITSQASDDChecker.cxx:428 AliITSQASDDChecker.cxx:429 AliITSQASDDChecker.cxx:430 AliITSQASDDChecker.cxx:431 AliITSQASDDChecker.cxx:432 AliITSQASDDChecker.cxx:433 AliITSQASDDChecker.cxx:434 AliITSQASDDChecker.cxx:435 AliITSQASDDChecker.cxx:436 AliITSQASDDChecker.cxx:437 AliITSQASDDChecker.cxx:438 AliITSQASDDChecker.cxx:439 AliITSQASDDChecker.cxx:440 AliITSQASDDChecker.cxx:441 AliITSQASDDChecker.cxx:442 AliITSQASDDChecker.cxx:443 AliITSQASDDChecker.cxx:444 AliITSQASDDChecker.cxx:445 AliITSQASDDChecker.cxx:446 AliITSQASDDChecker.cxx:447 AliITSQASDDChecker.cxx:448 AliITSQASDDChecker.cxx:449 AliITSQASDDChecker.cxx:450 AliITSQASDDChecker.cxx:451 AliITSQASDDChecker.cxx:452 AliITSQASDDChecker.cxx:453 AliITSQASDDChecker.cxx:454 AliITSQASDDChecker.cxx:455 AliITSQASDDChecker.cxx:456 AliITSQASDDChecker.cxx:457 AliITSQASDDChecker.cxx:458 AliITSQASDDChecker.cxx:459 AliITSQASDDChecker.cxx:460 AliITSQASDDChecker.cxx:461 AliITSQASDDChecker.cxx:462 AliITSQASDDChecker.cxx:463 AliITSQASDDChecker.cxx:464 AliITSQASDDChecker.cxx:465 AliITSQASDDChecker.cxx:466 AliITSQASDDChecker.cxx:467 AliITSQASDDChecker.cxx:468 AliITSQASDDChecker.cxx:469 AliITSQASDDChecker.cxx:470 AliITSQASDDChecker.cxx:471 AliITSQASDDChecker.cxx:472 AliITSQASDDChecker.cxx:473 AliITSQASDDChecker.cxx:474 AliITSQASDDChecker.cxx:475 AliITSQASDDChecker.cxx:476 AliITSQASDDChecker.cxx:477 AliITSQASDDChecker.cxx:478 AliITSQASDDChecker.cxx:479 AliITSQASDDChecker.cxx:480 AliITSQASDDChecker.cxx:481 AliITSQASDDChecker.cxx:482 AliITSQASDDChecker.cxx:483 AliITSQASDDChecker.cxx:484 AliITSQASDDChecker.cxx:485 AliITSQASDDChecker.cxx:486 AliITSQASDDChecker.cxx:487 AliITSQASDDChecker.cxx:488 AliITSQASDDChecker.cxx:489 AliITSQASDDChecker.cxx:490 AliITSQASDDChecker.cxx:491 AliITSQASDDChecker.cxx:492 AliITSQASDDChecker.cxx:493 AliITSQASDDChecker.cxx:494 AliITSQASDDChecker.cxx:495 AliITSQASDDChecker.cxx:496 AliITSQASDDChecker.cxx:497 AliITSQASDDChecker.cxx:498 AliITSQASDDChecker.cxx:499 AliITSQASDDChecker.cxx:500 AliITSQASDDChecker.cxx:501 AliITSQASDDChecker.cxx:502 AliITSQASDDChecker.cxx:503 AliITSQASDDChecker.cxx:504 AliITSQASDDChecker.cxx:505 AliITSQASDDChecker.cxx:506 AliITSQASDDChecker.cxx:507 AliITSQASDDChecker.cxx:508 AliITSQASDDChecker.cxx:509 AliITSQASDDChecker.cxx:510 AliITSQASDDChecker.cxx:511 AliITSQASDDChecker.cxx:512 AliITSQASDDChecker.cxx:513 AliITSQASDDChecker.cxx:514 AliITSQASDDChecker.cxx:515 AliITSQASDDChecker.cxx:516 AliITSQASDDChecker.cxx:517 AliITSQASDDChecker.cxx:518 AliITSQASDDChecker.cxx:519 AliITSQASDDChecker.cxx:520 AliITSQASDDChecker.cxx:521 AliITSQASDDChecker.cxx:522 AliITSQASDDChecker.cxx:523 AliITSQASDDChecker.cxx:524 AliITSQASDDChecker.cxx:525 AliITSQASDDChecker.cxx:526 AliITSQASDDChecker.cxx:527 AliITSQASDDChecker.cxx:528 AliITSQASDDChecker.cxx:529 AliITSQASDDChecker.cxx:530 AliITSQASDDChecker.cxx:531 AliITSQASDDChecker.cxx:532 AliITSQASDDChecker.cxx:533 AliITSQASDDChecker.cxx:534 AliITSQASDDChecker.cxx:535 AliITSQASDDChecker.cxx:536 AliITSQASDDChecker.cxx:537 AliITSQASDDChecker.cxx:538 AliITSQASDDChecker.cxx:539 AliITSQASDDChecker.cxx:540 AliITSQASDDChecker.cxx:541 AliITSQASDDChecker.cxx:542 AliITSQASDDChecker.cxx:543 AliITSQASDDChecker.cxx:544 AliITSQASDDChecker.cxx:545 AliITSQASDDChecker.cxx:546 AliITSQASDDChecker.cxx:547 AliITSQASDDChecker.cxx:548 AliITSQASDDChecker.cxx:549 AliITSQASDDChecker.cxx:550 AliITSQASDDChecker.cxx:551 AliITSQASDDChecker.cxx:552 AliITSQASDDChecker.cxx:553 AliITSQASDDChecker.cxx:554 AliITSQASDDChecker.cxx:555 AliITSQASDDChecker.cxx:556 AliITSQASDDChecker.cxx:557 AliITSQASDDChecker.cxx:558 AliITSQASDDChecker.cxx:559 AliITSQASDDChecker.cxx:560 AliITSQASDDChecker.cxx:561 AliITSQASDDChecker.cxx:562 AliITSQASDDChecker.cxx:563 AliITSQASDDChecker.cxx:564 AliITSQASDDChecker.cxx:565 AliITSQASDDChecker.cxx:566 AliITSQASDDChecker.cxx:567 AliITSQASDDChecker.cxx:568 AliITSQASDDChecker.cxx:569 AliITSQASDDChecker.cxx:570 AliITSQASDDChecker.cxx:571 AliITSQASDDChecker.cxx:572 AliITSQASDDChecker.cxx:573 AliITSQASDDChecker.cxx:574 AliITSQASDDChecker.cxx:575 AliITSQASDDChecker.cxx:576 AliITSQASDDChecker.cxx:577 AliITSQASDDChecker.cxx:578 AliITSQASDDChecker.cxx:579 AliITSQASDDChecker.cxx:580 AliITSQASDDChecker.cxx:581 AliITSQASDDChecker.cxx:582 AliITSQASDDChecker.cxx:583 AliITSQASDDChecker.cxx:584 AliITSQASDDChecker.cxx:585 AliITSQASDDChecker.cxx:586 AliITSQASDDChecker.cxx:587 AliITSQASDDChecker.cxx:588 AliITSQASDDChecker.cxx:589 AliITSQASDDChecker.cxx:590 AliITSQASDDChecker.cxx:591 AliITSQASDDChecker.cxx:592 AliITSQASDDChecker.cxx:593 AliITSQASDDChecker.cxx:594 AliITSQASDDChecker.cxx:595 AliITSQASDDChecker.cxx:596 AliITSQASDDChecker.cxx:597 AliITSQASDDChecker.cxx:598 AliITSQASDDChecker.cxx:599 AliITSQASDDChecker.cxx:600 AliITSQASDDChecker.cxx:601 AliITSQASDDChecker.cxx:602 AliITSQASDDChecker.cxx:603 AliITSQASDDChecker.cxx:604 AliITSQASDDChecker.cxx:605 AliITSQASDDChecker.cxx:606 AliITSQASDDChecker.cxx:607 AliITSQASDDChecker.cxx:608 AliITSQASDDChecker.cxx:609 AliITSQASDDChecker.cxx:610 AliITSQASDDChecker.cxx:611 AliITSQASDDChecker.cxx:612 AliITSQASDDChecker.cxx:613 AliITSQASDDChecker.cxx:614 AliITSQASDDChecker.cxx:615 AliITSQASDDChecker.cxx:616 AliITSQASDDChecker.cxx:617 AliITSQASDDChecker.cxx:618 AliITSQASDDChecker.cxx:619 AliITSQASDDChecker.cxx:620 AliITSQASDDChecker.cxx:621 AliITSQASDDChecker.cxx:622 AliITSQASDDChecker.cxx:623 AliITSQASDDChecker.cxx:624 AliITSQASDDChecker.cxx:625 AliITSQASDDChecker.cxx:626 AliITSQASDDChecker.cxx:627 AliITSQASDDChecker.cxx:628 AliITSQASDDChecker.cxx:629 AliITSQASDDChecker.cxx:630 AliITSQASDDChecker.cxx:631 AliITSQASDDChecker.cxx:632 AliITSQASDDChecker.cxx:633 AliITSQASDDChecker.cxx:634 AliITSQASDDChecker.cxx:635 AliITSQASDDChecker.cxx:636 AliITSQASDDChecker.cxx:637 AliITSQASDDChecker.cxx:638 AliITSQASDDChecker.cxx:639 AliITSQASDDChecker.cxx:640 AliITSQASDDChecker.cxx:641 AliITSQASDDChecker.cxx:642 AliITSQASDDChecker.cxx:643 AliITSQASDDChecker.cxx:644 AliITSQASDDChecker.cxx:645 AliITSQASDDChecker.cxx:646 AliITSQASDDChecker.cxx:647 AliITSQASDDChecker.cxx:648 AliITSQASDDChecker.cxx:649 AliITSQASDDChecker.cxx:650 AliITSQASDDChecker.cxx:651 AliITSQASDDChecker.cxx:652 AliITSQASDDChecker.cxx:653 AliITSQASDDChecker.cxx:654 AliITSQASDDChecker.cxx:655 AliITSQASDDChecker.cxx:656 AliITSQASDDChecker.cxx:657 AliITSQASDDChecker.cxx:658 AliITSQASDDChecker.cxx:659 AliITSQASDDChecker.cxx:660 AliITSQASDDChecker.cxx:661 AliITSQASDDChecker.cxx:662 AliITSQASDDChecker.cxx:663 AliITSQASDDChecker.cxx:664 AliITSQASDDChecker.cxx:665 AliITSQASDDChecker.cxx:666 AliITSQASDDChecker.cxx:667 AliITSQASDDChecker.cxx:668 AliITSQASDDChecker.cxx:669 AliITSQASDDChecker.cxx:670 AliITSQASDDChecker.cxx:671 AliITSQASDDChecker.cxx:672 AliITSQASDDChecker.cxx:673 AliITSQASDDChecker.cxx:674 AliITSQASDDChecker.cxx:675 AliITSQASDDChecker.cxx:676 AliITSQASDDChecker.cxx:677 AliITSQASDDChecker.cxx:678 AliITSQASDDChecker.cxx:679 AliITSQASDDChecker.cxx:680 AliITSQASDDChecker.cxx:681 AliITSQASDDChecker.cxx:682 AliITSQASDDChecker.cxx:683 AliITSQASDDChecker.cxx:684 AliITSQASDDChecker.cxx:685 AliITSQASDDChecker.cxx:686 AliITSQASDDChecker.cxx:687 AliITSQASDDChecker.cxx:688 AliITSQASDDChecker.cxx:689 AliITSQASDDChecker.cxx:690 AliITSQASDDChecker.cxx:691 AliITSQASDDChecker.cxx:692 AliITSQASDDChecker.cxx:693 AliITSQASDDChecker.cxx:694 AliITSQASDDChecker.cxx:695 AliITSQASDDChecker.cxx:696 AliITSQASDDChecker.cxx:697 AliITSQASDDChecker.cxx:698 AliITSQASDDChecker.cxx:699 AliITSQASDDChecker.cxx:700 AliITSQASDDChecker.cxx:701 AliITSQASDDChecker.cxx:702 AliITSQASDDChecker.cxx:703 AliITSQASDDChecker.cxx:704 AliITSQASDDChecker.cxx:705 AliITSQASDDChecker.cxx:706 AliITSQASDDChecker.cxx:707 AliITSQASDDChecker.cxx:708 AliITSQASDDChecker.cxx:709 AliITSQASDDChecker.cxx:710 AliITSQASDDChecker.cxx:711 AliITSQASDDChecker.cxx:712 AliITSQASDDChecker.cxx:713 AliITSQASDDChecker.cxx:714 AliITSQASDDChecker.cxx:715 AliITSQASDDChecker.cxx:716 AliITSQASDDChecker.cxx:717 AliITSQASDDChecker.cxx:718 AliITSQASDDChecker.cxx:719 AliITSQASDDChecker.cxx:720 AliITSQASDDChecker.cxx:721 AliITSQASDDChecker.cxx:722 AliITSQASDDChecker.cxx:723 AliITSQASDDChecker.cxx:724 AliITSQASDDChecker.cxx:725 AliITSQASDDChecker.cxx:726 AliITSQASDDChecker.cxx:727 AliITSQASDDChecker.cxx:728 AliITSQASDDChecker.cxx:729 AliITSQASDDChecker.cxx:730 AliITSQASDDChecker.cxx:731 AliITSQASDDChecker.cxx:732 AliITSQASDDChecker.cxx:733 AliITSQASDDChecker.cxx:734 AliITSQASDDChecker.cxx:735 AliITSQASDDChecker.cxx:736 AliITSQASDDChecker.cxx:737 AliITSQASDDChecker.cxx:738 AliITSQASDDChecker.cxx:739 AliITSQASDDChecker.cxx:740 AliITSQASDDChecker.cxx:741 AliITSQASDDChecker.cxx:742 AliITSQASDDChecker.cxx:743 AliITSQASDDChecker.cxx:744 AliITSQASDDChecker.cxx:745 AliITSQASDDChecker.cxx:746 AliITSQASDDChecker.cxx:747 AliITSQASDDChecker.cxx:748 AliITSQASDDChecker.cxx:749 AliITSQASDDChecker.cxx:750 AliITSQASDDChecker.cxx:751 AliITSQASDDChecker.cxx:752 AliITSQASDDChecker.cxx:753 AliITSQASDDChecker.cxx:754 AliITSQASDDChecker.cxx:755 AliITSQASDDChecker.cxx:756 AliITSQASDDChecker.cxx:757 AliITSQASDDChecker.cxx:758 AliITSQASDDChecker.cxx:759 AliITSQASDDChecker.cxx:760 AliITSQASDDChecker.cxx:761 AliITSQASDDChecker.cxx:762 AliITSQASDDChecker.cxx:763 AliITSQASDDChecker.cxx:764 AliITSQASDDChecker.cxx:765 AliITSQASDDChecker.cxx:766 AliITSQASDDChecker.cxx:767 AliITSQASDDChecker.cxx:768 AliITSQASDDChecker.cxx:769 AliITSQASDDChecker.cxx:770 AliITSQASDDChecker.cxx:771 AliITSQASDDChecker.cxx:772 AliITSQASDDChecker.cxx:773 AliITSQASDDChecker.cxx:774 AliITSQASDDChecker.cxx:775 AliITSQASDDChecker.cxx:776 AliITSQASDDChecker.cxx:777 AliITSQASDDChecker.cxx:778 AliITSQASDDChecker.cxx:779 AliITSQASDDChecker.cxx:780 AliITSQASDDChecker.cxx:781 AliITSQASDDChecker.cxx:782 AliITSQASDDChecker.cxx:783 AliITSQASDDChecker.cxx:784 AliITSQASDDChecker.cxx:785 AliITSQASDDChecker.cxx:786 AliITSQASDDChecker.cxx:787 AliITSQASDDChecker.cxx:788 AliITSQASDDChecker.cxx:789 AliITSQASDDChecker.cxx:790 AliITSQASDDChecker.cxx:791 AliITSQASDDChecker.cxx:792 AliITSQASDDChecker.cxx:793 AliITSQASDDChecker.cxx:794 AliITSQASDDChecker.cxx:795 AliITSQASDDChecker.cxx:796 AliITSQASDDChecker.cxx:797 AliITSQASDDChecker.cxx:798 AliITSQASDDChecker.cxx:799 AliITSQASDDChecker.cxx:800 AliITSQASDDChecker.cxx:801 AliITSQASDDChecker.cxx:802 AliITSQASDDChecker.cxx:803 AliITSQASDDChecker.cxx:804 AliITSQASDDChecker.cxx:805 AliITSQASDDChecker.cxx:806 AliITSQASDDChecker.cxx:807 AliITSQASDDChecker.cxx:808 AliITSQASDDChecker.cxx:809 AliITSQASDDChecker.cxx:810 AliITSQASDDChecker.cxx:811 AliITSQASDDChecker.cxx:812 AliITSQASDDChecker.cxx:813 AliITSQASDDChecker.cxx:814 AliITSQASDDChecker.cxx:815 AliITSQASDDChecker.cxx:816 AliITSQASDDChecker.cxx:817 AliITSQASDDChecker.cxx:818 AliITSQASDDChecker.cxx:819 AliITSQASDDChecker.cxx:820 AliITSQASDDChecker.cxx:821 AliITSQASDDChecker.cxx:822 AliITSQASDDChecker.cxx:823 AliITSQASDDChecker.cxx:824 AliITSQASDDChecker.cxx:825 AliITSQASDDChecker.cxx:826 AliITSQASDDChecker.cxx:827 AliITSQASDDChecker.cxx:828 AliITSQASDDChecker.cxx:829 AliITSQASDDChecker.cxx:830 AliITSQASDDChecker.cxx:831 AliITSQASDDChecker.cxx:832 AliITSQASDDChecker.cxx:833 AliITSQASDDChecker.cxx:834 AliITSQASDDChecker.cxx:835 AliITSQASDDChecker.cxx:836 AliITSQASDDChecker.cxx:837 AliITSQASDDChecker.cxx:838 AliITSQASDDChecker.cxx:839 AliITSQASDDChecker.cxx:840 AliITSQASDDChecker.cxx:841 AliITSQASDDChecker.cxx:842 AliITSQASDDChecker.cxx:843 AliITSQASDDChecker.cxx:844 AliITSQASDDChecker.cxx:845 AliITSQASDDChecker.cxx:846 AliITSQASDDChecker.cxx:847 AliITSQASDDChecker.cxx:848 AliITSQASDDChecker.cxx:849 AliITSQASDDChecker.cxx:850 AliITSQASDDChecker.cxx:851 AliITSQASDDChecker.cxx:852 AliITSQASDDChecker.cxx:853 AliITSQASDDChecker.cxx:854 AliITSQASDDChecker.cxx:855 AliITSQASDDChecker.cxx:856 AliITSQASDDChecker.cxx:857 AliITSQASDDChecker.cxx:858 AliITSQASDDChecker.cxx:859 AliITSQASDDChecker.cxx:860 AliITSQASDDChecker.cxx:861 AliITSQASDDChecker.cxx:862 AliITSQASDDChecker.cxx:863 AliITSQASDDChecker.cxx:864 AliITSQASDDChecker.cxx:865 AliITSQASDDChecker.cxx:866 AliITSQASDDChecker.cxx:867 AliITSQASDDChecker.cxx:868 AliITSQASDDChecker.cxx:869 AliITSQASDDChecker.cxx:870 AliITSQASDDChecker.cxx:871 AliITSQASDDChecker.cxx:872 AliITSQASDDChecker.cxx:873 AliITSQASDDChecker.cxx:874 AliITSQASDDChecker.cxx:875 AliITSQASDDChecker.cxx:876 AliITSQASDDChecker.cxx:877 AliITSQASDDChecker.cxx:878 AliITSQASDDChecker.cxx:879 AliITSQASDDChecker.cxx:880 AliITSQASDDChecker.cxx:881 AliITSQASDDChecker.cxx:882 AliITSQASDDChecker.cxx:883 AliITSQASDDChecker.cxx:884 AliITSQASDDChecker.cxx:885 AliITSQASDDChecker.cxx:886 AliITSQASDDChecker.cxx:887 AliITSQASDDChecker.cxx:888 AliITSQASDDChecker.cxx:889 AliITSQASDDChecker.cxx:890 AliITSQASDDChecker.cxx:891 AliITSQASDDChecker.cxx:892 AliITSQASDDChecker.cxx:893 AliITSQASDDChecker.cxx:894 AliITSQASDDChecker.cxx:895 AliITSQASDDChecker.cxx:896 AliITSQASDDChecker.cxx:897 AliITSQASDDChecker.cxx:898 AliITSQASDDChecker.cxx:899 AliITSQASDDChecker.cxx:900 AliITSQASDDChecker.cxx:901 AliITSQASDDChecker.cxx:902 AliITSQASDDChecker.cxx:903 AliITSQASDDChecker.cxx:904 AliITSQASDDChecker.cxx:905 AliITSQASDDChecker.cxx:906 AliITSQASDDChecker.cxx:907 AliITSQASDDChecker.cxx:908 AliITSQASDDChecker.cxx:909 AliITSQASDDChecker.cxx:910 AliITSQASDDChecker.cxx:911 AliITSQASDDChecker.cxx:912 AliITSQASDDChecker.cxx:913 AliITSQASDDChecker.cxx:914 AliITSQASDDChecker.cxx:915 AliITSQASDDChecker.cxx:916 AliITSQASDDChecker.cxx:917 AliITSQASDDChecker.cxx:918 AliITSQASDDChecker.cxx:919 AliITSQASDDChecker.cxx:920 AliITSQASDDChecker.cxx:921 AliITSQASDDChecker.cxx:922 AliITSQASDDChecker.cxx:923 AliITSQASDDChecker.cxx:924 AliITSQASDDChecker.cxx:925 AliITSQASDDChecker.cxx:926 AliITSQASDDChecker.cxx:927 AliITSQASDDChecker.cxx:928 AliITSQASDDChecker.cxx:929 AliITSQASDDChecker.cxx:930 AliITSQASDDChecker.cxx:931 AliITSQASDDChecker.cxx:932 AliITSQASDDChecker.cxx:933 AliITSQASDDChecker.cxx:934 AliITSQASDDChecker.cxx:935 AliITSQASDDChecker.cxx:936 AliITSQASDDChecker.cxx:937 AliITSQASDDChecker.cxx:938 AliITSQASDDChecker.cxx:939 AliITSQASDDChecker.cxx:940 AliITSQASDDChecker.cxx:941 AliITSQASDDChecker.cxx:942 AliITSQASDDChecker.cxx:943 AliITSQASDDChecker.cxx:944 AliITSQASDDChecker.cxx:945 AliITSQASDDChecker.cxx:946 AliITSQASDDChecker.cxx:947 AliITSQASDDChecker.cxx:948 AliITSQASDDChecker.cxx:949 AliITSQASDDChecker.cxx:950 AliITSQASDDChecker.cxx:951 AliITSQASDDChecker.cxx:952 AliITSQASDDChecker.cxx:953 AliITSQASDDChecker.cxx:954 AliITSQASDDChecker.cxx:955 AliITSQASDDChecker.cxx:956 AliITSQASDDChecker.cxx:957 AliITSQASDDChecker.cxx:958 AliITSQASDDChecker.cxx:959 AliITSQASDDChecker.cxx:960 AliITSQASDDChecker.cxx:961 AliITSQASDDChecker.cxx:962 AliITSQASDDChecker.cxx:963 AliITSQASDDChecker.cxx:964 AliITSQASDDChecker.cxx:965 AliITSQASDDChecker.cxx:966 AliITSQASDDChecker.cxx:967 AliITSQASDDChecker.cxx:968 AliITSQASDDChecker.cxx:969 AliITSQASDDChecker.cxx:970 AliITSQASDDChecker.cxx:971 AliITSQASDDChecker.cxx:972 AliITSQASDDChecker.cxx:973 AliITSQASDDChecker.cxx:974 AliITSQASDDChecker.cxx:975 AliITSQASDDChecker.cxx:976 AliITSQASDDChecker.cxx:977 AliITSQASDDChecker.cxx:978 AliITSQASDDChecker.cxx:979 AliITSQASDDChecker.cxx:980 AliITSQASDDChecker.cxx:981 AliITSQASDDChecker.cxx:982 AliITSQASDDChecker.cxx:983 AliITSQASDDChecker.cxx:984 AliITSQASDDChecker.cxx:985 AliITSQASDDChecker.cxx:986 AliITSQASDDChecker.cxx:987 AliITSQASDDChecker.cxx:988 AliITSQASDDChecker.cxx:989 AliITSQASDDChecker.cxx:990 AliITSQASDDChecker.cxx:991 AliITSQASDDChecker.cxx:992 AliITSQASDDChecker.cxx:993 AliITSQASDDChecker.cxx:994 AliITSQASDDChecker.cxx:995 AliITSQASDDChecker.cxx:996 AliITSQASDDChecker.cxx:997 AliITSQASDDChecker.cxx:998 AliITSQASDDChecker.cxx:999 AliITSQASDDChecker.cxx:1000 AliITSQASDDChecker.cxx:1001 AliITSQASDDChecker.cxx:1002 AliITSQASDDChecker.cxx:1003 AliITSQASDDChecker.cxx:1004 AliITSQASDDChecker.cxx:1005 AliITSQASDDChecker.cxx:1006 AliITSQASDDChecker.cxx:1007 AliITSQASDDChecker.cxx:1008 AliITSQASDDChecker.cxx:1009 AliITSQASDDChecker.cxx:1010 AliITSQASDDChecker.cxx:1011 AliITSQASDDChecker.cxx:1012 AliITSQASDDChecker.cxx:1013 AliITSQASDDChecker.cxx:1014 AliITSQASDDChecker.cxx:1015 AliITSQASDDChecker.cxx:1016 AliITSQASDDChecker.cxx:1017 AliITSQASDDChecker.cxx:1018 AliITSQASDDChecker.cxx:1019 AliITSQASDDChecker.cxx:1020 AliITSQASDDChecker.cxx:1021 AliITSQASDDChecker.cxx:1022 AliITSQASDDChecker.cxx:1023 AliITSQASDDChecker.cxx:1024 AliITSQASDDChecker.cxx:1025 AliITSQASDDChecker.cxx:1026 AliITSQASDDChecker.cxx:1027 AliITSQASDDChecker.cxx:1028 AliITSQASDDChecker.cxx:1029 AliITSQASDDChecker.cxx:1030 AliITSQASDDChecker.cxx:1031 AliITSQASDDChecker.cxx:1032 AliITSQASDDChecker.cxx:1033 AliITSQASDDChecker.cxx:1034 AliITSQASDDChecker.cxx:1035 AliITSQASDDChecker.cxx:1036 AliITSQASDDChecker.cxx:1037 AliITSQASDDChecker.cxx:1038 AliITSQASDDChecker.cxx:1039 AliITSQASDDChecker.cxx:1040 AliITSQASDDChecker.cxx:1041 AliITSQASDDChecker.cxx:1042 AliITSQASDDChecker.cxx:1043 AliITSQASDDChecker.cxx:1044 AliITSQASDDChecker.cxx:1045 AliITSQASDDChecker.cxx:1046 AliITSQASDDChecker.cxx:1047 AliITSQASDDChecker.cxx:1048 AliITSQASDDChecker.cxx:1049 AliITSQASDDChecker.cxx:1050 AliITSQASDDChecker.cxx:1051 AliITSQASDDChecker.cxx:1052 AliITSQASDDChecker.cxx:1053 AliITSQASDDChecker.cxx:1054 AliITSQASDDChecker.cxx:1055 AliITSQASDDChecker.cxx:1056 AliITSQASDDChecker.cxx:1057 AliITSQASDDChecker.cxx:1058 AliITSQASDDChecker.cxx:1059 AliITSQASDDChecker.cxx:1060 AliITSQASDDChecker.cxx:1061 AliITSQASDDChecker.cxx:1062 AliITSQASDDChecker.cxx:1063 AliITSQASDDChecker.cxx:1064 AliITSQASDDChecker.cxx:1065 AliITSQASDDChecker.cxx:1066 AliITSQASDDChecker.cxx:1067 AliITSQASDDChecker.cxx:1068 AliITSQASDDChecker.cxx:1069 AliITSQASDDChecker.cxx:1070 AliITSQASDDChecker.cxx:1071 AliITSQASDDChecker.cxx:1072 AliITSQASDDChecker.cxx:1073 AliITSQASDDChecker.cxx:1074 AliITSQASDDChecker.cxx:1075 AliITSQASDDChecker.cxx:1076 AliITSQASDDChecker.cxx:1077 AliITSQASDDChecker.cxx:1078 AliITSQASDDChecker.cxx:1079 AliITSQASDDChecker.cxx:1080 AliITSQASDDChecker.cxx:1081 AliITSQASDDChecker.cxx:1082 AliITSQASDDChecker.cxx:1083 AliITSQASDDChecker.cxx:1084 AliITSQASDDChecker.cxx:1085 AliITSQASDDChecker.cxx:1086 AliITSQASDDChecker.cxx:1087 AliITSQASDDChecker.cxx:1088 AliITSQASDDChecker.cxx:1089 AliITSQASDDChecker.cxx:1090 AliITSQASDDChecker.cxx:1091 AliITSQASDDChecker.cxx:1092 AliITSQASDDChecker.cxx:1093 AliITSQASDDChecker.cxx:1094 AliITSQASDDChecker.cxx:1095 AliITSQASDDChecker.cxx:1096 AliITSQASDDChecker.cxx:1097 AliITSQASDDChecker.cxx:1098 AliITSQASDDChecker.cxx:1099 AliITSQASDDChecker.cxx:1100 AliITSQASDDChecker.cxx:1101 AliITSQASDDChecker.cxx:1102 AliITSQASDDChecker.cxx:1103 AliITSQASDDChecker.cxx:1104 AliITSQASDDChecker.cxx:1105 AliITSQASDDChecker.cxx:1106 AliITSQASDDChecker.cxx:1107 AliITSQASDDChecker.cxx:1108 AliITSQASDDChecker.cxx:1109 AliITSQASDDChecker.cxx:1110 AliITSQASDDChecker.cxx:1111 AliITSQASDDChecker.cxx:1112 AliITSQASDDChecker.cxx:1113 AliITSQASDDChecker.cxx:1114 AliITSQASDDChecker.cxx:1115 AliITSQASDDChecker.cxx:1116 AliITSQASDDChecker.cxx:1117 AliITSQASDDChecker.cxx:1118 AliITSQASDDChecker.cxx:1119 AliITSQASDDChecker.cxx:1120 AliITSQASDDChecker.cxx:1121 AliITSQASDDChecker.cxx:1122 AliITSQASDDChecker.cxx:1123 AliITSQASDDChecker.cxx:1124 AliITSQASDDChecker.cxx:1125 AliITSQASDDChecker.cxx:1126 AliITSQASDDChecker.cxx:1127 AliITSQASDDChecker.cxx:1128 AliITSQASDDChecker.cxx:1129 AliITSQASDDChecker.cxx:1130 AliITSQASDDChecker.cxx:1131 AliITSQASDDChecker.cxx:1132 AliITSQASDDChecker.cxx:1133 AliITSQASDDChecker.cxx:1134 AliITSQASDDChecker.cxx:1135 AliITSQASDDChecker.cxx:1136 AliITSQASDDChecker.cxx:1137 AliITSQASDDChecker.cxx:1138 AliITSQASDDChecker.cxx:1139 AliITSQASDDChecker.cxx:1140 AliITSQASDDChecker.cxx:1141 AliITSQASDDChecker.cxx:1142 AliITSQASDDChecker.cxx:1143 AliITSQASDDChecker.cxx:1144 AliITSQASDDChecker.cxx:1145 AliITSQASDDChecker.cxx:1146 AliITSQASDDChecker.cxx:1147 AliITSQASDDChecker.cxx:1148 AliITSQASDDChecker.cxx:1149 AliITSQASDDChecker.cxx:1150 AliITSQASDDChecker.cxx:1151 AliITSQASDDChecker.cxx:1152 AliITSQASDDChecker.cxx:1153 AliITSQASDDChecker.cxx:1154 AliITSQASDDChecker.cxx:1155 AliITSQASDDChecker.cxx:1156 AliITSQASDDChecker.cxx:1157 AliITSQASDDChecker.cxx:1158 AliITSQASDDChecker.cxx:1159 AliITSQASDDChecker.cxx:1160 AliITSQASDDChecker.cxx:1161 AliITSQASDDChecker.cxx:1162 AliITSQASDDChecker.cxx:1163 AliITSQASDDChecker.cxx:1164 AliITSQASDDChecker.cxx:1165 AliITSQASDDChecker.cxx:1166 AliITSQASDDChecker.cxx:1167 AliITSQASDDChecker.cxx:1168 AliITSQASDDChecker.cxx:1169 AliITSQASDDChecker.cxx:1170 AliITSQASDDChecker.cxx:1171 AliITSQASDDChecker.cxx:1172 AliITSQASDDChecker.cxx:1173 AliITSQASDDChecker.cxx:1174 AliITSQASDDChecker.cxx:1175 AliITSQASDDChecker.cxx:1176 AliITSQASDDChecker.cxx:1177 AliITSQASDDChecker.cxx:1178 AliITSQASDDChecker.cxx:1179 AliITSQASDDChecker.cxx:1180 AliITSQASDDChecker.cxx:1181 AliITSQASDDChecker.cxx:1182 AliITSQASDDChecker.cxx:1183 AliITSQASDDChecker.cxx:1184 AliITSQASDDChecker.cxx:1185 AliITSQASDDChecker.cxx:1186 AliITSQASDDChecker.cxx:1187 AliITSQASDDChecker.cxx:1188 AliITSQASDDChecker.cxx:1189 AliITSQASDDChecker.cxx:1190 AliITSQASDDChecker.cxx:1191 AliITSQASDDChecker.cxx:1192 AliITSQASDDChecker.cxx:1193 AliITSQASDDChecker.cxx:1194 AliITSQASDDChecker.cxx:1195 AliITSQASDDChecker.cxx:1196 AliITSQASDDChecker.cxx:1197 AliITSQASDDChecker.cxx:1198 AliITSQASDDChecker.cxx:1199 AliITSQASDDChecker.cxx:1200 AliITSQASDDChecker.cxx:1201 AliITSQASDDChecker.cxx:1202 AliITSQASDDChecker.cxx:1203 AliITSQASDDChecker.cxx:1204 AliITSQASDDChecker.cxx:1205 AliITSQASDDChecker.cxx:1206 AliITSQASDDChecker.cxx:1207 AliITSQASDDChecker.cxx:1208 AliITSQASDDChecker.cxx:1209 AliITSQASDDChecker.cxx:1210 AliITSQASDDChecker.cxx:1211 AliITSQASDDChecker.cxx:1212 AliITSQASDDChecker.cxx:1213 AliITSQASDDChecker.cxx:1214 AliITSQASDDChecker.cxx:1215 AliITSQASDDChecker.cxx:1216 AliITSQASDDChecker.cxx:1217 AliITSQASDDChecker.cxx:1218 AliITSQASDDChecker.cxx:1219 AliITSQASDDChecker.cxx:1220 AliITSQASDDChecker.cxx:1221 AliITSQASDDChecker.cxx:1222 AliITSQASDDChecker.cxx:1223 AliITSQASDDChecker.cxx:1224 AliITSQASDDChecker.cxx:1225 AliITSQASDDChecker.cxx:1226 AliITSQASDDChecker.cxx:1227 AliITSQASDDChecker.cxx:1228 AliITSQASDDChecker.cxx:1229 AliITSQASDDChecker.cxx:1230 AliITSQASDDChecker.cxx:1231 AliITSQASDDChecker.cxx:1232 AliITSQASDDChecker.cxx:1233 AliITSQASDDChecker.cxx:1234 AliITSQASDDChecker.cxx:1235 AliITSQASDDChecker.cxx:1236 AliITSQASDDChecker.cxx:1237 AliITSQASDDChecker.cxx:1238 AliITSQASDDChecker.cxx:1239 AliITSQASDDChecker.cxx:1240 AliITSQASDDChecker.cxx:1241 AliITSQASDDChecker.cxx:1242 AliITSQASDDChecker.cxx:1243 AliITSQASDDChecker.cxx:1244 AliITSQASDDChecker.cxx:1245 AliITSQASDDChecker.cxx:1246 AliITSQASDDChecker.cxx:1247 AliITSQASDDChecker.cxx:1248 AliITSQASDDChecker.cxx:1249 AliITSQASDDChecker.cxx:1250 AliITSQASDDChecker.cxx:1251 AliITSQASDDChecker.cxx:1252 AliITSQASDDChecker.cxx:1253 AliITSQASDDChecker.cxx:1254 AliITSQASDDChecker.cxx:1255 AliITSQASDDChecker.cxx:1256 AliITSQASDDChecker.cxx:1257 AliITSQASDDChecker.cxx:1258 AliITSQASDDChecker.cxx:1259 AliITSQASDDChecker.cxx:1260 AliITSQASDDChecker.cxx:1261 AliITSQASDDChecker.cxx:1262 AliITSQASDDChecker.cxx:1263 AliITSQASDDChecker.cxx:1264 AliITSQASDDChecker.cxx:1265 AliITSQASDDChecker.cxx:1266 AliITSQASDDChecker.cxx:1267 AliITSQASDDChecker.cxx:1268 AliITSQASDDChecker.cxx:1269 AliITSQASDDChecker.cxx:1270 AliITSQASDDChecker.cxx:1271 AliITSQASDDChecker.cxx:1272 AliITSQASDDChecker.cxx:1273 AliITSQASDDChecker.cxx:1274 AliITSQASDDChecker.cxx:1275 AliITSQASDDChecker.cxx:1276 AliITSQASDDChecker.cxx:1277 AliITSQASDDChecker.cxx:1278 AliITSQASDDChecker.cxx:1279 AliITSQASDDChecker.cxx:1280 AliITSQASDDChecker.cxx:1281 AliITSQASDDChecker.cxx:1282 AliITSQASDDChecker.cxx:1283 AliITSQASDDChecker.cxx:1284 AliITSQASDDChecker.cxx:1285 AliITSQASDDChecker.cxx:1286 AliITSQASDDChecker.cxx:1287 AliITSQASDDChecker.cxx:1288 AliITSQASDDChecker.cxx:1289 AliITSQASDDChecker.cxx:1290 AliITSQASDDChecker.cxx:1291 AliITSQASDDChecker.cxx:1292 AliITSQASDDChecker.cxx:1293 AliITSQASDDChecker.cxx:1294 AliITSQASDDChecker.cxx:1295 AliITSQASDDChecker.cxx:1296 AliITSQASDDChecker.cxx:1297 AliITSQASDDChecker.cxx:1298 AliITSQASDDChecker.cxx:1299 AliITSQASDDChecker.cxx:1300 AliITSQASDDChecker.cxx:1301 AliITSQASDDChecker.cxx:1302 AliITSQASDDChecker.cxx:1303 AliITSQASDDChecker.cxx:1304 AliITSQASDDChecker.cxx:1305 AliITSQASDDChecker.cxx:1306 AliITSQASDDChecker.cxx:1307 AliITSQASDDChecker.cxx:1308 AliITSQASDDChecker.cxx:1309 AliITSQASDDChecker.cxx:1310 AliITSQASDDChecker.cxx:1311 AliITSQASDDChecker.cxx:1312 AliITSQASDDChecker.cxx:1313 AliITSQASDDChecker.cxx:1314 AliITSQASDDChecker.cxx:1315 AliITSQASDDChecker.cxx:1316 AliITSQASDDChecker.cxx:1317 AliITSQASDDChecker.cxx:1318 AliITSQASDDChecker.cxx:1319 AliITSQASDDChecker.cxx:1320 AliITSQASDDChecker.cxx:1321 AliITSQASDDChecker.cxx:1322 AliITSQASDDChecker.cxx:1323 AliITSQASDDChecker.cxx:1324 AliITSQASDDChecker.cxx:1325 AliITSQASDDChecker.cxx:1326 AliITSQASDDChecker.cxx:1327 AliITSQASDDChecker.cxx:1328 AliITSQASDDChecker.cxx:1329 AliITSQASDDChecker.cxx:1330 AliITSQASDDChecker.cxx:1331 AliITSQASDDChecker.cxx:1332 AliITSQASDDChecker.cxx:1333 AliITSQASDDChecker.cxx:1334 AliITSQASDDChecker.cxx:1335 AliITSQASDDChecker.cxx:1336 AliITSQASDDChecker.cxx:1337 AliITSQASDDChecker.cxx:1338 AliITSQASDDChecker.cxx:1339 AliITSQASDDChecker.cxx:1340 AliITSQASDDChecker.cxx:1341 AliITSQASDDChecker.cxx:1342 AliITSQASDDChecker.cxx:1343 AliITSQASDDChecker.cxx:1344 AliITSQASDDChecker.cxx:1345 AliITSQASDDChecker.cxx:1346 AliITSQASDDChecker.cxx:1347 AliITSQASDDChecker.cxx:1348 AliITSQASDDChecker.cxx:1349 AliITSQASDDChecker.cxx:1350 AliITSQASDDChecker.cxx:1351 AliITSQASDDChecker.cxx:1352 AliITSQASDDChecker.cxx:1353 AliITSQASDDChecker.cxx:1354 AliITSQASDDChecker.cxx:1355 AliITSQASDDChecker.cxx:1356 AliITSQASDDChecker.cxx:1357 AliITSQASDDChecker.cxx:1358 AliITSQASDDChecker.cxx:1359 AliITSQASDDChecker.cxx:1360 AliITSQASDDChecker.cxx:1361 AliITSQASDDChecker.cxx:1362 AliITSQASDDChecker.cxx:1363 AliITSQASDDChecker.cxx:1364 AliITSQASDDChecker.cxx:1365 AliITSQASDDChecker.cxx:1366 AliITSQASDDChecker.cxx:1367 AliITSQASDDChecker.cxx:1368 AliITSQASDDChecker.cxx:1369 AliITSQASDDChecker.cxx:1370 AliITSQASDDChecker.cxx:1371 AliITSQASDDChecker.cxx:1372 AliITSQASDDChecker.cxx:1373 AliITSQASDDChecker.cxx:1374 AliITSQASDDChecker.cxx:1375 AliITSQASDDChecker.cxx:1376 AliITSQASDDChecker.cxx:1377 AliITSQASDDChecker.cxx:1378 AliITSQASDDChecker.cxx:1379 AliITSQASDDChecker.cxx:1380 AliITSQASDDChecker.cxx:1381 AliITSQASDDChecker.cxx:1382 AliITSQASDDChecker.cxx:1383 AliITSQASDDChecker.cxx:1384 AliITSQASDDChecker.cxx:1385 AliITSQASDDChecker.cxx:1386 AliITSQASDDChecker.cxx:1387 AliITSQASDDChecker.cxx:1388 AliITSQASDDChecker.cxx:1389 AliITSQASDDChecker.cxx:1390 AliITSQASDDChecker.cxx:1391 AliITSQASDDChecker.cxx:1392 AliITSQASDDChecker.cxx:1393 AliITSQASDDChecker.cxx:1394 AliITSQASDDChecker.cxx:1395 AliITSQASDDChecker.cxx:1396 AliITSQASDDChecker.cxx:1397 AliITSQASDDChecker.cxx:1398 AliITSQASDDChecker.cxx:1399 AliITSQASDDChecker.cxx:1400 AliITSQASDDChecker.cxx:1401 AliITSQASDDChecker.cxx:1402 AliITSQASDDChecker.cxx:1403 AliITSQASDDChecker.cxx:1404 AliITSQASDDChecker.cxx:1405 AliITSQASDDChecker.cxx:1406 AliITSQASDDChecker.cxx:1407 AliITSQASDDChecker.cxx:1408 AliITSQASDDChecker.cxx:1409 AliITSQASDDChecker.cxx:1410 AliITSQASDDChecker.cxx:1411 AliITSQASDDChecker.cxx:1412 AliITSQASDDChecker.cxx:1413 AliITSQASDDChecker.cxx:1414 AliITSQASDDChecker.cxx:1415 AliITSQASDDChecker.cxx:1416 AliITSQASDDChecker.cxx:1417 AliITSQASDDChecker.cxx:1418 AliITSQASDDChecker.cxx:1419 AliITSQASDDChecker.cxx:1420 AliITSQASDDChecker.cxx:1421 AliITSQASDDChecker.cxx:1422 AliITSQASDDChecker.cxx:1423 AliITSQASDDChecker.cxx:1424 AliITSQASDDChecker.cxx:1425 AliITSQASDDChecker.cxx:1426 AliITSQASDDChecker.cxx:1427 AliITSQASDDChecker.cxx:1428 AliITSQASDDChecker.cxx:1429 AliITSQASDDChecker.cxx:1430 AliITSQASDDChecker.cxx:1431 AliITSQASDDChecker.cxx:1432 AliITSQASDDChecker.cxx:1433 AliITSQASDDChecker.cxx:1434 AliITSQASDDChecker.cxx:1435 AliITSQASDDChecker.cxx:1436 AliITSQASDDChecker.cxx:1437 AliITSQASDDChecker.cxx:1438 AliITSQASDDChecker.cxx:1439 AliITSQASDDChecker.cxx:1440 AliITSQASDDChecker.cxx:1441 AliITSQASDDChecker.cxx:1442