Skip to content

Commit 20d1a7f

Browse files
authored
Merge branch 'master' into swenzel/interactionRateCTPScalers
2 parents ebb1f88 + bf60264 commit 20d1a7f

29 files changed

Lines changed: 455 additions & 180 deletions

DATA/production/calib/ft0-timeoffset-aggregator.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ PROXY_INSPEC="calib:FT0/TIME_SPECTRA/0;${PROXY_INSPEC_EOS}"
1111
CALIB_TIME_OFFSET_CONFIG="FT0CalibParam.mNExtraSlots=0"
1212

1313
WORKFLOW="o2-dpl-raw-proxy ${ARGS_ALL} --proxy-name ft0-timeoffset-input-proxy --dataspec \"${PROXY_INSPEC}\" --network-interface ib0 --channel-config \"name=ft0-timeoffset-input-proxy,method=bind,type=pull,rateLogging=1,transport=zeromq\" | "
14-
WORKFLOW+="o2-calibration-ft0-time-offset-calib --configKeyValues \"${CALIB_TIME_OFFSET_CONFIG}\" ${ARGS_ALL} --tf-per-slot 26400 | "
14+
WORKFLOW+="o2-calibration-ft0-time-offset-calib --configKeyValues \"${CALIB_TIME_OFFSET_CONFIG}\" ${ARGS_ALL} --tf-per-slot 105600 | "
1515
WORKFLOW+="o2-calibration-ccdb-populator-workflow ${ARGS_ALL} --configKeyValues \"$ARGS_ALL_CONFIG\" --ccdb-path=\"http://ccdb-test.cern.ch:8080\" --sspec-min 1 --sspec-max 1 | "
1616
WORKFLOW+="o2-dpl-run ${ARGS_ALL} ${GLOBALDPLOPT}"
1717

DATA/production/calib/hmp-pedestals-processing.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ then
7272
WORKFLOW+="--use-files "
7373
fi
7474

75-
WORKFLOW+="--files-basepath 'HMP/Calib/Pedestals' "
75+
WORKFLOW+="--files-basepath 'HMP' "
7676
WORKFLOW+="--pedestals-tag ${HMP_PED_TAG} --sigmacut ${HMP_SIGMACUT} | "
7777

7878
WORKFLOW+="o2-dpl-run ${ARGS_ALL} ${GLOBALDPLOPT}"
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
#include <cmath>
2+
#include <fmt/format.h>
3+
#include <string_view>
4+
#include <fstream>
5+
6+
#include "TSystem.h"
7+
8+
#include "CCDB/CcdbApi.h"
9+
#include "DataFormatsTPC/LtrCalibData.h"
10+
#include "TPCBase/ParameterGas.h"
11+
#include <TJAlienCredentials.h>
12+
13+
float getTPCvdrift(int run, std::string_view ltrUrl = "http://alice-ccdb.cern.ch")
14+
{
15+
o2::ccdb::CcdbApi c;
16+
c.init("http://alice-ccdb.cern.ch");
17+
std::map<std::string, std::string> headers, metadataRCT, metadata, mm;
18+
headers = c.retrieveHeaders(fmt::format("RCT/Info/RunInformation/{}", run), metadataRCT, -1);
19+
printf("\nLooking for vdrift for run %d\n", run);
20+
const auto sor = std::stol(headers["SOR"].data());
21+
22+
const auto defaultDriftV = o2::tpc::ParameterGas::Instance().DriftV;
23+
24+
std::string_view calibType = "TPC/Calib/LaserTracks";
25+
//
26+
// query present run up to +-3days
27+
const auto queryInterval = 3l * 24l * 60l * 60l * 1000l;
28+
TJAlienCredentials* cred = new TJAlienCredentials();
29+
cred->loadCredentials();
30+
cred->selectPreferedCredentials();
31+
CredentialsKind cmk = cred->getPreferedCredentials();
32+
TJAlienCredentialsObject cmo = cred->get(cmk);
33+
34+
35+
const auto queryString = fmt::format("curl --cert {} --key {} --insecure -H \"If-Not-Before: {}\" -H \"If-Not-After: {}\" -H \"Accept: application/json\" {}/browse/{}", cmo.certpath.c_str(), cmo.keypath.c_str(), sor - queryInterval, sor + queryInterval, ltrUrl.data(), calibType.data());
36+
fmt::print("Query: {}\n", queryString);
37+
const auto queryResultTString = gSystem->GetFromPipe(queryString.data());
38+
std::string queryResult(queryResultTString);
39+
40+
// find closest entry in time
41+
long minDist = 9999999999999;
42+
long minTime = sor;
43+
size_t pos = 0;
44+
const std::string_view searchString("validFrom");
45+
while ((pos = queryResult.find(searchString.data(), pos)) < queryResult.size()) {
46+
const auto startPosTime = queryResult.find(":", pos) + 1;
47+
const auto endPosTime = queryResult.find(",", pos);
48+
const auto startValidity = std::atol(queryResult.substr(startPosTime, endPosTime - startPosTime).data());
49+
fmt::print("add object {}\n", startValidity);
50+
if (std::abs(startValidity - sor) < minDist) {
51+
minTime = startValidity;
52+
minDist = std::abs(startValidity - sor);
53+
}
54+
pos = endPosTime;
55+
}
56+
fmt::print("{} closest to {} is at {}\n", calibType, sor, minTime);
57+
58+
//
59+
// Get object closest to present run and return the drfit veloctiy calibration factor
60+
c.init(ltrUrl.data());
61+
const auto ltrCalib = c.retrieveFromTFileAny<o2::tpc::LtrCalibData>(calibType.data(), metadata, minTime); /// timestamp in the run of interest
62+
const auto corr = ltrCalib->getDriftVCorrection();
63+
float vcorr = defaultDriftV / corr;
64+
if (ltrCalib->refVDrift != 0) {
65+
printf("refVDrift different from zero: %f (default was %f)\n", ltrCalib->refVDrift, defaultDriftV);
66+
vcorr = ltrCalib->refVDrift / corr;
67+
}
68+
printf("vdrift = %f\n", vcorr);
69+
70+
ofstream fp("vdrift.txt");
71+
fp << vcorr << endl;
72+
fp.close();
73+
74+
return vcorr;
75+
}

