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


///////////////////////////////////////////////////////////////////////////////
//                                                                           //
// Class with T0 reconstruction parameters                                  //
//    fMeanAmplitude -
//           for low flux time-amplitude correction equalize time to amplitude 1 MIP; 
//           for high flux - to 15MIP   
//    To have nice time spectra after reconstruction we need to know 
//    reference point to write t(i) - RefPoint. 
//    It can be apparatus RefPoint or one of PMT                       //  
//    fRefPoint - number of channel with RF
//
//       Alla.Maevskaya@cern.ch
/////////////////////////////////////////////////////////////////////////

#include "AliLog.h"
 
#include "AliT0RecoParam.h"
#include "Riostream.h"

using std::cout;
using std::endl;
ClassImp(AliT0RecoParam)




//_____________________________________________________________________________
AliT0RecoParam::AliT0RecoParam():
  AliDetectorRecoParam(),
   fRefAmp(7),
   fRefPoint(0),
   fLatencyL1(0),  
   fLatencyL1A(0),  
   fLatencyL1C(0),  
   fLatencyHPTDC(0),      
  fVertexShift(0),
  fEqualised(0)
{
  //
  // constructor
  SetName("T0");
  SetTitle("T0");

  fSatelliteThresholds[0] =  -15;
  fSatelliteThresholds[1] =  -1.5;
  for (Int_t i=0; i<500; i++)  {
    fLow[i] = 0.;
    fHigh[i] = 10000.;
    if( i<24) fBadChannels[i]=-1;
  }
 
}

//_____________________________________________________________________________
AliT0RecoParam::~AliT0RecoParam() 
{
  //
  // destructor
  //  
}

//_____________________________________________________________________________

AliT0RecoParam::AliT0RecoParam(const AliT0RecoParam &p):
  AliDetectorRecoParam(p),       
  fRefAmp(p.fRefAmp),
  fRefPoint(p.fRefPoint),
  fLatencyL1(p.fLatencyL1),  
  fLatencyL1A(p.fLatencyL1A),  
  fLatencyL1C(p.fLatencyL1C),  
  fLatencyHPTDC(p.fLatencyHPTDC),      
  fVertexShift(p.fVertexShift), 
  fEqualised( p.fEqualised)
{ 
 //copy constructor
  fSatelliteThresholds[0] = (p.fSatelliteThresholds[0]);
  fSatelliteThresholds[1] = (p.fSatelliteThresholds[1]);
  for (Int_t i=0; i<500; i++)  {
    fLow[i] = p.fLow[i];
    fHigh[i] = p.fHigh[i];
    if( i<24) fBadChannels[i] = p.fBadChannels[i];
  }
 

}
//_____________________________________________________________________________

AliT0RecoParam& AliT0RecoParam:: operator=(const AliT0RecoParam &p)
{
  //
  // assign. operator
  //

  if (this == &p)
    return *this;
  
  AliDetectorRecoParam::operator=(p);
  fRefAmp = p.fRefAmp;
  fRefPoint = p.fRefPoint;
  fLatencyL1 = p.fLatencyL1;
  fLatencyL1A = p.fLatencyL1A;
  fLatencyL1C = p.fLatencyL1C;

  fLatencyHPTDC = p.fLatencyHPTDC;
  fVertexShift = p.fVertexShift;

  fSatelliteThresholds[0] = (p.fSatelliteThresholds[0]);
  fSatelliteThresholds[1] = (p.fSatelliteThresholds[1]);
  fEqualised = p.fEqualised;
  for (Int_t i=0; i<500; i++)  {
    fLow[i] = p.fLow[i];
    fHigh[i] = p.fHigh[i];
    if( i<24) fBadChannels[i] = p.fBadChannels[i];
  }
 
 return *this;

}
//_____________________________________________________________________________
 
