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.                  *
 **************************************************************************/


///////////////////////////////////////////////////////////////////////////////
//                                                                           //
//  GUI for displaying calibration entries over time                         //
//                                                                           //
//  Authors:     Marian Ivanov (Marian.Ivanov@cern.ch)                       //
//               Jens Wiechula (Jens.Wiechula@cern.ch)                       //
//               Ionut Arsene  (iarsene@cern.ch)                             //
//                                                                           //
//  Usage:   AliCalibViewerGUItime::ShowGUI(TChain* chain)                   //
//           AliCalibViewerGUItime::ShowGUI()                                //
///////////////////////////////////////////////////////////////////////////////


#include <iostream>
//Root includes
#include <TROOT.h>
#include <TDirectory.h>
#include <TStyle.h>
#include <TCanvas.h>
#include <TPad.h>
#include <TVirtualPad.h>
#include <TObject.h>
#include <TObjArray.h>
#include <TObjString.h>
#include <TSystem.h>
#include <TVector.h>
#include <TH1.h>
#include <TCut.h>
#include <TFile.h>
#include <TTree.h>
#include <TChain.h>
#include <TBranch.h>
#include <TIterator.h>
#include <TGraph.h>
#include <TAxis.h>
#include <TTimeStamp.h>
#include <TMath.h>
#include <TMap.h>
//
#include <TGFileDialog.h>
#include <TGInputDialog.h>
//
#include <TGButton.h>
#include <TGListBox.h>
#include <TGComboBox.h>
#include <TGNumberEntry.h>
#include <TGLayout.h>
#include <TRootEmbeddedCanvas.h>
#include <TGSplitter.h>
#include <TGButtonGroup.h>
#include <TGLabel.h>
#include <TGTab.h>
#include <TGString.h>

//AliRoot includes
#include <AliLog.h>
#include "AliBaseCalibViewer.h"
#include "AliBaseCalibViewerGUI.h"
#include "AliCalibViewerGUItime.h"


ClassImp(AliCalibViewerGUItime)

//_______________________________________________________________________________________________________________
AliCalibViewerGUItime::AliCalibViewerGUItime(const TGWindow *p, UInt_t w, UInt_t h, const Char_t* det) :
TGCompositeFrame(p,w,h),
  fDetector(det),
  fFile(0x0),
  fTree(0x0),
  fCalibViewerGUI(0x0),
  fCalibViewerGUItab(0x0),
  fCurrentHist(0x0),
  fCurrentGraph(0x0),
  fCurrentRunDetails(-1),
  fOutputCacheDir("/tmp"),
  fDrawString(""),
  fIsCustomDraw(kFALSE),
  fRunNumbers(10),
  fTimeStamps(10),
  fValuesX(10),
  fValuesY(10),
  fNoGraph(kFALSE),
  fGraphLimitEntries(10000),
  fMapRefTrees(new TMap),
  //GUI elements
  //main canvas Top part, bottom part
  fContTopBottom(0x0),
  //top left, centre, right
  fContLCR(0x0),
  //content left
  fContLeft(0x0),
  fContDrawOpt(0x0),
  fChkDrawOptSame(0x0),
  fComboAddDrawOpt(0x0),
  fContDrawSel(0x0),
  fContDrawSelSubRunTime(0x0),
  fRadioXhist(0x0),
  fRadioXrun(0x0),
  fRadioXtime(0x0),
  fListVariables(0x0),
  fComboRunType(0x0),
  fLblRunType(0x0),
  fNmbPar(0x0),
  fLblPar(0x0),
  fListCalibType(0x0),
  fContCalibType(0x0),
  //content centre
  fContCenter(0x0),
  fCanvMain(0x0),
  //content right
  fContRight(0x0),
  fContValues(0x0),
  fLblRunNumber(0x0),
  fLblRunTime(0x0),
  fLblValueX(0x0),
  fLblValueY(0x0),
  fLblRunNumberVal(0x0),
  fLblRunTimeVal(0x0),
  fLblValueXVal(0x0),
  fLblValueYVal(0x0),
  fBtnDumpRuns(0x0),
  fBtnSave(0x0),
  //load a file
  fContLoad(0x0),
  fContFilename(0x0),
  fContConfigFile(0x0),
  fContTreeName(0x0),
  fLblTreeName(0x0),
  fTxtFilename(0x0),
  fTxtConfigFile(0x0),
  fTxtTreeName(0x0),
  fBtnLoadFile(0x0),
  // extract information from OCDB
  //content bottom
  fContCustom(0x0),
  fContCustomCuts(0x0),
  fLblCustomDraw(0x0),
  fLblCustomCuts(0x0),
  fComboCustomDraw(0x0),
  fComboCustomCuts(0x0),
  fTrashBox(new TObjArray)
{
  //
  // ctor
  //
  fDetector.ToUpper();
  fMapRefTrees->SetOwnerKeyValue();
  fTrashBox->SetOwner();
  DrawGUI(p,w,h);
  gStyle->SetMarkerStyle(20);
  gStyle->SetMarkerSize(0.5);
  SetInitialValues();
}

//______________________________________________________________________________
AliCalibViewerGUItime::~AliCalibViewerGUItime(){
  //
  // dtor
  //
  //  delete fConfigParser;
  delete fTrashBox;
  delete fMapRefTrees;
}

//______________________________________________________________________________
void AliCalibViewerGUItime::DrawGUI(const TGWindow */*p*/, UInt_t w, UInt_t h) {
   //
   // draw the GUI
   //
   // ======================================================================
   // ************************* Display everything *************************
   // ======================================================================
  
  SetCleanup(kDeepCleanup);
  
   // *****************************************************************************
   // ************************* content of this MainFrame *************************
   // *****************************************************************************
   // top level container with horizontal layout
  fContTopBottom = new TGCompositeFrame(this, w, h, kVerticalFrame | kFixedWidth | kFixedHeight);
  AddFrame(fContTopBottom, new TGLayoutHints(kLHintsExpandX | kLHintsExpandY, 0, 0, 0, 0));
  
  fContLCR = new TGCompositeFrame(fContTopBottom, w, h, kHorizontalFrame | kFixedWidth | kFixedHeight);
  fContTopBottom->AddFrame(fContLCR, new TGLayoutHints(kLHintsExpandX | kLHintsExpandY, 0, 0, 0, 0));
  
   // ***********************************************************************
   // ************************* content of fContLCR *************************
   // ***********************************************************************
   // left container
  fContLeft = new TGCompositeFrame(fContLCR, 200, 200, kVerticalFrame | kFixedWidth | kFitHeight);
  fContLCR->AddFrame(fContLeft, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsExpandY, 5, 3, 3, 3));
  
   // left vertical splitter
  TGVSplitter *splitLeft = new TGVSplitter(fContLCR);
  splitLeft->SetFrame(fContLeft, kTRUE);
  fContLCR->AddFrame(splitLeft, new TGLayoutHints(kLHintsLeft | kLHintsExpandY, 0, 0, 0, 0));
  
   // right container
  fContRight = new TGCompositeFrame(fContLCR, 200, 200, kVerticalFrame | kFixedWidth | kFitHeight);
  fContLCR->AddFrame(fContRight, new TGLayoutHints(kLHintsTop | kLHintsRight | kLHintsExpandY, 3, 5, 3, 3));
  
   // center container
  fContCenter = new TGCompositeFrame(fContLCR, 200, 200, kVerticalFrame | kFixedWidth | kFitHeight);
  fContLCR->AddFrame(fContCenter, new TGLayoutHints(kLHintsExpandX | kLHintsExpandY, 0, 0, 0, 0));
  
   // right vertical splitter
  TGVSplitter *splitRight = new TGVSplitter(fContLCR);
  splitRight->SetFrame(fContRight, kFALSE);
  fContLCR->AddFrame(splitRight, new TGLayoutHints(kLHintsLeft | kLHintsExpandY, 0, 0, 0, 0));
  
  
   // ========================================================================
   // ************************* content of fContLeft *************************
   // ========================================================================
   // --- draw button and tabLeft ---
  // draw options
  fContDrawOpt = new TGGroupFrame(fContLeft, "Draw options", kVerticalFrame | kFitWidth | kFitHeight);
  fContLeft->AddFrame(fContDrawOpt, new TGLayoutHints(kLHintsExpandX, 0, 0, 10, 0));
  fChkDrawOptSame = new TGCheckButton(fContDrawOpt, "Same");
  fContDrawOpt->AddFrame(fChkDrawOptSame, new TGLayoutHints(kLHintsNormal, 0, 2, 0, 0));
  fChkDrawOptSame->SetToolTipText("Add draw option 'same'");
  // additional draw options combo box
  fComboAddDrawOpt = new TGComboBox(fContDrawOpt);
  fComboAddDrawOpt->Resize(0, 22);
  fComboAddDrawOpt->EnableTextInput(kTRUE);
  fContDrawOpt->AddFrame(fComboAddDrawOpt, new TGLayoutHints(kLHintsNormal | kLHintsExpandX, 0, 0, 0, 0));
    
  // draw selection group
  fContDrawSel = new TGGroupFrame(fContLeft, "Draw selection", kVerticalFrame | kFitWidth | kFitHeight);
  fContLeft->AddFrame(fContDrawSel, new TGLayoutHints(kLHintsExpandX | kLHintsExpandY, 0, 0, 10, 0));
  //x-axis variables selection, Run of Time
  fContDrawSelSubRunTime = new TGCompositeFrame(fContDrawSel, 200, 23, kHorizontalFrame | kFitWidth | kFixedHeight);
  fContDrawSel->AddFrame(fContDrawSelSubRunTime, new TGLayoutHints(kLHintsCenterX | kLHintsExpandX , 0, 0, 0, 0));
  
  // ------------------------- content of fContDrawOpt -------------------------
  // 
  // Run radio button
    // Time radio button
  fRadioXhist = new TGRadioButton(fContDrawSelSubRunTime, "hist", kRadioXhist);
  fContDrawSelSubRunTime->AddFrame(fRadioXhist, new TGLayoutHints(kLHintsNormal, 0, 2, 0, 0));
  fRadioXhist->Connect("Clicked()", "AliCalibViewerGUItime", this, "HandleButtonsDrawSel()");
  fRadioXhist->SetToolTipText("Draw the distribution of the variable");
  
  fRadioXrun = new TGRadioButton(fContDrawSelSubRunTime, ":Run", kRadioXrun);
  fContDrawSelSubRunTime->AddFrame(fRadioXrun, new TGLayoutHints(kLHintsNormal, 2, 2, 0, 0));
  fRadioXrun->Connect("Clicked()", "AliCalibViewerGUItime", this, "HandleButtonsDrawSel()");
  fRadioXrun->SetToolTipText("Use run number as x-value");
  
  // Time radio button
  fRadioXtime = new TGRadioButton(fContDrawSelSubRunTime, ":Time", kRadioXtime);
  fContDrawSelSubRunTime->AddFrame(fRadioXtime, new TGLayoutHints(kLHintsNormal, 2, 2, 0, 0));
  fRadioXtime->Connect("Clicked()", "AliCalibViewerGUItime", this, "HandleButtonsDrawSel()");
  fRadioXtime->SetToolTipText("Use time stamp number as x-value");
  
  
  // list of variables
  fListVariables = new TGListBox(fContDrawSel);
  fContDrawSel->AddFrame(fListVariables, new TGLayoutHints(kLHintsNormal | kLHintsExpandX | kLHintsExpandY, 0, 0, 0, 0));
  fListVariables->Connect("Selected(Int_t)", "AliCalibViewerGUItime", this, "DoNewSelection()");

  
