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)
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)