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_isoverlay {this, "IsOverlay", false}
 
BooleanProperty m_dummy
 
bool m_istestbeam = false
 
DoubleProperty m_err_fudge
 
BooleanProperty m_allow_digi_version_override {this, "AllowDigiVersionOverride", false}
 flag for using constants for More...
 
IntegerProperty m_forced_digiversion {this, "ForcedDigiVersion", 11}
 this digi version 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 32 of file TRT_DriftFunctionTool.cxx.

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

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

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

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

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

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

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

◆ driftTimeHTCorrection()

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

Returns high threshold correction to the drift time (ns)

Definition at line 269 of file TRT_DriftFunctionTool.cxx.

270 {
271  int bec_index = std::abs(m_trtid->barrel_ec(id)) - 1;
272 
273  if (isArgonStraw) {
275  }
277 }

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

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

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

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

◆ finalize()

StatusCode TRT_DriftFunctionTool::finalize ( )
overridevirtual

Finalize

Definition at line 126 of file TRT_DriftFunctionTool.cxx.

127 {
129  return sc;
130 }

◆ initialize()

StatusCode TRT_DriftFunctionTool::initialize ( )
overridevirtual

Retrieves needed services

Definition at line 58 of file TRT_DriftFunctionTool.cxx.

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

◆ isValidTime()

bool TRT_DriftFunctionTool::isValidTime ( double  drifttime) const
inlineoverridevirtual

Returns True for drifttimes between -10 and 75ns.

Definition at line 176 of file TRT_DriftFunctionTool.h.

177 { 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 179 of file TRT_DriftFunctionTool.h.

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

◆ setupRtRelation()

void TRT_DriftFunctionTool::setupRtRelation ( )

Initialise Rt relation.

Definition at line 281 of file TRT_DriftFunctionTool.cxx.

282 {
283 
284  ATH_MSG_DEBUG(" Using TRTCalDbTool ");
285  if ( m_TRTCalDbTool.retrieve().isFailure() ) {
286  ATH_MSG_FATAL(m_TRTCalDbTool.propertyName() <<
287  ": Failed to retrieve service " << m_TRTCalDbTool.type());
288  return;
289 
290  } else {
291  ATH_MSG_DEBUG(m_TRTCalDbTool.propertyName() <<
292  ": Retrieved service " << m_TRTCalDbTool.type());
293  }
294 
295  if (m_isoverlay){
296  ATH_MSG_DEBUG("Using TRTCalDbTool2 for overlay ! ");
297  if ( m_TRTCalDbTool2.retrieve().isFailure() ) {
298  ATH_MSG_FATAL(m_TRTCalDbTool2.propertyName() <<": Failed to retrieveservice " << m_TRTCalDbTool2.type());
299  return;
300  }
301  }
302  //temporary: we need some way to automatically link digi version with db tag
303  //for now we make a hack in order always to get the right t0 after having centered the
304  //drifttime spectrum better in the allowed time-window with digi version 12 in release 14.
305 
307  if(m_ismc || m_isoverlay){
308 
311  ATH_MSG_DEBUG("TRT detector manager returned digitization version "<< type <<
312  " corresponding to "<< m_manager->digitizationVersionName());
313  } else {
314  ATH_MSG_WARNING("Digitization version chosen by user for global t0 correction: "<<type);
315  }
316 
317 
318  if(type>10) {
319  m_t0_shift=-8.;
320  ATH_MSG_DEBUG(" Digitization version " << type << " - T0 for barrel is shifted by "
321  << m_t0_shift);
322  }
323 
324  }
325  //temporary: we need to think about how to store the uncertainties in the db!!!
326 
327  if(m_key.compare(6,4,"Comm")==0) {
328  for(size_t i=0; i<s_size_Comm; ++i){
331  }
332  } else {
333  for(size_t i=0; i<s_size_default; ++i){
335  }
336  }
337 
338 }

Member Data Documentation

◆ m_allow_digi_version_override

BooleanProperty TRT_DriftFunctionTool::m_allow_digi_version_override {this, "AllowDigiVersionOverride", false}
private

flag for using constants for

Definition at line 113 of file TRT_DriftFunctionTool.h.

◆ 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_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 118 of file TRT_DriftFunctionTool.h.

◆ m_forced_digiversion

IntegerProperty TRT_DriftFunctionTool::m_forced_digiversion {this, "ForcedDigiVersion", 11}
private

this digi version

Definition at line 115 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 134 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 130 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 136 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 132 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_isoverlay

BooleanProperty TRT_DriftFunctionTool::m_isoverlay {this, "IsOverlay", false}
private

