Skip to content

Commit 9d214fa

Browse files
authored
Merge pull request #48281 from AdrianoDee/data_2025_wfs
Adding 2025 Data Wfs
2 parents e70cbee + 3c3854f commit 9d214fa

File tree

3 files changed

+72
-7
lines changed

3 files changed

+72
-7
lines changed

Configuration/PyReleaseValidation/python/relval_data_highstats.py

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,34 @@
1111
offset_pd = 0.001 # less than 100 pds per year
1212
offset_events = 0.0001 # less than 10 event setups (10k,50k,150k,250k,500k,1M)
1313

14+
## 2025
15+
base_wf = 2025.0
16+
for e_n,era in enumerate(eras_2025):
17+
for p_n,pd in enumerate(pds_2025):
18+
for e_key,evs in event_steps_dict.items():
19+
wf_number = base_wf
20+
wf_number = wf_number + offset_era * e_n
21+
wf_number = wf_number + offset_pd * p_n
22+
wf_number = wf_number + offset_events * evs
23+
wf_number = round(wf_number,6)
24+
25+
## ZeroBias has its own RECO and HARVESTING setup
26+
## ScoutingPFMonitor has its own HLT, RECO and HARVESTING setup
27+
recoharv = hlt = ''
28+
if 'ZeroBias' in pd:
29+
recoharv = 'ZB_'
30+
elif 'ScoutingPFMonitor' in pd:
31+
hlt = recoharv = 'ScoutingPFMonitor_'
32+
33+
recosetup = 'RECONANORUN3_' + recoharv + 'reHLT_2025'
34+
35+
y = str(int(base_wf))
36+
37+
## this is because ParkingDouble* PDs would end up with a too long name for the submission infrastructure
38+
step_name = 'Run' + pd.replace('ParkingDouble','Park2') + era.split('Run')[1] + '_' + e_key
39+
40+
workflows[wf_number] = ['',[step_name,'HLTDR3_' + hlt + y,'RECONANORUN3_' + recoharv + 'reHLT_'+y,'HARVESTRUN3_' + recoharv + y]]
41+
1442
## 2024
1543
base_wf = 2024.0
1644
for e_n,era in enumerate(eras_2024):
@@ -25,7 +53,7 @@
2553
## Here we use JetMET1 PD to run the TeVJet skims
2654
skim = 'TeVJet' if pd == 'JetMET1' else ''
2755

28-
## ZeroBias have their own HARVESTING
56+
## ZeroBias has its own RECO and HARVESTING setup
2957
suff = 'ZB_' if 'ZeroBias' in pd else ''
3058

3159
# Running C,D,E with the offline GT.
@@ -34,7 +62,10 @@
3462
recosetup = recosetup if era[-1] > 'E' else recosetup + '_Offline'
3563

3664
y = str(int(base_wf))
65+
66+
## this is because ParkingDouble* PDs would end up with a too long name for the submission infrastructure
3767
step_name = 'Run' + pd.replace('ParkingDouble','Park2') + era.split('Run')[1] + skim + '_' + e_key
68+
3869
workflows[wf_number] = ['',[step_name,'HLTDR3_' + y,'RECONANORUN3_' + suff + 'reHLT_'+y,'HARVESTRUN3_' + suff + y]]
3970

4071
## 2023
@@ -47,7 +78,10 @@
4778
wf_number = wf_number + offset_pd * p_n
4879
wf_number = wf_number + offset_events * evs
4980
wf_number = round(wf_number,6)
81+
82+
## this is because ParkingDouble* PDs would end up with a too long name for the submission infrastructure
5083
step_name = 'Run' + pd.replace('ParkingDouble','Park2') + era.split('Run')[1] + '_' + e_key
84+
5185
y = str(int(base_wf)) + 'B' if '2023B' in era else str(int(base_wf))
5286
suff = 'ZB_' if 'ZeroBias' in step_name else ''
5387
workflows[wf_number] = ['',[step_name,'HLTDR3_' + y,'RECONANORUN3_' + suff + 'reHLT_'+y,'HARVESTRUN3_' + suff + y]]

