CMS 3D CMS Logo

Py8toJetInput.h
Go to the documentation of this file.
1 #ifndef gen_Py8toJetInput_h
2 #define gen_Py8toJetInput_h
3 
4 #include "Pythia8Plugins/FastJet3.h" // Py8 overhead on top of FastJets package
5 #include "Pythia8/Event.h"
6 
7 namespace lhef {
8 
9  class LHEEvent;
10 
11 }
12 
14 public:
15  typedef Pythia8::Event Event;
16  typedef Pythia8::Particle Particle;
17 
19  virtual ~Py8toJetInput() {}
20 
21  virtual const std::vector<fastjet::PseudoJet> fillJetAlgoInput(const Event&,
22  const Event&,
23  const lhef::LHEEvent* lhee = nullptr,
24  const std::vector<int>* partonList = nullptr);
25  void setJetEtaMax(double max) {
26  fJetEtaMax = max;
27  return;
28  }
29 
30 protected:
31  enum partonTypes { ID_TOP = 6, ID_GLUON = 21, ID_PHOTON = 22 };
32  double fJetEtaMax;
33 
34  int getAncestor(int, const Event&, const Event&);
35 
36  std::vector<fastjet::PseudoJet> fJetInput;
37 };
38 
40 public:
42  ~Py8toJetInputHEPEVT() override {}
43 
44  const std::vector<fastjet::PseudoJet> fillJetAlgoInput(const Event&,
45  const Event&,
46  const lhef::LHEEvent*,
47  const std::vector<int>* partonList = nullptr) override;
48 };
49 
50 #endif
void setJetEtaMax(double max)
Definition: Py8toJetInput.h:25
virtual const std::vector< fastjet::PseudoJet > fillJetAlgoInput(const Event &, const Event &, const lhef::LHEEvent *lhee=nullptr, const std::vector< int > *partonList=nullptr)
Definition: Py8toJetInput.cc:7
const std::vector< fastjet::PseudoJet > fillJetAlgoInput(const Event &, const Event &, const lhef::LHEEvent *, const std::vector< int > *partonList=nullptr) override
virtual ~Py8toJetInput()
Definition: Py8toJetInput.h:19
int getAncestor(int, const Event &, const Event &)
Pythia8::Particle Particle
Definition: Py8toJetInput.h:16
~Py8toJetInputHEPEVT() override
Definition: Py8toJetInput.h:42
double fJetEtaMax
Definition: Py8toJetInput.h:32
Pythia8::Event Event
Definition: Py8toJetInput.h:15
std::vector< fastjet::PseudoJet > fJetInput
Definition: Py8toJetInput.h:36