ATLAS Offline Software
Loading...
Searching...
No Matches
Lvl1Result.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
5/**********************************************************************************
6 * @Project: HLT
7 * @Package: TrigSteeringEvent
8 * @class : Lvl1Result
9 *
10 * @brief container for compact version of the results of all three trigger levels
11 *
12 * @author Nicolas Berger <Nicolas.Berger@cern.ch> - CERN
13 * @author Till Eifert <Till.Eifert@cern.ch> - U. of Geneva, Switzerland
14 * @author Ricardo Goncalo <Jose.Goncalo@cern.ch> - Royal Holloway, U. of London
15 **********************************************************************************/
16
17#ifndef TRIGSTEERINGEVENT_LVL1RESULT_H
18#define TRIGSTEERINGEVENT_LVL1RESULT_H
19
20#include "xAODCore/CLASS_DEF.h"
22
23#include <stdint.h>
24#include <vector>
25
26
27namespace LVL1CTP {
28
30 {
31
32 public:
33
34 // default constructor
35 Lvl1Result(bool config = false) : m_configured(config) { }
36
37 bool isConfigured() const { return m_configured; }
38 bool isAccepted() const;
39
40 bool anyActiveL1ItemAfterVeto() const;
41
42 bool isPassedBeforePrescale(unsigned int item) const;
43 bool isPassedAfterPrescale(unsigned int item) const;
44 bool isPassedAfterVeto(unsigned int item) const;
45 bool isPassedRaw(unsigned int item) const;
46
47 bool isPrescaled(unsigned int item) const;
48 bool isVeto(unsigned int item) const;
49
50 unsigned int nItems() const { return m_l1_itemsTAV.size()*32; }
51
52 const std::vector<uint32_t>& itemsPassed() const { return m_l1_itemsTAV; }
53 const std::vector<uint32_t>& itemsBeforePrescale() const { return m_l1_itemsTBP; }
54 const std::vector<uint32_t>& itemsAfterPrescale() const { return m_l1_itemsTAP; }
55 const std::vector<uint32_t>& itemsAfterVeto() const { return m_l1_itemsTAV; }
56 // const std::vector<uint32_t>& itemsPrescaled() const { return m_l1_itemsPrescaled; }
57
58 std::vector<uint32_t>& itemsPassed() { return m_l1_itemsTAV; }
59 std::vector<uint32_t>& itemsBeforePrescale() { return m_l1_itemsTBP; }
60 std::vector<uint32_t>& itemsAfterPrescale() { return m_l1_itemsTAP; }
61 std::vector<uint32_t>& itemsAfterVeto() { return m_l1_itemsTAV; }
62
63
64 private:
65
67
68 /* max 256 LVL1 items => 8 words */
69 // std::vector<uint32_t> m_l1_items; //!< Trigger level 1, Lvl1 items (=chains)
70 // std::vector<uint32_t> m_l1_itemsPrescaled; //!< Trigger level 1, Lvl1 items (=chains) after prescale
71 std::vector<uint32_t> m_l1_itemsTBP;
72 std::vector<uint32_t> m_l1_itemsTAP;
73 std::vector<uint32_t> m_l1_itemsTAV;
74 };
75
76} // end of namespace
77
78
79CLASS_DEF( LVL1CTP::Lvl1Result, 21091893, 1)
80
81#endif
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
File providing the different SG_BASE macros.
std::vector< uint32_t > m_l1_itemsTAP
Trigger (level 1 items) After Prescale.
Definition Lvl1Result.h:72
unsigned int nItems() const
Definition Lvl1Result.h:50
std::vector< uint32_t > & itemsAfterPrescale()
Definition Lvl1Result.h:60
std::vector< uint32_t > m_l1_itemsTAV
Trigger (level 1 items) After Veto (==final L1 decision)
Definition Lvl1Result.h:73
bool isConfigured() const
is LVL1 configured ?
Definition Lvl1Result.h:37
const std::vector< uint32_t > & itemsAfterVeto() const
Definition Lvl1Result.h:55
std::vector< uint32_t > & itemsPassed()
Definition Lvl1Result.h:58
bool isPrescaled(unsigned int item) const
item isPassedBeforePrescale and not isPassedAfterPrescale
Lvl1Result(bool config=false)
Definition Lvl1Result.h:35
std::vector< uint32_t > m_l1_itemsTBP
Trigger (level 1 items) Before Prescale.
Definition Lvl1Result.h:71
bool isPassedAfterVeto(unsigned int item) const
final L1 decision for this item
bool isAccepted() const
final LVL1 decision && isConfigured
bool isPassedRaw(unsigned int item) const
same as isPassedBeforePrescale
const std::vector< uint32_t > & itemsAfterPrescale() const
Definition Lvl1Result.h:54
bool isPassedBeforePrescale(unsigned int item) const
raw L1 item
bool isVeto(unsigned int item) const
item isPassedAfterPrescale and not isPassedAfterVeto
std::vector< uint32_t > & itemsAfterVeto()
Definition Lvl1Result.h:61
const std::vector< uint32_t > & itemsBeforePrescale() const
Definition Lvl1Result.h:53
bool anyActiveL1ItemAfterVeto() const
any LVL1 item passed after prescale, veto ?
Definition Lvl1Result.cxx:9
std::vector< uint32_t > & itemsBeforePrescale()
Definition Lvl1Result.h:59
bool isPassedAfterPrescale(unsigned int item) const
after prescale
const std::vector< uint32_t > & itemsPassed() const
Definition Lvl1Result.h:52