 |
ATLAS Offline Software
|
Go to the documentation of this file.
28 std::string weightfile_0p(
"");
29 std::string weightfile_1p(
"");
30 std::string weightfile_2p(
"");
31 std::string weightfile_3p(
"");
36 if (weightfile_0p.empty()) {
38 return StatusCode::FAILURE;
40 ATH_MSG_INFO(
"Using network config [0-prong]: " << weightfile_0p);
46 if (weightfile_1p.empty()) {
48 return StatusCode::FAILURE;
50 ATH_MSG_INFO(
"Using network config [1-prong]: " << weightfile_1p);
56 if (weightfile_2p.empty()) {
58 return StatusCode::FAILURE;
60 ATH_MSG_INFO(
"Using network config [2-prong]: " << weightfile_2p);
66 if (weightfile_3p.empty()) {
68 return StatusCode::FAILURE;
70 ATH_MSG_INFO(
"Using network config [3-prong]: " << weightfile_3p);
84 if (!weightfile_0p.empty()) {
88 return StatusCode::FAILURE;
95 return StatusCode::FAILURE;
99 if (!weightfile_2p.empty()) {
103 return StatusCode::FAILURE;
110 return StatusCode::FAILURE;
113 return StatusCode::SUCCESS;
125 if (tau.
nTracks()>5)
return StatusCode::SUCCESS;
131 std::vector<const xAOD::TauTrack *> tracks;
133 std::vector<xAOD::CaloVertexedTopoCluster>
clusters;
137 if (nTracksCharged==0 &&
m_net_0p) {
140 else if (nTracksCharged == 1) {
143 else if (nTracksCharged == 2) {
150 else if (nTracksCharged > 2) {
154 return StatusCode::SUCCESS;
174 std::vector<const xAOD::TauTrack*> tracks = tau.
allTracks();
182 while(
it != tracks.end()) {
184 it = tracks.erase(
it);
194 return lhs->
pt() > rhs->pt();
196 std::sort(tracks.begin(), tracks.end(), cmp_pt);
202 out = std::move(tracks);
204 return StatusCode::SUCCESS;
211 std::vector<xAOD::CaloVertexedTopoCluster> vertexedClusterList = tau.
vertexedClusters();
213 TLorentzVector clusterP4 = vertexedCluster.p4();
216 clusters.push_back(vertexedCluster);
222 return lhs.
p4().Et() > rhs.p4().Et();
231 return StatusCode::SUCCESS;
JetConstituentVector::iterator iterator
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
StatusCode get_tracks(const xAOD::TauJet &tau, std::vector< const xAOD::TauTrack * > &out) const
size_t nTracks(TauJetParameters::TauTrackFlag flag=TauJetParameters::TauTrackFlag::classifiedCharged) const
virtual ~TauJetRNNEvaluator()
Gaudi::Property< std::size_t > m_max_clusters
Wrapper around lwtnn to compute the output score of a neural network.
Gaudi::Property< std::string > m_output_layer
Gaudi::Property< float > m_max_cluster_dr
Gaudi::Property< bool > m_doVertexCorrection
Gaudi::Property< std::string > m_output_varname
const TauJetRNN * get_rnn_2p() const
Gaudi::Property< std::string > m_output_node
const TauJetRNN * get_rnn_1p() const
Gaudi::Property< std::string > m_input_layer_tracks
size_t nTracksCharged() const
Gaudi::Property< std::string > m_input_layer_scalar
Gaudi::Property< std::string > m_weightfile_0p
::StatusCode StatusCode
StatusCode definition for legacy code.
Class describing a tau jet.
std::unique_ptr< TauJetRNN > m_net_1p
Gaudi::Property< std::string > m_weightfile_2p
virtual double pt() const
The transverse momentum ( ) of the particle.
std::unique_ptr< TauJetRNN > m_net_0p
std::vector< xAOD::CaloVertexedTopoCluster > vertexedClusters() const
std::unique_ptr< TauJetRNN > m_net_2p
Gaudi::Property< bool > m_applyLooseTrackSel
virtual StatusCode execute(xAOD::TauJet &tau) const override
Execute - called for each tau candidate.
Gaudi::Property< std::string > m_weightfile_1p
TauJetRNNEvaluator(const std::string &name="TauJetRNNEvaluator")
StatusCode get_clusters(const xAOD::TauJet &tau, std::vector< xAOD::CaloVertexedTopoCluster > &out) const
Gaudi::Property< std::string > m_weightfile_3p
virtual StatusCode initialize() override
Tool initializer.
Gaudi::Property< std::string > m_input_layer_clusters
Evaluate cluster kinematics with a different vertex / signal state.
Gaudi::Property< bool > m_doTrackClassification
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
Gaudi::Property< std::size_t > m_max_tracks