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 is a singleton that handles various parameters of
// the T0 detectors.  
// Eventually, this class will use the Conditions DB to get the
// various parameters, which code can then request from here.
//                                                       
#include "AliT0.h"
#include "AliLog.h"		  
#include "AliT0Parameters.h"	  
#include "AliT0CalibData.h"   
#include "AliT0CalibWalk.h"   
#include "AliT0CalibTimeEq.h"   
#include "AliT0CalibLatency.h"   
#include "AliT0LookUpKey.h"
#include "AliT0LookUpValue.h"
#include <AliCDBManager.h>        
#include <AliCDBEntry.h>          
#include <AliCDBStorage.h>  
#include <TMath.h>
#include <TSystem.h>
//#include <Riostream.h>
#include <TGeoManager.h>
#include <TGeoPhysicalNode.h>
#include <TGeoMatrix.h>
#include <AliGeomManager.h>

AliT0CalibTimeEq* AliT0Parameters::fgCalibData = 0;
AliT0CalibData* AliT0Parameters::fgLookUp = 0;
AliT0CalibWalk* AliT0Parameters::fgSlewCorr =0;
AliT0CalibLatency *AliT0Parameters::fgLatency=0;
//====================================================================
using std::cout;
ClassImp(AliT0Parameters)
#if 0
  ; // This is here to keep Emacs for indenting the next line
#endif

//____________________________________________________________________
AliT0Parameters* AliT0Parameters::fgInstance = 0;
//____________________________________________________________________
AliT0Parameters* AliT0Parameters::Instance() 
{
  // Get static instance 
  if (!fgInstance) {
    fgInstance = new AliT0Parameters;
  }
  return fgInstance;
}

//____________________________________________________________________
AliT0Parameters::AliT0Parameters()
  :fIsInit(kFALSE),
   fPh2Mip(0),fmV2Mip(0),
   fChannelWidth(0),fmV2Channel(0),
   fQTmin(0),fQTmax(0),
   fAmpLEDRec(0), 
   fPMTeff(),
   fWalk(0),
   fQTC(0),
   fAmpLED(0),
   fTimeDelayCFD(0), 
 //  fTimeV0(0), 
   fTimeDelayTVD(0),
   fMeanT0(512),
   fMeanVertex(0),
   fLatencyHPTDC(0),
   fLatencyL1(0),
   fLatencyL1A(0),
   fLatencyL1C(0),
   fLookUp(0),
   fNumberOfTRMs(2),
   fCalibentry(), 
   fLookUpentry(),
   fSlewCorr(),
   fLatency()
  
{
  // Default constructor 
  for (Int_t ipmt=0; ipmt<24; ipmt++)
    {
      SetPh2Mip();      
      SetmV2Mip();      
      SetChannelWidth();
      SetmV2channel();
      SetQTmin();
      SetQTmax();
      SetPMTeff(ipmt);
    }
  SetTimeDelayTVD();
  SetZposition();
    
}

//__________________________________________________________________
void
AliT0Parameters::Init()
{
  // Initialize the parameters manager.  We need to get stuff from the
  // CDB here. 
   if (fIsInit) return;

   AliCDBManager *stor =AliCDBManager::Instance();
   //time equalizing
   fCalibentry  = stor->Get("T0/Calib/TimeDelay");
   if (fCalibentry)
     fgCalibData  = (AliT0CalibTimeEq*)fCalibentry->GetObject();
   else {
         AliFatal(" ALARM !!!! No time delays in CDB "); 
     fIsInit = kFALSE;
     return;
   }
 //slewing correction
  fSlewCorr  = stor->Get("T0/Calib/Slewing_Walk");
  if (fSlewCorr){
    fgSlewCorr  = (AliT0CalibWalk*)fSlewCorr->GetObject();
  }
  else {
      AliFatal(" ALARM !!!! No slewing correction in CDB "); 
    fIsInit = kFALSE;
    return;
  }
  //lookup table
  fLookUpentry  = stor->Get("T0/Calib/LookUp_Table");
  if (fLookUpentry){
    fgLookUp  = (AliT0CalibData*)fLookUpentry->GetObject();
  }
  else {
     AliFatal(" ALARM !!!! No Lookup table  in CDB "); 
    fIsInit = kFALSE;
    return;
  }
  //latency
  
 fLatency  = stor->Get("T0/Calib/Latency");
  if (fLatency){
    fgLatency  = (AliT0CalibLatency*)fLatency->GetObject();
  }
  else {
     AliWarning(" !!! no latency  in CDB "); 
    return;
  }
  
fIsInit = kTRUE;
}


//__________________________________________________________________