AliT0RecoParam *AliT0RecoParam::GetLowFluxParam()
{
  //
  // make default reconstruction  parameters for low  flux env.
  //
  AliT0RecoParam *param = new AliT0RecoParam();
  param->fRefAmp = 1;
  param->fRefPoint = 0;
  param->fLatencyL1 = 7782.05;
  param->fLatencyL1A = 7781.90;
  param->fLatencyL1C =  7782.19;
  param->fLatencyHPTDC = 22000;
  param->fVertexShift = 0;
  for (Int_t i=0; i<500; i++)
    {
     param-> fLow[i]=0.;
     param-> fHigh[i]=10000.;
    }
  param->SetName("Low Flux");
  param->SetTitle("Low Flux");
  param->SetSatelliteThresholds(-15, -1.5);
  param->SetEq(0);
  return param;
}

//_____________________________________________________________________________

AliT0RecoParam *AliT0RecoParam::GetHighFluxParam()
{
  //
  // make reco parameters for high flux env.
  //

  AliT0RecoParam *param = new AliT0RecoParam();
  param->fRefAmp = 10;
  param->fRefPoint = 0;
  param->fLatencyL1 = 7782.05;
  param->fLatencyL1A = 7781.90;
  param->fLatencyL1C =  7782.19;
  param->fVertexShift = 0;
  param->fLatencyHPTDC = 22000;
  for (Int_t i=0; i<500; i++)
    {
      param-> fLow[i]=0.;
      param-> fHigh[i]=20000.;
    }
  //
  param->SetSatelliteThresholds(-15, -1.5);
  param->SetEq(0);

   param->SetName("High Flux");
  param->SetTitle("High Flux");
  return param;
}


//_____________________________________________________________________________

AliT0RecoParam *AliT0RecoParam::GetLaserTestParam()
{
  //
  // special setting for laser
  //
  AliT0RecoParam *param = new AliT0RecoParam();
  param->fRefAmp = 1;
  param->fRefPoint = 1;
  param->fLatencyL1 = 7782.05;
  param->fLatencyL1A = 7781.90;
  param->fLatencyL1C =  7782.19;
  param->fLatencyHPTDC = 22000;
  param->fVertexShift = 0;
  param->SetSatelliteThresholds(-15, -1.5);
  param->SetEq(0);
  
  for (Int_t i=0; i<500; i++)
    {
     param-> fLow[i]=0.;
     param-> fHigh[i]=12000.;
    }
  //
  param->SetName("Laser Flux");
  param->SetTitle("Laser Flux");
  return param;
}
//_____________________________________________________________________________

