ATLAS Offline Software
Loading...
Searching...
No Matches
FexBase.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3 */
4
5/******************************************************************************
6 * @package Trigger/TrigAlgorithms/TrigEFMissingET
7 * @class FexBase
8 *
9 * @brief Base class for MET Trigger Fexs
10 * @author Jon Burr
11 *****************************************************************************/
12
13#ifndef TRIGEFMISSINGET_FEXBASE_H
14#define TRIGEFMISSINGET_FEXBASE_H 1
15
18#include "Gaudi/Property.h"
20#include "GaudiKernel/SystemOfUnits.h"
21#include "MonGroupBuilder.h"
22
23#include <string>
24#include <vector>
25
26
27namespace HLT { namespace MET {
28 /****************************************************************************
29 * @class FexBase
30 *
31 * Base class for HLT MET Fex algorithms.
32 *
33 * Responsible for creating the MET object
34 ***************************************************************************/
36 public:
38 FexBase(const std::string& name, ISvcLocator* pSvcLocator);
39
41 virtual StatusCode execute(const EventContext& context) const override;
42
43 protected:
44 /************************************************************************
45 * Data members (accessible from derived classes)
46 ***********************************************************************/
48 std::vector<std::string> m_componentNames;
49
50 /************************************************************************
51 * Internal functions
52 ***********************************************************************/
64 StatusCode initializeBase(
65 const std::vector<std::string>& componentNames);
66
78 virtual StatusCode fillMET(
80 const EventContext& context,
81 MonGroupBuilder& monitors) const = 0;
82
88 virtual StatusCode monitor(
90 MonGroupBuilder& monitors) const;
91
96 virtual StatusCode flagMET(xAOD::TrigMissingET& met) const;
97
98 private:
99 /************************************************************************
100 * Properties (Not accessible from derived classes)
101 ***********************************************************************/
104 this, "METContainerKey", "HLT_MET", "Name of the output MET object"};
105
106 ToolHandle<GenericMonitoringTool> m_monTool{
107 this, "MonTool", "", "Monitoring tool"};
108 Gaudi::Property<float> m_maxComponentMETSumEtRatio{
109 "MaxComponentMETSumEtRatio", 1.,
110 "The maximum MET/SumEt ratio per component"};
111 Gaudi::Property<float> m_maxGlobalMETSumEtRatio{
112 "MaxGlobalMETSumEtRatio", 1.,
113 "The maximum MET/SumEt ratio for the total value"};
114
115 /************************************************************************
116 * Data members (Not accessible from derived classes)
117 ***********************************************************************/
119 bool m_baseInitialised{false};
120 }; //> end class FexBase
121} } //> end namespace HTL::MET
122#endif //> !TRIGEFMISSINGET_FEXBASE_H
An algorithm that can be simultaneously executed in multiple threads.
virtual StatusCode flagMET(xAOD::TrigMissingET &met) const
Flag suspicious values in the output MET.
Definition FexBase.cxx:118
std::vector< std::string > m_componentNames
The names of the output MET components.
Definition FexBase.h:48
bool m_baseInitialised
Whether or not this class has been correctly initialised.
Definition FexBase.h:119
ToolHandle< GenericMonitoringTool > m_monTool
The monitoring tool.
Definition FexBase.h:106
Gaudi::Property< float > m_maxGlobalMETSumEtRatio
Definition FexBase.h:111
FexBase(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Definition FexBase.cxx:43
virtual StatusCode fillMET(xAOD::TrigMissingET &met, const EventContext &context, MonGroupBuilder &monitors) const =0
Calculate and fill the output MET value.
virtual StatusCode execute(const EventContext &context) const override
Run the algorithm.
Definition FexBase.cxx:60
Gaudi::Property< float > m_maxComponentMETSumEtRatio
Definition FexBase.h:108
SG::WriteHandleKey< xAOD::TrigMissingETContainer > m_metContainerKey
The output MET object.
Definition FexBase.h:103
StatusCode initializeBase(const std::vector< std::string > &componentNames)
Initialize the base class.
Definition FexBase.cxx:48
virtual StatusCode monitor(const xAOD::TrigMissingET &met, MonGroupBuilder &monitors) const
Add monitor variables from an xAOD::TrigMissingET object.
Definition FexBase.cxx:141
Property holding a SG store/key/clid from which a WriteHandle is made.
It used to be useful piece of code for replacing actual SG with other store of similar functionality ...
TrigMissingET_v1 TrigMissingET
Define the most recent version of the TrigMissingET class.