ATLAS Offline Software
Loading...
Searching...
No Matches
TRT_DriftFunctionTool Class Reference

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

#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.
virtual ~TRT_DriftFunctionTool ()
 Destructor.
virtual StatusCode initialize () override
 Retrieves needed services.
virtual StatusCode finalize () override
 Finalize.
virtual bool isValidTime (double drifttime) const override
 Returns True for drifttimes between -10 and 75ns.
virtual double rawTime (int tdcvalue) const override
 Returns center of leading edge bin in ns for bin number = tdcvalue.
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.
virtual double driftRadius (double drifttime) const override
 Returns drift radius for MC.
virtual double approxDriftTime (double driftradius) const override
 Returns approximate drift time (t0 subtracted)
virtual double errorOfDriftRadius (double drifttime, Identifier id, float mu=-10, unsigned int word=0) const override
 Time-dependent error of drift radius in mm.
virtual double driftTimeToTCorrection (double tot, Identifier id, bool isArgonStraw=false) const override
 Returns time over threshold correction to the drift time (ns)
virtual double driftTimeHTCorrection (Identifier id, bool isArgonStraw=false) const override
 Returns high threshold correction to the drift time (ns)
void setupRtRelation ()
 Initialise Rt relation.

Private Types

enum  ETimeBins { MaxTimeBin = 50 }

Private Attributes

ToolHandle< ITRT_CalDbToolm_TRTCalDbTool {this, "TRTCalDbTool", "TRT_CalDbTool"}
 Tool to fetch data from database.
ToolHandle< ITRT_CalDbToolm_TRTCalDbTool2 {this, "TRTCalDbTool2", ""}
const InDetDD::TRT_DetectorManagerm_manager {}
 DetectorManager and helper.
const TRT_IDm_trtid {}
double m_radius [MaxTimeBin] {}
 most probable radius in each bin
double m_errors [MaxTimeBin] {}
 width of radius dist in each bin
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
BooleanProperty m_force_universal_errors {this, "ForceUniversalErrors", false}
 use one universal error
DoubleProperty m_uni_error {this, "UniversalError", 0.136}
 namely this one
std::string m_key = ""
 GeoModel version key.
StringProperty m_trt_mgr_location {this, "TrtDescrManageLocation", "TRT", "Name of TRT detector manager"}
double m_t0_barrel [3] {}
 t0 for the 3 barrel rings
double m_t0_endcap [18] {}
 t0 for the 14(18) endcap wheels
double m_t0_shift
 digiversion dependent t0 shift
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.

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}
static constexpr double s_errors_default[s_size_default]
double m_errors[MaxTimeBin]
width of radius dist in each bin
double m_radius[MaxTimeBin]
most probable radius in each bin
double m_t0_shift
digiversion dependent t0 shift
static const size_t s_size_default
double m_t0_endcap[18]
t0 for the 14(18) endcap wheels
static constexpr double s_radius_default[s_size_default]
DoubleProperty m_uni_error
namely this one
double m_t0_barrel[3]
t0 for the 3 barrel rings

◆ ~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}
static constexpr double s_drifttimeperbin

◆ 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}
virtual bool isValidTime(double drifttime) const override
Returns True for drifttimes between -10 and 75ns.

◆ 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}
#define ATH_MSG_DEBUG(x)
static Double_t t0
ToolHandle< ITRT_CalDbTool > m_TRTCalDbTool
Tool to fetch data from database.
ToolHandle< ITRT_CalDbTool > m_TRTCalDbTool2

◆ 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}
DoubleProperty m_ht_correction_barrel_Ar
DoubleProperty m_ht_correction_endcap_Ar
DoubleProperty m_ht_correction_barrel_Xe
DoubleProperty m_ht_correction_endcap_Xe

◆ 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}
DoubleArrayProperty m_tot_corrections_barrel_Xe
DoubleArrayProperty m_tot_corrections_endcap_Ar
DoubleArrayProperty m_tot_corrections_endcap_Xe
DoubleArrayProperty m_tot_corrections_barrel_Ar

◆ 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}
BooleanProperty m_force_universal_errors
use one universal error

◆ finalize()

StatusCode TRT_DriftFunctionTool::finalize ( )
overridevirtual

Finalize.

Definition at line 121 of file TRT_DriftFunctionTool.cxx.

122{
123 StatusCode sc = AlgTool::finalize();
124 return sc;
125}
static Double_t sc
::StatusCode StatusCode
StatusCode definition for legacy code.

