Skip to content

Version v02-07-MC

Info

Last update: 04 Nov 2021

Operating system

Start from a CentOS8 machine (tested on CentOS Linux release 8.4.2105)

sudo yum -y install epel-release yum-utils wget git

sudo yum-config-manager --set-enabled powertools

sudo yum-config-manager --set-enabled appstream

New INFN CA

sudo wget -O /etc/yum.repos.d/EGI-trustanchors.repo http://repository.egi.eu/sw/production/cas/1/current/repo-files/EGI-trustanchors.repo

sudo yum -y install ca-policy-egi-core

sudo ln -s /etc/grid-security/certificates/USERTrustRSACertificationAuthority.pem /etc/pki/ca-trust/source/anchors/

sudo ln -s /etc/grid-security/certificates/GEANTeScienceSSLCA4.pem /etc/pki/ca-trust/source/anchors/

sudo wget -O /etc/pki/ca-trust/source/anchors/GEANT-OV-RSA-CA-4.pem https://pandora.infn.it/public/483fb5/dl/GEANT-OV-RSA-CA-4.pem

sudo update-ca-trust extract

Setting yum repositories

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

sudo wget -O /etc/yum.repos.d/acts.repo https://portal.nersc.gov/cfs/atlas/kkrizka/repos/acts/acts.repo

Some useful packages.. and some extras

sudo yum -y install binutils-devel boost173-devel bzip2 chrpath cmake doxygen eigen3-devel emacs eog expat-devel freeglut-devel gcc gcc-c++ gedit giflib-devel glibc glibc-common glibc-devel glibc-headers glibc-static glibc-utils graphviz htop libjpeg-turbo-devel libpng-devel libquadmath-devel libSM-devel libstdc++-devel libtiff-devel libX11-devel libXext-devel libXft-devel libXmu-devel libXpm-devel make mesa-dri-drivers  mlocate mysql mysql-devel openmotif-devel patch python2 python3-devel rsync screen sshpass subversion tbb-devel texlive texlive-multirow texlive-sectsty texlive-tocloft texlive-xtab valgrind vim-enhanced xorg-x11-xauth xrootd-devel zip zlib-devel

Framework

Install geant4 and others dependencies

sudo yum -y install clhep-devel eigen3-devel geant4 geant4-devel gsl-devel HepMC3-devel

sudo geant4-dataset-download

Install ROOT

Bug

Due to a bug on the released rpm packages as temporary solution install ROOT from this repository:

sudo wget -O /etc/yum.repos.d/root.repo https://nexus.pd.infn.it/artifacts/repository/repo-files/root-c17.repo

sudo yum -y install root root-gdml root-genvector root-geom root-graf3d-eve root-graf3d-eve7 root-gui-browserv7 root-minuit2 root-smatrix root-tmva root-tpython root-unuran python3-root root-gui-fitpanel root-roofit root-roofit-more root-tmva-gui

Warning

Check if it installs the version: 6.22.06-1

Workarounds

sudo alternatives --set python /usr/bin/python3
sudo sed -i 's|include_next|include|g' /usr/include/c++/8/cstdlib
sudo sed -i 's|include_next|include|g' /usr/include/c++/8/bits/std_abs.h
sudo sed -i 's|include_next|include|g' /usr/include/c++/8/cmath 
sudo wget -O /usr/include/c++/8/x86_64-redhat-linux/bits/c++config.h https://raw.githubusercontent.com/MuonColliderSoft/MuonCollider-docker/v.1.5/CentOS8/c%2B%2Bconfig.h

sudo wget -O /usr/include/c++/8/x86_64-redhat-linux/32/bits/c++config.h https://raw.githubusercontent.com/MuonColliderSoft/MuonCollider-docker/v.1.5/CentOS8/c%2B%2Bconfig_32.h

Installation

Build setup

If you decide to follow these instructions and to install under /opt you need superuser privileges

sudo su -

Move to installation directory and clone the right repositories:

cd /opt
git clone https://github.com/MuonColliderSoft/MuonCutil.git
cd  /opt/MuonCutil && git checkout v02-07-MC
cd /opt
git clone https://github.com/MuonColliderSoft/iLCInstall.git
cd /opt/iLCInstall && git checkout v02-03-01-MC

Copy the last configuration files

cd /opt/iLCInstall/
mkdir releases/development
cp /opt/MuonCutil/releases/development/* releases/development

Software installation

./ilcsoft-install releases/development/release-base.cfg --install-prefix=/opt/ilcsoft -v -i
./ilcsoft-install releases/development/release-ilcsoft.cfg --install-prefix=/opt/ilcsoft -v -i

Install the last geometry

For the MuonCollider we update the detector's geometry

cd /opt/ilcsoft/muonc
git clone https://github.com/MuonColliderSoft/detector-simulation.git
cd /opt/ilcsoft/muonc/detector-simulation && git checkout v01-02-MC

Post installation

Change ced2go to force to use python2

sed -i 's|/bin/env python|/usr/bin/env python2|g' /opt/ilcsoft/muonc/CEDViewer/v01-18/bin/ced2go
Define the init file for profile
wget -O /etc/profile.d/ilcsoft.sh https://raw.githubusercontent.com/MuonColliderSoft/MuonCollider-docker/v.1.5/CentOS8/profile.d_ilcsoft.sh

Install via rpms experimental

This is a working in progress method to install the software, alternative to the manual installation procedure, use at your own risk.

Note

With this installation you configuration paths are:

* for geometry: **/usr/share/muonc-detector-geometry/MuColl_v1/MuColl_v1.xml**; 
* for ACTs the geometry and the material description files are in the **/usr/share/ACTSTracking/data/** directory.

Setting yum repository

sudo wget -O  /etc/yum.repos.d/muoncollider.repo https://cld-smact-02.pd.infn.it/artifacts/repository/repo-files/muoncollidersoft.repo

Install the required packages

sudo yum -y install python3-dd4hep muonc-detector-geometry ilc-marlin-dd4hep ilc-marlin-fastjet ilc-marlin-kinfit-processors ilc-overlay ilc-lcfi-plus ilc-conformal-tracking ilc-marlin-reco ilc-forward-tracking ilc-marlin-trk-processors ilc-ced-viewer ilc-ddmarlin-pandora ilc-lctuple ilc-clic-performance ilc-acts-tracking

sudo geant4-dataset-download

Test

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

git clone https://github.com/MuonColliderSoft/MuonCutil.git

cd MuonCutil/SoftCheck/

Simulation

ddsim --compactFile /opt/ilcsoft/muonc/detector-simulation/geometries/MuColl_v1/MuColl_v1.xml --steeringFile sim_steer.py > sim.out

Reconstruction

Marlin --InitDD4hep_mod4.DD4hepXMLFile=/opt/ilcsoft/muonc/detector-simulation/geometries/MuColl_v1/MuColl_v1.xml reco_steer.xml > reco.out

Event display

ced2go -d /opt/ilcsoft/muonc/detector-simulation/geometries/MuColl_v1/MuColl_v1.xml Output_REC.slcio