示例#1
0
def test_laplace(): 

    logger.info ('Test Asymmetric Laplace shape' )
    laplace = Models.AsymmetricLaplace_pdf ( name  = 'AL', 
                                             xvar  = x   ,
                                             mean  = 5   , 
                                             slope = 1   )
    
    from ostap.fitting.convolution import  Convolution_pdf

    ## constant resolution  
    laplace_1 = Convolution_pdf ( name = 'L1' , pdf = laplace, resolution = 0.75 )

    ## resolution PDF
    from ostap.fitting.resolution import ResoApo2
    rAp = ResoApo2 ( 'A' , x , 0.75  )
    
    ## resolution as PDF 
    laplace_2 = Convolution_pdf ( name = 'L2' , pdf = laplace, resolution = rAp )

    laplace.draw( silent = True )

    laplace_1.draw( silent = True )

    laplace_2.draw()

    models.add ( laplace  )
    models.add ( laplace_1 )
    models.add ( laplace_2 )
def test_apo2():

    logger = getLogger('test_apo2')

    logger.info('Test ResoApo2:  asymmetric Apollonios resolution model')
    from ostap.fitting.resolution import ResoApo2
    reso = ResoApo2('Apollonios2',
                    mass,
                    mean=(0.0, -0.1, 0.1),
                    sigma=(0.4, 0.1, 1.0),
                    beta=(1, 1.e-5, 100),
                    kappa=(0.1, -1, +1))

    result, frame = reso.fitTo(dataset, silent=True)
    with wait(1), use_canvas('test_apo2'):
        result, frame = reso.fitTo(dataset, silent=True, draw=True)

    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:
        make_print(reso, result, 'Asymmetric Apollonios2', logger)

    models.add(reso)
示例#3
0
def test_apo2 () :
    
    logger = getLogger ( 'test_apo2' )

    logger.info ('Test ResoApo2:  symmetric Apollonios resolution model' )
    from   ostap.fitting.resolution import ResoApo2
    reso_apo2 = ResoApo2( 'A2' , mass ,  0.1 )
    reso_apo2.sigma .release()
    reso_apo2.beta  .release()
    
    from   ostap.logger.utils   import rooSilent
    with rooSilent() : 
        result, frame = reso_apo2. fitTo ( dataset0 )
        with wait ( 1 ) , use_canvas ( 'test_apo2' ) : 
            result, frame = reso_apo2. fitTo ( dataset0 , draw = True )
        
    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 :     
        logger.info ( 'ResoApo2:   RMS        %s ' % reso_apo2.rms          () )  
        logger.info ( 'ResoApo2:   FWHM       %s ' % reso_apo2.fwhm         () )
        logger.info ( "ResoApo2:   fit results\n%s" % result.table ( title = 'symmetric Apollonios resolution model' , prefix = '# ' ) )
    
    models.add ( reso_apo2)
def test_apo2():

    logger.info('Test ResoApo2:  symmetric Apolonios resolution model')
    from ostap.fitting.resolution import ResoApo2
    reso_apo2 = ResoApo2('A2', mass, 0.1)
    reso_apo2.sigma.release()
    reso_apo2.beta.release()

    from ostap.logger.utils import rooSilent
    with rooSilent():
        result, frame = reso_apo2.fitTo(dataset0)
        result, frame = reso_apo2.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:
        logger.info('ResoApo2:   RMS        %s ' % reso_apo2.rms())
        logger.info('ResoApo2:   FWHM       %s ' % reso_apo2.fwhm())
        logger.info('ResoApo2:   Resolution %s ' % result.sigma_A2.ve())
        logger.info('ResoApo2:   Beta       %s ' % result.ResoBeta_A2.ve())

    models.add(reso_apo2)