CMS 3D CMS Logo

RooCMSShape.cc
Go to the documentation of this file.
1 /*****************************************************************************
2  * Project: CMS detector at the CERN
3  *
4  * Package: PhysicsTools/TagAndProbe/RooCMSShape
5  *
6  *
7  * Authors:
8  * Nadia Adam, Princeton - neadam@princeton.edu
9  * Adam Hunt, Princeton - ahunt@princeton.edu
10  * Kalanand Mishra, Fermilab - kalanand@fnal.gov
11  *
12  * Description:
13  * Defines a probability density function which has exponential decay
14  * distribution at high mass beyond the pole position (say, Z peak)
15  * but turns over (i.e., error function) at low mass due to threshold
16  * effect. We use this to model the background shape in Z->ll invariant
17  * mass.
18  * History:
19  *
20  *
21  *****************************************************************************/
22 
24 
26 
28  const char* title,
29  RooAbsReal& _x,
30  RooAbsReal& _alpha,
31  RooAbsReal& _beta,
32  RooAbsReal& _gamma,
33  RooAbsReal& _peak)
34  : RooAbsPdf(name, title),
35  x("x", "x", this, _x),
36  alpha("alpha", "alpha", this, _alpha),
37  beta("beta", "beta", this, _beta),
38  gamma("gamma", "gamma", this, _gamma),
39  peak("peak", "peak", this, _peak) {}
40 
42  : RooAbsPdf(other, name),
43  x("x", this, other.x),
44  alpha("alpha", this, other.alpha),
45  beta("beta", this, other.beta),
46  gamma("gamma", this, other.gamma),
47  peak("peak", this, other.peak) {}
48 
49 Double_t RooCMSShape::evaluate() const {
50  // ENTER EXPRESSION IN TERMS OF VARIABLE ARGUMENTS HERE
51 
52  //Double_t erf = TMath::Erfc((alpha - x) * beta);
53  Double_t erf = RooMath::erfc((alpha - x) * beta);
54  Double_t u = (x - peak) * gamma;
55 
56  if (u < -70)
57  u = 1e20;
58  else if (u > 70)
59  u = 0;
60  else
61  u = exp(-u); //exponential decay
62  return erf * u;
63 }
RooRealProxy gamma
Definition: RooCMSShape.h:54
RooRealProxy peak
Definition: RooCMSShape.h:55
ClassImp(RooCMSShape)
RooRealProxy alpha
Definition: RooCMSShape.h:52
RooRealProxy x
Definition: RooCMSShape.h:51
RooRealProxy beta
Definition: RooCMSShape.h:53
float x
Double_t evaluate() const override
Definition: RooCMSShape.cc:49