Cargando…

LHCb: Kali: the Framework for Fine Calibration of LHCb Calorimeter

The fine calibration of the electromagnetic calorimeter of LHCb with real data requires the processing of O(10$^8$) events. They must be selected, reconstructed and analyzed in an iterative procedure to obtain optimal results.The dedicated calibration framework, Kali, within the LHCb software framew...

Descripción completa

Detalles Bibliográficos
Autores principales: Belyaev, I, Graciani, R, Puig, A, Savrina, D
Lenguaje:eng
Publicado: 2010
Acceso en línea:http://cds.cern.ch/record/1302297
Descripción
Sumario:The fine calibration of the electromagnetic calorimeter of LHCb with real data requires the processing of O(10$^8$) events. They must be selected, reconstructed and analyzed in an iterative procedure to obtain optimal results.The dedicated calibration framework, Kali, within the LHCb software framework has been developed to fulfill these tasks. It consists of the two major components: a C++ module for data selection and a Python module for the extraction of calibration coefficients. The data selection component is a Gaudi-based application that allows to achieve a drastical reduction of input data sets by only storing the physically relevant data of the selected events. The obtained reduction is around 10$^3$ . The design of the module integrates well with the standard Grid tools for processing of large input data sets. The tool produces different output data formats: ROOT ntuples and femto-DST. While the ntuple allows various physics-driven algorithms to be used for calibration, namely iterative and global calibration algorithms using neutral pions and electrons, the femto-DST allows to execute the standard LHCb reconstruction algorithm to recalibrate the selected sample in a very efficient manner, achieving a factor 10$^3$-10$^4$ in processing time. The extraction of the calibration coefficients requires a lot of computer power: in the case of the neutral pion, for instance, iterative methods are used which require either the adaptive multi-pass fitting of O(30k) histograms or the minimization of O(3000) data-based functions. To perform such task in a reasonable amount of time it becomes necessary to exploit the power of modern multicore processors using parallel processing of data in Python by using "processing" and "parallel python" modules and their dedicated Gaudi customization GaudiPython.Parallel. GaudiPython also enables the access to underlying C++ classes from LHCb event model and C++ ROOT classes. The design and the structure of Kali framework and its components, with emphasis on the usage of parallel Python facilities will be described.