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  monitoring_electron_hi=['HLT_e13_etcut_ion_L1eEM12L','HLT_e15_lhmedium_nogsf_ion_L1eEM15']
60  monitoring_photon_hi=['HLT_g13_etcut_ion_L1eEM12L','HLT_g15_loose_ion_L1eEM15']
61  monitoring_bootstrap_hi = {'HLT_g18_etcut_L1EM10' : 'HLT_g18_etcut_L1EM10'}
62 
63  mongroups['monitoring_electron_hi'] = monitoring_electron_hi + monitoring_electron
64  mongroups['monitoring_photon_hi'] = monitoring_photon_hi + monitoring_photon
65  mongroups['monitoring_bootstrap_hi'] = monitoring_bootstrap_hi
66 
67  elif data_type is DQDataType.Cosmics:
68  monitoring_electron_cosmic=['HLT_e5_etcut_L1eEM5']
69  monitoring_photon_cosmic=['HLT_g3_etcut_LArPEB_L1eEM5']
70  monitoring_bootstrap_cosmic = {'HLT_g3_etcut_LArPEB_L1eEM5' : 'HLT_g3_etcut_LArPEB_L1eEM5'}
71 
72  mongroups['monitoring_electron_cosmic'] = monitoring_electron_cosmic
73  mongroups['monitoring_photon_cosmic'] = monitoring_photon_cosmic
74  mongroups['monitoring_bootstrap_cosmic'] = monitoring_bootstrap_cosmic
75 
76  return mongroups
77 
78 # Topolological chains - monitoring configuration
79 topo_config = {
80  'Zee' : {'mass':(50 , 130) , 'dphi':(1.5, 5) },
81  'Jpsiee': {'mass':( 1 , 5) , 'dphi':(1.5, 5) },
82  'Heg' : {'mass':(90 , 140) , 'dphi':(1.5, 5) },
83  }
84 
85 
89 
90 primary_single_ele = [
91  'HLT_e26_lhtight_ivarloose_L1eEM26M',
92  'HLT_e26_lhtight_ivarloose_L1eEM26T',
93  'HLT_e28_lhtight_ivarloose_L1eEM28M',
94  'HLT_e60_lhmedium_L1eEM26M',
95  'HLT_e140_lhloose_L1eEM26M']
96 
97 primary_double_pho = [
98  'HLT_2g22_tight_L12eEM18M',
99  'HLT_g35_medium_g25_medium_L12eEM24L',
100  'HLT_2g50_loose_L12eEM24L',
101  ]
102 
103 monitoring_Zee = ['HLT_e26_lhtight_e14_etcut_probe_50invmAB130_L1eEM26M',
104  'HLT_e26_lhtight_e14_etcut_L1eEM26M',
105  'HLT_e26_lhtight_e14_etcut_probe_50invmAB130_L1eEM26M',
106  'HLT_e26_lhtight_e14_etcut_L1eEM26M'
107  ] + primary_single_ele
108 
109 monitoring_Jpsiee = [
110  'HLT_e5_lhtight_e9_etcut_1invmAB5_L1JPSI-1M5-eEM9',
111  'HLT_e5_lhtight_e14_etcut_1invmAB5_L1JPSI-1M5-eEM15',
112  'HLT_e9_lhtight_e4_etcut_1invmAB5_L1JPSI-1M5-eEM9',
113  'HLT_e14_lhtight_e4_etcut_1invmAB5_L1JPSI-1M5-eEM15',
114  'HLT_e10_lhvloose_L1eEM9',
115  'HLT_e14_lhvloose_L1eEM12L'
116  ]
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