Skip to content

Version v02-09-MC

Info

Last update: July 2024

Operating system

Reference distribution is Alma Linux 9 (tested on AlmaLinux release 9.4).

If not specified the user executing all the commands is almalinux.

sudo yum -y install epel-release wget yum-utils
sudo yum-config-manager --set-enabled appstream crb extras plus
sudo yum -y install cmake make autoconf automake m4 libtool pkgconf perl patch tar gzip unzip bzip2 bzip2-devel xz xz-devel gnupg2 git patchelf llvm-devel gcc-c++ gcc-gfortran python3-devel bison flex curl diffutils findutils hostname iproute python3-pip python3-setuptools texlive-epstopdf-pkg

Storage requirements

In order to build a complete cache at least 30Gb of disk space are required

Workspace setup

For spack installation refer to the guide

export SPACK_INSTALL_DIR=${HOME}/Software
cd ${SPACK_INSTALL_DIR} 
git clone -c feature.manyFiles=true https://github.com/spack/spack.git 
cd spack 
git checkout develop-2024-06-23 
source share/spack/setup-env.sh 
echo "export SPACK_INSTALL_DIR=${SPACK_INSTALL_DIR}" >> ${HOME}/.bashrc
echo 'source ${SPACK_INSTALL_DIR}/spack/share/spack/setup-env.sh' >> ${HOME}/.bashrc

Bootstrap the system

spack spec clingo
spack compilers

Install Key4HEP and MuonCollider spack extensions

cd ${SPACK_INSTALL_DIR}
git clone https://github.com/key4hep/key4hep-spack.git
cd ${SPACK_INSTALL_DIR}/key4hep-spack
git checkout dc0b2bc4aaad8f3ef5f3c7f62ff5b0277a554eee
cd ${SPACK_INSTALL_DIR}
git clone https://github.com/MuonColliderSoft/mucoll-spack.git
cd ${SPACK_INSTALL_DIR}/mucoll-spack
git checkout v2.9
spack repo add ${SPACK_INSTALL_DIR}/key4hep-spack 
spack repo add ${SPACK_INSTALL_DIR}/mucoll-spack
In order to reduce the compilation time it is possible to make use of a cache available via CVMFS. That can be achieved creating the file $HOME/.spack/upstreams.yaml with the definitions:
upstreams:
  spack-instance-1:
    install_tree: /cvmfs/muoncollider.cern.ch/release/2.9
The location is the same of the public installation installation For further details about the cache for spack refer to the spack guide.

Spack environments

A new spack environment can be created with

cd ${SPACK_INSTALL_DIR}
spack env create mucoll-env mucoll-spack/environments/mucoll-release/spack.yaml
spack env activate mucoll-env 
spack add mucoll-stack 
spack concretize --reuse --deprecated 
spack install --fail-fast --deprecated

If the activation or deactivation of an environment reports the following warning:

Warning: could not load runtime environment due to TypeError: expected string or bytes-like object

the issue can be fixed executing this command:

cd ${SPACK_INSTALL_DIR}/spack
curl https://pandora.infn.it/public/cb7750/dl/spack-develop-2024-06-23-env-fix.patch | patch -p1

Post installation

After the installation you need to re-login into the pc; in order to setup the environment:

source Software/spack/opt/spack/linux-almalinux9-x86_64/gcc-11.4.1/mucoll-stack-<date-hashnumber>/setup.sh

Install via rpms

Reference distribution is Alma Linux 9 (tested on AlmaLinux release 9.4).

sudo yum -y install epel-release yum-utils wget git
sudo dnf config-manager --set-enabled crb

Setting yum repository

sudo wget -O /etc/yum.repos.d/muoncollider.repo https://nexus.pd.infn.it/artifacts/repository/repo-files/mc-key4hep.repo
sudo wget -O /etc/yum.repos.d/geant4.repo https://nexus.pd.infn.it/artifacts/repository/repo-files/geant4.repo

Install the required packages

sudo yum -y install muonc-base-installation python3-k4marlin-wrapper gaudi-tools gaudi-devel
sudo geant4-dataset-download

Warning

After the installation you need to re-login into the pc in order to setup the environment.

Installation via CVMFS

A full installation of the framework is available via CVMFS at the following location:

/cvmfs/muoncollider.cern.ch/release/2.9
The framework environment can be activated with the command:
source /cvmfs/muoncollider.cern.ch/release/2.9/setup.sh

Test

To check your installation you can use the following simple tests. You need again the utils repository, so (re)login as user and clone it again:

git clone https://github.com/MuonColliderSoft/MuonCutil.git
cd MuonCutil/SoftCheck/ && git checkout v02-08-MC

Simulation

ddsim --compactFile $MUCOLL_GEO --steeringFile sim_steer.py > sim.out

Reconstruction

w/o BIB

Conformal tracking

Marlin --InitDD4hep.DD4hepXMLFile=$MUCOLL_GEO --MyCKFTracking.MatFile=$ACTS_MatFile --MyCKFTracking.TGeoFile=$ACTS_TGeoFile --Config.Tracking=Conformal  reco_steer.xml &> reco.out
export LCIO_READ_COL_NAMES=SiTracks_Refitted; dumpevent Output_REC.slcio 0 0; unset LCIO_READ_COL_NAMES

ACTs tracking

Marlin --InitDD4hep.DD4hepXMLFile=$MUCOLL_GEO --MyCKFTracking.MatFile=$ACTS_MatFile --MyCKFTracking.TGeoFile=$ACTS_TGeoFile  --Config.Tracking=ACTs reco_steer.xml &> reco.out
export LCIO_READ_COL_NAMES=SiTracks_Refitted; dumpevent Output_REC.slcio 0 0; unset LCIO_READ_COL_NAMES

Truth tracking

Marlin --InitDD4hep.DD4hepXMLFile=$MUCOLL_GEO --MyCKFTracking.MatFile=$ACTS_MatFile --MyCKFTracking.TGeoFile=$ACTS_TGeoFile  --Config.Tracking=Truth reco_steer.xml &> reco.out
export LCIO_READ_COL_NAMES=SiTracks_Refitted; dumpevent Output_REC.slcio 0 0; unset LCIO_READ_COL_NAMES

With BIB

Marlin --InitDD4hep.DD4hepXMLFile=$MUCOLL_GEO --MyCKFTracking.MatFile=$ACTS_MatFile --MyCKFTracking.TGeoFile=$ACTS_TGeoFile  --Config.Tracking=ACTs --Config.Overlay=Trimmed reco_steer.xml &> reco.out

Event display

ced2go -t ced2go_steering.xml -d  $MUCOLL_GEO  Output_REC.slcio