Skip to content
Snippets Groups Projects
Commit 4e058891 authored by Dominik Smith's avatar Dominik Smith
Browse files

CbmSeedFinderSlidingWindow: Fixed issue whereby seed finder still required...

CbmSeedFinderSlidingWindow: Fixed issue whereby seed finder still required digi input to be present in ideal mode.
parent b751ad03
No related branches found
No related tags found
1 merge request!741SeedFinderQaUpgrade
Pipeline #16397 passed
...@@ -136,6 +136,16 @@ template void CbmSeedFinderSlidingWindow::FillSeedTimes(const std::vector<CbmTof ...@@ -136,6 +136,16 @@ template void CbmSeedFinderSlidingWindow::FillSeedTimes(const std::vector<CbmTof
template void CbmSeedFinderSlidingWindow::FillSeedTimes(const std::vector<CbmTrdDigi>*, const std::vector<CbmMatch>*); template void CbmSeedFinderSlidingWindow::FillSeedTimes(const std::vector<CbmTrdDigi>*, const std::vector<CbmMatch>*);
template void CbmSeedFinderSlidingWindow::FillSeedTimes(const std::vector<double>*, const std::vector<CbmMatch>*); template void CbmSeedFinderSlidingWindow::FillSeedTimes(const std::vector<double>*, const std::vector<CbmMatch>*);
void CbmSeedFinderSlidingWindow::FillSeedTimes()
{
if (!fbIdealMode) {
std::cout << "CbmSeedFinderSlidingWindow: Error, called algo without digi input, but ideal mode is not set."
<< std::endl;
exit(1);
}
FillSeedTimes<double>(nullptr);
}
template<class inType> template<class inType>
double CbmSeedFinderSlidingWindow::GetTime(const std::vector<inType>* vIn, int32_t i) double CbmSeedFinderSlidingWindow::GetTime(const std::vector<inType>* vIn, int32_t i)
{ {
......
...@@ -63,6 +63,10 @@ public: ...@@ -63,6 +63,10 @@ public:
template<class inType> template<class inType>
void FillSeedTimes(const std::vector<inType>* vIn, const std::vector<CbmMatch>* vDigiMatch = nullptr); void FillSeedTimes(const std::vector<inType>* vIn, const std::vector<CbmMatch>* vDigiMatch = nullptr);
/** @brief Function which builds event seeds without digi input. Can only be used in ideal mode.
**/
void FillSeedTimes();
/** @brief Sets a global constant offset which is applied to each trigger time /** @brief Sets a global constant offset which is applied to each trigger time
* @params Value of offset * @params Value of offset
**/ **/
......
...@@ -59,11 +59,11 @@ void CbmTaskBuildRawEvents::SetSlidingWindowSeedFinder(int32_t minDigis, double ...@@ -59,11 +59,11 @@ void CbmTaskBuildRawEvents::SetSlidingWindowSeedFinder(int32_t minDigis, double
delete fSeedFinderSlidingWindow; delete fSeedFinderSlidingWindow;
fSeedFinderSlidingWindow = nullptr; fSeedFinderSlidingWindow = nullptr;
} }
fSeedFinderSlidingWindow = new CbmSeedFinderSlidingWindow(fSeedTimes, minDigis, dWindDur, dDeadT);
fSeedFinderSlidingWindow->SetOffset(dOffset);
if (fSeedTimes == nullptr) { fSeedTimes = new std::vector<Double_t>; } if (fSeedTimes == nullptr) { fSeedTimes = new std::vector<Double_t>; }
fpAlgo->SetSeedTimes(fSeedTimes); fpAlgo->SetSeedTimes(fSeedTimes);
fSeedFinderSlidingWindow = new CbmSeedFinderSlidingWindow(fSeedTimes, minDigis, dWindDur, dDeadT);
fSeedFinderSlidingWindow->SetOffset(dOffset);
} }
void CbmTaskBuildRawEvents::SetSeedFinderQa(Bool_t bFlagIn) void CbmTaskBuildRawEvents::SetSeedFinderQa(Bool_t bFlagIn)
...@@ -186,7 +186,6 @@ InitStatus CbmTaskBuildRawEvents::Init() ...@@ -186,7 +186,6 @@ InitStatus CbmTaskBuildRawEvents::Init()
return kFATAL; return kFATAL;
} }
InitStatus CbmTaskBuildRawEvents::ReInit() { return kSUCCESS; } InitStatus CbmTaskBuildRawEvents::ReInit() { return kSUCCESS; }
void CbmTaskBuildRawEvents::Exec(Option_t* /*option*/) void CbmTaskBuildRawEvents::Exec(Option_t* /*option*/)
...@@ -371,8 +370,14 @@ void CbmTaskBuildRawEvents::FillSeedTimesFromDetList(std::vector<Double_t>* vdSe ...@@ -371,8 +370,14 @@ void CbmTaskBuildRawEvents::FillSeedTimesFromDetList(std::vector<Double_t>* vdSe
void CbmTaskBuildRawEvents::FillSeedTimesFromSlidingWindow() void CbmTaskBuildRawEvents::FillSeedTimesFromSlidingWindow()
{ {
if (fSeedTimeDetList.size() == 0) { if (fSeedTimeDetList.size() == 0) {
std::cout << "FillSeedTimesFromSlidingWindow(): Error, seed detector list empty." << std::endl; if (fSeedFinderSlidingWindow->IsIdealMode()) {
exit(1); fSeedFinderSlidingWindow->FillSeedTimes();
return;
}
else {
std::cout << "FillSeedTimesFromSlidingWindow(): Error, seed detector list empty." << std::endl;
exit(1);
}
} }
if (fSeedTimeDetList.size() == 1) { if (fSeedTimeDetList.size() == 1) {
const RawEventBuilderDetector seedDet = fSeedTimeDetList.at(0); const RawEventBuilderDetector seedDet = fSeedTimeDetList.at(0);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment