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

// *
// *
// *
// * this class defines the TOF object to be stored
// * in OCDB on a run-by-run basis in order to have the measurement
// * of the time evolution of T0 and of TOF resolution including
// * average T0 uncertainty
// *
// *
// *

#include "AliTOFRunParams.h"
#include "TGraph.h"

ClassImp(AliTOFRunParams)

//_________________________________________________________

AliTOFRunParams::AliTOFRunParams() :
  TObject(),
  fNPoints(0),
  fTimestamp(NULL),
  fT0(NULL),
  fTOFResolution(NULL),
  fT0Spread(NULL),
  fNRuns(0),
  fRunNb(NULL),
  fRunFirstPoint(NULL),
  fRunLastPoint(NULL),
  fUseLHCClockPhase(kFALSE)
{
  /*
   * default constructor
   */
}

//_________________________________________________________

AliTOFRunParams::AliTOFRunParams(Int_t nPoints, Int_t nRuns) :
  TObject(),
  fNPoints(nPoints),
  fTimestamp(new UInt_t[nPoints]),
  fT0(new Float_t[nPoints]),
  fTOFResolution(new Float_t[nPoints]),
  fT0Spread(new Float_t[nPoints]),
  fNRuns(nRuns),
  fRunNb(new UInt_t[nRuns]),
  fRunFirstPoint(new UInt_t[nRuns]),
  fRunLastPoint(new UInt_t[nRuns]),
  fUseLHCClockPhase(kFALSE)
{
  /*
   * standard constructor
   */
}

//_________________________________________________________

AliTOFRunParams::~AliTOFRunParams()
{
  /*
   * default destructor
   */

  if (fTimestamp) delete [] fTimestamp;
  if (fT0) delete [] fT0;
  if (fTOFResolution) delete [] fTOFResolution;
  if (fT0Spread) delete [] fT0Spread;
  if (fRunNb) delete [] fRunNb;
  if (fRunFirstPoint) delete [] fRunFirstPoint;
  if (fRunLastPoint) delete [] fRunLastPoint;
}

//_________________________________________________________

AliTOFRunParams::AliTOFRunParams(const AliTOFRunParams &source) :
  TObject(source),
  fNPoints(source.fNPoints),
  fTimestamp(new UInt_t[source.fNPoints]),
  fT0(new Float_t[source.fNPoints]),
  fTOFResolution(new Float_t[source.fNPoints]),
  fT0Spread(new Float_t[source.fNPoints]),
  fNRuns(source.fNRuns),
  fRunNb(new UInt_t[source.fNRuns]),
  fRunFirstPoint(new UInt_t[source.fNRuns]),
  fRunLastPoint(new UInt_t[source.fNRuns]),
  fUseLHCClockPhase(source.fUseLHCClockPhase)
{
  /*
   * copy constructor
   */

  for (Int_t i = 0; i < fNPoints; i++) {
    fTimestamp[i] = source.fTimestamp[i];
    fT0[i] = source.fT0[i];
    fTOFResolution[i] = source.fTOFResolution[i];
    fT0Spread[i] = source.fT0Spread[i];
  }

  for (Int_t i = 0; i < fNRuns; i++) {
    fRunNb[i] = source.fRunNb[i];
    fRunFirstPoint[i] = source.fRunFirstPoint[i];
    fRunLastPoint[i] = source.fRunLastPoint[i];
  }
  
}

//_________________________________________________________

AliTOFRunParams &
AliTOFRunParams::operator=(const AliTOFRunParams &source)
{
  /*
   * operator=
   */

  if (this == &source) return *this;
  TObject::operator=(source);
  
  if (fNPoints != source.fNPoints) {
    if (fTimestamp) delete [] fTimestamp;
    if (fT0) delete [] fT0;
    if (fTOFResolution) delete [] fTOFResolution;
    if (fT0Spread) delete [] fT0Spread;
    fNPoints = source.fNPoints;
    fTimestamp = new UInt_t[source.fNPoints];
    fT0 = new Float_t[source.fNPoints];
    fTOFResolution = new Float_t[source.fNPoints];
    fT0Spread = new Float_t[source.fNPoints];
  }

  for (Int_t i = 0; i < fNPoints; i++) {
    fTimestamp[i] = source.fTimestamp[i];
    fT0[i] = source.fT0[i];
    fTOFResolution[i] = source.fTOFResolution[i];
    fT0Spread[i] = source.fT0Spread[i];
  }

  if (fNRuns != source.fNRuns) {
    if (fRunNb) delete [] fRunNb;
    if (fRunFirstPoint) delete [] fRunFirstPoint;
    if (fRunLastPoint) delete [] fRunLastPoint;
    fNRuns = source.fNRuns;
    fRunNb = new UInt_t[source.fNRuns];
    fRunFirstPoint = new UInt_t[source.fNRuns];
    fRunLastPoint = new UInt_t[source.fNRuns];
  }

  for (Int_t i = 0; i < fNRuns; i++) {
    fRunNb[i] = source.fRunNb[i];
    fRunFirstPoint[i] = source.fRunFirstPoint[i];
    fRunLastPoint[i] = source.fRunLastPoint[i];
  }

  fUseLHCClockPhase = source.fUseLHCClockPhase;

  return *this;
}

//_________________________________________________________

