ROOT logo
/**************************************************************************
 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 *                                                                        *
 * Author: The ALICE Off-line Project.                                    *
 * Contributors are mentioned in the code where appropriate.              *
 *                                                                        *
 * Permission to use, copy, modify and distribute this software and its   *
 * documentation strictly for non-commercial purposes is hereby granted   *
 * without fee, provided that the above copyright notice appears in all   *
 * copies and that both the copyright notice and this permission notice   *
 * appear in the supporting documentation. The authors make no claims     *
 * about the suitability of this software for any purpose. It is          *
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/

/* $Id: AliTRDCalibViewerGUI.cxx 40390 2010-04-14 09:43:23Z cblume $ */

///////////////////////////////////////////////////////////////////////////////
//                                                                           //
//  GUI for the AliTRDCalibViewerGUI                                         //
//  used for the calibration monitor                                         //
//  All functionalities of the AliTRDCalibViewer are here available          //
//                                                                           //
//  Authors:     Marian Ivanov (Marian.Ivanov@cern.ch)                       //
//               Jens Wiechula (Jens.Wiechula@cern.ch)                       //
//               Ionut Arsene  (iarsene@cern.ch)                             //
//                                                                           //
//  Example usage:                                                           //
/*
  aliroot
  AliTRDCalibViewerGUI::ShowGUI()
  
*/
//                                                                           //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////


#include "AliTRDCalibViewerGUI.h"
#include <iostream>
#include <string.h>

#include <TCanvas.h>
#include <TPad.h>
#include <TVirtualPad.h>

#include <TROOT.h>
#include <TObjArray.h>
#include <TObjString.h>
#include <TVector.h>
#include <TH1.h>
#include <TMath.h>
#include <TStyle.h>
#include <TGFileDialog.h>
#include <TGInputDialog.h>
#include "AliBaseCalibViewer.h"
#include "AliCalibViewerGUItime.h"
#include "AliTRDCalibViewer.h"
#include "AliCDBManager.h"
#include "AliCDBStorage.h"

ClassImp(AliTRDCalibViewerGUI)

//________________________________________________________________________________________________
AliTRDCalibViewerGUI::AliTRDCalibViewerGUI(const TGWindow *p, UInt_t w, UInt_t h, char* fileName)
: AliBaseCalibViewerGUI(p, w, h),
    fContLayer(0),
    fContSector(0),
    fContStack(0),
    fLblLayer(0),
    fLblSector(0),
    fLblStack(0),
    fNmbLayer(0),
    fNmbSector(0),
    fNmbStack(0),
    fContLoad(0),
    fContRun(0),
    fLblRun(0),
    fNmbRun(0),
    fContStorage(0),
    fLblStorage(0),
    fTxtStorage(0),
    fContVersion(0),	
    fLblVersion(0),
    fNmbVersion(0),
    fContSubVersion(0),	
    fLblSubVersion(0),
    fNmbSubVersion(0),
    fContChecks(0),
    fChkCalibs(0),
    fChkDCS(0),
    fChkAlign(0),
    fBtnLoad(0),
    fContLoadCalibObjects(0),
    fContCalibInput(0),
    fLblCalibInputFilename(0),
    fTxtCalibInputFilename(0),
    fContCalibOutput(0),
    fLblCalibOutputFilename(0),
    fTxtCalibOutputFilename(0),
    fBtnLoadCalibObjects(0)
{
   //
   // AliTRDCalibViewerGUI constructor; fileName specifies the ROOT tree used for drawing 
   //
   // draw the GUI:
   DrawGUI(p, w, h);
   // initialize
   if (fileName) Initialize(fileName, "TRDcalibDetails");
   // set default button states:
   SetInitialValues();
   // do first drawing: 
   if (fileName) DoDraw();
}

//________________________________________________________________________________________________
AliTRDCalibViewerGUI::AliTRDCalibViewerGUI(const AliTRDCalibViewerGUI &c)
  :AliBaseCalibViewerGUI(c),
   fContLayer(0),
   fContSector(0),
   fContStack(0),
   fLblLayer(0),
   fLblSector(0),
   fLblStack(0),
   fNmbLayer(0),
   fNmbSector(0),
   fNmbStack(0),
   fContLoad(0),
   fContRun(0),
   fLblRun(0),
   fNmbRun(0),
   fContStorage(0),
   fLblStorage(0),
   fTxtStorage(0),
   fContVersion(0),	
   fLblVersion(0),
   fNmbVersion(0),
   fContSubVersion(0),	
   fLblSubVersion(0),
   fNmbSubVersion(0),
   fContChecks(0),
   fChkCalibs(0),
   fChkDCS(0),
   fChkAlign(0),
   fBtnLoad(0),
   fContLoadCalibObjects(0),
   fContCalibInput(0),
   fLblCalibInputFilename(0),
   fTxtCalibInputFilename(0),
   fContCalibOutput(0),
   fLblCalibOutputFilename(0),
   fTxtCalibOutputFilename(0),
   fBtnLoadCalibObjects(0) 
{
  //
  // dummy AliTPCCalibViewerGUI_new copy constructor
  //
}

//________________________________________________________________________________________________
AliTRDCalibViewerGUI & AliTRDCalibViewerGUI::operator =(const AliTRDCalibViewerGUI & /*param*/) {
   //
   // dummy assignment operator
   //
   return (*this);
}

//________________________________________________________________________________________________
AliTRDCalibViewerGUI::~AliTRDCalibViewerGUI() {
   // 
   // Destructor
   // 
  /*
  if (fCanvMain && fCanvMain->GetCanvas()) {
    for (Int_t i = 0; i < fCanvMain->GetCanvas()->GetListOfPrimitives()->GetEntries(); i++) {
      if (strcmp(fCanvMain->GetCanvas()->GetListOfPrimitives()->At(i)->ClassName(), "TFrame") != 0)
	fCanvMain->GetCanvas()->GetListOfPrimitives()->At(i)->Delete();
    }
  } */
  Cleanup();
  if (fViewer) fViewer->Delete();
}

//________________________________________________________________________________________________
Bool_t AliTRDCalibViewerGUI::CreateDetailsTree(Int_t run, const Char_t* outFile, const Char_t* /*ocdbStorage*/) {
  //
  // Get pad level info from OCDB for a given run and dump it into a tree
  // 
  if(!AliCDBManager::Instance()->GetDefaultStorage()){
    std::cout << "AliTRDCalibViewerGUI::CreateDetailsTree(): Default Storage not set. Cannot create Calibration Tree!" << std::endl;
    return kFALSE;
  }
  TString storage = AliCDBManager::Instance()->GetDefaultStorage()->GetURI();
  return ((AliTRDCalibViewer*)fViewer)->DumpOCDBtoTreeDetails("", outFile, run, run, storage.Data());
}

//________________________________________________________________________________________________
void AliTRDCalibViewerGUI::DrawGUI(const TGWindow *p, UInt_t w, UInt_t h) {
  // 
  // draw the GUI
  // 
   
  // draw most of the GUI (all common stuff)
  AliBaseCalibViewerGUI::DrawGUI(p, w, h);
  
  // remove some frames from the virtual class
  fTabRight1->RemoveFrame(fContExport);
  fTabRight1->RemoveFrame(fContTree);
  fTabRight1->RemoveFrame(fContFit);

  // draw and connect slots specific to TRD
  // **************************** content of tabLeft0 *******************************
  // layer options container
  fContLayer = new TGCompositeFrame(fContCuts, 200, 200, kHorizontalFrame | kFitWidth | kFitHeight);
  fContCuts->AddFrame(fContLayer, new TGLayoutHints(kLHintsExpandX, 5, 0, 0, 0));

    // layer number label
    fLblLayer = new TGLabel(fContLayer, "Layer");
    fLblLayer->SetTextJustify(kTextLeft);
    fContLayer->AddFrame(fLblLayer, new TGLayoutHints(kLHintsNormal | kLHintsExpandX, 5, 0, 0, 0));
    // layer number entry
    fNmbLayer = new TGNumberEntry(fContLayer, 0, 1, -1, TGNumberFormat::kNESInteger, TGNumberFormat::kNEAAnyNumber, TGNumberFormat::kNELLimitMinMax, 0, 5);
    fContLayer->AddFrame(fNmbLayer, new TGLayoutHints(kLHintsNormal | kLHintsExpandX, 0, 0, 0, 0));
    fNmbLayer->SetNumber(0);
    fNmbLayer->Connect("ValueSet(Long_t)", "AliTRDCalibViewerGUI", this, "DoNewSelection()");

  // sector options container
  fContSector = new TGCompositeFrame(fContCuts, 200, 200, kHorizontalFrame | kFitWidth | kFitHeight);
  fContCuts->AddFrame(fContSector, new TGLayoutHints(kLHintsExpandX, 5, 0, 0, 0));

    // sector number label
    fLblSector = new TGLabel(fContSector, "SM");
    fLblSector->SetTextJustify(kTextLeft);
    fContSector->AddFrame(fLblSector, new TGLayoutHints(kLHintsNormal | kLHintsExpandX, 5, 0, 0, 0));
    // sector number entry
    fNmbSector = new TGNumberEntry(fContSector, 0, 1, -1, TGNumberFormat::kNESInteger, TGNumberFormat::kNEAAnyNumber, TGNumberFormat::kNELLimitMinMax, -1, 17);
    fContSector->AddFrame(fNmbSector, new TGLayoutHints(kLHintsNormal | kLHintsExpandX, 0, 0, 0, 0));
    fNmbSector->SetNumber(-1);
    fNmbSector->Connect("ValueSet(Long_t)", "AliTRDCalibViewerGUI", this, "DoNewSelection()");

  // stack options container
  fContStack = new TGCompositeFrame(fContCuts, 200, 200, kHorizontalFrame | kFitWidth | kFitHeight);
  fContCuts->AddFrame(fContStack, new TGLayoutHints(kLHintsExpandX, 5, 0, 0, 0));

    // stack number label
    fLblStack = new TGLabel(fContStack, "Stack");
    fLblStack->SetTextJustify(kTextLeft);
    fContStack->AddFrame(fLblStack, new TGLayoutHints(kLHintsNormal | kLHintsExpandX, 5, 0, 0, 0));
    // stack number entry
    fNmbStack = new TGNumberEntry(fContStack, 0, 1, -1, TGNumberFormat::kNESInteger, TGNumberFormat::kNEAAnyNumber, TGNumberFormat::kNELLimitMinMax, -1, 4);
    fContStack->AddFrame(fNmbStack, new TGLayoutHints(kLHintsNormal | kLHintsExpandX, 0, 0, 0, 0));
    fNmbStack->SetNumber(-1);
    fNmbStack->Connect("ValueSet(Long_t)", "AliTRDCalibViewerGUI", this, "DoNewSelection()");
    
  // Load run frame
  fContLoad = new TGGroupFrame(fTabRight1, "Load run", kVerticalFrame | kFitWidth | kFitHeight);
  fTabRight1->AddFrame(fContLoad, new TGLayoutHints(kLHintsExpandX, 0, 0, 0, 0));
    // Storage
    fContStorage = new TGCompositeFrame(fContLoad, 400, 200, kHorizontalFrame | kFitWidth | kFitHeight);
    fContLoad->AddFrame(fContStorage, new TGLayoutHints(kLHintsExpandX, 0, 0, 0, 0));
      // label
      fLblStorage = new TGLabel(fContStorage, "OCDB:");
      fLblStorage->SetTextJustify(kTextLeft);
      fContStorage->AddFrame(fLblStorage, new TGLayoutHints(kLHintsNormal | kLHintsExpandX, 0, 0, 0, 0));
      // text entry
      fTxtStorage = new TGTextEntry(fContStorage, "alien://folder=/alice/data/2010/OCDB/", 111);
      fContStorage->AddFrame(fTxtStorage, new TGLayoutHints(kLHintsNormal | kLHintsExpandX, 0, 0, 0, 0));
//      fTxtStorage->Connect("ReturnPressed()", "AliBaseCalibViewerGUI", this, "HandleButtons1D(=111)");
      fTxtStorage->SetToolTipText("Enter the OCDB storage location");
    // Run entry
    fContRun = new TGCompositeFrame(fContLoad, 200, 200, kHorizontalFrame | kFitWidth | kFitHeight);
    fContLoad->AddFrame(fContRun, new TGLayoutHints(kLHintsExpandX, 0, 0, 0, 0));
      // label
      fLblRun = new TGLabel(fContRun, "Run:");
      fLblRun->SetTextJustify(kTextLeft);
      fContRun->AddFrame(fLblRun, new TGLayoutHints(kLHintsNormal | kLHintsExpandX, 0, 0, 0, 0));
      // run number entry
      fNmbRun = new TGNumberEntry(fContRun, 0, 1, -1, TGNumberFormat::kNESInteger, TGNumberFormat::kNEAAnyNumber, TGNumberFormat::kNELNoLimits);
      fContRun->AddFrame(fNmbRun, new TGLayoutHints(kLHintsNormal | kLHintsExpandX, 0, 0, 0, 0));
      fNmbRun->SetNumber(-1);
      //fNmbRun->SetToolTipText("Enter the run number");
    // Version entry
    fContVersion = new TGCompositeFrame(fContLoad, 200, 200, kHorizontalFrame | kFitWidth | kFitHeight);
    fContLoad->AddFrame(fContVersion, new TGLayoutHints(kLHintsExpandX, 0, 0, 0, 0));
      // label
      fLblVersion = new TGLabel(fContVersion, "Version:");
      fLblVersion->SetTextJustify(kTextLeft);
      fContVersion->AddFrame(fLblVersion, new TGLayoutHints(kLHintsNormal | kLHintsExpandX, 0, 0, 0, 0));
      // run number entry
      fNmbVersion = new TGNumberEntry(fContVersion, 0, 1, -1, TGNumberFormat::kNESInteger, TGNumberFormat::kNEAAnyNumber, TGNumberFormat::kNELNoLimits);
      fContVersion->AddFrame(fNmbVersion, new TGLayoutHints(kLHintsNormal | kLHintsExpandX, 0, 0, 0, 0));
      fNmbVersion->SetNumber(-1);
    // SubVersion entry
    fContSubVersion = new TGCompositeFrame(fContLoad, 200, 200, kHorizontalFrame | kFitWidth | kFitHeight);
    fContLoad->AddFrame(fContSubVersion, new TGLayoutHints(kLHintsExpandX, 0, 0, 0, 0));
      // label
      fLblSubVersion = new TGLabel(fContSubVersion, "SubVersion:");
      fLblSubVersion->SetTextJustify(kTextLeft);
      fContSubVersion->AddFrame(fLblSubVersion, new TGLayoutHints(kLHintsNormal | kLHintsExpandX, 0, 0, 0, 0));
      // run number entry
      fNmbSubVersion = new TGNumberEntry(fContSubVersion, 0, 1, -1, TGNumberFormat::kNESInteger, TGNumberFormat::kNEAAnyNumber, TGNumberFormat::kNELNoLimits);
      fContSubVersion->AddFrame(fNmbSubVersion, new TGLayoutHints(kLHintsNormal | kLHintsExpandX, 0, 0, 0, 0));
      fNmbSubVersion->SetNumber(-1);

    // Calib & DCS & Align check boxes frame
    fContChecks = new TGCompositeFrame(fContLoad, 200, 200, kHorizontalFrame | kFitWidth | kFitHeight);
    fContLoad->AddFrame(fContChecks, new TGLayoutHints(kLHintsExpandX, 0, 0, 0, 0));
      // Calibs check box
      fChkCalibs = new TGCheckButton(fContChecks, "Calib");
      fContChecks->AddFrame(fChkCalibs, new TGLayoutHints(kLHintsNormal, 0, 0, 0, 0));
      fChkCalibs->SetToolTipText("Get calibration info (gain, pedestal, vdrift, T0 and status)");
      fChkCalibs->SetState(kButtonDown);
      // DCS check box
      fChkDCS = new TGCheckButton(fContChecks, "DCS");
      fContChecks->AddFrame(fChkDCS, new TGLayoutHints(kLHintsNormal, 0, 0, 0, 0));
      fChkDCS->SetToolTipText("Get DCS info");
      fChkDCS->SetState(kButtonDown);
      // Calibs check box
      fChkAlign = new TGCheckButton(fContChecks, "Align");
      fContChecks->AddFrame(fChkAlign, new TGLayoutHints(kLHintsNormal, 0, 0, 0, 0));
      fChkAlign->SetToolTipText("Get alingment info");
      fChkAlign->SetState(kButtonDown);
    // Load button
    fBtnLoad = new TGTextButton(fContLoad, "&Load run");
    fBtnLoad->SetName("loadOCDB");
    fContLoad->AddFrame(fBtnLoad, new TGLayoutHints(kLHintsExpandX, 0, 0, 0, 0));
    fBtnLoad->SetToolTipText("Load run from OCDB");
    fBtnLoad->Connect("Clicked()", "AliTRDCalibViewerGUI", this, "SetTree()");

  // Load a file with AliTRDCalPad objects
  // main frame
  fContLoadCalibObjects = new TGGroupFrame(fTabRight1, "Load CalPad from file", kVerticalFrame | kFitWidth | kFitHeight);
  fTabRight1->AddFrame(fContLoadCalibObjects, new TGLayoutHints(kLHintsExpandX, 0, 0, 0, 0));
    // container for the input file
    fContCalibInput = new TGCompositeFrame(fContLoadCalibObjects, 200, 200, kHorizontalFrame | kFitWidth | kFitHeight);
    fContLoadCalibObjects->AddFrame(fContCalibInput, new TGLayoutHints(kLHintsExpandX, 0, 0, 2, 0));
      // label
      fLblCalibInputFilename = new TGLabel(fContCalibInput, "Input:");
      fLblCalibInputFilename->SetTextJustify(kTextLeft);
      fContCalibInput->AddFrame(fLblCalibInputFilename, new TGLayoutHints(kLHintsNormal | kLHintsExpandX, 0, 0, 0, 0));
      // text entry
      fTxtCalibInputFilename = new TGTextEntry(fContCalibInput, "Input file", 200);
      fContCalibInput->AddFrame(fTxtCalibInputFilename, new TGLayoutHints(kLHintsNormal | kLHintsExpandX, 0, 0, 0, 0));
      fTxtCalibInputFilename->Connect("DoubleClicked()", "AliTRDCalibViewerGUI", this, "HandleFilesystem()");
    // container for the output file
    fContCalibOutput = new TGCompositeFrame(fContLoadCalibObjects, 200, 200, kHorizontalFrame | kFitWidth | kFitHeight);
    fContLoadCalibObjects->AddFrame(fContCalibOutput, new TGLayoutHints(kLHintsExpandX, 0, 0, 2, 0));
      // label
      fLblCalibOutputFilename = new TGLabel(fContCalibOutput, "Output:");
      fLblCalibOutputFilename->SetTextJustify(kTextLeft);
      fContCalibOutput->AddFrame(fLblCalibOutputFilename, new TGLayoutHints(kLHintsNormal | kLHintsExpandX, 0, 0, 0, 0));
      // text entry
      fTxtCalibOutputFilename = new TGTextEntry(fContCalibOutput, "/tmp/output.root", 201);
      fContCalibOutput->AddFrame(fTxtCalibOutputFilename, new TGLayoutHints(kLHintsNormal | kLHintsExpandX, 0, 0, 0, 0));
      fTxtCalibOutputFilename->Connect("DoubleClicked()", "AliTRDCalibViewerGUI", this, "HandleFilesystem()");
    // Load button
    fBtnLoadCalibObjects = new TGTextButton(fContLoadCalibObjects, "L&oad calib");
    fBtnLoadCalibObjects->SetName("loadCalPad");
    fContLoadCalibObjects->AddFrame(fBtnLoadCalibObjects, new TGLayoutHints(kLHintsExpandX, 0, 0, 0, 0));
    fBtnLoadCalibObjects->SetToolTipText("Extract a tree from an array of AliTRDCalPad objects,\nand load it into this application");
    fBtnLoadCalibObjects->Connect("Clicked()", "AliTRDCalibViewerGUI", this, "SetTree()");
      
  SetWindowName("AliTRDCalibViewer GUI");
  MapSubwindows();
  Resize(GetDefaultSize());
  MapWindow();
}

//___________________________________________________________________________________
void AliTRDCalibViewerGUI::SetTree() {
  //
  //  handles the loading of a new tree and updates the GUI
  //
  TString fileName;
  TGTextButton *button = ((TGTextButton*)gTQSender);
  TString name=button->GetName();
  if(name.Contains("OCDB")) {
    Int_t run = (Int_t)fNmbRun->GetNumber();
    TString storage(fTxtStorage->GetText());
    Bool_t getCalibs = (fChkCalibs->GetState()==kButtonDown ? kTRUE : kFALSE);
    Bool_t getDCS = (fChkDCS->GetState()==kButtonDown ? kTRUE : kFALSE);
    Bool_t getAlign = (fChkAlign->GetState()==kButtonDown ? kTRUE : kFALSE);
    Int_t version = (Int_t)fNmbVersion->GetNumber();
    Int_t subVersion = (Int_t)fNmbSubVersion->GetNumber();
    
    fileName = Form("trdOCDBDetails_run%d.root", run);
    Bool_t load=kTRUE;
    load=((AliTRDCalibViewer*)fViewer)->DumpOCDBtoTreeDetails("", fileName.Data(), run, run, storage.Data(),
                                                              version, subVersion, getCalibs, getDCS, getAlign);
    if(!load) {
      Reset();
      return;
    }
  }
  if(name.Contains("CalPad")) {
    ((AliTRDCalibViewer*)fViewer)->DumpCalibToTree(fTxtCalibInputFilename->GetText(),
                                                   fTxtCalibOutputFilename->GetText());
    fileName = fTxtCalibOutputFilename->GetText();
  }
  Initialize(fileName.Data(), "TRDcalibDetails");
  Reload();
  DoDraw();
}