void AliT0Parameters::InitIfOnline()
{
// should be used in online
// for switching to this one should write
  // AliT0RawReader myrawreader(rawReader);
//	myrawreader.SetOnlineMode(kTRUE);
  
  if (fIsInit) return;
  //standart configuration (used for simulation)
  //Int_t trm=0; Int_t tdc=0; Int_t chain=0; Int_t channel=0;
  // configuration for test Jun07.
  fgLookUp = new AliT0CalibData("T0");
  
  fNumberOfTRMs = 1;
  fgLookUp-> SetNumberOfTRMs(fNumberOfTRMs);
  Int_t trm=7; Int_t tdc=0; Int_t chain=0; Int_t channel=0;
  for (Int_t ik=0; ik<105; ik++)
    {
      AliT0LookUpKey * lookkey= new AliT0LookUpKey();
      AliT0LookUpValue * lookvalue= new AliT0LookUpValue();
      lookvalue->SetTRM(trm);
      lookvalue->SetTDC(tdc);
      lookvalue->SetChain(chain);
      lookvalue->SetChannel(channel);
      lookkey->SetKey(ik);
      fgLookUp->GetMapLookup()->Add((TObject*)lookvalue,(TObject*)lookkey);	
      if (channel<6) channel +=2;
      else {channel = 0; tdc++;}
      if(ik==56) { tdc=0; channel=0; chain = 1;}
    }
  //2 recent open channels
  trm=7; tdc=14; channel=2; chain=0; 
  for (Int_t ik=105; ik<107; ik++)
    {
      AliT0LookUpKey * lookkey= new AliT0LookUpKey();
      AliT0LookUpValue * lookvalue= new AliT0LookUpValue();
      
      lookvalue->SetTRM(trm);
      lookvalue->SetTDC(tdc);
      lookvalue->SetChain(chain);
      lookvalue->SetChannel(channel);
      lookkey->SetKey(ik);
      fgLookUp->GetMapLookup()->Add((TObject*)lookvalue,(TObject*)lookkey);	
      if (channel<6) channel +=2;
      else {channel = 0; tdc++;}
    }
  
  fIsInit=kTRUE;
}
//__________________________________________________________________
Float_t
AliT0Parameters::GetTimeDelayCFD(Int_t ipmt) 
  {
  // return time delay for CFD channel
   // 
  if (!fCalibentry) 
    {
      fTimeDelayCFD = 1000+ipmt*100;
      return fTimeDelayCFD;
    }
   
  return fgCalibData->GetTimeEq(ipmt);
}
//__________________________________________________________________
Float_t
AliT0Parameters::GetCFD(Int_t ipmt) 
  {
  // return  CFD channel
   
    return fgCalibData->GetCFDvalue(ipmt,0);
}

//__________________________________________________________________
Float_t
AliT0Parameters::GetLatencyHPTDC() 
  {
  // return LatencyHPTDC for CFD channel
  if (!fLatency) 
    {
      fLatencyHPTDC=9000.;
      return fLatencyHPTDC;
    }
   
  return fgLatency->GetLatencyHPTDC();
}
//__________________________________________________________________
Float_t
AliT0Parameters::GetLatencyL1() 
  {
  // return time delay for CFD channel
   
  return fgLatency->GetLatencyL1();
}

//__________________________________________________________________
Float_t
AliT0Parameters::GetLatencyL1A() 
  {
  // return time delay for CFD channel
   
  return fgLatency->GetLatencyL1A();
}

//__________________________________________________________________
Float_t
AliT0Parameters::GetLatencyL1C() 
  {
  // return time delay for CFD channel
   
  return fgLatency->GetLatencyL1C();
}
//__________________________________________________________________

Float_t
AliT0Parameters:: GetMeanVertex()
{ 
  if (!fCalibentry) 
    {
      fMeanVertex=0;
      return fMeanVertex;
    }
   
  return fgCalibData->GetMeanVertex();
}
//__________________________________________________________________

TGraph *AliT0Parameters::GetAmpLEDRec(Int_t ipmt) const
{
   if (!fSlewCorr) {
     AliError("No slewing correction is available!");
     return  (TGraph*)fAmpLEDRec.At(ipmt); 
  } 
  return fgSlewCorr -> GetAmpLEDRec(ipmt) ;
}

//__________________________________________________________________

TGraph *AliT0Parameters::GetWalk(Int_t ipmt) const
{
  if (!fSlewCorr) {
    AliError("No walk correction is available!");
    return  (TGraph*)fWalk.At(ipmt); 
  } 
  return fgSlewCorr -> GetWalk(ipmt) ;
}

//__________________________________________________________________

