thepeg
is hosted by
Hepforge
,
IPPP Durham
ThePEG
2.2.1
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
int
&
optionalEventnpLO
()
const
{
return
optionalnpLO
; }
293
const
int
& optionalEventnpNLO()
const
{
return
optionalnpNLO
; }
294
299
const
PBIPair
&
partonBinInstances
()
const
{
return
thePartonBinInstances
; }
303
const
PPair
&
beams
()
const
{
return
theBeams
; }
308
const
PPair
&
incoming
()
const
{
return
theIncoming
; }
313
const
PVector
&
outgoing
()
const
{
return
theOutgoing
; }
318
const
PVector
&
intermediates
()
const
{
return
theIntermediates
; }
325
int
maxMultCKKW
()
const
{
return
theMaxMultCKKW
; }
332
int
minMultCKKW
()
const
{
return
theMinMultCKKW
; }
//@}
333
340
long
NEvents
()
const
{
return
theNEvents
; }
341
346
long
currentPosition
()
const
{
return
position
; }
347
353
long
maxScan
()
const
{
return
theMaxScan
; }
354
358
bool
active
()
const
{
return
isActive
; }
359
363
bool
negativeWeights
()
const
{
return
heprup
.
IDWTUP
< 0; }
364
368
const
XSecStat
&
xSecStats
()
const
{
return
stats
; }
369
373
const
StatMap &
processStats
()
const
{
return
statmap
; }
374
379
void
select
(
double
weight) {
380
stats
.
select
(weight);
381
statmap
[
hepeup
.
IDPRUP
].select(weight);
382
}
383
387
void
accept
() {
388
stats
.
accept
();
389
statmap
[
hepeup
.
IDPRUP
].accept();
390
}
391
395
void
reject
(
double
w) {
396
stats
.
reject
(w);
397
statmap
[
hepeup
.
IDPRUP
].reject(w);
398
}
399
403
virtual
void
increaseMaxXSec
(
CrossSection
maxxsec);
404
408
tPExtrPtr
partonExtractor
()
const
{
return
thePartonExtractor
; }
409
414
tCascHdlPtr
CKKWHandler
()
const
{
return
theCKKW
; }
415
420
const
PartonPairVec &
partonBins
()
const
{
return
thePartonBins
; }
421
426
const
XCombMap &
xCombs
()
const
{
return
theXCombs
; }
427
431
const
Cuts
&
cuts
()
const
{
return
*
theCuts
; }
432
434
435
protected
:
436
439
444
string
cacheFileName
()
const
{
return
theCacheFileName
; }
445
450
bool
cutEarly
()
const
{
return
doCutEarly
; }
451
455
CFile
cacheFile
()
const
{
return
theCacheFile
;}
456
460
void
openReadCacheFile
();
461
465
void
openWriteCacheFile
();
466
470
void
closeCacheFile
();
471
475
void
cacheEvent
()
const
;
476
480
bool
uncacheEvent
();
481
487
void
reopen
();
488
492
template
<
typename
T>
493
static
char
*
mwrite
(
char
* pos,
const
T & t,
size_t
n = 1) {
494
std::memcpy(pos, &t, n*
sizeof
(T));
495
return
pos + n*
sizeof
(T);
496
}
497
501
template
<
typename
T>
502
static
const
char
*
mread
(
const
char
* pos, T & t,
size_t
n = 1) {
503
std::memcpy(&t, pos, n*
sizeof
(T));
504
return
pos + n*
sizeof
(T);
505
}
506
508
517
virtual
bool
checkPartonBin
();
518
523
virtual
void
createParticles
();
524
530
virtual
tcPBPair
createPartonBinInstances
();
531
537
virtual
void
createBeams
();
538
542
virtual
void
connectMothers
();
544
545
public
:
546
553
void
persistentOutput
(
PersistentOStream
& os)
const
;
554
560
void
persistentInput
(
PersistentIStream
& is,
int
version);
562
566
static
void
Init
();
567
568
protected
:
569
576
void
NEvents
(
long
x) {
theNEvents
= x; }
577
582
XCombMap &
xCombs
() {
return
theXCombs
; }
584
592
virtual
void
doinit
();
593
598
virtual
void
doinitrun
();
599
604
virtual
void
dofinish
() {
605
close
();
606
HandlerBase::dofinish
();
607
}
608
613
virtual
bool
preInitialize
()
const
;
614
619
virtual
void
initPDFs
();
621
622
protected
:
623
627
HEPRUP
heprup
;
628
632
HEPEUP
hepeup
;
633
637
tcPDPair
inData
;
638
644
pair<PDFPtr,PDFPtr>
inPDF
;
645
649
pair<cPDFPtr,cPDFPtr>
outPDF
;
650
654
PExtrPtr
thePartonExtractor
;
655
659
tCascHdlPtr
theCKKW
;
660
665
PartonPairVec
thePartonBins
;
666
671
XCombMap
theXCombs
;
672
676
CutsPtr
theCuts
;
677
682
long
theNEvents
;
683
688
long
position
;
689
693
int
reopened
;
694
700
long
theMaxScan
;
701
705
bool
scanning
;
706
710
bool
isActive
;
711
716
string
theCacheFileName
;
717
722
bool
doCutEarly
;
723
727
XSecStat
stats
;
728
732
StatMap
statmap
;
733
738
PBIPair
thePartonBinInstances
;
739
744
ObjectIndexer<long,ColourLine>
colourIndex
;
745
750
ObjectIndexer<long,Particle>
particleIndex
;
751
755
PPair
theBeams
;
756
761
PPair
theIncoming
;
762
767
PVector
theOutgoing
;
768
773
PVector
theIntermediates
;
774
778
CFile
theCacheFile
;
779
783
ReweightVector
reweights
;
784
788
ReweightVector
preweights
;
789
793
double
preweight
;
794
798
bool
reweightPDF
;
799
804
bool
doInitPDFs
;
805
812
int
theMaxMultCKKW
;
813
820
int
theMinMultCKKW
;
821
827
double
lastweight
;
828
832
map<string,double>
optionalWeights
;
833
834
840
double
maxFactor
;
841
845
int
optionalnpLO
;
846
850
int
optionalnpNLO
;
851
856
CrossSection
weightScale
;
857
861
vector<double>
xSecWeights
;
862
867
map<int,double>
maxWeights
;
868
872
bool
skipping
;
873
877
unsigned
int
theMomentumTreatment
;
878
883
bool
useWeightWarnings
;
884
888
bool
theReOpenAllowed
;
889
893
bool
theIncludeSpin
;
894
895
private
:
896
898
void
setBeamA
(
long
id
);
900
long
getBeamA
()
const
;
902
void
setBeamB
(
long
id
);
904
long
getBeamB
()
const
;
906
void
setEBeamA
(
Energy
e);
908
Energy
getEBeamA
()
const
;
910
void
setEBeamB
(
Energy
e);
912
Energy
getEBeamB
()
const
;
914
void
setPDFA
(
PDFPtr
);
916
PDFPtr
getPDFA
()
const
;
918
void
setPDFB
(
PDFPtr
);
920
PDFPtr
getPDFB
()
const
;
921
922
private
:
923
927
static
AbstractClassDescription<LesHouchesReader>
initLesHouchesReader
;
928
932
LesHouchesReader
&
operator=
(
const
LesHouchesReader
&) =
delete
;
933
934
public
:
935
939
class
LesHouchesInconsistencyError:
public
Exception
{};
940
943
class
LesHouchesReopenWarning:
public
Exception
{};
944
947
class
LesHouchesReopenError:
public
Exception
{};
948
951
class
LesHouchesInitError:
public
InitException {};
954
};
955
957
ostream &
operator<<
(ostream & os,
const
HEPEUP
& h);
958
959
}
960
961
962
#include "ThePEG/Utilities/ClassTraits.h"
963
964
namespace
ThePEG
{
965
972
template
<>
973
struct
BaseClassTrait
<LesHouchesReader,1>:
public
ClassTraitsType
{
975
typedef
HandlerBase
NthBase;
976
};
977
983
template
<>
984
struct
ClassTraits
<LesHouchesReader>
985
:
public
ClassTraitsBase
<LesHouchesReader> {
989
static
string
className() {
return
"ThePEG::LesHouchesReader"
; }
995
static
string
library() {
return
"LesHouches.so"
; }
996
997
};
998
1001
}
1002
1003
#endif
/* THEPEG_LesHouchesReader_H */
ThePEG::LesHouchesReader::optionalWeights
map< string, double > optionalWeights
The optional weights associated to the last read events.
Definition:
LesHouchesReader.h:832
ThePEG::tcPDPair
pair< tcPDPtr, tcPDPtr > tcPDPair
A pair of transient pointers to const ParticleData objects.
Definition:
Containers.h:124
ThePEG::LesHouchesReader::theMaxScan
long theMaxScan
The maximum number of events to scan to collect information about processes and cross sections...
Definition:
LesHouchesReader.h:700
ThePEG::LesHouchesReader::CKKWHandler
tCascHdlPtr CKKWHandler() const
Return a possibly null pointer to a CascadeHandler to be used for CKKW-reweighting.
Definition:
LesHouchesReader.h:414
ThePEG::PersistentIStream
PersistentIStream is used to read persistent objects from a stream where they were previously written...
Definition:
PersistentIStream.h:48
ThePEG::XSecStat::select
void select(double weight)
An event of the corresponding class has been attempted.
Definition:
XSecStat.h:117
ThePEG::LesHouchesReader::maxWeights
map< int, double > maxWeights
Individual maximum weights for individual (possibly reweighted) processes.
Definition:
LesHouchesReader.h:867
ThePEG::LesHouchesReader::active
bool active() const
Return true if this reader is active.
Definition:
LesHouchesReader.h:358
ThePEG::LesHouchesReader::getBeamA
long getBeamA() const
Access function for the interface.
ThePEG::LesHouchesReader::xSecWeights
vector< double > xSecWeights
Individual scales for different sub-processes if reweighted.
Definition:
LesHouchesReader.h:861
ThePEG::LesHouchesReader::~LesHouchesReader
virtual ~LesHouchesReader()
Destructor.
ThePEG::LesHouchesReader::reset
void reset()
Removes the particles created in the last generated event, preparing to produce a new one...
ThePEG::LesHouchesReader::xCombs
XCombMap & xCombs()
The map of XComb objects indexed by the corresponding PartonBin pair.
Definition:
LesHouchesReader.h:582
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:502
ThePEG::LesHouchesEventHandler
The LesHouchesEventHandler inherits from the general EventHandler class and administers the reading o...
Definition:
LesHouchesEventHandler.h:41
ThePEG::LesHouchesReader::maxScan
long maxScan() const
The maximum number of events to scan to collect information about processes and cross sections...
Definition:
LesHouchesReader.h:353
ThePEG::LesHouchesReader::beams
const PPair & beams() const
Return the instances of the beam particles for the current event.
Definition:
LesHouchesReader.h:303
ThePEG::LesHouchesReader::initLesHouchesReader
static AbstractClassDescription< LesHouchesReader > initLesHouchesReader
Describe an abstract base class with persistent data.
Definition:
LesHouchesReader.h:927
ThePEG::ClassTraitsType
ClassTraitsType is an empty, non-polymorphic, base class.
Definition:
ClassTraits.h:30
ThePEG::LesHouchesReader::theCacheFileName
string theCacheFileName
Name of file used to cache the events form the reader in a fast-readable form.
Definition:
LesHouchesReader.h:716
ThePEG::LesHouchesReader::thePartonExtractor
PExtrPtr thePartonExtractor
The PartonExtractor object used to construct remnants.
Definition:
LesHouchesReader.h:654
ThePEG::XSecStat::accept
void accept()
An event of the corresponding class has been accepted.
Definition:
XSecStat.h:109
ThePEG::LesHouchesReader::isActive
bool isActive
True if this is an active reader.
Definition:
LesHouchesReader.h:710
ThePEG::LesHouchesReader::initialize
virtual void initialize(LesHouchesEventHandler &eh)
Initialize.
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:325
ThePEG::LesHouchesReader::theXCombs
XCombMap theXCombs
The map of XComb objects indexed by the corresponding PartonBin pair.
Definition:
LesHouchesReader.h:671
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::fillEvent
virtual void fillEvent()
Converts the information in the Les Houches common block variables into a Particle objects...
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:493
ThePEG::LesHouchesReader::skip
virtual void skip(long n)
Skip n events.
ThePEG::LesHouchesReader::setEBeamB
void setEBeamB(Energy e)
Access function for the interface.
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::getBeamB
long getBeamB() const
Access function for the interface.
ThePEG::LesHouchesReader::partonBinInstances
const PBIPair & partonBinInstances() const
The pair of PartonBinInstance objects describing the current incoming partons in the event...
Definition:
LesHouchesReader.h:299
ThePEG::LesHouchesReader::partonExtractor
tPExtrPtr partonExtractor() const
The PartonExtractor object used to construct remnants.
Definition:
LesHouchesReader.h:408
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::LesHouchesReader::incoming
const PPair & incoming() const
Return the instances of the incoming particles to the sub process for the current event...
Definition:
LesHouchesReader.h:308
ThePEG::AbstractClassDescription
A concreate implementation of ClassDescriptionBase describing an abstract class with persistent data...
Definition:
ClassDescription.h:288
ThePEG::LastXCombInfo
LastXCombInfo is a templated class giving easy access to the information in an XComb object...
Definition:
LastXCombInfo.h:32
ThePEG::LesHouchesReader::createBeams
virtual void createBeams()
Create instances of the incoming beams in the event and store them in particleIndex.
ThePEG::LesHouchesReader::theMomentumTreatment
unsigned int theMomentumTreatment
Option for the treatment of the momenta supplied.
Definition:
LesHouchesReader.h:877
ThePEG::LesHouchesReader::processStats
const StatMap & processStats() const
Collected statistics about the individual processes.
Definition:
LesHouchesReader.h:373
ThePEG::LesHouchesReader::doInitPDFs
bool doInitPDFs
Should PDFBase objects be constructed from the information in the event file in the initialization...
Definition:
LesHouchesReader.h:804
ThePEG::LesHouchesReader::uncacheEvent
bool uncacheEvent()
Read an event from the cache file.
ThePEG::LesHouchesReader::select
void select(double weight)
Select the current event.
Definition:
LesHouchesReader.h:379
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::LesHouchesReader::optWeightsNamesFunc
virtual vector< string > optWeightsNamesFunc()=0
return the weight names
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:313
ThePEG::LesHouchesReader::reweightPDF
bool reweightPDF
Should the event be reweighted by PDFs used by the PartonExtractor?
Definition:
LesHouchesReader.h:798
ThePEG::LesHouchesReader::xCombs
const XCombMap & xCombs() const
The map of XComb objects indexed by the corresponding PartonBin pair.
Definition:
LesHouchesReader.h:426
ThePEG::LesHouchesReader::doinit
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
ThePEG::LesHouchesReader::skipping
bool skipping
Is set to true when getEvent() is called from skip(int).
Definition:
LesHouchesReader.h:872
ThePEG::LesHouchesReader::theIncludeSpin
bool theIncludeSpin
Use the spin information.
Definition:
LesHouchesReader.h:893
ThePEG::LesHouchesReader::close
virtual void close()=0
Close the file or stream from which events have been read.
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::LesHouchesReader::checkPartonBin
virtual bool checkPartonBin()
Check the existence of a pair of PartonBin objects corresponding to the current event.
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::operator=
LesHouchesReader & operator=(const LesHouchesReader &)=delete
Private and non-existent assignment operator.
ThePEG::LesHouchesReader::thePartonBinInstances
PBIPair thePartonBinInstances
The pair of PartonBinInstance objects describing the current incoming partons in the event...
Definition:
LesHouchesReader.h:738
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::setBeamB
void setBeamB(long id)
Access function for the interface.
ThePEG
This is the main namespace within which all identifiers in ThePEG are declared.
Definition:
FactoryBase.h:28
ThePEG::LesHouchesReader::getEvent
virtual double getEvent()
Calls readEvent() or uncacheEvent() to read information into the LesHouches common block variables...
ThePEG::LesHouchesReader::theMinMultCKKW
int theMinMultCKKW
If this reader is to be used (possibly together with others) for CKKW reweighting and veto...
Definition:
LesHouchesReader.h:820
ThePEG::LesHouchesReader::doinitrun
virtual void doinitrun()
Initialize this object.
ThePEG::LesHouchesReader::theOutgoing
PVector theOutgoing
The instances of the outgoing particles from the sub process for the current event.
Definition:
LesHouchesReader.h:767
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::cutEarly
bool cutEarly() const
Determines whether to apply cuts to events converting them to ThePEG format.
Definition:
LesHouchesReader.h:450
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::LesHouchesReader::statmap
StatMap statmap
Collect statistics for each individual process.
Definition:
LesHouchesReader.h:732
ThePEG::LesHouchesReader::currentPosition
long currentPosition() const
The number of events produced so far.
Definition:
LesHouchesReader.h:346
ThePEG::LesHouchesReader::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
ThePEG::LesHouchesReader::dofinish
virtual void dofinish()
Finalize this object.
Definition:
LesHouchesReader.h:604
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:444
ThePEG::LesHouchesReader::reject
void reject(double w)
Reject the current event assuming it was previously accepted.
Definition:
LesHouchesReader.h:395
ThePEG::LesHouchesReader::particleIndex
ObjectIndexer< long, Particle > particleIndex
Association between Particles and indices in the current translation.
Definition:
LesHouchesReader.h:750
ThePEG::LesHouchesReader::weightScale
CrossSection weightScale
The (reweighted) XWGTUP value should be scaled with this cross section when compared to the overestim...
Definition:
LesHouchesReader.h:856
ThePEG::LesHouchesReader::reweights
ReweightVector reweights
The reweight objects modifying the weights of this reader.
Definition:
LesHouchesReader.h:783
ThePEG::LesHouchesReader::theReOpenAllowed
bool theReOpenAllowed
Option to allow reopening of the file.
Definition:
LesHouchesReader.h:888
ThePEG::LesHouchesReader::createPartonBinInstances
virtual tcPBPair createPartonBinInstances()
Using the already created particles create a pair of PartonBinInstance objects corresponding to the i...
ThePEG::LesHouchesReader::heprup
HEPRUP heprup
The HEPRUP common block.
Definition:
LesHouchesReader.h:627
ThePEG::LesHouchesReader::connectMothers
virtual void connectMothers()
Go through the mother indices and connect up the Particles.
ThePEG::LesHouchesReader::theIntermediates
PVector theIntermediates
The instances of the intermediate particles in the sub process for the current event.
Definition:
LesHouchesReader.h:773
ThePEG::LesHouchesReader::theIncoming
PPair theIncoming
The instances of the incoming particles to the sub process for the current event. ...
Definition:
LesHouchesReader.h:761
ThePEG::CFile
Here is the documentation of the CFile class.
Definition:
CFile.h:15
ThePEG::LesHouchesReader::setPDFB
void setPDFB(PDFPtr)
Access function for the interface.
ThePEG::LesHouchesReader::theMaxMultCKKW
int theMaxMultCKKW
If this reader is to be used (possibly together with others) for CKKW reweighting and veto...
Definition:
LesHouchesReader.h:812
ThePEG::LesHouchesReader::LesHouchesReader
LesHouchesReader(bool active=false)
Default constructor.
ThePEG::LesHouchesReader::initStat
virtual void initStat()
Take the information corresponding to the HEPRUP common block and initialize the statistics for this ...
ThePEG::LesHouchesReader::reopened
int reopened
The number of times this reader has been reopened.
Definition:
LesHouchesReader.h:693
ThePEG::LesHouchesReader::NEvents
long NEvents() const
The number of events found in this reader.
Definition:
LesHouchesReader.h:340
ThePEG::LesHouchesReader::optionalnpLO
int optionalnpLO
npLO for LesHouches merging
Definition:
LesHouchesReader.h:845
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::LesHouchesReader::eventSize
static size_t eventSize(int N)
Return the size of this event in bytes.
Definition:
LesHouchesReader.h:266
ThePEG::LesHouchesReader::colourIndex
ObjectIndexer< long, ColourLine > colourIndex
Association between ColourLines and colour indices in the current translation.
Definition:
LesHouchesReader.h:744
ThePEG::Pointer::RCPtr
RCPtr is a reference counted (smart) pointer.
Definition:
RCPtr.h:60
ThePEG::InterfacedBase::dofinish
virtual void dofinish()
Finalize this object.
Definition:
InterfacedBase.h:208
ThePEG::LesHouchesReader::StatMap
map< int, XSecStat > StatMap
Map for accumulating statistics of cross sections per process number.
Definition:
LesHouchesReader.h:88
ThePEG::LesHouchesReader::scanning
bool scanning
Flag to tell whether we are in the process of scanning.
Definition:
LesHouchesReader.h:705
ThePEG::LesHouchesReader::negativeWeights
bool negativeWeights() const
True if negative weights may be produced.
Definition:
LesHouchesReader.h:363
ThePEG::LesHouchesReader::createParticles
virtual void createParticles()
Create instances of all particles in the event and store them in particleIndex.
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:420
ThePEG::LesHouchesReader::useWeightWarnings
bool useWeightWarnings
Set to true if warnings about possible weight incompatibilities should be issued. ...
Definition:
LesHouchesReader.h:883
ThePEG::LesHouchesReader::optionalWeightsNames
vector< string > optionalWeightsNames
vector with the optional weights names
Definition:
LesHouchesReader.h:157
ThePEG::Qty< std::ratio< L, DL >, std::ratio< E, DE >, std::ratio< Q, DQ > >
Definition:
PhysicalQty.h:76
ThePEG::LesHouchesReader::getPDFB
PDFPtr getPDFB() const
Access function for the interface.
ThePEG::HandlerBase
HandlerBase is an abstract base class derived from the Interfaced class via the HandlerBaseT class ad...
Definition:
HandlerBase.h:151
ThePEG::LesHouchesReader::setPDFA
void setPDFA(PDFPtr)
Access function for the interface.
ThePEG::LesHouchesReader::inData
tcPDPair inData
The ParticleData objects corresponding to the incoming particles.
Definition:
LesHouchesReader.h:637
ThePEG::LesHouchesReader::eventWeight
double eventWeight() const
The current event weight given by XWGTUP times possible reweighting.
Definition:
LesHouchesReader.h:282
ThePEG::Exception
Exception is the base class for all exceptions to be used in ThePEG.
Definition:
Exception.h:44
ThePEG::LesHouchesReader::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:
LesHouchesReader.h:840
ThePEG::LesHouchesReader::optionalnpNLO
int optionalnpNLO
npNLO for LesHouches merging
Definition:
LesHouchesReader.h:850
ThePEG::LesHouchesReader::setBeamA
void setBeamA(long id)
Access function for the interface.
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::LesHouchesReader::ReweightVector
vector< ReweightPtr > ReweightVector
A vector of pointers to ReweightBase objects.
Definition:
LesHouchesReader.h:99
ThePEG::HEPRUP
The HEPRUP class is a simple container corresponding to the Les Houches accord (hep-ph/0109068) commo...
Definition:
LesHouches.h:26
ThePEG::LesHouchesReader::setEBeamA
void setEBeamA(Energy e)
Access function for the interface.
ThePEG::LesHouchesReader::theCKKW
tCascHdlPtr theCKKW
A pointer to a CascadeHandler to be used for CKKW-reweighting.
Definition:
LesHouchesReader.h:659
ThePEG::LesHouchesReader::position
long position
The number of events produced by this reader so far.
Definition:
LesHouchesReader.h:688
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::theCacheFile
CFile theCacheFile
File stream for the cache.
Definition:
LesHouchesReader.h:778
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::ClassTraits
The default concrete implementation of ClassTraitsBase.
Definition:
ClassTraits.h:134
ThePEG::ObjectIndexer
This is a templated class which dynamically associates (reference counted) objects to integer indices...
Definition:
ObjectIndexer.h:25
ThePEG::LesHouchesReader::getPDFA
PDFPtr getPDFA() const
Access function for the interface.
ThePEG::LesHouchesReader::readEvent
virtual bool readEvent()
Calls doReadEvent() and performs pre-defined reweightings.
ThePEG::LesHouchesReader::preweights
ReweightVector preweights
The preweight objects modifying the weights of this reader.
Definition:
LesHouchesReader.h:788
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::LesHouchesReader::getXComb
tXCombPtr getXComb()
Get an XComb object.
ThePEG::LesHouchesReader::xSecStats
const XSecStat & xSecStats() const
The collected cross section statistics for this reader.
Definition:
LesHouchesReader.h:368
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:644
ThePEG::LesHouchesReader::theBeams
PPair theBeams
The instances of the beam particles for the current event.
Definition:
LesHouchesReader.h:755
ThePEG::LesHouchesReader::doReadEvent
virtual bool doReadEvent()=0
Read the next event from the file or stream into the corresponding protected variables.
ThePEG::Qty< 0, 1, 0 >
ThePEG::LesHouchesReader::reopen
void reopen()
Reopen a reader.
ThePEG::LesHouchesReader::doCutEarly
bool doCutEarly
Determines whether to apply cuts to events before converting them to ThePEG format.
Definition:
LesHouchesReader.h:722
ThePEG::LesHouchesReader::outPDF
pair< cPDFPtr, cPDFPtr > outPDF
The PDFBase object to be used in the subsequent generation.
Definition:
LesHouchesReader.h:649
ThePEG::LesHouchesReader::getEBeamB
Energy getEBeamB() const
Access function for the interface.
ThePEG::LesHouchesReader::scan
virtual long scan()
Scan the file or stream to obtain information about cross section weights and particles etc...
ThePEG::LesHouchesReader::openReadCacheFile
void openReadCacheFile()
Open the cache file for reading.
ThePEG::LesHouchesReader::openWriteCacheFile
void openWriteCacheFile()
Open the cache file for writing.
ThePEG::LesHouchesReader::preweight
double preweight
The factor with which this reader was last pre-weighted.
Definition:
LesHouchesReader.h:793
ThePEG::LesHouchesReader::getEBeamA
Energy getEBeamA() const
Access function for the interface.
ThePEG::LesHouchesReader::optionalEventnpLO
const int & optionalEventnpLO() const
Return the optional npLO and npNLO.
Definition:
LesHouchesReader.h:292
ThePEG::LesHouchesReader::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
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:332
ThePEG::LesHouchesReader::NEvents
void NEvents(long x)
The number of events in this reader.
Definition:
LesHouchesReader.h:576
ThePEG::LesHouchesReader::accept
void accept()
Accept the current event assuming it was previously selcted.
Definition:
LesHouchesReader.h:387
ThePEG::PVector
vector< PPtr > PVector
A vector of pointers to Particle objects.
Definition:
Containers.h:76
ThePEG::LesHouchesReader::stats
XSecStat stats
Collect statistics for this reader.
Definition:
LesHouchesReader.h:727
ThePEG::LesHouchesReader::getSubProcess
tSubProPtr getSubProcess()
Get a SubProcess object corresponding to the information in the Les Houches common block variables...
ThePEG::HEPEUP::XWGTUP
double XWGTUP
The weight for this event.
Definition:
LesHouches.h:182
ThePEG::BaseClassTrait
BaseClassTraits describes the base classes of the templated class.
Definition:
ClassTraits.h:156
ThePEG::XSecStat
XSecStat is a concrete helper class used to collect statistics about the cross section for a specific...
Definition:
XSecStat.h:36
ThePEG::LesHouchesReader::theNEvents
long theNEvents
The number of events in this reader.
Definition:
LesHouchesReader.h:682
ThePEG::LesHouchesReader::cacheEvent
void cacheEvent() const
Write the current event to the cache file.
ThePEG::LesHouchesReader::cacheFile
CFile cacheFile() const
File stream for the cache.
Definition:
LesHouchesReader.h:455
ThePEG::LesHouchesReader::lastweight
double lastweight
The weight multiplying the last read event due to PDF reweighting, CKKW reweighting or assigned rewei...
Definition:
LesHouchesReader.h:827
ThePEG::LesHouchesReader::Init
static void Init()
Standard Init function used to initialize the interfaces.
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:318
ThePEG::LesHouchesReader::thePartonBins
PartonPairVec thePartonBins
The pairs of PartonBin objects describing the partons which can be extracted by the PartonExtractor o...
Definition:
LesHouchesReader.h:665
ThePEG::Cuts
Cuts is a class for implementing kinematical cuts in ThePEG.
Definition:
Cuts.h:53
ThePEG::LesHouchesReader::increaseMaxXSec
virtual void increaseMaxXSec(CrossSection maxxsec)
Increase the overestimated cross section for this reader.
ThePEG::LesHouchesReader::reweight
double reweight()
Reweights the current event using the reweights and preweights vectors.
ThePEG::LesHouchesReader::theCuts
CutsPtr theCuts
The Cuts object to be used for this reader.
Definition:
LesHouchesReader.h:676
ThePEG::ClassTraitsBase
The templated ClassTraitsBase class defines a set of default information about classes used by ThePEG...
Definition:
ClassTraits.h:52
ThePEG::LesHouchesReader::cuts
const Cuts & cuts() const
The Cuts object to be used for this reader.
Definition:
LesHouchesReader.h:431
ThePEG::LesHouchesReader::hepeup
HEPEUP hepeup
The HEPEUP common block.
Definition:
LesHouchesReader.h:632
ThePEG::LesHouchesReader::closeCacheFile
void closeCacheFile()
Close the cache file;.
Generated on Sat Apr 11 2020 14:31:17 for ThePEG by
1.8.13