228 Int_t AddedDigits = 0;
229 Int_t AddedStripDigitMatches = 0;
240 module = station->GetModule(digit->GetModule());
252 AddedStripDigitMatches++;
257 stripDigitNumberMatch.
AddLink(1.0, idigit);
258 module->SetStripDigitNumberMatchInLayerByZoneId(digit->GetStripLayer(), digit->GetStripNumber(),
259 stripDigitNumberMatch);
263 cout <<
" Processed strip digits : " << AddedDigits <<
"\n";
265 cout <<
" Added strip digit MC-matches : " << AddedStripDigitMatches <<
"\n";
271 Int_t NCalculatedPoints =
StationSet->CountNProcessedPointsInDetector();
273 cout <<
" Calculated points : " << NCalculatedPoints <<
"\n";
275 cout <<
"BmnVSPHitMaker: " << NCalculatedPoints <<
" hits\n";
277 Int_t clear_matched_points_cnt = 0;
279 map<Int_t, StripCluster> UniqueUpperClusters;
280 map<Int_t, StripCluster> UniqueLowerClusters;
282 for (
Int_t iStation = 0; iStation <
StationSet->GetNStations(); ++iStation) {
283 station =
StationSet->GetVSPStation(iStation);
286 module = station->GetModule(iModule);
291 for (
size_t iCluster = 0; iCluster < layer.
GetStripClusters().size(); ++iCluster) {
308 Int_t NIntersectionPointsInModule =
module->GetNIntersectionPoints();
311 Int_t NPseudoIntersectionsInModule = 0;
313 for (
Int_t iPoint = 0; iPoint < NIntersectionPointsInModule + NPseudoIntersectionsInModule; ++iPoint) {
322 if (iPoint < NIntersectionPointsInModule) {
325 x =
module->GetIntersectionPointX(iPoint);
326 y =
module->GetIntersectionPointY(iPoint);
327 z =
module->GetZPositionRegistered();
328 x_err =
module->GetIntersectionPointXError(iPoint);
329 y_err =
module->GetIntersectionPointYError(iPoint);
335 x =
module->GetPseudoIntersectionX(iPoint - NIntersectionPointsInModule);
336 y =
module->GetPseudoIntersectionY(iPoint - NIntersectionPointsInModule);
337 z =
module->GetZPositionRegistered();
338 x_err =
module->GetPseudoIntersectionXError(iPoint - NIntersectionPointsInModule);
339 y_err =
module->GetPseudoIntersectionYError(iPoint - NIntersectionPointsInModule);
349 x = -point_transformed.
X();
350 y = point_transformed.
Y();
351 z = point_transformed.
Z();
354 Int_t RefMCIndex = -1;
358 if (iPoint < NIntersectionPointsInModule) {
359 mc_match_hit =
module->GetIntersectionPointMatch(iPoint);
361 mc_match_hit =
module->GetPseudoIntersectionMatch(iPoint - NIntersectionPointsInModule);
364 Int_t most_probably_index = -1;
369 clear_matched_points_cnt++;
370 for (
Int_t ilink = 0; ilink < n_links; ilink++) {
373 if (weight > max_weight) {
375 most_probably_index = index;
379 RefMCIndex = most_probably_index;
398 if (iPoint < NIntersectionPointsInModule) {
406 iPoint - NIntersectionPointsInModule));
479 if (iPoint < NIntersectionPointsInModule) {
480 digiMatch =
module->GetIntersectionPointDigitNumberMatch(iPoint);
484 digiMatch =
module->GetPseudoIntersectionDigitNumberMatch(iPoint - NIntersectionPointsInModule);
496 if (iindex == jindex) {
507 hit->SetRefIndex(-1);
510 FairRootManager::Instance()->SetUseFairLinks(
kTRUE);
512 if (iPoint < NIntersectionPointsInModule) {
513 hitMatch =
module->GetIntersectionPointMatch(iPoint);
515 hitMatch =
module->GetPseudoIntersectionMatch(iPoint - NIntersectionPointsInModule);
522 if (hit->GetRefIndex() >= 0) {
524 trID = mcp->GetTrackID();
528 for (
int jl = 0; jl < int(links.size()); ++jl) {
531 flink.SetEntry(trID);
535 FairRootManager::Instance()->SetUseFairLinks(
kFALSE);
564 cout <<
" N clear matches with MC-points = " << clear_matched_points_cnt <<
"\n";