#include <fstream>
#include <iostream>
#include <TFile.h>
#include <TFriendElement.h>
#include <TGraph.h>
#include <TKey.h>
#include <TPad.h>
#include <TH1.h>
#include <TH1F.h>
#include <TLegend.h>
#include <TLine.h>
#include <TMath.h>
#include <TObjString.h>
#include <TRandom.h>
#include <TString.h>
#include <TStyle.h>
#include <TTreeStream.h>
#include "AliTPCCalibCE.h"
#include "AliMathBase.h"
#include "AliTPCCalPad.h"
#include "AliTPCCalROC.h"
#include "AliTPCCalibPedestal.h"
#include "AliTPCCalibPulser.h"
#include "AliTPCCalibViewer.h"
using std::ifstream;
ClassImp(AliTPCCalibViewer)
AliTPCCalibViewer::AliTPCCalibViewer()
:TObject(),
fTree(0),
fFile(0),
fListOfObjectsToBeDeleted(0),
fTreeMustBeDeleted(0),
fAbbreviation(0),
fAppendString(0)
{
}
AliTPCCalibViewer::AliTPCCalibViewer(const AliTPCCalibViewer &c)
:TObject(c),
fTree(0),
fFile(0),
fListOfObjectsToBeDeleted(0),
fTreeMustBeDeleted(0),
fAbbreviation(0),
fAppendString(0)
{
fTree = c.fTree;
fTreeMustBeDeleted = c.fTreeMustBeDeleted;
fListOfObjectsToBeDeleted = c.fListOfObjectsToBeDeleted;
fAbbreviation = c.fAbbreviation;
fAppendString = c.fAppendString;
}
AliTPCCalibViewer::AliTPCCalibViewer(TTree *const tree)
:TObject(),
fTree(0),
fFile(0),
fListOfObjectsToBeDeleted(0),
fTreeMustBeDeleted(0),
fAbbreviation(0),
fAppendString(0)
{
fTree = tree;
fTreeMustBeDeleted = kFALSE;
fListOfObjectsToBeDeleted = new TObjArray();
fAbbreviation = "~";
fAppendString = ".fElements";
}
AliTPCCalibViewer::AliTPCCalibViewer(const char* fileName, const char* treeName)
:TObject(),
fTree(0),
fFile(0),
fListOfObjectsToBeDeleted(0),
fTreeMustBeDeleted(0),
fAbbreviation(0),
fAppendString(0)
{
fFile = new TFile(fileName, "read");
fTree = (TTree*) fFile->Get(treeName);
fTreeMustBeDeleted = kTRUE;
fListOfObjectsToBeDeleted = new TObjArray();
fAbbreviation = "~";
fAppendString = ".fElements";
}
AliTPCCalibViewer & AliTPCCalibViewer::operator =(const AliTPCCalibViewer & param)
{
if (this == ¶m) return (*this);
fTree = param.fTree;
fTreeMustBeDeleted = param.fTreeMustBeDeleted;
fListOfObjectsToBeDeleted = param.fListOfObjectsToBeDeleted;
fAbbreviation = param.fAbbreviation;
fAppendString = param.fAppendString;
return (*this);
}
AliTPCCalibViewer::~AliTPCCalibViewer()
{
if (fTree && fTreeMustBeDeleted) {
fTree->SetCacheSize(0);
fTree->Delete();
}
if (fFile) {
fFile->Close();
fFile = 0;
}
for (Int_t i = fListOfObjectsToBeDeleted->GetEntriesFast()-1; i >= 0; i--) {
delete fListOfObjectsToBeDeleted->At(i);
}
delete fListOfObjectsToBeDeleted;
}
void AliTPCCalibViewer::Delete(Option_t* ) {
if (fTree && fTreeMustBeDeleted) {
fTree->SetCacheSize(0);
fTree->Delete();
}
delete fFile;
delete fListOfObjectsToBeDeleted;
}
const char* AliTPCCalibViewer::AddAbbreviations(const Char_t *c, Bool_t printDrawCommand){
TString str(c);
TString removeString = "!#";
TString replaceString = "";
TString searchString = "";
TString normString = "";
TObjArray *listOfVariables = GetListOfVariables();
listOfVariables->Add(new TObjString("channel"));
listOfVariables->Add(new TObjString("gx"));
listOfVariables->Add(new TObjString("gy"));
listOfVariables->Add(new TObjString("lx"));
listOfVariables->Add(new TObjString("ly"));
listOfVariables->Add(new TObjString("pad"));
listOfVariables->Add(new TObjString("row"));
listOfVariables->Add(new TObjString("rpad"));
listOfVariables->Add(new TObjString("sector"));
TObjArray *listOfNormalizationVariables = GetListOfNormalizationVariables();
Int_t nVariables = listOfVariables->GetEntriesFast();
Int_t nNorm = listOfNormalizationVariables->GetEntriesFast();
Int_t *varLengths = new Int_t[nVariables];
for (Int_t i = 0; i < nVariables; i++) {
varLengths[i] = ((TObjString*)listOfVariables->At(i))->String().Length();
}
Int_t *normLengths = new Int_t[nNorm];
for (Int_t i = 0; i < nNorm; i++) {
normLengths[i] = ((TObjString*)listOfNormalizationVariables->At(i))->String().Length();
}
Int_t *varSort = new Int_t[nVariables];
TMath::Sort(nVariables, varLengths, varSort, kTRUE);
Int_t *normSort = new Int_t[nNorm];
TMath::Sort(nNorm, normLengths, normSort, kTRUE);
for (Int_t ivar = 0; ivar < nVariables; ivar++) {
searchString = ((TObjString*)listOfVariables->At(varSort[ivar]))->String();
replaceString = "";
for (Int_t i = 0; i < searchString.Length(); i++) {
replaceString.Append(searchString[i]);
if (i == 0) replaceString.Append(removeString);
}
for (Int_t inorm = 0; inorm < nNorm; inorm++) {
normString = ((TObjString*)listOfNormalizationVariables->At(normSort[inorm]))->String();
str.ReplaceAll(searchString + normString, replaceString + normString);
}
str.ReplaceAll(searchString + fAbbreviation, replaceString + fAbbreviation);
str.ReplaceAll(searchString + fAppendString, replaceString + fAppendString);
str.ReplaceAll(searchString, replaceString + fAbbreviation);
}
str.ReplaceAll(removeString, "");
if (printDrawCommand) std::cout << "The string looks now like: " << str.Data() << std::endl;
delete [] varLengths;
delete [] normLengths;
delete [] varSort;
delete [] normSort;
return str.Data();
}
Int_t AliTPCCalibViewer::EasyDraw(const char* drawCommand, const char* sector, const char* cuts, const char* drawOptions, Bool_t writeDrawCommand) const {
TString drawStr(drawCommand);
TString sectorStr(sector);
sectorStr.ToUpper();
TString cutStr("");
Bool_t dangerousToDraw = drawStr.Contains(":") || drawStr.Contains(">>");
if (dangerousToDraw) {
Warning("EasyDraw", "The draw string must not contain ':' or '>>'. Using only first variable for drawing!");
drawStr.Resize(drawStr.First(":"));
}
TString drawOptionsStr("");
TRandom rnd(0);
Int_t rndNumber = rnd.Integer(10000);
if (drawOptions && strcmp(drawOptions, "") != 0)
drawOptionsStr += drawOptions;
else
drawOptionsStr += "profcolz";
if (sectorStr == "A") {
drawStr += Form(":gy%s:gx%s>>prof", fAppendString.Data(), fAppendString.Data());
drawStr += rndNumber;
drawStr += "(330,-250,250,330,-250,250)";
cutStr += "(sector/18)%2==0 ";
}
else if (sectorStr == "C") {
drawStr += Form(":gy%s:gx%s>>prof", fAppendString.Data(), fAppendString.Data());
drawStr += rndNumber;
drawStr += "(330,-250,250,330,-250,250)";
cutStr += "(sector/18)%2==1 ";
}
else if (sectorStr == "ALL") {
drawStr += Form(":gy%s:gx%s>>prof", fAppendString.Data(), fAppendString.Data());
drawStr += rndNumber;
drawStr += "(330,-250,250,330,-250,250)";
}
else if (sectorStr.Contains("S")) {
drawStr += Form(":rpad%s:row%s+(sector>35)*63>>prof", fAppendString.Data(), fAppendString.Data());
drawStr += rndNumber;
drawStr += "(159,0,159,140,-70,70)";
TString sec=sectorStr;
sec.Remove(0,1);
cutStr += "sector%36=="+sec+" ";
}
else if (sectorStr.IsDigit()) {
Int_t isec = sectorStr.Atoi();
drawStr += Form(":rpad%s:row%s>>prof", fAppendString.Data(), fAppendString.Data());
drawStr += rndNumber;
if (isec < 36 && isec >= 0)
drawStr += "(63,0,63,108,-54,54)";
else if (isec < 72 && isec >= 36)
drawStr += "(96,0,96,140,-70,70)";
else {
Error("EasyDraw","The TPC contains only sectors between 0 and 71.");
return -1;
}
cutStr += "(sector==";
cutStr += isec;
cutStr += ") ";
}
if (cuts && cuts[0] != 0) {
if (cutStr.Length() != 0) cutStr += "&& ";
cutStr += "(";
cutStr += cuts;
cutStr += ")";
}
drawStr.ReplaceAll(fAbbreviation, fAppendString);
cutStr.ReplaceAll(fAbbreviation, fAppendString);
if (writeDrawCommand) std::cout << "fTree->Draw(\"" << drawStr << "\", \"" << cutStr << "\", \"" << drawOptionsStr << "\");" << std::endl;
Int_t returnValue = fTree->Draw(drawStr.Data(), cutStr.Data(), drawOptionsStr.Data());
TString profName("prof");
profName += rndNumber;
TObject *obj = gDirectory->Get(profName.Data());
if (obj && obj->InheritsFrom("TH1")) FormatHistoLabels((TH1*)obj);
return returnValue;
}
Int_t AliTPCCalibViewer::EasyDraw(const char* drawCommand, Int_t sector, const char* cuts, const char* drawOptions, Bool_t writeDrawCommand) const {
if (sector >= 0 && sector < 72) {
return EasyDraw(drawCommand, Form("%i", sector), cuts, drawOptions, writeDrawCommand);
}
Error("EasyDraw","The TPC contains only sectors between 0 and 71.");
return -1;
}
Int_t AliTPCCalibViewer::EasyDraw1D(const char* drawCommand, const char* sector, const char* cuts, const char* drawOptions, Bool_t writeDrawCommand) const {
TString drawStr(drawCommand);
TString sectorStr(sector);
TString drawOptionsStr(drawOptions);
sectorStr.ToUpper();
TString cutStr("");
if (sectorStr == "A")
cutStr += "(sector/18)%2==0 ";
else if (sectorStr == "C")
cutStr += "(sector/18)%2==1 ";
else if (sectorStr.IsDigit()) {
Int_t isec = sectorStr.Atoi();
if (isec < 0 || isec > 71) {
Error("EasyDraw","The TPC contains only sectors between 0 and 71.");
return -1;
}
cutStr += "(sector==";
cutStr += isec;
cutStr += ") ";
}
else if (sectorStr.Contains("S")) {
TString sec=sectorStr;
sec.Remove(0,1);
cutStr += "sector%36=="+sec+" ";
}
if (cuts && cuts[0] != 0) {
if (cutStr.Length() != 0) cutStr += "&& ";
cutStr += "(";
cutStr += cuts;
cutStr += ")";
}
drawStr.ReplaceAll(fAbbreviation, fAppendString);
cutStr.ReplaceAll(fAbbreviation, fAppendString);
if (writeDrawCommand) std::cout << "fTree->Draw(\"" << drawStr << "\", \"" << cutStr << "\", \"" << drawOptionsStr << "\");" << std::endl;
Int_t returnValue = fTree->Draw(drawStr.Data(), cutStr.Data(), drawOptionsStr.Data());
if (returnValue == -1) return -1;
TObject *obj = (gPad) ? gPad->GetPrimitive("htemp") : 0;
if (!obj) obj = (TH1F*)gDirectory->Get("htemp");
if (!obj) obj = gPad->GetPrimitive("tempHist");
if (!obj) obj = (TH1F*)gDirectory->Get("tempHist");
if (!obj) obj = gPad->GetPrimitive("Graph");
if (!obj) obj = (TH1F*)gDirectory->Get("Graph");
if (obj && obj->InheritsFrom("TH1")) FormatHistoLabels((TH1*)obj);
return returnValue;
}
Int_t AliTPCCalibViewer::EasyDraw1D(const char* drawCommand, Int_t sector, const char* cuts, const char* drawOptions, Bool_t writeDrawCommand) const {
if (sector >= 0 && sector < 72) {
return EasyDraw1D(drawCommand, Form("%i",sector), cuts, drawOptions, writeDrawCommand);
}
Error("EasyDraw","The TPC contains only sectors between 0 and 71.");
return -1;
}
void AliTPCCalibViewer::FormatHistoLabels(TH1 *histo) const {
if (!histo) return;
TString replaceString(fAppendString.Data());
TString *str = new TString(histo->GetTitle());
str->ReplaceAll(replaceString, "");
histo->SetTitle(str->Data());
delete str;
if (histo->GetXaxis()) {
str = new TString(histo->GetXaxis()->GetTitle());
str->ReplaceAll(replaceString, "");
histo->GetXaxis()->SetTitle(str->Data());
delete str;
}
if (histo->GetYaxis()) {
str = new TString(histo->GetYaxis()->GetTitle());
str->ReplaceAll(replaceString, "");
histo->GetYaxis()->SetTitle(str->Data());
delete str;
}
if (histo->GetZaxis()) {
str = new TString(histo->GetZaxis()->GetTitle());
str->ReplaceAll(replaceString, "");
histo->GetZaxis()->SetTitle(str->Data());
delete str;
}
}
Int_t AliTPCCalibViewer::DrawHisto1D(const char* drawCommand, Int_t sector, const char* cuts, const char *sigmas, Bool_t plotMean, Bool_t plotMedian, Bool_t plotLTM) const {
if (sector >= 0 && sector < 72) {
return DrawHisto1D(drawCommand, Form("%i", sector), cuts, sigmas, plotMean, plotMedian, plotLTM);
}
Error("DrawHisto1D","The TPC contains only sectors between 0 and 71.");
return -1;
}
Int_t AliTPCCalibViewer::DrawHisto1D(const char* drawCommand, const char* sector, const char* cuts, const char *sigmas, Bool_t plotMean, Bool_t plotMedian, Bool_t plotLTM) const {
Int_t oldOptStat = gStyle->GetOptStat();
gStyle->SetOptStat(0000000);
Double_t ltmFraction = 0.8;
TObjArray *sigmasTokens = TString(sigmas).Tokenize(";");
TVectorF nsigma(sigmasTokens->GetEntriesFast());
for (Int_t i = 0; i < sigmasTokens->GetEntriesFast(); i++) {
TString str(((TObjString*)sigmasTokens->At(i))->GetString());
Double_t sig = (str.IsFloat()) ? str.Atof() : 0;
nsigma[i] = sig;
}
delete sigmasTokens;
TString drawStr(drawCommand);
Bool_t dangerousToDraw = drawStr.Contains(":") || drawStr.Contains(">>");
if (dangerousToDraw) {
Warning("DrawHisto1D", "The draw string must not contain ':' or '>>'.");
return -1;
}
drawStr += " >> tempHist";
Int_t entries = EasyDraw1D(drawStr.Data(), sector, cuts);
TH1F *htemp = (TH1F*)gDirectory->Get("tempHist");
Double_t *values = fTree->GetV1();
Double_t mean = TMath::Mean(entries, values);
Double_t median = TMath::Median(entries, values);
Double_t sigma = TMath::RMS(entries, values);
Double_t maxY = htemp->GetMaximum();
TLegend * legend = new TLegend(.7,.7, .99, .99, "Statistical information");
if (plotMean) {
TLine* line = new TLine(mean, 0, mean, maxY);
line->SetLineColor(kRed);
line->SetLineWidth(2);
line->SetLineStyle(1);
line->Draw();
legend->AddEntry(line, Form("Mean: %f", mean), "l");
for (Int_t i = 0; i < nsigma.GetNoElements(); i++) {
TLine* linePlusSigma = new TLine(mean + nsigma[i] * sigma, 0, mean + nsigma[i] * sigma, maxY);
linePlusSigma->SetLineColor(kRed);
linePlusSigma->SetLineStyle(2 + i);
linePlusSigma->Draw();
TLine* lineMinusSigma = new TLine(mean - nsigma[i] * sigma, 0, mean - nsigma[i] * sigma, maxY);
lineMinusSigma->SetLineColor(kRed);
lineMinusSigma->SetLineStyle(2 + i);
lineMinusSigma->Draw();
legend->AddEntry(lineMinusSigma, Form("%i #sigma = %f",(Int_t)(nsigma[i]), (Float_t)(nsigma[i] * sigma)), "l");
}
}
if (plotMedian) {
TLine* line = new TLine(median, 0, median, maxY);
line->SetLineColor(kBlue);
line->SetLineWidth(2);
line->SetLineStyle(1);
line->Draw();
legend->AddEntry(line, Form("Median: %f", median), "l");
for (Int_t i = 0; i < nsigma.GetNoElements(); i++) {
TLine* linePlusSigma = new TLine(median + nsigma[i] * sigma, 0, median + nsigma[i]*sigma, maxY);
linePlusSigma->SetLineColor(kBlue);
linePlusSigma->SetLineStyle(2 + i);
linePlusSigma->Draw();
TLine* lineMinusSigma = new TLine(median - nsigma[i] * sigma, 0, median - nsigma[i]*sigma, maxY);
lineMinusSigma->SetLineColor(kBlue);
lineMinusSigma->SetLineStyle(2 + i);
lineMinusSigma->Draw();
legend->AddEntry(lineMinusSigma, Form("%i #sigma = %f",(Int_t)(nsigma[i]), (Float_t)(nsigma[i] * sigma)), "l");
}
}
if (plotLTM) {
Double_t ltmRms = 0;
Double_t ltm = GetLTM(entries, values, <mRms, ltmFraction);
TLine* line = new TLine(ltm, 0, ltm, maxY);
line->SetLineColor(kGreen+2);
line->SetLineWidth(2);
line->SetLineStyle(1);
line->Draw();
legend->AddEntry(line, Form("LTM: %f", ltm), "l");
for (Int_t i = 0; i < nsigma.GetNoElements(); i++) {
TLine* linePlusSigma = new TLine(ltm + nsigma[i] * ltmRms, 0, ltm + nsigma[i] * ltmRms, maxY);
linePlusSigma->SetLineColor(kGreen+2);
linePlusSigma->SetLineStyle(2+i);
linePlusSigma->Draw();
TLine* lineMinusSigma = new TLine(ltm - nsigma[i] * ltmRms, 0, ltm - nsigma[i] * ltmRms, maxY);
lineMinusSigma->SetLineColor(kGreen+2);
lineMinusSigma->SetLineStyle(2+i);
lineMinusSigma->Draw();
legend->AddEntry(lineMinusSigma, Form("%i #sigma = %f", (Int_t)(nsigma[i]), (Float_t)(nsigma[i] * ltmRms)), "l");
}
}
if (!plotMean && !plotMedian && !plotLTM) return -1;
legend->Draw();
gStyle->SetOptStat(oldOptStat);
return 1;
}
Int_t AliTPCCalibViewer::SigmaCut(const char* drawCommand, Int_t sector, const char* cuts, Float_t sigmaMax, Bool_t plotMean, Bool_t plotMedian, Bool_t plotLTM, Bool_t pm, const char *sigmas, Float_t sigmaStep) const {
// f(x, #mu, #sigma) #Rightarrow S(t, #mu, #sigma) = (#int_{#mu}^{#mu + t #sigma} f(x, #mu, #sigma) dx + #int_{#mu}^{#mu - t #sigma} f(x, #mu, #sigma) dx) / (#int_{-#infty}^{+#infty} f(x, #mu, #sigma) dx)
// End_Latex
if (sector >= 0 && sector < 72) {
return SigmaCut(drawCommand, Form("%i", sector), cuts, sigmaMax, plotMean, plotMedian, plotLTM, pm, sigmas, sigmaStep);
}
Error("SigmaCut","The TPC contains only sectors between 0 and 71.");
return -1;
}
Int_t AliTPCCalibViewer::SigmaCut(const char* drawCommand, const char* sector, const char* cuts, Float_t sigmaMax, Bool_t plotMean, Bool_t plotMedian, Bool_t plotLTM, Bool_t pm, const char *sigmas, Float_t sigmaStep) const {
Double_t ltmFraction = 0.8;
TString drawStr(drawCommand);
Bool_t dangerousToDraw = drawStr.Contains(":") || drawStr.Contains(">>");
if (dangerousToDraw) {
Warning("SigmaCut", "The draw string must not contain ':' or '>>'.");
return -1;
}
drawStr += " >> tempHist";
Int_t entries = EasyDraw1D(drawStr.Data(), sector, cuts, "goff");
TH1F *htemp = (TH1F*)gDirectory->Get("tempHist");
Double_t *values = fTree->GetV1();
Double_t mean = TMath::Mean(entries, values);
Double_t median = TMath::Median(entries, values);
Double_t sigma = TMath::RMS(entries, values);
TLegend * legend = new TLegend(.7,.7, .99, .99, "Cumulative");
TH1F *cutHistoMean = 0;
TH1F *cutHistoMedian = 0;
TH1F *cutHistoLTM = 0;
TObjArray *sigmasTokens = TString(sigmas).Tokenize(";");
TVectorF nsigma(sigmasTokens->GetEntriesFast());
for (Int_t i = 0; i < sigmasTokens->GetEntriesFast(); i++) {
TString str(((TObjString*)sigmasTokens->At(i))->GetString());
Double_t sig = (str.IsFloat()) ? str.Atof() : 0;
nsigma[i] = sig;
}
delete sigmasTokens;
if (plotMean) {
cutHistoMean = AliTPCCalibViewer::SigmaCut(htemp, mean, sigma, sigmaMax, sigmaStep, pm);
if (cutHistoMean) {
cutHistoMean->SetLineColor(kRed);
legend->AddEntry(cutHistoMean, "Mean", "l");
cutHistoMean->SetTitle(Form("%s, cumulative; Multiples of #sigma; Fraction of included data", htemp->GetTitle()));
cutHistoMean->Draw();
DrawLines(cutHistoMean, nsigma, legend, kRed, pm);
}
}
if (plotMedian) {
cutHistoMedian = AliTPCCalibViewer::SigmaCut(htemp, median, sigma, sigmaMax, sigmaStep, pm);
if (cutHistoMedian) {
cutHistoMedian->SetLineColor(kBlue);
legend->AddEntry(cutHistoMedian, "Median", "l");
cutHistoMedian->SetTitle(Form("%s, cumulative; Multiples of #sigma; Fraction of included data", htemp->GetTitle()));
if (plotMean && cutHistoMean) cutHistoMedian->Draw("same");
else cutHistoMedian->Draw();
DrawLines(cutHistoMedian, nsigma, legend, kBlue, pm);
}
}
if (plotLTM) {
Double_t ltmRms = 0;
Double_t ltm = GetLTM(entries, values, <mRms, ltmFraction);
cutHistoLTM = AliTPCCalibViewer::SigmaCut(htemp, ltm, ltmRms, sigmaMax, sigmaStep, pm);
if (cutHistoLTM) {
cutHistoLTM->SetLineColor(kGreen+2);
legend->AddEntry(cutHistoLTM, "LTM", "l");
cutHistoLTM->SetTitle(Form("%s, cumulative; Multiples of #sigma; Fraction of included data", htemp->GetTitle()));
if ((plotMean && cutHistoMean) || (plotMedian && cutHistoMedian)) cutHistoLTM->Draw("same");
else cutHistoLTM->Draw();
DrawLines(cutHistoLTM, nsigma, legend, kGreen+2, pm);
}
}
if (!plotMean && !plotMedian && !plotLTM) return -1;
legend->Draw();
return 1;
}
Int_t AliTPCCalibViewer::SigmaCutNew(const char* drawCommand, const char* sector, const char* cuts, Float_t , Bool_t plotMean, Bool_t plotMedian, Bool_t plotLTM, Bool_t , const char *sigmas, Float_t ) const {
TString drawStr(drawCommand);
drawStr += " >> tempHist";
Int_t entries = EasyDraw1D(drawStr.Data(), sector, cuts, "goff");
TH1F *htemp = (TH1F*)gDirectory->Get("tempHist");
TGraph *cutGraphMean = 0;
Double_t *values = fTree->GetV1();
Int_t *index = new Int_t[entries];
Float_t *xarray = new Float_t[entries];
Float_t *yarray = new Float_t[entries];
TMath::Sort(entries, values, index, kFALSE);
Double_t mean = TMath::Mean(entries, values);
Double_t sigma = TMath::RMS(entries, values);
TLegend * legend = new TLegend(.7,.7, .99, .99, "Cumulative");
TObjArray *sigmasTokens = TString(sigmas).Tokenize(";");
TVectorF nsigma(sigmasTokens->GetEntriesFast());
for (Int_t i = 0; i < sigmasTokens->GetEntriesFast(); i++) {
TString str(((TObjString*)sigmasTokens->At(i))->GetString());
Double_t sig = (str.IsFloat()) ? str.Atof() : 0;
nsigma[i] = sig;
}
delete sigmasTokens;
if (plotMean) {
for (Int_t i = 0; i < entries; i++) {
xarray[i] = TMath::Abs(values[index[i]] - mean) / sigma;
yarray[i] = float(i) / float(entries);
}
cutGraphMean = new TGraph(entries, xarray, yarray);
if (cutGraphMean) {
cutGraphMean->SetLineColor(kRed);
legend->AddEntry(cutGraphMean, "Mean", "l");
cutGraphMean->SetTitle(Form("%s, Cumulative; Multiples of #sigma; Fraction of included data", htemp->GetTitle()));
cutGraphMean->Draw("alu");
DrawLines(cutGraphMean, nsigma, legend, kRed, kTRUE);
}
}
delete [] index;
delete [] xarray;
delete [] yarray;
if (!plotMean && !plotMedian && !plotLTM) return -1;
legend->Draw();
return 1;
}
Int_t AliTPCCalibViewer::Integrate(const char* drawCommand, Int_t sector, const char* cuts, Float_t sigmaMax, Bool_t plotMean, Bool_t plotMedian, Bool_t plotLTM, const char *sigmas, Float_t sigmaStep) const {
if (sector >= 0 && sector < 72) {
return Integrate(drawCommand, Form("%i", sector), cuts, sigmaMax, plotMean, plotMedian, plotLTM, sigmas, sigmaStep);
}
Error("Integrate","The TPC contains only sectors between 0 and 71.");
return -1;
}
Int_t AliTPCCalibViewer::IntegrateOld(const char* drawCommand, const char* sector, const char* cuts, Float_t sigmaMax, Bool_t plotMean, Bool_t plotMedian, Bool_t plotLTM, const char *sigmas, Float_t sigmaStep) const {
Double_t ltmFraction = 0.8;
TString drawStr(drawCommand);
drawStr += " >> tempHist";
Int_t entries = EasyDraw1D(drawStr.Data(), sector, cuts, "goff");
TH1F *htemp = (TH1F*)gDirectory->Get("tempHist");
Double_t *values = fTree->GetV1();
Double_t mean = TMath::Mean(entries, values);
Double_t median = TMath::Median(entries, values);
Double_t sigma = TMath::RMS(entries, values);
TObjArray *sigmasTokens = TString(sigmas).Tokenize(";");
TVectorF nsigma(sigmasTokens->GetEntriesFast());
for (Int_t i = 0; i < sigmasTokens->GetEntriesFast(); i++) {
TString str(((TObjString*)sigmasTokens->At(i))->GetString());
Double_t sig = (str.IsFloat()) ? str.Atof() : 0;
nsigma[i] = sig;
}
delete sigmasTokens;
TLegend * legend = new TLegend(.7,.7, .99, .99, "Integrated histogram");
TH1F *integralHistoMean = 0;
TH1F *integralHistoMedian = 0;
TH1F *integralHistoLTM = 0;
if (plotMean) {
integralHistoMean = AliTPCCalibViewer::Integrate(htemp, mean, sigma, sigmaMax, sigmaStep);
if (integralHistoMean) {
integralHistoMean->SetLineColor(kRed);
legend->AddEntry(integralHistoMean, "Mean", "l");
integralHistoMean->SetTitle(Form("%s, integrated; Multiples of #sigma; Fraction of included data", htemp->GetTitle()));
integralHistoMean->Draw();
DrawLines(integralHistoMean, nsigma, legend, kRed, kTRUE);
}
}
if (plotMedian) {
integralHistoMedian = AliTPCCalibViewer::Integrate(htemp, median, sigma, sigmaMax, sigmaStep);
if (integralHistoMedian) {
integralHistoMedian->SetLineColor(kBlue);
legend->AddEntry(integralHistoMedian, "Median", "l");
integralHistoMedian->SetTitle(Form("%s, integrated; Multiples of #sigma; Fraction of included data", htemp->GetTitle()));
if (plotMean && integralHistoMean) integralHistoMedian->Draw("same");
else integralHistoMedian->Draw();
DrawLines(integralHistoMedian, nsigma, legend, kBlue, kTRUE);
}
}
if (plotLTM) {
Double_t ltmRms = 0;
Double_t ltm = GetLTM(entries, values, <mRms, ltmFraction);
integralHistoLTM = AliTPCCalibViewer::Integrate(htemp, ltm, ltmRms, sigmaMax, sigmaStep);
if (integralHistoLTM) {
integralHistoLTM->SetLineColor(kGreen+2);
legend->AddEntry(integralHistoLTM, "LTM", "l");
integralHistoLTM->SetTitle(Form("%s, integrated; Multiples of #sigma; Fraction of included data", htemp->GetTitle()));
if ((plotMean && integralHistoMean) || (plotMedian && integralHistoMedian)) integralHistoLTM->Draw("same");
else integralHistoLTM->Draw();
DrawLines(integralHistoLTM, nsigma, legend, kGreen+2, kTRUE);
}
}
if (!plotMean && !plotMedian && !plotLTM) return -1;
legend->Draw();
return 1;
}
Int_t AliTPCCalibViewer::Integrate(const char* drawCommand, const char* sector, const char* cuts, Float_t , Bool_t plotMean, Bool_t plotMedian, Bool_t plotLTM, const char *sigmas, Float_t ) const {
Double_t ltmFraction = 0.8;
TString drawStr(drawCommand);
Bool_t dangerousToDraw = drawStr.Contains(":") || drawStr.Contains(">>");
if (dangerousToDraw) {
Warning("Integrate", "The draw string must not contain ':' or '>>'.");
return -1;
}
drawStr += " >> tempHist";
Int_t entries = EasyDraw1D(drawStr.Data(), sector, cuts, "goff");
TH1F *htemp = (TH1F*)gDirectory->Get("tempHist");
TGraph *integralGraphMean = 0;
TGraph *integralGraphMedian = 0;
TGraph *integralGraphLTM = 0;
Double_t *values = fTree->GetV1();
Int_t *index = new Int_t[entries];
Float_t *xarray = new Float_t[entries];
Float_t *yarray = new Float_t[entries];
TMath::Sort(entries, values, index, kFALSE);
Double_t mean = TMath::Mean(entries, values);
Double_t median = TMath::Median(entries, values);
Double_t sigma = TMath::RMS(entries, values);
TObjArray *sigmasTokens = TString(sigmas).Tokenize(";");
TVectorF nsigma(sigmasTokens->GetEntriesFast());
for (Int_t i = 0; i < sigmasTokens->GetEntriesFast(); i++) {
TString str(((TObjString*)sigmasTokens->At(i))->GetString());
Double_t sig = (str.IsFloat()) ? str.Atof() : 0;
nsigma[i] = sig;
}
delete sigmasTokens;
TLegend * legend = new TLegend(.7,.7, .99, .99, "Integrated histogram");
if (plotMean) {
for (Int_t i = 0; i < entries; i++) {
xarray[i] = (values[index[i]] - mean) / sigma;
yarray[i] = float(i) / float(entries);
}
integralGraphMean = new TGraph(entries, xarray, yarray);
if (integralGraphMean) {
integralGraphMean->SetLineColor(kRed);
legend->AddEntry(integralGraphMean, "Mean", "l");
integralGraphMean->SetTitle(Form("%s, integrated; Multiples of #sigma; Fraction of included data", htemp->GetTitle()));
integralGraphMean->Draw("alu");
DrawLines(integralGraphMean, nsigma, legend, kRed, kTRUE);
}
}
if (plotMedian) {
for (Int_t i = 0; i < entries; i++) {
xarray[i] = (values[index[i]] - median) / sigma;
yarray[i] = float(i) / float(entries);
}
integralGraphMedian = new TGraph(entries, xarray, yarray);
if (integralGraphMedian) {
integralGraphMedian->SetLineColor(kBlue);
legend->AddEntry(integralGraphMedian, "Median", "l");
integralGraphMedian->SetTitle(Form("%s, integrated; Multiples of #sigma; Fraction of included data", htemp->GetTitle()));
if (plotMean && integralGraphMean) integralGraphMedian->Draw("samelu");
else integralGraphMedian->Draw("alu");
DrawLines(integralGraphMedian, nsigma, legend, kBlue, kTRUE);
}
}
if (plotLTM) {
Double_t ltmRms = 0;
Double_t ltm = GetLTM(entries, values, <mRms, ltmFraction);
for (Int_t i = 0; i < entries; i++) {
xarray[i] = (values[index[i]] - ltm) / ltmRms;
yarray[i] = float(i) / float(entries);
}
integralGraphLTM = new TGraph(entries, xarray, yarray);
if (integralGraphLTM) {
integralGraphLTM->SetLineColor(kGreen+2);
legend->AddEntry(integralGraphLTM, "LTM", "l");
integralGraphLTM->SetTitle(Form("%s, integrated; Multiples of #sigma; Fraction of included data", htemp->GetTitle()));
if ((plotMean && integralGraphMean) || (plotMedian && integralGraphMedian)) integralGraphLTM->Draw("samelu");
else integralGraphLTM->Draw("alu");
DrawLines(integralGraphLTM, nsigma, legend, kGreen+2, kTRUE);
}
}
delete [] index;
delete [] xarray;
delete [] yarray;
if (!plotMean && !plotMedian && !plotLTM) return -1;
legend->Draw();
return entries;
}
void AliTPCCalibViewer::DrawLines(TH1F *histogram, TVectorF nsigma, TLegend *legend, Int_t color, Bool_t pm) const {
for (Int_t i = 0; i < nsigma.GetNoElements(); i++) {
if (!pm) {
Int_t bin = histogram->GetXaxis()->FindBin(nsigma[i]);
TLine* lineUp = new TLine(nsigma[i], 0, nsigma[i], histogram->GetBinContent(bin));
lineUp->SetLineColor(color);
lineUp->SetLineStyle(2 + i);
lineUp->Draw();
TLine* lineLeft = new TLine(nsigma[i], histogram->GetBinContent(bin), 0, histogram->GetBinContent(bin));
lineLeft->SetLineColor(color);
lineLeft->SetLineStyle(2 + i);
lineLeft->Draw();
legend->AddEntry(lineLeft, Form("Fraction(%f #sigma) = %f",nsigma[i], histogram->GetBinContent(bin)), "l");
}
else {
Int_t bin = histogram->GetXaxis()->FindBin(nsigma[i]);
TLine* lineUp1 = new TLine(nsigma[i], 0, nsigma[i], histogram->GetBinContent(bin));
lineUp1->SetLineColor(color);
lineUp1->SetLineStyle(2 + i);
lineUp1->Draw();
TLine* lineLeft1 = new TLine(nsigma[i], histogram->GetBinContent(bin), histogram->GetBinLowEdge(0)+histogram->GetBinWidth(0), histogram->GetBinContent(bin));
lineLeft1->SetLineColor(color);
lineLeft1->SetLineStyle(2 + i);
lineLeft1->Draw();
legend->AddEntry(lineLeft1, Form("Fraction(+%f #sigma) = %f",nsigma[i], histogram->GetBinContent(bin)), "l");
bin = histogram->GetXaxis()->FindBin(-nsigma[i]);
TLine* lineUp2 = new TLine(-nsigma[i], 0, -nsigma[i], histogram->GetBinContent(bin));
lineUp2->SetLineColor(color);
lineUp2->SetLineStyle(2 + i);
lineUp2->Draw();
TLine* lineLeft2 = new TLine(-nsigma[i], histogram->GetBinContent(bin), histogram->GetBinLowEdge(0)+histogram->GetBinWidth(0), histogram->GetBinContent(bin));
lineLeft2->SetLineColor(color);
lineLeft2->SetLineStyle(2 + i);
lineLeft2->Draw();
legend->AddEntry(lineLeft2, Form("Fraction(-%f #sigma) = %f",nsigma[i], histogram->GetBinContent(bin)), "l");
}
}
}
void AliTPCCalibViewer::DrawLines(TGraph *graph, TVectorF nsigma, TLegend *legend, Int_t color, Bool_t pm) const {
for (Int_t i = 0; i < nsigma.GetNoElements(); i++) {
if (!pm) {
TLine* lineUp = new TLine(nsigma[i], 0, nsigma[i], graph->Eval(nsigma[i]));
lineUp->SetLineColor(color);
lineUp->SetLineStyle(2 + i);
lineUp->Draw();
TLine* lineLeft = new TLine(nsigma[i], graph->Eval(nsigma[i]), 0, graph->Eval(nsigma[i]));
lineLeft->SetLineColor(color);
lineLeft->SetLineStyle(2 + i);
lineLeft->Draw();
legend->AddEntry(lineLeft, Form("Fraction(%f #sigma) = %f",nsigma[i], graph->Eval(nsigma[i])), "l");
}
else {
TLine* lineUp1 = new TLine(nsigma[i], 0, nsigma[i], graph->Eval(nsigma[i]));
lineUp1->SetLineColor(color);
lineUp1->SetLineStyle(2 + i);
lineUp1->Draw();
TLine* lineLeft1 = new TLine(nsigma[i], graph->Eval(nsigma[i]), graph->GetHistogram()->GetXaxis()->GetBinLowEdge(0), graph->Eval(nsigma[i]));
lineLeft1->SetLineColor(color);
lineLeft1->SetLineStyle(2 + i);
lineLeft1->Draw();
legend->AddEntry(lineLeft1, Form("Fraction(+%f #sigma) = %f",nsigma[i], graph->Eval(nsigma[i])), "l");
TLine* lineUp2 = new TLine(-nsigma[i], 0, -nsigma[i], graph->Eval(-nsigma[i]));
lineUp2->SetLineColor(color);
lineUp2->SetLineStyle(2 + i);
lineUp2->Draw();
TLine* lineLeft2 = new TLine(-nsigma[i], graph->Eval(-nsigma[i]), graph->GetHistogram()->GetXaxis()->GetBinLowEdge(0), graph->Eval(-nsigma[i]));
lineLeft2->SetLineColor(color);
lineLeft2->SetLineStyle(2 + i);
lineLeft2->Draw();
legend->AddEntry(lineLeft2, Form("Fraction(-%f #sigma) = %f",nsigma[i], graph->Eval(-nsigma[i])), "l");
}
}
}
Int_t AliTPCCalibViewer::GetBin(Float_t value, Int_t nbins, Double_t binLow, Double_t binUp){
Int_t bin = TMath::Nint( (Float_t)(value - binLow) / (Float_t)(binUp - binLow) * (nbins-1) ) + 1;
if (value < binLow) bin = 0;
if (value > binUp) bin = nbins + 1;
return bin;
}
Double_t AliTPCCalibViewer::GetLTM(Int_t n, const Double_t *const array, Double_t *const sigma, Double_t fraction){
Double_t *ddata = new Double_t[n];
Double_t mean = 0, lsigma = 0;
UInt_t nPoints = 0;
for (UInt_t i = 0; i < (UInt_t)n; i++) {
ddata[nPoints]= array[nPoints];
nPoints++;
}
Int_t hh = TMath::Min(TMath::Nint(fraction * nPoints), Int_t(n));
AliMathBase::EvaluateUni(nPoints, ddata, mean, lsigma, hh);
if (sigma) *sigma = lsigma;
delete [] ddata;
return mean;
}
TH1F* AliTPCCalibViewer::SigmaCut(TH1F *const histogram, Float_t mean, Float_t sigma, Float_t sigmaMax, Float_t sigmaStep, Bool_t pm) {
Float_t *array = histogram->GetArray();
Int_t nbins = histogram->GetXaxis()->GetNbins();
Float_t binLow = histogram->GetXaxis()->GetXmin();
Float_t binUp = histogram->GetXaxis()->GetXmax();
return AliTPCCalibViewer::SigmaCut(nbins, array, mean, sigma, nbins, binLow, binUp, sigmaMax, sigmaStep, pm);
}
TH1F* AliTPCCalibViewer::SigmaCut(Int_t n, const Float_t *array, Float_t mean, Float_t sigma, Int_t nbins, Float_t binLow, Float_t binUp, Float_t sigmaMax, Float_t sigmaStep, Bool_t pm){
if (sigma == 0) return 0;
Float_t binWidth = (binUp-binLow)/(nbins - 1);
if (sigmaStep <= 0) sigmaStep = binWidth;
Int_t kbins = (Int_t)(sigmaMax * sigma / sigmaStep) + 1;
if (pm) kbins = 2 * (Int_t)(sigmaMax * sigma / sigmaStep) + 1;
Float_t kbinLow = !pm ? 0 : -sigmaMax;
Float_t kbinUp = sigmaMax;
TH1F *hist = new TH1F("sigmaCutHisto","Cumulative; Multiples of #sigma; Fraction of included data", kbins, kbinLow, kbinUp);
hist->SetDirectory(0);
hist->Reset();
Double_t normalization = 0;
for (Int_t i = 0; i <= n; i++) {
normalization += array[i];
}
for (Float_t iDelta = 0; iDelta <= sigmaMax * sigma; iDelta += sigmaStep) {
Double_t valueP = array[GetBin(mean, nbins, binLow, binUp)];
Double_t valueM = array[GetBin(mean-binWidth, nbins, binLow, binUp)];
for (Float_t x = binWidth; x <= iDelta; x += binWidth) {
valueP += (mean + x <= binUp) ? array[GetBin(mean + x, nbins, binLow, binUp)] : 0;
valueM += (mean-binWidth - x >= binLow) ? array[GetBin(mean-binWidth - x, nbins, binLow, binUp)] : 0;
}
if (valueP / normalization > 100) printf("+++ Error, value to big: %f, normalization with %f will fail +++ \n", valueP, normalization);
if (valueP / normalization > 100) return hist;
if (valueM / normalization > 100) printf("+++ Error, value to big: %f, normalization with %f will fail +++ \n", valueM, normalization);
if (valueM / normalization > 100) return hist;
valueP = (valueP / normalization);
valueM = (valueM / normalization);
if (pm) {
Int_t bin = GetBin(iDelta/sigma, kbins, kbinLow, kbinUp);
hist->SetBinContent(bin, valueP);
bin = GetBin(-iDelta/sigma, kbins, kbinLow, kbinUp);
hist->SetBinContent(bin, valueM);
}
else {
Int_t bin = GetBin(iDelta/sigma, kbins, kbinLow, kbinUp);
hist->SetBinContent(bin, valueP + valueM);
}
}
if (!pm) hist->SetMaximum(1.2);
return hist;
}
TH1F* AliTPCCalibViewer::SigmaCut(Int_t , const Double_t *, Double_t , Double_t , Int_t , const Double_t *, Double_t ){
printf("SigmaCut with variable binsize, Not yet implemented\n");
return 0;
}
TH1F* AliTPCCalibViewer::Integrate(TH1F *const histogram, Float_t mean, Float_t sigma, Float_t sigmaMax, Float_t sigmaStep){
Float_t *array = histogram->GetArray();
Int_t nbins = histogram->GetXaxis()->GetNbins();
Float_t binLow = histogram->GetXaxis()->GetXmin();
Float_t binUp = histogram->GetXaxis()->GetXmax();
return AliTPCCalibViewer::Integrate(nbins, array, nbins, binLow, binUp, mean, sigma, sigmaMax, sigmaStep);
}
TH1F* AliTPCCalibViewer::Integrate(Int_t n, const Float_t *const array, Int_t nbins, Float_t binLow, Float_t binUp, Float_t mean, Float_t sigma, Float_t sigmaMax, Float_t sigmaStep){
Bool_t givenUnits = kTRUE;
if (sigma != 0 && sigmaMax != 0) givenUnits = kFALSE;
if (givenUnits) {
sigma = 1;
sigmaMax = (binUp - binLow) / 2.;
}
Float_t binWidth = (binUp-binLow)/(nbins - 1);
if (sigmaStep <= 0) sigmaStep = binWidth;
Int_t kbins = (Int_t)(sigmaMax * sigma / sigmaStep) + 1;
Float_t kbinLow = givenUnits ? binLow : -sigmaMax;
Float_t kbinUp = givenUnits ? binUp : sigmaMax;
TH1F *hist = 0;
if (givenUnits) hist = new TH1F("integratedHisto","Integrated Histogram; Given x; Fraction of included data", kbins, kbinLow, kbinUp);
if (!givenUnits) hist = new TH1F("integratedHisto","Integrated Histogram; Multiples of #sigma; Fraction of included data", kbins, kbinLow, kbinUp);
hist->SetDirectory(0);
hist->Reset();
Double_t normalization = 0;
for (Int_t i = 1; i <= n; i++) {
normalization += array[i];
}
for (Float_t iDelta = mean - sigmaMax * sigma; iDelta <= mean + sigmaMax * sigma; iDelta += sigmaStep) {
Double_t value = 0;
for (Float_t x = mean - sigmaMax * sigma; x <= iDelta; x += binWidth) {
value += (x <= binUp && x >= binLow) ? array[GetBin(x, nbins, binLow, binUp)] : 0;
}
if (value / normalization > 100) printf("+++ Error, value to big: %f, normalization with %f will fail +++ \n", value, normalization);
if (value / normalization > 100) return hist;
Int_t bin = GetBin(iDelta/sigma, kbins, kbinLow, kbinUp);
value = (value / normalization);
hist->SetBinContent(bin, value);
}
return hist;
}
AliTPCCalPad* AliTPCCalibViewer::GetCalPadOld(const char* desiredData, const char* cuts, const char* calPadName) const {
TString drawStr(desiredData);
drawStr.Append(":channel");
drawStr.Append(fAbbreviation);
AliTPCCalPad * createdCalPad = new AliTPCCalPad(calPadName, calPadName);
Int_t entries = 0;
for (Int_t sec = 0; sec < 72; sec++) {
AliTPCCalROC * roc = createdCalPad->GetCalROC(sec);
entries = EasyDraw1D(drawStr.Data(), (Int_t)sec, cuts, "goff");
if (entries == -1) return 0;
const Double_t *pchannel = fTree->GetV2();
const Double_t *pvalue = fTree->GetV1();
for (Int_t i = 0; i < entries; i++)
roc->SetValue((UInt_t)(pchannel[i]), (Float_t)(pvalue[i]));
}
return createdCalPad;
}
AliTPCCalPad* AliTPCCalibViewer::GetCalPad(const char* desiredData, const char* cuts, const char* calPadName) const {
TString drawStr(desiredData);
drawStr.Append(":channel.fElements:sector");
AliTPCCalPad * createdCalPad = new AliTPCCalPad(calPadName, calPadName);
Int_t entries = fTree->Draw(drawStr, cuts,"goff");
const Double_t *pvalue = fTree->GetV1();
const Double_t *pchannel = fTree->GetV2();
const Double_t *psector = fTree->GetV3();
for (Int_t ientry=0; ientry<entries; ientry++){
Int_t sector= TMath::Nint(psector[ientry]);
AliTPCCalROC * roc = createdCalPad->GetCalROC(sector);
if (roc) roc->SetValue((UInt_t)(pchannel[ientry]), (Float_t)(pvalue[ientry]));
}
return createdCalPad;
}
AliTPCCalROC* AliTPCCalibViewer::GetCalROC(const char* desiredData, UInt_t sector, const char* cuts) const {
TString drawStr(desiredData);
drawStr.Append(":channel");
drawStr.Append(fAbbreviation);
Int_t entries = EasyDraw1D(drawStr.Data(), (Int_t)sector, cuts, "goff");
if (entries == -1) return 0;
AliTPCCalROC * createdROC = new AliTPCCalROC(sector);
for (Int_t i = 0; i < entries; i++)
createdROC->SetValue((UInt_t)(fTree->GetV2()[i]), fTree->GetV1()[i]);
return createdROC;
}
TObjArray* AliTPCCalibViewer::GetListOfVariables(Bool_t printList) {
TObjArray* arr = new TObjArray();
TObjString* str = 0;
if (!fTree) return 0;
Int_t nentries = fTree->GetListOfBranches()->GetEntries();
for (Int_t i = 0; i < nentries; i++) {
str = new TObjString(fTree->GetListOfBranches()->At(i)->GetName());
str->String().ReplaceAll("_Median", "");
str->String().ReplaceAll("_Mean", "");
str->String().ReplaceAll("_RMS", "");
str->String().ReplaceAll("_LTM", "");
str->String().ReplaceAll("_OutlierCutted", "");
str->String().ReplaceAll(".", "");
if (!arr->FindObject(str) &&
!(str->String() == "channel" || str->String() == "gx" || str->String() == "gy" ||
str->String() == "lx" || str->String() == "ly" || str->String() == "pad" ||
str->String() == "row" || str->String() == "rpad" || str->String() == "sector" ))
arr->Add(str);
}
if (fTree->GetListOfFriends()) {
for (Int_t ifriend = 0; ifriend < fTree->GetListOfFriends()->GetEntries(); ifriend++){
if (TString(fTree->GetListOfFriends()->At(ifriend)->ClassName()) != "TFriendElement") continue;
TFriendElement *friendElement = (TFriendElement*)fTree->GetListOfFriends()->At(ifriend);
if (friendElement->GetTree() == 0) continue;
for (Int_t i = 0; i < friendElement->GetTree()->GetListOfBranches()->GetEntries(); i++) {
str = new TObjString(friendElement->GetTree()->GetListOfBranches()->At(i)->GetName());
str->String().ReplaceAll("_Median", "");
str->String().ReplaceAll("_Mean", "");
str->String().ReplaceAll("_RMS", "");
str->String().ReplaceAll("_LTM", "");
str->String().ReplaceAll("_OutlierCutted", "");
str->String().ReplaceAll(".", "");
if (!(str->String() == "channel" || str->String() == "gx" || str->String() == "gy" ||
str->String() == "lx" || str->String() == "ly" || str->String() == "pad" ||
str->String() == "row" || str->String() == "rpad" || str->String() == "sector" )){
str->String().Insert(0, ".");
str->String().Insert(0, friendElement->GetName());
if (!arr->FindObject(str)) arr->Add(str);
}
}
}
}
arr->Sort();
if (printList) {
TIterator* iter = arr->MakeIterator();
iter->Reset();
TObjString* currentStr = 0;
while ( (currentStr = (TObjString*)(iter->Next())) ) {
std::cout << currentStr->GetString().Data() << std::endl;
}
delete iter;
}
return arr;
}
TObjArray* AliTPCCalibViewer::GetListOfNormalizationVariables(Bool_t printList) const{
TObjArray* arr = new TObjArray();
arr->Add(new TObjString("_Mean"));
arr->Add(new TObjString("_Mean_OutlierCutted"));
arr->Add(new TObjString("_Median"));
arr->Add(new TObjString("_Median_OutlierCutted"));
arr->Add(new TObjString("_LTM"));
arr->Add(new TObjString("_LTM_OutlierCutted"));
arr->Add(new TObjString(Form("LFitIntern_4_8%s", fAppendString.Data())));
arr->Add(new TObjString(Form("GFitIntern_Lin%s", fAppendString.Data())));
arr->Add(new TObjString(Form("GFitIntern_Par%s", fAppendString.Data())));
arr->Add(new TObjString("FitLinLocal"));
arr->Add(new TObjString("FitLinGlobal"));
arr->Add(new TObjString("FitParLocal"));
arr->Add(new TObjString("FitParGlobal"));
if (printList) {
TIterator* iter = arr->MakeIterator();
iter->Reset();
TObjString* currentStr = 0;
while ((currentStr = (TObjString*)(iter->Next()))) {
std::cout << currentStr->GetString().Data() << std::endl;
}
delete iter;
}
return arr;
}
TFriendElement* AliTPCCalibViewer::AddReferenceTree(const char* filename, const char* treename, const char* refname){
TFile *file = new TFile(filename);
fListOfObjectsToBeDeleted->Add(file);
TTree * tree = (TTree*)file->Get(treename);
return AddFriend(tree, refname);
}
TObjArray* AliTPCCalibViewer::GetArrayOfCalPads(){
TObjArray *listOfCalPads = GetListOfVariables();
TObjArray *calPadsArray = new TObjArray();
Int_t numberOfCalPads = listOfCalPads->GetEntries();
for (Int_t i = 0; i < numberOfCalPads; i++) {
std::cout << "Creating calPad " << (i+1) << " of " << numberOfCalPads << "\r" << std::flush;
char* calPadName = (char*)((TObjString*)(listOfCalPads->At(i)))->GetString().Data();
TString drawCommand = ((TObjString*)(listOfCalPads->At(i)))->GetString();
drawCommand.Append(fAbbreviation.Data());
AliTPCCalPad* calPad = GetCalPad(drawCommand.Data(), "", calPadName);
calPadsArray->Add(calPad);
}
std::cout << std::endl;
listOfCalPads->Delete();
delete listOfCalPads;
return calPadsArray;
}
TString* AliTPCCalibViewer::Fit(const char* drawCommand, const char* formula, const char* cuts, Double_t & chi2, TVectorD &fitParam, TMatrixD &covMatrix){
TString formulaStr(formula);
TString drawStr(drawCommand);
TString cutStr(cuts);
drawStr.ReplaceAll(fAbbreviation, fAppendString);
cutStr.ReplaceAll(fAbbreviation, fAppendString);
formulaStr.ReplaceAll(fAbbreviation, fAppendString);
formulaStr.ReplaceAll("++", fAbbreviation);
TObjArray* formulaTokens = formulaStr.Tokenize(fAbbreviation.Data());
Int_t dim = formulaTokens->GetEntriesFast();
fitParam.ResizeTo(dim);
covMatrix.ResizeTo(dim,dim);
TLinearFitter* fitter = new TLinearFitter(dim+1, Form("hyp%d",dim));
fitter->StoreData(kTRUE);
fitter->ClearPoints();
Int_t entries = Draw(drawStr.Data(), cutStr.Data(), "goff");
if (entries == -1) {
delete formulaTokens;
return new TString("An ERROR has occured during fitting!");
}
Double_t **values = new Double_t*[dim+1] ;
for (Int_t i = 0; i < dim + 1; i++){
Int_t centries = 0;
if (i < dim) centries = fTree->Draw(((TObjString*)formulaTokens->At(i))->GetName(), cutStr.Data(), "goff");
else centries = fTree->Draw(drawStr.Data(), cutStr.Data(), "goff");
if (entries != centries) {
delete [] values;
delete formulaTokens;
return new TString("An ERROR has occured during fitting!");
}
values[i] = new Double_t[entries];
memcpy(values[i], fTree->GetV1(), entries*sizeof(Double_t));
}
for (Int_t i = 0; i < entries; i++){
Double_t x[1000];
for (Int_t j=0; j<dim;j++) x[j]=values[j][i];
fitter->AddPoint(x, values[dim][i], 1);
}
fitter->Eval();
fitter->GetParameters(fitParam);
fitter->GetCovarianceMatrix(covMatrix);
chi2 = fitter->GetChisquare();
TString *preturnFormula = new TString(Form("( %e+",fitParam[0])), &returnFormula = *preturnFormula;
for (Int_t iparam = 0; iparam < dim; iparam++) {
returnFormula.Append(Form("%s*(%e)",((TObjString*)formulaTokens->At(iparam))->GetName(),fitParam[iparam+1]));
if (iparam < dim-1) returnFormula.Append("+");
}
returnFormula.Append(" )");
delete formulaTokens;
delete fitter;
for (Int_t i = 0; i < dim + 1; i++){
delete [] values[i];
}
delete [] values;
return preturnFormula;
}
void AliTPCCalibViewer::MakeTreeWithObjects(const char *fileName, const TObjArray *const array, const char * mapFileName) {
AliTPCROC* tpcROCinstance = AliTPCROC::Instance();
TObjArray* mapIROCs = 0;
TObjArray* mapOROCs = 0;
TVectorF *mapIROCArray = 0;
TVectorF *mapOROCArray = 0;
Int_t mapEntries = 0;
TString* mapNames = 0;
if (mapFileName) {
TFile mapFile(mapFileName, "read");
TList* listOfROCs = mapFile.GetListOfKeys();
mapEntries = listOfROCs->GetEntries()/2;
mapIROCs = new TObjArray(mapEntries*2);
mapOROCs = new TObjArray(mapEntries*2);
mapIROCArray = new TVectorF[mapEntries];
mapOROCArray = new TVectorF[mapEntries];
mapNames = new TString[mapEntries];
for (Int_t ivalue = 0; ivalue < mapEntries; ivalue++) {
TString rocName(((TKey*)(listOfROCs->At(ivalue*2)))->GetName());
rocName.Remove(rocName.Length()-4, 4);
mapIROCs->AddAt((AliTPCCalROC*)mapFile.Get((rocName + "IROC").Data()), ivalue);
mapOROCs->AddAt((AliTPCCalROC*)mapFile.Get((rocName + "OROC").Data()), ivalue);
mapNames[ivalue].Append(rocName);
}
for (Int_t ivalue = 0; ivalue < mapEntries; ivalue++) {
mapIROCArray[ivalue].ResizeTo(tpcROCinstance->GetNChannels(0));
mapOROCArray[ivalue].ResizeTo(tpcROCinstance->GetNChannels(36));
for (UInt_t ichannel = 0; ichannel < tpcROCinstance->GetNChannels(0); ichannel++)
(mapIROCArray[ivalue])[ichannel] = ((AliTPCCalROC*)(mapIROCs->At(ivalue)))->GetValue(ichannel);
for (UInt_t ichannel = 0; ichannel < tpcROCinstance->GetNChannels(36); ichannel++)
(mapOROCArray[ivalue])[ichannel] = ((AliTPCCalROC*)(mapOROCs->At(ivalue)))->GetValue(ichannel);
}
}
TTreeSRedirector cstream(fileName);
Int_t arrayEntries = array->GetEntries();
TString* names = new TString[arrayEntries];
for (Int_t ivalue = 0; ivalue < arrayEntries; ivalue++)
names[ivalue].Append(((AliTPCCalPad*)array->At(ivalue))->GetName());
for (UInt_t isector = 0; isector < tpcROCinstance->GetNSectors(); isector++) {
TVectorF *vectorArray = new TVectorF[arrayEntries];
for (Int_t ivalue = 0; ivalue < arrayEntries; ivalue++)
vectorArray[ivalue].ResizeTo(tpcROCinstance->GetNChannels(isector));
TVectorF *posArray = new TVectorF[8];
for (Int_t ivalue = 0; ivalue < 8; ivalue++)
posArray[ivalue].ResizeTo(tpcROCinstance->GetNChannels(isector));
Float_t posG[3] = {0};
Float_t posL[3] = {0};
Int_t ichannel = 0;
for (UInt_t irow = 0; irow < tpcROCinstance->GetNRows(isector); irow++) {
for (UInt_t ipad = 0; ipad < tpcROCinstance->GetNPads(isector, irow); ipad++) {
tpcROCinstance->GetPositionLocal(isector, irow, ipad, posL);
tpcROCinstance->GetPositionGlobal(isector, irow, ipad, posG);
posArray[0][ichannel] = irow;
posArray[1][ichannel] = ipad;
posArray[2][ichannel] = posL[0];
posArray[3][ichannel] = posL[1];
posArray[4][ichannel] = posG[0];
posArray[5][ichannel] = posG[1];
posArray[6][ichannel] = (Int_t)(ipad - (Double_t)(tpcROCinstance->GetNPads(isector, irow))/2);
posArray[7][ichannel] = ichannel;
for (Int_t ivalue = 0; ivalue < arrayEntries; ivalue++) {
AliTPCCalPad* calPad = (AliTPCCalPad*) array->At(ivalue);
AliTPCCalROC* calROC = calPad->GetCalROC(isector);
if (calROC)
(vectorArray[ivalue])[ichannel] = calROC->GetValue(irow, ipad);
else
(vectorArray[ivalue])[ichannel] = 0;
}
ichannel++;
}
}
AliTPCCalROC dummyROC(0);
for (Int_t ivalue = 0; ivalue < arrayEntries; ivalue++) {
AliTPCCalROC *roc = ((AliTPCCalPad*)array->At(ivalue))->GetCalROC(isector);
if (!roc) roc = &dummyROC;
cstream << "calPads" <<
(Char_t*)((names[ivalue] + ".=").Data()) << &vectorArray[ivalue];
cstream << "calPads" <<
(Char_t*)((names[ivalue] + "Pad.=").Data()) << roc;
}
if (mapFileName) {
for (Int_t ivalue = 0; ivalue < mapEntries; ivalue++) {
if (isector < 36)
cstream << "calPads" <<
(Char_t*)((mapNames[ivalue] + ".=").Data()) << &mapIROCArray[ivalue];
else
cstream << "calPads" <<
(Char_t*)((mapNames[ivalue] + ".=").Data()) << &mapOROCArray[ivalue];
}
}
cstream << "calPads" <<
"sector=" << isector;
cstream << "calPads" <<
"row.=" << &posArray[0] <<
"pad.=" << &posArray[1] <<
"lx.=" << &posArray[2] <<
"ly.=" << &posArray[3] <<
"gx.=" << &posArray[4] <<
"gy.=" << &posArray[5] <<
"rpad.=" << &posArray[6] <<
"channel.=" << &posArray[7];
cstream << "calPads" <<
"\n";
delete[] posArray;
delete[] vectorArray;
}
delete[] names;
if (mapFileName) {
delete mapIROCs;
delete mapOROCs;
delete[] mapIROCArray;
delete[] mapOROCArray;
delete[] mapNames;
}
}
void AliTPCCalibViewer::MakeTree(const char * fileName, TObjArray * array, const char * mapFileName, AliTPCCalPad *const outlierPad, Float_t ltmFraction) {
AliTPCROC* tpcROCinstance = AliTPCROC::Instance();
TObjArray* mapIROCs = 0;
TObjArray* mapOROCs = 0;
TVectorF *mapIROCArray = 0;
TVectorF *mapOROCArray = 0;
Int_t mapEntries = 0;
TString* mapNames = 0;
if (mapFileName) {
TFile mapFile(mapFileName, "read");
TList* listOfROCs = mapFile.GetListOfKeys();
mapEntries = listOfROCs->GetEntries()/2;
mapIROCs = new TObjArray(mapEntries*2);
mapOROCs = new TObjArray(mapEntries*2);
mapIROCArray = new TVectorF[mapEntries];
mapOROCArray = new TVectorF[mapEntries];
mapNames = new TString[mapEntries];
for (Int_t ivalue = 0; ivalue < mapEntries; ivalue++) {
TString rocName(((TKey*)(listOfROCs->At(ivalue*2)))->GetName());
rocName.Remove(rocName.Length()-4, 4);
mapIROCs->AddAt((AliTPCCalROC*)mapFile.Get((rocName + "IROC").Data()), ivalue);
mapOROCs->AddAt((AliTPCCalROC*)mapFile.Get((rocName + "OROC").Data()), ivalue);
mapNames[ivalue].Append(rocName);
}
for (Int_t ivalue = 0; ivalue < mapEntries; ivalue++) {
mapIROCArray[ivalue].ResizeTo(tpcROCinstance->GetNChannels(0));
mapOROCArray[ivalue].ResizeTo(tpcROCinstance->GetNChannels(36));
for (UInt_t ichannel = 0; ichannel < tpcROCinstance->GetNChannels(0); ichannel++)
(mapIROCArray[ivalue])[ichannel] = ((AliTPCCalROC*)(mapIROCs->At(ivalue)))->GetValue(ichannel);
for (UInt_t ichannel = 0; ichannel < tpcROCinstance->GetNChannels(36); ichannel++)
(mapOROCArray[ivalue])[ichannel] = ((AliTPCCalROC*)(mapOROCs->At(ivalue)))->GetValue(ichannel);
}
}
TTreeSRedirector cstream(fileName,"recreate");
Int_t arrayEntries = 0;
if (array) arrayEntries = array->GetEntries();
TString* names = new TString[arrayEntries];
for (Int_t ivalue = 0; ivalue < arrayEntries; ivalue++)
names[ivalue].Append(((AliTPCCalPad*)array->At(ivalue))->GetName());
for (UInt_t isector = 0; isector < tpcROCinstance->GetNSectors(); isector++) {
TVectorF median(arrayEntries);
TVectorF mean(arrayEntries);
TVectorF rms(arrayEntries);
TVectorF ltm(arrayEntries);
TVectorF ltmrms(arrayEntries);
TVectorF medianWithOut(arrayEntries);
TVectorF meanWithOut(arrayEntries);
TVectorF rmsWithOut(arrayEntries);
TVectorF ltmWithOut(arrayEntries);
TVectorF ltmrmsWithOut(arrayEntries);
TVectorF *vectorArray = new TVectorF[arrayEntries];
for (Int_t ivalue = 0; ivalue < arrayEntries; ivalue++){
vectorArray[ivalue].ResizeTo(tpcROCinstance->GetNChannels(isector));
vectorArray[ivalue].SetUniqueID(array->UncheckedAt(ivalue)->GetUniqueID());
}
for (Int_t ivalue = 0; ivalue < arrayEntries; ivalue++) {
AliTPCCalPad* calPad = (AliTPCCalPad*) array->At(ivalue);
AliTPCCalROC* calROC = calPad->GetCalROC(isector);
AliTPCCalROC* outlierROC = 0;
if (outlierPad) outlierROC = outlierPad->GetCalROC(isector);
if (calROC) {
median[ivalue] = calROC->GetMedian();
mean[ivalue] = calROC->GetMean();
rms[ivalue] = calROC->GetRMS();
Double_t ltmrmsValue = 0;
ltm[ivalue] = calROC->GetLTM(<mrmsValue, ltmFraction);
ltmrms[ivalue] = ltmrmsValue;
if (outlierROC) {
medianWithOut[ivalue] = calROC->GetMedian(outlierROC);
meanWithOut[ivalue] = calROC->GetMean(outlierROC);
rmsWithOut[ivalue] = calROC->GetRMS(outlierROC);
ltmrmsValue = 0;
ltmWithOut[ivalue] = calROC->GetLTM(<mrmsValue, ltmFraction, outlierROC);
ltmrmsWithOut[ivalue] = ltmrmsValue;
}
}
else {
median[ivalue] = 0.;
mean[ivalue] = 0.;
rms[ivalue] = 0.;
ltm[ivalue] = 0.;
ltmrms[ivalue] = 0.;
medianWithOut[ivalue] = 0.;
meanWithOut[ivalue] = 0.;
rmsWithOut[ivalue] = 0.;
ltmWithOut[ivalue] = 0.;
ltmrmsWithOut[ivalue] = 0.;
}
}
TVectorF *posArray = new TVectorF[8];
for (Int_t ivalue = 0; ivalue < 8; ivalue++)
posArray[ivalue].ResizeTo(tpcROCinstance->GetNChannels(isector));
Float_t posG[3] = {0};
Float_t posL[3] = {0};
Int_t ichannel = 0;
for (UInt_t irow = 0; irow < tpcROCinstance->GetNRows(isector); irow++) {
for (UInt_t ipad = 0; ipad < tpcROCinstance->GetNPads(isector, irow); ipad++) {
tpcROCinstance->GetPositionLocal(isector, irow, ipad, posL);
tpcROCinstance->GetPositionGlobal(isector, irow, ipad, posG);
posArray[0][ichannel] = irow;
posArray[1][ichannel] = ipad;
posArray[2][ichannel] = posL[0];
posArray[3][ichannel] = posL[1];
posArray[4][ichannel] = posG[0];
posArray[5][ichannel] = posG[1];
posArray[6][ichannel] = (Int_t)(ipad - (Double_t)(tpcROCinstance->GetNPads(isector, irow))/2);
posArray[7][ichannel] = ichannel;
for (Int_t ivalue = 0; ivalue < arrayEntries; ivalue++) {
AliTPCCalPad* calPad = (AliTPCCalPad*) array->At(ivalue);
AliTPCCalROC* calROC = calPad->GetCalROC(isector);
if (calROC)
(vectorArray[ivalue])[ichannel] = calROC->GetValue(irow, ipad);
else
(vectorArray[ivalue])[ichannel] = 0;
}
ichannel++;
}
}
cstream << "calPads" <<
"sector=" << isector;
for (Int_t ivalue = 0; ivalue < arrayEntries; ivalue++) {
if (outlierPad==0) {
cstream << "calPads" <<
(Char_t*)((names[ivalue] + "_Median=").Data()) << median[ivalue] <<
(Char_t*)((names[ivalue] + "_Mean=").Data()) << mean[ivalue] <<
(Char_t*)((names[ivalue] + "_RMS=").Data()) << rms[ivalue] <<
(Char_t*)((names[ivalue] + "_LTM=").Data()) << ltm[ivalue] <<
(Char_t*)((names[ivalue] + "_RMS_LTM=").Data()) << ltmrms[ivalue];
}
if (outlierPad) {
cstream << "calPads" <<
(Char_t*)((names[ivalue] + "_Median=").Data()) << medianWithOut[ivalue] <<
(Char_t*)((names[ivalue] + "_Mean").Data()) << meanWithOut[ivalue] <<
(Char_t*)((names[ivalue] + "_RMS=").Data()) << rmsWithOut[ivalue] <<
(Char_t*)((names[ivalue] + "_LTM=").Data()) << ltmWithOut[ivalue] <<
(Char_t*)((names[ivalue] + "_RMS_LTM=").Data()) << ltmrmsWithOut[ivalue];
}
}
for (Int_t ivalue = 0; ivalue < arrayEntries; ivalue++) {
cstream << "calPads" <<
(Char_t*)((names[ivalue] + ".=").Data()) << &vectorArray[ivalue];
}
if (mapFileName) {
for (Int_t ivalue = 0; ivalue < mapEntries; ivalue++) {
if (isector < 36)
cstream << "calPads" <<
(Char_t*)((mapNames[ivalue] + ".=").Data()) << &mapIROCArray[ivalue];
else
cstream << "calPads" <<
(Char_t*)((mapNames[ivalue] + ".=").Data()) << &mapOROCArray[ivalue];
}
}
cstream << "calPads" <<
"row.=" << &posArray[0] <<
"pad.=" << &posArray[1] <<
"lx.=" << &posArray[2] <<
"ly.=" << &posArray[3] <<
"gx.=" << &posArray[4] <<
"gy.=" << &posArray[5] <<
"rpad.=" << &posArray[6] <<
"channel.=" << &posArray[7];
cstream << "calPads" <<
"\n";
delete[] posArray;
delete[] vectorArray;
}
TTree * tree = (cstream << "calPads").GetTree();
MakeCalPadAliases(tree);
for (Int_t ivalue = 0; ivalue < arrayEntries; ivalue++) {
tree->SetAlias(TString::Format("%s_LTMRatio",names[ivalue].Data()).Data(), TString::Format("%s.fElements/%s_LTM",names[ivalue].Data(),names[ivalue].Data()).Data());
tree->SetAlias(TString::Format("%s_MeanRatio",names[ivalue].Data()).Data(), TString::Format("%s.fElements/%s_Mean",names[ivalue].Data(),names[ivalue].Data()).Data());
tree->SetAlias(TString::Format("%s_MedianRatio",names[ivalue].Data()).Data(), TString::Format("%s.fElements/%s_Median",names[ivalue].Data(),names[ivalue].Data()).Data());
tree->SetAlias(names[ivalue].Data(), TString::Format("%s.fElements",names[ivalue].Data()).Data());
}
delete[] names;
if (mapFileName) {
delete mapIROCs;
delete mapOROCs;
delete[] mapIROCArray;
delete[] mapOROCArray;
delete[] mapNames;
}
}
void AliTPCCalibViewer::MakeCalPadAliases(TTree * tree){
tree->SetAlias("Pad0","MapPadLength.fElements==7.5");
tree->SetAlias("Pad1","MapPadLength.fElements==10.0");
tree->SetAlias("Pad2","MapPadLength.fElements==15.0");
tree->SetAlias("ly","(ly.fElements+((sector<36)*(2*((sector%36)<18)-1)*0.2)+((sector>=36)*(2*((sector%36)<18)-1)*0.3))");
tree->SetAlias("dRowNorm0","(row.fElements/32-1)");
tree->SetAlias("dRowNorm1","(row.fElements/32-1)");
tree->SetAlias("dRowNorm2","((row.fElements-63)/16-1)");
tree->SetAlias("dRowNorm","(row.fElements<63)*(row.fElements/32-1)+(row.fElements>63)*((row.fElements-63)/16-1)");
tree->SetAlias("dPhiNorm","(ly/lx.fElements)/(pi/18)");
tree->SetAlias("fsector","(sector%36)+(0.5+9*atan2(ly,lx.fElements)/pi)");
tree->SetAlias("posEdge","((pi/18.)-abs(atan(ly/lx.fElements)))*lx.fElements");
tree->SetAlias("lphi","atan(ly/lx.fElements)");
}
void AliTPCCalibViewer::MakeTree(const char *outPutFileName, const Char_t *inputFileName, AliTPCCalPad *outlierPad, Float_t ltmFraction, const char *mapFileName ){
TObjArray objArray;
CreateObjectList(inputFileName, &objArray);
MakeTree(outPutFileName, &objArray, mapFileName, outlierPad, ltmFraction);
}
void AliTPCCalibViewer::CreateObjectList(const Char_t *filename, TObjArray *calibObjects){
if ( calibObjects == 0x0 ) return;
ifstream in;
in.open(filename);
if ( !in.is_open() ){
fprintf(stderr,"Error: cannot open list file '%s'", filename);
return;
}
AliTPCCalPad *calPad=0x0;
TString sFile;
sFile.ReadFile(in);
in.close();
TObjArray *arrFileLine = sFile.Tokenize("\n");
TIter nextLine(arrFileLine);
TObjString *sObjLine = 0x0;
while ( (sObjLine = (TObjString*)nextLine()) ){
TString sLine(sObjLine->GetString());
TObjArray *arrCol = sLine.Tokenize("\t");
Int_t nCols = arrCol->GetEntriesFast();
TObjString *sObjType = (TObjString*)(arrCol->At(0));
TObjString *sObjFileName = (TObjString*)(arrCol->At(1));
TObjString *sObjName = 0x0;
if ( !sObjType || !sObjFileName ) continue;
TString sType(sObjType->GetString());
TString sFileName(sObjFileName->GetString());
printf("Type %s, opening %s \n", sType.Data(), sFileName.Data());
TFile *fIn = TFile::Open(sFileName);
if ( !fIn ){
fprintf(stderr,"File not found: '%s'", sFileName.Data());
continue;
}
if ( sType == "CE" ){
AliTPCCalibCE *ce = (AliTPCCalibCE*)fIn->Get("AliTPCCalibCE");
calPad = new AliTPCCalPad((TObjArray*)ce->GetCalPadT0());
if (nCols > 2) {
sObjName = (TObjString*)(arrCol->At(2));
calPad->SetNameTitle(sObjName->GetString().Data(), sObjName->GetString().Data());
}
else calPad->SetNameTitle("CETmean","CETmean");
calibObjects->Add(calPad);
calPad = new AliTPCCalPad((TObjArray*)ce->GetCalPadQ());
if (nCols > 3) {
sObjName = (TObjString*)(arrCol->At(3));
calPad->SetNameTitle(sObjName->GetString().Data(), sObjName->GetString().Data());
}
else calPad->SetNameTitle("CEQmean","CEQmean");
calibObjects->Add(calPad);
calPad = new AliTPCCalPad((TObjArray*)ce->GetCalPadRMS());
if (nCols > 4) {
sObjName = (TObjString*)(arrCol->At(4));
calPad->SetNameTitle(sObjName->GetString().Data(), sObjName->GetString().Data());
}
else calPad->SetNameTitle("CETrms","CETrms");
calibObjects->Add(calPad);
} else if ( sType == "Pulser") {
AliTPCCalibPulser *sig = (AliTPCCalibPulser*)fIn->Get("AliTPCCalibPulser");
calPad = new AliTPCCalPad((TObjArray*)sig->GetCalPadT0());
if (nCols > 2) {
sObjName = (TObjString*)(arrCol->At(2));
calPad->SetNameTitle(sObjName->GetString().Data(), sObjName->GetString().Data());
}
else calPad->SetNameTitle("PulserTmean","PulserTmean");
calibObjects->Add(calPad);
calPad = new AliTPCCalPad((TObjArray*)sig->GetCalPadQ());
if (nCols > 3) {
sObjName = (TObjString*)(arrCol->At(3));
calPad->SetNameTitle(sObjName->GetString().Data(), sObjName->GetString().Data());
}
else calPad->SetNameTitle("PulserQmean","PulserQmean");
calibObjects->Add(calPad);
calPad = new AliTPCCalPad((TObjArray*)sig->GetCalPadRMS());
if (nCols > 4) {
sObjName = (TObjString*)(arrCol->At(4));
calPad->SetNameTitle(sObjName->GetString().Data(), sObjName->GetString().Data());
}
else calPad->SetNameTitle("PulserTrms","PulserTrms");
calibObjects->Add(calPad);
} else if ( sType == "Pedestals") {
AliTPCCalibPedestal *ped = (AliTPCCalibPedestal*)fIn->Get("AliTPCCalibPedestal");
calPad = new AliTPCCalPad((TObjArray*)ped->GetCalPadPedestal());
if (nCols > 2) {
sObjName = (TObjString*)(arrCol->At(2));
calPad->SetNameTitle(sObjName->GetString().Data(), sObjName->GetString().Data());
}
else calPad->SetNameTitle("Pedestals","Pedestals");
calibObjects->Add(calPad);
calPad = new AliTPCCalPad((TObjArray*)ped->GetCalPadRMS());
if (nCols > 3) {
sObjName = (TObjString*)(arrCol->At(3));
calPad->SetNameTitle(sObjName->GetString().Data(), sObjName->GetString().Data());
}
else calPad->SetNameTitle("Noise","Noise");
calibObjects->Add(calPad);
} else if ( sType == "CalPad") {
if (nCols > 2) sObjName = (TObjString*)(arrCol->At(2));
else continue;
calPad = new AliTPCCalPad(*(AliTPCCalPad*)fIn->Get(sObjName->GetString().Data()));
if (nCols > 3) {
sObjName = (TObjString*)(arrCol->At(3));
calPad->SetNameTitle(sObjName->GetString().Data(), sObjName->GetString().Data());
}
calibObjects->Add(calPad);
} else {
fprintf(stderr,"Undefined Type: '%s'",sType.Data());
}
delete fIn;
}
delete arrFileLine;
}
AliTPCCalibViewer.cxx:100 AliTPCCalibViewer.cxx:101 AliTPCCalibViewer.cxx:102 AliTPCCalibViewer.cxx:103 AliTPCCalibViewer.cxx:104 AliTPCCalibViewer.cxx:105 AliTPCCalibViewer.cxx:106 AliTPCCalibViewer.cxx:107 AliTPCCalibViewer.cxx:108 AliTPCCalibViewer.cxx:109 AliTPCCalibViewer.cxx:110 AliTPCCalibViewer.cxx:111 AliTPCCalibViewer.cxx:112 AliTPCCalibViewer.cxx:113 AliTPCCalibViewer.cxx:114 AliTPCCalibViewer.cxx:115 AliTPCCalibViewer.cxx:116 AliTPCCalibViewer.cxx:117 AliTPCCalibViewer.cxx:118 AliTPCCalibViewer.cxx:119 AliTPCCalibViewer.cxx:120 AliTPCCalibViewer.cxx:121 AliTPCCalibViewer.cxx:122 AliTPCCalibViewer.cxx:123 AliTPCCalibViewer.cxx:124 AliTPCCalibViewer.cxx:125 AliTPCCalibViewer.cxx:126 AliTPCCalibViewer.cxx:127 AliTPCCalibViewer.cxx:128 AliTPCCalibViewer.cxx:129 AliTPCCalibViewer.cxx:130 AliTPCCalibViewer.cxx:131 AliTPCCalibViewer.cxx:132 AliTPCCalibViewer.cxx:133 AliTPCCalibViewer.cxx:134 AliTPCCalibViewer.cxx:135 AliTPCCalibViewer.cxx:136 AliTPCCalibViewer.cxx:137 AliTPCCalibViewer.cxx:138 AliTPCCalibViewer.cxx:139 AliTPCCalibViewer.cxx:140 AliTPCCalibViewer.cxx:141 AliTPCCalibViewer.cxx:142 AliTPCCalibViewer.cxx:143 AliTPCCalibViewer.cxx:144 AliTPCCalibViewer.cxx:145 AliTPCCalibViewer.cxx:146 AliTPCCalibViewer.cxx:147 AliTPCCalibViewer.cxx:148 AliTPCCalibViewer.cxx:149 AliTPCCalibViewer.cxx:150 AliTPCCalibViewer.cxx:151 AliTPCCalibViewer.cxx:152 AliTPCCalibViewer.cxx:153 AliTPCCalibViewer.cxx:154 AliTPCCalibViewer.cxx:155 AliTPCCalibViewer.cxx:156 AliTPCCalibViewer.cxx:157 AliTPCCalibViewer.cxx:158 AliTPCCalibViewer.cxx:159 AliTPCCalibViewer.cxx:160 AliTPCCalibViewer.cxx:161 AliTPCCalibViewer.cxx:162 AliTPCCalibViewer.cxx:163 AliTPCCalibViewer.cxx:164 AliTPCCalibViewer.cxx:165 AliTPCCalibViewer.cxx:166 AliTPCCalibViewer.cxx:167 AliTPCCalibViewer.cxx:168 AliTPCCalibViewer.cxx:169 AliTPCCalibViewer.cxx:170 AliTPCCalibViewer.cxx:171 AliTPCCalibViewer.cxx:172 AliTPCCalibViewer.cxx:173 AliTPCCalibViewer.cxx:174 AliTPCCalibViewer.cxx:175 AliTPCCalibViewer.cxx:176 AliTPCCalibViewer.cxx:177 AliTPCCalibViewer.cxx:178 AliTPCCalibViewer.cxx:179 AliTPCCalibViewer.cxx:180 AliTPCCalibViewer.cxx:181 AliTPCCalibViewer.cxx:182 AliTPCCalibViewer.cxx:183 AliTPCCalibViewer.cxx:184 AliTPCCalibViewer.cxx:185 AliTPCCalibViewer.cxx:186 AliTPCCalibViewer.cxx:187 AliTPCCalibViewer.cxx:188 AliTPCCalibViewer.cxx:189 AliTPCCalibViewer.cxx:190 AliTPCCalibViewer.cxx:191 AliTPCCalibViewer.cxx:192 AliTPCCalibViewer.cxx:193 AliTPCCalibViewer.cxx:194 AliTPCCalibViewer.cxx:195 AliTPCCalibViewer.cxx:196 AliTPCCalibViewer.cxx:197 AliTPCCalibViewer.cxx:198 AliTPCCalibViewer.cxx:199 AliTPCCalibViewer.cxx:200 AliTPCCalibViewer.cxx:201 AliTPCCalibViewer.cxx:202 AliTPCCalibViewer.cxx:203 AliTPCCalibViewer.cxx:204 AliTPCCalibViewer.cxx:205 AliTPCCalibViewer.cxx:206 AliTPCCalibViewer.cxx:207 AliTPCCalibViewer.cxx:208 AliTPCCalibViewer.cxx:209 AliTPCCalibViewer.cxx:210 AliTPCCalibViewer.cxx:211 AliTPCCalibViewer.cxx:212 AliTPCCalibViewer.cxx:213 AliTPCCalibViewer.cxx:214 AliTPCCalibViewer.cxx:215 AliTPCCalibViewer.cxx:216 AliTPCCalibViewer.cxx:217 AliTPCCalibViewer.cxx:218 AliTPCCalibViewer.cxx:219 AliTPCCalibViewer.cxx:220 AliTPCCalibViewer.cxx:221 AliTPCCalibViewer.cxx:222 AliTPCCalibViewer.cxx:223 AliTPCCalibViewer.cxx:224 AliTPCCalibViewer.cxx:225 AliTPCCalibViewer.cxx:226 AliTPCCalibViewer.cxx:227 AliTPCCalibViewer.cxx:228 AliTPCCalibViewer.cxx:229 AliTPCCalibViewer.cxx:230 AliTPCCalibViewer.cxx:231 AliTPCCalibViewer.cxx:232 AliTPCCalibViewer.cxx:233 AliTPCCalibViewer.cxx:234 AliTPCCalibViewer.cxx:235 AliTPCCalibViewer.cxx:236 AliTPCCalibViewer.cxx:237 AliTPCCalibViewer.cxx:238 AliTPCCalibViewer.cxx:239 AliTPCCalibViewer.cxx:240 AliTPCCalibViewer.cxx:241 AliTPCCalibViewer.cxx:242 AliTPCCalibViewer.cxx:243 AliTPCCalibViewer.cxx:244 AliTPCCalibViewer.cxx:245 AliTPCCalibViewer.cxx:246 AliTPCCalibViewer.cxx:247 AliTPCCalibViewer.cxx:248 AliTPCCalibViewer.cxx:249 AliTPCCalibViewer.cxx:250 AliTPCCalibViewer.cxx:251 AliTPCCalibViewer.cxx:252 AliTPCCalibViewer.cxx:253 AliTPCCalibViewer.cxx:254 AliTPCCalibViewer.cxx:255 AliTPCCalibViewer.cxx:256 AliTPCCalibViewer.cxx:257 AliTPCCalibViewer.cxx:258 AliTPCCalibViewer.cxx:259 AliTPCCalibViewer.cxx:260 AliTPCCalibViewer.cxx:261 AliTPCCalibViewer.cxx:262 AliTPCCalibViewer.cxx:263 AliTPCCalibViewer.cxx:264 AliTPCCalibViewer.cxx:265 AliTPCCalibViewer.cxx:266 AliTPCCalibViewer.cxx:267 AliTPCCalibViewer.cxx:268 AliTPCCalibViewer.cxx:269 AliTPCCalibViewer.cxx:270 AliTPCCalibViewer.cxx:271 AliTPCCalibViewer.cxx:272 AliTPCCalibViewer.cxx:273 AliTPCCalibViewer.cxx:274 AliTPCCalibViewer.cxx:275 AliTPCCalibViewer.cxx:276 AliTPCCalibViewer.cxx:277 AliTPCCalibViewer.cxx:278 AliTPCCalibViewer.cxx:279 AliTPCCalibViewer.cxx:280 AliTPCCalibViewer.cxx:281 AliTPCCalibViewer.cxx:282 AliTPCCalibViewer.cxx:283 AliTPCCalibViewer.cxx:284 AliTPCCalibViewer.cxx:285 AliTPCCalibViewer.cxx:286 AliTPCCalibViewer.cxx:287 AliTPCCalibViewer.cxx:288 AliTPCCalibViewer.cxx:289 AliTPCCalibViewer.cxx:290 AliTPCCalibViewer.cxx:291 AliTPCCalibViewer.cxx:292 AliTPCCalibViewer.cxx:293 AliTPCCalibViewer.cxx:294 AliTPCCalibViewer.cxx:295 AliTPCCalibViewer.cxx:296 AliTPCCalibViewer.cxx:297 AliTPCCalibViewer.cxx:298 AliTPCCalibViewer.cxx:299 AliTPCCalibViewer.cxx:300 AliTPCCalibViewer.cxx:301 AliTPCCalibViewer.cxx:302 AliTPCCalibViewer.cxx:303 AliTPCCalibViewer.cxx:304 AliTPCCalibViewer.cxx:305 AliTPCCalibViewer.cxx:306 AliTPCCalibViewer.cxx:307 AliTPCCalibViewer.cxx:308 AliTPCCalibViewer.cxx:309 AliTPCCalibViewer.cxx:310 AliTPCCalibViewer.cxx:311 AliTPCCalibViewer.cxx:312 AliTPCCalibViewer.cxx:313 AliTPCCalibViewer.cxx:314 AliTPCCalibViewer.cxx:315 AliTPCCalibViewer.cxx:316 AliTPCCalibViewer.cxx:317 AliTPCCalibViewer.cxx:318 AliTPCCalibViewer.cxx:319 AliTPCCalibViewer.cxx:320 AliTPCCalibViewer.cxx:321 AliTPCCalibViewer.cxx:322 AliTPCCalibViewer.cxx:323 AliTPCCalibViewer.cxx:324 AliTPCCalibViewer.cxx:325 AliTPCCalibViewer.cxx:326 AliTPCCalibViewer.cxx:327 AliTPCCalibViewer.cxx:328 AliTPCCalibViewer.cxx:329 AliTPCCalibViewer.cxx:330 AliTPCCalibViewer.cxx:331 AliTPCCalibViewer.cxx:332 AliTPCCalibViewer.cxx:333 AliTPCCalibViewer.cxx:334 AliTPCCalibViewer.cxx:335 AliTPCCalibViewer.cxx:336 AliTPCCalibViewer.cxx:337 AliTPCCalibViewer.cxx:338 AliTPCCalibViewer.cxx:339 AliTPCCalibViewer.cxx:340 AliTPCCalibViewer.cxx:341 AliTPCCalibViewer.cxx:342 AliTPCCalibViewer.cxx:343 AliTPCCalibViewer.cxx:344 AliTPCCalibViewer.cxx:345 AliTPCCalibViewer.cxx:346 AliTPCCalibViewer.cxx:347 AliTPCCalibViewer.cxx:348 AliTPCCalibViewer.cxx:349 AliTPCCalibViewer.cxx:350 AliTPCCalibViewer.cxx:351 AliTPCCalibViewer.cxx:352 AliTPCCalibViewer.cxx:353 AliTPCCalibViewer.cxx:354 AliTPCCalibViewer.cxx:355 AliTPCCalibViewer.cxx:356 AliTPCCalibViewer.cxx:357 AliTPCCalibViewer.cxx:358 AliTPCCalibViewer.cxx:359 AliTPCCalibViewer.cxx:360 AliTPCCalibViewer.cxx:361 AliTPCCalibViewer.cxx:362 AliTPCCalibViewer.cxx:363 AliTPCCalibViewer.cxx:364 AliTPCCalibViewer.cxx:365 AliTPCCalibViewer.cxx:366 AliTPCCalibViewer.cxx:367 AliTPCCalibViewer.cxx:368 AliTPCCalibViewer.cxx:369 AliTPCCalibViewer.cxx:370 AliTPCCalibViewer.cxx:371 AliTPCCalibViewer.cxx:372 AliTPCCalibViewer.cxx:373 AliTPCCalibViewer.cxx:374 AliTPCCalibViewer.cxx:375 AliTPCCalibViewer.cxx:376 AliTPCCalibViewer.cxx:377 AliTPCCalibViewer.cxx:378 AliTPCCalibViewer.cxx:379 AliTPCCalibViewer.cxx:380 AliTPCCalibViewer.cxx:381 AliTPCCalibViewer.cxx:382 AliTPCCalibViewer.cxx:383 AliTPCCalibViewer.cxx:384 AliTPCCalibViewer.cxx:385 AliTPCCalibViewer.cxx:386 AliTPCCalibViewer.cxx:387 AliTPCCalibViewer.cxx:388 AliTPCCalibViewer.cxx:389 AliTPCCalibViewer.cxx:390 AliTPCCalibViewer.cxx:391 AliTPCCalibViewer.cxx:392 AliTPCCalibViewer.cxx:393 AliTPCCalibViewer.cxx:394 AliTPCCalibViewer.cxx:395 AliTPCCalibViewer.cxx:396 AliTPCCalibViewer.cxx:397 AliTPCCalibViewer.cxx:398 AliTPCCalibViewer.cxx:399 AliTPCCalibViewer.cxx:400 AliTPCCalibViewer.cxx:401 AliTPCCalibViewer.cxx:402 AliTPCCalibViewer.cxx:403 AliTPCCalibViewer.cxx:404 AliTPCCalibViewer.cxx:405 AliTPCCalibViewer.cxx:406 AliTPCCalibViewer.cxx:407 AliTPCCalibViewer.cxx:408 AliTPCCalibViewer.cxx:409 AliTPCCalibViewer.cxx:410 AliTPCCalibViewer.cxx:411 AliTPCCalibViewer.cxx:412 AliTPCCalibViewer.cxx:413 AliTPCCalibViewer.cxx:414 AliTPCCalibViewer.cxx:415 AliTPCCalibViewer.cxx:416 AliTPCCalibViewer.cxx:417 AliTPCCalibViewer.cxx:418 AliTPCCalibViewer.cxx:419 AliTPCCalibViewer.cxx:420 AliTPCCalibViewer.cxx:421 AliTPCCalibViewer.cxx:422 AliTPCCalibViewer.cxx:423 AliTPCCalibViewer.cxx:424 AliTPCCalibViewer.cxx:425 AliTPCCalibViewer.cxx:426 AliTPCCalibViewer.cxx:427 AliTPCCalibViewer.cxx:428 AliTPCCalibViewer.cxx:429 AliTPCCalibViewer.cxx:430 AliTPCCalibViewer.cxx:431 AliTPCCalibViewer.cxx:432 AliTPCCalibViewer.cxx:433 AliTPCCalibViewer.cxx:434 AliTPCCalibViewer.cxx:435 AliTPCCalibViewer.cxx:436 AliTPCCalibViewer.cxx:437 AliTPCCalibViewer.cxx:438 AliTPCCalibViewer.cxx:439 AliTPCCalibViewer.cxx:440 AliTPCCalibViewer.cxx:441 AliTPCCalibViewer.cxx:442 AliTPCCalibViewer.cxx:443 AliTPCCalibViewer.cxx:444 AliTPCCalibViewer.cxx:445 AliTPCCalibViewer.cxx:446 AliTPCCalibViewer.cxx:447 AliTPCCalibViewer.cxx:448 AliTPCCalibViewer.cxx:449 AliTPCCalibViewer.cxx:450 AliTPCCalibViewer.cxx:451 AliTPCCalibViewer.cxx:452 AliTPCCalibViewer.cxx:453 AliTPCCalibViewer.cxx:454 AliTPCCalibViewer.cxx:455 AliTPCCalibViewer.cxx:456 AliTPCCalibViewer.cxx:457 AliTPCCalibViewer.cxx:458 AliTPCCalibViewer.cxx:459 AliTPCCalibViewer.cxx:460 AliTPCCalibViewer.cxx:461 AliTPCCalibViewer.cxx:462 AliTPCCalibViewer.cxx:463 AliTPCCalibViewer.cxx:464 AliTPCCalibViewer.cxx:465 AliTPCCalibViewer.cxx:466 AliTPCCalibViewer.cxx:467 AliTPCCalibViewer.cxx:468 AliTPCCalibViewer.cxx:469 AliTPCCalibViewer.cxx:470 AliTPCCalibViewer.cxx:471 AliTPCCalibViewer.cxx:472 AliTPCCalibViewer.cxx:473 AliTPCCalibViewer.cxx:474 AliTPCCalibViewer.cxx:475 AliTPCCalibViewer.cxx:476 AliTPCCalibViewer.cxx:477 AliTPCCalibViewer.cxx:478 AliTPCCalibViewer.cxx:479 AliTPCCalibViewer.cxx:480 AliTPCCalibViewer.cxx:481 AliTPCCalibViewer.cxx:482 AliTPCCalibViewer.cxx:483 AliTPCCalibViewer.cxx:484 AliTPCCalibViewer.cxx:485 AliTPCCalibViewer.cxx:486 AliTPCCalibViewer.cxx:487 AliTPCCalibViewer.cxx:488 AliTPCCalibViewer.cxx:489 AliTPCCalibViewer.cxx:490 AliTPCCalibViewer.cxx:491 AliTPCCalibViewer.cxx:492 AliTPCCalibViewer.cxx:493 AliTPCCalibViewer.cxx:494 AliTPCCalibViewer.cxx:495 AliTPCCalibViewer.cxx:496 AliTPCCalibViewer.cxx:497 AliTPCCalibViewer.cxx:498 AliTPCCalibViewer.cxx:499 AliTPCCalibViewer.cxx:500 AliTPCCalibViewer.cxx:501 AliTPCCalibViewer.cxx:502 AliTPCCalibViewer.cxx:503 AliTPCCalibViewer.cxx:504 AliTPCCalibViewer.cxx:505 AliTPCCalibViewer.cxx:506 AliTPCCalibViewer.cxx:507 AliTPCCalibViewer.cxx:508 AliTPCCalibViewer.cxx:509 AliTPCCalibViewer.cxx:510 AliTPCCalibViewer.cxx:511 AliTPCCalibViewer.cxx:512 AliTPCCalibViewer.cxx:513 AliTPCCalibViewer.cxx:514 AliTPCCalibViewer.cxx:515 AliTPCCalibViewer.cxx:516 AliTPCCalibViewer.cxx:517 AliTPCCalibViewer.cxx:518 AliTPCCalibViewer.cxx:519 AliTPCCalibViewer.cxx:520 AliTPCCalibViewer.cxx:521 AliTPCCalibViewer.cxx:522 AliTPCCalibViewer.cxx:523 AliTPCCalibViewer.cxx:524 AliTPCCalibViewer.cxx:525 AliTPCCalibViewer.cxx:526 AliTPCCalibViewer.cxx:527 AliTPCCalibViewer.cxx:528 AliTPCCalibViewer.cxx:529 AliTPCCalibViewer.cxx:530 AliTPCCalibViewer.cxx:531 AliTPCCalibViewer.cxx:532 AliTPCCalibViewer.cxx:533 AliTPCCalibViewer.cxx:534 AliTPCCalibViewer.cxx:535 AliTPCCalibViewer.cxx:536 AliTPCCalibViewer.cxx:537 AliTPCCalibViewer.cxx:538 AliTPCCalibViewer.cxx:539 AliTPCCalibViewer.cxx:540 AliTPCCalibViewer.cxx:541 AliTPCCalibViewer.cxx:542 AliTPCCalibViewer.cxx:543 AliTPCCalibViewer.cxx:544 AliTPCCalibViewer.cxx:545 AliTPCCalibViewer.cxx:546 AliTPCCalibViewer.cxx:547 AliTPCCalibViewer.cxx:548 AliTPCCalibViewer.cxx:549 AliTPCCalibViewer.cxx:550 AliTPCCalibViewer.cxx:551 AliTPCCalibViewer.cxx:552 AliTPCCalibViewer.cxx:553 AliTPCCalibViewer.cxx:554 AliTPCCalibViewer.cxx:555 AliTPCCalibViewer.cxx:556 AliTPCCalibViewer.cxx:557 AliTPCCalibViewer.cxx:558 AliTPCCalibViewer.cxx:559 AliTPCCalibViewer.cxx:560 AliTPCCalibViewer.cxx:561 AliTPCCalibViewer.cxx:562 AliTPCCalibViewer.cxx:563 AliTPCCalibViewer.cxx:564 AliTPCCalibViewer.cxx:565 AliTPCCalibViewer.cxx:566 AliTPCCalibViewer.cxx:567 AliTPCCalibViewer.cxx:568 AliTPCCalibViewer.cxx:569 AliTPCCalibViewer.cxx:570 AliTPCCalibViewer.cxx:571 AliTPCCalibViewer.cxx:572 AliTPCCalibViewer.cxx:573 AliTPCCalibViewer.cxx:574 AliTPCCalibViewer.cxx:575 AliTPCCalibViewer.cxx:576 AliTPCCalibViewer.cxx:577 AliTPCCalibViewer.cxx:578 AliTPCCalibViewer.cxx:579 AliTPCCalibViewer.cxx:580 AliTPCCalibViewer.cxx:581 AliTPCCalibViewer.cxx:582 AliTPCCalibViewer.cxx:583 AliTPCCalibViewer.cxx:584 AliTPCCalibViewer.cxx:585 AliTPCCalibViewer.cxx:586 AliTPCCalibViewer.cxx:587 AliTPCCalibViewer.cxx:588 AliTPCCalibViewer.cxx:589 AliTPCCalibViewer.cxx:590 AliTPCCalibViewer.cxx:591 AliTPCCalibViewer.cxx:592 AliTPCCalibViewer.cxx:593 AliTPCCalibViewer.cxx:594 AliTPCCalibViewer.cxx:595 AliTPCCalibViewer.cxx:596 AliTPCCalibViewer.cxx:597 AliTPCCalibViewer.cxx:598 AliTPCCalibViewer.cxx:599 AliTPCCalibViewer.cxx:600 AliTPCCalibViewer.cxx:601 AliTPCCalibViewer.cxx:602 AliTPCCalibViewer.cxx:603 AliTPCCalibViewer.cxx:604 AliTPCCalibViewer.cxx:605 AliTPCCalibViewer.cxx:606 AliTPCCalibViewer.cxx:607 AliTPCCalibViewer.cxx:608 AliTPCCalibViewer.cxx:609 AliTPCCalibViewer.cxx:610 AliTPCCalibViewer.cxx:611 AliTPCCalibViewer.cxx:612 AliTPCCalibViewer.cxx:613 AliTPCCalibViewer.cxx:614 AliTPCCalibViewer.cxx:615 AliTPCCalibViewer.cxx:616 AliTPCCalibViewer.cxx:617 AliTPCCalibViewer.cxx:618 AliTPCCalibViewer.cxx:619 AliTPCCalibViewer.cxx:620 AliTPCCalibViewer.cxx:621 AliTPCCalibViewer.cxx:622 AliTPCCalibViewer.cxx:623 AliTPCCalibViewer.cxx:624 AliTPCCalibViewer.cxx:625 AliTPCCalibViewer.cxx:626 AliTPCCalibViewer.cxx:627 AliTPCCalibViewer.cxx:628 AliTPCCalibViewer.cxx:629 AliTPCCalibViewer.cxx:630 AliTPCCalibViewer.cxx:631 AliTPCCalibViewer.cxx:632 AliTPCCalibViewer.cxx:633 AliTPCCalibViewer.cxx:634 AliTPCCalibViewer.cxx:635 AliTPCCalibViewer.cxx:636 AliTPCCalibViewer.cxx:637 AliTPCCalibViewer.cxx:638 AliTPCCalibViewer.cxx:639 AliTPCCalibViewer.cxx:640 AliTPCCalibViewer.cxx:641 AliTPCCalibViewer.cxx:642 AliTPCCalibViewer.cxx:643 AliTPCCalibViewer.cxx:644 AliTPCCalibViewer.cxx:645 AliTPCCalibViewer.cxx:646 AliTPCCalibViewer.cxx:647 AliTPCCalibViewer.cxx:648 AliTPCCalibViewer.cxx:649 AliTPCCalibViewer.cxx:650 AliTPCCalibViewer.cxx:651 AliTPCCalibViewer.cxx:652 AliTPCCalibViewer.cxx:653 AliTPCCalibViewer.cxx:654 AliTPCCalibViewer.cxx:655 AliTPCCalibViewer.cxx:656 AliTPCCalibViewer.cxx:657 AliTPCCalibViewer.cxx:658 AliTPCCalibViewer.cxx:659 AliTPCCalibViewer.cxx:660 AliTPCCalibViewer.cxx:661 AliTPCCalibViewer.cxx:662 AliTPCCalibViewer.cxx:663 AliTPCCalibViewer.cxx:664 AliTPCCalibViewer.cxx:665 AliTPCCalibViewer.cxx:666 AliTPCCalibViewer.cxx:667 AliTPCCalibViewer.cxx:668 AliTPCCalibViewer.cxx:669 AliTPCCalibViewer.cxx:670 AliTPCCalibViewer.cxx:671 AliTPCCalibViewer.cxx:672 AliTPCCalibViewer.cxx:673 AliTPCCalibViewer.cxx:674 AliTPCCalibViewer.cxx:675 AliTPCCalibViewer.cxx:676 AliTPCCalibViewer.cxx:677 AliTPCCalibViewer.cxx:678 AliTPCCalibViewer.cxx:679 AliTPCCalibViewer.cxx:680 AliTPCCalibViewer.cxx:681 AliTPCCalibViewer.cxx:682 AliTPCCalibViewer.cxx:683 AliTPCCalibViewer.cxx:684 AliTPCCalibViewer.cxx:685 AliTPCCalibViewer.cxx:686 AliTPCCalibViewer.cxx:687 AliTPCCalibViewer.cxx:688 AliTPCCalibViewer.cxx:689 AliTPCCalibViewer.cxx:690 AliTPCCalibViewer.cxx:691 AliTPCCalibViewer.cxx:692 AliTPCCalibViewer.cxx:693 AliTPCCalibViewer.cxx:694 AliTPCCalibViewer.cxx:695 AliTPCCalibViewer.cxx:696 AliTPCCalibViewer.cxx:697 AliTPCCalibViewer.cxx:698 AliTPCCalibViewer.cxx:699 AliTPCCalibViewer.cxx:700 AliTPCCalibViewer.cxx:701 AliTPCCalibViewer.cxx:702 AliTPCCalibViewer.cxx:703 AliTPCCalibViewer.cxx:704 AliTPCCalibViewer.cxx:705 AliTPCCalibViewer.cxx:706 AliTPCCalibViewer.cxx:707 AliTPCCalibViewer.cxx:708 AliTPCCalibViewer.cxx:709 AliTPCCalibViewer.cxx:710 AliTPCCalibViewer.cxx:711 AliTPCCalibViewer.cxx:712 AliTPCCalibViewer.cxx:713 AliTPCCalibViewer.cxx:714 AliTPCCalibViewer.cxx:715 AliTPCCalibViewer.cxx:716 AliTPCCalibViewer.cxx:717 AliTPCCalibViewer.cxx:718 AliTPCCalibViewer.cxx:719 AliTPCCalibViewer.cxx:720 AliTPCCalibViewer.cxx:721 AliTPCCalibViewer.cxx:722 AliTPCCalibViewer.cxx:723 AliTPCCalibViewer.cxx:724 AliTPCCalibViewer.cxx:725 AliTPCCalibViewer.cxx:726 AliTPCCalibViewer.cxx:727 AliTPCCalibViewer.cxx:728 AliTPCCalibViewer.cxx:729 AliTPCCalibViewer.cxx:730 AliTPCCalibViewer.cxx:731 AliTPCCalibViewer.cxx:732 AliTPCCalibViewer.cxx:733 AliTPCCalibViewer.cxx:734 AliTPCCalibViewer.cxx:735 AliTPCCalibViewer.cxx:736 AliTPCCalibViewer.cxx:737 AliTPCCalibViewer.cxx:738 AliTPCCalibViewer.cxx:739 AliTPCCalibViewer.cxx:740 AliTPCCalibViewer.cxx:741 AliTPCCalibViewer.cxx:742 AliTPCCalibViewer.cxx:743 AliTPCCalibViewer.cxx:744 AliTPCCalibViewer.cxx:745 AliTPCCalibViewer.cxx:746 AliTPCCalibViewer.cxx:747 AliTPCCalibViewer.cxx:748 AliTPCCalibViewer.cxx:749 AliTPCCalibViewer.cxx:750 AliTPCCalibViewer.cxx:751 AliTPCCalibViewer.cxx:752 AliTPCCalibViewer.cxx:753 AliTPCCalibViewer.cxx:754 AliTPCCalibViewer.cxx:755 AliTPCCalibViewer.cxx:756 AliTPCCalibViewer.cxx:757 AliTPCCalibViewer.cxx:758 AliTPCCalibViewer.cxx:759 AliTPCCalibViewer.cxx:760 AliTPCCalibViewer.cxx:761 AliTPCCalibViewer.cxx:762 AliTPCCalibViewer.cxx:763 AliTPCCalibViewer.cxx:764 AliTPCCalibViewer.cxx:765 AliTPCCalibViewer.cxx:766 AliTPCCalibViewer.cxx:767 AliTPCCalibViewer.cxx:768 AliTPCCalibViewer.cxx:769 AliTPCCalibViewer.cxx:770 AliTPCCalibViewer.cxx:771 AliTPCCalibViewer.cxx:772 AliTPCCalibViewer.cxx:773 AliTPCCalibViewer.cxx:774 AliTPCCalibViewer.cxx:775 AliTPCCalibViewer.cxx:776 AliTPCCalibViewer.cxx:777 AliTPCCalibViewer.cxx:778 AliTPCCalibViewer.cxx:779 AliTPCCalibViewer.cxx:780 AliTPCCalibViewer.cxx:781 AliTPCCalibViewer.cxx:782 AliTPCCalibViewer.cxx:783 AliTPCCalibViewer.cxx:784 AliTPCCalibViewer.cxx:785 AliTPCCalibViewer.cxx:786 AliTPCCalibViewer.cxx:787 AliTPCCalibViewer.cxx:788 AliTPCCalibViewer.cxx:789 AliTPCCalibViewer.cxx:790 AliTPCCalibViewer.cxx:791 AliTPCCalibViewer.cxx:792 AliTPCCalibViewer.cxx:793 AliTPCCalibViewer.cxx:794 AliTPCCalibViewer.cxx:795 AliTPCCalibViewer.cxx:796 AliTPCCalibViewer.cxx:797 AliTPCCalibViewer.cxx:798 AliTPCCalibViewer.cxx:799 AliTPCCalibViewer.cxx:800 AliTPCCalibViewer.cxx:801 AliTPCCalibViewer.cxx:802 AliTPCCalibViewer.cxx:803 AliTPCCalibViewer.cxx:804 AliTPCCalibViewer.cxx:805 AliTPCCalibViewer.cxx:806 AliTPCCalibViewer.cxx:807 AliTPCCalibViewer.cxx:808 AliTPCCalibViewer.cxx:809 AliTPCCalibViewer.cxx:810 AliTPCCalibViewer.cxx:811 AliTPCCalibViewer.cxx:812 AliTPCCalibViewer.cxx:813 AliTPCCalibViewer.cxx:814 AliTPCCalibViewer.cxx:815 AliTPCCalibViewer.cxx:816 AliTPCCalibViewer.cxx:817 AliTPCCalibViewer.cxx:818 AliTPCCalibViewer.cxx:819 AliTPCCalibViewer.cxx:820 AliTPCCalibViewer.cxx:821 AliTPCCalibViewer.cxx:822 AliTPCCalibViewer.cxx:823 AliTPCCalibViewer.cxx:824 AliTPCCalibViewer.cxx:825 AliTPCCalibViewer.cxx:826 AliTPCCalibViewer.cxx:827 AliTPCCalibViewer.cxx:828 AliTPCCalibViewer.cxx:829 AliTPCCalibViewer.cxx:830 AliTPCCalibViewer.cxx:831 AliTPCCalibViewer.cxx:832 AliTPCCalibViewer.cxx:833 AliTPCCalibViewer.cxx:834 AliTPCCalibViewer.cxx:835 AliTPCCalibViewer.cxx:836 AliTPCCalibViewer.cxx:837 AliTPCCalibViewer.cxx:838 AliTPCCalibViewer.cxx:839 AliTPCCalibViewer.cxx:840 AliTPCCalibViewer.cxx:841 AliTPCCalibViewer.cxx:842 AliTPCCalibViewer.cxx:843 AliTPCCalibViewer.cxx:844 AliTPCCalibViewer.cxx:845 AliTPCCalibViewer.cxx:846 AliTPCCalibViewer.cxx:847 AliTPCCalibViewer.cxx:848 AliTPCCalibViewer.cxx:849 AliTPCCalibViewer.cxx:850 AliTPCCalibViewer.cxx:851 AliTPCCalibViewer.cxx:852 AliTPCCalibViewer.cxx:853 AliTPCCalibViewer.cxx:854 AliTPCCalibViewer.cxx:855 AliTPCCalibViewer.cxx:856 AliTPCCalibViewer.cxx:857 AliTPCCalibViewer.cxx:858 AliTPCCalibViewer.cxx:859 AliTPCCalibViewer.cxx:860 AliTPCCalibViewer.cxx:861 AliTPCCalibViewer.cxx:862 AliTPCCalibViewer.cxx:863 AliTPCCalibViewer.cxx:864 AliTPCCalibViewer.cxx:865 AliTPCCalibViewer.cxx:866 AliTPCCalibViewer.cxx:867 AliTPCCalibViewer.cxx:868 AliTPCCalibViewer.cxx:869 AliTPCCalibViewer.cxx:870 AliTPCCalibViewer.cxx:871 AliTPCCalibViewer.cxx:872 AliTPCCalibViewer.cxx:873 AliTPCCalibViewer.cxx:874 AliTPCCalibViewer.cxx:875 AliTPCCalibViewer.cxx:876 AliTPCCalibViewer.cxx:877 AliTPCCalibViewer.cxx:878 AliTPCCalibViewer.cxx:879 AliTPCCalibViewer.cxx:880 AliTPCCalibViewer.cxx:881 AliTPCCalibViewer.cxx:882 AliTPCCalibViewer.cxx:883 AliTPCCalibViewer.cxx:884 AliTPCCalibViewer.cxx:885 AliTPCCalibViewer.cxx:886 AliTPCCalibViewer.cxx:887 AliTPCCalibViewer.cxx:888 AliTPCCalibViewer.cxx:889 AliTPCCalibViewer.cxx:890 AliTPCCalibViewer.cxx:891 AliTPCCalibViewer.cxx:892 AliTPCCalibViewer.cxx:893 AliTPCCalibViewer.cxx:894 AliTPCCalibViewer.cxx:895 AliTPCCalibViewer.cxx:896 AliTPCCalibViewer.cxx:897 AliTPCCalibViewer.cxx:898 AliTPCCalibViewer.cxx:899 AliTPCCalibViewer.cxx:900 AliTPCCalibViewer.cxx:901 AliTPCCalibViewer.cxx:902 AliTPCCalibViewer.cxx:903 AliTPCCalibViewer.cxx:904 AliTPCCalibViewer.cxx:905 AliTPCCalibViewer.cxx:906 AliTPCCalibViewer.cxx:907 AliTPCCalibViewer.cxx:908 AliTPCCalibViewer.cxx:909 AliTPCCalibViewer.cxx:910 AliTPCCalibViewer.cxx:911 AliTPCCalibViewer.cxx:912 AliTPCCalibViewer.cxx:913 AliTPCCalibViewer.cxx:914 AliTPCCalibViewer.cxx:915 AliTPCCalibViewer.cxx:916 AliTPCCalibViewer.cxx:917 AliTPCCalibViewer.cxx:918 AliTPCCalibViewer.cxx:919 AliTPCCalibViewer.cxx:920 AliTPCCalibViewer.cxx:921 AliTPCCalibViewer.cxx:922 AliTPCCalibViewer.cxx:923 AliTPCCalibViewer.cxx:924 AliTPCCalibViewer.cxx:925 AliTPCCalibViewer.cxx:926 AliTPCCalibViewer.cxx:927 AliTPCCalibViewer.cxx:928 AliTPCCalibViewer.cxx:929 AliTPCCalibViewer.cxx:930 AliTPCCalibViewer.cxx:931 AliTPCCalibViewer.cxx:932 AliTPCCalibViewer.cxx:933 AliTPCCalibViewer.cxx:934 AliTPCCalibViewer.cxx:935 AliTPCCalibViewer.cxx:936 AliTPCCalibViewer.cxx:937 AliTPCCalibViewer.cxx:938 AliTPCCalibViewer.cxx:939 AliTPCCalibViewer.cxx:940 AliTPCCalibViewer.cxx:941 AliTPCCalibViewer.cxx:942 AliTPCCalibViewer.cxx:943 AliTPCCalibViewer.cxx:944 AliTPCCalibViewer.cxx:945 AliTPCCalibViewer.cxx:946 AliTPCCalibViewer.cxx:947 AliTPCCalibViewer.cxx:948 AliTPCCalibViewer.cxx:949 AliTPCCalibViewer.cxx:950 AliTPCCalibViewer.cxx:951 AliTPCCalibViewer.cxx:952 AliTPCCalibViewer.cxx:953 AliTPCCalibViewer.cxx:954 AliTPCCalibViewer.cxx:955 AliTPCCalibViewer.cxx:956 AliTPCCalibViewer.cxx:957 AliTPCCalibViewer.cxx:958 AliTPCCalibViewer.cxx:959 AliTPCCalibViewer.cxx:960 AliTPCCalibViewer.cxx:961 AliTPCCalibViewer.cxx:962 AliTPCCalibViewer.cxx:963 AliTPCCalibViewer.cxx:964 AliTPCCalibViewer.cxx:965 AliTPCCalibViewer.cxx:966 AliTPCCalibViewer.cxx:967 AliTPCCalibViewer.cxx:968 AliTPCCalibViewer.cxx:969 AliTPCCalibViewer.cxx:970 AliTPCCalibViewer.cxx:971 AliTPCCalibViewer.cxx:972 AliTPCCalibViewer.cxx:973 AliTPCCalibViewer.cxx:974 AliTPCCalibViewer.cxx:975 AliTPCCalibViewer.cxx:976 AliTPCCalibViewer.cxx:977 AliTPCCalibViewer.cxx:978 AliTPCCalibViewer.cxx:979 AliTPCCalibViewer.cxx:980 AliTPCCalibViewer.cxx:981 AliTPCCalibViewer.cxx:982 AliTPCCalibViewer.cxx:983 AliTPCCalibViewer.cxx:984 AliTPCCalibViewer.cxx:985 AliTPCCalibViewer.cxx:986 AliTPCCalibViewer.cxx:987 AliTPCCalibViewer.cxx:988 AliTPCCalibViewer.cxx:989 AliTPCCalibViewer.cxx:990 AliTPCCalibViewer.cxx:991 AliTPCCalibViewer.cxx:992 AliTPCCalibViewer.cxx:993 AliTPCCalibViewer.cxx:994 AliTPCCalibViewer.cxx:995 AliTPCCalibViewer.cxx:996 AliTPCCalibViewer.cxx:997 AliTPCCalibViewer.cxx:998 AliTPCCalibViewer.cxx:999 AliTPCCalibViewer.cxx:1000 AliTPCCalibViewer.cxx:1001 AliTPCCalibViewer.cxx:1002 AliTPCCalibViewer.cxx:1003 AliTPCCalibViewer.cxx:1004 AliTPCCalibViewer.cxx:1005 AliTPCCalibViewer.cxx:1006 AliTPCCalibViewer.cxx:1007 AliTPCCalibViewer.cxx:1008 AliTPCCalibViewer.cxx:1009 AliTPCCalibViewer.cxx:1010 AliTPCCalibViewer.cxx:1011 AliTPCCalibViewer.cxx:1012 AliTPCCalibViewer.cxx:1013 AliTPCCalibViewer.cxx:1014 AliTPCCalibViewer.cxx:1015 AliTPCCalibViewer.cxx:1016 AliTPCCalibViewer.cxx:1017 AliTPCCalibViewer.cxx:1018 AliTPCCalibViewer.cxx:1019 AliTPCCalibViewer.cxx:1020 AliTPCCalibViewer.cxx:1021 AliTPCCalibViewer.cxx:1022 AliTPCCalibViewer.cxx:1023 AliTPCCalibViewer.cxx:1024 AliTPCCalibViewer.cxx:1025 AliTPCCalibViewer.cxx:1026 AliTPCCalibViewer.cxx:1027 AliTPCCalibViewer.cxx:1028 AliTPCCalibViewer.cxx:1029 AliTPCCalibViewer.cxx:1030 AliTPCCalibViewer.cxx:1031 AliTPCCalibViewer.cxx:1032 AliTPCCalibViewer.cxx:1033 AliTPCCalibViewer.cxx:1034 AliTPCCalibViewer.cxx:1035 AliTPCCalibViewer.cxx:1036 AliTPCCalibViewer.cxx:1037 AliTPCCalibViewer.cxx:1038 AliTPCCalibViewer.cxx:1039 AliTPCCalibViewer.cxx:1040 AliTPCCalibViewer.cxx:1041 AliTPCCalibViewer.cxx:1042 AliTPCCalibViewer.cxx:1043 AliTPCCalibViewer.cxx:1044 AliTPCCalibViewer.cxx:1045 AliTPCCalibViewer.cxx:1046 AliTPCCalibViewer.cxx:1047 AliTPCCalibViewer.cxx:1048 AliTPCCalibViewer.cxx:1049 AliTPCCalibViewer.cxx:1050 AliTPCCalibViewer.cxx:1051 AliTPCCalibViewer.cxx:1052 AliTPCCalibViewer.cxx:1053 AliTPCCalibViewer.cxx:1054 AliTPCCalibViewer.cxx:1055 AliTPCCalibViewer.cxx:1056 AliTPCCalibViewer.cxx:1057 AliTPCCalibViewer.cxx:1058 AliTPCCalibViewer.cxx:1059 AliTPCCalibViewer.cxx:1060 AliTPCCalibViewer.cxx:1061 AliTPCCalibViewer.cxx:1062 AliTPCCalibViewer.cxx:1063 AliTPCCalibViewer.cxx:1064 AliTPCCalibViewer.cxx:1065 AliTPCCalibViewer.cxx:1066 AliTPCCalibViewer.cxx:1067 AliTPCCalibViewer.cxx:1068 AliTPCCalibViewer.cxx:1069 AliTPCCalibViewer.cxx:1070 AliTPCCalibViewer.cxx:1071 AliTPCCalibViewer.cxx:1072 AliTPCCalibViewer.cxx:1073 AliTPCCalibViewer.cxx:1074 AliTPCCalibViewer.cxx:1075 AliTPCCalibViewer.cxx:1076 AliTPCCalibViewer.cxx:1077 AliTPCCalibViewer.cxx:1078 AliTPCCalibViewer.cxx:1079 AliTPCCalibViewer.cxx:1080 AliTPCCalibViewer.cxx:1081 AliTPCCalibViewer.cxx:1082 AliTPCCalibViewer.cxx:1083 AliTPCCalibViewer.cxx:1084 AliTPCCalibViewer.cxx:1085 AliTPCCalibViewer.cxx:1086 AliTPCCalibViewer.cxx:1087 AliTPCCalibViewer.cxx:1088 AliTPCCalibViewer.cxx:1089 AliTPCCalibViewer.cxx:1090 AliTPCCalibViewer.cxx:1091 AliTPCCalibViewer.cxx:1092 AliTPCCalibViewer.cxx:1093 AliTPCCalibViewer.cxx:1094 AliTPCCalibViewer.cxx:1095 AliTPCCalibViewer.cxx:1096 AliTPCCalibViewer.cxx:1097 AliTPCCalibViewer.cxx:1098 AliTPCCalibViewer.cxx:1099 AliTPCCalibViewer.cxx:1100 AliTPCCalibViewer.cxx:1101 AliTPCCalibViewer.cxx:1102 AliTPCCalibViewer.cxx:1103 AliTPCCalibViewer.cxx:1104 AliTPCCalibViewer.cxx:1105 AliTPCCalibViewer.cxx:1106 AliTPCCalibViewer.cxx:1107 AliTPCCalibViewer.cxx:1108 AliTPCCalibViewer.cxx:1109 AliTPCCalibViewer.cxx:1110 AliTPCCalibViewer.cxx:1111 AliTPCCalibViewer.cxx:1112 AliTPCCalibViewer.cxx:1113 AliTPCCalibViewer.cxx:1114 AliTPCCalibViewer.cxx:1115 AliTPCCalibViewer.cxx:1116 AliTPCCalibViewer.cxx:1117 AliTPCCalibViewer.cxx:1118 AliTPCCalibViewer.cxx:1119 AliTPCCalibViewer.cxx:1120 AliTPCCalibViewer.cxx:1121 AliTPCCalibViewer.cxx:1122 AliTPCCalibViewer.cxx:1123 AliTPCCalibViewer.cxx:1124 AliTPCCalibViewer.cxx:1125 AliTPCCalibViewer.cxx:1126 AliTPCCalibViewer.cxx:1127 AliTPCCalibViewer.cxx:1128 AliTPCCalibViewer.cxx:1129 AliTPCCalibViewer.cxx:1130 AliTPCCalibViewer.cxx:1131 AliTPCCalibViewer.cxx:1132 AliTPCCalibViewer.cxx:1133 AliTPCCalibViewer.cxx:1134 AliTPCCalibViewer.cxx:1135 AliTPCCalibViewer.cxx:1136 AliTPCCalibViewer.cxx:1137 AliTPCCalibViewer.cxx:1138 AliTPCCalibViewer.cxx:1139 AliTPCCalibViewer.cxx:1140 AliTPCCalibViewer.cxx:1141 AliTPCCalibViewer.cxx:1142 AliTPCCalibViewer.cxx:1143 AliTPCCalibViewer.cxx:1144 AliTPCCalibViewer.cxx:1145 AliTPCCalibViewer.cxx:1146 AliTPCCalibViewer.cxx:1147 AliTPCCalibViewer.cxx:1148 AliTPCCalibViewer.cxx:1149 AliTPCCalibViewer.cxx:1150 AliTPCCalibViewer.cxx:1151 AliTPCCalibViewer.cxx:1152 AliTPCCalibViewer.cxx:1153 AliTPCCalibViewer.cxx:1154 AliTPCCalibViewer.cxx:1155 AliTPCCalibViewer.cxx:1156 AliTPCCalibViewer.cxx:1157 AliTPCCalibViewer.cxx:1158 AliTPCCalibViewer.cxx:1159 AliTPCCalibViewer.cxx:1160 AliTPCCalibViewer.cxx:1161 AliTPCCalibViewer.cxx:1162 AliTPCCalibViewer.cxx:1163 AliTPCCalibViewer.cxx:1164 AliTPCCalibViewer.cxx:1165 AliTPCCalibViewer.cxx:1166 AliTPCCalibViewer.cxx:1167 AliTPCCalibViewer.cxx:1168 AliTPCCalibViewer.cxx:1169 AliTPCCalibViewer.cxx:1170 AliTPCCalibViewer.cxx:1171 AliTPCCalibViewer.cxx:1172 AliTPCCalibViewer.cxx:1173 AliTPCCalibViewer.cxx:1174 AliTPCCalibViewer.cxx:1175 AliTPCCalibViewer.cxx:1176 AliTPCCalibViewer.cxx:1177 AliTPCCalibViewer.cxx:1178 AliTPCCalibViewer.cxx:1179 AliTPCCalibViewer.cxx:1180 AliTPCCalibViewer.cxx:1181 AliTPCCalibViewer.cxx:1182 AliTPCCalibViewer.cxx:1183 AliTPCCalibViewer.cxx:1184 AliTPCCalibViewer.cxx:1185 AliTPCCalibViewer.cxx:1186 AliTPCCalibViewer.cxx:1187 AliTPCCalibViewer.cxx:1188 AliTPCCalibViewer.cxx:1189 AliTPCCalibViewer.cxx:1190 AliTPCCalibViewer.cxx:1191 AliTPCCalibViewer.cxx:1192 AliTPCCalibViewer.cxx:1193 AliTPCCalibViewer.cxx:1194 AliTPCCalibViewer.cxx:1195 AliTPCCalibViewer.cxx:1196 AliTPCCalibViewer.cxx:1197 AliTPCCalibViewer.cxx:1198 AliTPCCalibViewer.cxx:1199 AliTPCCalibViewer.cxx:1200 AliTPCCalibViewer.cxx:1201 AliTPCCalibViewer.cxx:1202 AliTPCCalibViewer.cxx:1203 AliTPCCalibViewer.cxx:1204 AliTPCCalibViewer.cxx:1205 AliTPCCalibViewer.cxx:1206 AliTPCCalibViewer.cxx:1207 AliTPCCalibViewer.cxx:1208 AliTPCCalibViewer.cxx:1209 AliTPCCalibViewer.cxx:1210 AliTPCCalibViewer.cxx:1211 AliTPCCalibViewer.cxx:1212 AliTPCCalibViewer.cxx:1213 AliTPCCalibViewer.cxx:1214 AliTPCCalibViewer.cxx:1215 AliTPCCalibViewer.cxx:1216 AliTPCCalibViewer.cxx:1217 AliTPCCalibViewer.cxx:1218 AliTPCCalibViewer.cxx:1219 AliTPCCalibViewer.cxx:1220 AliTPCCalibViewer.cxx:1221 AliTPCCalibViewer.cxx:1222 AliTPCCalibViewer.cxx:1223 AliTPCCalibViewer.cxx:1224 AliTPCCalibViewer.cxx:1225 AliTPCCalibViewer.cxx:1226 AliTPCCalibViewer.cxx:1227 AliTPCCalibViewer.cxx:1228 AliTPCCalibViewer.cxx:1229 AliTPCCalibViewer.cxx:1230 AliTPCCalibViewer.cxx:1231 AliTPCCalibViewer.cxx:1232 AliTPCCalibViewer.cxx:1233 AliTPCCalibViewer.cxx:1234 AliTPCCalibViewer.cxx:1235 AliTPCCalibViewer.cxx:1236 AliTPCCalibViewer.cxx:1237 AliTPCCalibViewer.cxx:1238 AliTPCCalibViewer.cxx:1239 AliTPCCalibViewer.cxx:1240 AliTPCCalibViewer.cxx:1241 AliTPCCalibViewer.cxx:1242 AliTPCCalibViewer.cxx:1243 AliTPCCalibViewer.cxx:1244 AliTPCCalibViewer.cxx:1245 AliTPCCalibViewer.cxx:1246 AliTPCCalibViewer.cxx:1247 AliTPCCalibViewer.cxx:1248 AliTPCCalibViewer.cxx:1249 AliTPCCalibViewer.cxx:1250 AliTPCCalibViewer.cxx:1251 AliTPCCalibViewer.cxx:1252 AliTPCCalibViewer.cxx:1253 AliTPCCalibViewer.cxx:1254 AliTPCCalibViewer.cxx:1255 AliTPCCalibViewer.cxx:1256 AliTPCCalibViewer.cxx:1257 AliTPCCalibViewer.cxx:1258 AliTPCCalibViewer.cxx:1259 AliTPCCalibViewer.cxx:1260 AliTPCCalibViewer.cxx:1261 AliTPCCalibViewer.cxx:1262 AliTPCCalibViewer.cxx:1263 AliTPCCalibViewer.cxx:1264 AliTPCCalibViewer.cxx:1265 AliTPCCalibViewer.cxx:1266 AliTPCCalibViewer.cxx:1267 AliTPCCalibViewer.cxx:1268 AliTPCCalibViewer.cxx:1269 AliTPCCalibViewer.cxx:1270 AliTPCCalibViewer.cxx:1271 AliTPCCalibViewer.cxx:1272 AliTPCCalibViewer.cxx:1273 AliTPCCalibViewer.cxx:1274 AliTPCCalibViewer.cxx:1275 AliTPCCalibViewer.cxx:1276 AliTPCCalibViewer.cxx:1277 AliTPCCalibViewer.cxx:1278 AliTPCCalibViewer.cxx:1279 AliTPCCalibViewer.cxx:1280 AliTPCCalibViewer.cxx:1281 AliTPCCalibViewer.cxx:1282 AliTPCCalibViewer.cxx:1283 AliTPCCalibViewer.cxx:1284 AliTPCCalibViewer.cxx:1285 AliTPCCalibViewer.cxx:1286 AliTPCCalibViewer.cxx:1287 AliTPCCalibViewer.cxx:1288 AliTPCCalibViewer.cxx:1289 AliTPCCalibViewer.cxx:1290 AliTPCCalibViewer.cxx:1291 AliTPCCalibViewer.cxx:1292 AliTPCCalibViewer.cxx:1293 AliTPCCalibViewer.cxx:1294 AliTPCCalibViewer.cxx:1295 AliTPCCalibViewer.cxx:1296 AliTPCCalibViewer.cxx:1297 AliTPCCalibViewer.cxx:1298 AliTPCCalibViewer.cxx:1299 AliTPCCalibViewer.cxx:1300 AliTPCCalibViewer.cxx:1301 AliTPCCalibViewer.cxx:1302 AliTPCCalibViewer.cxx:1303 AliTPCCalibViewer.cxx:1304 AliTPCCalibViewer.cxx:1305 AliTPCCalibViewer.cxx:1306 AliTPCCalibViewer.cxx:1307 AliTPCCalibViewer.cxx:1308 AliTPCCalibViewer.cxx:1309 AliTPCCalibViewer.cxx:1310 AliTPCCalibViewer.cxx:1311 AliTPCCalibViewer.cxx:1312 AliTPCCalibViewer.cxx:1313 AliTPCCalibViewer.cxx:1314 AliTPCCalibViewer.cxx:1315 AliTPCCalibViewer.cxx:1316 AliTPCCalibViewer.cxx:1317 AliTPCCalibViewer.cxx:1318 AliTPCCalibViewer.cxx:1319 AliTPCCalibViewer.cxx:1320 AliTPCCalibViewer.cxx:1321 AliTPCCalibViewer.cxx:1322 AliTPCCalibViewer.cxx:1323 AliTPCCalibViewer.cxx:1324 AliTPCCalibViewer.cxx:1325 AliTPCCalibViewer.cxx:1326 AliTPCCalibViewer.cxx:1327 AliTPCCalibViewer.cxx:1328 AliTPCCalibViewer.cxx:1329 AliTPCCalibViewer.cxx:1330 AliTPCCalibViewer.cxx:1331 AliTPCCalibViewer.cxx:1332 AliTPCCalibViewer.cxx:1333 AliTPCCalibViewer.cxx:1334 AliTPCCalibViewer.cxx:1335 AliTPCCalibViewer.cxx:1336 AliTPCCalibViewer.cxx:1337 AliTPCCalibViewer.cxx:1338 AliTPCCalibViewer.cxx:1339 AliTPCCalibViewer.cxx:1340 AliTPCCalibViewer.cxx:1341 AliTPCCalibViewer.cxx:1342 AliTPCCalibViewer.cxx:1343 AliTPCCalibViewer.cxx:1344 AliTPCCalibViewer.cxx:1345 AliTPCCalibViewer.cxx:1346 AliTPCCalibViewer.cxx:1347 AliTPCCalibViewer.cxx:1348 AliTPCCalibViewer.cxx:1349 AliTPCCalibViewer.cxx:1350 AliTPCCalibViewer.cxx:1351 AliTPCCalibViewer.cxx:1352 AliTPCCalibViewer.cxx:1353 AliTPCCalibViewer.cxx:1354 AliTPCCalibViewer.cxx:1355 AliTPCCalibViewer.cxx:1356 AliTPCCalibViewer.cxx:1357 AliTPCCalibViewer.cxx:1358 AliTPCCalibViewer.cxx:1359 AliTPCCalibViewer.cxx:1360 AliTPCCalibViewer.cxx:1361 AliTPCCalibViewer.cxx:1362 AliTPCCalibViewer.cxx:1363 AliTPCCalibViewer.cxx:1364 AliTPCCalibViewer.cxx:1365 AliTPCCalibViewer.cxx:1366 AliTPCCalibViewer.cxx:1367 AliTPCCalibViewer.cxx:1368 AliTPCCalibViewer.cxx:1369 AliTPCCalibViewer.cxx:1370 AliTPCCalibViewer.cxx:1371 AliTPCCalibViewer.cxx:1372 AliTPCCalibViewer.cxx:1373 AliTPCCalibViewer.cxx:1374 AliTPCCalibViewer.cxx:1375 AliTPCCalibViewer.cxx:1376 AliTPCCalibViewer.cxx:1377 AliTPCCalibViewer.cxx:1378 AliTPCCalibViewer.cxx:1379 AliTPCCalibViewer.cxx:1380 AliTPCCalibViewer.cxx:1381 AliTPCCalibViewer.cxx:1382 AliTPCCalibViewer.cxx:1383 AliTPCCalibViewer.cxx:1384 AliTPCCalibViewer.cxx:1385 AliTPCCalibViewer.cxx:1386 AliTPCCalibViewer.cxx:1387 AliTPCCalibViewer.cxx:1388 AliTPCCalibViewer.cxx:1389 AliTPCCalibViewer.cxx:1390 AliTPCCalibViewer.cxx:1391 AliTPCCalibViewer.cxx:1392 AliTPCCalibViewer.cxx:1393 AliTPCCalibViewer.cxx:1394 AliTPCCalibViewer.cxx:1395 AliTPCCalibViewer.cxx:1396 AliTPCCalibViewer.cxx:1397 AliTPCCalibViewer.cxx:1398 AliTPCCalibViewer.cxx:1399 AliTPCCalibViewer.cxx:1400 AliTPCCalibViewer.cxx:1401 AliTPCCalibViewer.cxx:1402 AliTPCCalibViewer.cxx:1403 AliTPCCalibViewer.cxx:1404 AliTPCCalibViewer.cxx:1405 AliTPCCalibViewer.cxx:1406 AliTPCCalibViewer.cxx:1407 AliTPCCalibViewer.cxx:1408 AliTPCCalibViewer.cxx:1409 AliTPCCalibViewer.cxx:1410 AliTPCCalibViewer.cxx:1411 AliTPCCalibViewer.cxx:1412 AliTPCCalibViewer.cxx:1413 AliTPCCalibViewer.cxx:1414 AliTPCCalibViewer.cxx:1415 AliTPCCalibViewer.cxx:1416 AliTPCCalibViewer.cxx:1417 AliTPCCalibViewer.cxx:1418 AliTPCCalibViewer.cxx:1419 AliTPCCalibViewer.cxx:1420 AliTPCCalibViewer.cxx:1421 AliTPCCalibViewer.cxx:1422 AliTPCCalibViewer.cxx:1423 AliTPCCalibViewer.cxx:1424 AliTPCCalibViewer.cxx:1425 AliTPCCalibViewer.cxx:1426 AliTPCCalibViewer.cxx:1427 AliTPCCalibViewer.cxx:1428 AliTPCCalibViewer.cxx:1429 AliTPCCalibViewer.cxx:1430 AliTPCCalibViewer.cxx:1431 AliTPCCalibViewer.cxx:1432 AliTPCCalibViewer.cxx:1433 AliTPCCalibViewer.cxx:1434 AliTPCCalibViewer.cxx:1435 AliTPCCalibViewer.cxx:1436 AliTPCCalibViewer.cxx:1437 AliTPCCalibViewer.cxx:1438 AliTPCCalibViewer.cxx:1439 AliTPCCalibViewer.cxx:1440 AliTPCCalibViewer.cxx:1441 AliTPCCalibViewer.cxx:1442 AliTPCCalibViewer.cxx:1443 AliTPCCalibViewer.cxx:1444 AliTPCCalibViewer.cxx:1445 AliTPCCalibViewer.cxx:1446 AliTPCCalibViewer.cxx:1447 AliTPCCalibViewer.cxx:1448 AliTPCCalibViewer.cxx:1449 AliTPCCalibViewer.cxx:1450 AliTPCCalibViewer.cxx:1451 AliTPCCalibViewer.cxx:1452 AliTPCCalibViewer.cxx:1453 AliTPCCalibViewer.cxx:1454 AliTPCCalibViewer.cxx:1455 AliTPCCalibViewer.cxx:1456 AliTPCCalibViewer.cxx:1457 AliTPCCalibViewer.cxx:1458 AliTPCCalibViewer.cxx:1459 AliTPCCalibViewer.cxx:1460 AliTPCCalibViewer.cxx:1461 AliTPCCalibViewer.cxx:1462 AliTPCCalibViewer.cxx:1463 AliTPCCalibViewer.cxx:1464 AliTPCCalibViewer.cxx:1465 AliTPCCalibViewer.cxx:1466 AliTPCCalibViewer.cxx:1467 AliTPCCalibViewer.cxx:1468 AliTPCCalibViewer.cxx:1469 AliTPCCalibViewer.cxx:1470 AliTPCCalibViewer.cxx:1471 AliTPCCalibViewer.cxx:1472 AliTPCCalibViewer.cxx:1473 AliTPCCalibViewer.cxx:1474 AliTPCCalibViewer.cxx:1475 AliTPCCalibViewer.cxx:1476 AliTPCCalibViewer.cxx:1477 AliTPCCalibViewer.cxx:1478 AliTPCCalibViewer.cxx:1479 AliTPCCalibViewer.cxx:1480 AliTPCCalibViewer.cxx:1481 AliTPCCalibViewer.cxx:1482 AliTPCCalibViewer.cxx:1483 AliTPCCalibViewer.cxx:1484 AliTPCCalibViewer.cxx:1485 AliTPCCalibViewer.cxx:1486 AliTPCCalibViewer.cxx:1487 AliTPCCalibViewer.cxx:1488 AliTPCCalibViewer.cxx:1489 AliTPCCalibViewer.cxx:1490 AliTPCCalibViewer.cxx:1491 AliTPCCalibViewer.cxx:1492 AliTPCCalibViewer.cxx:1493 AliTPCCalibViewer.cxx:1494 AliTPCCalibViewer.cxx:1495 AliTPCCalibViewer.cxx:1496 AliTPCCalibViewer.cxx:1497 AliTPCCalibViewer.cxx:1498 AliTPCCalibViewer.cxx:1499 AliTPCCalibViewer.cxx:1500 AliTPCCalibViewer.cxx:1501 AliTPCCalibViewer.cxx:1502 AliTPCCalibViewer.cxx:1503 AliTPCCalibViewer.cxx:1504 AliTPCCalibViewer.cxx:1505 AliTPCCalibViewer.cxx:1506 AliTPCCalibViewer.cxx:1507 AliTPCCalibViewer.cxx:1508 AliTPCCalibViewer.cxx:1509 AliTPCCalibViewer.cxx:1510 AliTPCCalibViewer.cxx:1511 AliTPCCalibViewer.cxx:1512 AliTPCCalibViewer.cxx:1513 AliTPCCalibViewer.cxx:1514 AliTPCCalibViewer.cxx:1515 AliTPCCalibViewer.cxx:1516 AliTPCCalibViewer.cxx:1517 AliTPCCalibViewer.cxx:1518 AliTPCCalibViewer.cxx:1519 AliTPCCalibViewer.cxx:1520 AliTPCCalibViewer.cxx:1521 AliTPCCalibViewer.cxx:1522 AliTPCCalibViewer.cxx:1523 AliTPCCalibViewer.cxx:1524 AliTPCCalibViewer.cxx:1525 AliTPCCalibViewer.cxx:1526 AliTPCCalibViewer.cxx:1527 AliTPCCalibViewer.cxx:1528 AliTPCCalibViewer.cxx:1529 AliTPCCalibViewer.cxx:1530 AliTPCCalibViewer.cxx:1531 AliTPCCalibViewer.cxx:1532 AliTPCCalibViewer.cxx:1533 AliTPCCalibViewer.cxx:1534 AliTPCCalibViewer.cxx:1535 AliTPCCalibViewer.cxx:1536 AliTPCCalibViewer.cxx:1537 AliTPCCalibViewer.cxx:1538 AliTPCCalibViewer.cxx:1539 AliTPCCalibViewer.cxx:1540 AliTPCCalibViewer.cxx:1541 AliTPCCalibViewer.cxx:1542 AliTPCCalibViewer.cxx:1543 AliTPCCalibViewer.cxx:1544 AliTPCCalibViewer.cxx:1545 AliTPCCalibViewer.cxx:1546 AliTPCCalibViewer.cxx:1547 AliTPCCalibViewer.cxx:1548 AliTPCCalibViewer.cxx:1549 AliTPCCalibViewer.cxx:1550 AliTPCCalibViewer.cxx:1551 AliTPCCalibViewer.cxx:1552 AliTPCCalibViewer.cxx:1553 AliTPCCalibViewer.cxx:1554 AliTPCCalibViewer.cxx:1555 AliTPCCalibViewer.cxx:1556 AliTPCCalibViewer.cxx:1557 AliTPCCalibViewer.cxx:1558 AliTPCCalibViewer.cxx:1559 AliTPCCalibViewer.cxx:1560 AliTPCCalibViewer.cxx:1561 AliTPCCalibViewer.cxx:1562 AliTPCCalibViewer.cxx:1563 AliTPCCalibViewer.cxx:1564 AliTPCCalibViewer.cxx:1565 AliTPCCalibViewer.cxx:1566 AliTPCCalibViewer.cxx:1567 AliTPCCalibViewer.cxx:1568 AliTPCCalibViewer.cxx:1569 AliTPCCalibViewer.cxx:1570 AliTPCCalibViewer.cxx:1571 AliTPCCalibViewer.cxx:1572 AliTPCCalibViewer.cxx:1573 AliTPCCalibViewer.cxx:1574 AliTPCCalibViewer.cxx:1575 AliTPCCalibViewer.cxx:1576 AliTPCCalibViewer.cxx:1577 AliTPCCalibViewer.cxx:1578 AliTPCCalibViewer.cxx:1579 AliTPCCalibViewer.cxx:1580 AliTPCCalibViewer.cxx:1581 AliTPCCalibViewer.cxx:1582 AliTPCCalibViewer.cxx:1583 AliTPCCalibViewer.cxx:1584 AliTPCCalibViewer.cxx:1585 AliTPCCalibViewer.cxx:1586 AliTPCCalibViewer.cxx:1587 AliTPCCalibViewer.cxx:1588 AliTPCCalibViewer.cxx:1589 AliTPCCalibViewer.cxx:1590 AliTPCCalibViewer.cxx:1591 AliTPCCalibViewer.cxx:1592 AliTPCCalibViewer.cxx:1593 AliTPCCalibViewer.cxx:1594 AliTPCCalibViewer.cxx:1595 AliTPCCalibViewer.cxx:1596 AliTPCCalibViewer.cxx:1597 AliTPCCalibViewer.cxx:1598 AliTPCCalibViewer.cxx:1599 AliTPCCalibViewer.cxx:1600 AliTPCCalibViewer.cxx:1601 AliTPCCalibViewer.cxx:1602 AliTPCCalibViewer.cxx:1603 AliTPCCalibViewer.cxx:1604 AliTPCCalibViewer.cxx:1605 AliTPCCalibViewer.cxx:1606 AliTPCCalibViewer.cxx:1607 AliTPCCalibViewer.cxx:1608 AliTPCCalibViewer.cxx:1609 AliTPCCalibViewer.cxx:1610 AliTPCCalibViewer.cxx:1611 AliTPCCalibViewer.cxx:1612 AliTPCCalibViewer.cxx:1613 AliTPCCalibViewer.cxx:1614 AliTPCCalibViewer.cxx:1615 AliTPCCalibViewer.cxx:1616 AliTPCCalibViewer.cxx:1617 AliTPCCalibViewer.cxx:1618 AliTPCCalibViewer.cxx:1619 AliTPCCalibViewer.cxx:1620 AliTPCCalibViewer.cxx:1621 AliTPCCalibViewer.cxx:1622 AliTPCCalibViewer.cxx:1623 AliTPCCalibViewer.cxx:1624 AliTPCCalibViewer.cxx:1625 AliTPCCalibViewer.cxx:1626 AliTPCCalibViewer.cxx:1627 AliTPCCalibViewer.cxx:1628 AliTPCCalibViewer.cxx:1629 AliTPCCalibViewer.cxx:1630 AliTPCCalibViewer.cxx:1631 AliTPCCalibViewer.cxx:1632 AliTPCCalibViewer.cxx:1633 AliTPCCalibViewer.cxx:1634 AliTPCCalibViewer.cxx:1635 AliTPCCalibViewer.cxx:1636 AliTPCCalibViewer.cxx:1637 AliTPCCalibViewer.cxx:1638 AliTPCCalibViewer.cxx:1639 AliTPCCalibViewer.cxx:1640 AliTPCCalibViewer.cxx:1641 AliTPCCalibViewer.cxx:1642 AliTPCCalibViewer.cxx:1643 AliTPCCalibViewer.cxx:1644 AliTPCCalibViewer.cxx:1645 AliTPCCalibViewer.cxx:1646 AliTPCCalibViewer.cxx:1647 AliTPCCalibViewer.cxx:1648 AliTPCCalibViewer.cxx:1649 AliTPCCalibViewer.cxx:1650 AliTPCCalibViewer.cxx:1651 AliTPCCalibViewer.cxx:1652 AliTPCCalibViewer.cxx:1653 AliTPCCalibViewer.cxx:1654 AliTPCCalibViewer.cxx:1655 AliTPCCalibViewer.cxx:1656 AliTPCCalibViewer.cxx:1657 AliTPCCalibViewer.cxx:1658 AliTPCCalibViewer.cxx:1659 AliTPCCalibViewer.cxx:1660 AliTPCCalibViewer.cxx:1661 AliTPCCalibViewer.cxx:1662 AliTPCCalibViewer.cxx:1663 AliTPCCalibViewer.cxx:1664 AliTPCCalibViewer.cxx:1665 AliTPCCalibViewer.cxx:1666 AliTPCCalibViewer.cxx:1667 AliTPCCalibViewer.cxx:1668 AliTPCCalibViewer.cxx:1669 AliTPCCalibViewer.cxx:1670 AliTPCCalibViewer.cxx:1671 AliTPCCalibViewer.cxx:1672 AliTPCCalibViewer.cxx:1673 AliTPCCalibViewer.cxx:1674 AliTPCCalibViewer.cxx:1675 AliTPCCalibViewer.cxx:1676 AliTPCCalibViewer.cxx:1677 AliTPCCalibViewer.cxx:1678 AliTPCCalibViewer.cxx:1679 AliTPCCalibViewer.cxx:1680 AliTPCCalibViewer.cxx:1681 AliTPCCalibViewer.cxx:1682 AliTPCCalibViewer.cxx:1683 AliTPCCalibViewer.cxx:1684 AliTPCCalibViewer.cxx:1685 AliTPCCalibViewer.cxx:1686 AliTPCCalibViewer.cxx:1687 AliTPCCalibViewer.cxx:1688 AliTPCCalibViewer.cxx:1689 AliTPCCalibViewer.cxx:1690 AliTPCCalibViewer.cxx:1691 AliTPCCalibViewer.cxx:1692 AliTPCCalibViewer.cxx:1693 AliTPCCalibViewer.cxx:1694 AliTPCCalibViewer.cxx:1695 AliTPCCalibViewer.cxx:1696 AliTPCCalibViewer.cxx:1697 AliTPCCalibViewer.cxx:1698 AliTPCCalibViewer.cxx:1699 AliTPCCalibViewer.cxx:1700 AliTPCCalibViewer.cxx:1701 AliTPCCalibViewer.cxx:1702 AliTPCCalibViewer.cxx:1703 AliTPCCalibViewer.cxx:1704 AliTPCCalibViewer.cxx:1705 AliTPCCalibViewer.cxx:1706 AliTPCCalibViewer.cxx:1707 AliTPCCalibViewer.cxx:1708 AliTPCCalibViewer.cxx:1709 AliTPCCalibViewer.cxx:1710 AliTPCCalibViewer.cxx:1711 AliTPCCalibViewer.cxx:1712 AliTPCCalibViewer.cxx:1713 AliTPCCalibViewer.cxx:1714 AliTPCCalibViewer.cxx:1715 AliTPCCalibViewer.cxx:1716 AliTPCCalibViewer.cxx:1717 AliTPCCalibViewer.cxx:1718 AliTPCCalibViewer.cxx:1719 AliTPCCalibViewer.cxx:1720 AliTPCCalibViewer.cxx:1721 AliTPCCalibViewer.cxx:1722 AliTPCCalibViewer.cxx:1723 AliTPCCalibViewer.cxx:1724 AliTPCCalibViewer.cxx:1725 AliTPCCalibViewer.cxx:1726 AliTPCCalibViewer.cxx:1727 AliTPCCalibViewer.cxx:1728 AliTPCCalibViewer.cxx:1729 AliTPCCalibViewer.cxx:1730 AliTPCCalibViewer.cxx:1731 AliTPCCalibViewer.cxx:1732 AliTPCCalibViewer.cxx:1733 AliTPCCalibViewer.cxx:1734 AliTPCCalibViewer.cxx:1735 AliTPCCalibViewer.cxx:1736 AliTPCCalibViewer.cxx:1737 AliTPCCalibViewer.cxx:1738 AliTPCCalibViewer.cxx:1739 AliTPCCalibViewer.cxx:1740 AliTPCCalibViewer.cxx:1741 AliTPCCalibViewer.cxx:1742 AliTPCCalibViewer.cxx:1743 AliTPCCalibViewer.cxx:1744 AliTPCCalibViewer.cxx:1745 AliTPCCalibViewer.cxx:1746 AliTPCCalibViewer.cxx:1747 AliTPCCalibViewer.cxx:1748 AliTPCCalibViewer.cxx:1749 AliTPCCalibViewer.cxx:1750 AliTPCCalibViewer.cxx:1751 AliTPCCalibViewer.cxx:1752 AliTPCCalibViewer.cxx:1753 AliTPCCalibViewer.cxx:1754 AliTPCCalibViewer.cxx:1755 AliTPCCalibViewer.cxx:1756 AliTPCCalibViewer.cxx:1757 AliTPCCalibViewer.cxx:1758 AliTPCCalibViewer.cxx:1759 AliTPCCalibViewer.cxx:1760 AliTPCCalibViewer.cxx:1761 AliTPCCalibViewer.cxx:1762 AliTPCCalibViewer.cxx:1763 AliTPCCalibViewer.cxx:1764 AliTPCCalibViewer.cxx:1765 AliTPCCalibViewer.cxx:1766 AliTPCCalibViewer.cxx:1767 AliTPCCalibViewer.cxx:1768 AliTPCCalibViewer.cxx:1769 AliTPCCalibViewer.cxx:1770 AliTPCCalibViewer.cxx:1771 AliTPCCalibViewer.cxx:1772 AliTPCCalibViewer.cxx:1773 AliTPCCalibViewer.cxx:1774 AliTPCCalibViewer.cxx:1775 AliTPCCalibViewer.cxx:1776 AliTPCCalibViewer.cxx:1777 AliTPCCalibViewer.cxx:1778 AliTPCCalibViewer.cxx:1779 AliTPCCalibViewer.cxx:1780 AliTPCCalibViewer.cxx:1781 AliTPCCalibViewer.cxx:1782 AliTPCCalibViewer.cxx:1783 AliTPCCalibViewer.cxx:1784 AliTPCCalibViewer.cxx:1785 AliTPCCalibViewer.cxx:1786 AliTPCCalibViewer.cxx:1787 AliTPCCalibViewer.cxx:1788 AliTPCCalibViewer.cxx:1789 AliTPCCalibViewer.cxx:1790 AliTPCCalibViewer.cxx:1791 AliTPCCalibViewer.cxx:1792 AliTPCCalibViewer.cxx:1793 AliTPCCalibViewer.cxx:1794 AliTPCCalibViewer.cxx:1795 AliTPCCalibViewer.cxx:1796 AliTPCCalibViewer.cxx:1797 AliTPCCalibViewer.cxx:1798 AliTPCCalibViewer.cxx:1799 AliTPCCalibViewer.cxx:1800 AliTPCCalibViewer.cxx:1801 AliTPCCalibViewer.cxx:1802 AliTPCCalibViewer.cxx:1803 AliTPCCalibViewer.cxx:1804 AliTPCCalibViewer.cxx:1805 AliTPCCalibViewer.cxx:1806 AliTPCCalibViewer.cxx:1807 AliTPCCalibViewer.cxx:1808 AliTPCCalibViewer.cxx:1809 AliTPCCalibViewer.cxx:1810 AliTPCCalibViewer.cxx:1811 AliTPCCalibViewer.cxx:1812 AliTPCCalibViewer.cxx:1813 AliTPCCalibViewer.cxx:1814 AliTPCCalibViewer.cxx:1815 AliTPCCalibViewer.cxx:1816 AliTPCCalibViewer.cxx:1817 AliTPCCalibViewer.cxx:1818 AliTPCCalibViewer.cxx:1819 AliTPCCalibViewer.cxx:1820 AliTPCCalibViewer.cxx:1821 AliTPCCalibViewer.cxx:1822 AliTPCCalibViewer.cxx:1823 AliTPCCalibViewer.cxx:1824 AliTPCCalibViewer.cxx:1825 AliTPCCalibViewer.cxx:1826 AliTPCCalibViewer.cxx:1827 AliTPCCalibViewer.cxx:1828 AliTPCCalibViewer.cxx:1829 AliTPCCalibViewer.cxx:1830 AliTPCCalibViewer.cxx:1831 AliTPCCalibViewer.cxx:1832 AliTPCCalibViewer.cxx:1833 AliTPCCalibViewer.cxx:1834 AliTPCCalibViewer.cxx:1835 AliTPCCalibViewer.cxx:1836 AliTPCCalibViewer.cxx:1837 AliTPCCalibViewer.cxx:1838 AliTPCCalibViewer.cxx:1839 AliTPCCalibViewer.cxx:1840 AliTPCCalibViewer.cxx:1841 AliTPCCalibViewer.cxx:1842 AliTPCCalibViewer.cxx:1843 AliTPCCalibViewer.cxx:1844 AliTPCCalibViewer.cxx:1845 AliTPCCalibViewer.cxx:1846 AliTPCCalibViewer.cxx:1847 AliTPCCalibViewer.cxx:1848 AliTPCCalibViewer.cxx:1849 AliTPCCalibViewer.cxx:1850 AliTPCCalibViewer.cxx:1851 AliTPCCalibViewer.cxx:1852 AliTPCCalibViewer.cxx:1853 AliTPCCalibViewer.cxx:1854 AliTPCCalibViewer.cxx:1855 AliTPCCalibViewer.cxx:1856 AliTPCCalibViewer.cxx:1857 AliTPCCalibViewer.cxx:1858 AliTPCCalibViewer.cxx:1859 AliTPCCalibViewer.cxx:1860 AliTPCCalibViewer.cxx:1861 AliTPCCalibViewer.cxx:1862 AliTPCCalibViewer.cxx:1863 AliTPCCalibViewer.cxx:1864 AliTPCCalibViewer.cxx:1865 AliTPCCalibViewer.cxx:1866 AliTPCCalibViewer.cxx:1867 AliTPCCalibViewer.cxx:1868 AliTPCCalibViewer.cxx:1869 AliTPCCalibViewer.cxx:1870 AliTPCCalibViewer.cxx:1871 AliTPCCalibViewer.cxx:1872 AliTPCCalibViewer.cxx:1873 AliTPCCalibViewer.cxx:1874 AliTPCCalibViewer.cxx:1875 AliTPCCalibViewer.cxx:1876 AliTPCCalibViewer.cxx:1877 AliTPCCalibViewer.cxx:1878 AliTPCCalibViewer.cxx:1879 AliTPCCalibViewer.cxx:1880 AliTPCCalibViewer.cxx:1881 AliTPCCalibViewer.cxx:1882 AliTPCCalibViewer.cxx:1883 AliTPCCalibViewer.cxx:1884 AliTPCCalibViewer.cxx:1885 AliTPCCalibViewer.cxx:1886 AliTPCCalibViewer.cxx:1887 AliTPCCalibViewer.cxx:1888 AliTPCCalibViewer.cxx:1889 AliTPCCalibViewer.cxx:1890 AliTPCCalibViewer.cxx:1891 AliTPCCalibViewer.cxx:1892 AliTPCCalibViewer.cxx:1893 AliTPCCalibViewer.cxx:1894 AliTPCCalibViewer.cxx:1895 AliTPCCalibViewer.cxx:1896 AliTPCCalibViewer.cxx:1897 AliTPCCalibViewer.cxx:1898 AliTPCCalibViewer.cxx:1899 AliTPCCalibViewer.cxx:1900 AliTPCCalibViewer.cxx:1901 AliTPCCalibViewer.cxx:1902 AliTPCCalibViewer.cxx:1903 AliTPCCalibViewer.cxx:1904 AliTPCCalibViewer.cxx:1905 AliTPCCalibViewer.cxx:1906 AliTPCCalibViewer.cxx:1907 AliTPCCalibViewer.cxx:1908 AliTPCCalibViewer.cxx:1909 AliTPCCalibViewer.cxx:1910 AliTPCCalibViewer.cxx:1911 AliTPCCalibViewer.cxx:1912 AliTPCCalibViewer.cxx:1913 AliTPCCalibViewer.cxx:1914 AliTPCCalibViewer.cxx:1915 AliTPCCalibViewer.cxx:1916 AliTPCCalibViewer.cxx:1917 AliTPCCalibViewer.cxx:1918 AliTPCCalibViewer.cxx:1919 AliTPCCalibViewer.cxx:1920 AliTPCCalibViewer.cxx:1921 AliTPCCalibViewer.cxx:1922 AliTPCCalibViewer.cxx:1923 AliTPCCalibViewer.cxx:1924 AliTPCCalibViewer.cxx:1925 AliTPCCalibViewer.cxx:1926 AliTPCCalibViewer.cxx:1927 AliTPCCalibViewer.cxx:1928 AliTPCCalibViewer.cxx:1929 AliTPCCalibViewer.cxx:1930 AliTPCCalibViewer.cxx:1931 AliTPCCalibViewer.cxx:1932 AliTPCCalibViewer.cxx:1933 AliTPCCalibViewer.cxx:1934 AliTPCCalibViewer.cxx:1935 AliTPCCalibViewer.cxx:1936 AliTPCCalibViewer.cxx:1937 AliTPCCalibViewer.cxx:1938 AliTPCCalibViewer.cxx:1939 AliTPCCalibViewer.cxx:1940 AliTPCCalibViewer.cxx:1941 AliTPCCalibViewer.cxx:1942 AliTPCCalibViewer.cxx:1943 AliTPCCalibViewer.cxx:1944 AliTPCCalibViewer.cxx:1945 AliTPCCalibViewer.cxx:1946 AliTPCCalibViewer.cxx:1947 AliTPCCalibViewer.cxx:1948 AliTPCCalibViewer.cxx:1949 AliTPCCalibViewer.cxx:1950 AliTPCCalibViewer.cxx:1951 AliTPCCalibViewer.cxx:1952 AliTPCCalibViewer.cxx:1953 AliTPCCalibViewer.cxx:1954 AliTPCCalibViewer.cxx:1955 AliTPCCalibViewer.cxx:1956 AliTPCCalibViewer.cxx:1957 AliTPCCalibViewer.cxx:1958 AliTPCCalibViewer.cxx:1959 AliTPCCalibViewer.cxx:1960 AliTPCCalibViewer.cxx:1961 AliTPCCalibViewer.cxx:1962 AliTPCCalibViewer.cxx:1963 AliTPCCalibViewer.cxx:1964 AliTPCCalibViewer.cxx:1965 AliTPCCalibViewer.cxx:1966 AliTPCCalibViewer.cxx:1967 AliTPCCalibViewer.cxx:1968 AliTPCCalibViewer.cxx:1969 AliTPCCalibViewer.cxx:1970 AliTPCCalibViewer.cxx:1971 AliTPCCalibViewer.cxx:1972 AliTPCCalibViewer.cxx:1973 AliTPCCalibViewer.cxx:1974 AliTPCCalibViewer.cxx:1975 AliTPCCalibViewer.cxx:1976 AliTPCCalibViewer.cxx:1977 AliTPCCalibViewer.cxx:1978 AliTPCCalibViewer.cxx:1979 AliTPCCalibViewer.cxx:1980 AliTPCCalibViewer.cxx:1981 AliTPCCalibViewer.cxx:1982 AliTPCCalibViewer.cxx:1983 AliTPCCalibViewer.cxx:1984 AliTPCCalibViewer.cxx:1985 AliTPCCalibViewer.cxx:1986 AliTPCCalibViewer.cxx:1987 AliTPCCalibViewer.cxx:1988 AliTPCCalibViewer.cxx:1989 AliTPCCalibViewer.cxx:1990 AliTPCCalibViewer.cxx:1991 AliTPCCalibViewer.cxx:1992 AliTPCCalibViewer.cxx:1993 AliTPCCalibViewer.cxx:1994 AliTPCCalibViewer.cxx:1995 AliTPCCalibViewer.cxx:1996 AliTPCCalibViewer.cxx:1997 AliTPCCalibViewer.cxx:1998 AliTPCCalibViewer.cxx:1999 AliTPCCalibViewer.cxx:2000 AliTPCCalibViewer.cxx:2001 AliTPCCalibViewer.cxx:2002 AliTPCCalibViewer.cxx:2003 AliTPCCalibViewer.cxx:2004 AliTPCCalibViewer.cxx:2005 AliTPCCalibViewer.cxx:2006 AliTPCCalibViewer.cxx:2007 AliTPCCalibViewer.cxx:2008 AliTPCCalibViewer.cxx:2009 AliTPCCalibViewer.cxx:2010 AliTPCCalibViewer.cxx:2011 AliTPCCalibViewer.cxx:2012 AliTPCCalibViewer.cxx:2013 AliTPCCalibViewer.cxx:2014 AliTPCCalibViewer.cxx:2015 AliTPCCalibViewer.cxx:2016 AliTPCCalibViewer.cxx:2017 AliTPCCalibViewer.cxx:2018 AliTPCCalibViewer.cxx:2019 AliTPCCalibViewer.cxx:2020 AliTPCCalibViewer.cxx:2021 AliTPCCalibViewer.cxx:2022 AliTPCCalibViewer.cxx:2023 AliTPCCalibViewer.cxx:2024 AliTPCCalibViewer.cxx:2025 AliTPCCalibViewer.cxx:2026 AliTPCCalibViewer.cxx:2027 AliTPCCalibViewer.cxx:2028 AliTPCCalibViewer.cxx:2029 AliTPCCalibViewer.cxx:2030 AliTPCCalibViewer.cxx:2031 AliTPCCalibViewer.cxx:2032 AliTPCCalibViewer.cxx:2033 AliTPCCalibViewer.cxx:2034 AliTPCCalibViewer.cxx:2035 AliTPCCalibViewer.cxx:2036 AliTPCCalibViewer.cxx:2037 AliTPCCalibViewer.cxx:2038 AliTPCCalibViewer.cxx:2039 AliTPCCalibViewer.cxx:2040 AliTPCCalibViewer.cxx:2041 AliTPCCalibViewer.cxx:2042 AliTPCCalibViewer.cxx:2043 AliTPCCalibViewer.cxx:2044 AliTPCCalibViewer.cxx:2045 AliTPCCalibViewer.cxx:2046 AliTPCCalibViewer.cxx:2047 AliTPCCalibViewer.cxx:2048 AliTPCCalibViewer.cxx:2049 AliTPCCalibViewer.cxx:2050 AliTPCCalibViewer.cxx:2051 AliTPCCalibViewer.cxx:2052 AliTPCCalibViewer.cxx:2053 AliTPCCalibViewer.cxx:2054 AliTPCCalibViewer.cxx:2055 AliTPCCalibViewer.cxx:2056 AliTPCCalibViewer.cxx:2057 AliTPCCalibViewer.cxx:2058 AliTPCCalibViewer.cxx:2059 AliTPCCalibViewer.cxx:2060 AliTPCCalibViewer.cxx:2061 AliTPCCalibViewer.cxx:2062 AliTPCCalibViewer.cxx:2063 AliTPCCalibViewer.cxx:2064 AliTPCCalibViewer.cxx:2065 AliTPCCalibViewer.cxx:2066 AliTPCCalibViewer.cxx:2067 AliTPCCalibViewer.cxx:2068 AliTPCCalibViewer.cxx:2069 AliTPCCalibViewer.cxx:2070 AliTPCCalibViewer.cxx:2071 AliTPCCalibViewer.cxx:2072 AliTPCCalibViewer.cxx:2073 AliTPCCalibViewer.cxx:2074 AliTPCCalibViewer.cxx:2075 AliTPCCalibViewer.cxx:2076 AliTPCCalibViewer.cxx:2077 AliTPCCalibViewer.cxx:2078 AliTPCCalibViewer.cxx:2079 AliTPCCalibViewer.cxx:2080 AliTPCCalibViewer.cxx:2081 AliTPCCalibViewer.cxx:2082 AliTPCCalibViewer.cxx:2083 AliTPCCalibViewer.cxx:2084 AliTPCCalibViewer.cxx:2085 AliTPCCalibViewer.cxx:2086 AliTPCCalibViewer.cxx:2087 AliTPCCalibViewer.cxx:2088 AliTPCCalibViewer.cxx:2089 AliTPCCalibViewer.cxx:2090 AliTPCCalibViewer.cxx:2091 AliTPCCalibViewer.cxx:2092 AliTPCCalibViewer.cxx:2093 AliTPCCalibViewer.cxx:2094 AliTPCCalibViewer.cxx:2095 AliTPCCalibViewer.cxx:2096 AliTPCCalibViewer.cxx:2097 AliTPCCalibViewer.cxx:2098 AliTPCCalibViewer.cxx:2099 AliTPCCalibViewer.cxx:2100 AliTPCCalibViewer.cxx:2101 AliTPCCalibViewer.cxx:2102 AliTPCCalibViewer.cxx:2103 AliTPCCalibViewer.cxx:2104 AliTPCCalibViewer.cxx:2105 AliTPCCalibViewer.cxx:2106 AliTPCCalibViewer.cxx:2107 AliTPCCalibViewer.cxx:2108 AliTPCCalibViewer.cxx:2109 AliTPCCalibViewer.cxx:2110 AliTPCCalibViewer.cxx:2111 AliTPCCalibViewer.cxx:2112 AliTPCCalibViewer.cxx:2113 AliTPCCalibViewer.cxx:2114 AliTPCCalibViewer.cxx:2115 AliTPCCalibViewer.cxx:2116 AliTPCCalibViewer.cxx:2117 AliTPCCalibViewer.cxx:2118 AliTPCCalibViewer.cxx:2119 AliTPCCalibViewer.cxx:2120 AliTPCCalibViewer.cxx:2121 AliTPCCalibViewer.cxx:2122 AliTPCCalibViewer.cxx:2123 AliTPCCalibViewer.cxx:2124 AliTPCCalibViewer.cxx:2125 AliTPCCalibViewer.cxx:2126 AliTPCCalibViewer.cxx:2127 AliTPCCalibViewer.cxx:2128 AliTPCCalibViewer.cxx:2129 AliTPCCalibViewer.cxx:2130 AliTPCCalibViewer.cxx:2131 AliTPCCalibViewer.cxx:2132 AliTPCCalibViewer.cxx:2133 AliTPCCalibViewer.cxx:2134 AliTPCCalibViewer.cxx:2135 AliTPCCalibViewer.cxx:2136 AliTPCCalibViewer.cxx:2137 AliTPCCalibViewer.cxx:2138 AliTPCCalibViewer.cxx:2139 AliTPCCalibViewer.cxx:2140 AliTPCCalibViewer.cxx:2141 AliTPCCalibViewer.cxx:2142 AliTPCCalibViewer.cxx:2143 AliTPCCalibViewer.cxx:2144 AliTPCCalibViewer.cxx:2145 AliTPCCalibViewer.cxx:2146 AliTPCCalibViewer.cxx:2147 AliTPCCalibViewer.cxx:2148 AliTPCCalibViewer.cxx:2149 AliTPCCalibViewer.cxx:2150 AliTPCCalibViewer.cxx:2151 AliTPCCalibViewer.cxx:2152 AliTPCCalibViewer.cxx:2153 AliTPCCalibViewer.cxx:2154 AliTPCCalibViewer.cxx:2155 AliTPCCalibViewer.cxx:2156 AliTPCCalibViewer.cxx:2157 AliTPCCalibViewer.cxx:2158 AliTPCCalibViewer.cxx:2159 AliTPCCalibViewer.cxx:2160 AliTPCCalibViewer.cxx:2161 AliTPCCalibViewer.cxx:2162 AliTPCCalibViewer.cxx:2163 AliTPCCalibViewer.cxx:2164 AliTPCCalibViewer.cxx:2165 AliTPCCalibViewer.cxx:2166 AliTPCCalibViewer.cxx:2167 AliTPCCalibViewer.cxx:2168 AliTPCCalibViewer.cxx:2169 AliTPCCalibViewer.cxx:2170 AliTPCCalibViewer.cxx:2171 AliTPCCalibViewer.cxx:2172 AliTPCCalibViewer.cxx:2173 AliTPCCalibViewer.cxx:2174 AliTPCCalibViewer.cxx:2175 AliTPCCalibViewer.cxx:2176 AliTPCCalibViewer.cxx:2177 AliTPCCalibViewer.cxx:2178 AliTPCCalibViewer.cxx:2179 AliTPCCalibViewer.cxx:2180 AliTPCCalibViewer.cxx:2181 AliTPCCalibViewer.cxx:2182 AliTPCCalibViewer.cxx:2183 AliTPCCalibViewer.cxx:2184 AliTPCCalibViewer.cxx:2185 AliTPCCalibViewer.cxx:2186 AliTPCCalibViewer.cxx:2187 AliTPCCalibViewer.cxx:2188 AliTPCCalibViewer.cxx:2189 AliTPCCalibViewer.cxx:2190 AliTPCCalibViewer.cxx:2191 AliTPCCalibViewer.cxx:2192 AliTPCCalibViewer.cxx:2193 AliTPCCalibViewer.cxx:2194 AliTPCCalibViewer.cxx:2195 AliTPCCalibViewer.cxx:2196 AliTPCCalibViewer.cxx:2197 AliTPCCalibViewer.cxx:2198 AliTPCCalibViewer.cxx:2199 AliTPCCalibViewer.cxx:2200 AliTPCCalibViewer.cxx:2201 AliTPCCalibViewer.cxx:2202 AliTPCCalibViewer.cxx:2203 AliTPCCalibViewer.cxx:2204 AliTPCCalibViewer.cxx:2205 AliTPCCalibViewer.cxx:2206 AliTPCCalibViewer.cxx:2207 AliTPCCalibViewer.cxx:2208 AliTPCCalibViewer.cxx:2209 AliTPCCalibViewer.cxx:2210 AliTPCCalibViewer.cxx:2211 AliTPCCalibViewer.cxx:2212 AliTPCCalibViewer.cxx:2213 AliTPCCalibViewer.cxx:2214 AliTPCCalibViewer.cxx:2215 AliTPCCalibViewer.cxx:2216 AliTPCCalibViewer.cxx:2217 AliTPCCalibViewer.cxx:2218 AliTPCCalibViewer.cxx:2219 AliTPCCalibViewer.cxx:2220 AliTPCCalibViewer.cxx:2221 AliTPCCalibViewer.cxx:2222 AliTPCCalibViewer.cxx:2223 AliTPCCalibViewer.cxx:2224 AliTPCCalibViewer.cxx:2225 AliTPCCalibViewer.cxx:2226 AliTPCCalibViewer.cxx:2227 AliTPCCalibViewer.cxx:2228 AliTPCCalibViewer.cxx:2229 AliTPCCalibViewer.cxx:2230 AliTPCCalibViewer.cxx:2231 AliTPCCalibViewer.cxx:2232 AliTPCCalibViewer.cxx:2233 AliTPCCalibViewer.cxx:2234 AliTPCCalibViewer.cxx:2235 AliTPCCalibViewer.cxx:2236 AliTPCCalibViewer.cxx:2237 AliTPCCalibViewer.cxx:2238 AliTPCCalibViewer.cxx:2239 AliTPCCalibViewer.cxx:2240 AliTPCCalibViewer.cxx:2241 AliTPCCalibViewer.cxx:2242 AliTPCCalibViewer.cxx:2243 AliTPCCalibViewer.cxx:2244 AliTPCCalibViewer.cxx:2245 AliTPCCalibViewer.cxx:2246 AliTPCCalibViewer.cxx:2247 AliTPCCalibViewer.cxx:2248 AliTPCCalibViewer.cxx:2249 AliTPCCalibViewer.cxx:2250 AliTPCCalibViewer.cxx:2251 AliTPCCalibViewer.cxx:2252 AliTPCCalibViewer.cxx:2253 AliTPCCalibViewer.cxx:2254 AliTPCCalibViewer.cxx:2255 AliTPCCalibViewer.cxx:2256 AliTPCCalibViewer.cxx:2257 AliTPCCalibViewer.cxx:2258 AliTPCCalibViewer.cxx:2259 AliTPCCalibViewer.cxx:2260 AliTPCCalibViewer.cxx:2261 AliTPCCalibViewer.cxx:2262 AliTPCCalibViewer.cxx:2263 AliTPCCalibViewer.cxx:2264 AliTPCCalibViewer.cxx:2265 AliTPCCalibViewer.cxx:2266 AliTPCCalibViewer.cxx:2267 AliTPCCalibViewer.cxx:2268 AliTPCCalibViewer.cxx:2269 AliTPCCalibViewer.cxx:2270 AliTPCCalibViewer.cxx:2271 AliTPCCalibViewer.cxx:2272 AliTPCCalibViewer.cxx:2273 AliTPCCalibViewer.cxx:2274 AliTPCCalibViewer.cxx:2275 AliTPCCalibViewer.cxx:2276 AliTPCCalibViewer.cxx:2277 AliTPCCalibViewer.cxx:2278 AliTPCCalibViewer.cxx:2279 AliTPCCalibViewer.cxx:2280 AliTPCCalibViewer.cxx:2281 AliTPCCalibViewer.cxx:2282 AliTPCCalibViewer.cxx:2283 AliTPCCalibViewer.cxx:2284 AliTPCCalibViewer.cxx:2285 AliTPCCalibViewer.cxx:2286 AliTPCCalibViewer.cxx:2287 AliTPCCalibViewer.cxx:2288 AliTPCCalibViewer.cxx:2289 AliTPCCalibViewer.cxx:2290 AliTPCCalibViewer.cxx:2291 AliTPCCalibViewer.cxx:2292 AliTPCCalibViewer.cxx:2293 AliTPCCalibViewer.cxx:2294 AliTPCCalibViewer.cxx:2295 AliTPCCalibViewer.cxx:2296 AliTPCCalibViewer.cxx:2297 AliTPCCalibViewer.cxx:2298 AliTPCCalibViewer.cxx:2299 AliTPCCalibViewer.cxx:2300 AliTPCCalibViewer.cxx:2301 AliTPCCalibViewer.cxx:2302 AliTPCCalibViewer.cxx:2303 AliTPCCalibViewer.cxx:2304 AliTPCCalibViewer.cxx:2305 AliTPCCalibViewer.cxx:2306 AliTPCCalibViewer.cxx:2307 AliTPCCalibViewer.cxx:2308 AliTPCCalibViewer.cxx:2309 AliTPCCalibViewer.cxx:2310 AliTPCCalibViewer.cxx:2311 AliTPCCalibViewer.cxx:2312 AliTPCCalibViewer.cxx:2313 AliTPCCalibViewer.cxx:2314 AliTPCCalibViewer.cxx:2315 AliTPCCalibViewer.cxx:2316 AliTPCCalibViewer.cxx:2317 AliTPCCalibViewer.cxx:2318 AliTPCCalibViewer.cxx:2319 AliTPCCalibViewer.cxx:2320 AliTPCCalibViewer.cxx:2321 AliTPCCalibViewer.cxx:2322 AliTPCCalibViewer.cxx:2323 AliTPCCalibViewer.cxx:2324 AliTPCCalibViewer.cxx:2325 AliTPCCalibViewer.cxx:2326 AliTPCCalibViewer.cxx:2327 AliTPCCalibViewer.cxx:2328 AliTPCCalibViewer.cxx:2329 AliTPCCalibViewer.cxx:2330 AliTPCCalibViewer.cxx:2331 AliTPCCalibViewer.cxx:2332 AliTPCCalibViewer.cxx:2333 AliTPCCalibViewer.cxx:2334 AliTPCCalibViewer.cxx:2335 AliTPCCalibViewer.cxx:2336 AliTPCCalibViewer.cxx:2337 AliTPCCalibViewer.cxx:2338 AliTPCCalibViewer.cxx:2339 AliTPCCalibViewer.cxx:2340 AliTPCCalibViewer.cxx:2341 AliTPCCalibViewer.cxx:2342 AliTPCCalibViewer.cxx:2343 AliTPCCalibViewer.cxx:2344 AliTPCCalibViewer.cxx:2345 AliTPCCalibViewer.cxx:2346 AliTPCCalibViewer.cxx:2347 AliTPCCalibViewer.cxx:2348 AliTPCCalibViewer.cxx:2349 AliTPCCalibViewer.cxx:2350 AliTPCCalibViewer.cxx:2351 AliTPCCalibViewer.cxx:2352 AliTPCCalibViewer.cxx:2353 AliTPCCalibViewer.cxx:2354 AliTPCCalibViewer.cxx:2355 AliTPCCalibViewer.cxx:2356 AliTPCCalibViewer.cxx:2357 AliTPCCalibViewer.cxx:2358 AliTPCCalibViewer.cxx:2359 AliTPCCalibViewer.cxx:2360 AliTPCCalibViewer.cxx:2361 AliTPCCalibViewer.cxx:2362 AliTPCCalibViewer.cxx:2363 AliTPCCalibViewer.cxx:2364 AliTPCCalibViewer.cxx:2365 AliTPCCalibViewer.cxx:2366 AliTPCCalibViewer.cxx:2367 AliTPCCalibViewer.cxx:2368 AliTPCCalibViewer.cxx:2369 AliTPCCalibViewer.cxx:2370 AliTPCCalibViewer.cxx:2371 AliTPCCalibViewer.cxx:2372 AliTPCCalibViewer.cxx:2373 AliTPCCalibViewer.cxx:2374 AliTPCCalibViewer.cxx:2375 AliTPCCalibViewer.cxx:2376 AliTPCCalibViewer.cxx:2377 AliTPCCalibViewer.cxx:2378 AliTPCCalibViewer.cxx:2379 AliTPCCalibViewer.cxx:2380 AliTPCCalibViewer.cxx:2381 AliTPCCalibViewer.cxx:2382 AliTPCCalibViewer.cxx:2383 AliTPCCalibViewer.cxx:2384 AliTPCCalibViewer.cxx:2385 AliTPCCalibViewer.cxx:2386 AliTPCCalibViewer.cxx:2387 AliTPCCalibViewer.cxx:2388 AliTPCCalibViewer.cxx:2389 AliTPCCalibViewer.cxx:2390 AliTPCCalibViewer.cxx:2391 AliTPCCalibViewer.cxx:2392 AliTPCCalibViewer.cxx:2393 AliTPCCalibViewer.cxx:2394 AliTPCCalibViewer.cxx:2395 AliTPCCalibViewer.cxx:2396 AliTPCCalibViewer.cxx:2397 AliTPCCalibViewer.cxx:2398 AliTPCCalibViewer.cxx:2399 AliTPCCalibViewer.cxx:2400