PYTHIA  8.303
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
Info Class Reference

#include <Info.h>

Public Member Functions

 Info ()=default
 Info (bool)
 ~Info ()
 Destructor for clean-up.
Infooperator= (const Info &)=default
void setPtrs (Settings *settingsPtrIn, ParticleData *particleDataPtrIn, Rndm *rndmPtrIn, CoupSM *coupSMPtrIn, CoupSUSY *coupSUSYPtrIn, BeamParticle *beamAPtrIn, BeamParticle *beamBPtrIn, BeamParticle *beamPomAPtrIn, BeamParticle *beamPomBPtrIn, BeamParticle *beamGamAPtrIn, BeamParticle *beamGamBPtrIn, BeamParticle *beamVMDAPtrIn, BeamParticle *beamVMDBPtrIn, PartonSystems *partonSystemsPtrIn, SigmaTotal *sigmaTotPtrIn, HadronWidths *hadronWidthsPtrIn, WeightContainer *weightContainerPtrIn)
 Pointers to other class objects, carried piggyback by Info. More...
void list () const
 Listing of most available information on current event. More...
int idA () const
 Beam particles (in rest frame). CM energy of event.
int idB () const
double pzA () const
double pzB () const
double eA () const
double eB () const
double mA () const
double mB () const
double eCM () const
double s () const
bool tooLowPTmin () const
 Warnings from initialization.
string name () const
 Process name and code, and the number of final-state particles.
int code () const
int nFinal () const
bool isResolved () const
 Are beam particles resolved, with pdf's? Are they diffractive?
bool isDiffractiveA () const
bool isDiffractiveB () const
bool isDiffractiveC () const
bool isNonDiffractive () const
bool isElastic () const
bool isMinBias () const
 Retained for backwards compatibility.
bool isLHA () const
 Information for Les Houches Accord and reading files.
bool atEndOfFile () const
bool hasSub (int i=0) const
 For nondiffractive and Les Houches Accord identify hardest subprocess.
string nameSub (int i=0) const
int codeSub (int i=0) const
int nFinalSub (int i=0) const
int id1 (int i=0) const
 Incoming parton flavours and x values.
int id2 (int i=0) const
double x1 (int i=0) const
double x2 (int i=0) const
double y (int i=0) const
double tau (int i=0) const
int id1pdf (int i=0) const
 Hard process flavours, x values, parton densities, couplings, Q2 scales.
int id2pdf (int i=0) const
double x1pdf (int i=0) const
double x2pdf (int i=0) const
double pdf1 (int i=0) const
double pdf2 (int i=0) const
double QFac (int i=0) const
double Q2Fac (int i=0) const
bool isValence1 () const
bool isValence2 () const
double alphaS (int i=0) const
double alphaEM (int i=0) const
double QRen (int i=0) const
double Q2Ren (int i=0) const
double scalup (int i=0) const
double xGammaA () const
 Kinematics of photons from lepton beams.
double xGammaB () const
double Q2GammaA () const
double Q2GammaB () const
double eCMsub () const
double thetaScatLepA () const
double thetaScatLepB () const
double sHatNew () const
int photonMode () const
bool isVMDstateA () const
 Information on VMD state inside a photon.
bool isVMDstateB () const
int idVMDA () const
int idVMDB () const
double mVMDA () const
double mVMDB () const
double scaleVMDA () const
double scaleVMDB () const
double mHat (int i=0) const
 Mandelstam variables (notation as if subcollision).
double sHat (int i=0) const
double tHat (int i=0) const
double uHat (int i=0) const
double pTHat (int i=0) const
double pT2Hat (int i=0) const
double m3Hat (int i=0) const
double m4Hat (int i=0) const
double thetaHat (int i=0) const
double phiHat (int i=0) const
double weight (int i=0) const
 Event weights and accumulated weight. More...
double weightSum () const
double lhaStrategy () const
int nWeights () const
 Further access to uncertainty weights: number and labels.
string weightLabel (int iWeight) const
int nVariationGroups () const
string getGroupName (int iGN) const
double getGroupWeight (int iGW) const
int nISR () const
 Number of times other steps have been carried out.
