|
ATLAS Offline Software
|
Go to the documentation of this file.
8 #ifndef SiSPSeededTrackFinder_H
9 #define SiSPSeededTrackFinder_H
12 #include <Gaudi/Property.h>
34 #include "GaudiKernel/ToolHandle.h"
68 virtual bool isClonable()
const override {
return true; };
96 BooleanProperty
m_writeHolesFromPattern{
this,
"writeHolesFromPattern",
false,
"Flag to activate writing hole info from the pattern recognition"};
97 BooleanProperty
m_useMBTS{
this,
"useMBTSTimeDiff",
false};
100 BooleanProperty
m_ITKGeometry{
this,
"ITKGeometry",
false,
"Flag to specify if it is ITK geometry"};
101 BooleanProperty
m_useITkConvSeeded{
this,
"useITkConvSeeded",
false,
"ITk EM-seeded conversion reco"};
103 IntegerProperty
m_maxNumberSeeds{
this,
"maxNumberSeeds", 3000000,
"Max. number used seeds"};
104 BooleanProperty
m_alwaysProtectAgainstBusyEvent{
this,
"alwaysProtectAgainstBusyEvents",
false,
"Flag that enables checking always maxNumberPIXsp and maxNumberSCTsp"};
105 IntegerProperty
m_maxPIXsp{
this,
"maxNumberPIXsp", 150000,
"Max. number pixels space points"};
106 IntegerProperty
m_maxSCTsp{
this,
"maxNumberSCTsp", 500000,
"Max. number sct space points"};
107 IntegerProperty
m_nfreeCut{
this,
"FreeClustersCut", 1,
"Min number free clusters"};
110 DoubleProperty
m_zcut{
this,
"Zcut", 350.};
114 StringProperty
m_fieldmode{
this,
"MagneticFieldMode",
"MapSolenoid"};
141 ToolHandle<ISiSpacePointsSeedMaker>
m_seedsmaker{
this,
"SeedsTool",
"InDet::SiSpacePointsSeedMaker_ATLxk/InDetSpSeedsMaker",
"Space poins seed maker"};
142 ToolHandle<ISiZvertexMaker>
m_zvertexmaker{
this,
"ZvertexTool",
"InDet::SiZvertexMaker_xk/InDetSiZvertexMaker",
"Space poins z-vertex maker"};
143 ToolHandle<ISiTrackMaker>
m_trackmaker{
this,
"TrackTool",
"InDet::SiTrackMaker_xk/InDetSiTrackMaker",
"Track maker"};
144 PublicToolHandle<Trk::IPatternParametersPropagator>
m_proptool{
this,
"PropagatorTool",
"Trk::RungeKuttaPropagator/InDetPropagator"};
145 ToolHandle<Trk::IExtendedTrackSummaryTool>
m_trackSummaryTool{
this,
"TrackSummaryTool",
"InDetTrackSummaryToolNoHoleSearch"};
146 ToolHandle<IRegSelTool>
m_regsel_strip {
this,
"RegSelTool_Strip",
"RegSelTool/RegSelTool_SCT" };
204 std::vector<int>& numberWeightedhistogram,
205 std::vector<double>& zWeightedHistogram,
206 std::vector<double>& ptWeightedHistogram)
const;
217 void findZvertex(std::list<Trk::Vertex>& vertexList,
218 std::pair<double, double> & zBoundaries,
219 const std::vector<int>& numberWeightedhistogram,
220 const std::vector<double>& zWeightedHistogram,
221 const std::vector<double>& ptWeightedHistogram)
const;
241 #endif // SiSPSeededTrackFinder_H
SG::ReadHandleKey< xAOD::EventInfo > m_evtKey
MsgStream & dumpevent(MsgStream &out, const SiSPSeededTrackFinder::Counter_t &counter) const
virtual bool isClonable() const override
Make this algorithm clonable.
SG::WriteHandleKey< TrackCollection > m_outputTracksKey
ToolHandle< ISiSpacePointsSeedMaker > m_seedsmaker
Counter_t & operator+=(const Counter_t &counter)
BooleanProperty m_alwaysProtectAgainstBusyEvent
IntegerProperty m_histsize
MsgStream & dump(MSG::Level lvl, const SiSPSeededTrackFinder::Counter_t *) const
BooleanProperty m_ITKGeometry
BooleanProperty m_useZvertexTool
IntegerProperty m_nfreeCut
ServiceHandle< IInDetEtaDependentCutsSvc > m_etaDependentCutsSvc
service to get cut values depending on different variable
ToolHandle< Trk::IExtendedTrackSummaryTool > m_trackSummaryTool
void filterSharedTracksFast(std::multimap< double, Trk::Track * > &scoredTracks) const
IntegerProperty m_maxNumberSeeds
BooleanProperty m_useITkConvSeeded
BooleanProperty m_useMBTS
BooleanProperty m_useZBoundaryFinding
SG::ReadHandleKey< Trk::PRDtoTrackMap > m_prdToTrackMap
An algorithm that can be simultaneously executed in multiple threads.
virtual StatusCode execute(const EventContext &ctx) const override
Execute.
ToolHandle< ISiTrackMaker > m_trackmaker
SiSPSeededTrackFinder(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
IntegerProperty m_nvertex
DoubleProperty m_deltaEta
StringProperty m_fieldmode
std::atomic_int m_problemsTotal
Number events with number seeds > maxNumber.
SG::ReadHandleKey< SpacePointContainer > m_SpacePointsSCTKey
Property holding a SG store/key/clid from which a WriteHandle is made.
SG::ReadCondHandleKey< InDet::BeamSpotData > m_beamSpotKey
IntegerProperty m_maxSCTsp
::StatusCode StatusCode
StatusCode definition for legacy code.
std::atomic_int m_neventsTotalV
Number events.
PublicToolHandle< Trk::IPatternParametersPropagator > m_proptool
StatusCode oldStrategy(const EventContext &ctx) const
this method performs the track finding using the old strategy
virtual ~SiSPSeededTrackFinder()=default
MsgStream & dumptools(MsgStream &out) const
void filterSharedTracks(std::multimap< double, Trk::Track * > &scoredTracks) const
cleans up the collection of quality filtered tracks.
virtual StatusCode finalize() override
bool passEtaDepCuts(const Trk::Track *track, int nClusters, int nFreeClusters, int nPixels) const
SG::ReadHandleKey< SpacePointContainer > m_SpacePointsPixelKey
DoubleProperty m_deltaPhi
bool isGoodEvent(const EventContext &ctx) const
EventContext is used to specify which event.
virtual StatusCode initialize() override
Initialisation.
ToolHandle< ISiZvertexMaker > m_zvertexmaker
IntegerProperty m_maxPIXsp
BooleanProperty m_writeHolesFromPattern
Counter_t m_counterTotal ATLAS_THREAD_SAFE
SG::ReadDecorHandleKey< xAOD::EventInfo > m_mbtsKey
StatusCode itkFastTrackingStrategy(const EventContext &ctx) const
EventContext is used to specify which event.
Trk::MagneticFieldProperties m_fieldprop
ToolHandle< IRegSelTool > m_regsel_strip
BooleanProperty m_useNewStrategy
StatusCode itkConvStrategy(const EventContext &ctx) const
EventContext is used to specify which event.
StatusCode newStrategy(const EventContext &ctx) const
this method performs the track finding using the new strategy
void fillZHistogram(const Trk::Track *Tr, const Trk::PerigeeSurface &beamlinePerigee, std::vector< int > &numberWeightedhistogram, std::vector< double > &zWeightedHistogram, std::vector< double > &ptWeightedHistogram) const
fills three z0 histograms (non-weighted, weighted by z, and weighted by pt) with the track z at the b...
SG::ReadHandleKey< ROIPhiRZContainer > m_caloClusterROIKey
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
std::atomic_int m_neventsTotal
Number events.
BooleanProperty m_doFastTracking
std::atomic_int m_problemsTotalV
Number events with number seeds > maxNumber.
void findZvertex(std::list< Trk::Vertex > &vertexList, std::pair< double, double > &zBoundaries, const std::vector< int > &numberWeightedhistogram, const std::vector< double > &zWeightedHistogram, const std::vector< double > &ptWeightedHistogram) const
estimates a set of vertex positions and a z interval for the second track finding pass using the inpu...
ECounter
enums for Counter_t