//________________________________________________________________________________________________
void AliTRDCalibViewerGUI::HandleFilesystem() {
  //
  //  Slot used by the text buttons to trigger the file system dialog
  //
  Int_t id = ((TGTextEntry*)gTQSender)->WidgetId();
  const char *kTypes[] = {
      "All files",    "*",
       0,              0};
  TString dir(".");
  TGFileInfo fi;
  fi.fFileTypes = kTypes;
  fi.fOverwrite = kFALSE;
  new TGFileDialog(gClient->GetRoot(), gClient->GetRoot(), kFDOpen, &fi);
  if(fi.fFilename && strlen(fi.fFilename)) {
    if(id==200)
      fTxtCalibInputFilename->SetText(fi.fFilename);
    if(id==201)
      fTxtCalibOutputFilename->SetText(fi.fFilename);
  }
  return;
}

//________________________________________________________________________________________________
void AliTRDCalibViewerGUI::Initialize(const char* fileName, const char* treeName) {
  // 
  // initialize the GUI with a calibrationTree from fileName
  // 
  // create AliTRDCalibViewer object, which will be used for generating all drawings
  if (fViewer) delete fViewer;
  fViewer = new AliTRDCalibViewer(fileName, treeName);
  Initialize(fViewer);   
}

//________________________________________________________________________________________________
void AliTRDCalibViewerGUI::Initialize(AliBaseCalibViewer *viewer) {
  //
  // initializes the GUI with default settings and opens tree for drawing
  //
  fViewer = viewer;
  TString selectedVariable("");
  TString selectedNormalization("");
  Int_t variableId = -1;
  Int_t normalizationId = -1;
  if (fInitialized) {
    // remember the selected entry
    if (fListVariables->GetSelectedEntry()) selectedVariable = fListVariables->GetSelectedEntry()->GetTitle();
    if (fListNormalization->GetSelectedEntry()) selectedNormalization = fListNormalization->GetSelectedEntry()->GetTitle();
  }
  
  // fill fListVariables, list of drawable variables:
  TObjArray* arr = ((AliTRDCalibViewer*)fViewer)->GetListOfVariables(1);
  if (!arr) {
    return;
  }
  TIterator* iter = arr->MakeIterator();
  iter->Reset();
  TObjString* currentStr = 0;
  Int_t id = 0;
  fListVariables->RemoveAll();
  while ((currentStr = (TObjString*)(iter->Next()))) {
    fListVariables->AddEntry(currentStr->GetString().Data(), id);
    if (fInitialized && currentStr->GetString() == selectedVariable) variableId = id;
    id++;
  }
  
  // fill fListNorm, list of normalization variables:
  TObjArray *arrNorm = ((AliTRDCalibViewer*)fViewer)->GetListOfNormalizationVariables();
  TIterator *iterNorm = arrNorm->MakeIterator();
  iterNorm->Reset();
  currentStr = 0;
  id = 0;
  fListNormalization->RemoveAll();
  while ((currentStr = (TObjString*)(iterNorm->Next()))) {
    fListNormalization->AddEntry(currentStr->GetString().Data(), id);
    if (fInitialized && currentStr->GetString() == selectedNormalization) normalizationId = id;
    id++;
  }
  currentStr = 0;
  iter->Reset();
  //Add draw variables to the list of normalisation
  while ((currentStr = (TObjString*)(iter->Next()))) {
    if (currentStr->GetString().BeginsWith("Map")) continue; //don't add mapping information
    fListNormalization->AddEntry(currentStr->GetString().Data(), id);
    if (fInitialized && currentStr->GetString() == selectedNormalization) normalizationId = id;
    id++;
  }
  
  delete iterNorm;
  arrNorm->Delete();
  delete arrNorm;
  
  delete iter;
  arr->Delete();
  delete arr;
  
  // trick do display the entries corectly after reinitialization
  // otherwise all the entries would appear as one kryptic entry
  // resizing the listbox somehow fixes the problem...
  if (fInitialized) fListVariables->Resize(fListVariables->GetWidth()-1, fListVariables->GetHeight());
  if (fInitialized) fListVariables->Resize(fListVariables->GetWidth()+1, fListVariables->GetHeight());
  if (fInitialized) fListNormalization->Resize(fListNormalization->GetWidth()-1, fListNormalization->GetHeight());
  if (fInitialized) fListNormalization->Resize(fListNormalization->GetWidth()+1, fListNormalization->GetHeight());
  
  // select the last selected variable and normalization
  if (fInitialized && variableId != -1)     fListVariables->Select(variableId);
  if (fInitialized && normalizationId != -1)fListVariables->Select(normalizationId);
  
  if (fInitialized) Info("Initialize", "AliTRDCalibViewerGUI new initialized.");
  fInitialized = kTRUE;
}

//________________________________________________________________________________________________
void AliTRDCalibViewerGUI::Reset(){
  //
  // reset variables, delete calib viewer
  //
  if (fViewer) delete fViewer;
  fListVariables->RemoveAll();
  fListNormalization->RemoveAll();
  fInitialized = kFALSE;
}

//________________________________________________________________________________________________
TString* AliTRDCalibViewerGUI::GetDrawString() {
  // 
  // create the draw string out of selection
  // 
  
  // specify data to plot
  TString desiredData("");
  if (!fListVariables->GetSelectedEntry()) return 0;
  desiredData += ((TGTextLBEntry*)(fListVariables->GetSelectedEntry()))->GetTitle();
  desiredData += fViewer->GetAbbreviation();
  
  // specify normalization
  if (fRadioPredefined->GetState() == kButtonDown && fRadioNormalized->GetState() == kButtonDown) {
    TString op("");
    switch (fComboMethod->GetSelected()) {
    case 0:        // subtraction
      op += "-";
      break;
    case 1:        // division
      op += "/";
      break;
    }
    TString normalizationData("");
    if (!fListNormalization->GetSelectedEntry()) return 0;
    normalizationData += ((TGTextLBEntry*)(fListNormalization->GetSelectedEntry()))->GetTitle();
    
    desiredData += op;
    if (! (TString(((TGTextLBEntry*)(fListNormalization->GetSelectedEntry()))->GetTitle())).BeginsWith("Fit"))
      if ( normalizationData.BeginsWith("_") ) desiredData += ((TGTextLBEntry*)(fListVariables->GetSelectedEntry()))->GetTitle();
    if ( fListVariables->FindEntry(normalizationData.Data()) )
      normalizationData+="~";
    desiredData += normalizationData;
  }
  else if (fRadioCustom->GetState() == kButtonDown) {
    desiredData = fComboCustom->GetTextEntry()->GetText();
    if (desiredData == "") return 0;
    ReplacePlaceHolders(desiredData);
  }
   
  // try to add forgotten '~'
  if (fChkAutoAppend->GetState() == kButtonDown) 
    desiredData = TString(((AliTRDCalibViewer*)fViewer)->AddAbbreviations((char*)desiredData.Data()));
  return new TString(desiredData.Data());
}

//________________________________________________________________________________________________
TString* AliTRDCalibViewerGUI::GetCutString() {
   // 
   // create the cut string out of selection
   // 
  
   TString cutsStr("");
      
   // try to add forgotten '~'
   if(fChkAutoAppend->GetState() == kButtonDown) 
      cutsStr = TString(((AliTRDCalibViewer*)fViewer)->AddAbbreviations((char*)cutsStr.Data()));
   return new TString(cutsStr.Data());
}

//________________________________________________________________________________________________
TString* AliTRDCalibViewerGUI::GetSectorString() {
  // 
  // create the sector string out of selection
  // 

  Int_t layerNo = (Int_t)(fNmbLayer->GetNumber());
  Int_t sectorNo = (Int_t)(fNmbSector->GetNumber());
  Int_t stackNo = (Int_t)(fNmbStack->GetNumber());

  TString sectorStr("");
  sectorStr = Form("Layer%dSector%dStack%d", layerNo, sectorNo, stackNo);

  return new TString(sectorStr.Data());
}   

//________________________________________________________________________________________________
void AliTRDCalibViewerGUI::DoDraw() {
  //
  // main method for drawing according to user selection
  //
   
  // specify data to plot:
  if (!GetDrawString()) return;
  TString desiredData(GetDrawString()->Data());
  // specify sector:
  TString sectorStr(GetSectorString()->Data());
  // specify cuts:
  TString cutsStr(GetCutString()->Data());

  TString addDrawOpt("");
  if (fChkAddDrawOpt->GetState() == kButtonDown)
    addDrawOpt += fComboAddDrawOpt->GetTextEntry()->GetText();
   
  // remove last picture
  if (!addDrawOpt.Contains("same"))
    for (Int_t i = 0; i < fCanvMain->GetCanvas()->GetListOfPrimitives()->GetEntries(); i++) {
      if (strcmp(fCanvMain->GetCanvas()->GetListOfPrimitives()->At(i)->ClassName(), "TFrame") != 0)
	fCanvMain->GetCanvas()->GetListOfPrimitives()->At(i)->Delete();
    }
  //fCanvMain->GetCanvas()->Clear();
  fCanvMain->GetCanvas()->cd();
  Int_t entries = -1;
  // draw finally
  if (fRadio1D->GetState() == kButtonDown){
    // 1D-Drawing
    TString strSigmaMax(fTxtSigmaMax->GetText());  // get sigmaMax from text enty
    Double_t sigmaMax = (strSigmaMax.IsFloat()) ? strSigmaMax.Atof() : 5; // convert to double, if not convertable, set to 5
    Bool_t plotMean   = fChkMean->GetState() == kButtonDown;
    Bool_t plotMedian = fChkMedian->GetState() == kButtonDown;
    Bool_t plotLTM    = fChkLTM->GetState() == kButtonDown;
    if (fRadioNorm->GetState() == kButtonDown)  // normal 1D drawing
      entries = ((AliTRDCalibViewer*)fViewer)->EasyDraw1D(desiredData.Data(), sectorStr.Data(), cutsStr.Data(), addDrawOpt.Data());
    if (fRadioSigma->GetState() == kButtonDown) // sigma 1D drawing
      entries = fViewer->DrawHisto1D(desiredData.Data(), sectorStr.Data(), cutsStr.Data(), // 
				     fTxtSigmas->GetText(), plotMean, plotMedian, plotLTM);
    if (fRadioCumulative->GetState() == kButtonDown)  // cumulative 1D drawing
      entries = fViewer->SigmaCut(desiredData.Data(), sectorStr.Data(), cutsStr.Data(), //
				  sigmaMax, plotMean, plotMedian, plotLTM, // 
				  fCheckCumulativePM->GetState() == kButtonDown, fTxtSigmas->GetText(), /* Float_t sigmaStep =*/ -1);
    if (fRadioIntegrate->GetState() == kButtonDown)  // integral 1D drawing  
      entries = fViewer->Integrate(desiredData.Data(), sectorStr.Data(), cutsStr.Data(), //
				   sigmaMax, plotMean, plotMedian, plotLTM, // 
				   fTxtSigmas->GetText(), /* Float_t sigmaStep =*/ -1);            
  }
  else if (fRadio2D->GetState() == kButtonDown) {
    // 2D-Drawing
    entries = ((AliTRDCalibViewer*)fViewer)->EasyDraw(desiredData.Data(), sectorStr.Data(), cutsStr.Data(), addDrawOpt.Data());
  }
  if (entries == -1) return; // nothing was drawn, there is no histogram to get min and max
   
  SetMinMaxLabel();
  fCanvMain->GetCanvas()->Update();
}

