예제 #1
0
def _2017(cfg, **kwargs):
    cfg['Pipelines']['default']['Processors'] += [
        'filter:JetIDCut',
    ]  # if you want to use object-based JetID selection, use 'JetID' in cfg
    cfg['CutJetID'] = 'tightlepveto'  # choose event-based JetID selection
    cfg['CutJetIDVersion'] = 2017  # for event-based JetID
    cfg['CutJetIDFirstNJets'] = 2
    cfg['Year'] = 2017
    cfg['Energy'] = 13
    cfg['JetIDVersion'] = 2017  # for object-based JetID
    cfg['MinPUJetID'] = -9999  # no PUJetID for 2017
    cfg['MinZllJetDeltaRVeto'] = 0.3
    cfg['JetLeptonLowerDeltaRCut'] = 0.3  # JetID 2015 does not veto muon contribution - invalidate any jets that are likely muons; requires ZmmProducer and ValidZllJetsProducer to work
    # create empty containers to allow using references prematurely
    cfg["InputFiles"] = configtools.InputFiles()
    # data settings also used to derive values for mc
    cfg['Minbxsec'] = 69.2
    cfg['NPUFile'] = os.path.join(configtools.getPath(),
                                  'data/pileup/pumean_data2017_13TeV.txt')
    cfg['JsonFiles'] = [
        os.path.join(
            configtools.getPath(),
            'data/json/Cert_294927-306462_13TeV_PromptReco_Collisions17_JSON.txt'
        )
    ]
예제 #2
0
def _2016(cfg, **kwargs):
    cfg['Pipelines']['default']['Processors'] += [
        'filter:JetIDCut',
    ]  # if you want to use object-based JetID selection, use 'JetID' in cfg
    cfg['CutJetID'] = 'loose'  # choose event-based JetID selection
    cfg['CutJetIDVersion'] = 2016  # for event-based JetID
    cfg['CutJetIDFirstNJets'] = 2
    cfg['Year'] = 2016
    cfg['Energy'] = 13
    cfg['JetIDVersion'] = 2016  # for object-based JetID
    # cfg['PUJetID'] = 'loose'
    cfg['MinPUJetID'] = -9999
    cfg['MinZllJetDeltaRVeto'] = 0.3
    cfg['JetLeptonLowerDeltaRCut'] = 0.3  # JetID 2015 does not veto muon contribution - invalidate any jets that are likely muons; requires ZmmProducer and ValidZllJetsProducer to work
    # create empty containers to allow using references prematurely
    cfg["InputFiles"] = configtools.InputFiles()
    # data settings also used to derive values for mc
    cfg['Minbxsec'] = 69.2
    cfg['NPUFile'] = os.path.join(configtools.getPath(),
                                  'data/pileup/pumean_data2016_13TeV.txt')
    cfg['NPUSmearing'] = True
    cfg['NPUSmearingSeed'] = 1
    # TODO: Use official CERT naming
    cfg['JsonFiles'] = [
        os.path.join(
            configtools.getPath(),
            'data/json/Cert_BCDEFGH_13TeV_23Sep2016ReReco_Collisions16_JSON.txt'
        )
    ]
예제 #3
0
def config():
    cfg = configtools.getConfig('mc', 2017, CH, JEC=JEC, JER=JER)
    cfg["InputFiles"].set_input(
        # bmspath3="{}/dsavoiu/Skimming/ZJet_DY3JetsToLL_Fall17-madgraphMLM_realistic_v10-v2/*.root".format(SE_PATH_PREFIXES['srm_gridka_nrg']),
        # ekppath3="{}/dsavoiu/Skimming/ZJet_DY3JetsToLL_Fall17-madgraphMLM_realistic_v10-v2/*.root".format(SE_PATH_PREFIXES['srm_gridka_nrg']),
        path=
        "{}/dsavoiu/Skimming/ZJet_DY3JetsToLL_Fall17-madgraphMLM_realistic_v10-v2/*.root"
        .format(SE_PATH_PREFIXES['xrootd_gridka_nrg']), )
    cfg['JsonFiles'] = [
        os.path.join(
            configtools.getPath(),
            'data/json/Cert_294927-306462_13TeV_PromptReco_Collisions17_JSON.txt'
        )
    ]

    cfg = configtools.expand(cfg, ['nocuts', 'basiccuts', 'finalcuts'],
                             ['None', 'L1', 'L1L2L3'])
    cfg['PileupWeightFile'] = os.path.join(
        configtools.getPath(),
        'data/pileup/mc_weights/mc17_DYJets_madgraph/PUWeights_BCDEF_17Nov2017_DY3JetsToLL_Fall17-madgraphMLM_realistic_v10-v2.root'
    )
    cfg['NumberGeneratedEvents'] = 4779068
    cfg['GeneratorWeight'] = 1.0
    cfg['CrossSection'] = 101.8 * 1.23  # from mc16 config

    cfg['VertexSummary'] = 'offlinePrimaryVerticesSummary'

    return cfg
예제 #4
0
def _2016(cfg, **kwargs):
    cfg['Processors'] += [
        'filter:JetIDCut',
    ]  # if you want to use object-based JetID selection, use 'JetID' in cfg
    cfg['CutJetID'] = 'loose'  # choose event-based JetID selection
    cfg['Pipelines']['default']['Processors'] += ['filter:EtaPhiCleaningCut']
    cfg['CutEtaPhiCleaning'] = os.path.join(
        configtools.getPath(),
        'data/hotjets-runBCDEFGH.root')  #File used for eta-phi-cleaning
    cfg['Year'] = 2016
    cfg['Energy'] = 13
    cfg['JetIDVersion'] = 2016
    cfg['MinZllJetDeltaRVeto'] = 0.3
    # create empty containers to allow using references prematurely
    cfg["InputFiles"] = configtools.InputFiles()
    cfg['NPUFile'] = os.path.join(configtools.getPath(),
                                  'data/pileup/pumean_data2016_13TeV.txt')
    cfg['JsonFiles'] = os.path.join(
        configtools.getPath(),
        'data/json/Cert_BCDEFGH_13TeV_23Sep2016ReReco_Collisions16_JSON.txt')

    ###################### has to be checked:
    # data settings also used to derive values for mc
    cfg['JetLeptonLowerDeltaRCut'] = 0.3  # JetID 2015 does not veto muon contribution - invalidate any jets that are likely muons; requires ZmmProducer and ValidZllJetsProducer to work
    cfg['Minbxsec'] = 69.2  # or 71.3???
예제 #5
0
def config():
    cfg = configtools.getConfig('mc', 2016, CH, bunchcrossing='25ns')
    cfg["InputFiles"].set_input(
        #bmspath="srm://grid-srm.physik.rwth-aachen.de:8443/srm/managerv2?SFN=/pnfs/physik.rwth-aachen.de/cms/store/user/tberger/Zll_DYJetsToLL_M-50_amcatnloFXFX-pythia8_RunIISummer16/*.root"
        #bmspath="srm://dcache-se-cms.desy.de:8443/srm/managerv2?SFN=/pnfs/desy.de/cms/tier2/store/user/tberger/Skimming/dataminiaod_BC_2016-10-24/Zll_DYJetsToLL_M-50_amcatnloFXFX-pythia8_25nsv2_v0-v1/*.root"
        bmspath=
        "srm://dcache-se-cms.desy.de:8443/srm/managerv2?SFN=/pnfs/desy.de/cms/tier2/store/user/tberger/Skimming/MC-Summer16_metfix/Zll_DYJetsToLL_M-50_madgraphMLM-pythia8_RunIISummer16/*.root",
        nafpath=
        "/pnfs/desy.de/cms/tier2/store/user/tberger/Skimming/MC-Summer16_metfix/Zll_DYJetsToLL_M-50_madgraphMLM-pythia8_RunIISummer16/*.root",
    )
    cfg['JsonFiles'] = [
        os.path.join(
            configtools.getPath(), 'data/json/Cert_' + RUN +
            '_13TeV_23Sep2016ReReco_Collisions16_JSON.txt')
    ]
    cfg['Jec'] = os.path.join(
        configtools.getPath(),
        '../JECDatabase/textFiles/' + JEC + '_MC/' + JEC + '_MC')
    cfg = configtools.expand(
        cfg, ['nocuts', 'noalphanoetacuts', 'basiccuts', 'finalcuts'],
        ['None', 'L1', 'L1L2L3'])

    cfg['PileupWeightFile'] = os.path.join(
        configtools.getPath(), 'data/pileup/PUWeights_' + RUN +
        '_13TeV_23Sep2016ReReco_DYJetsToLL_M-50_amcatnloFXFX-pythia8_RunIISummer16.root'
    )
    cfg['NumberGeneratedEvents'] = 49144274  # for: HT-full_madgraphMLM
    cfg['GeneratorWeight'] = 1.0
    cfg['CrossSection'] = 1921.8 * 3
    return cfg
예제 #6
0
def config():
    cfg = configtools.getConfig('mc', 2016, CH, bunchcrossing='25ns')
    cfg["InputFiles"].set_input(
        #ekppath="/storage/jbod/tberger/SkimmingResults/Zll_DYJetsToLL_M-50_amcatnloFXFX-Summer16-pythia8_25ns/Zll_DYJetsToLL_M-50_amcatnloFXFX-pythia8_RunIISummer16/*.root"
        #ekppath="srm://grid-srm.physik.rwth-aachen.de:8443/srm/managerv2?SFN=/pnfs/physik.rwth-aachen.de/cms/store/user/tberger/Zll_DYJetsToLL_M-50_amcatnloFXFX-pythia8_RunIISummer16/*.root"
        #ekppath="srm://dcache-se-cms.desy.de:8443/srm/managerv2?SFN=/pnfs/desy.de/cms/tier2/store/user/tberger/Skimming/dataminiaod_BC_2016-10-24/Zll_DYJetsToLL_M-50_amcatnloFXFX-pythia8_25nsv2_v0-v1/*.root"
        #ekppath="/storage/jbod/tberger/SkimmingResults/Zll_DYJetsToLL_M-50_amcatnloFXFX-pythia8_25nsv2_v0-v1/*.root"
        ekppath=
        "srm://dcache-se-cms.desy.de:8443/srm/managerv2?SFN=/pnfs/desy.de/cms/tier2/store/user/tberger/Skimming/MC-Summer16_metfix/Zll_DYJetsToLL_M-50_amcatnloFXFX-pythia8_RunIISummer16/*.root",
        nafpath=
        "/pnfs/desy.de/cms/tier2/store/user/tberger/Skimming/MC-Summer16_metfix/Zll_DYJetsToLL_M-50_amcatnloFXFX-pythia8_RunIISummer16/*.root"
    )
    cfg['JsonFiles'] = [
        os.path.join(
            configtools.getPath(), 'data/json/Cert_' + RUN +
            '_13TeV_23Sep2016ReReco_Collisions16_JSON.txt')
    ]
    cfg['Jec'] = os.path.join(
        configtools.getPath(),
        '../JECDatabase/textFiles/' + JEC + '_MC/' + JEC + '_MC')
    cfg = configtools.expand(
        cfg, ['nocuts', 'noalphanoetacuts', 'basiccuts', 'finalcuts'],
        ['None', 'L1', 'L1L2L3'])
    configtools.remove_quantities(cfg, ['jet1qgtag'])
    cfg['PileupWeightFile'] = os.path.join(
        configtools.getPath(), 'data/pileup/pileup_weights_' + RUN +
        '_13TeV_23Sep2016ReReco_Zll_DYJetsToLL_M-50_amcatnloFXFX-pythia8_RunIISummer16.root'
    )
    cfg['NumberGeneratedEvents'] = 11043183  #28968252 # for: amc@nlo
    cfg['GeneratorWeight'] = 0.670123731536
    cfg['CrossSection'] = 1921.8 * 3
    return cfg
예제 #7
0
def mc_2015(cfg, **kwargs):
    #cfg['PileupWeightFile'] = configtools.PUWeights(cfg['JsonFiles'], cfg['InputFiles'], pileup_json="/afs/cern.ch/cms/CAF/CMSCOMM/COMM_DQM/certification/Collisions15/13TeV/PileUp/pileup_latest.txt", min_bias_xsec=cfg['Minbxsec'], weight_limits=(0, 4))
    cfg['CutAlphaMax'] = 0.3
    cfg['GenJets'] = 'ak4GenJetsNoNu'
    cfg['GenParticleStatus'] = 22  # see also http://www.phy.pku.edu.cn/~qhcao/resources/CTEQ/MCTutorial/Day1.pdf
    # insert Generator producer before EventWeightProducer:
    cfg['Processors'].insert(
        cfg['Processors'].index('producer:EventWeightProducer'),
        'producer:GeneratorWeightProducer')
    cfg['Pipelines']['default']['Quantities'] += ['generatorWeight']
    #cfg['Processors'].insert(cfg['Processors'].index('producer:EventWeightProducer'), 'producer:PUWeightProducer')
    #cfg['Pipelines']['default']['Quantities'] += ['puWeight']
    if kwargs.get('bunchcrossing', "50ns") == "50ns":
        cfg['Jec'] = configtools.getPath(
        ) + '/data/jec/Summer15_50nsV5_MC/Summer15_50nsV5_MC'
    elif kwargs['bunchcrossing'] == "25ns":
        # use WIP corrections until full tarballs are available again -- MF@20160215
        #cfg['Jec'] = configtools.getPath() + '/data/jec/Fall15_25nsV2_MC/Fall15_25nsV2_MC'
        cfg['Jec'] = configtools.getPath(
        ) + '/data/jec/Fall15_25nsV2_MC/Fall15_25nsV2_MC'
        #cfg['Jec'] = configtools.getPath() + '/data/jec/Fall15_25nsV1_MC/Fall15_25nsV1_MC'
        # cfg['Jec'] = configtools.get_jec("Fall15_25nsV1_MC")-
    else:
        raise ValueError("No support for 'bunchcrossing' %r" %
                         kwargs['bunchcrossing'])
예제 #8
0
def config():
    cfg = configtools.getConfig('mc', 2017, CH)
    cfg["InputFiles"].set_input(
        ekppathB=
        "srm://cmssrm-kit.gridka.de:8443/srm/managerv2?SFN=/pnfs/gridka.de/cms/disk-only/store/user/dsavoiu/Skimming/ZJet_DYJetsToLL_Fall17-amcatnloFXFX_PU2017RECOPF_12Apr2018_realistic_v14-v1/*.root",
        #ekppathB="/storage/gridka-nrg/dsavoiu/Skimming/ZJet_DYJetsToLL_Fall17-amcatnloFXFX_PU2017RECOPF_12Apr2018_realistic_v14-v1/*.root",
    )
    cfg['JsonFiles'] = [
        os.path.join(
            configtools.getPath(),
            'data/json/Cert_294927-306462_13TeV_PromptReco_Collisions17_JSON.txt'
        )
    ]
    cfg['Jec'] = os.path.join(
        configtools.getPath(),
        '../JECDatabase/textFiles/' + JEC + '_MC/' + JEC + '_MC')

    cfg = configtools.expand(cfg, ['nocuts', 'basiccuts', 'finalcuts'],
                             ['None', 'L1', 'L1L2L3'])

    cfg['PileupWeightFile'] = os.path.join(
        configtools.getPath(),
        'data/pileup/mc_weights/mc17_DYJets_amcatnlo/PUWeights_BCDEF_17Nov2017_DYJetsToLL_Fall17-amcatnloFXFX_PU2017RECOPF_12Apr2018_realistic_v14-v1.root'
    )
    cfg['NumberGeneratedEvents'] = 4999851
    cfg['GeneratorWeight'] = 1.0
    cfg['CrossSection'] = 1012.5 * 1.23  # from mc16 config

    return cfg
예제 #9
0
def config():
    cfg = configtools.getConfig('data', 2016, CH, bunchcrossing='25ns')
    cfg["InputFiles"].set_input(
        ekppathC1=
        "srm://cmssrm-kit.gridka.de:8443/srm/managerv2?SFN=/pnfs/gridka.de/cms/disk-only/store/user/dsavoiu/Skimming/ZJet_DoubleMuon_Run2017C-PromptReco-v1/*.root",
        ekppathC2=
        "srm://cmssrm-kit.gridka.de:8443/srm/managerv2?SFN=/pnfs/gridka.de/cms/disk-only/store/user/dsavoiu/Skimming/ZJet_DoubleMuon_Run2017C-PromptReco-v2/*.root",
        ekppathC3=
        "srm://cmssrm-kit.gridka.de:8443/srm/managerv2?SFN=/pnfs/gridka.de/cms/disk-only/store/user/dsavoiu/Skimming/ZJet_DoubleMuon_Run2017C-PromptReco-v3/*.root",
    )
    cfg['JsonFiles'] = [
        os.path.join(
            configtools.getPath(), 'data/json/Cert_' + RUN +
            '_13TeV_PromptReco_Collisions17_JSON.txt')
    ]
    cfg['Jec'] = os.path.join(
        configtools.getPath(),
        '../JECDatabase/textFiles/' + JEC + '_DATA/' + JEC + '_DATA')
    cfg['VertexSummary'] = 'offlinePrimaryVerticesSummary'
    cfg = configtools.expand(cfg, [
        'nocuts', 'noalphanoetacuts', 'noetaphicleaning', 'basiccuts',
        'finalcuts'
    ], ['None', 'L1', 'L1L2L3', 'L1L2Res', 'L1L2L3Res'])
    configtools.remove_quantities(cfg, ['jet1qgtag'])
    return cfg
예제 #10
0
def config():
    cfg = configtools.getConfig('data', 2016, 'mm', bunchcrossing='25ns')
    cfg["InputFiles"].set_input(
        ekppath=
        "srm://dcache-se-cms.desy.de:8443/srm/managerv2?SFN=/pnfs/desy.de/cms/tier2/store/user/tberger/Skimming/dataminiaod_BC_2016-10-24/Zll_SiMuRun2016B-PromptReco-v2/*.root",
        #ekppath='/storage/a/afriedel/zjets/data_miniAOD_singleMu_run2016D.root',
        nafpathB=
        '/pnfs/desy.de/cms/tier2/store/user/tberger/Skimming/dataminiaod_BC_2016-10-24/Zll_SiMuRun2016B-PromptReco-v2/*.root',
        nafpathC=
        '/pnfs/desy.de/cms/tier2/store/user/tberger/Skimming/dataminiaod_BC_2016-10-24/Zll_SiMuRun2016C-PromptReco-v2/*.root',
        nafpathD=
        '/pnfs/desy.de/cms/tier2/store/user/tberger/Skimming/dataminiaod_BC_2016-10-24/Zll_SiMuRun2016D-PromptReco-v2/*.root',
    )
    cfg = configtools.expand(cfg, ['zcuts', 'leptoncuts'], ['None'], True)
    configtools.remove_quantities(
        cfg, ['jet1btag', 'jet1qgtag', 'jet1ptl1l2l3', 'jet1res', 'jet1rc'])
    cfg['MuonID'] = 'tight'
    cfg['MuonIso'] = 'loose'
    cfg['LeptonSFRootfile'] = configtools.getPath(
    ) + "/data/scalefactors/2016/SFData_ICHEP.root"
    cfg['LeptonTriggerSFRootfile'] = configtools.getPath(
    ) + "/data/scalefactors/2016/SFTriggerData.root"
    cfg['HltPaths'] = ['HLT_IsoMu22', 'HLT_IsoTkMu22']
    #cfg['UseHighPtID'] = True
    return cfg
예제 #11
0
def config():
    cfg = configtools.getConfig('data', 2016, CH, bunchcrossing='25ns')
    cfg["InputFiles"].set_input(
        #ekppath="/storage/jbod/tberger/SkimmingResults/Zll_DoElRun2016B-PromptReco-v2/*.root"
        ekppath0=
        "srm://dcache-se-cms.desy.de:8443/srm/managerv2?SFN=/pnfs/desy.de/cms/tier2/store/user/tberger/Skimming/reminiaod03Feb2017_metfix/Zll_DoElRun2016F-03Feb2017-v1/*.root",
        ekppath1=
        "srm://dcache-se-cms.desy.de:8443/srm/managerv2?SFN=/pnfs/desy.de/cms/tier2/store/user/tberger/Skimming/reminiaod03Feb2017_metfix/Zll_DoElRun2016G-03Feb2017-v1/*.root",
        nafpath0=
        "/pnfs/desy.de/cms/tier2/store/user/tberger/Skimming/reminiaod03Feb2017_metfix/Zll_DoElRun2016F-03Feb2017-v1/*.root",
        nafpath1=
        "/pnfs/desy.de/cms/tier2/store/user/tberger/Skimming/reminiaod03Feb2017_metfix/Zll_DoElRun2016G-03Feb2017-v1/*.root"
    )
    cfg['JsonFiles'] = [
        os.path.join(
            configtools.getPath(), 'data/json/Cert_' + RUN +
            '_13TeV_23Sep2016ReReco_Collisions16_JSON.txt')
    ]
    cfg['Jec'] = os.path.join(
        configtools.getPath(),
        '../JECDatabase/textFiles/' + JEC + '_DATA/' + JEC + '_DATA')
    cfg = configtools.expand(cfg, [
        'nocuts', 'noalphanoetacuts', 'noetaphicleaning', 'basiccuts',
        'finalcuts'
    ], ['None', 'L1', 'L1L2L3', 'L1L2Res', 'L1L2L3Res'])
    configtools.remove_quantities(cfg, ['jet1qgtag'])
    return cfg
예제 #12
0
def config():
    cfg = configtools.getConfig('mc', 2017, CH, JEC=JEC, JER=JER)
    cfg["InputFiles"].set_input(
        path=
        "{}/cheideck/Skimming/ZJet_DY4JetsToLL_Fall17-madgraphMLM_realistic_v10-v1/*.root"
        .format(SE_PATH_PREFIXES['xrootd_gridka_nrg']),
        # bmspath4="{}/dsavoiu/Skimming/ZJet_DY4JetsToLL_Fall17-madgraphMLM_realistic_v10-v1/*.root".format(SE_PATH_PREFIXES['xrootd_gridka_nrg']),
        # ekppath4="{}/dsavoiu/Skimming/ZJet_DY4JetsToLL_Fall17-madgraphMLM_realistic_v10-v1/*.root".format(SE_PATH_PREFIXES['xrootd_gridka_nrg']),
    )
    cfg['JsonFiles'] = [
        os.path.join(
            configtools.getPath(),
            'data/json/Cert_294927-306462_13TeV_PromptReco_Collisions17_JSON.txt'
        )
    ]

    cfg = configtools.expand(cfg, ['nocuts', 'basiccuts', 'finalcuts'],
                             ['None', 'L1', 'L1L2L3'])
    cfg['PileupWeightFile'] = os.path.join(
        configtools.getPath(),
        'data/pileup/mc_weights/mc17_DYJets_madgraph/PUWeights_BCDEF_17Nov2017_DY4JetsToLL_Fall17-madgraphMLM_realistic_v10-v1.root'
    )
    cfg['NumberGeneratedEvents'] = 4337967
    cfg['GeneratorWeight'] = 1.0
    cfg['CrossSection'] = 54.8 * 1.23  # from mc16 config

    cfg['VertexSummary'] = 'offlinePrimaryVerticesSummary'

    cfg['ElectronID'] = 'user'  # old ID no longer written out in new skim
    cfg['ApplyElectronVID'] = True
    cfg['ElectronVIDName'] = "Fall17-94X-V1"
    cfg['ElectronVIDType'] = "cutbased_v2"
    cfg['ElectronVIDWorkingPoint'] = "tight"

    return cfg
예제 #13
0
def config():
    cfg = configtools.getConfig('mc', 2018, 'mm', bunchcrossing='25ns')
    cfg["InputFiles"].set_input(
        #ekppath='/storage/c/tberger/testfiles/skimming_output/mc/ZJet_DYJetsToLL_amcatnloFXFX-pythia8_RunIISummer16_testfile.root',
        #bmspath='/storage/c/tberger/testfiles/skimming_output/mc/ZJet_DYJetsToLL_amcatnloFXFX-pythia8_RunIISummer16_localtestfile.root',
        #ekppath='/storage/c/tberger/testfiles/skimming_output/mc/ZJet_DYJetsToLL_amcatnloFXFX-pythia8_RunIISummer16_inclPFcand_testfile.root',
        #nafpath="/pnfs/desy.de/cms/tier2/store/user/tberger/Skimming/testfiles/Zll_DYJetsToLL_M-50_amcatnloFXFX-pythia8_RunIISummer16_testfile_noJTB.root",
        #bmspath='/ceph/mschnepf/skimming/job_0_output.root'
        bmspath='root://cmsxrootd-redirectors.gridka.de//pnfs/gridka.de/cms/disk-only/store/user/mschnepf/Skimming/ZJet_DYJetsToLL_M-50_TuneCP5_13TeV-amcatnloFXFX-pythia8/*.root'


        )
    cfg = configtools.expand(cfg, 
                                ['nocuts','leptoncuts','genleptoncuts', 'allleptoncuts','zjetcuts','genzjetcuts','allzjetcuts'],
                                ['None','L1','L1L2L3'])#,'zcuts','genzcuts','allzcuts'
    configtools.remove_quantities(cfg, ['jet1flavor','jet1rc'])
    configtools.add_quantities(cfg, [   'mu1IDSFWeight', 'mu2IDSFWeight', 'leptonIDSFWeight',
                                        'mu1IsoSFWeight','mu2IsoSFWeight','leptonIsoSFWeight',
                                        'mu1TrackingSFWeight','mu2TrackingSFWeight','leptonTrackingSFWeight',  
                                        'mu1TriggerSFWeight','mu2TriggerSFWeight','leptonTriggerSFWeight',     
                                        'jet1puidraw',
                                        ])
##### Add Producers: #####
    cfg['Processors'] = [  'producer:MuonTriggerMatchingProducer',
                            ] + cfg['Processors'] + [
                            'producer:LeptonIDSFProducer',
                            'producer:LeptonIsoSFProducer',
#                            'producer:LeptonTrackingSFProducer',
                            'producer:LeptonTriggerSFProducer',
                            'producer:LeptonSFProducer',
                            ]
    cfg['Processors'].insert(cfg['Processors'].index('producer:ValidMuonsProducer'), 'producer:MuonCorrectionsProducer',)
##### Specify input sources for Jets & Muons: #####
    cfg['VertexSummary'] = 'offlinePrimaryVerticesSummary'
    cfg['ValidMuonsInput'] = "corrected"
    cfg['GenJets'] = 'ak4GenJetsNoNu'   # JTB switched off
    cfg['TaggedJets'] = 'ak4PFJetsCHS'
#    cfg['Jec'] = os.path.join(configtools.getPath(), '../JECDatabase/textFiles/Summer16_07Aug2017_V11_MC/Summer16_07Aug2017_V11_MC') ## need to be updated when available
##### Change selection: (see also http://cms.cern.ch/iCMS/analysisadmin/cadilines?line=SMP-17-002&tp=an&id=1891&ancode=SMP-17-002) #####
    cfg['MuonIso'] = 'loose_2018'
    cfg['MuonID'] = 'tight'
    cfg['CutMuonPtMin'] = 25.0
    cfg['CutMuonEtaMax'] = 2.4
    cfg['ZMassRange'] = 20.0
    cfg['CutLeadingJetPtMin'] = 15.0
    cfg['MinPUJetID'] = -9999
    cfg['HltPaths'] = ['HLT_IsoMu24', 'HLT_IsoTkMu24']
    cfg["MuonTriggerFilterNames"] = ['HLT_IsoMu24_v2:hltL3crIsoL1sMu22L1f0L2f10QL3f24QL3trkIsoFiltered0p09','HLT_IsoTkMu24_v3:hltL3fL1sMu22L1f0Tkf24QL3trkIsoFiltered0p09']
##### LeptonSF files: #####
## https://twiki.cern.ch/twiki/bin/view/CMS/MuonPOG ##
    cfg['LeptonIDSFRootfile'] = os.path.join(configtools.getPath(),"data/scalefactors/2017/ID_EfficienciesAndSF_BCDEF_Nov17Nov2017.root")
    cfg['LeptonIsoSFRootfile'] = os.path.join(configtools.getPath(),"data/scalefactors/2017/Iso_EfficienciesAndSF_BCDEF_Nov17Nov2017.root")
    cfg['LeptonTriggerSFRootfile'] = os.path.join(configtools.getPath(),"data/scalefactors/2017/Trigger_EfficienciesAndSF_BCDEF_Nov17Nov2017.root")
#    cfg['LeptonTrackingSFRootfile'] = os.path.join(configtools.getPath(),"data/scalefactors/2016latest/Tracking_EfficienciesAndSF_BCDEFGH.root")
##### MC specific properties: #####
    cfg['NumberGeneratedEvents'] = 122055388 # from geteventsscript
    cfg['GeneratorWeight'] =  0.670123731536
    cfg['CrossSection'] = 1921.8*3
    cfg['PileupWeightFile'] = os.path.join(configtools.getPath() , 'data/pileup/PUWeights_BCDEFGH_13TeV_23Sep2016ReReco_DYJetsToLL_M-50_amcatnloFXFX-pythia8_RunIISummer16.root')
    return cfg
예제 #14
0
def mc_2016(cfg, **kwargs):
    #cfg['PileupWeightFile'] = configtools.PUWeights(cfg['JsonFiles'],  cfg['InputFiles'],pileup_json="/afs/cern.ch/cms/CAF/CMSCOMM/COMM_DQM/certification/Collisions16/13TeV/PileUp/pileup_latest.txt", min_bias_xsec=cfg['Minbxsec'], weight_limits=(0, 4))
    cfg['PileupWeightFile'] = os.path.join(
        configtools.getPath(),
        'data/pileup/pileup_weights_BCDEFGH_13TeV_23Sep2016ReReco_Zll_DYJetsToLL_M-50_amcatnloFXFX-pythia8_RunIISummer16.root'
    )
    # use WIP corrections until full tarballs are available again -- MF@20160215
    cfg['Jec'] = os.path.join(
        configtools.getPath(),
        '../JECDatabase/textFiles/Spring16_25nsV6_MC/Spring16_25nsV6_MC')
예제 #15
0
def data_2015mm(cfg, **kwargs):
    cfg['Processors'] += [
        'producer:MuonTriggerMatchingProducer', 'producer:LeptonSFProducer',
        'producer:LeptonTriggerSFProducer'
    ]
    cfg['MuonPtVariationFactor'] = 1.00
    cfg['LeptonSFRootfile'] = configtools.getPath(
    ) + "/data/scalefactors/2015/SFData.root"
    cfg['LeptonTriggerSFRootfile'] = configtools.getPath(
    ) + "/data/scalefactors/2015/SFTriggerData.root"
예제 #16
0
def data_2016mm(cfg, **kwargs):
    cfg['Pipelines']['default']['Processors'] += [
        'producer:MuonTriggerMatchingProducer', 'producer:LeptonSFProducer',
        'producer:LeptonTriggerSFProducer'
    ]
    cfg['MuonPtVariationFactor'] = 1.00
    cfg['LeptonSFRootfile'] = configtools.getPath(
    ) + "/data/scalefactors/2016/SFData_ICHEP.root"
    cfg['LeptonTriggerSFRootfile'] = configtools.getPath(
    ) + "/data/scalefactors/2016/SFTriggerData.root"
    cfg['TriggerSFRuns'] = [274094, 276097]
def config():
    cfg = configtools.getConfig('data', 2016, 'mm', JEC=JEC, IOV=RUN)
    cfg["InputFiles"].set_input(
        #path = '/portal/ekpbms1/home/tberger/Excalibur/CMSSW_9_4_12/src/Kappa/Skimming/zjet/output_numEvent100.root',
        pathF ='root://cmsxrootd-redirectors.gridka.de//store/user/tberger/Skimming_94X/SingleMuon_Run2016F-17Jul2018-v1/*.root',
        pathG ='root://cmsxrootd-redirectors.gridka.de//store/user/tberger/Skimming_94X/SingleMuon_Run2016G-17Jul2018-v1/*.root',
        pathH ='root://cmsxrootd-redirectors.gridka.de//store/user/tberger/Skimming_94X/SingleMuon_Run2016H-17Jul2018-v1/*.root',
    )
    cfg = configtools.expand(cfg, 
                                ['nocuts','zjetcuts'],
                                ['None','L1L2L3Res'])
    configtools.remove_quantities(cfg, [
        'jet1area','jet1l1', 'jet1rc', 'jet1l2','jet1ptraw', 'jet1ptl1','jet1ptl1l2l3', 'jet1res',
        #'jet2pt', 'jet2eta', 'jet2y', 'jet2phi',
        #'jet3pt', 'jet3eta', 'jet3y', 'jet3phi',
        'mpf', 'rawmpf', 'met', 'metphi', 'rawmet', 'rawmetphi', 'sumet','mettype1vecpt', 'mettype1pt',
        ])
    configtools.add_quantities(cfg, ['lepton'+x+'SFWeight'+y for x in ['ID','Iso','Trigger'] for y in ['Up','Down']])
##### Add Producers: #####
    cfg['Processors'].remove("producer:JetEtaPhiCleaner")
    cfg['Processors'] = ['producer:MuonTriggerMatchingProducer'] + cfg['Processors']
    cfg['Processors'].insert(cfg['Processors'].index('producer:ValidMuonsProducer'), 'producer:MuonCorrectionsProducer',)
    cfg['Processors'].insert(cfg['Processors'].index('producer:ValidMuonsProducer'), 'producer:PFCandidatesProducer',)
    cfg['Processors'].insert(cfg['Processors'].index('producer:ValidMuonsProducer')+1, 'producer:ZJetDressedMuonsProducer',)
##### Specify input sources for Jets & Muons: #####
    cfg['PackedPFCandidates'] = 'pfCandidates'
    cfg['MaxZJetDressedMuonDeltaR'] = 0.1
    cfg['VertexSummary'] = 'offlinePrimaryVerticesSummary'
    cfg['ValidMuonsInput'] = "corrected"
    cfg['UseObjectJetYCut'] = True
    cfg['TaggedJets'] = 'ak4PFJetsCHS'
    cfg['ProvideJECUncertainties'] = True
    cfg['JetEnergyCorrectionUncertaintyShift'] = -1
    cfg['JetID'] = 'loose'
    cfg['PUJetID'] = 'medium'
##### Change selection: (see also http://cms.cern.ch/iCMS/analysisadmin/cadilines?line=SMP-17-002&tp=an&id=1891&ancode=SMP-17-002) #####
    cfg['MuonIso'] = 'loose_2016'
    cfg['MuonID'] = 'tight'
    cfg['CutMuonPtMin'] = 25.0
    cfg['CutMuonEtaMax'] = 2.4
    cfg['ZMassRange'] = 20.0
    cfg['CutLeadingJetPtMin'] = 10.0
    cfg['MinPUJetID'] = -0.2
    cfg['HltPaths'] = ['HLT_IsoMu24', 'HLT_IsoTkMu24']
    cfg["MuonTriggerFilterNames"] = ['HLT_IsoMu24_v2:hltL3crIsoL1sMu22L1f0L2f10QL3f24QL3trkIsoFiltered0p09','HLT_IsoTkMu24_v3:hltL3fL1sMu22L1f0Tkf24QL3trkIsoFiltered0p09']
##### LeptonSF files: #####
    cfg['LeptonSFVariation'] = True
    cfg['LeptonIDSFRootfile']      = os.path.join(configtools.getPath(),"data/scalefactors/2016/RunGH_SF_ID.root")
    cfg['LeptonIsoSFRootfile']     = os.path.join(configtools.getPath(),"data/scalefactors/2016/RunGH_SF_ISO.root")
    cfg['LeptonTriggerSFRootfile'] = os.path.join(configtools.getPath(),"data/scalefactors/2016/RunGH_SF_Trigger.root")
##### Json & JEC #####
    cfg['JsonFiles'] = [os.path.join(configtools.getPath(),'data/json/Cert_GH_13TeV_23Sep2016ReReco_Collisions16_JSON.txt')]
    return cfg
def config():
    cfg = configtools.getConfig('mc', 2016, 'mm', JEC=JEC)
    cfg["InputFiles"].set_input(
        path="root://cmsxrootd-redirectors.gridka.de//store/user/tberger/Skimming_94X/TTJets_madgraphMLM-pythia8_RunIISummer16/*.root",
        )
    cfg = configtools.expand(cfg, 
                                ['nocuts','zjetcuts','genzjetcuts'],
                                ['None','L1L2L3'])
    configtools.remove_quantities(cfg, [
        'jet1area','jet1l1', 'jet1rc', 'jet1l2','jet1ptraw', 'jet1ptl1',
        #'jet2pt', 'jet2eta', 'jet2y', 'jet2phi',
        #'jet3pt', 'jet3eta', 'jet3y', 'jet3phi',
        'mpf', 'rawmpf', 'met', 'metphi', 'rawmet', 'rawmetphi', 'sumet','mettype1vecpt', 'mettype1pt',
        #'genjet2pt','genjet2eta','genjet2y','genjet2phi',
        #'genjet3pt','genjet3eta','genjet3y','genjet3phi',
        ])
##### Add Producers: #####
    cfg['Processors'] = ['producer:MuonTriggerMatchingProducer',] + cfg['Processors']
    cfg['Processors'].insert(cfg['Processors'].index('producer:ValidMuonsProducer'), 'producer:MuonCorrectionsProducer',)
    cfg['Processors'].insert(cfg['Processors'].index('producer:ValidMuonsProducer'), 'producer:PFCandidatesProducer',)
    cfg['Processors'].insert(cfg['Processors'].index('producer:ValidMuonsProducer')+1, 'producer:ZJetDressedMuonsProducer',)
    cfg['Processors'].insert(cfg['Processors'].index('producer:GenZmmProducer'), 'producer:ZJetGenPhotonsProducer',)
    cfg['Processors'].insert(cfg['Processors'].index('producer:GenZmmProducer'), 'producer:ZJetDressedGenMuonsProducer',)
    #cfg['Processors'].insert(cfg['Processors'].index('producer:GenZmmProducer'), 'producer:ZJetTrueGenMuonsProducer',)
##### Specify input sources for Jets & Muons: #####
    cfg['PackedPFCandidates'] = 'pfCandidates'
    cfg['MaxZJetDressedMuonDeltaR'] = 0.1
    cfg['VertexSummary'] = 'offlinePrimaryVerticesSummary'
    cfg['ValidMuonsInput'] = "corrected"
    cfg['GenJets'] = 'ak4GenJets'
    cfg['TaggedJets'] = 'ak4PFJetsPuppi'
    cfg['RC'] = False
    cfg['UseObjectJetYCut'] = True
    cfg['Jec'] = os.path.join(configtools.getPath(), '../JECDatabase/textFiles/Summer16_07Aug2017_V11_MC/Summer16_07Aug2017_V11_MC')
    cfg['JetID'] = 'loose'
    cfg['PUJetID'] = 'none'
##### Change selection: (see also http://cms.cern.ch/iCMS/analysisadmin/cadilines?line=SMP-17-002&tp=an&id=1891&ancode=SMP-17-002) #####
    cfg['MuonIso'] = 'loose_2016'
    cfg['MuonID'] = 'tight'
    cfg['CutMuonPtMin'] = 25.0
    cfg['CutMuonEtaMax'] = 2.4
    cfg['ZMassRange'] = 20.0
    cfg['CutLeadingJetPtMin'] = 10.0
    cfg['MinPUJetID'] = -9999
    cfg['HltPaths'] = ['HLT_IsoMu24', 'HLT_IsoTkMu24']
    cfg["MuonTriggerFilterNames"] = ['HLT_IsoMu24_v2:hltL3crIsoL1sMu22L1f0L2f10QL3f24QL3trkIsoFiltered0p09','HLT_IsoTkMu24_v3:hltL3fL1sMu22L1f0Tkf24QL3trkIsoFiltered0p09']
##### MC specific properties: #####
    cfg['NumberGeneratedEvents'] = 10139950
    cfg['GeneratorWeight'] =  1.0
    cfg['CrossSection'] = 511.3
    cfg['PileupWeightFile'] = os.path.join(configtools.getPath() , 'data/pileup/PUWeights_BCDEFGH_13TeV_23Sep2016ReReco_TTJets_madgraphMLM-pythia8_RunIISummer16.root')
    return cfg
예제 #19
0
def _2018(cfg, **kwargs):
    _2017(cfg, **kwargs)  # user 2017 config as base
    cfg['JetIDVersion'] = 2018  # for object-based JetID
    cfg['CutJetIDVersion'] = 2018  # for event-based JetID
    cfg['Year'] = 2018
    cfg['NPUFile'] = os.path.join(configtools.getPath(),
                                  'data/pileup/pumean_data2018_13TeV.txt')
    cfg['JsonFiles'] = [
        os.path.join(
            configtools.getPath(),
            'data/json/Cert_314472-325175_13TeV_PromptReco_Collisions18_JSON.txt'
        )
    ]
예제 #20
0
def data_2012(cfg, **kwargs):
    cfg['Jec'] = configtools.getPath(
    ) + '/data/jec/Winter14_V8/Winter14_V8_DATA'
    cfg['JsonFiles'] = [
        configtools.getPath() +
        '/data/json/Cert_190456-208686_8TeV_22Jan2013ReReco_Collisions12_JSON.txt'
    ]
    cfg['Lumi'] = 19.712
    cfg['MetPhiCorrectionParameters'] = [0.2661, 0.3217, -0.2251, -0.1747]

    cfg['Processors'] += ['producer:NPUProducer']
    cfg['Minbxsec'] = 68.5
    cfg['NPUFile'] = configtools.getPath(
    ) + '/data/pileup/pumean_pixelcorr_data2012.txt'
    cfg['Pipelines']['default']['Quantities'] += ['npumean']
예제 #21
0
def config():
    cfg = configtools.getConfig('mc', 2017, CH, JEC=JEC, JER=JER)
    cfg["InputFiles"].set_input(
        path=
        "{}/mhorzela/Skimming/ZJet_DYJetsToLL_Summer19-madgraphMLM_realistic_v6-v3/*.root"
        .format(SE_PATH_PREFIXES["xrootd_gridka_nrg"]), )
    cfg['JsonFiles'] = [
        os.path.join(
            configtools.getPath(),
            'data/json/Collisions17/Cert_294927-306462_13TeV_UL2017_Collisions17_GoldenJSON.txt'
        )
    ]

    cfg['Pipelines']['default']['Quantities'] += [
        'puWeight{}'.format(runperiod)
        for runperiod in ['B', 'C', 'D', 'E', 'F']
    ]
    cfg = configtools.expand(cfg, ['nocuts', 'basiccuts', 'finalcuts'],
                             ['None', 'L1', 'L1L2L3'])

    cfg['PileupWeightFile'] = os.path.join(
        configtools.getPath(),
        'data/pileup/mc_weights/mc17ul_DYJets_madgraph_data_15May18/PUWeights_'
        + ''.join(['B', 'C', 'D', 'E', 'F']) +
        '_15May2018_DYJetsToLL_madgraphMLM.root')
    cfg['NumberGeneratedEvents'] = 101077576
    cfg['GeneratorWeight'] = 1.0
    cfg['CrossSection'] = 6077.22  # from XSDB: https://cms-gen-dev.cern.ch/xsdb/?searchQuery=DAS=DYJetsToLL_M-50_TuneCP5_13TeV-madgraphMLM-pythia8

    cfg['VertexSummary'] = 'offlinePrimaryVerticesSummary'

    cfg['ApplyElectronVID'] = True
    cfg['ElectronVIDName'] = "Fall17-94X-V2"
    cfg['ElectronVIDType'] = "cutbased"
    cfg['ElectronVIDWorkingPoint'] = "tight"

    cfg['Processors'] += ['producer:ZJetPUWeightProducer']
    cfg['ZJetPUWeightFiles'] = [
        os.path.join(
            configtools.getPath(),
            'data/pileup/mc_weights/mc17_DYJets_madgraph/PUWeights_{}_17Nov2017_DY1JetsToLL_Fall17-madgraphMLM_realistic_v10-v1.root'
            .format(runperiod)) for runperiod in ['B', 'C', 'D', 'E', 'F']
    ]
    cfg['ZJetPUWeightSuffixes'] = [
        '{}'.format(runperiod) for runperiod in ['B', 'C', 'D', 'E', 'F']
    ]

    return cfg
예제 #22
0
def config():
    cfg = configtools.getConfig('mc', 2018, CH, JEC=JEC, JER=JER)
    cfg["InputFiles"].set_input(
        path1=
        "{}/cheideck/Skimming/ZJet_DY1JetsToLL_Autumn18_LHEZpT_250-400_amcnloFXFX-pythia8_upgrade2018_realistic_v15-v1/*.root"
        .format(SE_PATH_PREFIXES['xrootd_gridka_nrg']), )

    cfg = configtools.expand(cfg, ['basiccuts', 'finalcuts'],
                             ['None', 'L1', 'L1L2L3'])

    cfg['PileupWeightFile'] = os.path.join(
        configtools.getPath(),
        'data/pileup/mc_weights/mc18_DYJets_madgraph/PUWeights_ABCD_17Sep2018_DY1JetsToLL_Autumn18-madgraphMLM_realistic_v15-v2.root'
    )

    cfg['NumberGeneratedEvents'] = 7531281
    cfg['GeneratorWeight'] = 0.63369392272
    cfg['CrossSection'] = 1.098  # from XSDB: https://cms-gen-dev.cern.ch/xsdb/?searchQuery=DAS=DY1JetsToLL_M-50_LHEZpT_250-400_TuneCP5_13TeV-amcnloFXFX-pythia8

    cfg['VertexSummary'] = 'goodOfflinePrimaryVerticesSummary'

    # for testing JetID differences
    cfg['JetIDVersion'] = 2018  # for object-based JetID
    cfg['CutJetIDVersion'] = 2018  # for event-based JetID

    cfg['PUJetIDModuleName'] = 'pileupJetId'

    return cfg
예제 #23
0
def config():
    cfg = configtools.getConfig('data', 2016, CH, JEC=JEC, IOV=RUN)
    cfg["InputFiles"].set_input(
        pathF=
        "{}/tberger/Skimming/ZJet_DoubleMuon_Run2016F-Legacy-07Aug2017-v1/*.root"
        .format(SE_PATH_PREFIXES['xrootd_gridka_nrg']),
        pathG=
        "{}/tberger/Skimming/ZJet_DoubleMuon_Run2016G-Legacy-07Aug2017-v1/*.root"
        .format(SE_PATH_PREFIXES['xrootd_gridka_nrg']),
        pathH=
        "{}/tberger/Skimming/ZJet_DoubleMuon_Run2016H-Legacy-07Aug2017-v1/*.root"
        .format(SE_PATH_PREFIXES['xrootd_gridka_nrg']),
        # bmspathF="{}/tberger/Skimming/ZJet_DoubleMuon_Run2016F-Legacy-07Aug2017-v1/*.root".format(SE_PATH_PREFIXES['srm_gridka_nrg']),
        # bmspathG="{}/tberger/Skimming/ZJet_DoubleMuon_Run2016G-Legacy-07Aug2017-v1/*.root".format(SE_PATH_PREFIXES['srm_gridka_nrg']),
        # bmspathH="{}/tberger/Skimming/ZJet_DoubleMuon_Run2016H-Legacy-07Aug2017-v1/*.root".format(SE_PATH_PREFIXES['srm_gridka_nrg']),
        # ekppathF="{}/tberger/Skimming/ZJet_DoubleMuon_Run2016F-Legacy-07Aug2017-v1/*.root".format(SE_PATH_PREFIXES['srm_gridka_nrg']),
        # ekppathG="{}/tberger/Skimming/ZJet_DoubleMuon_Run2016G-Legacy-07Aug2017-v1/*.root".format(SE_PATH_PREFIXES['srm_gridka_nrg']),
        # ekppathH="{}/tberger/Skimming/ZJet_DoubleMuon_Run2016H-Legacy-07Aug2017-v1/*.root".format(SE_PATH_PREFIXES['srm_gridka_nrg']),
    )
    cfg['JsonFiles'] = [
        os.path.join(
            configtools.getPath(),
            'data/json/Cert_{}_13TeV_23Sep2016ReReco_Collisions16_JSON.txt'.
            format(RUN))
    ]

    cfg['VertexSummary'] = 'offlinePrimaryVerticesSummary'  # above skims do not contain 'goodOfflinePrimaryVerticesSummary'
    cfg['ProvideL2ResidualCorrections'] = True
    cfg = configtools.expand(cfg, ['basiccuts', 'finalcuts'],
                             ['None', 'L1', 'L1L2L3', 'L1L2Res', 'L1L2L3Res'])

    return cfg
예제 #24
0
def mc_2016mm(cfg, **kwargs):
    #cfg['Pipelines']['default']['Processors'] += ['producer:LeptonIDSFProducer','producer:LeptonIsoSFProducer','producer:LeptonTriggerSFProducer']#,'producer:LeptonSFProducer',]
    #cfg['Pipelines']['default']['Quantities'] += ['leptonIDSFWeight','leptonIsoSFWeight','leptonTriggerSFWeight']
    #cfg['Pipelines']['default']['Quantities'] += ['zl1IDSFWeight','zl1IsoSFWeight','zl1TriggerSFWeight','zl2IDSFWeight','zl2IsoSFWeight','zl2TriggerSFWeight']
    cfg['LeptonIDSFHistogramName'] = 'MC_NUM_TightID_DEN_genTracks_PAR_pt_eta/efficienciesMC/abseta_pt_MC'
    cfg['LeptonIsoSFHistogramName'] = 'LooseISO_TightID_pt_eta/efficienciesMC/pt_abseta_MC'
    cfg['LeptonTriggerSFHistogramName'] = 'IsoMu24_OR_IsoTkMu24_PtEtaBins/efficienciesMC/abseta_pt_MC'
    cfg['LeptonIDSFRootfile'] = os.path.join(
        configtools.getPath(),
        "data/scalefactors/2016outdated/ID_EfficienciesAndSF_BCDEF.root")
    cfg['LeptonIsoSFRootfile'] = os.path.join(
        configtools.getPath(),
        "data/scalefactors/2016outdated/Iso_EfficienciesAndSF_BCDEF.root")
    cfg['LeptonTriggerSFRootfile'] = os.path.join(
        configtools.getPath(),
        "data/scalefactors/2016outdated/Trigger_EfficienciesAndSF_BCDEF.root")
예제 #25
0
def config():
    cfg = configtools.getConfig('data', 2016, CH, JEC=JEC, IOV=RUN)
    cfg["InputFiles"].set_input(
        pathB1=
        "{}/tberger/Skimming_94X/SingleMuon_Run2016B-17Jul2018_ver1-v1/*.root".
        format(SE_PATH_PREFIXES['xrootd_gridka_nrg']),
        pathB2=
        "{}/tberger/Skimming_94X/SingleMuon_Run2016B-17Jul2018_ver2-v1/*.root".
        format(SE_PATH_PREFIXES['xrootd_gridka_nrg']),
        pathC="{}/tberger/Skimming_94X/SingleMuon_Run2016C-17Jul2018-v1/*.root"
        .format(SE_PATH_PREFIXES['xrootd_gridka_nrg']),
        pathD="{}/tberger/Skimming_94X/SingleMuon_Run2016D-17Jul2018-v1/*.root"
        .format(SE_PATH_PREFIXES['xrootd_gridka_nrg']),
    )
    cfg['JsonFiles'] = [
        os.path.join(
            configtools.getPath(),
            'data/json/Cert_{}_13TeV_23Sep2016ReReco_Collisions16_JSON.txt'.
            format(RUN))
    ]
    cfg['VertexSummary'] = 'offlinePrimaryVerticesSummary'  # above skims do not contain 'goodOfflinePrimaryVerticesSummary'
    cfg['ProvideL2ResidualCorrections'] = True
    cfg = configtools.expand(cfg, ['basiccuts', 'finalcuts'],
                             ['None', 'L1', 'L1L2L3', 'L1L2Res', 'L1L2L3Res'])
    return cfg
예제 #26
0
def config():
    cfg = configtools.getConfig('data', 2016, CH, JEC=JEC, IOV=RUN)
    cfg["InputFiles"].set_input(
        # bmspathB1="{}/dsavoiu/Skimming/ZJet_DoubleEG_Run2016B-Legacy-07Aug2017_ver1-v1_egmSSbackport/*.root".format(SE_PATH_PREFIXES['xrootd_gridka_nrg']),
        # bmspathB2="{}/dsavoiu/Skimming/ZJet_DoubleEG_Run2016B-Legacy-07Aug2017_ver2-v2_egmSSbackport/*.root".format(SE_PATH_PREFIXES['xrootd_gridka_nrg']),
        # bmspathC="{}/dsavoiu/Skimming/ZJet_DoubleEG_Run2016C-Legacy-07Aug2017-v1_egmSSbackport/*.root".format(SE_PATH_PREFIXES['xrootd_gridka_nrg']),
        # bmspathD="{}/dsavoiu/Skimming/ZJet_DoubleEG_Run2016D-Legacy-07Aug2017-v1_egmSSbackport/*.root".format(SE_PATH_PREFIXES['xrootd_gridka_nrg']),
        # ekppathB1="{}/dsavoiu/Skimming/ZJet_DoubleEG_Run2016B-Legacy-07Aug2017_ver1-v1_egmSSbackport/*.root".format(SE_PATH_PREFIXES['xrootd_gridka_nrg']),
        # ekppathB2="{}/dsavoiu/Skimming/ZJet_DoubleEG_Run2016B-Legacy-07Aug2017_ver2-v2_egmSSbackport/*.root".format(SE_PATH_PREFIXES['xrootd_gridka_nrg']),
        # ekppathC="{}/dsavoiu/Skimming/ZJet_DoubleEG_Run2016C-Legacy-07Aug2017-v1_egmSSbackport/*.root".format(SE_PATH_PREFIXES['xrootd_gridka_nrg']),
        # ekppathD="{}/dsavoiu/Skimming/ZJet_DoubleEG_Run2016D-Legacy-07Aug2017-v1_egmSSbackport/*.root".format(SE_PATH_PREFIXES['xrootd_gridka_nrg']),
        pathB1="{}/dsavoiu/Skimming/ZJet_DoubleEG_Run2016B-Legacy-07Aug2017_ver1-v1_egmSSbackport/*.root".format(SE_PATH_PREFIXES['xrootd_gridka_nrg']),
        pathB2="{}/dsavoiu/Skimming/ZJet_DoubleEG_Run2016B-Legacy-07Aug2017_ver2-v2_egmSSbackport/*.root".format(SE_PATH_PREFIXES['xrootd_gridka_nrg']),
        pathC="{}/dsavoiu/Skimming/ZJet_DoubleEG_Run2016C-Legacy-07Aug2017-v1_egmSSbackport/*.root".format(SE_PATH_PREFIXES['xrootd_gridka_nrg']),
        pathD="{}/dsavoiu/Skimming/ZJet_DoubleEG_Run2016D-Legacy-07Aug2017-v1_egmSSbackport/*.root".format(SE_PATH_PREFIXES['xrootd_gridka_nrg']),
        # bmspathB1="{}/dsavoiu/Skimming/ZJet_DoubleEG_Run2016B-Legacy-07Aug2017_ver1-v1_egmSSbackport/*.root".format(SE_PATH_PREFIXES['srm_gridka_nrg']),
        # bmspathB2="{}/dsavoiu/Skimming/ZJet_DoubleEG_Run2016B-Legacy-07Aug2017_ver2-v2_egmSSbackport/*.root".format(SE_PATH_PREFIXES['srm_gridka_nrg']),
        # bmspathC="{}/dsavoiu/Skimming/ZJet_DoubleEG_Run2016C-Legacy-07Aug2017-v1_egmSSbackport/*.root".format(SE_PATH_PREFIXES['srm_gridka_nrg']),
        # bmspathD="{}/dsavoiu/Skimming/ZJet_DoubleEG_Run2016D-Legacy-07Aug2017-v1_egmSSbackport/*.root".format(SE_PATH_PREFIXES['srm_gridka_nrg']),
        # ekppathB1="{}/dsavoiu/Skimming/ZJet_DoubleEG_Run2016B-Legacy-07Aug2017_ver1-v1_egmSSbackport/*.root".format(SE_PATH_PREFIXES['srm_gridka_nrg']),
        # ekppathB2="{}/dsavoiu/Skimming/ZJet_DoubleEG_Run2016B-Legacy-07Aug2017_ver2-v2_egmSSbackport/*.root".format(SE_PATH_PREFIXES['srm_gridka_nrg']),
        # ekppathC="{}/dsavoiu/Skimming/ZJet_DoubleEG_Run2016C-Legacy-07Aug2017-v1_egmSSbackport/*.root".format(SE_PATH_PREFIXES['srm_gridka_nrg']),
        # ekppathD="{}/dsavoiu/Skimming/ZJet_DoubleEG_Run2016D-Legacy-07Aug2017-v1_egmSSbackport/*.root".format(SE_PATH_PREFIXES['srm_gridka_nrg']),
    )
    cfg['JsonFiles'] =  [os.path.join(configtools.getPath(),'data/json/Cert_{}_13TeV_23Sep2016ReReco_Collisions16_JSON.txt'.format(RUN))]

    cfg['ProvideL2ResidualCorrections'] = True
    cfg = configtools.expand(cfg, ['basiccuts', 'finalcuts'], ['None', 'L1', 'L1L2L3', 'L1L2Res', 'L1L2L3Res'])

    return cfg
