ATLAS Offline Software
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 
12 #include "xAODMuon/MuonContainer.h"
13 
14 namespace DerivationFramework{
16 public:
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 
23 private:
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
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
SG::WriteDecorHandleKey
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
Definition: StoreGate/StoreGate/WriteDecorHandleKey.h:89
DerivationFramework::MuonTPExtrapolationAlg::extrapolateToTriggerPivotPlane
std::unique_ptr< Trk::TrackParameters > extrapolateToTriggerPivotPlane(const EventContext &ctx, const xAOD::TrackParticle &track) const
run the extrapolation - only available in full athena
Definition: MuonTPExtrapolationAlg.cxx:97
DerivationFramework::MuonTPExtrapolationAlg
Definition: MuonTPExtrapolationAlg.h:15
DerivationFramework::MuonTPExtrapolationAlg::m_barrelPivotPlaneHalfLength
Gaudi::Property< float > m_barrelPivotPlaneHalfLength
Definition: MuonTPExtrapolationAlg.h:38
SG::HandleKeyArray
Definition: StoreGate/StoreGate/HandleKeyArray.h:38
IExtrapolator.h
DerivationFramework::MuonTPExtrapolationAlg::m_extrapolator
ToolHandle< Trk::IExtrapolator > m_extrapolator
Definition: MuonTPExtrapolationAlg.h:30
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
DerivationFramework::MuonTPExtrapolationAlg::m_endcapPivotPlaneMaximumRadius
Gaudi::Property< float > m_endcapPivotPlaneMaximumRadius
Definition: MuonTPExtrapolationAlg.h:35
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
WriteDecorHandleKey.h
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
DerivationFramework::MuonTPExtrapolationAlg::m_barrelPivotPlaneRadius
Gaudi::Property< float > m_barrelPivotPlaneRadius
Definition: MuonTPExtrapolationAlg.h:37
DerivationFramework::MuonTPExtrapolationAlg::m_partKey
SG::ReadHandleKey< xAOD::IParticleContainer > m_partKey
Particle container to decorate the Pivot plane coordinates to.
Definition: MuonTPExtrapolationAlg.h:42
DerivationFramework
THE reconstruction tool.
Definition: ParticleSortingAlg.h:24
AthReentrantAlgorithm.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
DerivationFramework::MuonTPExtrapolationAlg::~MuonTPExtrapolationAlg
virtual ~MuonTPExtrapolationAlg()=default
MuonContainer.h
DerivationFramework::MuonTPExtrapolationAlg::m_extStatKey
SG::WriteDecorHandleKey< xAOD::IParticleContainer > m_extStatKey
Definition: MuonTPExtrapolationAlg.h:46
DerivationFramework::MuonTPExtrapolationAlg::m_extEtaKey
SG::WriteDecorHandleKey< xAOD::IParticleContainer > m_extEtaKey
Definition: MuonTPExtrapolationAlg.h:44
DerivationFramework::MuonTPExtrapolationAlg::MuonTPExtrapolationAlg
MuonTPExtrapolationAlg(const std::string &name, ISvcLocator *pSvcLocator)
Definition: MuonTPExtrapolationAlg.cxx:23
DerivationFramework::MuonTPExtrapolationAlg::m_trkSelDecors
Gaudi::Property< std::vector< std::string > > m_trkSelDecors
Definition: MuonTPExtrapolationAlg.h:52
DerivationFramework::MuonTPExtrapolationAlg::m_trkSelKeys
SG::ReadDecorHandleKeyArray< xAOD::IParticleContainer > m_trkSelKeys
Definition: MuonTPExtrapolationAlg.h:55
DerivationFramework::MuonTPExtrapolationAlg::m_extPhiKey
SG::WriteDecorHandleKey< xAOD::IParticleContainer > m_extPhiKey
Definition: MuonTPExtrapolationAlg.h:45
DerivationFramework::MuonTPExtrapolationAlg::m_endcapPivotPlaneZ
Gaudi::Property< float > m_endcapPivotPlaneZ
Definition: MuonTPExtrapolationAlg.h:32
DerivationFramework::MuonTPExtrapolationAlg::m_endcapPivotPlaneMinimumRadius
Gaudi::Property< float > m_endcapPivotPlaneMinimumRadius
Definition: MuonTPExtrapolationAlg.h:33
DerivationFramework::MuonTPExtrapolationAlg::initialize
virtual StatusCode initialize() override
Definition: MuonTPExtrapolationAlg.cxx:26
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition: TrackParticle_v1.h:43
DerivationFramework::MuonTPExtrapolationAlg::m_ptMin
Gaudi::Property< float > m_ptMin
Optional list of decorators to select only the good tracks for the isolation decoration.
Definition: MuonTPExtrapolationAlg.h:50
DerivationFramework::MuonTPExtrapolationAlg::execute
virtual StatusCode execute(const EventContext &ctx) const override
Definition: MuonTPExtrapolationAlg.cxx:40
GeV
#define GeV
Definition: CaloTransverseBalanceVecMon.cxx:30
ReadDecorHandleKeyArray.h