//-------------------- run type selection ------------------------
  // Parameter label
  fLblRunType = new TGLabel(fContDrawSel, "Run Type:");
  fLblRunType->SetTextJustify(kTextLeft);
  fContDrawSel->AddFrame(fLblRunType, new TGLayoutHints(kLHintsNormal | kLHintsExpandX, 0, 0, 0, 0));
  
  fComboRunType = new TGComboBox(fContDrawSel);
  fComboRunType->EnableTextInput(kFALSE);
  fContDrawSel->AddFrame(fComboRunType, new TGLayoutHints(kLHintsNormal | kLHintsExpandX, 0, 0, 0, 0));
  fComboRunType->Connect("Selected(Int_t)", "AliCalibViewerGUItime", this, "DoDraw()");
  fComboRunType->Resize(0, 22);
  
  //-------------------- parameter selection ------------------------
  // Parameter label
  fLblPar = new TGLabel(fContDrawSel, "Parameter:");
  fLblPar->SetTextJustify(kTextLeft);
  fContDrawSel->AddFrame(fLblPar, new TGLayoutHints(kLHintsNormal | kLHintsExpandX, 0, 0, 0, 0));
  
  fNmbPar = new TGNumberEntry(fContDrawSel, 0, 1, -1, TGNumberFormat::kNESInteger, TGNumberFormat::kNEANonNegative, TGNumberFormat::kNELLimitMinMax, 0, 71);
  fContDrawSel->AddFrame(fNmbPar, new TGLayoutHints(kLHintsNormal | kLHintsExpandX, 0, 0, 0, 0));
  fNmbPar->Connect("ValueSet(Long_t)", "AliCalibViewerGUItime", this, "DoParLimitChange()");
  fNmbPar->SetState(kFALSE);
  
  //-------------------- calibration type selection ------------------------
  // label
  // draw selection group
  fContCalibType = new TGGroupFrame(fContLeft, "Calib type selection", kVerticalFrame | kFitWidth | kFitHeight);
  fContLeft->AddFrame(fContCalibType, new TGLayoutHints(kLHintsExpandX , 0, 0, 10, 0));
    
    // list of variables
  fListCalibType = new TGListBox(fContCalibType);
  fContCalibType->AddFrame(fListCalibType, new TGLayoutHints(kLHintsNormal | kLHintsExpandX , 0, 0, 0, 0));
  fListCalibType->Connect("Selected(Int_t)", "AliCalibViewerGUItime", this, "DoChangeSelectionList()");
  fListCalibType->Resize(0,88);
  fListCalibType->SetMultipleSelections();
  
  
     // ==========================================================================
   // ************************* content of fContCenter *************************
   // ========================================================================
   // main drawing canvas
  fCanvMain = new TRootEmbeddedCanvas("GUItime_Canvas", fContCenter, 200, 200, kFitWidth | kFitHeight);
  fContCenter->AddFrame(fCanvMain, new TGLayoutHints(kLHintsExpandX | kLHintsExpandY, 0, 0, 0, 0));
  fCanvMain->GetCanvas()->Connect("ProcessedEvent(Int_t, Int_t, Int_t, TObject*)", "AliCalibViewerGUItime", this, "MouseMove(Int_t, Int_t, Int_t, TObject*)");
  fCanvMain->GetCanvas()->SetToolTipText("The Main_Canvas, here your plots are displayed.");
  fCanvMain->GetCanvas()->SetRightMargin(0.062);
  fCanvMain->GetCanvas()->SetLeftMargin(0.15);
  
   // =========================================================================
   // ************************* content of fContRight *************************
   // ========================================================================
  //group frame for value information
  fContValues = new TGGroupFrame(fContRight, "Data point info", kVerticalFrame | kFitWidth | kFitHeight);
  fContRight->AddFrame(fContValues, new TGLayoutHints(kLHintsExpandX, 0, 0, 0, 0));
  //set layout manager
  fContValues->SetLayoutManager(new TGMatrixLayout(fContValues, 0, 2, 4));
  //value information labels

  //run number label
  fLblRunNumber = new TGLabel(fContValues, "Run:");
  fLblRunNumber->SetTextJustify(kTextLeft);
  fContValues->AddFrame(fLblRunNumber, new TGLayoutHints(kLHintsNormal, 0, 0, 0, 0));
  //run number
  fLblRunNumberVal = new TGLabel(fContValues, "0000000");
  fLblRunNumberVal->SetTextJustify(kTextLeft);
  fContValues->AddFrame(fLblRunNumberVal, new TGLayoutHints(kLHintsLeft | kLHintsExpandX, 0, 0, 0, 0));
  //time stamp label
  fLblRunTime = new TGLabel(fContValues, "Time:");
  fLblRunTime->SetTextJustify(kTextLeft);
  fContValues->AddFrame(fLblRunTime, new TGLayoutHints(kLHintsNormal, 0, 0, 0, 0));
  //run number
  fLblRunTimeVal = new TGLabel(fContValues, "00.00.0000\n00:00:00");
  fLblRunTimeVal->SetTextJustify(kTextLeft);
  fContValues->AddFrame(fLblRunTimeVal, new TGLayoutHints(kLHintsLeft | kLHintsExpandX, 0, 0, 0, 0));
  //value label x
  fLblValueX = new TGLabel(fContValues, "x-Value:");
  fLblValueX->SetTextJustify(kTextLeft);
  fContValues->AddFrame(fLblValueX, new TGLayoutHints(kLHintsNormal, 0, 0, 0, 0));
  //value x
  fLblValueXVal = new TGLabel(fContValues, "00.000e+00");
  fLblValueXVal->SetTextJustify(kTextRight);
  fContValues->AddFrame(fLblValueXVal, new TGLayoutHints(kLHintsNormal | kLHintsExpandX, 0, 0, 0, 0));
  //value label y
  fLblValueY = new TGLabel(fContValues, "y-Value:");
  fLblValueY->SetTextJustify(kTextLeft);
  fContValues->AddFrame(fLblValueY, new TGLayoutHints(kLHintsNormal, 0, 0, 0, 0));
  //value y
  fLblValueYVal = new TGLabel(fContValues, "00.000e+00");
  fLblValueYVal->SetTextJustify(kTextRight);
  fContValues->AddFrame(fLblValueYVal, new TGLayoutHints(kLHintsNormal | kLHintsExpandX, 0, 0, 0, 0));
   // draw button
  fBtnDumpRuns = new TGTextButton(fContRight, "&Dump runs");
  fContRight->AddFrame(fBtnDumpRuns, new TGLayoutHints(kLHintsExpandX, 0, 0, 10, 0));
  fBtnDumpRuns->Connect("Clicked()", "AliCalibViewerGUItime", this, "DoDumpRuns()");
  fBtnDumpRuns->SetToolTipText("Press to dump the run numbers of the current selection.");
  // save button
  fBtnSave = new TGTextButton(fContRight, "&Save picture");
  fContRight->AddFrame(fBtnSave, new TGLayoutHints(kLHintsExpandX, 0, 0, 10, 0));
  fBtnSave->SetToolTipText("Press to save the current picture in the canvas");
  fBtnSave->Connect("Clicked()", "AliCalibViewerGUItime", this, "SavePicture()");

  //group frame for loading a file
  fContLoad = new TGGroupFrame(fContRight, "Load file", kVerticalFrame | kFitWidth | kFitHeight);
  fContRight->AddFrame(fContLoad, new TGLayoutHints(kLHintsExpandX, 0, 0, 10, 0));

    fContFilename = new TGCompositeFrame(fContLoad, 200, 200, kHorizontalFrame | kFitWidth | kFitHeight);
    fContLoad->AddFrame(fContFilename, new TGLayoutHints(kLHintsExpandX, 0, 0, 2, 0));

      fTxtFilename = new TGTextEntry(fContFilename, "Input file", 100);
      fContFilename->AddFrame(fTxtFilename, new TGLayoutHints(kLHintsNormal | kLHintsExpandX, 0, 0, 0, 0));
      fTxtFilename->Connect("DoubleClicked()", "AliCalibViewerGUItime", this, "HandleLoadRunTextEntry()");
     
    fContTreeName = new TGCompositeFrame(fContLoad, 200, 200, kHorizontalFrame | kFitWidth | kFitHeight);
    fContLoad->AddFrame(fContTreeName, new TGLayoutHints(kLHintsExpandX, 0, 0, 2, 0));

      fLblTreeName = new TGLabel(fContTreeName, "Tree Name:");
      fLblTreeName->SetTextJustify(kTextLeft);
      fContTreeName->AddFrame(fLblTreeName, new TGLayoutHints(kLHintsNormal | kLHintsCenterY, 0, 1, 0, 0));

      fTxtTreeName = new TGTextEntry(fContTreeName, "trdTree");
      if(fDetector.Contains("TPC")) fTxtTreeName->SetText("dcs");
      fContTreeName->AddFrame(fTxtTreeName, new TGLayoutHints(kLHintsNormal | kLHintsExpandX, 0, 0, 0, 0));

    fBtnLoadFile = new TGTextButton(fContLoad, "Load file", 100);
    fContLoad->AddFrame(fBtnLoadFile, new TGLayoutHints(kLHintsExpandX, 0, 0, 0, 0));
    fBtnLoadFile->SetToolTipText("Load a file into viewer");
    fBtnLoadFile->Connect("Clicked()", "AliCalibViewerGUItime", this, "HandleLoadRunButtons()");

   // =========================================================================
   // ****************** bottom content of fContTopBottom *********************
   // =========================================================================
  
  // custom options container
  // --- fComboCustom --- the custom draw line on the very low
  fContCustom = new TGCompositeFrame(fContTopBottom, 200, 200, kHorizontalFrame | kFitWidth | kFitHeight);
  fContTopBottom->AddFrame(fContCustom, new TGLayoutHints(kLHintsExpandX, 10, 0, 0, 0));

         // ------------------------- content of fContCustom -------------------------
  fLblCustomDraw = new TGLabel(fContCustom, "Custom draw: ");
  fLblCustomDraw->SetTextJustify(kTextLeft);
  fContCustom->AddFrame(fLblCustomDraw, new TGLayoutHints(kLHintsNormal, 5, 0, 0, 0));
         // text field for custom draw command
  fComboCustomDraw = new TGComboBox(fContCustom);
  fComboCustomDraw->Resize(0, 22);
  fComboCustomDraw->EnableTextInput(kTRUE);
  fContCustom->AddFrame(fComboCustomDraw, new TGLayoutHints(kLHintsNormal | kLHintsExpandX, 0, 0, 0, 0));
  fComboCustomDraw->Connect("ReturnPressed()", "AliCalibViewerGUItime", this, "DoCustomDraw()");
  fComboCustomDraw->Connect("Selected(Int_t)", "AliCalibViewerGUItime", this, "DoCustomDraw()");
  
  
      // additional cuts container
  fContCustomCuts = new TGCompositeFrame(fContTopBottom, 200, 200, kHorizontalFrame | kFitWidth | kFitHeight);
  fContTopBottom->AddFrame(fContCustomCuts, new TGLayoutHints(kLHintsExpandX, 10, 0, 0, 0));
  
         // ------------------------- content of fContCustomCuts -------------------------
  fLblCustomCuts = new TGLabel(fContCustomCuts, "Custom cuts:  ");
  fLblCustomCuts->SetTextJustify(kTextLeft);
  fContCustomCuts->AddFrame(fLblCustomCuts, new TGLayoutHints(kLHintsNormal, 5, 0, 0, 0));
         // combo text field for additional cuts
  fComboCustomCuts = new TGComboBox(fContCustomCuts);
//   fComboCustomCuts->Resize(0, fLblValueY->GetDefaultHeight());
  fComboCustomCuts->Resize(0, 22);
  fComboCustomCuts->EnableTextInput(kTRUE);
  fContCustomCuts->AddFrame(fComboCustomCuts, new TGLayoutHints(kLHintsNormal | kLHintsExpandX, 0, 0, 0, 0));
  fComboCustomCuts->Connect("ReturnPressed()", "AliCalibViewerGUItime", this, "DoCustomCutsDraw()");
  fComboCustomCuts->Connect("Selected(Int_t)", "AliCalibViewerGUItime", this, "DoCustomCutsDraw()");

  if(fDetector.Contains("TPC")) SetWindowName("AliTPCCalibViewer GUI - Time");
  else if (fDetector.Contains("TRD")) SetWindowName("AliTRDCalibViewer GUI - Time");
  else SetWindowName("Unknown detector");
  MapSubwindows();
  Resize(GetDefaultSize());
  MapWindow();
}

//______________________________________________________________________________
void AliCalibViewerGUItime::SetInitialValues(){
  //
  // Set inital selections of the gui
  //
  fRadioXrun->SetState(kButtonDown);
  fRadioXtime->SetState(kButtonUp);
}

//______________________________________________________________________________
void AliCalibViewerGUItime::UseFile(const char* fileName, const char* treeName) {
  //
  // retrieve tree from file
  //
  TString s(fileName);
  TObjArray *arr=s.Tokenize(" ");
  TIter next(arr);
  TObject *o=0;
  if (fTree) delete fTree;
  fTree=new TChain(treeName);
  while ( (o=next()) ){
    TString tmpString(o->GetName());
    std::cout << "Adding " << tmpString.Data() << " to the chain" << std::endl;
    if(tmpString.Contains(".root"))
      fTree->AddFile(tmpString.Data());
    else {
      tmpString += "/*.root";
      fTree->Add(tmpString.Data());
    }
  }
  delete arr;
  if (!CheckChain())
    return;
  //  UseConfigFile(fConfigFile.Data());
  FillCalibTypes();
  Reload();
}

//______________________________________________________________________________
void AliCalibViewerGUItime::UseChain(TChain* chain)
{
  //
  // load a chain
  //
  fTree=chain;
  if (!CheckChain()) {
    std::cout << "AliCalibViewerGUItime::UseChain !checkchain OUT" << std::endl;
    return;
  }
  //set configuration file
  //  UseConfigFile(fConfigFile.Data());
  FillCalibTypes();
  Reload();
}

//______________________________________________________________________________
Bool_t AliCalibViewerGUItime::CheckChain()
{
  //
  // check whether cahin has entries
  // decide whether to draw graphs in 2D
  //
  if (!fTree) {
    return kFALSE;
  }
  fTree->Lookup();
  Long64_t entries=fTree->GetEntries();
  if (entries==0){
    AliError("No entries found in chain");
    return kFALSE;
  }
  //check whether to draw graphs
  CheckDrawGraph();
  return kTRUE;
}

//______________________________________________________________________________
void AliCalibViewerGUItime::FillRunTypes()
{
  //
  //Loop over the tree entries and fill the run types
  //
  if (!fTree) {
    return;
  }
  Int_t id=0;
  fComboRunType->RemoveAll();
  fComboRunType->AddEntry("ALL",id++);
  fComboRunType->Select(0,kFALSE);
  if (!fTree->GetBranch("runType.")) {
    return;
  }
  TObjString *runType=0x0;
  Int_t nevets=fTree->GetEntries();
  fTree->SetBranchStatus("*",0);
  fTree->SetBranchStatus("runType.*",1);
  fTree->SetBranchAddress("runType.",&runType);
  for (Int_t iev=0;iev<nevets;++iev){
    fTree->GetEntry(iev);
    TString type=runType->String();
    if (!type.IsNull()&&!fComboRunType->FindEntry(type)) fComboRunType->AddEntry(type,id++);
  }
  fTree->ResetBranchAddresses();
  fTree->SetBranchStatus("*",1);
}

//______________________________________________________________________________
void AliCalibViewerGUItime::FillCalibTypes()
{
  //
  // loop over configuration and fill calibration types
  //
  Int_t id=0;
  fListCalibType->RemoveAll();
  //  TObject *o=0x0;
  //  fConfigParser->ResetIter();
  TString type="UNSPECIFIED";
  fListCalibType->AddEntry(type.Data(),id);
  fListCalibType->Select(id++);
}

//______________________________________________________________________________
void AliCalibViewerGUItime::CheckDrawGraph()
{
  //
  // Check whether to draw graphs in 2D mode based on the number of entries in the chain
  // GetEstimate() returns the maximum size of the arrays stored in GetV1()...
  //
  if (!fTree) {
    return;
  }
  fNoGraph=kTRUE;
  if (fTree->GetEntries()<fTree->GetEstimate()) fNoGraph=kFALSE;
}

//______________________________________________________________________________
void AliCalibViewerGUItime::Reload(Int_t /*first*/)
{
  //
  // reload the gui contents, this is needed after the input tree has changed
  //
  if ( !fTree ) {
    return;
  }
  
  FillRunTypes();
  
  //activate all branches
  fTree->SetBranchStatus("*",1);
  //reset variables list
  fListVariables->RemoveAll();
  //get selected calibration types
  TList calibTypes;
  fListCalibType->GetSelectedEntries(&calibTypes);
    
  TObjArray *branchList = fTree->GetListOfBranches();
  if ( !branchList ) return;
  TIter nextBranch(branchList);
  Int_t idCount=0,id=0;
  TObject *objBranch=0;
  while ( (objBranch=nextBranch()) ){
    TString branchName(objBranch->GetName());
    TString branchTitle(objBranch->GetName());
    if (branchName == "run" || branchName == "time" || branchName == "runType.") continue;
    Bool_t active=kTRUE;
    TString calibType="UNSPECIFIED";
   
    //check if branch is in selected calibration types
    //if not, don't show it in the list and deactivate the branch.
    Bool_t calibActive=kFALSE;
    TIter nextCalib(&calibTypes);
    TObject *objCalib=0;
    while ( (objCalib=nextCalib()) ) {
      if (calibType==objCalib->GetTitle()) calibActive=kTRUE;
    }
    active&=calibActive;
    if (!active){
      TString s=branchName;
      if (branchName.EndsWith(".")) s+="*";
      fTree->SetBranchStatus(s.Data(),0);
      continue;
    }
    fListVariables->AddEntry(SubstituteUnderscores(branchTitle.Data()),id);
    //fListVariables->Select(id);
    ++idCount;
  }
  //trick to display modifications
  fListVariables->Resize(fListVariables->GetWidth()-1, fListVariables->GetHeight());
  fListCalibType->Resize(fListCalibType->GetWidth()+1, fListCalibType->GetHeight());
}

//______________________________________________________________________________
void AliCalibViewerGUItime::AddReferenceTree(const char* treeFileName, const char* refName)
{
  //
  // map of reference trees that should always be attached to the CalibViewerGUI
  //
  fMapRefTrees->Add(new TObjString(refName), new TObjString(treeFileName));
}

