Example #1
0
def build_electron( do_cutflow=False, do_hists=False, filtPID=None, evalPID=None, applyCorrections=False ) :

    filt = Filter('BuildElectron')

    filt.do_cutflow = do_cutflow

    filt.cut_pt = ' > 5'
    filt.cut_abssceta       = ' <2.5 '
    # no crack for now
    #filt.cut_abssceta_crack = ' > 1.44 & < 1.57 '
    #filt.invert('cut_abssceta_crack')

    filt.cut_absdEtaIn_barrel_tight       = ' < 0.004 '
    filt.cut_absdPhiIn_barrel_tight       = ' < 0.03 '
    filt.cut_sigmaIEIE_barrel_tight       = ' < 0.01 '
    filt.cut_hovere_barrel_tight          = ' < 0.12 '
    filt.cut_d0_barrel_tight              = ' < 0.02 '
    filt.cut_z0_barrel_tight              = ' < 0.1 '
    filt.cut_eoverp_barrel_tight          = ' < 0.05 '
    filt.cut_pfIso30_barrel_tight         = ' < 0.1 '
    filt.cut_convfit_barrel_tight         = ' == 0 '
    filt.cut_misshits_barrel_tight        = ' == 0 '

    filt.cut_absdEtaIn_barrel_medium      = ' < 0.004 '
    filt.cut_absdPhiIn_barrel_medium      = ' < 0.06 '
    filt.cut_sigmaIEIE_barrel_medium      = ' < 0.01 '
    filt.cut_hovere_barrel_medium         = ' < 0.12 '
    filt.cut_d0_barrel_medium             = ' < 0.02 '
    filt.cut_z0_barrel_medium             = ' < 0.1 '
    filt.cut_eoverp_barrel_medium         = ' < 0.05 '
    filt.cut_pfIso30_barrel_medium        = ' < 0.15 '
    filt.cut_convfit_barrel_medium        = ' == 0 '
    filt.cut_misshits_barrel_medium       = ' <= 1 '

    filt.cut_absdEtaIn_barrel_loose       = ' < 0.007 '
    filt.cut_absdPhiIn_barrel_loose       = ' < 0.15 '
    filt.cut_sigmaIEIE_barrel_loose       = ' < 0.01 '
    filt.cut_hovere_barrel_loose          = ' < 0.12 '
    filt.cut_d0_barrel_loose              = ' < 0.02 '
    filt.cut_z0_barrel_loose              = ' < 0.2 '
    filt.cut_eoverp_barrel_loose          = ' < 0.05 '
    filt.cut_pfIso30_barrel_loose         = ' < 0.15 '
    filt.cut_convfit_barrel_loose         = ' == 0 '
    filt.cut_misshits_barrel_loose        = ' <= 1 '

    filt.cut_absdEtaIn_barrel_veryloose   = ' < 0.007 '
    filt.cut_absdPhiIn_barrel_veryloose   = ' < 0.8 '
    filt.cut_sigmaIEIE_barrel_veryloose   = ' < 0.01 '
    filt.cut_hovere_barrel_veryloose      = ' < 0.15 '
    filt.cut_d0_barrel_veryloose          = ' < 0.04 '
    filt.cut_z0_barrel_veryloose          = ' < 0.2 '
    #filt.cut_eoverp_barrel_veryloose     = ' < 0.05 ' #no cut
    filt.cut_pfIso30_barrel_veryloose     = ' < 0.1 '
    #filt.cut_convfit_barrel_veryloose    = ' == 0 ' #no cut
    #filt.cut_misshits_barrel_veryloose   = ' == 0 ' #no cut

    filt.cut_absdEtaIn_barrel_tightTrig   = ' < 0.007 '
    filt.cut_absdPhiIn_barrel_tightTrig   = ' < 0.15 '
    filt.cut_sigmaIEIE_barrel_tightTrig   = ' < 0.01 '
    filt.cut_hovere_barrel_tightTrig      = ' < 0.12 '
    filt.cut_ecalIso30_barrel_tightTrig   = ' < 0.2 '
    filt.cut_hcalIso30_barrel_tightTrig   = ' < 0.2 '
    filt.cut_trkIso30_barrel_tightTrig    = ' < 0.2 '

    filt.cut_absdEtaIn_endcap_tight       = ' < 0.005 '
    filt.cut_absdPhiIn_endcap_tight       = ' < 0.02 '
    filt.cut_sigmaIEIE_endcap_tight       = ' < 0.03 '
    filt.cut_hovere_endcap_tight          = ' < 0.1 '
    filt.cut_d0_endcap_tight              = ' < 0.02 '
    filt.cut_z0_endcap_tight              = ' < 0.1 '
    filt.cut_eoverp_endcap_tight          = ' < 0.05 '
    filt.cut_pfIso30_endcap_lowPt_tight   = ' < 0.1 '
    filt.cut_pfIso30_endcap_highPt_tight  = ' < 0.15 '
    filt.cut_convfit_endcap_tight         = ' == 0 '
    filt.cut_misshits_endcap_tight        = ' == 0 '

    filt.cut_absdEtaIn_endcap_medium      = ' < 0.007 '
    filt.cut_absdPhiIn_endcap_medium      = ' < 0.03 '
    filt.cut_sigmaIEIE_endcap_medium      = ' < 0.03 '
    filt.cut_hovere_endcap_medium         = ' < 0.1 '
    filt.cut_d0_endcap_medium             = ' < 0.02 '
    filt.cut_z0_endcap_medium             = ' < 0.1 '
    filt.cut_eoverp_endcap_medium         = ' < 0.05 '
    filt.cut_pfIso30_endcap_lowPt_medium  = ' < 0.1 '
    filt.cut_pfIso30_endcap_highPt_medium = ' < 0.15 '
    filt.cut_convfit_endcap_medium        = ' == 0 '
    filt.cut_misshits_endcap_medium       = ' <= 1 '

    filt.cut_absdEtaIn_endcap_loose       = ' < 0.009 '
    filt.cut_absdPhiIn_endcap_loose       = ' < 0.1 '
    filt.cut_sigmaIEIE_endcap_loose       = ' < 0.03 '
    filt.cut_hovere_endcap_loose          = ' < 0.1 '
    filt.cut_d0_endcap_loose              = ' < 0.02 '
    filt.cut_z0_endcap_loose              = ' < 0.2 '
    filt.cut_eoverp_endcap_loose          = ' < 0.05 '
    filt.cut_pfIso30_endcap_lowPt_loose   = ' < 0.10 '
    filt.cut_pfIso30_endcap_highPt_loose  = ' < 0.15 '
    filt.cut_convfit_endcap_loose         = ' == 0 '
    filt.cut_misshits_endcap_loose        = ' <= 1 '

    filt.cut_absdEtaIn_endcap_veryloose   = ' < 0.01 '
    filt.cut_absdPhiIn_endcap_veryloose   = ' < 0.7 '
    filt.cut_sigmaIEIE_endcap_veryloose   = ' < 0.03 '
    #filt.cut_hovere_endcap_veryloose      = ' < 0.15 ' #no cut
    filt.cut_d0_endcap_veryloose          = ' < 0.04 '
    filt.cut_z0_endcap_veryloose          = ' < 0.2 '
    #filt.cut_eoverp_endcap_veryloose     = ' < 0.05 ' #no cut
    filt.cut_pfIso30_endcap_veryloose     = ' < 0.15 '
    #filt.cut_convfit_endcap_veryloose    = ' == 0 ' #no cut
    #filt.cut_misshits_endcap_veryloose   = ' == 0 ' #no cut

    filt.cut_absdEtaIn_endcap_tightTrig    = ' < 0.009 '
    filt.cut_absdPhiIn_endcap_tightTrig    = ' < 0.10 '
    filt.cut_sigmaIEIE_endcap_tightTrig    = ' < 0.03 '
    filt.cut_hovere_endcap_tightTrig       = ' < 0.1 '
    filt.cut_ecalIso30_endcap_tightTrig    = ' < 0.2 '
    filt.cut_hcalIso30_endcap_tightTrig    = ' < 0.2 '
    filt.cut_trkIso30_endcap_tightTrig     = ' < 0.2 '

    filt.cut_mva_central_lowpt_mvatrig     = ' > 0.0 '
    filt.cut_mva_crack_lowpt_mvatrig       = ' > 0.1 '
    filt.cut_mva_endcap_lowpt_mvatrig      = ' > 0.62 '
    filt.cut_mva_central_highpt_mvatrig    = ' > 0.94 '
    filt.cut_mva_crack_highpt_mvatrig      = ' > 0.85 '
    filt.cut_mva_endcap_highpt_mvatrig     = ' > 0.92 '
    
    filt.cut_relpfiso_mvatrig              = ' < 0.15 '
    filt.cut_misshits_mvatrig              = ' == 0 '
    filt.cut_convfit_mvatrig               = ' == 0 ' 

    filt.cut_mva_central_lowpt_mvanontrig  = ' > 0.47 '
    filt.cut_mva_crack_lowpt_mvanontrig    = ' > 0.004 '
    filt.cut_mva_endcap_lowpt_mvanontrig   = ' > 0.295 '
    filt.cut_mva_central_highpt_mvanontrig = ' > -0.34 '
    filt.cut_mva_crack_highpt_mvanontrig   = ' > -0.65 '
    filt.cut_mva_endcap_highpt_mvanontrig  = ' > 0.6 '
    
    filt.cut_relpfiso_mvanontrig           = ' < 0.4 '
    filt.cut_misshits_mvanontrig           = ' < 2 '
    filt.cut_sip_mvanontrig                = ' < 4' 

    if filtPID is not None :
        setattr(filt, 'cut_pid_%s' %filtPID, ' == True' )

    if evalPID is not None :
        filt.add_var( 'evalPID', evalPID )

    if applyCorrections :
        workarea = os.getenv('WorkArea')
        filt.add_var('applyCorrections', 'true' )
        filt.add_var('correctionFile', '%s/TreeFilter/RecoWgg/data/step2-invMass_SC-loose-Et_20-trigger-noPF-HggRunEtaR9.dat' %workarea )
        filt.add_var('smearingFile', '%s/TreeFilter/RecoWgg/data/outFile-step4-invMass_SC-loose-Et_20-trigger-noPF-HggRunEtaR9-smearEle.dat' %workarea )


    if do_hists :
        filt.add_hist( 'cut_pt', 100, 0, 500 )
        filt.add_hist( 'cut_abseta', 50, 0, 5 )
        filt.add_hist( 'cut_abseta_crack', 50, 0, 5 )
        filt.add_hist( 'cut_absdEtaIn_barrel_tight', 100, -0.1, 0.1 )
        filt.add_hist( 'cut_absdPhiIn_barrel_tight', 100, -0.1, 0.1 )
        filt.add_hist( 'cut_sigmaIEIE_barrel_tight', 100, 0, 0.05 )
        filt.add_hist( 'cut_hovere_barrel_tight', 100, -1, 1 )
        filt.add_hist( 'cut_d0_barrel_tight', 100, -1, 1 )
        filt.add_hist( 'cut_z0_barrel_tight', 100, -1, 1 )
        filt.add_hist( 'cut_eoverp_barrel_tight', 100, 0, 1 )
        filt.add_hist( 'cut_pfIso30_barrel_tight', 100, 0, 10 )
        filt.add_hist( 'cut_convfit_barrel_tight', 2, 0, 2 )
        filt.add_hist( 'cut_misshits_barrel_tight', 10, 0, 10 )

        filt.add_hist( 'cut_mva_central_lowpt_mvatrig', 50, -1, 1 )
        filt.add_hist( 'cut_mva_crack_lowpt_mvatrig', 50, -1, 1 )
        filt.add_hist( 'cut_mva_endcap_lowpt_mvatrig', 50, -1, 1 )
        filt.add_hist( 'cut_mva_central_highpt_mvatrig', 50, -1, 1 )
        filt.add_hist( 'cut_mva_crack_highpt_mvatrig', 50, -1, 1 )
        filt.add_hist( 'cut_mva_endcap_highpt_mvatrig', 50, -1, 1 )
        
        filt.add_hist( 'cut_relpfiso_mvatrig', 50, 0, 5 )
        filt.add_hist( 'cut_misshits_mvatrig', 10, 0, 10 )
        filt.add_hist( 'cut_convfit_mvatrig', 2, 0, 1 )

        filt.add_hist( 'cut_mva_central_lowpt_mvanontrig', 50, -1, 1 )
        filt.add_hist( 'cut_mva_crack_lowpt_mvanontrig', 50, -1, 1 )
        filt.add_hist( 'cut_mva_endcap_lowpt_mvanontrig', 50, -1, 1 )
        filt.add_hist( 'cut_mva_central_highpt_mvanontrig', 50, -1, 1 )
        filt.add_hist( 'cut_mva_crack_highpt_mvanontrig', 50, -1, 1 )
        filt.add_hist( 'cut_mva_endcap_highpt_mvanontrig', 50, -1, 1 )
        
        filt.add_hist( 'cut_relpfiso_mvanontrig', 50, 0, 5 )
        filt.add_hist( 'cut_misshits_mvanontrig', 10, 0, 10 )
        filt.add_hist( 'cut_sip_mvanontrig', 50, 0, 10 )

    return filt