int nFSRinProc () const
int nFSRinRes () const
double pTmaxMPI () const
 Maximum pT scales for MPI, ISR and FSR (in hard process).
double pTmaxISR () const
double pTmaxFSR () const
double pTnow () const
 Current evolution scale (for UserHooks).
double a0MPI () const
 Impact parameter picture, global information.
double bMPI () const
 Impact parameter picture, as set by hardest interaction.
double enhanceMPI () const
double enhanceMPIavg () const
double eMPI (int i) const
double bMPIold () const
double enhanceMPIold () const
double enhanceMPIoldavg () const
int nMPI () const
 Number of multiparton interactions, with code and pT for them.
int codeMPI (int i) const
double pTMPI (int i) const
int iAMPI (int i) const
int iBMPI (int i) const
vector< int > codesHard ()
 Cross section estimate, optionally process by process. More...
string nameProc (int i=0) const
long nTried (int i=0) const
long nSelected (int i=0) const
long nAccepted (int i=0) const
double sigmaGen (int i=0) const
double sigmaErr (int i=0) const
int getCounter (int i) const
 Counters for number of loops in various places.
void setCounter (int i, int value=0)
 Set or increase the value stored in a counter.
void addCounter (int i, int value=1)
void errorReset ()
 Reset to empty map of error messages.
void errorMsg (string messageIn, string extraIn=" ", bool showAlways=false)
 Print a message the first few times. Insert in database. More...
int errorTotalNumber () const
 Provide total number of errors/aborts/warnings experienced to date.
void errorStatistics () const
 Print statistics on errors/aborts/warnings. More...
void setTooLowPTmin (bool lowPTminIn)
 Set initialization warning flag when too low pTmin in ISR/FSR/MPI.
void setValence (bool isVal1In, bool isVal2In)
 Set info on valence character of hard collision partons.
void hasHistory (bool hasHistoryIn)
bool hasHistory ()
void zNowISR (double zNowIn)
double zNowISR ()
void pT2NowISR (double pT2NowIn)
double pT2NowISR ()
double mergingWeight (int i=0) const
 Return merging weight.
double mergingWeightNLO (int i=0) const
 Return the complete NLO weight.
string header (const string &key) const
 Return an LHEF header.
vector< string > headerKeys () const
 Return a list of all header key names.
int nProcessesLHEF () const
 Return the number of processes in the LHEF.
double sigmaLHEF (int iProcess) const
 Return the cross section information read from LHEF.
void setLHEF3InitInfo ()
 Set the LHEF3 objects read from the init and header blocks. More...
void setLHEF3InitInfo (int LHEFversionIn, LHAinitrwgt *initrwgtIn, vector< LHAgenerator > *generatorsIn, map< string, LHAweightgroup > *weightgroupsIn, map< string, LHAweight > *init_weightsIn, string headerBlockIn)
 Set the LHEF3 objects read from the init and header blocks.
void setLHEF3EventInfo ()
 Set the LHEF3 objects read from the event block. More...
void setLHEF3EventInfo (map< string, string > *eventAttributesIn, map< string, double > *weights_detailedIn, vector< double > *weights_compressedIn, LHAscales *scalesIn, LHAweights *weightsIn, LHArwgt *rwgtIn, vector< double > weights_detailed_vecIn, vector< string > weights_detailed_name_vecIn, string eventCommentsIn, double eventWeightLHEFIn)
 Set the LHEF3 objects read from the event block.
string getEventAttribute (string key, bool doRemoveWhitespace=false) const
 Retrieve events tag information.
void setEventAttribute (string key, string value, bool doOverwrite=true)
 Externally set event tag auxiliary information.
int LHEFversion () const
 Retrieve LHEF version.
unsigned int getInitrwgtSize () const
 Retrieve initrwgt tag information.
unsigned int getGeneratorSize () const
 Retrieve generator tag information.
string getGeneratorValue (unsigned int n=0) const
string getGeneratorAttribute (unsigned int n, string key, bool doRemoveWhitespace=false) const
unsigned int getWeightsDetailedSize () const
 Retrieve rwgt tag information.
