ATLAS Offline Software
IRNNTool.h
Go to the documentation of this file.
1 // This is -*- c++ -*-
2 
3 /*
4  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 #ifndef ATH_IRNNTOOL_H
8 #define ATH_IRNNTOOL_H
9 
10 /**********************************************************************************
11  * @Package: PhysicsAnpProd
12  * @Class : IRNNTool
13  * @Author : Rustem Ospanov
14  *
15  * @Brief :
16  *
17  * Interface for tool to compute RNN output
18  *
19  **********************************************************************************/
20 
21 // Gaudi
22 #include "GaudiKernel/IAlgTool.h"
23 #include "GaudiKernel/ToolHandle.h"
24 
25 // C/C++
26 #include <set>
27 
28 namespace Prompt
29 {
30  // Forward declarations
31  class VarHolder;
32 
33  // Main body
34 
35  static const InterfaceID IID_IRNNTool ( "Prompt::IRNNTool", 1, 0 );
36 
37  class IRNNTool : public virtual IAlgTool
38  {
39  /*
40  Interface of the RNN tool, which will take the input of VarHolder vector and predict RNN score for different categories.
41  */
42  public:
43 
44  static const InterfaceID& interfaceID() { return IID_IRNNTool; }
45 
46  virtual StatusCode initialize() override = 0;
47 
48  virtual std::map<std::string, double> computeRNNOutput(
49  const std::vector<Prompt::VarHolder> &tracks
50  ) = 0;
51 
52  virtual std::set<std::string> getOutputLabels() const = 0;
53  };
54 }
55 
56 #endif
Prompt
Definition: DecoratePromptLeptonImproved.h:45
Prompt::IRNNTool::computeRNNOutput
virtual std::map< std::string, double > computeRNNOutput(const std::vector< Prompt::VarHolder > &tracks)=0
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
Prompt::IRNNTool::getOutputLabels
virtual std::set< std::string > getOutputLabels() const =0
Prompt::IRNNTool::initialize
virtual StatusCode initialize() override=0
Prompt::IRNNTool::interfaceID
static const InterfaceID & interfaceID()
Definition: IRNNTool.h:53