ATLAS Offline Software
Public Member Functions | Private Types | Private Attributes | Static Private Attributes | List of all members
TRT_DriftFunctionTool Class Reference

#include <TRT_DriftFunctionTool.h>

Inheritance diagram for TRT_DriftFunctionTool:
Collaboration diagram for TRT_DriftFunctionTool:

Public Member Functions

 TRT_DriftFunctionTool (const std::string &type, const std::string &name, const IInterface *parent)
 Constructor
More...
 
virtual ~TRT_DriftFunctionTool ()
 Destructor
More...
 
virtual StatusCode initialize () override
 Retrieves needed services
More...
 
virtual StatusCode finalize () override
 Finalize
More...
 
virtual bool isValidTime (double drifttime) const override
 Returns True for drifttimes between -10 and 75ns. More...
 
virtual double rawTime (int tdcvalue) const override
 Returns center of leading edge bin in ns for bin number = tdcvalue. More...
 
virtual double driftRadius (double rawtime, Identifier id, double &t0, bool &isOK, unsigned int word=0) const override
 Returns drift radius in mm and t0 in ns The radius is truncated so it belongs to [0,2]mm. More...
 
virtual double driftRadius (double drifttime) const override
 Returns drift radius for MC. More...
 
virtual double approxDriftTime (double driftradius) const override
 Returns approximate drift time (t0 subtracted) More...
 
virtual double errorOfDriftRadius (double drifttime, Identifier id, float mu=-10, unsigned int word=0) const override
 Time-dependent error of drift radius in mm. More...
 
virtual double driftTimeToTCorrection (double tot, Identifier id, bool isArgonStraw=false) const override
 Returns time over threshold correction to the drift time (ns) More...
 
virtual double driftTimeHTCorrection (Identifier id, bool isArgonStraw=false) const override
 Returns high threshold correction to the drift time (ns) More...
 
void setupRtRelation ()
 Initialise Rt relation. More...
 

Private Types

enum  ETimeBins { MaxTimeBin = 50 }
 

Private Attributes

ToolHandle< ITRT_CalDbToolm_TRTCalDbTool {this, "TRTCalDbTool", "TRT_CalDbTool"}
 Tool to fetch data from database. More...
 
ToolHandle< ITRT_CalDbToolm_TRTCalDbTool2 {this, "TRTCalDbTool2", ""}
 
const InDetDD::TRT_DetectorManagerm_manager {}
 DetectorManager and helper. More...
 
const TRT_IDm_trtid {}
 
double m_radius [MaxTimeBin] {}
 most probable radius in each bin More...
 
double m_errors [MaxTimeBin] {}
 width of radius dist in each bin More...
 
BooleanProperty m_isMC {this, "IsMC", true}
 
BooleanProperty m_isDataOverlay {this, "IsDataOverlay", false}
 
BooleanProperty m_dummy
 
bool m_istestbeam = false
 
DoubleProperty m_err_fudge
 
BooleanProperty m_enable_t0_barrel_shift {this, "T0BarrelShift", true}
 enable T0 barrel shift More...
 
BooleanProperty m_force_universal_errors {this, "ForceUniversalErrors", false}
 use one universal error More...
 
DoubleProperty m_uni_error {this, "UniversalError", 0.136}
 namely this one More...
 
std::string m_key = ""
 GeoModel version key. More...
 
StringProperty m_trt_mgr_location {this, "TrtDescrManageLocation", "TRT", "Name of TRT detector manager"}
 
double m_t0_barrel [3] {}
 t0 for the 3 barrel rings More...
 
double m_t0_endcap [18] {}
 t0 for the 14(18) endcap wheels More...
 
double m_t0_shift
 digiversion dependent t0 shift More...
 
DoubleProperty m_ht_correction_barrel_Xe
 
DoubleProperty m_ht_correction_endcap_Xe
 
DoubleProperty m_ht_correction_barrel_Ar
 
DoubleProperty m_ht_correction_endcap_Ar
 
DoubleArrayProperty m_tot_corrections_barrel_Xe
 
DoubleArrayProperty m_tot_corrections_endcap_Xe
 
DoubleArrayProperty m_tot_corrections_barrel_Ar
 
DoubleArrayProperty m_tot_corrections_endcap_Ar
 

Static Private Attributes

static constexpr double s_drifttimeperbin = 3.125 * CLHEP::ns
 
static const size_t s_size_default = 19
 
static constexpr double s_radius_default [s_size_default]
 
static constexpr double s_errors_default [s_size_default]
 
static const size_t s_size_Comm = 13
 
static constexpr double s_radius_Comm [s_size_Comm]
 
static constexpr double s_errors_Comm [s_size_Comm]
 

Detailed Description

Provides DriftCircle data from RDO info ie transforms a raw drifttime to a calibrated drift radius

Definition at line 37 of file TRT_DriftFunctionTool.h.

Member Enumeration Documentation

◆ ETimeBins

Enumerator
MaxTimeBin 

Definition at line 99 of file TRT_DriftFunctionTool.h.

99 { MaxTimeBin = 50 } ;

Constructor & Destructor Documentation

◆ TRT_DriftFunctionTool()

TRT_DriftFunctionTool::TRT_DriftFunctionTool ( const std::string &  type,
const std::string &  name,
const IInterface *  parent 
)

Constructor

Definition at line 27 of file TRT_DriftFunctionTool.cxx.

30  : base_class(type, name, parent)
31 {
32  // make sure all arrays are initialized - use DC3version2 as default
33  for (int i=0; i<3; i++) m_t0_barrel[i] = 15.625;
34  for (int i=0; i<14; i++) m_t0_endcap[i] = 14.2;
35  m_t0_shift=0.;
36 
37  for(size_t i=0; i<s_size_default; ++i){
40  }
41  for(size_t i=s_size_default; i<MaxTimeBin; ++i) {
42  m_radius[i]=2.;
44  }
45 }

◆ ~TRT_DriftFunctionTool()

TRT_DriftFunctionTool::~TRT_DriftFunctionTool ( )
virtualdefault

Destructor

Member Function Documentation

◆ approxDriftTime()

double TRT_DriftFunctionTool::approxDriftTime ( double  driftradius) const
overridevirtual

Returns approximate drift time (t0 subtracted)

Definition at line 130 of file TRT_DriftFunctionTool.cxx.

131 {
132  double t = 0.;
133  int i=0;
134  if(driftradius<0.100) {
135  t = 2.5*s_drifttimeperbin*driftradius/0.1;
136  } else if(driftradius<1.99) {
137  while(driftradius>=m_radius[i]) ++i;
138  if(i>0) i--;
139  t=(i+0.5+(driftradius-m_radius[i])/(m_radius[i+1]-m_radius[i]))*s_drifttimeperbin;
140  } else {
141  t = s_drifttimeperbin*( 19. + (driftradius-1.99)/0.08 );
142  }
143 
144  return t;
145 }

◆ driftRadius() [1/2]

double TRT_DriftFunctionTool::driftRadius ( double  drifttime) const
overridevirtual

Returns drift radius for MC.

the inpout time in ns has t0 subtracted

Definition at line 148 of file TRT_DriftFunctionTool.cxx.

149 {
150  if( !isValidTime(drifttime) ) return 0;
151  int drifttimebin = std::max(int(drifttime/s_drifttimeperbin),0);
152 
153  // Interpolate linearly
154  if(drifttime < (drifttimebin+0.5)*s_drifttimeperbin) {
155  if (drifttimebin-1 > -1)
156  return m_radius[drifttimebin-1]+
157  (m_radius[drifttimebin]-m_radius[drifttimebin-1])*
158  (drifttime - (drifttimebin-0.5)*s_drifttimeperbin)/s_drifttimeperbin;
159  } else if (drifttimebin+1 < 20) {
160  return m_radius[drifttimebin]+
161  (m_radius[drifttimebin+1]-m_radius[drifttimebin])*
162  (drifttime - (drifttimebin+0.5)*s_drifttimeperbin)/s_drifttimeperbin;
163  }
164 
165  return m_radius[drifttimebin];
166 }

◆ driftRadius() [2/2]

double TRT_DriftFunctionTool::driftRadius ( double  rawtime,
Identifier  id,
double &  t0,
bool &  isOK,
unsigned int  word = 0 
) const
overridevirtual

Returns drift radius in mm and t0 in ns The radius is truncated so it belongs to [0,2]mm.

isOK is false if there is no t0 or the drifttime is non-valid

Definition at line 171 of file TRT_DriftFunctionTool.cxx.

172 {
173  isOK = true;
174  const double crawtime=rawtime - m_t0_shift; // const cast
175  const Identifier cid=id; // const cast
176  t0 = 0.;
177  float ft0=t0; //float cast
178 
179  //case of no drifttime information wanted
180  if (m_dummy) return 0.;
181 
182  double radius = 0.;
183  if (!m_isDataOverlay){ //standard case
184  radius = m_TRTCalDbTool->driftRadius(crawtime,ft0,cid,isOK);
185  t0 = ft0 + m_t0_shift;
186  }
187  else{ //overlay case
188  // no m_t0_shift in rawtime, and use data TRTCalDbSvc
189  radius = m_TRTCalDbTool->driftRadius(rawtime,ft0,cid,isOK);
190  t0 = ft0;
191  bool mcdigit = word & (1u<<31);
192  if (mcdigit){
193  //check if it's a MC digit, and if so apply other calibration
194  ATH_MSG_DEBUG ("Overlay TRTCalDbTool gave radius: "<<radius<<", t0: "<<t0);
195  //t0_shift in crawtime, and use MC TRTCalDbSvc(2)
196  radius = m_TRTCalDbTool2->driftRadius(crawtime,ft0,cid,isOK);
197  t0 = ft0 + m_t0_shift;
198  ATH_MSG_DEBUG ("Overlay TRTCalDbTool2 gives radius: "<<radius<<", t0: "<<t0);
199  }
200  }
201  double drifttime = rawtime-t0;
202  if( !isValidTime(drifttime) ) isOK=false;
203  return radius;
204 
205 }