double getWeightsDetailedValue (string n) const
string getWeightsDetailedAttribute (string n, string key, bool doRemoveWhitespace=false) const
unsigned int getWeightsCompressedSize () const
 Retrieve weights tag information.
double getWeightsCompressedValue (unsigned int n) const
string getWeightsCompressedAttribute (string key, bool doRemoveWhitespace=false) const
string getScalesValue (bool doRemoveWhitespace=false) const
 Retrieve scales tag information.
double getScalesAttribute (string key) const
string getHeaderBlock () const
string getEventComments () const
void setHeader (const string &key, const string &val)
 Set LHEF headers.
void setAbortPartonLevel (bool abortIn)
 Set abort in parton level.
bool getAbortPartonLevel () const
bool hasUnresolvedBeams () const
 Get information on hard diffractive events.
bool hasPomPsystem () const
bool isHardDiffractive () const
bool isHardDiffractiveA () const
bool isHardDiffractiveB () const
double xPomeronA () const
double xPomeronB () const
double tPomeronA () const
double tPomeronB () const
vector< int > getWeakModes () const
 History information needed to setup the weak shower for 2 -> n.
vector< pair< int, int > > getWeakDipoles () const
vector< Vec4getWeakMomenta () const
vector< int > getWeak2to2lines () const
void setWeakModes (vector< int > weakModesIn)
void setWeakDipoles (vector< pair< int, int > > weakDipolesIn)
void setWeakMomenta (vector< Vec4 > weakMomentaIn)
void setWeak2to2lines (vector< int > weak2to2linesIn)
PluginPtr plugin (string nameIn)
 Load a plugin library.
void setBeamA (int idAin, double pzAin, double eAin, double mAin)
 Set info on the two incoming beams: only from Pythia class.
void setBeamB (int idBin, double pzBin, double eBin, double mBin)
void setECM (double eCMin)
void setX1Gamma (double x1GammaIn)
 Set info related to gamma+gamma subcollision.
void setX2Gamma (double x2GammaIn)
void setQ2Gamma1 (double Q2gammaIn)
void setQ2Gamma2 (double Q2gammaIn)
void setTheta1 (double theta1In)
void setTheta2 (double theta2In)
void setECMsub (double eCMsubIn)
void setsHatNew (double sHatNewIn)
void setGammaMode (double gammaModeIn)
void setVMDstateA (bool isVMDAIn, int idAIn, double mAIn, double scaleAIn)
 Set info on VMD state.
void setVMDstateB (bool isVMDBIn, int idBIn, double mBIn, double scaleBIn)
void clear ()
 Reset info for current event: only from Pythia class.
int sizeMPIarrays () const
 Reset info arrays only for parton and hadron level.
void resizeMPIarrays (int newSize)
void setType (string nameIn, int codeIn, int nFinalIn, bool isNonDiffIn=false, bool isResolvedIn=true, bool isDiffractiveAin=false, bool isDiffractiveBin=false, bool isDiffractiveCin=false, bool isLHAin=false)
void setSubType (int iDS, string nameSubIn, int codeSubIn, int nFinalSubIn)
void setPDFalpha (int iDS, int id1pdfIn, int id2pdfIn, double x1pdfIn, double x2pdfIn, double pdf1In, double pdf2In, double Q2FacIn, double alphaEMIn, double alphaSIn, double Q2RenIn, double scalupIn)
void setScalup (int iDS, double scalupIn)
void setKin (int iDS, int id1In, int id2In, double x1In, double x2In, double sHatIn, double tHatIn, double uHatIn, double pTHatIn, double m3HatIn, double m4HatIn, double thetaHatIn, double phiHatIn)
void setTypeMPI (int codeMPIIn, double pTMPIIn, int iAMPIIn=0, int iBMPIIn=0, double eMPIIn=1.)
void sigmaReset ()
 Set info on cross section: from ProcessLevel (reset in Pythia).