◆ 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
57 StatusCode sc = AthAlgTool::initialize();
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
115
116 return sc;
117}
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_FATAL(x)
#define ATH_MSG_INFO(x)
const ServiceHandle< StoreGateSvc > & detStore() const
std::string m_key
GeoModel version key.
const InDetDD::TRT_DetectorManager * m_manager
DetectorManager and helper.
void setupRtRelation()
Initialise Rt relation.

◆ 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}
time(flags, cells_name, *args, **kw)

◆ 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}
static constexpr double s_radius_Comm[s_size_Comm]
static constexpr double s_errors_Comm[s_size_Comm]
static const size_t s_size_Comm
BooleanProperty m_enable_t0_barrel_shift
enable T0 barrel shift

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.

105 {this, "DummyMode", false,
106 "flag for ignoring drift time info"};

◆ 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.

114{this, "T0BarrelShift", true};

◆ 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.

110 {this, "ErrorFudgeFactor", 1.0,
111 "fudge_factor for error scaling"};

◆ 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.

101{};

◆ 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.

117{this, "ForceUniversalErrors", false};

◆ 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.

132 {this, "HTCorrectionBarrelAr", 0.,
133 "HT correction for Ar straws in barrel"};

◆ 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.

128 {this, "HTCorrectionBarrelXe", 0.,
129 "HT correction for Xe straws in barrel"};

◆ 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.

134 {this, "HTCorrectionEndcapAr", 0.,
135 "HT correction for Ar straws in endcaps"};

◆ 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.

130 {this, "HTCorrectionEndcapXe", 0.,
131 "HT correction for Xe straws in endcaps"};

◆ m_isDataOverlay

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

Definition at line 104 of file TRT_DriftFunctionTool.h.

104{this, "IsDataOverlay", false};

◆ m_isMC

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

Definition at line 103 of file TRT_DriftFunctionTool.h.

103{this, "IsMC", true};

◆ 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.

94{};

◆ m_radius

double TRT_DriftFunctionTool::m_radius[MaxTimeBin] {}
private

most probable radius in each bin

Definition at line 100 of file TRT_DriftFunctionTool.h.

100{};

◆ 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.

124{};

◆ 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.

125{};

◆ 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.

144 {this, "ToTCorrectionsBarrelAr", {},
145 "ToT corrections for 20 ToT bins in Ar barrel straws"};

◆ 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.

138 {this, "ToTCorrectionsBarrelXe", {},
139 "ToT corrections for 20 ToT bins in Xe barrel straws"};

◆ 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.

147 {this, "ToTCorrectionsEndcapAr", {},
148 "ToT corrections for 20 ToT bins in Ar endcap straws"};

◆ 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.

141 {this, "ToTCorrectionsEndcapXe", {},
142 "ToT corrections for 20 ToT bins in Xe endcap straws"};

◆ 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.

122{this, "TrtDescrManageLocation", "TRT", "Name of TRT detector manager"};

◆ 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.

90{this, "TRTCalDbTool", "TRT_CalDbTool"};

◆ m_TRTCalDbTool2

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

Definition at line 91 of file TRT_DriftFunctionTool.h.

91{this, "TRTCalDbTool2", ""};

◆ m_trtid

const TRT_ID* TRT_DriftFunctionTool::m_trtid {}
private

Definition at line 95 of file TRT_DriftFunctionTool.h.

95{};

◆ 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.

118{this, "UniversalError", 0.136};

◆ s_drifttimeperbin

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

Definition at line 97 of file TRT_DriftFunctionTool.h.

◆ s_errors_Comm

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.

167 {
168 0.10440061, 0.1510298, 0.26130742, 0.260436, 0.246961,
169 0.226037, 0.18272 , 0.195482 , 0.213817, 0.157627,
170 0.0922559, 0.0463124, 0.0480864 };

◆ s_errors_default

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.

156 {
157 0.15, 0.15, 0.20, 0.23, 0.21,
158 0.18, 0.17, 0.16, 0.15, 0.15,
159 0.14, 0.13, 0.12, 0.11, 0.11,
160 0.11, 0.13, 0.20, 0.20 };

◆ s_radius_Comm

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.

163 {
164 0. , 0. , 0. , 0.252054, 0.488319,
165 0.751514, 1.00173, 1.21851, 1.40886 , 1.68368 ,
166 1.85363 , 1.91764, 1.94114 };

◆ s_radius_default

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.

151 {
152 0. , 0. , 0.1 , 0.262, 0.466,
153 0.607, 0.796, 0.931, 1.065, 1.212,
154 1.326, 1.466, 1.585, 1.689, 1.809,
155 1.880, 1.940, 1.950, 1.955 };

◆ 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: