8 #ifndef Pythia8_HiddenValleyFragmentation_H 9 #define Pythia8_HiddenValleyFragmentation_H 11 #include "Pythia8/Basics.h" 12 #include "Pythia8/Event.h" 13 #include "Pythia8/FragmentationFlavZpT.h" 14 #include "Pythia8/FragmentationSystems.h" 15 #include "Pythia8/Info.h" 16 #include "Pythia8/MiniStringFragmentation.h" 17 #include "Pythia8/ParticleData.h" 18 #include "Pythia8/PythiaStdlib.h" 19 #include "Pythia8/Settings.h" 20 #include "Pythia8/StringFragmentation.h" 33 HVStringFlav() : separateFlav(), nFlav(), probFlav(), probDiquark(),
34 probVector(), probKeepEta1(), sumProbFlav(), probKeepLast(),
57 vector<double> probFlav;
58 double probDiquark, probVector, probKeepEta1, sumProbFlav, probKeepLast,
91 HVStringZ() : mqv2(), bmqv2(), rFactqv(), mhvMeson() {}
100 double zFrag(
int idOld,
int idNew = 0,
double mT2 = 1.)
override;
103 virtual double stopMass()
override {
return 1.5 * mhvMeson;}
104 virtual double stopNewFlav()
override {
return 2.0;}
105 virtual double stopSmear()
override {
return 0.2;}
110 double mqv2, bmqv2, rFactqv, mhvMeson;
125 hvOldSize(), hvNewSize(), idEnd1(), idEnd2(), mhvMeson(), mSys() {}
131 bool fragment(
Event& event);
146 bool doHVfrag, separateFlav;
147 int nFlav, hvOldSize, hvNewSize, idEnd1, idEnd2;
148 double mhvMeson, mhvMin[9], mSys;
149 vector<int> ihvParton;
169 bool extractHVevent(
Event& event);
175 bool collapseToMeson();
178 bool insertHVevent(
Event& event);
The HVStringFlav class is used to select HV-quark and HV-hadron flavours.
Definition: HiddenValleyFragmentation.h:28
HVStringZ()
Constructor.
Definition: HiddenValleyFragmentation.h:91
FlavContainer pick(FlavContainer &flavOld, double, double, bool) override
Pick a new flavour (including diquarks) given an incoming one.
Definition: HiddenValleyFragmentation.cc:70
virtual double stopMass() override
Parameters for stopping in the middle; for now hardcoded.
Definition: HiddenValleyFragmentation.h:103
Definition: PhysicsBase.h:27
void registerSubObject(PhysicsBase &pb)
Register a sub object that should have its information in sync with this.
Definition: PhysicsBase.cc:56
The Event class holds all info on the generated event.
Definition: Event.h:453
HVStringPT()
Constructor.
Definition: HiddenValleyFragmentation.h:72
The StringPT class is used to select select transverse momenta.
Definition: FragmentationFlavZpT.h:322
Definition: StringFragmentation.h:119
~HVStringPT()
Destructor.
Definition: HiddenValleyFragmentation.h:75
HVStringFlav()
Constructor.
Definition: HiddenValleyFragmentation.h:33
The StringZ class is used to sample the fragmentation function f(z).
Definition: FragmentationFlavZpT.h:264
int idLightestNeutralMeson() override
Lightest flavour-neutral meson.
Definition: HiddenValleyFragmentation.h:50
The HVStringZ class is used to sample the HV fragmentation function f(z).
Definition: HiddenValleyFragmentation.h:86
Definition: HiddenValleyFragmentation.h:119
int combine(FlavContainer &flav1, FlavContainer &flav2) override
Combine two flavours (including diquarks) to produce a hadron.
Definition: HiddenValleyFragmentation.cc:108
virtual void onInitInfoPtr() override
Definition: HiddenValleyFragmentation.h:135
The ColConfig class describes the colour configuration of the whole event.
Definition: FragmentationSystems.h:60
virtual ~HVStringZ()
Destructor.
Definition: HiddenValleyFragmentation.h:94
void init() override
Initialize data members.
Definition: HiddenValleyFragmentation.cc:21
The HVStringPT class is used to select select HV transverse momenta.
Definition: HiddenValleyFragmentation.h:67
Definition: FragmentationFlavZpT.h:41
~HVStringFlav()
Destructor.
Definition: HiddenValleyFragmentation.h:38
Header for classes to set beam momentum and interaction vertex spread.
Definition: Analysis.h:20
The StringFlav class is used to select quark and hadron flavours.
Definition: FragmentationFlavZpT.h:84
Definition: MiniStringFragmentation.h:30
HiddenValleyFragmentation()
Constructor.
Definition: HiddenValleyFragmentation.h:124