@@ -7708,23 +7708,23 @@ namespace Ostap
77087708 * Simple double Gaussian PDF
77097709 * suitable as resolution model
77107710 */
7711- class DoubleGauss: public RooAbsPdf
7711+ class DoubleGauss: public ShiftAndScale
77127712 {
77137713 public:
77147714 // ======================================================================
7715- ClassDefOverride(Ostap::Models::DoubleGauss, 1 ) ;
7715+ ClassDefOverride(Ostap::Models::DoubleGauss, 2 ) ;
77167716 // ======================================================================
77177717 public:
77187718 // ======================================================================
77197719 /// constructor from all parameters
77207720 DoubleGauss
7721- ( const char* name ,
7722- const char* title ,
7723- RooAbsReal& x ,
7724- RooAbsReal& sigma , // narrow sigma
7725- RooAbsReal& fraction , // fraction of narrow sigma
7726- RooAbsReal& scale , // wide/narrow sigma ratio
7727- RooAbsReal& mean ) ; // mean, presumably fixed at 0
7721+ ( const char* name ,
7722+ const char* title ,
7723+ RooAbsReal& x ,
7724+ RooAbsReal& mean , // mean, presumably fixed at 0
7725+ RooAbsReal& sigma , // narrow sigma
7726+ RooAbsReal& fraction , // fraction of narrow sigma
7727+ RooAbsReal& sigma_scale ) ; // wide/narrow sigma ratio
77287728 /// "copy" constructor
77297729 DoubleGauss ( const DoubleGauss& , const char* name = 0 ) ;
77307730 /// virtual destructor
@@ -7770,19 +7770,17 @@ namespace Ostap
77707770 // =====================================================================
77717771 public:
77727772 // ======================================================================
7773- const RooAbsReal& x () const { return m_x .arg() ; }
7774- const RooAbsReal& sigma () const { return m_sigma .arg() ; }
7775- const RooAbsReal& fraction () const { return m_fraction .arg() ; }
7776- const RooAbsReal& scale () const { return m_scale .arg() ; }
7777- const RooAbsReal& mean () const { return m_mean .arg() ; }
7773+ const RooAbsReal& x () const { return m_x .arg() ; }
7774+ const RooAbsReal& fraction () const { return m_fraction .arg() ; }
7775+ const RooAbsReal& sigma_scale () const { return m_sigma_scale .arg() ; }
7776+ //
7777+ const RooAbsReal& mean () const { return shift () ; }
7778+ const RooAbsReal& sigma () const { return scale () ; }
77787779 // ======================================================================
77797780 protected:
77807781 // =====================================================================
7781- RooRealProxy m_x {} ;
7782- RooRealProxy m_sigma {} ;
7783- RooRealProxy m_fraction {} ;
7784- RooRealProxy m_scale {} ;
7785- RooRealProxy m_mean {} ;
7782+ RooRealProxy m_fraction {} ;
7783+ RooRealProxy m_sigma_scale {} ;
77867784 // ======================================================================
77877785 protected: // the function
77887786 // ======================================================================
@@ -7794,11 +7792,11 @@ namespace Ostap
77947792 * Simple double Gaussian PDF
77957793 * suitable as resolution model
77967794 */
7797- class DoubleGauss2: public RooAbsPdf
7795+ class DoubleGauss2: public ShiftAndScale
77987796 {
77997797 public:
78007798 // ======================================================================
7801- ClassDefOverride(Ostap::Models::DoubleGauss2, 1 ) ;
7799+ ClassDefOverride(Ostap::Models::DoubleGauss2, 2 ) ;
78027800 // ======================================================================
78037801 public:
78047802 // ======================================================================
@@ -7807,10 +7805,10 @@ namespace Ostap
78077805 ( const char* name ,
78087806 const char* title ,
78097807 RooAbsReal& x ,
7810- RooAbsReal& sigma , // narrow sigma
7808+ RooAbsReal& mean , // mean, presumably fixed at 0
7809+ RooAbsReal& sigma , // narrow sigma
78117810 RooAbsReal& fraction , // fraction of narrow sigma
7812- RooAbsReal& delta , // wide/narrow delta
7813- RooAbsReal& mean ) ; // mean, presumably fixed at 0
7811+ RooAbsReal& delta ) ; // wide/narrow delta
78147812 /// "copy" constructor
78157813 DoubleGauss2 ( const DoubleGauss2& , const char* name = 0 ) ;
78167814 /// virtual destructor
@@ -7856,19 +7854,16 @@ namespace Ostap
78567854 // =====================================================================
78577855 public:
78587856 // ======================================================================
7859- const RooAbsReal& x () const { return m_x .arg() ; }
7860- const RooAbsReal& sigma () const { return m_sigma .arg() ; }
78617857 const RooAbsReal& fraction () const { return m_fraction .arg() ; }
78627858 const RooAbsReal& delta () const { return m_delta .arg() ; }
7863- const RooAbsReal& mean () const { return m_mean .arg() ; }
7859+ //
7860+ const RooAbsReal& sigma () const { return scale () ; }
7861+ const RooAbsReal& mean () const { return shift () ; }
78647862 // ======================================================================
78657863 protected:
78667864 // =====================================================================
7867- RooRealProxy m_x {} ;
7868- RooRealProxy m_sigma {} ;
78697865 RooRealProxy m_fraction {} ;
78707866 RooRealProxy m_delta {} ;
7871- RooRealProxy m_mean {} ;
78727867 // ======================================================================
78737868 protected: // the function
78747869 // ======================================================================
0 commit comments