//______________________________________________________________________________
const char* AliCalibViewerGUItime::GetDrawString(){
  //
  // create draw string for ttree by combining the user requestsa
  //
  
  TString selectedVariable="";
  Int_t id=-1;
  if (!fListVariables->GetSelectedEntry()) {
    return "";
  }
  selectedVariable = fListVariables->GetSelectedEntry()->GetTitle();
  id=fListVariables->GetSelectedEntry()->EntryId();
  TString branchName=selectedVariable;
  //  const TObject *key=(*fConfigParser)(id);
  //  if (key) branchName=(*fConfigParser)(id)->GetName();
  //treat case of TVector
  if (branchName.EndsWith(".")){
    Int_t par = (Int_t)(fNmbPar->GetNumber());
    branchName.Append(Form("fElements[%d]",par));
  }

  return branchName.Data();
}
//______________________________________________________________________________
const char* AliCalibViewerGUItime::GetDrawOption() const {
  //
  // get user selected draw options
  //
  TString drawOpt;
  if (fComboAddDrawOpt->GetSelectedEntry()) drawOpt=fComboAddDrawOpt->GetSelectedEntry()->GetTitle();
  if (fChkDrawOptSame->GetState()==kButtonDown && !drawOpt.Contains("same",TString::kIgnoreCase))
    drawOpt+="same";
  return drawOpt.Data();
}
//______________________________________________________________________________
void AliCalibViewerGUItime::GetCutString(TString &cutStr){
  //
  // create cut string
  //
  TCut cuts(fComboCustomCuts->GetTextEntry()->GetText());
  TString runType="";
  if (fComboRunType->GetSelectedEntry()) runType=fComboRunType->GetSelectedEntry()->GetTitle();
  if (runType!="ALL"&&!runType.IsNull()) cuts+=Form("runType.String().Data()==\"%s\"",runType.Data());
  cutStr=cuts.GetTitle();
}
//______________________________________________________________________________
void AliCalibViewerGUItime::UpdateValueArrays(Bool_t withGraph)
{
  //
  // Update arrays of runs
  //
  if (!withGraph){
    fValuesX.ResizeTo(1);
    fValuesY.ResizeTo(1);
    fRunNumbers.ResizeTo(1);
    fTimeStamps.ResizeTo(1);
  } else {
    fValuesX.ResizeTo(fTree->GetSelectedRows());
    fValuesY.ResizeTo(fTree->GetSelectedRows());
    fRunNumbers.ResizeTo(fTree->GetSelectedRows());
    fTimeStamps.ResizeTo(fTree->GetSelectedRows());
    fValuesY.SetElements(fTree->GetV3());
    fRunNumbers.SetElements(fTree->GetV1());
    fTimeStamps.SetElements(fTree->GetV2());
  }
}

//______________________________________________________________________________
void AliCalibViewerGUItime::GetHistogramTitle(TString &title)
{
  //
  // Create string for histogram title
  //

  title=fDrawString;
  Int_t pos=title.First(">>");
  if (pos>0) title=title(0,pos);
  if (!fIsCustomDraw){
    if (fRadioXrun->GetState()==kButtonDown){
      title+=":Run";
    } else if (fRadioXtime->GetState()==kButtonDown){
      title+=":Date";
    }
  }
  TString cuts;
  GetCutString(cuts);
  TObjArray *arr=title.Tokenize(":");
  TObject *o=0x0;
  title+=" {";
  title+=cuts;
  title+="}";
  TIter next(arr,kIterBackward);
  while ( (o=next()) ){
    TString varName=o->GetName();
    title+=";";
    title+=varName;
  }
  delete arr;
}

//______________________________________________________________________________
void AliCalibViewerGUItime::AdjustYRange()
{
  //
  // adjust the range of the Y axis
  //
  TIter nextGraphicObject(fTrashBox);
  TObject *o=0x0;
  Float_t min=0,max=0;
  while ( (o=nextGraphicObject()) ){
    if (o->IsA()==TGraph::Class()){
      TGraph *gr=(TGraph*)o;
      if (min==max) {
        min=TMath::MinElement(gr->GetN(),gr->GetY());
        max=TMath::MaxElement(gr->GetN(),gr->GetY());
      } else {
        Float_t currmin=TMath::MinElement(gr->GetN(),gr->GetY());
        Float_t currmax=TMath::MaxElement(gr->GetN(),gr->GetY());
        if (currmax>max) max=currmax;
        if (currmin<min) min=currmin;
      }
    }
  }
  if (min!=max){
    if (min!=0) min=min-(max-min)/10;
    if (max!=0) max=max+(max-min)/10;
    fCurrentHist->SetMinimum(min);
    fCurrentHist->SetMaximum(max);
  }
}
//______________________________________________________________________________
void AliCalibViewerGUItime::DoDraw() {
  //
  // Draw graphics
  //
  TString drawString=fDrawString;
  TString cutString;
  GetCutString(cutString);
  TString optString  = GetDrawOption();
  Bool_t graphOutput=!fNoGraph;  //ttree buffer for V1, V2... too small
  graphOutput&=(drawString.First(">>")<0); //histogram output in custom draw
  graphOutput&=fRadioXhist->GetState()!=kButtonDown; //histogram drawing selected
  graphOutput&=!(fIsCustomDraw&&!fDrawString.Contains(":")); //custom draw 1D
  Bool_t drawSame=optString.Contains("same",TString::kIgnoreCase);
//   optString+="goff";
  if (graphOutput) {
    drawString.Prepend("run:time:");
    optString="goff";
  }else{
    if (!fIsCustomDraw){
      if (fRadioXrun->GetState()==kButtonDown){
        drawString+=":run";
      } else if (fRadioXtime->GetState()==kButtonDown){
        drawString+=":time";
      }
    }
  }
  TVirtualPad *padsave=gPad;
  fCanvMain->GetCanvas()->cd();
  //delete old histograms and graphs
  if (!drawSame){
    fTrashBox->Delete();
    fCurrentGraph=0x0;
    fCurrentHist=0x0;
  }

  //select data
  fTree->Draw(drawString.Data(),cutString.Data(),optString.Data());
  if (fTree->GetSelectedRows()==-1) {
    return;
  }
  UpdateValueArrays(graphOutput);
  TString title;
  GetHistogramTitle(title);
  Bool_t drawGraph=kFALSE;
  if (graphOutput){
    if (fIsCustomDraw){
      if (fDrawString.Contains(":")){
        fValuesX.SetElements(fTree->GetV4());
        drawGraph=kTRUE;
      } else {
        drawGraph=kFALSE;
      }
    }else{
      drawGraph=kTRUE;
      if (fRadioXrun->GetState()==kButtonDown){
        fValuesX.SetElements(fTree->GetV1());
      } else if (fRadioXtime->GetState()==kButtonDown){
        fValuesX.SetElements(fTree->GetV2());
      } else {
        drawGraph=kFALSE;
      }
    }
  }//create graph according to selection
  if (drawGraph){
    TGraph *graph=new TGraph(fValuesX,fValuesY);
    TString grDraw="p";
    if (!drawSame) grDraw+="a";
    if (!fIsCustomDraw) grDraw+="l";
    graph->Draw(grDraw.Data());
    graph->SetEditable(kFALSE);
    TH1 *hist=graph->GetHistogram();
    hist->SetTitle(title.Data());
    fTrashBox->Add(graph);
    graph->SetLineColor(fTrashBox->GetEntries());
    graph->SetMarkerColor(fTrashBox->GetEntries());
    if (!drawSame) {
      fCurrentGraph=graph;
      fCurrentHist=hist;
    }
  } else {
    TH1 *hist=fTree->GetHistogram();
    hist->SetTitle(title.Data());
    fTrashBox->Add(hist);
    hist->SetLineColor(fTrashBox->GetEntries());
    hist->SetMarkerColor(fTrashBox->GetEntries());
    if (!drawSame) fCurrentHist=hist;
  }
  
  //Set time axis if choosen as x-variables
  if (fRadioXtime->GetState()==kButtonDown&&!fIsCustomDraw&&!drawSame){
    TAxis *xaxis=fCurrentHist->GetXaxis();
    xaxis->SetTimeFormat("#splitline{%d.%m}{%H:%M}");
    xaxis->SetTimeDisplay(1);
    xaxis->SetLabelOffset(xaxis->GetLabelOffset()*3);
    xaxis->SetLabelSize(xaxis->GetLabelSize()/1.3);
  }
  if (!drawSame) {
  //Set title offset
    fCurrentHist->GetYaxis()->SetTitleOffset(1.5);
  } else {
    //adjust y-range
    AdjustYRange();
  }
  gPad->Modified();
  gPad->Update();
  padsave->cd();
}

//______________________________________________________________________________
void AliCalibViewerGUItime::DoDumpRuns()
{
  //
  // Dump the current run numbers to stdout
  //
  Int_t npoints=fRunNumbers.GetNrows();
  Int_t    *sortIndex = new Int_t[npoints];
  TMath::Sort(npoints,fRunNumbers.GetMatrixArray(),sortIndex,kFALSE);
  Int_t run=0, prevRun=-1;
  
  for (Int_t irun=0;irun<npoints;++irun){
    run=(Int_t)fRunNumbers.GetMatrixArray()[sortIndex[irun]];
    if (run!=prevRun) std::cout << Form("%d",run) << std::endl;
    prevRun=run;
  }
  delete [] sortIndex;
}

//______________________________________________________________________________
void AliCalibViewerGUItime::DoParLimitChange()
{
  //
  // DoParLimitChange()
  //
  UpdateParName();
  DoDraw();
}

//______________________________________________________________________________
void AliCalibViewerGUItime::DoNewSelection() {
  //
   // decides whether to redraw if user makes another selection
   //
  UpdateParLimits();
  fDrawString=GetDrawString();
  fIsCustomDraw=kFALSE;
  DoDraw();
}

//______________________________________________________________________________
void AliCalibViewerGUItime::DoCustomDraw()
{
  //
  // Custom draw (TTree::Draw syntax)
  //
  fDrawString=fComboCustomDraw->GetTextEntry()->GetText();
  fNmbPar->SetState(kFALSE);
  fIsCustomDraw=kTRUE;
  DoDraw();
}

//______________________________________________________________________________
void AliCalibViewerGUItime::DoCustomCutsDraw()
{
  //
  // Custom cuts (TTree::Draw syntax)
  //
  if (fIsCustomDraw) DoCustomDraw();
  else {
    fDrawString=GetDrawString();
    fIsCustomDraw=kFALSE;
    DoDraw();
  }
}

//______________________________________________________________________________
void AliCalibViewerGUItime::HandleButtonsDrawSel(Int_t id)
{
  //
  // Draw selection button handling (x-variable)
  //

  if (id == -1) {
    TGButton *btn = (TGButton *) gTQSender;
    id = btn->WidgetId();
  }
  
  Bool_t doDraw=kFALSE;
  switch (id) {
  case (kRadioXhist):
    doDraw=(fRadioXtime->GetState()==kButtonDown||fRadioXrun->GetState()==kButtonDown);
    if (doDraw){
      fRadioXrun->SetState(kButtonUp);
      fRadioXtime->SetState(kButtonUp);
    }
    break;
  case (kRadioXrun):
    doDraw=(fRadioXtime->GetState()==kButtonDown||fRadioXhist->GetState()==kButtonDown);
    if (doDraw){
      fRadioXhist->SetState(kButtonUp);
      fRadioXtime->SetState(kButtonUp);
    }
    break;
  case (kRadioXtime):
    doDraw=(fRadioXhist->GetState()==kButtonDown||fRadioXrun->GetState()==kButtonDown);
    if (doDraw){
      fRadioXrun->SetState(kButtonUp);
      fRadioXhist->SetState(kButtonUp);
    }
    break;
  }
  if (doDraw) DoCustomCutsDraw();
}
//______________________________________________________________________________
void AliCalibViewerGUItime::UpdateParName()
{
  //
  // change parameter name
  //
  
  Int_t par = (Int_t)(fNmbPar->GetNumber());
  TString parName="";
  parName.Form("%d",par);
  fLblPar->SetText(Form("Parameter: %s",parName.Data()));
  fDrawString=GetDrawString();
  fIsCustomDraw=kFALSE;
}

//______________________________________________________________________________
void AliCalibViewerGUItime::UpdateParLimits()
{
  //
  // Adjust limits for TVectorT based variables
  //
  if (!fTree) return;
  TString selectedVariableTitle="";
  Int_t id=-1;
  if (!fListVariables->GetSelectedEntry()) return;
  selectedVariableTitle = fListVariables->GetSelectedEntry()->GetTitle();
  id=fListVariables->GetSelectedEntry()->EntryId();
  TString selectedVariable=selectedVariableTitle;
  //  const TObject *key=(*fConfigParser)(id);
  //  if (key) selectedVariable=(*fConfigParser)(id)->GetName();
  
  if (selectedVariable.IsNull()||!selectedVariable.EndsWith(".")) {
    fNmbPar->SetState(kFALSE);
    fLblPar->SetText("Parameter: none");
    return;
  }
  TVectorD *vD=0x0;
  TVectorF *vF=0x0;
  Int_t maxPar=0;
  fTree->GetEntry(1);
  TBranch *branch=fTree->GetTree()->GetBranch(selectedVariable.Data());
  TString branchClass=branch->GetClassName();
  Int_t event=0;
  if (branchClass=="TVectorT<double>"){
//     branch->SetAddress(&vD);
    fTree->SetBranchAddress(selectedVariable.Data(),&vD);
    while (maxPar<2&&event<fTree->GetEntries()){
      fTree->GetEntry(event++);
      maxPar=vD->GetNrows();
    }
  } else if (branchClass=="TVectorT<float>"){
//     branch->SetAddress(&vF);
    fTree->SetBranchAddress(selectedVariable.Data(),&vF);
    while (maxPar<2&&event<fTree->GetEntries()){
      fTree->GetEntry(event++);
      maxPar=vF->GetNrows();
    }
  } else {
    //class not known
    fNmbPar->SetState(kFALSE);
    return;
  }
  fTree->SetBranchAddress(selectedVariable.Data(),0x0);
  if (fNmbPar->GetNumMax()!=maxPar-1) fNmbPar->SetNumber(0);
  fNmbPar->SetLimitValues(0,maxPar-1);
  fNmbPar->SetState(kTRUE);
  UpdateParName();
}
//______________________________________________________________________________
void AliCalibViewerGUItime::MouseMove(Int_t event, Int_t x, Int_t y, TObject */*selected*/)
{
  //
  // handle mouse events in the draw canvas
  //
  UInt_t dd=0,mm=0,yy=0,HH=0,MM=0,SS=0,run=0;
  Double_t valx=0.,valy=0.;
  if (!fCurrentGraph) {
    fLblRunNumberVal->SetText(Form("%07u",run));
    fLblRunTimeVal->SetText(Form("%02u.%02u.%04u\n%02u:%02u:%02u",dd,mm,yy,HH,MM,SS));
    fLblValueXVal->SetText(Form("%.3e", valx));
    fLblValueYVal->SetText(Form("%.3e", valy));
    return;
  }
  TVirtualPad *padsave=gPad;
  fCanvMain->GetCanvas()->cd();
  Int_t n=fValuesY.GetNrows();
  Double_t *arr=0x0;
  arr=fValuesX.GetMatrixArray();

  Int_t minDist=1000000;
  Int_t minPoint=-1;
  for (Int_t i=0;i<n;++i){
    Int_t pxp = gPad->XtoAbsPixel(gPad->XtoPad(arr[i]));
    Int_t pyp = gPad->YtoAbsPixel(gPad->YtoPad(fValuesY[i]));
    Int_t d   = TMath::Nint(TMath::Sqrt(TMath::Abs(pxp-x) + TMath::Abs(pyp-y)));
    if (d < minDist) {
      minDist  = d;
      minPoint = i;
    }
  }
  if (minDist<2){
    TTimeStamp t((Int_t)fTimeStamps[minPoint]);
    t.GetDate(kTRUE,0,&yy,&mm,&dd);
    t.GetTime(kTRUE,0,&HH,&MM,&SS);
    run=(UInt_t)fRunNumbers[minPoint];
    valx=fValuesX[minPoint];
    valy=fValuesY[minPoint];
  } else {
    dd=0;mm=0;yy=0;HH=0;MM=0;SS=0;run=0;
    valx=0.;
    valy=0.;
  }
  fLblRunNumberVal->SetText(Form("%07u",run));
  fLblRunTimeVal->SetText(Form("%02u.%02u.%04u\n%02u.%02u.%02u",dd,mm,yy,HH,MM,SS));
  if (fIsCustomDraw){
    fLblValueXVal->SetText(Form("%.3e", valx));
  }else{
    if (fRadioXrun->GetState()==kButtonDown){
      fLblValueXVal->SetText("Run");
    } else if (fRadioXtime->GetState()==kButtonDown){
      fLblValueXVal->SetText("Time");
    }
  }
  fLblValueYVal->SetText(Form("%.3e", valy));
  padsave->cd();
  if (run==0) {
    return;
  }
  if (event == kButton1Double ){
    SetGuiTree(run);
  }
  //find closes point of current selection
}

