1 import FWCore.ParameterSet.Config
as cms
4 def CompactSkim(process,inFileNames,outFileName,Global_Tag='auto:run2_mc
',MC=True,Filter=True):
8 process.load('Configuration.StandardSequences.Services_cff')
9 process.load(
'SimGeneral.HepPDTESSource.pythiapdt_cfi')
10 process.load(
'FWCore.MessageService.MessageLogger_cfi')
11 process.load(
'Configuration.EventContent.EventContent_cff')
12 process.load(
'Configuration.StandardSequences.GeometryRecoDB_cff')
13 process.load(
'Configuration.StandardSequences.MagneticField_AutoFromDBCurrent_cff')
14 process.load(
'Configuration.StandardSequences.EndOfProcess_cff')
15 patAlgosToolsTask.add(process.MEtoEDMConverter)
16 process.load(
'Configuration.StandardSequences.FrontierConditions_GlobalTag_cff')
18 process.MessageLogger.cerr.FwkReport.reportEvery = 100
19 process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(
False) )
20 process.source = cms.Source(
'PoolSource', fileNames = cms.untracked.vstring(inFileNames))
21 process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) )
23 from Configuration.AlCa.GlobalTag
import GlobalTag
24 process.GlobalTag =
GlobalTag(process.GlobalTag, Global_Tag,
'')
27 process.load(
'PhysicsTools.PatAlgos.producersLayer1.patCandidates_cff')
28 patAlgosToolsTask.add(process.patCandidatesTask)
29 process.load(
'PhysicsTools.PatAlgos.selectionLayer1.selectedPatCandidates_cff')
30 patAlgosToolsTask.add(process.selectedPatCandidatesTask)
31 process.load(
'PhysicsTools.PatAlgos.cleaningLayer1.cleanPatCandidates_cff')
32 patAlgosToolsTask.add(process.cleanPatCandidatesTask)
33 process.patMuons.embedTrack =
True
35 process.selectedPatMuons.cut = cms.string(
'muonID(\"TMOneStationTight\")'
36 ' && abs(innerTrack.dxy) < 0.3'
37 ' && abs(innerTrack.dz) < 20.'
38 ' && innerTrack.hitPattern.trackerLayersWithMeasurement > 5'
39 ' && innerTrack.hitPattern.pixelLayersWithMeasurement > 0'
40 ' && innerTrack.quality(\"highPurity\")'
44 from PhysicsTools.PatAlgos.tools.trackTools
import makeTrackCandidates
45 makeTrackCandidates(process,
47 tracks = cms.InputTag(
'generalTracks'),
49 preselection =
'pt > 0.7',
50 selection =
'pt > 0.7',
55 process.patTrackCands.embedTrack =
True
58 process.load(
'HeavyFlavorAnalysis.Onia2MuMu.onia2MuMuPAT_cfi')
59 patAlgosToolsTask.add(process.onia2MuMuPAT)
60 process.onia2MuMuPAT.muons=cms.InputTag(
'cleanPatMuons')
61 process.onia2MuMuPAT.primaryVertexTag=cms.InputTag(
'offlinePrimaryVertices')
62 process.onia2MuMuPAT.beamSpotTag=cms.InputTag(
'offlineBeamSpot')
64 process.onia2MuMuPATCounter = cms.EDFilter(
'CandViewCountFilter',
65 src = cms.InputTag(
'onia2MuMuPAT'),
66 minNumber = cms.uint32(1),
70 process.load(
'PhysicsTools.PatAlgos.slimming.genParticles_cff')
71 patAlgosToolsTask.add(process.genParticlesTask)
72 process.packedGenParticles.inputVertices = cms.InputTag(
'offlinePrimaryVertices')
75 process.load(
'HeavyFlavorAnalysis.Onia2MuMu.OniaPhotonConversionProducer_cfi')
76 patAlgosToolsTask.add(process.PhotonCandidates)
79 process.load(
'HeavyFlavorAnalysis.Onia2MuMu.OniaAddV0TracksProducer_cfi')
80 patAlgosToolsTask.add(process.oniaV0Tracks)
83 SlimmedEventContent = [
84 'keep recoVertexs_offlinePrimaryVertices_*_*',
85 'keep *_inclusiveSecondaryVertices_*_*',
86 'keep *_offlineBeamSpot_*_*',
87 'keep *_TriggerResults_*_HLT',
88 'keep *_gtDigis_*_RECO',
89 'keep *_cleanPatTrackCands_*_*',
90 'keep *_PhotonCandidates_*_*',
91 'keep *_onia2MuMuPAT_*_*',
92 'keep *_generalV0Candidates_*_*',
93 'keep *_oniaV0Tracks_*_*',
94 'keep PileupSummaryInfos_*_*_*'
99 runOnData( process, outputModules = [] )
101 SlimmedEventContent += [
102 'keep patPackedGenParticles_packedGenParticles_*_*',
103 'keep recoGenParticles_prunedGenParticles_*_*',
104 'keep GenFilterInfo_*_*_*',
105 'keep GenEventInfoProduct_generator_*_*',
106 'keep GenRunInfoProduct_*_*_*'
109 process.FilterOutput = cms.Path(process.onia2MuMuPATCounter)
111 process.out = cms.OutputModule(
'PoolOutputModule',
112 fileName = cms.untracked.string(outFileName),
113 outputCommands = cms.untracked.vstring(
'drop *', *SlimmedEventContent),
114 SelectEvents = cms.untracked.PSet(SelectEvents = cms.vstring(
'FilterOutput'))
if Filter
else cms.untracked.PSet()
117 process.outpath = cms.EndPath(process.out, patAlgosToolsTask)