description=__doc__) optparser.add_argument('filename', help='Input ROOT file') optparser.add_argument('-s', '--session', required=True, help='Session name') optparser.add_argument('-o', '--out', required=True, help='Output ROOT file') optparser.add_argument('-n', '--name', required=True, help='Input tree name') options = optparser.parse_args() import sys import os if not os.path.exists(options.filename): sys.exit('File not found: {}'.format(options.filename)) from tmvaconfig import ConfigFile conf = ConfigFile('TMVA.conf') if conf.read() > 0: # read config session = conf.get_session_config(options.session) print '::: Applying {} MVAs: {}\n{}'.format(len(session.methods), session.methods, '='*50) print session print ':::' from fixes import ROOT ROOT.gROOT.SetBatch(True) # instantiate TMVA ROOT.TMVA.Tools.Instance() # reader reader = ROOT.TMVA.Reader('!Color:!Silent') # files ifile = ROOT.TFile.Open(options.filename, 'read')
ROOT.gStyle.SetOptTitle(title) ## read signal and background trees, define cuts from ROOT import TFile if istmva: # TMVA output rfile = TFile.Open(filename, 'read') tree = rfile.Get(tree) istmva = 'classID=={}'.format(int(bkgeff)) else: rfile = TFile.Open(filename, 'read') tree = rfile.Get(tree) from tmvaconfig import ConfigFile conf = ConfigFile(conf) if conf.read() > 0: session = conf.get_session_config(session) if not session: sys.exit('No matching sessions found') else: sys.exit('No sesions found!') istmva = str(session.cut_bkg if bkgeff else session.cut_sig) # common cuts truthmatch = 'abs(lab0_TRUEID) == 531' if truthmatch else '' refcut = '{}&&{}'.format(truthmatch, istmva) # classifier cuts mva_cuts = [0.1*i for i in intervals] # per-variable efficiency histograms, ranges, and titles variables = {
conf = ConfigFile(opts.conf) n = conf.read() # filter out when not a match or invalid sessions = filter(lambda s: is_match(s, opts.sessions), conf.sessions()) if not sessions: sys.exit('No matching sessions!') print ' '.join(sessions) if not (opts.cvars or opts.nvars or opts.cuts_both or opts.cuts_sig or opts.cuts_bkg): sys.exit(0) # helper one_per_line = lambda i: '\n'.join(i) for session in sessions: config = conf.get_session_config(session) print '\n{}:'.format(config._name) if opts.nvars: print one_per_line(config.vars) if opts.cvars: print one_per_line(config.combined_vars) if opts.cuts_both: print config.cut_both if opts.cuts_sig: print config.cut_sig if opts.cuts_bkg: print config.cut_bkg
optparser.add_argument('filename', help='Input ROOT file') optparser.add_argument('-s', '--session', required=True, help='Session name') optparser.add_argument('-o', '--out', required=True, help='Output ROOT file') optparser.add_argument('-n', '--name', required=True, help='Input tree name') options = optparser.parse_args() import sys import os if not os.path.exists(options.filename): sys.exit('File not found: {}'.format(options.filename)) from tmvaconfig import ConfigFile conf = ConfigFile('TMVA.conf') if conf.read() > 0: # read config session = conf.get_session_config(options.session) print '::: Applying {} MVAs: {}\n{}'.format(len(session.methods), session.methods, '=' * 50) print session print ':::' from fixes import ROOT ROOT.gROOT.SetBatch(True) # instantiate TMVA ROOT.TMVA.Tools.Instance() # reader reader = ROOT.TMVA.Reader('!Color:!Silent') # files