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 
7 
9  asg::AsgTool(name)
10 {}
11 
13 
15 
16  ATH_MSG_INFO(" initialize()");
17  m_init=true;
18 
19  ATH_CHECK( HelperFunctions::bindToolHandle( m_Tool_InputConverter, m_Tool_InputConverterName ) );
20 
21  ATH_CHECK( m_Tool_InputConverter.retrieve() );
22 
23  return StatusCode::SUCCESS;
24 }
25 
26 
31  std::vector<TauConstituent*>& outputConstituents) const {
32 
33  //loop over charged PFOs
34  for(unsigned int iChrgPFO=0; iChrgPFO<tauJet->nProtoChargedPFOs(); iChrgPFO++) {
35 
36  //convert to tau constituent
37  PanTau::TauConstituent* curConst = nullptr;
38  ATH_CHECK(m_Tool_InputConverter->ConvertToTauConstituent(tauJet->protoChargedPFO( iChrgPFO ), curConst, tauJet) );
39  if(curConst == nullptr) {
40  ATH_MSG_DEBUG("Problems converting charged PFO into tau constituent -> skip PFO");
41  continue;
42  }
43 
44  //add to list of tau constituents
45  outputConstituents.push_back(curConst);
46 
47  }//end loop over charged PFOs
48 
49  // Pi0 tagged PFOs are not collected!
50 
51  //loop over neutral PFOs
52  for(unsigned int iNeutPFO=0; iNeutPFO<tauJet->nProtoNeutralPFOs(); iNeutPFO++) {
53 
54  //convert to tau constituent
55  PanTau::TauConstituent* curConst = nullptr;
56  ATH_CHECK( m_Tool_InputConverter->ConvertToTauConstituent(tauJet->protoNeutralPFO( iNeutPFO ), curConst, tauJet) );
57  if(curConst == nullptr) {
58  ATH_MSG_DEBUG("Problems converting neutral PFO into tau constituent -> skip PFO");
59  continue;
60  }
61 
62  //add to list of tau constituents
63  outputConstituents.push_back(curConst);
64 
65  }//end loop over charged PFOs
66 
67  return StatusCode::SUCCESS;
68 }
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:30
PanTau::Tool_TauConstituentGetter::Tool_TauConstituentGetter
Tool_TauConstituentGetter(const std::string &name)
Definition: Tool_TauConstituentGetter.cxx:8
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.
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:14
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