Configuration/PyReleaseValidation/python/relval_steps.py

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -654,6 +654,21 @@
654654
# or (if available) from eos. the number of events limits
655655
# the files used as input
656656

657+
###2025
658+
pds_2025 = ['BTagMu', 'DisplacedJet', 'EGamma0', 'HcalNZS', 'JetMET0', 'Muon0', 'MuonEG', 'NoBPTX', 'ParkingDoubleMuonLowMass0', 'ParkingHH', 'ParkingLLP', 'ParkingSingleMuon0', 'ParkingVBF0', 'Tau', 'ZeroBias','JetMET1','ScoutingPFMonitor']
659+
eras_2025 = ['Run2025B', 'Run2025C','Run2025D','Run2025E', 'Run2025F','Run2025G','Run2025H','Run2025I']
660+
for era in eras_2025:
661+
for pd in pds_2025:
662+
dataset = "/" + pd + "/" + era
663+
skim = ''
664+
665+
dataset = dataset + '-v1/RAW'
666+
667+
for e_key,evs in event_steps_dict.items():
668+
step_name = "Run" + pd.replace("ParkingDouble","Park2") + era.split("Run")[1] + skim + "_" + e_key
669+
steps[step_name] = {'INPUT':InputInfo(dataSet=dataset,label=era.split("Run")[1],events=int(evs*1e6), skimEvents=True, location='STD')}
670+
671+
657672
###2024
658673
## N.B. here we use JetMet0 as "starndard" PD and JetMET1 for the TeVJet skims
659674
pds_2024 = ['BTagMu', 'DisplacedJet', 'EGamma0', 'HcalNZS', 'JetMET0', 'Muon0', 'MuonEG', 'NoBPTX', 'ParkingDoubleMuonLowMass0', 'ParkingHH', 'ParkingLLP', 'ParkingSingleMuon0', 'ParkingVBF0', 'Tau', 'ZeroBias','JetMET1']
@@ -2306,12 +2321,19 @@ def lhegensim2018ml(fragment,howMuch):
23062321

23072322
steps['HLTDR3_2024']=merge( [ {'-s':'L1REPACK:Full,HLT:@%s'%hltKey2025,},{'--conditions':'auto:run3_hlt_relval'},{'--era' : 'Run3_2024'},steps['HLTD'] ] )
23082323

2324+
steps['HLTDR3_2025']=merge( [ {'-s':'L1REPACK:Full,HLT:@%s'%hltKey2025,},{'--conditions':'auto:run3_hlt_relval'},{'--era' : 'Run3_2025'},steps['HLTD'] ] )
2325+
23092326
steps['HLTDR3_ScoutingPFMonitor_2024']=merge( [ {'-s':'L1REPACK:Full,HLT:@%s'%hltKey2025,},
23102327
{'--conditions':'auto:run3_hlt_relval'},
23112328
{'--era' : 'Run3_2024'},
23122329
{'--filein' : '/store/group/dpg_trigger/comm_trigger/TriggerStudiesGroup/Scouting/Run3/ScoutingPFMonitor/300684ed-1a51-474f-8c4f-b3bf1e1f5044_skimmed.root'},
23132330
steps['HLTD'] ] )
23142331

