ATLAS Offline Software
Loading...
Searching...
No Matches
python.Pythia8ShowerWeights Namespace Reference

Functions

 Pythia8ShowerWeightsCfg (flags, name="Pythia8_i", include_pdf_variations=False)

Function Documentation

◆ Pythia8ShowerWeightsCfg()

Pythia8ShowerWeightsCfg ( flags,
name = "Pythia8_i",
include_pdf_variations = False )
Configure Pythia8 shower-weight variations.

This is the CA equivalent of share/common/Pythia8_ShowerWeights.py,
including optional PDF-variation weights used with NNPDF-based tunes.

Definition at line 6 of file Pythia8ShowerWeights.py.

6def Pythia8ShowerWeightsCfg(flags, name="Pythia8_i", include_pdf_variations=False):
7 """
8 Configure Pythia8 shower-weight variations.
9
10 This is the CA equivalent of share/common/Pythia8_ShowerWeights.py,
11 including optional PDF-variation weights used with NNPDF-based tunes.
12 """
13 from Pythia8_i.Pythia8Config import Pythia8CommandsCfg
14
15 weight_entries = [
16 "Var3cUp isr:muRfac=0.549241",
17 "Var3cDown isr:muRfac=1.960832",
18 "isr:muRfac=2.0_fsr:muRfac=2.0 isr:muRfac=2.0 fsr:muRfac=2.0",
19 "isr:muRfac=2.0_fsr:muRfac=1.0 isr:muRfac=2.0 fsr:muRfac=1.0",
20 "isr:muRfac=2.0_fsr:muRfac=0.5 isr:muRfac=2.0 fsr:muRfac=0.5",
21 "isr:muRfac=1.0_fsr:muRfac=2.0 isr:muRfac=1.0 fsr:muRfac=2.0",
22 "isr:muRfac=1.0_fsr:muRfac=0.5 isr:muRfac=1.0 fsr:muRfac=0.5",
23 "isr:muRfac=0.5_fsr:muRfac=2.0 isr:muRfac=0.5 fsr:muRfac=2.0",
24 "isr:muRfac=0.5_fsr:muRfac=1.0 isr:muRfac=0.5 fsr:muRfac=1.0",
25 "isr:muRfac=0.5_fsr:muRfac=0.5 isr:muRfac=0.5 fsr:muRfac=0.5",
26 "isr:muRfac=1.75_fsr:muRfac=1.0 isr:muRfac=1.75 fsr:muRfac=1.0",
27 "isr:muRfac=1.5_fsr:muRfac=1.0 isr:muRfac=1.5 fsr:muRfac=1.0",
28 "isr:muRfac=1.25_fsr:muRfac=1.0 isr:muRfac=1.25 fsr:muRfac=1.0",
29 "isr:muRfac=0.625_fsr:muRfac=1.0 isr:muRfac=0.625 fsr:muRfac=1.0",
30 "isr:muRfac=0.75_fsr:muRfac=1.0 isr:muRfac=0.75 fsr:muRfac=1.0",
31 "isr:muRfac=0.875_fsr:muRfac=1.0 isr:muRfac=0.875 fsr:muRfac=1.0",
32 "isr:muRfac=1.0_fsr:muRfac=1.75 isr:muRfac=1.0 fsr:muRfac=1.75",
33 "isr:muRfac=1.0_fsr:muRfac=1.5 isr:muRfac=1.0 fsr:muRfac=1.5",
34 "isr:muRfac=1.0_fsr:muRfac=1.25 isr:muRfac=1.0 fsr:muRfac=1.25",
35 "isr:muRfac=1.0_fsr:muRfac=0.625 isr:muRfac=1.0 fsr:muRfac=0.625",
36 "isr:muRfac=1.0_fsr:muRfac=0.75 isr:muRfac=1.0 fsr:muRfac=0.75",
37 "isr:muRfac=1.0_fsr:muRfac=0.875 isr:muRfac=1.0 fsr:muRfac=0.875",
38 "hardHi fsr:cNS=2.0 isr:cNS=2.0",
39 "hardLo fsr:cNS=-2.0 isr:cNS=-2.0",
40 ]
41 shower_weight_names = [
42 "Var3cUp",
43 "Var3cDown",
44 "isr:muRfac=2.0_fsr:muRfac=2.0",
45 "isr:muRfac=2.0_fsr:muRfac=1.0",
46 "isr:muRfac=2.0_fsr:muRfac=0.5",
47 "isr:muRfac=1.0_fsr:muRfac=2.0",
48 "isr:muRfac=1.0_fsr:muRfac=0.5",
49 "isr:muRfac=0.5_fsr:muRfac=2.0",
50 "isr:muRfac=0.5_fsr:muRfac=1.0",
51 "isr:muRfac=0.5_fsr:muRfac=0.5",
52 "isr:muRfac=1.75_fsr:muRfac=1.0",
53 "isr:muRfac=1.5_fsr:muRfac=1.0",
54 "isr:muRfac=1.25_fsr:muRfac=1.0",
55 "isr:muRfac=0.625_fsr:muRfac=1.0",
56 "isr:muRfac=0.75_fsr:muRfac=1.0",
57 "isr:muRfac=0.875_fsr:muRfac=1.0",
58 "isr:muRfac=1.0_fsr:muRfac=1.75",
59 "isr:muRfac=1.0_fsr:muRfac=1.5",
60 "isr:muRfac=1.0_fsr:muRfac=1.25",
61 "isr:muRfac=1.0_fsr:muRfac=0.625",
62 "isr:muRfac=1.0_fsr:muRfac=0.75",
63 "isr:muRfac=1.0_fsr:muRfac=0.875",
64 "hardHi",
65 "hardLo",
66 ]
67
68 if include_pdf_variations:
69 weight_entries.extend([
70 "isr:PDF:plus isr:PDF:plus=1",
71 "isr:PDF:minus isr:PDF:minus=2",
72 ])
73 shower_weight_names.extend([
74 "isr:PDF:plus",
75 "isr:PDF:minus",
76 ])
77
78 ca = Pythia8CommandsCfg(
79 flags,
80 source="pythia8_shower_weights",
81 commands=[
82 "UncertaintyBands:doVariations = on",
83 f"UncertaintyBands:List = {{{', '.join(weight_entries)}}}",
84 ],
85 precedence=GeneratorSettingsPrecedence.WEIGHTS,
86 name=name,
87 )
88 ca.addEventAlgo(CompFactory.Pythia8_i(name, ShowerWeightNames=tuple(shower_weight_names)))
89 return ca