Float_t
AliTOFRunParams::EvalT0(UInt_t timestamp)
{
  /*
   * eval T0
   */

  /* critical cases:
     1. no measurement -> 0.
     2. single measurement -> single value
     3. timestamp before first measurement -> first value
     4. timestamp after last measurement -> last value
  */
  if (fNPoints <= 0 || !fT0 || !fTimestamp) return 0.;
  if (fNPoints == 1) return fT0[0];
  if (timestamp <= fTimestamp[0]) return fT0[0];
  if (timestamp >= fTimestamp[fNPoints - 1]) return fT0[fNPoints - 1];

  /* interpolate value */
  Int_t ipoint;
  for (ipoint = 0; ipoint < fNPoints - 1; ipoint++)
    if (timestamp >= fTimestamp[ipoint] && timestamp < fTimestamp[ipoint + 1])
      break;
  Float_t coeff = (fT0[ipoint + 1] - fT0[ipoint]) / (Float_t)(fTimestamp[ipoint + 1] - fTimestamp[ipoint]);
  Float_t t0 = fT0[ipoint] + coeff * (timestamp - fTimestamp[ipoint]);
  
  return t0;
}

//_________________________________________________________

Float_t
AliTOFRunParams::EvalTOFResolution(UInt_t timestamp)
{
  /*
   * eval TOF resolution
   */

  /* critical cases:
     1. no measurement -> 0.
     2. single measurement -> single value
     3. timestamp before first measurement -> first value
     4. timestamp after last measurement -> last value
  */
  if (fNPoints <= 0 || !fTOFResolution || !fTimestamp) return 0.;
  if (fNPoints == 1) return fTOFResolution[0];
  if (timestamp <= fTimestamp[0]) return fTOFResolution[0];
  if (timestamp >= fTimestamp[fNPoints - 1]) return fTOFResolution[fNPoints - 1];

  /* interpolate value */
  Int_t ipoint;
  for (ipoint = 0; ipoint < fNPoints - 1; ipoint++)
    if (timestamp >= fTimestamp[ipoint] && timestamp < fTimestamp[ipoint + 1])
      break;
  Float_t coeff = (fTOFResolution[ipoint + 1] - fTOFResolution[ipoint]) / (Float_t)(fTimestamp[ipoint + 1] - fTimestamp[ipoint]);
  Float_t reso = fTOFResolution[ipoint] + coeff * (timestamp - fTimestamp[ipoint]);
  
  return reso;
}

//_________________________________________________________

Float_t
AliTOFRunParams::EvalT0Spread(UInt_t timestamp)
{
  /*
   * eval T0 spread
   */

  /* critical cases:
     1. no measurement -> 0.
     2. single measurement -> single value
     3. timestamp before first measurement -> first value
     4. timestamp after last measurement -> last value
  */
  if (fNPoints <= 0 || !fT0Spread || !fTimestamp) return 0.;
  if (fNPoints == 1) return fT0Spread[0];
  if (timestamp <= fTimestamp[0]) return fT0Spread[0];
  if (timestamp >= fTimestamp[fNPoints - 1]) return fT0Spread[fNPoints - 1];

  /* interpolate value */
  Int_t ipoint;
  for (ipoint = 0; ipoint < fNPoints - 1; ipoint++)
    if (timestamp >= fTimestamp[ipoint] && timestamp < fTimestamp[ipoint + 1])
      break;
  Float_t coeff = (fT0Spread[ipoint + 1] - fT0Spread[ipoint]) / (Float_t)(fTimestamp[ipoint + 1] - fTimestamp[ipoint]);
  Float_t spread = fT0Spread[ipoint] + coeff * (timestamp - fTimestamp[ipoint]);
  
  return spread;
}

//_________________________________________________________

Float_t
AliTOFRunParams::Average(Float_t *data, Int_t first, Int_t last)
{
  /*
   * average
   */

  if (first < 0) first = 0;
  if (last >= fNPoints) last = fNPoints - 1;
  Float_t value = 0.;
  Int_t npt = 0;
  for (Int_t i = first; i <= last; i++) {
    value += data[i];
    npt++;
  }
  if (npt <= 0) return 0.;
  value /= npt;
  return value;

}

//_________________________________________________________

Float_t
AliTOFRunParams::Average(Float_t *data, UInt_t runNb)
{
  /*
   * average
   */

  /* critical cases:
     1. no measurement -> 0.
     2. no runNb structure -> average over all points
     3. runNb not found -> average over all points
  */
  if (fNPoints <= 0 || !fT0 || !fTimestamp) return 0.;
  if (fNRuns <= 0 || !fRunNb || !fRunFirstPoint || !fRunLastPoint) return Average(data, 0, fNPoints - 1);


  /* search for runNb */
  UInt_t runPoint = 0;
  Bool_t gotRunNb = kFALSE;
  for (Int_t irun = 0; irun < fNRuns; irun++) {
    if (fRunNb[irun] == runNb) {
      runPoint = irun;
      gotRunNb = kTRUE;
      break;
    }
  }
  if (!gotRunNb) return Average(data, 0, fNPoints - 1);

  /* average between first and last run points */
  UInt_t firstPoint = fRunFirstPoint[runPoint];
  UInt_t lastPoint = fRunLastPoint[runPoint];
  return Average(data, firstPoint, lastPoint);

}

//_________________________________________________________

TGraph *
AliTOFRunParams::DrawGraph(Float_t *data, Option_t* option)
{
  /*
   * draw
   */

  if (fNPoints == 0 || !data || !fTimestamp) return NULL;

  Float_t ts[1000000];
  for (Int_t i = 0; i < fNPoints; i++)
    ts[i] = fTimestamp[i];

  TGraph *graph = new TGraph(fNPoints, ts, data);
  graph->Draw(option);
  return graph;
}

//_________________________________________________________

TGraph *
AliTOFRunParams::DrawCorrelationGraph(Float_t *datax, Float_t *datay, Option_t* option)
{
  /*
   * draw
   */

  if (fNPoints == 0 || !datax || !datay) return NULL;

  TGraph *graph = new TGraph(fNPoints, datax, datay);
  graph->Draw(option);
  return graph;
}

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