TGraph *AliT0Parameters::GetQTC(Int_t ipmt) const
{
  if (!fSlewCorr) {
    AliError("No walk correction is available!");
    //    return  (TGraph*)fQTC.At(ipmt); 
   return  0; 
  } 
  return fgSlewCorr -> GetQTC(ipmt) ;
}

//__________________________________________________________________
TGraph *AliT0Parameters::GetAmpLED(Int_t ipmt) const
{
  if (!fSlewCorr) {
    AliError("No walk correction is available!");
    //    return  (TGraph*)fQTC.At(ipmt); 
   return  0; 
  } 
  return fgSlewCorr -> GetAmpLED(ipmt) ;
}

//__________________________________________________________________
void 
AliT0Parameters::SetPMTeff(Int_t ipmt)
{
  Float_t lambda[50];
  Float_t eff[50 ] = {0,        0,       0.23619,  0.202909, 0.177913, 
		    0.175667, 0.17856, 0.190769, 0.206667, 0.230286,
		    0.252276, 0.256267,0.26,     0.27125,  0.281818,
		    0.288118, 0.294057,0.296222, 0.301622, 0.290421, 
		    0.276615, 0.2666,  0.248,    0.23619,  0.227814, 
		    0.219818, 0.206667,0.194087, 0.184681, 0.167917, 
		    0.154367, 0.1364,  0.109412, 0.0834615,0.0725283, 
		    0.0642963,0.05861, 0.0465,   0.0413333,0.032069, 
		    0.0252203,0.02066, 0.016262, 0.012,    0.00590476,
		    0.003875, 0.00190, 0,        0,        0          } ;
  for (Int_t i=0; i<50; i++) lambda[i]=200+10*i; 

  TGraph* gr = new TGraph(50,lambda,eff);
  fPMTeff.AddAtAndExpand(gr,ipmt);
}
//________________________________________________________________

Int_t 
AliT0Parameters::GetChannel(Int_t trm,  Int_t tdc, Int_t chain, Int_t channel)
{

  if (fgLookUp) {
    AliT0LookUpValue key(trm,tdc,chain,channel);
      AliT0LookUpKey *val = (AliT0LookUpKey*) fgLookUp->GetMapLookup()->GetValue((TObject*)&key);
      // AliT0LookUpKey *val = (AliT0LookUpKey*) fLookUp.GetValue((TObject*)&key);
    if (val )
      return val->GetKey();
    else {
      AliWarning(Form("No such address (%d %d %d %d)!",trm,tdc,chain,channel));
      return -1;
    }
  }
  else {
    AliError("No look up table has been loader!");
    return -1;
  }

}
//__________________________________________________________________
TMap *AliT0Parameters::GetMapLookup()
{
  if (!fgLookUp){
    cout<<" No look up table in OCDB";
    return 0;
  }
  return   fgLookUp->GetMapLookup();
}
//__________________________________________________________________

Int_t
AliT0Parameters::GetNumberOfTRMs() 
{
  // return number of trms
  // 
  if (!fgLookUp) {
    //  fNumberOfTRMs = 2;
    return  fNumberOfTRMs;
  } 
  return  fgLookUp ->GetNumberOfTRMs();
}
/*
//________________________________________________________________________________
Double_t AliT0Parameters::GetZPosition(const char* symname){
// Get the global z coordinate of the given T0 alignable volume
//
  Double_t *tr = AliGeomManager::GetMatrix(symname)->GetTranslation();

  return tr[2];
}
*/
//________________________________________________________________________________
Double_t AliT0Parameters::GetZPosition(const char* symname){
// Get the global z coordinate of the given T0 alignable volume
//
  Double_t *tr;
  TGeoPNEntry *pne = gGeoManager->GetAlignableEntry(symname);
  if (!pne) return 0;
  

  TGeoPhysicalNode *pnode = pne->GetPhysicalNode();
  if(pnode){
          TGeoHMatrix* hm = pnode->GetMatrix();
           tr = hm->GetTranslation();
  }else{
          const char* path = pne->GetTitle();
          if(!gGeoManager->cd(path)){
                  AliErrorClass(Form("Volume path %s not valid!",path));
                  return 0;
          }
         tr = gGeoManager->GetCurrentMatrix()->GetTranslation();
  }
  return tr[2];

}
//________________________________________________________________________________

Double_t AliT0Parameters::GetZPositionShift(const char* symname)
{
// Get the global z coordinate of the given T0 alignable volume
//
  Double_t *tr = AliGeomManager::GetMatrix(symname)->GetTranslation();

  TGeoHMatrix origmat;
  AliGeomManager::GetOrigGlobalMatrix(symname,origmat);
  Double_t *otr = origmat.GetTranslation();

  return (tr[2]-otr[2]);
}

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