From 51e0f99b12d3c915954cbde34fe7e93584f88f92 Mon Sep 17 00:00:00 2001 From: Lidija Zivkovic <lidija.zivkovic@cern.ch> Date: Wed, 5 Aug 2020 07:33:53 +0000 Subject: [PATCH] ATR-21624 - adaptin L1 including L1topo in such a way that v8 and new ideas are propageted to master --- .../LVL1MenuConfig/L1TopoMenu/Menu_LS2_v1.py | 251 +-- .../LVL1MenuConfig/L1TopoMenu/TopoAlgoDef.py | 1815 ++++++++--------- .../python/LVL1MenuConfig/LVL1Menu/ItemDef.py | 48 +- .../LVL1MenuConfig/LVL1Menu/Menu_LS2_v1.py | 1388 ++++--------- .../LVL1MenuConfig/LVL1Menu/ThresholdDef.py | 69 +- 5 files changed, 1489 insertions(+), 2082 deletions(-) diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/LVL1MenuConfig/L1TopoMenu/Menu_LS2_v1.py b/Trigger/TriggerCommon/TriggerMenuMT/python/LVL1MenuConfig/L1TopoMenu/Menu_LS2_v1.py index 02f114a943d..76f404101f7 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/LVL1MenuConfig/L1TopoMenu/Menu_LS2_v1.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/LVL1MenuConfig/L1TopoMenu/Menu_LS2_v1.py @@ -1,4 +1,4 @@ -# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration def defineMenu(): """ @@ -8,199 +8,80 @@ def defineMenu(): """ + from ..L1Topo.L1TopoFlags import L1TopoFlags from ..L1Topo.TopoOutput import TopoOutput - from TriggerJobOpts.TriggerFlags import TriggerFlags - - # if this flag is True for mc v7: produce xml with full v7 menu - # if this flag is False for physics v7: produce xml with v7 new items removed, so to match with FW - mcv7_flag = True - - if 'Physics_pp_v7' in TriggerFlags.triggerMenuSetup() or 'Physics_pp_v6' in TriggerFlags.triggerMenuSetup() or 'HI' in TriggerFlags.triggerMenuSetup(): - mcv7_flag = False - - newalgos_onlyinv6 = [ -# TopoOutput( algoname='15MINDPHI-EM12s6-XE0', module=0, fpga=0, clock=1, firstbit=14 ),#v6n -# TopoOutput( algoname='15MINDPHI-EM15s6-XE0', module=0, fpga=0, clock=1, firstbit=15 ),#v6n -# TopoOutput( algoname='35MT-EM12s6-XE0', module=0, fpga=0, clock=1, firstbit=13 ),#v6n -# TopoOutput( algoname='DISAMB-0DR28-EM15his2-TAU12abi', module=0, fpga=1, clock=0, firstbit=15 ),#v6n -# TopoOutput( algoname='LATE-MU10s1', module=1, fpga=0, clock=1, firstbit=10 ),#v6n -# TopoOutput( algoname='SC111-CJ15ab.ETA26', module=1, fpga=1, clock=0, firstbit=11 ),#v6n -# TopoOutput( algoname='SC85-CJ15ab.ETA26', module=1, fpga=1, clock=0, firstbit=12 ),#v6n -# TopoOutput( algoname='10MINDPHI-AJ20s2-XE50', module=1, fpga=0, clock=1, firstbit=9 ),#v6n - -# TopoOutput( algoname='0DR22-2MU6ab', module=1, fpga=0, clock=0, firstbit=10 ),#v6diff -# TopoOutput( algoname='7INVM15-2MU4ab', module=0, fpga=1, clock=0, firstbit=5 ),#v6diff -# TopoOutput( algoname='0DR22-MU6ab-MU4ab', module=1, fpga=1, clock=1, firstbit=10 ), #v6diff - # TopoOutput( algoname='0DR15-2MU4ab', module=1, fpga=0, clock=1, firstbit=0 ), #v6diff - # TopoOutput( algoname='0DR24-2MU4ab', module=1, fpga=0, clock=1, firstbit=2 ),#v6diff -# TopoOutput( algoname='INVM_EMs6', module=0, fpga=0, clock=0, firstbit=11 ), # 3bits -# TopoOutput( algoname='100RATIO-0MATCH-TAU30si2-EMall', module=0, fpga=0, clock=1, firstbit=7 ), +# from TriggerJobOpts.TriggerFlags import TriggerFlags -# TopoOutput( algoname='2INVM9-2MU4ab', module=0, fpga=1, clock=1, firstbit=2 ), #v6 new -# TopoOutput( algoname='2INVM9-MU6ab-MU4ab', module=0, fpga=1, clock=1, firstbit=3 ), #v6 new -# TopoOutput( algoname='0DR25-TAU20abi-TAU12abi', module=0, fpga=1, clock=0, firstbit=14 ), #v6 new -# TopoOutput( algoname='1DISAMB-J25ab-0DR25-TAU20abi-TAU12abi', module=1, fpga=0, clock=1, firstbit=8 ), #v6 new -# TopoOutput( algoname='0DR15-2MU6ab', module=1, fpga=0, clock=1, firstbit=11 ), #v6 new -# TopoOutput( algoname='10MINDPHI-J20s2-XE30', module=1, fpga=0, clock=1, firstbit=12 ), #v6 new -# TopoOutput( algoname='DISAMB-30INVM-EM20his2-TAU12ab', module=0, fpga=1, clock=1, firstbit=0 ), #v6 new -# TopoOutput( algoname='400INVM9999-AJ30s6.ETA31-AJ20s6.31ETA49', module=0, fpga=1, clock=1, firstbit=1 ), #v6 new - ] - - newalgos_onlyinv5 = [ -# TopoOutput( algoname='2DR15-CMU6ab-CMU4ab', module=1, fpga=0, clock=0, firstbit=10 ),#v6diff -# TopoOutput( algoname='4INVM8-ONEBARREL-MU6ab-MU4ab', module=0, fpga=1, clock=0, firstbit=5 ),#v6diff -# TopoOutput( algoname='2DR15-ONEBARREL-MU6ab-MU4ab', module=1, fpga=1, clock=1, firstbit=10 ), #v6diff -# TopoOutput( algoname='2INVM999-CMU6ab-CMU4ab', module=1, fpga=0, clock=1, firstbit=0 ), #v6diff -# TopoOutput( algoname='4INVM8-CMU6ab-CMU4ab', module=1, fpga=0, clock=1, firstbit=2 ),#v6diff -# TopoOutput( algoname='INVM_EMall', module=0, fpga=0, clock=0, firstbit=11 ), # 3bits -# TopoOutput( algoname='210RATIO-0MATCH-TAU30si2-EMall', module=0, fpga=0, clock=1, firstbit=7 ), - ] L1TopoFlags.algos = [ + # module: 0, FPGA: 0 - TopoOutput( algoname='INVM_AJ_HighMass', module=0, fpga=0, clock=0, firstbit=0 ), # need 4bits - TopoOutput( algoname='INVM_AJ_LowMass', module=0, fpga=0, clock=0, firstbit=4 ), # 4 bits - TopoOutput( algoname='HT150-J20s5.ETA31', module=0, fpga=0, clock=0, firstbit=9 ), - TopoOutput( algoname='HT190-J15s5.ETA21', module=0, fpga=0, clock=0, firstbit=10 ), - TopoOutput( algoname='05MINDPHI-EM12s6-XE0', module=0, fpga=0, clock=0, firstbit=14 ),#v6 -# TopoOutput( algoname='10MINDPHI-EM12s6-XE0', module=0, fpga=0, clock=0, firstbit=15 ),#v6 - TopoOutput( algoname='05MINDPHI-EM15s6-XE0', module=0, fpga=0, clock=1, firstbit=0 ), - TopoOutput( algoname='25MT-EM12s6-XE0', module=0, fpga=0, clock=1, firstbit=1 ),#v6 -# TopoOutput( algoname='30MT-EM12s6-XE0', module=0, fpga=0, clock=1, firstbit=2 ),#v6 - TopoOutput( algoname='35MT-EM15s6-XE0', module=0, fpga=0, clock=1, firstbit=3 ), -# TopoOutput( algoname='0DETA10-Js1-Js2', module=0, fpga=0, clock=1, firstbit=4 ), -# TopoOutput( algoname='10MINDPHI-Js2-XE50', module=0, fpga=0, clock=1, firstbit=5 ), - TopoOutput( algoname='10MINDPHI-J20s2-XE50', module=0, fpga=0, clock=1, firstbit=6 ), - TopoOutput( algoname='100RATIO-0MATCH-TAU30si2-EMall', module=0, fpga=0, clock=1, firstbit=7 ), - TopoOutput( algoname='NOT-0MATCH-TAU30si2-EMall', module=0, fpga=0, clock=1, firstbit=8 ), - TopoOutput( algoname='LAR-EM50s1', module=0, fpga=0, clock=1, firstbit=9 ), - TopoOutput( algoname='LAR-J100s1', module=0, fpga=0, clock=1, firstbit=10 ), - TopoOutput( algoname='NOT-02MATCH-EM10s1-AJj15all.ETA49', module=0, fpga=0, clock=1, firstbit=11 ), -# TopoOutput( algoname='05RATIO-XE0-SUM0-EM10s1-HT0-AJj15all.ETA49', module=0, fpga=0, clock=1, firstbit=12 ), - TopoOutput( algoname='15MINDPHI-EM12s6-XE0', module=0, fpga=0, clock=1, firstbit=14 ),#v6n - TopoOutput( algoname='15MINDPHI-EM15s6-XE0', module=0, fpga=0, clock=1, firstbit=15 ),#v6n - TopoOutput( algoname='35MT-EM12s6-XE0', module=0, fpga=0, clock=1, firstbit=13 ),#v6n - - # module: 0, FPGA: 1 -# TopoOutput( algoname='1DISAMB-TAU20ab-J20ab', module=0, fpga=1, clock=0, firstbit=0 ), -# TopoOutput( algoname='DISAMB-EM15abhi-TAU12abi', module=0, fpga=1, clock=0, firstbit=1 ), - TopoOutput( algoname='1DISAMB-EM15his2-TAU12abi-J25ab', module=0, fpga=1, clock=0, firstbit=2 ), - TopoOutput( algoname='1DISAMB-J25ab-0DR28-EM15his2-TAU12abi', module=0, fpga=1, clock=0, firstbit=3 ), -# TopoOutput( algoname='4INVM8-2MU6ab', module=0, fpga=1, clock=0, firstbit=4 ), - TopoOutput( algoname='2INVM9-2MU6ab', module=0, fpga=1, clock=0, firstbit=4 ),#v6 -# TopoOutput( algoname='2INVM999-ONEBARREL-MU6ab-MU4ab', module=0, fpga=1, clock=0, firstbit=5 ), -# TopoOutput( algoname='4INVM8-ONEBARREL-MU6ab-MU4ab', module=0, fpga=1, clock=0, firstbit=6 ), - TopoOutput( algoname='2INVM8-ONEBARREL-MU6ab-MU4ab', module=0, fpga=1, clock=0, firstbit=6 ),#v6 -# TopoOutput( algoname='5DETA99-5DPHI99-2MU4ab', module=0, fpga=1, clock=0, firstbit=7 ), - TopoOutput( algoname='5DETA99-5DPHI99-MU6ab-MU4ab', module=0, fpga=1, clock=0, firstbit=8 ), - TopoOutput( algoname='5DETA99-5DPHI99-2MU6ab', module=0, fpga=1, clock=0, firstbit=9 ), - TopoOutput( algoname='1DISAMB-TAU20abi-TAU12abi-J25ab', module=0, fpga=1, clock=0, firstbit=10 ), - TopoOutput( algoname='0DR28-MU10ab-TAU12abi', module=0, fpga=1, clock=0, firstbit=11 ), - TopoOutput( algoname='0DETA20-0DPHI20-TAU20abi-TAU12abi', module=0, fpga=1, clock=0, firstbit=12 ), -# TopoOutput( algoname='DISAMB-EM15abhi-TAU40ab', module=0, fpga=1, clock=0, firstbit=13 ), - TopoOutput( algoname='DISAMB-0DR28-EM15his2-TAU12abi', module=0, fpga=1, clock=0, firstbit=15 ),#v6n + TopoOutput( algoname='0DR25-TAU20abi-TAU12abi', module=0, fpga=0, clock=0, firstbit=0 ), + TopoOutput( algoname='0DR28-TAU20abi-TAU12abi', module=0, fpga=0, clock=0, firstbit=1 ), + TopoOutput( algoname='2DISAMB-J25ab-0DR25-TAU20abi-TAU12abi', module=0, fpga=0, clock=0, firstbit=2 ), + TopoOutput( algoname='2DISAMB-J25ab-0DR28-TAU20abi-TAU12abi', module=0, fpga=0, clock=0, firstbit=3 ), + TopoOutput( algoname='INVM_DPHI_NFF', module=0, fpga=0, clock=0, firstbit=4 ), # 4 bits + TopoOutput( algoname='0INVM10-3MU4ab', module=0, fpga=0, clock=0, firstbit=9 ), - TopoOutput( algoname='DISAMB-30INVM-EM20his2-TAU12ab', module=0, fpga=1, clock=1, firstbit=0 ), #v6 new - TopoOutput( algoname='400INVM9999-AJ30s6.ETA31-AJ20s6.31ETA49', module=0, fpga=0, clock=0, firstbit=15 ), #v6 new - TopoOutput( algoname='0DR22-2MU6ab', module=0, fpga=1, clock=1, firstbit=4 ),#v6 - TopoOutput( algoname='7INVM15-2MU4ab', module=0, fpga=1, clock=1, firstbit=5 ),#v6 - TopoOutput( algoname='0DR22-MU6ab-MU4ab', module=0, fpga=1, clock=1, firstbit=6 ),#v6 - TopoOutput( algoname='0DR15-2MU4ab', module=0, fpga=1, clock=1, firstbit=7 ),#v6 - TopoOutput( algoname='0DR24-2MU4ab', module=0, fpga=1, clock=1, firstbit=8 ),#v6 - TopoOutput( algoname='0DR15-2MU6ab', module=0, fpga=1, clock=1, firstbit=9 ), #v6 new - TopoOutput( algoname='2INVM9-2MU4ab', module=0, fpga=1, clock=1, firstbit=10 ), #v6 new - TopoOutput( algoname='2INVM9-MU6ab-MU4ab', module=0, fpga=1, clock=1, firstbit=11 ), #v6 new - TopoOutput( algoname='INVM_EMs6', module=0, fpga=0, clock=0, firstbit=11 ), # 3bits - - # module: 1, FPGA: 0 - TopoOutput( algoname='05MINDPHI-AJj10s6-XE0', module=1, fpga=0, clock=0, firstbit=0 ),#v6 - TopoOutput( algoname='10MINDPHI-AJj10s6-XE0', module=1, fpga=0, clock=0, firstbit=1 ),#v6 - TopoOutput( algoname='15MINDPHI-AJj10s6-XE0', module=1, fpga=0, clock=0, firstbit=2 ),#v6 - TopoOutput( algoname='0DR04-MU4ab-CJ15ab', module=1, fpga=0, clock=0, firstbit=3 ), - TopoOutput( algoname='0DR04-MU4ab-CJ20ab', module=1, fpga=0, clock=0, firstbit=4 ), - TopoOutput( algoname='0DR04-MU4ab-CJ30ab', module=1, fpga=0, clock=0, firstbit=5 ), - TopoOutput( algoname='0DR04-MU6ab-CJ20ab', module=1, fpga=0, clock=0, firstbit=6 ), - TopoOutput( algoname='0DR04-MU6ab-CJ25ab', module=1, fpga=0, clock=0, firstbit=7 ), - TopoOutput( algoname='10MINDPHI-CJ20ab-XE50', module=1, fpga=0, clock=0, firstbit=8 ), -# TopoOutput( algoname='2DR15-2CMU4ab', module=1, fpga=0, clock=0, firstbit=9 ), - TopoOutput( algoname='0DR24-2CMU4ab', module=1, fpga=0, clock=0, firstbit=9 ),#v6 -# TopoOutput( algoname='2DR15-CMU6ab-CMU4ab', module=1, fpga=0, clock=0, firstbit=10 ), - TopoOutput( algoname='MULT-CMU4ab', module=1, fpga=0, clock=0, firstbit=11 ), # 2bits - TopoOutput( algoname='MULT-CMU6ab', module=1, fpga=0, clock=0, firstbit=13 ), # 2bits -# TopoOutput( algoname='2INVM999-2CMU4ab', module=1, fpga=0, clock=0, firstbit=15 ), -# TopoOutput( algoname='1INVM19-2CMU4ab', module=1, fpga=0, clock=0, firstbit=15 ),#v6 -# TopoOutput( algoname='2INVM999-CMU6ab-CMU4ab', module=1, fpga=0, clock=1, firstbit=0 ), -# TopoOutput( algoname='4INVM8-2CMU4ab', module=1, fpga=0, clock=1, firstbit=1 ), -# TopoOutput( algoname='2INVM8-2CMU4ab', module=1, fpga=0, clock=1, firstbit=1 ),#v6 -# TopoOutput( algoname='4INVM8-CMU6ab-CMU4ab', module=1, fpga=0, clock=1, firstbit=2 ), -# TopoOutput( algoname='0DETA04-0DPHI03-EM8abi-MU10ab', module=1, fpga=0, clock=1, firstbit=3 ), - TopoOutput( algoname='0DETA04-EM8abi-MU10ab', module=1, fpga=0, clock=1, firstbit=3 ), #ATR-14282 - TopoOutput( algoname='0DPHI03-EM8abi-MU10ab', module=1, fpga=0, clock=1, firstbit=6 ), - -# TopoOutput( algoname='0DETA04-0DPHI03-EM15abi-MUab', module=1, fpga=0, clock=1, firstbit=4 ), - TopoOutput( algoname='0DETA04-EM15abi-MUab', module=1, fpga=0, clock=1, firstbit=4 ), #ATR-14282 - TopoOutput( algoname='0DPHI03-EM15abi-MUab', module=1, fpga=0, clock=1, firstbit=8 ), - -# TopoOutput( algoname='2DR15-CMU4ab-MU4ab', module=1, fpga=0, clock=1, firstbit=5 ), - TopoOutput( algoname='0DR24-CMU4ab-MU4ab', module=1, fpga=0, clock=1, firstbit=5 ),#v6 -# TopoOutput( algoname='2INVM999-CMU4ab-MU4ab', module=1, fpga=0, clock=1, firstbit=6 ), -# TopoOutput( algoname='1INVM19-CMU4ab-MU4ab', module=1, fpga=0, clock=1, firstbit=6 ),#v6 -# TopoOutput( algoname='4INVM8-CMU4ab-MU4ab', module=1, fpga=0, clock=1, firstbit=7 ), - TopoOutput( algoname='2INVM8-CMU4ab-MU4ab', module=1, fpga=0, clock=1, firstbit=7 ),#v6 - - TopoOutput( algoname='0DR25-TAU20abi-TAU12abi', module=1, fpga=1, clock=1, firstbit=10 ), #v6 new - TopoOutput( algoname='10MINDPHI-AJ20s2-XE50', module=1, fpga=0, clock=1, firstbit=9 ),#v6n - TopoOutput( algoname='LATE-MU10s1', module=1, fpga=0, clock=1, firstbit=10 ),#v6n - TopoOutput( algoname='1DISAMB-J25ab-0DR25-TAU20abi-TAU12abi', module=1, fpga=1, clock=1, firstbit=11 ), #v6 new -# TopoOutput( algoname='0DR15-2MU6ab', module=1, fpga=0, clock=1, firstbit=11 ), #v6 new - TopoOutput( algoname='10MINDPHI-J20s2-XE30', module=0, fpga=0, clock=1, firstbit=5 ), #v6 new - - - # module: 1, FPGA: 1 - TopoOutput( algoname='KF-XE-AJall', module=1, fpga=1, clock=0, firstbit=0 ), # 6 bits - TopoOutput( algoname='0MATCH-4AJ20.ETA31-4AJj15.ETA31', module=1, fpga=1, clock=0, firstbit=6 ), - TopoOutput( algoname='HT190-AJ15all.ETA21', module=1, fpga=1, clock=0, firstbit=7 ), - TopoOutput( algoname='HT150-AJ20all.ETA31', module=1, fpga=1, clock=0, firstbit=8 ), - TopoOutput( algoname='HT150-AJj15all.ETA49', module=1, fpga=1, clock=0, firstbit=9 ), - TopoOutput( algoname='HT20-AJj15all.ETA49', module=1, fpga=1, clock=0, firstbit=10 ), - TopoOutput( algoname='SC111-CJ15ab.ETA26', module=1, fpga=0, clock=1, firstbit=11 ),#v6n - TopoOutput( algoname='SC85-CJ15ab.ETA26', module=1, fpga=0, clock=1, firstbit=12 ),#v6n - TopoOutput( algoname='05RATIO-XE0-HT0-AJj15all.ETA49', module=1, fpga=1, clock=0, firstbit=13 ), -# TopoOutput( algoname='08RATIO-XE0-HT0-AJj15all.ETA49', module=1, fpga=1, clock=0, firstbit=14 ), - TopoOutput( algoname='90RATIO2-XE0-HT0-AJj15all.ETA49', module=1, fpga=1, clock=0, firstbit=15 ), - TopoOutput( algoname='250RATIO2-XE0-HT0-AJj15all.ETA49', module=1, fpga=1, clock=1, firstbit=0 ), - TopoOutput( algoname='10MINDPHI-J20ab-XE50', module=1, fpga=1, clock=1, firstbit=1 ), - TopoOutput( algoname='0DR28-TAU20abi-TAU12abi', module=1, fpga=1, clock=1, firstbit=2 ), - TopoOutput( algoname='1DISAMB-J25ab-0DR28-TAU20abi-TAU12abi', module=1, fpga=1, clock=1, firstbit=3 ), - TopoOutput( algoname='1DISAMB-TAU12abi-J25ab', module=1, fpga=1, clock=1, firstbit=4 ), - TopoOutput( algoname='0DR10-MU10ab-MU6ab', module=1, fpga=1, clock=1, firstbit=5 ), - TopoOutput( algoname='2DR99-2MU4ab', module=1, fpga=1, clock=1, firstbit=6 ), -# TopoOutput( algoname='2DR15-2MU4ab', module=1, fpga=1, clock=1, firstbit=7 ), - TopoOutput( algoname='0DR34-2MU4ab', module=1, fpga=1, clock=1, firstbit=7 ), #v6 - TopoOutput( algoname='2DR15-2MU6ab', module=1, fpga=1, clock=1, firstbit=8 ), -# TopoOutput( algoname='2DR15-MU6ab-MU4ab', module=1, fpga=1, clock=1, firstbit=9 ), - TopoOutput( algoname='0DR15-MU6ab-MU4ab', module=1, fpga=1, clock=1, firstbit=9 ), #v6 -# TopoOutput( algoname='2DR15-ONEBARREL-MU6ab-MU4ab', module=1, fpga=1, clock=1, firstbit=10 ), -# TopoOutput( algoname='2INVM999-2MU4ab', module=1, fpga=1, clock=1, firstbit=11 ), -# TopoOutput( algoname='1INVM19-2MU4ab', module=1, fpga=1, clock=1, firstbit=11 ), #v6 -# TopoOutput( algoname='2INVM999-MU6ab-MU4ab', module=1, fpga=1, clock=1, firstbit=12 ), - TopoOutput( algoname='8INVM15-MU6ab-MU4ab', module=1, fpga=1, clock=1, firstbit=12 ), #v6 -# TopoOutput( algoname='2INVM999-2MU6ab', module=1, fpga=1, clock=1, firstbit=13 ), - TopoOutput( algoname='8INVM15-2MU6ab', module=1, fpga=1, clock=1, firstbit=13 ), #v6 -# TopoOutput( algoname='4INVM8-2MU4ab', module=1, fpga=1, clock=1, firstbit=14 ), - TopoOutput( algoname='2INVM8-2MU4ab', module=1, fpga=1, clock=1, firstbit=14 ), #v6 -# ATR-15197 TopoOutput( algoname='2INVM9-2MU4ab', module=1, fpga=1, clock=1, firstbit=14 ), #v6 -# TopoOutput( algoname='4INVM8-MU6ab-MU4ab', module=1, fpga=1, clock=1, firstbit=15 ), - TopoOutput( algoname='2INVM8-MU6ab-MU4ab', module=1, fpga=1, clock=1, firstbit=15 ), #v6 -# ATR-15197 TopoOutput( algoname='2INVM9-MU6ab-MU4ab', module=1, fpga=1, clock=1, firstbit=15 ), #v6 - ] + - if mcv7_flag: - L1TopoFlags.algos += newalgos_onlyinv6 - else: - L1TopoFlags.algos += newalgos_onlyinv5 + # module: 0, FPGA: 1 + TopoOutput( algoname='KF-XE-AJall', module=0, fpga=1, clock=0, firstbit=0 ), # 6 bits + TopoOutput( algoname='ZAFB_DPHI', module=0, fpga=1, clock=0, firstbit=6 ), # 2 bits + TopoOutput( algoname='CEP_CJ', module=0, fpga=1, clock=0, firstbit=8 ), # 2 bits + TopoOutput( algoname='INVM_EMs6', module=0, fpga=1, clock=0, firstbit=10 ), # 3bits to 2 bits + TopoOutput( algoname='27DPHI32-EMs1-EMs6', module=0, fpga=1, clock=0, firstbit=12 ), + + + # module: 1, FPGA: 0 + TopoOutput( algoname='HT190-J15s5.ETA21', module=1, fpga=0, clock=0, firstbit=0 ), + TopoOutput( algoname='0DR03-EM7ab-CJ15ab', module=1, fpga=0, clock=0, firstbit=1 ), + TopoOutput( algoname='INVM_NFF', module=1, fpga=0, clock=0, firstbit=2 ), # 4 bits to 1 bit + TopoOutput( algoname='INVM_AJ_HighMass', module=1, fpga=0, clock=0, firstbit=3 ), # 4bits to 1 bit + TopoOutput( algoname='INVM_AJ_LowMass', module=1, fpga=0, clock=0, firstbit=4 ), # 4 bits to 1 bit + TopoOutput( algoname='HT150-J20s5.ETA31', module=1, fpga=0, clock=0, firstbit=5 ), + TopoOutput( algoname='400INVM9999-AJ30s6.ETA31-AJ20s6.31ETA49', module=1, fpga=0, clock=0, firstbit=6 ), + TopoOutput( algoname='10MINDPHI-J20s2-XE30', module=1, fpga=0, clock=0, firstbit=7 ), + TopoOutput( algoname='10MINDPHI-J20s2-XE50', module=1, fpga=0, clock=0, firstbit=8 ), + TopoOutput( algoname='SC111-CJ15ab.ETA26', module=1, fpga=0, clock=0, firstbit=9 ), + TopoOutput( algoname='0DETA20-J50s1-Js2', module=1, fpga=0, clock=0, firstbit=10 ), + TopoOutput( algoname='2DISAMB-J25ab-0DR28-EM15his2-TAU12abi', module=1, fpga=0, clock=0, firstbit=11 ), + TopoOutput( algoname='0INVM9-EM7ab-EMab', module=1, fpga=0, clock=0, firstbit=12 ), + TopoOutput( algoname='2DISAMB-TAU12abi-J25ab', module=1, fpga=0, clock=0, firstbit=13 ), + + # module: 1, FPGA: 1 + + TopoOutput( algoname='DISAMB-30INVM-EM20his2-TAU12ab', module=1, fpga=1, clock=0, firstbit=0 ), + TopoOutput( algoname='100RATIO-0MATCH-TAU30si2-EMall', module=1, fpga=1, clock=0, firstbit=1 ), + TopoOutput( algoname='NOT-0MATCH-TAU30si1-EMall', module=1, fpga=1, clock=0, firstbit=2 ), + TopoOutput( algoname='LATE-MU10s1', module=1, fpga=1, clock=0, firstbit=3 ), + TopoOutput( algoname='MULT-CMU4ab', module=1, fpga=1, clock=0, firstbit=4 ),#2bits + TopoOutput( algoname='MULT-CMU6ab', module=1, fpga=1, clock=0, firstbit=6 ),#2bits + TopoOutput( algoname='0DR15-2MU6ab', module=1, fpga=1, clock=0, firstbit=8 ), + TopoOutput( algoname='8INVM15-0DR22-2MU6ab', module=1, fpga=1, clock=0, firstbit=9 ), + + TopoOutput( algoname='8INVM15-0DR22-MU6ab-MU4ab', module=1, fpga=1, clock=1, firstbit=0 ), + TopoOutput( algoname='2INVM9-0DR15-MU6ab-MU4ab', module=1, fpga=1, clock=1, firstbit=1 ), + TopoOutput( algoname='2INVM9-0DR15-2MU4ab', module=1, fpga=1, clock=1, firstbit=2 ), + TopoOutput( algoname='2INVM9-2DR15-2MU6ab', module=1, fpga=1, clock=1, firstbit=3 ), + TopoOutput( algoname='5DETA99-5DPHI99-2MU4ab', module=1, fpga=1, clock=1, firstbit=4 ), + TopoOutput( algoname='5DETA99-5DPHI99-MU6ab-MU4ab', module=1, fpga=1, clock=1, firstbit=5 ), + TopoOutput( algoname='5DETA99-5DPHI99-2MU6ab', module=1, fpga=1, clock=1, firstbit=6 ), + TopoOutput( algoname='0DETA04-EM8abi-MU10ab', module=1, fpga=1, clock=1, firstbit=7 ), + TopoOutput( algoname='0DPHI03-EM8abi-MU10ab', module=1, fpga=1, clock=1, firstbit=8 ), +#maybe for combination part next two can be useful + TopoOutput( algoname='0DETA04-EM15abi-MUab', module=1, fpga=1, clock=1, firstbit=9 ), + TopoOutput( algoname='0DPHI03-EM15abi-MUab', module=1, fpga=1, clock=1, firstbit=10 ), + TopoOutput( algoname='0INVM70-27DPHI32-EM10his1-EM10his6', module=1, fpga=1, clock=1, firstbit=11 ), + TopoOutput( algoname='0INVM70-27DPHI32-EM12his1-EM12his6', module=1, fpga=1, clock=1, firstbit=12 ), + TopoOutput( algoname='0INVM10-0DR15-EM8abi-MU10ab', module=1, fpga=1, clock=1, firstbit=13 ), + TopoOutput( algoname='0INVM10-0DR15-EM12abi-MU6ab', module=1, fpga=1, clock=1, firstbit=14 ), + TopoOutput( algoname='8INVM15-2CMU4ab', module=1, fpga=1, clock=1, firstbit=15 ), + + ] + diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/LVL1MenuConfig/L1TopoMenu/TopoAlgoDef.py b/Trigger/TriggerCommon/TriggerMenuMT/python/LVL1MenuConfig/L1TopoMenu/TopoAlgoDef.py index c2643edc0f1..219dd755baa 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/LVL1MenuConfig/L1TopoMenu/TopoAlgoDef.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/LVL1MenuConfig/L1TopoMenu/TopoAlgoDef.py @@ -15,31 +15,26 @@ import L1TopoHardware.L1TopoHardware as HW class TopoAlgoDef(object): - + @staticmethod def registerTopoAlgos(tm): currentAlgoId = 0 - + _etamax = 49 _minet = 0 - usev7 = False - - if '_v7' in TriggerFlags.triggerMenuSetup(): - usev7 = True - if 'LS2_v' in TriggerFlags.triggerMenuSetup() or 'run3_v1' in TriggerFlags.triggerMenuSetup(): - usev7 = True - + _emscale_for_decision = 2 # global scale for EM, TAU if hasattr(TriggerFlags, 'useRun1CaloEnergyScale'): if TriggerFlags.useRun1CaloEnergyScale : _emscale_for_decision=1 - log.info("Changed mscale_for_decision %s for Run1CaloEnergyScale", _emscale_for_decision) + log.info("Changed mscale_for_decision %s for Run1CaloEnergyScale" % _emscale_for_decision) alg = AlgConf.ClusterNoSort( name = 'EMall', inputs = 'ClusterTobArray', outputs = 'EMall', algoId = currentAlgoId) ; currentAlgoId += 1 alg.addgeneric('InputWidth', HW.InputWidthEM) alg.addgeneric('OutputWidth', HW.InputWidthEM) alg.addvariable('IsoMask', 0) tm.registerAlgo(alg) + alg = AlgConf.ClusterSelect( name = 'TAUabi', inputs = 'ClusterTobArray', outputs = 'TAUabi', algoId = currentAlgoId ); currentAlgoId += 1 alg.addgeneric('InputWidth', HW.InputWidthTAU) @@ -52,6 +47,7 @@ class TopoAlgoDef(object): alg.addgeneric('DoIsoCut', 1) tm.registerAlgo(alg) + alg = AlgConf.ClusterSelect( name = 'EMabi', inputs = 'ClusterTobArray', outputs = 'EMabi', algoId = currentAlgoId ); currentAlgoId += 1 alg.addgeneric('InputWidth', HW.InputWidthEM) alg.addgeneric('InputWidth1stStage', HW.InputWidth1stStageSelectEM ) @@ -63,6 +59,7 @@ class TopoAlgoDef(object): alg.addgeneric('DoIsoCut', 1) tm.registerAlgo(alg) + alg = AlgConf.ClusterSelect( name = 'EMabhi', inputs = 'ClusterTobArray', outputs = 'EMabhi', algoId = currentAlgoId ); currentAlgoId += 1 alg.addgeneric('InputWidth', HW.InputWidthEM) alg.addgeneric('InputWidth1stStage', HW.InputWidth1stStageSelectEM ) @@ -73,6 +70,7 @@ class TopoAlgoDef(object): alg.addvariable('MaxEta', _etamax) alg.addgeneric('DoIsoCut', 1) tm.registerAlgo(alg) + alg = AlgConf.ClusterSelect( name = 'TAUab', inputs = 'ClusterTobArray', outputs = 'TAUab', algoId = currentAlgoId ); currentAlgoId += 1 alg.addgeneric('InputWidth', HW.InputWidthTAU) @@ -85,6 +83,7 @@ class TopoAlgoDef(object): alg.addgeneric('DoIsoCut', 0) tm.registerAlgo(alg) + alg = AlgConf.ClusterSort( name = 'EMs', inputs = 'ClusterTobArray', outputs = 'EMs', algoId = currentAlgoId ); currentAlgoId += 1 alg.addgeneric('InputWidth', HW.InputWidthEM) alg.addgeneric('InputWidth1stStage', HW.InputWidth1stStageSortEM) @@ -95,6 +94,7 @@ class TopoAlgoDef(object): alg.addgeneric('DoIsoCut', '0') #alg.addgeneric('DoEtaCut', '1') tm.registerAlgo(alg) + alg = AlgConf.ClusterSort( name = 'EMshi', inputs = 'ClusterTobArray', outputs = 'EMshi', algoId = currentAlgoId ); currentAlgoId += 1 alg.addgeneric('InputWidth', HW.InputWidthEM) @@ -106,7 +106,8 @@ class TopoAlgoDef(object): alg.addgeneric('DoIsoCut', '1') #alg.addgeneric('DoEtaCut', '1') tm.registerAlgo(alg) - + + alg = AlgConf.ClusterSort( name = 'TAUsi', inputs = 'ClusterTobArray', outputs = 'TAUsi', algoId = currentAlgoId ); currentAlgoId += 1 alg.addgeneric('InputWidth', HW.InputWidthTAU) alg.addgeneric('InputWidth1stStage', HW.InputWidth1stStageSortTAU) @@ -117,6 +118,7 @@ class TopoAlgoDef(object): alg.addgeneric('DoIsoCut', '1') #alg.addgeneric('DoEtaCut', '1') tm.registerAlgo(alg) + alg = AlgConf.JetNoSort( name = 'AJall', inputs = 'JetTobArray', outputs = 'AJall', algoId = currentAlgoId ) ; currentAlgoId += 1 alg.addgeneric('InputWidth', HW.InputWidthJET) @@ -124,13 +126,16 @@ class TopoAlgoDef(object): alg.addgeneric('JetSize', HW.DefaultJetSize) tm.registerAlgo(alg) + alg = AlgConf.JetNoSort( name = 'AJjall', inputs = 'JetTobArray', outputs = 'AJjall', algoId = currentAlgoId ) ; currentAlgoId += 1 alg.addgeneric('InputWidth', HW.InputWidthJET) alg.addgeneric('OutputWidth', HW.InputWidthJET) alg.addgeneric('JetSize', 1 if HW.DefaultJetSize.value==2 else 2) tm.registerAlgo(alg) + # for 0MATCH-4AJ20-4AJj15 + alg = AlgConf.JetNoSortMatch( name = 'AJMatchall', inputs = 'JetTobArray', outputs = 'AJMatchall', algoId = currentAlgoId ) ; currentAlgoId += 1 alg.addgeneric('InputWidth', HW.InputWidthJET) alg.addgeneric('OutputWidth', HW.InputWidthJET) @@ -139,18 +144,21 @@ class TopoAlgoDef(object): alg.addvariable('MinET2', 20) # 8x8 tm.registerAlgo(alg) - # ab J lists: - for jet_type in ['J', 'CJ']: + for jet_type in ['J', 'CJ', 'FJ']: jetabseta = _etamax _minet = 25 + _mineta=0 if jet_type=='J': jetabseta = 31 _minet = 20 elif jet_type=='CJ': jetabseta = 26 _minet = 15 - + elif jet_type=='FJ': + _mineta = 31 + _minet = 15 + alg = AlgConf.JetSelect( name = jet_type+'ab', inputs = 'JetTobArray', outputs = jet_type+'ab', algoId = currentAlgoId ); currentAlgoId += 1 alg.addgeneric('InputWidth', HW.InputWidthJET) @@ -158,7 +166,7 @@ class TopoAlgoDef(object): alg.addgeneric('OutputWidth', HW.OutputWidthSelectJET) alg.addgeneric('JetSize', HW.DefaultJetSize.value) alg.addvariable('MinET', _minet) - alg.addvariable('MinEta', 0) + alg.addvariable('MinEta', _mineta) alg.addvariable('MaxEta', jetabseta) alg.addgeneric('DoEtaCut', 1) tm.registerAlgo(alg) @@ -173,17 +181,44 @@ class TopoAlgoDef(object): alg.addvariable('MaxEta', _etamax) alg.addgeneric('DoEtaCut', 0) tm.registerAlgo(alg) + + + #input list needed for ATR-18824 + alg = AlgConf.JetSort( name = 'FJjs23ETA49', inputs = 'JetTobArray', outputs = 'FJjs23ETA49', algoId = currentAlgoId); currentAlgoId += 1 + + alg.addgeneric('InputWidth', HW.InputWidthJET) + alg.addgeneric('InputWidth1stStage', HW.InputWidth1stStageSortJET ) + alg.addgeneric('OutputWidth', HW.OutputWidthSortJET ) + alg.addgeneric('JetSize', 1 if HW.DefaultJetSize.value==2 else 2) + alg.addvariable('MinEta', 23) + alg.addvariable('MaxEta', _etamax) + alg.addgeneric('DoEtaCut', 1) + tm.registerAlgo(alg) + + alg = AlgConf.JetSort( name = 'CJsETA21', inputs = 'JetTobArray', outputs = 'CJsETA21', algoId = currentAlgoId); currentAlgoId += 1 + alg.addgeneric('InputWidth', HW.InputWidthJET) + alg.addgeneric('InputWidth1stStage', HW.InputWidth1stStageSortJET ) + alg.addgeneric('OutputWidth', HW.OutputWidthSortJET ) + alg.addgeneric('JetSize', HW.DefaultJetSize.value) + alg.addvariable('MinEta', 0) + alg.addvariable('MaxEta', 21) + tm.registerAlgo(alg) + # Sorted J lists: - for jet_type in ['AJ']: + for jet_type in ['AJ', 'FJ']: jetabseta = _etamax _minet = 25 + _mineta = 0 if jet_type=='J': jetabseta = 31 _minet = 20 elif jet_type=='CJ': jetabseta = 26 _minet = 15 + elif jet_type=='FJ': + _mineta = 31 + _minet = 15 alg = AlgConf.JetSort( name = jet_type+'s', inputs = 'JetTobArray', outputs = jet_type+'s', algoId = currentAlgoId ); currentAlgoId += 1 @@ -191,12 +226,15 @@ class TopoAlgoDef(object): alg.addgeneric('InputWidth1stStage', HW.InputWidth1stStageSortJET ) alg.addgeneric('OutputWidth', HW.OutputWidthSortJET ) alg.addgeneric('JetSize', HW.DefaultJetSize.value) - alg.addvariable('MinEta', 0) + alg.addvariable('MinEta', _mineta) alg.addvariable('MaxEta', jetabseta) - alg.addgeneric('DoEtaCut', 0) + if jet_type=='FJ': + alg.addgeneric('DoEtaCut', 1) + else: + alg.addgeneric('DoEtaCut', 0) tm.registerAlgo(alg) - for jet_type in ['J']: + for jet_type in ['J','CJ']: jetabseta = _etamax _minet = 25 if jet_type=='J': @@ -217,18 +255,21 @@ class TopoAlgoDef(object): alg.addgeneric('DoEtaCut', 1) tm.registerAlgo(alg) + alg = AlgConf.METNoSort( name = 'XENoSort', inputs = 'MetTobArray', outputs = 'XENoSort', algoId = currentAlgoId ); currentAlgoId += 1 alg.addgeneric('InputWidth', HW.InputWidthMET) alg.addgeneric('OutputWidth', HW.OutputWidthMET) tm.registerAlgo(alg) + alg = AlgConf.MetSort( name = 'XE', inputs = 'MetTobArray', outputs = 'XE', algoId = currentAlgoId ); currentAlgoId += 1 alg.addgeneric('InputWidth', HW.InputWidthMET) alg.addgeneric('OutputWidth', HW.OutputWidthMET) tm.registerAlgo(alg) + - alg = AlgConf.MuonSelect( name = 'MUab', inputs = 'MuonTobArray', outputs = 'MUab', algoId = currentAlgoId ); currentAlgoId += 1 + alg = AlgConf.MuonSelect( name = 'MUab', inputs = 'MuonTobArray', outputs = 'MUab', algoId = currentAlgoId ); currentAlgoId += 1 alg.addgeneric('InputWidth', HW.InputWidthMU) alg.addgeneric('InputWidth1stStage', HW.InputWidth1stStageSelectMU ) @@ -238,6 +279,18 @@ class TopoAlgoDef(object): alg.addvariable('MaxEta', 25) tm.registerAlgo(alg) + + alg = AlgConf.MuonSort( name = 'MUs', inputs = 'MuonTobArray', outputs = 'MUs', algoId = currentAlgoId ); currentAlgoId += 1 + + alg.addgeneric('InputWidth', HW.InputWidthMU) + alg.addgeneric('InputWidth1stStage', HW.InputWidth1stStageSortMU ) + alg.addgeneric('OutputWidth', HW.OutputWidthSortMU) +# alg.addvariable('MinET', 4) + alg.addvariable('MinEta', 0) + alg.addvariable('MaxEta', 25) + tm.registerAlgo(alg) + + alg = AlgConf.MuonSelect( name = 'CMUab', inputs = 'MuonTobArray', outputs = 'CMUab', algoId = currentAlgoId ); currentAlgoId += 1 alg.addgeneric('InputWidth', HW.InputWidthMU) @@ -248,6 +301,7 @@ class TopoAlgoDef(object): alg.addvariable('MaxEta', 10) tm.registerAlgo(alg) + alg = AlgConf.MuonSort_1BC( name = 'LMUs', inputs = 'LateMuonTobArray', outputs = 'LMUs', algoId = currentAlgoId ); currentAlgoId += 1 #alg = AlgConf.MuonSort_1BC( name = 'LMUs', inputs = 'MuonTobArray', outputs = 'LMUs', algoId = currentAlgoId ); currentAlgoId += 1 @@ -258,6 +312,7 @@ class TopoAlgoDef(object): alg.addvariable('MinEta', 0) alg.addvariable('MaxEta', 25) tm.registerAlgo(alg) + # Abbreviated lists: alg = AlgConf.ClusterSelect( name = 'EMab', inputs = 'ClusterTobArray', outputs = 'EMab', algoId = currentAlgoId ); currentAlgoId += 1 @@ -265,13 +320,14 @@ class TopoAlgoDef(object): alg.addgeneric('InputWidth', HW.InputWidthEM) alg.addgeneric('InputWidth1stStage', HW.InputWidth1stStageSelectEM ) alg.addgeneric('OutputWidth', HW.OutputWidthSelectEM) - alg.addvariable('MinET', 8) + alg.addvariable('MinET', 5) alg.addvariable('IsoMask', 0) alg.addvariable('MinEta', 0) alg.addvariable('MaxEta', _etamax) - #alg.addgeneric('DoIsoCut', 1) + alg.addgeneric('DoIsoCut', 0) tm.registerAlgo(alg) + # All lists: alg = AlgConf.ClusterNoSort( name = 'TAUall', inputs = 'ClusterTobArray', outputs = 'TAUall', algoId = currentAlgoId) ; currentAlgoId += 1 @@ -281,23 +337,22 @@ class TopoAlgoDef(object): alg.addvariable('IsoMask', 0) tm.registerAlgo(alg) + alg = AlgConf.MuonNoSort( name = 'MUall', inputs = 'MuonTobArray', outputs = 'MUall',algoId = currentAlgoId) ; currentAlgoId += 1 alg.addgeneric('InputWidth', HW.InputWidthMU) alg.addgeneric('OutputWidth', HW.InputWidthMU) tm.registerAlgo(alg) + # Decision algorithms currentAlgoId = 0 - - - - # VBF items + # VBF items for x in [ - {"algoname": 'INVM_AJ_HighMass', "Threlist": [ 900, 800, 700, 500 ], "maxInvm": 9999, "otype" : "AJ", "ocut1" : 30, "olist" : "s", "nleading1" : 6, "inputwidth1": HW.OutputWidthSortJET, "ocut2" : 20, "nleading2" : 6}, - {"algoname": 'INVM_AJ_LowMass', "Threlist": [ 400, 300, 200, 100 ], "maxInvm": 9999, "otype" : "AJ", "ocut1" : 30, "olist" : "s", "nleading1" : 6, "inputwidth1": HW.OutputWidthSortJET, "ocut2" : 20, "nleading2" : 6}, - ]: + {"algoname": 'INVM_AJ_HighMass', "Threlist": [ 700], "maxInvm": 9999, "otype" : "AJ", "ocut1" : 30, "olist" : "s", "nleading1" : 6, "inputwidth1": HW.OutputWidthSortJET, "ocut2" : 20, "nleading2" : 6}, + {"algoname": 'INVM_AJ_LowMass', "Threlist": [ 300], "maxInvm": 9999, "otype" : "AJ", "ocut1" : 30, "olist" : "s", "nleading1" : 6, "inputwidth1": HW.OutputWidthSortJET, "ocut2" : 20, "nleading2" : 6} + ]: class d : pass for k in x: @@ -305,111 +360,54 @@ class TopoAlgoDef(object): inputList = d.otype + d.olist toponames=[] + - for minInvm in d.Threlist: + for minInvm in d.Threlist: toponame = "%iINVM%i-%s%s%s%s-%s%s%s%s" % (minInvm, d.maxInvm, - d.otype, str(d.ocut1) , d.olist, str(d.nleading1) if d.olist=="s" else "", - d.otype, str(d.ocut2) , d.olist, str(d.nleading2) if d.olist=="s" else "") + d.otype, str(d.ocut1) , d.olist, str(d.nleading1) if d.olist=="s" else "", + d.otype, str(d.ocut2) , d.olist, str(d.nleading2) if d.olist=="s" else "") toponames.append(toponame) - - alg = AlgConf.InvariantMassInclusive1( name = d.algoname, inputs = inputList, outputs = toponames, algoId = currentAlgoId); currentAlgoId += 1 - alg.addgeneric('InputWidth', d.inputwidth1) - alg.addgeneric('MaxTob', d.nleading1) + alg = AlgConf.InvariantMassInclusive1( name = d.algoname, inputs = inputList, outputs = toponames, algoId = currentAlgoId); currentAlgoId += 1 + + alg.addgeneric('InputWidth', d.inputwidth1) + alg.addgeneric('MaxTob', d.nleading1) alg.addgeneric('NumResultBits', len(toponames)) - for bitid, minInvm in enumerate(d.Threlist): - alg.addvariable('MinET1', d.ocut1, bitid) - alg.addvariable('MinET2', d.ocut2, bitid) - alg.addvariable('MinMSqr', minInvm * minInvm, bitid) - alg.addvariable('MaxMSqr', d.maxInvm * d.maxInvm, bitid) + for bitid, minInvm in enumerate(d.Threlist): + alg.addvariable('MinET1', d.ocut1, bitid) + alg.addvariable('MinET2', d.ocut2, bitid) + alg.addvariable('MinMSqr', minInvm * minInvm, bitid) + alg.addvariable('MaxMSqr', d.maxInvm * d.maxInvm, bitid) tm.registerAlgo(alg) - # dimu INVM items - - listofalgos=[ - - #{"minInvm": 1, "maxInvm": 19, "mult": 2, "otype1" : "MU", "ocut1": 4, "olist" : "ab", "otype2" : "", "ocut2" : 0, "onebarrel": 0},#1INVM19-2MU4ab - {"minInvm": 2, "maxInvm": 8, "mult": 2, "otype1" : "MU", "ocut1": 4, "olist" : "ab", "otype2" : "", "ocut2" : 0, "onebarrel": 0}, #2INVM8-2MU4ab - {"minInvm": 2, "maxInvm": 9, "mult": 2, "otype1" : "MU", "ocut1": 4, "olist" : "ab", "otype2" : "", "ocut2" : 0, "onebarrel": 0}, #2INVM9-2MU4ab - {"minInvm": 8, "maxInvm": 15, "mult": 1, "otype1" : "MU", "ocut1": 6, "olist" : "ab", "otype2" : "MU","ocut2" : 4, "onebarrel": 0}, #8INVM15-MU6ab-MU4ab - {"minInvm": 2, "maxInvm": 8, "mult": 1, "otype1" : "MU", "ocut1": 6, "olist" : "ab", "otype2" : "MU","ocut2" : 4, "onebarrel": 0}, #2INVM8-MU6ab-MU4ab - {"minInvm": 2, "maxInvm": 9, "mult": 1, "otype1" : "MU", "ocut1": 6, "olist" : "ab", "otype2" : "MU","ocut2" : 4, "onebarrel": 0}, #2INVM9-MU6ab-MU4ab - {"minInvm": 8, "maxInvm": 15, "mult": 2, "otype1" : "MU", "ocut1": 6, "olist" : "ab", "otype2" : "", "ocut2" : 0, "onebarrel": 0}, #8INVM15-2MU6ab - {"minInvm": 2, "maxInvm": 9, "mult": 2, "otype1" : "MU", "ocut1": 6, "olist" : "ab", "otype2" : "", "ocut2" : 0, "onebarrel": 0}, #2INVM9-2MU6ab - {"minInvm": 7, "maxInvm": 15, "mult": 2, "otype1" : "MU", "ocut1": 4, "olist" : "ab", "otype2" : "", "ocut2" : 0, "onebarrel": 0}, #7INVM15-2MU4ab - - ] - - for x in listofalgos: - class d : pass - for k in x: - setattr (d, k, x[k]) - - obj1 = "%s%s%s%s" % ((str(d.mult) if d.mult>1 else ""), d.otype1, str(d.ocut1), d.olist) - obj2 = "-%s%s%s" % (d.otype2, str(d.ocut2), d.olist) - toponame = "%iINVM%i-%s%s%s" % (d.minInvm, d.maxInvm, "ONEBARREL-" if d.onebarrel==1 else "", obj1, "" if d.mult>1 else obj2) - - log.debug("Define %s", toponame) - - - inputList = [d.otype1 + d.olist] if (d.mult>1 or d.otype1==d.otype2) else [d.otype1 + d.olist, d.otype2 + d.olist] - algoname = AlgConf.InvariantMassInclusive1 if (d.mult>1 or d.otype1==d.otype2) else AlgConf.InvariantMassInclusive2 - alg = algoname( name = toponame, inputs = inputList, outputs = [ toponame ], algoId = currentAlgoId); currentAlgoId += 1 - - if (d.mult>1 or d.otype1==d.otype2): - alg.addgeneric('InputWidth', HW.OutputWidthSelectMU) - alg.addgeneric('MaxTob', HW.OutputWidthSelectMU) - alg.addgeneric('RequireOneBarrel', d.onebarrel) - else: - alg.addgeneric('InputWidth1', HW.OutputWidthSelectMU) - alg.addgeneric('InputWidth2', HW.OutputWidthSelectMU) - alg.addgeneric('MaxTob1', HW.OutputWidthSelectMU) - alg.addgeneric('MaxTob2', HW.OutputWidthSelectMU) - - alg.addgeneric('NumResultBits', 1) - alg.addvariable('MinET1', d.ocut1) - alg.addvariable('MinET2', d.ocut2 if d.ocut2>0 else d.ocut1) - alg.addvariable('MinMSqr', d.minInvm * d.minInvm) - alg.addvariable('MaxMSqr', d.maxInvm * d.maxInvm) - tm.registerAlgo(alg) - # dimu DR items - listofalgos=[ - {"minDr": 2, "maxDr": 99, "mult": 2, "otype1" : "MU" ,"ocut1": 4, "olist" : "ab", "otype2" : "", "ocut2": 4, "onebarrel": 0}, # SM Y x - {"minDr": 0, "maxDr": 10, "mult": 1, "otype1" : "MU" ,"ocut1": 10, "olist" : "ab", "otype2" : "MU", "ocut2": 6, "onebarrel": 0}, # Exotic LFV x - {"minDr": 2, "maxDr": 15, "mult": 2, "otype1" : "MU" ,"ocut1": 6, "olist" : "ab", "otype2" : "", "ocut2": 6, "onebarrel": 0}, #x - {"minDr": 0, "maxDr": 15, "mult": 2, "otype1" : "MU" ,"ocut1": 4, "olist" : "ab", "otype2" : "", "ocut2": 4, "onebarrel": 0}, #0DR15-2MU4ab - {"minDr": 0, "maxDr": 15, "mult": 1, "otype1" : "MU", "ocut1": 6, "olist" : "ab", "otype2" : "MU", "ocut2": 4, "onebarrel": 0}, #0DR15-MU6ab-MU4ab - {"minDr": 0, "maxDr": 34, "mult": 2, "otype1" : "MU" ,"ocut1": 4, "olist" : "ab", "otype2" : "", "ocut2": 4, "onebarrel": 0}, #0DR34-2MU4ab - {"minDr": 0, "maxDr": 24, "mult": 2, "otype1" : "MU" ,"ocut1": 4, "olist" : "ab", "otype2" : "", "ocut2": 4, "onebarrel": 0}, #0DR24-2MU4ab - {"minDr": 0, "maxDr": 22, "mult": 2, "otype1" : "MU" ,"ocut1": 6, "olist" : "ab", "otype2" : "", "ocut2": 6, "onebarrel": 0}, #0DR22-2MU6ab - {"minDr": 0, "maxDr": 22, "mult": 1, "otype1" : "MU", "ocut1": 6, "olist" : "ab", "otype2" : "MU", "ocut2": 4, "onebarrel": 0}, #0DR22-MU6ab-MU4ab - {"minDr": 0, "maxDr": 15, "mult": 2, "otype1" : "MU", "ocut1": 6, "olist" : "ab", "otype2" : "", "ocut2": 6, "onebarrel": 0}, #0DR15-2MU6ab - ] + listofalgos=[ + {"minDr": 0, "maxDr": 15, "mult": 2, "otype1" : "MU", "ocut1": 6, "olist" : "ab", "otype2" : "", "ocut2": 6, "onebarrel": 0}, #0DR15-2MU6ab + ] for x in listofalgos: class d : pass for k in x: setattr (d, k, x[k]) + + obj1 = "%s%s%s%s" % ((str(d.mult) if d.mult>1 else ""), d.otype1, str(d.ocut1), d.olist) + obj2 = "-%s%s%s" % (d.otype2, str(d.ocut2), d.olist) + toponame = "%iDR%i-%s%s%s" % (d.minDr, d.maxDr, "ONEBARREL-" if d.onebarrel==1 else "", obj1, "" if d.mult>1 else obj2) # noqa: F821 - obj1 = "%s%s%s%s" % ((str(d.mult) if d.mult>1 else ""), d.otype1, str(d.ocut1), d.olist) - obj2 = "-%s%s%s" % (d.otype2, str(d.ocut2), d.olist) - toponame = "%iDR%i-%s%s%s" % (d.minDr, d.maxDr, "ONEBARREL-" if d.onebarrel==1 else "", obj1, "" if d.mult>1 else obj2) - - log.debug("Define %s", toponame) + log.info("Define %s" % toponame) - inputList = [d.otype1 + d.olist] if (d.mult>1 or d.otype1==d.otype2) else [d.otype1 + d.olist, d.otype2 + d.olist] - algoname = AlgConf.DeltaRSqrIncl1 if (d.mult>1 or d.otype1==d.otype2) else AlgConf.DeltaRSqrIncl2 + inputList = [d.otype1 + d.olist] if (d.mult>1 or d.otype1==d.otype2) else [d.otype1 + d.olist, d.otype2 + d.olist] + algoname = AlgConf.DeltaRSqrIncl1 if (d.mult>1 or d.otype1==d.otype2) else AlgConf.DeltaRSqrIncl2 alg = algoname( name = toponame, inputs = inputList, outputs = [ toponame ], algoId = currentAlgoId); currentAlgoId += 1 - - if (d.mult>1 or d.otype1==d.otype2): + + if (d.mult>1 or d.otype1==d.otype2): alg.addgeneric('InputWidth', HW.OutputWidthSelectMU) alg.addgeneric('MaxTob', HW.OutputWidthSelectMU) - alg.addgeneric('RequireOneBarrel', d.onebarrel) + alg.addgeneric('RequireOneBarrel', d.onebarrel) else: alg.addgeneric('InputWidth1', HW.OutputWidthSelectMU) alg.addgeneric('InputWidth2', HW.OutputWidthSelectMU) @@ -418,358 +416,404 @@ class TopoAlgoDef(object): alg.addgeneric('NumResultBits', 1) - alg.addvariable('MinET1', d.ocut1) - alg.addvariable('MinET2', d.ocut2) - alg.addvariable('DeltaRMin', d.minDr*d.minDr) - alg.addvariable('DeltaRMax', d.maxDr*d.maxDr) + alg.addvariable('MinET1', d.ocut1) + alg.addvariable('MinET2', d.ocut2) + alg.addvariable('DeltaRMin', d.minDr*d.minDr) + alg.addvariable('DeltaRMax', d.maxDr*d.maxDr) tm.registerAlgo(alg) - # deta-dphi with ab+ab - for x in [ - #{"minDeta": 5, "maxDeta": 99, "minDphi": 5, "maxDphi": 99, "mult": 2, "otype1" : "MU", "ocut1": 4, "olist1" : "ab", "nleading1": HW.OutputWidthSelectMU, "otype2" : "", "ocut2": 4, "olist2": "", "nleading2": HW.OutputWidthSelectMU}, - {"minDeta": 5, "maxDeta": 99, "minDphi": 5, "maxDphi": 99, "mult": 1, "otype1" : "MU", "ocut1": 6, "olist1" : "ab", "nleading1": HW.OutputWidthSelectMU, "otype2" : "MU", "ocut2": 4, "olist2": "ab", "nleading2": HW.OutputWidthSelectMU}, - {"minDeta": 5, "maxDeta": 99, "minDphi": 5, "maxDphi": 99, "mult": 2, "otype1" : "MU", "ocut1": 6, "olist1" : "ab", "nleading1": HW.OutputWidthSelectMU, "otype2" : "", "ocut2": 6, "olist2": "", "nleading2": HW.OutputWidthSelectMU}, + for x in [ + {"minDeta": 5, "maxDeta": 99, "minDphi": 5, "maxDphi": 99, "mult": 2, "otype1" : "MU", "ocut1": 4, "olist1" : "ab", "nleading1": HW.OutputWidthSelectMU, "otype2" : "", "ocut2": 4, "olist2": "", "nleading2": HW.OutputWidthSelectMU}, #5DETA99-5DPHI99-2MU4ab ]: - + class d : pass for k in x: setattr (d, k, x[k]) - obj1 = "%s%s%s%s" % ((str(d.mult) if d.mult>1 else ""), d.otype1, str(d.ocut1), d.olist1) - obj2 = "-%s%s%s" % (d.otype2, str(d.ocut2) if d.ocut2>0 else "", d.olist2) - toponame = "%sDETA%s-%sDPHI%s-%s%s" % (d.minDeta, d.maxDeta, d.minDphi, d.maxDphi, obj1, "" if d.mult>1 else obj2) + obj1 = "%s%s%s%s" % ((str(d.mult) if d.mult>1 else ""), d.otype1, str(d.ocut1), d.olist1) + obj2 = "-%s%s%s" % (d.otype2, str(d.ocut2) if d.ocut2>0 else "", d.olist2) + toponame = "%sDETA%s-%sDPHI%s-%s%s" % (d.minDeta, d.maxDeta, d.minDphi, d.maxDphi, obj1, "" if d.mult>1 else obj2) - log.debug("Define %s", toponame) + log.info("Define %s" % toponame) - inputList = [d.otype1 + d.olist1] if (d.mult>1 or d.otype1==d.otype2) else [d.otype1 + d.olist1, d.otype2 + d.olist2] - algoname = AlgConf.DeltaEtaPhiIncl1 if (d.mult>1 or d.otype1==d.otype2) else AlgConf.DeltaEtaPhiIncl2 + inputList = [d.otype1 + d.olist1] if (d.mult>1 or d.otype1==d.otype2) else [d.otype1 + d.olist1, d.otype2 + d.olist2] + algoname = AlgConf.DeltaEtaPhiIncl1 if (d.mult>1 or d.otype1==d.otype2) else AlgConf.DeltaEtaPhiIncl2 alg = algoname( name = toponame, inputs = inputList, outputs = [ toponame ], algoId = currentAlgoId); currentAlgoId += 1 alg.addgeneric('NumResultBits', 1) - if (d.mult>1 or d.otype1==d.otype2): - alg.addgeneric('InputWidth', d.nleading1) - alg.addgeneric('MaxTob', d.nleading1) - alg.addvariable('MinET1', d.ocut1) - alg.addvariable('MinET2', d.ocut2) - alg.addvariable('MinDeltaEta', d.minDeta) - alg.addvariable('MaxDeltaEta', d.maxDeta) - alg.addvariable('MinDeltaPhi', d.minDphi) - alg.addvariable('MaxDeltaPhi', d.maxDphi) + if (d.mult>1 or d.otype1==d.otype2): # noqa: F821 + alg.addgeneric('InputWidth', d.nleading1) # noqa: F821 + alg.addgeneric('MaxTob', d.nleading1) # noqa: F821 + alg.addvariable('MinET1', d.ocut1) # noqa: F821 + alg.addvariable('MinET2', d.ocut2) # noqa: F821 + alg.addvariable('MinDeltaEta', d.minDeta) # noqa: F821 + alg.addvariable('MaxDeltaEta', d.maxDeta) # noqa: F821 + alg.addvariable('MinDeltaPhi', d.minDphi) # noqa: F821 + alg.addvariable('MaxDeltaPhi', d.maxDphi) # noqa: F821 else: - alg.addgeneric('InputWidth1', d.nleading1) - alg.addgeneric('InputWidth2', d.nleading2) - alg.addgeneric('MaxTob1', d.nleading1) - alg.addgeneric('MaxTob2', d.nleading2) - alg.addvariable('DeltaEtaMin', d.minDeta) - alg.addvariable('DeltaEtaMax', d.maxDeta) - alg.addvariable('DeltaPhiMin', d.minDphi) - alg.addvariable('DeltaPhiMax', d.maxDphi) - alg.addvariable('MinET1', d.ocut1) - alg.addvariable('MinET2', d.ocut2) + alg.addgeneric('InputWidth1', d.nleading1) # noqa: F821 + alg.addgeneric('InputWidth2', d.nleading2) # noqa: F821 + alg.addgeneric('MaxTob1', d.nleading1) # noqa: F821 + alg.addgeneric('MaxTob2', d.nleading2) # noqa: F821 + alg.addvariable('DeltaEtaMin', d.minDeta) # noqa: F821 + alg.addvariable('DeltaEtaMax', d.maxDeta) # noqa: F821 + alg.addvariable('DeltaPhiMin', d.minDphi) # noqa: F821 + alg.addvariable('DeltaPhiMax', d.maxDphi) # noqa: F821 + alg.addvariable('MinET1', d.ocut1) # noqa: F821 + alg.addvariable('MinET2', d.ocut2) # noqa: F821 tm.registerAlgo(alg) - algolist=[ - {"minDr": 0, "maxDr": 28, "otype1" : "MU" ,"ocut1": 10, "olist1" : "ab", "nleading1": HW.OutputWidthSelectMU, "inputwidth1": HW.OutputWidthSelectMU, "otype2" : "TAU", "ocut2": 12, "olist2" : "abi", "nleading2": HW.OutputWidthSelectTAU, "inputwidth2": HW.OutputWidthSelectTAU}, # 0DR28-MU10ab-TAU12abi - {"minDr": 0, "maxDr": 28, "otype1" : "TAU" ,"ocut1": 20, "olist1" : "abi","nleading1": HW.OutputWidthSelectTAU, "inputwidth1": HW.OutputWidthSelectTAU,"otype2" : "TAU", "ocut2": 12, "olist2" : "abi", "nleading2": HW.OutputWidthSelectTAU, "inputwidth2": HW.OutputWidthSelectTAU}, # 0DR28-TAU20abi-TAU12abi - {"minDr": 0, "maxDr": 25, "otype1" : "TAU" ,"ocut1": 20, "olist1" : "abi","nleading1": HW.OutputWidthSelectTAU, "inputwidth1": HW.OutputWidthSelectTAU,"otype2" : "TAU", "ocut2": 12, "olist2" : "abi", "nleading2": HW.OutputWidthSelectTAU, "inputwidth2": HW.OutputWidthSelectTAU}, # 0DR25-TAU20abi-TAU12abi - ] + {"minDr": 0, "maxDr": 28, "otype1" : "TAU" ,"ocut1": 20, "olist1" : "abi","nleading1": HW.OutputWidthSelectTAU, "inputwidth1": HW.OutputWidthSelectTAU,"otype2" : "TAU", "ocut2": 12, "olist2" : "abi", "nleading2": HW.OutputWidthSelectTAU, "inputwidth2": HW.OutputWidthSelectTAU}, # 0DR28-TAU20abi-TAU12abi + {"minDr": 0, "maxDr": 25, "otype1" : "TAU" ,"ocut1": 20, "olist1" : "abi","nleading1": HW.OutputWidthSelectTAU, "inputwidth1": HW.OutputWidthSelectTAU,"otype2" : "TAU", "ocut2": 12, "olist2" : "abi", "nleading2": HW.OutputWidthSelectTAU, "inputwidth2": HW.OutputWidthSelectTAU}, # 0DR25-TAU20abi-TAU12abi + ] for x in algolist: - class d : pass for k in x: setattr (d, k, x[k]) - obj1 = "%s%s%s" % (d.otype1, str(d.ocut1), d.olist1) - obj2 = "-%s%s%s" % (d.otype2, str(d.ocut2), d.olist2) - toponame = "%iDR%i-%s%s" % (d.minDr, d.maxDr, obj1, obj2) - log.debug("Define %s", toponame) + obj1 = "%s%s%s" % (d.otype1, str(d.ocut1), d.olist1) + obj2 = "-%s%s%s" % (d.otype2, str(d.ocut2), d.olist2) + toponame = "%iDR%i-%s%s" % (d.minDr, d.maxDr, obj1, obj2) + + log.info("Define %s" % toponame) - inputList = [d.otype1 + d.olist1] if d.otype1==d.otype2 else [d.otype1 + d.olist1, d.otype2 + d.olist2] - algoname = AlgConf.DeltaRSqrIncl1 if d.otype1==d.otype2 else AlgConf.DeltaRSqrIncl2 + inputList = [d.otype1 + d.olist1] if d.otype1==d.otype2 else [d.otype1 + d.olist1, d.otype2 + d.olist2] + algoname = AlgConf.DeltaRSqrIncl1 if d.otype1==d.otype2 else AlgConf.DeltaRSqrIncl2 alg = algoname( name = toponame, inputs = inputList, outputs = [ toponame ], algoId = currentAlgoId); currentAlgoId += 1 - if d.otype1==d.otype2: - alg.addgeneric('InputWidth', d.inputwidth1) - alg.addgeneric('MaxTob', d.nleading1) + if d.otype1==d.otype2: + alg.addgeneric('InputWidth', d.inputwidth1) + alg.addgeneric('MaxTob', d.nleading1) else: - alg.addgeneric('InputWidth1', d.inputwidth1) - alg.addgeneric('InputWidth2', d.inputwidth2) - alg.addgeneric('MaxTob1', d.nleading1) - alg.addgeneric('MaxTob2', d.nleading2) + alg.addgeneric('InputWidth1', d.inputwidth1) + alg.addgeneric('InputWidth2', d.inputwidth2) + alg.addgeneric('MaxTob1', d.nleading1) + alg.addgeneric('MaxTob2', d.nleading2) + alg.addgeneric('NumResultBits', 1) - if d.otype1==d.otype2: - alg.addvariable('MinET1', d.ocut1) - alg.addvariable('MinET2', d.ocut2) - alg.addvariable('DeltaRMin', d.minDr*d.minDr) - alg.addvariable('DeltaRMax', d.maxDr*d.maxDr) + if d.otype1==d.otype2: + alg.addvariable('MinET1', d.ocut1) + alg.addvariable('MinET2', d.ocut2) + alg.addvariable('DeltaRMin', d.minDr*d.minDr) + alg.addvariable('DeltaRMax', d.maxDr*d.maxDr) else: - alg.addvariable('MinET1', d.ocut1, 0) - alg.addvariable('MinET2', d.ocut2, 0) - alg.addvariable('DeltaRMin', d.minDr*d.minDr, 0) - alg.addvariable('DeltaRMax', d.maxDr*d.maxDr, 0) + alg.addvariable('MinET1', d.ocut1, 0) + alg.addvariable('MinET2', d.ocut2, 0) + alg.addvariable('DeltaRMin', d.minDr*d.minDr, 0) + alg.addvariable('DeltaRMax', d.maxDr*d.maxDr, 0) tm.registerAlgo(alg) - # (ATR-8194) L1Topo HT Trigger - for x in [ - {"minHT": 150, "otype" : "J", "ocut" : 20, "olist" : "s", "nleading" : 5, "inputwidth": HW.OutputWidthSortJET, "oeta" : 31}, - {"minHT": 190, "otype" : "J", "ocut" : 15, "olist" : "s", "nleading" : 5, "inputwidth": HW.OutputWidthSortJET, "oeta" : 21}, - {"minHT": 190, "otype" : "AJ", "ocut" : 15, "olist" : "all", "nleading" : HW.InputWidthJET, "inputwidth": HW.InputWidthJET, "oeta" : 21}, - {"minHT": 150, "otype" : "AJ", "ocut" : 20, "olist" : "all", "nleading" : HW.InputWidthJET, "inputwidth": HW.InputWidthJET, "oeta" : 31}, - {"minHT": 150, "otype" : "AJj","ocut" : 15, "olist" : "all", "nleading" : HW.InputWidthJET, "inputwidth": HW.InputWidthJET, "oeta" : 49}, - {"minHT": 20, "otype" : "AJj","ocut" : 15, "olist" : "all", "nleading" : HW.InputWidthJET, "inputwidth": HW.InputWidthJET, "oeta" : 49}, - ]: - + algoList = [ + {"minHT": 150, "otype" : "J", "ocut" : 20, "olist" : "s", "nleading" : 5, "inputwidth": HW.OutputWidthSortJET, "oeta" : 31}, #HT150-J20s5.ETA31 + {"minHT": 190, "otype" : "J", "ocut" : 15, "olist" : "s", "nleading" : 5, "inputwidth": HW.OutputWidthSortJET, "oeta" : 21}, #HT190-J15s5.ETA21 + ] + for x in algoList: class d : pass for k in x: setattr (d, k, x[k]) + - toponame = "HT%d-%s%s%s%s.ETA%s" % (d.minHT, d.otype, str(d.ocut), d.olist, str(d.nleading) if d.olist=="s" else "", str(d.oeta)) + toponame = "HT%d-%s%s%s%s.ETA%s" % (d.minHT, d.otype, str(d.ocut), d.olist, str(d.nleading) if d.olist=="s" else "", str(d.oeta)) - log.debug("Define %s", toponame) + log.info("Define %s" % toponame) - inputList = d.otype + d.olist + inputList = d.otype + d.olist alg = AlgConf.JetHT( name = toponame, inputs = inputList, outputs = [toponame], algoId = currentAlgoId ); currentAlgoId += 1 - alg.addgeneric('InputWidth', d.inputwidth) - alg.addgeneric('MaxTob', d.nleading) - alg.addgeneric('NumRegisters', 2 if d.olist=="all" else 0) - alg.addgeneric('NumResultBits', 1) - alg.addvariable('MinET', d.ocut) + alg.addgeneric('InputWidth', d.inputwidth) # noqa: F821 + alg.addgeneric('MaxTob', d.nleading) # noqa: F821 + alg.addgeneric('NumRegisters', 2 if d.olist=="all" else 0) # noqa: F821 + alg.addgeneric('NumResultBits', 1) # noqa: F821 + alg.addvariable('MinET', d.ocut) # noqa: F821 alg.addvariable('MinEta', 0) - alg.addvariable('MaxEta', d.oeta) - alg.addvariable('MinHt', d.minHT) - tm.registerAlgo(alg) + alg.addvariable('MaxEta', d.oeta) # noqa: F821 + alg.addvariable('MinHt', d.minHT) # noqa: F821 + tm.registerAlgo(alg) + + + # INVM_EM for Jpsi + invm_map = {"algoname": 'INVM_EMs6' , "ocutlist": [ 7, 12 ], "minInvm": 1, "maxInvm": 5, "otype" : "EM", "olist" : "s", "nleading" : 1, "inputwidth": HW.OutputWidthSortEM} - # INVM_EM for Jpsi - invm_map = {"algoname": 'INVM_EMs6' , "ocutlist": [ 0, 7, 12 ], "minInvm": 1, "maxInvm": 5, "otype" : "EM", "olist" : "s", "nleading" : 1, "inputwidth": HW.OutputWidthSortEM} for x in [ invm_map, ]: - + class d : pass for k in x: setattr (d, k, x[k]) - inputList = d.otype + d.olist + + inputList = d.otype + d.olist # noqa: F821 toponames=[] - for ocut in d.ocutlist: - toponame = "%iINVM%i-%s%s%s%s-EMs6" % (d.minInvm, d.maxInvm, d.otype, str(ocut) if ocut > 0 else "", d.olist, str(d.nleading) if d.olist=="s" else "") + for ocut in d.ocutlist: # noqa: F821 + toponame = "%iINVM%i-%s%s%s%s-EMs6" % (d.minInvm, d.maxInvm, d.otype, str(ocut) if ocut > 0 else "", d.olist, str(d.nleading) if d.olist=="s" else "") # noqa: F821 toponames.append(toponame) - alg = AlgConf.InvariantMassInclusive2( name = d.algoname, inputs = [inputList, 'EMs'], outputs = toponames, algoId = currentAlgoId); currentAlgoId += 1 + alg = AlgConf.InvariantMassInclusive2( name = d.algoname, inputs = [inputList, 'EMs'], outputs = toponames, algoId = currentAlgoId); currentAlgoId += 1 # noqa: F821 - alg.addgeneric('InputWidth1', d.inputwidth) + alg.addgeneric('InputWidth1', d.inputwidth) # noqa: F821 #alg.addgeneric('InputWidth2', HW.InputWidthEM) alg.addgeneric('InputWidth2', HW.OutputWidthSortEM) - alg.addgeneric('MaxTob1', d.nleading) + alg.addgeneric('MaxTob1', d.nleading) # noqa: F821 #alg.addgeneric('MaxTob2', HW.InputWidthEM) alg.addgeneric('MaxTob2', HW.OutputWidthSortEM) alg.addgeneric('NumResultBits', len(toponames)) - for bitid, ocut in enumerate(d.ocutlist): + for bitid, ocut in enumerate(d.ocutlist): # noqa: F821 alg.addvariable('MinET1', ocut, bitid) alg.addvariable('MinET2', 0, bitid) - alg.addvariable('MinMSqr', (d.minInvm * _emscale_for_decision)*(d.minInvm * _emscale_for_decision), bitid) - alg.addvariable('MaxMSqr', (d.maxInvm * _emscale_for_decision)*(d.maxInvm * _emscale_for_decision), bitid) - + alg.addvariable('MinMSqr', (d.minInvm * _emscale_for_decision)*(d.minInvm * _emscale_for_decision), bitid) # noqa: F821 + alg.addvariable('MaxMSqr', (d.maxInvm * _emscale_for_decision)*(d.maxInvm * _emscale_for_decision), bitid) # noqa: F821 + tm.registerAlgo(alg) + + + # VBF deta + + algoList = [ + {"minDeta": 0, "maxDeta": 20, "otype" : "J", "ocut1" : 50, "olist" : "s", "nleading1" : 1, "inputwidth1": HW.OutputWidthSortJET, "ocut2" : 0, "nleading2": 2}, #0DETA20-J50s1-Js2 + ] + - # W T&P: MINDPHI(J, XE0), (EM, XE0) + for x in algoList: + class d : pass + for k in x: + setattr (d, k, x[k]) + + + toponame = "%iDETA%i-%s%s%s%s-%s%s%s%s" % (d.minDeta, d.maxDeta, # noqa: F821 + d.otype, str(d.ocut1) if d.ocut1 > 0 else "", d.olist, str(d.nleading1) if d.olist=="s" else "", # noqa: F821 + d.otype, str(d.ocut2) if d.ocut2 > 0 else "", d.olist, str(d.nleading2) if d.olist=="s" else "") # noqa: F821 + + log.info("Define %s" % toponame) + inputList = d.otype + d.olist # noqa: F821 + + alg = AlgConf.DeltaEtaIncl1( name = toponame, inputs = inputList, outputs = toponame, algoId = currentAlgoId ); currentAlgoId += 1 - alglist = [ - {"minDPhi": 5, "otype" : "AJj", "ocut" : 10, "olist" : "s", "nleading" : 6, "inputwidth": HW.OutputWidthSortJET}, - {"minDPhi": 10, "otype" : "AJj", "ocut" : 10, "olist" : "s", "nleading" : 6, "inputwidth": HW.OutputWidthSortJET}, - {"minDPhi": 15, "otype" : "AJj", "ocut" : 10, "olist" : "s", "nleading" : 6, "inputwidth": HW.OutputWidthSortJET}, - {"minDPhi": 5, "otype" : "EM", "ocut" : 12, "olist" : "s", "nleading" : 6, "inputwidth": HW.OutputWidthSortEM},#new - #{"minDPhi": 10, "otype" : "EM", "ocut" : 12, "olist" : "s", "nleading" : 6, "inputwidth": HW.OutputWidthSortEM},#new - {"minDPhi": 5, "otype" : "EM", "ocut" : 15, "olist" : "s", "nleading" : 6, "inputwidth": HW.OutputWidthSortEM},#same - ] - for x in alglist: + alg.addgeneric('InputWidth', d.inputwidth1) # noqa: F821 + alg.addgeneric('MaxTob', d.nleading2) # noqa: F821 + alg.addgeneric('NumResultBits', 1) + alg.addvariable('MinET1', str(d.ocut1), 0) # noqa: F821 + alg.addvariable('MinET2', str(d.ocut2), 0) # noqa: F821 + alg.addvariable('MinDeltaEta', d.minDeta, 0) # noqa: F821 + alg.addvariable('MaxDeltaEta', d.maxDeta, 0) # noqa: F821 + tm.registerAlgo(alg) + # ZH Trigger + supportedalgolist = [ + {"minDPhi": 10, "otype" : "J", "ocut" : 20, "olist" : "s", "nleading" : 2, "inputwidth": HW.OutputWidthSortJET, "ocut2": 30 }, #10MINDPHI-J20s2-XE30 + {"minDPhi": 10, "otype" : "J", "ocut" : 20, "olist" : "s", "nleading" : 2, "inputwidth": HW.OutputWidthSortJET, "ocut2": 50 }, #10MINDPHI-J20s2-XE50 + ] + + + for x in supportedalgolist: + class d : pass for k in x: setattr (d, k, x[k]) - - toponame = "%02dMINDPHI-%s%s%s%s-XE0" % (d.minDPhi, d.otype, str(d.ocut) if d.ocut > 0 else "", d.olist, str(d.nleading) if d.olist=="s" else "") - log.debug("Define %s", toponame) - - inputList = d.otype + d.olist - - alg = AlgConf.MinDeltaPhiIncl2( name = toponame, inputs = [ inputList, 'XE'], outputs = [ toponame ], algoId = currentAlgoId ); currentAlgoId += 1 + + + toponame = "%iMINDPHI-%s%s%s%s-XE%i" % (d.minDPhi, d.otype, str(d.ocut) if d.ocut > 0 else "", d.olist, str(d.nleading) if d.olist=="s" else "",d.ocut2) # noqa: F821 + log.info("Define %s" % toponame) + + inputList = d.otype + d.olist # noqa: F821 + alg = AlgConf.MinDeltaPhiIncl2( name = toponame, inputs = [inputList, 'XE'], outputs = [ toponame ], algoId = currentAlgoId ); currentAlgoId += 1 - alg.addgeneric('InputWidth1', d.inputwidth) - alg.addgeneric('InputWidth2', 1) - alg.addgeneric('MaxTob1', d.nleading) + alg.addgeneric('InputWidth1', d.inputwidth) # noqa: F821 + alg.addgeneric('InputWidth2', 1) + alg.addgeneric('MaxTob1', d.nleading) # noqa: F821 alg.addgeneric('MaxTob2', 1) alg.addgeneric('NumResultBits', 1) - alg.addvariable('MinET1', d.ocut) - alg.addvariable('MinET2', 0) - alg.addvariable('DeltaPhiMin', d.minDPhi, 0) + alg.addvariable('MinET1', d.ocut) # noqa: F821 + alg.addvariable('MinET2', d.ocut2) # noqa: F821 + alg.addvariable('DeltaPhiMin', d.minDPhi, 0)# noqa: F821 tm.registerAlgo(alg) + - # W T&P MT - alglistmt = [ - {"minMT": 25, "otype" : "EM", "ocut" : 12, "olist" : "s", "nleading" : 6, "inputwidth": HW.OutputWidthSortEM}, - #{"minMT": 30, "otype" : "EM", "ocut" : 12, "olist" : "s", "nleading" : 6, "inputwidth": HW.OutputWidthSortEM}, - {"minMT": 35, "otype" : "EM", "ocut" : 15, "olist" : "s", "nleading" : 6, "inputwidth": HW.OutputWidthSortEM}, - ] - for x in alglistmt: + + + # LFV DETA ATR-14282 + algoList = [ + {"minDeta": 0, "maxDeta": "04", "mult": 1, "otype1" : "EM", "ocut1": 8, "olist1" : "abi", "nleading1": HW.OutputWidthSelectEM, "otype2" : "MU", "ocut2": 10, "olist2": "ab", "nleading2": HW.OutputWidthSelectMU}, #0DETA04-EM8abi-MU10ab + {"minDeta": 0, "maxDeta": "04", "mult": 1, "otype1" : "EM", "ocut1": 15, "olist1" : "abi", "nleading1": HW.OutputWidthSelectEM, "otype2" : "MU", "ocut2": 0, "olist2": "ab", "nleading2": HW.OutputWidthSelectMU}, #0DETA04-EM15abi-MUab + ] + + for x in algoList: class d : pass for k in x: setattr (d, k, x[k]) - toponame = "%iMT-%s%s%s%s-XE0" % (d.minMT, d.otype, str(d.ocut) if d.ocut > 0 else "", d.olist, str(d.nleading) if d.olist=="s" else "") - log.debug("Define %s", toponame) - - inputList = d.otype + d.olist - - alg = AlgConf.TransverseMassInclusive1( name = toponame, inputs = [ inputList, 'XE'], outputs = [ toponame ], algoId = currentAlgoId ); currentAlgoId += 1 + + toponame = "%sDETA%s-%s%s%s-%s%s%s" % (d.minDeta, d.maxDeta, d.otype1, str(d.ocut1), d.olist1, d.otype2, str(d.ocut2) if d.ocut2>0 else "", d.olist2) # noqa: F821 + + log.info("Define %s" % toponame) + inputList = [d.otype1 + d.olist1, d.otype2 + d.olist2] # noqa: F821 + alg = AlgConf.DeltaEtaIncl2( name = toponame, inputs = inputList, outputs = [ toponame ], algoId = currentAlgoId); currentAlgoId += 1 + alg.addgeneric('NumResultBits', 1) + alg.addgeneric('InputWidth1', d.nleading1) # noqa: F821 + alg.addgeneric('InputWidth2', d.nleading2) # noqa: F821 + alg.addgeneric('MaxTob1', d.nleading1) # noqa: F821 + alg.addgeneric('MaxTob2', d.nleading2) # noqa: F821 + alg.addvariable('MinET1', d.ocut1, 0) # noqa: F821 + alg.addvariable('MinET2', d.ocut2, 0) # noqa: F821 + alg.addvariable('MinDeltaEta', d.minDeta, 0) # noqa: F821 + alg.addvariable('MaxDeltaEta', d.maxDeta, 0) # noqa: F821 - alg.addgeneric('InputWidth', HW.OutputWidthSortEM) - alg.addgeneric('MaxTob', str(d.nleading)) - alg.addgeneric('NumResultBits', 1) - alg.addvariable('MinET1', str(d.ocut)) - alg.addvariable('MinET2', 0) - alg.addvariable('MinMTSqr', d.minMT*d.minMT) tm.registerAlgo(alg) - - # VBF deta - for x in [ - #{"minDeta": 0, "maxDeta": 10, "otype" : "J", "ocut1" : 0, "olist" : "s", "nleading1" : 1, "inputwidth1": HW.OutputWidthSortJET, "ocut2" : 0, "nleading2": 2}, - ]: + + #EMU dphi + algoList = [ + {"minDphi": 0, "maxDphi": "03", "mult": 1, "otype1" : "EM", "ocut1": 8, "olist1" : "abi", "nleading1": HW.OutputWidthSelectEM, "otype2" : "MU", "ocut2": 10, "olist2": "ab", "nleading2": HW.OutputWidthSelectMU}, #0DPHI03-EM8abi-MU10ab + {"minDphi": 0, "maxDphi": "03", "mult": 1, "otype1" : "EM", "ocut1": 15, "olist1" : "abi", "nleading1": HW.OutputWidthSelectEM, "otype2" : "MU", "ocut2": 0, "olist2": "ab", "nleading2": HW.OutputWidthSelectMU}, #0DPHI03-EM15abi-MUab + ] + + for x in algoList: class d : pass for k in x: setattr (d, k, x[k]) - toponame = "%iDETA%i-%s%s%s%s-%s%s%s%s" % (d.minDeta, d.maxDeta, - d.otype, str(d.ocut1) if d.ocut1 > 0 else "", d.olist, str(d.nleading1) if d.olist=="s" else "", - d.otype, str(d.ocut2) if d.ocut2 > 0 else "", d.olist, str(d.nleading2) if d.olist=="s" else "") - - log.debug("Define %s", toponame) - inputList = d.otype + d.olist - alg = AlgConf.DeltaEtaIncl1( name = toponame, inputs = inputList, outputs = toponame, algoId = currentAlgoId ); currentAlgoId += 1 - + toponame = "%sDPHI%s-%s%s%s-%s%s%s" % (d.minDphi, d.maxDphi, d.otype1, str(d.ocut1), d.olist1, d.otype2, str(d.ocut2) if d.ocut2>0 else "", d.olist2) # noqa: F821 + + log.info("Define %s" % toponame) + inputList = [d.otype1 + d.olist1, d.otype2 + d.olist2] # noqa: F821 + alg = AlgConf.DeltaPhiIncl2( name = toponame, inputs = inputList, outputs = [ toponame ], algoId = currentAlgoId); currentAlgoId += 1 + alg.addgeneric('NumResultBits', 1) + + alg.addgeneric('InputWidth1', d.nleading1) # noqa: F821 + alg.addgeneric('InputWidth2', d.nleading2) # noqa: F821 + alg.addgeneric('MaxTob1', d.nleading1) # noqa: F821 + alg.addgeneric('MaxTob2', d.nleading2) # noqa: F821 + alg.addvariable('MinET1', d.ocut1, 0) # noqa: F821 + alg.addvariable('MinET2', d.ocut2, 0) # noqa: F821 + alg.addvariable('MinDeltaPhi', d.minDphi, 0) # noqa: F821 + alg.addvariable('MaxDeltaPhi', d.maxDphi, 0) # noqa: F821 - alg.addgeneric('InputWidth', d.inputwidth1) - alg.addgeneric('MaxTob', d.nleading2) - alg.addgeneric('NumResultBits', 1) - alg.addvariable('MinET1', str(d.ocut1), 0) - alg.addvariable('MinET2', str(d.ocut2), 0) - alg.addvariable('MinDeltaEta', d.minDeta, 0) - alg.addvariable('MaxDeltaEta', d.maxDeta, 0) tm.registerAlgo(alg) - # ZH Trigger + + + # RATIO MATCH dedicated to Exotic + toponame = '100RATIO-0MATCH-TAU30si2-EMall' + alg = AlgConf.RatioMatch( name = toponame, inputs = [ 'TAUsi', 'EMall'], outputs = [ toponame ], algoId = currentAlgoId ); currentAlgoId += 1 + alg.addgeneric('InputWidth1', HW.OutputWidthSortTAU) + alg.addgeneric('InputWidth2', HW.InputWidthEM) + alg.addgeneric('MaxTob1', 2) + alg.addgeneric('MaxTob2', HW.InputWidthEM) + alg.addgeneric('NumResultBits', 1) + alg.addvariable('MinET1', 30) + alg.addvariable('MinET2', 0) + alg.addvariable('Ratio', 100, 0) + tm.registerAlgo(alg) - supportedalgolist = [ - #{"minDPhi": 10, "otype" : "J", "ocut" : 0, "olist" : "s", "nleading" : 2, "inputwidth": HW.OutputWidthSortJET, "ocut2": 50 }, - {"minDPhi": 10, "otype" : "J", "ocut" : 20, "olist" : "s", "nleading" : 2, "inputwidth": HW.OutputWidthSortJET, "ocut2": 50 }, - {"minDPhi": 10, "otype" : "J", "ocut" : 20, "olist" : "ab", "nleading" : HW.OutputWidthSelectJET, "inputwidth": HW.OutputWidthSelectJET, "ocut2": 50}, - {"minDPhi": 10, "otype" : "CJ","ocut" : 20, "olist" : "ab", "nleading" : HW.OutputWidthSelectJET, "inputwidth": HW.OutputWidthSelectJET, "ocut2": 50}, - {"minDPhi": 10, "otype" : "J", "ocut" : 20, "olist" : "s", "nleading" : 2, "inputwidth": HW.OutputWidthSortJET, "ocut2": 30 }, # NEW - ] + # NOT MATCH dedicated to Exotic + toponame = 'NOT-0MATCH-TAU30si1-EMall' + alg = AlgConf.NotMatch( name = toponame, inputs = [ 'TAUsi', 'EMall'], outputs = [ toponame ], algoId = currentAlgoId ); currentAlgoId += 1 + alg.addgeneric('InputWidth1', HW.OutputWidthSortTAU) + alg.addgeneric('InputWidth2', HW.InputWidthEM) + alg.addgeneric('MaxTob1', 1) + alg.addgeneric('MaxTob2', HW.InputWidthEM) + alg.addgeneric('NumResultBits', 1) + alg.addvariable('MinET1', 30) + alg.addvariable('MinET2', 0) + alg.addvariable('EtaMin1', 0) + alg.addvariable('EtaMax1', 49) + alg.addvariable('EtaMin2', 0) + alg.addvariable('EtaMax2', 49) + alg.addvariable('DRCut', 0) + tm.registerAlgo(alg) - for x in supportedalgolist: - + # MULT-BIT + for x in [ + {"otype1" : "CMU" ,"ocut1": 4, "olist1" : "ab", "nleading1": HW.OutputWidthSelectMU, "inputwidth1": HW.OutputWidthSelectMU}, #MULT-CMU4ab + {"otype1" : "CMU" ,"ocut1": 6, "olist1" : "ab", "nleading1": HW.OutputWidthSelectMU, "inputwidth1": HW.OutputWidthSelectMU}, #MULT-CMU6ab + ]: class d : pass for k in x: setattr (d, k, x[k]) - - toponame = "%iMINDPHI-%s%s%s%s-XE%i" % (d.minDPhi, d.otype, str(d.ocut) if d.ocut > 0 else "", d.olist, str(d.nleading) if d.olist=="s" else "",d.ocut2) - log.debug("Define %s", toponame) - - inputList = d.otype + d.olist - alg = AlgConf.MinDeltaPhiIncl2( name = toponame, inputs = [inputList, 'XE'], outputs = [ toponame ], algoId = currentAlgoId ); currentAlgoId += 1 + + + toponame = "MULT-%s%s%s" % (d.otype1, str(d.ocut1), d.olist1) # noqa: F821 + toponames = [toponame+"[0]", toponame+"[1]"] + log.info("Define %s" % toponames) + + inputList = [d.otype1 + d.olist1] # noqa: F821 + alg = AlgConf.Multiplicity( name = toponame, inputs = inputList, outputs = toponames, algoId = currentAlgoId); currentAlgoId += 1 + + alg.addgeneric('InputWidth', d.inputwidth1) # noqa: F821 + alg.addgeneric('NumResultBits', 2) + alg.addvariable('MinET', d.ocut1-1) # for MU threshold -1 # noqa: F821 + tm.registerAlgo(alg) - alg.addgeneric('InputWidth1', d.inputwidth) - alg.addgeneric('InputWidth2', 1) - alg.addgeneric('MaxTob1', d.nleading) - alg.addgeneric('MaxTob2', 1) - alg.addgeneric('NumResultBits', 1) - alg.addvariable('MinET1', d.ocut) - alg.addvariable('MinET2', d.ocut2) - alg.addvariable('DeltaPhiMin', d.minDPhi, 0) - tm.registerAlgo(alg) + # DISAMB 2 lists + algolist=[ + {"disamb": 2, "otype1" : "TAU", "ocut1": 12, "olist1" : "abi", "nleading1": HW.OutputWidthSelectTAU, "otype2" : "J", "ocut2": 25, "olist2": "ab", "nleading2": HW.OutputWidthSelectJET}, #1DISAMB-TAU12abi-J25ab + ] - # added for muon-jet: - for x in [ - {"minDr": 0, "maxDr": 4, "otype1" : "MU" ,"ocut1": 4, "olist1" : "ab", "otype2" : "CJ", "ocut2": 15, "olist2" : "ab"}, - {"minDr": 0, "maxDr": 4, "otype1" : "MU" ,"ocut1": 4, "olist1" : "ab", "otype2" : "CJ", "ocut2": 30, "olist2" : "ab"}, - {"minDr": 0, "maxDr": 4, "otype1" : "MU" ,"ocut1": 6, "olist1" : "ab", "otype2" : "CJ", "ocut2": 20, "olist2" : "ab"}, - {"minDr": 0, "maxDr": 4, "otype1" : "MU" ,"ocut1": 6, "olist1" : "ab", "otype2" : "CJ", "ocut2": 25, "olist2" : "ab"}, - {"minDr": 0, "maxDr": 4, "otype1" : "MU" ,"ocut1": 4, "olist1" : "ab", "otype2" : "CJ", "ocut2": 20, "olist2" : "ab"} - ]: + for x in algolist : class d : pass for k in x: setattr (d, k, x[k]) - toponame = "%iDR%02d-%s%s%s-%s%s%s" % (d.minDr, d.maxDr, d.otype1, str(d.ocut1), d.olist1, d.otype2, str(d.ocut2), d.olist2) - log.debug("Define %s", toponame) + + + obj1 = "%s%s%s" % (d.otype1, str(d.ocut1), d.olist1) # noqa: F821 + obj2 = "-%s%s%s" % (d.otype2, str(d.ocut2), d.olist2) # noqa: F821 + toponame = "%sDISAMB-%s%s" % ( d.disamb if d.disamb>0 else "", obj1, obj2) # noqa: F821 - inputList = [d.otype1 + d.olist1, d.otype2 + d.olist2] - - alg = AlgConf.DeltaRSqrIncl2( name = toponame, inputs = inputList, outputs = [ toponame ], algoId = currentAlgoId); currentAlgoId += 1 - - alg.addgeneric('InputWidth1', HW.OutputWidthSelectMU) - alg.addgeneric('InputWidth2', HW.OutputWidthSelectJET) - alg.addgeneric('MaxTob1', HW.OutputWidthSelectMU) - alg.addgeneric('MaxTob2', HW.OutputWidthSelectJET) - alg.addgeneric('NumResultBits', 1) - alg.addvariable('MinET1', d.ocut1, 0) - alg.addvariable('MinET2', d.ocut2, 0) - alg.addvariable('DeltaRMin', d.minDr*d.minDr, 0) - alg.addvariable('DeltaRMax', d.maxDr*d.maxDr, 0) - tm.registerAlgo(alg) + log.info("Define %s" % toponame) - # dimu INVM items + inputList = [d.otype1 + d.olist1, d.otype2 + d.olist2] # noqa: F821 + alg = AlgConf.DisambiguationIncl2( name = toponame, inputs = inputList, outputs = [ toponame ], algoId = currentAlgoId); currentAlgoId += 1 + alg.addgeneric('InputWidth1', d.nleading1 if d.olist1.find("ab")>=0 else -1000) # noqa: F821 + alg.addgeneric('InputWidth2', d.nleading2 if d.olist2.find("ab")>=0 else -1000) # noqa: F821 + alg.addgeneric('MaxTob1', d.nleading1) # noqa: F821 + alg.addgeneric('MaxTob2', d.nleading2) # noqa: F821 + alg.addgeneric('NumResultBits', 1) + alg.addgeneric('ClusterOnly', 1 if (d.otype1=="EM" and d.otype2=="TAU") or (d.otype1=="TAU" and d.otype2=="EM") else 0 ) # noqa: F821 + alg.addgeneric('ApplyDR', 0) + alg.addvariable('MinET1', d.ocut1) # noqa: F821 + alg.addvariable('MinET2', d.ocut2) # noqa: F821 + alg.addvariable('DisambDRSqrMin', d.disamb*d.disamb) # noqa: F821 + tm.registerAlgo(alg) + + # DISAMB 3 lists with DR cut to 2nd and 3rd lists Lidija algolist=[ - # {"minInvm": 2, "maxInvm": 999, "mult": 2, "otype1" : "CMU","ocut1": 4, "olist" : "ab", "otype2" :"", "ocut2" : 0, "onebarrel": 0}, - # {"minInvm": 2, "maxInvm": 999, "mult": 1, "otype1" : "CMU","ocut1": 4, "olist" : "ab", "otype2" :"MU", "ocut2" : 4, "onebarrel": 0}, - # {"minInvm": 2, "maxInvm": 999, "mult": 1, "otype1" : "MU", "ocut1": 6, "olist" : "ab", "otype2" :"MU", "ocut2" : 4, "onebarrel": 1}, - # {"minInvm": 2, "maxInvm": 999, "mult": 1, "otype1" : "CMU","ocut1": 6, "olist" : "ab", "otype2" :"CMU","ocut2" : 4, "onebarrel": 0}, - - - # {"minInvm": 4, "maxInvm": 8, "mult": 2, "otype1" : "CMU","ocut1": 4, "olist" : "ab", "otype2" : "", "ocut2" : 0, "onebarrel": 0}, - # {"minInvm": 4, "maxInvm": 8, "mult": 1, "otype1" : "CMU","ocut1": 4, "olist" : "ab", "otype2" : "MU","ocut2" : 4, "onebarrel": 0}, - # {"minInvm": 4, "maxInvm": 8, "mult": 1, "otype1" : "MU", "ocut1": 6, "olist" : "ab", "otype2" : "MU","ocut2" : 4, "onebarrel": 1}, - # {"minInvm": 4, "maxInvm": 8, "mult": 1, "otype1" : "CMU","ocut1": 6, "olist" : "ab", "otype2" : "CMU","ocut2": 4, "onebarrel": 0}, - #SX - #{"minInvm": 1, "maxInvm": 19, "mult": 1, "otype1" : "CMU","ocut1": 4, "olist" : "ab", "otype2" :"MU", "ocut2" : 4, "onebarrel": 0}, #1INVM19-CMU4ab-MU4ab - {"minInvm": 2, "maxInvm": 8, "mult": 1, "otype1" : "CMU","ocut1": 4, "olist" : "ab", "otype2" :"MU", "ocut2" : 4, "onebarrel": 0}, #2INVM8-CMU4ab-MU4ab - #{"minInvm": 1, "maxInvm": 19, "mult": 2, "otype1" : "CMU","ocut1": 4, "olist" : "ab", "otype2" :"", "ocut2" : 0, "onebarrel": 0}, #1INVM19-2CMU4ab - #{"minInvm": 2, "maxInvm": 8, "mult": 2, "otype1" : "CMU","ocut1": 4, "olist" : "ab", "otype2" :"", "ocut2" : 0, "onebarrel": 0}, #2INVM8-2CMU4ab - {"minInvm": 2, "maxInvm": 8, "mult": 1, "otype1" : "MU", "ocut1": 6, "olist" : "ab", "otype2" : "MU","ocut2" : 4, "onebarrel": 1}, #2INVM8-ONEBARREL-MU6ab-MU4ab - ] + {"disamb": 2, "otype1" : "TAU", "ocut1": 20, "olist1": "abi","nleading1": HW.OutputWidthSelectTAU, "inputwidth1": HW.OutputWidthSelectTAU, "otype2" : "TAU", "ocut2": 12, "olist2": "abi", "nleading2": HW.OutputWidthSelectTAU, "inputwidth2": HW.OutputWidthSelectTAU, "otype3" : "J", "ocut3": 25, "olist3": "ab", "nleading3": HW.OutputWidthSelectJET, "inputwidth3": HW.OutputWidthSelectJET, "drcutmin": 0, "drcutmax": 25}, # 2DISAMB-J25ab-0DR25-TAU20abi-TAU12abi + {"disamb": 2, "otype1" : "EM", "ocut1": 15, "olist1": "shi","nleading1": 2, "inputwidth1": HW.OutputWidthSortEM, "otype2" : "TAU", "ocut2": 12, "olist2": "abi", "nleading2": HW.OutputWidthSelectTAU, "inputwidth2": HW.OutputWidthSelectTAU, "otype3" : "J", "ocut3": 25, "olist3": "ab", "nleading3": HW.OutputWidthSelectJET, "inputwidth3": HW.OutputWidthSelectJET, "drcutmin": 0, "drcutmax": 28}, #2DISAMB-J25ab-0DR28-EM15his2-TAU12abi + {"disamb": 2, "otype1" : "TAU", "ocut1": 20, "olist1": "abi","nleading1": HW.OutputWidthSelectTAU, "inputwidth1": HW.OutputWidthSelectTAU, "otype2" : "TAU", "ocut2": 12, "olist2": "abi", "nleading2": HW.OutputWidthSelectTAU, "inputwidth2": HW.OutputWidthSelectTAU, "otype3" : "J", "ocut3": 25, "olist3": "ab", "nleading3": HW.OutputWidthSelectJET, "inputwidth3": HW.OutputWidthSelectJET, "drcutmin": 0, "drcutmax": 28}, # 2DISAMB-J25ab-0DR28-TAU20abi-TAU12abi + + ] + for x in algolist: @@ -777,725 +821,642 @@ class TopoAlgoDef(object): for k in x: setattr (d, k, x[k]) - obj1 = "%s%s%s%s" % ((str(d.mult) if d.mult>1 else ""), d.otype1, str(d.ocut1), d.olist) - obj2 = "-%s%s%s" % (d.otype2, str(d.ocut2), d.olist) - toponame = "%iINVM%i-%s%s%s" % (d.minInvm, d.maxInvm, "ONEBARREL-" if d.onebarrel==1 else "", obj1, "" if d.mult>1 else obj2) - - log.debug("Define %s", toponame) - - - inputList = [d.otype1 + d.olist] if (d.mult>1 or d.otype1==d.otype2) else [d.otype1 + d.olist, d.otype2 + d.olist] - algoname = AlgConf.InvariantMassInclusive1 if (d.mult>1 or d.otype1==d.otype2) else AlgConf.InvariantMassInclusive2 - alg = algoname( name = toponame, inputs = inputList, outputs = [ toponame ], algoId = currentAlgoId); currentAlgoId += 1 - if (d.mult>1 or d.otype1==d.otype2): - alg.addgeneric('InputWidth', HW.OutputWidthSelectMU) - alg.addgeneric('MaxTob', HW.OutputWidthSelectMU) - alg.addgeneric('RequireOneBarrel', d.onebarrel) - else: - alg.addgeneric('InputWidth1', HW.OutputWidthSelectMU) - alg.addgeneric('InputWidth2', HW.OutputWidthSelectMU) - alg.addgeneric('MaxTob1', HW.OutputWidthSelectMU) - alg.addgeneric('MaxTob2', HW.OutputWidthSelectMU) + + obj1 = "-%s%s%s" % (d.otype1, str(d.ocut1), d.olist1.replace('shi','his') + (str(d.nleading1) if d.olist1.find('s')>=0 else "")) # noqa: F821 + obj2 = "-%s%s%s" % (d.otype2, str(d.ocut2), d.olist2.replace('shi','his') + (str(d.nleading2) if d.olist2.find('s')>=0 else "")) # noqa: F821 + obj3 = "%s%s%s" % (d.otype3, str(d.ocut3), d.olist3) # noqa: F821 + toponame = "%sDISAMB-%s-%dDR%d%s%s" % ( str(d.disamb) if d.disamb>0 else "", obj3, d.drcutmin, d.drcutmax, obj1, obj2) # noqa: F821 + log.info("Define %s" % toponame) + + inputList = [d.otype1 + d.olist1, d.otype2 + d.olist2, d.otype3 + d.olist3] # noqa: F821 + alg = AlgConf.DisambiguationDRIncl3( name = toponame, inputs = inputList, outputs = [ toponame ], algoId = currentAlgoId); currentAlgoId += 1 + alg.addgeneric('InputWidth1', d.inputwidth1) # noqa: F821 + alg.addgeneric('InputWidth2', d.inputwidth2) # noqa: F821 + alg.addgeneric('InputWidth3', d.inputwidth3) # noqa: F821 + alg.addgeneric('MaxTob1', d.nleading1) # noqa: F821 + alg.addgeneric('MaxTob2', d.nleading2) # noqa: F821 + alg.addgeneric('MaxTob3', d.nleading3) # noqa: F821 alg.addgeneric('NumResultBits', 1) - alg.addvariable('MinET1', d.ocut1) - alg.addvariable('MinET2', d.ocut2 if d.ocut2>0 else d.ocut1) - alg.addvariable('MinMSqr', d.minInvm * d.minInvm) - alg.addvariable('MaxMSqr', d.maxInvm * d.maxInvm) - tm.registerAlgo(alg) - - # dimu DR items - algolist=[# {"minDr": 2, "maxDr": 15, "mult": 1, "otype1" : "CMU","ocut1": 4, "olist" : "ab", "otype2" : "MU", "ocut2": 4, "onebarrel": 0}, - # {"minDr": 2, "maxDr": 15, "mult": 2, "otype1" : "CMU","ocut1": 4, "olist" : "ab", "otype2" : "", "ocut2": 4, "onebarrel": 0}, - # {"minDr": 2, "maxDr": 15, "mult": 1, "otype1" : "MU", "ocut1": 6, "olist" : "ab", "otype2" : "MU","ocut2": 4, "onebarrel": 1}, - # {"minDr": 2, "maxDr": 15, "mult": 1, "otype1" : "CMU","ocut1": 6, "olist" : "ab", "otype2" : "CMU","ocut2": 4, "onebarrel": 0}, - - #SX - {"minDr": 0, "maxDr": 24, "mult": 2, "otype1" : "CMU","ocut1": 4, "olist" : "ab", "otype2" : "", "ocut2": 4, "onebarrel": 0}, #0DR24-2CMU4ab - {"minDr": 0, "maxDr": 24, "mult": 1, "otype1" : "CMU","ocut1": 4, "olist" : "ab", "otype2" : "MU","ocut2": 4, "onebarrel": 0}, #0DR24-CMU4ab-MU4ab - ] - - for x in algolist : - class d : pass - for k in x: - setattr (d, k, x[k]) - - obj1 = "%s%s%s%s" % ((str(d.mult) if d.mult>1 else ""), d.otype1, str(d.ocut1), d.olist) - obj2 = "-%s%s%s" % (d.otype2, str(d.ocut2), d.olist) - toponame = "%iDR%i-%s%s%s" % (d.minDr, d.maxDr, "ONEBARREL-" if d.onebarrel==1 else "", obj1, "" if d.mult>1 else obj2) - - log.debug("Define %s", toponame) - - inputList = [d.otype1 + d.olist] if (d.mult>1 or d.otype1==d.otype2) else [d.otype1 + d.olist, d.otype2 + d.olist] - algoname = AlgConf.DeltaRSqrIncl1 if (d.mult>1 or d.otype1==d.otype2) else AlgConf.DeltaRSqrIncl2 - alg = algoname( name = toponame, inputs = inputList, outputs = [ toponame ], algoId = currentAlgoId); currentAlgoId += 1 - if (d.mult>1 or d.otype1==d.otype2): - alg.addgeneric('InputWidth', HW.OutputWidthSelectMU) - alg.addgeneric('MaxTob', HW.OutputWidthSelectMU) - alg.addgeneric('RequireOneBarrel', d.onebarrel) - else: - alg.addgeneric('InputWidth1', HW.OutputWidthSelectMU) - alg.addgeneric('InputWidth2', HW.OutputWidthSelectMU) - alg.addgeneric('MaxTob1', HW.OutputWidthSelectMU) - alg.addgeneric('MaxTob2', HW.OutputWidthSelectMU) - + alg.addvariable('MinET1', d.ocut1, 0) # noqa: F821 + alg.addvariable('MinET2', d.ocut2, 0) # noqa: F821 + alg.addvariable('MinET3', d.ocut3, 0) # noqa: F821 + alg.addvariable('DisambDRSqrMin', d.drcutmin*d.drcutmin, 0) # noqa: F821 + alg.addvariable('DisambDRSqrMax', d.drcutmax*d.drcutmax, 0) # noqa: F821 + alg.addvariable('DisambDRSqr', d.disamb*d.disamb, 0) # noqa: F821 + tm.registerAlgo(alg) - alg.addgeneric('NumResultBits', 1) - alg.addvariable('MinET1', d.ocut1) - alg.addvariable('MinET2', d.ocut2) - alg.addvariable('DeltaRMin', d.minDr*d.minDr) - alg.addvariable('DeltaRMax', d.maxDr*d.maxDr) - tm.registerAlgo(alg) - # deta-dphi with ab+ab - if usev7: - algoList = [ - {"minDeta": 0, "maxDeta": 20, "minDphi": 0, "maxDphi": 20, "mult": 1, "otype1" : "TAU", "ocut1": 20, "olist1" : "abi", "nleading1": HW.OutputWidthSelectTAU, "otype2" : "TAU", "ocut2": 12, "olist2": "abi", "nleading2": HW.OutputWidthSelectTAU}, - ] - else: - algoList = [ - {"minDeta": 0, "maxDeta": "04", "minDphi": 0, "maxDphi": "03", "mult": 1, "otype1" : "EM", "ocut1": 8, "olist1" : "abi", "nleading1": HW.OutputWidthSelectEM, "otype2" : "MU", "ocut2": 10, "olist2": "ab", "nleading2": HW.OutputWidthSelectMU}, - {"minDeta": 0, "maxDeta": "04", "minDphi": 0, "maxDphi": "03", "mult": 1, "otype1" : "EM", "ocut1": 15, "olist1" : "abi", "nleading1": HW.OutputWidthSelectEM, "otype2" : "MU", "ocut2": 0, "olist2": "ab", "nleading2": HW.OutputWidthSelectMU}, - {"minDeta": 0, "maxDeta": 20, "minDphi": 0, "maxDphi": 20, "mult": 1, "otype1" : "TAU", "ocut1": 20, "olist1" : "abi", "nleading1": HW.OutputWidthSelectTAU, "otype2" : "TAU", "ocut2": 12, "olist2": "abi", "nleading2": HW.OutputWidthSelectTAU}, - ] + # + xemap = [{"etcut": 0, "Threlist": [ 40, 50, 55, 60, 65, 75 ]}] + for x in xemap: - for x in algoList: class d : pass for k in x: setattr (d, k, x[k]) - obj1 = "%s%s%s%s" % ((str(d.mult) if d.mult>1 else ""), d.otype1, str(d.ocut1), d.olist1) - obj2 = "-%s%s%s" % (d.otype2, str(d.ocut2) if d.ocut2>0 else "", d.olist2) - toponame = "%sDETA%s-%sDPHI%s-%s%s" % (d.minDeta, d.maxDeta, d.minDphi, d.maxDphi, obj1, "" if d.mult>1 else obj2) - - log.debug("Define %s", toponame) - - inputList = [d.otype1 + d.olist1] if (d.mult>1 or d.otype1==d.otype2) else [d.otype1 + d.olist1, d.otype2 + d.olist2] - algoname = AlgConf.DeltaEtaPhiIncl1 if (d.mult>1 or d.otype1==d.otype2) else AlgConf.DeltaEtaPhiIncl2 - - alg = algoname( name = toponame, inputs = inputList, outputs = [ toponame ], algoId = currentAlgoId); currentAlgoId += 1 - alg.addgeneric('NumResultBits', 1) + + log.info("Define %s" % toponame) - if (d.mult>1 or d.otype1==d.otype2): - alg.addgeneric('InputWidth', d.nleading1) - alg.addgeneric('MaxTob', d.nleading1) - alg.addvariable('MinET1', d.ocut1, 0) - alg.addvariable('MinET2', d.ocut2, 0) - alg.addvariable('MinDeltaEta', d.minDeta, 0) - alg.addvariable('MaxDeltaEta', d.maxDeta, 0) - alg.addvariable('MinDeltaPhi', d.minDphi, 0) - alg.addvariable('MaxDeltaPhi', d.maxDphi, 0) - else: - alg.addgeneric('InputWidth1', d.nleading1) - alg.addgeneric('InputWidth2', d.nleading2) - alg.addgeneric('MaxTob1', d.nleading1) - alg.addgeneric('MaxTob2', d.nleading2) - alg.addvariable('MinET1', d.ocut1, 0) - alg.addvariable('MinET2', d.ocut2, 0) - alg.addvariable('DeltaEtaMin', d.minDeta, 0) - alg.addvariable('DeltaEtaMax', d.maxDeta, 0) - alg.addvariable('DeltaPhiMin', d.minDphi, 0) - alg.addvariable('DeltaPhiMax', d.maxDphi, 0) + inputList = ['XENoSort', 'AJall'] + toponames=[] + for minxe in d.Threlist: # noqa: F821 + toponames.append("KF-XE%s-AJall" % (minxe)) + + alg = AlgConf.KalmanMETCorrection( name = "KF-XE-AJall", inputs = inputList, outputs = toponames, algoId = currentAlgoId ); currentAlgoId += 1 + alg.addgeneric('InputWidth', HW.InputWidthJET) + alg.addgeneric('NumResultBits', len(toponames)) + alg.addvariable('MinET', 0) + for bitid,minxe in enumerate(d.Threlist): # noqa: F821 + alg.addvariable('KFXE', str(minxe), bitid) tm.registerAlgo(alg) - # LFV DETA ATR-14282 - if usev7: - algoList = [ - {"minDeta": 0, "maxDeta": "04", "mult": 1, "otype1" : "EM", "ocut1": 8, "olist1" : "abi", "nleading1": HW.OutputWidthSelectEM, "otype2" : "MU", "ocut2": 10, "olist2": "ab", "nleading2": HW.OutputWidthSelectMU}, - {"minDeta": 0, "maxDeta": "04", "mult": 1, "otype1" : "EM", "ocut1": 15, "olist1" : "abi", "nleading1": HW.OutputWidthSelectEM, "otype2" : "MU", "ocut2": 0, "olist2": "ab", "nleading2": HW.OutputWidthSelectMU}, - ] - else: - algoList = [] - - for x in algoList: + + # LATE MUON : LATE-MU10s1 + for x in [ + {"otype" : "LATE-MU", "ocut" : 10, "inputwidth": HW.NumberOfDelayedMuons}, + ]: class d : pass for k in x: setattr (d, k, x[k]) - toponame = "%sDETA%s-%s%s%s-%s%s%s" % (d.minDeta, d.maxDeta, d.otype1, str(d.ocut1), d.olist1, d.otype2, str(d.ocut2) if d.ocut2>0 else "", d.olist2) - - log.debug("Define %s", toponame) - inputList = [d.otype1 + d.olist1, d.otype2 + d.olist2] - alg = AlgConf.DeltaEtaIncl2( name = toponame, inputs = inputList, outputs = [ toponame ], algoId = currentAlgoId); currentAlgoId += 1 - alg.addgeneric('NumResultBits', 1) + + toponame = "%s%ss1" % ( d.otype, str(d.ocut) ) # noqa: F821 - alg.addgeneric('InputWidth1', d.nleading1) - alg.addgeneric('InputWidth2', d.nleading2) - alg.addgeneric('MaxTob1', d.nleading1) - alg.addgeneric('MaxTob2', d.nleading2) - alg.addvariable('MinET1', d.ocut1, 0) - alg.addvariable('MinET2', d.ocut2, 0) - alg.addvariable('MinDeltaEta', d.minDeta, 0) - alg.addvariable('MaxDeltaEta', d.maxDeta, 0) + log.info("Define %s" % toponame) - tm.registerAlgo(alg) + inputList = 'LMUs' - if usev7: - algoList = [ - {"minDphi": 0, "maxDphi": "03", "mult": 1, "otype1" : "EM", "ocut1": 8, "olist1" : "abi", "nleading1": HW.OutputWidthSelectEM, "otype2" : "MU", "ocut2": 10, "olist2": "ab", "nleading2": HW.OutputWidthSelectMU}, - {"minDphi": 0, "maxDphi": "03", "mult": 1, "otype1" : "EM", "ocut1": 15, "olist1" : "abi", "nleading1": HW.OutputWidthSelectEM, "otype2" : "MU", "ocut2": 0, "olist2": "ab", "nleading2": HW.OutputWidthSelectMU}, - ] - else: - algoList = [] + alg = AlgConf.EtCut( name = toponame, inputs = inputList, outputs = toponame, algoId = currentAlgoId ); currentAlgoId += 1 + alg.addgeneric('InputWidth', d.inputwidth) # noqa: F821 + alg.addgeneric('MaxTob', 1) + alg.addgeneric('NumResultBits', 1) + alg.addvariable('MinET', str(d.ocut)) # noqa: F821 + tm.registerAlgo(alg) + + # (ATR-12748) fat jet trigger with Simple Cone algo + algoList = [ + {"minHT": 111, "otype" : "CJ", "ocut" : 15, "olist" : "ab", "nleading" : HW.OutputWidthSelectJET, "inputwidth": HW.OutputWidthSelectJET, "oeta" : 26}, #SC111-CJ15ab.ETA26 + ] for x in algoList: class d : pass for k in x: setattr (d, k, x[k]) - - toponame = "%sDPHI%s-%s%s%s-%s%s%s" % (d.minDphi, d.maxDphi, d.otype1, str(d.ocut1), d.olist1, d.otype2, str(d.ocut2) if d.ocut2>0 else "", d.olist2) - - log.debug("Define %s", toponame) - inputList = [d.otype1 + d.olist1, d.otype2 + d.olist2] - alg = AlgConf.DeltaPhiIncl2( name = toponame, inputs = inputList, outputs = [ toponame ], algoId = currentAlgoId); currentAlgoId += 1 - alg.addgeneric('NumResultBits', 1) - - alg.addgeneric('InputWidth1', d.nleading1) - alg.addgeneric('InputWidth2', d.nleading2) - alg.addgeneric('MaxTob1', d.nleading1) - alg.addgeneric('MaxTob2', d.nleading2) - alg.addvariable('MinET1', d.ocut1, 0) - alg.addvariable('MinET2', d.ocut2, 0) - alg.addvariable('MinDeltaPhi', d.minDphi, 0) - alg.addvariable('MaxDeltaPhi', d.maxDphi, 0) - tm.registerAlgo(alg) + toponame = "SC%d-%s%s%s%s.ETA%s" % (d.minHT, d.otype, str(d.ocut), d.olist, str(d.nleading) if d.olist=="s" else "", str(d.oeta)) # noqa: F821 - - # JetMatch - toponame = "0MATCH-4AJ20.ETA31-4AJj15.ETA31" - alg = AlgConf.MultiplicityCustom( name = toponame, inputs = [ 'AJMatchall' ], outputs = [ toponame ], algoId = currentAlgoId ); currentAlgoId += 1 - alg.addgeneric('InputWidth', HW.InputWidthJET) - alg.addgeneric('NumResultBits', 1) - alg.addvariable('MinET', 0) - alg.addvariable('MinEta', 0) - alg.addvariable('MaxEta', 31) - alg.addvariable('MinMultiplicity', 4) - tm.registerAlgo(alg) - - # NoMatch for W T&P - toponame = "NOT-02MATCH-EM10s1-AJj15all.ETA49" - alg = AlgConf.NotMatch( name = toponame, inputs = [ 'EMs', 'AJjall'], outputs = [ toponame ], algoId = currentAlgoId ); currentAlgoId += 1 - alg.addgeneric('InputWidth1', HW.OutputWidthSortEM) - alg.addgeneric('InputWidth2', HW.InputWidthJET) - alg.addgeneric('MaxTob1', 1) - alg.addgeneric('MaxTob2', HW.InputWidthJET) - alg.addgeneric('NumResultBits', 1) - alg.addvariable('MinET1', 10) - alg.addvariable('MinET2', 15) - alg.addvariable('EtaMin1', 0) - alg.addvariable('EtaMax1', 49) - alg.addvariable('EtaMin2', 0) - alg.addvariable('EtaMax2', 49) - alg.addvariable('DRCut', 4) - tm.registerAlgo(alg) + log.info("Define %s" % toponame) - # RATIO SUM for W T&P - #toponame = "05RATIO-XE0-SUM0-EM10s1-HT0-AJj15all.ETA49" - #alg = AlgConf.RatioSum( name = toponame, inputs = ['XE', 'AJjall', 'EMs'], outputs = [ toponame ], algoId = currentAlgoId ); currentAlgoId += 1 - #alg.addgeneric('InputWidth1', 1) - #alg.addgeneric('InputWidth2', HW.InputWidthJET) - #alg.addgeneric('InputWidth3', HW.OutputWidthSortEM) - #alg.addgeneric('MaxTob1', 1) - #alg.addgeneric('MaxTob2', HW.InputWidthJET) - #alg.addgeneric('MaxTob3', 1) - #alg.addgeneric('NumResultBits', 1) - #alg.addgeneric('UseCluster05Granularity', 1) - #alg.addvariable('MinET2', 15) - #alg.addvariable('EtaMin2', 0) - #alg.addvariable('EtaMax2', 49) - #alg.addvariable('MinET3', 10) - #alg.addvariable('EtaMin3', 0) - #alg.addvariable('EtaMax3', 49) - #alg.addvariable('MinMET', 0) - #alg.addvariable('HT', 0) - #alg.addvariable('SUM', 0) - #alg.addvariable('Ratio', 5, 0) - #tm.registerAlgo(alg) - - # RATIO for W T&P - for x in [ - {"minRatio": 5, "ocut" : 15, "Ratio": "RATIO"}, - #{"minRatio": 8, "ocut" : 15, "Ratio": "RATIO"}, - {"minRatio": 90, "ocut" : 15, "Ratio": "RATIO2"}, - {"minRatio": 250, "ocut" : 15, "Ratio": "RATIO2"}, - ]: - - class d : pass - for k in x: - setattr (d, k, x[k]) - - toponame = "%02d%s-XE0-HT0-AJj%sall.ETA49" % (d.minRatio, d.Ratio, str(d.ocut)) - log.debug("Define %s", toponame) - - alg = AlgConf.Ratio( name = toponame, inputs = ['XE', 'AJjall'], outputs = [ toponame ], algoId = currentAlgoId ) - currentAlgoId += 1 - alg.addgeneric('InputWidth1', 1) - alg.addgeneric('InputWidth2', HW.InputWidthJET) - alg.addgeneric('MaxTob1', 1) - alg.addgeneric('MaxTob2', HW.InputWidthJET) - alg.addgeneric('NumResultBits', 1) - alg.addgeneric('isXE2', 1 if d.Ratio=="RATIO2" else 0) - alg.addvariable('MinET2', str(d.ocut)) - alg.addvariable('EtaMin', 0) - alg.addvariable('EtaMax', 49) - alg.addvariable('MinET1', 0) - alg.addvariable('HT', 0) - alg.addvariable('Ratio', str(d.minRatio)) - tm.registerAlgo(alg) + inputList = d.otype + d.olist # noqa: F821 - - # RATIO MATCH dedicated to Exotic - toponame = '100RATIO-0MATCH-TAU30si2-EMall' - alg = AlgConf.RatioMatch( name = toponame, inputs = [ 'TAUsi', 'EMall'], outputs = [ toponame ], algoId = currentAlgoId ); currentAlgoId += 1 - alg.addgeneric('InputWidth1', HW.OutputWidthSortTAU) - alg.addgeneric('InputWidth2', HW.InputWidthEM) - alg.addgeneric('MaxTob1', 2) - alg.addgeneric('MaxTob2', HW.InputWidthEM) - alg.addgeneric('NumResultBits', 1) - alg.addvariable('MinET1', 30) - alg.addvariable('MinET2', 0) - alg.addvariable('Ratio', 100, 0) - tm.registerAlgo(alg) + alg = AlgConf.SimpleCone( name = toponame, inputs = inputList, outputs = [toponame], algoId = currentAlgoId ); currentAlgoId += 1 - # NOT MATCH dedicated to Exotic - toponame = 'NOT-0MATCH-TAU30si2-EMall' - alg = AlgConf.NotMatch( name = toponame, inputs = [ 'TAUsi', 'EMall'], outputs = [ toponame ], algoId = currentAlgoId ); currentAlgoId += 1 - alg.addgeneric('InputWidth1', HW.OutputWidthSortTAU) - alg.addgeneric('InputWidth2', HW.InputWidthEM) - alg.addgeneric('MaxTob1', 2) - alg.addgeneric('MaxTob2', HW.InputWidthEM) - alg.addgeneric('NumResultBits', 1) - alg.addvariable('MinET1', 30) - alg.addvariable('MinET2', 0) - alg.addvariable('EtaMin1', 0) - alg.addvariable('EtaMax1', 49) - alg.addvariable('EtaMin2', 0) - alg.addvariable('EtaMax2', 49) - alg.addvariable('DRCut', 0) - tm.registerAlgo(alg) + alg.addgeneric('InputWidth', d.inputwidth) # noqa: F821 + alg.addvariable('MinET', d.ocut) # noqa: F821 + alg.addvariable('MinSumET', d.minHT) # noqa: F821 + alg.addvariable('MaxRSqr', 10*10) + tm.registerAlgo(alg) - # MULT-BIT + # DISAMB-INVM for x in [ - {"otype1" : "CMU" ,"ocut1": 4, "olist1" : "ab", "nleading1": HW.OutputWidthSelectMU, "inputwidth1": HW.OutputWidthSelectMU}, - {"otype1" : "CMU" ,"ocut1": 6, "olist1" : "ab", "nleading1": HW.OutputWidthSelectMU, "inputwidth1": HW.OutputWidthSelectMU}, - ]: + {"disamb": 0, "minInvm": 30, "maxInvm": 9999,"otype1" : "EM", "ocut1": 20, "olist1": "shi","nleading1": 2, "inputwidth1": HW.OutputWidthSortEM, "otype2" : "TAU", "ocut2": 12, "olist2": "ab", "nleading2": HW.OutputWidthSelectTAU, "inputwidth2": HW.OutputWidthSelectTAU}, # DISAMB-30INVM-EM20his2-TAU12ab + ]: class d : pass for k in x: setattr (d, k, x[k]) - - toponame = "MULT-%s%s%s" % (d.otype1, str(d.ocut1), d.olist1) - toponames = [toponame+"[0]", toponame+"[1]"] - log.debug("Define %s", toponames) + - inputList = [d.otype1 + d.olist1] - alg = AlgConf.Multiplicity( name = toponame, inputs = inputList, outputs = toponames, algoId = currentAlgoId); currentAlgoId += 1 + obj1 = "%s%s%s" % (d.otype1, str(d.ocut1), d.olist1.replace('shi','his') + (str(d.nleading1) if d.olist1.find('s')>=0 else "")) # noqa: F821 + obj2 = "-%s%s%s" % (d.otype2, str(d.ocut2), d.olist2) # noqa: F821 + toponame = "%sDISAMB-%iINVM%s-%s%s" % ( d.disamb if d.disamb>0 else "", d.minInvm, str(d.maxInvm) if d.maxInvm<9999 else "", obj1, obj2) # noqa: F821 - alg.addgeneric('InputWidth', d.inputwidth1) - alg.addgeneric('NumResultBits', 2) - alg.addvariable('MinET', d.ocut1-1) # for MU threshold -1 - tm.registerAlgo(alg) + log.info("Define %s" % toponame) + inputList = [d.otype1 + d.olist1, d.otype2 + d.olist2] # noqa: F821 + #alg = AlgConf.DisambiguationInvariantMass2( name = toponame, inputs = inputList, outputs = toponame, algoId = currentAlgoId); currentAlgoId += 1 + alg = AlgConf.DisambiguationInvmIncl2( name = toponame, inputs = inputList, outputs = toponame, algoId = currentAlgoId); currentAlgoId += 1 - - # DISAMB 2 lists - for x in [ - {"disamb": 1, "otype1" : "TAU", "ocut1": 12, "olist1" : "abi", "nleading1": HW.OutputWidthSelectTAU, "otype2" : "J", "ocut2": 25, "olist2": "ab", "nleading2": HW.OutputWidthSelectJET}, - #{"disamb": 0, "otype1" : "EM", "ocut1": 15, "olist1" : "abhi", "nleading1": HW.OutputWidthSelectEM, "otype2" : "TAU", "ocut2": 40, "olist2": "ab", "nleading2": HW.OutputWidthSelectTAU}, - #{"disamb": 1, "otype1" : "TAU", "ocut1": 20, "olist1" : "ab", "nleading1": HW.OutputWidthSelectTAU, "otype2" : "J", "ocut2": 20, "olist2": "ab", "nleading2": HW.OutputWidthSelectJET}, - #{"disamb": 0, "otype1" : "EM", "ocut1": 15, "olist1" : "abhi", "nleading1": HW.OutputWidthSelectEM, "otype2" : "TAU", "ocut2": 12, "olist2": "abi", "nleading2": HW.OutputWidthSelectTAU}, - ]: + alg.addgeneric('InputWidth1', d.inputwidth1) # noqa: F821 + alg.addgeneric('InputWidth2', d.inputwidth2) # noqa: F821 + alg.addgeneric('MaxTob1', d.nleading1) # noqa: F821 + alg.addgeneric('MaxTob2', d.nleading2) # noqa: F821 + alg.addgeneric('NumResultBits', 1) + alg.addvariable('MinET1', d.ocut1) # noqa: F821 + alg.addvariable('MinET2', d.ocut2) # noqa: F821 + alg.addvariable('MinMSqr', d.minInvm * d.minInvm) # noqa: F821 + alg.addvariable('MaxMSqr', d.maxInvm * d.maxInvm) # noqa: F821 + + tm.registerAlgo(alg) + + # + for x in [ + { "minInvm": 400, "maxInvm": 9999, "otype1" : "AJ", "ocut1": 30, "olist1" : "s", "nleading1" : 6, "inputwidth1": HW.OutputWidthSortJET, "otype2" : "AJ", "ocut2": 20, "olist2" : "s", "nleading2" : 6, "inputwidth2": HW.OutputWidthSortJET, "applyEtaCut":1, "minEta1": 0 ,"maxEta1": 31 , "minEta2": 31 ,"maxEta2": 49 , }, #400INVM9999-AJ30s6.ETA31-AJ20s6.31ETA49 + ]: class d : pass for k in x: setattr (d, k, x[k]) - obj1 = "%s%s%s" % (d.otype1, str(d.ocut1), d.olist1) - obj2 = "-%s%s%s" % (d.otype2, str(d.ocut2), d.olist2) - toponame = "%sDISAMB-%s%s" % ( d.disamb if d.disamb>0 else "", obj1, obj2) - - log.debug("Define %s", toponame) + + obj1 = "%s%s%s.%sETA%i" % (d.otype1, str(d.ocut1), d.olist1 + (str(d.nleading1) if d.olist1.find('s')>=0 else ""),str(d.minEta1) if d.minEta1>0 else "", d.maxEta1) # noqa: F821 + obj2 = "-%s%s%s.%sETA%i" % (d.otype2, str(d.ocut2), d.olist2 + (str(d.nleading2) if d.olist2.find('s')>=0 else ""),str(d.minEta2) if d.minEta2>0 else "", d.maxEta2) # noqa: F821 - inputList = [d.otype1 + d.olist1, d.otype2 + d.olist2] - alg = AlgConf.DisambiguationIncl2( name = toponame, inputs = inputList, outputs = [ toponame ], algoId = currentAlgoId); currentAlgoId += 1 - alg.addgeneric('InputWidth1', d.nleading1 if d.olist1.find("ab")>=0 else -1000) - alg.addgeneric('InputWidth2', d.nleading2 if d.olist2.find("ab")>=0 else -1000) - alg.addgeneric('MaxTob1', d.nleading1) - alg.addgeneric('MaxTob2', d.nleading2) - alg.addgeneric('NumResultBits', 1) - alg.addgeneric('ClusterOnly', 1 if (d.otype1=="EM" and d.otype2=="TAU") or (d.otype1=="TAU" and d.otype2=="EM") else 0 ) - alg.addgeneric('ApplyDR', 0) - alg.addvariable('MinET1', d.ocut1) - alg.addvariable('MinET2', d.ocut2) - alg.addvariable('DisambDRSqrMin', d.disamb*d.disamb) - tm.registerAlgo(alg) + inputList = [d.otype1 + d.olist1, d.otype2 + d.olist2] # noqa: F821 - # DISAMB 3 lists - for x in [ - {"disamb": 1, "otype1" : "EM", "ocut1": 15, "olist1": "shi","nleading1": 2, "inputwidth1": HW.OutputWidthSortEM, "otype2" : "TAU", "ocut2": 12, "olist2": "abi", "nleading2": HW.OutputWidthSelectTAU, "inputwidth2": HW.OutputWidthSelectTAU, "otype3" : "J", "ocut3": 25, "olist3": "ab", "nleading3": HW.OutputWidthSelectJET, "inputwidth3": HW.OutputWidthSelectJET}, - {"disamb": 1, "otype1" : "TAU", "ocut1": 20, "olist1": "abi","nleading1": HW.OutputWidthSelectTAU, "inputwidth1": HW.OutputWidthSelectTAU, "otype2" : "TAU", "ocut2": 12, "olist2": "abi", "nleading2": HW.OutputWidthSelectTAU, "inputwidth2": HW.OutputWidthSelectTAU, "otype3" : "J", "ocut3": 25, "olist3": "ab", "nleading3": HW.OutputWidthSelectTAU, "inputwidth3": HW.OutputWidthSelectJET}, - ]: - - class d : pass - for k in x: - setattr (d, k, x[k]) - - obj1 = "%s%s%s" % (d.otype1, str(d.ocut1), d.olist1.replace('shi','his') + (str(d.nleading1) if d.olist1.find('s')>=0 else "")) - obj2 = "-%s%s%s" % (d.otype2, str(d.ocut2), d.olist2.replace('shi','his') + (str(d.nleading2) if d.olist2.find('s')>=0 else "")) - obj3 = "-%s%s%s" % (d.otype3, str(d.ocut3), d.olist3) - toponame = "%sDISAMB-%s%s%s" % ( d.disamb if d.disamb>0 else "", obj1, obj2, obj3) + toponame = "%iINVM%i-%s%s" % (d.minInvm, d.maxInvm, obj1, obj2) # noqa: F821 + alg = AlgConf.InvariantMassInclusive2( name = toponame, inputs = inputList, outputs = toponame, algoId = currentAlgoId); currentAlgoId += 1 + + + alg.addgeneric('InputWidth1', d.inputwidth1) # noqa: F821 + alg.addgeneric('InputWidth2', d.inputwidth2) # noqa: F821 + alg.addgeneric('MaxTob1', d.nleading1) # noqa: F821 + alg.addgeneric('MaxTob2', d.nleading2) # noqa: F821 + alg.addgeneric('NumResultBits', 1) + if (d.applyEtaCut>0): # noqa: F821 + alg.addgeneric('ApplyEtaCut', d.applyEtaCut) # noqa: F821 - log.debug("Define %s", toponame) + alg.addvariable('MinET1', d.ocut1) # noqa: F821 + alg.addvariable('MinET2', d.ocut2) # noqa: F821 + alg.addvariable('MinMSqr', d.minInvm * d.minInvm ) # noqa: F821 + alg.addvariable('MaxMSqr', d.maxInvm * d.maxInvm ) # noqa: F821 + if (d.applyEtaCut>0): # noqa: F821 + alg.addvariable('MinEta1', d.minEta1) # noqa: F821 + alg.addvariable('MaxEta1', d.maxEta1) # noqa: F821 + alg.addvariable('MinEta2', d.minEta2) # noqa: F821 + alg.addvariable('MaxEta2', d.maxEta2) # noqa: F821 - inputList = [d.otype1 + d.olist1, d.otype2 + d.olist2, d.otype3 + d.olist3] - alg = AlgConf.DisambiguationIncl3( name = toponame, inputs = inputList, outputs = [ toponame ], algoId = currentAlgoId); currentAlgoId += 1 - alg.addgeneric('InputWidth1', d.inputwidth1) - alg.addgeneric('InputWidth2', d.inputwidth2) - alg.addgeneric('InputWidth3', d.inputwidth3) - alg.addgeneric('MaxTob1', d.nleading1) - alg.addgeneric('MaxTob2', d.nleading2) - alg.addgeneric('MaxTob3', d.nleading3) - alg.addgeneric('NumResultBits', 1) - alg.addgeneric('ApplyDR', 0) - alg.addvariable('MinET1', d.ocut1, 0) - alg.addvariable('MinET2', d.ocut2, 0) - alg.addvariable('MinET3', d.ocut3, 0) - alg.addvariable('DisambDRSqr', d.disamb*d.disamb, 0) # DisambDR - tm.registerAlgo(alg) + tm.registerAlgo(alg) - # DISAMB 3 lists with DR cut to 2nd and 3rd lists - algolist=[ - {"disamb": 1, "otype1" : "EM", "ocut1": 15, "olist1": "shi","nleading1": 2, "inputwidth1": HW.OutputWidthSortEM, "otype2" : "TAU", "ocut2": 12, "olist2": "abi", "nleading2": HW.OutputWidthSelectTAU, "inputwidth2": HW.OutputWidthSelectTAU, "otype3" : "J", "ocut3": 25, "olist3": "ab", "nleading3": HW.OutputWidthSelectJET, "inputwidth3": HW.OutputWidthSelectJET, "drcutmin": 0, "drcutmax": 28}, - {"disamb": 1, "otype1" : "TAU", "ocut1": 20, "olist1": "abi","nleading1": HW.OutputWidthSelectTAU, "inputwidth1": HW.OutputWidthSelectTAU, "otype2" : "TAU", "ocut2": 12, "olist2": "abi", "nleading2": HW.OutputWidthSelectTAU, "inputwidth2": HW.OutputWidthSelectTAU, "otype3" : "J", "ocut3": 25, "olist3": "ab", "nleading3": HW.OutputWidthSelectJET, "inputwidth3": HW.OutputWidthSelectJET, "drcutmin": 0, "drcutmax": 28}, # 1DISAMB-J25ab-0DR28-TAU20abi-TAU12abi - {"disamb": 1, "otype1" : "TAU", "ocut1": 20, "olist1": "abi","nleading1": HW.OutputWidthSelectTAU, "inputwidth1": HW.OutputWidthSelectTAU, "otype2" : "TAU", "ocut2": 12, "olist2": "abi", "nleading2": HW.OutputWidthSelectTAU, "inputwidth2": HW.OutputWidthSelectTAU, "otype3" : "J", "ocut3": 25, "olist3": "ab", "nleading3": HW.OutputWidthSelectJET, "inputwidth3": HW.OutputWidthSelectJET, "drcutmin": 0, "drcutmax": 25}, # 1DISAMB-J25ab-0DR25-TAU20abi-TAU12abi - ] - - for x in algolist: + # 0INVM9-EM7ab-EMab + for x in [ + {"minInvm" : 0, "maxInvm": 9, "otype" : "EM", "ocut1" : 7, "olist" : "ab", "inputwidth": HW.OutputWidthSelectEM, "ocut2" : 0}, + ]: class d : pass for k in x: setattr (d, k, x[k]) - obj1 = "-%s%s%s" % (d.otype1, str(d.ocut1), d.olist1.replace('shi','his') + (str(d.nleading1) if d.olist1.find('s')>=0 else "")) - obj2 = "-%s%s%s" % (d.otype2, str(d.ocut2), d.olist2.replace('shi','his') + (str(d.nleading2) if d.olist2.find('s')>=0 else "")) - obj3 = "%s%s%s" % (d.otype3, str(d.ocut3), d.olist3) - toponame = "%sDISAMB-%s-%dDR%d%s%s" % ( str(d.disamb) if d.disamb>0 else "", obj3, d.drcutmin, d.drcutmax, obj1, obj2) + + inputList = d.otype + d.olist # noqa: F821 + toponame = "%iINVM%i-%s%s%s-%s%s" % (d.minInvm, d.maxInvm, # noqa: F821 + d.otype, str(d.ocut1) , d.olist, # noqa: F821 + d.otype, d.olist) # noqa: F821 - log.debug("Define %s", toponame) - - inputList = [d.otype1 + d.olist1, d.otype2 + d.olist2, d.otype3 + d.olist3] - alg = AlgConf.DisambiguationDRIncl3( name = toponame, inputs = inputList, outputs = [ toponame ], algoId = currentAlgoId); currentAlgoId += 1 - alg.addgeneric('InputWidth1', d.inputwidth1) - alg.addgeneric('InputWidth2', d.inputwidth2) - alg.addgeneric('InputWidth3', d.inputwidth3) - alg.addgeneric('MaxTob1', d.nleading1) - alg.addgeneric('MaxTob2', d.nleading2) - alg.addgeneric('MaxTob3', d.nleading3) + alg = AlgConf.InvariantMassInclusive1( name = toponame, inputs = inputList, outputs = toponame, algoId = currentAlgoId); currentAlgoId += 1 # noqa: F821 + alg.addgeneric('InputWidth', d.inputwidth) # noqa: F821 + alg.addgeneric('MaxTob', HW.OutputWidthSelectEM) # noqa: F821 alg.addgeneric('NumResultBits', 1) - alg.addvariable('MinET1', d.ocut1, 0) - alg.addvariable('MinET2', d.ocut2, 0) - alg.addvariable('MinET3', d.ocut3, 0) - alg.addvariable('DisambDRSqrMin', d.drcutmin*d.drcutmin, 0) - alg.addvariable('DisambDRSqrMax', d.drcutmax*d.drcutmax, 0) - alg.addvariable('DisambDRSqr', d.disamb*d.disamb, 0) - tm.registerAlgo(alg) + alg.addvariable('MinET1', d.ocut1) # noqa: F821 + alg.addvariable('MinET2', d.ocut2) # noqa: F821 + alg.addvariable('MinMSqr', (d.minInvm * _emscale_for_decision)*(d.minInvm * _emscale_for_decision)) # noqa: F821 + alg.addvariable('MaxMSqr', (d.maxInvm * _emscale_for_decision)*(d.maxInvm * _emscale_for_decision)) # noqa: F821 - # LAR 0<eta<1.4 and 9/16pi<phi<11/16pi for FE crate IO6 - for x in [ - {"minEta": 0, "maxEta": 15, "minPhi": 16, "maxPhi": 23, "otype" : "EM", "ocut" : 20, "inputwidth": HW.OutputWidthSortEM}, - {"minEta": 0, "maxEta": 14, "minPhi": 16, "maxPhi": 23, "otype" : "J", "ocut" : 100, "inputwidth": HW.OutputWidthSortJET}, + tm.registerAlgo(alg) + + + + # added for b-phys, 0DR03-EM7ab-CJ15ab + for x in [ + {"minDr": 0, "maxDr": 3, "otype1" : "EM" ,"ocut1": 7, "olist1" : "ab", "otype2" : "CJ", "ocut2": 15, "olist2" : "ab"} ]: class d : pass for k in x: setattr (d, k, x[k]) - toponame = "LAR-%s%ss1" % ( d.otype, str(d.ocut) if not d.otype=="EM" else "50" ) - - log.debug("Define %s", toponame) - - inputList = d.otype + 's' - - alg = AlgConf.LAr( name = toponame, inputs = inputList, outputs = toponame, algoId = currentAlgoId ); currentAlgoId += 1 - alg.addgeneric('InputWidth', d.inputwidth) - alg.addgeneric('MaxTob', 1) - alg.addgeneric('NumResultBits', 1) - alg.addvariable('MinET', str(d.ocut)) - alg.addvariable('EtaMin', d.minEta) - alg.addvariable('EtaMax', d.maxEta) - alg.addvariable('PhiMin', d.minPhi) - alg.addvariable('PhiMax', d.maxPhi) + + toponame = "%iDR%02d-%s%s%s-%s%s%s" % (d.minDr, d.maxDr, d.otype1, str(d.ocut1), d.olist1, d.otype2, str(d.ocut2), d.olist2) # noqa: F821 + log.info("Define %s" % toponame) + + inputList = [d.otype1 + d.olist1, d.otype2 + d.olist2] # noqa: F821 + + alg = AlgConf.DeltaRSqrIncl2( name = toponame, inputs = inputList, outputs = [ toponame ], algoId = currentAlgoId); currentAlgoId += 1 + + alg.addgeneric('InputWidth1', HW.OutputWidthSelectEM) + alg.addgeneric('InputWidth2', HW.OutputWidthSelectJET) + alg.addgeneric('MaxTob1', HW.OutputWidthSelectEM) + alg.addgeneric('MaxTob2', HW.OutputWidthSelectJET) + alg.addgeneric('NumResultBits', 1) + alg.addvariable('MinET1', d.ocut1, 0) # noqa: F821 + alg.addvariable('MinET2', d.ocut2, 0) # noqa: F821 + alg.addvariable('DeltaRMin', d.minDr*d.minDr, 0) # noqa: F821 + alg.addvariable('DeltaRMax', d.maxDr*d.maxDr, 0) # noqa: F821 tm.registerAlgo(alg) + # VBF items INVM_NFF + invm_nff_map = {"algoname": 'INVM_NFF', "Threlist": [ 500 ], "maxInvm": 9999, "otype1" : "J", "ocut1" : 30, "olist1" : "s", "nleading1" : 6, "inputwidth": HW.OutputWidthSortJET, "otype2" : "AJ", "ocut2" : 20, "olist2" : "s", "nleading2" : 6 } + - xemap = {"etcut": 0, "Threlist": [ 40, 50, 55, 60, 65, 75 ]} - for x in [ - xemap, + for x in [ invm_nff_map, ]: - + class d : pass for k in x: setattr (d, k, x[k]) - - log.debug("Define %s", toponame) - - inputList = ['XENoSort', 'AJall'] - toponames=[] - for minxe in d.Threlist: - toponames.append("KF-XE%s-AJall" % (minxe)) - alg = AlgConf.KalmanMETCorrection( name = "KF-XE-AJall", inputs = inputList, outputs = toponames, algoId = currentAlgoId ); currentAlgoId += 1 - alg.addgeneric('InputWidth', HW.InputWidthJET) - alg.addgeneric('NumResultBits', len(toponames)) - alg.addvariable('MinET', 0) - for bitid,minxe in enumerate(d.Threlist): - alg.addvariable('KFXE', str(minxe), bitid) - - tm.registerAlgo(alg) + inputList = [d.otype1 + d.olist1, d.otype2 + d.olist1] # noqa: F821 + toponames=[] - # W T&P: MINDPHI(J, XE0), (EM, XE0) - alglist = [ - {"minDPhi": 15, "otype" : "EM", "ocut" : 12, "olist" : "s", "nleading" : 6, "inputwidth": HW.OutputWidthSortEM}, - {"minDPhi": 15, "otype" : "EM", "ocut" : 15, "olist" : "s", "nleading" : 6, "inputwidth": HW.OutputWidthSortEM}, - ] + for minInvm in d.Threlist: # noqa: F821 + toponame = "%iINVM%i-%s%s%s%s-%s%s%s%s" % (minInvm, d.maxInvm, + d.otype1, str(d.ocut1) , d.olist1, str(d.nleading1) if d.olist1=="s" else "", + d.otype2, str(d.ocut2) , d.olist2, str(d.nleading2) if d.olist2=="s" else "") + toponames.append(toponame) - for x in alglist: - - class d : pass - for k in x: - setattr (d, k, x[k]) - toponame = "%02dMINDPHI-%s%s%s%s-XE0" % (d.minDPhi, d.otype, str(d.ocut) if d.ocut > 0 else "", d.olist, str(d.nleading) if d.olist=="s" else "") - log.debug("Define %s", toponame) - - inputList = d.otype + d.olist + alg = AlgConf.InvariantMassInclusive2( name = d.algoname, inputs = inputList, outputs = toponames, algoId = currentAlgoId); currentAlgoId += 1 # noqa: F821 - alg = AlgConf.MinDeltaPhiIncl2( name = toponame, inputs = [ inputList, 'XE'], outputs = [ toponame ], algoId = currentAlgoId ); currentAlgoId += 1 + alg.addgeneric('InputWidth1', d.inputwidth) # noqa: F821 + alg.addgeneric('InputWidth2', d.inputwidth) # noqa: F821 + alg.addgeneric('MaxTob1', d.nleading1) # noqa: F821 + alg.addgeneric('MaxTob2', d.nleading2)# noqa: F821 + alg.addgeneric('NumResultBits', len(toponames)) - alg.addgeneric('InputWidth1', d.inputwidth) - alg.addgeneric('InputWidth2', 1) - alg.addgeneric('MaxTob1', d.nleading) - alg.addgeneric('MaxTob2', 1) - alg.addgeneric('NumResultBits', 1) - alg.addvariable('MinET1', d.ocut) - alg.addvariable('MinET2', 0) - alg.addvariable('DeltaPhiMin', d.minDPhi, 0) + for bitid, minInvm in enumerate(d.Threlist): # noqa: F821 + alg.addvariable('MinET1', d.ocut1, bitid)# noqa: F821 + alg.addvariable('MinET2', d.ocut2, bitid)# noqa: F821 + alg.addvariable('MinMSqr', minInvm*minInvm , bitid) # noqa: F821 + alg.addvariable('MaxMSqr', d.maxInvm *d.maxInvm , bitid) # noqa: F821 + tm.registerAlgo(alg) - - # W T&P MT - alglistmt = [ - {"minMT": 35, "otype" : "EM", "ocut" : 12, "olist" : "s", "nleading" : 6, "inputwidth": HW.OutputWidthSortEM}, - ] - for x in alglistmt: + # Axion 2EM DPHI + #27DPHI32-EMs1-EMs6 + algoList = [ + {"minDphi": 27, "maxDphi": 32, "otype" : "EM", "ocut1" : 0, "olist" : "s", "nleading1" : 1, "inputwidth1": HW.OutputWidthSortEM, "ocut2" : 0, "nleading2": 6}, + ] + + for x in algoList: class d : pass for k in x: setattr (d, k, x[k]) - toponame = "%iMT-%s%s%s%s-XE0" % (d.minMT, d.otype, str(d.ocut) if d.ocut > 0 else "", d.olist, str(d.nleading) if d.olist=="s" else "") - log.debug("Define %s", toponame) - - inputList = d.otype + d.olist - alg = AlgConf.TransverseMassInclusive1( name = toponame, inputs = [ inputList, 'XE'], outputs = [ toponame ], algoId = currentAlgoId ); currentAlgoId += 1 + toponame = "%iDPHI%i-%s%s%s%s-%s%s%s%s" % (d.minDphi, d.maxDphi, # noqa: F821 + d.otype, str(d.ocut1) if d.ocut1 > 0 else "", d.olist, str(d.nleading1) if d.olist=="s" else "", # noqa: F821 + d.otype, str(d.ocut2) if d.ocut2 > 0 else "", d.olist, str(d.nleading2) if d.olist=="s" else "") # noqa: F821 + + log.info("Define %s" % toponame) + inputList = d.otype + d.olist # noqa: F821 + + alg = AlgConf.DeltaPhiIncl1( name = toponame, inputs = inputList, outputs = toponame, algoId = currentAlgoId ); currentAlgoId += 1 + + alg.addgeneric('InputWidth', d.inputwidth1) # noqa: F821 + alg.addgeneric('MaxTob', d.nleading2) # noqa: F821 + alg.addgeneric('NumResultBits', 1) + alg.addvariable('MinET1', d.ocut1 if d.ocut1 > 0 else 3, 0) # noqa: F821 + alg.addvariable('MinET2', d.ocut2 if d.ocut2 > 0 else 3, 0) # noqa: F821 + alg.addvariable('MinDeltaPhi', d.minDphi, 0) # noqa: F821 + alg.addvariable('MaxDeltaPhi', d.maxDphi, 0) # noqa: F821 + tm.registerAlgo(alg) + # VBF items INVM_NFF + DPHI + NFFDphimap = [{"minInvm": 400 , "maxInvm": 9999, "minDphi": 0, "maxDphiList": [26, 24, 22, 20], "otype1" : "J", "ocut1" : 30, "olist1" : "s", "nleading1" : 6, "inputwidth": HW.OutputWidthSortJET, "otype2" : "AJ", "ocut2" : 20, "olist2" : "s", "nleading2" : 6 }] - alg.addgeneric('InputWidth', HW.OutputWidthSortEM) - alg.addgeneric('MaxTob', str(d.nleading)) - alg.addgeneric('NumResultBits', 1) - alg.addvariable('MinET1', str(d.ocut)) - alg.addvariable('MinET2', 0) - alg.addvariable('MinMTSqr', d.minMT*d.minMT) - tm.registerAlgo(alg) - - # DISAMB 2 lists with DR cut between objects in two lists - for x in [ - {"disamb": 0, "otype1" : "EM", "ocut1": 15, "olist1": "shi","nleading1": 2, "inputwidth1": HW.OutputWidthSortEM, "otype2" : "TAU", "ocut2": 12, "olist2": "abi", "nleading2": HW.OutputWidthSelectTAU, "inputwidth2": HW.OutputWidthSelectTAU, "drcutmin": 0, "drcutmax": 28}, - ]: + for x in NFFDphimap: class d : pass for k in x: setattr (d, k, x[k]) - obj1 = "-%s%s%s" % (d.otype1, str(d.ocut1), d.olist1.replace('shi','his') + (str(d.nleading1) if d.olist1.find('s')>=0 else "")) - obj2 = "-%s%s%s" % (d.otype2, str(d.ocut2), d.olist2.replace('shi','his') + (str(d.nleading2) if d.olist2.find('s')>=0 else "")) - toponame = "%sDISAMB-%dDR%d%s%s" % ( str(d.disamb) if d.disamb>0 else "", d.drcutmin, d.drcutmax, obj1, obj2) - log.debug("Define %s", toponame) + inputList = [d.otype1 + d.olist1, d.otype2 + d.olist1] # noqa: F821 + toponames=[] - inputList = [d.otype1 + d.olist1, d.otype2 + d.olist2] - alg = AlgConf.DisambiguationDRIncl2( name = toponame, inputs = inputList, outputs = [ toponame ], algoId = currentAlgoId); currentAlgoId += 1 - alg.addgeneric('InputWidth1', d.inputwidth1) - alg.addgeneric('InputWidth2', d.inputwidth2) - alg.addgeneric('MaxTob1', d.nleading1) - alg.addgeneric('MaxTob2', d.nleading2) - alg.addgeneric('NumResultBits', 1) - alg.addvariable('MinET1', d.ocut1, 0) - alg.addvariable('MinET2', d.ocut2, 0) - alg.addvariable('DisambDRSqrMin', d.drcutmin*d.drcutmin, 0) - alg.addvariable('DisambDRSqrMax', d.drcutmax*d.drcutmax, 0) - tm.registerAlgo(alg) + for maxDphi in d.maxDphiList: # noqa: F821 + toponames.append ("%iINVM%i-%iDPHI%i-%s%s%s%s-%s%s%s%s" % (d.minInvm, d.maxInvm, d.minDphi, maxDphi, + d.otype1, str(d.ocut1) , d.olist1, str(d.nleading1) if d.olist1=="s" else "", + d.otype2, str(d.ocut2) , d.olist2, str(d.nleading2) if d.olist2=="s" else "")) - # ZH Trigger + alg = AlgConf.InvariantMassDeltaPhiInclusive2( name = 'INVM_DPHI_NFF', inputs = inputList, outputs = toponames, algoId = currentAlgoId); currentAlgoId += 1 # noqa: F821 - supportedalgolist = [ - {"minDPhi": 10, "otype" : "AJ", "ocut" : 20, "olist" : "s", "nleading" : 2, "inputwidth": HW.OutputWidthSortJET}, - ] - for x in supportedalgolist: - - class d : pass - for k in x: - setattr (d, k, x[k]) - - toponame = "%iMINDPHI-%s%s%s%s-XE50" % (d.minDPhi, d.otype, str(d.ocut) if d.ocut > 0 else "", d.olist, str(d.nleading) if d.olist=="s" else "") - log.debug("Define %s", toponame) - - inputList = d.otype + d.olist - alg = AlgConf.MinDeltaPhiIncl2( name = toponame, inputs = [inputList, 'XE'], outputs = [ toponame ], algoId = currentAlgoId ); currentAlgoId += 1 + alg.addgeneric('InputWidth1', d.inputwidth) # noqa: F821 + alg.addgeneric('InputWidth2', d.inputwidth) # noqa: F821 + alg.addgeneric('MaxTob1', d.nleading1) # noqa: F821 + alg.addgeneric('MaxTob2', d.nleading2)# noqa: F821 + alg.addgeneric('NumResultBits', len(toponames)) + for bitid,maxDphi in enumerate(d.maxDphiList): # noqa: F821 + alg.addvariable('MinET1', d.ocut1, bitid)# noqa: F821 + alg.addvariable('MinET2', d.ocut2, bitid)# noqa: F821 + alg.addvariable('MinMSqr', d.minInvm*d.minInvm , bitid) # noqa: F821 + alg.addvariable('MaxMSqr', d.maxInvm*d.maxInvm , bitid) # noqa: F821 + alg.addvariable('MinDeltaPhi', d.minDphi, bitid) # noqa: F821 + alg.addvariable('MaxDeltaPhi', maxDphi, bitid) # noqa: F821 - alg.addgeneric('InputWidth1', d.inputwidth) - alg.addgeneric('InputWidth2', 1) - alg.addgeneric('MaxTob1', d.nleading) - alg.addgeneric('MaxTob2', 1) - alg.addgeneric('NumResultBits', 1) - alg.addvariable('MinET1', d.ocut) - alg.addvariable('MinET2', 50) - alg.addvariable('DeltaPhiMin', d.minDPhi, 0) tm.registerAlgo(alg) - - # LATE MUON - for x in [ - #{"otype" : "LATE-MU", "ocut" : 10, "inputwidth": HW.OutputWidthSortMU}, - {"otype" : "LATE-MU", "ocut" : 10, "inputwidth": HW.NumberOfDelayedMuons}, - ]: - - class d : pass - for k in x: - setattr (d, k, x[k]) - toponame = "%s%ss1" % ( d.otype, str(d.ocut) ) - log.debug("Define %s", toponame) - - inputList = 'LMUs' + #ATR-19355 + toponame = "0INVM10-3MU4ab" # noqa: F821 + log.info("Define %s" % toponame) + + inputList = 'MUab' + + alg = AlgConf.InvariantMassThreeTOBsIncl( name = toponame, inputs = inputList, outputs = toponame, algoId = currentAlgoId ); currentAlgoId += 1 + alg.addgeneric('InputWidth', HW.OutputWidthSelectMU) + alg.addgeneric('MaxTob', HW.OutputWidthSelectMU) + alg.addgeneric('NumResultBits', 1) + alg.addvariable('MinMSqr', 0) + alg.addvariable('MaxMSqr', 10*10) + alg.addvariable('MinET1', 4) + tm.registerAlgo(alg) + - alg = AlgConf.EtCut( name = toponame, inputs = inputList, outputs = toponame, algoId = currentAlgoId ); currentAlgoId += 1 - alg.addgeneric('InputWidth', d.inputwidth) - alg.addgeneric('MaxTob', 1) - alg.addgeneric('NumResultBits', 1) - alg.addvariable('MinET', str(d.ocut)) - tm.registerAlgo(alg) - - # (ATR-12748) fat jet trigger with Simple Cone algo - for x in [ - {"minHT": 111, "otype" : "CJ", "ocut" : 15, "olist" : "ab", "nleading" : HW.OutputWidthSelectJET, "inputwidth": HW.OutputWidthSelectJET, "oeta" : 26}, - {"minHT": 85, "otype" : "CJ", "ocut" : 15, "olist" : "ab", "nleading" : HW.OutputWidthSelectJET, "inputwidth": HW.OutputWidthSelectJET, "oeta" : 26}, - ]: + #ATR-18815 + # toponame = "0INVM10-0DR15-EM8abi-MU10ab" + # log.info("Define %s" % toponame) + +# inputList = ['EMabi','MUab'] + +# alg = AlgConf.InvariantMassInclusive2DeltaRSqrIncl2( name = toponame, inputs = inputList, outputs = toponame, algoId = currentAlgoId ); currentAlgoId += 1 +# alg.addgeneric('InputWidth1', HW.OutputWidthSelectEM) +# alg.addgeneric('InputWidth2', HW.OutputWidthSelectMU) +# alg.addgeneric('MaxTob1', HW.OutputWidthSortEM) +# alg.addgeneric('MaxTob2', HW.OutputWidthSelectMU) +# alg.addgeneric('NumResultBits', 1) +# alg.addvariable('MinMSqr', 0) +# alg.addvariable('MaxMSqr', 10*10*_emscale_for_decision) # Fix to add emscale +# alg.addvariable('MinET1', 8) +# alg.addvariable('MinET2', 10) +# alg.addgeneric('ApplyEtaCut', 0) +# alg.addvariable('MinEta1', 0) +# alg.addvariable('MinEta2', 0) +# alg.addvariable('MaxEta1', 9999) +# alg.addvariable('MaxEta2', 9999) +# alg.addvariable('DeltaRMin', 0) +# alg.addvariable('DeltaRMax', 15*15) +# tm.registerAlgo(alg) +# +# #ATR-18815 +# toponame = "0INVM10-0DR15-EM12abi-MU6ab" +# log.info("Define %s" % toponame) +# +# inputList = ['EMabi','MUab'] +# +# alg = AlgConf.InvariantMassInclusive2DeltaRSqrIncl2( name = toponame, inputs = inputList, outputs = toponame, algoId = currentAlgoId ); currentAlgoId += 1 +# alg.addgeneric('InputWidth1', HW.OutputWidthSelectEM) +# alg.addgeneric('InputWidth2', HW.OutputWidthSelectMU) +# alg.addgeneric('MaxTob1', HW.OutputWidthSortEM) +# alg.addgeneric('MaxTob2', HW.OutputWidthSelectMU) +# alg.addgeneric('NumResultBits', 1) +# alg.addvariable('MinMSqr', 0) +# alg.addvariable('MaxMSqr', 10*10*_emscale_for_decision) # Fix to add emscale +# alg.addvariable('MinET1', 12) +# alg.addvariable('MinET2', 6) +# alg.addgeneric('ApplyEtaCut', 0) +# alg.addvariable('MinEta1', 0) +# alg.addvariable('MinEta2', 0) +# alg.addvariable('MaxEta1', 9999) +# alg.addvariable('MaxEta2', 9999) +# alg.addvariable('DeltaRMin', 0) +# alg.addvariable('DeltaRMax', 15*15) +# tm.registerAlgo(alg) +# + + + #ATR-18824 ZAFB-DPHI + + ZAFBDphimap = [ + {"minInvm": 60 ,"maxInvm": 9999, "minDphiList": [4, 25], "maxDphi": 32, "minEta2": 23, "maxEta2": 49, "inputwidth1": HW.OutputWidthSortEM, "otype1" : "EM", "ocut1" : 15, "olist1" : "abhi", "nleading1" : HW.OutputWidthSortEM, "inputwidth2": HW.OutputWidthSortJET, "ocut2" : 15,"nleading2" : 6} + ] + for x in ZAFBDphimap: class d : pass for k in x: setattr (d, k, x[k]) - toponame = "SC%d-%s%s%s%s.ETA%s" % (d.minHT, d.otype, str(d.ocut), d.olist, str(d.nleading) if d.olist=="s" else "", str(d.oeta)) - log.debug("Define %s", toponame) + inputList = [d.otype1 + d.olist1, 'FJjs23ETA49'] # noqa: F821 + toponames=[] + + for minDphi in d.minDphiList: # noqa: F821 + toponames.append ("%iINVM%i-%02dDPHI%i-%s%s%s%s-FJj%ss%s%iETA%i" % (d.minInvm, d.maxInvm, minDphi, d.maxDphi, d.otype1, str(d.ocut1) , d.olist1, str(d.nleading1) if d.olist1=="s" else "", str(d.ocut2) , str(d.nleading2) , d.minEta2, d.maxEta2)) + - inputList = d.otype + d.olist + alg = AlgConf.InvariantMassDeltaPhiInclusive2( name = 'ZAFB_DPHI', inputs = inputList, outputs = toponames, algoId = currentAlgoId); currentAlgoId += 1 # noqa: F821 + + + alg.addgeneric('InputWidth1', d.inputwidth1) # noqa: F821 + alg.addgeneric('InputWidth2', d.inputwidth2) # noqa: F821 + alg.addgeneric('MaxTob1', d.nleading1) # noqa: F821 + alg.addgeneric('MaxTob2', d.nleading2)# noqa: F821 + alg.addgeneric('NumResultBits', len(toponames)) + alg.addgeneric('ApplyEtaCut', 1) + alg.addvariable('MinEta1', 0) + alg.addvariable('MaxEta1', 9999) + alg.addvariable('MinEta2', 23) + alg.addvariable('MaxEta2', 49) + for bitid,minDphi in enumerate(d.minDphiList): # noqa: F821 + alg.addvariable('MinET1', d.ocut1, bitid)# noqa: F821 + alg.addvariable('MinET2', d.ocut2, bitid)# noqa: F821 + alg.addvariable('MinMSqr', d.minInvm*d.minInvm*_emscale_for_decision , bitid) # noqa: F821 #ATR-18824 only one factor is needed as there is one EM object + alg.addvariable('MaxMSqr', d.maxInvm*d.maxInvm*_emscale_for_decision , bitid) # noqa: F821 #ATR-18824 only one factor is needed as there is one EM object + alg.addvariable('MinDeltaPhi', minDphi, bitid) # noqa: F821 + alg.addvariable('MaxDeltaPhi', d.maxDphi, bitid) # noqa: F821 - alg = AlgConf.SimpleCone( name = toponame, inputs = inputList, outputs = [toponame], algoId = currentAlgoId ); currentAlgoId += 1 + tm.registerAlgo(alg) + #ATR-19302: not included for now + toponame = "0INVM70-27DPHI32-EM10his1-EM10his6" + log.info("Define %s" % toponame) + inputList = ['EMshi','EMshi'] + alg = AlgConf.InvariantMassDeltaPhiInclusive2( name = toponame, inputs = inputList, outputs = toponame, algoId = currentAlgoId ); currentAlgoId += 1 + alg.addgeneric('InputWidth1', HW.OutputWidthSortEM) + alg.addgeneric('InputWidth2', HW.OutputWidthSortEM) + alg.addgeneric('MaxTob1', 1) + alg.addgeneric('MaxTob2', 6) + alg.addgeneric('NumResultBits', 1) + alg.addvariable('MinMSqr', 0) + alg.addvariable('MaxMSqr', (70*_emscale_for_decision)*(70*_emscale_for_decision)) + alg.addvariable('MinET1', 10) + alg.addvariable('MinET2', 10) + alg.addgeneric('ApplyEtaCut', 1) + alg.addvariable('MinEta1', 0) + alg.addvariable('MaxEta1', 9999) + alg.addvariable('MinEta2', 0) + alg.addvariable('MaxEta2', 9999) + alg.addvariable('MinDeltaPhi', 27) + alg.addvariable('MaxDeltaPhi', 32) + tm.registerAlgo(alg) - alg.addgeneric('InputWidth', d.inputwidth) - alg.addvariable('MinET', d.ocut) - alg.addvariable('MinSumET', d.minHT) - alg.addvariable('MaxRSqr', 10*10) - tm.registerAlgo(alg) + + toponame = "0INVM70-27DPHI32-EM12his1-EM12his6" + log.info("Define %s" % toponame) + inputList = ['EMshi','EMshi'] + alg = AlgConf.InvariantMassDeltaPhiInclusive2( name = toponame, inputs = inputList, outputs = toponame, algoId = currentAlgoId ); currentAlgoId += 1 + alg.addgeneric('InputWidth1', HW.OutputWidthSortEM) + alg.addgeneric('InputWidth2', HW.OutputWidthSortEM) + alg.addgeneric('MaxTob1', 1) + alg.addgeneric('MaxTob2', 6) + alg.addgeneric('NumResultBits', 1) + alg.addvariable('MinMSqr', 0) + alg.addvariable('MaxMSqr', (70*_emscale_for_decision)*(70*_emscale_for_decision)) + alg.addvariable('MinET1', 10) + alg.addvariable('MinET2', 12) + alg.addgeneric('ApplyEtaCut', 1) + alg.addvariable('MinEta1', 0) + alg.addvariable('MaxEta1', 9999) + alg.addvariable('MinEta2', 0) + alg.addvariable('MaxEta2', 9999) + alg.addvariable('MinDeltaPhi', 27) + alg.addvariable('MaxDeltaPhi', 32) + tm.registerAlgo(alg) - # DISAMB-INVM - for x in [ - {"disamb": 0, "minInvm": 30, "maxInvm": 9999,"otype1" : "EM", "ocut1": 20, "olist1": "shi","nleading1": 2, "inputwidth1": HW.OutputWidthSortEM, "otype2" : "TAU", "ocut2": 12, "olist2": "ab", "nleading2": HW.OutputWidthSelectTAU, "inputwidth2": HW.OutputWidthSelectTAU}, # DISAMB-30INVM-EM20his2-TAU12ab - ]: - - class d : pass - for k in x: - setattr (d, k, x[k]) - - obj1 = "%s%s%s" % (d.otype1, str(d.ocut1), d.olist1.replace('shi','his') + (str(d.nleading1) if d.olist1.find('s')>=0 else "")) - obj2 = "-%s%s%s" % (d.otype2, str(d.ocut2), d.olist2) - toponame = "%sDISAMB-%iINVM%s-%s%s" % ( d.disamb if d.disamb>0 else "", d.minInvm, str(d.maxInvm) if d.maxInvm<9999 else "", obj1, obj2) - - log.debug("Define %s", toponame) - inputList = [d.otype1 + d.olist1, d.otype2 + d.olist2] - #alg = AlgConf.DisambiguationInvariantMass2( name = toponame, inputs = inputList, outputs = toponame, algoId = currentAlgoId); currentAlgoId += 1 - alg = AlgConf.DisambiguationInvmIncl2( name = toponame, inputs = inputList, outputs = toponame, algoId = currentAlgoId); currentAlgoId += 1 - - alg.addgeneric('InputWidth1', d.inputwidth1) - alg.addgeneric('InputWidth2', d.inputwidth2) - alg.addgeneric('MaxTob1', d.nleading1) - alg.addgeneric('MaxTob2', d.nleading2) - alg.addgeneric('NumResultBits', 1) - - alg.addvariable('MinET1', d.ocut1) - alg.addvariable('MinET2', d.ocut2) - alg.addvariable('MinMSqr', d.minInvm * d.minInvm) - alg.addvariable('MaxMSqr', d.maxInvm * d.maxInvm) - - tm.registerAlgo(alg) + #ATR-19720, L1_BPH-8M15-0DR22-2MU6 +# toponame = "8INVM15-0DR22-2MU6ab" +# log.info("Define %s" % toponame) +# +# inputList = ['MUab'] +# +# alg = AlgConf.InvariantMassInclusive1DeltaRSqrIncl1( name = toponame, inputs = inputList, outputs = toponame, algoId = currentAlgoId ); currentAlgoId += 1 +# alg.addgeneric('InputWidth', HW.OutputWidthSelectMU) +# alg.addgeneric('MaxTob', HW.OutputWidthSelectMU) +# alg.addgeneric('NumResultBits', 1) +# alg.addvariable('MinMSqr', 8*8) +# alg.addvariable('MaxMSqr', 15*15) +# alg.addvariable('MinET1', 6) +# alg.addvariable('MinET2', 6) +# alg.addvariable('DeltaRMin', 0) +# alg.addvariable('DeltaRMax', 22*22) +# tm.registerAlgo(alg) +# +# #ATR-19720, L1_BPH-2M9-2DR15-2MU6 +# toponame = "2INVM9-2DR15-2MU6ab" +# log.info("Define %s" % toponame) +# +# inputList = ['MUab'] +# +# alg = AlgConf.InvariantMassInclusive1DeltaRSqrIncl1( name = toponame, inputs = inputList, outputs = toponame, algoId = currentAlgoId ); currentAlgoId += 1 +# alg.addgeneric('InputWidth', HW.OutputWidthSelectMU) +# alg.addgeneric('MaxTob', HW.OutputWidthSelectMU) +# alg.addgeneric('NumResultBits', 1) +# alg.addvariable('MinMSqr', 2*2) +# alg.addvariable('MaxMSqr', 9*9) +# alg.addvariable('MinET1', 6) +# alg.addvariable('MinET2', 6) +# alg.addvariable('DeltaRMin', 2*2) +# alg.addvariable('DeltaRMax', 15*15) +# tm.registerAlgo(alg) +# +# #ATR-19720, L1_BPH-2M9-0DR15-MU6MU4 +# toponame = "2INVM9-0DR15-MU6ab-MU4ab" +# log.info("Define %s" % toponame) +# +# inputList = ['MUab'] +# +# alg = AlgConf.InvariantMassInclusive1DeltaRSqrIncl1( name = toponame, inputs = inputList, outputs = toponame, algoId = currentAlgoId ); currentAlgoId += 1 +# alg.addgeneric('InputWidth', HW.OutputWidthSelectMU) +# alg.addgeneric('MaxTob', HW.OutputWidthSelectMU) +# alg.addgeneric('NumResultBits', 1) +# alg.addvariable('MinMSqr', 2*2) +# alg.addvariable('MaxMSqr', 9*9) +# alg.addvariable('MinET1', 6) +# alg.addvariable('MinET2', 4) +# alg.addvariable('DeltaRMin', 0) +# alg.addvariable('DeltaRMax', 15*15) +# tm.registerAlgo(alg) +# +# #ATR-19720, L1_BPH-8M15-0DR22-MU6MU4-BO +# toponame = "8INVM15-0DR22-MU6ab-MU4ab" +# log.info("Define %s" % toponame) +# +# inputList = ['MUab'] +# +# alg = AlgConf.InvariantMassInclusive1DeltaRSqrIncl1( name = toponame, inputs = inputList, outputs = toponame, algoId = currentAlgoId ); currentAlgoId += 1 +# alg.addgeneric('InputWidth', HW.OutputWidthSelectMU) +# alg.addgeneric('MaxTob', HW.OutputWidthSelectMU) +# alg.addgeneric('NumResultBits', 1) +# alg.addvariable('MinMSqr', 8*8) +# alg.addvariable('MaxMSqr', 15*15) +# alg.addvariable('MinET1', 6) +# alg.addvariable('MinET2', 4) +# alg.addvariable('DeltaRMin', 0) +# alg.addvariable('DeltaRMax', 22*22) +# tm.registerAlgo(alg) +# +# #ATR-19720, L1_BPH-2M9-0DR15-2MU4 +# +# toponame = "2INVM9-0DR15-2MU4ab" +# log.info("Define %s" % toponame) +# +# inputList = ['MUab'] +# +# alg = AlgConf.InvariantMassInclusive1DeltaRSqrIncl1( name = toponame, inputs = inputList, outputs = toponame, algoId = currentAlgoId ); currentAlgoId += 1 +# alg.addgeneric('InputWidth', HW.OutputWidthSelectMU) +# alg.addgeneric('MaxTob', HW.OutputWidthSelectMU) +# alg.addgeneric('NumResultBits', 1) +# alg.addvariable('MinMSqr', 2*2) +# alg.addvariable('MaxMSqr', 9*9) +# alg.addvariable('MinET1', 4) +# alg.addvariable('MinET2', 4) +# alg.addvariable('DeltaRMin', 0) +# alg.addvariable('DeltaRMax', 15*15) +# tm.registerAlgo(alg) +# + #ATR-20174, L1BPH-8M15-2MU4-BO + + toponame = "8INVM15-2CMU4ab" + log.info("Define %s" % toponame) + + inputList = ['CMUab'] + + alg = AlgConf.InvariantMassInclusive1( name = toponame, inputs = inputList, outputs = toponame, algoId = currentAlgoId ); currentAlgoId += 1 + alg.addgeneric('InputWidth', HW.OutputWidthSelectMU) + alg.addgeneric('MaxTob', HW.OutputWidthSelectMU) + alg.addgeneric('NumResultBits', 1) + alg.addvariable('MinMSqr', 8*8) + alg.addvariable('MaxMSqr', 15*15) + alg.addvariable('MinET1', 4) + alg.addvariable('MinET2', 4) + + tm.registerAlgo(alg) + + #CEP algorithms + CEPmap = [{"algoname": 'CEP_CJ', "minETlist": [50, 60]}] - for x in [ - { "minInvm": 400, "maxInvm": 9999, "otype1" : "AJ", "ocut1": 30, "olist1" : "s", "nleading1" : 6, "inputwidth1": HW.OutputWidthSortJET, "otype2" : "AJ", "ocut2": 20, "olist2" : "s", "nleading2" : 6, "inputwidth2": HW.OutputWidthSortJET, "applyEtaCut":1, "minEta1": 0 ,"maxEta1": 31 , "minEta2": 31 ,"maxEta2": 49 , }, #400INVM9999-AJ30s6.ETA31-AJ20s6.31ETA49 - ]: - - class d : pass - for k in x: - setattr (d, k, x[k]) - obj1 = "%s%s%s.%sETA%i" % (d.otype1, str(d.ocut1), d.olist1 + (str(d.nleading1) if d.olist1.find('s')>=0 else ""),str(d.minEta1) if d.minEta1>0 else "", d.maxEta1) - obj2 = "-%s%s%s.%sETA%i" % (d.otype2, str(d.ocut2), d.olist2 + (str(d.nleading2) if d.olist2.find('s')>=0 else ""),str(d.minEta2) if d.minEta2>0 else "", d.maxEta2) + for x in CEPmap: + class d : pass + for k in x: + setattr (d, k, x[k]) + + + inputList = ['CJs'] + toponames=[] + + for minET in d.minETlist: # noqa: F821 + toponames.append ("CEP-CJ%is6" % (minET)) # noqa: F821 - inputList = [d.otype1 + d.olist1, d.otype2 + d.olist2] - - toponame = "%iINVM%i-%s%s" % (d.minInvm, d.maxInvm, obj1, obj2) - alg = AlgConf.InvariantMassInclusive2( name = toponame, inputs = inputList, outputs = toponame, algoId = currentAlgoId); currentAlgoId += 1 - - - alg.addgeneric('InputWidth1', d.inputwidth1) - alg.addgeneric('InputWidth2', d.inputwidth2) - alg.addgeneric('MaxTob1', d.nleading1) - alg.addgeneric('MaxTob2', d.nleading2) - alg.addgeneric('NumResultBits', 1) - if (d.applyEtaCut>0): - alg.addgeneric('ApplyEtaCut', d.applyEtaCut) - - alg.addvariable('MinET1', d.ocut1) - alg.addvariable('MinET2', d.ocut2) - alg.addvariable('MinMSqr', d.minInvm * d.minInvm ) - alg.addvariable('MaxMSqr', d.maxInvm * d.maxInvm ) - if (d.applyEtaCut>0): - alg.addvariable('MinEta1', d.minEta1) - alg.addvariable('MaxEta1', d.maxEta1) - alg.addvariable('MinEta2', d.minEta2) - alg.addvariable('MaxEta2', d.maxEta2) - - tm.registerAlgo(alg) + alg = AlgConf.ExclusiveJets( name = d.algoname, inputs = inputList, outputs = toponames, algoId = currentAlgoId); currentAlgoId += 1 # noqa: F821 + alg.addgeneric('InputWidth', HW.InputWidthJET) # noqa: F821 + alg.addgeneric('MaxTob', HW.InputWidthJET) # noqa: F821 + alg.addgeneric('NumResultBits', len(toponames)) # noqa: F821 + for bitid,minET in enumerate(d.minETlist): # noqa: F821 + alg.addvariable('MinET1', minET, bitid)# noqa: F821 + alg.addvariable('MinXi', 13000.0*0.02, bitid) # noqa: F821 + alg.addvariable('MaxXi', 13000.0*0.05, bitid) # noqa: F821 + tm.registerAlgo(alg) + + diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/LVL1MenuConfig/LVL1Menu/ItemDef.py b/Trigger/TriggerCommon/TriggerMenuMT/python/LVL1MenuConfig/LVL1Menu/ItemDef.py index dd7b5451296..bbf15795bf8 100755 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/LVL1MenuConfig/LVL1Menu/ItemDef.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/LVL1MenuConfig/LVL1Menu/ItemDef.py @@ -89,7 +89,8 @@ class ItemDef(object): LVL1MenuItem('L1_EM15' ).setLogic( d.EM15 & physcond).setTriggerType( TT.calo ) LVL1MenuItem('L1_EM15_BGRP7').setLogic( d.EM15 & bgrp7cond).setTriggerType( TT.calo ) LVL1MenuItem('L1_EM15I' ).setLogic( d.EM15 & d.EM8I & physcond).setTriggerType( TT.calo ) - LVL1MenuItem('L1_EM15HI' ).setLogic( d.EM15HI & physcond).setTriggerType( TT.calo ) + LVL1MenuItem('L1_EM15HI' ).setLogic( d.EM15HI & physcond).setTriggerType( TT.calo ) + LVL1MenuItem('L1_EM15VHI' ).setLogic( d.EM15VHI & physcond).setTriggerType( TT.calo ) LVL1MenuItem('L1_EM26VHI' ).setLogic( d.EM26VHI & physcond).setTriggerType( TT.calo ) LVL1MenuItem('L1_EM16' ).setLogic( d.EM16 & physcond).setTriggerType( TT.calo ) LVL1MenuItem('L1_EM8VH' ).setLogic( d.EM8VH & physcond).setTriggerType( TT.calo ) @@ -100,14 +101,22 @@ class ItemDef(object): LVL1MenuItem('L1_EM15VH' ).setLogic( d.EM15VH & physcond).setTriggerType( TT.calo ) LVL1MenuItem('L1_EM18' ).setLogic( d.EM18 & physcond).setTriggerType( TT.calo ) LVL1MenuItem('L1_EM18VH' ).setLogic( d.EM18VH & physcond).setTriggerType( TT.calo ) + LVL1MenuItem('L1_EM18VHI' ).setLogic( d.EM18VHI & physcond).setTriggerType( TT.calo ) # noqa: F821 LVL1MenuItem('L1_EM20' ).setLogic( d.EM20 & physcond).setTriggerType( TT.calo ) LVL1MenuItem('L1_EM20VH' ).setLogic( d.EM20VH & physcond).setTriggerType( TT.calo ) LVL1MenuItem('L1_EM20VHI' ).setLogic( d.EM20VHI & physcond).setTriggerType( TT.calo ) # isolation not yet defined + LVL1MenuItem('L1_EM30VHI' ).setLogic( d.EM30VHI & physcond).setTriggerType( TT.calo ) # isolation not yet defined LVL1MenuItem('L1_EM22' ).setLogic( d.EM22 & physcond).setTriggerType( TT.calo ) + LVL1MenuItem('L1_EM22VH' ).setLogic( d.EM22VH & physcond).setTriggerType( TT.calo ) # noqa: F821 LVL1MenuItem('L1_EM22VHI' ).setLogic( d.EM22VHI & physcond).setTriggerType( TT.calo ) # isolation not yet defined + LVL1MenuItem('L1_EM24VHIM' ).setLogic( d.EM24VHIM & physcond).setTriggerType( TT.calo ) # noqa: F821 LVL1MenuItem('L1_EM50V' ).setLogic( d.EM50V & physcond).setTriggerType( TT.calo ) + + + + # 2xEM, 3xEM LVL1MenuItem('L1_2EM3' ).setLogic( d.EM3.x(2) & physcond).setTriggerType( TT.calo ) @@ -118,6 +127,7 @@ class ItemDef(object): LVL1MenuItem('L1_2EM13VH' ).setLogic( d.EM13VH.x(2) & physcond).setTriggerType( TT.calo ) LVL1MenuItem('L1_2EM15' ).setLogic( d.EM15.x(2) & physcond).setTriggerType( TT.calo ) LVL1MenuItem('L1_2EM15VH' ).setLogic( d.EM15VH.x(2) & physcond).setTriggerType( TT.calo ) + LVL1MenuItem('L1_2EM15VHI' ).setLogic( d.EM15VHI.x(2) & physcond).setTriggerType( TT.calo ) # noqa: F821 LVL1MenuItem('L1_2EM18VH' ).setLogic( d.EM18VH.x(2) & physcond).setTriggerType( TT.calo ) LVL1MenuItem('L1_2EM20VH' ).setLogic( d.EM20VH.x(2) & physcond).setTriggerType( TT.calo ) LVL1MenuItem('L1_EM7_2EM3' ).setLogic( d.EM7 & d.EM3.x(2) & physcond).setTriggerType( TT.calo ) @@ -210,6 +220,7 @@ class ItemDef(object): LVL1MenuItem('L1_MU11' ).setLogic( d.MU11 & physcond).setTriggerType(TT.muon) LVL1MenuItem('L1_MU15' ).setLogic( d.MU15 & physcond).setTriggerType(TT.muon) LVL1MenuItem('L1_MU20' ).setLogic( d.MU20 & physcond).setTriggerType(TT.muon) + LVL1MenuItem('L1_MU21' ).setLogic( d.MU21 & physcond).setTriggerType(TT.muon) # 2xMU, 3xMU, 4xMU LVL1MenuItem('L1_2MU0' ).setLogic( d.MU0.x(2) & physcond).setTriggerType(TT.muon) @@ -222,6 +233,7 @@ class ItemDef(object): LVL1MenuItem('L1_MU6_MU4' ).setLogic( d.MU6 & d.MU4 & physcond).setTriggerType(TT.muon) LVL1MenuItem('L1_MU10_2MU6').setLogic( d.MU10 & d.MU6.x(2) & physcond).setTriggerType(TT.muon) LVL1MenuItem('L1_MU11_2MU6').setLogic( d.MU11 & d.MU6.x(2) & physcond).setTriggerType(TT.muon) + LVL1MenuItem('L1_MU11_2MU10').setLogic( d.MU11 & d.MU10.x(2) & physcond).setTriggerType(TT.muon) LVL1MenuItem('L1_MU10_2MU4').setLogic( d.MU10 & d.MU4.x(2) & physcond).setTriggerType(TT.muon) LVL1MenuItem('L1_3MU4' ).setLogic( d.MU4.x(3) & physcond).setTriggerType(TT.muon) LVL1MenuItem('L1_4MU4' ).setLogic( d.MU4.x(4) & physcond).setTriggerType(TT.muon) @@ -297,7 +309,9 @@ class ItemDef(object): LVL1MenuItem('L1_EM6_MU10' ).setLogic( d.EM6 & d.MU10 & physcond).setTriggerType(TT.muon) LVL1MenuItem('L1_EM7_MU10' ).setLogic( d.EM7 & d.MU10 & physcond).setTriggerType(TT.muon) LVL1MenuItem('L1_EM7_MU15' ).setLogic( d.EM7 & d.MU15 & physcond).setTriggerType(TT.muon) + LVL1MenuItem('L1_EM7_MU20' ).setLogic( d.EM7 & d.MU20 & physcond).setTriggerType(TT.muon) LVL1MenuItem('L1_EM8VH_MU15' ).setLogic( d.EM8VH & d.MU15 & physcond).setTriggerType(TT.muon) + LVL1MenuItem('L1_EM8VH_MU20' ).setLogic( d.EM8VH & d.MU20 & physcond).setTriggerType(TT.muon) LVL1MenuItem('L1_EM8_MU10' ).setLogic( d.EM8 & d.MU10 & physcond).setTriggerType(TT.muon) LVL1MenuItem('L1_EM8I_MU10' ).setLogic( d.EM8I & d.MU10 & physcond).setTriggerType(TT.muon) LVL1MenuItem('L1_EM15I_MU4' ).setLogic( d.EM15 & d.EM8I & d.MU4 & physcond).setTriggerType(TT.muon) @@ -307,8 +321,11 @@ class ItemDef(object): LVL1MenuItem('L1_EM15VH_2EM8VH_MU6').setLogic( d.EM15VH & d.EM8VH.x(2) & d.MU6 & physcond).setTriggerType(TT.muon) # TAU ctpid=[0x40:0x4f] + LVL1MenuItem('L1_TAU5' ).setLogic( d.HA5 & physcond).setTriggerType( TT.calo ) LVL1MenuItem('L1_TAU6' ).setLogic( d.HA6 & physcond).setTriggerType( TT.calo ) LVL1MenuItem('L1_TAU8' ).setLogic( d.HA8 & physcond).setTriggerType( TT.calo ) + LVL1MenuItem('L1_2TAU5' ).setLogic( d.HA5.x(2) & physcond).setTriggerType(TT.calo) + LVL1MenuItem('L1_2TAU8' ).setLogic( d.HA8.x(2) & physcond).setTriggerType(TT.calo) #LVL1MenuItem('L1_TAU10IM').setLogic( d.HA10IM & physcond).setTriggerType( TT.calo ) @@ -335,6 +352,7 @@ class ItemDef(object): LVL1MenuItem('L1_TAU30' ).setLogic( d.HA30 & physcond).setTriggerType( TT.calo ) LVL1MenuItem('L1_TAU40' ).setLogic( d.HA40 & physcond).setTriggerType( TT.calo ) LVL1MenuItem('L1_TAU60' ).setLogic( d.HA60 & physcond).setTriggerType( TT.calo ) + LVL1MenuItem('L1_TAU90' ).setLogic( d.HA90 & physcond).setTriggerType( TT.calo ) LVL1MenuItem('L1_TAU100' ).setLogic( d.HA100 & physcond).setTriggerType( TT.calo ) LVL1MenuItem('L1_TAU8_UNPAIRED_ISO' ).setLogic( d.HA8 & unpaired_isocond ).setTriggerType( TT.calo ) @@ -356,6 +374,7 @@ class ItemDef(object): LVL1MenuItem('L1_TAU20_2TAU12I' ).setLogic( d.HA20 & d.HA12I.x(2) & physcond).setTriggerType( TT.calo ) LVL1MenuItem('L1_TAU40_2TAU20IM' ).setLogic( d.HA40 & d.HA20IM.x(2) & physcond).setTriggerType( TT.calo ) LVL1MenuItem('L1_TAU20IM_2TAU12IM' ).setLogic( d.HA20IM & d.HA12IM.x(2) & physcond).setTriggerType( TT.calo ) + LVL1MenuItem('L1_TAU60_2TAU40').setLogic( d.HA60 & d.HA40.x(2) & physcond).setTriggerType( TT.calo ) # mixed tau LVL1MenuItem('L1_EM15VH_2TAU12' ).setLogic( d.EM15VH & d.HA12.x(2) & physcond).setTriggerType( TT.calo ) @@ -389,8 +408,12 @@ class ItemDef(object): LVL1MenuItem('L1_MU10_TAU12_J25_2J12' ).setLogic( d.MU10 & d.HA12 & d.J25 & d.J12.x(2) & physcond).setTriggerType( TT.calo ) LVL1MenuItem('L1_MU10_TAU12IM_J25_2J12' ).setLogic( d.MU10 & d.HA12IM & d.J25 & d.J12.x(2) & physcond).setTriggerType( TT.calo ) LVL1MenuItem('L1_MU10_TAU12IL_J25_2J12' ).setLogic( d.MU10 & d.HA12IL & d.J25 & d.J12.x(2) & physcond).setTriggerType( TT.calo ) + LVL1MenuItem('L1_TAU25IM_2TAU20IM_2J25_3J20').setLogic( d.HA25IM & d.HA20IM.x(2) & d.J25.x(2) & d.J20.x(3) & physcond).setTriggerType( TT.calo ) LVL1MenuItem('L1_TAU12I_MU10_J20.31ETA49' ).setLogic( d.HA12I & d.MU10 & d.J2031ETA49 & physcond).setTriggerType( TT.calo ) - + LVL1MenuItem('L1_MU10_TAU12IM_3J12' ).setLogic( d.MU10 & d.HA12IM & d.J12.x(3) & physcond).setTriggerType( TT.calo ) + LVL1MenuItem('L1_TAU20IM_2TAU12IM_4J12.0ETA23').setLogic( d.HA20IM & d.HA12IM.x(2) & d.J120ETA23.x(4) & physcond).setTriggerType( TT.calo ) + LVL1MenuItem('L1_TAU20IM_2TAU12IM_4J12.0ETA25').setLogic( d.HA20IM & d.HA12IM.x(2) & d.J120ETA25.x(4) & physcond).setTriggerType( TT.calo ) + LVL1MenuItem('L1_TAU20IM_2TAU12IM_4J12.0ETA28').setLogic( d.HA20IM & d.HA12IM.x(2) & d.J120ETA28.x(4) & physcond).setTriggerType( TT.calo ) LVL1MenuItem('L1_TAU20_2TAU12I_J25_2J15_3J12' ).setLogic( d.HA20 & d.HA12I.x(2) & d.J25 & d.J15.x(2) & d.J12.x(3) & physcond).setTriggerType( TT.calo ) LVL1MenuItem('L1_TAU20_2TAU12_J25_2J20_3J12' ).setLogic( d.HA20 & d.HA12.x(2) & d.J25 & d.J20.x(2) & d.J12.x(3) & physcond).setTriggerType( TT.calo ) LVL1MenuItem('L1_TAU20IM_2TAU12IM_J25_2J20_3J12').setLogic( d.HA20IM & d.HA12IM.x(2) & d.J25 & d.J20.x(2) & d.J12.x(3) & physcond).setTriggerType( TT.calo ) @@ -408,13 +431,18 @@ class ItemDef(object): LVL1MenuItem('L1_TAU20IL_2TAU12IL_XE35' ).setLogic( d.HA20IL & d.HA12IL.x(2) & d.XE35 & physcond).setTriggerType( TT.calo ) LVL1MenuItem('L1_TAU20IT_2TAU12IT_XE35' ).setLogic( d.HA20IT & d.HA12IT.x(2) & d.XE35 & physcond).setTriggerType( TT.calo ) LVL1MenuItem('L1_TAU20IM_2TAU12IM_XE40' ).setLogic( d.HA20IM & d.HA12IM.x(2) & d.XE40 & physcond).setTriggerType( TT.calo ) - LVL1MenuItem('L1_TAU40_2TAU12IM_XE40' ).setLogic( d.HA40 & d.HA12IM.x(2) & d.XE40 & physcond).setTriggerType( TT.calo ) + LVL1MenuItem('L1_TAU40_2TAU12IM_XE40' ).setLogic( d.HA40 & d.HA12IM.x(2) & d.XE40 & physcond).setTriggerType( TT.calo ) + LVL1MenuItem('L1_EM15VHI_2TAU12IM' ).setLogic( d.EM15VHI & d.HA12IM.x(2) & physcond).setTriggerType( TT.calo ) + LVL1MenuItem('L1_EM15VHI_TAU40_2TAU15' ).setLogic( d.EM15VHI & d.HA40 & d.HA15.x(2) & physcond).setTriggerType( TT.calo ) + LVL1MenuItem('L1_EM15VHI_2TAU12IM_J25_3J12' ).setLogic( d.EM15VHI & d.HA12IM.x(2) & d.J25 & d.J12.x(3) & physcond).setTriggerType( TT.calo ) + LVL1MenuItem('L1_EM15VHI_2TAU12IM_4J12' ).setLogic( d.EM15VHI & d.HA12IM.x(2) & d.J12.x(4) & physcond).setTriggerType( TT.calo ) LVL1MenuItem('L1_EM15HI_TAU20IM_2TAU15_J25_2J20_3J15' ).setLogic( d.EM15HI & d.HA20IM & d.HA15.x(2) & d.J25 & d.J20.x(2) & d.J15.x(3) & physcond).setTriggerType( TT.calo ) LVL1MenuItem('L1_EM20VHI_TAU20IM_2TAU20_J25_3J20' ).setLogic( d.EM20VHI & d.HA20IM & d.HA20.x(2) & d.J25 & d.J20.x(3) & physcond).setTriggerType( TT.calo ) LVL1MenuItem('L1_EM15HI_2TAU12I_XE35' ).setLogic( d.EM15HI & d.HA12I.x(2) & d.XE35 & physcond).setTriggerType( TT.calo ) LVL1MenuItem('L1_EM15HI_2TAU12IM_XE35' ).setLogic( d.EM15HI & d.HA12IM.x(2) & d.XE35 & physcond).setTriggerType( TT.calo ) LVL1MenuItem('L1_EM15HI_2TAU12IL_XE35' ).setLogic( d.EM15HI & d.HA12IL.x(2) & d.XE35 & physcond).setTriggerType( TT.calo ) - LVL1MenuItem('L1_EM15HI_2TAU12_XE35' ).setLogic( d.EM15HI & d.HA12.x(2) & d.XE35 & physcond).setTriggerType( TT.calo ) + LVL1MenuItem('L1_EM15HI_2TAU12_XE35' ).setLogic( d.EM15HI & d.HA12.x(2) & d.XE35 & physcond).setTriggerType( TT.calo ) + LVL1MenuItem('L1_EM15VHI_2TAU12IM_XE35' ).setLogic( d.EM15VHI & d.HA12IM.x(2) & d.XE35 & physcond).setTriggerType( TT.calo ) LVL1MenuItem('L1_MU10_TAU12I_XE35' ).setLogic( d.MU10 & d.HA12I & d.XE35 & physcond).setTriggerType( TT.calo ) LVL1MenuItem('L1_MU10_TAU12_XE35' ).setLogic( d.MU10 & d.HA12 & d.XE35 & physcond).setTriggerType( TT.calo ) LVL1MenuItem('L1_MU10_TAU12IL_XE35' ).setLogic( d.MU10 & d.HA12IL & d.XE35 & physcond).setTriggerType( TT.calo ) @@ -513,6 +541,9 @@ class ItemDef(object): LVL1MenuItem('L1_J40.0ETA25_2J15.31ETA49' ).setLogic( d.J400ETA25 & d.J1531ETA49.x(2) & physcond).setTriggerType(TT.calo) LVL1MenuItem('L1_J40.0ETA25_2J25_J20.31ETA49' ).setLogic( d.J400ETA25 & d.J25.x(2) & d.J2031ETA49 & physcond).setTriggerType(TT.calo) LVL1MenuItem('L1_J40.0ETA25_2J30_J20.31ETA49' ).setLogic( d.J400ETA25 & d.J30.x(2) & d.J2031ETA49 & physcond).setTriggerType(TT.calo) + LVL1MenuItem('L1_J45.0ETA20_3J15.0ETA25' ).setLogic( d.J450ETA20 & d.J150ETA25.x(3) & physcond).setTriggerType(TT.calo) + LVL1MenuItem('L1_J50_2J40.0ETA25_3J15.0ETA25' ).setLogic( d.J50 & d.J400ETA25.x(2) & d.J150ETA25.x(3) & physcond).setTriggerType(TT.calo) + LVL1MenuItem('L1_J25.0ETA23_2J15.31ETA49' ).setLogic( d.J250ETA23 & d.J1531ETA49.x(2) & physcond).setTriggerType(TT.calo) LVL1MenuItem('L1_4J17.0ETA22' ).setLogic( d.J170ETA22.x(4) & physcond).setTriggerType(TT.calo) LVL1MenuItem('L1_3J25.0ETA23' ).setLogic( d.J250ETA23.x(3) & physcond).setTriggerType(TT.calo) @@ -547,6 +578,8 @@ class ItemDef(object): LVL1MenuItem('L1_EM13VH_3J20' ).setLogic( d.EM13VH & d.J20.x(3) & physcond).setTriggerType(TT.calo) ### ATR-15524 LVL1MenuItem('L1_EM18VH_3J20' ).setLogic( d.EM18VH & d.J20.x(3) & physcond).setTriggerType(TT.calo) + LVL1MenuItem('L1_EM18VHI_3J20' ).setLogic( d.EM18VHI & d.J20.x(3) & physcond).setTriggerType(TT.calo) + LVL1MenuItem('L1_EM20VH_3J20' ).setLogic( d.EM20VH & d.J20.x(3) & physcond).setTriggerType(TT.calo) # combined mu - jet LVL1MenuItem('L1_MU4_J12' ).setLogic( d.MU4 & d.J12 & physcond).setTriggerType(TT.calo) @@ -562,9 +595,14 @@ class ItemDef(object): LVL1MenuItem('L1_MU10_2J20' ).setLogic( d.MU10 & d.J20.x(2) & physcond).setTriggerType(TT.calo) LVL1MenuItem('L1_MU10_2J15_J20' ).setLogic( d.MU10 & d.J15.x(2) & d.J20 & physcond).setTriggerType(TT.calo) LVL1MenuItem('L1_MU4_J50_XE40' ).setLogic( d.MU4 & d.J50 & d.XE40 & physcond).setTriggerType(TT.calo) + LVL1MenuItem('L1_2MU4_J40_XE50' ).setLogic( d.MU4.x(2) & d.J40 & d.XE50 & physcond).setTriggerType(TT.calo) LVL1MenuItem('L1_2MU4_J40_XE20' ).setLogic( d.MU4.x(2) & d.J40 & d.XE20 & physcond).setTriggerType(TT.calo) + LVL1MenuItem('L1_MU4_J30_XE40_DPHI-J20s2XE30').setLogic( d.MU4 & d.J30 & d.XE40 & d.TOPO_10MINDPHI_J20s2_XE30 & physcond) + LVL1MenuItem('L1_MU4_J50_XE50_DPHI-J20s2XE30').setLogic( d.MU4 & d.J50 & d.XE50 & d.TOPO_10MINDPHI_J20s2_XE30 & physcond) LVL1MenuItem('L1_MU20_J40' ).setLogic( d.MU20 & d.J40 & physcond).setTriggerType(TT.calo) ## ATR-14377 + LVL1MenuItem('L1_MU20_J50' ).setLogic( d.MU20 & d.J50 & physcond).setTriggerType(TT.calo) LVL1MenuItem('L1_MU20_XE30' ).setLogic( d.MU20 & d.XE30 & physcond) ## ATR-14377 + LVL1MenuItem('L1_MU4_XE60' ).setLogic( d.MU4 & d.XE60 & physcond).setTriggerType(TT.calo) # HI LVL1MenuItem('L1_J15_NZ' ).setLogic( d.J15 & Not(d.ZDC_AND) & physcond).setTriggerType(TT.calo) LVL1MenuItem('L1_2J15_NZ').setLogic( d.J15.x(2) & Not(d.ZDC_AND) & physcond).setTriggerType(TT.calo) @@ -1461,6 +1499,7 @@ class ItemDef(object): LVL1MenuItem('L1_LFV-MU6').setLogic( d.TOPO_0DR15_2MU6ab & physcond) LVL1MenuItem('L1_LFV-MU').setLogic( d.TOPO_0DR10_MU10ab_MU6ab & physcond) + LVL1MenuItem('L1_LFV-MU11').setLogic( d.TOPO_0DR15_2MU6ab & d.MU11 & d.MU6.x(2) & physcond) if not '_v7' in TriggerFlags.triggerMenuSetup() and not 'LS2_v' in TriggerFlags.triggerMenuSetup() and not 'run3_v' in TriggerFlags.triggerMenuSetup(): LVL1MenuItem('L1_LFV-EM8I').setLogic( d.TOPO_0DETA04_0DPHI03_EM8abi_MU10ab & physcond) else: @@ -1489,6 +1528,7 @@ class ItemDef(object): LVL1MenuItem('L1_HT150-JJ15.ETA49').setLogic( d.TOPO_HT150_AJj15allETA49 & physcond) LVL1MenuItem('L1_HT150-JJ15.ETA49_MJJ-400').setLogic( d.TOPO_HT150_AJj15allETA49 & d.TOPO_400INVM9999_AJ30s6_AJ20s6 & physcond) + LVL1MenuItem('L1_MJJ-500-NFF').setLogic( d.TOPO_500INVM9999_J30s6_AJ20s6 & physcond) LVL1MenuItem('L1_J4-MATCH').setLogic( d.TOPO_0MATCH_4AJ20ETA31_4AJj15ETA31 & physcond) diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/LVL1MenuConfig/LVL1Menu/Menu_LS2_v1.py b/Trigger/TriggerCommon/TriggerMenuMT/python/LVL1MenuConfig/LVL1Menu/Menu_LS2_v1.py index 3ccc35a1ff2..b1371e1a85c 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/LVL1MenuConfig/LVL1Menu/Menu_LS2_v1.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/LVL1MenuConfig/LVL1Menu/Menu_LS2_v1.py @@ -1,4 +1,4 @@ -# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration def defineMenu(): """ @@ -38,14 +38,13 @@ def defineMenu(): # SLOT 7 / CON 0,1 (EM1,2) #------------------------- + # 16 x EM 'EM3', 'EM7', 'EM8VH', - 'EM8I', - 'EM10VH', 'EM12', 'EM13VH', 'EM15', 'EM15VH', - 'EM15HI', - 'EM18VH', 'EM20VH', 'EM20VHI', 'EM22VHI', 'EM24VHI', 'EM26VHI', - - # 1 x ZB + 'EM10VH', 'EM12', 'EM15', 'EM15VH', + 'EM15VHI', + 'EM18VHI', 'EM20VH', 'EM20VHI', 'EM22VH', 'EM22VHI', 'EM24VHI', 'EM24VHIM', 'EM30VHI', + # 1 x ZB/ 'ZB_EM15', #-------------------------- @@ -53,7 +52,8 @@ def defineMenu(): #-------------------------- # 16 x TAU - 'HA8', 'HA12', 'HA12IL', 'HA12IM', 'HA12IT', 'HA15', 'HA20', 'HA20IL', 'HA20IM', 'HA20IT', 'HA25', 'HA25IT', 'HA30', 'HA40', 'HA60', 'HA100', + 'HA5', 'HA8', 'HA12', 'HA12IL', 'HA12IM', 'HA15', 'HA20', 'HA20IL', 'HA20IM', 'HA25', 'HA25IM', 'HA30', 'HA40', 'HA60', 'HA90', 'HA100', + #---------------------- # SLOT 8 / CON 0 (JET1) @@ -61,9 +61,11 @@ def defineMenu(): # 10 x 3-bit JET (can have multiplicity 4 or more) # 8 x JETs and central jets - 'J12', 'J15', 'J15.0ETA25','J20', 'J25','J25.0ETA23','J30', 'J40', - - # 2 x VBF + 'J12', 'J12.0ETA23', 'J15', 'J15.0ETA25','J20', 'J25','J25.0ETA23','J30', + # 2 x Central Jets + 'J12.0ETA25', 'J12.0ETA28', + + # VBF Jets 'J20.0ETA49', 'J30.0ETA49', @@ -73,37 +75,33 @@ def defineMenu(): # 15 x 2-bit JET (can have maximum multiplicity of 3) (SLOT 8, CON 1) # 3 x Central Jet - 'J35.0ETA23','J40.0ETA25', 'J20.28ETA31', + 'J35.0ETA23','J40.0ETA25', #'J20.28ETA31', + + # 6 Jets # replace J400 with J45.0ETA20 - ATR-19309 + 'J40', 'J50', 'J75', 'J85', 'J100', 'J45.0ETA20', 'J120', 'J400', - # 6 Jets - 'J50', 'J75', 'J85', 'J100', 'J120', 'J400', # 6 x FJ - 'J15.31ETA49', 'J20.31ETA49', 'J30.31ETA49', 'J50.31ETA49', 'J75.31ETA49', 'J100.31ETA49', + 'J15.31ETA49', 'J20.31ETA49', 'J30.31ETA49', 'J50.31ETA49', 'J75.31ETA49', + #--------------------- - # SLOT 8 / CON 2 (EN1) + # SLOT 8 / CON 2 (EN1) #--------------------- # 24 x 1-bit thresholds - - # 8 x TE - #'TE3', 'TE5', 'TE10', 'TE15', 'TE20', 'TE25', 'TE30', 'TE40', - #'TE5', 'TE30', 'TE40', 'TE45', 'TE50', 'TE55', 'TE60', 'TE65', - 'TE5', 'TE10', 'TE15', 'TE20', 'TE25', 'TE30', 'TE40', 'TE70', + # 8 x TE + 'TE5', 'TE10', 'TE15', 'TE20', 'TE25', 'TE30', 'TE40', 'TE50', + # 8 x XE (for standard XE) - #'XE35', 'XE40', 'XE45', 'XE50', 'XE55', 'XE60', 'XE70', 'XE80', - # 8 x XE (for restricted ETA XE: check ATR-13234 for any further change) - #'XE10', 'XE20', 'XE25', 'XE30', 'XE65', 'XE75', 'XE150', 'XE300', - 'XE10', 'XE20', 'XE25', 'XE30', 'XE35', 'XE40', 'XE45', 'XE50', 'XE55', 'XE60', 'XE65', 'XE70', 'XE75', 'XE80', 'XE150', 'XE300', # 8 x XS 'XS20', 'XS30', 'XS40', 'XS45', 'XS50', 'XS55', 'XS60', 'XS65', - + #--------------------- # SLOT 8 / CON 3 (EN2) #--------------------- @@ -113,18 +111,18 @@ def defineMenu(): #'RXE35', 'RXE40', 'RXE45', 'RXE50', 'RXE55', 'RXE60', 'RXE70', 'RXE80', # FTHR # 8 x restricted eta range - #'TE3.0ETA24', 'TE5.0ETA24','TE10.0ETA24', 'TE15.0ETA24', 'TE20.0ETA24', 'TE25.0ETA24', 'TE30.0ETA24', 'TE40.0ETA24', - #'TE5.0ETA24', 'TE30.0ETA24','TE40.0ETA24', 'TE45.0ETA24', 'TE50.0ETA24', 'TE55.0ETA24', 'TE60.0ETA24', 'TE65.0ETA24', - 'TE5.0ETA24', 'TE10.0ETA24', 'TE15.0ETA24', 'TE20.0ETA24', 'TE25.0ETA24', 'TE30.0ETA24', 'TE40.0ETA24', 'TE70.0ETA24', + 'TE5.24ETA49', 'TE10.24ETA49', 'TE15.24ETA49', 'TE20.24ETA49', 'TE25.24ETA49', 'TE30.24ETA49', 'TE40.24ETA49', 'TE70.24ETA49', + + #------------------------ - # SLOT 9 / CON 0 (MUCTPi) + # SLOT 9 / CON 0 (MUCTPi) #------------------------ # 6 x MU - 'MU4', 'MU6', 'MU10', 'MU11', 'MU15', 'MU20', - + 'MU4', 'MU6', 'MU10', 'MU11', 'MU20', 'MU21', + #------------------------ # SLOT 9 / CON 1 (CTPCal) #------------------------ @@ -153,6 +151,8 @@ def defineMenu(): # 3 x CALREQ 'CAL0','CAL1','CAL2', + + #----------------------------- # SLOT 9 / CON 2,3 (NIM1,NIM2) #----------------------------- @@ -160,11 +160,13 @@ def defineMenu(): # 2 x MBTS 'MBTS_A', 'MBTS_C', - # 24 x MBTSSI (all FTHR) - 'MBTS_A0', 'MBTS_A1', 'MBTS_A2', 'MBTS_A3', 'MBTS_A4' , 'MBTS_A5', 'MBTS_A6', 'MBTS_A7', - 'MBTS_A8', 'MBTS_A10', 'MBTS_A12' , 'MBTS_A14', - 'MBTS_C0', 'MBTS_C1', 'MBTS_C2', 'MBTS_C3', 'MBTS_C4' , 'MBTS_C5', 'MBTS_C6', 'MBTS_C7', - 'MBTS_C8', 'MBTS_C10', 'MBTS_C12' , 'MBTS_C14', + # 32 x MBTSSI (all FTHR) + # NOTE: THESE ARE OUT OF ORDER FOR A REASON! Do not change! + # The order defines the mapping - see ATR-17870. + 'MBTS_A0', 'MBTS_A1', 'MBTS_A2', 'MBTS_A3', 'MBTS_A4', 'MBTS_A5', 'MBTS_A6', 'MBTS_A7', + 'MBTS_A8', 'MBTS_A10', 'MBTS_A12', 'MBTS_A14', 'MBTS_A9', 'MBTS_A11','MBTS_A13', 'MBTS_A15', + 'MBTS_C0', 'MBTS_C1', 'MBTS_C2', 'MBTS_C3', 'MBTS_C4', 'MBTS_C5', 'MBTS_C6', 'MBTS_C7', + 'MBTS_C8', 'MBTS_C10', 'MBTS_C12', 'MBTS_C14', 'MBTS_C11', 'MBTS_C13','MBTS_C9','MBTS_C15', # L1A for CTP monitoring itself 'NIML1A', @@ -182,394 +184,316 @@ def defineMenu(): 'NIMTRT', # AFP - 'AFP_NSC', 'AFP_FSC', + 'AFP_NSC', 'AFP_NSA', + 'AFP_FSA_SIT', 'AFP_FSA_TOF', 'AFP_FSA_LOG', + 'AFP_FSC_SIT', 'AFP_FSC_LOG', 'AFP_FSC_TOF', + #------------------------------------------------------------------- #L1 TOPO inputs #------------------------------------------------------------------- - + + #B-jets + 'BTAG-MU4J15', + 'BTAG-MU6J20', + #HT - 'HT190-AJ15all.ETA21', 'HT190-J15s5.ETA21', - 'HT150-AJ20all.ETA31', 'HT150-J20s5.ETA31', #ZH - '10MINDPHI-AJ20s2-XE50', '10MINDPHI-J20s2-XE50', '10MINDPHI-J20s2-XE30', '10MINDPHI-J20ab-XE50', '10MINDPHI-CJ20ab-XE50', + '10MINDPHI-J20s2-XE50', '10MINDPHI-J20s2-XE30', + #Jpsi T&P - '1INVM5-EMs1-EMs6', '1INVM5-EM7s1-EMs6', '1INVM5-EM12s1-EMs6', - - #W T&P - '05MINDPHI-AJj10s6-XE0', - '10MINDPHI-AJj10s6-XE0', - '15MINDPHI-AJj10s6-XE0', - '05MINDPHI-EM12s6-XE0', - '15MINDPHI-EM12s6-XE0', - '05MINDPHI-EM15s6-XE0', - '15MINDPHI-EM15s6-XE0', - '05RATIO-XE0-HT0-AJj15all.ETA49', - '90RATIO2-XE0-HT0-AJj15all.ETA49', - '250RATIO2-XE0-HT0-AJj15all.ETA49', - 'HT20-AJj15all.ETA49', - 'NOT-02MATCH-EM10s1-AJj15all.ETA49', - '25MT-EM12s6-XE0', - '35MT-EM12s6-XE0', - '35MT-EM15s6-XE0', - #'10MINDPHI-AJj15s2-XE0', - #'20MINDPHI-AJjs6-XE0', - #'20MINDPHI-AJj15s2-XE0', - #'10MINDPHI-EM6s1-XE0', - #'20MINDPHI-EM9s6-XE0', - #'20MINDPHI-EM6s1-XE0', - #'05RATIO-XE0-HT0-AJj15all.ETA49', - #'08RATIO-XE0-HT0-AJj0all.ETA49', - #'40RATIO2-XE0-HT0-AJj15all.ETA49', - #'90RATIO2-XE0-HT0-AJj0all.ETA49', - #'HT20-AJj0all.ETA49', - #'NOT-02MATCH-EM9s1-AJj15all.ETA49', - #'05RATIO-XE0-SUM0-EM9s1-HT0-AJj15all.ETA49', - #'20MT-EM6s6-XE0', - #'30MT-EM6s6-XE0', - #'40MT-EM6s6-XE0', + '1INVM5-EM7s1-EMs6', '1INVM5-EM12s1-EMs6', + + #W T&P - all were commented out + # central muon 'MULT-CMU4ab', 'MULT-CMU6ab', - #B-jet - '0DR04-MU4ab-CJ15ab', '0DR04-MU4ab-CJ20ab', '0DR04-MU4ab-CJ30ab', '0DR04-MU6ab-CJ20ab', '0DR04-MU6ab-CJ25ab', + #B-physics -#SX '2DR15-2MU4ab', -#SX '2INVM999-2MU4ab', -#SX '4INVM8-2MU4ab', - '2DR15-2MU6ab', -#SX '2INVM999-2MU6ab', -#SX '4INVM8-2MU6ab', + '0DR03-EM7ab-CJ15ab', + # L1 thresholds for L1Topo streamers -#SX '2INVM999-CMU4ab-MU4ab', -#SX '2INVM999-2CMU4ab', -#SX '2INVM999-MU6ab-MU4ab', -#SX '2INVM999-ONEBARREL-MU6ab-MU4ab', -#SX '2INVM999-CMU6ab-CMU4ab', -#SX '4INVM8-CMU4ab-MU4ab', -#SX '4INVM8-2CMU4ab', -#SX '4INVM8-MU6ab-MU4ab', -#SX '4INVM8-ONEBARREL-MU6ab-MU4ab', -#SX '4INVM8-CMU6ab-CMU4ab', - '2DR99-2MU4ab', + '2DR99_2MU4ab', '5DETA99-5DPHI99-MU6ab-MU4ab', '5DETA99-5DPHI99-2MU6ab', - '0DR10-MU10ab-MU6ab', '0DR15-2MU6ab', -# '0DETA04-0DPHI03-EM8abi-MU10ab', '0DETA04-EM8abi-MU10ab', '0DPHI03-EM8abi-MU10ab', -# '0DETA04-0DPHI03-EM15abi-MUab', '0DETA04-EM15abi-MUab', '0DPHI03-EM15abi-MUab', - '10MINDPHI-AJ20s2-XE50', - '10MINDPHI-J20s2-XE50', - '10MINDPHI-J20ab-XE50', - '10MINDPHI-CJ20ab-XE50', - '900INVM9999-AJ30s6-AJ20s6', '800INVM9999-AJ30s6-AJ20s6', '700INVM9999-AJ30s6-AJ20s6', - '500INVM9999-AJ30s6-AJ20s6', - '400INVM9999-AJ30s6-AJ20s6', - #'350INVM9999-AJ30s6-AJ20s6', '300INVM9999-AJ30s6-AJ20s6', - '200INVM9999-AJ30s6-AJ20s6', + '400INVM9999-AJ30s6-AJ20s6', + '500INVM9999-J30s6-AJ20s6', '100INVM9999-AJ30s6-AJ20s6', - #'350INVM9999-J30s6-J20s6', - #'300INVM9999-J30s6-J20s6', - #'250INVM9999-J30s6-J20s6', - #'200INVM9999-J30s6-J20s6', + '0DETA20-J50s1-Js2', + '27DPHI32-EMs1-EMs6', 'HT150-AJj15all.ETA49', '0MATCH-4AJ20.ETA31-4AJj15.ETA31', '100RATIO-0MATCH-TAU30si2-EMall', - 'NOT-0MATCH-TAU30si2-EMall', - '0DR28-MU10ab-TAU12abi', + 'NOT-0MATCH-TAU30si1-EMall', '1DISAMB-TAU12abi-J25ab', '1DISAMB-EM15his2-TAU12abi-J25ab', - 'DISAMB-0DR28-EM15his2-TAU12abi', - '1DISAMB-J25ab-0DR28-EM15his2-TAU12abi', + '2DISAMB-TAU12abi-J25ab', + '2DISAMB-J25ab-0DR28-EM15his2-TAU12abi', + '0DR28-MU10ab-TAU12abi', '1DISAMB-TAU20abi-TAU12abi-J25ab', '0DR25-TAU20abi-TAU12abi', '0DR28-TAU20abi-TAU12abi', - '0DETA20-0DPHI20-TAU20abi-TAU12abi', - '1DISAMB-J25ab-0DR25-TAU20abi-TAU12abi', - '1DISAMB-J25ab-0DR28-TAU20abi-TAU12abi', + '2DISAMB-J25ab-0DR25-TAU20abi-TAU12abi', + '2DISAMB-J25ab-0DR28-TAU20abi-TAU12abi', 'DISAMB-30INVM-EM20his2-TAU12ab', '400INVM9999-AJ30s6.ETA31-AJ20s6.31ETA49', - 'LAR-EM50s1', - 'LAR-J100s1', -#SX '2DR15-CMU4ab-MU4ab', -#SX '2DR15-2CMU4ab', -#SX '2DR15-MU6ab-MU4ab', -#SX '2DR15-ONEBARREL-MU6ab-MU4ab', -#SX '2DR15-CMU6ab-CMU4ab', - - '2INVM9-2MU6ab', - '7INVM15-2MU4ab', - '2INVM8-ONEBARREL-MU6ab-MU4ab', - '0DR24-2CMU4ab', - '0DR22-2MU6ab', - '0DR34-2MU4ab', - '0DR24-2MU4ab', - '0DR24-CMU4ab-MU4ab', - '2INVM8-CMU4ab-MU4ab', - '0DR15-2MU4ab', - '0DR15-MU6ab-MU4ab', - '0DR22-MU6ab-MU4ab', - '8INVM15-MU6ab-MU4ab', - '8INVM15-2MU6ab', - '2INVM8-2MU4ab', # ATR-15197 '2INVM9-2MU4ab', - '2INVM8-MU6ab-MU4ab', # ATR-15197 '2INVM9-MU6ab-MU4ab', - '2INVM9-2MU4ab', - '2INVM9-MU6ab-MU4ab', - 'KF-XE40-AJall', - 'KF-XE50-AJall', - 'KF-XE55-AJall', - 'KF-XE60-AJall', - 'KF-XE65-AJall', - 'KF-XE75-AJall', + + '0INVM9-EM7ab-EMab', + '400INVM9999-0DPHI20-J30s6-AJ20s6', + '400INVM9999-0DPHI22-J30s6-AJ20s6', + '400INVM9999-0DPHI24-J30s6-AJ20s6', + '400INVM9999-0DPHI26-J30s6-AJ20s6', 'LATE-MU10s1', 'SC111-CJ15ab.ETA26', - 'SC85-CJ15ab.ETA26', + # ALFA (the replication is needed to build all the combinations in the CTPCore) 'ALFA_B7R1L', 'ALFA_B7R1U', 'ALFA_A7R1L', 'ALFA_A7R1U', 'ALFA_A7L1L', 'ALFA_A7L1U', 'ALFA_B7L1L', 'ALFA_B7L1U', 'ALFA2_B7R1L', 'ALFA2_B7R1U', 'ALFA2_A7R1L', 'ALFA2_A7R1U', 'ALFA2_A7L1L', 'ALFA2_A7L1U', 'ALFA2_B7L1L', 'ALFA2_B7L1U', 'ALFA3_B7R1L', 'ALFA3_B7R1U', 'ALFA3_A7R1L', 'ALFA3_A7R1U', 'ALFA3_A7L1L', 'ALFA3_A7L1U', 'ALFA3_B7L1L', 'ALFA3_B7L1U', 'ALFA4_B7R1L', 'ALFA4_B7R1U', 'ALFA4_A7R1L', 'ALFA4_A7R1U', 'ALFA4_A7L1L', 'ALFA4_A7L1U', 'ALFA4_B7L1L', 'ALFA4_B7L1U', -#ATR-13743 'ALFA_B7R1L_OD', 'ALFA_B7R1U_OD', 'ALFA_A7R1L_OD', 'ALFA_A7R1U_OD', 'ALFA_A7L1L_OD', 'ALFA_A7L1U_OD', 'ALFA_B7L1L_OD', 'ALFA_B7L1U_OD', - +#ATR-13743 + 'ALFA_B7R1L_OD', 'ALFA_B7R1U_OD', 'ALFA_A7R1L_OD', 'ALFA_A7R1U_OD', 'ALFA_A7L1L_OD', 'ALFA_A7L1U_OD', 'ALFA_B7L1L_OD', 'ALFA_B7L1U_OD', + + #ATR-19355 + '0INVM10-3MU4ab', + + #ATR-18815 - Algorithm needs to be moved to master +# '0INVM10-0DR15-EM8abi-MU10ab', +# '0INVM10-0DR15-EM12abi-MU6ab', + + #ATR-18824 + '60INVM9999-25DPHI32-EM15abhi-FJj15s623ETA49', + '60INVM9999-04DPHI32-EM15abhi-FJj15s623ETA49', + #ATR-19302 + '0INVM70-27DPHI32-EM12his1-EM12his6', + + #ATR-19720 + '8INVM15-0DR22-2MU6ab', + '2INVM9-2DR15-2MU6ab', + '2INVM9-0DR15-MU6ab-MU4ab', + '8INVM15-0DR22-MU6ab-MU4ab', + '2INVM9-0DR15-2MU4ab', + + #ATR-19510 + '5DETA99-5DPHI99-2MU4ab', + + #ATR-17320 + 'CEP-CJ60s6', + 'CEP-CJ50s6', + + #ATR-20174 + '8INVM15-2CMU4ab' - ] + + ] Lvl1Flags.items = [ - # single EM 'L1_EM3','L1_EM7','L1_EM12', 'L1_EM8VH', -# 'L1_EM8I', - 'L1_EM10VH', 'L1_EM13VH', 'L1_EM15', - 'L1_EM15I','L1_EM15HI', - 'L1_EM26VHI','L1_EM15VH', 'L1_EM18VH', 'L1_EM20VH', 'L1_EM20VHI', 'L1_EM22VHI', 'L1_EM24VHI', # see Jira ATR-10334'L1_EM22VHLIL', #'L1_EM50V', - 'L1_EM3_EMPTY', 'L1_EM7_EMPTY', 'L1_EM7_UNPAIRED_ISO', 'L1_EM7_FIRSTEMPTY','L1_EM7_UNPAIRED_NONISO', + 'L1_EM10VH', 'L1_EM15', + 'L1_EM30VHI', + 'L1_EM15VHI', + 'L1_EM24VHIM','L1_EM15VH', 'L1_EM18VHI', 'L1_EM20VH', 'L1_EM20VHI', 'L1_EM22VHI', 'L1_EM22VH','L1_EM24VHI', + 'L1_EM3_EMPTY', 'L1_EM7_EMPTY', 'L1_EM7_UNPAIRED_ISO', 'L1_EM7_FIRSTEMPTY', 'L1_EM20VH_FIRSTEMPTY', - 'L1_EM22VHI_FIRSTEMPTY', - #'L1_EM15_BGRP7', - # see savannah https://savannah.cern.ch/bugs/?103935 - # combined EM -jet - #'L1_JJ15.23ETA49', # 4x4 window + # combined EM -jet - all commented # single MU - "L1_MU4", "L1_MU6", "L1_MU10", "L1_MU11", "L1_MU15", "L1_MU20", - + "L1_MU4", "L1_MU6", "L1_MU10", "L1_MU11", "L1_MU20", "L1_MU21", + "L1_MU4_EMPTY", "L1_MU6_EMPTY", "L1_MU4_FIRSTEMPTY", "L1_MU11_EMPTY", - 'L1_MU4_UNPAIRED_ISO','L1_MU4_UNPAIRED_NONISO', - 'L1_MU20_FIRSTEMPTY', + 'L1_MU4_UNPAIRED_ISO', + - # multi lepton - "L1_2EM3", "L1_2EM7", "L1_2EM10VH", "L1_2EM13VH", "L1_2EM15", "L1_2EM15VH", "L1_EM7_2EM3", "L1_EM12_2EM3", "L1_EM15VH_3EM7", "L1_EM15VH_3EM8VH", "L1_EM15VH_2EM10VH_3EM7", - "L1_2EM18VH", "L1_2EM20VH", "L1_EM15VH_3EM10VH", "L1_EM18VH_3EM8VH", "L1_EM18VH_2EM10VH_3EM7", "L1_EM20VH_3EM10VH", "L1_EM20VH_2EM10VH_3EM8VH", + "L1_2EM3", "L1_2EM7", + "L1_2EM15", "L1_2EM15VH", "L1_2EM15VHI", + "L1_2EM20VH", + "L1_EM20VH_3EM10VH", "L1_EM7_MU10", - "L1_2MU4", "L1_2MU6", "L1_2MU10", "L1_2MU20_OVERLAY", "L1_MU10_2MU6", "L1_MU11_2MU6", "L1_3MU4", "L1_MU6_2MU4", "L1_3MU6", "L1_4MU4", "L1_MU6_3MU4", "L1_2MU6_3MU4", - - "L1_EM8I_MU10", "L1_EM15I_MU4", "L1_2EM8VH_MU10", "L1_EM15VH_MU10", - + "L1_2MU4", "L1_2MU6", "L1_2MU10", "L1_2MU20_OVERLAY", "L1_MU11_2MU6", "L1_3MU4", "L1_MU6_2MU4", "L1_3MU6", "L1_4MU4", "L1_MU6_3MU4", "L1_2MU6_3MU4", "L1_2MU11", "L1_MU11_2MU10", + "L1_2EM8VH_MU10", "L1_EM15VH_MU10", "L1_EM7_MU20", "L1_EM8VH_MU20", # single tau - "L1_TAU12", "L1_TAU12IM", "L1_TAU20", "L1_TAU20IM", - "L1_TAU30","L1_TAU30_EMPTY","L1_TAU30_UNPAIRED_ISO", "L1_TAU40", "L1_TAU60", "L1_TAU100", "L1_TAU8", "L1_TAU8_EMPTY", - "L1_TAU8_UNPAIRED_ISO","L1_TAU8_FIRSTEMPTY","L1_TAU8_UNPAIRED_NONISO", + "L1_TAU5", "L1_TAU12", "L1_TAU12IM", "L1_TAU20IM", + "L1_TAU30","L1_TAU30_EMPTY","L1_TAU30_UNPAIRED_ISO", "L1_TAU40", "L1_TAU60", "L1_TAU90", "L1_TAU100", "L1_TAU8_EMPTY", + "L1_TAU8_UNPAIRED_ISO","L1_TAU8_FIRSTEMPTY", # multi tau - "L1_TAU20IM_2TAU12IM", "L1_TAU20_2TAU12", "L1_TAU40_2TAU20IM", + "L1_TAU20IM_2TAU12IM", "L1_TAU60_2TAU40", "L1_2TAU5", "L1_2TAU8", # combined tau - lepton - "L1_EM15HI_2TAU12IM", - "L1_EM15HI_2TAU12IM_J25_3J12", - "L1_EM15HI_TAU40_2TAU15", + "L1_EM15VHI_2TAU12IM", + "L1_EM15VHI_2TAU12IM_J25_3J12", + "L1_EM15VHI_2TAU12IM_4J12", + "L1_EM15VHI_TAU40_2TAU15", "L1_MU10_TAU12IM", - "L1_MU10_TAU12IM_J25_2J12", -# "L1_MU10_TAU12_J25_2J12", -# "L1_MU10_TAU20", + "L1_MU10_TAU12IM_J25_2J12", + "L1_MU10_TAU12IM_3J12", + 'L1_DR-MU10TAU12I_TAU12I-J25', "L1_MU10_TAU20IM", "L1_MU11_TAU20IM", "L1_MU10_TAU20IM_J25_2J20", # combined tau - jet -# "L1_TAU25IT_2TAU12IT_2J25_3J12", - "L1_TAU20IM_2TAU12IM_J25_2J20_3J12", - 'L1_J25_2J20_3J12_BOX-TAU20ITAU12I', - 'L1_DR-MU10TAU12I_TAU12I-J25', - "L1_MU10_TAU12I-J25", + "L1_TAU20IM_2TAU12IM_J25_2J20_3J12", + "L1_TAU20IM_2TAU12IM_4J12.0ETA23", + "L1_TAU20IM_2TAU12IM_4J12.0ETA25", + "L1_TAU20IM_2TAU12IM_4J12.0ETA28", + "L1_TAU25IM_2TAU20IM_2J25_3J20", + # combined tau - xe "L1_TAU20IM_2J20_XE45", -# "L1_TAU20_2J20_XE45", -# "L1_TAU20IM_2J20_XE50", + "L1_TAU20IM_2J20_XE50", + #"L1_EM15HI_2TAU12I_XE35", - "L1_EM15HI_2TAU12IM_XE35", - "L1_EM15HI_TAU20IM_2TAU15_J25_2J20_3J15", + "L1_EM15VHI_2TAU12IM_XE35", 'L1_EM20VHI_TAU20IM_2TAU20_J25_3J20', "L1_MU10_TAU12IM_XE35", -# "L1_MU10_TAU12IM_XE40", "L1_TAU20IM_2TAU12IM_XE35", - "L1_TAU20_2TAU12_XE35", "L1_TAU40_2TAU12IM_XE40", # combined em - jet - #'L1_EM15VH_J15.23ETA49', -# 'L1_EM15VH_JJ15.23ETA49', - 'L1_EM13VH_3J20', - 'L1_EM18VH_3J20', + 'L1_EM18VHI_3J20', + 'L1_EM20VH_3J20', + + # combined mu - jet - 'L1_MU4_J12', 'L1_MU4_J50_XE40', 'L1_MU6_J20', 'L1_MU6_J30.0ETA49_2J20.0ETA49', 'L1_MU6_J40', 'L1_MU6_J75', -#ATR-13743 'L1_MU4_J30', - #'L1_MU4_J50', + 'L1_MU6_J20', 'L1_MU6_J30.0ETA49_2J20.0ETA49', 'L1_MU6_J40', 'L1_MU6_J75', 'L1_MU10_2J20','L1_MU10_3J20', 'L1_MU10_2J15_J20', - 'L1_2MU4_J40_XE20', 'L1_MU20_J40', 'L1_MU20_XE30', + 'L1_MU20_J50', # single jet - "L1_J12","L1_J15","L1_J20","L1_J25", "L1_J30", "L1_J40", "L1_J50" ,"L1_J75","L1_J85", "L1_J100", "L1_J120", "L1_J400", - "L1_J20.31ETA49", "L1_J30.31ETA49", "L1_J50.31ETA49", "L1_J75.31ETA49", "L1_J100.31ETA49", - #'L1_J15.23ETA49', - 'L1_J15.31ETA49', - "L1_J20.28ETA31", - #'L1_J40.0ETA25', + "L1_J15","L1_J20","L1_J25", "L1_J30", "L1_J40", "L1_J50" ,"L1_J75","L1_J85", "L1_J100", "L1_J120", "L1_J400", + "L1_J20.31ETA49", "L1_J30.31ETA49", "L1_J50.31ETA49", "L1_J75.31ETA49", + 'L1_J15.31ETA49', "L1_J12_EMPTY","L1_J12_FIRSTEMPTY", "L1_J12_UNPAIRED_ISO", "L1_J12_UNPAIRED_NONISO", "L1_J12_ABORTGAPNOTCALIB", "L1_J15.31ETA49_UNPAIRED_ISO", "L1_J30_EMPTY", "L1_J30_FIRSTEMPTY", "L1_J30.31ETA49_EMPTY", "L1_J30.31ETA49_UNPAIRED_ISO", "L1_J30.31ETA49_UNPAIRED_NONISO", "L1_J50_UNPAIRED_ISO", "L1_J50_UNPAIRED_NONISO", "L1_J50_ABORTGAPNOTCALIB", - "L1_J12_BGRP12", "L1_J30.31ETA49_BGRP12", 'L1_J100_FIRSTEMPTY', - 'L1_J100.31ETA49_FIRSTEMPTY', + # multi jet - - "L1_J20_J20.31ETA49", - "L1_3J15", "L1_3J20","L1_3J40", 'L1_3J15.0ETA25', "L1_3J50", "L1_4J15", "L1_4J20", - "L1_4J20.0ETA49", + "L1_J45.0ETA20_3J15.0ETA25", + "L1_J50_2J40.0ETA25_3J15.0ETA25", + "L1_3J50", "L1_4J15", "L1_4J20", "L1_4J20.0ETA49", "L1_3J15.0ETA25_XE40", - #"L1_3J75", - #"L1_4J30", "L1_6J15", - "L1_J75_3J20", "L1_J85_3J30", - "L1_J30.0ETA49_2J20.0ETA49", - - "L1_J15.0ETA25_2J15.31ETA49", + # multi jet forward + "L1_J25.0ETA23_2J15.31ETA49", "L1_J40.0ETA25_2J15.31ETA49", "L1_J40.0ETA25_2J25_J20.31ETA49", - "L1_J40.0ETA25_2J30_J20.31ETA49", + "L1_J30.0ETA49_2J20.0ETA49", # multi jet central "L1_3J25.0ETA23", "L1_3J35.0ETA23", "L1_4J15.0ETA25", "L1_5J15.0ETA25", - # combined jet - "L1_2J15_XE55", "L1_J40_XE50", "L1_J75_XE50", + "L1_2J15_XE55", "L1_J40_XE50", #'L1_2J40_XE45', - "L1_2J50_XE40", "L1_J40_XE60","L1_J40.0ETA25_XE50", + "L1_2J50_XE40", "L1_J40_XE60", + # XE "L1_XE35", "L1_XE40", "L1_XE45", "L1_XE50", "L1_XE55", "L1_XE60", "L1_XE70", "L1_XE80", - 'L1_XE10', 'L1_XE30', 'L1_XE65', 'L1_XE75', 'L1_XE150', 'L1_XE300', + 'L1_XE30', 'L1_XE300', #XS - 'L1_XS20', 'L1_XS30', 'L1_EM12_XS20', 'L1_EM15_XS30', # TE - #"L1_TE3", "L1_TE5", "L1_TE10", "L1_TE15", "L1_TE20", "L1_TE25", "L1_TE30", "L1_TE40", - #"L1_TE5", "L1_TE30", "L1_TE40", "L1_TE45", "L1_TE50", "L1_TE55", "L1_TE60", "L1_TE65", - "L1_TE5", "L1_TE10", "L1_TE15", "L1_TE20", "L1_TE25", "L1_TE30", "L1_TE40", "L1_TE70", +# 'L1_TE5', ## disabled? - #"L1_TE3.0ETA24", "L1_TE5.0ETA24", "L1_TE10.0ETA24", "L1_TE15.0ETA24", "L1_TE20.0ETA24", "L1_TE25.0ETA24", "L1_TE30.0ETA24", "L1_TE40.0ETA24", - #"L1_TE5.0ETA24", "L1_TE30.0ETA24", "L1_TE40.0ETA24", "L1_TE45.0ETA24", "L1_TE50.0ETA24", "L1_TE55.0ETA24", "L1_TE60.0ETA24", "L1_TE65.0ETA24", - "L1_TE5.0ETA24", "L1_TE10.0ETA24", "L1_TE15.0ETA24", "L1_TE20.0ETA24", "L1_TE25.0ETA24", "L1_TE30.0ETA24", "L1_TE40.0ETA24","L1_TE70.0ETA24", + #VTE + MBTS + #"L1_MBTS_1_VTE2", "L1_MBTS_1_VTE3", "L1_MBTS_1_VTE4", "L1_MBTS_1_VTE5", "L1_MBTS_1_VTE10", "L1_MBTS_2_VTE2", "L1_MBTS_2_VTE3", "L1_MBTS_2_VTE4", "L1_MBTS_2_VTE5", "L1_MBTS_2_VTE10", + + #TE + MU # MBTS - "L1_MBTS_1", "L1_MBTS_2", "L1_MBTS_1_1", - "L1_MBTS_1_EMPTY", "L1_MBTS_1_UNPAIRED_ISO", - "L1_MBTS_2_EMPTY", "L1_MBTS_2_UNPAIRED_ISO", - "L1_MBTS_1_1_EMPTY", "L1_MBTS_1_1_UNPAIRED_ISO","L1_MBTS_4_A_UNPAIRED_ISO","L1_MBTS_4_C_UNPAIRED_ISO", -# 'L1_MBTSA0' ,'L1_MBTSA1' ,'L1_MBTSA2' ,'L1_MBTSA3' ,'L1_MBTSA4' , -# 'L1_MBTSA5' ,'L1_MBTSA6' ,'L1_MBTSA7' ,'L1_MBTSA8' , -# 'L1_MBTSA10','L1_MBTSA12','L1_MBTSA14', -# 'L1_MBTSC0' ,'L1_MBTSC1' ,'L1_MBTSC2' ,'L1_MBTSC3' ,'L1_MBTSC4' , -# 'L1_MBTSC5' ,'L1_MBTSC6' ,'L1_MBTSC7' ,'L1_MBTSC8' , -# 'L1_MBTSC10','L1_MBTSC12','L1_MBTSC14', # beam splashes - "L1_MBTS_4_A", "L1_MBTS_4_C", + + #Overlay +# "L1_MBTS_1_OVERLAY","L1_TE20_OVERLAY", + + #BeamSpot +# "L1_MBTS_1_VTE70", #BGRP9 - 'L1_MBTS_1_BGRP9','L1_MBTS_2_BGRP9', #BGRP11 - 'L1_MBTS_1_BGRP11','L1_MBTS_2_BGRP11', # RNDM - 'L1_RD0_FILLED', 'L1_RD0_UNPAIRED_ISO','L1_RD0_EMPTY', - "L1_RD1_FILLED","L1_RD1_EMPTY","L1_RD1_BGRP10", - "L1_RD2_FILLED","L1_RD2_EMPTY","L1_RD2_BGRP12", - "L1_RD3_FILLED","L1_RD3_EMPTY", - 'L1_RD0_FIRSTEMPTY', - 'L1_RD0_BGRP9', 'L1_RD0_BGRP11', 'L1_RD0_ABORTGAPNOTCALIB', + 'L1_RD0_FILLED', 'L1_RD0_UNPAIRED_ISO', 'L1_RD0_EMPTY', + "L1_RD1_EMPTY", +# 'L1_RD0_FIRSTEMPTY', + 'L1_RD0_ABORTGAPNOTCALIB', +# 'L1_RD2_FILLED', # This is not needed? #LUCID - 'L1_LUCID', 'L1_LUCID_EMPTY', 'L1_LUCID_UNPAIRED_ISO', - 'L1_LUCID_A_C_EMPTY', 'L1_LUCID_A_C_UNPAIRED_ISO', 'L1_LUCID_A_C_UNPAIRED_NONISO', +# 'L1_LUCID_A_C_EMPTY', 'L1_LUCID_A_C_UNPAIRED_ISO', 'L1_LUCID_A_C_UNPAIRED_NONISO', #'L1_LUCID_COMM_EMPTY', 'L1_LUCID_COMM_UNPAIRED_ISO', + + # ZDC - 'L1_ZDC_A', 'L1_ZDC_C', 'L1_ZDC_A_C', - 'L1_ZDC_AND', # FTHR + # FTHR # VDM - 'L1_BGRP9', #"L1_BGRP7", + #"L1_BGRP7", # TRT # "L1_TRT", - "L1_TRT_FILLED", - "L1_TRT_EMPTY", # TGC "L1_TGC_BURST", # "L1_TGC_BURST_EMPTY", # LHCF - "L1_LHCF", "L1_LHCF_UNPAIRED_ISO", "L1_LHCF_EMPTY", #CALREQ "L1_CALREQ2", @@ -578,244 +502,124 @@ def defineMenu(): "L1_ZB", # BPTX - "L1_BPTX0_BGRP0", "L1_BPTX1_BGRP0", # BCM - 'L1_BCM_Wide_BGRP0','L1_BCM_AC_CA_BGRP0', 'L1_BCM_Wide_EMPTY','L1_BCM_Wide_UNPAIRED_ISO','L1_BCM_Wide_UNPAIRED_NONISO', 'L1_BCM_AC_CA_UNPAIRED_ISO', + #'L1_BCM_AC_CA_UNPAIRED_ISO', + 'L1_BCM_AC_CA_BGRP0', 'L1_BCM_Wide_EMPTY','L1_BCM_Wide_UNPAIRED_ISO','L1_BCM_Wide_UNPAIRED_NONISO', 'L1_BCM_AC_UNPAIRED_ISO','L1_BCM_CA_UNPAIRED_ISO', 'L1_BCM_AC_UNPAIRED_NONISO','L1_BCM_CA_UNPAIRED_NONISO', 'L1_BCM_AC_ABORTGAPNOTCALIB', 'L1_BCM_CA_ABORTGAPNOTCALIB','L1_BCM_Wide_ABORTGAPNOTCALIB', 'L1_BCM_AC_CALIB', 'L1_BCM_CA_CALIB','L1_BCM_Wide_CALIB', #AFP - 'L1_AFP_NSC', 'L1_AFP_FSC', - 'L1_AFP_C_ANY', 'L1_AFP_C_ANY_UNPAIRED_ISO', 'L1_AFP_C_ANY_UNPAIRED_NONISO', 'L1_AFP_C_ANY_EMPTY', 'L1_AFP_C_ANY_FIRSTEMPTY', 'L1_AFP_C_AND', +# 'L1_AFP_FSC', +# 'L1_AFP_C_ANY', 'L1_AFP_C_ANY_UNPAIRED_ISO', 'L1_AFP_C_ANY_UNPAIRED_NONISO', 'L1_AFP_C_ANY_EMPTY', 'L1_AFP_C_ANY_FIRSTEMPTY', 'L1_AFP_C_AND', - #-------------------------------- +# 'L1_EM7_AFP_A_AND_C','L1_EM12_AFP_A_AND_C', + + + #-------------------------------- # TOPO items #-------------------------------- # B-jet - 'L1_BTAG-MU4J15', 'L1_BTAG-MU4J30', 'L1_BTAG-MU6J20', 'L1_BTAG-MU6J25', - #'L1_BTAG-MU4J20', - 'L1_3J15_BTAG-MU4J15', 'L1_3J15_BTAG-MU4J30', 'L1_3J15_BTAG-MU6J25', 'L1_3J20_BTAG-MU4J20', - #'L1_3J20_BTAG-MU4J30', 'L1_3J20_BTAG-MU6J25', - - # ZH - 'L1_DPHI-AJ20s2XE50', 'L1_J40_DPHI-J20s2XE50', 'L1_J40_DPHI-J20XE50', 'L1_J40_DPHI-CJ20XE50', #'L1_J40_DPHI-J20s2XE30', -#SX 'L1_BPH-DR-2MU4-B_BPH-2M-2MU4-B', -#SX 'L1_BPH-DR-2MU4-B_BPH-4M8-2MU4-B', -#SX 'L1_BPH-DR-2MU4-BO_BPH-2M-2MU4-BO', -#SX 'L1_BPH-DR-2MU4-BO_BPH-4M8-2MU4-BO', + 'L1_BTAG-MU4J15', + 'L1_BTAG-MU6J20', + + # ZH - all removed + + + #Higgsino + 'L1_2MU4_J40_XE50', + 'L1_MU4_J30_XE40_DPHI-J20s2XE30','L1_MU4_J50_XE50_DPHI-J20s2XE30', + 'L1_MU4_XE60', # HT - 'L1_HT190-J15.ETA21', 'L1_HT190-J15s5.ETA21', - 'L1_HT150-J20.ETA31', - 'L1_HT150-J20s5.ETA31', - "L1_HT150-J20s5.ETA31_MJJ-400", "L1_HT150-J20s5.ETA31_MJJ-400-CF", # Jpsi T&P - 'L1_JPSI-1M5', 'L1_JPSI-1M5-EM7', 'L1_JPSI-1M5-EM12', - 'L1_KF-XE40', 'L1_KF-XE50', 'L1_KF-XE55', 'L1_KF-XE60', 'L1_KF-XE65', 'L1_KF-XE75', + 'L1_JPSI-1M5-EM7', 'L1_JPSI-1M5-EM12', +# - # W T&P -# 'L1_W-05DPHI-JXE-0', -# 'L1_W-10DPHI-JXE-0', -# 'L1_W-15DPHI-JXE-0', -# 'L1_W-05DPHI-EMXE-1', - #'L1_W-15DPHI-EMXE-1', -# 'L1_W-05DPHI-EM15XE-1', - #'L1_W-15DPHI-EM15XE-1', - 'L1_W-05RO-XEHT-0', - 'L1_W-90RO2-XEHT-0', - 'L1_W-250RO2-XEHT-0', - 'L1_W-HT20-JJ15.ETA49', - 'L1_W-NOMATCH', - #'L1_W-NOMATCH_W-05RO-XEEMHT', - 'L1_EM12_W-MT25', -# 'L1_EM12_W-MT35', - 'L1_EM15_W-MT35', - 'L1_EM12_W-MT35_XS30_W-15DPHI-JXE-0_W-15DPHI-EMXE', - 'L1_EM12_W-MT35_XS40_W-05DPHI-JXE-0_W-05DPHI-EMXE', - 'L1_EM12_W-MT35_W-90RO2-XEHT-0_W-15DPHI-JXE-0_W-15DPHI-EMXE', - 'L1_EM12_W-MT35_W-250RO2-XEHT-0_W-05DPHI-JXE-0_W-05DPHI-EMXE', - 'L1_EM15_W-MT35_W-250RO2-XEHT-0_W-15DPHI-JXE-0_W-15DPHI-EM15XE', - 'L1_EM15_W-MT35_W-250RO2-XEHT-0_W-05DPHI-JXE-0_W-05DPHI-EM15XE', - 'L1_EM15_W-MT35_XS60_W-15DPHI-JXE-0_W-15DPHI-EM15XE', - 'L1_EM15_W-MT35_XS60_W-05DPHI-JXE-0_W-05DPHI-EM15XE', - 'L1_EM15_W-MT35_XS40_W-15DPHI-JXE-0_W-15DPHI-EM15XE', - 'L1_EM15_W-MT35_XS40_W-05DPHI-JXE-0_W-05DPHI-EM15XE', - 'L1_EM12_W-MT35_XS50', - 'L1_EM15_W-MT35_XS60', - 'L1_EM10VH_W-MT35_XS50', - 'L1_EM15VH_W-MT35_XS60', - 'L1_EM20VH_W-MT35_XS60', - 'L1_EM22VHI_W-MT35_XS40', - # Old - 'L1_EM12_W-MT25_W-15DPHI-JXE-0_W-15DPHI-EMXE_W-90RO2-XEHT-0', - 'L1_EM12_W-MT25_W-15DPHI-JXE-0_W-15DPHI-EMXE_XS20', - 'L1_EM12_W-MT25_W-15DPHI-JXE-0_W-15DPHI-EMXE', - 'L1_EM15_W-MT35_W-05DPHI-JXE-0_W-05DPHI-EM15XE_XS30', - 'L1_EM15_W-MT35_W-05DPHI-JXE-0_W-05DPHI-EM15XE', - #'L1_W-10DPHI-JXE-0', - #'L1_W-20DPHI-JXE-1', - #'L1_W-20DPHI-JXE-0', - #'L1_W-20DPHI-EMXE-1', - #'L1_W-20DPHI-EMXE-0', - #'L1_W-05RO-XEHT-0', - #'L1_W-08RO-XEHT-1', - #'L1_W-40RO2-XEHT-0', - #'L1_W-90RO2-XEHT-1', - #'L1_W-HT20-JJ0.ETA49', - #'L1_W-NOMATCH', - #'L1_W-NOMATCH_W-05RO-XEEMHT', - #'L1_EM3_W-MT20', - #'L1_EM3_W-MT40', - - #Bphysics items -#SX 'L1_BPH-DR-2MU4', -#SX 'L1_BPH-2M-2MU4', -#SX 'L1_BPH-4M8-2MU4', -#SX 'L1_BPH-DR-2MU4_BPH-2M-2MU4', 'L1_BPH-DR-2MU4_BPH-4M8-2MU4', - -#SX 'L1_BPH-DR-2MU6', -#SX 'L1_BPH-2M-2MU6', 'L1_BPH-4M8-2MU6', -#SX 'L1_BPH-DR-2MU6_BPH-2M-2MU6', 'L1_BPH-DR-2MU6_BPH-4M8-2MU6', - - # temporarily commented out until CTP Simulation is fixed (menu generation and TMC understand multiplicity topo) -#SX uncommenting - 'L1_2MU4-BO', - 'L1_2MU6-BO', - 'L1_MU6MU4-BO', - - # L1 items for L1Topo streamers -#SX 'L1_BPH-2M-2MU4-B', -#SX 'L1_BPH-2M-2MU4-BO', -#SX 'L1_BPH-2M-MU6MU4', -#SX 'L1_BPH-2M-MU6MU4-B', -#SX 'L1_BPH-2M-MU6MU4-BO', -#SX 'L1_BPH-4M8-2MU4-B', -#SX 'L1_BPH-4M8-2MU4-BO', -#SX 'L1_BPH-4M8-MU6MU4', -#SX 'L1_BPH-4M8-MU6MU4-B', -#SX 'L1_BPH-4M8-MU6MU4-BO', - 'L1_DY-DR-2MU4', - 'L1_EM15VH_2EM8VH_MU6', - #'L1_DY-BOX-MU6MU4', - 'L1_DY-BOX-2MU6', - 'L1_LFV-MU', + # W T&P - all removed + 'L1_LFV-MU6', + 'L1_LFV-MU11', 'L1_LFV-EM8I', 'L1_LFV-EM15I', - 'L1_EM7_MU15', - 'L1_EM8VH_MU15', 'L1_DPHI-J20s2XE50', 'L1_J40_XE50_DPHI-J20s2XE50', - 'L1_DPHI-J20XE50', - 'L1_DPHI-CJ20XE50', - 'L1_MU4_J20_XE30_DPHI-J20s2XE30', 'L1_2MU4_J20_XE30_DPHI-J20s2XE30', - 'L1_MU4_2EM3_J20_XE30_DPHI-J20s2XE30', - 'L1_3EM3_J40_XE50_DPHI-J20s2XE50', - 'L1_MJJ-900', - 'L1_MJJ-800', 'L1_MJJ-700', - 'L1_MJJ-400', - #'L1_MJJ-350', -# 'L1_MJJ-300', -# 'L1_MJJ-200', + 'L1_MJJ-300', 'L1_MJJ-100', + 'L1_MJJ-400', + 'L1_MJJ-800', + 'L1_MJJ-500-NFF', + 'L1_J50_DETA20-J50J', + 'L1_DPHI-2EM3', 'L1_HT150-JJ15.ETA49', 'L1_HT150-JJ15.ETA49_MJJ-400', 'L1_J4-MATCH', 'L1_LLP-RO', 'L1_LLP-NOMATCH', - 'L1_DR-MU10TAU12I', -# 'L1_TAU12I-J25', 'L1_EM15TAU12I-J25', - 'L1_DR-EM15TAU12I', - 'L1_DR-EM15TAU12I-J25', + 'L1_DR-EM15TAU12I-J25', 'L1_TAU20ITAU12I-J25', 'L1_DR-TAU20ITAU12I', - 'L1_BOX-TAU20ITAU12I', 'L1_DR-TAU20ITAU12I-J25', + 'L1_DR-MU10TAU12I', - 'L1_DR25-TAU20ITAU12I', - 'L1_DR25-TAU20ITAU12I-J25', 'L1_30M-EM20ITAU12', 'L1_MJJ-400-CF', 'L1_LAR-EM', 'L1_LAR-J', -#SX 'L1_BPH-DR-2MU4-B', -#SX 'L1_BPH-DR-2MU4-BO', -#SX 'L1_BPH-DR-MU6MU4', -#SX 'L1_BPH-DR-MU6MU4-B', -#SX 'L1_BPH-DR-MU6MU4-BO', - -#new bhysics - #'L1_BPH-1M19-2MU4_BPH-0DR34-2MU4', - 'L1_BPH-2M8-2MU4_BPH-0DR15-2MU4', # ATR-15197 'L1_BPH-2M9-2MU4_BPH-0DR15-2MU4', + 'L1_LAR-ZEE', + 'L1_LAR-ZEE_LAR-EM', 'L1_BPH-2M9-2MU4_BPH-0DR15-2MU4', - 'L1_BPH-7M15-2MU4_BPH-0DR24-2MU4', - 'L1_BPH-2M8-MU6MU4_BPH-0DR15-MU6MU4', # ATR-15197 'L1_BPH-2M9-MU6MU4_BPH-0DR15-MU6MU4', 'L1_BPH-2M9-MU6MU4_BPH-0DR15-MU6MU4', - 'L1_BPH-8M15-MU6MU4_BPH-0DR22-MU6MU4', - 'L1_BPH-2M9-2MU6_BPH-2DR15-2MU6', 'L1_BPH-8M15-2MU6_BPH-0DR22-2MU6', - 'L1_2MU4-B', - 'L1_2MU6-B' , - #'L1_BPH-1M19-2MU4-B_BPH-0DR34-2MU4', - 'L1_BPH-2M8-2MU4-B_BPH-0DR15-2MU4' , - 'L1_BPH-7M15-2MU4_BPH-0DR24-2MU4-B' , - #'L1_BPH-1M19-2MU4-BO_BPH-0DR34-2MU4' , - #'L1_BPH-2M8-2MU4-BO_BPH-0DR15-2MU4' , - 'L1_BPH-7M15-2MU4_BPH-0DR24-2MU4-BO' , - 'L1_BPH-2M8-MU6MU4-B_BPH-0DR15-MU6MU4', - 'L1_MU6_2MU4-B', - - 'L1_BPH-2M8-2MU4', # ATR-15197 'L1_BPH-2M9-2MU4', - 'L1_BPH-8M15-MU6MU4', - 'L1_BPH-8M15-2MU6', - + 'L1_BPH-8M15-MU6MU4_BPH-0DR22-MU6MU4-BO', + + #ATR-19720 - no algorithm in master +# 'L1_BPH-8M15-0DR22-2MU6', +# 'L1_BPH-2M9-2DR15-2MU6', +# 'L1_BPH-2M9-0DR15-MU6MU4', +# 'L1_BPH-8M15-0DR22-MU6MU4-BO', +# 'L1_BPH-2M9-0DR15-2MU4', +# +# 'L1_BPH-0M9-EM7-EM5', +# 'L1_BPH-0DR3-EM7J15', +# 'L1_BPH-0M9-EM7-EM5_MU6', +# 'L1_BPH-0DR3-EM7J15_MU6', +# 'L1_BPH-0M9-EM7-EM5_2MU4', +# 'L1_BPH-0DR3-EM7J15_2MU4', +# # combined L1Topo for VBF - 'L1_MU6_MJJ-200', - 'L1_MU6_MJJ-300', - 'L1_MU6_MJJ-400', - 'L1_MU6_MJJ-500', - 'L1_J30_2J20_4J20.0ETA49_MJJ-400', - 'L1_J30_2J20_4J20.0ETA49_MJJ-700', - 'L1_J30_2J20_4J20.0ETA49_MJJ-800', - 'L1_J30_2J20_4J20.0ETA49_MJJ-900', - 'L1_3J20_4J20.0ETA49_MJJ-400', - 'L1_3J20_4J20.0ETA49_MJJ-700', - 'L1_3J20_4J20.0ETA49_MJJ-800', - 'L1_3J20_4J20.0ETA49_MJJ-900', - 'L1_XE35_MJJ-200', + # INVM + DPHI + 'L1_MJJ-400-NFF-0DPHI20', + 'L1_MJJ-400-NFF-0DPHI22', + 'L1_MJJ-400-NFF-0DPHI24', + 'L1_MJJ-400-NFF-0DPHI26', ### ATR-15062 - 'L1_EM18VH_MJJ-300', + 'L1_EM18VHI_MJJ-300', - 'L1_LATE-MU10_XE50', 'L1_LATE-MU10_J50', + 'L1_LATE-MU10_XE50','L1_LATE-MU10_XE40', 'L1_LATE-MU10_J50', 'L1_TAU60_DR-TAU20ITAU12I', - 'L1_SC111', - 'L1_SC85', + 'L1_SC111-CJ15', +# 'L1_SC85-CJ15', ## # Partition 1 ## 'L1_CALREQ0_P1', 'L1_CALREQ1_P1', 'L1_CALREQ2_P1', #ALFA -#ALFA_B7R1L_OD 'L1_ALFA_ELAST1', -# 'L1_ALFA_ELAST2', -# 'L1_ALFA_ELAST11','L1_ALFA_ELAST12', -# 'L1_ALFA_ELAST13','L1_ALFA_ELAST14','L1_ALFA_ELAST15','L1_ALFA_ELAST15_Calib', -# 'L1_ALFA_ELAST16','L1_ALFA_ELAST17','L1_ALFA_ELAST18','L1_ALFA_ELAST18_Calib', # 'L1_ALFA_SDIFF5','L1_ALFA_SDIFF6','L1_ALFA_SDIFF7','L1_ALFA_SDIFF8', # 'L1_MBTS_1_A_ALFA_C','L1_MBTS_1_C_ALFA_A','L1_MBTS_1_A_ALFA_C_UNPAIRED_ISO','L1_MBTS_1_C_ALFA_A_UNPAIRED_ISO', # 'L1_MBTS_2_A_ALFA_C','L1_MBTS_2_C_ALFA_A','L1_MBTS_2_A_ALFA_C_UNPAIRED_ISO','L1_MBTS_2_C_ALFA_A_UNPAIRED_ISO', @@ -829,64 +633,105 @@ def defineMenu(): # # 'L1_EM3_ALFA_EINE', # 'L1_J12_ALFA_ANY','L1_J12_ALFA_ANY_UNPAIRED_ISO', -# 'L1_TE5_ALFA_ANY','L1_TE5_ALFA_ANY_UNPAIRED_ISO','L1_TE5_ALFA_EINE', +# 'L1_TE5_ALFA_ANY','L1_TE5_ALFA_ANY_UNPAIRED_ISO', +# 'L1_TE5_ALFA_EINE', # 'L1_TRT_ALFA_ANY','L1_TRT_ALFA_ANY_UNPAIRED_ISO', # 'L1_TRT_ALFA_EINE', # #'L1_LHCF_ALFA_ANY_A', # #'L1_LHCF_ALFA_ANY_C', ## 'L1_LHCF_ALFA_ANY_A_UNPAIRED_ISO','L1_LHCF_ALFA_ANY_C_UNPAIRED_ISO', -# 'L1_ALFA_BGT','L1_ALFA_BGT_UNPAIRED_ISO','L1_ALFA_BGT_BGRP10', -# 'L1_ALFA_SHOWSYST5', -# 'L1_ALFA_SYST9' ,'L1_ALFA_SYST10','L1_ALFA_SYST11','L1_ALFA_SYST12', -# 'L1_ALFA_SYST17','L1_ALFA_SYST18', - 'L1_ALFA_ANY', -# 'L1_ALFA_ANY_EMPTY','L1_ALFA_ANY_FIRSTEMPTY','L1_ALFA_ANY_UNPAIRED_ISO','L1_ALFA_ANY_UNPAIRED_NONISO', -# 'L1_ALFA_ANY_BGRP10','L1_ALFA_ANY_ABORTGAPNOTCALIB','L1_ALFA_ANY_CALIB', - 'L1_ALFA_B7L1U','L1_ALFA_B7L1L','L1_ALFA_A7L1U','L1_ALFA_A7L1L','L1_ALFA_A7R1U','L1_ALFA_A7R1L','L1_ALFA_B7R1U','L1_ALFA_B7R1L', +# 'L1_ALFA_BGT','L1_ALFA_BGT_UNPAIRED_ISO', # 'L1_ALFA_ANY_A_EMPTY','L1_ALFA_ANY_C_EMPTY', -# 'L1_ALFA_B7L1U_OD','L1_ALFA_B7L1L_OD','L1_ALFA_A7L1U_OD','L1_ALFA_A7L1L_OD','L1_ALFA_A7R1U_OD','L1_ALFA_A7R1L_OD','L1_ALFA_B7R1U_OD','L1_ALFA_B7R1L_OD', -# 'L1_ALFA_B7L1_OD','L1_ALFA_A7L1_OD','L1_ALFA_B7R1_OD','L1_ALFA_A7R1_OD', # - 'L1_AFP_C_MBTS_A', - 'L1_AFP_C_ZDC_C', - 'L1_AFP_C_J12', - 'L1_AFP_C_EM3', - 'L1_AFP_C_TE5', - 'L1_AFP_C_ALFA_C', - 'L1_AFP_C_ALFA_A', - 'L1_AFP_C_ANY_MBTS_A', - 'L1_AFP_C_MU4', +# 'L1_AFP_C_MBTS_A', +# 'L1_AFP_C_ZDC_C', +# 'L1_AFP_C_J12', +# 'L1_AFP_C_EM3', +# 'L1_AFP_C_TE5', +# 'L1_AFP_C_ALFA_C', +# 'L1_AFP_C_ALFA_A', +# 'L1_AFP_C_ANY_MBTS_A', +# 'L1_AFP_C_MU4', + + # Items for beta*=90m run +# 'L1_J12_ALFA_EINE', +# 'L1_2EM3_ALFA_EINE', +# 'L1_MU4_ALFA_ANY', +# 'L1_MU4_ALFA_ANY_UNPAIRED_ISO', +# 'L1_MU4_ALFA_ANY_PAIRED_UNPAIRED_ISO', +# 'L1_MU4_ALFA_EINE', + + + #ATR-18815 + 'L1_LFV-EM8I-MU11', + 'L1_LFV-EM12I-MU6', + + #ATR-19355 + 'L1_BPH-0M10-3MU4', + + #ATR-18824 + 'L1_ZAFB-04DPHI-EM15I', + 'L1_ZAFB-25DPHI-EM15I', + 'L1_ZAFB-25DPHI-EM18I', + + #ATR-19302: +# 'L1_DPHI-M70-2EM10I', + 'L1_DPHI-M70-2EM12I', + + #ATR-19510 + 'L1_DY-BOX-2MU4', + 'L1_DY-DR-2MU4', + 'L1_DY-BOX-2MU6', + + + #ATR-17320 + 'L1_CEP-CJ60', + 'L1_CEP-CJ50' , + + #ATR-20174 + 'L1_BPH-8M15-2MU4-BO' + + ] - # the CTP ID mapping still has to be defined, currently it is taken from the order of the items - #Free slot [ATR-14858], 16-08-16 - #[82,143,377,378,379,406,409,416,480] + #CTP IDs are taken from this mapping. Every L1 item needs a unique ctpid. + # Run this file as python <this file> to print out available IDs + # 463-464 are reserved for L1_RD2_BGRP14 and L1_RD3_BGRP15 (from run 2) + # 509-511 are reserved for CALREQ Lvl1Flags.CtpIdMap = { + 'L1_EM3' : 0, 'L1_EM7' : 1, 'L1_EM12' : 2, 'L1_EM8VH' : 3, 'L1_EM10VH' : 4, - 'L1_EM13VH' : 5, 'L1_EM15' : 6, + 'L1_EM30VHI' : 25, + 'L1_EM15VHI' : 29, + 'L1_EM24VHIM' : 30, 'L1_EM15VH' : 7, - 'L1_EM18VH' : 8, + 'L1_EM18VHI' : 8, 'L1_EM20VH' : 9, 'L1_EM20VHI' : 10, 'L1_EM22VHI' : 11, + 'L1_EM22VH' : 295, + 'L1_EM24VHI' : 392, 'L1_EM3_EMPTY' : 12, 'L1_EM7_EMPTY' : 13, + 'L1_EM7_UNPAIRED_ISO' : 389, + 'L1_EM7_FIRSTEMPTY' : 371, + 'L1_EM20VH_FIRSTEMPTY' : 411, 'L1_MU4' : 14, 'L1_MU6' : 15, 'L1_MU10' : 16, 'L1_MU11' : 256, - 'L1_MU15' : 17, 'L1_MU20' : 18, + 'L1_MU21' : 17, 'L1_MU4_EMPTY' : 19, 'L1_MU6_EMPTY' : 66, 'L1_MU4_FIRSTEMPTY' : 20, @@ -894,87 +739,85 @@ def defineMenu(): 'L1_MU4_UNPAIRED_ISO' : 22, 'L1_2EM3' : 23, 'L1_2EM7' : 24, - 'L1_2EM10VH' : 25, - 'L1_2EM13VH' : 26, 'L1_2EM15' : 27, 'L1_2EM15VH' : 28, - 'L1_EM7_2EM3' : 29, - 'L1_EM12_2EM3' : 30, - 'L1_EM15VH_3EM7' : 31, - 'L1_2EM18VH':398, - 'L1_2EM20VH':400, - 'L1_EM15VH_3EM10VH':401, - 'L1_EM18VH_3EM8VH':406, - 'L1_EM18VH_2EM10VH_3EM7':408, - 'L1_EM20VH_3EM10VH':431, - 'L1_EM20VH_2EM10VH_3EM8VH':432, + 'L1_2EM15VHI' : 31, + 'L1_2EM20VH' : 400, + 'L1_EM20VH_3EM10VH' : 431, + 'L1_EM7_MU10' : 65, 'L1_2MU4' : 32, 'L1_2MU6' : 33, 'L1_2MU10' : 34, 'L1_2MU20_OVERLAY' : 35, - 'L1_MU10_2MU6' : 36, 'L1_MU11_2MU6' : 37, 'L1_3MU4' : 38, 'L1_MU6_2MU4' : 39, 'L1_3MU6' : 40, 'L1_4MU4' : 46, - 'L1_4J15.0ETA25' : 41, - 'L1_EM15I_MU4' : 42, + 'L1_MU6_3MU4' : 36, + 'L1_2MU6_3MU4' : 42, + 'L1_2MU11' : 48, + 'L1_MU11_2MU10' : 49, 'L1_2EM8VH_MU10' : 43, 'L1_EM15VH_MU10' : 44, + 'L1_EM7_MU20' : 483, + 'L1_EM8VH_MU20' : 484, + 'L1_TAU5' : 50, 'L1_TAU12' : 45, 'L1_TAU12IM' : 47, - 'L1_TAU20' : 49, 'L1_TAU20IM' : 51, 'L1_TAU30' : 53, + 'L1_TAU30_EMPTY' : 341, + 'L1_TAU30_UNPAIRED_ISO' : 343, 'L1_TAU40' : 54, 'L1_TAU60' : 55, + 'L1_TAU90' : 56, 'L1_TAU100' : 52, - 'L1_TAU8' : 56, 'L1_TAU8_EMPTY' : 57, + 'L1_TAU8_UNPAIRED_ISO' : 388, + 'L1_TAU8_FIRSTEMPTY' : 391, 'L1_TAU20IM_2TAU12IM' : 58, - 'L1_TAU20_2TAU12' : 59, - 'L1_EM15HI_2TAU12IM' : 60, - 'L1_EM15HI_2TAU12IM_J25_3J12' : 61, - 'L1_EM15HI_TAU20IM_2TAU15_J25_2J20_3J15' : 378, - 'L1_EM20VHI_TAU20IM_2TAU20_J25_3J20' : 69, - 'L1_EM15HI_TAU40_2TAU15' : 62, + 'L1_TAU60_2TAU40' : 458, + 'L1_2TAU5' : 59, + 'L1_2TAU8' : 68, + 'L1_EM15VHI_2TAU12IM' : 60, + 'L1_EM15VHI_2TAU12IM_J25_3J12' : 61, + 'L1_EM15VHI_2TAU12IM_4J12' : 5, + 'L1_EM15VHI_TAU40_2TAU15' : 62, 'L1_MU10_TAU12IM' : 63, 'L1_MU10_TAU12IM_J25_2J12' : 64, - 'L1_EM7_MU10':65, - 'L1_TAU30_EMPTY':341, + 'L1_MU10_TAU12IM_3J12' : 482, 'L1_MU10_TAU20IM' : 67, 'L1_MU11_TAU20IM' : 430, 'L1_MU10_TAU20IM_J25_2J20' : 377, - 'L1_TAU20IM_2TAU12IM_J25_2J20_3J12' : 70, - 'L1_J25_2J20_3J12_BOX-TAU20ITAU12I' : 71, - 'L1_DR-MU10TAU12I_TAU12I-J25' : 72, - 'L1_MU10_TAU12I-J25' : 73, + 'L1_TAU20IM_2TAU12IM_4J12.0ETA23' : 316, + 'L1_TAU20IM_2TAU12IM_4J12.0ETA25' : 73, + 'L1_TAU20IM_2TAU12IM_4J12.0ETA28' : 77, + 'L1_TAU25IM_2TAU20IM_2J25_3J20' : 398, 'L1_TAU20IM_2J20_XE45' : 74, - 'L1_TAU30_UNPAIRED_ISO' :343, - 'L1_TAU60_DR-TAU20ITAU12I' : 76, - 'L1_EM15HI_2TAU12IM_XE35' : 78, + 'L1_TAU20IM_2J20_XE50' : 79, + 'L1_EM15VHI_2TAU12IM_XE35' : 78, + 'L1_EM20VHI_TAU20IM_2TAU20_J25_3J20' : 69, 'L1_MU10_TAU12IM_XE35' : 81, -# 'L1_MU10_TAU12IM_XE40' : 82, 'L1_TAU20IM_2TAU12IM_XE35' : 83, - 'L1_TAU20_2TAU12_XE35' : 84, 'L1_TAU40_2TAU12IM_XE40' : 429, -# 'L1_EM15VH_JJ15.23ETA49' : 86, - 'L1_MU4_J12' : 87, - 'L1_MU4_J50_XE40' : 330, + 'L1_EM18VHI_3J20' : 172, + 'L1_EM20VH_3J20' : 26, 'L1_MU6_J20' : 88, + 'L1_MU6_J30.0ETA49_2J20.0ETA49' : 382, 'L1_MU6_J40' : 89, 'L1_MU6_J75' : 90, - 'L1_2MU4_J40_XE20' : 331, - 'L1_MU20_J40' : 428, + 'L1_MU10_2J20' : 278, + 'L1_MU10_3J20' : 173, + 'L1_MU10_2J15_J20' : 255, + 'L1_MU20_J40' : 428, 'L1_MU20_XE30' : 433, - 'L1_J12' : 91, + 'L1_MU20_J50' : 82, 'L1_J15' : 92, 'L1_J20' : 93, 'L1_J25' : 94, 'L1_J30' : 95, - 'L1_J40' : 96, 'L1_J50' : 97, 'L1_J75' : 98, @@ -982,15 +825,13 @@ def defineMenu(): 'L1_J100' : 100, 'L1_J120' : 101, 'L1_J400' : 102, + 'L1_4J20.0ETA49' : 383, 'L1_J20.31ETA49' : 103, 'L1_J30.31ETA49' : 104, 'L1_J50.31ETA49' : 105, 'L1_J75.31ETA49' : 106, - 'L1_J100.31ETA49' : 107, -# 'L1_J40.0ETA25' : 108, - 'L1_J15.31ETA49' : 109, - 'L1_J20.28ETA31' : 110, + 'L1_J30.0ETA49_2J20.0ETA49' : 137, 'L1_J12_EMPTY' : 111, 'L1_J12_FIRSTEMPTY' : 112, 'L1_J12_UNPAIRED_ISO' : 113, @@ -1005,43 +846,26 @@ def defineMenu(): 'L1_J50_UNPAIRED_ISO' : 121, 'L1_J50_UNPAIRED_NONISO' : 122, 'L1_J50_ABORTGAPNOTCALIB' : 123, - - 'L1_J20_J20.31ETA49' : 125, - 'L1_3J15' : 126, - 'L1_3J20' : 127, - 'L1_3J40' : 128, - 'L1_3J15.0ETA25' : 129, + 'L1_J100_FIRSTEMPTY' : 414, + 'L1_J45.0ETA20_3J15.0ETA25' : 86, + 'L1_J50_2J40.0ETA25_3J15.0ETA25' : 87, 'L1_3J50' : 130, 'L1_4J15' : 131, 'L1_4J20' : 132, 'L1_3J15.0ETA25_XE40' : 184, - -# 'L1_3J75' : 133, -# 'L1_4J30' : 134, 'L1_6J15' : 135, - 'L1_J75_3J20' : 136, 'L1_J85_3J30' : 480, - 'L1_J30.0ETA49_2J20.0ETA49' : 137, - - - 'L1_TE10' : 138, - 'L1_TE15' : 82, - 'L1_TE25' : 143, - + 'L1_J25.0ETA23_2J15.31ETA49' : 335, + 'L1_J40.0ETA25_2J15.31ETA49' : 181, + 'L1_J40.0ETA25_2J25_J20.31ETA49' : 182, + 'L1_3J25.0ETA23' : 373, + 'L1_3J35.0ETA23' : 425, + 'L1_4J15.0ETA25' : 41, 'L1_5J15.0ETA25' : 140, 'L1_2J15_XE55' : 141, 'L1_J40_XE50' : 142, - #'L1_J75_XE40' : 143, - 'L1_J75_XE50' : 133, - - 'L1_XE10': 68, - #'L1_XE25': 82, - 'L1_XE30': 85, - 'L1_XE65': 108, - 'L1_XE75': 134, - 'L1_XE150': 156, - 'L1_XE300': 187, - + 'L1_2J50_XE40' : 175, + 'L1_J40_XE60' : 176, 'L1_XE35' : 144, 'L1_XE40' : 145, 'L1_XE45' : 146, @@ -1050,129 +874,22 @@ def defineMenu(): 'L1_XE60' : 149, 'L1_XE70' : 150, 'L1_XE80' : 151, - 'L1_XS20' : 152, - 'L1_XS30' : 153, + 'L1_XE30' : 85, + 'L1_XE300' : 187, 'L1_EM12_XS20' : 154, 'L1_EM15_XS30' : 155, - - 'L1_TE30' : 157, - 'L1_TE40' : 158, - 'L1_TE70' : 159, - 'L1_TE30.0ETA24' : 160, - 'L1_BCM_Wide_UNPAIRED_NONISO' : 161, - 'L1_BCM_AC_CA_UNPAIRED_ISO' : 162, - 'L1_BCM_AC_UNPAIRED_ISO' : 163, - 'L1_MBTS_1_EMPTY' : 164, - 'L1_MBTS_1_UNPAIRED_ISO' : 165, - 'L1_MBTS_2_EMPTY' : 166, - 'L1_MBTS_2_UNPAIRED_ISO' : 167, - 'L1_MBTS_1_1_EMPTY' : 168, - 'L1_MBTS_1_1_UNPAIRED_ISO' : 169, - - 'L1_DPHI-AJ20s2XE50' : 171, - 'L1_EM13VH_3J20' : 172, - 'L1_EM18VH_3J20' : 295, - 'L1_MU10_3J20' : 173, - - 'L1_2J50_XE40' : 175, - 'L1_J40_XE60' : 176, - 'L1_J40.0ETA25_XE50' : 177, - 'L1_MU10_2J20' : 278, - 'L1_TAU40_2TAU20IM' : 254, - 'L1_MU10_2J15_J20' : 255, -# freeing some CTPIDs -# 'L1_MBTSA0' : 170, -# 'L1_MBTSA1' : 171, -# 'L1_MBTSA2' : 172, -# 'L1_MBTSA3' : 173, -# 'L1_MBTSA4' : 174, -# 'L1_MBTSA5' : 175, -# 'L1_MBTSA6' : 176, -# 'L1_MBTSA7' : 177, -# 'L1_MBTSA8' : 178, -# 'L1_MBTSA10' : 179, -# 'L1_MBTSA12' : 180, -# 'L1_MBTSA14' : 181, -# 'L1_MBTSC0' : 182, -# 'L1_MBTSC1' : 183, -# 'L1_MBTSC2' : 184, -# 'L1_MBTSC3' : 185, -# 'L1_MBTSC4' : 186, -# 'L1_MBTSC5' : 187, -# 'L1_MBTSC6' : 188, -# 'L1_MBTSC7' : 189, -# 'L1_MBTSC8' : 190, -# 'L1_MBTSC10' : 191, -# 'L1_MBTSC12' : 192, -# 'L1_MBTSC14' : 193, - - - 'L1_BPH-2M8-2MU4' : 178, # ATR-15197 'L1_BPH-2M9-2MU4' : 178, - 'L1_BPH-8M15-MU6MU4' : 179, - 'L1_BPH-8M15-2MU6' : 180, - 'L1_J15.0ETA25_2J15.31ETA49': 305 , - 'L1_J40.0ETA25_2J15.31ETA49' : 181, - 'L1_J40.0ETA25_2J25_J20.31ETA49' : 182, - - "L1_J40.0ETA25_2J30_J20.31ETA49":250 , - - "L1_HT150-J20s5.ETA31_MJJ-400": 272 , ## noid(ea) - "L1_HT150-J20s5.ETA31_MJJ-400-CF": 273, - - ## the ctp ids are a mess.. no 7 consequetive ids are free.. but these here are: - 'L1_AFP_C_MBTS_A':183, - 'L1_AFP_C_ZDC_C':189, - 'L1_AFP_C_J12':190, - 'L1_AFP_C_EM3':191, - 'L1_AFP_C_TE5':192, - 'L1_AFP_C_ALFA_C':193, - 'L1_AFP_C_ALFA_A':170, - 'L1_AFP_C_ANY_MBTS_A':174, - 'L1_AFP_C_MU4':379, - -# 'L1_EM8I' : 183, -# 'L1_EM15I': 184, - 'L1_MBTS_4_A_UNPAIRED_ISO' : 185, - 'L1_MBTS_4_C_UNPAIRED_ISO' : 186, - 'L1_MBTS_4_A' : 194, - 'L1_MBTS_4_C' : 195, - 'L1_MBTS_1_BGRP9' : 196, - 'L1_MBTS_2_BGRP9' : 197, - 'L1_MBTS_1_BGRP11' : 198, - 'L1_MBTS_2_BGRP11' : 199, 'L1_RD0_FILLED' : 200, 'L1_RD0_UNPAIRED_ISO' : 201, 'L1_RD0_EMPTY' : 202, - 'L1_RD1_FILLED' : 203, 'L1_RD1_EMPTY' : 204, - 'L1_RD1_BGRP10' : 188, - 'L1_RD2_FILLED' : 205, - 'L1_RD2_EMPTY' : 206, - 'L1_RD3_FILLED' : 207, - 'L1_RD3_EMPTY' : 208, - 'L1_RD0_FIRSTEMPTY' : 209, - 'L1_RD0_BGRP9' : 210, - 'L1_RD0_BGRP11' : 211, - 'L1_LUCID' : 212, - 'L1_LUCID_EMPTY' : 213, - 'L1_LUCID_UNPAIRED_ISO' : 214, - 'L1_LUCID_A_C_EMPTY' : 215, - 'L1_LUCID_A_C_UNPAIRED_ISO' : 216, - 'L1_LUCID_A_C_UNPAIRED_NONISO' : 217, - 'L1_TRT_FILLED' : 218, - 'L1_TRT_EMPTY' : 219, + 'L1_RD0_ABORTGAPNOTCALIB' : 372, 'L1_TGC_BURST' : 220, -# 'L1_TGC_BURST_EMPTY' : 184, - 'L1_LHCF' : 221, - 'L1_BCM_Wide_BGRP0' : 222, + 'L1_ZB' : 240, 'L1_BCM_AC_CA_BGRP0' : 223, 'L1_BCM_Wide_EMPTY' : 224, 'L1_BCM_Wide_UNPAIRED_ISO' : 225, - 'L1_MBTS_1' : 226, - 'L1_MBTS_2' : 227, - 'L1_MBTS_1_1' : 228, - - + 'L1_BCM_Wide_UNPAIRED_NONISO' : 161, + 'L1_BCM_AC_UNPAIRED_ISO' : 163, 'L1_BCM_CA_UNPAIRED_ISO' : 229, 'L1_BCM_AC_UNPAIRED_NONISO' : 230, 'L1_BCM_CA_UNPAIRED_NONISO' : 231, @@ -1183,337 +900,88 @@ def defineMenu(): 'L1_BCM_CA_CALIB' : 236, 'L1_BCM_Wide_CALIB' : 237, 'L1_BTAG-MU4J15' : 238, - 'L1_BTAG-MU4J30' : 239, - 'L1_ZB' : 240, - 'L1_BPTX0_BGRP0' : 241, - 'L1_BPTX1_BGRP0' : 242, 'L1_BTAG-MU6J20' : 243, - 'L1_BTAG-MU6J25' : 244, -# 'L1_BTAG-MU4J20' : 245, - 'L1_3J15_BTAG-MU4J15' : 246, - 'L1_3J15_BTAG-MU4J30' : 247, - 'L1_3J15_BTAG-MU6J25' : 248, - 'L1_3J20_BTAG-MU4J20' : 249, -# 'L1_J40_DPHI-Js2XE50' : 250, - 'L1_J40_DPHI-J20s2XE50' : 251, - #'L1_J40_DPHI-J20s2XE30' : 257, - 'L1_J40_XE50_DPHI-J20s2XE50': 245, - 'L1_J40_DPHI-J20XE50' : 252, - 'L1_J40_DPHI-CJ20XE50' : 253, - 'L1_MU4_J20_XE30_DPHI-J20s2XE30' : 257, - 'L1_2MU4_J20_XE30_DPHI-J20s2XE30' : 271, - 'L1_MU4_2EM3_J20_XE30_DPHI-J20s2XE30' : 434, - 'L1_3EM3_J40_XE50_DPHI-J20s2XE50' : 435, -#SX -# 'L1_BPH-DR-2MU4-B_BPH-2M-2MU4-B' : 254, -# 'L1_BPH-DR-2MU4-B_BPH-4M8-2MU4-B' : 255, -# 'L1_BPH-DR-2MU4-BO_BPH-2M-2MU4-BO' : 256, -# 'L1_BPH-DR-2MU4-BO_BPH-4M8-2MU4-BO' : 257, - - - 'L1_HT190-J15.ETA21' : 258, + 'L1_2MU4_J40_XE50' : 449, + 'L1_MU4_J30_XE40_DPHI-J20s2XE30' : 452, + 'L1_MU4_J50_XE50_DPHI-J20s2XE30' : 453, + 'L1_MU4_XE60' : 454, 'L1_HT190-J15s5.ETA21' : 259, - 'L1_HT150-J20.ETA31' : 260, - 'L1_HT150-J20s5.ETA31' : 261, - 'L1_JPSI-1M5' : 262, + 'L1_HT150-J20s5.ETA31_MJJ-400-CF' : 91, 'L1_JPSI-1M5-EM7' : 263, 'L1_JPSI-1M5-EM12' : 264, - 'L1_KF-XE40' : 265, - 'L1_KF-XE50' : 266, - 'L1_KF-XE55' : 267, - 'L1_KF-XE60' : 268, - 'L1_KF-XE65' : 269, - 'L1_KF-XE75' : 270, -# 'L1_W-05DPHI-JXE-0' : 271, -# 'L1_W-10DPHI-JXE-0' : 272, -# 'L1_W-15DPHI-JXE-0' : 273, - #'L1_W-15DPHI-EMXE-1' : 271, - #'L1_W-15DPHI-EM15XE-1' : 272, -# 'L1_W-05DPHI-EMXE-1' : 276, - 'L1_W-05RO-XEHT-0' : 277, - 'L1_W-90RO2-XEHT-0' : 279, - 'L1_W-250RO2-XEHT-0' : 280, - 'L1_W-HT20-JJ15.ETA49' : 281, - 'L1_W-NOMATCH' : 282, - #'L1_W-NOMATCH_W-05RO-XEEMHT' : 283, - 'L1_EM10_W-MT25' : 284, - 'L1_EM15_W-MT35' : 286, - 'L1_EM10_W-MT25_W-15DPHI-JXE-0_W-15DPHI-EMXE_W-90RO2-XEHT-0' : 287, - 'L1_EM10_W-MT25_W-15DPHI-JXE-0_W-15DPHI-EMXE_XS30' : 288, - 'L1_EM10_W-MT25_W-15DPHI-JXE-0_W-15DPHI-EMXE_XS20' : 289, - 'L1_EM10_W-MT25_W-15DPHI-JXE-0_W-15DPHI-EMXE' : 290, - 'L1_EM15_W-MT35_W-05DPHI-JXE-0_W-05DPHI-EMXE_W-250RO2-XEHT-0' : 291, - 'L1_EM15_W-MT35_W-05DPHI-JXE-0_W-05DPHI-EMXE_XS60' : 292, - 'L1_EM15_W-MT35_W-05DPHI-JXE-0_W-05DPHI-EMXE_XS30' : 293, - 'L1_EM15_W-MT35_W-05DPHI-JXE-0_W-05DPHI-EMXE' : 294, -#SX -# 'L1_BPH-DR-2MU4' : 295, -# 'L1_BPH-2M-2MU4' : 296, -# 'L1_BPH-4M8-2MU4' : 297, -# 'L1_BPH-DR-2MU4_BPH-2M-2MU4' : 298, -# 'L1_BPH-DR-2MU4_BPH-4M8-2MU4' : 299, -# 'L1_BPH-DR-2MU6' : 300, -# 'L1_BPH-2M-2MU6' : 301, -# 'L1_BPH-4M8-2MU6' : 302, -# 'L1_BPH-DR-2MU6_BPH-2M-2MU6' : 303, -# 'L1_BPH-DR-2MU6_BPH-4M8-2MU6' : 304, -# 'L1_BPH-2M-2MU4-B' : 305, -# 'L1_BPH-2M-2MU4-BO' : 306, -# 'L1_BPH-2M-MU6MU4' : 307, -# 'L1_BPH-2M-MU6MU4-B' : 308, -# 'L1_BPH-2M-MU6MU4-BO' : 309, -# 'L1_BPH-4M8-2MU4-B' : 310, -# 'L1_BPH-4M8-2MU4-BO' : 311, -# 'L1_BPH-4M8-MU6MU4' : 312, -# 'L1_BPH-4M8-MU6MU4-B' : 313, -# 'L1_BPH-4M8-MU6MU4-BO' : 314, - -#SX adding - #'L1_BPH-1M19-2MU4_BPH-0DR34-2MU4' : 295, - 'L1_BPH-2M8-2MU4_BPH-0DR15-2MU4' : 296, # ATR-15197 'L1_BPH-2M9-2MU4_BPH-0DR15-2MU4' : 296, - 'L1_BPH-7M15-2MU4_BPH-0DR24-2MU4' : 297, - 'L1_BPH-2M8-MU6MU4_BPH-0DR15-MU6MU4' : 298, # ATR-15197 'L1_BPH-2M9-MU6MU4_BPH-0DR15-MU6MU4' : 298, - 'L1_BPH-8M15-MU6MU4_BPH-0DR22-MU6MU4' : 299, - 'L1_BPH-2M9-2MU6_BPH-2DR15-2MU6' : 300, - 'L1_BPH-8M15-2MU6_BPH-0DR22-2MU6' : 301, - 'L1_MU6MU4-BO' : 302, - 'L1_2MU4-B' : 303, - 'L1_2MU6-B' : 304, - #'L1_BPH-1M19-2MU4-B_BPH-0DR34-2MU4' : 305, - 'L1_BPH-2M8-2MU4-B_BPH-0DR15-2MU4' : 306, - 'L1_BPH-7M15-2MU4_BPH-0DR24-2MU4-B' : 307, - #'L1_BPH-1M19-2MU4-BO_BPH-0DR34-2MU4' : 308, - #'L1_BPH-2M8-2MU4-BO_BPH-0DR15-2MU4' : 309, - 'L1_BPH-7M15-2MU4_BPH-0DR24-2MU4-BO' : 310, - 'L1_BPH-2M8-MU6MU4-B_BPH-0DR15-MU6MU4' : 311, - 'L1_2MU4-BO' : 312, - 'L1_2MU6-BO' : 313, - 'L1_MU6_2MU4-B' : 314, - - ### ATR-14350 - these should be replaced in 2017 with items 296 and 298 - 'L1_BPH-2M9-2MU4_BPH-0DR15-2MU4' : 426, - 'L1_BPH-2M9-MU6MU4_BPH-0DR15-MU6MU4' : 427, - - - 'L1_DY-DR-2MU4' : 315, - 'L1_EM15VH_2EM8VH_MU6' : 316, - #'L1_DY-BOX-MU6MU4' : 317, - 'L1_DY-BOX-2MU6' : 318, - 'L1_LFV-MU' : 319, 'L1_LFV-MU6' : 332, + 'L1_LFV-MU11' : 364, 'L1_LFV-EM8I' : 320, 'L1_LFV-EM15I' : 321, - 'L1_EM7_MU15' : 322, - 'L1_EM8VH_MU15' : 48, 'L1_DPHI-J20s2XE50' : 323, - 'L1_DPHI-J20XE50' : 324, - 'L1_DPHI-CJ20XE50' : 325, - 'L1_MJJ-900' : 326, - 'L1_MJJ-800' : 327, - 'L1_MJJ-700' : 328, - 'L1_MJJ-400' : 329, - #'L1_MJJ-350' : 330, -# 'L1_MJJ-300' : 331, -# 'L1_MJJ-200' : 332, + 'L1_J40_XE50_DPHI-J20s2XE50' : 245, + 'L1_2MU4_J20_XE30_DPHI-J20s2XE30' : 271, + 'L1_MJJ-700' : 216, + 'L1_MJJ-300' : 331, 'L1_MJJ-100' : 333, + 'L1_MJJ-400' : 329, + 'L1_MJJ-800' : 327, + 'L1_MJJ-500-NFF' : 108, + 'L1_J50_DETA20-J50J' : 275, + 'L1_DPHI-2EM3' : 288, 'L1_HT150-JJ15.ETA49' : 334, + 'L1_HT150-JJ15.ETA49_MJJ-400' : 416, 'L1_J4-MATCH' : 336, 'L1_LLP-RO' : 338, 'L1_LLP-NOMATCH' : 339, - 'L1_DR-MU10TAU12I' : 340, -# 'L1_TAU12I-J25' : 341, 'L1_EM15TAU12I-J25' : 345, + 'L1_DR-MU10TAU12I' : 340, + 'L1_DR-MU10TAU12I_TAU12I-J25' : 72, 'L1_DR-EM15TAU12I-J25' : 346, 'L1_TAU20ITAU12I-J25' : 347, 'L1_DR-TAU20ITAU12I' : 348, - 'L1_BOX-TAU20ITAU12I' : 349, 'L1_DR-TAU20ITAU12I-J25' : 350, - - 'L1_DR25-TAU20ITAU12I' : 337, - - 'L1_DR25-TAU20ITAU12I-J25' : 386, 'L1_30M-EM20ITAU12' : 387, - 'L1_MJJ-400-CF': 397, - + 'L1_MJJ-400-CF' : 397, 'L1_LAR-EM' : 351, 'L1_LAR-J' : 352, - 'L1_DR-EM15TAU12I' : 353, - 'L1_LATE-MU10_XE50': 354, + 'L1_LAR-ZEE' : 71, + 'L1_LAR-ZEE_LAR-EM' : 285, + 'L1_BPH-2M9-2MU4_BPH-0DR15-2MU4' : 426, + 'L1_BPH-2M9-MU6MU4_BPH-0DR15-MU6MU4' : 427, + 'L1_BPH-8M15-MU6MU4_BPH-0DR22-MU6MU4-BO' : 488, + 'L1_BPH-8M15-2MU6_BPH-0DR22-2MU6' : 301, + 'L1_BPH-8M15-0DR22-2MU6' : 107, + 'L1_BPH-2M9-2DR15-2MU6' : 110, + 'L1_BPH-2M9-0DR15-MU6MU4' : 125, + 'L1_BPH-8M15-0DR22-MU6MU4-BO' : 126, + 'L1_BPH-2M9-0DR15-2MU4' : 127, + 'L1_BPH-0M9-EM7-EM5' : 80, + 'L1_BPH-0DR3-EM7J15' : 84, + 'L1_BPH-0M9-EM7-EM5_MU6' : 124, + 'L1_BPH-0DR3-EM7J15_MU6' : 134, + 'L1_BPH-0M9-EM7-EM5_2MU4' : 153, + 'L1_BPH-0DR3-EM7J15_2MU4' : 156, + 'L1_MJJ-400-NFF-0DPHI20' : 128, + 'L1_MJJ-400-NFF-0DPHI22' : 129, + 'L1_MJJ-400-NFF-0DPHI24' : 133, + 'L1_MJJ-400-NFF-0DPHI26' : 136, + 'L1_EM18VHI_MJJ-300' : 385, + 'L1_LATE-MU10_XE50' : 354, + 'L1_LATE-MU10_XE40' : 466, 'L1_LATE-MU10_J50' : 355, - 'L1_SC111' : 356, - 'L1_SC85' : 357, -#SX -# 'L1_BPH-DR-2MU4-B' : 353, -# 'L1_BPH-DR-2MU4-BO' : 354, -# 'L1_BPH-DR-MU6MU4' : 355, -# 'L1_BPH-DR-MU6MU4-B' : 356, -# 'L1_BPH-DR-MU6MU4-BO' : 357, - 'L1_MU6_MJJ-200' : 358, - 'L1_MU6_MJJ-300' : 359, - 'L1_MU6_MJJ-400' : 360, - 'L1_MU6_MJJ-500' : 361, - 'L1_J30_2J20_4J20.0ETA49_MJJ-400' : 362, - 'L1_J30_2J20_4J20.0ETA49_MJJ-700' : 363, - 'L1_J30_2J20_4J20.0ETA49_MJJ-800' : 364, - 'L1_J30_2J20_4J20.0ETA49_MJJ-900' : 365, - 'L1_3J20_4J20.0ETA49_MJJ-400' : 366, - 'L1_3J20_4J20.0ETA49_MJJ-700' : 367, - 'L1_3J20_4J20.0ETA49_MJJ-800' : 368, - 'L1_3J20_4J20.0ETA49_MJJ-900' : 369, - 'L1_XE35_MJJ-200' : 370, - 'L1_EM7_FIRSTEMPTY': 371, - 'L1_RD0_ABORTGAPNOTCALIB':372, - 'L1_3J25.0ETA23' : 373, - 'L1_3J35.0ETA23' : 425, - 'L1_TE20' : 374, - 'L1_TE10.0ETA24' : 375, - 'L1_TE15.ETA24' : 416, - 'L1_TE20.0ETA24' : 376, - 'L1_TE25.0ETA24' : 409, - #'L1_XS40' : 377, - #'L1_XS50' : 378, - #'L1_XS60' : 379, - 'L1_J12_BGRP12' : 380, - 'L1_J30.31ETA49_BGRP12' : 381, - 'L1_MU6_J30.0ETA49_2J20.0ETA49' : 382, - 'L1_4J20.0ETA49' : 383, - 'L1_HT150-JJ15.ETA49_MJJ400' : 384, - - ### ATR-15062 - 'L1_EM18VH_MJJ-300' : 385, - -#ATR-13743 'L1_MU4_J30' : 386, -# 'L1_MU4_J50' : 387, - - - 'L1_TAU8_UNPAIRED_ISO': 388, - 'L1_EM7_UNPAIRED_ISO': 389, - 'L1_TAU8_UNPAIRED_NONISO': 467, - 'L1_EM7_UNPAIRED_NONISO': 468, - 'L1_MU4_UNPAIRED_NONISO' : 469, - 'L1_RD2_BGRP12' : 390, - 'L1_TAU8_FIRSTEMPTY': 391, - 'L1_EM24VHI' : 392, - 'L1_LHCF_UNPAIRED_ISO' : 393, - 'L1_LHCF_EMPTY' : 394, - 'L1_EM15VH_2EM10VH_3EM7': 395, - 'L1_EM15VH_3EM8VH': 396, - 'L1_EM8I_MU10' : 399, - "L1_EM26VHI" :402, - "L1_EM15HI" :423, - "L1_EM15I" :424, - "L1_MU6_3MU4" :403, - "L1_2MU6_3MU4" :404, - "L1_BGRP9" :405, - #'L1_TE50' :406, - 'L1_TE5' :407, - #'L1_TE60' :408, - #'L1_TE50.0ETA24':409, - 'L1_TE5.0ETA24':410, - 'L1_EM20VH_FIRSTEMPTY':411, - 'L1_EM22VHI_FIRSTEMPTY':412, - 'L1_MU20_FIRSTEMPTY':413, - 'L1_J100_FIRSTEMPTY':414, - 'L1_J100.31ETA49_FIRSTEMPTY':415, - #'L1_TE60.0ETA24':416, - 'L1_TE70.0ETA24':417, - 'L1_TE40.0ETA24':418, - - # 3 x ZDC - 'L1_ZDC_A':419, - 'L1_ZDC_C':420, - 'L1_ZDC_AND':421, - 'L1_ZDC_A_C':422, - -#ATR-13743 'L1_ALFA_ELAST1' : 424, -# 'L1_ALFA_ELAST2' : 425, -# 'L1_ALFA_ELAST11' : 426, -# 'L1_ALFA_ELAST12' : 427, -# 'L1_ALFA_ELAST13' : 428, -# 'L1_ALFA_ELAST14' : 429, -# 'L1_ALFA_ELAST15' : 430, -# 'L1_ALFA_ELAST15_Calib' : 431, -# 'L1_ALFA_ELAST16' : 432, -# 'L1_ALFA_ELAST17' : 433, -# 'L1_ALFA_ELAST18' : 434, -# 'L1_ALFA_ELAST18_Calib' : 435, -# 'L1_ALFA_SDIFF5' : 436, -# 'L1_ALFA_SDIFF6' : 437, -# 'L1_ALFA_SDIFF7' : 438, -# 'L1_ALFA_SDIFF8' : 439, -# 'L1_MBTS_1_A_ALFA_C' : 440, -# 'L1_MBTS_1_C_ALFA_A' : 441, -# 'L1_MBTS_1_A_ALFA_C_UNPAIRED_ISO' : 442, -# 'L1_MBTS_1_C_ALFA_A_UNPAIRED_ISO' : 443, -# 'L1_MBTS_2_A_ALFA_C' : 444, -# 'L1_MBTS_2_C_ALFA_A' : 445, -# 'L1_MBTS_2_A_ALFA_C_UNPAIRED_ISO' : 446, -# 'L1_MBTS_2_C_ALFA_A_UNPAIRED_ISO' : 447, -# 'L1_LUCID_A_ALFA_C' : 448, -# 'L1_LUCID_C_ALFA_A' : 449, -# 'L1_LUCID_A_ALFA_C_UNPAIRED_ISO' : 450, -# 'L1_LUCID_C_ALFA_A_UNPAIRED_ISO' : 451, -# 'L1_EM3_ALFA_ANY' : 452, -# 'L1_EM3_ALFA_ANY_UNPAIRED_ISO' : 453, -# 'L1_EM3_ALFA_EINE' : 454, -# 'L1_ALFA_ELASTIC_UNPAIRED_ISO' : 455, -# 'L1_ALFA_ANTI_ELASTIC_UNPAIRED_ISO' : 456, -# 'L1_ALFA_ANY_A_EMPTY' : 457, -# 'L1_ALFA_ANY_C_EMPTY' : 458, -# 'L1_J12_ALFA_ANY' : 459, -# 'L1_J12_ALFA_ANY_UNPAIRED_ISO' : 460, -# 'L1_TE5_ALFA_ANY' : 461, -# 'L1_TE5_ALFA_ANY_UNPAIRED_ISO' : 462, -# 'L1_TE5_ALFA_EINE' : 463, -# 'L1_TRT_ALFA_ANY' : 464, -# 'L1_TRT_ALFA_ANY_UNPAIRED_ISO' : 465, -# 'L1_TRT_ALFA_EINE' : 466, -## 'L1_LHCF_ALFA_ANY_A' : 467, -## 'L1_LHCF_ALFA_ANY_C' : 468, -## 'L1_LHCF_ALFA_ANY_A_UNPAIRED_ISO' : 469, -## 'L1_LHCF_ALFA_ANY_C_UNPAIRED_ISO' : 470, -# -# 'L1_ALFA_BGT' : 471, -# 'L1_ALFA_BGT_UNPAIRED_ISO' : 472, -# 'L1_ALFA_BGT_BGRP10' : 473, -# 'L1_ALFA_SHOWSYST5' : 474, -# 'L1_ALFA_SYST9' : 475, -# 'L1_ALFA_SYST10' : 476, -# 'L1_ALFA_SYST11' : 477, -# 'L1_ALFA_SYST12' : 478, -# 'L1_ALFA_SYST17' : 479, -# 'L1_ALFA_SYST18' : 480, - 'L1_ALFA_ANY' : 481, -# 'L1_ALFA_ANY_EMPTY' : 482, -# 'L1_ALFA_ANY_FIRSTEMPTY' : 483, -# 'L1_ALFA_ANY_UNPAIRED_ISO' : 484, -# 'L1_ALFA_ANY_UNPAIRED_NONISO' : 485, -# 'L1_ALFA_ANY_BGRP10' : 486, -# 'L1_ALFA_ANY_ABORTGAPNOTCALIB' : 487, -# 'L1_ALFA_ANY_CALIB' : 488, - 'L1_ALFA_B7L1U' : 489, - 'L1_ALFA_B7L1L' : 490, - 'L1_ALFA_A7L1U' : 491, - 'L1_ALFA_A7L1L' : 492, - 'L1_ALFA_A7R1U' : 493, - 'L1_ALFA_A7R1L' : 494, - 'L1_ALFA_B7R1U' : 495, - 'L1_ALFA_B7R1L' : 496, + 'L1_TAU60_DR-TAU20ITAU12I' : 76, + 'L1_SC111-CJ15' : 356, + 'L1_LFV-EM8I-MU11' : 138, + 'L1_LFV-EM12I-MU6' : 139, + 'L1_BPH-0M10-3MU4' : 143, + 'L1_ZAFB-04DPHI-EM15I' : 152, + 'L1_ZAFB-25DPHI-EM15I' : 157, + 'L1_ZAFB-25DPHI-EM18I' : 158, + 'L1_DPHI-M70-2EM12I' : 159, + 'L1_DY-DR-2MU4' : 315, + 'L1_DY-BOX-2MU6' : 318, + 'L1_DY-BOX-2MU4' : 160, + 'L1_CEP-CJ60' : 162, + 'L1_CEP-CJ50' : 164, + 'L1_BPH-8M15-2MU4-BO' : 165, + 'L1_CALREQ2' : 511, - -# 'L1_ALFA_B7L1U_OD' : 497, -# 'L1_ALFA_B7L1L_OD' : 498, -# 'L1_ALFA_A7L1U_OD' : 499, -# 'L1_ALFA_A7L1L_OD' : 500, -# 'L1_ALFA_A7R1U_OD' : 501, -# 'L1_ALFA_A7R1L_OD' : 502, -# 'L1_ALFA_B7R1U_OD' : 503, -# 'L1_ALFA_B7R1L_OD' : 504, -# 'L1_ALFA_B7L1_OD' : 505, -# 'L1_ALFA_A7L1_OD' : 506, -# 'L1_ALFA_B7R1_OD' : 507, -# 'L1_ALFA_A7R1_OD' : 508, - 'L1_CALREQ2' : 511, # never use 509-511 for anything else than CALREQ triggers } diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/LVL1MenuConfig/LVL1Menu/ThresholdDef.py b/Trigger/TriggerCommon/TriggerMenuMT/python/LVL1MenuConfig/LVL1Menu/ThresholdDef.py index adb3918da11..6bece23735b 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/LVL1MenuConfig/LVL1Menu/ThresholdDef.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/LVL1MenuConfig/LVL1Menu/ThresholdDef.py @@ -1,4 +1,4 @@ -# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration +# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration from TriggerMenuMT.LVL1MenuConfig.LVL1.Lvl1Thresholds import ThresholdValue from TriggerMenuMT.LVL1MenuConfig.LVL1.Limits import CaloLimits as CL @@ -18,7 +18,7 @@ class ThresholdDef(object): # MUON ThresholdValue.setDefaults('MUON', {'etamin' : -49,'etamax' : 49, 'phimin' : 0,'phimax' : 64}) # keep this as an example how defaults for groups can be defined - for thrV in [0, 4, 6, 10, 11, 15, 20]: + for thrV in [0, 4, 6, 10, 11, 15, 20, 21]: tc.registerThr('MU%i' % thrV, 'MUON').addThrValue(thrV) @@ -107,12 +107,15 @@ class ThresholdDef(object): .addThrValue(18, -14, -13, priority=2).addThrValue(18, 13, 14, priority=2)\ .addThrValue(17, -15, -14, priority=2).addThrValue(17, 14, 15, priority=2)\ .addThrValue(19, -17, -15, priority=2).addThrValue(19, 15, 17, priority=2)\ - .addThrValue(21, -25, -17, priority=2).addThrValue(21, 17, 25, priority=2) + .addThrValue(21, -25, -17, priority=2).addThrValue(21, 17, 25, priority=2) + # I section ThresholdValue.setDefaults('EM', {'isobits' : '00010', 'use_relIso' : True }) + + for thrV in [8]: tc.registerThr('EM%iI' % thrV, 'EM').addThrValue(thrV) @@ -124,6 +127,26 @@ class ThresholdDef(object): for thrV in [15]: tc.registerThr('EM%iHI' % thrV, 'EM').addThrValue(thrV) + tc.registerThr( 'EM15VHI', type='EM').addThrValue(17, priority=1)\ + .addThrValue(17, -7, 0, priority=2).addThrValue(17, 0, 7, priority=2)\ + .addThrValue(16, -9, -7, priority=2).addThrValue(16, 7, 9, priority=2)\ + .addThrValue(15, -12, -9, priority=2).addThrValue(15, 9, 12, priority=2)\ + .addThrValue(14, -14, -12, priority=2).addThrValue(14, 12, 14, priority=2)\ + .addThrValue(13, -15, -14, priority=2).addThrValue(13, 14, 15, priority=2)\ + .addThrValue(15, -17, -15, priority=2).addThrValue(15, 15, 17, priority=2)\ + .addThrValue(16, -25, -17, priority=2).addThrValue(16, 17, 25, priority=2) + + tc.registerThr( 'EM18VHI', type='EM').addThrValue(20, priority=1)\ + .addThrValue(20, -7, 0, priority=2).addThrValue(20, 0, 7, priority=2)\ + .addThrValue(19, -8, -7, priority=2).addThrValue(19, 7, 8, priority=2)\ + .addThrValue(18, -11, -8, priority=2).addThrValue(18, 8, 11, priority=2)\ + .addThrValue(17, -13, -11, priority=2).addThrValue(17, 11, 13, priority=2)\ + .addThrValue(16, -14, -13, priority=2).addThrValue(16, 13, 14, priority=2)\ + .addThrValue(15, -15, -14, priority=2).addThrValue(15, 14, 15, priority=2)\ + .addThrValue(17, -17, -15, priority=2).addThrValue(17, 15, 17, priority=2)\ + .addThrValue(19, -25, -17, priority=2).addThrValue(19, 17, 25, priority=2) + + tc.registerThr( 'EM20VHI', type='EM').addThrValue(22, priority=1)\ .addThrValue(22, -7, 0, priority=2).addThrValue(22, 0, 7, priority=2)\ .addThrValue(21, -8, -7, priority=2).addThrValue(21, 7, 8, priority=2)\ @@ -134,6 +157,17 @@ class ThresholdDef(object): .addThrValue(19, -17, -15, priority=2).addThrValue(19, 15, 17, priority=2)\ .addThrValue(21, -25, -17, priority=2).addThrValue(21, 17, 25, priority=2) + tc.registerThr( 'EM22VH', type='EM').addThrValue(24, priority=1)\ + .addThrValue(24, -7, 0, priority=2).addThrValue(24, 0, 7, priority=2)\ + .addThrValue(23, -8, -7, priority=2).addThrValue(23, 7, 8, priority=2)\ + .addThrValue(22, -11, -8, priority=2).addThrValue(22, 8, 11, priority=2)\ + .addThrValue(21, -13, -11, priority=2).addThrValue(21, 11, 13, priority=2)\ + .addThrValue(20, -14, -13, priority=2).addThrValue(20, 13, 14, priority=2)\ + .addThrValue(19, -15, -14, priority=2).addThrValue(19, 14, 15, priority=2)\ + .addThrValue(21, -17, -15, priority=2).addThrValue(21, 15, 17, priority=2)\ + .addThrValue(23, -25, -17, priority=2).addThrValue(23, 17, 25, priority=2) + + tc.registerThr( 'EM22VHI', type='EM').addThrValue(24, priority=1)\ .addThrValue(24, -7, 0, priority=2).addThrValue(24, 0, 7, priority=2)\ .addThrValue(23, -8, -7, priority=2).addThrValue(23, 7, 8, priority=2)\ @@ -153,6 +187,18 @@ class ThresholdDef(object): .addThrValue(21, -15, -14, priority=2).addThrValue(21, 14, 15, priority=2)\ .addThrValue(23, -17, -15, priority=2).addThrValue(23, 15, 17, priority=2)\ .addThrValue(25, -25, -17, priority=2).addThrValue(25, 17, 25, priority=2) + + tc.registerThr( 'EM24VHIM', type='EM').addThrValue(24, priority=1)\ + .addThrValue(26, -7, 0, priority=2).addThrValue(26, 0, 7, priority=2)\ + .addThrValue(25, -8, -7, priority=2).addThrValue(25, 7, 8, priority=2)\ + .addThrValue(24, -11, -8, priority=2).addThrValue(24, 8, 11, priority=2)\ + .addThrValue(23, -13, -11, priority=2).addThrValue(23, 11, 13, priority=2)\ + .addThrValue(22, -14, -13, priority=2).addThrValue(22, 13, 14, priority=2)\ + .addThrValue(21, -15, -14, priority=2).addThrValue(21, 14, 15, priority=2)\ + .addThrValue(23, -17, -15, priority=2).addThrValue(23, 15, 17, priority=2)\ + .addThrValue(25, -25, -17, priority=2).addThrValue(25, 17, 25, priority=2) + + tc.registerThr( 'EM26VHI', type='EM').addThrValue(26, priority=1)\ .addThrValue(28, -7, 0, priority=2).addThrValue(28, 0, 7, priority=2)\ @@ -164,6 +210,17 @@ class ThresholdDef(object): .addThrValue(25, -17, -15, priority=2).addThrValue(25, 15, 17, priority=2)\ .addThrValue(27, -25, -17, priority=2).addThrValue(27, 17, 25, priority=2) + tc.registerThr( 'EM30VHI', type='EM').addThrValue(30, priority=1)\ + .addThrValue(32, -7, 0, priority=2).addThrValue(32, 0, 7, priority=2)\ + .addThrValue(31, -8, -7, priority=2).addThrValue(31, 7, 8, priority=2)\ + .addThrValue(30, -11, -8, priority=2).addThrValue(30, 8, 11, priority=2)\ + .addThrValue(29, -13, -11, priority=2).addThrValue(29, 11, 13, priority=2)\ + .addThrValue(28, -14, -13, priority=2).addThrValue(28, 13, 14, priority=2)\ + .addThrValue(27, -15, -14, priority=2).addThrValue(27, 14, 15, priority=2)\ + .addThrValue(29, -17, -15, priority=2).addThrValue(29, 15, 17, priority=2)\ + .addThrValue(31, -29, -17, priority=2).addThrValue(31, 17, 29, priority=2) + + tc.registerThr( 'EM3HI', type='EM').addThrValue(3, priority=1)\ @@ -183,7 +240,7 @@ class ThresholdDef(object): ThresholdValue.setDefaults('TAU',{'isobits' : '00000', 'use_relIso' : True }) - for thrV in [6, 8, 12, 15, 20, 25, 30, 35, 40, 50, 60,100]: + for thrV in [5, 6, 8, 12, 15, 20, 25, 30, 35, 40, 50, 60, 90, 100]: tc.registerThr('HA%i' % thrV, 'TAU').addThrValue(thrV) # beam splashes @@ -205,7 +262,7 @@ class ThresholdDef(object): tc.registerThr('HA%iIL' % thrV, 'TAU').addThrValue(thrV) ThresholdValue.setDefaults('TAU', {'isobits' : '00010', 'use_relIso' : True }) - for thrV in [12,20]: + for thrV in [12,20,25]: tc.registerThr('HA%iIM' % thrV, 'TAU').addThrValue(thrV) ThresholdValue.setDefaults('TAU', {'isobits' : '00100', 'use_relIso' : True }) @@ -244,7 +301,7 @@ class ThresholdDef(object): # Central jet - for (thrV, etamax) in [(15,25), (17,22), (20,28), (25,23), (35,23), (20,49), (30,49), (40,25)]: + for (thrV, etamax) in [(12,23), (12,25), (12,28), (15,25), (17,22), (20,28), (25,23), (35,23), (20,49), (30,49), (40,25), (45,20)]: tc.registerThr('J%i.0ETA%i' % (thrV, etamax), 'JET').addThrValue(JetOff).addThrValue( thrV, etamin = -etamax, etamax = etamax, priority=1) # Standard forward jet -- GitLab