DATA/production/configurations/CTFSkimming/ctf-skim-workflow.sh

Lines changed: 27 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,27 +5,28 @@ set -o pipefail
55

66
# ---------------------------------------------------------------------------------------------------------------------
77
# Get this script's directory and load common settings (use zsh first (e.g. on Mac) and fallback on `readlink -f` if zsh is not there)
8-
[[ -z $GEN_TOPO_MYDIR ]] && GEN_TOPO_MYDIR="$O2DPG_ROOT/DATA/production"
8+
: ${GEN_TOPO_MYDIR:="$O2DPG_ROOT/DATA/production"}
99
source $GEN_TOPO_MYDIR/gen_topo_helper_functions.sh || { echo "gen_topo_helper_functions.sh failed" 1>&2 && exit 1; }
1010
source $GEN_TOPO_MYDIR/setenv.sh || { echo "setenv.sh failed" 1>&2 && exit 1; }
1111

12-
if [[ -z $CTF_MINSIZE ]]; then CTF_MINSIZE="2000000000"; fi # accumulate CTFs until file size reached
13-
if [[ -z $CTF_MAX_PER_FILE ]]; then CTF_MAX_PER_FILE="10000"; fi # but no more than given number of CTFs per file
12+
: ${CTF_MINSIZE:="2000000000"} # accumulate CTFs until file size reached
13+
: ${CTF_MAX_PER_FILE:="1000000"} # but no more than given number of CTFs per file
1414

1515
# Set general arguments
1616
source $GEN_TOPO_MYDIR/getCommonArgs.sh || { echo "getCommonArgs.sh failed" 1>&2 && exit 1; }
1717

1818
TIMEFRAME_RATE_LIMIT=2
19-
[[ -z $NUMAID ]] && NUMAID="0"
20-
if [[ $ALIEN_JDL_CPUCORES == 8 ]]; then
19+
: ${NUMAID:="0"}
20+
21+
if [[ ${ALIEN_JDL_CPUCORES:-} == 8 ]]; then
2122
export MULTIPLICITY_PROCESS_tpc_entropy_decoder=2
2223
export MULTIPLICITY_PROCESS_tpc_entropy_encoder=2
2324
TIMEFRAME_RATE_LIMIT=3
2425
fi
2526

