from UnbinnedAnalysis import * from BinnedAnalysis import * from Composite2 import Composite2 from SummedLikelihood import SummedLikelihood optimizer = 'MINUIT' blike = binnedAnalysis(irfs='DC1A', expcube='expcube_1_day.fits', srcmdl='srcModel_galprop.xml', optimizer=optimizer, cmap='sourceMaps.fits', bexpmap='binned_exposure.fits') ulike = unbinnedAnalysis(evfile='filtered_events_0000.fits', scfile='orbSim_scData_0000.fits', expmap='expMap.fits', expcube='expcube_1_day.fits', irfs='DC1A', srcmdl='srcModel_galprop.xml', optimizer=optimizer) like = Composite2(optimizer=optimizer) like.addComponent(blike) like.addComponent(ulike) tiedParGroup0 = ((ulike, 'GalProp Diffuse', 'Value'), (blike, 'GalProp Diffuse', 'Value')) like.tieParameters(tiedParGroup0) target = 'my_3EG_J0530p1323' tiedParGroup1 = ((ulike, target, 'Prefactor'), (blike, target, 'Prefactor')) like.tieParameters(tiedParGroup1) tiedParGroup2 = ((ulike, target, 'Index'), (blike, target, 'Index')) like.tieParameters(tiedParGroup2) target = "my_3EG_J0534p2200" tiedParGroup1 = ((ulike, target, 'Prefactor'), (blike, target, 'Prefactor')) like.tieParameters(tiedParGroup1) tiedParGroup2 = ((ulike, target, 'Index'), (blike, target, 'Index')) like.tieParameters(tiedParGroup2) target = "my_3EG_J0633p1751" tiedParGroup1 = ((ulike, target, 'Prefactor'), (blike, target, 'Prefactor')) like.tieParameters(tiedParGroup1) tiedParGroup2 = ((ulike, target, 'Index'), (blike, target, 'Index')) like.tieParameters(tiedParGroup2) # Fit the composite likelihood model. like.fit() print ulike.model blike1 = binnedAnalysis(irfs='DC1A', expcube='expcube_1_day.fits', srcmdl='srcModel_galprop.xml', optimizer=optimizer, cmap='sourceMaps.fits', bexpmap='binned_exposure.fits') ulike1 = unbinnedAnalysis(evfile='filtered_events_0000.fits', scfile='orbSim_scData_0000.fits', expmap='expMap.fits', expcube='expcube_1_day.fits', irfs='DC1A', srcmdl='srcModel_galprop.xml', optimizer=optimizer) summed_like = SummedLikelihood(optimizer=optimizer) summed_like.addComponent(blike1) summed_like.addComponent(ulike1) summed_like.fit(0) print summed_like.model