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

#include <Info.h>

Public Member Functions

 Info ()=default
 Constructors.
 
 Info (bool)
 
 ~Info ()
 Destructor for clean-up.
 
Infooperator= (const Info &)=default
 
void setPtrs (Settings *settingsPtrIn, ParticleData *particleDataPtrIn, Logger *loggerPtrIn, Rndm *rndmPtrIn, BeamSetup *beamSetupIn, CoupSM *coupSMPtrIn, CoupSUSY *coupSUSYPtrIn, PartonSystems *partonSystemsPtrIn, SigmaTotal *sigmaTotPtrIn, SigmaCombined *sigmaCmbPtrIn, 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 iWgt) const
 
int nWeightGroups () 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
 Name of the specified process.
 
long nTried (int i=0) const
 The number of phase-space points tried.
 
long nSelected (int i=0) const
 The number of selected hard processes.
 
long nAccepted (int i=0) const
 The number of accepted events.
 
double sigmaGen (int i=0) const
 The estimated cross-section in units of mb.
 
double sigmaErr (int i=0) const
 The uncertainty on the estimated cross-section in units of mb. More...
 
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 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)
 
void setOniumShower (bool oniumShowerIn)
 Check if onia is included in showers (used for MPI process setup).
 
bool getOniumShower () const
 
void setBeamIDs (int idAin, int idBin)
 Set info on the two incoming beams: only from Pythia class.
 
void setBeamA (int idAin, double pzAin, double eAin, double mAin)
 
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 reassignDiffSystem (int iDSold, int iDSnew)
 Move process information to an another diffractive system.
 
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.
 
LoggerloggerPtr {}
 Pointer to the logger.
 
RndmrndmPtr {}
 Pointer to the random number generator.
 
BeamSetupbeamSetupPtr {}
 Pointers to beam configuration.
 
CoupSMcoupSMPtr {}
 Pointers to Standard Model and Beyond SM couplings.
 
CoupSUSYcoupSUSYPtr {}
 
PartonSystemspartonSystemsPtr {}
 Pointer to information on subcollision parton locations.
 
SigmaTotalsigmaTotPtr {}
 Pointers to the total/elastic/diffractive cross sections.
 
SigmaCombinedsigmaCmbPtr {}
 
HadronWidthshadronWidthsPtr
 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, string > headers
 Map for LHEF headers.
 
string headerBlock {}
 Strings for complete header block and event comments.
 
string eventComments {}
 
vector< int > weakModes
 Variables for weak and onia shower setup.
 
vector< int > weak2to2lines
 
vector< Vec4weakMomenta
 
vector< pair< int, int > > weakDipoles
 
bool oniumShower {false}
 

Static Public Attributes

static const double CONVERTMB2PB = 1e9
 From here on what used to be the private part of the class. 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.

string getHeaderBlock ( ) const
inline

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

void hasHistory ( bool  hasHistoryIn)
inline

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.

Couplings.

Diffractive subsystems.

Impact parameter.

Multiparton interactions and shower evolution.

Listing finished.

Info& operator= ( const Info )
default

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,
Logger loggerPtrIn,
Rndm rndmPtrIn,
BeamSetup beamSetupIn,
CoupSM coupSMPtrIn,
CoupSUSY coupSUSYPtrIn,
PartonSystems partonSystemsPtrIn,
SigmaTotal sigmaTotPtrIn,
SigmaCombined sigmaCmbPtrIn,
HadronWidths hadronWidthsPtrIn,
WeightContainer weightContainerPtrIn 
)
inline

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 
)
inline

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

void setWeight ( double  weightIn,
int  lhaStrategyIn 
)
inline

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 sigmaErr ( int  i = 0) const
inline

The uncertainty on the estimated cross-section in units of mb.

loggerPtr->ERROR_MSG("process code not found", to_string(code));

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

const double CONVERTMB2PB = 1e9
static

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

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

Allow conversion from mb to pb.

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.

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.)


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