argParser.add_argument('--selection', action='store', type=str, default='quadlepTWZoddFlav-onZ1-noZ2') argParser.add_argument('--trainingFraction', action='store', type=float, default=0.5) argParser.add_argument('--small', action='store_true') argParser.add_argument('--overwrite', action='store_true') args = argParser.parse_args() #Logger import TopEFT.Tools.logger as logger logger = logger.get_logger("INFO", logFile=None) if args.plot_directory == None: args.plot_directory = plot_directory if args.selection == None: selectionString = "(1)" else: selectionString = cutInterpreter.cutString(args.selection) # Samples from TopEFT.samples.cmgTuples_Summer16_mAODv2_postProcessed import * #signal = yt_TWZ #signal = TWZ signal = yt_TWZ_filter
# Analysis from TopEFT.Analysis.SetupHelpers import channel, trilepChannels, allTrilepChannels, allQuadlepChannels, quadlepChannels from TopEFT.Analysis.regions import regionsE, noRegions, btagRegions, regions4lB, regionsXSec from TopEFT.Tools.u_float import u_float from TopEFT.Tools.resultsDB import resultsDB from TopEFT.Analysis.Region import Region #RootTools from RootTools.core.standard import * from TopEFT.samples.color import color from TopEFT.Tools.cutInterpreter import cutInterpreter import TopEFT.Tools.logger as logger import RootTools.core.logger as logger_rt logger = logger.get_logger(options.logLevel, logFile=None) logger_rt = logger_rt.get_logger(options.logLevel, logFile=None) data_directory = "/afs/hephy.at/data/dspitzbart02/cmgTuples/" ## 2016 ## postProcessing_directory = "TopEFT_PP_2016_mva_v21/trilep/" from TopEFT.samples.cmgTuples_Summer16_mAODv2_postProcessed import * postProcessing_directory = "TopEFT_PP_2016_mva_v21/trilep/" from TopEFT.samples.cmgTuples_Data25ns_80X_07Aug17_postProcessed import * ## 2017 ## postProcessing_directory = "TopEFT_PP_2017_mva_v21/trilep/" from TopEFT.samples.cmgTuples_Fall17_94X_mAODv2_postProcessed import * postProcessing_directory = "TopEFT_PP_2017_mva_v21/trilep/" from TopEFT.samples.cmgTuples_Data25ns_94X_Run2017_postProcessed import *
help='Scale BSM signal to total MC?', ) argParser.add_argument('--plot_directory', action='store', default='80X_ttg0j_v14') argParser.add_argument('--selection', action='store', default='lepSelTTG-njet1p-btag1p') args = argParser.parse_args() # # Logger # import TopEFT.Tools.logger as logger import RootTools.core.logger as logger_rt logger = logger.get_logger(args.logLevel, logFile=None) logger_rt = logger_rt.get_logger(args.logLevel, logFile=None) if args.small: args.plot_directory += "_small" if args.signal and args.signal is not None: args.plot_directory += "_signal_" + args.signal #if args.background is not None: args.plot_directory += "_bkg%s"%args.background if args.reweightPtGToSM: args.plot_directory += "_reweightPtGToSM" if args.normalizeBSM: args.plot_directory += "_normalizeBSM" # # Make samples, will be searched for in the postProcessing directory # #postProcessing_directory = "TopEFT_PP_v14/dilep/" #data_directory = "/afs/hephy.at/data/rschoefbeck01/cmgTuples/"
''' Polarisation fit ''' # standard imports import os import ROOT # Stuff for testing if __name__=='__main__': # Samples postProcessing_directory = "TopEFT_PP_v14/trilep/" data_directory = "/afs/hephy.at/data/rschoefbeck01/cmgTuples/" # Logging import TopEFT.Tools.logger as logger logger = logger.get_logger('DEBUG', logFile = None ) else: # Logging import logging logger = logging.getLogger(__name__) # RootTools from RootTools.core.standard import * # TopEFT from TopEFT.Analysis.Setup import Setup from TopEFT.Analysis.Region import Region from TopEFT.Tools.u_float import u_float from TopEFT.Tools.helpers import sum_histos from TopEFT.Tools.user import results_directory, plot_directory from TopEFT.samples.color import color from TopEFT.Analysis.SystematicEstimator import SystematicEstimator from TopEFT.Analysis.PolarisationTemplateMaker import PolarisationTemplateMaker
if job[0] == jobID: logger.error("Duplicate %i %r", counter, job) raise RuntimeError( "Found multiple instances of job %i with different normalizations!" % jobID) files = [] normalization = 0. for jobID in all_jobIDs: jobID_, file_, normalization_ = next(tup for tup in all_jobs if tup[0] == jobID) if normalization_ is not None: normalization += normalization_ files.append(file_) return normalization, files if __name__ == "__main__": from RootTools.core.helpers import renew_proxy proxy = renew_proxy() logger.info("Using proxy %s" % proxy) import TopEFT.Tools.logger as logger logger = logger.get_logger('DEBUG') walker = walk_dpm( '/dpm/oeaw.ac.at/home/cms/store/user/schoef/cmgTuples/80X_2/JetHT') cmg_directories = walker.walk_dpm_cmgdirectories( '.', maxN=1, path_substrings=['Run2016B'])
# Standard imports import ROOT import os import itertools import ctypes # TopEFT imports from TopEFT.Generation.Configuration import Configuration from TopEFT.Generation.Process import Process from TopEFT.Tools.u_float import u_float from TopEFT.Tools.user import plot_directory # Logging import TopEFT.Tools.logger as logger logger = logger.get_logger("CRITICAL", logFile=None) # Plot style ROOT.gROOT.LoadMacro('$CMSSW_BASE/src/TopEFT/Tools/scripts/tdrstyle.C') ROOT.setTDRStyle() ROOT.gStyle.SetNumberContours(255) # Function for Delaunay triangulated 2D graph def toGraph2D(name, title, length, x, y, z): result = ROOT.TGraph2D(length) result.SetName(name) result.SetTitle(title) for i in range(length): #print x[i],y[i],z[i] result.SetPoint(i, x[i], y[i], z[i])