ATLAS Offline Software
MdtSlewCorFuncHardcoded.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 
4  MDT Timeslew correction for AMT digitization chip.
5  Timeslew correction parmeterized as function of ADC: timeslew = 109/q(ADC) [ns]
6  where q = integrated charge of MDT signal, derived from AMT parameters, see ATL-MUON-2002-003
7  constant 109 determined by empirical fit of data, see
8  https://indico.cern.ch/event/115774/contributions/69612/attachments/2260534/3836764/110912_rauscher_timeslewing.pdf
9 
10  Note: Timeslew correction should be updated for Run4 when AMT is replaced by a new MDT digitization chip
11  Author: Felix Rauscher (2011)
12  Revision: Edward Diehl (2021)
13  1. Move initialization of LUT from correction function to an initialize function for AthenaMT compatibility.
14  2. Change to LUT from a map to vector which is more accurate and has lower access time.
15 */
16 
18 
19 #include <cmath>
20 
21 namespace MuonCalib {
22 
23  double MdtSlewCorFuncHardcoded::correction(double /*t*/, double adc) const {
24  // Timeslew correction is negligible (<0.05 ns) for ADC>400 so do not bother computing it.
25  // In addition there are very few hits with ADC>400
26  // Constant 109 is from an optimization of the timeslew correction
27  // calibrated_p(i) is the integrated charge as a function of ADC
28  if (adc > 400. || adc < 0.) return 0.;
29  static const double A = 109. * std::exp(-1.11925e+00);
30  constexpr double adc_chan_conversion = 25. / 32.;
31  constexpr double Lambda = -2.08708e-02 * adc_chan_conversion; // ADC to ns
32  // Convert ADC to integrated charge for AMT chip, see ATL-MUON-2002-003
33  return A * std::exp(adc * Lambda);
34  }
35 
36 } // namespace MuonCalib
AllowedVariables::e
e
Definition: AsgElectronSelectorTool.cxx:37
drawFromPickle.exp
exp
Definition: drawFromPickle.py:36
MdtSlewCorFuncHardcoded.h
A
MuonCalib
CscCalcPed - algorithm that finds the Cathode Strip Chamber pedestals from an RDO.
Definition: CscCalcPed.cxx:22
MuonCalib::MdtSlewCorFuncHardcoded::correction
virtual double correction(double t, double adc) const override
Return time correction (ns).
Definition: MdtSlewCorFuncHardcoded.cxx:23
ReadFloatFromCool.adc
adc
Definition: ReadFloatFromCool.py:48
FlavorTagDiscriminants::TruthDecoratorHelpers::TruthType::Lambda
@ Lambda
Definition: TruthDecoratorHelpers.h:21