126def createCaloRoIUnpackers(flags):
127 from HLTSeeding.HLTSeedingMonitoring import RoIsUnpackingMonitoring
128 tools = []
129
130 if flags.Trigger.L1.doeFex:
131 maxRoICount_eFex = 150
132 eFexEMUnpacker = CompFactory.eFexEMRoIsUnpackingTool(
133 Decisions = mapThresholdToL1DecisionCollection("eEM"),
134 DecisionsProbe = mapThresholdToL1DecisionCollection("PROBEeEM"),
135 OutputTrigRoIs = recordable(mapThresholdToL1RoICollection("eEM")),
136 RoIHalfWidthEta = 0.2,
137 RoIHalfWidthPhi = 0.2,
138 MonTool = RoIsUnpackingMonitoring(flags, prefix="eEM", maxCount=maxRoICount_eFex, maxEta=2.5))
139 eFexTauUnpacker = CompFactory.eFexTauRoIsUnpackingTool(
140 Decisions = mapThresholdToL1DecisionCollection("eTAU"),
141 DecisionsProbe = mapThresholdToL1DecisionCollection("PROBEeTAU"),
142 OutputTrigRoIs = recordable(mapThresholdToL1RoICollection("eTAU")),
143 RoIHalfWidthEta = 0.4,
144 RoIHalfWidthPhi = math.pi/8,
145 MonTool = RoIsUnpackingMonitoring(flags, prefix="eTAU", maxCount=maxRoICount_eFex, maxEta=2.5))
146 tools += [eFexEMUnpacker, eFexTauUnpacker]
147
148 if flags.Trigger.L1.dojFex:
149 maxRoICount_jFex = 200
150 jFexEMUnpacker = CompFactory.jFexFwdElRoIsUnpackingTool(
151 Decisions = mapThresholdToL1DecisionCollection("jEM"),
152 DecisionsProbe = mapThresholdToL1DecisionCollection("PROBEjEM"),
153 OutputTrigRoIs = recordable(mapThresholdToL1RoICollection("jEM")),
154 RoIHalfWidthEta = 0.4,
155 RoIHalfWidthPhi = math.pi/8,
156 MonTool = RoIsUnpackingMonitoring(flags, prefix="jEM", maxCount=maxRoICount_jFex))
157 jFexTauUnpacker = CompFactory.jFexTauRoIsUnpackingTool(
158 Decisions = mapThresholdToL1DecisionCollection("jTAU"),
159 DecisionsProbe = mapThresholdToL1DecisionCollection("PROBEjTAU"),
160 OutputTrigRoIs = recordable(mapThresholdToL1RoICollection("jTAU")),
161 RoIHalfWidthEta = 0.4,
162 RoIHalfWidthPhi = math.pi/8,
163 MonTool = RoIsUnpackingMonitoring(flags, prefix="jTAU", maxCount=maxRoICount_jFex))
164 jFexSRJetUnpacker = CompFactory.jFexSRJetRoIsUnpackingTool(
165 Decisions = mapThresholdToL1DecisionCollection("jJ"),
166 OutputTrigRoIs = recordable(mapThresholdToL1RoICollection("jJ")),
167 RoIHalfWidthEta = 0.1,
168 RoIHalfWidthPhi = 0.1,
169 MonTool = RoIsUnpackingMonitoring(flags, prefix="jJ", maxCount=maxRoICount_jFex, maxEta=5))
170 jFexLRJetUnpacker = CompFactory.jFexLRJetRoIsUnpackingTool(
171 Decisions = mapThresholdToL1DecisionCollection("jLJ"),
172 OutputTrigRoIs = recordable(mapThresholdToL1RoICollection("jLJ")),
173 RoIHalfWidthEta = 0.1,
174 RoIHalfWidthPhi = 0.1,
175 MonTool = RoIsUnpackingMonitoring(flags, prefix="jLJ", maxCount=maxRoICount_jFex, maxEta=5))
176 tools += [jFexEMUnpacker, jFexTauUnpacker, jFexSRJetUnpacker, jFexLRJetUnpacker]
177
178 if flags.Trigger.L1.dogFex:
179 maxRoICount_gFex = 100
180 gFexSRJetUnpacker = CompFactory.gFexSRJetRoIsUnpackingTool(
181 Decisions = mapThresholdToL1DecisionCollection("gJ"),
182 OutputTrigRoIs = recordable(mapThresholdToL1RoICollection("gJ")),
183 RoIHalfWidthEta = 0.1,
184 RoIHalfWidthPhi = 0.1,
185 MonTool = RoIsUnpackingMonitoring(flags, prefix="gJ", maxCount=maxRoICount_gFex, maxEta=5))
186 gFexLRJetUnpacker = CompFactory.gFexLRJetRoIsUnpackingTool(
187 Decisions = mapThresholdToL1DecisionCollection("gLJ"),
188 OutputTrigRoIs = recordable(mapThresholdToL1RoICollection("gLJ")),
189 RoIHalfWidthEta = 0.1,
190 RoIHalfWidthPhi = 0.1,
191 MonTool = RoIsUnpackingMonitoring(flags, prefix="gLJ", maxCount=maxRoICount_gFex, maxEta=5))
192 tools += [gFexSRJetUnpacker, gFexLRJetUnpacker]
193
194
195 if flags.Trigger.L1.doeFex and flags.Trigger.L1.dojFex:
196 maxRoICount_eFex = 150
197 cTauUnpacker = CompFactory.cTauRoIsUnpackingTool(
198 Decisions = mapThresholdToL1DecisionCollection("cTAU"),
199 DecisionsProbe = mapThresholdToL1DecisionCollection("PROBEcTAU"),
200 OutputTrigRoIs = recordable(mapThresholdToL1RoICollection("cTAU")),
201 RoIHalfWidthEta = 0.4,
202 RoIHalfWidthPhi = math.pi/8,
203 MonTool = RoIsUnpackingMonitoring(flags, prefix="cTAU", maxCount=maxRoICount_eFex))
204 tools += [cTauUnpacker]
205
206 return tools
207