diff --git a/analysis/PWGDIL/dimuon/CbmAnaDimuonAnalysis.cxx b/analysis/PWGDIL/dimuon/CbmAnaDimuonAnalysis.cxx index c81cf92e66313fe5e181671153841aec356b3f7e..3e912ea02badbd694a787f22c0187ccb29d6a4bb 100644 --- a/analysis/PWGDIL/dimuon/CbmAnaDimuonAnalysis.cxx +++ b/analysis/PWGDIL/dimuon/CbmAnaDimuonAnalysis.cxx @@ -33,7 +33,6 @@ #include "CbmTrackMatchNew.h" #include "CbmTrdHit.h" #include "CbmTrdTrack.h" -#include "CbmTrdTrackFitterKF.h" #include "CbmVertex.h" #include "FairEventHeader.h" #include "FairRootManager.h" @@ -82,7 +81,6 @@ CbmAnaDimuonAnalysis::CbmAnaDimuonAnalysis(TString name, TString setup) , fInputTree(NULL) , fPlutoFile(NULL) , fFitter(NULL) - , fFitterTRD(NULL) , fFitterGlobal(NULL) , fVertex(NULL) , fChi2StsCut(2) @@ -165,10 +163,6 @@ InitStatus CbmAnaDimuonAnalysis::Init() fFitterGlobal = new CbmGlobalTrackFitterKF(); fFitterGlobal->Init(); - fFitterTRD = new CbmTrdTrackFitterKF(); - fFitterTRD->Init(); - fFitterTRD->SetPid(13); - YPt_pluto = new TH2D("YPt_pluto", "PLUTO signal", YBINNING, PTBINNING); if (fPlutoFileName != "") { diff --git a/analysis/PWGDIL/dimuon/CbmAnaDimuonAnalysis.h b/analysis/PWGDIL/dimuon/CbmAnaDimuonAnalysis.h index 817e1878dbddc43a02edd79faf7f49dc74d905f9..e7e5f12bd6d168a3f76c1c90201ae048421ed95f 100644 --- a/analysis/PWGDIL/dimuon/CbmAnaDimuonAnalysis.h +++ b/analysis/PWGDIL/dimuon/CbmAnaDimuonAnalysis.h @@ -27,7 +27,6 @@ class CbmMuchTrack; class CbmTofHit; class CbmMuchGeoScheme; class CbmStsKFTrackFitter; -class CbmTrdTrackFitterKF; class CbmGlobalTrackFitterKF; class CbmVertex; class TClonesArray; @@ -99,7 +98,6 @@ class CbmAnaDimuonAnalysis : public FairTask { TFile* fPlutoFile; CbmStsKFTrackFitter* fFitter; - CbmTrdTrackFitterKF* fFitterTRD; CbmGlobalTrackFitterKF* fFitterGlobal; CbmVertex* fVertex; diff --git a/macro/trd/run_reco_clusterizer.C b/macro/trd/run_reco_clusterizer.C index fd3e35871e6726ecf914533c1f5044b3051518d7..c2ac02b08d786894ee5ea387797f7f9d92077d5a 100644 --- a/macro/trd/run_reco_clusterizer.C +++ b/macro/trd/run_reco_clusterizer.C @@ -253,6 +253,8 @@ void run_reco_clusterizer(Int_t nEvents = 1) // ----- TRD track fitting --------------------------------------------- + /* CbmTrdTrackFitter class has been removed + CbmTrdTrackFitter* trdTrackFitter = new CbmTrdTrackFitterKF(); ((CbmTrdTrackFitterKF*)trdTrackFitter)->SetVerbose(iVerbose); ((CbmTrdTrackFitterKF*)trdTrackFitter)->SetPid(211); @@ -260,150 +262,127 @@ void run_reco_clusterizer(Int_t nEvents = 1) "TRD", trdTrackFitter); run->AddTask(trdFitTracks); + */ // ------------------------------------------------------------------------- - + // ----- TRD track matching -------------------------------------------- CbmTrdMatchTracks* trdMatchTracks = new CbmTrdMatchTracks(iVerbose); run->AddTask(trdMatchTracks); - - - + + // ----------- TRD track Pid Wkn ---------------------- - CbmTrdSetTracksPidWkn* trdSetTracksPidTask = new - CbmTrdSetTracksPidWkn("trdFindTracks","trdFindTracks"); + CbmTrdSetTracksPidWkn* trdSetTracksPidTask = new CbmTrdSetTracksPidWkn("trdFindTracks", "trdFindTracks"); run->AddTask(trdSetTracksPidTask); // ---------------------------------------------------- // ----------- TRD track Pid Ann ---------------------- - CbmTrdSetTracksPidANN* trdSetTracksPidAnnTask = new - CbmTrdSetTracksPidANN("Ann","Ann"); + CbmTrdSetTracksPidANN* trdSetTracksPidAnnTask = new CbmTrdSetTracksPidANN("Ann", "Ann"); run->AddTask(trdSetTracksPidAnnTask); // ---------------------------------------------------- - + // ------------------------------------------------------------------------- - + // === End of TRD local reconstruction === // ========================================================================= - - - - // ========================================================================= // === TOF local reconstruction === // ========================================================================= // ------ TOF hit producer --------------------------------------------- - CbmTofHitProducer* tofHitProd = new CbmTofHitProducer("TOF HitProducer", - iVerbose); + CbmTofHitProducer* tofHitProd = new CbmTofHitProducer("TOF HitProducer", iVerbose); run->AddTask(tofHitProd); // ------------------------------------------------------------------------- - + // === End of TOF local reconstruction === // ========================================================================= - - - - // ========================================================================= // === Global tracking === - // ========================================================================= - + // ========================================================================= + // ----- STS-TRD-TOF track merging ------------------------------------- - CbmL1TrackMerger* trackMerger = new CbmL1TrackMerger(); + CbmL1TrackMerger* trackMerger = new CbmL1TrackMerger(); trackMerger->SetMethod(1); - CbmL1TofMerger* tofMerger = new CbmL1TofMerger(); - CbmFindGlobalTracks* findGlobal = new CbmFindGlobalTracks(trackMerger, - NULL, tofMerger, - iVerbose); + CbmL1TofMerger* tofMerger = new CbmL1TofMerger(); + CbmFindGlobalTracks* findGlobal = new CbmFindGlobalTracks(trackMerger, NULL, tofMerger, iVerbose); run->AddTask(findGlobal); - + //--------- TOF tracklength calculation ----------------------------------- CbmGlobalTrackFitterKF* globalFitter = new CbmGlobalTrackFitterKF(); - CbmFitGlobalTracks* fitGlobal - = new - CbmFitGlobalTracks("globalfitter",iVerbose,globalFitter); - + CbmFitGlobalTracks* fitGlobal = new CbmFitGlobalTracks("globalfitter", iVerbose, globalFitter); + run->AddTask(fitGlobal); //------------------------------------------------------------------------- - + // ----- Primary vertex finding --------------------------------------- CbmPrimaryVertexFinder* pvFinder = new CbmPVFinderKF(); CbmFindPrimaryVertex* findVertex = new CbmFindPrimaryVertex(pvFinder); run->AddTask(findVertex); // ------------------------------------------------------------------------ - + // === End of global tracking === // ========================================================================= - - // ----------- TRD track Pid Like ---------------------- // Since in the newest version of this method depends on the global // track the task has to move after the global tracking - CbmTrdSetTracksPidLike* trdSetTracksPidLikeTask = new - CbmTrdSetTracksPidLike("Likelihood","Likelihood"); + CbmTrdSetTracksPidLike* trdSetTracksPidLikeTask = new CbmTrdSetTracksPidLike("Likelihood", "Likelihood"); run->AddTask(trdSetTracksPidLikeTask); // ---------------------------------------------------- - - // ========================================================================= // === RICH reconstruction === // ========================================================================= // ---------------------RICH Hit Producer ---------------------------------- - Double_t richPmtRad = 0.4; // PMT radius [cm] - Double_t richPmtDist = 0.; // Distance between PMTs [cm] - Int_t richDetType = 4; // Detector type Hamamatsu H8500-03 (no WLS) - Int_t richNoise = 220; // Number of noise points per event - Double_t richCollEff = 1.0; // Collection Efficiency of PMT electron optics - Double_t richSMirror = 0.06; // Sigma for additional point smearing due to light scattering in mirror - - CbmRichHitProducer* richHitProd - = new CbmRichHitProducer(richPmtRad, richPmtDist, richDetType, - richNoise, iVerbose, richCollEff, richSMirror); + Double_t richPmtRad = 0.4; // PMT radius [cm] + Double_t richPmtDist = 0.; // Distance between PMTs [cm] + Int_t richDetType = 4; // Detector type Hamamatsu H8500-03 (no WLS) + Int_t richNoise = 220; // Number of noise points per event + Double_t richCollEff = 1.0; // Collection Efficiency of PMT electron optics + Double_t richSMirror = 0.06; // Sigma for additional point smearing due to light scattering in mirror + + CbmRichHitProducer* richHitProd = + new CbmRichHitProducer(richPmtRad, richPmtDist, richDetType, richNoise, iVerbose, richCollEff, richSMirror); run->AddTask(richHitProd); //-------------------------------------------------------------------------- - + //----------------------RICH Track Extrapolation --------------------------- - Int_t richNSts = 4; // minimum number of STS hits for extrapolation - Double_t richZPos = 300.; // z position for extrapolation [cm] - CbmRichTrackExtrapolation* richExtra - = new CbmRichTrackExtrapolationKF(richNSts, iVerbose); + Int_t richNSts = 4; // minimum number of STS hits for extrapolation + Double_t richZPos = 300.; // z position for extrapolation [cm] + CbmRichTrackExtrapolation* richExtra = new CbmRichTrackExtrapolationKF(richNSts, iVerbose); CbmRichExtrapolateTracks* richExtrapolate = new CbmRichExtrapolateTracks(); - richExtrapolate->UseExtrapolation(richExtra,richZPos); + richExtrapolate->UseExtrapolation(richExtra, richZPos); run->AddTask(richExtrapolate); //-------------------------------------------------------------------------- //--------------------- Rich Track Projection to photodetector ------------- - Int_t richZFlag = 1; // Projetion from IM plane (default) - CbmRichProjectionProducer* richProj = - new CbmRichProjectionProducer(iVerbose, richZFlag); + Int_t richZFlag = 1; // Projetion from IM plane (default) + CbmRichProjectionProducer* richProj = new CbmRichProjectionProducer(iVerbose, richZFlag); run->AddTask(richProj); //-------------------------------------------------------------------------- - - + + //--------------------- RICH Ring Finding ---------------------------------- - TString richGeoType = "compact";//choose between compact or large + TString richGeoType = "compact"; //choose between compact or large CbmRichRingFinderHough* richFinder = new CbmRichRingFinderHough(iVerbose, richGeoType); - CbmRichFindRings* richFindRings = new CbmRichFindRings(); + CbmRichFindRings* richFindRings = new CbmRichFindRings(); richFindRings->UseFinder(richFinder); run->AddTask(richFindRings); //-------------------------------------------------------------------------- - */ + * / - /* + /* //-------------------- RICH Ring Fitting ----------------------------------- Double_t iRingCorr = 1.; // correction done (default), choose 0 if not CbmRichRingFitter* richFitter = new CbmRichRingFitterTAU(iVerbose, @@ -412,7 +391,7 @@ void run_reco_clusterizer(Int_t nEvents = 1) run->AddTask(fitRings); //-------------------------------------------------------------------------- */ - /* + /* //-------------------- RICH Ring Fitting ----------------------------------- CbmRichRingFitter* richFitter = new CbmRichRingFitterEllipseTau(iVerbose, 1, richGeoType); CbmRichFitRings* fitRings = new CbmRichFitRings("","",richFitter); @@ -462,11 +441,11 @@ void run_reco_clusterizer(Int_t nEvents = 1) */ - // ----- Parameter database -------------------------------------------- - // TString stsDigi = gSystem->Getenv("VMCWORKDIR"); - // stsDigi += "/parameters/sts/"; - // stsDigi += stsDigiFile; - FairRuntimeDb* rtdb = run->GetRuntimeDb(); + // ----- Parameter database -------------------------------------------- + // TString stsDigi = gSystem->Getenv("VMCWORKDIR"); + // stsDigi += "/parameters/sts/"; + // stsDigi += stsDigiFile; + FairRuntimeDb* rtdb = run->GetRuntimeDb(); FairParRootFileIo* parIo1 = new FairParRootFileIo(); FairParAsciiFileIo* parIo2 = new FairParAsciiFileIo(); parIo1->open(parFile.Data()); diff --git a/macro/trd/run_reco_clusterizerFast.C b/macro/trd/run_reco_clusterizerFast.C index 44b456d5c84804d4cba1294a378b42b00c65d07e..b0cfa9e1285cfc0832600bf1ccfe6481edb5b674 100644 --- a/macro/trd/run_reco_clusterizerFast.C +++ b/macro/trd/run_reco_clusterizerFast.C @@ -259,6 +259,8 @@ void run_reco_clusterizerFast(Int_t nEvents = 1) // ----- TRD track fitting --------------------------------------------- + /* CbmTrdTrackFitter class has been removed + CbmTrdTrackFitter* trdTrackFitter = new CbmTrdTrackFitterKF(); ((CbmTrdTrackFitterKF*)trdTrackFitter)->SetVerbose(iVerbose); ((CbmTrdTrackFitterKF*)trdTrackFitter)->SetPid(211); @@ -266,8 +268,9 @@ void run_reco_clusterizerFast(Int_t nEvents = 1) "TRD", trdTrackFitter); run->AddTask(trdFitTracks); + */ // ------------------------------------------------------------------------- - + // ----- TRD track matching -------------------------------------------- CbmTrdMatchTracks* trdMatchTracks = new CbmTrdMatchTracks(iVerbose); diff --git a/macro/trd/run_reco_photon.C b/macro/trd/run_reco_photon.C index 00ccf3d4daefac3ddb48f35260cd53d600c9373e..97aaa64bfb1ec12d5b154113f39c49ec014840c5 100644 --- a/macro/trd/run_reco_photon.C +++ b/macro/trd/run_reco_photon.C @@ -263,6 +263,8 @@ void run_reco_photon(Int_t nEvents = 1, Int_t urqmd = 0) // ----- TRD track fitting --------------------------------------------- + /* CbmTrdTrackFitter class has been removed + CbmTrdTrackFitter* trdTrackFitter = new CbmTrdTrackFitterKF(); ((CbmTrdTrackFitterKF*)trdTrackFitter)->SetVerbose(iVerbose); ((CbmTrdTrackFitterKF*)trdTrackFitter)->SetPid(211); @@ -270,8 +272,9 @@ void run_reco_photon(Int_t nEvents = 1, Int_t urqmd = 0) "TRD", trdTrackFitter); run->AddTask(trdFitTracks); + */ // ------------------------------------------------------------------------- - + // ----- TRD track matching -------------------------------------------- CbmTrdMatchTracks* trdMatchTracks = new CbmTrdMatchTracks(iVerbose); diff --git a/reco/KF/Interface/CbmTrdTrackFitterKF.cxx b/reco/KF/Interface/CbmTrdTrackFitterKF.cxx deleted file mode 100644 index 8295aea50ecc27a33a84deed27f526f0914ecd4d..0000000000000000000000000000000000000000 --- a/reco/KF/Interface/CbmTrdTrackFitterKF.cxx +++ /dev/null @@ -1,177 +0,0 @@ -/* Copyright (C) 2005-2012 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt - SPDX-License-Identifier: GPL-3.0-only - Authors: Dmytro Kresan, Denis Bertini [committer], Florian Uhlig */ - -// ----------------------------------------------------------------------- -// ----- CbmTrdTrackFitterKF ----- -// ----- Created 29/11/05 by D. Kresan ----- -// ----------------------------------------------------------------------- -#include "CbmTrdTrackFitterKF.h" - -#include "CbmKFTrack.h" -#include "CbmKFTrdHit.h" -#include "CbmTrdHit.h" -#include "CbmTrdTrack.h" -#include "FairRootManager.h" -#include "TClonesArray.h" - -#include <iostream> -#include <vector> - -using std::cout; -using std::endl; -using std::vector; - -//________________________________________________________________________ -// -// CbmTrdTrackFitterKF -// -// Concrete implementation of the TRD track fitter based on Kalman filter -// - - -// ----------------------------------------------------------------------- -CbmTrdTrackFitterKF::CbmTrdTrackFitterKF() : fArrayTrdHit(nullptr), fVerbose(1), fPid(211), fKfTrack(nullptr) -{ - fKfTrack = new CbmKFTrack(); -} -// ----------------------------------------------------------------------- - - -// ----------------------------------------------------------------------- -CbmTrdTrackFitterKF::CbmTrdTrackFitterKF(Int_t verbose, Int_t pid) - : fArrayTrdHit(nullptr) - , fVerbose(verbose) - , fPid(pid) - , fKfTrack(nullptr) -{ - // Standard constructor - fArrayTrdHit = nullptr; - fVerbose = verbose; - fPid = pid; - fKfTrack = new CbmKFTrack(); -} -// ----------------------------------------------------------------------- - - -// ----------------------------------------------------------------------- -CbmTrdTrackFitterKF::~CbmTrdTrackFitterKF() -{ - // Destructor - delete fKfTrack; -} -// ----------------------------------------------------------------------- - - -// ----------------------------------------------------------------------- -void CbmTrdTrackFitterKF::Init() -{ - // Initialisation - - // Get the pointer to FairRootManager - FairRootManager* rootMgr = FairRootManager::Instance(); - if (nullptr == rootMgr) { - cout << "-E- CbmTrdTrackFitterKF::Init : " - << " ROOT manager is not instantiated!" << endl; - return; - } - - // Activate data branches - fArrayTrdHit = (TClonesArray*) rootMgr->GetObject("TrdHit"); - if (nullptr == fArrayTrdHit) { - cout << "-E- CbmTrdTrackFitterKF::Init : " - << " no TRD hit array!" << endl; - return; - } -} -// ----------------------------------------------------------------------- - - -// ----------------------------------------------------------------------- -Int_t CbmTrdTrackFitterKF::DoFit(CbmTrdTrack* pTrack) -{ - // Implementation of the fitting algorithm - if (nullptr == fArrayTrdHit) { - return 1; - } - - // Declare variables outside the loop - CbmTrdHit* pHit = nullptr; - CbmKFTrdHit* pKFHit = nullptr; - Int_t hitIndex = 0; - Int_t materialIndex = 0; - Double_t eLoss = 0.; - - // Loop over TRD hits of the track - for (Int_t iHit = 0; iHit < pTrack->GetNofHits(); iHit++) { - // Get current hit index - hitIndex = pTrack->GetHitIndex(iHit); - //Get the pointer to the CbmTrdHit - pHit = (CbmTrdHit*) fArrayTrdHit->At(hitIndex); - if (nullptr == pHit) { - cout << "-E- CbmTrdTrackFitterKF::DoFit : " - << " empty TRD hit : " << hitIndex << ", " << pHit << endl; - return 1; - } - // Accumulate TR energy loss - eLoss += pHit->GetELoss(); - // Create CbmKFTrdHit - pKFHit = new CbmKFTrdHit(); - pKFHit->Create(pHit); - materialIndex = pKFHit->MaterialIndex; - // Add to the KFTrack - fKfTrack->fHits.push_back(pKFHit); - if (fVerbose > 2) { - cout << " TRD hit : (" << pHit->GetX() << ", " << pHit->GetY() << ", " << pHit->GetZ() << ") " - << " is added to track. matidx=" << materialIndex << endl; - } - } // Loop over TRD hits - - fKfTrack->GetRefChi2() = 0.; - fKfTrack->GetRefNDF() = 0; - fKfTrack->SetTrackParam(*(const_cast<FairTrackParam*>(pTrack->GetParamLast()))); - fKfTrack->SetPID(fPid); - - fKfTrack->Fit(0); - fKfTrack->Fit(1); - fKfTrack->Fit(0); - // Store parameters at first layer - fKfTrack->GetTrackParam(*(const_cast<FairTrackParam*>(pTrack->GetParamFirst()))); - if (fVerbose > 2) { - // pTrack->GetParamFirst()->Print(); - } - fKfTrack->Fit(1); - // Store parameters at last layer - fKfTrack->GetTrackParam(*(const_cast<FairTrackParam*>(pTrack->GetParamLast()))); - if (fVerbose > 2) { - // pTrack->GetParamLast()->Print(); - } - - // Store chi2 of fit - pTrack->SetChiSq(fKfTrack->GetRefChi2()); - pTrack->SetNDF(fKfTrack->GetRefNDF()); - - // Store accumulated TR energy loss - pTrack->SetELoss(eLoss); - - // Delete CbmKFTrdHit objects - vector<CbmKFHit*>::iterator it; - for (it = fKfTrack->fHits.begin(); it != fKfTrack->fHits.end(); it++) { - pKFHit = (CbmKFTrdHit*) (*it); - delete pKFHit; - } - fKfTrack->fHits.clear(); - - if (fVerbose > 1) { - cout << "TRD track fitted. chi2/ndf = " << pTrack->GetChiSq() / pTrack->GetNDF() << endl; - if (fVerbose > 2) { - cout << endl << endl; - } - } - - return 0; -} -// ----------------------------------------------------------------------- - - -ClassImp(CbmTrdTrackFitterKF); diff --git a/reco/KF/Interface/CbmTrdTrackFitterKF.h b/reco/KF/Interface/CbmTrdTrackFitterKF.h deleted file mode 100644 index b9da6ead65b511923a935e230b02b84ad4c53a0d..0000000000000000000000000000000000000000 --- a/reco/KF/Interface/CbmTrdTrackFitterKF.h +++ /dev/null @@ -1,50 +0,0 @@ -/* Copyright (C) 2005-2012 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt - SPDX-License-Identifier: GPL-3.0-only - Authors: Dmytro Kresan, Denis Bertini [committer] */ - -// ----------------------------------------------------------------------- -// ----- CbmTrdTrackFitterKF ----- -// ----- Created 29/11/05 by D. Kresan ----- -// ----------------------------------------------------------------------- -#ifndef CBMTRDTRACKFITTERKF -#define CBMTRDTRACKFITTERKF - -#include "CbmTrdTrackFitter.h" - -class TClonesArray; -class CbmTrdTrack; -class CbmKFTrack; - - -class CbmTrdTrackFitterKF : public CbmTrdTrackFitter { - - private: - TClonesArray* fArrayTrdHit; // Array of TRD hits - Int_t fVerbose; // Verbosity level - Int_t fPid; // Mass hypothesis - CbmKFTrack* fKfTrack; // KF track - - public: - CbmTrdTrackFitterKF(); - CbmTrdTrackFitterKF(Int_t verbose, Int_t pid); - virtual ~CbmTrdTrackFitterKF(); - - void Init(); - Int_t DoFit(CbmTrdTrack* pTrack); - - inline Int_t GetVerbose() { return fVerbose; } - inline Int_t GetPid() { return fPid; } - - inline void SetVerbose(Int_t verbose) { fVerbose = verbose; } - inline void SetPid(Int_t pid) { fPid = pid; } - - - ClassDef(CbmTrdTrackFitterKF, 1); - - private: - CbmTrdTrackFitterKF(const CbmTrdTrackFitterKF&); - void operator=(const CbmTrdTrackFitterKF&); -}; - - -#endif diff --git a/reco/KF/KF.cmake b/reco/KF/KF.cmake index d8cf417ddfe1add340fc8f88a86cbf3fae1eb3fa..314bff3e0874fa89e54f7af8b77c1ae5a03b01d5 100644 --- a/reco/KF/KF.cmake +++ b/reco/KF/KF.cmake @@ -34,7 +34,6 @@ set(SRCS Interface/CbmStsFitPerformanceTask.cxx Interface/CbmStsKFTrackFitter.cxx Interface/CbmStsKFSecondaryVertexFinder.cxx - Interface/CbmTrdTrackFitterKF.cxx Interface/CbmGlobalTrackFitterKF.cxx # CbmKFParticleInterface.cxx #CbmKFParticleFinder.cxx diff --git a/reco/KF/KFLinkDef.h b/reco/KF/KFLinkDef.h index 2c97e52cb5c7541c3772636b18b45c6b265991f7..4bb0668b28f3421f3b136b118ba4100a5d27c08e 100644 --- a/reco/KF/KFLinkDef.h +++ b/reco/KF/KFLinkDef.h @@ -34,7 +34,6 @@ #pragma link C++ class CbmPVFinderKFGlobal + ; #pragma link C++ class CbmStsFitPerformanceTask + ; //#pragma link C++ class CbmEcalTrackExtrapolationKF+; -#pragma link C++ class CbmTrdTrackFitterKF + ; #pragma link C++ class CbmGlobalTrackFitterKF + ; #pragma link C++ class CbmL1TrackMerger + ; #pragma link C++ class CbmL1TofMerger + ; diff --git a/reco/base/CMakeLists.txt b/reco/base/CMakeLists.txt index 6827507faf95595ad0727f73f4e9f55bf07f55ca..48dc1198a569fcf6991f8a5f486fa28c462f6762 100644 --- a/reco/base/CMakeLists.txt +++ b/reco/base/CMakeLists.txt @@ -10,7 +10,6 @@ set(SRCS CbmUnpackTaskBase.cxx CbmTrdTrackFinder.cxx -CbmTrdTrackFitter.cxx CbmTofTrackFinder.cxx diff --git a/reco/base/CbmRecoBaseLinkDef.h b/reco/base/CbmRecoBaseLinkDef.h index 0da85313e61a6a2aedbfa48004a596f8d09ae11c..4d765847ebee19ce7286800bf8cf87c240514498 100644 --- a/reco/base/CbmRecoBaseLinkDef.h +++ b/reco/base/CbmRecoBaseLinkDef.h @@ -13,7 +13,6 @@ #pragma link C++ class CbmUnpackTaskBase + ; //#pragma link C++ class CbmUnpackTask+; <= Template, not needed -#pragma link C++ class CbmTrdTrackFitter + ; #pragma link C++ class CbmTrdTrackFinder + ; #pragma link C++ class CbmTofTrackFinder + ; diff --git a/reco/base/CbmTrdTrackFitter.cxx b/reco/base/CbmTrdTrackFitter.cxx deleted file mode 100644 index 9ed8e3f4860b49762c86b8d9c2c2cc6062deb383..0000000000000000000000000000000000000000 --- a/reco/base/CbmTrdTrackFitter.cxx +++ /dev/null @@ -1,17 +0,0 @@ -/* Copyright (C) 2005-2006 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt - SPDX-License-Identifier: GPL-3.0-only - Authors: Volker Friese, Denis Bertini [committer] */ - -// ------------------------------------------------------------------------- -// ----- CbmTrdTrackFitter source file ----- -// ----- Created 28/11/05 by V. Friese ----- -// ----- according to the CbmStsTrackFitter ----- -// ------------------------------------------------------------------------- - - -// Empty file, just there to please CINT - -#include "CbmTrdTrackFitter.h" - - -ClassImp(CbmTrdTrackFitter) diff --git a/reco/base/CbmTrdTrackFitter.h b/reco/base/CbmTrdTrackFitter.h deleted file mode 100644 index 37b8bc3f82e470c2e588320b38f50108aa5b5f5b..0000000000000000000000000000000000000000 --- a/reco/base/CbmTrdTrackFitter.h +++ /dev/null @@ -1,58 +0,0 @@ -/* Copyright (C) 2006 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt - SPDX-License-Identifier: GPL-3.0-only - Authors: Dmytro Kresan, Denis Bertini [committer] */ - -// ------------------------------------------------------------------------- -// ----- CbmTrdTrackFitter header file ----- -// ----- Created 28/11/05 by D. Kresan ----- -// ----- according to the CbmStsTrackFitter ----- -// ------------------------------------------------------------------------- - - -/** CbmTrdTrackFitter - *@author D.Kresan <D.Kresan@gsi.de> - ** - ** Abstract base class for concrete TRD track fitting algorithm. - ** Each derived class must implement the method DoFit. This has - ** to operate on an object of type CbmTrdTrack and fill the - ** parameters fPidHypo, fParamFirst, fParamLast, fFlag and fChi2. - **/ - -#ifndef CBMTRDTRACKFITTER -#define CBMTRDTRACKFITTER 1 - -#include "TObject.h" - -class CbmTrdTrack; - - -class CbmTrdTrackFitter : public TObject { - -public: - /** Default constructor **/ - CbmTrdTrackFitter() {}; - - - /** Destructor **/ - virtual ~CbmTrdTrackFitter() {}; - - - /** Virtual method Init. If needed, to be implemented in the - ** concrete class. Else no action. - **/ - virtual void Init() {}; - - - /** Abstract method DoFit. To be implemented in the concrete class. - ** Task: Make a fit to the hits attached to the track by the track - ** finder. Fill the track parameter member variables. - ** - *@param pTrack Pointer to CbmTrdTrack - **/ - virtual Int_t DoFit(CbmTrdTrack* pTrack) = 0; - - - ClassDef(CbmTrdTrackFitter, 1); -}; - -#endif diff --git a/reco/detectors/trd/CMakeLists.txt b/reco/detectors/trd/CMakeLists.txt index 6d3ecfd2ddef329ea1a8fbff24908fa340f23f40..5014e83f31412d35a1bfb69c296cb2739bef3def 100644 --- a/reco/detectors/trd/CMakeLists.txt +++ b/reco/detectors/trd/CMakeLists.txt @@ -15,7 +15,6 @@ set(INCLUDE_DIRECTORIES set(SRCS CbmTrdTrackFinderIdeal.cxx -CbmTrdTrackFitterIdeal.cxx CbmTrdClusterFinder.cxx CbmTrdHitProducer.cxx CbmTrdModuleRec.cxx diff --git a/reco/detectors/trd/CbmTrdRecoLinkDef.h b/reco/detectors/trd/CbmTrdRecoLinkDef.h index 8dd46361e3558ab94cdfd1ad961a49f030cf9339..7ce694cb21ad902c869e243c36e77d8c1cff09b8 100644 --- a/reco/detectors/trd/CbmTrdRecoLinkDef.h +++ b/reco/detectors/trd/CbmTrdRecoLinkDef.h @@ -11,7 +11,6 @@ #pragma link off all functions; #pragma link C++ class CbmTrdTrackFinderIdeal + ; -#pragma link C++ class CbmTrdTrackFitterIdeal + ; #pragma link C++ class CbmTrdClusterFinder + ; #pragma link C++ class CbmTrdHitProducer + ; #pragma link C++ class CbmTrdModuleRec + ; diff --git a/reco/detectors/trd/CbmTrdTrackFitterIdeal.cxx b/reco/detectors/trd/CbmTrdTrackFitterIdeal.cxx deleted file mode 100644 index 437f0ea2f853d65c39b4837a53bccb1fa7d63c9a..0000000000000000000000000000000000000000 --- a/reco/detectors/trd/CbmTrdTrackFitterIdeal.cxx +++ /dev/null @@ -1,124 +0,0 @@ -/* Copyright (C) 2006-2012 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt - SPDX-License-Identifier: GPL-3.0-only - Authors: Dmytro Kresan, Denis Bertini [committer], Florian Uhlig */ - -// ------------------------------------------------------------------------- -// ----- CbmTrdTrackFitterIdeal source file ----- -// ----- Created 12/05/06 by D. Kresan ----- -// ------------------------------------------------------------------------- -#include "CbmTrdTrackFitterIdeal.h" - -#include "CbmTrdHit.h" -#include "CbmTrdPoint.h" -#include "CbmTrdTrack.h" - -#include "FairRootManager.h" - -#include "TClonesArray.h" -#include "TVector3.h" - -#include <iostream> -using std::cerr; -using std::cout; -using std::endl; - - -//__________________________________________________________________________ -// -// CbmTrdTrackFitterIdeal -// -// Concrete implementation of TRD track fitting algorithm, based on MC -// - - -// ------------------------------------------------------------------------- -CbmTrdTrackFitterIdeal::CbmTrdTrackFitterIdeal() : CbmTrdTrackFitter(), fArrayTrdPoint(NULL), fArrayTrdHit(NULL) {} -// ------------------------------------------------------------------------- - - -// ------------------------------------------------------------------------- -CbmTrdTrackFitterIdeal::~CbmTrdTrackFitterIdeal() {} -// ------------------------------------------------------------------------- - - -// ------------------------------------------------------------------------- -void CbmTrdTrackFitterIdeal::Init() -{ - // Task initialisation - FairRootManager* rootMgr = FairRootManager::Instance(); - if (NULL == rootMgr) { - cerr << "-E- CbmTrdTrackFitterIdeal::Init : " - << "ROOT manager is not instantiated!" << endl; - return; - } - - fArrayTrdPoint = (TClonesArray*) rootMgr->GetObject("TrdPoint"); - if (NULL == fArrayTrdPoint) { - cout << "-W- CbmTrdTrackFitterIdeal::Init : " - << "no TRD point array!" << endl; - } - - fArrayTrdHit = (TClonesArray*) rootMgr->GetObject("TrdHit"); - if (NULL == fArrayTrdHit) { - cout << "-W- CbmTrdTrackFitterIdeal::Init : " - << "no TRD hit array!" << endl; - } -} -// ------------------------------------------------------------------------- - - -// ------------------------------------------------------------------------- -Int_t CbmTrdTrackFitterIdeal::DoFit(CbmTrdTrack* pTrack) -{ - // Implementation of the fitting algorithm - if (NULL == fArrayTrdPoint || NULL == fArrayTrdHit) return 0; - - // Parameters at the first plane - Int_t hitIndex = pTrack->GetHitIndex(0); - if (hitIndex < 0) return 0; - CbmTrdHit* hit = (CbmTrdHit*) fArrayTrdHit->At(hitIndex); - if (NULL == hit) return 0; - Int_t pointIndex = hit->GetRefId(); - if (pointIndex < 0) return 0; - CbmTrdPoint* point = (CbmTrdPoint*) fArrayTrdPoint->At(pointIndex); - if (NULL == point) return 0; - FairTrackParam par1; - SetTrackParam(point, &par1); - pTrack->SetParamFirst(&par1); - - // Parameters at the last plane - hitIndex = pTrack->GetHitIndex(pTrack->GetNofHits() - 1); - if (hitIndex < 0) return 0; - hit = (CbmTrdHit*) fArrayTrdHit->At(hitIndex); - if (NULL == hit) return 0; - pointIndex = hit->GetRefId(); - if (pointIndex < 0) return 0; - point = (CbmTrdPoint*) fArrayTrdPoint->At(pointIndex); - if (NULL == point) return 0; - FairTrackParam par2; - SetTrackParam(point, &par2); - pTrack->SetParamLast(&par2); - - return 1; -} -// ------------------------------------------------------------------------- - - -// ------------------------------------------------------------------------- -void CbmTrdTrackFitterIdeal::SetTrackParam(CbmTrdPoint* point, FairTrackParam* trackParam) -{ - // Set track parameters from the MC point - TVector3 pos; - TVector3 mom; - point->Position(pos); - point->Momentum(mom); - trackParam->SetX(pos.X()); - trackParam->SetY(pos.Y()); - trackParam->SetZ(pos.Z()); - trackParam->SetTx(mom.X() / mom.Z()); - trackParam->SetTy(mom.Y() / mom.Z()); -} -// ------------------------------------------------------------------------- - - -ClassImp(CbmTrdTrackFitterIdeal) diff --git a/reco/detectors/trd/CbmTrdTrackFitterIdeal.h b/reco/detectors/trd/CbmTrdTrackFitterIdeal.h deleted file mode 100644 index 0ae880f1e857a12b52a98f0db4f1a61ff11ec572..0000000000000000000000000000000000000000 --- a/reco/detectors/trd/CbmTrdTrackFitterIdeal.h +++ /dev/null @@ -1,41 +0,0 @@ -/* Copyright (C) 2006-2012 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt - SPDX-License-Identifier: GPL-3.0-only - Authors: Dmytro Kresan, Denis Bertini [committer] */ - -// ------------------------------------------------------------------------- -// ----- CbmTrdTrackFitterIdeal header file ----- -// ----- Created 12/05/06 by D. Kresan ----- -// ------------------------------------------------------------------------- -#ifndef CBMTRDTRACKFITTERIDEAL -#define CBMTRDTRACKFITTERIDEAL - -#include "CbmTrdTrackFitter.h" - -class TClonesArray; -class CbmTrdPoint; -class FairTrackParam; -class CbmTrdTrack; - - -class CbmTrdTrackFitterIdeal : public CbmTrdTrackFitter { - -private: - TClonesArray* fArrayTrdPoint; // TRD points - TClonesArray* fArrayTrdHit; // TRD hits - - CbmTrdTrackFitterIdeal(const CbmTrdTrackFitterIdeal&); - CbmTrdTrackFitterIdeal& operator=(const CbmTrdTrackFitterIdeal&); - -public: - CbmTrdTrackFitterIdeal(); - virtual ~CbmTrdTrackFitterIdeal(); - - void Init(); - Int_t DoFit(CbmTrdTrack* pTrack); - - void SetTrackParam(CbmTrdPoint* point, FairTrackParam* trackParam); - - ClassDef(CbmTrdTrackFitterIdeal, 1); -}; - -#endif