ATLAS Offline Software
Loading...
Searching...
No Matches
NNHLTFex.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4
5/******************************************************************************
6 * @package Trigger/TrigAlgorithms/TrigEFMissingET
7 * @class NNHLTFex
8 *
9 * @brief Fex class for the Neural netowrk algorithm that combines HLT inputs
10 * @author Zhelun Li
11 *****************************************************************************/
12
13#ifndef TRIGEFMISSINGET_NNHLTFEX_H
14#define TRIGEFMISSINGET_NNHLTFEX_H
15
16#include "FexBase.h"
18
19// Externals
20#include "lwtnn/LightweightGraph.hh"
21#include "lwtnn/NanReplacer.hh"
22#include "lwtnn/parse_json.hh"
23
24
25
26namespace HLT::MET {
27 /****************************************************************************
28 * @class NNHLTFex
29 *
30 * Class to create output from the HLT NN algorithm
31 ***************************************************************************/
32
33 class NNHLTFex : public FexBase
34 {
35 public:
37 NNHLTFex(const std::string& name, ISvcLocator* pSvcLocator);
38
40 virtual StatusCode initialize() override;
41
42 private:
43 /************************************************************************
44 * Properties
45 ***********************************************************************/
46
48 this, "TriggerMETs", {"HLT_MET_tcpufit","HLT_MET_cell","HLT_MET_trkmht","HLT_MET_pfopufit","HLT_MET_mhtpufit_pf_subjesgscIS","HLT_MET_pfsum_vssk"}, "TriggerMETs"};
49 Gaudi::Property<std::string> m_filename{
50 this, "InputFileName","/eos/atlas/atlascerngroupdisk/asg-calib/TrigEFMissingET/20220211/NNsingleLayerRed.json", "The NN input files in json, used to build NN in C++"};
51 // lightweight graph and preprocessor
52 lwt::GraphConfig m_configNN;
53 std::unique_ptr<lwt::LightweightGraph> m_graphNN;
54
55 /************************************************************************
56 * Internal functions
57 ***********************************************************************/
64 virtual StatusCode fillMET(
66 const EventContext& context,
67 MonGroupBuilder& monitors) const override;
68 }; //> end class NNHLTFex
69} //> end namespace HLT::MET
70
71#endif //> !TRIGEFMISSINGET_NNHLTFex_H
FexBase(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Definition FexBase.cxx:43
virtual StatusCode initialize() override
Initialize the fex.
Definition NNHLTFex.cxx:29
lwt::GraphConfig m_configNN
Definition NNHLTFex.h:52
std::unique_ptr< lwt::LightweightGraph > m_graphNN
Definition NNHLTFex.h:53
NNHLTFex(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Definition NNHLTFex.cxx:23
Gaudi::Property< std::string > m_filename
Definition NNHLTFex.h:49
virtual StatusCode fillMET(xAOD::TrigMissingET &met, const EventContext &context, MonGroupBuilder &monitors) const override
Calculate and fill the output MET value.
Definition NNHLTFex.cxx:44
SG::ReadHandleKeyArray< xAOD::TrigMissingETContainer > m_triggerMETs
Definition NNHLTFex.h:47
HandleKeyArray< ReadHandle< T >, ReadHandleKey< T >, Gaudi::DataHandle::Reader > ReadHandleKeyArray
TrigMissingET_v1 TrigMissingET
Define the most recent version of the TrigMissingET class.