![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
Go to the documentation of this file.
27 return StatusCode::SUCCESS;
36 return StatusCode::FAILURE;
39 if (!inputClusters.isValid())
42 return StatusCode::FAILURE;
45 if (!inputVertices.isValid())
48 return StatusCode::FAILURE;
61 auto outputTracks = std::make_unique<ConstDataVector<xAOD::TrackParticleContainer>>(
SG::VIEW_ELEMENTS);
70 m_trkIsoTool->trackIsolation(trackIsoResult, *itrk, trackIsoTypes, trackIsoCorr, primaryVtx,
nullptr,
inputTracks.ptr());
71 float ptCone20 = trackIsoResult.
ptcones[0];
77 float rerr =
Amg::error(itrk->definingParametersCovMatrix(), 4) / fabs(itrk->qOverP());
78 float eOverP = etConeCore / itrk->pt();
79 float trackIso = ptCone20 / itrk->pt();
80 float ptsum = itrk->pt() + ptCone20;
81 float caloIso = etConeCore / ptsum;
82 float trkPtFraction = itrk->pt() / ptsum;
84 bool fakeTrack =
false;
85 bool muonTrack =
false;
92 else if (rerr > 0.1 || (eOverP > 0.1 && rerr > 0.05))
99 if (muonTrack || fakeTrack)
102 outputTracks->push_back(itrk);
104 ATH_CHECK(outputHandle.put(ctx, std::move(outputTracks)) !=
nullptr);
106 return StatusCode::SUCCESS;
ToolHandle< xAOD::ICaloTopoClusterIsolationTool > m_caloIsoTool
virtual ~PFTrackMuonIsoTaggingAlg() override
@ coreEnergy
energy stored for this correction
SG::ReadHandleKey< xAOD::CaloClusterContainer > m_inputClustersKey
Input cluster collection.
@ VIEW_ELEMENTS
this data object is a view, it does not own its elmts
DataVector adapter that acts like it holds const pointers.
@ coreTrackPtr
tracks pointer
SG::WriteHandleKey< xAOD::TrackParticleContainer > m_outputTracksKey
The output tracks, excluding those identified as muons.
Iso::IsolationTrackCorrectionBitset trackbitset
SG::ReadHandleKey< xAOD::VertexContainer > m_inputVerticesKey
Input vertex collection.
@ ptcone20
Track isolation.
Gaudi::Property< float > m_hltIsoMuonEOverP
HLT E over P selection for isolated muon tracks.
An algorithm that can be simultaneously executed in multiple threads.
SG::ReadCondHandle< T > makeHandle(const SG::ReadCondHandleKey< T > &key, const EventContext &ctx=Gaudi::Hive::currentContext())
PFTrackMuonIsoTaggingAlg(const std::string &name, ISvcLocator *pSvcLocator)
Handle class for recording to StoreGate.
Gaudi::Property< float > m_minPt
@ caloIso
Get sum of transvers energy of clusters around jet seed within 0.2 < dR < 0.4
@ etcone20
Calorimeter isolation.
::StatusCode StatusCode
StatusCode definition for legacy code.
std::map< Iso::IsolationCaloCorrection, std::map< Iso::IsolationCorrectionParameter, float > > coreCorrections
ToolHandle< xAOD::ITrackIsolationTool > m_trkIsoTool
virtual StatusCode initialize() override
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_inputTracksKey
The input track collection.
double error(const Amg::MatrixX &mat, int index)
return diagonal error of the matrix caller should ensure the matrix is symmetric and the index is in ...
@ coreCone
core energy (in dR<0.1).
Gaudi::Property< float > m_hltFakeTrkRErr
HLT fake track relative error threshold.
Gaudi::Property< float > m_hltNonIsoMuonTrkPtFraction
HLT track pt fraction for non-isolated muon tracks.
std::vector< float > ptcones
Gaudi::Property< float > m_hltTrkIsoThresh
HLT track isolation threshold.
Class describing a Vertex.
virtual StatusCode execute(const EventContext &ctx) const override
Class describing a TrackParticle.
Handle class for reading from StoreGate.
Iso::IsolationCaloCorrectionBitset calobitset