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

//____________________________________________________________________
//                                                                          
// T0 - T0. 
//
// This class privides GIU service for reading RAW data from Laser
// during electronics test 
//                                                       
#include "TH1F.h"
#include "TH2F.h"
#include "TMap.h"
#include "TFile.h"
#include "TTree.h"
#include "TBranch.h"
#include "AliT0RawReader.h"
#include "TGLabel.h"
#include "TGFileDialog.h"
#include <iostream>

#include "AliT0CalibLaserData.h"

#include "AliCDBManager.h"
#include "AliRawReader.h"
#include "AliRawReaderRoot.h"
#include "AliT0LookUpValue.h"
#include "AliT0LookUpKey.h"
#include "AliT0Parameters.h"
#include "AliT0RawReader.h"

ClassImp(AliT0CalibLaserData)
  //const char *fFileName;
AliT0CalibLaserData::AliT0CalibLaserData() : TObject(),
					     fTEntry(0),
					     fFileName(" ")
  
{
//
for ( int i=0; i<30; i++ ) { fEntries[i] = NULL; fHistLimits[i] = 0.0;}
}
/*
//________________________________________________________________

AliT0CalibLaserData::AliT0CalibLaserData(const AliT0CalibLaserData& calibda) : TObject(),
	                                 fRunNumber(905)
{
//copy constructor
  
}
//________________________________________________________________

AliT0CalibLaserData &AliT0CalibLaserData::operator =(const AliT0CalibLaserData& calibda)
{
// assignment operator

  return *this;
}
//________________________________________________________________
AliT0CalibLaserData::~AliT0CalibLaserData()
{
  //
}
*/
//________________________________________________________________

void AliT0CalibLaserData::ReadHistSize()
{
  //build GUI frame for reading:
  // - run number
  // - histograms rates

    
    TGMainFrame* fMain = new TGMainFrame(0,1500,1500);
    fMain->SetLayoutManager( new TGMatrixLayout(fMain,10,7) );
 
    fMain->AddFrame( new TGLabel(fMain, " Histogram") );
    fMain->AddFrame( new TGLabel(fMain, "X min") );
    fMain->AddFrame( new TGLabel(fMain, "X max") );
    fMain->AddFrame( new TGLabel(fMain, "X N# channels") );
  
    fMain->AddFrame( new TGLabel(fMain, "Y min") );
    fMain->AddFrame( new TGLabel(fMain, "Y max") );
    fMain->AddFrame( new TGLabel(fMain, "Y N# channels") );

    fMain->AddFrame( new TGLabel(fMain, "QTC" ) );
    fEntries[0] = new TGNumberEntry(fMain, 0);
    fMain->AddFrame(fEntries[0]);
    fEntries[1] = new TGNumberEntry(fMain, 10000);
    fMain->AddFrame(fEntries[1]);
    fEntries[2] = new TGNumberEntry(fMain, 2500);
    fMain->AddFrame(fEntries[2]);
    fMain->AddFrame( new TGLabel(fMain, " ") );
    fMain->AddFrame( new TGLabel(fMain, " ") );
    fMain->AddFrame( new TGLabel(fMain, " ") );
  
    fMain->AddFrame( new TGLabel(fMain, "LED - CFD" ) );
    fEntries[3] = new TGNumberEntry(fMain, 0);
    fMain->AddFrame(fEntries[3]);
    fEntries[4] = new TGNumberEntry(fMain, 1000);
    fMain->AddFrame(fEntries[4]);
    fEntries[5] = new TGNumberEntry(fMain, 1000);
    fMain->AddFrame(fEntries[5]);
    fMain->AddFrame( new TGLabel(fMain, " ") );
    fMain->AddFrame( new TGLabel(fMain, " ") );
    fMain->AddFrame( new TGLabel(fMain, " ") );
    fMain->AddFrame( new TGLabel(fMain, "CFD vs QTC " ) );
 // QTC axis X
    fEntries[6] = new TGNumberEntry(fMain, 0.);
    fMain->AddFrame(fEntries[6]);
    fEntries[7] = new TGNumberEntry(fMain, 8000);
    fMain->AddFrame(fEntries[7]);
    fEntries[8] = new TGNumberEntry(fMain, 800);
    fMain->AddFrame(fEntries[8]);
// CFD axis Y 
   fEntries[9] = new TGNumberEntry(fMain, 0);
    fMain->AddFrame(fEntries[9]);
    fEntries[10] = new TGNumberEntry(fMain, 5000);
    fMain->AddFrame(fEntries[10]);
    fEntries[11] = new TGNumberEntry(fMain, 5000);
    fMain->AddFrame(fEntries[11]);
//
    fMain->AddFrame( new TGLabel(fMain, "CFD vs LED-CFD " ) );
//LED-CFD axis X
    fEntries[12] = new TGNumberEntry(fMain, 0);
    fMain->AddFrame(fEntries[12]);
    fEntries[13] = new TGNumberEntry(fMain, 1000);
    fMain->AddFrame(fEntries[13]);
    fEntries[14] = new TGNumberEntry(fMain, 1000);
    fMain->AddFrame(fEntries[14]);
// CFD axis Y
    fEntries[15] = new TGNumberEntry(fMain, 1000);
    fMain->AddFrame(fEntries[15]);
    fEntries[16] = new TGNumberEntry(fMain, 5000);
    fMain->AddFrame(fEntries[16]);
    fEntries[17] = new TGNumberEntry(fMain, 4000);
    fMain->AddFrame(fEntries[17]);
 
   fMain->AddFrame( new TGLabel(fMain, "CFD C " ) );
//CFD side C
    fEntries[18] = new TGNumberEntry(fMain, 0);
    fMain->AddFrame(fEntries[18]);
    fEntries[19] = new TGNumberEntry(fMain, 5000);
    fMain->AddFrame(fEntries[19]);
    fEntries[20] = new TGNumberEntry(fMain, 5000);
    fMain->AddFrame(fEntries[20]);
 
    fMain->AddFrame( new TGLabel(fMain, "") );
    fMain->AddFrame( new TGLabel(fMain, "") );
    fMain->AddFrame( new TGLabel(fMain, "") );

    fMain->AddFrame( new TGLabel(fMain, "CFD A " ) );
//CFD side A
    fEntries[21] = new TGNumberEntry(fMain,0);
    fMain->AddFrame(fEntries[21]);
    fEntries[22] = new TGNumberEntry(fMain, 5000);
    fMain->AddFrame(fEntries[22]);
    fEntries[23] = new TGNumberEntry(fMain, 5000);
    fMain->AddFrame(fEntries[23]);

    fMain->AddFrame( new TGLabel(fMain, "") );
    fMain->AddFrame( new TGLabel(fMain, "") );
    fMain->AddFrame( new TGLabel(fMain, "") );


    fMain->AddFrame( new TGLabel(fMain, "LED C " ) );
//LED axis X
    fEntries[24] = new TGNumberEntry(fMain, 0);
    fMain->AddFrame(fEntries[24]);
    fEntries[25] = new TGNumberEntry(fMain, 5000);
    fMain->AddFrame(fEntries[25]);
    fEntries[26] = new TGNumberEntry(fMain, 5000);
    fMain->AddFrame(fEntries[26]);

   
   for ( int i=0; i<27; i++ ) fEntries[i]->SetWidth(70);
   fMain->AddFrame( new TGLabel(fMain, " File name") );
   fTEntry = new TGTextEntry(fMain,"");
   fMain->AddFrame(fTEntry);
   fTEntry->SetWidth(80);
    //    printf( "Max Length %d\n", fEntries[0]->GetMaxWidth() );

    TGTextButton *fOk = new TGTextButton(fMain, "OK");
    fOk->Connect("Clicked()","AliT0CalibLaserData",this,"DoOk()");
    //    fOk->SetCommand(".q");
    fMain->AddFrame(fOk);
    
    fMain->MapSubwindows();
    fMain->Resize();
    fMain->SetWindowName("Dialog");
    fMain->MapWindow();
}
    
