ATLAS Offline Software
JetFilterTool.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #include "JetRec/JetFilterTool.h"
6 
7 #include <algorithm>
8 
9 //**********************************************************************
10 
11 namespace {
12 
13 // selection functor
14 struct JetPtFilter {
15  JetPtFilter(double pt) : m_ptcut(pt) {}
16  bool operator()(const xAOD::Jet* j1){ return j1->pt() < m_ptcut;}
17  double m_ptcut;
18 };
19 
20 } // end unnamed namespace
21 
22 //**********************************************************************
23 
24 JetFilterTool::JetFilterTool(const std::string& n)
25 : asg::AsgTool(n) ,m_ptMin(10000) {
26  declareProperty("PtMin", m_ptMin);
27 }
28 
29 //**********************************************************************
30 
32  ATH_MSG_DEBUG(" Filtering at : " << m_ptMin );
33 
34  xAOD::JetContainer::iterator itB = jets.begin();
36  xAOD::JetContainer::iterator lastFiltered=std::remove_if(itB, itE, JetPtFilter(m_ptMin) );
37 
38  jets.erase( lastFiltered, itE );
39 
40  return StatusCode::SUCCESS;
41 }
42 
43 //**********************************************************************
44 
AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
asg
Definition: DataHandleTestTool.h:28
test_pyathena.pt
pt
Definition: test_pyathena.py:11
JetFilterTool::modify
StatusCode modify(xAOD::JetContainer &jets) const
Method to modify a jet collection.
Definition: JetFilterTool.cxx:31
TruthTest.itE
itE
Definition: TruthTest.py:25
doubleTestComp.j1
j1
Definition: doubleTestComp.py:21
DataModel_detail::iterator
(Non-const) Iterator class for DataVector/DataList.
Definition: DVLIterator.h:184
beamspotman.n
n
Definition: beamspotman.py:731
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
JetFilterTool::JetFilterTool
JetFilterTool(const std::string &t)
Definition: JetFilterTool.cxx:24
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
JetFilterTool::m_ptMin
double m_ptMin
Definition: JetFilterTool.h:33
xAOD::Jet_v1
Class describing a jet.
Definition: Jet_v1.h:57
defineDB.jets
list jets
Definition: JetTagCalibration/share/defineDB.py:24
JetFilterTool.h