Skip to content

Commit

Permalink
Merge pull request cms-sw#3635 from elenavernazza/ZZ_ZH_bbtt
Browse files Browse the repository at this point in the history
Fragments and cards for resonant X->ZZ->bbtautau and Z’->ZH->bbtautau
  • Loading branch information
menglu21 authored Feb 26, 2024
2 parents ccf536e + 1801f1e commit 85f401b
Show file tree
Hide file tree
Showing 15 changed files with 793 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import os

FolderTemplate = 'Zprime_Zh_Zbbhtautau_narrow_template'

MassPoints = [600,800,1000,1200,1400,1600,1800,2000,2500,3000,3500,4000,4500,5000,5500,6000,6500,7000,7500,8000]

for Mass in MassPoints:

# copy template fragment
os.system(f'mkdir Zprime_Zh_Zbbhtautau_narrow_M{Mass}')
os.system(f'cp {FolderTemplate}/Zprime_Zh_Zbbhtautau_narrow_customizecards.dat Zprime_Zh_Zbbhtautau_narrow_M{Mass}/Zprime_Zh_Zbbhtautau_narrow_M{Mass}_customizecards.dat')
os.system(f'cp {FolderTemplate}/Zprime_Zh_Zbbhtautau_narrow_extramodels.dat Zprime_Zh_Zbbhtautau_narrow_M{Mass}/Zprime_Zh_Zbbhtautau_narrow_M{Mass}_extramodels.dat')
os.system(f'cp {FolderTemplate}/Zprime_Zh_Zbbhtautau_narrow_proc_card.dat Zprime_Zh_Zbbhtautau_narrow_M{Mass}/Zprime_Zh_Zbbhtautau_narrow_M{Mass}_proc_card.dat')
os.system(f'cp {FolderTemplate}/Zprime_Zh_Zbbhtautau_narrow_run_card.dat Zprime_Zh_Zbbhtautau_narrow_M{Mass}/Zprime_Zh_Zbbhtautau_narrow_M{Mass}_run_card.dat')

# change content using sed
print(f'Mass: {Mass}')
os.system(f"sed -i 's/MASS/{Mass}/g' Zprime_Zh_Zbbhtautau_narrow_M{Mass}/Zprime_Zh_Zbbhtautau_narrow_M{Mass}_customizecards.dat")
os.system(f"sed -i 's/MASS/{Mass}/g' Zprime_Zh_Zbbhtautau_narrow_M{Mass}/Zprime_Zh_Zbbhtautau_narrow_M{Mass}_proc_card.dat")

print(f"\nCreated cards")
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
set param_card mass 9000001 MASS
set param_card mass 9000002 MASS
set param_card rhoinputs 2 MASS
set param_card DECAY 9000001 1.000000e-03
set param_card DECAY 9000002 1.000000e-03
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
#from https://github.com/syuvivida/DibosonBSMSignal_13TeV/tree/master/Models/Vector_Triplet_free_Width_UFO
dibosonResonanceModel.tar.gz
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
set group_subprocesses Auto
set ignore_six_quark_processes False
set gauge unitary
set complex_mass_scheme False
import model Vector_Triplet_free_Width_UFO
define p = g u c d s b u~ c~ d~ s~ b~
define q = u c d s b u~ c~ d~ s~ b~
generate p p > vz, (vz > h z, h > ta+ ta-, z > b b~)
output Zprime_Zh_Zbbhtautau_narrow_MMASS -nojpeg

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import os

FolderTemplate = 'Zprime_Zh_Ztautauhbb_narrow_template'

MassPoints = [600,800,1000,1200,1400,1600,1800,2000,2500,3000,3500,4000,4500,5000,5500,6000,6500,7000,7500,8000]

for Mass in MassPoints:

# copy template fragment
os.system(f'mkdir Zprime_Zh_Ztautauhbb_narrow_M{Mass}')
os.system(f'cp {FolderTemplate}/Zprime_Zh_Ztautauhbb_narrow_customizecards.dat Zprime_Zh_Ztautauhbb_narrow_M{Mass}/Zprime_Zh_Ztautauhbb_narrow_M{Mass}_customizecards.dat')
os.system(f'cp {FolderTemplate}/Zprime_Zh_Ztautauhbb_narrow_extramodels.dat Zprime_Zh_Ztautauhbb_narrow_M{Mass}/Zprime_Zh_Ztautauhbb_narrow_M{Mass}_extramodels.dat')
os.system(f'cp {FolderTemplate}/Zprime_Zh_Ztautauhbb_narrow_proc_card.dat Zprime_Zh_Ztautauhbb_narrow_M{Mass}/Zprime_Zh_Ztautauhbb_narrow_M{Mass}_proc_card.dat')
os.system(f'cp {FolderTemplate}/Zprime_Zh_Ztautauhbb_narrow_run_card.dat Zprime_Zh_Ztautauhbb_narrow_M{Mass}/Zprime_Zh_Ztautauhbb_narrow_M{Mass}_run_card.dat')

# change content using sed
print(f'Mass: {Mass}')
os.system(f"sed -i 's/MASS/{Mass}/g' Zprime_Zh_Ztautauhbb_narrow_M{Mass}/Zprime_Zh_Ztautauhbb_narrow_M{Mass}_customizecards.dat")
os.system(f"sed -i 's/MASS/{Mass}/g' Zprime_Zh_Ztautauhbb_narrow_M{Mass}/Zprime_Zh_Ztautauhbb_narrow_M{Mass}_proc_card.dat")

print(f"\nCreated cards")
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
set param_card mass 9000001 MASS
set param_card mass 9000002 MASS
set param_card rhoinputs 2 MASS
set param_card DECAY 9000001 1.000000e-03
set param_card DECAY 9000002 1.000000e-03
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
#from https://github.com/syuvivida/DibosonBSMSignal_13TeV/tree/master/Models/Vector_Triplet_free_Width_UFO
dibosonResonanceModel.tar.gz
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
set group_subprocesses Auto
set ignore_six_quark_processes False
set gauge unitary
set complex_mass_scheme False
import model Vector_Triplet_free_Width_UFO
define p = g u c d s b u~ c~ d~ s~ b~
define q = u c d s b u~ c~ d~ s~ b~
generate p p > vz, (vz > h z, h > b b~, z > ta+ ta-)
output Zprime_Zh_Ztautauhbb_narrow_MMASS -nojpeg

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
DecayMode1=2 DecayMode2=-289 ReweightDecay WidthSchemeIn=3 ReadPMZZ


Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import os

FileTemplate = 'gg_X_ZZbbtautau_quark-mass-effects_NNPDF31_13TeV_template.input'

MassPoints = [ 200, 210, 220, 230, 240, 250, 260, 270, 280, 300, 320, 350, 360, 400, 450, 500, 550,
600, 650, 700, 750, 800, 850, 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700,
1800, 1900, 2000, 2200, 2400, 2500, 2600, 2800, 3000, 3500, 4000, 4500, 5000]

for Mass in MassPoints:

# copy template fragment
os.system(f'cp {FileTemplate} gg_X_ZZbbtautau_quark-mass-effects_NNPDF31_13TeV_M{Mass}.input')

# change content using sed
print(f'Mass: {Mass}')
os.system(f"sed -i 's/MASS/{Mass}/g' gg_X_ZZbbtautau_quark-mass-effects_NNPDF31_13TeV_M{Mass}.input")

print(f"\nCreated cards")
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
numevts NEVENTS
ih1 1 ! hadron 1 (1 for protons, -1 for antiprotons)
ih2 1 ! hadron 2 (1 for protons, -1 for antiprotons)
#ndns1 131 ! pdf set for hadron 1 (mlm numbering)
#ndns2 131 ! pdf set for hadron 2 (mlm numbering)
ebeam1 6500 ! energy of beam 1
ebeam2 6500 ! energy of beam 2

lhans1 325300 ! pdf set for hadron 1 (LHA numbering)
lhans2 325300 ! pdf set for hadron 2 (LHA numbering)