void AliT0CalibLaserData::DoOk()
{
  
  fFileName = (fTEntry->GetText());
  //OpenFile();
  printf(" DoOK >>  File %s\n",fFileName);
  for( int i=0; i<27; i++ ) 
    fHistLimits[i] = fEntries[i]->GetNumber();
  
  ReadData();
}

void AliT0CalibLaserData::ReadData()
{
  // reading RAW data from test LCS
  // filling histograms
  // fillinf tree
  
  
  TH1I *hChannel[105];  TH1I *hQTC[24];  
  TH2F *hCFDvsQTC[24]; TH2F *hCFDvsLED[24]; TH1I *h1CFDminLED[24];

  Int_t allData[110][50];
  Int_t numberOfHits[105];
  
  Int_t channels[106];
  
  TString names[106], type;
  AliT0LookUpKey* lookkey;//= new AliT0LookUpKey();
  AliT0LookUpValue*  lookvalue;//= new AliT0LookUpValue();
  AliCDBManager::Instance()->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
  AliCDBManager::Instance()->SetRun(0);
  AliT0Parameters *fParam = AliT0Parameters::Instance();
  fParam->Init();
  TMap *lookup = fParam->GetMapLookup();
  TMapIter *iter = new TMapIter(lookup);
  
  for( Int_t iline=0; iline<106; iline++)
    {
      lookvalue = ( AliT0LookUpValue*) iter->Next();
      lookkey = (AliT0LookUpKey*) lookup->GetValue((TObject*)lookvalue);
      if(lookkey){
	Int_t key=lookkey->GetKey();
	names[key]=lookkey->GetChannelName();
	//	if(names[key].Contains("QT0"))
	//  hChannel[key] = new TH1F(names[key].Data(),names[key].Data(),1000,3000,5000);
	//	else
	  hChannel[key] = new TH1I(names[key].Data(),names[key].Data(),Int_t(fHistLimits[20]),fHistLimits[18],fHistLimits[19]);
	if(key >0 && key<13)
	  hChannel[key] = new TH1I(names[key].Data(),names[key].Data(),Int_t(fHistLimits[20]),fHistLimits[18],fHistLimits[19]);
	if(key >13 && key<25)
	  hChannel[key] = new TH1I(names[key].Data(),names[key].Data(),Int_t(fHistLimits[26]),fHistLimits[24],fHistLimits[25]);
	
	if(key >57 && key<69)
	  hChannel[key] = new TH1I(names[key].Data(),names[key].Data(),Int_t (fHistLimits[23]),fHistLimits[21],fHistLimits[22]);
	//	hitsname="xHits" + names[key];
	//	hNumHits[key] = new TH1F(hitsname.Data(),hitsname.Data(),50,-0.25,24.25);
      }
      else
	{printf(" no such value %i \n", iline);}
      
    } 
  for(Int_t ic=0; ic<24; ic++) {
    {
     
      hQTC[ic] = new TH1I(Form("QTC%i",ic+1),"QTC",(Int_t)fHistLimits[2],fHistLimits[0],fHistLimits[1]);
      h1CFDminLED[ic] = new TH1I(Form("LEDminCFD%i",ic+1),"LED - CFD",(Int_t)fHistLimits[5],fHistLimits[3],fHistLimits[4]);
      
      hCFDvsQTC[ic] = new TH2F(Form("CFDvsQTC%i",ic+1),"CFD vs	QTC",
			       (Int_t)fHistLimits[8],fHistLimits[6],fHistLimits[7],
			       (Int_t)fHistLimits[11],fHistLimits[9],fHistLimits[10]);
      hCFDvsLED[ic] = new TH2F(Form("CFDvsLED%i",ic+1),"CFD vs LED-CFD",
			       (Int_t)fHistLimits[14],fHistLimits[12],fHistLimits[13],
			       (Int_t)fHistLimits[17],fHistLimits[15],fHistLimits[16]);

      
    }


  }
  
  TH1F*hEffCFD= new TH1F("hEffCFD","Effeciency",50,-0.25,24.25);
  TH1F*hEffLED= new TH1F("hEffLED","Effeciency",50,-0.25,24.25);
  TH1F*hEffQT0= new TH1F("hEffQT0","Effeciency",50,-0.25,24.25);
  TH1F*hEffQT1= new TH1F("hEffQT1","Effeciency",50,-0.25,24.25);

      
     // Char_t filename[80];
  //     sprintf(filename,"t0%i.raw",fRunNumber);
  AliRawReader *reader = new AliRawReaderRoot(fFileName);
   reader->LoadEquipmentIdsMap("T0map.txt");
  //    reader->RequireHeader(kFALSE);
  reader->RequireHeader(kTRUE);
  AliT0RawReader *start = new AliT0RawReader(reader);
  //  start->SetNumberOfTRM(1);
  for (Int_t i0=0; i0<105; i0++)
    {
      for (Int_t j0=0; j0<5; j0++) allData[i0][j0]=0; 	
      numberOfHits[i0]=0;
    }
  Int_t event=0;
  
  while (reader->NextEvent()) {
    start->Next();
    for (Int_t i=0; i<105; i++) {
      for (Int_t iHit=0; iHit<5; iHit++) 
	{
	  allData[i][iHit]= start->GetData(i,iHit);
	  //	  if( allData[i][iHit]>0)	  cout<<i<<" "<<iHit<<" "<<allData[i][iHit]<<endl;
	}
    }
    
     if(event%1000 == 0) 
    printf("Event:%d\n",event);
    
     //   if(event > 100000) break;
    
    for (Int_t it = 0; it<24; it=it+2)
      {
	Int_t cc=it/2;
	for (Int_t iHit=0; iHit<5; iHit++)
	  {
	    if(allData[it+25][iHit] != 0 && allData[it+26][iHit] !=0)
	      {
		hQTC[cc]->Fill(allData[it+25][iHit]-allData[it+26][iHit]);
		if(allData[cc+1][iHit] != 0 ) 
		  hCFDvsQTC[cc]->Fill(allData[it+25][iHit]-allData[it+26][iHit],
				      allData[cc+1][iHit]-allData[0][0]+5000.);
	      }
	    if(allData[cc+1][iHit] != 0 && allData[cc+13][iHit]!=0 ) 
	      {
		hCFDvsLED[cc]->Fill(allData[cc+13][iHit]-allData[cc+1][iHit],
				    allData[cc+1][iHit]-allData[0][0]+5000.);  
		h1CFDminLED[cc]->Fill(allData[cc+13][iHit]-allData[cc+1][iHit]);
	      }
	    
	  }
      }
    for (Int_t it = 24; it<48; it=it+2)
      {
	Int_t cc=(Int_t)(it/2);
	for (Int_t iHit=0; iHit<5; iHit++)
	  {
	    if(allData[it+57][iHit] != 0 && allData[it+58][iHit] !=0)
	      {
		hQTC[cc]->Fill(allData[it+57][iHit]-allData[it+58][iHit]);
		//		    hmpd[cc]->Fill(allData[it+26][iHit]-allData[it+25][iHit]);
		if(allData[cc+1][iHit] != 0 ) 
		  hCFDvsQTC[cc]->Fill(allData[it+57][iHit]-allData[it+58][iHit],
				      allData[cc+45][iHit]-allData[0][0]+5000);
	      }
	    if(allData[cc+57][iHit] != 0 && allData[cc+45][iHit]!=0 ) 
	      {
		hCFDvsLED[cc]->Fill(allData[cc+57][iHit]-allData[cc+45][iHit],
				    allData[cc+1][iHit]-allData[0][0]+5000);  
		h1CFDminLED[cc]->Fill(allData[cc+57][iHit]-allData[cc+45][iHit]);
	      }
	      
	}
      }
    
    
    for (Int_t iHit=0; iHit<5; iHit++) 
      {
	
	for(Int_t ik=1; ik<105; ik++)
	  { 
	    channels[ik] = -100;
	    if((allData[ik][iHit] - allData[0][0] +5000) != 0 &&   //!!!!! Uncomment it !!!!! and comment next line
	       //      if((allData[ik][iHit] - allData[1][0] ) != 0 &&     
	         allData[ik][iHit] >0 ) 
	      {  
		numberOfHits[ik]++;
		//	    	hChannel[ik] -> Fill(allData[ik][iHit] - allData[1][0]);            //Comment this line !!!
		hChannel[ik] -> Fill(allData[ik][iHit] - allData[0][0]+5000);
		//	cout<<" zpis'>> "<<iHit<<" "<<ik<<" "<<allData[ik][iHit] - allData[0][0]<<endl;
		//	hChannel[ik] -> Fill(allData[0][0]-allData[ik][iHit] );
		//		channels[ik] = allData[ik][iHit] - allData[0][0];
	      }
	  }
	//	      digitsTree->Fill();   
      }

    event++;
    
  } //event


  if (event>1)
    {
      printf("efficiency for %i events \n",event);
      for (Int_t i0=1; i0<13;  i0++)
	{
	  printf("%s  %f  %s  %f %s  %f  %s  %f \n ",
		 names[i0].Data(), Float_t(numberOfHits[i0])/Float_t(event),
		 names[i0+12].Data(),Float_t(numberOfHits[i0+12])/Float_t(event),
		 names[i0+56].Data(),Float_t(numberOfHits[i0+56])/Float_t(event),
		 names[i0+68].Data(),Float_t(numberOfHits[i0+68])/Float_t(event));
	  
	  hEffCFD->Fill(i0,Float_t(numberOfHits[i0])  / Float_t(event));
	  hEffLED->Fill(i0,Float_t(numberOfHits[i0+12]) / Float_t(event));
	  hEffCFD->Fill(i0+12,Float_t(numberOfHits[i0+56]) /Float_t(event));
	  hEffLED->Fill(i0+12,Float_t(numberOfHits[i0+68]) /Float_t(event));
	}
      printf("\n");      
      for (Int_t i0=0; i0<24;  i0=i0+2)
	{
	  hEffQT1->Fill(i0, Float_t (numberOfHits[i0+25]) / Float_t(event));
	  hEffQT0->Fill(i0, Float_t (numberOfHits[i0]+26) / Float_t(event));
	  hEffQT1->Fill((i0+12), Float_t (numberOfHits[i0]+81) /  Float_t(event));
	  hEffQT0->Fill((i0+12), Float_t (numberOfHits[i0]+82) /  Float_t(event));

	  printf("%s  %f  %s  %f %s  %f  %s  %f \n",
		 names[i0+25].Data(), Float_t(numberOfHits[i0+25])/Float_t(event),
		 names[i0+26].Data(),Float_t(numberOfHits[i0+26])/Float_t(event),
		 names[i0+81].Data(),Float_t(numberOfHits[i0+81])/Float_t(event),
		 names[i0+82].Data(),Float_t(numberOfHits[i0+82])/Float_t(event));
	}
    }	      
  
  
  TString filehist = Form("t0tree%s",fFileName);; 
  // sprintf(filehist,"t0treeDA%s",fFileName);
  //  sprintf(filehist,"t0tree%s",fFileName);
  printf("\n Wrote data in %s !!\n",filehist.Data());
  TFile *hist = new TFile(filehist.Data(),"RECREATE");
  hist->cd();
  //  digitsTree->Write("",TObject::kOverwrite);
     
  hEffCFD->Write();
  hEffLED->Write();
  hEffQT0->Write();
  hEffQT1->Write();
  
  for(Int_t ik=0; ik<105; ik++)	hChannel[ik] ->Write();
  
      for (Int_t i=0; i<24; i++)
	{
	  hQTC[i]->Write();
	  hCFDvsQTC[i]->Write();
	  hCFDvsLED[i]->Write();
	  h1CFDminLED[i]->Write();
	}
      
}

