![]() |
DAS
3.0
Das Analysis System
|
#include "Core/CommonTools/interface/binnings.h"#include "Core/CommonTools/interface/toolbox.h"#include <TH1.h>#include <iostream>#include <cmath>
Include dependency graph for resolution.h:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Functions | |
| double | safelog (double x) |
| double | id (double x) |
| TH1 * | Derivative (TH1 *h, double(*f)(double)=id) |
| unique_ptr< TH1 > | DerivativeFivePointStencil (const unique_ptr< TH1 > &h, double(*f)(double)=id) |
| TH1 * | SecondDerivative (TH1 *h, double(*f)(double)=id) |
| double | mNSC (double *x, double *p) |
| double | GausExp (double *x, double *p) |
| double | Novosibirsk (double *x, double *p) |
| double | CrystalBall (double *x, double *p) |
| double | ModifiedGaussianCore (double *x, double *p) |
Variables | |
| static const size_t | nN = 8 |
| static const size_t | nmu = 3 |
| static const size_t | nkL = 2 |
| static const size_t | nnL = 5 |
| static const size_t | nkR = 2 |
| static const size_t | nnR = 5 |
| double CrystalBall | ( | double * | x, |
| double * | p | ||
| ) |
Resolution with modified Gaussian with simple power-law tail
Note: not very stable because of n**n behaviour -> the trick when fitting is to find the k by looking at the derivative of the log of the function, since the Gaussian should be a straight line...
NB: code should be carefully checked ...
https://en.wikipedia.org/wiki/Crystal_Ball_function
NOTE: prefer the more general implementation
| TH1* Derivative | ( | TH1 * | h, |
| double(*)(double) | f = id |
||
| ) |
Calculate numerical derivative of a histogram
https://en.wikipedia.org/wiki/Numerical_differentiation
| unique_ptr<TH1> DerivativeFivePointStencil | ( | const unique_ptr< TH1 > & | h, |
| double(*)(double) | f = id |
||
| ) |
Calculate numerical derivative of a histogram
| double GausExp | ( | double * | x, |
| double * | p | ||
| ) |
Resolution with modified Gaussian with simple exponentional tail
Note: more stable than Crystal-Ball, but only one parameter
https://home.fnal.gov/~souvik/GaussExp/GaussExp.pdf
| double mNSC | ( | double * | x, |
| double * | p | ||
| ) |
Resolution width as a function of gen pt
Note that the freedom for the sign of the first term is also a modification of the original NSC function.
| double ModifiedGaussianCore | ( | double * | x, |
| double * | p | ||
| ) |
Advanced function to fit resolution including non-Gaussian deviations and pile-up jets.
| double Novosibirsk | ( | double * | x, |
| double * | p | ||
| ) |
| TH1* SecondDerivative | ( | TH1 * | h, |
| double(*)(double) | f = id |
||
| ) |
Calculate numerical second derivative of a histogram
Note: seems to work less good that just applying twice Derivative()...
https://en.wikipedia.org/wiki/Numerical_differentiation
|
static |
order of Chebyshev polynomial for global LHS tail transition of DCB
|
static |
order of Chebyshev polynomial for global RHS tail transition of DCB
|
static |
order of Chebyshev polynomial for global mean of DCB
|
static |
order of Chebyshev polynomial for global normalisation of DCB
|
static |
order of Chebyshev polynomial for global LHS tail steepness of DCB
|
static |
order of Chebyshev polynomial for global RHS tail steepness of DCB