ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigMonitoring
TrigIDR4Monitoring
src
AnalysisR4.cxx
Go to the documentation of this file.
1
11
12
13
14
#include "
AnalysisR4.h
"
15
16
#include "
TrigInDetAnalysisExample/ChainString.h
"
17
#include "
TrackView.h
"
18
19
#include "
Tier0.h
"
20
#include "
Resolutions.h
"
21
#include "
Efficiencies.h
"
22
#include "
VertexPlots.h
"
23
#include "
TrackParameters.h
"
24
#include "
SiHitPlots.h
"
25
#include "
TRTPlots.h
"
26
27
#include <cmath>
28
#include <iostream>
29
30
31
IDTPM2::AnalysisR4::AnalysisR4
(
const
std::string&
name
)
32
:
m_name
(
name
),
m_monTool
(0)
33
{
35
registerCreator
(
"Tier0"
, &
IPlotBase::create<Tier0>
);
36
registerCreator
(
"Vertices"
, &
IPlotBase::create<VertexPlots>
);
37
registerCreator
(
"Resolutions"
, &
IPlotBase::create<Resolutions>
);
38
registerCreator
(
"Efficiencies"
, &
IPlotBase::create<Efficiencies>
);
39
registerCreator
(
"TrackParameters"
, &
IPlotBase::create<TrackParameters>
);
40
registerCreator
(
"SiHits"
, &
IPlotBase::create<SiHitPlots>
);
41
registerCreator
(
"TRTHits"
, &
IPlotBase::create<TRTPlots>
);
42
}
43
44
45
46
void
IDTPM2::AnalysisR4::initialise
() {
47
48
if
( !
monTool
() )
throw
std::runtime_error(
"AnalysisR4:initialize() monTool not found"
);
49
55
// m_tools.emplace_back( create( "Tier0" ) );
56
// m_tools.emplace_back( create( "Resolutions" ) );
57
// m_tools.emplace_back( create( "Efficiencies" ) );
58
// ...
59
61
for
(
size_t
i=
m_tools
.size() ; i-- ; )
m_tools
[i]->initialize();
62
63
}
64
65
66
67
void
IDTPM2::AnalysisR4::execute
(
TrackAnalysisStore
& collections )
const
{
68
// if ( m_tools.empty() ) throw std::runtime_error( "AnalysisR4::execute() cowardly: won't run analysis with no output" );
69
for
(
size_t
i=
m_tools
.size() ; i-- ; )
m_tools
[i]->execute( collections );
70
}
71
72
73
74
void
IDTPM2::AnalysisR4::finalize
() {
75
for
(
size_t
i=
m_tools
.size() ; i-- ; )
m_tools
[i]->finalize();
76
}
77
78
79
80
81
82
83
AnalysisR4.h
ChainString.h
Resolutions.h
emacs: this is -*- c++ -*-
SiHitPlots.h
TRTPlots.h
Tier0.h
TrackView.h
Efficiencies.h
emacs: this is -*- c++ -*-
TrackParameters.h
emacs: this is -*- c++ -*-
VertexPlots.h
emacs: this is -*- c++ -*-
IDTPM2::AnalysisR4::AnalysisR4
AnalysisR4(const std::string &name)
Definition
AnalysisR4.cxx:31
IDTPM2::AnalysisR4::m_monTool
ToolHandle< GenericMonitoringTool > * m_monTool
the parent montool
Definition
AnalysisR4.h:91
IDTPM2::AnalysisR4::m_tools
std::vector< std::unique_ptr< IPlotBase > > m_tools
the tool children
Definition
AnalysisR4.h:94
IDTPM2::AnalysisR4::registerCreator
void registerCreator(const std::string &key, FactoryFn builder)
do we want this to be public ??
Definition
AnalysisR4.h:73
IDTPM2::AnalysisR4::initialise
void initialise()
Definition
AnalysisR4.cxx:46
IDTPM2::AnalysisR4::m_name
std::string m_name
Definition
AnalysisR4.h:88
IDTPM2::AnalysisR4::monTool
ToolHandle< GenericMonitoringTool > * monTool()
Definition
AnalysisR4.h:49
IDTPM2::AnalysisR4::name
const std::string & name() const
Definition
AnalysisR4.h:45
IDTPM2::AnalysisR4::finalize
void finalize()
Definition
AnalysisR4.cxx:74
IDTPM2::AnalysisR4::execute
void execute(TrackAnalysisStore &collections) const
Definition
AnalysisR4.cxx:67
IDTPM2::IPlotBase::create
static std::unique_ptr< IPlotBase > create(const std::string &name, ToolHandle< GenericMonitoringTool > *m)
factory creation mathod
Definition
IPlotBase.h:50
IDTPM2::TrackAnalysisStore
Definition
TrackAnalysisStore.h:78
Generated on
for ATLAS Offline Software by
1.17.0