#include <BPhysPVThinningTool.h>
Definition at line 23 of file BPhysPVThinningTool.h.
◆ BPhysPVThinningTool()
DerivationFramework::BPhysPVThinningTool::BPhysPVThinningTool |
( |
const std::string & |
t, |
|
|
const std::string & |
n, |
|
|
const IInterface * |
p |
|
) |
| |
◆ ~BPhysPVThinningTool()
DerivationFramework::BPhysPVThinningTool::~BPhysPVThinningTool |
( |
| ) |
|
◆ doThinning()
StatusCode DerivationFramework::BPhysPVThinningTool::doThinning |
( |
| ) |
const |
|
overridevirtual |
Check that the current event passes this filter.
Definition at line 64 of file BPhysPVThinningTool.cxx.
66 const EventContext& ctx = Gaudi::Hive::currentContext();
69 if(!PV_col.isValid()) {
70 ATH_MSG_ERROR (
"Couldn't retrieve VertexContainer with key PrimaryVertices");
71 return StatusCode::FAILURE;
75 std::vector<bool>
mask(PV_col->size(),
false);
78 BPhysHelper::PV_MIN_A0,
79 BPhysHelper::PV_MIN_Z0,
80 BPhysHelper::PV_MIN_Z0_BA};
87 size_t s = Container->size();
88 for(
size_t i = 0;
i<
s;
i++) {
91 for(
size_t i =0;
i < 4;
i++) {
93 if(origPv==
nullptr)
continue;
94 auto pvit =
std::find (PV_col->begin(), PV_col->end(), origPv);
95 if(pvit == PV_col->end()) {
110 std::vector<bool> trackmask(importedTrackParticles->size(),
false);
111 size_t pvnum =
mask.size();
112 for(
size_t i =0;
i<pvnum;
i++){
113 if(
mask[
i] ==
false)
continue;
114 auto vtx = PV_col->at(
i);
115 size_t s = vtx->nTrackParticles();
116 for(
size_t j=0;j<
s;j++){
117 auto trackit =
std::find(importedTrackParticles->begin(), importedTrackParticles->end(), vtx->trackParticle(j));
118 if(trackit == importedTrackParticles->end()){
122 size_t x =
std::distance(importedTrackParticles->begin(), trackit);
123 trackmask.at(
x) =
true;
126 importedTrackParticles.keep(trackmask);
131 return StatusCode::SUCCESS;
◆ finalize()
StatusCode DerivationFramework::BPhysPVThinningTool::finalize |
( |
| ) |
|
|
overridevirtual |
◆ initialize()
StatusCode DerivationFramework::BPhysPVThinningTool::initialize |
( |
| ) |
|
|
overridevirtual |
◆ m_BPhyCandList
◆ m_keepTracks
bool DerivationFramework::BPhysPVThinningTool::m_keepTracks |
|
private |
◆ m_npass
std::atomic<unsigned int> DerivationFramework::BPhysPVThinningTool::m_npass |
|
mutableprivate |
◆ m_ntot
std::atomic<unsigned int> DerivationFramework::BPhysPVThinningTool::m_ntot |
|
mutableprivate |
◆ m_PVContainerName
◆ m_streamName
StringProperty DerivationFramework::BPhysPVThinningTool::m_streamName { this, "StreamName", "", "Name of the stream being thinned" } |
|
private |
◆ m_TrackContainerName
◆ m_tracks_kept
std::atomic<unsigned int> DerivationFramework::BPhysPVThinningTool::m_tracks_kept |
|
mutableprivate |
The documentation for this class was generated from the following files: