Back Skip to the content.

Dial Definition

< back to parent (ParameterSet)

< back to parent (ParameterSet)

Description

Describe an element in a list of dials. A dial describes how parameter values should be translated into a weight that will be used to multiply events that are part of the model. All of the weights must be positive, and will generally be bounded on the high-side (see minDialResponse and maxDialResponse). GUNDAM provides several types of weighting functions (both single and multiple dimensions), as well as the ability to call external libraries to calculate weights.

Config options that apply to all dials.

Option Type Description Default
dialType string See below  
dialSubType string See below empty
isEnabled bool Dial is not used if this is false true
applyOnDataSets list(string) list (regex) of datasets the corresponding dials will apply to ["*"]
applyCondition string Only apply this dial with formula evaluates to non-zero empty
applyConditions list(json) Multiple condition formulas (only apply dial if all are true) formulas n/a
minDialResponse double Minimum weight value returned by the dial response (should be zero) -inf
maxDialResponse double Maximum weight returned by the dial (typically you want about ten) inf
binningFilePath string binning definition of a set of spline (along with dialsFilePath)  
useMirrorDial bool enable dial mirroring along the edges false
mirrorLowEdge double low edge where mirroring applies  
mirrorHighEdge double upper edge where mirroring applies  
allowDialExtrapolation bool Allow splines to be extrapolated past the first and last knots false
printDialsSummary bool extra verbose false
definitionRange pair(double)    
mirrorDefinitionRange pair(double)    
dialInputList list(json) List of parameters for this dial empty
dialsTreePath string Deprecated: tree name where the dials are stored  

Config options that apply to specific types of dials

Option Type Description Default
dialLeafName string fetch dial from the dataset TTree with the corresponding leaf name  
dialsFilePath string root file containing the set of dials  
dialsList string path within root file to the list of dials  
tableConfig json Definition of functions to call for Tabular dials empty

Configuration for different dial types

dialType: Normalization

Option Type Description Default
parametersBinningPath string create a dedicated norm dial according to the parameter binning  

Treat the parameter as a simple weight. In this case, the parameter must be bounded to always be positive.

dialType: Spline

Option Type Description Default
dialLeafName string fetch dial from the dataset TTree with the corresponding leaf name  
dialsFilePath string root file containing the set of dials  
dialsList string path within root file to the list of dials  

Translate a parameter value to a weight using an event-by-event spline (A spline is a piece-wise continuous cubic function with continuous first and second derivatives). Each event for which this dial is applicable must have a spline defined in the input file. The spline will be contained in a leaf named by the dialLeaffield, and must contain a TGraph or a TSpline3 object. The Spline dial type can have several dialSubType values

dialType: Graph

Option Type Description Default
dialLeafName string fetch dial from the dataset TTree with the corresponding leaf name  
dialsFilePath string root file containing the set of dials  
dialsList string path within root file to the list of dials  

Translate a parameter value to a weight piece-wise linear function. Be very careful when using a Graph dial since graphs will usually have discontinuous derivatives, and cannot be reliably used in a minimizer. A minimizer requires that the function value be continuous, and have continuous first and second derivatives. The graph will be contained in a leaf named by the dialLeaf field, and must contain a TGraph object.

dialType: Surface

Option Type Description Default
dialLeafName string fetch dial from the dataset TTree with the corresponding leaf name  
dialsFilePath string root file containing the set of dials  
dialsList string path within root file to the list of dials  

Translate two parameter values into a surface. The surface is defined in a TH2 which is contained in a leaf named in the dialLeaf. A surface dial can have the following sub type fields

dialType: Tabulated

Option Type Description Default
tableConfig json Definition of functions to call for Tabular dials empty

Use a precalculated table of weights. The table may be refilled for each iteration of the fitter. The method of filling the table is defined using the tableConfig option.

dialType: Formula

Apply a weight using a ROOT formula. This is not fully supported since it cannot be efficiently applied with GPU acceleration.

applyConditions options

Option Type Description Default
exp / expression / var / variable string formula condition that applies on every dial of the set  
allowedRanges list(pair(double)) list of ranges (min, max) where the dials of the set apply  
excludedRanges list(pair(double)) list of ranges (min, max) where the dials of the set don’t apply  
allowedValues list(double) list of values where the dials of the set apply  
excludedValues list(double) list of values where the dials of the set apply