Ejemplo n.º 1
0
    def add_corr(name,
                 expr,
                 cut,
                 fileName,
                 histName,
                 matchName='',
                 merge=True):
        corr = Corrector.MakeCorrector(name, expr, cut, fileName, histName)
        if expr == 'cmva_jet2_cmva':
            corr.SetBinning(37, -0.6, 1.05)
        elif expr == 'jet2_deepCSVb':
            corr.SetBinning(18, 0.15, 1.05)
        elif expr == 'ak8fatjet1_mSD_corr':
            corr.SetBinning(24, 80, 160)
        else:
            corr.SetBinning(36, -0.8, 1.0)

        if matchName:
            corr.SetMatchFileName(matchName)
        corr.Merge = merge
        applicator.AddCorrector(corr)
Ejemplo n.º 2
0
import MakeDatacards

from CrombieTools.Parallelization import RunParallel
from CrombieTools.SkimmingTools import Corrector

from CrombieTools.LoadConfig import cuts
from CrombieTools.ConfigTools import FileLists

rootfile = 'fitDiagnostics.root'
version = sys.argv[1] if len(sys.argv) > 1 else ''
out_branch = 'postfit%s' % version

# Bkgd only
for process in MakeDatacards.alltrees['background']:
    applicator = Corrector.MakeApplicator(out_branch, True, 'events', 'events',
                                          10000)
    applicator.SetInDirectory(os.environ['CrombieInFilesDir'])

    def add_corr(name,
                 expr,
                 cut,
                 fileName,
                 histName,
                 matchName='',
                 merge=True):
        corr = Corrector.MakeCorrector(name, expr, cut, fileName, histName)
        if expr == 'cmva_jet2_cmva':
            corr.SetBinning(37, -0.6, 1.05)
        elif expr == 'jet2_deepCSVb':
            corr.SetBinning(18, 0.15, 1.05)
        elif expr == 'ak8fatjet1_mSD_corr':
Ejemplo n.º 3
0
#! /usr/bin/python

from CrombieTools.SkimmingTools import Corrector
import os,sys

directory = sys.argv[1]

applicator = Corrector.MakeApplicator('mcFactors',True,'events','events',100000)

def addCorr(name,expr,cut,fileName,histName):
    applicator.AddCorrector(Corrector.MakeCorrector(name,expr,cut,fileName,histName))
##

addCorr('puWeight','npv','1','files/new_puWeights_13TeV_25ns.root','puWeights')

## Loose electron
addCorr('lepton_SF',['abs(lep1Eta)','lep1Pt'],'!(lep1IsMedium || lep1IsTight) && lep1Pt > 0 && abs(lep1PdgId) == 11',
        'files/scalefactors_ele-2.root','unfactorized_scalefactors_Veto_ele')
addCorr('lepton_SF',['abs(lep2Eta)','lep2Pt'],'!(lep2IsMedium || lep2IsTight) && lep2Pt > 0 && abs(lep2PdgId) == 11',
        'files/scalefactors_ele-2.root','unfactorized_scalefactors_Veto_ele')
## Medium electron
addCorr('lepton_SF',['abs(lep1Eta)','lep1Pt'],'lep1IsMedium && !lep1IsTight && lep1Pt > 0 && abs(lep1PdgId) == 11',
        'files/scalefactors_ele-2.root','unfactorized_scalefactors_Medium_ele')
addCorr('lepton_SF',['abs(lep2Eta)','lep2Pt'],'lep2IsMedium && !lep2IsTight && lep2Pt > 0 && abs(lep2PdgId) == 11',
        'files/scalefactors_ele-2.root','unfactorized_scalefactors_Medium_ele')
## Tight electron
addCorr('lepton_SF',['abs(lep1Eta)','lep1Pt'],'lep1IsTight && lep1Pt > 0 && abs(lep1PdgId) == 11',
        'files/scalefactors_ele-2.root','unfactorized_scalefactors_Tight_ele')
addCorr('lepton_SF',['abs(lep2Eta)','lep2Pt'],'lep2IsTight && lep2Pt > 0 && abs(lep2PdgId) == 11',
        'files/scalefactors_ele-2.root','unfactorized_scalefactors_Tight_ele')
## Loose muon
Ejemplo n.º 4
0
def addCorr(name,expr,cut,fileName,histName):
    applicator.AddCorrector(Corrector.MakeCorrector(name,expr,cut,fileName,histName))
Ejemplo n.º 5
0
#! /usr/bin/python

from CrombieTools.SkimmingTools import Corrector
import os,sys

directory = sys.argv[1]

applicator = Corrector.MakeApplicator('',True,'events','events',100000)

def addCorr(name,expr,cut,fileName,histName):
    applicator.AddCorrector(Corrector.MakeCorrector(name,expr,cut,fileName,histName))
##

addCorr('METTrigger','met','1','files/triggerEffs.root','MET_trigger')

for fileName in os.listdir(directory):
    if not '.root' in fileName:
        continue
    ##

    applicator.ApplyCorrections(directory + "/" + fileName)
##
Ejemplo n.º 6
0
#! /usr/bin/python

from CrombieTools.SkimmingTools import Corrector
import os,sys

directory = sys.argv[1]

applicator = Corrector.MakeApplicator('',True,'events','postfit',100000)

acorrector = Corrector.MakeCorrector('postfit','met','0 == 1','files/JustZ.root','PostFits')

applicator.AddCorrector(acorrector)

z_ = { 'cut'   : '1',
       'list'  : ['DYJets','ZJets'] }

for fileName in os.listdir(directory):
    if not '.root' in fileName:
        continue

    acorrector.SetInCut('0 == 1')

    for testName in z_['list']:
        if testName in fileName:
            print '##################'
            print fileName, ' is getting special treatments!!!!'
            print '##################'
            acorrector.SetInCut(z_['cut'])

    applicator.ApplyCorrections(directory + "/" + fileName)
Ejemplo n.º 7
0
def add_unc(name, expr, cut, fileName, histName):
    corr = Corrector.MakeCorrector(name, expr, cut, fileName, histName)
    corr.SetHistReader(corr.eUnityCenteredUnc)
    unc_applicator.AddCorrector(corr)
Ejemplo n.º 8
0
def add_corr(name, expr, cut, fileName, histName, matchName='', merge=True):
    corr = Corrector.MakeCorrector(name, expr, cut, fileName, histName)
    if matchName:
        corr.SetMatchFileName(matchName)
    corr.Merge = merge
    applicator.AddCorrector(corr)
Ejemplo n.º 9
0
#! /usr/bin/env python

import os
import sys
import re

from CrombieTools.Parallelization import RunOnDirectory
from CrombieTools.SkimmingTools import Corrector
from CrombieTools.SkimmingTools.FormulaCorrector import MakeFormulaCorrector
from CrombieTools.SkimmingTools.TMVACorrector import MakeTMVACorrector

import cuts

#applicator = Corrector.MakeApplicator('scale_factors', True, 'events', 'events', 10000)
applicator = Corrector.MakeApplicator('pu', True, 'events', 'events', 10000)

#applicator.AddFactorToMerge('mc_weight')


def add_corr(name, expr, cut, fileName, histName, matchName='', merge=True):
    corr = Corrector.MakeCorrector(name, expr, cut, fileName, histName)
    if matchName:
        corr.SetMatchFileName(matchName)
    corr.Merge = merge
    applicator.AddCorrector(corr)


add_corr('pu_2018to2016_v2', 'npv', '1', '../plotter/npv2018to2016.root',
         'puweight')

directory = sys.argv[1]