◆ driftTimeHTCorrection()

double TRT_DriftFunctionTool::driftTimeHTCorrection ( Identifier  id,
bool  isArgonStraw = false 
) const
overridevirtual

Returns high threshold correction to the drift time (ns)

Definition at line 264 of file TRT_DriftFunctionTool.cxx.

265 {
266  int bec_index = std::abs(m_trtid->barrel_ec(id)) - 1;
267 
268  if (isArgonStraw) {
270  }
272 }

◆ driftTimeToTCorrection()

double TRT_DriftFunctionTool::driftTimeToTCorrection ( double  tot,
Identifier  id,
bool  isArgonStraw = false 
) const
overridevirtual

Returns time over threshold correction to the drift time (ns)

Definition at line 249 of file TRT_DriftFunctionTool.cxx.

250 {
251  int tot_index = tot/s_drifttimeperbin;
252  if (tot_index < 0) tot_index = 0;
253  if (tot_index > 19) tot_index = 19;
254 
255  int bec_index = std::abs(m_trtid->barrel_ec(id)) - 1;
256 
257  if (isArgonStraw) {
258  return (bec_index) ? m_tot_corrections_endcap_Ar[tot_index] : m_tot_corrections_barrel_Ar[tot_index];
259  }
260  return (bec_index) ? m_tot_corrections_endcap_Xe[tot_index] : m_tot_corrections_barrel_Xe[tot_index];
261 }

◆ errorOfDriftRadius()

double TRT_DriftFunctionTool::errorOfDriftRadius ( double  drifttime,
Identifier  id,
float  mu = -10,
unsigned int  word = 0 
) const
overridevirtual

Time-dependent error of drift radius in mm.

Definition at line 208 of file TRT_DriftFunctionTool.cxx.

209 {
210  if(m_dummy) return 4./std::sqrt(12.);
212  bool founderr=true;
213  bool foundslope=true;
214  double error = m_TRTCalDbTool->driftError(drifttime,id,founderr);
215  double slope = m_TRTCalDbTool->driftSlope(drifttime,id,foundslope);
216  bool mcdigit = word & (1u<<31);
217  if(m_isDataOverlay && mcdigit){
218  //check if it's a MC digit, and if so apply other calibration
219  ATH_MSG_DEBUG ("Overlay TRTCalDbTool gave error: "<<error<<", found="<<founderr);
220  error = m_TRTCalDbTool2->driftError(drifttime,id,founderr);
221  ATH_MSG_DEBUG ("Overlay TRTCalDbTool2 gives error: "<<error<<", found="<<founderr);
222  ATH_MSG_DEBUG ("Overlay TRTCalDbTool gave slope: "<<slope<<", found="<<foundslope);
223  slope = m_TRTCalDbTool2->driftSlope(drifttime,id,foundslope);
224  ATH_MSG_DEBUG ("Overlay TRTCalDbTool2 gives slope: "<<slope<<", found="<<foundslope);
225  }
226 
227  if(founderr && foundslope) {
228  return error+mu*slope;
229 //to add condition for old setup
230  }
231  else if ((founderr && !foundslope) || (mu<0)) {
232  return error; }
233  else { //interpolate
234  if(drifttime<=0.) {
235  return m_errors[0];
236  } else if(drifttime >= 18.*s_drifttimeperbin) {
237  return m_errors[18];
238  } else {
239  float drifttimeinbins = drifttime/s_drifttimeperbin;
240  int drifttimebin = (int)drifttimeinbins;
241  float fracbin = drifttimeinbins-drifttimebin;
242  return (1-fracbin)*m_errors[drifttimebin]+fracbin*m_errors[drifttimebin+1];
243  }
244  }
245 }

◆ finalize()

StatusCode TRT_DriftFunctionTool::finalize ( )
overridevirtual

Finalize

Definition at line 121 of file TRT_DriftFunctionTool.cxx.

122 {
124  return sc;
125 }

◆ initialize()

