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 bool isTestBeamData () const override
 Returns True for CTB real data. 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
 Tool to fetch data from database. More...
 
ToolHandle< ITRT_CalDbToolm_TRTCalDbTool2
 
const InDetDD::TRT_DetectorManagerm_manager {}
 DetectorManager and helper. More...
 
const TRT_IDm_trtid {}
 
double m_drifttimeperbin
 3.125ns More...
 
double m_error
 universal error More...
 
double m_radius [MaxTimeBin] {}
 most probable radius in each bin More...
 
double m_errors [MaxTimeBin] {}
 width of radius dist in each bin More...
 
bool m_ismc
 flag for mc More...
 
bool m_isoverlay
 flag for overlay More...
 
bool m_istestbeam
 flag for CTB data or mc More...
 
bool m_dummy
 flag for ignoring drift time info More...
 
double m_err_fudge
 fudge_factor for error scaling More...
 
bool m_allow_digi_version_override
 flag for using constants for More...
 
int m_forced_digiversion
 this digi version More...
 
bool m_override_simcal
 flag for reading constants from More...
 
bool m_force_universal_errors
 use one universal error More...
 
double m_uni_error
 namely this one More...
 
std::string m_inputfile
 file overriding MC constants More...
 
std::string m_key
 GeoModel version key. More...
 
std::string m_trt_mgr_location
 Name of TRT detector manager. More...
 
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...
 
double m_ht_correction_barrel_Xe
 HT correction for Xe straws in barrel. More...
 
double m_ht_correction_endcap_Xe
 HT correction for Xe straws in barrel. More...
 
double m_ht_correction_barrel_Ar
 HT correction for Ar straws in barrel. More...
 
double m_ht_correction_endcap_Ar
 HT correction for Ar straws in barrel. More...
 
std::vector< double > m_tot_corrections_barrel_Xe
 ToT corrections for 20 ToT bins in Xe barrel straws. More...
 
std::vector< double > m_tot_corrections_endcap_Xe
 ToT corrections for 20 ToT bins in Xe endcap straws. More...
 
std::vector< double > m_tot_corrections_barrel_Ar
 ToT corrections for 20 ToT bins in Ar barrel straws. More...
 
std::vector< double > m_tot_corrections_endcap_Ar
 ToT corrections for 20 ToT bins in Ar endcap straws. More...
 

Static Private Attributes

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 34 of file TRT_DriftFunctionTool.h.

Member Enumeration Documentation

◆ ETimeBins

Enumerator
MaxTimeBin 

Definition at line 101 of file TRT_DriftFunctionTool.h.