예제 #27
0
def config():
    cfg = configtools.getConfig('mc', 2018, CH, JEC=JEC, JER=JER)
    cfg["InputFiles"].set_input(
        bmspath3=
        "{}/dsavoiu/Skimming/ZJet_DY3JetsToLL_Autumn18-madgraphMLM_realistic_v15-v2/*.root"
        .format(SE_PATH_PREFIXES['xrootd_gridka_nrg']),
        ekppath3=
        "{}/dsavoiu/Skimming/ZJet_DY3JetsToLL_Autumn18-madgraphMLM_realistic_v15-v2/*.root"
        .format(SE_PATH_PREFIXES['xrootd_gridka_nrg']),
        sg0path3=
        "{}/dsavoiu/Skimming/ZJet_DY3JetsToLL_Autumn18-madgraphMLM_realistic_v15-v2/*.root"
        .format(SE_PATH_PREFIXES['xrootd_gridka_nrg']),
    )

    cfg = configtools.expand(cfg, ['basiccuts', 'finalcuts'],
                             ['None', 'L1', 'L1L2L3'])

    cfg['PileupWeightFile'] = os.path.join(
        configtools.getPath(),
        'data/pileup/mc_weights/mc18_DYJets_madgraph/PUWeights_ABCD_17Sep2018_DY3JetsToLL_Autumn18-madgraphMLM_realistic_v15-v2.root'
    )

    cfg['NumberGeneratedEvents'] = 5652357
    cfg['GeneratorWeight'] = 1.0
    cfg['CrossSection'] = 111.5  # from XSDB

    cfg['VertexSummary'] = 'goodOfflinePrimaryVerticesSummary'

    return cfg
예제 #28
0
def config():
    cfg = configtools.getConfig('mc',
                                2016,
                                CH,
                                JEC=JEC,
                                JER=JER,
                                bunchcrossing='25ns')
    cfg["InputFiles"].set_input(
        path=
        "{}/tberger/Skimming_94X/DYJetsToLL_amcatnloFXFX-pythia8_RunIISummer16/*.root"
        .format(SE_PATH_PREFIXES['xrootd_gridka_nrg']), )

    # cfg = configtools.expand(cfg, ['nocuts','noalphanoetacuts','basiccuts','finalcuts'], ['None', 'L1', 'L1L2L3'])
    cfg = configtools.expand(cfg, ['basiccuts', 'finalcuts'],
                             ['None', 'L1L2L3'])

    cfg['PileupWeightFile'] = os.path.join(
        configtools.getPath(), 'data/pileup/PUWeights_' + RUN +
        '_13TeV_23Sep2016ReReco_DYJetsToLL_M-50_amcatnloFXFX-pythia8_RunIISummer16.root'
    )

    cfg['NumberGeneratedEvents'] = 11043183  #28968252 # for: amc@nlo
    cfg['GeneratorWeight'] = 0.670123731536
    cfg['CrossSection'] = 1921.8 * 3

    return cfg
예제 #29
0
def data_2016mm(cfg, **kwargs):
    # TODO: move activation of SFProducer to kwargs:
    # for now: activate if necessary!
    #cfg['Pipelines']['default']['Processors'] += ['producer:LeptonIDSFProducer','producer:LeptonIsoSFProducer','producer:LeptonTriggerSFProducer']#,'producer:LeptonSFProducer',]
    #cfg['Pipelines']['default']['Quantities'] += ['leptonIDSFWeight','leptonIsoSFWeight','leptonTriggerSFWeight']
    #cfg['Pipelines']['default']['Quantities'] += ['zl1IDSFWeight','zl1IsoSFWeight','zl1TriggerSFWeight','zl2IDSFWeight','zl2IsoSFWeight','zl2TriggerSFWeight']
    cfg['LeptonIDSFHistogramName'] = 'NUM_TightID_DEN_genTracks_eta_pt'
    cfg['LeptonIsoSFHistogramName'] = 'NUM_LooseRelIso_DEN_TightIDandIPCut_eta_pt'
    cfg['LeptonTriggerSFHistogramName'] = 'IsoMu24_OR_IsoTkMu24_PtEtaBins/efficienciesDATA/abseta_pt_DATA'
    ### Get Root file from POG ### information on https://twiki.cern.ch/twiki/bin/view/CMS/MuonWorkInProgressAndPagResults ###
    ### files from https://gitlab.cern.ch/cms-muonPOG/MuonReferenceEfficiencies/tree/master/EfficienciesStudies ###
    cfg['LeptonIDSFRootfile'] = os.path.join(
        configtools.getPath(), "data/scalefactors/2016/RunBCDEF_SF_ID.root")
    cfg['LeptonIsoSFRootfile'] = os.path.join(
        configtools.getPath(), "data/scalefactors/2016/RunBCDEF_SF_ISO.root")
    cfg['LeptonTriggerSFRootfile'] = os.path.join(
        configtools.getPath(),
        "data/scalefactors/2016/RunBCDEF_SF_Trigger.root")
예제 #30
0
def mc_2012(cfg, **kwargs):
    cfg['GenJets'] = 'AK5GenJetsNoNu'
    cfg['Jec'] = configtools.getPath() + '/data/jec/Winter14_V8/Winter14_V8_MC'
    cfg['MetPhiCorrectionParameters'] = [0.1166, 0.0200, 0.2764, -0.1280]
    # insert PU weight producer before EventWeightProducer:
    cfg['Processors'].insert(
        cfg['Processors'].index('producer:EventWeightProducer'),
        'producer:PUWeightProducer')
    # 2012 PU weight file determined with: puWeightCalc.py data/json/Cert_190456-208686_8TeV_22Jan2013ReReco_Collisions12_JSON.txt /storage/a/dhaitz/skims/2015-05-16_DYJetsToLL_M_50_madgraph_8TeV/*.root  --inputLumiJSON /afs/cern.ch/cms/CAF/CMSCOMM/COMM_DQM/certification/Collisions12/8TeV/PileUp/pileup_latest.txt  --minBiasXsec 69 --weight-limits 0 10   --output $EXCALIBURPATH/data/pileup/weights_190456-208686_8TeV_22Jan2013ReReco_madgraphPU-RD.root
    cfg['Pipelines']['default']['Quantities'] += ['puWeight']