ATLAS Offline Software
TrigEgammaMonitCategory.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2 
3 # Categories currently used by offline Egamma TO monitoringMT tool
4 # Mechanism to read mongroups directly from trigger menu
5 
6 from AthenaMonitoring.DQConfigFlags import DQDataType
7 
8 def mongroupsCfg(moniAccess, data_type):
9 
10  shifter_eg = moniAccess.monitoredChains(signatures="egammaMon", monLevels=["shifter"])
11  shifter_tp = moniAccess.monitoredChains(signatures="egammaMon", monLevels=["shifter_tp"])
12  shifter_topo = moniAccess.monitoredChains(signatures="egammaMon", monLevels=["shifter_topo"])
13 
14  monitoring_electron = list(filter(lambda x: ('HLT_e' in x and 'L1eEM28' not in x), shifter_eg)) # etcut chains
15  monitoring_tags = []
16  monitoringTP_electron = list(filter(lambda x: ('L1eEM28' not in x), shifter_tp))
17 
18  monitoring_ph = list(filter(lambda x: ('HLT_g' in x and 'ringer' not in x), shifter_eg))
19  monitoring_ph_ringer = ['HLT_g20_tight_ringer_L1eEM18M', 'HLT_g25_loose_ringer_L1eEM24L','HLT_g22_tight_ringer_L1eEM18M','HLT_g25_medium_ringer_L1eEM24L','HLT_g35_medium_ringer_L1eEM24L','HLT_g50_loose_ringer_L1eEM24L','HLT_g140_loose_ringer_L1eEM26M']
20  monitoring_photon = monitoring_ph + monitoring_ph_ringer + ['HLT_g140_loose_L1eEM26M','HLT_g300_etcut_L1eEM26M']
21  monitoring_bootstrap = {
22  'HLT_g22_tight_L1eEM18M' : 'HLT_g20_tight_L1eEM18M',
23  'HLT_g25_medium_L1eEM24L' : 'HLT_g25_loose_L1eEM24L',
24  'HLT_g35_medium_L1eEM24L' : 'HLT_g25_loose_L1eEM24L',
25  'HLT_g50_loose_L1eEM24L' : 'HLT_g25_loose_L1eEM24L',
26  'HLT_g22_tight_ringer_L1eEM18M' : 'HLT_g20_tight_ringer_L1eEM18M',
27  'HLT_g25_medium_ringer_L1eEM24L' : 'HLT_g25_loose_ringer_L1eEM24L',
28  'HLT_g35_medium_ringer_L1eEM24L' : 'HLT_g25_loose_ringer_L1eEM24L',
29  'HLT_g50_loose_ringer_L1eEM24L' : 'HLT_g25_loose_ringer_L1eEM24L'
30  }
31 
32  t0_tp = moniAccess.monitoredChains(signatures="egammaMon", monLevels=["t0_tp"])
33 
34  validationTP_electron_DNN = list(filter(lambda x: ('_dnn' in x), t0_tp ))
35  validation_electron = ['HLT_e25_etcut_L1eEM18M','HLT_e60_etcut_L1eEM26M']
36  validation_jpsi = list(filter(lambda x: ('_L1JPSI' in x), shifter_topo ))
37  validationTP_jpsiee = ['HLT_e10_lhvloose_L1eEM9']
38 
39  monitoring_topo = []
40  mongroups = {
41  'monitoring_electron' : monitoring_electron,
42  'monitoring_photon' : monitoring_photon ,
43  'monitoring_bootstrap' : monitoring_bootstrap,
44  'monitoringTP_electron' : monitoringTP_electron + ['HLT_e26_lhtight_L1eEM26M'],
45  'monitoring_tags' : monitoring_tags,
46  'monitoring_topo' : monitoring_topo,
47  }
48 
49  if data_type is DQDataType.MC:
50 
51  mongroups['validation_electron'] = validation_electron
52  mongroups['validation_photon'] = monitoring_photon
53  mongroups['validation_jpsi'] = validation_jpsi
54  mongroups['validationTP_jpsiee'] = validationTP_jpsiee
55  mongroups['validationTP_electron_DNN'] = validationTP_electron_DNN
56 
57 
58  elif data_type is DQDataType.HeavyIon:
59  mongroups['monitoring_electron_hi'] = ['HLT_e15_etcut_ion_L1eEM15','HLT_e30_etcut_ion_L1eEM26','HLT_e15_lhloose_nogsf_ion_L1eEM15','HLT_e15_loose_nogsf_ion_L1eEM15']
60  mongroups['monitoring_electron_TP_hi'] = ['HLT_e20_lhloose_nogsf_ion_L1eEM18','HLT_e20_loose_nogsf_ion_L1eEM18']
61  mongroups['monitoring_photon_hi'] = ['HLT_g15_loose_ion_L1eEM12','HLT_g20_etcut_ion_L1eEM15','HLT_g50_loose_ion_L1eEM26']
62  mongroups['monitoring_bootstrap_hi'] = {'HLT_g18_etcut_ion_L1eEM12' : 'HLT_g18_etcut_ion_L1eEM12'}
63 
64  elif data_type is DQDataType.Cosmics:
65  monitoring_electron_cosmic=['HLT_e5_etcut_L1eEM5']
66  monitoring_photon_cosmic=['HLT_g3_etcut_LArPEB_L1eEM5']
67  monitoring_bootstrap_cosmic = {'HLT_g3_etcut_LArPEB_L1eEM5' : 'HLT_g3_etcut_LArPEB_L1eEM5'}
68 
69  mongroups['monitoring_electron_cosmic'] = monitoring_electron_cosmic
70  mongroups['monitoring_photon_cosmic'] = monitoring_photon_cosmic
71  mongroups['monitoring_bootstrap_cosmic'] = monitoring_bootstrap_cosmic
72 
73  return mongroups
74 
75 # Topolological chains - monitoring configuration
76 topo_config = {
77  'Zee' : {'mass':(50 , 130) , 'dphi':(1.5, 5) },
78  'Jpsiee': {'mass':( 1 , 5) , 'dphi':(1.5, 5) },
79  'Heg' : {'mass':(90 , 140) , 'dphi':(1.5, 5) },
80  }
81 
82 
86 
87 primary_single_ele = [
88  'HLT_e26_lhtight_ivarloose_L1eEM26M',
89  'HLT_e26_lhtight_ivarloose_L1eEM26T',
90  'HLT_e28_lhtight_ivarloose_L1eEM28M',
91  'HLT_e60_lhmedium_L1eEM26M',
92  'HLT_e140_lhloose_L1eEM26M']
93 
94 primary_double_pho = [
95  'HLT_2g22_tight_L12eEM18M',
96  'HLT_g35_medium_g25_medium_L12eEM24L',
97  'HLT_2g50_loose_L12eEM24L',
98  ]
99 
100 monitoring_Zee = ['HLT_e26_lhtight_e14_etcut_probe_50invmAB130_L1eEM26M',
101  'HLT_e26_lhtight_e14_etcut_L1eEM26M',
102  'HLT_e26_lhtight_e14_etcut_probe_50invmAB130_L1eEM26M',
103  'HLT_e26_lhtight_e14_etcut_L1eEM26M'
104  ] + primary_single_ele
105 
106 monitoring_Jpsiee = [
107  'HLT_e5_lhtight_e9_etcut_1invmAB5_L1JPSI-1M5-eEM9',
108  'HLT_e5_lhtight_e14_etcut_1invmAB5_L1JPSI-1M5-eEM15',
109  'HLT_e9_lhtight_e4_etcut_1invmAB5_L1JPSI-1M5-eEM9',
110  'HLT_e14_lhtight_e4_etcut_1invmAB5_L1JPSI-1M5-eEM15',
111  'HLT_e10_lhvloose_L1eEM9',
112  'HLT_e14_lhvloose_L1eEM12L'
113  ]
covarianceTool.filter
filter
Definition: covarianceTool.py:514
python.TrigEgammaMonitCategory.mongroupsCfg
def mongroupsCfg(moniAccess, data_type)
Definition: TrigEgammaMonitCategory.py:8
histSizes.list
def list(name, path='/')
Definition: histSizes.py:38