File indexing completed on 2024-04-06 12:13:57
0001 #ifndef gen_Py8toJetInput_h
0002 #define gen_Py8toJetInput_h
0003
0004 #include "Pythia8Plugins/FastJet3.h" // Py8 overhead on top of FastJets package
0005 #include "Pythia8/Event.h"
0006
0007 namespace lhef {
0008
0009 class LHEEvent;
0010
0011 }
0012
0013 class Py8toJetInput {
0014 public:
0015 typedef Pythia8::Event Event;
0016 typedef Pythia8::Particle Particle;
0017
0018 Py8toJetInput() : fJetEtaMax(10.) {}
0019 virtual ~Py8toJetInput() {}
0020
0021 virtual const std::vector<fastjet::PseudoJet> fillJetAlgoInput(const Event&,
0022 const Event&,
0023 const lhef::LHEEvent* lhee = nullptr,
0024 const std::vector<int>* partonList = nullptr);
0025 void setJetEtaMax(double max) {
0026 fJetEtaMax = max;
0027 return;
0028 }
0029
0030 protected:
0031 enum partonTypes { ID_TOP = 6, ID_GLUON = 21, ID_PHOTON = 22 };
0032 double fJetEtaMax;
0033
0034 int getAncestor(int, const Event&, const Event&);
0035
0036 std::vector<fastjet::PseudoJet> fJetInput;
0037 };
0038
0039 class Py8toJetInputHEPEVT : public Py8toJetInput {
0040 public:
0041 Py8toJetInputHEPEVT() {}
0042 ~Py8toJetInputHEPEVT() override {}
0043
0044 const std::vector<fastjet::PseudoJet> fillJetAlgoInput(const Event&,
0045 const Event&,
0046 const lhef::LHEEvent*,
0047 const std::vector<int>* partonList = nullptr) override;
0048 };
0049
0050 #endif