ATLAS Offline Software
Loading...
Searching...
No Matches
mc.PhPy8EG_Hto4l_NNLOPS_nnlo_30_ggH125_ZZ4l.py
Go to the documentation of this file.
1#--------------------------------------------------------------
2# Powheg ggH_quark_mass_effects setup
3#--------------------------------------------------------------
4
5# Must save input gen file names before it is overwritten
6input_powheg_files = runArgs.inputGeneratorFile
7
8
9include('PowhegControl/PowhegControl_ggF_H_Common.py')
10
11
12# Temporarily, we setup Powheg to use some variables to be the same in the Hto4l config. These
13# should eventually be taken from the incoming LHE file
14
15PowhegConfig.generate(create_run_card_only=True)
16
17#--------------------------------------------------------------
18# configure Hto4l
19#--------------------------------------------------------------
20include('Hto4lControl/Hto4lPowhegCommon.py')
21
22
23#--------------------------------------------------------------
24# configure Hto4lPowhegMerger
25#--------------------------------------------------------------
26
27include('Hto4lControl/Hto4lPowhegMergeCommon.py')
28
29# input powheg list of files comes from the input generator file names
30hto4lPowhegMerger.input_powheg_file_name = input_powheg_files
31
32# setup input for the individual Hto4l jobs - merge multiple LHE input files, if more than one
33# job on the grid submission:
34hto4lPowhegMerger.setUpInput()
35
36# Generate a file for 4e
37hto4lConfig4e.channel = "eeee"
38hto4lConfig4e.lheInput = hto4lPowhegMerger.input_powheg_to_hto4l_file_name
39hto4lConfig4e.lheOutput = hto4lPowhegMerger.output_hto4l4e_file_name
40hto4lConfig4e.nEvents = int( runArgs.maxEvents / 4 + 0.5 ) # 1/4 for this channel
41hto4lConfig4e.nskip = int(0) # no events to skip
42hto4lConfig4e.maxDiffWidth = 3.2052962671115008E-002 # from first run with value set to 0
43hto4lConfig4e.random_seed = 123*runArgs.randomSeed # separate random seed for 4e
44
45hto4lConfig4e.generateRunCard()
46hto4lConfig4e.generateEvents()
47
48# Generate a file for 4mu
49hto4lConfig4mu.channel = "mmmm"
50hto4lConfig4mu.lheInput = hto4lPowhegMerger.input_powheg_to_hto4l_file_name
51hto4lConfig4mu.lheOutput = hto4lPowhegMerger.output_hto4l4mu_file_name
52hto4lConfig4mu.nEvents = int( runArgs.maxEvents / 4 + 0.5 ) # 1/4 for this channel
53hto4lConfig4mu.nskip = hto4lConfig4e.nEvents # skip 4e events
54hto4lConfig4mu.maxDiffWidth = 1.3396654719615330E-002
55hto4lConfig4mu.random_seed = 368*runArgs.randomSeed # separate random seed for 4mu
56
57hto4lConfig4mu.generateRunCard()
58hto4lConfig4mu.generateEvents()
59
60# Generate a file for 2e2mu
61hto4lConfig2e2mu.channel = "eemm"
62hto4lConfig2e2mu.lheInput = hto4lPowhegMerger.input_powheg_to_hto4l_file_name
63hto4lConfig2e2mu.lheOutput = hto4lPowhegMerger.output_hto4l2e2mu_file_name
64hto4lConfig2e2mu.nEvents = int( 1.1*(runArgs.maxEvents / 2) ) # 1/2 for this channel + extra 10% for events failing pythia checks
65hto4lConfig2e2mu.nskip = hto4lConfig4e.nEvents + hto4lConfig4mu.nEvents # skip 4e and 4mu events
66hto4lConfig2e2mu.maxDiffWidth = 0.12975814265233268
67hto4lConfig2e2mu.random_seed = 278*runArgs.randomSeed # separate random seed for 2e2mu
68
69hto4lConfig2e2mu.generateRunCard()
70hto4lConfig2e2mu.generateEvents()
71
72
73#--------------------------------------------------------------
74# run final LHE file merging with Hto4lPowhegMerger
75#--------------------------------------------------------------
76
77hto4lPowhegMerger.merge()
78
79
80#--------------------------------------------------------------
81# Pythia8 showering
82# note: Main31 is set in Pythia8_AZNLO_CTEQ6L1_EvtGen_Common.py
83#--------------------------------------------------------------
84# include('MC15JobOptions/Pythia8_AZNLO_CTEQ6L1_EvtGen_Common.py')
85include('Pythia8_i/Pythia8_AZNLO_CTEQ6L1_EvtGen_Common.py')
86
87#--------------------------------------------------------------
88# Pythia8 main31 update
89#--------------------------------------------------------------
90# genSeq.Pythia8.UserModes += [ 'Main31:NFinal = 2' ]
91
92if "UserHooks" in genSeq.Pythia8.__slots__.keys():
93
94 genSeq.Pythia8.Commands += ['Powheg:NFinal = 2']
95
96else:
97
98 genSeq.Pythia8.UserModes += [ 'Main31:NFinal = 2' ]
99
100#--------------------------------------------------------------
101# Higgs at Pythia8
102#--------------------------------------------------------------
103genSeq.Pythia8.Commands += ["TimeShower:QEDshowerByL = off",
104 "TimeShower:QEDshowerByGamma = off"]
105
106
107# genSeq.Pythia8.Commands += ["TimeShower:QEDshowerByOther = off"]
108
109#--------------------------------------------------------------
110# EVGEN configuration
111#--------------------------------------------------------------
112evgenConfig.description = "POWHEG+HTO4L+PYTHIA8+EVTGEN, ggH H->llll+X mh=125 GeV CPS"
113evgenConfig.keywords = [ "Higgs", "SMHiggs", "ZZ" ]
114evgenConfig.contact = [ 'R.D.Schaffer@cern.ch' ]
115
116evgenConfig.nEventsPerJob = 10000