Skip to content

Commit 9999948

Browse files
committed
updates to the hbbhww processes
1 parent 1f934fb commit 9999948

File tree

1 file changed

+90
-84
lines changed

1 file changed

+90
-84
lines changed

cmsdb/processes/hh2bbww.py

Lines changed: 90 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,8 @@
4949

5050
from scinum import Number
5151

52+
import order as od
53+
5254
import cmsdb.constants as const
5355
from cmsdb.processes.higgs import (
5456
hh_ggf, ggHH_kl_0_kt_1, ggHH_kl_1_kt_1, ggHH_kl_2p45_kt_1, ggHH_kl_5_kt_1,
@@ -57,263 +59,267 @@
5759
radion_hh_ggf, graviton_hh_ggf,
5860
)
5961

62+
#
63+
# Helper
64+
#
65+
66+
br_bbww_sl = const.br_hh.bbww * const.br_ww.sl
67+
br_bbww_dl = const.br_hh.bbww * const.br_ww.dl
68+
69+
70+
def multiply_xsecs(base_proc: od.Process, factor: float):
71+
"""
72+
Helper to multiply all cross sections of a base process *base_proc*
73+
with some value *factor*
74+
"""
75+
xsecs = {
76+
ecm: base_proc.get_xsec(ecm) * factor
77+
for ecm in base_proc.xsecs.keys()
78+
}
79+
return xsecs
80+
6081

6182
#
6283
# HH -> bbWW -> bbWWqqlnu
6384
#
6485

86+
ggHH_hbbhww = hh_ggf.add_process(
87+
name="ggHH_hbbhww",
88+
id=21200,
89+
label=r"$HH_{ggf} \rightarrow bbWW$",
90+
)
91+
92+
qqHH_hbbhww = hh_vbf.add_process(
93+
name="qqHH_hbbhww",
94+
id=21201,
95+
label=r"$HH_{vbf} \rightarrow bbWW$",
96+
)
97+
6598
#
6699
# ggf, single lepton
67100
#
68101

