Ejemplo n.º 1
0
    m_y.setVal(random.uniform(m_y.getMin(), m_y.getMax()))
    dataset.add(varset)

print dataset
# =============================================================================

import Ostap.FitModels as Models
models = []

# =============================================================================
## gauss as signal, const as background
# =============================================================================
logger.info(
    'Simplest (factorized) fit model:  ( Gauss + const ) x ( Gauss + const ) ')
model = Models.Fit2D(signal_1=Models.Gauss_pdf('Gx',
                                               m_x.getMin(),
                                               m_x.getMax(),
                                               mass=m_x),
                     signal_2=Models.Gauss_pdf('Gy',
                                               m_y.getMin(),
                                               m_y.getMax(),
                                               mass=m_y))

model.signal1.sigma.fix(m.error())
model.signal2.sigma.fix(m.error())
model.signal1.mean.fix(m.value())
model.signal2.mean.fix(m.value())
model.signal1.mean.fix(m.value())
model.signal2.mean.fix(m.value())
model.bkg1.tau.fix(0)
model.bkg2.tau.fix(0)
model.bkgA.tau.fix(0)
Ejemplo n.º 2
0
for i in xrange(0, 500):
    mass.setVal(random.uniform(mass.getMin(), mass.getMax()))
    dataset0.add(varset0)

print dataset0

import Ostap.FitModels as Models

models = []

# =============================================================================
## 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():
Ejemplo n.º 3
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)
Ejemplo n.º 4
0
    logger.info('DEFINE default storage type to be TTree! ')
    RAD.setDefaultStorageType(RAD.Tree)

# ============================================================================
# The variables
# ============================================================================
m_b = ROOT.RooRealVar('mB', 'm(B)', 5.2, 5.4)
m_phi = ROOT.RooRealVar('mPhi', 'm(Phi)', 1.0, 1.050)
h_phi = m_phi.histo(50)
# ============================================================================

import Ostap.FitModels as Models

sigB = Models.Gauss_pdf('Bh',
                        m_b.getMin(),
                        m_b.getMax(),
                        mass=m_b,
                        mean=5.278,
                        sigma=0.015)

bw = cpp.Gaudi.Math.Phi0(1.0195, 0.0043, 0.4937)

sigPhi0 = Models.BreitWigner_pdf('Phi0',
                                 bw,
                                 mean=1.0195,
                                 gamma=0.0043,
                                 mass=m_phi,
                                 convolution=0.0005)

sigPhi = sigPhi0

ps2 = cpp.Gaudi.Math.PhaseSpaceNL(2 * 0.4937, 5.278 - 3.096, 2, 3)
Ejemplo n.º 5
0
    logger = getLogger(__name__)
logger.info('Simple fit')
# ============================================================================

## 1) import dataset and variable
from OstapTutor.TestData1 import m_psi, data

logger.info('Data: %s' % data)

## 2) create the model: signnal + background

import Ostap.FitModels as Models

## 2a) create the  signal : gaussian  here

signal = Models.Gauss_pdf('Gauss', 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()