9#include "GaudiKernel/IToolSvc.h"
10#include "GaudiKernel/StatusCode.h"
41 return StatusCode::FAILURE;
49 return StatusCode::SUCCESS;
62 std::unique_ptr<TrigRoiDescriptorCollection> roiCollection = std::make_unique<TrigRoiDescriptorCollection>();
73 ATH_MSG_ERROR(
"No track container found, the Track RoI updater should not be scheduled");
74 return StatusCode::FAILURE;
76 ATH_MSG_DEBUG(
"Found " << foundTracks->
size() <<
" FTF tracks, updating the RoI");
86 float eta = roiDescriptor->
eta();
87 float phi = roiDescriptor->
phi();
89 float zed = roiDescriptor->
zed();
90 float zedMinus = roiDescriptor->
zedMinus();
91 float zedPlus = roiDescriptor->
zedPlus();
106 float trackPt = track->pt();
107 if(trackPt > trkPtMax) {
108 uint8_t nPix{}, nPixHoles{}, nSCTHoles{}, summaryVal{};
118 ATH_MSG_DEBUG(
"Track rejected because nSiHoles " <<
static_cast<int>(nPixHoles + nSCTHoles) <<
" > " <<
m_nSiHoles);
137 zed = leadTrack->
z0() + leadTrack->
vz();
138 ATH_MSG_DEBUG(
"Track z0 " << leadTrack->
z0() <<
" vz: " << leadTrack->
vz() <<
" zed:" << zed);
152 outputRoIHandle->push_back(std::make_unique<TrigRoiDescriptor>(
154 eta, etaMinus, etaPlus,
155 phi, phiMinus, phiPlus,
156 zed, zedMinus, zedPlus
163 return StatusCode::SUCCESS;
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_VERBOSE(x)
An algorithm that can be simultaneously executed in multiple threads.
size_type size() const noexcept
Returns the number of elements in the collection.
virtual double zed() const override final
virtual double phi() const override final
Methods to retrieve data members.
virtual double zedPlus() const override final
z at the most forward end of the RoI
virtual double zedMinus() const override final
z at the most backward end of the RoI
virtual double eta() const override final
virtual bool isValid() override final
Can the handle be successfully dereferenced?
const_pointer_type get() const
Dereference the pointer, but don't cache anything.
StatusCode record(std::unique_ptr< T > data)
Record a const object to the store.
nope - should be used for standalone also, perhaps need to protect the class def bits ifndef XAOD_ANA...
virtual unsigned int roiWord() const override final
virtual unsigned int roiId() const override final
these quantities probably don't need to be used any more
virtual unsigned int l1Id() const override final
virtual StatusCode execute(const EventContext &) const override
Gaudi::Property< int > m_nSiHoles
SG::ReadHandleKey< TrigRoiDescriptorCollection > m_roIInputKey
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_tracksKey
Gaudi::Property< float > m_phiHalfWidth
SG::WriteHandleKey< TrigRoiDescriptorCollection > m_roIOutputKey
Gaudi::Property< int > m_nHitPix
Gaudi::Property< float > m_z0HalfWidth
TrigTauTrackRoiUpdater(const std::string &, ISvcLocator *)
~TrigTauTrackRoiUpdater()
Gaudi::Property< float > m_etaHalfWidth
virtual StatusCode initialize() override
float z0() const
Returns the parameter.
float vz() const
The z origin for the parameters.
virtual double eta() const override final
The pseudorapidity ( ) of the particle.
float phi0() const
Returns the parameter, which has range to .
T wrapToPi(T phi)
Wrap angle in radians to [-pi, pi].
SG::ReadCondHandle< T > makeHandle(const SG::ReadCondHandleKey< T > &key, const EventContext &ctx=Gaudi::Hive::currentContext())
TrackParticle_v1 TrackParticle
Reference the current persistent version:
TrackParticleContainer_v1 TrackParticleContainer
Definition of the current "TrackParticle container version".
@ numberOfPixelHoles
number of pixel layers on track with absence of hits [unit8_t].
@ numberOfPixelHits
these are the pixel hits, including the b-layer [unit8_t].
@ numberOfSCTHoles
number of SCT holes [unit8_t].
Helper for azimuthal angle calculations.