rivet is hosted by Hepforge, IPPP Durham

Rivet analyses reference

MC_ELECTRONS

Monte Carlo validation observables for electron production
Experiment: ()
Status: VALIDATED
Authors:
  • Andy Buckley
No references listed
Beams: * *
Beam energies: ANY
    No run details listed

Any electrons with $p_\perp > 0.5$ GeV are found and projected onto many different observables. To restrict attention to direct/prompt electrons only, use the DIRECT option. To use lepton dressing, use the DRESSED option; this only makes sense for prompt leptons, and is automatically activated if DIRECT=1 is used, hence the main use of DRESSED is to *disable* lepton dressing in DIRECT=1 mode.

Source code: MC_ELECTRONS.cc
 1// -*- C++ -*-
 2#include "Rivet/Analyses/MC_PARTICLES_BASE.hh"
 3#include "Rivet/Projections/PromptFinalState.hh"
 4#include "Rivet/Projections/LeptonFinder.hh"
 5
 6namespace Rivet {
 7
 8
 9  /// @brief MC validation analysis for electrons
10  class MC_ELECTRONS : public MC_PARTICLES_BASE {
11  public:
12
13    MC_ELECTRONS()
14      : MC_PARTICLES_BASE("MC_ELECTRONS", 2, "electron")
15    {    }
16
17
18    void init() {
19      const bool direct = getOption<bool>("DIRECT", false);
20      const bool dressed = getOption<bool>("DRESSED", direct);
21      MSG_DEBUG("Direct-only: " << direct << ", dressed: " << dressed);
22      FinalState electrons(Cuts::abspid == PID::ELECTRON);
23      if (!direct) {
24        declare(electrons, "Electrons");
25      } else if (!dressed) {
26        declare(PromptFinalState(electrons), "Electrons");
27      } else {
28        LeptonFinder dleps(electrons, FinalState(Cuts::abspid == PID::PHOTON), 0.1);
29        declare(dleps, "Electrons");
30      }
31
32      MC_PARTICLES_BASE::init();
33    }
34
35
36    void analyze(const Event& event) {
37      const Particles es = apply<ParticleFinder>(event, "Electrons").particlesByPt(Cuts::pT > 0.5*GeV);
38      MC_PARTICLES_BASE::_analyze(event, es);
39    }
40
41
42    void finalize() {
43      MC_PARTICLES_BASE::finalize();
44    }
45
46  };
47
48
49
50  RIVET_DECLARE_PLUGIN(MC_ELECTRONS);
51
52}