CAT paper
Try answering the following questions with up to 3 pages.
-
What is the scope of the tool?
- Measurements of processes with asymptotic statistics
- Differential observables with full description of correlations
-
What is the origin of the tool?
- Jet differential measurements
-
What are the technically or conceptually innovative features of this tool?
- Physics from the shell
- Friends
- Reproducibility
- Modularity
- Optimise debugging time rather than running time
- Storage of systematic in objects
- Prefix commands
- campaigns = specific studies in the course of an analysis
-
Can you describe the typical workflow from the input data tier to the final results?
- Assuming that all corrections have been implemented and that only the analysis has to be run:
- Run n-tupliser (most likely via CRAB)
- Write a scenario in shell and run it locally with a HTCondor DAG
- Unfold / fit the data
- Save the metadata somewhere
- Assuming that one is starting a new analysis (e.g. existing correction but new data, or vice-versa)
- Identify existing and missing steps
- Debug existing steps
- Implement missing steps
- Assuming that all corrections have been implemented and that only the analysis has to be run:
-
How do you handle metadata (e.g. cross sections, systematic variations, recipes)?
- We store the information in the
TList*
retrievable withTTree::GetUserInfo()
- Update it step by step in the course of the analysis.
- Metadata are convertible to a config file in standard format that can be used to reproduce the same analysis.
- We store the information in the
-
Can you describe, possibly using example code fences, how the user expresses an analysis?
- Pick a jet campaign (we can refer to CMS-NOTE-2024/1)
- Make a minimal Drell-Yan analysis (this would illustrate that the unfolding is generic)
-
Do you have any interfaces with other tools that are worth noting?
- TUnfold (even if it's part of ROOT)
- libgit / Git
- Boost (worth mentioning?)
- correctionlib
- HTCondor
- combine \tomay not yet be the case, but we should check how easy it is to adapt it?
-
How/where is the code maintained and documented?
- CAT GitLab for CMS-related stuff
- Independent GitLab repo for general functionalities (Darwin)
- Doxygen
- campaigns
-
Can you point to existing analyses performed with this tool?
- SMP-20-011
- SMP-21-006
- SMP-21-008 (partly)
- SMP-22-005
- plus other ongoing analyses
-
Can you outline the future prospects?
- Include more objects (at least electrons and MET -- tauons only on very long term)
- Metadata merging
- Python bindings
- Metadata in PDF