thepeg is hosted by Hepforge, IPPP Durham
ThePEG 2.3.0
ThePEG::LesHouchesFileReader Class Reference

LesHouchesFileReader is an base class to be used for objects which reads event files from matrix element generators. More...

#include <LesHouchesFileReader.h>

Inheritance diagram for ThePEG::LesHouchesFileReader:

Public Member Functions

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.
 
string filename () const
 Return the name of the file from where to read events.
 
virtual vector< string > optWeightsNamesFunc ()
 Return the optional weights information string ("Names")
 
- Public Member Functions inherited from ThePEG::LesHouchesReader
 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 XSecStatxSecStats () const
 The collected cross section statistics for this reader.
 
const StatMapprocessStats () 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 XCombMapxCombs () const
 The map of XComb objects indexed by the corresponding PartonBin pair.
 
const Cutscuts () 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 long & LHEEventNum () const
 Return the Les Houches event number associated with the current event.
 
const int & optionalEventnpLO () const
 Return the optional npLO and npNLO.
 
const int & optionalEventnpNLO () const
 
const PBIPairpartonBinInstances () const
 The pair of PartonBinInstance objects describing the current incoming partons in the event.
 
const PPairbeams () const
 Return the instances of the beam particles for the current event.
 
const PPairincoming () const
 Return the instances of the incoming particles to the sub process for the current event.
 
const PVectoroutgoing () const
 Return the instances of the outgoing particles from the sub process for the current event.
 
const PVectorintermediates () 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.
 
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.
 
- Public Member Functions inherited from ThePEG::HandlerBaseT< UseRandom >
virtual ~HandlerBaseT ()
 Destructor.
 
