11 #define DIRE_VERSION "2.002" 14 #include "Pythia8/DireSplittingLibrary.h" 15 #include "Pythia8/DireMerging.h" 16 #include "Pythia8/DireTimes.h" 17 #include "Pythia8/DireSpace.h" 18 #include "Pythia8/DireWeightContainer.h" 19 #include "Pythia8/DireHooks.h" 22 #include "Pythia8/Info.h" 23 #include "Pythia8/Settings.h" 24 #include "Pythia8/ParticleData.h" 25 #include "Pythia8/Basics.h" 26 #include "Pythia8/PartonSystems.h" 27 #include "Pythia8/UserHooks.h" 28 #include "Pythia8/MergingHooks.h" 29 #include "Pythia8/PartonVertex.h" 30 #include "Pythia8/StandardModel.h" 31 #include "Pythia8/ShowerModel.h" 44 Dire() : weightsPtr(
nullptr), timesPtr(
nullptr), timesDecPtr(
nullptr),
45 spacePtr(
nullptr), splittings(
nullptr), hooksPtr(
nullptr),
46 mergingPtr(
nullptr), hardProcessPtr(
nullptr), mergingHooksPtr(
nullptr),
47 hasOwnWeights(
false), hasOwnTimes(
false), hasOwnTimesDec(
false),
48 hasOwnSpace(
false), hasOwnSplittings(
false), hasOwnHooks(
false),
49 hasUserHooks(
false), hasOwnHardProcess(
false),
50 hasOwnMergingHooks(
false), initNewSettings(
false), isInit(
false),
53 Dire( MergingHooksPtr mergingHooksPtrIn, PartonVertexPtr partonVertexPtrIn)
54 : pythiaMergingHooksPtr(mergingHooksPtrIn),
55 partonVertexPtr(partonVertexPtrIn), weightsPtr(
nullptr),
56 timesPtr(
nullptr), timesDecPtr(
nullptr), spacePtr(
nullptr),
57 splittings(
nullptr), hooksPtr(
nullptr),
59 hasOwnWeights(
false), hasOwnTimes(
false), hasOwnTimesDec(
false),
60 hasOwnSpace(
false), hasOwnSplittings(
false), hasOwnHooks(
false),
61 hasUserHooks(
false), hasOwnHardProcess(
false),
62 hasOwnMergingHooks(
false), initNewSettings(
false), isInit(
false),
66 if (hasOwnWeights)
delete weightsPtr;
67 if (hasOwnSplittings)
delete splittings;
68 if (hasOwnHardProcess)
delete hardProcessPtr;
82 if (status == INCOMPLETE)
return;
100 if (mergingHooksPtr) {
122 TimeShowerPtr getTimeDecShower()
const override {
return timesDecPtr; }
123 SpaceShowerPtr getSpaceShower()
const override {
return spacePtr; }
124 MergingHooksPtr getMergingHooks()
const override {
return mergingHooksPtr; }
125 MergingPtr getMerging()
const override {
return mergingPtr; }
127 MergingHooksPtr pythiaMergingHooksPtr;
128 PartonVertexPtr partonVertexPtr;
131 shared_ptr<DireTimes> timesPtr;
132 shared_ptr<DireTimes> timesDecPtr;
133 shared_ptr<DireSpace> spacePtr;
142 shared_ptr<DireMergingHooks> mergingHooksPtr;
144 bool hasOwnWeights, hasOwnTimes, hasOwnTimesDec, hasOwnSpace,
145 hasOwnSplittings, hasOwnHooks, hasUserHooks,
146 hasOwnHardProcess, hasOwnMergingHooks;
147 bool initNewSettings, isInit, isInitShower, printBannerSave;
shared_ptr< DireMerging > mergingPtr
Pointer to Dire merging objects.
Definition: Dire.h:140
Definition: DireMergingHooks.h:35
double getShowerWeight(string valKey="base")
Function to return weight of the shower evolution.
Definition: DireWeightContainer.h:156
bool initAfterBeams() override
bool Dire::init(BeamParticle* beamA, BeamParticle* beamB) {
Definition: Dire.cc:248
void registerSubObject(PhysicsBase &pb)
Register a sub object that should have its information in sync with this.
Definition: PhysicsBase.cc:56
Definition: BeamParticle.h:133
Definition: Weights.h:394
void onEndEvent(PhysicsBase::Status status) override
Definition: Dire.h:80
bool init(MergingPtr, MergingHooksPtr, PartonVertexPtr, WeightContainer *) override
Definition: Dire.h:97
Definition: DireBasics.h:374
void onBeginEvent() override
Definition: Dire.h:74
void calcWeight(double pT2, bool includeAcceptAtPT2=true, bool includeRejectAtPT2=false)
Function to calculate the weight of the shower evolution step.
Definition: DireWeightContainer.cc:381
void initShowersAndWeights()
Definition: Dire.cc:125
TimeShowerPtr getTimeShower() const override
Access the pointers to the different model components.
Definition: Dire.h:121
set< PhysicsBase * > subObjects
Definition: PhysicsBase.h:120
Status
Enumerate the different status codes the event generation can have.
Definition: PhysicsBase.h:32
void setWeightNominal(double weightNow)
The WeightContainer class.
Definition: Weights.cc:852
Container for all shower weights, including handling.
Definition: DireWeightContainer.h:82
void createPointers()
The Dire wrapper class.
Definition: Dire.cc:19
void reset()
Reset current accept/reject probabilities.
Definition: DireWeightContainer.h:115
Header for classes to set beam momentum and interaction vertex spread.
Definition: Analysis.h:20
Hooks is base class for user access to program execution.
Definition: DireHooks.h:20
Info * infoPtr
Definition: PhysicsBase.h:78
Definition: DireSplittingLibrary.h:35
Definition: ShowerModel.h:28
void setup(BeamParticle *beamA, BeamParticle *beamB)
Definition: Dire.cc:171
double weight(int i=0) const
Event weights and accumulated weight.
Definition: Info.cc:162
void initTune()
Definition: Dire.cc:54