21(
const std::string& name,ISvcLocator* pSvcLocator) :
47 MsgStream& out =
msg(MSG::DEBUG);
53 return StatusCode::SUCCESS;
62 std::unique_ptr<Trk::SegmentCollection> found_segments(std::make_unique<Trk::SegmentCollection>());
63 std::unique_ptr<InDet::ITRT_TrackSegmentsMaker::IEventData> event_data_p;
72 found_segments->push_back(segment);
76 std::vector<IdentifierHash> vTR;
80 return StatusCode::FAILURE;
85 if (fieldCondObj ==
nullptr) {
87 return StatusCode::FAILURE;
90 for (
const ROIPhiRZ &roi : *calo_rois) {
91 if (std::abs(roi[0])>
M_PI)
continue;
92 std::unique_ptr<Trk::TrackParameters> par = PS.createUniqueTrackParameters(0., 0., roi.phi(), roi.theta(), 0., std::nullopt);
99 vTR.reserve(DE.size());
101 vTR.push_back(d->identifyHash());
108 found_segments->push_back(segment);
118 MsgStream& out =
msg(MSG::DEBUG);
127 return StatusCode::FAILURE;
132 return StatusCode::SUCCESS;
142 MsgStream& out =
msg(MSG::INFO);
147 return StatusCode::SUCCESS;
157 std::string s1;
for(
int i=0; i<n; ++i) s1.append(
" "); s1.append(
"|");
159 std::string s2;
for(
int i=0; i<n; ++i) s2.append(
" "); s2.append(
"|");
161 out<<
"|----------------------------------------------------------------"
162 <<
"----------------------------------------------------|"
168 out<<
"|----------------------------------------------------------------"
169 <<
"----------------------------------------------------|"
181 out<<
"|-------------------------------------------------------------------";
182 out<<
"-----------------------------|"
186 ?
"| TRT track segments found with calo seeds |"
187 :
"| TRT track segments found without calo seeds |")
188 <<std::setw(7)<<nsegments
191 out<<
"|-------------------------------------------------------------------";
192 out<<
"-----------------------------|"
#define ATH_CHECK
Evaluate an expression and check for errors.
Handle class for reading from StoreGate.
Handle class for recording to StoreGate.
bool msgLvl(const MSG::Level lvl) const
An algorithm that can be simultaneously executed in multiple threads.
void getInitializedCache(MagField::AtlasFieldCache &cache) const
get B field cache for evaluation as a function of 2-d or 3-d position.
Virtual base class of TRT readout elements.
std::array< std::vector< std::vector< Used_t > >, 3 > TRT_DetElemUsedMap
TRT_TrackSegmentsFinder(const std::string &name, ISvcLocator *pSvcLocator)
ToolHandle< ITRT_TrackSegmentsMaker > m_segmentsMakerTool
MsgStream & dumpevent(MsgStream &out, int nsegments) const
SG::WriteHandleKey< Trk::SegmentCollection > m_foundSegmentsKey
ToolHandle< ITRT_DetElementsRoadMaker > m_roadtool
Gaudi::Property< int > m_minNumberDCs
StatusCode execute(const EventContext &ctx) const
MsgStream & dumptools(MsgStream &out) const
std::atomic< int > m_nsegmentsTotal
SG::ReadCondHandleKey< AtlasFieldCacheCondObj > m_fieldCondObjInputKey
SG::ReadHandleKey< ROIPhiRZContainer > m_caloClusterROIKey
Gaudi::Property< bool > m_useCaloSeeds
Local cache for magnetic field (based on MagFieldServices/AtlasFieldSvcTLS.h)
virtual bool isValid() override final
Can the handle be successfully dereferenced?
Class describing the Line to which the Perigee refers to.
Base class for all TrackSegment implementations, extends the common MeasurementBase.
Eigen::Matrix< double, 3, 1 > Vector3D