16#ifndef SimpleTRT_SeededSpacePointFinder_ATL_H
17#define SimpleTRT_SeededSpacePointFinder_ATL_H
18#define SIMPLE_TRT_INDEX_OFFSET 14
23#include "GaudiKernel/ServiceHandle.h"
54 (
const std::string&,
const std::string&,
const IInterface*);
57 virtual StatusCode
finalize ()
override;
64 virtual std::unique_ptr<InDet::ITRT_SeededSpacePointFinder::IEventData>
newEvent ()
const override;
65 virtual std::unique_ptr<InDet::ITRT_SeededSpacePointFinder::IEventData>
newRegion
66 (
const std::vector<IdentifierHash>&,
const std::vector<IdentifierHash>&)
const override;
72 std::list<std::pair<const Trk::SpacePoint*,const Trk::SpacePoint*> >
find2Sp (
const EventContext& ctx,
80 MsgStream&
dump (MsgStream & out)
const override;
81 std::ostream&
dump (std::ostream& out)
const override;
90 BooleanProperty
m_useROI{
this,
"RestrictROI",
true};
112 {
this,
"PRDtoTrackMap",
""};
121 ToolHandle<IRegSelTool>
m_pRegionSelector{
this,
"RegSelTool_SCT",
"RegSelTool/RegSelTool_SCT" };
139 std::set<IdentifierHash>& setOfSCT_Hashes,
148 void combineSpacePoints(
const std::multimap<int,const Trk::SpacePoint*>& relevantSpacePoints,
151 std::list<std::pair<const Trk::SpacePoint*, const Trk::SpacePoint*> > &listOfSpacePointPairsBuffer)
const;
179 return std::unique_ptr<InDet::ITRT_SeededSpacePointFinder::IEventData>();
Scalar deltaPhi(const MatrixBase< Derived > &vec) const
#define SIMPLE_TRT_INDEX_OFFSET
void combineSpacePoints(const std::multimap< int, const Trk::SpacePoint * > &relevantSpacePoints, const Trk::TrackParameters &directionTRT, int modulTRT, std::list< std::pair< const Trk::SpacePoint *, const Trk::SpacePoint * > > &listOfSpacePointPairsBuffer) const
builds pairs of SP according to the kook-up table
std::list< std::pair< int, int > > modulLookupTable
SimpleTRT_SeededSpacePointFinder_ATL(const std::string &, const std::string &, const IInterface *)
ToolHandle< IRegSelTool > m_pRegionSelector
Region Selector.
static void getSearchRange(double &deltaPhi, double &deltaEta)
List with SP pairs as seed for the Si part of the back-track.
virtual StatusCode initialize() override
IntegerProperty m_maxHoles
controls how many not considered SCT layers are allowed between two SP in order to form a seed pair
void getSpacePointsInROI(const EventContext &ctx, std::set< IdentifierHash > &setOfSCT_Hashes, int modulTRT, std::multimap< int, const Trk::SpacePoint * > &relevantSpacePoints) const
retrieves SP Collections of modules in the ROI and sorts them by SCT layer
const SCT_ID * m_sctId
ID SCT helper.
bool pairIsOk(const Trk::SpacePoint *sp1, const Trk::SpacePoint *sp2, const Trk::TrackParameters &directionTRT) const
applies rough cuts on the quality of a SP pair
const SiSpacePointsSeed * next(InDet::ITRT_SeededSpacePointFinder::IEventData &event_data) const override
BooleanProperty m_useROI
Controls, if SP have to be checked with the AssociationTool of the forward tracking and to avoid doub...
void printLookupTable() const
std::set< int > m_modulLookupTableIndex[2 *SIMPLE_TRT_INDEX_OFFSET+1]
const TRT_ID * m_trtId
ID TRT helper.
std::list< std::pair< const Trk::SpacePoint *, const Trk::SpacePoint * > > find2Sp(const EventContext &ctx, const Trk::TrackParameters &, InDet::ITRT_SeededSpacePointFinder::IEventData &event_data) const override
main method, calls the private methods and returns a pointer to the list of SpacePointpairs.
SG::ReadHandleKey< SpacePointContainer > m_spacepointsSCTname
virtual std::unique_ptr< InDet::ITRT_SeededSpacePointFinder::IEventData > newRegion(const std::vector< IdentifierHash > &, const std::vector< IdentifierHash > &) const override
void setupLookUpTable()
the name says it
SG::ReadHandleKey< SpacePointOverlapCollection > m_spacepointsOverlapname
virtual ~SimpleTRT_SeededSpacePointFinder_ATL()
virtual StatusCode finalize() override
DoubleProperty m_perigeeCut
rough cuts on the quality of the suggested SP pair
void getHashesInROI(const EventContext &ctx, const Trk::TrackParameters &directionTRT, std::set< IdentifierHash > &setOfSCT_Hashes) const
obtains the hashes of modules in the ROI
int TRT_Module(const Trk::TrackParameters &directionTRT) const
returns the number of the TRT wheel or barrel where the TP belongs to
modulLookupTable m_modulLookupTable[2 *SIMPLE_TRT_INDEX_OFFSET+1]
Lookup table that contains the SCT Layers to be considered to provide SP for the pairing in dependenc...
SG::ReadHandleKey< Trk::PRDtoTrackMap > m_prdToTrackMap
DoubleProperty m_directionPhiCut
virtual std::unique_ptr< InDet::ITRT_SeededSpacePointFinder::IEventData > newEvent() const override
obsolete, do not do anything.
This is an Identifier helper class for the SCT subdetector.
Property holding a SG store/key/clid from which a ReadHandle is made.
This is an Identifier helper class for the TRT subdetector.
MsgStream & operator<<(MsgStream &, const GNNTrackFinderTritonTool &)
ParametersBase< TrackParametersDim, Charged > TrackParameters