diff --git a/reco/L1/CbmL1Performance.cxx b/reco/L1/CbmL1Performance.cxx index 09d171bcde2b1273c7a33089965cbef74d6707fc..28dea69581927331ef43e206b5103e1cc23a11f4 100644 --- a/reco/L1/CbmL1Performance.cxx +++ b/reco/L1/CbmL1Performance.cxx @@ -1274,18 +1274,20 @@ void CbmL1::TrackFitPerformance() PRes2DSec->Fill(mcP.p, (1. / fabs(trPar.qp[0]) - mcP.p) / mcP.p * 100.); } - if (finite(trPar.C00[0]) && trPar.C00[0] > 0) h_fit[5]->Fill((trPar.x[0] - mcP.xIn) / sqrt(trPar.C00[0])); - if (finite(trPar.C11[0]) && trPar.C11[0] > 0) h_fit[6]->Fill((trPar.y[0] - mcP.yIn) / sqrt(trPar.C11[0])); - if (finite(trPar.C22[0]) && trPar.C22[0] > 0) + if (std::isfinite(trPar.C00[0]) && trPar.C00[0] > 0) h_fit[5]->Fill((trPar.x[0] - mcP.xIn) / sqrt(trPar.C00[0])); + if (std::isfinite(trPar.C11[0]) && trPar.C11[0] > 0) h_fit[6]->Fill((trPar.y[0] - mcP.yIn) / sqrt(trPar.C11[0])); + if (std::isfinite(trPar.C22[0]) && trPar.C22[0] > 0) h_fit[7]->Fill((trPar.tx[0] - mcP.pxIn / mcP.pzIn) / sqrt(trPar.C22[0])); - if (finite(trPar.C33[0]) && trPar.C33[0] > 0) + if (std::isfinite(trPar.C33[0]) && trPar.C33[0] > 0) h_fit[8]->Fill((trPar.ty[0] - mcP.pyIn / mcP.pzIn) / sqrt(trPar.C33[0])); - if (finite(trPar.C44[0]) && trPar.C44[0] > 0) h_fit[9]->Fill((trPar.qp[0] - mcP.q / mcP.p) / sqrt(trPar.C44[0])); + if (std::isfinite(trPar.C44[0]) && trPar.C44[0] > 0) + h_fit[9]->Fill((trPar.qp[0] - mcP.q / mcP.p) / sqrt(trPar.C44[0])); h_fit[10]->Fill(trPar.qp[0]); h_fit[11]->Fill(mcP.q / mcP.p); if (last_station > fNMvdStations) h_fit[12]->Fill(trPar.t[0] - mcP.time); if (last_station > fNMvdStations) - if (finite(trPar.C55[0]) && trPar.C55[0] > 0) h_fit[13]->Fill((trPar.t[0] - mcP.time) / sqrt(trPar.C55[0])); + if (std::isfinite(trPar.C55[0]) && trPar.C55[0] > 0) + h_fit[13]->Fill((trPar.t[0] - mcP.time) / sqrt(trPar.C55[0])); #else int iMC = fvHitPointIndexes[it->Hits.front()]; // TODO2: adapt to linking @@ -1305,15 +1307,15 @@ void CbmL1::TrackFitPerformance() else PRes2DSec->Fill(mc.p, (1. / fabs(it->T[4]) - mc.p) / mc.p * 100.); - if (finite(it->C[0]) && it->C[0] > 0) h_fit[5]->Fill((mc.x - it->T[0]) / sqrt(it->C[0])); - if (finite(it->C[2]) && it->C[2] > 0) h_fit[6]->Fill((mc.y - it->T[1]) / sqrt(it->C[2])); - if (finite(it->C[5]) && it->C[5] > 0) h_fit[7]->Fill((mc.px / mc.pz - it->T[2]) / sqrt(it->C[5])); - if (finite(it->C[9]) && it->C[9] > 0) h_fit[8]->Fill((mc.py / mc.pz - it->T[3]) / sqrt(it->C[9])); - if (finite(it->C[14]) && it->C[14] > 0) h_fit[9]->Fill((mc.q / mc.p - it->T[4]) / sqrt(it->C[14])); + if (std::isfinite(it->C[0]) && it->C[0] > 0) h_fit[5]->Fill((mc.x - it->T[0]) / sqrt(it->C[0])); + if (std::isfinite(it->C[2]) && it->C[2] > 0) h_fit[6]->Fill((mc.y - it->T[1]) / sqrt(it->C[2])); + if (std::isfinite(it->C[5]) && it->C[5] > 0) h_fit[7]->Fill((mc.px / mc.pz - it->T[2]) / sqrt(it->C[5])); + if (std::isfinite(it->C[9]) && it->C[9] > 0) h_fit[8]->Fill((mc.py / mc.pz - it->T[3]) / sqrt(it->C[9])); + if (std::isfinite(it->C[14]) && it->C[14] > 0) h_fit[9]->Fill((mc.q / mc.p - it->T[4]) / sqrt(it->C[14])); h_fit[10]->Fill(it->T[4]); h_fit[11]->Fill(mc.q / mc.p); h_fit[12]->Fill(mc.time - it->T[6]); - if (finite(it->C[20]) && it->C[20] > 0) h_fit[13]->Fill((mc.time - it->T[6]) / sqrt(it->C[20])); + if (std::isfinite(it->C[20]) && it->C[20] > 0) h_fit[13]->Fill((mc.time - it->T[6]) / sqrt(it->C[20])); #endif } @@ -1357,17 +1359,21 @@ void CbmL1::TrackFitPerformance() if (last_station > fNMvdStations) h_fitL[12]->Fill(trPar.t[0] - mcP.time); - if (finite(trPar.C00[0]) && trPar.C00[0] > 0) h_fitL[5]->Fill((trPar.x[0] - mcP.xOut) / sqrt(trPar.C00[0])); - if (finite(trPar.C11[0]) && trPar.C11[0] > 0) h_fitL[6]->Fill((trPar.y[0] - mcP.yOut) / sqrt(trPar.C11[0])); - if (finite(trPar.C22[0]) && trPar.C22[0] > 0) + if (std::isfinite(trPar.C00[0]) && trPar.C00[0] > 0) + h_fitL[5]->Fill((trPar.x[0] - mcP.xOut) / sqrt(trPar.C00[0])); + if (std::isfinite(trPar.C11[0]) && trPar.C11[0] > 0) + h_fitL[6]->Fill((trPar.y[0] - mcP.yOut) / sqrt(trPar.C11[0])); + if (std::isfinite(trPar.C22[0]) && trPar.C22[0] > 0) h_fitL[7]->Fill((trPar.tx[0] - mcP.pxOut / mcP.pzOut) / sqrt(trPar.C22[0])); - if (finite(trPar.C33[0]) && trPar.C33[0] > 0) + if (std::isfinite(trPar.C33[0]) && trPar.C33[0] > 0) h_fitL[8]->Fill((trPar.ty[0] - mcP.pyOut / mcP.pzOut) / sqrt(trPar.C33[0])); - if (finite(trPar.C44[0]) && trPar.C44[0] > 0) h_fitL[9]->Fill((trPar.qp[0] - mcP.q / mcP.p) / sqrt(trPar.C44[0])); + if (std::isfinite(trPar.C44[0]) && trPar.C44[0] > 0) + h_fitL[9]->Fill((trPar.qp[0] - mcP.q / mcP.p) / sqrt(trPar.C44[0])); h_fitL[10]->Fill(trPar.qp[0]); h_fitL[11]->Fill(mcP.q / mcP.p); if (last_station > fNMvdStations) - if (finite(trPar.C55[0]) && trPar.C55[0] > 0) h_fitL[13]->Fill((trPar.t[0] - mcP.time) / sqrt(trPar.C55[0])); + if (std::isfinite(trPar.C55[0]) && trPar.C55[0] > 0) + h_fitL[13]->Fill((trPar.t[0] - mcP.time) / sqrt(trPar.C55[0])); #else CbmL1MCPoint& mc = fvMCPoints[iMC]; @@ -1376,18 +1382,19 @@ void CbmL1::TrackFitPerformance() h_fitL[2]->Fill((it->TLast[2] - mc.px / mc.pz) * 1.e3); h_fitL[3]->Fill((it->TLast[3] - mc.py / mc.pz) * 1.e3); h_fitL[4]->Fill(fabs(1. / it->TLast[4]) / mc.p - 1); - if (finite(it->CLast[0]) && it->CLast[0] > 0) h_fitL[5]->Fill((it->TLast[0] - mc.x) / sqrt(it->CLast[0])); - if (finite(it->CLast[2]) && it->CLast[2] > 0) h_fitL[6]->Fill((it->TLast[1] - mc.y) / sqrt(it->CLast[2])); - if (finite(it->CLast[5]) && it->CLast[5] > 0) + if (std::isfinite(it->CLast[0]) && it->CLast[0] > 0) h_fitL[5]->Fill((it->TLast[0] - mc.x) / sqrt(it->CLast[0])); + if (std::isfinite(it->CLast[2]) && it->CLast[2] > 0) h_fitL[6]->Fill((it->TLast[1] - mc.y) / sqrt(it->CLast[2])); + if (std::isfinite(it->CLast[5]) && it->CLast[5] > 0) h_fitL[7]->Fill((it->TLast[2] - mc.px / mc.pz) / sqrt(it->CLast[5])); - if (finite(it->CLast[9]) && it->CLast[9] > 0) + if (std::isfinite(it->CLast[9]) && it->CLast[9] > 0) h_fitL[8]->Fill((it->TLast[3] - mc.py / mc.pz) / sqrt(it->CLast[9])); - if (finite(it->CLast[14]) && it->CLast[14] > 0) + if (std::isfinite(it->CLast[14]) && it->CLast[14] > 0) h_fitL[9]->Fill((it->TLast[4] - mc.q / mc.p) / sqrt(it->CLast[14])); h_fitL[10]->Fill(it->TLast[4]); h_fitL[11]->Fill(mc.q / mc.p); h_fitL[12]->Fill(it->TLast[6] - mc.time); - if (finite(it->CLast[20]) && it->CLast[20] > 0) h_fitL[13]->Fill((it->TLast[6] - mc.time) / sqrt(it->CLast[20])); + if (std::isfinite(it->CLast[20]) && it->CLast[20] > 0) + h_fitL[13]->Fill((it->TLast[6] - mc.time) / sqrt(it->CLast[20])); #endif } @@ -1445,18 +1452,19 @@ void CbmL1::TrackFitPerformance() h_fitSV[2]->Fill((trPar.tx[0] - mc.px / mc.pz) * 1.e3); h_fitSV[3]->Fill((trPar.ty[0] - mc.py / mc.pz) * 1.e3); h_fitSV[4]->Fill(fabs(1. / trPar.qp[0]) / mc.p - 1); - if (finite(trPar.C00[0]) && trPar.C00[0] > 0) h_fitSV[5]->Fill((trPar.x[0] - mc.x) / sqrt(trPar.C00[0])); - if (finite(trPar.C11[0]) && trPar.C11[0] > 0) h_fitSV[6]->Fill((trPar.y[0] - mc.y) / sqrt(trPar.C11[0])); - if (finite(trPar.C22[0]) && trPar.C22[0] > 0) + if (std::isfinite(trPar.C00[0]) && trPar.C00[0] > 0) h_fitSV[5]->Fill((trPar.x[0] - mc.x) / sqrt(trPar.C00[0])); + if (std::isfinite(trPar.C11[0]) && trPar.C11[0] > 0) h_fitSV[6]->Fill((trPar.y[0] - mc.y) / sqrt(trPar.C11[0])); + if (std::isfinite(trPar.C22[0]) && trPar.C22[0] > 0) h_fitSV[7]->Fill((trPar.tx[0] - mc.px / mc.pz) / sqrt(trPar.C22[0])); - if (finite(trPar.C33[0]) && trPar.C33[0] > 0) + if (std::isfinite(trPar.C33[0]) && trPar.C33[0] > 0) h_fitSV[8]->Fill((trPar.ty[0] - mc.py / mc.pz) / sqrt(trPar.C33[0])); - if (finite(trPar.C44[0]) && trPar.C44[0] > 0) + if (std::isfinite(trPar.C44[0]) && trPar.C44[0] > 0) h_fitSV[9]->Fill((trPar.qp[0] - mc.q / mc.p) / sqrt(trPar.C44[0])); h_fitSV[10]->Fill(trPar.qp[0]); h_fitSV[11]->Fill(mc.q / mc.p); h_fitSV[12]->Fill(trPar.t[0] - mc.time); - if (finite(trPar.C55[0]) && trPar.C55[0] > 0) h_fitSV[13]->Fill((trPar.t[0] - mc.time) / sqrt(trPar.C55[0])); + if (std::isfinite(trPar.C55[0]) && trPar.C55[0] > 0) + h_fitSV[13]->Fill((trPar.t[0] - mc.time) / sqrt(trPar.C55[0])); } else { // primary @@ -1546,18 +1554,19 @@ void CbmL1::TrackFitPerformance() h_fitPV[2]->Fill((mc.px / mc.pz - trPar.tx[0]) * 1.e3); h_fitPV[3]->Fill((mc.py / mc.pz - trPar.ty[0]) * 1.e3); h_fitPV[4]->Fill(fabs(1 / trPar.qp[0]) / mc.p - 1); - if (finite(trPar.C00[0]) && trPar.C00[0] > 0) h_fitPV[5]->Fill((mc.x - trPar.x[0]) / sqrt(trPar.C00[0])); - if (finite(trPar.C11[0]) && trPar.C11[0] > 0) h_fitPV[6]->Fill((mc.y - trPar.y[0]) / sqrt(trPar.C11[0])); - if (finite(trPar.C22[0]) && trPar.C22[0] > 0) + if (std::isfinite(trPar.C00[0]) && trPar.C00[0] > 0) h_fitPV[5]->Fill((mc.x - trPar.x[0]) / sqrt(trPar.C00[0])); + if (std::isfinite(trPar.C11[0]) && trPar.C11[0] > 0) h_fitPV[6]->Fill((mc.y - trPar.y[0]) / sqrt(trPar.C11[0])); + if (std::isfinite(trPar.C22[0]) && trPar.C22[0] > 0) h_fitPV[7]->Fill((mc.px / mc.pz - trPar.tx[0]) / sqrt(trPar.C22[0])); - if (finite(trPar.C33[0]) && trPar.C33[0] > 0) + if (std::isfinite(trPar.C33[0]) && trPar.C33[0] > 0) h_fitPV[8]->Fill((mc.py / mc.pz - trPar.ty[0]) / sqrt(trPar.C33[0])); - if (finite(trPar.C44[0]) && trPar.C44[0] > 0) + if (std::isfinite(trPar.C44[0]) && trPar.C44[0] > 0) h_fitPV[9]->Fill((mc.q / mc.p - trPar.qp[0]) / sqrt(trPar.C44[0])); h_fitPV[10]->Fill(trPar.qp[0]); h_fitPV[11]->Fill(mc.q / mc.p); h_fitPV[12]->Fill(mc.time - trPar.t[0]); - if (finite(trPar.C55[0]) && trPar.C55[0] > 0) h_fitPV[13]->Fill((mc.time - trPar.t[0]) / sqrt(trPar.C55[0])); + if (std::isfinite(trPar.C55[0]) && trPar.C55[0] > 0) + h_fitPV[13]->Fill((mc.time - trPar.t[0]) / sqrt(trPar.C55[0])); #else FairTrackParam fTP; @@ -1582,15 +1591,15 @@ void CbmL1::TrackFitPerformance() h_fitPV[2]->Fill((mc.px / mc.pz - it2.T[2]) * 1.e3); h_fitPV[3]->Fill((mc.py / mc.pz - it2.T[3]) * 1.e3); h_fitPV[4]->Fill(it2.T[4] / mc.q * mc.p - 1); - if (finite(it2.C[0]) && it2.C[0] > 0) h_fitPV[5]->Fill((mc.x - it2.T[0]) / sqrt(it2.C[0])); - if (finite(it2.C[2]) && it2.C[2] > 0) h_fitPV[6]->Fill((mc.y - it2.T[1]) / sqrt(it2.C[2])); - if (finite(it2.C[5]) && it2.C[5] > 0) h_fitPV[7]->Fill((mc.px / mc.pz - it2.T[2]) / sqrt(it2.C[5])); - if (finite(it2.C[9]) && it2.C[9] > 0) h_fitPV[8]->Fill((mc.py / mc.pz - it2.T[3]) / sqrt(it2.C[9])); - if (finite(it2.C[14]) && it2.C[14] > 0) h_fitPV[9]->Fill((mc.q / mc.p - it2.T[4]) / sqrt(it2.C[14])); + if (std::isfinite(it2.C[0]) && it2.C[0] > 0) h_fitPV[5]->Fill((mc.x - it2.T[0]) / sqrt(it2.C[0])); + if (std::isfinite(it2.C[2]) && it2.C[2] > 0) h_fitPV[6]->Fill((mc.y - it2.T[1]) / sqrt(it2.C[2])); + if (std::isfinite(it2.C[5]) && it2.C[5] > 0) h_fitPV[7]->Fill((mc.px / mc.pz - it2.T[2]) / sqrt(it2.C[5])); + if (std::isfinite(it2.C[9]) && it2.C[9] > 0) h_fitPV[8]->Fill((mc.py / mc.pz - it2.T[3]) / sqrt(it2.C[9])); + if (std::isfinite(it2.C[14]) && it2.C[14] > 0) h_fitPV[9]->Fill((mc.q / mc.p - it2.T[4]) / sqrt(it2.C[14])); h_fitPV[10]->Fill(it2.T[4]); h_fitPV[11]->Fill(mc.q / mc.p); h_fitPV[12]->Fill(mc.time - it2.T[6]); - if (finite(it2.C[20]) && it2.C[20] > 0) h_fitPV[13]->Fill((mc.time - it2.T[6]) / sqrt(it2.C[20])); + if (std::isfinite(it2.C[20]) && it2.C[20] > 0) h_fitPV[13]->Fill((mc.time - it2.T[6]) / sqrt(it2.C[20])); #endif // L1EXTRAPOLATE } } diff --git a/reco/L1/L1Algo/L1CATrackFinder.cxx b/reco/L1/L1Algo/L1CATrackFinder.cxx index 1df20b4845bd7d895b9fe73cac5a33cc017364ee..efbb464472b03d509cfb18c06c441a47e7f7a25b 100644 --- a/reco/L1/L1Algo/L1CATrackFinder.cxx +++ b/reco/L1/L1Algo/L1CATrackFinder.cxx @@ -1039,7 +1039,7 @@ inline void L1Algo::findTripletsStep2( // input // TODO not updated after gaps //if (!T3.IsEntryConsistent(false, i3_4)) continue; - fscal& qp0 = T3.qp[i3_4]; + fscal qp0 = T3.qp[i3_4]; // prepare data L1HitIndex_t ihit[NHits] = {(*RealIHitP)[hitsl_3[i3] + HitsUnusedStartIndex[ista[0]]], @@ -1229,7 +1229,7 @@ inline void L1Algo::findTripletsStep3( // input //if (!T3.IsEntryConsistent(false, i3_4)) continue; // select - fscal& chi2 = T3.chi2[i3_4]; + fscal chi2 = T3.chi2[i3_4]; const L1HitIndex_t ihitl = hitsl_3[i3] + HitsUnusedStartIndex[istal]; const L1HitIndex_t ihitm = hitsm_3[i3] + HitsUnusedStartIndex[istam]; diff --git a/reco/L1/L1Algo/L1Def.h b/reco/L1/L1Algo/L1Def.h index 00a3d0a2710e334e3aabf57927d1ce1b59f84962..141fba1c6d34f353ab8e8bbd2c88553ea9ee9c16 100644 --- a/reco/L1/L1Algo/L1Def.h +++ b/reco/L1/L1Algo/L1Def.h @@ -20,12 +20,6 @@ #endif -template<typename T> -T finite(T x) -{ - return std::isfinite(x); -} - #ifdef FAST_CODE #define L1_NO_ASSERT // use with asserts, etc.