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
|