@@ -30,11 +30,11 @@ Digitizer::CFDOutput Digitizer::get_time(const std::vector<double>& times, doubl
3030 double min_time = std::max (deadTime, *std::min_element (begin (times),
3131 end (times)));
3232 assert (std::is_sorted (begin (times), end (times)));
33- std::vector<double > noise (std::ceil (parameters .bunchWidth / parameters .mNoisePeriod ));
33+ std::vector<double > noise (std::ceil (mParameters .bunchWidth / mParameters .mNoisePeriod ));
3434 for (auto & n : noise)
35- n = gRandom ->Gaus (0 , parameters .mNoiseVar );
35+ n = gRandom ->Gaus (0 , mParameters .mNoiseVar );
3636 bool is_positive = true ;
37- auto period = parameters .mNoisePeriod ;
37+ auto period = mParameters .mNoisePeriod ;
3838 auto value_at = [&noise, ×, &period](double time) {
3939 double val = 0 ;
4040 for (double t : times)
@@ -43,17 +43,17 @@ Digitizer::CFDOutput Digitizer::get_time(const std::vector<double>& times, doubl
4343 val += noise[i] * sinc (TMath::Pi () * (time - 12.5 ) / period - i);
4444 return val;
4545 };
46- // for (double time = min_time; time < 0.5 * parameters .bunchWidth; time += 0.001 * parameters .channelWidth) {
46+ // for (double time = min_time; time < 0.5 * mParameters .bunchWidth; time += 0.001 * mParameters .channelWidth) {
4747 CFDOutput result{std::nullopt , -12.5 };
48- for (double time = min_time; time < 0.5 * parameters .bunchWidth ; time += 0.005 ) {
48+ for (double time = min_time; time < 0.5 * mParameters .bunchWidth ; time += 0.005 ) {
4949 double val = value_at (time);
50- double cfd_val = 5 * value_at (time - parameters .mCFDShiftPos ) - val;
51- if (std::abs (val) > parameters .mCFD_trsh && !is_positive && cfd_val > 0 ) {
50+ double cfd_val = 5 * value_at (time - mParameters .mCFDShiftPos ) - val;
51+ if (std::abs (val) > mParameters .mCFD_trsh && !is_positive && cfd_val > 0 ) {
5252 if (!result.particle ) {
5353 result.particle = time;
5454 }
55- result.deadTime = time + parameters .mCFDdeadTime ;
56- time += parameters .mCFDdeadTime - 0.005 ;
55+ result.deadTime = time + mParameters .mCFDdeadTime ;
56+ time += mParameters .mCFDdeadTime - 0.005 ;
5757 is_positive = true ;
5858 } else
5959 is_positive = cfd_val > 0 ;
@@ -69,8 +69,8 @@ Digitizer::CFDOutput Digitizer::get_time(const std::vector<double>& times, doubl
6969double Digitizer::measure_amplitude (const std::vector<double >& times)
7070{
7171 double result = 0 ;
72- double from = parameters .mAmpRecordLow ;
73- double to = from + parameters .mAmpRecordUp ;
72+ double from = mParameters .mAmpRecordLow ;
73+ double to = from + mParameters .mAmpRecordUp ;
7474 for (double time : times) {
7575 result += signalForm_integral (to - time) - signalForm_integral (from - time);
7676 }
@@ -91,8 +91,8 @@ void Digitizer::process(const std::vector<o2::ft0::HitType>* hits,
9191 continue ;
9292
9393 Int_t hit_ch = hit.GetDetectorID ();
94- Bool_t is_A_side = (hit_ch < 4 * parameters .nCellsA );
95- Float_t time_compensate = is_A_side ? parameters .A_side_cable_cmps : parameters .C_side_cable_cmps ;
94+ Bool_t is_A_side = (hit_ch < 4 * mParameters .nCellsA );
95+ Float_t time_compensate = is_A_side ? mParameters .A_side_cable_cmps : mParameters .C_side_cable_cmps ;
9696 Double_t hit_time = hit.GetTime () - time_compensate;
9797 auto relBC = o2::InteractionRecord{hit_time};
9898 if (mCache .size () <= relBC.bc ) {
@@ -124,11 +124,11 @@ void Digitizer::storeBC(BCCache& bc,
124124 std::sort (particles.begin (), particles.end ());
125125 auto channel_end = particles.begin ();
126126 std::vector<double > channel_times;
127- for (Int_t ipmt = 0 ; ipmt < parameters .mMCPs ; ++ipmt) {
127+ for (Int_t ipmt = 0 ; ipmt < mParameters .mMCPs ; ++ipmt) {
128128 auto channel_begin = channel_end;
129129 channel_end = std::find_if (channel_begin, particles.end (),
130130 [ipmt](BCCache::particle const & p) { return p.hit_ch != ipmt; });
131- if (channel_end - channel_begin < parameters .mAmp_trsh )
131+ if (channel_end - channel_begin < mParameters .mAmp_trsh )
132132 continue ;
133133 channel_times.resize (channel_end - channel_begin);
134134 std::transform (channel_begin, channel_end, channel_times.begin (), [](BCCache::particle const & p) { return p.hit_time ; });
@@ -142,10 +142,10 @@ void Digitizer::storeBC(BCCache& bc,
142142
143143 if (!cfd.particle )
144144 continue ;
145- int smeared_time = 1000 . * (*cfd.particle - parameters .mCfdShift ) * parameters .ChannelWidthInverse ;
146- bool is_time_in_signal_gate = (smeared_time > -parameters .mTime_trg_gate && smeared_time < parameters .mTime_trg_gate );
147- Float_t charge = measure_amplitude (channel_times) * parameters .charge2amp ;
148- float amp = is_time_in_signal_gate ? parameters .mV_2_Nchannels * charge : 0 ;
145+ int smeared_time = 1000 . * (*cfd.particle - mParameters .mCfdShift ) * mParameters .ChannelWidthInverse ;
146+ bool is_time_in_signal_gate = (smeared_time > -mParameters .mTime_trg_gate && smeared_time < mParameters .mTime_trg_gate );
147+ Float_t charge = measure_amplitude (channel_times) * mParameters .charge2amp ;
148+ float amp = is_time_in_signal_gate ? mParameters .mV_2_Nchannels * charge : 0 ;
149149 if (amp > 4095 )
150150 amp = 4095 ;
151151 LOG (DEBUG ) << " bc " << firstBCinDeque.bc << " , ipmt " << ipmt << " , smeared_time " << smeared_time << " nStored " << nStored;
@@ -154,8 +154,8 @@ void Digitizer::storeBC(BCCache& bc,
154154
155155 // fill triggers
156156
157- Bool_t is_A_side = (ipmt <= 4 * parameters .nCellsA );
158- if (smeared_time > parameters .mTime_trg_gate || smeared_time < -parameters .mTime_trg_gate )
157+ Bool_t is_A_side = (ipmt <= 4 * mParameters .nCellsA );
158+ if (smeared_time > mParameters .mTime_trg_gate || smeared_time < -mParameters .mTime_trg_gate )
159159 continue ;
160160
161161 if (is_A_side) {
@@ -171,10 +171,10 @@ void Digitizer::storeBC(BCCache& bc,
171171 Bool_t is_A, is_C, isVertex, is_Central, is_SemiCentral = 0 ;
172172 is_A = n_hit_A > 0 ;
173173 is_C = n_hit_C > 0 ;
174- is_Central = summ_ampl_A + summ_ampl_C >= parameters .mtrg_central_trh ;
175- is_SemiCentral = summ_ampl_A + summ_ampl_C >= parameters .mtrg_semicentral_trh ;
174+ is_Central = summ_ampl_A + summ_ampl_C >= mParameters .mtrg_central_trh ;
175+ is_SemiCentral = summ_ampl_A + summ_ampl_C >= mParameters .mtrg_semicentral_trh ;
176176 vertex_time = (mean_time_A - mean_time_C) * 0.5 ;
177- isVertex = is_A && is_C && (vertex_time > -parameters .mTime_trg_gate && vertex_time < parameters .mTime_trg_gate );
177+ isVertex = is_A && is_C && (vertex_time > -mParameters .mTime_trg_gate && vertex_time < mParameters .mTime_trg_gate );
178178 uint32_t amplA = is_A ? summ_ampl_A : 0 ; // sum amplitude A side
179179 uint32_t amplC = is_C ? summ_ampl_C : 0 ; // sum amplitude C side
180180 uint16_t timeA = is_A ? mean_time_A / n_hit_A : 0 ; // average time A side
@@ -230,7 +230,7 @@ void Digitizer::flush_all(std::vector<o2::ft0::Digit>& digitsBC,
230230void Digitizer::initParameters ()
231231{
232232 // mEventTime = 0;
233- float signal_width = 0.5 * parameters .mSignalWidth ;
233+ float signal_width = 0.5 * mParameters .mSignalWidth ;
234234}
235235// _______________________________________________________________________
236236void Digitizer::init ()
@@ -247,10 +247,10 @@ void Digitizer::finish()
247247void Digitizer::printParameters ()
248248{
249249 LOG (INFO ) << " Run Digitzation with parametrs: \n "
250- << " CFD amplitude threshold \n " << parameters .mCFD_trsh << " CFD signal gate in ps \n "
251- << parameters .mSignalWidth << " shift to have signal around zero after CFD trancformation \n "
252- << parameters .mCfdShift << " CFD distance between 0.3 of max amplitude to max \n "
253- << parameters .mCFDShiftPos << " MIP -> mV " << parameters .mMip_in_V << " Pe in MIP \n "
254- << parameters .mPe_in_mip << " noise level " << parameters .mNoiseVar << " noise frequency \n "
255- << parameters .mNoisePeriod << std::endl;
250+ << " CFD amplitude threshold \n " << mParameters .mCFD_trsh << " CFD signal gate in ps \n "
251+ << mParameters .mSignalWidth << " shift to have signal around zero after CFD trancformation \n "
252+ << mParameters .mCfdShift << " CFD distance between 0.3 of max amplitude to max \n "
253+ << mParameters .mCFDShiftPos << " MIP -> mV " << mParameters .mMip_in_V << " Pe in MIP \n "
254+ << mParameters .mPe_in_mip << " noise level " << mParameters .mNoiseVar << " noise frequency \n "
255+ << mParameters .mNoisePeriod << std::endl;
256256}
0 commit comments