329 Int_t AddedDigits = 0;
330 Int_t AddedStripDigitMatches = 0;
341 module = station->GetModule(digit->GetModule());
353 AddedStripDigitMatches++;
358 stripDigitNumberMatch.
AddLink(1.0, idigit);
359 module->SetStripDigitNumberMatchInLayerByZoneId(digit->GetStripLayer(), digit->GetStripNumber(),
360 stripDigitNumberMatch);
364 cout <<
" Processed strip digits : " << AddedDigits <<
"\n";
366 cout <<
" Added strip digit MC-matches : " << AddedStripDigitMatches <<
"\n";
372 Int_t NCalculatedPoints =
StationSet->CountNProcessedPointsInDetector();
374 cout <<
" Calculated points : " << NCalculatedPoints <<
"\n";
376 cout <<
"BmnSiliconHitMaker: " << NCalculatedPoints <<
" hits\n";
378 Int_t clear_matched_points_cnt = 0;
380 map<Int_t, StripCluster> UniqueUpperClusters;
381 map<Int_t, StripCluster> UniqueLowerClusters;
383 for (
Int_t iStation = 0; iStation <
StationSet->GetNStations(); ++iStation) {
384 station =
StationSet->GetSiliconStation(iStation);
387 module = station->GetModule(iModule);
392 for (
size_t iCluster = 0; iCluster < layer.
GetStripClusters().size(); ++iCluster) {
409 Int_t NIntersectionPointsInModule =
module->GetNIntersectionPoints();
412 Int_t NPseudoIntersectionsInModule = 0;
414 for (
Int_t iPoint = 0; iPoint < NIntersectionPointsInModule + NPseudoIntersectionsInModule; ++iPoint) {
423 if (iPoint < NIntersectionPointsInModule) {
426 x =
module->GetIntersectionPointX(iPoint);
427 y =
module->GetIntersectionPointY(iPoint);
428 z =
module->GetZPositionRegistered();
429 x_err =
module->GetIntersectionPointXError(iPoint);
430 y_err =
module->GetIntersectionPointYError(iPoint);
436 x =
module->GetPseudoIntersectionX(iPoint - NIntersectionPointsInModule);
437 y =
module->GetPseudoIntersectionY(iPoint - NIntersectionPointsInModule);
438 z =
module->GetZPositionRegistered();
439 x_err =
module->GetPseudoIntersectionXError(iPoint - NIntersectionPointsInModule);
440 y_err =
module->GetPseudoIntersectionYError(iPoint - NIntersectionPointsInModule);
450 x = -point_transformed.
X();
451 y = point_transformed.
Y();
452 z = point_transformed.
Z();
455 Int_t RefMCIndex = -1;
459 if (iPoint < NIntersectionPointsInModule) {
460 mc_match_hit =
module->GetIntersectionPointMatch(iPoint);
462 mc_match_hit =
module->GetPseudoIntersectionMatch(iPoint - NIntersectionPointsInModule);
465 Int_t most_probably_index = -1;
470 clear_matched_points_cnt++;
471 for (
Int_t ilink = 0; ilink < n_links; ilink++) {
474 if (weight > max_weight) {
476 most_probably_index = index;
480 RefMCIndex = most_probably_index;
500 if (iPoint < NIntersectionPointsInModule) {
508 iPoint - NIntersectionPointsInModule));
581 if (iPoint < NIntersectionPointsInModule) {
582 digiMatch =
module->GetIntersectionPointDigitNumberMatch(iPoint);
586 digiMatch =
module->GetPseudoIntersectionDigitNumberMatch(iPoint - NIntersectionPointsInModule);
598 if (iindex == jindex) {
609 hit->SetRefIndex(-1);
612 FairRootManager::Instance()->SetUseFairLinks(
kTRUE);
614 if (iPoint < NIntersectionPointsInModule) {
615 hitMatch =
module->GetIntersectionPointMatch(iPoint);
617 hitMatch =
module->GetPseudoIntersectionMatch(iPoint - NIntersectionPointsInModule);
624 if (hit->GetRefIndex() >= 0) {
626 trID = mcp->GetTrackID();
630 for (
int jl = 0; jl < int(links.size()); ++jl) {
633 flink.SetEntry(trID);
637 FairRootManager::Instance()->SetUseFairLinks(
kFALSE);
668 cout <<
" N clear matches with MC-points = " << clear_matched_points_cnt <<
"\n";