Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-09-07 04:37:24

0001 /*****************************************************************************
0002  * Project: CMS detector at the CERN
0003  *
0004  * Package: PhysicsTools/TagAndProbe/RooCMSShape
0005  *
0006  *
0007  * Authors:
0008  *   Nadia Adam, Princeton - neadam@princeton.edu
0009  *   Adam Hunt, Princeton  - ahunt@princeton.edu
0010  *   Kalanand Mishra, Fermilab - kalanand@fnal.gov
0011  *
0012  * Description:
0013  *   Defines a probability density function which has exponential decay 
0014  *   distribution at high mass beyond the pole position (say, Z peak)  
0015  *   but turns over (i.e., error function) at low mass due to threshold 
0016  *   effect. We use this to model the background shape in Z->ll invariant 
0017  *   mass.
0018  * History:
0019  *   
0020  *
0021  *****************************************************************************/
0022 
0023 #ifndef ROO_CMS_SHAPE
0024 #define ROO_CMS_SHAPE
0025 
0026 #include "RooAbsPdf.h"
0027 #include "RooRealProxy.h"
0028 #include "RooAbsReal.h"
0029 #include "TMath.h"
0030 #include "RooMath.h"
0031 
0032 class RooCMSShape : public RooAbsPdf {
0033 public:
0034   RooCMSShape() {}
0035   RooCMSShape(const char* name,
0036               const char* title,
0037               RooAbsReal& _x,
0038               RooAbsReal& _alpha,
0039               RooAbsReal& _beta,
0040               RooAbsReal& _gamma,
0041               RooAbsReal& _peak);
0042 
0043   RooCMSShape(const RooCMSShape& other, const char* name);
0044   inline TObject* clone(const char* newname) const override { return new RooCMSShape(*this, newname); }
0045   inline ~RooCMSShape() override {}
0046   Double_t evaluate() const override;
0047 
0048   ClassDefOverride(RooCMSShape, 1);
0049 
0050 protected:
0051   RooRealProxy x;
0052   RooRealProxy alpha;
0053   RooRealProxy beta;
0054   RooRealProxy gamma;
0055   RooRealProxy peak;
0056 };
0057 
0058 #endif