diff --git a/analysis/PWGDIL/dielectron/conversion/CbmAnaConversion.cxx b/analysis/PWGDIL/dielectron/conversion/CbmAnaConversion.cxx index 6670b69154e55b23d2f3355d32829c3b9b5bf151..e7b6fcdd397d1a7ad32848c89901f7deb224419d 100644 --- a/analysis/PWGDIL/dielectron/conversion/CbmAnaConversion.cxx +++ b/analysis/PWGDIL/dielectron/conversion/CbmAnaConversion.cxx @@ -26,12 +26,11 @@ #include "CbmStsTrack.h" #include "CbmTrackMatchNew.h" #include "CbmUtils.h" - #include "FairMCPoint.h" #include "FairTrackParam.h" -#include <Logger.h> +#include "KFParticle/KFParticleTopoReconstructor.h" -#include "KFParticleTopoReconstructor.h" +#include <Logger.h> // includes of standard c++ classes or ROOT classes @@ -2040,7 +2039,7 @@ void CbmAnaConversion::AnalysePi0_Reco() cout << "CbmAnaConversion: AnalysePi0_Reco: " << alt5->first << "/" << zwischen->first << "/" << alt3->first << "/" << alt4->first << endl; cout << "CbmAnaConversion: AnalysePi0_Reco: " << alt5->second << "/" << zwischen->second << "/" << alt3->second << "/" << alt4->second << endl; AnalysePi0_Reco_calc(alt5->second, zwischen->second, alt3->second, alt4->second); - + } */ check2 = 1; diff --git a/analysis/PWGDIL/dielectron/conversion/CbmAnaConversionKF.h b/analysis/PWGDIL/dielectron/conversion/CbmAnaConversionKF.h index f59884650eee895abfb20f5f3db8c08a08c1e2d5..b0d08925ac249ec5b84d00e2f7ac617f501687fc 100644 --- a/analysis/PWGDIL/dielectron/conversion/CbmAnaConversionKF.h +++ b/analysis/PWGDIL/dielectron/conversion/CbmAnaConversionKF.h @@ -25,9 +25,9 @@ #include "CbmKFParticleFinderQa.h" #include "CbmMCTrack.h" #include "CbmVertex.h" -#include "KFPartMatch.h" -#include "KFParticle.h" -#include "KFTopoPerformance.h" +#include "KFParticle/KFPartMatch.h" +#include "KFParticle/KFParticle.h" +#include "KFParticle/KFTopoPerformance.h" #include <vector> diff --git a/analysis/PWGDIL/dielectron/papaframework/CMakeLists.txt b/analysis/PWGDIL/dielectron/papaframework/CMakeLists.txt index a072fe0253503bda0b05492f9e9af908e9f5c553..2339745733cdfc99a16fc42e15e2d847695b4c94 100644 --- a/analysis/PWGDIL/dielectron/papaframework/CMakeLists.txt +++ b/analysis/PWGDIL/dielectron/papaframework/CMakeLists.txt @@ -47,11 +47,11 @@ set(SRCS IF (SSE_FOUND) Message(STATUS "Papa will be compiled with SSE support") ADD_DEFINITIONS(-DHAVE_SSE) - SET_SOURCE_FILES_PROPERTIES(${SRCS} PROPERTIES COMPILE_FLAGS + SET_SOURCE_FILES_PROPERTIES(${SRCS} PROPERTIES COMPILE_FLAGS "-msse -O3") ELSE (SSE_FOUND) MESSAGE(STATUS "Papa will be compiled without SSE support") - SET_SOURCE_FILES_PROPERTIES(${SRCS} PROPERTIES COMPILE_FLAGS + SET_SOURCE_FILES_PROPERTIES(${SRCS} PROPERTIES COMPILE_FLAGS "-O3") ENDIF (SSE_FOUND) @@ -98,6 +98,7 @@ set(PUBLIC_DEPENDENCIES set(PRIVATE_DEPENDENCIES CbmMvdBase CbmSimBase + KFParticle KFParticleInterface Littrack LittrackQA diff --git a/analysis/PWGDIL/dielectron/papaframework/PairAnalysisPairKF.cxx b/analysis/PWGDIL/dielectron/papaframework/PairAnalysisPairKF.cxx index 63733318a828c6205f85fca5e08ca6a6a20887db..0579a77557a668208b9f8b039f6c7264788d1c3c 100644 --- a/analysis/PWGDIL/dielectron/papaframework/PairAnalysisPairKF.cxx +++ b/analysis/PWGDIL/dielectron/papaframework/PairAnalysisPairKF.cxx @@ -17,7 +17,7 @@ #include <TDatabasePDG.h> -#include "KFParticle.h" +//#include "KFParticle.h" #include "PairAnalysisMC.h" #include "PairAnalysisTrack.h" @@ -216,7 +216,7 @@ Double_t PairAnalysisPairKF::PsiPair(Double_t /*MagField*/) const m1[0] = fD1.GetPx(); m1[1] = fD1.GetPy(); - m1[2] = fD1.GetPz(); + m1[2] = fD1.GetPz(); m2[0] = fD2.GetPx(); m2[1] = fD2.GetPy(); diff --git a/analysis/PWGDIL/dielectron/papaframework/PairAnalysisPairKF.h b/analysis/PWGDIL/dielectron/papaframework/PairAnalysisPairKF.h index 219d3136d672329857ec248494e0586169ed6c0c..91072770e49c846a4f71690bc8a13a1e61e418f9 100644 --- a/analysis/PWGDIL/dielectron/papaframework/PairAnalysisPairKF.h +++ b/analysis/PWGDIL/dielectron/papaframework/PairAnalysisPairKF.h @@ -14,15 +14,15 @@ //# # //############################################################# -#include <TLorentzVector.h> -#include <TMath.h> - -#include <KFParticle.h> - #include "PairAnalysisPair.h" #include "PairAnalysisTrack.h" #include "PairAnalysisTrackRotator.h" +#include <TLorentzVector.h> +#include <TMath.h> + +#include <KFParticle/KFParticle.h> + class CbmVertex; class CbmMCTrack; diff --git a/analysis/PWGDIL/dielectron/pi0eta/CbmKresConversionCorrectedPhotons.cxx b/analysis/PWGDIL/dielectron/pi0eta/CbmKresConversionCorrectedPhotons.cxx index d30f8ca8ae57de5240a7d12d417b8591fbcd5d35..a6bcdd7e26eab056a3c5cbeb17c74c0caa85be98 100644 --- a/analysis/PWGDIL/dielectron/pi0eta/CbmKresConversionCorrectedPhotons.cxx +++ b/analysis/PWGDIL/dielectron/pi0eta/CbmKresConversionCorrectedPhotons.cxx @@ -33,13 +33,11 @@ #include "CbmStsHit.h" #include "CbmStsTrack.h" #include "CbmTrackMatchNew.h" - #include "FairRootManager.h" +#include "KFParticle/KFParticle.h" #include <iostream> -#include "KFParticle.h" - using namespace std; CbmKresConversionCorrectedPhotons::CbmKresConversionCorrectedPhotons() diff --git a/analysis/PWGDIL/dielectron/pi0eta/CbmKresConversionCorrectedPhotons.h b/analysis/PWGDIL/dielectron/pi0eta/CbmKresConversionCorrectedPhotons.h index 6cae2e492f0140db53c27709525860834076b731..24f51c1b55ea0bb40dbb743a297ce9c66db334b3 100644 --- a/analysis/PWGDIL/dielectron/pi0eta/CbmKresConversionCorrectedPhotons.h +++ b/analysis/PWGDIL/dielectron/pi0eta/CbmKresConversionCorrectedPhotons.h @@ -14,12 +14,11 @@ #include "CbmRichRingFitterEllipseTau.h" #include "CbmStsTrack.h" #include "CbmVertex.h" - +#include "KFParticle/KFParticle.h" +#include "LmvmKinePar.h" #include "TH2D.h" -#include <TClonesArray.h> -#include "KFParticle.h" -#include "LmvmKinePar.h" +#include <TClonesArray.h> class CbmRichRingFitterEllipseTau; diff --git a/analysis/PWGDIL/dielectron/pi0eta/CbmKresConversionKF.cxx b/analysis/PWGDIL/dielectron/pi0eta/CbmKresConversionKF.cxx index b0d796531bcdd9ba90429a6d464f3b33060b1c87..7ba42fc0280f64bb0cbdae2fdece891e6cd4e389 100644 --- a/analysis/PWGDIL/dielectron/pi0eta/CbmKresConversionKF.cxx +++ b/analysis/PWGDIL/dielectron/pi0eta/CbmKresConversionKF.cxx @@ -33,15 +33,14 @@ #include "CbmRichRingLight.h" #include "CbmStsTrack.h" #include "CbmTrackMatchNew.h" +#include "KFParticle/KFParticle.h" +#include "KFParticle/KFParticleTopoReconstructor.h" +#include "LmvmKinePar.h" #include <FairRootManager.h> #include <TDirectory.h> -#include "KFParticle.h" -#include "KFParticleTopoReconstructor.h" -#include "LmvmKinePar.h" - using namespace std; CbmKresConversionKF::CbmKresConversionKF() diff --git a/analysis/PWGDIL/dielectron/pi0eta/CbmKresConversionKF.h b/analysis/PWGDIL/dielectron/pi0eta/CbmKresConversionKF.h index 41a2bceb9d755c50a005e0e6939f88bd5b113f69..ca33f9d350141d5694fcf6bcc40880d95bad0bae 100644 --- a/analysis/PWGDIL/dielectron/pi0eta/CbmKresConversionKF.h +++ b/analysis/PWGDIL/dielectron/pi0eta/CbmKresConversionKF.h @@ -10,14 +10,13 @@ #include "CbmKresConversionBG.h" #include "CbmMCTrack.h" #include "CbmRichRing.h" +#include "KFParticle/KFParticle.h" +#include "KFParticle/KFTopoPerformance.h" #include <TClonesArray.h> #include <TH1.h> #include <TH2D.h> -#include "KFParticle.h" -#include "KFTopoPerformance.h" - class CbmRichRingFitterEllipseTau; using namespace std; diff --git a/analysis/PWGDIL/dielectron/pi0eta/CbmKresConversionManual.cxx b/analysis/PWGDIL/dielectron/pi0eta/CbmKresConversionManual.cxx index e2c5714394eae932f45e186910d7e2f1848d23d1..c91f2512c92d34e0e8e2a44b1d5c2c035a92df59 100644 --- a/analysis/PWGDIL/dielectron/pi0eta/CbmKresConversionManual.cxx +++ b/analysis/PWGDIL/dielectron/pi0eta/CbmKresConversionManual.cxx @@ -34,13 +34,11 @@ #include "CbmStsHit.h" #include "CbmStsTrack.h" #include "CbmTrackMatchNew.h" - #include "FairRootManager.h" +#include "KFParticle/KFParticle.h" #include <iostream> -#include "KFParticle.h" - using namespace std; CbmKresConversionManual::CbmKresConversionManual() diff --git a/analysis/PWGDIL/dielectron/pi0eta/CbmKresConversionManualmbias1.cxx b/analysis/PWGDIL/dielectron/pi0eta/CbmKresConversionManualmbias1.cxx index f3905c6a8fbde2696654befc55889eca990ec218..13c33c1e42fe6c6bd61cc1518d7cccb599a8b110 100644 --- a/analysis/PWGDIL/dielectron/pi0eta/CbmKresConversionManualmbias1.cxx +++ b/analysis/PWGDIL/dielectron/pi0eta/CbmKresConversionManualmbias1.cxx @@ -35,15 +35,12 @@ #include "CbmStsHit.h" #include "CbmStsTrack.h" #include "CbmTrackMatchNew.h" - #include "FairRootManager.h" - +#include "KFParticle/KFParticle.h" #include "TDirectory.h" #include <iostream> -#include "KFParticle.h" - using namespace std; diff --git a/analysis/PWGDIL/dielectron/pi0eta/CbmKresConversionManualmbias2.cxx b/analysis/PWGDIL/dielectron/pi0eta/CbmKresConversionManualmbias2.cxx index 87bc8a8e475c9c9e0f5ead7527bb45ac063f7d77..5003264087f94791142e3a34325579767ac14060 100644 --- a/analysis/PWGDIL/dielectron/pi0eta/CbmKresConversionManualmbias2.cxx +++ b/analysis/PWGDIL/dielectron/pi0eta/CbmKresConversionManualmbias2.cxx @@ -35,15 +35,12 @@ #include "CbmStsHit.h" #include "CbmStsTrack.h" #include "CbmTrackMatchNew.h" - #include "FairRootManager.h" - +#include "KFParticle/KFParticle.h" #include "TDirectory.h" #include <iostream> -#include "KFParticle.h" - using namespace std; diff --git a/analysis/PWGDIL/dielectron/pi0eta/CbmKresConversionManualmbias3.cxx b/analysis/PWGDIL/dielectron/pi0eta/CbmKresConversionManualmbias3.cxx index e563a5ea2c8066a8cd4e69614f0e14c114bf64bc..09cbc874f25fdfc931618d6a8b1f4c52c3849102 100644 --- a/analysis/PWGDIL/dielectron/pi0eta/CbmKresConversionManualmbias3.cxx +++ b/analysis/PWGDIL/dielectron/pi0eta/CbmKresConversionManualmbias3.cxx @@ -35,15 +35,12 @@ #include "CbmStsHit.h" #include "CbmStsTrack.h" #include "CbmTrackMatchNew.h" - #include "FairRootManager.h" - +#include "KFParticle/KFParticle.h" #include "TDirectory.h" #include <iostream> -#include "KFParticle.h" - using namespace std; diff --git a/analysis/PWGDIL/dielectron/pi0eta/CbmKresConversionManualmbias4.cxx b/analysis/PWGDIL/dielectron/pi0eta/CbmKresConversionManualmbias4.cxx index 784ec3a309bc6e6be2f8b52ca963abdc0e499cab..3e88f32a8a26052db63f7d197f1eace7cbd6fc65 100644 --- a/analysis/PWGDIL/dielectron/pi0eta/CbmKresConversionManualmbias4.cxx +++ b/analysis/PWGDIL/dielectron/pi0eta/CbmKresConversionManualmbias4.cxx @@ -35,15 +35,12 @@ #include "CbmStsHit.h" #include "CbmStsTrack.h" #include "CbmTrackMatchNew.h" - #include "FairRootManager.h" - +#include "KFParticle/KFParticle.h" #include "TDirectory.h" #include <iostream> -#include "KFParticle.h" - using namespace std; diff --git a/analysis/PWGDIL/dielectron/pi0eta/CbmKresConversionPhotons.cxx b/analysis/PWGDIL/dielectron/pi0eta/CbmKresConversionPhotons.cxx index 383142610a76d2b15ba40c3879dbca93eced3b48..6fa275f7e0b13087264d3ed99e2bc652933bae57 100644 --- a/analysis/PWGDIL/dielectron/pi0eta/CbmKresConversionPhotons.cxx +++ b/analysis/PWGDIL/dielectron/pi0eta/CbmKresConversionPhotons.cxx @@ -32,13 +32,11 @@ #include "CbmStsHit.h" #include "CbmStsTrack.h" #include "CbmTrackMatchNew.h" - #include "FairRootManager.h" +#include "KFParticle/KFParticle.h" #include <iostream> -#include "KFParticle.h" - using namespace std; CbmKresConversionPhotons::CbmKresConversionPhotons() diff --git a/analysis/PWGDIL/dielectron/pi0eta/CbmKresConversionPhotons.h b/analysis/PWGDIL/dielectron/pi0eta/CbmKresConversionPhotons.h index 8b3180e5f6c3055efe16ae47a796d5ccedc9e86d..0659003f1c4b44c6d3e0233d1f7afb46bd36deaa 100644 --- a/analysis/PWGDIL/dielectron/pi0eta/CbmKresConversionPhotons.h +++ b/analysis/PWGDIL/dielectron/pi0eta/CbmKresConversionPhotons.h @@ -13,12 +13,11 @@ #include "CbmRichRingFitterEllipseTau.h" #include "CbmStsTrack.h" #include "CbmVertex.h" - +#include "KFParticle/KFParticle.h" +#include "LmvmKinePar.h" #include "TH2D.h" -#include <TClonesArray.h> -#include "KFParticle.h" -#include "LmvmKinePar.h" +#include <TClonesArray.h> class CbmRichRingFitterEllipseTau; diff --git a/analysis/PWGDIL/dielectron/pi0eta/CbmKresEta.cxx b/analysis/PWGDIL/dielectron/pi0eta/CbmKresEta.cxx index c0093c38b7ed7333693cb59c95e4d0e02ede6f7d..19d6ef5cc09416f2870736259bca3cd37c100e91 100644 --- a/analysis/PWGDIL/dielectron/pi0eta/CbmKresEta.cxx +++ b/analysis/PWGDIL/dielectron/pi0eta/CbmKresEta.cxx @@ -33,15 +33,12 @@ #include "CbmStsHit.h" #include "CbmStsTrack.h" #include "CbmTrackMatchNew.h" - #include "FairRootManager.h" - +#include "KFParticle/KFParticle.h" #include "TDirectory.h" #include <iostream> -#include "KFParticle.h" - using namespace std; diff --git a/analysis/common/at_kfpf_interface/ATKFParticleFinder.cxx b/analysis/common/at_kfpf_interface/ATKFParticleFinder.cxx index 94b4db1a0e0f6349cd6cba055a3d114f30274281..b9bde2c271bf64a0d5f02d19ad3ae1a36645542f 100644 --- a/analysis/common/at_kfpf_interface/ATKFParticleFinder.cxx +++ b/analysis/common/at_kfpf_interface/ATKFParticleFinder.cxx @@ -5,7 +5,7 @@ #include "ATKFParticleFinder.h" #include "AnalysisTree/Matching.hpp" -#include "KFParticleTopoReconstructor.h" +#include "KFParticle/KFParticleTopoReconstructor.h" void ATKFParticleFinder::InitInput(const std::string& file_name, const std::string& tree_name) { diff --git a/external/InstallKFParticle.cmake b/external/InstallKFParticle.cmake index 0e9724197ac86896e3caccb008332bda08d47f39..60b0bc3390312bff7586fe6a2183f1a60e732327 100644 --- a/external/InstallKFParticle.cmake +++ b/external/InstallKFParticle.cmake @@ -4,6 +4,9 @@ set(KFPARTICLE_SRC_URL "https://github.com/cbmsw/KFParticle.git") set(KFPARTICLE_DESTDIR "${CMAKE_BINARY_DIR}/external/KFPARTICLE-prefix") set(KFPARTICLE_TAG "9b11e3e9da4e0896af80701210d19f7ca69c39d4") +set(KF_MACOS_ARM_PATCH "patch -p1 < ${CMAKE_CURRENT_SOURCE_DIR}/KFParticle_applem1.patch") +set(KF_CLANG_TINY_PATCH "patch -p1 < ${CMAKE_CURRENT_SOURCE_DIR}/KFParticle_clang_tidy.patch") +set(KF_INCLUDE_PATCH "patch -p1 < ${CMAKE_CURRENT_SOURCE_DIR}/KFParticle_header_install.patch") # GIT_TAG is a hash for KFParticle tag cbm/v1.1-1 if (CMAKE_SYSTEM_NAME MATCHES Darwin AND ${CMAKE_SYSTEM_PROCESSOR} MATCHES arm64) download_project_if_needed(PROJECT kfparticle_source @@ -11,7 +14,7 @@ if (CMAKE_SYSTEM_NAME MATCHES Darwin AND ${CMAKE_SYSTEM_PROCESSOR} MATCHES arm64 GIT_TAG ${KFPARTICLE_TAG} SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/KFParticle TEST_FILE CMakeLists.txt - PATCH_COMMAND "patch -p1 < ${CMAKE_CURRENT_SOURCE_DIR}/KFParticle_applem1.patch" + PATCH_COMMAND "${KF_MACOS_ARM_PATCH} && ${KF_INCLUDE_PATCH}" ) else() if(BUILD_FOR_TIDY) @@ -20,7 +23,7 @@ else() GIT_TAG ${KFPARTICLE_TAG} SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/KFParticle TEST_FILE CMakeLists.txt - PATCH_COMMAND "patch -p1 < ${CMAKE_CURRENT_SOURCE_DIR}/KFParticle_clang_tidy.patch" + PATCH_COMMAND "${KF_CLANG_TINY_PATCH} && ${KF_INCLUDE_PATCH}" ) else() download_project_if_needed(PROJECT kfparticle_source @@ -28,6 +31,7 @@ else() GIT_TAG ${KFPARTICLE_TAG} SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/KFParticle TEST_FILE CMakeLists.txt + PATCH_COMMAND "${KF_INCLUDE_PATCH}" ) endif() endif() @@ -37,8 +41,8 @@ If(ProjectUpdated) Message("KFParticle source directory was changed so build directory was deleted") EndIf() -if(NOT EXISTS ${CMAKE_BINARY_DIR}/include) - file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/include) +if(NOT EXISTS ${CMAKE_BINARY_DIR}/include/KFParticle) + file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/include/KFParticle) endif() ExternalProject_Add(KFPARTICLE @@ -69,7 +73,16 @@ ExternalProject_Add(KFPARTICLE add_library(KFParticle SHARED IMPORTED GLOBAL) set_target_properties(KFParticle PROPERTIES IMPORTED_LOCATION ${CMAKE_BINARY_DIR}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}KFParticle${CMAKE_SHARED_LIBRARY_SUFFIX} - INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_BINARY_DIR}/include) +) +target_include_directories( KFParticle + INTERFACE + ${CMAKE_BINARY_DIR}/include + ${CMAKE_BINARY_DIR}/include/KFParticle + $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}> + $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/KFParticle> + $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/KFParticlePerformance> + $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/KFParticleTest> +) target_link_libraries(KFParticle INTERFACE Vc::Vc) @@ -81,19 +94,53 @@ Install(FILES ${CMAKE_BINARY_DIR}/lib/${KFPARTICLE_LIBNAME} DESTINATION lib ) -Install(FILES ${CMAKE_BINARY_DIR}/include/KFParticleBase.h - ${CMAKE_BINARY_DIR}/include/KFParticle.h - ${CMAKE_BINARY_DIR}/include/KFVertex.h +Install(FILES ${CMAKE_BINARY_DIR}/include/KFParticle/KFParticleBase.h + ${CMAKE_BINARY_DIR}/include/KFParticle/KFParticle.h + ${CMAKE_BINARY_DIR}/include/KFParticle/KFVertex.h + ${CMAKE_BINARY_DIR}/include/KFParticle/KFParticleTopoReconstructor.h + ${CMAKE_BINARY_DIR}/include/KFParticle/KFTopoPerformance.h + ${CMAKE_BINARY_DIR}/include/KFParticle/KFPTrackVector.h + ${CMAKE_BINARY_DIR}/include/KFParticle/KFMCTrack.h + ${CMAKE_BINARY_DIR}/include/KFParticle/KFParticleSIMD.h + ${CMAKE_BINARY_DIR}/include/KFParticle/KFParticlePerformanceBase.h + ${CMAKE_BINARY_DIR}/include/KFParticle/KFPVEfficiencies.h + ${CMAKE_BINARY_DIR}/include/KFParticle/KFMCVertex.h + ${CMAKE_BINARY_DIR}/include/KFParticle/KFPartMatch.h + ${CMAKE_BINARY_DIR}/include/KFParticle/KFParticlePVReconstructor.h + ${CMAKE_BINARY_DIR}/include/KFParticle/KFParticleFinder.h + ${CMAKE_BINARY_DIR}/include/KFParticle/KFParticleBaseSIMD.h + ${CMAKE_BINARY_DIR}/include/KFParticle/KFParticleDef.h + ${CMAKE_BINARY_DIR}/include/KFParticle/KFPSimdAllocator.h + ${CMAKE_BINARY_DIR}/include/KFParticle/KFPTrack.h + ${CMAKE_BINARY_DIR}/include/KFParticle/KFPEmcCluster.h + ${CMAKE_BINARY_DIR}/include/KFParticle/KFParticleField.h + # Next are copies of those in other folders, needed to load CBM libraries + ${CMAKE_BINARY_DIR}/include/KFParticle/KFMCParticle.h + ${CMAKE_BINARY_DIR}/include/KFParticle/KFPartEfficiencies.h DESTINATION include/KFParticle ) -Install(FILES ${CMAKE_BINARY_DIR}/include/KFMCParticle.h - ${CMAKE_BINARY_DIR}/include/KFPartEfficiencies.h +# Next are copies of those in other folders, needed exactly at this path to load the KFParticle library +# => Not completely sure why but it seems that while no path is provided in the KF own includes, the G__KFParticle.cxx +# file is generated with these "internal paths", for example at line 37-43 +# =========================================================== +# [...] +# // Header files passed as explicit arguments +# #include "KFParticle/KFParticleBase.h" +# #include "KFParticle/KFParticle.h" +# #include "KFParticle/KFVertex.h" +# #include "KFParticlePerformance/KFPartEfficiencies.h" +# #include "KFParticlePerformance/KFMCParticle.h" +# #include "KFParticleTest/KFParticleTest.h" +# [...] +# =========================================================== +Install(FILES ${CMAKE_BINARY_DIR}/include/KFParticle/KFMCParticle.h + ${CMAKE_BINARY_DIR}/include/KFParticle/KFPartEfficiencies.h DESTINATION include/KFParticlePerformance ) -Install(FILES ${CMAKE_BINARY_DIR}/include/KFParticleTest.h +Install(FILES ${CMAKE_BINARY_DIR}/include/KFParticle/KFParticleTest.h DESTINATION include/KFParticleTest ) -Install(FILES ${CMAKE_BINARY_DIR}/include/KFPVertex.h - ${CMAKE_BINARY_DIR}/include/KFMCCounter.h +Install(FILES ${CMAKE_BINARY_DIR}/include/KFParticle/KFPVertex.h + ${CMAKE_BINARY_DIR}/include/KFParticle/KFMCCounter.h DESTINATION include ) diff --git a/external/KFParticle_header_install.patch b/external/KFParticle_header_install.patch new file mode 100644 index 0000000000000000000000000000000000000000..5c8ec406e8b4d3df00dfc8ec8fa7e3be9500b13b --- /dev/null +++ b/external/KFParticle_header_install.patch @@ -0,0 +1,42 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index dffa254..ec48865 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -35,6 +35,7 @@ EndIf() + Set(INCLUDE_DIRECTORIES + ${PROJECT_SOURCE_DIR}/KFParticle + ${PROJECT_SOURCE_DIR}/KFParticlePerformance ++ ${PROJECT_SOURCE_DIR}/KFParticleTest + ) + + include(${ROOT_USE_FILE}) +@@ -45,7 +46,7 @@ set(CMAKE_INCLUDE_DIRECTORIES_BEFORE OFF) + set(LINK_DIRECTORIES + ${ROOT_LIBRARY_DIR} + ) +- ++ + link_directories( ${LINK_DIRECTORIES}) + + set (SOURCES +@@ -137,7 +138,7 @@ Set(NODICT_HEADERS + KFParticlePerformance/KFPartMatch.h + ) + +-install(FILES ${HEADERS} ${NODICT_HEADERS} DESTINATION include) ++install(FILES ${HEADERS} ${NODICT_HEADERS} DESTINATION include/KFParticle) + install(FILES ${CMAKE_BINARY_DIR}/${CMAKE_SHARED_LIBRARY_PREFIX}KFParticle_rdict.pcm DESTINATION lib OPTIONAL) + install(FILES ${CMAKE_BINARY_DIR}/${CMAKE_SHARED_LIBRARY_PREFIX}KFParticle.rootmap DESTINATION lib) + install(TARGETS KFParticle DESTINATION lib) +diff --git a/KFLinkDef.h b/KFLinkDef.h +index d51285b..35afa80 100644 +--- a/KFLinkDef.h ++++ b/KFLinkDef.h +@@ -10,7 +10,6 @@ + #pragma link C++ class KFVertex + ; + #pragma link C++ class KFPartEfficiencies + ; + #pragma link C++ class KFMCParticle + ; +-#pragma link C++ class KFParticle + ; + #pragma link C++ class KFParticleTest + ; + + #endif diff --git a/reco/KF/CbmKFParticleFinder.cxx b/reco/KF/CbmKFParticleFinder.cxx index 7ffc2dd17b3d360597bb4e435c1ca09c6baa91ca..6e8f840385b6f442625cdcf8b4561bf0128d3f7e 100644 --- a/reco/KF/CbmKFParticleFinder.cxx +++ b/reco/KF/CbmKFParticleFinder.cxx @@ -21,8 +21,8 @@ #include "FairRunAna.h" //KF Particle headers -#include "KFPTrackVector.h" -#include "KFParticleTopoReconstructor.h" +#include "KFParticle/KFPTrackVector.h" +#include "KFParticle/KFParticleTopoReconstructor.h" #include <Logger.h> diff --git a/reco/KF/CbmKFParticleFinderQa.cxx b/reco/KF/CbmKFParticleFinderQa.cxx index 0755843f8afc1384bfe6e2ebb1819c734388a2dc..d3d50e64ca13c7b459a9a50f73df3554a2986a02 100644 --- a/reco/KF/CbmKFParticleFinderQa.cxx +++ b/reco/KF/CbmKFParticleFinderQa.cxx @@ -15,12 +15,12 @@ #include "CbmTrack.h" #include "CbmTrackMatchNew.h" #include "FairRunAna.h" +#include "KFParticleMatch.h" //KF Particle headers -#include "KFMCTrack.h" -#include "KFParticleMatch.h" -#include "KFParticleTopoReconstructor.h" -#include "KFTopoPerformance.h" +#include "KFParticle/KFMCTrack.h" +#include "KFParticle/KFParticleTopoReconstructor.h" +#include "KFParticle/KFTopoPerformance.h" //ROOT headers #include "TCanvas.h" diff --git a/reco/KF/CbmKFParticleInterface.cxx b/reco/KF/CbmKFParticleInterface.cxx index 51de3abbec8ee94096dd6daf0d17b5802a9b94da..d2a583106fbc042a0394dc477a73591af3d08e69 100644 --- a/reco/KF/CbmKFParticleInterface.cxx +++ b/reco/KF/CbmKFParticleInterface.cxx @@ -13,9 +13,9 @@ #include "CbmStsTrack.h" //KF Particle headers -#include "KFPTrackVector.h" -#include "KFParticle.h" -#include "KFParticleSIMD.h" +#include "KFParticle/KFPTrackVector.h" +#include "KFParticle/KFParticle.h" +#include "KFParticle/KFParticleSIMD.h" //ROOT headers #include "TClonesArray.h" //to get arrays from the FairRootManager diff --git a/reco/KF/CbmKFV0FinderTask.h b/reco/KF/CbmKFV0FinderTask.h index 274eb4e4df7fc86c293ee186b79b83c756c58a8b..4a7a3fa694809e3b9e34a87bdb9695b42d00ba30 100644 --- a/reco/KF/CbmKFV0FinderTask.h +++ b/reco/KF/CbmKFV0FinderTask.h @@ -17,7 +17,7 @@ #include "CbmKFVertex.h" #include "CbmVertex.h" #include "FairTask.h" -#include "KFParticleTopoReconstructor.h" +#include "KFParticle/KFParticleTopoReconstructor.h" #include <memory>