9 #ifndef Pythia8_TimeShower_H 10 #define Pythia8_TimeShower_H 12 #include "Pythia8/Basics.h" 13 #include "Pythia8/BeamParticle.h" 14 #include "Pythia8/Event.h" 15 #include "Pythia8/Info.h" 16 #include "Pythia8/ParticleData.h" 17 #include "Pythia8/PartonSystems.h" 18 #include "Pythia8/PhysicsBase.h" 19 #include "Pythia8/PythiaStdlib.h" 20 #include "Pythia8/PartonVertex.h" 21 #include "Pythia8/Settings.h" 22 #include "Pythia8/StandardModel.h" 23 #include "Pythia8/UserHooks.h" 24 #include "Pythia8/MergingHooks.h" 25 #include "Pythia8/Weights.h" 45 void initPtrs(MergingHooksPtr mergingHooksPtrIn,
46 PartonVertexPtr partonVertexPtrIn,
51 weightContainerPtr = weightContainerPtrIn;
56 int beamOffsetIn = 0) {beamAPtr = beamAPtrIn; beamBPtr = beamBPtrIn;
69 virtual int shower(
int ,
int ,
Event& ,
double ,
int = 0) {
return 0;}
102 virtual double pTnext(
Event& ,
double ,
double ,
bool =
false,
bool =
false)
164 int ,
string ) {
return map<string,double>();}
174 {
return vector<string>();}
180 virtual bool allowedSplitting(
const Event& ,
int ,
int)
182 virtual vector<int> getRecoilers(
const Event&,
int,
int,
string)
183 {
return vector<int>(); }
185 virtual double enhanceFactor(
const string& name) {
186 unordered_map<string, double>::iterator it = enhanceFSR.find(name);
187 if ( it == enhanceFSR.end() )
return 1.;
195 double,
double) {
return 1.; }
212 noResVariations{}, noProcVariations{};
213 int nUncertaintyVariations{}, nVarQCD{}, uVarNflavQ{};
214 double dASmax{}, cNSpTmin{}, uVarpTmin2{}, overFactor{}, overFactorEnhance{};
215 map<int,double> varG2GGmuRfac, varQ2QGmuRfac, varG2QQmuRfac, varX2XGmuRfac,
216 varG2GGcNS, varQ2QGcNS, varG2QQcNS, varX2XGcNS;
217 map<int,double>* varPDFplus;
218 map<int,double>* varPDFminus;
219 map<int,double>* varPDFmember;
220 unordered_map<string,double> enhanceFSR;
virtual bool isTimelike(const Event &, int, int, int, string)
Definition: TimeShower.h:168
virtual bool resonanceShower(Event &, Event &, vector< int > &, double=0.)
Definition: TimeShower.h:119
virtual double getSplittingProb(const Event &, int, int, int, string)
Definition: TimeShower.h:178
Definition: PhysicsBase.h:27
virtual bool initUncertainties()
Initialize data members for calculation of uncertainty bands.
Definition: TimeShower.h:126
virtual map< string, double > getStateVariables(const Event &, int, int, int, string)
Definition: TimeShower.h:163
The Event class holds all info on the generated event.
Definition: Event.h:453
The TimeShower class does timelike showers.
Definition: TimeShower.h:33
Definition: BeamParticle.h:133
Definition: Weights.h:394
virtual void init(BeamParticle *=0, BeamParticle *=0)
Definition: TimeShower.h:61
virtual int showerQED(int, int, Event &, double)
Definition: TimeShower.h:73
CoupSM * coupSMPtr
Pointers to Standard Model and Beyond SM couplings.
Definition: Info.h:95
virtual int shower(int, int, Event &, double, int=0)
Definition: TimeShower.h:69
virtual void prepareGlobal(Event &)
Definition: TimeShower.h:86
TimeShower()=default
Constructor.
virtual int system() const
Tell which system was the last processed one.
Definition: TimeShower.h:135
virtual ~TimeShower()
Destructor.
Definition: TimeShower.h:41
MergingHooksPtr mergingHooksPtr
Pointer to MergingHooks object for NLO merging.
Definition: TimeShower.h:198
virtual void update(int, Event &, bool=false)
Definition: TimeShower.h:98
void initPtrs(MergingHooksPtr mergingHooksPtrIn, PartonVertexPtr partonVertexPtrIn, WeightContainer *weightContainerPtrIn)
Definition: TimeShower.h:45
virtual bool limitPTmax(Event &, double=0., double=0.)
Definition: TimeShower.h:65
int beamOffset
Beam location offset in event.
Definition: TimeShower.h:205
virtual bool getHasWeaklyRadiated()
Tell whether FSR has done a weak emission.
Definition: TimeShower.h:132
virtual Event clustered(const Event &, int, int, int, string)
Return clustering kinematics - as needed for merging.
Definition: TimeShower.h:152
virtual void rescatterUpdate(int, Event &)
Definition: TimeShower.h:94
void reassignBeamPtrs(BeamParticle *beamAPtrIn, BeamParticle *beamBPtrIn, int beamOffsetIn=0)
New beams possible for handling of hard diffraction. (Not virtual.)
Definition: TimeShower.h:55
virtual vector< string > getSplittingName(const Event &, int, int, int)
Definition: TimeShower.h:173
virtual void prepareProcess(Event &, Event &, vector< int > &)
Definition: TimeShower.h:82
virtual double noEmissionProbability(double, double, double, int, int, double, double)
Definition: TimeShower.h:194
virtual bool initEnhancements()
Initialize data members for application of enhancements.
Definition: TimeShower.h:129
CoupSM * coupSMPtr
Pointers to SM and SUSY couplings.
Definition: PhysicsBase.h:96
virtual bool branch(Event &, bool=false)
Definition: TimeShower.h:110
Header for classes to set beam momentum and interaction vertex spread.
Definition: Analysis.h:20
PartonVertexPtr partonVertexPtr
Pointer to assign space-time vertices during parton evolution.
Definition: TimeShower.h:208
Info * infoPtr
Definition: PhysicsBase.h:78
virtual void prepare(int, Event &, bool=true)
Definition: TimeShower.h:90
virtual void list() const
Print dipole list; for debug mainly.
Definition: TimeShower.h:123
virtual double pTLastInShower()
Provide the pT scale of the last branching in the above shower.
Definition: TimeShower.h:141
virtual double pTnext(Event &, double, double, bool=false, bool=false)
Definition: TimeShower.h:102
virtual double pTnextResDec()
Select next pT for interleaved resonance decays.
Definition: TimeShower.h:106
bool doUncertainties
Store uncertainty variations relevant to TimeShower.
Definition: TimeShower.h:211
virtual int showerQEDafterRemnants(Event &)
Definition: TimeShower.h:77
virtual double enhancePTmax()
Potential enhancement factor of pTmax scale for hardest emission.
Definition: TimeShower.h:138