101 { 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 34 of file TRT_DriftFunctionTool.cxx.

37  : base_class(type, name, parent),
38  m_TRTCalDbTool("TRT_CalDbTool",this),
39  m_TRTCalDbTool2("",this),
41  m_error(0.17),
42  m_ismc(true),
43  m_isoverlay(false),
44  m_istestbeam(false),
45  m_dummy(false),
46  m_err_fudge(1.0),
49  m_override_simcal(false),
51  m_uni_error(0.136),
52  m_inputfile(""),
53  m_key(""),
54  m_trt_mgr_location("TRT"),
55  m_ht_correction_barrel_Xe(0.0), // initialised from python
56  m_ht_correction_endcap_Xe(0.0), // initialised from python
57  m_ht_correction_barrel_Ar(0.0), // initialised from python
58  m_ht_correction_endcap_Ar(0.0), // initialised from python
59  m_tot_corrections_barrel_Xe(20, 0.), // initialised from python
60  m_tot_corrections_endcap_Xe(20, 0.), // initialised from python
61  m_tot_corrections_barrel_Ar(20, 0.), // initialised from python
62  m_tot_corrections_endcap_Ar(20, 0.) // initialised from python
63 {
64  declareProperty("IsMC",m_ismc);
65  declareProperty("AllowDigiVersionOverride",m_allow_digi_version_override);
66  declareProperty("ForcedDigiVersion",m_forced_digiversion);
67  declareProperty("IsOverlay",m_isoverlay=false);
68  declareProperty("OverrideSimulationCalibration",m_override_simcal);
69  declareProperty("ForceUniversalErrors",m_force_universal_errors);
70  declareProperty("UniversalError",m_uni_error);
71  declareProperty("DummyMode",m_dummy);
72  declareProperty("ErrorFudgeFactor",m_err_fudge);
73  declareProperty("TRTCalDbTool", m_TRTCalDbTool);
74  declareProperty("TRTCalDbTool2", m_TRTCalDbTool2);
75  declareProperty("DriftFunctionFile", m_inputfile);
76  declareProperty("TrtDescrManageLocation",m_trt_mgr_location);
77  declareProperty("ToTCorrectionsBarrelXe",m_tot_corrections_barrel_Xe);
78  declareProperty("ToTCorrectionsEndcapXe",m_tot_corrections_endcap_Xe);
79  declareProperty("ToTCorrectionsBarrelAr",m_tot_corrections_barrel_Xe);
80  declareProperty("ToTCorrectionsEndcapAr",m_tot_corrections_endcap_Xe);
81  declareProperty("HTCorrectionBarrelXe",m_ht_correction_barrel_Xe);
82  declareProperty("HTCorrectionEndcapXe",m_ht_correction_endcap_Xe);
83  declareProperty("HTCorrectionBarrelAr",m_ht_correction_barrel_Ar);
84  declareProperty("HTCorrectionEndcapAr",m_ht_correction_endcap_Ar);
85 
86  // make sure all arrays are initialized - use DC3version2 as default
87  for (int i=0; i<3; i++) m_t0_barrel[i] = 15.625;
88  for (int i=0; i<14; i++) m_t0_endcap[i] = 14.2;
89  m_t0_shift=0.;
90 
91  for(size_t i=0; i<s_size_default; ++i){
94  }
95  for(size_t i=s_size_default; i<MaxTimeBin; ++i) {
96  m_radius[i]=2.;
98  }
99 
100 }

◆ ~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 190 of file TRT_DriftFunctionTool.cxx.

191 {
192  double t = 0.;
193  int i=0;
194  if(driftradius<0.100) {
195  t = 2.5*m_drifttimeperbin*driftradius/0.1;
196  } else if(driftradius<1.99) {
197  while(driftradius>=m_radius[i]) ++i;
198  if(i>0) i--;
199  t=(i+0.5+(driftradius-m_radius[i])/(m_radius[i+1]-m_radius[i]))*m_drifttimeperbin;
200  } else {
201  t = m_drifttimeperbin*( 19. + (driftradius-1.99)/0.08 );
202  }
203 
204  return t;
205 }

◆ 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 208 of file TRT_DriftFunctionTool.cxx.

209 {
210  if( !isValidTime(drifttime) ) return 0;
211  int drifttimebin = std::max(int(drifttime/m_drifttimeperbin),0);
212 
213  // Interpolate linearly
214  if(drifttime < (drifttimebin+0.5)*m_drifttimeperbin) {
215  if (drifttimebin-1 > -1)
216  return m_radius[drifttimebin-1]+
217  (m_radius[drifttimebin]-m_radius[drifttimebin-1])*
218  (drifttime - (drifttimebin-0.5)*m_drifttimeperbin)/m_drifttimeperbin;
219  } else if (drifttimebin+1 < 20) {
220  return m_radius[drifttimebin]+
221  (m_radius[drifttimebin+1]-m_radius[drifttimebin])*
222  (drifttime - (drifttimebin+0.5)*m_drifttimeperbin)/m_drifttimeperbin;
223  }
224 
225  return m_radius[drifttimebin];
226 }

◆ 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 231 of file TRT_DriftFunctionTool.cxx.

232 {
233  isOK = true;
234  const double crawtime=rawtime - m_t0_shift; // const cast
235  const Identifier cid=id; // const cast
236  t0 = 0.;
237  float ft0=t0; //float cast
238 
239  //case of no drifttime information wanted
240  if (m_dummy) return 0.;
241 
242  double radius = 0.;
243  if (!m_isoverlay){ //standard case
244  radius = m_TRTCalDbTool->driftRadius(crawtime,ft0,cid,isOK);
245  t0 = ft0 + m_t0_shift;
246  }
247  else{ //overlay case
248  // no m_t0_shift in rawtime, and use data TRTCalDbSvc
249  radius = m_TRTCalDbTool->driftRadius(rawtime,ft0,cid,isOK);
250  t0 = ft0;
251  bool mcdigit = word & (1u<<31);
252  if (mcdigit){
253  //check if it's a MC digit, and if so apply other calibration
254  ATH_MSG_DEBUG ("Overlay TRTCalDbTool gave radius: "<<radius<<", t0: "<<t0);
255  //t0_shift in crawtime, and use MC TRTCalDbSvc(2)
256  radius = m_TRTCalDbTool2->driftRadius(crawtime,ft0,cid,isOK);
257  t0 = ft0 + m_t0_shift;
258  ATH_MSG_DEBUG ("Overlay TRTCalDbTool2 gives radius: "<<radius<<", t0: "<<t0);
259  }
260  }
261  double drifttime = rawtime-t0;
262  if( !isValidTime(drifttime) ) isOK=false;
263  return radius;
264 
265 }

◆ driftTimeHTCorrection()

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

Returns high threshold correction to the drift time (ns)

Definition at line 324 of file TRT_DriftFunctionTool.cxx.

325 {
326  int bec_index = std::abs(m_trtid->barrel_ec(id)) - 1;
327 
328  if (isArgonStraw) {
330  }
332 }

◆ 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 309 of file TRT_DriftFunctionTool.cxx.

310 {
311  int tot_index = tot/m_drifttimeperbin;
312  if (tot_index < 0) tot_index = 0;
313  if (tot_index > 19) tot_index = 19;
314 
315  int bec_index = std::abs(m_trtid->barrel_ec(id)) - 1;
316 
317  if (isArgonStraw) {
318  return (bec_index) ? m_tot_corrections_endcap_Ar[tot_index] : m_tot_corrections_barrel_Ar[tot_index];
319  }
320  return (bec_index) ? m_tot_corrections_endcap_Xe[tot_index] : m_tot_corrections_barrel_Xe[tot_index];
321 }

◆ 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 268 of file TRT_DriftFunctionTool.cxx.

269 {
270  if(m_dummy) return 4./std::sqrt(12.);
272  bool founderr=true;
273  bool foundslope=true;
274  double error = m_TRTCalDbTool->driftError(drifttime,id,founderr);
275  double slope = m_TRTCalDbTool->driftSlope(drifttime,id,foundslope);
276  bool mcdigit = word & (1u<<31);
277  if(m_isoverlay && mcdigit){
278  //check if it's a MC digit, and if so apply other calibration
279  ATH_MSG_DEBUG ("Overlay TRTCalDbTool gave error: "<<error<<", found="<<founderr);
280  error = m_TRTCalDbTool2->driftError(drifttime,id,founderr);
281  ATH_MSG_DEBUG ("Overlay TRTCalDbTool2 gives error: "<<error<<", found="<<founderr);
282  ATH_MSG_DEBUG ("Overlay TRTCalDbTool gave slope: "<<slope<<", found="<<foundslope);
283  slope = m_TRTCalDbTool2->driftSlope(drifttime,id,foundslope);
284  ATH_MSG_DEBUG ("Overlay TRTCalDbTool2 gives slope: "<<slope<<", found="<<foundslope);
285  }
286 
287  if(founderr && foundslope) {
288  return error+mu*slope;
289 //to add condition for old setup
290  }
291  else if ((founderr && !foundslope) || (mu<0)) {
292  return error; }
293  else { //interpolate
294  if(drifttime<=0.) {
295  return m_errors[0];
296  } else if(drifttime >= 18.*m_drifttimeperbin) {
297  return m_errors[18];
298  } else {
299  float drifttimeinbins = drifttime/m_drifttimeperbin;
300  int drifttimebin = (int)drifttimeinbins;
301  float fracbin = drifttimeinbins-drifttimebin;
302  return (1-fracbin)*m_errors[drifttimebin]+fracbin*m_errors[drifttimebin+1];
303  }
304  }
305 }

◆ finalize()

StatusCode TRT_DriftFunctionTool::finalize ( )
overridevirtual

Finalize

Definition at line 181 of file TRT_DriftFunctionTool.cxx.

182 {
184  return sc;
185 }

◆ initialize()

StatusCode TRT_DriftFunctionTool::initialize ( )
overridevirtual

Retrieves needed services

Definition at line 108 of file TRT_DriftFunctionTool.cxx.

109 {
110  ATH_MSG_DEBUG( "initialize()");
111 
113  if (sc.isFailure())
114  {
115  ATH_MSG_FATAL("Cannot initialize AthAlgTool!");
116  return StatusCode::FAILURE;
117  }
118 
119  if(m_dummy){
120  ATH_MSG_INFO(" Drift time information ignored ");
121  }
122 
123  // Retrieve TRT_DetectorManager and helper
125  if (sc.isFailure() || !m_manager)
126  {
127  ATH_MSG_FATAL("Could not find the Manager: "
128  << m_trt_mgr_location << " !");
129  return sc;
130  }
131 
132  // Get TRT ID helper
133  sc = detStore()->retrieve(m_trtid,"TRT_ID");
134  if ( sc.isFailure() ) {
135  ATH_MSG_FATAL( "Could not retrieve TRT ID helper." );
136  return sc;
137  }
138 
139  // Check that ToT corrections have the correct length
140  if (m_tot_corrections_barrel_Xe.size() != 20) {
141  ATH_MSG_FATAL( "Length of ToTCorrectionsBarrelXe is not 20." );
142  return sc;
143  }
144  if (m_tot_corrections_endcap_Xe.size() != 20) {
145  ATH_MSG_FATAL( "Length of ToTCorrectionsEndcapXe is not 20." );
146  return sc;
147  }
148  if (m_tot_corrections_barrel_Ar.size() != 20) {
149  ATH_MSG_FATAL( "Length of ToTCorrectionsBarrelAr is not 20." );
150  return sc;
151  }
152  if (m_tot_corrections_endcap_Ar.size() != 20) {
153  ATH_MSG_FATAL( "Length of ToTCorrectionsEndcapAr is not 20." );
154  return sc;
155  }
156 
157  //
158  // Get GeoModel version key
159  IGeoModelSvc *geomodel;
160  sc=service("GeoModelSvc",geomodel);
161  if(sc.isFailure()){
162  ATH_MSG_FATAL(" Could not locate GeoModelSvc ");
163  return sc;
164  }
165 
166  DecodeVersionKey versionKey(geomodel,"TRT");
167  m_key=versionKey.tag();
168 
169  int numB = m_manager->getNumerology()->getNBarrelPhi();
170  ATH_MSG_DEBUG(" Number of Barrel elements "<< numB);
171 
172  m_istestbeam = numB==2;
173 
174  setupRtRelation();
175 
176  return sc;
177 }

◆ isTestBeamData()

bool TRT_DriftFunctionTool::isTestBeamData ( ) const
inlineoverridevirtual

Returns True for CTB real data.

Definition at line 162 of file TRT_DriftFunctionTool.h.

163 { return m_istestbeam; }

◆ isValidTime()

bool TRT_DriftFunctionTool::isValidTime ( double  drifttime) const
inlineoverridevirtual

Returns True for drifttimes between -10 and 75ns.

Definition at line 159 of file TRT_DriftFunctionTool.h.

160 { 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 165 of file TRT_DriftFunctionTool.h.

166 {
167  double time = (tdcvalue+0.5)*m_drifttimeperbin ;
168  return m_istestbeam ? 0.5*time : time;
169 }

◆ setupRtRelation()

void TRT_DriftFunctionTool::setupRtRelation ( )

Initialise Rt relation.

Definition at line 336 of file TRT_DriftFunctionTool.cxx.

337 {
338 
339  ATH_MSG_DEBUG(" Using TRTCalDbTool ");
340  if ( m_TRTCalDbTool.retrieve().isFailure() ) {
341  ATH_MSG_FATAL(m_TRTCalDbTool.propertyName() <<
342  ": Failed to retrieve service " << m_TRTCalDbTool.type());
343  return;
344 
345  } else {
346  ATH_MSG_DEBUG(m_TRTCalDbTool.propertyName() <<
347  ": Retrieved service " << m_TRTCalDbTool.type());
348  }
349 
350  if (m_isoverlay){
351  ATH_MSG_DEBUG("Using TRTCalDbTool2 for overlay ! ");
352  if ( m_TRTCalDbTool2.retrieve().isFailure() ) {
353  ATH_MSG_FATAL(m_TRTCalDbTool2.propertyName() <<": Failed to retrieveservice " << m_TRTCalDbTool2.type());
354  return;
355  }
356  }
357  //temporary: we need some way to automatically link digi version with db tag
358  //for now we make a hack in order always to get the right t0 after having centered the
359  //drifttime spectrum better in the allowed time-window with digi version 12 in release 14.
360 
362  if(m_ismc || m_isoverlay){
363 
366  ATH_MSG_DEBUG("TRT detector manager returned digitization version "<< type <<
367  " corresponding to "<< m_manager->digitizationVersionName());
368  } else {
369  ATH_MSG_WARNING("Digitization version chosen by user for global t0 correction: "<<type);
370  }
371 
372 
373  if(type>10) {
374  m_t0_shift=-8.;
375  ATH_MSG_DEBUG(" Digitization version " << type << " - T0 for barrel is shifted by "
376  << m_t0_shift);
377  }
378 
379  }
380  //temporary: we need to think about how to store the uncertainties in the db!!!
381 
382  if(m_key.compare(6,4,"Comm")==0) {
383  for(size_t i=0; i<s_size_Comm; ++i){
386  }
387  } else {
388  for(size_t i=0; i<s_size_default; ++i){
390  }
391  }
392 
393  m_error = 0.136;
394 }

Member Data Documentation

◆ m_allow_digi_version_override

bool TRT_DriftFunctionTool::m_allow_digi_version_override
private

flag for using constants for

Definition at line 113 of file TRT_DriftFunctionTool.h.

◆ m_drifttimeperbin

double TRT_DriftFunctionTool::m_drifttimeperbin
private

3.125ns

Definition at line 98 of file TRT_DriftFunctionTool.h.

◆ m_dummy

bool TRT_DriftFunctionTool::m_dummy
private

flag for ignoring drift time info

Definition at line 109 of file TRT_DriftFunctionTool.h.

◆ m_err_fudge

double TRT_DriftFunctionTool::m_err_fudge
private

fudge_factor for error scaling

Definition at line 111 of file TRT_DriftFunctionTool.h.

◆ m_error

double TRT_DriftFunctionTool::m_error
private

universal error

Definition at line 99 of file TRT_DriftFunctionTool.h.

◆ m_errors

double TRT_DriftFunctionTool::m_errors[MaxTimeBin] {}
private

width of radius dist in each bin

Definition at line 103 of file TRT_DriftFunctionTool.h.

◆ m_force_universal_errors

bool TRT_DriftFunctionTool::m_force_universal_errors
private

use one universal error

Definition at line 117 of file TRT_DriftFunctionTool.h.

◆ m_forced_digiversion

int TRT_DriftFunctionTool::m_forced_digiversion
private

this digi version

Definition at line 114 of file TRT_DriftFunctionTool.h.

◆ m_ht_correction_barrel_Ar

double TRT_DriftFunctionTool::m_ht_correction_barrel_Ar
private

HT correction for Ar straws in barrel.

Definition at line 128 of file TRT_DriftFunctionTool.h.

◆ m_ht_correction_barrel_Xe

double TRT_DriftFunctionTool::m_ht_correction_barrel_Xe
private

HT correction for Xe straws in barrel.

Definition at line 126 of file TRT_DriftFunctionTool.h.

◆ m_ht_correction_endcap_Ar

double TRT_DriftFunctionTool::m_ht_correction_endcap_Ar
private

HT correction for Ar straws in barrel.

Definition at line 129 of file TRT_DriftFunctionTool.h.

◆ m_ht_correction_endcap_Xe

double TRT_DriftFunctionTool::m_ht_correction_endcap_Xe
private

HT correction for Xe straws in barrel.

Definition at line 127 of file TRT_DriftFunctionTool.h.

◆ m_inputfile

std::string TRT_DriftFunctionTool::m_inputfile
private

file overriding MC constants

Definition at line 120 of file TRT_DriftFunctionTool.h.

◆ m_ismc

bool TRT_DriftFunctionTool::m_ismc
private

flag for mc

Definition at line 105 of file TRT_DriftFunctionTool.h.

◆ m_isoverlay

bool TRT_DriftFunctionTool::m_isoverlay
private

flag for overlay

Definition at line 106 of file TRT_DriftFunctionTool.h.

◆ m_istestbeam

bool TRT_DriftFunctionTool::m_istestbeam
private

flag for CTB data or mc

Definition at line 107 of file TRT_DriftFunctionTool.h.

◆ m_key

std::string TRT_DriftFunctionTool::m_key
private

GeoModel version key.

Definition at line 121 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_override_simcal

bool TRT_DriftFunctionTool::m_override_simcal
private

flag for reading constants from

Definition at line 116 of file TRT_DriftFunctionTool.h.

◆ m_radius

double TRT_DriftFunctionTool::m_radius[MaxTimeBin] {}
private

most probable radius in each bin

Definition at line 102 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 123 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 124 of file TRT_DriftFunctionTool.h.

◆ m_t0_shift

double TRT_DriftFunctionTool::m_t0_shift
private

digiversion dependent t0 shift

Definition at line 125 of file TRT_DriftFunctionTool.h.

◆ m_tot_corrections_barrel_Ar

std::vector<double> TRT_DriftFunctionTool::m_tot_corrections_barrel_Ar
private

ToT corrections for 20 ToT bins in Ar barrel straws.

Definition at line 132 of file TRT_DriftFunctionTool.h.

◆ m_tot_corrections_barrel_Xe

std::vector<double> TRT_DriftFunctionTool::m_tot_corrections_barrel_Xe
private

ToT corrections for 20 ToT bins in Xe barrel straws.

Definition at line 130 of file TRT_DriftFunctionTool.h.

◆ m_tot_corrections_endcap_Ar

std::vector<double> TRT_DriftFunctionTool::m_tot_corrections_endcap_Ar
private

ToT corrections for 20 ToT bins in Ar endcap straws.

Definition at line 133 of file TRT_DriftFunctionTool.h.

◆ m_tot_corrections_endcap_Xe

std::vector<double> TRT_DriftFunctionTool::m_tot_corrections_endcap_Xe
private

ToT corrections for 20 ToT bins in Xe endcap straws.

Definition at line 131 of file TRT_DriftFunctionTool.h.

◆ m_trt_mgr_location

std::string TRT_DriftFunctionTool::m_trt_mgr_location
private

Name of TRT detector manager.

Definition at line 122 of file TRT_DriftFunctionTool.h.

◆ m_TRTCalDbTool

ToolHandle< ITRT_CalDbTool > TRT_DriftFunctionTool::m_TRTCalDbTool
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
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

double TRT_DriftFunctionTool::m_uni_error
private

namely this one

Definition at line 118 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 152 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 141 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 148 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 136 of file TRT_DriftFunctionTool.h.

◆ s_size_Comm

const size_t TRT_DriftFunctionTool::s_size_Comm = 13
staticprivate

Definition at line 147 of file TRT_DriftFunctionTool.h.

◆ s_size_default

const size_t TRT_DriftFunctionTool::s_size_default = 19
staticprivate

Definition at line 135 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:121
TRT_DriftFunctionTool::s_radius_default
static constexpr double s_radius_default[s_size_default]
Definition: TRT_DriftFunctionTool.h:136
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:53
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x)
Definition: AthMsgStreamMacros.h:34
TRT_DriftFunctionTool::m_tot_corrections_endcap_Xe
std::vector< double > m_tot_corrections_endcap_Xe
ToT corrections for 20 ToT bins in Xe endcap straws.
Definition: TRT_DriftFunctionTool.h:131
TRT_DriftFunctionTool::m_t0_barrel
double m_t0_barrel[3]
t0 for the 3 barrel rings
Definition: TRT_DriftFunctionTool.h:123
max
#define max(a, b)
Definition: cfImp.cxx:41
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
TRT_DriftFunctionTool::m_override_simcal
bool m_override_simcal
flag for reading constants from
Definition: TRT_DriftFunctionTool.h:116
IGeoModelSvc
Definition: IGeoModelSvc.h:17
CaloCellPos2Ntuple.int
int
Definition: CaloCellPos2Ntuple.py:24
TRT_DriftFunctionTool::m_ht_correction_barrel_Xe
double m_ht_correction_barrel_Xe
HT correction for Xe straws in barrel.
Definition: TRT_DriftFunctionTool.h:126
TRT_DriftFunctionTool::m_allow_digi_version_override
bool m_allow_digi_version_override
flag for using constants for
Definition: TRT_DriftFunctionTool.h:113
initialize
void initialize()
Definition: run_EoverP.cxx:894
ALFA_EventTPCnv_Dict::t0
std::vector< ALFA_RawData_p1 > t0
Definition: ALFA_EventTPCnvDict.h:42
TRT_DriftFunctionTool::m_force_universal_errors
bool m_force_universal_errors
use one universal error
Definition: TRT_DriftFunctionTool.h:117
TRT_DriftFunctionTool::m_tot_corrections_endcap_Ar
std::vector< double > m_tot_corrections_endcap_Ar
ToT corrections for 20 ToT bins in Ar endcap straws.
Definition: TRT_DriftFunctionTool.h:133
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
TRT_DriftFunctionTool::m_err_fudge
double m_err_fudge
fudge_factor for error scaling
Definition: TRT_DriftFunctionTool.h:111
TRT_DriftFunctionTool::m_uni_error
double m_uni_error
namely this one
Definition: TRT_DriftFunctionTool.h:118
TRT_DriftFunctionTool::s_errors_default
static constexpr double s_errors_default[s_size_default]
Definition: TRT_DriftFunctionTool.h:141
Trk::u
@ u
Enums for curvilinear frames.
Definition: ParamDefs.h:83
TRT_DriftFunctionTool::m_isoverlay
bool m_isoverlay
flag for overlay
Definition: TRT_DriftFunctionTool.h:106
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::isValidTime
virtual bool isValidTime(double drifttime) const override
Returns True for drifttimes between -10 and 75ns.
Definition: TRT_DriftFunctionTool.h:159
InDetDD::TRT_DetectorManager::getNumerology
TRT_Numerology * getNumerology()
Access Numerological information:---------------------------------------—.
Definition: TRT_DetectorManager.cxx:56
TRT_DriftFunctionTool::m_ht_correction_endcap_Ar
double m_ht_correction_endcap_Ar
HT correction for Ar straws in barrel.
Definition: TRT_DriftFunctionTool.h:129
TRT_DriftFunctionTool::m_trt_mgr_location
std::string m_trt_mgr_location
Name of TRT detector manager.
Definition: TRT_DriftFunctionTool.h:122
TRT_DriftFunctionTool::m_istestbeam
bool m_istestbeam
flag for CTB data or mc
Definition: TRT_DriftFunctionTool.h:107
TRT_DriftFunctionTool::m_t0_shift
double m_t0_shift
digiversion dependent t0 shift
Definition: TRT_DriftFunctionTool.h:125
lumiFormat.i
int i
Definition: lumiFormat.py:92
TRT_DriftFunctionTool::s_radius_Comm
static constexpr double s_radius_Comm[s_size_Comm]
Definition: TRT_DriftFunctionTool.h:148
TRT_DriftFunctionTool::m_t0_endcap
double m_t0_endcap[18]
t0 for the 14(18) endcap wheels
Definition: TRT_DriftFunctionTool.h:124
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
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:103
DecodeVersionKey
This is a helper class to query the version tags from GeoModelSvc and determine the appropriate tag a...
Definition: DecodeVersionKey.h:18
TRT_DriftFunctionTool::m_forced_digiversion
int m_forced_digiversion
this digi version
Definition: TRT_DriftFunctionTool.h:114
test_pyathena.parent
parent
Definition: test_pyathena.py:15
InDetDD::TRT_Numerology::getNBarrelPhi
unsigned int getNBarrelPhi() const
TRT_DriftFunctionTool::m_drifttimeperbin
double m_drifttimeperbin
3.125ns
Definition: TRT_DriftFunctionTool.h:98
TRT_ID::barrel_ec
int barrel_ec(const Identifier &id) const
Values of different levels (failure returns 0)
Definition: TRT_ID.h:866
TRT_DriftFunctionTool::m_ismc
bool m_ismc
flag for mc
Definition: TRT_DriftFunctionTool.h:105
LB_AnalMapSplitter.tot
tot
Definition: LB_AnalMapSplitter.py:46
TRT_DriftFunctionTool::m_inputfile
std::string m_inputfile
file overriding MC constants
Definition: TRT_DriftFunctionTool.h:120
python.PyKernel.detStore
detStore
Definition: PyKernel.py:41
InDetDD::TRT_DetectorManager::digitizationVersionName
std::string digitizationVersionName() const
Definition: TRT_DetectorManager.cxx:230
TRT_DriftFunctionTool::m_ht_correction_endcap_Xe
double m_ht_correction_endcap_Xe
HT correction for Xe straws in barrel.
Definition: TRT_DriftFunctionTool.h:127
id
SG::auxid_t id
Definition: Control/AthContainers/Root/debug.cxx:191
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
TRT_DriftFunctionTool::m_tot_corrections_barrel_Xe
std::vector< double > m_tot_corrections_barrel_Xe
ToT corrections for 20 ToT bins in Xe barrel straws.
Definition: TRT_DriftFunctionTool.h:130
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:101
TRT_DriftFunctionTool::setupRtRelation
void setupRtRelation()
Initialise Rt relation.
Definition: TRT_DriftFunctionTool.cxx:336
TRT_DriftFunctionTool::m_ht_correction_barrel_Ar
double m_ht_correction_barrel_Ar
HT correction for Ar straws in barrel.
Definition: TRT_DriftFunctionTool.h:128
CaloSwCorrections.time
def time(flags, cells_name, *args, **kw)
Definition: CaloSwCorrections.py:242
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
InDetDD::TRT_DetectorManager::digitizationVersion
unsigned int digitizationVersion() const
Get and set information about digitization version ---------------------—.
Definition: TRT_DetectorManager.cxx:225
TRT_DriftFunctionTool::s_size_Comm
static const size_t s_size_Comm
Definition: TRT_DriftFunctionTool.h:147
declareProperty
#define declareProperty(n, p, h)
Definition: BaseFakeBkgTool.cxx:15
python.SystemOfUnits.ns
int ns
Definition: SystemOfUnits.py:130
TRT_DriftFunctionTool::m_error
double m_error
universal error
Definition: TRT_DriftFunctionTool.h:99
TRT_DriftFunctionTool::s_errors_Comm
static constexpr double s_errors_Comm[s_size_Comm]
Definition: TRT_DriftFunctionTool.h:152
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_tot_corrections_barrel_Ar
std::vector< double > m_tot_corrections_barrel_Ar
ToT corrections for 20 ToT bins in Ar barrel straws.
Definition: TRT_DriftFunctionTool.h:132
CaloNoise_fillDB.mu
mu
Definition: CaloNoise_fillDB.py:53
error
Definition: IImpactPoint3dEstimator.h:70
TRT_DriftFunctionTool::s_size_default
static const size_t s_size_default
Definition: TRT_DriftFunctionTool.h:135
TRT_DriftFunctionTool::m_radius
double m_radius[MaxTimeBin]
most probable radius in each bin
Definition: TRT_DriftFunctionTool.h:102
TRT_DriftFunctionTool::m_manager
const InDetDD::TRT_DetectorManager * m_manager
DetectorManager and helper.
Definition: TRT_DriftFunctionTool.h:94
TRT_DriftFunctionTool::m_dummy
bool m_dummy
flag for ignoring drift time info
Definition: TRT_DriftFunctionTool.h:109