ATLAS Offline Software
LWTNNCondAlg.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef _InDet_LWTNNCondAlg_H_
6 #define _InDet_LWTNNCondAlg_H_
7 
11 
12 #include "PoolSvc/IPoolSvc.h"
13 
14 //#include "TrkNeuralNetworkUtils/NeuralNetworkToHistoTool.h"
17 #include <string>
18 
19 class IPoolSvc;
20 
21 namespace lwt {
22  class NanReplacer;
23  //class LightweightGraph;
24  namespace atlas { class FastGraph; }
25 }
26 
27 namespace InDet {
28 
32 
33  public:
34 
35  LWTNNCondAlg (const std::string& name, ISvcLocator* pSvcLocator);
36  ~LWTNNCondAlg() = default;
37 
38  StatusCode initialize() override final;
39  StatusCode execute(const EventContext& ctx) const override final;
40  StatusCode finalize() override final;
41  virtual bool isReEntrant() const override final { return false; }
42 
43  private:
44 // TTrainedNetwork* retrieveNetwork(TFile &input_file, const std::string& folder) const;
45 
46  //StatusCode configureLwtnn(std::unique_ptr<lwt::LightweightGraph> & thisNN, const std::string& thisJson);
47  StatusCode configureLwtnn(std::unique_ptr<lwt::atlas::FastGraph> & thisNN, const std::string& thisJson) const;
48 
50  {this, "ReadKey", "/PIXEL/PixelClustering/PixelNNCalibJSON", "Cool folder name for the cluster NN input histogram file."};
51 
53  {this, "WriteKey", "PixelClusterNNJSON", "The conditions statore key for the pixel cluster NNs"};
54 
55  // as of now, the number and position networks all use the same variables
56  // only need one of these
57  Gaudi::Property< std::vector<std::string> > m_variableOrder
58  {this, "VariableOrder", {
59  "NN_matrix0",
60  "NN_matrix1",
61  "NN_matrix2",
62  "NN_matrix3",
63  "NN_matrix4",
64  "NN_matrix5",
65  "NN_matrix6",
66  "NN_matrix7",
67  "NN_matrix8",
68  "NN_matrix9",
69  "NN_matrix10",
70  "NN_matrix11",
71  "NN_matrix12",
72  "NN_matrix13",
73  "NN_matrix14",
74  "NN_matrix15",
75  "NN_matrix16",
76  "NN_matrix17",
77  "NN_matrix18",
78  "NN_matrix19",
79  "NN_matrix20",
80  "NN_matrix21",
81  "NN_matrix22",
82  "NN_matrix23",
83  "NN_matrix24",
84  "NN_matrix25",
85  "NN_matrix26",
86  "NN_matrix27",
87  "NN_matrix28",
88  "NN_matrix29",
89  "NN_matrix30",
90  "NN_matrix31",
91  "NN_matrix32",
92  "NN_matrix33",
93  "NN_matrix34",
94  "NN_matrix35",
95  "NN_matrix36",
96  "NN_matrix37",
97  "NN_matrix38",
98  "NN_matrix39",
99  "NN_matrix40",
100  "NN_matrix41",
101  "NN_matrix42",
102  "NN_matrix43",
103  "NN_matrix44",
104  "NN_matrix45",
105  "NN_matrix46",
106  "NN_matrix47",
107  "NN_matrix48",
108  "NN_pitches0",
109  "NN_pitches1",
110  "NN_pitches2",
111  "NN_pitches3",
112  "NN_pitches4",
113  "NN_pitches5",
114  "NN_pitches6",
115  "NN_layer",
116  "NN_barrelEC",
117  "NN_phi",
118  "NN_theta"},
119  "List of training variables for the LWTNN networks in the order they are fed to evaluate the networks"};
120 
121 };
122 }
123 #endif
IPoolSvc
This class provides the interface to the LCG POOL persistency software.
Definition: IPoolSvc.h:35
CondAttrListCollection.h
This file defines the class for a collection of AttributeLists where each one is associated with a ch...
InDet::LWTNNCondAlg::m_readKey
SG::ReadCondHandleKey< CondAttrListCollection > m_readKey
Definition: LWTNNCondAlg.h:50
InDet
Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
WriteCondHandleKey.h
InDet::LWTNNCondAlg
Definition: LWTNNCondAlg.h:31
InDet::LWTNNCondAlg::isReEntrant
virtual bool isReEntrant() const override final
Definition: LWTNNCondAlg.h:41
LWTNNCollection.h
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:560
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
InDet::LWTNNCondAlg::execute
StatusCode execute(const EventContext &ctx) const override final
Definition: LWTNNCondAlg.cxx:84
lwt
Definition: NnClusterizationFactory.h:52
InDet::LWTNNCondAlg::~LWTNNCondAlg
~LWTNNCondAlg()=default
InDet::LWTNNCondAlg::LWTNNCondAlg
LWTNNCondAlg(const std::string &name, ISvcLocator *pSvcLocator)
Definition: LWTNNCondAlg.cxx:35
lwt::atlas::FastGraph
Definition: FastGraph.h:33
InDet::LWTNNCondAlg::configureLwtnn
StatusCode configureLwtnn(std::unique_ptr< lwt::atlas::FastGraph > &thisNN, const std::string &thisJson) const
Definition: LWTNNCondAlg.cxx:53
ReadCondHandleKey.h
AthReentrantAlgorithm.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
InDet::LWTNNCondAlg::finalize
StatusCode finalize() override final
Definition: LWTNNCondAlg.cxx:48
InDet::LWTNNCondAlg::m_variableOrder
Gaudi::Property< std::vector< std::string > > m_variableOrder
Definition: LWTNNCondAlg.h:58
IPoolSvc.h
This file contains the class definition for the IPoolSvc interface class.
SG::ReadCondHandleKey< CondAttrListCollection >
SG::WriteCondHandleKey< LWTNNCollection >
InDet::LWTNNCondAlg::m_writeKey
SG::WriteCondHandleKey< LWTNNCollection > m_writeKey
Definition: LWTNNCondAlg.h:53
InDet::LWTNNCondAlg::initialize
StatusCode initialize() override final
Definition: LWTNNCondAlg.cxx:39