hej is hosted by Hepforge, IPPP Durham
HEJ 2.2.2
High energy resummation for hadron colliders
Loading...
Searching...
No Matches
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
18namespace YAML {
19 class Node;
20}
21
22namespace HEJ {
29 class RivetAnalysis: public Analysis {
30 public:
32 static std::unique_ptr<Analysis> create(
33 YAML::Node const & config, LHEF::HEPRUP const & heprup);
34
36
44 RivetAnalysis(YAML::Node const & config, LHEF::HEPRUP heprup);
45 ~RivetAnalysis() override;
47 void fill(Event const & event, Event const & /*unused*/) override;
49 bool pass_cuts(Event const & /*unused*/, Event const & /*unused*/
50 ) override { return true; }
51 void set_xs_scale(double scale) override;
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:51
Class representing a Rivet analysis.
Definition: RivetAnalysis.hh:29
static std::unique_ptr< Analysis > create(YAML::Node const &config, LHEF::HEPRUP const &heprup)
Create RivetAnalysis.
bool pass_cuts(Event const &, Event const &) override
no additional cuts are applied
Definition: RivetAnalysis.hh:49
RivetAnalysis(YAML::Node const &config, LHEF::HEPRUP heprup)
Constructor.
void set_xs_scale(double scale) override
Set the ratio (cross section) / (sum of event weights)
void finalise() override
Finalise analysis.
~RivetAnalysis() override
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:15
Analysis base class.
Definition: Analysis.hh:27