#include <JetExternalAssocTool.h>
Definition at line 31 of file JetExternalAssocTool.h.
◆ type_el
◆ type_ghostlink
◆ JetExternalAssocTool()
DerivationFramework::JetExternalAssocTool::JetExternalAssocTool |
( |
const std::string & |
t, |
|
|
const std::string & |
n, |
|
|
const IInterface * |
p |
|
) |
| |
◆ addBranches()
StatusCode DerivationFramework::JetExternalAssocTool::addBranches |
( |
| ) |
const |
|
virtual |
Definition at line 66 of file JetExternalAssocTool.cxx.
72 return StatusCode::FAILURE;
79 return StatusCode::FAILURE;
86 if(
jets->size() != ExternalJetCollection->
size()){
88 return StatusCode::FAILURE;
93 auto jet_external = ExternalJetCollection->
at(
index);
95 if( std::abs(
jet->pt() - jet_external->pt()) > 0.1 ){
96 ATH_MSG_WARNING(
"Potential inconsistency between two jet collections: " <<
jet->pt() <<
" v.s. " << jet_external->pt());
100 ATH_MSG_ERROR(
"Failure when transferring link from external jet to current jet!");
101 return StatusCode::FAILURE;
109 std::vector<const xAOD::Jet*> UnAssignedExternalJets;
110 for(
auto jet_external : *ExternalJetCollection){
111 UnAssignedExternalJets.push_back(jet_external);
121 for(
auto external_iter = UnAssignedExternalJets.begin(); external_iter != UnAssignedExternalJets.end(); external_iter++){
122 auto jet_external = (*external_iter);
124 double dR =
jet->p4().DeltaR(jet_external->p4());
128 associated_jet = jet_external;
129 associated_iter = external_iter;
133 if(associated_jet == 0){
134 ATH_MSG_WARNING(
"Unable to find associated external jet! This jet will be skipped");
139 if(associated_jet != (*associated_iter)){
141 return StatusCode::FAILURE;
145 UnAssignedExternalJets.erase(associated_iter);
150 ATH_MSG_ERROR(
"Failure when transferring link from external jet to current jet!");
151 return StatusCode::FAILURE;
156 return StatusCode::SUCCESS;
◆ finalize()
StatusCode DerivationFramework::JetExternalAssocTool::finalize |
( |
| ) |
|
◆ initialize()
StatusCode DerivationFramework::JetExternalAssocTool::initialize |
( |
| ) |
|
Definition at line 38 of file JetExternalAssocTool.cxx.
45 ATH_MSG_ERROR(
"Vector size between old and new link names does not agree!");
46 return StatusCode::FAILURE;
56 return StatusCode::SUCCESS;
◆ TransferLink()
Definition at line 159 of file JetExternalAssocTool.cxx.
166 std::vector<const xAOD::IParticle*> targetObjs;
168 ATH_MSG_WARNING(
"Unable to fetch link " << OldLinkName <<
" under associated external jet");
174 for(
auto obj : targetObjs){
178 targetLinks.push_back(el_obj);
182 *dec_handle(
jet) = targetLinks;
◆ m_containerName
std::string DerivationFramework::JetExternalAssocTool::m_containerName |
|
private |
◆ m_dec_keys
◆ m_dRCut
double DerivationFramework::JetExternalAssocTool::m_dRCut |
|
private |
◆ m_dRMatch
bool DerivationFramework::JetExternalAssocTool::m_dRMatch |
|
private |
◆ m_ExternalJetCollectionName
std::string DerivationFramework::JetExternalAssocTool::m_ExternalJetCollectionName |
|
private |
◆ m_momentPrefix
std::string DerivationFramework::JetExternalAssocTool::m_momentPrefix |
|
private |
◆ m_VectorOfNewLinkNames
std::vector<std::string> DerivationFramework::JetExternalAssocTool::m_VectorOfNewLinkNames |
|
private |
◆ m_VectorOfOldLinkNames
std::vector<std::string> DerivationFramework::JetExternalAssocTool::m_VectorOfOldLinkNames |
|
private |
The documentation for this class was generated from the following files:
bool toIndexedElement(BaseConstReference data, index_type elemID, IProxyDict *sg=0)
Set the link to an element given by index and pointer to container.
Class providing the definition of the 4-vector interface.