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
MdtCalibrationDbTool: The tool handles the 3 different conditions objects associated needed for the Mdt calibration. The
MdtTubeCalibContainerCollectionobjects are merged into the
MdtCalibDataContainermaking the tool obsolete. The tool is removed from the code-base
MdtCalibrationTool: Introduce the abstract interface class,
IMdtCalibrationToolwhich 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;
MdtCalibOutput classes are the long-term replacements of 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.
MdtCalibrationRegionSvcmain functionallity is intergrated into the
MdtCalibDataContainer. 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.
The rest of the changes are basically adaptions of the clients.
The changes have been validated on the
DRAW_ZMUMU stream of