10 #ifndef Pythia8_ExternalMEs_H 11 #define Pythia8_ExternalMEs_H 14 #include "Pythia8/Basics.h" 15 #include "Pythia8/PythiaComplex.h" 16 #include "Pythia8/Event.h" 17 #include "Pythia8/Info.h" 18 #include "Pythia8/ParticleData.h" 19 #include "Pythia8/PythiaStdlib.h" 20 #include "Pythia8/Settings.h" 21 #include "Pythia8/StandardModel.h" 22 #include "Pythia8/SusyLesHouches.h" 42 virtual bool init() {
return false;}
43 virtual bool initVincia(
Info* ) {
return false;}
44 virtual bool initDire(
Info* ,
string ) {
return false;}
54 virtual bool isAvailable(
const vector<Particle>& ) {
return false;}
58 virtual double calcME2(
const vector<Particle>& ) {
return 0;}
65 virtual void setHelicityMode(
int helModeIn) {
67 virtual void setIncludeSymmetryFac(
bool doInclIn) {
69 virtual void setIncludeHelicityAvgFac(
bool doInclIn) {
70 inclHelAvgFac = doInclIn;}
71 virtual void setIncludeColourAvgFac(
bool doInclIn) {
72 inclColAvgFac = doInclIn;}
76 virtual int helicityMode() {
return helMode;}
77 virtual bool includeSymmetryFac() {
return inclSymFac;}
78 virtual bool includeHelicityAvgFac() {
return inclHelAvgFac;}
79 virtual bool includeColourAvgFac() {
return inclColAvgFac;}
80 virtual map<vector<int>,
double> getHelicityAmplitudes() {
return me2hel;}
85 void fillIds(
const Event& event, vector<int>& in, vector<int>& out,
88 void fillMoms(
const Event& event, vector<Vec4>& p,
int iBeg = 3)
const;
90 void fillCols(
const Event& event, vector<int>& colors,
int iBeg = 3)
const;
92 vector<vector<double> >
fillMoms(
const Event& event,
int iBeg = 3)
const;
104 bool inclSymFac{
false}, inclHelAvgFac{
false}, inclColAvgFac{
false};
133 mePluginPtr = mePluginPtrIn;
138 bool selectHelicities(vector<Particle>& state,
bool force);
143 ExternalMEsPtr mePluginPtr;
int colMode
Colour mode (0: strict LC, 1: LC, 2: LC sum, 3: FC).
Definition: ExternalMEs.h:95
virtual void initPtrs(Info *infoPtrIn)
Initialisers for pointers.
Definition: ExternalMEs.cc:22
virtual double calcME2(const vector< Particle > &)
Definition: ExternalMEs.h:58
int helMode
Helicity mode (0: explicit helicity sum, 1: implicit helicity sum).
Definition: ExternalMEs.h:101
The Event class holds all info on the generated event.
Definition: Event.h:453
A helicity sampler using external matrix elements.
Definition: ExternalMEs.h:124
virtual bool isAvailable(vector< int >, vector< int >)
Definition: ExternalMEs.h:49
ExternalMEs()=default
Destructor.
void fillCols(const Event &event, vector< int > &colors, int iBeg=3) const
Fill a vector of colors, from an event, starting from entry i = iBeg.
Definition: ExternalMEs.cc:60
virtual void setColourMode(int colModeIn)
Setters.
Definition: ExternalMEs.h:63
void fillMoms(const Event &event, vector< Vec4 > &p, int iBeg=3) const
Fill a vector of momenta, from an event, starting from entry i = iBeg.
Definition: ExternalMEs.cc:50
bool inclSymFac
Symmetry and averaging factors.
Definition: ExternalMEs.h:104
map< vector< int >, double > me2hel
Saved list of helicity components for last ME evaluated.
Definition: ExternalMEs.h:98
virtual int colourMode()
Getters.
Definition: ExternalMEs.h:75
HelicitySampler()
Constructor, destructor, and assignment.
Definition: ExternalMEs.h:128
Definition: SusyLesHouches.h:393
Base class for external matrix-element interfaces.
Definition: ExternalMEs.h:30
Definition: StandardModel.h:135
void initPtrs(ExternalMEsPtr mePluginPtrIn, Rndm *rndmPtrIn)
Initialise pointers to required Pythia objects.
Definition: ExternalMEs.h:132
void fillIds(const Event &event, vector< int > &in, vector< int > &out, int iBeg=3) const
Fill a vector of IDs, from an event, starting from entry i = iBeg.
Definition: ExternalMEs.cc:37
Header for classes to set beam momentum and interaction vertex spread.
Definition: Analysis.h:20
virtual bool init()
Initialisers.
Definition: ExternalMEs.h:42
Info * infoPtr
Pointers to VINCIA and Pythia 8 objects.
Definition: ExternalMEs.h:107
This class holds a map of all ParticleDataEntries.
Definition: ParticleData.h:422
bool isInitPtr
Is initialized.
Definition: ExternalMEs.h:116
Definition: Settings.h:195