示例#1
0
#
# Use a sample class and some helper functions to initalize sample informtion
# Hides most of the dirty programming stuff from the main scripts
# Important functions
#   createSampleList:   imports a tuple file like ../data/tuples.conf with sample name, path, version, jobSplitting and x-sec
#   createStack:        imports both a tuple and style file like ../data/stack.conf, returns as [[data1, data2,...], [mc1, mc2, mc3,..],...]
#   getSampleFromList:  access sample instance using its name
#   getSampleFromStack: access sample instance using its name
#   sample.initTree:    get chain
#   sample.eventLoop:   loops over events from the chain (given selection string, job splitting)
#

from ttg.tools.logger import getLogger
log = getLogger()

import glob, os, copy, ROOT, uuid, socket, getpass

from ttg.tools.progressBar import progressbar
import ttg.tools.style as styles


#
# Sample class
#
class Sample:
    def __init__(self, name, path, productionLabel, splitJobs, xsec):
        self.name = name
        self.path = path
        self.isData = (xsec == 'data')
        self.xsec = eval(xsec) if not self.isData else None
        self.productionLabel = productionLabel
示例#2
0
#! /usr/bin/env python
import argparse
argParser = argparse.ArgumentParser(description="Argument parser")
argParser.add_argument(
    '--logLevel',
    action='store',
    default='INFO',
    nargs='?',
    choices=['CRITICAL', 'ERROR', 'WARNING', 'INFO', 'DEBUG', 'TRACE'],
    help="Log level for logging")
args = argParser.parse_args()

from ttg.tools.logger import getLogger
log = getLogger(logLevel=args.logLevel)

from ttg.tools.helpers import addHist
from ttg.plots.plot import getHistFromPkl, normalizeBinWidth
from ttg.plots.combineTools import writeCard, runFitDiagnostics, runSignificance, runImpacts
from ttg.plots.systematics import systematics, linearSystematics

import os, ROOT, shutil
ROOT.gROOT.SetBatch(True)

from math import sqrt

samples = [('TTGamma', None), ('TTJets', 5.5), ('ZG', 10), ('DY', 10),
           ('other', 50)]


#
# Helper functions
示例#3
0
argParser = argparse.ArgumentParser(description="Argument parser")
argParser.add_argument(
    '--logLevel',
    action='store',
    default='INFO',
    nargs='?',
    choices=['CRITICAL', 'ERROR', 'WARNING', 'INFO', 'DEBUG', 'TRACE'],
    help="Log level for logging")
args = argParser.parse_args()

from ttg.plots.plot import Plot, getHistFromPkl
from ttg.tools.helpers import getResultsFile
from ttg.tools.logger import getLogger, logLevel

log = getLogger(args.logLevel)

import pickle, os, ROOT, shutil

ROOT.gROOT.SetBatch(True)

dilep = getHistFromPkl(
    getResultsFile('sigmaIetaIeta-ttbar', 'noData',
                   'llg-looseLeptonVeto-mll40-offZ-llgNoZ-njet2p-deepbtag1p'),
    'photon_chargedIso', ['TTJets', 'fail'])
singlelep = getHistFromPkl(
    getResultsFile('sigmaIetaIeta-ttbar-singleLep', 'noData',
                   'lg-looseLeptonVeto-njet4p-deepbtag1p'),
    'photon_chargedIso', ['TTJets', 'fail'])

import ttg.tools.style as styles