Skip to content

Commit 47ae27e

Browse files
author
Andre Govinda Stahl Leiton
committed
Add Phase2 PbPb process modifier
1 parent bc22d28 commit 47ae27e

File tree

10 files changed

+78
-4
lines changed

10 files changed

+78
-4
lines changed
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import FWCore.ParameterSet.Config as cms
2+
3+
from Configuration.Generator.Pyquen2015Settings_cff import *
4+
5+
generator = cms.EDFilter("HydjetGeneratorFilter",
6+
collisionParameters5519GeV,
7+
qgpParameters2023,
8+
hydjetParameters2023,
9+
hydjetMode = cms.string('kHydroQJets'),
10+
PythiaParameters = cms.PSet(pyquenPythiaDefaultBlock,
11+
# Quarkonia and Weak Bosons added back upon dilepton group's request.
12+
parameterSets = cms.vstring('pythiaUESettings',
13+
'hydjetPythiaDefault',
14+
'myParameters',
15+
'pythiaJets',
16+
'pythiaPromptPhotons',
17+
'pythiaZjets',
18+
'pythiaBottomoniumNRQCD',
19+
'pythiaCharmoniumNRQCD',
20+
'pythiaQuarkoniaSettings',
21+
'pythiaWeakBosons'
22+
)
23+
),
24+
cFlag = cms.int32(1),
25+
bMin = cms.double(0),
26+
bMax = cms.double(30),
27+
bFixed = cms.double(0)
28+
)

Configuration/Generator/python/Pyquen2015Settings_cff.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,10 @@
2020
comEnergy = cms.double(5362.0)
2121
)
2222

23+
collisionParameters5519GeV = cms.PSet(aBeamTarget = cms.double(208.0), ## beam/target atomic number
24+
comEnergy = cms.double(5519.0)
25+
)
26+
2327
qgpParameters = cms.PSet(qgpInitialTemperature = cms.double(1.1), ## initial temperature of QGP; allowed range [0.2,2.0]GeV;
2428
qgpProperTimeFormation = cms.double(0.1), ## proper time of QGP formation; allowed range [0.01,10.0]fm/c;
2529
hadronFreezoutTemperature = cms.double(0.125),
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import FWCore.ParameterSet.Config as cms
2+
3+
phase2_pp_on_AA = cms.Modifier()

Configuration/PyReleaseValidation/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ The offsets currently in use are:
6464
* 0.78: Complete L1 workflow
6565
* 0.8: BPH Parking (Run-2)
6666
* 0.81: Running also HeavyFlavor DQM
67+
* 0.85: Phase-2 Heavy Ion
6768
* 0.9: Vector hits
6869
* 0.12: Neutron background
6970
* 0.13: MLPF algorithm

Configuration/PyReleaseValidation/python/relval_2026.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@
5555
numWFIB.extend([prefixDet+96.0]) #CloseByPGun CE_E_Front_120um
5656
numWFIB.extend([prefixDet+100.0]) #CloseByPGun CE_H_Coarse_Scint
5757
numWFIB.extend([prefixDet+61.0]) #Nu Gun
58+
#numWFIB.extend([prefixDet+151.85]) #Heavy ion reconstruction
5859
#Default Phase-2 Det PU
5960
numWFIB.extend([prefixDet+261.97]) #premixing stage1 (NuGun+PU)
6061
numWFIB.extend([prefixDet+234.99]) #premixing combined stage1+stage2 ttbar+PU200

Configuration/PyReleaseValidation/python/upgradeWorkflowComponents.py

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2821,6 +2821,29 @@ def condition(self, fragment, stepList, key, hasHarvest):
28212821
offset = 0.9001,
28222822
)
28232823

