Skip to content

Commit a928ff4

Browse files
authored
Merge branch 'AliceO2Group:master' into master
2 parents ba5a233 + 7161e7e commit a928ff4

File tree

105 files changed

+2370
-208
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

105 files changed

+2370
-208
lines changed

DATA/production/configurations/asyncReco/setenv_extra.sh

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -394,6 +394,10 @@ elif [[ $ALIGNLEVEL == 1 ]]; then
394394
CONFIG_EXTRA_PROCESS_o2_gpu_reco_workflow+="GPU_proc.tpcUseOldCPUDecoding=1;GPU_proc.tpcApplyClusterFilterOnCPU=$ALIEN_JDL_TPCCLUSTERFILTER;"
395395
fi
396396

397+
if [[ -n "$ALIEN_JDL_TPCMEMORYSCALING" ]]; then
398+
CONFIG_EXTRA_PROCESS_o2_gpu_reco_workflow+="GPU_proc.memoryScalingFactor=$ALIEN_JDL_TPCMEMORYSCALING;"
399+
fi
400+
397401
if [[ -n "$ALIEN_JDL_TPCCHICUTOPT" ]]; then # 0 or 1 to disable or enable (default) the chi2 cut both on one-side and smoothed Kalman chi2
398402
CONFIG_EXTRA_PROCESS_o2_gpu_reco_workflow+="GPU_rec_tpc.mergerInterpolateRejectAlsoOnCurrentPosition=$ALIEN_JDL_TPCCHICUTOPT;"
399403
fi
@@ -544,7 +548,7 @@ export ITSEXTRAERR="ITSCATrackerParam.sysErrY2[0]=$ERRIB;ITSCATrackerParam.sysEr
544548
# ad-hoc options for ITS reco workflow
545549
EXTRA_ITSRECO_CONFIG=
546550
if [[ $BEAMTYPE == "PbPb" ]]; then
547-
EXTRA_ITSRECO_CONFIG="ITSCATrackerParam.deltaRof=0;ITSVertexerParam.clusterContributorsCut=16;ITSVertexerParam.lowMultBeamDistCut=0;ITSCATrackerParam.nROFsPerIterations=12;ITSCATrackerParam.perPrimaryVertexProcessing=false;ITSCATrackerParam.fataliseUponFailure=false;ITSCATrackerParam.dropTFUponFailure=true"
551+
EXTRA_ITSRECO_CONFIG="ITSCATrackerParam.deltaRof=0;ITSVertexerParam.clusterContributorsCut=16;ITSVertexerParam.lowMultBeamDistCut=0;ITSCATrackerParam.nROFsPerIterations=12;ITSCATrackerParam.perPrimaryVertexProcessing=false;ITSCATrackerParam.fataliseUponFailure=false;ITSCATrackerParam.dropTFUponFailure=true;ITSCATrackerParam.maxMemory=21474836480;"
548552
if [[ -z "$ALIEN_JDL_DISABLE_UPC" || $ALIEN_JDL_DISABLE_UPC != 1 ]]; then
549553
EXTRA_ITSRECO_CONFIG+=";ITSVertexerParam.nIterations=2;ITSCATrackerParam.doUPCIteration=true;"
550554
fi

DATA/production/qc-async/zdcPbPb.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,8 @@
5757
"CENTR_ZNA": "200;-2;2;200;-2;2",
5858
"CENTR_ZNC": "200;-2;2;200;-2;2",
5959
"CENTR_ZPA": "2240;0;22.4",
60-
"CENTR_ZPC": "2240;-22.4;0"
60+
"CENTR_ZPC": "2240;-22.4;0",
61+
"CENTRAL_EVENT_CONFIG": "2.5;1"
6162
}
6263
}
6364
}