//______________________________________________________________________________
void AliCalibViewerGUItime::SetGuiTree(Int_t run)
{
  //
  // create the AliCalibViewerGUI tree for run
  // cache tree in directory fOutputCacheDir
  // retrieve file from this directory if it already exists
  //

  //try to find file for run in fOutputCacheDir
  TString fileName=fOutputCacheDir;
  if (!fileName.EndsWith("/")) fileName+="/";
  if(fDetector.Contains("TPC")) fileName+=Form("guiTreeRun_%d.root",run);
  else if(fDetector.Contains("TRD")) fileName+=Form("trdOCDBDetails_run%d.root", run);
  else return;
  Bool_t load=kTRUE;
  TFile f(fileName.Data());
  if (!f.IsOpen()){
    if(fDetector.Contains("TRD")) 
      load = fCalibViewerGUI->CreateDetailsTree(run, fileName.Data(), "nothing");
    if(fDetector.Contains("TPC")) 
      load = fCalibViewerGUI->CreateDetailsTree(run, fileName.Data(), "nothing");

    if (!load){
      fCalibViewerGUI->Reset();
      if (fCalibViewerGUItab) fCalibViewerGUItab->SetText(new TGString(Form("Detail - XXXXX")));
      return;
    }
  }
  f.Close();
  if(fDetector.Contains("TPC")) fCalibViewerGUI->Initialize(fileName.Data(), "calPads");
  else fCalibViewerGUI->Initialize(fileName.Data(), "TRDcalibDetails");
  if (fCalibViewerGUItab) fCalibViewerGUItab->SetText(new TGString(Form("Detail - %07d",run)));
  TIter nextRefTree(fMapRefTrees);
  TObject *o=0x0;
  while ( (o=nextRefTree()) ){
    if(fDetector.Contains("TPC"))
      fCalibViewerGUI->GetViewer()->AddReferenceTree(fMapRefTrees->GetValue(o)->GetName(),"calPads",o->GetName());
    else
      fCalibViewerGUI->GetViewer()->AddReferenceTree(fMapRefTrees->GetValue(o)->GetName(),"TRDcalibDetails",o->GetName());
  }
  //if(fDetector.Contains("TPC")) ((AliTPCCalibViewerGUI_new*)fCalibViewerGUI)->Reload();
  //else ((AliTRDCalibViewerGUI*)fCalibViewerGUI)->Reload();
  fCalibViewerGUI->Reload();
}

//______________________________________________________________________________
const char* AliCalibViewerGUItime::SubstituteUnderscores(const char* in)
{
  //
  // Substitute underscores from the branch names
  //
  TString s(in);
  s.ReplaceAll("_{","|{");
  s.ReplaceAll("_"," ");
  s.ReplaceAll("|{","_{");
  return s.Data();
}

//______________________________________________________________________________
void AliCalibViewerGUItime::SavePicture() {
   // 
   // saves the current picture
   // 
   
  const char *kSaveAsTypes[] = {
    "Postscript",  "*.ps",
    "Encapsulated Postscript",   "*.eps",
    "PDF",   "*.pdf",
    "JPEG",   "*.jpg",
    "PNG",   "*.png",
    "TIFF",   "*.tiff",
    "GIF",   "*.gif",
    "XPM",   "*.xpm",
    "SVG",   "*.svg",
    "XML",   "*.xml",
    "C++ macro",   "*.cxx",
    "Macro file",  "*.C",
    "ROOT file",   "*.root",
    "All file",    "*",
    0,              0
  };
  TString dir(".");
  TGFileInfo fi;
  fi.fFileTypes = kSaveAsTypes;
  // fi.fIniDir    = StrDup(dir);
  fi.fOverwrite = kFALSE;
  new TGFileDialog(gClient->GetRoot(), gClient->GetRoot(), kFDSave, &fi);
  if (fi.fFilename && strlen(fi.fFilename)) {
    fCanvMain->GetCanvas()->Print(fi.fFilename);
  }  
}

//______________________________________________________________________________
void AliCalibViewerGUItime::HandleLoadRunButtons() {
  //
  //  Handle the buttons
  //
  Int_t id = ((TGTextButton*)gTQSender)->WidgetId();
  if(id==100) {
    UseFile(fTxtFilename->GetText(), fTxtTreeName->GetText());
    return;
  }
  else
    return;
}

//______________________________________________________________________________
void AliCalibViewerGUItime::HandleLoadRunTextEntry() {
  //
  //  Handle the text entries
  //
  // buttons ID
  // 100 - fTxtFilename
  // 101 - fTxtConfigFile
  
  Int_t id = ((TGTextEntry*)gTQSender)->WidgetId();
  if(id>=100 && id<=103) {
    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==100) {
        fTxtFilename->SetText(fi.fFilename);
      }
      if(id==101) {
	//        fTxtConfigFile->SetText(fi.fFilename);
	//        fConfigFile=fi.fFilename;
      }
      if(id==102) {
	//fTxtRunList->SetText(fi.fFilename);
      }
      if(id==103) {
	//fTxtOutputOCDB->SetText(fi.fFilename);
      }
    }
    return;
  }
  else {
    return;
  }
}

//__________________________________________________________________
TObjArray* AliCalibViewerGUItime::ShowGUI(TChain* chain) {
  //
  //  Launch the time trending GUI. Load the TChain chain into the viewer
  //
  TGMainFrame* frmMain = new TGMainFrame(gClient->GetRoot(), 1000, 650);
  frmMain->SetWindowName("Calib Viewer - time trend");
  frmMain->SetCleanup(kDeepCleanup);

  TGTab* tabMain = new TGTab(frmMain, 1000, 600);
  frmMain->AddFrame(tabMain, new TGLayoutHints(kLHintsExpandX | kLHintsExpandY, 0, 0, 0, 0));

  TGCompositeFrame* tabCont1 = tabMain->AddTab("Time");

  AliCalibViewerGUItime* calibViewerTime = new AliCalibViewerGUItime(tabCont1, 1000, 650);
  tabCont1->AddFrame(calibViewerTime, new TGLayoutHints(kLHintsExpandX | kLHintsExpandY, 0, 0, 0, 0));
  calibViewerTime->UseChain(chain);

  TObjArray *guiArray = new TObjArray();
  guiArray->Add(calibViewerTime);

  frmMain->MapSubwindows();
  frmMain->Resize();
  frmMain->MapWindow();
  return guiArray;
}