2824+
class UpgradeWorkflow_Phase2_HeavyIon(UpgradeWorkflow):
2825+
def setup_(self, step, stepName, stepDict, k, properties):
2826+
stepDict[stepName][k] = merge([{'--procModifiers': 'phase2_pp_on_AA'}, stepDict[step][k]])
2827+
if 'GenSim' in step:
2828+
stepDict[stepName][k] = merge([{'--conditions': stepDict[step][k]["--conditions"].replace('_13TeV',''), '-n': 1}, stepDict[stepName][k]])
2829+
elif 'Digi' in step:
2830+
stepDict[stepName][k] = merge([{'-s': stepDict[step][k]["-s"].replace("DIGI:pdigi_valid","DIGI:pdigi_hi"), '--pileup': 'HiMixNoPU'}, stepDict[stepName][k]])
2831+
def condition(self, fragment, stepList, key, hasHarvest):
2832+
return fragment=='HydjetQMinBias_5519GeV' and '2026' in key and 'PU' not in key
2833+
2834+
upgradeWFs['Phase2_HeavyIon'] = UpgradeWorkflow_Phase2_HeavyIon(
2835+
steps = [
2836+
'GenSimHLBeamSpot',
2837+
'DigiTrigger',
2838+
'RecoGlobal',
2839+
'HARVESTGlobal',
2840+
'ALCAPhase2'
2841+
],
2842+
PU = [],
2843+
suffix = '_hi',
2844+
offset = 0.85,
2845+
)
2846+
28242847
# check for duplicate offsets
28252848
offsets = [specialWF.offset for specialType,specialWF in upgradeWFs.items()]
28262849
seen = set()
@@ -3365,5 +3388,6 @@ def __init__(self, howMuch, dataset):
33653388
('LbToJpsiXiK0sPi_JMM_Filter_DGamma0_TuneCP5_13p6TeV-pythia8-evtgen_cfi',UpgradeFragment(Mby(50,500000),'LbToJpsiXiK0sPr_DGamma0_13p6TeV')), #0.6%
33663389
('OmegaMinus_13p6TeV_SoftQCDInel_TuneCP5_cfi',UpgradeFragment(Mby(100,1000000),'OmegaMinus_13p6TeV')), #0.1%
33673390
('Hydjet_Quenched_MinBias_5020GeV_cfi', UpgradeFragment(U2000by1,'HydjetQMinBias_5020GeV')),
3368-
('Hydjet_Quenched_MinBias_5362GeV_cfi', UpgradeFragment(U2000by1,'HydjetQMinBias_5362GeV'))
3391+
('Hydjet_Quenched_MinBias_5362GeV_cfi', UpgradeFragment(U2000by1,'HydjetQMinBias_5362GeV')),
3392+
('Hydjet_Quenched_MinBias_5519GeV_cfi', UpgradeFragment(U2000by1,'HydjetQMinBias_5519GeV')),
33693393
])

Configuration/StandardSequences/python/Reconstruction_cff.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,8 @@
194194
pp_on_AA.toReplaceWith(highlevelrecoTask,highlevelrecoTask.copyAndExclude([PFTauTask]))
195195
from Configuration.Eras.Modifier_ppRef_2024_cff import ppRef_2024
196196
ppRef_2024.toReplaceWith(highlevelrecoTask, cms.Task(highlevelrecoTask.copy(), hiClusterCompatibility))
197+
from Configuration.ProcessModifiers.phase2_pp_on_AA_cff import phase2_pp_on_AA
198+
phase2_pp_on_AA.toReplaceWith(highlevelrecoTask, cms.Task(highlevelrecoTask.copy(), hiClusterCompatibility, hiCentrality))
197199

198200
# not commisoned and not relevant in FastSim (?):
199201
_fastSim_highlevelrecoTask = highlevelrecoTask.copyAndExclude([muoncosmichighlevelrecoTask])

