9 #ifndef Pythia8_MiniStringFragmentation_H
10 #define Pythia8_MiniStringFragmentation_H
12 #include "Pythia8/Basics.h"
13 #include "Pythia8/Event.h"
14 #include "Pythia8/FragmentationFlavZpT.h"
15 #include "Pythia8/FragmentationSystems.h"
16 #include "Pythia8/Info.h"
17 #include "Pythia8/ParticleData.h"
18 #include "Pythia8/PythiaStdlib.h"
19 #include "Pythia8/PhysicsBase.h"
20 #include "Pythia8/Settings.h"
30 class MiniStringFragmentation :
public PhysicsBase {
35 MiniStringFragmentation() : flavSelPtr(), pTSelPtr(), zSelPtr(),
36 setVertices(), constantTau(), smearOn(), nTryMass(), hadronVertex(),
37 bLund(), xySmear(), kappaVtx(), mc(), mb(), isClosed(), mSum(), m2Sum() {}
40 void init(StringFlav* flavSelPtrIn, StringPT* pTSelPtrIn,
44 bool fragment(
int iSub, ColConfig& colConfig,
Event& event,
45 bool isDiff =
false,
bool systemRecoil =
true);
50 static const int NTRYDIFFRACTIVE, NTRYLASTRESORT, NTRYFLAV;
53 StringFlav* flavSelPtr;
58 bool setVertices, constantTau, smearOn;
59 int nTryMass, hadronVertex;
60 double bLund, xySmear, kappaVtx, mc, mb;
67 FlavContainer flav1, flav2;
70 vector<StringVertex> ministringVertices;
73 bool ministring2two(
int nTry,
Event& event,
bool findLowMass =
false);
76 bool ministring2one(
int iSub, ColConfig& colConfig,
Event& event,
77 bool findLowMass =
false,
bool systemRecoil =
true);
80 void setHadronVertices(
Event& event, StringRegion& region,
81 int iFirst,
int iLast);
89 #endif // Pythia8_MiniStringFragmentation_H