double rnd () const
 Return a simple flat random number in the range ]0,1[.
 
double rnd (double xu) const
 Return a simple flat random number in the range ]0,xu[.
 
double rnd (double xl, double xu) const
 Return a simple flat random number in the range ]xl,xu[.
 
bool rndbool () const
 Return true with 50% probability.
 
bool rndbool (double p) const
 Return a true with probability p.
 
bool rndbool (double p1, double p2) const
 Return a true with probability p1/(p1+p2).
 
int rndsign (double p1, double p2, double p3) const
 Return -1, 0, or 1 with relative probabilities p1, p2, p3.
 
int rnd2 (double p0, double p1) const
 Return an integer \(i\) with probability p \(i\)/(p0+p1).
 
int rnd3 (double p0, double p1, double p2) const
 Return an integer \(i\) with probability p \(i\)/(p0+p1+p2).
 
int rnd4 (double p0, double p1, double p2, double p3) const
 Return an integer/ \(i\) with probability p \(i\)(p0+p1+p2+p3).
 
long irnd (long xu=2) const
 Return a simple flat random integrer number in the range [0,xu[.
 
long irnd (long xl, long xu) const
 Return a simple flat random integrer number in the range [xl,xu[.
 
const StandardModelBaseSM () const
 Return a reference to the object containing the standard model parameters for this run.
 
tSMPtr standardModel () const
 Return a pointer to the object containing the standard model parameters for this run.
 
- Public Member Functions inherited from ThePEG::Interfaced
virtual ~Interfaced ()
 Empty virtual destructor.
 
virtual bool defaultInit ()
 Functions which are to be used during the actual event generation, after the setup is complete.
 
PPtr getParticle (PID) const
 Create a new Particle instance given a id number.
 
PDPtr getParticleData (PID) const
 Return a pointer to the ParticleData object corresponding to the given id number.
 
bool used () const
 Returns true if this object has actally been used.
 
void useMe () const
 Should be called to indicate that this object has actually been used.
 
tEGPtr generator () const
 Return a pointer to the EventGenerator controlling the run.
 
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.
 
- Public Member Functions inherited from ThePEG::InterfacedBase
virtual ~InterfacedBase ()
 The virtual (empty) destructor;.
 
string fullName () const
 Returns the full name of this object including its path, e.g.
 
string name () const
 Returns the name of this object, without the path.
 
string path () const
 Returns the path to this object including the trailing '/'.
 
string comment () const
 Returns a comment assigned to this object.
 
void setup (istream &is)
 Read setup info from a standard istream is.
 
void update ()
 Calls the doupdate() function with recursion prevention.
 
void init ()
 Calls the doinit() function with recursion prevention.
 
void initrun ()
 Calls the doinitrun() function with recursion prevention.
 
void finish ()
 Calls the dofinish() function with recursion prevention.
 
void touch ()
 This function should be called every time something in this object has changed in a way that a sanity check with update() is needed.
 
void reset ()
 Set the state of this object to uninitialized.
 
void clear ()
 Calls reset() and unTouch().
 
InitState state () const
 Return the state of initialization of this object.
 
bool locked () const
 Return true if the BaseRepository is not allowed to change the state of this object.
 
bool touched () const
 Return true if the state of this object has been changed since the last call to update().
 
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.
 
virtual void debugme () const
 Print out debugging information for this object on std::cerr.
 
- Public Member Functions inherited from ThePEG::Base
virtual ~Base ()
 The virtual destructor.
 
void debug () const
 Print out debugging information for this object on std::cerr.
 
virtual void debugme () const
 Print out debugging information for this object on std::cerr.
 
- Public Member Functions inherited from ThePEG::Pointer::ReferenceCounted
CounterType referenceCount () const
 Return the reference count.
 
- Public Member Functions inherited from ThePEG::Named
 Named (const string &newName=string())
 Constructor with name.
 
 Named (const Named &)=default
 Explicit default copy-constructor (too avoid compiler warnings)
 
const string & name () const
 Return name.
 
bool operator== (const Named &other) const
 Test for equality.
 
bool operator< (const Named &other) const
 Lexicographical comparison.
 
- Public Member Functions inherited from ThePEG::LastXCombInfo< XC >
const XC & lastXComb () const
 Return a reference to the last selected XComb.
 
tXCPtr lastXCombPtr () const
 Return a pointer to the last selected XComb.
 
const XC & 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 EventHandlerlastEventHandler () const
 Return a reference to the currently used EventHandler.
 
tPExtrPtr lastExtractor () const
 A pointer to the currently used parton extractor.
 
template<typename PDFT >
PDFT pdf (tcPPtr parton) const
 Return the parton density used to extract the given parton.
 
const CutslastCuts () const
 A reference to the currently used kinematical cuts.
 
tCutsPtr lastCutsPtr () const
 A pointer to the currently used kinematical cuts.
 
const PPairlastParticles () const
 Return the pair of incoming parton instances.
 
Energy2 lastS () const
 The last generated total energy squared of the incoming particles.
 
const PPairlastPartons () 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 \(\rightarrow\) 1.
 
double lastE2 () const
 Return 1-lastX2() to highest possible precision for x \(\rightarrow\) 1.
 
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 \(\alpha_S\) used in the hard scattering.
 
double lastAlphaEM () const
 Get the \(\alpha_{EM}\) used in the hard scattering.
 
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 lastPreweight () const
 Return the last preweight factor.
 
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.
 
double lastMECouplings () const
 Return the coupling weight as calculated for the last phase space point.
 
tSubProPtr subProcess () const
 Return the SubProcess object corresponding to the last generated sub-process.
 
const cPDVectormePartonData () 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.
 

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.
 
- Protected Member Functions inherited from ThePEG::LesHouchesReader
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.
 
XCombMapxCombs ()
 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.
 
- Protected Member Functions inherited from ThePEG::Interfaced
void reporeg (IBPtr object, string name) const
 Register the given object in the Repository with the given name in a subdirectory with the same name as this object.
 
template<typename PtrT >
bool setDefaultReference (PtrT &ptr, string classname, string objectname)
 If the pointer, ptr, to an object is not set, create an object of class classname and register it with the Repository with the given objectname in a sib-directory with the same name as this object.
 
 Interfaced ()
 Protected default constructor.
 
 Interfaced (const string &newName)
 Protected constructor taking a name as argument.
 
 Interfaced (const Interfaced &i)
 Protected copy-constructor.
 
void setGenerator (tEGPtr generator)
 Protected function to reset the generator pointer, required for automatic decayer generation in Herwig++ BSM models.
 
- Protected Member Functions inherited from ThePEG::InterfacedBase
virtual void readSetup (istream &is)
 Read setup info from a standard istream is.
 
virtual void doupdate ()
 Check sanity of the object during the setup phase.
 
virtual IVector getReferences ()
 Return a vector of all pointers to Interfaced objects used in this object.
 
virtual void rebind (const TranslationMap &)
 Rebind pointer to other Interfaced objects.
 
 InterfacedBase ()
 Protected default constructor.
 
 InterfacedBase (string newName)
 Protected constructor with the name given as argument.
 
 InterfacedBase (const InterfacedBase &i)
 Protected copy-constructor.
 
- Protected Member Functions inherited from ThePEG::Pointer::ReferenceCounted
 ReferenceCounted ()
 Default constructor.
 
 ReferenceCounted (const ReferenceCounted &)
 Copy-constructor.
 
ReferenceCountedoperator= (const ReferenceCounted &)
 Assignment.
 
- Protected Member Functions inherited from ThePEG::Named
const Namedoperator= (const Named &other)
 Assignment.
 
const string & name (const string &newName)
 Set new name.
 

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.
 
bool theIncludeFxFxTags
 Include/Read FxFx tags.
 
bool theIncludeCentral
 Include central weight (for backup use)
 
DecayerPtr theDecayer
 Decayer for any decay modes read from the file.
 
map< string, string > scalemap
 Further information on the weights.
 
map< string, double > optionalWeightsTemp
 Temporary holder for optional weights.
 
static ClassDescription< LesHouchesFileReaderinitLesHouchesFileReader
 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.
 
LesHouchesFileReaderoperator= (const LesHouchesFileReader &)=delete
 Private and non-existent assignment operator.
 

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.
 
void erase_substr (std::string &subject, const std::string &search)
 Erases all occurences of a substring from a string.
 
static void Init ()
 Standard Init function used to initialize the interfaces.
 

Additional Inherited Members

- Public Types inherited from ThePEG::InterfacedBase
enum  InitState { initializing = -1 , uninitialized = 0 , initialized = 1 , runready = 2 }
 Enumeration reflecting the state of an InterfacedBase object. More...
 
- Public Types inherited from ThePEG::Pointer::ReferenceCounted
typedef unsigned int CounterType
 The integer type used for counting.
 
- Public Types inherited from ThePEG::LastXCombInfo< XC >
typedef ThePEG::Ptr< XC >::pointer XCPtr
 Alias for a reference counted pointer to XC .
 
typedef ThePEG::Ptr< XC >::const_pointer cXCPtr
 Alias for a reference counted pointer to a const XC .
 
typedef ThePEG::Ptr< XC >::transient_pointer tXCPtr
 Alias for a transient pointer to XC .
 
typedef ThePEG::Ptr< XC >::transient_const_pointer tcXCPtr
 Alias for a transient pointer to a const XC .
 
- Static Public Member Functions inherited from ThePEG::LesHouchesReader
static size_t eventSize (int N)
 Return the size of this event in bytes.
 
static void Init ()
 Standard Init function used to initialize the interfaces.
 
- Static Public Member Functions inherited from ThePEG::HandlerBase
static void Init ()
 Standard Init function used to initialize the interface.
 
- Static Public Member Functions inherited from ThePEG::Interfaced
static void Init ()
 Standard Init function.
 
- Static Public Member Functions inherited from ThePEG::InterfacedBase
static void Init ()
 Standard Init function.
 
- Static Public Member Functions inherited from ThePEG::Base
static void Init ()
 The standard Init function used to initialize the interfaces.
 
- Public Attributes inherited from ThePEG::LesHouchesReader
vector< string > optionalWeightsNames
 vector with the optional weights names
 
- Public Attributes inherited from ThePEG::Pointer::ReferenceCounted
const unsigned long uniqueId
 The unique ID.
 
- Static Protected Member Functions inherited from ThePEG::LesHouchesReader
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.
 
- Static Protected Member Functions inherited from ThePEG::Interfaced
static void registerRepository (IBPtr)
 Register an Interfaced object with the Repository.
 
static void registerRepository (IBPtr, string newName)
 Register an Interfaced object with the Repository, giving it a name.
 
- Protected Attributes inherited from ThePEG::LesHouchesReader
HEPRUP heprup
 The HEPRUP common block.
 
HEPEUP hepeup
 The HEPEUP common block.
 
tcPDPair inData
 The ParticleData objects corresponding to the incoming particles.
 
pair< PDFPtr, PDFPtrinPDF
 The PDFBase objects which has been used for the beam particle when generating the events being read.
 
pair< cPDFPtr, cPDFPtroutPDF
 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, ColourLinecolourIndex
 Association between ColourLines and colour indices in the current translation.
 
ObjectIndexer< long, ParticleparticleIndex
 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.
 
long LHEeventnum
 The event number.
 
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.
 
int optionalnpLO
 npLO for LesHouches merging
 
int optionalnpNLO
 npNLO for LesHouches merging
 
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.
 
- Protected Attributes inherited from ThePEG::LastXCombInfo< XC >
XCPtr theLastXComb
 The pointer to the last selected XComb.
 

Detailed Description

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.

See also
Th1e interfaces defined for LesHouchesFileReader.
Event
LesHouchesReader

Definition at line 39 of file LesHouchesFileReader.h.

Constructor & Destructor Documentation

◆ LesHouchesFileReader() [1/2]

ThePEG::LesHouchesFileReader::LesHouchesFileReader ( )
inline

Default constructor.

Definition at line 48 of file LesHouchesFileReader.h.

◆ LesHouchesFileReader() [2/2]

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.

Member Function Documentation

◆ clone()

virtual IBPtr ThePEG::LesHouchesFileReader::clone ( ) const
protectedvirtual

Make a simple clone of this object.

Returns
a pointer to the new object.

Implements ThePEG::InterfacedBase.

Reimplemented in ThePEG::MadGraphReader.

◆ close()

virtual void ThePEG::LesHouchesFileReader::close ( )
virtual

Close the file from which events have been read.

Implements ThePEG::LesHouchesReader.

◆ doinit()

virtual void ThePEG::LesHouchesFileReader::doinit ( )
protectedvirtual

Initialize this object after the setup phase before saving an EventGenerator to disk.

Exceptions
InitExceptionif object could not be initialized properly.

Reimplemented from ThePEG::LesHouchesReader.

Reimplemented in ThePEG::MadGraphReader.

◆ doReadEvent()

virtual bool ThePEG::LesHouchesFileReader::doReadEvent ( )
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.

◆ filename()

string ThePEG::LesHouchesFileReader::filename ( ) const
inline

Return the name of the file from where to read events.

Definition at line 98 of file LesHouchesFileReader.h.

References theFileName.

◆ fullclone()

virtual IBPtr ThePEG::LesHouchesFileReader::fullclone ( ) const
protectedvirtual

Make a clone of this object, possibly modifying the cloned object to make it sane.

Returns
a pointer to the new object.

Reimplemented from ThePEG::InterfacedBase.

Reimplemented in ThePEG::MadGraphReader.

◆ initialize()

virtual void ThePEG::LesHouchesFileReader::initialize ( LesHouchesEventHandler eh)
virtual

Initialize.

This function is called by the LesHouchesEventHandler to which this object is assigned.

Reimplemented from ThePEG::LesHouchesReader.

◆ open()

virtual void ThePEG::LesHouchesFileReader::open ( )
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.

◆ optWeightsNamesFunc()

virtual vector< string > ThePEG::LesHouchesFileReader::optWeightsNamesFunc ( )
virtual

Return the optional weights information string ("Names")

Implements ThePEG::LesHouchesReader.

◆ persistentInput()

void ThePEG::LesHouchesFileReader::persistentInput ( PersistentIStream is,
int  version 
)

Function used to read in object persistently.

Parameters
isthe persistent input stream read from.
versionthe version number of the object when written.

◆ persistentOutput()

void ThePEG::LesHouchesFileReader::persistentOutput ( PersistentOStream os) const

Function used to write out object persistently.

Parameters
osthe persistent output stream written to.

◆ preInitialize()

virtual bool ThePEG::LesHouchesFileReader::preInitialize ( ) const
protectedvirtual

Return true if this object needs to be initialized before all other objects because it needs to extract PDFs from the event file.

Reimplemented from ThePEG::LesHouchesReader.

Reimplemented in ThePEG::MadGraphReader.

Member Data Documentation

◆ cfile

CFileLineReader ThePEG::LesHouchesFileReader::cfile
protected

The wrapper around the C FILE stream from which to read.

Definition at line 176 of file LesHouchesFileReader.h.

◆ eventAttributes

map<string,string> ThePEG::LesHouchesFileReader::eventAttributes
protected

If LHF.

Map of attributes (name-value pairs) found in the last event tag.

Definition at line 228 of file LesHouchesFileReader.h.

◆ eventComments

string ThePEG::LesHouchesFileReader::eventComments
protected

If LHF.

Additional comments found with the last read event.

Definition at line 222 of file LesHouchesFileReader.h.

◆ headerBlock

string ThePEG::LesHouchesFileReader::headerBlock
protected

If LHF.

All lines from the header block.

Definition at line 206 of file LesHouchesFileReader.h.

◆ ieve

long ThePEG::LesHouchesFileReader::ieve
protected

The current event number.

Definition at line 188 of file LesHouchesFileReader.h.

◆ initAttributes

map<string,string> ThePEG::LesHouchesFileReader::initAttributes
protected

If LHF.

Map of attributes (name-value pairs) found in the init tag.

Definition at line 217 of file LesHouchesFileReader.h.

◆ initComments

string ThePEG::LesHouchesFileReader::initComments
protected

If LHF.

Additional comments found in the init block.

Definition at line 211 of file LesHouchesFileReader.h.

◆ initLesHouchesFileReader

ClassDescription<LesHouchesFileReader> ThePEG::LesHouchesFileReader::initLesHouchesFileReader
staticprivate

Describe an abstract base class with persistent data.

Definition at line 274 of file LesHouchesFileReader.h.

◆ LHFVersion

string ThePEG::LesHouchesFileReader::LHFVersion
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 195 of file LesHouchesFileReader.h.

◆ neve

long ThePEG::LesHouchesFileReader::neve
protected

The number of events in this file.

Definition at line 183 of file LesHouchesFileReader.h.

◆ optionalWeightsTemp

map<string,double> ThePEG::LesHouchesFileReader::optionalWeightsTemp
private

Temporary holder for optional weights.

Definition at line 266 of file LesHouchesFileReader.h.

◆ outsideBlock

string ThePEG::LesHouchesFileReader::outsideBlock
protected

If LHF.

All lines (since the last open() or readEvent()) outside the header, init and event tags.

Definition at line 201 of file LesHouchesFileReader.h.

◆ scalemap

map<string,string> ThePEG::LesHouchesFileReader::scalemap
private

Further information on the weights.

Definition at line 260 of file LesHouchesFileReader.h.

◆ theDecayer

DecayerPtr ThePEG::LesHouchesFileReader::theDecayer
private

Decayer for any decay modes read from the file.

Definition at line 255 of file LesHouchesFileReader.h.

◆ theFileName

string ThePEG::LesHouchesFileReader::theFileName
private

The name of the file from where to read events.

Definition at line 235 of file LesHouchesFileReader.h.

Referenced by filename().

◆ theIncludeCentral

bool ThePEG::LesHouchesFileReader::theIncludeCentral
private

Include central weight (for backup use)

Definition at line 250 of file LesHouchesFileReader.h.

◆ theIncludeFxFxTags

bool ThePEG::LesHouchesFileReader::theIncludeFxFxTags
private

Include/Read FxFx tags.

Definition at line 245 of file LesHouchesFileReader.h.

◆ theQNumbers

bool ThePEG::LesHouchesFileReader::theQNumbers
private

Whether or not to search for QNUMBERS stuff.

Definition at line 240 of file LesHouchesFileReader.h.


The documentation for this class was generated from the following file: