Skip to content

Commit 35d151b

Browse files
committed
Allow to run central barrel only
Makes it possible to run with central-barrel only, minimal detector lists such as export ALIEN_JDL_WORKFLOWDETECTORS=ITS,TPC,CTP export ALIEN_JDL_WORKFLOWDETECTORS=ITS,TPC,TOF,CTP export ALIEN_JDL_WORKFLOWDETECTORS=ITS,TPC,TOF,TRD,CTP
1 parent f0f1a9b commit 35d151b

File tree

2 files changed

+50
-39
lines changed

2 files changed

+50
-39
lines changed

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: 34 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1382,13 +1382,13 @@ def getDigiTaskName(det):
13821382
workflow['stages'].append(FT0RECOtask)
13831383

13841384
#<--------- ITS-TPC track matching task
1385-
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)
1385+
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)
13861386
ITSTPCMATCHtask["cmd"] = task_finalizer([
13871387
'${O2_ROOT}/bin/o2-tpcits-match-workflow',
13881388
getDPL_global_options(bigshm=True),
13891389
' --tpc-track-reader tpctracks.root',
13901390
'--tpc-native-cluster-reader \"--infile tpc-native-clusters.root\"',
1391-
'--use-ft0',
1391+
'--use-ft0' if isActive("FT0") else None,
13921392
putConfigValues(['MFTClustererParam',
13931393
'ITSCATrackerParam',
13941394
'tpcitsMatch',
@@ -1468,7 +1468,7 @@ def getDigiTaskName(det):
14681468
'trackTuneParams'], tpcLocalCFreco),
14691469
' --track-sources ' + toftracksrcdefault,
14701470
(' --combine-devices','')[args.no_combine_dpl_devices],
1471-
tofusefit,
1471+
tofusefit if isActive("FT0") else None,
14721472
tpc_corr_scaling_options,
14731473
tpc_corr_options_mc
14741474
]
@@ -1493,7 +1493,8 @@ def getDigiTaskName(det):
14931493
'MFTClustererParam']),
14941494
('','--disable-mc')[args.no_mc_labels],
14951495
('','--run-assessment')[args.mft_assessment_full]])
1496-
workflow['stages'].append(MFTRECOtask)
1496+
if isActive("MFT"):
1497+
workflow['stages'].append(MFTRECOtask)
14971498

14981499
# MCH reco: needing access to kinematics ... so some extra logic needed here
14991500
mchreconeeds = [getDigiTaskName("MCH")]
@@ -1614,7 +1615,7 @@ def getDigiTaskName(det):
16141615