StatusCode TRT_DriftFunctionTool::initialize ( )
overridevirtual

Retrieves needed services

Definition at line 53 of file TRT_DriftFunctionTool.cxx.

54 {
55  ATH_MSG_DEBUG( "initialize()");
56 
58  if (sc.isFailure())
59  {
60  ATH_MSG_FATAL("Cannot initialize AthAlgTool!");
61  return StatusCode::FAILURE;
62  }
63 
64  if(m_dummy){
65  ATH_MSG_INFO(" Drift time information ignored ");
66  }
67 
68  // Retrieve TRT_DetectorManager and helper
70  if (sc.isFailure() || !m_manager)
71  {
72  ATH_MSG_FATAL("Could not find the Manager: "
73  << m_trt_mgr_location << " !");
74  return sc;
75  }
76 
77  // Get TRT ID helper
78  sc = detStore()->retrieve(m_trtid,"TRT_ID");
79  if ( sc.isFailure() ) {
80  ATH_MSG_FATAL( "Could not retrieve TRT ID helper." );
81  return sc;
82  }
83 
84  // Check that ToT corrections have the correct length
85  if (m_tot_corrections_barrel_Xe.size() != 20) {
86  ATH_MSG_FATAL( "Length of ToTCorrectionsBarrelXe is not 20." );
87  return sc;
88  }
89  if (m_tot_corrections_endcap_Xe.size() != 20) {
90  ATH_MSG_FATAL( "Length of ToTCorrectionsEndcapXe is not 20." );
91  return sc;
92  }
93  if (m_tot_corrections_barrel_Ar.size() != 20) {
94  ATH_MSG_FATAL( "Length of ToTCorrectionsBarrelAr is not 20." );
95  return sc;
96  }
97  if (m_tot_corrections_endcap_Ar.size() != 20) {
98  ATH_MSG_FATAL( "Length of ToTCorrectionsEndcapAr is not 20." );
99  return sc;
100  }
101 
102  //
103  // Get GeoModel version key
104  SmartIF<IGeoModelSvc> geomodel{service("GeoModelSvc")};
105  ATH_CHECK( geomodel.isValid() );
106 
107  DecodeVersionKey versionKey(geomodel,"TRT");
108  m_key=versionKey.tag();
109 
110  int numB = m_manager->getNumerology()->getNBarrelPhi();
111  ATH_MSG_DEBUG(" Number of Barrel elements "<< numB);
112  m_istestbeam = numB==2;
113 
114  setupRtRelation();
115 
116  return sc;
117 }

◆ isValidTime()

bool TRT_DriftFunctionTool::isValidTime ( double  drifttime) const
inlineoverridevirtual

Returns True for drifttimes between -10 and 75ns.

Definition at line 174 of file TRT_DriftFunctionTool.h.

175 { return (drifttime>-10. && drifttime<75.); }

◆ rawTime()

double TRT_DriftFunctionTool::rawTime ( int  tdcvalue) const
inlineoverridevirtual

Returns center of leading edge bin in ns for bin number = tdcvalue.

note, that the binwidth can vary with run type.

Definition at line 177 of file TRT_DriftFunctionTool.h.

178 {
179  double time = (tdcvalue+0.5)*s_drifttimeperbin ;
180  return m_istestbeam ? 0.5*time : time;
181 }

◆ setupRtRelation()

void TRT_DriftFunctionTool::setupRtRelation ( )

Initialise Rt relation.

Definition at line 276 of file TRT_DriftFunctionTool.cxx.

277 {
278 
279  ATH_MSG_DEBUG(" Using TRTCalDbTool ");
280  if ( m_TRTCalDbTool.retrieve().isFailure() ) {
281  ATH_MSG_FATAL(m_TRTCalDbTool.propertyName() <<
282  ": Failed to retrieve service " << m_TRTCalDbTool.type());
283  return;
284 
285  } else {
286  ATH_MSG_DEBUG(m_TRTCalDbTool.propertyName() <<
287  ": Retrieved service " << m_TRTCalDbTool.type());
288  }
289 
290  if (m_isDataOverlay){
291  ATH_MSG_DEBUG("Using TRTCalDbTool2 for overlay ! ");
292  if ( m_TRTCalDbTool2.retrieve().isFailure() ) {
293  ATH_MSG_FATAL(m_TRTCalDbTool2.propertyName() <<": Failed to retrieveservice " << m_TRTCalDbTool2.type());
294  return;
295  }
296  }
297  //temporary: we need some way to automatically link digi version with db tag
298  //for now we make a hack in order always to get the right t0 after having centered the
299  //drifttime spectrum better in the allowed time-window with digi version 12 in release 14.
300 
301  if(m_isMC || m_isDataOverlay){
302 
304  m_t0_shift=-8.;
305  ATH_MSG_DEBUG(" T0 for barrel is shifted by "
306  << m_t0_shift);
307  }
308 
309  }
310  //temporary: we need to think about how to store the uncertainties in the db!!!
311 
312  if(m_key.compare(6,4,"Comm")==0) {
313  for(size_t i=0; i<s_size_Comm; ++i){
316  }
317  } else {
318  for(size_t i=0; i<s_size_default; ++i){
320  }
321  }
322 
323 }