//________________________________________________________________________________________________
void AliTRDCalibViewerGUI::MouseMove(Int_t event, Int_t x, Int_t y, TObject *selectedObject) { 
  //
  // mouse move
  // zoom to chamber works ONLY in 2D mode
  // 
  if(event != kButton1Double )
    return;
  if(!selectedObject->InheritsFrom("TH2")) return;

  //Int_t layerNo = (Int_t)(fNmbLayer->GetNumber());
  Int_t sectorNo = (Int_t)(fNmbSector->GetNumber());
  Int_t stackNo = (Int_t)(fNmbStack->GetNumber());

  // zoom out to the current layer if a chamber is viewed now
  if(sectorNo!=-1 && stackNo!=-1) {
    fNmbSector->SetNumber(-1);
    fNmbStack->SetNumber(-1);
    DoNewSelection();
    return;
  }

  // check what kind of parameter we visualize
  TString drawStr(GetDrawString()->Data());
  Int_t viewedParamClass = -1;     // -1 nothing, 0 calibration, 1 FEE params
  if(drawStr.Contains("Status") || drawStr.Contains("Gain") || drawStr.Contains("Noise") ||
     drawStr.Contains("Vdrift") || drawStr.Contains("T0") ||
     drawStr.Contains("gain") || drawStr.Contains("chiSquare"))
    viewedParamClass = 0;
  if(drawStr.Contains("SORandEOR") || 
     drawStr.Contains("gsmSOR") || drawStr.Contains("gsmDelta") ||
     drawStr.Contains("nimSOR") || drawStr.Contains("nimDelta") ||
     drawStr.Contains("nevSOR") || drawStr.Contains("nevDelta") ||
     drawStr.Contains("nptSOR") || drawStr.Contains("nptDelta")) {
    viewedParamClass = 1;
  }
  if(viewedParamClass==-1) return;

  // some constants refering to the TRD geometry
  const Int_t gkNRows[ 5] = {16, 16, 12, 16, 16};  // number of pad rows in the chambers from each of the 5 stacks
  const Int_t gkNCols = 144;    // number of pad cols per chamber

  // get the coordinate of the clicked point in physical coordinates
  Float_t upy = gPad->AbsPixeltoY(y);
  Float_t upx = gPad->AbsPixeltoX(x);
  Float_t gy  = gPad->PadtoY(upy);
  Float_t gx  = gPad->PadtoX(upx);
  Int_t selectedStack = -1;
  Int_t selectedSector = -1;

  // retrieve the double-clicked chamber 
  if(sectorNo==-1 && stackNo==-1) {
    // get the selected stack
    Float_t rowLowBound = -0.5;
    Float_t rowHighBound = -0.5;
    for(Int_t i=0; i<5; i++) {
      if(i>0) rowLowBound += gkNRows[i-1];
      rowHighBound += gkNRows[i];
      if(gx>=rowLowBound && gx<=rowHighBound)
	selectedStack = i;
    }
    // get the selected sector
    if(viewedParamClass==0) {   // calibration params
      selectedSector = (Int_t)TMath::Floor((gy+0.5)/Float_t(gkNCols));
    }
    if(viewedParamClass==1) {   // FEE params
      selectedSector = (Int_t)TMath::Floor((gy+0.5)/8.0);   // 8 MCMs per chamber in pad cols direction
    }
  }
  if(sectorNo!=-1 && stackNo==-1) {
    // get the selected stack
    Float_t rowLowBound = -0.5;
    Float_t rowHighBound = -0.5;
    for(Int_t i=0; i<5; i++) {
      if(i>0) rowLowBound += gkNRows[i-1];
      rowHighBound += gkNRows[i];
      if(gx>=rowLowBound && gx<=rowHighBound)
	selectedStack = i;
    }
    // get the selected sector
    selectedSector = sectorNo;
  }
  if(sectorNo==-1 && stackNo!=-1) {
    // get the selected stack
    selectedStack = stackNo;
    // get the selected sector
    if(viewedParamClass==0) {   // calibration params
      selectedSector = (Int_t)TMath::Floor((gy+0.5)/144.0);
    }
    if(viewedParamClass==1) {   // FEE params
      selectedSector = (Int_t)TMath::Floor((gy+0.5)/8.0);
    }
  }

  fNmbSector->SetNumber(selectedSector);
  fNmbStack->SetNumber(selectedStack);
  DoNewSelection();
  return;
}

//___________________________________________________________________________
void AliTRDCalibViewerGUI::ShowGUI() {
  //
  //   Draw the graphical user interface
  //
  TGMainFrame* mainWindow = new TGMainFrame(gClient->GetRoot(), 1000, 700);
  mainWindow->SetWindowName("Run OCDB details");
  mainWindow->SetCleanup(kDeepCleanup);
  AliTRDCalibViewerGUI *calibViewer = new AliTRDCalibViewerGUI(mainWindow, 1000, 650, 0);
  mainWindow->AddFrame(calibViewer, new TGLayoutHints(kLHintsExpandX | kLHintsExpandY, 0, 0, 0, 0));
  mainWindow->MapSubwindows();
  mainWindow->Resize();
  mainWindow->MapWindow();
}

//___________________________________________________________________________
void AliTRDCalibViewerGUI::ShowGUI(const Char_t* treeFile, const Char_t* treeName) {
  //
  //   Draw the graphical user interface
  //
  TGMainFrame* mainWindow = new TGMainFrame(gClient->GetRoot(), 1000, 700);
  mainWindow->SetWindowName("Run OCDB details");
  mainWindow->SetCleanup(kDeepCleanup);
  AliBaseCalibViewerGUI *calibViewer = new AliTRDCalibViewerGUI(mainWindow, 1000, 650, 0);
  mainWindow->AddFrame(calibViewer, new TGLayoutHints(kLHintsExpandX | kLHintsExpandY, 0, 0, 0, 0));

  calibViewer->Initialize(treeFile, treeName);
  calibViewer->Reload();
  calibViewer->DoDraw();

  mainWindow->MapSubwindows();
  mainWindow->Resize();
  mainWindow->MapWindow();
}

