ATLAS Offline Software
PhysicsAnalysis
DerivationFramework
DerivationFrameworkMuons
DerivationFrameworkMuons
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
7
#include "
AthenaBaseComps/AthReentrantAlgorithm.h
"
8
#include "
StoreGate/ReadDecorHandleKeyArray.h
"
9
#include "
StoreGate/ReadHandleKey.h
"
10
#include "
StoreGate/WriteDecorHandleKey.h
"
11
#include "
TrkExInterfaces/IExtrapolator.h
"
12
#include "
xAODMuon/MuonContainer.h
"
13
14
namespace
DerivationFramework
{
15
class
MuonTPExtrapolationAlg
:
public
AthReentrantAlgorithm
{
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
GeV
#define GeV
Definition:
PhysicsAnalysis/TauID/TauAnalysisTools/Root/HelperFunctions.cxx:17
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:221
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
ReadDecorHandleKeyArray.h
Generated on Thu Nov 7 2024 21:22:27 for ATLAS Offline Software by
1.8.18