thepeg
is hosted by
Hepforge
,
IPPP Durham
ThePEG
2.3.0
LesHouches
LesHouchesReader.h
1
// -*- C++ -*-
2
//
3
// LesHouchesReader.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_LesHouchesReader_H
10
#define THEPEG_LesHouchesReader_H
11
// This is the declaration of the LesHouchesReader class.
12
13
#include "LesHouches.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 "LesHouchesEventHandler.fh"
22
#include "LesHouchesReader.fh"
23
#include "ThePEG/Utilities/CFile.h"
24
#include <cstdio>
25
#include <cstring>
26
27
namespace
ThePEG
{
28
77
class
LesHouchesReader
:
public
HandlerBase
,
public
LastXCombInfo
<> {
78
82
friend
class
LesHouchesEventHandler
;
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
LesHouchesReader
(
bool
active
=
false
);
111
115
LesHouchesReader
(
const
LesHouchesReader
&);
116
120
virtual
~LesHouchesReader
();
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
() = 0;
152
157
vector<string>
optionalWeightsNames
;
158
160
170
virtual
void
initialize
(
LesHouchesEventHandler
& eh);
171
184
virtual
double
getEvent
();
185
191
virtual
bool
readEvent
();
192
198
virtual
void
skip
(
long
n);
199
206
tXCombPtr
getXComb
();
207
212
tSubProPtr
getSubProcess
();
213
220
virtual
long
scan
();
221
226
virtual
void
initStat
();
227
233
double
reweight
();
234
239
virtual
void
fillEvent
();
240
245
void
reset
();
246
254
virtual
void
setWeightScale
(
long
neve);
255
257
260
266
static
size_t
eventSize
(
int
N) {
267
return
(N + 1)*
sizeof
(int) +
// IDPRUP, ISTUP
268
(7*N + 4)*
sizeof
(double) +
// XWGTUP, SCALUP, AQEDUP, AQCDUP, PUP,
269
// VTIMUP, SPINUP
270
N*
sizeof
(
long
) +
// IDUP
271
2*N*
sizeof
(pair<int,int>) +
// MOTHUP, ICOLUP
272
sizeof
(pair<double,double>) +
// XPDWUP.
273
2*
sizeof
(double);
// lastweight and preweight
274
}
275
282
double
eventWeight
()
const
{
return
hepeup
.
XWGTUP
*
lastweight
; }
283
287
const
map<string,double>&
optionalEventWeights
()
const
{
return
optionalWeights
; }
288
292
const
long
&
LHEEventNum
()
const
{
return
LHEeventnum
; }
293
297
const
int
&
optionalEventnpLO
()
const
{
return
optionalnpLO
; }
298
const
int
& optionalEventnpNLO()
const
{
return
optionalnpNLO
; }
299
304
const
PBIPair
&
partonBinInstances
()
const
{
return
thePartonBinInstances
; }
308
const
PPair
&
beams
()
const
{
return
theBeams
; }
313
const
PPair
&
incoming
()
const
{
return
theIncoming
; }
318
const
PVector
&
outgoing
()
const
{
return
theOutgoing
; }
323
const
PVector
&
intermediates
()
const
{
return
theIntermediates
; }
330
int
maxMultCKKW
()
const
{
return
theMaxMultCKKW
; }
337
int
minMultCKKW
()
const
{
return
theMinMultCKKW
; }
//@}
338
345
long
NEvents
()
const
{
return
theNEvents
; }
346
351
long
currentPosition
()
const
{
return
position
; }
352
358
long
maxScan
()
const
{
return
theMaxScan
; }
359
363
bool
active
()
const
{
return
isActive
; }
364
368
bool
negativeWeights
()
const
{
return
heprup
.
IDWTUP
< 0; }
369
373
const
XSecStat
&
xSecStats
()
const
{
return
stats
; }
374
378
const
StatMap
&
processStats
()
const
{
return
statmap
; }
379
384
void
select
(
double
weight) {
385
stats
.
select
(weight);
386
statmap
[
hepeup
.
IDPRUP
].select(weight);
387
}
388
392
void
accept
() {
393
stats
.
accept
();
394
statmap
[
hepeup
.
IDPRUP
].accept();
395
}
396
400
void
reject
(
double
w) {
401
stats
.
reject
(w);
402
statmap
[
hepeup
.
IDPRUP
].reject(w);
403
}
404
408
virtual
void
increaseMaxXSec
(
CrossSection
maxxsec);
409
413
tPExtrPtr
partonExtractor
()
const
{
return
thePartonExtractor
; }
414
419
tCascHdlPtr
CKKWHandler
()
const
{
return
theCKKW
; }
420
425
const
PartonPairVec &
partonBins
()
const
{
return
thePartonBins
; }
426
431
const
XCombMap
&
xCombs
()
const
{
return
theXCombs
; }
432
436
const
Cuts
&
cuts
()
const
{
return
*
theCuts
; }
437
439
440
protected
:
441
444
449
string
cacheFileName
()
const
{
return
theCacheFileName
; }
450
455
bool
cutEarly
()
const
{
return
doCutEarly
; }
456
460
CFile
cacheFile
()
const
{
return
theCacheFile
;}
461
465
void
openReadCacheFile
();
466
470
void
openWriteCacheFile
();
471
475
void
closeCacheFile
();
476
480
void
cacheEvent
()
const
;
481
485
bool
uncacheEvent
();
486
492
void
reopen
();
493
497
template
<
typename
T>
498
static
char
*
mwrite
(
char
* pos,
const
T & t,
size_t
n = 1) {
499
std::memcpy(pos, (
void
*)&t, n*
sizeof
(T));
500
return
pos + n*
sizeof
(T);
501
}
502
506
template
<
typename
T>
507
static
const
char
*
mread
(
const
char
* pos, T & t,
size_t
n = 1) {
508
std::memcpy((
void
*)&t, pos, n*
sizeof
(T));
509
return
pos + n*
sizeof
(T);
510
}
511
513
522
virtual
bool
checkPartonBin
();
523
528
virtual
void
createParticles
();
529
535
virtual
tcPBPair
createPartonBinInstances
();
536
542
virtual
void
createBeams
();
543
547
virtual
void
connectMothers
();
549
550
public
:
551
558
void
persistentOutput
(
PersistentOStream
& os)
const
;
559
565
void
persistentInput
(
PersistentIStream
& is,
int
version);
567
571
static
void
Init
();
572
573
protected
:
574
581
void
NEvents
(
long
x) {
theNEvents
= x; }
582
587
XCombMap
&
xCombs
() {
return
theXCombs
; }
589
597
virtual
void
doinit
();
598
603
virtual
void
doinitrun
();
604
609
virtual
void
dofinish
() {
610
close
();
611
HandlerBase::dofinish
();
612
}
613
618
virtual
bool
preInitialize
()
const
;
619
624
virtual
void
initPDFs
();
626
627
protected
:
628
632
HEPRUP
heprup
;
633
637
HEPEUP
hepeup
;
638
642
tcPDPair
inData
;
643
649
pair<PDFPtr,PDFPtr>
inPDF
;
650
654
pair<cPDFPtr,cPDFPtr>
outPDF
;
655
659
PExtrPtr
thePartonExtractor
;
660
664
tCascHdlPtr
theCKKW
;
665
670
PartonPairVec
thePartonBins
;
671
676
XCombMap
theXCombs
;
677
681
CutsPtr
theCuts
;
682
687
long
theNEvents
;
688
693
long
position
;
694
698
int
reopened
;
699
705
long
theMaxScan
;
706
710
bool
scanning
;
711
715
bool
isActive
;
716
721
string
theCacheFileName
;
722
727
bool
doCutEarly
;
728
732
XSecStat
stats
;
733
737
StatMap
statmap
;
738
743
PBIPair
thePartonBinInstances
;
744
749
ObjectIndexer<long,ColourLine>
colourIndex
;
750
755
ObjectIndexer<long,Particle>
particleIndex
;
756
760
PPair
theBeams
;
761
766
PPair
theIncoming
;
767
772
PVector
theOutgoing
;
773
778
PVector
theIntermediates
;
779
783
CFile
theCacheFile
;
784
788
ReweightVector
reweights
;
789
793
ReweightVector
preweights
;
794
798
double
preweight
;
799
803
bool
reweightPDF
;
804
809
bool
doInitPDFs
;
810
817
int
theMaxMultCKKW
;
818
825
int
theMinMultCKKW
;
826
832
double
lastweight
;
833
837
map<string,double>
optionalWeights
;
838
842
long
LHEeventnum
;
843
844
850
double
maxFactor
;
851
855
int
optionalnpLO
;
856
860
int
optionalnpNLO
;
861
866
CrossSection
weightScale
;
867
871
vector<double>
xSecWeights
;
872
877
map<int,double>
maxWeights
;
878
882
bool
skipping
;
883
887
unsigned
int
theMomentumTreatment
;
888
893
bool
useWeightWarnings
;
894
898
bool
theReOpenAllowed
;
899
903
bool
theIncludeSpin
;
904
905
private
:
906
908
void
setBeamA
(
long
id
);
910
long
getBeamA
()
const
;
912
void
setBeamB
(
long
id
);
914
long
getBeamB
()
const
;
916
void
setEBeamA
(
Energy
e);
918
Energy
getEBeamA
()
const
;
920
void
setEBeamB
(
Energy
e);
922
Energy
getEBeamB
()
const
;
924
void
setPDFA
(
PDFPtr
);
926
PDFPtr
getPDFA
()
const
;
928
void
setPDFB
(
PDFPtr
);
930
PDFPtr
getPDFB
()
const
;
931
932
private
:
933
937
static
AbstractClassDescription<LesHouchesReader>
initLesHouchesReader
;
938
942
LesHouchesReader
&
operator=
(
const
LesHouchesReader
&) =
delete
;
943
944
public
:
945
949
class
LesHouchesInconsistencyError:
public
Exception
{};
950
953
class
LesHouchesReopenWarning:
public
Exception
{};
954
957
class
LesHouchesReopenError:
public
Exception {};
958
961
class
LesHouchesInitError:
public
InitException {};
964
};
965
967
ostream &
operator<<
(ostream & os,
const
HEPEUP
& h);
968
969
}
970
971
972
#include "ThePEG/Utilities/ClassTraits.h"
973
974
namespace
ThePEG
{
975
982
template
<>
983
struct
BaseClassTrait<LesHouchesReader,1>:
public
ClassTraitsType {
985
typedef
HandlerBase
NthBase
;
986
};
987
993
template
<>
994
struct
ClassTraits<LesHouchesReader>
995
:
public
ClassTraitsBase<LesHouchesReader> {
999
static
string
className
() {
return
"ThePEG::LesHouchesReader"
; }
1005
static
string
library
() {
return
"LesHouches.so"
; }
1006
1007
};
1008
1011
}
1012
1013
#endif
/* THEPEG_LesHouchesReader_H */
ThePEG::AbstractClassDescription
A concreate implementation of ClassDescriptionBase describing an abstract class with persistent data.
Definition:
ClassDescription.h:282
ThePEG::CFile
Here is the documentation of the CFile class.
Definition:
CFile.h:15
ThePEG::Cuts
Cuts is a class for implementing kinematical cuts in ThePEG.
Definition:
Cuts.h:53
ThePEG::Exception
Exception is the base class for all exceptions to be used in ThePEG.
Definition:
Exception.h:44
ThePEG::HEPEUP
The HEPEUP class is a simple container corresponding to the Les Houches accord (hep-ph/0109068) commo...
Definition:
LesHouches.h:128
ThePEG::HEPEUP::IDPRUP
int IDPRUP
The subprocess code for this event (as given in LPRUP).
Definition:
LesHouches.h:177
ThePEG::HEPEUP::XWGTUP
double XWGTUP
The weight for this event.
Definition:
LesHouches.h:182
ThePEG::HEPRUP
The HEPRUP class is a simple container corresponding to the Les Houches accord (hep-ph/0109068) commo...
Definition:
LesHouches.h:26
ThePEG::HEPRUP::IDWTUP
int IDWTUP
Master switch indicating how the ME generator envisages the events weights should be interpreted acco...
Definition:
LesHouches.h:89
ThePEG::HandlerBase
HandlerBase is an abstract base class derived from the Interfaced class via the HandlerBaseT class ad...
Definition:
HandlerBase.h:151
ThePEG::InterfacedBase::dofinish
virtual void dofinish()
Finalize this object.
Definition:
InterfacedBase.h:208
ThePEG::LastXCombInfo
LastXCombInfo is a templated class giving easy access to the information in an XComb object.
Definition:
LastXCombInfo.h:32
ThePEG::LesHouchesEventHandler
The LesHouchesEventHandler inherits from the general EventHandler class and administers the reading o...
Definition:
LesHouchesEventHandler.h:41
ThePEG::LesHouchesReader
LesHouchesReader is an abstract base class to be used for objects which reads event files or streams ...
Definition:
LesHouchesReader.h:77
ThePEG::LesHouchesReader::partonExtractor
tPExtrPtr partonExtractor() const
The PartonExtractor object used to construct remnants.
Definition:
LesHouchesReader.h:413
ThePEG::LesHouchesReader::NEvents
void NEvents(long x)
The number of events in this reader.
Definition:
LesHouchesReader.h:581
ThePEG::LesHouchesReader::inPDF
pair< PDFPtr, PDFPtr > inPDF
The PDFBase objects which has been used for the beam particle when generating the events being read.
Definition:
LesHouchesReader.h:649
ThePEG::LesHouchesReader::thePartonBins
PartonPairVec thePartonBins
The pairs of PartonBin objects describing the partons which can be extracted by the PartonExtractor o...
Definition:
LesHouchesReader.h:670
ThePEG::LesHouchesReader::setPDFA
void setPDFA(PDFPtr)
Access function for the interface.
ThePEG::LesHouchesReader::reweightPDF
bool reweightPDF
Should the event be reweighted by PDFs used by the PartonExtractor?
Definition:
LesHouchesReader.h:803
ThePEG::LesHouchesReader::select
void select(double weight)
Select the current event.
Definition:
LesHouchesReader.h:384
ThePEG::LesHouchesReader::position
long position
The number of events produced by this reader so far.
Definition:
LesHouchesReader.h:693
ThePEG::LesHouchesReader::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
ThePEG::LesHouchesReader::connectMothers
virtual void connectMothers()
Go through the mother indices and connect up the Particles.
ThePEG::LesHouchesReader::thePartonBinInstances
PBIPair thePartonBinInstances
The pair of PartonBinInstance objects describing the current incoming partons in the event.
Definition:
LesHouchesReader.h:743
ThePEG::LesHouchesReader::negativeWeights
bool negativeWeights() const
True if negative weights may be produced.
Definition:
LesHouchesReader.h:368
ThePEG::LesHouchesReader::processStats
const StatMap & processStats() const
Collected statistics about the individual processes.
Definition:
LesHouchesReader.h:378
ThePEG::LesHouchesReader::reopened
int reopened
The number of times this reader has been reopened.
Definition:
LesHouchesReader.h:698
ThePEG::LesHouchesReader::getPDFB
PDFPtr getPDFB() const
Access function for the interface.
ThePEG::LesHouchesReader::getXComb
tXCombPtr getXComb()
Get an XComb object.
ThePEG::LesHouchesReader::skip
virtual void skip(long n)
Skip n events.
ThePEG::LesHouchesReader::cacheFileName
string cacheFileName() const
Name of file used to cache the events form the reader in a fast-readable form.
Definition:
LesHouchesReader.h:449
ThePEG::LesHouchesReader::getEvent
virtual double getEvent()
Calls readEvent() or uncacheEvent() to read information into the LesHouches common block variables.
ThePEG::LesHouchesReader::theCKKW
tCascHdlPtr theCKKW
A pointer to a CascadeHandler to be used for CKKW-reweighting.
Definition:
LesHouchesReader.h:664
ThePEG::LesHouchesReader::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
ThePEG::LesHouchesReader::optWeightsNamesFunc
virtual vector< string > optWeightsNamesFunc()=0
return the weight names
ThePEG::LesHouchesReader::theCuts
CutsPtr theCuts
The Cuts object to be used for this reader.
Definition:
LesHouchesReader.h:681
ThePEG::LesHouchesReader::increaseMaxXSec
virtual void increaseMaxXSec(CrossSection maxxsec)
Increase the overestimated cross section for this reader.
ThePEG::LesHouchesReader::createPartonBinInstances
virtual tcPBPair createPartonBinInstances()
Using the already created particles create a pair of PartonBinInstance objects corresponding to the i...
ThePEG::LesHouchesReader::mwrite
static char * mwrite(char *pos, const T &t, size_t n=1)
Helper function to write a variable to a memory location.
Definition:
LesHouchesReader.h:498
ThePEG::LesHouchesReader::doInitPDFs
bool doInitPDFs
Should PDFBase objects be constructed from the information in the event file in the initialization?
Definition:
LesHouchesReader.h:809
ThePEG::LesHouchesReader::hepeup
HEPEUP hepeup
The HEPEUP common block.
Definition:
LesHouchesReader.h:637
ThePEG::LesHouchesReader::cacheFile
CFile cacheFile() const
File stream for the cache.
Definition:
LesHouchesReader.h:460
ThePEG::LesHouchesReader::readEvent
virtual bool readEvent()
Calls doReadEvent() and performs pre-defined reweightings.
ThePEG::LesHouchesReader::theIncludeSpin
bool theIncludeSpin
Use the spin information.
Definition:
LesHouchesReader.h:903
ThePEG::LesHouchesReader::reweight
double reweight()
Reweights the current event using the reweights and preweights vectors.
ThePEG::LesHouchesReader::minMultCKKW
int minMultCKKW() const
If this reader is to be used (possibly together with others) for CKKW reweighting and veto,...
Definition:
LesHouchesReader.h:337
ThePEG::LesHouchesReader::getEBeamA
Energy getEBeamA() const
Access function for the interface.
ThePEG::LesHouchesReader::theNEvents
long theNEvents
The number of events in this reader.
Definition:
LesHouchesReader.h:687
ThePEG::LesHouchesReader::theBeams
PPair theBeams
The instances of the beam particles for the current event.
Definition:
LesHouchesReader.h:760
ThePEG::LesHouchesReader::getBeamA
long getBeamA() const
Access function for the interface.
ThePEG::LesHouchesReader::maxMultCKKW
int maxMultCKKW() const
If this reader is to be used (possibly together with others) for CKKW reweighting and veto,...
Definition:
LesHouchesReader.h:330
ThePEG::LesHouchesReader::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:
LesHouchesReader.h:507
ThePEG::LesHouchesReader::partonBins
const PartonPairVec & partonBins() const
The pairs of PartonBin objects describing the partons which can be extracted by the PartonExtractor o...
Definition:
LesHouchesReader.h:425
ThePEG::LesHouchesReader::LesHouchesReader
LesHouchesReader(const LesHouchesReader &)
Copy-constructor.
ThePEG::LesHouchesReader::XCombMap
map< tcPBPair, XCombPtr > XCombMap
Map of XComb objects describing the incoming partons indexed by the corresponding PartonBin pair.
Definition:
LesHouchesReader.h:94
ThePEG::LesHouchesReader::optionalWeightsNames
vector< string > optionalWeightsNames
vector with the optional weights names
Definition:
LesHouchesReader.h:157
ThePEG::LesHouchesReader::theIncoming
PPair theIncoming
The instances of the incoming particles to the sub process for the current event.
Definition:
LesHouchesReader.h:766
ThePEG::LesHouchesReader::cacheEvent
void cacheEvent() const
Write the current event to the cache file.
ThePEG::LesHouchesReader::reweights
ReweightVector reweights
The reweight objects modifying the weights of this reader.
Definition:
LesHouchesReader.h:788
ThePEG::LesHouchesReader::theCacheFile
CFile theCacheFile
File stream for the cache.
Definition:
LesHouchesReader.h:783
ThePEG::LesHouchesReader::setBeamA
void setBeamA(long id)
Access function for the interface.
ThePEG::LesHouchesReader::getSubProcess
tSubProPtr getSubProcess()
Get a SubProcess object corresponding to the information in the Les Houches common block variables.
ThePEG::LesHouchesReader::scanning
bool scanning
Flag to tell whether we are in the process of scanning.
Definition:
LesHouchesReader.h:710
ThePEG::LesHouchesReader::setBeamB
void setBeamB(long id)
Access function for the interface.
ThePEG::LesHouchesReader::reset
void reset()
Removes the particles created in the last generated event, preparing to produce a new one.
ThePEG::LesHouchesReader::optionalWeights
map< string, double > optionalWeights
The optional weights associated to the last read events.
Definition:
LesHouchesReader.h:837
ThePEG::LesHouchesReader::LesHouchesReader
LesHouchesReader(bool active=false)
Default constructor.
ThePEG::LesHouchesReader::particleIndex
ObjectIndexer< long, Particle > particleIndex
Association between Particles and indices in the current translation.
Definition:
LesHouchesReader.h:755
ThePEG::LesHouchesReader::operator=
LesHouchesReader & operator=(const LesHouchesReader &)=delete
Private and non-existent assignment operator.
ThePEG::LesHouchesReader::open
virtual void open()=0
Open a file or stream with events and read in the run information into the heprup variable.
ThePEG::LesHouchesReader::optionalnpLO
int optionalnpLO
npLO for LesHouches merging
Definition:
LesHouchesReader.h:855
ThePEG::LesHouchesReader::fillEvent
virtual void fillEvent()
Converts the information in the Les Houches common block variables into a Particle objects.
ThePEG::LesHouchesReader::doCutEarly
bool doCutEarly
Determines whether to apply cuts to events before converting them to ThePEG format.
Definition:
LesHouchesReader.h:727
ThePEG::LesHouchesReader::currentPosition
long currentPosition() const
The number of events produced so far.
Definition:
LesHouchesReader.h:351
ThePEG::LesHouchesReader::theXCombs
XCombMap theXCombs
The map of XComb objects indexed by the corresponding PartonBin pair.
Definition:
LesHouchesReader.h:676
ThePEG::LesHouchesReader::initialize
virtual void initialize(LesHouchesEventHandler &eh)
Initialize.
ThePEG::LesHouchesReader::preweights
ReweightVector preweights
The preweight objects modifying the weights of this reader.
Definition:
LesHouchesReader.h:793
ThePEG::LesHouchesReader::partonBinInstances
const PBIPair & partonBinInstances() const
The pair of PartonBinInstance objects describing the current incoming partons in the event.
Definition:
LesHouchesReader.h:304
ThePEG::LesHouchesReader::setPDFB
void setPDFB(PDFPtr)
Access function for the interface.
ThePEG::LesHouchesReader::ReweightVector
vector< ReweightPtr > ReweightVector
A vector of pointers to ReweightBase objects.
Definition:
LesHouchesReader.h:99
ThePEG::LesHouchesReader::optionalEventnpLO
const int & optionalEventnpLO() const
Return the optional npLO and npNLO.
Definition:
LesHouchesReader.h:297
ThePEG::LesHouchesReader::xSecWeights
vector< double > xSecWeights
Individual scales for different sub-processes if reweighted.
Definition:
LesHouchesReader.h:871
ThePEG::LesHouchesReader::xSecStats
const XSecStat & xSecStats() const
The collected cross section statistics for this reader.
Definition:
LesHouchesReader.h:373
ThePEG::LesHouchesReader::active
bool active() const
Return true if this reader is active.
Definition:
LesHouchesReader.h:363
ThePEG::LesHouchesReader::uncacheEvent
bool uncacheEvent()
Read an event from the cache file.
ThePEG::LesHouchesReader::maxWeights
map< int, double > maxWeights
Individual maximum weights for individual (possibly reweighted) processes.
Definition:
LesHouchesReader.h:877
ThePEG::LesHouchesReader::closeCacheFile
void closeCacheFile()
Close the cache file;.
ThePEG::LesHouchesReader::eventSize
static size_t eventSize(int N)
Return the size of this event in bytes.
Definition:
LesHouchesReader.h:266
ThePEG::LesHouchesReader::StatMap
map< int, XSecStat > StatMap
Map for accumulating statistics of cross sections per process number.
Definition:
LesHouchesReader.h:88
ThePEG::LesHouchesReader::openWriteCacheFile
void openWriteCacheFile()
Open the cache file for writing.
ThePEG::LesHouchesReader::maxScan
long maxScan() const
The maximum number of events to scan to collect information about processes and cross sections.
Definition:
LesHouchesReader.h:358
ThePEG::LesHouchesReader::stats
XSecStat stats
Collect statistics for this reader.
Definition:
LesHouchesReader.h:732
ThePEG::LesHouchesReader::setEBeamB
void setEBeamB(Energy e)
Access function for the interface.
ThePEG::LesHouchesReader::outgoing
const PVector & outgoing() const
Return the instances of the outgoing particles from the sub process for the current event.
Definition:
LesHouchesReader.h:318
ThePEG::LesHouchesReader::heprup
HEPRUP heprup
The HEPRUP common block.
Definition:
LesHouchesReader.h:632
ThePEG::LesHouchesReader::checkPartonBin
virtual bool checkPartonBin()
Check the existence of a pair of PartonBin objects corresponding to the current event.
ThePEG::LesHouchesReader::xCombs
XCombMap & xCombs()
The map of XComb objects indexed by the corresponding PartonBin pair.
Definition:
LesHouchesReader.h:587
ThePEG::LesHouchesReader::lastweight
double lastweight
The weight multiplying the last read event due to PDF reweighting, CKKW reweighting or assigned rewei...
Definition:
LesHouchesReader.h:832
ThePEG::LesHouchesReader::theOutgoing
PVector theOutgoing
The instances of the outgoing particles from the sub process for the current event.
Definition:
LesHouchesReader.h:772
ThePEG::LesHouchesReader::initPDFs
virtual void initPDFs()
Called from doinit() to extract PDFs from the event file and add the corresponding objects to the cur...
ThePEG::LesHouchesReader::setWeightScale
virtual void setWeightScale(long neve)
Possibility for subclasses to recover from non-conformant settings of XMAXUP when an event file has b...
ThePEG::LesHouchesReader::close
virtual void close()=0
Close the file or stream from which events have been read.
ThePEG::LesHouchesReader::preInitialize
virtual bool preInitialize() const
Return true if this object needs to be initialized before all other objects because it needs to extra...
ThePEG::LesHouchesReader::statmap
StatMap statmap
Collect statistics for each individual process.
Definition:
LesHouchesReader.h:737
ThePEG::LesHouchesReader::getEBeamB
Energy getEBeamB() const
Access function for the interface.
ThePEG::LesHouchesReader::reject
void reject(double w)
Reject the current event assuming it was previously accepted.
Definition:
LesHouchesReader.h:400
ThePEG::LesHouchesReader::preweight
double preweight
The factor with which this reader was last pre-weighted.
Definition:
LesHouchesReader.h:798
ThePEG::LesHouchesReader::beams
const PPair & beams() const
Return the instances of the beam particles for the current event.
Definition:
LesHouchesReader.h:308
ThePEG::LesHouchesReader::maxFactor
double maxFactor
If the maximum cross section of this reader has been increased with increaseMaxXSec(),...
Definition:
LesHouchesReader.h:850
ThePEG::LesHouchesReader::inData
tcPDPair inData
The ParticleData objects corresponding to the incoming particles.
Definition:
LesHouchesReader.h:642
ThePEG::LesHouchesReader::optionalnpNLO
int optionalnpNLO
npNLO for LesHouches merging
Definition:
LesHouchesReader.h:860
ThePEG::LesHouchesReader::cutEarly
bool cutEarly() const
Determines whether to apply cuts to events converting them to ThePEG format.
Definition:
LesHouchesReader.h:455
ThePEG::LesHouchesReader::theMinMultCKKW
int theMinMultCKKW
If this reader is to be used (possibly together with others) for CKKW reweighting and veto,...
Definition:
LesHouchesReader.h:825
ThePEG::LesHouchesReader::weightScale
CrossSection weightScale
The (reweighted) XWGTUP value should be scaled with this cross section when compared to the overestim...
Definition:
LesHouchesReader.h:866
ThePEG::LesHouchesReader::reopen
void reopen()
Reopen a reader.
ThePEG::LesHouchesReader::intermediates
const PVector & intermediates() const
Return the instances of the intermediate particles in the sub process for the current event.
Definition:
LesHouchesReader.h:323
ThePEG::LesHouchesReader::getPDFA
PDFPtr getPDFA() const
Access function for the interface.
ThePEG::LesHouchesReader::theMaxScan
long theMaxScan
The maximum number of events to scan to collect information about processes and cross sections.
Definition:
LesHouchesReader.h:705
ThePEG::LesHouchesReader::doReadEvent
virtual bool doReadEvent()=0
Read the next event from the file or stream into the corresponding protected variables.
ThePEG::LesHouchesReader::eventWeight
double eventWeight() const
The current event weight given by XWGTUP times possible reweighting.
Definition:
LesHouchesReader.h:282
ThePEG::LesHouchesReader::accept
void accept()
Accept the current event assuming it was previously selcted.
Definition:
LesHouchesReader.h:392
ThePEG::LesHouchesReader::openReadCacheFile
void openReadCacheFile()
Open the cache file for reading.
ThePEG::LesHouchesReader::createParticles
virtual void createParticles()
Create instances of all particles in the event and store them in particleIndex.
ThePEG::LesHouchesReader::colourIndex
ObjectIndexer< long, ColourLine > colourIndex
Association between ColourLines and colour indices in the current translation.
Definition:
LesHouchesReader.h:749
ThePEG::LesHouchesReader::getBeamB
long getBeamB() const
Access function for the interface.
ThePEG::LesHouchesReader::initLesHouchesReader
static AbstractClassDescription< LesHouchesReader > initLesHouchesReader
Describe an abstract base class with persistent data.
Definition:
LesHouchesReader.h:937
ThePEG::LesHouchesReader::isActive
bool isActive
True if this is an active reader.
Definition:
LesHouchesReader.h:715
ThePEG::LesHouchesReader::theIntermediates
PVector theIntermediates
The instances of the intermediate particles in the sub process for the current event.
Definition:
LesHouchesReader.h:778
ThePEG::LesHouchesReader::scan
virtual long scan()
Scan the file or stream to obtain information about cross section weights and particles etc.
ThePEG::LesHouchesReader::xCombs
const XCombMap & xCombs() const
The map of XComb objects indexed by the corresponding PartonBin pair.
Definition:
LesHouchesReader.h:431
ThePEG::LesHouchesReader::optionalEventWeights
const map< string, double > & optionalEventWeights() const
Return the optional named weights associated to the current event.
Definition:
LesHouchesReader.h:287
ThePEG::LesHouchesReader::setEBeamA
void setEBeamA(Energy e)
Access function for the interface.
ThePEG::LesHouchesReader::outPDF
pair< cPDFPtr, cPDFPtr > outPDF
The PDFBase object to be used in the subsequent generation.
Definition:
LesHouchesReader.h:654
ThePEG::LesHouchesReader::skipping
bool skipping
Is set to true when getEvent() is called from skip(int).
Definition:
LesHouchesReader.h:882
ThePEG::LesHouchesReader::theMaxMultCKKW
int theMaxMultCKKW
If this reader is to be used (possibly together with others) for CKKW reweighting and veto,...
Definition:
LesHouchesReader.h:817
ThePEG::LesHouchesReader::thePartonExtractor
PExtrPtr thePartonExtractor
The PartonExtractor object used to construct remnants.
Definition:
LesHouchesReader.h:659
ThePEG::LesHouchesReader::theCacheFileName
string theCacheFileName
Name of file used to cache the events form the reader in a fast-readable form.
Definition:
LesHouchesReader.h:721
ThePEG::LesHouchesReader::LHEEventNum
const long & LHEEventNum() const
Return the Les Houches event number associated with the current event.
Definition:
LesHouchesReader.h:292
ThePEG::LesHouchesReader::CKKWHandler
tCascHdlPtr CKKWHandler() const
Return a possibly null pointer to a CascadeHandler to be used for CKKW-reweighting.
Definition:
LesHouchesReader.h:419
ThePEG::LesHouchesReader::~LesHouchesReader
virtual ~LesHouchesReader()
Destructor.
ThePEG::LesHouchesReader::LHEeventnum
long LHEeventnum
The event number.
Definition:
LesHouchesReader.h:842
ThePEG::LesHouchesReader::dofinish
virtual void dofinish()
Finalize this object.
Definition:
LesHouchesReader.h:609
ThePEG::LesHouchesReader::theMomentumTreatment
unsigned int theMomentumTreatment
Option for the treatment of the momenta supplied.
Definition:
LesHouchesReader.h:887
ThePEG::LesHouchesReader::doinitrun
virtual void doinitrun()
Initialize this object.
ThePEG::LesHouchesReader::initStat
virtual void initStat()
Take the information corresponding to the HEPRUP common block and initialize the statistics for this ...
ThePEG::LesHouchesReader::Init
static void Init()
Standard Init function used to initialize the interfaces.
ThePEG::LesHouchesReader::createBeams
virtual void createBeams()
Create instances of the incoming beams in the event and store them in particleIndex.
ThePEG::LesHouchesReader::doinit
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
ThePEG::LesHouchesReader::NEvents
long NEvents() const
The number of events found in this reader.
Definition:
LesHouchesReader.h:345
ThePEG::LesHouchesReader::cuts
const Cuts & cuts() const
The Cuts object to be used for this reader.
Definition:
LesHouchesReader.h:436
ThePEG::LesHouchesReader::theReOpenAllowed
bool theReOpenAllowed
Option to allow reopening of the file.
Definition:
LesHouchesReader.h:898
ThePEG::LesHouchesReader::incoming
const PPair & incoming() const
Return the instances of the incoming particles to the sub process for the current event.
Definition:
LesHouchesReader.h:313
ThePEG::LesHouchesReader::useWeightWarnings
bool useWeightWarnings
Set to true if warnings about possible weight incompatibilities should be issued.
Definition:
LesHouchesReader.h:893
ThePEG::ObjectIndexer
This is a templated class which dynamically associates (reference counted) objects to integer indices...
Definition:
ObjectIndexer.h:25
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::RCPtr
RCPtr is a reference counted (smart) pointer.
Definition:
RCPtr.h:60
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::XSecStat
XSecStat is a concrete helper class used to collect statistics about the cross section for a specific...
Definition:
XSecStat.h:36
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::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::PBIPair
pair< PBIPtr, PBIPtr > PBIPair
A pair of pointers to PartonBinInstance objects.
Definition:
PartonBinInstance.h:20
ThePEG::operator<<
vector< T > & operator<<(vector< T > &tv, const U &u)
Overload the left shift operator for vector to push_back objects to a vector.
Definition:
Containers.h:179
ThePEG::tcPDPair
pair< tcPDPtr, tcPDPtr > tcPDPair
A pair of transient pointers to const ParticleData objects.
Definition:
Containers.h:124
ThePEG::PVector
vector< PPtr > PVector
A vector of pointers to Particle objects.
Definition:
Containers.h:76
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::ClassTraitsBase::library
static string library()
The name of a file containing the dynamic library where the class T is implemented.
Definition:
ClassTraits.h:85
Generated on Thu Jun 20 2024 14:47:00 for ThePEG by
1.9.6