|
ATLAS Offline Software
|
Go to the documentation of this file.
31 return StatusCode::SUCCESS;
36 if (!muons.isValid()) {
38 return StatusCode::FAILURE;
44 UintDecorator dec_id{
m_idKey,ctx};
48 std::vector<RpcInfo> timing_info{};
49 getRpcTiming(
tp !=
mu->trackParticle(xAOD::Muon::InnerDetectorTrackParticle)?
tp :
nullptr, timing_info);
53 insert<float>(timing_info,
mu, dec_time, [](
const RpcInfo&
info){
return info.time; });
54 insert<unsigned int>(timing_info,
mu, dec_id, [](
const RpcInfo&
info){
return info.id; });
56 return StatusCode::SUCCESS;
59 if (!
tp || !
tp->track() || !
tp->track()->trackStateOnSurfaces())
return;
67 if (!meas || !
pars)
continue;
88 std::function<
T(
const RpcInfo&)> func)
const {
91 std::for_each(
info.begin(),
info.end(),[&](
const RpcInfo& rpc){data.emplace_back(func(rpc));});
char data[hepevt_bytes_allocation_ATLAS]
virtual const Amg::Vector3D & globalPosition() const override
Returns global position.
virtual StatusCode execute(const EventContext &ctx) const override
Identifier32 get_identifier32() const
Get the 32-bit version Identifier, will be invalid if >32 bits needed.
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_posZKey
Class to represent calibrated clusters formed from RPC strips.
ServiceHandle< Muon::IMuonEDMHelperSvc > m_edmHelperSvc
value_type get_compact() const
Get the compact id.
An algorithm that can be simultaneously executed in multiple threads.
MuonRpcTimingDecorAlg(const std::string &name, ISvcLocator *pSvcLocator)
::StatusCode StatusCode
StatusCode definition for legacy code.
Handle class for adding a decoration to an object.
void getRpcTiming(const xAOD::TrackParticle *tp, std::vector< RpcInfo > &info) const
virtual StatusCode initialize() override
void insert(const std::vector< RpcInfo > &info, const xAOD::Muon *muon, SG::WriteDecorHandle< xAOD::MuonContainer, std::vector< T >> &decor, std::function< T(const RpcInfo &)>func) const
unsigned int numberOfContainedROTs() const
Number of RIO_OnTracks to be contained by this CompetingRIOsOnTrack.
represents the track state (measurement, material, fit parameters and quality) at a surface.
float time() const
Return the time (ns)
SG::ReadHandleKey< xAOD::MuonContainer > m_MuonContainer
const MuonClusterOnTrack & rioOnTrack(unsigned int) const
returns the RIO_OnTrack (also known as ROT) objects depending on the integer
Identifier identify() const
return the identifier -extends MeasurementBase
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_timeKey
Class describing a TrackParticle.
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_idKey
Handle class for reading from StoreGate.
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_posYKey
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_posXKey