void setSigma (int i, string procNameIn, long nTryIn, long nSelIn, long nAccIn, double sigGenIn, double sigErrIn, double wtAccSumIn)
void addSigma (int i, long nTryIn, long nSelIn, long nAccIn, double sigGenIn, double sigErrIn)
void setImpact (double bMPIIn, double enhanceMPIIn, double enhanceMPIavgIn, bool bIsSetIn=true, bool pushBack=false)
 Set info on impact parameter: from PartonLevel.
void setPartEvolved (int nMPIIn, int nISRIn)
 Set info on pTmax scales and number of evolution steps: from PartonLevel.
void setEvolution (double pTmaxMPIIn, double pTmaxISRIn, double pTmaxFSRIn, int nMPIIn, int nISRIn, int nFSRinProcIn, int nFSRinResIn)
void setPTnow (double pTnowIn)
 Set current pT evolution scale for MPI/ISR/FSR; from PartonLevel.
void seta0MPI (double a0MPIin)
 Set a0 from MultipartonInteractions.
void setEndOfFile (bool atEOFin)
 Set info whether reading of Les Houches Accord file at end.
void setWeight (double weightIn, int lhaStrategyIn)
void setIsResolved (bool isResIn)
 Set info on resolved processes.
void setHardDiff (bool hasUnresBeamsIn=false, bool hasPomPsysIn=false, bool isHardDiffAIn=false, bool isHardDiffBIn=false, double xPomAIn=0., double xPomBIn=0., double tPomAIn=0., double tPomBIn=0.)
 Set info on hard diffraction.
void setHasUnresolvedBeams (bool hasUnresBeamsIn)
 Set information in hard diffractive events.
void setHasPomPsystem (bool hasPomPsysIn)
int numberOfWeights () const
double weightValueByIndex (int key=0) const
string weightNameByIndex (int key=0) const
vector< double > weightValueVector () const
vector< string > weightNameVector () const

Public Attributes

SettingssettingsPtr {}
 Pointer to the settings database.
ParticleDataparticleDataPtr {}
 Pointer to the particle data table.
RndmrndmPtr {}
 Pointer to the random number generator.
CoupSMcoupSMPtr {}
 Pointers to Standard Model and Beyond SM couplings.
CoupSUSYcoupSUSYPtr {}
BeamParticlebeamAPtr {}
BeamParticlebeamBPtr {}
BeamParticlebeamPomAPtr {}
BeamParticlebeamPomBPtr {}
BeamParticlebeamGamAPtr {}
BeamParticlebeamGamBPtr {}
BeamParticlebeamVMDAPtr {}
BeamParticlebeamVMDBPtr {}
PartonSystemspartonSystemsPtr {}
 Pointer to information on subcollision parton locations.
SigmaTotalsigmaTotPtr {}
 Pointer to the total/elastic/diffractive cross sections.
 Pointer to the hadron widths data table.
UserHooksPtr userHooksPtr {}
 Pointer to the UserHooks object set for the run.
HIInfohiInfo {}
WeightContainerweightContainerPtr {}
int LHEFversionSave
 LHEF3 information: Public for easy access.
vector< double > sigmaLHEFSave
 Save process information as read from init block of LHEF.
LHAinitrwgtinitrwgt {}
 Contents of the LHAinitrwgt tag.
vector< LHAgenerator > * generators {}
 Contents of the LHAgenerator tags.
map< string, LHAweightgroup > * weightgroups {}
 A map of the LHAweightgroup tags, indexed by name.
map< string, LHAweight > * init_weights {}
 A map of the LHAweight tags, indexed by name.
bool hasOwnEventAttributes {}
 Store current-event Les Houches event tags.
map< string, string > * eventAttributes {}
map< string, double > * weights_detailed {}
 The weights associated with this event, as given by the LHAwgt tags.
vector< double > * weights_compressed {}
 The weights associated with this event, as given by the LHAweights tags.
LHAscalesscales {}
 Contents of the LHAscales tag.
LHAweightsweights {}
 Contents of the LHAweights tag (compressed format)
LHArwgtrwgt {}
 Contents of the LHArwgt tag (detailed format)
vector< double > weights_detailed_vector
 Vectorized version of LHArwgt tag, for easy and ordered access.
double eventWeightLHEF = {}
int idASave {}
 Store common beam quantities.