16151616
#<--------- MFT-MCH forward matching
16161617
forwardmatchneeds = [MCHRECOtask['name'],
1617-
MFTRECOtask['name'],
1618+
MFTRECOtask['name'] if isActive("MFT") else None,
16181619
MCHMIDMATCHtask['name'] if isActive("MID") else None]
16191620
MFTMCHMATCHtask = createTask(name='mftmchMatch_'+str(tf), needs=forwardmatchneeds, tf=tf, cwd=timeframeworkdir, lab=["RECO"], mem='1500')
16201621
MFTMCHMATCHtask['cmd'] = task_finalizer(
@@ -1877,21 +1878,22 @@ def remove_json_prefix(path):
18771878
### MFT
18781879

18791880
# to be enabled once MFT Digits should run 5 times with different configurations
1880-
for flp in range(5):
1881-
addQCPerTF(taskName='mftDigitsQC' + str(flp),
1882-
needs=[getDigiTaskName("MFT")],
1883-
readerCommand='o2-qc-mft-digits-root-file-reader --mft-digit-infile=mftdigits.root',
1884-
configFilePath='json://${O2DPG_ROOT}/MC/config/QC/json/mft-digits-' + str(flp) + '.json',
1885-
objectsFile='mftDigitsQC.root')
1886-
addQCPerTF(taskName='mftClustersQC',
1881+
if isActive("MFT"):
1882+
for flp in range(5):
1883+
addQCPerTF(taskName='mftDigitsQC' + str(flp),
1884+
needs=[getDigiTaskName("MFT")],
1885+
readerCommand='o2-qc-mft-digits-root-file-reader --mft-digit-infile=mftdigits.root',
1886+
configFilePath='json://${O2DPG_ROOT}/MC/config/QC/json/mft-digits-' + str(flp) + '.json',
1887+
objectsFile='mftDigitsQC.root')
1888+
addQCPerTF(taskName='mftClustersQC',
18871889
needs=[MFTRECOtask['name']],
18881890
readerCommand='o2-global-track-cluster-reader --track-types none --cluster-types MFT',
18891891
configFilePath='json://${O2DPG_ROOT}/MC/config/QC/json/mft-clusters.json')
1890-
addQCPerTF(taskName='mftTracksQC',
1892+
addQCPerTF(taskName='mftTracksQC',
18911893
needs=[MFTRECOtask['name']],
18921894
readerCommand='o2-global-track-cluster-reader --track-types MFT --cluster-types MFT',
18931895
configFilePath='json://${O2DPG_ROOT}/MC/config/QC/json/mft-tracks.json')
1894-
addQCPerTF(taskName='mftMCTracksQC',
1896+
addQCPerTF(taskName='mftMCTracksQC',
18951897
needs=[MFTRECOtask['name']],
18961898
readerCommand='o2-global-track-cluster-reader --track-types MFT --cluster-types MFT',
18971899
configFilePath='json://${O2DPG_ROOT}/MC/config/QC/json/mft-tracks-mc.json')
@@ -1962,22 +1964,25 @@ def remove_json_prefix(path):
19621964
readerCommand='o2-emcal-cell-reader-workflow --infile emccells.root | o2-ctp-digit-reader --inputfile ctpdigits.root --disable-mc',
19631965
configFilePath='json://${O2DPG_ROOT}/MC/config/QC/json/emc-bc-task.json')
19641966
### FT0
1965-
addQCPerTF(taskName='RecPointsQC',
1966-
needs=[FT0RECOtask['name']],
1967-
readerCommand='o2-ft0-recpoints-reader-workflow --infile o2reco_ft0.root',
1968-
configFilePath='json://${O2DPG_ROOT}/MC/config/QC/json/ft0-reconstruction-config.json')
1967+
if isActive("FT0"):
1968+
addQCPerTF(taskName='RecPointsQC',
1969+
needs=[FT0RECOtask['name']],
1970+
readerCommand='o2-ft0-recpoints-reader-workflow --infile o2reco_ft0.root',
1971+
configFilePath='json://${O2DPG_ROOT}/MC/config/QC/json/ft0-reconstruction-config.json')
19691972

19701973
### FV0
1971-
addQCPerTF(taskName='FV0DigitsQC',
1972-
needs=[getDigiTaskName("FV0")],
1973-
readerCommand='o2-fv0-digit-reader-workflow --fv0-digit-infile fv0digits.root',
1974-
configFilePath='json://${O2DPG_ROOT}/MC/config/QC/json/fv0-digits.json')
1974+
if isActive("FV0"):
1975+
addQCPerTF(taskName='FV0DigitsQC',
1976+
needs=[getDigiTaskName("FV0")],
1977+
readerCommand='o2-fv0-digit-reader-workflow --fv0-digit-infile fv0digits.root',
1978+
configFilePath='json://${O2DPG_ROOT}/MC/config/QC/json/fv0-digits.json')
19751979

19761980
### FDD
1977-
addQCPerTF(taskName='FDDRecPointsQC',
1978-
needs=[FDDRECOtask['name']],
1979-
readerCommand='o2-fdd-recpoints-reader-workflow --fdd-recpoints-infile o2reco_fdd.root',
1980-
configFilePath='json://${O2DPG_ROOT}/MC/config/QC/json/fdd-recpoints.json')
1981+
if isActive("FDD"):
1982+
addQCPerTF(taskName='FDDRecPointsQC',
1983+
needs=[FDDRECOtask['name']],
1984+
readerCommand='o2-fdd-recpoints-reader-workflow --fdd-recpoints-infile o2reco_fdd.root',
1985+
configFilePath='json://${O2DPG_ROOT}/MC/config/QC/json/fdd-recpoints.json')
19811986

19821987
### GLO + RECO
19831988
addQCPerTF(taskName='vertexQC',
@@ -2079,7 +2084,9 @@ def remove_json_prefix(path):
20792084
tpctsneeds = [ TPCRECOtask['name'],
20802085
ITSTPCMATCHtask['name'],
20812086
TOFTPCMATCHERtask['name'],
2082-
PVFINDERtask['name']
2087+
FT0RECOtask['name'],
2088+
PVFINDERtask['name'],
2089+
TRDTRACKINGtask2['name']
20832090
]
20842091
TPCTStask = createTask(name='tpctimeseries_'+str(tf), needs=tpctsneeds, tf=tf, cwd=timeframeworkdir, lab=["RECO"], mem='2000', cpu='1')
20852092
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"'

0 commit comments

Comments
 (0)