! Parameters to allow or not the use of stored data
use-old-grid 1 ! if 1 use old grid if file pwggrids.dat is present (<> 1 regenerate)
use-old-ubound 1 ! if 1 use norm of upper bounding function stored in pwgubound.dat, if present; <> 1 regenerate

ncall1 50000 ! number of calls for initializing the integration grid
itmx1 5 ! number of iterations for initializing the integration grid
ncall2 50000 ! number of calls for computing the integral and finding upper bound
itmx2 5 ! number of iterations for computing the integral and finding upper bound
foldcsi 1 ! number of folds on csi integration
foldy 1 ! number of folds on y integration
foldphi 1 ! number of folds on phi integration
nubound 50000 ! number of bbarra calls to setup norm of upper bounding function
icsimax 1 ! <= 100, number of csi subdivision when computing the upper bounds
iymax 1 ! <= 100, number of y subdivision when computing the upper bounds
xupbound 2d0 ! increase upper bound for radiation generation

! OPTIONAL PARAMETERS

renscfact 1 ! (default 1d0) ren scale factor: muren = muref * renscfact
facscfact 1 ! (default 1d0) fac scale factor: mufact = muref * facscfact
testplots 1 ! (default 0, do not) do NLO and PWHG distributions
hfact 72.5d0 ! (default no dumping factor) dump factor for high-pt radiation: > 0 dumpfac=h**2/(pt2+h**2)
runningscale 1 ! 0 = scales equal to the Higgs pole mass; 1 = scales equal to the Higgs virtuality;
! 2 = scales equal to the Higgs pole mass for Born-like configuration and to the transverse mass for real emission contribution

iseed SEED

! GGF_H production:
! **** Mandatory parameters for ALL models ****
massren 0 ! Mass renormalization scheme. 0 = OS, 1 = MSBAR , 2 = DRBAR
zerowidth 1 ! Control if the Higgs boson is to be produced on-shell or not: 1 = On-Shell; 0 = Off-shell with Breit-Wigner
ew 0 ! ew = 0 disable EW corrections - ew = 1 enable EW corrections
model 0
gfermi 0.116637D-04 ! GF
hdecaymode -1 ! PDG code for first decay product of the higgs
masswindow 9999d0 !(default 10d0) number of widths around hmass in the BW for an off-shell Higgs boson

! **** Mandatory parameters for SM or MW ****
hmass MASSd0 ! Higgs boson mass
hwidth 1.000D-03 ! Higgs boson width
topmass 172.5 ! top quark mass
bottommass 4.75d0 ! bottom quark mass - if defined it enables the bottom quark

! Optional
hdecaywidth 0 ! If equals to 1 read total decay width from HDECAY sm.br2 file
#withnegweights 1 1
#pdfreweight 0
#storeinfo_rwgt 0
#bwshape 3 ! complex-pole scheme according to Passarino et al.


#manyseeds 1

#parallelstage 4

#xgriditeration 1 1
rwl_group_events 2000
lhapdf6maxsets 50
rwl_file 'pwg-rwl.dat'
rwl_format_rwgt 1
43 changes: 43 additions & 0 deletions genfragments/ThirteenTeV/B2G/ZZ_ZH_bbtt/MakeGenFragments.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
import os

FileTemplate = 'ZZ_ZH_bbtt-fragment_template_cfi.py'

# Produce fragments for GluGluToXToZZTo2B2Tau
MassPoints_ZZ = [ 200, 210, 220, 230, 240, 250, 260, 270, 280, 300, 320, 350, 360, 400, 450, 500, 550,
600, 650, 700, 750, 800, 850, 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700,
1800, 1900, 2000, 2200, 2400, 2500, 2600, 2800, 3000, 3500, 4000, 4500, 5000]
for Mass in MassPoints_ZZ:

# copy template fragment
os.system(f'cp {FileTemplate} GluGluToXToZZTo2B2Tau_M{Mass}-fragment_cfi.py')

