8#ifndef SiSPSeededTrackFinderRoI_H
9#define SiSPSeededTrackFinderRoI_H
12#include "GaudiKernel/ToolHandle.h"
57 virtual StatusCode
execute(
const EventContext& ctx)
const override;
58 virtual StatusCode
finalize()
override;
69 BooleanProperty
m_useRoIWidth{
this,
"useRoIWidth",
true,
"Use width of RoI along z-axis"};
70 IntegerProperty
m_maxNumberSeeds{
this,
"maxNumberSeeds", 3000000,
"Max. number used seeds"};
71 IntegerProperty
m_nfreeCut{
this,
"FreeClustersCut", 1,
"Min number free clusters"};
72 BooleanProperty
m_doRandomSpot{
this,
"doRandomSpot",
false,
"Low-pT tracking setting the RoI in a random position"};
74 StringProperty
m_fieldmode{
this,
"MagneticFieldMode",
"MapSolenoid"};
94 ToolHandle<ISiSpacePointsSeedMaker>
m_seedsmaker{
this,
"SeedsTool",
"InDet::SiSpacePointsSeedMaker_ATLxk/InDetSpSeedsMaker",
"Space poins seed maker"};
95 ToolHandle<ISiTrackMaker>
m_trackmaker{
this,
"TrackTool",
"InDet::SiTrackMaker_xk/InDetSiTrackMaker",
"Track maker"};
96 ToolHandle<Trk::IExtendedTrackSummaryTool>
m_trackSummaryTool{
this,
"TrackSummaryTool",
"InDetTrackSummaryToolNoHoleSearch"};
98 ToolHandle<IZWindowRoISeedTool>
m_ZWindowRoISeedTool{
this,
"ZWindowRoISeedTool",
"InDet::ZWindowRoISeedTool",
"Tool to determin per-event RoI"};
99 ToolHandle<IZWindowRoISeedTool>
m_RandomRoISeedTool{
this,
"RandomRoISeedTool",
"InDet::RandomRoISeedTool",
"Tool to run using additional RoIs randomly chosen away from the main one if doRandomSpot is set"};
143 class Counter_t :
public std::array<std::atomic_int, kNCounter>
147 for (
unsigned int idx=0; idx <
kNCounter; ++idx) {
148 (*this)[idx] += counter[idx];
160 MsgStream&
dumptools(MsgStream& out)
const;
defines an "iterator" over instances of a given type in StoreGateSvc
An algorithm that can be simultaneously executed in multiple threads.
Counter_t & operator+=(const Counter_t &counter)
std::atomic_int m_neventsTotal
Number events.
ToolHandle< Trk::IExtendedTrackSummaryTool > m_trackSummaryTool
SG::WriteHandleKey< xAOD::VertexContainer > m_vxOutputKey
ECounter
enums for Counter_t
virtual StatusCode initialize() override
StringProperty m_fieldmode
void filterSharedTracks(std::multimap< double, Trk::Track * > &) const
cleans up the collection of quality filtered tracks.
std::atomic_int m_problemsTotal
Number events with number seeds > maxNumber.
MsgStream & dumpevent(MsgStream &out, const SiSPSeededTrackFinderRoI::Counter_t &counter) const
SG::ReadHandleKey< xAOD::EventInfo > m_evtKey
bool passEtaDepCuts(const Trk::Track *track, int nClusters, int nFreeClusters, int nPixels) const
apply eta-dependent selections
Counter_t m_counterTotal ATLAS_THREAD_SAFE
IntegerProperty m_maxNumberSeeds
BooleanProperty m_useRoIWidth
ToolHandle< ISiSpacePointsSeedMaker > m_seedsmaker
SiSPSeededTrackFinderRoI(const std::string &name, ISvcLocator *pSvcLocator)
MsgStream & dumptools(MsgStream &out) const
SG::WriteHandleKey< TrackCollection > m_outputTracksKey
ServiceHandle< IInDetEtaDependentCutsSvc > m_etaDependentCutsSvc
BooleanProperty m_doRandomSpot
Trk::MagneticFieldProperties m_fieldprop
SG::ReadHandleKey< Trk::PRDtoTrackMap > m_prdToTrackMap
ToolHandle< ISiTrackMaker > m_trackmaker
virtual StatusCode execute(const EventContext &ctx) const override
ToolHandle< IZWindowRoISeedTool > m_RandomRoISeedTool
SG::ReadCondHandleKey< InDet::BeamSpotData > m_beamSpotKey
virtual ~SiSPSeededTrackFinderRoI()=default
ToolHandle< IZWindowRoISeedTool > m_ZWindowRoISeedTool
IntegerProperty m_nfreeCut
virtual StatusCode finalize() override
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.
magnetic field properties to steer the behavior of the extrapolation