PYTHIA  8.311
Public Member Functions | Protected Attributes | Friends | List of all members
WeightsMerging Class Reference

#include <Weights.h>

Inheritance diagram for WeightsMerging:
WeightsBase

Public Member Functions

void init () override
 Initialize weights (more can be booked at any time) More...
 
void clear () override
 Reset all internal values;. More...
 
void bookWeight (string name, double value, double valueFirst)
 Function to create a new, synchronized, pair of weight name and value.
 
void bookVectors (vector< double > weights, vector< string > names) override
 Store the current event information.
 
void bookVectors (vector< double > weights, vector< double > weightsFirst, vector< string > names)
 
double getWeightsValue (int iPos) const override
 Modified weight getter to include first order weight.
 
double getWeightsValueP (int iPos) const
 Also add getters for UNLOPS-P and -PC schemes.
 
double getWeightsValuePC (int iPos) const
 
void reweightValueByIndex (int iPos, double val) override
 Functions to set values of weights. More...
 
void reweightValueByName (string name, double val) override
 
void setValueFirstByIndex (int iPos, double val)
 Functions to set values of first order weights. More...
 
void setValueFirstByName (string name, double val)
 
void setValueVector (vector< double > ValueVector)
 Functions to set values as whole vector. More...
 
void setValueFirstVector (vector< double > ValueFirstVector)
 Set first order weight values as vector.
 
vector< double > getMuRVarFactors ()
 Function telling merging which muR variations to perform. More...
 
void setLHEFvariationMapping ()
 Set up mapping between LHEF variations. More...
 
void collectWeightNames (vector< string > &outputNames) override
 Function to collect weight names. More...
 
void collectWeightValues (vector< double > &outputWeights, double norm=1.) override
 Function collecting weight values. More...
 
- Public Member Functions inherited from WeightsBase
virtual void init (bool)
 
string getWeightsName (int iPos) const
 
int getWeightsSize () const
 
void bookWeight (string name, double defaultValue=1.)
 Function to create a new, synchronized, pair of weight name and value. More...
 
void setValueByIndex (int iPos, double val)
 Functions to set values of weights.
 
void setValueByName (string name, double val)
 
int findIndexOfName (string name)
 
void setPtrs (Info *infoPtrIn)
 Set the pointers.
 

Protected Attributes

map< int, int > muRVarLHEFindex
 Corresponding vector with respective LHEF weight indices.
 
vector< double > weightValuesFirst
 Data member for first order weight.
 
vector< double > weightValuesP
 Data members for UNLOPS-P and -PC.
 
vector< double > weightValuesPC
 
vector< double > weightValuesFirstP
 
vector< double > weightValuesFirstPC
 
bool isNLO
 Boolean to memorize if LHEF weight needs to be applied (only for NLO).
 
- Protected Attributes inherited from WeightsBase
vector< double > weightValues
 Weight values and names.
 
vector< string > weightNames
 
InfoinfoPtr {}
 Pointers necessary for variation initialization.
 

Friends

class Merging
 Friends for internal protected members.
 
class WeightContainer
 

Additional Inherited Members

- Protected Member Functions inherited from WeightsBase
void parse (string wvecKey, map< string, map< string, double > > &dct)
 Parse a WVec of variations into a dictionary. More...
 

Detailed Description

This class collects information on weights generated in the merging framework. The first weight is always required for CKKW-L, UMEPS and NLO merging. The additional weights are required for simultaneous renormalization scale variation in matrix element generation and parton shower.

Member Function Documentation

void bookVectors ( vector< double >  weights,
vector< double >  weightsFirst,
vector< string >  names 
)

Store the current event information, including first order weights for NLO merging.

void clear ( )
overridevirtual

Reset all internal values;.

WeightsMerging class.

Reset all internal values.

Reimplemented from WeightsBase.

void collectWeightNames ( vector< string > &  outputNames)
overridevirtual

Function to collect weight names.

Similar function to return processed weight names.

Include scheme variation names if present

Reimplemented from WeightsBase.

void collectWeightValues ( vector< double > &  outputWeights,
double  norm = 1. 
)
overridevirtual

Function collecting weight values.

Function to return processed weights to weight container.

Combine with corresponding LHE variation

Check if corresponding muR variation is available

Combine with corresponding shower weight

Include scheme variation weights if present

Normalize with UNLOPS-1 central merging weight, since that is collected into the nominal weight.

Combine with corresponding LHE variation

Check if corresponding muR variation is available

Combine with corresponding shower weight

Done.

Reimplemented from WeightsBase.

vector< double > getMuRVarFactors ( )

Function telling merging which muR variations to perform.

Function telling merging which muR variations to perform, read from Merging:muRfactors setting.

void init ( )
overridevirtual

Initialize weights (more can be booked at any time)

Initialize merging weights.

Reset weight vectors

Initialization of all required variation weights done in MergingHooks.cc

Reimplemented from WeightsBase.

void reweightValueByIndex ( int  iPos,
double  val 
)
overridevirtual

Functions to set values of weights.

Functions to set values of weights. Does not apply to first order weights or scheme variation weights.

Reimplemented from WeightsBase.

void reweightValueByName ( string  name,
double  val 
)
overridevirtual

Reweigth merging weights by name. Does not apply to first order weights or scheme variation weights.

Reimplemented from WeightsBase.

void setLHEFvariationMapping ( )

Set up mapping between LHEF variations.

Set up mapping between LHEF variations and weights.

void setValueFirstByIndex ( int  iPos,
double  val 
)

Functions to set values of first order weights.

Functions to set values of first order weights. Does not apply to scheme variation weights.

void setValueFirstByName ( string  name,
double  val 
)

Set values of first order weights by name. Does not apply to scheme variation weights.

void setValueVector ( vector< double >  ValueVector)

Functions to set values as whole vector.

Set values as whole vector.


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