ATLAS Offline Software
TRT_TrackSegmentsFinder.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TRT_TrackSegmentsFinder_H
6 #define TRT_TrackSegmentsFinder_H
7 
8 #include <string>
9 #include <atomic>
10 
12 #include "GaudiKernel/ToolHandle.h"
19 // MagField cache
22 namespace InDet {
23 
24 
25  // Class-algorithm for track finding in TRT
26  //
28  {
29  public:
30 
32  // Standard Algotithm methods
34 
35  TRT_TrackSegmentsFinder(const std::string &name, ISvcLocator *pSvcLocator);
38  StatusCode execute(const EventContext &ctx) const;
40 
41  protected:
42 
43  MsgStream& dumptools(MsgStream& out) const;
44  MsgStream& dumpevent(MsgStream& out, int nsegments) const;
45 
46  Gaudi::Property<bool> m_useCaloSeeds
47  {this, "useCaloSeeds", false, "Use calo seeds to find TRT segments"};
48 
49  Gaudi::Property<int> m_minNumberDCs
50  {this, "MinNumberDriftCircles", 15, "Minimum number of DriftCircles for a TRT segment."};
51 
53  {this, "EMROIPhiRZContainer", "", "Name of the calo ROI container in which the ROIs are parametrised by phi, r and z."};
54 
56  {this, "SegmentsLocation", "TRTSegments", "Storegate key of the found TRT segments."};
57 
58  ToolHandle<ITRT_TrackSegmentsMaker> m_segmentsMakerTool
59  {this, "SegmentsMakerTool", "InDet::TRT_TrackSegmentsMaker_ATLxk", "TRT segments maker tool." };
60 
61  ToolHandle<ITRT_DetElementsRoadMaker> m_roadtool
62  {this, "RoadTool", "InDet::TRT_DetElementsRoadMaker_xk", "Tool to build roads in the TRT."};
63 
64  SG::ReadCondHandleKey<AtlasFieldCacheCondObj> m_fieldCondObjInputKey {this, "AtlasFieldCacheCondObj", "fieldCondObj", "Name of the Magnetic Field conditions object key"};
65 
66  mutable std::atomic<int> m_nsegmentsTotal {} ; // statistics about number of segments
67 
68  };
69 }
70 #endif // TRT_TrackSegmentsFinder_H
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
InDet::TRT_TrackSegmentsFinder::dumptools
MsgStream & dumptools(MsgStream &out) const
Definition: TRT_TrackSegmentsFinder.cxx:154
InDet::TRT_TrackSegmentsFinder::m_fieldCondObjInputKey
SG::ReadCondHandleKey< AtlasFieldCacheCondObj > m_fieldCondObjInputKey
Definition: TRT_TrackSegmentsFinder.h:64
AtlasFieldCacheCondObj.h
InDet::TRT_TrackSegmentsFinder::m_caloClusterROIKey
SG::ReadHandleKey< ROIPhiRZContainer > m_caloClusterROIKey
Definition: TRT_TrackSegmentsFinder.h:53
InDet
Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
python.AthDsoLogger.out
out
Definition: AthDsoLogger.py:71
InDet::TRT_TrackSegmentsFinder::m_minNumberDCs
Gaudi::Property< int > m_minNumberDCs
Definition: TRT_TrackSegmentsFinder.h:50
SG::ReadHandleKey< ROIPhiRZContainer >
InDet::TRT_TrackSegmentsFinder::~TRT_TrackSegmentsFinder
virtual ~TRT_TrackSegmentsFinder()
Definition: TRT_TrackSegmentsFinder.h:36
InDet::TRT_TrackSegmentsFinder::m_roadtool
ToolHandle< ITRT_DetElementsRoadMaker > m_roadtool
Definition: TRT_TrackSegmentsFinder.h:62
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition: StoreGate/StoreGate/WriteHandleKey.h:40
ITRT_DetElementsRoadMaker.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ITRT_TrackSegmentsMaker.h
InDet::TRT_TrackSegmentsFinder
Definition: TRT_TrackSegmentsFinder.h:28
AtlasFieldCache.h
ROIPhiRZContainer.h
InDet::TRT_TrackSegmentsFinder::dumpevent
MsgStream & dumpevent(MsgStream &out, int nsegments) const
Definition: TRT_TrackSegmentsFinder.cxx:179
AthReentrantAlgorithm.h
WriteHandleKey.h
Property holding a SG store/key/clid from which a WriteHandle is made.
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
InDet::TRT_TrackSegmentsFinder::execute
StatusCode execute(const EventContext &ctx) const
Definition: TRT_TrackSegmentsFinder.cxx:60
InDet::TRT_TrackSegmentsFinder::m_segmentsMakerTool
ToolHandle< ITRT_TrackSegmentsMaker > m_segmentsMakerTool
Definition: TRT_TrackSegmentsFinder.h:59
InDet::TRT_TrackSegmentsFinder::TRT_TrackSegmentsFinder
TRT_TrackSegmentsFinder(const std::string &name, ISvcLocator *pSvcLocator)
Definition: TRT_TrackSegmentsFinder.cxx:21
SG::ReadCondHandleKey< AtlasFieldCacheCondObj >
InDet::TRT_TrackSegmentsFinder::initialize
StatusCode initialize()
Definition: TRT_TrackSegmentsFinder.cxx:30
InDet::TRT_TrackSegmentsFinder::m_useCaloSeeds
Gaudi::Property< bool > m_useCaloSeeds
Definition: TRT_TrackSegmentsFinder.h:47
InDet::TRT_TrackSegmentsFinder::finalize
StatusCode finalize()
Definition: TRT_TrackSegmentsFinder.cxx:139
InDet::TRT_TrackSegmentsFinder::m_nsegmentsTotal
std::atomic< int > m_nsegmentsTotal
Definition: TRT_TrackSegmentsFinder.h:66
SegmentCollection.h
InDet::TRT_TrackSegmentsFinder::m_foundSegmentsKey
SG::WriteHandleKey< Trk::SegmentCollection > m_foundSegmentsKey
Definition: TRT_TrackSegmentsFinder.h:56