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 
27  RooCMSShape::RooCMSShape(const char *name, const char *title,
28  RooAbsReal& _x,
29  RooAbsReal& _alpha,
30  RooAbsReal& _beta,
31  RooAbsReal& _gamma,
32  RooAbsReal& _peak) :
33  RooAbsPdf(name,title),
34  x("x","x",this,_x),
35  alpha("alpha","alpha",this,_alpha),
36  beta("beta","beta",this,_beta),
37  gamma("gamma","gamma",this,_gamma),
38  peak("peak","peak",this,_peak)
39  { }
40 
41 
43  RooAbsPdf(other,name),
44  x("x",this,other.x),
45  alpha("alpha",this,other.alpha),
46  beta("beta",this,other.beta),
47  gamma("gamma",this,other.gamma),
48  peak("peak",this,other.peak)
49  { }
50 
51 
52 
53  Double_t RooCMSShape::evaluate() const
54  {
55  // ENTER EXPRESSION IN TERMS OF VARIABLE ARGUMENTS HERE
56 
57  //Double_t erf = TMath::Erfc((alpha - x) * beta);
58  Double_t erf = RooMath::erfc((alpha - x) * beta);
59  Double_t u = (x - peak)*gamma;
60 
61  if(u < -70) u = 1e20;
62  else if( u>70 ) u = 0;
63  else u = exp(-u); //exponential decay
64  return erf*u;
65  }
RooRealProxy gamma
Definition: RooCMSShape.h:55
float alpha
Definition: AMPTWrapper.h:95
RooRealProxy peak
Definition: RooCMSShape.h:56
ClassImp(RooCMSShape)
RooRealProxy alpha
Definition: RooCMSShape.h:53
RooRealProxy x
Definition: RooCMSShape.h:52
Double_t evaluate() const override
Definition: RooCMSShape.cc:53
RooRealProxy beta
Definition: RooCMSShape.h:54