herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.2.1
MatrixElement
FxFx
FxFxReader.h
1
// -*- C++ -*-
2
//
3
// FxFxReader.h is a part of ThePEG - Toolkit for HEP Event Generation
4
// Copyright (C) 1999-2019 Leif Lonnblad
5
//
6
// ThePEG is licenced under version 3 of the GPL, see COPYING for details.
7
// Please respect the MCnet academic guidelines, see GUIDELINES for details.
8
//
9
#ifndef THEPEG_FxFxReader_H
10
#define THEPEG_FxFxReader_H
11
// This is the declaration of the FxFxReader class.
12
13
#include "FxFx.h"
14
#include "ThePEG/Handlers/HandlerBase.h"
15
#include "ThePEG/Utilities/ObjectIndexer.h"
16
#include "ThePEG/Utilities/Exception.h"
17
#include "ThePEG/Utilities/XSecStat.h"
18
#include "ThePEG/PDF/PartonBinInstance.h"
19
#include "ThePEG/PDF/PartonBin.fh"
20
#include "ThePEG/MatrixElement/ReweightBase.h"
21
#include "FxFxEventHandler.fh"
22
#include "FxFxReader.fh"
23
#include "ThePEG/Utilities/CFile.h"
24
#include <cstdio>
25
#include <cstring>
26
27
namespace
ThePEG
{
28
77
class
FxFxReader
:
public
HandlerBase
,
public
LastXCombInfo
<> {
78
82
friend
class
FxFxEventHandler
;
83
88
typedef
map<int,XSecStat>
StatMap
;
89
94
typedef
map<tcPBPair,XCombPtr>
XCombMap
;
95
99
typedef
vector<ReweightPtr>
ReweightVector
;
100
101
public
:
102
110
FxFxReader
(
bool
active
=
false
);
111
115
FxFxReader
(
const
FxFxReader
&);
116
120
virtual
~FxFxReader
();
122
123
public
:
124
134
virtual
void
open
() = 0;
135
141
virtual
bool
doReadEvent
() = 0;
142
146
virtual
void
close
() = 0;
147
151
// virtual vector<string> optWeightsNamesFunc();
152
virtual
vector<string>
optWeightsNamesFunc
() = 0;
153
//virtual vector<string*> optWeightNamesFunc() = 0;
154
vector<string> optionalWeightsNames;
155
160
// vector<string> optionalWeightsNames;
161
162
164
174
virtual
void
initialize
(
FxFxEventHandler
& eh);
175
188
virtual
double
getEvent
();
189
195
virtual
bool
readEvent
();
196
202
virtual
void
skip
(
long
n);
203
210
tXCombPtr
getXComb
();
211
216
tSubProPtr
getSubProcess
();
217
224
virtual
long
scan
();
225
230
virtual
void
initStat
();
231
237
double
reweight
();
238
243
virtual
void
fillEvent
();
244
249
void
reset
();
250
258
virtual
void
setWeightScale
(
long
neve);
259
261
264
270
static
size_t
eventSize
(
int
N) {
271
return
(N + 1)*
sizeof
(int) +
// IDPRUP, ISTUP
272
(7*N + 4)*
sizeof
(double) +
// XWGTUP, SCALUP, AQEDUP, AQCDUP, PUP,
273
// VTIMUP, SPINUP
274
N*
sizeof
(
long
) +
// IDUP
275
2*N*
sizeof
(pair<int,int>) +
// MOTHUP, ICOLUP
276
sizeof
(pair<double,double>) +
// XPDWUP.
277
2*
sizeof
(double);
// lastweight and preweight
278
}
279
286
double
eventWeight
()
const
{
return
hepeup
.
XWGTUP
*
lastweight
; }
287
291
const
map<string,double>&
optionalEventWeights
()
const
{
return
optionalWeights
; }
292
296
const
int
&
optionalEventnpLO
()
const
{
return
optionalnpLO
; }
297
const
int
& optionalEventnpNLO()
const
{
return
optionalnpNLO
; }
298
303
const
PBIPair
&
partonBinInstances
()
const
{
return
thePartonBinInstances
; }
307
const
PPair
&
beams
()
const
{
return
theBeams
; }
312
const
PPair
&
incoming
()
const
{
return
theIncoming
; }
317
const
PVector
&
outgoing
()
const
{
return
theOutgoing
; }
322
const
PVector
&
intermediates
()
const
{
return
theIntermediates
; }
329
int
maxMultCKKW
()
const
{
return
theMaxMultCKKW
; }
336
int
minMultCKKW
()
const
{
return
theMinMultCKKW
; }
//@}
337
344
long
NEvents
()
const
{
return
theNEvents
; }
345
350
long
currentPosition
()
const
{
return
position
; }
351
357
long
maxScan
()
const
{
return
theMaxScan
; }
358
362
bool
active
()
const
{
return
isActive
; }
363
367
bool
negativeWeights
()
const
{
return
heprup
.
IDWTUP
< 0; }
368
372
const
XSecStat
&
xSecStats
()
const
{
return
stats
; }
373
377
const
StatMap &
processStats
()
const
{
return
statmap
; }
378
383
void
select
(
double
weight) {
384
stats
.
select
(weight);
385
statmap
[
hepeup
.
IDPRUP
].select(weight);
386
}
387
391
void
accept
() {
392
stats
.
accept
();
393
statmap
[
hepeup
.
IDPRUP
].accept();
394
}
395
399
void
reject
(
double
w) {
400
stats
.
reject
(w);
401
statmap
[
hepeup
.
IDPRUP
].reject(w);
402
}
403
407
virtual
void
increaseMaxXSec
(CrossSection maxxsec);
408
412
tPExtrPtr
partonExtractor
()
const
{
return
thePartonExtractor
; }
413
418
tCascHdlPtr
CKKWHandler
()
const
{
return
theCKKW
; }
419
424
const
PartonPairVec &
partonBins
()
const
{
return
thePartonBins
; }
425
430
const
XCombMap &
xCombs
()
const
{
return
theXCombs
; }
431
435
const
Cuts
&
cuts
()
const
{
return
*
theCuts
; }
436
438
439
protected
:
440
443
448
string
cacheFileName
()
const
{
return
theCacheFileName
; }
449
454
bool
cutEarly
()
const
{
return
doCutEarly
; }
455
459
CFile
cacheFile
()
const
{
return
theCacheFile
;}
460
464
void
openReadCacheFile
();
465
469
void
openWriteCacheFile
();
470
474
void
closeCacheFile
();
475
479
void
cacheEvent
()
const
;
480
484
bool
uncacheEvent
();
485
491
void
reopen
();
492
496
template
<
typename
T>
497
static
char
*
mwrite
(
char
* pos,
const
T & t,
size_t
n = 1) {
498
std::memcpy(pos, &t, n*
sizeof
(T));
499
return
pos + n*
sizeof
(T);
500
}
501
505
template
<
typename
T>
506
static
const
char
*
mread
(
const
char
* pos, T & t,
size_t
n = 1) {
507
std::memcpy(&t, pos, n*
sizeof
(T));
508
return
pos + n*
sizeof
(T);
509
}
510
512
521
virtual
bool
checkPartonBin
();
522
527
virtual
void
createParticles
();
528
534
virtual
tcPBPair
createPartonBinInstances
();
535
541
virtual
void
createBeams
();
542
546
virtual
void
connectMothers
();
548
549
public
:
550
557
void
persistentOutput
(
PersistentOStream
& os)
const
;
558
564
void
persistentInput
(
PersistentIStream
& is,
int
version);
566
570
static
void
Init
();
571
572
protected
:
573
580
void
NEvents
(
long
x) {
theNEvents
= x; }
581
586
XCombMap &
xCombs
() {
return
theXCombs
; }
588
596
virtual
void
doinit
();
597
602
virtual
void
doinitrun
();
603
608
virtual
void
dofinish
() {
609
close
();
610
HandlerBase::dofinish
();
611
}
612
617
virtual
bool
preInitialize
()
const
;
618
623
virtual
void
initPDFs
();
625
626
protected
:
627
631
HEPRUP
heprup
;
632
636
HEPEUP
hepeup
;
637
641
tcPDPair
inData
;
642
648
pair<PDFPtr,PDFPtr>
inPDF
;
649
653
pair<cPDFPtr,cPDFPtr>
outPDF
;
654
658
PExtrPtr
thePartonExtractor
;
659
663
tCascHdlPtr
theCKKW
;
664
669
PartonPairVec
thePartonBins
;
670
675
XCombMap
theXCombs
;
676
680
CutsPtr
theCuts
;
681
686
long
theNEvents
;
687
692
long
position
;
693
697
int
reopened
;
698
704
long
theMaxScan
;
705
709
bool
scanning
;
710
714
bool
isActive
;
715
720
string
theCacheFileName
;
721
726
bool
doCutEarly
;
727
731
XSecStat
stats
;
732
736
StatMap
statmap
;
737
742
PBIPair
thePartonBinInstances
;
743
748
ObjectIndexer<long,ColourLine>
colourIndex
;
749
754
ObjectIndexer<long,Particle>
particleIndex
;
755
759
PPair
theBeams
;
760
765
PPair
theIncoming
;
766
771
PVector
theOutgoing
;
772
777
PVector
theIntermediates
;
778
782
CFile
theCacheFile
;
783
787
ReweightVector
reweights
;
788
792
ReweightVector
preweights
;
793
797
double
preweight
;
798
802
bool
reweightPDF
;
803
808
bool
doInitPDFs
;
809
816
int
theMaxMultCKKW
;
817
824
int
theMinMultCKKW
;
825
831
double
lastweight
;
832
836
map<string,double>
optionalWeights
;
837
843
double
maxFactor
;
844
848
int
optionalnpLO
;
849
853
int
optionalnpNLO
;
854
859
CrossSection
weightScale
;
860
864
vector<double>
xSecWeights
;
865
870
map<int,double>
maxWeights
;
871
875
bool
skipping
;
876
880
unsigned
int
theMomentumTreatment
;
881
886
bool
useWeightWarnings
;
887
891
bool
theReOpenAllowed
;
892
896
bool
theIncludeSpin
;
897
898
private
:
899
901
void
setBeamA
(
long
id
);
903
long
getBeamA
()
const
;
905
void
setBeamB
(
long
id
);
907
long
getBeamB
()
const
;
909
void
setEBeamA
(Energy e);
911
Energy
getEBeamA
()
const
;
913
void
setEBeamB
(Energy e);
915
Energy
getEBeamB
()
const
;
917
void
setPDFA
(
PDFPtr
);
919
PDFPtr
getPDFA
()
const
;
921
void
setPDFB
(
PDFPtr
);
923
PDFPtr
getPDFB
()
const
;
924
925
private
:
926
930
static
AbstractClassDescription<FxFxReader>
initFxFxReader
;
931
935
FxFxReader
&
operator=
(
const
FxFxReader
&) =
delete
;
936
937
public
:
938
942
class
FxFxInconsistencyError:
public
Exception
{};
943
946
class
FxFxReopenWarning:
public
Exception
{};
947
950
class
FxFxReopenError:
public
Exception
{};
951
954
class
FxFxInitError:
public
InitException {};
957
};
958
960
ostream &
operator<<
(ostream & os,
const
HEPEUP
& h);
961
962
}
963
964
965
#include "ThePEG/Utilities/ClassTraits.h"
966
967
namespace
ThePEG
{
968
975
template
<>
976
struct
BaseClassTrait
<FxFxReader,1>:
public
ClassTraitsType
{
978
typedef
HandlerBase
NthBase;
979
};
980
986
template
<>
987
struct
ClassTraits
<FxFxReader>
988
:
public
ClassTraitsBase
<FxFxReader> {
992
static
string
className() {
return
"Herwig::FxFxReader"
; }
998
static
string
library() {
return
"HwFxFx.so"
; }
999
1000
};
1001
1004
}
1005
1006
#endif
/* THEPEG_FxFxReader_H */
ThePEG::FxFxReader::theNEvents
long theNEvents
The number of events in this reader.
Definition:
FxFxReader.h:686
ThePEG::tcPDPair
pair< tcPDPtr, tcPDPtr > tcPDPair
ThePEG::FxFxReader::mread
static const char * mread(const char *pos, T &t, size_t n=1)
Helper function to read a variable from a memory location.
Definition:
FxFxReader.h:506
ThePEG::FxFxReader::maxScan
long maxScan() const
The maximum number of events to scan to collect information about processes and cross sections...
Definition:
FxFxReader.h:357
ThePEG::FxFxReader::NEvents
long NEvents() const
The number of events found in this reader.
Definition:
FxFxReader.h:344
ThePEG::FxFxReader::theCacheFileName
string theCacheFileName
Name of file used to cache the events form the reader in a fast-readable form.
Definition:
FxFxReader.h:720
ThePEG::PersistentIStream
ThePEG::XSecStat::select
void select(double weight)
ThePEG::FxFxReader::closeCacheFile
void closeCacheFile()
Close the cache file;.
ThePEG::FxFxReader::optionalWeights
map< string, double > optionalWeights
The optional weights associated to the last read events.
Definition:
FxFxReader.h:836
ThePEG::FxFxReader::uncacheEvent
bool uncacheEvent()
Read an event from the cache file.
ThePEG::FxFxReader::theReOpenAllowed
bool theReOpenAllowed
Option to allow reopening of the file.
Definition:
FxFxReader.h:891
ThePEG::FxFxReader::reopen
void reopen()
Reopen a reader.
ThePEG::FxFxReader::scan
virtual long scan()
Scan the file or stream to obtain information about cross section weights and particles etc...
ThePEG::FxFxReader::optWeightsNamesFunc
virtual vector< string > optWeightsNamesFunc()=0
return the weight names
ThePEG::FxFxReader::openReadCacheFile
void openReadCacheFile()
Open the cache file for reading.
ThePEG::FxFxReader::minMultCKKW
int minMultCKKW() const
If this reader is to be used (possibly together with others) for CKKW reweighting and veto...
Definition:
FxFxReader.h:336
ThePEG::FxFxReader::active
bool active() const
Return true if this reader is active.
Definition:
FxFxReader.h:362
ThePEG::ClassTraitsType
ThePEG::FxFxReader::getBeamA
long getBeamA() const
Access function for the interface.
ThePEG::FxFxEventHandler
The FxFxEventHandler inherits from the general EventHandler class and administers the reading of even...
Definition:
FxFxEventHandler.h:40
ThePEG::FxFxReader::stats
XSecStat stats
Collect statistics for this reader.
Definition:
FxFxReader.h:731
ThePEG::XSecStat::accept
void accept()
ThePEG::FxFxReader::theCKKW
tCascHdlPtr theCKKW
A pointer to a CascadeHandler to be used for CKKW-reweighting.
Definition:
FxFxReader.h:663
ThePEG::FxFxReader::setBeamA
void setBeamA(long id)
Access function for the interface.
ThePEG::FxFxReader::outPDF
pair< cPDFPtr, cPDFPtr > outPDF
The PDFBase object to be used in the subsequent generation.
Definition:
FxFxReader.h:653
ThePEG::FxFxReader::close
virtual void close()=0
Close the file or stream from which events have been read.
ThePEG::PersistentOStream
ThePEG::FxFxReader::optionalnpLO
int optionalnpLO
npLO for FxFx merging
Definition:
FxFxReader.h:848
ThePEG::AbstractClassDescription
ThePEG::LastXCombInfo
ThePEG::FxFxReader::connectMothers
virtual void connectMothers()
Go through the mother indices and connect up the Particles.
ThePEG::FxFxReader::CKKWHandler
tCascHdlPtr CKKWHandler() const
Return a possibly null pointer to a CascadeHandler to be used for CKKW-reweighting.
Definition:
FxFxReader.h:418
ThePEG::FxFxReader::xCombs
const XCombMap & xCombs() const
The map of XComb objects indexed by the corresponding PartonBin pair.
Definition:
FxFxReader.h:430
ThePEG::FxFxReader::thePartonExtractor
PExtrPtr thePartonExtractor
The PartonExtractor object used to construct remnants.
Definition:
FxFxReader.h:658
ThePEG::FxFxReader::accept
void accept()
Accept the current event assuming it was previously selcted.
Definition:
FxFxReader.h:391
ThePEG::FxFxReader::setPDFA
void setPDFA(PDFPtr)
Access function for the interface.
ThePEG::FxFxReader::useWeightWarnings
bool useWeightWarnings
Set to true if warnings about possible weight incompatibilities should be issued. ...
Definition:
FxFxReader.h:886
ThePEG::FxFxReader::doReadEvent
virtual bool doReadEvent()=0
Read the next event from the file or stream into the corresponding protected variables.
ThePEG::FxFxReader::theIncludeSpin
bool theIncludeSpin
Use the spin information.
Definition:
FxFxReader.h:896
ThePEG::FxFxReader::checkPartonBin
virtual bool checkPartonBin()
Check the existence of a pair of PartonBin objects corresponding to the current event.
ThePEG::FxFxReader::maxWeights
map< int, double > maxWeights
Individual maximum weights for individual (possibly reweighted) processes.
Definition:
FxFxReader.h:870
ThePEG::FxFxReader::colourIndex
ObjectIndexer< long, ColourLine > colourIndex
Association between ColourLines and colour indices in the current translation.
Definition:
FxFxReader.h:748
ThePEG::FxFxReader::preweight
double preweight
The factor with which this reader was last pre-weighted.
Definition:
FxFxReader.h:797
ThePEG::FxFxReader::doInitPDFs
bool doInitPDFs
Should PDFBase objects be constructed from the information in the event file in the initialization...
Definition:
FxFxReader.h:808
ThePEG::FxFxReader::scanning
bool scanning
Flag to tell whether we are in the process of scanning.
Definition:
FxFxReader.h:709
ThePEG::HEPRUP::IDWTUP
int IDWTUP
Master switch indicating how the ME generator envisages the events weights should be interpreted acco...
Definition:
FxFx.h:89
ThePEG::FxFxReader::thePartonBinInstances
PBIPair thePartonBinInstances
The pair of PartonBinInstance objects describing the current incoming partons in the event...
Definition:
FxFxReader.h:742
ThePEG::FxFxReader::inPDF
pair< PDFPtr, PDFPtr > inPDF
The PDFBase objects which has been used for the beam particle when generating the events being read...
Definition:
FxFxReader.h:648
ThePEG::FxFxReader::skipping
bool skipping
Is set to true when getEvent() is called from skip(int).
Definition:
FxFxReader.h:875
ThePEG
ThePEG::FxFxReader::optionalnpNLO
int optionalnpNLO
npNLO for FxFx merging
Definition:
FxFxReader.h:853
ThePEG::FxFxReader::openWriteCacheFile
void openWriteCacheFile()
Open the cache file for writing.
ThePEG::FxFxReader::cacheEvent
void cacheEvent() const
Write the current event to the cache file.
ThePEG::FxFxReader::currentPosition
long currentPosition() const
The number of events produced so far.
Definition:
FxFxReader.h:350
ThePEG::FxFxReader::eventWeight
double eventWeight() const
The current event weight given by XWGTUP times possible reweighting.
Definition:
FxFxReader.h:286
ThePEG::FxFxReader
FxFxReader is an abstract base class to be used for objects which reads event files or streams from m...
Definition:
FxFxReader.h:77
ThePEG::FxFxReader::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
ThePEG::FxFxReader::statmap
StatMap statmap
Collect statistics for each individual process.
Definition:
FxFxReader.h:736
ThePEG::XSecStat::reject
void reject(double weight=1.0)
ThePEG::FxFxReader::theCacheFile
CFile theCacheFile
File stream for the cache.
Definition:
FxFxReader.h:782
ThePEG::FxFxReader::StatMap
map< int, XSecStat > StatMap
Map for accumulating statistics of cross sections per process number.
Definition:
FxFxReader.h:88
ThePEG::FxFxReader::increaseMaxXSec
virtual void increaseMaxXSec(CrossSection maxxsec)
Increase the overestimated cross section for this reader.
ThePEG::FxFxReader::setEBeamB
void setEBeamB(Energy e)
Access function for the interface.
ThePEG::FxFxReader::xSecWeights
vector< double > xSecWeights
Individual scales for different sub-processes if reweighted.
Definition:
FxFxReader.h:864
ThePEG::FxFxReader::doinit
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
ThePEG::FxFxReader::skip
virtual void skip(long n)
Skip n events.
ThePEG::FxFxReader::reopened
int reopened
The number of times this reader has been reopened.
Definition:
FxFxReader.h:697
ThePEG::FxFxReader::reject
void reject(double w)
Reject the current event assuming it was previously accepted.
Definition:
FxFxReader.h:399
ThePEG::FxFxReader::hepeup
HEPEUP hepeup
The HEPEUP common block.
Definition:
FxFxReader.h:636
ThePEG::FxFxReader::eventSize
static size_t eventSize(int N)
Return the size of this event in bytes.
Definition:
FxFxReader.h:270
ThePEG::FxFxReader::theCuts
CutsPtr theCuts
The Cuts object to be used for this reader.
Definition:
FxFxReader.h:680
ThePEG::FxFxReader::theMaxScan
long theMaxScan
The maximum number of events to scan to collect information about processes and cross sections...
Definition:
FxFxReader.h:704
ThePEG::FxFxReader::heprup
HEPRUP heprup
The HEPRUP common block.
Definition:
FxFxReader.h:631
ThePEG::FxFxReader::xSecStats
const XSecStat & xSecStats() const
The collected cross section statistics for this reader.
Definition:
FxFxReader.h:372
ThePEG::FxFxReader::lastweight
double lastweight
The weight multiplying the last read event due to PDF reweighting, CKKW reweighting or assigned rewei...
Definition:
FxFxReader.h:831
ThePEG::FxFxReader::preweights
ReweightVector preweights
The preweight objects modifying the weights of this reader.
Definition:
FxFxReader.h:792
ThePEG::FxFxReader::cuts
const Cuts & cuts() const
The Cuts object to be used for this reader.
Definition:
FxFxReader.h:435
ThePEG::FxFxReader::reweights
ReweightVector reweights
The reweight objects modifying the weights of this reader.
Definition:
FxFxReader.h:787
ThePEG::FxFxReader::Init
static void Init()
Standard Init function used to initialize the interfaces.
ThePEG::FxFxReader::fillEvent
virtual void fillEvent()
Converts the information in the Les Houches common block variables into a Particle objects...
ThePEG::FxFxReader::getPDFB
PDFPtr getPDFB() const
Access function for the interface.
ThePEG::FxFxReader::intermediates
const PVector & intermediates() const
Return the instances of the intermediate particles in the sub process for the current event...
Definition:
FxFxReader.h:322
ThePEG::FxFxReader::initPDFs
virtual void initPDFs()
Called from doinit() to extract PDFs from the event file and add the corresponding objects to the cur...
ThePEG::tCascHdlPtr
ThePEG::Ptr< CascadeHandler >::transient_pointer tCascHdlPtr
ThePEG::FxFxReader::getEvent
virtual double getEvent()
Calls readEvent() or uncacheEvent() to read information into the FxFx common block variables...
ThePEG::FxFxReader::getXComb
tXCombPtr getXComb()
Get an XComb object.
ThePEG::FxFxReader::select
void select(double weight)
Select the current event.
Definition:
FxFxReader.h:383
ThePEG::CFile
ThePEG::FxFxReader::reset
void reset()
Removes the particles created in the last generated event, preparing to produce a new one...
ThePEG::FxFxReader::doinitrun
virtual void doinitrun()
Initialize this object.
ThePEG::FxFxReader::XCombMap
map< tcPBPair, XCombPtr > XCombMap
Map of XComb objects describing the incoming partons indexed by the corresponding PartonBin pair...
Definition:
FxFxReader.h:94
ThePEG::FxFxReader::theXCombs
XCombMap theXCombs
The map of XComb objects indexed by the corresponding PartonBin pair.
Definition:
FxFxReader.h:675
ThePEG::FxFxReader::optionalEventWeights
const map< string, double > & optionalEventWeights() const
Return the optional named weights associated to the current event.
Definition:
FxFxReader.h:291
ThePEG::FxFxReader::cutEarly
bool cutEarly() const
Determines whether to apply cuts to events converting them to ThePEG format.
Definition:
FxFxReader.h:454
ThePEG::FxFxReader::operator=
FxFxReader & operator=(const FxFxReader &)=delete
Private and non-existent assignment operator.
ThePEG::FxFxReader::setEBeamA
void setEBeamA(Energy e)
Access function for the interface.
ThePEG::FxFxReader::open
virtual void open()=0
Open a file or stream with events and read in the run information into the heprup variable...
ThePEG::FxFxReader::theMaxMultCKKW
int theMaxMultCKKW
If this reader is to be used (possibly together with others) for CKKW reweighting and veto...
Definition:
FxFxReader.h:816
ThePEG::FxFxReader::initFxFxReader
static AbstractClassDescription< FxFxReader > initFxFxReader
Describe an abstract base class with persistent data.
Definition:
FxFxReader.h:930
ThePEG::tSubProPtr
ThePEG::Ptr< SubProcess >::transient_pointer tSubProPtr
ThePEG::PPair
pair< PPtr, PPtr > PPair
ThePEG::PBIPair
pair< PBIPtr, PBIPtr > PBIPair
ThePEG::FxFxReader::thePartonBins
PartonPairVec thePartonBins
The pairs of PartonBin objects describing the partons which can be extracted by the PartonExtractor o...
Definition:
FxFxReader.h:669
ThePEG::FxFxReader::getEBeamA
Energy getEBeamA() const
Access function for the interface.
ThePEG::FxFxReader::theIntermediates
PVector theIntermediates
The instances of the intermediate particles in the sub process for the current event.
Definition:
FxFxReader.h:777
ThePEG::FxFxReader::partonBins
const PartonPairVec & partonBins() const
The pairs of PartonBin objects describing the partons which can be extracted by the PartonExtractor o...
Definition:
FxFxReader.h:424
ThePEG::InterfacedBase::dofinish
virtual void dofinish()
ThePEG::FxFxReader::isActive
bool isActive
True if this is an active reader.
Definition:
FxFxReader.h:714
ThePEG::FxFxReader::position
long position
The number of events produced by this reader so far.
Definition:
FxFxReader.h:692
ThePEG::FxFxReader::negativeWeights
bool negativeWeights() const
True if negative weights may be produced.
Definition:
FxFxReader.h:367
ThePEG::FxFxReader::doCutEarly
bool doCutEarly
Determines whether to apply cuts to events before converting them to ThePEG format.
Definition:
FxFxReader.h:726
ThePEG::FxFxReader::ReweightVector
vector< ReweightPtr > ReweightVector
A vector of pointers to ReweightBase objects.
Definition:
FxFxReader.h:99
ThePEG::FxFxReader::partonBinInstances
const PBIPair & partonBinInstances() const
The pair of PartonBinInstance objects describing the current incoming partons in the event...
Definition:
FxFxReader.h:303
ThePEG::FxFxReader::theIncoming
PPair theIncoming
The instances of the incoming particles to the sub process for the current event. ...
Definition:
FxFxReader.h:765
ThePEG::FxFxReader::theMomentumTreatment
unsigned int theMomentumTreatment
Option for the treatment of the momenta supplied.
Definition:
FxFxReader.h:880
ThePEG::FxFxReader::beams
const PPair & beams() const
Return the instances of the beam particles for the current event.
Definition:
FxFxReader.h:307
ThePEG::FxFxReader::setBeamB
void setBeamB(long id)
Access function for the interface.
ThePEG::FxFxReader::getPDFA
PDFPtr getPDFA() const
Access function for the interface.
ThePEG::HandlerBase
ThePEG::FxFxReader::getBeamB
long getBeamB() const
Access function for the interface.
ThePEG::FxFxReader::theBeams
PPair theBeams
The instances of the beam particles for the current event.
Definition:
FxFxReader.h:759
ThePEG::FxFxReader::dofinish
virtual void dofinish()
Finalize this object.
Definition:
FxFxReader.h:608
ThePEG::FxFxReader::cacheFileName
string cacheFileName() const
Name of file used to cache the events form the reader in a fast-readable form.
Definition:
FxFxReader.h:448
ThePEG::Exception
ThePEG::FxFxReader::getSubProcess
tSubProPtr getSubProcess()
Get a SubProcess object corresponding to the information in the Les Houches common block variables...
ThePEG::FxFxReader::optionalEventnpLO
const int & optionalEventnpLO() const
Return the optional npLO and npNLO.
Definition:
FxFxReader.h:296
ThePEG::HEPEUP
The HEPEUP class is a simple container corresponding to the Les Houches accord (hep-ph/0109068) commo...
Definition:
FxFx.h:128
ThePEG::HEPEUP::IDPRUP
int IDPRUP
The subprocess code for this event (as given in LPRUP).
Definition:
FxFx.h:177
ThePEG::FxFxReader::mwrite
static char * mwrite(char *pos, const T &t, size_t n=1)
Helper function to write a variable to a memory location.
Definition:
FxFxReader.h:497
ThePEG::HEPRUP
The HEPRUP class is a simple container corresponding to the Les Houches accord (hep-ph/0109068) commo...
Definition:
FxFx.h:26
ThePEG::FxFxReader::getEBeamB
Energy getEBeamB() const
Access function for the interface.
ThePEG::FxFxReader::preInitialize
virtual bool preInitialize() const
Return true if this object needs to be initialized before all other objects because it needs to extra...
ThePEG::FxFxReader::createBeams
virtual void createBeams()
Create instances of the incoming beams in the event and store them in particleIndex.
ThePEG::FxFxReader::readEvent
virtual bool readEvent()
Calls doReadEvent() and performs pre-defined reweightings.
ThePEG::FxFxReader::theMinMultCKKW
int theMinMultCKKW
If this reader is to be used (possibly together with others) for CKKW reweighting and veto...
Definition:
FxFxReader.h:824
ThePEG::ClassTraits
ThePEG::ObjectIndexer
ThePEG::PDFPtr
ThePEG::Ptr< PDFBase >::pointer PDFPtr
ThePEG::FxFxReader::incoming
const PPair & incoming() const
Return the instances of the incoming particles to the sub process for the current event...
Definition:
FxFxReader.h:312
operator<<
vector< T > & operator<<(vector< T > &tv, const U &u)
ThePEG::FxFxReader::particleIndex
ObjectIndexer< long, Particle > particleIndex
Association between Particles and indices in the current translation.
Definition:
FxFxReader.h:754
ThePEG::FxFxReader::FxFxReader
FxFxReader(bool active=false)
Default constructor.
ThePEG::FxFxReader::xCombs
XCombMap & xCombs()
The map of XComb objects indexed by the corresponding PartonBin pair.
Definition:
FxFxReader.h:586
ThePEG::FxFxReader::setPDFB
void setPDFB(PDFPtr)
Access function for the interface.
ThePEG::FxFxReader::theOutgoing
PVector theOutgoing
The instances of the outgoing particles from the sub process for the current event.
Definition:
FxFxReader.h:771
ThePEG::FxFxReader::~FxFxReader
virtual ~FxFxReader()
Destructor.
ThePEG::FxFxReader::createPartonBinInstances
virtual tcPBPair createPartonBinInstances()
Using the already created particles create a pair of PartonBinInstance objects corresponding to the i...
ThePEG::FxFxReader::outgoing
const PVector & outgoing() const
Return the instances of the outgoing particles from the sub process for the current event...
Definition:
FxFxReader.h:317
ThePEG::FxFxReader::processStats
const StatMap & processStats() const
Collected statistics about the individual processes.
Definition:
FxFxReader.h:377
ThePEG::PExtrPtr
ThePEG::Ptr< PartonExtractor >::pointer PExtrPtr
ThePEG::FxFxReader::partonExtractor
tPExtrPtr partonExtractor() const
The PartonExtractor object used to construct remnants.
Definition:
FxFxReader.h:412
ThePEG::FxFxReader::createParticles
virtual void createParticles()
Create instances of all particles in the event and store them in particleIndex.
ThePEG::PVector
vector< PPtr > PVector
ThePEG::FxFxReader::weightScale
CrossSection weightScale
The (reweighted) XWGTUP value should be scaled with this cross section when compared to the overestim...
Definition:
FxFxReader.h:859
ThePEG::HEPEUP::XWGTUP
double XWGTUP
The weight for this event.
Definition:
FxFx.h:182
ThePEG::BaseClassTrait
ThePEG::XSecStat
ThePEG::FxFxReader::maxMultCKKW
int maxMultCKKW() const
If this reader is to be used (possibly together with others) for CKKW reweighting and veto...
Definition:
FxFxReader.h:329
ThePEG::FxFxReader::initialize
virtual void initialize(FxFxEventHandler &eh)
Initialize.
ThePEG::tXCombPtr
ThePEG::Ptr< XComb >::transient_pointer tXCombPtr
ThePEG::FxFxReader::setWeightScale
virtual void setWeightScale(long neve)
Possibility for subclasses to recover from non-conformant settings of XMAXUP when an event file has b...
ThePEG::FxFxReader::cacheFile
CFile cacheFile() const
File stream for the cache.
Definition:
FxFxReader.h:459
ThePEG::FxFxReader::reweightPDF
bool reweightPDF
Should the event be reweighted by PDFs used by the PartonExtractor?
Definition:
FxFxReader.h:802
ThePEG::Cuts
ThePEG::FxFxReader::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
ThePEG::FxFxReader::inData
tcPDPair inData
The ParticleData objects corresponding to the incoming particles.
Definition:
FxFxReader.h:641
ThePEG::FxFxReader::maxFactor
double maxFactor
If the maximum cross section of this reader has been increased with increaseMaxXSec(), this is the total factor with which it has been increased.
Definition:
FxFxReader.h:843
ThePEG::FxFxReader::initStat
virtual void initStat()
Take the information corresponding to the HEPRUP common block and initialize the statistics for this ...
ThePEG::ClassTraitsBase
ThePEG::tPExtrPtr
ThePEG::Ptr< PartonExtractor >::transient_pointer tPExtrPtr
ThePEG::FxFxReader::reweight
double reweight()
Reweights the current event using the reweights and preweights vectors.
ThePEG::FxFxReader::NEvents
void NEvents(long x)
The number of events in this reader.
Definition:
FxFxReader.h:580
Generated on Sat Apr 11 2020 14:50:29 for Herwig by
1.8.13