int idBSave {}
double pzASave {}
double eASave {}
double mASave {}
double pzBSave {}
double eBSave {}
double mBSave {}
double eCMSave {}
double sSave {}
bool lowPTmin
 Store initialization information.
long nTry {}
 Store common integrated cross section quantities.
long nSel {}
long nAcc {}
double sigGen {}
double sigErr {}
double wtAccSum {}
map< int, string > procNameM
map< int, long > nTryM
map< int, long > nSelM
map< int, long > nAccM
map< int, double > sigGenM
map< int, double > sigErrM
int lhaStrategySave {}
double a0MPISave
 Store common MPI information.
bool isRes {}
 Store current-event quantities.
bool isDiffA {}
bool isDiffB {}
bool isDiffC {}
bool isND {}
bool isLH {}
bool hasSubSave [4]
bool bIsSet {}
bool evolIsSet {}
bool atEOF {}
bool isVal1 {}
bool isVal2 {}
bool hasHistorySave {}
bool abortPartonLevel {}
bool isHardDiffA {}
bool isHardDiffB {}
bool hasUnresBeams {}
bool hasPomPsys {}
int codeSave {}
int codeSubSave [4]
int nFinalSave {}
int nFinalSubSave [4]
int nTotal {}
int id1Save [4]
int id2Save [4]
int id1pdfSave [4]
int id2pdfSave [4]
int nMPISave {}
int nISRSave {}
int nFSRinProcSave {}
int nFSRinResSave {}
double x1Save [4]
double x2Save [4]
double x1pdfSave [4]
double x2pdfSave [4]
double pdf1Save [4]
double pdf2Save [4]
double Q2FacSave [4]
double alphaEMSave [4]
double alphaSSave [4]
double Q2RenSave [4]
double scalupSave [4]
double sH [4]
double tH [4]
double uH [4]
double pTH [4]
double m3H [4]
double m4H [4]
double thetaH [4]
double phiH [4]
double bMPISave {}
double enhanceMPISave {}
double enhanceMPIavgSave {}
double bMPIoldSave {}
double enhanceMPIoldSave {}
double enhanceMPIoldavgSave {}
double pTmaxMPISave {}
double pTmaxISRSave {}
double pTmaxFSRSave {}
double pTnowSave {}
double zNowISRSave {}
double pT2NowISRSave {}
double xPomA {}
double xPomB {}
double tPomA {}
double tPomB {}
string nameSave {}
string nameSubSave [4]
vector< int > codeMPISave
vector< int > iAMPISave
vector< int > iBMPISave
vector< double > pTMPISave
vector< double > eMPISave
bool isVMDstateAEvent {}
 Variables related to photon kinematics.
bool isVMDstateBEvent {}
int gammaModeEvent {}
int idVMDASave {}
int idVMDBSave {}
double x1GammaSave {}
double x2GammaSave {}
double Q2Gamma1Save {}
double Q2Gamma2Save {}
double eCMsubSave {}
double thetaLepton1 {}
double thetaLepton2 {}
double sHatNewSave {}
double mVMDASave {}
double mVMDBSave {}
double scaleVMDASave {}
double scaleVMDBSave {}
int counters [50]
 Vector of various loop counters.
map< string, int > messages
 Map for all error messages.
map< string, string > headers
 Map for LHEF headers.
string headerBlock {}
 Strings for complete header block and event comments.
string eventComments {}
map< string, PluginPtr > plugins
 Map for plugin libraries.
vector< int > weakModes
 Variables for weak shower setup.
vector< int > weak2to2lines
vector< Vec4weakMomenta
vector< pair< int, int > > weakDipoles

Static Public Attributes

static const int TIMESTOPRINT = 1
 From here on what used to be the private part of the class. More...
static const double CONVERTMB2PB = 1e9
 Allow conversion from mb to pb. More...

Detailed Description

The Info class contains a mixed bag of information on the event generation activity, especially on the current subprocess properties, and on the number of errors encountered. This is used by the generation machinery.

Member Function Documentation

vector< int > codesHard ( )

Cross section estimate, optionally process by process.

List of all hard processes switched on.

