On 2021-12-05, restored compatibility with latest key4hep stack
On 2022-05-06, Developed a full cmake configuration.
On 2021-12-05, rome moved from tagged branch to master branch
On 2021-12-03, genfit2 installationon on the stack is used (before it was locally installed)
On 2021-12-01 I forced the key4hep stack to be used to 2021-09-01 as with the latest version it does not work
On 2021-05, since the master analyzer does not compile I moved to Gianfranco's version of the code
Instructions:
Use this repository as any other git repositories
- Fork and clone the repository. Check out the branch of interest. Say the repository is in /my/dir/
- Prepare your environment.
- Make a build directory at the same level as the repository and cd into it.
- Configure and compile:
- Sit back and enjoy a coffee. Assuming everything goes well, the compilation time is easily in the tens of m inutes.
- Now there is a file env.sh in the build directory
- You should be ready to run.
- Every time you log in again, you should do:
- Create an empty directory, say called mydir. cd into it and clone the repository.
- Clone the package and checkout the master branch
- Copy the install_standalone.sh script in mydir
- Edit it and set STANDALONE_INSTALL_DIR to the directory where you want to install everything
- Execute it with: source ./install_standalone.sh
cd /my/dir/IDEADetectorSIM
source key4hep_setup.sh
source env.sh
mkdir /my/dir/build
cd /my/dir/build
cmake -DCMAKE_INSTALL_PREFIX=/my/dir/build/instal_dir -DCMAKE_CXX_FLAGS="-DMT_OFF" ../IDEADetectorSIM
make -j10
make install
source env.sh
cd /my/dir/IDEADetectorSIM
source key4hep_setup.sh
cd ../build
source env.sh
Note that the env.sh to be used is the one in the build directory.
Go take a coffee. The code should compile and be ready to be used. If you do not have access to afs, you will seee an error related to copy a gdml file, you will have to copy that by hand.
Every time you log in, you will have to source simulation/env.sh and analyzer/envGMC.sh.
You may find useful to define SIM_INSTAL_DIR as the simulation installation directory. This is done automatically with the install_standalone script. The simulation is installed directly in the build directory if you build teh packahe directly using cmake. Another useful variable to define (automatic with the install_standalone script) is SIM_OUTPUT_DIR (where the output of the simulation will be written).
IMPORTANT: run this in directory $SIM_INSTAL_DIR
cd $SIM_INSTAL_DIR
mkdir -p $SIM_OUTPUT_DIR
./bin/g4GMC ./g4mac/runPFix-1.mac geom_IDEA.txt 1 $SIM_OUTPUT_DIR
The parameter 1 above is just the runnumber. It can be any number, we assume it is 1 in teh followin. If everything goes smooth, there shoudl be two files in teh $SIM_OUTPUT_DIR directory, one (big) called hits00001.root containing the inner detector hits, and one called simhits_podio00001.root.
If you have built the package with cmake, you can simply go to your build directory and do
source ./scripts/commonRecoIDEAFile.sh $SIM_OUTPUT_DIR/hits00001.root $SIM_OUTPUT_DIR/simhits_podio00001.root [EDM_OUTPUT_FILE]
where [EDM_OUTPUT_FILE] can be anything. If everything runs smooth, you should end up having a file called [EDM_OUTPUT_FILE] in the build directory.
The readHits executable will be in the converter directory.
./readHits $SIM_OUTPUT_DIR/<inout_file.root>
(the output file is named form MCData00001.root)
IMPORTANT: run all this in directory analyzer/GMC
copy the output file from previous step, of the form MCData00001.root, from converter/ to analyzer/GMC
copy the xml/gdml files from /afs/cern.ch/work/l/llavezzi/public/geometry to analyzer/GMC and change the path in the two xml files (gdml is good as it is)
run:
./LaunchAnalyzer.sh 1 1 geant4MC-IDEA.xml hits
./LaunchAnalyzer.sh 1 1 geant4MC-IDEA-fit.xml reco
IMPORTANT: run this in directory converter/
copy the output file from previous step, of the form RecoData00001.root, analyzer/GMC to $SIM_OUTPUT_DIR
./convertTracks $SIM_OUTPUT_DIR/<reco_data_file.root>
will be ported to directory converter/
it is contained in the file convertHits.cc, compiled together with the rest.
!!!FOR NOW!!! (to be done):
- the binary file is inside build/bin, it is not moved to the right place
- the output file is not int the $SIM_OUTPUT_DIR but it is put in the dir where you run the conversion
to run
./convertHits $SIM_OUTPUT_DIR/<inout_file.root>
- key4hep-stack/2021-11-26:
- gcc8.3.0
- geant4-10.7.2
- clhep-2.4.4.0
- root-6.24.06
- genfit/02-00-00 (on the stack)
- rome master