ATLAS Offline Software
Trigger/TrigEvent/TrigDecisionEvent/TrigDecisionEvent/TrigDecision.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 /**********************************************************************************
6  * @Project: HLT
7  * @Package: TrigDecisionEvent
8  * @class : TrigDecision
9  *
10  * @brief transient trigger decision class
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/Royal Holloway,
16  * U. of London
17  *
18  * File and Version Information:
19  * $Id: TrigDecision.h,v 1.3 2009-02-11 13:43:06 tbold Exp $
20  **********************************************************************************/
21 
22 #ifndef TrigDecisionEvent_TrigDecision_H
23 #define TrigDecisionEvent_TrigDecision_H
24 
25 #include "AthLinks/DataLink.h"
27 
28 
31 
32 #include "xAODCore/CLASS_DEF.h"
33 #include <string>
34 #include <stdint.h>
35 
36 
37 
38 namespace TrigDec {
39  class TrigDecisionCnv_p1;
40 
45  class TrigDecision
46  {
47  public:
48 
49  // constructors
50  TrigDecision();
51 
52  TrigDecision( const LVL1CTP::Lvl1Result& l1Result,
53  const HLT::HLTResult& l2Result,
54  const HLT::HLTResult& efResult,
55  uint32_t masterKey = 0 );
56 
57  TrigDecision( const LVL1CTP::Lvl1Result& l1Result,
58  const HLT::HLTResult& HltResult,
59  uint32_t masterKey = 0 );
60 
61  TrigDecision( const LVL1CTP::Lvl1Result& l1Result,
62  const DataLink<HLT::HLTResult>& l2Result,
63  const DataLink<HLT::HLTResult>& efResult,
64  uint32_t masterKey = 0,
65  char bgCode = 0);
66 
67  virtual ~TrigDecision();
68 
69 
70  uint32_t masterKey() const { return m_configMasterKey; }
71  char BGCode() const { return m_bgCode; }
72 
73  const LVL1CTP::Lvl1Result& getL1Result() const { return m_l1_result; }
74  const HLT::HLTResult& getL2Result() const;
75  const DataLink<HLT::HLTResult>& getL2ResultLink() const { return m_l2_result; }
76  const HLT::HLTResult& getEFResult() const;
77  const DataLink<HLT::HLTResult>& getEFResultLink() const { return m_ef_result; }
78  const HLT::HLTResult& getHLTResult() const;
79  const DataLink<HLT::HLTResult>& getHLTResultLink() const { return m_hlt_result; }
80 
81  friend class TrigDecisionTool;
82  friend class TrigDecisionMaker;
83 
84  private:
85  friend class TrigDecisionCnv_p1;
86 
88  char m_bgCode;
89 
90  // The packed data
91  // ----------------
92 
97 
98  HLT::HLTResult* m_l2_result_ptr; // this is for backward compatibility // remove in the next non-cache release
99  HLT::HLTResult* m_ef_result_ptr; // this is for backward compatibility
100  HLT::HLTResult* m_hlt_result_ptr; // this is for backward compatibility
101  };
102 
103 } // end of namespace
104 
105 CLASS_DEF( TrigDec::TrigDecision, 4356087 , 1 )
106 
107 #endif
TrigDec::TrigDecision::TrigDecision
TrigDecision()
Definition: TrigDecision.cxx:30
TrigDec
Definition: ITrigDecisionCnvTool.h:18
TrigDec::TrigDecision::getL2ResultLink
const DataLink< HLT::HLTResult > & getL2ResultLink() const
Definition: Trigger/TrigEvent/TrigDecisionEvent/TrigDecisionEvent/TrigDecision.h:90
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
TrigDec::TrigDecision::getEFResultLink
const DataLink< HLT::HLTResult > & getEFResultLink() const
Definition: Trigger/TrigEvent/TrigDecisionEvent/TrigDecisionEvent/TrigDecision.h:92
xAOD::bgCode
bgCode
Definition: TrigDecision_v1.cxx:39
TrigDec::TrigDecisionCnv_p1
Definition: TrigDecisionCnv_p1.h:38
TrigDec::TrigDecision::masterKey
uint32_t masterKey() const
Definition: Trigger/TrigEvent/TrigDecisionEvent/TrigDecisionEvent/TrigDecision.h:85
Enums.h
TrigDec::TrigDecision::getHLTResultLink
const DataLink< HLT::HLTResult > & getHLTResultLink() const
Definition: Trigger/TrigEvent/TrigDecisionEvent/TrigDecisionEvent/TrigDecision.h:94
HLTResult.h
TrigDec::TrigDecision
The TrigDecision is an object which merges trigger informations from various levels.
Definition: Trigger/TrigEvent/TrigDecisionEvent/TrigDecisionEvent/TrigDecision.h:61
TrigDec::TrigDecision::m_hlt_result_ptr
HLT::HLTResult * m_hlt_result_ptr
Definition: Trigger/TrigEvent/TrigDecisionEvent/TrigDecisionEvent/TrigDecision.h:115
Lvl1Result.h
TrigDec::TrigDecision::TrigDecisionMaker
friend class TrigDecisionMaker
Definition: Trigger/TrigEvent/TrigDecisionEvent/TrigDecisionEvent/TrigDecision.h:97
TrigDec::TrigDecision::getHLTResult
const HLT::HLTResult & getHLTResult() const
Definition: TrigDecision.cxx:129
TrigDec::TrigDecision::m_ef_result_ptr
HLT::HLTResult * m_ef_result_ptr
Definition: Trigger/TrigEvent/TrigDecisionEvent/TrigDecisionEvent/TrigDecision.h:114
TrigDec::TrigDecision::BGCode
char BGCode() const
Definition: Trigger/TrigEvent/TrigDecisionEvent/TrigDecisionEvent/TrigDecision.h:86
xAOD::TrigDecision
TrigDecision_v1 TrigDecision
Define the latest version of the trigger decision class.
Definition: Event/xAOD/xAODTrigger/xAODTrigger/TrigDecision.h:16
TrigDec::TrigDecision::m_l2_result_ptr
HLT::HLTResult * m_l2_result_ptr
Definition: Trigger/TrigEvent/TrigDecisionEvent/TrigDecisionEvent/TrigDecision.h:113
TrigDec::TrigDecision::~TrigDecision
virtual ~TrigDecision()
Definition: TrigDecision.cxx:87
TrigDec::TrigDecision::getL1Result
const LVL1CTP::Lvl1Result & getL1Result() const
Definition: Trigger/TrigEvent/TrigDecisionEvent/TrigDecisionEvent/TrigDecision.h:88
TrigDec::TrigDecision::TrigDecisionTool
friend class TrigDecisionTool
Definition: Trigger/TrigEvent/TrigDecisionEvent/TrigDecisionEvent/TrigDecision.h:96
TrigDec::TrigDecision::m_bgCode
char m_bgCode
Definition: Trigger/TrigEvent/TrigDecisionEvent/TrigDecisionEvent/TrigDecision.h:103
HLT::HLTResult
HLT::HLTResult is sumarising result of trigger decision evaluation (online/offline) It contains basic...
Definition: HLTResult.h:57
TrigDec::TrigDecision::m_hlt_result
DataLink< HLT::HLTResult > m_hlt_result
HLTResult of merged L2EF.
Definition: Trigger/TrigEvent/TrigDecisionEvent/TrigDecisionEvent/TrigDecision.h:111
LVL1CTP::Lvl1Result
Definition: Lvl1Result.h:32
TrigDec::TrigDecision::getEFResult
const HLT::HLTResult & getEFResult() const
Definition: TrigDecision.cxx:118
CLASS_DEF.h
File providing the different SG_BASE macros.
TrigDec::TrigDecision::m_configMasterKey
uint32_t m_configMasterKey
Definition: Trigger/TrigEvent/TrigDecisionEvent/TrigDecisionEvent/TrigDecision.h:102
TrigDec::TrigDecision::m_l1_result
LVL1CTP::Lvl1Result m_l1_result
Lvl1Result.
Definition: Trigger/TrigEvent/TrigDecisionEvent/TrigDecisionEvent/TrigDecision.h:108
CLASS_DEF
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Definition: Control/AthenaKernel/AthenaKernel/CLASS_DEF.h:64
TrigDec::TrigDecision::m_ef_result
DataLink< HLT::HLTResult > m_ef_result
HLTResult of trigger level EF.
Definition: Trigger/TrigEvent/TrigDecisionEvent/TrigDecisionEvent/TrigDecision.h:110
TrigDec::TrigDecision::m_l2_result
DataLink< HLT::HLTResult > m_l2_result
HLTResult of trigger level 2.
Definition: Trigger/TrigEvent/TrigDecisionEvent/TrigDecisionEvent/TrigDecision.h:109
TrigDec::TrigDecision::getL2Result
const HLT::HLTResult & getL2Result() const
Definition: TrigDecision.cxx:107