14#ifndef TRT_TrackSegmentsMaker_BarrelCosmics_H
15#define TRT_TrackSegmentsMaker_BarrelCosmics_H
58 virtual StatusCode
finalize ()
override;
60 virtual std::unique_ptr<InDet::ITRT_TrackSegmentsMaker::IEventData>
newEvent(
const EventContext& ctx)
const override;
61 virtual std::unique_ptr<InDet::ITRT_TrackSegmentsMaker::IEventData>
newRegion(
const EventContext& ctx,
const std::vector<IdentifierHash>&)
const override;
64 virtual void find(
const EventContext &ctx,
68 &event_data)
const override;
70 virtual MsgStream&
dump (MsgStream & out)
const override
72 virtual std::ostream&
dump (std::ostream& out)
const override
96 std::vector< const InDet::TRT_DriftCircle * >
m_listHits;
111 "Name of TRT det. manager"};
123 double *bestParameters,
130 void convert(std::vector<const InDet::TRT_DriftCircle *> &hits,
142 static void segFit(
double *measx,
double *measy,
int nhits,
double *residuals = 0,
double *
result = 0);
156 "minimal time over threshold for seed search - default ~ 10 ns"};
158 "search for lines (if False) or circles (if True)"};
Property holding a SG store/key/clid from which a ReadHandle is made.
std::array< std::vector< std::vector< Used_t > >, 3 > TRT_DetElemUsedMap
std::vector< std::vector< const InDet::TRT_DriftCircle * > > m_segmentDriftCircles
std::vector< const InDet::TRT_DriftCircle * > m_listHits
EventData(const TRT_DriftCircleContainer *trtcontainer)
const TRT_DriftCircleContainer * m_trtcontainer
std::vector< Trk::TrackSegment * > m_segments
List of found segments.
unsigned int m_segmentDriftCirclesCount
std::vector< Amg::Vector3D > m_listHitCenter
friend class TRT_TrackSegmentsMaker_BarrelCosmics
virtual std::ostream & dump(std::ostream &out) const override
virtual MsgStream & dump(MsgStream &out) const override
static void linearRegressionParabolaFit(double *mean, double *a)
StringProperty m_TRTManagerName
IntegerProperty m_nBinsInPhi
BooleanProperty m_mergeSegments
void findSeedInverseR(double *par, TRT_TrackSegmentsMaker_BarrelCosmics::EventData &event_data) const
TRT_TrackSegmentsMaker_BarrelCosmics(const std::string &, const std::string &, const IInterface *)
virtual Trk::TrackSegment * next(InDet::ITRT_TrackSegmentsMaker::IEventData &event_data) const override
static void segFit(double *measx, double *measy, int nhits, double *residuals=0, double *result=0)
virtual std::unique_ptr< InDet::ITRT_TrackSegmentsMaker::IEventData > newRegion(const EventContext &ctx, const std::vector< IdentifierHash > &) const override
DoubleProperty m_minSeedTOT
SG::ReadHandleKey< InDet::TRT_DriftCircleContainer > m_driftCirclesName
Container with TRT clusters.
IntegerProperty m_minHitsForSegment
BooleanProperty m_magneticField
int findSeed(double xmin, double xmax, double phimin, double phimax, double *bestParameters, TRT_TrackSegmentsMaker_BarrelCosmics::EventData &event_data) const
void findOld(TRT_TrackSegmentsMaker_BarrelCosmics::EventData &event_data) const
virtual void find(const EventContext &ctx, InDet::ITRT_TrackSegmentsMaker::IEventData &event_data, InDet::TRT_DetElementLink_xk::TRT_DetElemUsedMap &used) const override
virtual StatusCode initialize() override
void convert(std::vector< const InDet::TRT_DriftCircle * > &hits, double *trackpar, TRT_TrackSegmentsMaker_BarrelCosmics::EventData &event_data) const
virtual StatusCode finalize() override
IntegerProperty m_minHitsForSeed
void endEvent(InDet::ITRT_TrackSegmentsMaker::IEventData &event_data) const override
virtual ~TRT_TrackSegmentsMaker_BarrelCosmics()
virtual std::unique_ptr< InDet::ITRT_TrackSegmentsMaker::IEventData > newEvent(const EventContext &ctx) const override
IntegerProperty m_minHitsAboveTOT
IntegerProperty m_nBinsInX
IntegerProperty m_maxTotalHits
static bool sortHits(const InDet::TRT_DriftCircle *, const InDet::TRT_DriftCircle *)
sort hits on segment such that they are ordered from larger y to smaller (from top down)
SiSpacePointsSeedMakerEventData EventData
Property holding a SG store/key/clid from which a ReadHandle is made.
This is an Identifier helper class for the TRT subdetector.
Base for a helper class to pass mutable storage to tools.
Class for a generic track segment that holdes polymorphic Trk::MeasurementBase objects,...
holding In fact this class is here in order to allow STL container for all features This class is sho...
void mean(std::vector< double > &bins, std::vector< double > &values, const std::vector< std::string > &files, const std::string &histname, const std::string &tplotname, const std::string &label="")