ATLAS Offline Software
Loading...
Searching...
No Matches
JetHitAssociationAlg.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef JET_HIT_ASSOCIATION_ALG_HH
6#define JET_HIT_ASSOCIATION_ALG_HH
7
8
9
10
11// FrameWork includes
13
14// Containers
17
18// Read and write handles
22
23// Element links
24#include "AthLinks/ElementLink.h"
25// STL includes
26#include <string>
27#include <utility> //std::pair
28#include <vector>
29
30
31namespace FlavorTagDiscriminants {
32
34
35 public:
36 JetHitAssociationAlg(const std::string& name,
37 ISvcLocator* pSvcLocator);
38
39 virtual StatusCode initialize() override;
40 virtual StatusCode execute(const EventContext&) const override;
41
42
43 private:
44 // Particle container
46 this, "jetContainer", "tempEmtopoJets", "Key for particle collection"};
47
49 this, "hitAssociation", m_jetCollectionKey, "hitsAssociatedWithJet", "Key for decorating hit links"};
50
51
52 // Hits input
54 this, "hitContainer", "PixelClusters", "Key for input hits"};
55
57 this, "hitReaderX", m_inputHitCollectionKey, "HitsXRelToBeamspot", "Key for hits x coordinate relative to vertex"};
58
60 this, "hitReaderY", m_inputHitCollectionKey, "HitsYRelToBeamspot", "Key for hits x coordinate relative to vertex"};
61
63 this, "hitReaderZ", m_inputHitCollectionKey, "HitsZRelToBeamspot", "Key for hits x coordinate relative to vertex"};
64
65
66 // Jet-Hit association configuration
67 Gaudi::Property<float> m_dPhiHitToJet {
68 this, "dphiHitToJet", 0.2, "Phi difference between the hit and jet/RoiDescriptor vertex; -1 to disable if using jets selection"};
69
70 Gaudi::Property<float> m_dEtaHitToVertex {
71 this, "detaHitToJet", 0.2, "Eta difference between the hit and the RoiDescriptor vertex, if using a wedge selection"};
72
73 Gaudi::Property<float> m_dZHitToVertex {
74 this, "dzHitToVertex", 180, "Z difference between the hit and the RoiDescriptor vertex, if using a wedge selection"};
75
76 Gaudi::Property<bool> m_useWedgeSelection {
77 this, "useWedgeSelection", false, "Use an RoIDescriptor wedge selection"};
78
79 Gaudi::Property<bool> m_includeBarrel {
80 this, "includeBarrelHits", true, "Include barrel hits"};
81
82 Gaudi::Property<bool> m_includeEndcap {
83 this, "includeEndcapHits", true, "Include endcap hits"};
84
85 Gaudi::Property<int> m_maxHits {
86 this, "maxHits", 200, "Maximum number of total hits"};
87
88 Gaudi::Property<bool> m_removeBadIDPixelHits{
89 this, "removeBadIDPixelHits", false, "Flag for removing bad ID Pixel hits (only valid if running over the ID PixelClusters collection)"};
90
91
92 // Helper methods
93 const std::vector<std::pair<float, const xAOD::TrackMeasurementValidation*>>
95 const std::vector<std::pair<TLorentzVector, const xAOD::TrackMeasurementValidation*>>& hits) const;
96
98 };
99
100}
101
102#endif
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
An algorithm that can be simultaneously executed in multiple threads.
virtual StatusCode execute(const EventContext &) const override
bool isGoodIDPixelHit(const xAOD::TrackMeasurementValidation *hit) const
SG::ReadDecorHandleKey< xAOD::TrackMeasurementValidationContainer > m_hitsYRelToVertexKey
SG::ReadHandleKey< xAOD::TrackMeasurementValidationContainer > m_inputHitCollectionKey
SG::ReadHandleKey< xAOD::IParticleContainer > m_jetCollectionKey
JetHitAssociationAlg(const std::string &name, ISvcLocator *pSvcLocator)
SG::ReadDecorHandleKey< xAOD::TrackMeasurementValidationContainer > m_hitsXRelToVertexKey
const std::vector< std::pair< float, const xAOD::TrackMeasurementValidation * > > getJetHits(const xAOD::IParticle *jet, const std::vector< std::pair< TLorentzVector, const xAOD::TrackMeasurementValidation * > > &hits) const
SG::WriteDecorHandleKey< xAOD::IParticleContainer > m_hitAssociationKey
SG::ReadDecorHandleKey< xAOD::TrackMeasurementValidationContainer > m_hitsZRelToVertexKey
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
Class providing the definition of the 4-vector interface.
TrackMeasurementValidation_v1 TrackMeasurementValidation
Reference the current persistent version: