21 threshold_ ( iConfig.getParameter<double>(
"threshold" ) ),
22 thresholdFromMaximum_( iConfig.getParameter<double>(
"thresholdFromMaximum" ) ),
23 resolution_ ( iConfig.getParameter<double>(
"resolution" ) ),
24 sigma_ ( iConfig.getParameter<double>(
"sigma" ) ),
25 startFromX_ ( iConfig.getParameter<double>(
"startFromX" ) ),
26 stopAtX_ ( iConfig.getParameter<double>(
"stopAtX" ) ),
27 yPositionInitial_ ( iConfig.getParameter<double>(
"yPosition" ) ),
28 yWidthInitial_ ( iConfig.getParameter<double>(
"yWidth" ) ),
29 hit_f_(
"hit_TF1_CTPPS", iConfig.getParameter<
std::
string>(
"pixelEfficiencyFunction" ).c_str(), startFromX_, stopAtX_ )
82 int number_of_tracks = 0;
85 for (
auto const& param : oot.second ) {
86 hit_f_.SetParameters( param.center, param.width,
sigma_ );
87 for (
unsigned int i=0;
i<hit_profile.size(); ++
i ) {
94 int track_start_n = 0;
96 for (
unsigned int i=0;
i<hit_profile.size(); ++
i ) {
103 if ( hit_profile[
i] > maximum ) {
104 maximum = hit_profile[
i];
111 for (
unsigned int j=track_start_n; j<=
i; ++j ) {
112 if ( below && hit_profile[j] >= threshold ) {
116 if ( !below && hit_profile[j] < threshold ) {
126 track.setValid(
true );
136 return number_of_tracks;
const float thresholdFromMaximum_
static const std::string pixelEfficiencyDefaultFunction_
Default hit function accounting for the pad spatial efficiency.
void push_back(const T &t)
void clear()
Reset the list of hits.
Reconstructed hit in diamond detectors.
HitParametersVectorMap hitParametersVectorMap_
CTPPSDiamondTrackRecognition(const edm::ParameterSet &)
TF1 hit_f_
Function for pad efficiency.
~CTPPSDiamondTrackRecognition()
void addHit(const CTPPSDiamondRecHit &recHit)
Feed a new hit to the tracks recognition algorithm.
XYZPointD XYZPoint
point in space with cartesian internal representation
bool getMultipleHits() const
int produceTracks(edm::DetSet< CTPPSDiamondLocalTrack > &tracks)
Produce a collection of tracks for the current station, given its hits collection.
std::unordered_map< int, int > mhMap_