示例#1
0
                                    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')
示例#2
0
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 = {
示例#3
0
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
示例#4
0
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