Rivet analyses referenceMC_ZKTSPLITTINGSMonte Carlo validation observables for $Z[\ell^+ \, \ell^-]$ + jets productionExperiment: () Status: VALIDATED Authors:
Beams: * * Beam energies: ANY Run details:
Monte Carlo validation observables for $Z[\ell^+ \, \ell^-]$ + jets production Source code: MC_ZKTSPLITTINGS.cc 1// -*- C++ -*-
2#include "Rivet/Analyses/MC_KTSPLITTINGS_BASE.hh"
3#include "Rivet/Projections/DileptonFinder.hh"
4#include "Rivet/Projections/FastJets.hh"
5
6namespace Rivet {
7
8
9 /// @brief MC validation analysis for Z + jets events
10 class MC_ZKTSPLITTINGS : public MC_KTSPLITTINGS_BASE {
11 public:
12
13 /// Default constructor
14 MC_ZKTSPLITTINGS()
15 : MC_KTSPLITTINGS_BASE("MC_ZKTSPLITTINGS", 4, "Jets")
16 { }
17
18
19 /// @name Analysis methods
20 /// @{
21
22 /// Book histograms
23 void init() {
24 _dR = (getOption("SCHEME") == "BARE") ? 0.0 : 0.2;
25 _lepton = (getOption("LMODE") == "MU") ? PID::MUON : PID::ELECTRON;
26
27 // set FS cuts from input options
28 const double etacut = getOption<double>("ABSETALMAX", 3.5);
29 const double ptcut = getOption<double>("PTLMIN", 25.);
30
31 Cut cut = Cuts::abseta < etacut && Cuts::pT > ptcut*GeV;
32 DileptonFinder zfinder(91.2*GeV, _dR, cut && Cuts::abspid == _lepton, Cuts::massIn(65*GeV, 115*GeV));
33 declare(zfinder, "DileptonFinder");
34
35 // set clustering radius from input option
36 const double R = getOption<double>("R", 0.6);
37
38 FastJets jetpro(zfinder.remainingFinalState(), JetAlg::KT, R);
39 declare(jetpro, "Jets");
40
41 MC_KTSPLITTINGS_BASE::init();
42 }
43
44
45
46 /// Do the analysis
47 void analyze(const Event & e) {
48 const DileptonFinder& zfinder = apply<DileptonFinder>(e, "DileptonFinder");
49 if (zfinder.bosons().size() != 1) vetoEvent;
50
51 MC_KTSPLITTINGS_BASE::analyze(e);
52 }
53
54
55 /// Finalize
56 void finalize() {
57 MC_KTSPLITTINGS_BASE::finalize();
58 }
59
60 /// @}
61
62
63 protected:
64
65 /// @name Parameters for specialised e/mu and dressed/bare subclassing
66 /// @{
67 double _dR;
68 PdgId _lepton;
69 /// @}
70
71 };
72
73
74 RIVET_DECLARE_PLUGIN(MC_ZKTSPLITTINGS);
75
76}
|