Ejemplo n.º 1
0
def diffConfigFile(tag1, tag2, fileName):
    print("file:", fileName)
    config1 = BetterConfigParser()
    config2 = BetterConfigParser()
    config1.read(tag1 + 'config/' + fileName)
    config2.read(tag2 + 'config/' + fileName)

    sections = list(set(config1.sections() + config2.sections()))
    commonSections = [
        x for x in sections
        if x in config1.sections() and x in config2.sections()
    ]
    print("common sections:", commonSections)

    for section in commonSections:
        firstItemInSection = True

        items1d = {x[0]: x[1] for x in config1.items(section, raw=True)}
        items2d = {x[0]: x[1] for x in config2.items(section, raw=True)}
        items1 = [x[0] for x in config1.items(section, raw=True)]
        items2 = [x[0] for x in config2.items(section, raw=True)]
        items = list(set(items1 + items2))
        commonItems = list(
            set([x for x in items if x in items1 and x in items2]))

        for item in commonItems:
            if item not in os.environ:
                try:
                    item1 = config1.get(section, item)
                    item2 = config2.get(section, item)
                    item1 = items1d[item]
                    item2 = items2d[item]
                    if item1 != item2:
                        if firstItemInSection:
                            firstItemInSection = False
                            print('-' * 80)
                            print(' \x1b[34m' + fileName + '\x1b[0m: ' +
                                  section)
                            print('-' * 80)
                        print(section + ':' + item)
                        d = difflib.Differ()
                        result = list(d.compare([item1], [item2]))
                        for line in result:
                            if line.startswith('+'):
                                color = '\x1b[31m'
                            elif line.startswith('-'):
                                color = '\x1b[32m'
                            elif line.startswith('?'):
                                color = '\x1b[34m'
                            print('  ' + color + line + '\x1b[0m')

                except Exception as e:
                    pass
Ejemplo n.º 2
0
def diffConfigFile(tag1, tag2, fileName):
    print("file:", fileName)
    config1 = BetterConfigParser()
    config2 = BetterConfigParser()
    config1.read(tag1 + 'config/' + fileName)
    config2.read(tag2 + 'config/' + fileName)

    sections = list(set(config1.sections() + config2.sections()))
    commonSections = [x for x in sections if x in config1.sections() and x in config2.sections()]
    print("common sections:", commonSections)

    for section in commonSections:
        firstItemInSection = True

        items1d = {x[0]:x[1] for x in config1.items(section, raw=True)}
        items2d = {x[0]:x[1] for x in config2.items(section, raw=True)}
        items1 = [x[0] for x in config1.items(section, raw=True)]
        items2 = [x[0] for x in config2.items(section, raw=True)]
        items = list(set(items1 + items2))
        commonItems = list(set([x for x in items if x in items1 and x in items2]))

        for item in commonItems:
            if item not in os.environ:
                try:
                    item1 = config1.get(section, item)
                    item2 = config2.get(section, item)
                    item1 = items1d[item]
                    item2 = items2d[item]
                    if item1 != item2:
                        if firstItemInSection:
                            firstItemInSection = False
                            print('-'*80)
                            print(' \x1b[34m' + fileName + '\x1b[0m: ' + section)
                            print('-'*80)
                        print(section + ':' + item)
                        d = difflib.Differ()
                        result = list(d.compare([item1], [item2]))
                        for line in result:
                            if line.startswith('+'):
                                color = '\x1b[31m'
                            elif line.startswith('-'):
                                color = '\x1b[32m'
                            elif line.startswith('?'):
                                color = '\x1b[34m'
                            print('  '+color+line+'\x1b[0m')

                except Exception as e:
                    pass
Ejemplo n.º 3
0
#runInParallel(getExtWeights, arglist)

#print 'Weights for HT 0 are',    getStichWeight(ZLLjetsHT0   , ZLLBjets, HT0   +"&&"+DYBJets)
#print 'Weights for HT 70 are',   getStichWeight(ZLLjetsHT70  , ZLLBjets, HT70  +"&&"+DYBJets)
#print 'Weights for HT 100 are',  getStichWeight(ZLLjetsHT100 , ZLLBjets, HT100 +"&&"+DYBJets)
#print 'Weights for HT 200 are',  getStichWeight(ZLLjetsHT200 , ZLLBjets, HT200 +"&&"+DYBJets)
#print 'Weights for HT 400 are',  getStichWeight(ZLLjetsHT400 , ZLLBjets, HT400 +"&&"+DYBJets)
#print 'Weights for HT 600 are',  getStichWeight(ZLLjetsHT600 , ZLLBjets, HT600 +"&&"+DYBJets)
#print 'Weights for HT 800 are',  getStichWeight(ZLLjetsHT800 , ZLLBjets, HT800 +"&&"+DYBJets)
#print 'Weights for HT 1200 are', getStichWeight(ZLLjetsHT1200, ZLLBjets, HT1200+"&&"+DYBJets)
#print 'Weights for HT 2500 are', getStichWeight(ZLLjetsHT2500, ZLLBjets, HT2500+"&&"+DYBJets)

computeExtWeights = False 

if computeExtWeights:
    for section in config.sections():
        #try:
        #    sampleName = config.get(section, 'sampleName')
        #except:
        sampleName = section
        sampleNameShort = '_'.join(sampleName.split('_')[0:7]).strip()
        if '_ext' in sampleName:
            sampleNameShort = sampleNameShort.split('_ext')[0]
        elif '_backup' in sampleName:
            sampleNameShort = sampleNameShort.split('_backup')[0]
       
        if sampleNameShort in sampleDict:
            sampleDict[sampleNameShort].append(sampleName)
        else:
            sampleDict[sampleNameShort] = [sampleName]
                
