With the steady increase in the precision of flavour physics measurements collected during LHC Run 2, the LHCb experiment requires simulated data samples of larger and larger sizes to study the ...detector response in detail. The simulation of the detector response is the main contribution to the time needed to simulate full events. This time scales linearly with the particle multiplicity. Of the dozens of particles present in the simulation only the few participating in the signal decay under study are of interest, while all remaining particles mainly affect the resolutions and efficiencies of the detector. This paper presents a novel development for the LHCb simulation software which re-uses the rest of the event from previously simulated events. This approach achieves an order of magnitude increase in speed and the same quality compared to the nominal simulation.
The LHCb simulation application, Gauss, is based on the Gaudi framework and on experiment basic components such as the Event Model and Detector Description. Gauss also depends on external libraries ...for the generation of the primary events (PYTHIA 6, EvtGen, etc.) and on GEANT4 for particle transport in the experimental setup. The application supports the production of different types of events from minimum bias to B physics signals and particle guns. It is used for purely generator-level studies as well as full simulations. Gauss is used both directly by users and in massive central productions on the grid. The design and implementation of the application and its evolution due to evolving requirements will be described as in the case of the recently adopted Python-based configuration or the possibility of taking into account detectors conditions via a Simulation Conditions database. The challenge of supporting at the same time the flexibililty needed for the different tasks for which it is used, from evaluation of physics reach to background modeling, together with the stability and reliabilty of the code will also be described.
Upgrades to the LHCb computing infrastructure in the first long shutdown of the LHC have allowed for high quality decay information to be calculated by the software trigger making a separate offline ...event reconstruction unnecessary. Furthermore, the storage space of the triggered candidate is an order of magnitude smaller than the entire raw event that would otherwise need to be persisted. Tesla is an application designed to process the information calculated by the trigger, with the resulting output used to directly perform physics measurements.
A New Nightly Build System for LHCb Clemencic, M; Couturier, B
Journal of physics. Conference series,
01/2014, Letnik:
513, Številka:
5
Journal Article
Recenzirano
Odprti dostop
The nightly build system used so far by LHCb has been implemented as an extension of the system developed by CERN PH/SFT group (as presented at CHEP2010). Although this version has been working for ...many years, it has several limitations in terms of extensibility, management and ease of use, so that it was decided to develop a new version based on a continuous integration system. In this paper we describe a new implementation of the LHCb Nightly Build System based on the open source continuous integration system Jenkins and report on the experience of configuring a complex build workflow in Jenkins.
Gaudi Evolution for Future Challenges Clemencic, M; Hegner, B; Leggett, C
Journal of physics. Conference series,
10/2017, Letnik:
898, Številka:
4
Journal Article
Recenzirano
Odprti dostop
The LHCb Software Framework Gaudi was initially designed and developed almost twenty years ago, when computing was very different from today. It has also been used by a variety of other experiments, ...including ATLAS, Daya Bay, GLAST, HARP, LZ, and MINERVA. Although it has been always actively developed all these years, stability and backward compatibility have been favoured, reducing the possibilities of adopting new techniques, like multithreaded processing. R&D efforts like GaudiHive have however shown its potential to cope with the new challenges. In view of the LHC second Long Shutdown approaching and to prepare for the computing challenges for the Upgrade of the collider and the detectors, now is a perfect moment to review the design of Gaudi and plan future developments of the project. To do this LHCb, ATLAS and the Future Circular Collider community joined efforts to bring Gaudi forward and prepare it for the upcoming needs of the experiments. We present here how Gaudi will evolve in the next years and the long term development plans.
LHCb migration from Subversion to Git Clemencic, M; Couturier, B; Closier, J ...
Journal of physics. Conference series,
10/2017, Letnik:
898, Številka:
7
Journal Article
Recenzirano
Odprti dostop
Due to user demand and to support new development workflows based on code review and multiple development streams, LHCb decided to port the source code management from Subversion to Git, using the ...CERN GitLab hosting service. Although tools exist for this kind of migration, LHCb specificities and development models required careful planning of the migration, development of migration tools, changes to the development model, and redefinition of the release procedures. Moreover we had to support a hybrid situation with some software projects hosted in Git and others still in Subversion, or even branches of one projects hosted in different systems. We present the way we addressed the special LHCb requirements, the technical details of migrating large non standard Subversion repositories, and how we managed to smoothly migrate the software projects following the schedule of each project manager.
LHCb Dockerized Build Environment Clemencic, M; Belin, M; Closier, J ...
Journal of physics. Conference series,
10/2017, Letnik:
898, Številka:
5
Journal Article
Recenzirano
Odprti dostop
Used as lightweight virtual machines or as enhanced chroot environments, Linux containers, and in particular the Docker abstraction over them, are more and more popular in the virtualization ...communities. The LHCb Core Software team decided to investigate how to use Docker containers to provide stable and reliable build environments for the different supported platforms, including the obsolete ones which cannot be installed on modern hardware, to be used in integration builds, releases and by any developer. We present here the techniques and procedures set up to define and maintain the Docker images and how these images can be used to develop on modern Linux distributions for platforms otherwise not accessible.
The LHCb Software Framework Gaudi is a C++ software framework for HEP applications used by several experiments. Although Gaudi is extremely flexible and extensible, its adoption is limited by the ...lack of certain components that are fundamental for the software framework of an experiment, in particular a detector description framework, whose implementation is delegated to the adopters. To enable future experiments to quickly adopt Gaudi, we integrated the DD4hep toolkit in the existing software framework, and, as a proof of concept, we used it with the LHCb software applications, from simulation to reconstruction and analysis. We will describe how the DD4hep toolkit can be used by a new experiment, as well as how we can migrate an existing detector description framework to the new toolkit.
After the successful run 1 of the LHC, the LHCb Core software team has taken advantage of the long shutdown to consolidate and improve its build and deployment infrastructure. Several of the related ...projects have already been presented like the build system using Jenkins, as well as the LHCb Performance and Regression testing infrastructure. Some components are completely new, like the Software Configuration Database (using the Graph DB Neo4j), or the new packaging installation using RPM packages. Furthermore all those parts are integrated to allow easier and quicker releases of the LHCb Software stack, therefore reducing the risk of operational errors. Integration and Regression tests are also now easier to implement, allowing to improve further the software checks.
The new LHCb nightly build system described at CHEP 2013 was limited by the use of JSON files for its configuration. JSON had been chosen as a temporary solution to maintain backward compatibility ...towards the old XML format by means of a translation function. Modern languages like Python leverage on meta-programming techniques to enable the development of Domain Specific Languages (DSLs). In this contribution we will present the advantages of such techniques and how they have been used to implement a DSL that can be used to both describe the configuration of the LHCb Nightly Builds and actually operate them.