def plotNSamples(cls, npatterns, etBins, etaBins, outname='nPatterns.pdf'): """Plot number of samples per bin""" logger = Logger.getModuleLogger("PlotNSamples") from ROOT import TCanvas, gROOT, kTRUE, kFALSE, TH2I, TText gROOT.SetBatch(kTRUE) c1 = TCanvas("plot_patterns_signal", "a", 0, 0, 800, 400) c1.Draw() shape = [len(etBins) - 1, len(etaBins) - 1] histo1 = TH2I( "text_stats", "#color[4]{Signal}/#color[2]{Background} available statistics", shape[0], 0, shape[0], shape[1], 0, shape[1]) #histo1 = TH2I("text_stats", "Signal/Background available statistics", shape[0], 0, shape[0], shape[1], 0, shape[1]) histo1.SetStats(kFALSE) histo1.Draw("TEXT") histo1.SetXTitle("E_{T}") histo1.SetYTitle("#eta") histo1.GetXaxis().SetTitleSize(0.04) histo1.GetYaxis().SetTitleSize(0.04) histo1.GetXaxis().SetLabelSize(0.04) histo1.GetYaxis().SetLabelSize(0.04) histo1.GetXaxis().SetTickSize(0) histo1.GetYaxis().SetTickSize(0) ttest = TText() ttest.SetTextAlign(22) for etBin in range(shape[0]): for etaBin in range(shape[1]): key = 'et%d_eta%d' % (etBin, etaBin) ttest.SetTextColor(4) ttest.DrawText(.5 + etBin, .75 + etaBin, 's: ' + str(npatterns['sgnPattern_' + key])) ttest.SetTextColor(2) ttest.DrawText(.5 + etBin, .25 + etaBin, 'b: ' + str(npatterns['bkgPattern_' + key])) try: histo1.GetYaxis().SetBinLabel( etaBin + 1, '#bf{%d} : %.2f->%.2f' % (etaBin, etaBins[etaBin], etaBins[etaBin + 1])) except Exception: logger.error("Couldn't retrieve eta bin %d bounderies.", etaBin) histo1.GetYaxis().SetBinLabel(etaBin + 1, str(etaBin)) try: histo1.GetXaxis().SetBinLabel( etBin + 1, '#bf{%d} : %d->%d [GeV]' % (etBin, etBins[etBin], etBins[etBin + 1])) except Exception: logger.error("Couldn't retrieve et bin %d bounderies.", etBin) histo1.GetXaxis().SetBinLabel(etBin + 1, str(etaBin)) c1.SetGrid() c1.Update() c1.SaveAs(outname)
def watchLock(filename): logger = Logger.getModuleLogger("watchLock") lockFileName = os.path.join( os.path.join(os.path.dirname(filename), '.' + os.path.basename(filename) + '.lock')) firstMsg = True while os.path.exists(lockFileName): if firstMsg: logger.warning("Waiting other process to unlock file %s...", lockFileName) firstMsg = False sleep(1) lockFile = LockFile(lockFileName) return lockFile
from prometheus import EventATLAS from prometheus.enumerations import Dataframe as DataframeEnum from Gaugi.messenger import LoggingLevel, Logger from Gaugi import ToolSvc, ToolMgr import argparse mainLogger = Logger.getModuleLogger("job") parser = argparse.ArgumentParser(description='', add_help=False) parser = argparse.ArgumentParser() parser.add_argument( '-i', '--inputFiles', action='store', dest='inputFiles', required=True, nargs='+', help="The input files that will be used to generate the plots") parser.add_argument('-o', '--outputFile', action='store', dest='outputFile', required=False, default=None, help="The output store name.") parser.add_argument('-n', '--nov', action='store', dest='nov', required=False,
#!/usr/bin/env python3 from Gaugi.messenger import LoggingLevel, Logger from Gaugi import GeV import argparse import sys, os mainLogger = Logger.getModuleLogger("pythia") parser = argparse.ArgumentParser(description='', add_help=False) parser = argparse.ArgumentParser() # # Mandatory arguments # parser.add_argument('-i', '--mainFile', action='store', dest='mainFile', required=False, default="", help="The main pythia file configuration") parser.add_argument('-o', '--outputFile', action='store', dest='outputFile', required=True, help="The event file generated by pythia.") parser.add_argument( '--filter',
#!/usr/bin/env python from Gaugi.messenger import LoggingLevel, Logger import argparse mainLogger = Logger.getModuleLogger("prometheus.merge") parser = argparse.ArgumentParser(description='', add_help=False) parser = argparse.ArgumentParser() parser.add_argument('-i', '--inputFiles', action='store', dest='fList', required=True, nargs='+', help="The input files.") parser.add_argument('-o', '--outputFile', action='store', dest='output', required=True, default='merged.root', help="The output file name.") parser.add_argument('-nm', '--nFilesPerMerge', action='store', dest='nFilesPerMerge', required=False, default=20, type=int,
#!/usr/bin/env python3 from Gaugi.messenger import LoggingLevel, Logger import argparse import sys, os mainLogger = Logger.getModuleLogger("Parser") parser = argparse.ArgumentParser(description='', add_help=False) parser = argparse.ArgumentParser() parser.add_argument( '-o', '--outputFile', action='store', dest='outputFile', required=True, help="The event file generated by the reconstruction framework.") parser.add_argument('-f', '--filter', action='store', dest='filter', required=True, help="The event filter (Zee, JF17 or MB).") parser.add_argument('-e', '--evt', '--numberOfEventsPerJob', action='store', dest='numberOfEventsPerJob', required=True,
#!/usr/bin/env python3 from Gaugi.messenger import LoggingLevel, Logger from Gaugi.messenger.macros import * from pprint import pprint import argparse logger = Logger.getModuleLogger("prometheus.prun.lcg") parser = argparse.ArgumentParser(description='', add_help=False) parser = argparse.ArgumentParser() parser.add_argument('--inDS', action='store', dest='inDS', required=True, help="The dataset input file") parser.add_argument('--outDS', action='store', dest='outDS', required=True, help="The dataset input file") parser.add_argument('-c', '--command', action='store', dest='command', required=True, help="The command job") parser.add_argument('--containerImage',
kCyan + 1, kOrange + 1, kBlack + 2, kRed + 3, kBlue + 3, kGreen + 3, kMagenta + 3, kCyan + 3, kOrange + 3, kGray, kRed - 7, kBlue - 7, kGreen - 7, kMagenta - 7, kCyan - 7, kOrange - 7, kYellow + 2, kRed - 5, kBlue - 5, kGreen - 5, kMagenta - 5, kCyan - 5, kOrange - 5, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 ] local_these_transcolors = [ TColor.GetColorTransparent(c, .5) for c in local_these_colors ] local_these_marker = (23, 24, 22, 26, 32, 23, 20, 25) local_these_marker_full = (20, 21, 22, 23, 33, 34) local_these_marker_open = (24, 25, 26, 32, 27, 28) mainLogger = Logger.getModuleLogger("PlotTools", LoggingLevel.INFO) parser = argparse.ArgumentParser(description='', add_help=False) parser = argparse.ArgumentParser() parser.add_argument('-l', '--legends', action='store', dest='legends', required=False, nargs='+', default=None, help="The legends to be add in the TLegend display") parser.add_argument('--extraText1', action='store',
if not proc[1].poll() is None: #MSG_INFO( self, ('pop process id (%d) from the stack')%(proc[0]), extra={'color':'0;35'}) MSG_INFO(self, ('pop process id (%d) from the stack') % (proc[0])) self.process_pipe.remove(proc) # Merge command = "hadd -f " + self._output for fname in self.output_to_merge: command += ' ' + fname os.system(command) for fname in self.output_to_merge: os.system('rm -rf ' + fname) mainLogger = Logger.getModuleLogger("prun.job") parser = argparse.ArgumentParser(description='', add_help=False) parser = argparse.ArgumentParser() parser.add_argument('-o', '--outputFile', action='store', dest='outputFile', required=True, help="The input files.") parser.add_argument('-c', '--command', action='store', dest='command', required=True,
if not proc[1].poll() is None: #MSG_INFO( self, ('pop process id (%d) from the stack')%(proc[0]), extra={'color':'0;35'}) MSG_INFO( self, ('pop process id (%d) from the stack')%(proc[0]) ) # remove proc from the pipe self.process_pipe.remove(proc) mainLogger = Logger.getModuleLogger("prometheus.job") parser = argparse.ArgumentParser(description = '', add_help = False) parser = argparse.ArgumentParser() parser.add_argument('-i','--inputFiles', action='store', dest='fList', required = True, nargs='+', help = "The input files.") parser.add_argument('-c','--command', action='store', dest='command', required = True, help = "The command job") parser.add_argument('-mt','--numberOfThreads', action='store', dest='mt', required = False, default = 8, type=int, help = "The number of threads")
__all__ = ['RawDictStreamable', 'RawDictStreamer', 'RawDictCnv', 'mangle_attr', 'LoggerStreamable', 'LoggerRawDictStreamer', 'checkAttrOrSetDefault', 'isRawDictFormat', 'retrieveRawDict'] from Gaugi.messenger import Logger mLogger = Logger.getModuleLogger( __name__ ) def mangle_attr(source, attr): """ Simulate python private attritubutes mangling. Taken from: http://stackoverflow.com/a/7789483/1162884 """ # return public attrs unchanged if not attr.startswith("__") or attr.endswith("__") or '.' in attr: return attr # if source is an object, get the class if not hasattr(source, "__bases__"): source = source.__class__ # mangle attr return "_%s%s" % (source.__name__.lstrip("_"), attr) class RawDictStreamer( Logger ): """ This is the default streamer class, responsible of converting python classes to raw dictionaries. """ def __init__(self, transientAttrs = set(), toPublicAttrs = set(), **kw): "Initialize streamer and declare transient variables." Logger.__init__(self, kw)