|
PYTHIA
8.317
|
#include <Weights.h>
Public Types | |
| enum | FactIndex { Z, Flav, PT } |
| Factorization indices. | |
Public Member Functions | |
| ~WeightsFragmentation () | |
| Destructor. More... | |
| void | init () override |
| Initialize the weights. More... | |
| void | clear () override |
| Clear the weights. | |
| int | nWeightGroups () const |
| string | getGroupName (int iGN) const |
| double | getGroupWeight (int iGW) const |
| Return group weight. | |
| void | collectWeightNames (vector< string > &outputNames) override |
| Collect fragmentation weight names. More... | |
| void | collectWeightValues (vector< double > &outputWeights, double norm=1.) override |
| Collect fragmentation weight values. | |
| vector< double > | flavParms (double xi, double rho, double x, double y) |
| Calculate the derived flavour parameters. More... | |
| double | flavWeight (const vector< double > &parms) |
| Calculate a flavour weight. | |
| double | flavWeight (const vector< double > &parms, const vector< int > &breaks) |
| Calculate a flavor weight, given the derived parameters and breaks. More... | |
| double | zWeight (double aLund, double bLund, double rFactC, double rFactB, int idOld, int idNew, double mT2, double z, double fPrel) |
| Calculate kinematic weights. More... | |
| double | pTWeight (double sigma, double pT2, double mult) |
Public Member Functions inherited from WeightsBase | |
| virtual void | init (bool) |
| virtual void | bookVectors (vector< double > weights, vector< string > names) |
| string | getWeightsName (int iPos) const |
| virtual double | getWeightsValue (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) |
| virtual void | reweightValueByIndex (int iPos, double val) |
| Functions to reweight weight values, by index or by name. | |
| virtual void | reweightValueByName (string name, double val) |
| int | findIndexOfName (string name) |
| void | setPtrs (Info *infoPtrIn) |
| Set the pointers. | |
Public Attributes | |
| vector< map< vector< double >, int > > | weightParms {} |
| Vectors for weight group handling. | |
| vector< string > | externalGroupNames {} |
| vector< vector< int > > | externalMap {} |
| vector< int > | flavBreaks |
| Track the breaks needed for flavour reweighting. | |
| vector< int > | zIntBreaks |
| vector< double > | zDblBreaks |
| vector< double > | pTBreaks |
Friends | |
| class | StringFlav |
| Friends for fragmentation reweighitng. | |
| class | StringZ |
| class | StringPT |
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... | |
Protected Attributes inherited from WeightsBase | |
| vector< double > | weightValues |
| Weight values and names. | |
| vector< string > | weightNames |
| Info * | infoPtr {} |
| Pointers necessary for variation initialization. | |
This is class to collect information on fragmentation weighting, and is in turn part of Info.
| ~WeightsFragmentation | ( | ) |
|
overridevirtual |
Collect fragmentation weight names.
Functions to return processed weights to weight container, e.g. if weights should be combined before proceeding.
Reimplemented from WeightsBase.
| vector< double > flavParms | ( | double | xi, |
| double | rho, | ||
| double | x, | ||
| double | y | ||
| ) |
Calculate the derived flavour parameters.
Calculate the derived flavor parameters.
Set the primary parameters.
Pass the primary parameters to settings.
Initialize a flavor selector.
Set the derived parameters.
Reset the settings.
| double flavWeight | ( | const vector< double > & | parms, |
| const vector< int > & | breaks | ||
| ) |
Calculate a flavor weight, given the derived parameters and breaks.
Loop over parameter ratios (avoids floating point exceptions).
Weight unchanged if negative for 5th parameter.
Weight unchanged if no breaks.
Infinite weight if parameter is infinite.
Include remaining weight terms and return.
|
overridevirtual |
Initialize the weights.
Fragmentation variations initialization.
Read weight groups into a dictionary.
Define the ordering of the parameters and key mapping.
Initialize the flavor selector.
Initialize the z selector.
Initialize the pT selector.
Create a map from variation keys to standard keys.
Store the baseline flavor parameters.
Loop over the groups and determine the parameter variations.
Set the parameter variations for a group.
Map the group parameters to factorized parameters.
Transform flavor parameters if needed.
Set the standard parameters.
Check if this is a new factorized variation.
Reimplemented from WeightsBase.
| double pTWeight | ( | double | sigma, |
| double | pT2, | ||
| double | mult | ||
| ) |
Calculate a pT weight for a single break, given the derived parameters and break info.
| double zWeight | ( | double | aLund, |
| double | bLund, | ||
| double | rFactC, | ||
| double | rFactB, | ||
| int | idOld, | ||
| int | idNew, | ||
| double | mT2, | ||
| double | z, | ||
| double | fPrel | ||
| ) |
Calculate kinematic weights.
Calculate a z weight for a single break, given the derived parameters and break info.
Positive mT2 is an accepted break.
Initialize all the relevant parameters.
Skip non-standard c, b, or h.
Determine the varied a, b, and c parameters.
Determine position of the maximum. Assuming that no special options are being used, i.e bShape = bLund. This is because b is scaled by mT2.
When b is changed, so is c.
Determine the new position of maximum.
Recalculate the coefficients.
Return the weight.
| vector<double> pTBreaks |
Track the break information for pT reweighting. This is a flat vector. The double vector is {pT2_0, mult_0, ..., pT2_n, mult_n}.
| vector<int> zIntBreaks |
Track the break information for z reweighting. These are flat vectors. The integer vector is {idOld_0, idNew_0, ..., idOld_n, idNew_n}. The double vector is {mT2_0, z_0, fPrel}.
1.8.11