ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
EFTracking
FPGATrackSim
FPGATrackSimAlgorithms
src
FPGATrackSimLayerStudyAlg.h
Go to the documentation of this file.
1
// Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
2
3
#ifndef FPGATrackSim_LAYERSTUDYALG_H
4
#define FPGATrackSim_LAYERSTUDYALG_H
5
6
/*
7
* Layer study algorithm: runs data preparation and then dumps all the hits
8
* into FPGATrackSimBinning, to produce a "layer study" tree.
9
*
10
* Pulled out of the genscan/inside out pattern recognition block, to facilitate
11
* running layer studies with either the first stage or second stage hits (or both).
12
*/
13
14
#include "
AthenaBaseComps/AthAlgorithm.h
"
15
#include "GaudiKernel/ToolHandle.h"
16
#include "
FPGATrackSimMaps/FPGATrackSimSpacePointsToolI.h
"
17
#include "
FPGATrackSimBanks/IFPGATrackSimBankSvc.h
"
18
#include "
FPGATrackSimMaps/IFPGATrackSimMappingSvc.h
"
19
#include "
FPGATrackSimConfTools/IFPGATrackSimEventSelectionSvc.h
"
20
#include "
FPGATrackSimBinning/FPGATrackSimBinnedHits.h
"
21
#include "
FPGATrackSimBinning/FPGATrackSimLayerStudyTool.h
"
22
23
#include "
AthenaMonitoringKernel/Monitored.h
"
24
25
#include <fstream>
26
27
#include "
StoreGate/StoreGateSvc.h
"
28
#include "
FPGATrackSimObjects/FPGATrackSimClusterCollection.h
"
29
#include "
FPGATrackSimObjects/FPGATrackSimHitCollection.h
"
30
#include "
FPGATrackSimObjects/FPGATrackSimRoadCollection.h
"
31
#include "
FPGATrackSimObjects/FPGATrackSimTrackCollection.h
"
32
#include "
FPGATrackSimObjects/FPGATrackSimTruthTrackCollection.h
"
33
#include "
FPGATrackSimObjects/FPGATrackSimOfflineTrackCollection.h
"
34
#include "
StoreGate/WriteHandleKey.h
"
35
#include "
StoreGate/WriteHandleKeyArray.h
"
36
#include "
StoreGate/ReadHandleKey.h
"
37
#include "
StoreGate/ReadHandleKeyArray.h
"
38
39
#include "
GeneratorObjects/xAODTruthParticleLink.h
"
40
#include "
xAODTruth/TruthParticleContainer.h
"
41
42
class
FPGATrackSimCluster
;
43
class
FPGATrackSimHit
;
44
class
FPGATrackSimRoad
;
45
class
FPGATrackSimTrack
;
46
47
class
FPGATrackSimLayerStudyAlg
:
public
AthAlgorithm
48
{
49
public
:
50
FPGATrackSimLayerStudyAlg
(
const
std::string& name, ISvcLocator* pSvcLocator);
51
virtual
~FPGATrackSimLayerStudyAlg
() =
default
;
52
53
virtual
StatusCode
initialize
()
override
;
54
virtual
StatusCode
execute
(
const
EventContext& ctx)
override
;
55
virtual
StatusCode
finalize
()
override
;
56
57
private
:
58
59
std::string
m_description
;
60
61
// Handles
62
ToolHandle<FPGATrackSimBinnedHits>
m_hitBinningTool
{
this
,
"BinningTool"
,
"FPGATrackSimBinning/FPGATrackSimBinnedHits"
};
63
ToolHandle<FPGATrackSimLayerStudyTool>
m_binMonitoring
{
this
,
"BinMonitoringTool"
,
"FPGATrackSimBinning/FPGATrackSimLayerStudyTool"
};
64
65
ServiceHandle<IFPGATrackSimMappingSvc>
m_FPGATrackSimMapping
{
this
,
"FPGATrackSimMapping"
,
"FPGATrackSimMappingSvc"
,
"FPGATrackSimMappingSvc"
};
66
ServiceHandle<IFPGATrackSimEventSelectionSvc>
m_evtSel
{
this
,
"eventSelector"
,
"FPGATrackSimEventSelectionSvc"
,
"Event selection Svc"
};
67
68
// chrono service
69
ServiceHandle<IChronoStatSvc>
m_chrono
{
this
,
"ChronoStatSvc"
,
"ChronoStatSvc"
};
70
71
// Flags
72
Gaudi::Property<int>
m_stage
{
this
,
"stage"
, 0,
"0 for all hits; 1 for pmap-indicated first stage; 2 for pmap-indicated second stage"
};
73
Gaudi::Property<unsigned>
m_threshold
{
this
,
"threshold"
, 0,
"Threshold to apply for selecting bins with hits, defaults to not used (0)"
};
74
Gaudi::Property<bool>
m_requireTruth
{
this
,
"requireTruth"
,
true
,
"require output bins to be the true bin, defaults to true"
};
75
76
// Event storage
77
std::vector<FPGATrackSimTrack>
m_tracks_1st_guessedcheck
,
m_tracks_1st_nomiss
,
m_tracks_2nd_guessedcheck
,
m_tracks_2nd_nomiss
;
78
79
// internal counters
80
double
m_evt
= 0;
// number of events passing event selection, independent of truth
81
82
// Read hits from data prep algorithm-- note, not regonalized.
83
SG::ReadHandleKey<FPGATrackSimHitCollection>
m_FPGAHitKey
{
this
,
"FPGATrackSimHitKey"
,
"FPGAHits"
,
"FPGATrackSim hits key"
};
84
85
// We do also need to pull truth tracks. I don't think we need offline tracks.
86
SG::ReadHandleKey<FPGATrackSimTruthTrackCollection>
m_FPGATruthTrackKey
{
this
,
"FPGATrackSimTruthTrackKey"
,
"FPGATruthTracks"
,
"FPGATrackSim truth tracks"
};
87
};
88
89
90
#endif
// FPGATrackSimLOGICALHITSTOALGORITHMS_h
AthAlgorithm.h
TruthParticleContainer.h
FPGATrackSimBinnedHits.h
Binning Classes for GenScanTool.
FPGATrackSimClusterCollection.h
FPGATrackSimHitCollection.h
FPGATrackSimLayerStudyTool.h
FPGATrackSimOfflineTrackCollection.h
FPGATrackSimRoadCollection.h
FPGATrackSimSpacePointsToolI.h
Declares an abstract class that implements an interface for spacepoint formation. This class is imple...
FPGATrackSimTrackCollection.h
FPGATrackSimTruthTrackCollection.h
IFPGATrackSimBankSvc.h
IFPGATrackSimEventSelectionSvc.h
IFPGATrackSimMappingSvc.h
Monitored.h
Header file to be included by clients of the Monitored infrastructure.
StoreGateSvc.h
ReadHandleKeyArray.h
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
WriteHandleKey.h
Property holding a SG store/key/clid from which a WriteHandle is made.
WriteHandleKeyArray.h
AthAlgorithm::AthAlgorithm
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Definition
AthAlgorithm.cxx:10
FPGATrackSimCluster
Definition
FPGATrackSimCluster.h:24
FPGATrackSimHit
Definition
FPGATrackSimHit.h:42
FPGATrackSimLayerStudyAlg::m_description
std::string m_description
Definition
FPGATrackSimLayerStudyAlg.h:59
FPGATrackSimLayerStudyAlg::initialize
virtual StatusCode initialize() override
Definition
FPGATrackSimLayerStudyAlg.cxx:45
FPGATrackSimLayerStudyAlg::finalize
virtual StatusCode finalize() override
Definition
FPGATrackSimLayerStudyAlg.cxx:202
FPGATrackSimLayerStudyAlg::m_evtSel
ServiceHandle< IFPGATrackSimEventSelectionSvc > m_evtSel
Definition
FPGATrackSimLayerStudyAlg.h:66
FPGATrackSimLayerStudyAlg::FPGATrackSimLayerStudyAlg
FPGATrackSimLayerStudyAlg(const std::string &name, ISvcLocator *pSvcLocator)
Definition
FPGATrackSimLayerStudyAlg.cxx:39
FPGATrackSimLayerStudyAlg::m_evt
double m_evt
Definition
FPGATrackSimLayerStudyAlg.h:80
FPGATrackSimLayerStudyAlg::m_tracks_2nd_guessedcheck
std::vector< FPGATrackSimTrack > m_tracks_2nd_guessedcheck
Definition
FPGATrackSimLayerStudyAlg.h:77
FPGATrackSimLayerStudyAlg::m_stage
Gaudi::Property< int > m_stage
Definition
FPGATrackSimLayerStudyAlg.h:72
FPGATrackSimLayerStudyAlg::m_tracks_1st_guessedcheck
std::vector< FPGATrackSimTrack > m_tracks_1st_guessedcheck
Definition
FPGATrackSimLayerStudyAlg.h:77
FPGATrackSimLayerStudyAlg::m_requireTruth
Gaudi::Property< bool > m_requireTruth
Definition
FPGATrackSimLayerStudyAlg.h:74
FPGATrackSimLayerStudyAlg::m_FPGAHitKey
SG::ReadHandleKey< FPGATrackSimHitCollection > m_FPGAHitKey
Definition
FPGATrackSimLayerStudyAlg.h:83
FPGATrackSimLayerStudyAlg::m_hitBinningTool
ToolHandle< FPGATrackSimBinnedHits > m_hitBinningTool
Definition
FPGATrackSimLayerStudyAlg.h:62
FPGATrackSimLayerStudyAlg::m_FPGATrackSimMapping
ServiceHandle< IFPGATrackSimMappingSvc > m_FPGATrackSimMapping
Definition
FPGATrackSimLayerStudyAlg.h:65
FPGATrackSimLayerStudyAlg::m_binMonitoring
ToolHandle< FPGATrackSimLayerStudyTool > m_binMonitoring
Definition
FPGATrackSimLayerStudyAlg.h:63
FPGATrackSimLayerStudyAlg::m_tracks_1st_nomiss
std::vector< FPGATrackSimTrack > m_tracks_1st_nomiss
Definition
FPGATrackSimLayerStudyAlg.h:77
FPGATrackSimLayerStudyAlg::~FPGATrackSimLayerStudyAlg
virtual ~FPGATrackSimLayerStudyAlg()=default
FPGATrackSimLayerStudyAlg::m_tracks_2nd_nomiss
std::vector< FPGATrackSimTrack > m_tracks_2nd_nomiss
Definition
FPGATrackSimLayerStudyAlg.h:77
FPGATrackSimLayerStudyAlg::execute
virtual StatusCode execute(const EventContext &ctx) override
Execute method.
Definition
FPGATrackSimLayerStudyAlg.cxx:90
FPGATrackSimLayerStudyAlg::m_FPGATruthTrackKey
SG::ReadHandleKey< FPGATrackSimTruthTrackCollection > m_FPGATruthTrackKey
Definition
FPGATrackSimLayerStudyAlg.h:86
FPGATrackSimLayerStudyAlg::m_threshold
Gaudi::Property< unsigned > m_threshold
Definition
FPGATrackSimLayerStudyAlg.h:73
FPGATrackSimLayerStudyAlg::m_chrono
ServiceHandle< IChronoStatSvc > m_chrono
Definition
FPGATrackSimLayerStudyAlg.h:69
FPGATrackSimRoad
Definition
FPGATrackSimRoad.h:31
FPGATrackSimTrack
Definition
FPGATrackSimTrack.h:23
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition
StoreGate/StoreGate/ReadHandleKey.h:40
ServiceHandle
Definition
ClusterMakerTool.h:36
xAODTruthParticleLink.h
Generated on
for ATLAS Offline Software by
1.17.0