@@ -24,40 +24,83 @@ if [[ $RUNNUMBER -lt 544772 ]]; then
2424fi
2525echo " RSRUNNUMBER = $RUNNUMBER RANS_OPT = $RANS_OPT "
2626
27+ # IR, duration, B field, detector list
28+ if [[ -z $RUN_IR ]] || [[ -z $RUN_DURATION ]] || [[ -z $RUN_BFIELD ]]; then
29+ echo " In setenv_extra: time used so far = $timeUsed "
30+ timeStart=` date +%s`
31+ time o2-calibration-get-run-parameters -r $RUNNUMBER
32+ timeEnd=` date +%s`
33+ timeUsed=$(( $timeUsed + $timeEnd - $timeStart ))
34+ delta=$(( $timeEnd - $timeStart ))
35+ echo " Time spent in getting run parameters = $delta s"
36+ export RUN_IR=` cat IR.txt`
37+ export RUN_DURATION=` cat Duration.txt`
38+ export RUN_BFIELD=` cat BField.txt`
39+ export RUN_DETECTOR_LIST=` cat DetList.txt`
40+ fi
41+ echo -e " \n"
42+ echo " Printing run features"
43+ echo " DETECTOR LIST for current run ($RUNNUMBER ) = $RUN_DETECTOR_LIST "
44+ echo " DURATION for current run ($RUNNUMBER ) = $RUN_DURATION "
45+ echo " B FIELD for current run ($RUNNUMBER ) = $RUN_BFIELD "
46+ echo " IR for current run ($RUNNUMBER ) = $RUN_IR "
47+ if (( $(echo "$RUN_IR <= 0 " | bc - l) )) ; then
48+ echo " Changing run IR to 1 Hz, because $RUN_IR makes no sense"
49+ RUN_IR=1
50+ fi
51+ echo " BeamType = $BEAMTYPE "
52+ echo " PERIOD = $PERIOD "
53+
2754# detector list
55+ echo -e " \n"
56+ echo " Printing detector list for reconstruction"
2857if [[ -n $ALIEN_JDL_WORKFLOWDETECTORS ]]; then
58+ echo " WORKFLOW_DETECTORS taken from JDL, ALIEN_JDL_WORKFLOWDETECTORS = $ALIEN_JDL_WORKFLOWDETECTORS "
2959 export WORKFLOW_DETECTORS=$ALIEN_JDL_WORKFLOWDETECTORS
3060else
31- export WORKFLOW_DETECTORS=ITS,TPC,TOF,FV0,FT0,FDD,MID,MFT,MCH,TRD,EMC,PHS,CPV,HMP,ZDC,CTP
61+ export WORKFLOW_DETECTORS=` echo $RUN_DETECTOR_LIST | sed ' s/ /,/g ' `
3262 if [[ $RUNNUMBER == 528529 ]] || [[ $RUNNUMBER == 528530 ]]; then
3363 # removing MID for these runs: it was noisy and therefore declared bad, and makes the reco crash
34- export WORKFLOW_DETECTORS=ITS,TPC,TOF,FV0,FT0,FDD,MFT,MCH,TRD,EMC,PHS,CPV,HMP,ZDC,CTP
64+ echo " Excluding MID since RUNNUMBER = $RUNNUMBER "
65+ export WORKFLOW_DETECTORS_EXCLUDE=" MID"
3566 fi
3667 # list of detectors to possibly exclude
3768 if [[ -n $ALIEN_JDL_DETECTORSEXCLUDE ]]; then
38- echo " ALIEN_JDL_DETECTORSEXCLUDE = $ALIEN_JDL_DETECTORSEXCLUDE "
69+ echo " DETECTORS_EXCLUDE taken from JDL, ALIEN_JDL_DETECTORSEXCLUDE = $ALIEN_JDL_DETECTORSEXCLUDE "
3970 export DETECTORS_EXCLUDE=$ALIEN_JDL_DETECTORSEXCLUDE # will be used in the async_pass.sh if we run in split mode
40- export WORKFLOW_DETECTORS_EXCLUDE=$DETECTORS_EXCLUDE
71+ if [[ -z ${WORKFLOW_DETECTORS_EXCLUDE: +x} ]]; then # there is no WORKFLOW_DETECTORS_EXCLUDE, or it is NULL
72+ export WORKFLOW_DETECTORS_EXCLUDE=$DETECTORS_EXCLUDE
73+ else
74+ export WORKFLOW_DETECTORS_EXCLUDE+=" ,$DETECTORS_EXCLUDE "
75+ fi
4176 fi
4277fi
4378
79+ echo " Final settings for detectors to be processed:"
80+ echo " WORKFLOW_DETECTORS = $WORKFLOW_DETECTORS "
81+ echo " WORKFLOW_DETECTORS_EXCLUDE = $WORKFLOW_DETECTORS_EXCLUDE "
82+
4483# ad-hoc settings for CTF reader: we are on the grid, we read the files remotely
45- echo " *********************** mode = ${MODE} "
84+ echo -e " \nProcessing mode = ${MODE} "
4685unset ARGS_EXTRA_PROCESS_o2_ctf_reader_workflow
4786
4887if [[ $MODE == " remote" ]]; then
4988 if [[ $ALIEN_JDL_REMOTEREADING != 1 ]]; then
89+ echo " Files will be copied locally: we expect that the JDL has the \" nodownload\" option"
5090 export INPUT_FILE_COPY_CMD=" \" alien_cp ?src file://?dst\" "
51- export ARGS_EXTRA_PROCESS_o2_ctf_reader_workflow= " $ARGS_EXTRA_PROCESS_o2_ctf_reader_workflow --remote-regex \" ^alien:///alice/data/.+\" "
91+ export ARGS_EXTRA_PROCESS_o2_ctf_reader_workflow+= " --remote-regex \" ^alien:///alice/data/.+\" "
5292 else
93+ echo " Files will NOT be copied locally: we expect that the job agent takes care"
5394 export INPUT_FILE_COPY_CMD=" no-copy"
5495 fi
5596fi
5697
98+ echo -e " \nSetting up workflow options"
99+
57100# adjusting for trigger LM_L0 correction, which was not there before July 2022
58101if [[ $PERIOD == " LHC22c" ]] || [[ $PERIOD == " LHC22d" ]] || [[ $PERIOD == " LHC22e" ]] || [[ $PERIOD == " JUN" ]] || [[ $PERIOD == " LHC22f" ]] ; then
59102 if [[ $ALIEN_JDL_LPMPRODUCTIONTYPE != " MC" ]]; then
60- export ARGS_EXTRA_PROCESS_o2_ctf_reader_workflow= " $ARGS_EXTRA_PROCESS_o2_ctf_reader_workflow --correct-trd-trigger-offset"
103+ export ARGS_EXTRA_PROCESS_o2_ctf_reader_workflow+= " --correct-trd-trigger-offset"
61104 fi
62105fi
63106
@@ -76,18 +119,16 @@ if [[ $remappingITS == 1 ]] || [[ $remappingMFT == 1 ]]; then
76119 REMAPPING=$REMAPPING \"
77120fi
78121
79- echo remapping = $REMAPPING
80- echo " BeamType = $BEAMTYPE "
81- echo " PERIOD = $PERIOD "
122+ echo " Remapping = $REMAPPING "
82123
83124# needed if we need more wf
84125export ADD_EXTRA_WORKFLOW=
85126
86127# other ad-hoc settings for CTF reader
87- export ARGS_EXTRA_PROCESS_o2_ctf_reader_workflow= " $ARGS_EXTRA_PROCESS_o2_ctf_reader_workflow --allow-missing-detectors $REMAPPING "
128+ export ARGS_EXTRA_PROCESS_o2_ctf_reader_workflow+= " --allow-missing-detectors $REMAPPING "
88129echo RUN = $RUNNUMBER
89130if [[ $RUNNUMBER -ge 521889 ]]; then
90- export ARGS_EXTRA_PROCESS_o2_ctf_reader_workflow= " $ARGS_EXTRA_PROCESS_o2_ctf_reader_workflow --its-digits --mft-digits"
131+ export ARGS_EXTRA_PROCESS_o2_ctf_reader_workflow+= " --its-digits --mft-digits"
91132 export DISABLE_DIGIT_CLUSTER_INPUT=" --digits-from-upstream"
92133 MAXBCDIFFTOMASKBIAS_ITS=" ITSClustererParam.maxBCDiffToMaskBias=-10" # this explicitly disables ITS masking
93134 MAXBCDIFFTOSQUASHBIAS_ITS=" ITSClustererParam.maxBCDiffToSquashBias=10" # this explicitly enables ITS squashing
195236 echo " ************************************************************"
196237fi
197238
239+ echo -e " \nTPC vdrift:"
198240# TPC vdrift
199241PERIODLETTER=${PERIOD: -1}
200242VDRIFTPARAMOPTION=
@@ -213,30 +255,7 @@ else
213255 echo " TPC vdrift will be taken from CCDB"
214256fi
215257
216- # IR
217- if [[ -z $RUN_IR ]] || [[ -z $RUN_DURATION ]] || [[ -z $RUN_BFIELD ]]; then
218- cp $O2DPG_ROOT /DATA/production/common/getIRandDuration.C ./
219- echo " In setenv_extra: time used so far = $timeUsed "
220- timeStart=` date +%s`
221- time o2-calibration-get-run-parameters -r $RUNNUMBER
222- timeEnd=` date +%s`
223- timeUsed=$(( $timeUsed + $timeEnd - $timeStart ))
224- delta=$(( $timeEnd - $timeStart ))
225- echo " Time spent in getting IR and duration of the run = $delta s"
226- export RUN_IR=` cat IR.txt`
227- export RUN_DURATION=` cat Duration.txt`
228- export RUN_BFIELD=` cat BField.txt`
229- export RUN_DETECTOR_LIST=` cat DetList.txt`
230- fi
231- echo " DETECTOR LIST for current run ($RUNNUMBER ) = $RUN_DETECTOR_LIST "
232- echo " DURATION for current run ($RUNNUMBER ) = $RUN_DURATION "
233- echo " B FIELD for current run ($RUNNUMBER ) = $RUN_BFIELD "
234- echo " IR for current run ($RUNNUMBER ) = $RUN_IR "
235- if (( $(echo "$RUN_IR <= 0 " | bc - l) )) ; then
236- echo " Changing run IR to 1 Hz, because $RUN_IR makes no sense"
237- RUN_IR=1
238- fi
239-
258+ echo -e " \nTPC calib configuration:"
240259# Let's check if ZDC is in the detector list; this is needed for TPC dist correction scaling in PbPb 2023
241260SCALE_WITH_ZDC=1
242261SCALE_WITH_FT0=1
@@ -252,12 +271,10 @@ if (( RUN_DURATION < 600 )); then
252271 export CALIB_TPC_SCDCALIB_SLOTLENGTH=$RUN_DURATION
253272fi
254273
255- echo " BeamType = $BEAMTYPE "
256-
257274if [[ $ALIEN_JDL_ENABLEMONITORING != " 0" ]]; then
258275 # add the performance metrics
259276 export ENABLE_METRICS=1
260- export ARGS_ALL_EXTRA= " $ARGS_ALL_EXTRA --resources-monitoring 50 --resources-monitoring-dump-interval 50"
277+ export ARGS_ALL_EXTRA+= " --resources-monitoring 50 --resources-monitoring-dump-interval 50"
261278else
262279 # remove monitoring-backend
263280 export ENABLE_METRICS=0
448465# ad-hoc settings for TOF reco
449466# export ARGS_EXTRA_PROCESS_o2_tof_reco_workflow+="--use-ccdb --ccdb-url-tof \"http://alice-ccdb.cern.ch\""
450467# since commit on Dec, 4
451- export ARGS_EXTRA_PROCESS_o2_tof_reco_workflow= " $ARGS_EXTRA_PROCESS_o2_tof_reco_workflow --use-ccdb"
468+ export ARGS_EXTRA_PROCESS_o2_tof_reco_workflow+= " --use-ccdb"
452469
453470# ad-hoc options for primary vtx workflow
454471# export PVERTEXER="pvertexer.acceptableScale2=9;pvertexer.minScale2=2.;pvertexer.nSigmaTimeTrack=4.;pvertexer.timeMarginTrackTime=0.5;pvertexer.timeMarginVertexTime=7.;pvertexer.nSigmaTimeCut=10;pvertexer.dbscanMaxDist2=30;pvertexer.dcaTolerance=3.;pvertexer.pullIniCut=100;pvertexer.addZSigma2=0.1;pvertexer.tukey=20.;pvertexer.addZSigma2Debris=0.01;pvertexer.addTimeSigma2Debris=1.;pvertexer.maxChi2Mean=30;pvertexer.timeMarginReattach=3.;pvertexer.addTimeSigma2Debris=1.;"
@@ -490,10 +507,10 @@ export CONFIG_EXTRA_PROCESS_o2_tpcits_match_workflow+=";$ITSEXTRAERR;$ITSTPCMATC
490507[[ ! -z " ${TPCITSTIMEERR} " ]] && export CONFIG_EXTRA_PROCESS_o2_tpcits_match_workflow+=" ;tpcitsMatch.globalTimeExtraErrorMUS=$TPCITSTIMEERR ;"
491508
492509# enabling AfterBurner
493- has_detector FT0 && export ARGS_EXTRA_PROCESS_o2_tpcits_match_workflow= " $ARGS_EXTRA_PROCESS_o2_tpcits_match_workflow --use-ft0"
510+ has_detector FT0 && export ARGS_EXTRA_PROCESS_o2_tpcits_match_workflow+= " --use-ft0"
494511
495512# ad-hoc settings for TOF matching
496- export ARGS_EXTRA_PROCESS_o2_tof_matcher_workflow= " $ARGS_EXTRA_PROCESS_o2_tof_matcher_workflow --output-type matching-info,calib-info --enable-dia"
513+ export ARGS_EXTRA_PROCESS_o2_tof_matcher_workflow+= " --output-type matching-info,calib-info --enable-dia"
497514export CONFIG_EXTRA_PROCESS_o2_tof_matcher_workflow+=" ;$ITSEXTRAERR ;$TRACKTUNETPC ;$VDRIFTPARAMOPTION ;"
498515
499516if [[ $ALIEN_JDL_LPMPASSNAME == " cpass0" ]]; then
505522export CONFIG_EXTRA_PROCESS_o2_trd_global_tracking+=" ;$ITSEXTRAERR ;$TRACKTUNETPC ;$VDRIFTPARAMOPTION ;GPU_rec_trd.minTrackPt=0.3;"
506523
507524# ad-hoc settings for FT0
508- export ARGS_EXTRA_PROCESS_o2_ft0_reco_workflow= " $ARGS_EXTRA_PROCESS_o2_ft0_reco_workflow --ft0-reconstructor"
525+ export ARGS_EXTRA_PROCESS_o2_ft0_reco_workflow+= " --ft0-reconstructor"
509526if [[ $BEAMTYPE == " PbPb" ]]; then
510- export CONFIG_EXTRA_PROCESS_o2_ft0_reco_workflow=" ;FT0TimeFilterParam.mAmpLower=10;"
527+ export CONFIG_EXTRA_PROCESS_o2_ft0_reco_workflow+ =" ;FT0TimeFilterParam.mAmpLower=10;"
511528fi
512529
513530# ad-hoc settings for FV0
514- export ARGS_EXTRA_PROCESS_o2_fv0_reco_workflow= " $ARGS_EXTRA_PROCESS_o2_fv0_reco_workflow --fv0-reconstructor"
531+ export ARGS_EXTRA_PROCESS_o2_fv0_reco_workflow+= " --fv0-reconstructor"
515532
516533# ad-hoc settings for FDD
517534# ...
@@ -564,20 +581,20 @@ if [[ $ADD_CALIB == "1" ]]; then
564581 if [[ $DO_TPC_RESIDUAL_EXTRACTION == " 1" ]]; then
565582 export CALIB_TPC_SCDCALIB=1
566583 export CALIB_TPC_SCDCALIB_SENDTRKDATA=1
567- export CONFIG_EXTRA_PROCESS_o2_tpc_scdcalib_interpolation_workflow= " scdcalib.additionalTracksMap=35000000;scdcalib.minPtNoOuterPoint=0.2;scdcalib.maxQ2Pt=5;scdcalib.minITSNClsNoOuterPoint=6;scdcalib.minITSNCls=4;scdcalib.minTPCNClsNoOuterPoint=90;scdcalib.minTOFTRDPVContributors=2"
568- export ARGS_EXTRA_PROCESS_o2_tpc_scdcalib_interpolation_workflow= " $ARGS_EXTRA_PROCESS_o2_tpc_scdcalib_interpolation_workflow --tracking-sources-map-extraction ITS-TPC"
584+ export CONFIG_EXTRA_PROCESS_o2_tpc_scdcalib_interpolation_workflow+= " ; scdcalib.additionalTracksMap=35000000;scdcalib.minPtNoOuterPoint=0.2;scdcalib.maxQ2Pt=5;scdcalib.minITSNClsNoOuterPoint=6;scdcalib.minITSNCls=4;scdcalib.minTPCNClsNoOuterPoint=90;scdcalib.minTOFTRDPVContributors=2"
585+ export ARGS_EXTRA_PROCESS_o2_tpc_scdcalib_interpolation_workflow+= " --tracking-sources-map-extraction ITS-TPC"
569586 # ad-hoc settings for TPC residual extraction
570- export ARGS_EXTRA_PROCESS_o2_calibration_residual_aggregator= " $ARGS_EXTRA_PROCESS_o2_calibration_residual_aggregator --output-type trackParams,unbinnedResid"
587+ export ARGS_EXTRA_PROCESS_o2_calibration_residual_aggregator+= " --output-type trackParams,unbinnedResid"
571588 if [[ $ALIEN_JDL_DEBUGRESIDUALEXTRACTION == " 1" ]]; then
572589 export CONFIG_EXTRA_PROCESS_o2_tpc_scdcalib_interpolation_workflow+=" ;scdcalib.maxTracksPerCalibSlot=-1;scdcalib.minPtNoOuterPoint=0.8;scdcalib.minTPCNClsNoOuterPoint=120"
573- export ARGS_EXTRA_PROCESS_o2_trd_global_tracking+=" $ARGS_EXTRA_PROCESS_o2_trd_global_tracking --enable-qc"
590+ export ARGS_EXTRA_PROCESS_o2_trd_global_tracking+=" --enable-qc"
574591 fi
575592 fi
576593 export CALIB_EMC_ASYNC_RECALIB=" $ALIEN_JDL_DOEMCCALIB "
577594 if [[ $ALIEN_JDL_DOTRDVDRIFTEXBCALIB == " 1" ]]; then
578595 export CALIB_TRD_VDRIFTEXB=" $ALIEN_JDL_DOTRDVDRIFTEXBCALIB "
579- export ARGS_EXTRA_PROCESS_o2_calibration_trd_workflow= " $ARGS_EXTRA_PROCESS_o2_calibration_trd_workflow --enable-root-output"
580- export ARGS_EXTRA_PROCESS_o2_trd_global_tracking= " $ARGS_EXTRA_PROCESS_o2_trd_global_tracking --enable-qc"
596+ export ARGS_EXTRA_PROCESS_o2_calibration_trd_workflow+= " --enable-root-output"
597+ export ARGS_EXTRA_PROCESS_o2_trd_global_tracking+= " --enable-qc"
581598 fi
582599 if [[ $ALIEN_JDL_DOMEANVTXCALIB == 1 ]]; then
583600 export CALIB_PRIMVTX_MEANVTX=" $ALIEN_JDL_DOMEANVTXCALIB "
@@ -586,8 +603,8 @@ if [[ $ADD_CALIB == "1" ]]; then
586603 export SVERTEXING_SOURCES=none # disable secondary vertexing
587604 fi
588605 if [[ $ALIEN_JDL_DOTRDGAINCALIB == 1 ]]; then
589- export CONFIG_EXTRA_PROCESS_o2_calibration_trd_workflow= " TRDCalibParams.minEntriesChamberGainCalib=999999999;TRDCalibParams.minEntriesTotalGainCalib=10000;TRDCalibParams.nTrackletsMinGainCalib=4"
590- export ARGS_EXTRA_PROCESS_o2_calibration_trd_workflow= " $ARGS_EXTRA_PROCESS_o2_calibration_trd_workflow --enable-root-output"
606+ export CONFIG_EXTRA_PROCESS_o2_calibration_trd_workflow+= " ; TRDCalibParams.minEntriesChamberGainCalib=999999999;TRDCalibParams.minEntriesTotalGainCalib=10000;TRDCalibParams.nTrackletsMinGainCalib=4"
607+ export ARGS_EXTRA_PROCESS_o2_calibration_trd_workflow+= " --enable-root-output"
591608 export CALIB_TRD_GAIN=1
592609 fi
593610 # extra workflows in case we want to process the currents for FT0, FV0, TOF, TPC
@@ -624,6 +641,7 @@ if [[ $ALIEN_JDL_AODOFF != "1" ]]; then
624641fi
625642
626643# ad-hoc settings for AOD
644+ echo -e " \nNeeded for AODs:"
627645echo ALIEN_JDL_LPMPRODUCTIONTAG = $ALIEN_JDL_LPMPRODUCTIONTAG
628646echo ALIEN_JDL_LPMPASSNAME = $ALIEN_JDL_LPMPASSNAME
629647# Track QC table sampling
648666 fi
649667fi
650668echo TRACKQC_FRACTION = $TRACKQC_FRACTION
651- export ARGS_EXTRA_PROCESS_o2_aod_producer_workflow= " $ARGS_EXTRA_PROCESS_o2_aod_producer_workflow --aod-writer-maxfilesize $AOD_FILE_SIZE --lpmp-prod-tag $ALIEN_JDL_LPMPRODUCTIONTAG --reco-pass $ALIEN_JDL_LPMPASSNAME --trackqc-fraction $TRACKQC_FRACTION "
669+ export ARGS_EXTRA_PROCESS_o2_aod_producer_workflow+= " --aod-writer-maxfilesize $AOD_FILE_SIZE --lpmp-prod-tag $ALIEN_JDL_LPMPRODUCTIONTAG --reco-pass $ALIEN_JDL_LPMPASSNAME --trackqc-fraction $TRACKQC_FRACTION "
652670if [[ $PERIOD == " LHC22c" ]] || [[ $PERIOD == " LHC22d" ]] || [[ $PERIOD == " LHC22e" ]] || [[ $PERIOD == " JUN" ]] || [[ $PERIOD == " LHC22f" ]] || [[ $PERIOD == " LHC22m" ]] || [[ " $RUNNUMBER " == @ (526463| 526465| 526466| 526467| 526468| 526486| 526505| 526508| 526510| 526512| 526525| 526526| 526528| 526534| 526559| 526596| 526606| 526612| 526638| 526639| 526641| 526643| 526647| 526649| 526689| 526712| 526713| 526714| 526715| 526716| 526719| 526720| 526776| 526886| 526926| 526927| 526928| 526929| 526934| 526935| 526937| 526938| 526963| 526964| 526966| 526967| 526968| 527015| 527016| 527028| 527031| 527033| 527034| 527038| 527039| 527041| 527057| 527076| 527108| 527109| 527228| 527237| 527259| 527260| 527261| 527262| 527345| 527347| 527349| 527446| 527518| 527523| 527734) ]] ; then
653- export ARGS_EXTRA_PROCESS_o2_aod_producer_workflow= " $ARGS_EXTRA_PROCESS_o2_aod_producer_workflow --ctpreadout-create 1"
671+ export ARGS_EXTRA_PROCESS_o2_aod_producer_workflow+= " --ctpreadout-create 1"
654672fi
655673
656674# Enabling QC
0 commit comments