In situ calibration of the CMS HCAL detector