ACTSTuple is a Marlin package that dumps events in a CSV format that is compatible with the different ACTS example programs. It can be used to simulate events using the MCC framework and quickly perform track reconstruction in ACTS.
Validation of the tuple dumper (ie: correct geometry id mapping) is done by feeding MCC-generated single-muon events and using Fatras to simulate them. The resulting hits from ACTS simulation should be comparable with hits from MCC simulation.
To generate, simulate and dump single muon events in MCC framework:
# Run from LBLMuCWorkspace
ddsim --steeringFile ${MYBUILD}/data/sim_steer_muonGun_MuColl_v1.py
MARLIN_DLL=${MYBUILD}/packages/ACTSTuple/libACTSTuple.so:${MARLIN_DLL} Marlin ${MYBUILD}/packages/ACTSTuple/example/actstuple_steer.xml --global.LCIOInputFiles=muonGun_sim_MuColl_v1.slcio
To simulate the same events in ACTS:
# Run from ACTSFun
cp -r ${MARLIN_RUN_DIRECTORY}/output OUT_mu
rm OUT_mu/*simhits*
${MYBUILD}/exts/acts/bin/ActsExampleFatrasTGeo --response-file ${MYBUILD}/response/tgeo-mat-lctracker.response --bf-values 0 0 3.57 --input-dir OUT_mu --output-dir SIM_mu_sim --output-csv 1
The ${MARLIN_RUN_DIRECTORY}
should be manually replaced with the path to the run directory used to genenerate the events using MCC framework.
The valid_sorthits.py
script can be used to sort hits by radius. This makes it possible to compare two hit files for the same event using a simple textual diff tool. For example,
python ../python/valid_sorthits.py ${MARLIN_RUN_DIRECTORY}/output/event000000000-simhits.csv mcc.csv
python ../python/valid_sorthits.py ${ACTS_RUN_DIRECTORY}/SIM_mu/event000000000-simhits.csv acts.csv
meld mcc.csv acts.csv