// -*- C++ -*-
#include "Rivet/Analyses/MC_JetSplittings.hh"
#include "Rivet/Projections/FinalState.hh"
#include "Rivet/Projections/IdentifiedFinalState.hh"
#include "Rivet/Projections/FastJets.hh"
namespace Rivet {
/// Generic analysis looking at kt splitting scales of partons
class MC_QCD_PARTONS : public MC_JetSplittings {
public:
/// Constructor
MC_QCD_PARTONS()
: MC_JetSplittings("MC_QCD_PARTONS", 4, "Jets")
{ }
public:
/// @name Analysis methods
//@{
/// Book histograms and initialise projections before the run
void init() {
// Projections
IdentifiedFinalState partonfs;
for (int i=1; i<6; ++i) partonfs.acceptIdPair(i);
partonfs.acceptId(PID::GLUON);
declare(FastJets(partonfs, FastJets::KT, 0.6), "Jets");
MC_JetSplittings::init();
}
/// Perform the per-event analysis
void analyze(const Event& event) {
MC_JetSplittings::analyze(event);
}
/// Finalize
void finalize() {
MC_JetSplittings::finalize();
}
//@}
private:
/// @name Histograms
//@{
//@}
};
// The hook for the plugin system
RIVET_DECLARE_PLUGIN(MC_QCD_PARTONS);
}