From 30e8f53f3df830b8f235329bce9bc1723aeddd46 Mon Sep 17 00:00:00 2001 From: Matthias Kleiner Date: Thu, 22 Oct 2026 16:14:58 +0200 Subject: [PATCH] TPC residuals: JDL hook for extra scdcalib keys The residual extraction's track selection (minPtNoOuterPoint, minTOFTRDPVContributors, ITS / TPC cluster cuts, ...) is hard-coded in setenv_extra.sh and cannot be changed from the JDL; in anchored MC the anchored configuration also overrides keys given on the command line. ALIEN_JDL_TPCRESIDUAL_EXTRACONFIG is appended after the defaults, so its keys win (later keys override earlier ones in configKeyValues). Example, keeping all tracks and clusters (needs O2 with scdcalib.keepClustersOnPropFail, >= 2026-10-07; unknown keys are fatal): scdcalib.keepClustersOnPropFail=true;scdcalib.clampTgSlp=true;scdcalib.minPtNoOuterPoint=0;scdcalib.minTOFTRDPVContributors=0 Unset: the configuration is unchanged. Co-Authored-By: Claude Opus 5.5 --- DATA/production/configurations/asyncReco/setenv_extra.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/DATA/production/configurations/asyncReco/setenv_extra.sh b/DATA/production/configurations/asyncReco/setenv_extra.sh index 78f6885c1..e3ee7a7d5 100644 --- a/DATA/production/configurations/asyncReco/setenv_extra.sh +++ b/DATA/production/configurations/asyncReco/setenv_extra.sh @@ -734,6 +734,10 @@ if [[ $ADD_CALIB == "1" ]]; then export CONFIG_EXTRA_PROCESS_o2_tpc_scdcalib_interpolation_workflow+=";scdcalib.maxTracksPerCalibSlot=$ALIEN_JDL_TPCRESIDUALMAXTRACKSPERSLOT;scdcalib.additionalTracksMap=$ALIEN_JDL_TPCRESIDUALADDTRACKSMAP;scdcalib.minPtNoOuterPoint=0.2;scdcalib.maxQ2Pt=5;scdcalib.minITSNClsNoOuterPoint=6;scdcalib.minITSNCls=4;scdcalib.minTPCNClsNoOuterPoint=50;scdcalib.minTOFTRDPVContributors=2;" CONFIG_EXTRA_PROCESS_o2_tpc_scdcalib_interpolation_workflow+=$([[ "$ALIEN_JDL_TPCRESIDUAL_WRITEUNFILTERED" == "1" ]] && printf "scdcalib.writeUnfiltered=true;" || printf "scdcalib.writeUnfiltered=false;") CONFIG_EXTRA_PROCESS_o2_tpc_scdcalib_interpolation_workflow+=$([[ "$ALIEN_JDL_TPCRESIDUAL_KEEPREJECTEDRES" == "1" ]] && printf "scdcalib.keepRejectedResiduals=true;" || printf "scdcalib.keepRejectedResiduals=false;") + # additional scdcalib keys from the JDL, appended last so that they override the defaults above + if [[ -n "$ALIEN_JDL_TPCRESIDUAL_EXTRACONFIG" ]]; then + CONFIG_EXTRA_PROCESS_o2_tpc_scdcalib_interpolation_workflow+=";$ALIEN_JDL_TPCRESIDUAL_EXTRACONFIG;" + fi export ARGS_EXTRA_PROCESS_o2_tpc_scdcalib_interpolation_workflow+=" --tracking-sources-map-extraction $ALIEN_JDL_TPCRESIDUALTRKSOURCESMAPEXTRACTION" if [[ ! $DO_TPC_RESIDUAL_EXTRACTION =~ "NOEXTCLROAD" ]]; then