26-
[[ -z $SHM_MANAGER_SHMID ]] && ( [[ $EXTINPUT == 1 ]] || [[ $NUMAGPUIDS != 0 ]] ) && ARGS_ALL+=" --no-cleanup"
27-
[[ ! -z $TIMEFRAME_RATE_LIMIT ]] && [[ $TIMEFRAME_RATE_LIMIT != 0 ]] && ARGS_ALL+=" --timeframes-rate-limit $TIMEFRAME_RATE_LIMIT --timeframes-rate-limit-ipcid $(($NUMAID + 10 * ${O2JOBID:-0}))"
28-
[[ ! -z $TIMEFRAME_SHM_LIMIT ]] && ARGS_ALL+=" --timeframes-shm-limit $TIMEFRAME_SHM_LIMIT"
27+
[[ -z ${SHM_MANAGER_SHMID:-} ]] && ( [[ ${EXTINPUT:-} == 1 ]] || [[ ${NUMAGPUIDS:-} != 0 ]] ) && ARGS_ALL+=" --no-cleanup"
28+
[[ ! -z ${TIMEFRAME_RATE_LIMIT:-} ]] && [[ ${TIMEFRAME_RATE_LIMIT:-} != 0 ]] && ARGS_ALL+=" --timeframes-rate-limit $TIMEFRAME_RATE_LIMIT --timeframes-rate-limit-ipcid $(($NUMAID + 10 * ${O2JOBID:-0}))"
29+
[[ ! -z ${TIMEFRAME_SHM_LIMIT:-} ]] && ARGS_ALL+=" --timeframes-shm-limit $TIMEFRAME_SHM_LIMIT"
2930

3031
{ source $O2DPG_ROOT/DATA/production/workflow-multiplicities.sh; [[ $? != 0 ]] && echo "workflow-multiplicities.sh failed" 1>&2 && exit 1; }
3132

