|
ATLAS Offline Software
|
Go to the documentation of this file.
45 std::string weightfile_0p(
"");
46 std::string weightfile_1p(
"");
47 std::string weightfile_2p(
"");
48 std::string weightfile_3p(
"");
53 if (weightfile_0p.empty()) {
55 return StatusCode::FAILURE;
57 ATH_MSG_INFO(
"Using network config [0-prong]: " << weightfile_0p);
63 if (weightfile_1p.empty()) {
65 return StatusCode::FAILURE;
67 ATH_MSG_INFO(
"Using network config [1-prong]: " << weightfile_1p);
73 if (weightfile_2p.empty()) {
75 return StatusCode::FAILURE;
77 ATH_MSG_INFO(
"Using network config [2-prong]: " << weightfile_2p);
83 if (weightfile_3p.empty()) {
85 return StatusCode::FAILURE;
87 ATH_MSG_INFO(
"Using network config [3-prong]: " << weightfile_3p);
101 if (!weightfile_0p.empty()) {
105 return StatusCode::FAILURE;
112 return StatusCode::FAILURE;
116 if (!weightfile_2p.empty()) {
120 return StatusCode::FAILURE;
127 return StatusCode::FAILURE;
130 return StatusCode::SUCCESS;
143 std::vector<const xAOD::TauTrack *> tracks;
145 std::vector<xAOD::CaloVertexedTopoCluster>
clusters;
149 if (nTracksCharged==0 &&
m_net_0p) {
152 else if (nTracksCharged == 1) {
155 else if (nTracksCharged == 2) {
162 else if (nTracksCharged > 2) {
166 return StatusCode::SUCCESS;
186 std::vector<const xAOD::TauTrack*> tracks = tau.
allTracks();
194 while(
it != tracks.end()) {
196 it = tracks.erase(
it);
206 return lhs->
pt() > rhs->pt();
208 std::sort(tracks.begin(), tracks.end(), cmp_pt);
214 out = std::move(tracks);
216 return StatusCode::SUCCESS;
223 std::vector<xAOD::CaloVertexedTopoCluster> vertexedClusterList = tau.
vertexedClusters();
225 TLorentzVector clusterP4 = vertexedCluster.p4();
228 clusters.push_back(vertexedCluster);
234 return lhs.
p4().Et() > rhs.p4().Et();
243 return StatusCode::SUCCESS;
JetConstituentVector::iterator iterator
std::string m_input_layer_tracks
const TauJetRNN * get_rnn_0p() const
virtual FourMom_t p4() const final
The full 4-momentum of the particle.
const TauJetRNN * get_rnn_3p() const
bool m_doTrackClassification
bool m_doVertexCorrection
Helper class to provide type-safe access to aux data.
std::string m_output_node
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
StatusCode get_tracks(const xAOD::TauJet &tau, std::vector< const xAOD::TauTrack * > &out) const
virtual ~TauJetRNNEvaluator()
std::size_t m_max_clusters
Wrapper around lwtnn to compute the output score of a neural network.
std::string m_output_varname
const TauJetRNN * get_rnn_2p() const
std::string m_weightfile_1p
const TauJetRNN * get_rnn_1p() const
size_t nTracksCharged() const
std::string m_input_layer_clusters
::StatusCode StatusCode
StatusCode definition for legacy code.
Class describing a tau jet.
std::unique_ptr< TauJetRNN > m_net_1p
std::string m_weightfile_0p
std::string m_output_layer
virtual double pt() const
The transverse momentum ( ) of the particle.
std::unique_ptr< TauJetRNN > m_net_0p
std::string m_weightfile_2p
std::vector< xAOD::CaloVertexedTopoCluster > vertexedClusters() const
std::unique_ptr< TauJetRNN > m_net_2p
virtual StatusCode execute(xAOD::TauJet &tau) const override
Execute - called for each tau candidate.
std::vector< std::string > config
TauJetRNNEvaluator(const std::string &name="TauJetRNNEvaluator")
StatusCode get_clusters(const xAOD::TauJet &tau, std::vector< xAOD::CaloVertexedTopoCluster > &out) const
std::string m_weightfile_3p
virtual StatusCode initialize() override
Tool initializer.
Evaluate cluster kinematics with a different vertex / signal state.
std::vector< const TauTrack * > allTracks() const
Get the v<const pointer> to all tracks associated with this tau, regardless of classification.
std::unique_ptr< TauJetRNN > m_net_3p
std::string m_input_layer_scalar