void AliT0RecoParam::PrintParameters() const
{
  //
  // Printing of the used T0 reconstruction parameters
  //
  AliInfo(Form(" Reference amplitude for walk corerection : %f", fRefAmp));
  AliInfo(Form(" Bad channel in channel  : %i", fRefPoint));
  cout<<" AliT0RecoParam::PrintParameters() "<<endl;
  for (Int_t i=0; i<105; i++) cout<<i<<" "<<fLow[i]<<" "<<fHigh[i]<<endl; 
}
 AliT0RecoParam.cxx:1
 AliT0RecoParam.cxx:2
 AliT0RecoParam.cxx:3
 AliT0RecoParam.cxx:4
 AliT0RecoParam.cxx:5
 AliT0RecoParam.cxx:6
 AliT0RecoParam.cxx:7
 AliT0RecoParam.cxx:8
 AliT0RecoParam.cxx:9
 AliT0RecoParam.cxx:10
 AliT0RecoParam.cxx:11
 AliT0RecoParam.cxx:12
 AliT0RecoParam.cxx:13
 AliT0RecoParam.cxx:14
 AliT0RecoParam.cxx:15
 AliT0RecoParam.cxx:16
 AliT0RecoParam.cxx:17
 AliT0RecoParam.cxx:18
 AliT0RecoParam.cxx:19
 AliT0RecoParam.cxx:20
 AliT0RecoParam.cxx:21
 AliT0RecoParam.cxx:22
 AliT0RecoParam.cxx:23
 AliT0RecoParam.cxx:24
 AliT0RecoParam.cxx:25
 AliT0RecoParam.cxx:26
 AliT0RecoParam.cxx:27
 AliT0RecoParam.cxx:28
 AliT0RecoParam.cxx:29
 AliT0RecoParam.cxx:30
 AliT0RecoParam.cxx:31
 AliT0RecoParam.cxx:32
 AliT0RecoParam.cxx:33
 AliT0RecoParam.cxx:34
 AliT0RecoParam.cxx:35
 AliT0RecoParam.cxx:36
 AliT0RecoParam.cxx:37
 AliT0RecoParam.cxx:38
 AliT0RecoParam.cxx:39
 AliT0RecoParam.cxx:40
 AliT0RecoParam.cxx:41
 AliT0RecoParam.cxx:42
 AliT0RecoParam.cxx:43
 AliT0RecoParam.cxx:44
 AliT0RecoParam.cxx:45
 AliT0RecoParam.cxx:46
 AliT0RecoParam.cxx:47
 AliT0RecoParam.cxx:48
 AliT0RecoParam.cxx:49
 AliT0RecoParam.cxx:50
 AliT0RecoParam.cxx:51
 AliT0RecoParam.cxx:52
 AliT0RecoParam.cxx:53
 AliT0RecoParam.cxx:54
 AliT0RecoParam.cxx:55
 AliT0RecoParam.cxx:56
 AliT0RecoParam.cxx:57
 AliT0RecoParam.cxx:58
 AliT0RecoParam.cxx:59
 AliT0RecoParam.cxx:60
 AliT0RecoParam.cxx:61
 AliT0RecoParam.cxx:62
 AliT0RecoParam.cxx:63
 AliT0RecoParam.cxx:64
 AliT0RecoParam.cxx:65
 AliT0RecoParam.cxx:66
 AliT0RecoParam.cxx:67
 AliT0RecoParam.cxx:68
 AliT0RecoParam.cxx:69
 AliT0RecoParam.cxx:70
 AliT0RecoParam.cxx:71
 AliT0RecoParam.cxx:72
 AliT0RecoParam.cxx:73
 AliT0RecoParam.cxx:74
 AliT0RecoParam.cxx:75
 AliT0RecoParam.cxx:76
 AliT0RecoParam.cxx:77
 AliT0RecoParam.cxx:78
 AliT0RecoParam.cxx:79
 AliT0RecoParam.cxx:80
 AliT0RecoParam.cxx:81
 AliT0RecoParam.cxx:82
 AliT0RecoParam.cxx:83
 AliT0RecoParam.cxx:84
 AliT0RecoParam.cxx:85
 AliT0RecoParam.cxx:86
 AliT0RecoParam.cxx:87
 AliT0RecoParam.cxx:88
 AliT0RecoParam.cxx:89
 AliT0RecoParam.cxx:90
 AliT0RecoParam.cxx:91
 AliT0RecoParam.cxx:92
 AliT0RecoParam.cxx:93
 AliT0RecoParam.cxx:94
 AliT0RecoParam.cxx:95
 AliT0RecoParam.cxx:96
 AliT0RecoParam.cxx:97
 AliT0RecoParam.cxx:98
 AliT0RecoParam.cxx:99
 AliT0RecoParam.cxx:100
 AliT0RecoParam.cxx:101
 AliT0RecoParam.cxx:102
 AliT0RecoParam.cxx:103
 AliT0RecoParam.cxx:104
 AliT0RecoParam.cxx:105
 AliT0RecoParam.cxx:106
 AliT0RecoParam.cxx:107
 AliT0RecoParam.cxx:108
 AliT0RecoParam.cxx:109
 AliT0RecoParam.cxx:110
 AliT0RecoParam.cxx:111
 AliT0RecoParam.cxx:112
 AliT0RecoParam.cxx:113
 AliT0RecoParam.cxx:114
 AliT0RecoParam.cxx:115
 AliT0RecoParam.cxx:116
 AliT0RecoParam.cxx:117
 AliT0RecoParam.cxx:118
 AliT0RecoParam.cxx:119
 AliT0RecoParam.cxx:120
 AliT0RecoParam.cxx:121
 AliT0RecoParam.cxx:122
 AliT0RecoParam.cxx:123
 AliT0RecoParam.cxx:124
 AliT0RecoParam.cxx:125
 AliT0RecoParam.cxx:126
 AliT0RecoParam.cxx:127
 AliT0RecoParam.cxx:128
 AliT0RecoParam.cxx:129
 AliT0RecoParam.cxx:130
 AliT0RecoParam.cxx:131
 AliT0RecoParam.cxx:132
 AliT0RecoParam.cxx:133
 AliT0RecoParam.cxx:134
 AliT0RecoParam.cxx:135
 AliT0RecoParam.cxx:136
 AliT0RecoParam.cxx:137
 AliT0RecoParam.cxx:138
 AliT0RecoParam.cxx:139
 AliT0RecoParam.cxx:140
 AliT0RecoParam.cxx:141
 AliT0RecoParam.cxx:142
 AliT0RecoParam.cxx:143
 AliT0RecoParam.cxx:144
 AliT0RecoParam.cxx:145
 AliT0RecoParam.cxx:146
 AliT0RecoParam.cxx:147
 AliT0RecoParam.cxx:148
 AliT0RecoParam.cxx:149
 AliT0RecoParam.cxx:150
 AliT0RecoParam.cxx:151
 AliT0RecoParam.cxx:152
 AliT0RecoParam.cxx:153
 AliT0RecoParam.cxx:154
 AliT0RecoParam.cxx:155
 AliT0RecoParam.cxx:156
 AliT0RecoParam.cxx:157
 AliT0RecoParam.cxx:158
 AliT0RecoParam.cxx:159
 AliT0RecoParam.cxx:160
 AliT0RecoParam.cxx:161
 AliT0RecoParam.cxx:162
 AliT0RecoParam.cxx:163
 AliT0RecoParam.cxx:164
 AliT0RecoParam.cxx:165
 AliT0RecoParam.cxx:166
 AliT0RecoParam.cxx:167
 AliT0RecoParam.cxx:168
 AliT0RecoParam.cxx:169
 AliT0RecoParam.cxx:170
 AliT0RecoParam.cxx:171
 AliT0RecoParam.cxx:172
 AliT0RecoParam.cxx:173
 AliT0RecoParam.cxx:174
 AliT0RecoParam.cxx:175
 AliT0RecoParam.cxx:176
 AliT0RecoParam.cxx:177
 AliT0RecoParam.cxx:178
 AliT0RecoParam.cxx:179
 AliT0RecoParam.cxx:180
 AliT0RecoParam.cxx:181
 AliT0RecoParam.cxx:182
 AliT0RecoParam.cxx:183
 AliT0RecoParam.cxx:184
 AliT0RecoParam.cxx:185
 AliT0RecoParam.cxx:186
 AliT0RecoParam.cxx:187
 AliT0RecoParam.cxx:188
 AliT0RecoParam.cxx:189
 AliT0RecoParam.cxx:190
 AliT0RecoParam.cxx:191
 AliT0RecoParam.cxx:192
 AliT0RecoParam.cxx:193
 AliT0RecoParam.cxx:194
 AliT0RecoParam.cxx:195
 AliT0RecoParam.cxx:196
 AliT0RecoParam.cxx:197
 AliT0RecoParam.cxx:198
 AliT0RecoParam.cxx:199
 AliT0RecoParam.cxx:200
 AliT0RecoParam.cxx:201
 AliT0RecoParam.cxx:202
 AliT0RecoParam.cxx:203
 AliT0RecoParam.cxx:204
 AliT0RecoParam.cxx:205
 AliT0RecoParam.cxx:206
 AliT0RecoParam.cxx:207
 AliT0RecoParam.cxx:208
 AliT0RecoParam.cxx:209
 AliT0RecoParam.cxx:210
 AliT0RecoParam.cxx:211
 AliT0RecoParam.cxx:212
 AliT0RecoParam.cxx:213
 AliT0RecoParam.cxx:214
 AliT0RecoParam.cxx:215
 AliT0RecoParam.cxx:216
 AliT0RecoParam.cxx:217
 AliT0RecoParam.cxx:218
 AliT0RecoParam.cxx:219
 AliT0RecoParam.cxx:220
 AliT0RecoParam.cxx:221
 AliT0RecoParam.cxx:222
 AliT0RecoParam.cxx:223
 AliT0RecoParam.cxx:224
 AliT0RecoParam.cxx:225
 AliT0RecoParam.cxx:226
 AliT0RecoParam.cxx:227
 AliT0RecoParam.cxx:228
 AliT0RecoParam.cxx:229
 AliT0RecoParam.cxx:230
 AliT0RecoParam.cxx:231
 AliT0RecoParam.cxx:232