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: AliRsnTOFT0maker.cxx,v 1.8 2010/01/19 16:32:20 noferini Exp $ */

/////////////////////////////////////////////////////////////////////////////
//                                                                         //
//  This class contains the basic functions for the time zero              //
//  evaluation with TOF detector informations.                             //
// Use case in an analysis task:                                           //
//                                                                         //
// Create the object in the task constructor (fTOFmakerANA is a private var)  //
// fTOFmakerANA = new AliRsnTOFT0maker();                                        //
// fTOFmakerANA->SetTimeResolution(115.0e-12); // if you want set the TOF res //
// 115 ps is the TOF default resolution value                              //
//                                                                         //
// Use the RemakePID method in the task::Exec                              //
// Double_t* calcolot0;                                                    //
// calcolot0=fTOFmakerANA->RemakePID(fESD);                                   //
// //calcolot0[0] = calculated event time                                  //
// //calcolot0[1] = event time time resolution                             //
// //calcolot0[2] = average event time for the current fill                //
//                                                                         //
// Let consider that:                                                      //
// - the PIF is automatically recalculated with the event time subtrction  //
//                                                                         //
/////////////////////////////////////////////////////////////////////////////

#include <Riostream.h>
#include <stdlib.h>

#include "AliTOFT0v1.h"
#include "AliTOFcalibHisto.h"
#include "AliPID.h"
#include "AliESDpid.h"
#include "TFile.h"
#include "AliRsnTOFT0maker.h"

ClassImp(AliRsnTOFT0maker)

//____________________________________________________________________________
AliRsnTOFT0maker::AliRsnTOFT0maker():
   fSettings(kNone),
   fCalib(new AliTOFcalibHisto()),
   fESDswitch(0),
   fTimeResolution(115),
   fT0sigma(1000),
   fHmapChannel(0),
   fKmask(0),
   fNoTOFT0(0)
{
   fCalculated[0] = 0;
   fCalculated[1] = 0;
   fCalculated[2] = 0;
   fCalculated[3] = 0;

   fCalib->LoadCalibPar();

   if (AliPID::ParticleMass(0) == 0) new AliPID();
   
   Int_t i;
   for (i = 0; i < 4; i++) fCalculated[i] = 0.0;
}
//____________________________________________________________________________
AliRsnTOFT0maker::AliRsnTOFT0maker(const AliRsnTOFT0maker & t) :
   TObject(),
   fSettings(t.fSettings),
   fCalib(t.fCalib),
   fESDswitch(t.fESDswitch),
   fTimeResolution(t.fTimeResolution),
   fT0sigma(t.fT0sigma),
   fHmapChannel(t.fHmapChannel),
   fKmask(t.fKmask),
   fNoTOFT0(t.fNoTOFT0)
{
   fCalculated[0] = t.fCalculated[0];
   fCalculated[1] = t.fCalculated[1];
   fCalculated[2] = t.fCalculated[2];
   fCalculated[3] = t.fCalculated[3];
}