# change content using sed
GridpackName = f'gg_H_quark-mass-effects_slc7_amd64_gcc700_CMSSW_10_6_37_my_gg_X_ZZbbtautau_quark-mass-effects_NNPDF31_13TeV_M{Mass}.tgz'
print(f'Gridpack filename: {GridpackName}')
os.system(f"sed -i 's/gridpack_name/{GridpackName}/g' GluGluToXToZZTo2B2Tau_M{Mass}-fragment_cfi.py")

# Produce fragments for DY_ZprimeToZH_ZbbHtautau
MassPoints_ZH = [600,800,1000,1200,1400,1600,1800,2000,2500,3000,3500,4000,4500,5000,5500,6000,6500,7000,7500,8000]
for Mass in MassPoints_ZH:

# copy template fragment
os.system(f'cp {FileTemplate} DY_ZprimeToZH_ZbbHtautau_M{Mass}-fragment_cfi.py')

# change content using sed
GridpackName = f'Zprime_Zh_Zbbhtautau_narrow_M{Mass}_slc7_amd64_gcc10_CMSSW_12_4_8_tarball.tar.xz'
print(f'Gridpack filename: {GridpackName}')
os.system(f"sed -i 's/gridpack_name/{GridpackName}/g' DY_ZprimeToZH_ZbbHtautau_M{Mass}-fragment_cfi.py")

# Produce fragments for DY_ZprimeToZH_ZtautauHbb
MassPoints_ZH = [600,800,1000,1200,1400,1600,1800,2000,2500,3000,3500,4000,4500,5000,5500,6000,6500,7000,7500,8000]
for Mass in MassPoints_ZH:

# copy template fragment
os.system(f'cp {FileTemplate} DY_ZprimeToZH_ZtautauHbb_M{Mass}-fragment_cfi.py')

# change content using sed
GridpackName = f'Zprime_Zh_Ztautauhbb_narrow_M{Mass}_slc7_amd64_gcc10_CMSSW_12_4_8_tarball.tar.xz'
print(f'Gridpack filename: {GridpackName}')
os.system(f"sed -i 's/gridpack_name/{GridpackName}/g' DY_ZprimeToZH_ZtautauHbb_M{Mass}-fragment_cfi.py")

print(f"\nCreated fragments")
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
import FWCore.ParameterSet.Config as cms

externalLHEProducer = cms.EDProducer("ExternalLHEProducer",
args = cms.vstring('/afs/cern.ch/work/e/evernazz/public/B2GRequest/gridpack_name'),
nEvents = cms.untracked.uint32(200000),
numberOfParameters = cms.uint32(1),
outputFile = cms.string('cmsgrid_final.lhe'),
scriptName = cms.FileInPath('GeneratorInterface/LHEInterface/data/run_generic_tarball_cvmfs.sh')
)

import FWCore.ParameterSet.Config as cms
from Configuration.Generator.Pythia8CommonSettings_cfi import *
from Configuration.Generator.MCTunes2017.PythiaCP5Settings_cfi import *
from Configuration.Generator.Pythia8PowhegEmissionVetoSettings_cfi import *
from Configuration.Generator.PSweightsPythia.PythiaPSweightsSettings_cfi import *

generator = cms.EDFilter("Pythia8ConcurrentHadronizerFilter",
maxEventsToPrint = cms.untracked.int32(1),
pythiaPylistVerbosity = cms.untracked.int32(1),
filterEfficiency = cms.untracked.double(1.0),
pythiaHepMCVerbosity = cms.untracked.bool(False),
comEnergy = cms.double(13000.),
PythiaParameters = cms.PSet(
pythia8CommonSettingsBlock,
pythia8CP5SettingsBlock,
pythia8PowhegEmissionVetoSettingsBlock,
pythia8PSweightsSettingsBlock,
processParameters = cms.vstring(
'POWHEG:nFinal = 1', ## Number of final state particles
## (BEFORE THE DECAYS) in the LHE
## other than emitted extra parton
),
parameterSets = cms.vstring('pythia8CommonSettings',
'pythia8CP5Settings',
'pythia8PowhegEmissionVetoSettings',
'pythia8PSweightsSettings',
'processParameters'
)
)
)

ProductionFilterSequence = cms.Sequence(generator)

0 comments on commit 85f401b

Please sign in to comment.