changeble histogram range for RAW QA and monitoring
[u/mrichter/AliRoot.git] / T0 / AliT0RecoParam.cxx
1 /**************************************************************************
2  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3  *                                                                        *
4  * Author: The ALICE Off-line Project.                                    *
5  * Contributors are mentioned in the code where appropriate.              *
6  *                                                                        *
7  * Permission to use, copy, modify and distribute this software and its   *
8  * documentation strictly for non-commercial purposes is hereby granted   *
9  * without fee, provided that the above copyright notice appears in all   *
10  * copies and that both the copyright notice and this permission notice   *
11  * appear in the supporting documentation. The authors make no claims     *
12  * about the suitability of this software for any purpose. It is          *
13  * provided "as is" without express or implied warranty.                  *
14  **************************************************************************/
15
16
17 ///////////////////////////////////////////////////////////////////////////////
18 //                                                                           //
19 // Class with T0 reconstruction parameters                                  //
20 //    fMeanAmplitude -
21 //           for low flux time-amplitude correction equalize time to amplitude 1 MIP; 
22 //           for high flux - to 15MIP   
23 //    To have nice time spectra after reconstruction we need to know 
24 //    reference point to write t(i) - RefPoint. 
25 //    It can be apparatus RefPoint or one of PMT                       //  
26 //    fRefPoint - number of channel with RF
27 //
28 //       Alla.Maevskaya@cern.ch
29 /////////////////////////////////////////////////////////////////////////
30
31 #include "AliLog.h"
32  
33 #include "AliT0RecoParam.h"
34 #include "Riostream.h"
35
36 ClassImp(AliT0RecoParam)
37
38
39
40
41 //_____________________________________________________________________________
42 AliT0RecoParam::AliT0RecoParam():
43   AliDetectorRecoParam(),
44    fRefAmp(7),
45     fRefPoint(0)
46 {
47   //
48   // constructor
49   //
50   SetName("T0");
51   SetTitle("T0");
52 }
53
54 //_____________________________________________________________________________
55 AliT0RecoParam::~AliT0RecoParam() 
56 {
57   //
58   // destructor
59   //  
60 }
61
62 //_____________________________________________________________________________
63
64 AliT0RecoParam::AliT0RecoParam(const AliT0RecoParam &p):
65   AliDetectorRecoParam(p),       
66    fRefAmp(p.fRefAmp),
67    fRefPoint(p.fRefPoint)
68 {
69  
70  //copy constructor
71
72 }
73 //_____________________________________________________________________________
74
75 AliT0RecoParam& AliT0RecoParam:: operator=(const AliT0RecoParam &p)
76 {
77   //
78   // assign. operator
79   //
80
81   if (this == &p)
82     return *this;
83   
84   AliDetectorRecoParam::operator=(p);
85   fRefAmp = p.fRefAmp;
86   fRefPoint = p.fRefPoint;
87   return *this;
88
89 }
90 //_____________________________________________________________________________
91  
92 AliT0RecoParam *AliT0RecoParam::GetLowFluxParam()
93 {
94   //
95   // make default reconstruction  parameters for low  flux env.
96   //
97   AliT0RecoParam *param = new AliT0RecoParam();
98   param->fRefAmp = 1;
99   param->fRefPoint = 0;
100   for (Int_t i=0; i<500; i++)
101     {
102      param-> fLow[i]=0.;
103      param-> fHigh[i]=10000.;
104     }
105   param->SetName("Low Flux");
106   param->SetTitle("Low Flux");
107   return param;
108 }
109
110 //_____________________________________________________________________________
111
112 AliT0RecoParam *AliT0RecoParam::GetHighFluxParam()
113 {
114   //
115   // make reco parameters for high flux env.
116   //
117
118   AliT0RecoParam *param = new AliT0RecoParam();
119   param->fRefAmp = 5;
120   param->fRefPoint = 0;
121   for (Int_t i=0; i<500; i++)
122     {
123      param-> fLow[i]=0.;
124      param-> fHigh[i]=20000.;
125     }
126   //
127   param->SetName("High Flux");
128   param->SetTitle("High Flux");
129   return param;
130 }
131
132
133 //_____________________________________________________________________________
134
135 AliT0RecoParam *AliT0RecoParam::GetLaserTestParam()
136 {
137   //
138   // special setting for laser
139   //
140   AliT0RecoParam *param = new AliT0RecoParam();
141   param->fRefAmp = 1;
142   param->fRefPoint = 1;
143   for (Int_t i=0; i<500; i++)
144     {
145      param-> fLow[i]=0.;
146      param-> fHigh[i]=12000.;
147     }
148   //
149   param->SetName("Laser Flux");
150   param->SetTitle("Laser Flux");
151   return param;
152 }
153 //_____________________________________________________________________________
154
155 void AliT0RecoParam::PrintParameters() const
156 {
157   //
158   // Printing of the used T0 reconstruction parameters
159   //
160   AliInfo(Form(" Reference amplitude for walk corerection : %f", fRefAmp));
161   AliInfo(Form(" Reference point in channel  : %i", fRefPoint));
162   cout<<" AliT0RecoParam::PrintParameters() "<<endl;
163   for (Int_t i=0; i<500; i++) cout<<i<<" "<<fLow[i]<<" "<<fHigh[i]<<endl; 
164 }