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" 52 virtual bool isAvailable(
const vector<Particle>& ) {
return false;}
56 virtual double calcME2(
const vector<Particle>& ) {
return 0;}
63 virtual void setHelicityMode(
int helModeIn) {
65 virtual void setIncludeSymmetryFac(
bool doInclIn) {
67 virtual void setIncludeHelicityAvgFac(
bool doInclIn) {
68 inclHelAvgFac = doInclIn;}
69 virtual void setIncludeColourAvgFac(
bool doInclIn) {
70 inclColAvgFac = doInclIn;}
74 virtual int helicityMode() {
return helMode;}
75 virtual bool includeSymmetryFac() {
return inclSymFac;}
76 virtual bool includeHelicityAvgFac() {
return inclHelAvgFac;}
77 virtual bool includeColourAvgFac() {
return inclColAvgFac;}
78 virtual map<vector<int>,
double> getHelicityAmplitudes() {
return me2hel;}
83 void fillIds(
const Event& event, vector<int>& in, vector<int>& out,
86 void fillMoms(
const Event& event, vector<Vec4>& p,
int iBeg = 3)
const;
88 void fillCols(
const Event& event, vector<int>& colors,
int iBeg = 3)
const;
90 vector<vector<double> >
fillMoms(
const Event& event,
int iBeg = 3)
const;
102 bool inclSymFac{
false}, inclHelAvgFac{
false}, inclColAvgFac{
false};
131 mePluginPtr = mePluginPtrIn;
136 bool selectHelicities(vector<Particle>& state,
bool force);
141 ExternalMEsPtr mePluginPtr;
int colMode
Colour mode (0: strict LC, 1: LC, 2: LC sum, 3: FC).
Definition: ExternalMEs.h:93
virtual void initPtrs(Info *infoPtrIn)
Initialisers for pointers.
Definition: ExternalMEs.cc:22
virtual double calcME2(const vector< Particle > &)
Definition: ExternalMEs.h:56
int helMode
Helicity mode (0: explicit helicity sum, 1: implicit helicity sum).
Definition: ExternalMEs.h:99
The Event class holds all info on the generated event.
Definition: Event.h:408
A helicity sampler using external matrix elements.
Definition: ExternalMEs.h:122
virtual bool isAvailable(vector< int >, vector< int >)
Definition: ExternalMEs.h:47
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:61
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:102
map< vector< int >, double > me2hel
Saved list of helicity components for last ME evaluated.
Definition: ExternalMEs.h:96
virtual int colourMode()
Getters.
Definition: ExternalMEs.h:73
HelicitySampler()
Constructor, destructor, and assignment.
Definition: ExternalMEs.h:126
Definition: SusyLesHouches.h:393
Base class for external matrix-element interfaces.
Definition: ExternalMEs.h:30
Definition: StandardModel.h:142
virtual bool init(Info *)
Initialisers.
Definition: ExternalMEs.h:42
void initPtrs(ExternalMEsPtr mePluginPtrIn, Rndm *rndmPtrIn)
Initialise pointers to required Pythia objects.
Definition: ExternalMEs.h:130
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
Info * infoPtr
Pointers to VINCIA and Pythia 8 objects.
Definition: ExternalMEs.h:105
This class holds a map of all ParticleDataEntries.
Definition: ParticleData.h:423
bool isInitPtr
Is initialized.
Definition: ExternalMEs.h:114
Definition: Settings.h:196