ATLAS Offline Software
Loading...
Searching...
No Matches
MuonTPExtrapolationAlg.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3*/
4#ifndef MuonTPExtrapolationAlg_H
5#define MuonTPExtrapolationAlg_H
6
13
14namespace DerivationFramework{
16public:
17 MuonTPExtrapolationAlg(const std::string& name, ISvcLocator* pSvcLocator);
18 virtual ~MuonTPExtrapolationAlg() = default;
19
20 virtual StatusCode initialize() override;
21 virtual StatusCode execute(const EventContext& ctx) const override;
22
23private:
25 std::unique_ptr<Trk::TrackParameters> extrapolateToTriggerPivotPlane(const EventContext& ctx,
26 const xAOD::TrackParticle& track) const;
27
28 // these define the surfaces that we extrapolate to.
29 // We approximate the pivot plane in the form of a cylinder surface and two disks
30 ToolHandle<Trk::IExtrapolator> m_extrapolator{this, "Extrapolator", ""};
31
32 Gaudi::Property<float> m_endcapPivotPlaneZ{this, "EndcapPivotPlaneZ", 15525., "z position of pivot plane in endcap region"};
33 Gaudi::Property<float> m_endcapPivotPlaneMinimumRadius{this, "EndcapPivotPlaneMinimumRadius", 0.,
34 "minimum radius of pivot plane in endcap region"};
35 Gaudi::Property<float> m_endcapPivotPlaneMaximumRadius{this, "EndcapPivotPlaneMaximumRadius", 11977.,
36 "maximum radius of pivot plane in endcap region"};
37 Gaudi::Property<float> m_barrelPivotPlaneRadius{this, "BarrelPivotPlaneRadius", 8000., "adius of pivot plane in barrel region"};
38 Gaudi::Property<float> m_barrelPivotPlaneHalfLength{this, "BarrelPivotPlaneHalfLength", 9700,
39 "half length of pivot plane in barrel region"};
40
42 SG::ReadHandleKey<xAOD::IParticleContainer> m_partKey{this, "ContainerKey", "RandomParticle"};
43
44 SG::WriteDecorHandleKey<xAOD::IParticleContainer> m_extEtaKey{this, "Key_ExtrTP_Eta", m_partKey, "EtaTriggerPivot"};
45 SG::WriteDecorHandleKey<xAOD::IParticleContainer> m_extPhiKey{this, "Key_ExtrTP_Phi", m_partKey, "PhiTriggerPivot"};
46 SG::WriteDecorHandleKey<xAOD::IParticleContainer> m_extStatKey{this, "Key_ExtrTP_Status", m_partKey, "DecoratedPivotEtaPhi"};
47
50 Gaudi::Property<float> m_ptMin{this, "PtMin", 2.5 * Gaudi::Units::GeV,
51 "Minimal track pt required to decorate the ID track"};
52 Gaudi::Property<std::vector<std::string>> m_trkSelDecors{this, "TrackSelections", {},
53 "List of decorator names of which one needs to be true to run the isolation" };
54
55 SG::ReadDecorHandleKeyArray<xAOD::IParticleContainer> m_trkSelKeys{this, "SelectionKeys", {}, "Will be overwritten in initialize"};
56
57
58};
59}
60#endif
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 &ctx) const override
ToolHandle< Trk::IExtrapolator > m_extrapolator
SG::WriteDecorHandleKey< xAOD::IParticleContainer > m_extPhiKey
Gaudi::Property< std::vector< std::string > > m_trkSelDecors
Gaudi::Property< float > m_ptMin
Optional list of decorators to select only the good tracks for the isolation decoration.
MuonTPExtrapolationAlg(const std::string &name, ISvcLocator *pSvcLocator)
SG::ReadHandleKey< xAOD::IParticleContainer > m_partKey
Particle container to decorate the Pivot plane coordinates to.
SG::WriteDecorHandleKey< xAOD::IParticleContainer > m_extEtaKey
SG::ReadDecorHandleKeyArray< xAOD::IParticleContainer > m_trkSelKeys
SG::WriteDecorHandleKey< xAOD::IParticleContainer > m_extStatKey
std::unique_ptr< Trk::TrackParameters > extrapolateToTriggerPivotPlane(const EventContext &ctx, const xAOD::TrackParticle &track) const
run the extrapolation - only available in full athena
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.
THE reconstruction tool.
DecorHandleKeyArray< ReadDecorHandle< T, S >, ReadDecorHandleKey< T >, Gaudi::DataHandle::Reader > ReadDecorHandleKeyArray
TrackParticle_v1 TrackParticle
Reference the current persistent version: