![]() |
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, const MdtCalibInput &hit, const 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 |
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_doWireSag {this, "DoWireSagCorrection", false} |
Gaudi::Property< bool > | m_doSlew {this, "DoSlewingCorrection", false} |
Gaudi::Property< bool > | m_doBkg {this, "DoBackgroundCorrection", 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 |
Get the calibration constatns from the conditions store
Retrieve the constants for the specific tube
calculate drift time
slewing corrections
Wire sag corrections
Retrieve the center of the sagged surface in global coordinates
Calculate the sagging as the difference of the point of closest approach to the sagged center surface
now check whether we are outside the time window
Definition at line 102 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.
Get the calibration constatns from the conditions store
Put twin hit always inside acceptance
Definition at line 297 of file MdtCalibrationTool.cxx.
|
private |
Definition at line 423 of file MdtCalibrationTool.cxx.
|
finaloverridevirtual |
Definition at line 443 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 49 of file MdtCalibrationTool.cxx.
|
private |
Definition at line 123 of file MdtCalibrationTool.h.
|
private |
Definition at line 107 of file MdtCalibrationTool.h.
|
private |
Definition at line 104 of file MdtCalibrationTool.h.
|
private |
Definition at line 102 of file MdtCalibrationTool.h.
|
private |
Definition at line 106 of file MdtCalibrationTool.h.
|
private |
Definition at line 115 of file MdtCalibrationTool.h.
|
private |
Definition at line 103 of file MdtCalibrationTool.h.
|
private |
Definition at line 116 of file MdtCalibrationTool.h.
|
private |
Definition at line 101 of file MdtCalibrationTool.h.
|
private |
Definition at line 105 of file MdtCalibrationTool.h.
|
private |
Definition at line 130 of file MdtCalibrationTool.h.
|
private |
Definition at line 132 of file MdtCalibrationTool.h.
|
private |
Definition at line 120 of file MdtCalibrationTool.h.
|
private |
Definition at line 110 of file MdtCalibrationTool.h.
|
private |
Definition at line 99 of file MdtCalibrationTool.h.
|
private |
Definition at line 100 of file MdtCalibrationTool.h.
|
private |
Definition at line 112 of file MdtCalibrationTool.h.
|
private |
Definition at line 119 of file MdtCalibrationTool.h.
|
private |
Definition at line 118 of file MdtCalibrationTool.h.
|
private |
Definition at line 98 of file MdtCalibrationTool.h.