Commit cbe733dd3c8721904bdde1d0f7a96df37d3bc38e

Authored by Jürgen Knödlseder
2 parents d02fa423 3647c518

Merge branch '1425-cssens-memory-usage-master' into integration

Showing 1 changed file with 15 additions and 13 deletions
scripts/cssens.py
... ... @@ -155,7 +155,7 @@ class cssens(ctools.cscript):
155 155  
156 156 # Set some fixed parameters
157 157 self.m_log = False # Logging in client tools
158   - self.m_debug = False # Debugging in client tools
  158 + self.m_debug = False # self["debug"].boolean() # Debugging in client tools
159 159  
160 160 # Return
161 161 return
... ... @@ -425,26 +425,28 @@ class cssens(ctools.cscript):
425 425 diffSens_value = []
426 426 iter = 0
427 427 test_flux = 0.1 # This is the initial test flux in Crab units
428   -
  428 +
429 429 # Loop until we break
430 430 while True:
431   -
  431 +
432 432 # Update iteration counter
433 433 iter += 1
434   -
  434 +
435 435 # Write header
436 436 if self.logExplicit():
437 437 self.log.header2("Iteration "+str(iter))
438 438  
439 439 # Set test flux
440   - full_model["Test"]['Prefactor'].value(test_flux)
441   - obs.models(full_model)
442   -
  440 + src_model = full_model.copy()
  441 + crab_flux = src_model["Test"]['Prefactor'].value()
  442 + src_model["Test"]['Prefactor'].value(crab_flux*test_flux)
  443 + obs.models(src_model)
  444 +
443 445 # Simulate events
444 446 sim = obsutils.sim(obs, nbins=self.m_nbins, seed=iter, \
445 447 binsz=self.m_binsz, npix=self.m_npix, \
446 448 log=self.m_log, debug=self.m_debug)
447   -
  449 +
448 450 # Determine number of events in simulation
449 451 nevents = 0.0
450 452 for run in sim:
... ... @@ -463,7 +465,7 @@ class cssens(ctools.cscript):
463 465 result_bgm = like.obs().models().copy()
464 466 LogL_bgm = like.opt().value()
465 467 npred_bgm = like.obs().npred()
466   -
  468 +
467 469 # Assess quality based on a comparison between Npred and Nevents
468 470 quality_bgm = npred_bgm-nevents
469 471  
... ... @@ -485,7 +487,7 @@ class cssens(ctools.cscript):
485 487 if self.logExplicit():
486 488 self.log("Fit quality outside required range. Start over.\n")
487 489 continue
488   -
  490 +
489 491 # Write model fit results
490 492 if self.logExplicit():
491 493 for model in result_bgm:
... ... @@ -496,7 +498,7 @@ class cssens(ctools.cscript):
496 498 self.log(str(par)+"\n")
497 499  
498 500 # Fit background and test source
499   - sim.models(full_model)
  501 + sim.models(src_model)
500 502 like = obsutils.fit(sim, log=self.m_log, debug=self.m_debug)
501 503 result_all = like.obs().models().copy()
502 504 LogL_all = like.opt().value()
... ... @@ -542,8 +544,8 @@ class cssens(ctools.cscript):
542 544 continue
543 545  
544 546 # Get fitted Crab, photon and energy fluxes
545   - cflux = result_all["Test"]['Prefactor'].value()
546   - cflux_err = result_all["Test"]['Prefactor'].error()
  547 + cflux = result_all["Test"]['Prefactor'].value() / crab_flux
  548 + cflux_err = result_all["Test"]['Prefactor'].error() / crab_flux
547 549 pflux = result_all["Test"].spectral().flux(emin, emax)
548 550 eflux = result_all["Test"].spectral().eflux(emin, emax)
549 551  
... ...