diff --git a/Service/TrackSystemSvc/CMakeLists.txt b/Service/TrackSystemSvc/CMakeLists.txt index d12bfb8758945e3b5b43083f23de9245b6af2afe..5d49ae93e9e0bf51c2fb2b51f469c8b74336b63f 100644 --- a/Service/TrackSystemSvc/CMakeLists.txt +++ b/Service/TrackSystemSvc/CMakeLists.txt @@ -1,4 +1,4 @@ -gaudi_subdir(TrackSystemSvc v0r0) +# gaudi_subdir(TrackSystemSvc v0r0) find_package(CLHEP REQUIRED;CONFIG) find_package(ROOT 6.14 REQUIRED COMPONENTS Matrix Physics) @@ -9,26 +9,32 @@ find_package(EDM4HEP REQUIRED) #find_package(KalDet REQUIRED) find_package(DD4hep COMPONENTS DDCore DDRec REQUIRED) -gaudi_depends_on_subdirs(Service/GearSvc Detector/DetInterface Utilities/DataHelper Utilities/KalTest Utilities/KalDet) +# gaudi_depends_on_subdirs(Service/GearSvc Detector/DetInterface Utilities/DataHelper Utilities/KalTest Utilities/KalDet) set(TrackSystemSvc_srcs src/*.cpp) set(TrackSystemSvcLib_srcs src/*.cc) -gaudi_install_headers(TrackSystemSvc) +# gaudi_install_headers(TrackSystemSvc) #message( "${INCLUDE_DIRS}" ) #message( "${LINK_LIBRARIES}" ) -gaudi_add_library(TrackSystemSvcLib ${TrackSystemSvcLib_srcs} - PUBLIC_HEADERS TrackSystemSvc - INCLUDE_DIRS GaudiKernel ROOT ${CLHEP_INCLUDE_DIR} gear ${LCIO_INCLUDE_DIRS} ${EDM4HEP_INCLUDE_DIRS} - LINK_LIBRARIES DataHelperLib KalTestLib KalDetLib GaudiKernel ROOT ${CLHEP_LIBRARIES} ${GEAR_LIBRARIES} ${LCIO_LIBRARIES} - -Wl,--no-as-needed - EDM4HEP::edm4hep EDM4HEP::edm4hepDict - -Wl,--as-needed +gaudi_add_library(TrackSystemSvcLib + SOURCES ${TrackSystemSvcLib_srcs} + LINK DataHelperLib + KalTestLib + KalDetLib + Gaudi::GaudiKernel + ${ROOT_LIBRARIES} + ${CLHEP_LIBRARIES} + ${GEAR_LIBRARIES} + ${LCIO_LIBRARIES} + EDM4HEP::edm4hep EDM4HEP::edm4hepDict ) -gaudi_add_module(TrackSystemSvc ${TrackSystemSvc_srcs} - INCLUDE_DIRS GaudiKernel gear - LINK_LIBRARIES TrackSystemSvcLib GaudiKernel ${GEAR_LIBRARIES} +gaudi_add_module(TrackSystemSvc + SOURCES ${TrackSystemSvc_srcs} + LINK TrackSystemSvcLib + Gaudi::GaudiKernel + ${GEAR_LIBRARIES} ) diff --git a/Utilities/KiTrack/CMakeLists.txt b/Utilities/KiTrack/CMakeLists.txt index 7a20e00dc7f34a62d6a97bad8e0c4886d6db62a9..4be93398507ceda8e715b7f0aeed65bc4c80d8d3 100644 --- a/Utilities/KiTrack/CMakeLists.txt +++ b/Utilities/KiTrack/CMakeLists.txt @@ -1,4 +1,3 @@ -gaudi_subdir(KiTrack v0r0) find_package(CLHEP REQUIRED;CONFIG) find_package(ROOT REQUIRED) @@ -8,15 +7,72 @@ find_package(EDM4HEP REQUIRED) find_package(LCIO REQUIRED) find_package(DD4hep COMPONENTS DDCore DDRec REQUIRED) -gaudi_depends_on_subdirs(Service/TrackSystemSvc Utilities/DataHelper) +# gaudi_depends_on_subdirs(Service/TrackSystemSvc Utilities/DataHelper) -set(KiTrackLib_srcs src/KiTrack/*.cc src/Criteria/*.cc src/ILDImpl/*.cc src/Tools/*.cc) +set(KiTrackLib_srcs + src/KiTrack/Automaton.cc + src/KiTrack/HopfieldNeuralNet.cc + src/KiTrack/IHit.cc + src/KiTrack/SegmentBuilder.cc + src/KiTrack/Segment.cc -#gaudi_install_headers(src) -include_directories(src) + src/Criteria/Crit2_DeltaPhi.cc + src/Criteria/Crit2_DeltaPhi_MV.cc + src/Criteria/Crit2_DeltaRho.cc + src/Criteria/Crit2_DeltaTheta_MV.cc + src/Criteria/Crit2_Distance_MV.cc + src/Criteria/Crit2_HelixWithIP.cc + src/Criteria/Crit2_RZRatio.cc + src/Criteria/Crit2_StraightTrackRatio.cc + src/Criteria/Crit3_2DAngle.cc + src/Criteria/Crit3_2DAngleTimesR.cc + src/Criteria/Crit3_3DAngle.cc + src/Criteria/Crit3_3DAngleTimesR.cc + src/Criteria/Crit3_ChangeRZRatio.cc + src/Criteria/Crit3_IPCircleDist.cc + src/Criteria/Crit3_IPCircleDistTimesR.cc + src/Criteria/Crit3_NoZigZag_MV.cc + src/Criteria/Crit3_PT.cc + src/Criteria/Crit3_PT_MV.cc + src/Criteria/Crit4_2DAngleChange.cc + src/Criteria/Crit4_3DAngleChange.cc + src/Criteria/Crit4_3DAngleChangeNormed.cc + src/Criteria/Crit4_DistOfCircleCenters.cc + src/Criteria/Crit4_DistToExtrapolation.cc + src/Criteria/Crit4_NoZigZag.cc + src/Criteria/Crit4_PhiZRatioChange.cc + src/Criteria/Crit4_RChange.cc + src/Criteria/Criteria.cc + src/Criteria/SimpleCircle.cc -gaudi_add_library(KiTrackLib ${KiTrackLib_srcs} - PUBLIC_HEADERS KiTrack - LINK_LIBRARIES DataHelperLib TrackSystemSvcLib ROOT ${CLHEP_LIBRARIES} GSL EDM4HEP::edm4hep LCIO - # DD4hep + + src/ILDImpl/FTDHit01.cc + src/ILDImpl/FTDHitSimple.cc + src/ILDImpl/FTDNeighborPetalSecCon.cc + src/ILDImpl/FTDSectorConnector.cc + src/ILDImpl/FTDTrack.cc + src/ILDImpl/MiniVector.cc + src/ILDImpl/MiniVectorHit01.cc + src/ILDImpl/SectorSystemFTD.cc + src/ILDImpl/SectorSystemVXD.cc + src/ILDImpl/VXDHit01.cc + src/ILDImpl/VXDHitSimple.cc + src/ILDImpl/VXDSectorConnector.cc + src/ILDImpl/VXDTrack.cc + + src/Tools/Fitter.cc + src/Tools/FTDHelixFitter.cc + src/Tools/KiTrackMarlinTools.cc + src/Tools/Timer.cc +) + +gaudi_add_library(KiTrackLib + SOURCES ${KiTrackLib_srcs} + LINK DataHelperLib + TrackSystemSvcLib + ${ROOT_LIBRARIES} + ${CLHEP_LIBRARIES} + ${GSL_LIBRARIES} + EDM4HEP::edm4hep + ${LCIO_LIBRARIES} ) diff --git a/Utilities/KiTrack/src/ILDImpl/#FTDTrack.cc# b/Utilities/KiTrack/src/ILDImpl/#FTDTrack.cc# deleted file mode 100644 index 6d928c374e857ebcc3f08f657a8f873024955dbb..0000000000000000000000000000000000000000 --- a/Utilities/KiTrack/src/ILDImpl/#FTDTrack.cc# +++ /dev/null @@ -1,132 +0,0 @@ -#include "ILDImpl/FTDTrack.h" - - -#include <algorithm> -#include <math.h> - -//#include "UTIL/LCTrackerConf.h" - -// Root, for calculating the chi2 probability. -#include "Math/ProbFunc.h" - - - -using namespace KiTrackMarlin; - -/** @return if the absolute z value of hit a is bigger than that of hit b */ -bool compare_IHit_z( IHit* a, IHit* b ){ - - return ( fabs( a->getZ() ) < fabs( b->getZ() ) ); //compare their z values - -} - - - -FTDTrack::FTDTrack( MarlinTrk::IMarlinTrkSystem* trkSystem ){ - - _trkSystem = trkSystem; - _chi2Prob = 0.; - - _lcioTrack = new edm4hep::Track(); - - -} - -FTDTrack::FTDTrack( std::vector< IFTDHit* > hits , MarlinTrk::IMarlinTrkSystem* trkSystem ){ - - - _trkSystem = trkSystem; - _chi2Prob = 0.; - - _lcioTrack = new edm4hep::Track(); - - for( unsigned i=0; i < hits.size(); i++ ){ - - addHit( hits[i] ); - - - } - -} - - -FTDTrack::FTDTrack( const FTDTrack& f ){ - - //make a new copied lcio track - _lcioTrack = new edm4hep::Track( *f._lcioTrack ); - - - _hits = f._hits; - _chi2Prob = f._chi2Prob; - _trkSystem = f._trkSystem; - -} - -FTDTrack & FTDTrack::operator= (const FTDTrack & f){ - - if (this == &f) return *this; //protect against self assignment - - //make a new copied lcio track - _lcioTrack = new edm4hep::Track( *f._lcioTrack ); - - - _hits = f._hits; - _chi2Prob = f._chi2Prob; - _trkSystem = f._trkSystem; - - return *this; - -} - - - -void FTDTrack::addHit( IFTDHit* hit ){ - if ( hit != NULL ){ - _hits.push_back( hit ); - // and sort the track again - sort( _hits.begin(), _hits.end(), compare_IHit_z ); - _lcioTrack->addToTrackerHits( *hit->getTrackerHit() ); - } -} - - - - - -void FTDTrack::fit() { - - - Fitter fitter( _lcioTrack , _trkSystem ); - - - _lcioTrack->setChi2( fitter.getChi2( 1/*by fucd AtIP=1 in LCIO, changed to CepC rule in future: lcio::TrackState::AtIP*/ ) ); - _lcioTrack->setNdf( fitter.getNdf( 1/*lcio::TrackState::AtIP*/ ) ); - _chi2Prob = fitter.getChi2Prob( 1/*lcio::TrackState::AtIP*/ ); - - edm4hep::TrackState trkState( *fitter.getTrackState( 1/*lcio::TrackState::AtIP*/ ) ) ; - trkState.location = 1/*lcio::TrackState::AtIP*/ ; - _lcioTrack->addToTrackStates( trkState ); - - -} - - -double FTDTrack::getQI() const{ - - - double QI = _chi2Prob; - - // make sure QI is between 0 and 1 - if (QI > 1. ) QI = 1.; - if (QI < 0. ) QI = 0.; - - return QI; - -} - - - - - - -