Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
import FWCore.ParameterSet.Config as cms


## select events with at least one good PV
from RecoMET.METFilters.primaryVertexFilter_cfi import *

## apply HBHE Noise filter
## import CommonTools.RecoAlgos.HBHENoiseFilter_cfi
## HBHENoiseFilter = CommonTools.RecoAlgos.HBHENoiseFilter_cfi.HBHENoiseFilter.clone()


## select events with high pfMET
pfMETSelectorHighMETSkim = cms.EDFilter(
    "CandViewSelector",
    src = cms.InputTag("pfMet"),
    cut = cms.string( "pt()>200" )
    )

pfMETCounterHighMETSkim = cms.EDFilter(
    "CandViewCountFilter",
    src = cms.InputTag("pfMETSelectorHighMETSkim"),
    minNumber = cms.uint32(1),
    )

pfMETSelSeq = cms.Sequence(
			   primaryVertexFilter*
                           ##HBHENoiseFilter*
                           pfMETSelectorHighMETSkim*
                           pfMETCounterHighMETSkim
                           )



## select events with high caloMET
caloMETSelectorHighMETSkim = cms.EDFilter(
    "CandViewSelector",
    src = cms.InputTag("caloMetM"),
    cut = cms.string( "pt()>200" )
    )

caloMETCounterHighMETSkim = cms.EDFilter(
    "CandViewCountFilter",
    src = cms.InputTag("caloMETSelectorHighMETSkim"),
    minNumber = cms.uint32(1),
    )

caloMETSelSeq = cms.Sequence(
			   primaryVertexFilter*
                           ##HBHENoiseFilter*
                           caloMETSelectorHighMETSkim*
                           caloMETCounterHighMETSkim
                           )


## select events with high MET dependent on PF and Calo MET Conditions
CondMETSelectorHighMETSkim = cms.EDProducer(
   "CandViewShallowCloneCombiner",
   decay = cms.string("pfMet caloMetM"),
   cut = cms.string(" (daughter(0).pt > 200) || (daughter(0).pt/daughter(1).pt > 2 && daughter(1).pt > 150 ) || (daughter(1).pt/daughter(0).pt > 2 && daughter(0).pt > 150 )  " )
   )

CondMETCounterHighMETSkim = cms.EDFilter(
    "CandViewCountFilter",
    src = cms.InputTag("CondMETSelectorHighMETSkim"),
    minNumber = cms.uint32(1),
    )

CondMETSelSeq = cms.Sequence(
                           primaryVertexFilter*
                           ##HBHENoiseFilter*
                           CondMETSelectorHighMETSkim*
                           CondMETCounterHighMETSkim
                           )



## select events with PAT METs in MINIAODSIM - remember to keep the right branches in the cmsDriver
miniMETSelectorHighMETSkim = cms.EDFilter(
    "CandViewSelector",
    src = cms.InputTag("slimmedMETs"),
    cut = cms.string( "pt()>200" )
    )

miniMETCounterHighMETSkim = cms.EDFilter(
    "CandViewCountFilter",
    src = cms.InputTag("miniMETSelectorHighMETSkim"),
    minNumber = cms.uint32(1),
    )

miniMETSelSeq = cms.Sequence(
                           ##HBHENoiseFilter*
                           miniMETSelectorHighMETSkim*
                           miniMETCounterHighMETSkim
                           )