//____________________________________________________________________________
AliRsnTOFT0maker& AliRsnTOFT0maker::operator=(const AliRsnTOFT0maker &t)
{
//
   // assign. operator
   //
   
   fCalculated[0] = t.fCalculated[0];
   fCalculated[1] = t.fCalculated[1];
   fCalculated[2] = t.fCalculated[2];
   fCalculated[3] = t.fCalculated[3];

   fSettings = t.fSettings;
   if (this == &t)
      return *this;
   fCalib = t.fCalib;
   fESDswitch = t.fESDswitch;
   fTimeResolution = t.fTimeResolution;
   fT0sigma = t.fT0sigma;

   return *this;
}
//____________________________________________________________________________
AliRsnTOFT0maker::~AliRsnTOFT0maker()
{
   // dtor
   if (fCalib) delete fCalib;
}
//____________________________________________________________________________
Double_t* AliRsnTOFT0maker::RemakePID(AliESDEvent *esd, Double_t t0time, Double_t t0sigma)
{
   //
   // Remake TOF PID probabilities
   //

   Double_t *t0tof;

   if (fKmask) ApplyMask(esd);

   AliTOFT0v1* t0makerANA = new AliTOFT0v1(esd);
//   t0makerANA->SetCalib(fCalib);
   t0makerANA->SetTimeResolution(fTimeResolution * 1e-12);

   if (! fESDswitch) {
      TakeTimeRawCorrection(esd);
   }

   t0tof = t0makerANA->DefineT0("all");

   Float_t lT0Current = 0.;
   fT0sigma = 1000;

   Int_t nrun = 0;//esd->GetRunNumber();
   Double_t t0fill = 175;//GetT0Fill(nrun);
   if (fSettings == kPass2 || fSettings == kPass4) {    // cambiato!!!!!!!!
      nrun = esd->GetRunNumber();
      t0fill = GetT0Fill(nrun);
   } else if (fSettings == kLHC09d10) { // e' il MC del pass2?
      t0fill = GetT0Fill(nrun);
   }

   fCalculated[0] = -1000 * t0tof[0];
   fCalculated[1] = 1000 * t0tof[1];
   fCalculated[2] = t0fill;
   fCalculated[3] = t0tof[2];

   if (fCalculated[1] < 150 && TMath::Abs(fCalculated[0] - t0fill) < 500) {
      fT0sigma = fCalculated[1];
      lT0Current = fCalculated[0];
   }

   if (t0sigma < 1000) {
      if (fT0sigma < 1000) {
         Double_t w1 = 1. / t0sigma / t0sigma;
         Double_t w2 = 1. / fCalculated[1] / fCalculated[1];

         Double_t wtot = w1 + w2;

         lT0Current = (w1 * t0time + w2 * fCalculated[0]) / wtot;
         fT0sigma = TMath::Sqrt(1. / wtot);
      } else {
         lT0Current = t0time;
         fT0sigma = t0sigma;
      }
   }

   if (fT0sigma >= 1000 || fNoTOFT0) {
      lT0Current = t0fill;
      fT0sigma = 135;

      fCalculated[0] = t0fill;
      fCalculated[1] = 150;
   }

   RemakeTOFpid(esd, lT0Current);

   return fCalculated;
}
//____________________________________________________________________________
void AliRsnTOFT0maker::TakeTimeRawCorrection(AliESDEvent * const esd)
{
   //
   // Take raw corrections for time measurements
   //

   Int_t ntracks = esd->GetNumberOfTracks();

   while (ntracks--) {
      AliESDtrack *t = esd->GetTrack(ntracks);

      if ((t->GetStatus()&AliESDtrack::kTOFout) == 0) continue;

      Double_t time = t->GetTOFsignalRaw();
      Double_t tot = t->GetTOFsignalToT();
      Int_t chan = t->GetTOFCalChannel();
      Double_t corr = fCalib->GetFullCorrection(chan, tot) - fCalib->GetCorrection(AliTOFcalibHisto::kTimeSlewingCorr, chan, 0);
      time -= corr * 1000;

      //Int_t crate = Int_t(fCalib->GetCalibMap(AliTOFcalibHisto::kDDL,chan));

//     if(crate == 63 || crate == 62){
//       time += 9200;

//    }

//     if(crate == 63 || crate == 62|| crate == 61){
//  printf("%i) %f\n",crate,time);
//     getchar();
//   }
      t->SetTOFsignal(time);
   }
}
//____________________________________________________________________________
void AliRsnTOFT0maker::RemakeTOFpid(AliESDEvent *esd, Float_t timezero)
{
   //
   // Recalculate TOF PID probabilities
   //
   AliESDpid pidESD;
   pidESD.GetTOFResponse().SetTimeResolution(TMath::Sqrt(fT0sigma * fT0sigma + fTimeResolution * fTimeResolution));
   pidESD.MakePID(esd, kFALSE, timezero);

}
//____________________________________________________________________________
Double_t AliRsnTOFT0maker::GetT0Fill(Int_t nrun) const
{
   //
   // Return T0 of filling
   //

   Double_t t0;
   if (nrun == 104065) t0 = 1771614;
   else if (nrun == 104068) t0 = 1771603;
   else if (nrun == 104070) t0 = 1771594;
   else if (nrun == 104073) t0 = 1771610;
   else if (nrun == 104080) t0 = 1771305;
   else if (nrun == 104083) t0 = 1771613;
   else if (nrun == 104157) t0 = 1771665;
   else if (nrun == 104159) t0 = 1771679;
   else if (nrun == 104160) t0 = 1771633;
   else if (nrun == 104316) t0 = 1764344;
   else if (nrun == 104320) t0 = 1764342;
   else if (nrun == 104321) t0 = 1764371;
   else if (nrun == 104439) t0 = 1771750;
   else if (nrun == 104792) t0 = 1771755;
   else if (nrun == 104793) t0 = 1771762;
   else if (nrun == 104799) t0 = 1771828;
   else if (nrun == 104800) t0 = 1771788;
   else if (nrun == 104801) t0 = 1771796;
   else if (nrun == 104802) t0 = 1771775;
   else if (nrun == 104803) t0 = 1771795;
   else if (nrun == 104824) t0 = 1771751;
   else if (nrun == 104825) t0 = 1771763;
   else if (nrun == 104845) t0 = 1771792;
   else if (nrun == 104852) t0 = 1771817;
   else if (nrun == 104864) t0 = 1771825;
   else if (nrun == 104865) t0 = 1771827;
   else if (nrun == 104867) t0 = 1771841;
   else if (nrun == 104876) t0 = 1771856;
   else if (nrun == 104878) t0 = 1771847;
   else if (nrun == 104879) t0 = 1771830;
   else if (nrun == 104892) t0 = 1771837;
   else t0 = 487;

   if (fESDswitch) t0 -= 487;
   else { if (fSettings == kPass4) t0 -= 37 * 1024 * 24.4; }

   return t0;
}

//____________________________________________________________________________
void  AliRsnTOFT0maker::LoadChannelMap(char *filename)
{
   // Load the histo with the channel off map
   TFile *f = new TFile(filename);
   if (!f) {
      printf("Cannot open the channel map file (%s)\n", filename);
      return;
   }

   fHmapChannel = (TH1F *) f->Get("hChEnabled");

   if (!fHmapChannel) {
      printf("Cannot laod the channel map histo (from %s)\n", filename);
      return;
   }

}
//____________________________________________________________________________
void AliRsnTOFT0maker::ApplyMask(AliESDEvent *esd)
{
   // Switch off the disable channel
   if (!fHmapChannel) {
      printf("Channel Map is not available\n");
      return;
   }

   Int_t ntracks = esd->GetNumberOfTracks();

   while (ntracks--) {
      AliESDtrack *t = esd->GetTrack(ntracks);

      if ((t->GetStatus()&AliESDtrack::kTOFout) == 0) continue;

      Int_t chan = t->GetTOFCalChannel();

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