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
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import FWCore.ParameterSet.Config as cms

from Configuration.Generator.Pyquen2015Settings_cff import *

generator = cms.EDFilter("HydjetGeneratorFilter",
collisionParameters5519GeV,
qgpParameters2023,
hydjetParameters2023,
hydjetMode = cms.string('kHydroQJets'),
PythiaParameters = cms.PSet(pyquenPythiaDefaultBlock,
# Quarkonia and Weak Bosons added back upon dilepton group's request.
parameterSets = cms.vstring('pythiaUESettings',
'hydjetPythiaDefault',
'myParameters',
'pythiaJets',
'pythiaPromptPhotons',
'pythiaZjets',
'pythiaBottomoniumNRQCD',
'pythiaCharmoniumNRQCD',
'pythiaQuarkoniaSettings',
'pythiaWeakBosons'
)
),
cFlag = cms.int32(1),
bMin = cms.double(0),
bMax = cms.double(30),
bFixed = cms.double(0)
)
4 changes: 4 additions & 0 deletions Configuration/Generator/python/Pyquen2015Settings_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,10 @@
comEnergy = cms.double(5362.0)
)

collisionParameters5519GeV = cms.PSet(aBeamTarget = cms.double(208.0), ## beam/target atomic number
comEnergy = cms.double(5519.0)
)

qgpParameters = cms.PSet(qgpInitialTemperature = cms.double(1.1), ## initial temperature of QGP; allowed range [0.2,2.0]GeV;
qgpProperTimeFormation = cms.double(0.1), ## proper time of QGP formation; allowed range [0.01,10.0]fm/c;
hadronFreezoutTemperature = cms.double(0.125),
Expand Down
3 changes: 3 additions & 0 deletions Configuration/ProcessModifiers/python/phase2_pp_on_AA_cff.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
import FWCore.ParameterSet.Config as cms

phase2_pp_on_AA = cms.Modifier()
1 change: 1 addition & 0 deletions Configuration/PyReleaseValidation/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ The offsets currently in use are:
* 0.78: Complete L1 workflow
* 0.8: BPH Parking (Run-2)
* 0.81: Running also HeavyFlavor DQM
* 0.85: Phase-2 Heavy Ion
* 0.9: Vector hits
* 0.12: Neutron background
* 0.13: MLPF algorithm
Expand Down
1 change: 1 addition & 0 deletions Configuration/PyReleaseValidation/python/relval_2026.py
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@
numWFIB.extend([prefixDet+96.0]) #CloseByPGun CE_E_Front_120um
numWFIB.extend([prefixDet+100.0]) #CloseByPGun CE_H_Coarse_Scint
numWFIB.extend([prefixDet+61.0]) #Nu Gun
#numWFIB.extend([prefixDet+151.85]) #Heavy ion reconstruction
#Default Phase-2 Det PU
numWFIB.extend([prefixDet+261.97]) #premixing stage1 (NuGun+PU)
numWFIB.extend([prefixDet+234.99]) #premixing combined stage1+stage2 ttbar+PU200
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2821,6 +2821,29 @@ def condition(self, fragment, stepList, key, hasHarvest):
offset = 0.9001,
)

class UpgradeWorkflow_Phase2_HeavyIon(UpgradeWorkflow):
def setup_(self, step, stepName, stepDict, k, properties):
stepDict[stepName][k] = merge([{'--procModifiers': 'phase2_pp_on_AA'}, stepDict[step][k]])
if 'GenSim' in step:
stepDict[stepName][k] = merge([{'--conditions': stepDict[step][k]["--conditions"].replace('_13TeV',''), '-n': 1}, stepDict[stepName][k]])
elif 'Digi' in step:
stepDict[stepName][k] = merge([{'-s': stepDict[step][k]["-s"].replace("DIGI:pdigi_valid","DIGI:pdigi_hi"), '--pileup': 'HiMixNoPU'}, stepDict[stepName][k]])
def condition(self, fragment, stepList, key, hasHarvest):
return fragment=='HydjetQMinBias_5519GeV' and '2026' in key and 'PU' not in key

upgradeWFs['Phase2_HeavyIon'] = UpgradeWorkflow_Phase2_HeavyIon(
steps = [
'GenSimHLBeamSpot',
'DigiTrigger',
'RecoGlobal',
'HARVESTGlobal',
'ALCAPhase2'
],
PU = [],
suffix = '_hi',
offset = 0.85,
)

