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
Analysis @ FCC
Supporting repositories:
Supporting data:
Event processing
-
The analysis is build around
RootDataFrame
-
It imagines the analysis as a series of transformations with
functions/clojures on the data columns.
-
If one writes in this fashion, the multi threading is for "free"
-
Over the years a lot of analyzers have been written
-
Analyzers are usually structs with dependencies like: ROOT,
EDM4hep, podio, FastJet, DD4hep, ACTS, ONNX
Analysis steering
-
The analysis is divided into three steps: stage1,
stage2, final
-
The stages are objects which are loaded into "main" function with
the help of getattr()
-
The first stage reads the data in EDM4hep format
-
Running on batch is done by running on-the-fly generated shell
script in subprocess
Proto packages
Example analysis is split into several locations:
- Analysis stages are in examples in FCCAnalyses
- Abstract and Results in case-studies in FCCeePhysicsPerformance
- Benchmarks are in tests in FCCAnalyses
- Documentation in case-studies in FCCeePhysicsPerformance
Case studies machinery allows to create (semi)independent analysis,
with or without independent dependencies managed from top