|
ATLAS Offline Software
|
Go to the documentation of this file.
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*);
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>();
184 #endif // SimpleTRT_SeededSpacePointFinder_ATL_H
void setupLookUpTable()
the name says it
MsgStream & operator<<(MsgStream &, const GNNTrackReaderTool &)
int TRT_Module(const Trk::TrackParameters &directionTRT) const
returns the number of the TRT wheel or barrel where the TP belongs to
std::list< std::pair< int, int > > modulLookupTable
virtual std::unique_ptr< InDet::ITRT_SeededSpacePointFinder::IEventData > newRegion(const std::vector< IdentifierHash > &, const std::vector< IdentifierHash > &) const override
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
setSAddress setEtaMS setDirPhiMS setDirZMS setBarrelRadius setEndcapAlpha setEndcapRadius setInterceptInner setEtaMap setEtaBin setIsTgcFailure setDeltaPt deltaPhi
virtual ~SimpleTRT_SeededSpacePointFinder_ATL()
#define SIMPLE_TRT_INDEX_OFFSET
virtual std::unique_ptr< InDet::ITRT_SeededSpacePointFinder::IEventData > newEvent() const override
obsolete, do not do anything.
static void getSearchRange(double &deltaPhi, double &deltaEta)
List with SP pairs as seed for the Si part of the back-track.
void getHashesInROI(const EventContext &ctx, const Trk::TrackParameters &directionTRT, std::set< IdentifierHash > &setOfSCT_Hashes) const
obtains the hashes of modules in the ROI
IntegerProperty m_maxHoles
controls how many not considered SCT layers are allowed between two SP in order to form a seed pair
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
BooleanProperty m_useROI
Controls, if SP have to be checked with the AssociationTool of the forward tracking and to avoid doub...
SG::ReadHandleKey< SpacePointOverlapCollection > m_spacepointsOverlapname
DoubleProperty m_perigeeCut
rough cuts on the quality of the suggested SP pair
virtual StatusCode finalize() override
double deltaEta(const I4Momentum &p1, const I4Momentum &p2)
Computes efficiently .
void printLookupTable() const
SimpleTRT_SeededSpacePointFinder_ATL(const std::string &, const std::string &, const IInterface *)
ToolHandle< IRegSelTool > m_pRegionSelector
Region Selector.
::StatusCode StatusCode
StatusCode definition for legacy code.
DoubleProperty m_directionPhiCut
virtual StatusCode initialize() override
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...
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
MsgStream & dump(MsgStream &out) const override
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< Trk::PRDtoTrackMap > m_prdToTrackMap
const SiSpacePointsSeed * next(InDet::ITRT_SeededSpacePointFinder::IEventData &event_data) const override
const SCT_ID * m_sctId
ID SCT helper.
const TRT_ID * m_trtId
ID TRT helper.
SG::ReadHandleKey< SpacePointContainer > m_spacepointsSCTname
std::set< int > m_modulLookupTableIndex[2 *SIMPLE_TRT_INDEX_OFFSET+1]