CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
customise_l1GtPatternGeneratorFromRaw.py
Go to the documentation of this file.
1 #
2 # customization fragment to run L1 Pattern Generator starting from a RAW file
3 #
4 # - run ECAL and HCAL TPG
5 # - run the L1 emulator with a different L1 configuration
6 # - run the L1 trigger report
7 # - run the pattern generator
8 #
9 # V.M. Ghete 2011-02-10
10 
11 import FWCore.ParameterSet.Config as cms
12 
13 def customise(process):
14 
15  #
16  # (re-)run the L1 emulator starting from a RAW file
17  #
18  from L1Trigger.Configuration.L1Trigger_custom import customiseL1EmulatorFromRaw
19  process=customiseL1EmulatorFromRaw(process)
20 
21  #
22  # special configuration cases (change to desired configuration in customize_l1TriggerConfiguration)
23  #
24  from L1Trigger.Configuration.customise_l1TriggerConfiguration import customiseL1TriggerConfiguration
25  process=customiseL1TriggerConfiguration(process)
26 
27  #
28  # customization of output commands
29  #
30  from L1Trigger.Configuration.L1Trigger_custom import customiseOutputCommands
31  process=customiseOutputCommands(process)
32 
33  #
34  # load and configure the pattern test generator
35  #
36  process.load("L1Trigger.GlobalTriggerAnalyzer.l1GtPatternGenerator_cfi")
37 
38  # take GCT and GMT data from emulators, not from unpackers
39  gctLabel = 'simGctDigis'
40  gmtLabel = 'simGmtDigis'
41  process.l1GtPatternGenerator.GctInputTag = gctLabel
42  process.l1GtPatternGenerator.GmtInputTag = gmtLabel
43 
44  process.l1GtPatternGenerator.CscInputTag = cms.InputTag("simDttfDigis","DT")
45  process.l1GtPatternGenerator.DtInputTag = cms.InputTag("simCsctfDigis","CSC")
46  process.l1GtPatternGenerator.RpcbInputTag = cms.InputTag("simRpcTriggerDigis","RPCb")
47  process.l1GtPatternGenerator.RpcfInputTag = cms.InputTag("simRpcTriggerDigis","RPCf")
48 
49  ## enable detailed output (event no/bx per line, item tracing)
50  #process.l1GtPatternGenerator.DebugOutput = cms.bool(True)
51 
52  #
53  # Global Trigger emulator configuration
54  # input data from the same sources as the pattern writer
55  #
56  process.simGtDigis.ProduceL1GtEvmRecord = False
57  process.simGtDigis.ProduceL1GtObjectMapRecord = False
58  process.simGtDigis.WritePsbL1GtDaqRecord = False
59  process.simGtDigis.EmulateBxInEvent = -1
60 
61  #
62  # L1 trigger report
63  #
64  from L1Trigger.Configuration.L1Trigger_custom import customiseL1TriggerReport
65  process=customiseL1TriggerReport(process)
66  process.l1GtTrigReport.L1GtRecordInputTag = "simGtDigis"
67 
68  #
69  # full sequence pattern generator from raw data
70  #
71 
72  process.LGtPatternGeneratorFromRaw= cms.Sequence(
73  process.CaloTPG_SimL1Emulator*process.l1GtTrigReport*process.l1GtPatternGenerator)
74  process.L1simulation_step.replace(
75  process.CaloTPG_SimL1Emulator,process.LGtPatternGeneratorFromRaw)
76 
77 
78 
79  #
80  return (process)