69-
ggHH_sl_hbbhww = hh_ggf.add_process(
102+
ggHH_sl_hbbhww = ggHH_hbbhww.add_process(
70103
name="ggHH_sl_hbbhww",
71104
id=21210,
72105
label=r"$HH_{ggf} \rightarrow bbWW(qql\nu)$",
73-
xsecs={
74-
13: hh_ggf.get_xsec(13) * const.br_hh.bbww * const.br_ww.sl,
75-
},
76106
)
77107

78108
ggHH_kl_0_kt_1_sl_hbbhww = ggHH_kl_0_kt_1.add_process(
79109
name="ggHH_kl_0_kt_1_sl_hbbhww",
80110
id=21211,
81111
label=r"$HH_{ggf}^{\kappa\lambda=0} \rightarrow bbWW(qql\nu)$",
82-
xsecs={
83-
13: ggHH_kl_0_kt_1.get_xsec(13) * const.br_hh.bbww * const.br_ww.sl,
84-
},
112+
xsecs=multiply_xsecs(ggHH_kl_0_kt_1, br_bbww_sl),
85113
)
86114

87115
ggHH_kl_1_kt_1_sl_hbbhww = ggHH_kl_1_kt_1.add_process(
88116
name="ggHH_kl_1_kt_1_sl_hbbhww",
89117
label=r"$HH_{ggf}^{\kappa\lambda=1} \rightarrow bbWW(qql\nu)$",
90118
id=21212,
91-
xsecs={
92-
13: ggHH_kl_1_kt_1.get_xsec(13) * const.br_hh.bbww * const.br_ww.sl,
93-
},
119+
xsecs=multiply_xsecs(ggHH_kl_1_kt_1, br_bbww_sl),
94120
)
95121

96122
ggHH_kl_2p45_kt_1_sl_hbbhww = ggHH_kl_2p45_kt_1.add_process(
97123
name="ggHH_kl_2p45_kt_1_sl_hbbhww",
98124
label=r"$HH_{ggf}^{\kappa\lambda=2.45} \rightarrow bbWW(qql\nu)$",
99125
id=21213,
100-
xsecs={
101-
13: ggHH_kl_2p45_kt_1.get_xsec(13) * const.br_hh.bbww * const.br_ww.sl,
102-
},
126+
xsecs=multiply_xsecs(ggHH_kl_2p45_kt_1, br_bbww_sl),
103127
)
104128

105129
ggHH_kl_5_kt_1_sl_hbbhww = ggHH_kl_5_kt_1.add_process(
106130
name="ggHH_kl_5_kt_1_sl_hbbhww",
107131
label=r"$HH_{ggf}^{\kappa\lambda=5} \rightarrow bbWW(qql\nu)$",
108132
id=21214,
109-
xsecs={
110-
13: ggHH_kl_5_kt_1.get_xsec(13) * const.br_hh.bbww * const.br_ww.sl,
111-
},
133+
xsecs=multiply_xsecs(ggHH_kl_5_kt_1, br_bbww_sl),
112134
)
113135

136+
# add process dependencies
137+
ggHH_sl_hbbhww.add_process(ggHH_kl_0_kt_1_sl_hbbhww)
138+
ggHH_sl_hbbhww.add_process(ggHH_kl_1_kt_1_sl_hbbhww)
139+
ggHH_sl_hbbhww.add_process(ggHH_kl_2p45_kt_1_sl_hbbhww)
140+
ggHH_sl_hbbhww.add_process(ggHH_kl_5_kt_1_sl_hbbhww)
141+
114142
#
115143
# ggf, dilepton
116144
#
117145

118-
ggHH_dl_hbbhww = hh_ggf.add_process(
146+
ggHH_dl_hbbhww = ggHH_hbbhww.add_process(
119147
name="ggHH_dl_hbbhww",
120148
id=21220,
121149
label=r"$HH_{ggf} \rightarrow bbWW(l\nu l\nu)$",
122-
xsecs={
123-
13: hh_ggf.get_xsec(13) * const.br_hh.bbww * const.br_ww.dl,
124-
},
125150
)
126151

127152
ggHH_kl_0_kt_1_dl_hbbhww = ggHH_kl_0_kt_1.add_process(
128153
name="ggHH_kl_0_kt_1_dl_hbbhww",
129154
id=21221,
130155
label=r"$HH_{ggf}^{\kappa\lambda=0} \rightarrow bbWW(l\nu l\nu)$",
131-
xsecs={
132-
13: ggHH_kl_0_kt_1.get_xsec(13) * const.br_hh.bbww * const.br_ww.dl,
133-
},
156+
xsecs=multiply_xsecs(ggHH_kl_0_kt_1, br_bbww_dl),
134157
)
135158

136159
ggHH_kl_1_kt_1_dl_hbbhww = ggHH_kl_1_kt_1.add_process(
137160
name="ggHH_kl_1_kt_1_dl_hbbhww",
138161
label=r"$HH_{ggf}^{\kappa\lambda=1} \rightarrow bbWW(l\nu l\nu)$",
139162
id=21222,
140-
xsecs={
141-
13: ggHH_kl_1_kt_1.get_xsec(13) * const.br_hh.bbww * const.br_ww.dl,
142-
},
163+
xsecs=multiply_xsecs(ggHH_kl_1_kt_1, br_bbww_dl),
143164
)
144165

145166
ggHH_kl_2p45_kt_1_dl_hbbhww = ggHH_kl_2p45_kt_1.add_process(
146167
name="ggHH_kl_2p45_kt_1_dl_hbbhww",
147168
label=r"$HH_{ggf}^{\kappa\lambda=2.45} \rightarrow bbWW(l\nu l\nu)$",
148169
id=21223,
149-
xsecs={
150-
13: ggHH_kl_2p45_kt_1.get_xsec(13) * const.br_hh.bbww * const.br_ww.dl,
151-
},
170+
xsecs=multiply_xsecs(ggHH_kl_2p45_kt_1, br_bbww_dl),
152171
)
153172

154173
ggHH_kl_5_kt_1_dl_hbbhww = ggHH_kl_5_kt_1.add_process(
155174
name="ggHH_kl_5_kt_1_dl_hbbhww",
156175
label=r"$HH_{ggf}^{\kappa\lambda=5} \rightarrow bbWW(l\nu l\nu)$",
157176
id=21224,
158-
xsecs={
159-
13: ggHH_kl_5_kt_1.get_xsec(13) * const.br_hh.bbww * const.br_ww.dl,
160-
},
177+
xsecs=multiply_xsecs(ggHH_kl_5_kt_1, br_bbww_dl),
161178
)
162179

180+
181+
# add process dependencies
182+
ggHH_dl_hbbhww.add_process(ggHH_kl_0_kt_1_dl_hbbhww)
183+
ggHH_dl_hbbhww.add_process(ggHH_kl_1_kt_1_dl_hbbhww)
184+
ggHH_dl_hbbhww.add_process(ggHH_kl_2p45_kt_1_dl_hbbhww)
185+
ggHH_dl_hbbhww.add_process(ggHH_kl_5_kt_1_dl_hbbhww)
186+
163187
#
164188
# VBF, single lepton
165189
#
166190

167-
qqHH_sl_hbbhww = hh_vbf.add_process(
191+
qqHH_sl_hbbhww = qqHH_hbbhww.add_process(
168192
name="qqHH_sl_hbbhww",
169193
label=r"$HH_{vbf} \rightarrow bbWW(qql\nu)$",
170194
id=22210,
171-
xsecs={
172-
13: hh_vbf.get_xsec(13) * const.br_hh.bbww * const.br_ww.sl,
173-
},
174195
)
175196

176197
qqHH_CV_1_C2V_1_kl_1_sl_hbbhww = qqHH_CV_1_C2V_1_kl_1.add_process(
177198
name="qqHH_CV_1_C2V_1_kl_1_sl_hbbhww",
178199
label=r"$HH_{vbf}^{1,1,1} \rightarrow bbWW(qql\nu)$",
179200
id=22211,
180-
xsecs={
181-
13: qqHH_CV_1_C2V_1_kl_1.get_xsec(13) * const.br_hh.bbww * const.br_ww.sl,
182-
},
201+
xsecs=multiply_xsecs(qqHH_CV_1_C2V_1_kl_1, br_bbww_sl),
183202
)
184203

185204
qqHH_CV_1_C2V_1_kl_0_sl_hbbhww = qqHH_CV_1_C2V_1_kl_0.add_process(
186205
name="qqHH_CV_1_C2V_1_kl_0_sl_hbbhww",
187206
label=r"$HH_{vbf}^{1,1,0} \rightarrow bbWW(qql\nu)$",
188207
id=22212,
189-
xsecs={
190-
13: qqHH_CV_1_C2V_1_kl_0.get_xsec(13) * const.br_hh.bbww * const.br_ww.sl,
191-
},
208+
xsecs=multiply_xsecs(qqHH_CV_1_C2V_1_kl_0, br_bbww_sl),
192209
)
193210

194211
qqHH_CV_1_C2V_1_kl_2_sl_hbbhww = qqHH_CV_1_C2V_1_kl_2.add_process(
195212
name="qqHH_CV_1_C2V_1_kl_2_sl_hbbhww",
196213
label=r"$HH_{vbf}^{1,1,2} \rightarrow bbWW(qql\nu)$",
197214
id=22213,
198-
xsecs={
199-
13: qqHH_CV_1_C2V_1_kl_2.get_xsec(13) * const.br_hh.bbww * const.br_ww.sl,
200-
},
215+
xsecs=multiply_xsecs(qqHH_CV_1_C2V_1_kl_2, br_bbww_sl),
201216
)
202217

203218
qqHH_CV_1_C2V_0_kl_1_sl_hbbhww = qqHH_CV_1_C2V_0_kl_1.add_process(
204219
name="qqHH_CV_1_C2V_0_kl_1_sl_hbbhww",
205220
label=r"$HH_{vbf}^{1,0,1} \rightarrow bbWW(qql\nu)$",
206221
id=22214,
207-
xsecs={
208-
13: qqHH_CV_1_C2V_0_kl_1.get_xsec(13) * const.br_hh.bbww * const.br_ww.sl,
209-
},
222+
xsecs=multiply_xsecs(qqHH_CV_1_C2V_0_kl_1, br_bbww_sl),
210223
)
211224

212225
qqHH_CV_1_C2V_2_kl_1_sl_hbbhww = qqHH_CV_1_C2V_2_kl_1.add_process(
213226
name="qqHH_CV_1_C2V_2_kl_1_sl_hbbhww",
214227
label=r"$HH_{vbf}^{1,2,1} \rightarrow bbWW(qql\nu)$",
215228
id=22215,
216-
xsecs={
217-
13: qqHH_CV_1_C2V_2_kl_1.get_xsec(13) * const.br_hh.bbww * const.br_ww.sl,
218-
},
229+
xsecs=multiply_xsecs(qqHH_CV_1_C2V_2_kl_1, br_bbww_sl),
219230
)
220231

221-
222232
qqHH_CV_0p5_C2V_1_kl_1_sl_hbbhww = qqHH_CV_0p5_C2V_1_kl_1.add_process(
223233
name="qqHH_CV_0p5_C2V_1_kl_1_sl_hbbhww",
224234
label=r"$HH_{vbf}^{0.5,1,1} \rightarrow bbWW(qql\nu)$",
225235
id=22216,
226-
xsecs={
227-
13: qqHH_CV_0p5_C2V_1_kl_1.get_xsec(13) * const.br_hh.bbww * const.br_ww.sl,
228-
},
236+
xsecs=multiply_xsecs(qqHH_CV_0p5_C2V_1_kl_1, br_bbww_sl),
229237
)
230238

231239
qqHH_CV_1p5_C2V_1_kl_1_sl_hbbhww = qqHH_CV_1p5_C2V_1_kl_1.add_process(
232240
name="qqHH_CV_1p5_C2V_1_kl_1_sl_hbbhww",
233241
label=r"$HH_{vbf}^{1.5,1,1} \rightarrow bbWW(qql\nu)$",
234242
id=22217,
235-
xsecs={
236-
13: qqHH_CV_1p5_C2V_1_kl_1.get_xsec(13) * const.br_hh.bbww * const.br_ww.sl,
237-
},
243+
xsecs=multiply_xsecs(qqHH_CV_1p5_C2V_1_kl_1, br_bbww_sl),
238244
)
239245

246+
# add process dependencies
247+
qqHH_sl_hbbhww.add_process(qqHH_CV_1_C2V_1_kl_1_sl_hbbhww)
248+
qqHH_sl_hbbhww.add_process(qqHH_CV_1_C2V_1_kl_0_sl_hbbhww)
249+
qqHH_sl_hbbhww.add_process(qqHH_CV_1_C2V_1_kl_2_sl_hbbhww)
250+
qqHH_sl_hbbhww.add_process(qqHH_CV_1_C2V_0_kl_1_sl_hbbhww)
251+
qqHH_sl_hbbhww.add_process(qqHH_CV_1_C2V_2_kl_1_sl_hbbhww)
252+
qqHH_sl_hbbhww.add_process(qqHH_CV_0p5_C2V_1_kl_1_sl_hbbhww)
253+
qqHH_sl_hbbhww.add_process(qqHH_CV_1p5_C2V_1_kl_1_sl_hbbhww)
254+
240255
#
241256
# VBF, dilepton
242257
#
243258

244-
qqHH_dl_hbbhww = hh_vbf.add_process(
259+
qqHH_dl_hbbhww = qqHH_hbbhww.add_process(
245260
name="qqHH_dl_hbbhww",
246261
label=r"$HH_{vbf} \rightarrow bbWW(l\nu l\nu)$",
247262
id=22220,
248-
xsecs={
249-
13: hh_vbf.get_xsec(13) * const.br_hh.bbww * const.br_ww.dl,
250-
},
251263
)
252264

253265
qqHH_CV_1_C2V_1_kl_1_dl_hbbhww = qqHH_CV_1_C2V_1_kl_1.add_process(
254266
name="qqHH_CV_1_C2V_1_kl_1_dl_hbbhww",
255267
label=r"$HH_{vbf}^{1,1,1} \rightarrow bbWW(l\nu l\nu)$",
256268
id=22221,
257-
xsecs={
258-
13: qqHH_CV_1_C2V_1_kl_1.get_xsec(13) * const.br_hh.bbww * const.br_ww.dl,
259-
},
269+
xsecs=multiply_xsecs(qqHH_CV_1_C2V_1_kl_1, br_bbww_sl),
260270
)
261271

262272
qqHH_CV_1_C2V_1_kl_0_dl_hbbhww = qqHH_CV_1_C2V_1_kl_0.add_process(
263273
name="qqHH_CV_1_C2V_1_kl_0_dl_hbbhww",
264274
label=r"$HH_{vbf}^{1,1,0} \rightarrow bbWW(l\nu l\nu)$",
265275
id=22222,
266-
xsecs={
267-
13: qqHH_CV_1_C2V_1_kl_0.get_xsec(13) * const.br_hh.bbww * const.br_ww.dl,
268-
},
276+
xsecs=multiply_xsecs(qqHH_CV_1_C2V_1_kl_0, br_bbww_sl),
269277
)
270278

271279
qqHH_CV_1_C2V_1_kl_2_dl_hbbhww = qqHH_CV_1_C2V_1_kl_2.add_process(
272280
name="qqHH_CV_1_C2V_1_kl_2_dl_hbbhww",
273281
label=r"$HH_{vbf}^{1,1,2} \rightarrow bbWW(l\nu l\nu)$",
274282
id=22223,
275-
xsecs={
276-
13: qqHH_CV_1_C2V_1_kl_2.get_xsec(13) * const.br_hh.bbww * const.br_ww.dl,
277-
},
283+
xsecs=multiply_xsecs(qqHH_CV_1_C2V_1_kl_2, br_bbww_sl),
278284
)
279285

280286
qqHH_CV_1_C2V_0_kl_1_dl_hbbhww = qqHH_CV_1_C2V_0_kl_1.add_process(
281287
name="qqHH_CV_1_C2V_0_kl_1_dl_hbbhww",
282288
label=r"$HH_{vbf}^{1,0,1} \rightarrow bbWW(l\nu l\nu)$",
283289
id=22224,
284-
xsecs={
285-
13: qqHH_CV_1_C2V_0_kl_1.get_xsec(13) * const.br_hh.bbww * const.br_ww.dl,
286-
},
290+
xsecs=multiply_xsecs(qqHH_CV_1_C2V_0_kl_1, br_bbww_sl),
287291
)
288292

289293
qqHH_CV_1_C2V_2_kl_1_dl_hbbhww = qqHH_CV_1_C2V_2_kl_1.add_process(
290294
name="qqHH_CV_1_C2V_2_kl_1_dl_hbbhww",
291295
label=r"$HH_{vbf}^{1,2,1} \rightarrow bbWW(l\nu l\nu)$",
292296
id=22225,
293-
xsecs={
294-
13: qqHH_CV_1_C2V_2_kl_1.get_xsec(13) * const.br_hh.bbww * const.br_ww.dl,
295-
},
297+
xsecs=multiply_xsecs(qqHH_CV_1_C2V_2_kl_1, br_bbww_sl),
296298
)
297299

298-
299300
qqHH_CV_0p5_C2V_1_kl_1_dl_hbbhww = qqHH_CV_0p5_C2V_1_kl_1.add_process(
300301
name="qqHH_CV_0p5_C2V_1_kl_1_dl_hbbhww",
301302
label=r"$HH_{vbf}^{0.5,1,1} \rightarrow bbWW(l\nu l\nu)$",
302303
id=22226,
303-
xsecs={
304-
13: qqHH_CV_0p5_C2V_1_kl_1.get_xsec(13) * const.br_hh.bbww * const.br_ww.dl,
305-
},
304+
xsecs=multiply_xsecs(qqHH_CV_0p5_C2V_1_kl_1, br_bbww_sl),
306305
)
307306

308307
qqHH_CV_1p5_C2V_1_kl_1_dl_hbbhww = qqHH_CV_1p5_C2V_1_kl_1.add_process(
309308
name="qqHH_CV_1p5_C2V_1_kl_1_dl_hbbhww",
310309
label=r"$HH_{vbf}^{1.5,1,1} \rightarrow bbWW(l\nu l\nu)$",
311310
id=22227,
312-
xsecs={
313-
13: qqHH_CV_1p5_C2V_1_kl_1.get_xsec(13) * const.br_hh.bbww * const.br_ww.dl,
314-
},
311+
xsecs=multiply_xsecs(qqHH_CV_1p5_C2V_1_kl_1, br_bbww_sl),
315312
)
316313

314+
# add process dependencies
315+
qqHH_dl_hbbhww.add_process(qqHH_CV_1_C2V_1_kl_1_dl_hbbhww)
316+
qqHH_dl_hbbhww.add_process(qqHH_CV_1_C2V_1_kl_0_dl_hbbhww)
317+
qqHH_dl_hbbhww.add_process(qqHH_CV_1_C2V_1_kl_2_dl_hbbhww)
318+
qqHH_dl_hbbhww.add_process(qqHH_CV_1_C2V_0_kl_1_dl_hbbhww)
319+
qqHH_dl_hbbhww.add_process(qqHH_CV_1_C2V_2_kl_1_dl_hbbhww)
320+
qqHH_dl_hbbhww.add_process(qqHH_CV_0p5_C2V_1_kl_1_dl_hbbhww)
321+
qqHH_dl_hbbhww.add_process(qqHH_CV_1p5_C2V_1_kl_1_dl_hbbhww)
322+
317323
#
318324
# ggF -> radion -> HH
319325
#

0 commit comments

Comments
 (0)