Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 12 additions & 2 deletions Configuration/Applications/python/ConfigBuilder.py
Original file line number Diff line number Diff line change
Expand Up @@ -1909,10 +1909,16 @@ def prepare_SKIM(self, stepSpec = "all"):
print("replacing %s process name - step SKIM:%s will use '%s'" % (stdHLTProcName, sequence, newHLTProcName))

## support @Mu+DiJet+@Electron configuration via autoSkim.py
from Configuration.Skimming.autoSkim import autoSkim
from Configuration.Skimming.autoSkim import autoSkim, autoSkimRunI
skimlist = sequence.split('+')
self.expandMapping(skimlist,autoSkim)

autoSkimRunIList = list(set(
item
for v in autoSkimRunI.values()
for item in v.split('+')
))

#print("dictionary for skims:", skimConfig.__dict__)
for skim in skimConfig.__dict__:
skimstream = getattr(skimConfig, skim)
Expand All @@ -1931,6 +1937,10 @@ def prepare_SKIM(self, stepSpec = "all"):
shortname = skim.replace('SKIMStream','')
if (sequence=="all"):
self.addExtraStream(skim,skimstream)
elif (sequence=="allRun1"):
if not shortname in autoSkimRunIList:
continue
self.addExtraStream(skim,skimstream)
elif (shortname in skimlist):
self.addExtraStream(skim,skimstream)
#add a DQM eventcontent for this guy
Expand All @@ -1948,7 +1958,7 @@ def prepare_SKIM(self, stepSpec = "all"):
for i in range(skimlist.count(shortname)):
skimlist.remove(shortname)

if (skimlist.__len__()!=0 and sequence!="all"):
if (skimlist.__len__()!=0 and sequence!="all" and sequence!="allRun1"):
print('WARNING, possible typo with SKIM:'+'+'.join(skimlist))
raise Exception('WARNING, possible typo with SKIM:'+'+'.join(skimlist))

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
# the name of step1 will be used

## data production test
workflows[1000] = [ '',['RunMinBias2011A','TIER0','SKIMD','HARVESTDfst2','ALCASPLIT']]
workflows[1000] = [ '',['RunMinBias2011A','TIER0','SKIMDRun1','HARVESTDfst2','ALCASPLIT']]
workflows[1001] = [ '',['RunMinBias2011A','TIER0EXP','ALCAEXP','ALCAHARVDSIPIXELCALRUN1','ALCAHARVD1','ALCAHARVD2','ALCAHARVD3','ALCAHARVD4','ALCAHARVD5','ALCAHARVD7','ALCAHARVD8']]
workflows[1001.2] = [ '',['RunZeroBias2017F','TIER0EXPRUN2','ALCAEXPRUN2','ALCAHARVDSIPIXELCAL','ALCAHARVDSIPIXELCALLA','ALCAHARVD4','ALCAHARVDSIPIXELALIHG']]
workflows[1001.3] = [ '',['RunSingleMuon2022B','TIER0EXPRUN3','ALCAEXPRUN3','ALCAHARVDEXPRUN3']]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -573,7 +573,7 @@
### run3-2025 (2025 HI OXY data)
workflows[143.911] = ['',['RunUPC2024','RECODR3_2025_OXY','HARVESTDPROMPTR3']]
workflows[143.912] = ['',['RunUPC2024','RECODR3_2025_UPC_OXY','HARVESTDPROMPTR3']]

workflows[143.921] = ['',['RunUPC2024','RECODR3_2025_OXY_SKIMIONPHYSICS0','HARVESTDPROMPTR3']]

## Lumi mask fixed 2024 wfs
base_wf = 145.0
Expand Down
10 changes: 9 additions & 1 deletion Configuration/PyReleaseValidation/python/relval_steps.py
Original file line number Diff line number Diff line change
Expand Up @@ -640,7 +640,7 @@
Run2023UPC={375463: [[52,52]]}
steps['RunUPC2023']={'INPUT':InputInfo(dataSet='/HIForward1/HIRun2023A-v1/RAW',label='upc2023',events=10000,location='STD',ls=Run2023UPC)}