2332+
steps['HLTDR3_ScoutingPFMonitor_2025']=merge( [ {'-s':'L1REPACK:Full,HLT:@%s'%hltKey2025,},
2333+
{'--conditions':'auto:run3_hlt_relval'},
2334+
{'--era' : 'Run3_2025'},
2335+
steps['HLTD'] ] )
2336+
23152337
steps['HLTDR3_HI2023ARawprime']=merge([{'-s':'L1REPACK:Full,HLT:HIon'},
23162338
{'--conditions':'auto:run3_hlt_HIon'},
23172339
{'--era' : 'Run3_pp_on_PbPb_approxSiStripClusters_2023'},
@@ -2867,6 +2889,7 @@ def lhegensim2018ml(fragment,howMuch):
28672889
steps['RECODR3_reHLT_2023']=merge([{'--conditions':'auto:run3_data_relval', '--hltProcess':'reHLT'},steps['RECODR3_2023']])
28682890
steps['RECODR3_reHLT_2023B']=merge([{'--conditions':'auto:run3_data_relval', '--hltProcess':'reHLT'},steps['RECODR3']])
28692891
steps['RECODR3_reHLT_2024']=merge([{'--conditions':'auto:run3_data_prompt_relval', '--hltProcess':'reHLT'},steps['RECODR3_2024']])
2892+
steps['RECODR3_reHLT_2025']=merge([{'--conditions':'auto:run3_data_prompt_relval', '--hltProcess':'reHLT'},steps['RECODR3_2025']])
28702893
# Added to run with the offline GT on few 2024 Eras.
28712894
# Could be removed once 2025 wfs are in and we'll test the online GT with them
28722895
steps['RECODR3_reHLT_2024_Offline']=merge([{'--conditions':'auto:run3_data_relval', '--hltProcess':'reHLT'},steps['RECODR3_2024']])
@@ -3280,7 +3303,11 @@ def gen2024HiMix(fragment,howMuch):
32803303
steps['RECONANORUN3_reHLT_2024_Offline']=merge([{'-s':'RAW2DIGI,L1Reco,RECO,PAT,NANO,DQM:@standardDQM+@miniAODDQM+@nanoAODDQM','--datatier':'RECO,MINIAOD,NANOAOD,DQMIO','--eventcontent':'RECO,MINIAOD,NANOEDMAOD,DQM'},steps['RECODR3_reHLT_2024_Offline']])
32813304
steps['RECONANORUN3_ZB_reHLT_2024_Offline']=merge([{'-s':'RAW2DIGI,L1Reco,RECO,PAT,NANO,DQM:@rerecoZeroBias+@miniAODDQM+@nanoAODDQM'},steps['RECONANORUN3_reHLT_2024_Offline']])
32823305

3306+
steps['RECONANORUN3_reHLT_2025']=merge([{'-s':'RAW2DIGI,L1Reco,RECO,PAT,NANO,DQM:@standardDQM+@miniAODDQM+@nanoAODDQM','--datatier':'RECO,MINIAOD,NANOAOD,DQMIO','--eventcontent':'RECO,MINIAOD,NANOEDMAOD,DQM'},steps['RECODR3_reHLT_2025']])
3307+
steps['RECONANORUN3_ZB_reHLT_2025']=merge([{'-s':'RAW2DIGI,L1Reco,RECO,PAT,NANO,DQM:@rerecoZeroBias+@miniAODDQM+@nanoAODDQM'},steps['RECONANORUN3_reHLT_2025']])
3308+
32833309
steps['RECONANORUN3_ScoutingPFMonitor_reHLT_2024']=merge([{'-s':'RAW2DIGI,L1Reco,RECO,PAT,NANO,DQM:@standardDQM+@miniAODDQM+@nanoAODDQM+@hltScouting'},steps['RECONANORUN3_reHLT_2024']])
3310+
steps['RECONANORUN3_ScoutingPFMonitor_reHLT_2025']=merge([{'-s':'RAW2DIGI,L1Reco,RECO,PAT,NANO,DQM:@standardDQM+@miniAODDQM+@nanoAODDQM+@hltScouting'},steps['RECONANORUN3_reHLT_2025']])
32843311

32853312
steps['AODNANORUN3_reHLT_2024']=merge([{'-s':'RAW2DIGI,L1Reco,RECO,PAT,NANO,DQM:@standardDQM+@miniAODDQM+@nanoAODDQM','--datatier':'AOD,MINIAOD,NANOAOD,DQMIO','--eventcontent':'AOD,MINIAOD,NANOEDMAOD,DQM'},steps['RECODR3_reHLT_2024']])
32863313

@@ -4092,7 +4119,11 @@ def gen2024HiMix(fragment,howMuch):
40924119
steps['HARVESTRUN3_ZB_2024']=merge([{'--era':'Run3_2024', '-s':'HARVESTING:@rerecoZeroBias+@miniAODDQM+@nanoAODDQM'},steps['HARVESTDRUN3']])
40934120
steps['HARVESTRUN3_2024']=merge([{'--era':'Run3_2024', '-s':'HARVESTING:@standardDQM+@miniAODDQM+@nanoAODDQM'},steps['HARVESTDRUN3']])
40944121
steps['HARVESTRUN3_ScoutingPFMonitor_2024']=merge([{'--era':'Run3_2024', '-s':'HARVESTING:@standardDQM+@miniAODDQM+@nanoAODDQM+@hltScouting'},steps['HARVESTDRUN3']])
4095-
4122+
# 2025
4123+
steps['HARVESTRUN3_ZB_2025']=merge([{'--era':'Run3_2025', '-s':'HARVESTING:@rerecoZeroBias+@miniAODDQM+@nanoAODDQM'},steps['HARVESTDRUN3']])
4124+
steps['HARVESTRUN3_2025']=merge([{'--era':'Run3_2025', '-s':'HARVESTING:@standardDQM+@miniAODDQM+@nanoAODDQM'},steps['HARVESTDRUN3']])
4125+
steps['HARVESTRUN3_ScoutingPFMonitor_2025']=merge([{'--era':'Run3_2025', '-s':'HARVESTING:@standardDQM+@miniAODDQM+@nanoAODDQM+@hltScouting'},steps['HARVESTDRUN3']])
4126+
# HI
40964127
steps['HARVESTRUN3_HI2023A']=merge([{'--era':'Run3_pp_on_PbPb_approxSiStripClusters_2023', '-s':'HARVESTING:@standardDQM+@miniAODDQM'},steps['HARVESTRUN3_2022']])
40974128

40984129
steps['HARVESTRUN3_pixelTrackingOnly'] = merge([ {'-s':'HARVESTING:@pixelTrackingOnlyDQM'}, steps['HARVESTRUN3_2023']])

Configuration/PyReleaseValidation/scripts/das-up-to-nevents.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -149,17 +149,17 @@ def no_intersection():
149149
if os.path.isdir(cert_path):
150150
json_list = os.listdir(cert_path)
151151
if len(json_list) == 0:
152-
web_fallback == True
153-
json_list = [c for c in json_list if "Golden" in c and "era" not in c]
154-
json_list = [c for c in json_list if c.startswith("Cert_C") and c.endswith("json")]
152+
web_fallback == True
153+
json_list = [c for c in json_list if "golden" in c.lower() and "era" not in c.lower()]
154+
json_list = [c for c in json_list if c.lower().startswith("cert_c") and c.endswith("json")]
155155
else:
156156
web_fallback = True
157157
## ... if not we go to the website
158158
if web_fallback:
159159
cert_url = base_cert_url + cert_type + "/"
160160
json_list = get_url_clean(cert_url).split("\n")
161-
json_list = [c for c in json_list if "Golden" in c and "era" not in c and "Cert_C" in c]
162-
json_list = [[cc for cc in c.split(" ") if cc.startswith("Cert_C") and cc.endswith("json")][0] for c in json_list]
161+
json_list = [c for c in json_list if "golden" in c.lower() and "era" not in c.lower() and "cert_c" in c.lower()]
162+
json_list = [[cc for cc in c.split(" ") if cc.lower().startswith("cert_c") and cc.endswith("json")][0] for c in json_list]
163163

164164
# the larger the better, assuming file naming schema
165165
# Cert_X_RunStart_RunFinish_Type.json

0 commit comments

Comments
 (0)