|
ATLAS Offline Software
|
#include <TRT_DriftFunctionTool.h>
|
| 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...
|
|
|
ToolHandle< ITRT_CalDbTool > | m_TRTCalDbTool {this, "TRTCalDbTool", "TRT_CalDbTool"} |
| Tool to fetch data from database. More...
|
|
ToolHandle< ITRT_CalDbTool > | m_TRTCalDbTool2 {this, "TRTCalDbTool2", ""} |
|
const InDetDD::TRT_DetectorManager * | m_manager {} |
| DetectorManager and helper. More...
|
|
const TRT_ID * | m_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 |
|
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.
◆ ETimeBins
◆ TRT_DriftFunctionTool()
TRT_DriftFunctionTool::TRT_DriftFunctionTool |
( |
const std::string & |
type, |
|
|
const std::string & |
name, |
|
|
const IInterface * |
parent |
|
) |
| |
◆ ~TRT_DriftFunctionTool()
TRT_DriftFunctionTool::~TRT_DriftFunctionTool |
( |
| ) |
|
|
virtualdefault |
◆ approxDriftTime()
double TRT_DriftFunctionTool::approxDriftTime |
( |
double |
driftradius | ) |
const |
|
overridevirtual |
Returns approximate drift time (t0 subtracted)
Definition at line 135 of file TRT_DriftFunctionTool.cxx.
139 if(driftradius<0.100) {
141 }
else if(driftradius<1.99) {
◆ 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.
160 if (drifttimebin-1 > -1)
164 }
else if (drifttimebin+1 < 20) {
◆ 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.
196 bool mcdigit = word & (1
u<<31);
206 double drifttime = rawtime-
t0;
◆ driftTimeHTCorrection()
double TRT_DriftFunctionTool::driftTimeHTCorrection |
( |
Identifier |
id, |
|
|
bool |
isArgonStraw = false |
|
) |
| const |
|
overridevirtual |
◆ 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.
257 if (tot_index < 0) tot_index = 0;
258 if (tot_index > 19) tot_index = 19;
◆ 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.
215 if(
m_dummy)
return 4./std::sqrt(12.);
218 bool foundslope=
true;
220 double slope =
m_TRTCalDbTool->driftSlope(drifttime,
id,foundslope);
221 bool mcdigit = word & (1
u<<31);
227 ATH_MSG_DEBUG (
"Overlay TRTCalDbTool gave slope: "<<slope<<
", found="<<foundslope);
229 ATH_MSG_DEBUG (
"Overlay TRTCalDbTool2 gives slope: "<<slope<<
", found="<<foundslope);
232 if(founderr && foundslope) {
236 else if ((founderr && !foundslope) || (
mu<0)) {
245 int drifttimebin = (
int)drifttimeinbins;
246 float fracbin = drifttimeinbins-drifttimebin;
◆ finalize()
StatusCode TRT_DriftFunctionTool::finalize |
( |
| ) |
|
|
overridevirtual |
◆ initialize()
StatusCode TRT_DriftFunctionTool::initialize |
( |
| ) |
|
|
overridevirtual |
Retrieves needed services
Definition at line 58 of file TRT_DriftFunctionTool.cxx.
66 return StatusCode::FAILURE;
84 if (
sc.isFailure() ) {
91 ATH_MSG_FATAL(
"Length of ToTCorrectionsBarrelXe is not 20." );
95 ATH_MSG_FATAL(
"Length of ToTCorrectionsEndcapXe is not 20." );
99 ATH_MSG_FATAL(
"Length of ToTCorrectionsBarrelAr is not 20." );
103 ATH_MSG_FATAL(
"Length of ToTCorrectionsEndcapAr is not 20." );
109 SmartIF<IGeoModelSvc> geomodel{service(
"GeoModelSvc")};
113 m_key=versionKey.tag();
◆ 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.
◆ setupRtRelation()
void TRT_DriftFunctionTool::setupRtRelation |
( |
| ) |
|
◆ m_allow_digi_version_override
BooleanProperty TRT_DriftFunctionTool::m_allow_digi_version_override {this, "AllowDigiVersionOverride", false} |
|
private |
◆ 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 |
◆ m_force_universal_errors
BooleanProperty TRT_DriftFunctionTool::m_force_universal_errors {this, "ForceUniversalErrors", false} |
|
private |
◆ m_forced_digiversion
IntegerProperty TRT_DriftFunctionTool::m_forced_digiversion {this, "ForcedDigiVersion", 11} |
|
private |
◆ 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 |
◆ m_isoverlay
BooleanProperty TRT_DriftFunctionTool::m_isoverlay {this, "IsOverlay", false} |
|
private |
◆ m_istestbeam
bool TRT_DriftFunctionTool::m_istestbeam = false |
|
private |
◆ m_key
std::string TRT_DriftFunctionTool::m_key = "" |
|
private |
◆ m_manager
◆ m_radius
double TRT_DriftFunctionTool::m_radius[MaxTimeBin] {} |
|
private |
◆ m_t0_barrel
double TRT_DriftFunctionTool::m_t0_barrel[3] {} |
|
private |
◆ m_t0_endcap
double TRT_DriftFunctionTool::m_t0_endcap[18] {} |
|
private |
◆ m_t0_shift
double TRT_DriftFunctionTool::m_t0_shift |
|
private |
◆ 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 |
◆ m_TRTCalDbTool
◆ m_TRTCalDbTool2
ToolHandle< ITRT_CalDbTool > TRT_DriftFunctionTool::m_TRTCalDbTool2 {this, "TRTCalDbTool2", ""} |
|
private |
◆ m_trtid
◆ m_uni_error
DoubleProperty TRT_DriftFunctionTool::m_uni_error {this, "UniversalError", 0.136} |
|
private |
◆ s_drifttimeperbin
constexpr double TRT_DriftFunctionTool::s_drifttimeperbin = 3.125 * CLHEP::ns |
|
staticconstexprprivate |
◆ 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 |
◆ s_size_default
const size_t TRT_DriftFunctionTool::s_size_default = 19 |
|
staticprivate |
The documentation for this class was generated from the following files:
def finalize(self)
_info( "content of StoreGate..." ) self.sg.dump()
std::vector< ALFA_RawData_p1 > t0
@ u
Enums for curvilinear frames.
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
TRT_Numerology * getNumerology()
Access Numerological information:---------------------------------------—.
::StatusCode StatusCode
StatusCode definition for legacy code.
This is a helper class to query the version tags from GeoModelSvc and determine the appropriate tag a...
unsigned int getNBarrelPhi() const
int barrel_ec(const Identifier &id) const
Values of different levels (failure returns 0)
const std::string & digitizationVersionName() const
def time(flags, cells_name, *args, **kw)
#define ATH_MSG_WARNING(x)
unsigned int digitizationVersion() const
Get and set information about digitization version ---------------------—.