ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
graphics
VP1
VP1TrkAuxAlgs
src
VP1TrkInitializer.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
VP1TrkAuxAlgs/VP1TrkInitializer.h
"
6
#include "
VP1Base/VP1QtUtils.h
"
7
#include "
VP1Utils/VP1ToolAccessHelper.h
"
8
#include "
VP1Utils/VP1AvailableToolsHelper.h
"
9
10
#include "GaudiKernel/IToolSvc.h"
11
12
#include "
TrkExInterfaces/IExtrapolator.h
"
13
#include "
TrkFitterInterfaces/ITrackFitter.h
"
14
#include <QtCoreVersion>
15
16
//____________________________________________________________________
17
VP1TrkInitializer::VP1TrkInitializer
(
const
std::string& name, ISvcLocator* svcLocator):
18
AthAlgorithm
(name, svcLocator)
19
{
20
// Tool initialization
21
declareProperty
(
"ForceExtrapolatorTools"
,
m_forceExtrapolatorTools
=
false
);
22
declareProperty
(
"ForceFitterTools"
,
m_forceFitterTools
=
false
);
23
}
24
25
//____________________________________________________________________
26
VP1TrkInitializer::~VP1TrkInitializer
()
27
{
28
}
29
30
//____________________________________________________________________
31
StatusCode
VP1TrkInitializer::initialize
()
32
{
33
msg
(MSG::INFO) <<
" in initialize() "
<<
endmsg
;
34
35
// Initialize tools (if needed)
36
if
(
m_forceExtrapolatorTools
) {
37
QStringList tooltypes;
38
tooltypes <<
"Trk::Extrapolator"
;
39
initTools<Trk::IExtrapolator>
(tooltypes,QString(
"VP1_JOBCFG_EXTRA_VP1_EXTRAPOLATORS"
));
40
}
41
42
if
(
m_forceFitterTools
) {
43
QStringList tooltypes;
44
tooltypes <<
"Trk::KalmanFitter"
45
<<
"Trk::GlobalChi2Fitter"
46
<<
"Trk::GaussianSumFilter"
47
<<
"Trk::DistributedKalmanFilter"
48
<<
"Trk::DeterministicAnnealingFilter"
;
49
initTools<Trk::ITrackFitter>
(tooltypes,QString(
"VP1_JOBCFG_EXTRA_VP1_FITTERS"
));
50
}
51
52
return
StatusCode::SUCCESS;
53
}
54
55
//____________________________________________________________________
56
StatusCode
VP1TrkInitializer::execute
(
const
EventContext&
/*ctx*/
)
57
{
58
msg
(MSG::DEBUG) <<
" in execute() "
<<
endmsg
;
59
return
StatusCode::SUCCESS;
60
}
61
62
//____________________________________________________________________
63
StatusCode
VP1TrkInitializer::finalize
()
64
{
65
msg
(MSG::INFO) <<
" in finalize() "
<<
endmsg
;
66
return
StatusCode::SUCCESS;
67
}
68
69
// Private method
70
template
<
typename
T>
71
void
VP1TrkInitializer::initTools
(QStringList& toolTypes, QString env)
72
{
73
VP1ToolAccessHelper
toolAccessHelper(toolSvc());
74
VP1AvailableToolsHelper
availTools(toolSvc());
75
availTools.
addMonitoredTypes
(toolTypes);
76
QStringList existingTools = availTools.
availableTools
();
77
78
#if QTCORE_VERSION >= 0x050E00
79
for
(
const
QString& key :
VP1QtUtils::environmentVariableValue
(env).
split
(
';'
,Qt::SkipEmptyParts))
80
#else
81
for
(
const
QString& key :
VP1QtUtils::environmentVariableValue
(env).
split
(
';'
,QString::SkipEmptyParts))
82
#endif
83
{
84
if
(existingTools.contains(key))
85
continue
;
86
msg
(MSG::DEBUG) <<
"Attempting creation of fittertool with tooltype/key "
<< key.toStdString() <<
endmsg
;
87
T* tool = toolAccessHelper.
getToolPointer
<T>(key,
false
/*silent*/
,
true
/*create if not exists*/
);
88
if
(!tool) {
89
msg
(MSG::WARNING) <<
"Could not create tool with type/key "
<< key.toStdString() <<
endmsg
;
90
}
91
}
92
}
endmsg
#define endmsg
Definition
AnalysisConfig_Ntuple.cxx:54
IExtrapolator.h
ITrackFitter.h
VP1AvailableToolsHelper.h
VP1QtUtils.h
VP1ToolAccessHelper.h
VP1TrkInitializer.h
AthAlgorithm::AthAlgorithm
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Definition
AthAlgorithm.cxx:10
AthCommonAlgorithm< Gaudi::Algorithm >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
Definition
AthCommonDataStore.h:145
AthCommonAlgorithm< Gaudi::Algorithm >::msg
MsgStream & msg() const
Definition
AthCommonMsg.h:24
VP1AvailableToolsHelper
Definition
VP1AvailableToolsHelper.h:30
VP1AvailableToolsHelper::availableTools
QStringList availableTools() const
Definition
VP1AvailableToolsHelper.cxx:239
VP1AvailableToolsHelper::addMonitoredTypes
void addMonitoredTypes(const QStringList &, const QStringList &ignoreList=QStringList())
Definition
VP1AvailableToolsHelper.cxx:112
VP1QtUtils::environmentVariableValue
static QString environmentVariableValue(const QString &name)
Definition
VP1QtUtils.cxx:117
VP1ToolAccessHelper
Definition
VP1ToolAccessHelper.h:29
VP1ToolAccessHelper::getToolPointer
toolT * getToolPointer(const QString &toolname, bool silent=false, bool createIfNotExists=false)
VP1TrkInitializer::finalize
StatusCode finalize()
Definition
VP1TrkInitializer.cxx:63
VP1TrkInitializer::initTools
void initTools(QStringList &toolTypes, QString env)
Definition
VP1TrkInitializer.cxx:71
VP1TrkInitializer::m_forceExtrapolatorTools
bool m_forceExtrapolatorTools
Definition
VP1TrkInitializer.h:40
VP1TrkInitializer::execute
StatusCode execute(const EventContext &ctx)
Execute method.
Definition
VP1TrkInitializer.cxx:56
VP1TrkInitializer::VP1TrkInitializer
VP1TrkInitializer(const std::string &name, ISvcLocator *pSvcLocator)
Definition
VP1TrkInitializer.cxx:17
VP1TrkInitializer::initialize
StatusCode initialize()
Definition
VP1TrkInitializer.cxx:31
VP1TrkInitializer::m_forceFitterTools
bool m_forceFitterTools
Definition
VP1TrkInitializer.h:41
VP1TrkInitializer::~VP1TrkInitializer
~VP1TrkInitializer()
Definition
VP1TrkInitializer.cxx:26
split
std::vector< std::string > split(const std::string &s, const std::string &t=":")
Definition
hcg.cxx:179
Generated on
for ATLAS Offline Software by
1.17.0