25 m_bTagToolHandleArray(this),
26 m_bTagTool(std::map<std::string, ITagTool*>())
36 ATH_CHECK( m_VertexCollectionName.initialize() );
41 if ( m_bTagToolHandleArray.empty() ) {
42 ATH_MSG_DEBUG(
"#BTAG# No tagging tools defined. Please revisit configuration.");
45 if ( m_bTagToolHandleArray.retrieve().isFailure() ) {
46 ATH_MSG_ERROR(
"#BTAG# Failed to retrieve " << m_bTagToolHandleArray);
47 return StatusCode::FAILURE;
56 for ( ; itTagTools != itTagToolsEnd; ++itTagTools ) {
57 ATH_MSG_DEBUG(
"#BTAG# "<<
name() <<
" inserting: " << (*itTagTools).typeAndName() <<
" to tools list.");
58 m_bTagTool.insert(std::pair<std::string, ITagTool*>((*itTagTools).name(), &(*(*itTagTools))));
65 return StatusCode::SUCCESS;
71 ATH_MSG_VERBOSE(
"#BTAG# (p, E) of original Jet: (" << jetToTag->
px() <<
", " << jetToTag->
py() <<
", "
72 << jetToTag->
pz() <<
"; " << jetToTag->
e() <<
") MeV");
85 if (!h_VertexCollectionName.isValid()) {
86 ATH_MSG_ERROR(
" cannot retrieve primary vertex container with key " << m_VertexCollectionName.key() );
87 return StatusCode::FAILURE;
89 unsigned int nVertexes = h_VertexCollectionName->size();
92 return StatusCode::SUCCESS;
95 for (
const auto *fz : *h_VertexCollectionName) {
102 if (! primaryVertex) {
103 ATH_MSG_DEBUG(
"#BTAG# No vertex labeled as VxType::PriVtx!");
106 if (primaryVertex->nTrackParticles() == 0) {
117 for (
const ToolHandle<ITagTool>&
tool : m_bTagToolHandleArray) {
119 if (
sc.isFailure()) {
128 return StatusCode::SUCCESS;
137 if (!h_VertexCollectionName.isValid()) {
138 ATH_MSG_ERROR(
" cannot retrieve primary vertex container with key " << m_VertexCollectionName.key() );
139 return StatusCode::FAILURE;
141 unsigned int nVertexes = h_VertexCollectionName->size();
142 if (nVertexes == 0) {
144 return StatusCode::SUCCESS;
148 for (
const auto *fz : *h_VertexCollectionName) {
156 if (! primaryVertex) {
157 ATH_MSG_DEBUG(
"#BTAG# No vertex labeled as VxType::PriVtx!");
160 if (primaryVertex->nTrackParticles() == 0) {
168 ATH_MSG_VERBOSE(
"#BTAG# (p, E) of original Jet: (" << (*jetIter)->px() <<
", " << (*jetIter)->py() <<
", "
169 << (*jetIter)->pz() <<
"; " << (*jetIter)->e() <<
") MeV");
176 for (
const ToolHandle<ITagTool>&
tool : m_bTagToolHandleArray) {
177 StatusCode sc =
tool->tagJet(*primaryVertex, **jetIter, **btagIter, jetName);
178 if (
sc.isFailure()) {
189 return StatusCode::SUCCESS;
193 ATH_MSG_INFO(
"#BTAG# number of jets with Primary Vertex set to BeamSpot " << m_nBeamSpotPvx <<
" Total number of jets seen " << m_nAllJets);
194 return StatusCode::SUCCESS;
199 void BTagTool::finalizeHistos() {