Example #2
0
def build_electron(do_cutflow=False,
                   do_hists=False,
                   filtPID=None,
                   evalPID=None,
                   applyCorrections=False):

    filt = Filter('BuildElectron')

    filt.do_cutflow = do_cutflow

    filt.cut_pt = ' > 10'
    filt.cut_abssceta = ' <2.5 '
    # no crack for now
    #filt.cut_abssceta_crack = ' > 1.44 & < 1.57 '
    #filt.invert('cut_abssceta_crack')

    filt.cut_absdEtaIn_barrel_tight = ' < 0.004 '
    filt.cut_absdPhiIn_barrel_tight = ' < 0.03 '
    filt.cut_sigmaIEIE_barrel_tight = ' < 0.01 '
    filt.cut_hovere_barrel_tight = ' < 0.12 '
    filt.cut_d0_barrel_tight = ' < 0.02 '
    filt.cut_z0_barrel_tight = ' < 0.1 '
    filt.cut_eoverp_barrel_tight = ' < 0.05 '
    filt.cut_pfIso30_barrel_tight = ' < 0.1 '
    filt.cut_convfit_barrel_tight = ' == 0 '
    filt.cut_misshits_barrel_tight = ' == 0 '

    filt.cut_absdEtaIn_barrel_medium = ' < 0.004 '
    filt.cut_absdPhiIn_barrel_medium = ' < 0.06 '
    filt.cut_sigmaIEIE_barrel_medium = ' < 0.01 '
    filt.cut_hovere_barrel_medium = ' < 0.12 '
    filt.cut_d0_barrel_medium = ' < 0.02 '
    filt.cut_z0_barrel_medium = ' < 0.1 '
    filt.cut_eoverp_barrel_medium = ' < 0.05 '
    filt.cut_pfIso30_barrel_medium = ' < 0.15 '
    filt.cut_convfit_barrel_medium = ' == 0 '
    filt.cut_misshits_barrel_medium = ' <= 1 '

    filt.cut_absdEtaIn_barrel_loose = ' < 0.007 '
    filt.cut_absdPhiIn_barrel_loose = ' < 0.15 '
    filt.cut_sigmaIEIE_barrel_loose = ' < 0.01 '
    filt.cut_hovere_barrel_loose = ' < 0.12 '
    filt.cut_d0_barrel_loose = ' < 0.02 '
    filt.cut_z0_barrel_loose = ' < 0.2 '
    filt.cut_eoverp_barrel_loose = ' < 0.05 '
    filt.cut_pfIso30_barrel_loose = ' < 0.15 '
    filt.cut_convfit_barrel_loose = ' == 0 '
    filt.cut_misshits_barrel_loose = ' <= 1 '

    filt.cut_absdEtaIn_barrel_veryloose = ' < 0.007 '
    filt.cut_absdPhiIn_barrel_veryloose = ' < 0.8 '
    filt.cut_sigmaIEIE_barrel_veryloose = ' < 0.01 '
    filt.cut_hovere_barrel_veryloose = ' < 0.15 '
    filt.cut_d0_barrel_veryloose = ' < 0.04 '
    filt.cut_z0_barrel_veryloose = ' < 0.2 '
    #filt.cut_eoverp_barrel_veryloose     = ' < 0.05 ' #no cut
    filt.cut_pfIso30_barrel_veryloose = ' < 0.1 '
    #filt.cut_convfit_barrel_veryloose    = ' == 0 ' #no cut
    #filt.cut_misshits_barrel_veryloose   = ' == 0 ' #no cut

    filt.cut_absdEtaIn_barrel_tightTrig = ' < 0.007 '
    filt.cut_absdPhiIn_barrel_tightTrig = ' < 0.15 '
    filt.cut_sigmaIEIE_barrel_tightTrig = ' < 0.01 '
    filt.cut_hovere_barrel_tightTrig = ' < 0.12 '
    filt.cut_ecalIso30_barrel_tightTrig = ' < 0.2 '
    filt.cut_hcalIso30_barrel_tightTrig = ' < 0.2 '
    filt.cut_trkIso30_barrel_tightTrig = ' < 0.2 '

    filt.cut_absdEtaIn_endcap_tight = ' < 0.005 '
    filt.cut_absdPhiIn_endcap_tight = ' < 0.02 '
    filt.cut_sigmaIEIE_endcap_tight = ' < 0.03 '
    filt.cut_hovere_endcap_tight = ' < 0.1 '
    filt.cut_d0_endcap_tight = ' < 0.02 '
    filt.cut_z0_endcap_tight = ' < 0.1 '
    filt.cut_eoverp_endcap_tight = ' < 0.05 '
    filt.cut_pfIso30_endcap_lowPt_tight = ' < 0.1 '
    filt.cut_pfIso30_endcap_highPt_tight = ' < 0.15 '
    filt.cut_convfit_endcap_tight = ' == 0 '
    filt.cut_misshits_endcap_tight = ' == 0 '

    filt.cut_absdEtaIn_endcap_medium = ' < 0.007 '
    filt.cut_absdPhiIn_endcap_medium = ' < 0.03 '
    filt.cut_sigmaIEIE_endcap_medium = ' < 0.03 '
    filt.cut_hovere_endcap_medium = ' < 0.1 '
    filt.cut_d0_endcap_medium = ' < 0.02 '
    filt.cut_z0_endcap_medium = ' < 0.1 '
    filt.cut_eoverp_endcap_medium = ' < 0.05 '
    filt.cut_pfIso30_endcap_lowPt_medium = ' < 0.1 '
    filt.cut_pfIso30_endcap_highPt_medium = ' < 0.15 '
    filt.cut_convfit_endcap_medium = ' == 0 '
    filt.cut_misshits_endcap_medium = ' <= 1 '

    filt.cut_absdEtaIn_endcap_loose = ' < 0.009 '
    filt.cut_absdPhiIn_endcap_loose = ' < 0.1 '
    filt.cut_sigmaIEIE_endcap_loose = ' < 0.03 '
    filt.cut_hovere_endcap_loose = ' < 0.1 '
    filt.cut_d0_endcap_loose = ' < 0.02 '
    filt.cut_z0_endcap_loose = ' < 0.2 '
    filt.cut_eoverp_endcap_loose = ' < 0.05 '
    filt.cut_pfIso30_endcap_lowPt_loose = ' < 0.10 '
    filt.cut_pfIso30_endcap_highPt_loose = ' < 0.15 '
    filt.cut_convfit_endcap_loose = ' == 0 '
    filt.cut_misshits_endcap_loose = ' <= 1 '

    filt.cut_absdEtaIn_endcap_veryloose = ' < 0.01 '
    filt.cut_absdPhiIn_endcap_veryloose = ' < 0.7 '
    filt.cut_sigmaIEIE_endcap_veryloose = ' < 0.03 '
    #filt.cut_hovere_endcap_veryloose      = ' < 0.15 ' #no cut
    filt.cut_d0_endcap_veryloose = ' < 0.04 '
    filt.cut_z0_endcap_veryloose = ' < 0.2 '
    #filt.cut_eoverp_endcap_veryloose     = ' < 0.05 ' #no cut
    filt.cut_pfIso30_endcap_veryloose = ' < 0.15 '
    #filt.cut_convfit_endcap_veryloose    = ' == 0 ' #no cut
    #filt.cut_misshits_endcap_veryloose   = ' == 0 ' #no cut

    filt.cut_absdEtaIn_endcap_tightTrig = ' < 0.009 '
    filt.cut_absdPhiIn_endcap_tightTrig = ' < 0.10 '
    filt.cut_sigmaIEIE_endcap_tightTrig = ' < 0.03 '
    filt.cut_hovere_endcap_tightTrig = ' < 0.1 '
    filt.cut_ecalIso30_endcap_tightTrig = ' < 0.2 '
    filt.cut_hcalIso30_endcap_tightTrig = ' < 0.2 '
    filt.cut_trkIso30_endcap_tightTrig = ' < 0.2 '

    filt.cut_mva_central_lowpt_mvatrig = ' > 0.0 '
    filt.cut_mva_crack_lowpt_mvatrig = ' > 0.1 '
    filt.cut_mva_endcap_lowpt_mvatrig = ' > 0.62 '
    filt.cut_mva_central_highpt_mvatrig = ' > 0.94 '
    filt.cut_mva_crack_highpt_mvatrig = ' > 0.85 '
    filt.cut_mva_endcap_highpt_mvatrig = ' > 0.92 '

    filt.cut_relpfiso_mvatrig = ' < 0.15 '
    filt.cut_misshits_mvatrig = ' == 0 '
    filt.cut_convfit_mvatrig = ' == 0 '

    filt.cut_mva_central_lowpt_mvanontrig = ' > 0.47 '
    filt.cut_mva_crack_lowpt_mvanontrig = ' > 0.004 '
    filt.cut_mva_endcap_lowpt_mvanontrig = ' > 0.295 '
    filt.cut_mva_central_highpt_mvanontrig = ' > -0.34 '
    filt.cut_mva_crack_highpt_mvanontrig = ' > -0.65 '
    filt.cut_mva_endcap_highpt_mvanontrig = ' > 0.6 '

    filt.cut_relpfiso_mvanontrig = ' < 0.4 '
    filt.cut_misshits_mvanontrig = ' < 2 '
    filt.cut_sip_mvanontrig = ' < 4'

    if filtPID is not None:
        setattr(filt, 'cut_pid_%s' % filtPID, ' == True')

    if evalPID is not None:
        filt.add_var('evalPID', evalPID)

    if applyCorrections:
        workarea = os.getenv('WorkArea')
        filt.add_var('applyCorrections', 'true')
        filt.add_var(
            'correctionFile',
            '%s/TreeFilter/RecoWgg/data/scalesNewReg-May2013.csv' % workarea)
        filt.add_var(
            'linCorrectionFile',
            '%s/TreeFilter/RecoWgg/data/linearityNewReg-May2013.csv' %
            workarea)

    if do_hists:
        filt.add_hist('cut_pt', 100, 0, 500)
        filt.add_hist('cut_abseta', 50, 0, 5)
        filt.add_hist('cut_abseta_crack', 50, 0, 5)
        filt.add_hist('cut_absdEtaIn_barrel_tight', 100, -0.1, 0.1)
        filt.add_hist('cut_absdPhiIn_barrel_tight', 100, -0.1, 0.1)
        filt.add_hist('cut_sigmaIEIE_barrel_tight', 100, 0, 0.05)
        filt.add_hist('cut_hovere_barrel_tight', 100, -1, 1)
        filt.add_hist('cut_d0_barrel_tight', 100, -1, 1)
        filt.add_hist('cut_z0_barrel_tight', 100, -1, 1)
        filt.add_hist('cut_eoverp_barrel_tight', 100, 0, 1)
        filt.add_hist('cut_pfIso30_barrel_tight', 100, 0, 10)
        filt.add_hist('cut_convfit_barrel_tight', 2, 0, 2)
        filt.add_hist('cut_misshits_barrel_tight', 10, 0, 10)

        filt.add_hist('cut_mva_central_lowpt_mvatrig', 50, -1, 1)
        filt.add_hist('cut_mva_crack_lowpt_mvatrig', 50, -1, 1)
        filt.add_hist('cut_mva_endcap_lowpt_mvatrig', 50, -1, 1)
        filt.add_hist('cut_mva_central_highpt_mvatrig', 50, -1, 1)
        filt.add_hist('cut_mva_crack_highpt_mvatrig', 50, -1, 1)
        filt.add_hist('cut_mva_endcap_highpt_mvatrig', 50, -1, 1)

        filt.add_hist('cut_relpfiso_mvatrig', 50, 0, 5)
        filt.add_hist('cut_misshits_mvatrig', 10, 0, 10)
        filt.add_hist('cut_convfit_mvatrig', 2, 0, 1)

        filt.add_hist('cut_mva_central_lowpt_mvanontrig', 50, -1, 1)
        filt.add_hist('cut_mva_crack_lowpt_mvanontrig', 50, -1, 1)
        filt.add_hist('cut_mva_endcap_lowpt_mvanontrig', 50, -1, 1)
        filt.add_hist('cut_mva_central_highpt_mvanontrig', 50, -1, 1)
        filt.add_hist('cut_mva_crack_highpt_mvanontrig', 50, -1, 1)
        filt.add_hist('cut_mva_endcap_highpt_mvanontrig', 50, -1, 1)

        filt.add_hist('cut_relpfiso_mvanontrig', 50, 0, 5)
        filt.add_hist('cut_misshits_mvanontrig', 10, 0, 10)
        filt.add_hist('cut_sip_mvanontrig', 50, 0, 10)

    return filt
