3 '''@file TrigEgammaMonitoringConfigRun3.py
4 @author D. Maximov (histograms), Joao victor Pinto (core)
6 @brief Run 3 configuration builder. Histograms definitions taken from TrigEgammaPlotTool
9 from ElectronPhotonSelectorTools.TrigEGammaPIDdefs
import SelectionDefPhoton
13 from AthenaConfiguration.ComponentFactory
import CompFactory
14 from AthenaMonitoring.DQConfigFlags
import DQDataType
20 for chain
in list_of_chains:
21 if part_name
in chain:
22 final_list.append(chain)
37 activate_electron =
False
38 activate_photon =
False
40 activate_jpsiee =
False
42 activate_onlineMonHypos =
False
51 isemnames = [
"tight",
"medium",
"loose"]
52 lhnames = [
"lhtight",
"lhmedium",
"lhloose",
"lhvloose"]
53 dnnnames = [
"dnntight",
"dnnmedium",
"dnnloose"]
58 def __init__(self, helper, runflag, moniAccess, emulator=None,
61 detailedHistograms = False,
62 basePath = 'HLT/EgammaMon', ComputeEffLH = False, ComputeEffDNN = False):
64 from AthenaCommon.Logging
import logging
65 self.
__logger = logging.getLogger(
'TrigEgammaMonAlgBuilder' )
82 self.
__logger.
info(
"TrigEgammaMonAlgBuilder.configureMode()")
86 self.
__logger.warning(
"Error getting monitoring mode, default monitoring lists will be used.")
124 self.
__logger.
info(
"TrigEgammaMonAlgBuilder.get_monitoring_mode()")
129 self.
__logger.
info(
'TrigEgammaMonitoring configured for mc_mode')
131 elif self.
data_type is DQDataType.Collisions:
133 self.
__logger.
info(
'TrigEgammaMonitoring configured for pp_mode')
135 elif self.
data_type is DQDataType.HeavyIon:
138 self.
__logger.
info(
'TrigEgammaMonitoring configured for hi_mode')
140 elif self.
data_type is DQDataType.Cosmics:
142 self.
__logger.
info(
'TrigEgammaMonitoring configured for cosmic_mode')
150 self.
__logger.
info(
"TrigEgammaMonAlgBuilder.setProperties()")
162 self.
__logger.
info(
'No monitoring mode configured, use default')
174 from TrigEgammaMonitoring.TrigEgammaMonitCategory
import mongroupsCfg
179 self.
photonList = mongroups[
'monitoring_photon']
181 self.
tpList = mongroups[
'monitoringTP_electron']
182 self.
tagItems = mongroups[
'monitoring_tags']
186 self.
photonList = mongroups[
'validation_photon']
188 self.
tpList = mongroups[
'monitoringTP_electron'] + mongroups[
'validationTP_electron_DNN']
189 self.
jpsiList = mongroups[
'validation_jpsi']
191 self.
tagItems = mongroups[
'monitoring_tags']
192 self.
topoList = mongroups[
'monitoring_topo']
194 self.
electronList = mongroups[
'monitoring_electron_cosmic']
195 self.
photonList = mongroups[
'monitoring_photon_cosmic']
196 self.
bootstrapMap = mongroups[
'monitoring_bootstrap_cosmic']
199 self.
photonList = mongroups[
'monitoring_photon']
201 self.
tpList = mongroups[
'monitoringTP_electron']
202 self.
tagItems = mongroups[
'monitoring_tags']
203 self.
topoList = mongroups[
'monitoring_topo']
213 EgammaMatchTool = CompFactory.TrigEgammaMatchingToolMT()
214 EgammaMatchTool.DeltaR=0.4
215 acc.addPublicTool(EgammaMatchTool)
216 cppyy.load_library(
'libElectronPhotonSelectorToolsDict')
220 LooseElectronSelector = CompFactory.AsgElectronIsEMSelector(
"T0HLTLooseElectronSelector")
221 MediumElectronSelector = CompFactory.AsgElectronIsEMSelector(
"T0HLTMediumElectronSelector")
222 TightElectronSelector = CompFactory.AsgElectronIsEMSelector(
"T0HLTTightElectronSelector")
223 LooseLHSelector = CompFactory.AsgElectronLikelihoodTool(
"T0HLTLooseLHSelector")
224 MediumLHSelector = CompFactory.AsgElectronLikelihoodTool(
"T0HLTMediumLHSelector")
225 TightLHSelector = CompFactory.AsgElectronLikelihoodTool(
"T0HLTTightLHSelector")
226 VeryLooseLHSelector = CompFactory.AsgElectronLikelihoodTool(
"T0HLTVeryLooseLHSelector")
229 LooseDNNElectronSelector = CompFactory.AsgElectronSelectorTool(
"T0HLTLooseElectronDNNSelector")
230 MediumDNNElectronSelector = CompFactory.AsgElectronSelectorTool(
"T0HLTMediumElectronDNNSelector")
231 TightDNNElectronSelector = CompFactory.AsgElectronSelectorTool(
"T0HLTTightElectronDNNSelector")
233 LoosePhotonSelector = CompFactory.AsgPhotonIsEMSelector(
"T0HLTLoosePhotonSelector" )
234 MediumPhotonSelector = CompFactory.AsgPhotonIsEMSelector(
"T0HLTMediumPhotonSelector" )
235 TightPhotonSelector = CompFactory.AsgPhotonIsEMSelector(
"T0HLTTightPhotonSelector" )
237 LoosePhotonSelector.ForceConvertedPhotonPID =
True
238 LoosePhotonSelector.isEMMask = SelectionDefPhoton.PhotonLoose
239 MediumPhotonSelector.ForceConvertedPhotonPID =
True
240 MediumPhotonSelector.isEMMask = SelectionDefPhoton.PhotonMedium
241 TightPhotonSelector.ForceConvertedPhotonPID =
True
242 TightPhotonSelector.isEMMask = SelectionDefPhoton.PhotonTight
245 acc.addPublicTool(LooseElectronSelector)
246 acc.addPublicTool(MediumElectronSelector)
247 acc.addPublicTool(TightElectronSelector)
248 acc.addPublicTool(LooseLHSelector)
249 acc.addPublicTool(MediumLHSelector)
250 acc.addPublicTool(TightLHSelector)
251 acc.addPublicTool(VeryLooseLHSelector)
252 acc.addPublicTool(LooseDNNElectronSelector)
253 acc.addPublicTool(MediumDNNElectronSelector)
254 acc.addPublicTool(TightDNNElectronSelector)
257 raise RuntimeError(
'2022 (Run 3) configuration not available yet' )
262 LooseElectronSelector.ConfigFile =
"ElectronPhotonSelectorTools/offline/mc15_20150712/ElectronIsEMLooseSelectorCutDefs.conf"
263 MediumElectronSelector.ConfigFile =
"ElectronPhotonSelectorTools/offline/mc15_20150712/ElectronIsEMMediumSelectorCutDefs.conf"
264 TightElectronSelector.ConfigFile =
"ElectronPhotonSelectorTools/offline/mc15_20150712/ElectronIsEMTightSelectorCutDefs.conf"
266 LooseLHSelector.ConfigFile =
"ElectronPhotonSelectorTools/offline/mc20_20210514/ElectronLikelihoodLooseOfflineConfig2017_CutBL_Smooth.conf"
267 MediumLHSelector.ConfigFile =
"ElectronPhotonSelectorTools/offline/mc20_20210514/ElectronLikelihoodMediumOfflineConfig2017_Smooth.conf"
268 TightLHSelector.ConfigFile =
"ElectronPhotonSelectorTools/offline/mc20_20210514/ElectronLikelihoodTightOfflineConfig2017_Smooth.conf"
269 VeryLooseLHSelector.ConfigFile =
"ElectronPhotonSelectorTools/offline/mc20_20210514/ElectronLikelihoodVeryLooseOfflineConfig2017_Smooth.conf"
271 LooseDNNElectronSelector.ConfigFile =
"ElectronPhotonSelectorTools/offline/mc20_20240628/ElectronDNNMulticlassLoose.conf"
272 MediumDNNElectronSelector.ConfigFile =
"ElectronPhotonSelectorTools/offline/mc20_20240628/ElectronDNNMulticlassMedium.conf"
273 TightDNNElectronSelector.ConfigFile =
"ElectronPhotonSelectorTools/offline/mc20_20240628/ElectronDNNMulticlassTight.conf"
275 TightPhotonSelector.ConfigFile =
"ElectronPhotonSelectorTools/offline/mc15_20150712/PhotonIsEMTightSelectorCutDefs.conf"
276 MediumPhotonSelector.ConfigFile =
"ElectronPhotonSelectorTools/offline/mc15_20150712/PhotonIsEMMediumSelectorCutDefs.conf"
277 LoosePhotonSelector.ConfigFile =
"ElectronPhotonSelectorTools/offline/mc15_20150712/PhotonIsEMLooseSelectorCutDefs.conf"
281 LooseElectronSelector.ConfigFile =
"ElectronPhotonSelectorTools/offline/mc15_20150712/ElectronIsEMLooseSelectorCutDefs.conf"
282 MediumElectronSelector.ConfigFile =
"ElectronPhotonSelectorTools/offline/mc15_20150712/ElectronIsEMMediumSelectorCutDefs.conf"
283 TightElectronSelector.ConfigFile =
"ElectronPhotonSelectorTools/offline/mc15_20150712/ElectronIsEMTightSelectorCutDefs.conf"
285 LooseLHSelector.ConfigFile =
"ElectronPhotonSelectorTools/offline/mc15_20160512/ElectronLikelihoodLooseOfflineConfig2016_CutBL_Smooth.conf"
286 MediumLHSelector.ConfigFile =
"ElectronPhotonSelectorTools/offline/mc15_20160512/ElectronLikelihoodMediumOfflineConfig2016_Smooth.conf"
287 TightLHSelector.ConfigFile =
"ElectronPhotonSelectorTools/offline/mc15_20160512/ElectronLikelihoodTightOfflineConfig2016_Smooth.conf"
288 VeryLooseLHSelector.ConfigFile =
"ElectronPhotonSelectorTools/offline/mc15_20160512/ElectronLikelihoodVeryLooseOfflineConfig2016_Smooth.conf"
290 LooseDNNElectronSelector.ConfigFile =
"ElectronPhotonSelectorTools/offline/mc16_20210430/ElectronDNNMulticlassLoose.conf"
291 MediumDNNElectronSelector.ConfigFile =
"ElectronPhotonSelectorTools/offline/mc16_20210430/ElectronDNNMulticlassMedium.conf"
292 TightDNNElectronSelector.ConfigFile =
"ElectronPhotonSelectorTools/offline/mc16_20210430/ElectronDNNMulticlassTight.conf"
294 TightPhotonSelector.ConfigFile =
"ElectronPhotonSelectorTools/offline/mc15_20150712/PhotonIsEMTightSelectorCutDefs.conf"
295 MediumPhotonSelector.ConfigFile =
"ElectronPhotonSelectorTools/offline/mc15_20150712/PhotonIsEMMediumSelectorCutDefs.conf"
296 LoosePhotonSelector.ConfigFile =
"ElectronPhotonSelectorTools/offline/mc15_20150712/PhotonIsEMLooseSelectorCutDefs.conf"
300 raise RuntimeError(
'Wrong run flag configuration' )
307 self.
__logger.
info(
"Creating the Zee monitor algorithm LH only...")
308 self.
zeeMonAlg = self.
helper.addAlgorithm( CompFactory.TrigEgammaMonitorTagAndProbeAlgorithm,
"TrigEgammaMonitorTagAndProbeAlgorithm_Zee_LH" )
310 self.
zeeMonAlg.MatchTool = EgammaMatchTool
316 self.
zeeMonAlg.ElectronIsEMSelector =[TightElectronSelector,MediumElectronSelector,LooseElectronSelector]
317 self.
zeeMonAlg.ElectronLikelihoodTool =[TightLHSelector,MediumLHSelector,LooseLHSelector,VeryLooseLHSelector]
318 self.
zeeMonAlg.ElectronDNNSelectorTool =[TightDNNElectronSelector,MediumDNNElectronSelector,LooseDNNElectronSelector]
322 self.
zeeMonAlg.OfflineTagSelector=
'lhtight'
323 self.
zeeMonAlg.OfflineProbeSelector=
'lhloose'
330 self.
zeeMonAlg.ApplyJetNearProbeSelection =
False
336 self.
__logger.
info(
"Creating the Zee monitor algorithm DNN only...")
337 self.
zeeMonAlg_dnn = self.
helper.addAlgorithm( CompFactory.TrigEgammaMonitorTagAndProbeAlgorithm,
"TrigEgammaMonitorTagAndProbeAlgorithm_Zee_DNN" )
345 self.
zeeMonAlg_dnn.ElectronIsEMSelector =[TightElectronSelector,MediumElectronSelector,LooseElectronSelector]
346 self.
zeeMonAlg_dnn.ElectronLikelihoodTool =[TightLHSelector,MediumLHSelector,LooseLHSelector,VeryLooseLHSelector]
347 self.
zeeMonAlg_dnn.ElectronDNNSelectorTool =[TightDNNElectronSelector,MediumDNNElectronSelector,LooseDNNElectronSelector]
373 self.
__logger.
info(
"Creating the Jpsiee monitor algorithm...")
374 self.
jpsieeMonAlg = self.
helper.addAlgorithm( CompFactory.TrigEgammaMonitorTagAndProbeAlgorithm,
"TrigEgammaMonitorTagAndProbeAlgorithm_Jpsiee" )
383 self.
jpsieeMonAlg.ElectronIsEMSelector =[TightElectronSelector,MediumElectronSelector,LooseElectronSelector]
384 self.
jpsieeMonAlg.ElectronLikelihoodTool =[TightLHSelector,MediumLHSelector,LooseLHSelector,VeryLooseLHSelector]
385 self.
jpsieeMonAlg.ElectronDNNSelectorTool =[TightDNNElectronSelector,MediumDNNElectronSelector,LooseDNNElectronSelector]
401 self.
__logger.
info(
"Creating the Electron monitor algorithm...")
402 self.
elMonAlg = self.
helper.addAlgorithm( CompFactory.TrigEgammaMonitorElectronAlgorithm,
"TrigEgammaMonitorElectronAlgorithm" )
403 self.
elMonAlg.MatchTool = EgammaMatchTool
404 self.
elMonAlg.Analysis =
"Electrons"
405 self.
elMonAlg.ElectronKey =
'Electrons'
409 self.
elMonAlg.ElectronIsEMSelector =[TightElectronSelector,MediumElectronSelector,LooseElectronSelector]
410 self.
elMonAlg.ElectronLikelihoodTool =[TightLHSelector,MediumLHSelector,LooseLHSelector,VeryLooseLHSelector]
411 self.
elMonAlg.ForcePidSelection=
True
412 self.
elMonAlg.ForceProbeIsolation=
False
428 self.
__logger.
info(
"Creating the Photon monitor algorithm...")
429 self.
phMonAlg = self.
helper.addAlgorithm( CompFactory.TrigEgammaMonitorPhotonAlgorithm,
"TrigEgammaMonitorPhotonAlgorithm" )
431 self.
phMonAlg.MatchTool = EgammaMatchTool
433 self.
phMonAlg.PhotonIsolationKeys = [
"Photons.topoetcone20",
"Photons.topoetcone40"]
436 self.
phMonAlg.PhotonIsEMSelector =[TightPhotonSelector,MediumPhotonSelector,LoosePhotonSelector]
440 self.
phMonAlg.ForcePidSelection=
True
454 self.
__logger.
info(
"Creating the combo monitor algorithm...")
455 self.
topoMonAlg = self.
helper.addAlgorithm( CompFactory.TrigEgammaMonitorTopoAlgorithm,
"TrigEgammaMonitorTopoAlgorithm" )
462 self.
topoMonAlg.ElectronIsEMSelector =[TightElectronSelector,MediumElectronSelector,LooseElectronSelector]
463 self.
topoMonAlg.ElectronLikelihoodTool =[TightLHSelector,MediumLHSelector,LooseLHSelector]
476 triggers = self.
zeeMonAlg.TriggerList; triggers.extend( self.
zeeMonAlg.TagTriggerList )
504 @functools.lru_cache(
None)
509 monGroup.defineHistogram(hist.name, **hist.kwargs)
517 self.
__logger.
info(
"Booking all histograms for alg: %s", monAlg.name )
520 for trigger
in triggers:
542 if info.isElectron():
552 elif info.isPhoton():
566 self.
bookEfficiencies( monAlg, trigger,
"FastPhoton" if info.isPhoton()
else "FastElectron")
581 self.
bookEfficiencies( monAlg, trigger,
"FastPhoton" if info.isPhoton()
else "FastElectron", doEmulation=
True)
592 monGroup = self.
addGroup( monAlg, analysis, self.
basePath+
'/Expert/Event/'+analysis )
595 cutLabels = [
"Events",
"LAr",
"RetrieveElectrons",
"TwoElectrons",
"PassTrigger",
"EventWise",
"Success"]
596 probeLabels=[
"Electrons",
"NotTag",
"OS",
"SS",
"ZMass",
"HasTrack",
"HasCluster",
"Eta",
"Et",
"IsGoodOQ",
"GoodPid",
"NearbyJet",
"Isolated",
"GoodProbe"]
597 tagLabels=[
"Electrons",
"HasTrack",
"HasCluster",
"GoodPid",
"Et",
"Eta",
"IsGoodOQ",
"PassTrigger",
"MatchTrigger"]
599 monGroup.defineHistogram(
"CutCounter", type=
'TH1I', path=
'', title=
"Event Selection; Cut ; Count",
600 xbins=len(cutLabels), xmin=0, xmax=len(cutLabels), xlabels=cutLabels)
601 monGroup.defineHistogram(
"TagCutCounter", type=
'TH1F', path=
'', title=
"Number of Probes; Cut ; Count",
602 xbins=len(tagLabels), xmin=0, xmax=len(tagLabels), xlabels=tagLabels)
603 monGroup.defineHistogram(
"ProbeCutCounter", type=
'TH1F', path=
'', title=
"Number of Probes; Cut ; Count",
604 xbins=len(probeLabels), xmin=0, xmax=len(probeLabels), xlabels=probeLabels)
605 monGroup.defineHistogram(
"Mee", type=
'TH1F', path=
'', title=
"Offline M(ee); m_ee [GeV] ; Count",xbins=50,
606 xmin=monAlg.ZeeLowerMass, xmax=monAlg.ZeeUpperMass)
614 from TrigEgammaMonitoring.TrigEgammaMonitorHelper
import TH1F
615 monGroup = self.
addGroup( monAlg, trigger+
'_Distributions_L1Calo', self.
basePath+
'/Shifter/'+trigger+
'/Distributions/L1Calo' )
617 if 'L1eEM' in trigger:
619 self.
addHistogram(monGroup,
TH1F(
"et" ,
"Et; Et [GeV] ; Count", 100, 0., 800.))
620 self.
addHistogram(monGroup,
TH1F(
"eta" ,
"eta; eta ; Count" , 50, -2.5, 2.5))
621 self.
addHistogram(monGroup,
TH1F(
"phi" ,
"phi; phi ; Count" , 20, -3.2, 3.2))
623 self.
addHistogram(monGroup,
TH1F(
"Reta" ,
"Reta; Reta ; Count" , 40, 0, 1 ))
624 self.
addHistogram(monGroup,
TH1F(
"Wstot" ,
"Wstot; Wstot ; Count", 40, 0, 4 ))
627 self.
addHistogram(monGroup,
TH1F(
"energy",
"Cluster Energy; E [GeV] ; Count", 100, 0., 800.))
628 self.
addHistogram(monGroup,
TH1F(
"roi_et",
"RoI word Cluster Energy; E [GeV] ; Count", 100, 0, 200))
629 self.
addHistogram(monGroup,
TH1F(
"emIso",
"EM Isolation; E [GeV] ; Count", 50, -1., 20.))
630 self.
addHistogram(monGroup,
TH1F(
"hadCore",
"HAD Isolation; E [GeV] ; Count", 50, -1., 20.))
641 from TrigEgammaMonitoring.TrigEgammaMonitorHelper
import TH1F
642 monGroup = self.
addGroup( monAlg, trigger+
'_Distributions_L2Calo', self.
basePath+
'/Shifter/'+trigger+
'/Distributions/FastCalo' )
644 self.
addHistogram(monGroup,
TH1F(
"et",
"ET; ET [GeV] ; Count", 100, 0., 100.))
645 self.
addHistogram(monGroup,
TH1F(
"highet",
"ET; ET [GeV] ; Count", 100, 0., 800.))
655 from TrigEgammaMonitoring.TrigEgammaMonitorHelper
import TH1F
656 monGroup = self.
addGroup( monAlg, trigger+
'_Distributions_L2Electron', self.
basePath+
'/Shifter/'+trigger+
'/Distributions/FastElectron' )
658 self.
addHistogram(monGroup,
TH1F(
"et",
"ET; ET [GeV] ; Count", 100, 0., 100.))
659 self.
addHistogram(monGroup,
TH1F(
"highet",
"ET; ET [GeV] ; Count", 100, 0., 800.))
669 from TrigEgammaMonitoring.TrigEgammaMonitorHelper
import TH1F
670 monGroup = self.
addGroup( monAlg, trigger+
'_Distributions_L2Photon', self.
basePath+
'/Shifter/'+trigger+
'/Distributions/FastPhoton' )
672 self.
addHistogram(monGroup,
TH1F(
"et",
"ET; ET [GeV] ; Count", 100, 0., 100.))
673 self.
addHistogram(monGroup,
TH1F(
"highet",
"ET; ET [GeV] ; Count", 100, 0., 800.))
681 from TrigEgammaMonitoring.TrigEgammaMonitorHelper
import TH1F
682 monGroup = self.
addGroup( monAlg, trigger+
'_Distributions_EFCalo', self.
basePath+
'/Shifter/'+trigger+
'/Distributions/PrecisionCalo' )
684 self.
addHistogram(monGroup,
TH1F(
"et",
"ET; ET [GeV] ; Count", 100, 0., 100.))
687 self.
addHistogram(monGroup,
TH1F(
"energy",
"Cluster Energy; E [GeV] ; Count", 50, 0., 100.))
688 self.
addHistogram(monGroup,
TH1F(
"highet",
"Cluster Energy; E [GeV] ; Count", 100, 0., 800.))
689 self.
addHistogram(monGroup,
TH1F(
"eta_calo",
"eta_calo; eta_calo ; Count", 50, -2.47, 2.47))
690 self.
addHistogram(monGroup,
TH1F(
"phi_calo",
"phi_calo; phi_calo ; Count", 50, -3.14, 3.14))
693 self.
addHistogram(monGroup,
TH1F(
"energyBE0",
"Cluster Energy BE0; E [GeV] ; Count", 50, 0., 100.))
694 self.
addHistogram(monGroup,
TH1F(
"energyBE1",
"Cluster Energy BE1; E [GeV] ; Count", 50, 0., 100.))
695 self.
addHistogram(monGroup,
TH1F(
"energyBE2",
"Cluster Energy BE2; E [GeV] ; Count", 50, 0., 100.))
696 self.
addHistogram(monGroup,
TH1F(
"energyBE3",
"Cluster Energy BE3; E [GeV] ; Count", 50, 0., 100.))
704 from TrigEgammaMonitoring.TrigEgammaMonitorHelper
import TH1F
706 monGroup = self.
addGroup( monAlg, trigger+
'_Distributions_' + (
"HLT" if online
else "Offline"),
707 self.
basePath+
'/Shifter/'+trigger+
'/Distributions/' + (level
if online
else "Offline") )
711 self.
addHistogram(monGroup,
TH1F(
"Rhad",
"Rhad; Rhad ; Count", 35, -0.3, 0.3))
712 self.
addHistogram(monGroup,
TH1F(
"Reta",
"Reta; Reta ; Count", 15, 0.4, 1.2))
713 self.
addHistogram(monGroup,
TH1F(
"Rphi",
"Rphi; Rphi ; Count", 15, 0.4, 1.2))
714 self.
addHistogram(monGroup,
TH1F(
"weta2",
"weta2; weta2 ; Count", 20, 0., 0.02))
717 self.
addHistogram(monGroup,
TH1F(
"eratio",
"eratio; eratio; Count",20, 0, 2))
718 self.
addHistogram(monGroup,
TH1F(
"et",
"ET; ET [GeV] ; Count", 100, 0., 100.))
719 self.
addHistogram(monGroup,
TH1F(
"highet",
"Offline E_{T}; E_{T} [GeV] ; Count", 100, 0., 800.))
723 if not info.isElectron():
724 self.
addHistogram(monGroup,
TH1F(
"topoetcone20",
"topoetcone20; topoetcone20 [GeV] ; Count", 100, -10.0, 10.0))
725 self.
addHistogram(monGroup,
TH1F(
"topoetcone20_rel",
"topoetcone20/pt; topoetcone20/pt ; Count", 100, -0.5, 0.5))
726 self.
addHistogram(monGroup,
TH1F(
"topoetcone40_shift",
"topoetcone40-2.45 GeV; topoetcone40-2.45 GeV [GeV] ; Count", 100, -10.0, 10.0))
727 self.
addHistogram(monGroup,
TH1F(
"topoetcone40_shift_rel",
"(topoetcone40-2.45 GeV)/pt; (topoetcone40-2.45 GeV)/pt ; Count", 100, -0.5, 0.5))
730 self.
addHistogram(monGroup,
TH1F(
"Rhad1",
"Rhad1; Rhad1 ; Count", 30, -0.3, 0.3))
731 self.
addHistogram(monGroup,
TH1F(
"weta1",
"weta1; weta1 ; Count", 12, 0.4, 1.))
738 from TrigEgammaMonitoring.TrigEgammaMonitorHelper
import TH1F, TH2F
740 monGroup = self.
addGroup( monAlg, trigger+
'_Distributions_' + (
"HLT" if online
else "Offline"),
741 self.
basePath+
'/Shifter/'+trigger+
'/Distributions/' + (
"HLT" if online
else "Offline") )
744 self.
addHistogram(monGroup,
TH1F(
"deta2",
"deta2; deta2 ; Count", 40, -0.01, 0.01))
745 self.
addHistogram(monGroup,
TH1F(
"dphi2",
"dphi2; dphi2 ; Count", 40, -0.1, 0.1))
746 self.
addHistogram(monGroup,
TH1F(
"eprobht",
"eProbHT; eProbHT; Count",20, 0, 1.))
747 self.
addHistogram(monGroup,
TH1F(
"npixhits",
"nPixHit; nPixHits; Count",10, 0, 10))
748 self.
addHistogram(monGroup,
TH1F(
"nscthits",
"nSCTHit; nSCTHits; Count",20, 0, 20))
749 self.
addHistogram(monGroup,
TH1F(
"pt",
"p_{T}; p_{T} [GeV] ; Count", 50,0.,200.))
750 self.
addHistogram(monGroup,
TH1F(
"pt_track",
"p_{T} tracks; p_{T} [GeV] ; Count", 100,0.,200.))
751 self.
addHistogram(monGroup,
TH1F(
"ptcone20",
"ptcone20; ptcone20; Count", 50, 0.0, 5.0))
752 self.
addHistogram(monGroup,
TH1F(
"ptvarcone20",
"ptvarcone20; ptvarcone20; Count", 50, 0.0, 5.0))
753 self.
addHistogram(monGroup,
TH1F(
"ptcone20_rel",
"ptcone20/pt; ptcone20/pt; Count", 50, 0.0, 1.0))
754 self.
addHistogram(monGroup,
TH1F(
"ptcone30_rel",
"ptcone30/pt; ptcone30/pt; Count", 50, 0.0, 1.0))
755 self.
addHistogram(monGroup,
TH1F(
"ptvarcone20_rel",
"ptvarcone20/pt; ptvarcone20/pt; Count", 50, 0.0, 0.2))
756 self.
addHistogram(monGroup,
TH1F(
"ptvarcone30_rel",
"ptvarcone30/pt; ptvarcone30/pt; Count", 50, 0.0, 0.2))
759 self.
addHistogram(monGroup,
TH1F(
"d0sig",
"d0sig; d0sig ; Count", 40, -10, 10))
761 self.
addHistogram(monGroup,
TH2F(
"mu,ptvarcone20_rel",
"HLT ptvarcone20/pt as function of avg #mu; #mu; ptvarcone20/pt; Count",50, 0, 80,50, 0, 0.12))
762 self.
addHistogram(monGroup,
TH2F(
"eta,ptvarcone20_rel",
"HLT ptvarcone20/pt as function of #eta; #eta; ptvarcone20/pt; Count",50, -3, 3,50, 0, 0.12))
764 self.
addHistogram(monGroup,
TH2F(
"pt,ptvarcone20_rel",
"HLT ptvarcone20/pt as function of pt; pt [GeV]; ptvarcone20/pt; Count",50, 0, 200,50, 0, 0.12))
765 self.
addHistogram(monGroup,
TH2F(
"pt_track,ptvarcone20_rel",
"HLT ptvarcone20/pt as function of pt_track; pt [GeV]; ptvarcone20/pt; Count",50, 0, 200,50, 0, 0.12))
768 self.
addHistogram(monGroup,
TH1F(
"deta1_EMECA",
"deta1 EMEC-A; deta1 ; Count", 40, -0.01, 0.01))
769 self.
addHistogram(monGroup,
TH1F(
"deta1_EMECC",
"deta1 EMEC-C; deta1 ; Count", 40, -0.01, 0.01))
770 self.
addHistogram(monGroup,
TH1F(
"deta1_EMEBA",
"deta1 EMEB-A; deta1 ; Count", 40, -0.01, 0.01))
771 self.
addHistogram(monGroup,
TH1F(
"deta1_EMEBC",
"deta1 EMEB-A; deta1 ; Count", 40, -0.01, 0.01))
772 self.
addHistogram(monGroup,
TH1F(
"deta1",
"deta1; deta1 ; Count", 40, -0.01, 0.01))
774 self.
addHistogram(monGroup,
TH1F(
"dphiresc",
"dphiresc; dphiresc ; Count", 40, -0.1, 0.1))
775 self.
addHistogram(monGroup,
TH2F(
"z0,ptvarcone20_rel",
"HLT ptvarcone20/pt as function of z0; z0; ptvarcone20/pt; Count",50, -200, 200,50, 0, 0.12))
783 from TrigEgammaMonitoring.TrigEgammaMonitorHelper
import TH1F, TH2F, TProfile
785 dirname =
'Emulation' if doEmulation
else 'Efficiency'
787 monGroup = self.
addGroup( monAlg, trigger+
'_'+dirname+
'_'+level+
'_'+subgroup, self.
basePath+
'/Shifter/'+trigger+
'/'+dirname+
'/'+level+
'/'+subgroup )
789 monGroup = self.
addGroup( monAlg, trigger+
'_'+dirname+
'_'+level, self.
basePath+
'/Shifter/'+trigger+
'/'+dirname+
'/'+level )
794 self.
addHistogram(monGroup,
TH1F(
"match_highet",
"Trigger Matched Offline E_{T}; E_{T} [GeV]; Count", 40, 0., 500.))
796 self.
addHistogram(monGroup,
TH1F(
"match_phi",
"Trigger Matched #phi; #phi ; Count", 20, -3.2, 3.2))
797 self.
addHistogram(monGroup,
TH1F(
"match_avgmu",
"Trigger Matched <#mu>; <#mu> ; Count", 16, 0, 80))
798 self.
addHistogram(monGroup,
TH1F(
"match_ptvarcone20rel",
"Trigger Matched ptvarcone20rel; ptvarcone20rel ; Count", 50, 0, 0.2))
799 self.
addHistogram(monGroup,
TH1F(
"match_ptvarcone30rel",
"Trigger Matched ptvarcone30rel; ptvarcone30rel ; Count", 50, 0, 0.2))
800 self.
addHistogram(monGroup,
TH1F(
"match_z0",
"Trigger Matched z0; z0 ; Count", 50, -200,200))
801 self.
addHistogram(monGroup,
TH1F(
"match_d0",
"Trigger Matched d0; d0 ; Count", 50, -0.8,0.8))
806 self.
addHistogram(monGroup,
TH1F(
"highet",
"Offline E_{T}; E_{T} [GeV] ; Count", 50, 0., 800.))
808 self.
addHistogram(monGroup,
TH1F(
"phi",
"Offline #phi; #phi ; Count", 20, -3.2, 3.2))
809 self.
addHistogram(monGroup,
TH1F(
"avgmu",
"<#mu>; <#mu> ; Count", 16, 0, 80))
810 self.
addHistogram(monGroup,
TH1F(
"ptvarcone20rel",
"ptvarcone20rel; ptvarcone20rel ; Count", 50, 0, 0.2))
811 self.
addHistogram(monGroup,
TH1F(
"ptvarcone30rel",
"ptvarcone30rel; ptvarcone30rel ; Count", 50, 0, 0.2))
819 self.
addHistogram(monGroup,
TProfile(
"highet,highet_passed",
"#epsilon(E_T); E_{T} [GeV] ; Efficiency", 50, 0., 800.))
821 self.
addHistogram(monGroup,
TProfile(
"phi,phi_passed",
"#epsilon(#phi); #phi ; Efficiency", 20, -3.2, 3.2))
822 self.
addHistogram(monGroup,
TProfile(
"avgmu,avgmu_passed",
"#epsilon(<#mu>); <#mu> ; Efficiency", 16, 0, 80))
823 self.
addHistogram(monGroup,
TProfile(
"ptvarcone20rel,ptvarcone20rel_passed",
"#epsilon(ptvarcone20rel); ptvarcone20rel ; Efficiency", 50, 0, 0.2))
824 self.
addHistogram(monGroup,
TProfile(
"ptvarcone30rel,ptvarcone30rel_passed",
"#epsilon(ptvarcone30rel); ptvarcone30rel ; Efficiency", 50, 0, 0.2))
825 self.
addHistogram(monGroup,
TProfile(
"z0,z0_passed",
"#epsilon(z0); z0 ; Efficiency", 50, -200, 200))
826 self.
addHistogram(monGroup,
TProfile(
"d0,d0_passed",
"#epsilon(d0); d0 ; Efficiency", 50, -0.8, 0.8))
829 self.
addHistogram(monGroup,
TH2F(
"match_avgmu,match_ptvarcone20rel",
"Matched ptvarcone20/pt as function of avg #mu; #mu; ptvarcone20/pt; Count",50, 0, 80,50, 0, 0.2))
830 self.
addHistogram(monGroup,
TH2F(
"match_avgmu,match_ptvarcone30rel",
"Matched ptvarcone30/pt as function of avg #mu; #mu; ptvarcone30/pt; Count",50, 0, 80,50, 0, 0.2))
835 self.
addHistogram(monGroup,
TH1F(
"match_npvtx",
"Trigger Matched npvtx; npvtx ; Count", 16, 0, 80))
836 self.
addHistogram(monGroup,
TH1F(
"npvtx",
"npvtx; npvtx ; Count", 16, 0, 80))
837 self.
addHistogram(monGroup,
TProfile(
"npvtx,npvtx_passed",
"#epsilon(npvtx); npvtx ; Efficiency", 16, 0, 80))
838 self.
addHistogram(monGroup,
TH2F(
"match_z0,match_ptvarcone20rel",
"Matched ptvarcone20/pt as function of z0; z0; ptvarcone20/pt; Count",50, -200, 200,50, 0, 0.12))
839 self.
addHistogram(monGroup,
TH2F(
"match_d0,match_ptvarcone20rel",
"Matched ptvarcone20/pt as function of d0; d0; ptvarcone20/pt; Count",50, -0.5, 0.5,50, 0, 0.12))
843 self.
addHistogram(monGroup,
TProfile(
"highet,highet_failed",
"#epsilon(E_T); E_{T} [GeV] ; Inefficiency", 50, 0., 800.))
856 monGroup = self.
addGroup( monAlg, trigger+
'_Inefficiency', self.
basePath+
'/Expert/Inefficiency/'+trigger)
857 levelLabels = [
"L1Calo",
"L2Calo",
"L2",
"EFCalo",
"HLT"]
858 monGroup.defineHistogram(
"InefficiencyCounts", type=
'TH1F', path=
'', title=
"Inefficiency; Steps ; Count",xbins=len(levelLabels), xmin=0, xmax=len(levelLabels), xlabels=levelLabels)
863 from TrigEgammaMonitoring.TrigEgammaMonitorHelper
import TH1F, TH2F
864 monGroup = self.
addGroup( monAlg, trigger+
'_Resolutions_L1Calo', self.
basePath+
'/Shifter/'+trigger+
'/Resolutions/L1Calo' )
865 self.
addHistogram(monGroup,
TH1F(
"res_et",
"E_{T} resolution; (E_{T}(on)-E_{T}(off))/E_{T}(off) ; Count", 100, -0.1, 0.1))
868 self.
addHistogram(monGroup,
TH2F(
"eta,res_et",
"E_{T} resolution as function of #eta; #eta; (E_{T}(on)-E_{T}(off))/E_{T}(off); Count",50, -2.47, 2.47,50, -0.1, 0.1))
869 self.
addHistogram(monGroup,
TH1F(
"eta",
"eta; eta ; Count", 50, -2.47, 2.47))
874 from TrigEgammaMonitoring.TrigEgammaMonitorHelper
import TH1F, TH2F
875 monGroup = self.
addGroup( monAlg, trigger+
'_AbsResolutions_L1Calo', self.
basePath+
'/Shifter/'+trigger+
'/AbsResolutions/L1Calo' )
876 self.
addHistogram(monGroup,
TH1F(
"res_et",
"E_{T} resolution; (E_{T}(on)-E_{T}(off))/E_{T}(off) ; Count", 100, -0.1, 0.1))
877 self.
addHistogram(monGroup,
TH1F(
"eta",
"#eta; #eta ; Count", 50, -2.47, 2.47))
880 self.
addHistogram(monGroup,
TH2F(
"eta,res_et",
"E_{T} resolution as function of #eta; #eta; (E_{T}(on)-E_{T}(off))/E_{T}(off); Count",50, -2.47, 2.47,50, -0.1, 0.1))
885 from TrigEgammaMonitoring.TrigEgammaMonitorHelper
import TH1F, TH2F
886 monGroup = self.
addGroup( monAlg, trigger+
'_Resolutions_L2Calo', self.
basePath+
'/Shifter/'+trigger+
'/Resolutions/FastCalo' )
890 self.
addHistogram(monGroup,
TH1F(
"res_Rhad",
"Rhad resolution; (Rhad(on)-Rhad(off))/Rhad(off) ; Count", 20, -10., 10.))
891 self.
addHistogram(monGroup,
TH1F(
"res_et",
"E_{T} resolution; (E_{T}(on)-E_{T}(off))/E_{T}(off) ; Count", 100, -0.1, 0.1))
892 self.
addHistogram(monGroup,
TH1F(
"res_eta",
"#eta resolution; (#eta(on)-#eta(off))/#eta(off) ; Count", 40, -0.001, 0.001))
893 self.
addHistogram(monGroup,
TH1F(
"res_phi",
"#phi resolution; (#phi(on)-#phi(off))/#phi(off) ; Count", 40, -0.001, 0.001))
894 self.
addHistogram(monGroup,
TH1F(
"res_ethad",
"ethad resolution; (ethad(on)-ethad(off))/ethad(off) ; Count", 20, -5, 5))
895 self.
addHistogram(monGroup,
TH1F(
"res_weta2",
"weta2 resolution; (weta2(on)-weta2(off))/weta2(off) ; Count", 20, -0.05, 0.05))
896 self.
addHistogram(monGroup,
TH1F(
"res_Reta",
"Reta resolution; (Reta(on)-Reta(off))/Reta(off) ; Count", 20, -0.01, 0.01))
897 self.
addHistogram(monGroup,
TH1F(
"res_Rphi",
"Rphi resolution; (Rphi(on)-Rphi(off))/Rphi(off) ; Count", 20, -0.01, 0.01))
898 self.
addHistogram(monGroup,
TH1F(
"res_eratio",
"eratio resolution; (eratio(on)-eratio(off))/eratio(off) ; Count", 20, -0.001, 0.001))
901 self.
addHistogram(monGroup,
TH1F(
"res_ethad1",
"ethad1 resolution; (ethad1(on)-ethad1(off))/ethad1(off) ; Count", 20, -5, 5))
902 self.
addHistogram(monGroup,
TH1F(
"res_Rhad1",
"Rhad1; Rhad1 resolution; (Rhad1(on)-Rhad1(off))/Rhad1(off)", 20, -10., 10.))
903 self.
addHistogram(monGroup,
TH1F(
"res_f1",
"f1 resolution; (f1(on)-f1(off))/f1(off) ; Count", 20, -0.05, 0.05))
904 self.
addHistogram(monGroup,
TH1F(
"res_f3",
"f3 resolution; (f3(on)-f3(off))/f3(off) ; Count", 20, -0.05, 0.05))
907 self.
addHistogram(monGroup,
TH2F(
"et,res_etVsEt",
"E_{T} resolution as function of E_{T}; E_{T} [GeV]; (E_{T}(on)-E_{T}(off))/E_{T}(off); Count",
910 self.
addHistogram(monGroup,
TH2F(
"eta,res_et",
"E_{T} resolution as function of #eta; #eta; (E_{T}(on)-E_{T}(off))/E_{T}(off); Count",
913 self.
addHistogram(monGroup,
TH2F(
"eta,res_f3",
"L2Calo f3 resolution as function of #eta; #eta; (f3(on)-f3(off))/f3(off); Count",
916 self.
addHistogram(monGroup,
TH2F(
"et,res_f3",
"L2Calo f3 resolution as function of E_{T}; E_{T} [GeV]; (f3(on)-f3(off))/f3(off); Count",
919 self.
addHistogram(monGroup,
TH2F(
"eta,res_f1",
"L2Calo f1 resolution as function of #eta; #eta; (f1(on)-f1(off))/f1(off); Count",
922 self.
addHistogram(monGroup,
TH2F(
"et,res_f1",
"L2Calo f1 resolution as function of E_{T}; E_{T} [GeV]; (f1(on)-f1(off))/f1(off); Count",
925 self.
addHistogram(monGroup,
TH2F(
"eta,res_weta2",
"L2Calo weta2 resolution as function of #eta; #eta; (weta2(on)-weta2(off))/weta2(off); Count",
928 self.
addHistogram(monGroup,
TH2F(
"et,res_weta2",
"L2Calo weta2 resolution as function of E_{T}; E_{T} [GeV]; (weta2(on)-weta2(off))/weta2(off); Count",
931 self.
addHistogram(monGroup,
TH2F(
"eta,res_Reta",
"L2Calo Reta resolution as function of #eta; #eta; (Reta(on)-Reta(off))/Reta(off); Count",
934 self.
addHistogram(monGroup,
TH2F(
"et,res_Reta",
"L2Calo Reta resolution as function of E_{T}; E_{T} [GeV]; (Reta(on)-Reta(off))/Reta(off); Count",
937 self.
addHistogram(monGroup,
TH2F(
"eta,res_Rhad1",
"L2Calo E_{T} Rhad1 resolution as function of #eta; #eta; (Rhad1(on)-Rhad1(off))/Rhad1(off); Count",
940 self.
addHistogram(monGroup,
TH2F(
"et,res_Rhad1",
"L2Calo E_{T} RHad1 resolution as function of E_{T}; E_{T} [GeV]; (Rhad1(on)-Rhad1(off))/Rhad1(off); Count",
943 self.
addHistogram(monGroup,
TH2F(
"eta,res_Rhad",
"L2Calo E_{T} Rhad resolution as function of #eta; #eta; (Rhad(on)-Rhad(off))/Rhad(off); Count",
946 self.
addHistogram(monGroup,
TH2F(
"et,res_Rhad",
"L2Calo E_{T} RHad resolution as function of E_{T}; E_{T} [GeV]; (Rhad(on)-Rhad(off))/Rhad(off); Count",
949 self.
addHistogram(monGroup,
TH2F(
"eta,res_ethad1",
"L2Calo E_{T} Had1 resolution as function of #eta; #eta; (ethad1(on)-ethad1(off))/ethad1(off); Count",
952 self.
addHistogram(monGroup,
TH2F(
"et,res_ethad1",
"L2Calo E_{T} Had1 resolution as function of E_{T}; E_{T} [GeV]; (ethad1(on)-ethad1(off))/ethad1(off); Count",
955 self.
addHistogram(monGroup,
TH2F(
"eta,res_ethad",
"L2Calo E_{T} Had resolution as function of #eta; #eta; (ethad(on)-ethad(off))/ethad(off); Count",
958 self.
addHistogram(monGroup,
TH2F(
"et,res_ethad",
"L2Calo E_{T} Had resolution as function of E_{T}; E_{T} [GeV]; (ethad(on)-ethad(off))/ethad(off); Count",
961 self.
addHistogram(monGroup,
TH2F(
"eta,res_eratio",
"L2Calo eratio resolution as function of #eta; #eta; (eratio(on)-eratio(off))/eratio(off); Count",
964 self.
addHistogram(monGroup,
TH2F(
"et,res_eratio",
"L2Calo eratio resolution as function of E_{T}; E_{T} [GeV]; (eratio(on)-eratio(off))/eratio(off); Count",
971 from TrigEgammaMonitoring.TrigEgammaMonitorHelper
import TH1F, TH2F
972 monGroup = self.
addGroup( monAlg, trigger+
'_Resolutions_HLT', self.
basePath+
'/Shifter/'+trigger+
'/Resolutions/'+level )
975 self.
addHistogram(monGroup,
TH1F(
"et",
"E_{T}; E_{T}[GeV] ; Count", 50, 0.0, 100.))
976 self.
addHistogram(monGroup,
TH1F(
"eta",
"#eta; #eta ; Count", 50, -2.47, 2.47))
979 self.
addHistogram(monGroup,
TH1F(
"res_et",
"E_{T} resolution; (E_{T}(on)-E_{T}(off))/E_{T}(off) ; Count", 100, -0.1, 0.1))
980 self.
addHistogram(monGroup,
TH1F(
"res_eta",
"#eta resolution; (#eta(on)-#eta(off))/#eta(off) ; Count", 40, -0.001, 0.001))
981 self.
addHistogram(monGroup,
TH1F(
"res_phi",
"#phi resolution; (#phi(on)-#phi(off))/#phi(off) ; Count", 40, -0.001, 0.001))
982 self.
addHistogram(monGroup,
TH1F(
"res_ethad",
"ethad resolution; (ethad(on)-ethad(off))/ethad(off) ; Count", 20, -5, 5))
983 self.
addHistogram(monGroup,
TH1F(
"res_Rhad",
"Rhad resolution; (Rhad(on)-Rhad(off))/Rhad(off) ; Count", 20, -10., 10.))
984 self.
addHistogram(monGroup,
TH1F(
"res_Reta",
"Reta resolution; (Reta(on)-Reta(off))/Reta(off) ; Count", 20, -0.01, 0.01))
985 self.
addHistogram(monGroup,
TH1F(
"res_Rphi",
"Rphi resolution; (Rphi(on)-Rphi(off))/Rphi(off) ; Count", 20, -0.01, 0.01))
986 self.
addHistogram(monGroup,
TH1F(
"res_weta2",
"weta2 resolution; (weta2(on)-weta2(off))/weta2(off) ; Count", 20, -0.05, 0.05))
987 self.
addHistogram(monGroup,
TH1F(
"res_eratio",
"eratio resolution; (eratio(on)-eratio(off))/eratio(off) ; Count", 20, -0.001, 0.001))
991 self.
addHistogram(monGroup,
TH1F(
"res_weta1",
"weta1 resolution; (weta1(on)-weta1(off))/weta1(off) ; Count", 20, -0.05, 0.05))
992 self.
addHistogram(monGroup,
TH1F(
"res_ethad1",
"ethad1 resolution; (ethad1(on)-ethad1(off))/ethad1(off) ; Count", 20, -5, 5))
993 self.
addHistogram(monGroup,
TH1F(
"res_Rhad1",
"Rhad1; Rhad1 resolution; (Rhad1(on)-Rhad1(off))/Rhad1(off)", 20, -10., 10.))
994 self.
addHistogram(monGroup,
TH2F(
"eta,res_et",
"E_{T} resolution as function of #eta; #eta; (E_{T}(on)-E_{T}(off))/E_{T}(off); Count",50, -2.47, 2.47,100, -0.1, 0.1))
995 self.
addHistogram(monGroup,
TH2F(
"et,res_et",
"E_{T} resolution as function of E_{T}; E_{T} [GeV]; (E_{T}(on)-E_{T}(off))/E_{T}(off); Count",50, 0., 100.,100, -0.1, 0.1))
996 self.
addHistogram(monGroup,
TH1F(
"res_etInEta0",
"HLT E_{T} resolution in #eta = [0#div1.37]; (E_{T}(on)-E_{T}(off))/E_{T}(off) ; Count", 200, -0.1, 0.1))
997 self.
addHistogram(monGroup,
TH1F(
"res_etInEta1",
"HLT E_{T} resolution in #eta = [1.37#div1.52]; (E_{T}(on)-E_{T}(off))/E_{T}(off) ; Count", 200, -0.1, 0.1))
998 self.
addHistogram(monGroup,
TH1F(
"res_etInEta2",
"HLT E_{T} resolution in #eta = [1.55#div1.8]; (E_{T}(on)-E_{T}(off))/E_{T}(off) ; Count", 200, -0.1, 0.1))
999 self.
addHistogram(monGroup,
TH1F(
"res_etInEta3",
"HLT E_{T} resolution in #eta = [1.8#div2.45]; (E_{T}(on)-E_{T}(off))/E_{T}(off) ; Count", 200, -0.1, 0.1))
1000 self.
addHistogram(monGroup,
TH1F(
"res_f1",
"f1 resolution; (f1(on)-f1(off))/f1(off) ; Count", 20, -0.05, 0.05))
1001 self.
addHistogram(monGroup,
TH1F(
"res_f3",
"f3 resolution; (f3(on)-f3(off))/f3(off) ; Count", 20, -0.05, 0.05))
1007 from TrigEgammaMonitoring.TrigEgammaMonitorHelper
import TH1F, TH2F
1008 monGroup = self.
addGroup( monAlg, trigger+
'_Resolutions_HLT', self.
basePath+
'/Shifter/'+trigger+
'/Resolutions/HLT')
1010 self.
addHistogram(monGroup,
TH1F(
"res_pt",
"p_{T} resolution; (p_{T}(on)-p_{T}(off))/p_{T}(off) ; Count", 120, -1.5, 1.5))
1011 self.
addHistogram(monGroup,
TH1F(
"res_deta1",
"deta1; deta1 ; (deta1(on)-deta1(off))/deta1(off)", 100, -1., 1.))
1012 self.
addHistogram(monGroup,
TH1F(
"res_deta2",
"deta2; deta2 ; (deta2(on)-deta2(off))/deta2(off)", 100, -1., 1.))
1013 self.
addHistogram(monGroup,
TH1F(
"res_dphi2",
"dphi2; dphi2 ; (dphi2(on)-dphi2(off))/dphi2(off)", 100, -1., 1.))
1014 self.
addHistogram(monGroup,
TH1F(
"res_z0",
"resolution z0; (z0(on)-z0(off)) ; Count", 100, -0.5, 0.5))
1015 self.
addHistogram(monGroup,
TH1F(
"res_d0",
"resolution d0; (d0(on)-d0(off)) ; Count", 100, -0.5, 0.5))
1016 self.
addHistogram(monGroup,
TH1F(
"res_d0sig",
"resolution d0sig; (d0sig(on)-d0sig(off)) ; Count", 50, -10, 10))
1019 self.
addHistogram(monGroup,
TH1F(
"pt",
"online p_{T}; p_{T}; Count", 50, 0., 100.))
1020 self.
addHistogram(monGroup,
TH1F(
"res_nscthits",
"resolution nSCTHit; (nSCTHits(on)-nSCTHits(off); Count",20, -10, 10))
1021 self.
addHistogram(monGroup,
TH1F(
"res_npixhits",
"resolution nPixHit; (nPixHits(on)-nPixHits(off)); Count",10, -5, 5))
1022 self.
addHistogram(monGroup,
TH2F(
"pt,res_eprobht",
"eProbHT resolution as function of p_{T}; p_{T} [GeV]; (eprobHT(on)-eprobHT(off)); Count",50, 0., 100.,50, -1., 1.))
1023 self.
addHistogram(monGroup,
TH1F(
"res_dphiresc",
"dphiresc; (dphires(on)-dphires(off))/dphires(off) ; Count", 100, -1., 1.))
1024 self.
addHistogram(monGroup,
TH1F(
"res_eprobht",
"resolution eProbHT; (eProbHT(on)-eProbHT(off)); Count",50, -1, 1))
1027 self.
addHistogram(monGroup,
TH1F(
"res_ptcone20",
"resolution ptcone20; ptcone20 (on-off)/off; Count", 200, -0.1, 0.1))
1028 self.
addHistogram(monGroup,
TH1F(
"res_ptcone20_rel",
"resolution ptcone20/pt; ptcone20/pt (on-off)/off; Count", 100, -0.1, 0.1))
1029 self.
addHistogram(monGroup,
TH2F(
"eta,res_ptcone20_rel",
"HLT ptcone20/pt resolution as function of #eta; #eta; (on-off)/off; Count",
1032 self.
addHistogram(monGroup,
TH2F(
"et,res_ptcone20_rel",
"HLT ptcone20/pt resolution as function of E_{T}; E_{T} [GeV]; (on-off)/off; Count",
1035 self.
addHistogram(monGroup,
TH2F(
"mu,res_ptcone20",
"HLT ptcone20 resolution as function of avg #mu; #mu; (on-off)/off; Count",
1038 self.
addHistogram(monGroup,
TH2F(
"mu,res_ptcone20_rel",
"HLT ptcone20/pt resolution as function of avg #mu; #mu; (on-off)/off; Count",
1042 self.
addHistogram(monGroup,
TH1F(
"res_ptvarcone20",
"resolution ptvarcone20; ptvarcone20 (on-off)/off; Count", 200, -0.1, 0.1))
1043 self.
addHistogram(monGroup,
TH1F(
"res_ptvarcone20_rel",
"resolution ptvarcone20/pt; ptvarcone20/pt (on-off)/off; Count", 100, -0.1, 0.1))
1044 self.
addHistogram(monGroup,
TH2F(
"eta,res_ptvarcone20_rel",
"HLT ptvarcone20/pt resolution as function of #eta; #eta; (on-off)/off; Count",
1047 self.
addHistogram(monGroup,
TH2F(
"et,res_ptvarcone20_rel",
"HLT ptvarcone20/pt resolution as function of E_{T}; E_{T} [GeV]; (on-off)/off; Count",
1050 self.
addHistogram(monGroup,
TH2F(
"mu,res_ptvarcone20",
"HLT ptvarcone20 resolution as function of avg #mu; #mu; (on-off)/off; Count",
1053 self.
addHistogram(monGroup,
TH2F(
"mu,res_ptvarcone20_rel",
"HLT ptvarcone20/pt resolution as function of avg #mu; #mu; (on-off)/off; Count",
1061 from TrigEgammaMonitoring.TrigEgammaMonitorHelper
import TH1F, TH2F
1062 monGroup = self.
addGroup( monAlg, trigger+
'_Resolutions_HLT', self.
basePath+
'/Shifter/'+trigger+
'/Resolutions/HLT' )
1064 self.
addHistogram(monGroup,
TH1F(
"res_et_cnv",
"HLT E_{T} resolution for converted Photons; (E_{T}(on)-E_{T}(off))/E_{T}(off) ; Count", 200, -0.1, 0.1))
1065 self.
addHistogram(monGroup,
TH1F(
"res_et_uncnv",
"HLT E_{T} resolution for unconverted Photons; (E_{T}(on)-E_{T}(off))/E_{T}(off) ; Count", 200, -0.1, 0.1))
1069 "HLT E_{T} resolution as function of #eta for converted Photons; #eta; (E_{T}(on)-E_{T}(off))/E_{T}(off); Count",
1073 "HLT E_{T} resolution as function of E_{T} for converted Photons; E_{T} [GeV]; (E_{T}(on)-E_{T}(off))/E_{T}(off); Count",
1077 "HLT E_{T} resolution as function of #eta for unconverted Photons; #eta; (E_{T}(on)-E_{T}(off))/E_{T}(off); Count",
1081 "HLT E_{T} resolution as function of E_{T} for unconverted Photons; E_{T} [GeV]; (E_{T}(on)-E_{T}(off))/E_{T}(off); Count",
1084 self.
addHistogram(monGroup,
TH1F(
"res_cnv_etInEta0",
"HLT E_{T} resolution in #eta = [0#div1.37]; (E_{T}(on)-E_{T}(off))/E_{T}(off) ; Count", 200, -0.1, 0.1))
1085 self.
addHistogram(monGroup,
TH1F(
"res_cnv_etInEta1",
"HLT E_{T} resolution in #eta = [1.37#div1.52]; (E_{T}(on)-E_{T}(off))/E_{T}(off) ; Count", 200, -0.1, 0.1))
1086 self.
addHistogram(monGroup,
TH1F(
"res_cnv_etInEta2",
"HLT E_{T} resolution in #eta = [1.55#div1.8]; (E_{T}(on)-E_{T}(off))/E_{T}(off) ; Count", 200, -0.1, 0.1))
1087 self.
addHistogram(monGroup,
TH1F(
"res_cnv_etInEta3",
"HLT E_{T} resolution in #eta = [1.8#div2.45]; (E_{T}(on)-E_{T}(off))/E_{T}(off) ; Count", 200, -0.1, 0.1))
1088 self.
addHistogram(monGroup,
TH1F(
"res_uncnv_etInEta0",
"HLT E_{T} resolution in #eta = [0#div1.37]; (E_{T}(on)-E_{T}(off))/E_{T}(off) ; Count", 200, -0.1, 0.1))
1089 self.
addHistogram(monGroup,
TH1F(
"res_uncnv_etInEta1",
"HLT E_{T} resolution in #eta = [1.37#div1.52]; (E_{T}(on)-E_{T}(off))/E_{T}(off) ; Count", 200, -0.1, 0.1))
1090 self.
addHistogram(monGroup,
TH1F(
"res_uncnv_etInEta2",
"HLT E_{T} resolution in #eta = [1.55#div1.8]; (E_{T}(on)-E_{T}(off))/E_{T}(off) ; Count", 200, -0.1, 0.1))
1091 self.
addHistogram(monGroup,
TH1F(
"res_uncnv_etInEta3",
"HLT E_{T} resolution in #eta = [1.8#div2.45]; (E_{T}(on)-E_{T}(off))/E_{T}(off) ; Count", 200, -0.1, 0.1))
1096 self.
addHistogram(monGroup,
TH1F(
"res_topoetcone20",
"resolution topoetcone20; ptcone20 (on-off)/off; Count", 200, -0.1, 0.1))
1097 self.
addHistogram(monGroup,
TH1F(
"res_topoetcone20_rel",
"resolution topoetcone20/pt; ptcone20/pt (on-off)/off; Count", 100, -0.1, 0.1))
1100 self.
addHistogram(monGroup,
TH2F(
"eta,res_topoetcone20_rel",
"HLT topoetcone20/pt resolution as function of #eta; #eta; (on-off)/off; Count",
1103 self.
addHistogram(monGroup,
TH2F(
"et,res_topoetcone20_rel",
"HLT topoetcone20/pt resolution as function of E_{T}; E_{T} [GeV]; (on-off)/off; Count",
1106 self.
addHistogram(monGroup,
TH2F(
"mu,res_topoetcone20",
"HLT topoetcone20 resolution as function of avg #mu; #mu; (on-off)/off; Count",
1109 self.
addHistogram(monGroup,
TH2F(
"mu,res_topoetcone20_rel",
"HLT topoetcone20/pt resolution as function of avg #mu; #mu; (on-off)/off; Count",
1117 from TrigEgammaMonitoring.TrigEgammaMonitorHelper
import TH1F, TProfile
1118 from TrigEgammaMonitoring.TrigEgammaMonitCategory
import topo_config
1121 for d
in trigger_configs:
1123 trigger = d[
'trigger_num']
1125 if not d[
'topo']
in topo_config.keys():
1126 self.
__logger.fatal(
"Mon combo tool only support Zee, Jpsiee, Heg trigger. Current chain is %s", trigger)
1128 monGroup_on = self.
addGroup( monAlg, trigger+
'_Efficiency_HLT', self.
basePath+
'/Expert/'+trigger+
'/Efficiency/HLT' )
1129 monGroup_off = self.
addGroup( monAlg, trigger+
'_Efficiency_Offline', self.
basePath+
'/Expert/'+trigger+
'/Efficiency/Offline' )
1131 xmin = topo_config[d[
'topo']][
'mass'][0]
1132 xmax = topo_config[d[
'topo']][
'mass'][1]
1133 self.
addHistogram(monGroup_on,
TH1F(
"mass",
"Online M(ee); m_ee [GeV] ; Count", 50, xmin, xmax))
1134 self.
addHistogram(monGroup_on,
TH1F(
"match_mass",
"Online M(ee); m_ee [GeV] ; Count", 50, xmin, xmax))
1135 self.
addHistogram(monGroup_on,
TProfile(
"mass,match_mass",
"Online #epsilon(M(ee)); m_ee; #epsilon(M(ee))", 50, xmin, xmax))
1136 self.
addHistogram(monGroup_off,
TH1F(
"mass",
"Offline M(ee); m_ee [GeV] ; Count", 50, xmin, xmax))
1137 self.
addHistogram(monGroup_off,
TH1F(
"match_mass",
"Offline M(ee); m_ee [GeV] ; Count", 50, xmin, xmax))
1138 self.
addHistogram(monGroup_off,
TProfile(
"mass,match_mass",
"Offline #epsilon(M(ee)); p_{T} ; #epsilon(M(ee))", 50, xmin, xmax))
1140 xmin = topo_config[d[
'topo']][
'dphi'][0]
1141 xmax = topo_config[d[
'topo']][
'dphi'][1]
1142 self.
addHistogram(monGroup_on,
TH1F(
"dphi",
"Online #Delta#phi; #Delte#phi; Count", 50, xmin, xmax))
1143 self.
addHistogram(monGroup_on,
TH1F(
"match_dphi",
"Online #Delta#phi; #Delte#phi; Count", 50, xmin, xmax))
1144 self.
addHistogram(monGroup_on,
TProfile(
"dphi,match_dphi",
"Online #epsilon(#Delta#phi); #Delta#phi; #epsilon(#Delta#phi)", 50, xmin, xmax))
1145 self.
addHistogram(monGroup_off,
TH1F(
"dphi",
"Offline #Delta#phi; #Delte#phi; Count", 50, xmin, xmax))
1146 self.
addHistogram(monGroup_off,
TH1F(
"match_dphi",
"Offline #Delta#phi; #Delte#phi; Count", 50, xmin, xmax))
1147 self.
addHistogram(monGroup_off,
TProfile(
"dphi,match_dphi",
"Offline #epsilon(#Delta#phi); #Delta#phi; #epsilon(#Delta#phi)", 50, xmin, xmax))
1155 """ Method to define all binning required that is variable"""
1158 coarse_eta_bins = [-2.47,-1.52,-1.37,-0.60,0.00,0.60,1.37,1.52,2.47]
1160 coarse_et_bins = [4.,20.,30.,40.,50.,60.,150.]
1162 default_eta_bins = [-2.47,-2.37,-2.01,-1.81,-1.52,-1.37,-1.15,-0.80,-0.60,-0.10,0.00,
1163 0.10, 0.60, 0.80, 1.15, 1.37, 1.52, 1.81, 2.01, 2.37, 2.47]
1165 default_et_bins = [4.,7.,10.,15.,20.,25.,30.,35.,40.,45.,50.,60.,80.,150.]
1167 etabins = [-2.47,-2.37,-2.01,-1.81,-1.52,-1.37,-1.15,-0.8,-0.6,-0.1,
1168 0.0,0.1,0.6,0.8,1.15,1.37,1.52,1.81,2.01,2.37,2.47]
1171 etbins_Zee = [0.,2.,4.,6.,8.,10.,
1172 12.,14.,16.,18.,20.,22.,24.,26.,28.,
1173 30.,32.,34.,36.,38.,40.,42.,44.,46.,48.,50.,55.,60.,65.,80.,100.,120.,140., 170., 200.,250.]
1175 etbins_Jpsiee = [ 0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5,
1176 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5,
1177 10,10.5,11,11.5,12,12.5,13,13.5,14,14.5,
1178 15,15.5,16,16.5,17,17.5,18,18.5,19,19.5,
1179 20,20.5,21,21.5,22,22.5,23,23.5,24,24.5,
1208 class TrigEgammaInfo(
object):
1217 return True if self.chain().startswith(
'L1')
else False
1220 return True if (self.isL1Item()
or self.chain().startswith(
'HLT_e'))
else False
1223 return True if (self.chain().startswith(
'HLT_g'))
else False
1226 return self.chain().
split(
'_')[2]
1228 def isIsolated(self):
1229 for part_name
in [
'iloose',
'ivarloose',
'icaloloose',
'icalovloose',
'icalotight']:
1230 if part_name
in self.chain():
1236 return TrigEgammaInfo(trigger)