This tutorial sets up the truth fitting/finding with KF/CKF and looks at the performance plots.
Note: This has to be done based on truth hits and particles produced by fatras simulation.
Please follow the guide here for the installation.
When compiling, the option for building Fatras, Examples and Pythia8 should be turned on:
cmake -DACTS_BUILD_FATRAS=ON -DACTS_BUILD_EXAMPLES=ON -DACTS_BUILD_EXAMPLES_PYTHIA8=ON ..
This should be the same for both simulation and reconstruction
Currently, reconstruction (including truth fitting/finding) only works for GenericDetector
.
--bf-values
, e.g. --bf-values 0 0 2
--bf-map
acts-data
repository first:git clone https://gitlab.cern.ch/acts/acts-data.git
export actsdata=$PWD
Then we could set up the B field with
--bf-map ${actsdata}/MagneticField/ATLAS/ATLASBField_xyz.txt
NB: The following job running will be done in the installation directory build/bin
where all the executables are located. But you can run those commands below anywhere by using the full path of the executables.
This will generate truth particles and truth hits. Examples to generate samples to be used for reconstruction later:
./ActsSimFatrasGeneric --bf-map ${actsdata}/MagneticField/ATLAS/ATLASBField_xyz.txt --evg-input-type gun --pg-nparticles 10000 --pg-pt-range 0.1 100 --pg-eta-range -2.5 2.5 -n 1 --output-dir=sim_generic_e1_p10000_pT0.1-100_eta-2.5-2.5 --output-csv=1
./ActsSimFatrasGeneric --bf-map ${actsdata}/MagneticField/ATLAS/ATLASBField_xyz.txt --evg-hard-process Top:qqbar2ttbar=on --evg-pileup 200 --select-pt-gev '0.1:' --select-eta '-2.5:2.5' --fatras-pmin-gev 0. --remove-neutral 1 -n 1 --output-dir=sim_generic_ATLASB_ttbar_e1_pu200_eta2.5 --output-csv=1
./ActsRecTruthTracks --bf-map ${actsdata}/MagneticField/ATLAS/ATLASBField_xyz.txt --input-dir=sim_generic_e1_p10000_pT0.1-100_eta-2.5-2.5 --output-dir=rec_kf_generic_e1_p10000_pT0.1-100_eta-2.5-2.5
./ActsRecTruthTracks --bf-map ${actsdata}/MagneticField/ATLAS/ATLASBField_xyz.txt --input-dir=sim_generic_ATLASB_ttbar_e1_pu200_eta2.5 --output-dir=rec_kf_generic_ATLASB_ttbar_e1_pu200_eta2.5
Note that we might want to change the source link selection criteria for the CKF. Currenlty, the CKF example has the interface to tune two criteria:
--ckf-slselection-chi2max
--ckf-slselection-nmax
The default selection criteria is --ckf-slselection-chi2max 15 --ckf-slselection-nmax 10
./ActsRecCKFTracks --bf-map ${actsdata}/MagneticField/ATLAS/ATLASBField_xyz.txt --input-dir=sim_generic_ATLASB_ttbar_e1_pu200_eta2.5 --output-dir=rec_ckf_generic_ATLASB_ttbar_e1_pu200_eta2.5
--ckf-slselection-chi2max 100 --ckf-slselection-nmax 1
(i.e. only select the best source link with a very loose chi2 constraint):./ActsRecCKFTracks --bf-map ${actsdata}/MagneticField/ATLAS/ATLASBField_xyz.txt --ckf-slselection-chi2max 100 --ckf-slselection-nmax 1 --input-dir=sim_generic_ATLASB_ttbar_e1_pu200_eta2.5 --output-dir=rec_ckf_generic_ATLASB_ttbar_e1_pu200_eta2.5_nmax1
root -l rec_kf_generic_ATLASB_ttbar_e1_pu200_eta2.5/performance_track_fitter.root
To look at the perigee parameters resolution:
root -l '../../Examples/Scripts/perigeeParamResolution.C("rec_kf_generic_ATLASB_ttbar_e1_pu200_eta2.5/performance_track_fitter.root")'
root -l rec_ckf_generic_ATLASB_ttbar_e1_pu200_eta2.5/performance_ckf.root