3#ifndef FPGATrackSim_DATAPREPALG_H
4#define FPGATrackSim_DATAPREPALG_H
11#include "GaudiKernel/ToolHandle.h"
64 virtual StatusCode
execute()
override;
65 virtual StatusCode
finalize()
override;
73 ToolHandle<IFPGATrackSimInputTool>
m_hitSGInputTool {
this,
"SGInputTool",
"",
"Input tool from SG"};
74 ToolHandle<IFPGATrackSimEventInputHeaderTool>
m_hitInputTool {
this,
"InputTool",
"FPGATrackSimSGToRawHitsTool/FPGATrackSimSGToRawHitsTool",
"Input Tool"};
75 ToolHandle<FPGATrackSimReadRawRandomHitsTool>
m_hitInputTool2 {
this,
"InputTool2",
"FPGATrackSimReadRawRandomHitsTool/FPGATrackSimReadRawRandomHitsTool",
"Potential 2nd input Tool to load data from more than one source"};
76 ToolHandleArray<FPGATrackSimRawToLogicalHitsTool>
m_hitMapTools {
this,
"RawToLogicalHitsTools", {},
"Raw To Logical Tools"};
77 ToolHandle<IFPGATrackSimHitFilteringTool>
m_hitFilteringTool {
this,
"HitFilteringTool",
"FPGATrackSimHitFilteringTool/FPGATrackSimHitFilteringTool",
"Hit Filtering Tool"};
78 ToolHandle<FPGATrackSimClusteringToolI>
m_clusteringTool {
this,
"ClusteringTool",
"FPGATrackSimClusteringTool/FPGATrackSimClusteringTool",
"Hit Clustering Tool"};
79 ToolHandle<FPGATrackSimOutputHeaderTool>
m_writeOutputTool {
this,
"OutputTool",
"FPGATrackSimOutputHeaderTool/FPGATrackSimOutputHeaderTool",
"Output tool"};
80 ToolHandleArray<FPGATrackSim::FPGATrackSimEventSelectionTool>
m_eventSelectionTools {
this,
"eventSelectors", {},
"Event selection Tools"};
85 Gaudi::Property<int>
m_firstInputToolN {
this,
"FirstInputToolN", 1,
"number of times to use event from first input tool"};
86 Gaudi::Property<int>
m_secondInputToolN {
this,
"SecondInputToolN", 0,
"number of times to use event from second input tool"};
87 Gaudi::Property<bool>
m_doHitFiltering {
this,
"HitFiltering",
false,
"flag to enable hit/cluster filtering"};
88 Gaudi::Property<int>
m_clustering {
this,
"Clustering", 0,
"int to enable the clustering and say how many times to run it"};
89 Gaudi::Property<bool>
m_writeOutputData {
this,
"writeOutputData",
true,
"write the output TTree"};
90 Gaudi::Property<bool>
m_writePreClusterBranch {
this,
"writePreClusterBranch",
true,
"If set to false, never write precluster branches"};
93 Gaudi::Property<bool>
m_doEvtSel {
this,
"doEvtSel",
false,
"do event selection"};
94 Gaudi::Property<bool>
m_useInternalTruthTracks {
this,
"useInternalTruthTracks",
false,
"case when runnin on RDO file (and not or wrapper)"};
95 Gaudi::Property<bool>
m_recordHits {
this,
"recordHits",
true,
"For F-100 this is not needed"};
96 Gaudi::Property<int>
m_writeRegion {
this,
"writeRegion", -1,
"Only output selected region, default is -1 which means not requirement"};
99 Gaudi::Property<std::string>
m_preClusterBranch {
this,
"preClusterBranch",
"LogicalEventInputHeader_PreCluster",
"Name of the branch for pre-cluster input data in output ROOT file." };
100 Gaudi::Property<std::string>
m_postClusterBranch {
this,
"postClusterBranch",
"LogicalEventInputHeader_PostCluster",
"Name of the branch for post-cluster input data in output ROOT file." };
109 std::unique_ptr<FPGATrackSimClusterCollection>
m_clusters = std::make_unique<FPGATrackSimClusterCollection>();
126 ToolHandle<GenericMonitoringTool>
m_monTool{
this,
"MonTool",
"",
"Monitoring tool"};
Header file to be included by clients of the Monitored infrastructure.
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
ToolHandleArray< FPGATrackSimRawToLogicalHitsTool > m_hitMapTools
SG::WriteHandleKey< FPGATrackSimOfflineTrackCollection > m_FPGAOfflineTrackKey
SG::WriteHandleKey< FPGATrackSimHitCollection > m_FPGAHitUnmappedKey
unsigned long m_nStripClusters
Gaudi::Property< std::string > m_preClusterBranch
unsigned m_nMaxStripClusters
Gaudi::Property< std::string > m_postClusterBranch
virtual StatusCode finalize() override
virtual ~FPGATrackSimDataPrepAlg()=default
Gaudi::Property< bool > m_doEvtSel
SG::WriteHandleKey< FPGATrackSimTruthTrackCollection > m_FPGATruthTrackKey
FPGATrackSimLogicalEventInputHeader * m_logicEventHeader_precluster
unsigned m_nMaxPixClusters
StatusCode processInputs(SG::WriteHandle< FPGATrackSimHitCollection > &FPGAHitUnmapped, SG::WriteHandle< FPGATrackSimClusterCollection > &FPGAClusters)
ToolHandle< IFPGATrackSimInputTool > m_hitSGInputTool
Gaudi::Property< int > m_firstInputToolN
ToolHandle< FPGATrackSimOutputHeaderTool > m_writeOutputTool
virtual StatusCode initialize() override
Gaudi::Property< int > m_secondInputToolN
unsigned long m_nPixClusters
ToolHandleArray< FPGATrackSim::FPGATrackSimEventSelectionTool > m_eventSelectionTools
ToolHandle< FPGATrackSimReadRawRandomHitsTool > m_hitInputTool2
Gaudi::Property< bool > m_writePreClusterBranch
SG::ReadHandleKey< xAOD::TruthParticleContainer > m_inputTruthParticleContainerKey
ToolHandle< GenericMonitoringTool > m_monTool
virtual StatusCode execute() override
Gaudi::Property< bool > m_useInternalTruthTracks
std::unique_ptr< FPGATrackSimClusterCollection > m_clusters
ToolHandle< IFPGATrackSimEventInputHeaderTool > m_hitInputTool
FPGATrackSimLogicalEventInputHeader * m_logicEventHeader
Gaudi::Property< int > m_writeRegion
SG::WriteHandleKey< FPGATrackSimHitCollection > m_FPGAHitKey
std::string m_description
std::vector< FPGATrackSimHit > m_hits_miss
Gaudi::Property< int > m_clustering
SG::WriteHandleKey< FPGATrackSimEventInfo > m_FPGAEventInfoKey
Gaudi::Property< bool > m_writeOutputData
SG::WriteHandleKeyArray< FPGATrackSimClusterCollection > m_FPGAClusterKey
ServiceHandle< IChronoStatSvc > m_chrono
ToolHandle< FPGATrackSimClusteringToolI > m_clusteringTool
FPGATrackSimDataPrepAlg(const std::string &name, ISvcLocator *pSvcLocator)
Gaudi::Property< bool > m_doHitFiltering
StatusCode readInputs(bool &done)
Gaudi::Property< bool > m_recordHits
FPGATrackSimEventInputHeader m_firstInputHeader
FPGATrackSimEventInputHeader m_eventHeader
ToolHandle< IFPGATrackSimHitFilteringTool > m_hitFilteringTool
SG::WriteHandleKey< xAODTruthParticleLinkVector > m_truthLinkContainerKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
HandleKeyArray< WriteHandle< T >, WriteHandleKey< T >, Gaudi::DataHandle::Writer > WriteHandleKeyArray