MC/bin/o2dpg_qc_finalization_workflow.py

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -85,15 +85,16 @@ def add_QC_postprocessing(taskName, qcConfigPath, needs, runSpecific, prodSpecif
8585

8686
## The list of remote-batch workflows (reading the merged QC tasks results, applying Checks, uploading them to QCDB)
8787
MFTDigitsQCneeds = []
88-
for flp in range(5):
89-
MFTDigitsQCneeds.extend(['mftDigitsQC'+str(flp)+'_local'+str(tf) for tf in range(1, ntimeframes + 1)])
90-
add_QC_finalization('mftDigitsQC', 'json://${O2DPG_ROOT}/MC/config/QC/json/mft-digits-0.json', MFTDigitsQCneeds)
91-
add_QC_finalization('mftClustersQC', 'json://${O2DPG_ROOT}/MC/config/QC/json/mft-clusters.json')
92-
add_QC_finalization('mftTracksQC', 'json://${O2DPG_ROOT}/MC/config/QC/json/mft-tracks.json')
93-
add_QC_finalization('mftMCTracksQC', 'json://${O2DPG_ROOT}/MC/config/QC/json/mft-tracks-mc.json')
94-
add_QC_finalization('emcRecoQC', 'json://${O2DPG_ROOT}/MC/config/QC/json/emc-reco-tasks.json')
95-
add_QC_finalization('emcBCQC', 'json://${O2DPG_ROOT}/MC/config/QC/json/emc-reco-tasks.json')
96-
#add_QC_finalization('tpcTrackingQC', 'json://${O2DPG_ROOT}/MC/config/QC/json/tpc-qc-tracking-direct.json')
88+
if isActive('MFT'):
89+
for flp in range(5):
90+
MFTDigitsQCneeds.extend(['mftDigitsQC'+str(flp)+'_local'+str(tf) for tf in range(1, ntimeframes + 1)])
91+
add_QC_finalization('mftDigitsQC', 'json://${O2DPG_ROOT}/MC/config/QC/json/mft-digits-0.json', MFTDigitsQCneeds)
92+
add_QC_finalization('mftClustersQC', 'json://${O2DPG_ROOT}/MC/config/QC/json/mft-clusters.json')
93+
add_QC_finalization('mftTracksQC', 'json://${O2DPG_ROOT}/MC/config/QC/json/mft-tracks.json')
94+
add_QC_finalization('mftMCTracksQC', 'json://${O2DPG_ROOT}/MC/config/QC/json/mft-tracks-mc.json')
95+
if isActive('EMC'):
96+
add_QC_finalization('emcRecoQC', 'json://${O2DPG_ROOT}/MC/config/QC/json/emc-reco-tasks.json')
97+
add_QC_finalization('emcBCQC', 'json://${O2DPG_ROOT}/MC/config/QC/json/emc-reco-tasks.json')
9798
add_QC_finalization('tpcStandardQC', 'json://${O2DPG_ROOT}/MC/config/QC/json/tpc-qc-standard-direct.json')
9899
if isActive('TRD'):
99100
add_QC_finalization('trdDigitsQC', 'json://${O2DPG_ROOT}/MC/config/QC/json/trd-standalone-task.json')
@@ -127,16 +128,19 @@ def add_QC_postprocessing(taskName, qcConfigPath, needs, runSpecific, prodSpecif
127128
else:
128129
add_QC_finalization('tofPIDQC', 'json://${O2DPG_ROOT}/MC/config/QC/json/pidtofNoTRD.json')
129130
add_QC_finalization('RecPointsQC', 'json://${O2DPG_ROOT}/MC/config/QC/json/ft0-reconstruction-config.json')
130-
add_QC_finalization('FV0DigitsQC', 'json://${O2DPG_ROOT}/MC/config/QC/json/fv0-digits.json')
131-
add_QC_finalization('FDDRecPointsQC', 'json://${O2DPG_ROOT}/MC/config/QC/json/fdd-recpoints.json')
131+
if isActive('FV0'):
132+
add_QC_finalization('FV0DigitsQC', 'json://${O2DPG_ROOT}/MC/config/QC/json/fv0-digits.json')
133+
if isActive('FDD'):
134+
add_QC_finalization('FDDRecPointsQC', 'json://${O2DPG_ROOT}/MC/config/QC/json/fdd-recpoints.json')
132135
if isActive('CPV'):
133136
add_QC_finalization('CPVDigitsQC', 'json://${O2DPG_ROOT}/MC/config/QC/json/cpv-digits-task.json')
134137
add_QC_finalization('CPVClustersQC', 'json://${O2DPG_ROOT}/MC/config/QC/json/cpv-clusters-task.json')
135138
if isActive('PHS'):
136139
add_QC_finalization('PHSCellsClustersQC', 'json://${O2DPG_ROOT}/MC/config/QC/json/phs-cells-clusters-task.json')
137140

138141
# The list of QC Post-processing workflows
139-
add_QC_postprocessing('tofTrendingHits', 'json://${O2DPG_ROOT}/MC/config/QC/json/tof-trending-hits.json', [QC_finalize_name('tofDigitsQC')], runSpecific=False, prodSpecific=True)
142+
if isActive('TOF'):
143+
add_QC_postprocessing('tofTrendingHits', 'json://${O2DPG_ROOT}/MC/config/QC/json/tof-trending-hits.json', [QC_finalize_name('tofDigitsQC')], runSpecific=False, prodSpecific=True)
140144

141145
return stages
142146

MC/bin/o2dpg_sim_workflow.py

Lines changed: 58 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -295,6 +295,8 @@ def load_external_config(configfile):
295295
# function to finalize detector source lists based on activeDetectors
296296
# detector source lists are comma separated lists of DET1, DET2, DET1-DET2, ...
297297
def cleanDetectorInputList(inputlist):
298+
if inputlist == "all":
299+
return inputlist
298300
sources_list = inputlist.split(",")
299301
# Filter the sources
300302
filtered_sources = [
@@ -630,20 +632,7 @@ def getDPL_global_options(bigshm=False, ccdbbackend=True, runcommand=True):
630632
if doembedding:
631633
interactionspecification = 'bkg,' + str(INTRATE) + ',' + str(NTIMEFRAMES*args.ns) + ':' + str(args.nb) + ' ' + signalprefix + ',' + args.embeddPattern
632634

633-
PreCollContextTask['cmd']='${O2_ROOT}/bin/o2-steer-colcontexttool -i ' + interactionspecification \
634-
+ ' --show-context ' \
635-
+ ' --timeframeID ' + str(int(args.production_offset)*NTIMEFRAMES) \
636-
+ ' --orbitsPerTF ' + str(orbitsPerTF) \
637-
+ ' --orbits ' + str(NTIMEFRAMES * (orbitsPerTF)) \
638-
+ ' --seed ' + str(RNDSEED) \
639-
+ ' --noEmptyTF --first-orbit ' + str(args.first_orbit) \
640-
+ ' --extract-per-timeframe tf:sgn' \
641-
+ ' --with-vertices ' + vtxmode_precoll \
642-
+ ' --maxCollsPerTF ' + str(args.ns) \
643-
+ ' --orbitsEarly ' + str(args.orbits_early) \
644-
+ ('',f" --import-external {args.data_anchoring}")[len(args.data_anchoring) > 0]
645-
646-
PreCollContextTask['cmd'] += ' --bcPatternFile ccdb' # <--- the object should have been set in (local) CCDB
635+
qedspec=""
647636
if includeQED:
648637
if PDGA==2212 or PDGB==2212:
649638
# QED is not enabled for pp and pA collisions
@@ -652,9 +641,28 @@ def getDPL_global_options(bigshm=False, ccdbbackend=True, runcommand=True):
652641
else:
653642
qedrate = INTRATE * QEDXSecExpected[COLTYPE] / XSecSys[COLTYPE] # hadronic interaction rate * cross_section_ratio
654643
qedspec = 'qed' + ',' + str(qedrate) + ',10000000:' + str(NEventsQED)
655-
PreCollContextTask['cmd'] += ' --QEDinteraction ' + qedspec
656-
workflow['stages'].append(PreCollContextTask)
657644

645+
PreCollContextTask['cmd'] = task_finalizer([
646+
'${O2_ROOT}/bin/o2-steer-colcontexttool',
647+
f'-i {interactionspecification}',
648+
'--show-context',
649+
f'--timeframeID {int(args.production_offset)*NTIMEFRAMES}',
650+
f'--orbitsPerTF {orbitsPerTF}',
651+
f'--orbits {NTIMEFRAMES * (orbitsPerTF)}',
652+
f'--seed {RNDSEED}',
653+
'--noEmptyTF',
654+
f'--first-orbit {args.first_orbit}',
655+
'--extract-per-timeframe tf:sgn',
656+
f'--with-vertices {vtxmode_precoll}',
657+
f'--maxCollsPerTF {args.ns}',
658+
f'--orbitsEarly {args.orbits_early}',
659+
f'--timestamp {args.timestamp}',
660+
f'--import-external {args.data_anchoring}' if len(args.data_anchoring) > 0 else None,
661+
'--bcPatternFile ccdb',
662+
f'--QEDinteraction {qedspec}' if includeQED else None
663+
], configname = 'precollcontext')
664+
workflow['stages'].append(PreCollContextTask)
665+
#TODO: in future add standard ' --nontrivial-mu-distribution ccdb://http://ccdb-test.cern.ch:8080/GLO/CALIB/EVSELQA/HBCTVX'
658666

659667
if doembedding:
660668
if not usebkgcache:
@@ -1376,13 +1384,13 @@ def getDigiTaskName(det):
13761384
workflow['stages'].append(FT0RECOtask)
13771385

13781386
#<--------- ITS-TPC track matching task
1379-
ITSTPCMATCHtask=createTask(name='itstpcMatch_'+str(tf), needs=[TPCRECOtask['name'], ITSRECOtask['name'], FT0RECOtask['name']], tf=tf, cwd=timeframeworkdir, lab=["RECO"], mem='8000', relative_cpu=3/8)
1387+
ITSTPCMATCHtask=createTask(name='itstpcMatch_'+str(tf), needs=[TPCRECOtask['name'], ITSRECOtask['name'], FT0RECOtask['name'] if isActive("FT0") else None], tf=tf, cwd=timeframeworkdir, lab=["RECO"], mem='8000', relative_cpu=3/8)
13801388
ITSTPCMATCHtask["cmd"] = task_finalizer([
13811389
'${O2_ROOT}/bin/o2-tpcits-match-workflow',
13821390
getDPL_global_options(bigshm=True),
13831391
' --tpc-track-reader tpctracks.root',
13841392
'--tpc-native-cluster-reader \"--infile tpc-native-clusters.root\"',
1385-
'--use-ft0',
1393+
'--use-ft0' if isActive("FT0") else None,
13861394
putConfigValues(['MFTClustererParam',
13871395
'ITSCATrackerParam',
13881396
'tpcitsMatch',
@@ -1462,7 +1470,7 @@ def getDigiTaskName(det):
14621470
'trackTuneParams'], tpcLocalCFreco),
14631471
' --track-sources ' + toftracksrcdefault,
14641472
(' --combine-devices','')[args.no_combine_dpl_devices],
1465-
tofusefit,
1473+
tofusefit if isActive("FT0") else None,
14661474
tpc_corr_scaling_options,
14671475
tpc_corr_options_mc
14681476
]
@@ -1487,7 +1495,8 @@ def getDigiTaskName(det):
14871495
'MFTClustererParam']),
14881496
('','--disable-mc')[args.no_mc_labels],
14891497
('','--run-assessment')[args.mft_assessment_full]])
1490-
workflow['stages'].append(MFTRECOtask)
1498+
if isActive("MFT"):
1499+
workflow['stages'].append(MFTRECOtask)
14911500

