Commit 696c32c22a98e6dabcf1947d96b2b8345f7fc7b2

Authored by Jürgen Knödlseder
1 parent 6b6b5700

Clean up code

Showing 1 changed file with 0 additions and 119 deletions
scripts/cta_kb_root2caldb.py
@@ -397,9 +397,6 @@ class caldb(): @@ -397,9 +397,6 @@ class caldb():
397 # Write header 397 # Write header
398 for file in files: 398 for file in files:
399 file.write("log(E) Area r68 r80 ERes. BG Rate Diff Sens\n") 399 file.write("log(E) Area r68 r80 ERes. BG Rate Diff Sens\n")
400 - file.write("log(E) Area r68 r80 ERes. BG Rate Diff Sens\n")  
401 - file.write("log(E) Area r68 r80 ERes. BG Rate Diff Sens\n")  
402 - file.write("log(E) Area r68 r80 ERes. BG Rate Diff Sens\n")  
403 400
404 # Get histograms. Konrad's root files do not have an EffectiveArea80 401 # Get histograms. Konrad's root files do not have an EffectiveArea80
405 # histogram, but his effective area is for 80% containment radius 402 # histogram, but his effective area is for 80% containment radius
@@ -502,122 +499,6 @@ class caldb(): @@ -502,122 +499,6 @@ class caldb():
502 return 499 return
503 500
504 501
505 -# ============== #  
506 -# Generate files #  
507 -# ============== #  
508 -def make_files(filename, prfname, bkgname):  
509 - """  
510 - Generate files.  
511 -  
512 - Parameters:  
513 - filename - Performance file name  
514 - prfname - Performance file name  
515 - bkgname - File function filename  
516 - """  
517 - # Open performance file and file function  
518 - file = TFile(filename)  
519 - fprf = open(prfname, "w")  
520 - fbkg = open(bkgname, "w")  
521 -  
522 - # Write header  
523 - fprf.write("log(E) Area r68 r80 ERes. BG Rate Diff Sens\n")  
524 - #sys.stdout.write("log(E) Area Area80 r68 r80 ERes. BG Rate Diff Sens BGRateSqDeg BGInt (BGIntControl)\n")  
525 -  
526 - # Get histograms. Konrad's root files do not have an EffectiveArea80  
527 - # histogram, but his effective area is for 80% containment radius  
528 - # anyways, so we simply read this histogram into aeff80.  
529 - sens = TH1F()  
530 - bgrate = TH1F()  
531 - bgratesqdeg = TH1F()  
532 - aeff = TH1F()  
533 - aeff80 = TH1F()  
534 - angres = TH1F()  
535 - angres80 = TH1F()  
536 - eres = TH1F()  
537 - file.GetObject("DiffSens", sens)  
538 - file.GetObject("BGRate", bgrate)  
539 - file.GetObject("BGRatePerSqDeg", bgratesqdeg)  
540 - file.GetObject("EffectiveArea", aeff)  
541 - try:  
542 - file.GetObject("EffectiveArea80", aeff80)  
543 - except:  
544 - file.GetObject("EffectiveArea", aeff80)  
545 - file.GetObject("AngRes", angres)  
546 - file.GetObject("AngRes80", angres80)  
547 - file.GetObject("ERes", eres)  
548 -  
549 - # Setup vectors  
550 - energies = bgrate.GetXaxis()  
551 - nbins_eng = energies.GetNbins()  
552 - for i in range(nbins_eng):  
553 -  
554 - # Get logE and background rate per squared degree  
555 - logE = energies.GetBinCenter(i+1)  
556 - bgd = bgrate.GetBinContent(i+1,1)  
557 - bgdsq = bgratesqdeg.GetBinContent(i+1,1)  
558 - area = aeff.GetBinContent(i+1,1)  
559 - area80 = aeff80.GetBinContent(i+1,1)  
560 - r68 = angres.GetBinContent(i+1,1)  
561 - r80 = angres80.GetBinContent(i+1,1)  
562 - dE = eres.GetBinContent(i+1,1)  
563 - diffs = sens.GetBinContent(i+1,1)  
564 -  
565 - # Skip any NaNs  
566 - if math.isnan(area80):  
567 - continue  
568 -  
569 - # Compute energy (in MeV)  
570 - energy = math.pow(10.0, logE)*1.0e6  
571 - emin = math.pow(10.0, logE-0.1)*1.0e6  
572 - emax = math.pow(10.0, logE+0.1)*1.0e6  
573 - ewidth = emax-emin  
574 -  
575 - # Convert into background rate per steradian and MeV  
576 - bkg_rate = bgdsq / (0.01745329*0.01745329) / ewidth  
577 -  
578 - # Compute control background rate (this only works for KB files  
579 - # as they are for 80% containment radius). But we don't use this  
580 - # anyways, it's just for control on display ...  
581 - omega = 2.0 * math.pi * (1.0 - math.cos(math.radians(r80)))  
582 - if omega > 0.0:  
583 - bkg_rate2 = bgd / omega / ewidth  
584 - else:  
585 - bkg_rate2 = 0.0  
586 -  
587 - # Compute full effective area by dividing area80/0.80  
588 - area = area80/0.80  
589 -  
590 - # Write results in file  
591 - line = "%.1f %.1f %.4f %.4f %.4f %.5e %.5e" % \  
592 - (logE, area, r68, r80, dE, bgd, diffs)  
593 - fprf.write(line+"\n")  
594 - fbkg.write(str(energy)+" "+str(bkg_rate)+"\n")  
595 -  
596 - # Show performance file  
597 - #print "%.1f %.1f %.1f %.4f %.4f %.4f %.7f %.5e %.5e %.5e (%.5e)" % \  
598 - # (logE, area, area80, r68, r80, dE, bgd, diffs, bgdsq, bkg_rate, bkg_rate2)  
599 -  
600 - # Write trailer  
601 - fprf.write("---------------------------------------------\n")  
602 - fprf.write("Notes\n")  
603 - fprf.write(" 1) log(E) = log10(E/TeV) - bin centre\n")  
604 - fprf.write(" 2) Eff Area - in square metres after background cut (no theta cut)\n")  
605 - fprf.write(" 3) Ang. Res - 68% containment radius of gamma-ray PSF post cuts - in degrees\n")  
606 - fprf.write(" 4) Ang. Res - 80% containment radius of gamma-ray PSF post cuts - in degrees\n")  
607 - fprf.write(" 5) Fractional Energy Resolution (rms)\n")  
608 - fprf.write(" 6) BG Rate - inside point-source selection region - post call cuts - in Hz\n")  
609 - fprf.write(" 7) Diff Sens - differential sensitivity for this bin expressed as E^2 dN/dE\n")  
610 - fprf.write(" - in erg cm^-2 s^-1 - for a 50 hours exposure - 5 sigma significance including\n")  
611 - fprf.write(" systematics and statistics and at least 10 photons.\n")  
612 -  
613 - # Close files  
614 - fprf.close()  
615 - fbkg.close()  
616 -  
617 - # Return  
618 - return  
619 -  
620 -  
621 #==========================# 502 #==========================#
622 # Main routine entry point # 503 # Main routine entry point #
623 #==========================# 504 #==========================#