Member Data Documentation

◆ m_dummy

BooleanProperty TRT_DriftFunctionTool::m_dummy
private
Initial value:
{this, "DummyMode", false,
"flag for ignoring drift time info"}

Definition at line 105 of file TRT_DriftFunctionTool.h.

◆ m_enable_t0_barrel_shift

BooleanProperty TRT_DriftFunctionTool::m_enable_t0_barrel_shift {this, "T0BarrelShift", true}
private

enable T0 barrel shift

Definition at line 113 of file TRT_DriftFunctionTool.h.

◆ m_err_fudge

DoubleProperty TRT_DriftFunctionTool::m_err_fudge
private
Initial value:
{this, "ErrorFudgeFactor", 1.0,
"fudge_factor for error scaling"}

Definition at line 110 of file TRT_DriftFunctionTool.h.

◆ m_errors

double TRT_DriftFunctionTool::m_errors[MaxTimeBin] {}
private

width of radius dist in each bin

Definition at line 101 of file TRT_DriftFunctionTool.h.

◆ m_force_universal_errors

BooleanProperty TRT_DriftFunctionTool::m_force_universal_errors {this, "ForceUniversalErrors", false}
private

use one universal error

Definition at line 116 of file TRT_DriftFunctionTool.h.

◆ m_ht_correction_barrel_Ar

DoubleProperty TRT_DriftFunctionTool::m_ht_correction_barrel_Ar
private
Initial value:
{this, "HTCorrectionBarrelAr", 0.,
"HT correction for Ar straws in barrel"}

Definition at line 132 of file TRT_DriftFunctionTool.h.

◆ m_ht_correction_barrel_Xe

DoubleProperty TRT_DriftFunctionTool::m_ht_correction_barrel_Xe
private
Initial value:
{this, "HTCorrectionBarrelXe", 0.,
"HT correction for Xe straws in barrel"}

Definition at line 128 of file TRT_DriftFunctionTool.h.

◆ m_ht_correction_endcap_Ar

DoubleProperty TRT_DriftFunctionTool::m_ht_correction_endcap_Ar
private
Initial value:
{this, "HTCorrectionEndcapAr", 0.,
"HT correction for Ar straws in endcaps"}

Definition at line 134 of file TRT_DriftFunctionTool.h.

◆ m_ht_correction_endcap_Xe

DoubleProperty TRT_DriftFunctionTool::m_ht_correction_endcap_Xe
private
Initial value:
{this, "HTCorrectionEndcapXe", 0.,
"HT correction for Xe straws in endcaps"}

Definition at line 130 of file TRT_DriftFunctionTool.h.

◆ m_isDataOverlay

BooleanProperty TRT_DriftFunctionTool::m_isDataOverlay {this, "IsDataOverlay", false}
private

Definition at line 104 of file TRT_DriftFunctionTool.h.

◆ m_isMC

BooleanProperty TRT_DriftFunctionTool::m_isMC {this, "IsMC", true}
private

Definition at line 103 of file TRT_DriftFunctionTool.h.

◆ m_istestbeam

bool TRT_DriftFunctionTool::m_istestbeam = false
private

Definition at line 108 of file TRT_DriftFunctionTool.h.

◆ m_key

std::string TRT_DriftFunctionTool::m_key = ""
private

GeoModel version key.

Definition at line 120 of file TRT_DriftFunctionTool.h.

◆ m_manager

const InDetDD::TRT_DetectorManager* TRT_DriftFunctionTool::m_manager {}
private

DetectorManager and helper.

Definition at line 94 of file TRT_DriftFunctionTool.h.

◆ m_radius

double TRT_DriftFunctionTool::m_radius[MaxTimeBin] {}
private

most probable radius in each bin

Definition at line 100 of file TRT_DriftFunctionTool.h.

◆ m_t0_barrel

double TRT_DriftFunctionTool::m_t0_barrel[3] {}
private

t0 for the 3 barrel rings

Definition at line 124 of file TRT_DriftFunctionTool.h.

◆ m_t0_endcap

double TRT_DriftFunctionTool::m_t0_endcap[18] {}
private

t0 for the 14(18) endcap wheels

Definition at line 125 of file TRT_DriftFunctionTool.h.

