Schema v2
Second iteration of the schema
CorrectionSet
type |
object |
||
properties |
|||
|
Schema Version |
||
The overall schema version |
|||
type |
integer |
||
enum |
2 |
||
const |
2 |
||
|
Description |
||
A nice description of what is in this CorrectionSet means |
|||
default |
null |
||
anyOf |
type |
string |
|
type |
null |
||
|
Corrections |
||
type |
array |
||
items |
|||
|
Compound Corrections |
||
default |
null |
||
anyOf |
type |
array |
|
items |
|||
type |
null |
||
additionalProperties |
False |
Binning
1-dimensional binning in an input variable
type |
object |
||||
properties |
|||||
|
Nodetype |
||||
type |
string |
||||
enum |
binning |
||||
const |
binning |
||||
|
Input |
||||
The name of the correction input variable this binning applies to |
|||||
type |
string |
||||
|
Edges |
||||
Edges of the binning, either as a list of monotonically increasing floats or as an instance of UniformBinning. edges[i] <= x < edges[i+1] => f(x, …) = content[i](…) |
|||||
anyOf |
type |
array |
|||
items |
anyOf |
type |
number |
||
type |
string |
||||
enum |
inf, +inf, -inf |
||||
|
Content |
||||
type |
array |
||||
items |
anyOf |
||||
type |
number |
||||
|
Flow |
||||
Overflow behavior for out-of-bounds values |
|||||
anyOf |
|||||
type |
number |
||||
type |
string |
||||
enum |
clamp, error |
||||
additionalProperties |
False |
Category
A categorical lookup
type |
object |
||
properties |
|||
|
Nodetype |
||
type |
string |
||
enum |
category |
||
const |
category |
||
|
Input |
||
The name of the correction input variable this category node applies to |
|||
type |
string |
||
|
Content |
||
type |
array |
||
items |
|||
|
Default |
||
default |
null |
||
anyOf |
|||
type |
number |
||
type |
null |
||
additionalProperties |
False |
CategoryItem
A key-value pair
The key type must match the type of the Category input variable
type |
object |
||
properties |
|||
|
Key |
||
anyOf |
type |
integer |
|
type |
string |
||
|
Value |
||
anyOf |
|||
type |
number |
||
additionalProperties |
False |
CompoundCorrection
A compound correction
This references other Correction objects in a CorrectionSet and can provide a canned recipe for serial application of dependent corrections. For example, given corrections corr1(x, y) and corr2(x’, z), where x’ = corr1(x, y) * x, the compound correction corr(x, y, z) = corr2(x * corr1(x, y), z) can be expressed with reference to its component corrections.
type |
object |
||
properties |
|||
|
Name |
||
type |
string |
||
|
Description |
||
Detailed description of the correction stack |
|||
default |
null |
||
anyOf |
type |
string |
|
type |
null |
||
|
Inputs |
||
The function signature of the correction |
|||
type |
array |
||
items |
|||
|
Output type for this correction |
||
allOf |
|||
|
Inputs Update |
||
Names of the input variables to update with the output of the previous correction |
|||
type |
array |
||
items |
type |
string |
|
|
Input Op |
||
How to accumulate changes in the input variables |
|||
type |
string |
||
enum |
+, *, / |
||
|
Output Op |
||
How to accumulate changes in the output variable |
|||
type |
string |
||
enum |
+, *, /, last |
||
|
Stack |
||
Names of the component corrections. Each component should have a subset of the inputs listed in this object. |
|||
type |
array |
||
items |
type |
string |
|
additionalProperties |
False |
Correction
type |
object |
||
properties |
|||
|
Name |
||
type |
string |
||
|
Description |
||
Detailed description of the correction |
|||
default |
null |
||
anyOf |
type |
string |
|
type |
null |
||
|
Version |
||
Some value that may increase over time due to bugfixes |
|||
type |
integer |
||
|
Inputs |
||
The function signature of the correction |
|||
type |
array |
||
items |
|||
|
Output type for this correction |
||
allOf |
|||
|
Generic Formulas |
||
A list of common formulas that may be used
|
|||
default |
null |
||
anyOf |
type |
array |
|
items |
|||
type |
null |
||
|
Data |
||
The root content node |
|||
anyOf |
|||
type |
number |
||
additionalProperties |
False |
Formula
A general formula type
type |
object |
|||
properties |
||||
|
Nodetype |
|||
type |
string |
|||
enum |
formula |
|||
const |
formula |
|||
|
Expression |
|||
type |
string |
|||
|
Parser |
|||
type |
string |
|||
enum |
TFormula |
|||
const |
TFormula |
|||
|
Variables |
|||
The names of the correction input variables this formula applies to |
||||
type |
array |
|||
items |
type |
string |
||
|
Parameters |
|||
Parameters, if the parser supports them (e.g. [0] for TFormula) |
||||
default |
null |
|||
anyOf |
type |
array |
||
items |
type |
number |
||
type |
null |
|||
additionalProperties |
False |
FormulaRef
A reference to one of the Correction generic_formula items, with specific parameters
type |
object |
||
properties |
|||
|
Nodetype |
||
type |
string |
||
enum |
formularef |
||
const |
formularef |
||
|
Index |
||
Index into the Correction.generic_formulas list |
|||
type |
integer |
||
minimum |
0 |
||
|
Parameters |
||
Same interpretation as Formula.parameters |
|||
type |
array |
||
items |
type |
number |
|
additionalProperties |
False |
HashPRNG
A node that generates a pseudorandom number deterministic in its inputs
The output distribution can be chosen from a set of fixed values, downstream code could then shift and scale it as necessary.
type |
object |
||
properties |
|||
|
Nodetype |
||
type |
string |
||
enum |
hashprng |
||
const |
hashprng |
||
|
Inputs |
||
The names of the input variables to use as entropy sources |
|||
type |
array |
||
items |
type |
string |
|
minItems |
1 |
||
|
Distribution |
||
The output distribution to draw from |
|||
type |
string |
||
enum |
stdflat, stdnormal, normal |
||
additionalProperties |
False |
MultiBinning
N-dimensional rectangular binning
type |
object |
|||||
properties |
||||||
|
Nodetype |
|||||
type |
string |
|||||
enum |
multibinning |
|||||
const |
multibinning |
|||||
|
Inputs |
|||||
The names of the correction input variables this binning applies to |
||||||
type |
array |
|||||
items |
type |
string |
||||
minItems |
1 |
|||||
|
Edges |
|||||
Bin edges for each input |
||||||
type |
array |
|||||
items |
anyOf |
type |
array |
|||
items |
anyOf |
type |
number |
|||
type |
string |
|||||
enum |
inf, +inf, -inf |
|||||
|
Content |
|||||
|
||||||
type |
array |
|||||
items |
anyOf |
|||||
type |
number |
|||||
|
Flow |
|||||
Overflow behavior for out-of-bounds values |
||||||
anyOf |
||||||
type |
number |
|||||
type |
string |
|||||
enum |
clamp, error |
|||||
additionalProperties |
False |
Transform
A node that rewrites one real or integer input according to a rule as given by a content node
Any downstream nodes will see a different value for the rewritten input If the input is an integer type, the rule output will be cast from a double to integer type before using. These should be used sparingly and at high levels in the tree, since they require an allocation.
type |
object |
||
properties |
|||
|
Nodetype |
||
type |
string |
||
enum |
transform |
||
const |
transform |
||
|
Input |
||
The name of the input to rewrite |
|||
type |
string |
||
|
Rule |
||
A subtree that implements the rewrite rule |
|||
anyOf |
|||
type |
number |
||
|
Content |
||
A subtree that will be evaluated with transformed values |
|||
anyOf |
|||
type |
number |
||
additionalProperties |
False |
UniformBinning
Uniform binning description, to be used as the edges attribute of Binning or MultiBinning.
type |
object |
|
properties |
||
|
N |
|
Number of bins |
||
type |
integer |
|
|
Low |
|
Lower edge of first bin |
||
type |
number |
|
|
High |
|
Higher edge of last bin |
||
type |
number |
|
additionalProperties |
False |
Variable
An input or output variable
type |
object |
||
properties |
|||
|
Name |
||
type |
string |
||
|
Type |
||
A string, a 64 bit integer, or a double-precision floating point value |
|||
type |
string |
||
enum |
string, int, real |
||
|
Description |
||
A nice description of what this variable means |
|||
default |
null |
||
anyOf |
type |
string |
|
type |
null |
||
additionalProperties |
False |