void errorMsg ( string  messageIn,
string  extraIn = " ",
bool  showAlways = false 

Print a message the first few times. Insert in database.

Recover number of times message occured. Also inserts new string.

Print message the first few times.

void errorStatistics ( ) const

Print statistics on errors/aborts/warnings.


Loop over all messages

Message printout.


string getHeaderBlock ( ) const

Retrieve complete header block and event comments Retrieve scales tag information.

void hasHistory ( bool  hasHistoryIn)

Set and get some MPI/ISR/FSR properties needed for matching, i.e. mainly of internal relevance.

void list ( ) const

Listing of most available information on current event.

List (almost) all information currently set.

Header and beam info.

Done if no subprocess has been defined.

Colliding parton info.

Process name and code.

Subprocess name and code for nondiffractive processes.

Process-type-specific kinematics information.


Diffractive subsystems.

Impact parameter.

Multiparton interactions and shower evolution.

Listing finished.

Info& operator= ( const Info )

Assignment operator gives a shallow copy; no objects pointed to are copied.

void setLHEF3EventInfo ( )

Set the LHEF3 objects read from the event block.

Reset the LHEF3 objects read from the event block.

void setLHEF3InitInfo ( )

Set the LHEF3 objects read from the init and header blocks.

Reset the LHEF3 objects read from the init and header blocks.

void setPtrs ( Settings settingsPtrIn,
ParticleData particleDataPtrIn,
Rndm rndmPtrIn,
CoupSM coupSMPtrIn,
CoupSUSY coupSUSYPtrIn,
BeamParticle beamAPtrIn,
BeamParticle beamBPtrIn,
BeamParticle beamPomAPtrIn,
BeamParticle beamPomBPtrIn,
BeamParticle beamGamAPtrIn,
BeamParticle beamGamBPtrIn,
BeamParticle beamVMDAPtrIn,
BeamParticle beamVMDBPtrIn,
PartonSystems partonSystemsPtrIn,
SigmaTotal sigmaTotPtrIn,
HadronWidths hadronWidthsPtrIn,
WeightContainer weightContainerPtrIn 

Pointers to other class objects, carried piggyback by Info.

Set pointers to other class objects.

void setType ( string  nameIn,
int  codeIn,
int  nFinalIn,
bool  isNonDiffIn = false,
bool  isResolvedIn = true,
bool  isDiffractiveAin = false,
bool  isDiffractiveBin = false,
bool  isDiffractiveCin = false,
bool  isLHAin = false 

Set info on the (sub)process: from ProcessLevel, ProcessContainer or MultipartonInteractions classes.

void setWeight ( double  weightIn,
int  lhaStrategyIn 

Set event weight, either for LHEF3 or for uncertainty bands. If weight has units (lhaStrategy 4 or -4), input in mb

Nominal weight in weightContainer saved in pb for lhaStrategy +-4

double weight ( int  i = 0) const

Event weights and accumulated weight.

Weight of current event; normally 1, but used for Les Houches events or when reweighting phase space selection. Conversion from mb to pb for LHA strategy +-4. Uncertainty variations can be accessed by providing an index >= 1 (0 = no variations). Also cumulative sum.

Member Data Documentation

BeamParticle* beamAPtr {}

Pointers to the two incoming beams and to Pomeron, photon or VMD beam-inside-beam cases.

const double CONVERTMB2PB = 1e9

Allow conversion from mb to pb.

LHA convention with cross section in pb may require conversion from mb.

double eventWeightLHEF = {}

Value of the unit event weight read from a Les Houches event, necessary if additional weights in an otherwise unweighted input file are in relation to this number.

HIInfo* hiInfo {}

Pointer to information about a HeavyIons run and the current event. (Is NULL if HeavyIons object is inactive.)

const int TIMESTOPRINT = 1

From here on what used to be the private part of the class.

Number of times the same error message will be repeated at most.

Number of times the same error message is repeated, unless overridden.

Info class. This class contains a mixed bag of information on the event generation activity, especially on the current subprocess properties. Constants: could be changed here if desired, but normally should not. These are of technical nature, as described for each.

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