CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/Configuration/Skimming/python/PDWG_HZZSkim_cff.py

Go to the documentation of this file.
00001 import FWCore.ParameterSet.Config as cms
00002 
00003 ####### MUON SELECTION
00004 MUON_CUT       = ("abs(eta)<2.5 && (isGlobalMuon || isTrackerMuon)")
00005 DIMUON_MASSCUT = ("mass > 30")
00006 DIMUON_KINCUT  = ("(max(daughter(0).pt(),daughter(1).pt())>20 && min(daughter(0).pt,daughter(1).pt())>10)")
00007 goodHzzMuons = cms.EDFilter("MuonRefSelector", src = cms.InputTag("muons"), cut = cms.string(MUON_CUT) )
00008 hzzKinDiMuons = cms.EDProducer("CandViewShallowCloneCombiner",
00009                                decay       = cms.string("goodHzzMuons goodHzzMuons"),
00010                                checkCharge = cms.bool(False),
00011                                cut         = cms.string(DIMUON_KINCUT)
00012                                )
00013 hzzKinDiMuonsFilter = cms.EDFilter("CandViewCountFilter", src = cms.InputTag("hzzKinDiMuons"), minNumber = cms.uint32(1) )
00014 hzzMassDiMuons = hzzKinDiMuons.clone( cut=cms.string(DIMUON_MASSCUT) )
00015 hzzMassDiMuonsFilter = hzzKinDiMuonsFilter.clone( src = cms.InputTag("hzzMassDiMuons"))
00016 
00017 
00018 ####### ELECTRON SELECTION
00019 ELECTRON_CUT       = ("abs(eta)<2.5")
00020 DIELECTRON_MASSCUT = ("mass > 40")
00021 DIELECTRON_KINCUT  = ("(max(daughter(0).pt(),daughter(1).pt())>20 && min(daughter(0).pt,daughter(1).pt())>10)")
00022 goodHzzElectrons = cms.EDFilter("GsfElectronRefSelector", src = cms.InputTag("gsfElectrons"), cut = cms.string(ELECTRON_CUT) )
00023 hzzKinDiElectrons = cms.EDProducer("CandViewShallowCloneCombiner",
00024                                    decay       = cms.string("goodHzzElectrons goodHzzElectrons"),
00025                                    checkCharge = cms.bool(False),
00026                                    cut         = cms.string(DIELECTRON_KINCUT)
00027                                    )
00028 hzzKinDiElectronsFilter = cms.EDFilter("CandViewCountFilter", src = cms.InputTag("hzzKinDiElectrons"), minNumber = cms.uint32(1) )
00029 hzzMassDiElectrons = hzzKinDiElectrons.clone( cut=cms.string(DIELECTRON_MASSCUT) )
00030 hzzMassDiElectronsFilter = hzzKinDiElectronsFilter.clone( src = cms.InputTag("hzzMassDiElectrons") )
00031 
00032 ########## CROSS SELECTION
00033 DILEPTON_MASSCUT = ("mass > 40")
00034 DILEPTON_KINCUT  = ("(max(daughter(0).pt(),daughter(1).pt())>20 && min(daughter(0).pt,daughter(1).pt())>10)")
00035 hzzKinCrossLeptons = cms.EDProducer("CandViewShallowCloneCombiner",
00036                                     decay       = cms.string("goodHzzElectrons goodHzzMuons"),
00037                                     checkCharge = cms.bool(False),
00038                                     cut         = cms.string(DILEPTON_KINCUT)
00039                                     )
00040 
00041 hzzKinCrossLeptonsFilter = cms.EDFilter("CandViewCountFilter", src = cms.InputTag("hzzKinCrossLeptons"), minNumber = cms.uint32(1) )
00042 hzzMassCrossLeptons = hzzKinCrossLeptons.clone( cut=cms.string(DILEPTON_MASSCUT) )
00043 hzzMassCrossLeptonsFilter = hzzKinCrossLeptonsFilter.clone( src = cms.InputTag("hzzMassCrossLeptons") )
00044 
00045 #     2e   2m   em
00046 # 2e  4e   2e2m 2eem
00047 # 2m  2m2e 4m   2mem
00048 # em  em2e em2m emem
00049 
00050 zz4eSequence   = cms.Sequence( goodHzzElectrons * hzzKinDiElectrons * hzzKinDiElectronsFilter * hzzMassDiElectrons * hzzMassDiElectronsFilter)
00051 HZZ4ePath      = cms.Path( zz4eSequence )
00052 zz2e2mSequence = cms.Sequence( goodHzzMuons * goodHzzElectrons * hzzKinDiElectrons * hzzKinDiElectronsFilter * hzzMassDiMuons * hzzMassDiMuonsFilter)
00053 HZZ2e2mPath    = cms.Path( zz2e2mSequence ) 
00054 zz2eemSequence = cms.Sequence( goodHzzMuons * goodHzzElectrons * hzzKinDiElectrons * hzzKinDiElectronsFilter * hzzMassCrossLeptons * hzzMassCrossLeptonsFilter )
00055 HZZ2eemPath    = cms.Path( zz2eemSequence )
00056 
00057 zz2m2eSequence = cms.Sequence( goodHzzMuons * goodHzzElectrons * hzzKinDiMuons * hzzKinDiMuonsFilter * hzzKinDiElectrons * hzzKinDiElectronsFilter )
00058 HZZ2m2ePath    = cms.Path( zz2m2eSequence ) 
00059 zz4mSequence   = cms.Sequence( goodHzzMuons * hzzKinDiMuons * hzzKinDiMuonsFilter * hzzMassDiMuons * hzzMassDiMuonsFilter)
00060 HZZ4mPath      = cms.Path( zz4mSequence )
00061 zz2memSequence = cms.Sequence( goodHzzMuons * goodHzzElectrons * hzzKinDiMuons * hzzKinDiMuonsFilter * hzzMassCrossLeptons * hzzMassCrossLeptonsFilter )
00062 HZZ2memPath    = cms.Path ( zz2memSequence )
00063 
00064 zzem2eSequence = cms.Sequence( goodHzzMuons * goodHzzElectrons * hzzKinCrossLeptons * hzzKinCrossLeptonsFilter * hzzMassDiElectrons * hzzMassDiElectronsFilter)
00065 HZZem2ePath    = cms.Path( zzem2eSequence )
00066 zzem2mSequence = cms.Sequence( goodHzzMuons * goodHzzElectrons * hzzKinCrossLeptons * hzzKinCrossLeptonsFilter * hzzMassDiMuons * hzzMassDiMuonsFilter )
00067 HZZem2mPath    = cms.Path( zzem2mSequence )
00068 zzememSequence = cms.Sequence( goodHzzMuons * goodHzzElectrons * hzzKinCrossLeptons * hzzKinCrossLeptonsFilter * hzzMassCrossLeptons * hzzMassCrossLeptonsFilter )
00069 HZZememPath    = cms.Path( zzememSequence )
00070 
00071 # list of paths to run
00072 HZZPaths=(HZZ4ePath, HZZ2e2mPath, HZZ2m2ePath, HZZ4mPath, HZZem2ePath, HZZem2mPath)
00073 
00074 
00075