rivet is hosted by Hepforge, IPPP Durham

Rivet analyses reference

MC_MET

Monte Carlo validation observables for missing transverse energy
Experiment: ()
Status: VALIDATED
Authors:
  • Andy Buckley
No references listed
Beams: * *
Beam energies: ANY
Run details:
  • Any event type, with or without "real MET".

Reports vector and scalar transverse momentum sums, based on total or $|\eta| < 5$ detector acceptances.

Source code: MC_MET.cc
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
// -*- C++ -*-
#include "Rivet/Analysis.hh"
#include "Rivet/Projections/FinalState.hh"
#include "Rivet/Projections/MissingMomentum.hh"

namespace Rivet {



  /// @brief MC validation analysis for truth-MET measurement
  /// @todo Add plots for MET based on prompt invisibles
  class MC_MET : public Analysis {
  public:

    MC_MET()
      : Analysis("MC_MET")
    {    }


    void init() {
      FinalState inclfs;
      FinalState calofs(Cuts::abseta < 5);
      declare(MissingMomentum(inclfs), "InclMET");
      declare(MissingMomentum(calofs), "CaloMET");

      _h_met_incl = bookHisto1D("met_incl", logspace(30, 1, 150));
      _h_met_calo = bookHisto1D("met_calo", logspace(30, 1, 150));
      _h_set_incl = bookHisto1D("set_incl", logspace(30, 1, sqrtS()/GeV/2));
      _h_set_calo = bookHisto1D("set_calo", logspace(30, 1, sqrtS()/GeV/2));
    }


    void analyze(const Event& event) {
      const double weight = event.weight();

      const MissingMomentum& mmincl = apply<MissingMomentum>(event, "InclMET");
      _h_met_incl->fill(mmincl.met()/GeV, weight);
      _h_set_incl->fill(mmincl.set()/GeV, weight);

      const MissingMomentum& mmcalo = apply<MissingMomentum>(event, "CaloMET");
      _h_met_calo->fill(mmcalo.met()/GeV, weight);
      _h_set_calo->fill(mmcalo.set()/GeV, weight);

    }


    void finalize() {
      normalize({_h_met_incl, _h_set_incl});
      normalize({_h_met_calo, _h_set_calo});
    }


  private:

    Histo1DPtr _h_met_incl, _h_set_incl;
    Histo1DPtr _h_met_calo, _h_set_calo;

  };



  // The hook for the plugin system
  DECLARE_RIVET_PLUGIN(MC_MET);


}