Py8toJetInput

Py8toJetInputHEPEVT

partonTypes

Macros

Line Code
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
#ifndef gen_Py8toJetInput_h
#define gen_Py8toJetInput_h

#include "Pythia8Plugins/FastJet3.h"  // Py8 overhead on top of FastJets package
#include "Pythia8/Event.h"

namespace lhef {

  class LHEEvent;

}

class Py8toJetInput {
public:
  typedef Pythia8::Event Event;
  typedef Pythia8::Particle Particle;

  Py8toJetInput() : fJetEtaMax(10.) {}
  virtual ~Py8toJetInput() {}

  virtual const std::vector<fastjet::PseudoJet> fillJetAlgoInput(const Event&,
                                                                 const Event&,
                                                                 const lhef::LHEEvent* lhee = nullptr,
                                                                 const std::vector<int>* partonList = nullptr);
  void setJetEtaMax(double max) {
    fJetEtaMax = max;
    return;
  }

protected:
  enum partonTypes { ID_TOP = 6, ID_GLUON = 21, ID_PHOTON = 22 };
  double fJetEtaMax;

  int getAncestor(int, const Event&, const Event&);

  std::vector<fastjet::PseudoJet> fJetInput;
};

class Py8toJetInputHEPEVT : public Py8toJetInput {
public:
  Py8toJetInputHEPEVT() {}
  ~Py8toJetInputHEPEVT() override {}

  const std::vector<fastjet::PseudoJet> fillJetAlgoInput(const Event&,
                                                         const Event&,
                                                         const lhef::LHEEvent*,
                                                         const std::vector<int>* partonList = nullptr) override;
};

#endif