//___________________________________________________________________________
void AliTRDCalibViewerGUI::ShowGUIwithTrending() {
  //
  // Draw a GUI application containing 2 tabs:
  //    -- tab for time/run trending
  //    -- tab for run details
  TGMainFrame* frmMain = new TGMainFrame(gClient->GetRoot(), 1000, 700);
  frmMain->SetCleanup(kDeepCleanup);
  
  TGTab* tabMain = new TGTab(frmMain, 1000, 700);
  frmMain->AddFrame(tabMain, new TGLayoutHints(kLHintsExpandX | kLHintsExpandY, 0, 0, 0, 0));
  TGCompositeFrame* tabCont1 = tabMain->AddTab("Time");
  TGCompositeFrame* tabCont2 = tabMain->AddTab("Detail - XXXXX");
  
  AliCalibViewerGUItime* calibViewerTime = new AliCalibViewerGUItime(tabCont1, 1000, 650, "TRD");
  tabCont1->AddFrame(calibViewerTime, new TGLayoutHints(kLHintsExpandX | kLHintsExpandY, 0, 0, 0, 0));
  
  AliTRDCalibViewerGUI *calibViewer = new AliTRDCalibViewerGUI(tabCont2, 1000, 700, 0);
  tabCont2->AddFrame(calibViewer, new TGLayoutHints(kLHintsExpandX | kLHintsExpandY, 0, 0, 0, 0));
  calibViewerTime->SetCalibViewerGUI(calibViewer);
  calibViewerTime->SetCalibViewerGUItab(tabMain->GetTabTab(1));
  
  frmMain->MapSubwindows();
  frmMain->Resize();
  frmMain->MapWindow();
}
 AliTRDCalibViewerGUI.cxx:1
 AliTRDCalibViewerGUI.cxx:2
 AliTRDCalibViewerGUI.cxx:3
 AliTRDCalibViewerGUI.cxx:4
 AliTRDCalibViewerGUI.cxx:5
 AliTRDCalibViewerGUI.cxx:6
 AliTRDCalibViewerGUI.cxx:7
 AliTRDCalibViewerGUI.cxx:8
 AliTRDCalibViewerGUI.cxx:9
 AliTRDCalibViewerGUI.cxx:10
 AliTRDCalibViewerGUI.cxx:11
 AliTRDCalibViewerGUI.cxx:12
 AliTRDCalibViewerGUI.cxx:13
 AliTRDCalibViewerGUI.cxx:14
 AliTRDCalibViewerGUI.cxx:15
 AliTRDCalibViewerGUI.cxx:16
 AliTRDCalibViewerGUI.cxx:17
 AliTRDCalibViewerGUI.cxx:18
 AliTRDCalibViewerGUI.cxx:19
 AliTRDCalibViewerGUI.cxx:20
 AliTRDCalibViewerGUI.cxx:21
 AliTRDCalibViewerGUI.cxx:22
 AliTRDCalibViewerGUI.cxx:23
 AliTRDCalibViewerGUI.cxx:24
 AliTRDCalibViewerGUI.cxx:25
 AliTRDCalibViewerGUI.cxx:26
 AliTRDCalibViewerGUI.cxx:27
 AliTRDCalibViewerGUI.cxx:28
 AliTRDCalibViewerGUI.cxx:29
 AliTRDCalibViewerGUI.cxx:30
 AliTRDCalibViewerGUI.cxx:31
 AliTRDCalibViewerGUI.cxx:32
 AliTRDCalibViewerGUI.cxx:33
 AliTRDCalibViewerGUI.cxx:34
 AliTRDCalibViewerGUI.cxx:35
 AliTRDCalibViewerGUI.cxx:36
 AliTRDCalibViewerGUI.cxx:37
 AliTRDCalibViewerGUI.cxx:38
 AliTRDCalibViewerGUI.cxx:39
 AliTRDCalibViewerGUI.cxx:40
 AliTRDCalibViewerGUI.cxx:41
 AliTRDCalibViewerGUI.cxx:42
 AliTRDCalibViewerGUI.cxx:43
 AliTRDCalibViewerGUI.cxx:44
 AliTRDCalibViewerGUI.cxx:45
 AliTRDCalibViewerGUI.cxx:46
 AliTRDCalibViewerGUI.cxx:47
 AliTRDCalibViewerGUI.cxx:48
 AliTRDCalibViewerGUI.cxx:49
 AliTRDCalibViewerGUI.cxx:50
 AliTRDCalibViewerGUI.cxx:51
 AliTRDCalibViewerGUI.cxx:52
 AliTRDCalibViewerGUI.cxx:53
 AliTRDCalibViewerGUI.cxx:54
 AliTRDCalibViewerGUI.cxx:55
 AliTRDCalibViewerGUI.cxx:56
 AliTRDCalibViewerGUI.cxx:57
 AliTRDCalibViewerGUI.cxx:58
 AliTRDCalibViewerGUI.cxx:59
 AliTRDCalibViewerGUI.cxx:60
 AliTRDCalibViewerGUI.cxx:61
 AliTRDCalibViewerGUI.cxx:62
 AliTRDCalibViewerGUI.cxx:63
 AliTRDCalibViewerGUI.cxx:64
 AliTRDCalibViewerGUI.cxx:65
 AliTRDCalibViewerGUI.cxx:66
 AliTRDCalibViewerGUI.cxx:67
 AliTRDCalibViewerGUI.cxx:68
 AliTRDCalibViewerGUI.cxx:69
 AliTRDCalibViewerGUI.cxx:70
 AliTRDCalibViewerGUI.cxx:71
 AliTRDCalibViewerGUI.cxx:72
 AliTRDCalibViewerGUI.cxx:73
 AliTRDCalibViewerGUI.cxx:74
 AliTRDCalibViewerGUI.cxx:75
 AliTRDCalibViewerGUI.cxx:76
 AliTRDCalibViewerGUI.cxx:77
 AliTRDCalibViewerGUI.cxx:78
 AliTRDCalibViewerGUI.cxx:79
 AliTRDCalibViewerGUI.cxx:80
 AliTRDCalibViewerGUI.cxx:81
 AliTRDCalibViewerGUI.cxx:82
 AliTRDCalibViewerGUI.cxx:83
 AliTRDCalibViewerGUI.cxx:84
 AliTRDCalibViewerGUI.cxx:85
 AliTRDCalibViewerGUI.cxx:86
 AliTRDCalibViewerGUI.cxx:87
 AliTRDCalibViewerGUI.cxx:88
 AliTRDCalibViewerGUI.cxx:89
 AliTRDCalibViewerGUI.cxx:90
 AliTRDCalibViewerGUI.cxx:91
 AliTRDCalibViewerGUI.cxx:92
 AliTRDCalibViewerGUI.cxx:93
 AliTRDCalibViewerGUI.cxx:94
 AliTRDCalibViewerGUI.cxx:95
 AliTRDCalibViewerGUI.cxx:96
 AliTRDCalibViewerGUI.cxx:97
 AliTRDCalibViewerGUI.cxx:98
 AliTRDCalibViewerGUI.cxx:99
 AliTRDCalibViewerGUI.cxx:100
 AliTRDCalibViewerGUI.cxx:101
 AliTRDCalibViewerGUI.cxx:102
 AliTRDCalibViewerGUI.cxx:103
 AliTRDCalibViewerGUI.cxx:104
 AliTRDCalibViewerGUI.cxx:105
 AliTRDCalibViewerGUI.cxx:106
 AliTRDCalibViewerGUI.cxx:107
 AliTRDCalibViewerGUI.cxx:108
 AliTRDCalibViewerGUI.cxx:109
 AliTRDCalibViewerGUI.cxx:110
 AliTRDCalibViewerGUI.cxx:111
 AliTRDCalibViewerGUI.cxx:112
 AliTRDCalibViewerGUI.cxx:113
 AliTRDCalibViewerGUI.cxx:114
 AliTRDCalibViewerGUI.cxx:115
 AliTRDCalibViewerGUI.cxx:116
 AliTRDCalibViewerGUI.cxx:117
 AliTRDCalibViewerGUI.cxx:118
 AliTRDCalibViewerGUI.cxx:119
 AliTRDCalibViewerGUI.cxx:120
 AliTRDCalibViewerGUI.cxx:121
 AliTRDCalibViewerGUI.cxx:122
 AliTRDCalibViewerGUI.cxx:123
 AliTRDCalibViewerGUI.cxx:124
 AliTRDCalibViewerGUI.cxx:125
 AliTRDCalibViewerGUI.cxx:126
 AliTRDCalibViewerGUI.cxx:127
 AliTRDCalibViewerGUI.cxx:128
 AliTRDCalibViewerGUI.cxx:129
 AliTRDCalibViewerGUI.cxx:130
 AliTRDCalibViewerGUI.cxx:131
 AliTRDCalibViewerGUI.cxx:132
 AliTRDCalibViewerGUI.cxx:133
 AliTRDCalibViewerGUI.cxx:134
 AliTRDCalibViewerGUI.cxx:135
 AliTRDCalibViewerGUI.cxx:136
 AliTRDCalibViewerGUI.cxx:137
 AliTRDCalibViewerGUI.cxx:138
 AliTRDCalibViewerGUI.cxx:139
 AliTRDCalibViewerGUI.cxx:140
 AliTRDCalibViewerGUI.cxx:141
 AliTRDCalibViewerGUI.cxx:142
 AliTRDCalibViewerGUI.cxx:143
 AliTRDCalibViewerGUI.cxx:144
 AliTRDCalibViewerGUI.cxx:145
 AliTRDCalibViewerGUI.cxx:146
 AliTRDCalibViewerGUI.cxx:147
 AliTRDCalibViewerGUI.cxx:148
 AliTRDCalibViewerGUI.cxx:149
 AliTRDCalibViewerGUI.cxx:150
 AliTRDCalibViewerGUI.cxx:151
 AliTRDCalibViewerGUI.cxx:152
 AliTRDCalibViewerGUI.cxx:153
 AliTRDCalibViewerGUI.cxx:154
 AliTRDCalibViewerGUI.cxx:155
 AliTRDCalibViewerGUI.cxx:156
 AliTRDCalibViewerGUI.cxx:157
 AliTRDCalibViewerGUI.cxx:158
 AliTRDCalibViewerGUI.cxx:159
 AliTRDCalibViewerGUI.cxx:160
 AliTRDCalibViewerGUI.cxx:161
 AliTRDCalibViewerGUI.cxx:162
 AliTRDCalibViewerGUI.cxx:163
 AliTRDCalibViewerGUI.cxx:164
 AliTRDCalibViewerGUI.cxx:165
 AliTRDCalibViewerGUI.cxx:166
 AliTRDCalibViewerGUI.cxx:167
 AliTRDCalibViewerGUI.cxx:168
 AliTRDCalibViewerGUI.cxx:169
 AliTRDCalibViewerGUI.cxx:170
 AliTRDCalibViewerGUI.cxx:171
 AliTRDCalibViewerGUI.cxx:172
 AliTRDCalibViewerGUI.cxx:173
 AliTRDCalibViewerGUI.cxx:174
 AliTRDCalibViewerGUI.cxx:175
 AliTRDCalibViewerGUI.cxx:176
 AliTRDCalibViewerGUI.cxx:177
 AliTRDCalibViewerGUI.cxx:178
 AliTRDCalibViewerGUI.cxx:179
 AliTRDCalibViewerGUI.cxx:180
 AliTRDCalibViewerGUI.cxx:181
 AliTRDCalibViewerGUI.cxx:182
 AliTRDCalibViewerGUI.cxx:183
 AliTRDCalibViewerGUI.cxx:184
 AliTRDCalibViewerGUI.cxx:185
 AliTRDCalibViewerGUI.cxx:186
 AliTRDCalibViewerGUI.cxx:187
 AliTRDCalibViewerGUI.cxx:188
 AliTRDCalibViewerGUI.cxx:189
 AliTRDCalibViewerGUI.cxx:190
 AliTRDCalibViewerGUI.cxx:191
 AliTRDCalibViewerGUI.cxx:192
 AliTRDCalibViewerGUI.cxx:193
 AliTRDCalibViewerGUI.cxx:194
 AliTRDCalibViewerGUI.cxx:195
 AliTRDCalibViewerGUI.cxx:196
 AliTRDCalibViewerGUI.cxx:197
 AliTRDCalibViewerGUI.cxx:198
 AliTRDCalibViewerGUI.cxx:199
 AliTRDCalibViewerGUI.cxx:200
 AliTRDCalibViewerGUI.cxx:201
 AliTRDCalibViewerGUI.cxx:202
 AliTRDCalibViewerGUI.cxx:203
 AliTRDCalibViewerGUI.cxx:204
 AliTRDCalibViewerGUI.cxx:205
 AliTRDCalibViewerGUI.cxx:206
 AliTRDCalibViewerGUI.cxx:207
 AliTRDCalibViewerGUI.cxx:208
 AliTRDCalibViewerGUI.cxx:209
 AliTRDCalibViewerGUI.cxx:210
 AliTRDCalibViewerGUI.cxx:211
 AliTRDCalibViewerGUI.cxx:212
 AliTRDCalibViewerGUI.cxx:213
 AliTRDCalibViewerGUI.cxx:214
 AliTRDCalibViewerGUI.cxx:215
 AliTRDCalibViewerGUI.cxx:216
 AliTRDCalibViewerGUI.cxx:217
 AliTRDCalibViewerGUI.cxx:218
 AliTRDCalibViewerGUI.cxx:219
 AliTRDCalibViewerGUI.cxx:220
 AliTRDCalibViewerGUI.cxx:221
 AliTRDCalibViewerGUI.cxx:222
 AliTRDCalibViewerGUI.cxx:223
 AliTRDCalibViewerGUI.cxx:224
 AliTRDCalibViewerGUI.cxx:225
 AliTRDCalibViewerGUI.cxx:226
 AliTRDCalibViewerGUI.cxx:227
 AliTRDCalibViewerGUI.cxx:228
 AliTRDCalibViewerGUI.cxx:229
 AliTRDCalibViewerGUI.cxx:230
 AliTRDCalibViewerGUI.cxx:231
 AliTRDCalibViewerGUI.cxx:232
 AliTRDCalibViewerGUI.cxx:233
 AliTRDCalibViewerGUI.cxx:234
 AliTRDCalibViewerGUI.cxx:235
 AliTRDCalibViewerGUI.cxx:236
 AliTRDCalibViewerGUI.cxx:237
 AliTRDCalibViewerGUI.cxx:238
 AliTRDCalibViewerGUI.cxx:239
 AliTRDCalibViewerGUI.cxx:240
 AliTRDCalibViewerGUI.cxx:241
 AliTRDCalibViewerGUI.cxx:242
 AliTRDCalibViewerGUI.cxx:243
 AliTRDCalibViewerGUI.cxx:244
 AliTRDCalibViewerGUI.cxx:245
 AliTRDCalibViewerGUI.cxx:246
 AliTRDCalibViewerGUI.cxx:247
 AliTRDCalibViewerGUI.cxx:248
 AliTRDCalibViewerGUI.cxx:249
 AliTRDCalibViewerGUI.cxx:250
 AliTRDCalibViewerGUI.cxx:251
 AliTRDCalibViewerGUI.cxx:252
 AliTRDCalibViewerGUI.cxx:253
 AliTRDCalibViewerGUI.cxx:254
 AliTRDCalibViewerGUI.cxx:255
 AliTRDCalibViewerGUI.cxx:256
 AliTRDCalibViewerGUI.cxx:257
 AliTRDCalibViewerGUI.cxx:258
 AliTRDCalibViewerGUI.cxx:259
 AliTRDCalibViewerGUI.cxx:260
 AliTRDCalibViewerGUI.cxx:261
 AliTRDCalibViewerGUI.cxx:262
 AliTRDCalibViewerGUI.cxx:263
 AliTRDCalibViewerGUI.cxx:264
 AliTRDCalibViewerGUI.cxx:265
 AliTRDCalibViewerGUI.cxx:266
 AliTRDCalibViewerGUI.cxx:267
 AliTRDCalibViewerGUI.cxx:268
 AliTRDCalibViewerGUI.cxx:269
 AliTRDCalibViewerGUI.cxx:270
 AliTRDCalibViewerGUI.cxx:271
 AliTRDCalibViewerGUI.cxx:272
 AliTRDCalibViewerGUI.cxx:273
 AliTRDCalibViewerGUI.cxx:274
 AliTRDCalibViewerGUI.cxx:275
 AliTRDCalibViewerGUI.cxx:276
 AliTRDCalibViewerGUI.cxx:277
 AliTRDCalibViewerGUI.cxx:278
 AliTRDCalibViewerGUI.cxx:279
 AliTRDCalibViewerGUI.cxx:280
 AliTRDCalibViewerGUI.cxx:281
 AliTRDCalibViewerGUI.cxx:282
 AliTRDCalibViewerGUI.cxx:283
 AliTRDCalibViewerGUI.cxx:284
 AliTRDCalibViewerGUI.cxx:285
 AliTRDCalibViewerGUI.cxx:286
 AliTRDCalibViewerGUI.cxx:287
 AliTRDCalibViewerGUI.cxx:288
 AliTRDCalibViewerGUI.cxx:289
 AliTRDCalibViewerGUI.cxx:290
 AliTRDCalibViewerGUI.cxx:291
 AliTRDCalibViewerGUI.cxx:292
 AliTRDCalibViewerGUI.cxx:293
 AliTRDCalibViewerGUI.cxx:294
 AliTRDCalibViewerGUI.cxx:295
 AliTRDCalibViewerGUI.cxx:296
 AliTRDCalibViewerGUI.cxx:297
 AliTRDCalibViewerGUI.cxx:298
 AliTRDCalibViewerGUI.cxx:299
 AliTRDCalibViewerGUI.cxx:300
 AliTRDCalibViewerGUI.cxx:301
 AliTRDCalibViewerGUI.cxx:302
 AliTRDCalibViewerGUI.cxx:303
 AliTRDCalibViewerGUI.cxx:304
 AliTRDCalibViewerGUI.cxx:305
 AliTRDCalibViewerGUI.cxx:306
 AliTRDCalibViewerGUI.cxx:307
 AliTRDCalibViewerGUI.cxx:308
 AliTRDCalibViewerGUI.cxx:309
 AliTRDCalibViewerGUI.cxx:310
 AliTRDCalibViewerGUI.cxx:311
 AliTRDCalibViewerGUI.cxx:312
 AliTRDCalibViewerGUI.cxx:313
 AliTRDCalibViewerGUI.cxx:314
 AliTRDCalibViewerGUI.cxx:315
 AliTRDCalibViewerGUI.cxx:316
 AliTRDCalibViewerGUI.cxx:317
 AliTRDCalibViewerGUI.cxx:318
 AliTRDCalibViewerGUI.cxx:319
 AliTRDCalibViewerGUI.cxx:320
 AliTRDCalibViewerGUI.cxx:321
 AliTRDCalibViewerGUI.cxx:322
 AliTRDCalibViewerGUI.cxx:323
 AliTRDCalibViewerGUI.cxx:324
 AliTRDCalibViewerGUI.cxx:325
 AliTRDCalibViewerGUI.cxx:326
 AliTRDCalibViewerGUI.cxx:327
 AliTRDCalibViewerGUI.cxx:328
 AliTRDCalibViewerGUI.cxx:329
 AliTRDCalibViewerGUI.cxx:330
 AliTRDCalibViewerGUI.cxx:331
 AliTRDCalibViewerGUI.cxx:332
 AliTRDCalibViewerGUI.cxx:333
 AliTRDCalibViewerGUI.cxx:334
 AliTRDCalibViewerGUI.cxx:335
 AliTRDCalibViewerGUI.cxx:336
 AliTRDCalibViewerGUI.cxx:337
 AliTRDCalibViewerGUI.cxx:338
 AliTRDCalibViewerGUI.cxx:339
 AliTRDCalibViewerGUI.cxx:340
 AliTRDCalibViewerGUI.cxx:341
 AliTRDCalibViewerGUI.cxx:342
 AliTRDCalibViewerGUI.cxx:343
 AliTRDCalibViewerGUI.cxx:344
 AliTRDCalibViewerGUI.cxx:345
 AliTRDCalibViewerGUI.cxx:346
 AliTRDCalibViewerGUI.cxx:347
 AliTRDCalibViewerGUI.cxx:348
 AliTRDCalibViewerGUI.cxx:349
 AliTRDCalibViewerGUI.cxx:350
 AliTRDCalibViewerGUI.cxx:351
 AliTRDCalibViewerGUI.cxx:352
 AliTRDCalibViewerGUI.cxx:353
 AliTRDCalibViewerGUI.cxx:354
 AliTRDCalibViewerGUI.cxx:355
 AliTRDCalibViewerGUI.cxx:356
 AliTRDCalibViewerGUI.cxx:357
 AliTRDCalibViewerGUI.cxx:358
 AliTRDCalibViewerGUI.cxx:359
 AliTRDCalibViewerGUI.cxx:360
 AliTRDCalibViewerGUI.cxx:361
 AliTRDCalibViewerGUI.cxx:362
 AliTRDCalibViewerGUI.cxx:363
 AliTRDCalibViewerGUI.cxx:364
 AliTRDCalibViewerGUI.cxx:365
 AliTRDCalibViewerGUI.cxx:366
 AliTRDCalibViewerGUI.cxx:367
 AliTRDCalibViewerGUI.cxx:368
 AliTRDCalibViewerGUI.cxx:369
 AliTRDCalibViewerGUI.cxx:370
 AliTRDCalibViewerGUI.cxx:371
 AliTRDCalibViewerGUI.cxx:372
 AliTRDCalibViewerGUI.cxx:373
 AliTRDCalibViewerGUI.cxx:374
 AliTRDCalibViewerGUI.cxx:375
 AliTRDCalibViewerGUI.cxx:376
 AliTRDCalibViewerGUI.cxx:377
 AliTRDCalibViewerGUI.cxx:378
 AliTRDCalibViewerGUI.cxx:379
 AliTRDCalibViewerGUI.cxx:380
 AliTRDCalibViewerGUI.cxx:381
 AliTRDCalibViewerGUI.cxx:382
 AliTRDCalibViewerGUI.cxx:383
 AliTRDCalibViewerGUI.cxx:384
 AliTRDCalibViewerGUI.cxx:385
 AliTRDCalibViewerGUI.cxx:386
 AliTRDCalibViewerGUI.cxx:387
 AliTRDCalibViewerGUI.cxx:388
 AliTRDCalibViewerGUI.cxx:389
 AliTRDCalibViewerGUI.cxx:390
 AliTRDCalibViewerGUI.cxx:391
 AliTRDCalibViewerGUI.cxx:392
 AliTRDCalibViewerGUI.cxx:393
 AliTRDCalibViewerGUI.cxx:394
 AliTRDCalibViewerGUI.cxx:395
 AliTRDCalibViewerGUI.cxx:396
 AliTRDCalibViewerGUI.cxx:397
 AliTRDCalibViewerGUI.cxx:398
 AliTRDCalibViewerGUI.cxx:399
 AliTRDCalibViewerGUI.cxx:400
 AliTRDCalibViewerGUI.cxx:401
 AliTRDCalibViewerGUI.cxx:402
 AliTRDCalibViewerGUI.cxx:403
 AliTRDCalibViewerGUI.cxx:404
 AliTRDCalibViewerGUI.cxx:405
 AliTRDCalibViewerGUI.cxx:406
 AliTRDCalibViewerGUI.cxx:407
 AliTRDCalibViewerGUI.cxx:408
 AliTRDCalibViewerGUI.cxx:409
 AliTRDCalibViewerGUI.cxx:410
 AliTRDCalibViewerGUI.cxx:411
 AliTRDCalibViewerGUI.cxx:412
 AliTRDCalibViewerGUI.cxx:413
 AliTRDCalibViewerGUI.cxx:414
 AliTRDCalibViewerGUI.cxx:415
 AliTRDCalibViewerGUI.cxx:416
 AliTRDCalibViewerGUI.cxx:417
 AliTRDCalibViewerGUI.cxx:418
 AliTRDCalibViewerGUI.cxx:419
 AliTRDCalibViewerGUI.cxx:420
 AliTRDCalibViewerGUI.cxx:421
 AliTRDCalibViewerGUI.cxx:422
 AliTRDCalibViewerGUI.cxx:423
 AliTRDCalibViewerGUI.cxx:424
 AliTRDCalibViewerGUI.cxx:425
 AliTRDCalibViewerGUI.cxx:426
 AliTRDCalibViewerGUI.cxx:427
 AliTRDCalibViewerGUI.cxx:428
 AliTRDCalibViewerGUI.cxx:429
 AliTRDCalibViewerGUI.cxx:430
 AliTRDCalibViewerGUI.cxx:431
 AliTRDCalibViewerGUI.cxx:432
 AliTRDCalibViewerGUI.cxx:433
 AliTRDCalibViewerGUI.cxx:434
 AliTRDCalibViewerGUI.cxx:435
 AliTRDCalibViewerGUI.cxx:436
 AliTRDCalibViewerGUI.cxx:437
 AliTRDCalibViewerGUI.cxx:438
 AliTRDCalibViewerGUI.cxx:439
 AliTRDCalibViewerGUI.cxx:440
 AliTRDCalibViewerGUI.cxx:441
 AliTRDCalibViewerGUI.cxx:442
 AliTRDCalibViewerGUI.cxx:443
 AliTRDCalibViewerGUI.cxx:444
 AliTRDCalibViewerGUI.cxx:445
 AliTRDCalibViewerGUI.cxx:446
 AliTRDCalibViewerGUI.cxx:447
 AliTRDCalibViewerGUI.cxx:448
 AliTRDCalibViewerGUI.cxx:449
 AliTRDCalibViewerGUI.cxx:450
 AliTRDCalibViewerGUI.cxx:451
 AliTRDCalibViewerGUI.cxx:452
 AliTRDCalibViewerGUI.cxx:453
 AliTRDCalibViewerGUI.cxx:454
 AliTRDCalibViewerGUI.cxx:455
 AliTRDCalibViewerGUI.cxx:456
 AliTRDCalibViewerGUI.cxx:457
 AliTRDCalibViewerGUI.cxx:458
 AliTRDCalibViewerGUI.cxx:459
 AliTRDCalibViewerGUI.cxx:460
 AliTRDCalibViewerGUI.cxx:461
 AliTRDCalibViewerGUI.cxx:462
 AliTRDCalibViewerGUI.cxx:463
 AliTRDCalibViewerGUI.cxx:464
 AliTRDCalibViewerGUI.cxx:465
 AliTRDCalibViewerGUI.cxx:466
 AliTRDCalibViewerGUI.cxx:467
 AliTRDCalibViewerGUI.cxx:468
 AliTRDCalibViewerGUI.cxx:469
 AliTRDCalibViewerGUI.cxx:470
 AliTRDCalibViewerGUI.cxx:471
 AliTRDCalibViewerGUI.cxx:472
 AliTRDCalibViewerGUI.cxx:473
 AliTRDCalibViewerGUI.cxx:474
 AliTRDCalibViewerGUI.cxx:475
 AliTRDCalibViewerGUI.cxx:476
 AliTRDCalibViewerGUI.cxx:477
 AliTRDCalibViewerGUI.cxx:478
 AliTRDCalibViewerGUI.cxx:479
 AliTRDCalibViewerGUI.cxx:480
 AliTRDCalibViewerGUI.cxx:481
 AliTRDCalibViewerGUI.cxx:482
 AliTRDCalibViewerGUI.cxx:483
 AliTRDCalibViewerGUI.cxx:484
 AliTRDCalibViewerGUI.cxx:485
 AliTRDCalibViewerGUI.cxx:486
 AliTRDCalibViewerGUI.cxx:487
 AliTRDCalibViewerGUI.cxx:488
 AliTRDCalibViewerGUI.cxx:489
 AliTRDCalibViewerGUI.cxx:490
 AliTRDCalibViewerGUI.cxx:491
 AliTRDCalibViewerGUI.cxx:492
 AliTRDCalibViewerGUI.cxx:493
 AliTRDCalibViewerGUI.cxx:494
 AliTRDCalibViewerGUI.cxx:495
 AliTRDCalibViewerGUI.cxx:496
 AliTRDCalibViewerGUI.cxx:497
 AliTRDCalibViewerGUI.cxx:498
 AliTRDCalibViewerGUI.cxx:499
 AliTRDCalibViewerGUI.cxx:500
 AliTRDCalibViewerGUI.cxx:501
 AliTRDCalibViewerGUI.cxx:502
 AliTRDCalibViewerGUI.cxx:503
 AliTRDCalibViewerGUI.cxx:504
 AliTRDCalibViewerGUI.cxx:505
 AliTRDCalibViewerGUI.cxx:506
 AliTRDCalibViewerGUI.cxx:507
 AliTRDCalibViewerGUI.cxx:508
 AliTRDCalibViewerGUI.cxx:509
 AliTRDCalibViewerGUI.cxx:510
 AliTRDCalibViewerGUI.cxx:511
 AliTRDCalibViewerGUI.cxx:512
 AliTRDCalibViewerGUI.cxx:513
 AliTRDCalibViewerGUI.cxx:514
 AliTRDCalibViewerGUI.cxx:515
 AliTRDCalibViewerGUI.cxx:516
 AliTRDCalibViewerGUI.cxx:517
 AliTRDCalibViewerGUI.cxx:518
 AliTRDCalibViewerGUI.cxx:519
 AliTRDCalibViewerGUI.cxx:520
 AliTRDCalibViewerGUI.cxx:521
 AliTRDCalibViewerGUI.cxx:522
 AliTRDCalibViewerGUI.cxx:523
 AliTRDCalibViewerGUI.cxx:524
 AliTRDCalibViewerGUI.cxx:525
 AliTRDCalibViewerGUI.cxx:526
 AliTRDCalibViewerGUI.cxx:527
 AliTRDCalibViewerGUI.cxx:528
 AliTRDCalibViewerGUI.cxx:529
 AliTRDCalibViewerGUI.cxx:530
 AliTRDCalibViewerGUI.cxx:531
 AliTRDCalibViewerGUI.cxx:532
 AliTRDCalibViewerGUI.cxx:533
 AliTRDCalibViewerGUI.cxx:534
 AliTRDCalibViewerGUI.cxx:535
 AliTRDCalibViewerGUI.cxx:536
 AliTRDCalibViewerGUI.cxx:537
 AliTRDCalibViewerGUI.cxx:538
 AliTRDCalibViewerGUI.cxx:539
 AliTRDCalibViewerGUI.cxx:540
 AliTRDCalibViewerGUI.cxx:541
 AliTRDCalibViewerGUI.cxx:542
 AliTRDCalibViewerGUI.cxx:543
 AliTRDCalibViewerGUI.cxx:544
 AliTRDCalibViewerGUI.cxx:545
 AliTRDCalibViewerGUI.cxx:546
 AliTRDCalibViewerGUI.cxx:547
 AliTRDCalibViewerGUI.cxx:548
 AliTRDCalibViewerGUI.cxx:549
 AliTRDCalibViewerGUI.cxx:550
 AliTRDCalibViewerGUI.cxx:551
 AliTRDCalibViewerGUI.cxx:552
 AliTRDCalibViewerGUI.cxx:553
 AliTRDCalibViewerGUI.cxx:554
 AliTRDCalibViewerGUI.cxx:555
 AliTRDCalibViewerGUI.cxx:556
 AliTRDCalibViewerGUI.cxx:557
 AliTRDCalibViewerGUI.cxx:558
 AliTRDCalibViewerGUI.cxx:559
 AliTRDCalibViewerGUI.cxx:560
 AliTRDCalibViewerGUI.cxx:561
 AliTRDCalibViewerGUI.cxx:562
 AliTRDCalibViewerGUI.cxx:563
 AliTRDCalibViewerGUI.cxx:564
 AliTRDCalibViewerGUI.cxx:565
 AliTRDCalibViewerGUI.cxx:566
 AliTRDCalibViewerGUI.cxx:567
 AliTRDCalibViewerGUI.cxx:568
 AliTRDCalibViewerGUI.cxx:569
 AliTRDCalibViewerGUI.cxx:570
 AliTRDCalibViewerGUI.cxx:571
 AliTRDCalibViewerGUI.cxx:572
 AliTRDCalibViewerGUI.cxx:573
 AliTRDCalibViewerGUI.cxx:574
 AliTRDCalibViewerGUI.cxx:575
 AliTRDCalibViewerGUI.cxx:576
 AliTRDCalibViewerGUI.cxx:577
 AliTRDCalibViewerGUI.cxx:578
 AliTRDCalibViewerGUI.cxx:579
 AliTRDCalibViewerGUI.cxx:580
 AliTRDCalibViewerGUI.cxx:581
 AliTRDCalibViewerGUI.cxx:582
 AliTRDCalibViewerGUI.cxx:583
 AliTRDCalibViewerGUI.cxx:584
 AliTRDCalibViewerGUI.cxx:585
 AliTRDCalibViewerGUI.cxx:586
 AliTRDCalibViewerGUI.cxx:587
 AliTRDCalibViewerGUI.cxx:588
 AliTRDCalibViewerGUI.cxx:589
 AliTRDCalibViewerGUI.cxx:590
 AliTRDCalibViewerGUI.cxx:591
 AliTRDCalibViewerGUI.cxx:592
 AliTRDCalibViewerGUI.cxx:593
 AliTRDCalibViewerGUI.cxx:594
 AliTRDCalibViewerGUI.cxx:595
 AliTRDCalibViewerGUI.cxx:596
 AliTRDCalibViewerGUI.cxx:597
 AliTRDCalibViewerGUI.cxx:598
 AliTRDCalibViewerGUI.cxx:599
 AliTRDCalibViewerGUI.cxx:600
 AliTRDCalibViewerGUI.cxx:601
 AliTRDCalibViewerGUI.cxx:602
 AliTRDCalibViewerGUI.cxx:603
 AliTRDCalibViewerGUI.cxx:604
 AliTRDCalibViewerGUI.cxx:605
 AliTRDCalibViewerGUI.cxx:606
 AliTRDCalibViewerGUI.cxx:607
 AliTRDCalibViewerGUI.cxx:608
 AliTRDCalibViewerGUI.cxx:609
 AliTRDCalibViewerGUI.cxx:610
 AliTRDCalibViewerGUI.cxx:611
 AliTRDCalibViewerGUI.cxx:612
 AliTRDCalibViewerGUI.cxx:613
 AliTRDCalibViewerGUI.cxx:614
 AliTRDCalibViewerGUI.cxx:615
 AliTRDCalibViewerGUI.cxx:616
 AliTRDCalibViewerGUI.cxx:617
 AliTRDCalibViewerGUI.cxx:618
 AliTRDCalibViewerGUI.cxx:619
 AliTRDCalibViewerGUI.cxx:620
 AliTRDCalibViewerGUI.cxx:621
 AliTRDCalibViewerGUI.cxx:622
 AliTRDCalibViewerGUI.cxx:623
 AliTRDCalibViewerGUI.cxx:624
 AliTRDCalibViewerGUI.cxx:625
 AliTRDCalibViewerGUI.cxx:626
 AliTRDCalibViewerGUI.cxx:627
 AliTRDCalibViewerGUI.cxx:628
 AliTRDCalibViewerGUI.cxx:629
 AliTRDCalibViewerGUI.cxx:630
 AliTRDCalibViewerGUI.cxx:631
 AliTRDCalibViewerGUI.cxx:632
 AliTRDCalibViewerGUI.cxx:633
 AliTRDCalibViewerGUI.cxx:634
 AliTRDCalibViewerGUI.cxx:635
 AliTRDCalibViewerGUI.cxx:636
 AliTRDCalibViewerGUI.cxx:637
 AliTRDCalibViewerGUI.cxx:638
 AliTRDCalibViewerGUI.cxx:639
 AliTRDCalibViewerGUI.cxx:640
 AliTRDCalibViewerGUI.cxx:641
 AliTRDCalibViewerGUI.cxx:642
 AliTRDCalibViewerGUI.cxx:643
 AliTRDCalibViewerGUI.cxx:644
 AliTRDCalibViewerGUI.cxx:645
 AliTRDCalibViewerGUI.cxx:646
 AliTRDCalibViewerGUI.cxx:647
 AliTRDCalibViewerGUI.cxx:648
 AliTRDCalibViewerGUI.cxx:649
 AliTRDCalibViewerGUI.cxx:650
 AliTRDCalibViewerGUI.cxx:651
 AliTRDCalibViewerGUI.cxx:652
 AliTRDCalibViewerGUI.cxx:653
 AliTRDCalibViewerGUI.cxx:654
 AliTRDCalibViewerGUI.cxx:655
 AliTRDCalibViewerGUI.cxx:656
 AliTRDCalibViewerGUI.cxx:657
 AliTRDCalibViewerGUI.cxx:658
 AliTRDCalibViewerGUI.cxx:659
 AliTRDCalibViewerGUI.cxx:660
 AliTRDCalibViewerGUI.cxx:661
 AliTRDCalibViewerGUI.cxx:662
 AliTRDCalibViewerGUI.cxx:663
 AliTRDCalibViewerGUI.cxx:664
 AliTRDCalibViewerGUI.cxx:665
 AliTRDCalibViewerGUI.cxx:666
 AliTRDCalibViewerGUI.cxx:667
 AliTRDCalibViewerGUI.cxx:668
 AliTRDCalibViewerGUI.cxx:669
 AliTRDCalibViewerGUI.cxx:670
 AliTRDCalibViewerGUI.cxx:671
 AliTRDCalibViewerGUI.cxx:672
 AliTRDCalibViewerGUI.cxx:673
 AliTRDCalibViewerGUI.cxx:674
 AliTRDCalibViewerGUI.cxx:675
 AliTRDCalibViewerGUI.cxx:676
 AliTRDCalibViewerGUI.cxx:677
 AliTRDCalibViewerGUI.cxx:678
 AliTRDCalibViewerGUI.cxx:679
 AliTRDCalibViewerGUI.cxx:680
 AliTRDCalibViewerGUI.cxx:681
 AliTRDCalibViewerGUI.cxx:682
 AliTRDCalibViewerGUI.cxx:683
 AliTRDCalibViewerGUI.cxx:684
 AliTRDCalibViewerGUI.cxx:685
 AliTRDCalibViewerGUI.cxx:686
 AliTRDCalibViewerGUI.cxx:687
 AliTRDCalibViewerGUI.cxx:688
 AliTRDCalibViewerGUI.cxx:689
 AliTRDCalibViewerGUI.cxx:690
 AliTRDCalibViewerGUI.cxx:691
 AliTRDCalibViewerGUI.cxx:692
 AliTRDCalibViewerGUI.cxx:693
 AliTRDCalibViewerGUI.cxx:694
 AliTRDCalibViewerGUI.cxx:695
 AliTRDCalibViewerGUI.cxx:696
 AliTRDCalibViewerGUI.cxx:697
 AliTRDCalibViewerGUI.cxx:698
 AliTRDCalibViewerGUI.cxx:699
 AliTRDCalibViewerGUI.cxx:700
 AliTRDCalibViewerGUI.cxx:701
 AliTRDCalibViewerGUI.cxx:702
 AliTRDCalibViewerGUI.cxx:703
 AliTRDCalibViewerGUI.cxx:704
 AliTRDCalibViewerGUI.cxx:705
 AliTRDCalibViewerGUI.cxx:706
 AliTRDCalibViewerGUI.cxx:707
 AliTRDCalibViewerGUI.cxx:708
 AliTRDCalibViewerGUI.cxx:709
 AliTRDCalibViewerGUI.cxx:710
 AliTRDCalibViewerGUI.cxx:711
 AliTRDCalibViewerGUI.cxx:712
 AliTRDCalibViewerGUI.cxx:713
 AliTRDCalibViewerGUI.cxx:714
 AliTRDCalibViewerGUI.cxx:715
 AliTRDCalibViewerGUI.cxx:716
 AliTRDCalibViewerGUI.cxx:717
 AliTRDCalibViewerGUI.cxx:718
 AliTRDCalibViewerGUI.cxx:719
 AliTRDCalibViewerGUI.cxx:720
 AliTRDCalibViewerGUI.cxx:721
 AliTRDCalibViewerGUI.cxx:722
 AliTRDCalibViewerGUI.cxx:723
 AliTRDCalibViewerGUI.cxx:724
 AliTRDCalibViewerGUI.cxx:725
 AliTRDCalibViewerGUI.cxx:726
 AliTRDCalibViewerGUI.cxx:727
 AliTRDCalibViewerGUI.cxx:728
 AliTRDCalibViewerGUI.cxx:729
 AliTRDCalibViewerGUI.cxx:730
 AliTRDCalibViewerGUI.cxx:731
 AliTRDCalibViewerGUI.cxx:732
 AliTRDCalibViewerGUI.cxx:733
 AliTRDCalibViewerGUI.cxx:734
 AliTRDCalibViewerGUI.cxx:735
 AliTRDCalibViewerGUI.cxx:736
 AliTRDCalibViewerGUI.cxx:737
 AliTRDCalibViewerGUI.cxx:738
 AliTRDCalibViewerGUI.cxx:739
 AliTRDCalibViewerGUI.cxx:740
 AliTRDCalibViewerGUI.cxx:741
 AliTRDCalibViewerGUI.cxx:742
 AliTRDCalibViewerGUI.cxx:743
 AliTRDCalibViewerGUI.cxx:744
 AliTRDCalibViewerGUI.cxx:745
 AliTRDCalibViewerGUI.cxx:746
 AliTRDCalibViewerGUI.cxx:747
 AliTRDCalibViewerGUI.cxx:748
 AliTRDCalibViewerGUI.cxx:749
 AliTRDCalibViewerGUI.cxx:750
 AliTRDCalibViewerGUI.cxx:751
 AliTRDCalibViewerGUI.cxx:752
 AliTRDCalibViewerGUI.cxx:753
 AliTRDCalibViewerGUI.cxx:754
 AliTRDCalibViewerGUI.cxx:755
 AliTRDCalibViewerGUI.cxx:756
 AliTRDCalibViewerGUI.cxx:757
 AliTRDCalibViewerGUI.cxx:758
 AliTRDCalibViewerGUI.cxx:759
 AliTRDCalibViewerGUI.cxx:760
 AliTRDCalibViewerGUI.cxx:761
 AliTRDCalibViewerGUI.cxx:762
 AliTRDCalibViewerGUI.cxx:763
 AliTRDCalibViewerGUI.cxx:764
 AliTRDCalibViewerGUI.cxx:765
 AliTRDCalibViewerGUI.cxx:766
 AliTRDCalibViewerGUI.cxx:767
 AliTRDCalibViewerGUI.cxx:768
 AliTRDCalibViewerGUI.cxx:769
 AliTRDCalibViewerGUI.cxx:770
 AliTRDCalibViewerGUI.cxx:771
 AliTRDCalibViewerGUI.cxx:772
 AliTRDCalibViewerGUI.cxx:773
 AliTRDCalibViewerGUI.cxx:774
 AliTRDCalibViewerGUI.cxx:775
 AliTRDCalibViewerGUI.cxx:776
 AliTRDCalibViewerGUI.cxx:777
 AliTRDCalibViewerGUI.cxx:778
 AliTRDCalibViewerGUI.cxx:779
 AliTRDCalibViewerGUI.cxx:780
 AliTRDCalibViewerGUI.cxx:781
 AliTRDCalibViewerGUI.cxx:782
 AliTRDCalibViewerGUI.cxx:783
 AliTRDCalibViewerGUI.cxx:784
 AliTRDCalibViewerGUI.cxx:785
 AliTRDCalibViewerGUI.cxx:786
 AliTRDCalibViewerGUI.cxx:787
 AliTRDCalibViewerGUI.cxx:788
 AliTRDCalibViewerGUI.cxx:789
 AliTRDCalibViewerGUI.cxx:790
 AliTRDCalibViewerGUI.cxx:791
 AliTRDCalibViewerGUI.cxx:792
 AliTRDCalibViewerGUI.cxx:793
 AliTRDCalibViewerGUI.cxx:794
 AliTRDCalibViewerGUI.cxx:795
 AliTRDCalibViewerGUI.cxx:796
 AliTRDCalibViewerGUI.cxx:797
 AliTRDCalibViewerGUI.cxx:798
 AliTRDCalibViewerGUI.cxx:799
 AliTRDCalibViewerGUI.cxx:800
 AliTRDCalibViewerGUI.cxx:801
 AliTRDCalibViewerGUI.cxx:802
 AliTRDCalibViewerGUI.cxx:803
 AliTRDCalibViewerGUI.cxx:804
 AliTRDCalibViewerGUI.cxx:805
 AliTRDCalibViewerGUI.cxx:806
 AliTRDCalibViewerGUI.cxx:807
 AliTRDCalibViewerGUI.cxx:808
 AliTRDCalibViewerGUI.cxx:809
 AliTRDCalibViewerGUI.cxx:810
 AliTRDCalibViewerGUI.cxx:811
 AliTRDCalibViewerGUI.cxx:812
 AliTRDCalibViewerGUI.cxx:813
 AliTRDCalibViewerGUI.cxx:814
 AliTRDCalibViewerGUI.cxx:815
 AliTRDCalibViewerGUI.cxx:816
 AliTRDCalibViewerGUI.cxx:817
 AliTRDCalibViewerGUI.cxx:818
 AliTRDCalibViewerGUI.cxx:819
 AliTRDCalibViewerGUI.cxx:820
 AliTRDCalibViewerGUI.cxx:821
 AliTRDCalibViewerGUI.cxx:822
 AliTRDCalibViewerGUI.cxx:823