CMS 3D CMS Logo

customiseDemo.py
Go to the documentation of this file.
1 from __future__ import print_function
2 import FWCore.ParameterSet.Config as cms
3 
4 import os
5 
6 ##############################################################################
7 # customisations for L1T demos
8 #
9 # Add demonstration modules to cmsDriver customs.
10 #
11 ##############################################################################
12 
13 def L1TBasicDemo(process):
14  print("L1T INFO: adding basic demo module to the process.")
15  process.load('L1Trigger.L1TCommon.l1tBasicDemo_cfi')
16  process.l1tBasicDemoPath = cms.Path(process.l1tBasicDemo)
17  process.schedule.append(process.l1tBasicDemoPath)
18  return process
19 
20 def L1THLTDemo(process):
21  #process.load('L1Trigger.Configuration.SimL1Emulator_cff')
22  process.load('L1Trigger.L1TGlobal.hackConditions_cff')
23  print("L1T INFO: adding HLT demo module to the process.")
24  #
25  # BEGIN HLT UNPACKER SEQUENCE FOR STAGE 2
26  #
27 
28  process.hltGtStage2Digis = cms.EDProducer(
29  "L1TRawToDigi",
30  Setup = cms.string("stage2::GTSetup"),
31  FedIds = cms.vint32( 1404 ),
32  )
33 
34  process.hltCaloStage2Digis = cms.EDProducer(
35  "L1TRawToDigi",
36  Setup = cms.string("stage2::CaloSetup"),
37  FedIds = cms.vint32( 1360, 1366 ),
38  )
39 
40  process.hltGmtStage2Digis = cms.EDProducer(
41  "L1TRawToDigi",
42  Setup = cms.string("stage2::GMTSetup"),
43  FedIds = cms.vint32(1402),
44  )
45 
46  process.hltGtStage2ObjectMap = cms.EDProducer(
47  "L1TGlobalProducer",
48  MuonInputTag = cms.InputTag("hltGmtStage2Digis","Muon"),
49  ExtInputTag = cms.InputTag("hltGtStage2Digis"), # (external conditions are not emulated, use unpacked)
50  EtSumInputTag = cms.InputTag("hltCaloStage2Digis", "EtSum"),
51  EGammaInputTag = cms.InputTag("hltCaloStage2Digis", "EGamma"),
52  TauInputTag = cms.InputTag("hltCaloStage2Digis", "Tau"),
53  JetInputTag = cms.InputTag("hltCaloStage2Digis", "Jet"),
54  AlgorithmTriggersUnprescaled = cms.bool(True),
55  AlgorithmTriggersUnmasked = cms.bool(True),
56  )
57 
58  # keeping same sequence name as for legacy system:
59  process.HLTL1UnpackerSequence = cms.Sequence(
60  process.hltGtStage2Digis +
61  process.hltCaloStage2Digis +
62  process.hltGmtStage2Digis +
63  process.hltGtStage2ObjectMap
64  )
65 
66  #
67  # END HLT UNPACKER SEQUENCE FOR STAGE 2
68  #
69 
70  #
71  # BEGIN L1T SEEDS EXAMPLE FOR STAGE 2
72  #
73  process.hltL1TSeed = cms.EDFilter(
74  "HLTL1TSeed",
75  L1SeedsLogicalExpression = cms.string( "L1_DoubleMu0er1p6_dEta_Max1p8 OR L1_DoubleMu0er1p6_dEta_Max1p8_OS " ),
76  saveTags = cms.bool( True ),
77  L1ObjectMapInputTag = cms.InputTag("hltGtStage2ObjectMap"),
78  L1GlobalInputTag = cms.InputTag("hltGtStage2Digis"),
79  L1MuonInputTag = cms.InputTag("hltGmtStage2Digis","Muon"),
80  L1EGammaInputTag = cms.InputTag("hltCaloStage2Digis","EGamma"),
81  L1JetInputTag = cms.InputTag("hltCaloStage2Digis","Jet"),
82  L1TauInputTag = cms.InputTag("hltCaloStage2Digis","Tau"),
83  L1EtSumInputTag = cms.InputTag("hltCaloStage2Digis","EtSum"),
84  )
85 
86  # HLT Seed sequence
87  process.HLTL1TSeedSequence = cms.Sequence(
88  process.hltL1TSeed
89  )
90 
91  #
92  # END L1T SEEDS EXAMPLE FOR STAGE 2
93  #
94 
95  print("L1T INFO: will dump a summary of Stage2 content as unpacked by HLT to screen.")
96  process.load('L1Trigger.L1TCommon.l1tSummaryStage2HltDigis_cfi')
97 
98  # gt analyzer
99  process.l1tGlobalSummary = cms.EDAnalyzer(
100  'L1TGlobalSummary',
101  AlgInputTag = cms.InputTag("hltGtStage2ObjectMap"),
102  ExtInputTag = cms.InputTag("hltGtStage2ObjectMap"),
103  # DumpTrigResults = cms.bool(True), # per event dump of trig results
104  DumpTrigSummary = cms.bool(True), # job summary... not yet implemented...
105  )
106 
107  process.HLTL1TDebugSequence = cms.Sequence(process.l1tSummaryStage2HltDigis + process.l1tGlobalSummary)
108 
109 
110 
111  print("L1T Input: HLTL1UnpackerSequence: ")
112  print(process.HLTL1UnpackerSequence)
113  print("L1T Input: HLTL1TSeedSequence: ")
114  print(process.HLTL1TSeedSequence)
115  print("L1T Input: HLTL1TDebugSequence: ")
116  print(process.HLTL1TDebugSequence)
117  process.l1tHLTDemoPath = cms.Path(process.HLTL1UnpackerSequence + process.HLTL1TSeedSequence + process.HLTL1TDebugSequence)
118  process.schedule.append(process.l1tHLTDemoPath)
119  return process
S & print(S &os, JobReport::InputFile const &f)
Definition: JobReport.cc:65
def L1THLTDemo(process)
def L1TBasicDemo(process)
customisations for L1T demos