diff --git a/reco/L1/CMakeLists.txt b/reco/L1/CMakeLists.txt index d61823b1761f3fa7256af2a0f3447185413e246f..7e89dcffe2f80c0fb25fac27f660f2463a35158a 100644 --- a/reco/L1/CMakeLists.txt +++ b/reco/L1/CMakeLists.txt @@ -247,6 +247,7 @@ Set(LINKDEF L1LinkDef.h) Set(LIBRARY_NAME L1) Set(DEPENDENCIES + Vc.a KF KFParticle Base @@ -304,7 +305,6 @@ Install(FILES CbmL1Counters.h L1Algo/L1Constants.h L1Algo/L1Utils.h L1Algo/L1NaN.h - vectors/vec_arithmetic.h vectors/std_alloc.h DESTINATION include ) diff --git a/reco/L1/CbmL1Performance.cxx b/reco/L1/CbmL1Performance.cxx index a002a0d46b26b8f37ed8bfbcd3adf276516b76a8..ea920eba8a4c1442dafcd63f3aea0743968edd18 100644 --- a/reco/L1/CbmL1Performance.cxx +++ b/reco/L1/CbmL1Performance.cxx @@ -1238,24 +1238,26 @@ void CbmL1::TrackFitPerformance() fld.Set(B[0], z[0], B[1], z[1], B[2], z[2]); L1Extrapolate(trPar, mcP.zIn, trPar.qp, fld); - double dx = trPar.x[0] - mcP.xIn; - double dy = trPar.y[0] - mcP.yIn; + const L1TrackPar& tr = trPar; + + double dx = tr.x[0] - mcP.xIn; + double dy = tr.y[0] - mcP.yIn; double dt = sqrt(dx * dx + dy * dy); // make dt distance negative for the half of the tracks to ease the gaussian fit and the rms calculation if (mc.ID % 2) dt = -dt; double pt = sqrt(mcP.px * mcP.px + mcP.py * mcP.py); h_fit[0]->Fill(dx * 1.e4); h_fit[1]->Fill(dy * 1.e4); - h_fit[2]->Fill((trPar.tx[0] - mcP.pxIn / mcP.pzIn) * 1.e3); - h_fit[3]->Fill((trPar.ty[0] - mcP.pyIn / mcP.pzIn) * 1.e3); - h_fit[4]->Fill(fabs(1. / trPar.qp[0]) / mcP.p - 1); + h_fit[2]->Fill((tr.tx[0] - mcP.pxIn / mcP.pzIn) * 1.e3); + h_fit[3]->Fill((tr.ty[0] - mcP.pyIn / mcP.pzIn) * 1.e3); + h_fit[4]->Fill(fabs(1. / tr.qp[0]) / mcP.p - 1); - PRes2D->Fill(mcP.p, (1. / fabs(trPar.qp[0]) - mcP.p) / mcP.p * 100.); + PRes2D->Fill(mcP.p, (1. / fabs(tr.qp[0]) - mcP.p) / mcP.p * 100.); CbmL1MCTrack mcTrack = *(it->GetMCTracks()[0]); if (mcTrack.IsPrimary()) { - PRes2DPrim->Fill(mcP.p, (1. / fabs(trPar.qp[0]) - mcP.p) / mcP.p * 100.); + PRes2DPrim->Fill(mcP.p, (1. / fabs(tr.qp[0]) - mcP.p) / mcP.p * 100.); if (abs(mcTrack.pdg) == 211) { pion_res_p_fstt->Fill(mcP.p, dt * 1.e4); @@ -1271,23 +1273,19 @@ void CbmL1::TrackFitPerformance() } } else { - PRes2DSec->Fill(mcP.p, (1. / fabs(trPar.qp[0]) - mcP.p) / mcP.p * 100.); + PRes2DSec->Fill(mcP.p, (1. / fabs(tr.qp[0]) - mcP.p) / mcP.p * 100.); } - 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 (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 (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]); + if (std::isfinite(tr.C00[0]) && tr.C00[0] > 0) h_fit[5]->Fill((tr.x[0] - mcP.xIn) / sqrt(tr.C00[0])); + if (std::isfinite(tr.C11[0]) && tr.C11[0] > 0) h_fit[6]->Fill((tr.y[0] - mcP.yIn) / sqrt(tr.C11[0])); + if (std::isfinite(tr.C22[0]) && tr.C22[0] > 0) h_fit[7]->Fill((tr.tx[0] - mcP.pxIn / mcP.pzIn) / sqrt(tr.C22[0])); + if (std::isfinite(tr.C33[0]) && tr.C33[0] > 0) h_fit[8]->Fill((tr.ty[0] - mcP.pyIn / mcP.pzIn) / sqrt(tr.C33[0])); + if (std::isfinite(tr.C44[0]) && tr.C44[0] > 0) h_fit[9]->Fill((tr.qp[0] - mcP.q / mcP.p) / sqrt(tr.C44[0])); + h_fit[10]->Fill(tr.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) h_fit[12]->Fill(tr.t[0] - mcP.time); if (last_station > fNMvdStations) - if (std::isfinite(trPar.C55[0]) && trPar.C55[0] > 0) - h_fit[13]->Fill((trPar.t[0] - mcP.time) / sqrt(trPar.C55[0])); + if (std::isfinite(tr.C55[0]) && tr.C55[0] > 0) h_fit[13]->Fill((tr.t[0] - mcP.time) / sqrt(tr.C55[0])); #else int iMC = fvHitPointIndexes[it->Hits.front()]; // TODO2: adapt to linking @@ -1351,29 +1349,27 @@ void CbmL1::TrackFitPerformance() fld.Set(B[0], z[0], B[1], z[1], B[2], z[2]); L1Extrapolate(trPar, mcP.zOut, trPar.qp, fld); - h_fitL[0]->Fill((trPar.x[0] - mcP.xOut) * 1.e4); - h_fitL[1]->Fill((trPar.y[0] - mcP.yOut) * 1.e4); - h_fitL[2]->Fill((trPar.tx[0] - mcP.pxOut / mcP.pzOut) * 1.e3); - h_fitL[3]->Fill((trPar.ty[0] - mcP.pyOut / mcP.pzOut) * 1.e3); - h_fitL[4]->Fill(fabs(1. / trPar.qp[0]) / mcP.p - 1); - if (last_station > fNMvdStations) h_fitL[12]->Fill(trPar.t[0] - mcP.time); - - - 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 (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 (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]); + const L1TrackPar& tr = trPar; + + h_fitL[0]->Fill((tr.x[0] - mcP.xOut) * 1.e4); + h_fitL[1]->Fill((tr.y[0] - mcP.yOut) * 1.e4); + h_fitL[2]->Fill((tr.tx[0] - mcP.pxOut / mcP.pzOut) * 1.e3); + h_fitL[3]->Fill((tr.ty[0] - mcP.pyOut / mcP.pzOut) * 1.e3); + h_fitL[4]->Fill(fabs(1. / tr.qp[0]) / mcP.p - 1); + if (last_station > fNMvdStations) h_fitL[12]->Fill(tr.t[0] - mcP.time); + + + if (std::isfinite(tr.C00[0]) && tr.C00[0] > 0) h_fitL[5]->Fill((tr.x[0] - mcP.xOut) / sqrt(tr.C00[0])); + if (std::isfinite(tr.C11[0]) && tr.C11[0] > 0) h_fitL[6]->Fill((tr.y[0] - mcP.yOut) / sqrt(tr.C11[0])); + if (std::isfinite(tr.C22[0]) && tr.C22[0] > 0) + h_fitL[7]->Fill((tr.tx[0] - mcP.pxOut / mcP.pzOut) / sqrt(tr.C22[0])); + if (std::isfinite(tr.C33[0]) && tr.C33[0] > 0) + h_fitL[8]->Fill((tr.ty[0] - mcP.pyOut / mcP.pzOut) / sqrt(tr.C33[0])); + if (std::isfinite(tr.C44[0]) && tr.C44[0] > 0) h_fitL[9]->Fill((tr.qp[0] - mcP.q / mcP.p) / sqrt(tr.C44[0])); + h_fitL[10]->Fill(tr.qp[0]); h_fitL[11]->Fill(mcP.q / mcP.p); if (last_station > fNMvdStations) - if (std::isfinite(trPar.C55[0]) && trPar.C55[0] > 0) - h_fitL[13]->Fill((trPar.t[0] - mcP.time) / sqrt(trPar.C55[0])); + if (std::isfinite(tr.C55[0]) && tr.C55[0] > 0) h_fitL[13]->Fill((tr.t[0] - mcP.time) / sqrt(tr.C55[0])); #else CbmL1MCPoint& mc = fvMCPoints[iMC]; @@ -1435,9 +1431,12 @@ void CbmL1::TrackFitPerformance() } } if (mc.z != trPar.z[0]) continue; + + const L1TrackPar& tr = trPar; + // static int good = 0; // static int bad = 0; - // if (mc.z != trPar.z[0]){ + // if (mc.z != tr.z[0]){ // bad++; // continue; // } @@ -1445,26 +1444,22 @@ void CbmL1::TrackFitPerformance() // cout << "bad\\good" << bad << " " << good << endl; // calculate pulls - //h_fitSV[0]->Fill( (mc.x-trPar.x[0]) *1.e4); - //h_fitSV[1]->Fill( (mc.y-trPar.y[0]) *1.e4); - h_fitSV[0]->Fill((trPar.x[0] - mc.x)); - h_fitSV[1]->Fill((trPar.y[0] - mc.y)); - 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 (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 (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 (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[0]->Fill( (mc.x-tr.x[0]) *1.e4); + //h_fitSV[1]->Fill( (mc.y-tr.y[0]) *1.e4); + h_fitSV[0]->Fill((tr.x[0] - mc.x)); + h_fitSV[1]->Fill((tr.y[0] - mc.y)); + h_fitSV[2]->Fill((tr.tx[0] - mc.px / mc.pz) * 1.e3); + h_fitSV[3]->Fill((tr.ty[0] - mc.py / mc.pz) * 1.e3); + h_fitSV[4]->Fill(fabs(1. / tr.qp[0]) / mc.p - 1); + if (std::isfinite(tr.C00[0]) && tr.C00[0] > 0) h_fitSV[5]->Fill((tr.x[0] - mc.x) / sqrt(tr.C00[0])); + if (std::isfinite(tr.C11[0]) && tr.C11[0] > 0) h_fitSV[6]->Fill((tr.y[0] - mc.y) / sqrt(tr.C11[0])); + if (std::isfinite(tr.C22[0]) && tr.C22[0] > 0) h_fitSV[7]->Fill((tr.tx[0] - mc.px / mc.pz) / sqrt(tr.C22[0])); + if (std::isfinite(tr.C33[0]) && tr.C33[0] > 0) h_fitSV[8]->Fill((tr.ty[0] - mc.py / mc.pz) / sqrt(tr.C33[0])); + if (std::isfinite(tr.C44[0]) && tr.C44[0] > 0) h_fitSV[9]->Fill((tr.qp[0] - mc.q / mc.p) / sqrt(tr.C44[0])); + h_fitSV[10]->Fill(tr.qp[0]); h_fitSV[11]->Fill(mc.q / mc.p); - h_fitSV[12]->Fill(trPar.t[0] - mc.time); - if (std::isfinite(trPar.C55[0]) && trPar.C55[0] > 0) - h_fitSV[13]->Fill((trPar.t[0] - mc.time) / sqrt(trPar.C55[0])); + h_fitSV[12]->Fill(tr.t[0] - mc.time); + if (std::isfinite(tr.C55[0]) && tr.C55[0] > 0) h_fitSV[13]->Fill((tr.t[0] - mc.time) / sqrt(tr.C55[0])); } else { // primary @@ -1527,8 +1522,10 @@ void CbmL1::TrackFitPerformance() } if (mc.z != trPar.z[0]) continue; - double dx = trPar.x[0] - mc.x; - double dy = trPar.y[0] - mc.y; + const L1TrackPar& tr = trPar; + + double dx = tr.x[0] - mc.x; + double dy = tr.y[0] - mc.y; double dt = sqrt(dx * dx + dy * dy); // make dt distance negative for the half of the tracks to ease the gaussian fit and the rms calculation if (mc.ID % 2) dt = -dt; @@ -1549,24 +1546,20 @@ void CbmL1::TrackFitPerformance() } // calculate pulls - h_fitPV[0]->Fill((mc.x - trPar.x[0])); - h_fitPV[1]->Fill((mc.y - trPar.y[0])); - 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 (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 (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 (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[0]->Fill((mc.x - tr.x[0])); + h_fitPV[1]->Fill((mc.y - tr.y[0])); + h_fitPV[2]->Fill((mc.px / mc.pz - tr.tx[0]) * 1.e3); + h_fitPV[3]->Fill((mc.py / mc.pz - tr.ty[0]) * 1.e3); + h_fitPV[4]->Fill(fabs(1 / tr.qp[0]) / mc.p - 1); + if (std::isfinite(tr.C00[0]) && tr.C00[0] > 0) h_fitPV[5]->Fill((mc.x - tr.x[0]) / sqrt(tr.C00[0])); + if (std::isfinite(tr.C11[0]) && tr.C11[0] > 0) h_fitPV[6]->Fill((mc.y - tr.y[0]) / sqrt(tr.C11[0])); + if (std::isfinite(tr.C22[0]) && tr.C22[0] > 0) h_fitPV[7]->Fill((mc.px / mc.pz - tr.tx[0]) / sqrt(tr.C22[0])); + if (std::isfinite(tr.C33[0]) && tr.C33[0] > 0) h_fitPV[8]->Fill((mc.py / mc.pz - tr.ty[0]) / sqrt(tr.C33[0])); + if (std::isfinite(tr.C44[0]) && tr.C44[0] > 0) h_fitPV[9]->Fill((mc.q / mc.p - tr.qp[0]) / sqrt(tr.C44[0])); + h_fitPV[10]->Fill(tr.qp[0]); h_fitPV[11]->Fill(mc.q / mc.p); - h_fitPV[12]->Fill(mc.time - trPar.t[0]); - if (std::isfinite(trPar.C55[0]) && trPar.C55[0] > 0) - h_fitPV[13]->Fill((mc.time - trPar.t[0]) / sqrt(trPar.C55[0])); + h_fitPV[12]->Fill(mc.time - tr.t[0]); + if (std::isfinite(tr.C55[0]) && tr.C55[0] > 0) h_fitPV[13]->Fill((mc.time - tr.t[0]) / sqrt(tr.C55[0])); #else FairTrackParam fTP; diff --git a/reco/L1/L1Algo/utils/L1AlgoPulls.cxx b/reco/L1/L1Algo/utils/L1AlgoPulls.cxx index 796c8c9bc512f80f87d9f9c504b6b1e1753ec483..269ad148ccdc52d3870b9b51b7f978658131e903 100644 --- a/reco/L1/L1Algo/utils/L1AlgoPulls.cxx +++ b/reco/L1/L1Algo/utils/L1AlgoPulls.cxx @@ -113,16 +113,18 @@ void L1AlgoPulls::AddOne(L1TrackPar& T_, int i, L1HitIndex_t ih) if (T_.chi2[i] > csCut * T_.NDF[i]) return; // get error TL1TrackParameters err; - if (!(finite(T_.C00[i]) && T_.C00[i] > 0)) return; - if (!(finite(T_.C11[i]) && T_.C11[i] > 0)) return; - if (!(finite(T_.C22[i]) && T_.C22[i] > 0)) return; - if (!(finite(T_.C33[i]) && T_.C33[i] > 0)) return; - if (!(finite(T_.C44[i]) && T_.C44[i] > 0)) return; - err.x = sqrt(T_.C00[i]); - err.y = sqrt(T_.C11[i]); - err.tx = sqrt(T_.C22[i]); - err.ty = sqrt(T_.C33[i]); - err.qp = sqrt(T_.C44[i]); + const L1TrackPar& tr = T_; + + if (!(finite(tr.C00[i]) && tr.C00[i] > 0)) return; + if (!(finite(tr.C11[i]) && tr.C11[i] > 0)) return; + if (!(finite(tr.C22[i]) && tr.C22[i] > 0)) return; + if (!(finite(tr.C33[i]) && tr.C33[i] > 0)) return; + if (!(finite(tr.C44[i]) && tr.C44[i] > 0)) return; + err.x = sqrt(tr.C00[i]); + err.y = sqrt(tr.C11[i]); + err.tx = sqrt(tr.C22[i]); + err.ty = sqrt(tr.C33[i]); + err.qp = sqrt(tr.C44[i]); // mc data int iMCP = fL1->fvHitPointIndexes[ih]; diff --git a/reco/detectors/trd/CMakeLists.txt b/reco/detectors/trd/CMakeLists.txt index 1a597c1d90b9c4d60201864ba11bf6cf7e3532d7..67d9216f7f218aecafe793a22816303527fbc11d 100644 --- a/reco/detectors/trd/CMakeLists.txt +++ b/reco/detectors/trd/CMakeLists.txt @@ -110,6 +110,7 @@ Set(DEPENDENCIES Base CbmTrdBase TMVA + Vc.a ) GENERATE_LIBRARY() diff --git a/reco/eventbuilder/CMakeLists.txt b/reco/eventbuilder/CMakeLists.txt index 9c19042b0d7f23b71c05d022a321ac7872dcc786..dbbd738472b2f6b9fb19a0acb7dcb64c20742141 100644 --- a/reco/eventbuilder/CMakeLists.txt +++ b/reco/eventbuilder/CMakeLists.txt @@ -89,7 +89,7 @@ ENDIF (SSE_FOUND) set(LINKDEF CbmEventBuilderLinkDef.h) Set(LIBRARY_NAME CbmEventBuilder) Set(DEPENDENCIES - CbmData CbmBase CbmField CbmStsBase CbmMvd Base CbmQaBase + CbmData CbmBase CbmField CbmStsBase CbmMvd Base CbmQaBase Vc.a ) GENERATE_LIBRARY() diff --git a/reco/littrack/CMakeLists.txt b/reco/littrack/CMakeLists.txt index 15cd7a0194cbbd4fc629c3b537e4f094ae2bb66b..cb31c94913acfd097b6d285354ad8772ea1a28d5 100644 --- a/reco/littrack/CMakeLists.txt +++ b/reco/littrack/CMakeLists.txt @@ -50,6 +50,7 @@ ${CBMDETECTORBASE_DIR}/rich/utils ${CBMROOT_SOURCE_DIR}/reco/KF ${CBMROOT_SOURCE_DIR}/reco/KF/Interface +${CBMROOT_SOURCE_DIR}/reco/L1/vectors ${CBMROOT_SOURCE_DIR}/run ) diff --git a/reco/littrack/parallel/CMakeLists.txt b/reco/littrack/parallel/CMakeLists.txt index 770175e4dd2b4c2fc1bbe4c1010de71cf50a4a2c..8aa95f147cdc127064c8adbc864833759803516d 100644 --- a/reco/littrack/parallel/CMakeLists.txt +++ b/reco/littrack/parallel/CMakeLists.txt @@ -1,40 +1,41 @@ # Create a library called "libLittrackparallel". set(INCLUDE_DIRECTORIES - + ${CBMROOT_SOURCE_DIR}/reco/L1/vectors ) -include_directories( ${INCLUDE_DIRECTORIES}) +include_directories(${INCLUDE_DIRECTORIES}) set(LINK_DIRECTORIES - + ${Vc_LIB_DIR} ) link_directories(${LINK_DIRECTORIES}) set(LITTRACKPARALLEL_SRCS - LitTrackFinderNN.cxx + LitTrackFinderNN.cxx ) set(LITTRACKPARALLEL_HEADERS - ) if(RULE_CHECKER_FOUND) CHECK_RULES("${LITTRACKPARALLEL_SRCS}" "${INCLUDE_DIRECTORIES}" LITTRACKPARALLEL_RULES) endif(RULE_CHECKER_FOUND) -IF (SSE_FOUND) +IF(SSE_FOUND) ADD_DEFINITIONS(-DHAVE_SSE) SET_SOURCE_FILES_PROPERTIES(${LITTRACKPARALLEL_SRCS} PROPERTIES COMPILE_FLAGS "-msse -O3 ") Message(STATUS "Littrackparallel will be compiled with SSE support") -ELSE (SSE_FOUND) +ELSE(SSE_FOUND) Message(STATUS "Littrackparallel will be compiled without SSE support") SET_SOURCE_FILES_PROPERTIES(${LITTRACKPARALLEL_SRCS} PROPERTIES COMPILE_FLAGS "-O3 ") -ENDIF (SSE_FOUND) +ENDIF(SSE_FOUND) add_library(Littrackparallel SHARED ${LITTRACKPARALLEL_SRCS}) set_target_properties(Littrackparallel PROPERTIES ${FAIRROOT_LIBRARY_PROPERTIES}) -#install(TARGETS Littrackparallel DESTINATION ${CMAKE_BINARY_DIR}/lib) +target_link_libraries(Littrackparallel Vc.a) + +# install(TARGETS Littrackparallel DESTINATION ${CMAKE_BINARY_DIR}/lib) install(TARGETS Littrackparallel DESTINATION lib) diff --git a/reco/littrack/parallel/LitTypes.h b/reco/littrack/parallel/LitTypes.h index ac7dc2706c5e7f4a4cd5081619d9945e3ff4d9c4..ebb98961d3a47cd4a0b8c041c791655732246624 100644 --- a/reco/littrack/parallel/LitTypes.h +++ b/reco/littrack/parallel/LitTypes.h @@ -12,11 +12,6 @@ #ifndef LITTYPES_H_ #define LITTYPES_H_ -#ifdef HAVE_SSE -#include "vectors/P4_F32vec4.h" -#else -#include "vectors/PSEUDO_F32vec1.h" -#error LitNoSseFound -#endif +#include "L1vecVc.h" #endif /* LITTYPES_H_ */