CMS 3D CMS Logo

SimMuon_EventContent_cff.py
Go to the documentation of this file.
1 # The following comments couldn't be translated into the new config version:
2 
3 #save digis
4 
5 #save digis sim link and trigger infos
6 
7 import FWCore.ParameterSet.Config as cms
8 
9 # Used to make conditional changes for different running scenarios
10 
11 #Full Event content with DIGI
12 SimMuonFEVTDEBUG = cms.PSet(
13  outputCommands = cms.untracked.vstring('keep *_simMuonCSCDigis_*_*',
14  'keep *_simMuonDTDigis_*_*',
15  'keep *_simMuonRPCDigis_*_*')
16 )
17 #RAW content
18 SimMuonRAW = cms.PSet(
19  outputCommands = cms.untracked.vstring('keep StripDigiSimLinkedmDetSetVector_simMuonCSCDigis_*_*',
20  'keep CSCDetIdCSCComparatorDigiMuonDigiCollection_simMuonCSCDigis_*_*',
21  'keep DTLayerIdDTDigiSimLinkMuonDigiCollection_simMuonDTDigis_*_*',
22  'keep RPCDigiSimLinkedmDetSetVector_simMuonRPCDigis_*_*')
23 )
24 # Add extra collections if running in Run 2. Not sure why but these
25 # collections were added to pretty much all event content in the old
26 # customisation function.
27 from Configuration.Eras.Modifier_run2_common_cff import run2_common
28 run2_common.toModify( SimMuonRAW.outputCommands, func=lambda outputCommands: outputCommands.append('keep *_simMuonCSCDigis_*_*') )
29 run2_common.toModify( SimMuonRAW.outputCommands, func=lambda outputCommands: outputCommands.append('keep *_simMuonRPCDigis_*_*') )
30 
31 #RECO content
32 SimMuonRECO = cms.PSet(
33  outputCommands = cms.untracked.vstring('keep StripDigiSimLinkedmDetSetVector_simMuonCSCDigis_*_*',
34  'keep DTLayerIdDTDigiSimLinkMuonDigiCollection_simMuonDTDigis_*_*',
35  'keep RPCDigiSimLinkedmDetSetVector_simMuonRPCDigis_*_*')
36 )
37 
38 #AOD content
39 SimMuonAOD = cms.PSet(
40  outputCommands = cms.untracked.vstring(
41  # Sim matching information
42  'keep *_muonSimClassifier_*_*'
43  )
44 )
45 SimMuonRECO.outputCommands.extend(SimMuonAOD.outputCommands)
46 
47 # Event content for premixing library
48 SimMuonPREMIX = cms.PSet(
49  outputCommands = cms.untracked.vstring(
50  'keep *_mix_g4SimHitsMuonDTHits_*',
51  'keep *_mix_g4SimHitsMuonCSCHits_*',
52  'keep *_mix_g4SimHitsMuonRPCHits_*',
53  )
54 )
55 
56 from Configuration.Eras.Modifier_run2_GEM_2017_cff import run2_GEM_2017
57 run2_GEM_2017.toModify( SimMuonFEVTDEBUG, outputCommands = SimMuonFEVTDEBUG.outputCommands + ['keep *_simMuonGEMDigis_*_*',
58  'keep *_simMuonGEMPadDigis_*_*',
59  'keep *_simMuonGEMPadDigiClusters_*_*'] )
60 run2_GEM_2017.toModify( SimMuonRAW, outputCommands = SimMuonRAW.outputCommands + ['keep StripDigiSimLinkedmDetSetVector_simMuonGEMDigis_*_*'] )
61 run2_GEM_2017.toModify( SimMuonRECO, outputCommands = SimMuonRECO.outputCommands + ['keep StripDigiSimLinkedmDetSetVector_simMuonGEMDigis_*_*'] )
62 run2_GEM_2017.toModify( SimMuonPREMIX, outputCommands = SimMuonPREMIX.outputCommands + ['keep *_mix_g4SimHitsMuonGEMHits_*'] )
63 
64 
65 from Configuration.Eras.Modifier_run3_GEM_cff import run3_GEM
66 run3_GEM.toModify( SimMuonFEVTDEBUG, outputCommands = SimMuonFEVTDEBUG.outputCommands + ['keep *_simMuonGEMDigis_*_*',
67  'keep *_simMuonGEMPadDigis_*_*',
68  'keep *_simMuonGEMPadDigiClusters_*_*'] )
69 run3_GEM.toModify( SimMuonRAW, outputCommands = SimMuonRAW.outputCommands + ['keep StripDigiSimLinkedmDetSetVector_simMuonGEMDigis_*_*'] )
70 run3_GEM.toModify( SimMuonRECO, outputCommands = SimMuonRECO.outputCommands + ['keep StripDigiSimLinkedmDetSetVector_simMuonGEMDigis_*_*'] )
71 run3_GEM.toModify( SimMuonPREMIX, outputCommands = SimMuonPREMIX.outputCommands + ['keep *_mix_g4SimHitsMuonGEMHits_*'] )
72 
73 from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon
74 phase2_muon.toModify( SimMuonFEVTDEBUG, outputCommands = SimMuonFEVTDEBUG.outputCommands + ['keep *_simMuonME0PseudoDigis_*_*',
75  'keep *_simMuonME0PseudoReDigis_*_*',
76  'keep *_simMuonME0Digis_*_*',
77  'keep *_simMuonME0PadDigis_*_*',
78  'keep *_simMuonME0PadDigiClusters_*_*'] )
79 phase2_muon.toModify( SimMuonRAW, outputCommands = SimMuonRAW.outputCommands + ['keep StripDigiSimLinkedmDetSetVector_simMuonME0Digis_*_*'] )
80 phase2_muon.toModify( SimMuonRECO, outputCommands = SimMuonRECO.outputCommands + ['keep StripDigiSimLinkedmDetSetVector_simMuonME0Digis_*_*'] )
81 phase2_muon.toModify( SimMuonPREMIX, outputCommands = SimMuonPREMIX.outputCommands + ['keep *_mix_g4SimHitsMuonME0Hits_*'] )
82 
83 
84 # FastSim uses different naming convention
85 from Configuration.Eras.Modifier_fastSim_cff import fastSim
87  return s.replace("_g4Sim", "_MuonSim")
88 
89 fastSim.toModify(SimMuonPREMIX, outputCommands = list( ( _renameForFastsim(item) for item in SimMuonPREMIX.outputCommands.value())))
90 
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger list("!*","!HLTx*"if it matches 2 triggers or more) will accept the event if all the matching triggers are FAIL.It will reject the event if any of the triggers are PASS or EXCEPTION(this matches the behavior of"!*"before the partial wildcard feature was incorporated).Triggers which are in the READY state are completely ignored.(READY should never be returned since the trigger paths have been run