FCCAnalyses Status

March 2023

Juraj Smieško

CERN

29 March 2023

Analysis @ FCC

The physics analyses at FCC are spread through two repositories and a storage space:

  • FCCAnalyses
    • General analysis code in analyzers
    • (Proto)package machinery for case studies
    • Steering of the analysis (RDataFrame)
    • Access to the (meta)data
    • Running over large datasets / on batch
  • FCCeePhysicsPerformance
    • Main place for the abstracts
    • Contains very specific analysis code
    • (Proto)package repository
  • Storage space on EOS /eos/experiment/fcc

Building of FCCAnalyses

  • FCCAnalyses is a package in the Key4hep stack
  • Advanced users can work directly on their forks
    • Allows to keep the analysis ''cutting edge''
    • Requires discipline
  • Added helper sub-command: fccanalysis build

  • Current distribution mechanisms:
    • Using released version in Key4hep stack
    • Separate git repository + stable Key4hep stack
    • Separate git repository + nightlies stack

Key4hep stack pin

  • FCCAnalyses is developed on top of Key4hep stack
  • Sometimes depends on specific version of the package
  • Added helper sub-command: fccanalysis pin

  • Will pin the analysis to a specific version of the Key4hep stack
    • There is no patch mechanism in the Key4hep stack

FCCAnalyses batch submissions

  • FCCAnalyses allows users to submit their jobs onto lxplus condor
  • Routing on batch machine not clear: --batch not enough
  • Framework creates two files
    • Shell script with fccanalysis comamand
    • Condor configuration file
  • There is also possibility to add user provided
    • To be tested: How duplicates are handled
    • What about possibility to completely replace the config file?
  • Condor environment now isolated from machine where the submission was done

Sub-command routing

  • There are three ways to run the analysis
    • fccanalysis run my_analysis.py
    • python config/FCCAnalysesRun.py my_analysis.py
      • Can this way be dropped?
    • python my_analysis.py
  • Removed reliance on try/catch for sub-command routing

Code formatting

  • Currently, there is wide range of styles used
  • End goal: Make the analyzers better organized
    • They are building blocks of the analysis
  • Created CI to check every commit

  • LLVM Style selected based on popularity
  • Only changed lines are checked

Updated vertexing

  • Vertexing done with the help of code from Franco B.
  • Introduces dependency on Delphes
  • Introduces new analyzers: SmearedTracksdNdx, SmearedTracksTOF
  • Simplifies Delphes–EDM4hep unit gymnastic
  • Adds examples for Bs to Ds K

Selected other updates

  • Smearing objects utilities
  • Clement's Zenodo reference
  • Update to newest ACTS version
  • 2D/3D histograms
  • Fixed eos path rewriting
  • ONNX Multithreading fix