ThePEG
1.8.0
|
LesHouchesFileReader is an base class to be used for objects which reads event files from matrix element generators. More...
#include <LesHouchesFileReader.h>
Public Member Functions | |
string | filename () const |
Return the name of the file from where to read events. | |
Standard constructors and destructors. | |
LesHouchesFileReader () | |
Default constructor. | |
LesHouchesFileReader (const LesHouchesFileReader &) | |
Copy-constructor. | |
virtual | ~LesHouchesFileReader () |
Destructor. | |
Virtual functions specified by the LesHouchesReader base class. | |
virtual void | initialize (LesHouchesEventHandler &eh) |
Initialize. | |
virtual void | open () |
Open a file with events. | |
virtual void | close () |
Close the file from which events have been read. | |
virtual bool | doReadEvent () |
Read the next event from the file or stream into the corresponding protected variables. | |
Functions used by the persistent I/O system. | |
void | persistentOutput (PersistentOStream &os) const |
Function used to write out object persistently. | |
void | persistentInput (PersistentIStream &is, int version) |
Function used to read in object persistently. | |
![]() | |
LesHouchesReader (bool active=false) | |
Default constructor. | |
LesHouchesReader (const LesHouchesReader &) | |
Copy-constructor. | |
virtual | ~LesHouchesReader () |
Destructor. | |
virtual double | getEvent () |
Calls readEvent() or uncacheEvent() to read information into the LesHouches common block variables. | |
virtual bool | readEvent () |
Calls doReadEvent() and performs pre-defined reweightings. | |
virtual void | skip (long n) |
Skip n events. | |
tXCombPtr | getXComb () |
Get an XComb object. | |
tSubProPtr | getSubProcess () |
Get a SubProcess object corresponding to the information in the Les Houches common block variables. | |
virtual long | scan () |
Scan the file or stream to obtain information about cross section weights and particles etc. | |
virtual void | initStat () |
Take the information corresponding to the HEPRUP common block and initialize the statistics for this reader. | |
double | reweight () |
Reweights the current event using the reweights and preweights vectors. | |
virtual void | fillEvent () |
Converts the information in the Les Houches common block variables into a Particle objects. | |
void | reset () |
Removes the particles created in the last generated event, preparing to produce a new one. | |
virtual void | setWeightScale (long neve) |
Possibility for subclasses to recover from non-conformant settings of XMAXUP when an event file has been scanned with neve events. | |
long | NEvents () const |
The number of events found in this reader. | |
long | currentPosition () const |
The number of events produced so far. | |
long | maxScan () const |
The maximum number of events to scan to collect information about processes and cross sections. | |
bool | active () const |
Return true if this reader is active. | |
bool | negativeWeights () const |
True if negative weights may be produced. | |
const XSecStat & | xSecStats () const |
The collected cross section statistics for this reader. | |
const StatMap & | processStats () const |
Collected statistics about the individual processes. | |
void | select (double weight) |
Select the current event. | |
void | accept () |
Accept the current event assuming it was previously selcted. | |
void | reject (double w) |
Reject the current event assuming it was previously accepted. | |
virtual void | increaseMaxXSec (CrossSection maxxsec) |
Increase the overestimated cross section for this reader. | |
tPExtrPtr | partonExtractor () const |
The PartonExtractor object used to construct remnants. | |
tCascHdlPtr | CKKWHandler () const |
Return a possibly null pointer to a CascadeHandler to be used for CKKW-reweighting. | |
const PartonPairVec & | partonBins () const |
The pairs of PartonBin objects describing the partons which can be extracted by the PartonExtractor object. | |
const XCombMap & | xCombs () const |
The map of XComb objects indexed by the corresponding PartonBin pair. | |
const Cuts & | cuts () const |
The Cuts object to be used for this reader. | |
double | eventWeight () const |
The current event weight given by XWGTUP times possible reweighting. | |
const map< string, double > & | optionalEventWeights () const |
Return the optional named weights associated to the current event. | |
const PBIPair & | partonBinInstances () const |
The pair of PartonBinInstance objects describing the current incoming partons in the event. | |
const PPair & | beams () const |
Return the instances of the beam particles for the current event. | |
const PPair & | incoming () const |
Return the instances of the incoming particles to the sub process for the current event. | |
const PVector & | outgoing () const |
Return the instances of the outgoing particles from the sub process for the current event. | |
const PVector & | intermediates () const |
Return the instances of the intermediate particles in the sub process for the current event. | |
int | maxMultCKKW () const |
If this reader is to be used (possibly together with others) for CKKW reweighting and veto, this should give the multiplicity of outgoing particles in the highest multiplicity matrix element in the group. | |
int | minMultCKKW () const |
If this reader is to be used (possibly together with others) for CKKW reweighting and veto, this should give the multiplicity of outgoing particles in the lowest multiplicity matrix element in the group. | |
![]() | |
const XComb & | lastXComb () const |
Return a reference to the last selected XComb. | |
tXCPtr | lastXCombPtr () const |
Return a pointer to the last selected XComb. | |
const XComb & | lastHeadXComb () const |
If the last selected XComb object belongs to a group of XComb's return a reference to the head XComb object for this group. | |
tXCPtr | lastHeadXCombPtr () const |
If the last selected XComb object belongs to a group of XComb's return a pointer to the head XComb object for this group. | |
const EventHandler & | lastEventHandler () const |
Return a reference to the currently used EventHandler. | |
tPExtrPtr | lastExtractor () const |
A pointer to the currently used parton extractor. | |
PDFT | pdf (tcPPtr parton) const |
Return the parton density used to extract the given parton. | |
const Cuts & | lastCuts () const |
A reference to the currently used kinematical cuts. | |
tCutsPtr | lastCutsPtr () const |
A pointer to the currently used kinematical cuts. | |
const PPair & | lastParticles () const |
Return the pair of incoming parton instances. | |
Energy2 | lastS () const |
The last generated total energy squared of the incoming particles. | |
const PPair & | lastPartons () const |
Return the pair of incoming parton instances. | |
Energy2 | lastSHat () const |
The last used interval in total parton-parton energy squared. | |
double | lastTau () const |
Return lastSHat()/lastS(). | |
double | lastY () const |
The generated rapidity of the hard scattering sub-system. | |
double | lastP1 () const |
Log of one over the momentum fraction of the first incoming particle w.r.t. | |
double | lastP2 () const |
Log of one over the momentum fraction of the second incoming particle w.r.t. | |
double | lastL1 () const |
Log of one over the first incoming parton momentum fraction w.r.t. | |
double | lastL2 () const |
Log of one over the second incoming parton momentum fraction w.r.t. | |
double | lastX1 () const |
The first incoming parton momentum fraction w.r.t. | |
double | lastX2 () const |
The second incoming parton momentum fraction w.r.t. | |
double | lastE1 () const |
Return 1-lastX1() to highest possible precision for x ![]() | |
double | lastE2 () const |
Return 1-lastX2() to highest possible precision for x ![]() | |
double | lastFL1L2 () const |
The product of the parton density functions at the last generated phase-space point. | |
Energy2 | lastScale () const |
The chosen scale of the hard scattering. | |
double | lastAlphaS () const |
Get the ![]() | |
double | lastAlphaEM () const |
Get the ![]() | |
const vector< Lorentz5Momentum > & | meMomenta () const |
Return the momenta of the incoming and outgoing partons to be used by the matrix element object, in the order specified by the TreeDiagram objects given by the matrix element. | |
double | lastME2 () const |
Return the matrix element squared as calculated for the last phase space point. | |
double | jacobian () const |
Get the last jacobian obtained when generating the kinematics for the call to dSigHatDR. | |
CrossSection | lastMECrossSection () const |
Return the partonic cross section as calculated for the last phase space point. | |
double | lastMEPDFWeight () const |
Return the PDF weight as calculated for the last phase space point, if the matrix element does supply PDF weights. | |
tSubProPtr | subProcess () const |
Return the SubProcess object corresponding to the last generated sub-process. | |
const cPDVector & | mePartonData () const |
Return the incoming and outgoing parton types to be used by the matrix element object, in the order specified by the TreeDiagram objects given by the matrix element. |
Static Public Member Functions | |
static void | Init () |
Standard Init function used to initialize the interfaces. | |
![]() | |
static size_t | eventSize (int N) |
Return the size of this event in bytes. |
Protected Member Functions | |
Clone Methods. | |
virtual IBPtr | clone () const |
Make a simple clone of this object. | |
virtual IBPtr | fullclone () const |
Make a clone of this object, possibly modifying the cloned object to make it sane. | |
![]() | |
virtual bool | checkPartonBin () |
Check the existence of a pair of PartonBin objects corresponding to the current event. | |
virtual void | createParticles () |
Create instances of all particles in the event and store them in particleIndex. | |
virtual tcPBPair | createPartonBinInstances () |
Using the already created particles create a pair of PartonBinInstance objects corresponding to the incoming partons. | |
virtual void | createBeams () |
Create instances of the incoming beams in the event and store them in particleIndex. | |
virtual void | connectMothers () |
Go through the mother indices and connect up the Particles. | |
void | NEvents (long x) |
The number of events in this reader. | |
XCombMap & | xCombs () |
The map of XComb objects indexed by the corresponding PartonBin pair. | |
virtual void | doinitrun () |
Initialize this object. | |
virtual void | dofinish () |
Finalize this object. | |
virtual void | initPDFs () |
Called from doinit() to extract PDFs from the event file and add the corresponding objects to the current EventGenerator. | |
string | cacheFileName () const |
Name of file used to cache the events form the reader in a fast-readable form. | |
bool | cutEarly () const |
Determines whether to apply cuts to events converting them to ThePEG format. | |
CFile | cacheFile () const |
File stream for the cache. | |
void | openReadCacheFile () |
Open the cache file for reading. | |
void | openWriteCacheFile () |
Open the cache file for writing. | |
void | closeCacheFile () |
Close the cache file;. | |
void | cacheEvent () const |
Write the current event to the cache file. | |
bool | uncacheEvent () |
Read an event from the cache file. | |
void | reopen () |
Reopen a reader. |
Standard (and non-standard) Interfaced functions. | |
CFileLineReader | cfile |
The wrapper around the C FILE stream from which to read. | |
long | neve |
The number of events in this file. | |
long | ieve |
The current event number. | |
string | LHFVersion |
If the file is a standard Les Houches formatted file (LHF) this is its version number. | |
string | outsideBlock |
If LHF. | |
string | headerBlock |
If LHF. | |
string | initComments |
If LHF. | |
map< string, string > | initAttributes |
If LHF. | |
string | eventComments |
If LHF. | |
map< string, string > | eventAttributes |
If LHF. | |
string | theFileName |
The name of the file from where to read events. | |
bool | theQNumbers |
Whether or not to search for QNUMBERS stuff. | |
DecayerPtr | theDecayer |
Decayer for any decay modes read from the file. | |
static ClassDescription < LesHouchesFileReader > | initLesHouchesFileReader |
Describe an abstract base class with persistent data. | |
virtual void | doinit () |
Initialize this object after the setup phase before saving an EventGenerator to disk. | |
virtual bool | preInitialize () const |
Return true if this object needs to be initialized before all other objects because it needs to extract PDFs from the event file. | |
LesHouchesFileReader & | operator= (const LesHouchesFileReader &) |
Private and non-existent assignment operator. |
Additional Inherited Members | |
![]() | |
template<typename T > | |
static char * | mwrite (char *pos, const T &t, size_t n=1) |
Helper function to write a variable to a memory location. | |
template<typename T > | |
static const char * | mread (const char *pos, T &t, size_t n=1) |
Helper function to read a variable from a memory location. | |
![]() | |
HEPRUP | heprup |
The HEPRUP common block. | |
HEPEUP | hepeup |
The HEPEUP common block. | |
tcPDPair | inData |
The ParticleData objects corresponding to the incoming particles. | |
pair< PDFPtr, PDFPtr > | inPDF |
The PDFBase objects which has been used for the beam particle when generating the events being read. | |
pair< cPDFPtr, cPDFPtr > | outPDF |
The PDFBase object to be used in the subsequent generation. | |
PExtrPtr | thePartonExtractor |
The PartonExtractor object used to construct remnants. | |
tCascHdlPtr | theCKKW |
A pointer to a CascadeHandler to be used for CKKW-reweighting. | |
PartonPairVec | thePartonBins |
The pairs of PartonBin objects describing the partons which can be extracted by the PartonExtractor object. | |
XCombMap | theXCombs |
The map of XComb objects indexed by the corresponding PartonBin pair. | |
CutsPtr | theCuts |
The Cuts object to be used for this reader. | |
long | theNEvents |
The number of events in this reader. | |
long | position |
The number of events produced by this reader so far. | |
int | reopened |
The number of times this reader has been reopened. | |
long | theMaxScan |
The maximum number of events to scan to collect information about processes and cross sections. | |
bool | scanning |
Flag to tell whether we are in the process of scanning. | |
bool | isActive |
True if this is an active reader. | |
string | theCacheFileName |
Name of file used to cache the events form the reader in a fast-readable form. | |
bool | doCutEarly |
Determines whether to apply cuts to events before converting them to ThePEG format. | |
XSecStat | stats |
Collect statistics for this reader. | |
StatMap | statmap |
Collect statistics for each individual process. | |
PBIPair | thePartonBinInstances |
The pair of PartonBinInstance objects describing the current incoming partons in the event. | |
ObjectIndexer< long, ColourLine > | colourIndex |
Association between ColourLines and colour indices in the current translation. | |
ObjectIndexer< long, Particle > | particleIndex |
Association between Particles and indices in the current translation. | |
PPair | theBeams |
The instances of the beam particles for the current event. | |
PPair | theIncoming |
The instances of the incoming particles to the sub process for the current event. | |
PVector | theOutgoing |
The instances of the outgoing particles from the sub process for the current event. | |
PVector | theIntermediates |
The instances of the intermediate particles in the sub process for the current event. | |
CFile | theCacheFile |
File stream for the cache. | |
ReweightVector | reweights |
The reweight objects modifying the weights of this reader. | |
ReweightVector | preweights |
The preweight objects modifying the weights of this reader. | |
double | preweight |
The factor with which this reader was last pre-weighted. | |
bool | reweightPDF |
Should the event be reweighted by PDFs used by the PartonExtractor? | |
bool | doInitPDFs |
Should PDFBase objects be constructed from the information in the event file in the initialization? | |
int | theMaxMultCKKW |
If this reader is to be used (possibly together with others) for CKKW reweighting and veto, this should give the multiplicity of outgoing particles in the highest multiplicity matrix element in the group. | |
int | theMinMultCKKW |
If this reader is to be used (possibly together with others) for CKKW reweighting and veto, this should give the multiplicity of outgoing particles in the lowest multiplicity matrix element in the group. | |
double | lastweight |
The weight multiplying the last read event due to PDF reweighting, CKKW reweighting or assigned reweight and preweight objects. | |
map< string, double > | optionalWeights |
The optional weights associated to the last read events. | |
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. | |
CrossSection | weightScale |
The (reweighted) XWGTUP value should be scaled with this cross section when compared to the overestimated cross section. | |
vector< double > | xSecWeights |
Individual scales for different sub-processes if reweighted. | |
map< int, double > | maxWeights |
Individual maximum weights for individual (possibly reweighted) processes. | |
bool | skipping |
Is set to true when getEvent() is called from skip(int). | |
unsigned int | theMomentumTreatment |
Option for the treatment of the momenta supplied. | |
bool | useWeightWarnings |
Set to true if warnings about possible weight incompatibilities should be issued. | |
bool | theReOpenAllowed |
Option to allow reopening of the file. | |
bool | theIncludeSpin |
Use the spin information. | |
![]() | |
XCPtr | theLastXComb |
The pointer to the last selected XComb. |
LesHouchesFileReader is an base class to be used for objects which reads event files from matrix element generators.
It inherits from LesHouchesReader and extends it by defining a file handle to be read from, which is opened and closed by the open() and close() functions. Note that the file handle is a standard C filehandle and not a C++ stream. This is because there is no standard way in C++ to connect a pipe to a stream for reading eg. gzipped files. This class is able to read plain event files conforming to the Les Houches Event File accord.
Definition at line 37 of file LesHouchesFileReader.h.
ThePEG::LesHouchesFileReader::LesHouchesFileReader | ( | const LesHouchesFileReader & | ) |
Copy-constructor.
Note that a file which is opened in the object copied from will have to be reopened in this.
|
protectedvirtual |
Make a simple clone of this object.
Implements ThePEG::InterfacedBase.
Reimplemented in ThePEG::MadGraphReader.
|
protectedvirtual |
Initialize this object after the setup phase before saving an EventGenerator to disk.
InitException | if object could not be initialized properly. |
Reimplemented from ThePEG::LesHouchesReader.
Reimplemented in ThePEG::MadGraphReader.
|
virtual |
Read the next event from the file or stream into the corresponding protected variables.
Return false if there is no more events or if this was not a LHF event file.
Implements ThePEG::LesHouchesReader.
Reimplemented in ThePEG::MadGraphReader.
|
protectedvirtual |
Make a clone of this object, possibly modifying the cloned object to make it sane.
Reimplemented from ThePEG::InterfacedBase.
Reimplemented in ThePEG::MadGraphReader.
|
virtual |
Initialize.
This function is called by the LesHouchesEventHandler to which this object is assigned.
Reimplemented from ThePEG::LesHouchesReader.
|
virtual |
Open a file with events.
Derived classes should overwrite it and first calling it before reading in the run information into the corresponding protected variables.
Implements ThePEG::LesHouchesReader.
Reimplemented in ThePEG::MadGraphReader.
void ThePEG::LesHouchesFileReader::persistentInput | ( | PersistentIStream & | is, |
int | version | ||
) |
Function used to read in object persistently.
is | the persistent input stream read from. |
version | the version number of the object when written. |
Reimplemented from ThePEG::LesHouchesReader.
Reimplemented in ThePEG::MadGraphReader.
void ThePEG::LesHouchesFileReader::persistentOutput | ( | PersistentOStream & | os | ) | const |
Function used to write out object persistently.
os | the persistent output stream written to. |
Reimplemented from ThePEG::LesHouchesReader.
Reimplemented in ThePEG::MadGraphReader.
|
protected |
If LHF.
Map of attributes (name-value pairs) found in the last event tag.
Definition at line 208 of file LesHouchesFileReader.h.
|
protected |
If LHF.
Additional comments found with the last read event.
Definition at line 202 of file LesHouchesFileReader.h.
|
protected |
|
protected |
If LHF.
Map of attributes (name-value pairs) found in the init tag.
Definition at line 197 of file LesHouchesFileReader.h.
|
protected |
If LHF.
Additional comments found in the init block.
Definition at line 191 of file LesHouchesFileReader.h.
|
protected |
If the file is a standard Les Houches formatted file (LHF) this is its version number.
If empty, this is not a Les Houches formatted file
Definition at line 175 of file LesHouchesFileReader.h.
|
protected |
If LHF.
All lines (since the last open() or readEvent()) outside the header, init and event tags.
Definition at line 181 of file LesHouchesFileReader.h.