Run2024UPC={388784: [[344,344]]}
Run2024UPC={388784: [[406,406]]}
steps['RunUPC2024']={'INPUT':InputInfo(dataSet='/HIForward0/HIRun2024B-v1/RAW',label='upc2024',events=10000,location='STD',ls=Run2024UPC)}

RunHI2023={375491: [[100, 100]]}
Expand Down Expand Up @@ -2903,6 +2903,7 @@ def lhegensim2018ml(fragment,howMuch):
steps['RECODR3_2025_UPC']=merge([{'--era':'Run3_2025_UPC'},steps['RECODR3_2025_HIN']])
steps['RECODR3_2025_OXY']=merge([{'--era':'Run3_2025_OXY'},steps['RECODR3_2025_HIN']])
steps['RECODR3_2025_UPC_OXY']=merge([{'--era':'Run3_2025_UPC_OXY'},steps['RECODR3_2025_HIN']])
steps['RECODR3_2025_OXY_SKIMIONPHYSICS0']=merge([{'--era':'Run3_2025_OXY', '-s':'RAW2DIGI,L1Reco,RECO,SKIM:%s,PAT,DQM:@commonFakeHLT+@standardDQMFakeHLT'%(autoSkim['IonPhysics0'])},steps['RECODR3_2025_HIN']])