Ejemplo n.º 4
0
            histo1.Add(h_tmp1)
        histo.Add(h_tmp)
        tfile.Close()
        del tree

    canvas = ROOT.TCanvas("lheV_pt", "lheV_pt", 600, 600)
    ROOT.gPad.SetLogy()
    histo.Draw()
    histo1.Draw('SAME')
    print histo.Integral(100, 300)
    print histo1.Integral(100, 300)
    histo1.SetLineColor(ROOT.kRed)
    canvas.Print("validation_lheV_pt.pdf", "pdf")


if opts.weights:
    weight_map = get_weights(fileList, lheBin)
    config.set('LHEWeights', 'weights_per_bin', '%s' % weight_map)
    f = open('8TeVconfig/lhe_weights', 'w')
    for section in config.sections():
        if not section == 'LHEWeights':
            config.remove_section(section)
    config.write(f)
    f.close()
elif opts.apply:
    weight_map = eval(config.get('LHEWeights', 'weights_per_bin'))
if opts.apply:
    apply_weights(fileList, weight_map, prefix + inclusive, newpostfix)
if opts.validate:
    do_validation(fileList, inclusive, newpostfix)
Ejemplo n.º 5
0
config.read(
    '/mnt/t3nfs01/data01/shome/berger_p2/VHbb/CMSSW_9_4_0_pre3/src/Xbb/python/Zll2016config/paths.ini'
)
config.read(
    '/mnt/t3nfs01/data01/shome/berger_p2/VHbb/CMSSW_9_4_0_pre3/src/Xbb/python/Zll2016config/general.ini'
)
config.read(
    '/mnt/t3nfs01/data01/shome/berger_p2/VHbb/CMSSW_9_4_0_pre3/src/Xbb/python/Zll2016config/cuts.ini'
)
config.read(
    '/mnt/t3nfs01/data01/shome/berger_p2/VHbb/CMSSW_9_4_0_pre3/src/Xbb/python/Zll2016config/training.ini'
)
config.read(
    '/mnt/t3nfs01/data01/shome/berger_p2/VHbb/CMSSW_9_4_0_pre3/src/Xbb/python/Zll2016config/datacards.ini'
)
config.read(
    '/mnt/t3nfs01/data01/shome/berger_p2/VHbb/CMSSW_9_4_0_pre3/src/Xbb/python/Zll2016config/plots.ini'
)
config.read(
    '/mnt/t3nfs01/data01/shome/berger_p2/VHbb/CMSSW_9_4_0_pre3/src/Xbb/python/Zll2016config/lhe_weights.ini'
)
config.read(
    '/mnt/t3nfs01/data01/shome/berger_p2/VHbb/CMSSW_9_4_0_pre3/src/Xbb/python/Zll2016config/samples_nosplit.ini'
)
print(config)
print(config.sections())
print(
    config.get(
        'DYJetsToLL_M-50_HT-200to400_TuneCUETP8M1_13TeV-madgraphMLM-pythia8_ext1',
        'specialweight'))
Ejemplo n.º 6
0
Archivo: test.py Proyecto: GLP90/Xbb
#!/usr/bin/env python
from __future__ import print_function
import sys, ROOT, warnings
ROOT.gROOT.SetBatch(True)
#suppres the EvalInstace conversion warning bug
warnings.filterwarnings( action='ignore', category=RuntimeWarning, message='creating converter.*' )
from optparse import OptionParser
from myutils import BetterConfigParser, mvainfo, ParseInfo
#paths.ini general.ini cuts.ini training.ini datacards.ini plots.ini lhe_weights.ini samples_nosplit.ini

# load config
config = BetterConfigParser()
config.read('/mnt/t3nfs01/data01/shome/berger_p2/VHbb/CMSSW_9_4_0_pre3/src/Xbb/python/Zll2016config/paths.ini')
config.read('/mnt/t3nfs01/data01/shome/berger_p2/VHbb/CMSSW_9_4_0_pre3/src/Xbb/python/Zll2016config/general.ini')
config.read('/mnt/t3nfs01/data01/shome/berger_p2/VHbb/CMSSW_9_4_0_pre3/src/Xbb/python/Zll2016config/cuts.ini')
config.read('/mnt/t3nfs01/data01/shome/berger_p2/VHbb/CMSSW_9_4_0_pre3/src/Xbb/python/Zll2016config/training.ini')
config.read('/mnt/t3nfs01/data01/shome/berger_p2/VHbb/CMSSW_9_4_0_pre3/src/Xbb/python/Zll2016config/datacards.ini')
config.read('/mnt/t3nfs01/data01/shome/berger_p2/VHbb/CMSSW_9_4_0_pre3/src/Xbb/python/Zll2016config/plots.ini')
config.read('/mnt/t3nfs01/data01/shome/berger_p2/VHbb/CMSSW_9_4_0_pre3/src/Xbb/python/Zll2016config/lhe_weights.ini')
config.read('/mnt/t3nfs01/data01/shome/berger_p2/VHbb/CMSSW_9_4_0_pre3/src/Xbb/python/Zll2016config/samples_nosplit.ini')
print(config)
print(config.sections())
print(config.get('DYJetsToLL_M-50_HT-200to400_TuneCUETP8M1_13TeV-madgraphMLM-pythia8_ext1', 'specialweight'))