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>
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