ATLAS Offline Software
Loading...
Searching...
No Matches
TrigDecision.cxx
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 : TrigDecision
9 *
10 * @brief transient representation of all three trigger level information
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 * @author Fabrizio Salvatore <p.salvatore@cern.ch> - University of Sussex/
16 * - Royal Holloway, U. of London
17 *
18 * File and Version Information:
19 * $Id: TrigDecision.cxx,v 1.2 2009-02-05 18:04:30 tbold Exp $
20 **********************************************************************************/
21
22
24
25//#include "TrigSteering/Sequence.h"
26
27using namespace TrigDec;
28
29
32 m_bgCode(0)
33{
34 // m_detailLevel = NONE;
35 // m_status = true;
36}
37
39 const HLT::HLTResult& l2Result,
40 const HLT::HLTResult& efResult,
41 uint32_t masterKey ) :
43 m_bgCode(0),
44 m_l1_result(l1Result),
45 m_l2_result(l2Result),
46 m_ef_result(efResult)
47{ }
48
49
51 const HLT::HLTResult& hltResult,
52 uint32_t masterKey ) :
54 m_bgCode(0),
55 m_l1_result(l1Result),
56 // m_l2_result(0),
57 // m_ef_result(0),
58 m_hlt_result(hltResult)
59{ }
60
61
63 const DataLink<HLT::HLTResult>& l2Result,
64 const DataLink<HLT::HLTResult>& efResult,
65 uint32_t masterKey,
66 char bgCode)
68 m_bgCode(bgCode),
69 m_l1_result (l1Result),
70 m_l2_result (l2Result),
71 m_ef_result (efResult)
72{
73}
74
75
77
78
82
83namespace {
84 static const HLT::HLTResult invalid_result;
85}
86
88 if (m_l2_result_ptr) // if we have ptr we should use it (old data 13.0.X and 14.0.0)
89 return *m_l2_result_ptr;
90 if (m_l2_result.isValid()) { // add protection against invalid DataLinks
91 return *m_l2_result; // this is data link, derefencing it means whole lot different thing
92 } else {
93 return invalid_result; // if DataLink invalid, return dummy HLTResult
94 }
95}
96
97
99 if (m_ef_result_ptr) // if we have ptr we should use it (old data 13.0.X and 14.0.0)
100 return *m_ef_result_ptr;
101 if (m_ef_result.isValid()) { // add protection against invalid DataLinks
102 return *m_ef_result; // this is data link, derefencing it means whole lot different thing
103 } else {
104 return invalid_result; // if DataLink invalid, return dummy HLTResult
105 }
106}
107
108
110 if (m_hlt_result.isValid()) { // add protection against invalid DataLinks
111 return *m_hlt_result; // this is data link, derefencing it means whole lot different thing
112 } else {
113 return invalid_result; // if DataLink invalid, return dummy HLTResult
114 }
115}
116
HLT::HLTResult is sumarising result of trigger decision evaluation (online/offline) It contains basic...
Definition HLTResult.h:51
The TrigDecision is an object which merges trigger informations from various levels.
const HLT::HLTResult & getEFResult() const
const HLT::HLTResult & getL2Result() const
TrigDecision & operator=(TrigDecision &&)
DataLink< HLT::HLTResult > m_ef_result
HLTResult of trigger level EF.
const HLT::HLTResult & getHLTResult() const
DataLink< HLT::HLTResult > m_l2_result
HLTResult of trigger level 2.
DataLink< HLT::HLTResult > m_hlt_result
HLTResult of merged L2EF.