From 9a59856293392af7fae266acb076f85ee26ab6aa Mon Sep 17 00:00:00 2001 From: Pierre-Alain Loizeau <p.-a.loizeau@gsi.de> Date: Thu, 26 Jan 2023 11:56:10 +0000 Subject: [PATCH] Change Tzd to Bmon everywhere, last change for #2631 --- MQ/mcbm/CMakeLists.txt | 32 ++-- MQ/mcbm/CbmDeviceBuildDigiEvents.cxx | 2 +- MQ/mcbm/CbmDeviceBuildDigiEvents.h | 4 +- MQ/mcbm/CbmDeviceBuildRawEvents.cxx | 24 +-- MQ/mcbm/CbmDeviceBuildRawEvents.h | 4 +- MQ/mcbm/CbmDeviceDigiEventSink.cxx | 4 +- MQ/mcbm/CbmDeviceDigiEventSink.h | 6 +- MQ/mcbm/CbmDeviceUnpack.cxx | 86 +++++----- MQ/mcbm/CbmDeviceUnpack.h | 10 +- algo/data/CMakeLists.txt | 6 +- algo/test/_GTestEventBuilder.cxx | 2 +- core/base/CbmDigiManager.cxx | 4 +- core/data/CMakeLists.txt | 10 +- core/data/CbmDataLinkDef.h | 7 +- core/data/base/CbmDigiData.h | 4 +- .../CbmTzdDigi.cxx => bmon/CbmBmonDigi.cxx} | 6 +- .../CbmTzdDigi.h => bmon/CbmBmonDigi.h} | 30 ++-- .../CbmBmonDigiData.h} | 18 +-- core/data/test/CMakeLists.txt | 9 +- core/data/test/bmon/_GTestCbmBmonDigi.cxx | 152 ++++++++++++++++++ core/data/test/bmon/compareBmonDigi.h | 29 ++++ core/data/tof/CbmTofDigi.cxx | 6 +- core/data/tof/CbmTofDigi.h | 14 +- macro/run/run_unpack_online.C | 4 + macro/run/run_unpack_tsa.C | 34 ++-- reco/detectors/CMakeLists.txt | 2 +- reco/detectors/{tzd => bmon}/CMakeLists.txt | 6 +- .../CbmBmonRecoLinkDef.h} | 4 +- .../bmon/unpack/CbmBmonUnpackAlgo.cxx | 11 ++ .../unpack/CbmBmonUnpackAlgo.h} | 26 +-- .../unpack/CbmBmonUnpackConfig.cxx} | 18 +-- .../unpack/CbmBmonUnpackConfig.h} | 24 +-- reco/detectors/tof/CMakeLists.txt | 1 - reco/detectors/tof/CbmTofEventClusterizer.cxx | 4 +- reco/detectors/tof/CbmTofHitMaker.cxx | 4 +- reco/detectors/tof/CbmTofRecoLinkDef.h | 1 - .../tof/unpack/CbmBmonUnpackConfig.cxx | 51 ------ .../tof/unpack/CbmBmonUnpackConfig.h | 75 --------- reco/detectors/tof/unpack/CbmTofUnpackAlgo.h | 4 +- .../detectors/tzd/unpack/CbmTzdUnpackAlgo.cxx | 11 -- .../digis/CbmAlgoBuildRawEvents.cxx | 24 +-- .../digis/CbmAlgoBuildRawEvents.h | 8 +- .../digis/CbmSeedFinderSlidingWindow.cxx | 4 +- .../digis/CbmTaskBuildRawEvents.h | 4 +- reco/global/CbmRecoTzero.cxx | 44 ++--- reco/global/CbmRecoTzero.h | 18 +-- reco/steer/CMakeLists.txt | 2 +- reco/steer/CbmRecoUnpack.cxx | 34 ++-- reco/steer/CbmRecoUnpack.h | 10 +- reco/tasks/CbmTaskBuildEvents.cxx | 4 +- reco/tasks/CbmTaskMakeRecoEvents.cxx | 6 +- reco/tasks/CbmTaskMakeRecoEvents.h | 2 +- sim/detectors/CMakeLists.txt | 2 +- sim/detectors/{tzd => bmon}/CMakeLists.txt | 4 +- .../CbmBmonDigitize.cxx} | 24 +-- .../CbmBmonDigitize.h} | 18 +-- .../CbmBmonSimLinkDef.h} | 4 +- sim/response/CMakeLists.txt | 2 +- sim/response/base/CbmDigitization.cxx | 6 +- 59 files changed, 521 insertions(+), 448 deletions(-) rename core/data/{global/CbmTzdDigi.cxx => bmon/CbmBmonDigi.cxx} (76%) rename core/data/{global/CbmTzdDigi.h => bmon/CbmBmonDigi.h} (82%) rename core/data/{global/CbmTzdDigiData.h => bmon/CbmBmonDigiData.h} (72%) create mode 100644 core/data/test/bmon/_GTestCbmBmonDigi.cxx create mode 100644 core/data/test/bmon/compareBmonDigi.h rename reco/detectors/{tzd => bmon}/CMakeLists.txt (87%) rename reco/detectors/{tzd/CbmTzdRecoLinkDef.h => bmon/CbmBmonRecoLinkDef.h} (76%) create mode 100644 reco/detectors/bmon/unpack/CbmBmonUnpackAlgo.cxx rename reco/detectors/{tzd/unpack/CbmTzdUnpackAlgo.h => bmon/unpack/CbmBmonUnpackAlgo.h} (93%) rename reco/detectors/{tzd/unpack/CbmTzdUnpackConfig.cxx => bmon/unpack/CbmBmonUnpackConfig.cxx} (71%) rename reco/detectors/{tzd/unpack/CbmTzdUnpackConfig.h => bmon/unpack/CbmBmonUnpackConfig.h} (82%) delete mode 100644 reco/detectors/tof/unpack/CbmBmonUnpackConfig.cxx delete mode 100644 reco/detectors/tof/unpack/CbmBmonUnpackConfig.h delete mode 100644 reco/detectors/tzd/unpack/CbmTzdUnpackAlgo.cxx rename sim/detectors/{tzd => bmon}/CMakeLists.txt (82%) rename sim/detectors/{tzd/CbmTzdDigitize.cxx => bmon/CbmBmonDigitize.cxx} (81%) rename sim/detectors/{tzd/CbmTzdDigitize.h => bmon/CbmBmonDigitize.h} (78%) rename sim/detectors/{tzd/CbmTzdSimLinkDef.h => bmon/CbmBmonSimLinkDef.h} (75%) diff --git a/MQ/mcbm/CMakeLists.txt b/MQ/mcbm/CMakeLists.txt index be4ddda2d5..4b8014c5cd 100644 --- a/MQ/mcbm/CMakeLists.txt +++ b/MQ/mcbm/CMakeLists.txt @@ -32,6 +32,7 @@ set(PUBLIC_DEPS set(PRIVATE_DEPS CbmFlibFlesTools + CbmBmonReco CbmMuchReco CbmPsdReco CbmRecoSts @@ -39,7 +40,6 @@ set(PRIVATE_DEPS CbmSimSteer CbmTofReco CbmTrdReco - CbmTzdReco CbmEventBuilder FairMQ::Tools FairRoot::Base @@ -56,8 +56,8 @@ set(INTERFACE_DEPS set(EXE_NAME McbmUnpack) set(SRCS CbmDeviceMcbmUnpack.cxx runMcbmUnpack.cxx) -set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) -set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPS}) +set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) +set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPS}) set(INTERFACE_DEPENDENCIES ${INTERFACE_DEPS}) generate_cbm_executable() @@ -65,8 +65,8 @@ generate_cbm_executable() set(EXE_NAME McbmMonitorPulser) set(SRCS CbmDeviceMcbmMonitorPulser.cxx runMcbmMonitorPulser.cxx) -set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) -set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPS}) +set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) +set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPS}) set(INTERFACE_DEPENDENCIES ${INTERFACE_DEPS}) generate_cbm_executable() @@ -74,8 +74,8 @@ generate_cbm_executable() set(EXE_NAME BuildRawEvents) set(SRCS CbmDeviceBuildRawEvents.cxx runBuildRawEvents.cxx) -set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) -set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPS}) +set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) +set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPS}) set(INTERFACE_DEPENDENCIES ${INTERFACE_DEPS}) generate_cbm_executable() @@ -84,7 +84,7 @@ generate_cbm_executable() set(EXE_NAME McbmEventBuilderWin) set(SRCS CbmDeviceMcbmEventBuilderWin.cxx runMcbmEvtBuilderWin.cxx) -set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) +set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) set(PRIVATE_DEPENDENCIES "${PRIVATE_DEPS};FairRoot::Online") set(INTERFACE_DEPENDENCIES ${INTERFACE_DEPS}) @@ -93,7 +93,7 @@ generate_cbm_executable() set(EXE_NAME McbmEventSink) set(SRCS CbmDeviceMcbmEventSink.cxx runMcbmEventSink.cxx) -set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) +set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) set(PRIVATE_DEPENDENCIES "${PRIVATE_DEPS};FairRoot::Online") set(INTERFACE_DEPENDENCIES ${INTERFACE_DEPS}) @@ -103,8 +103,8 @@ generate_cbm_executable() set(EXE_NAME MqUnpack) set(SRCS CbmDeviceUnpack.cxx runUnpack.cxx) -set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) -set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPS}) +set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) +set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPS}) set(INTERFACE_DEPENDENCIES ${INTERFACE_DEPS}) generate_cbm_executable() @@ -112,8 +112,8 @@ generate_cbm_executable() set(EXE_NAME BuildDigiEvents) set(SRCS CbmDeviceBuildDigiEvents.cxx runBuildDigiEvents.cxx) -set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) -set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPS}) +set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) +set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPS}) set(INTERFACE_DEPENDENCIES ${INTERFACE_DEPS}) generate_cbm_executable() @@ -121,7 +121,7 @@ generate_cbm_executable() set(EXE_NAME DigiEventSink) set(SRCS CbmDeviceDigiEventSink.cxx runDigiEventSink.cxx) -set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) +set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) set(PRIVATE_DEPENDENCIES "${PRIVATE_DEPS};FairRoot::Online") set(INTERFACE_DEPENDENCIES ${INTERFACE_DEPS}) @@ -131,8 +131,8 @@ generate_cbm_executable() set(EXE_NAME BmonMonitor) set(SRCS CbmDeviceBmonMonitor.cxx runBmonMonitor.cxx) -set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) -set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPS}) +set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) +set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPS}) set(INTERFACE_DEPENDENCIES ${INTERFACE_DEPS}) generate_cbm_executable() diff --git a/MQ/mcbm/CbmDeviceBuildDigiEvents.cxx b/MQ/mcbm/CbmDeviceBuildDigiEvents.cxx index a6c9ce996c..94e7d29d86 100644 --- a/MQ/mcbm/CbmDeviceBuildDigiEvents.cxx +++ b/MQ/mcbm/CbmDeviceBuildDigiEvents.cxx @@ -336,7 +336,7 @@ try { /* clang-format on */ /// Create input vectors - fvDigiT0 = new std::vector<CbmTzdDigi>(1000000); + fvDigiT0 = new std::vector<CbmBmonDigi>(1000000); fvDigiSts = new std::vector<CbmStsDigi>(1000000); fvDigiMuch = new std::vector<CbmMuchDigi>(1000000); fvDigiTrd = new std::vector<CbmTrdDigi>(1000000); diff --git a/MQ/mcbm/CbmDeviceBuildDigiEvents.h b/MQ/mcbm/CbmDeviceBuildDigiEvents.h index 38b88c46c0..d51ea1a858 100644 --- a/MQ/mcbm/CbmDeviceBuildDigiEvents.h +++ b/MQ/mcbm/CbmDeviceBuildDigiEvents.h @@ -14,13 +14,13 @@ /// CBM headers #include "CbmAlgoBuildRawEvents.h" +#include "CbmBmonDigi.h" #include "CbmMuchDigi.h" #include "CbmPsdDigi.h" #include "CbmRichDigi.h" #include "CbmStsDigi.h" #include "CbmTofDigi.h" #include "CbmTrdDigi.h" -#include "CbmTzdDigi.h" /// FAIRROOT headers #include "FairMQDevice.h" @@ -103,7 +103,7 @@ private: /// TS information in header CbmTsEventHeader* fCbmTsEventHeader = nullptr; /// Digis storage - std::vector<CbmTzdDigi>* fvDigiT0 = nullptr; + std::vector<CbmBmonDigi>* fvDigiT0 = nullptr; std::vector<CbmStsDigi>* fvDigiSts = nullptr; std::vector<CbmMuchDigi>* fvDigiMuch = nullptr; std::vector<CbmTrdDigi>* fvDigiTrd = nullptr; diff --git a/MQ/mcbm/CbmDeviceBuildRawEvents.cxx b/MQ/mcbm/CbmDeviceBuildRawEvents.cxx index 6bbb141904..881b659b1a 100644 --- a/MQ/mcbm/CbmDeviceBuildRawEvents.cxx +++ b/MQ/mcbm/CbmDeviceBuildRawEvents.cxx @@ -121,7 +121,7 @@ try { : kRawEventBuilderDetUndef))))))); if (kRawEventBuilderDetUndef != refDet) { fpAlgo->SetReferenceDetector(refDet); - } + } else { LOG(info) << "CbmDeviceBuildRawEvents::InitTask => Trying to change " "reference to unsupported detector, ignored! " @@ -142,14 +142,14 @@ try { : kRawEventBuilderDetUndef))))))); if (kRawEventBuilderDetUndef != addDet) { fpAlgo->AddDetector(addDet); - } + } else { LOG(info) << "CbmDeviceBuildRawEvents::InitTask => Trying to add " "unsupported detector, ignored! " << (*itStrAdd); continue; } - } + } /// Extract detector to remove if any for (std::vector<std::string>::iterator itStrRem = fvsDelDet.begin(); @@ -165,14 +165,14 @@ try { : kRawEventBuilderDetUndef))))))); if (kRawEventBuilderDetUndef != remDet) { fpAlgo->RemoveDetector(remDet); - } + } else { LOG(info) << "CbmDeviceBuildRawEvents::InitTask => Trying to remove " "unsupported detector, ignored! " << (*itStrRem); continue; - } - } + } + } /// Extract Trigger window to add if any for (std::vector<std::string>::iterator itStrTrigWin = fvsSetTrigWin.begin(); itStrTrigWin != fvsSetTrigWin.end(); @@ -185,7 +185,7 @@ try { << " (Should be ECbmModuleId,dWinBeg,dWinEnd but instead found " << (*itStrTrigWin) << " )"; continue; - } + } /// Detector Enum Tag std::string sSelDet = (*itStrTrigWin).substr(0, charPosDel); @@ -203,7 +203,7 @@ try { << "Trying to set trigger window for unsupported detector, ignored! " << sSelDet; continue; - } + } /// Window beginning charPosDel++; @@ -216,7 +216,7 @@ try { << " (Should be ECbmModuleId,dWinBeg,dWinEnd but instead found " << (*itStrTrigWin) << " )"; continue; - } + } Double_t dWinBeg = std::stod(sNext.substr(0, charPosDel)); /// Window end @@ -224,7 +224,7 @@ try { Double_t dWinEnd = std::stod(sNext.substr(charPosDel)); fpAlgo->SetTriggerWindow(selDet, dWinBeg, dWinEnd); - } + } /// Extract MinNb for trigger if any for (std::vector<std::string>::iterator itStrMinNb = fvsSetTrigMinNb.begin(); itStrMinNb != fvsSetTrigMinNb.end(); @@ -262,13 +262,13 @@ try { UInt_t uMinNb = std::stoul((*itStrMinNb).substr(charPosDel)); fpAlgo->SetTriggerMinNumber(selDet, uMinNb); - } + } /// FIXME: Re-enable clang formatting after formatted lines /* clang-format on */ /// Create input vectors - fvDigiT0 = new std::vector<CbmTzdDigi>(); + fvDigiT0 = new std::vector<CbmBmonDigi>(); fvDigiSts = new std::vector<CbmStsDigi>(); fvDigiMuch = new std::vector<CbmMuchBeamTimeDigi>(); fvDigiTrd = new std::vector<CbmTrdDigi>(); diff --git a/MQ/mcbm/CbmDeviceBuildRawEvents.h b/MQ/mcbm/CbmDeviceBuildRawEvents.h index b41022bc39..f45c81a3de 100644 --- a/MQ/mcbm/CbmDeviceBuildRawEvents.h +++ b/MQ/mcbm/CbmDeviceBuildRawEvents.h @@ -14,13 +14,13 @@ /// CBM headers #include "CbmAlgoBuildRawEvents.h" +#include "CbmBmonDigi.h" #include "CbmMuchBeamTimeDigi.h" #include "CbmPsdDigi.h" #include "CbmRichDigi.h" #include "CbmStsDigi.h" #include "CbmTofDigi.h" #include "CbmTrdDigi.h" -#include "CbmTzdDigi.h" /// FAIRROOT headers #include "FairMQDevice.h" @@ -100,7 +100,7 @@ private: TClonesArray* fTimeSliceMetaDataArray = nullptr; //! TimesliceMetaData* fTsMetaData = nullptr; /// Digis storage - std::vector<CbmTzdDigi>* fvDigiT0 = nullptr; + std::vector<CbmBmonDigi>* fvDigiT0 = nullptr; std::vector<CbmStsDigi>* fvDigiSts = nullptr; std::vector<CbmMuchBeamTimeDigi>* fvDigiMuch = nullptr; std::vector<CbmTrdDigi>* fvDigiTrd = nullptr; diff --git a/MQ/mcbm/CbmDeviceDigiEventSink.cxx b/MQ/mcbm/CbmDeviceDigiEventSink.cxx index d5d033f1e0..b2d6a15cab 100644 --- a/MQ/mcbm/CbmDeviceDigiEventSink.cxx +++ b/MQ/mcbm/CbmDeviceDigiEventSink.cxx @@ -155,7 +155,7 @@ try { /// Full TS Digis storage (optional usage, controlled by fbStoreFullTs!) if (fbStoreFullTs) { - fvDigiT0 = new std::vector<CbmTzdDigi>(); + fvDigiT0 = new std::vector<CbmBmonDigi>(); fvDigiSts = new std::vector<CbmStsDigi>(); fvDigiMuch = new std::vector<CbmMuchDigi>(); fvDigiTrd = new std::vector<CbmTrdDigi>(); @@ -163,7 +163,7 @@ try { fvDigiRich = new std::vector<CbmRichDigi>(); fvDigiPsd = new std::vector<CbmPsdDigi>(); - fpFairRootMgr->RegisterAny(CbmTzdDigi::GetBranchName(), fvDigiT0, kTRUE); + fpFairRootMgr->RegisterAny(CbmBmonDigi::GetBranchName(), fvDigiT0, kTRUE); fpFairRootMgr->RegisterAny(CbmStsDigi::GetBranchName(), fvDigiSts, kTRUE); fpFairRootMgr->RegisterAny(CbmMuchDigi::GetBranchName(), fvDigiMuch, kTRUE); fpFairRootMgr->RegisterAny(CbmTrdDigi::GetBranchName(), fvDigiTrd, kTRUE); diff --git a/MQ/mcbm/CbmDeviceDigiEventSink.h b/MQ/mcbm/CbmDeviceDigiEventSink.h index 396b718009..0d617899f4 100644 --- a/MQ/mcbm/CbmDeviceDigiEventSink.h +++ b/MQ/mcbm/CbmDeviceDigiEventSink.h @@ -13,6 +13,7 @@ #define CBMDEVICEDIGIEVTSINK_H_ /// CBM headers +#include "CbmBmonDigi.h" #include "CbmDigiEvent.h" #include "CbmEvent.h" #include "CbmMqTMessage.h" @@ -23,7 +24,6 @@ #include "CbmTofDigi.h" #include "CbmTrdDigi.h" #include "CbmTsEventHeader.h" -#include "CbmTzdDigi.h" #include "TimesliceMetaData.h" @@ -68,7 +68,7 @@ public: /// TS information in header CbmTsEventHeader fCbmTsEventHeader; /// Raw data - std::vector<CbmTzdDigi> fvDigiT0; + std::vector<CbmBmonDigi> fvDigiT0; std::vector<CbmStsDigi> fvDigiSts; std::vector<CbmMuchDigi> fvDigiMuch; std::vector<CbmTrdDigi> fvDigiTrd; @@ -157,7 +157,7 @@ private: /// CbmEvents std::vector<CbmDigiEvent>* fEventsSel = nullptr; //! output container of CbmEvents /// Full TS Digis storage (optional usage, controlled by fbStoreFullTs!) - std::vector<CbmTzdDigi>* fvDigiT0 = nullptr; + std::vector<CbmBmonDigi>* fvDigiT0 = nullptr; std::vector<CbmStsDigi>* fvDigiSts = nullptr; std::vector<CbmMuchDigi>* fvDigiMuch = nullptr; std::vector<CbmTrdDigi>* fvDigiTrd = nullptr; diff --git a/MQ/mcbm/CbmDeviceUnpack.cxx b/MQ/mcbm/CbmDeviceUnpack.cxx index 197d1d02a8..242b621f75 100644 --- a/MQ/mcbm/CbmDeviceUnpack.cxx +++ b/MQ/mcbm/CbmDeviceUnpack.cxx @@ -11,6 +11,7 @@ #include "CbmDeviceUnpack.h" +#include "CbmBmonUnpackConfig.h" #include "CbmFlesCanvasTools.h" #include "CbmMQDefs.h" #include "CbmMuchUnpackConfig.h" @@ -21,7 +22,6 @@ #include "CbmTofUnpackConfig.h" #include "CbmTrdUnpackConfig.h" #include "CbmTrdUnpackFaspConfig.h" -#include "CbmTzdUnpackConfig.h" #include "StorableTimeslice.hpp" #include "TimesliceMetaData.h" @@ -128,25 +128,25 @@ Bool_t CbmDeviceUnpack::InitContainers() /// Initialize the UnpackerConfigs objects and their "user options" // ---- BMON ---- - std::shared_ptr<CbmTzdUnpackConfig> tzdconfig = nullptr; + std::shared_ptr<CbmBmonUnpackConfig> bmonconfig = nullptr; if (fbUnpBmon) { - tzdconfig = std::make_shared<CbmTzdUnpackConfig>("", fuRunId); - if (tzdconfig) { - // tzdconfig->SetDebugState(); - tzdconfig->SetDoWriteOutput(); - // tzdconfig->SetDoWriteOptOutA("CbmTzdErrors"); - std::string parfilesbasepathTzd = Form("%s/macro/beamtime/mcbm2022/", srcDir.Data()); - tzdconfig->SetParFilesBasePath(parfilesbasepathTzd); - tzdconfig->SetParFileName("mBmonCriPar.par"); - tzdconfig->SetSystemTimeOffset(-1220); // [ns] value to be updated + bmonconfig = std::make_shared<CbmBmonUnpackConfig>("", fuRunId); + if (bmonconfig) { + // bmonconfig->SetDebugState(); + bmonconfig->SetDoWriteOutput(); + // bmonconfig->SetDoWriteOptOutA("CbmBmonErrors"); + std::string parfilesbasepathBmon = Form("%s/macro/beamtime/mcbm2022/", srcDir.Data()); + bmonconfig->SetParFilesBasePath(parfilesbasepathBmon); + bmonconfig->SetParFileName("mBmonCriPar.par"); + bmonconfig->SetSystemTimeOffset(-1220); // [ns] value to be updated if (2160 <= fuRunId) { - tzdconfig->SetSystemTimeOffset(-80); // [ns] value to be updated + bmonconfig->SetSystemTimeOffset(-80); // [ns] value to be updated } if (2350 <= fuRunId) { - tzdconfig->SetSystemTimeOffset(0); // [ns] value to be updated + bmonconfig->SetSystemTimeOffset(0); // [ns] value to be updated } /// Enable Monitor plots - // tzdconfig->SetMonitor(GetTofMonitor(outfilename, true)); // FIXME: Unsupported for now + // bmonconfig->SetMonitor(GetTofMonitor(outfilename, true)); // FIXME: Unsupported for now } } // ------------- @@ -471,7 +471,7 @@ Bool_t CbmDeviceUnpack::InitContainers() if (trd1Dconfig) SetUnpackConfig(trd1Dconfig); if (trdfasp2dconfig) SetUnpackConfig(trdfasp2dconfig); if (tofconfig) SetUnpackConfig(tofconfig); - if (tzdconfig) SetUnpackConfig(tzdconfig); + if (bmonconfig) SetUnpackConfig(bmonconfig); if (richconfig) SetUnpackConfig(richconfig); if (psdconfig) SetUnpackConfig(psdconfig); @@ -491,8 +491,8 @@ Bool_t CbmDeviceUnpack::InitContainers() charPosDel++; int32_t iOffset = std::stoi((*itStrOffs).substr(charPosDel)); - if ("kT0" == sSelDet && fTzdConfig) { // - fTzdConfig->SetSystemTimeOffset(iOffset); + if ("kT0" == sSelDet && fBmonConfig) { // + fBmonConfig->SetSystemTimeOffset(iOffset); } // else if( "kT0" == sSelDet ) else if ("kSTS" == sSelDet && fStsConfig) { // fStsConfig->SetSystemTimeOffset(iOffset); @@ -585,15 +585,15 @@ Bool_t CbmDeviceUnpack::InitContainers() fTofConfig->InitAlgo(); // initPerformanceMaps(fkFlesTof, "TOF"); } - // --- Tzd - if (fTzdConfig) { - fTzdConfig->InitOutput(); - // RegisterOutputs(ioman, fTzdConfig); /// Framework bound work = kept in this Task - fTzdConfig->SetAlgo(); - fTzdConfig->LoadParFileName(); /// Needed to change the Parameter file name before it is used!!! - initOK &= InitParameters(fTzdConfig->GetParContainerRequest()); /// Framework bound work = kept in this Device - fTzdConfig->InitAlgo(); - // initPerformanceMaps(fkFlesTzd, "Tzd"); + // --- Bmon + if (fBmonConfig) { + fBmonConfig->InitOutput(); + // RegisterOutputs(ioman, fBmonConfig); /// Framework bound work = kept in this Task + fBmonConfig->SetAlgo(); + fBmonConfig->LoadParFileName(); /// Needed to change the Parameter file name before it is used!!! + initOK &= InitParameters(fBmonConfig->GetParContainerRequest()); /// Framework bound work = kept in this Device + fBmonConfig->InitAlgo(); + // initPerformanceMaps(fkFlesBmon, "Bmon"); } // --- Rich if (fRichConfig) { @@ -801,8 +801,8 @@ bool CbmDeviceUnpack::ConditionalRun() fCbmTsEventHeader->Reset(); // Reset the unpackers for a new timeslice, e.g. clear the output vectors - // ---- Tzd ---- - if (fTzdConfig) fTzdConfig->Reset(); + // ---- Bmon ---- + if (fBmonConfig) fBmonConfig->Reset(); // ---- Sts ---- if (fStsConfig) fStsConfig->Reset(); // ----Much ---- @@ -850,21 +850,21 @@ bool CbmDeviceUnpack::SendUnpData() parts.AddPart(std::move(messTsHeader)); // ---- T0 ---- - std::stringstream ossTzd; - boost::archive::binary_oarchive oaTzd(ossTzd); - if (fTzdConfig) { // - oaTzd << *(fTzdConfig->GetOutputVec()); + std::stringstream ossBmon; + boost::archive::binary_oarchive oaBmon(ossBmon); + if (fBmonConfig) { // + oaBmon << *(fBmonConfig->GetOutputVec()); } else { - oaTzd << (std::vector<CbmTzdDigi>()); + oaBmon << (std::vector<CbmBmonDigi>()); } - std::string* strMsgTzd = new std::string(ossTzd.str()); + std::string* strMsgBmon = new std::string(ossBmon.str()); parts.AddPart(NewMessage( - const_cast<char*>(strMsgTzd->c_str()), // data - strMsgTzd->length(), // size + const_cast<char*>(strMsgBmon->c_str()), // data + strMsgBmon->length(), // size [](void*, void* object) { delete static_cast<std::string*>(object); }, - strMsgTzd)); // object that manages the data + strMsgBmon)); // object that manages the data // ---- Sts ---- std::stringstream ossSts; @@ -1068,7 +1068,7 @@ bool CbmDeviceUnpack::SendHistograms() CbmDeviceUnpack::~CbmDeviceUnpack() { - if (fTzdConfig) fTzdConfig->GetUnpacker()->Finish(); + if (fBmonConfig) fBmonConfig->GetUnpacker()->Finish(); if (fStsConfig) fStsConfig->GetUnpacker()->Finish(); if (fMuchConfig) fMuchConfig->GetUnpacker()->Finish(); if (fTrd1DConfig) fTrd1DConfig->GetUnpacker()->Finish(); @@ -1095,10 +1095,10 @@ Bool_t CbmDeviceUnpack::DoUnpack(const fles::Timeslice& ts, size_t /*component*/ auto systemId = static_cast<std::uint16_t>(ts.descriptor(component, 0).sys_id); switch (systemId) { - case fkFlesTzd: { - if (fTzdConfig) { + case fkFlesBmon: { + if (fBmonConfig) { fCbmTsEventHeader->AddNDigisBmon( - unpack(systemId, &ts, component, fTzdConfig, fTzdConfig->GetOptOutAVec(), fTzdConfig->GetOptOutBVec())); + unpack(systemId, &ts, component, fBmonConfig, fBmonConfig->GetOptOutAVec(), fBmonConfig->GetOptOutBVec())); } break; } @@ -1160,7 +1160,7 @@ Bool_t CbmDeviceUnpack::DoUnpack(const fles::Timeslice& ts, size_t /*component*/ if (fbOutputFullTimeSorting) { /// Time sort the output vectors of all unpackers present - if (fTzdConfig && fTzdConfig->GetOutputVec()) { timesort(fTzdConfig->GetOutputVec()); } + if (fBmonConfig && fBmonConfig->GetOutputVec()) { timesort(fBmonConfig->GetOutputVec()); } if (fStsConfig && fStsConfig->GetOutputVec()) { timesort(fStsConfig->GetOutputVec()); } if (fMuchConfig && fMuchConfig->GetOutputVec()) { timesort(fMuchConfig->GetOutputVec()); } if (fTrd1DConfig && fTrd1DConfig->GetOutputVec()) { timesort(fTrd1DConfig->GetOutputVec()); } @@ -1170,7 +1170,7 @@ Bool_t CbmDeviceUnpack::DoUnpack(const fles::Timeslice& ts, size_t /*component*/ if (fPsdConfig && fPsdConfig->GetOutputVec()) { timesort(fPsdConfig->GetOutputVec()); } /// Time sort the output vectors of all unpackers present - if (fTzdConfig && fTzdConfig->GetOptOutAVec()) { timesort(fTzdConfig->GetOptOutAVec()); } + if (fBmonConfig && fBmonConfig->GetOptOutAVec()) { timesort(fBmonConfig->GetOptOutAVec()); } if (fStsConfig && fStsConfig->GetOptOutAVec()) { timesort(fStsConfig->GetOptOutAVec()); } if (fMuchConfig && fMuchConfig->GetOptOutAVec()) { timesort(fMuchConfig->GetOptOutAVec()); } if (fTrd1DConfig && fTrd1DConfig->GetOptOutAVec()) { timesort(fTrd1DConfig->GetOptOutAVec()); } diff --git a/MQ/mcbm/CbmDeviceUnpack.h b/MQ/mcbm/CbmDeviceUnpack.h index bd80961026..2cd1b89810 100644 --- a/MQ/mcbm/CbmDeviceUnpack.h +++ b/MQ/mcbm/CbmDeviceUnpack.h @@ -28,7 +28,7 @@ #include <vector> class TList; -class CbmTzdUnpackConfig; +class CbmBmonUnpackConfig; class CbmStsUnpackConfig; class CbmMuchUnpackConfig; class CbmTrdUnpackFaspConfig; @@ -51,8 +51,8 @@ protected: bool ConditionalRun(); bool HandleCommand(FairMQMessagePtr&, int); - /** @brief Set the Tzd Unpack Config @param config */ - void SetUnpackConfig(std::shared_ptr<CbmTzdUnpackConfig> config) { fTzdConfig = config; } + /** @brief Set the Bmon Unpack Config @param config */ + void SetUnpackConfig(std::shared_ptr<CbmBmonUnpackConfig> config) { fBmonConfig = config; } /** @brief Set the Sts Unpack Config @param config */ void SetUnpackConfig(std::shared_ptr<CbmStsUnpackConfig> config) { fStsConfig = config; } @@ -77,7 +77,7 @@ protected: private: /// Constants - static constexpr std::uint16_t fkFlesTzd = static_cast<std::uint16_t>(fles::SubsystemIdentifier::T0); + static constexpr std::uint16_t fkFlesBmon = static_cast<std::uint16_t>(fles::SubsystemIdentifier::T0); static constexpr std::uint16_t fkFlesMvd = static_cast<std::uint16_t>(fles::SubsystemIdentifier::MVD); static constexpr std::uint16_t fkFlesSts = static_cast<std::uint16_t>(fles::SubsystemIdentifier::STS); static constexpr std::uint16_t fkFlesMuch = static_cast<std::uint16_t>(fles::SubsystemIdentifier::MUCH); @@ -137,7 +137,7 @@ private: std::map<std::uint16_t, std::pair<double, double>> fDataSizeMap = {}; //! /// Configuration of the unpackers. Provides the configured algorithm - std::shared_ptr<CbmTzdUnpackConfig> fTzdConfig = nullptr; + std::shared_ptr<CbmBmonUnpackConfig> fBmonConfig = nullptr; std::shared_ptr<CbmStsUnpackConfig> fStsConfig = nullptr; std::shared_ptr<CbmMuchUnpackConfig> fMuchConfig = nullptr; std::shared_ptr<CbmTrdUnpackFaspConfig> fTrd2DConfig = nullptr; diff --git a/algo/data/CMakeLists.txt b/algo/data/CMakeLists.txt index 41483471e5..71edcd9f9f 100644 --- a/algo/data/CMakeLists.txt +++ b/algo/data/CMakeLists.txt @@ -6,9 +6,11 @@ set(SRCS ${CMAKE_SOURCE_DIR}/core/data/CbmDefs.cxx ${CMAKE_SOURCE_DIR}/core/data/CbmAddress.cxx + ${CMAKE_SOURCE_DIR}/core/data/bmon/CbmBmonDigi.cxx + ${CMAKE_SOURCE_DIR}/core/data/sts/CbmStsAddress.cxx ${CMAKE_SOURCE_DIR}/core/data/sts/CbmStsDigi.cxx - + ${CMAKE_SOURCE_DIR}/core/data/rich/CbmRichDigi.cxx ${CMAKE_SOURCE_DIR}/core/data/much/CbmMuchDigi.cxx @@ -24,7 +26,6 @@ set(SRCS ${CMAKE_SOURCE_DIR}/core/data/psd/CbmPsdDigi.cxx ${CMAKE_SOURCE_DIR}/core/data/psd/CbmPsdAddress.cxx - ${CMAKE_SOURCE_DIR}/core/data/global/CbmTzdDigi.cxx ${CMAKE_SOURCE_DIR}/core/data/raw/StsXyterMessage.cxx ) @@ -34,6 +35,7 @@ add_library(OnlineData SHARED ${SRCS}) target_include_directories(OnlineData PUBLIC ${CMAKE_SOURCE_DIR}/core/data PUBLIC ${CMAKE_SOURCE_DIR}/core/data/base + PUBLIC ${CMAKE_SOURCE_DIR}/core/data/bmon PUBLIC ${CMAKE_SOURCE_DIR}/core/data/sts PUBLIC ${CMAKE_SOURCE_DIR}/core/data/rich PUBLIC ${CMAKE_SOURCE_DIR}/core/data/much diff --git a/algo/test/_GTestEventBuilder.cxx b/algo/test/_GTestEventBuilder.cxx index e856ac9c63..934d9346aa 100644 --- a/algo/test/_GTestEventBuilder.cxx +++ b/algo/test/_GTestEventBuilder.cxx @@ -32,7 +32,7 @@ TEST(_GTestEventBuilder, CheckEventBuilderAlgorithmSimple) //tsIn.fData.fTrd.fDigis.push_back(CbmTrdDigi(0, 1.0, 1.0, i * inputSpacing)); tsIn.fData.fRich.fDigis.push_back(CbmRichDigi(1111, i * inputSpacing, 1.0)); tsIn.fData.fPsd.fDigis.push_back(CbmPsdDigi(1111, i * inputSpacing, 1.0)); - tsIn.fData.fT0.fDigis.push_back(CbmTzdDigi(1111, i * inputSpacing, 1.0)); + tsIn.fData.fT0.fDigis.push_back(CbmBmonDigi(1111, i * inputSpacing, 1.0)); } std::vector<double> triggerIn; diff --git a/core/base/CbmDigiManager.cxx b/core/base/CbmDigiManager.cxx index 886338c5fe..75fe067181 100644 --- a/core/base/CbmDigiManager.cxx +++ b/core/base/CbmDigiManager.cxx @@ -8,6 +8,7 @@ **/ #include "CbmDigiManager.h" +#include "CbmBmonDigi.h" // for CbmBmonDigi #include "CbmDefs.h" // for kMuch #include "CbmDigiBranch.h" // for CbmDigiBranch #include "CbmMuchBeamTimeDigi.h" // for CbmMuchBeamTimeDigi @@ -18,7 +19,6 @@ #include "CbmStsDigi.h" // for CbmStsDigi #include "CbmTofDigi.h" // for CbmTofDigi #include "CbmTrdDigi.h" // for CbmTrdDigi -#include "CbmTzdDigi.h" // for CbmTzdDigi #include <FairTask.h> // for kSUCCESS, InitStatus @@ -91,7 +91,7 @@ InitStatus CbmDigiManager::Init() SetBranch<CbmTrdDigi>(); SetBranch<CbmTofDigi>(); SetBranch<CbmPsdDigi>(); - SetBranch<CbmTzdDigi>(); + SetBranch<CbmBmonDigi>(); LOG(info) << "Present branches:"; for (auto const& branch : fBranches) { LOG(info) << " " << branch.second->ToString(); diff --git a/core/data/CMakeLists.txt b/core/data/CMakeLists.txt index bd1d18176b..ea147c107f 100644 --- a/core/data/CMakeLists.txt +++ b/core/data/CMakeLists.txt @@ -7,6 +7,7 @@ set(INCLUDE_DIRECTORIES ${CMAKE_CURRENT_SOURCE_DIR}/base ${CMAKE_CURRENT_SOURCE_DIR}/raw ${CMAKE_CURRENT_SOURCE_DIR}/mvd + ${CMAKE_CURRENT_SOURCE_DIR}/bmon ${CMAKE_CURRENT_SOURCE_DIR}/sts ${CMAKE_CURRENT_SOURCE_DIR}/much ${CMAKE_CURRENT_SOURCE_DIR}/trd @@ -49,6 +50,8 @@ set(SRCS mvd/CbmMvdPoint.cxx mvd/CbmMvdHitMatch.cxx + bmon/CbmBmonDigi.cxx + sts/CbmStsAddress.cxx sts/CbmStsCluster.cxx sts/CbmStsDigi.cxx @@ -99,7 +102,6 @@ set(SRCS psd/CbmPsdAddress.cxx psd/CbmPsdMCbmHit.cxx - global/CbmTzdDigi.cxx global/CbmGlobalTrack.cxx global/CbmVertex.cxx global/CbmTrackParam.cxx @@ -126,8 +128,8 @@ SET_SOURCE_FILES_PROPERTIES(tof/etof/star_rhicf.c PROPERTIES COMPILE_FLAGS -Wno- list(APPEND HEADERS base/CbmDigiData.h global/CbmDigiEvent.h global/CbmDigiTimeslice.h -sts/CbmStsDigiData.h much/CbmMuchDigiData.h rich/CbmRichDigiData.h trd/CbmTrdDigiData.h -tof/CbmTofDigiData.h global/CbmTzdDigiData.h psd/CbmPsdDigiData.h) +bmon/CbmBmonDigiData.h sts/CbmStsDigiData.h much/CbmMuchDigiData.h rich/CbmRichDigiData.h trd/CbmTrdDigiData.h +tof/CbmTofDigiData.h psd/CbmPsdDigiData.h) set(LIBRARY_NAME CbmData) set(LINKDEF ${LIBRARY_NAME}LinkDef.h) @@ -152,13 +154,13 @@ generate_cbm_library() Install(FILES CbmDefs.h base/CbmDigiData.h base/CbmDigiVector.h + bmon/CbmBmonDigiData.h much/CbmMuchDigiData.h psd/CbmPsdDigiData.h rich/CbmRichDigiData.h rich/CbmRichRingLight.h sts/CbmStsDigiData.h trd/CbmTrdDigiData.h tof/CbmTofDigiData.h - global/CbmTzdDigiData.h global/CbmDigiEvent.h global/CbmDigiTimeslice.h raw/bitmask_operators.hpp raw/StsXyterFinalHit.h raw/PsdGbtDataFormat-v0.00.h raw/PsdGbtDataFormat-v1.00.h DESTINATION include diff --git a/core/data/CbmDataLinkDef.h b/core/data/CbmDataLinkDef.h index be7e64e2e0..a6c2d44494 100644 --- a/core/data/CbmDataLinkDef.h +++ b/core/data/CbmDataLinkDef.h @@ -38,6 +38,9 @@ #pragma link C++ class CbmMCEventList; #pragma link C++ class CbmMCEventInfo; +#pragma link C++ class CbmBmonDigi + ; +#pragma link C++ class CbmBmonDigiData + ; + #pragma link C++ class CbmMvdCluster + ; #pragma link C++ class CbmMvdDetectorId + ; #pragma link C++ class CbmMvdDigi + ; @@ -99,8 +102,6 @@ // --- data/global #pragma link C++ class CbmGlobalTrack + ; -#pragma link C++ class CbmTzdDigi + ; -#pragma link C++ class CbmTzdDigiData + ; #pragma link C++ class CbmVertex + ; #pragma link C++ class std::vector < CbmDigiEvent>; @@ -131,7 +132,7 @@ #pragma link C++ class vector < CbmMuchBeamTimeDigi> + ; #pragma link C++ class vector < CbmTrdDigi> + ; #pragma link C++ class vector < CbmTofDigi> + ; -#pragma link C++ class vector < CbmTzdDigi> + ; +#pragma link C++ class vector < CbmBmonDigi> + ; #pragma link C++ class vector < CbmPsdDigi> + ; #pragma link C++ class vector < CbmPsdDsp> + ; #pragma link C++ class vector < CbmMatch> + ; diff --git a/core/data/base/CbmDigiData.h b/core/data/base/CbmDigiData.h index 5ba3ffe1d8..835fc28493 100644 --- a/core/data/base/CbmDigiData.h +++ b/core/data/base/CbmDigiData.h @@ -6,13 +6,13 @@ #ifndef CBMDIGIDATA_H #define CBMDIGIDATA_H 1 +#include "CbmBmonDigiData.h" #include "CbmMuchDigiData.h" #include "CbmPsdDigiData.h" #include "CbmRichDigiData.h" #include "CbmStsDigiData.h" #include "CbmTofDigiData.h" #include "CbmTrdDigiData.h" -#include "CbmTzdDigiData.h" #include <boost/serialization/access.hpp> #include <boost/serialization/base_object.hpp> @@ -31,7 +31,7 @@ class CbmDigiData { public: - CbmTzdDigiData fT0; ///< Beam monitor data + CbmBmonDigiData fT0; ///< Beam monitor data CbmStsDigiData fSts; ///< STS data CbmMuchDigiData fMuch; ///< MUCH data CbmRichDigiData fRich; ///< RICH data diff --git a/core/data/global/CbmTzdDigi.cxx b/core/data/bmon/CbmBmonDigi.cxx similarity index 76% rename from core/data/global/CbmTzdDigi.cxx rename to core/data/bmon/CbmBmonDigi.cxx index 10a0747310..c4355c94c4 100644 --- a/core/data/global/CbmTzdDigi.cxx +++ b/core/data/bmon/CbmBmonDigi.cxx @@ -2,18 +2,18 @@ SPDX-License-Identifier: GPL-3.0-only Authors: Pierre-Alain Loizeau, Volker Friese [committer] */ -#include "CbmTzdDigi.h" +#include "CbmBmonDigi.h" #include "CbmTofDigi.h" -CbmTzdDigi::CbmTzdDigi(const CbmTofDigi& digi) +CbmBmonDigi::CbmBmonDigi(const CbmTofDigi& digi) : fAddress(digi.GetAddress()) , fTime(digi.GetTime()) , fCharge(digi.GetCharge()) { } -CbmTzdDigi::CbmTzdDigi(const CbmTofDigi* digi) +CbmBmonDigi::CbmBmonDigi(const CbmTofDigi* digi) : fAddress(digi->GetAddress()) , fTime(digi->GetTime()) , fCharge(digi->GetCharge()) diff --git a/core/data/global/CbmTzdDigi.h b/core/data/bmon/CbmBmonDigi.h similarity index 82% rename from core/data/global/CbmTzdDigi.h rename to core/data/bmon/CbmBmonDigi.h index e1aca61c86..8d65ee2cba 100644 --- a/core/data/global/CbmTzdDigi.h +++ b/core/data/bmon/CbmBmonDigi.h @@ -3,8 +3,8 @@ Authors: Pierre-Alain Loizeau, Volker Friese [committer] */ -#ifndef CBMTZDDIGI_H -#define CBMTZDDIGI_H 1 +#ifndef CBMBMONDIGI_H +#define CBMBMONDIGI_H 1 #include "CbmDefs.h" @@ -21,53 +21,53 @@ class CbmTofDigi; // For declaration of the conversion constructor without starting a cyclic dependency #endif // CBMTOFDIGI_H -/** @class CbmTzdDigi +/** @class CbmBmonDigi ** @brief Data class for a signal in the t-zero detector ** ** The current implementation is a placeholder, storing just the event time. To be replaced ** with a real detector measurement model once available. **/ -class CbmTzdDigi { +class CbmBmonDigi { public: /** @brief Default Constructor **/ - CbmTzdDigi() = default; + CbmBmonDigi() = default; /** @brief Constructor ** @param time Measurement time [ns] ** @param charge Measured charge] ** @param address [32b CbmAddress] **/ - CbmTzdDigi(int32_t addr, double time, float charge) : fAddress(addr), fTime(time), fCharge(charge) {}; + CbmBmonDigi(int32_t addr, double time, float charge) : fAddress(addr), fTime(time), fCharge(charge) {}; /** @brief Constructor ** @param reference to CbmTofDigi (equivalent content) **/ - CbmTzdDigi(const CbmTofDigi& digi); + CbmBmonDigi(const CbmTofDigi& digi); /** @brief Constructor ** @param pointer to const CbmTofDigi object (equivalent content) **/ - CbmTzdDigi(const CbmTofDigi* digi); + CbmBmonDigi(const CbmTofDigi* digi); /** @brief Destructor **/ - virtual ~CbmTzdDigi() {}; + virtual ~CbmBmonDigi() {}; /** @brief Get the desired name of the branch for this objects in the cbm output tree (static) ** @return "BmonDigi" **/ - static const char* GetBranchName() { return "TzdDigi"; } + static const char* GetBranchName() { return "BmonDigi"; } /** @brief Class name (static) - ** @return CbmTzdDigi + ** @return CbmBmonDigi **/ - static const char* GetClassName() { return "CbmTzdDigi"; } + static const char* GetClassName() { return "CbmBmonDigi"; } /** System ID (static) @@ -114,7 +114,7 @@ public: private: int32_t fAddress = ToIntegralType<ECbmModuleId>(ECbmModuleId::kT0); ///< Unique CBM address - double fTime = -1.; ///< Time of signal in TZD [ns] + double fTime = -1.; ///< Time of signal in BMON [ns] float fCharge = -1.; ///< Charge friend class boost::serialization::access; @@ -128,8 +128,8 @@ private: } #ifndef NO_ROOT - ClassDefNV(CbmTzdDigi, 1); + ClassDefNV(CbmBmonDigi, 1); #endif }; -#endif /* CBMTZDDIGI_H */ +#endif /* CBMBMONDIGI_H */ diff --git a/core/data/global/CbmTzdDigiData.h b/core/data/bmon/CbmBmonDigiData.h similarity index 72% rename from core/data/global/CbmTzdDigiData.h rename to core/data/bmon/CbmBmonDigiData.h index 0129f1fcf1..ef9f4ab74d 100644 --- a/core/data/global/CbmTzdDigiData.h +++ b/core/data/bmon/CbmBmonDigiData.h @@ -2,11 +2,11 @@ SPDX-License-Identifier: GPL-3.0-only Authors: Pierre-Alain Loizeau [committer] */ -#ifndef CBMTZDDIGIDATA_H -#define CBMTZDDIGIDATA_H 1 +#ifndef CBMBMONDIGIDATA_H +#define CBMBMONDIGIDATA_H 1 -#include "CbmTzdDigi.h" +#include "CbmBmonDigi.h" #ifndef NO_ROOT #include <Rtypes.h> // for ClassDef @@ -18,19 +18,19 @@ #include <vector> -/** @class CbmTzdDigiData - ** @brief Container class for CbmTzdDigi objects +/** @class CbmBmonDigiData + ** @brief Container class for CbmBmonDigi objects ** @author Volker Friese <v.friese@gsi.de> ** @since 7.12.2022 ** @version 1.0 ** - ** Container class for transporting CbmTzdDigi objects. + ** Container class for transporting CbmBmonDigi objects. ** The current implementation is the simplest one: a std::vector. **/ -class CbmTzdDigiData { +class CbmBmonDigiData { public: - std::vector<CbmTzdDigi> fDigis = {}; ///< Data vector + std::vector<CbmBmonDigi> fDigis = {}; ///< Data vector friend class boost::serialization::access; @@ -46,7 +46,7 @@ public: // --- ROOT serializer #ifndef NO_ROOT - ClassDefNV(CbmTzdDigiData, 1); + ClassDefNV(CbmBmonDigiData, 1); #endif }; diff --git a/core/data/test/CMakeLists.txt b/core/data/test/CMakeLists.txt index c82655841c..7ff3661a4c 100644 --- a/core/data/test/CMakeLists.txt +++ b/core/data/test/CMakeLists.txt @@ -108,7 +108,7 @@ CreateGTestExeAndAddTest(_GTestCbmErrorMessage "${INCLUDE_DIRECTORIES}" "${LINK_ Set(CbmAddressSources _GTestCbmAddress.cxx -) +) CreateGTestExeAndAddTest(_GTestCbmAddress "${INCLUDE_DIRECTORIES}" "${LINK_DIRECTORIES}" "${CbmAddressSources}" "${PUB_DEPS}" "${PVT_DEPS}" "${INT_DEPS}" "_GTestCbmErrorMessage") @@ -150,3 +150,10 @@ Set(CbmMuchBeamTimeDigiSources CreateGTestExeAndAddTest(_GTestCbmMuchBeamTimeDigi "${INCLUDE_DIRECTORIES}" "${LINK_DIRECTORIES}" "${CbmMuchBeamTimeDigiSources}" "${PUB_DEPS}" "${PVT_DEPS}" "${INT_DEPS}" "_GTestMuchDigi") +Set(CbmBmonDigiSources + bmon/_GTestCbmBmonDigi.cxx +) + +CreateGTestExeAndAddTest(_GTestCbmBmonDigi "${INCLUDE_DIRECTORIES}" "${LINK_DIRECTORIES}" + "${CbmBmonDigiSources}" "${PUB_DEPS}" "${PVT_DEPS}" "${INT_DEPS}" "_GTestCbmMuchBeamTimeDigi") + diff --git a/core/data/test/bmon/_GTestCbmBmonDigi.cxx b/core/data/test/bmon/_GTestCbmBmonDigi.cxx new file mode 100644 index 0000000000..0d229a5ad2 --- /dev/null +++ b/core/data/test/bmon/_GTestCbmBmonDigi.cxx @@ -0,0 +1,152 @@ +/* Copyright (C) 2023 Facility for Antiproton and Ion Research in Europe, Darmstadt + SPDX-License-Identifier: GPL-3.0-only + Authors: Pierre-Alain Loizeau [committer] */ + +#include "CbmBmonDigi.h" + +#include "compareBmonDigi.h" +#include "gtest/gtest-spi.h" +#include "gtest/gtest.h" + +TEST(_GTestCbmBmonDigi, CheckDefaultConstructor) +{ + // Create object + CbmBmonDigi test; + + compareBmonDigiDataMembers(test, ToIntegralType<ECbmModuleId>(ECbmModuleId::kT0), ECbmModuleId::kT0, -1., -1.); + + CbmBmonDigi* test1 = new CbmBmonDigi(); + + compareBmonDigiDataMembers(*test1, ToIntegralType<ECbmModuleId>(ECbmModuleId::kT0), ECbmModuleId::kT0, -1., -1.); +} + +TEST(_GTestCbmBmonDigi, CheckStandardConstructor) +{ + // Create object + CbmBmonDigi test(111, 987654321., 23.); + + compareBmonDigiDataMembers(test, 111, ECbmModuleId::kT0, 987654321., 23.); + + CbmBmonDigi* test1 = new CbmBmonDigi(111, 987654321., 23.); + + compareBmonDigiDataMembers(*test1, 111, ECbmModuleId::kT0, 987654321., 23.); +} + +TEST(_GTestCbmBmonDigi, CheckCopyConstructor) +{ + // Create object + CbmBmonDigi test(111, 987654321., 23.); + + compareBmonDigiDataMembers(test, 111, ECbmModuleId::kT0, 987654321., 23.); + + // Create object by copy constructing + // test should be equal to test2 and + // test should not be changed + CbmBmonDigi test2 {test}; + + compareBmonDigiDataMembers(test2, 111, ECbmModuleId::kT0, 987654321., 23.); + + // Test if the original object wasn't changed + compareBmonDigiDataMembers(test, 111, ECbmModuleId::kT0, 987654321., 23.); +} + +TEST(_GTestCbmBmonDigi, CheckAssignmentOperator) +{ + + // Create object + CbmBmonDigi test(111, 987654321., 23.); + + compareBmonDigiDataMembers(test, 111, ECbmModuleId::kT0, 987654321., 23.); + + // Create object by copy assignment + // test should be equal to test2 and + // test should not be changed + CbmBmonDigi test2; + test2 = test; + + compareBmonDigiDataMembers(test2, 111, ECbmModuleId::kT0, 987654321., 23.); + + // Test if the original object wasn't changed + compareBmonDigiDataMembers(test, 111, ECbmModuleId::kT0, 987654321., 23.); +} + +TEST(_GTestCbmBmonDigi, CheckMoveConstructor) +{ + // Create object + CbmBmonDigi test(111, 987654321., 23.); + + compareBmonDigiDataMembers(test, 111, ECbmModuleId::kT0, 987654321., 23.); + + // Create object by move constructing + CbmBmonDigi test2 {std::move(test)}; + + compareBmonDigiDataMembers(test2, 111, ECbmModuleId::kT0, 987654321., 23.); + + // For objects with simple types move fall back to copy so + // the original object is kept unchanged + compareBmonDigiDataMembers(test, 111, ECbmModuleId::kT0, 987654321., 23.); +} + +TEST(_GTestCbmBmonDigi, CheckAssignmentMoveConstructor) +{ + // Create object + CbmBmonDigi test(111, 987654321., 23.); + + compareBmonDigiDataMembers(test, 111, ECbmModuleId::kT0, 987654321., 23.); + + // Create object by move constructing + CbmBmonDigi test2 {}; + test2 = std::move(test); + + compareBmonDigiDataMembers(test2, 111, ECbmModuleId::kT0, 987654321., 23.); + + // For objects with simple types move fall back to copy so + // the original object is kept unchanged + compareBmonDigiDataMembers(test, 111, ECbmModuleId::kT0, 987654321., 23.); +} + +TEST(_GTestCbmBmonDigi, CheckGetClassName) +{ + // Create object + CbmBmonDigi test(111, 987654321., 23.); + + compareBmonDigiDataMembers(test, 111, ECbmModuleId::kT0, 987654321., 23.); + + EXPECT_STREQ("CbmBmonDigi", test.GetClassName()); +} + +TEST(_GTestCbmBmonDigi, CheckSetTime) +{ + // Create object + CbmBmonDigi test(111, 987654321., 23.); + + compareBmonDigiDataMembers(test, 111, ECbmModuleId::kT0, 987654321., 23.); + + test.SetTime(12345678.); + + compareBmonDigiDataMembers(test, 111, ECbmModuleId::kT0, 12345678., 23.); +} + +TEST(_GTestCbmBmonDigi, CheckSetAddress) +{ + // Create object + CbmBmonDigi test(111, 987654321., 23.); + + compareBmonDigiDataMembers(test, 111, ECbmModuleId::kT0, 987654321., 23.); + + test.SetAddress(12341234); + + compareBmonDigiDataMembers(test, 12341234, ECbmModuleId::kT0, 987654321., 23.); +} + +TEST(_GTestCbmBmonDigi, CheckSetCharge) +{ + // Create object + CbmBmonDigi test(111, 987654321., 23.); + + compareBmonDigiDataMembers(test, 111, ECbmModuleId::kT0, 987654321., 23.); + + test.SetCharge(45.); + + compareBmonDigiDataMembers(test, 111, ECbmModuleId::kT0, 987654321., 45.); +} diff --git a/core/data/test/bmon/compareBmonDigi.h b/core/data/test/bmon/compareBmonDigi.h new file mode 100644 index 0000000000..ce6bc3062c --- /dev/null +++ b/core/data/test/bmon/compareBmonDigi.h @@ -0,0 +1,29 @@ +/* Copyright (C) 2023 Facility for Antiproton and Ion Research in Europe, Darmstadt + SPDX-License-Identifier: GPL-3.0-only + Authors: Pierre-Alain Loizeau [committer] */ + +#ifndef COMPAREBMONDIGI_H +#define COMPAREBMONDIGI_H 1 + +#include "gtest/gtest.h" + +void compareBmonDigiDataMembers(CbmBmonDigi& test, int32_t address, ECbmModuleId systemid, double time, double charge) +{ + int32_t retValInt {-222}; + double retValDouble {-222.}; + ECbmModuleId retVal {ECbmModuleId::kNotExist}; + + retValInt = test.GetAddress(); + EXPECT_EQ(address, retValInt); + + retVal = test.GetSystem(); + EXPECT_EQ(systemid, retVal); + + retValDouble = test.GetTime(); + EXPECT_FLOAT_EQ(time, retValDouble); + + retValDouble = test.GetCharge(); + EXPECT_FLOAT_EQ(charge, retValDouble); +} + +#endif // COMPARETOFDIGI_H diff --git a/core/data/tof/CbmTofDigi.cxx b/core/data/tof/CbmTofDigi.cxx index 28e0875dde..b62245b466 100644 --- a/core/data/tof/CbmTofDigi.cxx +++ b/core/data/tof/CbmTofDigi.cxx @@ -10,7 +10,7 @@ **/ #include "CbmTofDigi.h" -#include "CbmTzdDigi.h" +#include "CbmBmonDigi.h" #include <iomanip> // for hex, setw, setfill, fixed, setprecission #include <sstream> // for operator<<, basic_ostream, char_trait @@ -36,14 +36,14 @@ CbmTofDigi::CbmTofDigi(uint32_t Sm, uint32_t Rpc, uint32_t Channel, double time, fuAddress = CbmTofAddress::GetUniqueAddress(Sm, Rpc, Channel, Side, SmType); } -CbmTofDigi::CbmTofDigi(const CbmTzdDigi& digi) +CbmTofDigi::CbmTofDigi(const CbmBmonDigi& digi) : fdTime(digi.GetTime()) , fdTot(digi.GetCharge()) , fuAddress(digi.GetAddress()) { } -CbmTofDigi::CbmTofDigi(const CbmTzdDigi* digi) +CbmTofDigi::CbmTofDigi(const CbmBmonDigi* digi) : fdTime(digi->GetTime()) , fdTot(digi->GetCharge()) , fuAddress(digi->GetAddress()) diff --git a/core/data/tof/CbmTofDigi.h b/core/data/tof/CbmTofDigi.h index 08a43d7fcd..942c6edb18 100644 --- a/core/data/tof/CbmTofDigi.h +++ b/core/data/tof/CbmTofDigi.h @@ -40,9 +40,9 @@ #include <string> // for string //class CbmMatch; -#ifndef CBMTZDDIGI_H -class CbmTzdDigi; // For declaration of the conversion constructor without starting a cyclic dependency -#endif /* CBMTZDDIGI_H */ +#ifndef CBMBMONDIGI_H +class CbmBmonDigi; // For declaration of the conversion constructor without starting a cyclic dependency +#endif /* CBMBMONDIGI_H */ class CbmTofDigi { public: @@ -73,14 +73,14 @@ public: uint32_t SmType = 0); /** @brief Constructor - ** @param reference to CbmTzdDigi (equivalent content) + ** @param reference to CbmBmonDigi (equivalent content) **/ - CbmTofDigi(const CbmTzdDigi& digi); + CbmTofDigi(const CbmBmonDigi& digi); /** @brief Constructor - ** @param pointer to const CbmTzdDigi object (equivalent content) + ** @param pointer to const CbmBmonDigi object (equivalent content) **/ - CbmTofDigi(const CbmTzdDigi* digi); + CbmTofDigi(const CbmBmonDigi* digi); /** ** @brief Copy constructor. diff --git a/macro/run/run_unpack_online.C b/macro/run/run_unpack_online.C index f5c1b5196a..f3d9d0a138 100644 --- a/macro/run/run_unpack_online.C +++ b/macro/run/run_unpack_online.C @@ -113,6 +113,10 @@ void run_unpack_online(std::vector<std::string> publisher = {"tcp://localhost:55 } /// Enable Monitor plots bmonconfig->SetMonitor(GetTofMonitor(outfilename, true)); + if (2337 <= runid) { + bmonconfig->GetMonitor()->SetSpillThreshold(250); + bmonconfig->GetMonitor()->SetSpillThresholdNonPulser(100); + } } } // ------------- diff --git a/macro/run/run_unpack_tsa.C b/macro/run/run_unpack_tsa.C index d8c17b608a..295c765cd8 100644 --- a/macro/run/run_unpack_tsa.C +++ b/macro/run/run_unpack_tsa.C @@ -113,26 +113,30 @@ void run_unpack_tsa(std::vector<std::string> infile = {"test.tsa"}, UInt_t runid // ----- UnpackerConfigs ---------------------------------------------- // ---- BMON ---- - std::shared_ptr<CbmTzdUnpackConfig> tzdconfig = nullptr; + std::shared_ptr<CbmBmonUnpackConfig> bmonconfig = nullptr; if (!bBmoninTof) { - tzdconfig = std::make_shared<CbmTzdUnpackConfig>("", runid); - if (tzdconfig) { - // tzdconfig->SetDebugState(); - tzdconfig->SetDoWriteOutput(); - // tzdconfig->SetDoWriteOptOutA("CbmTzdErrors"); - std::string parfilesbasepathTzd = Form("%s/macro/beamtime/mcbm2022/", srcDir.Data()); - tzdconfig->SetParFilesBasePath(parfilesbasepathTzd); - tzdconfig->SetParFileName("mBmonCriPar.par"); - tzdconfig->SetSystemTimeOffset(-1220); // [ns] value to be updated + bmonconfig = std::make_shared<CbmBmonUnpackConfig>("", runid); + if (bmonconfig) { + // bmonconfig->SetDebugState(); + bmonconfig->SetDoWriteOutput(); + // bmonconfig->SetDoWriteOptOutA("CbmBmonErrors"); + std::string parfilesbasepathBmon = Form("%s/macro/beamtime/mcbm2022/", srcDir.Data()); + bmonconfig->SetParFilesBasePath(parfilesbasepathBmon); + bmonconfig->SetParFileName("mBmonCriPar.par"); + bmonconfig->SetSystemTimeOffset(-1220); // [ns] value to be updated if (2160 <= runid) { - tzdconfig->SetSystemTimeOffset(-80); // [ns] value to be updated + bmonconfig->SetSystemTimeOffset(-80); // [ns] value to be updated } if (2350 <= runid) { - tzdconfig->SetSystemTimeOffset(0); // [ns] value to be updated + bmonconfig->SetSystemTimeOffset(0); // [ns] value to be updated } /// Enable Monitor plots - // tzdconfig->SetMonitor(GetTofMonitor(outfilename, true)); + // bmonconfig->SetMonitor(GetTofMonitor(outfilename, true)); + // if (2337 <= runid) { + // bmonconfig->GetMonitor()->SetSpillThreshold(250); + // bmonconfig->GetMonitor()->SetSpillThresholdNonPulser(100); + // } } } // ------------- @@ -475,7 +479,7 @@ void run_unpack_tsa(std::vector<std::string> infile = {"test.tsa"}, UInt_t runid // Enable full time sorting instead sorting per FLIM link unpack->SetTimeSorting(true); - if (tzdconfig) unpack->SetUnpackConfig(tzdconfig); + if (bmonconfig) unpack->SetUnpackConfig(bmonconfig); if (stsconfig) unpack->SetUnpackConfig(stsconfig); if (muchconfig) unpack->SetUnpackConfig(muchconfig); if (trd1Dconfig) unpack->SetUnpackConfig(trd1Dconfig); @@ -531,7 +535,7 @@ void run_unpack_tsa(std::vector<std::string> infile = {"test.tsa"}, UInt_t runid delete run; delete source; - tzdconfig.reset(); + bmonconfig.reset(); stsconfig.reset(); muchconfig.reset(); trd1Dconfig.reset(); diff --git a/reco/detectors/CMakeLists.txt b/reco/detectors/CMakeLists.txt index e8daeaa9d4..a45aa1a279 100644 --- a/reco/detectors/CMakeLists.txt +++ b/reco/detectors/CMakeLists.txt @@ -1,11 +1,11 @@ # CMakeList file for directory sim/detectors # V. Friese, 20 April 2020 +add_subdirectory(bmon) add_subdirectory(much) add_subdirectory(psd) add_subdirectory(rich) add_subdirectory(sts) add_subdirectory(tof) add_subdirectory(trd) -add_subdirectory(tzd) diff --git a/reco/detectors/tzd/CMakeLists.txt b/reco/detectors/bmon/CMakeLists.txt similarity index 87% rename from reco/detectors/tzd/CMakeLists.txt rename to reco/detectors/bmon/CMakeLists.txt index edfef61a28..f6c4806a8e 100644 --- a/reco/detectors/tzd/CMakeLists.txt +++ b/reco/detectors/bmon/CMakeLists.txt @@ -5,12 +5,12 @@ set(INCLUDE_DIRECTORIES set(SRCS - unpack/CbmTzdUnpackAlgo.cxx - unpack/CbmTzdUnpackConfig.cxx + unpack/CbmBmonUnpackAlgo.cxx + unpack/CbmBmonUnpackConfig.cxx ) -set(LIBRARY_NAME CbmTzdReco) +set(LIBRARY_NAME CbmBmonReco) set(LINKDEF ${LIBRARY_NAME}LinkDef.h) set(PUBLIC_DEPENDENCIES CbmBase diff --git a/reco/detectors/tzd/CbmTzdRecoLinkDef.h b/reco/detectors/bmon/CbmBmonRecoLinkDef.h similarity index 76% rename from reco/detectors/tzd/CbmTzdRecoLinkDef.h rename to reco/detectors/bmon/CbmBmonRecoLinkDef.h index 8e3111176b..c0ebc34d10 100644 --- a/reco/detectors/tzd/CbmTzdRecoLinkDef.h +++ b/reco/detectors/bmon/CbmBmonRecoLinkDef.h @@ -8,7 +8,7 @@ #pragma link off all classes; #pragma link off all functions; -#pragma link C++ class CbmTzdUnpackAlgo + ; -#pragma link C++ class CbmTzdUnpackConfig + ; +#pragma link C++ class CbmBmonUnpackAlgo + ; +#pragma link C++ class CbmBmonUnpackConfig + ; #endif diff --git a/reco/detectors/bmon/unpack/CbmBmonUnpackAlgo.cxx b/reco/detectors/bmon/unpack/CbmBmonUnpackAlgo.cxx new file mode 100644 index 0000000000..f3074cee21 --- /dev/null +++ b/reco/detectors/bmon/unpack/CbmBmonUnpackAlgo.cxx @@ -0,0 +1,11 @@ +/* Copyright (C) 2022 Facility for Antiproton and Ion Research in Europe, Darmstadt + SPDX-License-Identifier: GPL-3.0-only + Authors: Pierre-Alain Loizeau [committer] */ + +#include "CbmBmonUnpackAlgo.h" + +CbmBmonUnpackAlgo::CbmBmonUnpackAlgo() : CbmRecoUnpackAlgo("CbmBmonUnpackAlgo") {} + +CbmBmonUnpackAlgo::~CbmBmonUnpackAlgo() {} + +ClassImp(CbmBmonUnpackAlgo) diff --git a/reco/detectors/tzd/unpack/CbmTzdUnpackAlgo.h b/reco/detectors/bmon/unpack/CbmBmonUnpackAlgo.h similarity index 93% rename from reco/detectors/tzd/unpack/CbmTzdUnpackAlgo.h rename to reco/detectors/bmon/unpack/CbmBmonUnpackAlgo.h index 33ee79d010..34652d9be7 100644 --- a/reco/detectors/tzd/unpack/CbmTzdUnpackAlgo.h +++ b/reco/detectors/bmon/unpack/CbmBmonUnpackAlgo.h @@ -2,16 +2,16 @@ SPDX-License-Identifier: GPL-3.0-only Authors: Pierre-Alain Loizeau [committer] */ -#ifndef CbmTzdUnpackAlgo_H -#define CbmTzdUnpackAlgo_H +#ifndef CbmBmonUnpackAlgo_H +#define CbmBmonUnpackAlgo_H +#include "CbmBmonDigi.h" #include "CbmErrorMessage.h" #include "CbmMcbm2018TofPar.h" #include "CbmRecoUnpackAlgo.tmpl" #include "CbmTofDigi.h" #include "CbmTofUnpackAlgo.h" #include "CbmTofUnpackMonitor.h" -#include "CbmTzdDigi.h" #include "Timeslice.hpp" // timeslice @@ -25,19 +25,19 @@ #include <memory> #include <utility> -class CbmTzdUnpackAlgo : public CbmRecoUnpackAlgo<CbmTzdDigi, CbmErrorMessage> { +class CbmBmonUnpackAlgo : public CbmRecoUnpackAlgo<CbmBmonDigi, CbmErrorMessage> { public: /** @brief Create the Cbm Trd Unpack AlgoBase object */ - CbmTzdUnpackAlgo(); + CbmBmonUnpackAlgo(); /** @brief Destroy the Cbm Trd Unpack Task object */ - virtual ~CbmTzdUnpackAlgo(); + virtual ~CbmBmonUnpackAlgo(); /** @brief Copy constructor - not implemented **/ - CbmTzdUnpackAlgo(const CbmTzdUnpackAlgo&) = delete; + CbmBmonUnpackAlgo(const CbmBmonUnpackAlgo&) = delete; /** @brief Assignment operator - not implemented **/ - CbmTzdUnpackAlgo& operator=(const CbmTzdUnpackAlgo&) = delete; + CbmBmonUnpackAlgo& operator=(const CbmBmonUnpackAlgo&) = delete; /** * @brief Initialisation at begin of run. Forwards to TOF unpacker algo instance. @@ -61,7 +61,7 @@ public: * * @remark The content of the component can only be accessed via the timeslice. Hence, we need to pass the pointer to the full timeslice */ - std::vector<CbmTzdDigi> Unpack(const fles::Timeslice* ts, std::uint16_t icomp) + std::vector<CbmBmonDigi> Unpack(const fles::Timeslice* ts, std::uint16_t icomp) { bool unpackOk = true; @@ -145,7 +145,7 @@ public: * * @return size_t */ - static size_t GetOutputObjSize() { return sizeof(CbmTzdDigi); } + static size_t GetOutputObjSize() { return sizeof(CbmBmonDigi); } /** @brief Get the global system time offset * Forwards to TOF unpacker algo instance. @@ -263,7 +263,7 @@ protected: { fOutputVec.reserve(fTofAlgo.GetOutputVec().size()); for (CbmTofDigi internalDigi : fTofAlgo.GetOutputVec()) { - fOutputVec.push_back(CbmTzdDigi(internalDigi)); + fOutputVec.push_back(CbmBmonDigi(internalDigi)); } return; } @@ -286,7 +286,7 @@ private: /** @brief Actual unpacker algo */ CbmTofUnpackAlgo fTofAlgo; - ClassDef(CbmTzdUnpackAlgo, 1) + ClassDef(CbmBmonUnpackAlgo, 1) }; -#endif // CbmTzdUnpackAlgo_H +#endif // CbmBmonUnpackAlgo_H diff --git a/reco/detectors/tzd/unpack/CbmTzdUnpackConfig.cxx b/reco/detectors/bmon/unpack/CbmBmonUnpackConfig.cxx similarity index 71% rename from reco/detectors/tzd/unpack/CbmTzdUnpackConfig.cxx rename to reco/detectors/bmon/unpack/CbmBmonUnpackConfig.cxx index aed2425070..8aa8909133 100644 --- a/reco/detectors/tzd/unpack/CbmTzdUnpackConfig.cxx +++ b/reco/detectors/bmon/unpack/CbmBmonUnpackConfig.cxx @@ -2,10 +2,10 @@ SPDX-License-Identifier: GPL-3.0-only Authors: Pierre-Alain Loizeau [committer] */ -#include "CbmTzdUnpackConfig.h" +#include "CbmBmonUnpackConfig.h" +#include "CbmBmonUnpackAlgo.h" #include "CbmTofDigi.h" -#include "CbmTzdUnpackAlgo.h" #include <Logger.h> @@ -15,16 +15,16 @@ #include <memory> #include <vector> -CbmTzdUnpackConfig::CbmTzdUnpackConfig(std::string detGeoSetupTag, UInt_t runid) - : CbmRecoUnpackConfig("CbmTzdUnpackConfig", detGeoSetupTag, runid) +CbmBmonUnpackConfig::CbmBmonUnpackConfig(std::string detGeoSetupTag, UInt_t runid) + : CbmRecoUnpackConfig("CbmBmonUnpackConfig", detGeoSetupTag, runid) { SetFlagBmonParMode(); } -CbmTzdUnpackConfig::~CbmTzdUnpackConfig() {} +CbmBmonUnpackConfig::~CbmBmonUnpackConfig() {} // ---- Init ---- -void CbmTzdUnpackConfig::InitAlgo() +void CbmBmonUnpackConfig::InitAlgo() { fAlgo->SetFlagEpochCountHack2021(fbEpochCountHack2021); @@ -35,13 +35,13 @@ void CbmTzdUnpackConfig::InitAlgo() } // ---- chooseAlgo ---- -std::shared_ptr<CbmTzdUnpackAlgo> CbmTzdUnpackConfig::chooseAlgo() +std::shared_ptr<CbmBmonUnpackAlgo> CbmBmonUnpackConfig::chooseAlgo() { if (fDoLog) LOG(info) << fName << "::Init - chooseAlgo"; // Default unpacker selection // Unpacker algo from mcbm 2021 on and hopefully default for a long time. - auto algo = std::make_shared<CbmTzdUnpackAlgo>(); + auto algo = std::make_shared<CbmBmonUnpackAlgo>(); LOG(info) << fName << "::chooseAlgo() - selected algo = " << algo->Class_Name(); if (fbBmonParMode) { LOG(info) << fName << "::chooseAlgo - Setting the new algo in BMon Par mode"; @@ -55,4 +55,4 @@ std::shared_ptr<CbmTzdUnpackAlgo> CbmTzdUnpackConfig::chooseAlgo() return nullptr; } -ClassImp(CbmTzdUnpackConfig) +ClassImp(CbmBmonUnpackConfig) diff --git a/reco/detectors/tzd/unpack/CbmTzdUnpackConfig.h b/reco/detectors/bmon/unpack/CbmBmonUnpackConfig.h similarity index 82% rename from reco/detectors/tzd/unpack/CbmTzdUnpackConfig.h rename to reco/detectors/bmon/unpack/CbmBmonUnpackConfig.h index 00d99d44e3..94b33659d4 100644 --- a/reco/detectors/tzd/unpack/CbmTzdUnpackConfig.h +++ b/reco/detectors/bmon/unpack/CbmBmonUnpackConfig.h @@ -2,14 +2,14 @@ SPDX-License-Identifier: GPL-3.0-only Authors: Pierre-Alain Loizeau [committer] */ -#ifndef CbmTzdUnpackConfig_H -#define CbmTzdUnpackConfig_H +#ifndef CbmBmonUnpackConfig_H +#define CbmBmonUnpackConfig_H +#include "CbmBmonDigi.h" +#include "CbmBmonUnpackAlgo.h" #include "CbmErrorMessage.h" #include "CbmRecoUnpackConfig.tmpl" #include "CbmTofUnpackMonitor.h" -#include "CbmTzdDigi.h" -#include "CbmTzdUnpackAlgo.h" #include <Rtypes.h> #include <RtypesCore.h> @@ -19,7 +19,7 @@ #include <memory> #include <vector> -class CbmTzdUnpackConfig : public CbmRecoUnpackConfig<CbmTzdUnpackAlgo, CbmTzdDigi, CbmErrorMessage> { +class CbmBmonUnpackConfig : public CbmRecoUnpackConfig<CbmBmonUnpackAlgo, CbmBmonDigi, CbmErrorMessage> { public: /** @@ -29,19 +29,19 @@ public: * @param runid set if unpacker is rerun on a special run with special parameters *@remark We use the string instead of CbmSetup here, to not having to link against sim/steer... */ - CbmTzdUnpackConfig(std::string detGeoSetupTag, UInt_t runid = 0); + CbmBmonUnpackConfig(std::string detGeoSetupTag, UInt_t runid = 0); /** * @brief Destroy the Cbm Tof Unpack Task object * */ - virtual ~CbmTzdUnpackConfig(); + virtual ~CbmBmonUnpackConfig(); /** @brief Copy constructor - not implemented **/ - CbmTzdUnpackConfig(const CbmTzdUnpackConfig&) = delete; + CbmBmonUnpackConfig(const CbmBmonUnpackConfig&) = delete; /** @brief Assignment operator - not implemented **/ - CbmTzdUnpackConfig& operator=(const CbmTzdUnpackConfig&) = delete; + CbmBmonUnpackConfig& operator=(const CbmBmonUnpackConfig&) = delete; // Getters @@ -87,7 +87,7 @@ protected: * * @return Bool_t initOk */ - virtual std::shared_ptr<CbmTzdUnpackAlgo> chooseAlgo(); + virtual std::shared_ptr<CbmBmonUnpackAlgo> chooseAlgo(); private: /// Control flags @@ -99,7 +99,7 @@ private: /** @brief pointer to the monitor object */ std::shared_ptr<CbmTofUnpackMonitor> fMonitor = nullptr; - ClassDef(CbmTzdUnpackConfig, 1) + ClassDef(CbmBmonUnpackConfig, 1) }; -#endif // CbmTzdUnpackConfig_H +#endif // CbmBmonUnpackConfig_H diff --git a/reco/detectors/tof/CMakeLists.txt b/reco/detectors/tof/CMakeLists.txt index 8a8a19dae7..02561f15a6 100644 --- a/reco/detectors/tof/CMakeLists.txt +++ b/reco/detectors/tof/CMakeLists.txt @@ -21,7 +21,6 @@ set(SRCS unpack/CbmTofUnpackAlgo.cxx unpack/CbmTofUnpackConfig.cxx - unpack/CbmBmonUnpackConfig.cxx unpack/CbmTofUnpackMonitor.cxx ) diff --git a/reco/detectors/tof/CbmTofEventClusterizer.cxx b/reco/detectors/tof/CbmTofEventClusterizer.cxx index 6dcf94ae2b..9d9398357c 100644 --- a/reco/detectors/tof/CbmTofEventClusterizer.cxx +++ b/reco/detectors/tof/CbmTofEventClusterizer.cxx @@ -15,6 +15,7 @@ #include "CbmTofEventClusterizer.h" // TOF Classes and includes +#include "CbmBmonDigi.h" // in cbmdata/bmon #include "CbmDigiManager.h" #include "CbmEvent.h" #include "CbmMatch.h" @@ -31,7 +32,6 @@ #include "CbmTofGeoHandler.h" // in tof/TofTools #include "CbmTofHit.h" // in cbmdata/tof #include "CbmTofPoint.h" // in cbmdata/tof -#include "CbmTzdDigi.h" // in cbmdata/global #include "CbmVertex.h" #include "TTrbHeader.h" @@ -399,7 +399,7 @@ void CbmTofEventClusterizer::Exec(Option_t* option) for (Int_t iDigi = 0; iDigi < tEvent->GetNofData(ECbmDataType::kT0Digi); iDigi++) { Int_t iDigiIndex = static_cast<Int_t>(tEvent->GetIndex(ECbmDataType::kT0Digi, iDigi)); - CbmTofDigi tDigi(fDigiMan->Get<CbmTzdDigi>(iDigiIndex)); + CbmTofDigi tDigi(fDigiMan->Get<CbmBmonDigi>(iDigiIndex)); if (tDigi.GetType() != 5) LOG(fatal) << "Wrong T0 type " << tDigi.GetType() << ", Addr 0x" << std::hex << tDigi.GetAddress(); if (tDigi.GetSide() == 1) { // HACK for May22 setup diff --git a/reco/detectors/tof/CbmTofHitMaker.cxx b/reco/detectors/tof/CbmTofHitMaker.cxx index 57c7929388..c25016accf 100644 --- a/reco/detectors/tof/CbmTofHitMaker.cxx +++ b/reco/detectors/tof/CbmTofHitMaker.cxx @@ -16,6 +16,7 @@ #include "CbmTofHitMaker.h" // TOF Classes and includes +#include "CbmBmonDigi.h" // in cbmdata/bmon #include "CbmDigiManager.h" #include "CbmEvent.h" #include "CbmMatch.h" @@ -31,7 +32,6 @@ #include "CbmTofGeoHandler.h" // in tof/TofTools #include "CbmTofHit.h" // in cbmdata/tof #include "CbmTofPoint.h" // in cbmdata/tof -#include "CbmTzdDigi.h" // in cbmdata/global #include "CbmVertex.h" #include "TTrbHeader.h" @@ -337,7 +337,7 @@ void CbmTofHitMaker::Exec(Option_t* option) for (Int_t iDigi = 0; iDigi < tEvent->GetNofData(ECbmDataType::kT0Digi); iDigi++) { Int_t iDigiIndex = static_cast<Int_t>(tEvent->GetIndex(ECbmDataType::kT0Digi, iDigi)); - CbmTofDigi tDigi(fDigiMan->Get<CbmTzdDigi>(iDigiIndex)); + CbmTofDigi tDigi(fDigiMan->Get<CbmBmonDigi>(iDigiIndex)); if (tDigi.GetType() != 5) LOG(fatal) << "Wrong T0 type " << tDigi.GetType() << ", Addr 0x" << std::hex << tDigi.GetAddress(); fTofDigiVec.push_back(tDigi); diff --git a/reco/detectors/tof/CbmTofRecoLinkDef.h b/reco/detectors/tof/CbmTofRecoLinkDef.h index 40db96c5dc..c786ebf2c8 100644 --- a/reco/detectors/tof/CbmTofRecoLinkDef.h +++ b/reco/detectors/tof/CbmTofRecoLinkDef.h @@ -23,7 +23,6 @@ #pragma link C++ class CbmTofUnpackAlgo + ; #pragma link C++ class CbmTofUnpackConfig + ; -#pragma link C++ class CbmBmonUnpackConfig + ; #pragma link C++ class CbmTofUnpackMonitor + ; #endif diff --git a/reco/detectors/tof/unpack/CbmBmonUnpackConfig.cxx b/reco/detectors/tof/unpack/CbmBmonUnpackConfig.cxx deleted file mode 100644 index d4a0ab13c1..0000000000 --- a/reco/detectors/tof/unpack/CbmBmonUnpackConfig.cxx +++ /dev/null @@ -1,51 +0,0 @@ -/* Copyright (C) 2022 Facility for Antiproton and Ion Research in Europe, Darmstadt - SPDX-License-Identifier: GPL-3.0-only - Authors: Pierre-Alain Loizeau [committer] */ - -#include "CbmBmonUnpackConfig.h" - -#include "CbmTofUnpackAlgo.h" - -#include <Logger.h> - -#include <Rtypes.h> -#include <RtypesCore.h> - -#include <memory> -#include <vector> - -CbmBmonUnpackConfig::CbmBmonUnpackConfig(std::string detGeoSetupTag, UInt_t runid) - : CbmTofUnpackConfig(detGeoSetupTag, runid) -{ - SetFlagBmonParMode(); -} - -CbmBmonUnpackConfig::~CbmBmonUnpackConfig() {} - - -/** - * @brief Register the output vectors (if needed) to the FairRoot Manager) - * FIXME: To be removed with the Manager include whenever the similar code in the CbmRecoUnpack task work as expected - * -*/ -void CbmBmonUnpackConfig::RegisterOutput(FairRootManager* ioman) -{ - if (fDoWriteOutput && fOutputVec) { - /// Instance of TOF unpacker used for Bmon unpacking - ioman->RegisterAny("T0Digi", fOutputVec, kTRUE); - LOG(info) << fName << "::registerBranchToTree(CbmBmonDigi)"; - } - - /** @todo for the optional outputs it is more complicated to check if they exist. Needs exceptions for the std::nullptr_t. Should be added at some point in time. */ - if (fDoWriteOptOutA && fOptOutAVec) { - ioman->RegisterAny(fOptoutABranchName.data(), fOptOutAVec, kTRUE); - LOG(info) << fName << "::registerBranchToTree(" << fOptoutABranchName.data() << ")"; - } - - if (fDoWriteOptOutB && fOptOutBVec) { - ioman->RegisterAny(fOptoutBBranchName.data(), fOptOutBVec, kTRUE); - LOG(info) << fName << "::registerBranchToTree(" << fOptoutBBranchName.data() << ")"; - } -} - -ClassImp(CbmBmonUnpackConfig) diff --git a/reco/detectors/tof/unpack/CbmBmonUnpackConfig.h b/reco/detectors/tof/unpack/CbmBmonUnpackConfig.h deleted file mode 100644 index 4b779d122a..0000000000 --- a/reco/detectors/tof/unpack/CbmBmonUnpackConfig.h +++ /dev/null @@ -1,75 +0,0 @@ -/* Copyright (C) 2022 Facility for Antiproton and Ion Research in Europe, Darmstadt - SPDX-License-Identifier: GPL-3.0-only - Authors: Pierre-Alain Loizeau [committer] */ - -/** - * @file CbmBmonUnpackConfig.h - * @author Pascal Raisig (praisig@ikf.uni-frankfurt.de) - * @brief Configuration class for an unpacker algorithm - * @version 0.1 - * @date 2021-04-21 - * - * @copyright Copyright (c) 2021 - * - * This is the common configuration class for unpacking algorithms - * -*/ - -#ifndef CbmBmonUnpackConfig_H -#define CbmBmonUnpackConfig_H - -#include "CbmErrorMessage.h" -#include "CbmTofDigi.h" -#include "CbmTofUnpackAlgo.h" -#include "CbmTofUnpackConfig.h" - -#include <Rtypes.h> -#include <RtypesCore.h> - -#include <cstddef> -#include <cstdint> -#include <memory> -#include <vector> - -class CbmBmonUnpackConfig : public CbmTofUnpackConfig { - -public: - /** - * @brief Create the Cbm Tof Unpack Task object - * - * @param geoSetupTag Geometry setup tag for the given detector as used by CbmSetup objects - * @param runid set if unpacker is rerun on a special run with special parameters - *@remark We use the string instead of CbmSetup here, to not having to link against sim/steer... - */ - CbmBmonUnpackConfig(std::string detGeoSetupTag, UInt_t runid = 0); - - /** - * @brief Destroy the Cbm Tof Unpack Task object - * - */ - virtual ~CbmBmonUnpackConfig(); - - /** @brief Copy constructor - not implemented **/ - CbmBmonUnpackConfig(const CbmBmonUnpackConfig&) = delete; - - /** @brief Assignment operator - not implemented **/ - CbmBmonUnpackConfig& operator=(const CbmBmonUnpackConfig&) = delete; - - // Getters - - /** - * @brief Register the output vectors (if needed) to the FairRoot Manager) - * FIXME: To be removed when the T0/BMON will have its own Digi class properly exposing the right container name - * - */ - void RegisterOutput(FairRootManager* ioman); - - - // Setters - -protected: -private: - ClassDef(CbmBmonUnpackConfig, 1) -}; - -#endif // CbmBmonUnpackConfig_H diff --git a/reco/detectors/tof/unpack/CbmTofUnpackAlgo.h b/reco/detectors/tof/unpack/CbmTofUnpackAlgo.h index f2f1a2d7cb..b4623683fe 100644 --- a/reco/detectors/tof/unpack/CbmTofUnpackAlgo.h +++ b/reco/detectors/tof/unpack/CbmTofUnpackAlgo.h @@ -90,14 +90,14 @@ public: void SetMonitor(std::shared_ptr<CbmTofUnpackMonitor> monitor) { fMonitor = monitor; } /** - * @brief Get a reference to the output vector. Used by TZD encapsulating algo to access output. + * @brief Get a reference to the output vector. Used by BMON encapsulating algo to access output. * * @return std::vector<CbmTofDigi>& */ std::vector<CbmTofDigi>& GetOutputVec() { return fOutputVec; } public: - /// Raise permissions for access to these protected methods to allow access in encapsulating TZD algo + /// Raise permissions for access to these protected methods to allow access in encapsulating BMON algo /** @brief Finish function for this algorithm base clase */ void finish() diff --git a/reco/detectors/tzd/unpack/CbmTzdUnpackAlgo.cxx b/reco/detectors/tzd/unpack/CbmTzdUnpackAlgo.cxx deleted file mode 100644 index 701c2d322f..0000000000 --- a/reco/detectors/tzd/unpack/CbmTzdUnpackAlgo.cxx +++ /dev/null @@ -1,11 +0,0 @@ -/* Copyright (C) 2022 Facility for Antiproton and Ion Research in Europe, Darmstadt - SPDX-License-Identifier: GPL-3.0-only - Authors: Pierre-Alain Loizeau [committer] */ - -#include "CbmTzdUnpackAlgo.h" - -CbmTzdUnpackAlgo::CbmTzdUnpackAlgo() : CbmRecoUnpackAlgo("CbmTzdUnpackAlgo") {} - -CbmTzdUnpackAlgo::~CbmTzdUnpackAlgo() {} - -ClassImp(CbmTzdUnpackAlgo) diff --git a/reco/eventbuilder/digis/CbmAlgoBuildRawEvents.cxx b/reco/eventbuilder/digis/CbmAlgoBuildRawEvents.cxx index 38a5eb38de..4c4270d67f 100644 --- a/reco/eventbuilder/digis/CbmAlgoBuildRawEvents.cxx +++ b/reco/eventbuilder/digis/CbmAlgoBuildRawEvents.cxx @@ -5,6 +5,7 @@ #include "CbmAlgoBuildRawEvents.h" /// CBM headers +#include "CbmBmonDigi.h" #include "CbmEvent.h" #include "CbmMuchBeamTimeDigi.h" #include "CbmMuchDigi.h" @@ -13,7 +14,6 @@ #include "CbmStsDigi.h" #include "CbmTofDigi.h" #include "CbmTrdDigi.h" -#include "CbmTzdDigi.h" #include "TimesliceMetaData.h" @@ -131,7 +131,7 @@ void CbmAlgoBuildRawEvents::ProcessTs() /// TODO: store start time of current event ? // fCurrentEvent->SetStartTime( fPrevTime ); // Replace Seed time with time of first digi in event? fCurrentEvent->SetEndTime(fdPrevEvtEndTime); - SetTzdEventTime(fCurrentEvent); + SetBmonEventTime(fCurrentEvent); fEventVector.push_back(fCurrentEvent); fuCurEv++; @@ -246,7 +246,7 @@ void CbmAlgoBuildRawEvents::BuildEvents() break; } case ECbmModuleId::kT0: { - LoopOnSeeds<CbmTzdDigi>(); + LoopOnSeeds<CbmBmonDigi>(); break; } case ECbmModuleId::kNotExist: { //explicit seed times @@ -348,7 +348,7 @@ void CbmAlgoBuildRawEvents::CheckSeed(Double_t dSeedTime, UInt_t uSeedDigiIdx) /// TODO: store start time of current event ? // fCurrentEvent->SetStartTime( fPrevTime ); // Replace Seed time with time of first digi in event? fCurrentEvent->SetEndTime(fdPrevEvtEndTime); - SetTzdEventTime(fCurrentEvent); + SetBmonEventTime(fCurrentEvent); fEventVector.push_back(fCurrentEvent); fuCurEv++; @@ -463,7 +463,7 @@ const CbmPsdDigi* CbmAlgoBuildRawEvents::GetDigi(UInt_t uDigi) return &((*fPsdDigis)[uDigi]); } template<> -const CbmTzdDigi* CbmAlgoBuildRawEvents::GetDigi(UInt_t uDigi) +const CbmBmonDigi* CbmAlgoBuildRawEvents::GetDigi(UInt_t uDigi) { return &((*fT0Digis)[uDigi]); } @@ -503,7 +503,7 @@ void CbmAlgoBuildRawEvents::SearchMatches(Double_t dSeedTime, RawEventBuilderDet break; } case ECbmModuleId::kT0: { - SearchMatches<CbmTzdDigi>(dSeedTime, detMatch); + SearchMatches<CbmBmonDigi>(dSeedTime, detMatch); break; } default: { @@ -611,18 +611,18 @@ Bool_t CbmAlgoBuildRawEvents::HasTrigger(CbmEvent* event) return kTRUE; } -void CbmAlgoBuildRawEvents::SetTzdEventTime(CbmEvent* event) +void CbmAlgoBuildRawEvents::SetBmonEventTime(CbmEvent* event) { const int32_t iNbDigis = event->GetNofData(ECbmDataType::kT0Digi); if (0 < iNbDigis) { uint idx = event->GetIndex(ECbmDataType::kT0Digi, 0); - const CbmTzdDigi* pDigi = GetDigi<CbmTzdDigi>(idx); + const CbmBmonDigi* pDigi = GetDigi<CbmBmonDigi>(idx); double eventTime = pDigi->GetTime(); for (int idigi = 1; idigi < iNbDigis; ++idigi) { idx = event->GetIndex(ECbmDataType::kT0Digi, idigi); - pDigi = GetDigi<CbmTzdDigi>(idx); + pDigi = GetDigi<CbmBmonDigi>(idx); if (nullptr == pDigi) continue; eventTime = std::min(pDigi->GetTime(), eventTime); } @@ -900,7 +900,7 @@ uint64_t CbmAlgoBuildRawEvents::GetSizeFromDigisNb(ECbmModuleId detId, uint64_t return ulNbDigis * sizeof(CbmPsdDigi); } case ECbmModuleId::kT0: { - return ulNbDigis * sizeof(CbmTzdDigi); + return ulNbDigis * sizeof(CbmBmonDigi); } default: { LOG(fatal) << "CbmAlgoBuildRawEvents::GetSizeFromDigisNb => " @@ -1197,7 +1197,7 @@ void CbmAlgoBuildRawEvents::FillHistos() uint idx = evt->GetIndex(fvDets[uDetIdx].dataType, idigi); switch (fvDets[uDetIdx].dataType) { case ECbmDataType::kT0Digi: { - auto pDigi = GetDigi<CbmTzdDigi>(idx); + auto pDigi = GetDigi<CbmBmonDigi>(idx); if (nullptr == pDigi) continue; dTimeDiff = pDigi->GetTime() - evt->GetStartTime(); break; @@ -1268,7 +1268,7 @@ void CbmAlgoBuildRawEvents::FillHistos() uint idx = evt->GetIndex(fRefDet.dataType, idigi); switch (fRefDet.dataType) { case ECbmDataType::kT0Digi: { - auto pDigi = GetDigi<CbmTzdDigi>(idx); + auto pDigi = GetDigi<CbmBmonDigi>(idx); if (nullptr == pDigi) continue; dTimeDiff = pDigi->GetTime() - evt->GetStartTime(); break; diff --git a/reco/eventbuilder/digis/CbmAlgoBuildRawEvents.h b/reco/eventbuilder/digis/CbmAlgoBuildRawEvents.h index dd342dd04c..1388f5af25 100644 --- a/reco/eventbuilder/digis/CbmAlgoBuildRawEvents.h +++ b/reco/eventbuilder/digis/CbmAlgoBuildRawEvents.h @@ -31,7 +31,7 @@ class CbmRichDigi; class CbmStsDigi; class CbmTofDigi; class CbmTrdDigi; -class CbmTzdDigi; +class CbmBmonDigi; class TClonesArray; class TH1; class TH2; @@ -194,7 +194,7 @@ public: std::vector<std::pair<TCanvas*, std::string>> GetCanvasVector() { return fvpAllCanvasPointers; } /// Set digi containers - void SetDigis(std::vector<CbmTzdDigi>* T0Digis) { fT0Digis = T0Digis; } + void SetDigis(std::vector<CbmBmonDigi>* T0Digis) { fT0Digis = T0Digis; } void SetDigis(std::vector<CbmStsDigi>* StsDigis) { fStsDigis = StsDigis; } void SetDigis(std::vector<CbmMuchDigi>* MuchDigis) { @@ -252,7 +252,7 @@ private: void UpdateTimeWinBoundariesExtrema(); void UpdateWidestTimeWinRange(); - void SetTzdEventTime(CbmEvent* event); + void SetBmonEventTime(CbmEvent* event); TFolder* outFolder; // oputput folder to store histograms @@ -291,7 +291,7 @@ private: /// Data input TClonesArray* fTimeSliceMetaDataArray = nullptr; //! - const std::vector<CbmTzdDigi>* fT0Digis = nullptr; + const std::vector<CbmBmonDigi>* fT0Digis = nullptr; const std::vector<CbmMuchDigi>* fMuchDigis = nullptr; const std::vector<CbmMuchBeamTimeDigi>* fMuchBeamTimeDigis = nullptr; const std::vector<CbmStsDigi>* fStsDigis = nullptr; diff --git a/reco/eventbuilder/digis/CbmSeedFinderSlidingWindow.cxx b/reco/eventbuilder/digis/CbmSeedFinderSlidingWindow.cxx index ed3c54917f..065039eacc 100644 --- a/reco/eventbuilder/digis/CbmSeedFinderSlidingWindow.cxx +++ b/reco/eventbuilder/digis/CbmSeedFinderSlidingWindow.cxx @@ -4,6 +4,7 @@ #include "CbmSeedFinderSlidingWindow.h" +#include "CbmBmonDigi.h" #include "CbmMCEventList.h" #include "CbmMatch.h" #include "CbmMuchBeamTimeDigi.h" @@ -14,7 +15,6 @@ #include "CbmStsDigi.h" #include "CbmTofDigi.h" #include "CbmTrdDigi.h" -#include "CbmTzdDigi.h" #include "FairRootManager.h" #include <Logger.h> @@ -127,7 +127,7 @@ void CbmSeedFinderSlidingWindow::FillSeedTimes(const std::vector<inType>* vIn, c // << std::endl; //} } -template void CbmSeedFinderSlidingWindow::FillSeedTimes(const std::vector<CbmTzdDigi>*, const std::vector<CbmMatch>*); +template void CbmSeedFinderSlidingWindow::FillSeedTimes(const std::vector<CbmBmonDigi>*, const std::vector<CbmMatch>*); template void CbmSeedFinderSlidingWindow::FillSeedTimes(const std::vector<CbmMuchBeamTimeDigi>*, const std::vector<CbmMatch>*); template void CbmSeedFinderSlidingWindow::FillSeedTimes(const std::vector<CbmMuchDigi>*, const std::vector<CbmMatch>*); diff --git a/reco/eventbuilder/digis/CbmTaskBuildRawEvents.h b/reco/eventbuilder/digis/CbmTaskBuildRawEvents.h index 1eb520d98b..780d28043f 100644 --- a/reco/eventbuilder/digis/CbmTaskBuildRawEvents.h +++ b/reco/eventbuilder/digis/CbmTaskBuildRawEvents.h @@ -7,6 +7,7 @@ /// CBMROOT headers #include "CbmAlgoBuildRawEvents.h" +#include "CbmBmonDigi.h" #include "CbmDigiEvent.h" #include "CbmMuchBeamTimeDigi.h" #include "CbmMuchDigi.h" @@ -15,7 +16,6 @@ #include "CbmStsDigi.h" #include "CbmTofDigi.h" #include "CbmTrdDigi.h" -#include "CbmTzdDigi.h" /// FAIRROOT headers #include "FairTask.h" @@ -159,7 +159,7 @@ private: std::vector<CbmTofDigi>* fTofDigis = nullptr; std::vector<CbmRichDigi>* fRichDigis = nullptr; std::vector<CbmPsdDigi>* fPsdDigis = nullptr; - std::vector<CbmTzdDigi>* fT0Digis = nullptr; + std::vector<CbmBmonDigi>* fT0Digis = nullptr; std::vector<Double_t>* fSeedTimes = nullptr; /** Create digi vector and pass to algo **/ diff --git a/reco/global/CbmRecoTzero.cxx b/reco/global/CbmRecoTzero.cxx index a3af8389fe..91060ddba6 100644 --- a/reco/global/CbmRecoTzero.cxx +++ b/reco/global/CbmRecoTzero.cxx @@ -5,8 +5,8 @@ #include "CbmRecoTzero.h" +#include "CbmBmonDigi.h" #include "CbmEvent.h" -#include "CbmTzdDigi.h" #include <FairRootManager.h> #include <Logger.h> @@ -48,13 +48,13 @@ InitStatus CbmRecoTzero::Init() FairRootManager* ioman = FairRootManager::Instance(); assert(ioman); - // --- Get TzdDigi array - fTzdDigis = ioman->InitObjectAs<const std::vector<CbmTzdDigi>*>("TzdDigi"); - if (!fTzdDigis) { - LOG(error) << GetName() << ": No TzdDigi array!"; + // --- Get BmonDigi array + fBmonDigis = ioman->InitObjectAs<const std::vector<CbmBmonDigi>*>("BmonDigi"); + if (!fBmonDigis) { + LOG(error) << GetName() << ": No BmonDigi array!"; return kERROR; } - LOG(info) << "--- Found branch TzdDigi"; + LOG(info) << "--- Found branch BmonDigi"; // --- Get CbmEvent array fEvents = dynamic_cast<TClonesArray*>(ioman->GetObject("Event")); @@ -94,25 +94,25 @@ void CbmRecoTzero::Exec(Option_t*) double tzero = -999999.; switch (nDigis) { - // If there is no TZD digi, set t0 to -999999 (error code). + // If there is no BMON digi, set t0 to -999999 (error code). case 0: { tzero = -999999.; - tsMonitor.fNumEvtsTzd0++; + tsMonitor.fNumEvtsBmon0++; break; } - // If there is exactly one TZD digi, take the event time from there + // If there is exactly one BMON digi, take the event time from there case 1: { uint32_t digiIndex = event->GetIndex(ECbmDataType::kT0Digi, 0); - tzero = fTzdDigis->at(digiIndex).GetTime(); - tsMonitor.fNumEvtsTzd1++; + tzero = fBmonDigis->at(digiIndex).GetTime(); + tsMonitor.fNumEvtsBmon1++; break; } - // If there are more than one TZD digis, set t0 to -999999 (error code). + // If there are more than one BMON digis, set t0 to -999999 (error code). default: { tzero = -999999.; - tsMonitor.fNumEvtsTzdn++; + tsMonitor.fNumEvtsBmonn++; break; } } @@ -130,9 +130,9 @@ void CbmRecoTzero::Exec(Option_t*) logOut << setw(20) << left << GetName() << " ["; logOut << fixed << setw(8) << setprecision(1) << right << timer.RealTime() * 1000. << " ms] "; logOut << "TS " << fMonitor.fNumTs << ", events " << tsMonitor.fNumEvents; - logOut << " (1 TZD: " << tsMonitor.fNumEvtsTzd1; - logOut << " , 0 TZD: " << tsMonitor.fNumEvtsTzd0; - logOut << " , n TZD: " << tsMonitor.fNumEvtsTzdn << ")"; + logOut << " (1 BMON: " << tsMonitor.fNumEvtsBmon1; + logOut << " , 0 BMON: " << tsMonitor.fNumEvtsBmon0; + logOut << " , n BMON: " << tsMonitor.fNumEvtsBmonn << ")"; LOG(info) << logOut.str(); // Run monitor @@ -146,18 +146,18 @@ void CbmRecoTzero::Finish() { double tExec = fMonitor.fExecTime / double(fMonitor.fNumTs); double evtsPerTs = double(fMonitor.fNumEvents) / double(fMonitor.fNumTs); - double fracTzd1 = 100. * double(fMonitor.fNumEvtsTzd1) / double(fMonitor.fNumEvents); - double fracTzd0 = 100. * double(fMonitor.fNumEvtsTzd0) / double(fMonitor.fNumEvents); - double fracTzdn = 100. * double(fMonitor.fNumEvtsTzdn) / double(fMonitor.fNumEvents); + double fracBmon1 = 100. * double(fMonitor.fNumEvtsBmon1) / double(fMonitor.fNumEvents); + double fracBmon0 = 100. * double(fMonitor.fNumEvtsBmon0) / double(fMonitor.fNumEvents); + double fracBmonn = 100. * double(fMonitor.fNumEvtsBmonn) / double(fMonitor.fNumEvents); std::cout << std::endl; LOG(info) << "====================================="; LOG(info) << GetName() << ": Run summary"; LOG(info) << "Time slices : " << fMonitor.fNumTs; LOG(info) << "Exec time / TS : " << fixed << setprecision(2) << tExec << " ms"; LOG(info) << "Events / TS : " << fixed << setprecision(2) << evtsPerTs; - LOG(info) << "Fraction with 1 TZD : " << fixed << setprecision(2) << fracTzd1 << " %"; - LOG(info) << "Fraction with 0 TZD : " << fixed << setprecision(2) << fracTzd0 << " %"; - LOG(info) << "Fraction with n TZD : " << fixed << setprecision(2) << fracTzdn << " %"; + LOG(info) << "Fraction with 1 BMON : " << fixed << setprecision(2) << fracBmon1 << " %"; + LOG(info) << "Fraction with 0 BMON : " << fixed << setprecision(2) << fracBmon0 << " %"; + LOG(info) << "Fraction with n BMON : " << fixed << setprecision(2) << fracBmonn << " %"; LOG(info) << "====================================="; } // ------------------------------------------------------------------------- diff --git a/reco/global/CbmRecoTzero.h b/reco/global/CbmRecoTzero.h index 3a58bca296..7de7569117 100644 --- a/reco/global/CbmRecoTzero.h +++ b/reco/global/CbmRecoTzero.h @@ -6,7 +6,7 @@ #ifndef CBMRECOTZERO_H #define CBMRECOTZERO_H 1 -#include "CbmTzdDigi.h" +#include "CbmBmonDigi.h" #include "FairTask.h" @@ -23,18 +23,18 @@ class TClonesArray; struct CbmRecoTzeroMoniData { size_t fNumTs = 0; size_t fNumEvents = 0; - size_t fNumEvtsTzd0 = 0; - size_t fNumEvtsTzd1 = 0; - size_t fNumEvtsTzdn = 0; + size_t fNumEvtsBmon0 = 0; + size_t fNumEvtsBmon1 = 0; + size_t fNumEvtsBmonn = 0; double fExecTime = 0.; CbmRecoTzeroMoniData& operator+=(const CbmRecoTzeroMoniData& other) { fNumTs += other.fNumTs; fNumEvents += other.fNumEvents; - fNumEvtsTzd0 += other.fNumEvtsTzd0; - fNumEvtsTzd1 += other.fNumEvtsTzd1; - fNumEvtsTzdn += other.fNumEvtsTzdn; + fNumEvtsBmon0 += other.fNumEvtsBmon0; + fNumEvtsBmon1 += other.fNumEvtsBmon1; + fNumEvtsBmonn += other.fNumEvtsBmonn; fExecTime += other.fExecTime; return *this; } @@ -77,8 +77,8 @@ public: private: // --- Data - const std::vector<CbmTzdDigi>* fTzdDigis = nullptr; ///< TZD digis - TClonesArray* fEvents = nullptr; ///< CbmEvent + const std::vector<CbmBmonDigi>* fBmonDigis = nullptr; ///< BMON digis + TClonesArray* fEvents = nullptr; ///< CbmEvent // --- Monitor CbmRecoTzeroMoniData fMonitor = {}; ///< Monitor data diff --git a/reco/steer/CMakeLists.txt b/reco/steer/CMakeLists.txt index 17308d68ba..5e7f056bb6 100644 --- a/reco/steer/CMakeLists.txt +++ b/reco/steer/CMakeLists.txt @@ -29,7 +29,7 @@ set(PRIVATE_DEPENDENCIES CbmRichReco CbmRecoSts CbmTrdReco - CbmTzdReco + CbmBmonReco ) set(INTERFACE_DEPENDENCIES diff --git a/reco/steer/CbmRecoUnpack.cxx b/reco/steer/CbmRecoUnpack.cxx index b62a7e6daa..deee4f22fb 100644 --- a/reco/steer/CbmRecoUnpack.cxx +++ b/reco/steer/CbmRecoUnpack.cxx @@ -50,7 +50,7 @@ void CbmRecoUnpack::Finish() if (fTofConfig) fTofConfig->GetUnpacker()->Finish(); if (fTrd1DConfig) fTrd1DConfig->GetUnpacker()->Finish(); if (fTrd2DConfig) fTrd2DConfig->GetUnpacker()->Finish(); - if (fTzdConfig) fTzdConfig->GetUnpacker()->Finish(); + if (fBmonConfig) fBmonConfig->GetUnpacker()->Finish(); // Create some default performance profiling histograms and write them to a file if (fDoPerfProf) performanceProfiling(); @@ -156,14 +156,14 @@ Bool_t CbmRecoUnpack::Init() // for fasp created CbmTrdDigis PR 072021 // --- Bmon - if (fTzdConfig) { - fTzdConfig->InitOutput(); - RegisterOutputs(ioman, fTzdConfig); /// Framework bound work = kept in this Task - fTzdConfig->SetAlgo(); - fTzdConfig->LoadParFileName(); /// Needed to change the Parameter file name before it is used!!! - initParContainers(fTzdConfig->GetParContainerRequest()); /// Framework bound work = kept in this Task - fTzdConfig->InitAlgo(); - initPerformanceMaps(fkFlesTzd, "Tzd"); + if (fBmonConfig) { + fBmonConfig->InitOutput(); + RegisterOutputs(ioman, fBmonConfig); /// Framework bound work = kept in this Task + fBmonConfig->SetAlgo(); + fBmonConfig->LoadParFileName(); /// Needed to change the Parameter file name before it is used!!! + initParContainers(fBmonConfig->GetParContainerRequest()); /// Framework bound work = kept in this Task + fBmonConfig->InitAlgo(); + initPerformanceMaps(fkFlesBmon, "Bmon"); } if (fDoPerfProfPerTs) { @@ -384,8 +384,8 @@ void CbmRecoUnpack::Reset() if (fTrd1DConfig) fTrd1DConfig->Reset(); // ---- Trd2D ---- if (fTrd2DConfig) fTrd2DConfig->Reset(); - // ---- Tzd ---- - if (fTzdConfig) fTzdConfig->Reset(); + // ---- Bmon ---- + if (fBmonConfig) fBmonConfig->Reset(); } // ---------------------------------------------------------------------------- @@ -465,10 +465,10 @@ void CbmRecoUnpack::Unpack(unique_ptr<Timeslice> ts) } break; } - case fkFlesTzd: { - if (fTzdConfig) { - fCbmTsEventHeader->AddNDigisBmon(unpack(systemId, ×lice, component, fTzdConfig, - fTzdConfig->GetOptOutAVec(), fTzdConfig->GetOptOutBVec())); + case fkFlesBmon: { + if (fBmonConfig) { + fCbmTsEventHeader->AddNDigisBmon(unpack(systemId, ×lice, component, fBmonConfig, + fBmonConfig->GetOptOutAVec(), fBmonConfig->GetOptOutBVec())); } break; } @@ -488,7 +488,7 @@ void CbmRecoUnpack::Unpack(unique_ptr<Timeslice> ts) if (fTofConfig && fTofConfig->GetOutputVec()) { timesort(fTofConfig->GetOutputVec()); } if (fTrd1DConfig && fTrd1DConfig->GetOutputVec()) { timesort(fTrd1DConfig->GetOutputVec()); } if (fTrd2DConfig && fTrd2DConfig->GetOutputVec()) { timesort(fTrd2DConfig->GetOutputVec()); } - if (fTzdConfig && fTzdConfig->GetOutputVec()) { timesort(fTzdConfig->GetOutputVec()); } + if (fBmonConfig && fBmonConfig->GetOutputVec()) { timesort(fBmonConfig->GetOutputVec()); } /// Time sort the output vectors of all unpackers present if (fMuchConfig && fMuchConfig->GetOptOutAVec()) { timesort(fMuchConfig->GetOptOutAVec()); } @@ -498,7 +498,7 @@ void CbmRecoUnpack::Unpack(unique_ptr<Timeslice> ts) if (fTofConfig && fTofConfig->GetOptOutAVec()) { timesort(fTofConfig->GetOptOutAVec()); } if (fTrd1DConfig && fTrd1DConfig->GetOptOutAVec()) { timesort(fTrd1DConfig->GetOptOutAVec()); } if (fTrd2DConfig && fTrd2DConfig->GetOptOutAVec()) { timesort(fTrd2DConfig->GetOptOutAVec()); } - if (fTzdConfig && fTzdConfig->GetOptOutAVec()) { timesort(fTzdConfig->GetOptOutAVec()); } + if (fBmonConfig && fBmonConfig->GetOptOutAVec()) { timesort(fBmonConfig->GetOptOutAVec()); } } if (fDoPerfProfPerTs) { diff --git a/reco/steer/CbmRecoUnpack.h b/reco/steer/CbmRecoUnpack.h index 1bf6850586..36880bde06 100644 --- a/reco/steer/CbmRecoUnpack.h +++ b/reco/steer/CbmRecoUnpack.h @@ -12,6 +12,7 @@ #ifndef CBMRECOUNPACK_H #define CBMRECOUNPACK_H 1 +#include "CbmBmonUnpackConfig.h" #include "CbmMuchUnpackConfig.h" #include "CbmPsdUnpackConfig.h" #include "CbmRichUnpackConfig.h" @@ -20,7 +21,6 @@ #include "CbmTrdUnpackConfig.h" #include "CbmTrdUnpackFaspConfig.h" #include "CbmTsEventHeader.h" -#include "CbmTzdUnpackConfig.h" #include <MicrosliceDescriptor.hpp> #include <Timeslice.hpp> @@ -150,7 +150,7 @@ public: void SetUnpackConfig(std::shared_ptr<CbmTrdUnpackFaspConfig> config) { fTrd2DConfig = config; } /** @brief Set the Bmon Unpack Config @param config */ - void SetUnpackConfig(std::shared_ptr<CbmTzdUnpackConfig> config) { fTzdConfig = config; } + void SetUnpackConfig(std::shared_ptr<CbmBmonUnpackConfig> config) { fBmonConfig = config; } /** @brief Trigger the unpacking procedure **/ void Unpack(std::unique_ptr<fles::Timeslice> ts); @@ -164,7 +164,7 @@ private: static constexpr std::uint16_t fkFlesTrd = static_cast<std::uint16_t>(fles::SubsystemIdentifier::TRD); static constexpr std::uint16_t fkFlesTrd2D = static_cast<std::uint16_t>(fles::SubsystemIdentifier::TRD2D); static constexpr std::uint16_t fkFlesTof = static_cast<std::uint16_t>(fles::SubsystemIdentifier::RPC); - static constexpr std::uint16_t fkFlesTzd = static_cast<std::uint16_t>(fles::SubsystemIdentifier::T0); + static constexpr std::uint16_t fkFlesBmon = static_cast<std::uint16_t>(fles::SubsystemIdentifier::T0); /** @brief Flag if extended debug output is to be printed or not*/ bool fDoDebugPrints = false; //! @@ -428,8 +428,8 @@ private: /** @brief Configuration of the Trd unpacker. Provides the configured algorithm */ std::shared_ptr<CbmTrdUnpackFaspConfig> fTrd2DConfig = nullptr; //! - /** @brief Configuration of the Tzd unpacker. Provides the configured algorithm */ - std::shared_ptr<CbmTzdUnpackConfig> fTzdConfig = nullptr; //! + /** @brief Configuration of the Bmon unpacker. Provides the configured algorithm */ + std::shared_ptr<CbmBmonUnpackConfig> fBmonConfig = nullptr; //! /** @brief Pointer to the Timeslice start time used to write it to the output tree @remark since we hand this to the FairRootManager it also wants to delete it and we do not have to take care of deletion */ CbmTsEventHeader* fCbmTsEventHeader = nullptr; diff --git a/reco/tasks/CbmTaskBuildEvents.cxx b/reco/tasks/CbmTaskBuildEvents.cxx index e752197e02..d31841c63d 100644 --- a/reco/tasks/CbmTaskBuildEvents.cxx +++ b/reco/tasks/CbmTaskBuildEvents.cxx @@ -83,8 +83,8 @@ CbmDigiTimeslice CbmTaskBuildEvents::FillTimeSlice() break; } case ECbmModuleId::kT0: { //T0 has Tof digis - const vector<CbmTzdDigi>* digiVec = - boost::any_cast<const vector<CbmTzdDigi>*>(digiBranch->GetBranchContainer()); + const vector<CbmBmonDigi>* digiVec = + boost::any_cast<const vector<CbmBmonDigi>*>(digiBranch->GetBranchContainer()); assert(digiVec); ts.fData.fT0.fDigis = *digiVec; break; diff --git a/reco/tasks/CbmTaskMakeRecoEvents.cxx b/reco/tasks/CbmTaskMakeRecoEvents.cxx index dbfe50e11b..d379dd28da 100644 --- a/reco/tasks/CbmTaskMakeRecoEvents.cxx +++ b/reco/tasks/CbmTaskMakeRecoEvents.cxx @@ -64,7 +64,7 @@ void CbmTaskMakeRecoEvents::Exec(Option_t*) CbmEvent* recoEvent = new ((*fRecoEvents)[eventNr]) CbmEvent(eventNr); // --- Copy T0 digis - FillTree<CbmTzdDigi>(digiEvent.fData.fT0.fDigis, fT0Digis, recoEvent, ECbmDataType::kT0Digi); + FillTree<CbmBmonDigi>(digiEvent.fData.fT0.fDigis, fT0Digis, recoEvent, ECbmDataType::kT0Digi); // --- Copy STS digis FillTree<CbmStsDigi>(digiEvent.fData.fSts.fDigis, fStsDigis, recoEvent, ECbmDataType::kStsDigi); @@ -150,8 +150,8 @@ InitStatus CbmTaskMakeRecoEvents::Init() } // --- T0 digis - fT0Digis = new std::vector<CbmTzdDigi>; - frm->RegisterAny("TzdDigi", fT0Digis, kFALSE); + fT0Digis = new std::vector<CbmBmonDigi>; + frm->RegisterAny("BmonDigi", fT0Digis, kFALSE); // --- STS digis fStsDigis = new std::vector<CbmStsDigi>; diff --git a/reco/tasks/CbmTaskMakeRecoEvents.h b/reco/tasks/CbmTaskMakeRecoEvents.h index 9c020891f9..db5617534f 100644 --- a/reco/tasks/CbmTaskMakeRecoEvents.h +++ b/reco/tasks/CbmTaskMakeRecoEvents.h @@ -92,7 +92,7 @@ private: // methods private: // members const std::vector<CbmDigiEvent>* fDigiEvents = nullptr; TClonesArray* fRecoEvents = nullptr; - std::vector<CbmTzdDigi>* fT0Digis = nullptr; + std::vector<CbmBmonDigi>* fT0Digis = nullptr; std::vector<CbmStsDigi>* fStsDigis = nullptr; std::vector<CbmRichDigi>* fRichDigis = nullptr; std::vector<CbmMuchDigi>* fMuchDigis = nullptr; diff --git a/sim/detectors/CMakeLists.txt b/sim/detectors/CMakeLists.txt index 567a04c82f..f9d1edb8ba 100644 --- a/sim/detectors/CMakeLists.txt +++ b/sim/detectors/CMakeLists.txt @@ -1,11 +1,11 @@ # CMakeList file for directory analysis/detectors # V. Friese, 22 April 2020 +add_subdirectory(bmon) add_subdirectory(much) add_subdirectory(psd) add_subdirectory(rich) add_subdirectory(sts) add_subdirectory(tof) add_subdirectory(trd) -add_subdirectory(tzd) diff --git a/sim/detectors/tzd/CMakeLists.txt b/sim/detectors/bmon/CMakeLists.txt similarity index 82% rename from sim/detectors/tzd/CMakeLists.txt rename to sim/detectors/bmon/CMakeLists.txt index 6edb78fbb9..bc78a25623 100644 --- a/sim/detectors/tzd/CMakeLists.txt +++ b/sim/detectors/bmon/CMakeLists.txt @@ -4,11 +4,11 @@ set(INCLUDE_DIRECTORIES set(SRCS - CbmTzdDigitize.cxx + CbmBmonDigitize.cxx ) -set(LIBRARY_NAME CbmTzdSim) +set(LIBRARY_NAME CbmBmonSim) set(LINKDEF ${LIBRARY_NAME}LinkDef.h) set(PUBLIC_DEPENDENCIES CbmBase diff --git a/sim/detectors/tzd/CbmTzdDigitize.cxx b/sim/detectors/bmon/CbmBmonDigitize.cxx similarity index 81% rename from sim/detectors/tzd/CbmTzdDigitize.cxx rename to sim/detectors/bmon/CbmBmonDigitize.cxx index d9130dac0c..052fbade4c 100644 --- a/sim/detectors/tzd/CbmTzdDigitize.cxx +++ b/sim/detectors/bmon/CbmBmonDigitize.cxx @@ -2,12 +2,12 @@ SPDX-License-Identifier: GPL-3.0-only Authors: Volker Friese [committer] */ -/** @file CbmTzdDigitize.cxx +/** @file CbmBmonDigitize.cxx ** @author Volker Friese <v.friese@gsi.de> ** @date 07.11.2022 **/ -#include "CbmTzdDigitize.h" +#include "CbmBmonDigitize.h" #include "CbmMatch.h" @@ -25,17 +25,17 @@ using std::setw; // ----- Standard constructor ------------------------------------------ -CbmTzdDigitize::CbmTzdDigitize(double sigma) : CbmDigitize<CbmTzdDigi>("TzdDigitize"), fResolution(sigma) {} +CbmBmonDigitize::CbmBmonDigitize(double sigma) : CbmDigitize<CbmBmonDigi>("BmonDigitize"), fResolution(sigma) {} // ------------------------------------------------------------------------- // ----- Destructor ---------------------------------------------------- -CbmTzdDigitize::~CbmTzdDigitize() {} +CbmBmonDigitize::~CbmBmonDigitize() {} // ------------------------------------------------------------------------- // ----- Task execution ------------------------------------------------ -void CbmTzdDigitize::Exec(Option_t*) +void CbmBmonDigitize::Exec(Option_t*) { // --- Start timer and reset counters @@ -46,9 +46,9 @@ void CbmTzdDigitize::Exec(Option_t*) GetEventInfo(); // --- Create digi and send it to DAQ - double digiTime = fCurrentEventTime + gRandom->Gaus(0., fResolution); - double charge = 1.; // Placeholder - CbmTzdDigi* digi = new CbmTzdDigi(ToIntegralType<ECbmModuleId>(ECbmModuleId::kT0), digiTime, charge); + double digiTime = fCurrentEventTime + gRandom->Gaus(0., fResolution); + double charge = 1.; // Placeholder + CbmBmonDigi* digi = new CbmBmonDigi(ToIntegralType<ECbmModuleId>(ECbmModuleId::kT0), digiTime, charge); if (fCreateMatches) { CbmMatch* digiMatch = new CbmMatch(); digiMatch->AddLink(1., -1, fCurrentMCEntry, fCurrentInput); @@ -70,7 +70,7 @@ void CbmTzdDigitize::Exec(Option_t*) // ----- Finish run --------------------------------------------------- -void CbmTzdDigitize::Finish() +void CbmBmonDigitize::Finish() { std::cout << std::endl; LOG(info) << "====================================="; @@ -83,7 +83,7 @@ void CbmTzdDigitize::Finish() // ----- Initialisation ----------------------------------------------- -InitStatus CbmTzdDigitize::Init() +InitStatus CbmBmonDigitize::Init() { std::cout << std::endl; LOG(info) << "=========================================================="; @@ -99,8 +99,8 @@ InitStatus CbmTzdDigitize::Init() // ----- Private method ReInit ----------------------------------------- -InitStatus CbmTzdDigitize::ReInit() { return kSUCCESS; } +InitStatus CbmBmonDigitize::ReInit() { return kSUCCESS; } // ------------------------------------------------------------------------- -ClassImp(CbmTzdDigitize) +ClassImp(CbmBmonDigitize) diff --git a/sim/detectors/tzd/CbmTzdDigitize.h b/sim/detectors/bmon/CbmBmonDigitize.h similarity index 78% rename from sim/detectors/tzd/CbmTzdDigitize.h rename to sim/detectors/bmon/CbmBmonDigitize.h index b4ec862cbc..778134030b 100644 --- a/sim/detectors/tzd/CbmTzdDigitize.h +++ b/sim/detectors/bmon/CbmBmonDigitize.h @@ -7,34 +7,34 @@ ** @date 07.11.2022 **/ -#ifndef CBMTZDDIGITIZE_H -#define CBMTZDDIGITIZE_H 1 +#ifndef CBMBMONDIGITIZE_H +#define CBMBMONDIGITIZE_H 1 +#include "CbmBmonDigi.h" #include "CbmDefs.h" #include "CbmDigitize.h" -#include "CbmTzdDigi.h" #include <Rtypes.h> -/** @class CbmTzdDigitize +/** @class CbmBmonDigitize ** @brief Task class for simulating the detector response of the t-zero detector ** @author Volker Friese <v.friese@gsi.de> ** @since 07.11.2022 ** @version 1.0 ** - ** The current implementation of the TZD simulation is a placeholder until a realistic + ** The current implementation of the BMON simulation is a placeholder until a realistic ** detector response model is available. It smears the MC event time with a Gaussian resolution. **/ -class CbmTzdDigitize : public CbmDigitize<CbmTzdDigi> { +class CbmBmonDigitize : public CbmDigitize<CbmBmonDigi> { public: /** Constructor **/ - CbmTzdDigitize(double resolution = 0.025); + CbmBmonDigitize(double resolution = 0.025); /** Destructor **/ - virtual ~CbmTzdDigitize(); + virtual ~CbmBmonDigitize(); /** @brief Detector system ID @@ -72,7 +72,7 @@ private: virtual InitStatus Init(); - ClassDef(CbmTzdDigitize, 1); + ClassDef(CbmBmonDigitize, 1); }; #endif diff --git a/sim/detectors/tzd/CbmTzdSimLinkDef.h b/sim/detectors/bmon/CbmBmonSimLinkDef.h similarity index 75% rename from sim/detectors/tzd/CbmTzdSimLinkDef.h rename to sim/detectors/bmon/CbmBmonSimLinkDef.h index f013780b35..1241fc96ca 100644 --- a/sim/detectors/tzd/CbmTzdSimLinkDef.h +++ b/sim/detectors/bmon/CbmBmonSimLinkDef.h @@ -8,7 +8,7 @@ #pragma link off all classes; #pragma link off all functions; -#pragma link C++ class CbmDigitize < CbmTzdDigi> + ; -#pragma link C++ class CbmTzdDigitize + ; +#pragma link C++ class CbmDigitize < CbmBmonDigi> + ; +#pragma link C++ class CbmBmonDigitize + ; #endif /* __CINT__ */ diff --git a/sim/response/CMakeLists.txt b/sim/response/CMakeLists.txt index 1be37594c6..9b2b9f2482 100644 --- a/sim/response/CMakeLists.txt +++ b/sim/response/CMakeLists.txt @@ -29,7 +29,7 @@ set(PRIVATE_DEPENDENCIES CbmStsSim CbmTofSim CbmTrdSim - CbmTzdSim + CbmBmonSim FairRoot::Tools FairRoot::ParBase ) diff --git a/sim/response/base/CbmDigitization.cxx b/sim/response/base/CbmDigitization.cxx index 30ab4cb3d3..5c64e630a9 100644 --- a/sim/response/base/CbmDigitization.cxx +++ b/sim/response/base/CbmDigitization.cxx @@ -9,6 +9,7 @@ #include "CbmDigitization.h" +#include "CbmBmonDigitize.h" #include "CbmDigitizationSource.h" #include "CbmMuchDigitizeGem.h" #include "CbmMvdDigitizer.h" @@ -19,7 +20,6 @@ #include "CbmStsDigitize.h" #include "CbmTofDigitize.h" #include "CbmTrdDigitizer.h" -#include "CbmTzdDigitize.h" #include "FairFileSource.h" #include "FairMCEventHeader.h" @@ -204,8 +204,8 @@ Int_t CbmDigitization::CreateDefaultDigitizers() nDigis++; break; case ECbmModuleId::kT0: - fDigitizers[system]->SetDigitizer(new CbmTzdDigitize()); - ss << "TZD "; + fDigitizers[system]->SetDigitizer(new CbmBmonDigitize()); + ss << "BMON "; nDigis++; break; default: LOG(fatal) << fName << ": Unknown system " << system; break; -- GitLab