13def e2mu(powheg_LHE_output):
14 """! Post-process existing events from electrons to muons
16 @param powheg_LHE_output Name of LHE file produced by PowhegBox.
18 @author Jan Kretzschmar <jan.kretzschmar@cern.ch>
20 logger.warning(
"Converting LHE events from electron to muon decays.")
23 preamble = LHE.preamble(powheg_LHE_output)
24 postamble = LHE.postamble(powheg_LHE_output)
27 powheg_LHE_mu =
"{}.mu".format(powheg_LHE_output)
28 with open(powheg_LHE_mu,
"w")
as f_output:
29 f_output.write(
"{}\n".format(preamble))
30 for input_event
in LHE.event_iterator(powheg_LHE_output):
31 is_event_changed, output_event = LHE.e2mu(input_event)
32 f_output.write(output_event)
33 n_events += [0, 1][is_event_changed]
34 f_output.write(postamble)
35 logger.info(
"Changed e->mu in {} events!".format(n_events))
38 shutil.move(powheg_LHE_output,
"{}.e2mu_backup".format(powheg_LHE_output))
39 shutil.move(powheg_LHE_mu, powheg_LHE_output)