hej is hosted by Hepforge, IPPP Durham
HEJ  2.1.4
High energy resummation for hadron colliders
RivetAnalysis.hh
Go to the documentation of this file.
1 
8 #pragma once
9 
10 #include <memory>
11 #include <string>
12 #include <vector>
13 
14 #include "LHEF/LHEF.h"
15 
16 #include "HEJ/Analysis.hh"
17 #include "HEJ/optional.hh"
18 
19 namespace YAML {
20  class Node;
21 }
22 
23 namespace HEJ {
30  class RivetAnalysis: public Analysis {
31  public:
33  static std::unique_ptr<Analysis> create(
34  YAML::Node const & config, LHEF::HEPRUP const & heprup);
35 
37 
45  RivetAnalysis(YAML::Node const & config, LHEF::HEPRUP heprup);
46  ~RivetAnalysis() override;
48  void fill(Event const & event, Event const & /*unused*/) override;
50  bool pass_cuts(Event const & /*unused*/, Event const & /*unused*/
51  ) override { return true; }
52  void finalise() override;
53 
54  private:
55  std::vector<std::string> analyses_names_;
56  std::string output_name_;
57  LHEF::HEPRUP heprup_;
58 
60  struct rivet_info;
61  std::vector<rivet_info> rivet_runs_;
62 
68  void init(Event const & event);
69  bool first_event_;
70  };
71 } // namespace HEJ
Header file for the Analysis interface.
An event with clustered jets.
Definition: Event.hh:47
Class representing a Rivet analysis.
Definition: RivetAnalysis.hh:30
bool pass_cuts(Event const &, Event const &) override
no additional cuts are applied
Definition: RivetAnalysis.hh:50
RivetAnalysis(YAML::Node const &config, LHEF::HEPRUP heprup)
Constructor.
void finalise() override
Finalise analysis.
~RivetAnalysis() override
static std::unique_ptr< Analysis > create(YAML::Node const &config, LHEF::HEPRUP const &heprup)
Create RivetAnalysis.
void fill(Event const &event, Event const &) override
Pass an event to the underlying Rivet analysis.
Main HEJ 2 Namespace.
Definition: mainpage.dox:1
Definition: EmptyAnalysis.hh:14
Defines the optional type.
Analysis base class.
Definition: Analysis.hh:27