hej is hosted by Hepforge, IPPP Durham
HEJ 2.2.2
High energy resummation for hadron colliders
Loading...
Searching...
No Matches
HepMC3Interface.hh
Go to the documentation of this file.
1
8#pragma once
9
10#include <array>
11#include <cstddef>
12#include <memory>
13
14#include "HEJ/PDG_codes.hh"
15
16namespace HepMC3 {
17 class GenCrossSection;
18 class GenEvent;
19 class GenRunInfo;
20}
21
22namespace LHEF {
23 class HEPRUP;
24}
25
26namespace HEJ {
27 class Event;
29
39 public:
40 HepMC3Interface(LHEF::HEPRUP heprup);
42 HepMC3Interface & operator=(HepMC3Interface const & other) = default;
43 HepMC3Interface(HepMC3Interface const & other) = default;
45 HepMC3Interface(HepMC3Interface && other) = default;
53 HepMC3::GenEvent operator()(Event const & event, int weight_index = -1);
64 void set_central(HepMC3::GenEvent & out_ev, Event const & event,
65 int weight_index = -1);
66
68 std::shared_ptr<HepMC3::GenRunInfo> run_info(){
69 return run_info_;
70 }
71
73 void set_xs_scale(double scale);
74
75 protected:
81 HepMC3::GenEvent init_event(Event const & event) const;
82
83 private:
84 std::array<ParticleID,2> beam_particle_{};
85 std::array<double,2> beam_energy_{};
86 std::shared_ptr<HepMC3::GenRunInfo> run_info_;
87 std::size_t event_count_;
88 double tot_weight_;
89 double tot_weight2_;
90 double xs_scale_ = 1.;
91 std::shared_ptr<HepMC3::GenCrossSection> xs_;
92 };
93} // namespace HEJ
Contains the Particle IDs of all relevant SM particles.
An event with clustered jets.
Definition: Event.hh:51
This class converts the Events into HepMC3::GenEvents.
Definition: HepMC3Interface.hh:38
void set_central(HepMC3::GenEvent &out_ev, Event const &event, int weight_index=-1)
Sets the central value from event to out_ev.
std::shared_ptr< HepMC3::GenRunInfo > run_info()
Pointer to generic run informations.
Definition: HepMC3Interface.hh:68
HepMC3Interface & operator=(HepMC3Interface &&other)=default
void set_xs_scale(double scale)
Set the ratio (cross section) / (sum of event weights)
HepMC3Interface(HepMC3Interface &&other)=default
HepMC3Interface(HepMC3Interface const &other)=default
HepMC3::GenEvent init_event(Event const &event) const
initialise generic event infomrations (not central weights)
HepMC3::GenEvent operator()(Event const &event, int weight_index=-1)
main function to convert an event into HepMC3::GenEvent
HepMC3Interface & operator=(HepMC3Interface const &other)=default
HepMC3Interface(LHEF::HEPRUP heprup)
Main HEJ 2 Namespace.
Definition: mainpage.dox:1
Definition: HepMC3Interface.hh:16
Definition: Analysis.hh:14