# check for duplicates in offsets or suffixes
offsets = [specialWF.offset for specialType,specialWF in upgradeWFs.items()]
suffixes = [specialWF.suffix for specialType,specialWF in upgradeWFs.items()]
Expand Down Expand Up @@ -3370,5 +3393,6 @@ def __init__(self, howMuch, dataset):
('LbToJpsiXiK0sPi_JMM_Filter_DGamma0_TuneCP5_13p6TeV-pythia8-evtgen_cfi',UpgradeFragment(Mby(50,500000),'LbToJpsiXiK0sPr_DGamma0_13p6TeV')), #0.6%
('OmegaMinus_13p6TeV_SoftQCDInel_TuneCP5_cfi',UpgradeFragment(Mby(100,1000000),'OmegaMinus_13p6TeV')), #0.1%
('Hydjet_Quenched_MinBias_5020GeV_cfi', UpgradeFragment(U2000by1,'HydjetQMinBias_5020GeV')),
('Hydjet_Quenched_MinBias_5362GeV_cfi', UpgradeFragment(U2000by1,'HydjetQMinBias_5362GeV'))
('Hydjet_Quenched_MinBias_5362GeV_cfi', UpgradeFragment(U2000by1,'HydjetQMinBias_5362GeV')),
('Hydjet_Quenched_MinBias_5519GeV_cfi', UpgradeFragment(U2000by1,'HydjetQMinBias_5519GeV')),
])
2 changes: 2 additions & 0 deletions Configuration/StandardSequences/python/Reconstruction_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -194,6 +194,8 @@
pp_on_AA.toReplaceWith(highlevelrecoTask,highlevelrecoTask.copyAndExclude([PFTauTask]))
from Configuration.Eras.Modifier_ppRef_2024_cff import ppRef_2024
ppRef_2024.toReplaceWith(highlevelrecoTask, cms.Task(highlevelrecoTask.copy(), hiClusterCompatibility))
from Configuration.ProcessModifiers.phase2_pp_on_AA_cff import phase2_pp_on_AA
phase2_pp_on_AA.toReplaceWith(highlevelrecoTask, cms.Task(highlevelrecoTask.copy(), hiClusterCompatibility, hiCentrality))

# not commisoned and not relevant in FastSim (?):
_fastSim_highlevelrecoTask = highlevelrecoTask.copyAndExclude([muoncosmichighlevelrecoTask])
Expand Down
5 changes: 4 additions & 1 deletion RecoHI/HiCentralityAlgos/plugins/CentralityProducer.cc
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ namespace reco {
const double trackEtaCut_;
const double hfEtaCut_;

const bool isPhase2_;
const bool reuseAny_;
const bool useQuality_;
const reco::TrackBase::TrackQuality trackQuality_;
Expand Down Expand Up @@ -128,6 +129,7 @@ namespace reco {
trackPtCut_(iConfig.getParameter<double>("trackPtCut")),
trackEtaCut_(iConfig.getParameter<double>("trackEtaCut")),
hfEtaCut_(iConfig.getParameter<double>("hfEtaCut")),
isPhase2_(iConfig.getParameter<bool>("isPhase2")),
reuseAny_(iConfig.getParameter<bool>("reUseCentrality")),
useQuality_(iConfig.getParameter<bool>("useQuality")),
trackQuality_(TrackBase::qualityByName(iConfig.getParameter<std::string>("trackQuality"))),
Expand Down Expand Up @@ -210,7 +212,7 @@ namespace reco {
const CaloTower& tower = (*towers)[i];
double eta = tower.eta();
if (produceHFtowers_) {
bool isHF = tower.ietaAbs() > 29;
bool isHF = tower.ietaAbs() > (isPhase2_ ? 16 : 29);
if (isHF && eta > 0) {
creco->etHFtowerSumPlus_ += tower.pt();
if (tower.energy() > 1.5)
Expand Down Expand Up @@ -539,6 +541,7 @@ namespace reco {
desc.add<double>("hfEtaCut", 4)->setComment("hf above the absolute value of this cut is used");
desc.add<double>("midRapidityRange", 1);
desc.add<bool>("lowGainZDC", true);
desc.add<bool>("isPhase2", false);

descriptions.addDefault(desc);
}
Expand Down
9 changes: 8 additions & 1 deletion RecoHI/HiCentralityAlgos/python/HiCentrality_cfi.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
hfEtaCut = cms.double(4), #hf above the absolute value of this cut is used
midRapidityRange = cms.double(1),
lowGainZDC = cms.bool(True),
isPhase2 = cms.bool(False),

)

Expand All @@ -45,4 +46,10 @@
srcTracks = "generalTracks",
srcVertex = "offlinePrimaryVertices"
)

from Configuration.ProcessModifiers.phase2_pp_on_AA_cff import phase2_pp_on_AA
phase2_pp_on_AA.toModify(hiCentrality,
isPhase2 = True,
producePixelTracks = False,
srcTracks = "generalTracks",
srcVertex = "offlinePrimaryVertices"
)
3 changes: 2 additions & 1 deletion RecoJets/Configuration/python/RecoJets_EventContent_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -54,12 +54,13 @@
from Configuration.ProcessModifiers.pp_on_AA_cff import pp_on_AA
from Configuration.Eras.Modifier_run3_upc_cff import run3_upc
from Configuration.Eras.Modifier_ppRef_2024_cff import ppRef_2024
from Configuration.ProcessModifiers.phase2_pp_on_AA_cff import phase2_pp_on_AA
#products from regular pp which does not fit the normal AOD
for e in [pA_2016, peripheralPbPb, pp_on_XeXe_2017, pp_on_AA]:
e.toModify( RecoJetsAOD.outputCommands,
func=lambda outputCommands: outputCommands.extend(['keep *_towerMaker_*_*'])
)
for e in [pp_on_XeXe_2017, pp_on_AA, run3_upc]:
for e in [pp_on_XeXe_2017, pp_on_AA, run3_upc, phase2_pp_on_AA]:
e.toModify( RecoJetsAOD.outputCommands,
func=lambda outputCommands: outputCommands.extend(['keep recoCentrality*_hiCentrality_*_*',
'keep recoClusterCompatibility*_hiClusterCompatibility_*_*'
Expand Down