Example #3
0
def build_electron( do_cutflow=False, do_hists=False, filtPID=None, evalPID=None ) :

    filt = Filter('BuildElectron')

    filt.do_cutflow = do_cutflow

    filt.cut_pt = ' > 25'
    filt.cut_abssceta       = ' <2.5 '
    # no crack for now
    #filt.cut_abssceta_crack = ' > 1.44 & < 1.57 '
    #filt.invert('cut_abssceta_crack')

    filt.cut_absdEtaIn_barrel_tight       = ' < 0.004 '
    filt.cut_absdPhiIn_barrel_tight       = ' < 0.03 '
    filt.cut_sigmaIEIE_barrel_tight       = ' < 0.01 '
    filt.cut_hovere_barrel_tight          = ' < 0.12 '
    filt.cut_d0_barrel_tight              = ' < 0.02 '
    filt.cut_z0_barrel_tight              = ' < 0.1 '
    filt.cut_eoverp_barrel_tight          = ' < 0.05 '
    filt.cut_pfIso30_barrel_tight         = ' < 0.1 '
    filt.cut_convfit_barrel_tight         = ' < 0.000001 '
    filt.cut_misshits_barrel_tight        = ' == 0 '

    filt.cut_absdEtaIn_barrel_medium      = ' < 0.004 '
    filt.cut_absdPhiIn_barrel_medium      = ' < 0.06 '
    filt.cut_sigmaIEIE_barrel_medium      = ' < 0.01 '
    filt.cut_hovere_barrel_medium         = ' < 0.12 '
    filt.cut_d0_barrel_medium             = ' < 0.02 '
    filt.cut_z0_barrel_medium             = ' < 0.1 '
    filt.cut_eoverp_barrel_medium         = ' < 0.05 '
    filt.cut_pfIso30_barrel_medium        = ' < 0.15 '
    filt.cut_convfit_barrel_medium        = ' < 0.000001 '
    filt.cut_misshits_barrel_medium       = ' <= 1 '

    filt.cut_absdEtaIn_barrel_loose       = ' < 0.007 '
    filt.cut_absdPhiIn_barrel_loose       = ' < 0.15 '
    filt.cut_sigmaIEIE_barrel_loose       = ' < 0.01 '
    filt.cut_hovere_barrel_loose          = ' < 0.12 '
    filt.cut_d0_barrel_loose              = ' < 0.02 '
    filt.cut_z0_barrel_loose              = ' < 0.2 '
    filt.cut_eoverp_barrel_loose          = ' < 0.05 '
    filt.cut_pfIso30_barrel_loose         = ' < 0.15 '
    filt.cut_convfit_barrel_loose         = ' < 0.000001 '
    filt.cut_misshits_barrel_loose        = ' <= 1 '

    filt.cut_absdEtaIn_barrel_veryloose   = ' < 0.007 '
    filt.cut_absdPhiIn_barrel_veryloose   = ' < 0.8 '
    filt.cut_sigmaIEIE_barrel_veryloose   = ' < 0.01 '
    filt.cut_hovere_barrel_veryloose      = ' < 0.15 '
    filt.cut_d0_barrel_veryloose          = ' < 0.04 '
    filt.cut_z0_barrel_veryloose          = ' < 0.2 '
    #filt.cut_eoverp_barrel_veryloose     = ' < 0.05 ' #no cut
    filt.cut_pfIso30_barrel_veryloose     = ' < 0.1 '
    #filt.cut_convfit_barrel_veryloose    = ' < 0.000001 ' #no cut
    #filt.cut_misshits_barrel_veryloose   = ' == 0 ' #no cut

    filt.cut_absdEtaIn_barrel_tightTrig   = ' < 0.007 '
    filt.cut_absdPhiIn_barrel_tightTrig   = ' < 0.15 '
    filt.cut_sigmaIEIE_barrel_tightTrig   = ' < 0.01 '
    filt.cut_hovere_barrel_tightTrig      = ' < 0.12 '
    filt.cut_ecalIso30_barrel_tightTrig   = ' < 0.2 '
    filt.cut_hcalIso30_barrel_tightTrig   = ' < 0.2 '
    filt.cut_trkIso30_barrel_tightTrig    = ' < 0.2 '

    filt.cut_absdEtaIn_endcap_tight       = ' < 0.005 '
    filt.cut_absdPhiIn_endcap_tight       = ' < 0.02 '
    filt.cut_sigmaIEIE_endcap_tight       = ' < 0.03 '
    filt.cut_hovere_endcap_tight          = ' < 0.1 '
    filt.cut_d0_endcap_tight              = ' < 0.02 '
    filt.cut_z0_endcap_tight              = ' < 0.1 '
    filt.cut_eoverp_endcap_tight          = ' < 0.05 '
    filt.cut_pfIso30_endcap_lowPt_tight   = ' < 0.1 '
    filt.cut_pfIso30_endcap_highPt_tight  = ' < 0.15 '
    filt.cut_convfit_endcap_tight         = ' < 0.000001 '
    filt.cut_misshits_endcap_tight        = ' == 0 '

    filt.cut_absdEtaIn_endcap_medium      = ' < 0.007 '
    filt.cut_absdPhiIn_endcap_medium      = ' < 0.03 '
    filt.cut_sigmaIEIE_endcap_medium      = ' < 0.03 '
    filt.cut_hovere_endcap_medium         = ' < 0.1 '
    filt.cut_d0_endcap_medium             = ' < 0.02 '
    filt.cut_z0_endcap_medium             = ' < 0.1 '
    filt.cut_eoverp_endcap_medium         = ' < 0.05 '
    filt.cut_pfIso30_endcap_lowPt_medium  = ' < 0.1 '
    filt.cut_pfIso30_endcap_highPt_medium = ' < 0.15 '
    filt.cut_convfit_endcap_medium        = ' < 0.000001 '
    filt.cut_misshits_endcap_medium       = ' <= 1 '

    filt.cut_absdEtaIn_endcap_loose       = ' < 0.009 '
    filt.cut_absdPhiIn_endcap_loose       = ' < 0.1 '
    filt.cut_sigmaIEIE_endcap_loose       = ' < 0.03 '
    filt.cut_hovere_endcap_loose          = ' < 0.1 '
    filt.cut_d0_endcap_loose              = ' < 0.02 '
    filt.cut_z0_endcap_loose              = ' < 0.2 '
    filt.cut_eoverp_endcap_loose          = ' < 0.05 '
    filt.cut_pfIso30_endcap_lowPt_loose   = ' < 0.10 '
    filt.cut_pfIso30_endcap_highPt_loose  = ' < 0.15 '
    filt.cut_convfit_endcap_loose         = ' < 0.000001 '
    filt.cut_misshits_endcap_loose        = ' <= 1 '

    filt.cut_absdEtaIn_endcap_veryloose   = ' < 0.01 '
    filt.cut_absdPhiIn_endcap_veryloose   = ' < 0.7 '
    filt.cut_sigmaIEIE_endcap_veryloose   = ' < 0.03 '
    #filt.cut_hovere_endcap_veryloose      = ' < 0.15 ' #no cut
    filt.cut_d0_endcap_veryloose          = ' < 0.04 '
    filt.cut_z0_endcap_veryloose          = ' < 0.2 '
    #filt.cut_eoverp_endcap_veryloose     = ' < 0.05 ' #no cut
    filt.cut_pfIso30_endcap_veryloose     = ' < 0.15 '
    #filt.cut_convfit_endcap_veryloose    = ' < 0.000001 ' #no cut
    #filt.cut_misshits_endcap_veryloose   = ' == 0 ' #no cut

    filt.cut_absdEtaIn_endcap_tightTrig   = ' < 0.009 '
    filt.cut_absdPhiIn_endcap_tightTrig   = ' < 0.10 '
    filt.cut_sigmaIEIE_endcap_tightTrig   = ' < 0.03 '
    filt.cut_hovere_endcap_tightTrig      = ' < 0.1 '
    filt.cut_ecalIso30_endcap_tightTrig   = ' < 0.2 '
    filt.cut_hcalIso30_endcap_tightTrig   = ' < 0.2 '
    filt.cut_trkIso30_endcap_tightTrig    = ' < 0.2 '

    if filtPID is not None :
        setattr(filt, 'cut_pid_%s' %filtPID, ' == True' )

    if evalPID is not None :
        filt.add_var( 'evalPID', evalPID )

    if do_hists :
        filt.add_hist( 'cut_pt', 100, 0, 500 )
        filt.add_hist( 'cut_abseta', 50, 0, 5 )
        filt.add_hist( 'cut_abseta_crack', 50, 0, 5 )
        filt.add_hist( 'cut_absdEtaIn_barrel_tight', 100, -0.1, 0.1 )
        filt.add_hist( 'cut_absdPhiIn_barrel_tight', 100, -0.1, 0.1 )
        filt.add_hist( 'cut_sigmaIEIE_barrel_tight', 100, 0, 0.05 )
        filt.add_hist( 'cut_hovere_barrel_tight', 100, -1, 1 )
        filt.add_hist( 'cut_d0_barrel_tight', 100, -1, 1 )
        filt.add_hist( 'cut_z0_barrel_tight', 100, -1, 1 )
        filt.add_hist( 'cut_eoverp_barrel_tight', 100, 0, 1 )
        filt.add_hist( 'cut_pfIso30_barrel_tight', 100, 0, 10 )
        filt.add_hist( 'cut_convfit_barrel_tight', 2, 0, 2 )
        filt.add_hist( 'cut_misshits_barrel_tight', 10, 0, 10 )

    return filt
Example #4
0
def build_electron(do_cutflow=False,
                   do_hists=False,
                   filtPID=None,
                   evalPID=None):

    filt = Filter('BuildElectron')

    filt.do_cutflow = do_cutflow

    filt.cut_pt = ' > 25'
    filt.cut_abssceta = ' <2.5 '
    # no crack for now
    #filt.cut_abssceta_crack = ' > 1.44 & < 1.57 '
    #filt.invert('cut_abssceta_crack')

    filt.cut_absdEtaIn_barrel_tight = ' < 0.004 '
    filt.cut_absdPhiIn_barrel_tight = ' < 0.03 '
    filt.cut_sigmaIEIE_barrel_tight = ' < 0.01 '
    filt.cut_hovere_barrel_tight = ' < 0.12 '
    filt.cut_d0_barrel_tight = ' < 0.02 '
    filt.cut_z0_barrel_tight = ' < 0.1 '
    filt.cut_eoverp_barrel_tight = ' < 0.05 '
    filt.cut_pfIso30_barrel_tight = ' < 0.1 '
    filt.cut_convfit_barrel_tight = ' < 0.000001 '
    filt.cut_misshits_barrel_tight = ' == 0 '

    filt.cut_absdEtaIn_barrel_medium = ' < 0.004 '
    filt.cut_absdPhiIn_barrel_medium = ' < 0.06 '
    filt.cut_sigmaIEIE_barrel_medium = ' < 0.01 '
    filt.cut_hovere_barrel_medium = ' < 0.12 '
    filt.cut_d0_barrel_medium = ' < 0.02 '
    filt.cut_z0_barrel_medium = ' < 0.1 '
    filt.cut_eoverp_barrel_medium = ' < 0.05 '
    filt.cut_pfIso30_barrel_medium = ' < 0.15 '
    filt.cut_convfit_barrel_medium = ' < 0.000001 '
    filt.cut_misshits_barrel_medium = ' <= 1 '

    filt.cut_absdEtaIn_barrel_loose = ' < 0.007 '
    filt.cut_absdPhiIn_barrel_loose = ' < 0.15 '
    filt.cut_sigmaIEIE_barrel_loose = ' < 0.01 '
    filt.cut_hovere_barrel_loose = ' < 0.12 '
    filt.cut_d0_barrel_loose = ' < 0.02 '
    filt.cut_z0_barrel_loose = ' < 0.2 '
    filt.cut_eoverp_barrel_loose = ' < 0.05 '
    filt.cut_pfIso30_barrel_loose = ' < 0.15 '
    filt.cut_convfit_barrel_loose = ' < 0.000001 '
    filt.cut_misshits_barrel_loose = ' <= 1 '

    filt.cut_absdEtaIn_barrel_veryloose = ' < 0.007 '
    filt.cut_absdPhiIn_barrel_veryloose = ' < 0.8 '
    filt.cut_sigmaIEIE_barrel_veryloose = ' < 0.01 '
    filt.cut_hovere_barrel_veryloose = ' < 0.15 '
    filt.cut_d0_barrel_veryloose = ' < 0.04 '
    filt.cut_z0_barrel_veryloose = ' < 0.2 '
    #filt.cut_eoverp_barrel_veryloose     = ' < 0.05 ' #no cut
    filt.cut_pfIso30_barrel_veryloose = ' < 0.1 '
    #filt.cut_convfit_barrel_veryloose    = ' < 0.000001 ' #no cut
    #filt.cut_misshits_barrel_veryloose   = ' == 0 ' #no cut

    filt.cut_absdEtaIn_barrel_tightTrig = ' < 0.007 '
    filt.cut_absdPhiIn_barrel_tightTrig = ' < 0.15 '
    filt.cut_sigmaIEIE_barrel_tightTrig = ' < 0.01 '
    filt.cut_hovere_barrel_tightTrig = ' < 0.12 '
    filt.cut_ecalIso30_barrel_tightTrig = ' < 0.2 '
    filt.cut_hcalIso30_barrel_tightTrig = ' < 0.2 '
    filt.cut_trkIso30_barrel_tightTrig = ' < 0.2 '

    filt.cut_absdEtaIn_endcap_tight = ' < 0.005 '
    filt.cut_absdPhiIn_endcap_tight = ' < 0.02 '
    filt.cut_sigmaIEIE_endcap_tight = ' < 0.03 '
    filt.cut_hovere_endcap_tight = ' < 0.1 '
    filt.cut_d0_endcap_tight = ' < 0.02 '
    filt.cut_z0_endcap_tight = ' < 0.1 '
    filt.cut_eoverp_endcap_tight = ' < 0.05 '
    filt.cut_pfIso30_endcap_lowPt_tight = ' < 0.1 '
    filt.cut_pfIso30_endcap_highPt_tight = ' < 0.15 '
    filt.cut_convfit_endcap_tight = ' < 0.000001 '
    filt.cut_misshits_endcap_tight = ' == 0 '

    filt.cut_absdEtaIn_endcap_medium = ' < 0.007 '
    filt.cut_absdPhiIn_endcap_medium = ' < 0.03 '
    filt.cut_sigmaIEIE_endcap_medium = ' < 0.03 '
    filt.cut_hovere_endcap_medium = ' < 0.1 '
    filt.cut_d0_endcap_medium = ' < 0.02 '
    filt.cut_z0_endcap_medium = ' < 0.1 '
    filt.cut_eoverp_endcap_medium = ' < 0.05 '
    filt.cut_pfIso30_endcap_lowPt_medium = ' < 0.1 '
    filt.cut_pfIso30_endcap_highPt_medium = ' < 0.15 '
    filt.cut_convfit_endcap_medium = ' < 0.000001 '
    filt.cut_misshits_endcap_medium = ' <= 1 '

    filt.cut_absdEtaIn_endcap_loose = ' < 0.009 '
    filt.cut_absdPhiIn_endcap_loose = ' < 0.1 '
    filt.cut_sigmaIEIE_endcap_loose = ' < 0.03 '
    filt.cut_hovere_endcap_loose = ' < 0.1 '
    filt.cut_d0_endcap_loose = ' < 0.02 '
    filt.cut_z0_endcap_loose = ' < 0.2 '
    filt.cut_eoverp_endcap_loose = ' < 0.05 '
    filt.cut_pfIso30_endcap_lowPt_loose = ' < 0.10 '
    filt.cut_pfIso30_endcap_highPt_loose = ' < 0.15 '
    filt.cut_convfit_endcap_loose = ' < 0.000001 '
    filt.cut_misshits_endcap_loose = ' <= 1 '

    filt.cut_absdEtaIn_endcap_veryloose = ' < 0.01 '
    filt.cut_absdPhiIn_endcap_veryloose = ' < 0.7 '
    filt.cut_sigmaIEIE_endcap_veryloose = ' < 0.03 '
    #filt.cut_hovere_endcap_veryloose      = ' < 0.15 ' #no cut
    filt.cut_d0_endcap_veryloose = ' < 0.04 '
    filt.cut_z0_endcap_veryloose = ' < 0.2 '
    #filt.cut_eoverp_endcap_veryloose     = ' < 0.05 ' #no cut
    filt.cut_pfIso30_endcap_veryloose = ' < 0.15 '
    #filt.cut_convfit_endcap_veryloose    = ' < 0.000001 ' #no cut
    #filt.cut_misshits_endcap_veryloose   = ' == 0 ' #no cut

    filt.cut_absdEtaIn_endcap_tightTrig = ' < 0.009 '
    filt.cut_absdPhiIn_endcap_tightTrig = ' < 0.10 '
    filt.cut_sigmaIEIE_endcap_tightTrig = ' < 0.03 '
    filt.cut_hovere_endcap_tightTrig = ' < 0.1 '
    filt.cut_ecalIso30_endcap_tightTrig = ' < 0.2 '
    filt.cut_hcalIso30_endcap_tightTrig = ' < 0.2 '
    filt.cut_trkIso30_endcap_tightTrig = ' < 0.2 '

    if filtPID is not None:
        setattr(filt, 'cut_pid_%s' % filtPID, ' == True')

    if evalPID is not None:
        filt.add_var('evalPID', evalPID)

    if do_hists:
        filt.add_hist('cut_pt', 100, 0, 500)
        filt.add_hist('cut_abseta', 50, 0, 5)
        filt.add_hist('cut_abseta_crack', 50, 0, 5)
        filt.add_hist('cut_absdEtaIn_barrel_tight', 100, -0.1, 0.1)
        filt.add_hist('cut_absdPhiIn_barrel_tight', 100, -0.1, 0.1)
        filt.add_hist('cut_sigmaIEIE_barrel_tight', 100, 0, 0.05)
        filt.add_hist('cut_hovere_barrel_tight', 100, -1, 1)
        filt.add_hist('cut_d0_barrel_tight', 100, -1, 1)
        filt.add_hist('cut_z0_barrel_tight', 100, -1, 1)
        filt.add_hist('cut_eoverp_barrel_tight', 100, 0, 1)
        filt.add_hist('cut_pfIso30_barrel_tight', 100, 0, 10)
        filt.add_hist('cut_convfit_barrel_tight', 2, 0, 2)
        filt.add_hist('cut_misshits_barrel_tight', 10, 0, 10)

    return filt