├── Plot ├── __init__.py ├── parameterNames.py ├── npComparison.py ├── etas.py └── plotInterpCode.py ├── Decouple ├── __init__.py ├── BatchPlugins │ ├── __init__.py │ ├── mleAllExceptMuProd.py │ └── mleCommonNPExceptMuProd.py ├── muTmuW.py ├── fullCountingModelScan_kVkF.py ├── fullCountingModelScan_kGlukGamma.py ├── kVkF.py ├── kGlukGamma.py ├── fullModel_utils.py └── plot_utils.py ├── scripts ├── __init__.py ├── recouple.py └── decouple.py ├── plots └── README ├── output └── README ├── plotsForPaper ├── atlas_counting │ ├── robustness_2ph.eps │ ├── robustness_4l.eps │ ├── robustness_lvlv.eps │ ├── 2ph_etas_fisherInfo.eps │ ├── 4l_etas_fisherInfo.eps │ ├── interpCode0_muTmuW.eps │ ├── lvlv_etas_fisherInfo.eps │ ├── interpCode0_muTmuW_shifted.eps │ ├── interpCode0_muTmuW_shifted_etaArrows.eps │ ├── interpCode0_muTmuW_template0_etasfisherInfo.eps │ ├── interpCode0_muTmuW_template10_etasgeneric_M5.eps │ ├── interpCode0_muTmuW_template20_etasgeneric20_learningFull.eps │ ├── 2ph_etas_table.py │ ├── 4l_etas_table.py │ └── lvlv_etas_table.py ├── twoBin │ ├── scenarioB_interpCode0_etas_table.py │ ├── scenarioC_interpCode0_etas_table.py │ ├── scenarioA_interpCode0_etas_table.py │ ├── scenarioB_interpCode0_etas_fisherInfo.eps │ ├── scenarioA_interpCode0_etas_fisherInfo.eps │ ├── scenarioC_interpCode0_etas_fisherInfo.eps │ ├── scenarioB_interpCode0_muTmuW_overlay.eps │ ├── scenarioB_interpCode0_muTmuW_overlay_box.eps │ ├── scenarioA_interpCode0_muTmuW_overlay.eps │ ├── scenarioA_interpCode0_muTmuW_overlay_box.eps │ └── scenarioC_interpCode0_muTmuW_overlay.eps └── copy.py ├── ModelGenerators ├── README.md ├── switchInterpCode.py ├── toBoxConstraint.py ├── Makefile └── twoBinCountingModel.py ├── requirements.txt ├── requirements_dev.txt ├── .gitignore ├── setup.py ├── LICENSE └── README.md /Plot/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Decouple/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /scripts/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Decouple/BatchPlugins/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /plots/README: -------------------------------------------------------------------------------- 1 | Placeholder directory where images will be written to. -------------------------------------------------------------------------------- /output/README: -------------------------------------------------------------------------------- 1 | Placeholder directory where output root files will be written to. -------------------------------------------------------------------------------- /plotsForPaper/atlas_counting/robustness_2ph.eps: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cranmer/decouple/master/plotsForPaper/atlas_counting/robustness_2ph.eps -------------------------------------------------------------------------------- /plotsForPaper/atlas_counting/robustness_4l.eps: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cranmer/decouple/master/plotsForPaper/atlas_counting/robustness_4l.eps -------------------------------------------------------------------------------- /plotsForPaper/atlas_counting/robustness_lvlv.eps: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cranmer/decouple/master/plotsForPaper/atlas_counting/robustness_lvlv.eps -------------------------------------------------------------------------------- /plotsForPaper/atlas_counting/2ph_etas_fisherInfo.eps: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cranmer/decouple/master/plotsForPaper/atlas_counting/2ph_etas_fisherInfo.eps -------------------------------------------------------------------------------- /plotsForPaper/atlas_counting/4l_etas_fisherInfo.eps: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cranmer/decouple/master/plotsForPaper/atlas_counting/4l_etas_fisherInfo.eps -------------------------------------------------------------------------------- /plotsForPaper/atlas_counting/interpCode0_muTmuW.eps: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cranmer/decouple/master/plotsForPaper/atlas_counting/interpCode0_muTmuW.eps -------------------------------------------------------------------------------- /plotsForPaper/atlas_counting/lvlv_etas_fisherInfo.eps: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cranmer/decouple/master/plotsForPaper/atlas_counting/lvlv_etas_fisherInfo.eps -------------------------------------------------------------------------------- /plotsForPaper/atlas_counting/interpCode0_muTmuW_shifted.eps: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cranmer/decouple/master/plotsForPaper/atlas_counting/interpCode0_muTmuW_shifted.eps -------------------------------------------------------------------------------- /ModelGenerators/README.md: -------------------------------------------------------------------------------- 1 | # Models 2 | 3 | __TwoBin__: Simple test models for the paper. 4 | __ATLAS counting__: More realistic test models with numbers taken from ATLAS papers. 5 | -------------------------------------------------------------------------------- /plotsForPaper/atlas_counting/interpCode0_muTmuW_shifted_etaArrows.eps: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cranmer/decouple/master/plotsForPaper/atlas_counting/interpCode0_muTmuW_shifted_etaArrows.eps -------------------------------------------------------------------------------- /plotsForPaper/atlas_counting/interpCode0_muTmuW_template0_etasfisherInfo.eps: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cranmer/decouple/master/plotsForPaper/atlas_counting/interpCode0_muTmuW_template0_etasfisherInfo.eps -------------------------------------------------------------------------------- /plotsForPaper/atlas_counting/interpCode0_muTmuW_template10_etasgeneric_M5.eps: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cranmer/decouple/master/plotsForPaper/atlas_counting/interpCode0_muTmuW_template10_etasgeneric_M5.eps -------------------------------------------------------------------------------- /Plot/parameterNames.py: -------------------------------------------------------------------------------- 1 | parameterNames = { 2 | 'QCDscale_Higgs_ggH': 'QCD scale ggF inclusive', 3 | 'QCDscale_Higgs_ggH2in': 'QCD scale ggF #geq 2 jets', 4 | 'ATLAS_LUMI_2012': 'luminosity', 5 | 6 | 'sys':'sys', 7 | } 8 | -------------------------------------------------------------------------------- /plotsForPaper/atlas_counting/interpCode0_muTmuW_template20_etasgeneric20_learningFull.eps: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cranmer/decouple/master/plotsForPaper/atlas_counting/interpCode0_muTmuW_template20_etasgeneric20_learningFull.eps -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | multiprocessing==2.6.2.1 2 | numpy==1.8.0 3 | progressbar==2.2 4 | scipy==0.13.3 5 | importlib==1.0.3 6 | 7 | git+https://github.com/svenkreiss/PyROOTUtils.git@v1.0.2 8 | git+https://github.com/svenkreiss/BatchLikelihoodScan.git@v1.0.4 9 | git+https://github.com/svenkreiss/LHCHiggsCouplings.git@v1.0 10 | 11 | . 12 | -------------------------------------------------------------------------------- /requirements_dev.txt: -------------------------------------------------------------------------------- 1 | multiprocessing>=2.6.2.1 2 | numpy>=1.8.0 3 | progressbar>=2.2 4 | scipy>=0.13.3 5 | importlib>=1.0.3 6 | 7 | -e git+https://github.com/svenkreiss/PyROOTUtils.git#egg=PyROOTUtils 8 | -e git+https://github.com/svenkreiss/BatchLikelihoodScan.git#egg=BatchLikelihoodScan 9 | -e git+https://github.com/svenkreiss/LHCHiggsCouplings.git#egg=LHCHiggsCouplings 10 | 11 | -e . 12 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | output 2 | plots 3 | xml 4 | *_xml 5 | HepDataTools 6 | env 7 | .svn 8 | 9 | *.py[cod] 10 | *.DS_Store 11 | *.dropbox 12 | *.pdf 13 | 14 | # ROOT 15 | *.root 16 | G__* 17 | *.o 18 | *.d 19 | 20 | # Latex 21 | *.aux 22 | *.log 23 | *.bbl 24 | *.blg 25 | *.dvi 26 | *.spl 27 | *.toc 28 | *.nav 29 | *.gz 30 | 31 | # C extensions 32 | *.so 33 | 34 | # Packages 35 | *.egg 36 | *.egg-info 37 | dist 38 | build 39 | eggs 40 | parts 41 | bin 42 | var 43 | sdist 44 | develop-eggs 45 | .installed.cfg 46 | lib 47 | lib64 48 | venv 49 | 50 | # Installer logs 51 | pip-log.txt 52 | 53 | # Unit test / coverage reports 54 | .coverage 55 | .tox 56 | nosetests.xml 57 | 58 | # Translations 59 | *.mo 60 | 61 | # Mr Developer 62 | .mr.developer.cfg 63 | .project 64 | .pydevproject 65 | -------------------------------------------------------------------------------- /Decouple/BatchPlugins/mleAllExceptMuProd.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | """ Created on: April 5, 2013 """ 4 | 5 | __author__ = "Sven Kreiss, Kyle Cranmer" 6 | __version__ = "0.1" 7 | 8 | 9 | import time 10 | import ROOT 11 | 12 | 13 | def postUnconditionalFit( f,w,mc,data ): 14 | """ setting some variables constant """ 15 | 16 | #vars = ROOT.RooArgList( mc.GetNuisanceParameters().selectByName("*ATLAS_LUMI_*,*pdf_Higgs_*,*QCDscale_Higgs_*") ) 17 | vars = ROOT.RooArgList( mc.GetNuisanceParameters() ) 18 | count = 0 19 | for i in range( vars.getSize() ): 20 | v = vars.at( i ) 21 | if v.GetName() in ["muT","muW","muVBF","muVH"]: 22 | print( "Not setting "+v.GetName()+" to constant." ) 23 | continue 24 | print( "Setting "+v.GetName()+" constant at: "+str(v.getVal()) ) 25 | v.setConstant() 26 | count += 1 27 | 28 | print( "Done setting "+str(count)+" systematics to constant." ) 29 | 30 | -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- 1 | from distutils.core import setup 2 | 3 | setup( 4 | name='Decouple', 5 | version='1.2.3', 6 | packages=['Decouple', 'Decouple.BatchPlugins', 'scripts'], 7 | license='LICENSE', 8 | description='Decouple and recouple.', 9 | long_description=open('README.md').read(), 10 | author='Sven Kreiss, Kyle Cranmer', 11 | author_email='sk@svenkreiss.com', 12 | 13 | install_requires= [ 14 | 'BatchLikelihoodScan', 15 | 'LHCHiggsCouplings', 16 | 'numpy', 17 | 'scipy', 18 | 'multiprocessing', 19 | 'progressbar', 20 | ], 21 | 22 | entry_points={ 23 | 'console_scripts': [ 24 | 'decouple = scripts.decouple:main', 25 | 'recouple = scripts.recouple:main', 26 | 27 | # decouple tools 28 | 'decouple_obtain_etas = Decouple.obtainEtas:main', 29 | 30 | # recouple tools 31 | 'recouple_mutmuw = Decouple.muTmuW:main', 32 | 'recouple_kvkf = Decouple.kVkF:main', 33 | 'recouple_kglukgamma = Decouple.kGlukGamma:main', 34 | ] 35 | } 36 | ) 37 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Sven Kreiss, Kyle Cranmer 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /Decouple/BatchPlugins/mleCommonNPExceptMuProd.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | """ Created on: April 5, 2013 """ 4 | 5 | __author__ = "Sven Kreiss, Kyle Cranmer" 6 | __version__ = "0.1" 7 | 8 | 9 | import time 10 | import ROOT 11 | import argparse 12 | 13 | 14 | nuisanceParameters = {} 15 | 16 | def configure( options ): 17 | global nuisanceParameters 18 | 19 | parser = argparse.ArgumentParser() 20 | parser.add_argument('--commonNP') 21 | args = parser.parse_known_args(options.split(' '))[0] 22 | 23 | # overwrite nuisanceParameters list 24 | nuisanceParameters = dict([(np,0.0) for np in args.commonNP.split(',')]) 25 | 26 | print( 'Plugin mleCommonNPExceptMuProd -- configure()' ) 27 | print( 'List of nuisance parameters set to:' ) 28 | print( nuisanceParameters ) 29 | print( '' ) 30 | 31 | 32 | 33 | def postUnconditionalFit( f,w,mc,data ): 34 | """ setting some variables constant """ 35 | 36 | mcNuisPars = mc.GetNuisanceParameters() 37 | 38 | count = 0 39 | for np in nuisanceParameters.keys(): 40 | v = mcNuisPars.find(np) 41 | if not v: 42 | print( "ERROR -- Nuisance parameter >>"+np+"<< not in the ModelConfig's list of nuisance parameters." ) 43 | raise( "Could not find a nuisance parameter in the ModelConfig." ) 44 | if v.GetName() in ["muT","muW","muVBF","muVH"]: 45 | print( "Not setting "+v.GetName()+" to constant." ) 46 | continue 47 | print( "Setting "+v.GetName()+" constant at: "+str(v.getVal()) ) 48 | v.setConstant() 49 | count += 1 50 | 51 | print( "Done setting "+str(count)+" systematics to constant." ) 52 | 53 | -------------------------------------------------------------------------------- /ModelGenerators/switchInterpCode.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | # Created on: October 30, 2013 4 | 5 | __author__ = "Sven Kreiss, Kyle Cranmer" 6 | __version__ = "0.1" 7 | 8 | 9 | import optparse 10 | parser = optparse.OptionParser(version=__version__) 11 | parser.add_option("-i", "--input", dest="input", default="atlas_counting_model/standard_combined_meas_2ph_model.root", help="Input root model.") 12 | parser.add_option("-w", "--wsName", help="Workspace name", type="string", dest="wsName", default="combined") 13 | parser.add_option( "--interpCode", help="interpcode", type="int", dest="interpCode", default=4) 14 | parser.add_option("-o", "--output", dest="output", default="output/modelWithDifferentInterpcode.root", help="Output file.") 15 | 16 | parser.add_option("-q", "--quiet", dest="verbose", action="store_false", default=True, help="Quiet output.") 17 | options,args = parser.parse_args() 18 | 19 | import ROOT 20 | ROOT.gROOT.SetBatch( True ) 21 | 22 | 23 | 24 | def ModifyInterpolationForAll(ws, code): 25 | """ Modifies the interpolation code for all FlexibleInterpVars in the workspace. """ 26 | 27 | funcs = ROOT.RooArgList( ws.allFunctions() ) 28 | for i in range( funcs.getSize() ): 29 | o = funcs.at(i) 30 | if hasattr(o,"setAllInterpCodes"): 31 | print( "Changing interpcode for "+o.GetName()+" from: " ) 32 | o.printAllInterpCodes() 33 | o.setAllInterpCodes(code) 34 | print( "to" ) 35 | o.printAllInterpCodes() 36 | print( "--------" ) 37 | 38 | 39 | if __name__ == "__main__": 40 | f = ROOT.TFile.Open( options.input, "READ" ) 41 | w = f.Get( options.wsName ) 42 | 43 | # modify interp codes 44 | ModifyInterpolationForAll( w, options.interpCode ) 45 | 46 | w.writeToFile( options.output ) 47 | -------------------------------------------------------------------------------- /Plot/npComparison.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | # Created on: December 13, 2013 4 | 5 | __author__ = "Sven Kreiss, Kyle Cranmer" 6 | __version__ = "0.1" 7 | 8 | 9 | import optparse 10 | parser = optparse.OptionParser(version=__version__) 11 | parser.add_option("-i", "--input", dest="input", default=None, help="Input folder.") 12 | parser.add_option("-f", "--inputFull", dest="inputFull", default=None, help="Input folder for full model.") 13 | parser.add_option("-s", "--suffix", dest="suffix", default="", help="File suffix of profiled contour.") 14 | parser.add_option("-o", "--output", dest="output", default="output/npComparison/", help="output directory.") 15 | options,args = parser.parse_args() 16 | 17 | if not options.inputFull: options.inputFull = options.input 18 | 19 | import ROOT 20 | ROOT.gROOT.SetBatch( True ) 21 | import os 22 | 23 | import PyROOTUtils 24 | PyROOTUtils.style() 25 | 26 | 27 | def main(): 28 | os.system('mkdir -p '+options.output) 29 | 30 | files = [ 31 | ROOT.TFile.Open( options.inputFull+'muTmuW.root', "READ" ), 32 | ROOT.TFile.Open( options.input+'muTmuW_statOnly.root', "READ" ), 33 | ROOT.TFile.Open( options.input+'muTmuW_eff.root', "READ" ), 34 | ROOT.TFile.Open( options.input+'muTmuW_profiledContour'+options.suffix+'.root', "READ" ), 35 | ] 36 | 37 | namesL = [ k.GetName() for k in files[0].GetListOfKeys() if "nuisParValue_" in k.GetName() ] 38 | print( 'Plotting these: '+(', '.join(namesL)) ) 39 | 40 | c = ROOT.TCanvas( "c1","c1", 1200, 300 ) 41 | for n in namesL: 42 | c.Clear() 43 | c.Divide(4,1) 44 | 45 | hists = [ f.Get(n) for f in files if f ] 46 | print( hists ) 47 | mins = [ h.GetMinimum() for h in hists if h ] 48 | maxs = [ h.GetMaximum() for h in hists if h ] 49 | 50 | [ (h.SetMinimum( min(mins) ), h.SetMaximum( max(maxs) )) for h in hists if h ] 51 | 52 | for i,h in zip(range(len(hists)), hists): 53 | if h: 54 | c.cd(i+1).SetRightMargin(0.16) 55 | h.GetZaxis().SetTitle("") 56 | h.Draw("COLZ") 57 | 58 | c.SaveAs(options.output+n+'.eps') 59 | 60 | 61 | if __name__ == "__main__": 62 | main() 63 | -------------------------------------------------------------------------------- /plotsForPaper/twoBin/scenarioB_interpCode0_etas_table.py: -------------------------------------------------------------------------------- 1 | etas = { 2 | 'generic14_learning': { 3 | 'alpha_sys': { 'muT__hat': 1.0, 'muT__muT': 0.0896875702392, 'muT__muW': 0.00786798398002, 'muT__phi': 0.0, 'muW__hat': 1.0, 'muW__muT': 0.00803419913052, 'muW__muW': 0.214994532712, 'muW__phi': 0.0 }, 4 | }, 5 | 'generic20_learning': { 6 | 'alpha_sys': { 'muT__hat': 1.0, 'muT__muT__down': 0.0975455706627, 'muT__muT__up': 0.0963117454872, 'muT__muW__down': -5.25523952815e-05, 'muT__muW__up': 0.00131522061528, 'muT__phi__down': 0.0, 'muT__phi__up': 0.0, 'muW__hat': 1.0, 'muW__muT__down': 0.0224441670742, 'muW__muT__up': 0.0223888027563, 'muW__muW__down': 0.200013046766, 'muW__muW__up': 0.200201486439, 'muW__phi__down': 0.0, 'muW__phi__up': 0.0 }, 7 | }, 8 | 'partialDerivatives': { 9 | 'alpha_sys': { 'muT': 0.141282773754, 'muW': 0.200725703299 }, 10 | }, 11 | 'generic24_learning': { 12 | 'alpha_sys': { 'muT__hat': 1.0, 'muT__muT__down': 0.084588786192, 'muT__muT__up': 0.0946432077763, 'muT__muW__down': 0.0114019407523, 'muT__muW__up': 0.00294088781911, 'muT__phi__down': 0.0, 'muT__phi__up': 0.0, 'muW__hat': 1.0, 'muW__muT__down': -0.00109871558215, 'muW__muT__up': 0.0174092153313, 'muW__muW__down': 0.223335142238, 'muW__muW__up': 0.205694002324, 'muW__phi__down': 0.0, 'muW__phi__up': 0.0 }, 13 | }, 14 | 'generic_M5': { 15 | 'alpha_sys': { 'muT__muT': 0.0975222026862, 'muT__muW': 0.0, 'muT__phi': 0.0, 'muW__muT': 0.0, 'muW__muW': 0.222496866072, 'muW__phi': 0.0 }, 16 | }, 17 | 'generic10_learning': { 18 | 'alpha_sys': { 'muT__hat': 1.0, 'muT__muT': 0.097546320992, 'muT__muW': -5.04551580666e-05, 'muT__phi': 0.0, 'muW__hat': 1.0, 'muW__muT': 0.0225060413446, 'muW__muW': 0.199970758372, 'muW__phi': 0.0 }, 19 | }, 20 | 'generic_fisherInfo': { 21 | 'alpha_sys': { 'muT__muT': 0.0975222026862, 'muT__muW': 0.0, 'muT__phi': 0.0, 'muW__muT': 0.0, 'muW__muW': 0.222496866072, 'muW__phi': 0.0 }, 22 | }, 23 | 'covarianceMatrix': { 24 | 'alpha_sys': { 'muT': 0.0975220614961, 'muW': 0.222497003159 }, 25 | }, 26 | 'fisherInfo': { 27 | 'alpha_sys': { 'muT': 0.0975222026862, 'muW': 0.222496866072 }, 28 | }, 29 | 'generic_M4': { 30 | 'alpha_sys': { 'muT__muT': 0.0975222026862, 'muT__muW': 0.0, 'muT__phi': 0.0, 'muW__muT': 0.0, 'muW__muW': 0.222496866072, 'muW__phi': 0.0 }, 31 | }, 32 | } -------------------------------------------------------------------------------- /plotsForPaper/twoBin/scenarioC_interpCode0_etas_table.py: -------------------------------------------------------------------------------- 1 | etas = { 2 | 'generic14_learning': { 3 | 'alpha_sys': { 'muT__hat': 1.0, 'muT__muT': -0.0160994540422, 'muT__muW': 0.000696975533569, 'muT__phi': 0.0, 'muW__hat': 1.0, 'muW__muT': 0.139179311976, 'muW__muW': 0.0039681776849, 'muW__phi': 0.0 }, 4 | }, 5 | 'generic20_learning': { 6 | 'alpha_sys': { 'muT__hat': 1.0, 'muT__muT__down': -0.0156760395391, 'muT__muT__up': -0.0163696200013, 'muT__muW__down': -0.000300764192819, 'muT__muW__up': 0.000344189599654, 'muT__phi__down': 0.0, 'muT__phi__up': 0.0, 'muW__hat': 1.0, 'muW__muT__down': 0.143681567606, 'muW__muT__up': 0.144102501409, 'muW__muW__down': 0.000248135152392, 'muW__muW__up': -8.67388464921e-05, 'muW__phi__down': 0.0, 'muW__phi__up': 0.0 }, 7 | }, 8 | 'partialDerivatives': { 9 | 'alpha_sys': { 'muT': 0.10819748272, 'muW': -0.0 }, 10 | }, 11 | 'generic24_learning': { 12 | 'alpha_sys': { 'muT__hat': 1.0, 'muT__muT__down': -0.0167652870662, 'muT__muT__up': -0.0155890379882, 'muT__muW__down': 0.000670657806055, 'muT__muW__up': 0.000526061455202, 'muT__phi__down': 0.0, 'muT__phi__up': 0.0, 'muW__hat': 1.0, 'muW__muT__down': 0.141676694628, 'muW__muT__up': 0.137815281197, 'muW__muW__down': 0.00190457110096, 'muW__muW__up': 0.00618527385104, 'muW__phi__down': 0.0, 'muW__phi__up': 0.0 }, 13 | }, 14 | 'generic_M5': { 15 | 'alpha_sys': { 'muT__muT': 0, 'muT__muW': -0.0159243634524, 'muT__phi': 0.0, 'muW__muT': 0.14392836254, 'muW__muW': 0, 'muW__phi': 0.0 }, 16 | }, 17 | 'generic10_learning': { 18 | 'alpha_sys': { 'muT__hat': 1.0, 'muT__muT': -0.0160050137935, 'muT__muW': -1.80164053502e-05, 'muT__phi': 0.0, 'muW__hat': 1.0, 'muW__muT': 0.144103669559, 'muW__muW': -9.04225053148e-05, 'muW__phi': 0.0 }, 19 | }, 20 | 'generic_fisherInfo': { 21 | 'alpha_sys': { 'muT__muT': -0.0159243634524, 'muT__muW': 0.0, 'muT__phi': 0.0, 'muW__muT': 0.0, 'muW__muW': 0.14392836254, 'muW__phi': 0.0 }, 22 | }, 23 | 'covarianceMatrix': { 24 | 'alpha_sys': { 'muT': -0.0159243209395, 'muW': 0.143928376816 }, 25 | }, 26 | 'fisherInfo': { 27 | 'alpha_sys': { 'muT': -0.0159243634524, 'muW': 0.14392836254 }, 28 | }, 29 | 'generic_M4': { 30 | 'alpha_sys': { 'muT__muT': 0, 'muT__muW': 0.0, 'muT__phi': -0.0159243634524, 'muW__muT': 0.0, 'muW__muW': 0, 'muW__phi': 0.14392836254 }, 31 | }, 32 | } -------------------------------------------------------------------------------- /plotsForPaper/twoBin/scenarioA_interpCode0_etas_table.py: -------------------------------------------------------------------------------- 1 | etas = { 2 | 'generic14_learning': { 3 | 'alpha_sys': { 'muT__hat': 1.0, 'muT__muT': 0.203084255229, 'muT__muW': -0.000905716822652, 'muT__phi': 0.0, 'muW__hat': 1.0, 'muW__muT': -0.000110063688614, 'muW__muW': 0.201823621185, 'muW__phi': 0.0 }, 4 | }, 5 | 'generic20_learning': { 6 | 'alpha_sys': { 'muT__hat': 1.0, 'muT__muT__down': 0.200017814553, 'muT__muT__up': 0.200032282535, 'muT__muW__down': -1.10487242571e-05, 'muT__muW__up': 3.16797262648e-06, 'muT__phi__down': 0.0, 'muT__phi__up': 0.0, 'muW__hat': 1.0, 'muW__muT__down': -2.4673062096e-05, 'muW__muT__up': 1.33166972835e-05, 'muW__muW__down': 0.199973312548, 'muW__muW__up': 0.200011658342, 'muW__phi__down': 0.0, 'muW__phi__up': 0.0 }, 7 | }, 8 | 'partialDerivatives': { 9 | 'alpha_sys': { 'muT': 0.200925663363, 'muW': 0.200725703298 }, 10 | }, 11 | 'generic24_learning': { 12 | 'alpha_sys': { 'muT__hat': 1.0, 'muT__muT__down': 0.203109231929, 'muT__muT__up': 0.199962662915, 'muT__muW__down': -0.000662185917024, 'muT__muW__up': -6.44443569559e-05, 'muT__phi__down': 0.0, 'muT__phi__up': 0.0, 'muW__hat': 1.0, 'muW__muT__down': -0.00118763931291, 'muW__muT__up': 0.000129395670568, 'muW__muW__down': 0.2036335278, 'muW__muW__up': 0.200437088887, 'muW__phi__down': 0.0, 'muW__phi__up': 0.0 }, 13 | }, 14 | 'generic_M5': { 15 | 'alpha_sys': { 'muT__muT': 0.200029405809, 'muT__muW': 0.0, 'muT__phi': 0.0, 'muW__muT': 0.0, 'muW__muW': 0.199998420918, 'muW__phi': 0.0 }, 16 | }, 17 | 'generic10_learning': { 18 | 'alpha_sys': { 'muT__hat': 1.0, 'muT__muT': 0.20002086827, 'muT__muW': -8.24976921229e-06, 'muT__phi': 0.0, 'muW__hat': 1.0, 'muW__muT': -1.51278685157e-05, 'muW__muW': 0.199983044429, 'muW__phi': 0.0 }, 19 | }, 20 | 'generic_fisherInfo': { 21 | 'alpha_sys': { 'muT__muT': 0.200029405809, 'muT__muW': 0.0, 'muT__phi': 0.0, 'muW__muT': 0.0, 'muW__muW': 0.199998420918, 'muW__phi': 0.0 }, 22 | }, 23 | 'covarianceMatrix': { 24 | 'alpha_sys': { 'muT': 0.200030115869, 'muW': 0.199998414134 }, 25 | }, 26 | 'fisherInfo': { 27 | 'alpha_sys': { 'muT': 0.200029405809, 'muW': 0.199998420918 }, 28 | }, 29 | 'generic_M4': { 30 | 'alpha_sys': { 'muT__muT': 0.200029405809, 'muT__muW': 0.0, 'muT__phi': 0.0, 'muW__muT': 0.0, 'muW__muW': 0.199998420918, 'muW__phi': 0.0 }, 31 | }, 32 | } -------------------------------------------------------------------------------- /Decouple/muTmuW.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | # Created on: July 8, 2013 4 | __author__ = "Sven Kreiss, Kyle Cranmer" 5 | __version__ = "0.1" 6 | 7 | 8 | import effectiveModel 9 | 10 | import optparse 11 | parser = optparse.OptionParser(version=__version__) 12 | parser.add_option("-i", "--input", dest="input", default="inputs/atlas_prodModes_hists_and_response_functions.root:ggFttH_VBFVH_eff_2ph", help="""Input. 13 | The syntax is rootFileName:histName. It is assumed that the etasFile is 14 | rootFileName.replace('.root','_table_etas.py'). If that is not the case, 15 | it can be specified with rootFileName:histName:etasFileName. It is also 16 | assumed that the input is a histogram containing values for -2 ln Lambda. 17 | If it is -ln Lambda, a scale of 2 can be specified as the fourth 18 | element: rootFileName:histName:etasFileName:2. If a fifth argument is specified, 19 | then it is assumed that also a name for the etas type is given: 20 | rootFileName:histName:etasFileName:etasType:2 21 | Multiple inputs can be separated by commas and/or spaces. 22 | """ ) 23 | effectiveModel.addOptionsToParser( parser ) 24 | parser.add_option("-o", "--output", dest="output", default="output/muTmuW_profiledContour.root", help="Output root file.") 25 | parser.add_option("-r", "--range", dest="range", default="0.2,-1.5,2.5,6.0", help="Range for plot.") 26 | parser.add_option("-b", "--bins", dest="bins", default="50,50", help="Bins for plot.") 27 | parser.add_option("-q", "--quiet", dest="verbose", action="store_false", default=True, help="Quiet output.") 28 | options,args = parser.parse_args() 29 | 30 | plotRange = [ float(v) for v in options.range.split(",") ] 31 | bins = [ int(v) for v in options.bins.split(",") ] 32 | 33 | import ROOT 34 | ROOT.gROOT.SetBatch( True ) 35 | import PyROOTUtils 36 | 37 | 38 | 39 | def unit( x,y ): 40 | return (x,y) 41 | 42 | def main(): 43 | inputs = effectiveModel.getInputs( options.input ) 44 | for i in inputs: i[2] = unit # This function has to be pickle'able. Lambda functions are not allowed. 45 | 46 | x = [bins[0], plotRange[0], plotRange[2]] 47 | y = [bins[1], plotRange[1], plotRange[3]] 48 | h = ROOT.TH2F( "muTmuW", "(#mu^{f}_{ggF+ttH},#mu^{f}_{VBF+VH}) plane;#mu^{f}_{ggF+ttH};#mu^{f}_{VBF+VH};-2 ln #Lambda", x[0], x[1], x[2], y[0], y[1], y[2] ) 49 | 50 | npHistograms = {} 51 | effectiveModel.fillHist( h,x,y,inputs, options, npHistograms=npHistograms ) 52 | PyROOTUtils.subtractMinFromHist( h ) 53 | 54 | 55 | outF = effectiveModel.outFileName( options.output, options ) 56 | fOut = ROOT.TFile.Open( outF, "RECREATE" ) 57 | h.Write() 58 | for npH in npHistograms.values(): npH.Write() 59 | fOut.Close() 60 | print( "Output written to: "+outF ) 61 | 62 | 63 | if __name__ == "__main__": 64 | main() 65 | -------------------------------------------------------------------------------- /Decouple/fullCountingModelScan_kVkF.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | # Created on: October 8, 2013 4 | 5 | __author__ = "Sven Kreiss, Kyle Cranmer" 6 | __version__ = "0.1" 7 | 8 | 9 | import optparse 10 | parser = optparse.OptionParser(version=__version__) 11 | parser.add_option("-i", "--input", dest="input", default="output/atlas_counting/comb.root", help="Input root model.") 12 | parser.add_option("-w", "--wsName", help="Workspace name", type="string", dest="wsName", default="combined") 13 | parser.add_option("-m", "--mcName", help="ModelConfig name", type="string", dest="mcName", default="ModelConfig") 14 | parser.add_option("-d", "--dataName", help="data name", type="string", dest="dataName", default="obsData") 15 | 16 | parser.add_option("-o", "--output", dest="output", default="output/atlas_counting/2ph_4l_lvlv/kVkF.root", help="Output root file.") 17 | parser.add_option("-r", "--range", dest="range", default="0.6,-1.5, 1.5,1.8", help="Range for plot.") 18 | 19 | parser.add_option("-q", "--quiet", dest="verbose", action="store_false", default=True, help="Quiet output.") 20 | options,args = parser.parse_args() 21 | 22 | plotRange = [ float(v) for v in options.range.split(",") ] 23 | 24 | import ROOT 25 | import kVkF 26 | import PyROOTUtils 27 | from fullModel_utils import * 28 | 29 | 30 | 31 | def main(): 32 | f = ROOT.TFile.Open( options.input, "READ" ) 33 | w = f.Get( options.wsName ) 34 | mc = w.obj( options.mcName ) 35 | data = w.data( options.dataName ) 36 | 37 | # prepare model 38 | w.var("mu").setVal( 1.0 ) 39 | w.var("mu").setConstant() 40 | 41 | # get nll 42 | nll = getNll( mc.GetPdf(), data ) 43 | 44 | 45 | kV = [150, plotRange[0], plotRange[2]] 46 | kF = [150, plotRange[1], plotRange[3]] 47 | h = ROOT.TH2F( "kVkF", "Couplings in (k_{V},k_{F});#kappa_{V};#kappa_{F};-2 ln #Lambda", kV[0], kV[1], kV[2], kF[0], kF[1], kF[2] ) 48 | 49 | for x in range( kV[0] ): 50 | kVVal = kV[1] + (x+0.5)*(kV[2]-kV[1]) / kV[0] 51 | print( "Progress: %.0f%%" % (100.0*x/kV[0]) ) 52 | for y in range( kF[0] ): 53 | kFVal = kF[1] + (y+0.5)*(kF[2]-kF[1]) / kF[0] 54 | 55 | muTmuW2ph = kVkF.map_2ph( kVVal, kFVal ) 56 | w.var("muT_2ph").setVal( muTmuW2ph[0] ) 57 | w.var("muW_2ph").setVal( muTmuW2ph[1] ) 58 | 59 | muTmuW4l = kVkF.map_4l( kVVal, kFVal ) 60 | w.var("muT_4l").setVal( muTmuW4l[0] ) 61 | w.var("muW_4l").setVal( muTmuW4l[1] ) 62 | 63 | muTmuWlvlv = kVkF.map_lvlv( kVVal, kFVal ) 64 | w.var("muT_lvlv").setVal( muTmuWlvlv[0] ) 65 | w.var("muW_lvlv").setVal( muTmuWlvlv[1] ) 66 | 67 | minimize( nll ) 68 | h.SetBinContent( h.FindBin( kVVal, kFVal ), 2.0*nll.getVal() ) 69 | 70 | 71 | PyROOTUtils.subtractMinFromHist( h ) 72 | 73 | fOut = ROOT.TFile.Open( options.output, "RECREATE" ) 74 | h.Write() 75 | fOut.Close() 76 | print( "Output written to: "+options.output ) 77 | 78 | 79 | if __name__ == "__main__": 80 | if not options.verbose: 81 | ROOT.RooMsgService.instance().setGlobalKillBelow(ROOT.RooFit.FATAL) 82 | 83 | main() 84 | 85 | 86 | 87 | -------------------------------------------------------------------------------- /Decouple/fullCountingModelScan_kGlukGamma.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | # Created on: October 8, 2013 4 | 5 | __author__ = "Sven Kreiss, Kyle Cranmer" 6 | __version__ = "0.1" 7 | 8 | 9 | import optparse 10 | parser = optparse.OptionParser(version=__version__) 11 | parser.add_option("-i", "--input", dest="input", default="output/atlas_counting/comb.root", help="Input root model.") 12 | parser.add_option("-w", "--wsName", help="Workspace name", type="string", dest="wsName", default="combined") 13 | parser.add_option("-m", "--mcName", help="ModelConfig name", type="string", dest="mcName", default="ModelConfig") 14 | parser.add_option("-d", "--dataName", help="data name", type="string", dest="dataName", default="obsData") 15 | 16 | parser.add_option("-o", "--output", dest="output", default="output/atlas_counting/2ph_4l_lvlv/kGlukGamma.root", help="Output root file.") 17 | parser.add_option("-r", "--range", dest="range", default="0.6,0.4, 1.8,1.6", help="Range for plot.") 18 | 19 | parser.add_option("-q", "--quiet", dest="verbose", action="store_false", default=True, help="Quiet output.") 20 | options,args = parser.parse_args() 21 | 22 | plotRange = [ float(v) for v in options.range.split(",") ] 23 | 24 | import ROOT 25 | import kGlukGamma 26 | import PyROOTUtils 27 | from fullModel_utils import * 28 | 29 | 30 | 31 | def main(): 32 | f = ROOT.TFile.Open( options.input, "READ" ) 33 | w = f.Get( options.wsName ) 34 | mc = w.obj( options.mcName ) 35 | data = w.data( options.dataName ) 36 | 37 | # prepare model 38 | w.var("mu").setVal( 1.0 ) 39 | w.var("mu").setConstant() 40 | 41 | # get nll 42 | nll = getNll( mc.GetPdf(), data ) 43 | 44 | 45 | kGam = [100, plotRange[0], plotRange[2]] 46 | kGlu = [100, plotRange[1], plotRange[3]] 47 | h = ROOT.TH2F( "kGlukGamma", "Couplings in (k_{g},k_{#gamma});#kappa_{#gamma};#kappa_{g};-2 ln #Lambda", kGam[0], kGam[1], kGam[2], kGlu[0], kGlu[1], kGlu[2] ) 48 | 49 | for x in range( kGam[0] ): 50 | kGamVal = kGam[1] + (x+0.5)*(kGam[2]-kGam[1]) / kGam[0] 51 | print( "Progress: %.0f%%" % (100.0*x/kGam[0]) ) 52 | for y in range( kGlu[0] ): 53 | kGluVal = kGlu[1] + (y+0.5)*(kGlu[2]-kGlu[1]) / kGlu[0] 54 | 55 | muTmuW2ph = kGlukGamma.map_2ph( kGamVal, kGluVal ) 56 | w.var("muT_2ph").setVal( muTmuW2ph[0] ) 57 | w.var("muW_2ph").setVal( muTmuW2ph[1] ) 58 | 59 | muTmuW4l = kGlukGamma.map_4l( kGamVal, kGluVal ) 60 | w.var("muT_4l").setVal( muTmuW4l[0] ) 61 | w.var("muW_4l").setVal( muTmuW4l[1] ) 62 | 63 | muTmuWlvlv = kGlukGamma.map_lvlv( kGamVal, kGluVal ) 64 | w.var("muT_lvlv").setVal( muTmuWlvlv[0] ) 65 | w.var("muW_lvlv").setVal( muTmuWlvlv[1] ) 66 | 67 | minimize( nll ) 68 | h.SetBinContent( h.FindBin( kGamVal, kGluVal ), 2.0*nll.getVal() ) 69 | 70 | 71 | PyROOTUtils.subtractMinFromHist( h ) 72 | 73 | fOut = ROOT.TFile.Open( options.output, "RECREATE" ) 74 | h.Write() 75 | fOut.Close() 76 | print( "Output written to: "+options.output ) 77 | 78 | 79 | if __name__ == "__main__": 80 | if not options.verbose: 81 | ROOT.RooMsgService.instance().setGlobalKillBelow(ROOT.RooFit.FATAL) 82 | 83 | main() 84 | 85 | 86 | 87 | -------------------------------------------------------------------------------- /Decouple/kVkF.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | # Created on: July 8, 2013 4 | __author__ = "Sven Kreiss, Kyle Cranmer" 5 | __version__ = "0.1" 6 | 7 | 8 | import effectiveModel 9 | 10 | import optparse 11 | parser = optparse.OptionParser(version=__version__) 12 | parser.add_option("-i", "--input", dest="input", default="inputs/atlas_prodModes_hists_and_response_functions.root:ggFttH_VBFVH_eff_2ph", help="""Input. 13 | The syntax is rootFileName:histName. It is assumed that the etasFile is 14 | rootFileName.replace('.root','_table_etas.py'). If that is not the case, 15 | it can be specified with rootFileName:histName:etasFileName. It is also 16 | assumed that the input is a histogram containing values for -2 ln Lambda. 17 | If it is -ln Lambda, a scale of 2 can be specified as the fourth 18 | element: rootFileName:histName:etasFileName:2. If a fifth argument is specified, 19 | then it is assumed that also a name for the etas type is given: 20 | rootFileName:histName:etasFileName:etasType:2 21 | Multiple inputs can be separated by commas and/or spaces. 22 | """ ) 23 | effectiveModel.addOptionsToParser( parser ) 24 | parser.add_option("-o", "--output", dest="output", default="output/kVkF.root", help="Output root file.") 25 | parser.add_option("-r", "--range", dest="range", default="0.6,-2.7,1.6,4.5", help="Range for plot.") 26 | parser.add_option("-b", "--bins", dest="bins", default="200,200", help="Bins for plot.") 27 | parser.add_option("-q", "--quiet", dest="verbose", action="store_false", default=True, help="Quiet output.") 28 | options,args = parser.parse_args() 29 | 30 | plotRange = [ float(v) for v in options.range.split(",") ] 31 | bins = [ int(v) for v in options.bins.split(",") ] 32 | 33 | import ROOT 34 | ROOT.gROOT.SetBatch( True ) 35 | import PyROOTUtils 36 | 37 | 38 | from LHCHiggsCouplings import * 39 | 40 | def map_2ph( kV,kF ): 41 | # convert to muT,muW coordinates 42 | muT = kF*kF * kGamma2(kF,kF,kF,kV) / kH2(kF,kF,kF,kV) 43 | muW = kV*kV * kGamma2(kF,kF,kF,kV) / kH2(kF,kF,kF,kV) 44 | return (muT,muW) 45 | 46 | def map_4l( kV,kF ): 47 | # convert to muT,muW coordinates 48 | muT = kF*kF * kV*kV / kH2(kF,kF,kF,kV) 49 | muW = kV*kV * kV*kV / kH2(kF,kF,kF,kV) 50 | return (muT,muW) 51 | 52 | def map_lvlv( kV,kF ): 53 | # convert to muT,muW coordinates 54 | muT = kF*kF * kV*kV / kH2(kF,kF,kF,kV) 55 | muW = kV*kV * kV*kV / kH2(kF,kF,kF,kV) 56 | return (muT,muW) 57 | 58 | 59 | def main(): 60 | inputs = effectiveModel.getInputs( options.input ) 61 | for i in inputs: 62 | if "2ph" in i[2]: i[2] = map_2ph 63 | elif "4l" in i[2]: i[2] = map_4l 64 | elif "lvlv" in i[2]: i[2] = map_lvlv 65 | else: 66 | print( "WARNING: Didn't find functional replacement for "+i[2] ) 67 | 68 | kV = [bins[0], plotRange[0], plotRange[2]] 69 | kF = [bins[1], plotRange[1], plotRange[3]] 70 | h = ROOT.TH2F( "kVkF", "Couplings in (kV,kF);#kappa_{V};#kappa_{F};-ln(#Lambda)", kV[0], kV[1], kV[2], kF[0], kF[1], kF[2] ) 71 | 72 | npHistograms = {} 73 | effectiveModel.fillHist( h, kV,kF,inputs, options, npHistograms=npHistograms ) 74 | PyROOTUtils.subtractMinFromHist( h ) 75 | 76 | 77 | outF = effectiveModel.outFileName( options.output, options ) 78 | fOut = ROOT.TFile.Open( outF, "RECREATE" ) 79 | h.Write() 80 | for npH in npHistograms.values(): npH.Write() 81 | fOut.Close() 82 | print( "Output written to: "+outF ) 83 | 84 | 85 | if __name__ == "__main__": 86 | main() 87 | -------------------------------------------------------------------------------- /Decouple/kGlukGamma.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | # Created on: August 20, 2013 4 | __author__ = "Sven Kreiss, Kyle Cranmer" 5 | __version__ = "0.1" 6 | 7 | 8 | import effectiveModel 9 | 10 | import optparse 11 | parser = optparse.OptionParser(version=__version__) 12 | parser.add_option("-i", "--input", dest="input", default="inputs/atlas_prodModes_hists_and_response_functions.root:ggFttH_VBFVH_eff_2ph", help="""Input. 13 | The syntax is rootFileName:histName. It is assumed that the etasFile is 14 | rootFileName.replace('.root','_table_etas.py'). If that is not the case, 15 | it can be specified with rootFileName:histName:etasFileName. It is also 16 | assumed that the input is a histogram containing values for -2 ln Lambda. 17 | If it is -ln Lambda, a scale of 2 can be specified as the fourth 18 | element: rootFileName:histName:etasFileName:2. If a fifth argument is specified, 19 | then it is assumed that also a name for the etas type is given: 20 | rootFileName:histName:etasFileName:etasType:2 21 | Multiple inputs can be separated by commas and/or spaces. 22 | """ ) 23 | effectiveModel.addOptionsToParser( parser ) 24 | parser.add_option("-o", "--output", dest="output", default="output/kGlukGamma.root", help="Output root file.") 25 | parser.add_option("-r", "--range", dest="range", default="0.8,0.6,1.9,1.6", help="Range for plot.") 26 | parser.add_option("-b", "--bins", dest="bins", default="200,200", help="Bins for plot.") 27 | parser.add_option("-q", "--quiet", dest="verbose", action="store_false", default=True, help="Quiet output.") 28 | options,args = parser.parse_args() 29 | 30 | plotRange = [ float(v) for v in options.range.split(",") ] 31 | bins = [ int(v) for v in options.bins.split(",") ] 32 | 33 | import ROOT 34 | ROOT.gROOT.SetBatch( True ) 35 | import PyROOTUtils 36 | 37 | 38 | from LHCHiggsCouplings import * 39 | 40 | def map_2ph( kGam,kGlu ): 41 | # convert to muT,muW coordinates 42 | muT = kGlu*kGlu * kGam*kGam / kH2_GamGlu(kGam,kGlu) 43 | muW = kGam*kGam / kH2_GamGlu(kGam,kGlu) 44 | return (muT,muW) 45 | 46 | def map_4l( kGam,kGlu ): 47 | # convert to muT,muW coordinates 48 | muT = kGlu*kGlu / kH2_GamGlu(kGam,kGlu) 49 | muW = 1.0 / kH2_GamGlu(kGam,kGlu) 50 | return (muT,muW) 51 | 52 | def map_lvlv( kGam,kGlu ): 53 | # convert to muT,muW coordinates 54 | muT = kGlu*kGlu / kH2_GamGlu(kGam,kGlu) 55 | muW = 1.0 / kH2_GamGlu(kGam,kGlu) 56 | return (muT,muW) 57 | 58 | 59 | def main(): 60 | inputs = effectiveModel.getInputs( options.input ) 61 | for i in inputs: 62 | if "2ph" in i[2]: i[2] = map_2ph 63 | elif "4l" in i[2]: i[2] = map_4l 64 | elif "lvlv" in i[2]: i[2] = map_lvlv 65 | else: 66 | print( "WARNING: Didn't find functional replacement for "+i[2] ) 67 | 68 | kGam = [bins[0], plotRange[0], plotRange[2]] 69 | kGlu = [bins[1], plotRange[1], plotRange[3]] 70 | h = ROOT.TH2F( "kGlukGamma", "Couplings in (k_{g},k_{#gamma});#kappa_{#gamma};#kappa_{g};-2 ln #Lambda", kGam[0], kGam[1], kGam[2], kGlu[0], kGlu[1], kGlu[2] ) 71 | 72 | npHistograms = {} 73 | effectiveModel.fillHist( h,kGam,kGlu,inputs, options, npHistograms=npHistograms ) 74 | PyROOTUtils.subtractMinFromHist( h ) 75 | 76 | 77 | outF = effectiveModel.outFileName( options.output, options ) 78 | fOut = ROOT.TFile.Open( outF, "RECREATE" ) 79 | h.Write() 80 | for npH in npHistograms.values(): npH.Write() 81 | fOut.Close() 82 | print( "Output written to: "+outF ) 83 | 84 | 85 | if __name__ == "__main__": 86 | main() 87 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Decouple and Recouple 2 | 3 | This repository contains the software implementation for our paper __A Novel Approach to Higgs Coupling Measurements__ (Cranmer, Kreiss, Lopez-Val, Plehn), [arXiv:1401.0080 \[hep-ph\]](http://arxiv.org/abs/1401.0080). It contains tools to apply the discussed methods to new models and contains a Makefile to recreate the plots in the paper. 4 | 5 | A demo for the recoupling stage where the effective likelihood and template parametrization are readily provided is at [decoupledDemo](http://github.com/svenkreiss/decoupledDemo). 6 | 7 | 8 | # Install 9 | 10 | Clone the repository. Then create a `virtualenv` (which usually comes with your python environment or can be insalled) and install this package and all requirements with pip: 11 | 12 | ``` 13 | virtualenv venv 14 | source venv/bin/activate 15 | pip install -r requirements.txt 16 | ``` 17 | 18 | For development and to use the latest versions of all dependencies, use `requirements_dev.txt`. 19 | 20 | 21 | # Running on any model 22 | 23 | You can create your own model and run `decouple` and `recouple` on them. `decouple` takes root files with a RooWorkspace, containing the model as input and produces the effective Likelihood and eta files. `recouple` takes eta files and effective Likelihoods (also from multiple channels to do a combination) and produces coupling results. 24 | 25 | Example models are in the module ModelGenerators. 26 | 27 | A fully working example that _recouples_ a model that someone else decoupled is implemented in the [decoupledDemo](http://github.com/svenkreiss/decoupledDemo) project. 28 | 29 | 30 | # Creating plots for the paper 31 | 32 | Run everything with 33 | 34 | ``` 35 | make -j8 36 | ``` 37 | 38 | This tells `make` to use parallel builds with 8 jobs in parallel. All profiled effective scans are implemented using the `multiprocessing` python module which will use as many jobs as there are CPUs. So this can lead to 8 make jobs where each runs 8 multiprocessing jobs. 39 | 40 | For finer control, the framework can also be run step-by-step: 41 | 42 | 1. `make models`: runs the makefile inside the `ModelGenerators` module 43 | 2. `make decouple`: runs Decouple/decouple.py on all the models generated with `ModelGenerators`. For finer control, `make decoupleTwoBin` and `make decoupleAtlasCounting` runs the two sets individually. 44 | 3. `make recouple`: runs Decouple/recouple.py on all decouple outputs. Also here, there are `make recoupleTwoBin` and `make recoupleAtlasCounting`. 45 | 4. `make plots` 46 | 47 | The above chain can be used as a best-practice example to setup your own models. The Makefile is just a guide so that you can see how to run `Decouple/decouple.py` and `Decouple/recouple.py` yourself on your own models. 48 | 49 | 50 | # Related Packages 51 | 52 | This package depends on a few related Python packages that are generally useful. For this package, they are installed automatically by `pip` with the install instructions above. 53 | 54 | * [LHCHiggsCouplings](http://github.com/svenkreiss/LHCHiggsCouplings): Interface to cross sections and branching ratios published by the LHC Higgs Cross Section Working Group with interpolation in Higgs mass. 55 | * [BatchLikelihoodScan](http://github.com/svenkreiss/BatchLikelihoodScan): Powerful tool for likelihood scans and easily runs on batch clusters. 56 | * [PyROOTUtils](http://github.com/svenkreiss/PyROOTUtils): Collection of useful tools for working with TGraphs and generally plotting with ROOT. 57 | 58 | 59 | # Attribution 60 | 61 | Please cite `K. Cranmer, S. Kreiss, D. Lopez-Val and T. Plehn (2014) ` if you find this code useful in your research. 62 | 63 | 64 | # License 65 | 66 | Copyright 2013-2014 Sven Kreiss, Kyle Cranmer 67 | 68 | `decouple` is free software made available under the MIT License. For details see 69 | the [LICENSE](LICENSE) file. -------------------------------------------------------------------------------- /scripts/recouple.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | # Created on: November 26, 2013 4 | __author__ = "Sven Kreiss, Kyle Cranmer" 5 | __version__ = "0.1" 6 | 7 | __description__ = """ 8 | Second stage of Decouple. 9 | """ 10 | 11 | import Decouple.effectiveModel 12 | 13 | import optparse 14 | parser = optparse.OptionParser(version=__version__, description=__description__) 15 | parser.add_option("-i", "--input", dest="input", default="inputs/atlas_prodModes_hists_and_response_functions.root:ggFttH_VBFVH_eff_2ph", help="Input. The syntax is rootFileName:histName. It is assumed that the etasFile is rootFileName.replace('.root','_table_etas.py'). If that is not the case, it can be specified with rootFileName:histName:etasFileName. It is also assumed that the input is a histogram containing values for -2 ln Lambda. If it is -ln Lambda, a scale of 2 can be specified as the fourth element: rootFileName:histName:etasFileName:2." ) 16 | Decouple.effectiveModel.addOptionsToParser( parser ) 17 | parser.add_option("-o", "--output", dest="output", default=None, help="Output directory. If not given, a directory with the same name as the input file will be created.") 18 | parser.add_option( "--options_muTmuW", dest="options_muTmuW", default="--range=0.2,0.2,2.5,2.5 --bins=100,100", help="Options for muTmuW scan.") 19 | parser.add_option( "--options_kVkF", dest="options_kVkF", default="--range=0.2,0.2,2.5,2.5 --bins=100,100", help="Options for kVkF scan.") 20 | parser.add_option( "--options_kGlukGamma", dest="options_kGlukGamma", default="--range=0.2,0.2,2.5,2.5 --bins=100,100", help="Options for kGlukGamma scan.") 21 | 22 | parser.add_option( "--skip_muTmuW", dest="skip_muTmuW", default=False, action="store_true", help="Skip muTmuW profiled effective scan.") 23 | parser.add_option( "--skip_kVkF", dest="skip_kVkF", default=False, action="store_true", help="Skip kVkF profiled effective scan.") 24 | parser.add_option( "--skip_kGlukGamma", dest="skip_kGlukGamma", default=False, action="store_true", help="Skip kGlukGamma profiled effective scan.") 25 | 26 | parser.add_option("-q", "--quiet", dest="verbose", action="store_false", default=True, help="Quiet output.") 27 | options,args = parser.parse_args() 28 | 29 | if not options.output: 30 | if ',' in options.input or ' ' in options.input: 31 | print( "ERROR -- automatic output filename is not supported when doing combination of models. Please specify an output directory using '-o SOMEDIR'.") 32 | raise 33 | 34 | # determine input filename first from the string of filename:histname:etasfile 35 | inputFile = options.input 36 | if ':' in inputFile: inputFile = inputFile[:inputFile.find(':')] 37 | options.output = inputFile[:inputFile.rfind('/')+1] # remove filename 38 | print( "Output will be written to: "+options.output ) 39 | 40 | 41 | import os 42 | 43 | 44 | def main(): 45 | print( "Creating output directory." ) 46 | os.system( "mkdir -p "+options.output ) 47 | 48 | # muTmuW: profiled 49 | if not options.skip_muTmuW: 50 | print("\n\n----- muTmuW scan -----\n") 51 | r = os.system( 'time recouple_mutmuw \ 52 | -i "'+options.input+'" \ 53 | '+options.options_muTmuW+' \ 54 | '+Decouple.effectiveModel.optionsString(options)+' \ 55 | --profile \ 56 | --output='+options.output+'muTmuW_profiledContour.root' 57 | ) 58 | if r != 0: raise 59 | 60 | # kVkF: profiled 61 | if not options.skip_kVkF: 62 | print("\n\n----- kVkF scan -----\n") 63 | r = os.system( 'time recouple_kvkf \ 64 | -i "'+options.input+'" \ 65 | '+options.options_kVkF+' \ 66 | '+Decouple.effectiveModel.optionsString(options)+' \ 67 | --profile \ 68 | --output='+options.output+'kVkF_profiledContour.root' 69 | ) 70 | if r != 0: raise 71 | 72 | # kGlukGamma: profiled 73 | if not options.skip_kGlukGamma: 74 | print("\n\n----- kGlukGamma scan -----\n") 75 | r = os.system( 'time recouple_kglukgamma \ 76 | -i "'+options.input+'" \ 77 | '+options.options_kGlukGamma+' \ 78 | '+Decouple.effectiveModel.optionsString(options)+' \ 79 | --profile \ 80 | --output='+options.output+'kGlukGamma_profiledContour.root' 81 | ) 82 | if r != 0: raise 83 | 84 | 85 | if __name__ == "__main__": 86 | main() 87 | 88 | 89 | -------------------------------------------------------------------------------- /scripts/decouple.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | # Created on: November 26, 2013 4 | __author__ = "Sven Kreiss, Kyle Cranmer" 5 | __version__ = "0.1" 6 | 7 | __description__ = """ 8 | First stage of Decouple. 9 | """ 10 | 11 | import optparse 12 | parser = optparse.OptionParser(version=__version__, description=__description__) 13 | parser.add_option("-i", "--input", dest="input", default="../output/atlas_counting/standard_combined_meas_model.root", help="Input root model.") 14 | parser.add_option("-w", "--wsName", help="Workspace name", type="string", dest="wsName", default="combined") 15 | parser.add_option("-m", "--mcName", help="ModelConfig name", type="string", dest="mcName", default="ModelConfig") 16 | parser.add_option("-d", "--dataName", help="data name", type="string", dest="dataName", default="obsData") 17 | 18 | parser.add_option("-p", "--parameters", help="parameters", type="string", dest="parameters", default="") 19 | 20 | parser.add_option("-r", "--range", dest="range", default="0.3,0.3,2.0,2.0", help="Range for plot.") 21 | parser.add_option("-b", "--bins", dest="bins", default="100,100", help="Bins for plot.") 22 | 23 | parser.add_option( "--skip_etas", dest="skip_etas", default=False, action="store_true", help="Skip etas.") 24 | parser.add_option( "--skip_eff", dest="skip_eff", default=False, action="store_true", help="Skip eff.") 25 | parser.add_option( "--skip_fullScan", dest="skip_fullScan", default=False, action="store_true", help="Skip scan of the full model.") 26 | 27 | parser.add_option("-o", "--output", dest="output", default=None, help="Output directory. If not given, a directory with the same name as the input file will be created.") 28 | 29 | parser.add_option("-q", "--quiet", dest="verbose", action="store_false", default=True, help="Quiet output.") 30 | options,args = parser.parse_args() 31 | 32 | if not options.output: 33 | options.output = options.input.replace(".root","/") 34 | 35 | plotRange = options.range.split(",") 36 | bins = options.bins.split(",") 37 | parameters = options.parameters.split(",") 38 | 39 | 40 | 41 | import os 42 | 43 | 44 | 45 | def main(): 46 | print( "Creating output directory." ) 47 | os.system( "mkdir -p "+options.output ) 48 | 49 | wsMcData = ' -w '+options.wsName+' -m '+options.mcName+' -d '+options.dataName 50 | 51 | 52 | # parameters for Likelihood scans 53 | params = wsMcData+' \ 54 | --reorderParameters=1,0 --reversedParameters=0 \ 55 | --printAllNuisanceParameters \ 56 | -q \ 57 | -j 1 -c 0 \ 58 | --minStrategy=2 \ 59 | --minOptimizeConst=0 \ 60 | --enableOffset \ 61 | --evaluateWithoutOffset \ 62 | --overwriteRange=muT=['+plotRange[0]+':'+plotRange[2]+'],muW=['+plotRange[1]+':'+plotRange[3]+'] \ 63 | --overwriteBins=muT='+bins[0]+',muW='+bins[1] 64 | 65 | 66 | # effective Likelihood scan 67 | if not options.skip_eff: 68 | parametersZero = [ p+"=0.000000001" for p in parameters ] 69 | # --setConstant='+(','.join(parametersZero))+' 70 | r = os.system( 'batch_likelihood_scan \ 71 | -i '+options.input+' \ 72 | --plugins=BatchLikelihoodScan.Plugins.muTmuW,Decouple.BatchPlugins.mleCommonNPExceptMuProd \ 73 | --pluginOptions="--commonNP='+options.parameters+'" \ 74 | '+params+' \ 75 | > '+options.output+'muTmuW_eff.log' 76 | ) 77 | if r != 0: raise 78 | #plot eff 79 | r = os.system( 'batch_likelihood_plot \ 80 | -i '+options.output+'muTmuW_eff.log \ 81 | -o '+options.output+'muTmuW_eff.root \ 82 | --subtractMinNLL \ 83 | -q' 84 | ) 85 | if r != 0: raise 86 | 87 | r = os.system( 'batch_likelihood_scan \ 88 | -i '+options.input+' \ 89 | --plugins=BatchLikelihoodScan.Plugins.muTmuW,Decouple.BatchPlugins.mleAllExceptMuProd \ 90 | --setConstant='+(','.join(parametersZero))+' \ 91 | '+params+' \ 92 | > '+options.output+'muTmuW_statOnly.log' 93 | ) 94 | if r != 0: raise 95 | #plot statOnly 96 | r = os.system( 'batch_likelihood_plot \ 97 | -i '+options.output+'muTmuW_statOnly.log \ 98 | -o '+options.output+'muTmuW_statOnly.root \ 99 | --subtractMinNLL \ 100 | -q' 101 | ) 102 | if r != 0: raise 103 | 104 | 105 | # full model scan 106 | if not options.skip_fullScan: 107 | r = os.system( 'batch_likelihood_scan \ 108 | -i '+options.input+' \ 109 | --plugins=BatchLikelihoodScan.Plugins.muTmuW \ 110 | '+params+' \ 111 | > '+options.output+'muTmuW.log' 112 | ) 113 | if r != 0: raise 114 | r = os.system( 'batch_likelihood_plot \ 115 | -i '+options.output+'muTmuW.log \ 116 | -o '+options.output+'muTmuW.root \ 117 | --subtractMinNLL \ 118 | -q' 119 | ) 120 | if r != 0: raise 121 | 122 | 123 | # obtain etas 124 | if not options.skip_etas: 125 | r = os.system( 'decouple_obtain_etas -q -i '+options.input+' -o '+options.output+' '+wsMcData+' -p '+options.parameters ) 126 | if r != 0: raise 127 | 128 | 129 | 130 | 131 | if __name__ == "__main__": 132 | main() 133 | 134 | 135 | -------------------------------------------------------------------------------- /ModelGenerators/toBoxConstraint.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | # Created on: September 30, 2013 4 | 5 | __author__ = "Sven Kreiss, Kyle Cranmer" 6 | __version__ = "0.1" 7 | 8 | __description__ = """ 9 | Creates a counting model with box constraint (RFit) by replacing the constraint 10 | term in the model. 11 | """ 12 | 13 | import optparse 14 | parser = optparse.OptionParser(version=__version__, description=__description__) 15 | parser.add_option("-i", "--input", dest="input", default="invalid.root", help="Input root model.") 16 | parser.add_option("-w", "--wsName", help="Workspace name", type="string", dest="wsName", default="combined") 17 | parser.add_option("-m", "--mcName", help="ModelConfig name", type="string", dest="mcName", default="ModelConfig") 18 | parser.add_option("-d", "--dataName", help="data name", type="string", dest="dataName", default="obsData") 19 | 20 | parser.add_option("-b", "--boxVariables", dest="boxVariables", default="*QCDscale_Higgs_*,alpha_sys,alpha_sys_GGF", help="Specify a regular expression for the variables you want a box constraint for (expr as taken by RooArgSet::selectByName() ).") 21 | parser.add_option( "--wideGauss", dest="wideGauss", default=False, action="store_true") 22 | parser.add_option( "--centeredAtMLE", dest="centeredAtMLE", default=False, action="store_true") 23 | parser.add_option("-o", "--output", dest="output", default=None, help="Output prefix.") 24 | 25 | parser.add_option("-q", "--quiet", dest="verbose", action="store_false", default=True, help="Quiet output.") 26 | options,args = parser.parse_args() 27 | 28 | import ROOT 29 | ROOT.gROOT.SetBatch( True ) 30 | from Decouple.fullModel_utils import * 31 | 32 | container = [] 33 | 34 | 35 | 36 | 37 | def createConstraintFor( w, nuisName, boxHalfWidth=1, gaussSigma=10000.0, boxCenter=0.0 ): 38 | if options.verbose: 39 | print( "Creating box constraint term for: "+nuisName ) 40 | 41 | nuisExpr = nuisName+'[0,'+str(boxCenter-boxHalfWidth)+','+str(boxCenter+boxHalfWidth)+']' 42 | globsExpr = 'nom_'+nuisName+'[0,-10,10]' 43 | constrName = nuisName+'Constraint' 44 | w.factory( 'RooGaussian::'+constrName+'('+globsExpr+','+nuisExpr+','+str(gaussSigma)+')' ) 45 | 46 | 47 | def argsetNames( argset ): 48 | l = ROOT.RooArgList( argset ) 49 | names = [] 50 | for i in range( l.getSize() ): 51 | names.append( l.at(i).GetName() ) 52 | return names 53 | 54 | def createWorkspace( inFile ): 55 | """ 56 | The strategy is to create a model with the new constraint terms and then do a 57 | roofit workspace import with RecycleConflictNodes. 58 | """ 59 | 60 | f = ROOT.TFile.Open( inFile, "READ" ) 61 | w = f.Get( options.wsName ) 62 | mc = w.obj( options.mcName ) 63 | data = w.data( options.dataName ) 64 | 65 | if options.centeredAtMLE: 66 | nll = getNll( mc.GetPdf(), data, minStrategy=2, enableOffset=False, globObs=mc.GetGlobalObservables() ) 67 | minimize( nll ) 68 | 69 | # new workspace 70 | newW = ROOT.RooWorkspace( "combined" ) 71 | qcdscaleSignalNuis = ROOT.RooArgList( mc.GetNuisanceParameters().selectByName(options.boxVariables) ) 72 | for i in range( qcdscaleSignalNuis.getSize() ): 73 | nuisParName = qcdscaleSignalNuis.at(i).GetName() 74 | boxCenter = 0.0 75 | if options.centeredAtMLE: 76 | boxCenter = w.var(nuisParName).getVal() 77 | print( 'For '+nuisParName+', using boxCenter='+str(boxCenter)+'.' ) 78 | if options.wideGauss: 79 | createConstraintFor( newW, nuisParName, boxCenter=boxCenter, boxHalfWidth=20.0, gaussSigma=1.3 ) 80 | else: 81 | createConstraintFor( newW, nuisParName, boxCenter=boxCenter ) 82 | 83 | print( "------------- Workspace with constraint terms only -------------") 84 | newW.Print() 85 | print( "------------- End workspace printout ---------------------------") 86 | 87 | # import modelconfig from old workspace (propagates to everything else apart from data) 88 | getattr(newW,"import")( mc.GetPdf(), ROOT.RooFit.RecycleConflictNodes(), ROOT.RooFit.Silence() ) 89 | 90 | newMC = ROOT.RooStats.ModelConfig("ModelConfig") 91 | newMC.SetWorkspace(newW) 92 | newMC.SetPdf( newW.pdf(mc.GetPdf().GetName()) ) 93 | newMC.SetNuisanceParameters( ",".join( argsetNames(mc.GetNuisanceParameters()) ) ) 94 | newMC.SetGlobalObservables( ",".join( argsetNames(mc.GetGlobalObservables()) ) ) 95 | newMC.SetParametersOfInterest( ",".join( argsetNames(mc.GetParametersOfInterest()) ) ) 96 | getattr(newW,"import")( newMC ) 97 | 98 | # also add data 99 | getattr(newW,"import")( data ) 100 | 101 | # print( "------------- Workspace with constraint terms only -------------") 102 | # newW.Print() 103 | # print( "------------- End workspace printout ---------------------------") 104 | 105 | newMC.Print() 106 | 107 | if options.wideGauss: 108 | outFile = inFile.replace(".root","_wideGauss.root") 109 | else: 110 | outFile = inFile.replace(".root","_box.root") 111 | print( "Writing output to "+outFile ) 112 | newW.SaveAs( outFile ) 113 | 114 | 115 | 116 | if __name__ == "__main__": 117 | createWorkspace( options.input ) 118 | 119 | 120 | 121 | 122 | -------------------------------------------------------------------------------- /plotsForPaper/copy.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # Created on: Dec 6, 2013 3 | 4 | __author__ = "Sven Kreiss, Kyle Cranmer" 5 | __version__ = "0.1" 6 | 7 | __description__ = """ 8 | Intended to be run from main directory (not plotsForPaper). 9 | Specify list of plots (eps files) to copy here. Give a tuple of src and dest filename 10 | if you need to rename fiels. 11 | The idea is to keep all plots dynamically updating in plots/ and have stable versions 12 | in this directory that is updated manually. Also helps with version control of plots. 13 | """ 14 | 15 | import os 16 | 17 | 18 | files = [ 19 | # 'plots/twoBin/scenarioA_interpCode0_muTmuW_overlay.eps', 20 | # 'plots/twoBin/scenarioB_interpCode0_muTmuW_overlay.eps', 21 | # 'plots/twoBin/scenarioC_interpCode0_muTmuW_overlay.eps', 22 | # 'plots/twoBin/scenarioA_interpCode0_muTmuW_overlay_box.eps', 23 | # 'plots/twoBin/scenarioB_interpCode0_muTmuW_overlay_box.eps', 24 | # 'plots/twoBin/scenarioC_interpCode0_muTmuW_overlay_box.eps', 25 | 26 | # ('plots/twoBin/scenarioA_interpCode0_etas/fisherInfo.eps', 'scenarioA_interpCode0_etas_fisherInfo.eps'), 27 | # ('plots/twoBin/scenarioA_interpCode0_etas/table_etas.py', 'scenarioA_interpCode0_etas_table.py'), 28 | # ('plots/twoBin/scenarioB_interpCode0_etas/fisherInfo.eps', 'scenarioB_interpCode0_etas_fisherInfo.eps'), 29 | # ('plots/twoBin/scenarioB_interpCode0_etas/table_etas.py', 'scenarioB_interpCode0_etas_table.py'), 30 | # ('plots/twoBin/scenarioC_interpCode0_etas/fisherInfo.eps', 'scenarioC_interpCode0_etas_fisherInfo.eps'), 31 | # ('plots/twoBin/scenarioC_interpCode0_etas/table_etas.py', 'scenarioC_interpCode0_etas_table.py'), 32 | 33 | # 'plots/atlas_counting/interpCode0_muTmuW.eps', 34 | # 'plots/atlas_counting/interpCode0_muTmuW_shifted.eps', 35 | # 'plots/atlas_counting/interpCode0_muTmuW_shifted_etaArrows.eps', 36 | # 'plots/atlas_counting/interpCode0_muTmuW_template0_etasfisherInfo.eps', 37 | # 'plots/atlas_counting/interpCode0_muTmuW_template10_etasgeneric_M5.eps', 38 | # 'plots/atlas_counting/interpCode0_muTmuW_template20_etasgeneric20_learningFull.eps', 39 | 40 | ('plots/atlas_counting/2ph_interpCode0_etas/fisherInfo.eps', '2ph_etas_fisherInfo.eps'), 41 | # ('plots/atlas_counting/2ph_interpCode0_etas/table_etas.py', '2ph_etas_table.py'), 42 | ('plots/atlas_counting/4l_interpCode0_etas/fisherInfo.eps', '4l_etas_fisherInfo.eps'), 43 | # ('plots/atlas_counting/4l_interpCode0_etas/table_etas.py', '4l_etas_table.py'), 44 | ('plots/atlas_counting/lvlv_interpCode0_etas/fisherInfo.eps', 'lvlv_etas_fisherInfo.eps'), 45 | # ('plots/atlas_counting/lvlv_interpCode0_etas/table_etas.py', 'lvlv_etas_table.py'), 46 | 47 | # 'plots/atlas_counting/interpCode0_kGlukGamma_combined_template10_etasgeneric_M5.eps', 48 | # 'plots/atlas_counting/interpCode0_kGlukGamma_combined_template10_etasgeneric_M5_box1.0.eps', 49 | # 'plots/atlas_counting/interpCode0_kGlukGamma_combined_template10_etasgeneric_M5_wideGauss1.3.eps', 50 | # 'plots/atlas_counting/interpCode0_kVkF_combined_template10_etasgeneric_M5.eps', 51 | # 'plots/atlas_counting/interpCode0_kVkF_combined_template10_etasgeneric_M5_box1.0.eps', 52 | # 'plots/atlas_counting/interpCode0_kVkF_combined_template10_etasgeneric_M5_wideGauss1.3.eps', 53 | 54 | # 'plots/atlas_counting/interpCode0_kGlukGamma_combined_template10_etasgeneric10_learningFull.eps', 55 | # 'plots/atlas_counting/interpCode0_kGlukGamma_combined_template10_etasgeneric10_learningFull_box1.0.eps', 56 | # 'plots/atlas_counting/interpCode0_kGlukGamma_combined_template10_etasgeneric10_learningFull_wideGauss1.3.eps', 57 | # 'plots/atlas_counting/interpCode0_kVkF_combined_template10_etasgeneric10_learningFull.eps', 58 | # 'plots/atlas_counting/interpCode0_kVkF_combined_template10_etasgeneric10_learningFull_box1.0.eps', 59 | # 'plots/atlas_counting/interpCode0_kVkF_combined_template10_etasgeneric10_learningFull_wideGauss1.3.eps', 60 | # 'plots/atlas_counting/interpCode0_kVkF_combined_template10_etasgeneric10_learningFull_overlay.eps', 61 | # 'plots/atlas_counting/interpCode0_kGlukGamma_combined_template10_etasgeneric10_learningFull_overlay.eps', 62 | 63 | ('~/tex/papers/CouplingsFromProdModes/dotProduct/plots/2ph_robustness_normEtas_normTh2.eps', 'atlas_counting/robustness_2ph.eps'), 64 | ('~/tex/papers/CouplingsFromProdModes/dotProduct/plots/ZZ_robustness_normEtas_normTh2.eps', 'atlas_counting/robustness_4l.eps'), 65 | ('~/tex/papers/CouplingsFromProdModes/dotProduct/plots/WW_robustness_normEtas_normTh2.eps', 'atlas_counting/robustness_lvlv.eps'), 66 | ] 67 | 68 | 69 | def main(): 70 | for f in files: 71 | targetDir = 'plotsForPaper/' 72 | 73 | if isinstance(f,str): 74 | if 'twoBin/' in f: targetDir = 'plotsForPaper/twoBin/' 75 | if 'atlas_counting/' in f: targetDir = 'plotsForPaper/atlas_counting/' 76 | os.system( 'mkdir -p '+targetDir ) 77 | 78 | os.system("cp "+f+" "+targetDir) 79 | print(f+' to '+targetDir) 80 | elif len(f) == 2: 81 | if 'twoBin/' in f[0]: targetDir = 'plotsForPaper/twoBin/' 82 | if 'atlas_counting/' in f[0]: targetDir = 'plotsForPaper/atlas_counting/' 83 | os.system( 'mkdir -p '+targetDir ) 84 | 85 | os.system("cp "+f[0]+" "+targetDir+f[1]) 86 | print(f[0]+' to '+targetDir+f[1]) 87 | else: 88 | print("Don't know what to do with "+str(f)) 89 | print("Done.") 90 | 91 | 92 | if __name__ == "__main__": 93 | main() 94 | -------------------------------------------------------------------------------- /plotsForPaper/atlas_counting/2ph_etas_table.py: -------------------------------------------------------------------------------- 1 | etas = { 2 | 'generic20_learning': { 3 | 'alpha_ATLAS_LUMI_2012': { 'muT__hat': 1.45680382599, 'muT__muT__down': 0.0403344500821, 'muT__muT__up': 0.0295059948201, 'muT__muW__down': -0.00170117606185, 'muT__muW__up': 0.00615134457977, 'muT__phi__down': -0.00520694457924, 'muT__phi__up': -0.00486484949081, 'muW__hat': 1.85214014041, 'muW__muT__down': 0.00895878267671, 'muW__muT__up': -0.0026496991045, 'muW__muW__down': 0.0252276580769, 'muW__muW__up': 0.0310285156001, 'muW__phi__down': 0.00562390529142, 'muW__phi__up': 0.00901581161514 }, 4 | 'alpha_QCDscale_Higgs_ggH2in': { 'muT__hat': 1.45680382599, 'muT__muT__down': 0.114223970568, 'muT__muT__up': 0.132667972361, 'muT__muW__down': 0.00735317268584, 'muT__muW__up': -0.00445305329215, 'muT__phi__down': -0.215154268336, 'muT__phi__up': -0.168633213279, 'muW__hat': 1.85214014041, 'muW__muT__down': 0.069804893272, 'muW__muT__up': 0.0499217135692, 'muW__muW__down': 0.0964619316623, 'muW__muW__up': 0.140394901038, 'muW__phi__down': -0.0904629615991, 'muW__phi__up': -0.132166447653 }, 5 | 'constant': { 'muT__hat': 1.45680382599, 'muT__muT__down': -0.00119220399207, 'muT__muT__up': 0.0077398425873, 'muT__muW__down': -0.00334823158853, 'muT__muW__up': -0.00503718361794, 'muW__hat': 1.85214014041, 'muW__muT__down': -0.00366799898141, 'muW__muT__up': 0.0114919383692, 'muW__muW__down': 0.0104181905058, 'muW__muW__up': -0.0166362499137 }, 6 | 'alpha_QCDscale_Higgs_ggH': { 'muT__hat': 1.45680382599, 'muT__muT__down': 0.10660973975, 'muT__muT__up': 0.136208670093, 'muT__muW__down': -0.0146486201374, 'muT__muW__up': 0.00483192781561, 'muT__phi__down': 0.0657117977057, 'muT__phi__up': -0.0223721309981, 'muW__hat': 1.85214014041, 'muW__muT__down': -0.0129682222411, 'muW__muT__up': -0.0021417901639, 'muW__muW__down': 0.0111589065985, 'muW__muW__up': 0.00800696829239, 'muW__phi__down': 0.0141239131118, 'muW__phi__up': -0.00941258341851 }, 7 | }, 8 | 'partialDerivatives': { 9 | 'alpha_ATLAS_LUMI_2012': { 'muT': 0.0359743814027, 'muW': 0.0363913431435 }, 10 | 'alpha_QCDscale_Higgs_ggH2in': { 'muT': -0.005600587615, 'muW': -3.51199422217e-05 }, 11 | 'alpha_QCDscale_Higgs_ggH': { 'muT': 0.130396989649, 'muW': -3.51189067656e-05 }, 12 | }, 13 | 'generic_M5': { 14 | 'alpha_ATLAS_LUMI_2012': { 'muT__muT': 0.0360086237941, 'muT__muW': 0.0, 'muT__phi': 0.0, 'muW__muT': 0.0, 'muW__muW': 0.0366866771931, 'muW__phi': 0.0 }, 15 | 'alpha_QCDscale_Higgs_ggH2in': { 'muT__muT': 0, 'muT__muW': -0.00164574175765, 'muT__phi': 0.0, 'muW__muT': 0.126446912184, 'muW__muW': 0, 'muW__phi': 0.0 }, 16 | 'alpha_QCDscale_Higgs_ggH': { 'muT__muT': 0.130035379151, 'muT__muW': 0.0, 'muT__phi': 0.0, 'muW__muT': 0.0, 'muW__muW': 0.00217874644967, 'muW__phi': 0.0 }, 17 | }, 18 | 'generic_M4': { 19 | 'alpha_ATLAS_LUMI_2012': { 'muT__muT': 0.0360086237941, 'muT__muW': 0.0, 'muT__phi': 0.0, 'muW__muT': 0.0, 'muW__muW': 0.0366866771931, 'muW__phi': 0.0 }, 20 | 'alpha_QCDscale_Higgs_ggH2in': { 'muT__muT': 0, 'muT__muW': 0.0, 'muT__phi': -0.00206159630248, 'muW__muT': 0.0, 'muW__muW': 0, 'muW__phi': 0.100940694964 }, 21 | 'alpha_QCDscale_Higgs_ggH': { 'muT__muT': 0.130035379151, 'muT__muW': 0.0, 'muT__phi': 0.0, 'muW__muT': 0.0, 'muW__muW': 0.00217874644967, 'muW__phi': 0.0 }, 22 | }, 23 | 'generic_fisherInfo': { 24 | 'alpha_ATLAS_LUMI_2012': { 'muT__muT': 0.0360086237941, 'muT__muW': 0.0, 'muT__phi': 0.0, 'muW__muT': 0.0, 'muW__muW': 0.0366866771931, 'muW__phi': 0.0 }, 25 | 'alpha_QCDscale_Higgs_ggH2in': { 'muT__muT': -0.00206159630248, 'muT__muW': 0.0, 'muT__phi': 0.0, 'muW__muT': 0.0, 'muW__muW': 0.100940694964, 'muW__phi': 0.0 }, 26 | 'alpha_QCDscale_Higgs_ggH': { 'muT__muT': 0.130035379151, 'muT__muW': 0.0, 'muT__phi': 0.0, 'muW__muT': 0.0, 'muW__muW': 0.00217874644967, 'muW__phi': 0.0 }, 27 | }, 28 | 'covarianceMatrix': { 29 | 'alpha_ATLAS_LUMI_2012': { 'muT': 0.0361385512444, 'muW': 0.0365915182557 }, 30 | 'alpha_QCDscale_Higgs_ggH2in': { 'muT': -0.00203173388364, 'muW': 0.10084827308 }, 31 | 'alpha_QCDscale_Higgs_ggH': { 'muT': 0.130457406084, 'muW': 0.00195887163829 }, 32 | }, 33 | 'fisherInfo': { 34 | 'alpha_ATLAS_LUMI_2012': { 'muT': 0.0360086237941, 'muW': 0.0366866771931 }, 35 | 'alpha_QCDscale_Higgs_ggH2in': { 'muT': -0.00206159630248, 'muW': 0.100940694964 }, 36 | 'alpha_QCDscale_Higgs_ggH': { 'muT': 0.130035379151, 'muW': 0.00217874644967 }, 37 | }, 38 | 'generic10_learning': { 39 | 'alpha_ATLAS_LUMI_2012': { 'muT__hat': 1.45680382599, 'muT__muT': 0.0310301146624, 'muT__muW': -0.00245513833682, 'muT__phi': 0.00637191119699, 'muW__hat': 1.85214014041, 'muW__muT': 0.000515213689151, 'muW__muW': 0.0383166831128, 'muW__phi': 0.00186553932813 }, 40 | 'alpha_QCDscale_Higgs_ggH2in': { 'muT__hat': 1.45680382599, 'muT__muT': 0.121429281102, 'muT__muW': 0.00726577634938, 'muT__phi': -0.192535996393, 'muW__hat': 1.85214014041, 'muW__muT': 0.0671908958053, 'muW__muW': 0.111469596344, 'muW__phi': -0.107633362209 }, 41 | 'constant': { 'muT__hat': 1.45680382599, 'muT__muT': 0.00388637970835, 'muT__muW': -0.00419481030949, 'muW__hat': 1.85214014041, 'muW__muT': -0.00955798371709, 'muW__muW': 0.0169148634909 }, 42 | 'alpha_QCDscale_Higgs_ggH': { 'muT__hat': 1.45680382599, 'muT__muT': 0.127466478861, 'muT__muW': -0.00187445450656, 'muT__phi': 0.00286313402711, 'muW__hat': 1.85214014041, 'muW__muT': -0.00675008609156, 'muW__muW': 0.00567335840455, 'muW__phi': -0.00215404536369 }, 43 | }, 44 | } -------------------------------------------------------------------------------- /plotsForPaper/atlas_counting/4l_etas_table.py: -------------------------------------------------------------------------------- 1 | etas = { 2 | 'generic20_learning': { 3 | 'alpha_ATLAS_LUMI_2012': { 'muT__hat': 1.49401930723, 'muT__muT__down': 0.0338444171345, 'muT__muT__up': 0.0309159829066, 'muT__muW__down': -0.00153824251909, 'muT__muW__up': 0.00148147282231, 'muT__phi__down': 0.00734038944363, 'muT__phi__up': 0.00543738632322, 'muW__hat': 0.762064010023, 'muW__muT__down': -0.0016518014382, 'muW__muT__up': -0.00148003146204, 'muW__muW__down': 0.0356215711696, 'muW__muW__up': 0.0341255652332, 'muW__phi__down': -0.00855963884525, 'muW__phi__up': 0.00673659504121 }, 4 | 'alpha_QCDscale_Higgs_ggH2in': { 'muT__hat': 1.49401930723, 'muT__muT__down': -0.0428204960001, 'muT__muT__up': -0.039446073583, 'muT__muW__down': -0.000997252351819, 'muT__muW__up': -0.00225960203292, 'muT__phi__down': 0.0391623476596, 'muT__phi__up': 0.0333367502152, 'muW__hat': 0.762064010023, 'muW__muT__down': 0.156542965763, 'muW__muT__up': 0.146127084937, 'muW__muW__down': -0.0169161077937, 'muW__muW__up': -0.0171792362133, 'muW__phi__down': -0.00548240015312, 'muW__phi__up': 0.0103071832007 }, 5 | 'constant': { 'muT__hat': 1.49401930723, 'muT__muT__down': -0.00277988609128, 'muT__muT__up': -0.00231328447093, 'muT__muW__down': 0.00187134948123, 'muT__muW__up': 0.00172896762181, 'muW__hat': 0.762064010023, 'muW__muT__down': 0.00554404754989, 'muW__muT__up': 0.00478021893416, 'muW__muW__down': -0.0125323572661, 'muW__muW__up': -0.0181679796524 }, 6 | 'alpha_QCDscale_Higgs_ggH': { 'muT__hat': 1.49401930723, 'muT__muT__down': 0.14159838859, 'muT__muT__up': 0.114440851163, 'muT__muW__down': 0.00346690523317, 'muT__muW__up': -0.0003576998975, 'muT__phi__down': -0.0281582122376, 'muT__phi__up': 0.0229693573743, 'muW__hat': 0.762064010023, 'muW__muT__down': 0.00303537130106, 'muW__muT__up': -0.00371137002701, 'muW__muW__down': 0.0045871157037, 'muW__muW__up': 0.00115448044959, 'muW__phi__down': -0.0050640967619, 'muW__phi__up': 0.00478276551009 }, 7 | }, 8 | 'partialDerivatives': { 9 | 'alpha_ATLAS_LUMI_2012': { 'muT': 0.036432881316, 'muW': 0.0366193004552 }, 10 | 'alpha_QCDscale_Higgs_ggH2in': { 'muT': 0.0067435982053, 'muW': -5.36759018817e-06 }, 11 | 'alpha_QCDscale_Higgs_ggH': { 'muT': 0.135338032231, 'muW': -5.36751713597e-06 }, 12 | }, 13 | 'generic_M5': { 14 | 'alpha_ATLAS_LUMI_2012': { 'muT__muT': 0.0361264723172, 'muT__muW': 0.0, 'muT__phi': 0.0, 'muW__muT': 0.0, 'muW__muW': 0.0349256108407, 'muW__phi': 0.0 }, 15 | 'alpha_QCDscale_Higgs_ggH2in': { 'muT__muT': 0, 'muT__muW': -0.0398895341079, 'muT__phi': 0.0, 'muW__muT': 0.156980882247, 'muW__muW': 0, 'muW__phi': 0.0 }, 16 | 'alpha_QCDscale_Higgs_ggH': { 'muT__muT': 0.130438596363, 'muT__muW': 0.0, 'muT__phi': 0.0, 'muW__muT': 0.0, 'muW__muW': -0.00361307085773, 'muW__phi': 0.0 }, 17 | }, 18 | 'generic_M4': { 19 | 'alpha_ATLAS_LUMI_2012': { 'muT__muT': 0.0361264723172, 'muT__muW': 0.0, 'muT__phi': 0.0, 'muW__muT': 0.0, 'muW__muW': 0.0349256108407, 'muW__phi': 0.0 }, 20 | 'alpha_QCDscale_Higgs_ggH2in': { 'muT__muT': 0, 'muT__muW': 0.0, 'muT__phi': -0.019316363587, 'muW__muT': 0.0, 'muW__muW': 0, 'muW__phi': 0.324175625938 }, 21 | 'alpha_QCDscale_Higgs_ggH': { 'muT__muT': 0.130438596363, 'muT__muW': 0.0, 'muT__phi': 0.0, 'muW__muT': 0.0, 'muW__muW': -0.00361307085773, 'muW__phi': 0.0 }, 22 | }, 23 | 'generic_fisherInfo': { 24 | 'alpha_ATLAS_LUMI_2012': { 'muT__muT': 0.0361264723172, 'muT__muW': 0.0, 'muT__phi': 0.0, 'muW__muT': 0.0, 'muW__muW': 0.0349256108407, 'muW__phi': 0.0 }, 25 | 'alpha_QCDscale_Higgs_ggH2in': { 'muT__muT': -0.019316363587, 'muT__muW': 0.0, 'muT__phi': 0.0, 'muW__muT': 0.0, 'muW__muW': 0.324175625938, 'muW__phi': 0.0 }, 26 | 'alpha_QCDscale_Higgs_ggH': { 'muT__muT': 0.130438596363, 'muT__muW': 0.0, 'muT__phi': 0.0, 'muW__muT': 0.0, 'muW__muW': -0.00361307085773, 'muW__phi': 0.0 }, 27 | }, 28 | 'covarianceMatrix': { 29 | 'alpha_ATLAS_LUMI_2012': { 'muT': 0.0360690575965, 'muW': 0.0350293971707 }, 30 | 'alpha_QCDscale_Higgs_ggH2in': { 'muT': -0.0193211272667, 'muW': 0.324312078964 }, 31 | 'alpha_QCDscale_Higgs_ggH': { 'muT': 0.130244711333, 'muW': -0.00331096097399 }, 32 | }, 33 | 'fisherInfo': { 34 | 'alpha_ATLAS_LUMI_2012': { 'muT': 0.0361264723172, 'muW': 0.0349256108407 }, 35 | 'alpha_QCDscale_Higgs_ggH2in': { 'muT': -0.019316363587, 'muW': 0.324175625938 }, 36 | 'alpha_QCDscale_Higgs_ggH': { 'muT': 0.130438596363, 'muW': -0.00361307085773 }, 37 | }, 38 | 'generic10_learning': { 39 | 'alpha_ATLAS_LUMI_2012': { 'muT__hat': 1.49401930723, 'muT__muT': 0.0393909138694, 'muT__muW': 0.00162363749116, 'muT__phi': -0.00694252207208, 'muW__hat': 0.762064010023, 'muW__muT': 0.000460709540118, 'muW__muW': 0.0340307018982, 'muW__phi': -0.00135692264623 }, 40 | 'alpha_QCDscale_Higgs_ggH2in': { 'muT__hat': 1.49401930723, 'muT__muT': -0.0397660472995, 'muT__muW': -0.000303912586271, 'muT__phi': 0.0340600719363, 'muW__hat': 0.762064010023, 'muW__muT': 0.151784221956, 'muW__muW': -0.022077647662, 'muW__phi': 0.00414882244856 }, 41 | 'constant': { 'muT__hat': 1.49401930723, 'muT__muT': -0.00168068396809, 'muT__muW': 0.00221459633738, 'muW__hat': 0.762064010023, 'muW__muT': 0.0013698015139, 'muW__muW': -0.0136977817206 }, 42 | 'alpha_QCDscale_Higgs_ggH': { 'muT__hat': 1.49401930723, 'muT__muT': 0.13179685847, 'muT__muW': 0.000287847819092, 'muT__phi': -0.00317924007021, 'muW__hat': 0.762064010023, 'muW__muT': 0.000552037924048, 'muW__muW': -0.00125046747765, 'muW__phi': -0.0010681342915 }, 43 | }, 44 | } -------------------------------------------------------------------------------- /plotsForPaper/atlas_counting/lvlv_etas_table.py: -------------------------------------------------------------------------------- 1 | etas = { 2 | 'generic20_learning': { 3 | 'alpha_ATLAS_LUMI_2012': { 'muT__hat': 0.816226673571, 'muT__muT__down': 0.0407591584793, 'muT__muT__up': 0.0368081554649, 'muT__muW__down': -0.000479700448688, 'muT__muW__up': 0.00109448525299, 'muT__phi__down': -0.00363077690366, 'muT__phi__up': -0.00236353831815, 'muW__hat': 1.58633756811, 'muW__muT__down': -0.00210158626434, 'muW__muT__up': 0.00278489899122, 'muW__muW__down': 0.0328261981921, 'muW__muW__up': 0.0350492257693, 'muW__phi__down': 0.000399537549709, 'muW__phi__up': -0.000740341982104 }, 4 | 'alpha_QCDscale_Higgs_ggH2in': { 'muT__hat': 0.816226673571, 'muT__muT__down': -0.0161886648315, 'muT__muT__up': 0.0171047822016, 'muT__muW__down': 0.00762185472052, 'muT__muW__up': -0.00342865733351, 'muT__phi__down': -0.0356863059938, 'muT__phi__up': -0.0292575742973, 'muW__hat': 1.58633756811, 'muW__muT__down': -0.0216249286429, 'muW__muT__up': -0.0658368621053, 'muW__muW__down': 0.0314655764589, 'muW__muW__up': 0.05267342543, 'muW__phi__down': -0.0472525651229, 'muW__phi__up': -0.0519298025172 }, 5 | 'constant': { 'muT__hat': 0.816226673571, 'muT__muT__down': -0.00262264233385, 'muT__muT__up': -0.00526913173886, 'muT__muW__down': 0.000410735842889, 'muT__muW__up': 0.0018194543224, 'muW__hat': 1.58633756811, 'muW__muT__down': 0.0006280560163, 'muW__muT__up': -0.012025106929, 'muW__muW__down': -0.00224749630142, 'muW__muW__up': 0.00372964854997 }, 6 | 'alpha_QCDscale_Higgs_ggH': { 'muT__hat': 0.816226673571, 'muT__muT__down': 0.126341180386, 'muT__muT__up': 0.135180104489, 'muT__muW__down': -0.00326320113904, 'muT__muW__up': 0.00630269705781, 'muT__phi__down': 0.0103200041315, 'muT__phi__up': -0.0132722981754, 'muW__hat': 1.58633756811, 'muW__muT__down': -0.0027908771767, 'muW__muT__up': -0.00166860128299, 'muW__muW__down': 6.77514518226e-05, 'muW__muW__up': -7.54717719827e-05, 'muW__phi__down': -0.00112139091147, 'muW__phi__up': -0.006695409768 }, 7 | }, 8 | 'partialDerivatives': { 9 | 'alpha_ATLAS_LUMI_2012': { 'muT': 0.0361385414337, 'muW': 0.0364498696967 }, 10 | 'alpha_QCDscale_Higgs_ggH2in': { 'muT': -0.0371557491129, 'muW': -6.36956120588e-05 }, 11 | 'alpha_QCDscale_Higgs_ggH': { 'muT': 0.13110716713, 'muW': -6.36955615937e-05 }, 12 | }, 13 | 'generic_M5': { 14 | 'alpha_ATLAS_LUMI_2012': { 'muT__muT': 0.0360526755948, 'muT__muW': 0.0, 'muT__phi': 0.0, 'muW__muT': 0.0, 'muW__muW': 0.0356632745489, 'muW__phi': 0.0 }, 15 | 'alpha_QCDscale_Higgs_ggH2in': { 'muT__muT': -0.0356081847698, 'muT__muW': 0.0, 'muT__phi': 0.0, 'muW__muT': 0.0, 'muW__muW': -0.0116143757743, 'muW__phi': 0.0 }, 16 | 'alpha_QCDscale_Higgs_ggH': { 'muT__muT': 0.130265979232, 'muT__muW': 0.0, 'muT__phi': 0.0, 'muW__muT': 0.0, 'muW__muW': -0.00130694266628, 'muW__phi': 0.0 }, 17 | }, 18 | 'generic_M4': { 19 | 'alpha_ATLAS_LUMI_2012': { 'muT__muT': 0.0360526755948, 'muT__muW': 0.0, 'muT__phi': 0.0, 'muW__muT': 0.0, 'muW__muW': 0.0356632745489, 'muW__phi': 0.0 }, 20 | 'alpha_QCDscale_Higgs_ggH2in': { 'muT__muT': -0.0356081847698, 'muT__muW': 0.0, 'muT__phi': 0.0, 'muW__muT': 0.0, 'muW__muW': -0.0116143757743, 'muW__phi': 0.0 }, 21 | 'alpha_QCDscale_Higgs_ggH': { 'muT__muT': 0.130265979232, 'muT__muW': 0.0, 'muT__phi': 0.0, 'muW__muT': 0.0, 'muW__muW': -0.00130694266628, 'muW__phi': 0.0 }, 22 | }, 23 | 'generic_fisherInfo': { 24 | 'alpha_ATLAS_LUMI_2012': { 'muT__muT': 0.0360526755948, 'muT__muW': 0.0, 'muT__phi': 0.0, 'muW__muT': 0.0, 'muW__muW': 0.0356632745489, 'muW__phi': 0.0 }, 25 | 'alpha_QCDscale_Higgs_ggH2in': { 'muT__muT': -0.0356081847698, 'muT__muW': 0.0, 'muT__phi': 0.0, 'muW__muT': 0.0, 'muW__muW': -0.0116143757743, 'muW__phi': 0.0 }, 26 | 'alpha_QCDscale_Higgs_ggH': { 'muT__muT': 0.130265979232, 'muT__muW': 0.0, 'muT__phi': 0.0, 'muW__muT': 0.0, 'muW__muW': -0.00130694266628, 'muW__phi': 0.0 }, 27 | }, 28 | 'covarianceMatrix': { 29 | 'alpha_ATLAS_LUMI_2012': { 'muT': 0.0360372036401, 'muW': 0.0356719408432 }, 30 | 'alpha_QCDscale_Higgs_ggH2in': { 'muT': -0.0355935413076, 'muW': -0.0116203552494 }, 31 | 'alpha_QCDscale_Higgs_ggH': { 'muT': 0.130213591858, 'muW': -0.00128985380929 }, 32 | }, 33 | 'fisherInfo': { 34 | 'alpha_ATLAS_LUMI_2012': { 'muT': 0.0360526755948, 'muW': 0.0356632745489 }, 35 | 'alpha_QCDscale_Higgs_ggH2in': { 'muT': -0.0356081847698, 'muW': -0.0116143757743 }, 36 | 'alpha_QCDscale_Higgs_ggH': { 'muT': 0.130265979232, 'muW': -0.00130694266628 }, 37 | }, 38 | 'generic10_learning': { 39 | 'alpha_ATLAS_LUMI_2012': { 'muT__hat': 0.816226673571, 'muT__muT': 0.0366867526134, 'muT__muW': -0.000201454597291, 'muT__phi': 0.000101126984362, 'muW__hat': 1.58633756811, 'muW__muT': 0.00396077893546, 'muW__muW': 0.0338757281164, 'muW__phi': 0.00148081061649 }, 40 | 'alpha_QCDscale_Higgs_ggH2in': { 'muT__hat': 0.816226673571, 'muT__muT': 0.00567701552033, 'muT__muW': 0.00250362277933, 'muT__phi': -0.0370668703361, 'muW__hat': 1.58633756811, 'muW__muT': -0.0502760208569, 'muW__muW': 0.0450268055718, 'muW__phi': -0.053480734875 }, 41 | 'constant': { 'muT__hat': 0.816226673571, 'muT__muT': 0.000443906898715, 'muT__muW': 0.00040950980093, 'muW__hat': 1.58633756811, 'muW__muT': -0.00377701079965, 'muW__muW': 0.000721448602518 }, 42 | 'alpha_QCDscale_Higgs_ggH': { 'muT__hat': 0.816226673571, 'muT__muT': 0.132667836339, 'muT__muW': -0.000768814906701, 'muT__phi': -0.00215463837267, 'muW__hat': 1.58633756811, 'muW__muT': 0.00259879618312, 'muW__muW': -0.00154947442942, 'muW__phi': 0.0012298766656 }, 43 | }, 44 | } -------------------------------------------------------------------------------- /Decouple/fullModel_utils.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | # Created on: October 8, 2013 4 | 5 | __author__ = "Sven Kreiss, Kyle Cranmer" 6 | __version__ = "0.1" 7 | 8 | 9 | import ROOT 10 | 11 | 12 | def getNll( pdf, data, minStrategy=0, enableOffset=True, globObs=None ): 13 | """ Generic functions to use with minimize() from BatchProfileLikelihood. """ 14 | 15 | # config minimizer 16 | ROOT.RooAbsReal.defaultIntegratorConfig().method1D().setLabel("RooAdaptiveGaussKronrodIntegrator1D") 17 | ROOT.Math.MinimizerOptions.SetDefaultMinimizer("Minuit2","Minimize") 18 | ROOT.Math.MinimizerOptions.SetDefaultStrategy(minStrategy) 19 | ROOT.Math.MinimizerOptions.SetDefaultPrintLevel(-1) 20 | 21 | # minimizer initialize 22 | params = pdf.getParameters(data) 23 | ROOT.RooStats.RemoveConstantParameters(params) 24 | if globObs: 25 | nll = pdf.createNLL( 26 | data, 27 | ROOT.RooFit.CloneData(ROOT.kFALSE), 28 | ROOT.RooFit.Constrain(params), 29 | ROOT.RooFit.GlobalObservables(globObs), 30 | ROOT.RooFit.Offset(enableOffset), 31 | ) 32 | else: 33 | nll = pdf.createNLL( 34 | data, 35 | ROOT.RooFit.CloneData(ROOT.kFALSE), 36 | ROOT.RooFit.Constrain(params), 37 | ROOT.RooFit.Offset(enableOffset), 38 | ) 39 | # nllNoOffset = pdf.createNLL( 40 | # data, 41 | # ROOT.RooFit.CloneData(ROOT.kFALSE), 42 | # ROOT.RooFit.Constrain(params), 43 | # ROOT.RooFit.Offset(False), 44 | # ) 45 | nll.setEvalErrorLoggingMode(ROOT.RooAbsReal.CountErrors) 46 | # nllNoOffset.setEvalErrorLoggingMode(ROOT.RooAbsReal.CountErrors) 47 | # if options.enableOffset: 48 | print( "Get NLL once. This first call sets the offset, so it is important that this happens when the parameters are at their initial values." ) 49 | print( "nll = "+str( nll.getVal() ) ) 50 | 51 | return nll 52 | 53 | 54 | 55 | def minimize( nll ): 56 | 57 | strat = ROOT.Math.MinimizerOptions.DefaultStrategy() 58 | 59 | msglevel = ROOT.RooMsgService.instance().globalKillBelow() 60 | ROOT.RooMsgService.instance().setGlobalKillBelow(ROOT.RooFit.FATAL) 61 | 62 | minim = ROOT.RooMinimizer( nll ) 63 | minim.setPrintLevel( ROOT.Math.MinimizerOptions.DefaultPrintLevel() ) 64 | minim.setStrategy(strat) 65 | minim.optimizeConst(0) 66 | #minim.optimizeConst(options.minOptimizeConst) 67 | 68 | # Got to be very careful with SCAN. We have to allow for negative mu, 69 | # so large part of the space that is scanned produces log-eval errors. 70 | # Therefore, this is usually not feasible. 71 | #minim.minimize(ROOT.Math.MinimizerOptions.DefaultMinimizerType(), "Scan") 72 | 73 | status = -1 74 | for i in range( 3 ): 75 | status = minim.minimize(ROOT.Math.MinimizerOptions.DefaultMinimizerType(), 76 | ROOT.Math.MinimizerOptions.DefaultMinimizerAlgo()) 77 | if status == 0: break 78 | 79 | if status != 0 and status != 1 and strat <= 1: 80 | strat += 1 81 | print( "Retrying with strat "+str(strat) ) 82 | minim.setStrategy(strat) 83 | status = minim.minimize(ROOT.Math.MinimizerOptions.DefaultMinimizerType(), 84 | ROOT.Math.MinimizerOptions.DefaultMinimizerAlgo()) 85 | 86 | if status != 0 and status != 1 and strat <= 1: 87 | strat += 1 88 | print( "Retrying with strat "+str(strat) ) 89 | minim.setStrategy(strat) 90 | status = minim.minimize(ROOT.Math.MinimizerOptions.DefaultMinimizerType(), 91 | ROOT.Math.MinimizerOptions.DefaultMinimizerAlgo()) 92 | 93 | if status != 0 and status != 1: 94 | print( "ERROR::Minimization failed!" ) 95 | 96 | ROOT.RooMsgService.instance().setGlobalKillBelow(msglevel) 97 | return nll.getVal() 98 | 99 | 100 | def minimize_fitResult( nll, hesse=True ): 101 | 102 | strat = ROOT.Math.MinimizerOptions.DefaultStrategy() 103 | 104 | msglevel = ROOT.RooMsgService.instance().globalKillBelow() 105 | ROOT.RooMsgService.instance().setGlobalKillBelow(ROOT.RooFit.FATAL) 106 | 107 | minim = ROOT.RooMinimizer( nll ) 108 | minim.setPrintLevel( ROOT.Math.MinimizerOptions.DefaultPrintLevel() ) 109 | minim.setStrategy(strat) 110 | minim.optimizeConst(0) 111 | #minim.optimizeConst(options.minOptimizeConst) 112 | 113 | # Got to be very careful with SCAN. We have to allow for negative mu, 114 | # so large part of the space that is scanned produces log-eval errors. 115 | # Therefore, this is usually not feasible. 116 | #minim.minimize(ROOT.Math.MinimizerOptions.DefaultMinimizerType(), "Scan") 117 | 118 | status = -1 119 | for i in range( 3 ): 120 | status = minim.minimize(ROOT.Math.MinimizerOptions.DefaultMinimizerType(), 121 | ROOT.Math.MinimizerOptions.DefaultMinimizerAlgo()) 122 | if status == 0: break 123 | 124 | if status != 0 and status != 1 and strat <= 1: 125 | strat += 1 126 | print( "Retrying with strat "+str(strat) ) 127 | minim.setStrategy(strat) 128 | status = minim.minimize(ROOT.Math.MinimizerOptions.DefaultMinimizerType(), 129 | ROOT.Math.MinimizerOptions.DefaultMinimizerAlgo()) 130 | 131 | if status != 0 and status != 1 and strat <= 1: 132 | strat += 1 133 | print( "Retrying with strat "+str(strat) ) 134 | minim.setStrategy(strat) 135 | status = minim.minimize(ROOT.Math.MinimizerOptions.DefaultMinimizerType(), 136 | ROOT.Math.MinimizerOptions.DefaultMinimizerAlgo()) 137 | 138 | if status != 0 and status != 1: 139 | print( "ERROR::Minimization failed!" ) 140 | 141 | # call Hesse 142 | if hesse: 143 | minim.hesse() 144 | 145 | ROOT.RooMsgService.instance().setGlobalKillBelow(msglevel) 146 | return minim.save() 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | -------------------------------------------------------------------------------- /Decouple/plot_utils.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | # Created on: January 2, 2014 4 | 5 | __author__ = "Sven Kreiss, Kyle Cranmer" 6 | __version__ = "0.1" 7 | 8 | 9 | import ROOT 10 | import PyROOTUtils 11 | from array import array 12 | 13 | 14 | 15 | SMMarker = ROOT.TMarker( 1.0, 1.0, 34 ) 16 | SMMarker.SetMarkerColor( ROOT.kBlack ) 17 | 18 | 19 | 20 | container = [] 21 | openFiles = [] 22 | 23 | 24 | 25 | def getContours( hist, level, levelName, canvas=None, scale=1.0 ): 26 | tmpCanvas = False 27 | if not canvas: 28 | canvas = ROOT.TCanvas() 29 | tmpCanvas = True 30 | 31 | hist.Scale(scale) 32 | hist.SetContour( 1, array('d',[level]) ) 33 | hist.Draw( "COLZ CONT LIST" ) 34 | canvas.Update() 35 | listOfGraphs = ROOT.gROOT.GetListOfSpecials().FindObject("contours").At(0) 36 | contours = [ ROOT.TGraph( listOfGraphs.At(i) ) for i in range( listOfGraphs.GetSize() ) ] 37 | for co in range( len(contours) ): 38 | contours[co].SetName( "Contour%s_%d" % (levelName,co) ) 39 | 40 | if tmpCanvas: del(canvas) 41 | 42 | return contours 43 | 44 | def getSmallestBinMarker( hist, color=ROOT.kBlack ): 45 | bx,by,bz = (ROOT.Long(),ROOT.Long(),ROOT.Long()) 46 | hist.GetBinXYZ( hist.GetMinimumBin(),bx,by,bz ) 47 | cm = PyROOTUtils.CrossMarker( 48 | hist.GetXaxis().GetBinCenter(bx), 49 | hist.GetYaxis().GetBinCenter(by), 50 | markerColor=color, 51 | ) 52 | return cm 53 | 54 | def getInterpolatedMinimumMarker( hist, color=ROOT.kBlack ): 55 | """ 56 | This takes the neighboring two bins and plots a parabola through the three 57 | points defined by the three bins (parabolas are uniquely defined by three points). 58 | No fitting has to be done. The minimum of that parabola is used as the 59 | interpolated minimum. 60 | 61 | For the bin heights y1, y2 and y3 at the bin positions 0, \Delta x and 2\Delta x, 62 | the parabola minimum x0 is at: 63 | -x0 = [4(y2-y1) - (y3-y1)]\Delta x / [2(y3-y1) - 4(y2-y1)] 64 | 65 | This ignores (off-)diagonal neighboring cells which would go beyond what can be 66 | uniquely defined for a parabola. 67 | """ 68 | bx,by,bz = (ROOT.Long(),ROOT.Long(),ROOT.Long()) 69 | hist.GetBinXYZ( hist.GetMinimumBin(),bx,by,bz ) 70 | 71 | # interpolate position horizontally 72 | y1 = hist.GetBinContent( hist.GetMinimumBin()-1 ) 73 | y2 = hist.GetBinContent( hist.GetMinimumBin() ) 74 | y3 = hist.GetBinContent( hist.GetMinimumBin()+1 ) 75 | deltax = (hist.GetXaxis().GetBinCenter(bx+1) - hist.GetXaxis().GetBinCenter(bx-1))/2.0 76 | x0 = hist.GetXaxis().GetBinCenter(bx-1) + ((4.0*(y2-y1)-(y3-y1))*(-deltax)) / (2.0*(y3-y1)-4.0*(y2-y1)) 77 | 78 | # interpolate position vertically 79 | bU = hist.GetMinimumBin()+(hist.GetXaxis().GetNbins()+2) # bin up 80 | bD = hist.GetMinimumBin()-(hist.GetXaxis().GetNbins()+2) # bin down 81 | y1 = hist.GetBinContent( bU ) 82 | y2 = hist.GetBinContent( hist.GetMinimumBin() ) 83 | y3 = hist.GetBinContent( bD ) 84 | deltay = (hist.GetYaxis().GetBinCenter(by+1) - hist.GetYaxis().GetBinCenter(by-1))/2.0 85 | y0 = hist.GetYaxis().GetBinCenter(by-1) + ((4.0*(y2-y1)-(y3-y1))*(-deltay)) / (2.0*(y3-y1)-4.0*(y2-y1)) 86 | 87 | cm = PyROOTUtils.CrossMarker( 88 | x0, 89 | y0, 90 | markerColor=color, 91 | ) 92 | return cm 93 | 94 | def drawContours( filename, histname, lineWidth=2, color=ROOT.kBlack, lineStyle=ROOT.kSolid, level=2.3, levelName="68",scale=1.0,drawStyle="L",drawSmallestBinMarker=False,printSamllestBinMarkerCoordinates=False ): 95 | f = ROOT.TFile.Open( filename, "READ" ) 96 | if not f: return None 97 | 98 | h = f.Get(histname) 99 | container.append(h) 100 | 101 | contours = getContours( h,level,levelName,scale=scale ) 102 | for c in contours: 103 | c.SetLineColor( color ) 104 | c.SetLineWidth( lineWidth ) 105 | c.SetLineStyle( lineStyle ) 106 | c.SetFillColor( color ) 107 | c.Draw( drawStyle ) 108 | 109 | if drawSmallestBinMarker: 110 | # m = getSmallestBinMarker( h,color ) 111 | # m.Draw() 112 | # container.append( m ) 113 | m2 = getInterpolatedMinimumMarker( h,color ) 114 | m2.Draw() 115 | container.append( m2 ) 116 | if printSamllestBinMarkerCoordinates: 117 | print( "Smallest bin marker: ("+str(m2.GetX())+", "+str(m2.GetY()) ) 118 | 119 | openFiles.append( f ) 120 | container.append( contours ) 121 | return contours 122 | 123 | def drawH( filename, histname ): 124 | f = ROOT.TFile.Open( filename, "READ" ) 125 | h = f.Get(histname) 126 | h.SetStats( False ) 127 | h.SetContour( 100 ) 128 | #h.Scale( 2 ) 129 | h.SetMinimum( -1e-6 ) 130 | h.SetMaximum( 6 ) 131 | #h.GetZaxis().SetTitle( "-2 ln #Lambda" ) 132 | h.Draw("COLZ,SAME") 133 | container.append( h ) 134 | 135 | bFOrig = f.Get( histname+"_bestFit" ) 136 | bF = PyROOTUtils.CrossMarker( bFOrig.GetX(),bFOrig.GetY() ) 137 | bF.Draw() 138 | container.append( bF ) 139 | 140 | openFiles.append( f ) 141 | return (h,bF) 142 | 143 | 144 | def draw_muTmuW_frame( content, outFile, opts={}, r=[0.5,0.5,2.0,2.0] ): 145 | global openFiles 146 | 147 | canvas = ROOT.TCanvas( "canvas","canvas",600,600 ) 148 | axes = canvas.DrawFrame( r[0],r[1],r[2],r[3] ) 149 | axes.GetXaxis().SetTitle( "#mu^{f}_{ggF+ttH}" ) 150 | axes.GetYaxis().SetTitle( "#mu^{f}_{VBF+VH}" ) 151 | # axes.GetYaxis().SetTitleOffset( 1.2 ) 152 | 153 | SMMarker.Draw() 154 | 155 | content( opts=opts ) 156 | 157 | canvas.SaveAs( outFile ) 158 | [f.Close() for f in openFiles] 159 | openFiles = [] 160 | 161 | def draw_kVkF_frame( content, outFile, opts={}, r=[0.5,0.5,2.0,2.0] ): 162 | canvas = ROOT.TCanvas( "canvas","canvas",600,600 ) 163 | axes = canvas.DrawFrame( r[0],r[1],r[2],r[3] ) 164 | axes.GetXaxis().SetTitle( "#kappa_{V}" ) 165 | axes.GetYaxis().SetTitle( "#kappa_{F}" ) 166 | # axes.GetYaxis().SetTitleOffset( 1.2 ) 167 | 168 | SMMarker.Draw() 169 | 170 | content( opts=opts ) 171 | 172 | canvas.SaveAs( outFile ) 173 | 174 | 175 | def draw_kGlukGamma_frame( content, outFile, opts={}, r=[0.5,0.5,2.0,2.0] ): 176 | canvas = ROOT.TCanvas( "canvas","canvas",600,600 ) 177 | axes = canvas.DrawFrame( r[0],r[1],r[2],r[3] ) 178 | axes.GetXaxis().SetTitle( "#kappa_{#gamma}" ) 179 | axes.GetYaxis().SetTitle( "#kappa_{g}" ) 180 | # axes.GetYaxis().SetTitleOffset( 1.2 ) 181 | 182 | SMMarker.Draw() 183 | 184 | content( opts=opts ) 185 | 186 | canvas.SaveAs( outFile ) 187 | -------------------------------------------------------------------------------- /Plot/etas.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | # Created on: December 16, 2013 4 | 5 | __author__ = "Sven Kreiss, Kyle Cranmer" 6 | __version__ = "0.1" 7 | 8 | __description__ = """ 9 | Requires Decouple package in Pythonpath. 10 | """ 11 | 12 | if __name__ == "__main__": 13 | import optparse 14 | parser = optparse.OptionParser(version=__version__) 15 | parser.add_option("-i", "--input", dest="input", default=None, help="Input pickle file.") 16 | parser.add_option("-o", "--output", dest="output", default="output/etas/", help="output directory.") 17 | options,args = parser.parse_args() 18 | 19 | 20 | import ROOT 21 | if __name__ == "__main__": ROOT.gROOT.SetBatch( True ) 22 | import PyROOTUtils 23 | PyROOTUtils.style() 24 | import os 25 | 26 | import pickle 27 | import Decouple.effectiveModel 28 | import math 29 | from parameterNames import parameterNames 30 | 31 | container = [] 32 | 33 | 34 | 35 | def drawArrows( etas, muIn={'muT':1.0,'muW':1.0}, npVal=1.0, lineWidth=3.0, cut=0.03, template=10, flipSign=True ): 36 | 37 | m = Decouple.effectiveModel.EffectiveParametrization() 38 | m.extractNuisanceParametersFromEtas(etas) 39 | m.template = template 40 | 41 | arrows = [] 42 | color = 1 43 | for p in m.nuisanceParameters.keys(): 44 | # color: always increase color no matter whether this will be skipped to keep it "in sync" 45 | # and skip the color blacklist 46 | color += 1 47 | while color in [5,10]: color += 1 48 | 49 | if type(npVal) == float: 50 | thisNpVal = npVal 51 | else: 52 | thisNpVal = npVal[p] 53 | 54 | if flipSign: m.nuisanceParameters[p] = -thisNpVal 55 | else: m.nuisanceParameters[p] = thisNpVal 56 | muOut = m.responseFunction(muIn,etas) 57 | m.nuisanceParameters[p] = 0.0 58 | 59 | length = math.sqrt( 60 | (muOut['muT']-muIn['muT'])*(muOut['muT']-muIn['muT']) + 61 | (muOut['muW']-muIn['muW'])*(muOut['muW']-muIn['muW']) 62 | ) 63 | if length < cut: continue 64 | 65 | a = ROOT.TArrow( muIn['muT'],muIn['muW'], muOut['muT'],muOut['muW'], 0.01*lineWidth, "|>" ) 66 | a.SetLineColor(color) 67 | a.SetFillColor(color) 68 | a.SetLineWidth(int(lineWidth)) 69 | a.Draw() 70 | arrows.append( (a,p) ) 71 | 72 | return arrows 73 | 74 | 75 | def drawAllArrows( allEtas, cut=0.03, detailed=False ): 76 | for etasName,etas in allEtas.iteritems(): 77 | canvas = ROOT.TCanvas( "c1","c1", 600, 600 ) 78 | 79 | if detailed: axes = canvas.DrawFrame( 0.48,0.48,1.62,1.82 ) 80 | else: axes = canvas.DrawFrame( 0.58,0.58,1.42,1.42 ) 81 | axes.GetXaxis().SetTitle( "#mu^{f}_{ggF+ttH}" ) 82 | axes.GetYaxis().SetTitle( "#mu^{f}_{VBF+VH}" ) 83 | #axes.GetYaxis().SetTitleOffset( 1.2 ) 84 | 85 | template = 0 86 | if 'generic' in etasName: template = 10 87 | if 'generic10' in etasName: template = 10 88 | if 'generic14' in etasName: template = 14 89 | if 'generic20' in etasName: template = 20 90 | if 'generic24' in etasName: template = 24 91 | print( "For "+etasName+" chose template "+str(template)+"." ) 92 | 93 | scanPoints = [{'muT':1.0, 'muW':1.0}] 94 | npVals = [(1.0,3.0)] # nuis par values and line widths 95 | if detailed: 96 | scanPoints = [{'muT':1.0, 'muW':1.0},{'muT':1.3, 'muW':1.0},{'muT':1.0, 'muW':1.3}] 97 | npVals = [(-1.0,1.5),(1.0,2.5)] 98 | for muIn in scanPoints: 99 | for npVal,lineWidth in npVals: 100 | arrows = drawArrows( etas, muIn, npVal, lineWidth, cut, template=template ) 101 | container.append(arrows) 102 | 103 | leg = PyROOTUtils.Legend( 0.2,0.85, textSize=0.035 ) 104 | for a,p in arrows: 105 | leg.AddEntry( a, parameterNames[p.replace("alpha_","")], "L" ) 106 | leg.Draw() 107 | 108 | if cut > 0.0: 109 | PyROOTUtils.DrawText( 0.2,0.88, "showing only |#eta| > %.0f%%" % (cut*100.0), textSize=0.035 ) 110 | if detailed: 111 | PyROOTUtils.DrawText( 0.2, 0.25, "positive variation thick\nnegative variation thin", textSize=0.035 ) 112 | 113 | if detailed: canvas.SaveAs( options.output+etasName+"_detailed.eps" ) 114 | else: canvas.SaveAs( options.output+etasName+".eps" ) 115 | 116 | 117 | def convertEtasDictToTex( etasDict, selectChannel=None ): 118 | """ expects a dict where top level is the channel and then under it are the two 119 | axes muT and muW """ 120 | 121 | byParameters = {} 122 | columns = [] 123 | for channel,parameters in etasDict.iteritems(): 124 | if selectChannel and channel not in selectChannel: continue 125 | 126 | for p,axes in parameters.iteritems(): 127 | for axis,eta in axes.iteritems(): 128 | if p not in byParameters.keys(): byParameters[p] = {} 129 | if channel+"_"+axis not in columns: columns.append( channel+"_"+axis ) 130 | byParameters[p][channel+"_"+axis] = eta 131 | 132 | columns=sorted(columns) 133 | 134 | # store header 135 | header = "parameter & " + (" \t& ".join( ["$\eta_{\\textrm{"+c+"}}$" for c in columns] )) + "\n" 136 | 137 | # row 138 | out = "" 139 | for p,values in sorted(byParameters.iteritems()): 140 | formattedP = p.replace("_", " ") 141 | formattedP = formattedP.replace("alpha ","") 142 | out += formattedP+" \t& " 143 | formattedValues = [] 144 | for c in columns: 145 | if c in values.keys() and abs(values[c]) > 0.001: 146 | formattedValues.append( "$%+.2f\\%%$" % (values[c]*100.0) ) 147 | else: 148 | formattedValues.append( "$-$" ) 149 | out += " \t& ".join( formattedValues ) 150 | out += " \\\\ \n" 151 | 152 | return "%%"+header+out 153 | 154 | 155 | def convertEtasDictToPy( etasDict ): 156 | """ expects a dict where top level is the channel and then under it are the two 157 | axes muT and muW """ 158 | 159 | out = "etas = {\n" 160 | for channel,parameters in etasDict.iteritems(): 161 | out += "\t'"+channel+"': {\n" 162 | for parameter,axes in parameters.iteritems(): 163 | out += "\t\t'"+parameter+"': { "+(', '.join([ "'"+axis+"': "+str(eta) for axis,eta in sorted(axes.iteritems()) ]))+" },\n" 164 | out += "\t},\n" 165 | out += "}" 166 | 167 | return out 168 | 169 | 170 | 171 | def main(): 172 | os.system('mkdir -p '+options.output) 173 | 174 | with open(options.input, "rb") as f: 175 | allEtas = pickle.load( f ) 176 | 177 | drawAllArrows( allEtas ) 178 | drawAllArrows( allEtas, detailed=True ) 179 | 180 | latexTable = convertEtasDictToTex( allEtas, selectChannel=["fisherInfo","covarianceMatrix","partialDerivatives"] ) 181 | print( latexTable ) 182 | with open( options.output+"table_etas.tex", "w" ) as f: 183 | f.write( str(latexTable) ) 184 | 185 | pyTable = convertEtasDictToPy( allEtas ) 186 | print( pyTable ) 187 | with open( options.output+"table_etas.py", "w" ) as f: 188 | f.write( str(pyTable) ) 189 | 190 | 191 | 192 | if __name__ == "__main__": 193 | main() 194 | -------------------------------------------------------------------------------- /ModelGenerators/Makefile: -------------------------------------------------------------------------------- 1 | 2 | # 26 Nov 2013 3 | # Sven Kreiss, Kyle Cranmer 4 | 5 | all: twoBin atlas_counting 6 | 7 | 8 | 9 | twoBin: 10 | @echo "\n=== Making two bin counting models. ===" 11 | python twoBinCountingModel.py --scenario=-1 --name=oneAlpha_catUniversal 12 | python twoBinCountingModel.py --scenario=-2 --name=oneAlpha_catNonUniversal 13 | python twoBinCountingModel.py --scenario=-3 --name=twoAlpha_catUniversal 14 | python twoBinCountingModel.py --scenario=-4 --name=twoAlpha_catNonUniversal 15 | 16 | python twoBinCountingModel.py --scenario=1 --name=scenarioA 17 | python twoBinCountingModel.py --scenario=1.1 --name=scenarioA2 18 | python twoBinCountingModel.py --scenario=2 --name=scenarioB 19 | python twoBinCountingModel.py --scenario=3 --name=scenarioC 20 | python twoBinCountingModel.py --scenario=3.1 --name=scenarioC2 21 | python twoBinCountingModel.py --scenario=4 --name=scenarioD 22 | 23 | python twoBinCountingModel.py --scenario=1 --additiveMu --name=scenarioA_additiveMu 24 | python twoBinCountingModel.py --scenario=1.1 --additiveMu --name=scenarioA2_additiveMu 25 | python twoBinCountingModel.py --scenario=2 --additiveMu --name=scenarioB_additiveMu 26 | python twoBinCountingModel.py --scenario=3 --additiveMu --name=scenarioC_additiveMu 27 | python twoBinCountingModel.py --scenario=3.1 --additiveMu --name=scenarioC2_additiveMu 28 | python twoBinCountingModel.py --scenario=4 --additiveMu --name=scenarioD_additiveMu 29 | 30 | $(MAKE) twoBin_interpCode0_workpsaces 31 | $(MAKE) twoBin_box_workspaces 32 | $(MAKE) twoBin_wideGauss_workspaces 33 | 34 | atlas_counting: 35 | @echo "\n=== Making atlas counting model. ===" 36 | python atlasCountingModel.py 37 | 38 | $(MAKE) atlas_interpCode0_workspaces 39 | $(MAKE) atlas_box_workspaces 40 | $(MAKE) atlas_wideGauss_workspaces 41 | 42 | 43 | 44 | 45 | ################################### 46 | # interpcode=0 workspaces 47 | 48 | %_interpCode0.root: %.root 49 | python switchInterpCode.py --interpCode=0 \ 50 | -i $< \ 51 | -o $@ 52 | 53 | twoBin_interpCode0_workpsaces: \ 54 | ../output/twoBin/oneAlpha_catUniversal_interpCode0.root \ 55 | ../output/twoBin/oneAlpha_catNonUniversal_interpCode0.root \ 56 | ../output/twoBin/twoAlpha_catUniversal_interpCode0.root \ 57 | ../output/twoBin/twoAlpha_catNonUniversal_interpCode0.root \ 58 | \ 59 | ../output/twoBin/scenarioA_interpCode0.root \ 60 | ../output/twoBin/scenarioA2_interpCode0.root \ 61 | ../output/twoBin/scenarioB_interpCode0.root \ 62 | ../output/twoBin/scenarioC_interpCode0.root \ 63 | ../output/twoBin/scenarioC2_interpCode0.root \ 64 | ../output/twoBin/scenarioD_interpCode0.root \ 65 | \ 66 | ../output/twoBin/scenarioA_additiveMu_interpCode0.root \ 67 | ../output/twoBin/scenarioA2_additiveMu_interpCode0.root \ 68 | ../output/twoBin/scenarioB_additiveMu_interpCode0.root \ 69 | ../output/twoBin/scenarioC_additiveMu_interpCode0.root \ 70 | ../output/twoBin/scenarioC2_additiveMu_interpCode0.root \ 71 | ../output/twoBin/scenarioD_additiveMu_interpCode0.root 72 | @echo "done creating interpCode0 workspaces." 73 | 74 | atlas_interpCode0_workspaces: \ 75 | ../output/atlas_counting/comb_interpCode0.root \ 76 | ../output/atlas_counting/2ph_interpCode0.root \ 77 | ../output/atlas_counting/4l_interpCode0.root \ 78 | ../output/atlas_counting/lvlv_interpCode0.root 79 | @echo "done creating interpCode0 workspaces." 80 | 81 | 82 | 83 | 84 | 85 | ################################### 86 | # box constraint workspaces 87 | 88 | %_box.root: %.root 89 | python toBoxConstraint.py -i $< --centeredAtMLE 90 | 91 | twoBin_box_workspaces: \ 92 | ../output/twoBin/scenarioA_box.root \ 93 | ../output/twoBin/scenarioA2_box.root \ 94 | ../output/twoBin/scenarioB_box.root \ 95 | ../output/twoBin/scenarioC_box.root \ 96 | ../output/twoBin/scenarioC2_box.root \ 97 | ../output/twoBin/scenarioD_box.root \ 98 | \ 99 | ../output/twoBin/scenarioA_interpCode0_box.root \ 100 | ../output/twoBin/scenarioA2_interpCode0_box.root \ 101 | ../output/twoBin/scenarioB_interpCode0_box.root \ 102 | ../output/twoBin/scenarioC_interpCode0_box.root \ 103 | ../output/twoBin/scenarioC2_interpCode0_box.root \ 104 | ../output/twoBin/scenarioD_interpCode0_box.root 105 | @echo "done creating twoBin box workspaces." 106 | 107 | atlas_box_workspaces: \ 108 | ../output/atlas_counting/comb_box.root \ 109 | ../output/atlas_counting/2ph_box.root \ 110 | ../output/atlas_counting/4l_box.root \ 111 | ../output/atlas_counting/lvlv_box.root \ 112 | ../output/atlas_counting/comb_interpCode0_box.root \ 113 | ../output/atlas_counting/2ph_interpCode0_box.root \ 114 | ../output/atlas_counting/4l_interpCode0_box.root \ 115 | ../output/atlas_counting/lvlv_interpCode0_box.root 116 | @echo "done creating atlas counting box workspaces." 117 | 118 | 119 | 120 | ################################### 121 | # wideGauss constraint workspaces 122 | 123 | %_wideGauss.root: %.root 124 | python toBoxConstraint.py -i $< --wideGauss 125 | 126 | twoBin_wideGauss_workspaces: \ 127 | ../output/twoBin/scenarioA_wideGauss.root \ 128 | ../output/twoBin/scenarioA2_wideGauss.root \ 129 | ../output/twoBin/scenarioB_wideGauss.root \ 130 | ../output/twoBin/scenarioC_wideGauss.root \ 131 | ../output/twoBin/scenarioC2_wideGauss.root \ 132 | ../output/twoBin/scenarioD_wideGauss.root \ 133 | \ 134 | ../output/twoBin/scenarioA_interpCode0_wideGauss.root \ 135 | ../output/twoBin/scenarioA2_interpCode0_wideGauss.root \ 136 | ../output/twoBin/scenarioB_interpCode0_wideGauss.root \ 137 | ../output/twoBin/scenarioC_interpCode0_wideGauss.root \ 138 | ../output/twoBin/scenarioC2_interpCode0_wideGauss.root \ 139 | ../output/twoBin/scenarioD_interpCode0_wideGauss.root 140 | @echo "done creating twoBin box workspaces." 141 | 142 | atlas_wideGauss_workspaces: \ 143 | ../output/atlas_counting/comb_wideGauss.root \ 144 | ../output/atlas_counting/2ph_wideGauss.root \ 145 | ../output/atlas_counting/4l_wideGauss.root \ 146 | ../output/atlas_counting/lvlv_wideGauss.root \ 147 | ../output/atlas_counting/comb_interpCode0_wideGauss.root \ 148 | ../output/atlas_counting/2ph_interpCode0_wideGauss.root \ 149 | ../output/atlas_counting/4l_interpCode0_wideGauss.root \ 150 | ../output/atlas_counting/lvlv_interpCode0_wideGauss.root 151 | @echo "done creating atlas counting box workspaces." 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | makeAtlasInputFile: 169 | @echo "\n=== Making the input file for ATLAS. ===" 170 | python makeAtlasInputFile.py 171 | 172 | makeCountingInputFile: 173 | @echo "\n=== Making the counting model file. ===" 174 | python makeCountingInputFile.py 175 | 176 | makeTwoBinInputFile: 177 | @echo "\n=== Making the two bin model file. ===" 178 | python makeTwoBinInputFile.py 179 | 180 | 181 | -------------------------------------------------------------------------------- /plotsForPaper/twoBin/scenarioB_interpCode0_etas_fisherInfo.eps: -------------------------------------------------------------------------------- 1 | %!PS-Adobe-2.0 EPSF-2.0 2 | %%BoundingBox: 0 0 567 544 3 | %%Title: plots/twoBin/scenarioB_interpCode0_etas/fisherInfo.eps: c1 4 | %%Creator: ROOT Version 5.34/13 5 | %%CreationDate: Wed Dec 18 17:23:35 2013 6 | %%EndComments 7 | %%BeginProlog 8 | 80 dict begin 9 | /s {stroke} def /l {lineto} def /m {moveto} def /t {translate} def 10 | /r {rotate} def /rl {roll} def /R {repeat} def 11 | /d {rlineto} def /rm {rmoveto} def /gr {grestore} def /f {eofill} def 12 | /c {setrgbcolor} def /black {0 setgray} def /sd {setdash} def 13 | /cl {closepath} def /sf {scalefont setfont} def /lw {setlinewidth} def 14 | /box {m dup 0 exch d exch 0 d 0 exch neg d cl} def 15 | /NC{systemdict begin initclip end}def/C{NC box clip newpath}def 16 | /bl {box s} def /bf {box f} def /Y { 0 exch d} def /X { 0 d} def 17 | /K {{pop pop 0 moveto} exch kshow} bind def 18 | /ita {/ang 15 def gsave [1 0 ang dup sin exch cos div 1 0 0] concat} def 19 | /mp {newpath /y exch def /x exch def} def 20 | /side {[w .77 mul w .23 mul] .385 w mul sd w 0 l currentpoint t -144 r} def 21 | /mr {mp x y w2 0 360 arc} def /m24 {mr s} def /m20 {mr f} def 22 | /mb {mp x y w2 add m w2 neg 0 d 0 w neg d w 0 d 0 w d cl} def 23 | /mt {mp x y w2 add m w2 neg w neg d w 0 d cl} def 24 | /m21 {mb f} def /m25 {mb s} def /m22 {mt f} def /m26{mt s} def 25 | /m23 {mp x y w2 sub m w2 w d w neg 0 d cl f} def 26 | /m27 {mp x y w2 add m w3 neg w2 neg d w3 w2 neg d w3 w2 d cl s} def 27 | /m28 {mp x w2 sub y w2 sub w3 add m w3 0 d 0 w3 neg d w3 0 d 0 w3 d w3 0 d 0 w3 d w3 neg 0 d 0 w3 d w3 neg 0 d 0 w3 neg d w3 neg 0 d cl s } def 28 | /m29 {mp gsave x w2 sub y w2 add w3 sub m currentpoint t 4 {side} repeat cl fill gr} def 29 | /m30 {mp gsave x w2 sub y w2 add w3 sub m currentpoint t 4 {side} repeat cl s gr} def 30 | /m31 {mp x y w2 sub m 0 w d x w2 sub y m w 0 d x w2 sub y w2 add m w w neg d x w2 sub y w2 sub m w w d s} def 31 | /m32 {mp x y w2 sub m w2 w d w neg 0 d cl s} def 32 | /m33 {mp x y w2 add m w3 neg w2 neg d w3 w2 neg d w3 w2 d cl f} def 33 | /m34 {mp x w2 sub y w2 sub w3 add m w3 0 d 0 w3 neg d w3 0 d 0 w3 d w3 0 d 0 w3 d w3 neg 0 d 0 w3 d w3 neg 0 d 0 w3 neg d w3 neg 0 d cl f } def 34 | /m2 {mp x y w2 sub m 0 w d x w2 sub y m w 0 d s} def 35 | /m5 {mp x w2 sub y w2 sub m w w d x w2 sub y w2 add m w w neg d s} def 36 | /reEncode {exch findfont dup length dict begin {1 index /FID eq {pop pop} {def} ifelse } forall /Encoding exch def currentdict end dup /FontName get exch definefont pop } def [/Times-Bold /Times-Italic /Times-BoldItalic /Helvetica /Helvetica-Oblique 37 | /Helvetica-Bold /Helvetica-BoldOblique /Courier /Courier-Oblique /Courier-Bold /Courier-BoldOblique /Times-Roman /AvantGarde-Book /AvantGarde-BookOblique /AvantGarde-Demi /AvantGarde-DemiOblique /Bookman-Demi /Bookman-DemiItalic /Bookman-Light 38 | /Bookman-LightItalic /Helvetica-Narrow /Helvetica-Narrow-Bold /Helvetica-Narrow-BoldOblique /Helvetica-Narrow-Oblique /NewCenturySchlbk-Roman /NewCenturySchlbk-Bold /NewCenturySchlbk-BoldItalic /NewCenturySchlbk-Italic /Palatino-Bold 39 | /Palatino-BoldItalic /Palatino-Italic /Palatino-Roman ] {ISOLatin1Encoding reEncode } forall 40 | %%EndProlog 41 | %%BeginSetup 42 | %%EndSetup 43 | newpath gsave .25 .25 scale gsave 0 0 t black[ ] 0 sd 3 lw 1 1 1 c 2268 2176 0 0 bf black 1 1 1 c 1791 1720 363 348 bf black 1791 1720 363 348 bl 1 1 1 c 1791 1720 363 348 bf black 1791 1720 363 348 bl 363 348 m 1791 X s 44 | gsave 2268 2176 0 0 C 1989.96 133.171 t 0 r /Helvetica findfont 45.6587 sf 0 0 m (ggF+ttH) show NC gr 45 | gsave 2268 2176 0 0 C 1989.96 197.854 t 0 r /Helvetica findfont 45.6587 sf 0 0 m (f) show NC gr 46 | gsave 2268 2176 0 0 C 1948.11 175.025 t 0 r /Symbol findfont 72.293 sf 0 0 m (m) show NC gr 419 400 m -52 Y s 475 374 m -26 Y s 531 374 m -26 Y s 587 374 m -26 Y s 643 374 m -26 Y s 699 400 m -52 Y s 755 374 m -26 Y s 811 374 m -26 Y s 867 374 m 47 | -26 Y s 923 374 m -26 Y s 979 400 m -52 Y s 1035 374 m -26 Y s 1091 374 m -26 Y s 1147 374 m -26 Y s 1203 374 m -26 Y s 1259 400 m -52 Y s 1315 374 m -26 Y s 1371 374 m -26 Y s 1427 374 m -26 Y s 1483 374 m -26 Y s 1539 400 m -52 Y s 1594 374 m -26 48 | Y s 1650 374 m -26 Y s 1706 374 m -26 Y s 1762 374 m -26 Y s 1818 400 m -52 Y s 1874 374 m -26 Y s 1930 374 m -26 Y s 1986 374 m -26 Y s 2042 374 m -26 Y s 2098 400 m -52 Y s 419 400 m -52 Y s 363 374 m -26 Y s 2098 400 m -52 Y s 2154 374 m -26 Y s 49 | gsave 2268 2176 0 0 C 369.075 277.757 t 0 r /Helvetica findfont 72.293 sf 0 0 m (0.7) show NC gr 50 | gsave 2268 2176 0 0 C 646.832 277.757 t 0 r /Helvetica findfont 72.293 sf 0 0 m (0.8) show NC gr 51 | gsave 2268 2176 0 0 C 928.394 277.757 t 0 r /Helvetica findfont 72.293 sf 0 0 m (0.9) show NC gr 52 | gsave 2268 2176 0 0 C 1240.4 277.757 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1) show NC gr 53 | gsave 2268 2176 0 0 C 1491.52 277.757 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1.1) show NC gr 54 | gsave 2268 2176 0 0 C 1765.47 277.757 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1.2) show NC gr 55 | gsave 2268 2176 0 0 C 2047.03 277.757 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1.3) show NC gr 363 2068 m 1791 X s 419 2016 m 52 Y s 475 2042 m 26 Y s 531 2042 m 26 Y s 587 2042 m 26 Y s 643 2042 m 26 Y s 699 2016 m 52 Y s 755 2042 m 26 Y s 811 56 | 2042 m 26 Y s 867 2042 m 26 Y s 923 2042 m 26 Y s 979 2016 m 52 Y s 1035 2042 m 26 Y s 1091 2042 m 26 Y s 1147 2042 m 26 Y s 1203 2042 m 26 Y s 1259 2016 m 52 Y s 1315 2042 m 26 Y s 1371 2042 m 26 Y s 1427 2042 m 26 Y s 1483 2042 m 26 Y s 1539 2016 57 | m 52 Y s 1594 2042 m 26 Y s 1650 2042 m 26 Y s 1706 2042 m 26 Y s 1762 2042 m 26 Y s 1818 2016 m 52 Y s 1874 2042 m 26 Y s 1930 2042 m 26 Y s 1986 2042 m 26 Y s 2042 2042 m 26 Y s 2098 2016 m 52 Y s 419 2016 m 52 Y s 363 2042 m 26 Y s 2098 2016 m 52 58 | Y s 2154 2042 m 26 Y s 363 348 m 1720 Y s 59 | gsave 2268 2176 0 0 C 232.099 1891.03 t 90 r /Helvetica findfont 45.6587 sf 0 0 m (VBF+VH) show NC gr 60 | gsave 2268 2176 0 0 C 167.415 1891.03 t 90 r /Helvetica findfont 45.6587 sf 0 0 m (f) show NC gr 61 | gsave 2268 2176 0 0 C 190.245 1849.18 t 90 r /Symbol findfont 72.293 sf 0 0 m (m) show NC gr 417 402 m -54 X s 390 456 m -27 X s 390 509 m -27 X s 390 563 m -27 X s 390 617 m -27 X s 417 671 m -54 X s 390 724 m -27 X s 390 778 m -27 X s 390 832 m 62 | -27 X s 390 886 m -27 X s 417 939 m -54 X s 390 993 m -27 X s 390 1047 m -27 X s 390 1100 m -27 X s 390 1154 m -27 X s 417 1208 m -54 X s 390 1262 m -27 X s 390 1315 m -27 X s 390 1369 m -27 X s 390 1423 m -27 X s 417 1477 m -54 X s 390 1530 m -27 X 63 | s 390 1584 m -27 X s 390 1638 m -27 X s 390 1691 m -27 X s 417 1745 m -54 X s 390 1799 m -27 X s 390 1853 m -27 X s 390 1906 m -27 X s 390 1960 m -27 X s 417 2014 m -54 X s 417 402 m -54 X s 390 348 m -27 X s 417 2014 m -54 X s 390 2068 m -27 X s 64 | gsave 2268 2176 0 0 C 251.123 376.684 t 0 r /Helvetica findfont 72.293 sf 0 0 m (0.7) show NC gr 65 | gsave 2268 2176 0 0 C 251.123 646.832 t 0 r /Helvetica findfont 72.293 sf 0 0 m (0.8) show NC gr 66 | gsave 2268 2176 0 0 C 251.123 913.174 t 0 r /Helvetica findfont 72.293 sf 0 0 m (0.9) show NC gr 67 | gsave 2268 2176 0 0 C 323.416 1179.52 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1) show NC gr 68 | gsave 2268 2176 0 0 C 262.538 1449.66 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1.1) show NC gr 69 | gsave 2268 2176 0 0 C 251.123 1716.01 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1.2) show NC gr 70 | gsave 2268 2176 0 0 C 251.123 1989.96 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1.3) show NC gr 2154 348 m 1720 Y s 2101 402 m 53 X s 2127 456 m 27 X s 2127 509 m 27 X s 2127 563 m 27 X s 2127 617 m 27 X s 2101 671 m 53 X s 2127 724 m 27 X s 2127 71 | 778 m 27 X s 2127 832 m 27 X s 2127 886 m 27 X s 2101 939 m 53 X s 2127 993 m 27 X s 2127 1047 m 27 X s 2127 1100 m 27 X s 2127 1154 m 27 X s 2101 1208 m 53 X s 2127 1262 m 27 X s 2127 1315 m 27 X s 2127 1369 m 27 X s 2127 1423 m 27 X s 2101 1477 m 72 | 53 X s 2127 1530 m 27 X s 2127 1584 m 27 X s 2127 1638 m 27 X s 2127 1691 m 27 X s 2101 1745 m 53 X s 2127 1799 m 27 X s 2127 1853 m 27 X s 2127 1906 m 27 X s 2127 1960 m 27 X s 2101 2014 m 53 X s 2101 402 m 53 X s 2127 348 m 27 X s 2101 2014 m 53 X 73 | s 2127 2068 m 27 X s 1 0 0 c 9 lw 1259 1208 m 253 554 d s 3 lw 1487 1774 m 45 32 d 5 -55 d f 9 lw 1487 1774 m 45 32 d 5 -55 d -50 23 d cl s black 74 | gsave 2268 2176 0 0 C 555.514 460.392 t 0 r /Helvetica findfont 60.8783 sf 0 0 m (sys) show NC gr 1 0 0 c 469 478 m 71 X s black 75 | gsave 2268 2176 0 0 C 905.565 1917.67 t 0 r /Helvetica-Bold findfont 60.8783 sf 0 0 m (| > 3%) show NC gr 76 | gsave 2268 2176 0 0 C 871.321 1917.67 t 0 r /Symbol findfont 60.8783 sf 0 0 m (h) show NC gr 77 | gsave 2268 2176 0 0 C 452.782 1917.67 t 0 r /Helvetica-Bold findfont 60.8783 sf 0 0 m (showing only |) show NC gr 78 | gr gr showpage 79 | end 80 | %%EOF 81 | -------------------------------------------------------------------------------- /plotsForPaper/twoBin/scenarioA_interpCode0_etas_fisherInfo.eps: -------------------------------------------------------------------------------- 1 | %!PS-Adobe-2.0 EPSF-2.0 2 | %%BoundingBox: 0 0 567 544 3 | %%Title: plots/twoBin/scenarioA_interpCode0_etas/fisherInfo.eps: c1 4 | %%Creator: ROOT Version 5.34/13 5 | %%CreationDate: Wed Dec 18 17:23:34 2013 6 | %%EndComments 7 | %%BeginProlog 8 | 80 dict begin 9 | /s {stroke} def /l {lineto} def /m {moveto} def /t {translate} def 10 | /r {rotate} def /rl {roll} def /R {repeat} def 11 | /d {rlineto} def /rm {rmoveto} def /gr {grestore} def /f {eofill} def 12 | /c {setrgbcolor} def /black {0 setgray} def /sd {setdash} def 13 | /cl {closepath} def /sf {scalefont setfont} def /lw {setlinewidth} def 14 | /box {m dup 0 exch d exch 0 d 0 exch neg d cl} def 15 | /NC{systemdict begin initclip end}def/C{NC box clip newpath}def 16 | /bl {box s} def /bf {box f} def /Y { 0 exch d} def /X { 0 d} def 17 | /K {{pop pop 0 moveto} exch kshow} bind def 18 | /ita {/ang 15 def gsave [1 0 ang dup sin exch cos div 1 0 0] concat} def 19 | /mp {newpath /y exch def /x exch def} def 20 | /side {[w .77 mul w .23 mul] .385 w mul sd w 0 l currentpoint t -144 r} def 21 | /mr {mp x y w2 0 360 arc} def /m24 {mr s} def /m20 {mr f} def 22 | /mb {mp x y w2 add m w2 neg 0 d 0 w neg d w 0 d 0 w d cl} def 23 | /mt {mp x y w2 add m w2 neg w neg d w 0 d cl} def 24 | /m21 {mb f} def /m25 {mb s} def /m22 {mt f} def /m26{mt s} def 25 | /m23 {mp x y w2 sub m w2 w d w neg 0 d cl f} def 26 | /m27 {mp x y w2 add m w3 neg w2 neg d w3 w2 neg d w3 w2 d cl s} def 27 | /m28 {mp x w2 sub y w2 sub w3 add m w3 0 d 0 w3 neg d w3 0 d 0 w3 d w3 0 d 0 w3 d w3 neg 0 d 0 w3 d w3 neg 0 d 0 w3 neg d w3 neg 0 d cl s } def 28 | /m29 {mp gsave x w2 sub y w2 add w3 sub m currentpoint t 4 {side} repeat cl fill gr} def 29 | /m30 {mp gsave x w2 sub y w2 add w3 sub m currentpoint t 4 {side} repeat cl s gr} def 30 | /m31 {mp x y w2 sub m 0 w d x w2 sub y m w 0 d x w2 sub y w2 add m w w neg d x w2 sub y w2 sub m w w d s} def 31 | /m32 {mp x y w2 sub m w2 w d w neg 0 d cl s} def 32 | /m33 {mp x y w2 add m w3 neg w2 neg d w3 w2 neg d w3 w2 d cl f} def 33 | /m34 {mp x w2 sub y w2 sub w3 add m w3 0 d 0 w3 neg d w3 0 d 0 w3 d w3 0 d 0 w3 d w3 neg 0 d 0 w3 d w3 neg 0 d 0 w3 neg d w3 neg 0 d cl f } def 34 | /m2 {mp x y w2 sub m 0 w d x w2 sub y m w 0 d s} def 35 | /m5 {mp x w2 sub y w2 sub m w w d x w2 sub y w2 add m w w neg d s} def 36 | /reEncode {exch findfont dup length dict begin {1 index /FID eq {pop pop} {def} ifelse } forall /Encoding exch def currentdict end dup /FontName get exch definefont pop } def [/Times-Bold /Times-Italic /Times-BoldItalic /Helvetica /Helvetica-Oblique 37 | /Helvetica-Bold /Helvetica-BoldOblique /Courier /Courier-Oblique /Courier-Bold /Courier-BoldOblique /Times-Roman /AvantGarde-Book /AvantGarde-BookOblique /AvantGarde-Demi /AvantGarde-DemiOblique /Bookman-Demi /Bookman-DemiItalic /Bookman-Light 38 | /Bookman-LightItalic /Helvetica-Narrow /Helvetica-Narrow-Bold /Helvetica-Narrow-BoldOblique /Helvetica-Narrow-Oblique /NewCenturySchlbk-Roman /NewCenturySchlbk-Bold /NewCenturySchlbk-BoldItalic /NewCenturySchlbk-Italic /Palatino-Bold 39 | /Palatino-BoldItalic /Palatino-Italic /Palatino-Roman ] {ISOLatin1Encoding reEncode } forall 40 | %%EndProlog 41 | %%BeginSetup 42 | %%EndSetup 43 | newpath gsave .25 .25 scale gsave 0 0 t black[ ] 0 sd 3 lw 1 1 1 c 2268 2176 0 0 bf black 1 1 1 c 1791 1720 363 348 bf black 1791 1720 363 348 bl 1 1 1 c 1791 1720 363 348 bf black 1791 1720 363 348 bl 363 348 m 1791 X s 44 | gsave 2268 2176 0 0 C 1989.96 133.171 t 0 r /Helvetica findfont 45.6587 sf 0 0 m (ggF+ttH) show NC gr 45 | gsave 2268 2176 0 0 C 1989.96 197.854 t 0 r /Helvetica findfont 45.6587 sf 0 0 m (f) show NC gr 46 | gsave 2268 2176 0 0 C 1948.11 175.025 t 0 r /Symbol findfont 72.293 sf 0 0 m (m) show NC gr 419 400 m -52 Y s 475 374 m -26 Y s 531 374 m -26 Y s 587 374 m -26 Y s 643 374 m -26 Y s 699 400 m -52 Y s 755 374 m -26 Y s 811 374 m -26 Y s 867 374 m 47 | -26 Y s 923 374 m -26 Y s 979 400 m -52 Y s 1035 374 m -26 Y s 1091 374 m -26 Y s 1147 374 m -26 Y s 1203 374 m -26 Y s 1259 400 m -52 Y s 1315 374 m -26 Y s 1371 374 m -26 Y s 1427 374 m -26 Y s 1483 374 m -26 Y s 1539 400 m -52 Y s 1594 374 m -26 48 | Y s 1650 374 m -26 Y s 1706 374 m -26 Y s 1762 374 m -26 Y s 1818 400 m -52 Y s 1874 374 m -26 Y s 1930 374 m -26 Y s 1986 374 m -26 Y s 2042 374 m -26 Y s 2098 400 m -52 Y s 419 400 m -52 Y s 363 374 m -26 Y s 2098 400 m -52 Y s 2154 374 m -26 Y s 49 | gsave 2268 2176 0 0 C 369.075 277.757 t 0 r /Helvetica findfont 72.293 sf 0 0 m (0.7) show NC gr 50 | gsave 2268 2176 0 0 C 646.832 277.757 t 0 r /Helvetica findfont 72.293 sf 0 0 m (0.8) show NC gr 51 | gsave 2268 2176 0 0 C 928.394 277.757 t 0 r /Helvetica findfont 72.293 sf 0 0 m (0.9) show NC gr 52 | gsave 2268 2176 0 0 C 1240.4 277.757 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1) show NC gr 53 | gsave 2268 2176 0 0 C 1491.52 277.757 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1.1) show NC gr 54 | gsave 2268 2176 0 0 C 1765.47 277.757 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1.2) show NC gr 55 | gsave 2268 2176 0 0 C 2047.03 277.757 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1.3) show NC gr 363 2068 m 1791 X s 419 2016 m 52 Y s 475 2042 m 26 Y s 531 2042 m 26 Y s 587 2042 m 26 Y s 643 2042 m 26 Y s 699 2016 m 52 Y s 755 2042 m 26 Y s 811 56 | 2042 m 26 Y s 867 2042 m 26 Y s 923 2042 m 26 Y s 979 2016 m 52 Y s 1035 2042 m 26 Y s 1091 2042 m 26 Y s 1147 2042 m 26 Y s 1203 2042 m 26 Y s 1259 2016 m 52 Y s 1315 2042 m 26 Y s 1371 2042 m 26 Y s 1427 2042 m 26 Y s 1483 2042 m 26 Y s 1539 2016 57 | m 52 Y s 1594 2042 m 26 Y s 1650 2042 m 26 Y s 1706 2042 m 26 Y s 1762 2042 m 26 Y s 1818 2016 m 52 Y s 1874 2042 m 26 Y s 1930 2042 m 26 Y s 1986 2042 m 26 Y s 2042 2042 m 26 Y s 2098 2016 m 52 Y s 419 2016 m 52 Y s 363 2042 m 26 Y s 2098 2016 m 52 58 | Y s 2154 2042 m 26 Y s 363 348 m 1720 Y s 59 | gsave 2268 2176 0 0 C 232.099 1891.03 t 90 r /Helvetica findfont 45.6587 sf 0 0 m (VBF+VH) show NC gr 60 | gsave 2268 2176 0 0 C 167.415 1891.03 t 90 r /Helvetica findfont 45.6587 sf 0 0 m (f) show NC gr 61 | gsave 2268 2176 0 0 C 190.245 1849.18 t 90 r /Symbol findfont 72.293 sf 0 0 m (m) show NC gr 417 402 m -54 X s 390 456 m -27 X s 390 509 m -27 X s 390 563 m -27 X s 390 617 m -27 X s 417 671 m -54 X s 390 724 m -27 X s 390 778 m -27 X s 390 832 m 62 | -27 X s 390 886 m -27 X s 417 939 m -54 X s 390 993 m -27 X s 390 1047 m -27 X s 390 1100 m -27 X s 390 1154 m -27 X s 417 1208 m -54 X s 390 1262 m -27 X s 390 1315 m -27 X s 390 1369 m -27 X s 390 1423 m -27 X s 417 1477 m -54 X s 390 1530 m -27 X 63 | s 390 1584 m -27 X s 390 1638 m -27 X s 390 1691 m -27 X s 417 1745 m -54 X s 390 1799 m -27 X s 390 1853 m -27 X s 390 1906 m -27 X s 390 1960 m -27 X s 417 2014 m -54 X s 417 402 m -54 X s 390 348 m -27 X s 417 2014 m -54 X s 390 2068 m -27 X s 64 | gsave 2268 2176 0 0 C 251.123 376.684 t 0 r /Helvetica findfont 72.293 sf 0 0 m (0.7) show NC gr 65 | gsave 2268 2176 0 0 C 251.123 646.832 t 0 r /Helvetica findfont 72.293 sf 0 0 m (0.8) show NC gr 66 | gsave 2268 2176 0 0 C 251.123 913.174 t 0 r /Helvetica findfont 72.293 sf 0 0 m (0.9) show NC gr 67 | gsave 2268 2176 0 0 C 323.416 1179.52 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1) show NC gr 68 | gsave 2268 2176 0 0 C 262.538 1449.66 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1.1) show NC gr 69 | gsave 2268 2176 0 0 C 251.123 1716.01 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1.2) show NC gr 70 | gsave 2268 2176 0 0 C 251.123 1989.96 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1.3) show NC gr 2154 348 m 1720 Y s 2101 402 m 53 X s 2127 456 m 27 X s 2127 509 m 27 X s 2127 563 m 27 X s 2127 617 m 27 X s 2101 671 m 53 X s 2127 724 m 27 X s 2127 71 | 778 m 27 X s 2127 832 m 27 X s 2127 886 m 27 X s 2101 939 m 53 X s 2127 993 m 27 X s 2127 1047 m 27 X s 2127 1100 m 27 X s 2127 1154 m 27 X s 2101 1208 m 53 X s 2127 1262 m 27 X s 2127 1315 m 27 X s 2127 1369 m 27 X s 2127 1423 m 27 X s 2101 1477 m 72 | 53 X s 2127 1530 m 27 X s 2127 1584 m 27 X s 2127 1638 m 27 X s 2127 1691 m 27 X s 2101 1745 m 53 X s 2127 1799 m 27 X s 2127 1853 m 27 X s 2127 1906 m 27 X s 2127 1960 m 27 X s 2101 2014 m 53 X s 2101 402 m 53 X s 2127 348 m 27 X s 2101 2014 m 53 X 73 | s 2127 2068 m 27 X s 1 0 0 c 9 lw 1259 1208 m 525 504 d s 3 lw 1765 1732 m 54 13 d -16 -53 d f 9 lw 1765 1732 m 54 13 d -16 -53 d -38 40 d cl s black 74 | gsave 2268 2176 0 0 C 555.514 460.392 t 0 r /Helvetica findfont 60.8783 sf 0 0 m (sys) show NC gr 1 0 0 c 469 478 m 71 X s black 75 | gsave 2268 2176 0 0 C 905.565 1917.67 t 0 r /Helvetica-Bold findfont 60.8783 sf 0 0 m (| > 3%) show NC gr 76 | gsave 2268 2176 0 0 C 871.321 1917.67 t 0 r /Symbol findfont 60.8783 sf 0 0 m (h) show NC gr 77 | gsave 2268 2176 0 0 C 452.782 1917.67 t 0 r /Helvetica-Bold findfont 60.8783 sf 0 0 m (showing only |) show NC gr 78 | gr gr showpage 79 | end 80 | %%EOF 81 | -------------------------------------------------------------------------------- /plotsForPaper/twoBin/scenarioC_interpCode0_etas_fisherInfo.eps: -------------------------------------------------------------------------------- 1 | %!PS-Adobe-2.0 EPSF-2.0 2 | %%BoundingBox: 0 0 567 544 3 | %%Title: plots/twoBin/scenarioC_interpCode0_etas/fisherInfo.eps: c1 4 | %%Creator: ROOT Version 5.34/13 5 | %%CreationDate: Wed Dec 18 17:23:36 2013 6 | %%EndComments 7 | %%BeginProlog 8 | 80 dict begin 9 | /s {stroke} def /l {lineto} def /m {moveto} def /t {translate} def 10 | /r {rotate} def /rl {roll} def /R {repeat} def 11 | /d {rlineto} def /rm {rmoveto} def /gr {grestore} def /f {eofill} def 12 | /c {setrgbcolor} def /black {0 setgray} def /sd {setdash} def 13 | /cl {closepath} def /sf {scalefont setfont} def /lw {setlinewidth} def 14 | /box {m dup 0 exch d exch 0 d 0 exch neg d cl} def 15 | /NC{systemdict begin initclip end}def/C{NC box clip newpath}def 16 | /bl {box s} def /bf {box f} def /Y { 0 exch d} def /X { 0 d} def 17 | /K {{pop pop 0 moveto} exch kshow} bind def 18 | /ita {/ang 15 def gsave [1 0 ang dup sin exch cos div 1 0 0] concat} def 19 | /mp {newpath /y exch def /x exch def} def 20 | /side {[w .77 mul w .23 mul] .385 w mul sd w 0 l currentpoint t -144 r} def 21 | /mr {mp x y w2 0 360 arc} def /m24 {mr s} def /m20 {mr f} def 22 | /mb {mp x y w2 add m w2 neg 0 d 0 w neg d w 0 d 0 w d cl} def 23 | /mt {mp x y w2 add m w2 neg w neg d w 0 d cl} def 24 | /m21 {mb f} def /m25 {mb s} def /m22 {mt f} def /m26{mt s} def 25 | /m23 {mp x y w2 sub m w2 w d w neg 0 d cl f} def 26 | /m27 {mp x y w2 add m w3 neg w2 neg d w3 w2 neg d w3 w2 d cl s} def 27 | /m28 {mp x w2 sub y w2 sub w3 add m w3 0 d 0 w3 neg d w3 0 d 0 w3 d w3 0 d 0 w3 d w3 neg 0 d 0 w3 d w3 neg 0 d 0 w3 neg d w3 neg 0 d cl s } def 28 | /m29 {mp gsave x w2 sub y w2 add w3 sub m currentpoint t 4 {side} repeat cl fill gr} def 29 | /m30 {mp gsave x w2 sub y w2 add w3 sub m currentpoint t 4 {side} repeat cl s gr} def 30 | /m31 {mp x y w2 sub m 0 w d x w2 sub y m w 0 d x w2 sub y w2 add m w w neg d x w2 sub y w2 sub m w w d s} def 31 | /m32 {mp x y w2 sub m w2 w d w neg 0 d cl s} def 32 | /m33 {mp x y w2 add m w3 neg w2 neg d w3 w2 neg d w3 w2 d cl f} def 33 | /m34 {mp x w2 sub y w2 sub w3 add m w3 0 d 0 w3 neg d w3 0 d 0 w3 d w3 0 d 0 w3 d w3 neg 0 d 0 w3 d w3 neg 0 d 0 w3 neg d w3 neg 0 d cl f } def 34 | /m2 {mp x y w2 sub m 0 w d x w2 sub y m w 0 d s} def 35 | /m5 {mp x w2 sub y w2 sub m w w d x w2 sub y w2 add m w w neg d s} def 36 | /reEncode {exch findfont dup length dict begin {1 index /FID eq {pop pop} {def} ifelse } forall /Encoding exch def currentdict end dup /FontName get exch definefont pop } def [/Times-Bold /Times-Italic /Times-BoldItalic /Helvetica /Helvetica-Oblique 37 | /Helvetica-Bold /Helvetica-BoldOblique /Courier /Courier-Oblique /Courier-Bold /Courier-BoldOblique /Times-Roman /AvantGarde-Book /AvantGarde-BookOblique /AvantGarde-Demi /AvantGarde-DemiOblique /Bookman-Demi /Bookman-DemiItalic /Bookman-Light 38 | /Bookman-LightItalic /Helvetica-Narrow /Helvetica-Narrow-Bold /Helvetica-Narrow-BoldOblique /Helvetica-Narrow-Oblique /NewCenturySchlbk-Roman /NewCenturySchlbk-Bold /NewCenturySchlbk-BoldItalic /NewCenturySchlbk-Italic /Palatino-Bold 39 | /Palatino-BoldItalic /Palatino-Italic /Palatino-Roman ] {ISOLatin1Encoding reEncode } forall 40 | %%EndProlog 41 | %%BeginSetup 42 | %%EndSetup 43 | newpath gsave .25 .25 scale gsave 0 0 t black[ ] 0 sd 3 lw 1 1 1 c 2268 2176 0 0 bf black 1 1 1 c 1791 1720 363 348 bf black 1791 1720 363 348 bl 1 1 1 c 1791 1720 363 348 bf black 1791 1720 363 348 bl 363 348 m 1791 X s 44 | gsave 2268 2176 0 0 C 1989.96 133.171 t 0 r /Helvetica findfont 45.6587 sf 0 0 m (ggF+ttH) show NC gr 45 | gsave 2268 2176 0 0 C 1989.96 197.854 t 0 r /Helvetica findfont 45.6587 sf 0 0 m (f) show NC gr 46 | gsave 2268 2176 0 0 C 1948.11 175.025 t 0 r /Symbol findfont 72.293 sf 0 0 m (m) show NC gr 419 400 m -52 Y s 475 374 m -26 Y s 531 374 m -26 Y s 587 374 m -26 Y s 643 374 m -26 Y s 699 400 m -52 Y s 755 374 m -26 Y s 811 374 m -26 Y s 867 374 m 47 | -26 Y s 923 374 m -26 Y s 979 400 m -52 Y s 1035 374 m -26 Y s 1091 374 m -26 Y s 1147 374 m -26 Y s 1203 374 m -26 Y s 1259 400 m -52 Y s 1315 374 m -26 Y s 1371 374 m -26 Y s 1427 374 m -26 Y s 1483 374 m -26 Y s 1539 400 m -52 Y s 1594 374 m -26 48 | Y s 1650 374 m -26 Y s 1706 374 m -26 Y s 1762 374 m -26 Y s 1818 400 m -52 Y s 1874 374 m -26 Y s 1930 374 m -26 Y s 1986 374 m -26 Y s 2042 374 m -26 Y s 2098 400 m -52 Y s 419 400 m -52 Y s 363 374 m -26 Y s 2098 400 m -52 Y s 2154 374 m -26 Y s 49 | gsave 2268 2176 0 0 C 369.075 277.757 t 0 r /Helvetica findfont 72.293 sf 0 0 m (0.7) show NC gr 50 | gsave 2268 2176 0 0 C 646.832 277.757 t 0 r /Helvetica findfont 72.293 sf 0 0 m (0.8) show NC gr 51 | gsave 2268 2176 0 0 C 928.394 277.757 t 0 r /Helvetica findfont 72.293 sf 0 0 m (0.9) show NC gr 52 | gsave 2268 2176 0 0 C 1240.4 277.757 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1) show NC gr 53 | gsave 2268 2176 0 0 C 1491.52 277.757 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1.1) show NC gr 54 | gsave 2268 2176 0 0 C 1765.47 277.757 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1.2) show NC gr 55 | gsave 2268 2176 0 0 C 2047.03 277.757 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1.3) show NC gr 363 2068 m 1791 X s 419 2016 m 52 Y s 475 2042 m 26 Y s 531 2042 m 26 Y s 587 2042 m 26 Y s 643 2042 m 26 Y s 699 2016 m 52 Y s 755 2042 m 26 Y s 811 56 | 2042 m 26 Y s 867 2042 m 26 Y s 923 2042 m 26 Y s 979 2016 m 52 Y s 1035 2042 m 26 Y s 1091 2042 m 26 Y s 1147 2042 m 26 Y s 1203 2042 m 26 Y s 1259 2016 m 52 Y s 1315 2042 m 26 Y s 1371 2042 m 26 Y s 1427 2042 m 26 Y s 1483 2042 m 26 Y s 1539 2016 57 | m 52 Y s 1594 2042 m 26 Y s 1650 2042 m 26 Y s 1706 2042 m 26 Y s 1762 2042 m 26 Y s 1818 2016 m 52 Y s 1874 2042 m 26 Y s 1930 2042 m 26 Y s 1986 2042 m 26 Y s 2042 2042 m 26 Y s 2098 2016 m 52 Y s 419 2016 m 52 Y s 363 2042 m 26 Y s 2098 2016 m 52 58 | Y s 2154 2042 m 26 Y s 363 348 m 1720 Y s 59 | gsave 2268 2176 0 0 C 232.099 1891.03 t 90 r /Helvetica findfont 45.6587 sf 0 0 m (VBF+VH) show NC gr 60 | gsave 2268 2176 0 0 C 167.415 1891.03 t 90 r /Helvetica findfont 45.6587 sf 0 0 m (f) show NC gr 61 | gsave 2268 2176 0 0 C 190.245 1849.18 t 90 r /Symbol findfont 72.293 sf 0 0 m (m) show NC gr 417 402 m -54 X s 390 456 m -27 X s 390 509 m -27 X s 390 563 m -27 X s 390 617 m -27 X s 417 671 m -54 X s 390 724 m -27 X s 390 778 m -27 X s 390 832 m 62 | -27 X s 390 886 m -27 X s 417 939 m -54 X s 390 993 m -27 X s 390 1047 m -27 X s 390 1100 m -27 X s 390 1154 m -27 X s 417 1208 m -54 X s 390 1262 m -27 X s 390 1315 m -27 X s 390 1369 m -27 X s 390 1423 m -27 X s 417 1477 m -54 X s 390 1530 m -27 X 63 | s 390 1584 m -27 X s 390 1638 m -27 X s 390 1691 m -27 X s 417 1745 m -54 X s 390 1799 m -27 X s 390 1853 m -27 X s 390 1906 m -27 X s 390 1960 m -27 X s 417 2014 m -54 X s 417 402 m -54 X s 390 348 m -27 X s 417 2014 m -54 X s 390 2068 m -27 X s 64 | gsave 2268 2176 0 0 C 251.123 376.684 t 0 r /Helvetica findfont 72.293 sf 0 0 m (0.7) show NC gr 65 | gsave 2268 2176 0 0 C 251.123 646.832 t 0 r /Helvetica findfont 72.293 sf 0 0 m (0.8) show NC gr 66 | gsave 2268 2176 0 0 C 251.123 913.174 t 0 r /Helvetica findfont 72.293 sf 0 0 m (0.9) show NC gr 67 | gsave 2268 2176 0 0 C 323.416 1179.52 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1) show NC gr 68 | gsave 2268 2176 0 0 C 262.538 1449.66 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1.1) show NC gr 69 | gsave 2268 2176 0 0 C 251.123 1716.01 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1.2) show NC gr 70 | gsave 2268 2176 0 0 C 251.123 1989.96 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1.3) show NC gr 2154 348 m 1720 Y s 2101 402 m 53 X s 2127 456 m 27 X s 2127 509 m 27 X s 2127 563 m 27 X s 2127 617 m 27 X s 2101 671 m 53 X s 2127 724 m 27 X s 2127 71 | 778 m 27 X s 2127 832 m 27 X s 2127 886 m 27 X s 2101 939 m 53 X s 2127 993 m 27 X s 2127 1047 m 27 X s 2127 1100 m 27 X s 2127 1154 m 27 X s 2101 1208 m 53 X s 2127 1262 m 27 X s 2127 1315 m 27 X s 2127 1369 m 27 X s 2127 1423 m 27 X s 2101 1477 m 72 | 53 X s 2127 1530 m 27 X s 2127 1584 m 27 X s 2127 1638 m 27 X s 2127 1691 m 27 X s 2101 1745 m 53 X s 2127 1799 m 27 X s 2127 1853 m 27 X s 2127 1906 m 27 X s 2127 1960 m 27 X s 2101 2014 m 53 X s 2101 402 m 53 X s 2127 348 m 27 X s 2101 2014 m 53 X 73 | s 2127 2068 m 27 X s 1 0 0 c 9 lw 1259 1208 m -40 339 d s 3 lw 1192 1544 m 22 51 d 33 -45 d f 9 lw 1192 1544 m 22 51 d 33 -45 d -55 -6 d cl s black 74 | gsave 2268 2176 0 0 C 555.514 460.392 t 0 r /Helvetica findfont 60.8783 sf 0 0 m (sys) show NC gr 1 0 0 c 469 478 m 71 X s black 75 | gsave 2268 2176 0 0 C 905.565 1917.67 t 0 r /Helvetica-Bold findfont 60.8783 sf 0 0 m (| > 3%) show NC gr 76 | gsave 2268 2176 0 0 C 871.321 1917.67 t 0 r /Symbol findfont 60.8783 sf 0 0 m (h) show NC gr 77 | gsave 2268 2176 0 0 C 452.782 1917.67 t 0 r /Helvetica-Bold findfont 60.8783 sf 0 0 m (showing only |) show NC gr 78 | gr gr showpage 79 | end 80 | %%EOF 81 | -------------------------------------------------------------------------------- /Plot/plotInterpCode.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | # Created on: August 2, 2013 4 | 5 | __author__ = "Sven Kreiss, Kyle Cranmer" 6 | __version__ = "0.1" 7 | 8 | 9 | import optparse 10 | parser = optparse.OptionParser(version=__version__) 11 | parser.add_option("-c", "--interpcode", dest="interpcode", default=4, type="int", help="InterpCode to be investigated.") 12 | 13 | parser.add_option("-o", "--output", dest="output", default="output/interpCode.eps", help="Output root file.") 14 | 15 | parser.add_option("-q", "--quiet", dest="verbose", action="store_false", default=True, help="Quiet output.") 16 | options,args = parser.parse_args() 17 | 18 | 19 | 20 | import ROOT 21 | from array import array 22 | import math 23 | 24 | import PyROOTUtils 25 | PyROOTUtils.style() 26 | 27 | container = [] 28 | 29 | 30 | 31 | def secondDerivative(data): 32 | secondDerivative = [] 33 | for i in range(1,len(data)-1): 34 | val = (data[i+1][1] - 2*data[i][1] + data[i-1][1])/(abs(data[i+1][0]-data[i][0])*abs(data[i][0]-data[i-1][0])) 35 | secondDerivative.append( (data[i][0], val) ) 36 | return secondDerivative 37 | 38 | 39 | 40 | def dataFlexibleInterpVar(eps=0.01,nominal=1.0): 41 | w = ROOT.RooWorkspace( "test" ) 42 | w.factory("alpha[-10,10]") 43 | w.defineSet("nuis", "alpha") 44 | 45 | pL = ROOT.RooArgList( w.set("nuis") ) 46 | 47 | 48 | 49 | values = [] 50 | for eta in [0.8,1.0,1.2,1.4]: 51 | down = ROOT.std.vector("double")() 52 | up = ROOT.std.vector("double")() 53 | down.push_back( nominal-eta ) 54 | up.push_back( nominal+eta ) 55 | flex = ROOT.RooStats.HistFactory.FlexibleInterpVar("flex","flex",pL,nominal,down,up) 56 | flex.setAllInterpCodes(options.interpcode) 57 | 58 | # w.var("alpha").setVal(0.0) 59 | # print( "========== Flex with eta="+str(eta)+" and interpcode="+str(options.interpcode)+" at zero: "+str( flex.getVal() )) 60 | 61 | thisEtaValues = [] 62 | for i in range(1000): 63 | alpha = -1.2 + 2.4*i/999.0 64 | w.var("alpha").setVal(alpha) 65 | thisEtaValues.append( (alpha*eta,flex.getVal()) ) 66 | if eta == 1.2: 67 | print( thisEtaValues ) 68 | 69 | w.var("alpha").setVal( eps ) 70 | flexPlus = flex.getVal() 71 | w.var("alpha").setVal( -eps ) 72 | flexMinus = flex.getVal() 73 | slopeAtZero = (flexPlus-flexMinus)/(2.*eta*eps) 74 | values.append( {"eta":eta,"data":thisEtaValues,"slopeAtZero":slopeAtZero} ) 75 | 76 | return values 77 | 78 | 79 | 80 | 81 | 82 | def dataPiecewiseInterpolation(eps=0.01,nominal=1.0, python2ndDer=False): 83 | w = ROOT.RooWorkspace( "test" ) 84 | w.factory("nominal["+str(nominal)+",-10,10]") 85 | # w.defineSet("nomS", "nominal") 86 | w.factory("low[-10,10]") 87 | w.defineSet("lowS", "low") 88 | w.factory("high[-10,10]") 89 | w.defineSet("highS", "high") 90 | 91 | w.factory("alpha[-10,10]") 92 | w.defineSet("nuis", "alpha") 93 | pL = ROOT.RooArgList( w.set("nuis") ) 94 | 95 | 96 | # nomL = ROOT.RooArgList( w.set("nomS") ) 97 | lowL = ROOT.RooArgList( w.set("lowS") ) 98 | highL = ROOT.RooArgList( w.set("highS") ) 99 | 100 | values = [] 101 | for eta in [0.2,0.4,0.6,0.8,1.0,1.2]: 102 | w.var("low").setVal(nominal-eta) 103 | w.var("high").setVal(nominal+2*eta) 104 | 105 | pi = ROOT.PiecewiseInterpolation("pi","pi",w.var('nominal'),lowL,highL,pL) 106 | pi.setAllInterpCodes(options.interpcode) 107 | 108 | thisEtaValues = [] 109 | for i in range(1000): 110 | alpha = -1.2 + 2.4*i/999.0 111 | w.var("alpha").setVal(alpha) 112 | thisEtaValues.append( (alpha*eta,pi.getVal()) ) 113 | 114 | w.var("alpha").setVal( eps ) 115 | piPlus = pi.getVal() 116 | w.var("alpha").setVal( -eps ) 117 | piMinus = pi.getVal() 118 | slopeAtZero = (piPlus-piMinus)/(2.*eta*eps) 119 | 120 | result = {"eta":eta,"data":thisEtaValues,"slopeAtZero":slopeAtZero} 121 | if python2ndDer: 122 | result['secondDerivative'] = secondDerivative(thisEtaValues) 123 | values.append( result ) 124 | 125 | return values 126 | 127 | 128 | 129 | 130 | 131 | 132 | def interpCode4( low, high, x ): 133 | """ 134 | Implements the gist of interpcode4 from FlexibleInterpVar.cxx. 135 | 136 | low = 1 - eta*boundary 137 | high = 1 + eta*boundary 138 | """ 139 | if x >= 1.0: 140 | if high>0.0 and x<10: return high**x 141 | return 0.0 142 | elif x <= -1.0: 143 | if low>0.0 and x>-10: return low**-x 144 | return 0.0 145 | 146 | # below we know we are between the boundaries: do polynomial interpolation 147 | logHi = math.log(high) if high > 0.0 else 0.0 148 | logLo = math.log(low) if low > 0.0 else 0.0 149 | 150 | pow_up = high if high > 0.0 else 0.0 151 | pow_down = low if low > 0.0 else 0.0 152 | pow_up_log = pow_up * logHi if high > 0.0 else 0.0 153 | pow_down_log = -pow_down * logLo if low > 0.0 else 0.0 154 | pow_up_log2 = pow_up_log * logHi if high > 0.0 else 0.0 155 | pow_down_log2 = -pow_down_log * logLo if low > 0.0 else 0.0 156 | 157 | S0 = (pow_up+pow_down)/2 158 | A0 = (pow_up-pow_down)/2 159 | S1 = (pow_up_log+pow_down_log)/2 160 | A1 = (pow_up_log-pow_down_log)/2 161 | S2 = (pow_up_log2+pow_down_log2)/2 162 | A2 = (pow_up_log2-pow_down_log2)/2 163 | 164 | # fcns+der+2nd_der are eq at bd 165 | a = 1./8 * ( 15*A0 - 7*S1 + A2) 166 | b = 1./8 * (-24 + 24*S0 - 9*A1 + S2) 167 | c = 1./4 * ( - 5*A0 + 5*S1 - A2) 168 | d = 1./4 * ( 12 - 12*S0 + 7*A1 - S2) 169 | e = 1./8 * ( + 3*A0 - 3*S1 + A2) 170 | f = 1./8 * ( -8 + 8*S0 - 5*A1 + S2) 171 | 172 | xx = x*x 173 | xxx = xx*x 174 | return 1. + a*x + b*xx + c*xxx + d*xx*xx + e*xxx*xx + f*xxx*xxx; 175 | 176 | 177 | def dataFlexibleInterpVarPython(nominal=1.0): 178 | values = [] 179 | for eta in [0.2,0.4,0.6,0.8,1.0,1.2]: 180 | low = nominal-eta 181 | high = nominal+eta 182 | data = [] 183 | for i in range(1000): 184 | a = -1.2 + 2.4*i/999.0 185 | 186 | val = interpCode4( low, high, a ) 187 | data.append( (eta*a,val) ) 188 | 189 | values.append( {'eta':eta,'data':data,'secondDerivative':secondDerivative(data)} ) 190 | 191 | return values 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | def dataPiecewiseInterpolationPython(nominal=1.0): 202 | values = [] 203 | for eta in [0.2,0.4,0.6,0.8,1.0,1.2]: 204 | low = nominal-eta 205 | high = nominal+2*eta 206 | data = [] 207 | for i in range(1000): 208 | a = -1.2 + 2.4*i/999.0 209 | 210 | val = None 211 | if a < -1: val = nominal + a*(nominal-low) 212 | elif a > 1: val = nominal + a*(high-nominal) 213 | else: 214 | S = (high-low)/2 215 | A = (high - 2*nominal +low)/16 216 | val = nominal + S*a + A*(15*a*a - 10*a*a*a*a + 3*a*a*a*a*a*a) 217 | #val = nominal + a*(S + A*a*(15 + a*a*(-10 + a*a*3))) #Horner scheme 218 | 219 | data.append( (eta*a,val) ) 220 | 221 | values.append( {'eta':eta,'data':data,'secondDerivative':secondDerivative(data)} ) 222 | 223 | return values 224 | 225 | 226 | 227 | 228 | def plot( values,suffix=None ): 229 | canvas = ROOT.TCanvas( "canvas","canvas",800,600 ) 230 | axes = canvas.DrawFrame( -1.55,-0.6,1.15,2.6 ) 231 | axes.GetXaxis().SetTitle( "#eta#alpha" ) 232 | axes.GetYaxis().SetTitle( "response" ) 233 | axes.GetYaxis().SetTitleOffset( 1.2 ) 234 | 235 | PyROOTUtils.DrawText( 0.2, 0.87, "InterpCode = "+str(options.interpcode), textSize=0.03 ) 236 | leg = PyROOTUtils.Legend( 0.2, 0.83, textSize=0.03 ) 237 | 238 | for etaData in values: 239 | eta = etaData['eta'] 240 | data = etaData['data'] 241 | 242 | g = PyROOTUtils.Graph( data ) 243 | container.append(g) 244 | 245 | gDerivative = PyROOTUtils.Graph( g.derivativeData(), lineStyle=ROOT.kDashed ) 246 | container.append(gDerivative) 247 | 248 | gDerivative2 = PyROOTUtils.Graph( g.derivative2Data(), lineStyle=ROOT.kDotted ) 249 | if 'secondDerivative' in etaData: 250 | gDerivative2 = PyROOTUtils.Graph( etaData['secondDerivative'], lineStyle=ROOT.kDotted ) 251 | gDerivative2.transformY( lambda y: y/10.0 ) 252 | container.append(gDerivative2) 253 | 254 | infoStr = "#eta = "+str(eta)+" " 255 | if 'slopeAtZero' in etaData: infoStr += "\nslope(0) = %.2f " % (etaData['slopeAtZero']) 256 | t = PyROOTUtils.DrawText( data[0][0],data[0][1], infoStr, textSize=0.025, halign="right", valign="center", NDC=False ) 257 | container.append(t) 258 | 259 | g.Draw("L") 260 | gDerivative.Draw("L") 261 | gDerivative2.Draw("L") 262 | 263 | leg.AddEntry(g, "f(#eta#alpha)", "L") 264 | leg.AddEntry(gDerivative, "f'(#eta#alpha)", "L") 265 | leg.AddEntry(gDerivative2, "1/10 f''(#eta#alpha)", "L") 266 | leg.Draw() 267 | 268 | outFileName = options.output 269 | if suffix: outFileName = outFileName.replace(".eps",suffix+".eps") 270 | canvas.SaveAs( outFileName ) 271 | 272 | 273 | 274 | 275 | def main(): 276 | plot( dataFlexibleInterpVar(nominal=1.0), suffix='_flexibleInterpVar' ) 277 | plot( dataFlexibleInterpVarPython(nominal=1.0), suffix='_flexibleInterpVarPythonTest' ) 278 | 279 | plot( dataPiecewiseInterpolation(nominal=1.0), suffix='_piecewiseInterpolation' ) 280 | plot( dataPiecewiseInterpolationPython(nominal=1.0), suffix='_piecewiseInterpolationPythonTest' ) 281 | plot( dataPiecewiseInterpolation(nominal=1.0,python2ndDer=True), suffix='_noTG1For2ndDerTest' ) 282 | 283 | 284 | if __name__ == "__main__": 285 | main() 286 | -------------------------------------------------------------------------------- /ModelGenerators/twoBinCountingModel.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | # Created on: October 21, 2013 4 | 5 | __author__ = "Sven Kreiss, Kyle Cranmer" 6 | __version__ = "0.1" 7 | 8 | __description__ = """ 9 | Creates a 2-bin counting model using HistFactory. 10 | """ 11 | 12 | import optparse 13 | parser = optparse.OptionParser(version=__version__, description=__description__) 14 | parser.add_option( "--scenario", dest="scenario", default=-1, type="float", help="Scenario 1, 2 or 3. Use zero for default scenario that is also valid for #alphas!=2.") 15 | parser.add_option( "--additiveMu", dest="additiveMu", default=False, action="store_true", help="Enables emulation of additive mu.") 16 | parser.add_option("-n", "--name", dest="name", default="meas", help="Name for output filename.") 17 | parser.add_option("-p", "--prefix", dest="prefix", default="standard", help="Prefix for output filename.") 18 | parser.add_option("-q", "--quiet", dest="verbose", action="store_false", default=True, help="Quiet output.") 19 | options,args = parser.parse_args() 20 | 21 | import os 22 | import ROOT 23 | ROOT.gROOT.SetBatch( True ) 24 | 25 | 26 | container = [] 27 | 28 | 29 | 30 | def category_ggFLike(n=100.0, fGGF=0.9, fVBF=0.1, fB=0.0, etaGGF=0.2, etaVBF=0.2): 31 | """ 32 | Toy model bin with ggF-like systematics. 33 | """ 34 | 35 | channel = ROOT.RooStats.HistFactory.Channel("ggFLike") 36 | container.append(channel) 37 | channel.SetData(n) 38 | 39 | signalGGF = ROOT.RooStats.HistFactory.Sample("signalGGF") 40 | signalGGF.SetValue(n*fGGF) 41 | if not options.additiveMu: 42 | signalGGF.AddNormFactor("mu", 1, 0, 6) 43 | signalGGF.AddNormFactor("mu_XS8_ggF", 1, -5, 10) 44 | signalGGF.AddOverallSys("sys", 1.0-etaGGF, 1.0+etaGGF) 45 | signalGGF.AddOverallSys("sys_GGF", 1.0-etaGGF, 1.0+etaGGF) 46 | channel.AddSample(signalGGF) 47 | container.append(signalGGF) 48 | 49 | signalVBF = ROOT.RooStats.HistFactory.Sample("signalVBF") 50 | signalVBF.SetValue(n*fVBF) 51 | if not options.additiveMu: 52 | signalVBF.AddNormFactor("mu", 1, 0, 6) 53 | signalVBF.AddNormFactor("mu_XS8_VBF", 1, -5, 10) 54 | signalVBF.AddOverallSys("sys", 1.0-etaVBF, 1.0+etaVBF) 55 | signalVBF.AddOverallSys("sys_VBF", 1.0-etaVBF, 1.0+etaVBF) 56 | channel.AddSample(signalVBF) 57 | container.append(signalVBF) 58 | 59 | if options.additiveMu: 60 | signalGGFMu = ROOT.RooStats.HistFactory.Sample("signalGGFMu") 61 | signalGGFMu.SetValue(n*fGGF) 62 | signalGGFMu.AddNormFactor("mu", 1, 0, 6) 63 | signalGGFMu.AddNormFactor("mu_XS8_ggF", 1, -5, 10) 64 | channel.AddSample(signalGGFMu) 65 | container.append(signalGGFMu) 66 | 67 | signalGGFM1 = ROOT.RooStats.HistFactory.Sample("signalGGFM1") 68 | signalGGFM1.SetValue(-n*fGGF) 69 | channel.AddSample(signalGGFM1) 70 | container.append(signalGGFM1) 71 | 72 | signalVBFMu = ROOT.RooStats.HistFactory.Sample("signalVBFMu") 73 | signalVBFMu.SetValue(n*fVBF) 74 | signalVBFMu.AddNormFactor("mu", 1, 0, 6) 75 | signalVBFMu.AddNormFactor("mu_XS8_VBF", 1, -5, 10) 76 | channel.AddSample(signalVBFMu) 77 | container.append(signalVBFMu) 78 | 79 | signalVBFM1 = ROOT.RooStats.HistFactory.Sample("signalVBFM1") 80 | signalVBFM1.SetValue(-n*fVBF) 81 | channel.AddSample(signalVBFM1) 82 | container.append(signalVBFM1) 83 | 84 | background = ROOT.RooStats.HistFactory.Sample("background") 85 | background.SetValue(n*fB) 86 | channel.AddSample(background) 87 | container.append(background) 88 | 89 | return channel 90 | 91 | 92 | def category_VBFLike(n=100.0, fGGF=0.1, fVBF=0.9, fB=0.0, etaGGF=0.2, etaVBF=0.2, etaGGFAsym=0.0): 93 | """ 94 | Toy model bin with VBF-like systematics. 95 | """ 96 | 97 | channel = ROOT.RooStats.HistFactory.Channel("VBFLike") 98 | container.append(channel) 99 | channel.SetData(n) 100 | 101 | signalGGF = ROOT.RooStats.HistFactory.Sample("signalGGF") 102 | signalGGF.SetValue(n*fGGF) 103 | if not options.additiveMu: 104 | signalGGF.AddNormFactor("mu", 1, 0, 6) 105 | signalGGF.AddNormFactor("mu_XS8_ggF", 1, -5, 10) 106 | signalGGF.AddOverallSys("sys", 1.0-etaGGF, 1.0+etaGGF) 107 | signalGGF.AddOverallSys("sys_GGF", 1.0-etaGGF+etaGGFAsym/2.0, 1.0+etaGGF+etaGGFAsym/2.0) 108 | channel.AddSample(signalGGF) 109 | container.append(signalGGF) 110 | 111 | signalVBF = ROOT.RooStats.HistFactory.Sample("signalVBF") 112 | signalVBF.SetValue(n*fVBF) 113 | if not options.additiveMu: 114 | signalVBF.AddNormFactor("mu", 1, 0, 6) 115 | signalVBF.AddNormFactor("mu_XS8_VBF", 1, -5, 10) 116 | signalVBF.AddOverallSys("sys", 1.0-etaVBF, 1.0+etaVBF) 117 | signalVBF.AddOverallSys("sys_VBF", 1.0-etaVBF, 1.0+etaVBF) 118 | channel.AddSample(signalVBF) 119 | container.append(signalVBF) 120 | 121 | if options.additiveMu: 122 | signalGGFMu = ROOT.RooStats.HistFactory.Sample("signalGGFMu") 123 | signalGGFMu.SetValue(n*fGGF) 124 | signalGGFMu.AddNormFactor("mu", 1, 0, 6) 125 | signalGGFMu.AddNormFactor("mu_XS8_ggF", 1, -5, 10) 126 | channel.AddSample(signalGGFMu) 127 | container.append(signalGGFMu) 128 | 129 | signalGGFM1 = ROOT.RooStats.HistFactory.Sample("signalGGFM1") 130 | signalGGFM1.SetValue(-n*fGGF) 131 | channel.AddSample(signalGGFM1) 132 | container.append(signalGGFM1) 133 | 134 | signalVBFMu = ROOT.RooStats.HistFactory.Sample("signalVBFMu") 135 | signalVBFMu.SetValue(n*fVBF) 136 | signalVBFMu.AddNormFactor("mu", 1, 0, 6) 137 | signalVBFMu.AddNormFactor("mu_XS8_VBF", 1, -5, 10) 138 | channel.AddSample(signalVBFMu) 139 | container.append(signalVBFMu) 140 | 141 | signalVBFM1 = ROOT.RooStats.HistFactory.Sample("signalVBFM1") 142 | signalVBFM1.SetValue(-n*fVBF) 143 | channel.AddSample(signalVBFM1) 144 | container.append(signalVBFM1) 145 | 146 | background = ROOT.RooStats.HistFactory.Sample("background") 147 | background.SetValue(n*fB) 148 | channel.AddSample(background) 149 | container.append(background) 150 | 151 | return channel 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | def makeMeasurement( name="meas", outDir="../output/twoBin/", prefix="standard" ): 160 | meas = ROOT.RooStats.HistFactory.Measurement(name, name) 161 | container.append( meas ) 162 | 163 | meas.SetOutputFilePrefix(outDir+prefix) 164 | meas.SetPOI("mu") 165 | meas.AddConstantParam("Lumi") # 2ph does not have lumi uncertainty. Need to introduce separate systematics 166 | meas.AddConstantParam("mu_XS8_ggF") 167 | meas.AddConstantParam("mu_XS8_VBF") 168 | 169 | meas.SetLumi(1.0) 170 | meas.SetLumiRelErr(0.036) 171 | meas.SetExportOnly(True) 172 | 173 | # first set of scenarios 174 | if options.scenario == -1: 175 | # one sys, cat uni etas 176 | meas.AddChannel( category_ggFLike() ) 177 | meas.AddChannel( category_VBFLike() ) 178 | meas.AddConstantParam("alpha_sys_VBF") 179 | meas.AddConstantParam("alpha_sys_GGF") 180 | elif options.scenario == -2: 181 | # one sys, not cat uni etas 182 | meas.AddChannel( category_ggFLike() ) 183 | meas.AddChannel( category_VBFLike( etaVBF=0.1 ) ) 184 | meas.AddConstantParam("alpha_sys_VBF") 185 | meas.AddConstantParam("alpha_sys_GGF") 186 | elif options.scenario == -3: 187 | # one sys, cat uni etas 188 | meas.AddChannel( category_ggFLike() ) 189 | meas.AddChannel( category_VBFLike() ) 190 | meas.AddConstantParam("alpha_sys") 191 | elif options.scenario == -4: 192 | # one sys, not cat uni etas 193 | meas.AddChannel( category_ggFLike( fB=0.04, etaGGF=0.0 ) ) 194 | meas.AddChannel( category_VBFLike( fGGF=0.5, fVBF=0.4, etaVBF=0.1, etaGGF=0.2, etaGGFAsym=0.2, fB=0.04 ) ) 195 | meas.AddConstantParam("alpha_sys") 196 | 197 | # scenarios suggested by Kyle 198 | if options.scenario == 1: 199 | meas.AddChannel( category_ggFLike( fGGF=0.45, fVBF=0.05, fB=0.5 ) ) 200 | meas.AddChannel( category_VBFLike() ) 201 | meas.AddConstantParam("alpha_sys_VBF") 202 | meas.AddConstantParam("alpha_sys_GGF") 203 | elif options.scenario == 1.1: # same as scenario 1 with twice as many events, but same signal xs 204 | meas.AddChannel( category_ggFLike( n=125, fGGF=0.45/1.25, fVBF=0.05/1.25, fB=0.5/1.25 ) ) 205 | meas.AddChannel( category_VBFLike() ) 206 | meas.AddConstantParam("alpha_sys_VBF") 207 | meas.AddConstantParam("alpha_sys_GGF") 208 | elif options.scenario == 2: 209 | meas.AddChannel( category_ggFLike( etaGGF=0.1, fGGF=0.45, fVBF=0.05, fB=0.5 ) ) 210 | meas.AddChannel( category_VBFLike( etaGGF=0.3 ) ) 211 | meas.AddConstantParam("alpha_sys_VBF") 212 | meas.AddConstantParam("alpha_sys_GGF") 213 | elif options.scenario == 3: 214 | meas.AddChannel( category_ggFLike( etaGGF=0.0, etaVBF=0.0, fGGF=0.45, fVBF=0.05, fB=0.5 ) ) 215 | meas.AddChannel( category_VBFLike( etaGGF=0.2, etaVBF=0.0, fGGF=0.4, fVBF=0.6, fB=0.0 ) ) 216 | meas.AddConstantParam("alpha_sys_VBF") 217 | meas.AddConstantParam("alpha_sys_GGF") 218 | elif options.scenario == 3.1: # same as scenario 3, but with best fit values moved 219 | meas.AddChannel( category_ggFLike( etaGGF=0.0, etaVBF=0.0, fGGF=0.45/1.25, fVBF=0.05/1.5, fB=0.5/1.25 ) ) 220 | meas.AddChannel( category_VBFLike( etaGGF=0.2, etaVBF=0.0, fGGF=0.4/1.25, fVBF=0.6/1.5, fB=0.0/1.25 ) ) 221 | meas.AddConstantParam("alpha_sys_VBF") 222 | meas.AddConstantParam("alpha_sys_GGF") 223 | elif options.scenario == 4: # like 2, but with doubled etas 224 | meas.AddChannel( category_ggFLike( etaGGF=0.2, etaVBF=0.4, fGGF=0.45, fVBF=0.05, fB=0.5 ) ) 225 | meas.AddChannel( category_VBFLike( etaGGF=0.6, etaVBF=0.4 ) ) 226 | meas.AddConstantParam("alpha_sys_VBF") 227 | meas.AddConstantParam("alpha_sys_GGF") 228 | 229 | 230 | 231 | 232 | #meas.CollectHistograms() 233 | meas.PrintTree() 234 | print( "Creating output directory." ) 235 | os.system( "mkdir -p "+outDir ) 236 | meas.PrintXML(outDir+name+"_xml", meas.GetOutputFilePrefix()); 237 | ROOT.RooStats.HistFactory.MakeModelAndMeasurementFast(meas); 238 | 239 | # change from std histfactory naming 240 | print("mv "+outDir+"/"+prefix+"_combined_"+name+"_model.root "+outDir+"/"+name+".root") 241 | os.system("mv "+outDir+"/"+prefix+"_combined_"+name+"_model.root "+outDir+"/"+name+".root") 242 | 243 | print( "Done "+name+"." ) 244 | 245 | 246 | 247 | 248 | if __name__ == "__main__": 249 | makeMeasurement( name=options.name, prefix=options.prefix ) 250 | 251 | 252 | 253 | 254 | -------------------------------------------------------------------------------- /plotsForPaper/twoBin/scenarioB_interpCode0_muTmuW_overlay.eps: -------------------------------------------------------------------------------- 1 | %!PS-Adobe-2.0 EPSF-2.0 2 | %%BoundingBox: 0 0 567 544 3 | %%Title: plots/twoBin/scenarioB_interpCode0_muTmuW_overlay.eps: canvas 4 | %%Creator: ROOT Version 5.34/13 5 | %%CreationDate: Wed Dec 18 17:23:09 2013 6 | %%EndComments 7 | %%BeginProlog 8 | 80 dict begin 9 | /s {stroke} def /l {lineto} def /m {moveto} def /t {translate} def 10 | /r {rotate} def /rl {roll} def /R {repeat} def 11 | /d {rlineto} def /rm {rmoveto} def /gr {grestore} def /f {eofill} def 12 | /c {setrgbcolor} def /black {0 setgray} def /sd {setdash} def 13 | /cl {closepath} def /sf {scalefont setfont} def /lw {setlinewidth} def 14 | /box {m dup 0 exch d exch 0 d 0 exch neg d cl} def 15 | /NC{systemdict begin initclip end}def/C{NC box clip newpath}def 16 | /bl {box s} def /bf {box f} def /Y { 0 exch d} def /X { 0 d} def 17 | /K {{pop pop 0 moveto} exch kshow} bind def 18 | /ita {/ang 15 def gsave [1 0 ang dup sin exch cos div 1 0 0] concat} def 19 | /mp {newpath /y exch def /x exch def} def 20 | /side {[w .77 mul w .23 mul] .385 w mul sd w 0 l currentpoint t -144 r} def 21 | /mr {mp x y w2 0 360 arc} def /m24 {mr s} def /m20 {mr f} def 22 | /mb {mp x y w2 add m w2 neg 0 d 0 w neg d w 0 d 0 w d cl} def 23 | /mt {mp x y w2 add m w2 neg w neg d w 0 d cl} def 24 | /m21 {mb f} def /m25 {mb s} def /m22 {mt f} def /m26{mt s} def 25 | /m23 {mp x y w2 sub m w2 w d w neg 0 d cl f} def 26 | /m27 {mp x y w2 add m w3 neg w2 neg d w3 w2 neg d w3 w2 d cl s} def 27 | /m28 {mp x w2 sub y w2 sub w3 add m w3 0 d 0 w3 neg d w3 0 d 0 w3 d w3 0 d 0 w3 d w3 neg 0 d 0 w3 d w3 neg 0 d 0 w3 neg d w3 neg 0 d cl s } def 28 | /m29 {mp gsave x w2 sub y w2 add w3 sub m currentpoint t 4 {side} repeat cl fill gr} def 29 | /m30 {mp gsave x w2 sub y w2 add w3 sub m currentpoint t 4 {side} repeat cl s gr} def 30 | /m31 {mp x y w2 sub m 0 w d x w2 sub y m w 0 d x w2 sub y w2 add m w w neg d x w2 sub y w2 sub m w w d s} def 31 | /m32 {mp x y w2 sub m w2 w d w neg 0 d cl s} def 32 | /m33 {mp x y w2 add m w3 neg w2 neg d w3 w2 neg d w3 w2 d cl f} def 33 | /m34 {mp x w2 sub y w2 sub w3 add m w3 0 d 0 w3 neg d w3 0 d 0 w3 d w3 0 d 0 w3 d w3 neg 0 d 0 w3 d w3 neg 0 d 0 w3 neg d w3 neg 0 d cl f } def 34 | /m2 {mp x y w2 sub m 0 w d x w2 sub y m w 0 d s} def 35 | /m5 {mp x w2 sub y w2 sub m w w d x w2 sub y w2 add m w w neg d s} def 36 | /reEncode {exch findfont dup length dict begin {1 index /FID eq {pop pop} {def} ifelse } forall /Encoding exch def currentdict end dup /FontName get exch definefont pop } def [/Times-Bold /Times-Italic /Times-BoldItalic /Helvetica /Helvetica-Oblique 37 | /Helvetica-Bold /Helvetica-BoldOblique /Courier /Courier-Oblique /Courier-Bold /Courier-BoldOblique /Times-Roman /AvantGarde-Book /AvantGarde-BookOblique /AvantGarde-Demi /AvantGarde-DemiOblique /Bookman-Demi /Bookman-DemiItalic /Bookman-Light 38 | /Bookman-LightItalic /Helvetica-Narrow /Helvetica-Narrow-Bold /Helvetica-Narrow-BoldOblique /Helvetica-Narrow-Oblique /NewCenturySchlbk-Roman /NewCenturySchlbk-Bold /NewCenturySchlbk-BoldItalic /NewCenturySchlbk-Italic /Palatino-Bold 39 | /Palatino-BoldItalic /Palatino-Italic /Palatino-Roman ] {ISOLatin1Encoding reEncode } forall 40 | %%EndProlog 41 | %%BeginSetup 42 | %%EndSetup 43 | newpath gsave .25 .25 scale gsave 0 0 t black[ ] 0 sd 3 lw 1 1 1 c 2268 2176 0 0 bf black 1 1 1 c 1791 1720 363 348 bf black 1791 1720 363 348 bl 1 1 1 c 1791 1720 363 348 bf black 1791 1720 363 348 bl 363 348 m 1791 X s 44 | gsave 2268 2176 0 0 C 1989.96 133.171 t 0 r /Helvetica findfont 45.6587 sf 0 0 m (ggF+ttH) show NC gr 45 | gsave 2268 2176 0 0 C 1989.96 197.854 t 0 r /Helvetica findfont 45.6587 sf 0 0 m (f) show NC gr 46 | gsave 2268 2176 0 0 C 1948.11 175.025 t 0 r /Symbol findfont 72.293 sf 0 0 m (m) show NC gr 501 400 m -52 Y s 570 374 m -26 Y s 638 374 m -26 Y s 707 374 m -26 Y s 776 400 m -52 Y s 845 374 m -26 Y s 914 374 m -26 Y s 983 374 m -26 Y s 1052 400 m 47 | -52 Y s 1121 374 m -26 Y s 1190 374 m -26 Y s 1259 374 m -26 Y s 1327 400 m -52 Y s 1396 374 m -26 Y s 1465 374 m -26 Y s 1534 374 m -26 Y s 1603 400 m -52 Y s 1672 374 m -26 Y s 1741 374 m -26 Y s 1810 374 m -26 Y s 1879 400 m -52 Y s 1948 374 m 48 | -26 Y s 2017 374 m -26 Y s 2085 374 m -26 Y s 2154 400 m -52 Y s 501 400 m -52 Y s 432 374 m -26 Y s 363 374 m -26 Y s 49 | gsave 2268 2176 0 0 C 448.977 277.757 t 0 r /Helvetica findfont 72.293 sf 0 0 m (0.6) show NC gr 50 | gsave 2268 2176 0 0 C 726.735 277.757 t 0 r /Helvetica findfont 72.293 sf 0 0 m (0.8) show NC gr 51 | gsave 2268 2176 0 0 C 1034.93 277.757 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1) show NC gr 52 | gsave 2268 2176 0 0 C 1274.64 277.757 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1.2) show NC gr 53 | gsave 2268 2176 0 0 C 1552.4 277.757 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1.4) show NC gr 54 | gsave 2268 2176 0 0 C 1826.35 277.757 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1.6) show NC gr 55 | gsave 2268 2176 0 0 C 2104.11 277.757 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1.8) show NC gr 363 2068 m 1791 X s 501 2016 m 52 Y s 570 2042 m 26 Y s 638 2042 m 26 Y s 707 2042 m 26 Y s 776 2016 m 52 Y s 845 2042 m 26 Y s 914 2042 m 26 Y s 983 56 | 2042 m 26 Y s 1052 2016 m 52 Y s 1121 2042 m 26 Y s 1190 2042 m 26 Y s 1259 2042 m 26 Y s 1327 2016 m 52 Y s 1396 2042 m 26 Y s 1465 2042 m 26 Y s 1534 2042 m 26 Y s 1603 2016 m 52 Y s 1672 2042 m 26 Y s 1741 2042 m 26 Y s 1810 2042 m 26 Y s 1879 57 | 2016 m 52 Y s 1948 2042 m 26 Y s 2017 2042 m 26 Y s 2085 2042 m 26 Y s 2154 2016 m 52 Y s 501 2016 m 52 Y s 432 2042 m 26 Y s 363 2042 m 26 Y s 363 348 m 1720 Y s 58 | gsave 2268 2176 0 0 C 232.099 1891.03 t 90 r /Helvetica findfont 45.6587 sf 0 0 m (VBF+VH) show NC gr 59 | gsave 2268 2176 0 0 C 167.415 1891.03 t 90 r /Helvetica findfont 45.6587 sf 0 0 m (f) show NC gr 60 | gsave 2268 2176 0 0 C 190.245 1849.18 t 90 r /Symbol findfont 72.293 sf 0 0 m (m) show NC gr 417 439 m -54 X s 390 484 m -27 X s 390 529 m -27 X s 390 574 m -27 X s 417 620 m -54 X s 390 665 m -27 X s 390 710 m -27 X s 390 755 m -27 X s 417 801 m 61 | -54 X s 390 846 m -27 X s 390 891 m -27 X s 390 936 m -27 X s 417 982 m -54 X s 390 1027 m -27 X s 390 1072 m -27 X s 390 1117 m -27 X s 417 1163 m -54 X s 390 1208 m -27 X s 390 1253 m -27 X s 390 1298 m -27 X s 417 1344 m -54 X s 390 1389 m -27 X 62 | s 390 1434 m -27 X s 390 1479 m -27 X s 417 1525 m -54 X s 390 1570 m -27 X s 390 1615 m -27 X s 390 1660 m -27 X s 417 1706 m -54 X s 390 1751 m -27 X s 390 1796 m -27 X s 390 1841 m -27 X s 417 1887 m -54 X s 390 1932 m -27 X s 390 1977 m -27 X s 63 | 390 2022 m -27 X s 417 2068 m -54 X s 417 439 m -54 X s 390 393 m -27 X s 64 | gsave 2268 2176 0 0 C 251.123 414.733 t 0 r /Helvetica findfont 72.293 sf 0 0 m (0.4) show NC gr 65 | gsave 2268 2176 0 0 C 251.123 593.563 t 0 r /Helvetica findfont 72.293 sf 0 0 m (0.6) show NC gr 66 | gsave 2268 2176 0 0 C 251.123 776.198 t 0 r /Helvetica findfont 72.293 sf 0 0 m (0.8) show NC gr 67 | gsave 2268 2176 0 0 C 323.416 955.028 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1) show NC gr 68 | gsave 2268 2176 0 0 C 251.123 1133.86 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1.2) show NC gr 69 | gsave 2268 2176 0 0 C 251.123 1316.49 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1.4) show NC gr 70 | gsave 2268 2176 0 0 C 251.123 1499.13 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1.6) show NC gr 71 | gsave 2268 2176 0 0 C 251.123 1681.76 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1.8) show NC gr 72 | gsave 2268 2176 0 0 C 312.001 1856.79 t 0 r /Helvetica findfont 72.293 sf 0 0 m (2) show NC gr 73 | gsave 2268 2176 0 0 C 251.123 2039.42 t 0 r /Helvetica findfont 72.293 sf 0 0 m (2.2) show NC gr 2154 348 m 1720 Y s 2101 439 m 53 X s 2127 484 m 27 X s 2127 529 m 27 X s 2127 574 m 27 X s 2101 620 m 53 X s 2127 665 m 27 X s 2127 710 m 27 X s 2127 74 | 755 m 27 X s 2101 801 m 53 X s 2127 846 m 27 X s 2127 891 m 27 X s 2127 936 m 27 X s 2101 982 m 53 X s 2127 1027 m 27 X s 2127 1072 m 27 X s 2127 1117 m 27 X s 2101 1163 m 53 X s 2127 1208 m 27 X s 2127 1253 m 27 X s 2127 1298 m 27 X s 2101 1344 m 75 | 53 X s 2127 1389 m 27 X s 2127 1434 m 27 X s 2127 1479 m 27 X s 2101 1525 m 53 X s 2127 1570 m 27 X s 2127 1615 m 27 X s 2127 1660 m 27 X s 2101 1706 m 53 X s 2127 1751 m 27 X s 2127 1796 m 27 X s 2127 1841 m 27 X s 2101 1887 m 53 X s 2127 1932 m 27 76 | X s 2127 1977 m 27 X s 2127 2022 m 27 X s 2101 2068 m 53 X s 2101 439 m 53 X s 2127 393 m 27 X s /w 30 def /w2 {w 2 div} def /w3 {w 3 div} def 1052 982 m34 77 | gsave 2268 2176 0 0 C 498.441 1917.67 t 0 r /Helvetica-Bold findfont 60.8783 sf 0 0 m (Recoupled contours) show NC gr 1 0 0 c 6 lw black 1 0 0 c 1328 1471 m -22 4 d -10 2 d -31 5 d -32 1 d -32 -1 d -31 -3 d -22 -4 d -10 -1 d -32 -7 d -31 -9 d -9 78 | -4 d -23 -8 d -30 -12 d -2 -1 d -31 -15 d -10 -5 d -22 -12 d -15 -9 d -17 -10 d -16 -11 d -16 -10 d -15 -11 d -16 -12 d -11 -8 d -21 -17 d -5 -4 d -24 -21 d -3 -2 d -19 -19 d -12 -11 d -9 -10 d -20 -20 d -3 -3 d -15 -18 d -17 -20 d -1 -1 d -15 -21 d 79 | -15 -21 d -14 -21 d -13 -20 d -5 -10 d -6 -11 d -10 -21 d -9 -21 d -7 -18 d -1 -3 d -6 -20 d -5 -21 d -2 -21 d -1 -21 d 1 -21 d 4 -20 d 5 -21 d 5 -10 d 6 -11 d 13 -21 d 13 -14 d 6 -7 d 26 -20 d -1 Y 31 -18 d 5 -2 d 27 -12 d 25 -9 d 7 -2 d 31 -9 d 32 80 | -7 d 19 -3 d 13 -2 d 31 -3 d 32 -3 d 32 -1 d 32 X 31 1 d 32 1 d 32 3 d 31 3 d 7 1 d 25 4 d 32 5 d 31 7 d 24 5 d 8 2 d 32 9 d 31 9 d 2 1 d 30 11 d 26 9 d 6 3 d 32 15 d 7 3 d 24 13 d 14 8 d 18 11 d 15 10 d 17 13 d 10 8 d 21 18 d 3 3 d 20 20 d 9 11 d 9 81 | 10 d 15 21 d 8 14 d 4 7 d 10 21 d 9 20 d 7 21 d 1 8 d 3 13 d 4 21 d 2 21 d 20 Y -1 21 d -3 21 d -3 21 d -2 5 d -4 16 d -7 21 d -8 20 d -9 21 d -3 6 d -9 15 d -14 21 d -9 14 d -5 7 d -17 20 d -10 10 d -11 11 d -20 19 d -2 2 d -27 21 d -3 2 d -32 18 d 82 | 1 Y -31 16 d -12 4 d -20 8 d -32 9 d cl s 0 0 1 c[ 20 12 4 12] 0 sd black 0 0 1 c 1337 1454 m -9 3 d -32 5 d -31 3 d -32 1 d -32 -2 d -31 -4 d -32 -5 d -3 -1 d -29 -6 d -31 -9 d -15 -5 d -17 -6 d -32 -13 d -4 -2 d -27 -13 d -17 -8 d -15 -7 d -24 -14 83 | d -8 -4 d -26 -17 d -6 -3 d -25 -17 d -6 -5 d -22 -16 d -10 -8 d -16 -13 d -16 -13 d -9 -8 d -22 -20 d -1 -1 d -21 -20 d -10 -11 d -10 -10 d -18 -21 d -4 -4 d -13 -17 d -16 -21 d -2 -3 d -12 -18 d -13 -20 d -7 -11 d -6 -10 d -10 -21 d -10 -21 d -6 84 | -16 d -1 -5 d -7 -20 d -4 -21 d -3 -21 d -1 -21 d 2 -21 d 4 -20 d 6 -21 d 4 -8 d 7 -13 d 14 -21 d 11 -12 d 8 -9 d 24 -19 d 2 -2 d 29 -18 d 5 -2 d 27 -13 d 22 -8 d 10 -3 d 31 -10 d 32 -7 d 4 -1 d 28 -5 d 31 -4 d 32 -3 d 32 -2 d 63 X 32 2 d 32 2 d 31 85 | 3 d 32 5 d 16 2 d 16 3 d 31 7 d 32 7 d 15 4 d 17 5 d 31 10 d 17 6 d 15 5 d 32 14 d 4 1 d 28 14 d 14 7 d 17 10 d 19 11 d 13 9 d 18 12 d 14 11 d 12 10 d 19 18 d 3 3 d 20 20 d 9 11 d 8 10 d 14 21 d 10 16 d 3 5 d 10 21 d 9 20 d 7 21 d 2 12 d 2 9 d 4 21 86 | d 3 21 d 20 Y -1 21 d -2 21 d -3 21 d -3 9 d -3 12 d -7 21 d -8 20 d -9 21 d -4 7 d -8 14 d -15 21 d -9 13 d -6 8 d -19 20 d -7 7 d -15 14 d -16 14 d -10 7 d -22 15 d -10 6 d -22 11 d -20 10 d -11 5 d -32 10 d -23 5 d cl s black 87 | gsave 2268 2176 0 0 C 597.368 1811.13 t 0 r /Helvetica findfont 60.8783 sf 0 0 m (aligned) show NC gr 1 0 0 c[ ] 0 sd 514 1829 m 72 X s black 88 | gsave 2268 2176 0 0 C 597.368 1727.42 t 0 r /Helvetica findfont 60.8783 sf 0 0 m (learning) show NC gr 0 0 1 c[ 20 12 4 12] 0 sd 514 1744 m 72 X s black 89 | gsave 2268 2176 0 0 C 1495.32 1917.67 t 0 r /Helvetica-Bold findfont 60.8783 sf 0 0 m (68% CL contours) show NC gr [ 12 12] 0 sd 9 lw 1341 1454 m -24 5 d -23 3 d -15 2 d -9 X -23 1 d -24 X -23 -1 d -1 X -22 -3 d -24 -3 d -23 -5 d -21 -5 d -3 -1 d 90 | -23 -6 d -24 -8 d -1 X -22 -8 d -18 -8 d -5 -2 d -24 -10 d -6 -3 d -17 -8 d -13 -7 d -11 -6 d -17 -10 d -6 -3 d -20 -12 d -4 -2 d -19 -14 d -4 -2 d -19 -13 d -4 -3 d -16 -12 d -8 -6 d -12 -10 d -11 -9 d -8 -6 d -16 -14 d -1 -1 d -17 -16 d -5 -4 d 91 | -11 -11 d -13 -13 d -2 -3 d -15 -15 d -6 -7 d -7 -8 d -13 -16 d -3 -4 d -9 -11 d -12 -16 d -3 -3 d -8 -12 d -10 -15 d -5 -9 d -4 -7 d -9 -15 d -8 -15 d -3 -6 d -4 -10 d -6 -15 d -6 -16 d -5 -15 d -2 -8 d -2 -7 d -3 -16 d -2 -15 d -31 Y 2 -15 d 3 -16 92 | d 2 -8 d 2 -7 d 6 -15 d 9 -16 d 6 -10 d 4 -5 d 13 -16 d 7 -6 d 9 -9 d 14 -11 d 6 -4 d 18 -11 d 8 -5 d 15 -8 d 16 -7 d 7 -3 d 24 -9 d 12 -3 d 11 -4 d 24 -6 d 23 -5 d 5 -1 d 19 -3 d 23 -3 d 23 -3 d 24 -2 d 23 -1 d 24 -1 d 47 X 23 1 d 23 2 d 24 2 d 23 93 | 2 d 24 3 d 17 3 d 6 1 d 24 4 d 23 5 d 23 6 d 24 6 d 23 7 d 8 2 d 16 5 d 23 8 d 6 2 d 18 8 d 19 8 d 4 1 d 23 12 d 5 2 d 19 10 d 10 5 d 13 9 d 12 7 d 12 8 d 10 7 d 13 10 d 8 6 d 16 13 d 2 2 d 16 15 d 5 6 d 9 10 d 14 15 d 1 Y 11 14 d 11 16 d 2 3 d 7 12 94 | d 8 16 d 7 15 d 1 2 d 6 13 d 5 16 d 4 15 d 3 16 d 3 15 d 2 15 d 1 16 d 18 Y -1 12 d -1 16 d -3 15 d -3 16 d -3 15 d -5 15 d -5 16 d -3 5 d -4 10 d -7 16 d -8 15 d -4 6 d -6 9 d -10 16 d -8 10 d -4 5 d -13 15 d -6 7 d -9 9 d -14 14 d -2 1 d -19 16 d 95 | -3 2 d -19 13 d -4 3 d -22 12 d -2 2 d -23 11 d -6 3 d -18 7 d -23 8 d -2 X -21 6 d cl s[ 4 8] 0 sd 6 lw 1013 1145 m -24 1 d -23 1 d -71 X -23 -2 d -23 -1 d -24 -2 d -9 -2 d -14 -2 d -24 -3 d -23 -5 d -20 -5 d -4 -1 d -23 -7 d -20 -7 d -3 -2 d -24 96 | -11 d -4 -3 d -19 -13 d -3 -2 d -16 -15 d -5 -8 d -4 -8 d -5 -15 d -1 -16 d 4 -15 d 6 -12 d 2 -3 d 12 -16 d 10 -9 d 7 -6 d 16 -12 d 5 -4 d 19 -11 d 7 -4 d 16 -8 d 16 -7 d 7 -3 d 24 -9 d 9 -4 d 14 -5 d 24 -7 d 10 -3 d 13 -4 d 24 -5 d 23 -6 d 1 X 22 97 | -5 d 24 -4 d 23 -4 d 15 -3 d 9 -1 d 23 -3 d 24 -3 d 23 -2 d 23 -3 d 24 -1 d 23 -2 d 4 X 20 -1 d 23 -1 d 70 X 24 1 d 23 1 d 2 X 22 1 d 23 2 d 24 3 d 23 3 d 23 4 d 13 2 d 11 2 d 23 6 d 24 7 d 2 1 d 21 8 d 17 7 d 7 4 d 17 11 d 6 6 d 9 10 d 8 15 d 2 15 98 | d -3 16 d -9 15 d -7 9 d -5 7 d -17 15 d -1 1 d -21 14 d -3 2 d -22 14 d -1 X -24 12 d -6 3 d -17 8 d -18 8 d -6 2 d -23 9 d -12 4 d -11 4 d -24 7 d -13 4 d -10 3 d -24 6 d -23 6 d -1 1 d -23 5 d -23 5 d -23 4 d -4 1 d -20 3 d -23 4 d -24 3 d -23 3 99 | d -18 2 d -6 1 d -23 2 d -23 2 d cl s 100 | gsave 2268 2176 0 0 C 1575.23 1811.13 t 0 r /Helvetica findfont 60.8783 sf 0 0 m (Standard Model) show NC gr [ ] 0 sd 3 lw 1525 1829 m34[ 4 8] 0 sd 6 lw 101 | gsave 2268 2176 0 0 C 1575.23 1727.42 t 0 r /Helvetica findfont 60.8783 sf 0 0 m (full model) show NC gr [ 12 12] 0 sd 9 lw 1489 1744 m 72 X s 102 | gsave 2268 2176 0 0 C 1575.23 1643.71 t 0 r /Helvetica findfont 60.8783 sf 0 0 m (fixed effective) show NC gr [ 4 8] 0 sd 6 lw 1489 1660 m 72 X s 103 | gr gr showpage 104 | end 105 | %%EOF 106 | -------------------------------------------------------------------------------- /plotsForPaper/twoBin/scenarioB_interpCode0_muTmuW_overlay_box.eps: -------------------------------------------------------------------------------- 1 | %!PS-Adobe-2.0 EPSF-2.0 2 | %%BoundingBox: 0 0 567 544 3 | %%Title: plots/twoBin/scenarioB_interpCode0_muTmuW_overlay_box.eps: canvas 4 | %%Creator: ROOT Version 5.34/13 5 | %%CreationDate: Wed Dec 18 17:23:09 2013 6 | %%EndComments 7 | %%BeginProlog 8 | 80 dict begin 9 | /s {stroke} def /l {lineto} def /m {moveto} def /t {translate} def 10 | /r {rotate} def /rl {roll} def /R {repeat} def 11 | /d {rlineto} def /rm {rmoveto} def /gr {grestore} def /f {eofill} def 12 | /c {setrgbcolor} def /black {0 setgray} def /sd {setdash} def 13 | /cl {closepath} def /sf {scalefont setfont} def /lw {setlinewidth} def 14 | /box {m dup 0 exch d exch 0 d 0 exch neg d cl} def 15 | /NC{systemdict begin initclip end}def/C{NC box clip newpath}def 16 | /bl {box s} def /bf {box f} def /Y { 0 exch d} def /X { 0 d} def 17 | /K {{pop pop 0 moveto} exch kshow} bind def 18 | /ita {/ang 15 def gsave [1 0 ang dup sin exch cos div 1 0 0] concat} def 19 | /mp {newpath /y exch def /x exch def} def 20 | /side {[w .77 mul w .23 mul] .385 w mul sd w 0 l currentpoint t -144 r} def 21 | /mr {mp x y w2 0 360 arc} def /m24 {mr s} def /m20 {mr f} def 22 | /mb {mp x y w2 add m w2 neg 0 d 0 w neg d w 0 d 0 w d cl} def 23 | /mt {mp x y w2 add m w2 neg w neg d w 0 d cl} def 24 | /m21 {mb f} def /m25 {mb s} def /m22 {mt f} def /m26{mt s} def 25 | /m23 {mp x y w2 sub m w2 w d w neg 0 d cl f} def 26 | /m27 {mp x y w2 add m w3 neg w2 neg d w3 w2 neg d w3 w2 d cl s} def 27 | /m28 {mp x w2 sub y w2 sub w3 add m w3 0 d 0 w3 neg d w3 0 d 0 w3 d w3 0 d 0 w3 d w3 neg 0 d 0 w3 d w3 neg 0 d 0 w3 neg d w3 neg 0 d cl s } def 28 | /m29 {mp gsave x w2 sub y w2 add w3 sub m currentpoint t 4 {side} repeat cl fill gr} def 29 | /m30 {mp gsave x w2 sub y w2 add w3 sub m currentpoint t 4 {side} repeat cl s gr} def 30 | /m31 {mp x y w2 sub m 0 w d x w2 sub y m w 0 d x w2 sub y w2 add m w w neg d x w2 sub y w2 sub m w w d s} def 31 | /m32 {mp x y w2 sub m w2 w d w neg 0 d cl s} def 32 | /m33 {mp x y w2 add m w3 neg w2 neg d w3 w2 neg d w3 w2 d cl f} def 33 | /m34 {mp x w2 sub y w2 sub w3 add m w3 0 d 0 w3 neg d w3 0 d 0 w3 d w3 0 d 0 w3 d w3 neg 0 d 0 w3 d w3 neg 0 d 0 w3 neg d w3 neg 0 d cl f } def 34 | /m2 {mp x y w2 sub m 0 w d x w2 sub y m w 0 d s} def 35 | /m5 {mp x w2 sub y w2 sub m w w d x w2 sub y w2 add m w w neg d s} def 36 | /reEncode {exch findfont dup length dict begin {1 index /FID eq {pop pop} {def} ifelse } forall /Encoding exch def currentdict end dup /FontName get exch definefont pop } def [/Times-Bold /Times-Italic /Times-BoldItalic /Helvetica /Helvetica-Oblique 37 | /Helvetica-Bold /Helvetica-BoldOblique /Courier /Courier-Oblique /Courier-Bold /Courier-BoldOblique /Times-Roman /AvantGarde-Book /AvantGarde-BookOblique /AvantGarde-Demi /AvantGarde-DemiOblique /Bookman-Demi /Bookman-DemiItalic /Bookman-Light 38 | /Bookman-LightItalic /Helvetica-Narrow /Helvetica-Narrow-Bold /Helvetica-Narrow-BoldOblique /Helvetica-Narrow-Oblique /NewCenturySchlbk-Roman /NewCenturySchlbk-Bold /NewCenturySchlbk-BoldItalic /NewCenturySchlbk-Italic /Palatino-Bold 39 | /Palatino-BoldItalic /Palatino-Italic /Palatino-Roman ] {ISOLatin1Encoding reEncode } forall 40 | %%EndProlog 41 | %%BeginSetup 42 | %%EndSetup 43 | newpath gsave .25 .25 scale gsave 0 0 t black[ ] 0 sd 3 lw 1 1 1 c 2268 2176 0 0 bf black 1 1 1 c 1791 1720 363 348 bf black 1791 1720 363 348 bl 1 1 1 c 1791 1720 363 348 bf black 1791 1720 363 348 bl 363 348 m 1791 X s 44 | gsave 2268 2176 0 0 C 1989.96 133.171 t 0 r /Helvetica findfont 45.6587 sf 0 0 m (ggF+ttH) show NC gr 45 | gsave 2268 2176 0 0 C 1989.96 197.854 t 0 r /Helvetica findfont 45.6587 sf 0 0 m (f) show NC gr 46 | gsave 2268 2176 0 0 C 1948.11 175.025 t 0 r /Symbol findfont 72.293 sf 0 0 m (m) show NC gr 501 400 m -52 Y s 570 374 m -26 Y s 638 374 m -26 Y s 707 374 m -26 Y s 776 400 m -52 Y s 845 374 m -26 Y s 914 374 m -26 Y s 983 374 m -26 Y s 1052 400 m 47 | -52 Y s 1121 374 m -26 Y s 1190 374 m -26 Y s 1259 374 m -26 Y s 1327 400 m -52 Y s 1396 374 m -26 Y s 1465 374 m -26 Y s 1534 374 m -26 Y s 1603 400 m -52 Y s 1672 374 m -26 Y s 1741 374 m -26 Y s 1810 374 m -26 Y s 1879 400 m -52 Y s 1948 374 m 48 | -26 Y s 2017 374 m -26 Y s 2085 374 m -26 Y s 2154 400 m -52 Y s 501 400 m -52 Y s 432 374 m -26 Y s 363 374 m -26 Y s 49 | gsave 2268 2176 0 0 C 448.977 277.757 t 0 r /Helvetica findfont 72.293 sf 0 0 m (0.6) show NC gr 50 | gsave 2268 2176 0 0 C 726.735 277.757 t 0 r /Helvetica findfont 72.293 sf 0 0 m (0.8) show NC gr 51 | gsave 2268 2176 0 0 C 1034.93 277.757 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1) show NC gr 52 | gsave 2268 2176 0 0 C 1274.64 277.757 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1.2) show NC gr 53 | gsave 2268 2176 0 0 C 1552.4 277.757 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1.4) show NC gr 54 | gsave 2268 2176 0 0 C 1826.35 277.757 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1.6) show NC gr 55 | gsave 2268 2176 0 0 C 2104.11 277.757 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1.8) show NC gr 363 2068 m 1791 X s 501 2016 m 52 Y s 570 2042 m 26 Y s 638 2042 m 26 Y s 707 2042 m 26 Y s 776 2016 m 52 Y s 845 2042 m 26 Y s 914 2042 m 26 Y s 983 56 | 2042 m 26 Y s 1052 2016 m 52 Y s 1121 2042 m 26 Y s 1190 2042 m 26 Y s 1259 2042 m 26 Y s 1327 2016 m 52 Y s 1396 2042 m 26 Y s 1465 2042 m 26 Y s 1534 2042 m 26 Y s 1603 2016 m 52 Y s 1672 2042 m 26 Y s 1741 2042 m 26 Y s 1810 2042 m 26 Y s 1879 57 | 2016 m 52 Y s 1948 2042 m 26 Y s 2017 2042 m 26 Y s 2085 2042 m 26 Y s 2154 2016 m 52 Y s 501 2016 m 52 Y s 432 2042 m 26 Y s 363 2042 m 26 Y s 363 348 m 1720 Y s 58 | gsave 2268 2176 0 0 C 232.099 1891.03 t 90 r /Helvetica findfont 45.6587 sf 0 0 m (VBF+VH) show NC gr 59 | gsave 2268 2176 0 0 C 167.415 1891.03 t 90 r /Helvetica findfont 45.6587 sf 0 0 m (f) show NC gr 60 | gsave 2268 2176 0 0 C 190.245 1849.18 t 90 r /Symbol findfont 72.293 sf 0 0 m (m) show NC gr 417 439 m -54 X s 390 484 m -27 X s 390 529 m -27 X s 390 574 m -27 X s 417 620 m -54 X s 390 665 m -27 X s 390 710 m -27 X s 390 755 m -27 X s 417 801 m 61 | -54 X s 390 846 m -27 X s 390 891 m -27 X s 390 936 m -27 X s 417 982 m -54 X s 390 1027 m -27 X s 390 1072 m -27 X s 390 1117 m -27 X s 417 1163 m -54 X s 390 1208 m -27 X s 390 1253 m -27 X s 390 1298 m -27 X s 417 1344 m -54 X s 390 1389 m -27 X 62 | s 390 1434 m -27 X s 390 1479 m -27 X s 417 1525 m -54 X s 390 1570 m -27 X s 390 1615 m -27 X s 390 1660 m -27 X s 417 1706 m -54 X s 390 1751 m -27 X s 390 1796 m -27 X s 390 1841 m -27 X s 417 1887 m -54 X s 390 1932 m -27 X s 390 1977 m -27 X s 63 | 390 2022 m -27 X s 417 2068 m -54 X s 417 439 m -54 X s 390 393 m -27 X s 64 | gsave 2268 2176 0 0 C 251.123 414.733 t 0 r /Helvetica findfont 72.293 sf 0 0 m (0.4) show NC gr 65 | gsave 2268 2176 0 0 C 251.123 593.563 t 0 r /Helvetica findfont 72.293 sf 0 0 m (0.6) show NC gr 66 | gsave 2268 2176 0 0 C 251.123 776.198 t 0 r /Helvetica findfont 72.293 sf 0 0 m (0.8) show NC gr 67 | gsave 2268 2176 0 0 C 323.416 955.028 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1) show NC gr 68 | gsave 2268 2176 0 0 C 251.123 1133.86 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1.2) show NC gr 69 | gsave 2268 2176 0 0 C 251.123 1316.49 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1.4) show NC gr 70 | gsave 2268 2176 0 0 C 251.123 1499.13 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1.6) show NC gr 71 | gsave 2268 2176 0 0 C 251.123 1681.76 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1.8) show NC gr 72 | gsave 2268 2176 0 0 C 312.001 1856.79 t 0 r /Helvetica findfont 72.293 sf 0 0 m (2) show NC gr 73 | gsave 2268 2176 0 0 C 251.123 2039.42 t 0 r /Helvetica findfont 72.293 sf 0 0 m (2.2) show NC gr 2154 348 m 1720 Y s 2101 439 m 53 X s 2127 484 m 27 X s 2127 529 m 27 X s 2127 574 m 27 X s 2101 620 m 53 X s 2127 665 m 27 X s 2127 710 m 27 X s 2127 74 | 755 m 27 X s 2101 801 m 53 X s 2127 846 m 27 X s 2127 891 m 27 X s 2127 936 m 27 X s 2101 982 m 53 X s 2127 1027 m 27 X s 2127 1072 m 27 X s 2127 1117 m 27 X s 2101 1163 m 53 X s 2127 1208 m 27 X s 2127 1253 m 27 X s 2127 1298 m 27 X s 2101 1344 m 75 | 53 X s 2127 1389 m 27 X s 2127 1434 m 27 X s 2127 1479 m 27 X s 2101 1525 m 53 X s 2127 1570 m 27 X s 2127 1615 m 27 X s 2127 1660 m 27 X s 2101 1706 m 53 X s 2127 1751 m 27 X s 2127 1796 m 27 X s 2127 1841 m 27 X s 2101 1887 m 53 X s 2127 1932 m 27 76 | X s 2127 1977 m 27 X s 2127 2022 m 27 X s 2101 2068 m 53 X s 2101 439 m 53 X s 2127 393 m 27 X s /w 30 def /w2 {w 2 div} def /w3 {w 3 div} def 1052 982 m34 77 | gsave 2268 2176 0 0 C 498.441 1917.67 t 0 r /Helvetica-Bold findfont 60.8783 sf 0 0 m (Recoupled contours) show NC gr 1 0 0 c 6 lw black 1 0 0 c 1360 1419 m -32 7 d -32 6 d -7 2 d -24 4 d -32 4 d -32 4 d -31 3 d -32 2 d -32 2 d -31 1 d -32 -1 d 78 | -32 -1 d -31 -3 d -32 -3 d -32 -5 d -32 -7 d -2 X -29 -9 d -32 -10 d -5 -2 d -27 -13 d -15 -8 d -16 -11 d -13 -10 d -19 -20 d -1 -1 d -12 -20 d -7 -21 d -7 -21 d -5 -13 d -2 -8 d -7 -21 d -7 -20 d -7 -21 d -8 -21 d -1 Y -8 -20 d -7 -21 d -8 -21 d -9 79 | -20 d -1 Y -8 -20 d -8 -21 d -9 -21 d -7 -14 d -3 -7 d -9 -20 d -9 -21 d -10 -21 d -1 -1 d -9 -20 d -10 -21 d -11 -20 d -1 -4 d -9 -17 d -5 -21 d 6 -21 d 8 -11 d 7 -10 d 24 -19 d 3 -2 d 29 -15 d 10 -5 d 22 -9 d 32 -12 d 31 -9 d 32 -8 d 15 -4 d 17 -3 80 | d 31 -6 d 32 -5 d 32 -5 d 12 -2 d 19 -2 d 32 -3 d 32 -2 d 32 -2 d 31 -1 d 32 -1 d 32 X 31 1 d 32 1 d 32 3 d 31 3 d 29 3 d 3 1 d 32 6 d 31 8 d 21 6 d 11 5 d 31 16 d 1 X 25 21 d 7 6 d 17 14 d 14 13 d 9 8 d 23 21 d 1 X 22 21 d 9 8 d 13 13 d 18 18 d 3 3 81 | d 20 20 d 9 10 d 11 11 d 19 21 d 2 1 d 17 20 d 14 16 d 5 5 d 18 20 d 9 12 d 8 9 d 17 21 d 7 8 d 10 13 d 16 21 d 6 7 d 10 13 d 15 21 d 6 11 d 5 10 d 4 21 d -3 21 d -6 14 d -3 7 d -14 20 d -14 16 d -6 5 d -25 21 d -1 1 d -30 20 d -2 1 d -32 18 d -2 2 82 | d -29 14 d -13 6 d -19 8 d -31 13 d -1 X -31 12 d -28 9 d -4 1 d -32 10 d -31 9 d -6 1 d -26 6 d cl s 0 0 1 c[ 20 12 4 12] 0 sd black 0 0 1 c 1360 1413 m -1 X -31 6 d -32 5 d -31 5 d -32 4 d -7 1 d -25 2 d -31 2 d -32 2 d -32 1 d -31 X -32 -1 d -32 83 | -2 d -31 -3 d -11 -1 d -21 -3 d -32 -6 d -32 -7 d -20 -5 d -11 -4 d -32 -11 d -15 -6 d -17 -8 d -22 -13 d -9 -7 d -18 -14 d -14 -15 d -4 -5 d -11 -21 d -8 -21 d -7 -21 d -2 -4 d -6 -17 d -7 -20 d -8 -21 d -8 -21 d -2 -7 d -6 -14 d -8 -21 d -8 -21 d 84 | -9 -20 d -1 -3 d -8 -18 d -8 -21 d -10 -21 d -6 -13 d -3 -8 d -9 -20 d -10 -21 d -10 -19 d -1 -2 d -10 -21 d -10 -21 d -10 -19 d -1 -1 d -10 -21 d -3 -21 d 7 -21 d 7 -8 d 10 -13 d 21 -16 d 6 -5 d 26 -14 d 13 -6 d 19 -8 d 32 -13 d 1 X 30 -9 d 32 -9 d 85 | 11 -3 d 21 -4 d 31 -7 d 32 -6 d 23 -4 d 9 -1 d 31 -4 d 32 -3 d 32 -3 d 32 -3 d 31 -1 d 32 -1 d 32 -1 d 31 1 d 32 1 d 32 2 d 31 3 d 32 4 d 32 5 d 7 1 d 24 7 d 32 10 d 10 4 d 22 14 d 9 7 d 23 19 d 1 2 d 23 20 d 7 8 d 15 13 d 17 17 d 5 4 d 20 21 d 7 6 86 | d 14 15 d 17 18 d 3 3 d 20 20 d 9 11 d 10 10 d 18 21 d 4 4 d 15 17 d 16 19 d 2 2 d 17 20 d 13 16 d 4 5 d 17 21 d 11 14 d 5 7 d 16 21 d 11 14 d 4 6 d 16 21 d 11 18 d 2 3 d 6 21 d -1 21 d -7 20 d 1 Y -14 20 d -17 20 d -2 1 d -25 21 d -5 3 d -27 18 d 87 | -5 3 d -32 17 d -1 1 d -30 14 d -16 6 d -16 7 d -32 12 d -6 2 d -25 8 d -32 10 d -10 3 d -22 6 d -31 7 d -32 8 d cl s black 88 | gsave 2268 2176 0 0 C 597.368 1811.13 t 0 r /Helvetica findfont 60.8783 sf 0 0 m (aligned) show NC gr 1 0 0 c[ ] 0 sd 514 1829 m 72 X s black 89 | gsave 2268 2176 0 0 C 597.368 1727.42 t 0 r /Helvetica findfont 60.8783 sf 0 0 m (learning) show NC gr 0 0 1 c[ 20 12 4 12] 0 sd 514 1744 m 72 X s black 90 | gsave 2268 2176 0 0 C 1495.32 1917.67 t 0 r /Helvetica-Bold findfont 60.8783 sf 0 0 m (68% CL contours) show NC gr [ 12 12] 0 sd 9 lw 1317 1421 m -23 4 d -24 3 d -23 3 d -13 2 d -11 1 d -23 2 d -23 2 d -24 1 d -23 1 d -24 1 d -23 X -24 -1 d -23 -1 91 | d -23 -1 d -24 -2 d -23 -3 d -5 X -19 -3 d -23 -4 d -24 -5 d -15 -4 d -8 -2 d -23 -7 d -19 -6 d -5 -2 d -23 -10 d -8 -3 d -16 -9 d -11 -7 d -12 -8 d -9 -7 d -15 -14 d -1 -2 d -11 -15 d -8 -15 d -3 -8 d -3 -8 d -5 -15 d -5 -15 d -6 -16 d -4 -12 d -1 92 | -3 d -6 -16 d -6 -15 d -6 -15 d -5 -14 d -1 -2 d -5 -15 d -6 -16 d -7 -15 d -4 -11 d -2 -4 d -6 -16 d -7 -15 d -6 -15 d -3 -5 d -4 -11 d -7 -15 d -7 -16 d -5 -11 d -2 -4 d -7 -15 d -7 -16 d -8 -15 d -7 -16 d -8 -15 d -8 -15 d -1 Y -7 -15 d -8 -15 d 93 | -7 -15 d -16 Y 6 -15 d 10 -16 d 6 -5 d 10 -10 d 13 -9 d 9 -6 d 15 -9 d 13 -7 d 10 -4 d 24 -11 d 1 X 22 -8 d 23 -7 d 1 -1 d 23 -6 d 23 -7 d 9 -2 d 15 -3 d 23 -5 d 24 -5 d 14 -2 d 9 -2 d 24 -3 d 23 -3 d 23 -3 d 24 -3 d 16 -2 d 7 X 24 -2 d 23 -1 d 24 94 | -2 d 23 X 23 -1 d 24 X 23 1 d 24 X 23 1 d 24 2 d 23 2 d 3 X 20 3 d 24 4 d 23 4 d 21 5 d 3 X 23 8 d 19 7 d 5 3 d 21 13 d 2 1 d 15 14 d 8 7 d 10 8 d 14 13 d 3 3 d 16 15 d 4 4 d 12 11 d 12 11 d 4 5 d 16 15 d 3 3 d 12 13 d 12 11 d 3 4 d 15 15 d 5 6 d 10 95 | 10 d 13 15 d 1 X 14 15 d 9 11 d 4 5 d 14 15 d 5 6 d 8 10 d 13 15 d 3 3 d 10 12 d 13 16 d 12 15 d 12 15 d 1 Y 12 15 d 11 14 d 1 1 d 11 16 d 11 14 d 1 1 d 11 15 d 11 16 d 1 1 d 7 14 d 3 16 d -1 15 d -4 15 d -5 11 d -3 5 d -11 15 d -10 11 d -4 5 d -17 96 | 15 d -2 1 d -19 14 d -4 3 d -20 13 d -4 2 d -23 13 d -1 X -23 11 d -9 4 d -14 7 d -22 9 d -2 1 d -23 8 d -16 6 d -7 3 d -24 7 d -17 6 d -6 2 d -24 6 d -23 6 d -4 1 d -20 5 d -23 5 d -23 5 d -5 X -19 4 d cl s[ 4 8] 0 sd 6 lw 1013 1145 m -24 1 d -23 1 97 | d -71 X -23 -2 d -23 -1 d -24 -2 d -9 -2 d -14 -2 d -24 -3 d -23 -5 d -20 -5 d -4 -1 d -23 -7 d -20 -7 d -3 -2 d -24 -11 d -4 -3 d -19 -13 d -3 -2 d -16 -15 d -5 -8 d -4 -8 d -5 -15 d -1 -16 d 4 -15 d 6 -12 d 2 -3 d 12 -16 d 10 -9 d 7 -6 d 16 -12 d 98 | 5 -4 d 19 -11 d 7 -4 d 16 -8 d 16 -7 d 7 -3 d 24 -9 d 9 -4 d 14 -5 d 24 -7 d 10 -3 d 13 -4 d 24 -5 d 23 -6 d 1 X 22 -5 d 24 -4 d 23 -4 d 15 -3 d 9 -1 d 23 -3 d 24 -3 d 23 -2 d 23 -3 d 24 -1 d 23 -2 d 4 X 20 -1 d 23 -1 d 70 X 24 1 d 23 1 d 2 X 22 1 d 99 | 23 2 d 24 3 d 23 3 d 23 4 d 13 2 d 11 2 d 23 6 d 24 7 d 2 1 d 21 8 d 17 7 d 7 4 d 17 11 d 6 6 d 9 10 d 8 15 d 2 15 d -3 16 d -9 15 d -7 9 d -5 7 d -17 15 d -1 1 d -21 14 d -3 2 d -22 14 d -1 X -24 12 d -6 3 d -17 8 d -18 8 d -6 2 d -23 9 d -12 4 d 100 | -11 4 d -24 7 d -13 4 d -10 3 d -24 6 d -23 6 d -1 1 d -23 5 d -23 5 d -23 4 d -4 1 d -20 3 d -23 4 d -24 3 d -23 3 d -18 2 d -6 1 d -23 2 d -23 2 d cl s 101 | gsave 2268 2176 0 0 C 1575.23 1811.13 t 0 r /Helvetica findfont 60.8783 sf 0 0 m (Standard Model) show NC gr [ ] 0 sd 3 lw 1525 1829 m34[ 4 8] 0 sd 6 lw 102 | gsave 2268 2176 0 0 C 1575.23 1727.42 t 0 r /Helvetica findfont 60.8783 sf 0 0 m (full model) show NC gr [ 12 12] 0 sd 9 lw 1489 1744 m 72 X s 103 | gsave 2268 2176 0 0 C 1575.23 1643.71 t 0 r /Helvetica findfont 60.8783 sf 0 0 m (fixed effective) show NC gr [ 4 8] 0 sd 6 lw 1489 1660 m 72 X s 104 | gr gr showpage 105 | end 106 | %%EOF 107 | -------------------------------------------------------------------------------- /plotsForPaper/twoBin/scenarioA_interpCode0_muTmuW_overlay.eps: -------------------------------------------------------------------------------- 1 | %!PS-Adobe-2.0 EPSF-2.0 2 | %%BoundingBox: 0 0 567 544 3 | %%Title: plots/twoBin/scenarioA_interpCode0_muTmuW_overlay.eps: canvas 4 | %%Creator: ROOT Version 5.34/13 5 | %%CreationDate: Wed Dec 18 17:23:09 2013 6 | %%EndComments 7 | %%BeginProlog 8 | 80 dict begin 9 | /s {stroke} def /l {lineto} def /m {moveto} def /t {translate} def 10 | /r {rotate} def /rl {roll} def /R {repeat} def 11 | /d {rlineto} def /rm {rmoveto} def /gr {grestore} def /f {eofill} def 12 | /c {setrgbcolor} def /black {0 setgray} def /sd {setdash} def 13 | /cl {closepath} def /sf {scalefont setfont} def /lw {setlinewidth} def 14 | /box {m dup 0 exch d exch 0 d 0 exch neg d cl} def 15 | /NC{systemdict begin initclip end}def/C{NC box clip newpath}def 16 | /bl {box s} def /bf {box f} def /Y { 0 exch d} def /X { 0 d} def 17 | /K {{pop pop 0 moveto} exch kshow} bind def 18 | /ita {/ang 15 def gsave [1 0 ang dup sin exch cos div 1 0 0] concat} def 19 | /mp {newpath /y exch def /x exch def} def 20 | /side {[w .77 mul w .23 mul] .385 w mul sd w 0 l currentpoint t -144 r} def 21 | /mr {mp x y w2 0 360 arc} def /m24 {mr s} def /m20 {mr f} def 22 | /mb {mp x y w2 add m w2 neg 0 d 0 w neg d w 0 d 0 w d cl} def 23 | /mt {mp x y w2 add m w2 neg w neg d w 0 d cl} def 24 | /m21 {mb f} def /m25 {mb s} def /m22 {mt f} def /m26{mt s} def 25 | /m23 {mp x y w2 sub m w2 w d w neg 0 d cl f} def 26 | /m27 {mp x y w2 add m w3 neg w2 neg d w3 w2 neg d w3 w2 d cl s} def 27 | /m28 {mp x w2 sub y w2 sub w3 add m w3 0 d 0 w3 neg d w3 0 d 0 w3 d w3 0 d 0 w3 d w3 neg 0 d 0 w3 d w3 neg 0 d 0 w3 neg d w3 neg 0 d cl s } def 28 | /m29 {mp gsave x w2 sub y w2 add w3 sub m currentpoint t 4 {side} repeat cl fill gr} def 29 | /m30 {mp gsave x w2 sub y w2 add w3 sub m currentpoint t 4 {side} repeat cl s gr} def 30 | /m31 {mp x y w2 sub m 0 w d x w2 sub y m w 0 d x w2 sub y w2 add m w w neg d x w2 sub y w2 sub m w w d s} def 31 | /m32 {mp x y w2 sub m w2 w d w neg 0 d cl s} def 32 | /m33 {mp x y w2 add m w3 neg w2 neg d w3 w2 neg d w3 w2 d cl f} def 33 | /m34 {mp x w2 sub y w2 sub w3 add m w3 0 d 0 w3 neg d w3 0 d 0 w3 d w3 0 d 0 w3 d w3 neg 0 d 0 w3 d w3 neg 0 d 0 w3 neg d w3 neg 0 d cl f } def 34 | /m2 {mp x y w2 sub m 0 w d x w2 sub y m w 0 d s} def 35 | /m5 {mp x w2 sub y w2 sub m w w d x w2 sub y w2 add m w w neg d s} def 36 | /reEncode {exch findfont dup length dict begin {1 index /FID eq {pop pop} {def} ifelse } forall /Encoding exch def currentdict end dup /FontName get exch definefont pop } def [/Times-Bold /Times-Italic /Times-BoldItalic /Helvetica /Helvetica-Oblique 37 | /Helvetica-Bold /Helvetica-BoldOblique /Courier /Courier-Oblique /Courier-Bold /Courier-BoldOblique /Times-Roman /AvantGarde-Book /AvantGarde-BookOblique /AvantGarde-Demi /AvantGarde-DemiOblique /Bookman-Demi /Bookman-DemiItalic /Bookman-Light 38 | /Bookman-LightItalic /Helvetica-Narrow /Helvetica-Narrow-Bold /Helvetica-Narrow-BoldOblique /Helvetica-Narrow-Oblique /NewCenturySchlbk-Roman /NewCenturySchlbk-Bold /NewCenturySchlbk-BoldItalic /NewCenturySchlbk-Italic /Palatino-Bold 39 | /Palatino-BoldItalic /Palatino-Italic /Palatino-Roman ] {ISOLatin1Encoding reEncode } forall 40 | %%EndProlog 41 | %%BeginSetup 42 | %%EndSetup 43 | newpath gsave .25 .25 scale gsave 0 0 t black[ ] 0 sd 3 lw 1 1 1 c 2268 2176 0 0 bf black 1 1 1 c 1791 1720 363 348 bf black 1791 1720 363 348 bl 1 1 1 c 1791 1720 363 348 bf black 1791 1720 363 348 bl 363 348 m 1791 X s 44 | gsave 2268 2176 0 0 C 1989.96 133.171 t 0 r /Helvetica findfont 45.6587 sf 0 0 m (ggF+ttH) show NC gr 45 | gsave 2268 2176 0 0 C 1989.96 197.854 t 0 r /Helvetica findfont 45.6587 sf 0 0 m (f) show NC gr 46 | gsave 2268 2176 0 0 C 1948.11 175.025 t 0 r /Symbol findfont 72.293 sf 0 0 m (m) show NC gr 501 400 m -52 Y s 570 374 m -26 Y s 638 374 m -26 Y s 707 374 m -26 Y s 776 400 m -52 Y s 845 374 m -26 Y s 914 374 m -26 Y s 983 374 m -26 Y s 1052 400 m 47 | -52 Y s 1121 374 m -26 Y s 1190 374 m -26 Y s 1259 374 m -26 Y s 1327 400 m -52 Y s 1396 374 m -26 Y s 1465 374 m -26 Y s 1534 374 m -26 Y s 1603 400 m -52 Y s 1672 374 m -26 Y s 1741 374 m -26 Y s 1810 374 m -26 Y s 1879 400 m -52 Y s 1948 374 m 48 | -26 Y s 2017 374 m -26 Y s 2085 374 m -26 Y s 2154 400 m -52 Y s 501 400 m -52 Y s 432 374 m -26 Y s 363 374 m -26 Y s 49 | gsave 2268 2176 0 0 C 448.977 277.757 t 0 r /Helvetica findfont 72.293 sf 0 0 m (0.6) show NC gr 50 | gsave 2268 2176 0 0 C 726.735 277.757 t 0 r /Helvetica findfont 72.293 sf 0 0 m (0.8) show NC gr 51 | gsave 2268 2176 0 0 C 1034.93 277.757 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1) show NC gr 52 | gsave 2268 2176 0 0 C 1274.64 277.757 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1.2) show NC gr 53 | gsave 2268 2176 0 0 C 1552.4 277.757 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1.4) show NC gr 54 | gsave 2268 2176 0 0 C 1826.35 277.757 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1.6) show NC gr 55 | gsave 2268 2176 0 0 C 2104.11 277.757 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1.8) show NC gr 363 2068 m 1791 X s 501 2016 m 52 Y s 570 2042 m 26 Y s 638 2042 m 26 Y s 707 2042 m 26 Y s 776 2016 m 52 Y s 845 2042 m 26 Y s 914 2042 m 26 Y s 983 56 | 2042 m 26 Y s 1052 2016 m 52 Y s 1121 2042 m 26 Y s 1190 2042 m 26 Y s 1259 2042 m 26 Y s 1327 2016 m 52 Y s 1396 2042 m 26 Y s 1465 2042 m 26 Y s 1534 2042 m 26 Y s 1603 2016 m 52 Y s 1672 2042 m 26 Y s 1741 2042 m 26 Y s 1810 2042 m 26 Y s 1879 57 | 2016 m 52 Y s 1948 2042 m 26 Y s 2017 2042 m 26 Y s 2085 2042 m 26 Y s 2154 2016 m 52 Y s 501 2016 m 52 Y s 432 2042 m 26 Y s 363 2042 m 26 Y s 363 348 m 1720 Y s 58 | gsave 2268 2176 0 0 C 232.099 1891.03 t 90 r /Helvetica findfont 45.6587 sf 0 0 m (VBF+VH) show NC gr 59 | gsave 2268 2176 0 0 C 167.415 1891.03 t 90 r /Helvetica findfont 45.6587 sf 0 0 m (f) show NC gr 60 | gsave 2268 2176 0 0 C 190.245 1849.18 t 90 r /Symbol findfont 72.293 sf 0 0 m (m) show NC gr 417 439 m -54 X s 390 484 m -27 X s 390 529 m -27 X s 390 574 m -27 X s 417 620 m -54 X s 390 665 m -27 X s 390 710 m -27 X s 390 755 m -27 X s 417 801 m 61 | -54 X s 390 846 m -27 X s 390 891 m -27 X s 390 936 m -27 X s 417 982 m -54 X s 390 1027 m -27 X s 390 1072 m -27 X s 390 1117 m -27 X s 417 1163 m -54 X s 390 1208 m -27 X s 390 1253 m -27 X s 390 1298 m -27 X s 417 1344 m -54 X s 390 1389 m -27 X 62 | s 390 1434 m -27 X s 390 1479 m -27 X s 417 1525 m -54 X s 390 1570 m -27 X s 390 1615 m -27 X s 390 1660 m -27 X s 417 1706 m -54 X s 390 1751 m -27 X s 390 1796 m -27 X s 390 1841 m -27 X s 417 1887 m -54 X s 390 1932 m -27 X s 390 1977 m -27 X s 63 | 390 2022 m -27 X s 417 2068 m -54 X s 417 439 m -54 X s 390 393 m -27 X s 64 | gsave 2268 2176 0 0 C 251.123 414.733 t 0 r /Helvetica findfont 72.293 sf 0 0 m (0.4) show NC gr 65 | gsave 2268 2176 0 0 C 251.123 593.563 t 0 r /Helvetica findfont 72.293 sf 0 0 m (0.6) show NC gr 66 | gsave 2268 2176 0 0 C 251.123 776.198 t 0 r /Helvetica findfont 72.293 sf 0 0 m (0.8) show NC gr 67 | gsave 2268 2176 0 0 C 323.416 955.028 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1) show NC gr 68 | gsave 2268 2176 0 0 C 251.123 1133.86 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1.2) show NC gr 69 | gsave 2268 2176 0 0 C 251.123 1316.49 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1.4) show NC gr 70 | gsave 2268 2176 0 0 C 251.123 1499.13 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1.6) show NC gr 71 | gsave 2268 2176 0 0 C 251.123 1681.76 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1.8) show NC gr 72 | gsave 2268 2176 0 0 C 312.001 1856.79 t 0 r /Helvetica findfont 72.293 sf 0 0 m (2) show NC gr 73 | gsave 2268 2176 0 0 C 251.123 2039.42 t 0 r /Helvetica findfont 72.293 sf 0 0 m (2.2) show NC gr 2154 348 m 1720 Y s 2101 439 m 53 X s 2127 484 m 27 X s 2127 529 m 27 X s 2127 574 m 27 X s 2101 620 m 53 X s 2127 665 m 27 X s 2127 710 m 27 X s 2127 74 | 755 m 27 X s 2101 801 m 53 X s 2127 846 m 27 X s 2127 891 m 27 X s 2127 936 m 27 X s 2101 982 m 53 X s 2127 1027 m 27 X s 2127 1072 m 27 X s 2127 1117 m 27 X s 2101 1163 m 53 X s 2127 1208 m 27 X s 2127 1253 m 27 X s 2127 1298 m 27 X s 2101 1344 m 75 | 53 X s 2127 1389 m 27 X s 2127 1434 m 27 X s 2127 1479 m 27 X s 2101 1525 m 53 X s 2127 1570 m 27 X s 2127 1615 m 27 X s 2127 1660 m 27 X s 2101 1706 m 53 X s 2127 1751 m 27 X s 2127 1796 m 27 X s 2127 1841 m 27 X s 2101 1887 m 53 X s 2127 1932 m 27 76 | X s 2127 1977 m 27 X s 2127 2022 m 27 X s 2101 2068 m 53 X s 2101 439 m 53 X s 2127 393 m 27 X s /w 30 def /w2 {w 2 div} def /w3 {w 3 div} def 1052 982 m34 77 | gsave 2268 2176 0 0 C 498.441 1917.67 t 0 r /Helvetica-Bold findfont 60.8783 sf 0 0 m (Recoupled contours) show NC gr 1 0 0 c 6 lw black 1 0 0 c 1677 1407 m -32 5 d -7 1 d -25 3 d -31 3 d -32 1 d -32 X -31 -1 d -32 -1 d -32 -3 d -16 -2 d -15 -2 d 78 | -32 -4 d -32 -5 d -32 -5 d -21 -5 d -10 -2 d -32 -7 d -32 -8 d -12 -4 d -19 -5 d -32 -9 d -21 -7 d -11 -3 d -31 -11 d -19 -6 d -13 -5 d -32 -13 d -8 -3 d -23 -10 d -26 -11 d -6 -3 d -32 -15 d -6 -3 d -26 -13 d -15 -8 d -16 -9 d -21 -11 d -11 -6 d 79 | -24 -15 d -8 -5 d -25 -16 d -6 -4 d -24 -17 d -8 -6 d -20 -15 d -12 -9 d -14 -12 d -17 -15 d -6 -5 d -22 -21 d -4 -4 d -16 -17 d -16 -18 d -2 -3 d -16 -21 d -14 -20 d -12 -21 d -9 -21 d -8 -21 d -2 -9 d -3 -12 d -2 -20 d 2 -21 d 3 -14 d 2 -7 d 10 80 | -21 d 16 -21 d 3 -3 d 21 -18 d 11 -7 d 26 -13 d 6 -3 d 32 -11 d 25 -7 d 6 -2 d 32 -5 d 32 -4 d 31 -3 d 32 -2 d 63 X 32 2 d 32 2 d 32 3 d 31 4 d 32 4 d 4 1 d 28 4 d 31 6 d 32 6 d 21 5 d 11 2 d 31 8 d 32 8 d 11 2 d 21 7 d 31 9 d 19 5 d 13 5 d 32 11 d 81 | 16 5 d 16 6 d 31 12 d 8 3 d 24 9 d 27 12 d 5 2 d 31 14 d 10 5 d 22 11 d 20 9 d 12 7 d 26 14 d 5 4 d 30 17 d 2 1 d 31 20 d 1 X 29 21 d 3 1 d 24 19 d 7 6 d 18 15 d 14 13 d 9 8 d 20 21 d 3 3 d 15 18 d 16 20 d 1 X 12 21 d 12 21 d 7 16 d 2 5 d 5 21 d 4 82 | 21 d 1 20 d -4 21 d -6 21 d -2 5 d -10 16 d -16 21 d -6 5 d -19 15 d -12 9 d -20 12 d -12 6 d -32 12 d -9 3 d -22 8 d -32 7 d cl s 0 0 1 c[ 20 12 4 12] 0 sd black 0 0 1 c 1677 1406 m -32 6 d -8 1 d -24 3 d -31 2 d -32 1 d -32 1 d -31 -1 d -32 -1 d 83 | -32 -3 d -15 -2 d -16 -2 d -32 -4 d -32 -5 d -32 -5 d -21 -5 d -10 -2 d -32 -7 d -32 -8 d -12 -4 d -19 -5 d -32 -9 d -21 -7 d -11 -3 d -31 -11 d -18 -6 d -14 -5 d -32 -13 d -8 -3 d -23 -10 d -26 -11 d -6 -3 d -32 -15 d -6 -3 d -26 -13 d -15 -8 d -16 84 | -9 d -21 -11 d -11 -7 d -24 -14 d -8 -5 d -25 -16 d -6 -4 d -24 -17 d -8 -6 d -20 -15 d -12 -9 d -14 -12 d -17 -15 d -6 -5 d -22 -21 d -4 -4 d -16 -17 d -16 -18 d -2 -3 d -16 -21 d -14 -20 d -12 -21 d -9 -21 d -8 -21 d -2 -9 d -3 -12 d -2 -20 d 2 85 | -21 d 3 -14 d 2 -7 d 10 -21 d 16 -21 d 3 -3 d 21 -18 d 11 -7 d 26 -13 d 6 -3 d 32 -11 d 25 -7 d 6 -2 d 32 -5 d 32 -4 d 31 -3 d 32 -2 d 63 X 32 2 d 32 2 d 32 3 d 31 4 d 32 4 d 4 1 d 28 4 d 31 6 d 32 6 d 21 5 d 11 2 d 31 8 d 32 8 d 11 2 d 21 7 d 31 9 86 | d 19 5 d 13 5 d 32 11 d 16 5 d 16 6 d 31 12 d 8 3 d 24 9 d 27 12 d 5 2 d 31 14 d 10 5 d 22 11 d 20 9 d 12 7 d 26 14 d 5 4 d 30 17 d 2 1 d 31 20 d 1 X 29 21 d 3 1 d 24 19 d 7 6 d 18 15 d 14 13 d 9 8 d 20 21 d 3 3 d 15 18 d 16 20 d 1 X 12 21 d 12 21 d 87 | 7 16 d 2 5 d 5 21 d 4 21 d 1 20 d -4 21 d -6 21 d -2 4 d -10 17 d -16 21 d -6 5 d -19 15 d -12 9 d -21 12 d -11 6 d -32 12 d -9 3 d -22 7 d -32 7 d cl s black 88 | gsave 2268 2176 0 0 C 597.368 1811.13 t 0 r /Helvetica findfont 60.8783 sf 0 0 m (aligned) show NC gr 1 0 0 c[ ] 0 sd 514 1829 m 72 X s black 89 | gsave 2268 2176 0 0 C 597.368 1727.42 t 0 r /Helvetica findfont 60.8783 sf 0 0 m (learning) show NC gr 0 0 1 c[ 20 12 4 12] 0 sd 514 1744 m 72 X s black 90 | gsave 2268 2176 0 0 C 1495.32 1917.67 t 0 r /Helvetica-Bold findfont 60.8783 sf 0 0 m (68% CL contours) show NC gr [ 12 12] 0 sd 9 lw 1645 1412 m -23 3 d -24 2 d -6 X -17 1 d -24 1 d -23 1 d -23 -1 d -24 X -22 -2 d -1 X -24 -1 d -23 -3 d -24 -2 d 91 | -23 -4 d -23 -3 d -12 -2 d -12 -2 d -23 -4 d -24 -5 d -19 -4 d -4 -1 d -24 -6 d -23 -6 d -11 -3 d -12 -3 d -24 -7 d -18 -5 d -5 -2 d -24 -7 d -18 -7 d -5 -1 d -24 -9 d -14 -5 d -9 -3 d -23 -9 d -8 -3 d -16 -7 d -20 -9 d -3 -1 d -24 -11 d -7 -3 d -16 92 | -8 d -16 -7 d -8 -4 d -22 -12 d -1 X -23 -13 d -5 -2 d -19 -11 d -7 -5 d -16 -9 d -10 -6 d -14 -9 d -10 -6 d -13 -9 d -9 -7 d -15 -10 d -7 -5 d -16 -12 d -4 -4 d -19 -15 d -18 -15 d -6 -5 d -11 -11 d -12 -11 d -4 -4 d -15 -15 d -5 -6 d -9 -10 d -12 93 | -15 d -2 -2 d -10 -14 d -11 -15 d -3 -5 d -6 -10 d -8 -16 d -7 -15 d -2 -5 d -4 -11 d -4 -15 d -3 -15 d -1 -16 d -15 Y 2 -15 d 5 -16 d 5 -11 d 2 -4 d 11 -16 d 10 -11 d 4 -4 d 19 -15 d 1 -1 d 23 -13 d 3 -2 d 21 -8 d 18 -7 d 5 -2 d 24 -6 d 23 -5 d 12 94 | -2 d 11 -2 d 24 -3 d 23 -2 d 24 -2 d 23 -1 d 47 X 23 1 d 24 1 d 23 2 d 24 2 d 23 2 d 11 2 d 13 1 d 23 3 d 23 4 d 24 4 d 18 3 d 5 1 d 24 5 d 23 5 d 22 4 d 2 1 d 23 5 d 23 6 d 13 4 d 11 3 d 23 6 d 21 6 d 3 1 d 23 7 d 22 7 d 2 1 d 23 8 d 20 7 d 3 1 d 95 | 24 9 d 14 5 d 9 4 d 24 10 d 5 2 d 18 8 d 17 7 d 7 3 d 23 11 d 3 1 d 20 10 d 11 6 d 13 7 d 16 8 d 7 4 d 21 11 d 3 2 d 22 14 d 1 X 24 15 d 22 16 d 1 X 21 15 d 2 2 d 18 13 d 6 5 d 12 11 d 11 9 d 7 6 d 16 16 d 1 X 14 15 d 9 10 d 5 5 d 12 16 d 7 9 d 4 6 96 | d 10 15 d 9 16 d 7 15 d 6 16 d 4 15 d 3 15 d 2 16 d 15 Y -3 16 d -4 15 d -6 15 d -9 16 d -12 15 d -11 11 d -5 4 d -19 15 d -1 1 d -22 13 d -4 2 d -20 9 d -15 7 d -8 2 d -24 8 d -20 5 d -3 1 d -23 5 d -24 4 d cl s[ 4 8] 0 sd 6 lw 1013 1145 m -24 1 d 97 | -23 1 d -71 X -23 -2 d -23 -1 d -24 -2 d -9 -2 d -14 -2 d -24 -3 d -23 -5 d -20 -5 d -4 -1 d -23 -7 d -20 -7 d -3 -2 d -24 -11 d -4 -3 d -19 -13 d -3 -2 d -16 -15 d -5 -8 d -4 -8 d -5 -15 d -1 -16 d 4 -15 d 6 -12 d 2 -3 d 12 -16 d 10 -9 d 7 -6 d 16 98 | -12 d 5 -4 d 19 -11 d 7 -4 d 16 -8 d 16 -7 d 7 -3 d 24 -9 d 9 -4 d 14 -5 d 24 -7 d 10 -3 d 13 -4 d 24 -5 d 23 -6 d 1 X 22 -5 d 24 -4 d 23 -4 d 15 -3 d 9 -1 d 23 -3 d 24 -3 d 23 -2 d 23 -3 d 24 -1 d 23 -2 d 4 X 20 -1 d 23 -1 d 70 X 24 1 d 23 1 d 2 X 99 | 22 1 d 23 2 d 24 3 d 23 3 d 23 4 d 13 2 d 11 2 d 23 6 d 24 7 d 2 1 d 21 8 d 17 7 d 7 4 d 17 11 d 6 6 d 9 10 d 8 15 d 2 15 d -3 16 d -9 15 d -7 9 d -5 7 d -17 15 d -1 1 d -21 14 d -3 2 d -22 14 d -1 X -24 12 d -6 3 d -17 8 d -18 8 d -6 2 d -23 9 d 100 | -12 4 d -11 4 d -24 7 d -13 4 d -10 3 d -24 6 d -23 6 d -1 1 d -23 5 d -23 5 d -23 4 d -4 1 d -20 3 d -23 4 d -24 3 d -23 3 d -18 2 d -6 1 d -23 2 d -23 2 d cl s 101 | gsave 2268 2176 0 0 C 1575.23 1811.13 t 0 r /Helvetica findfont 60.8783 sf 0 0 m (Standard Model) show NC gr [ ] 0 sd 3 lw 1525 1829 m34[ 4 8] 0 sd 6 lw 102 | gsave 2268 2176 0 0 C 1575.23 1727.42 t 0 r /Helvetica findfont 60.8783 sf 0 0 m (full model) show NC gr [ 12 12] 0 sd 9 lw 1489 1744 m 72 X s 103 | gsave 2268 2176 0 0 C 1575.23 1643.71 t 0 r /Helvetica findfont 60.8783 sf 0 0 m (fixed effective) show NC gr [ 4 8] 0 sd 6 lw 1489 1660 m 72 X s 104 | gr gr showpage 105 | end 106 | %%EOF 107 | -------------------------------------------------------------------------------- /plotsForPaper/twoBin/scenarioA_interpCode0_muTmuW_overlay_box.eps: -------------------------------------------------------------------------------- 1 | %!PS-Adobe-2.0 EPSF-2.0 2 | %%BoundingBox: 0 0 567 544 3 | %%Title: plots/twoBin/scenarioA_interpCode0_muTmuW_overlay_box.eps: canvas 4 | %%Creator: ROOT Version 5.34/13 5 | %%CreationDate: Wed Dec 18 17:23:09 2013 6 | %%EndComments 7 | %%BeginProlog 8 | 80 dict begin 9 | /s {stroke} def /l {lineto} def /m {moveto} def /t {translate} def 10 | /r {rotate} def /rl {roll} def /R {repeat} def 11 | /d {rlineto} def /rm {rmoveto} def /gr {grestore} def /f {eofill} def 12 | /c {setrgbcolor} def /black {0 setgray} def /sd {setdash} def 13 | /cl {closepath} def /sf {scalefont setfont} def /lw {setlinewidth} def 14 | /box {m dup 0 exch d exch 0 d 0 exch neg d cl} def 15 | /NC{systemdict begin initclip end}def/C{NC box clip newpath}def 16 | /bl {box s} def /bf {box f} def /Y { 0 exch d} def /X { 0 d} def 17 | /K {{pop pop 0 moveto} exch kshow} bind def 18 | /ita {/ang 15 def gsave [1 0 ang dup sin exch cos div 1 0 0] concat} def 19 | /mp {newpath /y exch def /x exch def} def 20 | /side {[w .77 mul w .23 mul] .385 w mul sd w 0 l currentpoint t -144 r} def 21 | /mr {mp x y w2 0 360 arc} def /m24 {mr s} def /m20 {mr f} def 22 | /mb {mp x y w2 add m w2 neg 0 d 0 w neg d w 0 d 0 w d cl} def 23 | /mt {mp x y w2 add m w2 neg w neg d w 0 d cl} def 24 | /m21 {mb f} def /m25 {mb s} def /m22 {mt f} def /m26{mt s} def 25 | /m23 {mp x y w2 sub m w2 w d w neg 0 d cl f} def 26 | /m27 {mp x y w2 add m w3 neg w2 neg d w3 w2 neg d w3 w2 d cl s} def 27 | /m28 {mp x w2 sub y w2 sub w3 add m w3 0 d 0 w3 neg d w3 0 d 0 w3 d w3 0 d 0 w3 d w3 neg 0 d 0 w3 d w3 neg 0 d 0 w3 neg d w3 neg 0 d cl s } def 28 | /m29 {mp gsave x w2 sub y w2 add w3 sub m currentpoint t 4 {side} repeat cl fill gr} def 29 | /m30 {mp gsave x w2 sub y w2 add w3 sub m currentpoint t 4 {side} repeat cl s gr} def 30 | /m31 {mp x y w2 sub m 0 w d x w2 sub y m w 0 d x w2 sub y w2 add m w w neg d x w2 sub y w2 sub m w w d s} def 31 | /m32 {mp x y w2 sub m w2 w d w neg 0 d cl s} def 32 | /m33 {mp x y w2 add m w3 neg w2 neg d w3 w2 neg d w3 w2 d cl f} def 33 | /m34 {mp x w2 sub y w2 sub w3 add m w3 0 d 0 w3 neg d w3 0 d 0 w3 d w3 0 d 0 w3 d w3 neg 0 d 0 w3 d w3 neg 0 d 0 w3 neg d w3 neg 0 d cl f } def 34 | /m2 {mp x y w2 sub m 0 w d x w2 sub y m w 0 d s} def 35 | /m5 {mp x w2 sub y w2 sub m w w d x w2 sub y w2 add m w w neg d s} def 36 | /reEncode {exch findfont dup length dict begin {1 index /FID eq {pop pop} {def} ifelse } forall /Encoding exch def currentdict end dup /FontName get exch definefont pop } def [/Times-Bold /Times-Italic /Times-BoldItalic /Helvetica /Helvetica-Oblique 37 | /Helvetica-Bold /Helvetica-BoldOblique /Courier /Courier-Oblique /Courier-Bold /Courier-BoldOblique /Times-Roman /AvantGarde-Book /AvantGarde-BookOblique /AvantGarde-Demi /AvantGarde-DemiOblique /Bookman-Demi /Bookman-DemiItalic /Bookman-Light 38 | /Bookman-LightItalic /Helvetica-Narrow /Helvetica-Narrow-Bold /Helvetica-Narrow-BoldOblique /Helvetica-Narrow-Oblique /NewCenturySchlbk-Roman /NewCenturySchlbk-Bold /NewCenturySchlbk-BoldItalic /NewCenturySchlbk-Italic /Palatino-Bold 39 | /Palatino-BoldItalic /Palatino-Italic /Palatino-Roman ] {ISOLatin1Encoding reEncode } forall 40 | %%EndProlog 41 | %%BeginSetup 42 | %%EndSetup 43 | newpath gsave .25 .25 scale gsave 0 0 t black[ ] 0 sd 3 lw 1 1 1 c 2268 2176 0 0 bf black 1 1 1 c 1791 1720 363 348 bf black 1791 1720 363 348 bl 1 1 1 c 1791 1720 363 348 bf black 1791 1720 363 348 bl 363 348 m 1791 X s 44 | gsave 2268 2176 0 0 C 1989.96 133.171 t 0 r /Helvetica findfont 45.6587 sf 0 0 m (ggF+ttH) show NC gr 45 | gsave 2268 2176 0 0 C 1989.96 197.854 t 0 r /Helvetica findfont 45.6587 sf 0 0 m (f) show NC gr 46 | gsave 2268 2176 0 0 C 1948.11 175.025 t 0 r /Symbol findfont 72.293 sf 0 0 m (m) show NC gr 501 400 m -52 Y s 570 374 m -26 Y s 638 374 m -26 Y s 707 374 m -26 Y s 776 400 m -52 Y s 845 374 m -26 Y s 914 374 m -26 Y s 983 374 m -26 Y s 1052 400 m 47 | -52 Y s 1121 374 m -26 Y s 1190 374 m -26 Y s 1259 374 m -26 Y s 1327 400 m -52 Y s 1396 374 m -26 Y s 1465 374 m -26 Y s 1534 374 m -26 Y s 1603 400 m -52 Y s 1672 374 m -26 Y s 1741 374 m -26 Y s 1810 374 m -26 Y s 1879 400 m -52 Y s 1948 374 m 48 | -26 Y s 2017 374 m -26 Y s 2085 374 m -26 Y s 2154 400 m -52 Y s 501 400 m -52 Y s 432 374 m -26 Y s 363 374 m -26 Y s 49 | gsave 2268 2176 0 0 C 448.977 277.757 t 0 r /Helvetica findfont 72.293 sf 0 0 m (0.6) show NC gr 50 | gsave 2268 2176 0 0 C 726.735 277.757 t 0 r /Helvetica findfont 72.293 sf 0 0 m (0.8) show NC gr 51 | gsave 2268 2176 0 0 C 1034.93 277.757 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1) show NC gr 52 | gsave 2268 2176 0 0 C 1274.64 277.757 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1.2) show NC gr 53 | gsave 2268 2176 0 0 C 1552.4 277.757 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1.4) show NC gr 54 | gsave 2268 2176 0 0 C 1826.35 277.757 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1.6) show NC gr 55 | gsave 2268 2176 0 0 C 2104.11 277.757 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1.8) show NC gr 363 2068 m 1791 X s 501 2016 m 52 Y s 570 2042 m 26 Y s 638 2042 m 26 Y s 707 2042 m 26 Y s 776 2016 m 52 Y s 845 2042 m 26 Y s 914 2042 m 26 Y s 983 56 | 2042 m 26 Y s 1052 2016 m 52 Y s 1121 2042 m 26 Y s 1190 2042 m 26 Y s 1259 2042 m 26 Y s 1327 2016 m 52 Y s 1396 2042 m 26 Y s 1465 2042 m 26 Y s 1534 2042 m 26 Y s 1603 2016 m 52 Y s 1672 2042 m 26 Y s 1741 2042 m 26 Y s 1810 2042 m 26 Y s 1879 57 | 2016 m 52 Y s 1948 2042 m 26 Y s 2017 2042 m 26 Y s 2085 2042 m 26 Y s 2154 2016 m 52 Y s 501 2016 m 52 Y s 432 2042 m 26 Y s 363 2042 m 26 Y s 363 348 m 1720 Y s 58 | gsave 2268 2176 0 0 C 232.099 1891.03 t 90 r /Helvetica findfont 45.6587 sf 0 0 m (VBF+VH) show NC gr 59 | gsave 2268 2176 0 0 C 167.415 1891.03 t 90 r /Helvetica findfont 45.6587 sf 0 0 m (f) show NC gr 60 | gsave 2268 2176 0 0 C 190.245 1849.18 t 90 r /Symbol findfont 72.293 sf 0 0 m (m) show NC gr 417 439 m -54 X s 390 484 m -27 X s 390 529 m -27 X s 390 574 m -27 X s 417 620 m -54 X s 390 665 m -27 X s 390 710 m -27 X s 390 755 m -27 X s 417 801 m 61 | -54 X s 390 846 m -27 X s 390 891 m -27 X s 390 936 m -27 X s 417 982 m -54 X s 390 1027 m -27 X s 390 1072 m -27 X s 390 1117 m -27 X s 417 1163 m -54 X s 390 1208 m -27 X s 390 1253 m -27 X s 390 1298 m -27 X s 417 1344 m -54 X s 390 1389 m -27 X 62 | s 390 1434 m -27 X s 390 1479 m -27 X s 417 1525 m -54 X s 390 1570 m -27 X s 390 1615 m -27 X s 390 1660 m -27 X s 417 1706 m -54 X s 390 1751 m -27 X s 390 1796 m -27 X s 390 1841 m -27 X s 417 1887 m -54 X s 390 1932 m -27 X s 390 1977 m -27 X s 63 | 390 2022 m -27 X s 417 2068 m -54 X s 417 439 m -54 X s 390 393 m -27 X s 64 | gsave 2268 2176 0 0 C 251.123 414.733 t 0 r /Helvetica findfont 72.293 sf 0 0 m (0.4) show NC gr 65 | gsave 2268 2176 0 0 C 251.123 593.563 t 0 r /Helvetica findfont 72.293 sf 0 0 m (0.6) show NC gr 66 | gsave 2268 2176 0 0 C 251.123 776.198 t 0 r /Helvetica findfont 72.293 sf 0 0 m (0.8) show NC gr 67 | gsave 2268 2176 0 0 C 323.416 955.028 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1) show NC gr 68 | gsave 2268 2176 0 0 C 251.123 1133.86 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1.2) show NC gr 69 | gsave 2268 2176 0 0 C 251.123 1316.49 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1.4) show NC gr 70 | gsave 2268 2176 0 0 C 251.123 1499.13 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1.6) show NC gr 71 | gsave 2268 2176 0 0 C 251.123 1681.76 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1.8) show NC gr 72 | gsave 2268 2176 0 0 C 312.001 1856.79 t 0 r /Helvetica findfont 72.293 sf 0 0 m (2) show NC gr 73 | gsave 2268 2176 0 0 C 251.123 2039.42 t 0 r /Helvetica findfont 72.293 sf 0 0 m (2.2) show NC gr 2154 348 m 1720 Y s 2101 439 m 53 X s 2127 484 m 27 X s 2127 529 m 27 X s 2127 574 m 27 X s 2101 620 m 53 X s 2127 665 m 27 X s 2127 710 m 27 X s 2127 74 | 755 m 27 X s 2101 801 m 53 X s 2127 846 m 27 X s 2127 891 m 27 X s 2127 936 m 27 X s 2101 982 m 53 X s 2127 1027 m 27 X s 2127 1072 m 27 X s 2127 1117 m 27 X s 2101 1163 m 53 X s 2127 1208 m 27 X s 2127 1253 m 27 X s 2127 1298 m 27 X s 2101 1344 m 75 | 53 X s 2127 1389 m 27 X s 2127 1434 m 27 X s 2127 1479 m 27 X s 2101 1525 m 53 X s 2127 1570 m 27 X s 2127 1615 m 27 X s 2127 1660 m 27 X s 2101 1706 m 53 X s 2127 1751 m 27 X s 2127 1796 m 27 X s 2127 1841 m 27 X s 2101 1887 m 53 X s 2127 1932 m 27 76 | X s 2127 1977 m 27 X s 2127 2022 m 27 X s 2101 2068 m 53 X s 2101 439 m 53 X s 2127 393 m 27 X s /w 30 def /w2 {w 2 div} def /w3 {w 3 div} def 1052 982 m34 77 | gsave 2268 2176 0 0 C 498.441 1917.67 t 0 r /Helvetica-Bold findfont 60.8783 sf 0 0 m (Recoupled contours) show NC gr 1 0 0 c 6 lw black 1 0 0 c 1487 1397 m -32 4 d -32 4 d -31 3 d -32 3 d -32 2 d -1 X -31 1 d -31 1 d -32 X -32 -1 d -25 -1 d -6 X 78 | -32 -3 d -32 -3 d -31 -5 d -32 -5 d -22 -5 d -10 -2 d -31 -9 d -29 -10 d -3 -1 d -32 -14 d -10 -6 d -22 -14 d -9 -6 d -21 -21 d -1 -2 d -19 -19 d -13 -14 d -7 -7 d -20 -21 d -5 -5 d -14 -15 d -17 -18 d -3 -3 d -20 -21 d -9 -9 d -11 -12 d -20 -21 d 79 | -1 X -19 -21 d -12 -12 d -8 -8 d -20 -21 d -4 -4 d -16 -17 d -16 -16 d -4 -5 d -20 -21 d -8 -7 d -12 -13 d -19 -21 d -1 X -20 -21 d -11 -12 d -9 -9 d -20 -21 d -3 -3 d -14 -17 d -8 -21 d 2 -21 d 11 -21 d 9 -10 d 11 -11 d 21 -14 d 11 -7 d 21 -10 d 22 80 | -10 d 9 -4 d 32 -11 d 19 -6 d 13 -4 d 32 -7 d 31 -7 d 13 -3 d 19 -3 d 32 -5 d 31 -4 d 32 -3 d 32 -3 d 31 -2 d 32 -1 d 38 X 26 1 d 31 2 d 32 2 d 32 4 d 31 5 d 32 7 d 1 X 31 10 d 27 11 d 4 2 d 32 14 d 12 5 d 20 9 d 27 11 d 4 3 d 32 13 d 11 5 d 21 10 d 81 | 26 11 d 6 2 d 31 14 d 11 5 d 21 9 d 26 12 d 6 2 d 31 14 d 11 5 d 21 9 d 26 11 d 6 3 d 31 14 d 10 4 d 22 10 d 25 11 d 7 3 d 32 14 d 9 4 d 22 10 d 25 11 d 7 3 d 32 13 d 9 4 d 22 11 d 25 10 d 7 3 d 32 14 d 8 4 d 23 10 d 24 11 d 8 5 d 24 16 d 8 8 d 11 82 | 12 d 9 21 d 21 Y -7 21 d -13 19 d -1 2 d -21 21 d -10 8 d -16 12 d -16 10 d -17 11 d -14 8 d -26 13 d -6 3 d -32 14 d -9 4 d -22 8 d -32 12 d -1 1 d -31 10 d -31 9 d -4 1 d -28 8 d -32 8 d -21 5 d -11 3 d -31 6 d -32 6 d -31 6 d -1 X -31 5 d cl s 0 83 | 0 1 c[ 20 12 4 12] 0 sd black 0 0 1 c 1487 1397 m -32 4 d -32 4 d -31 3 d -32 3 d -32 2 d -3 X -29 1 d -31 1 d -32 X -32 -1 d -23 -1 d -8 -1 d -32 -2 d -32 -4 d -31 -4 d -32 -6 d -21 -4 d -11 -2 d -31 -9 d -29 -10 d -3 -1 d -32 -14 d -10 -6 d -22 84 | -14 d -9 -6 d -21 -21 d -1 -2 d -19 -19 d -13 -14 d -7 -7 d -20 -21 d -5 -5 d -14 -15 d -17 -18 d -3 -3 d -20 -21 d -9 -9 d -11 -12 d -20 -21 d -1 X -19 -21 d -12 -12 d -8 -8 d -20 -21 d -4 -4 d -16 -17 d -16 -16 d -4 -5 d -20 -21 d -8 -7 d -12 -13 85 | d -19 -21 d -1 X -20 -21 d -11 -12 d -9 -9 d -20 -21 d -3 -3 d -14 -17 d -8 -21 d 2 -21 d 11 -21 d 9 -10 d 11 -11 d 21 -14 d 10 -7 d 22 -10 d 22 -10 d 9 -4 d 32 -11 d 19 -6 d 13 -4 d 32 -7 d 31 -7 d 13 -3 d 19 -3 d 32 -5 d 31 -4 d 32 -3 d 32 -3 d 31 86 | -2 d 32 -1 d 39 X 25 1 d 31 1 d 32 3 d 32 4 d 31 5 d 32 7 d 1 X 31 10 d 27 11 d 4 2 d 32 14 d 12 5 d 20 9 d 27 11 d 4 3 d 32 13 d 11 5 d 21 10 d 27 11 d 5 2 d 31 14 d 11 5 d 21 9 d 26 12 d 6 2 d 31 14 d 11 5 d 21 9 d 26 11 d 6 3 d 31 14 d 10 4 d 22 87 | 10 d 26 11 d 6 3 d 32 14 d 9 4 d 22 10 d 25 11 d 7 3 d 32 13 d 9 4 d 22 10 d 25 11 d 7 3 d 32 14 d 8 4 d 23 10 d 24 11 d 8 5 d 24 16 d 8 8 d 11 12 d 9 21 d 21 Y -7 21 d -13 19 d -1 2 d -21 21 d -10 7 d -17 13 d -15 10 d -18 11 d -13 7 d -26 14 d -6 88 | 3 d -32 14 d -9 4 d -22 8 d -32 12 d -1 1 d -31 9 d -31 10 d -4 1 d -28 8 d -32 8 d -21 5 d -11 3 d -31 6 d -32 6 d -32 6 d -31 5 d cl s black 89 | gsave 2268 2176 0 0 C 597.368 1811.13 t 0 r /Helvetica findfont 60.8783 sf 0 0 m (aligned) show NC gr 1 0 0 c[ ] 0 sd 514 1829 m 72 X s black 90 | gsave 2268 2176 0 0 C 597.368 1727.42 t 0 r /Helvetica findfont 60.8783 sf 0 0 m (learning) show NC gr 0 0 1 c[ 20 12 4 12] 0 sd 514 1744 m 72 X s black 91 | gsave 2268 2176 0 0 C 1495.32 1917.67 t 0 r /Helvetica-Bold findfont 60.8783 sf 0 0 m (68% CL contours) show NC gr [ 12 12] 0 sd 9 lw 1551 1386 m -1 1 d -22 3 d -23 4 d -24 4 d -23 3 d -8 1 d -16 2 d -23 2 d -24 3 d -23 2 d -23 1 d -24 1 d -23 1 d 92 | -24 1 d -47 X -23 -1 d -23 -1 d -24 -2 d -23 -2 d -24 -2 d -23 -3 d -11 -2 d -13 -2 d -23 -5 d -23 -5 d -14 -3 d -10 -3 d -23 -8 d -15 -5 d -9 -3 d -23 -11 d -3 -1 d -21 -12 d -5 -4 d -18 -13 d -2 -2 d -15 -15 d -6 -7 d -9 -9 d -15 -15 d -14 -15 d 93 | -9 -10 d -6 -6 d -15 -15 d -3 -3 d -11 -13 d -12 -12 d -3 -3 d -15 -15 d -6 -6 d -9 -10 d -14 -14 d -1 -1 d -14 -16 d -8 -8 d -7 -7 d -15 -15 d -2 -2 d -12 -14 d -11 -11 d -4 -4 d -15 -15 d -5 -5 d -10 -11 d -13 -14 d -1 -1 d -15 -16 d -8 -7 d -7 -8 94 | d -15 -15 d -1 -2 d -13 -14 d -10 -10 d -5 -5 d -15 -16 d -4 -4 d -10 -11 d -13 -13 d -2 -2 d -13 -16 d -8 -15 d -1 -6 d -1 -9 d 1 -5 d 3 -11 d 8 -15 d 13 -15 d -1 Y 19 -15 d 4 -3 d 20 -12 d 4 -2 d 23 -12 d 5 -2 d 18 -7 d 21 -8 d 3 -1 d 23 -7 d 24 95 | -7 d 2 X 21 -5 d 24 -6 d 23 -4 d 3 -1 d 20 -3 d 24 -4 d 23 -3 d 24 -3 d 23 -2 d 4 X 20 -2 d 23 -1 d 23 -1 d 24 -1 d 23 X 24 1 d 23 X 24 2 d 23 1 d 6 1 d 17 2 d 24 3 d 23 4 d 24 5 d 6 1 d 17 5 d 24 8 d 6 3 d 17 7 d 18 8 d 5 2 d 24 11 d 6 2 d 17 8 d 96 | 18 8 d 6 2 d 23 10 d 6 3 d 18 8 d 17 7 d 6 3 d 23 10 d 6 3 d 18 8 d 17 7 d 6 3 d 24 10 d 5 3 d 18 8 d 17 7 d 7 3 d 23 10 d 5 2 d 18 9 d 17 7 d 7 3 d 23 10 d 5 2 d 19 8 d 16 7 d 7 4 d 24 10 d 4 2 d 19 8 d 16 7 d 7 4 d 24 10 d 4 2 d 19 8 d 16 7 d 8 4 97 | d 23 10 d 4 1 d 20 9 d 15 7 d 8 3 d 23 11 d 4 1 d 20 9 d 15 7 d 8 3 d 24 11 d 2 1 d 21 12 d 5 3 d 18 16 d 1 1 d 10 14 d 6 15 d 2 16 d -3 15 d -7 16 d -8 13 d -2 2 d -14 15 d -8 8 d -9 8 d -14 10 d -7 5 d -17 11 d -7 5 d -16 9 d -12 6 d -12 6 d -19 9 98 | d -4 2 d -23 10 d -9 4 d -15 5 d -23 9 d -3 1 d -21 7 d -23 8 d -1 X -23 7 d -23 7 d -7 2 d -16 4 d -24 6 d -21 5 d -2 1 d -24 5 d -23 5 d -24 4 d cl s[ 4 8] 0 sd 6 lw 1013 1145 m -24 1 d -23 1 d -71 X -23 -2 d -23 -1 d -24 -2 d -9 -2 d -14 -2 d -24 99 | -3 d -23 -5 d -20 -5 d -4 -1 d -23 -7 d -20 -7 d -3 -2 d -24 -11 d -4 -3 d -19 -13 d -3 -2 d -16 -15 d -5 -8 d -4 -8 d -5 -15 d -1 -16 d 4 -15 d 6 -12 d 2 -3 d 12 -16 d 10 -9 d 7 -6 d 16 -12 d 5 -4 d 19 -11 d 7 -4 d 16 -8 d 16 -7 d 7 -3 d 24 -9 d 9 100 | -4 d 14 -5 d 24 -7 d 10 -3 d 13 -4 d 24 -5 d 23 -6 d 1 X 22 -5 d 24 -4 d 23 -4 d 15 -3 d 9 -1 d 23 -3 d 24 -3 d 23 -2 d 23 -3 d 24 -1 d 23 -2 d 4 X 20 -1 d 23 -1 d 70 X 24 1 d 23 1 d 2 X 22 1 d 23 2 d 24 3 d 23 3 d 23 4 d 13 2 d 11 2 d 23 6 d 24 7 d 101 | 2 1 d 21 8 d 17 7 d 7 4 d 17 11 d 6 6 d 9 10 d 8 15 d 2 15 d -3 16 d -9 15 d -7 9 d -5 7 d -17 15 d -1 1 d -21 14 d -3 2 d -22 14 d -1 X -24 12 d -6 3 d -17 8 d -18 8 d -6 2 d -23 9 d -12 4 d -11 4 d -24 7 d -13 4 d -10 3 d -24 6 d -23 6 d -1 1 d 102 | -23 5 d -23 5 d -23 4 d -4 1 d -20 3 d -23 4 d -24 3 d -23 3 d -18 2 d -6 1 d -23 2 d -23 2 d cl s 103 | gsave 2268 2176 0 0 C 1575.23 1811.13 t 0 r /Helvetica findfont 60.8783 sf 0 0 m (Standard Model) show NC gr [ ] 0 sd 3 lw 1525 1829 m34[ 4 8] 0 sd 6 lw 104 | gsave 2268 2176 0 0 C 1575.23 1727.42 t 0 r /Helvetica findfont 60.8783 sf 0 0 m (full model) show NC gr [ 12 12] 0 sd 9 lw 1489 1744 m 72 X s 105 | gsave 2268 2176 0 0 C 1575.23 1643.71 t 0 r /Helvetica findfont 60.8783 sf 0 0 m (fixed effective) show NC gr [ 4 8] 0 sd 6 lw 1489 1660 m 72 X s 106 | gr gr showpage 107 | end 108 | %%EOF 109 | -------------------------------------------------------------------------------- /plotsForPaper/twoBin/scenarioC_interpCode0_muTmuW_overlay.eps: -------------------------------------------------------------------------------- 1 | %!PS-Adobe-2.0 EPSF-2.0 2 | %%BoundingBox: 0 0 567 544 3 | %%Title: plots/twoBin/scenarioC_interpCode0_muTmuW_overlay.eps: canvas 4 | %%Creator: ROOT Version 5.34/13 5 | %%CreationDate: Wed Dec 18 17:23:09 2013 6 | %%EndComments 7 | %%BeginProlog 8 | 80 dict begin 9 | /s {stroke} def /l {lineto} def /m {moveto} def /t {translate} def 10 | /r {rotate} def /rl {roll} def /R {repeat} def 11 | /d {rlineto} def /rm {rmoveto} def /gr {grestore} def /f {eofill} def 12 | /c {setrgbcolor} def /black {0 setgray} def /sd {setdash} def 13 | /cl {closepath} def /sf {scalefont setfont} def /lw {setlinewidth} def 14 | /box {m dup 0 exch d exch 0 d 0 exch neg d cl} def 15 | /NC{systemdict begin initclip end}def/C{NC box clip newpath}def 16 | /bl {box s} def /bf {box f} def /Y { 0 exch d} def /X { 0 d} def 17 | /K {{pop pop 0 moveto} exch kshow} bind def 18 | /ita {/ang 15 def gsave [1 0 ang dup sin exch cos div 1 0 0] concat} def 19 | /mp {newpath /y exch def /x exch def} def 20 | /side {[w .77 mul w .23 mul] .385 w mul sd w 0 l currentpoint t -144 r} def 21 | /mr {mp x y w2 0 360 arc} def /m24 {mr s} def /m20 {mr f} def 22 | /mb {mp x y w2 add m w2 neg 0 d 0 w neg d w 0 d 0 w d cl} def 23 | /mt {mp x y w2 add m w2 neg w neg d w 0 d cl} def 24 | /m21 {mb f} def /m25 {mb s} def /m22 {mt f} def /m26{mt s} def 25 | /m23 {mp x y w2 sub m w2 w d w neg 0 d cl f} def 26 | /m27 {mp x y w2 add m w3 neg w2 neg d w3 w2 neg d w3 w2 d cl s} def 27 | /m28 {mp x w2 sub y w2 sub w3 add m w3 0 d 0 w3 neg d w3 0 d 0 w3 d w3 0 d 0 w3 d w3 neg 0 d 0 w3 d w3 neg 0 d 0 w3 neg d w3 neg 0 d cl s } def 28 | /m29 {mp gsave x w2 sub y w2 add w3 sub m currentpoint t 4 {side} repeat cl fill gr} def 29 | /m30 {mp gsave x w2 sub y w2 add w3 sub m currentpoint t 4 {side} repeat cl s gr} def 30 | /m31 {mp x y w2 sub m 0 w d x w2 sub y m w 0 d x w2 sub y w2 add m w w neg d x w2 sub y w2 sub m w w d s} def 31 | /m32 {mp x y w2 sub m w2 w d w neg 0 d cl s} def 32 | /m33 {mp x y w2 add m w3 neg w2 neg d w3 w2 neg d w3 w2 d cl f} def 33 | /m34 {mp x w2 sub y w2 sub w3 add m w3 0 d 0 w3 neg d w3 0 d 0 w3 d w3 0 d 0 w3 d w3 neg 0 d 0 w3 d w3 neg 0 d 0 w3 neg d w3 neg 0 d cl f } def 34 | /m2 {mp x y w2 sub m 0 w d x w2 sub y m w 0 d s} def 35 | /m5 {mp x w2 sub y w2 sub m w w d x w2 sub y w2 add m w w neg d s} def 36 | /reEncode {exch findfont dup length dict begin {1 index /FID eq {pop pop} {def} ifelse } forall /Encoding exch def currentdict end dup /FontName get exch definefont pop } def [/Times-Bold /Times-Italic /Times-BoldItalic /Helvetica /Helvetica-Oblique 37 | /Helvetica-Bold /Helvetica-BoldOblique /Courier /Courier-Oblique /Courier-Bold /Courier-BoldOblique /Times-Roman /AvantGarde-Book /AvantGarde-BookOblique /AvantGarde-Demi /AvantGarde-DemiOblique /Bookman-Demi /Bookman-DemiItalic /Bookman-Light 38 | /Bookman-LightItalic /Helvetica-Narrow /Helvetica-Narrow-Bold /Helvetica-Narrow-BoldOblique /Helvetica-Narrow-Oblique /NewCenturySchlbk-Roman /NewCenturySchlbk-Bold /NewCenturySchlbk-BoldItalic /NewCenturySchlbk-Italic /Palatino-Bold 39 | /Palatino-BoldItalic /Palatino-Italic /Palatino-Roman ] {ISOLatin1Encoding reEncode } forall 40 | %%EndProlog 41 | %%BeginSetup 42 | %%EndSetup 43 | newpath gsave .25 .25 scale gsave 0 0 t black[ ] 0 sd 3 lw 1 1 1 c 2268 2176 0 0 bf black 1 1 1 c 1791 1720 363 348 bf black 1791 1720 363 348 bl 1 1 1 c 1791 1720 363 348 bf black 1791 1720 363 348 bl 363 348 m 1791 X s 44 | gsave 2268 2176 0 0 C 1989.96 133.171 t 0 r /Helvetica findfont 45.6587 sf 0 0 m (ggF+ttH) show NC gr 45 | gsave 2268 2176 0 0 C 1989.96 197.854 t 0 r /Helvetica findfont 45.6587 sf 0 0 m (f) show NC gr 46 | gsave 2268 2176 0 0 C 1948.11 175.025 t 0 r /Symbol findfont 72.293 sf 0 0 m (m) show NC gr 501 400 m -52 Y s 570 374 m -26 Y s 638 374 m -26 Y s 707 374 m -26 Y s 776 400 m -52 Y s 845 374 m -26 Y s 914 374 m -26 Y s 983 374 m -26 Y s 1052 400 m 47 | -52 Y s 1121 374 m -26 Y s 1190 374 m -26 Y s 1259 374 m -26 Y s 1327 400 m -52 Y s 1396 374 m -26 Y s 1465 374 m -26 Y s 1534 374 m -26 Y s 1603 400 m -52 Y s 1672 374 m -26 Y s 1741 374 m -26 Y s 1810 374 m -26 Y s 1879 400 m -52 Y s 1948 374 m 48 | -26 Y s 2017 374 m -26 Y s 2085 374 m -26 Y s 2154 400 m -52 Y s 501 400 m -52 Y s 432 374 m -26 Y s 363 374 m -26 Y s 49 | gsave 2268 2176 0 0 C 448.977 277.757 t 0 r /Helvetica findfont 72.293 sf 0 0 m (0.6) show NC gr 50 | gsave 2268 2176 0 0 C 726.735 277.757 t 0 r /Helvetica findfont 72.293 sf 0 0 m (0.8) show NC gr 51 | gsave 2268 2176 0 0 C 1034.93 277.757 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1) show NC gr 52 | gsave 2268 2176 0 0 C 1274.64 277.757 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1.2) show NC gr 53 | gsave 2268 2176 0 0 C 1552.4 277.757 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1.4) show NC gr 54 | gsave 2268 2176 0 0 C 1826.35 277.757 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1.6) show NC gr 55 | gsave 2268 2176 0 0 C 2104.11 277.757 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1.8) show NC gr 363 2068 m 1791 X s 501 2016 m 52 Y s 570 2042 m 26 Y s 638 2042 m 26 Y s 707 2042 m 26 Y s 776 2016 m 52 Y s 845 2042 m 26 Y s 914 2042 m 26 Y s 983 56 | 2042 m 26 Y s 1052 2016 m 52 Y s 1121 2042 m 26 Y s 1190 2042 m 26 Y s 1259 2042 m 26 Y s 1327 2016 m 52 Y s 1396 2042 m 26 Y s 1465 2042 m 26 Y s 1534 2042 m 26 Y s 1603 2016 m 52 Y s 1672 2042 m 26 Y s 1741 2042 m 26 Y s 1810 2042 m 26 Y s 1879 57 | 2016 m 52 Y s 1948 2042 m 26 Y s 2017 2042 m 26 Y s 2085 2042 m 26 Y s 2154 2016 m 52 Y s 501 2016 m 52 Y s 432 2042 m 26 Y s 363 2042 m 26 Y s 363 348 m 1720 Y s 58 | gsave 2268 2176 0 0 C 232.099 1891.03 t 90 r /Helvetica findfont 45.6587 sf 0 0 m (VBF+VH) show NC gr 59 | gsave 2268 2176 0 0 C 167.415 1891.03 t 90 r /Helvetica findfont 45.6587 sf 0 0 m (f) show NC gr 60 | gsave 2268 2176 0 0 C 190.245 1849.18 t 90 r /Symbol findfont 72.293 sf 0 0 m (m) show NC gr 417 439 m -54 X s 390 484 m -27 X s 390 529 m -27 X s 390 574 m -27 X s 417 620 m -54 X s 390 665 m -27 X s 390 710 m -27 X s 390 755 m -27 X s 417 801 m 61 | -54 X s 390 846 m -27 X s 390 891 m -27 X s 390 936 m -27 X s 417 982 m -54 X s 390 1027 m -27 X s 390 1072 m -27 X s 390 1117 m -27 X s 417 1163 m -54 X s 390 1208 m -27 X s 390 1253 m -27 X s 390 1298 m -27 X s 417 1344 m -54 X s 390 1389 m -27 X 62 | s 390 1434 m -27 X s 390 1479 m -27 X s 417 1525 m -54 X s 390 1570 m -27 X s 390 1615 m -27 X s 390 1660 m -27 X s 417 1706 m -54 X s 390 1751 m -27 X s 390 1796 m -27 X s 390 1841 m -27 X s 417 1887 m -54 X s 390 1932 m -27 X s 390 1977 m -27 X s 63 | 390 2022 m -27 X s 417 2068 m -54 X s 417 439 m -54 X s 390 393 m -27 X s 64 | gsave 2268 2176 0 0 C 251.123 414.733 t 0 r /Helvetica findfont 72.293 sf 0 0 m (0.4) show NC gr 65 | gsave 2268 2176 0 0 C 251.123 593.563 t 0 r /Helvetica findfont 72.293 sf 0 0 m (0.6) show NC gr 66 | gsave 2268 2176 0 0 C 251.123 776.198 t 0 r /Helvetica findfont 72.293 sf 0 0 m (0.8) show NC gr 67 | gsave 2268 2176 0 0 C 323.416 955.028 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1) show NC gr 68 | gsave 2268 2176 0 0 C 251.123 1133.86 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1.2) show NC gr 69 | gsave 2268 2176 0 0 C 251.123 1316.49 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1.4) show NC gr 70 | gsave 2268 2176 0 0 C 251.123 1499.13 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1.6) show NC gr 71 | gsave 2268 2176 0 0 C 251.123 1681.76 t 0 r /Helvetica findfont 72.293 sf 0 0 m (1.8) show NC gr 72 | gsave 2268 2176 0 0 C 312.001 1856.79 t 0 r /Helvetica findfont 72.293 sf 0 0 m (2) show NC gr 73 | gsave 2268 2176 0 0 C 251.123 2039.42 t 0 r /Helvetica findfont 72.293 sf 0 0 m (2.2) show NC gr 2154 348 m 1720 Y s 2101 439 m 53 X s 2127 484 m 27 X s 2127 529 m 27 X s 2127 574 m 27 X s 2101 620 m 53 X s 2127 665 m 27 X s 2127 710 m 27 X s 2127 74 | 755 m 27 X s 2101 801 m 53 X s 2127 846 m 27 X s 2127 891 m 27 X s 2127 936 m 27 X s 2101 982 m 53 X s 2127 1027 m 27 X s 2127 1072 m 27 X s 2127 1117 m 27 X s 2101 1163 m 53 X s 2127 1208 m 27 X s 2127 1253 m 27 X s 2127 1298 m 27 X s 2101 1344 m 75 | 53 X s 2127 1389 m 27 X s 2127 1434 m 27 X s 2127 1479 m 27 X s 2101 1525 m 53 X s 2127 1570 m 27 X s 2127 1615 m 27 X s 2127 1660 m 27 X s 2101 1706 m 53 X s 2127 1751 m 27 X s 2127 1796 m 27 X s 2127 1841 m 27 X s 2101 1887 m 53 X s 2127 1932 m 27 76 | X s 2127 1977 m 27 X s 2127 2022 m 27 X s 2101 2068 m 53 X s 2101 439 m 53 X s 2127 393 m 27 X s /w 30 def /w2 {w 2 div} def /w3 {w 3 div} def 1052 982 m34 77 | gsave 2268 2176 0 0 C 498.441 1917.67 t 0 r /Helvetica-Bold findfont 60.8783 sf 0 0 m (Recoupled contours) show NC gr 1 0 0 c 6 lw black 1 0 0 c 853 1418 m -32 5 d -32 3 d -31 X -32 -5 d -29 -8 d -3 -1 d -31 -16 d -6 -4 d -26 -20 d -1 Y -18 -21 d 78 | -14 -19 d -1 Y -10 -21 d -7 -21 d -5 -21 d -3 -21 d -2 -20 d 1 -21 d 3 -21 d 4 -21 d 5 -21 d 7 -21 d 7 -17 d 2 -3 d 10 -21 d 12 -21 d 8 -13 d 5 -8 d 15 -21 d 12 -15 d 4 -5 d 17 -21 d 10 -11 d 10 -10 d 21 -21 d 1 -1 d 23 -20 d 9 -7 d 16 -13 d 15 -13 79 | d 12 -8 d 20 -15 d 9 -6 d 23 -15 d 8 -6 d 23 -15 d 11 -6 d 21 -12 d 15 -9 d 17 -8 d 22 -12 d 10 -5 d 31 -15 d 2 -1 d 30 -14 d 17 -7 d 15 -6 d 31 -13 d 5 -2 d 27 -10 d 31 -11 d 1 X 31 -10 d 32 -10 d 3 X 29 -8 d 31 -7 d 29 -6 d 3 -1 d 32 -5 d 32 -3 d 80 | 31 -3 d 32 X 32 3 d 31 7 d 6 2 d 26 14 d 9 7 d 16 20 d 7 21 d 1 21 d -1 12 d -1 9 d -6 21 d -7 20 d -9 21 d -9 19 d -1 2 d -12 21 d -13 21 d -6 9 d -7 12 d -15 20 d -9 13 d -6 8 d -17 21 d -9 12 d -7 9 d -18 21 d -7 8 d -11 12 d -18 21 d -2 3 d -18 81 | 18 d -14 15 d -6 6 d -20 21 d -6 6 d -15 14 d -17 17 d -5 4 d -22 21 d -4 4 d -19 17 d -13 11 d -11 10 d -21 17 d -4 4 d -25 20 d -2 2 d -26 19 d -6 5 d -22 16 d -10 7 d -20 14 d -11 7 d -21 14 d -11 6 d -24 14 d -8 5 d -31 16 d -32 15 d -15 6 d -17 82 | 7 d -32 11 d -12 3 d -19 5 d cl s 0 0.6 0 c[ 12 12] 0 sd black 0 0.6 0 c 821 1343 m -32 4 d -31 2 d -32 -1 d -32 -4 d -31 -7 d -19 -7 d -13 -7 d -22 -14 d -10 -10 d -9 -11 d -11 -21 d -6 -21 d -2 -20 d 1 -21 d 4 -21 d 6 -21 d 8 -21 d 9 -20 d -1 Y 12 83 | -20 d 12 -21 d 8 -12 d 6 -9 d 15 -21 d 11 -14 d 4 -7 d 18 -20 d 9 -12 d 9 -9 d 19 -21 d 4 -4 d 16 -17 d 16 -16 d 5 -5 d 22 -20 d 4 -5 d 19 -16 d 13 -12 d 11 -9 d 21 -17 d 4 -4 d 26 -21 d 1 -1 d 26 -20 d 6 -4 d 23 -16 d 9 -7 d 20 -14 d 12 -8 d 20 -13 84 | d 11 -8 d 22 -13 d 10 -6 d 24 -15 d 8 -4 d 30 -16 d 1 -1 d 32 -16 d 8 -4 d 24 -11 d 23 -10 d 8 -4 d 32 -12 d 14 -5 d 18 -6 d 31 -9 d 24 -6 d 8 -2 d 32 -5 d 32 -3 d 31 X 32 4 d 27 6 d 5 2 d 31 15 d 6 4 d 24 21 d 2 3 d 12 18 d 10 21 d 6 20 d 3 21 d 1 85 | 21 d -2 21 d -3 21 d -5 20 d -6 21 d -8 21 d -8 20 d -1 1 d -10 21 d -11 21 d -10 15 d -3 5 d -14 21 d -14 20 d -1 1 d -17 21 d -14 17 d -3 4 d -19 20 d -10 11 d -10 10 d -21 21 d -23 21 d -9 8 d -16 13 d -16 13 d -10 7 d -22 17 d -5 4 d -26 19 d -4 86 | 2 d -28 19 d -3 2 d -29 17 d -5 4 d -26 15 d -11 6 d -21 11 d -19 9 d -13 7 d -31 14 d -32 14 d -18 7 d -14 5 d -31 12 d -13 4 d -19 6 d -32 9 d -22 6 d -10 2 d -31 6 d -32 5 d cl s 0 0 1 c[ 20 12 4 12] 0 sd black 0 0 1 c 853 1341 m -32 4 d -32 3 d 87 | -31 1 d -32 -1 d -32 -5 d -31 -8 d -13 -5 d -19 -10 d -17 -11 d -15 -15 d -5 -6 d -12 -21 d -7 -21 d -2 -20 d -21 Y 3 -21 d 6 -21 d 7 -21 d 9 -21 d 1 -2 d 10 -18 d 12 -21 d 10 -16 d 3 -5 d 15 -21 d 14 -18 d 2 -3 d 17 -20 d 12 -15 d 6 -6 d 19 -21 d 7 88 | -7 d 14 -14 d 18 -17 d 3 -4 d 23 -20 d 5 -6 d 18 -15 d 14 -12 d 11 -9 d 21 -17 d 4 -4 d 27 -21 d 28 -21 d 4 -3 d 25 -17 d 7 -5 d 24 -16 d 8 -5 d 24 -16 d 7 -5 d 27 -16 d 5 -3 d 31 -18 d 1 X 31 -17 d 6 -3 d 26 -13 d 17 -8 d 15 -7 d 30 -14 d 1 X 32 89 | -13 d 23 -8 d 9 -3 d 31 -10 d 32 -8 d 32 -6 d 32 -4 d 31 -1 d 32 2 d 32 6 d 9 3 d 22 10 d 17 11 d 15 14 d 6 7 d 13 21 d 8 21 d 5 20 d 1 21 d 21 Y -1 9 d -2 12 d -4 21 d -5 20 d -7 21 d -8 21 d -6 13 d -4 8 d -11 21 d -11 21 d -6 8 d -7 12 d -14 21 d 90 | -10 14 d -5 7 d -17 21 d -10 13 d -7 8 d -18 20 d -7 7 d -13 14 d -18 19 d -3 2 d -23 21 d -6 6 d -17 15 d -15 12 d -10 8 d -22 17 d -5 4 d -26 19 d -3 2 d -29 20 d -1 1 d -31 19 d -2 2 d -29 17 d -7 4 d -25 13 d -14 7 d -18 9 d -25 12 d -6 3 d -32 91 | 14 d -10 4 d -22 9 d -31 11 d -3 1 d -29 9 d -32 9 d -11 3 d -21 4 d -31 7 d cl s black 92 | gsave 2268 2176 0 0 C 597.368 1811.13 t 0 r /Helvetica findfont 60.8783 sf 0 0 m (aligned) show NC gr 1 0 0 c[ ] 0 sd 514 1829 m 72 X s black 93 | gsave 2268 2176 0 0 C 597.368 1727.42 t 0 r /Helvetica findfont 60.8783 sf 0 0 m (by hand) show NC gr 0 0.6 0 c[ 12 12] 0 sd 514 1744 m 72 X s black 94 | gsave 2268 2176 0 0 C 597.368 1643.71 t 0 r /Helvetica findfont 60.8783 sf 0 0 m (learning) show NC gr 0 0 1 c[ 20 12 4 12] 0 sd 514 1660 m 72 X s black 95 | gsave 2268 2176 0 0 C 1495.32 1917.67 t 0 r /Helvetica-Bold findfont 60.8783 sf 0 0 m (68% CL contours) show NC gr [ 12 12] 0 sd 9 lw 778 1348 m -23 1 d -24 -1 d -23 -3 d -23 -4 d -2 -1 d -22 -6 d -21 -9 d -2 -1 d -22 -14 d -2 -1 d -14 -15 d -9 -11 96 | d -3 -4 d -7 -15 d -5 -16 d -2 -15 d -1 -16 d 1 -15 d 2 -15 d 4 -16 d 4 -15 d 6 -16 d 1 -2 d 5 -13 d 8 -15 d 8 -16 d 2 -3 d 7 -12 d 10 -15 d 7 -10 d 4 -6 d 11 -15 d 8 -11 d 4 -5 d 12 -15 d 8 -9 d 6 -6 d 13 -16 d 4 -4 d 11 -11 d 12 -13 d 2 -3 d 16 97 | -15 d 6 -6 d 10 -9 d 13 -13 d 4 -3 d 17 -15 d 3 -3 d 15 -12 d 8 -8 d 10 -8 d 14 -11 d 5 -4 d 18 -15 d 1 -1 d 21 -15 d 1 -1 d 20 -14 d 4 -4 d 17 -12 d 6 -4 d 16 -11 d 8 -5 d 16 -10 d 7 -5 d 17 -11 d 7 -4 d 17 -11 d 6 -4 d 20 -12 d 3 -1 d 24 -14 d 1 X 98 | 22 -12 d 7 -3 d 17 -9 d 13 -7 d 10 -5 d 23 -10 d 1 X 23 -10 d 13 -6 d 10 -4 d 24 -9 d 7 -2 d 16 -6 d 24 -7 d 9 -2 d 14 -4 d 24 -5 d 23 -4 d 18 -3 d 5 X 24 -2 d 23 X 24 2 d 23 5 d 24 8 d 6 3 d 17 10 d 7 5 d 16 15 d 1 X 11 16 d 8 15 d 4 11 d 1 5 d 4 99 | 15 d 2 15 d 1 16 d -1 15 d -1 16 d -3 15 d -3 15 d 1 Y -4 15 d -5 15 d -6 15 d -6 16 d -3 6 d -4 9 d -8 16 d -8 15 d -3 6 d -6 9 d -9 16 d -8 12 d -2 3 d -11 15 d -11 15 d 1 Y -12 15 d -11 14 d -2 2 d -13 15 d -9 10 d -5 5 d -14 16 d -4 4 d -11 11 d 100 | -13 12 d -3 4 d -17 15 d -3 3 d -14 12 d -9 8 d -9 8 d -15 12 d -4 3 d -19 15 d -1 X -21 16 d -2 1 d -20 14 d -3 2 d -20 14 d -4 2 d -20 13 d -3 2 d -23 13 d 1 Y -24 13 d -3 2 d -20 10 d -10 5 d -14 7 d -17 9 d -6 2 d -24 11 d -4 2 d -19 8 d -19 7 d 101 | -4 2 d -24 8 d -15 6 d -8 2 d -24 8 d -19 5 d -4 1 d -24 6 d -23 5 d -19 3 d -4 1 d -24 4 d -23 2 d -24 1 d cl s[ 4 8] 0 sd 6 lw 787 1310 m -9 1 d -23 3 d -24 1 d -23 X -23 -2 d -22 -3 d -2 -1 d -23 -7 d -16 -8 d -8 -4 d -13 -11 d -10 -11 d -4 -4 d 102 | -7 -16 d -5 -15 d -2 -16 d 1 -15 d 2 -15 d 4 -16 d 5 -15 d 6 -15 d -1 Y 8 -15 d 9 -15 d 6 -11 d 3 -5 d 11 -15 d 10 -13 d 2 -2 d 12 -16 d 9 -10 d 5 -5 d 14 -16 d 5 -4 d 11 -11 d 12 -12 d 4 -3 d 17 -16 d 2 -2 d 16 -13 d 8 -7 d 10 -9 d 13 -10 d 7 -5 d 103 | 17 -13 d 4 -2 d 19 -14 d 2 -2 d 22 -15 d 23 -15 d 1 X 22 -15 d 2 -1 d 22 -13 d 4 -2 d 19 -11 d 8 -5 d 16 -8 d 12 -7 d 11 -6 d 19 -9 d 5 -3 d 23 -12 d 3 -1 d 20 -10 d 13 -5 d 11 -5 d 23 -10 d -1 Y 24 -9 d 14 -6 d 9 -3 d 24 -9 d 8 -3 d 15 -6 d 23 -8 d 104 | 7 -2 d 17 -5 d 23 -7 d 12 -3 d 12 -3 d 23 -6 d 24 -5 d 7 -1 d 16 -3 d 23 -4 d 24 -3 d 23 -1 d 24 -1 d 23 2 d 24 3 d 23 6 d 1 1 d 22 11 d 5 4 d 14 15 d 5 9 d 2 7 d 3 15 d 1 16 d -3 15 d -3 13 d -1 2 d -6 16 d -7 15 d -8 15 d -2 4 d -7 12 d -10 15 d 105 | -6 8 d -6 8 d -12 15 d -5 7 d -7 8 d -14 16 d -3 3 d -11 12 d -12 13 d -3 2 d -16 16 d -5 5 d -11 10 d -12 11 d -5 5 d -17 15 d -2 1 d -17 14 d -6 6 d -13 10 d -10 8 d -9 7 d -15 11 d -6 5 d -17 13 d -4 2 d -20 14 d -1 1 d -22 15 d -1 1 d -23 15 d 106 | -23 15 d -1 X -22 14 d -4 2 d -20 12 d -6 3 d -17 10 d -11 6 d -13 7 d -16 8 d -7 4 d -23 11 d -1 1 d -23 11 d -9 4 d -14 6 d -21 9 d -3 1 d -23 10 d -12 5 d -12 4 d -23 8 d -8 3 d -16 5 d -23 7 d -12 3 d -11 3 d -24 6 d -23 4 d -15 3 d cl s 107 | gsave 2268 2176 0 0 C 1575.23 1811.13 t 0 r /Helvetica findfont 60.8783 sf 0 0 m (Standard Model) show NC gr [ ] 0 sd 3 lw 1525 1829 m34[ 4 8] 0 sd 6 lw 108 | gsave 2268 2176 0 0 C 1575.23 1727.42 t 0 r /Helvetica findfont 60.8783 sf 0 0 m (full model) show NC gr [ 12 12] 0 sd 9 lw 1489 1744 m 72 X s 109 | gsave 2268 2176 0 0 C 1575.23 1643.71 t 0 r /Helvetica findfont 60.8783 sf 0 0 m (fixed effective) show NC gr [ 4 8] 0 sd 6 lw 1489 1660 m 72 X s 110 | gr gr showpage 111 | end 112 | %%EOF 113 | --------------------------------------------------------------------------------