#include <iostream>
#include <TObjArray.h>
#include <TString.h>
#include <TObjString.h>
#include <TStyle.h>
#include <TMarker.h>
#include <TAxis.h>
#include <TLine.h>
#include <TList.h>
#include <TTree.h>
#include <TMath.h>
#include <TGraph.h>
#include <TFrame.h>
#include <TIterator.h>
#include <TPad.h>
#include <TCanvas.h>
#include <TH1.h>
#include <TH2.h>
#include <TStopwatch.h>
#include <AliLog.h>
#include "AliTPCCalibQAChecker.h"
using namespace std;
AliTPCCalibQAChecker::AliTPCCalibQAChecker() :
TNamed("AliTPCCalibQAChecker","AliTPCCalibQAChecker"),
fTreePtr(0x0),
fHistPtr(0x0),
fGraphPtr(0x0),
fNumberPtr(0x0),
fHist(0x0),
fIterSubCheckers(0x0),
fArrSubCheckers(0x0),
fArrAlarmDescriptions(0x0),
fStrDrawRep(""),
fStrDrawRepOpt(""),
fStrDraw(""),
fStrDrawOpt(""),
fStrCuts(""),
fAlarmType(kMean),
fQualityLevel(kINFO),
fHistRep(0x0)
{
ResetAlarmThresholds();
}
AliTPCCalibQAChecker::AliTPCCalibQAChecker(const char* name, const char *title) :
TNamed(name,title),
fTreePtr(0x0),
fHistPtr(0x0),
fGraphPtr(0x0),
fNumberPtr(0x0),
fHist(0x0),
fIterSubCheckers(0x0),
fArrSubCheckers(0x0),
fArrAlarmDescriptions(0x0),
fStrDrawRep(""),
fStrDrawRepOpt(""),
fStrDraw(""),
fStrDrawOpt(""),
fStrCuts(""),
fAlarmType(kMean),
fQualityLevel(kINFO),
fHistRep(0x0)
{
ResetAlarmThresholds();
}
AliTPCCalibQAChecker::~AliTPCCalibQAChecker()
{
if (fHistRep) delete fHistRep;
if (fIterSubCheckers) delete fIterSubCheckers;
if (fArrAlarmDescriptions) delete fArrAlarmDescriptions;
if (fArrSubCheckers) delete fArrSubCheckers;
}
void AliTPCCalibQAChecker::AddSubChecker(AliTPCCalibQAChecker *alarm)
{
if (!alarm) return;
if (!fArrSubCheckers) {
fArrSubCheckers=new TObjArray;
fArrSubCheckers->SetOwner();
}
fArrSubCheckers->Add(alarm);
}
void AliTPCCalibQAChecker::Process()
{
fQualityLevel=kINFO;
TStopwatch s;
s.Start();
if (fArrSubCheckers && fArrSubCheckers->GetEntries()>0) ProcessSub();
else if (fTreePtr && *fTreePtr) ProcessTree();
else if (fHistPtr && *fHistPtr) ProcessHist();
else if (fGraphPtr && *fGraphPtr) ProcessGraph();
else if (fNumberPtr) ProcessNumber();
s.Stop();
AliInfo(Form("Processing Time (%s): %fs",GetName(),s.RealTime()));
}
void AliTPCCalibQAChecker::ProcessSub()
{
QualityFlag_t quality=kINFO;
if (fArrSubCheckers && fArrSubCheckers->GetEntries()>0){
TIter next(fArrSubCheckers);
TObject *o=0x0;
while ( (o=next()) ) {
AliTPCCalibQAChecker *al=(AliTPCCalibQAChecker*)o;
al->Process();
QualityFlag_t subQuality=al->GetQuality();
if (subQuality>quality) quality=subQuality;
}
}
fQualityLevel=quality;
}
void AliTPCCalibQAChecker::ProcessTree()
{
CreateRepresentationHist();
switch (fAlarmType){
case kNentries:
ProcessEntries();
break;
case kMean:
case kBinAny:
case kBinAll:
CreateAlarmHist();
ProcessHist();
ResetAlarmHist();
break;
}
}
void AliTPCCalibQAChecker::ProcessHist()
{
if (!(fHistPtr && *fHistPtr)) return;
switch (fAlarmType){
case kNentries:
case kMean:
ProcessMean();
break;
case kBinAny:
case kBinAll:
ProcessBin();
break;
}
if (!fTreePtr){
if (!fHistRep) {
fHistRep=(*fHistPtr)->Clone();
TH1* h=(TH1*)fHistRep;
h->SetDirectory(0);
h->SetNameTitle(Form("h%s",GetName()),GetTitle());
}
TH1* h=(TH1*)fHistRep;
h->Reset();
h->Add(*fHistPtr);
if (!fHistRep->InheritsFrom(TH2::Class())) AddQualityLines(h);
}
}
void AliTPCCalibQAChecker::ProcessGraph()
{
if (!(fGraphPtr && *fGraphPtr)) return;
Int_t npoints=(*fGraphPtr)->GetN();
fQualityLevel=GetQuality(npoints,(*fGraphPtr)->GetY());
}
void AliTPCCalibQAChecker::ProcessNumber()
{
if (!fNumberPtr) return;
fQualityLevel=GetQuality(*fNumberPtr);
if (!fHistRep){
TH1* h=new TH1F(Form("h%s",GetName()),GetTitle(),1,0,1);
h->GetXaxis()->SetBinLabel(1,"Value");
AddQualityLines(h);
h->SetDirectory(0);
fHistRep=h;
}
TH1 *h=(TH1*)fHistRep;
TMarker *marker=(TMarker*)h->GetListOfFunctions()->FindObject("TMarker");
if (!marker) {
marker=new TMarker(.5,0,20);
h->GetListOfFunctions()->Add(marker);
}
marker->SetMarkerColor(GetQualityColor());
marker->SetY(*fNumberPtr);
}
void AliTPCCalibQAChecker::ProcessEntries()
{
TString draw=fStrDraw;
if (draw.IsNull()) return;
TString cuts=fStrCuts;
TString opt=fStrDrawOpt;
opt+="goff";
Int_t res=(*fTreePtr)->Draw(draw.Data(),cuts.Data(),opt.Data());
fQualityLevel=GetQuality(res);
}
void AliTPCCalibQAChecker::ProcessMean()
{
TH1* h=(*fHistPtr);
Double_t value=h->GetMean();
if (fAlarmType==kNentries) value=h->GetEntries();
fQualityLevel=GetQuality(value);
}
void AliTPCCalibQAChecker::ProcessBin()
{
Int_t nquality[kNQualityFlags];
for (Int_t iquality=(Int_t)kINFO; iquality<kNQualityFlags; ++iquality) nquality[iquality]=0;
TH1 *h=(*fHistPtr);
Int_t nbinsX=h->GetNbinsX();
Int_t nbinsY=h->GetNbinsY();
Int_t nbinsZ=h->GetNbinsZ();
Int_t nbinsTotal=nbinsX*nbinsY*nbinsZ;
for (Int_t ibinZ=1;ibinZ<nbinsZ+1;++ibinZ){
for (Int_t ibinY=1;ibinY<nbinsY+1;++ibinY){
for (Int_t ibinX=1;ibinX<nbinsX+1;++ibinX){
Double_t value = (*fHistPtr)->GetBinContent(ibinX, ibinY, ibinZ);
QualityFlag_t quality=GetQuality(value);
nquality[quality]++;
}
}
}
for (Int_t iquality=(Int_t)kINFO; iquality<kNQualityFlags; ++iquality){
if (fAlarmType==kBinAny){
if (nquality[iquality]) fQualityLevel=(QualityFlag_t)iquality;
} else if (fAlarmType==kBinAll){
if (nquality[iquality]==nbinsTotal) fQualityLevel=(QualityFlag_t)iquality;
}
}
}
void AliTPCCalibQAChecker::CreateRepresentationHist()
{
ResetRepresentationHist();
TString draw=fStrDrawRep;
if (draw.IsNull()) {
draw=fStrDraw;
fStrDrawRepOpt=fStrDrawOpt;
} else {
draw.ReplaceAll("%alarm%",fStrDraw.Data());
}
if (draw.IsNull()) return;
TString cuts=fStrCuts;
TString opt=fStrDrawRepOpt;
opt+="goff";
Int_t res=(*fTreePtr)->Draw(draw.Data(),cuts.Data(),opt.Data());
TH1 *hist=(*fTreePtr)->GetHistogram();
if (res<0 || !hist){
AliError(Form("Could not create representation histogram of alarm '%s'",GetName()));
return;
}
fHistRep=hist->Clone();
TH1 *h=(TH1*)fHistRep;
h->SetDirectory(0);
h->SetNameTitle(Form("h%s",GetName()),GetTitle());
}
void AliTPCCalibQAChecker::CreateAlarmHist()
{
TString draw=fStrDraw;
if (draw.IsNull()) return;
TString cuts=fStrCuts;
TString opt=fStrDrawOpt;
opt+="goff";
Int_t res=(*fTreePtr)->Draw(draw.Data(),cuts.Data(),opt.Data());
fHist=(*fTreePtr)->GetHistogram();
if (res<0 || !fHist){
AliError(Form("Could not create alarm histogram of alarm '%s'",GetName()));
return;
}
fHist->SetDirectory(0);
fHistPtr=&fHist;
}
void AliTPCCalibQAChecker::ResetAlarmHist()
{
if (fHistPtr){
if (*fHistPtr) delete *fHistPtr;
fHistPtr=0x0;
}
}
void AliTPCCalibQAChecker::Draw(Option_t *option)
{
if (HasSubCheckers()&&!fHistRep) {DrawSubNodes(option); return;}
if (fHistRep) {DrawRepresentationHist(option); return;}
}
void AliTPCCalibQAChecker::Print(Option_t * const option) const
{
TString sOpt(option);
cout << sOpt << GetName() << ": " << GetQualityName() << endl;
if (fArrSubCheckers && fArrSubCheckers->GetEntries()>0){
sOpt.ReplaceAll("+-"," ");
sOpt+="+-";
TIter next(fArrSubCheckers);
TObject *o=0x0;
while ( (o=next()) ) o->Print(sOpt.Data());
}
}
void AliTPCCalibQAChecker::SetAlarmThreshold(Double_t min, Double_t max, QualityFlag_t quality)
{
if ((Int_t)quality<(Int_t)kINFO||(Int_t)quality>=kNQualityFlags) return;
fThresMin[quality]=min;
fThresMax[quality]=max;
}
void AliTPCCalibQAChecker::ResetAlarmThreshold(QualityFlag_t quality)
{
if ((Int_t)quality<(Int_t)kINFO||(Int_t)quality>=kNQualityFlags) return;
fThresMin[quality]=0;
fThresMax[quality]=0;
}
void AliTPCCalibQAChecker::ResetAlarmThresholds()
{
for (Int_t i=0;i<kNQualityFlags;++i){
fThresMin[i]=0;
fThresMax[i]=0;
}
}
void AliTPCCalibQAChecker::SetQualityDescription(const char* text, QualityFlag_t quality)
{
if (quality<kINFO||quality>kFATAL) return;
if (! fArrAlarmDescriptions ) fArrAlarmDescriptions=new TObjArray(kNQualityFlags);
TObjString *s=(TObjString*)fArrAlarmDescriptions->At(quality);
if (!s) fArrAlarmDescriptions->AddAt(s=new TObjString,quality);
s->SetString(text);
}
const AliTPCCalibQAChecker* AliTPCCalibQAChecker::GetSubChecker(const char* name, Bool_t recursive) const
{
TString sname(name);
if (sname==GetName()) return this;
if (!fArrSubCheckers || !fArrSubCheckers->GetEntries()) return 0x0;
const AliTPCCalibQAChecker *al=0x0;
if (recursive){
TIter next(fArrSubCheckers);
TObject *o=0x0;
while ( (o=next()) ){
AliTPCCalibQAChecker *sal=(AliTPCCalibQAChecker*)o;
al=sal->GetSubChecker(name);
if (al) break;
}
}else{
al=dynamic_cast<AliTPCCalibQAChecker*>(fArrSubCheckers->FindObject(name));
}
return al;
}
Int_t AliTPCCalibQAChecker::GetNumberOfSubCheckers(Bool_t recursive) const
{
Int_t nsub=0;
if (recursive){
if (!fArrSubCheckers) return 1;
if (!fArrSubCheckers->GetEntries()) return 0;
TIter next(fArrSubCheckers);
TObject *o=0x0;
while ( (o=next()) ){
AliTPCCalibQAChecker *al=(AliTPCCalibQAChecker*)o;
nsub+=al->GetNumberOfSubCheckers();
}
} else {
if (fArrSubCheckers) nsub=fArrSubCheckers->GetEntries();
}
return nsub;
}
AliTPCCalibQAChecker* AliTPCCalibQAChecker::NextSubChecker()
{
if (!fArrSubCheckers || !fArrSubCheckers->GetEntries()) return 0;
if (!fIterSubCheckers) fIterSubCheckers=fArrSubCheckers->MakeIterator();
AliTPCCalibQAChecker *al=(AliTPCCalibQAChecker*)fIterSubCheckers->Next();
if (!al){
delete fIterSubCheckers;
fIterSubCheckers=0x0;
}
return al;
}
const char* AliTPCCalibQAChecker::QualityName(AliTPCCalibQAChecker::QualityFlag_t quality)
{
switch (quality){
case kINFO:
return "Info";
break;
case kWARNING:
return "Warning";
break;
case kERROR:
return "Error";
break;
case kFATAL:
return "Fatal";
break;
default:
return "";
}
}
Color_t AliTPCCalibQAChecker::QualityColor(AliTPCCalibQAChecker::QualityFlag_t quality)
{
Color_t info = kSpring-8;
Color_t warning = kOrange;
Color_t error = kRed;
Color_t fatal = kRed+2;
Color_t none = kWhite;
switch(quality) {
case kINFO :
return info;
break;
case kWARNING :
return warning;
break;
case kERROR :
return error;
break;
case kFATAL :
return fatal;
break;
default:
return none;
}
return none;
}
const char* AliTPCCalibQAChecker::QualityDescription(QualityFlag_t quality) const
{
if (!fArrAlarmDescriptions || !fArrAlarmDescriptions->At(quality)) return "";
TString s(fArrAlarmDescriptions->At(quality)->GetName());
TString min, max;
min+=fThresMin[quality];
max+=fThresMax[quality];
s.ReplaceAll("%min",min);
s.ReplaceAll("%max",max);
return s.Data();
}
Int_t AliTPCCalibQAChecker::DrawInPad(TVirtualPad *pad, Int_t sub)
{
if (fArrSubCheckers){
if (fArrSubCheckers->GetEntries()>0){
TIter next(fArrSubCheckers);
TObject *o=0x0;
while ( (o=next()) ) {
AliTPCCalibQAChecker *al=(AliTPCCalibQAChecker*)o;
sub=al->DrawInPad(pad,sub);
}
}
} else {
pad->cd(sub);
++sub;
Draw();
}
return sub;
}
void AliTPCCalibQAChecker::DrawSubNodes(Option_t *)
{
if (!gPad) new TCanvas;
TPad *mother=(TPad*)gPad;
mother->Clear();
Int_t nPads = GetNumberOfSubCheckers();
Int_t nCols = (Int_t)TMath::Ceil( TMath::Sqrt(nPads) );
Int_t nRows = (Int_t)TMath::Ceil( (Double_t)nPads/(Double_t)nCols );
gPad->Divide(nCols,nRows);
DrawInPad(gPad);
mother->Update();
TPad *pad=0;
Int_t ipad=1;
while ( (pad=(TPad*)mother->GetPad(ipad)) ){
TFrame* frame=(TFrame*)pad->GetPrimitive("TFrame");
if (frame) frame->SetFillColor(kWhite);
else {printf("no frame\n");}
pad->Modified();
++ipad;
}
mother->Update();
}
void AliTPCCalibQAChecker::DrawRepresentationHist(const Option_t *option)
{
if (!fHistRep) return;
if (!gPad) new TCanvas;
Bool_t withBackColor=kTRUE;
TString opt=option;
opt.ToLower();
if (opt.Contains("nobc")) withBackColor=kFALSE;
opt.ReplaceAll("nobc","");
if (opt.IsNull()) opt=fStrDrawRepOpt;
opt.ToLower();
opt.ReplaceAll("prof","");
fHistRep->Draw(opt.Data());
if (withBackColor) {
gPad->SetFillColor(GetQualityColor());
}
gPad->Modified();
}
void AliTPCCalibQAChecker::AddQualityLines(TH1 *hist)
{
Double_t xmin=hist->GetXaxis()->GetXmin();
Double_t xmax=hist->GetXaxis()->GetXmax();
Double_t min=0;
Double_t max=0;
for (Int_t i=(Int_t)kINFO; i<kNQualityFlags; ++i){
if (fThresMin[i]>=fThresMax[i]) continue;
min=fThresMin[i];
max=fThresMax[i];
TLine *lmin=new TLine(xmin,min,xmax,min);
lmin->SetLineWidth(2);
lmin->SetLineColor(QualityColor((QualityFlag_t)i));
TLine *lmax=new TLine(xmin,max,xmax,max);
lmax->SetLineWidth(2);
lmax->SetLineColor(QualityColor((QualityFlag_t)i));
hist->GetListOfFunctions()->Add(lmin);
hist->GetListOfFunctions()->Add(lmax);
}
hist->SetAxisRange(min,max,"Y");
}
AliTPCCalibQAChecker.cxx:1 AliTPCCalibQAChecker.cxx:2 AliTPCCalibQAChecker.cxx:3 AliTPCCalibQAChecker.cxx:4 AliTPCCalibQAChecker.cxx:5 AliTPCCalibQAChecker.cxx:6 AliTPCCalibQAChecker.cxx:7 AliTPCCalibQAChecker.cxx:8 AliTPCCalibQAChecker.cxx:9 AliTPCCalibQAChecker.cxx:10 AliTPCCalibQAChecker.cxx:11 AliTPCCalibQAChecker.cxx:12 AliTPCCalibQAChecker.cxx:13 AliTPCCalibQAChecker.cxx:14 AliTPCCalibQAChecker.cxx:15 AliTPCCalibQAChecker.cxx:16 AliTPCCalibQAChecker.cxx:17 AliTPCCalibQAChecker.cxx:18 AliTPCCalibQAChecker.cxx:19 AliTPCCalibQAChecker.cxx:20 AliTPCCalibQAChecker.cxx:21 AliTPCCalibQAChecker.cxx:22 AliTPCCalibQAChecker.cxx:23 AliTPCCalibQAChecker.cxx:24 AliTPCCalibQAChecker.cxx:25 AliTPCCalibQAChecker.cxx:26 AliTPCCalibQAChecker.cxx:27 AliTPCCalibQAChecker.cxx:28 AliTPCCalibQAChecker.cxx:29 AliTPCCalibQAChecker.cxx:30 AliTPCCalibQAChecker.cxx:31 AliTPCCalibQAChecker.cxx:32 AliTPCCalibQAChecker.cxx:33 AliTPCCalibQAChecker.cxx:34 AliTPCCalibQAChecker.cxx:35 AliTPCCalibQAChecker.cxx:36 AliTPCCalibQAChecker.cxx:37 AliTPCCalibQAChecker.cxx:38 AliTPCCalibQAChecker.cxx:39 AliTPCCalibQAChecker.cxx:40 AliTPCCalibQAChecker.cxx:41 AliTPCCalibQAChecker.cxx:42 AliTPCCalibQAChecker.cxx:43 AliTPCCalibQAChecker.cxx:44 AliTPCCalibQAChecker.cxx:45 AliTPCCalibQAChecker.cxx:46 AliTPCCalibQAChecker.cxx:47 AliTPCCalibQAChecker.cxx:48 AliTPCCalibQAChecker.cxx:49 AliTPCCalibQAChecker.cxx:50 AliTPCCalibQAChecker.cxx:51 AliTPCCalibQAChecker.cxx:52 AliTPCCalibQAChecker.cxx:53 AliTPCCalibQAChecker.cxx:54 AliTPCCalibQAChecker.cxx:55 AliTPCCalibQAChecker.cxx:56 AliTPCCalibQAChecker.cxx:57 AliTPCCalibQAChecker.cxx:58 AliTPCCalibQAChecker.cxx:59 AliTPCCalibQAChecker.cxx:60 AliTPCCalibQAChecker.cxx:61 AliTPCCalibQAChecker.cxx:62 AliTPCCalibQAChecker.cxx:63 AliTPCCalibQAChecker.cxx:64 AliTPCCalibQAChecker.cxx:65 AliTPCCalibQAChecker.cxx:66 AliTPCCalibQAChecker.cxx:67 AliTPCCalibQAChecker.cxx:68 AliTPCCalibQAChecker.cxx:69 AliTPCCalibQAChecker.cxx:70 AliTPCCalibQAChecker.cxx:71 AliTPCCalibQAChecker.cxx:72 AliTPCCalibQAChecker.cxx:73 AliTPCCalibQAChecker.cxx:74 AliTPCCalibQAChecker.cxx:75 AliTPCCalibQAChecker.cxx:76 AliTPCCalibQAChecker.cxx:77 AliTPCCalibQAChecker.cxx:78 AliTPCCalibQAChecker.cxx:79 AliTPCCalibQAChecker.cxx:80 AliTPCCalibQAChecker.cxx:81 AliTPCCalibQAChecker.cxx:82 AliTPCCalibQAChecker.cxx:83 AliTPCCalibQAChecker.cxx:84 AliTPCCalibQAChecker.cxx:85 AliTPCCalibQAChecker.cxx:86 AliTPCCalibQAChecker.cxx:87 AliTPCCalibQAChecker.cxx:88 AliTPCCalibQAChecker.cxx:89 AliTPCCalibQAChecker.cxx:90 AliTPCCalibQAChecker.cxx:91 AliTPCCalibQAChecker.cxx:92 AliTPCCalibQAChecker.cxx:93 AliTPCCalibQAChecker.cxx:94 AliTPCCalibQAChecker.cxx:95 AliTPCCalibQAChecker.cxx:96 AliTPCCalibQAChecker.cxx:97 AliTPCCalibQAChecker.cxx:98 AliTPCCalibQAChecker.cxx:99 AliTPCCalibQAChecker.cxx:100 AliTPCCalibQAChecker.cxx:101 AliTPCCalibQAChecker.cxx:102 AliTPCCalibQAChecker.cxx:103 AliTPCCalibQAChecker.cxx:104 AliTPCCalibQAChecker.cxx:105 AliTPCCalibQAChecker.cxx:106 AliTPCCalibQAChecker.cxx:107 AliTPCCalibQAChecker.cxx:108 AliTPCCalibQAChecker.cxx:109 AliTPCCalibQAChecker.cxx:110 AliTPCCalibQAChecker.cxx:111 AliTPCCalibQAChecker.cxx:112 AliTPCCalibQAChecker.cxx:113 AliTPCCalibQAChecker.cxx:114 AliTPCCalibQAChecker.cxx:115 AliTPCCalibQAChecker.cxx:116 AliTPCCalibQAChecker.cxx:117 AliTPCCalibQAChecker.cxx:118 AliTPCCalibQAChecker.cxx:119 AliTPCCalibQAChecker.cxx:120 AliTPCCalibQAChecker.cxx:121 AliTPCCalibQAChecker.cxx:122 AliTPCCalibQAChecker.cxx:123 AliTPCCalibQAChecker.cxx:124 AliTPCCalibQAChecker.cxx:125 AliTPCCalibQAChecker.cxx:126 AliTPCCalibQAChecker.cxx:127 AliTPCCalibQAChecker.cxx:128 AliTPCCalibQAChecker.cxx:129 AliTPCCalibQAChecker.cxx:130 AliTPCCalibQAChecker.cxx:131 AliTPCCalibQAChecker.cxx:132 AliTPCCalibQAChecker.cxx:133 AliTPCCalibQAChecker.cxx:134 AliTPCCalibQAChecker.cxx:135 AliTPCCalibQAChecker.cxx:136 AliTPCCalibQAChecker.cxx:137 AliTPCCalibQAChecker.cxx:138 AliTPCCalibQAChecker.cxx:139 AliTPCCalibQAChecker.cxx:140 AliTPCCalibQAChecker.cxx:141 AliTPCCalibQAChecker.cxx:142 AliTPCCalibQAChecker.cxx:143 AliTPCCalibQAChecker.cxx:144 AliTPCCalibQAChecker.cxx:145 AliTPCCalibQAChecker.cxx:146 AliTPCCalibQAChecker.cxx:147 AliTPCCalibQAChecker.cxx:148 AliTPCCalibQAChecker.cxx:149 AliTPCCalibQAChecker.cxx:150 AliTPCCalibQAChecker.cxx:151 AliTPCCalibQAChecker.cxx:152 AliTPCCalibQAChecker.cxx:153 AliTPCCalibQAChecker.cxx:154 AliTPCCalibQAChecker.cxx:155 AliTPCCalibQAChecker.cxx:156 AliTPCCalibQAChecker.cxx:157 AliTPCCalibQAChecker.cxx:158 AliTPCCalibQAChecker.cxx:159 AliTPCCalibQAChecker.cxx:160 AliTPCCalibQAChecker.cxx:161 AliTPCCalibQAChecker.cxx:162 AliTPCCalibQAChecker.cxx:163 AliTPCCalibQAChecker.cxx:164 AliTPCCalibQAChecker.cxx:165 AliTPCCalibQAChecker.cxx:166 AliTPCCalibQAChecker.cxx:167 AliTPCCalibQAChecker.cxx:168 AliTPCCalibQAChecker.cxx:169 AliTPCCalibQAChecker.cxx:170 AliTPCCalibQAChecker.cxx:171 AliTPCCalibQAChecker.cxx:172 AliTPCCalibQAChecker.cxx:173 AliTPCCalibQAChecker.cxx:174 AliTPCCalibQAChecker.cxx:175 AliTPCCalibQAChecker.cxx:176 AliTPCCalibQAChecker.cxx:177 AliTPCCalibQAChecker.cxx:178 AliTPCCalibQAChecker.cxx:179 AliTPCCalibQAChecker.cxx:180 AliTPCCalibQAChecker.cxx:181 AliTPCCalibQAChecker.cxx:182 AliTPCCalibQAChecker.cxx:183 AliTPCCalibQAChecker.cxx:184 AliTPCCalibQAChecker.cxx:185 AliTPCCalibQAChecker.cxx:186 AliTPCCalibQAChecker.cxx:187 AliTPCCalibQAChecker.cxx:188 AliTPCCalibQAChecker.cxx:189 AliTPCCalibQAChecker.cxx:190 AliTPCCalibQAChecker.cxx:191 AliTPCCalibQAChecker.cxx:192 AliTPCCalibQAChecker.cxx:193 AliTPCCalibQAChecker.cxx:194 AliTPCCalibQAChecker.cxx:195 AliTPCCalibQAChecker.cxx:196 AliTPCCalibQAChecker.cxx:197 AliTPCCalibQAChecker.cxx:198 AliTPCCalibQAChecker.cxx:199 AliTPCCalibQAChecker.cxx:200 AliTPCCalibQAChecker.cxx:201 AliTPCCalibQAChecker.cxx:202 AliTPCCalibQAChecker.cxx:203 AliTPCCalibQAChecker.cxx:204 AliTPCCalibQAChecker.cxx:205 AliTPCCalibQAChecker.cxx:206 AliTPCCalibQAChecker.cxx:207 AliTPCCalibQAChecker.cxx:208 AliTPCCalibQAChecker.cxx:209 AliTPCCalibQAChecker.cxx:210 AliTPCCalibQAChecker.cxx:211 AliTPCCalibQAChecker.cxx:212 AliTPCCalibQAChecker.cxx:213 AliTPCCalibQAChecker.cxx:214 AliTPCCalibQAChecker.cxx:215 AliTPCCalibQAChecker.cxx:216 AliTPCCalibQAChecker.cxx:217 AliTPCCalibQAChecker.cxx:218 AliTPCCalibQAChecker.cxx:219 AliTPCCalibQAChecker.cxx:220 AliTPCCalibQAChecker.cxx:221 AliTPCCalibQAChecker.cxx:222 AliTPCCalibQAChecker.cxx:223 AliTPCCalibQAChecker.cxx:224 AliTPCCalibQAChecker.cxx:225 AliTPCCalibQAChecker.cxx:226 AliTPCCalibQAChecker.cxx:227 AliTPCCalibQAChecker.cxx:228 AliTPCCalibQAChecker.cxx:229 AliTPCCalibQAChecker.cxx:230 AliTPCCalibQAChecker.cxx:231 AliTPCCalibQAChecker.cxx:232 AliTPCCalibQAChecker.cxx:233 AliTPCCalibQAChecker.cxx:234 AliTPCCalibQAChecker.cxx:235 AliTPCCalibQAChecker.cxx:236 AliTPCCalibQAChecker.cxx:237 AliTPCCalibQAChecker.cxx:238 AliTPCCalibQAChecker.cxx:239 AliTPCCalibQAChecker.cxx:240 AliTPCCalibQAChecker.cxx:241 AliTPCCalibQAChecker.cxx:242 AliTPCCalibQAChecker.cxx:243 AliTPCCalibQAChecker.cxx:244 AliTPCCalibQAChecker.cxx:245 AliTPCCalibQAChecker.cxx:246 AliTPCCalibQAChecker.cxx:247 AliTPCCalibQAChecker.cxx:248 AliTPCCalibQAChecker.cxx:249 AliTPCCalibQAChecker.cxx:250 AliTPCCalibQAChecker.cxx:251 AliTPCCalibQAChecker.cxx:252 AliTPCCalibQAChecker.cxx:253 AliTPCCalibQAChecker.cxx:254 AliTPCCalibQAChecker.cxx:255 AliTPCCalibQAChecker.cxx:256 AliTPCCalibQAChecker.cxx:257 AliTPCCalibQAChecker.cxx:258 AliTPCCalibQAChecker.cxx:259 AliTPCCalibQAChecker.cxx:260 AliTPCCalibQAChecker.cxx:261 AliTPCCalibQAChecker.cxx:262 AliTPCCalibQAChecker.cxx:263 AliTPCCalibQAChecker.cxx:264 AliTPCCalibQAChecker.cxx:265 AliTPCCalibQAChecker.cxx:266 AliTPCCalibQAChecker.cxx:267 AliTPCCalibQAChecker.cxx:268 AliTPCCalibQAChecker.cxx:269 AliTPCCalibQAChecker.cxx:270 AliTPCCalibQAChecker.cxx:271 AliTPCCalibQAChecker.cxx:272 AliTPCCalibQAChecker.cxx:273 AliTPCCalibQAChecker.cxx:274 AliTPCCalibQAChecker.cxx:275 AliTPCCalibQAChecker.cxx:276 AliTPCCalibQAChecker.cxx:277 AliTPCCalibQAChecker.cxx:278 AliTPCCalibQAChecker.cxx:279 AliTPCCalibQAChecker.cxx:280 AliTPCCalibQAChecker.cxx:281 AliTPCCalibQAChecker.cxx:282 AliTPCCalibQAChecker.cxx:283 AliTPCCalibQAChecker.cxx:284 AliTPCCalibQAChecker.cxx:285 AliTPCCalibQAChecker.cxx:286 AliTPCCalibQAChecker.cxx:287 AliTPCCalibQAChecker.cxx:288 AliTPCCalibQAChecker.cxx:289 AliTPCCalibQAChecker.cxx:290 AliTPCCalibQAChecker.cxx:291 AliTPCCalibQAChecker.cxx:292 AliTPCCalibQAChecker.cxx:293 AliTPCCalibQAChecker.cxx:294 AliTPCCalibQAChecker.cxx:295 AliTPCCalibQAChecker.cxx:296 AliTPCCalibQAChecker.cxx:297 AliTPCCalibQAChecker.cxx:298 AliTPCCalibQAChecker.cxx:299 AliTPCCalibQAChecker.cxx:300 AliTPCCalibQAChecker.cxx:301 AliTPCCalibQAChecker.cxx:302 AliTPCCalibQAChecker.cxx:303 AliTPCCalibQAChecker.cxx:304 AliTPCCalibQAChecker.cxx:305 AliTPCCalibQAChecker.cxx:306 AliTPCCalibQAChecker.cxx:307 AliTPCCalibQAChecker.cxx:308 AliTPCCalibQAChecker.cxx:309 AliTPCCalibQAChecker.cxx:310 AliTPCCalibQAChecker.cxx:311 AliTPCCalibQAChecker.cxx:312 AliTPCCalibQAChecker.cxx:313 AliTPCCalibQAChecker.cxx:314 AliTPCCalibQAChecker.cxx:315 AliTPCCalibQAChecker.cxx:316 AliTPCCalibQAChecker.cxx:317 AliTPCCalibQAChecker.cxx:318 AliTPCCalibQAChecker.cxx:319 AliTPCCalibQAChecker.cxx:320 AliTPCCalibQAChecker.cxx:321 AliTPCCalibQAChecker.cxx:322 AliTPCCalibQAChecker.cxx:323 AliTPCCalibQAChecker.cxx:324 AliTPCCalibQAChecker.cxx:325 AliTPCCalibQAChecker.cxx:326 AliTPCCalibQAChecker.cxx:327 AliTPCCalibQAChecker.cxx:328 AliTPCCalibQAChecker.cxx:329 AliTPCCalibQAChecker.cxx:330 AliTPCCalibQAChecker.cxx:331 AliTPCCalibQAChecker.cxx:332 AliTPCCalibQAChecker.cxx:333 AliTPCCalibQAChecker.cxx:334 AliTPCCalibQAChecker.cxx:335 AliTPCCalibQAChecker.cxx:336 AliTPCCalibQAChecker.cxx:337 AliTPCCalibQAChecker.cxx:338 AliTPCCalibQAChecker.cxx:339 AliTPCCalibQAChecker.cxx:340 AliTPCCalibQAChecker.cxx:341 AliTPCCalibQAChecker.cxx:342 AliTPCCalibQAChecker.cxx:343 AliTPCCalibQAChecker.cxx:344 AliTPCCalibQAChecker.cxx:345 AliTPCCalibQAChecker.cxx:346 AliTPCCalibQAChecker.cxx:347 AliTPCCalibQAChecker.cxx:348 AliTPCCalibQAChecker.cxx:349 AliTPCCalibQAChecker.cxx:350 AliTPCCalibQAChecker.cxx:351 AliTPCCalibQAChecker.cxx:352 AliTPCCalibQAChecker.cxx:353 AliTPCCalibQAChecker.cxx:354 AliTPCCalibQAChecker.cxx:355 AliTPCCalibQAChecker.cxx:356 AliTPCCalibQAChecker.cxx:357 AliTPCCalibQAChecker.cxx:358 AliTPCCalibQAChecker.cxx:359 AliTPCCalibQAChecker.cxx:360 AliTPCCalibQAChecker.cxx:361 AliTPCCalibQAChecker.cxx:362 AliTPCCalibQAChecker.cxx:363 AliTPCCalibQAChecker.cxx:364 AliTPCCalibQAChecker.cxx:365 AliTPCCalibQAChecker.cxx:366 AliTPCCalibQAChecker.cxx:367 AliTPCCalibQAChecker.cxx:368 AliTPCCalibQAChecker.cxx:369 AliTPCCalibQAChecker.cxx:370 AliTPCCalibQAChecker.cxx:371 AliTPCCalibQAChecker.cxx:372 AliTPCCalibQAChecker.cxx:373 AliTPCCalibQAChecker.cxx:374 AliTPCCalibQAChecker.cxx:375 AliTPCCalibQAChecker.cxx:376 AliTPCCalibQAChecker.cxx:377 AliTPCCalibQAChecker.cxx:378 AliTPCCalibQAChecker.cxx:379 AliTPCCalibQAChecker.cxx:380 AliTPCCalibQAChecker.cxx:381 AliTPCCalibQAChecker.cxx:382 AliTPCCalibQAChecker.cxx:383 AliTPCCalibQAChecker.cxx:384 AliTPCCalibQAChecker.cxx:385 AliTPCCalibQAChecker.cxx:386 AliTPCCalibQAChecker.cxx:387 AliTPCCalibQAChecker.cxx:388 AliTPCCalibQAChecker.cxx:389 AliTPCCalibQAChecker.cxx:390 AliTPCCalibQAChecker.cxx:391 AliTPCCalibQAChecker.cxx:392 AliTPCCalibQAChecker.cxx:393 AliTPCCalibQAChecker.cxx:394 AliTPCCalibQAChecker.cxx:395 AliTPCCalibQAChecker.cxx:396 AliTPCCalibQAChecker.cxx:397 AliTPCCalibQAChecker.cxx:398 AliTPCCalibQAChecker.cxx:399 AliTPCCalibQAChecker.cxx:400 AliTPCCalibQAChecker.cxx:401 AliTPCCalibQAChecker.cxx:402 AliTPCCalibQAChecker.cxx:403 AliTPCCalibQAChecker.cxx:404 AliTPCCalibQAChecker.cxx:405 AliTPCCalibQAChecker.cxx:406 AliTPCCalibQAChecker.cxx:407 AliTPCCalibQAChecker.cxx:408 AliTPCCalibQAChecker.cxx:409 AliTPCCalibQAChecker.cxx:410 AliTPCCalibQAChecker.cxx:411 AliTPCCalibQAChecker.cxx:412 AliTPCCalibQAChecker.cxx:413 AliTPCCalibQAChecker.cxx:414 AliTPCCalibQAChecker.cxx:415 AliTPCCalibQAChecker.cxx:416 AliTPCCalibQAChecker.cxx:417 AliTPCCalibQAChecker.cxx:418 AliTPCCalibQAChecker.cxx:419 AliTPCCalibQAChecker.cxx:420 AliTPCCalibQAChecker.cxx:421 AliTPCCalibQAChecker.cxx:422 AliTPCCalibQAChecker.cxx:423 AliTPCCalibQAChecker.cxx:424 AliTPCCalibQAChecker.cxx:425 AliTPCCalibQAChecker.cxx:426 AliTPCCalibQAChecker.cxx:427 AliTPCCalibQAChecker.cxx:428 AliTPCCalibQAChecker.cxx:429 AliTPCCalibQAChecker.cxx:430 AliTPCCalibQAChecker.cxx:431 AliTPCCalibQAChecker.cxx:432 AliTPCCalibQAChecker.cxx:433 AliTPCCalibQAChecker.cxx:434 AliTPCCalibQAChecker.cxx:435 AliTPCCalibQAChecker.cxx:436 AliTPCCalibQAChecker.cxx:437 AliTPCCalibQAChecker.cxx:438 AliTPCCalibQAChecker.cxx:439 AliTPCCalibQAChecker.cxx:440 AliTPCCalibQAChecker.cxx:441 AliTPCCalibQAChecker.cxx:442 AliTPCCalibQAChecker.cxx:443 AliTPCCalibQAChecker.cxx:444 AliTPCCalibQAChecker.cxx:445 AliTPCCalibQAChecker.cxx:446 AliTPCCalibQAChecker.cxx:447 AliTPCCalibQAChecker.cxx:448 AliTPCCalibQAChecker.cxx:449 AliTPCCalibQAChecker.cxx:450 AliTPCCalibQAChecker.cxx:451 AliTPCCalibQAChecker.cxx:452 AliTPCCalibQAChecker.cxx:453 AliTPCCalibQAChecker.cxx:454 AliTPCCalibQAChecker.cxx:455 AliTPCCalibQAChecker.cxx:456 AliTPCCalibQAChecker.cxx:457 AliTPCCalibQAChecker.cxx:458 AliTPCCalibQAChecker.cxx:459 AliTPCCalibQAChecker.cxx:460 AliTPCCalibQAChecker.cxx:461 AliTPCCalibQAChecker.cxx:462 AliTPCCalibQAChecker.cxx:463 AliTPCCalibQAChecker.cxx:464 AliTPCCalibQAChecker.cxx:465 AliTPCCalibQAChecker.cxx:466 AliTPCCalibQAChecker.cxx:467 AliTPCCalibQAChecker.cxx:468 AliTPCCalibQAChecker.cxx:469 AliTPCCalibQAChecker.cxx:470 AliTPCCalibQAChecker.cxx:471 AliTPCCalibQAChecker.cxx:472 AliTPCCalibQAChecker.cxx:473 AliTPCCalibQAChecker.cxx:474 AliTPCCalibQAChecker.cxx:475 AliTPCCalibQAChecker.cxx:476 AliTPCCalibQAChecker.cxx:477 AliTPCCalibQAChecker.cxx:478 AliTPCCalibQAChecker.cxx:479 AliTPCCalibQAChecker.cxx:480 AliTPCCalibQAChecker.cxx:481 AliTPCCalibQAChecker.cxx:482 AliTPCCalibQAChecker.cxx:483 AliTPCCalibQAChecker.cxx:484 AliTPCCalibQAChecker.cxx:485 AliTPCCalibQAChecker.cxx:486 AliTPCCalibQAChecker.cxx:487 AliTPCCalibQAChecker.cxx:488 AliTPCCalibQAChecker.cxx:489 AliTPCCalibQAChecker.cxx:490 AliTPCCalibQAChecker.cxx:491 AliTPCCalibQAChecker.cxx:492 AliTPCCalibQAChecker.cxx:493 AliTPCCalibQAChecker.cxx:494 AliTPCCalibQAChecker.cxx:495 AliTPCCalibQAChecker.cxx:496 AliTPCCalibQAChecker.cxx:497 AliTPCCalibQAChecker.cxx:498 AliTPCCalibQAChecker.cxx:499 AliTPCCalibQAChecker.cxx:500 AliTPCCalibQAChecker.cxx:501 AliTPCCalibQAChecker.cxx:502 AliTPCCalibQAChecker.cxx:503 AliTPCCalibQAChecker.cxx:504 AliTPCCalibQAChecker.cxx:505 AliTPCCalibQAChecker.cxx:506 AliTPCCalibQAChecker.cxx:507 AliTPCCalibQAChecker.cxx:508 AliTPCCalibQAChecker.cxx:509 AliTPCCalibQAChecker.cxx:510 AliTPCCalibQAChecker.cxx:511 AliTPCCalibQAChecker.cxx:512 AliTPCCalibQAChecker.cxx:513 AliTPCCalibQAChecker.cxx:514 AliTPCCalibQAChecker.cxx:515 AliTPCCalibQAChecker.cxx:516 AliTPCCalibQAChecker.cxx:517 AliTPCCalibQAChecker.cxx:518 AliTPCCalibQAChecker.cxx:519 AliTPCCalibQAChecker.cxx:520 AliTPCCalibQAChecker.cxx:521 AliTPCCalibQAChecker.cxx:522 AliTPCCalibQAChecker.cxx:523 AliTPCCalibQAChecker.cxx:524 AliTPCCalibQAChecker.cxx:525 AliTPCCalibQAChecker.cxx:526 AliTPCCalibQAChecker.cxx:527 AliTPCCalibQAChecker.cxx:528 AliTPCCalibQAChecker.cxx:529 AliTPCCalibQAChecker.cxx:530 AliTPCCalibQAChecker.cxx:531 AliTPCCalibQAChecker.cxx:532 AliTPCCalibQAChecker.cxx:533 AliTPCCalibQAChecker.cxx:534 AliTPCCalibQAChecker.cxx:535 AliTPCCalibQAChecker.cxx:536 AliTPCCalibQAChecker.cxx:537 AliTPCCalibQAChecker.cxx:538 AliTPCCalibQAChecker.cxx:539 AliTPCCalibQAChecker.cxx:540 AliTPCCalibQAChecker.cxx:541 AliTPCCalibQAChecker.cxx:542 AliTPCCalibQAChecker.cxx:543 AliTPCCalibQAChecker.cxx:544 AliTPCCalibQAChecker.cxx:545 AliTPCCalibQAChecker.cxx:546 AliTPCCalibQAChecker.cxx:547 AliTPCCalibQAChecker.cxx:548 AliTPCCalibQAChecker.cxx:549 AliTPCCalibQAChecker.cxx:550 AliTPCCalibQAChecker.cxx:551 AliTPCCalibQAChecker.cxx:552 AliTPCCalibQAChecker.cxx:553 AliTPCCalibQAChecker.cxx:554 AliTPCCalibQAChecker.cxx:555 AliTPCCalibQAChecker.cxx:556 AliTPCCalibQAChecker.cxx:557 AliTPCCalibQAChecker.cxx:558 AliTPCCalibQAChecker.cxx:559 AliTPCCalibQAChecker.cxx:560 AliTPCCalibQAChecker.cxx:561 AliTPCCalibQAChecker.cxx:562 AliTPCCalibQAChecker.cxx:563 AliTPCCalibQAChecker.cxx:564 AliTPCCalibQAChecker.cxx:565 AliTPCCalibQAChecker.cxx:566 AliTPCCalibQAChecker.cxx:567 AliTPCCalibQAChecker.cxx:568 AliTPCCalibQAChecker.cxx:569 AliTPCCalibQAChecker.cxx:570 AliTPCCalibQAChecker.cxx:571 AliTPCCalibQAChecker.cxx:572 AliTPCCalibQAChecker.cxx:573 AliTPCCalibQAChecker.cxx:574 AliTPCCalibQAChecker.cxx:575 AliTPCCalibQAChecker.cxx:576 AliTPCCalibQAChecker.cxx:577 AliTPCCalibQAChecker.cxx:578 AliTPCCalibQAChecker.cxx:579 AliTPCCalibQAChecker.cxx:580 AliTPCCalibQAChecker.cxx:581 AliTPCCalibQAChecker.cxx:582 AliTPCCalibQAChecker.cxx:583 AliTPCCalibQAChecker.cxx:584 AliTPCCalibQAChecker.cxx:585 AliTPCCalibQAChecker.cxx:586 AliTPCCalibQAChecker.cxx:587 AliTPCCalibQAChecker.cxx:588 AliTPCCalibQAChecker.cxx:589 AliTPCCalibQAChecker.cxx:590 AliTPCCalibQAChecker.cxx:591 AliTPCCalibQAChecker.cxx:592 AliTPCCalibQAChecker.cxx:593 AliTPCCalibQAChecker.cxx:594 AliTPCCalibQAChecker.cxx:595 AliTPCCalibQAChecker.cxx:596 AliTPCCalibQAChecker.cxx:597 AliTPCCalibQAChecker.cxx:598 AliTPCCalibQAChecker.cxx:599 AliTPCCalibQAChecker.cxx:600 AliTPCCalibQAChecker.cxx:601 AliTPCCalibQAChecker.cxx:602 AliTPCCalibQAChecker.cxx:603 AliTPCCalibQAChecker.cxx:604 AliTPCCalibQAChecker.cxx:605 AliTPCCalibQAChecker.cxx:606 AliTPCCalibQAChecker.cxx:607 AliTPCCalibQAChecker.cxx:608 AliTPCCalibQAChecker.cxx:609 AliTPCCalibQAChecker.cxx:610 AliTPCCalibQAChecker.cxx:611 AliTPCCalibQAChecker.cxx:612 AliTPCCalibQAChecker.cxx:613 AliTPCCalibQAChecker.cxx:614 AliTPCCalibQAChecker.cxx:615 AliTPCCalibQAChecker.cxx:616 AliTPCCalibQAChecker.cxx:617 AliTPCCalibQAChecker.cxx:618 AliTPCCalibQAChecker.cxx:619 AliTPCCalibQAChecker.cxx:620 AliTPCCalibQAChecker.cxx:621 AliTPCCalibQAChecker.cxx:622 AliTPCCalibQAChecker.cxx:623 AliTPCCalibQAChecker.cxx:624 AliTPCCalibQAChecker.cxx:625 AliTPCCalibQAChecker.cxx:626 AliTPCCalibQAChecker.cxx:627 AliTPCCalibQAChecker.cxx:628 AliTPCCalibQAChecker.cxx:629 AliTPCCalibQAChecker.cxx:630 AliTPCCalibQAChecker.cxx:631 AliTPCCalibQAChecker.cxx:632 AliTPCCalibQAChecker.cxx:633 AliTPCCalibQAChecker.cxx:634 AliTPCCalibQAChecker.cxx:635 AliTPCCalibQAChecker.cxx:636 AliTPCCalibQAChecker.cxx:637 AliTPCCalibQAChecker.cxx:638 AliTPCCalibQAChecker.cxx:639 AliTPCCalibQAChecker.cxx:640 AliTPCCalibQAChecker.cxx:641 AliTPCCalibQAChecker.cxx:642 AliTPCCalibQAChecker.cxx:643 AliTPCCalibQAChecker.cxx:644 AliTPCCalibQAChecker.cxx:645 AliTPCCalibQAChecker.cxx:646 AliTPCCalibQAChecker.cxx:647 AliTPCCalibQAChecker.cxx:648 AliTPCCalibQAChecker.cxx:649 AliTPCCalibQAChecker.cxx:650 AliTPCCalibQAChecker.cxx:651 AliTPCCalibQAChecker.cxx:652 AliTPCCalibQAChecker.cxx:653 AliTPCCalibQAChecker.cxx:654 AliTPCCalibQAChecker.cxx:655 AliTPCCalibQAChecker.cxx:656 AliTPCCalibQAChecker.cxx:657 AliTPCCalibQAChecker.cxx:658 AliTPCCalibQAChecker.cxx:659 AliTPCCalibQAChecker.cxx:660 AliTPCCalibQAChecker.cxx:661 AliTPCCalibQAChecker.cxx:662 AliTPCCalibQAChecker.cxx:663 AliTPCCalibQAChecker.cxx:664 AliTPCCalibQAChecker.cxx:665 AliTPCCalibQAChecker.cxx:666 AliTPCCalibQAChecker.cxx:667 AliTPCCalibQAChecker.cxx:668 AliTPCCalibQAChecker.cxx:669 AliTPCCalibQAChecker.cxx:670 AliTPCCalibQAChecker.cxx:671 AliTPCCalibQAChecker.cxx:672 AliTPCCalibQAChecker.cxx:673 AliTPCCalibQAChecker.cxx:674 AliTPCCalibQAChecker.cxx:675 AliTPCCalibQAChecker.cxx:676 AliTPCCalibQAChecker.cxx:677 AliTPCCalibQAChecker.cxx:678 AliTPCCalibQAChecker.cxx:679 AliTPCCalibQAChecker.cxx:680 AliTPCCalibQAChecker.cxx:681 AliTPCCalibQAChecker.cxx:682 AliTPCCalibQAChecker.cxx:683 AliTPCCalibQAChecker.cxx:684 AliTPCCalibQAChecker.cxx:685 AliTPCCalibQAChecker.cxx:686 AliTPCCalibQAChecker.cxx:687 AliTPCCalibQAChecker.cxx:688 AliTPCCalibQAChecker.cxx:689 AliTPCCalibQAChecker.cxx:690 AliTPCCalibQAChecker.cxx:691 AliTPCCalibQAChecker.cxx:692 AliTPCCalibQAChecker.cxx:693 AliTPCCalibQAChecker.cxx:694 AliTPCCalibQAChecker.cxx:695 AliTPCCalibQAChecker.cxx:696 AliTPCCalibQAChecker.cxx:697 AliTPCCalibQAChecker.cxx:698 AliTPCCalibQAChecker.cxx:699 AliTPCCalibQAChecker.cxx:700 AliTPCCalibQAChecker.cxx:701 AliTPCCalibQAChecker.cxx:702 AliTPCCalibQAChecker.cxx:703 AliTPCCalibQAChecker.cxx:704 AliTPCCalibQAChecker.cxx:705 AliTPCCalibQAChecker.cxx:706 AliTPCCalibQAChecker.cxx:707