rivet is hosted by Hepforge, IPPP Durham

Rivet analyses reference

MC_WWKTSPLITTINGS

Monte Carlo validation observables for $W^+[e^+ \, \nu]W^-[\mu^- \, \nu]$ + jets production
Experiment: ()
Status: VALIDATED
Authors:
  • Frank Siegert
No references listed
Beams: * *
Beam energies: ANY
Run details:
  • $WW$ + jets analysis.

Monte Carlo validation observables for $W^+[e^+ \, \nu]W^-[\mu^- \, \nu]$ + jets production

Source code: MC_WWKTSPLITTINGS.cc
 1// -*- C++ -*-
 2#include "Rivet/Analyses/MC_JetSplittings.hh"
 3#include "Rivet/Projections/WFinder.hh"
 4#include "Rivet/Projections/FastJets.hh"
 5#include "Rivet/Projections/VetoedFinalState.hh"
 6
 7namespace Rivet {
 8
 9
10  /// @brief MC validation analysis for W^+[enu]W^-[munu] + jets events
11  class MC_WWKTSPLITTINGS : public MC_JetSplittings {
12  public:
13
14    /// Default constructor
15    MC_WWKTSPLITTINGS()
16      : MC_JetSplittings("MC_WWKTSPLITTINGS", 4, "Jets")
17    {    }
18
19
20    /// @name Analysis methods
21    //@{
22
23    /// Book histograms
24    void init() {
25      FinalState fs;
26      WFinder wenufinder(fs, Cuts::abseta < 3.5 && Cuts::pT > 25*GeV, PID::ELECTRON, 60.0*GeV, 100.0*GeV, 25.0*GeV, 0.2);
27      declare(wenufinder, "WenuFinder");
28
29      VetoedFinalState wmnuinput;
30      wmnuinput.addVetoOnThisFinalState(wenufinder);
31      WFinder wmnufinder(wmnuinput, Cuts::abseta < 3.5 && Cuts::pT > 25*GeV, PID::MUON, 60.0*GeV, 100.0*GeV, 25.0*GeV, 0.2);
32      declare(wmnufinder, "WmnuFinder");
33
34      VetoedFinalState jetinput;
35      jetinput
36          .addVetoOnThisFinalState(wenufinder)
37          .addVetoOnThisFinalState(wmnufinder);
38      FastJets jetpro(jetinput, FastJets::KT, 0.6);
39      declare(jetpro, "Jets");
40
41      MC_JetSplittings::init();
42    }
43
44
45
46    /// Do the analysis
47    void analyze(const Event & e) {
48      const WFinder& wenufinder = apply<WFinder>(e, "WenuFinder");
49      if (wenufinder.bosons().size()!=1) {
50        vetoEvent;
51      }
52
53      const WFinder& wmnufinder = apply<WFinder>(e, "WmnuFinder");
54      if (wmnufinder.bosons().size()!=1) {
55        vetoEvent;
56      }
57
58      MC_JetSplittings::analyze(e);
59    }
60
61
62    /// Finalize
63    void finalize() {
64      MC_JetSplittings::finalize();
65    }
66
67    //@}
68
69  };
70
71
72
73  // The hook for the plugin system
74  RIVET_DECLARE_PLUGIN(MC_WWKTSPLITTINGS);
75
76}