Definition at line 104 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 122 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 126 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 127 of file TRT_DriftFunctionTool.h.

◆ m_t0_shift

double TRT_DriftFunctionTool::m_t0_shift
private

digiversion dependent t0 shift

Definition at line 128 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 145 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 139 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 148 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 142 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 123 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 120 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 169 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 158 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 165 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 153 of file TRT_DriftFunctionTool.h.

◆ s_size_Comm

const size_t TRT_DriftFunctionTool::s_size_Comm = 13
staticprivate

Definition at line 164 of file TRT_DriftFunctionTool.h.

◆ s_size_default

const size_t TRT_DriftFunctionTool::s_size_default = 19
staticprivate

Definition at line 152 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:122
TRT_DriftFunctionTool::s_radius_default
static constexpr double s_radius_default[s_size_default]
Definition: TRT_DriftFunctionTool.h:153
TRT_DriftFunctionTool::m_ht_correction_barrel_Xe
DoubleProperty m_ht_correction_barrel_Xe
Definition: TRT_DriftFunctionTool.h:130
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:126
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
CaloCellPos2Ntuple.int
int
Definition: CaloCellPos2Ntuple.py:24
max
constexpr double max()
Definition: ap_fixedTest.cxx:33
TRT_DriftFunctionTool::m_trt_mgr_location
StringProperty m_trt_mgr_location
Definition: TRT_DriftFunctionTool.h:124
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:134
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:158
TRT_DriftFunctionTool::m_ht_correction_endcap_Xe
DoubleProperty m_ht_correction_endcap_Xe
Definition: TRT_DriftFunctionTool.h:132
Trk::u
@ u
Enums for curvilinear frames.
Definition: ParamDefs.h:77
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:149
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:176
InDetDD::TRT_DetectorManager::getNumerology
TRT_Numerology * getNumerology()
Access Numerological information:---------------------------------------—.
Definition: TRT_DetectorManager.cxx:46
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:128
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:165
TRT_DriftFunctionTool::m_t0_endcap
double m_t0_endcap[18]
t0 for the 14(18) endcap wheels
Definition: TRT_DriftFunctionTool.h:127
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
TRT_DriftFunctionTool::m_forced_digiversion
IntegerProperty m_forced_digiversion
this digi version
Definition: TRT_DriftFunctionTool.h:116
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:227
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
TRT_DriftFunctionTool::m_uni_error
DoubleProperty m_uni_error
namely this one
Definition: TRT_DriftFunctionTool.h:120
InDetDD::TRT_DetectorManager::digitizationVersionName
const std::string & digitizationVersionName() const
Definition: TRT_DetectorManager.cxx:220
TRT_DriftFunctionTool::m_tot_corrections_endcap_Xe
DoubleArrayProperty m_tot_corrections_endcap_Xe
Definition: TRT_DriftFunctionTool.h:143
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::setupRtRelation
void setupRtRelation()
Initialise Rt relation.
Definition: TRT_DriftFunctionTool.cxx:281
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
TRT_DriftFunctionTool::m_tot_corrections_barrel_Xe
DoubleArrayProperty m_tot_corrections_barrel_Xe
Definition: TRT_DriftFunctionTool.h:140
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:215
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:119
TRT_DriftFunctionTool::s_size_Comm
static const size_t s_size_Comm
Definition: TRT_DriftFunctionTool.h:164
TRT_DriftFunctionTool::m_ismc
BooleanProperty m_ismc
Definition: TRT_DriftFunctionTool.h:103
TRT_DriftFunctionTool::s_errors_Comm
static constexpr double s_errors_Comm[s_size_Comm]
Definition: TRT_DriftFunctionTool.h:169
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:136
TRT_DriftFunctionTool::m_allow_digi_version_override
BooleanProperty m_allow_digi_version_override
flag for using constants for
Definition: TRT_DriftFunctionTool.h:114
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:152
TRT_DriftFunctionTool::m_radius
double m_radius[MaxTimeBin]
most probable radius in each bin
Definition: TRT_DriftFunctionTool.h:100
TRT_DriftFunctionTool::m_isoverlay
BooleanProperty m_isoverlay
Definition: TRT_DriftFunctionTool.h:104
TRT_DriftFunctionTool::m_manager
const InDetDD::TRT_DetectorManager * m_manager
DetectorManager and helper.
Definition: TRT_DriftFunctionTool.h:94
TRT_DriftFunctionTool::m_tot_corrections_barrel_Ar
DoubleArrayProperty m_tot_corrections_barrel_Ar
Definition: TRT_DriftFunctionTool.h:146
Identifier
Definition: IdentifierFieldParser.cxx:14