◆ m_t0_shift

double TRT_DriftFunctionTool::m_t0_shift
private

digiversion dependent t0 shift

Definition at line 126 of file TRT_DriftFunctionTool.h.

◆ m_tot_corrections_barrel_Ar

DoubleArrayProperty TRT_DriftFunctionTool::m_tot_corrections_barrel_Ar
private
Initial value:
{this, "ToTCorrectionsBarrelAr", {},
"ToT corrections for 20 ToT bins in Ar barrel straws"}

Definition at line 143 of file TRT_DriftFunctionTool.h.

◆ m_tot_corrections_barrel_Xe

DoubleArrayProperty TRT_DriftFunctionTool::m_tot_corrections_barrel_Xe
private
Initial value:
{this, "ToTCorrectionsBarrelXe", {},
"ToT corrections for 20 ToT bins in Xe barrel straws"}

Definition at line 137 of file TRT_DriftFunctionTool.h.

◆ m_tot_corrections_endcap_Ar

DoubleArrayProperty TRT_DriftFunctionTool::m_tot_corrections_endcap_Ar
private
Initial value:
{this, "ToTCorrectionsEndcapAr", {},
"ToT corrections for 20 ToT bins in Ar endcap straws"}

Definition at line 146 of file TRT_DriftFunctionTool.h.

◆ m_tot_corrections_endcap_Xe

DoubleArrayProperty TRT_DriftFunctionTool::m_tot_corrections_endcap_Xe
private
Initial value:
{this, "ToTCorrectionsEndcapXe", {},
"ToT corrections for 20 ToT bins in Xe endcap straws"}

Definition at line 140 of file TRT_DriftFunctionTool.h.

◆ m_trt_mgr_location

StringProperty TRT_DriftFunctionTool::m_trt_mgr_location {this, "TrtDescrManageLocation", "TRT", "Name of TRT detector manager"}
private

Definition at line 121 of file TRT_DriftFunctionTool.h.

◆ m_TRTCalDbTool

ToolHandle< ITRT_CalDbTool > TRT_DriftFunctionTool::m_TRTCalDbTool {this, "TRTCalDbTool", "TRT_CalDbTool"}
private

Tool to fetch data from database.

Definition at line 90 of file TRT_DriftFunctionTool.h.

◆ m_TRTCalDbTool2

ToolHandle< ITRT_CalDbTool > TRT_DriftFunctionTool::m_TRTCalDbTool2 {this, "TRTCalDbTool2", ""}
private

Definition at line 91 of file TRT_DriftFunctionTool.h.

◆ m_trtid

const TRT_ID* TRT_DriftFunctionTool::m_trtid {}
private

Definition at line 95 of file TRT_DriftFunctionTool.h.

◆ m_uni_error

DoubleProperty TRT_DriftFunctionTool::m_uni_error {this, "UniversalError", 0.136}
private

namely this one

Definition at line 118 of file TRT_DriftFunctionTool.h.

◆ s_drifttimeperbin

constexpr double TRT_DriftFunctionTool::s_drifttimeperbin = 3.125 * CLHEP::ns
staticconstexprprivate

Definition at line 97 of file TRT_DriftFunctionTool.h.

◆ s_errors_Comm

constexpr double TRT_DriftFunctionTool::s_errors_Comm[s_size_Comm]
staticconstexprprivate
Initial value:
= {
0.10440061, 0.1510298, 0.26130742, 0.260436, 0.246961,
0.226037, 0.18272 , 0.195482 , 0.213817, 0.157627,
0.0922559, 0.0463124, 0.0480864 }

Definition at line 167 of file TRT_DriftFunctionTool.h.

◆ s_errors_default

constexpr double TRT_DriftFunctionTool::s_errors_default[s_size_default]
staticconstexprprivate
Initial value:
= {
0.15, 0.15, 0.20, 0.23, 0.21,
0.18, 0.17, 0.16, 0.15, 0.15,
0.14, 0.13, 0.12, 0.11, 0.11,
0.11, 0.13, 0.20, 0.20 }

Definition at line 156 of file TRT_DriftFunctionTool.h.

◆ s_radius_Comm

constexpr double TRT_DriftFunctionTool::s_radius_Comm[s_size_Comm]
staticconstexprprivate
Initial value:
= {
0. , 0. , 0. , 0.252054, 0.488319,
0.751514, 1.00173, 1.21851, 1.40886 , 1.68368 ,
1.85363 , 1.91764, 1.94114 }

Definition at line 163 of file TRT_DriftFunctionTool.h.

◆ s_radius_default

