StatAnalysis as a potential replacement for hcomb-docker
We have been using hcomb-docker for building images for Higgs Combination purposes. I think it would be great to be able to adopt StatAnalysis for this. From a preliminary look, I see that there is some software that we have in hcomb-docker which is not currently included in StatAnalysis:
- https://gitlab.cern.ch/cburgard/CMSFitExtensions
- https://gitlab.cern.ch/cburgard/RooFitUtils
- https://gitlab.cern.ch/atlas-physics/stat/tools/StatisticsTools
Another thing that has been important in the past is the ability to build custom ROOT versions from branches we control (e.g. to cherry-pick fixes / improvements). We have been using this fork https://gitlab.cern.ch/atlas_higgs_combination/software/hcombroot for this purpose, there is also https://github.com/atlascollaboration/root available. Looking at the setup in this repository, we could probably override
set( ATLAS_ROOT_SOURCE "GIT_REPOSITORY;https://github.com/root-project/root.git"
CACHE STRING "Source for the ROOT build" )
if needed for that purpose. Do you expect any issues with a workflow like that if we would need a custom tag of StatAnalysis built from a fork?
Another thing that might be useful to compare are details regarding the ROOT compilation in comparison to https://gitlab.cern.ch/atlas-amglab/atlstats (cc @feickert), some things had been requested there over time and perhaps they would be similarly useful to StatAnalysis.
The image size might also be a point of interest: StatAnalysis is slightly over 5 GB, the corresponding hcomb-docker images are a bit over 2 GB (largely due to the very nicely built atlstats images, which are very compact). A multi-stage build might help reduce the size for StatAnalysis as well.
We should also add the StatAnalysis images to https://gitlab.cern.ch/unpacked/sync to make them available on CVMFS, which is crucial for using them at scale (see slides).
edit: Users could just run asetup
on the grid instead presumably, so the addition of the images to CVMFS is not as important as it was for hcomb-docker, but nevertheless I think it makes sense to be added.