ATLAS Offline Software
Tool_TauConstituentGetter.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
9 #include "xAODTau/TauJet.h"
10 #include "xAODPFlow/PFO.h"
11 
13  asg::AsgTool(name)
14 {
15 }
16 
18 
20 
21  ATH_MSG_INFO(" initialize()");
22  m_init=true;
23 
24  ATH_CHECK( HelperFunctions::bindToolHandle( m_Tool_InputConverter, m_Tool_InputConverterName ) );
25 
26  ATH_CHECK( m_Tool_InputConverter.retrieve() );
27 
28  return StatusCode::SUCCESS;
29 }
30 
31 
36  std::vector<TauConstituent*>& outputConstituents) const {
37 
38  //loop over charged PFOs
39  for(unsigned int iChrgPFO=0; iChrgPFO<tauJet->nProtoChargedPFOs(); iChrgPFO++) {
40 
41  //convert to tau constituent
42  PanTau::TauConstituent* curConst = nullptr;
43  ATH_CHECK(m_Tool_InputConverter->ConvertToTauConstituent(tauJet->protoChargedPFO( iChrgPFO ), curConst, tauJet) );
44  if(curConst == nullptr) {
45  ATH_MSG_DEBUG("Problems converting charged PFO into tau constituent -> skip PFO");
46  continue;
47  }
48 
49  //add to list of tau constituents
50  outputConstituents.push_back(curConst);
51 
52  }//end loop over charged PFOs
53 
54  // Pi0 tagged PFOs are not collected!
55 
56  //loop over neutral PFOs
57  for(unsigned int iNeutPFO=0; iNeutPFO<tauJet->nProtoNeutralPFOs(); iNeutPFO++) {
58 
59  //convert to tau constituent
60  PanTau::TauConstituent* curConst = nullptr;
61  ATH_CHECK( m_Tool_InputConverter->ConvertToTauConstituent(tauJet->protoNeutralPFO( iNeutPFO ), curConst, tauJet) );
62  if(curConst == nullptr) {
63  ATH_MSG_DEBUG("Problems converting neutral PFO into tau constituent -> skip PFO");
64  continue;
65  }
66 
67  //add to list of tau constituents
68  outputConstituents.push_back(curConst);
69 
70  }//end loop over charged PFOs
71 
72  return StatusCode::SUCCESS;
73 }
PanTau::Tool_TauConstituentGetter::GetTauConstituents
virtual StatusCode GetTauConstituents(const xAOD::TauJet *tauJet, std::vector< TauConstituent * > &outputList) const
Function to get the PFOs for a given TauJet object (Shots in each PFO etc are collected in "ConvertTo...
Definition: Tool_TauConstituentGetter.cxx:35
PanTau::Tool_TauConstituentGetter::Tool_TauConstituentGetter
Tool_TauConstituentGetter(const std::string &name)
Definition: Tool_TauConstituentGetter.cxx:12
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
xAOD::TauJet_v3::nProtoNeutralPFOs
size_t nProtoNeutralPFOs() const
Get the number of cellbased_neutral PFO particles associated with this tau.
Definition: TauJet_v3.cxx:904
HelperFunctions.h
PanTau::Tool_TauConstituentGetter::~Tool_TauConstituentGetter
virtual ~Tool_TauConstituentGetter()
asg
Definition: DataHandleTestTool.h:28
xAOD::TauJet_v3::protoChargedPFO
const PFO * protoChargedPFO(size_t i) const
Get the pointer to a given cellbased_charged PFO associated with this tau.
Tool_InputConverter.h
TauConstituent.h
PFO.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
xAOD::TauJet_v3
Class describing a tau jet.
Definition: TauJet_v3.h:41
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
PanTau::HelperFunctions::bindToolHandle
static StatusCode bindToolHandle(ToolHandle< T > &, std::string)
Definition: Reconstruction/PanTau/PanTauAlgs/PanTauAlgs/HelperFunctions.h:56
PanTau::Tool_TauConstituentGetter::initialize
virtual StatusCode initialize()
Dummy implementation of the initialisation function.
Definition: Tool_TauConstituentGetter.cxx:19
TauJet.h
Tool_TauConstituentGetter.h
xAOD::TauJet_v3::protoNeutralPFO
const PFO * protoNeutralPFO(size_t i) const
Get the pointer to a given cellbased_neutral PFO associated with this tau.
xAOD::TauJet_v3::nProtoChargedPFOs
size_t nProtoChargedPFOs() const
Get the number of cellbased_charged PFO particles associated with this tau.
Definition: TauJet_v3.cxx:874
PanTau::TauConstituent
Definition: TauConstituent.h:25