@@ -52,19 +53,29 @@ while [[ $# -gt 0 ]]; do
5253
esac
5354
done
5455

55-
if [[ -z $IRFRAMES ]] || [[ -z $CTFLIST ]] ; then
56+
if [[ -z ${IRFRAMES:-} ]] || [[ -z ${CTFLIST:-} ]] ; then
5657
echo "Format: ${0##*/} -f <IRFramesFile> -c <CTFsList>"
5758
exit 1
5859
fi
5960

60-
[[ "0$ALLOW_MISSING_DET" == "00" ]] && ALLOW_MISSING_DET= || ALLOW_MISSING_DET="--allow-missing-detectors"
61-
[[ "0$SKIP_SKIMMED_OUT_TF" == "00" ]] && SKIP_SKIMMED_OUT_TF= || SKIP_SKIMMED_OUT_TF="--skip-skimmed-out-tf"
61+
[[ "0${ALLOW_MISSING_DET:-}" == "00" ]] && ALLOW_MISSING_DET= || ALLOW_MISSING_DET="--allow-missing-detectors"
62+
[[ "0${SKIP_SKIMMED_OUT_TF:-}" == "00" ]] && SKIP_SKIMMED_OUT_TF= || SKIP_SKIMMED_OUT_TF="--skip-skimmed-out-tf"
63+
64+
: ${DEF_MARGIN_BWD:=55} # default backward margin to account for time misalignments
65+
: ${DEF_MARGIN_FWD:=55} # default forward margin to account for time misalignments
6266

63-
[[ -z $DEF_MARGIN_BWD ]] && DEF_MARGIN_BWD=55 # default backward margin to account for time misalignments
64-
[[ -z $DEF_MARGIN_FWD ]] && DEF_MARGIN_FWD=55 # default backward margin to account for time misalignments
67+
if [[ -z ${NO_ITSMFT_MASKING:-} ]] ; then
68+
has_detector_ctf ITS && export ARGS_EXTRA_PROCESS_o2_ctf_reader_workflow="$ARGS_EXTRA_PROCESS_o2_ctf_reader_workflow --its-digits"
69+
has_detector_ctf MFT && export ARGS_EXTRA_PROCESS_o2_ctf_reader_workflow="$ARGS_EXTRA_PROCESS_o2_ctf_reader_workflow --mft-digits"
70+
fi
6571

6672
add_W o2-ctf-reader-workflow "--ctf-data-subspec 1 --ir-frames-files $IRFRAMES $SKIP_SKIMMED_OUT_TF --ctf-input $CTFLIST ${INPUT_FILE_COPY_CMD+--copy-cmd} ${INPUT_FILE_COPY_CMD} --onlyDet $WORKFLOW_DETECTORS $ALLOW_MISSING_DET --pipeline $(get_N tpc-entropy-decoder TPC REST 1 TPCENTDEC)"
6773

74+
if [[ -z ${NO_ITSMFT_MASKING:-} ]] ; then
75+
has_detector_ctf ITS && add_W o2-its-reco-workflow "--digits-from-upstream --disable-mc --disable-tracking --disable-root-output --pipeline $(get_N its-tracker ITS REST 1 ITSTRK)" "ITSClustererParam.maxBCDiffToMaskBias=10;"
76+
has_detector_ctf MFT && add_W o2-mft-reco-workflow "--digits-from-upstream --disable-mc --disable-tracking --disable-root-output --pipeline $(get_N mft-tracker MFT REST 1 MFTTRK)" "MFTClustererParam.maxBCDiffToMaskBias=10;"
77+
fi
78+
6879
has_detector_ctf ITS && add_W o2-itsmft-entropy-encoder-workflow "--select-ir-frames --irframe-margin-bwd ${ITS_MARGIN_BWD:-$DEF_MARGIN_BWD} --irframe-margin-fwd ${ITS_MARGIN_FWD:-$DEF_MARGIN_FWD} --mem-factor ${ITS_ENC_MEMFACT:-1.5} --pipeline $(get_N its-entropy-encoder ITS CTF 1)"
6980
has_detector_ctf MFT && add_W o2-itsmft-entropy-encoder-workflow "--select-ir-frames --irframe-margin-bwd ${MFT_MARGIN_BWD:-$DEF_MARGIN_BWD} --irframe-margin-fwd ${MFT_MARGIN_FWD:-$DEF_MARGIN_FWD} --mem-factor ${MFT_ENC_MEMFACT:-1.5} --runmft true --pipeline $(get_N mft-entropy-encoder MFT CTF 1)"
7081
has_detector_ctf TPC && add_W o2-tpc-reco-workflow "--select-ir-frames --irframe-margin-bwd ${TPC_MARGIN_BWD:-$DEF_MARGIN_BWD} --irframe-margin-fwd ${TPC_MARGIN_FWD:-$DEF_MARGIN_FWD} --mem-factor ${TPC_ENC_MEMFACT:-1.} --input-type compressed-clusters-flat --output-type encoded-clusters,disable-writer --pipeline $(get_N tpc-entropy-encoder TPC CTF 1 TPCENT)"
@@ -86,7 +97,7 @@ add_W o2-ctf-writer-workflow "--output-dir $CTF_DIR --min-file-size ${CTF_MINSIZ
8697

8798
# ---------------------------------------------------------------------------------------------------------------------
8899
# DPL run binary
89-
WORKFLOW+="o2-dpl-run $ARGS_ALL $GLOBALDPLOPT -b"
100+
WORKFLOW+="o2-dpl-run $ARGS_ALL $GLOBALDPLOPT -b --run"
90101

91-
[[ $WORKFLOWMODE == "print" || "0$PRINT_WORKFLOW" == "01" ]] && echo "#Workflow command:\n\n${WORKFLOW}\n" | sed -e "s/\\\\n/\n/g" -e"s/| */| \\\\\n/g" | eval cat $( [[ $WORKFLOWMODE == "dds" ]] && echo '1>&2')
92-
if [[ $WORKFLOWMODE != "print" ]]; then eval $WORKFLOW; else true; fi
102+
[[ ${WORKFLOWMODE:-} == "print" || "0${PRINT_WORKFLOW:-}" == "01" ]] && echo "#Workflow command:\n\n${WORKFLOW}\n" | sed -e "s/\\\\n/\n/g" -e"s/| */| \\\\\n/g" | eval cat $( [[ ${WORKFLOWMODE:-} == "dds" ]] && echo '1>&2')
103+
if [[ ${WORKFLOWMODE:-} != "print" ]]; then eval $WORKFLOW; else true; fi

DATA/production/configurations/asyncReco/async_pass.sh

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ run_AOD_merging() {
1717
return $exitcode
1818
}
1919

20+
timeStartFullProcessing=`date +%s`
21+
2022
# to skip positional arg parsing before the randomizing part.
2123
inputarg="${1}"
2224

@@ -409,7 +411,7 @@ if [[ $ALIEN_JDL_SPLITWF != "1" ]]; then
409411
exit $exitcode
410412
fi
411413
mv latest.log latest_reco_1.log
412-
./$STATSCRIPT latest_reco_1.log
414+
$STATSCRIPT latest_reco_1.log
413415
fi
414416
else
415417
# running the wf in split mode
@@ -440,7 +442,7 @@ else
440442
exit $exitcode
441443
fi
442444
mv latest.log latest_reco_1.log
443-
./$STATSCRIPT latest_reco_1.log reco_1
445+
$STATSCRIPT latest_reco_1.log reco_1
444446
fi
445447
fi
446448

@@ -469,7 +471,7 @@ else
469471
exit $exitcode
470472
fi
471473
mv latest.log latest_reco_2.log
472-
./$STATSCRIPT latest_reco_2.log reco_2
474+
$STATSCRIPT latest_reco_2.log reco_2
473475
# let's compare to previous step
474476
if [[ -f latest_reco_1.log ]]; then
475477
nCTFsFilesInspected_step1=`ls [0-9]*_[0-9]*_[0-9]*_[0-9]*_[0-9]*_reco_1.stat | sed 's/\(^[0-9]*\)_.*/\1/'`
@@ -740,8 +742,11 @@ if [[ $ALIEN_JDL_AODOFF != 1 ]]; then
740742
fi
741743
fi
742744

743-
timeUsed=$(( $timeUsed+$timeUsedCheck+$timeUsedMerge+$timeUsedCheckMergedAOD+$timeUsedAnalysisQC ))
744-
echo "Time used for processing = $timeUsed s"
745+
746+
timeEndFullProcessing=`date +%s`
747+
timeUsedFullProcessing=$(( $timeEndFullProcessing+$timeStartFullProcessing ))
748+
749+
echo "Time used for processing = $timeUsedFullProcessing s"
745750

746751
if [[ $ALIEN_JDL_QCOFF != 1 ]]; then
747752
# copying the QC json file here

DATA/production/configurations/asyncReco/setenv_extra.sh

Lines changed: 27 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,10 @@
55

66
export SETENV_NO_ULIMIT=1
77

8-
# to avoid memory issues
9-
export DPL_DEFAULT_PIPELINE_LENGTH=16
8+
# to avoid memory issues - we don't do this on the EPNs, since it can affect the performance
9+
if [[ $ALIEN_JDL_USEGPUS != 1 ]]; then
10+
export DPL_DEFAULT_PIPELINE_LENGTH=16
11+
fi
1012

1113
# detector list
1214
if [[ -n $ALIEN_JDL_WORKFLOWDETECTORS ]]; then
@@ -159,6 +161,24 @@ else
159161
echo "************************************************************"
160162
fi
161163

164+
# TPC vdrift
165+
PERIODLETTER=${PERIOD: -1}
166+
VDRIFTPARAMOPTION=
167+
if [[ $$ALIEN_JDL_LPMANCHORYEAR == "2022" ]] && [[ $PERIODLETTER < m ]]; then
168+
echo "In setenv_extra: time used so far = $timeUsed s"
169+
timeStart=`date +%s`
170+
time root -b -q "$O2DPG_ROOT/DATA/production/common/getTPCvdrift.C+($RUNNUMBER)"
171+
timeEnd=`date +%s`
172+
timeUsed=$(( $timeUsed+$timeEnd-$timeStart ))
173+
delta=$(( $timeEnd-$timeStart ))
174+
echo "Time spent to get VDrift for TPC = $delta s"
175+
export VDRIFT=`cat vdrift.txt`
176+
VDRIFTPARAMOPTION="TPCGasParam.DriftV=$VDRIFT"
177+
echo "Setting TPC vdrift to $VDRIFT"
178+
else
179+
echo "TPC vdrift will be taken from CCDB"
180+
fi
181+
162182
# IR
163183
if [[ -z $RUN_IR ]] || [[ -z $RUN_DURATION ]] || [[ -z $RUN_BFIELD ]]; then
164184
cp $O2DPG_ROOT/DATA/production/common/getIRandDuration.C ./
@@ -280,7 +300,7 @@ if [[ $ALIGNLEVEL != 0 ]]; then
280300
fi
281301

282302
# ad-hoc options for GPU reco workflow
283-
export CONFIG_EXTRA_PROCESS_o2_gpu_reco_workflow+=";GPU_global.dEdxDisableResidualGainMap=1;$TRACKTUNETPCINNER;"
303+
export CONFIG_EXTRA_PROCESS_o2_gpu_reco_workflow+=";GPU_global.dEdxDisableResidualGainMap=1;$TRACKTUNETPCINNER;$VDRIFTPARAMOPTION;"
284304
if [[ $ALIEN_JDL_LPMPRODUCTIONTYPE == "MC" ]]; then
285305
export CONFIG_EXTRA_PROCESS_o2_gpu_reco_workflow+=";GPU_global.dEdxDisableResidualGain=1"
286306
fi
@@ -315,10 +335,10 @@ fi
315335
# secondary vertexing
316336
export SVTX="svertexer.checkV0Hypothesis=false;svertexer.checkCascadeHypothesis=false"
317337

318-
export CONFIG_EXTRA_PROCESS_o2_primary_vertexing_workflow+=";$PVERTEXER;"
338+
export CONFIG_EXTRA_PROCESS_o2_primary_vertexing_workflow+=";$PVERTEXER;$VDRIFTPARAMOPTION;"
319339
export CONFIG_EXTRA_PROCESS_o2_secondary_vertexing_workflow+=";$SVTX"
320340

321-
export CONFIG_EXTRA_PROCESS_o2_tpcits_match_workflow+=";$ITSEXTRAERR;$ITSTPCMATCH;$TRACKTUNETPCINNER;"
341+
export CONFIG_EXTRA_PROCESS_o2_tpcits_match_workflow+=";$ITSEXTRAERR;$ITSTPCMATCH;$TRACKTUNETPCINNER;$VDRIFTPARAMOPTION;"
322342
[[ ! -z "${TPCITSTIMEBIAS}" ]] && export CONFIG_EXTRA_PROCESS_o2_tpcits_match_workflow+=";tpcitsMatch.globalTimeBiasMUS=$TPCITSTIMEBIAS;"
323343
[[ ! -z "${TPCITSTIMEERR}" ]] && export CONFIG_EXTRA_PROCESS_o2_tpcits_match_workflow+=";tpcitsMatch.globalTimeExtraErrorMUS=$TPCITSTIMEERR;"
324344

@@ -327,10 +347,10 @@ has_detector FT0 && export ARGS_EXTRA_PROCESS_o2_tpcits_match_workflow="$ARGS_EX
327347

328348
# ad-hoc settings for TOF matching
329349
export ARGS_EXTRA_PROCESS_o2_tof_matcher_workflow="$ARGS_EXTRA_PROCESS_o2_tof_matcher_workflow --output-type matching-info,calib-info --enable-dia"
330-
export CONFIG_EXTRA_PROCESS_o2_tof_matcher_workflow+=";$ITSEXTRAERR;$TRACKTUNETPCINNER;"
350+
export CONFIG_EXTRA_PROCESS_o2_tof_matcher_workflow+=";$ITSEXTRAERR;$TRACKTUNETPCINNER;$VDRIFTPARAMOPTION;"
331351

332352
# ad-hoc settings for TRD matching
333-
export CONFIG_EXTRA_PROCESS_o2_trd_global_tracking+=";$ITSEXTRAERR;$TRACKTUNETPCINNER;"
353+
export CONFIG_EXTRA_PROCESS_o2_trd_global_tracking+=";$ITSEXTRAERR;$TRACKTUNETPCINNER;$VDRIFTPARAMOPTION;"
334354

335355
# ad-hoc settings for FT0
336356
export ARGS_EXTRA_PROCESS_o2_ft0_reco_workflow="$ARGS_EXTRA_PROCESS_o2_ft0_reco_workflow --ft0-reconstructor"

DATA/production/qc-async/mft.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@
6464
"dataSource": {
6565
"type": "direct",
6666
"query_comment" : "100% sampling",
67-
"query": "tracks:MFT/TRACKS/0;tracksrofs:MFT/MFTTrackROF/0"
67+
"query": "tracks:MFT/TRACKS/0;tracksrofs:MFT/MFTTrackROF/0;clustersrofs:MFT/CLUSTERSROF/0"
6868
},
6969
"taskParameters": {
7070
"ROFLengthInBC": "594",

DATA/production/qc-sync/mft-full.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@
107107
"maxNumberCycles": "-1",
108108
"dataSource" : {
109109
"type" : "direct",
110-
"query" : "tracks:MFT/TRACKS/0;tracksrofs:MFT/MFTTrackROF/0"
110+
"query" : "tracks:MFT/TRACKS/0;tracksrofs:MFT/MFTTrackROF/0;clustersrofs:MFT/CLUSTERSROF/0"
111111
},
112112
"location": "local",
113113
"localMachines": [

GRID/utils/grid_submit.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -306,15 +306,15 @@ EOF
306306
echo "cp file:${PWD}/${MY_JOBNAMEDATE}.jdl alien://${MY_JOBWORKDIR}/${MY_JOBNAMEDATE}.jdl@DISK=1" >> ${command_file} # copy the jdl
307307
echo "cp file:${THIS_SCRIPT} alien://${MY_BINDIR}/${MY_JOBNAMEDATE}.sh@DISK=1" >> ${command_file} # copy current job script to AliEn
308308
[ ! "${CONTINUE_WORKDIR}" ] && echo "cp file:${MY_JOBSCRIPT} alien://${MY_JOBWORKDIR}/alien_jobscript.sh" >> ${command_file}
309-
) &> alienlog.txt
309+
) > alienlog.txt 2>&1
310310

311311
pok "Submitting job \"${MY_JOBNAMEDATE}\" from $PWD"
312312
(
313313
echo "submit ${MY_JOBWORKDIR}/${MY_JOBNAMEDATE}.jdl" >> ${command_file}
314314

315315
# finally we do a single call to alien:
316316
alien.py < ${command_file}
317-
) &>> alienlog.txt
317+
) >> alienlog.txt 2>&1
318318

319319
MY_JOBID=$( (grep 'Your new job ID is' alienlog.txt | grep -oE '[0-9]+' || true) | sort -n | tail -n1)
320320
if [[ $MY_JOBID ]]; then

MC/bin/o2dpg_sim_workflow.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,7 @@
107107
parser.add_argument('--combine-tpc-clusterization', action='store_true', help=argparse.SUPPRESS) #<--- useful for small productions (pp, low interaction rate, small number of events)
108108
parser.add_argument('--first-orbit', default=0, type=int, help=argparse.SUPPRESS) # to set the first orbit number of the run for HBFUtils (only used when anchoring)
109109
# (consider doing this rather in O2 digitization code directly)
110+
parser.add_argument('--sor', default=-1, type=int, help=argparse.SUPPRESS) # may pass start of run with this (otherwise it is autodetermined from run number)
110111
parser.add_argument('--run-anchored', action='store_true', help=argparse.SUPPRESS)
111112
parser.add_argument('--alternative-reco-software', default="", help=argparse.SUPPRESS) # power feature to set CVFMS alienv software version for reco steps (different from default)
112113
parser.add_argument('--dpl-child-driver', default="", help="Child driver to use in DPL processes (export mode)")
@@ -266,9 +267,12 @@ def extractVertexArgs(configKeyValuesStr, finalDiamondDict):
266267
# ----------- START WORKFLOW CONSTRUCTION -----------------------------
267268

268269
# set the time to start of run (if no timestamp specified)
270+
if args.sor==-1:
271+
args.sor = retrieve_sor(args.run)
272+
assert (args.sor != 0)
273+
269274
if args.timestamp==-1:
270-
args.timestamp = retrieve_sor(args.run)
271-
assert (args.timestamp != 0)
275+
args.timestamp = args.sor
272276

273277
NTIMEFRAMES=int(args.tf)
274278
NWORKERS=args.j
@@ -715,8 +719,8 @@ def getDPL_global_options(bigshm=False, ccdbbackend=True):
715719
"HBFUtils.runNumber" : args.run }
716720
# we set the timestamp here only if specified explicitely (otherwise it will come from
717721
# the simulation GRP and digitization)
718-
if (args.timestamp != -1):
719-
globalTFConfigValues["HBFUtils.startTime"] = args.timestamp
722+
if (args.sor != -1):
723+
globalTFConfigValues["HBFUtils.startTime"] = args.sor
720724

721725
def putConfigValues(localCF = {}):
722726
"""

0 commit comments

Comments
 (0)