RecoHI/HiCentralityAlgos/plugins/CentralityProducer.cc

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ namespace reco {
8080
const double trackEtaCut_;
8181
const double hfEtaCut_;
8282

83+
const bool isPhase2_;
8384
const bool reuseAny_;
8485
const bool useQuality_;
8586
const reco::TrackBase::TrackQuality trackQuality_;
@@ -128,6 +129,7 @@ namespace reco {
128129
trackPtCut_(iConfig.getParameter<double>("trackPtCut")),
129130
trackEtaCut_(iConfig.getParameter<double>("trackEtaCut")),
130131
hfEtaCut_(iConfig.getParameter<double>("hfEtaCut")),
132+
isPhase2_(iConfig.getParameter<bool>("isPhase2")),
131133
reuseAny_(iConfig.getParameter<bool>("reUseCentrality")),
132134
useQuality_(iConfig.getParameter<bool>("useQuality")),
133135
trackQuality_(TrackBase::qualityByName(iConfig.getParameter<std::string>("trackQuality"))),
@@ -210,7 +212,7 @@ namespace reco {
210212
const CaloTower& tower = (*towers)[i];
211213
double eta = tower.eta();
212214
if (produceHFtowers_) {
213-
bool isHF = tower.ietaAbs() > 29;
215+
bool isHF = tower.ietaAbs() > (isPhase2_ ? 16 : 29);
214216
if (isHF && eta > 0) {
215217
creco->etHFtowerSumPlus_ += tower.pt();
216218
if (tower.energy() > 1.5)
@@ -539,6 +541,7 @@ namespace reco {
539541
desc.add<double>("hfEtaCut", 4)->setComment("hf above the absolute value of this cut is used");
540542
desc.add<double>("midRapidityRange", 1);
541543
desc.add<bool>("lowGainZDC", true);
544+
desc.add<bool>("isPhase2", false);
542545

543546
descriptions.addDefault(desc);
544547
}

RecoHI/HiCentralityAlgos/python/HiCentrality_cfi.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
hfEtaCut = cms.double(4), #hf above the absolute value of this cut is used
3434
midRapidityRange = cms.double(1),
3535
lowGainZDC = cms.bool(True),
36+
isPhase2 = cms.bool(False),
3637

3738
)
3839

@@ -45,4 +46,10 @@
4546
srcTracks = "generalTracks",
4647
srcVertex = "offlinePrimaryVertices"
4748
)
48-
49+
from Configuration.ProcessModifiers.phase2_pp_on_AA_cff import phase2_pp_on_AA
50+
phase2_pp_on_AA.toModify(hiCentrality,
51+
isPhase2 = True,
52+
producePixelTracks = False,
53+
srcTracks = "generalTracks",
54+
srcVertex = "offlinePrimaryVertices"
55+
)

RecoJets/Configuration/python/RecoJets_EventContent_cff.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,12 +54,13 @@
5454
from Configuration.ProcessModifiers.pp_on_AA_cff import pp_on_AA
5555
from Configuration.Eras.Modifier_run3_upc_cff import run3_upc
5656
from Configuration.Eras.Modifier_ppRef_2024_cff import ppRef_2024
57+
from Configuration.ProcessModifiers.phase2_pp_on_AA_cff import phase2_pp_on_AA
5758
#products from regular pp which does not fit the normal AOD
5859
for e in [pA_2016, peripheralPbPb, pp_on_XeXe_2017, pp_on_AA]:
5960
e.toModify( RecoJetsAOD.outputCommands,
6061
func=lambda outputCommands: outputCommands.extend(['keep *_towerMaker_*_*'])
6162
)
62-
for e in [pp_on_XeXe_2017, pp_on_AA, run3_upc]:
63+
for e in [pp_on_XeXe_2017, pp_on_AA, run3_upc, phase2_pp_on_AA]:
6364
e.toModify( RecoJetsAOD.outputCommands,
6465
func=lambda outputCommands: outputCommands.extend(['keep recoCentrality*_hiCentrality_*_*',
6566
'keep recoClusterCompatibility*_hiClusterCompatibility_*_*'

0 commit comments

Comments
 (0)