14921501
# MCH reco: needing access to kinematics ... so some extra logic needed here
14931502
mchreconeeds = [getDigiTaskName("MCH")]
@@ -1608,7 +1617,7 @@ def getDigiTaskName(det):
16081617

16091618
#<--------- MFT-MCH forward matching
16101619
forwardmatchneeds = [MCHRECOtask['name'],
1611-
MFTRECOtask['name'],
1620+
MFTRECOtask['name'] if isActive("MFT") else None,
16121621
MCHMIDMATCHtask['name'] if isActive("MID") else None]
16131622
MFTMCHMATCHtask = createTask(name='mftmchMatch_'+str(tf), needs=forwardmatchneeds, tf=tf, cwd=timeframeworkdir, lab=["RECO"], mem='1500')
16141623
MFTMCHMATCHtask['cmd'] = task_finalizer(
@@ -1871,21 +1880,22 @@ def remove_json_prefix(path):
18711880
### MFT
18721881

18731882
# to be enabled once MFT Digits should run 5 times with different configurations
1874-
for flp in range(5):
1875-
addQCPerTF(taskName='mftDigitsQC' + str(flp),
1876-
needs=[getDigiTaskName("MFT")],
1877-
readerCommand='o2-qc-mft-digits-root-file-reader --mft-digit-infile=mftdigits.root',
1878-
configFilePath='json://${O2DPG_ROOT}/MC/config/QC/json/mft-digits-' + str(flp) + '.json',
1879-
objectsFile='mftDigitsQC.root')
1880-
addQCPerTF(taskName='mftClustersQC',
1883+
if isActive("MFT"):
1884+
for flp in range(5):
1885+
addQCPerTF(taskName='mftDigitsQC' + str(flp),
1886+
needs=[getDigiTaskName("MFT")],
1887+
readerCommand='o2-qc-mft-digits-root-file-reader --mft-digit-infile=mftdigits.root',
1888+
configFilePath='json://${O2DPG_ROOT}/MC/config/QC/json/mft-digits-' + str(flp) + '.json',
1889+
objectsFile='mftDigitsQC.root')
1890+
addQCPerTF(taskName='mftClustersQC',
18811891
needs=[MFTRECOtask['name']],
18821892
readerCommand='o2-global-track-cluster-reader --track-types none --cluster-types MFT',
18831893
configFilePath='json://${O2DPG_ROOT}/MC/config/QC/json/mft-clusters.json')
1884-
addQCPerTF(taskName='mftTracksQC',
1894+
addQCPerTF(taskName='mftTracksQC',
18851895
needs=[MFTRECOtask['name']],
18861896
readerCommand='o2-global-track-cluster-reader --track-types MFT --cluster-types MFT',
18871897
configFilePath='json://${O2DPG_ROOT}/MC/config/QC/json/mft-tracks.json')
1888-
addQCPerTF(taskName='mftMCTracksQC',
1898+
addQCPerTF(taskName='mftMCTracksQC',
18891899
needs=[MFTRECOtask['name']],
18901900
readerCommand='o2-global-track-cluster-reader --track-types MFT --cluster-types MFT',
18911901
configFilePath='json://${O2DPG_ROOT}/MC/config/QC/json/mft-tracks-mc.json')
@@ -1956,22 +1966,25 @@ def remove_json_prefix(path):
19561966
readerCommand='o2-emcal-cell-reader-workflow --infile emccells.root | o2-ctp-digit-reader --inputfile ctpdigits.root --disable-mc',
19571967
configFilePath='json://${O2DPG_ROOT}/MC/config/QC/json/emc-bc-task.json')
19581968
### FT0
1959-
addQCPerTF(taskName='RecPointsQC',
1960-
needs=[FT0RECOtask['name']],
1961-
readerCommand='o2-ft0-recpoints-reader-workflow --infile o2reco_ft0.root',
1962-
configFilePath='json://${O2DPG_ROOT}/MC/config/QC/json/ft0-reconstruction-config.json')
1969+
if isActive("FT0"):
1970+
addQCPerTF(taskName='RecPointsQC',
1971+
needs=[FT0RECOtask['name']],
1972+
readerCommand='o2-ft0-recpoints-reader-workflow --infile o2reco_ft0.root',
1973+
configFilePath='json://${O2DPG_ROOT}/MC/config/QC/json/ft0-reconstruction-config.json')
19631974

19641975
### FV0
1965-
addQCPerTF(taskName='FV0DigitsQC',
1966-
needs=[getDigiTaskName("FV0")],
1967-
readerCommand='o2-fv0-digit-reader-workflow --fv0-digit-infile fv0digits.root',
1968-
configFilePath='json://${O2DPG_ROOT}/MC/config/QC/json/fv0-digits.json')
1976+
if isActive("FV0"):
1977+
addQCPerTF(taskName='FV0DigitsQC',
1978+
needs=[getDigiTaskName("FV0")],
1979+
readerCommand='o2-fv0-digit-reader-workflow --fv0-digit-infile fv0digits.root',
1980+
configFilePath='json://${O2DPG_ROOT}/MC/config/QC/json/fv0-digits.json')
19691981

19701982
### FDD
1971-
addQCPerTF(taskName='FDDRecPointsQC',
1972-
needs=[FDDRECOtask['name']],
1973-
readerCommand='o2-fdd-recpoints-reader-workflow --fdd-recpoints-infile o2reco_fdd.root',
1974-
configFilePath='json://${O2DPG_ROOT}/MC/config/QC/json/fdd-recpoints.json')
1983+
if isActive("FDD"):
1984+
addQCPerTF(taskName='FDDRecPointsQC',
1985+
needs=[FDDRECOtask['name']],
1986+
readerCommand='o2-fdd-recpoints-reader-workflow --fdd-recpoints-infile o2reco_fdd.root',
1987+
configFilePath='json://${O2DPG_ROOT}/MC/config/QC/json/fdd-recpoints.json')
19751988

19761989
### GLO + RECO
19771990
addQCPerTF(taskName='vertexQC',
@@ -2073,7 +2086,9 @@ def remove_json_prefix(path):
20732086
tpctsneeds = [ TPCRECOtask['name'],
20742087
ITSTPCMATCHtask['name'],
20752088
TOFTPCMATCHERtask['name'],
2076-
PVFINDERtask['name']
2089+
FT0RECOtask['name'],
2090+
PVFINDERtask['name'],
2091+
TRDTRACKINGtask2['name']
20772092
]
20782093
TPCTStask = createTask(name='tpctimeseries_'+str(tf), needs=tpctsneeds, tf=tf, cwd=timeframeworkdir, lab=["RECO"], mem='2000', cpu='1')
20792094
TPCTStask['cmd'] = 'o2-global-track-cluster-reader --disable-mc --cluster-types "FT0,TOF,TPC" --track-types "ITS,TPC,ITS-TPC,ITS-TPC-TOF,ITS-TPC-TRD-TOF"'

MC/bin/o2dpg_sim_workflow_anchored.py

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -394,6 +394,29 @@ def determine_timestamp(sor, eor, splitinfo, cycle, ntf, HBF_per_timeframe = 256
394394
assert (timestamp_of_production <= eor)
395395
return int(timestamp_of_production), production_offset
396396

397+
def determine_timestamp_from_timeframeID(sor, eor, timeframeID, HBF_per_timeframe = 256):
398+
"""
399+
Determines the timestamp based on the given timeframeID within a run
400+
Args:
401+
sor: int
402+
start-of-run in milliseconds since epoch
403+
eor: int
404+
end-of-run in milliseconds since epoch
405+
timeframeID: int
406+
timeframe id
407+
HBF_per_timeframe: int
408+
number of orbits per timeframe
409+
Returns:
410+
int: timestamp in milliseconds
411+
"""
412+
# length of this run in micro seconds, since we use the orbit duration in micro seconds
413+
414+
timestamp_of_production = sor + timeframeID * HBF_per_timeframe * LHCOrbitMUS / 1000
415+
# this is a closure test. If we had perfect floating point precision everywhere, it wouldn't fail.
416+
# But since we don't have that and there are some int casts as well, better check again.
417+
assert (timestamp_of_production >= sor)
418+
assert (timestamp_of_production <= eor)
419+
return int(timestamp_of_production)
397420

398421
def exclude_timestamp(ts, orbit, run, filename, global_run_params):
399422
"""
@@ -481,6 +504,7 @@ def main():
481504
parser.add_argument("--invert-irframe-selection", action='store_true', help="Inverts the logic of --run-time-span-file")
482505
parser.add_argument("--orbitsPerTF", type=str, help="Force a certain orbits-per-timeframe number; Automatically taken from CCDB if not given.", default="")
483506
parser.add_argument('--publish-mcprodinfo', action='store_true', default=False, help="Publish MCProdInfo metadata to CCDB")
507+
parser.add_argument('--timeframeID', type=int, help="If given, anchor to this specific timeframe id within a run. Takes precendence over determination based on (split-id, prod-split, cycle)", default=-1)
484508
parser.add_argument('forward', nargs=argparse.REMAINDER) # forward args passed to actual workflow creation
485509
args = parser.parse_args()
486510
print (args)
@@ -553,7 +577,13 @@ def main():
553577
GLOparams["OrbitsPerTF"] = determined_orbits
554578

555579
# determine timestamp, and production offset for the final MC job to run
556-
timestamp, prod_offset = determine_timestamp(run_start, run_end, [args.split_id - 1, args.prod_split], args.cycle, args.tf, GLOparams["OrbitsPerTF"])
580+
timestamp = 0
581+
prod_offset = 0
582+
if args.timeframeID != -1:
583+
timestamp = determine_timestamp_from_timeframeID(run_start, run_end, args.timeframeID, GLOparams["OrbitsPerTF"])
584+
prod_offset = args.timeframeID
585+
else:
586+
timestamp, prod_offset = determine_timestamp(run_start, run_end, [args.split_id - 1, args.prod_split], args.cycle, args.tf, GLOparams["OrbitsPerTF"])
557587

558588
# determine orbit corresponding to timestamp (mainly used in exclude_timestamp function)
559589
orbit = GLOparams["FirstOrbit"] + int((timestamp - GLOparams["SOR"]) / ( LHCOrbitMUS / 1000))

MC/config/ALICE3/ini/tests/pythia8_ArAr.C

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ int External() {
22
return 0;
33
}
44

5-
int Pythia8()
5+
int pythia8()
66
{
77
return External();
88
}

MC/config/ALICE3/ini/tests/pythia8_KrKr.C

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ int External() {
22
return 0;
33
}
44

5-
int Pythia8()
5+
int pythia8()
66
{
77
return External();
88
}

MC/config/ALICE3/ini/tests/pythia8_OO.C

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ int External() {
22
return 0;
33
}
44

5-
int Pythia8()
5+
int pythia8()
66
{
77
return External();
88
}

MC/config/ALICE3/ini/tests/pythia8_PbPb.C

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ int External() {
22
return 0;
33
}
44

5-
int Pythia8()
5+
int pythia8()
66
{
77
return External();
88
}

0 commit comments

Comments
 (0)