Rivet analyses referenceMC_WKTSPLITTINGSMonte Carlo validation observables for $k_\perp$ splitting scales in $W[\ell \, \nu]$ + jets eventsExperiment: () Status: VALIDATED Authors:
Beams: * * Beam energies: ANY Run details:
Monte Carlo validation observables for $k_\perp$ splitting scales in $W[\ell \, \nu]$ + jets events 60 GeV $<m_W<$ 100 GeV cut applied. Source code: MC_WKTSPLITTINGS.cc 1// -*- C++ -*-
2#include "Rivet/Analyses/MC_JetSplittings.hh"
3#include "Rivet/Projections/WFinder.hh"
4#include "Rivet/Projections/FastJets.hh"
5
6namespace Rivet {
7
8
9
10
11 /// @brief MC validation analysis for kt splitting scales in W + jets events
12 class MC_WKTSPLITTINGS : public MC_JetSplittings {
13 public:
14
15 /// Default constructor
16 MC_WKTSPLITTINGS()
17 : MC_JetSplittings("MC_WKTSPLITTINGS", 4, "Jets")
18 { }
19
20
21 /// @name Analysis methods
22 //@{
23
24 /// Book histograms
25 void init() {
26 _dR=0.2;
27 if (getOption("SCHEME") == "BARE") _dR = 0.0;
28 _lepton=PID::ELECTRON;
29 if (getOption("LMODE") == "MU") _lepton = PID::MUON;
30
31 FinalState fs;
32 WFinder wfinder(fs, Cuts::abseta < 3.5 && Cuts::pT > 25*GeV, _lepton, 60.0*GeV, 100.0*GeV, 25.0*GeV, _dR);
33 declare(wfinder, "WFinder");
34 FastJets jetpro(wfinder.remainingFinalState(), FastJets::KT, 0.6);
35 declare(jetpro, "Jets");
36
37 MC_JetSplittings::init();
38 }
39
40
41 /// Do the analysis
42 void analyze(const Event & e) {
43
44 const WFinder& wfinder = apply<WFinder>(e, "WFinder");
45 if (wfinder.bosons().size() != 1) {
46 vetoEvent;
47 }
48
49 MC_JetSplittings::analyze(e);
50 }
51
52
53 /// Finalize
54 void finalize() {
55 MC_JetSplittings::finalize();
56 }
57
58 //@}
59
60 protected:
61
62 /// @name Parameters for specialised e/mu and dressed/bare subclassing
63 //@{
64 double _dR;
65 PdgId _lepton;
66 //@}
67
68
69 };
70
71 // The hook for the plugin system
72 RIVET_DECLARE_PLUGIN(MC_WKTSPLITTINGS);
73
74}
|