128 doRinger=
False, RingerKey=
"HLT_FastCaloRinger", RoIs=inputEDM, ExtraInputs=
set()):
129 acc = ComponentAccumulator()
130
131 samp2 = CompFactory.EgammaReSamp2Fex("ReFaAlgoSamp2FexConfig",
132 MaxDetaHotCell=0.15, MaxDphiHotCell=0.15 )
133 samp1 = CompFactory.EgammaReSamp1Fex("ReFaAlgoSamp1FexConfig")
134 sampe = CompFactory.EgammaReEmEnFex("ReFaAlgoEmEnFexConfig")
135 samph = CompFactory.EgammaReHadEnFex("ReFaAlgoHadEnFexConfig",
136 ExtraInputs={('TileEMScale','ConditionStore+TileEMScale'),
137 ('TileBadChannels','ConditionStore+TileBadChannels')})
139 monTool.defineHistogram('TrigEMCluster_eT', path='EXPERT', type='TH1F', title="T2Calo Egamma E_T; E_T [ GeV ] ; Nclusters", xbins=80, xmin=0.0, xmax=140.0)
140 monTool.defineHistogram('TrigEMCluster_had1', path='EXPERT', type='TH1F', title="T2Calo Egamma had E_T samp1; had E_T samp1 [ GeV ] ; Nclusters", xbins=80, xmin=0.0, xmax=8.0)
141 monTool.defineHistogram('TrigEMCluster_eta', path='EXPERT', type='TH1F', title="T2Calo Egamma #eta; #eta ; Nclusters", xbins=100, xmin=-2.5, xmax=2.5)
142 monTool.defineHistogram('TrigEMCluster_phi', path='EXPERT', type='TH1F', title="T2Calo Egamma #phi; #phi ; Nclusters", xbins=128, xmin=-3.2, xmax=3.2)
143 monTool.defineHistogram('TrigEMCluster_eta,TrigEMCluster_phi', path='EXPERT', type='TH2F', title="T2Calo Egamma Number of Clusters; #eta ; #phi ; Number of Clusters", xbins=100, xmin=-2.5, xmax=2.5, ybins=128, ymin=-3.2, ymax=3.2)
144 monTool.defineHistogram('TrigEMCluster_rEta', path='EXPERT', type='TH1F', title="T2Calo Egamma rEta; rEta (e237/e277) ; Nclusters", xbins=140, xmin=-0.2, xmax=1.2)
145 monTool.defineHistogram('TIME_exec', path='EXPERT', type='TH1F', title="T2Calo Egamma time; time [ us ] ; Nruns", xbins=80, xmin=0.0, xmax=8000.0)
146 monTool.defineHistogram('TrigEMCluster_eta,TIME_exec', path='EXPERT', type='TH2F', title="T2Calo Egamma time vs #eta ; #eta ; time [ us ]", xbins=100, xmin=-2.5, xmax=2.5, ybins=80, ymin=0.0, ymax=8000.0)
147 if flags.Trigger.doValidationMonitoring:
148 monTool.defineHistogram('TrigEMCluster_eta,TrigEMCluster_eT', path='EXPERT', type='TH2F', title="Egamma E_T vs #eta ; #eta; E_T", xbins=100, xmin=-2.5, xmax=2.5)
149 monTool.defineHistogram('TrigEMCluster_eta,TrigEMCluster_et_rings', path='EXPERT', type='TH2F', title="Egamma E_T[calib] vs #eta ; #eta; E_T", xbins=100, xmin=-2.5, xmax=2.5)
150 monTool.defineHistogram('Resolution_et', path='EXPERT', type='TH1F', title="Egamma Resolution E_T; (E_T[calib] - E_T)/ E_T ; Nclusters", xbins=80, xmin=-10.0, xmax=10.0)
151 monTool.defineHistogram('TrigEMCluster_et_rings', path='EXPERT', type='TH1F', title="Egamma E_T [calib]; E_T [ GeV ] ; Nclusters", xbins=80, xmin=0.0, xmax=140.0)
152
153 alg = CompFactory.T2CaloEgammaReFastAlgo(
154 name,
155 IReAlgToolList = [ samp2, samp1, sampe, samph ],
156 ExtraInputs = _T2CaloEgamma_ExtraInputs,
157 EtaWidth = 0.2,
158 PhiWidth = 0.2,
159 MonTool = monTool,
160 CalibListBarrel = [EgammaSshapeCalibrationBarrelConfig(),
161 EgammaHitsCalibrationBarrelConfig(),
162 EgammaGapCalibrationConfig(),
163 EgammaTransitionRegionsConfig()],
164 CalibListEndcap = [EgammaSshapeCalibrationEndcapConfig(),
165 EgammaHitsCalibrationEndcapConfig(),
166 EgammaGapCalibrationConfig()])
167
168 if doRinger:
169 ringer = RingerReFexConfig(flags, 'ReFaAlgoRingerFexConfig',
170 RingerKey= RingerKey,
171 ClustersName = ClustersName)
172 alg.IReAlgToolList += [ringer]
173
174 if flags.Trigger.egamma.fastCaloETCalibration:
175 ringerCalib = CompFactory.TrigFastCalibWithRings(name="FastCalibRingsTool",
176 CalibPath = flags.Trigger.egamma.fastCaloETCalibrationVersion, RingerKey="HLT_FastCaloRinger")
177 alg.CalibWRingsTool = ringerCalib
178 alg.DoCalibWithRings = True
179
180 alg.UseRings = True
181
182
183 alg.RoIs=RoIs
184 alg.ExtraInputs |= ExtraInputs
185 if ( not flags.Input.isMC ):
186 alg.ExtraInputs |= {('LArDeadOTXFromSC' , 'StoreGateSvc+DeadOTXFromSC' )}
187 alg.ClustersName = recordable(ClustersName)
188 acc.addEventAlgo(alg)
189 return acc
190
191
192