ATLAS Offline Software
Loading...
Searching...
No Matches
ItemDefRun4.py
Go to the documentation of this file.
1#!/usr/bin/env python
2# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3#
4# Disable flake8 checking due to the use of 'exec':
5# flake8: noqa
6#
7
8from AthenaCommon.Logging import logging
9log = logging.getLogger(__name__)
10
11# The trigger types
12from ..Base.L1MenuRun4 import MenuMetaInfo
13from ..Base.Items import MenuItem
14from .TriggerTypeDef import TT
15from .ItemDef import ItemDef as ItemDefRun3
16
17class ItemDef:
18
19 @staticmethod
20 def threshold_conditions(tc) -> type:
21 d = ItemDefRun3.threshold_conditions(tc)
22
23 # bunchgroup-based conditions masks
24 d.physcond = d.BGRP0 & d.BGRP1
25 d.calibcond = d.BGRP0 & d.BGRP2
26 d.cosmiccond = d.BGRP0 & d.BGRP3
27 d.unpaired_isocond = d.BGRP0 & d.BGRP4 # unpaired isolated (satellite bunches)
28 d.unpaired_nonisocond = d.BGRP0 & d.BGRP5 # unpaired non-isolated (parasitic bunches)
29 d.firstempty = d.BGRP0 & d.BGRP6
30 d.bgrp7cond = d.BGRP0 & d.BGRP7 # No unpaired anymore
31 d.bgrp9cond = d.BGRP0 & d.BGRP9
32 d.bgrp11cond = d.BGRP0 & d.BGRP11
33 d.bgrp12cond = d.BGRP0 & d.BGRP12
34 d.bgrp13cond = d.BGRP0 & d.BGRP13 #UNPAIREDB1
35 d.bgrp14cond = d.BGRP0 & d.BGRP14 #UNPAIREDB2
36 d.bgrp10cond = d.BGRP0 & d.BGRP10
37 d.firstintrain = d.BGRP0 & d.BGRP8
38 d.physcond_or_unpaired_isocond = d.BGRP0 & (d.BGRP1 | d.BGRP4)
39 return d
40
41 @staticmethod
42 def registerItems(tc, menuInfo: MenuMetaInfo):
43 if menuInfo.run != 4:
44 return
45
46 menuName = menuInfo.menuBaseName
47
48 # Phase-II
49 d = ItemDef.threshold_conditions(tc)
50
51 ItemDefRun3.registerRequiredItems(d, menuName)
52
53 log.info("Adding extra run4 L1 items")
54
55 MenuItem('L1_eEM10L_MU8F' ).setLogic( d.eEM10L & d.MU8F & d.physcond).setTriggerType(TT.muon)
56 MenuItem('L1_MU5VF_cTAU30M' ).setLogic( d.MU5VF & d.cTAU30M & d.physcond).setTriggerType(TT.calo)
57 MenuItem('L1_3jJ40' ).setLogic( d.jJ40.x(3) & d.physcond).setTriggerType(TT.calo)
58 MenuItem('L1_eEM20M' ).setLogic( d.eEM20M & d.physcond).setTriggerType(TT.calo)
59 MenuItem('L1_eEM24M' ).setLogic( d.eEM24M & d.physcond).setTriggerType(TT.calo)
60
61 # HL-LHC TDR inspired
62 MenuItem('L1_eEM10L_MU5VF').setLogic( d.eEM10L & d.MU5VF & d.physcond).setTriggerType(TT.muon)
63 MenuItem('L1_jJ70' ).setLogic( d.jJ70 & d.physcond).setTriggerType(TT.calo)
64 MenuItem('L1_3jJ70' ).setLogic( d.jJ70.x(3) & d.physcond).setTriggerType(TT.calo)
65 MenuItem('L1_2jJ70_jXE80' ).setLogic( d.jJ70.x(2) & d.jXE80 & d.physcond).setTriggerType(TT.calo)