//__________________________________________________________________
TObjArray* AliCalibViewerGUItime::ShowGUI() {
  //
  //  Launch the time trending GUI. The GUI will be empty but trees can be loaded by using the GUI interface
  //
  TGMainFrame* frmMain = new TGMainFrame(gClient->GetRoot(), 1000, 650);
  frmMain->SetWindowName("Calib Viewer - time trend");
  frmMain->SetCleanup(kDeepCleanup);

  TGTab* tabMain = new TGTab(frmMain, 1000, 600);
  frmMain->AddFrame(tabMain, new TGLayoutHints(kLHintsExpandX | kLHintsExpandY, 0, 0, 0, 0));

  TGCompositeFrame* tabCont1 = tabMain->AddTab("Time");

  AliCalibViewerGUItime* calibViewerTime = new AliCalibViewerGUItime(tabCont1, 1000, 650);
  tabCont1->AddFrame(calibViewerTime, new TGLayoutHints(kLHintsExpandX | kLHintsExpandY, 0, 0, 0, 0));
  
  TObjArray *guiArray = new TObjArray();
  guiArray->Add(calibViewerTime);

  frmMain->MapSubwindows();
  frmMain->Resize();
  frmMain->MapWindow();
  return guiArray;
}
 AliCalibViewerGUItime.cxx:1
 AliCalibViewerGUItime.cxx:2
 AliCalibViewerGUItime.cxx:3
 AliCalibViewerGUItime.cxx:4
 AliCalibViewerGUItime.cxx:5
 AliCalibViewerGUItime.cxx:6
 AliCalibViewerGUItime.cxx:7
 AliCalibViewerGUItime.cxx:8
 AliCalibViewerGUItime.cxx:9
 AliCalibViewerGUItime.cxx:10
 AliCalibViewerGUItime.cxx:11
 AliCalibViewerGUItime.cxx:12
 AliCalibViewerGUItime.cxx:13
 AliCalibViewerGUItime.cxx:14
 AliCalibViewerGUItime.cxx:15
 AliCalibViewerGUItime.cxx:16
 AliCalibViewerGUItime.cxx:17
 AliCalibViewerGUItime.cxx:18
 AliCalibViewerGUItime.cxx:19
 AliCalibViewerGUItime.cxx:20
 AliCalibViewerGUItime.cxx:21
 AliCalibViewerGUItime.cxx:22
 AliCalibViewerGUItime.cxx:23
 AliCalibViewerGUItime.cxx:24
 AliCalibViewerGUItime.cxx:25
 AliCalibViewerGUItime.cxx:26
 AliCalibViewerGUItime.cxx:27
 AliCalibViewerGUItime.cxx:28
 AliCalibViewerGUItime.cxx:29
 AliCalibViewerGUItime.cxx:30
 AliCalibViewerGUItime.cxx:31
 AliCalibViewerGUItime.cxx:32
 AliCalibViewerGUItime.cxx:33
 AliCalibViewerGUItime.cxx:34
 AliCalibViewerGUItime.cxx:35
 AliCalibViewerGUItime.cxx:36
 AliCalibViewerGUItime.cxx:37
 AliCalibViewerGUItime.cxx:38
 AliCalibViewerGUItime.cxx:39
 AliCalibViewerGUItime.cxx:40
 AliCalibViewerGUItime.cxx:41
 AliCalibViewerGUItime.cxx:42
 AliCalibViewerGUItime.cxx:43
 AliCalibViewerGUItime.cxx:44
 AliCalibViewerGUItime.cxx:45
 AliCalibViewerGUItime.cxx:46
 AliCalibViewerGUItime.cxx:47
 AliCalibViewerGUItime.cxx:48
 AliCalibViewerGUItime.cxx:49
 AliCalibViewerGUItime.cxx:50
 AliCalibViewerGUItime.cxx:51
 AliCalibViewerGUItime.cxx:52
 AliCalibViewerGUItime.cxx:53
 AliCalibViewerGUItime.cxx:54
 AliCalibViewerGUItime.cxx:55
 AliCalibViewerGUItime.cxx:56
 AliCalibViewerGUItime.cxx:57
 AliCalibViewerGUItime.cxx:58
 AliCalibViewerGUItime.cxx:59
 AliCalibViewerGUItime.cxx:60
 AliCalibViewerGUItime.cxx:61
 AliCalibViewerGUItime.cxx:62
 AliCalibViewerGUItime.cxx:63
 AliCalibViewerGUItime.cxx:64
 AliCalibViewerGUItime.cxx:65
 AliCalibViewerGUItime.cxx:66
 AliCalibViewerGUItime.cxx:67
 AliCalibViewerGUItime.cxx:68
 AliCalibViewerGUItime.cxx:69
 AliCalibViewerGUItime.cxx:70
 AliCalibViewerGUItime.cxx:71
 AliCalibViewerGUItime.cxx:72
 AliCalibViewerGUItime.cxx:73
 AliCalibViewerGUItime.cxx:74
 AliCalibViewerGUItime.cxx:75
 AliCalibViewerGUItime.cxx:76
 AliCalibViewerGUItime.cxx:77
 AliCalibViewerGUItime.cxx:78
 AliCalibViewerGUItime.cxx:79
 AliCalibViewerGUItime.cxx:80
 AliCalibViewerGUItime.cxx:81
 AliCalibViewerGUItime.cxx:82
 AliCalibViewerGUItime.cxx:83
 AliCalibViewerGUItime.cxx:84
 AliCalibViewerGUItime.cxx:85
 AliCalibViewerGUItime.cxx:86
 AliCalibViewerGUItime.cxx:87
 AliCalibViewerGUItime.cxx:88
 AliCalibViewerGUItime.cxx:89
 AliCalibViewerGUItime.cxx:90
 AliCalibViewerGUItime.cxx:91
 AliCalibViewerGUItime.cxx:92
 AliCalibViewerGUItime.cxx:93
 AliCalibViewerGUItime.cxx:94
 AliCalibViewerGUItime.cxx:95
 AliCalibViewerGUItime.cxx:96
 AliCalibViewerGUItime.cxx:97
 AliCalibViewerGUItime.cxx:98
 AliCalibViewerGUItime.cxx:99
 AliCalibViewerGUItime.cxx:100
 AliCalibViewerGUItime.cxx:101
 AliCalibViewerGUItime.cxx:102
 AliCalibViewerGUItime.cxx:103
 AliCalibViewerGUItime.cxx:104
 AliCalibViewerGUItime.cxx:105
 AliCalibViewerGUItime.cxx:106
 AliCalibViewerGUItime.cxx:107
 AliCalibViewerGUItime.cxx:108
 AliCalibViewerGUItime.cxx:109
 AliCalibViewerGUItime.cxx:110
 AliCalibViewerGUItime.cxx:111
 AliCalibViewerGUItime.cxx:112
 AliCalibViewerGUItime.cxx:113
 AliCalibViewerGUItime.cxx:114
 AliCalibViewerGUItime.cxx:115
 AliCalibViewerGUItime.cxx:116
 AliCalibViewerGUItime.cxx:117
 AliCalibViewerGUItime.cxx:118
 AliCalibViewerGUItime.cxx:119
 AliCalibViewerGUItime.cxx:120
 AliCalibViewerGUItime.cxx:121
 AliCalibViewerGUItime.cxx:122
 AliCalibViewerGUItime.cxx:123
 AliCalibViewerGUItime.cxx:124
 AliCalibViewerGUItime.cxx:125
 AliCalibViewerGUItime.cxx:126
 AliCalibViewerGUItime.cxx:127
 AliCalibViewerGUItime.cxx:128
 AliCalibViewerGUItime.cxx:129
 AliCalibViewerGUItime.cxx:130
 AliCalibViewerGUItime.cxx:131
 AliCalibViewerGUItime.cxx:132
 AliCalibViewerGUItime.cxx:133
 AliCalibViewerGUItime.cxx:134
 AliCalibViewerGUItime.cxx:135
 AliCalibViewerGUItime.cxx:136
 AliCalibViewerGUItime.cxx:137
 AliCalibViewerGUItime.cxx:138
 AliCalibViewerGUItime.cxx:139
 AliCalibViewerGUItime.cxx:140
 AliCalibViewerGUItime.cxx:141
 AliCalibViewerGUItime.cxx:142
 AliCalibViewerGUItime.cxx:143
 AliCalibViewerGUItime.cxx:144
 AliCalibViewerGUItime.cxx:145
 AliCalibViewerGUItime.cxx:146
 AliCalibViewerGUItime.cxx:147
 AliCalibViewerGUItime.cxx:148
 AliCalibViewerGUItime.cxx:149
 AliCalibViewerGUItime.cxx:150
 AliCalibViewerGUItime.cxx:151
 AliCalibViewerGUItime.cxx:152
 AliCalibViewerGUItime.cxx:153
 AliCalibViewerGUItime.cxx:154
 AliCalibViewerGUItime.cxx:155
 AliCalibViewerGUItime.cxx:156
 AliCalibViewerGUItime.cxx:157
 AliCalibViewerGUItime.cxx:158
 AliCalibViewerGUItime.cxx:159
 AliCalibViewerGUItime.cxx:160
 AliCalibViewerGUItime.cxx:161
 AliCalibViewerGUItime.cxx:162
 AliCalibViewerGUItime.cxx:163
 AliCalibViewerGUItime.cxx:164
 AliCalibViewerGUItime.cxx:165
 AliCalibViewerGUItime.cxx:166
 AliCalibViewerGUItime.cxx:167
 AliCalibViewerGUItime.cxx:168
 AliCalibViewerGUItime.cxx:169
 AliCalibViewerGUItime.cxx:170
 AliCalibViewerGUItime.cxx:171
 AliCalibViewerGUItime.cxx:172
 AliCalibViewerGUItime.cxx:173
 AliCalibViewerGUItime.cxx:174
 AliCalibViewerGUItime.cxx:175
 AliCalibViewerGUItime.cxx:176
 AliCalibViewerGUItime.cxx:177
 AliCalibViewerGUItime.cxx:178
 AliCalibViewerGUItime.cxx:179
 AliCalibViewerGUItime.cxx:180
 AliCalibViewerGUItime.cxx:181
 AliCalibViewerGUItime.cxx:182
 AliCalibViewerGUItime.cxx:183
 AliCalibViewerGUItime.cxx:184
 AliCalibViewerGUItime.cxx:185
 AliCalibViewerGUItime.cxx:186
 AliCalibViewerGUItime.cxx:187
 AliCalibViewerGUItime.cxx:188
 AliCalibViewerGUItime.cxx:189
 AliCalibViewerGUItime.cxx:190
 AliCalibViewerGUItime.cxx:191
 AliCalibViewerGUItime.cxx:192
 AliCalibViewerGUItime.cxx:193
 AliCalibViewerGUItime.cxx:194
 AliCalibViewerGUItime.cxx:195
 AliCalibViewerGUItime.cxx:196
 AliCalibViewerGUItime.cxx:197
 AliCalibViewerGUItime.cxx:198
 AliCalibViewerGUItime.cxx:199
 AliCalibViewerGUItime.cxx:200
 AliCalibViewerGUItime.cxx:201
 AliCalibViewerGUItime.cxx:202
 AliCalibViewerGUItime.cxx:203
 AliCalibViewerGUItime.cxx:204
 AliCalibViewerGUItime.cxx:205
 AliCalibViewerGUItime.cxx:206
 AliCalibViewerGUItime.cxx:207
 AliCalibViewerGUItime.cxx:208
 AliCalibViewerGUItime.cxx:209
 AliCalibViewerGUItime.cxx:210
 AliCalibViewerGUItime.cxx:211
 AliCalibViewerGUItime.cxx:212
 AliCalibViewerGUItime.cxx:213
 AliCalibViewerGUItime.cxx:214
 AliCalibViewerGUItime.cxx:215
 AliCalibViewerGUItime.cxx:216
 AliCalibViewerGUItime.cxx:217
 AliCalibViewerGUItime.cxx:218
 AliCalibViewerGUItime.cxx:219
 AliCalibViewerGUItime.cxx:220
 AliCalibViewerGUItime.cxx:221
 AliCalibViewerGUItime.cxx:222
 AliCalibViewerGUItime.cxx:223
 AliCalibViewerGUItime.cxx:224
 AliCalibViewerGUItime.cxx:225
 AliCalibViewerGUItime.cxx:226
 AliCalibViewerGUItime.cxx:227
 AliCalibViewerGUItime.cxx:228
 AliCalibViewerGUItime.cxx:229
 AliCalibViewerGUItime.cxx:230
 AliCalibViewerGUItime.cxx:231
 AliCalibViewerGUItime.cxx:232
 AliCalibViewerGUItime.cxx:233
 AliCalibViewerGUItime.cxx:234
 AliCalibViewerGUItime.cxx:235
 AliCalibViewerGUItime.cxx:236
 AliCalibViewerGUItime.cxx:237
 AliCalibViewerGUItime.cxx:238
 AliCalibViewerGUItime.cxx:239
 AliCalibViewerGUItime.cxx:240
 AliCalibViewerGUItime.cxx:241
 AliCalibViewerGUItime.cxx:242
 AliCalibViewerGUItime.cxx:243
 AliCalibViewerGUItime.cxx:244
 AliCalibViewerGUItime.cxx:245
 AliCalibViewerGUItime.cxx:246
 AliCalibViewerGUItime.cxx:247
 AliCalibViewerGUItime.cxx:248
 AliCalibViewerGUItime.cxx:249
 AliCalibViewerGUItime.cxx:250
 AliCalibViewerGUItime.cxx:251
 AliCalibViewerGUItime.cxx:252
 AliCalibViewerGUItime.cxx:253
 AliCalibViewerGUItime.cxx:254
 AliCalibViewerGUItime.cxx:255
 AliCalibViewerGUItime.cxx:256
 AliCalibViewerGUItime.cxx:257
 AliCalibViewerGUItime.cxx:258
 AliCalibViewerGUItime.cxx:259
 AliCalibViewerGUItime.cxx:260
 AliCalibViewerGUItime.cxx:261
 AliCalibViewerGUItime.cxx:262
 AliCalibViewerGUItime.cxx:263
 AliCalibViewerGUItime.cxx:264
 AliCalibViewerGUItime.cxx:265
 AliCalibViewerGUItime.cxx:266
 AliCalibViewerGUItime.cxx:267
 AliCalibViewerGUItime.cxx:268
 AliCalibViewerGUItime.cxx:269
 AliCalibViewerGUItime.cxx:270
 AliCalibViewerGUItime.cxx:271
 AliCalibViewerGUItime.cxx:272
 AliCalibViewerGUItime.cxx:273
 AliCalibViewerGUItime.cxx:274
 AliCalibViewerGUItime.cxx:275
 AliCalibViewerGUItime.cxx:276
 AliCalibViewerGUItime.cxx:277
 AliCalibViewerGUItime.cxx:278
 AliCalibViewerGUItime.cxx:279
 AliCalibViewerGUItime.cxx:280
 AliCalibViewerGUItime.cxx:281
 AliCalibViewerGUItime.cxx:282
 AliCalibViewerGUItime.cxx:283
 AliCalibViewerGUItime.cxx:284
 AliCalibViewerGUItime.cxx:285
 AliCalibViewerGUItime.cxx:286
 AliCalibViewerGUItime.cxx:287
 AliCalibViewerGUItime.cxx:288
 AliCalibViewerGUItime.cxx:289
 AliCalibViewerGUItime.cxx:290
 AliCalibViewerGUItime.cxx:291
 AliCalibViewerGUItime.cxx:292
 AliCalibViewerGUItime.cxx:293
 AliCalibViewerGUItime.cxx:294
 AliCalibViewerGUItime.cxx:295
 AliCalibViewerGUItime.cxx:296
 AliCalibViewerGUItime.cxx:297
 AliCalibViewerGUItime.cxx:298
 AliCalibViewerGUItime.cxx:299
 AliCalibViewerGUItime.cxx:300
 AliCalibViewerGUItime.cxx:301
 AliCalibViewerGUItime.cxx:302
 AliCalibViewerGUItime.cxx:303
 AliCalibViewerGUItime.cxx:304
 AliCalibViewerGUItime.cxx:305
 AliCalibViewerGUItime.cxx:306
 AliCalibViewerGUItime.cxx:307
 AliCalibViewerGUItime.cxx:308
 AliCalibViewerGUItime.cxx:309
 AliCalibViewerGUItime.cxx:310
 AliCalibViewerGUItime.cxx:311
 AliCalibViewerGUItime.cxx:312
 AliCalibViewerGUItime.cxx:313
 AliCalibViewerGUItime.cxx:314
 AliCalibViewerGUItime.cxx:315
 AliCalibViewerGUItime.cxx:316
 AliCalibViewerGUItime.cxx:317
 AliCalibViewerGUItime.cxx:318
 AliCalibViewerGUItime.cxx:319
 AliCalibViewerGUItime.cxx:320
 AliCalibViewerGUItime.cxx:321
 AliCalibViewerGUItime.cxx:322
 AliCalibViewerGUItime.cxx:323
 AliCalibViewerGUItime.cxx:324
 AliCalibViewerGUItime.cxx:325
 AliCalibViewerGUItime.cxx:326
 AliCalibViewerGUItime.cxx:327
 AliCalibViewerGUItime.cxx:328
 AliCalibViewerGUItime.cxx:329
 AliCalibViewerGUItime.cxx:330
 AliCalibViewerGUItime.cxx:331
 AliCalibViewerGUItime.cxx:332
 AliCalibViewerGUItime.cxx:333
 AliCalibViewerGUItime.cxx:334
 AliCalibViewerGUItime.cxx:335
 AliCalibViewerGUItime.cxx:336
 AliCalibViewerGUItime.cxx:337
 AliCalibViewerGUItime.cxx:338
 AliCalibViewerGUItime.cxx:339
 AliCalibViewerGUItime.cxx:340
 AliCalibViewerGUItime.cxx:341
 AliCalibViewerGUItime.cxx:342
 AliCalibViewerGUItime.cxx:343
 AliCalibViewerGUItime.cxx:344
 AliCalibViewerGUItime.cxx:345
 AliCalibViewerGUItime.cxx:346
 AliCalibViewerGUItime.cxx:347
 AliCalibViewerGUItime.cxx:348
 AliCalibViewerGUItime.cxx:349
 AliCalibViewerGUItime.cxx:350
 AliCalibViewerGUItime.cxx:351
 AliCalibViewerGUItime.cxx:352
 AliCalibViewerGUItime.cxx:353
 AliCalibViewerGUItime.cxx:354
 AliCalibViewerGUItime.cxx:355
 AliCalibViewerGUItime.cxx:356
 AliCalibViewerGUItime.cxx:357
 AliCalibViewerGUItime.cxx:358
 AliCalibViewerGUItime.cxx:359
 AliCalibViewerGUItime.cxx:360
 AliCalibViewerGUItime.cxx:361
 AliCalibViewerGUItime.cxx:362
 AliCalibViewerGUItime.cxx:363
 AliCalibViewerGUItime.cxx:364
 AliCalibViewerGUItime.cxx:365
 AliCalibViewerGUItime.cxx:366
 AliCalibViewerGUItime.cxx:367
 AliCalibViewerGUItime.cxx:368
 AliCalibViewerGUItime.cxx:369
 AliCalibViewerGUItime.cxx:370
 AliCalibViewerGUItime.cxx:371
 AliCalibViewerGUItime.cxx:372
 AliCalibViewerGUItime.cxx:373
 AliCalibViewerGUItime.cxx:374
 AliCalibViewerGUItime.cxx:375
 AliCalibViewerGUItime.cxx:376
 AliCalibViewerGUItime.cxx:377
 AliCalibViewerGUItime.cxx:378
 AliCalibViewerGUItime.cxx:379
 AliCalibViewerGUItime.cxx:380
 AliCalibViewerGUItime.cxx:381
 AliCalibViewerGUItime.cxx:382
 AliCalibViewerGUItime.cxx:383
 AliCalibViewerGUItime.cxx:384
 AliCalibViewerGUItime.cxx:385
 AliCalibViewerGUItime.cxx:386
 AliCalibViewerGUItime.cxx:387
 AliCalibViewerGUItime.cxx:388
 AliCalibViewerGUItime.cxx:389
 AliCalibViewerGUItime.cxx:390
 AliCalibViewerGUItime.cxx:391
 AliCalibViewerGUItime.cxx:392
 AliCalibViewerGUItime.cxx:393
 AliCalibViewerGUItime.cxx:394
 AliCalibViewerGUItime.cxx:395
 AliCalibViewerGUItime.cxx:396
 AliCalibViewerGUItime.cxx:397
 AliCalibViewerGUItime.cxx:398
 AliCalibViewerGUItime.cxx:399
 AliCalibViewerGUItime.cxx:400
 AliCalibViewerGUItime.cxx:401
 AliCalibViewerGUItime.cxx:402
 AliCalibViewerGUItime.cxx:403
 AliCalibViewerGUItime.cxx:404
 AliCalibViewerGUItime.cxx:405
 AliCalibViewerGUItime.cxx:406
 AliCalibViewerGUItime.cxx:407
 AliCalibViewerGUItime.cxx:408
 AliCalibViewerGUItime.cxx:409
 AliCalibViewerGUItime.cxx:410
 AliCalibViewerGUItime.cxx:411
 AliCalibViewerGUItime.cxx:412
 AliCalibViewerGUItime.cxx:413
 AliCalibViewerGUItime.cxx:414
 AliCalibViewerGUItime.cxx:415
 AliCalibViewerGUItime.cxx:416
 AliCalibViewerGUItime.cxx:417
 AliCalibViewerGUItime.cxx:418
 AliCalibViewerGUItime.cxx:419
 AliCalibViewerGUItime.cxx:420
 AliCalibViewerGUItime.cxx:421
 AliCalibViewerGUItime.cxx:422
 AliCalibViewerGUItime.cxx:423
 AliCalibViewerGUItime.cxx:424
 AliCalibViewerGUItime.cxx:425
 AliCalibViewerGUItime.cxx:426
 AliCalibViewerGUItime.cxx:427
 AliCalibViewerGUItime.cxx:428
 AliCalibViewerGUItime.cxx:429
 AliCalibViewerGUItime.cxx:430
 AliCalibViewerGUItime.cxx:431
 AliCalibViewerGUItime.cxx:432
 AliCalibViewerGUItime.cxx:433
 AliCalibViewerGUItime.cxx:434
 AliCalibViewerGUItime.cxx:435
 AliCalibViewerGUItime.cxx:436
 AliCalibViewerGUItime.cxx:437
 AliCalibViewerGUItime.cxx:438
 AliCalibViewerGUItime.cxx:439
 AliCalibViewerGUItime.cxx:440
 AliCalibViewerGUItime.cxx:441
 AliCalibViewerGUItime.cxx:442
 AliCalibViewerGUItime.cxx:443
 AliCalibViewerGUItime.cxx:444
 AliCalibViewerGUItime.cxx:445
 AliCalibViewerGUItime.cxx:446
 AliCalibViewerGUItime.cxx:447
 AliCalibViewerGUItime.cxx:448
 AliCalibViewerGUItime.cxx:449
 AliCalibViewerGUItime.cxx:450
 AliCalibViewerGUItime.cxx:451
 AliCalibViewerGUItime.cxx:452
 AliCalibViewerGUItime.cxx:453
 AliCalibViewerGUItime.cxx:454
 AliCalibViewerGUItime.cxx:455
 AliCalibViewerGUItime.cxx:456
 AliCalibViewerGUItime.cxx:457
 AliCalibViewerGUItime.cxx:458
 AliCalibViewerGUItime.cxx:459
 AliCalibViewerGUItime.cxx:460
 AliCalibViewerGUItime.cxx:461
 AliCalibViewerGUItime.cxx:462
 AliCalibViewerGUItime.cxx:463
 AliCalibViewerGUItime.cxx:464
 AliCalibViewerGUItime.cxx:465
 AliCalibViewerGUItime.cxx:466
 AliCalibViewerGUItime.cxx:467
 AliCalibViewerGUItime.cxx:468
 AliCalibViewerGUItime.cxx:469
 AliCalibViewerGUItime.cxx:470
 AliCalibViewerGUItime.cxx:471
 AliCalibViewerGUItime.cxx:472
 AliCalibViewerGUItime.cxx:473
 AliCalibViewerGUItime.cxx:474
 AliCalibViewerGUItime.cxx:475
 AliCalibViewerGUItime.cxx:476
 AliCalibViewerGUItime.cxx:477
 AliCalibViewerGUItime.cxx:478
 AliCalibViewerGUItime.cxx:479
 AliCalibViewerGUItime.cxx:480
 AliCalibViewerGUItime.cxx:481
 AliCalibViewerGUItime.cxx:482
 AliCalibViewerGUItime.cxx:483
 AliCalibViewerGUItime.cxx:484
 AliCalibViewerGUItime.cxx:485
 AliCalibViewerGUItime.cxx:486
 AliCalibViewerGUItime.cxx:487
 AliCalibViewerGUItime.cxx:488
 AliCalibViewerGUItime.cxx:489
 AliCalibViewerGUItime.cxx:490
 AliCalibViewerGUItime.cxx:491
 AliCalibViewerGUItime.cxx:492
 AliCalibViewerGUItime.cxx:493
 AliCalibViewerGUItime.cxx:494
 AliCalibViewerGUItime.cxx:495
 AliCalibViewerGUItime.cxx:496
 AliCalibViewerGUItime.cxx:497
 AliCalibViewerGUItime.cxx:498
 AliCalibViewerGUItime.cxx:499
 AliCalibViewerGUItime.cxx:500
 AliCalibViewerGUItime.cxx:501
 AliCalibViewerGUItime.cxx:502
 AliCalibViewerGUItime.cxx:503
 AliCalibViewerGUItime.cxx:504
 AliCalibViewerGUItime.cxx:505
 AliCalibViewerGUItime.cxx:506
 AliCalibViewerGUItime.cxx:507
 AliCalibViewerGUItime.cxx:508
 AliCalibViewerGUItime.cxx:509
 AliCalibViewerGUItime.cxx:510
 AliCalibViewerGUItime.cxx:511
 AliCalibViewerGUItime.cxx:512
 AliCalibViewerGUItime.cxx:513
 AliCalibViewerGUItime.cxx:514
 AliCalibViewerGUItime.cxx:515
 AliCalibViewerGUItime.cxx:516
 AliCalibViewerGUItime.cxx:517
 AliCalibViewerGUItime.cxx:518
 AliCalibViewerGUItime.cxx:519
 AliCalibViewerGUItime.cxx:520
 AliCalibViewerGUItime.cxx:521
 AliCalibViewerGUItime.cxx:522
 AliCalibViewerGUItime.cxx:523
 AliCalibViewerGUItime.cxx:524
 AliCalibViewerGUItime.cxx:525
 AliCalibViewerGUItime.cxx:526
 AliCalibViewerGUItime.cxx:527
 AliCalibViewerGUItime.cxx:528
 AliCalibViewerGUItime.cxx:529
 AliCalibViewerGUItime.cxx:530
 AliCalibViewerGUItime.cxx:531
 AliCalibViewerGUItime.cxx:532
 AliCalibViewerGUItime.cxx:533
 AliCalibViewerGUItime.cxx:534
 AliCalibViewerGUItime.cxx:535
 AliCalibViewerGUItime.cxx:536
 AliCalibViewerGUItime.cxx:537
 AliCalibViewerGUItime.cxx:538
 AliCalibViewerGUItime.cxx:539
 AliCalibViewerGUItime.cxx:540
 AliCalibViewerGUItime.cxx:541
 AliCalibViewerGUItime.cxx:542
 AliCalibViewerGUItime.cxx:543
 AliCalibViewerGUItime.cxx:544
 AliCalibViewerGUItime.cxx:545
 AliCalibViewerGUItime.cxx:546
 AliCalibViewerGUItime.cxx:547
 AliCalibViewerGUItime.cxx:548
 AliCalibViewerGUItime.cxx:549
 AliCalibViewerGUItime.cxx:550
 AliCalibViewerGUItime.cxx:551
 AliCalibViewerGUItime.cxx:552
 AliCalibViewerGUItime.cxx:553
 AliCalibViewerGUItime.cxx:554
 AliCalibViewerGUItime.cxx:555
 AliCalibViewerGUItime.cxx:556
 AliCalibViewerGUItime.cxx:557
 AliCalibViewerGUItime.cxx:558
 AliCalibViewerGUItime.cxx:559
 AliCalibViewerGUItime.cxx:560
 AliCalibViewerGUItime.cxx:561
 AliCalibViewerGUItime.cxx:562
 AliCalibViewerGUItime.cxx:563
 AliCalibViewerGUItime.cxx:564
 AliCalibViewerGUItime.cxx:565
 AliCalibViewerGUItime.cxx:566
 AliCalibViewerGUItime.cxx:567
 AliCalibViewerGUItime.cxx:568
 AliCalibViewerGUItime.cxx:569
 AliCalibViewerGUItime.cxx:570
 AliCalibViewerGUItime.cxx:571
 AliCalibViewerGUItime.cxx:572
 AliCalibViewerGUItime.cxx:573
 AliCalibViewerGUItime.cxx:574
 AliCalibViewerGUItime.cxx:575
 AliCalibViewerGUItime.cxx:576
 AliCalibViewerGUItime.cxx:577
 AliCalibViewerGUItime.cxx:578
 AliCalibViewerGUItime.cxx:579
 AliCalibViewerGUItime.cxx:580
 AliCalibViewerGUItime.cxx:581
 AliCalibViewerGUItime.cxx:582
 AliCalibViewerGUItime.cxx:583
 AliCalibViewerGUItime.cxx:584
 AliCalibViewerGUItime.cxx:585
 AliCalibViewerGUItime.cxx:586
 AliCalibViewerGUItime.cxx:587
 AliCalibViewerGUItime.cxx:588
 AliCalibViewerGUItime.cxx:589
 AliCalibViewerGUItime.cxx:590
 AliCalibViewerGUItime.cxx:591
 AliCalibViewerGUItime.cxx:592
 AliCalibViewerGUItime.cxx:593
 AliCalibViewerGUItime.cxx:594
 AliCalibViewerGUItime.cxx:595
 AliCalibViewerGUItime.cxx:596
 AliCalibViewerGUItime.cxx:597
 AliCalibViewerGUItime.cxx:598
 AliCalibViewerGUItime.cxx:599
 AliCalibViewerGUItime.cxx:600
 AliCalibViewerGUItime.cxx:601
 AliCalibViewerGUItime.cxx:602
 AliCalibViewerGUItime.cxx:603
 AliCalibViewerGUItime.cxx:604
 AliCalibViewerGUItime.cxx:605
 AliCalibViewerGUItime.cxx:606
 AliCalibViewerGUItime.cxx:607
 AliCalibViewerGUItime.cxx:608
 AliCalibViewerGUItime.cxx:609
 AliCalibViewerGUItime.cxx:610
 AliCalibViewerGUItime.cxx:611
 AliCalibViewerGUItime.cxx:612
 AliCalibViewerGUItime.cxx:613
 AliCalibViewerGUItime.cxx:614
 AliCalibViewerGUItime.cxx:615
 AliCalibViewerGUItime.cxx:616
 AliCalibViewerGUItime.cxx:617
 AliCalibViewerGUItime.cxx:618
 AliCalibViewerGUItime.cxx:619
 AliCalibViewerGUItime.cxx:620
 AliCalibViewerGUItime.cxx:621
 AliCalibViewerGUItime.cxx:622
 AliCalibViewerGUItime.cxx:623
 AliCalibViewerGUItime.cxx:624
 AliCalibViewerGUItime.cxx:625
 AliCalibViewerGUItime.cxx:626
 AliCalibViewerGUItime.cxx:627
 AliCalibViewerGUItime.cxx:628
 AliCalibViewerGUItime.cxx:629
 AliCalibViewerGUItime.cxx:630
 AliCalibViewerGUItime.cxx:631
 AliCalibViewerGUItime.cxx:632
 AliCalibViewerGUItime.cxx:633
 AliCalibViewerGUItime.cxx:634
 AliCalibViewerGUItime.cxx:635
 AliCalibViewerGUItime.cxx:636
 AliCalibViewerGUItime.cxx:637
 AliCalibViewerGUItime.cxx:638
 AliCalibViewerGUItime.cxx:639
 AliCalibViewerGUItime.cxx:640
 AliCalibViewerGUItime.cxx:641
 AliCalibViewerGUItime.cxx:642
 AliCalibViewerGUItime.cxx:643
 AliCalibViewerGUItime.cxx:644
 AliCalibViewerGUItime.cxx:645
 AliCalibViewerGUItime.cxx:646
 AliCalibViewerGUItime.cxx:647
 AliCalibViewerGUItime.cxx:648
 AliCalibViewerGUItime.cxx:649
 AliCalibViewerGUItime.cxx:650
 AliCalibViewerGUItime.cxx:651
 AliCalibViewerGUItime.cxx:652
 AliCalibViewerGUItime.cxx:653
 AliCalibViewerGUItime.cxx:654
 AliCalibViewerGUItime.cxx:655
 AliCalibViewerGUItime.cxx:656
 AliCalibViewerGUItime.cxx:657
 AliCalibViewerGUItime.cxx:658
 AliCalibViewerGUItime.cxx:659
 AliCalibViewerGUItime.cxx:660
 AliCalibViewerGUItime.cxx:661
 AliCalibViewerGUItime.cxx:662
 AliCalibViewerGUItime.cxx:663
 AliCalibViewerGUItime.cxx:664
 AliCalibViewerGUItime.cxx:665
 AliCalibViewerGUItime.cxx:666
 AliCalibViewerGUItime.cxx:667
 AliCalibViewerGUItime.cxx:668
 AliCalibViewerGUItime.cxx:669
 AliCalibViewerGUItime.cxx:670
 AliCalibViewerGUItime.cxx:671
 AliCalibViewerGUItime.cxx:672
 AliCalibViewerGUItime.cxx:673
 AliCalibViewerGUItime.cxx:674
 AliCalibViewerGUItime.cxx:675
 AliCalibViewerGUItime.cxx:676
 AliCalibViewerGUItime.cxx:677
 AliCalibViewerGUItime.cxx:678
 AliCalibViewerGUItime.cxx:679
 AliCalibViewerGUItime.cxx:680
 AliCalibViewerGUItime.cxx:681
 AliCalibViewerGUItime.cxx:682
 AliCalibViewerGUItime.cxx:683
 AliCalibViewerGUItime.cxx:684
 AliCalibViewerGUItime.cxx:685
 AliCalibViewerGUItime.cxx:686
 AliCalibViewerGUItime.cxx:687
 AliCalibViewerGUItime.cxx:688
 AliCalibViewerGUItime.cxx:689
 AliCalibViewerGUItime.cxx:690
 AliCalibViewerGUItime.cxx:691
 AliCalibViewerGUItime.cxx:692
 AliCalibViewerGUItime.cxx:693
 AliCalibViewerGUItime.cxx:694
 AliCalibViewerGUItime.cxx:695
 AliCalibViewerGUItime.cxx:696
 AliCalibViewerGUItime.cxx:697
 AliCalibViewerGUItime.cxx:698
 AliCalibViewerGUItime.cxx:699
 AliCalibViewerGUItime.cxx:700
 AliCalibViewerGUItime.cxx:701
 AliCalibViewerGUItime.cxx:702
 AliCalibViewerGUItime.cxx:703
 AliCalibViewerGUItime.cxx:704
 AliCalibViewerGUItime.cxx:705
 AliCalibViewerGUItime.cxx:706
 AliCalibViewerGUItime.cxx:707
 AliCalibViewerGUItime.cxx:708
 AliCalibViewerGUItime.cxx:709
 AliCalibViewerGUItime.cxx:710
 AliCalibViewerGUItime.cxx:711
 AliCalibViewerGUItime.cxx:712
 AliCalibViewerGUItime.cxx:713
 AliCalibViewerGUItime.cxx:714
 AliCalibViewerGUItime.cxx:715
 AliCalibViewerGUItime.cxx:716
 AliCalibViewerGUItime.cxx:717
 AliCalibViewerGUItime.cxx:718
 AliCalibViewerGUItime.cxx:719
 AliCalibViewerGUItime.cxx:720
 AliCalibViewerGUItime.cxx:721
 AliCalibViewerGUItime.cxx:722
 AliCalibViewerGUItime.cxx:723
 AliCalibViewerGUItime.cxx:724
 AliCalibViewerGUItime.cxx:725
 AliCalibViewerGUItime.cxx:726
 AliCalibViewerGUItime.cxx:727
 AliCalibViewerGUItime.cxx:728
 AliCalibViewerGUItime.cxx:729
 AliCalibViewerGUItime.cxx:730
 AliCalibViewerGUItime.cxx:731
 AliCalibViewerGUItime.cxx:732
 AliCalibViewerGUItime.cxx:733
 AliCalibViewerGUItime.cxx:734
 AliCalibViewerGUItime.cxx:735
 AliCalibViewerGUItime.cxx:736
 AliCalibViewerGUItime.cxx:737
 AliCalibViewerGUItime.cxx:738
 AliCalibViewerGUItime.cxx:739
 AliCalibViewerGUItime.cxx:740
 AliCalibViewerGUItime.cxx:741
 AliCalibViewerGUItime.cxx:742
 AliCalibViewerGUItime.cxx:743
 AliCalibViewerGUItime.cxx:744
 AliCalibViewerGUItime.cxx:745
 AliCalibViewerGUItime.cxx:746
 AliCalibViewerGUItime.cxx:747
 AliCalibViewerGUItime.cxx:748
 AliCalibViewerGUItime.cxx:749
 AliCalibViewerGUItime.cxx:750
 AliCalibViewerGUItime.cxx:751
 AliCalibViewerGUItime.cxx:752
 AliCalibViewerGUItime.cxx:753
 AliCalibViewerGUItime.cxx:754
 AliCalibViewerGUItime.cxx:755
 AliCalibViewerGUItime.cxx:756
 AliCalibViewerGUItime.cxx:757
 AliCalibViewerGUItime.cxx:758
 AliCalibViewerGUItime.cxx:759
 AliCalibViewerGUItime.cxx:760
 AliCalibViewerGUItime.cxx:761
 AliCalibViewerGUItime.cxx:762
 AliCalibViewerGUItime.cxx:763
 AliCalibViewerGUItime.cxx:764
 AliCalibViewerGUItime.cxx:765
 AliCalibViewerGUItime.cxx:766
 AliCalibViewerGUItime.cxx:767
 AliCalibViewerGUItime.cxx:768
 AliCalibViewerGUItime.cxx:769
 AliCalibViewerGUItime.cxx:770
 AliCalibViewerGUItime.cxx:771
 AliCalibViewerGUItime.cxx:772
 AliCalibViewerGUItime.cxx:773
 AliCalibViewerGUItime.cxx:774
 AliCalibViewerGUItime.cxx:775
 AliCalibViewerGUItime.cxx:776
 AliCalibViewerGUItime.cxx:777
 AliCalibViewerGUItime.cxx:778
 AliCalibViewerGUItime.cxx:779
 AliCalibViewerGUItime.cxx:780
 AliCalibViewerGUItime.cxx:781
 AliCalibViewerGUItime.cxx:782
 AliCalibViewerGUItime.cxx:783
 AliCalibViewerGUItime.cxx:784
 AliCalibViewerGUItime.cxx:785
 AliCalibViewerGUItime.cxx:786
 AliCalibViewerGUItime.cxx:787
 AliCalibViewerGUItime.cxx:788
 AliCalibViewerGUItime.cxx:789
 AliCalibViewerGUItime.cxx:790
 AliCalibViewerGUItime.cxx:791
 AliCalibViewerGUItime.cxx:792
 AliCalibViewerGUItime.cxx:793
 AliCalibViewerGUItime.cxx:794
 AliCalibViewerGUItime.cxx:795
 AliCalibViewerGUItime.cxx:796
 AliCalibViewerGUItime.cxx:797
 AliCalibViewerGUItime.cxx:798
 AliCalibViewerGUItime.cxx:799
 AliCalibViewerGUItime.cxx:800
 AliCalibViewerGUItime.cxx:801
 AliCalibViewerGUItime.cxx:802
 AliCalibViewerGUItime.cxx:803
 AliCalibViewerGUItime.cxx:804
 AliCalibViewerGUItime.cxx:805
 AliCalibViewerGUItime.cxx:806
 AliCalibViewerGUItime.cxx:807
 AliCalibViewerGUItime.cxx:808
 AliCalibViewerGUItime.cxx:809
 AliCalibViewerGUItime.cxx:810
 AliCalibViewerGUItime.cxx:811
 AliCalibViewerGUItime.cxx:812
 AliCalibViewerGUItime.cxx:813
 AliCalibViewerGUItime.cxx:814
 AliCalibViewerGUItime.cxx:815
 AliCalibViewerGUItime.cxx:816
 AliCalibViewerGUItime.cxx:817
 AliCalibViewerGUItime.cxx:818
 AliCalibViewerGUItime.cxx:819
 AliCalibViewerGUItime.cxx:820
 AliCalibViewerGUItime.cxx:821
 AliCalibViewerGUItime.cxx:822
 AliCalibViewerGUItime.cxx:823
 AliCalibViewerGUItime.cxx:824
 AliCalibViewerGUItime.cxx:825
 AliCalibViewerGUItime.cxx:826
 AliCalibViewerGUItime.cxx:827
 AliCalibViewerGUItime.cxx:828
 AliCalibViewerGUItime.cxx:829
 AliCalibViewerGUItime.cxx:830
 AliCalibViewerGUItime.cxx:831
 AliCalibViewerGUItime.cxx:832
 AliCalibViewerGUItime.cxx:833
 AliCalibViewerGUItime.cxx:834
 AliCalibViewerGUItime.cxx:835
 AliCalibViewerGUItime.cxx:836
 AliCalibViewerGUItime.cxx:837
 AliCalibViewerGUItime.cxx:838
 AliCalibViewerGUItime.cxx:839
 AliCalibViewerGUItime.cxx:840
 AliCalibViewerGUItime.cxx:841
 AliCalibViewerGUItime.cxx:842
 AliCalibViewerGUItime.cxx:843
 AliCalibViewerGUItime.cxx:844
 AliCalibViewerGUItime.cxx:845
 AliCalibViewerGUItime.cxx:846
 AliCalibViewerGUItime.cxx:847
 AliCalibViewerGUItime.cxx:848
 AliCalibViewerGUItime.cxx:849
 AliCalibViewerGUItime.cxx:850
 AliCalibViewerGUItime.cxx:851
 AliCalibViewerGUItime.cxx:852
 AliCalibViewerGUItime.cxx:853
 AliCalibViewerGUItime.cxx:854
 AliCalibViewerGUItime.cxx:855
 AliCalibViewerGUItime.cxx:856
 AliCalibViewerGUItime.cxx:857
 AliCalibViewerGUItime.cxx:858
 AliCalibViewerGUItime.cxx:859
 AliCalibViewerGUItime.cxx:860
 AliCalibViewerGUItime.cxx:861
 AliCalibViewerGUItime.cxx:862
 AliCalibViewerGUItime.cxx:863
 AliCalibViewerGUItime.cxx:864
 AliCalibViewerGUItime.cxx:865
 AliCalibViewerGUItime.cxx:866
 AliCalibViewerGUItime.cxx:867
 AliCalibViewerGUItime.cxx:868
 AliCalibViewerGUItime.cxx:869
 AliCalibViewerGUItime.cxx:870
 AliCalibViewerGUItime.cxx:871
 AliCalibViewerGUItime.cxx:872
 AliCalibViewerGUItime.cxx:873
 AliCalibViewerGUItime.cxx:874
 AliCalibViewerGUItime.cxx:875
 AliCalibViewerGUItime.cxx:876
 AliCalibViewerGUItime.cxx:877
 AliCalibViewerGUItime.cxx:878
 AliCalibViewerGUItime.cxx:879
 AliCalibViewerGUItime.cxx:880
 AliCalibViewerGUItime.cxx:881
 AliCalibViewerGUItime.cxx:882
 AliCalibViewerGUItime.cxx:883
 AliCalibViewerGUItime.cxx:884
 AliCalibViewerGUItime.cxx:885
 AliCalibViewerGUItime.cxx:886
 AliCalibViewerGUItime.cxx:887
 AliCalibViewerGUItime.cxx:888
 AliCalibViewerGUItime.cxx:889
 AliCalibViewerGUItime.cxx:890
 AliCalibViewerGUItime.cxx:891
 AliCalibViewerGUItime.cxx:892
 AliCalibViewerGUItime.cxx:893
 AliCalibViewerGUItime.cxx:894
 AliCalibViewerGUItime.cxx:895
 AliCalibViewerGUItime.cxx:896
 AliCalibViewerGUItime.cxx:897
 AliCalibViewerGUItime.cxx:898
 AliCalibViewerGUItime.cxx:899
 AliCalibViewerGUItime.cxx:900
 AliCalibViewerGUItime.cxx:901
 AliCalibViewerGUItime.cxx:902
 AliCalibViewerGUItime.cxx:903
 AliCalibViewerGUItime.cxx:904
 AliCalibViewerGUItime.cxx:905
 AliCalibViewerGUItime.cxx:906
 AliCalibViewerGUItime.cxx:907
 AliCalibViewerGUItime.cxx:908
 AliCalibViewerGUItime.cxx:909
 AliCalibViewerGUItime.cxx:910
 AliCalibViewerGUItime.cxx:911
 AliCalibViewerGUItime.cxx:912
 AliCalibViewerGUItime.cxx:913
 AliCalibViewerGUItime.cxx:914
 AliCalibViewerGUItime.cxx:915
 AliCalibViewerGUItime.cxx:916
 AliCalibViewerGUItime.cxx:917
 AliCalibViewerGUItime.cxx:918
 AliCalibViewerGUItime.cxx:919
 AliCalibViewerGUItime.cxx:920
 AliCalibViewerGUItime.cxx:921
 AliCalibViewerGUItime.cxx:922
 AliCalibViewerGUItime.cxx:923
 AliCalibViewerGUItime.cxx:924
 AliCalibViewerGUItime.cxx:925
 AliCalibViewerGUItime.cxx:926
 AliCalibViewerGUItime.cxx:927
 AliCalibViewerGUItime.cxx:928
 AliCalibViewerGUItime.cxx:929
 AliCalibViewerGUItime.cxx:930
 AliCalibViewerGUItime.cxx:931
 AliCalibViewerGUItime.cxx:932
 AliCalibViewerGUItime.cxx:933
 AliCalibViewerGUItime.cxx:934
 AliCalibViewerGUItime.cxx:935
 AliCalibViewerGUItime.cxx:936
 AliCalibViewerGUItime.cxx:937
 AliCalibViewerGUItime.cxx:938
 AliCalibViewerGUItime.cxx:939
 AliCalibViewerGUItime.cxx:940
 AliCalibViewerGUItime.cxx:941
 AliCalibViewerGUItime.cxx:942
 AliCalibViewerGUItime.cxx:943
 AliCalibViewerGUItime.cxx:944
 AliCalibViewerGUItime.cxx:945
 AliCalibViewerGUItime.cxx:946
 AliCalibViewerGUItime.cxx:947
 AliCalibViewerGUItime.cxx:948
 AliCalibViewerGUItime.cxx:949
 AliCalibViewerGUItime.cxx:950
 AliCalibViewerGUItime.cxx:951
 AliCalibViewerGUItime.cxx:952
 AliCalibViewerGUItime.cxx:953
 AliCalibViewerGUItime.cxx:954
 AliCalibViewerGUItime.cxx:955
 AliCalibViewerGUItime.cxx:956
 AliCalibViewerGUItime.cxx:957
 AliCalibViewerGUItime.cxx:958
 AliCalibViewerGUItime.cxx:959
 AliCalibViewerGUItime.cxx:960
 AliCalibViewerGUItime.cxx:961
 AliCalibViewerGUItime.cxx:962
 AliCalibViewerGUItime.cxx:963
 AliCalibViewerGUItime.cxx:964
 AliCalibViewerGUItime.cxx:965
 AliCalibViewerGUItime.cxx:966
 AliCalibViewerGUItime.cxx:967
 AliCalibViewerGUItime.cxx:968
 AliCalibViewerGUItime.cxx:969
 AliCalibViewerGUItime.cxx:970
 AliCalibViewerGUItime.cxx:971
 AliCalibViewerGUItime.cxx:972
 AliCalibViewerGUItime.cxx:973
 AliCalibViewerGUItime.cxx:974
 AliCalibViewerGUItime.cxx:975
 AliCalibViewerGUItime.cxx:976
 AliCalibViewerGUItime.cxx:977
 AliCalibViewerGUItime.cxx:978
 AliCalibViewerGUItime.cxx:979
 AliCalibViewerGUItime.cxx:980
 AliCalibViewerGUItime.cxx:981
 AliCalibViewerGUItime.cxx:982
 AliCalibViewerGUItime.cxx:983
 AliCalibViewerGUItime.cxx:984
 AliCalibViewerGUItime.cxx:985
 AliCalibViewerGUItime.cxx:986
 AliCalibViewerGUItime.cxx:987
 AliCalibViewerGUItime.cxx:988
 AliCalibViewerGUItime.cxx:989
 AliCalibViewerGUItime.cxx:990
 AliCalibViewerGUItime.cxx:991
 AliCalibViewerGUItime.cxx:992
 AliCalibViewerGUItime.cxx:993
 AliCalibViewerGUItime.cxx:994
 AliCalibViewerGUItime.cxx:995
 AliCalibViewerGUItime.cxx:996
 AliCalibViewerGUItime.cxx:997
 AliCalibViewerGUItime.cxx:998
 AliCalibViewerGUItime.cxx:999
 AliCalibViewerGUItime.cxx:1000
 AliCalibViewerGUItime.cxx:1001
 AliCalibViewerGUItime.cxx:1002
 AliCalibViewerGUItime.cxx:1003
 AliCalibViewerGUItime.cxx:1004
 AliCalibViewerGUItime.cxx:1005
 AliCalibViewerGUItime.cxx:1006
 AliCalibViewerGUItime.cxx:1007
 AliCalibViewerGUItime.cxx:1008
 AliCalibViewerGUItime.cxx:1009
 AliCalibViewerGUItime.cxx:1010
 AliCalibViewerGUItime.cxx:1011
 AliCalibViewerGUItime.cxx:1012
 AliCalibViewerGUItime.cxx:1013
 AliCalibViewerGUItime.cxx:1014
 AliCalibViewerGUItime.cxx:1015
 AliCalibViewerGUItime.cxx:1016
 AliCalibViewerGUItime.cxx:1017
 AliCalibViewerGUItime.cxx:1018
 AliCalibViewerGUItime.cxx:1019
 AliCalibViewerGUItime.cxx:1020
 AliCalibViewerGUItime.cxx:1021
 AliCalibViewerGUItime.cxx:1022
 AliCalibViewerGUItime.cxx:1023
 AliCalibViewerGUItime.cxx:1024
 AliCalibViewerGUItime.cxx:1025
 AliCalibViewerGUItime.cxx:1026
 AliCalibViewerGUItime.cxx:1027
 AliCalibViewerGUItime.cxx:1028
 AliCalibViewerGUItime.cxx:1029
 AliCalibViewerGUItime.cxx:1030
 AliCalibViewerGUItime.cxx:1031
 AliCalibViewerGUItime.cxx:1032
 AliCalibViewerGUItime.cxx:1033
 AliCalibViewerGUItime.cxx:1034
 AliCalibViewerGUItime.cxx:1035
 AliCalibViewerGUItime.cxx:1036
 AliCalibViewerGUItime.cxx:1037
 AliCalibViewerGUItime.cxx:1038
 AliCalibViewerGUItime.cxx:1039
 AliCalibViewerGUItime.cxx:1040
 AliCalibViewerGUItime.cxx:1041
 AliCalibViewerGUItime.cxx:1042
 AliCalibViewerGUItime.cxx:1043
 AliCalibViewerGUItime.cxx:1044
 AliCalibViewerGUItime.cxx:1045
 AliCalibViewerGUItime.cxx:1046
 AliCalibViewerGUItime.cxx:1047
 AliCalibViewerGUItime.cxx:1048
 AliCalibViewerGUItime.cxx:1049
 AliCalibViewerGUItime.cxx:1050
 AliCalibViewerGUItime.cxx:1051
 AliCalibViewerGUItime.cxx:1052
 AliCalibViewerGUItime.cxx:1053
 AliCalibViewerGUItime.cxx:1054
 AliCalibViewerGUItime.cxx:1055
 AliCalibViewerGUItime.cxx:1056
 AliCalibViewerGUItime.cxx:1057
 AliCalibViewerGUItime.cxx:1058
 AliCalibViewerGUItime.cxx:1059
 AliCalibViewerGUItime.cxx:1060
 AliCalibViewerGUItime.cxx:1061
 AliCalibViewerGUItime.cxx:1062
 AliCalibViewerGUItime.cxx:1063
 AliCalibViewerGUItime.cxx:1064
 AliCalibViewerGUItime.cxx:1065
 AliCalibViewerGUItime.cxx:1066
 AliCalibViewerGUItime.cxx:1067
 AliCalibViewerGUItime.cxx:1068
 AliCalibViewerGUItime.cxx:1069
 AliCalibViewerGUItime.cxx:1070
 AliCalibViewerGUItime.cxx:1071
 AliCalibViewerGUItime.cxx:1072
 AliCalibViewerGUItime.cxx:1073
 AliCalibViewerGUItime.cxx:1074
 AliCalibViewerGUItime.cxx:1075
 AliCalibViewerGUItime.cxx:1076
 AliCalibViewerGUItime.cxx:1077
 AliCalibViewerGUItime.cxx:1078
 AliCalibViewerGUItime.cxx:1079
 AliCalibViewerGUItime.cxx:1080
 AliCalibViewerGUItime.cxx:1081
 AliCalibViewerGUItime.cxx:1082
 AliCalibViewerGUItime.cxx:1083
 AliCalibViewerGUItime.cxx:1084
 AliCalibViewerGUItime.cxx:1085
 AliCalibViewerGUItime.cxx:1086
 AliCalibViewerGUItime.cxx:1087
 AliCalibViewerGUItime.cxx:1088
 AliCalibViewerGUItime.cxx:1089
 AliCalibViewerGUItime.cxx:1090
 AliCalibViewerGUItime.cxx:1091
 AliCalibViewerGUItime.cxx:1092
 AliCalibViewerGUItime.cxx:1093
 AliCalibViewerGUItime.cxx:1094
 AliCalibViewerGUItime.cxx:1095
 AliCalibViewerGUItime.cxx:1096
 AliCalibViewerGUItime.cxx:1097
 AliCalibViewerGUItime.cxx:1098
 AliCalibViewerGUItime.cxx:1099
 AliCalibViewerGUItime.cxx:1100
 AliCalibViewerGUItime.cxx:1101
 AliCalibViewerGUItime.cxx:1102
 AliCalibViewerGUItime.cxx:1103
 AliCalibViewerGUItime.cxx:1104
 AliCalibViewerGUItime.cxx:1105
 AliCalibViewerGUItime.cxx:1106
 AliCalibViewerGUItime.cxx:1107
 AliCalibViewerGUItime.cxx:1108
 AliCalibViewerGUItime.cxx:1109
 AliCalibViewerGUItime.cxx:1110
 AliCalibViewerGUItime.cxx:1111
 AliCalibViewerGUItime.cxx:1112
 AliCalibViewerGUItime.cxx:1113
 AliCalibViewerGUItime.cxx:1114
 AliCalibViewerGUItime.cxx:1115
 AliCalibViewerGUItime.cxx:1116
 AliCalibViewerGUItime.cxx:1117
 AliCalibViewerGUItime.cxx:1118
 AliCalibViewerGUItime.cxx:1119
 AliCalibViewerGUItime.cxx:1120
 AliCalibViewerGUItime.cxx:1121
 AliCalibViewerGUItime.cxx:1122
 AliCalibViewerGUItime.cxx:1123
 AliCalibViewerGUItime.cxx:1124
 AliCalibViewerGUItime.cxx:1125
 AliCalibViewerGUItime.cxx:1126
 AliCalibViewerGUItime.cxx:1127
 AliCalibViewerGUItime.cxx:1128
 AliCalibViewerGUItime.cxx:1129
 AliCalibViewerGUItime.cxx:1130
 AliCalibViewerGUItime.cxx:1131
 AliCalibViewerGUItime.cxx:1132
 AliCalibViewerGUItime.cxx:1133
 AliCalibViewerGUItime.cxx:1134
 AliCalibViewerGUItime.cxx:1135
 AliCalibViewerGUItime.cxx:1136
 AliCalibViewerGUItime.cxx:1137
 AliCalibViewerGUItime.cxx:1138
 AliCalibViewerGUItime.cxx:1139
 AliCalibViewerGUItime.cxx:1140
 AliCalibViewerGUItime.cxx:1141
 AliCalibViewerGUItime.cxx:1142
 AliCalibViewerGUItime.cxx:1143
 AliCalibViewerGUItime.cxx:1144
 AliCalibViewerGUItime.cxx:1145
 AliCalibViewerGUItime.cxx:1146
 AliCalibViewerGUItime.cxx:1147
 AliCalibViewerGUItime.cxx:1148
 AliCalibViewerGUItime.cxx:1149
 AliCalibViewerGUItime.cxx:1150
 AliCalibViewerGUItime.cxx:1151
 AliCalibViewerGUItime.cxx:1152
 AliCalibViewerGUItime.cxx:1153
 AliCalibViewerGUItime.cxx:1154
 AliCalibViewerGUItime.cxx:1155
 AliCalibViewerGUItime.cxx:1156
 AliCalibViewerGUItime.cxx:1157
 AliCalibViewerGUItime.cxx:1158
 AliCalibViewerGUItime.cxx:1159
 AliCalibViewerGUItime.cxx:1160
 AliCalibViewerGUItime.cxx:1161
 AliCalibViewerGUItime.cxx:1162
 AliCalibViewerGUItime.cxx:1163
 AliCalibViewerGUItime.cxx:1164
 AliCalibViewerGUItime.cxx:1165
 AliCalibViewerGUItime.cxx:1166
 AliCalibViewerGUItime.cxx:1167
 AliCalibViewerGUItime.cxx:1168
 AliCalibViewerGUItime.cxx:1169
 AliCalibViewerGUItime.cxx:1170
 AliCalibViewerGUItime.cxx:1171
 AliCalibViewerGUItime.cxx:1172
 AliCalibViewerGUItime.cxx:1173
 AliCalibViewerGUItime.cxx:1174
 AliCalibViewerGUItime.cxx:1175
 AliCalibViewerGUItime.cxx:1176
 AliCalibViewerGUItime.cxx:1177
 AliCalibViewerGUItime.cxx:1178
 AliCalibViewerGUItime.cxx:1179
 AliCalibViewerGUItime.cxx:1180
 AliCalibViewerGUItime.cxx:1181
 AliCalibViewerGUItime.cxx:1182
 AliCalibViewerGUItime.cxx:1183
 AliCalibViewerGUItime.cxx:1184
 AliCalibViewerGUItime.cxx:1185
 AliCalibViewerGUItime.cxx:1186
 AliCalibViewerGUItime.cxx:1187
 AliCalibViewerGUItime.cxx:1188
 AliCalibViewerGUItime.cxx:1189
 AliCalibViewerGUItime.cxx:1190
 AliCalibViewerGUItime.cxx:1191
 AliCalibViewerGUItime.cxx:1192
 AliCalibViewerGUItime.cxx:1193
 AliCalibViewerGUItime.cxx:1194
 AliCalibViewerGUItime.cxx:1195
 AliCalibViewerGUItime.cxx:1196
 AliCalibViewerGUItime.cxx:1197
 AliCalibViewerGUItime.cxx:1198
 AliCalibViewerGUItime.cxx:1199
 AliCalibViewerGUItime.cxx:1200
 AliCalibViewerGUItime.cxx:1201
 AliCalibViewerGUItime.cxx:1202
 AliCalibViewerGUItime.cxx:1203
 AliCalibViewerGUItime.cxx:1204
 AliCalibViewerGUItime.cxx:1205
 AliCalibViewerGUItime.cxx:1206
 AliCalibViewerGUItime.cxx:1207
 AliCalibViewerGUItime.cxx:1208
 AliCalibViewerGUItime.cxx:1209
 AliCalibViewerGUItime.cxx:1210
 AliCalibViewerGUItime.cxx:1211
 AliCalibViewerGUItime.cxx:1212
 AliCalibViewerGUItime.cxx:1213
 AliCalibViewerGUItime.cxx:1214
 AliCalibViewerGUItime.cxx:1215
 AliCalibViewerGUItime.cxx:1216
 AliCalibViewerGUItime.cxx:1217
 AliCalibViewerGUItime.cxx:1218
 AliCalibViewerGUItime.cxx:1219
 AliCalibViewerGUItime.cxx:1220
 AliCalibViewerGUItime.cxx:1221
 AliCalibViewerGUItime.cxx:1222
 AliCalibViewerGUItime.cxx:1223
 AliCalibViewerGUItime.cxx:1224
 AliCalibViewerGUItime.cxx:1225
 AliCalibViewerGUItime.cxx:1226
 AliCalibViewerGUItime.cxx:1227
 AliCalibViewerGUItime.cxx:1228
 AliCalibViewerGUItime.cxx:1229
 AliCalibViewerGUItime.cxx:1230
 AliCalibViewerGUItime.cxx:1231
 AliCalibViewerGUItime.cxx:1232
 AliCalibViewerGUItime.cxx:1233
 AliCalibViewerGUItime.cxx:1234
 AliCalibViewerGUItime.cxx:1235
 AliCalibViewerGUItime.cxx:1236
 AliCalibViewerGUItime.cxx:1237
 AliCalibViewerGUItime.cxx:1238
 AliCalibViewerGUItime.cxx:1239
 AliCalibViewerGUItime.cxx:1240
 AliCalibViewerGUItime.cxx:1241
 AliCalibViewerGUItime.cxx:1242
 AliCalibViewerGUItime.cxx:1243
 AliCalibViewerGUItime.cxx:1244
 AliCalibViewerGUItime.cxx:1245
 AliCalibViewerGUItime.cxx:1246
 AliCalibViewerGUItime.cxx:1247
 AliCalibViewerGUItime.cxx:1248
 AliCalibViewerGUItime.cxx:1249
 AliCalibViewerGUItime.cxx:1250
 AliCalibViewerGUItime.cxx:1251
 AliCalibViewerGUItime.cxx:1252
 AliCalibViewerGUItime.cxx:1253
 AliCalibViewerGUItime.cxx:1254
 AliCalibViewerGUItime.cxx:1255
 AliCalibViewerGUItime.cxx:1256
 AliCalibViewerGUItime.cxx:1257
 AliCalibViewerGUItime.cxx:1258
 AliCalibViewerGUItime.cxx:1259
 AliCalibViewerGUItime.cxx:1260
 AliCalibViewerGUItime.cxx:1261
 AliCalibViewerGUItime.cxx:1262
 AliCalibViewerGUItime.cxx:1263
 AliCalibViewerGUItime.cxx:1264
 AliCalibViewerGUItime.cxx:1265
 AliCalibViewerGUItime.cxx:1266
 AliCalibViewerGUItime.cxx:1267
 AliCalibViewerGUItime.cxx:1268
 AliCalibViewerGUItime.cxx:1269
 AliCalibViewerGUItime.cxx:1270
 AliCalibViewerGUItime.cxx:1271
 AliCalibViewerGUItime.cxx:1272
 AliCalibViewerGUItime.cxx:1273
 AliCalibViewerGUItime.cxx:1274
 AliCalibViewerGUItime.cxx:1275
 AliCalibViewerGUItime.cxx:1276
 AliCalibViewerGUItime.cxx:1277
 AliCalibViewerGUItime.cxx:1278
 AliCalibViewerGUItime.cxx:1279
 AliCalibViewerGUItime.cxx:1280
 AliCalibViewerGUItime.cxx:1281
 AliCalibViewerGUItime.cxx:1282
 AliCalibViewerGUItime.cxx:1283
 AliCalibViewerGUItime.cxx:1284
 AliCalibViewerGUItime.cxx:1285
 AliCalibViewerGUItime.cxx:1286
 AliCalibViewerGUItime.cxx:1287
 AliCalibViewerGUItime.cxx:1288
 AliCalibViewerGUItime.cxx:1289
 AliCalibViewerGUItime.cxx:1290
 AliCalibViewerGUItime.cxx:1291
 AliCalibViewerGUItime.cxx:1292
 AliCalibViewerGUItime.cxx:1293
 AliCalibViewerGUItime.cxx:1294
 AliCalibViewerGUItime.cxx:1295
 AliCalibViewerGUItime.cxx:1296
 AliCalibViewerGUItime.cxx:1297
 AliCalibViewerGUItime.cxx:1298
 AliCalibViewerGUItime.cxx:1299
 AliCalibViewerGUItime.cxx:1300
 AliCalibViewerGUItime.cxx:1301
 AliCalibViewerGUItime.cxx:1302
 AliCalibViewerGUItime.cxx:1303
 AliCalibViewerGUItime.cxx:1304
 AliCalibViewerGUItime.cxx:1305
 AliCalibViewerGUItime.cxx:1306
 AliCalibViewerGUItime.cxx:1307
 AliCalibViewerGUItime.cxx:1308
 AliCalibViewerGUItime.cxx:1309
 AliCalibViewerGUItime.cxx:1310
 AliCalibViewerGUItime.cxx:1311
 AliCalibViewerGUItime.cxx:1312
 AliCalibViewerGUItime.cxx:1313
 AliCalibViewerGUItime.cxx:1314
 AliCalibViewerGUItime.cxx:1315
 AliCalibViewerGUItime.cxx:1316
 AliCalibViewerGUItime.cxx:1317
 AliCalibViewerGUItime.cxx:1318
 AliCalibViewerGUItime.cxx:1319
 AliCalibViewerGUItime.cxx:1320
 AliCalibViewerGUItime.cxx:1321
 AliCalibViewerGUItime.cxx:1322
 AliCalibViewerGUItime.cxx:1323
 AliCalibViewerGUItime.cxx:1324
 AliCalibViewerGUItime.cxx:1325
 AliCalibViewerGUItime.cxx:1326
 AliCalibViewerGUItime.cxx:1327
 AliCalibViewerGUItime.cxx:1328
 AliCalibViewerGUItime.cxx:1329
 AliCalibViewerGUItime.cxx:1330
 AliCalibViewerGUItime.cxx:1331