cmssw
cmssw copied to clipboard
Add new dEdx calibration and estimator
PR description:
This PR adds a new dEdx estimator meant for the 2024 PbPb UPC reco. It includes the following changes on top of "Run3_UPC" era:
- Add a uint8 variable in DeDxHitInfo to store the hit selections that would otherwise require access to hit cluster and track trajectory information to derive (not present in AOD). And adapted the DeDxHitInfoProducer to store the selections.
- Add a float variable in DeDxHit to store the error on the charge deposited used by the new LikelihoodFit dEdx estimator.
- New dEdx hit calibrator module that receives a collection of DeDxHitInfo, loops and correct hits using the DeDxCalibration conditions and store the output in a DeDxHit association vector.
- New dEdx estimator based on a likelihood fit using the path length, deposit charge and charge error of hits.
- Adapted the DeDxEstimatorProducer to read DeDxHit association vectors and use the LikelihoodFit dEdx estimator.
More details on the changes and validations done are documented in the slides
The code was adapted from Ferenc Sikler's dEdx framework and results. The details are also documented in the CADI HIN-12-016.
This PR requires https://github.com/cms-sw/cmssw/pull/45024
@mandrenguyen @sikler
PR validation:
Tested workflows 180, 180.1, 181 and 181.1 with the dedxCalibration.db file using:
runTheMatrix.py -l 180,180.1,181,181.1 --command '--customise_commands "process.GlobalTag.toGet.extend([cms.PSet(record = cms.string("DeDxCalibrationRcd"), tag = cms.string("dedxCalibration"), connect = cms.string("sqlite_file:../dedxCalibration.db"))])"'