Project

General

Profile

Monicelli, the Fermilab Test Beam alignment and track reconstruction software

Authors:
Dario Menasce(INFN)
Luigi Moroni(INFN)
Stefano Terzo(INFN)
Mauro Dinardo(Universita' Bicocca)
Jennifer Ngadiuba(INFN)
Lorenzo Uplegger(FNAL)
Luigi Vigani(INFN)
Davide Zuolo(INFN)

Prerequisites:

In order to install Monicelli you need to install:
qt and chose the open source version qt-opensource
root
xerces
boost (Usually comes with your linux distribution)

Quickstart instructions:

For users

git clone http://cdcvs.fnal.gov/projects/monicelli Monicelli

#If you are looking for a specific tag (here v1.0.0)
cd Monicelli
git checkout master
git checkout v1.0.0

For developers

git clone ssh://p-monicelli@cdcvs.fnal.gov/cvs/projects/monicelli Monicelli
cd Monicelli
git checkout develop

If you don't checkout using ssh, you will not be able to push your changes to redmine.

Setting environmental variables

Once the package is checked out or if you are starting a new session you need to modify any of the setup files (for example if your shell is bash and you have installed root6 you need to modify the setup-6.sh),
setting up the correct environmental variables specific to your computer

cd Monicelli
emacs setup-6.sh
#===== Local directories
export MonicelliDir=`pwd`
export Monicelli_RawData_Dir=/TestBeamData/Merged
export Monicelli_DataSample_Dir=/TestBeamData/Merged
export Monicelli_CalSample_Dir=/TestBeamData/Calibrations
export MonicelliOutputDir=/TestBeamData/MonicelliOutput
export Monicelli_XML_Dir=/TestBeamData/Geometries

#===== Location of the ROOT components
export ROOTSYS=/opt/local/root
export ROOTINC=$ROOTSYS/include/root
export ROOTLIB=$ROOTSYS/lib/root

#===== Location of the Qt components
export QTDIR=/opt/local/qt/5.6/gcc_64 # where 5.6 is the qt downloaded version
export QTCREATORDIR=/opt/local/qtcreator
export QTLIB=$QTDIR/lib
export QTINC=$QTDIR/include

#===== Location of the BOOST components
export BOOSTINC=/usr/local/include/boost
export BOOSTLIB=/usr/local/lib

#===== Location of the XERCES components
export XERCESCINC=/opt/local/xerces/include
export XERCESCLIB=/opt/local/xerces/lib

#===== C++ flags
export CPLUSPLUSFLAGS=-std=c++11

export PATH=$ROOTSYS/bin:$QTDIR/bin:$QTCREATORDIR/bin:$PATH
export LD_LIBRARY_PATH=$ROOTLIB:$BOOSTLIB:$QTDIR/lib:$XERCESCLIB/:$MonicelliDir/plugins/libs/:$MonicelliDir/test/customWidgets/libs:/usr/lib64

Once the setup file has been modified rename it and then source it any time you want to run or compile monicelli

# note here that the USCMS TFPX users should use setupDecember2019.sh or equivalent
cp setup-6.sh MyShellScript.sh
source MyShellScript.sh

The first time you need to compile Monicelli

cd Monicelli
make -f MakefileAll
cd Express
./compile.py
cd ..

Now you are ready to run Monicelli

./Monicelli

Useful git commands in case you want to contribute to the project:

git pull #updates your package
git commit -am "my comment" # commit locally all (-a) your changes with a comment (-m)
git push # commits the changes to the remote repository