12def cross_section_calculator(powheg_LHE_output):
13 """! Calculate the cross-section (mean event weight) of pre-generated Powheg events.
15 @param powheg_LHE_output Name of LHE file produced by PowhegBox.
17 @author James Robinson <james.robinson@cern.ch>
19 logger.info(
"Born-level suppression is enabled so the cross-section MUST be recalculated!")
21 sum_of_weights, n_events = 0., 0
22 for event_weight
in LHE.event_weight_iterator(powheg_LHE_output):
23 sum_of_weights += event_weight
30 logger.info(
"... sum of event weights is: {}".format(sum_of_weights))
31 logger.info(
"... number of events generated: {}".format(int(n_events)))
32 logger.info(
"... mean event weight: {}".format((sum_of_weights / n_events
if n_events != 0
else 0)))
33 logger.info(
"MetaData: cross-section (nb) = {:.3E}".format((sum_of_weights / (1000 * n_events)
if n_events != 0
else 0)))