|
1 | 1 | #!/usr/bin/env bash |
2 | | -#JDL_PACKAGE=VO_ALICE@O2PDPSuite::MC-prod-2026-v11-1 |
| 2 | +#JDL_PACKAGE=VO_ALICE@O2PDPSuite::MC-prod-2026-v13-1 |
3 | 3 | #JDL_OUTPUT=AO2D.root@disk=2,debug_log_archive.tgz@disk=2 |
4 | 4 | #JDL_ERROROUTPUT=debug_log_archive.tgz@disk=2 |
5 | 5 |
|
6 | | -# Anchored Pb-Pb MC: STARlight UPC events embedded in hadronic (Pythia8 Angantyr) pile-up |
7 | | -# at the interaction rate of the anchor run. |
| 6 | +# Anchored Pb-Pb MC: STARlight UPC events on top of hadronic (Pythia8 Angantyr) pile-up. |
8 | 7 | # |
9 | | -# Every UPC_EVERY_N-th collision of the anchor run's collision sequence is replaced by a |
10 | | -# UPC event in its own bunch crossing; all other collisions are hadronic Pb-Pb collisions. |
11 | | -# The interaction-rate dependence is obtained by choosing anchor runs at different rates. |
| 8 | +# The hadronic Pb-Pb collisions follow the interaction rate of the anchor run. On top of them, |
| 9 | +# UPC events are injected as an independent random stream at UPC_RATE, each in its own bunch |
| 10 | +# crossing. The interaction-rate dependence is obtained by choosing anchor runs at different rates. |
12 | 11 | # In the AOD, the UPC collisions have generator ID 51 (mcCollision.getGeneratorId()). |
13 | 12 | # |
14 | 13 | # Knobs: |
15 | 14 | # UPC_PROCESS STARlight process (as in makeStarlightConfig.py) |
16 | | -# UPC_EVERY_N every N-th collision is a UPC event; |
17 | | -# the hadronic pile-up density is (N-1)/N of the real one |
18 | | -# NBKG distinct Angantyr events per job; should exceed the number of |
19 | | -# hadronic collisions in one timeframe, so that none repeats within it |
| 15 | +# UPC_RATE rate of the UPC stream in Hz; 67000 is about one per ITS readout frame |
| 16 | +# NBKG distinct Angantyr events per job, reused in turn; a repeated event |
| 17 | +# appears milliseconds later, far beyond an ITS readout frame or the TPC drift time |
20 | 18 | # ANCHOR_RUN anchor run; the interaction rate is taken from its CTP scalers |
21 | 19 | # NTIMEFRAMES timeframes per job; the background is simulated once per job, |
22 | 20 | # so more timeframes per job is cheaper than many short jobs |
|
25 | 23 | # Do not force longer timeframes with ALIEN_JDL_MC_ORBITS_PER_TF: with realistic |
26 | 24 | # hadronic pile-up, TPC digitisation then exceeds the memory of a GRID slot. |
27 | 25 | # |
| 26 | +# Use MC-prod-2026-v12-1 or later: older tags anchor the first job at the start of the run, |
| 27 | +# where the ITS dead map masks all chips and the AOD has no ITS and no collisions. |
| 28 | +# |
28 | 29 | # Submit to the GRID with |
29 | 30 | # ${O2DPG_ROOT}/GRID/utils/grid_submit.sh --script upc_in_hadronic_pileup.sh --jobname upc --cores 8 --ttl 43200 |
30 | 31 |
|
31 | 32 | UPC_PROCESS=${UPC_PROCESS:-kCohJpsiToMu} |
32 | | -UPC_EVERY_N=${UPC_EVERY_N:-10} |
33 | | -NBKG=${NBKG:-150} |
| 33 | +UPC_RATE=${UPC_RATE:-67000} |
| 34 | +NBKG=${NBKG:-30} |
34 | 35 | ANCHOR_RUN=${ANCHOR_RUN:-544868} |
35 | 36 |
|
36 | 37 | export O2DPG_MC_CONFIG_ROOT=${O2DPG_MC_CONFIG_ROOT:-${O2DPG_ROOT}} |
@@ -74,7 +75,7 @@ ${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGUD/ini/makeStarlightConfig.py --process ${U |
74 | 75 |
|
75 | 76 | export ALIEN_JDL_ANCHOR_SIM_OPTIONS="-gen external -trigger external -ini ../GenStarlight.ini \ |
76 | 77 | -confKey 'PrimaryGenerator.id=51;SimCutParams.stepTrackRefHook=true' \ |
77 | | - --embedding -genBkg pythia8 -procBkg heavy_ion -nb ${NBKG} --embeddPattern r0:e${UPC_EVERY_N} \ |
| 78 | + --embedding -genBkg pythia8 -procBkg heavy_ion -nb ${NBKG} --embeddPattern ${UPC_RATE},1000000:1000000 \ |
78 | 79 | --overwrite-config simconfig.json --no-tpc-digitchunking --tpc-distortion-type 2 --tpc-corrmap-lumi-mode 2" |
79 | 80 |
|
80 | 81 | ${O2DPG_ROOT}/MC/run/ANCHOR/anchorMC.sh |
0 commit comments