Ejemplo n.º 1
0
    result, f = m_p6.fitTo(dataset2)

if 0 != result.status() or 3 != result.covQual():
    logger.warning('Fit is not perfect MIGRAD=%d QUAL=%d ' %
                   (result.status(), result.covQual()))
    print result
else:
    for phi in m_p6.phis:
        print "\tPoly6:       phi= %s " % phi.ve()

models.append(m_p6)

# =============================================================================
logger.info("Test  Poly(4)*Expo -Distribution")
# =============================================================================
m_p4e = Models.Bkg_pdf('P4e', x, power=4)
m_p4e.tau.fix(-1.25)
with rooSilent():
    result, f = m_p4e.fitTo(dataset2)
    m_p4e.tau.release()
    result, f = m_p4e.fitTo(dataset2)

if 0 != result.status() or 3 != result.covQual():
    logger.warning('Fit is not perfect MIGRAD=%d QUAL=%d ' %
                   (result.status(), result.covQual()))
    print result
else:
    print "\tPoly4e       tau=  %s " % result(m_p4e.tau.GetName())[0]
    for phi in m_p4e.phis:
        print "\tPoly4e:      phi=  %s " % phi.ve()
Ejemplo n.º 2
0
#                               mean   = 3.096 )   

# signal = Models.BifurcatedStudentT_pdf ( 'Sb'           ,
#                                         mass   = m_psi ,
#                                         sigma  = 0.013 , 
#                                         mean   = 3.096 )   

# signal = Models.Needham_pdf ( 'Nh'           ,
#                              mass   = m_psi ,
#                              sigma  = 0.013 , 
#                              mean   = 3.096 )   


## 2b) create the  background : exponential times 1st order polymonial  

bkg   = Models.Bkg_pdf  ( 'B'  , mass = m_psi , power = 1 )


##  2c) create the model

model = Models.Fit1D ( signal     = signal ,
                       background = bkg    )  


## 3) try to fit:

r,f = model.fitTo  ( data , silence = True , ncpu = 8 ) 

signal .mean .release()
signal .sigma.release()
Ejemplo n.º 3
0
# =============================================================================
## gauss PDF
# =============================================================================
logger.info('Test Gauss_pdf')
signal_gauss = Models.Gauss_pdf(name='Gauss', mass=mass)

signal_gauss.mean.setVal(m.value())
signal_gauss.sigma.setVal(m.error())

models.append(signal_gauss)
# =============================================================================
## Gauss PDF
# =============================================================================
model_gauss = Models.Fit1D(signal=signal_gauss,
                           background=Models.Bkg_pdf('BkgGauss',
                                                     mass=mass,
                                                     power=0))
model_gauss.background.tau.fix(0)

with rooSilent():
    result, frame = model_gauss.fitTo(dataset0)
    result, frame = model_gauss.fitTo(dataset0)

if 0 != result.status() or 3 != result.covQual():
    logger.warning('Fit is not perfect MIGRAD=%d QUAL=%d ' %
                   (result.status(), result.covQual()))
    print result
else:
    print 'Signal & Background are: ', result('S')[0], result('B')[0]
    print 'Mean   & Sigma      are: ', result('mean_Gauss')[0], result(
        'sigma_Gauss')[0]
Ejemplo n.º 4
0
    signal_1=sigB,
    signal_2=sigPhi,
    ##
    bkg2=Models.PSPol_pdf('PSP', m_phi, ps2, power=1),
    bkgB=Models.PSPol_pdf('PSB', m_phi, ps2, power=1),
)

model_phi = Models.Fit1D(signal=sigPhi,
                         background=Models.PSPol_pdf('PSQ',
                                                     m_phi,
                                                     ps2,
                                                     power=1),
                         suffix='_P')

model_B = Models.Fit1D(signal=sigB,
                       background=Models.Bkg_pdf('BB', m_b, power=1),
                       suffix='_B')

varset = ROOT.RooArgSet(m_b, m_phi)
dataset = model0.pdf.generate(varset, 1900)

## 2D fits
with rooSilent():
    r, u = model1.fitTo(dataset)
    r, u = model1.fitTo(dataset)

logger.info('Results of 2D-fit \n%s' % r)

## B-mass fit
with rooSilent():
    rB, u = model_B.fitTo(dataset)
Ejemplo n.º 5
0
from OstapTutor.TestVars1 import m_psi, m_D0

#
## create data set
#
varset = ROOT.RooArgSet(m_psi, m_D0)

#
## create model
#
import Ostap.FitModels as Models

jpsi = Models.Needham_pdf('N0', mass=m_psi, mean=3.096, sigma=0.013)
D0 = Models.Gauss_pdf('G0', mass=m_D0, mean=1.864, sigma=0.007)

bkg_jpsi = Models.Bkg_pdf('B01', mass=m_psi)
bkg_D0 = Models.Bkg_pdf('B02', mass=m_D0)
bkg_jpsi.tau.fix(-10)
bkg_D0.tau.fix(+5)

model = Models.Fit2D(signal_1=jpsi,
                     signal_2=D0,
                     bkg1=bkg_jpsi,
                     bkgA=bkg_jpsi,
                     bkg2=bkg_D0,
                     bkgB=bkg_D0)

model.ss.fix(5000)
model.sb.fix(2500)
model.bs.fix(2500)
model.bb.fix(10000)
Ejemplo n.º 6
0
# ============================================================================

from OstapTutor.TestVars1 import m_psi

#
## create data set
#
varset = ROOT.RooArgSet(m_psi)

#
## create model
#
import Ostap.FitModels as Models

signal = Models.Needham_pdf('N0', mass=m_psi)
bkg = Models.Bkg_pdf('B0', mass=m_psi)
bkg.tau.setVal(-10.0)

model = Models.Fit1D(signal=signal, background=bkg)

model.s.setVal(10000)
model.B.setVal(5000)

data = model.pdf.generate(varset, 15000)

# ============================================================================
if '__main__' == __name__:

    import Ostap.Line
    logger.info(__file__ + '\n' + Ostap.Line.line)
    logger.info(80 * '*')
Ejemplo n.º 7
0
from    OstapTutor.TestVars1   import m_psi,m_ups
import  Ostap.FitModels        as     Models

signal_psi = Models.CB2_pdf('Jpsi' ,
                            mass  = m_psi ,
                            sigma = 0.013 ,
                            mean  = 3.096 )
signal_psi.aL.fix(1.8)
signal_psi.aR.fix(1.8)
signal_psi.nL.fix(1.8)
signal_psi.nR.fix(1.8)

## define model for J/psi
model_psi = Models.Fit1D(  signal      = signal_psi ,
                           background  = Models.Bkg_pdf  ( 'BJpsi'  , mass = m_psi ) )

##  define the model for Y 
model_Y   = Models.Manca2_pdf ( m_ups , power = 0    , 
                                m1s    = 9.4539e+00  ,
                                sigma  = 4.03195e-02 )

model_Ypsi = Models.MancaX_pdf ( model_Y      ,
                                 signal_psi   ,
                                 suffix  = '' ) 

  
# ==========================================================================================
# The END 
# ==========================================================================================