diff --git a/CI/physmon/ckf_truth_smeared.yml b/CI/physmon/ckf_truth_smeared.yml deleted file mode 100644 index 60193165ba9..00000000000 --- a/CI/physmon/ckf_truth_smeared.yml +++ /dev/null @@ -1,24 +0,0 @@ -checks: - "*": - Chi2Test: - threshold: 0.01 - KolmogorovTest: - threshold: 0.68 - RatioCheck: - threshold: 3 - ResidualCheck: - threshold: 3 - IntegralCheck: - threshold: 3 - - nHoles_vs_eta: - KolmogorovTest: - threshold: 0.25 - - nOutliers_vs_pT: - KolmogorovTest: - threshold: 0.59 - - nStates_vs_eta: - KolmogorovTest: null - IntegralCheck: null diff --git a/CI/physmon/gsf.yml b/CI/physmon/config/default.yml similarity index 100% rename from CI/physmon/gsf.yml rename to CI/physmon/config/default.yml diff --git a/CI/physmon/pythia8_ttbar_config.yml b/CI/physmon/config/pythia8_ttbar.yml similarity index 100% rename from CI/physmon/pythia8_ttbar_config.yml rename to CI/physmon/config/pythia8_ttbar.yml diff --git a/CI/physmon/simulation_config.yml b/CI/physmon/config/simulation.yml similarity index 100% rename from CI/physmon/simulation_config.yml rename to CI/physmon/config/simulation.yml diff --git a/CI/physmon/default.yml b/CI/physmon/config/trackfitting_gsf.yml similarity index 99% rename from CI/physmon/default.yml rename to CI/physmon/config/trackfitting_gsf.yml index 9a85e92618e..ecd4c4fd546 100644 --- a/CI/physmon/default.yml +++ b/CI/physmon/config/trackfitting_gsf.yml @@ -10,4 +10,3 @@ checks: threshold: 3 IntegralCheck: threshold: 3 - diff --git a/CI/physmon/gx2f.yml b/CI/physmon/config/trackfitting_gx2f.yml similarity index 100% rename from CI/physmon/gx2f.yml rename to CI/physmon/config/trackfitting_gx2f.yml diff --git a/CI/physmon/truth_tracking.yml b/CI/physmon/config/trackfitting_kf.yml similarity index 100% rename from CI/physmon/truth_tracking.yml rename to CI/physmon/config/trackfitting_kf.yml diff --git a/CI/physmon/tracksummary_ckf_config.yml b/CI/physmon/config/tracksummary_ckf.yml similarity index 100% rename from CI/physmon/tracksummary_ckf_config.yml rename to CI/physmon/config/tracksummary_ckf.yml diff --git a/CI/physmon/vertexing_config.yml b/CI/physmon/config/vertexing_4muon_50vertices.yml similarity index 100% rename from CI/physmon/vertexing_config.yml rename to CI/physmon/config/vertexing_4muon_50vertices.yml diff --git a/CI/physmon/vertexing_ttbar_config.yml b/CI/physmon/config/vertexing_ttbar_pu200.yml similarity index 100% rename from CI/physmon/vertexing_ttbar_config.yml rename to CI/physmon/config/vertexing_ttbar_pu200.yml diff --git a/CI/physmon/phys_perf_mon.sh b/CI/physmon/phys_perf_mon.sh index 2ebf4d2bb5d..9fc97ab8c5f 100755 --- a/CI/physmon/phys_perf_mon.sh +++ b/CI/physmon/phys_perf_mon.sh @@ -20,17 +20,18 @@ shopt -s extglob mode=${1:-all} -if ! [[ $mode = @(all|kalman|gsf|gx2f|fullchains|vertexing|simulation) ]]; then - echo "Usage: $0 (outdir)" +if ! [[ $mode = @(all|kf|gsf|gx2f|fullchains|simulation) ]]; then + echo "Usage: $0 (outdir)" exit 1 fi outdir=${2:-physmon} mkdir -p $outdir +mkdir -p $outdir/data +mkdir -p $outdir/html +mkdir -p $outdir/logs refdir=CI/physmon/reference -refcommit=$(cat $refdir/commit) -commit=$(git rev-parse --short HEAD) SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) # File to accumulate the histcmp results @@ -123,38 +124,37 @@ function run_physmon_gen() { script=CI/physmon/workflows/physmon_${slug}.py - measure "$title" "$slug" ${script} $outdir 2>&1 > $outdir/run_${slug}.log + mkdir -p $outdir/data/$slug + mkdir -p $outdir/logs + measure "$title" "$slug" ${script} $outdir/data/$slug 2>&1 > $outdir/logs/${slug}.log this_ec=$? ec=$(($ec | $this_ec)) if [ $this_ec -ne 0 ]; then - echo "::error::🟥 Dataset generation failed: ${script} -> ec=$this_ec" + echo "::error::🟥 Dataset generation failed: ${script} -> ec=$this_ec" else - echo "::notice::✅ Dataset generation succeeded: ${script}" + echo "::notice::✅ Dataset generation succeeded: ${script}" fi } echo "::group::Generate validation dataset" -if [[ "$mode" == "all" || "$mode" == "kalman" ]]; then - run_physmon_gen "Truth Tracking KF" "truth_tracking_kalman" +if [[ "$mode" == "all" || "$mode" == "simulation" ]]; then + run_physmon_gen "Simulation" "simulation" +fi +if [[ "$mode" == "all" || "$mode" == "kf" ]]; then + run_physmon_gen "Truth Tracking KF" "trackfitting_kf" fi if [[ "$mode" == "all" || "$mode" == "gsf" ]]; then - run_physmon_gen "Truth Tracking GSF" "truth_tracking_gsf" + run_physmon_gen "Truth Tracking GSF" "trackfitting_gsf" fi if [[ "$mode" == "all" || "$mode" == "gx2f" ]]; then - run_physmon_gen "Truth Tracking GX2F" "truth_tracking_gx2f" + run_physmon_gen "Truth Tracking GX2F" "trackfitting_gx2f" fi if [[ "$mode" == "all" || "$mode" == "fullchains" ]]; then - run_physmon_gen "CKF Tracking" "ckf_tracking" - run_physmon_gen "Track finding ttbar" "track_finding_ttbar" - -fi -if [[ "$mode" == "all" || "$mode" == "vertexing" ]]; then - run_physmon_gen "Vertexing" "vertexing" -fi -if [[ "$mode" == "all" || "$mode" == "simulation" ]]; then - run_physmon_gen "Simulation" "simulation" + run_physmon_gen "CKF single muon" "trackfinding_1muon" + run_physmon_gen "CKF muon 50" "trackfinding_4muon_50vertices" + run_physmon_gen "CKF ttbar 200" "trackfinding_ttbar_pu200" fi echo "::endgroup::" @@ -163,315 +163,264 @@ function run_histcmp() { a=$1 b=$2 title=$3 - slug=$4 - shift 4 + html_path=$4 + plots_path=$5 + shift 5 echo "::group::Comparing $a vs. $b" if [ ! -f "$a" ]; then - echo "::error::histcmp failed: File $a does not exist" - ec=1 + echo "::error::histcmp failed: File $a does not exist" + ec=1 fi if [ ! -f "$b" ]; then - echo "::error::histcmp failed: File $b does not exist" - ec=1 + echo "::error::histcmp failed: File $b does not exist" + ec=1 fi run histcmp $a $b \ --label-reference=reference \ --label-monitored=monitored \ --title="$title" \ - -o $outdir/${slug}.html \ - -p $outdir/${slug}_plots \ + -o $outdir/html/$html_path \ + -p $outdir/html/$plots_path \ "$@" this_ec=$? ec=$(($ec | $this_ec)) if [ $this_ec -ne 0 ]; then - echo "::error::histcmp failed (${slug}): ec=$this_ec" + echo "::error::histcmp failed: ec=$this_ec" fi - echo "\"${title}\",${slug},${this_ec}" >> $histcmp_results + echo "\"${title}\",html/${html_path},${this_ec}" >> $histcmp_results echo "::endgroup::" } -function full_chain() { - suffix=$1 +function trackfinding() { + name=$1 + path=$2 - config="CI/physmon/ckf_${suffix}.yml" + default_config="CI/physmon/config/default.yml" - if [ ! -f "$config" ]; then - config="CI/physmon/default.yml" - fi - echo $config - - if [ $suffix != truth_smeared ]; then - run_histcmp \ - $outdir/performance_seeding_${suffix}.root \ - $refdir/performance_seeding_${suffix}.root \ - "Seeding ${suffix}" \ - seeding_${suffix} \ - -c $config + if [ -f $refdir/$path/performance_seeding.root ]; then + run_histcmp \ + $outdir/data/$path/performance_seeding.root \ + $refdir/$path/performance_seeding.root \ + "Seeding ${name}" \ + $path/performance_seeding.html \ + $path/performance_seeding_plots \ + --config $default_config fi run_histcmp \ - $outdir/performance_ckf_${suffix}.root \ - $refdir/performance_ckf_${suffix}.root \ - "CKF ${suffix}" \ - ckf_${suffix} \ - -c $config + $outdir/data/$path/performance_ckf.root \ + $refdir/$path/performance_ckf.root \ + "CKF | ${name}" \ + $path/performance_ckf.html \ + $path/performance_ckf_plots \ + --config $default_config run Examples/Scripts/generic_plotter.py \ - $outdir/performance_ivf_${suffix}.root \ - vertexing \ - $outdir/performance_ivf_${suffix}_hist.root \ + $outdir/data/$path/tracksummary_ckf.root \ + tracksummary \ + $outdir/data/$path/tracksummary_ckf_hist.root \ --silent \ - --config CI/physmon/vertexing_config.yml + --config CI/physmon/config/tracksummary_ckf.yml ec=$(($ec | $?)) # remove ntuple file because it's large - rm $outdir/performance_ivf_${suffix}.root + rm $outdir/data/$path/tracksummary_ckf.root run_histcmp \ - $outdir/performance_ivf_${suffix}_hist.root \ - $refdir/performance_ivf_${suffix}_hist.root \ - "IVF ${suffix}" \ - ivf_${suffix} + $outdir/data/$path/tracksummary_ckf_hist.root \ + $refdir/$path/tracksummary_ckf_hist.root \ + "Track Summary CKF | ${name}" \ + $path/tracksummary_ckf.html \ + $path/tracksummary_ckf_plots - run Examples/Scripts/generic_plotter.py \ - $outdir/performance_amvf_${suffix}.root \ - vertexing \ - $outdir/performance_amvf_${suffix}_hist.root \ - --silent \ - --config CI/physmon/vertexing_config.yml - ec=$(($ec | $?)) + if [ -f $refdir/$path/performance_ckf_ambi.root ]; then + run_histcmp \ + $outdir/data/$path/performance_ckf_ambi.root \ + $refdir/$path/performance_ckf_ambi.root \ + "Ambisolver | ${name}" \ + $path/performance_ckf_ambi.html \ + $path/performance_ckf_ambi + fi +} - # remove ntuple file because it's large - rm $outdir/performance_amvf_${suffix}.root +function vertexing() { + name=$1 + path=$2 + config=$3 - run_histcmp \ - $outdir/performance_amvf_${suffix}_hist.root \ - $refdir/performance_amvf_${suffix}_hist.root \ - "AMVF ${suffix}" \ - amvf_${suffix} - - if [ $suffix == seeded ]; then - run Examples/Scripts/generic_plotter.py \ - $outdir/performance_amvf_gridseeder_${suffix}.root \ + if [ -f $refdir/$path/performance_vertexing_ivf_notime_hist.root ]; then + run Examples/Scripts/generic_plotter.py \ + $outdir/data/$path/performance_vertexing_ivf_notime.root \ vertexing \ - $outdir/performance_amvf_gridseeder_${suffix}_hist.root \ + $outdir/data/$path/performance_vertexing_ivf_notime_hist.root \ --silent \ - --config CI/physmon/vertexing_config.yml + --config $config ec=$(($ec | $?)) # remove ntuple file because it's large - rm $outdir/performance_amvf_gridseeder_${suffix}.root + rm $outdir/data/$path/performance_vertexing_ivf_notime.root run_histcmp \ - $outdir/performance_amvf_gridseeder_${suffix}_hist.root \ - $refdir/performance_amvf_gridseeder_${suffix}_hist.root \ - "AMVF (+grid seeder) ${suffix}" \ - amvf_gridseeder_${suffix} + $outdir/data/$path/performance_vertexing_ivf_notime_hist.root \ + $refdir/$path/performance_vertexing_ivf_notime_hist.root \ + "IVF notime | ${name}" \ + $path/performance_vertexing_ivf_notime.html \ + $path/performance_vertexing_ivf_notime_plots fi run Examples/Scripts/generic_plotter.py \ - $outdir/tracksummary_ckf_${suffix}.root \ - tracksummary \ - $outdir/tracksummary_ckf_${suffix}_hist.root \ + $outdir/data/$path/performance_vertexing_amvf_gauss_notime.root \ + vertexing \ + $outdir/data/$path/performance_vertexing_amvf_gauss_notime_hist.root \ --silent \ - --config CI/physmon/tracksummary_ckf_config.yml + --config $config ec=$(($ec | $?)) # remove ntuple file because it's large - rm $outdir/tracksummary_ckf_${suffix}.root + rm $outdir/data/$path/performance_vertexing_amvf_gauss_notime.root run_histcmp \ - $outdir/tracksummary_ckf_${suffix}_hist.root \ - $refdir/tracksummary_ckf_${suffix}_hist.root \ - "Track Summary CKF ${suffix}" \ - tracksummary_ckf_${suffix} - -} - -function simulation() { - suffix=$1 - - config="CI/physmon/simulation_config.yml" + $outdir/data/$path/performance_vertexing_amvf_gauss_notime_hist.root \ + $refdir/$path/performance_vertexing_amvf_gauss_notime_hist.root \ + "AMVF gauss notime | ${name}" \ + $path/performance_vertexing_amvf_gauss_notime.html \ + $path/performance_vertexing_amvf_gauss_notime_plots run Examples/Scripts/generic_plotter.py \ - $outdir/particles_${suffix}.root \ - particles \ - $outdir/particles_${suffix}_hist.root \ + $outdir/data/$path/performance_vertexing_amvf_grid_time.root \ + vertexing \ + $outdir/data/$path/performance_vertexing_amvf_grid_time_hist.root \ --silent \ --config $config ec=$(($ec | $?)) # remove ntuple file because it's large - rm $outdir/particles_${suffix}.root + rm $outdir/data/$path/performance_vertexing_amvf_grid_time.root run_histcmp \ - $outdir/particles_${suffix}_hist.root \ - $refdir/particles_${suffix}_hist.root \ - "Particles ${suffix}" \ - particles_${suffix} + $outdir/data/$path/performance_vertexing_amvf_grid_time_hist.root \ + $refdir/$path/performance_vertexing_amvf_grid_time_hist.root \ + "AMVF grid time | ${name}" \ + $path/performance_vertexing_amvf_grid_time.html \ + $path/performance_vertexing_amvf_grid_time_plots } -if [[ "$mode" == "all" || "$mode" == "fullchains" ]]; then - full_chain truth_smeared - full_chain truth_estimated - full_chain seeded - full_chain orthogonal - - run_histcmp \ - $outdir/performance_ambi_seeded.root \ - $refdir/performance_ambi_seeded.root \ - "Ambisolver seeded" \ - ambi_seeded - - run_histcmp \ - $outdir/performance_ambi_orthogonal.root \ - $refdir/performance_ambi_orthogonal.root \ - "Ambisolver orthogonal" \ - ambi_orthogonal - - run_histcmp \ - $outdir/performance_seeding_ttbar.root \ - $refdir/performance_seeding_ttbar.root \ - "Seeding ttbar" \ - seeding_ttbar \ - -c $config - - run_histcmp \ - $outdir/performance_ckf_ttbar.root \ - $refdir/performance_ckf_ttbar.root \ - "CKF ttbar" \ - ckf_ttbar \ - -c $config +function simulation() { + suffix=$1 - run_histcmp \ - $outdir/performance_ambi_ttbar.root \ - $refdir/performance_ambi_ttbar.root \ - "Ambisolver " \ - ambi_ttbar + config="CI/physmon/config/simulation.yml" run Examples/Scripts/generic_plotter.py \ - $outdir/performance_amvf_ttbar.root \ - vertexing \ - $outdir/performance_amvf_ttbar_hist.root \ + $outdir/data/simulation/particles_${suffix}.root \ + particles \ + $outdir/data/simulation/particles_${suffix}_hist.root \ --silent \ - --config CI/physmon/vertexing_ttbar_config.yml - ec=$(($ec | $?)) - - run Examples/Scripts/generic_plotter.py \ - $outdir/tracksummary_ckf_ttbar.root \ - tracksummary \ - $outdir/tracksummary_ckf_ttbar_hist.root \ - --config CI/physmon/tracksummary_ckf_config.yml + --config $config ec=$(($ec | $?)) # remove ntuple file because it's large - rm $outdir/tracksummary_ckf_ttbar.root + rm $outdir/data/simulation/particles_${suffix}.root run_histcmp \ - $outdir/tracksummary_ckf_ttbar_hist.root \ - $refdir/tracksummary_ckf_ttbar_hist.root \ - "Track Summary CKF ttbar" \ - tracksummary_ckf_ttbar + $outdir/data/simulation/particles_${suffix}_hist.root \ + $refdir/simulation/particles_${suffix}_hist.root \ + "Particles ${suffix}" \ + simulation/particles_${suffix}.html \ + simulation/particles_${suffix}_plots +} +function generation() { + run Examples/Scripts/generic_plotter.py \ + $outdir/data/simulation/particles_ttbar.root \ + particles \ + $outdir/data/simulation/particles_ttbar_hist.root \ + --silent \ + --config CI/physmon/config/pythia8_ttbar.yml + # remove ntuple file because it's large - rm $outdir/performance_amvf_ttbar.root + rm $outdir/data/simulation/particles_ttbar.root run_histcmp \ - $outdir/performance_amvf_ttbar_hist.root \ - $refdir/performance_amvf_ttbar_hist.root \ - "AMVF ttbar" \ - amvf_ttbar + $outdir/data/simulation/particles_ttbar_hist.root \ + $refdir/simulation/particles_ttbar_hist.root \ + "Particles ttbar" \ + simulation/particles_ttbar.html \ + simulation/particles_ttbar_plots run Examples/Scripts/generic_plotter.py \ - $outdir/performance_amvf_gridseeder_ttbar.root \ - vertexing \ - $outdir/performance_amvf_gridseeder_ttbar_hist.root \ + $outdir/data/simulation/vertices_ttbar.root \ + vertices \ + $outdir/data/simulation/vertices_ttbar_hist.root \ --silent \ - --config CI/physmon/vertexing_ttbar_config.yml - ec=$(($ec | $?)) + --config CI/physmon/config/pythia8_ttbar.yml # remove ntuple file because it's large - rm $outdir/performance_amvf_gridseeder_ttbar.root + rm $outdir/data/simulation/vertices_ttbar.root run_histcmp \ - $outdir/performance_amvf_gridseeder_ttbar_hist.root \ - $refdir/performance_amvf_gridseeder_ttbar_hist.root \ - "AMVF (+grid seeder) ttbar" \ - amvf_gridseeder_ttbar - - run Examples/Scripts/generic_plotter.py \ - $outdir/pythia8_particles_ttbar.root \ - particles \ - $outdir/particles_ttbar_hist.root \ - --silent \ - --config CI/physmon/pythia8_ttbar_config.yml + $outdir/data/simulation/vertices_ttbar_hist.root \ + $refdir/simulation/vertices_ttbar_hist.root \ + "Vertices ttbar" \ + simulation/vertices_ttbar.html \ + simulation/vertices_ttbar_plots +} - run_histcmp \ - $outdir/particles_ttbar_hist.root \ - $refdir/particles_ttbar_hist.root \ - "Particles ttbar" \ - particles_ttbar +if [[ "$mode" == "all" || "$mode" == "simulation" ]]; then + simulation fatras + simulation geant4 - run Examples/Scripts/generic_plotter.py \ - $outdir/pythia8_vertices_ttbar.root \ - vertices \ - $outdir/vertices_ttbar_hist.root \ - --silent \ - --config CI/physmon/pythia8_ttbar_config.yml + generation +fi +if [[ "$mode" == "all" || "$mode" == "kf" ]]; then run_histcmp \ - $outdir/vertices_ttbar_hist.root \ - $refdir/vertices_ttbar_hist.root \ - "Vertices ttbar" \ - vertices_ttbar + $outdir/data/trackfitting_kf/performance_trackfitting.root \ + $refdir/trackfitting_kf/performance_trackfitting.root \ + "Truth tracking (KF)" \ + trackfitting_kf/performance_trackfitting.html \ + trackfitting_kf/performance_trackfitting_plots \ + --config CI/physmon/config/trackfitting_kf.yml fi if [[ "$mode" == "all" || "$mode" == "gsf" ]]; then run_histcmp \ - $outdir/performance_gsf.root \ - $refdir/performance_gsf.root \ + $outdir/data/trackfitting_gsf/performance_trackfitting.root \ + $refdir/trackfitting_gsf/performance_trackfitting.root \ "Truth tracking (GSF)" \ - gsf \ - -c CI/physmon/gsf.yml -fi - -if [[ "$mode" == "all" || "$mode" == "kalman" ]]; then - run_histcmp \ - $outdir/performance_truth_tracking.root \ - $refdir/performance_truth_tracking.root \ - "Truth tracking" \ - truth_tracking \ - -c CI/physmon/truth_tracking.yml + trackfitting_gsf/performance_trackfitting.html \ + trackfitting_gsf/performance_trackfitting_plots \ + --config CI/physmon/config/trackfitting_gsf.yml fi if [[ "$mode" == "all" || "$mode" == "gx2f" ]]; then run_histcmp \ - $outdir/performance_gx2f.root \ - $refdir/performance_gx2f.root \ + $outdir/data/trackfitting_gx2f/performance_trackfitting.root \ + $refdir/trackfitting_gx2f/performance_trackfitting.root \ "Truth tracking (GX2F)" \ - gx2f \ - -c CI/physmon/gx2f.yml + trackfitting_gx2f/performance_trackfitting.html \ + trackfitting_gx2f/performance_trackfitting_plots \ + --config CI/physmon/config/trackfitting_gx2f.yml fi -if [[ "$mode" == "all" || "$mode" == "vertexing" ]]; then - run Examples/Scripts/vertex_mu_scan.py \ - $outdir/performance_vertexing_*mu*.root \ - $outdir/vertexing_mu_scan.pdf +if [[ "$mode" == "all" || "$mode" == "fullchains" ]]; then + trackfinding "trackfinding | single muon | truth smeared seeding" trackfinding_1muon/truth_smeared + trackfinding "trackfinding | single muon | truth estimated seeding" trackfinding_1muon/truth_estimated + trackfinding "trackfinding | single muon | default seeding" trackfinding_1muon/seeded + trackfinding "trackfinding | single muon | orthogonal seeding" trackfinding_1muon/orthogonal - rm $outdir/performance_vertexing_*mu* -fi + trackfinding "trackfinding | 4 muon x 50 vertices | default seeding" trackfinding_4muon_50vertices + vertexing "trackfinding | 4 muon x 50 vertices | default seeding" trackfinding_4muon_50vertices CI/physmon/config/vertexing_4muon_50vertices.yml -if [[ "$mode" == "all" || "$mode" == "simulation" ]]; then - simulation fatras - simulation geant4 + trackfinding "trackfinding | ttbar with 200 pileup | default seeding" trackfinding_ttbar_pu200 + vertexing "trackfinding | ttbar with 200 pileup | default seeding" trackfinding_ttbar_pu200 CI/physmon/config/vertexing_ttbar_pu200.yml fi run CI/physmon/summary.py $histcmp_results \ diff --git a/CI/physmon/reference/commit b/CI/physmon/reference/commit deleted file mode 100644 index bb8d9b15173..00000000000 --- a/CI/physmon/reference/commit +++ /dev/null @@ -1 +0,0 @@ -610a3fa diff --git a/CI/physmon/reference/performance_ambi_orthogonal.root b/CI/physmon/reference/performance_ambi_orthogonal.root deleted file mode 100644 index 0b90c87805d..00000000000 Binary files a/CI/physmon/reference/performance_ambi_orthogonal.root and /dev/null differ diff --git a/CI/physmon/reference/performance_ambi_seeded.root b/CI/physmon/reference/performance_ambi_seeded.root deleted file mode 100644 index 27dbfdb416e..00000000000 Binary files a/CI/physmon/reference/performance_ambi_seeded.root and /dev/null differ diff --git a/CI/physmon/reference/performance_ambi_ttbar.root b/CI/physmon/reference/performance_ambi_ttbar.root deleted file mode 100644 index 2dd55c52b42..00000000000 Binary files a/CI/physmon/reference/performance_ambi_ttbar.root and /dev/null differ diff --git a/CI/physmon/reference/performance_amvf_gridseeder_seeded_hist.root b/CI/physmon/reference/performance_amvf_gridseeder_seeded_hist.root deleted file mode 100644 index 6cea895170f..00000000000 Binary files a/CI/physmon/reference/performance_amvf_gridseeder_seeded_hist.root and /dev/null differ diff --git a/CI/physmon/reference/performance_amvf_gridseeder_ttbar_hist.root b/CI/physmon/reference/performance_amvf_gridseeder_ttbar_hist.root deleted file mode 100644 index 312055b4dfc..00000000000 Binary files a/CI/physmon/reference/performance_amvf_gridseeder_ttbar_hist.root and /dev/null differ diff --git a/CI/physmon/reference/performance_amvf_orthogonal_hist.root b/CI/physmon/reference/performance_amvf_orthogonal_hist.root deleted file mode 100644 index f184cb85191..00000000000 Binary files a/CI/physmon/reference/performance_amvf_orthogonal_hist.root and /dev/null differ diff --git a/CI/physmon/reference/performance_amvf_seeded_hist.root b/CI/physmon/reference/performance_amvf_seeded_hist.root deleted file mode 100644 index a93155fe12b..00000000000 Binary files a/CI/physmon/reference/performance_amvf_seeded_hist.root and /dev/null differ diff --git a/CI/physmon/reference/performance_amvf_truth_estimated_hist.root b/CI/physmon/reference/performance_amvf_truth_estimated_hist.root deleted file mode 100644 index 28b36526661..00000000000 Binary files a/CI/physmon/reference/performance_amvf_truth_estimated_hist.root and /dev/null differ diff --git a/CI/physmon/reference/performance_amvf_truth_smeared_hist.root b/CI/physmon/reference/performance_amvf_truth_smeared_hist.root deleted file mode 100644 index 53703832364..00000000000 Binary files a/CI/physmon/reference/performance_amvf_truth_smeared_hist.root and /dev/null differ diff --git a/CI/physmon/reference/performance_amvf_ttbar_hist.root b/CI/physmon/reference/performance_amvf_ttbar_hist.root deleted file mode 100644 index 47d53557498..00000000000 Binary files a/CI/physmon/reference/performance_amvf_ttbar_hist.root and /dev/null differ diff --git a/CI/physmon/reference/performance_ckf_orthogonal.root b/CI/physmon/reference/performance_ckf_orthogonal.root deleted file mode 100644 index 1649924f0e4..00000000000 Binary files a/CI/physmon/reference/performance_ckf_orthogonal.root and /dev/null differ diff --git a/CI/physmon/reference/performance_ckf_seeded.root b/CI/physmon/reference/performance_ckf_seeded.root deleted file mode 100644 index 1e4d7392a93..00000000000 Binary files a/CI/physmon/reference/performance_ckf_seeded.root and /dev/null differ diff --git a/CI/physmon/reference/performance_ckf_truth_estimated.root b/CI/physmon/reference/performance_ckf_truth_estimated.root deleted file mode 100644 index f48c7f92896..00000000000 Binary files a/CI/physmon/reference/performance_ckf_truth_estimated.root and /dev/null differ diff --git a/CI/physmon/reference/performance_ckf_truth_smeared.root b/CI/physmon/reference/performance_ckf_truth_smeared.root deleted file mode 100644 index 0311e42de0d..00000000000 Binary files a/CI/physmon/reference/performance_ckf_truth_smeared.root and /dev/null differ diff --git a/CI/physmon/reference/performance_ckf_ttbar.root b/CI/physmon/reference/performance_ckf_ttbar.root deleted file mode 100644 index 6a97b0ab1b4..00000000000 Binary files a/CI/physmon/reference/performance_ckf_ttbar.root and /dev/null differ diff --git a/CI/physmon/reference/performance_gsf.root b/CI/physmon/reference/performance_gsf.root deleted file mode 100644 index c6eb98c5d55..00000000000 Binary files a/CI/physmon/reference/performance_gsf.root and /dev/null differ diff --git a/CI/physmon/reference/performance_gx2f.root b/CI/physmon/reference/performance_gx2f.root deleted file mode 100644 index 5ef556b0cda..00000000000 Binary files a/CI/physmon/reference/performance_gx2f.root and /dev/null differ diff --git a/CI/physmon/reference/performance_ivf_orthogonal_hist.root b/CI/physmon/reference/performance_ivf_orthogonal_hist.root deleted file mode 100644 index 1fd1a743e75..00000000000 Binary files a/CI/physmon/reference/performance_ivf_orthogonal_hist.root and /dev/null differ diff --git a/CI/physmon/reference/performance_ivf_seeded_hist.root b/CI/physmon/reference/performance_ivf_seeded_hist.root deleted file mode 100644 index e2559f1677f..00000000000 Binary files a/CI/physmon/reference/performance_ivf_seeded_hist.root and /dev/null differ diff --git a/CI/physmon/reference/performance_ivf_truth_estimated_hist.root b/CI/physmon/reference/performance_ivf_truth_estimated_hist.root deleted file mode 100644 index 265d2cdb22e..00000000000 Binary files a/CI/physmon/reference/performance_ivf_truth_estimated_hist.root and /dev/null differ diff --git a/CI/physmon/reference/performance_ivf_truth_smeared_hist.root b/CI/physmon/reference/performance_ivf_truth_smeared_hist.root deleted file mode 100644 index 89ebd7fbd05..00000000000 Binary files a/CI/physmon/reference/performance_ivf_truth_smeared_hist.root and /dev/null differ diff --git a/CI/physmon/reference/performance_seeding_orthogonal.root b/CI/physmon/reference/performance_seeding_orthogonal.root deleted file mode 100644 index 5c4e9cdc74c..00000000000 Binary files a/CI/physmon/reference/performance_seeding_orthogonal.root and /dev/null differ diff --git a/CI/physmon/reference/performance_seeding_seeded.root b/CI/physmon/reference/performance_seeding_seeded.root deleted file mode 100644 index 2d98b74cc7c..00000000000 Binary files a/CI/physmon/reference/performance_seeding_seeded.root and /dev/null differ diff --git a/CI/physmon/reference/performance_seeding_truth_estimated.root b/CI/physmon/reference/performance_seeding_truth_estimated.root deleted file mode 100644 index a54c6c88298..00000000000 Binary files a/CI/physmon/reference/performance_seeding_truth_estimated.root and /dev/null differ diff --git a/CI/physmon/reference/performance_seeding_ttbar.root b/CI/physmon/reference/performance_seeding_ttbar.root deleted file mode 100644 index 2c24c7319d8..00000000000 Binary files a/CI/physmon/reference/performance_seeding_ttbar.root and /dev/null differ diff --git a/CI/physmon/reference/performance_truth_tracking.root b/CI/physmon/reference/performance_truth_tracking.root deleted file mode 100644 index 80b20677291..00000000000 Binary files a/CI/physmon/reference/performance_truth_tracking.root and /dev/null differ diff --git a/CI/physmon/reference/particles_fatras_hist.root b/CI/physmon/reference/simulation/particles_fatras_hist.root similarity index 86% rename from CI/physmon/reference/particles_fatras_hist.root rename to CI/physmon/reference/simulation/particles_fatras_hist.root index 8b78d8977b0..9bb02761ed4 100644 Binary files a/CI/physmon/reference/particles_fatras_hist.root and b/CI/physmon/reference/simulation/particles_fatras_hist.root differ diff --git a/CI/physmon/reference/particles_geant4_hist.root b/CI/physmon/reference/simulation/particles_geant4_hist.root similarity index 84% rename from CI/physmon/reference/particles_geant4_hist.root rename to CI/physmon/reference/simulation/particles_geant4_hist.root index 25fa6399363..bd99cf9b723 100644 Binary files a/CI/physmon/reference/particles_geant4_hist.root and b/CI/physmon/reference/simulation/particles_geant4_hist.root differ diff --git a/CI/physmon/reference/particles_ttbar_hist.root b/CI/physmon/reference/simulation/particles_ttbar_hist.root similarity index 87% rename from CI/physmon/reference/particles_ttbar_hist.root rename to CI/physmon/reference/simulation/particles_ttbar_hist.root index 6f822d306a7..9100c71418a 100644 Binary files a/CI/physmon/reference/particles_ttbar_hist.root and b/CI/physmon/reference/simulation/particles_ttbar_hist.root differ diff --git a/CI/physmon/reference/vertices_ttbar_hist.root b/CI/physmon/reference/simulation/vertices_ttbar_hist.root similarity index 93% rename from CI/physmon/reference/vertices_ttbar_hist.root rename to CI/physmon/reference/simulation/vertices_ttbar_hist.root index dd1e71ede26..9e54eaed90e 100644 Binary files a/CI/physmon/reference/vertices_ttbar_hist.root and b/CI/physmon/reference/simulation/vertices_ttbar_hist.root differ diff --git a/CI/physmon/reference/trackfinding_1muon/orthogonal/performance_ckf.root b/CI/physmon/reference/trackfinding_1muon/orthogonal/performance_ckf.root new file mode 100644 index 00000000000..d11ff3546ab Binary files /dev/null and b/CI/physmon/reference/trackfinding_1muon/orthogonal/performance_ckf.root differ diff --git a/CI/physmon/reference/trackfinding_1muon/orthogonal/performance_seeding.root b/CI/physmon/reference/trackfinding_1muon/orthogonal/performance_seeding.root new file mode 100644 index 00000000000..d55d3833570 Binary files /dev/null and b/CI/physmon/reference/trackfinding_1muon/orthogonal/performance_seeding.root differ diff --git a/CI/physmon/reference/trackfinding_1muon/orthogonal/tracksummary_ckf_hist.root b/CI/physmon/reference/trackfinding_1muon/orthogonal/tracksummary_ckf_hist.root new file mode 100644 index 00000000000..ed8076f3217 Binary files /dev/null and b/CI/physmon/reference/trackfinding_1muon/orthogonal/tracksummary_ckf_hist.root differ diff --git a/CI/physmon/reference/trackfinding_1muon/seeded/performance_ckf.root b/CI/physmon/reference/trackfinding_1muon/seeded/performance_ckf.root new file mode 100644 index 00000000000..515090462a0 Binary files /dev/null and b/CI/physmon/reference/trackfinding_1muon/seeded/performance_ckf.root differ diff --git a/CI/physmon/reference/trackfinding_1muon/seeded/performance_seeding.root b/CI/physmon/reference/trackfinding_1muon/seeded/performance_seeding.root new file mode 100644 index 00000000000..0c64e9fe631 Binary files /dev/null and b/CI/physmon/reference/trackfinding_1muon/seeded/performance_seeding.root differ diff --git a/CI/physmon/reference/trackfinding_1muon/seeded/tracksummary_ckf_hist.root b/CI/physmon/reference/trackfinding_1muon/seeded/tracksummary_ckf_hist.root new file mode 100644 index 00000000000..c5addb4d78b Binary files /dev/null and b/CI/physmon/reference/trackfinding_1muon/seeded/tracksummary_ckf_hist.root differ diff --git a/CI/physmon/reference/trackfinding_1muon/truth_estimated/performance_ckf.root b/CI/physmon/reference/trackfinding_1muon/truth_estimated/performance_ckf.root new file mode 100644 index 00000000000..3feb0e1e4c0 Binary files /dev/null and b/CI/physmon/reference/trackfinding_1muon/truth_estimated/performance_ckf.root differ diff --git a/CI/physmon/reference/trackfinding_1muon/truth_estimated/performance_seeding.root b/CI/physmon/reference/trackfinding_1muon/truth_estimated/performance_seeding.root new file mode 100644 index 00000000000..06abee42be7 Binary files /dev/null and b/CI/physmon/reference/trackfinding_1muon/truth_estimated/performance_seeding.root differ diff --git a/CI/physmon/reference/trackfinding_1muon/truth_estimated/tracksummary_ckf_hist.root b/CI/physmon/reference/trackfinding_1muon/truth_estimated/tracksummary_ckf_hist.root new file mode 100644 index 00000000000..9ce90f1355b Binary files /dev/null and b/CI/physmon/reference/trackfinding_1muon/truth_estimated/tracksummary_ckf_hist.root differ diff --git a/CI/physmon/reference/trackfinding_1muon/truth_smeared/performance_ckf.root b/CI/physmon/reference/trackfinding_1muon/truth_smeared/performance_ckf.root new file mode 100644 index 00000000000..be2ac6376d8 Binary files /dev/null and b/CI/physmon/reference/trackfinding_1muon/truth_smeared/performance_ckf.root differ diff --git a/CI/physmon/reference/trackfinding_1muon/truth_smeared/tracksummary_ckf_hist.root b/CI/physmon/reference/trackfinding_1muon/truth_smeared/tracksummary_ckf_hist.root new file mode 100644 index 00000000000..632d9583785 Binary files /dev/null and b/CI/physmon/reference/trackfinding_1muon/truth_smeared/tracksummary_ckf_hist.root differ diff --git a/CI/physmon/reference/trackfinding_4muon_50vertices/performance_ckf.root b/CI/physmon/reference/trackfinding_4muon_50vertices/performance_ckf.root new file mode 100644 index 00000000000..6a6ecc7d054 Binary files /dev/null and b/CI/physmon/reference/trackfinding_4muon_50vertices/performance_ckf.root differ diff --git a/CI/physmon/reference/trackfinding_4muon_50vertices/performance_ckf_ambi.root b/CI/physmon/reference/trackfinding_4muon_50vertices/performance_ckf_ambi.root new file mode 100644 index 00000000000..49e0fcda2c1 Binary files /dev/null and b/CI/physmon/reference/trackfinding_4muon_50vertices/performance_ckf_ambi.root differ diff --git a/CI/physmon/reference/trackfinding_4muon_50vertices/performance_seeding.root b/CI/physmon/reference/trackfinding_4muon_50vertices/performance_seeding.root new file mode 100644 index 00000000000..0a59b0fba85 Binary files /dev/null and b/CI/physmon/reference/trackfinding_4muon_50vertices/performance_seeding.root differ diff --git a/CI/physmon/reference/trackfinding_4muon_50vertices/performance_vertexing_amvf_gauss_notime_hist.root b/CI/physmon/reference/trackfinding_4muon_50vertices/performance_vertexing_amvf_gauss_notime_hist.root new file mode 100644 index 00000000000..b72a71cbb42 Binary files /dev/null and b/CI/physmon/reference/trackfinding_4muon_50vertices/performance_vertexing_amvf_gauss_notime_hist.root differ diff --git a/CI/physmon/reference/trackfinding_4muon_50vertices/performance_vertexing_amvf_grid_time_hist.root b/CI/physmon/reference/trackfinding_4muon_50vertices/performance_vertexing_amvf_grid_time_hist.root new file mode 100644 index 00000000000..fed2ae9c28e Binary files /dev/null and b/CI/physmon/reference/trackfinding_4muon_50vertices/performance_vertexing_amvf_grid_time_hist.root differ diff --git a/CI/physmon/reference/trackfinding_4muon_50vertices/performance_vertexing_ivf_notime_hist.root b/CI/physmon/reference/trackfinding_4muon_50vertices/performance_vertexing_ivf_notime_hist.root new file mode 100644 index 00000000000..377bf998d6c Binary files /dev/null and b/CI/physmon/reference/trackfinding_4muon_50vertices/performance_vertexing_ivf_notime_hist.root differ diff --git a/CI/physmon/reference/trackfinding_4muon_50vertices/tracksummary_ckf_hist.root b/CI/physmon/reference/trackfinding_4muon_50vertices/tracksummary_ckf_hist.root new file mode 100644 index 00000000000..07ad96265d6 Binary files /dev/null and b/CI/physmon/reference/trackfinding_4muon_50vertices/tracksummary_ckf_hist.root differ diff --git a/CI/physmon/reference/trackfinding_ttbar_pu200/performance_ckf.root b/CI/physmon/reference/trackfinding_ttbar_pu200/performance_ckf.root new file mode 100644 index 00000000000..2a692f3d751 Binary files /dev/null and b/CI/physmon/reference/trackfinding_ttbar_pu200/performance_ckf.root differ diff --git a/CI/physmon/reference/trackfinding_ttbar_pu200/performance_ckf_ambi.root b/CI/physmon/reference/trackfinding_ttbar_pu200/performance_ckf_ambi.root new file mode 100644 index 00000000000..8448a28ef8d Binary files /dev/null and b/CI/physmon/reference/trackfinding_ttbar_pu200/performance_ckf_ambi.root differ diff --git a/CI/physmon/reference/trackfinding_ttbar_pu200/performance_seeding.root b/CI/physmon/reference/trackfinding_ttbar_pu200/performance_seeding.root new file mode 100644 index 00000000000..7447c9e6b58 Binary files /dev/null and b/CI/physmon/reference/trackfinding_ttbar_pu200/performance_seeding.root differ diff --git a/CI/physmon/reference/trackfinding_ttbar_pu200/performance_vertexing_amvf_gauss_notime_hist.root b/CI/physmon/reference/trackfinding_ttbar_pu200/performance_vertexing_amvf_gauss_notime_hist.root new file mode 100644 index 00000000000..cb06eab079b Binary files /dev/null and b/CI/physmon/reference/trackfinding_ttbar_pu200/performance_vertexing_amvf_gauss_notime_hist.root differ diff --git a/CI/physmon/reference/trackfinding_ttbar_pu200/performance_vertexing_amvf_grid_time_hist.root b/CI/physmon/reference/trackfinding_ttbar_pu200/performance_vertexing_amvf_grid_time_hist.root new file mode 100644 index 00000000000..3c6a4b94200 Binary files /dev/null and b/CI/physmon/reference/trackfinding_ttbar_pu200/performance_vertexing_amvf_grid_time_hist.root differ diff --git a/CI/physmon/reference/trackfinding_ttbar_pu200/tracksummary_ckf_hist.root b/CI/physmon/reference/trackfinding_ttbar_pu200/tracksummary_ckf_hist.root new file mode 100644 index 00000000000..a5f58e1e065 Binary files /dev/null and b/CI/physmon/reference/trackfinding_ttbar_pu200/tracksummary_ckf_hist.root differ diff --git a/CI/physmon/reference/trackfitting_gsf/performance_trackfitting.root b/CI/physmon/reference/trackfitting_gsf/performance_trackfitting.root new file mode 100644 index 00000000000..02975d42572 Binary files /dev/null and b/CI/physmon/reference/trackfitting_gsf/performance_trackfitting.root differ diff --git a/CI/physmon/reference/trackfitting_gx2f/performance_trackfitting.root b/CI/physmon/reference/trackfitting_gx2f/performance_trackfitting.root new file mode 100644 index 00000000000..0b1e216915e Binary files /dev/null and b/CI/physmon/reference/trackfitting_gx2f/performance_trackfitting.root differ diff --git a/CI/physmon/reference/trackfitting_kf/performance_trackfitting.root b/CI/physmon/reference/trackfitting_kf/performance_trackfitting.root new file mode 100644 index 00000000000..aade25ba5a2 Binary files /dev/null and b/CI/physmon/reference/trackfitting_kf/performance_trackfitting.root differ diff --git a/CI/physmon/reference/tracksummary_ckf_orthogonal_hist.root b/CI/physmon/reference/tracksummary_ckf_orthogonal_hist.root deleted file mode 100644 index 17568bda0d1..00000000000 Binary files a/CI/physmon/reference/tracksummary_ckf_orthogonal_hist.root and /dev/null differ diff --git a/CI/physmon/reference/tracksummary_ckf_seeded_hist.root b/CI/physmon/reference/tracksummary_ckf_seeded_hist.root deleted file mode 100644 index d94d7d61036..00000000000 Binary files a/CI/physmon/reference/tracksummary_ckf_seeded_hist.root and /dev/null differ diff --git a/CI/physmon/reference/tracksummary_ckf_truth_estimated_hist.root b/CI/physmon/reference/tracksummary_ckf_truth_estimated_hist.root deleted file mode 100644 index 45967d27ba1..00000000000 Binary files a/CI/physmon/reference/tracksummary_ckf_truth_estimated_hist.root and /dev/null differ diff --git a/CI/physmon/reference/tracksummary_ckf_truth_smeared_hist.root b/CI/physmon/reference/tracksummary_ckf_truth_smeared_hist.root deleted file mode 100644 index bcc83d6d6fa..00000000000 Binary files a/CI/physmon/reference/tracksummary_ckf_truth_smeared_hist.root and /dev/null differ diff --git a/CI/physmon/reference/tracksummary_ckf_ttbar_hist.root b/CI/physmon/reference/tracksummary_ckf_ttbar_hist.root deleted file mode 100644 index 49a8555ee7e..00000000000 Binary files a/CI/physmon/reference/tracksummary_ckf_ttbar_hist.root and /dev/null differ diff --git a/CI/physmon/summary.py b/CI/physmon/summary.py index dfd35331a55..a7de3ed74c8 100755 --- a/CI/physmon/summary.py +++ b/CI/physmon/summary.py @@ -23,12 +23,12 @@ with open(args.results) as f: reader = csv.reader(f) - for title, slug, ec in reader: + for title, html_path, ec in reader: summary.append( { "title": title, "total": ec == "0", - "path": f"{slug}.html", + "path": html_path, } ) diff --git a/CI/physmon/workflows/physmon_ckf_tracking.py b/CI/physmon/workflows/physmon_ckf_tracking.py deleted file mode 100755 index 969224f14aa..00000000000 --- a/CI/physmon/workflows/physmon_ckf_tracking.py +++ /dev/null @@ -1,269 +0,0 @@ -#!/usr/bin/env python3 - -import tempfile -from pathlib import Path -import shutil - -import acts -from acts.examples.simulation import ( - addParticleGun, - MomentumConfig, - EtaConfig, - PhiConfig, - ParticleConfig, - addFatras, - addDigitization, -) - -from acts.examples.reconstruction import ( - addSeeding, - TruthSeedRanges, - ParticleSmearingSigmas, - SeedFinderConfigArg, - SeedFinderOptionsArg, - SeedingAlgorithm, - TruthEstimatedSeedingAlgorithmConfigArg, - CkfConfig, - addCKFTracks, - addAmbiguityResolution, - AmbiguityResolutionConfig, - addVertexFitting, - VertexFinder, - TrackSelectorConfig, -) - -from physmon_common import makeSetup - -u = acts.UnitConstants - -setup = makeSetup() - - -def run_ckf_tracking(truthSmearedSeeded, truthEstimatedSeeded, label): - with tempfile.TemporaryDirectory() as temp: - s = acts.examples.Sequencer( - events=500, - numThreads=-1, - logLevel=acts.logging.INFO, - ) - - tp = Path(temp) - - for d in setup.decorators: - s.addContextDecorator(d) - - rnd = acts.examples.RandomNumbers(seed=42) - - addParticleGun( - s, - MomentumConfig(1.0 * u.GeV, 10.0 * u.GeV, transverse=True), - EtaConfig(-3.0, 3.0), - PhiConfig(0.0, 360.0 * u.degree), - ParticleConfig(4, acts.PdgParticle.eMuon, randomizeCharge=True), - vtxGen=acts.examples.GaussianVertexGenerator( - mean=acts.Vector4(0, 0, 0, 0), - stddev=acts.Vector4( - 0.0125 * u.mm, 0.0125 * u.mm, 55.5 * u.mm, 1.0 * u.ns - ), - ), - multiplicity=50, - rnd=rnd, - ) - - addFatras( - s, - setup.trackingGeometry, - setup.field, - enableInteractions=True, - rnd=rnd, - ) - - addDigitization( - s, - setup.trackingGeometry, - setup.field, - digiConfigFile=setup.digiConfig, - rnd=rnd, - ) - - addSeeding( - s, - setup.trackingGeometry, - setup.field, - TruthSeedRanges(pt=(500 * u.MeV, None), nHits=(9, None)), - ParticleSmearingSigmas( # only used by SeedingAlgorithm.TruthSmeared - # zero eveything so the CKF has a chance to find the measurements - d0=0, - d0PtA=0, - d0PtB=0, - z0=0, - z0PtA=0, - z0PtB=0, - t0=0, - phi=0, - theta=0, - ptRel=0, - ), - SeedFinderConfigArg( - r=(33 * u.mm, 200 * u.mm), - deltaR=(1 * u.mm, 60 * u.mm), - collisionRegion=(-250 * u.mm, 250 * u.mm), - z=(-2000 * u.mm, 2000 * u.mm), - maxSeedsPerSpM=1, - sigmaScattering=5, - radLengthPerSeed=0.1, - minPt=500 * u.MeV, - impactMax=3 * u.mm, - ), - SeedFinderOptionsArg(bFieldInZ=2 * u.T), - TruthEstimatedSeedingAlgorithmConfigArg(deltaR=(10.0 * u.mm, None)), - seedingAlgorithm=( - SeedingAlgorithm.TruthSmeared - if truthSmearedSeeded - else ( - SeedingAlgorithm.TruthEstimated - if truthEstimatedSeeded - else ( - SeedingAlgorithm.Default - if label == "seeded" - else SeedingAlgorithm.Orthogonal - ) - ) - ), - initialSigmas=[ - 1 * u.mm, - 1 * u.mm, - 1 * u.degree, - 1 * u.degree, - 0.1 * u.e / u.GeV, - 1 * u.ns, - ], - initialSigmaPtRel=0.01, - initialVarInflation=[1.0] * 6, - geoSelectionConfigFile=setup.geoSel, - rnd=rnd, # only used by SeedingAlgorithm.TruthSmeared - outputDirRoot=tp, - ) - - addCKFTracks( - s, - setup.trackingGeometry, - setup.field, - TrackSelectorConfig( - pt=(500 * u.MeV, None), - loc0=(-4.0 * u.mm, 4.0 * u.mm), - nMeasurementsMin=6, - maxHoles=2, - maxOutliers=2, - ), - CkfConfig( - seedDeduplication=False if truthSmearedSeeded else True, - stayOnSeed=False if truthSmearedSeeded else True, - ), - outputDirRoot=tp, - ) - - if label in ["seeded", "orthogonal"]: - addAmbiguityResolution( - s, - AmbiguityResolutionConfig( - maximumSharedHits=3, - maximumIterations=10000, - nMeasurementsMin=6, - ), - outputDirRoot=tp, - ) - - s.addAlgorithm( - acts.examples.TracksToParameters( - level=acts.logging.INFO, - inputTracks="tracks", - outputTrackParameters="trackParameters", - ) - ) - - # Choosing a seeder only has an effect on VertexFinder.AMVF. For - # VertexFinder.IVF we always use acts.VertexSeedFinder.GaussianSeeder - # (Python binding is not implemented). - # Setting useTime also only has an effect on VertexFinder.AMVF due to - # the same reason. - addVertexFitting( - s, - setup.field, - trackParameters="trackParameters", - outputProtoVertices="ivf_protovertices", - outputVertices="ivf_fittedVertices", - vertexFinder=VertexFinder.Iterative, - outputDirRoot=tp / "ivf", - ) - - addVertexFitting( - s, - setup.field, - trackParameters="trackParameters", - outputProtoVertices="amvf_protovertices", - outputVertices="amvf_fittedVertices", - seeder=acts.VertexSeedFinder.GaussianSeeder, - useTime=False, # Time seeding not implemented for the Gaussian seeder - vertexFinder=VertexFinder.AMVF, - outputDirRoot=tp / "amvf", - ) - - # Use the adaptive grid vertex seeder in combination with the AMVF - # To avoid having too many physmon cases, we only do this for the label - # "seeded" - if label == "seeded": - addVertexFitting( - s, - setup.field, - trackParameters="trackParameters", - outputProtoVertices="amvf_gridseeder_protovertices", - outputVertices="amvf_gridseeder_fittedVertices", - seeder=acts.VertexSeedFinder.AdaptiveGridSeeder, - useTime=True, - vertexFinder=VertexFinder.AMVF, - outputDirRoot=tp / "amvf_gridseeder", - ) - - s.run() - del s - - for vertexing in ["ivf", "amvf"]: - shutil.move( - tp / f"{vertexing}/performance_vertexing.root", - tp / f"performance_{vertexing}.root", - ) - - if label == "seeded": - vertexing = "amvf_gridseeder" - shutil.move( - tp / f"{vertexing}/performance_vertexing.root", - tp / f"performance_{vertexing}.root", - ) - - for stem in ( - [ - "performance_ckf", - "tracksummary_ckf", - "performance_ivf", - "performance_amvf", - ] - + (["performance_amvf_gridseeder"] if label == "seeded" else []) - + ( - ["performance_seeding", "performance_ambi"] - if label in ["seeded", "orthogonal"] - else ["performance_seeding"] if label == "truth_estimated" else [] - ) - ): - perf_file = tp / f"{stem}.root" - assert perf_file.exists(), "Performance file not found" - shutil.copy(perf_file, setup.outdir / f"{stem}_{label}.root") - - -for truthSmearedSeeded, truthEstimatedSeeded, label in [ - (True, False, "truth_smeared"), # if first is true, second is ignored - (False, True, "truth_estimated"), - (False, False, "seeded"), - (False, False, "orthogonal"), -]: - run_ckf_tracking(truthSmearedSeeded, truthEstimatedSeeded, label) diff --git a/CI/physmon/workflows/physmon_simulation.py b/CI/physmon/workflows/physmon_simulation.py index f5e9069cb2e..e2f0a71ad38 100755 --- a/CI/physmon/workflows/physmon_simulation.py +++ b/CI/physmon/workflows/physmon_simulation.py @@ -9,6 +9,7 @@ addFatras, addGeant4, ParticleSelectorConfig, + addPythia8, ) from physmon_common import makeSetup @@ -105,3 +106,39 @@ ]: assert file.exists(), "file not found" shutil.copy(file, setup.outdir / name) + +with tempfile.TemporaryDirectory() as temp: + s = acts.examples.Sequencer( + events=3, + numThreads=-1, + logLevel=acts.logging.INFO, + ) + + tp = Path(temp) + + for d in setup.decorators: + s.addContextDecorator(d) + + rnd = acts.examples.RandomNumbers(seed=42) + + addPythia8( + s, + hardProcess=["Top:qqbar2ttbar=on"], + npileup=200, + vtxGen=acts.examples.GaussianVertexGenerator( + mean=acts.Vector4(0, 0, 0, 0), + stddev=acts.Vector4(0.0125 * u.mm, 0.0125 * u.mm, 55.5 * u.mm, 5.0 * u.ns), + ), + rnd=rnd, + outputDirRoot=tp, + ) + + s.run() + del s + + for file, name in [ + (tp / "pythia8_particles.root", "particles_ttbar.root"), + (tp / "pythia8_vertices.root", "vertices_ttbar.root"), + ]: + assert file.exists(), "file not found" + shutil.copy(file, setup.outdir / name) diff --git a/CI/physmon/workflows/physmon_vertexing.py b/CI/physmon/workflows/physmon_trackfinding_1muon.py similarity index 59% rename from CI/physmon/workflows/physmon_vertexing.py rename to CI/physmon/workflows/physmon_trackfinding_1muon.py index 2486923b019..62bdbf97ee2 100755 --- a/CI/physmon/workflows/physmon_vertexing.py +++ b/CI/physmon/workflows/physmon_trackfinding_1muon.py @@ -1,8 +1,8 @@ #!/usr/bin/env python3 + import tempfile from pathlib import Path import shutil -import datetime import acts from acts.examples.simulation import ( @@ -17,15 +17,14 @@ from acts.examples.reconstruction import ( addSeeding, + TruthSeedRanges, + ParticleSmearingSigmas, SeedFinderConfigArg, SeedFinderOptionsArg, SeedingAlgorithm, + TruthEstimatedSeedingAlgorithmConfigArg, CkfConfig, addCKFTracks, - addAmbiguityResolution, - AmbiguityResolutionConfig, - addVertexFitting, - VertexFinder, TrackSelectorConfig, ) @@ -36,10 +35,10 @@ setup = makeSetup() -def run_vertexing(fitter, mu, events): +def run_ckf_tracking(label, seeding): with tempfile.TemporaryDirectory() as temp: s = acts.examples.Sequencer( - events=events, + events=10000, numThreads=-1, logLevel=acts.logging.INFO, ) @@ -54,16 +53,16 @@ def run_vertexing(fitter, mu, events): addParticleGun( s, MomentumConfig(1.0 * u.GeV, 10.0 * u.GeV, transverse=True), - EtaConfig(-3.0, 3.0), + EtaConfig(-3.0, 3.0, uniform=True), PhiConfig(0.0, 360.0 * u.degree), - ParticleConfig(4, acts.PdgParticle.eMuon, randomizeCharge=True), + ParticleConfig(1, acts.PdgParticle.eMuon, randomizeCharge=True), vtxGen=acts.examples.GaussianVertexGenerator( mean=acts.Vector4(0, 0, 0, 0), stddev=acts.Vector4( 0.0125 * u.mm, 0.0125 * u.mm, 55.5 * u.mm, 1.0 * u.ns ), ), - multiplicity=mu, + multiplicity=1, rnd=rnd, ) @@ -87,6 +86,20 @@ def run_vertexing(fitter, mu, events): s, setup.trackingGeometry, setup.field, + TruthSeedRanges(pt=(500 * u.MeV, None), nHits=(9, None)), + ParticleSmearingSigmas( # only used by SeedingAlgorithm.TruthSmeared + # zero eveything so the CKF has a chance to find the measurements + d0=0, + d0PtA=0, + d0PtB=0, + z0=0, + z0PtA=0, + z0PtB=0, + t0=0, + phi=0, + theta=0, + ptRel=0, + ), SeedFinderConfigArg( r=(33 * u.mm, 200 * u.mm), deltaR=(1 * u.mm, 60 * u.mm), @@ -99,7 +112,8 @@ def run_vertexing(fitter, mu, events): impactMax=3 * u.mm, ), SeedFinderOptionsArg(bFieldInZ=2 * u.T), - seedingAlgorithm=SeedingAlgorithm.Default, + TruthEstimatedSeedingAlgorithmConfigArg(deltaR=(10.0 * u.mm, None)), + seedingAlgorithm=seeding, initialSigmas=[ 1 * u.mm, 1 * u.mm, @@ -108,9 +122,11 @@ def run_vertexing(fitter, mu, events): 0.1 * u.e / u.GeV, 1 * u.ns, ], - initialSigmaPtRel=0.1, + initialSigmaPtRel=0.01, initialVarInflation=[1.0] * 6, geoSelectionConfigFile=setup.geoSel, + rnd=rnd, # only used by SeedingAlgorithm.TruthSmeared + outputDirRoot=tp, ) addCKFTracks( @@ -118,57 +134,42 @@ def run_vertexing(fitter, mu, events): setup.trackingGeometry, setup.field, TrackSelectorConfig( - loc0=(-4.0 * u.mm, 4.0 * u.mm), pt=(500 * u.MeV, None), + loc0=(-4.0 * u.mm, 4.0 * u.mm), nMeasurementsMin=6, maxHoles=2, maxOutliers=2, ), CkfConfig( - seedDeduplication=True, - stayOnSeed=True, - ), - ) - - addAmbiguityResolution( - s, - AmbiguityResolutionConfig( - maximumSharedHits=3, - maximumIterations=10000, - nMeasurementsMin=6, + seedDeduplication=( + True if seeding != SeedingAlgorithm.TruthSmeared else False + ), + stayOnSeed=True if seeding != SeedingAlgorithm.TruthSmeared else False, ), - ) - - addVertexFitting( - s, - setup.field, - vertexFinder=fitter, outputDirRoot=tp, ) s.run() - del s - perf_file = tp / f"performance_vertexing.root" - assert perf_file.exists(), "Performance file not found" - shutil.copy( - perf_file, - setup.outdir / f"performance_vertexing_{fitter.name}_mu{mu}.root", - ) - - -for fitter in (VertexFinder.Iterative, VertexFinder.AMVF): - for mu in (1, 10, 25, 50, 75, 100, 125, 150, 175, 200): - start = datetime.datetime.now() - - events = 5 - run_vertexing(fitter, mu, events) - - delta = datetime.datetime.now() - start - - duration = delta.total_seconds() / events - - ( - setup.outdir / f"performance_vertexing_{fitter.name}_mu{mu}_time.txt" - ).write_text(str(duration)) + for file in ( + ["performance_seeding.root"] + if seeding != SeedingAlgorithm.TruthSmeared + else [] + ) + [ + "performance_ckf.root", + "tracksummary_ckf.root", + ]: + perf_file = tp / file + assert perf_file.exists(), f"Performance file not found {perf_file}" + (setup.outdir / label).mkdir(parents=True, exist_ok=True) + shutil.copy(perf_file, setup.outdir / label / file) + + +for label, seeding in [ + ("truth_smeared", SeedingAlgorithm.TruthSmeared), + ("truth_estimated", SeedingAlgorithm.TruthEstimated), + ("seeded", SeedingAlgorithm.Default), + ("orthogonal", SeedingAlgorithm.Orthogonal), +]: + run_ckf_tracking(label, seeding) diff --git a/CI/physmon/workflows/physmon_trackfinding_4muon_50vertices.py b/CI/physmon/workflows/physmon_trackfinding_4muon_50vertices.py new file mode 100755 index 00000000000..da966a320e1 --- /dev/null +++ b/CI/physmon/workflows/physmon_trackfinding_4muon_50vertices.py @@ -0,0 +1,213 @@ +#!/usr/bin/env python3 + +import tempfile +from pathlib import Path +import shutil + +import acts +from acts.examples.simulation import ( + addParticleGun, + MomentumConfig, + EtaConfig, + PhiConfig, + ParticleConfig, + addFatras, + addDigitization, +) +from acts.examples.reconstruction import ( + addSeeding, + TruthSeedRanges, + SeedFinderConfigArg, + SeedFinderOptionsArg, + SeedingAlgorithm, + CkfConfig, + addCKFTracks, + addAmbiguityResolution, + AmbiguityResolutionConfig, + addVertexFitting, + VertexFinder, + TrackSelectorConfig, +) + +from physmon_common import makeSetup + +u = acts.UnitConstants + +setup = makeSetup() + + +with tempfile.TemporaryDirectory() as temp: + s = acts.examples.Sequencer( + events=3, + numThreads=-1, + logLevel=acts.logging.INFO, + ) + + tp = Path(temp) + + for d in setup.decorators: + s.addContextDecorator(d) + + rnd = acts.examples.RandomNumbers(seed=42) + + addParticleGun( + s, + MomentumConfig(1.0 * u.GeV, 10.0 * u.GeV, transverse=True), + EtaConfig(-3.0, 3.0, uniform=True), + PhiConfig(0.0, 360.0 * u.degree), + ParticleConfig(10, acts.PdgParticle.eMuon, randomizeCharge=True), + vtxGen=acts.examples.GaussianVertexGenerator( + mean=acts.Vector4(0, 0, 0, 0), + stddev=acts.Vector4(0.0125 * u.mm, 0.0125 * u.mm, 55.5 * u.mm, 1.0 * u.ns), + ), + multiplicity=50, + rnd=rnd, + ) + + addFatras( + s, + setup.trackingGeometry, + setup.field, + rnd=rnd, + ) + + addDigitization( + s, + setup.trackingGeometry, + setup.field, + digiConfigFile=setup.digiConfig, + rnd=rnd, + ) + + addSeeding( + s, + setup.trackingGeometry, + setup.field, + TruthSeedRanges(pt=(500.0 * u.MeV, None), nHits=(9, None)), + SeedFinderConfigArg( + r=(33 * u.mm, 200 * u.mm), + deltaR=(1 * u.mm, 60 * u.mm), + collisionRegion=(-250 * u.mm, 250 * u.mm), + z=(-2000 * u.mm, 2000 * u.mm), + maxSeedsPerSpM=1, + sigmaScattering=5, + radLengthPerSeed=0.1, + minPt=500 * u.MeV, + impactMax=3 * u.mm, + ), + SeedFinderOptionsArg(bFieldInZ=2 * u.T, beamPos=(0.0, 0.0)), + seedingAlgorithm=SeedingAlgorithm.Default, + initialSigmas=[ + 1 * u.mm, + 1 * u.mm, + 1 * u.degree, + 1 * u.degree, + 0.1 * u.e / u.GeV, + 1 * u.ns, + ], + initialSigmaPtRel=0.01, + initialVarInflation=[1.0] * 6, + geoSelectionConfigFile=setup.geoSel, + outputDirRoot=tp, + ) + + addCKFTracks( + s, + setup.trackingGeometry, + setup.field, + TrackSelectorConfig( + pt=(500 * u.MeV, None), + loc0=(-4.0 * u.mm, 4.0 * u.mm), + nMeasurementsMin=6, + maxHoles=2, + maxOutliers=2, + ), + CkfConfig( + seedDeduplication=True, + stayOnSeed=True, + ), + outputDirRoot=tp, + ) + + addAmbiguityResolution( + s, + AmbiguityResolutionConfig( + maximumSharedHits=3, + maximumIterations=100000, + nMeasurementsMin=6, + ), + outputDirRoot=tp, + ) + + s.addAlgorithm( + acts.examples.TracksToParameters( + level=acts.logging.INFO, + inputTracks="tracks", + outputTrackParameters="trackParameters", + ) + ) + + # Choosing a seeder only has an effect on VertexFinder.AMVF. For + # VertexFinder.IVF we always use acts.VertexSeedFinder.GaussianSeeder + # (Python binding is not implemented). + # Setting useTime also only has an effect on VertexFinder.AMVF due to + # the same reason. + addVertexFitting( + s, + setup.field, + trackParameters="trackParameters", + outputProtoVertices="ivf_notime_protovertices", + outputVertices="ivf_notime_fittedVertices", + vertexFinder=VertexFinder.Iterative, + outputDirRoot=tp / "ivf_notime", + ) + + addVertexFitting( + s, + setup.field, + trackParameters="trackParameters", + outputProtoVertices="amvf_gauss_notime_protovertices", + outputVertices="amvf_gauss_notime_fittedVertices", + seeder=acts.VertexSeedFinder.GaussianSeeder, + useTime=False, # Time seeding not implemented for the Gaussian seeder + vertexFinder=VertexFinder.AMVF, + outputDirRoot=tp / "amvf_gauss_notime", + ) + + addVertexFitting( + s, + setup.field, + trackParameters="trackParameters", + outputProtoVertices="amvf_grid_time_protovertices", + outputVertices="amvf_grid_time_fittedVertices", + seeder=acts.VertexSeedFinder.AdaptiveGridSeeder, + useTime=True, + vertexFinder=VertexFinder.AMVF, + outputDirRoot=tp / "amvf_grid_time", + ) + + s.run() + del s + + shutil.move( + tp / "performance_ambi.root", + tp / "performance_ckf_ambi.root", + ) + for vertexing in ["ivf_notime", "amvf_gauss_notime", "amvf_grid_time"]: + shutil.move( + tp / f"{vertexing}/performance_vertexing.root", + tp / f"performance_vertexing_{vertexing}.root", + ) + + for file in [ + "performance_seeding.root", + "tracksummary_ckf.root", + "performance_ckf.root", + "performance_ckf_ambi.root", + "performance_vertexing_ivf_notime.root", + "performance_vertexing_amvf_gauss_notime.root", + "performance_vertexing_amvf_grid_time.root", + ]: + perf_file = tp / file + assert perf_file.exists(), f"Performance file not found {perf_file}" + shutil.copy(perf_file, setup.outdir / file) diff --git a/CI/physmon/workflows/physmon_track_finding_ttbar.py b/CI/physmon/workflows/physmon_trackfinding_ttbar_pu200.py similarity index 74% rename from CI/physmon/workflows/physmon_track_finding_ttbar.py rename to CI/physmon/workflows/physmon_trackfinding_ttbar_pu200.py index ad159a36380..b855e313745 100755 --- a/CI/physmon/workflows/physmon_track_finding_ttbar.py +++ b/CI/physmon/workflows/physmon_trackfinding_ttbar_pu200.py @@ -91,6 +91,16 @@ ), SeedFinderOptionsArg(bFieldInZ=2 * u.T, beamPos=(0.0, 0.0)), seedingAlgorithm=SeedingAlgorithm.Default, + initialSigmas=[ + 1 * u.mm, + 1 * u.mm, + 1 * u.degree, + 1 * u.degree, + 0.1 * u.e / u.GeV, + 1 * u.ns, + ], + initialSigmaPtRel=0.01, + initialVarInflation=[1.0] * 6, geoSelectionConfigFile=setup.geoSel, outputDirRoot=tp, ) @@ -136,11 +146,11 @@ setup.field, tracks="tracks", trackParameters="trackParameters", - outputProtoVertices="amvf_protovertices", - outputVertices="amvf_fittedVertices", + outputProtoVertices="amvf_gauss_notime_protovertices", + outputVertices="amvf_gauss_notime_fittedVertices", seeder=acts.VertexSeedFinder.GaussianSeeder, vertexFinder=VertexFinder.AMVF, - outputDirRoot=tp / "amvf", + outputDirRoot=tp / "amvf_gauss_notime", ) addVertexFitting( @@ -148,33 +158,35 @@ setup.field, tracks="tracks", trackParameters="trackParameters", - outputProtoVertices="amvf_gridseeder_protovertices", - outputVertices="amvf_gridseeder_fittedVertices", + outputProtoVertices="amvf_grid_time_protovertices", + outputVertices="amvf_grid_time_fittedVertices", seeder=acts.VertexSeedFinder.AdaptiveGridSeeder, useTime=True, vertexFinder=VertexFinder.AMVF, - outputDirRoot=tp / "amvf_gridseeder", + outputDirRoot=tp / "amvf_grid_time", ) s.run() del s - for vertexing in ["amvf", "amvf_gridseeder"]: + shutil.move( + tp / "performance_ambi.root", + tp / "performance_ckf_ambi.root", + ) + for vertexing in ["amvf_gauss_notime", "amvf_grid_time"]: shutil.move( tp / f"{vertexing}/performance_vertexing.root", - tp / f"performance_{vertexing}.root", + tp / f"performance_vertexing_{vertexing}.root", ) - for stem in [ - "performance_ckf", - "tracksummary_ckf", - "performance_amvf", - "performance_amvf_gridseeder", - "performance_seeding", - "performance_ambi", - "pythia8_particles", - "pythia8_vertices", + for file in [ + "performance_seeding.root", + "tracksummary_ckf.root", + "performance_ckf.root", + "performance_ckf_ambi.root", + "performance_vertexing_amvf_gauss_notime.root", + "performance_vertexing_amvf_grid_time.root", ]: - perf_file = tp / f"{stem}.root" - assert perf_file.exists(), "Performance file not found" - shutil.copy(perf_file, setup.outdir / f"{stem}_ttbar.root") + perf_file = tp / file + assert perf_file.exists(), f"Performance file not found {perf_file}" + shutil.copy(perf_file, setup.outdir / file) diff --git a/CI/physmon/workflows/physmon_truth_tracking_gsf.py b/CI/physmon/workflows/physmon_trackfitting_gsf.py similarity index 89% rename from CI/physmon/workflows/physmon_truth_tracking_gsf.py rename to CI/physmon/workflows/physmon_trackfitting_gsf.py index d56cd603f23..34eb0b5a99a 100755 --- a/CI/physmon/workflows/physmon_truth_tracking_gsf.py +++ b/CI/physmon/workflows/physmon_trackfitting_gsf.py @@ -1,4 +1,5 @@ #!/usr/bin/env python3 + import tempfile from pathlib import Path import shutil @@ -31,4 +32,4 @@ perf_file = tp / "performance_gsf.root" assert perf_file.exists(), "Performance file not found" - shutil.copy(perf_file, setup.outdir / "performance_gsf.root") + shutil.copy(perf_file, setup.outdir / "performance_trackfitting.root") diff --git a/CI/physmon/workflows/physmon_truth_tracking_gx2f.py b/CI/physmon/workflows/physmon_trackfitting_gx2f.py similarity index 90% rename from CI/physmon/workflows/physmon_truth_tracking_gx2f.py rename to CI/physmon/workflows/physmon_trackfitting_gx2f.py index 019fc6b5114..2644e291757 100755 --- a/CI/physmon/workflows/physmon_truth_tracking_gx2f.py +++ b/CI/physmon/workflows/physmon_trackfitting_gx2f.py @@ -1,4 +1,5 @@ #!/usr/bin/env python3 + import tempfile from pathlib import Path import shutil @@ -31,4 +32,4 @@ perf_file = tp / "performance_gx2f.root" assert perf_file.exists(), "Performance file not found" - shutil.copy(perf_file, setup.outdir / "performance_gx2f.root") + shutil.copy(perf_file, setup.outdir / "performance_trackfitting.root") diff --git a/CI/physmon/workflows/physmon_truth_tracking_kalman.py b/CI/physmon/workflows/physmon_trackfitting_kf.py similarity index 83% rename from CI/physmon/workflows/physmon_truth_tracking_kalman.py rename to CI/physmon/workflows/physmon_trackfitting_kf.py index 712dca6ac43..1bb09d1aa57 100755 --- a/CI/physmon/workflows/physmon_truth_tracking_kalman.py +++ b/CI/physmon/workflows/physmon_trackfitting_kf.py @@ -1,4 +1,5 @@ #!/usr/bin/env python3 + import tempfile from pathlib import Path import shutil @@ -29,6 +30,6 @@ s.run() del s - perf_file = tp / "performance_track_fitter.root" + perf_file = tp / "performance_kf.root" assert perf_file.exists(), "Performance file not found" - shutil.copy(perf_file, setup.outdir / "performance_truth_tracking.root") + shutil.copy(perf_file, setup.outdir / "performance_trackfitting.root") diff --git a/Examples/Python/tests/root_file_hashes.txt b/Examples/Python/tests/root_file_hashes.txt index ad0c1584449..b7f412485f7 100644 --- a/Examples/Python/tests/root_file_hashes.txt +++ b/Examples/Python/tests/root_file_hashes.txt @@ -17,18 +17,6 @@ test_itk_seeding__particles.root: 0b6f4ad438010ac48803d48ed98e80b5e87d310bae6c2c test_itk_seeding__particles_simulation.root: ef0246069aa697019f28a8b270a68de95312cae5f2f2c74848566c3ce4f70363 test_propagation__propagation_steps.root: ba2e20d66f9f58850a9248bfaaafecbf0e8257020bb879b4572b783917f4d19b test_material_recording__geant4_material_tracks.root: c022b9362249b29f57a07926b20644e3ab4ab8ebcf03f773fbf46c446fc1a0a1 -test_truth_tracking_kalman[generic-0.0]__trackstates_fitter.root: 26640d70f7fab870e59666b0915569a6f8f82af68c63e5505548ffa9d24a3212 -test_truth_tracking_kalman[generic-0.0]__tracksummary_fitter.root: 496467c8305c52ef76f855f6eef00033f4428f785c6099b5ba60c1f3cae19dc3 -test_truth_tracking_kalman[generic-0.0]__performance_track_finder.root: ada9cda2ec3c648b144bdaa081d6eff923c80f3d484c4196006e847428cf67a8 -test_truth_tracking_kalman[generic-1000.0]__trackstates_fitter.root: 476e0dca91e5168f0574b86aea797dc22900fd456b3c3fb24d5f571b4be804fc -test_truth_tracking_kalman[generic-1000.0]__tracksummary_fitter.root: c8bdd0ccddeda38867517dd86665804bac2f3ab4bbb11a02a82dc725ee65e771 -test_truth_tracking_kalman[generic-1000.0]__performance_track_finder.root: ada9cda2ec3c648b144bdaa081d6eff923c80f3d484c4196006e847428cf67a8 -test_truth_tracking_kalman[odd-0.0]__trackstates_fitter.root: 56eeee0a03a2ba23fddc1dc56b935e4040803800c68f0f2cca1a35b40a74edb2 -test_truth_tracking_kalman[odd-0.0]__tracksummary_fitter.root: 3802b1bc849fe47bfa7ae72fb13d6bd592e0a82a97277bad12a8ceef59c00f64 -test_truth_tracking_kalman[odd-0.0]__performance_track_finder.root: 39aec6316cceb90e314e16b02947faa691c18f57c3a851a25e547a8fc05a4593 -test_truth_tracking_kalman[odd-1000.0]__trackstates_fitter.root: 72c79be1458c4f9c9a1661778c900f0875d257f2d391c4183a698825448919a1 -test_truth_tracking_kalman[odd-1000.0]__tracksummary_fitter.root: a53253b509b5779a5d856f8c09d76a499b217b55ba4b0e52d9076ffad726463f -test_truth_tracking_kalman[odd-1000.0]__performance_track_finder.root: 39aec6316cceb90e314e16b02947faa691c18f57c3a851a25e547a8fc05a4593 test_truth_tracking_gsf[generic]__trackstates_gsf.root: 1466671bee7b7cfffe90459d9aef316dcee104e6c32a2df4f2f11ea9f12ddc14 test_truth_tracking_gsf[generic]__tracksummary_gsf.root: b698e3d21eacc34fc8b0ce1d3fbe07405a4b8b549e07f0160573e64c3b401f04 test_truth_tracking_gsf[odd]__trackstates_gsf.root: 194198c9c9657b02192e573ba9969230663f179104e32e180101ffcd677b4745 @@ -85,23 +73,23 @@ test_exatrkx[cpu-torch]__performance_track_finding.root: 36b3045589c4c17c038dbc8 test_exatrkx[gpu-onnx]__performance_track_finding.root: 9090de10ffb1489d3f1993e2a3081a3038227e3e5c453e98a9a4f33ea3d6d817 test_exatrkx[gpu-torch]__performance_track_finding.root: 36b3045589c4c17c038dbc87943366f4af4440f7eea6887afb763871ac149b05 test_ML_Ambiguity_Solver__performance_ambiML.root: 284ff5c3a08c0b810938e4ac2f8ba8fe2babb17d4c202b624ed69fff731a9006 -test_truth_tracking_kalman[generic-False-0.0]__trackstates_fitter.root: a87b908ee14a3de3e8f894cb69dc011e23ec2de6fd92a71a91c367f18a7934f6 -test_truth_tracking_kalman[generic-False-0.0]__tracksummary_fitter.root: bf46a89e429fa77a380d5ee48babb8af2044196eff872825e84c0d4401357114 -test_truth_tracking_kalman[generic-False-1000.0]__trackstates_fitter.root: 5b945782c1ff59c7c30d3d2a23992292735bc3da27da6424309da9c9e9660322 -test_truth_tracking_kalman[generic-False-1000.0]__tracksummary_fitter.root: 055a74d2747d360398cc846cc2791204491528896de78cca66b188e3ff530dc1 -test_truth_tracking_kalman[generic-True-0.0]__trackstates_fitter.root: a87b908ee14a3de3e8f894cb69dc011e23ec2de6fd92a71a91c367f18a7934f6 -test_truth_tracking_kalman[generic-True-0.0]__tracksummary_fitter.root: bf46a89e429fa77a380d5ee48babb8af2044196eff872825e84c0d4401357114 -test_truth_tracking_kalman[generic-True-1000.0]__trackstates_fitter.root: 5b945782c1ff59c7c30d3d2a23992292735bc3da27da6424309da9c9e9660322 -test_truth_tracking_kalman[generic-True-1000.0]__tracksummary_fitter.root: 055a74d2747d360398cc846cc2791204491528896de78cca66b188e3ff530dc1 -test_truth_tracking_kalman[odd-False-0.0]__trackstates_fitter.root: 6e4a34638a4d76607597db1e02525f6c6a386ca44727cae255a0aa0c2b588c7f -test_truth_tracking_kalman[odd-False-0.0]__tracksummary_fitter.root: a45dbd0b6d221ec1b153f6e90d84601fe7a799134604c63be8e94bf8cd22af43 -test_truth_tracking_kalman[odd-False-1000.0]__trackstates_fitter.root: 7e0b19d1f8c818269925b95817b9c92c68af3b841fdbd21560aa55688ddec786 -test_truth_tracking_kalman[odd-False-1000.0]__tracksummary_fitter.root: 15a542955428dec0776c8317a33b7ef6c14858888ffc7406b00ac7044694b137 -test_truth_tracking_kalman[odd-True-0.0]__trackstates_fitter.root: 6e4a34638a4d76607597db1e02525f6c6a386ca44727cae255a0aa0c2b588c7f -test_truth_tracking_kalman[odd-True-0.0]__tracksummary_fitter.root: a45dbd0b6d221ec1b153f6e90d84601fe7a799134604c63be8e94bf8cd22af43 -test_truth_tracking_kalman[odd-True-1000.0]__trackstates_fitter.root: 7e0b19d1f8c818269925b95817b9c92c68af3b841fdbd21560aa55688ddec786 -test_truth_tracking_kalman[odd-True-1000.0]__tracksummary_fitter.root: 15a542955428dec0776c8317a33b7ef6c14858888ffc7406b00ac7044694b137 test_refitting[odd]__trackstates_gsf_refit.root: 1071ab66ec9a7d1ddddfb12beac8da6e9c489242f5fe2aee238b88aee0744823 test_refitting[odd]__tracksummary_gsf_refit.root: 16951808df6363d2acb99e385aec35ad723b634403ca0724a552ae9d3a2ae237 test_refitting[generic]__trackstates_gsf_refit.root: dbad2648b761e021bd21296755a0c73230da6e4796b306f6ac59424c40c9b80b test_refitting[generic]__tracksummary_gsf_refit.root: bf46a89e429fa77a380d5ee48babb8af2044196eff872825e84c0d4401357114 +test_truth_tracking_kalman[generic-False-0.0]__trackstates_kf.root: a87b908ee14a3de3e8f894cb69dc011e23ec2de6fd92a71a91c367f18a7934f6 +test_truth_tracking_kalman[generic-False-0.0]__tracksummary_kf.root: bf46a89e429fa77a380d5ee48babb8af2044196eff872825e84c0d4401357114 +test_truth_tracking_kalman[generic-False-1000.0]__trackstates_kf.root: 5b945782c1ff59c7c30d3d2a23992292735bc3da27da6424309da9c9e9660322 +test_truth_tracking_kalman[generic-False-1000.0]__tracksummary_kf.root: 055a74d2747d360398cc846cc2791204491528896de78cca66b188e3ff530dc1 +test_truth_tracking_kalman[generic-True-0.0]__trackstates_kf.root: a87b908ee14a3de3e8f894cb69dc011e23ec2de6fd92a71a91c367f18a7934f6 +test_truth_tracking_kalman[generic-True-0.0]__tracksummary_kf.root: bf46a89e429fa77a380d5ee48babb8af2044196eff872825e84c0d4401357114 +test_truth_tracking_kalman[generic-True-1000.0]__trackstates_kf.root: 5b945782c1ff59c7c30d3d2a23992292735bc3da27da6424309da9c9e9660322 +test_truth_tracking_kalman[generic-True-1000.0]__tracksummary_kf.root: 055a74d2747d360398cc846cc2791204491528896de78cca66b188e3ff530dc1 +test_truth_tracking_kalman[odd-False-0.0]__trackstates_kf.root: 6e4a34638a4d76607597db1e02525f6c6a386ca44727cae255a0aa0c2b588c7f +test_truth_tracking_kalman[odd-False-0.0]__tracksummary_kf.root: a45dbd0b6d221ec1b153f6e90d84601fe7a799134604c63be8e94bf8cd22af43 +test_truth_tracking_kalman[odd-False-1000.0]__trackstates_kf.root: 7e0b19d1f8c818269925b95817b9c92c68af3b841fdbd21560aa55688ddec786 +test_truth_tracking_kalman[odd-False-1000.0]__tracksummary_kf.root: 15a542955428dec0776c8317a33b7ef6c14858888ffc7406b00ac7044694b137 +test_truth_tracking_kalman[odd-True-0.0]__trackstates_kf.root: 6e4a34638a4d76607597db1e02525f6c6a386ca44727cae255a0aa0c2b588c7f +test_truth_tracking_kalman[odd-True-0.0]__tracksummary_kf.root: a45dbd0b6d221ec1b153f6e90d84601fe7a799134604c63be8e94bf8cd22af43 +test_truth_tracking_kalman[odd-True-1000.0]__trackstates_kf.root: 7e0b19d1f8c818269925b95817b9c92c68af3b841fdbd21560aa55688ddec786 +test_truth_tracking_kalman[odd-True-1000.0]__tracksummary_kf.root: 15a542955428dec0776c8317a33b7ef6c14858888ffc7406b00ac7044694b137 diff --git a/Examples/Python/tests/test_examples.py b/Examples/Python/tests/test_examples.py index bcb6b9695f2..3cf119b809f 100644 --- a/Examples/Python/tests/test_examples.py +++ b/Examples/Python/tests/test_examples.py @@ -537,9 +537,9 @@ def test_truth_tracking_kalman( seq = Sequencer(events=10, numThreads=1) root_files = [ - ("trackstates_fitter.root", "trackstates", 19), - ("tracksummary_fitter.root", "tracksummary", 10), - ("performance_track_fitter.root", None, -1), + ("trackstates_kf.root", "trackstates", 19), + ("tracksummary_kf.root", "tracksummary", 10), + ("performance_kf.root", None, -1), ] for fn, _, _ in root_files: @@ -572,7 +572,7 @@ def test_truth_tracking_kalman( ROOT.PyConfig.IgnoreCommandLineOptions = True ROOT.gROOT.SetBatch(True) - rf = ROOT.TFile.Open(str(tmp_path / "tracksummary_fitter.root")) + rf = ROOT.TFile.Open(str(tmp_path / "tracksummary_kf.root")) keys = [k.GetName() for k in rf.GetListOfKeys()] assert "tracksummary" in keys for entry in rf.Get("tracksummary"): diff --git a/Examples/Scripts/Python/truth_tracking_kalman.py b/Examples/Scripts/Python/truth_tracking_kalman.py index e0956b46bd5..714e0421e41 100755 --- a/Examples/Scripts/Python/truth_tracking_kalman.py +++ b/Examples/Scripts/Python/truth_tracking_kalman.py @@ -130,7 +130,7 @@ def runTruthTrackingKalman( inputTrackParticleMatching="track_particle_matching", inputSimHits="simhits", inputMeasurementSimHitsMap="measurement_simhits_map", - filePath=str(outputDir / "trackstates_fitter.root"), + filePath=str(outputDir / "trackstates_kf.root"), ) ) @@ -140,7 +140,7 @@ def runTruthTrackingKalman( inputTracks="tracks", inputParticles="truth_seeds_selected", inputTrackParticleMatching="track_particle_matching", - filePath=str(outputDir / "tracksummary_fitter.root"), + filePath=str(outputDir / "tracksummary_kf.root"), ) ) @@ -150,7 +150,7 @@ def runTruthTrackingKalman( inputTracks="tracks", inputParticles="truth_seeds_selected", inputTrackParticleMatching="track_particle_matching", - filePath=str(outputDir / "performance_track_fitter.root"), + filePath=str(outputDir / "performance_kf.root"), ) )