17 excludeSingleEdgeHits_(iConfig.getParameter<bool>(
"excludeSingleEdgeHits")) {}
38 int numberOfTracks = 0;
39 DimensionParameters param;
50 const auto& oot = hitBatch.first;
51 const auto& hits = hitBatch.second;
58 param.rangeBegin = hitRange.xBegin;
59 param.rangeEnd = hitRange.xEnd;
62 if (xPartTracks.empty())
65 const float yRangeCenter = 0.5f * (hitRange.yBegin + hitRange.yEnd);
66 const float zRangeCenter = 0.5f * (hitRange.zBegin + hitRange.zEnd);
67 const float ySigma = 0.5f * (hitRange.yEnd - hitRange.yBegin);
68 const float zSigma = 0.5f * (hitRange.zEnd - hitRange.zBegin);
70 for (
const auto& xTrack : xPartTracks) {
79 for (
const auto&
hit : hits)
81 componentHits.emplace_back(
hit);
83 float mean_time = 0.f, time_sigma = 0.f;
84 bool valid_hits =
timeEval(componentHits, mean_time, time_sigma);
93 return numberOfTracks;
std::vector< CTPPSDiamondRecHit > HitVector
SpatialRange getHitSpatialRange(const HitVector &hits)
void push_back(const T &t)
void producePartialTracks(const HitVector &hits, const DimensionParameters ¶m, float(*getHitCenter)(const CTPPSDiamondRecHit &), float(*getHitRangeWidth)(const CTPPSDiamondRecHit &), void(*setTrackCenter)(CTPPSDiamondLocalTrack &, float), void(*setTrackSigma)(CTPPSDiamondLocalTrack &, float), TrackVector &result)
Reconstructed hit in diamond detectors.
auto const & tracks
cannot be loose
int produceTracks(edm::DetSet< CTPPSDiamondLocalTrack > &tracks) override
Produce a collection of tracks for the current station, given its hits collection.
virtual void clear()
Reset internal state of a class instance.
bool timeEval(const HitVector &hits, float &meanTime, float &timeSigma) const
bool containsHit(const CTPPSDiamondRecHit &recHit, float tolerance=0.1) const
void setTimeSigma(float t_sigma)
CTPPSDiamondTrackRecognition(const edm::ParameterSet &iConfig)
std::vector< CTPPSDiamondLocalTrack > TrackVector
void setPosition(const math::XYZPoint &pos0)
HitVectorMap hitVectorMap_
RecHit vectors that should be processed separately while reconstructing tracks.
XYZPointD XYZPoint
point in space with cartesian internal representation
std::unordered_map< int, int > mhMap_
static int position[264][3]
void addHit(const CTPPSDiamondRecHit &recHit) override
Feed a new hit to the tracks recognition algorithm.
void clear() override
Reset internal state of a class instance.
bool excludeSingleEdgeHits_
void setPositionSigma(const math::XYZPoint &pos0_sigma)
void setValid(bool valid)