constexpr double TRT_DriftFunctionTool::s_radius_default[s_size_default]
staticconstexprprivate
Initial value:
= {
0. , 0. , 0.1 , 0.262, 0.466,
0.607, 0.796, 0.931, 1.065, 1.212,
1.326, 1.466, 1.585, 1.689, 1.809,
1.880, 1.940, 1.950, 1.955 }

Definition at line 151 of file TRT_DriftFunctionTool.h.

◆ s_size_Comm

const size_t TRT_DriftFunctionTool::s_size_Comm = 13
staticprivate

Definition at line 162 of file TRT_DriftFunctionTool.h.

◆ s_size_default

const size_t TRT_DriftFunctionTool::s_size_default = 19
staticprivate

Definition at line 150 of file TRT_DriftFunctionTool.h.


The documentation for this class was generated from the following files:
TRT_DriftFunctionTool::m_key
std::string m_key
GeoModel version key.
Definition: TRT_DriftFunctionTool.h:120
TRT_DriftFunctionTool::s_radius_default
static constexpr double s_radius_default[s_size_default]
Definition: TRT_DriftFunctionTool.h:151
TRT_DriftFunctionTool::m_ht_correction_barrel_Xe
DoubleProperty m_ht_correction_barrel_Xe
Definition: TRT_DriftFunctionTool.h:128
TRT_DriftFunctionTool::m_TRTCalDbTool2
ToolHandle< ITRT_CalDbTool > m_TRTCalDbTool2
Definition: TRT_DriftFunctionTool.h:91
python.tests.PyTestsLib.finalize
def finalize(self)
_info( "content of StoreGate..." ) self.sg.dump()
Definition: PyTestsLib.py:50
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x)
Definition: AthMsgStreamMacros.h:34
TRT_DriftFunctionTool::m_t0_barrel
double m_t0_barrel[3]
t0 for the 3 barrel rings
Definition: TRT_DriftFunctionTool.h:124
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
max
constexpr double max()
Definition: ap_fixedTest.cxx:33
TRT_DriftFunctionTool::m_trt_mgr_location
StringProperty m_trt_mgr_location
Definition: TRT_DriftFunctionTool.h:122
initialize
void initialize()
Definition: run_EoverP.cxx:894
TRT_DriftFunctionTool::s_drifttimeperbin
static constexpr double s_drifttimeperbin
Definition: TRT_DriftFunctionTool.h:97
ALFA_EventTPCnv_Dict::t0
std::vector< ALFA_RawData_p1 > t0
Definition: ALFA_EventTPCnvDict.h:42
TRT_DriftFunctionTool::m_ht_correction_barrel_Ar
DoubleProperty m_ht_correction_barrel_Ar
Definition: TRT_DriftFunctionTool.h:132
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
TRT_DriftFunctionTool::s_errors_default
static constexpr double s_errors_default[s_size_default]
Definition: TRT_DriftFunctionTool.h:156
TRT_DriftFunctionTool::m_ht_correction_endcap_Xe
DoubleProperty m_ht_correction_endcap_Xe
Definition: TRT_DriftFunctionTool.h:130
Trk::u
@ u
Enums for curvilinear frames.
Definition: ParamDefs.h:77
python.CaloAddPedShiftConfig.type
type
Definition: CaloAddPedShiftConfig.py:42
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
AthCommonDataStore< AthCommonMsg< AlgTool > >::detStore
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:95
TRT_DriftFunctionTool::m_tot_corrections_endcap_Ar
DoubleArrayProperty m_tot_corrections_endcap_Ar
Definition: TRT_DriftFunctionTool.h:147
TRT_DriftFunctionTool::m_dummy
BooleanProperty m_dummy
Definition: TRT_DriftFunctionTool.h:105
TRT_DriftFunctionTool::isValidTime
virtual bool isValidTime(double drifttime) const override
Returns True for drifttimes between -10 and 75ns.
Definition: TRT_DriftFunctionTool.h:174
InDetDD::TRT_DetectorManager::getNumerology
TRT_Numerology * getNumerology()
Access Numerological information:---------------------------------------—.
Definition: TRT_DetectorManager.cxx:43
TRT_DriftFunctionTool::m_istestbeam
bool m_istestbeam
Definition: TRT_DriftFunctionTool.h:108
TRT_DriftFunctionTool::m_t0_shift
double m_t0_shift
digiversion dependent t0 shift
Definition: TRT_DriftFunctionTool.h:126
lumiFormat.i
int i
Definition: lumiFormat.py:85
TRT_DriftFunctionTool::s_radius_Comm
static constexpr double s_radius_Comm[s_size_Comm]
Definition: TRT_DriftFunctionTool.h:163
TRT_DriftFunctionTool::m_t0_endcap
double m_t0_endcap[18]
t0 for the 14(18) endcap wheels
Definition: TRT_DriftFunctionTool.h:125
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
TRT_DriftFunctionTool::m_errors
double m_errors[MaxTimeBin]
width of radius dist in each bin
Definition: TRT_DriftFunctionTool.h:101
DecodeVersionKey
This is a helper class to query the version tags from GeoModelSvc and determine the appropriate tag a...
Definition: DecodeVersionKey.h:18
test_pyathena.parent
parent
Definition: test_pyathena.py:15
InDetDD::TRT_Numerology::getNBarrelPhi
unsigned int getNBarrelPhi() const
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
TRT_ID::barrel_ec
int barrel_ec(const Identifier &id) const
Values of different levels (failure returns 0)
Definition: TRT_ID.h:866
python.PyKernel.detStore
detStore
Definition: PyKernel.py:41
id
SG::auxid_t id
Definition: Control/AthContainers/Root/debug.cxx:239
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
TRT_DriftFunctionTool::m_uni_error
DoubleProperty m_uni_error
namely this one
Definition: TRT_DriftFunctionTool.h:118
TRT_DriftFunctionTool::m_tot_corrections_endcap_Xe
DoubleArrayProperty m_tot_corrections_endcap_Xe
Definition: TRT_DriftFunctionTool.h:141
ParticleGun_SamplingFraction.radius
radius
Definition: ParticleGun_SamplingFraction.py:96
TRT_DriftFunctionTool::m_TRTCalDbTool
ToolHandle< ITRT_CalDbTool > m_TRTCalDbTool
Tool to fetch data from database.
Definition: TRT_DriftFunctionTool.h:90
TRT_DriftFunctionTool::MaxTimeBin
@ MaxTimeBin
Definition: TRT_DriftFunctionTool.h:99
TRT_DriftFunctionTool::m_isMC
BooleanProperty m_isMC
Definition: TRT_DriftFunctionTool.h:103
python.CaloAddPedShiftConfig.int
int
Definition: CaloAddPedShiftConfig.py:45
TRT_DriftFunctionTool::setupRtRelation
void setupRtRelation()
Initialise Rt relation.
Definition: TRT_DriftFunctionTool.cxx:276
CaloSwCorrections.time
def time(flags, cells_name, *args, **kw)
Definition: CaloSwCorrections.py:242
TRT_DriftFunctionTool::m_tot_corrections_barrel_Xe
DoubleArrayProperty m_tot_corrections_barrel_Xe
Definition: TRT_DriftFunctionTool.h:138
TRT_DriftFunctionTool::m_enable_t0_barrel_shift
BooleanProperty m_enable_t0_barrel_shift
enable T0 barrel shift
Definition: TRT_DriftFunctionTool.h:114
TRT_DriftFunctionTool::m_err_fudge
DoubleProperty m_err_fudge
Definition: TRT_DriftFunctionTool.h:110
TRT_DriftFunctionTool::m_force_universal_errors
BooleanProperty m_force_universal_errors
use one universal error
Definition: TRT_DriftFunctionTool.h:117
TRT_DriftFunctionTool::s_size_Comm
static const size_t s_size_Comm
Definition: TRT_DriftFunctionTool.h:162
TRT_DriftFunctionTool::s_errors_Comm
static constexpr double s_errors_Comm[s_size_Comm]
Definition: TRT_DriftFunctionTool.h:167
TRT_DriftFunctionTool::m_trtid
const TRT_ID * m_trtid
Definition: TRT_DriftFunctionTool.h:95
get_generator_info.error
error
Definition: get_generator_info.py:40
TRT_DriftFunctionTool::m_ht_correction_endcap_Ar
DoubleProperty m_ht_correction_endcap_Ar
Definition: TRT_DriftFunctionTool.h:134
CaloNoise_fillDB.mu
mu
Definition: CaloNoise_fillDB.py:51
error
Definition: IImpactPoint3dEstimator.h:70
TRT_DriftFunctionTool::s_size_default
static const size_t s_size_default
Definition: TRT_DriftFunctionTool.h:150
TRT_DriftFunctionTool::m_radius
double m_radius[MaxTimeBin]
most probable radius in each bin
Definition: TRT_DriftFunctionTool.h:100
TRT_DriftFunctionTool::m_manager
const InDetDD::TRT_DetectorManager * m_manager
DetectorManager and helper.
Definition: TRT_DriftFunctionTool.h:94
TRT_DriftFunctionTool::m_isDataOverlay
BooleanProperty m_isDataOverlay
Definition: TRT_DriftFunctionTool.h:104
TRT_DriftFunctionTool::m_tot_corrections_barrel_Ar
DoubleArrayProperty m_tot_corrections_barrel_Ar
Definition: TRT_DriftFunctionTool.h:144
Identifier
Definition: IdentifierFieldParser.cxx:14