hej is hosted by Hepforge, IPPP Durham
HEJ  2.1.4
High energy resummation for hadron colliders
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 
16 namespace HepMC3 {
17  class GenCrossSection;
18  class GenEvent;
19  class GenRunInfo;
20 }
21 
22 namespace LHEF {
23  class HEPRUP;
24 }
25 
26 namespace 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;
44  HepMC3Interface & operator=(HepMC3Interface && 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 
72  protected:
78  HepMC3::GenEvent init_event(Event const & event) const;
79 
80  private:
81  std::array<ParticleID,2> beam_particle_{};
82  std::array<double,2> beam_energy_{};
83  std::shared_ptr<HepMC3::GenRunInfo> run_info_;
84  std::size_t event_count_;
85  double tot_weight_;
86  double tot_weight2_;
87  std::shared_ptr<HepMC3::GenCrossSection> xs_;
88  };
89 } // namespace HEJ
Contains the Particle IDs of all relevant SM particles.
An event with clustered jets.
Definition: Event.hh:47
This class converts the Events into HepMC3::GenEvents.
Definition: HepMC3Interface.hh:38
std::shared_ptr< HepMC3::GenRunInfo > run_info()
Pointer to generic run informations.
Definition: HepMC3Interface.hh:68
void set_central(HepMC3::GenEvent &out_ev, Event const &event, int weight_index=-1)
Sets the central value from event to out_ev.
HepMC3Interface & operator=(HepMC3Interface &&other)=default
HepMC3Interface(HepMC3Interface &&other)=default
HepMC3Interface & operator=(HepMC3Interface const &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(LHEF::HEPRUP heprup)
typename HepMCVersion< V >::GenEvent GenEvent
Definition: HepMCInterface_common.hh:37
Main HEJ 2 Namespace.
Definition: mainpage.dox:1
Definition: HepMC3Interface.hh:16
Definition: Analysis.hh:14