Skip to content

Fix bunch intensity values in LHCBunchCrossingTool

Edoardo Rossi requested to merge edrossi/athena:21.0 into 21.0

I am using LHCBunchCrossingTool to retrieve the bunch intensities. However, the values I get for Run-2 are wrong.

Basically, the bunch intensities used to be saved in units relative to the average intensity, and the code is multiplying these values to get the absolute values. From Run-2 (or even earlier), the format of the data has changed and the intensities are saved directly in their real units. This is not implemented in LHCBunchCrossingTool and the absolute values are multiplied by the average bunch intensity, hence giving a wrong output.

To fix this, I checked how it is done in the the following, more updated, code:

https://gitlab.cern.ch/atlas/athena/-/blob/21.0/Database/CoolLumiUtilities/python/LumiBlobConversion.py#L184

In this code, if the quantity 'bss' (defined at line 223) has value 4 or more, the multiplication by the average bunch intensity is not performed. For Run-2, this quantity has value 4. In the commit I replicated this behaviour in LHCBunchCrossingTool, where the quantity 'bss' is actually called 'x'.

Edited by Edoardo Rossi

Merge request reports