void AliT0CalibLaserData::OpenFile()
{

const char *ft[]={"T0 raw files","*.root","All files","*",0,0};
  TString dir(".");
  TGFileInfo fi; fi.fFileTypes=ft; fi.fIniDir=StrDup(dir);
  new TGFileDialog(gClient->GetRoot(), 0x0, kFDOpen, &fi);
  if(!fi.fFilename) return;
  // fFileName =*( fi.fFilename);
  fFileName = fi.fFilename;
  printf(" AliT0CalibLaserData::OpenFile %s %s\n",fi.fFilename, fFileName );
  //  if(gFile){ gFile->Close(); gFile=0;}

  // gFile=TFile::Open(fi.fFilename);

}

 AliT0CalibLaserData.cxx:1
 AliT0CalibLaserData.cxx:2
 AliT0CalibLaserData.cxx:3
 AliT0CalibLaserData.cxx:4
 AliT0CalibLaserData.cxx:5
 AliT0CalibLaserData.cxx:6
 AliT0CalibLaserData.cxx:7
 AliT0CalibLaserData.cxx:8
 AliT0CalibLaserData.cxx:9
 AliT0CalibLaserData.cxx:10
 AliT0CalibLaserData.cxx:11
 AliT0CalibLaserData.cxx:12
 AliT0CalibLaserData.cxx:13
 AliT0CalibLaserData.cxx:14
 AliT0CalibLaserData.cxx:15
 AliT0CalibLaserData.cxx:16
 AliT0CalibLaserData.cxx:17
 AliT0CalibLaserData.cxx:18
 AliT0CalibLaserData.cxx:19
 AliT0CalibLaserData.cxx:20
 AliT0CalibLaserData.cxx:21
 AliT0CalibLaserData.cxx:22
 AliT0CalibLaserData.cxx:23
 AliT0CalibLaserData.cxx:24
 AliT0CalibLaserData.cxx:25
 AliT0CalibLaserData.cxx:26
 AliT0CalibLaserData.cxx:27
 AliT0CalibLaserData.cxx:28
 AliT0CalibLaserData.cxx:29
 AliT0CalibLaserData.cxx:30
 AliT0CalibLaserData.cxx:31
 AliT0CalibLaserData.cxx:32
 AliT0CalibLaserData.cxx:33
 AliT0CalibLaserData.cxx:34
 AliT0CalibLaserData.cxx:35
 AliT0CalibLaserData.cxx:36
 AliT0CalibLaserData.cxx:37
 AliT0CalibLaserData.cxx:38
 AliT0CalibLaserData.cxx:39
 AliT0CalibLaserData.cxx:40
 AliT0CalibLaserData.cxx:41
 AliT0CalibLaserData.cxx:42
 AliT0CalibLaserData.cxx:43
 AliT0CalibLaserData.cxx:44
 AliT0CalibLaserData.cxx:45
 AliT0CalibLaserData.cxx:46
 AliT0CalibLaserData.cxx:47
 AliT0CalibLaserData.cxx:48
 AliT0CalibLaserData.cxx:49
 AliT0CalibLaserData.cxx:50
 AliT0CalibLaserData.cxx:51
 AliT0CalibLaserData.cxx:52
 AliT0CalibLaserData.cxx:53
 AliT0CalibLaserData.cxx:54
 AliT0CalibLaserData.cxx:55
 AliT0CalibLaserData.cxx:56
 AliT0CalibLaserData.cxx:57
 AliT0CalibLaserData.cxx:58
 AliT0CalibLaserData.cxx:59
 AliT0CalibLaserData.cxx:60
 AliT0CalibLaserData.cxx:61
 AliT0CalibLaserData.cxx:62
 AliT0CalibLaserData.cxx:63
 AliT0CalibLaserData.cxx:64
 AliT0CalibLaserData.cxx:65
 AliT0CalibLaserData.cxx:66
 AliT0CalibLaserData.cxx:67
 AliT0CalibLaserData.cxx:68
 AliT0CalibLaserData.cxx:69
 AliT0CalibLaserData.cxx:70
 AliT0CalibLaserData.cxx:71
 AliT0CalibLaserData.cxx:72
 AliT0CalibLaserData.cxx:73
 AliT0CalibLaserData.cxx:74
 AliT0CalibLaserData.cxx:75
 AliT0CalibLaserData.cxx:76
 AliT0CalibLaserData.cxx:77
 AliT0CalibLaserData.cxx:78
 AliT0CalibLaserData.cxx:79
 AliT0CalibLaserData.cxx:80
 AliT0CalibLaserData.cxx:81
 AliT0CalibLaserData.cxx:82
 AliT0CalibLaserData.cxx:83
 AliT0CalibLaserData.cxx:84
 AliT0CalibLaserData.cxx:85
 AliT0CalibLaserData.cxx:86
 AliT0CalibLaserData.cxx:87
 AliT0CalibLaserData.cxx:88
 AliT0CalibLaserData.cxx:89
 AliT0CalibLaserData.cxx:90
 AliT0CalibLaserData.cxx:91
 AliT0CalibLaserData.cxx:92
 AliT0CalibLaserData.cxx:93
 AliT0CalibLaserData.cxx:94
 AliT0CalibLaserData.cxx:95
 AliT0CalibLaserData.cxx:96
 AliT0CalibLaserData.cxx:97
 AliT0CalibLaserData.cxx:98
 AliT0CalibLaserData.cxx:99
 AliT0CalibLaserData.cxx:100
 AliT0CalibLaserData.cxx:101
 AliT0CalibLaserData.cxx:102
 AliT0CalibLaserData.cxx:103
 AliT0CalibLaserData.cxx:104
 AliT0CalibLaserData.cxx:105
 AliT0CalibLaserData.cxx:106
 AliT0CalibLaserData.cxx:107
 AliT0CalibLaserData.cxx:108
 AliT0CalibLaserData.cxx:109
 AliT0CalibLaserData.cxx:110
 AliT0CalibLaserData.cxx:111
 AliT0CalibLaserData.cxx:112
 AliT0CalibLaserData.cxx:113
 AliT0CalibLaserData.cxx:114
 AliT0CalibLaserData.cxx:115
 AliT0CalibLaserData.cxx:116
 AliT0CalibLaserData.cxx:117
 AliT0CalibLaserData.cxx:118
 AliT0CalibLaserData.cxx:119
 AliT0CalibLaserData.cxx:120
 AliT0CalibLaserData.cxx:121
 AliT0CalibLaserData.cxx:122
 AliT0CalibLaserData.cxx:123
 AliT0CalibLaserData.cxx:124
 AliT0CalibLaserData.cxx:125
 AliT0CalibLaserData.cxx:126
 AliT0CalibLaserData.cxx:127
 AliT0CalibLaserData.cxx:128
 AliT0CalibLaserData.cxx:129
 AliT0CalibLaserData.cxx:130
 AliT0CalibLaserData.cxx:131
 AliT0CalibLaserData.cxx:132
 AliT0CalibLaserData.cxx:133
 AliT0CalibLaserData.cxx:134
 AliT0CalibLaserData.cxx:135
 AliT0CalibLaserData.cxx:136
 AliT0CalibLaserData.cxx:137
 AliT0CalibLaserData.cxx:138
 AliT0CalibLaserData.cxx:139
 AliT0CalibLaserData.cxx:140
 AliT0CalibLaserData.cxx:141
 AliT0CalibLaserData.cxx:142
 AliT0CalibLaserData.cxx:143
 AliT0CalibLaserData.cxx:144
 AliT0CalibLaserData.cxx:145
 AliT0CalibLaserData.cxx:146
 AliT0CalibLaserData.cxx:147
 AliT0CalibLaserData.cxx:148
 AliT0CalibLaserData.cxx:149
 AliT0CalibLaserData.cxx:150
 AliT0CalibLaserData.cxx:151
 AliT0CalibLaserData.cxx:152
 AliT0CalibLaserData.cxx:153
 AliT0CalibLaserData.cxx:154
 AliT0CalibLaserData.cxx:155
 AliT0CalibLaserData.cxx:156
 AliT0CalibLaserData.cxx:157
 AliT0CalibLaserData.cxx:158
 AliT0CalibLaserData.cxx:159
 AliT0CalibLaserData.cxx:160
 AliT0CalibLaserData.cxx:161
 AliT0CalibLaserData.cxx:162
 AliT0CalibLaserData.cxx:163
 AliT0CalibLaserData.cxx:164
 AliT0CalibLaserData.cxx:165
 AliT0CalibLaserData.cxx:166
 AliT0CalibLaserData.cxx:167
 AliT0CalibLaserData.cxx:168
 AliT0CalibLaserData.cxx:169
 AliT0CalibLaserData.cxx:170
 AliT0CalibLaserData.cxx:171
 AliT0CalibLaserData.cxx:172
 AliT0CalibLaserData.cxx:173
 AliT0CalibLaserData.cxx:174
 AliT0CalibLaserData.cxx:175
 AliT0CalibLaserData.cxx:176
 AliT0CalibLaserData.cxx:177
 AliT0CalibLaserData.cxx:178
 AliT0CalibLaserData.cxx:179
 AliT0CalibLaserData.cxx:180
 AliT0CalibLaserData.cxx:181
 AliT0CalibLaserData.cxx:182
 AliT0CalibLaserData.cxx:183
 AliT0CalibLaserData.cxx:184
 AliT0CalibLaserData.cxx:185
 AliT0CalibLaserData.cxx:186
 AliT0CalibLaserData.cxx:187
 AliT0CalibLaserData.cxx:188
 AliT0CalibLaserData.cxx:189
 AliT0CalibLaserData.cxx:190
 AliT0CalibLaserData.cxx:191
 AliT0CalibLaserData.cxx:192
 AliT0CalibLaserData.cxx:193
 AliT0CalibLaserData.cxx:194
 AliT0CalibLaserData.cxx:195
 AliT0CalibLaserData.cxx:196
 AliT0CalibLaserData.cxx:197
 AliT0CalibLaserData.cxx:198
 AliT0CalibLaserData.cxx:199
 AliT0CalibLaserData.cxx:200
 AliT0CalibLaserData.cxx:201
 AliT0CalibLaserData.cxx:202
 AliT0CalibLaserData.cxx:203
 AliT0CalibLaserData.cxx:204
 AliT0CalibLaserData.cxx:205
 AliT0CalibLaserData.cxx:206
 AliT0CalibLaserData.cxx:207
 AliT0CalibLaserData.cxx:208
 AliT0CalibLaserData.cxx:209
 AliT0CalibLaserData.cxx:210
 AliT0CalibLaserData.cxx:211
 AliT0CalibLaserData.cxx:212
 AliT0CalibLaserData.cxx:213
 AliT0CalibLaserData.cxx:214
 AliT0CalibLaserData.cxx:215
 AliT0CalibLaserData.cxx:216
 AliT0CalibLaserData.cxx:217
 AliT0CalibLaserData.cxx:218
 AliT0CalibLaserData.cxx:219
 AliT0CalibLaserData.cxx:220
 AliT0CalibLaserData.cxx:221
 AliT0CalibLaserData.cxx:222
 AliT0CalibLaserData.cxx:223
 AliT0CalibLaserData.cxx:224
 AliT0CalibLaserData.cxx:225
 AliT0CalibLaserData.cxx:226
 AliT0CalibLaserData.cxx:227
 AliT0CalibLaserData.cxx:228
 AliT0CalibLaserData.cxx:229
 AliT0CalibLaserData.cxx:230
 AliT0CalibLaserData.cxx:231
 AliT0CalibLaserData.cxx:232
 AliT0CalibLaserData.cxx:233
 AliT0CalibLaserData.cxx:234
 AliT0CalibLaserData.cxx:235
 AliT0CalibLaserData.cxx:236
 AliT0CalibLaserData.cxx:237
 AliT0CalibLaserData.cxx:238
 AliT0CalibLaserData.cxx:239
 AliT0CalibLaserData.cxx:240
 AliT0CalibLaserData.cxx:241
 AliT0CalibLaserData.cxx:242
 AliT0CalibLaserData.cxx:243
 AliT0CalibLaserData.cxx:244
 AliT0CalibLaserData.cxx:245
 AliT0CalibLaserData.cxx:246
 AliT0CalibLaserData.cxx:247
 AliT0CalibLaserData.cxx:248
 AliT0CalibLaserData.cxx:249
 AliT0CalibLaserData.cxx:250
 AliT0CalibLaserData.cxx:251
 AliT0CalibLaserData.cxx:252
 AliT0CalibLaserData.cxx:253
 AliT0CalibLaserData.cxx:254
 AliT0CalibLaserData.cxx:255
 AliT0CalibLaserData.cxx:256
 AliT0CalibLaserData.cxx:257
 AliT0CalibLaserData.cxx:258
 AliT0CalibLaserData.cxx:259
 AliT0CalibLaserData.cxx:260
 AliT0CalibLaserData.cxx:261
 AliT0CalibLaserData.cxx:262
 AliT0CalibLaserData.cxx:263
 AliT0CalibLaserData.cxx:264
 AliT0CalibLaserData.cxx:265
 AliT0CalibLaserData.cxx:266
 AliT0CalibLaserData.cxx:267
 AliT0CalibLaserData.cxx:268
 AliT0CalibLaserData.cxx:269
 AliT0CalibLaserData.cxx:270
 AliT0CalibLaserData.cxx:271
 AliT0CalibLaserData.cxx:272
 AliT0CalibLaserData.cxx:273
 AliT0CalibLaserData.cxx:274
 AliT0CalibLaserData.cxx:275
 AliT0CalibLaserData.cxx:276
 AliT0CalibLaserData.cxx:277
 AliT0CalibLaserData.cxx:278
 AliT0CalibLaserData.cxx:279
 AliT0CalibLaserData.cxx:280
 AliT0CalibLaserData.cxx:281
 AliT0CalibLaserData.cxx:282
 AliT0CalibLaserData.cxx:283
 AliT0CalibLaserData.cxx:284
 AliT0CalibLaserData.cxx:285
 AliT0CalibLaserData.cxx:286
 AliT0CalibLaserData.cxx:287
 AliT0CalibLaserData.cxx:288
 AliT0CalibLaserData.cxx:289
 AliT0CalibLaserData.cxx:290
 AliT0CalibLaserData.cxx:291
 AliT0CalibLaserData.cxx:292
 AliT0CalibLaserData.cxx:293
 AliT0CalibLaserData.cxx:294
 AliT0CalibLaserData.cxx:295
 AliT0CalibLaserData.cxx:296
 AliT0CalibLaserData.cxx:297
 AliT0CalibLaserData.cxx:298
 AliT0CalibLaserData.cxx:299
 AliT0CalibLaserData.cxx:300
 AliT0CalibLaserData.cxx:301
 AliT0CalibLaserData.cxx:302
 AliT0CalibLaserData.cxx:303
 AliT0CalibLaserData.cxx:304
 AliT0CalibLaserData.cxx:305
 AliT0CalibLaserData.cxx:306
 AliT0CalibLaserData.cxx:307
 AliT0CalibLaserData.cxx:308
 AliT0CalibLaserData.cxx:309
 AliT0CalibLaserData.cxx:310
 AliT0CalibLaserData.cxx:311
 AliT0CalibLaserData.cxx:312
 AliT0CalibLaserData.cxx:313
 AliT0CalibLaserData.cxx:314
 AliT0CalibLaserData.cxx:315
 AliT0CalibLaserData.cxx:316
 AliT0CalibLaserData.cxx:317
 AliT0CalibLaserData.cxx:318
 AliT0CalibLaserData.cxx:319
 AliT0CalibLaserData.cxx:320
 AliT0CalibLaserData.cxx:321
 AliT0CalibLaserData.cxx:322
 AliT0CalibLaserData.cxx:323
 AliT0CalibLaserData.cxx:324
 AliT0CalibLaserData.cxx:325
 AliT0CalibLaserData.cxx:326
 AliT0CalibLaserData.cxx:327
 AliT0CalibLaserData.cxx:328
 AliT0CalibLaserData.cxx:329
 AliT0CalibLaserData.cxx:330
 AliT0CalibLaserData.cxx:331
 AliT0CalibLaserData.cxx:332
 AliT0CalibLaserData.cxx:333
 AliT0CalibLaserData.cxx:334
 AliT0CalibLaserData.cxx:335
 AliT0CalibLaserData.cxx:336
 AliT0CalibLaserData.cxx:337
 AliT0CalibLaserData.cxx:338
 AliT0CalibLaserData.cxx:339
 AliT0CalibLaserData.cxx:340
 AliT0CalibLaserData.cxx:341
 AliT0CalibLaserData.cxx:342
 AliT0CalibLaserData.cxx:343
 AliT0CalibLaserData.cxx:344
 AliT0CalibLaserData.cxx:345
 AliT0CalibLaserData.cxx:346
 AliT0CalibLaserData.cxx:347
 AliT0CalibLaserData.cxx:348
 AliT0CalibLaserData.cxx:349
 AliT0CalibLaserData.cxx:350
 AliT0CalibLaserData.cxx:351
 AliT0CalibLaserData.cxx:352
 AliT0CalibLaserData.cxx:353
 AliT0CalibLaserData.cxx:354
 AliT0CalibLaserData.cxx:355
 AliT0CalibLaserData.cxx:356
 AliT0CalibLaserData.cxx:357
 AliT0CalibLaserData.cxx:358
 AliT0CalibLaserData.cxx:359
 AliT0CalibLaserData.cxx:360
 AliT0CalibLaserData.cxx:361
 AliT0CalibLaserData.cxx:362
 AliT0CalibLaserData.cxx:363
 AliT0CalibLaserData.cxx:364
 AliT0CalibLaserData.cxx:365
 AliT0CalibLaserData.cxx:366
 AliT0CalibLaserData.cxx:367
 AliT0CalibLaserData.cxx:368
 AliT0CalibLaserData.cxx:369
 AliT0CalibLaserData.cxx:370
 AliT0CalibLaserData.cxx:371
 AliT0CalibLaserData.cxx:372
 AliT0CalibLaserData.cxx:373
 AliT0CalibLaserData.cxx:374
 AliT0CalibLaserData.cxx:375
 AliT0CalibLaserData.cxx:376
 AliT0CalibLaserData.cxx:377
 AliT0CalibLaserData.cxx:378
 AliT0CalibLaserData.cxx:379
 AliT0CalibLaserData.cxx:380
 AliT0CalibLaserData.cxx:381
 AliT0CalibLaserData.cxx:382
 AliT0CalibLaserData.cxx:383
 AliT0CalibLaserData.cxx:384
 AliT0CalibLaserData.cxx:385
 AliT0CalibLaserData.cxx:386
 AliT0CalibLaserData.cxx:387
 AliT0CalibLaserData.cxx:388
 AliT0CalibLaserData.cxx:389
 AliT0CalibLaserData.cxx:390
 AliT0CalibLaserData.cxx:391
 AliT0CalibLaserData.cxx:392
 AliT0CalibLaserData.cxx:393
 AliT0CalibLaserData.cxx:394
 AliT0CalibLaserData.cxx:395
 AliT0CalibLaserData.cxx:396
 AliT0CalibLaserData.cxx:397
 AliT0CalibLaserData.cxx:398
 AliT0CalibLaserData.cxx:399
 AliT0CalibLaserData.cxx:400
 AliT0CalibLaserData.cxx:401
 AliT0CalibLaserData.cxx:402
 AliT0CalibLaserData.cxx:403
 AliT0CalibLaserData.cxx:404
 AliT0CalibLaserData.cxx:405
 AliT0CalibLaserData.cxx:406
 AliT0CalibLaserData.cxx:407
 AliT0CalibLaserData.cxx:408
 AliT0CalibLaserData.cxx:409
 AliT0CalibLaserData.cxx:410
 AliT0CalibLaserData.cxx:411
 AliT0CalibLaserData.cxx:412
 AliT0CalibLaserData.cxx:413
 AliT0CalibLaserData.cxx:414
 AliT0CalibLaserData.cxx:415
 AliT0CalibLaserData.cxx:416
 AliT0CalibLaserData.cxx:417
 AliT0CalibLaserData.cxx:418
 AliT0CalibLaserData.cxx:419
 AliT0CalibLaserData.cxx:420
 AliT0CalibLaserData.cxx:421
 AliT0CalibLaserData.cxx:422
 AliT0CalibLaserData.cxx:423
 AliT0CalibLaserData.cxx:424
 AliT0CalibLaserData.cxx:425
 AliT0CalibLaserData.cxx:426
 AliT0CalibLaserData.cxx:427
 AliT0CalibLaserData.cxx:428
 AliT0CalibLaserData.cxx:429
 AliT0CalibLaserData.cxx:430
 AliT0CalibLaserData.cxx:431
 AliT0CalibLaserData.cxx:432
 AliT0CalibLaserData.cxx:433
 AliT0CalibLaserData.cxx:434
 AliT0CalibLaserData.cxx:435
 AliT0CalibLaserData.cxx:436
 AliT0CalibLaserData.cxx:437
 AliT0CalibLaserData.cxx:438
 AliT0CalibLaserData.cxx:439
 AliT0CalibLaserData.cxx:440
 AliT0CalibLaserData.cxx:441
 AliT0CalibLaserData.cxx:442
 AliT0CalibLaserData.cxx:443
 AliT0CalibLaserData.cxx:444
 AliT0CalibLaserData.cxx:445
 AliT0CalibLaserData.cxx:446
 AliT0CalibLaserData.cxx:447
 AliT0CalibLaserData.cxx:448
 AliT0CalibLaserData.cxx:449
 AliT0CalibLaserData.cxx:450
 AliT0CalibLaserData.cxx:451
 AliT0CalibLaserData.cxx:452
 AliT0CalibLaserData.cxx:453
 AliT0CalibLaserData.cxx:454
 AliT0CalibLaserData.cxx:455
 AliT0CalibLaserData.cxx:456
 AliT0CalibLaserData.cxx:457
 AliT0CalibLaserData.cxx:458
 AliT0CalibLaserData.cxx:459
 AliT0CalibLaserData.cxx:460
 AliT0CalibLaserData.cxx:461
 AliT0CalibLaserData.cxx:462
 AliT0CalibLaserData.cxx:463
 AliT0CalibLaserData.cxx:464
 AliT0CalibLaserData.cxx:465
 AliT0CalibLaserData.cxx:466
 AliT0CalibLaserData.cxx:467
 AliT0CalibLaserData.cxx:468
 AliT0CalibLaserData.cxx:469
 AliT0CalibLaserData.cxx:470