steps['RECODR3Splash']=merge([{'-n': 2,
'-s': 'RAW2DIGI,L1Reco,RECO,PAT,ALCA:SiStripCalZeroBias+SiStripCalMinBias+TkAlMinBias+EcalESAlign,DQM:@standardDQMFakeHLT+@miniAODDQM'
Expand Down Expand Up @@ -4417,6 +4418,13 @@ def gen2024HiMix(fragment,howMuch):

steps['SKIMDreHLT'] = merge([ {'--conditions':'auto:run1_data_%s'%menu, '--hltProcess':'reHLT', '--filein':'file:step3.root'}, steps['SKIMD'] ])

steps['SKIMDRun1']={'-s':'SKIM:allRun1',
'--conditions':'auto:run1_data',
'--data':'',
'--scenario':'pp',
'--filein':'file:step2.root',
'--secondfilein':'filelist:step1_dasquery.log'}

steps['SKIMCOSD']={'-s':'SKIM:all',
'--conditions':'auto:run1_data',
'--data':'',
Expand Down
59 changes: 59 additions & 0 deletions Configuration/Skimming/python/Ion_MuonSkim_cff.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
import FWCore.ParameterSet.Config as cms

# single high-pT muon skim sequence

HighPtMuonSelection = "(isTrackerMuon || isGlobalMuon) && abs(eta) <= 2.4 && pt > 10."

highPtMuonSelectorForMuonIon = cms.EDFilter("PATMuonRefSelector",
src = cms.InputTag("slimmedMuons"),
cut = cms.string(HighPtMuonSelection),
filter = cms.bool(True)
)

highPtMuonCountFilterForMuonIon = cms.EDFilter("MuonRefPatCount",
src = cms.InputTag("slimmedMuons"),
cut = cms.string(HighPtMuonSelection),
minNumber = cms.uint32(1)
)

HighPtMuonIonSkimSequence = cms.Sequence(
highPtMuonSelectorForMuonIon *
highPtMuonCountFilterForMuonIon
)


# loose dimuon skim sequence

LooseMuonSelection = "(isTrackerMuon || isGlobalMuon) && ((abs(eta) <= 1.0 && pt > 3.3) || (1.0 < abs(eta) <= 2.4 && pt > 1.0))"

looseMuonSelectorForMuonIon = cms.EDFilter("PATMuonRefSelector",
src = cms.InputTag("slimmedMuons"),
cut = cms.string(LooseMuonSelection),
filter = cms.bool(True)
)

looseMuonCountFilterForMuonIon = cms.EDFilter("MuonRefPatCount",
src = cms.InputTag("slimmedMuons"),
cut = cms.string(LooseMuonSelection),
minNumber = cms.uint32(2)
)


dimuonMassCutForMuonIon = cms.EDProducer("CandViewShallowCloneCombiner",
checkCharge = cms.bool(False),
cut = cms.string("mass > 2.4"),
decay = cms.string("looseMuonSelectorForMuonIon looseMuonSelectorForMuonIon")
)

dimuonCountFilterForMuonIon = cms.EDFilter("CandViewCountFilter",
src = cms.InputTag("dimuonMassCutForMuonIon"),
minNumber = cms.uint32(1)
)

# dimuon skim sequence
DimuonIonSkimSequence = cms.Sequence(
looseMuonSelectorForMuonIon *
looseMuonCountFilterForMuonIon *
dimuonMassCutForMuonIon *
dimuonCountFilterForMuonIon
)
31 changes: 31 additions & 0 deletions Configuration/Skimming/python/Skims_Ion_cff.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
import FWCore.ParameterSet.Config as cms

from Configuration.EventContent.EventContent_cff import MINIAODEventContent

skimMINIAODEventContent = MINIAODEventContent.clone()
skimMINIAODEventContent.outputCommands.append("drop *_MEtoEDMConverter_*_*")
skimMINIAODEventContent.outputCommands.append("drop *_*_*_SKIM")

from Configuration.Skimming.Ion_MuonSkim_cff import *

HighPtMuonIonSkimPath = cms.Path( HighPtMuonIonSkimSequence )
SKIMStreamIonHighPtMuon = cms.FilteredStream(
responsible = 'HI PAG',
name = 'IonHighPtMuon',
paths = (HighPtMuonIonSkimPath),
content = skimMINIAODEventContent.outputCommands+['drop *_slimmedJetsPuppi_*_*', 'drop *_slimmedOOTPhotons_*_*', 'drop *_slimmedTaus_*_*', 'drop *_slimmedTausBoosted_*_*', 'drop recoDeDxHitInfos_dedxEstimator_*_*'],
selectEvents = cms.untracked.PSet(),
dataTier = cms.untracked.string('USER')
)

DimuonIonSkimPath = cms.Path( DimuonIonSkimSequence )
SKIMStreamIonDimuon = cms.FilteredStream(
responsible = 'HI PAG',
name = 'IonDimuon',
paths = (DimuonIonSkimPath),
content = skimMINIAODEventContent.outputCommands+['drop *_slimmedJetsPuppi_*_*', 'drop *_slimmedJetsAK8_*_*', 'drop *_slimmedOOTPhotons_*_*', 'drop *_slimmedTaus_*_*', 'drop *_slimmedTausBoosted_*_*', 'drop *_dedxEstimator_*_*', 'keep recoDeDxDataedmValueMap_dedxEstimator_dedxAllLikelihood_*'],
selectEvents = cms.untracked.PSet(),
dataTier = cms.untracked.string('USER')
)

#####################
4 changes: 4 additions & 0 deletions Configuration/Skimming/python/autoSkim.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,10 @@
#'SingleMuon': 'LogError+LogErrorMonitor',
}

# For 2025 Ion skims
for i_split in range(60):
autoSkim[f'IonPhysics{i_split}'] = 'IonHighPtMuon+IonDimuon+LogError+LogErrorMonitor'

# For 2024 PbPb skims
for i_split in range(20):
autoSkim[f'HIForward{i_split}'] = 'UPCMonopole+LogError+LogErrorMonitor'
Expand Down
1 change: 1 addition & 0 deletions Configuration/StandardSequences/python/Skims_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,3 +49,4 @@ def getSkimDataTier(skimname):
from Configuration.Skimming.Skims_PDWG_cff import *
from Configuration.Skimming.Skims_PA_cff import *
from Configuration.Skimming.Skims_PbPb_cff import *
from Configuration.Skimming.Skims_Ion_cff import *