MdtCalibration - Initial clean up of the calibration tools
Hi everybody,
this is the first series of the MdtCalibrationSvc
clean-up campaign. The main object of this MR is the simplification of the interface of the MdtCalibrationTool
-
MdtCalibrationDbTool
: The tool handles the 3 different conditions objects associated needed for the Mdt calibration. TheMdtCorrFuncSetCollection
,MdtRtRelationCollection
,MdtTubeCalibContainerCollection
objects are merged into theMdtCalibDataContainer
making the tool obsolete. The tool is removed from the code-base -
MdtCalibrationTool
: Introduce the abstract interface class,IMdtCalibrationTool
which is retrieved by all ToolHandle clients downstream. The current interface allows for an external overwrite of the calibration settings by parsing an extra object. But, we are living in the times of private tools now and there's no need for parsing around external settings. The interface is now boiled down to a single main function
virtual MdtCalibOutput calibrate(const EventContext& ctx,
const MdtCalibInput& hit,
bool resolFromRtrack=false) const = 0;
The MdtCalibInput
and MdtCalibOutput
classes are the long-term replacements of the MdtCalibHit
. The MdtCalibInput
class ships all information neccessary for the calibration to the tool. Constructors taking the legacy & new readout geometry are provided for the majority of the usecases. The remaining one will be added in a follow-up MR. The MdtCalibOutput
is nothing else than a cache to parse the final drift times and radii together with a break-down of the individual time correction components.
-
MdtCalibrationRegionSvc
main functionallity is intergrated into theMdtCalibDataContainer
. The service is hence removed.
MdtCalibSvc: Remove all headers from the shared library.
MuonCalibPatRec, MdtCalibIOSvc: To me it's unclear where the pacakges are currently used. I am afraid that they're convoluted somehow with the MdtCalibFramework project. Remove them from the Athena
build for now and then clean them up at a later stage once we have figured out what to do with it.
-
MdtDriftCircleOnTrack
: Remove the sagged surface data member - Btw. the transform() of the sagged surface returns a global -> local transformation instead of a local to global one - Consistent use of double floating point precision and the Eigen library. -
MdtRdoToPrepData
: Streamline the conversion of the RDOs -> MdtDriftCirlce. Introduce filter to remove electronics noise hits having an adc value below 50. Tagging: @diehl, @zyan, @mvanadia, @nicolaid
The rest of the changes are basically adaptions of the clients.
The changes have been validated on the DRAW_ZMUMU
stream of 451735
Targets: ATLASMCP-193