CHEP 2018


Automation and Testing for Simplified Software Deployment

  • Speakers: Andre Sailer, Marko Petric
  • Status: accepted as poster
  • Abstract: Creating software releases is one of the more tedious occupations in the life of a software developer. For this purpose we have tried to automate as many of the repetitive tasks involved from getting the commits to running the software as possible. For this simplification we rely in large parts on free collaborative services build around GitHub: issue tracking, code review (GitHub), continuous integration (Travis-CI), static code analysis (coverity). The dependencies and compilers used in the continuous integration are obtained via CVMFS used inside docker. This allows one to run any desired compiler version (e.g., gcc 6.2 , llvm 3.9) or tool (e.g, clang-format, pylint). To create tags for the software package the powerful GitHub API is used. A script was developed that first collates the release notes from the description of each pull request, commits the release notes file, and finally makes a tag. This moves the burden of writing release notes to the individual developer and away from the package maintainer. The deployment of software releases to CVMFS is handled via GitLab-CI. When a tag is made the software is built and automatically deployed. In this presentation we will describe the software infrastructure used for the iLCSoft and iLCDirac projects, which are used by CLICdp and the ILC detector collaborations, and give many examples of automation which might be useful for other collaborations as well.
  • Poster
  • Highlights

Conditions and Alignment extensions to the DD4hep Detector Description Toolkit

  • Speakers Markus Frank, Frank-Dieter Gaede, Marko Petric, Andre Sailer
  • Status: accepted as oral presentation
  • Abstract: The detector description is an essential component to analyse data resulting from particle collisions in high energy physics experiments. The interpretation of these data from particle collisions typically require more long-living data which describe in detail the state of the experiment itself. Such accompanying data include alignment parameters, the electronics calibration and their organization, the environmental parameters needed for the data processing, etc. We present a mechanism to manage the data in simultaneously multiple versions depending on their validity. The detector conditions data are made available to the physics algorithms through a number of transient objects grouped to collections. Such a collection represents a coherent slice of all conditions data necessary to process one or a several event depending of the valid interval of the slice being the intersection of the individual conditions. A multi-threaded application may hold several such collections in parallel depending on the time-stamps of the events currently processed. Once prepared, these collections are read-only and can easily be shared between threads with minimal requirements for locking and hence minimal overhead. We deliberately restrained ourselves from providing a persistent data solution, which in the past were fields of expertise of the experiments, but rather provided the necessary hooks to populate We will present the use-cases that have driven the development, the main design choices and details of the implementation. Finally we describe how it is customized to provide specific needs of an experiment.
  • Slides

New Developments in DD4hep

  • Speakers: Marko Petric, Markus Frank, Frank-Dieter Gaede, Andre Sailer
  • Status: accepted as poster
  • Abstract: For a successful experiment, it is of utmost importance to provide a consistent detector description originating from a single source of information. This is also the main motivation behind DD4hep, which addresses detector description in a broad sense including the geometry and the materials used in the device, and additionally parameters describing, e.g., the detection techniques, constants required for alignment and calibration, description of the readout structures and conditions data. An integral part of DD4hep is DDG4 which is a powerful tool that converts arbitrary DD4hep detector geometries to Geant4 and gives also access to all Geant4 action stages. It is equipped with a comprehensive plugins suite that includes handling of different IO formats; Monte Carlo truth linking and a large set of segmentation and sensitive detector classes, allowing the simulation of a wide variety of detector technologies. In this presentation, we will showcase recent developments in DD4hep/DDG4 like the addition of a ROOT based persistency mechanism for the detector description and the development of framework support for DDG4. Through this mechanism an experimentís data processing framework can exhibit its essential tools to all DDG4 actions. This allows for the easy integration of DD4hep in existing frameworks like Gaudi.
  • Poster

Topic attachments
I Attachment History Action Size Date Who Comment
PDFpdf DD4hep-CHEP2018.pdf r1 manage 4410.8 K 2018-07-13 - 15:05 EvaSicking  
PDFpdf Highlights-530_automation.pdf r1 manage 55.7 K 2018-07-13 - 15:05 EvaSicking  
PDFpdf Poster-420-DD4hep.pdf r1 manage 2714.6 K 2018-07-05 - 04:59 EvaSicking  
PDFpdf Poster_530_automation.pdf r1 manage 487.2 K 2018-07-13 - 15:05 EvaSicking  
Edit | Attach | Watch | Print version | History: r4 < r3 < r2 < r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r4 - 2018-07-13 - EvaSicking
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    CLIC All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright &© 2008-2023 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback