#include <TagAndProbeTrackParticleThinning.h>
◆ TagAndProbeTrackParticleThinning()
DerivationFramework::TagAndProbeTrackParticleThinning::TagAndProbeTrackParticleThinning |
( |
const std::string & |
t, |
|
|
const std::string & |
n, |
|
|
const IInterface * |
p |
|
) |
| |
◆ ~TagAndProbeTrackParticleThinning()
virtual DerivationFramework::TagAndProbeTrackParticleThinning::~TagAndProbeTrackParticleThinning |
( |
| ) |
|
|
virtualdefault |
◆ doThinning()
StatusCode DerivationFramework::TagAndProbeTrackParticleThinning::doThinning |
( |
| ) |
const |
|
overridevirtual |
Definition at line 44 of file TagAndProbeTrackParticleThinning.cxx.
47 const EventContext& ctx = Gaudi::Hive::currentContext();
54 size_t nTracks = importedTrackParticles->size();
55 if (nTracks==0)
return StatusCode::SUCCESS;
58 std::vector<bool>
mask;
59 mask.assign(nTracks,
false);
61 std::lock_guard<std::mutex> lock(
m_mutex);
68 entries = m_parser->evaluateAsVector();
72 ATH_MSG_ERROR(
"Sizes incompatible! Are you sure your selection string used ID TrackParticles?");
73 return StatusCode::FAILURE;
86 for(
const auto* vtx : *primaryVertices ) {
93 if( !priVtx )
return StatusCode::SUCCESS;
100 for (
size_t i=0;
i<nTracks; ++
i) {
102 const auto* trk = importedTrackParticles->at(
i);
110 if( std::abs( trk->z0() - priVtx->
z() + trk->vz() ) >
m_z0Cut ) {
115 for (
const auto muon : *muons) {
116 const auto* muon_trk =
muon->trackParticle(xAOD::Muon::InnerDetectorTrackParticle);
119 if( muon_trk == trk)
continue;
130 assert( importedTrackParticles->size() ==
mask.size() );
133 importedTrackParticles.keep (
mask);
135 return StatusCode::SUCCESS;
◆ finalize()
StatusCode DerivationFramework::TagAndProbeTrackParticleThinning::finalize |
( |
| ) |
|
|
overridevirtual |
◆ initialize()
StatusCode DerivationFramework::TagAndProbeTrackParticleThinning::initialize |
( |
| ) |
|
|
overridevirtual |
◆ m_d0SignifCut
DoubleProperty DerivationFramework::TagAndProbeTrackParticleThinning::m_d0SignifCut |
|
private |
◆ m_inDetParticlesKey
◆ m_massCut
DoubleProperty DerivationFramework::TagAndProbeTrackParticleThinning::m_massCut |
|
private |
◆ m_muonContainerKey
◆ m_mutex
std::mutex DerivationFramework::TagAndProbeTrackParticleThinning::m_mutex |
|
mutableprivate |
◆ m_npass
std::atomic<unsigned int> DerivationFramework::TagAndProbeTrackParticleThinning::m_npass {0} |
|
private |
◆ m_ntot
std::atomic<unsigned int> DerivationFramework::TagAndProbeTrackParticleThinning::m_ntot {0} |
|
mutableprivate |
◆ m_selectionString
StringProperty DerivationFramework::TagAndProbeTrackParticleThinning::m_selectionString |
|
private |
◆ m_streamName
StringProperty DerivationFramework::TagAndProbeTrackParticleThinning::m_streamName |
|
private |
◆ m_vertexContainerKey
◆ m_z0Cut
DoubleProperty DerivationFramework::TagAndProbeTrackParticleThinning::m_z0Cut |
|
private |
The documentation for this class was generated from the following files:
std::atomic< unsigned int > m_npass
SG::ThinningHandleKey< xAOD::TrackParticleContainer > m_inDetParticlesKey
SG::ReadHandleKey< xAOD::MuonContainer > m_muonContainerKey
SG::ReadHandleKey< xAOD::VertexContainer > m_vertexContainerKey
std::atomic< unsigned int > m_ntot