Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:15:38

0001 import FWCore.ParameterSet.Config as cms
0002 
0003 ######################################################
0004 # A set of filters for heavy-ion analysis skimming:
0005 #   (1) L1 algo and technical bits
0006 #   (2) HLT paths
0007 #   (3) Event selection
0008 #   (4) Physics objects
0009 
0010 
0011 ##### L1 selections #####
0012 from L1TriggerConfig.L1GtConfigProducers.L1GtTriggerMaskTechTrigConfig_cff import *
0013 from HLTrigger.HLTfilters.hltLevel1GTSeed_cfi import hltLevel1GTSeed
0014 from L1Trigger.Skimmer.l1Filter_cfi import l1Filter
0015 
0016 # tech bit 0 - BPTX coincidence
0017 bptxAnd = hltLevel1GTSeed.clone(
0018     L1TechTriggerSeeding = cms.bool(True),
0019     L1SeedsLogicalExpression = cms.string('0')
0020     )
0021 
0022 # tech bit 34 - BSC single-side - bits 36,37,38,39 - BSC beam halo veto
0023 bscOr = hltLevel1GTSeed.clone(
0024     L1TechTriggerSeeding = cms.bool(True),
0025     L1SeedsLogicalExpression = cms.string('(34) AND NOT (36 OR 37 OR 38 OR 39)')
0026     )
0027 
0028 # algo bit 124 - BSC OR + BPTX OR
0029 bscOrBptxOr = l1Filter.clone(
0030     algorithms = cms.vstring("L1_BscMinBiasOR_BptxPlusORMinus")
0031     )
0032 
0033 
0034 ##### HLT selections #####
0035 import HLTrigger.HLTfilters.hltHighLevel_cfi
0036 
0037 # jet trigger
0038 hltJetHI = HLTrigger.HLTfilters.hltHighLevel_cfi.hltHighLevel.clone()
0039 hltJetHI.HLTPaths = ["HLT_HIJet35U"]
0040 hltJetHI.throw = False
0041 hltJetHI.andOr = True
0042 
0043 # photon trigger
0044 hltPhotonHI = hltJetHI.clone()
0045 hltPhotonHI.HLTPaths = ["HLT_HIPhoton15"]
0046 
0047 # dimuon trigger
0048 hltMuHI = hltJetHI.clone()
0049 hltMuHI.HLTPaths = ["HLT_HIL1DoubleMuOpen"]
0050 
0051 ##### Analysis selections #####
0052 
0053 # PAT jets
0054 selectedPatJets = cms.EDFilter("PATJetSelector",
0055     src = cms.InputTag("patJets"),
0056     cut = cms.string("et > 40")
0057     )
0058 
0059 countPatJets = cms.EDFilter("PATCandViewCountFilter",
0060     minNumber = cms.uint32(1),
0061     maxNumber = cms.uint32(999999),
0062     src = cms.InputTag("selectedPatJets")
0063     )
0064 
0065 # reco jets and dijets
0066 
0067 from JetMETCorrections.Configuration.JetCorrectionServicesAllAlgos_cff import *
0068 icPu5CaloJetsL2L3 = cms.EDProducer('CaloJetCorrectionProducer',
0069     src = cms.InputTag('iterativeConePu5CaloJets'),
0070     correctors = cms.vstring('ic5CaloL2L3')
0071     )
0072 
0073 leadingCaloJet = cms.EDFilter( "LargestEtCaloJetSelector",
0074     src = cms.InputTag( "icPu5CaloJetsL2L3" ),
0075     filter = cms.bool( False ),
0076     maxNumber = cms.uint32( 1 )
0077     )
0078 
0079 goodLeadingJet = cms.EDFilter("CaloJetSelector",
0080     src = cms.InputTag("leadingCaloJet"),
0081     cut = cms.string("et > 80")
0082     )
0083 
0084 goodSecondJet = cms.EDFilter("CaloJetSelector",
0085     src = cms.InputTag("icPu5CaloJetsL2L3"),
0086     cut = cms.string("et > 50")
0087     )
0088 
0089 backToBackDijets = cms.EDProducer("CandViewShallowCloneCombiner",
0090     checkCharge = cms.bool(False),
0091     cut = cms.string('abs(deltaPhi(daughter(0).phi,daughter(1).phi)) > 2.5'),
0092     decay = cms.string("goodLeadingJet goodSecondJet")
0093     )
0094 
0095 dijetFilter = cms.EDFilter("CandViewCountFilter",
0096     src = cms.InputTag("backToBackDijets"),
0097     minNumber = cms.uint32(1)
0098     )
0099 
0100 # muons
0101 muonSelector = cms.EDFilter("MuonSelector",
0102     src = cms.InputTag("muons"),
0103     cut = cms.string("(isStandAloneMuon || isGlobalMuon) && pt > 1."),
0104     filter = cms.bool(True)
0105     )
0106 
0107 muonFilter = cms.EDFilter("MuonCountFilter",
0108     src = cms.InputTag("muonSelector"),
0109     minNumber = cms.uint32(1)
0110     )
0111 
0112 dimuonsMassCut = cms.EDProducer("CandViewShallowCloneCombiner",
0113     checkCharge = cms.bool(True),
0114     cut = cms.string(' mass > 70 & mass < 120 & charge=0'),
0115     decay = cms.string("muonSelector@+ muonSelector@-")
0116     )
0117 
0118 dimuonsMassCutFilter = cms.EDFilter("CandViewCountFilter",
0119     src = cms.InputTag("dimuonsMassCut"),
0120     minNumber = cms.uint32(1)
0121     )
0122 
0123 # photons
0124 goodPhotons = cms.EDFilter("PhotonSelector",
0125     src = cms.InputTag("photons"),
0126     cut = cms.string('et > 10.0 && hadronicOverEm < 0.1 && r9 > 0.8')
0127 )
0128 
0129 photonFilter = cms.EDFilter("EtMinPhotonCountFilter",
0130     src = cms.InputTag("goodPhotons"),
0131     etMin = cms.double(40.0),
0132     minNumber = cms.uint32(1)
0133 )
0134 
0135 # Z -> ee
0136 photonCombiner = cms.EDProducer("CandViewShallowCloneCombiner",
0137   checkCharge = cms.bool(False),
0138   cut = cms.string('60 < mass < 120'),
0139   decay = cms.string('goodPhotons goodPhotons')
0140 )
0141 
0142 photonPairCounter = cms.EDFilter("CandViewCountFilter",
0143   src = cms.InputTag("photonCombiner"),
0144   minNumber = cms.uint32(1)
0145 )