ATLAS Offline Software
|
#include <MdtCalibrationTool.h>
Public Member Functions | |
MdtCalibrationTool (const std::string &type, const std::string &name, const IInterface *parent) | |
constructor More... | |
virtual | ~MdtCalibrationTool ()=default |
destructor More... | |
virtual StatusCode | initialize () override final |
initialization More... | |
virtual MdtCalibOutput | calibrate (const EventContext &ctx, const MdtCalibInput &hit, bool resolFromRtrack=false) const override final |
Convert the raw MDT time (+charge) into a drift radius + error. More... | |
virtual MdtCalibTwinOutput | calibrateTwinTubes (const EventContext &ctx, MdtCalibInput &&hit, MdtCalibInput &&twinHit) const override final |
Convert the raw MDT times of two twin hits into a Twin position (coordinate along tube) It returns whether the conversion was successful. More... | |
virtual double | getResolutionFromRt (const EventContext &ctx, const Identifier &module, const double time) const override final |
virtual ToolSettings | getSettings () const override final |
virtual const MuonCalib::MdtFullCalibData * | getCalibConstants (const EventContext &ctx, const Identifier &channelId) const override final |
Private Member Functions | |
Muon::MdtDriftCircleStatus | driftTimeStatus (double driftTime, const MuonCalib::MdtRtRelation &rtRelation) const |
Private Attributes | |
Gaudi::Property< int > | m_windowSetting {this, "TimeWindowSetting", timeWindowMode::Default} |
Gaudi::Property< double > | m_timeWindowLowerBound {this, "TimeWindowLowerBound", 0.} |
Gaudi::Property< double > | m_timeWindowUpperBound {this, "TimeWindowUpperBound", 0.} |
Gaudi::Property< bool > | m_doTof {this, "DoTofCorrection", true} |
Gaudi::Property< bool > | m_doProp {this, "DoPropagationCorrection", true} |
Gaudi::Property< bool > | m_doTemp {this, "DoTemperatureCorrection", false} |
Gaudi::Property< bool > | m_doField {this,"DoMagneticFieldCorrection", false} |
Gaudi::Property< bool > | m_doSlew {this, "DoSlewingCorrection", false} |
Gaudi::Property< bool > | m_doBkg {this, "DoBackgroundCorrection", false} |
Gaudi::Property< bool > | m_doPropUncert {this, "DoPropagationTimeUncert", false} |
ToolHandle< MuonCalib::IShiftMapTools > | m_t0ShiftTool {this, "T0ShiftTool", ""} |
ToolHandle< MuonCalib::IShiftMapTools > | m_tMaxShiftTool {this, "TShiftMaxTool", ""} |
Gaudi::Property< bool > | m_doT0Shift {this, "DoT0Shift", false} |
Gaudi::Property< bool > | m_doTMaxShift {this, "DoTMaxShift", false} |
Gaudi::Property< double > | m_unphysicalHitRadiusUpperBound {this, "UpperBoundHitRadius", 20.} |
Gaudi::Property< double > | m_unphysicalHitRadiusLowerBound {this, "LowerBoundHitRadius" , 0.} |
Gaudi::Property< double > | m_resTwin {this, "ResolutionTwinTube" , 1.05, "Twin tube resolution"} |
SG::ReadCondHandleKey< MuonCalib::MdtCalibDataContainer > | m_calibDbKey |
SG::ReadCondHandleKey< AtlasFieldCacheCondObj > | m_fieldCacheCondObjInputKey |
ServiceHandle< Muon::IMuonIdHelperSvc > | m_idHelperSvc {this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"} |
the Mdt Calib Service provides, on request, the drift radius and its error, computed applying the proper calibration, for any hit in Mdt chambers
Definition at line 35 of file MdtCalibrationTool.h.
Definition at line 39 of file MdtCalibrationTool.h.
Definition at line 40 of file MdtCalibrationTool.h.
Definition at line 41 of file MdtCalibrationTool.h.
MdtCalibrationTool::MdtCalibrationTool | ( | const std::string & | type, |
const std::string & | name, | ||
const IInterface * | parent | ||
) |
constructor
Definition at line 33 of file MdtCalibrationTool.cxx.
|
virtualdefault |
destructor
|
finaloverridevirtual |
Convert the raw MDT time (+charge) into a drift radius + error.
It returns whether the conversion was successful.
[in,out] | hit | Hit must have pointer set to the MdtDigit, as well as the global hit position (including the position along the tube!) |
[in] | signedTracklength | the track length from the 'triggerpoint' to the hit. It is used for the time-of-flight correction. This triggerpoint is the I.P. for ATLAS p-p collisions, typically scintillators in test-beam and cosmic teststands, and not clear yet what is it is for cosmics in ATLAS. The sign is for determining the sign of the time-of-flight correction. If a muon first passes the triggerpoint, and then the MDT tube, the sign should be positive (the case for ATLAS p-p and H8 test-beam). If a muon first passes the MDT tube, and then de triggerpoint, the sign should be negative (typically the case for cosmic-ray teststands). |
[in] | triggerTime | the time of the 'triggerpoint' in ns. This is the time (measured with the same clock as the MDT TDC's) when the muon passed a known point in space: the 'triggerpoint'. For ATLAS this is 0.0 since the TDC's are synchonised w.r.t. the bunch-crossings. For H8 test-beam it is the trigger time, which is time when the muon passed the trigger scintillators. For cosmic-ray teststands it is usually also the time when the muon passed the trigger scintillators. For cosmics in ATLAS it is not clear yet. |
[in] | resolFromRtrack | indicates the method to provide the resolution as a function of the distance of the reconstructed track from the anode wire instead of the drift radius |
Retrieve the constants for the specific tube
calculate drift time
slewing corrections
now check whether we are outside the time window
Definition at line 107 of file MdtCalibrationTool.cxx.
|
finaloverridevirtual |
Convert the raw MDT times of two twin hits into a Twin position (coordinate along tube) It returns whether the conversion was successful.
The primary hit has a smaller tdc...
Propagation time difference inside the primary tube
HVPropTime - ROPropTime = invPropSpeed*(twinZ - HVPos) - (ROPos - twinZ) = 2*invPropSpeed*twinZ - (HVPos + ROPos)
Definition at line 288 of file MdtCalibrationTool.cxx.
|
private |
Definition at line 350 of file MdtCalibrationTool.cxx.
|
finaloverridevirtual |
Definition at line 99 of file MdtCalibrationTool.cxx.
|
finaloverridevirtual |
Definition at line 370 of file MdtCalibrationTool.cxx.
|
finaloverridevirtual |
Definition at line 36 of file MdtCalibrationTool.cxx.
|
finaloverridevirtual |
initialization
Ensure that the conditions dependency is properly declared
Shifting tools to evaluate systematic uncertainties on the T0 timing
Definition at line 48 of file MdtCalibrationTool.cxx.
|
private |
Definition at line 127 of file MdtCalibrationTool.h.
|
private |
Definition at line 111 of file MdtCalibrationTool.h.
|
private |
Definition at line 109 of file MdtCalibrationTool.h.
|
private |
Definition at line 107 of file MdtCalibrationTool.h.
|
private |
Definition at line 112 of file MdtCalibrationTool.h.
|
private |
Definition at line 110 of file MdtCalibrationTool.h.
|
private |
Definition at line 119 of file MdtCalibrationTool.h.
|
private |
Definition at line 108 of file MdtCalibrationTool.h.
|
private |
Definition at line 120 of file MdtCalibrationTool.h.
|
private |
Definition at line 106 of file MdtCalibrationTool.h.
|
private |
Definition at line 134 of file MdtCalibrationTool.h.
|
private |
Definition at line 136 of file MdtCalibrationTool.h.
|
private |
Definition at line 124 of file MdtCalibrationTool.h.
|
private |
Definition at line 114 of file MdtCalibrationTool.h.
|
private |
Definition at line 104 of file MdtCalibrationTool.h.
|
private |
Definition at line 105 of file MdtCalibrationTool.h.
|
private |
Definition at line 116 of file MdtCalibrationTool.h.
|
private |
Definition at line 123 of file MdtCalibrationTool.h.
|
private |
Definition at line 122 of file MdtCalibrationTool.h.
|
private |
Definition at line 103 of file MdtCalibrationTool.h.