thepeg
is hosted by
Hepforge
,
IPPP Durham
ThePEG
2.3.0
Handlers
StandardXComb.h
1
// -*- C++ -*-
2
//
3
// StandardXComb.h is a part of ThePEG - Toolkit for HEP Event Generation
4
// Copyright (C) 1999-2019 Leif Lonnblad
5
// Copyright (C) 2009-2019 Simon Platzer
6
//
7
// ThePEG is licenced under version 3 of the GPL, see COPYING for details.
8
// Please respect the MCnet academic guidelines, see GUIDELINES for details.
9
//
10
#ifndef ThePEG_StandardXComb_H
11
#define ThePEG_StandardXComb_H
12
// This is the declaration of the StandardXComb class.
13
14
#include "
ThePEG/Config/ThePEG.h
"
15
#include "SubProcessHandler.fh"
16
#include "ThePEG/PDF/PartonExtractor.fh"
17
#include "ThePEG/PDF/PartonBin.h"
18
#include "ThePEG/PDF/PartonBinInstance.h"
19
#include "ThePEG/Utilities/VSelector.h"
20
#include "ThePEG/Utilities/ClassDescription.h"
21
#include "ThePEG/Utilities/Maths.h"
22
#include "ThePEG/Utilities/XSecStat.h"
23
#include "ThePEG/EventRecord/Particle.h"
24
#include "ThePEG/MatrixElement/MEBase.h"
25
#include "ThePEG/Handlers/XComb.h"
26
#include "ThePEG/Handlers/StandardEventHandler.h"
27
#include "ThePEG/Handlers/SubProcessHandler.fh"
28
#include "StandardXComb.fh"
29
30
namespace
ThePEG
{
31
53
class
StandardXComb
:
public
XComb
{
54
55
public
:
56
58
typedef
MEBase::DiagramVector
DiagramVector
;
59
61
typedef
MEBase::DiagramIndex
DiagramIndex
;
62
64
friend
class
MEBase
;
65
66
public
:
67
73
StandardXComb
(
Energy
newMaxEnergy,
const
cPDPair
& inc,
74
tEHPtr
newEventHandler,tSubHdlPtr newSubProcessHandler,
75
tPExtrPtr
newExtractor,
tCascHdlPtr
newCKKW,
76
const
PBPair & newPartonBins, tCutsPtr newCuts, tMEPtr newME,
77
const
DiagramVector
& newDiagrams,
bool
mir,
78
tStdXCombPtr newHead = tStdXCombPtr());
79
83
StandardXComb
(tStdXCombPtr newHead,
84
const
PBPair & newPartonBins, tMEPtr newME,
85
const
DiagramVector
& newDiagrams);
86
90
StandardXComb
();
91
95
virtual
~StandardXComb
();
96
100
StandardXComb
(tMEPtr me,
const
tPVector
& parts,
DiagramIndex
i);
101
103
106
111
void
recreatePartonBinInstances
(
Energy2
scale);
112
119
void
refillPartonBinInstances
(
const
double
* r);
120
129
bool
setIncomingPartons
(tStdXCombPtr labHead = tStdXCombPtr());
130
134
void
fill
(
const
PPair
& newParticles,
135
const
PPair
& newPartons,
136
const
vector<Lorentz5Momentum>& newMEMomenta,
137
const
DVector
& newLastRandomNumbers =
DVector
());
138
140
147
tcSubHdlPtr
subProcessHandler
()
const
{
return
theSubProcessHandler
; }
148
152
tMEPtr
matrixElement
()
const
{
return
theME
; }
153
159
tStdXCombPtr
head
()
const
{
return
theHead
; }
160
164
void
head
(tStdXCombPtr headXC) {
theHead
= headXC; }
165
170
Selector<tStdXCombPtr>
&
projectors
() {
return
theProjectors
; }
171
176
const
Selector<tStdXCombPtr>
&
projectors
()
const
{
return
theProjectors
; }
177
182
tStdXCombPtr
lastProjector
()
const
{
return
theProjector
; }
183
188
void
lastProjector
(tStdXCombPtr pxc) {
theProjector
= pxc; }
189
191
197
virtual
bool
checkInit
();
198
203
virtual
int
nDim
()
const
{
return
theNDim
; }
204
208
const
pair<int,int>&
partonDimensions
()
const
{
return
partonDims
; }
209
213
bool
willPassCuts
();
214
218
double
cutWeight
()
const
{
return
theCutWeight
; }
219
223
virtual
void
clean
();
224
228
bool
kinematicsGenerated
()
const
{
return
theKinematicsGenerated
; }
229
233
void
didGenerateKinematics
() {
theKinematicsGenerated
=
true
; }
234
240
virtual
CrossSection
dSigDR
(
const
pair<double,double> ll,
int
nr,
const
double
* r);
241
248
CrossSection
dSigDR
(
const
double
* r);
249
256
virtual
map<string,double>
generateOptionalWeights
();
257
261
double
lastPDFWeight
()
const
{
return
theLastPDFWeight
; }
262
266
CrossSection
lastCrossSection
()
const
{
return
theLastCrossSection
; }
267
272
void
checkReshufflingNeeds
();
273
278
bool
needsReshuffling
()
const
{
return
theNeedsReshuffling
; }
279
284
void
reshuffle
(vector<Lorentz5Momentum>&)
const
;
285
289
virtual
tSubProPtr
construct
();
291
297
virtual
const
XSecStat
&
stats
()
const
{
return
theStats
; }
298
303
virtual
void
select
(
double
weight) {
theStats
.
select
(weight); }
304
308
virtual
void
accept
() {
theStats
.
accept
(); }
309
313
void
reweight
(
double
oldWeight,
double
newWeight) {
314
theStats
.
reweight
(oldWeight,newWeight);
315
}
316
322
virtual
void
reject
(
double
weight = 1.0) {
theStats
.
reject
(weight); }
323
327
virtual
void
reset
() {
theStats
.
reset
(); }
329
335
const
DiagramVector
&
diagrams
()
const
{
return
theDiagrams
; }
336
341
bool
mirror
()
const
{
return
isMirror
; }
342
348
const
vector<Lorentz5Momentum> &
meMomenta
()
const
{
return
theMEMomenta
; }
349
353
tcDiagPtr
lastDiagram
()
const
{
354
if
( !
theExternalDiagram
)
355
return
diagrams
()[
lastDiagramIndex
()];
356
return
theExternalDiagram
;
357
}
358
364
const
cPDVector
&
mePartonData
()
const
{
return
theMEPartonData
; }
365
369
DiagramIndex
lastDiagramIndex
()
const
{
return
theLastDiagramIndex
; }
370
376
const
DVector
&
meInfo
()
const
{
return
theMEInfo
; }
377
383
void
meInfo
(
const
DVector
& info) {
theMEInfo
= info; }
384
390
const
DVector
&
lastRandomNumbers
()
const
{
return
theLastRandomNumbers
; }
391
396
double
jacobian
()
const
{
return
theLastJacobian
; }
397
403
double
lastME2
()
const
{
return
theLastME2
; }
404
408
double
lastPreweight
()
const
{
return
theLastPreweight
; }
409
415
CrossSection
lastMECrossSection
()
const
{
return
theLastMECrossSection
; }
416
423
double
lastMEPDFWeight
()
const
{
return
theLastMEPDFWeight
; }
424
429
double
lastMECouplings
()
const
{
return
theLastMECouplings
; }
431
436
virtual
void
newSubProcess
(
bool
group =
false
);
437
443
vector<Lorentz5Momentum> &
meMomenta
() {
return
theMEMomenta
; }
444
450
DVector
&
lastRandomNumbers
() {
return
theLastRandomNumbers
; }
451
457
cPDVector
&
mePartonData
() {
return
theMEPartonData
; }
458
463
void
externalDiagram
(tcDiagPtr diag) {
theExternalDiagram
= diag; }
464
468
void
lastDiagramIndex
(
DiagramIndex
i) {
theLastDiagramIndex
= i; }
469
473
void
lastPDFWeight
(
double
w) {
theLastPDFWeight
= w; }
474
478
void
lastCrossSection
(
CrossSection
s) {
theLastCrossSection
= s; }
479
484
void
jacobian
(
double
j) {
theLastJacobian
= j; }
485
491
void
lastME2
(
double
v) {
theLastME2
= v; }
492
496
void
lastPreweight
(
double
w) {
theLastPreweight
= w; }
497
503
void
lastMECrossSection
(
CrossSection
v) {
theLastMECrossSection
= v; }
504
511
void
lastMEPDFWeight
(
double
v) {
theLastMEPDFWeight
= v; }
512
516
void
lastMECouplings
(
double
v) {
theLastMECouplings
= v; }
517
518
public
:
519
526
void
persistentOutput
(
PersistentOStream
& os)
const
;
527
533
void
persistentInput
(
PersistentIStream
& is,
int
version);
535
539
static
void
Init
();
540
541
private
:
542
546
tSubHdlPtr
theSubProcessHandler
;
547
551
tMEPtr
theME
;
552
556
XSecStat
theStats
;
557
561
DiagramVector
theDiagrams
;
562
567
bool
isMirror
;
568
573
int
theNDim
;
574
575
protected
:
576
581
pair<int,int>
partonDims
;
582
583
private
:
584
588
bool
theKinematicsGenerated
;
589
595
vector<Lorentz5Momentum>
theMEMomenta
;
596
602
cPDVector
theMEPartonData
;
603
607
tcDiagPtr
theExternalDiagram
;
608
612
DiagramIndex
theLastDiagramIndex
;
613
619
DVector
theMEInfo
;
620
626
DVector
theLastRandomNumbers
;
627
631
double
theLastPDFWeight
;
632
636
CrossSection
theLastCrossSection
;
637
642
double
theLastJacobian
;
643
649
double
theLastME2
;
650
654
double
theLastPreweight
;
655
661
CrossSection
theLastMECrossSection
;
662
669
double
theLastMEPDFWeight
;
670
674
double
theLastMECouplings
;
675
681
tStdXCombPtr
theHead
;
682
687
Selector<tStdXCombPtr>
theProjectors
;
688
693
tStdXCombPtr
theProjector
;
694
698
bool
checkedCuts
;
699
703
bool
passedCuts
;
704
708
double
theCutWeight
;
709
714
bool
theNeedsReshuffling
;
715
719
double
reshuffleEquation
(
double
,
const
vector<pair<Energy2,Energy2> >&,
Energy2
)
const
;
720
724
double
solveReshuffleEquation
(
const
vector<pair<Energy2,Energy2> >&,
Energy2
)
const
;
725
726
private
:
727
731
static
ClassDescription<StandardXComb>
initStandardXComb
;
732
736
StandardXComb
&
operator=
(
const
StandardXComb
&) =
delete
;
737
738
};
739
746
template
<>
747
struct
BaseClassTrait
<
StandardXComb
,1>:
public
ClassTraitsType
{
749
typedef
XComb
NthBase
;
750
};
751
756
template
<>
757
struct
ClassTraits<StandardXComb>:
758
public
ClassTraitsBase<StandardXComb> {
760
static
string
className
() {
return
"ThePEG::StandardXComb"
; }
761
};
762
765
}
766
767
#endif
/* ThePEG_StandardXComb_H */
ThePEG.h
This is the main config header file for ThePEG.
ThePEG::ClassDescription
A concreate implementation of ClassDescriptionBase describing a concrete class with persistent data.
Definition:
ClassDescription.h:333
ThePEG::MEBase
The MEBase class is the base class of all objects representing hard matrix elements in ThePEG.
Definition:
MEBase.h:72
ThePEG::MEBase::DiagramIndex
DiagramVector::size_type DiagramIndex
The size_type used in the DiagramVector.
Definition:
MEBase.h:79
ThePEG::MEBase::DiagramVector
vector< DiagPtr > DiagramVector
A vector of pointers to DiagramBase objects.
Definition:
MEBase.h:77
ThePEG::PersistentIStream
PersistentIStream is used to read persistent objects from a stream where they were previously written...
Definition:
PersistentIStream.h:48
ThePEG::PersistentOStream
PersistentOStream is used to write objects persistently to a stream from which they can be read in ag...
Definition:
PersistentOStream.h:51
ThePEG::Pointer::TransientRCPtr
TransientRCPtr is a simple wrapper around a bare pointer which can be assigned to and from an RCPtr a...
Definition:
RCPtr.h:519
ThePEG::Qty< std::ratio< L, DL >, std::ratio< E, DE >, std::ratio< Q, DQ > >
Definition:
PhysicalQty.h:77
ThePEG::Qty< 0, 1, 0 >
ThePEG::Selector
Selector is a templated class for storing objects associated with probabilities in a way such that,...
Definition:
Selector.h:46
ThePEG::StandardXComb
The StandardXComb class inherits from the more general XComb class which stores all information about...
Definition:
StandardXComb.h:53
ThePEG::StandardXComb::recreatePartonBinInstances
void recreatePartonBinInstances(Energy2 scale)
Properly setup the PartonBinInstance objects provided a sub process has been constructed using this X...
ThePEG::StandardXComb::head
void head(tStdXCombPtr headXC)
Set the head XComb pointer.
Definition:
StandardXComb.h:164
ThePEG::StandardXComb::select
virtual void select(double weight)
Select the current event.
Definition:
StandardXComb.h:303
ThePEG::StandardXComb::checkReshufflingNeeds
void checkReshufflingNeeds()
Check if a reshuffling is required when constructing the hard subprocess.
ThePEG::StandardXComb::checkedCuts
bool checkedCuts
True, if cuts have already been checked.
Definition:
StandardXComb.h:698
ThePEG::StandardXComb::theNDim
int theNDim
The number of dimensions of the phase space used to generate this process.
Definition:
StandardXComb.h:573
ThePEG::StandardXComb::lastPDFWeight
double lastPDFWeight() const
Return the PDF weight used in the last call to dSigDR.
Definition:
StandardXComb.h:261
ThePEG::StandardXComb::solveReshuffleEquation
double solveReshuffleEquation(const vector< pair< Energy2, Energy2 > > &, Energy2) const
Solve the reshuffling equation given the coefficients.
ThePEG::StandardXComb::DiagramVector
MEBase::DiagramVector DiagramVector
A vector of DiagramBase objects.
Definition:
StandardXComb.h:58
ThePEG::StandardXComb::StandardXComb
StandardXComb(Energy newMaxEnergy, const cPDPair &inc, tEHPtr newEventHandler, tSubHdlPtr newSubProcessHandler, tPExtrPtr newExtractor, tCascHdlPtr newCKKW, const PBPair &newPartonBins, tCutsPtr newCuts, tMEPtr newME, const DiagramVector &newDiagrams, bool mir, tStdXCombPtr newHead=tStdXCombPtr())
Standard constructor.
ThePEG::StandardXComb::lastMECouplings
double lastMECouplings() const
Return the coupling factor as calculated for the lats phase space point.
Definition:
StandardXComb.h:429
ThePEG::StandardXComb::checkInit
virtual bool checkInit()
Try to determine if this subprocess is at all possible.
ThePEG::StandardXComb::reset
virtual void reset()
Reset statistics.
Definition:
StandardXComb.h:327
ThePEG::StandardXComb::generateOptionalWeights
virtual map< string, double > generateOptionalWeights()
If variations are available for the subprocess handled, generate and return a map of optional weights...
ThePEG::StandardXComb::externalDiagram
void externalDiagram(tcDiagPtr diag)
Set a diagram to be used instead of the one selected by the matrix element.
Definition:
StandardXComb.h:463
ThePEG::StandardXComb::theHead
tStdXCombPtr theHead
A pointer to the head XComb this XComb depends on.
Definition:
StandardXComb.h:681
ThePEG::StandardXComb::Init
static void Init()
Standard Init function used to initialize the interface.
ThePEG::StandardXComb::lastPreweight
double lastPreweight() const
Return the last preweight factor.
Definition:
StandardXComb.h:408
ThePEG::StandardXComb::reshuffle
void reshuffle(vector< Lorentz5Momentum > &) const
Perform the reshuffling from hardProcessMass to mass values, given outgoing momenta.
ThePEG::StandardXComb::operator=
StandardXComb & operator=(const StandardXComb &)=delete
Private and non-existent assignment operator.
ThePEG::StandardXComb::theLastDiagramIndex
DiagramIndex theLastDiagramIndex
The last selected tree diagram.
Definition:
StandardXComb.h:612
ThePEG::StandardXComb::lastCrossSection
CrossSection lastCrossSection() const
Return the cross section calculated in the last call to dSigDR.
Definition:
StandardXComb.h:266
ThePEG::StandardXComb::lastDiagramIndex
DiagramIndex lastDiagramIndex() const
Return the index of the last selected diagram.
Definition:
StandardXComb.h:369
ThePEG::StandardXComb::fill
void fill(const PPair &newParticles, const PPair &newPartons, const vector< Lorentz5Momentum > &newMEMomenta, const DVector &newLastRandomNumbers=DVector())
Fill phase space information as far as possible.
ThePEG::StandardXComb::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
ThePEG::StandardXComb::theLastPDFWeight
double theLastPDFWeight
The PDF weight used in the last call to dSigDR.
Definition:
StandardXComb.h:631
ThePEG::StandardXComb::theLastPreweight
double theLastPreweight
The last preweight factor.
Definition:
StandardXComb.h:654
ThePEG::StandardXComb::lastDiagramIndex
void lastDiagramIndex(DiagramIndex i)
Set the last selected diagram.
Definition:
StandardXComb.h:468
ThePEG::StandardXComb::reshuffleEquation
double reshuffleEquation(double, const vector< pair< Energy2, Energy2 > > &, Energy2) const
Calculate the reshuffling equation given the coefficients.
ThePEG::StandardXComb::partonDimensions
const pair< int, int > & partonDimensions() const
Return the parton extraction dimensions.
Definition:
StandardXComb.h:208
ThePEG::StandardXComb::diagrams
const DiagramVector & diagrams() const
The diagrams used by the matrix element.
Definition:
StandardXComb.h:335
ThePEG::StandardXComb::lastMECouplings
void lastMECouplings(double v)
Set the coupling factor.
Definition:
StandardXComb.h:516
ThePEG::StandardXComb::refillPartonBinInstances
void refillPartonBinInstances(const double *r)
Fill the variables needed to generate remnants; momenta will be used from the partons set in this xco...
ThePEG::StandardXComb::StandardXComb
StandardXComb()
Default constructor.
ThePEG::StandardXComb::construct
virtual tSubProPtr construct()
Construct a sub-process object from the information available.
ThePEG::StandardXComb::mePartonData
cPDVector & mePartonData()
Return the parton types to be used by the matrix element object, in the order specified by the TreeDi...
Definition:
StandardXComb.h:457
ThePEG::StandardXComb::theSubProcessHandler
tSubHdlPtr theSubProcessHandler
The corresponding sub-process handler.
Definition:
StandardXComb.h:546
ThePEG::StandardXComb::matrixElement
tMEPtr matrixElement() const
The matrix element to be used.
Definition:
StandardXComb.h:152
ThePEG::StandardXComb::theMEMomenta
vector< Lorentz5Momentum > theMEMomenta
The momenta of the partons to be used by the matrix element object, in the order specified by the Tre...
Definition:
StandardXComb.h:595
ThePEG::StandardXComb::dSigDR
virtual CrossSection dSigDR(const pair< double, double > ll, int nr, const double *r)
Generate a phase space point from a vector r of nr numbers in the interval ]0,1[ and return the corre...
ThePEG::StandardXComb::theMEInfo
DVector theMEInfo
Information saved by the matrix element in the calculation of the cross section to be used later when...
Definition:
StandardXComb.h:619
ThePEG::StandardXComb::theLastMECouplings
double theLastMECouplings
The coupling factor.
Definition:
StandardXComb.h:674
ThePEG::StandardXComb::StandardXComb
StandardXComb(tMEPtr me, const tPVector &parts, DiagramIndex i)
Constructor used by MEBase to create a temporary object to store info.
ThePEG::StandardXComb::lastMEPDFWeight
double lastMEPDFWeight() const
Return the PDF weight as calculated for the last phase space point, if the matrix element does supply...
Definition:
StandardXComb.h:423
ThePEG::StandardXComb::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
ThePEG::StandardXComb::lastME2
void lastME2(double v)
Set the matrix element squared as calculated for the last phase space point.
Definition:
StandardXComb.h:491
ThePEG::StandardXComb::head
tStdXCombPtr head() const
Return a pointer to the head XComb this XComb depends on.
Definition:
StandardXComb.h:159
ThePEG::StandardXComb::initStandardXComb
static ClassDescription< StandardXComb > initStandardXComb
Describe a concrete class with persistent data.
Definition:
StandardXComb.h:731
ThePEG::StandardXComb::projectors
Selector< tStdXCombPtr > & projectors()
Return a selector object of xcombs to choose subprocesses different than the one currently integrated...
Definition:
StandardXComb.h:170
ThePEG::StandardXComb::needsReshuffling
bool needsReshuffling() const
Return true if a reshuffling is required when constructing the hard subprocess.
Definition:
StandardXComb.h:278
ThePEG::StandardXComb::theNeedsReshuffling
bool theNeedsReshuffling
True if a reshuffling is required when constructing the hard subprocess.
Definition:
StandardXComb.h:714
ThePEG::StandardXComb::setIncomingPartons
bool setIncomingPartons(tStdXCombPtr labHead=tStdXCombPtr())
Setup information on incoming partons depending on the information previously supplied through the ch...
ThePEG::StandardXComb::didGenerateKinematics
void didGenerateKinematics()
Indicate that kinematics have been generated.
Definition:
StandardXComb.h:233
ThePEG::StandardXComb::jacobian
double jacobian() const
Get the last jacobian obtained when generating the kinematics for the call to dSigHatDR.
Definition:
StandardXComb.h:396
ThePEG::StandardXComb::dSigDR
CrossSection dSigDR(const double *r)
If this XComb has a head XComb, return the cross section differential in the variables previously sup...
ThePEG::StandardXComb::theLastJacobian
double theLastJacobian
Save the last jacobian obtained when generating the kinematics for the call to dSigHatDR.
Definition:
StandardXComb.h:642
ThePEG::StandardXComb::subProcessHandler
tcSubHdlPtr subProcessHandler() const
Return a pointer to the corresponding sub-process handler.
Definition:
StandardXComb.h:147
ThePEG::StandardXComb::meMomenta
vector< Lorentz5Momentum > & meMomenta()
Return the momenta of the partons to be used by the matrix element object, in the order specified by ...
Definition:
StandardXComb.h:443
ThePEG::StandardXComb::theCutWeight
double theCutWeight
The cut weight encountered from fuzzy cuts.
Definition:
StandardXComb.h:708
ThePEG::StandardXComb::lastDiagram
tcDiagPtr lastDiagram() const
Return the last selected diagram.
Definition:
StandardXComb.h:353
ThePEG::StandardXComb::lastPreweight
void lastPreweight(double w)
Set the last preweight factor.
Definition:
StandardXComb.h:496
ThePEG::StandardXComb::lastCrossSection
void lastCrossSection(CrossSection s)
Set the cross section calculated in the last call to dSigDR.
Definition:
StandardXComb.h:478
ThePEG::StandardXComb::theExternalDiagram
tcDiagPtr theExternalDiagram
A diagram to be used instead of the one selected by the matrix element.
Definition:
StandardXComb.h:607
ThePEG::StandardXComb::lastME2
double lastME2() const
Return the matrix element squared as calculated for the last phase space point.
Definition:
StandardXComb.h:403
ThePEG::StandardXComb::lastPDFWeight
void lastPDFWeight(double w)
Set the PDF weight used in the last call to dSigDR.
Definition:
StandardXComb.h:473
ThePEG::StandardXComb::accept
virtual void accept()
Accept the current event assuming it was previously selcted.
Definition:
StandardXComb.h:308
ThePEG::StandardXComb::clean
virtual void clean()
Reset all saved data about last generated phasespace point;.
ThePEG::StandardXComb::theLastMECrossSection
CrossSection theLastMECrossSection
The partonic cross section as calculated for the last phase space point.
Definition:
StandardXComb.h:661
ThePEG::StandardXComb::newSubProcess
virtual void newSubProcess(bool group=false)
Construct the corresponding SubProcess object if it hasn't been done before.
ThePEG::StandardXComb::lastRandomNumbers
DVector & lastRandomNumbers()
Access the random numbers used to generate the last phase space point, if the matrix element requeste...
Definition:
StandardXComb.h:450
ThePEG::StandardXComb::isMirror
bool isMirror
True if the TreeDiagram's for this matrix element should in fact be mirrored before used to create an...
Definition:
StandardXComb.h:567
ThePEG::StandardXComb::reweight
void reweight(double oldWeight, double newWeight)
Reweight a selected and accepted event.
Definition:
StandardXComb.h:313
ThePEG::StandardXComb::StandardXComb
StandardXComb(tStdXCombPtr newHead, const PBPair &newPartonBins, tMEPtr newME, const DiagramVector &newDiagrams)
Constructor given a head xcomb.
ThePEG::StandardXComb::theProjectors
Selector< tStdXCombPtr > theProjectors
A selector object of xcombs to choose subprocesses different than the one currently integrated.
Definition:
StandardXComb.h:687
ThePEG::StandardXComb::reject
virtual void reject(double weight=1.0)
Reject the current event assuming it was previously accepted.
Definition:
StandardXComb.h:322
ThePEG::StandardXComb::~StandardXComb
virtual ~StandardXComb()
Destructor.
ThePEG::StandardXComb::theDiagrams
DiagramVector theDiagrams
The diagrams used by the matrix element.
Definition:
StandardXComb.h:561
ThePEG::StandardXComb::theStats
XSecStat theStats
Statistics gathering for this XComb.
Definition:
StandardXComb.h:556
ThePEG::StandardXComb::theLastRandomNumbers
DVector theLastRandomNumbers
The random numbers used to generate the last phase space point, if the matrix element requested so.
Definition:
StandardXComb.h:626
ThePEG::StandardXComb::theProjector
tStdXCombPtr theProjector
A pointer to a projector xcomb which will generate a subprocess different from the one just integrate...
Definition:
StandardXComb.h:693
ThePEG::StandardXComb::mePartonData
const cPDVector & mePartonData() const
Return the parton types to be used by the matrix element object, in the order specified by the TreeDi...
Definition:
StandardXComb.h:364
ThePEG::StandardXComb::meMomenta
const vector< Lorentz5Momentum > & meMomenta() const
Return the momenta of the partons to be used by the matrix element object, in the order specified by ...
Definition:
StandardXComb.h:348
ThePEG::StandardXComb::theLastME2
double theLastME2
The matrix element squared as calculated for the last phase space point.
Definition:
StandardXComb.h:649
ThePEG::StandardXComb::cutWeight
double cutWeight() const
Return the cut weight encountered from fuzzy cuts.
Definition:
StandardXComb.h:218
ThePEG::StandardXComb::partonDims
pair< int, int > partonDims
The number of dimensions of the phase space used for each of the incoming partons.
Definition:
StandardXComb.h:581
ThePEG::StandardXComb::lastProjector
void lastProjector(tStdXCombPtr pxc)
Set a pointer to a projector xcomb which will generate a subprocess different from the one just integ...
Definition:
StandardXComb.h:188
ThePEG::StandardXComb::nDim
virtual int nDim() const
The number of dimensions of the phase space used to generate this process.
Definition:
StandardXComb.h:203
ThePEG::StandardXComb::projectors
const Selector< tStdXCombPtr > & projectors() const
Return a selector object of xcombs to choose subprocesses different than the one currently integrated...
Definition:
StandardXComb.h:176
ThePEG::StandardXComb::theKinematicsGenerated
bool theKinematicsGenerated
True, if kinematics have already been generated.
Definition:
StandardXComb.h:588
ThePEG::StandardXComb::DiagramIndex
MEBase::DiagramIndex DiagramIndex
A vector of indices.
Definition:
StandardXComb.h:61
ThePEG::StandardXComb::mirror
bool mirror() const
True if the TreeDiagram's for this matrix element should in fact be mirrored before used to create an...
Definition:
StandardXComb.h:341
ThePEG::StandardXComb::theMEPartonData
cPDVector theMEPartonData
The parton types to be used by the matrix element object, in the order specified by the TreeDiagram o...
Definition:
StandardXComb.h:602
ThePEG::StandardXComb::willPassCuts
bool willPassCuts()
Return true, if the current configuration will pass the cuts.
ThePEG::StandardXComb::jacobian
void jacobian(double j)
Set the last jacobian obtained when generating the kinematics for the call to dSigHatDR.
Definition:
StandardXComb.h:484
ThePEG::StandardXComb::meInfo
const DVector & meInfo() const
Get information saved by the matrix element in the calculation of the cross section to be used later ...
Definition:
StandardXComb.h:376
ThePEG::StandardXComb::kinematicsGenerated
bool kinematicsGenerated() const
Return true, if kinematics have already been generated.
Definition:
StandardXComb.h:228
ThePEG::StandardXComb::meInfo
void meInfo(const DVector &info)
Set information saved by the matrix element in the calculation of the cross section to be used later ...
Definition:
StandardXComb.h:383
ThePEG::StandardXComb::lastRandomNumbers
const DVector & lastRandomNumbers() const
Return the random numbers used to generate the last phase space point, if the matrix element requeste...
Definition:
StandardXComb.h:390
ThePEG::StandardXComb::theLastMEPDFWeight
double theLastMEPDFWeight
The PDF weight as calculated for the last phase space point, if the matrix element does supply PDF we...
Definition:
StandardXComb.h:669
ThePEG::StandardXComb::passedCuts
bool passedCuts
The result of the last call to willPassCuts.
Definition:
StandardXComb.h:703
ThePEG::StandardXComb::theME
tMEPtr theME
The matrix element to be used.
Definition:
StandardXComb.h:551
ThePEG::StandardXComb::theLastCrossSection
CrossSection theLastCrossSection
The cross section calculated in the last call to dSigDR.
Definition:
StandardXComb.h:636
ThePEG::StandardXComb::lastMECrossSection
CrossSection lastMECrossSection() const
Return the partonic cross section as calculated for the last phase space point.
Definition:
StandardXComb.h:415
ThePEG::StandardXComb::stats
virtual const XSecStat & stats() const
The statistics object for this XComb.
Definition:
StandardXComb.h:297
ThePEG::StandardXComb::lastMEPDFWeight
void lastMEPDFWeight(double v)
Set the PDF weight as calculated for the last phase space point, if the matrix element does supply PD...
Definition:
StandardXComb.h:511
ThePEG::StandardXComb::lastMECrossSection
void lastMECrossSection(CrossSection v)
Set the partonic cross section as calculated for the last phase space point.
Definition:
StandardXComb.h:503
ThePEG::StandardXComb::lastProjector
tStdXCombPtr lastProjector() const
Return a pointer to a projector xcomb which will generate a subprocess different from the one just in...
Definition:
StandardXComb.h:182
ThePEG::XComb
The XComb class stores all information about the generation of a hard sub-proces for a given pair of ...
Definition:
XComb.h:43
ThePEG::XSecStat
XSecStat is a concrete helper class used to collect statistics about the cross section for a specific...
Definition:
XSecStat.h:36
ThePEG::XSecStat::reset
void reset()
Reset the statistics.
Definition:
XSecStat.h:92
ThePEG::XSecStat::accept
void accept()
An event of the corresponding class has been accepted.
Definition:
XSecStat.h:109
ThePEG::XSecStat::select
void select(double weight)
An event of the corresponding class has been attempted.
Definition:
XSecStat.h:117
ThePEG::XSecStat::reweight
void reweight(double oldWeight, double newWeight)
Reweight a selected and accepted event.
Definition:
XSecStat.h:129
ThePEG::XSecStat::reject
void reject(double weight=1.0)
Reject the event which was last accepted with accept() or selected with select(double).
Definition:
XSecStat.h:142
ThePEG
This is the main namespace within which all identifiers in ThePEG are declared.
Definition:
FactoryBase.h:28
ThePEG::PPair
pair< PPtr, PPtr > PPair
A pair of pointers to Particle objects.
Definition:
Containers.h:127
ThePEG::cPDPair
pair< cPDPtr, cPDPtr > cPDPair
A pair of pointers to const ParticleData objects.
Definition:
Containers.h:118
ThePEG::tPVector
vector< tPPtr > tPVector
A vector of transient pointers to Particle objects.
Definition:
Containers.h:82
ThePEG::DVector
vector< double > DVector
A vector of doubles.
Definition:
Containers.h:163
ThePEG::cPDVector
vector< cPDPtr > cPDVector
A vector of pointers to const ParticleData objects.
Definition:
Containers.h:36
ThePEG::BaseClassTrait
BaseClassTraits describes the base classes of the templated class.
Definition:
ClassTraits.h:156
ThePEG::BaseClassTrait::NthBase
int NthBase
The type of the BaseN'th base class (int means there are no further base classes).
Definition:
ClassTraits.h:161
ThePEG::ClassTraitsBase::className
static string className()
Return the name of class T.
Definition:
ClassTraits.h:66
ThePEG::ClassTraitsType
ClassTraitsType is an empty, non-polymorphic, base class.
Definition:
ClassTraits.h:30
Generated on Thu Jun 20 2024 14:47:00 for ThePEG by
1.9.6