diff --git a/MQ/mcbm/CbmDeviceBmonMonitor.cxx b/MQ/mcbm/CbmDeviceBmonMonitor.cxx index 7162526eb56921fffb690ebe038af495f768e113..4a335b9fd0c479eb694d2c96cfc7e53be163b7bb 100644 --- a/MQ/mcbm/CbmDeviceBmonMonitor.cxx +++ b/MQ/mcbm/CbmDeviceBmonMonitor.cxx @@ -54,7 +54,7 @@ struct InitTaskError : std::runtime_error { using namespace std; -//Bool_t bMcbm2018MonitorTaskT0ResetHistos = kFALSE; +//Bool_t bMcbm2018MonitorTaskBmonResetHistos = kFALSE; CbmDeviceBmonMonitor::CbmDeviceBmonMonitor() {} @@ -168,7 +168,7 @@ Bool_t CbmDeviceBmonMonitor::InitContainers() if ("kBmon" == sSelDet && fBmonConfig) { // fBmonConfig->SetSystemTimeOffset(iOffset); - } // else if( "kT0" == sSelDet ) + } // else if( "kBmon" == sSelDet ) else { LOG(info) << "CbmDeviceBmonMonitor::InitContainers => Trying to set time " "offset for unsupported detector, ignored! " @@ -433,7 +433,7 @@ bool CbmDeviceBmonMonitor::SendUnpData() parts.AddPart(std::move(messTsHeader)); - // ---- T0 ---- + // ---- Bmon ---- std::stringstream ossBmon; boost::archive::binary_oarchive oaBmon(ossBmon); if (fBmonConfig) { // diff --git a/MQ/mcbm/CbmDeviceBuildDigiEvents.cxx b/MQ/mcbm/CbmDeviceBuildDigiEvents.cxx index 155c08879074bb3a1bfce00349d72dad1ab251f0..16210f626b099ee196ecc811ad07dd3fe1c6dbae 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<CbmBmonDigi>(1000000); + fvDigiBmon = new std::vector<CbmBmonDigi>(1000000); fvDigiSts = new std::vector<CbmStsDigi>(1000000); fvDigiMuch = new std::vector<CbmMuchDigi>(1000000); fvDigiTrd = new std::vector<CbmTrdDigi>(1000000); @@ -347,7 +347,7 @@ try { fCbmTsEventHeader = new CbmTsEventHeader(); /// Digis storage - fpAlgo->SetDigis(fvDigiT0); + fpAlgo->SetDigis(fvDigiBmon); fpAlgo->SetDigis(fvDigiSts); fpAlgo->SetDigis(fvDigiMuch); fpAlgo->SetDigis(fvDigiTrd); @@ -492,12 +492,12 @@ bool CbmDeviceBuildDigiEvents::HandleData(FairMQParts& parts, int /*index*/) RootSerializer().Deserialize(*parts.At(uPartIdx), fCbmTsEventHeader); ++uPartIdx; - /// T0 + /// Bmon if (0 < (parts.At(uPartIdx))->GetSize()) { - std::string msgStrT0(static_cast<char*>(parts.At(uPartIdx)->GetData()), (parts.At(uPartIdx))->GetSize()); - std::istringstream issT0(msgStrT0); - boost::archive::binary_iarchive inputArchiveT0(issT0); - inputArchiveT0 >> *fvDigiT0; + std::string msgStrBmon(static_cast<char*>(parts.At(uPartIdx)->GetData()), (parts.At(uPartIdx))->GetSize()); + std::istringstream issBmon(msgStrBmon); + boost::archive::binary_iarchive inputArchiveBmon(issBmon); + inputArchiveBmon >> *fvDigiBmon; } ++uPartIdx; @@ -528,7 +528,7 @@ bool CbmDeviceBuildDigiEvents::HandleData(FairMQParts& parts, int /*index*/) } ++uPartIdx; - /// T0F + /// BmonF if (0 < (parts.At(uPartIdx))->GetSize()) { std::string msgStrTof(static_cast<char*>(parts.At(uPartIdx)->GetData()), (parts.At(uPartIdx))->GetSize()); std::istringstream issTof(msgStrTof); @@ -562,7 +562,7 @@ bool CbmDeviceBuildDigiEvents::HandleData(FairMQParts& parts, int /*index*/) TimesliceMetaData(std::move(*fTsMetaData)); ++uPartIdx; - LOG(debug) << "T0 Vector size: " << fvDigiT0->size(); + LOG(debug) << "Bmon Vector size: " << fvDigiBmon->size(); LOG(debug) << "STS Vector size: " << fvDigiSts->size(); LOG(debug) << "MUCH Vector size: " << fvDigiMuch->size(); LOG(debug) << "TRD Vector size: " << fvDigiTrd->size(); @@ -592,7 +592,7 @@ bool CbmDeviceBuildDigiEvents::HandleData(FairMQParts& parts, int /*index*/) fTimeSliceMetaDataArray->Clear(); /// Clear vectors - fvDigiT0->clear(); + fvDigiBmon->clear(); fvDigiSts->clear(); fvDigiMuch->clear(); fvDigiTrd->clear(); @@ -698,13 +698,14 @@ bool CbmDeviceBuildDigiEvents::SendDigiEvents(FairMQParts& partsIn) /// for each detector, find the data in the Digi vectors and copy them /// TODO: Template + loop on list of data types? - /// ==> T0 - uint32_t uNbDigis = (0 < event->GetNofData(ECbmDataType::kT0Digi) ? event->GetNofData(ECbmDataType::kT0Digi) : 0); + /// ==> Bmon + uint32_t uNbDigis = + (0 < event->GetNofData(ECbmDataType::kBmonDigi) ? event->GetNofData(ECbmDataType::kBmonDigi) : 0); if (uNbDigis) { - auto startIt = fvDigiT0->begin() + event->GetIndex(ECbmDataType::kT0Digi, 0); - auto stopIt = fvDigiT0->begin() + event->GetIndex(ECbmDataType::kT0Digi, uNbDigis - 1); + auto startIt = fvDigiBmon->begin() + event->GetIndex(ECbmDataType::kBmonDigi, 0); + auto stopIt = fvDigiBmon->begin() + event->GetIndex(ECbmDataType::kBmonDigi, uNbDigis - 1); ++stopIt; - selEvent.fData.fT0.fDigis.assign(startIt, stopIt); + selEvent.fData.fBmon.fDigis.assign(startIt, stopIt); } /// ==> STS @@ -877,7 +878,7 @@ CbmDeviceBuildDigiEvents::~CbmDeviceBuildDigiEvents() if (fCbmTsEventHeader) delete fCbmTsEventHeader; /// Clear vectors - if (fvDigiT0) fvDigiT0->clear(); + if (fvDigiBmon) fvDigiBmon->clear(); if (fvDigiSts) fvDigiSts->clear(); if (fvDigiMuch) fvDigiMuch->clear(); if (fvDigiTrd) fvDigiTrd->clear(); diff --git a/MQ/mcbm/CbmDeviceBuildDigiEvents.h b/MQ/mcbm/CbmDeviceBuildDigiEvents.h index d51ea1a858fb722b2455b43e6c395c165b8cc842..bbf2166c5441bbbf697364ee8a3990d5e4f3a236 100644 --- a/MQ/mcbm/CbmDeviceBuildDigiEvents.h +++ b/MQ/mcbm/CbmDeviceBuildDigiEvents.h @@ -59,7 +59,7 @@ private: /// User settings parameters /// Algo enum settings std::string fsEvtOverMode = "NoOverlap"; - std::string fsRefDet = "kT0"; + std::string fsRefDet = "kBmon"; std::vector<std::string> fvsAddDet = {}; std::vector<std::string> fvsDelDet = {}; std::vector<std::string> fvsSetTrigWin = {}; @@ -103,7 +103,7 @@ private: /// TS information in header CbmTsEventHeader* fCbmTsEventHeader = nullptr; /// Digis storage - std::vector<CbmBmonDigi>* fvDigiT0 = nullptr; + std::vector<CbmBmonDigi>* fvDigiBmon = 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 6ce3820e6a0215fd8d3ce16e4c822d8731b116aa..606d42d6449bc2e5df40e11f695aba66294a69d8 100644 --- a/MQ/mcbm/CbmDeviceBuildRawEvents.cxx +++ b/MQ/mcbm/CbmDeviceBuildRawEvents.cxx @@ -268,7 +268,7 @@ try { /* clang-format on */ /// Create input vectors - fvDigiT0 = new std::vector<CbmBmonDigi>(); + fvDigiBmon = new std::vector<CbmBmonDigi>(); fvDigiSts = new std::vector<CbmStsDigi>(); fvDigiMuch = new std::vector<CbmMuchBeamTimeDigi>(); fvDigiTrd = new std::vector<CbmTrdDigi>(); @@ -281,7 +281,7 @@ try { fpAlgo->SetTimeSliceMetaDataArray(fTimeSliceMetaDataArray); /// Digis storage - fpAlgo->SetDigis(fvDigiT0); + fpAlgo->SetDigis(fvDigiBmon); fpAlgo->SetDigis(fvDigiSts); fpAlgo->SetDigis(fvDigiMuch); fpAlgo->SetDigis(fvDigiTrd); @@ -395,11 +395,11 @@ bool CbmDeviceBuildRawEvents::HandleData(FairMQParts& parts, int /*index*/) TimesliceMetaData(std::move(*fTsMetaData)); ++uPartIdx; - /// T0 - std::string msgStrT0(static_cast<char*>(parts.At(uPartIdx)->GetData()), (parts.At(uPartIdx))->GetSize()); - std::istringstream issT0(msgStrT0); - boost::archive::binary_iarchive inputArchiveT0(issT0); - inputArchiveT0 >> *fvDigiT0; + /// Bmon + std::string msgStrBmon(static_cast<char*>(parts.At(uPartIdx)->GetData()), (parts.At(uPartIdx))->GetSize()); + std::istringstream issBmon(msgStrBmon); + boost::archive::binary_iarchive inputArchiveBmon(issBmon); + inputArchiveBmon >> *fvDigiBmon; ++uPartIdx; /// STS @@ -423,7 +423,7 @@ bool CbmDeviceBuildRawEvents::HandleData(FairMQParts& parts, int /*index*/) inputArchiveTrd >> *fvDigiTrd; ++uPartIdx; - /// T0F + /// BmonF std::string msgStrTof(static_cast<char*>(parts.At(uPartIdx)->GetData()), (parts.At(uPartIdx))->GetSize()); std::istringstream issTof(msgStrTof); boost::archive::binary_iarchive inputArchiveTof(issTof); @@ -454,7 +454,7 @@ bool CbmDeviceBuildRawEvents::HandleData(FairMQParts& parts, int /*index*/) fTimeSliceMetaDataArray->Clear(); /// Clear vectors - fvDigiT0->clear(); + fvDigiBmon->clear(); fvDigiSts->clear(); fvDigiMuch->clear(); fvDigiTrd->clear(); @@ -541,7 +541,7 @@ CbmDeviceBuildRawEvents::~CbmDeviceBuildRawEvents() delete fTsMetaData; /// Clear vectors - fvDigiT0->clear(); + fvDigiBmon->clear(); fvDigiSts->clear(); fvDigiMuch->clear(); fvDigiTrd->clear(); diff --git a/MQ/mcbm/CbmDeviceBuildRawEvents.h b/MQ/mcbm/CbmDeviceBuildRawEvents.h index f45c81a3de5e60d8ee88dca3630d4627c01626ab..5b79678f85b25836cc4fdf572e13a23c65481029 100644 --- a/MQ/mcbm/CbmDeviceBuildRawEvents.h +++ b/MQ/mcbm/CbmDeviceBuildRawEvents.h @@ -59,7 +59,7 @@ private: /// User settings parameters /// Algo enum settings std::string fsEvtOverMode = "NoOverlap"; - std::string fsRefDet = "kT0"; + std::string fsRefDet = "kBmon"; std::vector<std::string> fvsAddDet = {}; std::vector<std::string> fvsDelDet = {}; std::vector<std::string> fvsSetTrigWin = {}; @@ -100,7 +100,7 @@ private: TClonesArray* fTimeSliceMetaDataArray = nullptr; //! TimesliceMetaData* fTsMetaData = nullptr; /// Digis storage - std::vector<CbmBmonDigi>* fvDigiT0 = nullptr; + std::vector<CbmBmonDigi>* fvDigiBmon = 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 d365048651956d2b110bfab89fe411557a6372eb..f370b9790db6454ca8ff37d8e139252ee7d8f0da 100644 --- a/MQ/mcbm/CbmDeviceDigiEventSink.cxx +++ b/MQ/mcbm/CbmDeviceDigiEventSink.cxx @@ -55,7 +55,7 @@ struct InitTaskError : std::runtime_error { using namespace std; -//Bool_t bMcbm2018MonitorTaskT0ResetHistos = kFALSE; +//Bool_t bMcbm2018MonitorTaskBmonResetHistos = kFALSE; CbmDeviceDigiEventSink::CbmDeviceDigiEventSink() {} @@ -156,7 +156,7 @@ try { /// Full TS Digis storage (optional usage, controlled by fbStoreFullTs!) if (fbStoreFullTs) { - fvDigiT0 = new std::vector<CbmBmonDigi>(); + fvDigiBmon = new std::vector<CbmBmonDigi>(); fvDigiSts = new std::vector<CbmStsDigi>(); fvDigiMuch = new std::vector<CbmMuchDigi>(); fvDigiTrd = new std::vector<CbmTrdDigi>(); @@ -164,7 +164,7 @@ try { fvDigiRich = new std::vector<CbmRichDigi>(); fvDigiPsd = new std::vector<CbmPsdDigi>(); - fpFairRootMgr->RegisterAny(CbmBmonDigi::GetBranchName(), fvDigiT0, kTRUE); + fpFairRootMgr->RegisterAny(CbmBmonDigi::GetBranchName(), fvDigiBmon, kTRUE); fpFairRootMgr->RegisterAny(CbmStsDigi::GetBranchName(), fvDigiSts, kTRUE); fpFairRootMgr->RegisterAny(CbmMuchDigi::GetBranchName(), fvDigiMuch, kTRUE); fpFairRootMgr->RegisterAny(CbmTrdDigi::GetBranchName(), fvDigiTrd, kTRUE); @@ -632,7 +632,7 @@ void CbmDeviceDigiEventSink::PrepareTreeEntry(CbmEventTimeslice unpTs) /// Full TS Digis storage (optional usage, controlled by fbStoreFullTs!) if (fbStoreFullTs) { - if (0 < unpTs.fvDigiT0.size()) fvDigiT0->assign(unpTs.fvDigiT0.begin(), unpTs.fvDigiT0.end()); + if (0 < unpTs.fvDigiBmon.size()) fvDigiBmon->assign(unpTs.fvDigiBmon.begin(), unpTs.fvDigiBmon.end()); if (0 < unpTs.fvDigiSts.size()) fvDigiSts->assign(unpTs.fvDigiSts.begin(), unpTs.fvDigiSts.end()); if (0 < unpTs.fvDigiMuch.size()) fvDigiMuch->assign(unpTs.fvDigiMuch.begin(), unpTs.fvDigiMuch.end()); if (0 < unpTs.fvDigiTrd.size()) fvDigiTrd->assign(unpTs.fvDigiTrd.begin(), unpTs.fvDigiTrd.end()); @@ -669,7 +669,7 @@ void CbmDeviceDigiEventSink::DumpTreeEntry() fEventsSel->clear(); /// Full TS Digis storage (optional usage, controlled by fbStoreFullTs!) if (fbStoreFullTs) { - fvDigiT0->clear(); + fvDigiBmon->clear(); fvDigiSts->clear(); fvDigiMuch->clear(); fvDigiTrd->clear(); @@ -876,11 +876,11 @@ CbmEventTimeslice::CbmEventTimeslice(FairMQParts& parts, bool bDigiEvtInput) } ++uPartIdx; - /// (2) T0 - std::string msgStrT0(static_cast<char*>(parts.At(uPartIdx)->GetData()), (parts.At(uPartIdx))->GetSize()); - std::istringstream issT0(msgStrT0); - boost::archive::binary_iarchive inputArchiveT0(issT0); - inputArchiveT0 >> fvDigiT0; + /// (2) Bmon + std::string msgStrBmon(static_cast<char*>(parts.At(uPartIdx)->GetData()), (parts.At(uPartIdx))->GetSize()); + std::istringstream issBmon(msgStrBmon); + boost::archive::binary_iarchive inputArchiveBmon(issBmon); + inputArchiveBmon >> fvDigiBmon; ++uPartIdx; /// (3) STS @@ -904,7 +904,7 @@ CbmEventTimeslice::CbmEventTimeslice(FairMQParts& parts, bool bDigiEvtInput) inputArchiveTrd >> fvDigiTrd; ++uPartIdx; - /// (6) T0F + /// (6) BmonF std::string msgStrTof(static_cast<char*>(parts.At(uPartIdx)->GetData()), (parts.At(uPartIdx))->GetSize()); std::istringstream issTof(msgStrTof); boost::archive::binary_iarchive inputArchiveTof(issTof); @@ -956,7 +956,7 @@ CbmEventTimeslice::CbmEventTimeslice(FairMQParts& parts, bool bDigiEvtInput) CbmEventTimeslice::~CbmEventTimeslice() { - fvDigiT0.clear(); + fvDigiBmon.clear(); fvDigiSts.clear(); fvDigiMuch.clear(); fvDigiTrd.clear(); @@ -989,13 +989,13 @@ void CbmEventTimeslice::ExtractSelectedData(bool bExclusiveTrdExtract) /// for each detector, find the data in the Digi vectors and copy them /// TODO: Template + loop on list of data types? - /// ==> T0 - uint32_t uNbDigis = (0 < event.GetNofData(ECbmDataType::kT0Digi) ? event.GetNofData(ECbmDataType::kT0Digi) : 0); + /// ==> Bmon + uint32_t uNbDigis = (0 < event.GetNofData(ECbmDataType::kBmonDigi) ? event.GetNofData(ECbmDataType::kBmonDigi) : 0); if (uNbDigis) { - auto startIt = fvDigiT0.begin() + event.GetIndex(ECbmDataType::kT0Digi, 0); - auto stopIt = fvDigiT0.begin() + event.GetIndex(ECbmDataType::kT0Digi, uNbDigis - 1); + auto startIt = fvDigiBmon.begin() + event.GetIndex(ECbmDataType::kBmonDigi, 0); + auto stopIt = fvDigiBmon.begin() + event.GetIndex(ECbmDataType::kBmonDigi, uNbDigis - 1); ++stopIt; - selEvent.fData.fT0.fDigis.assign(startIt, stopIt); + selEvent.fData.fBmon.fDigis.assign(startIt, stopIt); } /// ==> STS diff --git a/MQ/mcbm/CbmDeviceDigiEventSink.h b/MQ/mcbm/CbmDeviceDigiEventSink.h index cd79f1fbd685a52c766ee523e6be133f196b192c..3add31512859e0ce51d0c854cf4940adccecb558 100644 --- a/MQ/mcbm/CbmDeviceDigiEventSink.h +++ b/MQ/mcbm/CbmDeviceDigiEventSink.h @@ -68,7 +68,7 @@ public: /// TS information in header CbmTsEventHeader fCbmTsEventHeader; /// Raw data - std::vector<CbmBmonDigi> fvDigiT0; + std::vector<CbmBmonDigi> fvDigiBmon; std::vector<CbmStsDigi> fvDigiSts; std::vector<CbmMuchDigi> fvDigiMuch; std::vector<CbmTrdDigi> fvDigiTrd; @@ -159,7 +159,7 @@ private: /// CbmEvents std::vector<CbmDigiEvent>* fEventsSel = nullptr; //! output container of CbmEvents /// Full TS Digis storage (optional usage, controlled by fbStoreFullTs!) - std::vector<CbmBmonDigi>* fvDigiT0 = nullptr; + std::vector<CbmBmonDigi>* fvDigiBmon = nullptr; std::vector<CbmStsDigi>* fvDigiSts = nullptr; std::vector<CbmMuchDigi>* fvDigiMuch = nullptr; std::vector<CbmTrdDigi>* fvDigiTrd = nullptr; diff --git a/MQ/mcbm/CbmDeviceMcbmEventBuilderWin.cxx b/MQ/mcbm/CbmDeviceMcbmEventBuilderWin.cxx index 70a18127a3c46435d6d6c5ad9f65cff00b670a44..fde19fafdf78b994e3ce32f8f4cd148ed17f0595 100644 --- a/MQ/mcbm/CbmDeviceMcbmEventBuilderWin.cxx +++ b/MQ/mcbm/CbmDeviceMcbmEventBuilderWin.cxx @@ -52,7 +52,7 @@ struct InitTaskError : std::runtime_error { using namespace std; -//Bool_t bMcbm2018MonitorTaskT0ResetHistos = kFALSE; +//Bool_t bMcbm2018MonitorTaskBmonResetHistos = kFALSE; CbmDeviceMcbmEventBuilderWin::CbmDeviceMcbmEventBuilderWin() { fpAlgo = new CbmMcbm2019TimeWinEventBuilderAlgo(); } @@ -273,7 +273,7 @@ try { /* clang-format on */ /// Create input vectors - fvDigiT0 = new std::vector<CbmTofDigi>(); + fvDigiBmon = new std::vector<CbmTofDigi>(); fvDigiSts = new std::vector<CbmStsDigi>(); fvDigiMuch = new std::vector<CbmMuchBeamTimeDigi>(); fvDigiTrd = new std::vector<CbmTrdDigi>(); @@ -290,7 +290,7 @@ try { if (NULL == fTimeSliceMetaDataArray) { throw InitTaskError("Failed creating the TS meta data TClonesarray "); } ioman->Register("TimesliceMetaData", "TS Meta Data", fTimeSliceMetaDataArray, kFALSE); /// Digis storage - ioman->RegisterAny("T0Digi", fvDigiT0, kFALSE); + ioman->RegisterAny("BmonDigi", fvDigiBmon, kFALSE); ioman->RegisterAny("StsDigi", fvDigiSts, kFALSE); ioman->RegisterAny("MuchBeamTimeDigi", fvDigiMuch, kFALSE); ioman->RegisterAny("TrdDigi", fvDigiTrd, kFALSE); @@ -493,10 +493,10 @@ bool CbmDeviceMcbmEventBuilderWin::HandleData(FairMQParts& parts, int /*index*/) ++uPartIdx; /// BMON - std::string msgStrT0(static_cast<char*>(parts.At(uPartIdx)->GetData()), (parts.At(uPartIdx))->GetSize()); - std::istringstream issT0(msgStrT0); - boost::archive::binary_iarchive inputArchiveT0(issT0); - inputArchiveT0 >> *fvDigiT0; + std::string msgStrBmon(static_cast<char*>(parts.At(uPartIdx)->GetData()), (parts.At(uPartIdx))->GetSize()); + std::istringstream issBmon(msgStrBmon); + boost::archive::binary_iarchive inputArchiveBmon(issBmon); + inputArchiveBmon >> *fvDigiBmon; ++uPartIdx; /// STS @@ -552,7 +552,7 @@ bool CbmDeviceMcbmEventBuilderWin::HandleData(FairMQParts& parts, int /*index*/) // delete fTsMetaData; /// Clear vectors - fvDigiT0->clear(); + fvDigiBmon->clear(); fvDigiSts->clear(); fvDigiMuch->clear(); fvDigiTrd->clear(); @@ -660,7 +660,7 @@ CbmDeviceMcbmEventBuilderWin::~CbmDeviceMcbmEventBuilderWin() delete fTsMetaData; /// Clear vectors - fvDigiT0->clear(); + fvDigiBmon->clear(); fvDigiSts->clear(); fvDigiMuch->clear(); fvDigiTrd->clear(); diff --git a/MQ/mcbm/CbmDeviceMcbmEventBuilderWin.h b/MQ/mcbm/CbmDeviceMcbmEventBuilderWin.h index b327a5663a65646d4a1b24c8e84a0ebf5eca914b..e3af2741ceaf76dde758ec71b1548369bde60cb2 100644 --- a/MQ/mcbm/CbmDeviceMcbmEventBuilderWin.h +++ b/MQ/mcbm/CbmDeviceMcbmEventBuilderWin.h @@ -59,7 +59,7 @@ private: /// User settings parameters /// Algo enum settings std::string fsEvtOverMode = "NoOverlap"; - std::string fsRefDet = "kT0"; + std::string fsRefDet = "kBmon"; std::vector<std::string> fvsAddDet = {}; std::vector<std::string> fvsDelDet = {}; std::vector<std::string> fvsSetTrigWin = {}; @@ -104,7 +104,7 @@ private: TClonesArray* fTimeSliceMetaDataArray = nullptr; //! TimesliceMetaData* fTsMetaData = nullptr; /// Digis storage - std::vector<CbmTofDigi>* fvDigiT0 = nullptr; + std::vector<CbmTofDigi>* fvDigiBmon = nullptr; std::vector<CbmStsDigi>* fvDigiSts = nullptr; std::vector<CbmMuchBeamTimeDigi>* fvDigiMuch = nullptr; std::vector<CbmTrdDigi>* fvDigiTrd = nullptr; diff --git a/MQ/mcbm/CbmDeviceMcbmEventSink.cxx b/MQ/mcbm/CbmDeviceMcbmEventSink.cxx index 0990e830f73999659a67ece4044ac246b1232baf..aa62abde5699aa1ed34e989f1418ff2d58d4551c 100644 --- a/MQ/mcbm/CbmDeviceMcbmEventSink.cxx +++ b/MQ/mcbm/CbmDeviceMcbmEventSink.cxx @@ -54,7 +54,7 @@ struct InitTaskError : std::runtime_error { using namespace std; -//Bool_t bMcbm2018MonitorTaskT0ResetHistos = kFALSE; +//Bool_t bMcbm2018MonitorTaskBmonResetHistos = kFALSE; CbmDeviceMcbmEventSink::CbmDeviceMcbmEventSink() {} @@ -105,7 +105,7 @@ try { // InitContainers(); /// Create input vectors - fvDigiT0 = new std::vector<CbmTofDigi>(); + fvDigiBmon = new std::vector<CbmTofDigi>(); fvDigiSts = new std::vector<CbmStsDigi>(); fvDigiMuch = new std::vector<CbmMuchBeamTimeDigi>(); fvDigiTrd = new std::vector<CbmTrdDigi>(); @@ -151,7 +151,7 @@ try { /// TS MetaData fpFairRootMgr->Register("TimesliceMetaData", "TS Meta Data", fTimeSliceMetaDataArray, kTRUE); /// Digis storage - fpFairRootMgr->RegisterAny("T0Digi", fvDigiT0, kTRUE); + fpFairRootMgr->RegisterAny("BmonDigi", fvDigiBmon, kTRUE); fpFairRootMgr->RegisterAny("StsDigi", fvDigiSts, kTRUE); fpFairRootMgr->RegisterAny("MuchBeamTimeDigi", fvDigiMuch, kTRUE); fpFairRootMgr->RegisterAny("TrdDigi", fvDigiTrd, kTRUE); @@ -541,15 +541,15 @@ void CbmDeviceMcbmEventSink::PrepareTreeEntry(CbmUnpackedTimeslice unpTs) /* /// Explicit copy version: safe but slow - /// T0 - fvDigiT0->insert( fvDigiT0->end(), unpTs.fvDigiT0.begin(), unpTs.fvDigiT0.end() ); + /// Bmon + fvDigiBmon->insert( fvDigiBmon->end(), unpTs.fvDigiBmon.begin(), unpTs.fvDigiBmon.end() ); /// STS fvDigiSts->insert( fvDigiSts->end(), unpTs.fvDigiSts.begin(), unpTs.fvDigiSts.end() ); /// MUCH fvDigiMuch->insert( fvDigiMuch->end(), unpTs.fvDigiMuch.begin(), unpTs.fvDigiMuch.end() ); /// TRD fvDigiTrd->insert( fvDigiTrd->end(), unpTs.fvDigiTrd.begin(), unpTs.fvDigiTrd.end() ); - /// T0F + /// BmonF fvDigiTof->insert( fvDigiTof->end(), unpTs.fvDigiTof.begin(), unpTs.fvDigiTof.end() ); /// RICH fvDigiRich->insert( fvDigiRich->end(), unpTs.fvDigiRich.begin(), unpTs.fvDigiRich.end() ); @@ -557,15 +557,15 @@ void CbmDeviceMcbmEventSink::PrepareTreeEntry(CbmUnpackedTimeslice unpTs) fvDigiPsd->insert( fvDigiPsd->end(), unpTs.fvDigiPsd.begin(), unpTs.fvDigiPsd.end() ); */ /// move version: safe but slow - /// T0 - (*fvDigiT0) = std::move(unpTs.fvDigiT0); + /// Bmon + (*fvDigiBmon) = std::move(unpTs.fvDigiBmon); /// STS (*fvDigiSts) = std::move(unpTs.fvDigiSts); /// MUCH (*fvDigiMuch) = std::move(unpTs.fvDigiMuch); /// TRD (*fvDigiTrd) = std::move(unpTs.fvDigiTrd); - /// T0F + /// BmonF (*fvDigiTof) = std::move(unpTs.fvDigiTof); /// RICH (*fvDigiRich) = std::move(unpTs.fvDigiRich); @@ -597,7 +597,7 @@ void CbmDeviceMcbmEventSink::DumpTreeEntry() fTimeSliceMetaDataArray->Clear(); /// Clear vectors - fvDigiT0->clear(); + fvDigiBmon->clear(); fvDigiSts->clear(); fvDigiMuch->clear(); fvDigiTrd->clear(); @@ -645,7 +645,7 @@ CbmDeviceMcbmEventSink::~CbmDeviceMcbmEventSink() delete fTsMetaData; /// Clear vectors - fvDigiT0->clear(); + fvDigiBmon->clear(); fvDigiSts->clear(); fvDigiMuch->clear(); fvDigiTrd->clear(); @@ -703,11 +703,11 @@ CbmUnpackedTimeslice::CbmUnpackedTimeslice(FairMQParts& parts) : fEventsArray("C fTsMetaData = *(static_cast<TimesliceMetaData*>(tempObjectMeta)); } // if( TString( tempObject->ClassName() ).EqualTo( "TClonesArray") ) - /// T0 - std::string msgStrT0(static_cast<char*>(parts.At(uPartIdx)->GetData()), (parts.At(uPartIdx))->GetSize()); - std::istringstream issT0(msgStrT0); - boost::archive::binary_iarchive inputArchiveT0(issT0); - inputArchiveT0 >> fvDigiT0; + /// Bmon + std::string msgStrBmon(static_cast<char*>(parts.At(uPartIdx)->GetData()), (parts.At(uPartIdx))->GetSize()); + std::istringstream issBmon(msgStrBmon); + boost::archive::binary_iarchive inputArchiveBmon(issBmon); + inputArchiveBmon >> fvDigiBmon; ++uPartIdx; /// STS @@ -731,7 +731,7 @@ CbmUnpackedTimeslice::CbmUnpackedTimeslice(FairMQParts& parts) : fEventsArray("C inputArchiveTrd >> fvDigiTrd; ++uPartIdx; - /// T0F + /// BmonF std::string msgStrTof(static_cast<char*>(parts.At(uPartIdx)->GetData()), (parts.At(uPartIdx))->GetSize()); std::istringstream issTof(msgStrTof); boost::archive::binary_iarchive inputArchiveTof(issTof); @@ -767,7 +767,7 @@ CbmUnpackedTimeslice::CbmUnpackedTimeslice(FairMQParts& parts) : fEventsArray("C CbmUnpackedTimeslice::~CbmUnpackedTimeslice() { - fvDigiT0.clear(); + fvDigiBmon.clear(); fvDigiSts.clear(); fvDigiMuch.clear(); fvDigiTrd.clear(); diff --git a/MQ/mcbm/CbmDeviceMcbmEventSink.h b/MQ/mcbm/CbmDeviceMcbmEventSink.h index c3a85c6bfdc572af4418f4544c6dcdb4bfdb54bd..cdac88dc83fe227942cffdc40e2d45f89420536c 100644 --- a/MQ/mcbm/CbmDeviceMcbmEventSink.h +++ b/MQ/mcbm/CbmDeviceMcbmEventSink.h @@ -51,7 +51,7 @@ public: ~CbmUnpackedTimeslice(); TimesliceMetaData fTsMetaData; - std::vector<CbmTofDigi> fvDigiT0; + std::vector<CbmTofDigi> fvDigiBmon; std::vector<CbmStsDigi> fvDigiSts; std::vector<CbmMuchBeamTimeDigi> fvDigiMuch; std::vector<CbmTrdDigi> fvDigiTrd; @@ -120,7 +120,7 @@ private: TClonesArray* fTimeSliceMetaDataArray = nullptr; //! TimesliceMetaData* fTsMetaData = nullptr; /// Digis storage - std::vector<CbmTofDigi>* fvDigiT0 = nullptr; + std::vector<CbmTofDigi>* fvDigiBmon = nullptr; std::vector<CbmStsDigi>* fvDigiSts = nullptr; std::vector<CbmMuchBeamTimeDigi>* fvDigiMuch = nullptr; std::vector<CbmTrdDigi>* fvDigiTrd = nullptr; diff --git a/MQ/mcbm/CbmDeviceMcbmMonitorPulser.cxx b/MQ/mcbm/CbmDeviceMcbmMonitorPulser.cxx index 73c6717344ff6f158fdb1ce5bc67f627a5cf0feb..6b3eb7b0f873678fde1fda83bb30926a5c9f3bbf 100644 --- a/MQ/mcbm/CbmDeviceMcbmMonitorPulser.cxx +++ b/MQ/mcbm/CbmDeviceMcbmMonitorPulser.cxx @@ -272,10 +272,10 @@ bool CbmDeviceMcbmMonitorPulser::HandleData(FairMQParts& parts, int /*index*/) RootSerializer().Deserialize(*parts.At(uPartIdx), fTsMetaData); ++uPartIdx; - std::string msgStrT0(static_cast<char*>(parts.At(uPartIdx)->GetData()), (parts.At(uPartIdx))->GetSize()); - std::istringstream issT0(msgStrT0); - boost::archive::binary_iarchive inputArchiveT0(issT0); - inputArchiveT0 >> fvDigiT0; + std::string msgStrBmon(static_cast<char*>(parts.At(uPartIdx)->GetData()), (parts.At(uPartIdx))->GetSize()); + std::istringstream issBmon(msgStrBmon); + boost::archive::binary_iarchive inputArchiveBmon(issBmon); + inputArchiveBmon >> fvDigiBmon; ++uPartIdx; std::string msgStrSts(static_cast<char*>(parts.At(uPartIdx)->GetData()), (parts.At(uPartIdx))->GetSize()); @@ -318,7 +318,7 @@ bool CbmDeviceMcbmMonitorPulser::HandleData(FairMQParts& parts, int /*index*/) /// Clear vectors delete fTsMetaData; - fvDigiT0.clear(); + fvDigiBmon.clear(); fvDigiSts.clear(); fvDigiMuch.clear(); fvDigiTrd.clear(); diff --git a/MQ/mcbm/CbmDeviceMcbmMonitorPulser.h b/MQ/mcbm/CbmDeviceMcbmMonitorPulser.h index 58fc61d6ba37eb214590ff77f24fa5b766b8abe3..181b3185f5f2f04790d33aa3d914629b42804ee3 100644 --- a/MQ/mcbm/CbmDeviceMcbmMonitorPulser.h +++ b/MQ/mcbm/CbmDeviceMcbmMonitorPulser.h @@ -91,7 +91,7 @@ private: /// TS MetaData storage TimesliceMetaData* fTsMetaData = nullptr; /// Digis storage - std::vector<CbmTofDigi> fvDigiT0 = {}; + std::vector<CbmTofDigi> fvDigiBmon = {}; std::vector<CbmStsDigi> fvDigiSts = {}; std::vector<CbmMuchBeamTimeDigi> fvDigiMuch = {}; std::vector<CbmTrdDigi> fvDigiTrd = {}; @@ -128,7 +128,7 @@ private: void CreateHistos(); /// Variables to store the previous digi time - Double_t fPrevTimeT0 = 0.; + Double_t fPrevTimeBmon = 0.; Double_t fPrevTimeSts = 0.; Double_t fPrevTimeMuch = 0.; Double_t fPrevTimeTrd = 0.; @@ -136,19 +136,19 @@ private: Double_t fPrevTimeRich = 0.; Double_t fPrevTimePsd = 0.; - /// Variables to store the first digi fitting the previous T0 hits + /// Variables to store the first digi fitting the previous Bmon hits /// => Time-order means the time window for following one can only be in a later digi - Int_t fPrevT0FirstDigiSts = 0; - Int_t fPrevT0FirstDigiMuch = 0; - Int_t fPrevT0FirstDigiTrd = 0; - Int_t fPrevT0FirstDigiTof = 0; - Int_t fPrevT0FirstDigiRich = 0; - Int_t fPrevT0FirstDigiPsd = 0; + Int_t fPrevBmonFirstDigiSts = 0; + Int_t fPrevBmonFirstDigiMuch = 0; + Int_t fPrevBmonFirstDigiTrd = 0; + Int_t fPrevBmonFirstDigiTof = 0; + Int_t fPrevBmonFirstDigiRich = 0; + Int_t fPrevBmonFirstDigiPsd = 0; /// User settings: Data correction parameters /// Charge cut - UInt_t fuMinTotPulserT0 = 182; - UInt_t fuMaxTotPulserT0 = 190; + UInt_t fuMinTotPulserBmon = 182; + UInt_t fuMaxTotPulserBmon = 190; UInt_t fuMinAdcPulserSts = 90; UInt_t fuMaxAdcPulserSts = 100; UInt_t fuMinAdcPulserMuch = 5; @@ -184,37 +184,37 @@ private: Int_t fBinWidth = 1; - TH1* fT0StsDiff = nullptr; - TH1* fT0MuchDiff = nullptr; - TH1* fT0TrdDiff = nullptr; - TH1* fT0TofDiff = nullptr; - TH1* fT0RichDiff = nullptr; - TH1* fT0PsdDiff = nullptr; - TH2* fT0PsdDiffCharge = nullptr; - - TH2* fT0StsDiffEvo = nullptr; - TH2* fT0MuchDiffEvo = nullptr; - TH2* fT0TrdDiffEvo = nullptr; - TH2* fT0TofDiffEvo = nullptr; - TH2* fT0RichDiffEvo = nullptr; - TH2* fT0PsdDiffEvo = nullptr; - - TH2* fT0StsDiffEvoLong = nullptr; - TH2* fT0MuchDiffEvoLong = nullptr; - TH2* fT0TrdDiffEvoLong = nullptr; - TH2* fT0TofDiffEvoLong = nullptr; - TH2* fT0RichDiffEvoLong = nullptr; - TH2* fT0PsdDiffEvoLong = nullptr; + TH1* fBmonStsDiff = nullptr; + TH1* fBmonMuchDiff = nullptr; + TH1* fBmonTrdDiff = nullptr; + TH1* fBmonTofDiff = nullptr; + TH1* fBmonRichDiff = nullptr; + TH1* fBmonPsdDiff = nullptr; + TH2* fBmonPsdDiffCharge = nullptr; + + TH2* fBmonStsDiffEvo = nullptr; + TH2* fBmonMuchDiffEvo = nullptr; + TH2* fBmonTrdDiffEvo = nullptr; + TH2* fBmonTofDiffEvo = nullptr; + TH2* fBmonRichDiffEvo = nullptr; + TH2* fBmonPsdDiffEvo = nullptr; + + TH2* fBmonStsDiffEvoLong = nullptr; + TH2* fBmonMuchDiffEvoLong = nullptr; + TH2* fBmonTrdDiffEvoLong = nullptr; + TH2* fBmonTofDiffEvoLong = nullptr; + TH2* fBmonRichDiffEvoLong = nullptr; + TH2* fBmonPsdDiffEvoLong = nullptr; Double_t fdStartTime = -1; - TProfile* fT0StsMeanEvo = nullptr; - TProfile* fT0MuchMeanEvo = nullptr; - TProfile* fT0TrdMeanEvo = nullptr; - TProfile* fT0TofMeanEvo = nullptr; - TProfile* fT0RichMeanEvo = nullptr; - TProfile* fT0PsdMeanEvo = nullptr; - - TH1* fT0T0Diff = nullptr; + TProfile* fBmonStsMeanEvo = nullptr; + TProfile* fBmonMuchMeanEvo = nullptr; + TProfile* fBmonTrdMeanEvo = nullptr; + TProfile* fBmonTofMeanEvo = nullptr; + TProfile* fBmonRichMeanEvo = nullptr; + TProfile* fBmonPsdMeanEvo = nullptr; + + TH1* fBmonBmonDiff = nullptr; TH1* fStsStsDiff = nullptr; TH1* fMuchMuchDiff = nullptr; TH1* fTrdTrdDiff = nullptr; @@ -222,14 +222,14 @@ private: TH1* fRichRichDiff = nullptr; TH1* fPsdPsdDiff = nullptr; - TH2* fT0StsNb = nullptr; - TH2* fT0MuchNb = nullptr; - TH2* fT0TrdNb = nullptr; - TH2* fT0TofNb = nullptr; - TH2* fT0RichNb = nullptr; - TH2* fT0PsdNb = nullptr; + TH2* fBmonStsNb = nullptr; + TH2* fBmonMuchNb = nullptr; + TH2* fBmonTrdNb = nullptr; + TH2* fBmonTofNb = nullptr; + TH2* fBmonRichNb = nullptr; + TH2* fBmonPsdNb = nullptr; - Int_t fiT0Nb = 0; + Int_t fiBmonNb = 0; Int_t fiStsNb = 0; Int_t fiMuchNb = 0; Int_t fiTrdNb = 0; @@ -237,25 +237,25 @@ private: Int_t fiRichNb = 0; Int_t fiPsdNb = 0; - TH1* fT0Address = nullptr; - TH1* fT0Channel = nullptr; + TH1* fBmonAddress = nullptr; + TH1* fBmonChannel = nullptr; - TH2* fT0StsDpbDiff = nullptr; - TH2* fT0StsDpbDiffEvo[kuMaxNbStsDpbs]; + TH2* fBmonStsDpbDiff = nullptr; + TH2* fBmonStsDpbDiffEvo[kuMaxNbStsDpbs]; TH1* fStsDpbCntsEvo[kuMaxNbStsDpbs]; - TH2* fT0MuchRocDiff = nullptr; - TH2* fT0MuchAsicDiff = nullptr; - TH2* fT0MuchAsicDiffEvo[kuMaxNbMuchAsics]; + TH2* fBmonMuchRocDiff = nullptr; + TH2* fBmonMuchAsicDiff = nullptr; + TH2* fBmonMuchAsicDiffEvo[kuMaxNbMuchAsics]; TH2* fDigisPerAsicEvo = nullptr; Double_t fdLastMuchDigi[kuMaxNbMuchAsics][kuNbChanSMX]; Double_t fdLastMuchDigiPulser[kuMaxNbMuchAsics][kuNbChanSMX]; TH2* fSameChanDigisDistEvo = nullptr; - Double_t fdLastT0DigiPulser = 0; + Double_t fdLastBmonDigiPulser = 0; - TH2* fDigiTimeEvoT0 = nullptr; + TH2* fDigiTimeEvoBmon = nullptr; TH2* fDigiTimeEvoSts = nullptr; TH2* fDigiTimeEvoMuch = nullptr; TH2* fDigiTimeEvoTof = nullptr; diff --git a/MQ/mcbm/CbmDeviceMcbmUnpack.cxx b/MQ/mcbm/CbmDeviceMcbmUnpack.cxx index fc7dc71f27cf066ab938fbc0958a241c9afaf9b2..219e3bc9ba6614bc98cb313a3e3d027a325d56cd 100644 --- a/MQ/mcbm/CbmDeviceMcbmUnpack.cxx +++ b/MQ/mcbm/CbmDeviceMcbmUnpack.cxx @@ -49,7 +49,7 @@ struct InitTaskError : std::runtime_error { using namespace std; -Bool_t bMcbm2018MonitorTaskT0ResetHistos = kFALSE; +Bool_t bMcbm2018MonitorTaskBmonResetHistos = kFALSE; CbmDeviceMcbmUnpack::CbmDeviceMcbmUnpack() { @@ -69,7 +69,7 @@ try { fvsSetTimeOffs = fConfig->GetValue<std::vector<std::string>>("SetTrigWin"); fsChannelNameDataInput = fConfig->GetValue<std::string>("TsNameIn"); fsChannelNameDataOutput = fConfig->GetValue<std::string>("TsNameOut"); - /// TODO: option to set fuDigiMaskedIdT0 !!!! + /// TODO: option to set fuDigiMaskedIdBmon !!!! fsAllowedChannels[0] = fsChannelNameDataInput; // Get the information about created channels from the device @@ -323,20 +323,20 @@ bool CbmDeviceMcbmUnpack::SendUnpData() oaTrd << fUnpAlgoTrd->GetVector(); std::string* strMsgTrd = new std::string(ossTrd.str()); - /// Split TOF vector in TOF and T0 - std::vector<CbmTofDigi>& vDigiTofT0 = fUnpAlgoTof->GetVector(); + /// Split TOF vector in TOF and Bmon + std::vector<CbmTofDigi>& vDigiTofBmon = fUnpAlgoTof->GetVector(); std::vector<CbmTofDigi> vDigiTof = {}; - std::vector<CbmTofDigi> vDigiT0 = {}; + std::vector<CbmTofDigi> vDigiBmon = {}; - for (auto digi : vDigiTofT0) { - if (fuDigiMaskedIdT0 == (digi.GetAddress() & fuDigiMaskId)) { - /// Insert data in T0 output container - vDigiT0.emplace_back(digi); - } // if( fuDigiMaskedIdT0 == ( digi.GetAddress() & fuDigiMaskId ) ) + for (auto digi : vDigiTofBmon) { + if (fuDigiMaskedIdBmon == (digi.GetAddress() & fuDigiMaskId)) { + /// Insert data in Bmon output container + vDigiBmon.emplace_back(digi); + } // if( fuDigiMaskedIdBmon == ( digi.GetAddress() & fuDigiMaskId ) ) else { /// Insert data in TOF output container vDigiTof.emplace_back(digi); - } // else of if( fuDigiMaskedIdT0 == ( digi.GetAddress() & fuDigiMaskId ) ) + } // else of if( fuDigiMaskedIdBmon == ( digi.GetAddress() & fuDigiMaskId ) ) } // for( auto digi: vDigi ) std::stringstream ossTof; @@ -344,10 +344,10 @@ bool CbmDeviceMcbmUnpack::SendUnpData() oaTof << vDigiTof; std::string* strMsgTof = new std::string(ossTof.str()); - std::stringstream ossT0; - boost::archive::binary_oarchive oaT0(ossT0); - oaT0 << vDigiT0; - std::string* strMsgT0 = new std::string(ossT0.str()); + std::stringstream ossBmon; + boost::archive::binary_oarchive oaBmon(ossBmon); + oaBmon << vDigiBmon; + std::string* strMsgBmon = new std::string(ossBmon.str()); std::stringstream ossRich; boost::archive::binary_oarchive oaRich(ossRich); @@ -372,10 +372,10 @@ bool CbmDeviceMcbmUnpack::SendUnpData() */ parts.AddPart(NewMessage( - const_cast<char*>(strMsgT0->c_str()), // data - strMsgT0->length(), // size + const_cast<char*>(strMsgBmon->c_str()), // data + strMsgBmon->length(), // size [](void*, void* object) { delete static_cast<std::string*>(object); }, - strMsgT0)); // object that manages the data + strMsgBmon)); // object that manages the data parts.AddPart(NewMessage( const_cast<char*>(strMsgSts->c_str()), // data @@ -456,10 +456,10 @@ Bool_t CbmDeviceMcbmUnpack::DoUnpack(const fles::Timeslice& ts, size_t /*compone fUnpAlgoTof->AddMsComponentToList(uCompIdx, kusSysIdTof); break; } // case kusSysIdTof - case kusSysIdT0: { - fUnpAlgoTof->AddMsComponentToList(uCompIdx, kusSysIdT0); + case kusSysIdBmon: { + fUnpAlgoTof->AddMsComponentToList(uCompIdx, kusSysIdBmon); break; - } // case kusSysIdT0 + } // case kusSysIdBmon case kusSysIdRich: { fUnpAlgoRich->AddMsComponentToList(uCompIdx, kusSysIdRich); break; diff --git a/MQ/mcbm/CbmDeviceMcbmUnpack.h b/MQ/mcbm/CbmDeviceMcbmUnpack.h index 55593b082bf7011c2e3b1376fdcb1697e126ad3c..0745a58040c0a4568524adc8dc4e5450fb1d04d4 100644 --- a/MQ/mcbm/CbmDeviceMcbmUnpack.h +++ b/MQ/mcbm/CbmDeviceMcbmUnpack.h @@ -49,7 +49,7 @@ private: static const uint16_t kusSysIdMuch = 0x50; static const uint16_t kusSysIdTrd = 0x40; static const uint16_t kusSysIdTof = 0x60; - static const uint16_t kusSysIdT0 = 0x90; + static const uint16_t kusSysIdBmon = 0x90; static const uint16_t kusSysIdRich = 0x30; static const uint16_t kusSysIdPsd = 0x80; @@ -61,7 +61,7 @@ private: std::string fsChannelNameDataInput = "fullts"; std::string fsChannelNameDataOutput = "unpts_0"; std::string fsChannelNameCommands = "commands"; - UInt_t fuDigiMaskedIdT0 = 0x00005006; + UInt_t fuDigiMaskedIdBmon = 0x00005006; UInt_t fuDigiMaskId = 0x0001FFFF; /// List of MQ channels names diff --git a/MQ/mcbm/CbmDeviceUnpack.cxx b/MQ/mcbm/CbmDeviceUnpack.cxx index 03a5bbe04c99de73633c9c88996800f4830e899e..7dde3a1d4bfa83737e8aeb49973e7c36d27b0147 100644 --- a/MQ/mcbm/CbmDeviceUnpack.cxx +++ b/MQ/mcbm/CbmDeviceUnpack.cxx @@ -53,7 +53,7 @@ struct InitTaskError : std::runtime_error { using namespace std; -//Bool_t bMcbm2018MonitorTaskT0ResetHistos = kFALSE; +//Bool_t bMcbm2018MonitorTaskBmonResetHistos = kFALSE; CbmDeviceUnpack::CbmDeviceUnpack() {} @@ -473,7 +473,7 @@ Bool_t CbmDeviceUnpack::InitContainers() if ("kBmon" == sSelDet && fBmonConfig) { // fBmonConfig->SetSystemTimeOffset(iOffset); - } // else if( "kT0" == sSelDet ) + } // else if( "kBmon" == sSelDet ) else if ("kSTS" == sSelDet && fStsConfig) { // fStsConfig->SetSystemTimeOffset(iOffset); } // if( "kSTS" == sSelDet && fStsConfig) @@ -829,7 +829,7 @@ bool CbmDeviceUnpack::SendUnpData() parts.AddPart(std::move(messTsHeader)); - // ---- T0 ---- + // ---- Bmon ---- std::stringstream ossBmon; boost::archive::binary_oarchive oaBmon(ossBmon); if (fBmonConfig) { // diff --git a/MQ/mcbm/runBuildDigiEvents.cxx b/MQ/mcbm/runBuildDigiEvents.cxx index 894a683054ea08613652e935431c7c646bc9704d..770e1484bb8648f792b23cdf546ede2dda8351ec 100644 --- a/MQ/mcbm/runBuildDigiEvents.cxx +++ b/MQ/mcbm/runBuildDigiEvents.cxx @@ -19,7 +19,7 @@ void addCustomOptions(bpo::options_description& options) options.add_options()("IgnTsOver", bpo::value<bool>()->default_value(false), "Ignore TS overlap if true"); options.add_options()("EvtOverMode", bpo::value<std::string>()->default_value("NoOverlap"), "Set the event overlap mode, use string matching an EOverlapMode "); - options.add_options()("RefDet", bpo::value<std::string>()->default_value("kT0"), + options.add_options()("RefDet", bpo::value<std::string>()->default_value("kBmon"), "Set the reference (seed) detector, use string matching an ECbmModuleId "); options.add_options()("AddDet", bpo::value<std::vector<std::string>>()->multitoken()->composing(), "Add a detector for digis selection, use string matching an ECbmModuleId "); diff --git a/MQ/mcbm/runBuildRawEvents.cxx b/MQ/mcbm/runBuildRawEvents.cxx index 99336862f42f4cc50cbd3459163607b1c33aa5c9..4857f2fd4e221db3604e1236abce9d6213768589 100644 --- a/MQ/mcbm/runBuildRawEvents.cxx +++ b/MQ/mcbm/runBuildRawEvents.cxx @@ -19,7 +19,7 @@ void addCustomOptions(bpo::options_description& options) options.add_options()("IgnTsOver", bpo::value<bool>()->default_value(false), "Ignore TS overlap if true"); options.add_options()("EvtOverMode", bpo::value<std::string>()->default_value("NoOverlap"), "Set the event overlap mode, use string matching an EOverlapMode "); - options.add_options()("RefDet", bpo::value<std::string>()->default_value("kT0"), + options.add_options()("RefDet", bpo::value<std::string>()->default_value("kBmon"), "Set the reference (seed) detector, use string matching an ECbmModuleId "); options.add_options()("AddDet", bpo::value<std::vector<std::string>>()->multitoken()->composing(), "Add a detector for digis selection, use string matching an ECbmModuleId "); diff --git a/MQ/mcbm/runMcbmEvtBuilderWin.cxx b/MQ/mcbm/runMcbmEvtBuilderWin.cxx index 7137fd9ed68d8465c73100742ace7b04a926bf66..1ab51c9600b29f37b5341cb27a038686a6d34b43 100644 --- a/MQ/mcbm/runMcbmEvtBuilderWin.cxx +++ b/MQ/mcbm/runMcbmEvtBuilderWin.cxx @@ -19,7 +19,7 @@ void addCustomOptions(bpo::options_description& options) options.add_options()("IgnTsOver", bpo::value<bool>()->default_value(false), "Ignore TS overlap if true"); options.add_options()("EvtOverMode", bpo::value<std::string>()->default_value("NoOverlap"), "Set the event overlap mode, use string matching an EOverlapMode "); - options.add_options()("RefDet", bpo::value<std::string>()->default_value("kT0"), + options.add_options()("RefDet", bpo::value<std::string>()->default_value("kBmon"), "Set the reference (seed) detector, use string matching an ECbmModuleId "); options.add_options()("AddDet", bpo::value<std::vector<std::string>>()->multitoken()->composing(), "Add a detector for digis selection, use string matching an ECbmModuleId "); diff --git a/MQ/monitor/CMakeLists.txt b/MQ/monitor/CMakeLists.txt index 2bffcb120a07dba9f97d69ddda39b5a87e9abebd..79302551cef0fffa646e7668c4b1b49f1be8f1bc 100644 --- a/MQ/monitor/CMakeLists.txt +++ b/MQ/monitor/CMakeLists.txt @@ -1,7 +1,7 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/startMQSamplerMonitor.sh.in ${CMAKE_BINARY_DIR}/bin/MQ/topologies/startMQSamplerMonitor.sh) -configure_file(${CMAKE_CURRENT_SOURCE_DIR}/startMQSamplerT0Monitor2020.sh.in ${CMAKE_BINARY_DIR}/bin/MQ/topologies/startMQSamplerT0Monitor2020.sh) +configure_file(${CMAKE_CURRENT_SOURCE_DIR}/startMQSamplerBmonMonitor2020.sh.in ${CMAKE_BINARY_DIR}/bin/MQ/topologies/startMQSamplerBmonMonitor2020.sh) configure_file(${CMAKE_CURRENT_SOURCE_DIR}/startMQSamplerTofMonitor2020.sh.in ${CMAKE_BINARY_DIR}/bin/MQ/topologies/startMQSamplerTofMonitor2020.sh) -configure_file(${CMAKE_CURRENT_SOURCE_DIR}/startMQSamplerT0Monitor2021.sh.in ${CMAKE_BINARY_DIR}/bin/MQ/topologies/startMQSamplerT0Monitor2021.sh) +configure_file(${CMAKE_CURRENT_SOURCE_DIR}/startMQSamplerBmonMonitor2021.sh.in ${CMAKE_BINARY_DIR}/bin/MQ/topologies/startMQSamplerBmonMonitor2021.sh) configure_file(${CMAKE_CURRENT_SOURCE_DIR}/startMQSamplerTofMonitor2021.sh.in ${CMAKE_BINARY_DIR}/bin/MQ/topologies/startMQSamplerTofMonitor2021.sh) configure_file(${CMAKE_CURRENT_SOURCE_DIR}/startMQSamplerPsdMonitor2021.sh.in ${CMAKE_BINARY_DIR}/bin/MQ/topologies/startMQSamplerPsdMonitor2021.sh) @@ -44,8 +44,8 @@ set(INTERFACE_DEPS -set(EXE_NAME T0MonitorMcbm2018) -set(SRCS CbmDeviceMonitorT0.cxx runMonitorT0.cxx) +set(EXE_NAME BmonMonitorMcbm2018) +set(SRCS CbmDeviceMonitorBmon.cxx runMonitorBmon.cxx) set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPS}) @@ -62,8 +62,8 @@ set(INTERFACE_DEPENDENCIES ${INTERFACE_DEPS}) generate_cbm_executable() -set(EXE_NAME T0MonitorReqMcbm) -set(SRCS CbmDeviceMonitorReqT0.cxx runMonitorReqT0.cxx) +set(EXE_NAME BmonMonitorReqMcbm) +set(SRCS CbmDeviceMonitorReqBmon.cxx runMonitorReqBmon.cxx) set(PUBLIC_DEPENDENCIES ${PUBLIC_DEPS}) set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPS}) @@ -107,16 +107,16 @@ set(CMAKE_BINARY_DIR ${CMAKE_INSTALL_PREFIX}) # Configure file for installation directory configure_file(${MY_SOURCE_DIR}/startMQSamplerMonitor.sh.in ${TMPDIR}/bin/MQ/topologies/install/startMQSamplerMonitor.sh) -configure_file(${MY_SOURCE_DIR}/startMQSamplerT0Monitor2020.sh.in ${TMPDIR}/bin/MQ/topologies/install/startMQSamplerT0Monitor2020.sh) +configure_file(${MY_SOURCE_DIR}/startMQSamplerBmonMonitor2020.sh.in ${TMPDIR}/bin/MQ/topologies/install/startMQSamplerBmonMonitor2020.sh) configure_file(${MY_SOURCE_DIR}/startMQSamplerTofMonitor2020.sh.in ${TMPDIR}/bin/MQ/topologies/install/startMQSamplerTofMonitor2020.sh) -configure_file(${MY_SOURCE_DIR}/startMQSamplerT0Monitor2021.sh.in ${TMPDIR}/bin/MQ/topologies/install/startMQSamplerT0Monitor2021.sh) +configure_file(${MY_SOURCE_DIR}/startMQSamplerBmonMonitor2021.sh.in ${TMPDIR}/bin/MQ/topologies/install/startMQSamplerBmonMonitor2021.sh) configure_file(${MY_SOURCE_DIR}/startMQSamplerTofMonitor2021.sh.in ${TMPDIR}/bin/MQ/topologies/install/startMQSamplerTofMonitor2021.sh) configure_file(${MY_SOURCE_DIR}/startMQSamplerPsdMonitor2021.sh.in ${TMPDIR}/bin/MQ/topologies/install/startMQSamplerPsdMonitor2021.sh) install(PROGRAMS ${TMPDIR}/bin/MQ/topologies/install/startMQSamplerMonitor.sh - ${TMPDIR}/bin/MQ/topologies/install/startMQSamplerT0Monitor2020.sh + ${TMPDIR}/bin/MQ/topologies/install/startMQSamplerBmonMonitor2020.sh ${TMPDIR}/bin/MQ/topologies/install/startMQSamplerTofMonitor2020.sh - ${TMPDIR}/bin/MQ/topologies/install/startMQSamplerT0Monitor2021.sh + ${TMPDIR}/bin/MQ/topologies/install/startMQSamplerBmonMonitor2021.sh ${TMPDIR}/bin/MQ/topologies/install/startMQSamplerTofMonitor2021.sh ${TMPDIR}/bin/MQ/topologies/install/startMQSamplerPsdMonitor2021.sh DESTINATION ${CMAKE_INSTALL_PREFIX}/bin/MQ/topologies diff --git a/MQ/monitor/CbmDeviceMonitorT0.cxx b/MQ/monitor/CbmDeviceMonitorBmon.cxx similarity index 94% rename from MQ/monitor/CbmDeviceMonitorT0.cxx rename to MQ/monitor/CbmDeviceMonitorBmon.cxx index 62f1241b90125e1887aca4e5a9ffb80e10b3f1fb..f87f44169a01f20d69063604ccac3a55e69aa39d 100644 --- a/MQ/monitor/CbmDeviceMonitorT0.cxx +++ b/MQ/monitor/CbmDeviceMonitorBmon.cxx @@ -3,16 +3,16 @@ Authors: Pierre-Alain Loizeau, Florian Uhlig [committer] */ /** - * CbmDeviceMonitorT0.cxx + * CbmDeviceMonitorBmon.cxx * * @since 2019-03-26 * @author F. Uhlig */ -#include "CbmDeviceMonitorT0.h" +#include "CbmDeviceMonitorBmon.h" #include "CbmFlesCanvasTools.h" -#include "CbmMcbm2018MonitorAlgoT0.h" +#include "CbmMcbm2018MonitorAlgoBmon.h" #include "StorableTimeslice.hpp" @@ -43,7 +43,7 @@ struct InitTaskError : std::runtime_error { using namespace std; -CbmDeviceMonitorT0::CbmDeviceMonitorT0() +CbmDeviceMonitorBmon::CbmDeviceMonitorBmon() : fbIgnoreOverlapMs {false} , fsChannelNameDataInput {"t0component"} , fsChannelNameHistosInput {"histogram-in"} @@ -62,14 +62,14 @@ CbmDeviceMonitorT0::CbmDeviceMonitorT0() , fulNumMessages {0} , fulTsCounter {0} , fLastPublishTime {std::chrono::system_clock::now()} - , fMonitorAlgo {new CbmMcbm2018MonitorAlgoT0()} + , fMonitorAlgo {new CbmMcbm2018MonitorAlgoBmon()} , fArrayHisto {} , fvpsHistosFolder {} , fvpsCanvasConfig {} { } -void CbmDeviceMonitorT0::InitTask() +void CbmDeviceMonitorBmon::InitTask() try { /// Read options from executable LOG(info) << "Init options for CbmMqStarHistoServer."; @@ -125,7 +125,7 @@ try { LOG(info) << "Channel name: " << entry.first; if (std::string::npos != entry.first.find(fsChannelNameDataInput)) { if (!IsChannelNameAllowed(entry.first)) throw InitTaskError("Channel name does not match."); - OnData(entry.first, &CbmDeviceMonitorT0::HandleData); + OnData(entry.first, &CbmDeviceMonitorBmon::HandleData); } // if( entry.first.find( "ts" ) } // for( auto const &entry : fChannels ) } @@ -134,7 +134,7 @@ catch (InitTaskError& e) { ChangeState(fair::mq::Transition::ErrorFound); } -bool CbmDeviceMonitorT0::IsChannelNameAllowed(std::string channelName) +bool CbmDeviceMonitorBmon::IsChannelNameAllowed(std::string channelName) { for (auto const& entry : fsAllowedChannels) { std::size_t pos1 = channelName.find(entry); @@ -152,9 +152,9 @@ bool CbmDeviceMonitorT0::IsChannelNameAllowed(std::string channelName) return false; } -bool CbmDeviceMonitorT0::InitContainers() +bool CbmDeviceMonitorBmon::InitContainers() { - LOG(info) << "Init parameter containers for CbmDeviceMonitorT0."; + LOG(info) << "Init parameter containers for CbmDeviceMonitorBmon."; fParCList = fMonitorAlgo->GetParList(); @@ -209,7 +209,7 @@ bool CbmDeviceMonitorT0::InitContainers() return initOK; } -bool CbmDeviceMonitorT0::InitHistograms() +bool CbmDeviceMonitorBmon::InitHistograms() { /// Histos creation and obtain pointer on them /// Trigger histo creation on all associated algos @@ -256,7 +256,7 @@ bool CbmDeviceMonitorT0::InitHistograms() // handler is called whenever a message arrives on "data", with a reference to the message and a sub-channel index (here 0) -bool CbmDeviceMonitorT0::HandleData(FairMQMessagePtr& msg, int /*index*/) +bool CbmDeviceMonitorBmon::HandleData(FairMQMessagePtr& msg, int /*index*/) { if (0 == fulNumMessages) { @@ -307,7 +307,7 @@ bool CbmDeviceMonitorT0::HandleData(FairMQMessagePtr& msg, int /*index*/) return true; } -bool CbmDeviceMonitorT0::SendHistoConfAndData() +bool CbmDeviceMonitorBmon::SendHistoConfAndData() { /// Prepare multiparts message and header std::pair<uint32_t, uint32_t> pairHeader(fvpsHistosFolder.size(), fvpsCanvasConfig.size()); @@ -345,7 +345,7 @@ bool CbmDeviceMonitorT0::SendHistoConfAndData() /// Send the multi-parts message to the common histogram messages queue if (Send(partsOut, fsChannelNameHistosInput) < 0) { - LOG(error) << "CbmDeviceMonitorT0::SendHistoConfAndData => Problem sending data"; + LOG(error) << "CbmDeviceMonitorBmon::SendHistoConfAndData => Problem sending data"; return false; } // if( Send( partsOut, fsChannelNameHistosInput ) < 0 ) @@ -355,7 +355,7 @@ bool CbmDeviceMonitorT0::SendHistoConfAndData() return true; } -bool CbmDeviceMonitorT0::SendHistograms() +bool CbmDeviceMonitorBmon::SendHistograms() { /// Serialize the array of histos into a single MQ message FairMQMessagePtr message(NewMessage()); @@ -375,10 +375,10 @@ bool CbmDeviceMonitorT0::SendHistograms() } -CbmDeviceMonitorT0::~CbmDeviceMonitorT0() {} +CbmDeviceMonitorBmon::~CbmDeviceMonitorBmon() {} -Bool_t CbmDeviceMonitorT0::DoUnpack(const fles::Timeslice& ts, size_t /*component*/) +Bool_t CbmDeviceMonitorBmon::DoUnpack(const fles::Timeslice& ts, size_t /*component*/) { fulTsCounter++; @@ -404,4 +404,4 @@ Bool_t CbmDeviceMonitorT0::DoUnpack(const fles::Timeslice& ts, size_t /*componen return kTRUE; } -void CbmDeviceMonitorT0::Finish() {} +void CbmDeviceMonitorBmon::Finish() {} diff --git a/MQ/monitor/CbmDeviceMonitorT0.h b/MQ/monitor/CbmDeviceMonitorBmon.h similarity index 88% rename from MQ/monitor/CbmDeviceMonitorT0.h rename to MQ/monitor/CbmDeviceMonitorBmon.h index aa9537d4070f0b9adfa2a7dee967d5fcad1a5f58..70e23122e0a650f201c741ff58d376b2102270d0 100644 --- a/MQ/monitor/CbmDeviceMonitorT0.h +++ b/MQ/monitor/CbmDeviceMonitorBmon.h @@ -3,14 +3,14 @@ Authors: Pierre-Alain Loizeau, Florian Uhlig [committer] */ /** - * CbmDeviceMonitorT0.h + * CbmDeviceMonitorBmon.h * * @since 2019-03-26 * @author F. Uhlig */ -#ifndef CBMDEVICEMONITORT0_H_ -#define CBMDEVICEMONITORT0_H_ +#ifndef CBMDEVICEMONITORBmon_H_ +#define CBMDEVICEMONITORBmon_H_ #include "CbmMqTMessage.h" @@ -26,12 +26,12 @@ #include <vector> class TList; -class CbmMcbm2018MonitorAlgoT0; +class CbmMcbm2018MonitorAlgoBmon; -class CbmDeviceMonitorT0 : public FairMQDevice { +class CbmDeviceMonitorBmon : public FairMQDevice { public: - CbmDeviceMonitorT0(); - virtual ~CbmDeviceMonitorT0(); + CbmDeviceMonitorBmon(); + virtual ~CbmDeviceMonitorBmon(); protected: virtual void InitTask(); @@ -71,7 +71,7 @@ private: std::chrono::system_clock::time_point fLastPublishTime; /// Processing algo - CbmMcbm2018MonitorAlgoT0* fMonitorAlgo; + CbmMcbm2018MonitorAlgoBmon* fMonitorAlgo; /// Array of histograms to send to the histogram server TObjArray fArrayHisto; @@ -93,4 +93,4 @@ private: bool SendHistograms(); }; -#endif /* CBMDEVICEMONITORT0_H_ */ +#endif /* CBMDEVICEMONITORBmon_H_ */ diff --git a/MQ/monitor/CbmDeviceMonitorPsd.cxx b/MQ/monitor/CbmDeviceMonitorPsd.cxx index 04ac3d4ca1d4c0b0b2da34b0f41e12c85df15b61..9748da2d16fa36768c893a0b5d515583658d270c 100644 --- a/MQ/monitor/CbmDeviceMonitorPsd.cxx +++ b/MQ/monitor/CbmDeviceMonitorPsd.cxx @@ -7,7 +7,7 @@ * * @since 2021-02-17 * @author N. Karpushkin - * @comment based on CbmDeviceMonitorT0 by F. Uhlig + * @comment based on CbmDeviceMonitorBmon by F. Uhlig */ #include "CbmDeviceMonitorPsd.h" diff --git a/MQ/monitor/CbmDeviceMonitorPsd.h b/MQ/monitor/CbmDeviceMonitorPsd.h index 8ebbdf0c8ecd14f4003b4a896d396002a80f1a8b..dc9e8413cab7897ac3aed378962882692ed1ac4a 100644 --- a/MQ/monitor/CbmDeviceMonitorPsd.h +++ b/MQ/monitor/CbmDeviceMonitorPsd.h @@ -7,7 +7,7 @@ * * @since 2021-02-17 * @author N. Karpushkin - * @comment based on CbmDeviceMonitorT0 by F. Uhlig + * @comment based on CbmDeviceMonitorBmon by F. Uhlig */ #ifndef CBMDEVICEMONITORPSD_H_ diff --git a/MQ/monitor/CbmDeviceMonitorReqT0.cxx b/MQ/monitor/CbmDeviceMonitorReqBmon.cxx similarity index 94% rename from MQ/monitor/CbmDeviceMonitorReqT0.cxx rename to MQ/monitor/CbmDeviceMonitorReqBmon.cxx index c7f1739754b89a61bcfaec12fa0d75a870f7eeff..93aba473b5f608d7f72fe0771539180a7cabc2bf 100644 --- a/MQ/monitor/CbmDeviceMonitorReqT0.cxx +++ b/MQ/monitor/CbmDeviceMonitorReqBmon.cxx @@ -2,10 +2,10 @@ SPDX-License-Identifier: GPL-3.0-only Authors: Pierre-Alain Loizeau [committer] */ -#include "CbmDeviceMonitorReqT0.h" +#include "CbmDeviceMonitorReqBmon.h" #include "CbmFlesCanvasTools.h" -#include "CbmMcbm2018MonitorAlgoT0.h" +#include "CbmMcbm2018MonitorAlgoBmon.h" #include "StorableTimeslice.hpp" @@ -36,9 +36,9 @@ struct InitTaskError : std::runtime_error { using namespace std; -CbmDeviceMonitorReqT0::CbmDeviceMonitorReqT0() : fMonitorAlgo {new CbmMcbm2018MonitorAlgoT0()} {} +CbmDeviceMonitorReqBmon::CbmDeviceMonitorReqBmon() : fMonitorAlgo {new CbmMcbm2018MonitorAlgoBmon()} {} -void CbmDeviceMonitorReqT0::InitTask() +void CbmDeviceMonitorReqBmon::InitTask() try { /// Read options from executable LOG(info) << "Init options for CbmMqStarHistoServer."; @@ -87,9 +87,9 @@ catch (InitTaskError& e) { ChangeState(fair::mq::Transition::ErrorFound); } -bool CbmDeviceMonitorReqT0::InitContainers() +bool CbmDeviceMonitorReqBmon::InitContainers() { - LOG(info) << "Init parameter containers for CbmDeviceMonitorReqT0."; + LOG(info) << "Init parameter containers for CbmDeviceMonitorReqBmon."; fParCList = fMonitorAlgo->GetParList(); @@ -144,7 +144,7 @@ bool CbmDeviceMonitorReqT0::InitContainers() return initOK; } -bool CbmDeviceMonitorReqT0::InitHistograms() +bool CbmDeviceMonitorReqBmon::InitHistograms() { /// Histos creation and obtain pointer on them /// Trigger histo creation on all associated algos @@ -190,7 +190,7 @@ bool CbmDeviceMonitorReqT0::InitHistograms() } -bool CbmDeviceMonitorReqT0::ConditionalRun() +bool CbmDeviceMonitorReqBmon::ConditionalRun() { /// First request a new TS (full or single system components or multi-syst components block) std::string message = fsTsBlockName; @@ -261,7 +261,7 @@ bool CbmDeviceMonitorReqT0::ConditionalRun() return true; } -bool CbmDeviceMonitorReqT0::SendHistoConfAndData() +bool CbmDeviceMonitorReqBmon::SendHistoConfAndData() { /// Prepare multiparts message and header std::pair<uint32_t, uint32_t> pairHeader(fvpsHistosFolder.size(), fvpsCanvasConfig.size()); @@ -297,7 +297,7 @@ bool CbmDeviceMonitorReqT0::SendHistoConfAndData() /// Send the multi-parts message to the common histogram messages queue if (Send(partsOut, fsChannelNameHistosInput) < 0) { - LOG(error) << "CbmDeviceMonitorReqT0::SendHistoConfAndData => Problem sending data"; + LOG(error) << "CbmDeviceMonitorReqBmon::SendHistoConfAndData => Problem sending data"; return false; } // if( Send( partsOut, fsChannelNameHistosInput ) < 0 ) @@ -307,7 +307,7 @@ bool CbmDeviceMonitorReqT0::SendHistoConfAndData() return true; } -bool CbmDeviceMonitorReqT0::SendHistograms() +bool CbmDeviceMonitorReqBmon::SendHistograms() { /// Serialize the array of histos into a single MQ message FairMQMessagePtr message(NewMessage()); @@ -327,10 +327,10 @@ bool CbmDeviceMonitorReqT0::SendHistograms() } -CbmDeviceMonitorReqT0::~CbmDeviceMonitorReqT0() {} +CbmDeviceMonitorReqBmon::~CbmDeviceMonitorReqBmon() {} -Bool_t CbmDeviceMonitorReqT0::DoUnpack(const fles::Timeslice& ts, size_t /*component*/) +Bool_t CbmDeviceMonitorReqBmon::DoUnpack(const fles::Timeslice& ts, size_t /*component*/) { fulTsCounter++; @@ -356,4 +356,4 @@ Bool_t CbmDeviceMonitorReqT0::DoUnpack(const fles::Timeslice& ts, size_t /*compo return kTRUE; } -void CbmDeviceMonitorReqT0::Finish() {} +void CbmDeviceMonitorReqBmon::Finish() {} diff --git a/MQ/monitor/CbmDeviceMonitorReqT0.h b/MQ/monitor/CbmDeviceMonitorReqBmon.h similarity index 89% rename from MQ/monitor/CbmDeviceMonitorReqT0.h rename to MQ/monitor/CbmDeviceMonitorReqBmon.h index a37f5ee685731ed601037ac3a51b0ec161cfc0f2..24040b4319f0ff30ac5b80d9b80b5c6e87b7aae2 100644 --- a/MQ/monitor/CbmDeviceMonitorReqT0.h +++ b/MQ/monitor/CbmDeviceMonitorReqBmon.h @@ -2,8 +2,8 @@ SPDX-License-Identifier: GPL-3.0-only Authors: Pierre-Alain Loizeau [committer] */ -#ifndef CBMDEVICEMONITORREQT0_H_ -#define CBMDEVICEMONITORREQT0_H_ +#ifndef CBMDEVICEMONITORREQBmon_H_ +#define CBMDEVICEMONITORREQBmon_H_ #include "CbmMqTMessage.h" @@ -19,12 +19,12 @@ #include <vector> class TList; -class CbmMcbm2018MonitorAlgoT0; +class CbmMcbm2018MonitorAlgoBmon; -class CbmDeviceMonitorReqT0 : public FairMQDevice { +class CbmDeviceMonitorReqBmon : public FairMQDevice { public: - CbmDeviceMonitorReqT0(); - virtual ~CbmDeviceMonitorReqT0(); + CbmDeviceMonitorReqBmon(); + virtual ~CbmDeviceMonitorReqBmon(); protected: virtual void InitTask(); @@ -62,7 +62,7 @@ private: std::chrono::system_clock::time_point fLastPublishTime = std::chrono::system_clock::now(); /// Processing algo - CbmMcbm2018MonitorAlgoT0* fMonitorAlgo; + CbmMcbm2018MonitorAlgoBmon* fMonitorAlgo; /// Array of histograms to send to the histogram server TObjArray fArrayHisto = {}; @@ -83,4 +83,4 @@ private: bool SendHistograms(); }; -#endif /* CBMDEVICEMONITORREQT0_H_ */ +#endif /* CBMDEVICEMONITORREQBmon_H_ */ diff --git a/MQ/monitor/CbmDeviceMonitorReqTof.cxx b/MQ/monitor/CbmDeviceMonitorReqTof.cxx index 2eb18a65bf84c74237f451d61d591604a07f2c87..6a0863cda0842eb9a7f74eaec7bc3db186ab066a 100644 --- a/MQ/monitor/CbmDeviceMonitorReqTof.cxx +++ b/MQ/monitor/CbmDeviceMonitorReqTof.cxx @@ -321,9 +321,9 @@ Bool_t CbmDeviceMonitorReqTof::DoUnpack(const fles::Timeslice& ts, size_t /*comp if (kusSysIdTof == ts.descriptor(uCompIdx, 0).sys_id) { fMonitorAlgo->AddMsComponentToList(uCompIdx, kusSysIdTof); } // if( kusSysIdTof == ts.descriptor( uCompIdx, 0 ).sys_id ) - else if (kusSysIdT0 == ts.descriptor(uCompIdx, 0).sys_id) { - fMonitorAlgo->AddMsComponentToList(uCompIdx, kusSysIdT0); - } // if( kusSysIdT0 == ts.descriptor( uCompIdx, 0 ).sys_id ) + else if (kusSysIdBmon == ts.descriptor(uCompIdx, 0).sys_id) { + fMonitorAlgo->AddMsComponentToList(uCompIdx, kusSysIdBmon); + } // if( kusSysIdBmon == ts.descriptor( uCompIdx, 0 ).sys_id ) } // for( uint32_t uComp = 0; uComp < ts.num_components(); ++uComp ) fbComponentsAddedToList = kTRUE; } // if( kFALSE == fbComponentsAddedToList ) diff --git a/MQ/monitor/CbmDeviceMonitorReqTof.h b/MQ/monitor/CbmDeviceMonitorReqTof.h index 87605cd105d8e009bc99015f668573e94991902f..9c9099074b9fa2000854d8e5c41c349546f3bedd 100644 --- a/MQ/monitor/CbmDeviceMonitorReqTof.h +++ b/MQ/monitor/CbmDeviceMonitorReqTof.h @@ -33,7 +33,7 @@ protected: private: /// Constants static const uint16_t kusSysIdTof = 0x60; - static const uint16_t kusSysIdT0 = 0x90; + static const uint16_t kusSysIdBmon = 0x90; /// Control flags Bool_t fbIgnoreOverlapMs = kFALSE; //! Ignore Overlap Ms: all fuOverlapMsNb MS at the end of timeslice diff --git a/MQ/monitor/CbmDeviceMonitorTof.cxx b/MQ/monitor/CbmDeviceMonitorTof.cxx index 370ad0e4ae6e927e06d99b69ca13e7e2dd9205c5..e087f7d5e62c2a22448ba2395a5f87363b4fd675 100644 --- a/MQ/monitor/CbmDeviceMonitorTof.cxx +++ b/MQ/monitor/CbmDeviceMonitorTof.cxx @@ -345,9 +345,9 @@ Bool_t CbmDeviceMonitorTof::DoUnpack(const fles::Timeslice& ts, size_t /*compone if (kusSysIdTof == ts.descriptor(uCompIdx, 0).sys_id) { fMonitorAlgo->AddMsComponentToList(uCompIdx, kusSysIdTof); } // if( kusSysIdTof == ts.descriptor( uCompIdx, 0 ).sys_id ) - else if (kusSysIdT0 == ts.descriptor(uCompIdx, 0).sys_id) { - fMonitorAlgo->AddMsComponentToList(uCompIdx, kusSysIdT0); - } // if( kusSysIdT0 == ts.descriptor( uCompIdx, 0 ).sys_id ) + else if (kusSysIdBmon == ts.descriptor(uCompIdx, 0).sys_id) { + fMonitorAlgo->AddMsComponentToList(uCompIdx, kusSysIdBmon); + } // if( kusSysIdBmon == ts.descriptor( uCompIdx, 0 ).sys_id ) } // for( uint32_t uComp = 0; uComp < ts.num_components(); ++uComp ) fbComponentsAddedToList = kTRUE; } // if( kFALSE == fbComponentsAddedToList ) diff --git a/MQ/monitor/CbmDeviceMonitorTof.h b/MQ/monitor/CbmDeviceMonitorTof.h index 5c5976e98e643fd387a275cf4ac6e1f368e839a5..7a174c4d3ba1b4ab043ad23739250619fa55bddf 100644 --- a/MQ/monitor/CbmDeviceMonitorTof.h +++ b/MQ/monitor/CbmDeviceMonitorTof.h @@ -40,7 +40,7 @@ protected: private: /// Constants static const uint16_t kusSysIdTof = 0x60; - static const uint16_t kusSysIdT0 = 0x90; + static const uint16_t kusSysIdBmon = 0x90; /// Control flags Bool_t fbIgnoreOverlapMs = kFALSE; //! Ignore Overlap Ms: all fuOverlapMsNb MS at the end of timeslice diff --git a/MQ/monitor/runMonitorT0.cxx b/MQ/monitor/runMonitorBmon.cxx similarity index 93% rename from MQ/monitor/runMonitorT0.cxx rename to MQ/monitor/runMonitorBmon.cxx index 750d5e0faa61e0962b427aaa7902c0d7e80acac9..240419241d0aea38ada9e7b90a2474ed4ce589e5 100644 --- a/MQ/monitor/runMonitorT0.cxx +++ b/MQ/monitor/runMonitorBmon.cxx @@ -2,7 +2,7 @@ SPDX-License-Identifier: GPL-3.0-only Authors: Pierre-Alain Loizeau, Florian Uhlig [committer] */ -#include "CbmDeviceMonitorT0.h" +#include "CbmDeviceMonitorBmon.h" #include <iomanip> #include <string> @@ -25,7 +25,7 @@ void addCustomOptions(bpo::options_description& options) options.add_options()("SpillCheckInt", bpo::value<double>()->default_value(0.128), "Interval in seconds between count checks for spill detection"); options.add_options()("ChanMap", bpo::value<std::string>()->default_value("0,1,2,3,4,5,6,7"), - "Set T0 channel map e.g. 0,1,2,3,4,5,6,7"); + "Set Bmon channel map e.g. 0,1,2,3,4,5,6,7"); options.add_options()("PubFreqTs", bpo::value<uint32_t>()->default_value(100), "Histo publishing frequency in TS"); options.add_options()("PubTimeMin", bpo::value<double_t>()->default_value(1.0), "Minimal time between two publishing"); @@ -37,4 +37,4 @@ void addCustomOptions(bpo::options_description& options) "MQ channel name for histos"); } -FairMQDevicePtr getDevice(const FairMQProgOptions& /*config*/) { return new CbmDeviceMonitorT0(); } +FairMQDevicePtr getDevice(const FairMQProgOptions& /*config*/) { return new CbmDeviceMonitorBmon(); } diff --git a/MQ/monitor/runMonitorReqT0.cxx b/MQ/monitor/runMonitorReqBmon.cxx similarity index 90% rename from MQ/monitor/runMonitorReqT0.cxx rename to MQ/monitor/runMonitorReqBmon.cxx index 1c3e2ad547751b1c6bcd2c64244edb8e9134e178..7a1b6267d84947c6a359e26739034d1465fbf3a3 100644 --- a/MQ/monitor/runMonitorReqT0.cxx +++ b/MQ/monitor/runMonitorReqBmon.cxx @@ -2,7 +2,7 @@ SPDX-License-Identifier: GPL-3.0-only Authors: Pierre-Alain Loizeau [committer] */ -#include "CbmDeviceMonitorReqT0.h" +#include "CbmDeviceMonitorReqBmon.h" #include <iomanip> #include <string> @@ -25,7 +25,7 @@ void addCustomOptions(bpo::options_description& options) options.add_options()("SpillCheckInt", bpo::value<double>()->default_value(0.128), "Interval in seconds between count checks for spill detection"); options.add_options()("ChanMap", bpo::value<std::string>()->default_value("0,1,2,3,4,5,6,7"), - "Set T0 channel map e.g. 0,1,2,3,4,5,6,7"); + "Set Bmon channel map e.g. 0,1,2,3,4,5,6,7"); options.add_options()("PubFreqTs", bpo::value<uint32_t>()->default_value(100), "Histo publishing frequency in TS"); options.add_options()("PubTimeMin", bpo::value<double_t>()->default_value(1.0), "Minimal time between two publishing"); @@ -34,9 +34,9 @@ void addCustomOptions(bpo::options_description& options) options.add_options()("TsNameIn", bpo::value<std::string>()->default_value("ts-request"), "MQ channel name for TS data"); options.add_options()("TsBlockName", bpo::value<std::string>()->default_value(""), - "Block name for requesting TS data, T0 SysId request if empty"); + "Block name for requesting TS data, Bmon SysId request if empty"); options.add_options()("ChNameIn", bpo::value<std::string>()->default_value("histogram-in"), "MQ channel name for histos"); } -FairMQDevicePtr getDevice(const FairMQProgOptions& /*config*/) { return new CbmDeviceMonitorReqT0(); } +FairMQDevicePtr getDevice(const FairMQProgOptions& /*config*/) { return new CbmDeviceMonitorReqBmon(); } diff --git a/MQ/monitor/startMQSamplerT0Monitor2020.sh.in b/MQ/monitor/startMQSamplerBmonMonitor2020.sh.in similarity index 100% rename from MQ/monitor/startMQSamplerT0Monitor2020.sh.in rename to MQ/monitor/startMQSamplerBmonMonitor2020.sh.in diff --git a/MQ/monitor/startMQSamplerT0Monitor2021.sh.in b/MQ/monitor/startMQSamplerBmonMonitor2021.sh.in similarity index 100% rename from MQ/monitor/startMQSamplerT0Monitor2021.sh.in rename to MQ/monitor/startMQSamplerBmonMonitor2021.sh.in diff --git a/MQ/source/CbmMQTsaMultiSampler.cxx b/MQ/source/CbmMQTsaMultiSampler.cxx index fca6e472aeac5f9632a73344595fb071a4301bfa..d2c45e248ba623a1542000beee32df77965eee95 100644 --- a/MQ/source/CbmMQTsaMultiSampler.cxx +++ b/MQ/source/CbmMQTsaMultiSampler.cxx @@ -524,7 +524,7 @@ bool CbmMQTsaMultiSampler::ConditionalRun() // CheckTimeslice(ts); if (fbNoSplitTs) { - /// This is a special case for the TOF + T0 + /// This is a special case for the TOF + Bmon /// => Inefficient as copy the TS as many times as need! if (!CreateAndSendFullTs(ts)) { /// If command channel defined, send command to all "slaves" diff --git a/MQ/source/CbmTsConsumerReqDevExample.cxx b/MQ/source/CbmTsConsumerReqDevExample.cxx index 9b6f0945957a62449dd65ac9652f74102ac44013..0488fcd46bdceafdebd753775cb91b3d12ad0af4 100644 --- a/MQ/source/CbmTsConsumerReqDevExample.cxx +++ b/MQ/source/CbmTsConsumerReqDevExample.cxx @@ -37,7 +37,7 @@ using namespace std; CbmTsConsumerReqDevExample::CbmTsConsumerReqDevExample() -// ALGO: : fMonitorAlgo {new CbmMcbm2018MonitorAlgoT0()} +// ALGO: : fMonitorAlgo {new CbmMcbm2018MonitorAlgoBmon()} { } diff --git a/MQ/source/CbmTsConsumerReqDevExample.h b/MQ/source/CbmTsConsumerReqDevExample.h index a56d6ab6af0e1b6dd62290740c8a292fe44d74ee..e309f84b1df9f44807bfccc3a54edc54a2ce5340 100644 --- a/MQ/source/CbmTsConsumerReqDevExample.h +++ b/MQ/source/CbmTsConsumerReqDevExample.h @@ -54,7 +54,7 @@ private: std::chrono::system_clock::time_point fLastPublishTime = std::chrono::system_clock::now(); /// Processing algo - // ALGO: CbmMcbm2018MonitorAlgoT0* fMonitorAlgo; + // ALGO: CbmMcbm2018MonitorAlgoBmon* fMonitorAlgo; /// Array of histograms to send to the histogram server TObjArray fArrayHisto = {}; diff --git a/MQ/unpacker/CbmDeviceUnpackTofCri.cxx b/MQ/unpacker/CbmDeviceUnpackTofCri.cxx index ce258de709d821026b73e6b18ae1847fa60145b0..a04f0cd592d1eb7c65d14f736cb8a465db99188a 100644 --- a/MQ/unpacker/CbmDeviceUnpackTofCri.cxx +++ b/MQ/unpacker/CbmDeviceUnpackTofCri.cxx @@ -104,7 +104,7 @@ CbmDeviceUnpackTofCri::CbmDeviceUnpackTofCri() , fdLastDigiTime(0.) , fdFirstDigiTimeDif(0.) //, fdEvTime0(0.) - , fhRawTDigEvT0(nullptr) + , fhRawTDigEvBmon(nullptr) , fhRawTDigRef0(nullptr) , fhRawTDigRef(nullptr) , fhRawTRefDig0(nullptr) @@ -417,9 +417,9 @@ void CbmDeviceUnpackTofCri::CreateHistograms() { LOG(info) << "create Histos for " << fuNrOfGdpbs << " gDPBs "; - fhRawTDigEvT0 = - new TH1F(Form("Raw_TDig-EvT0"), Form("Raw digi time difference to 1st digi ; time [ns]; cts"), 500, 0, 100.); - // fHM->Add( Form("Raw_TDig-EvT0"), fhRawTDigEvT0); + fhRawTDigEvBmon = + new TH1F(Form("Raw_TDig-EvBmon"), Form("Raw digi time difference to 1st digi ; time [ns]; cts"), 500, 0, 100.); + // fHM->Add( Form("Raw_TDig-EvBmon"), fhRawTDigEvBmon); fhRawTDigRef0 = new TH1F(Form("Raw_TDig-Ref0"), Form("Raw digi time difference to Ref ; time [ns]; cts"), 6000, -10000, 50000); @@ -738,7 +738,7 @@ void CbmDeviceUnpackTofCri::BuildTint(uint64_t ulTsStartTime, int iMode) if (str == 31) if (digi->GetTot() > fiPulTotMin && digi->GetTot() < fiPulTotMax) bPul[i][0] = kTRUE; if (str == 0) bPul[i][1] = kFALSE; - if ((UInt_t) fiReqDigiAddr[i] == fiAddrRef) { //special mapping for MAr2019 diamond (T0) + if ((UInt_t) fiReqDigiAddr[i] == fiAddrRef) { //special mapping for MAr2019 diamond (Bmon) if (str == 0) bPul[i][0] = kTRUE; if (str == 40) bPul[i][1] = kTRUE; } diff --git a/MQ/unpacker/CbmDeviceUnpackTofCri.h b/MQ/unpacker/CbmDeviceUnpackTofCri.h index 1261beeb5d5f7a289ddbaad5e89691de0d30c233..d177f565d6bb7e3085e4b74c84563aec3dd40ee5 100644 --- a/MQ/unpacker/CbmDeviceUnpackTofCri.h +++ b/MQ/unpacker/CbmDeviceUnpackTofCri.h @@ -125,7 +125,7 @@ private: Double_t fdLastDigiTime; Double_t fdFirstDigiTimeDif; //Double_t fdEvTime0; - TH1* fhRawTDigEvT0; + TH1* fhRawTDigEvBmon; TH1* fhRawTDigRef0; TH1* fhRawTDigRef; TH1* fhRawTRefDig0; @@ -190,7 +190,7 @@ private: /// Control flags // Bool_t fbMonitorMode; //! Switch ON the filling of a minimal set of histograms // Bool_t fbDebugMonitorMode; //! Switch ON the filling of a additional set of histograms - // Bool_t fbSeparateArrayT0; //! If ON, T0 digis are saved in separate TClonesArray + // Bool_t fbSeparateArrayBmon; //! If ON, Bmon digis are saved in separate TClonesArray // Bool_t fbWriteOutput; //! If ON the output TClonesArray of digi is written to disk CbmDeviceUnpackTofCri(const CbmDeviceUnpackTofCri&) = delete; diff --git a/MQ/unpacker/CbmDeviceUnpackTofMcbm2018.cxx b/MQ/unpacker/CbmDeviceUnpackTofMcbm2018.cxx index a92ab7ee7ae15f131161f87a0be31b3b9d80c91e..d0b32871b3ac9dbd573e0c206f04f8b24c584b8a 100644 --- a/MQ/unpacker/CbmDeviceUnpackTofMcbm2018.cxx +++ b/MQ/unpacker/CbmDeviceUnpackTofMcbm2018.cxx @@ -99,7 +99,7 @@ CbmDeviceUnpackTofMcbm2018::CbmDeviceUnpackTofMcbm2018() , fdLastDigiTime(0.) , fdFirstDigiTimeDif(0.) //, fdEvTime0(0.) - , fhRawTDigEvT0(nullptr) + , fhRawTDigEvBmon(nullptr) , fhRawTDigRef0(nullptr) , fhRawTDigRef(nullptr) , fhRawTRefDig0(nullptr) @@ -508,7 +508,7 @@ Bool_t CbmDeviceUnpackTofMcbm2018::ReInitContainers() uFee * fUnpackPar->GetNrOfChannelsPerFee() / 4 + uCh / 4 + 40 * fviRpcSide[iGbtx], // 0, uFee + 10 * fviRpcSide[iGbtx], 0, fviRpcType[iGbtx]); - LOG(info) << Form("Map T0 Ch %d to Address 0x%08x", iCh, fviRpcChUId[iCh]); + LOG(info) << Form("Map Bmon Ch %d to Address 0x%08x", iCh, fviRpcChUId[iCh]); } else fviRpcChUId[iCh] = 0; @@ -713,9 +713,9 @@ void CbmDeviceUnpackTofMcbm2018::CreateHistograms() { LOG(info) << "create Histos for " << fuNrOfGdpbs << " gDPBs "; - fhRawTDigEvT0 = - new TH1F(Form("Raw_TDig-EvT0"), Form("Raw digi time difference to 1st digi ; time [ns]; cts"), 500, 0, 100.); - // fHM->Add( Form("Raw_TDig-EvT0"), fhRawTDigEvT0); + fhRawTDigEvBmon = + new TH1F(Form("Raw_TDig-EvBmon"), Form("Raw digi time difference to 1st digi ; time [ns]; cts"), 500, 0, 100.); + // fHM->Add( Form("Raw_TDig-EvBmon"), fhRawTDigEvBmon); fhRawTDigRef0 = new TH1F(Form("Raw_TDig-Ref0"), Form("Raw digi time difference to Ref ; time [ns]; cts"), 6000, -10000, 50000); @@ -1011,7 +1011,7 @@ void CbmDeviceUnpackTofMcbm2018::BuildTint(int iMode = 0) if (str == 31) if (digi->GetTot() > fiPulTotMin && digi->GetTot() < fiPulTotMax) bPul[i][0] = kTRUE; if (str == 0) bPul[i][1] = kFALSE; - if ((UInt_t) fiReqDigiAddr[i] == fiAddrRef) { //special mapping for MAr2019 diamond (T0) + if ((UInt_t) fiReqDigiAddr[i] == fiAddrRef) { //special mapping for MAr2019 diamond (Bmon) if (str == 0) bPul[i][0] = kTRUE; if (str == 40) bPul[i][1] = kTRUE; } diff --git a/MQ/unpacker/CbmDeviceUnpackTofMcbm2018.h b/MQ/unpacker/CbmDeviceUnpackTofMcbm2018.h index 2a1cdca3e45438c924f9c0a089c8622f3be91098..58cc4fe8b39843531de6ec30b4fb05991a3a1411 100644 --- a/MQ/unpacker/CbmDeviceUnpackTofMcbm2018.h +++ b/MQ/unpacker/CbmDeviceUnpackTofMcbm2018.h @@ -125,7 +125,7 @@ private: Double_t fdLastDigiTime; Double_t fdFirstDigiTimeDif; //Double_t fdEvTime0; - TH1* fhRawTDigEvT0; + TH1* fhRawTDigEvBmon; TH1* fhRawTDigRef0; TH1* fhRawTDigRef; TH1* fhRawTRefDig0; @@ -190,7 +190,7 @@ private: /// Control flags // Bool_t fbMonitorMode; //! Switch ON the filling of a minimal set of histograms // Bool_t fbDebugMonitorMode; //! Switch ON the filling of a additional set of histograms - // Bool_t fbSeparateArrayT0; //! If ON, T0 digis are saved in separate TClonesArray + // Bool_t fbSeparateArrayBmon; //! If ON, Bmon digis are saved in separate TClonesArray // Bool_t fbWriteOutput; //! If ON the output TClonesArray of digi is written to disk CbmDeviceUnpackTofMcbm2018(const CbmDeviceUnpackTofMcbm2018&) = delete; diff --git a/MQ/unpacker/CbmDeviceUnpackTofStar2018.cxx b/MQ/unpacker/CbmDeviceUnpackTofStar2018.cxx index 391dbccec62f3b9e272ca69ff01d441c33b03339..84cb7c8e4edddf6499562c35d25d8c115b417cc9 100644 --- a/MQ/unpacker/CbmDeviceUnpackTofStar2018.cxx +++ b/MQ/unpacker/CbmDeviceUnpackTofStar2018.cxx @@ -76,7 +76,7 @@ CbmDeviceUnpackTofStar2018::CbmDeviceUnpackTofStar2018() , fdLastDigiTime(0.) , fdFirstDigiTimeDif(0.) , fdEvTime0(0.) - , fhRawTDigEvT0(nullptr) + , fhRawTDigEvBmon(nullptr) , fhRawTDigRef0(nullptr) , fhRawTDigRef(nullptr) , fhRawTRefDig0(nullptr) @@ -241,9 +241,9 @@ void CbmDeviceUnpackTofStar2018::CreateHistograms() { LOG(info) << "create Histos for " << fuNrOfGdpbs << " gDPBs "; - fhRawTDigEvT0 = - new TH1F(Form("Raw_TDig-EvT0"), Form("Raw digi time difference to 1st digi ; time [ns]; cts"), 500, 0, 100.); - // fHM->Add( Form("Raw_TDig-EvT0"), fhRawTDigEvT0); + fhRawTDigEvBmon = + new TH1F(Form("Raw_TDig-EvBmon"), Form("Raw digi time difference to 1st digi ; time [ns]; cts"), 500, 0, 100.); + // fHM->Add( Form("Raw_TDig-EvBmon"), fhRawTDigEvBmon); fhRawTDigRef0 = new TH1F(Form("Raw_TDig-Ref0"), Form("Raw digi time difference to Ref ; time [ns]; cts"), 6000, -10000, 50000); diff --git a/MQ/unpacker/CbmDeviceUnpackTofStar2018.h b/MQ/unpacker/CbmDeviceUnpackTofStar2018.h index 75231524211266cd399c1b015ad470d588062a77..30f3513d5ea9cc95fa6fce21556187c64dd930f7 100644 --- a/MQ/unpacker/CbmDeviceUnpackTofStar2018.h +++ b/MQ/unpacker/CbmDeviceUnpackTofStar2018.h @@ -104,7 +104,7 @@ private: Double_t fdLastDigiTime; Double_t fdFirstDigiTimeDif; Double_t fdEvTime0; - TH1* fhRawTDigEvT0; + TH1* fhRawTDigEvBmon; TH1* fhRawTDigRef0; TH1* fhRawTDigRef; TH1* fhRawTRefDig0; diff --git a/MQ/unpacker/runUnpackTofCri.cxx b/MQ/unpacker/runUnpackTofCri.cxx index 981b160e77e7cac348aaa928214e12a9a1c3cb1c..c01c29340d8d4fec04709d3578bba2eaac5401ff 100644 --- a/MQ/unpacker/runUnpackTofCri.cxx +++ b/MQ/unpacker/runUnpackTofCri.cxx @@ -24,7 +24,7 @@ void addCustomOptions(bpo::options_description& options) options.add_options()("PulTotMin", bpo::value<uint64_t>()->default_value(0), "Min pulser TimeOverThreshold"); options.add_options()("PulTotMax", bpo::value<uint64_t>()->default_value(1000), "Max pulser TimeOverThreshold"); options.add_options()("ToffTof", bpo::value<double_t>()->default_value(0.), - "Time offset of Tof digis with respect to T0"); + "Time offset of Tof digis with respect to Bmon"); options.add_options()("RefModType", bpo::value<int64_t>()->default_value(5), "Module type of reference counter"); options.add_options()("RefModId", bpo::value<int64_t>()->default_value(0), "Module Id of reference counter"); options.add_options()("RefCtrType", bpo::value<int64_t>()->default_value(4), "Counter type of reference counter"); diff --git a/MQ/unpacker/runUnpackTofMcbm2018.cxx b/MQ/unpacker/runUnpackTofMcbm2018.cxx index 9b9cf97a132af28d2dc8ba3f93987f963e38dad5..533a0696a43dd783c77750028b1a21bfc7956878 100644 --- a/MQ/unpacker/runUnpackTofMcbm2018.cxx +++ b/MQ/unpacker/runUnpackTofMcbm2018.cxx @@ -24,7 +24,7 @@ void addCustomOptions(bpo::options_description& options) options.add_options()("PulTotMin", bpo::value<uint64_t>()->default_value(0), "Min pulser TimeOverThreshold"); options.add_options()("PulTotMax", bpo::value<uint64_t>()->default_value(1000), "Max pulser TimeOverThreshold"); options.add_options()("ToffTof", bpo::value<double_t>()->default_value(0.), - "Time offset of Tof digis with respect to T0"); + "Time offset of Tof digis with respect to Bmon"); options.add_options()("RefModType", bpo::value<int64_t>()->default_value(5), "Module type of reference counter"); options.add_options()("RefModId", bpo::value<int64_t>()->default_value(0), "Module Id of reference counter"); options.add_options()("RefCtrType", bpo::value<int64_t>()->default_value(4), "Counter type of reference counter"); diff --git a/algo/base/DigiData.cxx b/algo/base/DigiData.cxx index c849b9d2bc7728391bab3e586a0c629df53b5cf0..9096729769cf6fcedfc6865a2b069f037f4cf4fe 100644 --- a/algo/base/DigiData.cxx +++ b/algo/base/DigiData.cxx @@ -15,7 +15,7 @@ DigiData::DigiData(const CbmDigiData& storable) : fSts(ToPODVector(storable.fSts.fDigis)) , fMuch(ToPODVector(storable.fMuch.fDigis)) , fTof(ToPODVector(storable.fTof.fDigis)) - , fBmon(ToPODVector(storable.fT0.fDigis)) + , fBmon(ToPODVector(storable.fBmon.fDigis)) , fTrd(ToPODVector(storable.fTrd.fDigis)) , fTrd2d(ToPODVector(storable.fTrd2d.fDigis)) , fRich(ToPODVector(storable.fRich.fDigis)) @@ -56,7 +56,7 @@ size_t DigiData::TotalSizeBytes() const CbmDigiData DigiData::ToStorable() const { return CbmDigiData { - .fT0 = + .fBmon = { .fDigis = ToStdVector(fBmon), }, diff --git a/algo/base/DigiData.h b/algo/base/DigiData.h index 25030d490c1ee8fd7fee8c6cf5d37d022ec63f68..7c09c5a126b20a76c6b61cb4c400ce15fa164c87 100644 --- a/algo/base/DigiData.h +++ b/algo/base/DigiData.h @@ -34,7 +34,7 @@ namespace cbm::algo PODVector<CbmStsDigi> fSts; ///< Unpacked STS digis PODVector<CbmMuchDigi> fMuch; ///< Unpacked MUCH digis PODVector<CbmTofDigi> fTof; ///< Unpacked TOF digis - PODVector<CbmBmonDigi> fBmon; ///< Unpacked T0 digis + PODVector<CbmBmonDigi> fBmon; ///< Unpacked Bmon digis PODVector<CbmTrdDigi> fTrd; ///< Unpacked TRD digis PODVector<CbmTrdDigi> fTrd2d; ///< Unpacked TRD2D digis PODVector<CbmRichDigi> fRich; ///< Unpacked RICH digis diff --git a/algo/ca/TrackingChain.cxx b/algo/ca/TrackingChain.cxx index 0d66393a916da6d1adf8069a60befa359125cc1b..e38cf8977a20cb766bb0c5574852c7b2063cb406 100644 --- a/algo/ca/TrackingChain.cxx +++ b/algo/ca/TrackingChain.cxx @@ -166,7 +166,7 @@ void TrackingChain::ReadHits(PartitionedSpan<const ca::HitTypes_t::at<DetID>> hi if constexpr (IsSts) { iStLocal = (extHitAddress >> 4) & 0xF; } if constexpr (IsTof) { iStLocal = tof::Config::GetTofTrackingStation(extHitAddress); - if (tof::Config::IsT0(extHitAddress)) { continue; } // skip hits from T0 + if (tof::Config::IsBmon(extHitAddress)) { continue; } // skip hits from Bmon } int iStActive = (iStLocal != -1) ? fCaFramework.GetParameters().GetStationIndexActive(iStLocal, DetID) : -1; diff --git a/algo/detectors/bmon/ReadoutConfig.cxx b/algo/detectors/bmon/ReadoutConfig.cxx index b04ac70f8b1ae7a587f7acb5518180e8647c9ff2..b4f5133d2de936066e3760c5c84027c4348420e3 100644 --- a/algo/detectors/bmon/ReadoutConfig.cxx +++ b/algo/detectors/bmon/ReadoutConfig.cxx @@ -110,13 +110,13 @@ namespace cbm::algo::bmon const uint32_t uCh0 = uCh; switch (rpcType[uGbtx]) { case 5: { - /// Special Treatment for the T0 diamond - BuildChannelsUidMapT0(uCh, uGbtx); + /// Special Treatment for the Bmon diamond + BuildChannelsUidMapBmon(uCh, uGbtx); break; } case 99: { - /// Special Treatment for the 2022 T0 diamond, keep past behavior for older data! - BuildChannelsUidMapT0_2022(uCh, uGbtx); + /// Special Treatment for the 2022 Bmon diamond, keep past behavior for older data! + BuildChannelsUidMapBmon_2022(uCh, uGbtx); break; } case -1: { @@ -125,39 +125,39 @@ namespace cbm::algo::bmon break; } default: { - LOG(error) << "Invalid T0 Type specifier for GBTx " << std::setw(2) << uGbtx << ": " << rpcType[uGbtx]; + LOG(error) << "Invalid Bmon Type specifier for GBTx " << std::setw(2) << uGbtx << ": " << rpcType[uGbtx]; } } // switch (rpcType[uGbtx]) if ((int32_t)(uCh - uCh0) != numFebsPerComp * numAsicsPerFeb * numChanPerAsic / 2) { - LOG(fatal) << "T0 mapping error for Gbtx " << uGbtx << ", diff = " << uCh - uCh0; + LOG(fatal) << "Bmon mapping error for Gbtx " << uGbtx << ", diff = " << uCh - uCh0; } } } // ------------------------------------------------------------------------- - void ReadoutConfig::BuildChannelsUidMapT0(uint32_t& uCh, uint32_t uGbtx) + void ReadoutConfig::BuildChannelsUidMapBmon(uint32_t& uCh, uint32_t uGbtx) { L_(debug) << " Map diamond " << moduleId[uGbtx] << " at GBTX " << uGbtx << " - uCh = " << uCh; for (uint32_t uGet4 = 0; uGet4 < numElinksPerCrob; ++uGet4) { for (uint32_t uGet4Ch = 0; uGet4Ch < numChanPerAsic; ++uGet4Ch) { /// Mapping for the 2022 beamtime if (uGet4 < 32 && 0 == uGet4Ch && -1 < moduleId[uGbtx]) { - uint32_t uChannelT0 = uGet4 + 32 * rpcSide[uGbtx]; - uChannelT0 /= 8; - fviRpcChUId[uCh] = CbmTofAddress::GetUniqueAddress(moduleId[uGbtx], 0, uChannelT0, 0, rpcType[uGbtx]); - L_(debug) << fmt::format(" T0 channel: %u from GBTx %2u, indx %d address %08x", uChannelT0, uGbtx, uCh, + uint32_t uChannelBmon = uGet4 + 32 * rpcSide[uGbtx]; + uChannelBmon /= 8; + fviRpcChUId[uCh] = CbmTofAddress::GetUniqueAddress(moduleId[uGbtx], 0, uChannelBmon, 0, rpcType[uGbtx]); + L_(debug) << fmt::format(" Bmon channel: %u from GBTx %2u, indx %d address %08x", uChannelBmon, uGbtx, uCh, fviRpcChUId[uCh]); - } // Valid T0 channel + } // Valid Bmon channel else { fviRpcChUId[uCh] = 0; - } // Invalid T0 channel + } // Invalid Bmon channel uCh++; } } } // ------------------------------------------------------------------------- - void ReadoutConfig::BuildChannelsUidMapT0_2022(uint32_t& uCh, uint32_t uGbtx) + void ReadoutConfig::BuildChannelsUidMapBmon_2022(uint32_t& uCh, uint32_t uGbtx) { L_(debug) << " Map 2022 diamond " << moduleId[uGbtx] << " at GBTX " << uGbtx << " - uCh = " << uCh; for (uint32_t uGet4 = 0; uGet4 < numElinksPerCrob; ++uGet4) { @@ -166,15 +166,15 @@ namespace cbm::algo::bmon if (-1 < moduleId[uGbtx] && uGet4 < 32 && 0 == uGet4 % 4 && 0 == uGet4Ch) { /// 1 channel per physical GET4, 2 links per physical GET4, 4 physical GET4s per GBTx, 1 GBTx per comp. /// 16 channels for one side, 16 for the other - uint32_t uChannelT0 = (uGet4 / 8 + 4 * (uGbtx / 2)) % 16; - /// Type hard-coded to allow different parameter values to separate 2022 T0 and pre-2022 T0 - fviRpcChUId[uCh] = CbmTofAddress::GetUniqueAddress(moduleId[uGbtx], 0, uChannelT0, rpcSide[uGbtx], 5); - L_(debug) << fmt::format(" Bmon channel: %u side %u from GBTx %2u, indx %d address %08x \n", uChannelT0, + uint32_t uChannelBmon = (uGet4 / 8 + 4 * (uGbtx / 2)) % 16; + /// Type hard-coded to allow different parameter values to separate 2022 Bmon and pre-2022 Bmon + fviRpcChUId[uCh] = CbmTofAddress::GetUniqueAddress(moduleId[uGbtx], 0, uChannelBmon, rpcSide[uGbtx], 5); + L_(debug) << fmt::format(" Bmon channel: %u side %u from GBTx %2u, indx %d address %08x \n", uChannelBmon, rpcSide[uGbtx], uGbtx, uCh, fviRpcChUId[uCh]); - } // Valid T0 channel + } // Valid Bmon channel else { fviRpcChUId[uCh] = 0; - } // Invalid T0 channel + } // Invalid Bmon channel uCh++; } } diff --git a/algo/detectors/bmon/ReadoutConfig.h b/algo/detectors/bmon/ReadoutConfig.h index 189bf9ab666aad6b8a6a8650264e00652a823323..e8c8fb7250c2606793a02d5a7d744673a343ee56 100644 --- a/algo/detectors/bmon/ReadoutConfig.h +++ b/algo/detectors/bmon/ReadoutConfig.h @@ -40,7 +40,7 @@ namespace cbm::algo::bmon std::vector<uint32_t> Map(uint16_t equipId, uint16_t elink); private: - // --- T0 readout map + // --- Bmon readout map // --- Map index: (equipment, elink, channel), map value: (TOF address) std::map<uint16_t, std::vector<std::vector<uint32_t>>> fReadoutMap = {}; @@ -71,8 +71,8 @@ namespace cbm::algo::bmon std::vector<int32_t> fviRpcChUId = {}; ///< UID/address for each channel, build from type, side and module void BuildChannelsUidMap(); - void BuildChannelsUidMapT0(uint32_t& uCh, uint32_t uGbtx); - void BuildChannelsUidMapT0_2022(uint32_t& uCh, uint32_t uGbtx); + void BuildChannelsUidMapBmon(uint32_t& uCh, uint32_t uGbtx); + void BuildChannelsUidMapBmon_2022(uint32_t& uCh, uint32_t uGbtx); }; } // namespace cbm::algo::bmon diff --git a/algo/detectors/tof/Config.h b/algo/detectors/tof/Config.h index cc116eed5e7cddc923b9ad3a6247b6b30a090d29..0114da940abbc62ed856bfccd0310631f047d565 100644 --- a/algo/detectors/tof/Config.h +++ b/algo/detectors/tof/Config.h @@ -27,7 +27,7 @@ namespace cbm::algo::tof CbmTofAddress::GetRpcId(address)); } - static bool IsT0(uint32_t address) { return 5 == CbmTofAddress::GetSmType(address); } + static bool IsBmon(uint32_t address) { return 5 == CbmTofAddress::GetSmType(address); } static int32_t GetTofTrackingStation(const uint32_t smType, const uint32_t sm, const uint32_t rpc) { diff --git a/algo/detectors/trd2d/Unpack.cxx b/algo/detectors/trd2d/Unpack.cxx index 89018954fa3eb3f2918fb791aaaa88d58af2f465..7056e914b710f140ab221871c7549697c92f7f06 100644 --- a/algo/detectors/trd2d/Unpack.cxx +++ b/algo/detectors/trd2d/Unpack.cxx @@ -37,7 +37,7 @@ namespace cbm::algo::trd2d // define time wrt start of time slice in TRD/FASP clks [80 MHz]. Contains: // - relative offset of the MS wrt the TS // - FASP epoch offset for current CROB - // - TRD2D system offset wrt to experiment time (e.g. T0) + // - TRD2D system offset wrt to experiment time (e.g. Bmon) uint64_t time = uint64_t((msDescr.idx - tTimeslice - fParams.fSystemTimeOffset) / 12.5); // Get parameters for current eq id. diff --git a/algo/evbuild/EventBuilder.h b/algo/evbuild/EventBuilder.h index 7a345acf9087309fd38636c9bb4b505f11cb7b8c..aaa6599b04460cc53099063fadd3ff8cdea0a33e 100644 --- a/algo/evbuild/EventBuilder.h +++ b/algo/evbuild/EventBuilder.h @@ -43,7 +43,7 @@ namespace cbm::algo::evbuild EventBuilderDetectorMonitorData sts; ///< Monitoring data for STS EventBuilderDetectorMonitorData much; ///< Monitoring data for MUCH EventBuilderDetectorMonitorData tof; ///< Monitoring data for TOF - EventBuilderDetectorMonitorData bmon; ///< Monitoring data for T0 + EventBuilderDetectorMonitorData bmon; ///< Monitoring data for Bmon EventBuilderDetectorMonitorData trd; ///< Monitoring data for TRD EventBuilderDetectorMonitorData trd2d; ///< Monitoring data for TRD2D EventBuilderDetectorMonitorData rich; ///< Monitoring data for RICH diff --git a/algo/test/_GTestDigiEventSelector.cxx b/algo/test/_GTestDigiEventSelector.cxx index 59e97bb9123870dea8d9dab2686af60128ca4ed5..fe8bc21df6b3582616d637a1078079f1682a58af 100644 --- a/algo/test/_GTestDigiEventSelector.cxx +++ b/algo/test/_GTestDigiEventSelector.cxx @@ -71,7 +71,7 @@ TEST(_GTestDigiEventSelector, CheckDigiEventSelectorAlgorithmSimple) } { - // --- Increment T0 - should fail + // --- Increment Bmon - should fail node["minDigis"][ToString(ECbmModuleId::kBmon)] = nBmon + 1; cbm::algo::evbuild::DigiEventSelectorConfig config(node); cbm::algo::evbuild::DigiEventSelector select(config); diff --git a/algo/unpack/Unpack.cxx b/algo/unpack/Unpack.cxx index b9560675b5bfb480bdf09d55779ef057499b8efd..9c9114b929b5a5f761fa8a0c6a6354b516acd958 100644 --- a/algo/unpack/Unpack.cxx +++ b/algo/unpack/Unpack.cxx @@ -95,7 +95,7 @@ namespace cbm::algo // MsLoop(timeslice, fAlgoTof, comp, equipmentId, &digiTs.fTof, monitor, &monitor.fTof, 0x00); // } // if (subsystem == Subsystem::BMON) { - // MsLoop(timeslice, fAlgoBmon, comp, equipmentId, &digiTs.fT0, monitor, &monitor.fBmon, 0x00); + // MsLoop(timeslice, fAlgoBmon, comp, equipmentId, &digiTs.fBmon, monitor, &monitor.fBmon, 0x00); // } // if (subsystem == Subsystem::TRD) { // monitor.fNumBytesInTrd += @@ -360,14 +360,14 @@ namespace cbm::algo L_(debug) << "--- Configured equipment " << equip << " with " << numElinks << " elinks"; } - // Create one algorithm per component for T0 and configure it with parameters + // Create one algorithm per component for Bmon and configure it with parameters auto equipIdsBmon = fBmonConfig.GetEquipmentIds(); for (auto& equip : equipIdsBmon) { std::unique_ptr<bmon::UnpackPar> par(new bmon::UnpackPar()); const size_t numElinks = fBmonConfig.GetNumElinks(equip); for (size_t elink = 0; elink < numElinks; elink++) { bmon::UnpackElinkPar elinkPar; - elinkPar.fChannelUId = fBmonConfig.Map(equip, elink); // Vector of T0 addresses for this elink + elinkPar.fChannelUId = fBmonConfig.Map(equip, elink); // Vector of Bmon addresses for this elink elinkPar.fTimeOffset = fSystemTimeOffset[Subsystem::BMON]; par->fElinkParams.push_back(elinkPar); } @@ -452,7 +452,7 @@ namespace cbm::algo L_(info) << "--- Configured " << fAlgoTof.size() << " unpacker algorithms for TOF."; L_(info) << "--- Configured " << fAlgoTrd.size() << " unpacker algorithms for TRD."; L_(info) << "--- Configured " << fAlgoTrd2d.size() << " unpacker algorithms for TRD2D."; - L_(info) << "--- Configured " << fAlgoBmon.size() << " unpacker algorithms for T0."; + L_(info) << "--- Configured " << fAlgoBmon.size() << " unpacker algorithms for Bmon."; L_(info) << "=================================================="; } // ---------------------------------------------------------------------------- diff --git a/algo/unpack/Unpack.h b/algo/unpack/Unpack.h index f8ab66438d7c31c654b04ca8b677851408ff546f..d5f37e602ae47c12a7b2c617e2a1c2766b08e00c 100644 --- a/algo/unpack/Unpack.h +++ b/algo/unpack/Unpack.h @@ -44,7 +44,7 @@ namespace cbm::algo std::vector<sts::UnpackMonitorData> fSts; ///< Monitoring data for STS std::vector<much::UnpackMonitorData> fMuch; ///< Monitoring data for MUCH std::vector<tof::UnpackMonitorData> fTof; ///< Monitoring data for TOF - std::vector<bmon::UnpackMonitorData> fBmon; ///< Monitoring data for T0 + std::vector<bmon::UnpackMonitorData> fBmon; ///< Monitoring data for Bmon std::vector<trd::UnpackMonitorData> fTrd; ///< Monitoring data for TRD std::vector<trd2d::UnpackMonitorData> fTrd2d; ///< Monitoring data for TRD2D std::vector<rich::UnpackMonitorData> fRich; ///< Monitoring data for RICH @@ -105,7 +105,7 @@ namespace cbm::algo /** @brief Parameters for TOF unpackers **/ tof::ReadoutConfig fTofConfig {}; - /** @brief Parameters for T0 unpackers **/ + /** @brief Parameters for Bmon unpackers **/ bmon::ReadoutConfig fBmonConfig {}; /** @brief Parameters for TRD unpackers **/ @@ -179,7 +179,7 @@ namespace cbm::algo /** @brief TOF unpackers **/ std::map<uint16_t, tof::Unpack> fAlgoTof = {}; - /** @brief T0 unpackers **/ + /** @brief Bmon unpackers **/ std::map<uint16_t, bmon::Unpack> fAlgoBmon = {}; /** @brief TRD unpackers **/ diff --git a/analysis/common/analysis_tree_converter/CbmRecEventHeaderConverter.cxx b/analysis/common/analysis_tree_converter/CbmRecEventHeaderConverter.cxx index efe6df5e841cac46841c474f60c99e36f5467fec..0ba9886141c62505a4823e0029564bba22e56419 100644 --- a/analysis/common/analysis_tree_converter/CbmRecEventHeaderConverter.cxx +++ b/analysis/common/analysis_tree_converter/CbmRecEventHeaderConverter.cxx @@ -39,7 +39,7 @@ void CbmRecEventHeaderConverter::Init() RecEventHeaderBranch.AddField<float>("start_time", "Start time of the event, ns"); RecEventHeaderBranch.AddField<float>("end_time", "End time of the event, ns"); RecEventHeaderBranch.AddField<float>("match_weight", ""); - RecEventHeaderBranch.AddField<float>("T0", "Reconstructed T0, ns"); + RecEventHeaderBranch.AddField<float>("Bmon", "Reconstructed Bmon, ns"); RecEventHeaderBranch.AddField<float>("tStartTS", "TS start time, ns"); ivtx_chi2_ = RecEventHeaderBranch.GetFieldId("vtx_chi2"); @@ -49,7 +49,7 @@ void CbmRecEventHeaderConverter::Init() istart_time_ = RecEventHeaderBranch.GetFieldId("start_time"); iend_time_ = RecEventHeaderBranch.GetFieldId("end_time"); imatch_weight_ = RecEventHeaderBranch.GetFieldId("match_weight"); - iT0_ = RecEventHeaderBranch.GetFieldId("T0"); + iBmon_ = RecEventHeaderBranch.GetFieldId("Bmon"); iTStartTS_ = RecEventHeaderBranch.GetFieldId("tStartTS"); auto* man = AnalysisTree::TaskManager::GetInstance(); @@ -71,12 +71,12 @@ void CbmRecEventHeaderConverter::ProcessData(CbmEvent* event) rec_event_header_->SetField(GetPsdEnergy(event), iEpsd_); int evt_id; - float match_weight, start_time, end_time, T0, tStartTS; + float match_weight, start_time, end_time, Bmon, tStartTS; if (event) { evt_id = event->GetUniqueID(); start_time = event->GetStartTime(); end_time = event->GetEndTime(); - T0 = event->GetTzero(); + Bmon = event->GetTzero(); tStartTS = fTimeSlice->GetStartTime(); @@ -89,14 +89,14 @@ void CbmRecEventHeaderConverter::ProcessData(CbmEvent* event) evt_id = cbm_header_->GetEventID(); start_time = cbm_header_->GetT(); end_time = cbm_header_->GetT(); - T0 = -999999.; + Bmon = -999999.; tStartTS = -1.; match_weight = 1.; } rec_event_header_->SetField(evt_id, ievt_id_); rec_event_header_->SetField(start_time, istart_time_); rec_event_header_->SetField(end_time, iend_time_); - rec_event_header_->SetField(T0, iT0_); + rec_event_header_->SetField(Bmon, iBmon_); rec_event_header_->SetField(tStartTS, iTStartTS_); rec_event_header_->SetField(match_weight, imatch_weight_); } diff --git a/analysis/common/analysis_tree_converter/CbmRecEventHeaderConverter.h b/analysis/common/analysis_tree_converter/CbmRecEventHeaderConverter.h index 87891680c78223a14a66857ece21798f6a8109a7..0818144388a9b4a0185259deba25ec9e0f7641de 100644 --- a/analysis/common/analysis_tree_converter/CbmRecEventHeaderConverter.h +++ b/analysis/common/analysis_tree_converter/CbmRecEventHeaderConverter.h @@ -43,7 +43,7 @@ private: int istart_time_ {AnalysisTree::UndefValueInt}; int iend_time_ {AnalysisTree::UndefValueInt}; int imatch_weight_ {AnalysisTree::UndefValueInt}; - int iT0_ {AnalysisTree::UndefValueInt}; + int iBmon_ {AnalysisTree::UndefValueInt}; int iTStartTS_ {AnalysisTree::UndefValueInt}; ClassDef(CbmRecEventHeaderConverter, 1) diff --git a/analysis/common/analysis_tree_converter/CbmSimEventHeaderConverter.cxx b/analysis/common/analysis_tree_converter/CbmSimEventHeaderConverter.cxx index 21222d01a92968c3e4380cd8c99999ecd36d921c..6328eea784dca32b17dbb98e5e5ee0bae7763c3e 100644 --- a/analysis/common/analysis_tree_converter/CbmSimEventHeaderConverter.cxx +++ b/analysis/common/analysis_tree_converter/CbmSimEventHeaderConverter.cxx @@ -39,7 +39,7 @@ void CbmSimEventHeaderConverter::Init() SimEventHeaderBranch.AddFields<float>({"start_time", "end_time"}, "ns (?), event time"); SimEventHeaderBranch.AddField<int>("run_id", "run identifier"); SimEventHeaderBranch.AddField<int>("event_id", "event identifier"); - SimEventHeaderBranch.AddField<float>("T0", "MC event time, ns"); + SimEventHeaderBranch.AddField<float>("Bmon", "MC event time, ns"); ipsi_RP_ = SimEventHeaderBranch.GetFieldId("psi_RP"); ib_ = SimEventHeaderBranch.GetFieldId("b"); @@ -47,7 +47,7 @@ void CbmSimEventHeaderConverter::Init() iend_time_ = SimEventHeaderBranch.GetFieldId("end_time"); irun_id_ = SimEventHeaderBranch.GetFieldId("run_id"); ievent_id_ = SimEventHeaderBranch.GetFieldId("event_id"); - iT0_ = SimEventHeaderBranch.GetFieldId("T0"); + iBmon_ = SimEventHeaderBranch.GetFieldId("Bmon"); auto* man = AnalysisTree::TaskManager::GetInstance(); man->AddBranch(sim_event_header_, SimEventHeaderBranch); @@ -71,7 +71,7 @@ void CbmSimEventHeaderConverter::ProcessData(CbmEvent* event) if (!cbm_header) { throw std::runtime_error("CbmSimEventHeaderConverter::Exec - ERROR! No fHeader!"); } - LOG(info) << "MCEvent " << cbm_header->GetEventID() << " with T0 " + LOG(info) << "MCEvent " << cbm_header->GetEventID() << " with Bmon " << cbm_mc_event_list_->GetEventTime(event_id, file_id); TVector3 pos {cbm_header->GetX(), cbm_header->GetY(), cbm_header->GetZ()}; @@ -81,7 +81,7 @@ void CbmSimEventHeaderConverter::ProcessData(CbmEvent* event) sim_event_header_->SetField(float(cbm_header->GetB()), ib_); sim_event_header_->SetField(int(cbm_header->GetEventID()), ievent_id_); sim_event_header_->SetField(int(cbm_header->GetRunID()), irun_id_); - sim_event_header_->SetField(float(cbm_mc_event_list_->GetEventTime(event_id, file_id)), iT0_); + sim_event_header_->SetField(float(cbm_mc_event_list_->GetEventTime(event_id, file_id)), iBmon_); if (event) { LOG(info) << "TIME: " << event->GetStartTime() << " " << event->GetEndTime(); diff --git a/analysis/common/analysis_tree_converter/CbmSimEventHeaderConverter.h b/analysis/common/analysis_tree_converter/CbmSimEventHeaderConverter.h index f43eff6c3e309569b571cf9e59042850035b68d7..ced4c83d26eba4ad5d6dcb704000e8f0205b74f3 100644 --- a/analysis/common/analysis_tree_converter/CbmSimEventHeaderConverter.h +++ b/analysis/common/analysis_tree_converter/CbmSimEventHeaderConverter.h @@ -38,7 +38,7 @@ private: int iend_time_ {AnalysisTree::UndefValueInt}; int irun_id_ {AnalysisTree::UndefValueInt}; int ievent_id_ {AnalysisTree::UndefValueInt}; - int iT0_ {AnalysisTree::UndefValueInt}; + int iBmon_ {AnalysisTree::UndefValueInt}; ClassDef(CbmSimEventHeaderConverter, 1) }; diff --git a/analysis/detectors/psd/CbmPsdMCbmQaReal.cxx b/analysis/detectors/psd/CbmPsdMCbmQaReal.cxx index 56395cac77335b9857725d33b58d38f776a10627..84767b62ba7e284a5b4940942f82cbd32dcdff86 100644 --- a/analysis/detectors/psd/CbmPsdMCbmQaReal.cxx +++ b/analysis/detectors/psd/CbmPsdMCbmQaReal.cxx @@ -52,7 +52,7 @@ using boost::assign::list_of; CbmPsdMCbmQaReal::CbmPsdMCbmQaReal() : FairTask("CbmPsdMCbmQaReal") - , fT0Digis(nullptr) + , fBmonDigis(nullptr) , fPsdHits(nullptr) , fTofHits(nullptr) , fTofTracks(nullptr) @@ -87,8 +87,8 @@ InitStatus CbmPsdMCbmQaReal::Init() fTofTracks = (TClonesArray*) ioman->GetObject("TofTracks"); if (nullptr == fTofTracks) { Fatal("CbmPsdMCbmQaReal::Init", "No Tof Tracks!"); } - // fT0Digis =(TClonesArray*) ioman->GetObject("CbmT0Digi"); - // if (nullptr == fT0Digis) { Fatal("CbmPsdMCbmQaReal::Init", "No T0 Digis!");} + // fBmonDigis =(TClonesArray*) ioman->GetObject("CbmBmonDigi"); + // if (nullptr == fBmonDigis) { Fatal("CbmPsdMCbmQaReal::Init", "No Bmon Digis!");} fCbmEvent = (TClonesArray*) ioman->GetObject("CbmEvent"); if (nullptr == fCbmEvent) { Fatal("CbmPsdMCbmQaReal::Init", "No Event!"); } @@ -121,7 +121,7 @@ void CbmPsdMCbmQaReal::InitHistograms() fHM->Create1<TH1D>("fhPsdDigisTimeLog", "fhNofPsdDigisTimeLog;Time [ns];Counts", 400, 0., 0.); fHM->Create1<TH1D>("fhTofDigisTimeLog", "fhTofDigisTimeLog;Time [ns];Counts", 400, 0., 0.); fHM->Create1<TH1D>("fhStsDigisTimeLog", "fhStsDigisTimeLog;Time [ns];Counts", 400, 0., 0.); - fHM->Create1<TH1D>("fhT0DigisTimeLog", "fhT0DigisTimeLog;Time [ns];Counts", 400, 0., 0.); + fHM->Create1<TH1D>("fhBmonDigisTimeLog", "fhBmonDigisTimeLog;Time [ns];Counts", 400, 0., 0.); //Edep fHM->Create1<TH1D>("fhPsdDigisEdep", "fhPsdDigisEdep;Edep [adc counts];Counts", 500, 0, 50000); @@ -168,7 +168,7 @@ void CbmPsdMCbmQaReal::Exec(Option_t* /*option*/) fHM->H1("fhPsdDigisTimeLog")->GetXaxis()->SetLimits(minTime, minTime + dT); fHM->H1("fhTofDigisTimeLog")->GetXaxis()->SetLimits(minTime, minTime + dT); fHM->H1("fhStsDigisTimeLog")->GetXaxis()->SetLimits(minTime, minTime + dT); - fHM->H1("fhT0DigisTimeLog")->GetXaxis()->SetLimits(minTime, minTime + dT); + fHM->H1("fhBmonDigisTimeLog")->GetXaxis()->SetLimits(minTime, minTime + dT); fDigiHitsInitialized = true; @@ -199,12 +199,12 @@ void CbmPsdMCbmQaReal::Exec(Option_t* /*option*/) } } - // int nofT0Digis = fT0Digis->GetEntriesFast(); - // for (int i = 0; i < nofT0Digis; i++) { - // CbmDigi* digi = static_cast<CbmDigi*>(fT0Digis->At(i)); - // fHM->H1("fhT0DigisTimeLog")->Fill(digi->GetTime() ); - // fHM->H1("fhT0DigisTimeLogZoom")->Fill(digi->GetTime() ); - // fHM->H1("fhT0DigisTimeLogZoom2")->Fill(digi->GetTime()); + // int nofBmonDigis = fBmonDigis->GetEntriesFast(); + // for (int i = 0; i < nofBmonDigis; i++) { + // CbmDigi* digi = static_cast<CbmDigi*>(fBmonDigis->At(i)); + // fHM->H1("fhBmonDigisTimeLog")->Fill(digi->GetTime() ); + // fHM->H1("fhBmonDigisTimeLogZoom")->Fill(digi->GetTime() ); + // fHM->H1("fhBmonDigisTimeLogZoom2")->Fill(digi->GetTime()); // } } @@ -249,7 +249,7 @@ void CbmPsdMCbmQaReal::Exec(Option_t* /*option*/) for (int j = 0; j < nofTofHitsInEvent; j++) { auto iTofHit = ev->GetIndex(ECbmDataType::kTofHit, j); CbmTofHit* tofHit = static_cast<CbmTofHit*>(fTofHits->At(iTofHit)); - //if (tofHit->GetZ() < 2.) continue; // Cut T0 away! + //if (tofHit->GetZ() < 2.) continue; // Cut Bmon away! fHM->H1("fhTofHitsZ")->Fill(tofHit->GetZ()); fHM->H1("fhTofHitsXZ")->Fill(tofHit->GetZ(), tofHit->GetX()); @@ -309,9 +309,9 @@ void CbmPsdMCbmQaReal::DrawHist() { fHM->CreateCanvas("psd_mcbm_DigisTimeLog", "psd_mcbm_DigisTimeLog", 1200, 1200); - DrawH1({fHM->H1("fhStsDigisTimeLog"), fHM->H1("fhTofDigisTimeLog"), fHM->H1("fhT0DigisTimeLog"), + DrawH1({fHM->H1("fhStsDigisTimeLog"), fHM->H1("fhTofDigisTimeLog"), fHM->H1("fhBmonDigisTimeLog"), fHM->H1("fhPsdDigisTimeLog")}, - {"STS", "TOF", "T0", "PSD"}, kLinear, kLog, true, 0.87, 0.75, 0.99, 0.99); + {"STS", "TOF", "Bmon", "PSD"}, kLinear, kLog, true, 0.87, 0.75, 0.99, 0.99); gPad->SetLeftMargin(0.1); gPad->SetRightMargin(0.10); fHM->H1("fhStsDigisTimeLog")->GetYaxis()->SetTitleOffset(0.7); diff --git a/analysis/detectors/psd/CbmPsdMCbmQaReal.h b/analysis/detectors/psd/CbmPsdMCbmQaReal.h index 5aec8b91b5b7c126ed6fcd208cfa18e310491028..46abc4e4cfd89b15f8867a124a00a9fb16dcca9e 100644 --- a/analysis/detectors/psd/CbmPsdMCbmQaReal.h +++ b/analysis/detectors/psd/CbmPsdMCbmQaReal.h @@ -76,7 +76,7 @@ public: private: CbmDigiManager* fDigiMan = nullptr; - TClonesArray* fT0Digis; + TClonesArray* fBmonDigis; TClonesArray* fPsdHits; TClonesArray* fTofHits; TClonesArray* fTofTracks; diff --git a/core/data/CbmDefs.h b/core/data/CbmDefs.h index c99b7ef258aec415ded530538885cce1656510fb..c09e0d805381ef12acc3404d702fa23f97418a85 100644 --- a/core/data/CbmDefs.h +++ b/core/data/CbmDefs.h @@ -48,7 +48,7 @@ enum class ECbmModuleId kPsd = 8, ///< Projectile spectator detector kHodo = 9, ///< Hodoscope (for test beam times) kDummyDet = 10, ///< Dummy for tutorials or tests - kBmon = 11, //< T0 Counter + kBmon = 11, //< Bmon Counter kTrd2d = 12, ///< TRD-FASP Detector (FIXME) kFsd = 13, ///< Forward spectator detector kNofSystems = 14, ///< For loops over active systems @@ -56,7 +56,7 @@ enum class ECbmModuleId kTarget = 18, ///< Target kPipe = 19, ///< Beam pipe kShield = 20, ///< Beam pipe shielding in MUCH section - // kBmon = 21, ///< T0 counter, hallo detector BMON + // kBmon = 21, ///< Bmon counter, hallo detector BMON kPlatform = 21, ///< RICH rail platform kCave = 22, ///< Cave kLastModule = 23, ///< For loops over all modules @@ -124,10 +124,10 @@ enum class ECbmDataType kPsdPoint = ToIntegralType(ECbmModuleId::kPsd) * 100, kPsdDigi, kPsdHit, // PSD - kT0Point = ToIntegralType(ECbmModuleId::kBmon) * 100, - kT0Digi, - kT0CalDigi, - kT0Hit, // BMON + kBmonPoint = ToIntegralType(ECbmModuleId::kBmon) * 100, + kBmonDigi, + kBmonCalDigi, + kBmonHit, // BMON kFsdPoint = ToIntegralType(ECbmModuleId::kFsd) * 100, kFsdDigi, kFsdHit, // Fsd diff --git a/core/data/CbmEvent.h b/core/data/CbmEvent.h index e51c70fcc19a8bda518f0db7342997abaf2fe7c7..8e790138fdb98ce8b36a7f0c921a504bb1d1ef16 100644 --- a/core/data/CbmEvent.h +++ b/core/data/CbmEvent.h @@ -170,7 +170,7 @@ public: /** Set t0 - ** @param tZero T0 measurement [ns] + ** @param tZero Bmon measurement [ns] **/ void SetTzero(double tZero) { fTzero = tZero; } @@ -217,7 +217,7 @@ private: int32_t fNumber = -1; ///< Event number double fTimeStart = 0.; ///< Event start time [ns] double fTimeEnd = 0.; ///< Event end time [ns] - double fTzero = -999999.; ///< T0 of event for TOF PID [ns] + double fTzero = -999999.; ///< Bmon of event for TOF PID [ns] CbmVertex fVertex = {}; ///< Primary Vertex CbmMatch* fMatch = nullptr; ///< Match object to MCEvent diff --git a/core/data/base/CbmDigiData.h b/core/data/base/CbmDigiData.h index 7d2ba2e243ef4be371b63f8d01b688cc209b4f81..5d802e0625b34d72cb1609bee55dd4522c58577e 100644 --- a/core/data/base/CbmDigiData.h +++ b/core/data/base/CbmDigiData.h @@ -32,7 +32,7 @@ class CbmDigiData { public: - CbmBmonDigiData fT0; ///< Beam monitor data + CbmBmonDigiData fBmon; ///< Beam monitor data CbmStsDigiData fSts; ///< STS data CbmMuchDigiData fMuch; ///< MUCH data CbmRichDigiData fRich; ///< RICH data @@ -48,7 +48,7 @@ public: void serialize(Archive& ar, const unsigned int /*version*/) { // note, version is always the latest when saving - ar& fT0; + ar& fBmon; ar& fSts; ar& fMuch; ar& fTrd; @@ -67,7 +67,7 @@ public: /** @brief Clear content **/ void Clear() { - fT0.Clear(); + fBmon.Clear(); fSts.Clear(); fMuch.Clear(); fTrd.Clear(); @@ -82,7 +82,7 @@ public: size_t Size(ECbmModuleId system) const { switch (system) { - case ECbmModuleId::kBmon: return fT0.Size(); break; + case ECbmModuleId::kBmon: return fBmon.Size(); break; case ECbmModuleId::kSts: return fSts.Size(); break; case ECbmModuleId::kMuch: return fMuch.Size(); break; case ECbmModuleId::kTrd: return fTrd.Size(); break; diff --git a/core/data/bmon/CbmBmonDigi.h b/core/data/bmon/CbmBmonDigi.h index 52fe5e9c3152e297c3add0c7bffb5d3a8998c759..200e72d0cec551bb7ee3c15e4aac8364fab5aab4 100644 --- a/core/data/bmon/CbmBmonDigi.h +++ b/core/data/bmon/CbmBmonDigi.h @@ -58,15 +58,15 @@ public: ~CbmBmonDigi() {}; /** @brief Get the desired name of the branch for this objects in the cbm output tree (static) - ** @return "T0Digi" + ** @return "BmonDigi" **/ - static const char* GetBranchName() { return "T0Digi"; } + static const char* GetBranchName() { return "BmonDigi"; } /** @brief Class name (static) ** @return CbmBmonDigi **/ - static const char* GetClassName() { return "CbmT0Digi"; } + static const char* GetClassName() { return "CbmBmonDigi"; } /** System ID (static) diff --git a/core/data/raw/TimesliceMetaData.h b/core/data/raw/TimesliceMetaData.h index 97a683ae84947efc9bfccb33e4810f0b65c069e8..0616037453bdd6d9b40a8e8441cf0b4996b6c5a3 100644 --- a/core/data/raw/TimesliceMetaData.h +++ b/core/data/raw/TimesliceMetaData.h @@ -41,7 +41,7 @@ private: uint64_t fulOverlapNs = 1280000; // 1 MS * 1280000 ns (with TRD), default to update in source uint64_t fulIndex = 0; /* - uint64_t fulErrorsNbT0 = 0; + uint64_t fulErrorsNbBmon = 0; uint64_t fulErrorsNbSts = 0; uint64_t fulErrorsNbMuch = 0; uint64_t fulErrorsNbTof = 0; diff --git a/core/data/test/bmon/_GTestCbmBmonDigi.cxx b/core/data/test/bmon/_GTestCbmBmonDigi.cxx index fcb1cc98ecceec4519109452690a6436115a17b1..9e79e35ebe9b84e6138e8720e2bb847c1838084b 100644 --- a/core/data/test/bmon/_GTestCbmBmonDigi.cxx +++ b/core/data/test/bmon/_GTestCbmBmonDigi.cxx @@ -105,15 +105,15 @@ TEST(_GTestCbmBmonDigi, CheckAssignmentMoveConstructor) compareBmonDigiDataMembers(test, 111, ECbmModuleId::kBmon, 987654321., 23.); } -//TEST(_GTestCbmBmonDigi, CheckGetClassName) -//{ -// Create object -// CbmBmonDigi test(111, 987654321., 23.); +TEST(_GTestCbmBmonDigi, CheckGetClassName) +{ + // Create object + CbmBmonDigi test(111, 987654321., 23.); -// compareBmonDigiDataMembers(test, 111, ECbmModuleId::kBmon, 987654321., 23.); + compareBmonDigiDataMembers(test, 111, ECbmModuleId::kBmon, 987654321., 23.); -// EXPECT_STREQ("CbmBmonDigi", test.GetClassName()); -//} + EXPECT_STREQ("CbmBmonDigi", test.GetClassName()); +} TEST(_GTestCbmBmonDigi, CheckSetTime) { diff --git a/core/data/tof/CbmTofTracklet.cxx b/core/data/tof/CbmTofTracklet.cxx index 5179c02b0bf3b5009c29534a15b3f3be7758878c..87820b0dd17b274e688d169539833fe4ed2dc734 100644 --- a/core/data/tof/CbmTofTracklet.cxx +++ b/core/data/tof/CbmTofTracklet.cxx @@ -174,7 +174,7 @@ double CbmTofTracklet::GetTex(CbmTofHit* pHit) */ /* double dR = pHit->GetR(); - LOG(debug) <<Form(" CbmTofTracklet::GetTex T0 %7.1f dR %7.1f, Tt %7.4f => Tex %7.3f, ", + LOG(debug) <<Form(" CbmTofTracklet::GetTex Bmon %7.1f dR %7.1f, Tt %7.4f => Tex %7.3f, ", fT0,dR,fTt,fT0 + dR*fTt) <<fTrackPar.ToString() ; @@ -184,7 +184,7 @@ double CbmTofTracklet::GetTex(CbmTofHit* pHit) double dSign = 1.; if (pHit->GetZ() < fhit[0].GetZ()) dSign = -1; double dTex = fhit[0].GetTime() + fTt * dSign * Dist3D(pHit, &fhit[0]); - LOG(debug) << Form("GetTex T0 %7.3f, Z %7.1f, DZ %5.1f, Sign %2.0f, Tt %7.4f => Tex %7.3f, ", fhit[0].GetTime(), dZ, + LOG(debug) << Form("GetTex Bmon %7.3f, Z %7.1f, DZ %5.1f, Sign %2.0f, Tt %7.4f => Tex %7.3f, ", fhit[0].GetTime(), dZ, dZ - fhit[0].GetZ(), dSign, fTt, dTex) << fTrackPar.ToString(); return dTex; @@ -192,7 +192,7 @@ double CbmTofTracklet::GetTex(CbmTofHit* pHit) double CbmTofTracklet::UpdateT0() { //returns estimated time at R=0 - // double dT0=0.; + // double dBmon=0.; int32_t nValidHits = 0; int32_t iHit1; double dDist1; @@ -261,7 +261,7 @@ double CbmTofTracklet::UpdateT0() double esum = 0; // RR=R^2 in numerator, e denotes 1 in numerator , Rt= R*t in numerator double Rtsum = 0; // double sig_weight = 0; // ae^2 - double yoffset = at[0] - 10; // T0 time offset to scale times to ns regime and not 10^10ns + double yoffset = at[0] - 10; // Bmon time offset to scale times to ns regime and not 10^10ns for (int32_t i = 0; i < nValidHits; i++) { at[i] -= yoffset; // substract offset sig_weight = (ae[i] * ae[i]); @@ -284,8 +284,8 @@ double CbmTofTracklet::UpdateT0() //if (iHit0>-1) fhit[iHit0].SetTime(fT0); - LOG(debug) << Form("Trkl size %u, validHits %d, Tt = %6.4f TtErr = %2.4f T0 " - "= %6.2f T0Err = %2.2f T0TtCov = %6.4f", + LOG(debug) << Form("Trkl size %u, validHits %d, Tt = %6.4f TtErr = %2.4f Bmon " + "= %6.2f BmonErr = %2.2f BmonTtCov = %6.4f", (uint32_t) fTofHit.size(), nValidHits, fTt, fTtErr, fT0, fT0Err, fT0TtCov); return fT0; diff --git a/core/detectors/tof/CbmMcbm2018TofPar.cxx b/core/detectors/tof/CbmMcbm2018TofPar.cxx index 59f3c986832ff37ac55268440030607c1ddd4226..1674f521043c28a074ec2f6033b9754d29009ac6 100644 --- a/core/detectors/tof/CbmMcbm2018TofPar.cxx +++ b/core/detectors/tof/CbmMcbm2018TofPar.cxx @@ -230,13 +230,13 @@ void CbmMcbm2018TofPar::BuildChannelsUidMap() break; } case 5: { - /// Special Treatment for the T0 diamond - BuildChannelsUidMapT0(uCh, uGbtx); + /// Special Treatment for the Bmon diamond + BuildChannelsUidMapBmon(uCh, uGbtx); break; } case 99: { - /// Special Treatment for the 2022 T0 diamond, keep past behavior for older data! - BuildChannelsUidMapT0_2022(uCh, uGbtx); + /// Special Treatment for the 2022 Bmon diamond, keep past behavior for older data! + BuildChannelsUidMapBmon_2022(uCh, uGbtx); break; } case 78: { @@ -341,7 +341,7 @@ void CbmMcbm2018TofPar::BuildChannelsUidMapStar(UInt_t& uCh, UInt_t uGbtx) uCh += 64; } // ------------------------------------------------------------------------- -void CbmMcbm2018TofPar::BuildChannelsUidMapT0(UInt_t& uCh, UInt_t uGbtx) +void CbmMcbm2018TofPar::BuildChannelsUidMapBmon(UInt_t& uCh, UInt_t uGbtx) { LOG(info) << " Map diamond at GBTX - uCh = " << uCh; for (UInt_t uFee = 0; uFee < kuNbFeePerGbtx; ++uFee) { @@ -354,18 +354,18 @@ void CbmMcbm2018TofPar::BuildChannelsUidMapT0(UInt_t& uCh, UInt_t uGbtx) case 4: { /// 2019 mapping with 320/640 Mb/s FW /// => 4 GET4 per GBTx - /// => 1 T0 channel per GET4 + /// => 1 Bmon channel per GET4 /// => 1-2 eLinks per GET4 => GET4 ID = GET4 * 2 (+ 1) - UInt_t uChannelT0 = uFeeCh / 8 + 4 * fiRpcSide[uGbtx]; - fviRpcChUId[uCh] = CbmTofAddress::GetUniqueAddress(fiModuleId[uGbtx], 0, uChannelT0, 0, fiRpcType[uGbtx]); - LOG(info) << Form("T0 channel: %u from GBTx %2u Fee %2u " + UInt_t uChannelBmon = uFeeCh / 8 + 4 * fiRpcSide[uGbtx]; + fviRpcChUId[uCh] = CbmTofAddress::GetUniqueAddress(fiModuleId[uGbtx], 0, uChannelBmon, 0, fiRpcType[uGbtx]); + LOG(info) << Form("Bmon channel: %u from GBTx %2u Fee %2u " "Channel %2u, indx %d address %08x", - uChannelT0, uGbtx, uFeeCh, uCh, uCh, fviRpcChUId[uCh]); + uChannelBmon, uGbtx, uFeeCh, uCh, uCh, fviRpcChUId[uCh]); break; - } // Valid T0 channel + } // Valid Bmon channel default: { fviRpcChUId[uCh] = 0; - } // Invalid T0 channel + } // Invalid Bmon channel } // switch( uCh % 4 ) } // if( 0 == uFee ) @@ -374,7 +374,7 @@ void CbmMcbm2018TofPar::BuildChannelsUidMapT0(UInt_t& uCh, UInt_t uGbtx) } // for( UInt_t uFee = 0; uFee < kuNbChannelsPerFee; ++uFee ) } // ------------------------------------------------------------------------- -void CbmMcbm2018TofPar::BuildChannelsUidMapT0_2022(UInt_t& uCh, UInt_t uGbtx) +void CbmMcbm2018TofPar::BuildChannelsUidMapBmon_2022(UInt_t& uCh, UInt_t uGbtx) { LOG(info) << " Map 2022 diamond " << fiModuleId[uGbtx] << " at GBTX " << uGbtx << " - uCh = " << uCh; for (UInt_t uGet4 = 0; uGet4 < kuNbGet4PerGbtx; ++uGet4) { @@ -383,16 +383,16 @@ void CbmMcbm2018TofPar::BuildChannelsUidMapT0_2022(UInt_t& uCh, UInt_t uGbtx) if (-1 < fiModuleId[uGbtx] && uGet4 < 32 && 0 == uGet4 % 4 && 0 == uGet4Ch) { /// 1 channel per physical GET4, 2 links per physical GET4, 4 physical GET4s per GBTx, 1 GBTx per comp. /// 16 channels for one side, 16 for the other - UInt_t uChannelT0 = (uGet4 / 8 + 4 * (uGbtx / 2)) % 16; - /// Type hard-coded to allow different parameter values to separate 2022 T0 and pre-2022 T0 - fviRpcChUId[uCh] = CbmTofAddress::GetUniqueAddress(fiModuleId[uGbtx], 0, uChannelT0, fiRpcSide[uGbtx], 5); + UInt_t uChannelBmon = (uGet4 / 8 + 4 * (uGbtx / 2)) % 16; + /// Type hard-coded to allow different parameter values to separate 2022 Bmon and pre-2022 Bmon + fviRpcChUId[uCh] = CbmTofAddress::GetUniqueAddress(fiModuleId[uGbtx], 0, uChannelBmon, fiRpcSide[uGbtx], 5); LOG(info) << Form(" Bmon channel: %u side %u from GBTx %2u, " "indx %d address %08x", - uChannelT0, fiRpcSide[uGbtx], uGbtx, uCh, fviRpcChUId[uCh]); - } // Valid T0 channel + uChannelBmon, fiRpcSide[uGbtx], uGbtx, uCh, fviRpcChUId[uCh]); + } // Valid Bmon channel else { fviRpcChUId[uCh] = 0; - } // Invalid T0 channel + } // Invalid Bmon channel uCh++; } // for( UInt_t uCh = 0; uCh < kuNbFeePerGbtx; ++uCh ) } // for( UInt_t uFee = 0; uFee < kuNbChannelsPerFee; ++uFee ) diff --git a/core/detectors/tof/CbmMcbm2018TofPar.h b/core/detectors/tof/CbmMcbm2018TofPar.h index 338fb98fc830f9d00bfc7772ecb8d92db69e3fc1..a1ae088ab4eab93118d646825fc1bf7fcfdbb7e3 100644 --- a/core/detectors/tof/CbmMcbm2018TofPar.h +++ b/core/detectors/tof/CbmMcbm2018TofPar.h @@ -87,8 +87,8 @@ private: void BuildChannelsUidMap(); void BuildChannelsUidMapCbm(UInt_t& uCh, UInt_t uGbtx); void BuildChannelsUidMapStar(UInt_t& uCh, UInt_t uGbtx); - void BuildChannelsUidMapT0(UInt_t& uCh, UInt_t uGbtx); - void BuildChannelsUidMapT0_2022(UInt_t& uCh, UInt_t uGbtx); + void BuildChannelsUidMapBmon(UInt_t& uCh, UInt_t uGbtx); + void BuildChannelsUidMapBmon_2022(UInt_t& uCh, UInt_t uGbtx); void BuildChannelsUidMapCern(UInt_t& uCh, UInt_t uGbtx); void BuildChannelsUidMapCera(UInt_t& uCh, UInt_t uGbtx); void BuildChannelsUidMapStar2(UInt_t& uCh, UInt_t uGbtx); diff --git a/core/detectors/tof/CbmTofTrackingInterface.cxx b/core/detectors/tof/CbmTofTrackingInterface.cxx index e74eba5d36079dcfba0198c0b687c63de2f89d14..5135054088e8e9fa504b1e9d9a03224063301689 100644 --- a/core/detectors/tof/CbmTofTrackingInterface.cxx +++ b/core/detectors/tof/CbmTofTrackingInterface.cxx @@ -95,8 +95,8 @@ InitStatus CbmTofTrackingInterface::Init() auto chLoBoarderY = chPosY - chSizeY; auto chUpBoarderY = chPosY + chSizeY; - // Cuts on T0 and undefined station ID - if (5 == iSmType) { continue; } // Skip T0 + // Cuts on Bmon and undefined station ID + if (5 == iSmType) { continue; } // Skip Bmon if (iStation < 0) { continue; } fTofStationZ[iStation] += chPosZ; diff --git a/core/detectors/trd/CbmMcbm2020TrdTshiftPar.cxx b/core/detectors/trd/CbmMcbm2020TrdTshiftPar.cxx index 0c00d4103b00e15bc2f9d28f02079bdc59ba8f7a..f0778d6247ec0e9d01eee1200f22758e0eeddcd5 100644 --- a/core/detectors/trd/CbmMcbm2020TrdTshiftPar.cxx +++ b/core/detectors/trd/CbmMcbm2020TrdTshiftPar.cxx @@ -204,13 +204,13 @@ std::shared_ptr<TH3> CbmMcbm2020TrdTshiftPar::GetCalibHisto(std::shared_ptr<TFil THnSparse* hsparse = nullptr; // std::vector<CTAVM::eVars> varvec = {CTAVM::eVars::kTsSourceTsIndex, CTAVM::eVars::kDigiTrdChannel, CTAVM::eVars::kDigiDtCorrSlice}; - // auto fillstation = CTAH::eFillStation::kTrdT0Digi; + // auto fillstation = CTAH::eFillStation::kTrdBmonDigi; // auto htype = (int) CTAH::eHistoType::kGlobal; // histo = // (THnSparseD*) CTAH::GetHistoFromFile(varvec, fillstation, htype, mcbmanafile); - std::string hpath = "FillStation-TrdT0Digi/FullTrd/" - "TsSourceTsIndex_DigiTrdChannel_DigiDtCorrSlice-TrdT0Digi"; + std::string hpath = "FillStation-TrdBmonDigi/FullTrd/" + "TsSourceTsIndex_DigiTrdChannel_DigiDtCorrSlice-TrdBmonDigi"; hsparse = mcbmanafile->Get<THnSparse>(hpath.data()); LOG_IF(fatal, !hsparse) << " CbmMcbm2020TrdTshiftPar::GetCalibHisto " << hpath.data() << " not found in the file" diff --git a/core/eventdisplay/CbmTimeslicePixelHitSetDraw.cxx b/core/eventdisplay/CbmTimeslicePixelHitSetDraw.cxx index ef16878450e3fb3c29d90c7db0e437a58fb84f5a..5c6e70265b8a7f32b98c24fa101bc92fe7406bd2 100644 --- a/core/eventdisplay/CbmTimeslicePixelHitSetDraw.cxx +++ b/core/eventdisplay/CbmTimeslicePixelHitSetDraw.cxx @@ -69,8 +69,8 @@ InitStatus CbmTimeslicePixelHitSetDraw::Init() else if ("PsdHit" == sName) { // fDataType = ECbmDataType::kPsdHit; } - else if ("T0Hit" == sName) { // - fDataType = ECbmDataType::kT0Hit; + else if ("BmonHit" == sName) { // + fDataType = ECbmDataType::kBmonHit; } else { fDataType = ECbmDataType::kUnknown; diff --git a/fles/mcbm2018/CMakeLists.txt b/fles/mcbm2018/CMakeLists.txt index 4ed7d71706e95b20ddf6c01801c0123c89451b0d..74c4db961271ef5690de307436c1bbec94435dd8 100644 --- a/fles/mcbm2018/CMakeLists.txt +++ b/fles/mcbm2018/CMakeLists.txt @@ -38,8 +38,8 @@ set(SRCS monitor/CbmCheckDataFormatGdpb2018.cxx monitor/CbmMcbm2018MonitorDataRates.cxx - monitor/CbmMcbm2018MonitorAlgoT0.cxx - monitor/CbmMcbm2018MonitorTaskT0.cxx + monitor/CbmMcbm2018MonitorAlgoBmon.cxx + monitor/CbmMcbm2018MonitorTaskBmon.cxx monitor/CbmMcbm2018MonitorMcbmRate.cxx monitor/CbmMcbm2018MonitorMcbmSync.cxx monitor/CbmMcbm2018MonitorMcbmPulser.cxx diff --git a/fles/mcbm2018/CbmFlibMcbm2018LinkDef.h b/fles/mcbm2018/CbmFlibMcbm2018LinkDef.h index 73f2fa101ee606def1950ff076ae914f08bd4350..09b2bbb1a99b9d38176b785cd0bfc7e3cae062f6 100644 --- a/fles/mcbm2018/CbmFlibMcbm2018LinkDef.h +++ b/fles/mcbm2018/CbmFlibMcbm2018LinkDef.h @@ -33,8 +33,8 @@ #pragma link C++ class CbmCheckDataFormatGdpb2018; #pragma link C++ class CbmMcbm2018MonitorDataRates; -#pragma link C++ class CbmMcbm2018MonitorAlgoT0; -#pragma link C++ class CbmMcbm2018MonitorTaskT0; +#pragma link C++ class CbmMcbm2018MonitorAlgoBmon; +#pragma link C++ class CbmMcbm2018MonitorTaskBmon; #pragma link C++ class CbmMcbm2018MonitorMcbmRate; #pragma link C++ class CbmMcbm2018MonitorMcbmSync; #pragma link C++ class CbmMcbm2018MonitorMcbmPulser; diff --git a/fles/mcbm2018/monitor/CbmMcbm2018MonitorAlgoT0.cxx b/fles/mcbm2018/monitor/CbmMcbm2018MonitorAlgoBmon.cxx similarity index 91% rename from fles/mcbm2018/monitor/CbmMcbm2018MonitorAlgoT0.cxx rename to fles/mcbm2018/monitor/CbmMcbm2018MonitorAlgoBmon.cxx index 62aa368f731c0c52c459fb6b4cd073c092eab600..d9523932d7a0f4a502ac9413efcbaf491719c189 100644 --- a/fles/mcbm2018/monitor/CbmMcbm2018MonitorAlgoT0.cxx +++ b/fles/mcbm2018/monitor/CbmMcbm2018MonitorAlgoBmon.cxx @@ -4,12 +4,12 @@ // ----------------------------------------------------------------------------- // ----- ----- -// ----- CbmMcbm2018MonitorAlgoT0 ----- +// ----- CbmMcbm2018MonitorAlgoBmon ----- // ----- Created 10.02.2019 by P.-A. Loizeau ----- // ----- ----- // ----------------------------------------------------------------------------- -#include "CbmMcbm2018MonitorAlgoT0.h" +#include "CbmMcbm2018MonitorAlgoBmon.h" #include "CbmFlesHistosTools.h" #include "CbmFormatMsHeaderPrintout.h" @@ -39,8 +39,8 @@ #include <stdint.h> // ------------------------------------------------------------------------- -CbmMcbm2018MonitorAlgoT0::CbmMcbm2018MonitorAlgoT0() : CbmStar2019Algo() {} -CbmMcbm2018MonitorAlgoT0::~CbmMcbm2018MonitorAlgoT0() +CbmMcbm2018MonitorAlgoBmon::CbmMcbm2018MonitorAlgoBmon() : CbmStar2019Algo() {} +CbmMcbm2018MonitorAlgoBmon::~CbmMcbm2018MonitorAlgoBmon() { /// Clear buffers fvmHitsInMs.clear(); @@ -51,14 +51,14 @@ CbmMcbm2018MonitorAlgoT0::~CbmMcbm2018MonitorAlgoT0() } // ------------------------------------------------------------------------- -Bool_t CbmMcbm2018MonitorAlgoT0::Init() +Bool_t CbmMcbm2018MonitorAlgoBmon::Init() { - LOG(info) << "Initializing mCBM T0 2019 monitor algo"; + LOG(info) << "Initializing mCBM Bmon 2019 monitor algo"; return kTRUE; } -void CbmMcbm2018MonitorAlgoT0::Reset() {} -void CbmMcbm2018MonitorAlgoT0::Finish() +void CbmMcbm2018MonitorAlgoBmon::Reset() {} +void CbmMcbm2018MonitorAlgoBmon::Finish() { /// Printout Goodbye message and stats @@ -66,17 +66,17 @@ void CbmMcbm2018MonitorAlgoT0::Finish() } // ------------------------------------------------------------------------- -Bool_t CbmMcbm2018MonitorAlgoT0::InitContainers() +Bool_t CbmMcbm2018MonitorAlgoBmon::InitContainers() { - LOG(info) << "Init parameter containers for CbmMcbm2018MonitorAlgoT0"; + LOG(info) << "Init parameter containers for CbmMcbm2018MonitorAlgoBmon"; Bool_t initOK = ReInitContainers(); return initOK; } -Bool_t CbmMcbm2018MonitorAlgoT0::ReInitContainers() +Bool_t CbmMcbm2018MonitorAlgoBmon::ReInitContainers() { LOG(info) << "**********************************************"; - LOG(info) << "ReInit parameter containers for CbmMcbm2018MonitorAlgoT0"; + LOG(info) << "ReInit parameter containers for CbmMcbm2018MonitorAlgoBmon"; fUnpackPar = (CbmMcbm2018TofPar*) fParCList->FindObject("CbmMcbm2018TofPar"); if (nullptr == fUnpackPar) return kFALSE; @@ -85,7 +85,7 @@ Bool_t CbmMcbm2018MonitorAlgoT0::ReInitContainers() return initOK; } -TList* CbmMcbm2018MonitorAlgoT0::GetParList() +TList* CbmMcbm2018MonitorAlgoBmon::GetParList() { if (nullptr == fParCList) fParCList = new TList(); fUnpackPar = new CbmMcbm2018TofPar("CbmMcbm2018TofPar"); @@ -93,7 +93,7 @@ TList* CbmMcbm2018MonitorAlgoT0::GetParList() return fParCList; } -Bool_t CbmMcbm2018MonitorAlgoT0::InitParameters() +Bool_t CbmMcbm2018MonitorAlgoBmon::InitParameters() { fuNrOfGdpbs = fUnpackPar->GetNrOfGdpbs(); @@ -138,7 +138,7 @@ Bool_t CbmMcbm2018MonitorAlgoT0::InitParameters() } // ------------------------------------------------------------------------- -void CbmMcbm2018MonitorAlgoT0::AddMsComponentToList(size_t component, UShort_t usDetectorId) +void CbmMcbm2018MonitorAlgoBmon::AddMsComponentToList(size_t component, UShort_t usDetectorId) { /// Check for duplicates and ignore if it is the case for (UInt_t uCompIdx = 0; uCompIdx < fvMsComponentsList.size(); ++uCompIdx) @@ -147,12 +147,12 @@ void CbmMcbm2018MonitorAlgoT0::AddMsComponentToList(size_t component, UShort_t u /// Add to list fvMsComponentsList.push_back(component); - LOG(info) << "CbmMcbm2018MonitorAlgoT0::AddMsComponentToList => Component " << component << " with detector ID 0x" + LOG(info) << "CbmMcbm2018MonitorAlgoBmon::AddMsComponentToList => Component " << component << " with detector ID 0x" << std::hex << usDetectorId << std::dec << " added to list"; } // ------------------------------------------------------------------------- -Bool_t CbmMcbm2018MonitorAlgoT0::ProcessTs(const fles::Timeslice& ts) +Bool_t CbmMcbm2018MonitorAlgoBmon::ProcessTs(const fles::Timeslice& ts) { fulCurrentTsIdx = ts.index(); fdTsStartTime = static_cast<Double_t>(ts.descriptor(0, 0).idx); @@ -232,7 +232,7 @@ Bool_t CbmMcbm2018MonitorAlgoT0::ProcessTs(const fles::Timeslice& ts) return kTRUE; } -Bool_t CbmMcbm2018MonitorAlgoT0::ProcessMs(const fles::Timeslice& ts, size_t uMsCompIdx, size_t uMsIdx) +Bool_t CbmMcbm2018MonitorAlgoBmon::ProcessMs(const fles::Timeslice& ts, size_t uMsCompIdx, size_t uMsIdx) { auto msDescriptor = ts.descriptor(uMsCompIdx, uMsIdx); fuCurrentEquipmentId = msDescriptor.eq_id; @@ -360,8 +360,8 @@ Bool_t CbmMcbm2018MonitorAlgoT0::ProcessMs(const fles::Timeslice& ts, size_t uMs fuGet4Id = mess.getGdpbGenChipId(); ; fuGet4Nr = (fuCurrDpbIdx * fuNrOfGet4PerGdpb) + fuGet4Id; - // UInt_t uChannelT0 = ( fuGet4Id < 32 ) ? ( fuGet4Id / 8 ) : (fuGet4Id / 8 - 1); /// December 2018 mapping - UInt_t uChannelT0 = fuGet4Id / 2 + 4 * fuCurrDpbIdx; /// 2019 mapping with 320/640 Mb/s FW + // UInt_t uChannelBmon = ( fuGet4Id < 32 ) ? ( fuGet4Id / 8 ) : (fuGet4Id / 8 - 1); /// December 2018 mapping + UInt_t uChannelBmon = fuGet4Id / 2 + 4 * fuCurrDpbIdx; /// 2019 mapping with 320/640 Mb/s FW if (fuNrOfGet4PerGdpb <= fuGet4Id && !mess.isStarTrigger() && (gdpbv100::kuChipIdMergedEpoch != fuGet4Id)) LOG(warning) << "Message with Get4 ID too high: " << fuGet4Id << " VS " << fuNrOfGet4PerGdpb @@ -379,15 +379,15 @@ Bool_t CbmMcbm2018MonitorAlgoT0::ProcessMs(const fles::Timeslice& ts, size_t uMs fhErrorFractEvo->Fill(fdMsTime - fdStartTime, 0.0); fhLostEvtFractEvo->Fill(fdMsTime - fdStartTime, 0.0); - fvhErrorFractEvoChan[uChannelT0]->Fill(fdMsTime - fdStartTime, 0.0); - fvhEvtLostFractEvoChan[uChannelT0]->Fill(fdMsTime - fdStartTime, 0.0); + fvhErrorFractEvoChan[uChannelBmon]->Fill(fdMsTime - fdStartTime, 0.0); + fvhEvtLostFractEvoChan[uChannelBmon]->Fill(fdMsTime - fdStartTime, 0.0); fhMsgCntEvo->Fill(fdMsTime - fdStartTime); fhHitCntEvo->Fill(fdMsTime - fdStartTime); - fvhHitCntEvoChan[uChannelT0]->Fill(fdMsTime - fdStartTime); + fvhHitCntEvoChan[uChannelBmon]->Fill(fdMsTime - fdStartTime); - fvuHitCntChanMs[uChannelT0]++; + fvuHitCntChanMs[uChannelBmon]++; /// Do not fill the pulser hits to keep counts low for channel 0 UInt_t uTot = mess.getGdpbHit32Tot(); @@ -395,20 +395,20 @@ Bool_t CbmMcbm2018MonitorAlgoT0::ProcessMs(const fles::Timeslice& ts, size_t uMs fuNonPulserCountsLastInter++; fhDpbMap->Fill(fuCurrDpbIdx); - fhChannelMap->Fill(uChannelT0); - fhChanHitMap->Fill(fuDiamChanMap[uChannelT0]); + fhChannelMap->Fill(uChannelBmon); + fhChanHitMap->Fill(fuDiamChanMap[uChannelBmon]); fvhDpbMapSpill[fuCurrentSpillPlot]->Fill(fuCurrDpbIdx); - fvhChannelMapSpill[fuCurrentSpillPlot]->Fill(fuDiamChanMap[uChannelT0]); + fvhChannelMapSpill[fuCurrentSpillPlot]->Fill(fuDiamChanMap[uChannelBmon]); fhHitsPerSpill->Fill(fuCurrentSpillIdx); } // if( uTot < fuMinTotPulser || fuMaxTotPulser < uTot ) else { - fhChannelMapPulser->Fill(uChannelT0); - fhHitMapEvoPulser->Fill(uChannelT0, fdMsTime - fdStartTime); + fhChannelMapPulser->Fill(uChannelBmon); + fhHitMapEvoPulser->Fill(uChannelBmon, fdMsTime - fdStartTime); } // else of if( uTot < fuMinTotPulser || fuMaxTotPulser < uTot ) - fhHitMapEvo->Fill(uChannelT0, fdMsTime - fdStartTime); + fhHitMapEvo->Fill(uChannelBmon, fdMsTime - fdStartTime); fhHitTotEvo->Fill(fdMsTime - fdStartTime, uTot); - fhChanHitMapEvo->Fill(fuDiamChanMap[uChannelT0], fdMsTime - fdStartTime); + fhChanHitMapEvo->Fill(fuDiamChanMap[uChannelBmon], fdMsTime - fdStartTime); // fvvmEpSupprBuffer[fuCurrDpbIdx].push_back( mess ); } // else of if( getGdpbHitIs24b() ) break; @@ -436,25 +436,25 @@ Bool_t CbmMcbm2018MonitorAlgoT0::ProcessMs(const fles::Timeslice& ts, size_t uMs if (gdpbv100::SYS_GET4_ERROR == mess.getGdpbSysSubType()) { fhErrorFractEvo->Fill(fdMsTime - fdStartTime, 0.0); fhLostEvtFractEvo->Fill(fdMsTime - fdStartTime, 0.0); - fvhErrorFractEvoChan[uChannelT0]->Fill(fdMsTime - fdStartTime, 0.0); - fvhEvtLostFractEvoChan[uChannelT0]->Fill(fdMsTime - fdStartTime, 0.0); + fvhErrorFractEvoChan[uChannelBmon]->Fill(fdMsTime - fdStartTime, 0.0); + fvhEvtLostFractEvoChan[uChannelBmon]->Fill(fdMsTime - fdStartTime, 0.0); fhMsgCntEvo->Fill(fdMsTime - fdStartTime); fhErrorCntEvo->Fill(fdMsTime - fdStartTime); fhErrorFractEvo->Fill(fdMsTime - fdStartTime, 1.0); - fvhErrorCntEvoChan[uChannelT0]->Fill(fdMsTime - fdStartTime); - fvhErrorFractEvoChan[uChannelT0]->Fill(fdMsTime - fdStartTime, 1.0); + fvhErrorCntEvoChan[uChannelBmon]->Fill(fdMsTime - fdStartTime); + fvhErrorFractEvoChan[uChannelBmon]->Fill(fdMsTime - fdStartTime, 1.0); - fvuErrorCntChanMs[uChannelT0]++; + fvuErrorCntChanMs[uChannelBmon]++; if (gdpbv100::GET4_V2X_ERR_LOST_EVT == mess.getGdpbSysErrData()) { fhLostEvtCntEvo->Fill(fdMsTime - fdStartTime); fhLostEvtFractEvo->Fill(fdMsTime - fdStartTime, 1.0); - fvhEvtLostCntEvoChan[uChannelT0]->Fill(fdMsTime - fdStartTime); - fvhEvtLostFractEvoChan[uChannelT0]->Fill(fdMsTime - fdStartTime, 1.0); + fvhEvtLostCntEvoChan[uChannelBmon]->Fill(fdMsTime - fdStartTime); + fvhEvtLostFractEvoChan[uChannelBmon]->Fill(fdMsTime - fdStartTime, 1.0); - fvuEvtLostCntChanMs[uChannelT0]++; + fvuEvtLostCntChanMs[uChannelBmon]++; } // if( gdpbv100::GET4_V2X_ERR_LOST_EVT == mess.getGdpbSysErrData() ) } // if( gdpbv100::SYS_GET4_ERROR == mess.getGdpbSysSubType() ) // fvvmEpSupprBuffer[fuCurrDpbIdx].push_back( mess ); @@ -479,14 +479,14 @@ Bool_t CbmMcbm2018MonitorAlgoT0::ProcessMs(const fles::Timeslice& ts, size_t uMs } /* // ------------------------------------------------------------------------- -void CbmMcbm2018MonitorAlgoT0::ProcessEpochCycle( uint64_t ulCycleData ) +void CbmMcbm2018MonitorAlgoBmon::ProcessEpochCycle( uint64_t ulCycleData ) { ULong64_t ulEpochCycleVal = ulCycleData & gdpbv100::kulEpochCycleFieldSz; if( !( ulEpochCycleVal == fvulCurrentEpochCycle[fuCurrDpbIdx] || ulEpochCycleVal == fvulCurrentEpochCycle[fuCurrDpbIdx] + 1 ) && 0 < fulCurrentMsIdx ) { - LOG(warning) << "CbmMcbm2018MonitorAlgoT0::ProcessEpochCycle => " + LOG(warning) << "CbmMcbm2018MonitorAlgoBmon::ProcessEpochCycle => " << " Missmatch in epoch cycles detected for Gdpb " << fuCurrDpbIdx <<", probably fake cycles due to epoch index corruption! " << Form( " Current cycle 0x%09llX New cycle 0x%09llX", fvulCurrentEpochCycle[fuCurrDpbIdx], ulEpochCycleVal ); } // if epoch cycle did not stay constant or increase by exactly 1, except if first MS of the TS @@ -500,7 +500,7 @@ void CbmMcbm2018MonitorAlgoT0::ProcessEpochCycle( uint64_t ulCycleData ) return; } -void CbmMcbm2018MonitorAlgoT0::ProcessEpoch( gdpbv100::Message mess ) +void CbmMcbm2018MonitorAlgoBmon::ProcessEpoch( gdpbv100::Message mess ) { ULong64_t ulEpochNr = mess.getGdpbEpEpochNb(); @@ -517,7 +517,7 @@ void CbmMcbm2018MonitorAlgoT0::ProcessEpoch( gdpbv100::Message mess ) ProcessEpSupprBuffer(); } // ------------------------------------------------------------------------- -void CbmMcbm2018MonitorAlgoT0::ProcessEpSupprBuffer() +void CbmMcbm2018MonitorAlgoBmon::ProcessEpSupprBuffer() { Int_t iBufferSize = fvvmEpSupprBuffer[ fuCurrDpbIdx ].size(); @@ -589,7 +589,7 @@ void CbmMcbm2018MonitorAlgoT0::ProcessEpSupprBuffer() fvvmEpSupprBuffer[ fuCurrDpbIdx ].clear(); } // ------------------------------------------------------------------------- -void CbmMcbm2018MonitorAlgoT0::ProcessHit( gdpbv100::FullMessage mess ) +void CbmMcbm2018MonitorAlgoBmon::ProcessHit( gdpbv100::FullMessage mess ) { UInt_t uChannel = mess.getGdpbHitChanId(); UInt_t uTot = mess.getGdpbHit32Tot(); @@ -625,11 +625,11 @@ void CbmMcbm2018MonitorAlgoT0::ProcessHit( gdpbv100::FullMessage mess ) } // ------------------------------------------------------------------------- -void CbmMcbm2018MonitorAlgoT0::ProcessSlCtrl( gdpbv100::FullMessage mess ) +void CbmMcbm2018MonitorAlgoBmon::ProcessSlCtrl( gdpbv100::FullMessage mess ) { } // ------------------------------------------------------------------------- -void CbmMcbm2018MonitorAlgoT0::ProcessSysMess( gdpbv100::FullMessage mess ) +void CbmMcbm2018MonitorAlgoBmon::ProcessSysMess( gdpbv100::FullMessage mess ) { switch( mess.getGdpbSysSubType() ) { @@ -665,7 +665,7 @@ void CbmMcbm2018MonitorAlgoT0::ProcessSysMess( gdpbv100::FullMessage mess ) } // default } // switch( mess.getGdpbSysSubType() ) } -void CbmMcbm2018MonitorAlgoT0::ProcessError( gdpbv100::FullMessage mess ) +void CbmMcbm2018MonitorAlgoBmon::ProcessError( gdpbv100::FullMessage mess ) { uint32_t uErrorType = mess.getGdpbSysErrData(); @@ -708,7 +708,7 @@ void CbmMcbm2018MonitorAlgoT0::ProcessError( gdpbv100::FullMessage mess ) return; } -void CbmMcbm2018MonitorAlgoT0::ProcessPattern( gdpbv100::FullMessage mess ) +void CbmMcbm2018MonitorAlgoBmon::ProcessPattern( gdpbv100::FullMessage mess ) { uint16_t usType = mess.getGdpbSysPattType(); uint16_t usIndex = mess.getGdpbSysPattIndex(); @@ -745,11 +745,11 @@ void CbmMcbm2018MonitorAlgoT0::ProcessPattern( gdpbv100::FullMessage mess ) } // ------------------------------------------------------------------------- */ -Bool_t CbmMcbm2018MonitorAlgoT0::CreateHistograms() +Bool_t CbmMcbm2018MonitorAlgoBmon::CreateHistograms() { - std::string sFolder = "MoniT0"; + std::string sFolder = "MoniBmon"; - LOG(info) << "create Histos for T0 monitoring "; + LOG(info) << "create Histos for Bmon monitoring "; /// Logarithmic bining uint32_t iNbBinsLog = 0; @@ -760,30 +760,30 @@ Bool_t CbmMcbm2018MonitorAlgoT0::CreateHistograms() /*******************************************************************/ fhDpbMap = - new TH1I("hDpbMap", "Map of hits on T0 detector; DPB; Hits Count []", fuNrOfGdpbs, -0.5, fuNrOfGdpbs - 0.5); - fhChannelMap = new TH1I("hChannelMap", "Map of hits on T0 detector; Strip; Hits Count []", kuNbChanDiamond, -0.5, + new TH1I("hDpbMap", "Map of hits on Bmon detector; DPB; Hits Count []", fuNrOfGdpbs, -0.5, fuNrOfGdpbs - 0.5); + fhChannelMap = new TH1I("hChannelMap", "Map of hits on Bmon detector; Strip; Hits Count []", kuNbChanDiamond, -0.5, kuNbChanDiamond - 0.5); - fhHitMapEvo = new TH2I("hHitMapEvo", - "Map of hits on T0 detector vs time in run; Chan; " + fhHitMapEvo = new TH2I("hHitMapEvo", + "Map of hits on Bmon detector vs time in run; Chan; " "Time in run [s]; Hits Count []", kuNbChanDiamond, -0.5, kuNbChanDiamond - 0.5, fuHistoryHistoSize, 0, fuHistoryHistoSize); - fhHitTotEvo = new TH2I("hHitTotEvo", - "Evolution of TOT in T0 detector vs time in run; Time " + fhHitTotEvo = new TH2I("hHitTotEvo", + "Evolution of TOT in Bmon detector vs time in run; Time " "in run [s]; TOT [ bin ]; Hits Count []", fuHistoryHistoSize, 0, fuHistoryHistoSize, 256, -0.5, 255.5); - fhChanHitMap = new TH1D("fhChanHitMap", "Map of hits on T0 detector; Strip; Hits Count []", kuNbChanDiamond, -0.5, + fhChanHitMap = new TH1D("fhChanHitMap", "Map of hits on Bmon detector; Strip; Hits Count []", kuNbChanDiamond, -0.5, kuNbChanDiamond - 0.5); fhChanHitMapEvo = new TH2I("hChanHitMapEvo", - "Map of hits on T0 detector vs time in run; " + "Map of hits on Bmon detector vs time in run; " "Strip; Time in run [s]; Hits Count []", kuNbChanDiamond, 0., kuNbChanDiamond, fuHistoryHistoSize, 0, fuHistoryHistoSize); for (UInt_t uSpill = 0; uSpill < kuNbSpillPlots; uSpill++) { fvhDpbMapSpill.push_back( new TH1I(Form("hDpbMapSpill%02u", uSpill), - Form("Map of hits on T0 detector in current spill %02u; DPB; Hits Count []", uSpill), fuNrOfGdpbs, -0.5, - fuNrOfGdpbs - 0.5)); + Form("Map of hits on Bmon detector in current spill %02u; DPB; Hits Count []", uSpill), fuNrOfGdpbs, + -0.5, fuNrOfGdpbs - 0.5)); fvhChannelMapSpill.push_back(new TH1I(Form("hChannelMapSpill%02u", uSpill), - Form("Map of hits on T0 detector in current spill %02u; Strip; " + Form("Map of hits on Bmon detector in current spill %02u; Strip; " "Hits Count []", uSpill), kuNbChanDiamond, -0.5, kuNbChanDiamond - 0.5)); @@ -838,10 +838,10 @@ Bool_t CbmMcbm2018MonitorAlgoT0::CreateHistograms() "run [s]; LostEvent Fract/MS []; MS", fuHistoryHistoSize, 0, fuHistoryHistoSize, 1000, 0, 1); - fhChannelMapPulser = new TH1I("fhChannelMapPulser", "Map of pulser hits on T0 detector; Chan; Hits Count []", + fhChannelMapPulser = new TH1I("fhChannelMapPulser", "Map of pulser hits on Bmon detector; Chan; Hits Count []", kuNbChanDiamond, 0., kuNbChanDiamond); fhHitMapEvoPulser = new TH2I("fhHitMapEvoPulser", - "Map of hits on T0 detector vs time in run; " + "Map of hits on Bmon detector vs time in run; " "Chan; Time in run [s]; Hits Count []", kuNbChanDiamond, 0., kuNbChanDiamond, fuHistoryHistoSize, 0, fuHistoryHistoSize); @@ -970,7 +970,7 @@ Bool_t CbmMcbm2018MonitorAlgoT0::CreateHistograms() Double_t h = 10; /*******************************************************************/ - /// Map of hits over T0 detector and same vs time in run + /// Map of hits over Bmon detector and same vs time in run fcHitMaps = new TCanvas("cHitMaps", "Hit maps", w, h); fcHitMaps->Divide(2); @@ -1162,7 +1162,7 @@ Bool_t CbmMcbm2018MonitorAlgoT0::CreateHistograms() return kTRUE; } -Bool_t CbmMcbm2018MonitorAlgoT0::FillHistograms() +Bool_t CbmMcbm2018MonitorAlgoBmon::FillHistograms() { Double_t dMsgCountChan; Double_t dFractErrorsInMsChan; @@ -1208,7 +1208,7 @@ Bool_t CbmMcbm2018MonitorAlgoT0::FillHistograms() return kTRUE; } -Bool_t CbmMcbm2018MonitorAlgoT0::ResetHistograms(Bool_t bResetTime) +Bool_t CbmMcbm2018MonitorAlgoBmon::ResetHistograms(Bool_t bResetTime) { for (UInt_t uChan = 0; uChan < kuNbChanDiamond; ++uChan) { fvhMsgCntEvoChan[uChan]->Reset(); diff --git a/fles/mcbm2018/monitor/CbmMcbm2018MonitorAlgoT0.h b/fles/mcbm2018/monitor/CbmMcbm2018MonitorAlgoBmon.h similarity index 95% rename from fles/mcbm2018/monitor/CbmMcbm2018MonitorAlgoT0.h rename to fles/mcbm2018/monitor/CbmMcbm2018MonitorAlgoBmon.h index e675f222658571adc2d12217bdb5d4bcce2176c2..5fa863c6f5bc472a0112e3d44a3c0a8028862e21 100644 --- a/fles/mcbm2018/monitor/CbmMcbm2018MonitorAlgoT0.h +++ b/fles/mcbm2018/monitor/CbmMcbm2018MonitorAlgoBmon.h @@ -4,13 +4,13 @@ // ----------------------------------------------------------------------------- // ----- ----- -// ----- CbmMcbm2018MonitorAlgoT0 ----- +// ----- CbmMcbm2018MonitorAlgoBmon ----- // ----- Created 10.02.2019 by P.-A. Loizeau ----- // ----- ----- // ----------------------------------------------------------------------------- -#ifndef CbmMcbm2018MonitorAlgoT0_H -#define CbmMcbm2018MonitorAlgoT0_H +#ifndef CbmMcbm2018MonitorAlgoBmon_H +#define CbmMcbm2018MonitorAlgoBmon_H #include "CbmStar2019Algo.h" @@ -37,10 +37,10 @@ class TH1; class TH2; class TProfile; -class CbmMcbm2018MonitorAlgoT0 : public CbmStar2019Algo<CbmTofDigi> { +class CbmMcbm2018MonitorAlgoBmon : public CbmStar2019Algo<CbmTofDigi> { public: - CbmMcbm2018MonitorAlgoT0(); - ~CbmMcbm2018MonitorAlgoT0(); + CbmMcbm2018MonitorAlgoBmon(); + ~CbmMcbm2018MonitorAlgoBmon(); virtual Bool_t Init(); virtual void Reset(); @@ -238,10 +238,10 @@ private: return gdpbId * fuNrOfGet4PerGdpb + get4Id; } */ - CbmMcbm2018MonitorAlgoT0(const CbmMcbm2018MonitorAlgoT0&); - CbmMcbm2018MonitorAlgoT0 operator=(const CbmMcbm2018MonitorAlgoT0&); + CbmMcbm2018MonitorAlgoBmon(const CbmMcbm2018MonitorAlgoBmon&); + CbmMcbm2018MonitorAlgoBmon operator=(const CbmMcbm2018MonitorAlgoBmon&); - ClassDef(CbmMcbm2018MonitorAlgoT0, 1) + ClassDef(CbmMcbm2018MonitorAlgoBmon, 1) }; #endif diff --git a/fles/mcbm2018/monitor/CbmMcbm2018MonitorDataRates.cxx b/fles/mcbm2018/monitor/CbmMcbm2018MonitorDataRates.cxx index c84b5e5d22c80c6b43ef478eb08d53922c540f02..1241a9d00d61c83f569b8549c7ff2b6b31276a44 100644 --- a/fles/mcbm2018/monitor/CbmMcbm2018MonitorDataRates.cxx +++ b/fles/mcbm2018/monitor/CbmMcbm2018MonitorDataRates.cxx @@ -482,7 +482,7 @@ Bool_t CbmMcbm2018MonitorDataRates::DoUnpack(const fles::Timeslice& ts, size_t / case kuSysIdRich: uNbMessages = (size - (size % kuBytesPerMessageRich)) / kuBytesPerMessageRich; break; case kuSysIdMuch: uNbMessages = (size - (size % kuBytesPerMessageMuch)) / kuBytesPerMessageMuch; break; case kuSysIdTof: uNbMessages = (size - (size % kuBytesPerMessageTof)) / kuBytesPerMessageTof; break; - case kuSysIdT0: uNbMessages = (size - (size % kuBytesPerMessageT0)) / kuBytesPerMessageT0; break; + case kuSysIdBmon: uNbMessages = (size - (size % kuBytesPerMessageBmon)) / kuBytesPerMessageBmon; break; default: uNbMessages = (size - (size % 4)) / 4; } // switch( uSysId ) fvhMsMessPerLink[uMsComp]->Fill(uNbMessages); diff --git a/fles/mcbm2018/monitor/CbmMcbm2018MonitorDataRates.h b/fles/mcbm2018/monitor/CbmMcbm2018MonitorDataRates.h index 3279b8e2a5bab97f2c41d191d1c7c698156bcd56..20f711887f047cef02275179c0ced0ad968dea22 100644 --- a/fles/mcbm2018/monitor/CbmMcbm2018MonitorDataRates.h +++ b/fles/mcbm2018/monitor/CbmMcbm2018MonitorDataRates.h @@ -103,12 +103,12 @@ private: static const UInt_t kuSysIdRich = 30; static const UInt_t kuSysIdMuch = 40; static const UInt_t kuSysIdTof = 60; - static const UInt_t kuSysIdT0 = 90; + static const UInt_t kuSysIdBmon = 90; static const UInt_t kuBytesPerMessageSts = 4; static const UInt_t kuBytesPerMessageRich = 4; static const UInt_t kuBytesPerMessageMuch = 4; static const UInt_t kuBytesPerMessageTof = 8; - static const UInt_t kuBytesPerMessageT0 = 8; + static const UInt_t kuBytesPerMessageBmon = 8; /// Histograms and histogram control variables // Evolution plots control diff --git a/fles/mcbm2018/monitor/CbmMcbm2018MonitorTaskT0.cxx b/fles/mcbm2018/monitor/CbmMcbm2018MonitorTaskBmon.cxx similarity index 79% rename from fles/mcbm2018/monitor/CbmMcbm2018MonitorTaskT0.cxx rename to fles/mcbm2018/monitor/CbmMcbm2018MonitorTaskBmon.cxx index b032a8bab7916ad3c8b0fe64a6ee3b90f7377813..34c723255c55bb223ffbde65f77ba9b5223d8fc7 100644 --- a/fles/mcbm2018/monitor/CbmMcbm2018MonitorTaskT0.cxx +++ b/fles/mcbm2018/monitor/CbmMcbm2018MonitorTaskBmon.cxx @@ -4,14 +4,14 @@ // ----------------------------------------------------------------------------- // ----- ----- -// ----- CbmMcbm2018MonitorTaskT0 ----- +// ----- CbmMcbm2018MonitorTaskBmon ----- // ----- Created 10.02.2019 by P.-A. Loizeau ----- // ----- ----- // ----------------------------------------------------------------------------- -#include "CbmMcbm2018MonitorTaskT0.h" +#include "CbmMcbm2018MonitorTaskBmon.h" -#include "CbmMcbm2018MonitorAlgoT0.h" +#include "CbmMcbm2018MonitorAlgoBmon.h" #include "CbmMcbm2018TofPar.h" #include "FairParGenericSet.h" @@ -35,14 +35,14 @@ #include <stdint.h> -Bool_t bMcbm2018MonitorTaskT0ResetHistos = kFALSE; +Bool_t bMcbm2018MonitorTaskBmonResetHistos = kFALSE; -CbmMcbm2018MonitorTaskT0::CbmMcbm2018MonitorTaskT0() +CbmMcbm2018MonitorTaskBmon::CbmMcbm2018MonitorTaskBmon() : CbmMcbmUnpack() , fbMonitorMode(kTRUE) , fbDebugMonitorMode(kFALSE) , fuHistoryHistoSize(3600) - , fsHistoFileName("data/HistosMonitorT0.root") + , fsHistoFileName("data/HistosMonitorBmon.root") , fuMinTotPulser(90) , fuMaxTotPulser(100) , fuOffSpillCountLimit(200) @@ -51,20 +51,20 @@ CbmMcbm2018MonitorTaskT0::CbmMcbm2018MonitorTaskT0() , fulTsCounter(0) , fMonitorAlgo(nullptr) { - fMonitorAlgo = new CbmMcbm2018MonitorAlgoT0(); + fMonitorAlgo = new CbmMcbm2018MonitorAlgoBmon(); } -CbmMcbm2018MonitorTaskT0::~CbmMcbm2018MonitorTaskT0() { delete fMonitorAlgo; } +CbmMcbm2018MonitorTaskBmon::~CbmMcbm2018MonitorTaskBmon() { delete fMonitorAlgo; } -Bool_t CbmMcbm2018MonitorTaskT0::Init() +Bool_t CbmMcbm2018MonitorTaskBmon::Init() { - LOG(info) << "CbmMcbm2018MonitorTaskT0::Init"; - LOG(info) << "Initializing mCBM T0 2019 Monitor"; + LOG(info) << "CbmMcbm2018MonitorTaskBmon::Init"; + LOG(info) << "Initializing mCBM Bmon 2019 Monitor"; return kTRUE; } -void CbmMcbm2018MonitorTaskT0::SetParContainers() +void CbmMcbm2018MonitorTaskBmon::SetParContainers() { LOG(info) << "Setting parameter containers for " << GetName(); @@ -88,7 +88,7 @@ void CbmMcbm2018MonitorTaskT0::SetParContainers() } // for( Int_t iparC = 0; iparC < parCList->GetEntries(); ++iparC ) } -Bool_t CbmMcbm2018MonitorTaskT0::InitContainers() +Bool_t CbmMcbm2018MonitorTaskBmon::InitContainers() { LOG(info) << "Init parameter containers for " << GetName(); @@ -143,14 +143,14 @@ Bool_t CbmMcbm2018MonitorTaskT0::InitContainers() gROOT->FindObject((vCanvases[uCanv].first)->GetName())); } // for( UInt_t uCanv = 0; uCanv < vCanvases.size(); ++uCanv ) - server->RegisterCommand("/Reset_MoniT0_Hist", "bMcbm2018MonitorTaskT0ResetHistos=kTRUE"); - server->Restrict("/Reset_MoniT0_Hist", "allow=admin"); + server->RegisterCommand("/Reset_MoniBmon_Hist", "bMcbm2018MonitorTaskBmonResetHistos=kTRUE"); + server->Restrict("/Reset_MoniBmon_Hist", "allow=admin"); } // if( nullptr != server ) return initOK; } -Bool_t CbmMcbm2018MonitorTaskT0::ReInitContainers() +Bool_t CbmMcbm2018MonitorTaskBmon::ReInitContainers() { LOG(info) << "ReInit parameter containers for " << GetName(); Bool_t initOK = fMonitorAlgo->ReInitContainers(); @@ -158,18 +158,18 @@ Bool_t CbmMcbm2018MonitorTaskT0::ReInitContainers() return initOK; } -void CbmMcbm2018MonitorTaskT0::AddMsComponentToList(size_t component, UShort_t usDetectorId) +void CbmMcbm2018MonitorTaskBmon::AddMsComponentToList(size_t component, UShort_t usDetectorId) { fMonitorAlgo->AddMsComponentToList(component, usDetectorId); } -Bool_t CbmMcbm2018MonitorTaskT0::DoUnpack(const fles::Timeslice& ts, size_t /*component*/) +Bool_t CbmMcbm2018MonitorTaskBmon::DoUnpack(const fles::Timeslice& ts, size_t /*component*/) { - if (fbMonitorMode && bMcbm2018MonitorTaskT0ResetHistos) { - LOG(info) << "Reset T0 Monitor histos "; + if (fbMonitorMode && bMcbm2018MonitorTaskBmonResetHistos) { + LOG(info) << "Reset Bmon Monitor histos "; fMonitorAlgo->ResetHistograms(); - bMcbm2018MonitorTaskT0ResetHistos = kFALSE; - } // if( fbMonitorMode && bMcbm2018MonitorTaskT0ResetHistos ) + bMcbm2018MonitorTaskBmonResetHistos = kFALSE; + } // if( fbMonitorMode && bMcbm2018MonitorTaskBmonResetHistos ) if (kFALSE == fMonitorAlgo->ProcessTs(ts)) { LOG(error) << "Failed processing TS " << ts.index() << " in unpacker algorithm class"; @@ -186,9 +186,9 @@ Bool_t CbmMcbm2018MonitorTaskT0::DoUnpack(const fles::Timeslice& ts, size_t /*co return kTRUE; } -void CbmMcbm2018MonitorTaskT0::Reset() {} +void CbmMcbm2018MonitorTaskBmon::Reset() {} -void CbmMcbm2018MonitorTaskT0::Finish() +void CbmMcbm2018MonitorTaskBmon::Finish() { /// Obtain vector of pointers on each histo from the algo (+ optionally desired folder) std::vector<std::pair<TNamed*, std::string>> vHistos = fMonitorAlgo->GetHistoVector(); @@ -223,12 +223,12 @@ void CbmMcbm2018MonitorTaskT0::Finish() histoFile->Close(); } -void CbmMcbm2018MonitorTaskT0::SetIgnoreOverlapMs(Bool_t bFlagIn) { fMonitorAlgo->SetIgnoreOverlapMs(bFlagIn); } +void CbmMcbm2018MonitorTaskBmon::SetIgnoreOverlapMs(Bool_t bFlagIn) { fMonitorAlgo->SetIgnoreOverlapMs(bFlagIn); } -void CbmMcbm2018MonitorTaskT0::SetChannelMap(UInt_t uChan0, UInt_t uChan1, UInt_t uChan2, UInt_t uChan3, UInt_t uChan4, - UInt_t uChan5, UInt_t uChan6, UInt_t uChan7) +void CbmMcbm2018MonitorTaskBmon::SetChannelMap(UInt_t uChan0, UInt_t uChan1, UInt_t uChan2, UInt_t uChan3, + UInt_t uChan4, UInt_t uChan5, UInt_t uChan6, UInt_t uChan7) { fMonitorAlgo->SetChannelMap(uChan0, uChan1, uChan2, uChan3, uChan4, uChan5, uChan6, uChan7); } -ClassImp(CbmMcbm2018MonitorTaskT0) +ClassImp(CbmMcbm2018MonitorTaskBmon) diff --git a/fles/mcbm2018/monitor/CbmMcbm2018MonitorTaskT0.h b/fles/mcbm2018/monitor/CbmMcbm2018MonitorTaskBmon.h similarity index 81% rename from fles/mcbm2018/monitor/CbmMcbm2018MonitorTaskT0.h rename to fles/mcbm2018/monitor/CbmMcbm2018MonitorTaskBmon.h index 7e0ef1607b4fe43bfe120d92713b9e74e06f097f..51717d6529a0e34621b8dee93a44e5c3d85063f8 100644 --- a/fles/mcbm2018/monitor/CbmMcbm2018MonitorTaskT0.h +++ b/fles/mcbm2018/monitor/CbmMcbm2018MonitorTaskBmon.h @@ -4,28 +4,28 @@ // ----------------------------------------------------------------------------- // ----- ----- -// ----- CbmMcbm2018MonitorTaskT0 ----- +// ----- CbmMcbm2018MonitorTaskBmon ----- // ----- Created 10.02.2019 by P.-A. Loizeau ----- // ----- ----- // ----------------------------------------------------------------------------- -#ifndef CbmMcbm2018MonitorTaskT0_H -#define CbmMcbm2018MonitorTaskT0_H +#ifndef CbmMcbm2018MonitorTaskBmon_H +#define CbmMcbm2018MonitorTaskBmon_H -#include "CbmMcbm2018MonitorAlgoT0.h" +#include "CbmMcbm2018MonitorAlgoBmon.h" #include "CbmMcbmUnpack.h" #include "Timeslice.hpp" #include "TString.h" -class CbmMcbm2018MonitorTaskT0 : public CbmMcbmUnpack { +class CbmMcbm2018MonitorTaskBmon : public CbmMcbmUnpack { public: - CbmMcbm2018MonitorTaskT0(); - CbmMcbm2018MonitorTaskT0(const CbmMcbm2018MonitorTaskT0&) = delete; - CbmMcbm2018MonitorTaskT0 operator=(const CbmMcbm2018MonitorTaskT0&) = delete; + CbmMcbm2018MonitorTaskBmon(); + CbmMcbm2018MonitorTaskBmon(const CbmMcbm2018MonitorTaskBmon&) = delete; + CbmMcbm2018MonitorTaskBmon operator=(const CbmMcbm2018MonitorTaskBmon&) = delete; - virtual ~CbmMcbm2018MonitorTaskT0(); + virtual ~CbmMcbm2018MonitorTaskBmon(); virtual Bool_t Init(); virtual Bool_t DoUnpack(const fles::Timeslice& ts, size_t component); @@ -77,9 +77,9 @@ private: uint64_t fulTsCounter; /// Processing algo - CbmMcbm2018MonitorAlgoT0* fMonitorAlgo; + CbmMcbm2018MonitorAlgoBmon* fMonitorAlgo; - ClassDef(CbmMcbm2018MonitorTaskT0, 1) + ClassDef(CbmMcbm2018MonitorTaskBmon, 1) }; #endif diff --git a/fles/mcbm2018/monitor/CbmMcbm2018MonitorTaskMuchLite.cxx b/fles/mcbm2018/monitor/CbmMcbm2018MonitorTaskMuchLite.cxx index 0c3d30b662c7e7181603be1799e76d02edd75c97..9b9c266507c7cfd86105c861a78652709cb428ac 100644 --- a/fles/mcbm2018/monitor/CbmMcbm2018MonitorTaskMuchLite.cxx +++ b/fles/mcbm2018/monitor/CbmMcbm2018MonitorTaskMuchLite.cxx @@ -318,7 +318,7 @@ Bool_t CbmMcbm2018MonitorTaskMuchLite::DoUnpack(const fles::Timeslice& ts, size_ LOG(info) << "Reset Much Monitor histos "; fMonitorAlgo->ResetAllHistos(); bMcbm2018MonitorTaskMuchResetHistos = kFALSE; - } // if( fbMonitorMode && bMcbm2018MonitorTaskT0ResetHistos ) */ //closed by me + } // if( fbMonitorMode && bMcbm2018MonitorTaskBmonResetHistos ) */ //closed by me if (kFALSE == fMonitorAlgo->ProcessTs(ts)) { //if (kFALSE == fMonitorAlgo->ProcessMuchMs(ts)) { diff --git a/fles/mcbm2018/monitor/CbmMcbm2018MonitorTaskPsd.cxx b/fles/mcbm2018/monitor/CbmMcbm2018MonitorTaskPsd.cxx index 9acd8e1aaf5b125a2db3fa5271608fee6134c463..1fbe1ee52f1e187e7c16408206898ac005aa3b96 100644 --- a/fles/mcbm2018/monitor/CbmMcbm2018MonitorTaskPsd.cxx +++ b/fles/mcbm2018/monitor/CbmMcbm2018MonitorTaskPsd.cxx @@ -6,7 +6,7 @@ // ----- ----- // ----- CbmMcbm2018MonitorTaskPsd ----- // ----- Created 26.09.2019 by N.Karpushkin ----- -// ----- based on CbmMcbm2018MonitorTaskT0 by P.-A. Loizeau ----- +// ----- based on CbmMcbm2018MonitorTaskBmon by P.-A. Loizeau ----- // ----- ----- // ----------------------------------------------------------------------------- diff --git a/fles/mcbm2018/monitor/CbmMcbm2018MonitorTaskPsd.h b/fles/mcbm2018/monitor/CbmMcbm2018MonitorTaskPsd.h index 454071ca92eb4d8ee418a1c8e7e51f1c8141417f..a6c8a7e44beb8f845e02aa4874e3101331869c0b 100644 --- a/fles/mcbm2018/monitor/CbmMcbm2018MonitorTaskPsd.h +++ b/fles/mcbm2018/monitor/CbmMcbm2018MonitorTaskPsd.h @@ -6,7 +6,7 @@ // ----- ----- // ----- CbmMcbm2018MonitorTaskPsd ----- // ----- Created 26.09.2019 by N.Karpushkin ----- -// ----- based on CbmMcbm2018MonitorTaskT0 by P.-A. Loizeau ----- +// ----- based on CbmMcbm2018MonitorTaskBmon by P.-A. Loizeau ----- // ----- ----- // ----------------------------------------------------------------------------- diff --git a/fles/mcbm2018/tasks/CbmCheckDigisNbCorr.cxx b/fles/mcbm2018/tasks/CbmCheckDigisNbCorr.cxx index 2529f13e789f581272bdf29a4f986bf6bb45a73c..9c89ddc99ca996fbd1c45b71eff5afb90482723e 100644 --- a/fles/mcbm2018/tasks/CbmCheckDigisNbCorr.cxx +++ b/fles/mcbm2018/tasks/CbmCheckDigisNbCorr.cxx @@ -32,8 +32,8 @@ using std::setprecision; // ---- Default constructor ------------------------------------------- CbmCheckDigisNbCorr::CbmCheckDigisNbCorr() : FairTask("CbmCheckDigisNbCorr") - , fuMinTotPulserT0(90) - , fuMaxTotPulserT0(100) + , fuMinTotPulserBmon(90) + , fuMaxTotPulserBmon(100) { } @@ -69,10 +69,10 @@ InitStatus CbmCheckDigisNbCorr::Init() fDigiMan->Init(); // Get a pointer to the previous already existing data level - fT0DigiVec = ioman->InitObjectAs<std::vector<CbmTofDigi> const*>("T0Digi"); - if (!fT0DigiVec) { - fT0DigiArr = dynamic_cast<TClonesArray*>(ioman->GetObject("T0Digi")); - if (!fT0DigiArr) { LOG(fatal) << "No TClonesArray with T0 digis found."; } + fBmonDigiVec = ioman->InitObjectAs<std::vector<CbmTofDigi> const*>("BmonDigi"); + if (!fBmonDigiVec) { + fBmonDigiArr = dynamic_cast<TClonesArray*>(ioman->GetObject("BmonDigi")); + if (!fBmonDigiArr) { LOG(fatal) << "No TClonesArray with Bmon digis found."; } } if (!fDigiMan->IsPresent(ECbmModuleId::kSts)) { LOG(info) << "No TClonesArray with STS digis found."; } @@ -94,7 +94,7 @@ void CbmCheckDigisNbCorr::CreateHistos() { /// Resize storage array CalcNrBins(); - fvuNbDigisPerBinT0.resize(fiBinNb, 0); + fvuNbDigisPerBinBmon.resize(fiBinNb, 0); fvuNbDigisPerBinSts.resize(fiBinNb, 0); fvuNbDigisPerBinMuch.resize(fiBinNb, 0); fvuNbDigisPerBinTof.resize(fiBinNb, 0); @@ -105,30 +105,30 @@ void CbmCheckDigisNbCorr::CreateHistos() fvuNbDigisPerBinStsDpb[uStsDpb].resize(fiBinNb, 0); /// 2D correlations between systems - // T0 vs. TST - fT0StsCorr = new TH2F("fT0StsCorr", - Form("T0 - STS digis Nb correlation per %.0f ns time interval; Nb " - "T0 Digis []; Nb STS Digis []; Counts", - fdBinWidthNs), - 1000, 0, 1000, 1000, 0, 1000); - // T0 vs. MUCH - fT0MuchCorr = new TH2F("fT0MuchCorr", - Form("T0 - MUCH digis Nb correlation per %.0f ns time interval; " - "Nb T0 Digis []; Nb MUCH Digis []; Counts", - fdBinWidthNs), - 1000, 0, 1000, 1000, 0, 1000); - // T0 vs. TOF - fT0TofCorr = new TH2F("fT0TofCorr", - Form("T0 - TOF digis Nb correlation per %.0f ns time interval; Nb " - "T0 Digis []; Nb TOF Digis []; Counts", - fdBinWidthNs), - 1000, 0, 1000, 1000, 0, 1000); - // T0 vs. RICH - fT0RichCorr = new TH2F("fT0RichCorr", - Form("T0 - RICH digis Nb correlation per %.0f ns time interval; " - "Nb T0 Digis []; Nb RICH Digis []; Counts", - fdBinWidthNs), - 1000, 0, 1000, 1000, 0, 1000); + // Bmon vs. TST + fBmonStsCorr = new TH2F("fBmonStsCorr", + Form("Bmon - STS digis Nb correlation per %.0f ns time interval; Nb " + "Bmon Digis []; Nb STS Digis []; Counts", + fdBinWidthNs), + 1000, 0, 1000, 1000, 0, 1000); + // Bmon vs. MUCH + fBmonMuchCorr = new TH2F("fBmonMuchCorr", + Form("Bmon - MUCH digis Nb correlation per %.0f ns time interval; " + "Nb Bmon Digis []; Nb MUCH Digis []; Counts", + fdBinWidthNs), + 1000, 0, 1000, 1000, 0, 1000); + // Bmon vs. TOF + fBmonTofCorr = new TH2F("fBmonTofCorr", + Form("Bmon - TOF digis Nb correlation per %.0f ns time interval; Nb " + "Bmon Digis []; Nb TOF Digis []; Counts", + fdBinWidthNs), + 1000, 0, 1000, 1000, 0, 1000); + // Bmon vs. RICH + fBmonRichCorr = new TH2F("fBmonRichCorr", + Form("Bmon - RICH digis Nb correlation per %.0f ns time interval; " + "Nb Bmon Digis []; Nb RICH Digis []; Counts", + fdBinWidthNs), + 1000, 0, 1000, 1000, 0, 1000); // STS vs. MUCH fStsMuchCorr = new TH2F("fStsMuchCorr", @@ -170,30 +170,30 @@ void CbmCheckDigisNbCorr::CreateHistos() 1000, 0, 1000, 1000, 0, 1000); /// Profile correlations between systems - // T0 vs. TST - fT0StsCorrProf = new TProfile("fT0StsCorrProf", - Form("T0 - STS digis Nb correlation per %.0f ns time " - "interval; Nb T0 Digis []; Nb STS Digis []", - fdBinWidthNs), - 1000, 0, 1000); - // T0 vs. MUCH - fT0MuchCorrProf = new TProfile("fT0MuchCorrProf", - Form("T0 - MUCH digis Nb correlation per %.0f ns time " - "interval; Nb T0 Digis []; Nb MUCH Digis []", - fdBinWidthNs), - 1000, 0, 1000); - // T0 vs. TOF - fT0TofCorrProf = new TProfile("fT0TofCorrProf", - Form("T0 - TOF digis Nb correlation per %.0f ns time " - "interval; Nb T0 Digis []; Nb TOF Digis []", - fdBinWidthNs), - 1000, 0, 1000); - // T0 vs. RICH - fT0RichCorrProf = new TProfile("fT0RichCorrProf", - Form("T0 - RICH digis Nb correlation per %.0f ns time " - "interval; Nb T0 Digis []; Nb RICH Digis []", - fdBinWidthNs), - 1000, 0, 1000); + // Bmon vs. TST + fBmonStsCorrProf = new TProfile("fBmonStsCorrProf", + Form("Bmon - STS digis Nb correlation per %.0f ns time " + "interval; Nb Bmon Digis []; Nb STS Digis []", + fdBinWidthNs), + 1000, 0, 1000); + // Bmon vs. MUCH + fBmonMuchCorrProf = new TProfile("fBmonMuchCorrProf", + Form("Bmon - MUCH digis Nb correlation per %.0f ns time " + "interval; Nb Bmon Digis []; Nb MUCH Digis []", + fdBinWidthNs), + 1000, 0, 1000); + // Bmon vs. TOF + fBmonTofCorrProf = new TProfile("fBmonTofCorrProf", + Form("Bmon - TOF digis Nb correlation per %.0f ns time " + "interval; Nb Bmon Digis []; Nb TOF Digis []", + fdBinWidthNs), + 1000, 0, 1000); + // Bmon vs. RICH + fBmonRichCorrProf = new TProfile("fBmonRichCorrProf", + Form("Bmon - RICH digis Nb correlation per %.0f ns time " + "interval; Nb Bmon Digis []; Nb RICH Digis []", + fdBinWidthNs), + 1000, 0, 1000); // STS vs. MUCH fStsMuchCorrProf = new TProfile("fStsMuchCorrProf", @@ -235,11 +235,11 @@ void CbmCheckDigisNbCorr::CreateHistos() 1000, 0, 1000); for (UInt_t uStsDpb = 0; uStsDpb < kuMaxNbStsDpbs; ++uStsDpb) { - fT0StsDpbCorr[uStsDpb] = new TH2F(Form("fT0StsDpbCorr%02u", uStsDpb), - Form("T0 - STS digis Nb correlation per %.0f ns time interval, " - "DPB %02u; Nb T0 Digis []; Nb STS Digis []; Counts", - fdBinWidthNs, uStsDpb), - 1000, 0, 1000, 1000, 0, 1000); + fBmonStsDpbCorr[uStsDpb] = new TH2F(Form("fBmonStsDpbCorr%02u", uStsDpb), + Form("Bmon - STS digis Nb correlation per %.0f ns time interval, " + "DPB %02u; Nb Bmon Digis []; Nb STS Digis []; Counts", + fdBinWidthNs, uStsDpb), + 1000, 0, 1000, 1000, 0, 1000); fStsMuchDpbCorr[uStsDpb] = new TH2F(Form("fStsMuchDpbCorr%02u", uStsDpb), Form("STS - MUCH digis Nb correlation per %.0f ns time interval, DPB " "%02u; Nb STS Digis []; Nb STS Digis []; Counts", @@ -256,11 +256,11 @@ void CbmCheckDigisNbCorr::CreateHistos() fdBinWidthNs, uStsDpb), 1000, 0, 1000, 1000, 0, 1000); - fT0StsDpbCorrProf[uStsDpb] = new TProfile(Form("fT0StsDpbCorrProf%02u", uStsDpb), - Form("T0 - STS digis Nb correlation per %.0f ns time " - "interval, DPB %02u; Nb T0 Digis []; Nb STS Digis []", - fdBinWidthNs, uStsDpb), - 1000, 0, 1000); + fBmonStsDpbCorrProf[uStsDpb] = new TProfile(Form("fBmonStsDpbCorrProf%02u", uStsDpb), + Form("Bmon - STS digis Nb correlation per %.0f ns time " + "interval, DPB %02u; Nb Bmon Digis []; Nb STS Digis []", + fdBinWidthNs, uStsDpb), + 1000, 0, 1000); fStsMuchDpbCorrProf[uStsDpb] = new TProfile(Form("fStsMuchDpbCorrProf%02u", uStsDpb), Form("STS - MUCH digis Nb correlation per %.0f ns time " "interval, DPB %02u; Nb STS Digis []; Nb STS Digis []", @@ -284,10 +284,10 @@ void CbmCheckDigisNbCorr::CreateHistos() THttpServer* server = run->GetHttpServer(); if (nullptr != server) { /// 2D correlations between systems - server->Register("CheckDigisNbCorr", fT0StsCorr); - server->Register("CheckDigisNbCorr", fT0MuchCorr); - server->Register("CheckDigisNbCorr", fT0TofCorr); - server->Register("CheckDigisNbCorr", fT0RichCorr); + server->Register("CheckDigisNbCorr", fBmonStsCorr); + server->Register("CheckDigisNbCorr", fBmonMuchCorr); + server->Register("CheckDigisNbCorr", fBmonTofCorr); + server->Register("CheckDigisNbCorr", fBmonRichCorr); server->Register("CheckDigisNbCorr", fStsMuchCorr); server->Register("CheckDigisNbCorr", fStsTofCorr); @@ -299,10 +299,10 @@ void CbmCheckDigisNbCorr::CreateHistos() server->Register("CheckDigisNbCorr", fTofRichCorr); /// Profile correlations between systems - server->Register("CheckDigisNbCorr", fT0StsCorrProf); - server->Register("CheckDigisNbCorr", fT0MuchCorrProf); - server->Register("CheckDigisNbCorr", fT0TofCorrProf); - server->Register("CheckDigisNbCorr", fT0RichCorrProf); + server->Register("CheckDigisNbCorr", fBmonStsCorrProf); + server->Register("CheckDigisNbCorr", fBmonMuchCorrProf); + server->Register("CheckDigisNbCorr", fBmonTofCorrProf); + server->Register("CheckDigisNbCorr", fBmonRichCorrProf); server->Register("CheckDigisNbCorr", fStsMuchCorrProf); server->Register("CheckDigisNbCorr", fStsTofCorrProf); @@ -314,12 +314,12 @@ void CbmCheckDigisNbCorr::CreateHistos() server->Register("CheckDigisNbCorr", fTofRichCorrProf); for (UInt_t uStsDpb = 0; uStsDpb < kuMaxNbStsDpbs; ++uStsDpb) { - server->Register("CheckDigisNbCorr", fT0StsDpbCorr[uStsDpb]); + server->Register("CheckDigisNbCorr", fBmonStsDpbCorr[uStsDpb]); server->Register("CheckDigisNbCorr", fStsMuchDpbCorr[uStsDpb]); server->Register("CheckDigisNbCorr", fStsTofDpbCorr[uStsDpb]); server->Register("CheckDigisNbCorr", fStsRichDpbCorr[uStsDpb]); - server->Register("CheckDigisNbCorr", fT0StsDpbCorrProf[uStsDpb]); + server->Register("CheckDigisNbCorr", fBmonStsDpbCorrProf[uStsDpb]); server->Register("CheckDigisNbCorr", fStsMuchDpbCorrProf[uStsDpb]); server->Register("CheckDigisNbCorr", fStsTofDpbCorrProf[uStsDpb]); server->Register("CheckDigisNbCorr", fStsRichDpbCorrProf[uStsDpb]); @@ -335,7 +335,7 @@ void CbmCheckDigisNbCorr::Exec(Option_t* /*option*/) { /// Initialize the counters for each bin for (Int_t uBin = 0; uBin < fiBinNb; ++uBin) { - fvuNbDigisPerBinT0[uBin] = 0; + fvuNbDigisPerBinBmon[uBin] = 0; fvuNbDigisPerBinSts[uBin] = 0; fvuNbDigisPerBinMuch[uBin] = 0; fvuNbDigisPerBinTof[uBin] = 0; @@ -350,32 +350,32 @@ void CbmCheckDigisNbCorr::Exec(Option_t* /*option*/) dTsStart = static_cast<TimesliceMetaData*>(fTsMetaData->At(0))->GetStartTime(); LOG(debug) << "Begin"; - Int_t nrT0Digis = -1; - if (fT0DigiVec) nrT0Digis = fT0DigiVec->size(); - else if (fT0DigiArr) - nrT0Digis = fT0DigiArr->GetEntriesFast(); + Int_t nrBmonDigis = -1; + if (fBmonDigiVec) nrBmonDigis = fBmonDigiVec->size(); + else if (fBmonDigiArr) + nrBmonDigis = fBmonDigiArr->GetEntriesFast(); Int_t nrStsDigis = fDigiMan->GetNofDigis(ECbmModuleId::kSts); Int_t nrMuchDigis = fDigiMan->GetNofDigis(ECbmModuleId::kMuch); Int_t nrTofDigis = fDigiMan->GetNofDigis(ECbmModuleId::kTof); Int_t nrRichDigis = fDigiMan->GetNofDigis(ECbmModuleId::kRich); - LOG(debug) << "T0Digis: " << nrT0Digis; + LOG(debug) << "BmonDigis: " << nrBmonDigis; LOG(debug) << "StsDigis: " << nrStsDigis; LOG(debug) << "MuchDigis: " << nrMuchDigis; LOG(debug) << "TofDigis: " << nrTofDigis; LOG(debug) << "RichDigis: " << nrRichDigis; /// Loop on digis for each detector and counts digis in proper bin - /// T0 - for (Int_t iDigi = 0; iDigi < nrT0Digis; ++iDigi) { + /// Bmon + for (Int_t iDigi = 0; iDigi < nrBmonDigis; ++iDigi) { const CbmTofDigi* pDigi = nullptr; - if (fT0DigiVec) pDigi = &(fT0DigiVec->at(iDigi)); - else if (fT0DigiArr) - pDigi = dynamic_cast<const CbmTofDigi*>(fT0DigiArr->At(iDigi)); + if (fBmonDigiVec) pDigi = &(fBmonDigiVec->at(iDigi)); + else if (fBmonDigiArr) + pDigi = dynamic_cast<const CbmTofDigi*>(fBmonDigiArr->At(iDigi)); assert(pDigi); - /// Ignore pulser hits in T0 - if (fuMinTotPulserT0 < pDigi->GetCharge() && pDigi->GetCharge() < fuMaxTotPulserT0) continue; + /// Ignore pulser hits in Bmon + if (fuMinTotPulserBmon < pDigi->GetCharge() && pDigi->GetCharge() < fuMaxTotPulserBmon) continue; Double_t dTime = pDigi->GetTime() - dTsStart; /// Jump hits with time before start of TS after offseting @@ -385,8 +385,8 @@ void CbmCheckDigisNbCorr::Exec(Option_t* /*option*/) /// Increase count in corresponding bin UInt_t uBin = dTime / fdBinWidthNs; - fvuNbDigisPerBinT0[uBin]++; - } // for( Int_t iDigi = 0; iDigi < nrT0Digis; ++iDigi ) + fvuNbDigisPerBinBmon[uBin]++; + } // for( Int_t iDigi = 0; iDigi < nrBmonDigis; ++iDigi ) /// STS for (Int_t iDigi = 0; iDigi < nrStsDigis; ++iDigi) { @@ -457,22 +457,22 @@ void CbmCheckDigisNbCorr::Exec(Option_t* /*option*/) /// Fill the histograms for each bin for (Int_t uBin = 0; uBin < fiBinNb; ++uBin) { /// 2D & Profiles - if (0 < fvuNbDigisPerBinT0[uBin] || 0 < fvuNbDigisPerBinSts[uBin]) { - fT0StsCorr->Fill(fvuNbDigisPerBinT0[uBin], fvuNbDigisPerBinSts[uBin]); - fT0StsCorrProf->Fill(fvuNbDigisPerBinT0[uBin], fvuNbDigisPerBinSts[uBin]); - } // if( 0 < fvuNbDigisPerBinT0[ uBin ] || 0 < fvuNbDigisPerBinSts[ uBin ] ) - if (0 < fvuNbDigisPerBinT0[uBin] || 0 < fvuNbDigisPerBinMuch[uBin]) { - fT0MuchCorr->Fill(fvuNbDigisPerBinT0[uBin], fvuNbDigisPerBinMuch[uBin]); - fT0MuchCorrProf->Fill(fvuNbDigisPerBinT0[uBin], fvuNbDigisPerBinMuch[uBin]); - } // if( 0 < fvuNbDigisPerBinT0[ uBin ] || 0 < fvuNbDigisPerBinMuch[ uBin ] ) - if (0 < fvuNbDigisPerBinT0[uBin] || 0 < fvuNbDigisPerBinTof[uBin]) { - fT0TofCorr->Fill(fvuNbDigisPerBinT0[uBin], fvuNbDigisPerBinTof[uBin]); - fT0TofCorrProf->Fill(fvuNbDigisPerBinT0[uBin], fvuNbDigisPerBinTof[uBin]); - } // if( 0 < fvuNbDigisPerBinT0[ uBin ] || 0 < fvuNbDigisPerBinTof[ uBin ] ) - if (0 < fvuNbDigisPerBinT0[uBin] || 0 < fvuNbDigisPerBinRich[uBin]) { - fT0RichCorr->Fill(fvuNbDigisPerBinT0[uBin], fvuNbDigisPerBinRich[uBin]); - fT0RichCorrProf->Fill(fvuNbDigisPerBinT0[uBin], fvuNbDigisPerBinRich[uBin]); - } // if( 0 < fvuNbDigisPerBinT0[ uBin ] || 0 < fvuNbDigisPerBinRich[ uBin ] ) + if (0 < fvuNbDigisPerBinBmon[uBin] || 0 < fvuNbDigisPerBinSts[uBin]) { + fBmonStsCorr->Fill(fvuNbDigisPerBinBmon[uBin], fvuNbDigisPerBinSts[uBin]); + fBmonStsCorrProf->Fill(fvuNbDigisPerBinBmon[uBin], fvuNbDigisPerBinSts[uBin]); + } // if( 0 < fvuNbDigisPerBinBmon[ uBin ] || 0 < fvuNbDigisPerBinSts[ uBin ] ) + if (0 < fvuNbDigisPerBinBmon[uBin] || 0 < fvuNbDigisPerBinMuch[uBin]) { + fBmonMuchCorr->Fill(fvuNbDigisPerBinBmon[uBin], fvuNbDigisPerBinMuch[uBin]); + fBmonMuchCorrProf->Fill(fvuNbDigisPerBinBmon[uBin], fvuNbDigisPerBinMuch[uBin]); + } // if( 0 < fvuNbDigisPerBinBmon[ uBin ] || 0 < fvuNbDigisPerBinMuch[ uBin ] ) + if (0 < fvuNbDigisPerBinBmon[uBin] || 0 < fvuNbDigisPerBinTof[uBin]) { + fBmonTofCorr->Fill(fvuNbDigisPerBinBmon[uBin], fvuNbDigisPerBinTof[uBin]); + fBmonTofCorrProf->Fill(fvuNbDigisPerBinBmon[uBin], fvuNbDigisPerBinTof[uBin]); + } // if( 0 < fvuNbDigisPerBinBmon[ uBin ] || 0 < fvuNbDigisPerBinTof[ uBin ] ) + if (0 < fvuNbDigisPerBinBmon[uBin] || 0 < fvuNbDigisPerBinRich[uBin]) { + fBmonRichCorr->Fill(fvuNbDigisPerBinBmon[uBin], fvuNbDigisPerBinRich[uBin]); + fBmonRichCorrProf->Fill(fvuNbDigisPerBinBmon[uBin], fvuNbDigisPerBinRich[uBin]); + } // if( 0 < fvuNbDigisPerBinBmon[ uBin ] || 0 < fvuNbDigisPerBinRich[ uBin ] ) if (0 < fvuNbDigisPerBinSts[uBin] || 0 < fvuNbDigisPerBinMuch[uBin]) { fStsMuchCorr->Fill(fvuNbDigisPerBinSts[uBin], fvuNbDigisPerBinMuch[uBin]); @@ -502,10 +502,10 @@ void CbmCheckDigisNbCorr::Exec(Option_t* /*option*/) } // if( 0 < fvuNbDigisPerBinTof[ uBin ] || 0 < fvuNbDigisPerBinRich[ uBin ] ) for (UInt_t uStsDpb = 0; uStsDpb < kuMaxNbStsDpbs; ++uStsDpb) { - if (0 < fvuNbDigisPerBinT0[uBin] || 0 < fvuNbDigisPerBinStsDpb[uStsDpb][uBin]) { - fT0StsDpbCorr[uStsDpb]->Fill(fvuNbDigisPerBinT0[uBin], fvuNbDigisPerBinStsDpb[uStsDpb][uBin]); - fT0StsDpbCorrProf[uStsDpb]->Fill(fvuNbDigisPerBinT0[uBin], fvuNbDigisPerBinStsDpb[uStsDpb][uBin]); - } // if( 0 < fvuNbDigisPerBinT0[ uBin ] || 0 < fvuNbDigisPerBinStsDpb[uStsDpb][ uBin ] ) + if (0 < fvuNbDigisPerBinBmon[uBin] || 0 < fvuNbDigisPerBinStsDpb[uStsDpb][uBin]) { + fBmonStsDpbCorr[uStsDpb]->Fill(fvuNbDigisPerBinBmon[uBin], fvuNbDigisPerBinStsDpb[uStsDpb][uBin]); + fBmonStsDpbCorrProf[uStsDpb]->Fill(fvuNbDigisPerBinBmon[uBin], fvuNbDigisPerBinStsDpb[uStsDpb][uBin]); + } // if( 0 < fvuNbDigisPerBinBmon[ uBin ] || 0 < fvuNbDigisPerBinStsDpb[uStsDpb][ uBin ] ) if (0 < fvuNbDigisPerBinStsDpb[uStsDpb][uBin] || 0 < fvuNbDigisPerBinMuch[uBin]) { fStsMuchDpbCorr[uStsDpb]->Fill(fvuNbDigisPerBinStsDpb[uStsDpb][uBin], fvuNbDigisPerBinMuch[uBin]); @@ -538,10 +538,10 @@ void CbmCheckDigisNbCorr::WriteHistos() /// 2D - fT0StsCorr->Write(); - fT0MuchCorr->Write(); - fT0TofCorr->Write(); - fT0RichCorr->Write(); + fBmonStsCorr->Write(); + fBmonMuchCorr->Write(); + fBmonTofCorr->Write(); + fBmonRichCorr->Write(); fStsMuchCorr->Write(); fStsTofCorr->Write(); fStsRichCorr->Write(); @@ -550,10 +550,10 @@ void CbmCheckDigisNbCorr::WriteHistos() fTofRichCorr->Write(); /// Profiles - fT0StsCorrProf->Write(); - fT0MuchCorrProf->Write(); - fT0TofCorrProf->Write(); - fT0RichCorrProf->Write(); + fBmonStsCorrProf->Write(); + fBmonMuchCorrProf->Write(); + fBmonTofCorrProf->Write(); + fBmonRichCorrProf->Write(); fStsMuchCorrProf->Write(); fStsTofCorrProf->Write(); fStsRichCorrProf->Write(); @@ -562,12 +562,12 @@ void CbmCheckDigisNbCorr::WriteHistos() fTofRichCorrProf->Write(); for (UInt_t uStsDpb = 0; uStsDpb < kuMaxNbStsDpbs; ++uStsDpb) { - fT0StsDpbCorr[uStsDpb]->Write(); + fBmonStsDpbCorr[uStsDpb]->Write(); fStsMuchDpbCorr[uStsDpb]->Write(); fStsTofDpbCorr[uStsDpb]->Write(); fStsRichDpbCorr[uStsDpb]->Write(); - fT0StsDpbCorrProf[uStsDpb]->Write(); + fBmonStsDpbCorrProf[uStsDpb]->Write(); fStsMuchDpbCorrProf[uStsDpb]->Write(); fStsTofDpbCorrProf[uStsDpb]->Write(); fStsRichDpbCorrProf[uStsDpb]->Write(); diff --git a/fles/mcbm2018/tasks/CbmCheckDigisNbCorr.h b/fles/mcbm2018/tasks/CbmCheckDigisNbCorr.h index fda3a7ccb9d5c19a2c747aac6a032b559ed78909..1fce0546b5e18b4a7c23b1673adb765aa388f1c5 100644 --- a/fles/mcbm2018/tasks/CbmCheckDigisNbCorr.h +++ b/fles/mcbm2018/tasks/CbmCheckDigisNbCorr.h @@ -65,10 +65,10 @@ public: fdTsLengthNs = dTsInNs; } - inline void SetT0PulserTotLimits(UInt_t uMin, UInt_t uMax) + inline void SetBmonPulserTotLimits(UInt_t uMin, UInt_t uMax) { - fuMinTotPulserT0 = uMin; - fuMaxTotPulserT0 = uMax; + fuMinTotPulserBmon = uMin; + fuMaxTotPulserBmon = uMax; } inline void SetOutFilename(TString sNameIn) { fOutFileName = sNameIn; } @@ -82,19 +82,19 @@ private: /** Input array from previous already existing data level **/ TClonesArray* fTsMetaData = nullptr; CbmDigiManager* fDigiMan = nullptr; //! Interface to digi data - /** T0 is not included in CbmDigiManager, so add it explicitly here **/ - const std::vector<CbmTofDigi>* fT0DigiVec = nullptr; //! - TClonesArray* fT0DigiArr {nullptr}; //! + /** Bmon is not included in CbmDigiManager, so add it explicitly here **/ + const std::vector<CbmTofDigi>* fBmonDigiVec = nullptr; //! + TClonesArray* fBmonDigiArr {nullptr}; //! /// User settings: Data correction parameters - UInt_t fuMinTotPulserT0; - UInt_t fuMaxTotPulserT0; + UInt_t fuMinTotPulserBmon; + UInt_t fuMaxTotPulserBmon; // Int_t fNrTs = 0; - Int_t fNrOfT0Errors = 0; - Int_t fNrOfT0Digis = 0; + Int_t fNrOfBmonErrors = 0; + Int_t fNrOfBmonDigis = 0; Int_t fNrOfStsErrors = 0; Int_t fNrOfStsDigis = 0; Int_t fNrOfMuchErrors = 0; @@ -114,16 +114,16 @@ private: Int_t fiBinNb = fdTsLengthNs / fdBinWidthNs; Double_t fdTsStartOffset = 0; - std::vector<UInt_t> fvuNbDigisPerBinT0; + std::vector<UInt_t> fvuNbDigisPerBinBmon; std::vector<UInt_t> fvuNbDigisPerBinSts; std::vector<UInt_t> fvuNbDigisPerBinMuch; std::vector<UInt_t> fvuNbDigisPerBinTof; std::vector<UInt_t> fvuNbDigisPerBinRich; - TH2* fT0StsCorr = nullptr; - TH2* fT0MuchCorr = nullptr; - TH2* fT0TofCorr = nullptr; - TH2* fT0RichCorr = nullptr; + TH2* fBmonStsCorr = nullptr; + TH2* fBmonMuchCorr = nullptr; + TH2* fBmonTofCorr = nullptr; + TH2* fBmonRichCorr = nullptr; TH2* fStsMuchCorr = nullptr; TH2* fStsTofCorr = nullptr; @@ -134,10 +134,10 @@ private: TH2* fTofRichCorr = nullptr; - TProfile* fT0StsCorrProf = nullptr; - TProfile* fT0MuchCorrProf = nullptr; - TProfile* fT0TofCorrProf = nullptr; - TProfile* fT0RichCorrProf = nullptr; + TProfile* fBmonStsCorrProf = nullptr; + TProfile* fBmonMuchCorrProf = nullptr; + TProfile* fBmonTofCorrProf = nullptr; + TProfile* fBmonRichCorrProf = nullptr; TProfile* fStsMuchCorrProf = nullptr; TProfile* fStsTofCorrProf = nullptr; @@ -150,18 +150,18 @@ private: static const UInt_t kuMaxNbStsDpbs = 2; std::vector<std::vector<UInt_t>> fvuNbDigisPerBinStsDpb; - TH2* fT0StsDpbCorr[kuMaxNbStsDpbs]; + TH2* fBmonStsDpbCorr[kuMaxNbStsDpbs]; TH2* fStsMuchDpbCorr[kuMaxNbStsDpbs]; TH2* fStsTofDpbCorr[kuMaxNbStsDpbs]; TH2* fStsRichDpbCorr[kuMaxNbStsDpbs]; - TProfile* fT0StsDpbCorrProf[kuMaxNbStsDpbs]; + TProfile* fBmonStsDpbCorrProf[kuMaxNbStsDpbs]; TProfile* fStsMuchDpbCorrProf[kuMaxNbStsDpbs]; TProfile* fStsTofDpbCorrProf[kuMaxNbStsDpbs]; TProfile* fStsRichDpbCorrProf[kuMaxNbStsDpbs]; /* static const UInt_t kuMaxNbMuchAsics = 24; - TH2* fT0MuchAsicCorr[kuMaxNbMuchAsics]; - TProfile* fT0MuchAsicCorrProf[kuMaxNbMuchAsics]; + TH2* fBmonMuchAsicCorr[kuMaxNbMuchAsics]; + TProfile* fBmonMuchAsicCorrProf[kuMaxNbMuchAsics]; */ TString fOutFileName {"HistosCheckDigisNbCorr.root"}; diff --git a/fles/mcbm2018/tasks/CbmCheckEvents.cxx b/fles/mcbm2018/tasks/CbmCheckEvents.cxx index 4d1f8c4b68415ba9390e5859aea87e4a68aeb4ae..20f699097fc2b81aa3a2f432b3a4cfec6614d9dc 100644 --- a/fles/mcbm2018/tasks/CbmCheckEvents.cxx +++ b/fles/mcbm2018/tasks/CbmCheckEvents.cxx @@ -63,10 +63,10 @@ InitStatus CbmCheckEvents::Init() // Get a pointer to the previous already existing data level - fT0DigiVec = ioman->InitObjectAs<std::vector<CbmTofDigi> const*>("T0Digi"); - if (!fT0DigiVec) { - fT0DigiArr = dynamic_cast<TClonesArray*>(ioman->GetObject("T0Digi")); - if (!fT0DigiArr) { LOG(fatal) << "No TClonesArray with T0 digis found."; } + fBmonDigiVec = ioman->InitObjectAs<std::vector<CbmTofDigi> const*>("BmonDigi"); + if (!fBmonDigiVec) { + fBmonDigiArr = dynamic_cast<TClonesArray*>(ioman->GetObject("BmonDigi")); + if (!fBmonDigiArr) { LOG(fatal) << "No TClonesArray with Bmon digis found."; } } if (!fDigiMan->IsPresent(ECbmModuleId::kSts)) { LOG(info) << "No TClonesArray with STS digis found."; } @@ -100,11 +100,12 @@ void CbmCheckEvents::CreateHistos() fEventSize = new TH1F("fEventSize", "Event Size; # Digis; Counts", 1000, -0.5, 999.5); fEventLength = new TH1F("fEventLength", "Event Length; time [ns]; Counts", 1000, -0.5, 999.5); fEventsPerTS = new TH1F("fEventsPerTS", "Events per time slice; # Events; Counts", 1000, -0.5, 999.5); - fT0InEvent = new TH1F("fT0InEvent", "Number of T0 digis in Event; # digis; Counts", 1000, -0.5, 999.5); + fBmonInEvent = new TH1F("fBmonInEvent", "Number of Bmon digis in Event; # digis; Counts", 1000, -0.5, 999.5); fStsInEvent = new TH1F("fStsInEvent", "Number of Sts digis in Event; # digis; Counts", 1000, -0.5, 999.5); fMuchInEvent = new TH1F("fMuchInEvent", "Number of Much digis in Event; # digis; Counts", 1000, -0.5, 999.5); fTofInEvent = new TH1F("fTofInEvent", "Number of Tof digis in Event; # digis; Counts", 1000, -0.5, 999.5); - fT0DeltaT = new TH1F("fT0DeltaT", "Time diff between first and last T0 digi;dt [ns]; Counts", 1000, -0.5, 999.5); + fBmonDeltaT = + new TH1F("fBmonDeltaT", "Time diff between first and last Bmon digi;dt [ns]; Counts", 1000, -0.5, 999.5); fStsDeltaT = new TH1F("fStsDeltaT", "Time diff between first and last Sts digi;dt [ns]; Counts", 1000, -0.5, 999.5); fMuchDeltaT = new TH1F("fMuchDeltaT", "Time diff between first and last Much digi;dt [ns]; Counts", 1000, -0.5, 999.5); @@ -124,16 +125,16 @@ void CbmCheckEvents::Exec(Option_t* /*option*/) fEventsPerTS->Fill(nrEvents); fEventsvsTS->Fill(fNrTs, nrEvents); - Int_t nrT0Digis = -1; - if (fT0DigiVec) nrT0Digis = fT0DigiVec->size(); - else if (fT0DigiArr) - nrT0Digis = fT0DigiArr->GetEntriesFast(); + Int_t nrBmonDigis = -1; + if (fBmonDigiVec) nrBmonDigis = fBmonDigiVec->size(); + else if (fBmonDigiArr) + nrBmonDigis = fBmonDigiArr->GetEntriesFast(); Int_t nrStsDigis = fDigiMan->GetNofDigis(ECbmModuleId::kSts); Int_t nrMuchDigis = fDigiMan->GetNofDigis(ECbmModuleId::kMuch); Int_t nrTofDigis = fDigiMan->GetNofDigis(ECbmModuleId::kTof); LOG(debug) << "Events: " << nrEvents; - LOG(debug) << "T0Digis: " << nrT0Digis; + LOG(debug) << "BmonDigis: " << nrBmonDigis; LOG(debug) << "StsDigis: " << nrStsDigis; LOG(debug) << "MuchDigis: " << nrMuchDigis; LOG(debug) << "TofDigis: " << nrTofDigis; @@ -154,7 +155,7 @@ void CbmCheckEvents::AnalyseEvent(CbmEvent* event) { // Loop over the the digis and extract the maximum time // difference between the digis - GetTimeDiffT0(event, fT0DeltaT, fT0InEvent); + GetTimeDiffBmon(event, fBmonDeltaT, fBmonInEvent); GetTimeDiff<CbmStsDigi>(event, fStsDeltaT, fStsInEvent, ECbmDataType::kStsDigi); GetTimeDiff<CbmMuchBeamTimeDigi>(event, fMuchDeltaT, fMuchInEvent, ECbmDataType::kMuchDigi); GetTimeDiff<CbmTofDigi>(event, fTofDeltaT, fTofInEvent, ECbmDataType::kTofDigi); @@ -178,19 +179,19 @@ void CbmCheckEvents::GetTimeDiff(CbmEvent* event, TH1* deltaT, TH1* size, ECbmDa } -void CbmCheckEvents::GetTimeDiffT0(CbmEvent* event, TH1* deltaT, TH1* size) +void CbmCheckEvents::GetTimeDiffBmon(CbmEvent* event, TH1* deltaT, TH1* size) { Double_t startTime {1.e18}; Double_t stopTime {0.}; - Int_t nDigis = event->GetNofData(ECbmDataType::kT0Digi); + Int_t nDigis = event->GetNofData(ECbmDataType::kBmonDigi); size->Fill(nDigis); for (Int_t iDigi = 0; iDigi < nDigis; iDigi++) { - UInt_t index = event->GetIndex(ECbmDataType::kT0Digi, iDigi); + UInt_t index = event->GetIndex(ECbmDataType::kBmonDigi, iDigi); //Double_t digiTime; (VF) not used const CbmTofDigi* digi = nullptr; - if (fT0DigiVec) digi = &(fT0DigiVec->at(index)); - else if (fT0DigiArr) - digi = dynamic_cast<CbmTofDigi*>(fT0DigiArr->At(index)); + if (fBmonDigiVec) digi = &(fBmonDigiVec->at(index)); + else if (fBmonDigiArr) + digi = dynamic_cast<CbmTofDigi*>(fBmonDigiArr->At(index)); assert(digi); if (digi->GetTime() < startTime) startTime = digi->GetTime(); if (digi->GetTime() > stopTime) stopTime = digi->GetTime(); @@ -210,12 +211,12 @@ void CbmCheckEvents::Finish() fEventLength->Write(); fEventsPerTS->Write(); - fT0InEvent->Write(); + fBmonInEvent->Write(); fStsInEvent->Write(); fMuchInEvent->Write(); fTofInEvent->Write(); - fT0DeltaT->Write(); + fBmonDeltaT->Write(); fStsDeltaT->Write(); fMuchDeltaT->Write(); fTofDeltaT->Write(); diff --git a/fles/mcbm2018/tasks/CbmCheckEvents.h b/fles/mcbm2018/tasks/CbmCheckEvents.h index 26cda0823997fff6b4c3cc421eda25a13a8a7c42..7f5571bd0ccc91a3d7a4a867023abdbf9d4c7ca2 100644 --- a/fles/mcbm2018/tasks/CbmCheckEvents.h +++ b/fles/mcbm2018/tasks/CbmCheckEvents.h @@ -58,15 +58,15 @@ private: void CreateHistos(); void AnalyseEvent(CbmEvent* event); - void GetTimeDiffT0(CbmEvent*, TH1*, TH1*); + void GetTimeDiffBmon(CbmEvent*, TH1*, TH1*); template<class Digi> void GetTimeDiff(CbmEvent* event, TH1*, TH1*, ECbmDataType type); CbmDigiManager* fDigiMan = nullptr; //! Interface to digi data - /** T0 is not included in CbmDigiManager, so add it explicitly here **/ - const std::vector<CbmTofDigi>* fT0DigiVec = nullptr; //! - TClonesArray* fT0DigiArr {nullptr}; //! + /** Bmon is not included in CbmDigiManager, so add it explicitly here **/ + const std::vector<CbmTofDigi>* fBmonDigiVec = nullptr; //! + TClonesArray* fBmonDigiArr {nullptr}; //! TClonesArray* fEvents {nullptr}; // Variables to store the previous digi time @@ -79,12 +79,12 @@ private: TH1* fEventSize = nullptr; TH1* fEventLength = nullptr; TH1* fEventsPerTS = nullptr; - TH1* fT0InEvent = nullptr; + TH1* fBmonInEvent = nullptr; TH1* fStsInEvent = nullptr; TH1* fMuchInEvent = nullptr; TH1* fTofInEvent = nullptr; - TH1* fT0DeltaT = nullptr; + TH1* fBmonDeltaT = nullptr; TH1* fStsDeltaT = nullptr; TH1* fMuchDeltaT = nullptr; TH1* fTofDeltaT = nullptr; diff --git a/fles/mcbm2018/tasks/CbmCheckTiming.cxx b/fles/mcbm2018/tasks/CbmCheckTiming.cxx index 60e25296af56c1c069a137f018ec29bc7ff2de09..fad5bbf781bf246af7c089a1c099e1f687bf725a 100644 --- a/fles/mcbm2018/tasks/CbmCheckTiming.cxx +++ b/fles/mcbm2018/tasks/CbmCheckTiming.cxx @@ -59,10 +59,10 @@ InitStatus CbmCheckTiming::Init() fDigiMan->Init(); // Get a pointer to the previous already existing data level - fT0DigiVec = ioman->InitObjectAs<std::vector<CbmTofDigi> const*>("T0Digi"); - if (!fT0DigiVec) { - fT0DigiArr = dynamic_cast<TClonesArray*>(ioman->GetObject("T0Digi")); - if (!fT0DigiArr) { LOG(fatal) << "No TClonesArray with T0 digis found."; } + fBmonDigiVec = ioman->InitObjectAs<std::vector<CbmTofDigi> const*>("BmonDigi"); + if (!fBmonDigiVec) { + fBmonDigiArr = dynamic_cast<TClonesArray*>(ioman->GetObject("BmonDigi")); + if (!fBmonDigiArr) { LOG(fatal) << "No TClonesArray with Bmon digis found."; } } if (!fDigiMan->IsPresent(ECbmModuleId::kSts)) { LOG(info) << "No STS digis found."; } @@ -111,116 +111,120 @@ void CbmCheckTiming::CreateHistos() // double * dBinsLog = GenerateLogBinArray( 9, 9, 1, iNbBinsLog ); Int_t nrOfBinsSts = CalcNrBins(fStsOffsetRange); - // T0 vs. Sts - fT0StsDiff = new TH1D("fT0StsDiff", "Sts-T0;time diff [ns];Counts", nrOfBinsSts, -fStsOffsetRange, fStsOffsetRange); + // Bmon vs. Sts + fBmonStsDiff = + new TH1D("fBmonStsDiff", "Sts-Bmon;time diff [ns];Counts", nrOfBinsSts, -fStsOffsetRange, fStsOffsetRange); - fT0StsDiffCharge = new TH2F("fT0StsDiffCharge", "Sts-T0;time diff [ns]; Charge [a.u]; Counts", nrOfBinsSts, - -fStsOffsetRange, fStsOffsetRange, 256, 0, 256); + fBmonStsDiffCharge = new TH2F("fBmonStsDiffCharge", "Sts-Bmon;time diff [ns]; Charge [a.u]; Counts", nrOfBinsSts, + -fStsOffsetRange, fStsOffsetRange, 256, 0, 256); - fT0StsDiffEvo = new TH2F("fT0StsDiffEvo", "Sts-T0;TS; time diff [ns];Counts", 1000, 0, 10000, nrOfBinsSts, - -fStsOffsetRange, fStsOffsetRange); + fBmonStsDiffEvo = new TH2F("fBmonStsDiffEvo", "Sts-Bmon;TS; time diff [ns];Counts", 1000, 0, 10000, nrOfBinsSts, + -fStsOffsetRange, fStsOffsetRange); Int_t nrOfBinsMuch = CalcNrBins(fMuchOffsetRange); - // T0 vs. Much - fT0MuchDiff = - new TH1D("fT0MuchDiff", "Much-T0;time diff [ns];Counts", nrOfBinsMuch, -fMuchOffsetRange, fMuchOffsetRange); + // Bmon vs. Much + fBmonMuchDiff = + new TH1D("fBmonMuchDiff", "Much-Bmon;time diff [ns];Counts", nrOfBinsMuch, -fMuchOffsetRange, fMuchOffsetRange); - fT0MuchDiffCharge = new TH2F("fT0MuchDiffCharge", "Much-T0;time diff [ns]; Charge [a.u]; ;Counts", nrOfBinsMuch, - -fMuchOffsetRange, fMuchOffsetRange, 256, 0, 256); + fBmonMuchDiffCharge = new TH2F("fBmonMuchDiffCharge", "Much-Bmon;time diff [ns]; Charge [a.u]; ;Counts", nrOfBinsMuch, + -fMuchOffsetRange, fMuchOffsetRange, 256, 0, 256); - fT0MuchDiffEvo = new TH2F("fT0MuchDiffEvo", "Much-T0;TS; time diff [ns];Counts", 1000, 0, 10000, nrOfBinsMuch, - -fMuchOffsetRange, fMuchOffsetRange); + fBmonMuchDiffEvo = new TH2F("fBmonMuchDiffEvo", "Much-Bmon;TS; time diff [ns];Counts", 1000, 0, 10000, nrOfBinsMuch, + -fMuchOffsetRange, fMuchOffsetRange); Int_t nrOfBinsTrd = CalcNrBins(fTrdOffsetRange); // To vs. Trd - fT0TrdDiff = new TH1D("fT0TrdDiff", "Trd-T0;time diff [ns];Counts", nrOfBinsTrd, -fTrdOffsetRange, fTrdOffsetRange); + fBmonTrdDiff = + new TH1D("fBmonTrdDiff", "Trd-Bmon;time diff [ns];Counts", nrOfBinsTrd, -fTrdOffsetRange, fTrdOffsetRange); - fT0TrdDiffCharge = new TH2F("fT0TrdDiffCharge", "Trd-T0;time diff [ns]; Charge [a.u]; ;Counts", nrOfBinsTrd, - -fTrdOffsetRange, fTrdOffsetRange, 256, 0, 256); + fBmonTrdDiffCharge = new TH2F("fBmonTrdDiffCharge", "Trd-Bmon;time diff [ns]; Charge [a.u]; ;Counts", nrOfBinsTrd, + -fTrdOffsetRange, fTrdOffsetRange, 256, 0, 256); - fT0TrdDiffEvo = new TH2F("fT0TrdDiffEvo", "Trd-T0;TS; time diff [ns];Counts", 1000, 0, 10000, nrOfBinsTrd, - -fTrdOffsetRange, fTrdOffsetRange); + fBmonTrdDiffEvo = new TH2F("fBmonTrdDiffEvo", "Trd-Bmon;TS; time diff [ns];Counts", 1000, 0, 10000, nrOfBinsTrd, + -fTrdOffsetRange, fTrdOffsetRange); Int_t nrOfBinsTof = CalcNrBins(fTofOffsetRange); // To vs. Tof - fT0TofDiff = new TH1D("fT0TofDiff", "Tof-T0;time diff [ns];Counts", nrOfBinsTof, -fTofOffsetRange, fTofOffsetRange); + fBmonTofDiff = + new TH1D("fBmonTofDiff", "Tof-Bmon;time diff [ns];Counts", nrOfBinsTof, -fTofOffsetRange, fTofOffsetRange); - fT0TofDiffCharge = new TH2F("fT0TofDiffCharge", "Tof-T0;time diff [ns]; Charge [a.u]; ;Counts", nrOfBinsTof, - -fTofOffsetRange, fTofOffsetRange, 256, 0, 256); + fBmonTofDiffCharge = new TH2F("fBmonTofDiffCharge", "Tof-Bmon;time diff [ns]; Charge [a.u]; ;Counts", nrOfBinsTof, + -fTofOffsetRange, fTofOffsetRange, 256, 0, 256); - fT0TofDiffEvo = new TH2F("fT0TofDiffEvo", "Tof-T0;TS; time diff [ns];Counts", 1000, 0, 10000, nrOfBinsTof, - -fTofOffsetRange, fTofOffsetRange); + fBmonTofDiffEvo = new TH2F("fBmonTofDiffEvo", "Tof-Bmon;TS; time diff [ns];Counts", 1000, 0, 10000, nrOfBinsTof, + -fTofOffsetRange, fTofOffsetRange); Int_t nrOfBinsRich = CalcNrBins(fRichOffsetRange); // To vs. Rich - fT0RichDiff = - new TH1D("fT0RichDiff", "Rich-T0;time diff [ns];Counts", nrOfBinsRich, -fRichOffsetRange, fRichOffsetRange); + fBmonRichDiff = + new TH1D("fBmonRichDiff", "Rich-Bmon;time diff [ns];Counts", nrOfBinsRich, -fRichOffsetRange, fRichOffsetRange); - fT0RichDiffCharge = new TH2F("fT0RichDiffCharge", "Rich-T0;time diff [ns]; Charge [a.u]; ;Counts", nrOfBinsRich, - -fRichOffsetRange, fRichOffsetRange, 256, 0, 256); + fBmonRichDiffCharge = new TH2F("fBmonRichDiffCharge", "Rich-Bmon;time diff [ns]; Charge [a.u]; ;Counts", nrOfBinsRich, + -fRichOffsetRange, fRichOffsetRange, 256, 0, 256); - fT0RichDiffEvo = new TH2F("fT0RichDiffEvo", "Rich-T0;TS; time diff [ns];Counts", 1000, 0, 10000, nrOfBinsRich, - -fRichOffsetRange, fRichOffsetRange); + fBmonRichDiffEvo = new TH2F("fBmonRichDiffEvo", "Rich-Bmon;TS; time diff [ns];Counts", 1000, 0, 10000, nrOfBinsRich, + -fRichOffsetRange, fRichOffsetRange); Int_t nrOfBinsPsd = CalcNrBins(fPsdOffsetRange); // To vs. Psd - fT0PsdDiff = new TH1D("fT0PsdDiff", "Psd-T0;time diff [ns];Counts", nrOfBinsPsd, -fPsdOffsetRange, fPsdOffsetRange); + fBmonPsdDiff = + new TH1D("fBmonPsdDiff", "Psd-Bmon;time diff [ns];Counts", nrOfBinsPsd, -fPsdOffsetRange, fPsdOffsetRange); - fT0PsdDiffCharge = new TH2F("fT0PsdDiffCharge", "Psd-T0;time diff [ns]; Charge [a.u]; ;Counts", nrOfBinsPsd, - -fPsdOffsetRange, fPsdOffsetRange, 7000, 0, 70000); + fBmonPsdDiffCharge = new TH2F("fBmonPsdDiffCharge", "Psd-Bmon;time diff [ns]; Charge [a.u]; ;Counts", nrOfBinsPsd, + -fPsdOffsetRange, fPsdOffsetRange, 7000, 0, 70000); - fT0PsdDiffEvo = new TH2F("fT0PsdDiffEvo", "Psd-T0;TS; time diff [ns];Counts", 1000, 0, 10000, nrOfBinsPsd, - -fPsdOffsetRange, fPsdOffsetRange); + fBmonPsdDiffEvo = new TH2F("fBmonPsdDiffEvo", "Psd-Bmon;TS; time diff [ns];Counts", 1000, 0, 10000, nrOfBinsPsd, + -fPsdOffsetRange, fPsdOffsetRange); - // T0 vs. Sts - fT0StsDiffEvoLong = new TH2F("fT0StsDiffEvoLong", "Sts-T0;TS; time diff [ns];Counts", 1800, 0, 180000, nrOfBinsSts, - -fStsOffsetRange, fStsOffsetRange); - // T0 vs. Much - fT0MuchDiffEvoLong = new TH2F("fT0MuchDiffEvoLong", "Much-T0;TS; time diff [ns];Counts", 1800, 0, 180000, - nrOfBinsMuch, -fMuchOffsetRange, fMuchOffsetRange); + // Bmon vs. Sts + fBmonStsDiffEvoLong = new TH2F("fBmonStsDiffEvoLong", "Sts-Bmon;TS; time diff [ns];Counts", 1800, 0, 180000, + nrOfBinsSts, -fStsOffsetRange, fStsOffsetRange); + // Bmon vs. Much + fBmonMuchDiffEvoLong = new TH2F("fBmonMuchDiffEvoLong", "Much-Bmon;TS; time diff [ns];Counts", 1800, 0, 180000, + nrOfBinsMuch, -fMuchOffsetRange, fMuchOffsetRange); // To vs. Trd - fT0TrdDiffEvoLong = new TH2F("fT0TrdDiffEvoLong", "Trd-T0;TS; time diff [ns];Counts", 1800, 0, 180000, nrOfBinsTrd, - -fTrdOffsetRange, fTrdOffsetRange); + fBmonTrdDiffEvoLong = new TH2F("fBmonTrdDiffEvoLong", "Trd-Bmon;TS; time diff [ns];Counts", 1800, 0, 180000, + nrOfBinsTrd, -fTrdOffsetRange, fTrdOffsetRange); // To vs. Tof - fT0TofDiffEvoLong = new TH2F("fT0TofDiffEvoLong", "Tof-T0;TS; time diff [ns];Counts", 1800, 0, 180000, nrOfBinsTof, - -fTofOffsetRange, fTofOffsetRange); + fBmonTofDiffEvoLong = new TH2F("fBmonTofDiffEvoLong", "Tof-Bmon;TS; time diff [ns];Counts", 1800, 0, 180000, + nrOfBinsTof, -fTofOffsetRange, fTofOffsetRange); // To vs. Rich - fT0RichDiffEvoLong = new TH2F("fT0RichDiffEvoLong", "Rich-T0;TS; time diff [ns];Counts", 1800, 0, 180000, - nrOfBinsRich, -fRichOffsetRange, fRichOffsetRange); + fBmonRichDiffEvoLong = new TH2F("fBmonRichDiffEvoLong", "Rich-Bmon;TS; time diff [ns];Counts", 1800, 0, 180000, + nrOfBinsRich, -fRichOffsetRange, fRichOffsetRange); // To vs. Psd - fT0PsdDiffEvoLong = new TH2F("fT0PsdDiffEvoLong", "Psd-T0;TS; time diff [ns];Counts", 1800, 0, 180000, nrOfBinsPsd, - -fPsdOffsetRange, fPsdOffsetRange); + fBmonPsdDiffEvoLong = new TH2F("fBmonPsdDiffEvoLong", "Psd-Bmon;TS; time diff [ns];Counts", 1800, 0, 180000, + nrOfBinsPsd, -fPsdOffsetRange, fPsdOffsetRange); - // T0 vs. STS for the different DPBs - fT0StsDpbDiff = new TH2F("fT0StsDpbDiff", "Much-T0;DPB; time diff [ns];Counts", 2, -0.5, 1.5, nrOfBinsSts, - -fStsOffsetRange, fStsOffsetRange); + // Bmon vs. STS for the different DPBs + fBmonStsDpbDiff = new TH2F("fBmonStsDpbDiff", "Much-Bmon;DPB; time diff [ns];Counts", 2, -0.5, 1.5, nrOfBinsSts, + -fStsOffsetRange, fStsOffsetRange); for (UInt_t uStsDpb = 0; uStsDpb < kuMaxNbStsDpbs; ++uStsDpb) { - fT0StsDpbDiffEvo[uStsDpb] = - new TH2F(Form("fT0StsDpbDiffEvo%02u", uStsDpb), Form("Sts-T0 DPB %02u;TS; time diff [ns];Counts", uStsDpb), 1800, - 0, 180000, nrOfBinsSts, -fStsOffsetRange, fStsOffsetRange); + fBmonStsDpbDiffEvo[uStsDpb] = + new TH2F(Form("fBmonStsDpbDiffEvo%02u", uStsDpb), Form("Sts-Bmon DPB %02u;TS; time diff [ns];Counts", uStsDpb), + 1800, 0, 180000, nrOfBinsSts, -fStsOffsetRange, fStsOffsetRange); fStsDpbCntsEvo[uStsDpb] = new TH1F(Form("fStsDpbCntsEvo%02u", uStsDpb), Form("Time STS DPB %02u;TS; Hit Counts", uStsDpb), 1800, 0, 180000); } // for( UInt_t uStsDpb = 0; uStsDpb < kuMaxNbStsDpbs; ++uStsDpb ) - // T0 vs. Much for the different DPBs/AFCK - fT0MuchRocDiff = new TH2F("fT0MuchRocDiff", "Much-T0;AFCK; time diff [ns];Counts", kuMaxNbMuchDpbs, -0.5, - kuMaxNbMuchDpbs - 0.5, nrOfBinsMuch, -fMuchOffsetRange, fMuchOffsetRange); + // Bmon vs. Much for the different DPBs/AFCK + fBmonMuchRocDiff = new TH2F("fBmonMuchRocDiff", "Much-Bmon;AFCK; time diff [ns];Counts", kuMaxNbMuchDpbs, -0.5, + kuMaxNbMuchDpbs - 0.5, nrOfBinsMuch, -fMuchOffsetRange, fMuchOffsetRange); - // T0 vs. Much for the different ASICs - fT0MuchAsicDiff = new TH2F("fT0MuchAsicDiff", "Much-T0;ASIC; time diff [ns];Counts", kuMaxNbMuchAsics, -0.5, - kuMaxNbMuchAsics - 0.5, nrOfBinsMuch, -fMuchOffsetRange, fMuchOffsetRange); + // Bmon vs. Much for the different ASICs + fBmonMuchAsicDiff = new TH2F("fBmonMuchAsicDiff", "Much-Bmon;ASIC; time diff [ns];Counts", kuMaxNbMuchAsics, -0.5, + kuMaxNbMuchAsics - 0.5, nrOfBinsMuch, -fMuchOffsetRange, fMuchOffsetRange); for (UInt_t uMuchAsic = 0; uMuchAsic < kuMaxNbMuchAsics; ++uMuchAsic) - fT0MuchAsicDiffEvo[uMuchAsic] = new TH2F(Form("fT0MuchAsicDiffEvo%02u", uMuchAsic), - Form("Much-T0 ASIC %02u;TS; time diff [ns];Counts", uMuchAsic), 1800, 0, - 180000, nrOfBinsMuch, -fMuchOffsetRange, fMuchOffsetRange); + fBmonMuchAsicDiffEvo[uMuchAsic] = new TH2F(Form("fBmonMuchAsicDiffEvo%02u", uMuchAsic), + Form("Much-Bmon ASIC %02u;TS; time diff [ns];Counts", uMuchAsic), 1800, + 0, 180000, nrOfBinsMuch, -fMuchOffsetRange, fMuchOffsetRange); - // T0 vs. T0 - fT0T0Diff = new TH1F("fT0T0Diff", "T0-T0_prev;time diff [ns];Counts", iNbBinsLog, dBinsLog); + // Bmon vs. Bmon + fBmonBmonDiff = new TH1F("fBmonBmonDiff", "Bmon-Bmon_prev;time diff [ns];Counts", iNbBinsLog, dBinsLog); // sts vs. Sts fStsStsDiff = new TH1F("fStsStsDiff", "Sts-Sts_prev;time diff [ns];Counts", iNbBinsLog, dBinsLog); // Much vs. Much @@ -234,22 +238,22 @@ void CbmCheckTiming::CreateHistos() // Psd vs. Psd fPsdPsdDiff = new TH1F("fPsdPsdDiff", "Psd-Psd_prev;time diff [ns];Counts", iNbBinsLog, dBinsLog); - fT0Address = new TH1F("fT0Address", "T0 address;address;Counts", 1000000, 0, 1000000.); + fBmonAddress = new TH1F("fBmonAddress", "Bmon address;address;Counts", 1000000, 0, 1000000.); - fT0Channel = new TH1F("fT0Channel", "T0 channel;channel nr;Counts", 100, -0.5, 99.5); + fBmonChannel = new TH1F("fBmonChannel", "Bmon channel;channel nr;Counts", 100, -0.5, 99.5); - fSelT0StsDiff = new TH1F("fSelT0StsDiff", "Sts-T0 if T0 in coinc with TOF;time diff [ns];Counts", nrOfBinsSts, - -fStsOffsetRange, fStsOffsetRange); - fSelT0MuchDiff = new TH1F("fSelT0MuchDiff", "Much-T0 if T0 in coinc with TOF;time diff [ns];Counts", nrOfBinsMuch, - -fMuchOffsetRange, fMuchOffsetRange); - fSelT0TrdDiff = new TH1F("fSelT0TrdDiff", "Trd-T0 if T0 in coinc with TOF;time diff [ns];Counts", nrOfBinsTrd, - -fTrdOffsetRange, fTrdOffsetRange); - fSelT0TofDiff = new TH1F("fSelT0TofDiff", "Tof-T0 if T0 in coinc with TOF;time diff [ns];Counts", nrOfBinsTof, - -fTofOffsetRange, fTofOffsetRange); - fSelT0RichDiff = new TH1F("fSelT0RichDiff", "Rich-T0 if T0 in coinc with TOF;time diff [ns];Counts", nrOfBinsRich, - -fRichOffsetRange, fRichOffsetRange); - fSelT0PsdDiff = new TH1F("fSelT0PsdDiff", "Psd-T0 if T0 in coinc with TOF;time diff [ns];Counts", nrOfBinsPsd, - -fPsdOffsetRange, fPsdOffsetRange); + fSelBmonStsDiff = new TH1F("fSelBmonStsDiff", "Sts-Bmon if Bmon in coinc with TOF;time diff [ns];Counts", nrOfBinsSts, + -fStsOffsetRange, fStsOffsetRange); + fSelBmonMuchDiff = new TH1F("fSelBmonMuchDiff", "Much-Bmon if Bmon in coinc with TOF;time diff [ns];Counts", + nrOfBinsMuch, -fMuchOffsetRange, fMuchOffsetRange); + fSelBmonTrdDiff = new TH1F("fSelBmonTrdDiff", "Trd-Bmon if Bmon in coinc with TOF;time diff [ns];Counts", nrOfBinsTrd, + -fTrdOffsetRange, fTrdOffsetRange); + fSelBmonTofDiff = new TH1F("fSelBmonTofDiff", "Tof-Bmon if Bmon in coinc with TOF;time diff [ns];Counts", nrOfBinsTof, + -fTofOffsetRange, fTofOffsetRange); + fSelBmonRichDiff = new TH1F("fSelBmonRichDiff", "Rich-Bmon if Bmon in coinc with TOF;time diff [ns];Counts", + nrOfBinsRich, -fRichOffsetRange, fRichOffsetRange); + fSelBmonPsdDiff = new TH1F("fSelBmonPsdDiff", "Psd-Bmon if Bmon in coinc with TOF;time diff [ns];Counts", nrOfBinsPsd, + -fPsdOffsetRange, fPsdOffsetRange); /// Cleanup array of log bins // delete dBinsLog; @@ -259,31 +263,31 @@ void CbmCheckTiming::CreateHistos() if (run) { THttpServer* server = run->GetHttpServer(); if (nullptr != server) { - server->Register("/CheckTiming", fT0StsDiff); - server->Register("/CheckTiming", fT0MuchDiff); - server->Register("/CheckTiming", fT0TrdDiff); - server->Register("/CheckTiming", fT0TofDiff); - server->Register("/CheckTiming", fT0RichDiff); - server->Register("/CheckTiming", fT0PsdDiff); - server->Register("/CheckTiming", fT0StsDiffCharge); - server->Register("/CheckTiming", fT0MuchDiffCharge); - server->Register("/CheckTiming", fT0TrdDiffCharge); - server->Register("/CheckTiming", fT0TofDiffCharge); - server->Register("/CheckTiming", fT0RichDiffCharge); - server->Register("/CheckTiming", fT0PsdDiffCharge); - server->Register("/CheckTiming", fT0StsDiffEvo); - server->Register("/CheckTiming", fT0MuchDiffEvo); - server->Register("/CheckTiming", fT0TrdDiffEvo); - server->Register("/CheckTiming", fT0TofDiffEvo); - server->Register("/CheckTiming", fT0RichDiffEvo); - server->Register("/CheckTiming", fT0PsdDiffEvo); - server->Register("/CheckTiming", fT0StsDiffEvoLong); - server->Register("/CheckTiming", fT0MuchDiffEvoLong); - server->Register("/CheckTiming", fT0TrdDiffEvoLong); - server->Register("/CheckTiming", fT0TofDiffEvoLong); - server->Register("/CheckTiming", fT0RichDiffEvoLong); - server->Register("/CheckTiming", fT0PsdDiffEvoLong); - server->Register("/CheckTiming", fT0T0Diff); + server->Register("/CheckTiming", fBmonStsDiff); + server->Register("/CheckTiming", fBmonMuchDiff); + server->Register("/CheckTiming", fBmonTrdDiff); + server->Register("/CheckTiming", fBmonTofDiff); + server->Register("/CheckTiming", fBmonRichDiff); + server->Register("/CheckTiming", fBmonPsdDiff); + server->Register("/CheckTiming", fBmonStsDiffCharge); + server->Register("/CheckTiming", fBmonMuchDiffCharge); + server->Register("/CheckTiming", fBmonTrdDiffCharge); + server->Register("/CheckTiming", fBmonTofDiffCharge); + server->Register("/CheckTiming", fBmonRichDiffCharge); + server->Register("/CheckTiming", fBmonPsdDiffCharge); + server->Register("/CheckTiming", fBmonStsDiffEvo); + server->Register("/CheckTiming", fBmonMuchDiffEvo); + server->Register("/CheckTiming", fBmonTrdDiffEvo); + server->Register("/CheckTiming", fBmonTofDiffEvo); + server->Register("/CheckTiming", fBmonRichDiffEvo); + server->Register("/CheckTiming", fBmonPsdDiffEvo); + server->Register("/CheckTiming", fBmonStsDiffEvoLong); + server->Register("/CheckTiming", fBmonMuchDiffEvoLong); + server->Register("/CheckTiming", fBmonTrdDiffEvoLong); + server->Register("/CheckTiming", fBmonTofDiffEvoLong); + server->Register("/CheckTiming", fBmonRichDiffEvoLong); + server->Register("/CheckTiming", fBmonPsdDiffEvoLong); + server->Register("/CheckTiming", fBmonBmonDiff); server->Register("/CheckTiming", fStsStsDiff); server->Register("/CheckTiming", fMuchMuchDiff); server->Register("/CheckTiming", fTrdTrdDiff); @@ -291,21 +295,21 @@ void CbmCheckTiming::CreateHistos() server->Register("/CheckTiming", fRichRichDiff); server->Register("/CheckTiming", fPsdPsdDiff); - server->Register("/CheckTiming", fT0StsDpbDiff); + server->Register("/CheckTiming", fBmonStsDpbDiff); for (UInt_t uStsDpb = 0; uStsDpb < kuMaxNbStsDpbs; ++uStsDpb) - server->Register("/CheckTiming/sts", fT0StsDpbDiffEvo[uStsDpb]); + server->Register("/CheckTiming/sts", fBmonStsDpbDiffEvo[uStsDpb]); - server->Register("/CheckTiming", fT0MuchRocDiff); - server->Register("/CheckTiming", fT0MuchAsicDiff); + server->Register("/CheckTiming", fBmonMuchRocDiff); + server->Register("/CheckTiming", fBmonMuchAsicDiff); for (UInt_t uMuchAsic = 0; uMuchAsic < kuMaxNbMuchAsics; ++uMuchAsic) - server->Register("/CheckTiming/much", fT0MuchAsicDiffEvo[uMuchAsic]); - - server->Register("/CheckTiming", fSelT0StsDiff); - server->Register("/CheckTiming", fSelT0MuchDiff); - server->Register("/CheckTiming", fSelT0TrdDiff); - server->Register("/CheckTiming", fSelT0TofDiff); - server->Register("/CheckTiming", fSelT0RichDiff); - server->Register("/CheckTiming", fSelT0PsdDiff); + server->Register("/CheckTiming/much", fBmonMuchAsicDiffEvo[uMuchAsic]); + + server->Register("/CheckTiming", fSelBmonStsDiff); + server->Register("/CheckTiming", fSelBmonMuchDiff); + server->Register("/CheckTiming", fSelBmonTrdDiff); + server->Register("/CheckTiming", fSelBmonTofDiff); + server->Register("/CheckTiming", fSelBmonRichDiff); + server->Register("/CheckTiming", fSelBmonPsdDiff); } } } @@ -330,11 +334,11 @@ void CbmCheckTiming::Exec(Option_t* /*option*/) void CbmCheckTiming::CheckInterSystemOffset() { LOG(debug) << "Begin"; - Int_t nrT0Digis = 0; - if (fT0DigiVec) nrT0Digis = fT0DigiVec->size(); - else if (fT0DigiArr) - nrT0Digis = fT0DigiArr->GetEntriesFast(); - LOG(debug) << "T0Digis: " << nrT0Digis; + Int_t nrBmonDigis = 0; + if (fBmonDigiVec) nrBmonDigis = fBmonDigiVec->size(); + else if (fBmonDigiArr) + nrBmonDigis = fBmonDigiArr->GetEntriesFast(); + LOG(debug) << "BmonDigis: " << nrBmonDigis; Int_t nrStsDigis {0}; if (fDigiMan->IsPresent(ECbmModuleId::kSts)) { @@ -372,99 +376,103 @@ void CbmCheckTiming::CheckInterSystemOffset() LOG(debug) << "PsdDigis: " << nrPsdDigis; } - // if (nrT0Digis < 100000) { - if (nrT0Digis < 1000000) { + // if (nrBmonDigis < 100000) { + if (nrBmonDigis < 1000000) { /// Re-initialize array references - fPrevT0FirstDigiSts = 0.; - fPrevT0FirstDigiMuch = 0.; - fPrevT0FirstDigiTrd = 0.; - fPrevT0FirstDigiTof = 0.; - fPrevT0FirstDigiRich = 0.; - fPrevT0FirstDigiPsd = 0.; + fPrevBmonFirstDigiSts = 0.; + fPrevBmonFirstDigiMuch = 0.; + fPrevBmonFirstDigiTrd = 0.; + fPrevBmonFirstDigiTof = 0.; + fPrevBmonFirstDigiRich = 0.; + fPrevBmonFirstDigiPsd = 0.; - fvdTimeSelectedT0.clear(); + fvdTimeSelectedBmon.clear(); - for (Int_t iT0 = 0; iT0 < nrT0Digis; ++iT0) { + for (Int_t iBmon = 0; iBmon < nrBmonDigis; ++iBmon) { - if (iT0 % 1000 == 0) LOG(debug) << "Executing entry " << iT0; + if (iBmon % 1000 == 0) LOG(debug) << "Executing entry " << iBmon; - const CbmTofDigi* T0Digi = nullptr; - if (fT0DigiVec) T0Digi = &(fT0DigiVec->at(iT0)); - else if (fT0DigiArr) - T0Digi = dynamic_cast<const CbmTofDigi*>(fT0DigiArr->At(iT0)); - assert(T0Digi); + const CbmTofDigi* BmonDigi = nullptr; + if (fBmonDigiVec) BmonDigi = &(fBmonDigiVec->at(iBmon)); + else if (fBmonDigiArr) + BmonDigi = dynamic_cast<const CbmTofDigi*>(fBmonDigiArr->At(iBmon)); + assert(BmonDigi); /// Skip pulser events. - if (fuMinTotPulserT0 < T0Digi->GetCharge() && T0Digi->GetCharge() < fuMaxTotPulserT0) continue; + if (fuMinTotPulserBmon < BmonDigi->GetCharge() && BmonDigi->GetCharge() < fuMaxTotPulserBmon) continue; - Double_t T0Time = T0Digi->GetTime(); - Int_t T0Address = T0Digi->GetAddress(); - fT0Address->Fill(T0Address); + Double_t T0Time = BmonDigi->GetTime(); + Int_t BmonAddress = BmonDigi->GetAddress(); + fBmonAddress->Fill(BmonAddress); - fT0Channel->Fill(T0Digi->GetChannel()); + fBmonChannel->Fill(BmonDigi->GetChannel()); if (nrStsDigis > 0 && nrStsDigis < 1000000) - fPrevT0FirstDigiSts = FillSystemOffsetHistos<CbmStsDigi>( - fT0StsDiff, fT0StsDiffCharge, fT0StsDiffEvo, fT0StsDiffEvoLong, fT0StsDpbDiff, T0Time, fStsOffsetRange, - fPrevT0FirstDigiSts, kTRUE, kFALSE, kFALSE, kFALSE); + fPrevBmonFirstDigiSts = FillSystemOffsetHistos<CbmStsDigi>( + fBmonStsDiff, fBmonStsDiffCharge, fBmonStsDiffEvo, fBmonStsDiffEvoLong, fBmonStsDpbDiff, T0Time, + fStsOffsetRange, fPrevBmonFirstDigiSts, kTRUE, kFALSE, kFALSE, kFALSE); /// Templating to CbmMuchBeamTimeDigi fails with a bad any_cast due to hardcoded Digi type in /// CbmDigiManager! if (nrMuchDigis > 0 && nrMuchDigis < 1000000) - fPrevT0FirstDigiMuch = FillSystemOffsetHistos<CbmMuchBeamTimeDigi>( - fT0MuchDiff, fT0MuchDiffCharge, fT0MuchDiffEvo, fT0MuchDiffEvoLong, fT0MuchRocDiff, T0Time, fMuchOffsetRange, - fPrevT0FirstDigiMuch, kFALSE, kTRUE, kFALSE, kFALSE); + fPrevBmonFirstDigiMuch = FillSystemOffsetHistos<CbmMuchBeamTimeDigi>( + fBmonMuchDiff, fBmonMuchDiffCharge, fBmonMuchDiffEvo, fBmonMuchDiffEvoLong, fBmonMuchRocDiff, T0Time, + fMuchOffsetRange, fPrevBmonFirstDigiMuch, kFALSE, kTRUE, kFALSE, kFALSE); if (nrTrdDigis > 0 && nrTrdDigis < 1000000) - fPrevT0FirstDigiTrd = FillSystemOffsetHistos<CbmTrdDigi>(fT0TrdDiff, fT0TrdDiffCharge, fT0TrdDiffEvo, - fT0TrdDiffEvoLong, nullptr, T0Time, fTrdOffsetRange, - fPrevT0FirstDigiTrd, kFALSE, kFALSE, kFALSE, kFALSE); + fPrevBmonFirstDigiTrd = FillSystemOffsetHistos<CbmTrdDigi>( + fBmonTrdDiff, fBmonTrdDiffCharge, fBmonTrdDiffEvo, fBmonTrdDiffEvoLong, nullptr, T0Time, fTrdOffsetRange, + fPrevBmonFirstDigiTrd, kFALSE, kFALSE, kFALSE, kFALSE); fuNbTofDigiInSync = 0; if (nrTofDigis > 0 && nrTofDigis < 1000000) - fPrevT0FirstDigiTof = FillSystemOffsetHistos<CbmTofDigi>(fT0TofDiff, fT0TofDiffCharge, fT0TofDiffEvo, - fT0TofDiffEvoLong, nullptr, T0Time, fTofOffsetRange, - fPrevT0FirstDigiTof, kFALSE, kFALSE, kTRUE, kFALSE); + fPrevBmonFirstDigiTof = FillSystemOffsetHistos<CbmTofDigi>( + fBmonTofDiff, fBmonTofDiffCharge, fBmonTofDiffEvo, fBmonTofDiffEvoLong, nullptr, T0Time, fTofOffsetRange, + fPrevBmonFirstDigiTof, kFALSE, kFALSE, kTRUE, kFALSE); if (nrRichDigis > 0 && nrRichDigis < 1000000) - fPrevT0FirstDigiRich = FillSystemOffsetHistos<CbmRichDigi>( - fT0RichDiff, fT0RichDiffCharge, fT0RichDiffEvo, fT0RichDiffEvoLong, nullptr, T0Time, fRichOffsetRange, - fPrevT0FirstDigiRich, kFALSE, kFALSE, kFALSE, kFALSE); + fPrevBmonFirstDigiRich = FillSystemOffsetHistos<CbmRichDigi>( + fBmonRichDiff, fBmonRichDiffCharge, fBmonRichDiffEvo, fBmonRichDiffEvoLong, nullptr, T0Time, fRichOffsetRange, + fPrevBmonFirstDigiRich, kFALSE, kFALSE, kFALSE, kFALSE); if (nrPsdDigis > 0 && nrPsdDigis < 1000000) - fPrevT0FirstDigiPsd = FillSystemOffsetHistos<CbmPsdDigi>(fT0PsdDiff, fT0PsdDiffCharge, fT0PsdDiffEvo, - fT0PsdDiffEvoLong, nullptr, T0Time, fPsdOffsetRange, - fPrevT0FirstDigiPsd, kFALSE, kFALSE, kFALSE, kTRUE); + fPrevBmonFirstDigiPsd = FillSystemOffsetHistos<CbmPsdDigi>( + fBmonPsdDiff, fBmonPsdDiffCharge, fBmonPsdDiffEvo, fBmonPsdDiffEvoLong, nullptr, T0Time, fPsdOffsetRange, + fPrevBmonFirstDigiPsd, kFALSE, kFALSE, kFALSE, kTRUE); - if (fuNbTofDigisSel <= fuNbTofDigiInSync) fvdTimeSelectedT0.push_back(T0Time); + if (fuNbTofDigisSel <= fuNbTofDigiInSync) fvdTimeSelectedBmon.push_back(T0Time); } /// Re-initialize array references - fPrevT0FirstDigiSts = 0.; - fPrevT0FirstDigiMuch = 0.; - fPrevT0FirstDigiTrd = 0.; - fPrevT0FirstDigiTof = 0.; - fPrevT0FirstDigiRich = 0.; - fPrevT0FirstDigiPsd = 0.; - for (UInt_t uIdxSelT0 = 0; uIdxSelT0 < fvdTimeSelectedT0.size(); ++uIdxSelT0) { + fPrevBmonFirstDigiSts = 0.; + fPrevBmonFirstDigiMuch = 0.; + fPrevBmonFirstDigiTrd = 0.; + fPrevBmonFirstDigiTof = 0.; + fPrevBmonFirstDigiRich = 0.; + fPrevBmonFirstDigiPsd = 0.; + for (UInt_t uIdxSelBmon = 0; uIdxSelBmon < fvdTimeSelectedBmon.size(); ++uIdxSelBmon) { if (nrStsDigis > 0 && nrStsDigis < 1000000) - fPrevT0FirstDigiSts = FillHistosSelT0<CbmStsDigi>(fSelT0StsDiff, fvdTimeSelectedT0[uIdxSelT0], fStsOffsetRange, - fPrevT0FirstDigiSts, kTRUE, kFALSE, kFALSE, kFALSE); + fPrevBmonFirstDigiSts = + FillHistosSelBmon<CbmStsDigi>(fSelBmonStsDiff, fvdTimeSelectedBmon[uIdxSelBmon], fStsOffsetRange, + fPrevBmonFirstDigiSts, kTRUE, kFALSE, kFALSE, kFALSE); /// Templating to CbmMuchBeamTimeDigi fails with a bad any_cast due to hardcoded Digi type in /// CbmDigiManager! if (nrMuchDigis > 0 && nrMuchDigis < 1000000) - fPrevT0FirstDigiMuch = - FillHistosSelT0<CbmMuchBeamTimeDigi>(fSelT0MuchDiff, fvdTimeSelectedT0[uIdxSelT0], fMuchOffsetRange, - fPrevT0FirstDigiMuch, kFALSE, kTRUE, kFALSE, kFALSE); + fPrevBmonFirstDigiMuch = + FillHistosSelBmon<CbmMuchBeamTimeDigi>(fSelBmonMuchDiff, fvdTimeSelectedBmon[uIdxSelBmon], fMuchOffsetRange, + fPrevBmonFirstDigiMuch, kFALSE, kTRUE, kFALSE, kFALSE); if (nrTrdDigis > 0 && nrTrdDigis < 1000000) - fPrevT0FirstDigiTrd = FillHistosSelT0<CbmTrdDigi>(fSelT0TrdDiff, fvdTimeSelectedT0[uIdxSelT0], fTrdOffsetRange, - fPrevT0FirstDigiTrd, kFALSE, kFALSE, kFALSE, kFALSE); + fPrevBmonFirstDigiTrd = + FillHistosSelBmon<CbmTrdDigi>(fSelBmonTrdDiff, fvdTimeSelectedBmon[uIdxSelBmon], fTrdOffsetRange, + fPrevBmonFirstDigiTrd, kFALSE, kFALSE, kFALSE, kFALSE); if (nrTofDigis > 0 && nrTofDigis < 1000000) - fPrevT0FirstDigiTof = FillHistosSelT0<CbmTofDigi>(fSelT0TofDiff, fvdTimeSelectedT0[uIdxSelT0], fTofOffsetRange, - fPrevT0FirstDigiTof, kFALSE, kFALSE, kTRUE, kFALSE); + fPrevBmonFirstDigiTof = + FillHistosSelBmon<CbmTofDigi>(fSelBmonTofDiff, fvdTimeSelectedBmon[uIdxSelBmon], fTofOffsetRange, + fPrevBmonFirstDigiTof, kFALSE, kFALSE, kTRUE, kFALSE); if (nrRichDigis > 0 && nrRichDigis < 1000000) - fPrevT0FirstDigiRich = - FillHistosSelT0<CbmRichDigi>(fSelT0RichDiff, fvdTimeSelectedT0[uIdxSelT0], fRichOffsetRange, - fPrevT0FirstDigiRich, kFALSE, kFALSE, kFALSE, kFALSE); + fPrevBmonFirstDigiRich = + FillHistosSelBmon<CbmRichDigi>(fSelBmonRichDiff, fvdTimeSelectedBmon[uIdxSelBmon], fRichOffsetRange, + fPrevBmonFirstDigiRich, kFALSE, kFALSE, kFALSE, kFALSE); if (nrPsdDigis > 0 && nrPsdDigis < 1000000) - fPrevT0FirstDigiPsd = FillHistosSelT0<CbmPsdDigi>(fSelT0PsdDiff, fvdTimeSelectedT0[uIdxSelT0], fPsdOffsetRange, - fPrevT0FirstDigiPsd, kFALSE, kFALSE, kFALSE, kTRUE); - } // for( UInt_t uIdxSelT0 = 0; uIdxSelT0 < fvdTimeSelectedT0.size(); ++uIdxSelT0 ) + fPrevBmonFirstDigiPsd = + FillHistosSelBmon<CbmPsdDigi>(fSelBmonPsdDiff, fvdTimeSelectedBmon[uIdxSelBmon], fPsdOffsetRange, + fPrevBmonFirstDigiPsd, kFALSE, kFALSE, kFALSE, kTRUE); + } // for( UInt_t uIdxSelBmon = 0; uIdxSelBmon < fvdTimeSelectedBmon.size(); ++uIdxSelBmon ) } } @@ -502,7 +510,7 @@ Int_t CbmCheckTiming::FillSystemOffsetHistos(TH1* histo, TH2* histoCharge, TH2* */ // Double_t diffTime = T0Time - digi->GetTime(); - Double_t diffTime = digi->GetTime() - T0Time; // Use T0 as reference Time + Double_t diffTime = digi->GetTime() - T0Time; // Use Bmon as reference Time if (diffTime < -offsetRange) { ++iFirstDigiInWin; // Update Index of first digi in Win to next digi @@ -518,7 +526,7 @@ Int_t CbmCheckTiming::FillSystemOffsetHistos(TH1* histo, TH2* histoCharge, TH2* if (bSts && histoAFCK) { UInt_t uDPB = (0 < (digi->GetAddress() & 0x00000400)); histoAFCK->Fill(uDPB, diffTime); - if (uDPB < kuMaxNbStsDpbs) fT0StsDpbDiffEvo[uDPB]->Fill(fNrTs, diffTime); + if (uDPB < kuMaxNbStsDpbs) fBmonStsDpbDiffEvo[uDPB]->Fill(fNrTs, diffTime); } // if (bSts && histoAFCK) /// MUCH DPB mapping @@ -536,8 +544,8 @@ Int_t CbmCheckTiming::FillSystemOffsetHistos(TH1* histo, TH2* histoCharge, TH2* UInt_t afck = muchDigi->GetRocId(); UInt_t asic = muchDigi->GetNxId(); histoAFCK->Fill(afck, diffTime); - fT0MuchAsicDiff->Fill(asic, diffTime); - if (asic < kuMaxNbMuchAsics) fT0MuchAsicDiffEvo[asic]->Fill(fNrTs, diffTime); + fBmonMuchAsicDiff->Fill(asic, diffTime); + if (asic < kuMaxNbMuchAsics) fBmonMuchAsicDiffEvo[asic]->Fill(fNrTs, diffTime); } // if (bMuch && histoAFCK) /// TOF coincidence counting @@ -548,8 +556,8 @@ Int_t CbmCheckTiming::FillSystemOffsetHistos(TH1* histo, TH2* histoCharge, TH2* } template<class Digi> -Int_t CbmCheckTiming::FillHistosSelT0(TH1* histo, const Double_t T0Time, const Int_t offsetRange, Int_t iStartDigi, - Bool_t /*bSts*/, Bool_t /*bMuch*/, Bool_t bTof, Bool_t /*bPsd*/) +Int_t CbmCheckTiming::FillHistosSelBmon(TH1* histo, const Double_t T0Time, const Int_t offsetRange, Int_t iStartDigi, + Bool_t /*bSts*/, Bool_t /*bMuch*/, Bool_t bTof, Bool_t /*bPsd*/) { Int_t nrDigis = fDigiMan->GetNofDigis(Digi::GetSystem()); Int_t iFirstDigiInWin = iStartDigi; @@ -580,7 +588,7 @@ Int_t CbmCheckTiming::FillHistosSelT0(TH1* histo, const Double_t T0Time, const I */ // Double_t diffTime = T0Time - digi->GetTime(); - Double_t diffTime = digi->GetTime() - T0Time; // Use T0 as reference Time + Double_t diffTime = digi->GetTime() - T0Time; // Use Bmon as reference Time if (diffTime < -offsetRange) { ++iFirstDigiInWin; // Update Index of first digi in Win to next digi @@ -595,13 +603,13 @@ Int_t CbmCheckTiming::FillHistosSelT0(TH1* histo, const Double_t T0Time, const I void CbmCheckTiming::CheckTimeOrder() { - if (fT0DigiVec || fT0DigiArr) { - Int_t nrT0Digis = 0; - if (fT0DigiVec) nrT0Digis = fT0DigiVec->size(); - else if (fT0DigiArr) - nrT0Digis = fT0DigiArr->GetEntriesFast(); - fNrOfT0Digis += nrT0Digis; - fNrOfT0Errors += CheckIfSortedT0(fT0T0Diff, fPrevTimeT0, "T0"); + if (fBmonDigiVec || fBmonDigiArr) { + Int_t nrBmonDigis = 0; + if (fBmonDigiVec) nrBmonDigis = fBmonDigiVec->size(); + else if (fBmonDigiArr) + nrBmonDigis = fBmonDigiArr->GetEntriesFast(); + fNrOfBmonDigis += nrBmonDigis; + fNrOfBmonErrors += CheckIfSortedBmon(fBmonBmonDiff, fPrevTimeBmon, "Bmon"); } if (fDigiMan->IsPresent(ECbmModuleId::kSts)) { Int_t nrStsDigis = fDigiMan->GetNofDigis(ECbmModuleId::kSts); @@ -668,23 +676,23 @@ Int_t CbmCheckTiming::CheckIfSorted(TH1* histo, Double_t& prevTime, TString dete return nrOfErrors; } -Int_t CbmCheckTiming::CheckIfSortedT0(TH1* histo, Double_t& prevTime, TString detector) +Int_t CbmCheckTiming::CheckIfSortedBmon(TH1* histo, Double_t& prevTime, TString detector) { - // Extra implementation since T0 is not included in CbmDigiManager + // Extra implementation since Bmon is not included in CbmDigiManager Int_t nrOfErrors = 0; Int_t nrDigis = 0; - if (fT0DigiVec) nrDigis = fT0DigiVec->size(); - else if (fT0DigiArr) - nrDigis = fT0DigiArr->GetEntriesFast(); + if (fBmonDigiVec) nrDigis = fBmonDigiVec->size(); + else if (fBmonDigiArr) + nrDigis = fBmonDigiArr->GetEntriesFast(); for (Int_t i = 0; i < nrDigis; ++i) { const CbmTofDigi* digi = nullptr; - if (fT0DigiVec) digi = &(fT0DigiVec->at(i)); - else if (fT0DigiArr) - digi = dynamic_cast<const CbmTofDigi*>(fT0DigiArr->At(i)); + if (fBmonDigiVec) digi = &(fBmonDigiVec->at(i)); + else if (fBmonDigiArr) + digi = dynamic_cast<const CbmTofDigi*>(fBmonDigiArr->At(i)); if (!digi) { nrOfErrors++; continue; @@ -712,8 +720,8 @@ Int_t CbmCheckTiming::CheckIfSortedT0(TH1* histo, Double_t& prevTime, TString de void CbmCheckTiming::Finish() { if (fCheckTimeOrdering) { - LOG(info) << "Total number of T0 out of order digis: " << fNrOfT0Errors; - LOG(info) << "Total number of T0 digis: " << fNrOfT0Digis; + LOG(info) << "Total number of Bmon out of order digis: " << fNrOfBmonErrors; + LOG(info) << "Total number of Bmon digis: " << fNrOfBmonDigis; LOG(info) << "Total number of Sts out of order digis: " << fNrOfStsErrors; LOG(info) << "Total number of Sts digis: " << fNrOfStsDigis; LOG(info) << "Total number of Much out of order digis: " << fNrOfMuchErrors; @@ -736,65 +744,65 @@ void CbmCheckTiming::Finish() void CbmCheckTiming::FitPeaks() { - // Peak positions for differences wrt T0 - trd_peak_pos = fT0TrdDiff->GetMaximumBin() * fT0TrdDiff->GetBinWidth(1) + fT0TrdDiff->GetXaxis()->GetXmin(); - sts_peak_pos = fT0StsDiff->GetMaximumBin() * fT0StsDiff->GetBinWidth(1) + fT0StsDiff->GetXaxis()->GetXmin(); - much_peak_pos = fT0MuchDiff->GetMaximumBin() * fT0MuchDiff->GetBinWidth(1) + fT0MuchDiff->GetXaxis()->GetXmin(); - tof_peak_pos = fT0TofDiff->GetMaximumBin() * fT0TofDiff->GetBinWidth(1) + fT0TofDiff->GetXaxis()->GetXmin(); - rich_peak_pos = fT0RichDiff->GetMaximumBin() * fT0RichDiff->GetBinWidth(1) + fT0RichDiff->GetXaxis()->GetXmin(); - psd_peak_pos = fT0PsdDiff->GetMaximumBin() * fT0PsdDiff->GetBinWidth(1) + fT0PsdDiff->GetXaxis()->GetXmin(); - - // Peak positions for differences wrt T0 if coincidence with TOF + // Peak positions for differences wrt Bmon + trd_peak_pos = fBmonTrdDiff->GetMaximumBin() * fBmonTrdDiff->GetBinWidth(1) + fBmonTrdDiff->GetXaxis()->GetXmin(); + sts_peak_pos = fBmonStsDiff->GetMaximumBin() * fBmonStsDiff->GetBinWidth(1) + fBmonStsDiff->GetXaxis()->GetXmin(); + much_peak_pos = fBmonMuchDiff->GetMaximumBin() * fBmonMuchDiff->GetBinWidth(1) + fBmonMuchDiff->GetXaxis()->GetXmin(); + tof_peak_pos = fBmonTofDiff->GetMaximumBin() * fBmonTofDiff->GetBinWidth(1) + fBmonTofDiff->GetXaxis()->GetXmin(); + rich_peak_pos = fBmonRichDiff->GetMaximumBin() * fBmonRichDiff->GetBinWidth(1) + fBmonRichDiff->GetXaxis()->GetXmin(); + psd_peak_pos = fBmonPsdDiff->GetMaximumBin() * fBmonPsdDiff->GetBinWidth(1) + fBmonPsdDiff->GetXaxis()->GetXmin(); + + // Peak positions for differences wrt Bmon if coincidence with TOF trd_coin_peak_pos = - fSelT0TrdDiff->GetMaximumBin() * fSelT0TrdDiff->GetBinWidth(1) + fSelT0TrdDiff->GetXaxis()->GetXmin(); + fSelBmonTrdDiff->GetMaximumBin() * fSelBmonTrdDiff->GetBinWidth(1) + fSelBmonTrdDiff->GetXaxis()->GetXmin(); sts_coin_peak_pos = - fSelT0StsDiff->GetMaximumBin() * fSelT0StsDiff->GetBinWidth(1) + fSelT0StsDiff->GetXaxis()->GetXmin(); + fSelBmonStsDiff->GetMaximumBin() * fSelBmonStsDiff->GetBinWidth(1) + fSelBmonStsDiff->GetXaxis()->GetXmin(); much_coin_peak_pos = - fSelT0MuchDiff->GetMaximumBin() * fSelT0MuchDiff->GetBinWidth(1) + fSelT0MuchDiff->GetXaxis()->GetXmin(); - //tof_coin_peak_pos = fT0TofDiff->GetMaximumBin()*fT0TofDiff->GetBinWidth(1)+fT0TofDiff->GetXaxis()->GetXmin(); + fSelBmonMuchDiff->GetMaximumBin() * fSelBmonMuchDiff->GetBinWidth(1) + fSelBmonMuchDiff->GetXaxis()->GetXmin(); + //tof_coin_peak_pos = fBmonTofDiff->GetMaximumBin()*fBmonTofDiff->GetBinWidth(1)+fBmonTofDiff->GetXaxis()->GetXmin(); rich_coin_peak_pos = - fSelT0RichDiff->GetMaximumBin() * fSelT0RichDiff->GetBinWidth(1) + fSelT0RichDiff->GetXaxis()->GetXmin(); + fSelBmonRichDiff->GetMaximumBin() * fSelBmonRichDiff->GetBinWidth(1) + fSelBmonRichDiff->GetXaxis()->GetXmin(); psd_coin_peak_pos = - fSelT0PsdDiff->GetMaximumBin() * fSelT0PsdDiff->GetBinWidth(1) + fSelT0PsdDiff->GetXaxis()->GetXmin(); - - LOG(info) << "STS entries = " << fT0StsDiff->GetEntries(); - LOG(info) << "STS-T0 entries if T0 in coincidence with TOF = " << fSelT0StsDiff->GetEntries(); - LOG(info) << "MUCH entries = " << fT0MuchDiff->GetEntries(); - LOG(info) << "MUCH-T0 entries if T0 in coincidence with TOF = " << fSelT0MuchDiff->GetEntries(); - LOG(info) << "TRD entries = " << fT0TrdDiff->GetEntries(); - LOG(info) << "TRD-T0 entries if T0 in coincidence with TOF = " << fSelT0TrdDiff->GetEntries(); - LOG(info) << "TOF entries = " << fT0TofDiff->GetEntries(); - LOG(info) << "RICH entries = " << fT0RichDiff->GetEntries(); - LOG(info) << "RICH-T0 entries if T0 in coincidence with TOF = " << fSelT0RichDiff->GetEntries(); - LOG(info) << "PSD entries = " << fT0PsdDiff->GetEntries(); - LOG(info) << "PSD-T0 entries if T0 in coincidence with TOF = " << fSelT0PsdDiff->GetEntries(); + fSelBmonPsdDiff->GetMaximumBin() * fSelBmonPsdDiff->GetBinWidth(1) + fSelBmonPsdDiff->GetXaxis()->GetXmin(); + + LOG(info) << "STS entries = " << fBmonStsDiff->GetEntries(); + LOG(info) << "STS-Bmon entries if Bmon in coincidence with TOF = " << fSelBmonStsDiff->GetEntries(); + LOG(info) << "MUCH entries = " << fBmonMuchDiff->GetEntries(); + LOG(info) << "MUCH-Bmon entries if Bmon in coincidence with TOF = " << fSelBmonMuchDiff->GetEntries(); + LOG(info) << "TRD entries = " << fBmonTrdDiff->GetEntries(); + LOG(info) << "TRD-Bmon entries if Bmon in coincidence with TOF = " << fSelBmonTrdDiff->GetEntries(); + LOG(info) << "TOF entries = " << fBmonTofDiff->GetEntries(); + LOG(info) << "RICH entries = " << fBmonRichDiff->GetEntries(); + LOG(info) << "RICH-Bmon entries if Bmon in coincidence with TOF = " << fSelBmonRichDiff->GetEntries(); + LOG(info) << "PSD entries = " << fBmonPsdDiff->GetEntries(); + LOG(info) << "PSD-Bmon entries if Bmon in coincidence with TOF = " << fSelBmonPsdDiff->GetEntries(); LOG(info) << "STS peak position [ns] = " << sts_peak_pos; - LOG(info) << "STS peak position [ns] if T0 in coincidence with TOF = " << sts_coin_peak_pos; + LOG(info) << "STS peak position [ns] if Bmon in coincidence with TOF = " << sts_coin_peak_pos; LOG(info) << "MUCH peak position [ns] = " << much_peak_pos; - LOG(info) << "MUCH peak position [ns] if T0 in coincidence with TOF = " << much_coin_peak_pos; + LOG(info) << "MUCH peak position [ns] if Bmon in coincidence with TOF = " << much_coin_peak_pos; LOG(info) << "TRD peak position [ns] = " << trd_peak_pos; - LOG(info) << "TRD peak position [ns] if T0 in coincidence with TOF = " << trd_coin_peak_pos; + LOG(info) << "TRD peak position [ns] if Bmon in coincidence with TOF = " << trd_coin_peak_pos; LOG(info) << "TOF peak position [ns] = " << tof_peak_pos; LOG(info) << "RICH peak position [ns] = " << rich_peak_pos; - LOG(info) << "RICH peak position [ns] if T0 in coincidence with TOF = " << rich_coin_peak_pos; + LOG(info) << "RICH peak position [ns] if Bmon in coincidence with TOF = " << rich_coin_peak_pos; LOG(info) << "PSD peak position [ns] = " << psd_peak_pos; - LOG(info) << "PSD peak position [ns] if T0 in coincidence with TOF = " << psd_coin_peak_pos; + LOG(info) << "PSD peak position [ns] if Bmon in coincidence with TOF = " << psd_coin_peak_pos; //Average height of bins... - trd_average = fT0TrdDiff->Integral() / (fT0TrdDiff->GetNbinsX()); - sts_average = fT0StsDiff->Integral() / (fT0StsDiff->GetNbinsX()); - much_average = fT0MuchDiff->Integral() / (fT0MuchDiff->GetNbinsX()); - tof_average = fT0TofDiff->Integral() / (fT0TofDiff->GetNbinsX()); - rich_average = fT0RichDiff->Integral() / (fT0RichDiff->GetNbinsX()); - psd_average = fT0PsdDiff->Integral() / (fT0PsdDiff->GetNbinsX()); + trd_average = fBmonTrdDiff->Integral() / (fBmonTrdDiff->GetNbinsX()); + sts_average = fBmonStsDiff->Integral() / (fBmonStsDiff->GetNbinsX()); + much_average = fBmonMuchDiff->Integral() / (fBmonMuchDiff->GetNbinsX()); + tof_average = fBmonTofDiff->Integral() / (fBmonTofDiff->GetNbinsX()); + rich_average = fBmonRichDiff->Integral() / (fBmonRichDiff->GetNbinsX()); + psd_average = fBmonPsdDiff->Integral() / (fBmonPsdDiff->GetNbinsX()); //TRD if (trd_average > 0) { TF1* gs_trd = new TF1("gs_trd", "gaus(0)+pol0(3)", trd_peak_pos - 2 * fTrdPeakWidthNs, trd_peak_pos + 2 * fTrdPeakWidthNs); gs_trd->SetParameters(0.7 * trd_average, trd_peak_pos, fTrdPeakWidthNs, trd_average); - fT0TrdDiff->Fit("gs_trd", "R"); - TF1* fitresult_trd = fT0TrdDiff->GetFunction("gs_trd"); + fBmonTrdDiff->Fit("gs_trd", "R"); + TF1* fitresult_trd = fBmonTrdDiff->GetFunction("gs_trd"); LOG(info) << "TRD parameters from Gauss fit = " << fitresult_trd->GetParameter(0) << ", " << fitresult_trd->GetParameter(1) << ", " << fitresult_trd->GetParameter(2); LOG(info) << "TRD signal/background (p0/p3) = " @@ -806,8 +814,8 @@ void CbmCheckTiming::FitPeaks() TF1* gs_sts = new TF1("gs_sts", "gaus(0)+pol0(3)", sts_peak_pos - 2 * fStsPeakWidthNs, sts_peak_pos + 2 * fStsPeakWidthNs); gs_sts->SetParameters(sts_average, sts_peak_pos, fStsPeakWidthNs, sts_average); - fT0StsDiff->Fit("gs_sts", "R"); - TF1* fitresult_sts = fT0StsDiff->GetFunction("gs_sts"); + fBmonStsDiff->Fit("gs_sts", "R"); + TF1* fitresult_sts = fBmonStsDiff->GetFunction("gs_sts"); LOG(info) << "STS parameters from Gauss fit = " << fitresult_sts->GetParameter(0) << ", " << fitresult_sts->GetParameter(1) << ", " << fitresult_sts->GetParameter(2); LOG(info) << "STS signal/background (p0/p3) = " @@ -819,8 +827,8 @@ void CbmCheckTiming::FitPeaks() TF1* gs_much = new TF1("gs_much", "gaus(0)+pol0(3)", much_peak_pos - 2 * fMuchPeakWidthNs, much_peak_pos + 2 * fMuchPeakWidthNs); gs_much->SetParameters(much_average, much_peak_pos, fMuchPeakWidthNs, much_average); - fT0MuchDiff->Fit("gs_much", "R"); - TF1* fitresult_much = fT0MuchDiff->GetFunction("gs_much"); + fBmonMuchDiff->Fit("gs_much", "R"); + TF1* fitresult_much = fBmonMuchDiff->GetFunction("gs_much"); LOG(info) << "MUCH parameters from Gauss fit = " << fitresult_much->GetParameter(0) << ", " << fitresult_much->GetParameter(1) << ", " << fitresult_much->GetParameter(2); LOG(info) << "MUCH signal/background (p0/p3) = " @@ -832,8 +840,8 @@ void CbmCheckTiming::FitPeaks() TF1* gs_tof = new TF1("gs_tof", "gaus(0)+pol0(3)", tof_peak_pos - 2 * fTofPeakWidthNs, tof_peak_pos + 2 * fTofPeakWidthNs); gs_tof->SetParameters(tof_average, tof_peak_pos, fTofPeakWidthNs, tof_average); - fT0TofDiff->Fit("gs_tof", "R"); - TF1* fitresult_tof = fT0TofDiff->GetFunction("gs_tof"); + fBmonTofDiff->Fit("gs_tof", "R"); + TF1* fitresult_tof = fBmonTofDiff->GetFunction("gs_tof"); LOG(info) << "TOF parameters from Gauss fit = " << fitresult_tof->GetParameter(0) << ", " << fitresult_tof->GetParameter(1) << ", " << fitresult_tof->GetParameter(2); LOG(info) << "TOF signal/background (p0/p3) = " @@ -845,8 +853,8 @@ void CbmCheckTiming::FitPeaks() TF1* gs_rich = new TF1("gs_rich", "gaus(0)+pol0(3)", rich_peak_pos - 2 * fRichPeakWidthNs, rich_peak_pos + 2 * fRichPeakWidthNs); gs_rich->SetParameters(0.5 * rich_average, rich_peak_pos, fRichPeakWidthNs, rich_average); - fT0RichDiff->Fit("gs_rich", "R"); - TF1* fitresult_rich = fT0RichDiff->GetFunction("gs_rich"); + fBmonRichDiff->Fit("gs_rich", "R"); + TF1* fitresult_rich = fBmonRichDiff->GetFunction("gs_rich"); LOG(info) << "RICH parameters from Gauss fit = " << fitresult_rich->GetParameter(0) << ", " << fitresult_rich->GetParameter(1) << ", " << fitresult_rich->GetParameter(2); LOG(info) << "RICH signal/background (p0/p3) = " @@ -858,8 +866,8 @@ void CbmCheckTiming::FitPeaks() TF1* gs_psd = new TF1("gs_psd", "gaus(0)+pol0(3)", psd_peak_pos - 2 * fPsdPeakWidthNs, psd_peak_pos + 2 * fPsdPeakWidthNs); gs_psd->SetParameters(psd_average, psd_peak_pos, fPsdPeakWidthNs, psd_average); - fT0PsdDiff->Fit("gs_psd", "R"); - TF1* fitresult_psd = fT0PsdDiff->GetFunction("gs_psd"); + fBmonPsdDiff->Fit("gs_psd", "R"); + TF1* fitresult_psd = fBmonPsdDiff->GetFunction("gs_psd"); LOG(info) << "PSD parameters from Gauss fit = " << fitresult_psd->GetParameter(0) << ", " << fitresult_psd->GetParameter(1) << ", " << fitresult_psd->GetParameter(2); LOG(info) << "PSD signal/background (p0/p3) = " @@ -872,35 +880,35 @@ void CbmCheckTiming::WriteHistos() TFile* old = gFile; TFile* outfile = TFile::Open(fOutFileName, "RECREATE"); - fT0StsDiff->Write(); - fT0MuchDiff->Write(); - fT0TrdDiff->Write(); - fT0TofDiff->Write(); - fT0RichDiff->Write(); - fT0PsdDiff->Write(); - - fT0StsDiffCharge->Write(); - fT0MuchDiffCharge->Write(); - fT0TrdDiffCharge->Write(); - fT0TofDiffCharge->Write(); - fT0RichDiffCharge->Write(); - fT0PsdDiffCharge->Write(); - - fT0StsDiffEvo->Write(); - fT0MuchDiffEvo->Write(); - fT0TrdDiffEvo->Write(); - fT0TofDiffEvo->Write(); - fT0RichDiffEvo->Write(); - fT0PsdDiffEvo->Write(); - - fT0StsDiffEvoLong->Write(); - fT0MuchDiffEvoLong->Write(); - fT0TrdDiffEvoLong->Write(); - fT0TofDiffEvoLong->Write(); - fT0RichDiffEvoLong->Write(); - fT0PsdDiffEvoLong->Write(); - - fT0T0Diff->Write(); + fBmonStsDiff->Write(); + fBmonMuchDiff->Write(); + fBmonTrdDiff->Write(); + fBmonTofDiff->Write(); + fBmonRichDiff->Write(); + fBmonPsdDiff->Write(); + + fBmonStsDiffCharge->Write(); + fBmonMuchDiffCharge->Write(); + fBmonTrdDiffCharge->Write(); + fBmonTofDiffCharge->Write(); + fBmonRichDiffCharge->Write(); + fBmonPsdDiffCharge->Write(); + + fBmonStsDiffEvo->Write(); + fBmonMuchDiffEvo->Write(); + fBmonTrdDiffEvo->Write(); + fBmonTofDiffEvo->Write(); + fBmonRichDiffEvo->Write(); + fBmonPsdDiffEvo->Write(); + + fBmonStsDiffEvoLong->Write(); + fBmonMuchDiffEvoLong->Write(); + fBmonTrdDiffEvoLong->Write(); + fBmonTofDiffEvoLong->Write(); + fBmonRichDiffEvoLong->Write(); + fBmonPsdDiffEvoLong->Write(); + + fBmonBmonDiff->Write(); fStsStsDiff->Write(); fMuchMuchDiff->Write(); fTrdTrdDiff->Write(); @@ -908,26 +916,26 @@ void CbmCheckTiming::WriteHistos() fRichRichDiff->Write(); fPsdPsdDiff->Write(); - fT0Address->Write(); - fT0Channel->Write(); + fBmonAddress->Write(); + fBmonChannel->Write(); - fT0StsDpbDiff->Write(); + fBmonStsDpbDiff->Write(); for (UInt_t uStsDpb = 0; uStsDpb < kuMaxNbStsDpbs; ++uStsDpb) { - fT0StsDpbDiffEvo[uStsDpb]->Write(); + fBmonStsDpbDiffEvo[uStsDpb]->Write(); fStsDpbCntsEvo[uStsDpb]->Write(); } - fT0MuchRocDiff->Write(); - fT0MuchAsicDiff->Write(); + fBmonMuchRocDiff->Write(); + fBmonMuchAsicDiff->Write(); for (UInt_t uMuchAsic = 0; uMuchAsic < kuMaxNbMuchAsics; ++uMuchAsic) - fT0MuchAsicDiffEvo[uMuchAsic]->Write(); - - fSelT0StsDiff->Write(); - fSelT0MuchDiff->Write(); - fSelT0TrdDiff->Write(); - fSelT0TofDiff->Write(); - fSelT0RichDiff->Write(); - fSelT0PsdDiff->Write(); + fBmonMuchAsicDiffEvo[uMuchAsic]->Write(); + + fSelBmonStsDiff->Write(); + fSelBmonMuchDiff->Write(); + fSelBmonTrdDiff->Write(); + fSelBmonTofDiff->Write(); + fSelBmonRichDiff->Write(); + fSelBmonPsdDiff->Write(); outfile->Close(); delete outfile; diff --git a/fles/mcbm2018/tasks/CbmCheckTiming.h b/fles/mcbm2018/tasks/CbmCheckTiming.h index 391b7b446e4654dbe68272d1b7e3337b2d7b491b..b97598600703c867bfa617fa94a284da2cf65656 100644 --- a/fles/mcbm2018/tasks/CbmCheckTiming.h +++ b/fles/mcbm2018/tasks/CbmCheckTiming.h @@ -78,10 +78,10 @@ public: void SetRichPeakWidthNs(Double_t val = 40.) { fRichPeakWidthNs = val; } void SetPsdPeakWidthNs(Double_t val = 20.) { fPsdPeakWidthNs = val; } - inline void SetT0PulserTotLimits(UInt_t uMin, UInt_t uMax) + inline void SetBmonPulserTotLimits(UInt_t uMin, UInt_t uMax) { - fuMinTotPulserT0 = uMin; - fuMaxTotPulserT0 = uMax; + fuMinTotPulserBmon = uMin; + fuMaxTotPulserBmon = uMax; } inline void SetTofPulserTotLimits(UInt_t uMin, UInt_t uMax) { @@ -95,7 +95,7 @@ private: void CheckTimeOrder(); template<class Digi> Int_t CheckIfSorted(TH1*, Double_t&, TString); - Int_t CheckIfSortedT0(TH1*, Double_t&, TString); + Int_t CheckIfSortedBmon(TH1*, Double_t&, TString); void CheckInterSystemOffset(); @@ -112,8 +112,8 @@ private: Bool_t bMuch = kFALSE, Bool_t bTof = kFALSE, Bool_t bPsd = kFALSE); template<class Digi> - Int_t FillHistosSelT0(TH1* histo, const Double_t T0Time, const Int_t offsetRange, Int_t iStartDigi, - Bool_t bSts = kFALSE, Bool_t bMuch = kFALSE, Bool_t bTof = kFALSE, Bool_t bPsd = kFALSE); + Int_t FillHistosSelBmon(TH1* histo, const Double_t T0Time, const Int_t offsetRange, Int_t iStartDigi, + Bool_t bSts = kFALSE, Bool_t bMuch = kFALSE, Bool_t bTof = kFALSE, Bool_t bPsd = kFALSE); Int_t CalcNrBins(Int_t); void CreateHistos(); @@ -123,9 +123,9 @@ private: /** Input array from previous already existing data level **/ CbmDigiManager* fDigiMan = nullptr; //! - /** T0 is not included in CbmDigiManager, so add it explicitly here **/ - const std::vector<CbmTofDigi>* fT0DigiVec = nullptr; //! - TClonesArray* fT0DigiArr = nullptr; //! + /** Bmon is not included in CbmDigiManager, so add it explicitly here **/ + const std::vector<CbmTofDigi>* fBmonDigiVec = nullptr; //! + TClonesArray* fBmonDigiArr = nullptr; //! /** Peak position of time difference histograms **/ Double_t trd_peak_pos; @@ -159,7 +159,7 @@ private: Double_t psd_width0_ns; /// Variables to store the previous digi time - Double_t fPrevTimeT0 = 0.; + Double_t fPrevTimeBmon = 0.; Double_t fPrevTimeSts = 0.; Double_t fPrevTimeMuch = 0.; Double_t fPrevTimeTrd = 0.; @@ -167,26 +167,26 @@ private: Double_t fPrevTimeRich = 0.; Double_t fPrevTimePsd = 0.; - /// Variables to store the first digi fitting the previous T0 hits + /// Variables to store the first digi fitting the previous Bmon hits /// => Time-order means the time window for following one can only be in a later digi - Int_t fPrevT0FirstDigiSts = 0; - Int_t fPrevT0FirstDigiMuch = 0; - Int_t fPrevT0FirstDigiTrd = 0; - Int_t fPrevT0FirstDigiTof = 0; - Int_t fPrevT0FirstDigiRich = 0; - Int_t fPrevT0FirstDigiPsd = 0; + Int_t fPrevBmonFirstDigiSts = 0; + Int_t fPrevBmonFirstDigiMuch = 0; + Int_t fPrevBmonFirstDigiTrd = 0; + Int_t fPrevBmonFirstDigiTof = 0; + Int_t fPrevBmonFirstDigiRich = 0; + Int_t fPrevBmonFirstDigiPsd = 0; /// User settings: Data correction parameters - UInt_t fuMinTotPulserT0 = 90; - UInt_t fuMaxTotPulserT0 = 100; + UInt_t fuMinTotPulserBmon = 90; + UInt_t fuMaxTotPulserBmon = 100; UInt_t fuMinTotPulserTof = 92; UInt_t fuMaxTotPulserTof = 96; // Int_t fNrTs = 0; - Int_t fNrOfT0Errors = 0; - Int_t fNrOfT0Digis = 0; + Int_t fNrOfBmonErrors = 0; + Int_t fNrOfBmonDigis = 0; Int_t fNrOfStsErrors = 0; Int_t fNrOfStsDigis = 0; Int_t fNrOfMuchErrors = 0; @@ -221,35 +221,35 @@ private: Int_t fBinWidth = 1; - TH1* fT0StsDiff = nullptr; - TH1* fT0MuchDiff = nullptr; - TH1* fT0TrdDiff = nullptr; - TH1* fT0TofDiff = nullptr; - TH1* fT0RichDiff = nullptr; - TH1* fT0PsdDiff = nullptr; - - TH2* fT0StsDiffCharge = nullptr; - TH2* fT0MuchDiffCharge = nullptr; - TH2* fT0TrdDiffCharge = nullptr; - TH2* fT0TofDiffCharge = nullptr; - TH2* fT0RichDiffCharge = nullptr; - TH2* fT0PsdDiffCharge = nullptr; - - TH2* fT0StsDiffEvo = nullptr; - TH2* fT0MuchDiffEvo = nullptr; - TH2* fT0TrdDiffEvo = nullptr; - TH2* fT0TofDiffEvo = nullptr; - TH2* fT0RichDiffEvo = nullptr; - TH2* fT0PsdDiffEvo = nullptr; - - TH2* fT0StsDiffEvoLong = nullptr; - TH2* fT0MuchDiffEvoLong = nullptr; - TH2* fT0TrdDiffEvoLong = nullptr; - TH2* fT0TofDiffEvoLong = nullptr; - TH2* fT0RichDiffEvoLong = nullptr; - TH2* fT0PsdDiffEvoLong = nullptr; - - TH1* fT0T0Diff = nullptr; + TH1* fBmonStsDiff = nullptr; + TH1* fBmonMuchDiff = nullptr; + TH1* fBmonTrdDiff = nullptr; + TH1* fBmonTofDiff = nullptr; + TH1* fBmonRichDiff = nullptr; + TH1* fBmonPsdDiff = nullptr; + + TH2* fBmonStsDiffCharge = nullptr; + TH2* fBmonMuchDiffCharge = nullptr; + TH2* fBmonTrdDiffCharge = nullptr; + TH2* fBmonTofDiffCharge = nullptr; + TH2* fBmonRichDiffCharge = nullptr; + TH2* fBmonPsdDiffCharge = nullptr; + + TH2* fBmonStsDiffEvo = nullptr; + TH2* fBmonMuchDiffEvo = nullptr; + TH2* fBmonTrdDiffEvo = nullptr; + TH2* fBmonTofDiffEvo = nullptr; + TH2* fBmonRichDiffEvo = nullptr; + TH2* fBmonPsdDiffEvo = nullptr; + + TH2* fBmonStsDiffEvoLong = nullptr; + TH2* fBmonMuchDiffEvoLong = nullptr; + TH2* fBmonTrdDiffEvoLong = nullptr; + TH2* fBmonTofDiffEvoLong = nullptr; + TH2* fBmonRichDiffEvoLong = nullptr; + TH2* fBmonPsdDiffEvoLong = nullptr; + + TH1* fBmonBmonDiff = nullptr; TH1* fStsStsDiff = nullptr; TH1* fMuchMuchDiff = nullptr; TH1* fTrdTrdDiff = nullptr; @@ -257,29 +257,29 @@ private: TH1* fRichRichDiff = nullptr; TH1* fPsdPsdDiff = nullptr; - TH1* fT0Address = nullptr; - TH1* fT0Channel = nullptr; + TH1* fBmonAddress = nullptr; + TH1* fBmonChannel = nullptr; - TH2* fT0StsDpbDiff = nullptr; + TH2* fBmonStsDpbDiff = nullptr; static const UInt_t kuMaxNbStsDpbs = 2; - TH2* fT0StsDpbDiffEvo[kuMaxNbStsDpbs]; + TH2* fBmonStsDpbDiffEvo[kuMaxNbStsDpbs]; TH1* fStsDpbCntsEvo[kuMaxNbStsDpbs]; static const UInt_t kuMaxNbMuchDpbs = 6; - TH2* fT0MuchRocDiff = nullptr; + TH2* fBmonMuchRocDiff = nullptr; static const UInt_t kuMaxNbMuchAsics = 36; - TH2* fT0MuchAsicDiff = nullptr; - TH2* fT0MuchAsicDiffEvo[kuMaxNbMuchAsics]; + TH2* fBmonMuchAsicDiff = nullptr; + TH2* fBmonMuchAsicDiffEvo[kuMaxNbMuchAsics]; UInt_t fuNbTofDigisSel = 6; UInt_t fuNbTofDigiInSync = 0; - std::vector<Double_t> fvdTimeSelectedT0; //! - TH1* fSelT0StsDiff = nullptr; - TH1* fSelT0MuchDiff = nullptr; - TH1* fSelT0TrdDiff = nullptr; - TH1* fSelT0TofDiff = nullptr; - TH1* fSelT0RichDiff = nullptr; - TH1* fSelT0PsdDiff = nullptr; + std::vector<Double_t> fvdTimeSelectedBmon; //! + TH1* fSelBmonStsDiff = nullptr; + TH1* fSelBmonMuchDiff = nullptr; + TH1* fSelBmonTrdDiff = nullptr; + TH1* fSelBmonTofDiff = nullptr; + TH1* fSelBmonRichDiff = nullptr; + TH1* fSelBmonPsdDiff = nullptr; TString fOutFileName {"test.root"}; diff --git a/fles/mcbm2018/tasks/CbmMcbm2018EventBuilder.cxx b/fles/mcbm2018/tasks/CbmMcbm2018EventBuilder.cxx index c5f6c082eeba534a43893120f79d195d8e8fa45e..e1ef9e15176cafbf62368af1d1141c0d8cb6ecda 100644 --- a/fles/mcbm2018/tasks/CbmMcbm2018EventBuilder.cxx +++ b/fles/mcbm2018/tasks/CbmMcbm2018EventBuilder.cxx @@ -61,11 +61,11 @@ InitStatus CbmMcbm2018EventBuilder::Init() if (kFALSE == fbUseBaseMuchDigi) fDigiMan->UseMuchBeamTimeDigi(); fDigiMan->Init(); - // T0 is not included in DigiManager - fT0DigiVec = ioman->InitObjectAs<std::vector<CbmTofDigi> const*>("T0Digi"); - if (!fT0DigiVec) { - fT0DigiArr = static_cast<TClonesArray*>(ioman->GetObject("T0Digi")); - if (!fT0DigiArr) { LOG(info) << "No T0 digi input."; } + // Bmon is not included in DigiManager + fBmonDigiVec = ioman->InitObjectAs<std::vector<CbmTofDigi> const*>("BmonDigi"); + if (!fBmonDigiVec) { + fBmonDigiArr = static_cast<TClonesArray*>(ioman->GetObject("BmonDigi")); + if (!fBmonDigiArr) { LOG(info) << "No Bmon digi input."; } } if (!fDigiMan->IsPresent(ECbmModuleId::kSts)) { LOG(info) << "No STS digi input."; } @@ -99,10 +99,10 @@ InitStatus CbmMcbm2018EventBuilder::Init() "time [s]; Nb Digis []; Events []", 600, 0, 600, 1000, 0, 10000); - fhNbDigiPerEvtTimeT0 = new TH2I("hNbDigiPerEvtTimeT0", - "nb of T0 digis per event vs seed time of the events; Seed " - "time [s]; Nb Digis []; Events []", - 600, 0, 600, 4000, 0, 4000); + fhNbDigiPerEvtTimeBmon = new TH2I("hNbDigiPerEvtTimeBmon", + "nb of Bmon digis per event vs seed time of the events; Seed " + "time [s]; Nb Digis []; Events []", + 600, 0, 600, 4000, 0, 4000); fhNbDigiPerEvtTimeSts = new TH2I("hNbDigiPerEvtTimeSts", "nb of STS digis per event vs seed time of the events; Seed " "time [s]; Nb Digis []; Events []", @@ -164,10 +164,10 @@ void CbmMcbm2018EventBuilder::InitSorter() // The sorting should be done using the time of the digi which // can be received using the GetTime() function of CbmDigi - Int_t nrT0Digis {0}; - if (fT0DigiVec) nrT0Digis = fT0DigiVec->size(); - else if (fT0DigiArr) - nrT0Digis = fT0DigiArr->GetEntriesFast(); + Int_t nrBmonDigis {0}; + if (fBmonDigiVec) nrBmonDigis = fBmonDigiVec->size(); + else if (fBmonDigiArr) + nrBmonDigis = fBmonDigiArr->GetEntriesFast(); Int_t nrStsDigis = fDigiMan->GetNofDigis(ECbmModuleId::kSts); Int_t nrMuchDigis = fDigiMan->GetNofDigis(ECbmModuleId::kMuch); Int_t nrTrdDigis = fDigiMan->GetNofDigis(ECbmModuleId::kTrd); @@ -175,7 +175,7 @@ void CbmMcbm2018EventBuilder::InitSorter() Int_t nrRichDigis = fDigiMan->GetNofDigis(ECbmModuleId::kRich); Int_t nrPsdDigis = fDigiMan->GetNofDigis(ECbmModuleId::kPsd); - LOG(debug) << "T0Digis: " << nrT0Digis; + LOG(debug) << "BmonDigis: " << nrBmonDigis; LOG(debug) << "StsDigis: " << nrStsDigis; LOG(debug) << "MuchDigis: " << nrMuchDigis; LOG(debug) << "TrdDigis: " << nrTrdDigis; @@ -185,7 +185,7 @@ void CbmMcbm2018EventBuilder::InitSorter() // CbmDigi* digi = nullptr; - if (nrT0Digis > 0) { AddDigiToSorter<CbmTofDigi>(ECbmModuleId::kHodo, 0); } + if (nrBmonDigis > 0) { AddDigiToSorter<CbmTofDigi>(ECbmModuleId::kHodo, 0); } if (nrStsDigis > 0) { AddDigiToSorter<CbmStsDigi>(ECbmModuleId::kSts, 0); } if (nrMuchDigis > 0) { if (fbUseBaseMuchDigi) { AddDigiToSorter<CbmMuchDigi>(ECbmModuleId::kMuch, 0); } // if( fbUseBaseMuchDigi ) @@ -301,8 +301,8 @@ Bool_t CbmMcbm2018EventBuilder::IsDigiInEvent(Double_t time) Bool_t CbmMcbm2018EventBuilder::HasTrigger(CbmEvent* event) { Bool_t hasTrigger {kTRUE}; - if (hasTrigger && (fT0DigiVec || fT0DigiArr) && fTriggerMinT0Digis > 0) { - hasTrigger = hasTrigger && ((int) event->GetNofData(ECbmDataType::kT0Digi) >= fTriggerMinT0Digis); + if (hasTrigger && (fBmonDigiVec || fBmonDigiArr) && fTriggerMinBmonDigis > 0) { + hasTrigger = hasTrigger && ((int) event->GetNofData(ECbmDataType::kBmonDigi) >= fTriggerMinBmonDigis); } if (hasTrigger && fDigiMan->IsPresent(ECbmModuleId::kSts) && fTriggerMinStsDigis > 0) { hasTrigger = hasTrigger && ((int) event->GetNofData(ECbmDataType::kStsDigi) >= fTriggerMinStsDigis); @@ -323,8 +323,8 @@ Bool_t CbmMcbm2018EventBuilder::HasTrigger(CbmEvent* event) hasTrigger = hasTrigger && ((int) event->GetNofData(ECbmDataType::kPsdDigi) >= fTriggerMinPsdDigis); } - if (hasTrigger && (fT0DigiVec || fT0DigiArr) && fTriggerMaxT0Digis >= 0) { - hasTrigger = hasTrigger && ((int) event->GetNofData(ECbmDataType::kT0Digi) < fTriggerMaxT0Digis); + if (hasTrigger && (fBmonDigiVec || fBmonDigiArr) && fTriggerMaxBmonDigis >= 0) { + hasTrigger = hasTrigger && ((int) event->GetNofData(ECbmDataType::kBmonDigi) < fTriggerMaxBmonDigis); } if (hasTrigger && fDigiMan->IsPresent(ECbmModuleId::kSts) && fTriggerMaxStsDigis >= 0) { hasTrigger = hasTrigger && ((int) event->GetNofData(ECbmDataType::kStsDigi) < fTriggerMaxStsDigis); @@ -388,7 +388,7 @@ void CbmMcbm2018EventBuilder::FillHisto() fhEventSize->Fill(evt->GetNofData()); fhNbDigiPerEvtTime->Fill(evt->GetStartTime() * 1e-9, evt->GetNofData()); - fhNbDigiPerEvtTimeT0->Fill(evt->GetStartTime() * 1e-9, evt->GetNofData(ECbmDataType::kT0Digi)); + fhNbDigiPerEvtTimeBmon->Fill(evt->GetStartTime() * 1e-9, evt->GetNofData(ECbmDataType::kBmonDigi)); fhNbDigiPerEvtTimeSts->Fill(evt->GetStartTime() * 1e-9, evt->GetNofData(ECbmDataType::kStsDigi)); fhNbDigiPerEvtTimeMuch->Fill(evt->GetStartTime() * 1e-9, evt->GetNofData(ECbmDataType::kMuchDigi)); fhNbDigiPerEvtTimeTrd->Fill(evt->GetStartTime() * 1e-9, evt->GetNofData(ECbmDataType::kTrdDigi)); @@ -449,7 +449,7 @@ void CbmMcbm2018EventBuilder::AddDigiToEvent(ECbmModuleId _system, Int_t _entry) case ECbmModuleId::kTrd: fCurrentEvent->AddData(ECbmDataType::kTrdDigi, _entry); break; case ECbmModuleId::kTof: fCurrentEvent->AddData(ECbmDataType::kTofDigi, _entry); break; case ECbmModuleId::kPsd: fCurrentEvent->AddData(ECbmDataType::kPsdDigi, _entry); break; - case ECbmModuleId::kHodo: fCurrentEvent->AddData(ECbmDataType::kT0Digi, _entry); break; + case ECbmModuleId::kHodo: fCurrentEvent->AddData(ECbmDataType::kBmonDigi, _entry); break; default: break; } } @@ -479,18 +479,18 @@ void CbmMcbm2018EventBuilder::AddDigiToSorter(ECbmModuleId _system, Int_t _entry } // Digi containers controlled by DigiManager case ECbmModuleId::kHodo: { // CbmTofDigi * pDigi; - if (fT0DigiVec) { - if (static_cast<UInt_t>(_entry) < fT0DigiVec->size()) { - time = fT0DigiVec->at(_entry).GetTime(); + if (fBmonDigiVec) { + if (static_cast<UInt_t>(_entry) < fBmonDigiVec->size()) { + time = fBmonDigiVec->at(_entry).GetTime(); fSorter.emplace(make_pair(time, make_pair(_system, _entry))); - } // if( _entry < fT0DigiVec->size() ) - } // if ( fT0DigiVec ) - else if (fT0DigiArr) { - if (_entry < fT0DigiArr->GetEntriesFast()) { - time = dynamic_cast<CbmTofDigi*>(fT0DigiArr->At(_entry))->GetTime(); + } // if( _entry < fBmonDigiVec->size() ) + } // if ( fBmonDigiVec ) + else if (fBmonDigiArr) { + if (_entry < fBmonDigiArr->GetEntriesFast()) { + time = dynamic_cast<CbmTofDigi*>(fBmonDigiArr->At(_entry))->GetTime(); fSorter.emplace(make_pair(time, make_pair(_system, _entry))); - } // if( _entry < fT0DigiArr->GetEntriesFast() ) - } // else if ( fT0DigiArr ) + } // if( _entry < fBmonDigiArr->GetEntriesFast() ) + } // else if ( fBmonDigiArr ) else return; break; @@ -518,7 +518,7 @@ void CbmMcbm2018EventBuilder::Finish() fhEventSize->Write(); fhNbDigiPerEvtTime->Write(); - fhNbDigiPerEvtTimeT0->Write(); + fhNbDigiPerEvtTimeBmon->Write(); fhNbDigiPerEvtTimeSts->Write(); fhNbDigiPerEvtTimeMuch->Write(); fhNbDigiPerEvtTimeTrd->Write(); diff --git a/fles/mcbm2018/tasks/CbmMcbm2018EventBuilder.h b/fles/mcbm2018/tasks/CbmMcbm2018EventBuilder.h index 20065dfac12d7fd63a136ed08c458c4ab008680f..36cb20d9c1621fd4dfe2d674fcd7da0f70428f72 100644 --- a/fles/mcbm2018/tasks/CbmMcbm2018EventBuilder.h +++ b/fles/mcbm2018/tasks/CbmMcbm2018EventBuilder.h @@ -86,8 +86,8 @@ public: void SetFixedTimeWindow(Double_t val) { fFixedTimeWindow = val; } void SetMaximumTimeGap(Double_t val) { fMaximumTimeGap = val; } - /** Minimum number of T0 digis needed to generate a trigger, 0 means don't use T0 for trigger generation **/ - void SetTriggerMinNumberT0(Int_t val) { fTriggerMinT0Digis = val; } + /** Minimum number of Bmon digis needed to generate a trigger, 0 means don't use Bmon for trigger generation **/ + void SetTriggerMinNumberBmon(Int_t val) { fTriggerMinBmonDigis = val; } /** Minimum number of Sts digis needed to generate a trigger, 0 means don't use Sts for trigger generation **/ void SetTriggerMinNumberSts(Int_t val) { fTriggerMinStsDigis = val; } /** Minimum number of Much digis needed to generate a trigger, 0 means don't use Much for trigger generation **/ @@ -101,8 +101,8 @@ public: /** Minimum number of Psd digis needed to generate a trigger, 0 means don't use Psd for trigger generation **/ void SetTriggerMinNumberPsd(Int_t val) { fTriggerMinPsdDigis = val; } - /** Maximum number of T0 digis needed to generate a trigger, -1 means no cut, 0 means anti-coinc trigger **/ - void SetTriggerMaxNumberT0(Int_t val) { fTriggerMaxT0Digis = val; } + /** Maximum number of Bmon digis needed to generate a trigger, -1 means no cut, 0 means anti-coinc trigger **/ + void SetTriggerMaxNumberBmon(Int_t val) { fTriggerMaxBmonDigis = val; } /** Maximum number of Sts digis needed to generate a trigger, -1 means no cut, 0 means anti-coinc trigger **/ void SetTriggerMaxNumberSts(Int_t val) { fTriggerMaxStsDigis = val; } /** Maximum number of Much digis needed to generate a trigger, -1 means no cut, 0 means anti-coinc trigger **/ @@ -139,8 +139,8 @@ private: Bool_t fbUseBaseMuchDigi = kFALSE; CbmDigiManager* fDigiMan = nullptr; //! - const std::vector<CbmTofDigi>* fT0DigiVec = nullptr; //! - TClonesArray* fT0DigiArr = nullptr; //! input container of TO digis + const std::vector<CbmTofDigi>* fBmonDigiVec = nullptr; //! + TClonesArray* fBmonDigiArr = nullptr; //! input container of TO digis TClonesArray* fEvents = nullptr; //! output container of CbmEvents std::array<TClonesArray*, ToIntegralType(ECbmModuleId::kNofSystems)> @@ -159,7 +159,7 @@ private: TH1* fhEventDt {nullptr}; //! histogram with the interval in seed time of consecutive events TH1* fhEventSize {nullptr}; //! histogram with the nb of all digis in the event TH2* fhNbDigiPerEvtTime {nullptr}; //! histogram with the nb of all digis per event vs seed time of the events - TH2* fhNbDigiPerEvtTimeT0 {nullptr}; //! histogram with the nb of T0 digis per event vs seed time of the events + TH2* fhNbDigiPerEvtTimeBmon {nullptr}; //! histogram with the nb of Bmon digis per event vs seed time of the events TH2* fhNbDigiPerEvtTimeSts {nullptr}; //! histogram with the nb of STS digis per event vs seed time of the events TH2* fhNbDigiPerEvtTimeMuch {nullptr}; //! histogram with the nb of MUCH digis per event vs seed time of the events TH2* fhNbDigiPerEvtTimeTrd {nullptr}; //! histogram with the nb of TRD digis per event vs seed time of the events @@ -177,8 +177,8 @@ private: /** Maximum gap allowed between two consecutive digis used for the MaximumTimeGap event building algorithm **/ Double_t fMaximumTimeGap {100.}; - /** Minimum number of T0 digis needed to generate a trigger, 0 means don't use T0 for trigger generation **/ - Int_t fTriggerMinT0Digis {0}; + /** Minimum number of Bmon digis needed to generate a trigger, 0 means don't use Bmon for trigger generation **/ + Int_t fTriggerMinBmonDigis {0}; /** Minimum number of Sts digis needed to generate a trigger, 0 means don't use Sts for trigger generation **/ Int_t fTriggerMinStsDigis {0}; /** Minimum number of Much digis needed to generate a trigger, 0 means don't use Much for trigger generation **/ @@ -191,8 +191,8 @@ private: Int_t fTriggerMinRichDigis {0}; /** Minimum number of Psd digis needed to generate a trigger, 0 means don't use Psd for trigger generation **/ Int_t fTriggerMinPsdDigis {0}; - /** Maximum number of T0 digis needed to generate a trigger, -1 means no cut, 0 means anti-coinc trigger **/ - Int_t fTriggerMaxT0Digis = -1; + /** Maximum number of Bmon digis needed to generate a trigger, -1 means no cut, 0 means anti-coinc trigger **/ + Int_t fTriggerMaxBmonDigis = -1; /** Maximum number of Sts digis needed to generate a trigger, -1 means no cut, 0 means anti-coinc trigger **/ Int_t fTriggerMaxStsDigis = -1; /** Maximum number of Much digis needed to generate a trigger, -1 means no cut, 0 means anti-coinc trigger **/ diff --git a/fles/mcbm2018/tasks/CbmMcbm2019CheckDigisMuch.cxx b/fles/mcbm2018/tasks/CbmMcbm2019CheckDigisMuch.cxx index 8bf2676ea8acbbe2f8f30b988c47bfbd6de4d2e4..af6ab4f9648af7ef2570d18040a82552b036e4c5 100644 --- a/fles/mcbm2018/tasks/CbmMcbm2019CheckDigisMuch.cxx +++ b/fles/mcbm2018/tasks/CbmMcbm2019CheckDigisMuch.cxx @@ -117,12 +117,12 @@ void CbmMcbm2019CheckDigisMuch::Exec(Option_t* /*option*/) if (0 == iMuch) std::cout << Form("Much first hit in TS %5d: asic %2u chan %3u time " - "%12.0f T0 time %12.0f check time %12.0f ADC %2.0f", + "%12.0f Bmon time %12.0f check time %12.0f ADC %2.0f", fNrTs, uAsic, uChan, dTime, dTime - fdFirstTsOffs, dTimeSinceStart, dAdc) << std::endl; if (fdDigiDistStart < dTimeSinceStart && dTimeSinceStart < fdDigiDistStop) { - // std::cout << Form( "Much hit in TS %5d: asic %2u chan %3u T0 time %12.0f ADC %2.0f", + // std::cout << Form( "Much hit in TS %5d: asic %2u chan %3u Bmon time %12.0f ADC %2.0f", // fNrTs, uAsic, uChan, (dTimeSinceStart - fdDigiDistStart), dAdc ) // << std::endl; Double_t dTimeDistLastDigi = dTimeSinceStart - fdLastMuchDigi[uAsic][uChan]; @@ -133,7 +133,7 @@ void CbmMcbm2019CheckDigisMuch::Exec(Option_t* /*option*/) } /* if( 0.0 == fdLastMuchDigi[ uAsic ][ uChan ] ) - std::cout << Form( "Much first hit in TS %5d: asic %2u chan %3u T0 time %12.0f ADC %2.0f", + std::cout << Form( "Much first hit in TS %5d: asic %2u chan %3u Bmon time %12.0f ADC %2.0f", fNrTs, uAsic, uChan, dTime - fdFirstTsOffs, dAdc ) << std::endl; */ @@ -143,7 +143,7 @@ void CbmMcbm2019CheckDigisMuch::Exec(Option_t* /*option*/) if (9 != uAsic || uChan < 63) continue; if (fuMaxAdcPulserMuch < Digi->GetAdc() || Digi->GetAdc() < fuMinAdcPulserMuch) continue; - std::cout << Form("Much pulser in TS %5d: chan %3u T0 time %12.0f time " + std::cout << Form("Much pulser in TS %5d: chan %3u Bmon time %12.0f time " "start %12.0f ADC %2.0f dt %12.0f", fNrTs, uChan, dTime, dTimeSinceStart, dAdc, dTime - fdLastMuchDigiPulser[uAsic][uChan]) << std::endl; diff --git a/fles/mcbm2018/tasks/CbmMcbm2019CheckDigisSts.cxx b/fles/mcbm2018/tasks/CbmMcbm2019CheckDigisSts.cxx index cfed8380789b79e13f0a3004e418f7656553a99b..1a3ed1e8ee205090e55a266772c4b3c1e8cb4976 100644 --- a/fles/mcbm2018/tasks/CbmMcbm2019CheckDigisSts.cxx +++ b/fles/mcbm2018/tasks/CbmMcbm2019CheckDigisSts.cxx @@ -114,12 +114,12 @@ void CbmMcbm2019CheckDigisSts::Exec(Option_t* /*option*/) if (0 == iSts) std::cout << Form("Much first hit in TS %5d: asic %2u chan %3u time " - "%12.0f T0 time %12.0f check time %12.0f ADC %2.0f", + "%12.0f Bmon time %12.0f check time %12.0f ADC %2.0f", fNrTs, uAsic, uChan, dTime, dTime - fdFirstTsOffs, dTimeSinceStart, dAdc) << std::endl; if (fdDigiDistStart < dTimeSinceStart && dTimeSinceStart < fdDigiDistStop) { - // std::cout << Form( "Sts hit in TS %5d: asic %2u chan %3u T0 time %12.0f ADC %2.0f", + // std::cout << Form( "Sts hit in TS %5d: asic %2u chan %3u Bmon time %12.0f ADC %2.0f", // fNrTs, uAsic, uChan, (dTimeSinceStart - fdDigiDistStart), dAdc ) // << std::endl; Double_t dTimeDistLastDigi = dTimeSinceStart - fdLastStsDigi[uAsic][uChan]; @@ -128,7 +128,7 @@ void CbmMcbm2019CheckDigisSts::Exec(Option_t* /*option*/) } /* if( 0.0 == fdLastStsDigi[ uAsic ][ uChan ] ) - std::cout << Form( "Sts first hit in TS %5d: asic %2u chan %3u T0 time %12.0f ADC %2.0f", + std::cout << Form( "Sts first hit in TS %5d: asic %2u chan %3u Bmon time %12.0f ADC %2.0f", fNrTs, uAsic, uChan, dTime - fdFirstTsOffs, dAdc ) << std::endl; */ @@ -138,7 +138,7 @@ void CbmMcbm2019CheckDigisSts::Exec(Option_t* /*option*/) if (9 != uAsic || uChan < 63) continue; if (fuMaxAdcPulserSts < Digi->GetCharge() || Digi->GetCharge() < fuMinAdcPulserSts) continue; - std::cout << Form("Sts pulser in TS %5d: chan %3u T0 time %12.0f time " + std::cout << Form("Sts pulser in TS %5d: chan %3u Bmon time %12.0f time " "start %12.0f ADC %2.0f dt %12.0f", fNrTs, uChan, dTime, dTimeSinceStart, dAdc, dTime - fdLastStsDigiPulser[uAsic][uChan]) << std::endl; diff --git a/fles/mcbm2018/tasks/CbmMcbm2019CheckDtInDet.cxx b/fles/mcbm2018/tasks/CbmMcbm2019CheckDtInDet.cxx index 162077172a1f02ef00fed21a126adac0d17a3501..fb6912fea6d5261403d9d650cfb4fd0eb0473195 100644 --- a/fles/mcbm2018/tasks/CbmMcbm2019CheckDtInDet.cxx +++ b/fles/mcbm2018/tasks/CbmMcbm2019CheckDtInDet.cxx @@ -62,16 +62,16 @@ InitStatus CbmMcbm2019CheckDtInDet::Init() fDigiMan->UseMuchBeamTimeDigi(); fDigiMan->Init(); - // T0 is not included in DigiManager; have to take care here + // Bmon is not included in DigiManager; have to take care here // Try to find a vector branch for the digi - fT0DigiVector = ioman->InitObjectAs<std::vector<CbmTofDigi> const*>("T0Digi"); - if (!fT0DigiVector) { - LOG(info) << "No T0 digi vector found; trying TClonesArray"; + fBmonDigiVector = ioman->InitObjectAs<std::vector<CbmTofDigi> const*>("BmonDigi"); + if (!fBmonDigiVector) { + LOG(info) << "No Bmon digi vector found; trying TClonesArray"; if (std::is_convertible<TObject*, CbmTofDigi*>::value) { - fT0DigiArray = dynamic_cast<TClonesArray*>(ioman->GetObject("T0Digi")); - if (!fT0DigiArray) LOG(info) << "No T0 digi input found."; + fBmonDigiArray = dynamic_cast<TClonesArray*>(ioman->GetObject("BmonDigi")); + if (!fBmonDigiArray) LOG(info) << "No Bmon digi input found."; } //? CbmTofDigi derives from TObject - } //? No vector for T0 digis + } //? No vector for Bmon digis if (!fDigiMan->IsPresent(ECbmModuleId::kSts)) { LOG(info) << "No STS digi input found."; } @@ -107,8 +107,8 @@ void CbmMcbm2019CheckDtInDet::CreateHistos() // double * dBinsLog = GenerateLogBinArray( 9, 9, 1, iNbBinsLog ); /// Proportion of hits with same time - // T0 vs. T0 - fT0T0SameTime = new TH1F("fT0T0SameTime", "Fract. same time T0;Same Time? [];Counts", 2, -0.5, 1.5); + // Bmon vs. Bmon + fBmonBmonSameTime = new TH1F("fBmonBmonSameTime", "Fract. same time Bmon;Same Time? [];Counts", 2, -0.5, 1.5); // sts vs. Sts fStsStsSameTime = new TH1F("fStsStsSameTime", "Fract. same time Sts;Same Time? [];Counts", 2, -0.5, 1.5); // Much vs. Much @@ -123,8 +123,8 @@ void CbmMcbm2019CheckDtInDet::CreateHistos() fPsdPsdSameTime = new TH1F("fPsdPsdSameTime", "Fract. same time Psd;Same Time? [];Counts", 2, -0.5, 1.5); /// Per detector - // T0 vs. T0 - fT0T0Diff = new TH1F("fT0T0Diff", "T0-T0_prev;time diff [ns];Counts", 10001, -0.5, 10000.5); + // Bmon vs. Bmon + fBmonBmonDiff = new TH1F("fBmonBmonDiff", "Bmon-Bmon_prev;time diff [ns];Counts", 10001, -0.5, 10000.5); // sts vs. Sts fStsStsDiff = new TH1F("fStsStsDiff", "Sts-Sts_prev;time diff [ns];Counts", 10001, -0.5, 10000.5); // Much vs. Much @@ -137,8 +137,8 @@ void CbmMcbm2019CheckDtInDet::CreateHistos() fRichRichDiff = new TH1F("fRichRichDiff", "Rich-Rich_prev;time diff [ns];Counts", 10001, -0.5, 10000.5); // Psd vs. Psd fPsdPsdDiff = new TH1F("fPsdPsdDiff", "Psd-Psd_prev;time diff [ns];Counts", 10001, -0.5, 10000.5); - // T0 vs. T0 - fT0T0DiffLog = new TH1F("fT0T0DiffLog", "T0-T0_prev;time diff [ns];Counts", iNbBinsLog, dBinsLog); + // Bmon vs. Bmon + fBmonBmonDiffLog = new TH1F("fBmonBmonDiffLog", "Bmon-Bmon_prev;time diff [ns];Counts", iNbBinsLog, dBinsLog); // sts vs. Sts fStsStsDiffLog = new TH1F("fStsStsDiffLog", "Sts-Sts_prev;time diff [ns];Counts", iNbBinsLog, dBinsLog); // Much vs. Much @@ -153,9 +153,10 @@ void CbmMcbm2019CheckDtInDet::CreateHistos() fPsdPsdDiffLog = new TH1F("fPsdPsdDiffLog", "Psd-Psd_prev;time diff [ns];Counts", iNbBinsLog, dBinsLog); /// Per channel - // T0 vs. T0 - fT0T0DiffPerChan = new TH2F("fT0T0DiffPerChan", "T0-T0_prev Per Channel;time diff [ns]; Channel [];Counts", - iNbBinsLog, dBinsLog, fuNbChanT0, 0, fuNbChanT0); + // Bmon vs. Bmon + fBmonBmonDiffPerChan = + new TH2F("fBmonBmonDiffPerChan", "Bmon-Bmon_prev Per Channel;time diff [ns]; Channel [];Counts", iNbBinsLog, + dBinsLog, fuNbChanBmon, 0, fuNbChanBmon); // sts vs. Sts fStsStsDiffPerChan = new TH2F("fStsStsDiffPerChan", "Sts-Sts_prev Per Channel;time diff [ns]; Channel [];Counts", iNbBinsLog, dBinsLog, fuNbChanSts, 0, fuNbChanSts); @@ -183,7 +184,7 @@ void CbmMcbm2019CheckDtInDet::CreateHistos() THttpServer* server = run->GetHttpServer(); if (nullptr != server) { - server->Register("/Dt", fT0T0Diff); + server->Register("/Dt", fBmonBmonDiff); server->Register("/Dt", fStsStsDiff); server->Register("/Dt", fMuchMuchDiff); server->Register("/Dt", fTrdTrdDiff); @@ -191,7 +192,7 @@ void CbmMcbm2019CheckDtInDet::CreateHistos() server->Register("/Dt", fRichRichDiff); server->Register("/Dt", fPsdPsdDiff); - server->Register("/Dt", fT0T0DiffLog); + server->Register("/Dt", fBmonBmonDiffLog); server->Register("/Dt", fStsStsDiffLog); server->Register("/Dt", fMuchMuchDiffLog); server->Register("/Dt", fTrdTrdDiffLog); @@ -199,7 +200,7 @@ void CbmMcbm2019CheckDtInDet::CreateHistos() server->Register("/Dt", fRichRichDiffLog); server->Register("/Dt", fPsdPsdDiffLog); - server->Register("/DtPerChan", fT0T0DiffPerChan); + server->Register("/DtPerChan", fBmonBmonDiffPerChan); server->Register("/DtPerChan", fStsStsDiffPerChan); server->Register("/DtPerChan", fMuchMuchDiffPerChan); server->Register("/DtPerChan", fTrdTrdDiffPerChan); @@ -221,11 +222,11 @@ void CbmMcbm2019CheckDtInDet::Exec(Option_t* /*option*/) /// Get nb entries per detector LOG(debug) << "Begin"; - Int_t nrT0Digis = 0; - if (fT0DigiVector) nrT0Digis = fT0DigiVector->size(); - else if (fT0DigiArray) - nrT0Digis = fT0DigiArray->GetEntriesFast(); - LOG(debug) << "T0Digis: " << nrT0Digis; + Int_t nrBmonDigis = 0; + if (fBmonDigiVector) nrBmonDigis = fBmonDigiVector->size(); + else if (fBmonDigiArray) + nrBmonDigis = fBmonDigiArray->GetEntriesFast(); + LOG(debug) << "BmonDigis: " << nrBmonDigis; /* Int_t nrStsDigis = fDigiMan->GetNofDigis( ECbmModuleId::kSts); @@ -236,34 +237,34 @@ void CbmMcbm2019CheckDtInDet::Exec(Option_t* /*option*/) Int_t nrPsdDigis = fDigiMan->GetNofDigis( ECbmModuleId::kPsd); */ - /// Check dT in T0 - for (Int_t iT0 = 0; iT0 < nrT0Digis; ++iT0) { + /// Check dT in Bmon + for (Int_t iBmon = 0; iBmon < nrBmonDigis; ++iBmon) { - if (iT0 % 1000 == 0) LOG(debug) << "Executing entry " << iT0; + if (iBmon % 1000 == 0) LOG(debug) << "Executing entry " << iBmon; - const CbmTofDigi* T0Digi = nullptr; - if (fT0DigiVector) T0Digi = &(fT0DigiVector->at(iT0)); - else if (fT0DigiArray) - T0Digi = dynamic_cast<CbmTofDigi*>(fT0DigiArray->At(iT0)); - assert(T0Digi); + const CbmTofDigi* BmonDigi = nullptr; + if (fBmonDigiVector) BmonDigi = &(fBmonDigiVector->at(iBmon)); + else if (fBmonDigiArray) + BmonDigi = dynamic_cast<CbmTofDigi*>(fBmonDigiArray->At(iBmon)); + assert(BmonDigi); - Double_t T0Time = T0Digi->GetTime(); - // Int_t T0Address = T0Digi->GetAddress(); + Double_t T0Time = BmonDigi->GetTime(); + // Int_t BmonAddress = BmonDigi->GetAddress(); - Double_t T0TimeDiff = T0Time - fPrevTimeT0; + Double_t T0TimeDiff = T0Time - fPrevTimeBmon; - if (0 < iT0) { - fT0T0Diff->Fill(T0TimeDiff); + if (0 < iBmon) { + fBmonBmonDiff->Fill(T0TimeDiff); if (0 < T0TimeDiff) { - fT0T0SameTime->Fill(0); - fT0T0DiffLog->Fill(T0TimeDiff); + fBmonBmonSameTime->Fill(0); + fBmonBmonDiffLog->Fill(T0TimeDiff); } // if( 0 < T0TimeDiff) else - fT0T0SameTime->Fill(1); - } // if( 0 < iT0 ) + fBmonBmonSameTime->Fill(1); + } // if( 0 < iBmon ) - fPrevTimeT0 = T0Time; - } // for( Int_t iT0 = 0; iT0 < nrT0Digis; ++iT0 ) + fPrevTimeBmon = T0Time; + } // for( Int_t iBmon = 0; iBmon < nrBmonDigis; ++iBmon ) /// Check dT in the other channels FillHistosPerDet<CbmStsDigi>(fStsStsSameTime, fStsStsDiff, fStsStsDiffLog, fStsStsDiffPerChan, ECbmModuleId::kSts); @@ -381,7 +382,7 @@ void CbmMcbm2019CheckDtInDet::WriteHistos() TFile* outfile = TFile::Open(fOutFileName, "RECREATE"); - fT0T0SameTime->Write(); + fBmonBmonSameTime->Write(); fStsStsSameTime->Write(); fMuchMuchSameTime->Write(); fTrdTrdSameTime->Write(); @@ -389,7 +390,7 @@ void CbmMcbm2019CheckDtInDet::WriteHistos() fRichRichSameTime->Write(); fPsdPsdSameTime->Write(); - fT0T0Diff->Write(); + fBmonBmonDiff->Write(); fStsStsDiff->Write(); fMuchMuchDiff->Write(); fTrdTrdDiff->Write(); @@ -397,7 +398,7 @@ void CbmMcbm2019CheckDtInDet::WriteHistos() fRichRichDiff->Write(); fPsdPsdDiff->Write(); - fT0T0DiffLog->Write(); + fBmonBmonDiffLog->Write(); fStsStsDiffLog->Write(); fMuchMuchDiffLog->Write(); fTrdTrdDiffLog->Write(); @@ -405,7 +406,7 @@ void CbmMcbm2019CheckDtInDet::WriteHistos() fRichRichDiffLog->Write(); fPsdPsdDiffLog->Write(); - fT0T0DiffPerChan->Write(); + fBmonBmonDiffPerChan->Write(); fStsStsDiffPerChan->Write(); fMuchMuchDiffPerChan->Write(); fTrdTrdDiffPerChan->Write(); diff --git a/fles/mcbm2018/tasks/CbmMcbm2019CheckDtInDet.h b/fles/mcbm2018/tasks/CbmMcbm2019CheckDtInDet.h index 75e06bdebcf0cae785c00d7dd04ef763b2578451..71a7604eb8705c18f1fbf03b94cbb2b4c08ac516 100644 --- a/fles/mcbm2018/tasks/CbmMcbm2019CheckDtInDet.h +++ b/fles/mcbm2018/tasks/CbmMcbm2019CheckDtInDet.h @@ -57,7 +57,7 @@ public: /** Finish task called at the end of the run **/ virtual void Finish(); - void SetNbChanT0(Int_t val = 8) { fuNbChanT0 = val; } + void SetNbChanBmon(Int_t val = 8) { fuNbChanBmon = val; } void SetNbChanSts(Int_t val = 5120) { fuNbChanSts = val; } @@ -83,8 +83,8 @@ private: /** Digi data **/ CbmDigiManager* fDigiMan = nullptr; //! - const std::vector<CbmTofDigi>* fT0DigiVector = nullptr; //! - TClonesArray* fT0DigiArray = nullptr; //! + const std::vector<CbmTofDigi>* fBmonDigiVector = nullptr; //! + TClonesArray* fBmonDigiArray = nullptr; //! TClonesArray* fTimeSliceMetaDataArray = nullptr; //! const TimesliceMetaData* pTsMetaData = nullptr; @@ -97,7 +97,7 @@ private: static const UInt_t kuMaxChannelSts = 3000; /// Variables to store the previous digi time - Double_t fPrevTimeT0 = 0.; + Double_t fPrevTimeBmon = 0.; Double_t fPrevTimeSts = 0.; Double_t fPrevTimeMuch = 0.; Double_t fPrevTimeTrd = 0.; @@ -106,7 +106,7 @@ private: Double_t fPrevTimePsd = 0.; /// User settings: Data correction parameters - UInt_t fuNbChanT0 = 8; + UInt_t fuNbChanBmon = 8; UInt_t fuNbChanSts = 5120; UInt_t fuNbChanMuch = 5120; UInt_t fuNbChanTrd = 5120; @@ -116,7 +116,7 @@ private: // Int_t fNrTs = 0; - TH1* fT0T0SameTime = nullptr; + TH1* fBmonBmonSameTime = nullptr; TH1* fStsStsSameTime = nullptr; TH1* fMuchMuchSameTime = nullptr; TH1* fTrdTrdSameTime = nullptr; @@ -124,7 +124,7 @@ private: TH1* fRichRichSameTime = nullptr; TH1* fPsdPsdSameTime = nullptr; - TH1* fT0T0Diff = nullptr; + TH1* fBmonBmonDiff = nullptr; TH1* fStsStsDiff = nullptr; TH1* fMuchMuchDiff = nullptr; TH1* fTrdTrdDiff = nullptr; @@ -132,7 +132,7 @@ private: TH1* fRichRichDiff = nullptr; TH1* fPsdPsdDiff = nullptr; - TH1* fT0T0DiffLog = nullptr; + TH1* fBmonBmonDiffLog = nullptr; TH1* fStsStsDiffLog = nullptr; TH1* fMuchMuchDiffLog = nullptr; TH1* fTrdTrdDiffLog = nullptr; @@ -141,7 +141,7 @@ private: TH1* fPsdPsdDiffLog = nullptr; - TH2* fT0T0DiffPerChan = nullptr; + TH2* fBmonBmonDiffPerChan = nullptr; TH2* fStsStsDiffPerChan = nullptr; TH2* fMuchMuchDiffPerChan = nullptr; TH2* fTrdTrdDiffPerChan = nullptr; diff --git a/fles/mcbm2018/tasks/CbmMcbm2019CheckPulser.cxx b/fles/mcbm2018/tasks/CbmMcbm2019CheckPulser.cxx index 15a91d4d62b5e57258f56177e95727da8a59dddf..b3545f7123bab52706b5965a896d76cd107b9cc9 100644 --- a/fles/mcbm2018/tasks/CbmMcbm2019CheckPulser.cxx +++ b/fles/mcbm2018/tasks/CbmMcbm2019CheckPulser.cxx @@ -62,16 +62,16 @@ InitStatus CbmMcbm2019CheckPulser::Init() fDigiMan->UseMuchBeamTimeDigi(); fDigiMan->Init(); - // T0 is not included in DigiManager; have to take care here + // Bmon is not included in DigiManager; have to take care here // Try to find a vector branch for the digi - fT0DigiVector = ioman->InitObjectAs<std::vector<CbmTofDigi> const*>("T0Digi"); - if (!fT0DigiVector) { - LOG(info) << "No T0 digi vector found; trying TClonesArray"; + fBmonDigiVector = ioman->InitObjectAs<std::vector<CbmTofDigi> const*>("BmonDigi"); + if (!fBmonDigiVector) { + LOG(info) << "No Bmon digi vector found; trying TClonesArray"; if (std::is_convertible<TObject*, CbmTofDigi*>::value) { - fT0DigiArray = dynamic_cast<TClonesArray*>(ioman->GetObject("T0Digi")); - if (!fT0DigiArray) LOG(info) << "No T0 digi input found."; + fBmonDigiArray = dynamic_cast<TClonesArray*>(ioman->GetObject("BmonDigi")); + if (!fBmonDigiArray) LOG(info) << "No Bmon digi input found."; } //? CbmTofDigi derives from TObject - } //? No vector for T0 digis + } //? No vector for Bmon digis if (!fDigiMan->IsPresent(ECbmModuleId::kSts)) { LOG(info) << "No STS digi input found."; } @@ -104,7 +104,7 @@ Int_t CbmMcbm2019CheckPulser::CalcNrBins(Int_t offsetRange) if (offsetRange < 251) { Double_t dClocks = offsetRange; dClocks /= 6.25; - return (dClocks * 112 * 2); /// T0/TOF FTS bining + return (dClocks * 112 * 2); /// Bmon/TOF FTS bining } else if (offsetRange < 501) { fBinWidth = 1; @@ -135,120 +135,124 @@ void CbmMcbm2019CheckPulser::CreateHistos() // double * dBinsLog = GenerateLogBinArray( 9, 9, 1, iNbBinsLog ); Int_t nrOfBinsSts = CalcNrBins(fStsOffsetRange); - // T0 vs. Sts - fT0StsDiff = new TH1F("fT0StsDiff", "T0-Sts;time diff [ns];Counts", nrOfBinsSts, -fStsOffsetRange, fStsOffsetRange); + // Bmon vs. Sts + fBmonStsDiff = + new TH1F("fBmonStsDiff", "Bmon-Sts;time diff [ns];Counts", nrOfBinsSts, -fStsOffsetRange, fStsOffsetRange); - fT0StsDiffEvo = new TH2F("fT0StsDiffEvo", "T0-Sts;TS; time diff [ns];Counts", 1000, 0, 10000, nrOfBinsSts, - -fStsOffsetRange, fStsOffsetRange); + fBmonStsDiffEvo = new TH2F("fBmonStsDiffEvo", "Bmon-Sts;TS; time diff [ns];Counts", 1000, 0, 10000, nrOfBinsSts, + -fStsOffsetRange, fStsOffsetRange); Int_t nrOfBinsMuch = CalcNrBins(fMuchOffsetRange); - // T0 vs. Much - fT0MuchDiff = - new TH1F("fT0MuchDiff", "T0-Much;time diff [ns];Counts", nrOfBinsMuch, -fMuchOffsetRange, fMuchOffsetRange); + // Bmon vs. Much + fBmonMuchDiff = + new TH1F("fBmonMuchDiff", "Bmon-Much;time diff [ns];Counts", nrOfBinsMuch, -fMuchOffsetRange, fMuchOffsetRange); - fT0MuchDiffEvo = new TH2F("fT0MuchDiffEvo", "T0-Much;TS; time diff [ns];Counts", 1000, 0, 10000, nrOfBinsMuch, - -fMuchOffsetRange, fMuchOffsetRange); + fBmonMuchDiffEvo = new TH2F("fBmonMuchDiffEvo", "Bmon-Much;TS; time diff [ns];Counts", 1000, 0, 10000, nrOfBinsMuch, + -fMuchOffsetRange, fMuchOffsetRange); Int_t nrOfBinsTrd = CalcNrBins(fTrdOffsetRange); // To vs. Trd - fT0TrdDiff = new TH1F("fT0TrdDiff", "T0-Trd;time diff [ns];Counts", nrOfBinsTrd, -fTrdOffsetRange, fTrdOffsetRange); + fBmonTrdDiff = + new TH1F("fBmonTrdDiff", "Bmon-Trd;time diff [ns];Counts", nrOfBinsTrd, -fTrdOffsetRange, fTrdOffsetRange); - fT0TrdDiffEvo = new TH2F("fT0TrdDiffEvo", "T0-Trd;TS; time diff [ns];Counts", 1000, 0, 10000, nrOfBinsTrd, - -fTrdOffsetRange, fTrdOffsetRange); + fBmonTrdDiffEvo = new TH2F("fBmonTrdDiffEvo", "Bmon-Trd;TS; time diff [ns];Counts", 1000, 0, 10000, nrOfBinsTrd, + -fTrdOffsetRange, fTrdOffsetRange); Int_t nrOfBinsTof = CalcNrBins(fTofOffsetRange); // To vs. Tof - fT0TofDiff = new TH1F("fT0TofDiff", "T0-Tof;time diff [ns];Counts", nrOfBinsTof, -fTofOffsetRange, fTofOffsetRange); + fBmonTofDiff = + new TH1F("fBmonTofDiff", "Bmon-Tof;time diff [ns];Counts", nrOfBinsTof, -fTofOffsetRange, fTofOffsetRange); - fT0TofDiffEvo = new TH2F("fT0TofDiffEvo", "T0-Tof;TS; time diff [ns];Counts", 1000, 0, 10000, nrOfBinsTof, - -fTofOffsetRange, fTofOffsetRange); + fBmonTofDiffEvo = new TH2F("fBmonTofDiffEvo", "Bmon-Tof;TS; time diff [ns];Counts", 1000, 0, 10000, nrOfBinsTof, + -fTofOffsetRange, fTofOffsetRange); Int_t nrOfBinsRich = CalcNrBins(fRichOffsetRange); // To vs. Rich - fT0RichDiff = - new TH1F("fT0RichDiff", "T0-Rich;time diff [ns];Counts", nrOfBinsRich, -fRichOffsetRange, fRichOffsetRange); + fBmonRichDiff = + new TH1F("fBmonRichDiff", "Bmon-Rich;time diff [ns];Counts", nrOfBinsRich, -fRichOffsetRange, fRichOffsetRange); - fT0RichDiffEvo = new TH2F("fT0RichDiffEvo", "T0-Rich;TS; time diff [ns];Counts", 1000, 0, 10000, nrOfBinsRich, - -fRichOffsetRange, fRichOffsetRange); + fBmonRichDiffEvo = new TH2F("fBmonRichDiffEvo", "Bmon-Rich;TS; time diff [ns];Counts", 1000, 0, 10000, nrOfBinsRich, + -fRichOffsetRange, fRichOffsetRange); Int_t nrOfBinsPsd = CalcNrBins(fPsdOffsetRange); // To vs. Psd - fT0PsdDiff = new TH1F("fT0PsdDiff", "T0-Psd;time diff [ns];Counts", nrOfBinsPsd, -fPsdOffsetRange, fPsdOffsetRange); + fBmonPsdDiff = + new TH1F("fBmonPsdDiff", "Bmon-Psd;time diff [ns];Counts", nrOfBinsPsd, -fPsdOffsetRange, fPsdOffsetRange); - fT0PsdDiffEvo = new TH2F("fT0PsdDiffEvo", "T0-Psd;TS; time diff [ns];Counts", 1000, 0, 10000, nrOfBinsPsd, - -fPsdOffsetRange, fPsdOffsetRange); + fBmonPsdDiffEvo = new TH2F("fBmonPsdDiffEvo", "Bmon-Psd;TS; time diff [ns];Counts", 1000, 0, 10000, nrOfBinsPsd, + -fPsdOffsetRange, fPsdOffsetRange); - fT0PsdDiffCharge = new TH2F("fT0PsdDiffCharge", "T0-Psd;time diff [ns]; Charge [a.u]; ;Counts", nrOfBinsPsd, - -fPsdOffsetRange, fPsdOffsetRange, 7000, 0, 70000); + fBmonPsdDiffCharge = new TH2F("fBmonPsdDiffCharge", "Bmon-Psd;time diff [ns]; Charge [a.u]; ;Counts", nrOfBinsPsd, + -fPsdOffsetRange, fPsdOffsetRange, 7000, 0, 70000); - // T0 vs. Sts - fT0StsDiffEvoLong = new TH2F("fT0StsDiffEvoLong", "T0-Sts;TS; time diff [ns];Counts", 1800, 0, 180000, nrOfBinsSts, - -fStsOffsetRange, fStsOffsetRange); - // T0 vs. Much - fT0MuchDiffEvoLong = new TH2F("fT0MuchDiffEvoLong", "T0-Much;TS; time diff [ns];Counts", 1800, 0, 180000, - nrOfBinsMuch, -fMuchOffsetRange, fMuchOffsetRange); + // Bmon vs. Sts + fBmonStsDiffEvoLong = new TH2F("fBmonStsDiffEvoLong", "Bmon-Sts;TS; time diff [ns];Counts", 1800, 0, 180000, + nrOfBinsSts, -fStsOffsetRange, fStsOffsetRange); + // Bmon vs. Much + fBmonMuchDiffEvoLong = new TH2F("fBmonMuchDiffEvoLong", "Bmon-Much;TS; time diff [ns];Counts", 1800, 0, 180000, + nrOfBinsMuch, -fMuchOffsetRange, fMuchOffsetRange); // To vs. Trd - fT0TrdDiffEvoLong = new TH2F("fT0TrdDiffEvoLong", "T0-Trd;TS; time diff [ns];Counts", 1800, 0, 180000, nrOfBinsTrd, - -fTrdOffsetRange, fTrdOffsetRange); + fBmonTrdDiffEvoLong = new TH2F("fBmonTrdDiffEvoLong", "Bmon-Trd;TS; time diff [ns];Counts", 1800, 0, 180000, + nrOfBinsTrd, -fTrdOffsetRange, fTrdOffsetRange); // To vs. Tof - fT0TofDiffEvoLong = new TH2F("fT0TofDiffEvoLong", "T0-Tof;TS; time diff [ns];Counts", 1800, 0, 180000, nrOfBinsTof, - -fTofOffsetRange, fTofOffsetRange); + fBmonTofDiffEvoLong = new TH2F("fBmonTofDiffEvoLong", "Bmon-Tof;TS; time diff [ns];Counts", 1800, 0, 180000, + nrOfBinsTof, -fTofOffsetRange, fTofOffsetRange); // To vs. Rich - fT0RichDiffEvoLong = new TH2F("fT0RichDiffEvoLong", "T0-Rich;TS; time diff [ns];Counts", 1800, 0, 180000, - nrOfBinsRich, -fRichOffsetRange, fRichOffsetRange); + fBmonRichDiffEvoLong = new TH2F("fBmonRichDiffEvoLong", "Bmon-Rich;TS; time diff [ns];Counts", 1800, 0, 180000, + nrOfBinsRich, -fRichOffsetRange, fRichOffsetRange); // To vs. Psd - fT0PsdDiffEvoLong = new TH2F("fT0PsdDiffEvoLong", "T0-Psd;TS; time diff [ns];Counts", 1800, 0, 180000, nrOfBinsPsd, - -fPsdOffsetRange, fPsdOffsetRange); + fBmonPsdDiffEvoLong = new TH2F("fBmonPsdDiffEvoLong", "Bmon-Psd;TS; time diff [ns];Counts", 1800, 0, 180000, + nrOfBinsPsd, -fPsdOffsetRange, fPsdOffsetRange); - // T0 vs. Sts - fT0StsMeanEvo = new TProfile("fT0StsMeanEvo", "T0-Sts; time in run [s]; Mean time diff [ns]", 4320, 0, 4320); - // T0 vs. Much - fT0MuchMeanEvo = new TProfile("fT0MuchMeanEvo", "T0-Much; time in run [s]; Mean time diff [ns]", 4320, 0, 4320); + // Bmon vs. Sts + fBmonStsMeanEvo = new TProfile("fBmonStsMeanEvo", "Bmon-Sts; time in run [s]; Mean time diff [ns]", 4320, 0, 4320); + // Bmon vs. Much + fBmonMuchMeanEvo = new TProfile("fBmonMuchMeanEvo", "Bmon-Much; time in run [s]; Mean time diff [ns]", 4320, 0, 4320); // To vs. Tof - fT0TrdMeanEvo = new TProfile("fT0TrdMeanEvo", "T0-Trd; time in run [s]; Mean time diff [ns]", 4320, 0, 4320); + fBmonTrdMeanEvo = new TProfile("fBmonTrdMeanEvo", "Bmon-Trd; time in run [s]; Mean time diff [ns]", 4320, 0, 4320); // To vs. Tof - fT0TofMeanEvo = new TProfile("fT0TofMeanEvo", "T0-Tof; time in run [s]; Mean time diff [ns]", 4320, 0, 4320); + fBmonTofMeanEvo = new TProfile("fBmonTofMeanEvo", "Bmon-Tof; time in run [s]; Mean time diff [ns]", 4320, 0, 4320); // To vs. Rich - fT0RichMeanEvo = new TProfile("fT0RichMeanEvo", "T0-Rich; time in run [s]; Mean time diff [ns]", 4320, 0, 4320); + fBmonRichMeanEvo = new TProfile("fBmonRichMeanEvo", "Bmon-Rich; time in run [s]; Mean time diff [ns]", 4320, 0, 4320); // To vs. Psd - fT0PsdMeanEvo = new TProfile("fT0PsdMeanEvo", "T0-Psd; time in run [s]; Mean time diff [ns]", 4320, 0, 4320); + fBmonPsdMeanEvo = new TProfile("fBmonPsdMeanEvo", "Bmon-Psd; time in run [s]; Mean time diff [ns]", 4320, 0, 4320); // 4320, 0, 259200); - // T0 vs. STS for the different DPBs - fT0StsDpbDiff = new TH2F("fT0StsDpbDiff", "T0-Much;DPB; time diff [ns];Counts", 2, -0.5, 1.5, nrOfBinsSts, - -fStsOffsetRange, fStsOffsetRange); + // Bmon vs. STS for the different DPBs + fBmonStsDpbDiff = new TH2F("fBmonStsDpbDiff", "Bmon-Much;DPB; time diff [ns];Counts", 2, -0.5, 1.5, nrOfBinsSts, + -fStsOffsetRange, fStsOffsetRange); for (UInt_t uStsDpb = 0; uStsDpb < kuMaxNbStsDpbs; ++uStsDpb) { - fT0StsDpbDiffEvo[uStsDpb] = - new TH2F(Form("fT0StsDpbDiffEvo%02u", uStsDpb), Form("T0-STS DPB %02u;TS; time diff [ns];Counts", uStsDpb), 1800, - 0, 180000, nrOfBinsSts, -fStsOffsetRange, fStsOffsetRange); + fBmonStsDpbDiffEvo[uStsDpb] = + new TH2F(Form("fBmonStsDpbDiffEvo%02u", uStsDpb), Form("Bmon-STS DPB %02u;TS; time diff [ns];Counts", uStsDpb), + 1800, 0, 180000, nrOfBinsSts, -fStsOffsetRange, fStsOffsetRange); fStsDpbCntsEvo[uStsDpb] = new TH1F(Form("fStsDpbCntsEvo%02u", uStsDpb), Form("Time STS DPB %02u;TS; Hit Counts", uStsDpb), 1800, 0, 180000); } // for( UInt_t uStsDpb = 0; uStsDpb < kuMaxNbStsDpbs; ++uStsDpb ) - // T0 vs. Much for the different DPBs/AFCK - fT0MuchRocDiff = new TH2F("fT0MuchRocDiff", "T0-Much;AFCK; time diff [ns];Counts", kuMaxNbMuchDpbs, -0.5, - kuMaxNbMuchDpbs - 0.5, nrOfBinsMuch, -fMuchOffsetRange, fMuchOffsetRange); + // Bmon vs. Much for the different DPBs/AFCK + fBmonMuchRocDiff = new TH2F("fBmonMuchRocDiff", "Bmon-Much;AFCK; time diff [ns];Counts", kuMaxNbMuchDpbs, -0.5, + kuMaxNbMuchDpbs - 0.5, nrOfBinsMuch, -fMuchOffsetRange, fMuchOffsetRange); - // T0 vs. Much for the different ASICs - fT0MuchAsicDiff = new TH2F("fT0MuchAsicDiff", "T0-Much;ASIC; time diff [ns];Counts", kuMaxNbMuchAsics, -0.5, - kuMaxNbMuchAsics - 0.5, nrOfBinsMuch, -fMuchOffsetRange, fMuchOffsetRange); + // Bmon vs. Much for the different ASICs + fBmonMuchAsicDiff = new TH2F("fBmonMuchAsicDiff", "Bmon-Much;ASIC; time diff [ns];Counts", kuMaxNbMuchAsics, -0.5, + kuMaxNbMuchAsics - 0.5, nrOfBinsMuch, -fMuchOffsetRange, fMuchOffsetRange); for (UInt_t uMuchAsic = 0; uMuchAsic < kuMaxNbMuchAsics; ++uMuchAsic) - fT0MuchAsicDiffEvo[uMuchAsic] = new TH2F(Form("fT0MuchAsicDiffEvo%02u", uMuchAsic), - Form("T0-Much ASIC %02u;TS; time diff [ns];Counts", uMuchAsic), 1800, 0, - 180000, nrOfBinsMuch, -fMuchOffsetRange, fMuchOffsetRange); + fBmonMuchAsicDiffEvo[uMuchAsic] = new TH2F(Form("fBmonMuchAsicDiffEvo%02u", uMuchAsic), + Form("Bmon-Much ASIC %02u;TS; time diff [ns];Counts", uMuchAsic), 1800, + 0, 180000, nrOfBinsMuch, -fMuchOffsetRange, fMuchOffsetRange); - // T0 vs. T0 - fT0T0Diff = new TH1F("fT0T0Diff", "T0-T0_prev;time diff [ns];Counts", iNbBinsLog, dBinsLog); + // Bmon vs. Bmon + fBmonBmonDiff = new TH1F("fBmonBmonDiff", "Bmon-Bmon_prev;time diff [ns];Counts", iNbBinsLog, dBinsLog); // sts vs. Sts fStsStsDiff = new TH1F("fStsStsDiff", "Sts-Sts_prev;time diff [ns];Counts", iNbBinsLog, dBinsLog); // Much vs. Much @@ -263,16 +267,16 @@ void CbmMcbm2019CheckPulser::CreateHistos() fPsdPsdDiff = new TH1F("fPsdPsdDiff", "Psd-Psd_prev;time diff [ns];Counts", iNbBinsLog, dBinsLog); - fT0StsNb = new TH2F("fT0StsNb", "T0-STS;Nb T0; Nb STS;TS []", 100, 0, 100, 100, 0, 100); - fT0MuchNb = new TH2F("fT0MuchNb", "T0-MUCH;Nb T0; Nb MUCH;TS []", 100, 0, 100, 100, 0, 100); - fT0TrdNb = new TH2F("fT0TrdNb", "T0-TRD;Nb T0; Nb TRD;TS []", 100, 0, 100, 100, 0, 100); - fT0TofNb = new TH2F("fT0TofNb", "T0-TOF;Nb T0; Nb TOF;TS []", 100, 0, 100, 100, 0, 100); - fT0RichNb = new TH2F("fT0RichNb", "T0-RICH;Nb T0; Nb RICH;TS []", 100, 0, 100, 100, 0, 100); - fT0PsdNb = new TH2F("fT0PsdNb", "T0-PSD;Nb T0; Nb PSD;TS []", 100, 0, 100, 100, 0, 100); + fBmonStsNb = new TH2F("fBmonStsNb", "Bmon-STS;Nb Bmon; Nb STS;TS []", 100, 0, 100, 100, 0, 100); + fBmonMuchNb = new TH2F("fBmonMuchNb", "Bmon-MUCH;Nb Bmon; Nb MUCH;TS []", 100, 0, 100, 100, 0, 100); + fBmonTrdNb = new TH2F("fBmonTrdNb", "Bmon-TRD;Nb Bmon; Nb TRD;TS []", 100, 0, 100, 100, 0, 100); + fBmonTofNb = new TH2F("fBmonTofNb", "Bmon-TOF;Nb Bmon; Nb TOF;TS []", 100, 0, 100, 100, 0, 100); + fBmonRichNb = new TH2F("fBmonRichNb", "Bmon-RICH;Nb Bmon; Nb RICH;TS []", 100, 0, 100, 100, 0, 100); + fBmonPsdNb = new TH2F("fBmonPsdNb", "Bmon-PSD;Nb Bmon; Nb PSD;TS []", 100, 0, 100, 100, 0, 100); - fT0Address = new TH1F("fT0Address", "T0 address;address;Counts", 1000000, 0, 1000000.); + fBmonAddress = new TH1F("fBmonAddress", "Bmon address;address;Counts", 1000000, 0, 1000000.); - fT0Channel = new TH1F("fT0Channel", "T0 channel;channel nr;Counts", 100, -0.5, 99.5); + fBmonChannel = new TH1F("fBmonChannel", "Bmon channel;channel nr;Counts", 100, -0.5, 99.5); /// Cleanup array of log bins // delete dBinsLog; @@ -282,33 +286,33 @@ void CbmMcbm2019CheckPulser::CreateHistos() if (run) { THttpServer* server = run->GetHttpServer(); if (nullptr != server) { - server->Register("/CheckTiming", fT0StsDiff); - server->Register("/CheckTiming", fT0MuchDiff); - server->Register("/CheckTiming", fT0TrdDiff); - server->Register("/CheckTiming", fT0TofDiff); - server->Register("/CheckTiming", fT0RichDiff); - server->Register("/CheckTiming", fT0PsdDiff); - server->Register("/CheckTiming", fT0StsDiffEvo); - server->Register("/CheckTiming", fT0MuchDiffEvo); - server->Register("/CheckTiming", fT0TrdDiffEvo); - server->Register("/CheckTiming", fT0TofDiffEvo); - server->Register("/CheckTiming", fT0RichDiffEvo); - server->Register("/CheckTiming", fT0PsdDiffEvo); - server->Register("/CheckTiming", fT0StsDiffEvoLong); - server->Register("/CheckTiming", fT0MuchDiffEvoLong); - server->Register("/CheckTiming", fT0TrdDiffEvoLong); - server->Register("/CheckTiming", fT0TofDiffEvoLong); - server->Register("/CheckTiming", fT0RichDiffEvoLong); - server->Register("/CheckTiming", fT0PsdDiffEvoLong); - - server->Register("/CheckTiming", fT0StsMeanEvo); - server->Register("/CheckTiming", fT0MuchMeanEvo); - server->Register("/CheckTiming", fT0TrdMeanEvo); - server->Register("/CheckTiming", fT0TofMeanEvo); - server->Register("/CheckTiming", fT0RichMeanEvo); - server->Register("/CheckTiming", fT0PsdMeanEvo); - - server->Register("/CheckTiming", fT0T0Diff); + server->Register("/CheckTiming", fBmonStsDiff); + server->Register("/CheckTiming", fBmonMuchDiff); + server->Register("/CheckTiming", fBmonTrdDiff); + server->Register("/CheckTiming", fBmonTofDiff); + server->Register("/CheckTiming", fBmonRichDiff); + server->Register("/CheckTiming", fBmonPsdDiff); + server->Register("/CheckTiming", fBmonStsDiffEvo); + server->Register("/CheckTiming", fBmonMuchDiffEvo); + server->Register("/CheckTiming", fBmonTrdDiffEvo); + server->Register("/CheckTiming", fBmonTofDiffEvo); + server->Register("/CheckTiming", fBmonRichDiffEvo); + server->Register("/CheckTiming", fBmonPsdDiffEvo); + server->Register("/CheckTiming", fBmonStsDiffEvoLong); + server->Register("/CheckTiming", fBmonMuchDiffEvoLong); + server->Register("/CheckTiming", fBmonTrdDiffEvoLong); + server->Register("/CheckTiming", fBmonTofDiffEvoLong); + server->Register("/CheckTiming", fBmonRichDiffEvoLong); + server->Register("/CheckTiming", fBmonPsdDiffEvoLong); + + server->Register("/CheckTiming", fBmonStsMeanEvo); + server->Register("/CheckTiming", fBmonMuchMeanEvo); + server->Register("/CheckTiming", fBmonTrdMeanEvo); + server->Register("/CheckTiming", fBmonTofMeanEvo); + server->Register("/CheckTiming", fBmonRichMeanEvo); + server->Register("/CheckTiming", fBmonPsdMeanEvo); + + server->Register("/CheckTiming", fBmonBmonDiff); server->Register("/CheckTiming", fStsStsDiff); server->Register("/CheckTiming", fMuchMuchDiff); server->Register("/CheckTiming", fTrdTrdDiff); @@ -316,21 +320,21 @@ void CbmMcbm2019CheckPulser::CreateHistos() server->Register("/CheckTiming", fRichRichDiff); server->Register("/CheckTiming", fPsdPsdDiff); - server->Register("/CheckTiming", fT0StsNb); - server->Register("/CheckTiming", fT0MuchNb); - server->Register("/CheckTiming", fT0TrdNb); - server->Register("/CheckTiming", fT0TofNb); - server->Register("/CheckTiming", fT0RichNb); - server->Register("/CheckTiming", fT0PsdNb); + server->Register("/CheckTiming", fBmonStsNb); + server->Register("/CheckTiming", fBmonMuchNb); + server->Register("/CheckTiming", fBmonTrdNb); + server->Register("/CheckTiming", fBmonTofNb); + server->Register("/CheckTiming", fBmonRichNb); + server->Register("/CheckTiming", fBmonPsdNb); - server->Register("/CheckTiming", fT0StsDpbDiff); + server->Register("/CheckTiming", fBmonStsDpbDiff); for (UInt_t uStsDpb = 0; uStsDpb < kuMaxNbStsDpbs; ++uStsDpb) - server->Register("/CheckTiming/STS", fT0StsDpbDiffEvo[uStsDpb]); + server->Register("/CheckTiming/STS", fBmonStsDpbDiffEvo[uStsDpb]); - server->Register("/CheckTiming", fT0MuchRocDiff); - server->Register("/CheckTiming", fT0MuchAsicDiff); + server->Register("/CheckTiming", fBmonMuchRocDiff); + server->Register("/CheckTiming", fBmonMuchAsicDiff); for (UInt_t uMuchAsic = 0; uMuchAsic < kuMaxNbMuchAsics; ++uMuchAsic) - server->Register("/CheckTiming/MUCH", fT0MuchAsicDiffEvo[uMuchAsic]); + server->Register("/CheckTiming/MUCH", fBmonMuchAsicDiffEvo[uMuchAsic]); } } /* @@ -350,8 +354,8 @@ void CbmMcbm2019CheckPulser::CreateHistos() 5000, 0, 500000., 1000, 0., 10000. ); - fDigiTimeEvoT0 = new TH2F( "fDigiTimeEvoT0", - "Time of digi in T0 vs ts index; TS [ ]; Digi time [ ns ]", + fDigiTimeEvoBmon = new TH2F( "fDigiTimeEvoBmon", + "Time of digi in Bmon vs ts index; TS [ ]; Digi time [ ns ]", 10000, 0., 30000., 10000, 0., 300.e9 ); fDigiTimeEvoSts = new TH2F( "fDigiTimeEvoSts", @@ -387,13 +391,13 @@ void CbmMcbm2019CheckPulser::Exec(Option_t* /*option*/) CheckInterSystemOffset(); /* - Int_t nrT0Digis=fT0Digis->GetEntriesFast(); - for (Int_t iT0 = 0; iT0 < nrT0Digis; ++iT0) + Int_t nrBmonDigis=fBmonDigis->GetEntriesFast(); + for (Int_t iBmon = 0; iBmon < nrBmonDigis; ++iBmon) { - CbmDigi* T0Digi = static_cast<CbmDigi*>(fT0Digis->At(iT0)); + CbmDigi* BmonDigi = static_cast<CbmDigi*>(fBmonDigis->At(iBmon)); - Double_t T0Time = T0Digi->GetTime(); - fDigiTimeEvoT0->Fill( fNrTs, T0Time ); + Double_t T0Time = BmonDigi->GetTime(); + fDigiTimeEvoBmon->Fill( fNrTs, T0Time ); } Int_t nrStsDigis{0}; @@ -443,11 +447,11 @@ void CbmMcbm2019CheckPulser::Exec(Option_t* /*option*/) void CbmMcbm2019CheckPulser::CheckInterSystemOffset() { LOG(debug) << "Begin"; - Int_t nrT0Digis = 0; - if (fT0DigiVector) nrT0Digis = fT0DigiVector->size(); - else if (fT0DigiArray) - nrT0Digis = fT0DigiArray->GetEntriesFast(); - LOG(debug) << "T0Digis: " << nrT0Digis; + Int_t nrBmonDigis = 0; + if (fBmonDigiVector) nrBmonDigis = fBmonDigiVector->size(); + else if (fBmonDigiArray) + nrBmonDigis = fBmonDigiArray->GetEntriesFast(); + LOG(debug) << "BmonDigis: " << nrBmonDigis; Int_t nrStsDigis = fDigiMan->GetNofDigis(ECbmModuleId::kSts); Int_t nrMuchDigis = fDigiMan->GetNofDigis(ECbmModuleId::kMuch); @@ -457,10 +461,10 @@ void CbmMcbm2019CheckPulser::CheckInterSystemOffset() Int_t nrPsdDigis = fDigiMan->GetNofDigis(ECbmModuleId::kPsd); /* - if( 0 < nrT0Digis ) + if( 0 < nrBmonDigis ) { LOG(info) << "TS: " << fNrTs; - LOG(info) << "T0: " << nrT0Digis; + LOG(info) << "Bmon: " << nrBmonDigis; LOG(info) << "STS: " << nrStsDigis; LOG(info) << "MUCH: " << nrMuchDigis; LOG(info) << "TRD: " << nrTrdDigis; @@ -469,75 +473,75 @@ void CbmMcbm2019CheckPulser::CheckInterSystemOffset() LOG(info) << "PSD: " << nrPsdDigis; } */ - // if (nrT0Digis < 100000) { - if (nrT0Digis < 1000000) { + // if (nrBmonDigis < 100000) { + if (nrBmonDigis < 1000000) { /// Re-initialize array references - fPrevT0FirstDigiSts = 0.; - fPrevT0FirstDigiMuch = 0.; - fPrevT0FirstDigiTrd = 0.; - fPrevT0FirstDigiTof = 0.; - fPrevT0FirstDigiRich = 0.; - fPrevT0FirstDigiPsd = 0.; + fPrevBmonFirstDigiSts = 0.; + fPrevBmonFirstDigiMuch = 0.; + fPrevBmonFirstDigiTrd = 0.; + fPrevBmonFirstDigiTof = 0.; + fPrevBmonFirstDigiRich = 0.; + fPrevBmonFirstDigiPsd = 0.; pTsMetaData = dynamic_cast<TimesliceMetaData*>(fTimeSliceMetaDataArray->At(0)); if (nullptr == pTsMetaData) LOG(fatal) << Form("No TS metadata found for TS %6u.", fNrTs); - for (Int_t iT0 = 0; iT0 < nrT0Digis; ++iT0) { + for (Int_t iBmon = 0; iBmon < nrBmonDigis; ++iBmon) { - if (iT0 % 1000 == 0) LOG(debug) << "Executing entry " << iT0; + if (iBmon % 1000 == 0) LOG(debug) << "Executing entry " << iBmon; - const CbmTofDigi* T0Digi = nullptr; - if (fT0DigiVector) T0Digi = &(fT0DigiVector->at(iT0)); - else if (fT0DigiArray) - T0Digi = dynamic_cast<CbmTofDigi*>(fT0DigiArray->At(iT0)); - assert(T0Digi); + const CbmTofDigi* BmonDigi = nullptr; + if (fBmonDigiVector) BmonDigi = &(fBmonDigiVector->at(iBmon)); + else if (fBmonDigiArray) + BmonDigi = dynamic_cast<CbmTofDigi*>(fBmonDigiArray->At(iBmon)); + assert(BmonDigi); /// Keep only pulser Digis - if (fuMaxTotPulserT0 < T0Digi->GetCharge() || T0Digi->GetCharge() < fuMinTotPulserT0) continue; + if (fuMaxTotPulserBmon < BmonDigi->GetCharge() || BmonDigi->GetCharge() < fuMinTotPulserBmon) continue; - Double_t T0Time = T0Digi->GetTime(); - Int_t T0Address = T0Digi->GetAddress(); + Double_t T0Time = BmonDigi->GetTime(); + Int_t BmonAddress = BmonDigi->GetAddress(); /// Keep only pulser Digis - if (0x00005006 != T0Address && 0x04005006 != T0Address) continue; + if (0x00005006 != BmonAddress && 0x04005006 != BmonAddress) continue; - fiT0Nb++; + fiBmonNb++; - fT0Address->Fill(T0Address); + fBmonAddress->Fill(BmonAddress); /* - std::cout << Form( "T0 pulser in TS %5d: address 0x%08X T0 time %12.0f dt %12.0f", - fNrTs, T0Address, T0Time, T0Time - fdLastT0DigiPulser ) + std::cout << Form( "Bmon pulser in TS %5d: address 0x%08X Bmon time %12.0f dt %12.0f", + fNrTs, BmonAddress, T0Time, T0Time - fdLastBmonDigiPulser ) << std::endl; */ - fT0T0Diff->Fill(T0Time - fdLastT0DigiPulser); - fdLastT0DigiPulser = T0Time; + fBmonBmonDiff->Fill(T0Time - fdLastBmonDigiPulser); + fdLastBmonDigiPulser = T0Time; - fT0Channel->Fill(T0Digi->GetChannel()); + fBmonChannel->Fill(BmonDigi->GetChannel()); if (nrStsDigis > 0 && nrStsDigis < 1000000 && fuMinAdcPulserSts < fuMaxAdcPulserSts) - fPrevT0FirstDigiSts = - FillSystemOffsetHistos<CbmStsDigi>(fT0StsDiff, fT0StsDiffEvo, fT0StsDiffEvoLong, fT0StsMeanEvo, fT0StsDpbDiff, - T0Time, fStsOffsetRange, fPrevT0FirstDigiSts, ECbmModuleId::kSts); + fPrevBmonFirstDigiSts = FillSystemOffsetHistos<CbmStsDigi>( + fBmonStsDiff, fBmonStsDiffEvo, fBmonStsDiffEvoLong, fBmonStsMeanEvo, fBmonStsDpbDiff, T0Time, fStsOffsetRange, + fPrevBmonFirstDigiSts, ECbmModuleId::kSts); if (nrMuchDigis > 0 && nrMuchDigis < 1000000 && fuMinAdcPulserMuch < fuMaxAdcPulserMuch) - fPrevT0FirstDigiMuch = FillSystemOffsetHistos<CbmMuchBeamTimeDigi>( - fT0MuchDiff, fT0MuchDiffEvo, fT0MuchDiffEvoLong, fT0MuchMeanEvo, fT0MuchRocDiff, T0Time, fMuchOffsetRange, - fPrevT0FirstDigiMuch, ECbmModuleId::kMuch); + fPrevBmonFirstDigiMuch = FillSystemOffsetHistos<CbmMuchBeamTimeDigi>( + fBmonMuchDiff, fBmonMuchDiffEvo, fBmonMuchDiffEvoLong, fBmonMuchMeanEvo, fBmonMuchRocDiff, T0Time, + fMuchOffsetRange, fPrevBmonFirstDigiMuch, ECbmModuleId::kMuch); if (nrTrdDigis > 0 && nrTrdDigis < 1000000 && fuMinChargePulserTrd < fuMaxChargePulserTrd) - fPrevT0FirstDigiTrd = - FillSystemOffsetHistos<CbmTrdDigi>(fT0TrdDiff, fT0TrdDiffEvo, fT0TrdDiffEvoLong, fT0TrdMeanEvo, nullptr, - T0Time, fTrdOffsetRange, fPrevT0FirstDigiTrd, ECbmModuleId::kTrd); + fPrevBmonFirstDigiTrd = FillSystemOffsetHistos<CbmTrdDigi>(fBmonTrdDiff, fBmonTrdDiffEvo, fBmonTrdDiffEvoLong, + fBmonTrdMeanEvo, nullptr, T0Time, fTrdOffsetRange, + fPrevBmonFirstDigiTrd, ECbmModuleId::kTrd); if (nrTofDigis > 0 && nrTofDigis < 1000000 && fuMinTotPulserTof < fuMaxTotPulserTof) - fPrevT0FirstDigiTof = - FillSystemOffsetHistos<CbmTofDigi>(fT0TofDiff, fT0TofDiffEvo, fT0TofDiffEvoLong, fT0TofMeanEvo, nullptr, - T0Time, fTofOffsetRange, fPrevT0FirstDigiTof, ECbmModuleId::kTof); + fPrevBmonFirstDigiTof = FillSystemOffsetHistos<CbmTofDigi>(fBmonTofDiff, fBmonTofDiffEvo, fBmonTofDiffEvoLong, + fBmonTofMeanEvo, nullptr, T0Time, fTofOffsetRange, + fPrevBmonFirstDigiTof, ECbmModuleId::kTof); if (nrRichDigis > 0 && nrRichDigis < 1000000 && fuMinTotPulserRich < fuMaxTotPulserRich) - fPrevT0FirstDigiRich = - FillSystemOffsetHistos<CbmRichDigi>(fT0RichDiff, fT0RichDiffEvo, fT0RichDiffEvoLong, fT0RichMeanEvo, nullptr, - T0Time, fRichOffsetRange, fPrevT0FirstDigiRich, ECbmModuleId::kRich); + fPrevBmonFirstDigiRich = FillSystemOffsetHistos<CbmRichDigi>( + fBmonRichDiff, fBmonRichDiffEvo, fBmonRichDiffEvoLong, fBmonRichMeanEvo, nullptr, T0Time, fRichOffsetRange, + fPrevBmonFirstDigiRich, ECbmModuleId::kRich); if (nrPsdDigis > 0 && nrPsdDigis < 1000000 && fuMinAdcPulserPsd < fuMaxAdcPulserPsd) - fPrevT0FirstDigiPsd = - FillSystemOffsetHistos<CbmPsdDigi>(fT0PsdDiff, fT0PsdDiffEvo, fT0PsdDiffEvoLong, fT0PsdMeanEvo, nullptr, - T0Time, fPsdOffsetRange, fPrevT0FirstDigiPsd, ECbmModuleId::kPsd); + fPrevBmonFirstDigiPsd = FillSystemOffsetHistos<CbmPsdDigi>(fBmonPsdDiff, fBmonPsdDiffEvo, fBmonPsdDiffEvoLong, + fBmonPsdMeanEvo, nullptr, T0Time, fPsdOffsetRange, + fPrevBmonFirstDigiPsd, ECbmModuleId::kPsd); } /// Count pulser candidates for each system @@ -614,21 +618,21 @@ void CbmMcbm2019CheckPulser::CheckInterSystemOffset() fiPsdNb++; } // for( Int_t iDigi = 0; iDigi < nrPsdDigis; ++iDigi ) - fT0StsNb->Fill(fiT0Nb, fiStsNb); - fT0MuchNb->Fill(fiT0Nb, fiMuchNb); - fT0TrdNb->Fill(fiT0Nb, fiTrdNb); - fT0TofNb->Fill(fiT0Nb, fiTofNb); - fT0RichNb->Fill(fiT0Nb, fiRichNb); - fT0PsdNb->Fill(fiT0Nb, fiPsdNb); + fBmonStsNb->Fill(fiBmonNb, fiStsNb); + fBmonMuchNb->Fill(fiBmonNb, fiMuchNb); + fBmonTrdNb->Fill(fiBmonNb, fiTrdNb); + fBmonTofNb->Fill(fiBmonNb, fiTofNb); + fBmonRichNb->Fill(fiBmonNb, fiRichNb); + fBmonPsdNb->Fill(fiBmonNb, fiPsdNb); - fiT0Nb = 0; + fiBmonNb = 0; fiStsNb = 0; fiMuchNb = 0; fiTrdNb = 0; fiTofNb = 0; fiRichNb = 0; fiPsdNb = 0; - } // if (nrT0Digis < 1000000) + } // if (nrBmonDigis < 1000000) /* for (Int_t iMuch = 0; iMuch < nrMuchDigis; ++iMuch) { @@ -646,7 +650,7 @@ void CbmMcbm2019CheckPulser::CheckInterSystemOffset() if( 19132000. < dTimeSinceStart && dTimeSinceStart < 19600000 ) { -// std::cout << Form( "Much hit in TS %5d: asic %2u chan %3u T0 time %12.0f ADC %2.0f", +// std::cout << Form( "Much hit in TS %5d: asic %2u chan %3u Bmon time %12.0f ADC %2.0f", // fNrTs, uAsic, uChan, (dTimeSinceStart - 19132000), dAdc ) // << std::endl; Double_t dTimeDistLastDigi = dTimeSinceStart - fdLastMuchDigi[ uAsic ][ uChan ]; @@ -665,7 +669,7 @@ void CbmMcbm2019CheckPulser::CheckInterSystemOffset() if( 32 != uChan ) continue; - std::cout << Form( "Much pulser in TS %5d: chan %3u T0 time %12.0f ADC %2.0f dt %12.0f", + std::cout << Form( "Much pulser in TS %5d: chan %3u Bmon time %12.0f ADC %2.0f dt %12.0f", fNrTs, uChan, dTime, dAdc, dTime - fdLastMuchDigiPulser[ uAsic ][ uChan ] ) << std::endl; fdLastMuchDigiPulser[ uAsic ][ uChan ] = dTime; @@ -807,16 +811,16 @@ Int_t CbmMcbm2019CheckPulser::FillSystemOffsetHistos(TH1* histo, TH2* histoEvo, profMeanEvo->Fill(T0Time * 1e-9 - fdStartTime, diffTime); /* if (ECbmModuleId::kMuch == iDetId ) - std::cout << Form( "MUCH coinc in TS %5d: %7.2f T0 time %12.0f", fNrTs, diffTime, T0Time ) + std::cout << Form( "MUCH coinc in TS %5d: %7.2f Bmon time %12.0f", fNrTs, diffTime, T0Time ) << std::endl; */ - if (ECbmModuleId::kPsd == iDetId) fT0PsdDiffCharge->Fill(diffTime, digi->GetCharge()); + if (ECbmModuleId::kPsd == iDetId) fBmonPsdDiffCharge->Fill(diffTime, digi->GetCharge()); /// STS DPB mapping: ladder 1 is in DPB 1 if (ECbmModuleId::kSts == iDetId && histoAFCK) { UInt_t uDPB = (0 < (digi->GetAddress() & 0x00000400)); histoAFCK->Fill(uDPB, diffTime); - if (uDPB < kuMaxNbStsDpbs) fT0StsDpbDiffEvo[uDPB]->Fill(fNrTs, diffTime); + if (uDPB < kuMaxNbStsDpbs) fBmonStsDpbDiffEvo[uDPB]->Fill(fNrTs, diffTime); } // if (ECbmModuleId::kSts == iDetId && histoAFCK) /// MUCH DPB mapping @@ -834,8 +838,8 @@ Int_t CbmMcbm2019CheckPulser::FillSystemOffsetHistos(TH1* histo, TH2* histoEvo, UInt_t afck = muchDigi->GetRocId(); UInt_t asic = muchDigi->GetNxId(); histoAFCK->Fill(afck, diffTime); - fT0MuchAsicDiff->Fill(asic, diffTime); - if (asic < kuMaxNbMuchAsics) fT0MuchAsicDiffEvo[asic]->Fill(fNrTs, diffTime); + fBmonMuchAsicDiff->Fill(asic, diffTime); + if (asic < kuMaxNbMuchAsics) fBmonMuchAsicDiffEvo[asic]->Fill(fNrTs, diffTime); } // if (ECbmModuleId::kMuch == iDetId && histoAFCK) } @@ -852,36 +856,36 @@ void CbmMcbm2019CheckPulser::WriteHistos() TFile* outfile = TFile::Open(fOutFileName, "RECREATE"); - fT0StsDiff->Write(); - fT0MuchDiff->Write(); - fT0TrdDiff->Write(); - fT0TofDiff->Write(); - fT0RichDiff->Write(); - fT0PsdDiff->Write(); - fT0PsdDiffCharge->Write(); - - fT0StsDiffEvo->Write(); - fT0MuchDiffEvo->Write(); - fT0TrdDiffEvo->Write(); - fT0TofDiffEvo->Write(); - fT0RichDiffEvo->Write(); - fT0PsdDiffEvo->Write(); - - fT0StsDiffEvoLong->Write(); - fT0MuchDiffEvoLong->Write(); - fT0TrdDiffEvoLong->Write(); - fT0TofDiffEvoLong->Write(); - fT0RichDiffEvoLong->Write(); - fT0PsdDiffEvoLong->Write(); - - fT0StsMeanEvo->Write(); - fT0MuchMeanEvo->Write(); - fT0TrdMeanEvo->Write(); - fT0TofMeanEvo->Write(); - fT0RichMeanEvo->Write(); - fT0PsdMeanEvo->Write(); - - fT0T0Diff->Write(); + fBmonStsDiff->Write(); + fBmonMuchDiff->Write(); + fBmonTrdDiff->Write(); + fBmonTofDiff->Write(); + fBmonRichDiff->Write(); + fBmonPsdDiff->Write(); + fBmonPsdDiffCharge->Write(); + + fBmonStsDiffEvo->Write(); + fBmonMuchDiffEvo->Write(); + fBmonTrdDiffEvo->Write(); + fBmonTofDiffEvo->Write(); + fBmonRichDiffEvo->Write(); + fBmonPsdDiffEvo->Write(); + + fBmonStsDiffEvoLong->Write(); + fBmonMuchDiffEvoLong->Write(); + fBmonTrdDiffEvoLong->Write(); + fBmonTofDiffEvoLong->Write(); + fBmonRichDiffEvoLong->Write(); + fBmonPsdDiffEvoLong->Write(); + + fBmonStsMeanEvo->Write(); + fBmonMuchMeanEvo->Write(); + fBmonTrdMeanEvo->Write(); + fBmonTofMeanEvo->Write(); + fBmonRichMeanEvo->Write(); + fBmonPsdMeanEvo->Write(); + + fBmonBmonDiff->Write(); fStsStsDiff->Write(); fMuchMuchDiff->Write(); fTrdTrdDiff->Write(); @@ -889,35 +893,35 @@ void CbmMcbm2019CheckPulser::WriteHistos() fRichRichDiff->Write(); fPsdPsdDiff->Write(); - fT0StsNb->Write(); - fT0MuchNb->Write(); - fT0TrdNb->Write(); - fT0TofNb->Write(); - fT0RichNb->Write(); - fT0PsdNb->Write(); + fBmonStsNb->Write(); + fBmonMuchNb->Write(); + fBmonTrdNb->Write(); + fBmonTofNb->Write(); + fBmonRichNb->Write(); + fBmonPsdNb->Write(); - fT0Address->Write(); - fT0Channel->Write(); + fBmonAddress->Write(); + fBmonChannel->Write(); - fT0StsDpbDiff->Write(); + fBmonStsDpbDiff->Write(); /* for( UInt_t uStsDpb = 0; uStsDpb < kuMaxNbStsDpbs; ++uStsDpb ) { - fT0StsDpbDiffEvo[uStsDpb]->Write(); + fBmonStsDpbDiffEvo[uStsDpb]->Write(); fStsDpbCntsEvo[uStsDpb]->Write(); } */ - fT0MuchRocDiff->Write(); - fT0MuchAsicDiff->Write(); + fBmonMuchRocDiff->Write(); + fBmonMuchAsicDiff->Write(); /* for( UInt_t uMuchAsic = 0; uMuchAsic < kuMaxNbMuchAsics; ++uMuchAsic ) - fT0MuchAsicDiffEvo[uMuchAsic]->Write(); + fBmonMuchAsicDiffEvo[uMuchAsic]->Write(); */ /* fDigisPerAsicEvo->Write(); fSameChanDigisDistEvo->Write(); - fDigiTimeEvoT0 ->Write(); + fDigiTimeEvoBmon ->Write(); fDigiTimeEvoSts ->Write(); fDigiTimeEvoMuch->Write(); fDigiTimeEvoTof->Write(); diff --git a/fles/mcbm2018/tasks/CbmMcbm2019CheckPulser.h b/fles/mcbm2018/tasks/CbmMcbm2019CheckPulser.h index b1b637e94ac0d6faced7fcbdd81aa1b54ef69710..cce488306ed1170f42590fa7bf57207a0abf837f 100644 --- a/fles/mcbm2018/tasks/CbmMcbm2019CheckPulser.h +++ b/fles/mcbm2018/tasks/CbmMcbm2019CheckPulser.h @@ -71,10 +71,10 @@ public: void SetPsdOffsetSearchRange(Int_t val = 1000) { fPsdOffsetRange = val; } - inline void SetT0PulserTotLimits(UInt_t uMin, UInt_t uMax) + inline void SetBmonPulserTotLimits(UInt_t uMin, UInt_t uMax) { - fuMinTotPulserT0 = uMin; - fuMaxTotPulserT0 = uMax; + fuMinTotPulserBmon = uMin; + fuMaxTotPulserBmon = uMax; } inline void SetStsPulserAdcLimits(UInt_t uMin, UInt_t uMax) { @@ -137,8 +137,8 @@ private: /** Digi data **/ CbmDigiManager* fDigiMan = nullptr; //! - const std::vector<CbmTofDigi>* fT0DigiVector = nullptr; //! - TClonesArray* fT0DigiArray = nullptr; //! + const std::vector<CbmTofDigi>* fBmonDigiVector = nullptr; //! + TClonesArray* fBmonDigiArray = nullptr; //! TClonesArray* fTimeSliceMetaDataArray = nullptr; //! const TimesliceMetaData* pTsMetaData = nullptr; @@ -151,7 +151,7 @@ private: static const UInt_t kuMaxChannelSts = 3000; /// Variables to store the previous digi time - Double_t fPrevTimeT0 = 0.; + Double_t fPrevTimeBmon = 0.; Double_t fPrevTimeSts = 0.; Double_t fPrevTimeMuch = 0.; Double_t fPrevTimeTrd = 0.; @@ -159,19 +159,19 @@ private: Double_t fPrevTimeRich = 0.; Double_t fPrevTimePsd = 0.; - /// Variables to store the first digi fitting the previous T0 hits + /// Variables to store the first digi fitting the previous Bmon hits /// => Time-order means the time window for following one can only be in a later digi - Int_t fPrevT0FirstDigiSts = 0; - Int_t fPrevT0FirstDigiMuch = 0; - Int_t fPrevT0FirstDigiTrd = 0; - Int_t fPrevT0FirstDigiTof = 0; - Int_t fPrevT0FirstDigiRich = 0; - Int_t fPrevT0FirstDigiPsd = 0; + Int_t fPrevBmonFirstDigiSts = 0; + Int_t fPrevBmonFirstDigiMuch = 0; + Int_t fPrevBmonFirstDigiTrd = 0; + Int_t fPrevBmonFirstDigiTof = 0; + Int_t fPrevBmonFirstDigiRich = 0; + Int_t fPrevBmonFirstDigiPsd = 0; /// User settings: Data correction parameters /// Charge cut - UInt_t fuMinTotPulserT0 = 182; - UInt_t fuMaxTotPulserT0 = 190; + UInt_t fuMinTotPulserBmon = 182; + UInt_t fuMaxTotPulserBmon = 190; UInt_t fuMinAdcPulserSts = 90; UInt_t fuMaxAdcPulserSts = 100; UInt_t fuMinAdcPulserMuch = 5; @@ -207,37 +207,37 @@ private: Int_t fBinWidth = 1; - TH1* fT0StsDiff = nullptr; - TH1* fT0MuchDiff = nullptr; - TH1* fT0TrdDiff = nullptr; - TH1* fT0TofDiff = nullptr; - TH1* fT0RichDiff = nullptr; - TH1* fT0PsdDiff = nullptr; - TH2* fT0PsdDiffCharge = nullptr; - - TH2* fT0StsDiffEvo = nullptr; - TH2* fT0MuchDiffEvo = nullptr; - TH2* fT0TrdDiffEvo = nullptr; - TH2* fT0TofDiffEvo = nullptr; - TH2* fT0RichDiffEvo = nullptr; - TH2* fT0PsdDiffEvo = nullptr; - - TH2* fT0StsDiffEvoLong = nullptr; - TH2* fT0MuchDiffEvoLong = nullptr; - TH2* fT0TrdDiffEvoLong = nullptr; - TH2* fT0TofDiffEvoLong = nullptr; - TH2* fT0RichDiffEvoLong = nullptr; - TH2* fT0PsdDiffEvoLong = nullptr; + TH1* fBmonStsDiff = nullptr; + TH1* fBmonMuchDiff = nullptr; + TH1* fBmonTrdDiff = nullptr; + TH1* fBmonTofDiff = nullptr; + TH1* fBmonRichDiff = nullptr; + TH1* fBmonPsdDiff = nullptr; + TH2* fBmonPsdDiffCharge = nullptr; + + TH2* fBmonStsDiffEvo = nullptr; + TH2* fBmonMuchDiffEvo = nullptr; + TH2* fBmonTrdDiffEvo = nullptr; + TH2* fBmonTofDiffEvo = nullptr; + TH2* fBmonRichDiffEvo = nullptr; + TH2* fBmonPsdDiffEvo = nullptr; + + TH2* fBmonStsDiffEvoLong = nullptr; + TH2* fBmonMuchDiffEvoLong = nullptr; + TH2* fBmonTrdDiffEvoLong = nullptr; + TH2* fBmonTofDiffEvoLong = nullptr; + TH2* fBmonRichDiffEvoLong = nullptr; + TH2* fBmonPsdDiffEvoLong = nullptr; Double_t fdStartTime = -1; - TProfile* fT0StsMeanEvo = nullptr; - TProfile* fT0MuchMeanEvo = nullptr; - TProfile* fT0TrdMeanEvo = nullptr; - TProfile* fT0TofMeanEvo = nullptr; - TProfile* fT0RichMeanEvo = nullptr; - TProfile* fT0PsdMeanEvo = nullptr; - - TH1* fT0T0Diff = nullptr; + TProfile* fBmonStsMeanEvo = nullptr; + TProfile* fBmonMuchMeanEvo = nullptr; + TProfile* fBmonTrdMeanEvo = nullptr; + TProfile* fBmonTofMeanEvo = nullptr; + TProfile* fBmonRichMeanEvo = nullptr; + TProfile* fBmonPsdMeanEvo = nullptr; + + TH1* fBmonBmonDiff = nullptr; TH1* fStsStsDiff = nullptr; TH1* fMuchMuchDiff = nullptr; TH1* fTrdTrdDiff = nullptr; @@ -245,14 +245,14 @@ private: TH1* fRichRichDiff = nullptr; TH1* fPsdPsdDiff = nullptr; - TH2* fT0StsNb = nullptr; - TH2* fT0MuchNb = nullptr; - TH2* fT0TrdNb = nullptr; - TH2* fT0TofNb = nullptr; - TH2* fT0RichNb = nullptr; - TH2* fT0PsdNb = nullptr; + TH2* fBmonStsNb = nullptr; + TH2* fBmonMuchNb = nullptr; + TH2* fBmonTrdNb = nullptr; + TH2* fBmonTofNb = nullptr; + TH2* fBmonRichNb = nullptr; + TH2* fBmonPsdNb = nullptr; - Int_t fiT0Nb = 0; + Int_t fiBmonNb = 0; Int_t fiStsNb = 0; Int_t fiMuchNb = 0; Int_t fiTrdNb = 0; @@ -260,25 +260,25 @@ private: Int_t fiRichNb = 0; Int_t fiPsdNb = 0; - TH1* fT0Address = nullptr; - TH1* fT0Channel = nullptr; + TH1* fBmonAddress = nullptr; + TH1* fBmonChannel = nullptr; - TH2* fT0StsDpbDiff = nullptr; - TH2* fT0StsDpbDiffEvo[kuMaxNbStsDpbs]; + TH2* fBmonStsDpbDiff = nullptr; + TH2* fBmonStsDpbDiffEvo[kuMaxNbStsDpbs]; TH1* fStsDpbCntsEvo[kuMaxNbStsDpbs]; - TH2* fT0MuchRocDiff = nullptr; - TH2* fT0MuchAsicDiff = nullptr; - TH2* fT0MuchAsicDiffEvo[kuMaxNbMuchAsics]; + TH2* fBmonMuchRocDiff = nullptr; + TH2* fBmonMuchAsicDiff = nullptr; + TH2* fBmonMuchAsicDiffEvo[kuMaxNbMuchAsics]; TH2* fDigisPerAsicEvo = nullptr; Double_t fdLastMuchDigi[kuMaxNbMuchAsics][kuNbChanSMX]; Double_t fdLastMuchDigiPulser[kuMaxNbMuchAsics][kuNbChanSMX]; TH2* fSameChanDigisDistEvo = nullptr; - Double_t fdLastT0DigiPulser = 0; + Double_t fdLastBmonDigiPulser = 0; - TH2* fDigiTimeEvoT0 = nullptr; + TH2* fDigiTimeEvoBmon = nullptr; TH2* fDigiTimeEvoSts = nullptr; TH2* fDigiTimeEvoMuch = nullptr; TH2* fDigiTimeEvoTof = nullptr; diff --git a/fles/mcbm2018/tasks/CbmMcbm2019CheckTimingPairs.cxx b/fles/mcbm2018/tasks/CbmMcbm2019CheckTimingPairs.cxx index 278f1ff6847db953b35e9eea104aa1d1b48b3b03..7df847415600f92a81e32da53d1caffb831d9825 100644 --- a/fles/mcbm2018/tasks/CbmMcbm2019CheckTimingPairs.cxx +++ b/fles/mcbm2018/tasks/CbmMcbm2019CheckTimingPairs.cxx @@ -56,16 +56,16 @@ InitStatus CbmMcbm2019CheckTimingPairs::Init() fDigiMan->UseMuchBeamTimeDigi(); fDigiMan->Init(); - // T0 is not included in DigiManager; have to take care here + // Bmon is not included in DigiManager; have to take care here // Try to find a vector branch for the digi - fT0DigiVector = ioman->InitObjectAs<std::vector<CbmTofDigi> const*>("T0Digi"); - if (!fT0DigiVector) { - LOG(info) << "No T0 digi vector found; trying TClonesArray"; + fBmonDigiVector = ioman->InitObjectAs<std::vector<CbmTofDigi> const*>("BmonDigi"); + if (!fBmonDigiVector) { + LOG(info) << "No Bmon digi vector found; trying TClonesArray"; if (std::is_convertible<TObject*, CbmTofDigi*>::value) { - fT0DigiArray = dynamic_cast<TClonesArray*>(ioman->GetObject("T0Digi")); - if (!fT0DigiArray) LOG(info) << "No T0 digi input found."; + fBmonDigiArray = dynamic_cast<TClonesArray*>(ioman->GetObject("BmonDigi")); + if (!fBmonDigiArray) LOG(info) << "No Bmon digi input found."; } //? CbmTofDigi derives from TObject - } //? No vector for T0 digis + } //? No vector for Bmon digis if (!fDigiMan->IsPresent(ECbmModuleId::kSts)) { LOG(info) << "No STS digi input found."; } @@ -99,7 +99,7 @@ void CbmMcbm2019CheckTimingPairs::CreateHistos() for (UInt_t uDetA = 0; uDetA < fvsDetectors.size(); ++uDetA) { for (UInt_t uDetB = uDetA; uDetB < fvsDetectors.size(); ++uDetB) { std::string sName = Form("hDt%s_Vs_%s", fvsDetectors[uDetA].c_str(), fvsDetectors[uDetB].c_str()); - std::string sTitle = Form("Time diff to T0 for %s VS for %s; Dt %s [ns]; " + std::string sTitle = Form("Time diff to Bmon for %s VS for %s; Dt %s [ns]; " "dT %s [ns]; Possible pairs []", fvsDetectors[uDetA].c_str(), fvsDetectors[uDetB].c_str(), fvsDetectors[uDetA].c_str(), fvsDetectors[uDetB].c_str()); @@ -130,11 +130,11 @@ void CbmMcbm2019CheckTimingPairs::Exec(Option_t* /*option*/) if (0 < fNrTs && 0 == fNrTs % 1000) LOG(info) << Form("Processing TS %6d", fNrTs); - /// Fill buffers of hits in correlation to T0 - UInt_t uNbT0Digis = 0; - if (fT0DigiVector) uNbT0Digis = fT0DigiVector->size(); - else if (fT0DigiArray) - uNbT0Digis = fT0DigiArray->GetEntriesFast(); + /// Fill buffers of hits in correlation to Bmon + UInt_t uNbBmonDigis = 0; + if (fBmonDigiVector) uNbBmonDigis = fBmonDigiVector->size(); + else if (fBmonDigiArray) + uNbBmonDigis = fBmonDigiArray->GetEntriesFast(); /* UInt_t uNbStsDigis = fDigiMan->GetNofDigis(ECbmModuleId::kSts); @@ -145,16 +145,16 @@ void CbmMcbm2019CheckTimingPairs::Exec(Option_t* /*option*/) UInt_t uNbPsdDigis = fDigiMan->GetNofDigis(ECbmModuleId::kPsd); */ - fuNbDigisWithCoincT0 = 0; - for (UInt_t uT0Digi = 0; uT0Digi < uNbT0Digis; ++uT0Digi) { - const CbmTofDigi* pDigiT0 = nullptr; - if (fT0DigiVector) pDigiT0 = &(fT0DigiVector->at(uT0Digi)); - else if (fT0DigiArray) - pDigiT0 = dynamic_cast<CbmTofDigi*>(fT0DigiArray->At(uT0Digi)); - assert(pDigiT0); + fuNbDigisWithCoincBmon = 0; + for (UInt_t uBmonDigi = 0; uBmonDigi < uNbBmonDigis; ++uBmonDigi) { + const CbmTofDigi* pDigiBmon = nullptr; + if (fBmonDigiVector) pDigiBmon = &(fBmonDigiVector->at(uBmonDigi)); + else if (fBmonDigiArray) + pDigiBmon = dynamic_cast<CbmTofDigi*>(fBmonDigiArray->At(uBmonDigi)); + assert(pDigiBmon); - // UInt_t uChannel = pDigiT0->GetChannel(); - Double_t dTimeT0 = pDigiT0->GetTime(); + // UInt_t uChannel = pDigiBmon->GetChannel(); + Double_t dTimeBmon = pDigiBmon->GetTime(); fuNbCoincDigisSts = 0; fuNbCoincDigisMuch = 0; @@ -164,38 +164,40 @@ void CbmMcbm2019CheckTimingPairs::Exec(Option_t* /*option*/) fuNbCoincDigisPsd = 0; for (UInt_t uIndexDet = 0; uIndexDet < fvsDetectors.size(); ++uIndexDet) { if ("STS" == fvsDetectors[uIndexDet]) { - fvuPrevT0FirstDigiDet[uIndexDet] = FillCorrBuffer<CbmStsDigi>( - dTimeT0, fvuPrevT0FirstDigiDet[uIndexDet], -fdStsTimeWin, fdStsTimeWin, fvDigisSts, ECbmModuleId::kSts); + fvuPrevBmonFirstDigiDet[uIndexDet] = FillCorrBuffer<CbmStsDigi>( + dTimeBmon, fvuPrevBmonFirstDigiDet[uIndexDet], -fdStsTimeWin, fdStsTimeWin, fvDigisSts, ECbmModuleId::kSts); } // if( "STS" == fvsDetectors[ uIndexDet ] ) else if ("MUCH" == fvsDetectors[uIndexDet]) { - fvuPrevT0FirstDigiDet[uIndexDet] = FillCorrBuffer<CbmMuchBeamTimeDigi>( - dTimeT0, fvuPrevT0FirstDigiDet[uIndexDet], -fdMuchTimeWin, fdMuchTimeWin, fvDigisMuch, ECbmModuleId::kMuch); + fvuPrevBmonFirstDigiDet[uIndexDet] = + FillCorrBuffer<CbmMuchBeamTimeDigi>(dTimeBmon, fvuPrevBmonFirstDigiDet[uIndexDet], -fdMuchTimeWin, + fdMuchTimeWin, fvDigisMuch, ECbmModuleId::kMuch); } // else if( "MUCH" == fvsDetectors[ uIndexDet ] ) else if ("TRD" == fvsDetectors[uIndexDet]) { - fvuPrevT0FirstDigiDet[uIndexDet] = FillCorrBuffer<CbmTrdDigi>( - dTimeT0, fvuPrevT0FirstDigiDet[uIndexDet], -fdTrdTimeWin, fdTrdTimeWin, fvDigisTrd, ECbmModuleId::kTrd); + fvuPrevBmonFirstDigiDet[uIndexDet] = FillCorrBuffer<CbmTrdDigi>( + dTimeBmon, fvuPrevBmonFirstDigiDet[uIndexDet], -fdTrdTimeWin, fdTrdTimeWin, fvDigisTrd, ECbmModuleId::kTrd); } // else if( "TRD" == fvsDetectors[ uIndexDet ] ) else if ("TOF" == fvsDetectors[uIndexDet]) { - fvuPrevT0FirstDigiDet[uIndexDet] = FillCorrBuffer<CbmTofDigi>( - dTimeT0, fvuPrevT0FirstDigiDet[uIndexDet], -fdTofTimeWin, fdTofTimeWin, fvDigisTof, ECbmModuleId::kTof); + fvuPrevBmonFirstDigiDet[uIndexDet] = FillCorrBuffer<CbmTofDigi>( + dTimeBmon, fvuPrevBmonFirstDigiDet[uIndexDet], -fdTofTimeWin, fdTofTimeWin, fvDigisTof, ECbmModuleId::kTof); } // else if( "TOF" == fvsDetectors[ uIndexDet ] ) else if ("RICH" == fvsDetectors[uIndexDet]) { - fvuPrevT0FirstDigiDet[uIndexDet] = FillCorrBuffer<CbmRichDigi>( - dTimeT0, fvuPrevT0FirstDigiDet[uIndexDet], -fdRichTimeWin, fdRichTimeWin, fvDigisRich, ECbmModuleId::kRich); + fvuPrevBmonFirstDigiDet[uIndexDet] = + FillCorrBuffer<CbmRichDigi>(dTimeBmon, fvuPrevBmonFirstDigiDet[uIndexDet], -fdRichTimeWin, fdRichTimeWin, + fvDigisRich, ECbmModuleId::kRich); } // else if( "RICH" == fvsDetectors[ uIndexDet ] ) else if ("PSD" == fvsDetectors[uIndexDet]) { - fvuPrevT0FirstDigiDet[uIndexDet] = FillCorrBuffer<CbmPsdDigi>( - dTimeT0, fvuPrevT0FirstDigiDet[uIndexDet], -fdPsdTimeWin, fdPsdTimeWin, fvDigisPsd, ECbmModuleId::kPsd); + fvuPrevBmonFirstDigiDet[uIndexDet] = FillCorrBuffer<CbmPsdDigi>( + dTimeBmon, fvuPrevBmonFirstDigiDet[uIndexDet], -fdPsdTimeWin, fdPsdTimeWin, fvDigisPsd, ECbmModuleId::kPsd); } // else if( "PSD" == fvsDetectors[ uIndexDet ] ) else LOG(fatal) << "CbmMcbm2019CheckTimingPairs => Unknown detector"; } // for( UInt_t uIndexDet = 0; uIndexDet < fvsDetectors.size(); ++uIndexDet ) - /// Store also the T0 Hit if any STS or MUCH coincidence + /// Store also the Bmon Hit if any STS or MUCH coincidence if (0 < fuNbCoincDigisSts || 0 < fuNbCoincDigisMuch || 0 < fuNbCoincDigisTrd || 0 < fuNbCoincDigisTof || 0 < fuNbCoincDigisRich || 0 < fuNbCoincDigisPsd) { - fvDigisT0.push_back(*pDigiT0); - ++fuNbDigisWithCoincT0; + fvDigisBmon.push_back(*pDigiBmon); + ++fuNbDigisWithCoincBmon; /// Make sure we keep both vector in sync at the same size if (0 == fuNbCoincDigisSts) fvDigisSts.push_back(std::vector<CbmStsDigi>()); @@ -205,30 +207,30 @@ void CbmMcbm2019CheckTimingPairs::Exec(Option_t* /*option*/) if (0 == fuNbCoincDigisRich) fvDigisRich.push_back(std::vector<CbmRichDigi>()); if (0 == fuNbCoincDigisPsd) fvDigisPsd.push_back(std::vector<CbmPsdDigi>()); } // if( 0 < uNbCoincDigisSts || 0 < uNbCoincDigisMuch ) - } // for( UInt_t uT0Digi = 0; uT0Digi < uNbT0Digis; ++uT0Digi ) + } // for( UInt_t uBmonDigi = 0; uBmonDigi < uNbBmonDigis; ++uBmonDigi ) /// Fill plots from buffers f correlated hits - for (UInt_t uIndexT0 = 0; uIndexT0 < fvDigisT0.size(); ++uIndexT0) { + for (UInt_t uIndexBmon = 0; uIndexBmon < fvDigisBmon.size(); ++uIndexBmon) { UInt_t uHistoIdx = 0; for (UInt_t uIndexDetA = 0; uIndexDetA < fvsDetectors.size(); ++uIndexDetA) { for (UInt_t uIndexDetB = uIndexDetA; uIndexDetB < fvsDetectors.size(); ++uIndexDetB) { if ("STS" == fvsDetectors[uIndexDetA]) { - FillHistosInter<CbmStsDigi>(uIndexT0, uIndexDetA, uIndexDetB, fvDigisSts[uIndexT0], uHistoIdx); + FillHistosInter<CbmStsDigi>(uIndexBmon, uIndexDetA, uIndexDetB, fvDigisSts[uIndexBmon], uHistoIdx); } // if( "STS" == fvsDetectors[ uIndexDetA ] ) else if ("MUCH" == fvsDetectors[uIndexDetA]) { - FillHistosInter<CbmMuchBeamTimeDigi>(uIndexT0, uIndexDetA, uIndexDetB, fvDigisMuch[uIndexT0], uHistoIdx); + FillHistosInter<CbmMuchBeamTimeDigi>(uIndexBmon, uIndexDetA, uIndexDetB, fvDigisMuch[uIndexBmon], uHistoIdx); } // else if( "MUCH" == fvsDetectors[ uIndexDetA ] ) else if ("TRD" == fvsDetectors[uIndexDetA]) { - FillHistosInter<CbmTrdDigi>(uIndexT0, uIndexDetA, uIndexDetB, fvDigisTrd[uIndexT0], uHistoIdx); + FillHistosInter<CbmTrdDigi>(uIndexBmon, uIndexDetA, uIndexDetB, fvDigisTrd[uIndexBmon], uHistoIdx); } // else if( "TRD" == fvsDetectors[ uIndexDetA ] ) else if ("TOF" == fvsDetectors[uIndexDetA]) { - FillHistosInter<CbmTofDigi>(uIndexT0, uIndexDetA, uIndexDetB, fvDigisTof[uIndexT0], uHistoIdx); + FillHistosInter<CbmTofDigi>(uIndexBmon, uIndexDetA, uIndexDetB, fvDigisTof[uIndexBmon], uHistoIdx); } // else if( "TOF" == fvsDetectors[ uIndexDetA ] ) else if ("RICH" == fvsDetectors[uIndexDetA]) { - FillHistosInter<CbmRichDigi>(uIndexT0, uIndexDetA, uIndexDetB, fvDigisRich[uIndexT0], uHistoIdx); + FillHistosInter<CbmRichDigi>(uIndexBmon, uIndexDetA, uIndexDetB, fvDigisRich[uIndexBmon], uHistoIdx); } // else if( "RICH" == fvsDetectors[ uIndexDetA ] ) else if ("PSD" == fvsDetectors[uIndexDetA]) { - FillHistosInter<CbmPsdDigi>(uIndexT0, uIndexDetA, uIndexDetB, fvDigisPsd[uIndexT0], uHistoIdx); + FillHistosInter<CbmPsdDigi>(uIndexBmon, uIndexDetA, uIndexDetB, fvDigisPsd[uIndexBmon], uHistoIdx); } // else if( "PSD" == fvsDetectors[ uIndexDetA ] ) else LOG(fatal) << "CbmMcbm2019CheckTimingPairs => Unknown detector"; @@ -238,15 +240,15 @@ void CbmMcbm2019CheckTimingPairs::Exec(Option_t* /*option*/) } // for( UInt_t uIndexDetA = 0; uIndexDetA < fvsDetectors.size(); ++uIndexDetA ) /// Cleanup buffers - fvDigisSts[uIndexT0].clear(); - fvDigisMuch[uIndexT0].clear(); - fvDigisTrd[uIndexT0].clear(); - fvDigisTof[uIndexT0].clear(); - fvDigisRich[uIndexT0].clear(); - fvDigisPsd[uIndexT0].clear(); - } // for( UInt_t uIndexT0 = 0; uIndexT0 < fvDigisT0.size(); ++uIndexT0 ) + fvDigisSts[uIndexBmon].clear(); + fvDigisMuch[uIndexBmon].clear(); + fvDigisTrd[uIndexBmon].clear(); + fvDigisTof[uIndexBmon].clear(); + fvDigisRich[uIndexBmon].clear(); + fvDigisPsd[uIndexBmon].clear(); + } // for( UInt_t uIndexBmon = 0; uIndexBmon < fvDigisBmon.size(); ++uIndexBmon ) /// Cleanup buffers - fvDigisT0.clear(); + fvDigisBmon.clear(); fvDigisSts.clear(); fvDigisMuch.clear(); fvDigisTrd.clear(); @@ -260,7 +262,7 @@ void CbmMcbm2019CheckTimingPairs::Exec(Option_t* /*option*/) } template<class Digi> -UInt_t CbmMcbm2019CheckTimingPairs::FillCorrBuffer(Double_t dTimeT0, UInt_t uIndexStart, Double_t dWinStartTime, +UInt_t CbmMcbm2019CheckTimingPairs::FillCorrBuffer(Double_t dTimeBmon, UInt_t uIndexStart, Double_t dWinStartTime, Double_t dWinStopTime, std::vector<std::vector<Digi>>& vDigi, ECbmModuleId iDetId) { @@ -272,7 +274,7 @@ UInt_t CbmMcbm2019CheckTimingPairs::FillCorrBuffer(Double_t dTimeT0, UInt_t uInd const Digi* digi = fDigiMan->Get<Digi>(iDigi); Double_t dTimeDet = digi->GetTime(); - Double_t dTimeDiff = dTimeDet - dTimeT0; + Double_t dTimeDiff = dTimeDet - dTimeBmon; if (dTimeDiff < dWinStartTime) { uFirstDigiInWin = iDigi; @@ -305,7 +307,7 @@ UInt_t CbmMcbm2019CheckTimingPairs::FillCorrBuffer(Double_t dTimeT0, UInt_t uInd /// Concidence candidate, store it! if (0 == fuNbCoincDigisSts) vDigi.push_back(std::vector<Digi>()); - vDigi[fuNbDigisWithCoincT0].push_back((*digi)); + vDigi[fuNbDigisWithCoincBmon].push_back((*digi)); ++fuNbCoincDigisSts; break; @@ -332,7 +334,7 @@ UInt_t CbmMcbm2019CheckTimingPairs::FillCorrBuffer(Double_t dTimeT0, UInt_t uInd /// Concidence candidate, store it! if (0 == fuNbCoincDigisMuch) vDigi.push_back(std::vector<Digi>()); - vDigi[fuNbDigisWithCoincT0].push_back((*digi)); + vDigi[fuNbDigisWithCoincBmon].push_back((*digi)); ++fuNbCoincDigisMuch; break; @@ -352,7 +354,7 @@ UInt_t CbmMcbm2019CheckTimingPairs::FillCorrBuffer(Double_t dTimeT0, UInt_t uInd /// Concidence candidate, store it! if (0 == fuNbCoincDigisTrd) vDigi.push_back(std::vector<Digi>()); - vDigi[fuNbDigisWithCoincT0].push_back((*digi)); + vDigi[fuNbDigisWithCoincBmon].push_back((*digi)); ++fuNbCoincDigisTrd; break; @@ -365,7 +367,7 @@ UInt_t CbmMcbm2019CheckTimingPairs::FillCorrBuffer(Double_t dTimeT0, UInt_t uInd /// Concidence candidate, store it! if (0 == fuNbCoincDigisTof) vDigi.push_back(std::vector<Digi>()); - vDigi[fuNbDigisWithCoincT0].push_back((*digi)); + vDigi[fuNbDigisWithCoincBmon].push_back((*digi)); ++fuNbCoincDigisTof; break; @@ -378,7 +380,7 @@ UInt_t CbmMcbm2019CheckTimingPairs::FillCorrBuffer(Double_t dTimeT0, UInt_t uInd /// Concidence candidate, store it! if (0 == fuNbCoincDigisRich) vDigi.push_back(std::vector<Digi>()); - vDigi[fuNbDigisWithCoincT0].push_back((*digi)); + vDigi[fuNbDigisWithCoincBmon].push_back((*digi)); ++fuNbCoincDigisRich; break; @@ -397,7 +399,7 @@ UInt_t CbmMcbm2019CheckTimingPairs::FillCorrBuffer(Double_t dTimeT0, UInt_t uInd /// Concidence candidate, store it! if (0 == fuNbCoincDigisPsd) vDigi.push_back(std::vector<Digi>()); - vDigi[fuNbDigisWithCoincT0].push_back((*digi)); + vDigi[fuNbDigisWithCoincBmon].push_back((*digi)); ++fuNbCoincDigisPsd; break; @@ -410,37 +412,37 @@ UInt_t CbmMcbm2019CheckTimingPairs::FillCorrBuffer(Double_t dTimeT0, UInt_t uInd } template<class DigiA> -void CbmMcbm2019CheckTimingPairs::FillHistosInter(UInt_t uIndexT0, UInt_t uIndexDetA, UInt_t uIndexDetB, +void CbmMcbm2019CheckTimingPairs::FillHistosInter(UInt_t uIndexBmon, UInt_t uIndexDetA, UInt_t uIndexDetB, std::vector<DigiA>& vCorrDigA, UInt_t uHistoIdx) { if ("STS" == fvsDetectors[uIndexDetB]) { - FillHistos<DigiA, CbmStsDigi>(uIndexT0, uIndexDetA, uIndexDetB, vCorrDigA, fvDigisSts[uIndexT0], uHistoIdx); + FillHistos<DigiA, CbmStsDigi>(uIndexBmon, uIndexDetA, uIndexDetB, vCorrDigA, fvDigisSts[uIndexBmon], uHistoIdx); } // if( "STS" == fvsDetectors[ uIndexDetB ] ) else if ("MUCH" == fvsDetectors[uIndexDetB]) { - FillHistos<DigiA, CbmMuchBeamTimeDigi>(uIndexT0, uIndexDetA, uIndexDetB, vCorrDigA, fvDigisMuch[uIndexT0], + FillHistos<DigiA, CbmMuchBeamTimeDigi>(uIndexBmon, uIndexDetA, uIndexDetB, vCorrDigA, fvDigisMuch[uIndexBmon], uHistoIdx); } // else if( "MUCH" == fvsDetectors[ uIndexDetB ] ) else if ("TRD" == fvsDetectors[uIndexDetB]) { - FillHistos<DigiA, CbmTrdDigi>(uIndexT0, uIndexDetA, uIndexDetB, vCorrDigA, fvDigisTrd[uIndexT0], uHistoIdx); + FillHistos<DigiA, CbmTrdDigi>(uIndexBmon, uIndexDetA, uIndexDetB, vCorrDigA, fvDigisTrd[uIndexBmon], uHistoIdx); } // else if( "TRD" == fvsDetectors[ uIndexDetB ] ) else if ("TOF" == fvsDetectors[uIndexDetB]) { - FillHistos<DigiA, CbmTofDigi>(uIndexT0, uIndexDetA, uIndexDetB, vCorrDigA, fvDigisTof[uIndexT0], uHistoIdx); + FillHistos<DigiA, CbmTofDigi>(uIndexBmon, uIndexDetA, uIndexDetB, vCorrDigA, fvDigisTof[uIndexBmon], uHistoIdx); } // else if( "TOF" == fvsDetectors[ uIndexDetB ] ) else if ("RICH" == fvsDetectors[uIndexDetB]) { - FillHistos<DigiA, CbmRichDigi>(uIndexT0, uIndexDetA, uIndexDetB, vCorrDigA, fvDigisRich[uIndexT0], uHistoIdx); + FillHistos<DigiA, CbmRichDigi>(uIndexBmon, uIndexDetA, uIndexDetB, vCorrDigA, fvDigisRich[uIndexBmon], uHistoIdx); } // else if( "RICH" == fvsDetectors[ uIndexDetB ] ) else if ("PSD" == fvsDetectors[uIndexDetB]) { - FillHistos<DigiA, CbmPsdDigi>(uIndexT0, uIndexDetA, uIndexDetB, vCorrDigA, fvDigisPsd[uIndexT0], uHistoIdx); + FillHistos<DigiA, CbmPsdDigi>(uIndexBmon, uIndexDetA, uIndexDetB, vCorrDigA, fvDigisPsd[uIndexBmon], uHistoIdx); } // else if( "PSD" == fvsDetectors[ uIndexDetB ] ) else LOG(fatal) << "CbmMcbm2019CheckTimingPairs => Unknown detector"; } template<class DigiA, class DigiB> -void CbmMcbm2019CheckTimingPairs::FillHistos(UInt_t uIndexT0, UInt_t /*uIndexDetA*/, UInt_t /*uIndexDetB*/, +void CbmMcbm2019CheckTimingPairs::FillHistos(UInt_t uIndexBmon, UInt_t /*uIndexDetA*/, UInt_t /*uIndexDetB*/, std::vector<DigiA>& vCorrDigA, std::vector<DigiB>& vCorrDigB, UInt_t uHistoIdx) { - Double_t dTimeT0 = fvDigisT0[uIndexT0].GetTime(); + Double_t dTimeBmon = fvDigisBmon[uIndexBmon].GetTime(); /* std::vector< DigiA > vCorrDigA; std::vector< DigiB > vCorrDigB; @@ -448,63 +450,63 @@ void CbmMcbm2019CheckTimingPairs::FillHistos(UInt_t uIndexT0, UInt_t /*uIndexDet /// Get detector A if( "STS" == fvsDetectors[ uIndexDetA ] ) { - vCorrDigA = fvDigisSts[ uIndexT0 ]; + vCorrDigA = fvDigisSts[ uIndexBmon ]; } // if( "STS" == fvsDetectors[ uIndexDetA ] ) else if( "MUCH" == fvsDetectors[ uIndexDetA ] ) { - vCorrDigA = fvDigisMuch[ uIndexT0 ]; + vCorrDigA = fvDigisMuch[ uIndexBmon ]; } // else if( "MUCH" == fvsDetectors[ uIndexDetA ] ) else if( "TRD" == fvsDetectors[ uIndexDetA ] ) { - vCorrDigA = fvDigisTrd[ uIndexT0 ]; + vCorrDigA = fvDigisTrd[ uIndexBmon ]; } // else if( "TRD" == fvsDetectors[ uIndexDetA ] ) else if( "TOF" == fvsDetectors[ uIndexDetA ] ) { - vCorrDigA = fvDigisTof[ uIndexT0 ]; + vCorrDigA = fvDigisTof[ uIndexBmon ]; } // else if( "TOF" == fvsDetectors[ uIndexDetA ] ) else if( "RICH" == fvsDetectors[ uIndexDetA ] ) { - vCorrDigA = fvDigisRich[ uIndexT0 ]; + vCorrDigA = fvDigisRich[ uIndexBmon ]; } // else if( "RICH" == fvsDetectors[ uIndexDetA ] ) else if( "PSD" == fvsDetectors[ uIndexDetA ] ) { - vCorrDigA = fvDigisPsd[ uIndexT0 ]; + vCorrDigA = fvDigisPsd[ uIndexBmon ]; } // else if( "PSD" == fvsDetectors[ uIndexDetA ] ) else LOG( fatal ) << "CbmMcbm2019CheckTimingPairs => Unknown detector"; if( "STS" == fvsDetectors[ uIndexDetB ] ) { - vCorrDigB = fvDigisSts[ uIndexT0 ]; + vCorrDigB = fvDigisSts[ uIndexBmon ]; } // if( "STS" == fvsDetectors[ uIndexDetB ] ) else if( "MUCH" == fvsDetectors[ uIndexDetB ] ) { - vCorrDigB = fvDigisMuch[ uIndexT0 ]; + vCorrDigB = fvDigisMuch[ uIndexBmon ]; } // else if( "MUCH" == fvsDetectors[ uIndexDetB ] ) else if( "TRD" == fvsDetectors[ uIndexDetB ] ) { - vCorrDigB = fvDigisTrd[ uIndexT0 ]; + vCorrDigB = fvDigisTrd[ uIndexBmon ]; } // else if( "TRD" == fvsDetectors[ uIndexDetB ] ) else if( "TOF" == fvsDetectors[ uIndexDetB ] ) { - vCorrDigB = fvDigisTof[ uIndexT0 ]; + vCorrDigB = fvDigisTof[ uIndexBmon ]; } // else if( "TOF" == fvsDetectors[ uIndexDetB ] ) else if( "RICH" == fvsDetectors[ uIndexDetB ] ) { - vCorrDigB = fvDigisRich[ uIndexT0 ]; + vCorrDigB = fvDigisRich[ uIndexBmon ]; } // else if( "RICH" == fvsDetectors[ uIndexDetB ] ) else if( "PSD" == fvsDetectors[ uIndexDetB ] ) { - vCorrDigB = fvDigisPsd[ uIndexT0 ]; + vCorrDigB = fvDigisPsd[ uIndexBmon ]; } // else if( "PSD" == fvsDetectors[ uIndexDetB ] ) else LOG( fatal ) << "CbmMcbm2019CheckTimingPairs => Unknown detector"; */ for (UInt_t uIdxDetA = 0; uIdxDetA < vCorrDigA.size(); ++uIdxDetA) { Double_t dTimeDetA = vCorrDigA[uIdxDetA].GetTime(); - Double_t dDtDetA = dTimeDetA - dTimeT0; + Double_t dDtDetA = dTimeDetA - dTimeBmon; for (UInt_t uIdxDetB = 0; uIdxDetB < vCorrDigB.size(); ++uIdxDetB) { Double_t dTimeDetB = vCorrDigB[uIdxDetB].GetTime(); - Double_t dDtDetB = dTimeDetB - dTimeT0; + Double_t dDtDetB = dTimeDetB - dTimeBmon; fhDtADtB[uHistoIdx]->Fill(dDtDetA, dDtDetB); } // for( UInt_t uIdxDetB = 0; uIdxDetB < vCoincDigisDetB[ uEvent ].size(); ++vCoincDigisDetB ) diff --git a/fles/mcbm2018/tasks/CbmMcbm2019CheckTimingPairs.h b/fles/mcbm2018/tasks/CbmMcbm2019CheckTimingPairs.h index ac85b3d631ec083bdb6759d4531cc53151f0982d..cbb7278b0bb185dad07d2ebf99bb11d5b62e5e07 100644 --- a/fles/mcbm2018/tasks/CbmMcbm2019CheckTimingPairs.h +++ b/fles/mcbm2018/tasks/CbmMcbm2019CheckTimingPairs.h @@ -74,10 +74,10 @@ public: void SetPsdOffsetSearchRange(Double_t val = 1000) { fdPsdTimeWin = val; } - inline void SetT0PulserTotLimits(UInt_t uMin, UInt_t uMax) + inline void SetBmonPulserTotLimits(UInt_t uMin, UInt_t uMax) { - fuMinTotPulserT0 = uMin; - fuMaxTotPulserT0 = uMax; + fuMinTotPulserBmon = uMin; + fuMaxTotPulserBmon = uMax; } inline void SetStsPulserAdcLimits(UInt_t uMin, UInt_t uMax) { @@ -127,19 +127,19 @@ private: void WriteHistos(); template<class Digi> - UInt_t FillCorrBuffer(Double_t dTimeT0, UInt_t uIndexStart, Double_t dWinStartTime, Double_t dWinStopTime, + UInt_t FillCorrBuffer(Double_t dTimeBmon, UInt_t uIndexStart, Double_t dWinStartTime, Double_t dWinStopTime, std::vector<std::vector<Digi>>& vDigi, ECbmModuleId iDetId = ECbmModuleId::kLastModule); template<class DigiA> - void FillHistosInter(UInt_t uIndexT0, UInt_t uIndexA, UInt_t uIndexB, std::vector<DigiA>& vCorrDigA, + void FillHistosInter(UInt_t uIndexBmon, UInt_t uIndexA, UInt_t uIndexB, std::vector<DigiA>& vCorrDigA, UInt_t uHistoIdx); template<class DigiA, class DigiB> - void FillHistos(UInt_t uIndexT0, UInt_t uIndexA, UInt_t uIndexB, std::vector<DigiA>& vCorrDigA, + void FillHistos(UInt_t uIndexBmon, UInt_t uIndexA, UInt_t uIndexB, std::vector<DigiA>& vCorrDigA, std::vector<DigiB>& vCorrDigB, UInt_t uHistoIdx); /** Digi data **/ CbmDigiManager* fDigiMan = nullptr; //! - const std::vector<CbmTofDigi>* fT0DigiVector = nullptr; //! - TClonesArray* fT0DigiArray = nullptr; //! + const std::vector<CbmTofDigi>* fBmonDigiVector = nullptr; //! + TClonesArray* fBmonDigiArray = nullptr; //! TClonesArray* fTimeSliceMetaDataArray = nullptr; //! const TimesliceMetaData* pTsMetaData = nullptr; @@ -159,15 +159,15 @@ private: UInt_t fuNbDetectors = fvsDetectors.size(); /// Variables to store the previous digi time - Double_t fPrevTimeT0 = 0.; + Double_t fPrevTimeBmon = 0.; std::vector<Double_t> fvPrevTimeDet = std::vector<Double_t>(fuNbDetectors, 0.0); //! - /// Variables to store the first digi fitting the previous T0 hits + /// Variables to store the first digi fitting the previous Bmon hits /// => Time-order means the time window for following one can only be in a later digi - std::vector<UInt_t> fvuPrevT0FirstDigiDet = std::vector<UInt_t>(fuNbDetectors, 0); //! + std::vector<UInt_t> fvuPrevBmonFirstDigiDet = std::vector<UInt_t>(fuNbDetectors, 0); //! /// Variable to store correlated Digis - std::vector<CbmTofDigi> fvDigisT0 = {}; //! + std::vector<CbmTofDigi> fvDigisBmon = {}; //! std::vector<std::vector<CbmStsDigi>> fvDigisSts = {}; //! std::vector<std::vector<CbmMuchBeamTimeDigi>> fvDigisMuch = {}; //! std::vector<std::vector<CbmTrdDigi>> fvDigisTrd = {}; //! @@ -175,9 +175,9 @@ private: std::vector<std::vector<CbmRichDigi>> fvDigisRich = {}; //! std::vector<std::vector<CbmPsdDigi>> fvDigisPsd = {}; //! - /// Variable to store counts of T0 with at least one coincidence - UInt_t fuNbDigisWithCoincT0 = 0; - /// Variable to store counts of T0 with at least one coincidence + /// Variable to store counts of Bmon with at least one coincidence + UInt_t fuNbDigisWithCoincBmon = 0; + /// Variable to store counts of Bmon with at least one coincidence UInt_t fuNbCoincDigisSts = 0; UInt_t fuNbCoincDigisMuch = 0; UInt_t fuNbCoincDigisTrd = 0; @@ -187,8 +187,8 @@ private: /// User settings: Data correction parameters /// Charge cut - UInt_t fuMinTotPulserT0 = 182; - UInt_t fuMaxTotPulserT0 = 190; + UInt_t fuMinTotPulserBmon = 182; + UInt_t fuMaxTotPulserBmon = 190; UInt_t fuMinAdcPulserSts = 90; UInt_t fuMaxAdcPulserSts = 100; UInt_t fuMinAdcPulserMuch = 5; diff --git a/fles/mcbm2018/tasks/CbmMcbm2019TimeWinEventBuilderAlgo.cxx b/fles/mcbm2018/tasks/CbmMcbm2019TimeWinEventBuilderAlgo.cxx index 55d2edf0808bb841fbff1f75ad8283860169640c..c0c9ca28c6c5cf30139fb00dfdc279c61b419097 100644 --- a/fles/mcbm2018/tasks/CbmMcbm2019TimeWinEventBuilderAlgo.cxx +++ b/fles/mcbm2018/tasks/CbmMcbm2019TimeWinEventBuilderAlgo.cxx @@ -130,12 +130,12 @@ Bool_t CbmMcbm2019TimeWinEventBuilderAlgo::CheckDataAvailable(EventBuilderDetect FairRootManager* ioman = FairRootManager::Instance(); if (ECbmModuleId::kBmon == det.detId) { - // T0 is not included in DigiManager - fT0DigiVec = ioman->InitObjectAs<std::vector<CbmTofDigi> const*>("T0Digi"); - if (!fT0DigiVec) { - LOG(info) << "No T0 digi input found."; + // Bmon is not included in DigiManager + fBmonDigiVec = ioman->InitObjectAs<std::vector<CbmTofDigi> const*>("BmonDigi"); + if (!fBmonDigiVec) { + LOG(info) << "No Bmon digi input found."; return kFALSE; - } // if( ! fT0DigiVec ) + } // if( ! fBmonDigiVec ) } // if( ECbmModuleId::kBmon == det.detId ) else { if (!fDigiMan->IsPresent(det.detId)) { @@ -194,7 +194,7 @@ void CbmMcbm2019TimeWinEventBuilderAlgo::BuildEvents() case ECbmModuleId::kBmon: { LoopOnSeeds<CbmTofDigi>(); break; - } // case ECbmModuleId::kT0: + } // case ECbmModuleId::kBmon: default: { LOG(fatal) << "CbmMcbm2019TimeWinEventBuilderAlgo::BuildEvents => " << "Trying to search event seeds with unsupported det: " << fRefDet.sName; @@ -240,22 +240,22 @@ void CbmMcbm2019TimeWinEventBuilderAlgo::LoopOnSeeds() } // if( fbIgnoreTsOverlap ) if (ECbmModuleId::kBmon == fRefDet.detId) { - if (fT0DigiVec) { + if (fBmonDigiVec) { /// Loop on size of vector - UInt_t uNbRefDigis = fT0DigiVec->size(); + UInt_t uNbRefDigis = fBmonDigiVec->size(); /// Loop on size of vector for (UInt_t uDigi = 0; uDigi < uNbRefDigis; ++uDigi) { LOG(debug) << Form("Checking seed %6u / %6u", uDigi, uNbRefDigis); - Double_t dTime = fT0DigiVec->at(uDigi).GetTime(); + Double_t dTime = fBmonDigiVec->at(uDigi).GetTime(); /// Check Seed and build event if needed CheckSeed(dTime, uDigi); } // for( UInt_t uDigi = 0; uDigi < uNbRefDigis; ++uDigi ) - } // if ( fT0DigiVec ) + } // if ( fBmonDigiVec ) else LOG(fatal) << "CbmMcbm2019TimeWinEventBuilderAlgo::LoopOnSeeds => " - << "T0 as reference detector but vector not found!"; + << "Bmon as reference detector but vector not found!"; } // if (ECbmModuleId::kBmon == fRefDet.detId) else { UInt_t uNbRefDigis = (0 < fDigiMan->GetNofDigis(fRefDet.detId) ? fDigiMan->GetNofDigis(fRefDet.detId) : 0); @@ -277,7 +277,7 @@ void CbmMcbm2019TimeWinEventBuilderAlgo::LoopOnSeeds() CheckSeed(dTime, uDigi); } // if( nullptr != pDigi ) } // for( UInt_t uDigi = 0; uDigi < uNbRefDigis; ++uDigi ) - } // else of if (ECbmModuleId::kT0 == fRefDet.detId) => Digi containers controlled by DigiManager + } // else of if (ECbmModuleId::kBmon == fRefDet.detId) => Digi containers controlled by DigiManager } void CbmMcbm2019TimeWinEventBuilderAlgo::CheckSeed(Double_t dSeedTime, UInt_t uSeedDigiIdx) @@ -357,7 +357,7 @@ void CbmMcbm2019TimeWinEventBuilderAlgo::CheckSeed(Double_t dSeedTime, UInt_t uS case ECbmModuleId::kBmon: { SearchMatches<CbmTofDigi>(dSeedTime, fRefDet); break; - } // case ECbmModuleId::kT0: + } // case ECbmModuleId::kBmon: default: { LOG(fatal) << "CbmMcbm2019TimeWinEventBuilderAlgo::LoopOnSeeds => " << "Trying to search matches with unsupported det: " << fRefDet.sName << std::endl @@ -408,7 +408,7 @@ void CbmMcbm2019TimeWinEventBuilderAlgo::CheckSeed(Double_t dSeedTime, UInt_t uS case ECbmModuleId::kBmon: { SearchMatches<CbmTofDigi>(dSeedTime, *det); break; - } // case ECbmModuleId::kT0: + } // case ECbmModuleId::kBmon: default: { LOG(fatal) << "CbmMcbm2019TimeWinEventBuilderAlgo::LoopOnSeeds => " << "Trying to search matches with unsupported det: " << (*det).sName << std::endl @@ -451,12 +451,12 @@ void CbmMcbm2019TimeWinEventBuilderAlgo::SearchMatches(Double_t dSeedTime, Event /// Check the Digis until out of window if (ECbmModuleId::kBmon == detMatch.detId) { - if (fT0DigiVec) { + if (fBmonDigiVec) { /// Loop on size of vector - UInt_t uNbSelDigis = fT0DigiVec->size(); + UInt_t uNbSelDigis = fBmonDigiVec->size(); /// Loop on size of vector for (UInt_t uDigi = detMatch.fuStartIndex; uDigi < uNbSelDigis; ++uDigi) { - Double_t dTime = fT0DigiVec->at(uDigi).GetTime(); + Double_t dTime = fBmonDigiVec->at(uDigi).GetTime(); Double_t dTimeDiff = dTime - dSeedTime; @@ -479,10 +479,10 @@ void CbmMcbm2019TimeWinEventBuilderAlgo::SearchMatches(Double_t dSeedTime, Event /// catch the case where we reach the end of the vector before being out of the time window if (uLocalIndexEnd < uLocalIndexStart) uLocalIndexEnd = uNbSelDigis; - } // if ( fT0DigiVec ) + } // if ( fBmonDigiVec ) else LOG(fatal) << "CbmMcbm2019TimeWinEventBuilderAlgo::SearchMatches => " - << "T0 as selection detector but vector not found!"; + << "Bmon as selection detector but vector not found!"; } // if( ECbmModuleId::kBmon == detMatch.detId ) else { UInt_t uNbSelDigis = (0 < fDigiMan->GetNofDigis(detMatch.detId) ? fDigiMan->GetNofDigis(detMatch.detId) : 0); @@ -553,14 +553,14 @@ Bool_t CbmMcbm2019TimeWinEventBuilderAlgo::CheckTriggerConditions(CbmEvent* even /// Check if detector present if (ECbmModuleId::kBmon == det.detId) { - /// FIXME: special case to be removed once T0 supported by DigiManager - if (!(fT0DigiVec)) { - LOG(warning) << "Event does not have digis storage for T0" + /// FIXME: special case to be removed once Bmon supported by DigiManager + if (!(fBmonDigiVec)) { + LOG(warning) << "Event does not have digis storage for Bmon" << " while the following trigger minimum are defined: " << det.fuTriggerMinDigis << " " << det.fiTriggerMaxDigis; return kFALSE; - } // if( !(fT0DigiVec) ) - } // if( ECbmDataType::kT0Digi == det.detId ) + } // if( !(fBmonDigiVec) ) + } // if( ECbmDataType::kBmonDigi == det.detId ) else { if (!fDigiMan->IsPresent(det.detId)) { LOG(warning) << "Event does not have digis storage for " << det.sName @@ -568,7 +568,7 @@ Bool_t CbmMcbm2019TimeWinEventBuilderAlgo::CheckTriggerConditions(CbmEvent* even << det.fiTriggerMaxDigis; return kFALSE; } // if( !fDigiMan->IsPresent( det ) ) - } // else of if( ECbmDataType::kT0Digi == det ) + } // else of if( ECbmDataType::kBmonDigi == det ) /// Check trigger rejection by minimal number or absence Int_t iNbDigis = event->GetNofData(det.dataType); diff --git a/fles/mcbm2018/tasks/CbmMcbm2019TimeWinEventBuilderAlgo.h b/fles/mcbm2018/tasks/CbmMcbm2019TimeWinEventBuilderAlgo.h index 7ce44f3853e1c93f61da07452e655058028e52dc..5a978420b7f6ad3cb76fa113d1af4a5ec9fcaa96 100644 --- a/fles/mcbm2018/tasks/CbmMcbm2019TimeWinEventBuilderAlgo.h +++ b/fles/mcbm2018/tasks/CbmMcbm2019TimeWinEventBuilderAlgo.h @@ -93,7 +93,7 @@ static const EventBuilderDetector kEventBuilderDetRich = static const EventBuilderDetector kEventBuilderDetPsd = EventBuilderDetector(ECbmModuleId::kPsd, ECbmDataType::kPsdDigi, "Psd"); static const EventBuilderDetector kEventBuilderDetBmon = - EventBuilderDetector(ECbmModuleId::kBmon, ECbmDataType::kT0Digi, "Bmon"); + EventBuilderDetector(ECbmModuleId::kBmon, ECbmDataType::kBmonDigi, "Bmon"); static const EventBuilderDetector kEventBuilderDetUndef = EventBuilderDetector(); class CbmMcbm2019TimeWinEventBuilderAlgo { @@ -196,7 +196,7 @@ private: /// Event building mode and detectors selection EOverlapMode fOverMode {EOverlapMode::AllowOverlap}; - EventBuilderDetector fRefDet = EventBuilderDetector(ECbmModuleId::kBmon, ECbmDataType::kT0Digi, "Bmon"); + EventBuilderDetector fRefDet = EventBuilderDetector(ECbmModuleId::kBmon, ECbmDataType::kBmonDigi, "Bmon"); std::vector<EventBuilderDetector> fvDets = { EventBuilderDetector(ECbmModuleId::kSts, ECbmDataType::kStsDigi, "kSts"), EventBuilderDetector(ECbmModuleId::kMuch, ECbmDataType::kMuchDigi, "kMuch"), @@ -217,7 +217,7 @@ private: /// FIXME: usage of CbmDigiManager in FairMq context?!? /// => Maybe by registering vector (or vector reference) to ioman in Device? CbmDigiManager* fDigiMan = nullptr; //! - const std::vector<CbmTofDigi>* fT0DigiVec = nullptr; //! + const std::vector<CbmTofDigi>* fBmonDigiVec = nullptr; //! TClonesArray* fTimeSliceMetaDataArray = nullptr; //! const TimesliceMetaData* pTsMetaData = nullptr; diff --git a/fles/mcbm2018/tasks/CbmMcbmCheckTimingAlgo.cxx b/fles/mcbm2018/tasks/CbmMcbmCheckTimingAlgo.cxx index ddbac9020dd8b7f81875ef1e9f3644fc2e1752db..219f32f1978cf30036dd8ac44faa59c473b24a44 100644 --- a/fles/mcbm2018/tasks/CbmMcbmCheckTimingAlgo.cxx +++ b/fles/mcbm2018/tasks/CbmMcbmCheckTimingAlgo.cxx @@ -79,14 +79,14 @@ void CbmMcbmCheckTimingAlgo::CheckDataPresence(CheckTimingDetector detToCheck) fDigiMan->UseMuchBeamTimeDigi(); fDigiMan->Init(); - /// Handle special case for T0 as not yet supported in DigiManager + /// Handle special case for Bmon as not yet supported in DigiManager if (ECbmModuleId::kBmon == detToCheck.detId) { // Get a pointer to the previous already existing data level - fpT0DigiVec = ioman->InitObjectAs<std::vector<CbmTofDigi> const*>("T0Digi"); - if (!fpT0DigiVec) { - LOG(fatal) << "No storage with T0 digis found while it should be used. " + fpBmonDigiVec = ioman->InitObjectAs<std::vector<CbmTofDigi> const*>("BmonDigi"); + if (!fpBmonDigiVec) { + LOG(fatal) << "No storage with Bmon digis found while it should be used. " "Stopping there!"; - } // if ( ! fpT0DigiVec ) + } // if ( ! fpBmonDigiVec ) } // if( ECbmModuleId::kBmon == detToCheck.detId ) else if (!fDigiMan->IsPresent(detToCheck.detId)) { LOG(fatal) << "No " << detToCheck.sName << " digis found while it should be used. Stopping there!"; @@ -233,7 +233,7 @@ void CbmMcbmCheckTimingAlgo::CheckInterSystemOffset() break; } // Digi containers controlled by DigiManager case ECbmModuleId::kBmon: { - uNbRefDigis = fpT0DigiVec->size(); + uNbRefDigis = fpBmonDigiVec->size(); break; } // case ECbmModuleId::kBmon default: { @@ -254,8 +254,8 @@ void CbmMcbmCheckTimingAlgo::CheckInterSystemOffset() Double_t dRefCharge = 0; UInt_t uRefAddress = 0; if (ECbmModuleId::kBmon == fRefDet.detId) { - dRefTime = fpT0DigiVec->at(uDigi).GetTime(); - dRefCharge = fpT0DigiVec->at(uDigi).GetCharge(); + dRefTime = fpBmonDigiVec->at(uDigi).GetTime(); + dRefCharge = fpBmonDigiVec->at(uDigi).GetCharge(); } else { dRefTime = fDigiMan->Get<DigiRef>(uDigi)->GetTime(); @@ -343,7 +343,7 @@ void CbmMcbmCheckTimingAlgo::FillTimeOffsetHistos(const Double_t dRefTime, const break; } // Digi containers controlled by DigiManager case ECbmModuleId::kBmon: { - uNbDigis = fpT0DigiVec->size(); + uNbDigis = fpBmonDigiVec->size(); break; } // case ECbmModuleId::kBmon default: { @@ -441,11 +441,11 @@ template<> uint CbmMcbmCheckTimingAlgo::GetDigiInfo<CbmTofDigi>(UInt_t uDigi, std::vector<std::tuple<double, double, uint>>* vec, ECbmModuleId detId) { - /** Template specialization for ToF in order to distinguish T0 digis. + /** Template specialization for ToF in order to distinguish Bmon digis. */ vec->clear(); const CbmTofDigi* pDigi(nullptr); - if (detId == ECbmModuleId::kBmon) pDigi = &fpT0DigiVec->at(uDigi); + if (detId == ECbmModuleId::kBmon) pDigi = &fpBmonDigiVec->at(uDigi); else pDigi = fDigiMan->Get<CbmTofDigi>(uDigi); diff --git a/fles/mcbm2018/tasks/CbmMcbmCheckTimingAlgo.h b/fles/mcbm2018/tasks/CbmMcbmCheckTimingAlgo.h index 12096d0359b32571bff7db79f3857abe37fd063f..cb837ccb6614de5333b4d7d495840485f51862ec 100644 --- a/fles/mcbm2018/tasks/CbmMcbmCheckTimingAlgo.h +++ b/fles/mcbm2018/tasks/CbmMcbmCheckTimingAlgo.h @@ -108,7 +108,7 @@ private: void CheckInterSystemOffset(); template<class Digi> void FillTimeOffsetHistos(const Double_t dRefTime, const Double_t dRefCharge, UInt_t uDetIdx); - /** @brief Retrieve digi (time,charge,addres) info. Use template specialization for special cases (e.g. T0, TRD, PSD) + /** @brief Retrieve digi (time,charge,addres) info. Use template specialization for special cases (e.g. Bmon, TRD, PSD) * @param iDigi digi index in the digi array * @param vec on return contains the signal(s), time(s) and address pairs. Should be allocated by the user * @param detId if needed spec @@ -128,8 +128,8 @@ private: /** Input array from previous already existing data level **/ CbmDigiManager* fDigiMan = nullptr; //! - /** T0 is not included in CbmDigiManager, so add it explicitly here **/ - const std::vector<CbmTofDigi>* fpT0DigiVec = nullptr; //! + /** Bmon is not included in CbmDigiManager, so add it explicitly here **/ + const std::vector<CbmTofDigi>* fpBmonDigiVec = 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 diff --git a/fles/mcbm2018/tasks/CbmMcbmSpillFindAlgo.cxx b/fles/mcbm2018/tasks/CbmMcbmSpillFindAlgo.cxx index aa40909ea95b83a616cab488a388563c17f0d0ce..4ddec775ab0998f2dd671884bc3054932c8d05ab 100644 --- a/fles/mcbm2018/tasks/CbmMcbmSpillFindAlgo.cxx +++ b/fles/mcbm2018/tasks/CbmMcbmSpillFindAlgo.cxx @@ -45,7 +45,7 @@ CbmMcbmSpillFindAlgo::~CbmMcbmSpillFindAlgo() {} // ------------------------------------------------------------------------- Bool_t CbmMcbmSpillFindAlgo::Init() { - LOG(info) << "Initializing mCBM T0 2019 monitor algo"; + LOG(info) << "Initializing mCBM Bmon 2019 monitor algo"; return kTRUE; } @@ -366,8 +366,8 @@ Bool_t CbmMcbmSpillFindAlgo::ProcessMs(const fles::Timeslice& ts, size_t uMsComp fuGet4Id = mess.getGdpbGenChipId(); fuGet4Nr = fuGet4Id / 2; - // UInt_t uChannelT0 = ( fuGet4Id < 32 ) ? ( fuGet4Id / 8 ) : (fuGet4Id / 8 - 1); /// December 2018 mapping - // UInt_t uChannelT0 = fuGet4Id / 2 + 4 * fuCurrDpbIdx; /// 2019 mapping with 320/640 Mb/s FW + // UInt_t uChannelBmon = ( fuGet4Id < 32 ) ? ( fuGet4Id / 8 ) : (fuGet4Id / 8 - 1); /// December 2018 mapping + // UInt_t uChannelBmon = fuGet4Id / 2 + 4 * fuCurrDpbIdx; /// 2019 mapping with 320/640 Mb/s FW if (fuNrOfGet4PerGdpb <= fuGet4Id && !mess.isStarTrigger() && (gdpbv100::kuChipIdMergedEpoch != fuGet4Id)) LOG(warning) << "Message with Get4 ID too high: " << fuGet4Id << " VS " << fuNrOfGet4PerGdpb @@ -425,7 +425,7 @@ Bool_t CbmMcbmSpillFindAlgo::CreateHistograms() { std::string sFolder = "SpillFinder"; - LOG(info) << "create Histos for T0 monitoring "; + LOG(info) << "create Histos for Bmon monitoring "; /// Logarithmic bining uint32_t iNbBinsLog = 0; @@ -459,7 +459,7 @@ Bool_t CbmMcbmSpillFindAlgo::CreateHistograms() /*******************************************************************/ /* - /// Map of hits over T0 detector and same vs time in run + /// Map of hits over Bmon detector and same vs time in run fcHitMaps = new TCanvas("cHitMaps", "Hit maps", w, h); fcHitMaps->Divide(2); diff --git a/fles/mcbm2018/tasks/CbmMcbmSpillFindTask.cxx b/fles/mcbm2018/tasks/CbmMcbmSpillFindTask.cxx index ff9f624413204b090fab74932c7b6819ce5fd76a..565a0c5349545f3a651f334753c926007f279b9f 100644 --- a/fles/mcbm2018/tasks/CbmMcbmSpillFindTask.cxx +++ b/fles/mcbm2018/tasks/CbmMcbmSpillFindTask.cxx @@ -42,7 +42,7 @@ CbmMcbmSpillFindTask::CbmMcbmSpillFindTask() , fbMonitorMode(kTRUE) , fbDebugMonitorMode(kFALSE) , fuHistoryHistoSize(3600) - , fsHistoFileName("data/HistosMonitorT0.root") + , fsHistoFileName("data/HistosMonitorBmon.root") , fuMinTotPulser(90) , fuMaxTotPulser(100) , fuOffSpillCountLimit(200) @@ -57,7 +57,7 @@ CbmMcbmSpillFindTask::~CbmMcbmSpillFindTask() { delete fMonitorAlgo; } Bool_t CbmMcbmSpillFindTask::Init() { LOG(info) << "CbmMcbmSpillFindTask::Init"; - LOG(info) << "Initializing mCBM T0 2019 Monitor"; + LOG(info) << "Initializing mCBM Bmon 2019 Monitor"; return kTRUE; } @@ -132,8 +132,8 @@ Bool_t CbmMcbmSpillFindTask::InitContainers() gROOT->FindObject((vCanvases[uCanv].first)->GetName())); } // for( UInt_t uCanv = 0; uCanv < vCanvases.size(); ++uCanv ) - server->RegisterCommand("/Reset_MoniT0_Hist", "bMcbmSpillFindResetHistos=kTRUE"); - server->Restrict("/Reset_MoniT0_Hist", "allow=admin"); + server->RegisterCommand("/Reset_MoniBmon_Hist", "bMcbmSpillFindResetHistos=kTRUE"); + server->Restrict("/Reset_MoniBmon_Hist", "allow=admin"); } // if( nullptr != server ) return initOK; @@ -155,7 +155,7 @@ void CbmMcbmSpillFindTask::AddMsComponentToList(size_t component, UShort_t usDet Bool_t CbmMcbmSpillFindTask::DoUnpack(const fles::Timeslice& ts, size_t /*component*/) { if (fbMonitorMode && bMcbmSpillFindResetHistos) { - LOG(info) << "Reset T0 Monitor histos "; + LOG(info) << "Reset Bmon Monitor histos "; fMonitorAlgo->ResetHistograms(); bMcbmSpillFindResetHistos = kFALSE; } // if( fbMonitorMode && bMcbmSpillFindResetHistos ) diff --git a/fles/mcbm2018/unpacker/CbmMcbm2018UnpackerAlgoRich2020.cxx b/fles/mcbm2018/unpacker/CbmMcbm2018UnpackerAlgoRich2020.cxx index cae047fee5f72319ec32af434d97de8257f3d2c4..52ecf9e9dcaae1ee41f03e1540e4967daffc4c5e 100644 --- a/fles/mcbm2018/unpacker/CbmMcbm2018UnpackerAlgoRich2020.cxx +++ b/fles/mcbm2018/unpacker/CbmMcbm2018UnpackerAlgoRich2020.cxx @@ -1585,7 +1585,7 @@ Bool_t CbmMcbm2018UnpackerAlgoRich2020::CreateHistograms() /*******************************************************************/ - /// Map of hits over T0 detector and same vs time in run + /// Map of hits over Bmon detector and same vs time in run { //if (iTDC == 0){ Double_t w = 10; Double_t h = 10; diff --git a/fles/mcbm2018/unpacker/CbmMcbm2018UnpackerAlgoTof.cxx b/fles/mcbm2018/unpacker/CbmMcbm2018UnpackerAlgoTof.cxx index dd14e5c6531ef347a94a59c92cce35497da6dc86..8d2becd529818fe54bc3222f9d51bbf5b61048b2 100644 --- a/fles/mcbm2018/unpacker/CbmMcbm2018UnpackerAlgoTof.cxx +++ b/fles/mcbm2018/unpacker/CbmMcbm2018UnpackerAlgoTof.cxx @@ -103,7 +103,7 @@ CbmMcbm2018UnpackerAlgoTof::CbmMcbm2018UnpackerAlgoTof() , fdLastDigiTime(0.) , fdFirstDigiTimeDif(0.) , fdEvTime0(0.) - , fhRawTDigEvT0(nullptr) + , fhRawTDigEvBmon(nullptr) , fhRawTDigRef0(nullptr) , fhRawTDigRef(nullptr) , fhRawTRefDig0(nullptr) @@ -285,7 +285,7 @@ Bool_t CbmMcbm2018UnpackerAlgoTof::InitParameters() iCh += 64; break; - /// Special Treatment for the T0 diamond + /// Special Treatment for the Bmon diamond case 5: { LOG(info) << " Map diamond at GBTX - iCh = " << iCh; for (UInt_t uFee = 0; uFee < fUnpackPar->GetNrOfFeePerGbtx(); ++uFee) { @@ -296,7 +296,7 @@ Bool_t CbmMcbm2018UnpackerAlgoTof::InitParameters() fviModuleId[iGbtx], 0, uFee + 4 * fviRpcSide[iGbtx], 0, fviRpcType[iGbtx] ); - LOG(info) << Form( "Map T0 Ch %d to Address 0x%08x", iCh, fviRpcChUId[iCh] ); + LOG(info) << Form( "Map Bmon Ch %d to Address 0x%08x", iCh, fviRpcChUId[iCh] ); } else fviRpcChUId[ iCh ] = 0; */ @@ -309,19 +309,19 @@ Bool_t CbmMcbm2018UnpackerAlgoTof::InitParameters() case 4: { /// 2019 mapping with 320/640 Mb/s FW /// => 4 GET4 per GBTx - /// => 1 T0 channel per GET4 + /// => 1 Bmon channel per GET4 /// => 1-2 eLinks per GET4 => GET4 ID = GET4 * 2 (+ 1) - UInt_t uChannelT0 = uCh / 8 + 4 * fviRpcSide[iGbtx]; + UInt_t uChannelBmon = uCh / 8 + 4 * fviRpcSide[iGbtx]; fviRpcChUId[iCh] = - CbmTofAddress::GetUniqueAddress(fviModuleId[iGbtx], 0, uChannelT0, 0, fviRpcType[iGbtx]); - LOG(info) << Form("T0 channel: %u from GBTx %2u Fee %2u " + CbmTofAddress::GetUniqueAddress(fviModuleId[iGbtx], 0, uChannelBmon, 0, fviRpcType[iGbtx]); + LOG(info) << Form("Bmon channel: %u from GBTx %2u Fee %2u " "Channel %2u, indx %d address %08x", - uChannelT0, iGbtx, uFee, uCh, iCh, fviRpcChUId[iCh]); + uChannelBmon, iGbtx, uFee, uCh, iCh, fviRpcChUId[iCh]); break; - } // Valid T0 channel + } // Valid Bmon channel default: { fviRpcChUId[iCh] = 0; - } // Invalid T0 channel + } // Invalid Bmon channel } // switch( uCh % 4 ) } // if( 0 == uFee ) @@ -1166,7 +1166,7 @@ void CbmMcbm2018UnpackerAlgoTof::ProcessHit(const gdpbv100::FullMessage& mess) UInt_t uChanUId = fviRpcChUId[uRemappedChannelNrInSys]; /* if( 5 == fviRpcType[uGbtxNrInSys] ) - LOG(info) << "T0 mapping index " << uRemappedChannelNrInSys + LOG(info) << "Bmon mapping index " << uRemappedChannelNrInSys << " UID " << std::hex << std::setw(8) << uChanUId << std::dec << ", from GdpbNr " << fuCurrDpbIdx << ", Get4 " << fuGet4Id @@ -1185,7 +1185,7 @@ void CbmMcbm2018UnpackerAlgoTof::ProcessHit(const gdpbv100::FullMessage& mess) return; // Hit not mapped to digi } - /// Apply offset to T0 only to TOF digis + /// Apply offset to Bmon only to TOF digis if (0x90 != fuCurrentMsSysId) dHitTime -= fdTimeOffsetNs; LOG(debug) << Form("Insert 0x%08x digi with time ", uChanUId) << dHitTime @@ -1338,8 +1338,8 @@ Bool_t CbmMcbm2018UnpackerAlgoTof::CreateHistograms() LOG(info) << "create Histos for " << fuNrOfGdpbs << " gDPBs "; - fhRawTDigEvT0 = - new TH1F(Form("Raw_TDig-EvT0"), Form("Raw digi time difference to 1st digi ; time [ns]; cts"), 500, 0, 100.); + fhRawTDigEvBmon = + new TH1F(Form("Raw_TDig-EvBmon"), Form("Raw digi time difference to 1st digi ; time [ns]; cts"), 500, 0, 100.); fhRawTDigRef0 = new TH1F(Form("Raw_TDig-Ref0"), Form("Raw digi time difference to Ref ; time [ns]; cts"), 6000, -10000, 50000); @@ -1357,7 +1357,7 @@ Bool_t CbmMcbm2018UnpackerAlgoTof::CreateHistograms() Form("Raw Digi time difference to last digi ; time [ns]; cts"), 9999, -5000, 5000); /// Add pointers to the vector with all histo for access by steering class - AddHistoToVector(fhRawTDigEvT0, sFolder); + AddHistoToVector(fhRawTDigEvBmon, sFolder); AddHistoToVector(fhRawTDigRef0, sFolder); AddHistoToVector(fhRawTDigRef, sFolder); AddHistoToVector(fhRawTRefDig0, sFolder); diff --git a/fles/mcbm2018/unpacker/CbmMcbm2018UnpackerAlgoTof.h b/fles/mcbm2018/unpacker/CbmMcbm2018UnpackerAlgoTof.h index 536f2757ad181970d6069c3914fea0ccb8ebfc8c..c3329cd762a8085bac1f179256b1835c33be3402 100644 --- a/fles/mcbm2018/unpacker/CbmMcbm2018UnpackerAlgoTof.h +++ b/fles/mcbm2018/unpacker/CbmMcbm2018UnpackerAlgoTof.h @@ -151,7 +151,7 @@ private: Double_t fdLastDigiTime; Double_t fdFirstDigiTimeDif; Double_t fdEvTime0; - TH1* fhRawTDigEvT0; + TH1* fhRawTDigEvBmon; TH1* fhRawTDigRef0; TH1* fhRawTDigRef; TH1* fhRawTRefDig0; diff --git a/fles/mcbm2018/unpacker/CbmMcbm2018UnpackerAlgoTrdR.h b/fles/mcbm2018/unpacker/CbmMcbm2018UnpackerAlgoTrdR.h index c1b91aac9612ab928eb213083a13244f18a89a63..b794cf25f683476b53ffae06831e7f509a1bd701 100644 --- a/fles/mcbm2018/unpacker/CbmMcbm2018UnpackerAlgoTrdR.h +++ b/fles/mcbm2018/unpacker/CbmMcbm2018UnpackerAlgoTrdR.h @@ -121,7 +121,7 @@ public: fmapTimeshifts.clear(); fmapTimeshifts.insert(setvalue->begin(), setvalue->end()); } - ///< In the mCbm 2020 beamtime timeshifts changing during the run of the correlation time to the T0 have been observed. This is part of their correction + ///< In the mCbm 2020 beamtime timeshifts changing during the run of the correlation time to the Bmon have been observed. This is part of their correction /** * @brief Call this when Spadic Average-Baseline feature is enabled. diff --git a/fles/mcbm2018/unpacker/CbmMcbm2018UnpackerTaskTof.cxx b/fles/mcbm2018/unpacker/CbmMcbm2018UnpackerTaskTof.cxx index 0181fa51d26da516d3c1121fe749700b9bb92f40..624d36a2d94d860d5575c4785ca38a13ecf5fcfb 100644 --- a/fles/mcbm2018/unpacker/CbmMcbm2018UnpackerTaskTof.cxx +++ b/fles/mcbm2018/unpacker/CbmMcbm2018UnpackerTaskTof.cxx @@ -41,9 +41,9 @@ CbmMcbm2018UnpackerTaskTof::CbmMcbm2018UnpackerTaskTof(UInt_t /*uNbGdpb*/) : CbmMcbmUnpack() , fbMonitorMode(kFALSE) , fbDebugMonitorMode(kFALSE) - , fbSeparateArrayT0(kFALSE) + , fbSeparateArrayBmon(kFALSE) , fbWriteOutput(kTRUE) - , fuDigiMaskedIdT0(0x00002806) + , fuDigiMaskedIdBmon(0x00002806) , fuDigiMaskId(0x001FFFFF) , fulTsCounter(0) , fUnpackerAlgo(nullptr) @@ -64,10 +64,10 @@ Bool_t CbmMcbm2018UnpackerTaskTof::Init() fpvDigiTof = new std::vector<CbmTofDigi>(); ioman->RegisterAny("TofDigi", fpvDigiTof, fbWriteOutput); - if (kTRUE == fbSeparateArrayT0) { - fpvDigiT0 = new std::vector<CbmTofDigi>(); - ioman->RegisterAny("T0Digi", fpvDigiT0, fbWriteOutput); - } // if( kTRUE == fbSeparateArrayT0 ) + if (kTRUE == fbSeparateArrayBmon) { + fpvDigiBmon = new std::vector<CbmTofDigi>(); + ioman->RegisterAny("BmonDigi", fpvDigiBmon, fbWriteOutput); + } // if( kTRUE == fbSeparateArrayBmon ) return kTRUE; } @@ -191,29 +191,29 @@ Bool_t CbmMcbm2018UnpackerTaskTof::DoUnpack(const fles::Timeslice& ts, size_t /* */ for (auto digi : vDigi) { - if (kTRUE == fbSeparateArrayT0 && fuDigiMaskedIdT0 == (digi.GetAddress() & fuDigiMaskId)) { - /// Insert data in T0 output container - LOG(debug) << "Fill digi T0 vector with " << Form("0x%08x", digi.GetAddress()) << " at " << fpvDigiT0->size(); - fpvDigiT0->emplace_back(digi); - } // if( kTRUE == fbSeparateArrayT0 && fuDigiMaskedIdT0 == ( digi.GetAddress() & fuDigiMaskId ) ) + if (kTRUE == fbSeparateArrayBmon && fuDigiMaskedIdBmon == (digi.GetAddress() & fuDigiMaskId)) { + /// Insert data in Bmon output container + LOG(debug) << "Fill digi Bmon vector with " << Form("0x%08x", digi.GetAddress()) << " at " << fpvDigiBmon->size(); + fpvDigiBmon->emplace_back(digi); + } // if( kTRUE == fbSeparateArrayBmon && fuDigiMaskedIdBmon == ( digi.GetAddress() & fuDigiMaskId ) ) else { /// Insert data in TOF output container LOG(debug) << "Fill digi TOF vector with " << Form("0x%08x", digi.GetAddress()) << " at " << fpvDigiTof->size(); fpvDigiTof->emplace_back(digi); - } // else of if( kTRUE == fbSeparateArrayT0 && fuDigiMaskedIdT0 == ( digi.GetAddress() & fuDigiMaskId ) ) + } // else of if( kTRUE == fbSeparateArrayBmon && fuDigiMaskedIdBmon == ( digi.GetAddress() & fuDigiMaskId ) ) } vDigi.clear(); fUnpackerAlgo->ClearVector(); if (kTRUE == fbMonitorMode) { - if (kTRUE == fbSeparateArrayT0) { - fhArraySize->Fill(fulTsCounter, fpvDigiTof->size() + fpvDigiT0->size()); - fhArrayCapacity->Fill(fulTsCounter, fpvDigiTof->capacity() + fpvDigiT0->capacity()); - } // if( kTRUE == fbSeparateArrayT0 ) + if (kTRUE == fbSeparateArrayBmon) { + fhArraySize->Fill(fulTsCounter, fpvDigiTof->size() + fpvDigiBmon->size()); + fhArrayCapacity->Fill(fulTsCounter, fpvDigiTof->capacity() + fpvDigiBmon->capacity()); + } // if( kTRUE == fbSeparateArrayBmon ) else { fhArraySize->Fill(fulTsCounter, fpvDigiTof->size()); fhArrayCapacity->Fill(fulTsCounter, fpvDigiTof->capacity()); - } // else of if( kTRUE == fbSeparateArrayT0 ) + } // else of if( kTRUE == fbSeparateArrayBmon ) } // if( kTRUE == fbMonitorMode ) if (0 == fulTsCounter % 10000) LOG(info) << "Processed " << fulTsCounter << "TS"; @@ -226,7 +226,7 @@ void CbmMcbm2018UnpackerTaskTof::Reset() { fpvDigiTof->clear(); - if (kTRUE == fbSeparateArrayT0) { fpvDigiT0->clear(); } // if( kTRUE == fbSeparateArrayT0 ) + if (kTRUE == fbSeparateArrayBmon) { fpvDigiBmon->clear(); } // if( kTRUE == fbSeparateArrayBmon ) } diff --git a/fles/mcbm2018/unpacker/CbmMcbm2018UnpackerTaskTof.h b/fles/mcbm2018/unpacker/CbmMcbm2018UnpackerTaskTof.h index f7909a17ff661269165822cebb25b1f829b6f5fd..d02e5856a9a4b5117a28dc3940633d88d4ecd6de 100644 --- a/fles/mcbm2018/unpacker/CbmMcbm2018UnpackerTaskTof.h +++ b/fles/mcbm2018/unpacker/CbmMcbm2018UnpackerTaskTof.h @@ -53,11 +53,11 @@ public: void SetDiamondDpbIdx(UInt_t uIdx = 2); /// Task settings - void SetSeparateArrayT0(Bool_t bFlagIn = kTRUE) { fbSeparateArrayT0 = bFlagIn; } - void SetDigiMaskAndIdT0(UInt_t uMask, UInt_t uMaskedIdT0) + void SetSeparateArrayBmon(Bool_t bFlagIn = kTRUE) { fbSeparateArrayBmon = bFlagIn; } + void SetDigiMaskAndIdBmon(UInt_t uMask, UInt_t uMaskedIdBmon) { fuDigiMaskId = uMask; - fuDigiMaskedIdT0 = uMaskedIdT0; + fuDigiMaskedIdBmon = uMaskedIdBmon; } void SetWriteOutputFlag(Bool_t bFlagIn) { fbWriteOutput = bFlagIn; } @@ -65,11 +65,11 @@ private: /// Control flags Bool_t fbMonitorMode; //! Switch ON the filling of a minimal set of histograms Bool_t fbDebugMonitorMode; //! Switch ON the filling of a additional set of histograms - Bool_t fbSeparateArrayT0; //! If ON, T0 digis are saved in separate TClonesArray + Bool_t fbSeparateArrayBmon; //! If ON, Bmon digis are saved in separate TClonesArray Bool_t fbWriteOutput; //! If ON the output TClonesArray of digi is written to disk /// Parameters - UInt_t fuDigiMaskedIdT0; + UInt_t fuDigiMaskedIdBmon; UInt_t fuDigiMaskId; /// Statistics & first TS rejection @@ -77,7 +77,7 @@ private: /// Output vectors std::vector<CbmTofDigi>* fpvDigiTof = nullptr; - std::vector<CbmTofDigi>* fpvDigiT0 = nullptr; + std::vector<CbmTofDigi>* fpvDigiBmon = nullptr; /// Histograms TH1* fhArraySize = nullptr; diff --git a/fles/star2019/monitor/CbmStar2019MonitorAlgo.cxx b/fles/star2019/monitor/CbmStar2019MonitorAlgo.cxx index 60f97a81b95fcda4da6bff547661d4ece49a3d17..517d3afbe15c5c91ad3365d3d3db8ae7ac43b6a3 100644 --- a/fles/star2019/monitor/CbmStar2019MonitorAlgo.cxx +++ b/fles/star2019/monitor/CbmStar2019MonitorAlgo.cxx @@ -173,7 +173,7 @@ CbmStar2019MonitorAlgo::~CbmStar2019MonitorAlgo() // ------------------------------------------------------------------------- Bool_t CbmStar2019MonitorAlgo::Init() { - LOG(info) << "Initializing mCBM T0 2019 monitor algo"; + LOG(info) << "Initializing mCBM Bmon 2019 monitor algo"; return kTRUE; } diff --git a/fles/star2019/monitor/CbmStar2019MonitorPulserAlgo.cxx b/fles/star2019/monitor/CbmStar2019MonitorPulserAlgo.cxx index 84e170b8f2f07344e876e806b03edba94faa5be5..c0d82af9ab8d00ef98c1e7617a9f0fa2dcf22512 100644 --- a/fles/star2019/monitor/CbmStar2019MonitorPulserAlgo.cxx +++ b/fles/star2019/monitor/CbmStar2019MonitorPulserAlgo.cxx @@ -95,7 +95,7 @@ CbmStar2019MonitorPulserAlgo::~CbmStar2019MonitorPulserAlgo() // ------------------------------------------------------------------------- Bool_t CbmStar2019MonitorPulserAlgo::Init() { - LOG(info) << "Initializing mCBM T0 2019 monitor algo"; + LOG(info) << "Initializing mCBM Bmon 2019 monitor algo"; return kTRUE; } diff --git a/macro/L1/run_reco_L1global.C b/macro/L1/run_reco_L1global.C index a1f6a0780812a2d85a681dfe7e647b8dd8825f9b..2ed03688c5e2fcfedd8807eadb90af755c1def3e 100644 --- a/macro/L1/run_reco_L1global.C +++ b/macro/L1/run_reco_L1global.C @@ -220,7 +220,7 @@ void run_reco_L1global(TString input = "", Int_t nTimeSlices = -1, Int_t firstTi evBuildRaw->SetReferenceDetector(kRawEventBuilderDetSts); // Make Bmon (previous reference detector) a selected detector (with default parameters) - evBuildRaw->AddDetector(kRawEventBuilderDetT0); + evBuildRaw->AddDetector(kRawEventBuilderDetBmon); // Use sliding window seed builder with STS //evBuildRaw->SetReferenceDetector(kRawEventBuilderDetUndef); diff --git a/macro/L1/run_reco_LITglobal.C b/macro/L1/run_reco_LITglobal.C index 500efede3422185bd962c722aa008a36bb8ff4bd..9b870e1aac8b105fb72379d370e5a5431562d52c 100644 --- a/macro/L1/run_reco_LITglobal.C +++ b/macro/L1/run_reco_LITglobal.C @@ -231,7 +231,7 @@ void run_reco_LITglobal(TString input = "", Int_t nTimeSlices = -1, Int_t firstT evBuildRaw->SetReferenceDetector(kRawEventBuilderDetSts); // Make Bmon (previous reference detector) a selected detector (with default parameters) - evBuildRaw->AddDetector(kRawEventBuilderDetT0); + evBuildRaw->AddDetector(kRawEventBuilderDetBmon); // Use sliding window seed builder with STS //evBuildRaw->SetReferenceDetector(kRawEventBuilderDetUndef); diff --git a/macro/PWG/common/production/run_reco_json_config.C b/macro/PWG/common/production/run_reco_json_config.C index 2a0188ac5312434134e4b753da973e2e5380f304..f7beeadc4618be4d7555feae1e79c6921d3f6aec 100644 --- a/macro/PWG/common/production/run_reco_json_config.C +++ b/macro/PWG/common/production/run_reco_json_config.C @@ -29,8 +29,8 @@ #include "CbmPVFinderKF.h" #include "CbmPrimaryVertexFinder.h" #include "CbmPsdHitProducer.h" -#include "CbmRecoBmon.h" #include "CbmRecoSts.h" +#include "CbmRecoT0.h" #include "CbmRichHitProducer.h" #include "CbmRichReconstruction.h" #include "CbmSetup.h" @@ -259,7 +259,7 @@ void run_reco_json_config(TString input = "", Int_t nTimeSlices = -1, Int_t firs // Set STS as reference detector evBuildRaw->SetReferenceDetector(kRawEventBuilderDetSts); // Make Bmon (previous reference detector) a selected detector (with default parameters) - evBuildRaw->AddDetector(kRawEventBuilderDetT0); + evBuildRaw->AddDetector(kRawEventBuilderDetBmon); // Use sliding window seed builder with STS //evBuildRaw->SetReferenceDetector(kRawEventBuilderDetUndef); @@ -499,10 +499,10 @@ void run_reco_json_config(TString input = "", Int_t nTimeSlices = -1, Int_t firs } // ---------------------------------------------------------------------- - // ----- T0 reconstruction ---------------------------------------------- - CbmRecoBmon* recoT0 = new CbmRecoBmon(); - run->AddTask(recoT0); - std::cout << "-I-: Added task " << recoT0->GetName() << std::endl; + // ----- Bmon reconstruction ---------------------------------------------- + CbmRecoT0* recoBmon = new CbmRecoT0(); + run->AddTask(recoBmon); + std::cout << "-I-: Added task " << recoBmon->GetName() << std::endl; // ----------------------------------------------------------------------- // ----- Track matching ----------------------------------------------- diff --git a/macro/beamtime/cosy2019/FindHodoOrCoinc.C b/macro/beamtime/cosy2019/FindHodoOrCoinc.C index 5b55da267b73107904ddd478db6712dc28c24631..20f55f3934fc33babd06455e0133238ac743297a 100644 --- a/macro/beamtime/cosy2019/FindHodoOrCoinc.C +++ b/macro/beamtime/cosy2019/FindHodoOrCoinc.C @@ -5,7 +5,7 @@ Bool_t FindHodoOrCoinc(Long64_t liNbEntryToRead = -1, UInt_t uRunId = 25, Double_t dWinStart = -100., Double_t dWinStop = 100., TString sInputFileName = "data/unp_cosy") { - /// Ignore runs where the T0 FEE was not used + /// Ignore runs where the Bmon FEE was not used if (uRunId < 14) return kFALSE; /// Axis variables @@ -50,7 +50,7 @@ Bool_t FindHodoOrCoinc(Long64_t liNbEntryToRead = -1, UInt_t uRunId = 25, Double 1200, 0, 120, uNbTimeBins, dWinStart, dWinStop); /// Input arrays - std::vector<CbmTofDigi>* vDigisT0 = new std::vector<CbmTofDigi>(); + std::vector<CbmTofDigi>* vDigisBmon = new std::vector<CbmTofDigi>(); /// Input initiaalization sInputFileName += Form("_%04u.root", uRunId); @@ -59,7 +59,7 @@ Bool_t FindHodoOrCoinc(Long64_t liNbEntryToRead = -1, UInt_t uRunId = 25, Double TTree* pTree = (TTree*) pFile->Get("cbmsim"); - pTree->SetBranchAddress("T0Digi", &vDigisT0); + pTree->SetBranchAddress("BmonDigi", &vDigisBmon); /// Temp storage std::vector<CbmTofDigi*> vDigisHodoAX; @@ -79,13 +79,14 @@ Bool_t FindHodoOrCoinc(Long64_t liNbEntryToRead = -1, UInt_t uRunId = 25, Double for (Long64_t liEntry = 1; liEntry < liNbEntryToRead; liEntry++) { pTree->GetEntry(liEntry); - UInt_t uNbDigisT0 = vDigisT0->size(); + UInt_t uNbDigisBmon = vDigisBmon->size(); if (0 == liEntry % 100) - std::cout << "Event " << std::setw(6) << liEntry << " Nb T0 digis is " << std::setw(6) << uNbDigisT0 << std::endl; + std::cout << "Event " << std::setw(6) << liEntry << " Nb Bmon digis is " << std::setw(6) << uNbDigisBmon + << std::endl; - for (UInt_t uT0Digi = 0; uT0Digi < uNbDigisT0; ++uT0Digi) { - CbmTofDigi& pDigi = vDigisT0->at(uT0Digi) UInt_t uChannel = pDigi.GetChannel(); + for (UInt_t uBmonDigi = 0; uBmonDigi < uNbDigisBmon; ++uBmonDigi) { + CbmTofDigi& pDigi = vDigisBmon->at(uBmonDigi) UInt_t uChannel = pDigi.GetChannel(); Double_t dTime = pDigi.GetTime(); hDigisNbEvoTs->Fill(liEntry, uChannel); @@ -98,7 +99,7 @@ Bool_t FindHodoOrCoinc(Long64_t liNbEntryToRead = -1, UInt_t uRunId = 25, Double case 3: vDigisHodoBY.push_back(pDigi); break; default: break; } // switch( uChannel ) - } // for( UInt_t uT0Digi = 0; uT0Digi < uNbDigisT0; ++uT0Digi ) + } // for( UInt_t uBmonDigi = 0; uBmonDigi < uNbDigisBmon; ++uBmonDigi ) /// Efficient detection rely on time sorted arrays! /// Sort the Hodo A X array respective to time diff --git a/macro/beamtime/cosy2019/FindHodoOrHitOffsetsCosy2019.C b/macro/beamtime/cosy2019/FindHodoOrHitOffsetsCosy2019.C index 1acd9bd24f1c47a4219791514f56fa13220be407..6a6295eeb2c6bb5fe2d8b0a0f45bc86b5c5d0c9e 100644 --- a/macro/beamtime/cosy2019/FindHodoOrHitOffsetsCosy2019.C +++ b/macro/beamtime/cosy2019/FindHodoOrHitOffsetsCosy2019.C @@ -7,7 +7,7 @@ Bool_t FindHodoOrHitOffsetsCosy2019(Long64_t liNbEntryToRead = -1, UInt_t uRunId TString sInputFileName = "data/unp_cosy", TString sInputFileNameHits = "data/cosy2019") { - /// Ignore runs where the T0 FEE was not used + /// Ignore runs where the Bmon FEE was not used if (uRunId < 13) return kFALSE; /// Constants @@ -119,7 +119,7 @@ Bool_t FindHodoOrHitOffsetsCosy2019(Long64_t liNbEntryToRead = -1, UInt_t uRunId 180, -4.0, 4.0, 700, -4.0, 4.0); /// Input arrays - std::vector<CbmTofDigi>* vDigisT0 = new std::vector<CbmTofDigi>(); + std::vector<CbmTofDigi>* vDigisBmon = new std::vector<CbmTofDigi>(); /// Input initiaalization sInputFileName += Form("_%04u.root", uRunId); @@ -128,7 +128,7 @@ Bool_t FindHodoOrHitOffsetsCosy2019(Long64_t liNbEntryToRead = -1, UInt_t uRunId TTree* pTree = (TTree*) pFile->Get("cbmsim"); - pTree->SetBranchAddress("T0Digi", &vDigisT0); + pTree->SetBranchAddress("BmonDigi", &vDigisBmon); /// Temp storage std::vector<CbmTofDigi*> vDigisHodoAX; @@ -148,13 +148,14 @@ Bool_t FindHodoOrHitOffsetsCosy2019(Long64_t liNbEntryToRead = -1, UInt_t uRunId for (Long64_t liEntry = 1; liEntry < liNbEntryToRead; liEntry++) { pTree->GetEntry(liEntry); - UInt_t uNbDigisT0 = vDigisT0->size(); + UInt_t uNbDigisBmon = vDigisBmon->size(); if (0 == liEntry % 100) - std::cout << "Event " << std::setw(6) << liEntry << " Nb T0 digis is " << std::setw(6) << uNbDigisT0 << std::endl; + std::cout << "Event " << std::setw(6) << liEntry << " Nb Bmon digis is " << std::setw(6) << uNbDigisBmon + << std::endl; - for (UInt_t uT0Digi = 0; uT0Digi < uNbDigisT0; ++uT0Digi) { - CbmTofDigi& pDigi = vDigisT0->at(uT0Digi) UInt_t uChannel = pDigi.GetChannel(); + for (UInt_t uBmonDigi = 0; uBmonDigi < uNbDigisBmon; ++uBmonDigi) { + CbmTofDigi& pDigi = vDigisBmon->at(uBmonDigi) UInt_t uChannel = pDigi.GetChannel(); Double_t dTime = pDigi.GetTime(); hDigisNbEvoTs->Fill(liEntry, uChannel); @@ -167,7 +168,7 @@ Bool_t FindHodoOrHitOffsetsCosy2019(Long64_t liNbEntryToRead = -1, UInt_t uRunId case 3: vDigisHodoBY.push_back(pDigi); break; default: break; } // switch( uChannel ) - } // for( UInt_t uT0Digi = 0; uT0Digi < uNbDigisT0; ++uT0Digi ) + } // for( UInt_t uBmonDigi = 0; uBmonDigi < uNbDigisBmon; ++uBmonDigi ) /// Efficient detection rely on time sorted arrays! /// Sort the Hodo A X array respective to time diff --git a/macro/beamtime/cosy2019/FindHodoOrOffsetsCosy2019.C b/macro/beamtime/cosy2019/FindHodoOrOffsetsCosy2019.C index ad13fb559b0fcc5ca519d72a9927f75813aa747d..e8fdb30902203361ea60b3c038b4202788f47ab6 100644 --- a/macro/beamtime/cosy2019/FindHodoOrOffsetsCosy2019.C +++ b/macro/beamtime/cosy2019/FindHodoOrOffsetsCosy2019.C @@ -6,7 +6,7 @@ Bool_t FindHodoOrOffsetsCosy2019(Long64_t liNbEntryToRead = -1, UInt_t uRunId = Double_t dWinStop = 100., UInt_t uHodoWinLimClk = 100, UInt_t uStsWinLimClk = 500, TString sInputFileName = "data/unp_cosy") { - /// Ignore runs where the T0 FEE was not used + /// Ignore runs where the Bmon FEE was not used if (uRunId < 13) return kFALSE; /// Constants @@ -87,7 +87,7 @@ Bool_t FindHodoOrOffsetsCosy2019(Long64_t liNbEntryToRead = -1, UInt_t uRunId = (2 * uStsWinLimClk + 1), dStsWinStart, dStsWinStop, kuNbAsics, -0.5, kuNbAsics - 0.5); /// Input arrays - std::vector<CbmTofDigi>* vDigisT0 = new std::vector<CbmTofDigi>(); + std::vector<CbmTofDigi>* vDigisBmon = new std::vector<CbmTofDigi>(); std::vector<CbmStsDigi>* vDigisSts = new std::vector<CbmStsDigi>(); /// Input initiaalization @@ -96,7 +96,7 @@ Bool_t FindHodoOrOffsetsCosy2019(Long64_t liNbEntryToRead = -1, UInt_t uRunId = gROOT->cd(); TTree* pTree = (TTree*) pFile->Get("cbmsim"); - pTree->SetBranchAddress("T0Digi", &vDigisT0); + pTree->SetBranchAddress("BmonDigi", &vDigisBmon); pTree->SetBranchAddress("StsDigi", &vDigisSts); /// Temp storage @@ -123,15 +123,15 @@ Bool_t FindHodoOrOffsetsCosy2019(Long64_t liNbEntryToRead = -1, UInt_t uRunId = for (Long64_t liEntry = 1; liEntry < liNbEntryToRead; liEntry++) { pTree->GetEntry(liEntry); - UInt_t uNbDigisT0 = vDigisT0->size(); + UInt_t uNbDigisBmon = vDigisBmon->size(); UInt_t uNbDigisSts = vDigisSts->size(); if (0 == liEntry % 100) - std::cout << "Event " << std::setw(6) << liEntry << " Nb T0 digis is " << std::setw(6) << uNbDigisT0 + std::cout << "Event " << std::setw(6) << liEntry << " Nb Bmon digis is " << std::setw(6) << uNbDigisBmon << " Nb Sts Digis is " << std::setw(6) << uNbDigisSts << std::endl; - for (UInt_t uT0Digi = 0; uT0Digi < uNbDigisT0; ++uT0Digi) { - CbmTofDigi& pDigi = vDigisT0->at(uT0Digi) UInt_t uChannel = pDigi.GetChannel(); + for (UInt_t uBmonDigi = 0; uBmonDigi < uNbDigisBmon; ++uBmonDigi) { + CbmTofDigi& pDigi = vDigisBmon->at(uBmonDigi) UInt_t uChannel = pDigi.GetChannel(); Double_t dTime = pDigi.GetTime(); hDigisNbEvoTs->Fill(liEntry, uChannel); @@ -144,7 +144,7 @@ Bool_t FindHodoOrOffsetsCosy2019(Long64_t liNbEntryToRead = -1, UInt_t uRunId = case 3: vDigisHodoBY.push_back(pDigi); break; default: break; } // switch( uChannel ) - } // for( UInt_t uT0Digi = 0; uT0Digi < uNbDigisT0; ++uT0Digi ) + } // for( UInt_t uBmonDigi = 0; uBmonDigi < uNbDigisBmon; ++uBmonDigi ) /// Efficient detection rely on time sorted arrays! /// Sort the Hodo A X array respective to time diff --git a/macro/beamtime/cosy2019/FindOffsetsCosy2019.C b/macro/beamtime/cosy2019/FindOffsetsCosy2019.C index 6751af0089356b0d52cc6846acad21e1284da368..e02847a4ee546682236a2b8a48b3a4333de673a7 100644 --- a/macro/beamtime/cosy2019/FindOffsetsCosy2019.C +++ b/macro/beamtime/cosy2019/FindOffsetsCosy2019.C @@ -18,7 +18,7 @@ Bool_t FindOffsetsCosy2019(Long64_t liNbEntryToRead = -1, UInt_t uRunId = 12, UI std::vector<std::vector<CbmStsDigi*>> vDigisStsFirstChan; std::vector<std::vector<CbmStsDigi*>> vDigisStsLastChan; std::vector<CbmStsDigi*> vDigisHodoB; - std::vector<CbmTofDigi*> vDigisHodoT0; + std::vector<CbmTofDigi*> vDigisHodoBmon; vDigisSts.resize(kuNbAsics); vDigisStsFirstChan.resize(kuNbAsics); diff --git a/macro/beamtime/cosy2019/MonitorT0.C b/macro/beamtime/cosy2019/MonitorBmon.C similarity index 80% rename from macro/beamtime/cosy2019/MonitorT0.C rename to macro/beamtime/cosy2019/MonitorBmon.C index dc805176590616b87f0e75c63e4617218efc5494..d5cf66f3434633971c5f2ba35a5fc9035109082a 100644 --- a/macro/beamtime/cosy2019/MonitorT0.C +++ b/macro/beamtime/cosy2019/MonitorBmon.C @@ -14,8 +14,8 @@ // In order to call later Finish, we make this global FairRunOnline* run = NULL; -void MonitorT0(TString inFile = "", TString sHostname = "localhost", Int_t iServerHttpPort = 8082, - Int_t iServerRefreshRate = 100, UInt_t uRunId = 0, UInt_t nrEvents = 0) +void MonitorBmon(TString inFile = "", TString sHostname = "localhost", Int_t iServerHttpPort = 8082, + Int_t iServerRefreshRate = 100, UInt_t uRunId = 0, UInt_t nrEvents = 0) { TString srcDir = gSystem->Getenv("VMCWORKDIR"); @@ -37,7 +37,7 @@ void MonitorT0(TString inFile = "", TString sHostname = "localhost", Int_t iServ TList* parFileList = new TList(); TString paramDir = "./"; - TString paramFileTof = paramDir + "mT0Par.par"; + TString paramFileTof = paramDir + "mBmonPar.par"; TObjString* parTofFileName = new TObjString(paramFileTof); parFileList->Add(parTofFileName); @@ -45,17 +45,17 @@ void MonitorT0(TString inFile = "", TString sHostname = "localhost", Int_t iServ gDebug = 0; std::cout << std::endl; - std::cout << ">>> MonitorT0: output file is " << outFile << std::endl; + std::cout << ">>> MonitorBmon: output file is " << outFile << std::endl; // ======================================================================== // ======================================================================== std::cout << std::endl; - std::cout << ">>> MonitorT0: Initialising..." << std::endl; - CbmMcbm2018MonitorTaskT0* monitor_t0 = new CbmMcbm2018MonitorTaskT0(); + std::cout << ">>> MonitorBmon: Initialising..." << std::endl; + CbmMcbm2018MonitorTaskBmon* monitor_t0 = new CbmMcbm2018MonitorTaskBmon(); monitor_t0->SetIgnoreOverlapMs(); monitor_t0->SetHistoryHistoSize(1800); - if (0 < uRunId) monitor_t0->SetHistoFilename(Form("data/HistosMonitorT0_%03u.root", uRunId)); + if (0 < uRunId) monitor_t0->SetHistoFilename(Form("data/HistosMonitorBmon_%03u.root", uRunId)); if (uRunId < 87) monitor_t0->SetPulserTotLimits(90, 100); // for runs <= 86 else monitor_t0->SetPulserTotLimits(180, 210); // for runs > 86 @@ -69,7 +69,7 @@ void MonitorT0(TString inFile = "", TString sHostname = "localhost", Int_t iServ } // else of if( "" != inFile ) // source->AddUnpacker(monitor_t0, 0x60, 9 );//gDPB TOF - source->AddUnpacker(monitor_t0, 0x90, 9); //gDPB T0 + source->AddUnpacker(monitor_t0, 0x90, 9); //gDPB Bmon source->SetSubscriberHwm(1000); @@ -94,7 +94,7 @@ void MonitorT0(TString inFile = "", TString sHostname = "localhost", Int_t iServ // --- Start run TStopwatch timer; timer.Start(); - std::cout << ">>> MonitorT0: Starting run..." << std::endl; + std::cout << ">>> MonitorBmon: Starting run..." << std::endl; if (0 == nrEvents) { run->Run(nEvents, 0); // run until end of input file } @@ -111,9 +111,9 @@ void MonitorT0(TString inFile = "", TString sHostname = "localhost", Int_t iServ Double_t rtime = timer.RealTime(); Double_t ctime = timer.CpuTime(); std::cout << std::endl << std::endl; - std::cout << ">>> MonitorT0: Macro finished successfully." << std::endl; - std::cout << ">>> MonitorT0: Output file is " << outFile << std::endl; - std::cout << ">>> MonitorT0: Real time " << rtime << " s, CPU time " << ctime << " s" << std::endl; + std::cout << ">>> MonitorBmon: Macro finished successfully." << std::endl; + std::cout << ">>> MonitorBmon: Output file is " << outFile << std::endl; + std::cout << ">>> MonitorBmon: Real time " << rtime << " s, CPU time " << ctime << " s" << std::endl; std::cout << std::endl; /// --- Screen output for automatic tests diff --git a/macro/beamtime/cosy2019/PlotStsPosWithHodoCoinc.C b/macro/beamtime/cosy2019/PlotStsPosWithHodoCoinc.C index 4a8d10dc2b93734dd30d6353719f4778f92b2a47..a9f656c1fba17218783d79690acb6f9248c76e10 100644 --- a/macro/beamtime/cosy2019/PlotStsPosWithHodoCoinc.C +++ b/macro/beamtime/cosy2019/PlotStsPosWithHodoCoinc.C @@ -8,13 +8,13 @@ Bool_t PlotStsPosWithHodoCoinc(Long64_t liNbEntryToRead = -1, UInt_t uRunId = 12 /// Data Input TClonesArray* pHitsArraySts = new TClonesArray("CbmStsHit", - 5000); // TClonesArray * pHitsArrayT0 = new TClonesArray("CbmTofHit",5000); + 5000); // TClonesArray * pHitsArrayBmon = new TClonesArray("CbmTofHit",5000); /// Temp storage std::vector<CbmStsHit*> vHitsHodoA; std::vector<CbmStsHit*> vHitsSts; std::vector<CbmStsHit*> vHitsHodoB; - std::vector<CbmTofHit*> vHitsHodoT0; + std::vector<CbmTofHit*> vHitsHodoBmon; /// Histograms /// Raw @@ -77,8 +77,8 @@ Bool_t PlotStsPosWithHodoCoinc(Long64_t liNbEntryToRead = -1, UInt_t uRunId = 12 TBranch* pBranchSts = pTree->GetBranch("StsHit"); pBranchSts->SetAddress(&pHitsArraySts); /* - TBranch *pBranchT0 = pTree->GetBranch("T0Hit"); - pBranchT0->SetAddress( &pHitsArrayT0 ); + TBranch *pBranchBmon = pTree->GetBranch("BmonHit"); + pBranchBmon->SetAddress( &pHitsArrayBmon ); */ //read the number of entries in the tree Long64_t liNbEntries = pTree->GetEntries(); @@ -94,16 +94,16 @@ Bool_t PlotStsPosWithHodoCoinc(Long64_t liNbEntryToRead = -1, UInt_t uRunId = 12 pTree->GetEntry(liEntry); UInt_t uNbHitsSts = pHitsArraySts->GetEntriesFast(); - // UInt_t uNbHitsT0 = pHitsArrayT0->GetEntriesFast(); + // UInt_t uNbHitsBmon = pHitsArrayBmon->GetEntriesFast(); if (0 == liEntry % 1000) std::cout << "Event " << std::setw(6) << liEntry << " Nb Sts hits is " << std::setw(6) << uNbHitsSts - // << " Nb T0 hits is " << std::setw( 6 ) << uNbHitsT0 + // << " Nb Bmon hits is " << std::setw( 6 ) << uNbHitsBmon << std::endl; hHitsNbEvoTs->Fill(liEntry, 0., uNbHitsSts); - // hHitsNbEvoTs->Fill( liEntry, 1., uNbHitsT0 ); + // hHitsNbEvoTs->Fill( liEntry, 1., uNbHitsBmon ); vHitsHodoA.clear(); vHitsSts.clear(); @@ -143,14 +143,14 @@ Bool_t PlotStsPosWithHodoCoinc(Long64_t liNbEntryToRead = -1, UInt_t uRunId = 12 } // switch( uAddress ) } // for( UInt_t uStsHit = 0; uStsHit < uNbHitsSts; ++uStsHit ) /* - for( UInt_t uT0Hit = 0; uT0Hit < uNbHitsT0; ++uT0Hit ) + for( UInt_t uBmonHit = 0; uBmonHit < uNbHitsBmon; ++uBmonHit ) { - Double_t dTime = static_cast<const CbmTofHitExp*>( pHitsArrayT0->At(uT0Hit) )->GetTime(); + Double_t dTime = static_cast<const CbmTofHitExp*>( pHitsArrayBmon->At(uBmonHit) )->GetTime(); hHitsNbEvo->Fill( dTime * 1e-9, 1 ); hDetHitsNbEvoTs->Fill( liEntry, 3. ); hDetHitsNbEvo->Fill( dTime * 1e-9, 3 ); - } // for( UInt_t uT0Hit = 0; uT0Hit < uNbHitsT0; ++uT0Hit ) + } // for( UInt_t uBmonHit = 0; uBmonHit < uNbHitsBmon; ++uBmonHit ) */ /// Efficient detection rely on time sorted arrays! diff --git a/macro/beamtime/cosy2019/mT0Par.par b/macro/beamtime/cosy2019/mBmonPar.par similarity index 100% rename from macro/beamtime/cosy2019/mT0Par.par rename to macro/beamtime/cosy2019/mBmonPar.par diff --git a/macro/beamtime/cosy2019/unpack_tsa_cosy2019.C b/macro/beamtime/cosy2019/unpack_tsa_cosy2019.C index 54124dfe6fc19c5c0c4b0da69029924968323408..de66ffe9b1d3705e56992999202a34ad0b447369 100644 --- a/macro/beamtime/cosy2019/unpack_tsa_cosy2019.C +++ b/macro/beamtime/cosy2019/unpack_tsa_cosy2019.C @@ -41,7 +41,7 @@ void unpack_tsa_cosy2019(TString inFile = "", UInt_t uRunId = 0, UInt_t nrEvents TObjString* parStsFileName = new TObjString(paramFileSts); parFileList->Add(parStsFileName); - TString paramFileTof = paramDir + "mT0Par.par"; + TString paramFileTof = paramDir + "mBmonPar.par"; TObjString* parTofFileName = new TObjString(paramFileTof); parFileList->Add(parTofFileName); @@ -70,7 +70,7 @@ void unpack_tsa_cosy2019(TString inFile = "", UInt_t uRunId = 0, UInt_t nrEvents unpacker_tof->SetIgnoreOverlapMs(); unpacker_hodo->SetIgnoreOverlapMs(); - unpacker_tof->SetSeparateArrayT0(); + unpacker_tof->SetSeparateArrayBmon(); switch (uRunId) { case 1: // No correlation and missing ASICs? @@ -911,7 +911,7 @@ void unpack_tsa_cosy2019(TString inFile = "", UInt_t uRunId = 0, UInt_t nrEvents source->SetFileName(inFile); if (13 <= uRunId) { - source->AddUnpacker(unpacker_tof, 0x90, ECbmModuleId::kTof); //gDPB T0 + source->AddUnpacker(unpacker_tof, 0x90, ECbmModuleId::kTof); //gDPB Bmon } // if (13 <= uRunId) source->AddUnpacker(unpacker_hodo, 0x10, ECbmModuleId::kHodo); //HODO + STS xyter diff --git a/macro/beamtime/cosy2019/unpack_tsa_cosy2019_sts.C b/macro/beamtime/cosy2019/unpack_tsa_cosy2019_sts.C index 0dfd55bc07c11f115a378fcc94ae1d4309974b56..83145e5c9a28f63adb38411ee03dc193bdcc3fe8 100644 --- a/macro/beamtime/cosy2019/unpack_tsa_cosy2019_sts.C +++ b/macro/beamtime/cosy2019/unpack_tsa_cosy2019_sts.C @@ -73,7 +73,7 @@ void unpack_tsa_cosy2019_sts(TString inFile = "", UInt_t uRunId = 0, UInt_t nrEv // unpacker_tof ->SetIgnoreOverlapMs(); // unpacker_hodo->SetIgnoreOverlapMs(); - // unpacker_tof ->SetSeparateArrayT0(); + // unpacker_tof ->SetSeparateArrayBmon(); switch (uRunId) { /* @@ -136,7 +136,7 @@ void unpack_tsa_cosy2019_sts(TString inFile = "", UInt_t uRunId = 0, UInt_t nrEv source->SetFileName(inFile); source->AddUnpacker(unpacker_sts, 0x10, kSts); //STS xyter - // source->AddUnpacker(unpacker_tof, 0x90, kTof );//gDPB T0 + // source->AddUnpacker(unpacker_tof, 0x90, kTof );//gDPB Bmon // source->AddUnpacker(unpacker_hodo, 0x10, kHodo );//HODO xyter // --- Event header diff --git a/macro/beamtime/hd2020/ana_digi_cal.C b/macro/beamtime/hd2020/ana_digi_cal.C index 48b52f071b37308dc5546ef41941f803b6124e28..41643fa8b4cdb2710c5f89c435ff3efb5ba731f3 100644 --- a/macro/beamtime/hd2020/ana_digi_cal.C +++ b/macro/beamtime/hd2020/ana_digi_cal.C @@ -94,7 +94,7 @@ void ana_digi_cal(Int_t nEvents = 10000000, Int_t calMode = 53, Int_t calSel = 0 // tofClust->SetTimePeriod(25600.); // ignore coarse time // tofClust->SetCorMode(iBugCor); // correct missing hits tofClust->SetIdMode(0); // 1 = calibrate on module level - // tofClust->SetDeadStrips(15,23); // declare dead strip for T0M3,Rpc0,Strip 23 + // tofClust->SetDeadStrips(15,23); // declare dead strip for BmonM3,Rpc0,Strip 23 // tofClust->SetDeadStrips(27,30); // declare dead strip for T6M0,Rpc1,Strip 30 // tofClust->SetDeadStrips(28,19); // declare dead strip for T7M0,Rpc0,Strip 19 //tofClust->SetDeadStrips(25,16); // declare non-existant diamond strip (#5) dead diff --git a/macro/beamtime/mcbm2018/AnalyzeDigiMcbmFull.C b/macro/beamtime/mcbm2018/AnalyzeDigiMcbmFull.C index aa2056645aa518f9225e00db4dd342a4db0a70f0..4ec7525cf7301a6108a594c6709a8195fd0ed961 100644 --- a/macro/beamtime/mcbm2018/AnalyzeDigiMcbmFull.C +++ b/macro/beamtime/mcbm2018/AnalyzeDigiMcbmFull.C @@ -14,7 +14,7 @@ Bool_t AnalyzeDigiMcbmFull(Long64_t liNbEntryToRead = -1, TString sInputFileName std::vector<UInt_t> vuNbStsDigisBin(uNbBinsTs, 0); std::vector<UInt_t> vuNbMuchDigisBin(uNbBinsTs, 0); std::vector<UInt_t> vuNbTofDigisBin(uNbBinsTs, 0); - std::vector<UInt_t> vuNbT0DigisBin(uNbBinsTs, 0); + std::vector<UInt_t> vuNbBmonDigisBin(uNbBinsTs, 0); std::vector<UInt_t> vuNbAllDigisBin(uNbBinsTs, 0); std::vector<Double_t> vdDigisMeanTimeBin(uNbBinsTs, 0); @@ -22,7 +22,7 @@ Bool_t AnalyzeDigiMcbmFull(Long64_t liNbEntryToRead = -1, TString sInputFileName UInt_t uThrNbStsDigi = 1; UInt_t uThrNbMuchDigi = 1; UInt_t uThrNbTofDigi = 7; - UInt_t uThrNbT0Digi = 0; + UInt_t uThrNbBmonDigi = 0; UInt_t uThrNbAllDigi = 9; std::vector<Double_t> vdBinsWithEventStartTime; @@ -35,10 +35,10 @@ Bool_t AnalyzeDigiMcbmFull(Long64_t liNbEntryToRead = -1, TString sInputFileName std::vector<std::vector<Double_t>> vdStsDigiTimePerEvent; std::vector<std::vector<Double_t>> vdMuchDigiTimePerEvent; std::vector<std::vector<Double_t>> vdTofDigiTimePerEvent; - std::vector<std::vector<Double_t>> vdT0DigiTimePerEvent; + std::vector<std::vector<Double_t>> vdBmonDigiTimePerEvent; /// Histograms - std::vector<CbmTofDigi>* vDigisT0 = new std::vector<CbmTofDigi>(); + std::vector<CbmTofDigi>* vDigisBmon = new std::vector<CbmTofDigi>(); std::vector<CbmStsDigi>* vDigisSts = new std::vector<CbmStsDigi>(); std::vector<CbmMuchBeamTimeDigi>* vDigisMuch = new std::vector<CbmMuchBeamTimeDigi>(); std::vector<CbmTofDigi>* vDigisTof = new std::vector<CbmTofDigi>(); @@ -65,10 +65,10 @@ Bool_t AnalyzeDigiMcbmFull(Long64_t liNbEntryToRead = -1, TString sInputFileName "TOF digi counts per time bin vs Tree entry " "(TS); Entry []; Digi counts []; Bins []", 10000, 0, 10000, 200, 0, 200); - TH2* hBinCntT0EvoTs = new TH2D("hBinCntT0EvoTs", - "T0 digi counts per time bin vs Tree entry " - "(TS); Entry []; Digi counts []; Bins []", - 10000, 0, 10000, 200, 0, 200); + TH2* hBinCntBmonEvoTs = new TH2D("hBinCntBmonEvoTs", + "Bmon digi counts per time bin vs Tree entry " + "(TS); Entry []; Digi counts []; Bins []", + 10000, 0, 10000, 200, 0, 200); TH2* hBinCntAllEvoTs = new TH2D("hBinCntAllEvoTs", "Global digi counts per time bin vs Tree entry (TS); Entry []; " "Digi counts []; Bins []", @@ -100,10 +100,10 @@ Bool_t AnalyzeDigiMcbmFull(Long64_t liNbEntryToRead = -1, TString sInputFileName "Global digi counts per time bin vs same for TOF; TOF Digi count " "[]; ALL Digi counts []; Bins []", 200, 0, 200, 200, 0, 200); - TH2* hBinCntT0All = new TH2D("hBinCntT0All", - "Global digi counts per time bin vs same for T0; T0 Digi count " - "[]; ALL Digi counts []; Bins []", - 200, 0, 200, 200, 0, 200); + TH2* hBinCntBmonAll = new TH2D("hBinCntBmonAll", + "Global digi counts per time bin vs same for Bmon; Bmon Digi count " + "[]; ALL Digi counts []; Bins []", + 200, 0, 200, 200, 0, 200); /// Event detection TH1* hEventSeedEvo = @@ -128,18 +128,18 @@ Bool_t AnalyzeDigiMcbmFull(Long64_t liNbEntryToRead = -1, TString sInputFileName TH1* hStsT0TimeCorr = new TH1D("hStsT0TimeCorr", - "Time difference between each STS and T0 Digi pair in event; tSts " - "- tT0 [ns]; Digi pairs []", + "Time difference between each STS and Bmon Digi pair in event; tSts " + "- tBmon [ns]; Digi pairs []", (Int_t)(dEventWinToMeanMaxNs - dEventWinToMeanMinNs) / 5, dEventWinToMeanMinNs, dEventWinToMeanMaxNs); TH1* hMuchT0TimeCorr = new TH1D("hMuchT0TimeCorr", - "Time difference between each MUCH and T0 Digi pair in event; " - "tSts - tT0 [ns]; Digi pairs []", + "Time difference between each MUCH and Bmon Digi pair in event; " + "tSts - tBmon [ns]; Digi pairs []", (Int_t)(dEventWinToMeanMaxNs - dEventWinToMeanMinNs) / 5, dEventWinToMeanMinNs, dEventWinToMeanMaxNs); TH1* hTofT0TimeCorr = new TH1D("hTofT0TimeCorr", - "Time difference between each Tof and T0 Digi pair in event; tTof " - "- tT0 [ns]; Digi pairs []", + "Time difference between each Tof and Bmon Digi pair in event; tTof " + "- tBmon [ns]; Digi pairs []", (Int_t)(dEventWinToMeanMaxNs - dEventWinToMeanMinNs) / 5, dEventWinToMeanMinNs, dEventWinToMeanMaxNs); TFile* pFile = new TFile(sInputFileName, "READ"); @@ -147,7 +147,7 @@ Bool_t AnalyzeDigiMcbmFull(Long64_t liNbEntryToRead = -1, TString sInputFileName TTree* pTree = (TTree*) pFile->Get("cbmsim"); - pTree->SetBranchAddress("T0Digi", &vDigisT0); + pTree->SetBranchAddress("BmonDigi", &vDigisBmon); pTree->SetBranchAddress("StsDigi", &vDigisSts); pTree->SetBranchAddress("MuchBeamTimeDigi", &vDigisMuch); pTree->SetBranchAddress("TofDigi", &vDigisTof); @@ -162,7 +162,7 @@ Bool_t AnalyzeDigiMcbmFull(Long64_t liNbEntryToRead = -1, TString sInputFileName for (Long64_t liEntry = 3; liEntry < liNbEntryToRead; liEntry++) { pTree->GetEntry(liEntry); - UInt_t uNbDigisT0 = vDigisT0->size(); + UInt_t uNbDigisBmon = vDigisBmon->size(); UInt_t uNbDigisSts = vDigisSts->size(); UInt_t uNbDigisMuch = vDigisMuch->size(); UInt_t uNbDigisTof = vDigisTof->size(); @@ -170,17 +170,17 @@ Bool_t AnalyzeDigiMcbmFull(Long64_t liNbEntryToRead = -1, TString sInputFileName if (0 == liEntry % 1000) std::cout << "Event " << std::setw(6) << liEntry << " Nb Sts digis is " << std::setw(6) << uNbDigisSts << " Nb Much digis is " << std::setw(6) << uNbDigisMuch << " Nb Tof digis is " << std::setw(6) - << uNbDigisTof << " Nb T0 digis is " << std::setw(6) << uNbDigisT0 << std::endl; + << uNbDigisTof << " Nb Bmon digis is " << std::setw(6) << uNbDigisBmon << std::endl; hDigisNbEvoTs->Fill(liEntry, 0., uNbDigisSts); hDigisNbEvoTs->Fill(liEntry, 1., uNbDigisMuch); hDigisNbEvoTs->Fill(liEntry, 2., uNbDigisTof); - hDigisNbEvoTs->Fill(liEntry, 3., uNbDigisT0); + hDigisNbEvoTs->Fill(liEntry, 3., uNbDigisBmon); /* if( 0 < uNbDigisSts ) { - std::cout << " First STS digi time is " << std::setw(12) << ( vDigisT0->at( 0 ) ).GetTime() - 3.4e10 - << " Last STS digi time is " << std::setw(12) << ( vDigisT0->at( uNbDigisSts - 1) ).GetTime()- 3.4e10 + std::cout << " First STS digi time is " << std::setw(12) << ( vDigisBmon->at( 0 ) ).GetTime() - 3.4e10 + << " Last STS digi time is " << std::setw(12) << ( vDigisBmon->at( uNbDigisSts - 1) ).GetTime()- 3.4e10 << " Diff is " << ( pDigiLast->GetTime() - pDigiFirst->GetTime() ) << std::endl; } //if( 0 < uNbDigisSts ) @@ -205,7 +205,7 @@ Bool_t AnalyzeDigiMcbmFull(Long64_t liNbEntryToRead = -1, TString sInputFileName dOffsetRunStartNs + liEntry * dTsDurationNs - uExtraBins * dBinLengthNs; /// Add bins for the offset of STS/MUCH! for (UInt_t uStsDigi = 0; uStsDigi < uNbDigisSts; ++uStsDigi) { - Double_t dTime = (vDigisT0->at(uStsDigi)).GetTime(); + Double_t dTime = (vDigisBmon->at(uStsDigi)).GetTime(); hDigisNbEvo->Fill(dTime * 1e-9, 0); UInt_t uBin = (dTime - dTsStartNs) / dBinLengthNs; @@ -249,20 +249,20 @@ Bool_t AnalyzeDigiMcbmFull(Long64_t liNbEntryToRead = -1, TString sInputFileName vdDigisMeanTimeBin[uBin] += dTime; } // for( UInt_t uTofDigi = 0; uTofDigi < uNbDigisTof; ++uTofDigi ) - for (UInt_t uT0Digi = 0; uT0Digi < uNbDigisT0; ++uT0Digi) { - Double_t dTime = (vDigisT0->at(uT0Digi)).GetTime(); + for (UInt_t uBmonDigi = 0; uBmonDigi < uNbDigisBmon; ++uBmonDigi) { + Double_t dTime = (vDigisBmon->at(uBmonDigi)).GetTime(); hDigisNbEvo->Fill(dTime * 1e-9, 3); UInt_t uBin = (dTime - dTsStartNs) / dBinLengthNs; if (uNbBinsTs <= uBin) { - std::cout << "T0 " << uBin << " / " << uNbBinsTs << " " << uT0Digi << " / " << uNbDigisT0 << std::endl; + std::cout << "Bmon " << uBin << " / " << uNbBinsTs << " " << uBmonDigi << " / " << uNbDigisBmon << std::endl; continue; } // if( uNbBinsTs <= uBin ) - vuNbT0DigisBin[uBin]++; + vuNbBmonDigisBin[uBin]++; vuNbAllDigisBin[uBin]++; vdDigisMeanTimeBin[uBin] += dTime; - } // for( UInt_t uT0Digi = 0; uT0Digi < uNbDigisT0; ++uT0Digi ) + } // for( UInt_t uBmonDigi = 0; uBmonDigi < uNbDigisBmon; ++uBmonDigi ) for (UInt_t uBin = 0; uBin < uNbBinsTs; ++uBin) { if (0 < vuNbStsDigisBin[uBin]) { @@ -283,8 +283,8 @@ Bool_t AnalyzeDigiMcbmFull(Long64_t liNbEntryToRead = -1, TString sInputFileName hBinCntTofEvoTs->Fill(liEntry, vuNbTofDigisBin[uBin]); } // if( 0 < vuNbTofDigisBin[ uBin ] ) - if (0 < vuNbT0DigisBin[uBin]) { - hBinCntT0EvoTs->Fill(liEntry, vuNbT0DigisBin[uBin]); + if (0 < vuNbBmonDigisBin[uBin]) { + hBinCntBmonEvoTs->Fill(liEntry, vuNbBmonDigisBin[uBin]); } // if( 0 < vuNbTofDigisBin[ uBin ] ) if (0 < vuNbAllDigisBin[uBin]) { @@ -293,12 +293,12 @@ Bool_t AnalyzeDigiMcbmFull(Long64_t liNbEntryToRead = -1, TString sInputFileName hBinCntStsAll->Fill(vuNbStsDigisBin[uBin], vuNbAllDigisBin[uBin]); hBinCntMuchAll->Fill(vuNbMuchDigisBin[uBin], vuNbAllDigisBin[uBin]); hBinCntTofAll->Fill(vuNbTofDigisBin[uBin], vuNbAllDigisBin[uBin]); - hBinCntT0All->Fill(vuNbT0DigisBin[uBin], vuNbAllDigisBin[uBin]); + hBinCntBmonAll->Fill(vuNbBmonDigisBin[uBin], vuNbAllDigisBin[uBin]); } // if( 0 < vuNbAllDigisBin[ uBin ] ) /// Event detection if (uThrNbStsDigi <= vuNbStsDigisBin[uBin] && uThrNbMuchDigi <= vuNbMuchDigisBin[uBin] - && uThrNbTofDigi <= vuNbTofDigisBin[uBin] && uThrNbT0Digi <= vuNbT0DigisBin[uBin] + && uThrNbTofDigi <= vuNbTofDigisBin[uBin] && uThrNbBmonDigi <= vuNbBmonDigisBin[uBin] && uThrNbAllDigi <= vuNbAllDigisBin[uBin] && (0 == vdBinsWithEventStopTime.size() || vdBinsWithEventStopTime[vdBinsWithEventStopTime.size() - 1] < (dTsStartNs + uBin * dBinLengthNs))) { @@ -311,7 +311,7 @@ Bool_t AnalyzeDigiMcbmFull(Long64_t liNbEntryToRead = -1, TString sInputFileName vuNbStsDigisBin[uBin] = 0; vuNbMuchDigisBin[uBin] = 0; vuNbTofDigisBin[uBin] = 0; - vuNbT0DigisBin[uBin] = 0; + vuNbBmonDigisBin[uBin] = 0; vuNbAllDigisBin[uBin] = 0; vdDigisMeanTimeBin[uBin] = 0; } // for( UInt_t uBin = 0; uBin < uNbBinsTs; ++uBin ) @@ -334,13 +334,13 @@ Bool_t AnalyzeDigiMcbmFull(Long64_t liNbEntryToRead = -1, TString sInputFileName Bool_t bStsDone = kFALSE; Bool_t bMuchDone = kFALSE; Bool_t bTofDone = kFALSE; - Bool_t bT0Done = kFALSE; + Bool_t bBmonDone = kFALSE; for( ; liEntry < liNbEntryToRead; liEntry++) { pTree->GetEntry(liEntry); - UInt_t uNbDigisT0 = vDigisT0->size(); + UInt_t uNbDigisBmon = vDigisBmon->size(); UInt_t uNbDigisSts = vDigisSts->size(); UInt_t uNbDigisMuch = vDigisMuch->size(); UInt_t uNbDigisTof = vDigisTof->size(); @@ -349,7 +349,7 @@ Bool_t AnalyzeDigiMcbmFull(Long64_t liNbEntryToRead = -1, TString sInputFileName for( UInt_t uStsDigi = 0; uStsDigi < uNbDigisSts; ++uStsDigi ) { - Double_t dTime = ( vDigisT0->at( uStsDigi) ).GetTime(); + Double_t dTime = ( vDigisBmon->at( uStsDigi) ).GetTime(); if( dBinStartTime <= dTime && dTime < dBinStopTime ) { dMeanTime += dTime; @@ -396,9 +396,9 @@ Bool_t AnalyzeDigiMcbmFull(Long64_t liNbEntryToRead = -1, TString sInputFileName } // if( dBinStopTime <= dTime ) } // for( UInt_t uTofDigi = 0; uTofDigi < uNbDigisTof; ++uTofDigi ) - for( UInt_t uT0Digi = 0; uT0Digi < uNbDigisT0; ++uT0Digi ) + for( UInt_t uBmonDigi = 0; uBmonDigi < uNbDigisBmon; ++uBmonDigi ) { - Double_t dTime = ( vDigisT0->at( uT0Digi ) ).GetTime(); + Double_t dTime = ( vDigisBmon->at( uBmonDigi ) ).GetTime(); if( dBinStartTime <= dTime && dTime < dBinStopTime ) { dMeanTime += dTime; @@ -407,12 +407,12 @@ Bool_t AnalyzeDigiMcbmFull(Long64_t liNbEntryToRead = -1, TString sInputFileName if( dBinStopTime <= dTime ) { - bT0Done = kTRUE; + bBmonDone = kTRUE; break; } // if( dBinStopTime <= dTime ) - } // for( UInt_t uT0Digi = 0; uT0Digi < uNbDigisT0; ++uT0Digi ) + } // for( UInt_t uBmonDigi = 0; uBmonDigi < uNbDigisBmon; ++uBmonDigi ) - if( kTRUE == bStsDone && kTRUE == bMuchDone && kTRUE == bTofDone && kTRUE == bT0Done ) + if( kTRUE == bStsDone && kTRUE == bMuchDone && kTRUE == bTofDone && kTRUE == bBmonDone ) break; } // for( ; liEntry < nentries; liEntry++) @@ -427,7 +427,7 @@ Bool_t AnalyzeDigiMcbmFull(Long64_t liNbEntryToRead = -1, TString sInputFileName vdStsDigiTimePerEvent.resize(uNbEventSeeds); vdMuchDigiTimePerEvent.resize(uNbEventSeeds); vdTofDigiTimePerEvent.resize(uNbEventSeeds); - vdT0DigiTimePerEvent.resize(uNbEventSeeds); + vdBmonDigiTimePerEvent.resize(uNbEventSeeds); Long64_t liEntry = 3; for (UInt_t uEventSeed = 0; uEventSeed < uNbEventSeeds; ++uEventSeed) { if (0 == uEventSeed % 1000) std::cout << uEventSeed << " / " << uNbEventSeeds << std::endl; @@ -438,18 +438,18 @@ Bool_t AnalyzeDigiMcbmFull(Long64_t liNbEntryToRead = -1, TString sInputFileName Bool_t bStsDone = kFALSE; Bool_t bMuchDone = kFALSE; Bool_t bTofDone = kFALSE; - Bool_t bT0Done = kFALSE; + Bool_t bBmonDone = kFALSE; for (; liEntry < liNbEntryToRead; liEntry++) { pTree->GetEntry(liEntry); - UInt_t uNbDigisT0 = vDigisT0->size(); + UInt_t uNbDigisBmon = vDigisBmon->size(); UInt_t uNbDigisSts = vDigisSts->size(); UInt_t uNbDigisMuch = vDigisMuch->size(); UInt_t uNbDigisTof = vDigisTof->size(); for (UInt_t uStsDigi = 0; uStsDigi < uNbDigisSts; ++uStsDigi) { - Double_t dTime = (vDigisT0->at(uStsDigi)).GetTime(); + Double_t dTime = (vDigisBmon->at(uStsDigi)).GetTime(); if (dEvtStartTime <= dTime && dTime < dEvtStopTime) { vdStsDigiTimePerEvent[uEventSeed].push_back(dTime); } // if( dEvtStartTime <= dTime && dTime < dEvtStopTime ) @@ -484,19 +484,19 @@ Bool_t AnalyzeDigiMcbmFull(Long64_t liNbEntryToRead = -1, TString sInputFileName } // if( dEvtStopTime <= dTime ) } // for( UInt_t uTofDigi = 0; uTofDigi < uNbDigisTof; ++uTofDigi ) - for (UInt_t uT0Digi = 0; uT0Digi < uNbDigisT0; ++uT0Digi) { - Double_t dTime = (vDigisT0->at(uT0Digi)).GetTime(); + for (UInt_t uBmonDigi = 0; uBmonDigi < uNbDigisBmon; ++uBmonDigi) { + Double_t dTime = (vDigisBmon->at(uBmonDigi)).GetTime(); if (dEvtStartTime <= dTime && dTime < dEvtStopTime) { - vdT0DigiTimePerEvent[uEventSeed].push_back(dTime); + vdBmonDigiTimePerEvent[uEventSeed].push_back(dTime); } // if( dEvtStartTime <= dTime && dTime < dEvtStopTime ) if (dEvtStopTime <= dTime) { - bT0Done = kTRUE; + bBmonDone = kTRUE; break; } // if( dEvtStopTime <= dTime ) - } // for( UInt_t uT0Digi = 0; uT0Digi < uNbDigisT0; ++uT0Digi ) + } // for( UInt_t uBmonDigi = 0; uBmonDigi < uNbDigisBmon; ++uBmonDigi ) - if (kTRUE == bStsDone && kTRUE == bMuchDone && kTRUE == bTofDone && kTRUE == bT0Done) break; + if (kTRUE == bStsDone && kTRUE == bMuchDone && kTRUE == bTofDone && kTRUE == bBmonDone) break; } // for( ; liEntry < nentries; liEntry++) for (UInt_t uStsTime = 0; uStsTime < vdStsDigiTimePerEvent[uEventSeed].size(); ++uStsTime) { @@ -519,20 +519,20 @@ Bool_t AnalyzeDigiMcbmFull(Long64_t liNbEntryToRead = -1, TString sInputFileName } // for( UInt_t uMuchTime = 0; uMuchTime < vdMuchDigiTimePerEvent[ uEventSeed ].size(); ++uMuchTime ) - for (UInt_t uT0Time = 0; uT0Time < vdT0DigiTimePerEvent[uEventSeed].size(); ++uT0Time) { + for (UInt_t uT0Time = 0; uT0Time < vdBmonDigiTimePerEvent[uEventSeed].size(); ++uT0Time) { for (UInt_t uStsTime = 0; uStsTime < vdStsDigiTimePerEvent[uEventSeed].size(); ++uStsTime) { - hStsT0TimeCorr->Fill(vdStsDigiTimePerEvent[uEventSeed][uStsTime] - vdT0DigiTimePerEvent[uEventSeed][uT0Time]); + hStsT0TimeCorr->Fill(vdStsDigiTimePerEvent[uEventSeed][uStsTime] - vdBmonDigiTimePerEvent[uEventSeed][uT0Time]); } // for( UInt_t uStsTime = 0; uStsTime < vdStsDigiTimePerEvent[ uEventSeed ].size(); ++uStsTime ) for (UInt_t uMuchTime = 0; uMuchTime < vdMuchDigiTimePerEvent[uEventSeed].size(); ++uMuchTime) { hMuchT0TimeCorr->Fill(vdMuchDigiTimePerEvent[uEventSeed][uMuchTime] - - vdT0DigiTimePerEvent[uEventSeed][uT0Time]); + - vdBmonDigiTimePerEvent[uEventSeed][uT0Time]); } // for( UInt_t uMuchTime = 0; uMuchTime < vdMuchDigiTimePerEvent[ uEventSeed ].size(); ++uMuchTime ) for (UInt_t uTofTime = 0; uTofTime < vdTofDigiTimePerEvent[uEventSeed].size(); ++uTofTime) { - hTofT0TimeCorr->Fill(vdTofDigiTimePerEvent[uEventSeed][uTofTime] - vdT0DigiTimePerEvent[uEventSeed][uT0Time]); + hTofT0TimeCorr->Fill(vdTofDigiTimePerEvent[uEventSeed][uTofTime] - vdBmonDigiTimePerEvent[uEventSeed][uT0Time]); } // for( UInt_t uTofTime = 0; uTofTime < vdTofDigiTimePerEvent[ uEventSeed ].size(); ++uTofTime ) - } // for( UInt_t uT0Time = 0; uT0Time < vdT0DigiTimePerEvent[ uEventSeed ].size(); ++uT0Time ) + } // for( UInt_t uT0Time = 0; uT0Time < vdBmonDigiTimePerEvent[ uEventSeed ].size(); ++uT0Time ) } // for( UInt_t uEventSeed = 0; uEventSeed < uNbEventSeeds; ++uEventSeed ) @@ -578,7 +578,7 @@ Bool_t AnalyzeDigiMcbmFull(Long64_t liNbEntryToRead = -1, TString sInputFileName gPad->SetGridx(); gPad->SetGridy(); gPad->SetLogz(); - hBinCntT0EvoTs->Draw("colz"); + hBinCntBmonEvoTs->Draw("colz"); cBinCntEvo->cd(6); gPad->SetGridx(); @@ -632,7 +632,7 @@ Bool_t AnalyzeDigiMcbmFull(Long64_t liNbEntryToRead = -1, TString sInputFileName gPad->SetGridx(); gPad->SetGridy(); gPad->SetLogz(); - hBinCntT0All->Draw("colz"); + hBinCntBmonAll->Draw("colz"); TCanvas* cEventSeedEvo = new TCanvas("cEventSeedEvo", "Event seed number vs time in run"); cEventSeedEvo->cd(); @@ -658,20 +658,20 @@ Bool_t AnalyzeDigiMcbmFull(Long64_t liNbEntryToRead = -1, TString sInputFileName gPad->SetGridy(); hStsMuchTimeCorr->Draw(""); - TCanvas* cEventTimeCorrT0 = new TCanvas("cEventTimeCorrT0", "Time correlation between systems in events"); - cEventTimeCorrT0->Divide(2, 2); + TCanvas* cEventTimeCorrBmon = new TCanvas("cEventTimeCorrBmon", "Time correlation between systems in events"); + cEventTimeCorrBmon->Divide(2, 2); - cEventTimeCorrT0->cd(1); + cEventTimeCorrBmon->cd(1); gPad->SetGridx(); gPad->SetGridy(); hStsT0TimeCorr->Draw(""); - cEventTimeCorrT0->cd(2); + cEventTimeCorrBmon->cd(2); gPad->SetGridx(); gPad->SetGridy(); hMuchT0TimeCorr->Draw(""); - cEventTimeCorrT0->cd(3); + cEventTimeCorrBmon->cd(3); gPad->SetGridx(); gPad->SetGridy(); hTofT0TimeCorr->Draw(""); @@ -684,7 +684,7 @@ Bool_t AnalyzeDigiMcbmFull(Long64_t liNbEntryToRead = -1, TString sInputFileName hBinCntStsEvoTs->Write(); hBinCntMuchEvoTs->Write(); hBinCntTofEvoTs->Write(); - hBinCntT0EvoTs->Write(); + hBinCntBmonEvoTs->Write(); hBinCntAllEvoTs->Write(); hBinCntStsMuch->Write(); hBinCntStsTof->Write(); @@ -692,7 +692,7 @@ Bool_t AnalyzeDigiMcbmFull(Long64_t liNbEntryToRead = -1, TString sInputFileName hBinCntStsAll->Write(); hBinCntMuchAll->Write(); hBinCntTofAll->Write(); - hBinCntT0All->Write(); + hBinCntBmonAll->Write(); hEventSeedEvo->Write(); hStsTofTimeCorr->Write(); hMuchTofTimeCorr->Write(); @@ -707,7 +707,7 @@ Bool_t AnalyzeDigiMcbmFull(Long64_t liNbEntryToRead = -1, TString sInputFileName cBinCntAll->Write(); cEventSeedEvo->Write(); cEventTimeCorr->Write(); - cEventTimeCorrT0->Write(); + cEventTimeCorrBmon->Write(); gROOT->cd(); outFile->Close(); diff --git a/macro/beamtime/mcbm2018/BmonCoincPlotSingleRun.C b/macro/beamtime/mcbm2018/BmonCoincPlotSingleRun.C new file mode 100644 index 0000000000000000000000000000000000000000..51a2b678740aa35b01add89d59cca9fbead307bf --- /dev/null +++ b/macro/beamtime/mcbm2018/BmonCoincPlotSingleRun.C @@ -0,0 +1,150 @@ +/* Copyright (C) 2019 Facility for Antiproton and Ion Research in Europe, Darmstadt + SPDX-License-Identifier: GPL-3.0-only + Authors: Pierre-Alain Loizeau [committer] */ + +Bool_t BmonCoincPlotSingleRun(UInt_t uRunId) +{ + /// Obtaining the plots + TH1* tempH1 = NULL; + TH1* phStsBmon; + TH1* phMuchBmon; + TH1* phTofBmon; + TH1* phRichBmon; + + /// Open File + TFile* pFile = TFile::Open(Form("HistosTimeCheck_%03u.root", uRunId)); + gROOT->cd(); + + if (nullptr == pFile) return kFALSE; + + phStsBmon = new TH1D(); + tempH1 = (TH1*) (pFile->FindObjectAny("fBmonStsDiff")); + if (NULL != tempH1) { + tempH1->Copy(*(phStsBmon)); ///? + } // if( NULL != tempH1 ) + else + return kFALSE; + + phMuchBmon = new TH1D(); + tempH1 = (TH1*) (pFile->FindObjectAny("fBmonMuchDiff")); + if (NULL != tempH1) { + tempH1->Copy(*(phMuchBmon)); ///? + } // if( NULL != tempH1 ) + else + return kFALSE; + + phTofBmon = new TH1D(); + tempH1 = (TH1*) (pFile->FindObjectAny("fBmonTofDiff")); + if (NULL != tempH1) { + tempH1->Copy(*(phTofBmon)); ///? + } // if( NULL != tempH1 ) + else + return kFALSE; + + phRichBmon = new TH1D(); + tempH1 = (TH1*) (pFile->FindObjectAny("fBmonRichDiff")); + if (NULL != tempH1) { + tempH1->Copy(*(phRichBmon)); ///? + } // if( NULL != tempH1 ) + else + return kFALSE; + + /// Plotting: THStacks with all available detectors VS Bmon + TCanvas* cBmonCoinc = + new TCanvas(Form("cBmonCoinc_%03u", uRunId), Form("Time Coincidence with Bmon in run %3u", uRunId)); + + THStack* pStacksBmonCoinc = + new THStack(Form("stackBmonCoinc_%02u", uRunId), + Form("Time Coincidence with Bmon in run %02u; tBmon - Tdet [ns]; Pairs []", uRunId)); + TLegend* legend = new TLegend(0.1, 0.7, 0.3, 0.9); + + phStsBmon->SetLineColor(kBlack); + phMuchBmon->SetLineColor(kRed); + phTofBmon->SetLineColor(kBlue); + phRichBmon->SetLineColor(kViolet); + + phStsBmon->SetLineWidth(2); + phMuchBmon->SetLineWidth(2); + phTofBmon->SetLineWidth(2); + phRichBmon->SetLineWidth(2); + + pStacksBmonCoinc->Add(phStsBmon); + pStacksBmonCoinc->Add(phMuchBmon); + pStacksBmonCoinc->Add(phTofBmon); + pStacksBmonCoinc->Add(phRichBmon); + + legend->AddEntry(phStsBmon, "STS", "l"); + legend->AddEntry(phMuchBmon, "MUCH", "l"); + legend->AddEntry(phTofBmon, "TOF", "l"); + legend->AddEntry(phRichBmon, "RICH", "l"); + + cBmonCoinc->cd(); + gPad->SetGridx(); + gPad->SetGridy(); + gPad->SetLogy(); + pStacksBmonCoinc->Draw("nostack,hist"); + legend->Draw(); + pStacksBmonCoinc->GetXaxis()->SetRangeUser(-2000.0, 2000.0); + + /// Plotting: rescaled to baseline plots with all available detectors VS Bmon + /// => TODO: fit baseline out of sync peak + Double_t dBaselineSts; + Double_t dBaselineMuch; + Double_t dBaselineTof; + Double_t dBaselineRich; + + /// TEMP solution: read bin at -5000 ns + dBaselineSts = phStsBmon->GetBinContent(phStsBmon->FindBin(-5000)); + dBaselineMuch = phMuchBmon->GetBinContent(phMuchBmon->FindBin(-5000)); + dBaselineTof = phTofBmon->GetBinContent(phTofBmon->FindBin(-5000)); + dBaselineRich = phRichBmon->GetBinContent(phRichBmon->FindBin(-5000)); + + TH1* phRescaledStsBmon = static_cast<TH1*>(phStsBmon->Clone("hRescaledStsBmon")); + TH1* phRescaledMuchBmon = static_cast<TH1*>(phMuchBmon->Clone("hRescaledMuchBmon")); + TH1* phRescaledTofBmon = static_cast<TH1*>(phTofBmon->Clone("hRescaledTofBmon")); + TH1* phRescaledRichBmon = static_cast<TH1*>(phRichBmon->Clone("hRescaledRichBmon")); + + phRescaledStsBmon->Scale(1 / dBaselineSts); + phRescaledMuchBmon->Scale(1 / dBaselineMuch); + phRescaledTofBmon->Scale(1 / dBaselineTof); + phRescaledRichBmon->Scale(1 / dBaselineRich); + + TCanvas* cBmonCoincRescale = + new TCanvas(Form("cBmonCoincRescale_%03u", uRunId), Form("Time Coincidence with Bmon in run %3u", uRunId)); + + THStack* pStacksBmonCoincRescale = new THStack(Form("stackBmonCoincRescale_%02u", uRunId), + Form("Time Coincidence with Bmon in run %02u; tBmon - Tdet [ns]; " + "Pairs nb rescaled [1/baseline]", + uRunId)); + TLegend* legendRescale = new TLegend(0.1, 0.7, 0.3, 0.9); + + phRescaledStsBmon->SetLineColor(kBlack); + phRescaledMuchBmon->SetLineColor(kRed); + phRescaledTofBmon->SetLineColor(kBlue); + phRescaledRichBmon->SetLineColor(kViolet); + + phRescaledStsBmon->SetLineWidth(2); + phRescaledMuchBmon->SetLineWidth(2); + phRescaledTofBmon->SetLineWidth(2); + phRescaledRichBmon->SetLineWidth(2); + + pStacksBmonCoincRescale->Add(phRescaledStsBmon); + pStacksBmonCoincRescale->Add(phRescaledMuchBmon); + pStacksBmonCoincRescale->Add(phRescaledTofBmon); + pStacksBmonCoincRescale->Add(phRescaledRichBmon); + + legendRescale->AddEntry(phRescaledStsBmon, "STS", "l"); + legendRescale->AddEntry(phRescaledMuchBmon, "MUCH", "l"); + legendRescale->AddEntry(phRescaledTofBmon, "TOF", "l"); + legendRescale->AddEntry(phRescaledRichBmon, "RICH", "l"); + + cBmonCoincRescale->cd(); + gPad->SetGridx(); + gPad->SetGridy(); + gPad->SetLogy(); + pStacksBmonCoincRescale->Draw("nostack,hist"); + legendRescale->Draw(); + pStacksBmonCoincRescale->GetXaxis()->SetRangeUser(-2000.0, 2000.0); + + return kTRUE; +} diff --git a/macro/beamtime/mcbm2018/T0MoniPlot.C b/macro/beamtime/mcbm2018/BmonMoniPlot.C similarity index 84% rename from macro/beamtime/mcbm2018/T0MoniPlot.C rename to macro/beamtime/mcbm2018/BmonMoniPlot.C index 7f362d64339bcdf0fc07742be8c9318b14ddcd80..d08162445403b9fe5473d8d9da7eeb7fb3b27bea 100644 --- a/macro/beamtime/mcbm2018/T0MoniPlot.C +++ b/macro/beamtime/mcbm2018/BmonMoniPlot.C @@ -2,7 +2,7 @@ SPDX-License-Identifier: GPL-3.0-only Authors: Pierre-Alain Loizeau [committer] */ -Bool_t T0MoniPlot() +Bool_t BmonMoniPlot() { /// 23/03/2019 const UInt_t kuNbRunPerStack = 4; @@ -12,7 +12,7 @@ Bool_t T0MoniPlot() 94, 95, 96, 97, // Detectors parameters scan 98, 99, 100, 101, 102, 103, 104, 105, 106, // Beam intensity and target scan (=> collision rate scan up, empty, no beam) - 107, 109, 110, // T0 threshold scan + 107, 109, 110, // Bmon threshold scan 111 // Cooldown run }; @@ -22,7 +22,7 @@ Bool_t T0MoniPlot() TH1* phHitCntEvo[kuNbRuns]; TFile* pFile[kuNbRuns]; for (UInt_t uRun = 0; uRun < kuNbRuns; ++uRun) { - pFile[uRun] = TFile::Open(Form("data/HistosMonitorT0_%03u.root", uRunId[uRun])); + pFile[uRun] = TFile::Open(Form("data/HistosMonitorBmon_%03u.root", uRunId[uRun])); gROOT->cd(); phHitsPerSpill[uRun] = new TH1D(); @@ -43,16 +43,16 @@ Bool_t T0MoniPlot() } // for( UInt_t uRun = 0; uRun < kuNbRuns; ++ uRun ) /// Plotting: THStacks with 4 runs per pad, 3*2 Pads per Canvas, 1 Canvas per plot - TCanvas* cHitsSpill = new TCanvas("cHitsSpill", "T0 hits per spill"); + TCanvas* cHitsSpill = new TCanvas("cHitsSpill", "Bmon hits per spill"); cHitsSpill->Divide(3, 2); - TCanvas* cHitsCnt = new TCanvas("cHitsCnt", "T0 hits count vs Time in Run"); + TCanvas* cHitsCnt = new TCanvas("cHitsCnt", "Bmon hits count vs Time in Run"); cHitsCnt->Divide(3, 2); - TCanvas* cHitsSpillAll = new TCanvas("cHitsSpillAll", "T0 hits per spill"); + TCanvas* cHitsSpillAll = new TCanvas("cHitsSpillAll", "Bmon hits per spill"); cHitsSpillAll->Divide(6, 4); - TCanvas* cHitsCntAll = new TCanvas("cHitsCntAll", "T0 hits count vs Time in Run"); + TCanvas* cHitsCntAll = new TCanvas("cHitsCntAll", "Bmon hits count vs Time in Run"); cHitsCntAll->Divide(6, 4); THStack* pStacksHitSpill[kuNbRuns / kuNbRunPerStack + (kuNbRuns % kuNbRunPerStack ? 1 : 0)]; @@ -60,8 +60,8 @@ Bool_t T0MoniPlot() for (UInt_t uRun = 0; uRun < kuNbRuns; ++uRun) { if (0 == uRun % kuNbRunPerStack) { pStacksHitSpill[uRun / kuNbRunPerStack] = new THStack( - Form("stackHitSpill_%02u", uRunId[uRun]), - Form("Evolution of T0 hits per spill for runs %02u to %02u", uRunId[uRun], uRunId[uRun + kuNbRunPerStack - 1])); + Form("stackHitSpill_%02u", uRunId[uRun]), Form("Evolution of Bmon hits per spill for runs %02u to %02u", + uRunId[uRun], uRunId[uRun + kuNbRunPerStack - 1])); pStacksHitEvo[uRun / kuNbRunPerStack] = new THStack(Form("stackHitCnt_%02u", uRunId[uRun]), Form("Evolution of To hits count for runs %02u to %02u", uRunId[uRun], uRunId[uRun + kuNbRunPerStack - 1])); diff --git a/macro/beamtime/mcbm2018/CheckDataFormatGdpb.C b/macro/beamtime/mcbm2018/CheckDataFormatGdpb.C index 240b5dda22960a2b8751ae303d72779531ab7b0a..81b6e6b2ff0f0f31802769e693252b8a82a48a0c 100644 --- a/macro/beamtime/mcbm2018/CheckDataFormatGdpb.C +++ b/macro/beamtime/mcbm2018/CheckDataFormatGdpb.C @@ -75,7 +75,7 @@ void CheckDataFormatGdpb(TString inFile = "", TString sHostname = "localhost", I } source->AddUnpacker(test_monitor_tof, 0x60, 6); //gDPBs - source->AddUnpacker(test_monitor_tof, 0x90, 6); //gDPBs T0 + source->AddUnpacker(test_monitor_tof, 0x90, 6); //gDPBs Bmon // --- Run run = new FairRunOnline(source); diff --git a/macro/beamtime/mcbm2018/DataRateMoniPlot.C b/macro/beamtime/mcbm2018/DataRateMoniPlot.C index b74993c10d2437d234c095cfed55d295548a1f20..da470a435cd14c031180c21e4a152e40c9246b48 100644 --- a/macro/beamtime/mcbm2018/DataRateMoniPlot.C +++ b/macro/beamtime/mcbm2018/DataRateMoniPlot.C @@ -14,7 +14,7 @@ Bool_t DataRateMoniPlot() 94, 95, 96, 97, // Detectors parameters scan 98, 99, 100, 101, 102, 103, 104, 105, 106, // Beam intensity and target scan (=> collision rate scan up, empty, no beam) - 107, 109, 110, // T0 threshold scan + 107, 109, 110, // Bmon threshold scan 111 // Cooldown run }; diff --git a/macro/beamtime/mcbm2018/MonitorT0.C b/macro/beamtime/mcbm2018/MonitorBmon.C similarity index 80% rename from macro/beamtime/mcbm2018/MonitorT0.C rename to macro/beamtime/mcbm2018/MonitorBmon.C index 721246bab4665f34ed260a6f4bf9d1d736b8ba00..b333432b784ad157dcc80902dd87b858b4f01f59 100644 --- a/macro/beamtime/mcbm2018/MonitorT0.C +++ b/macro/beamtime/mcbm2018/MonitorBmon.C @@ -14,8 +14,8 @@ // In order to call later Finish, we make this global FairRunOnline* run = NULL; -void MonitorT0(TString inFile = "", TString sHostname = "localhost", Int_t iServerHttpPort = 8080, - Int_t iServerRefreshRate = 100, UInt_t uRunId = 0, UInt_t nrEvents = 0) +void MonitorBmon(TString inFile = "", TString sHostname = "localhost", Int_t iServerHttpPort = 8080, + Int_t iServerRefreshRate = 100, UInt_t uRunId = 0, UInt_t nrEvents = 0) { TString srcDir = gSystem->Getenv("VMCWORKDIR"); @@ -37,7 +37,7 @@ void MonitorT0(TString inFile = "", TString sHostname = "localhost", Int_t iServ TList* parFileList = new TList(); TString paramDir = "./"; - TString paramFileTof = paramDir + "mT0Par.par"; + TString paramFileTof = paramDir + "mBmonPar.par"; TObjString* parTofFileName = new TObjString(paramFileTof); parFileList->Add(parTofFileName); @@ -45,17 +45,17 @@ void MonitorT0(TString inFile = "", TString sHostname = "localhost", Int_t iServ gDebug = 0; std::cout << std::endl; - std::cout << ">>> MonitorT0: output file is " << outFile << std::endl; + std::cout << ">>> MonitorBmon: output file is " << outFile << std::endl; // ======================================================================== // ======================================================================== std::cout << std::endl; - std::cout << ">>> MonitorT0: Initialising..." << std::endl; - CbmMcbm2018MonitorTaskT0* monitor_t0 = new CbmMcbm2018MonitorTaskT0(); + std::cout << ">>> MonitorBmon: Initialising..." << std::endl; + CbmMcbm2018MonitorTaskBmon* monitor_t0 = new CbmMcbm2018MonitorTaskBmon(); monitor_t0->SetIgnoreOverlapMs(); monitor_t0->SetHistoryHistoSize(1800); - if (0 < uRunId) monitor_t0->SetHistoFilename(Form("data/HistosMonitorT0_%03u.root", uRunId)); + if (0 < uRunId) monitor_t0->SetHistoFilename(Form("data/HistosMonitorBmon_%03u.root", uRunId)); if (uRunId < 87) monitor_t0->SetPulserTotLimits(90, 100); // for runs <= 86 else monitor_t0->SetPulserTotLimits(180, 210); // for runs > 86 @@ -69,7 +69,7 @@ void MonitorT0(TString inFile = "", TString sHostname = "localhost", Int_t iServ } // else of if( "" != inFile ) // source->AddUnpacker(monitor_t0, 0x60, 9 );//gDPB TOF - source->AddUnpacker(monitor_t0, 0x90, 9); //gDPB T0 + source->AddUnpacker(monitor_t0, 0x90, 9); //gDPB Bmon source->SetSubscriberHwm(1000); @@ -94,7 +94,7 @@ void MonitorT0(TString inFile = "", TString sHostname = "localhost", Int_t iServ // --- Start run TStopwatch timer; timer.Start(); - std::cout << ">>> MonitorT0: Starting run..." << std::endl; + std::cout << ">>> MonitorBmon: Starting run..." << std::endl; if (0 == nrEvents) { run->Run(nEvents, 0); // run until end of input file } @@ -111,9 +111,9 @@ void MonitorT0(TString inFile = "", TString sHostname = "localhost", Int_t iServ Double_t rtime = timer.RealTime(); Double_t ctime = timer.CpuTime(); std::cout << std::endl << std::endl; - std::cout << ">>> MonitorT0: Macro finished successfully." << std::endl; - std::cout << ">>> MonitorT0: Output file is " << outFile << std::endl; - std::cout << ">>> MonitorT0: Real time " << rtime << " s, CPU time " << ctime << " s" << std::endl; + std::cout << ">>> MonitorBmon: Macro finished successfully." << std::endl; + std::cout << ">>> MonitorBmon: Output file is " << outFile << std::endl; + std::cout << ">>> MonitorBmon: Real time " << rtime << " s, CPU time " << ctime << " s" << std::endl; std::cout << std::endl; /// --- Screen output for automatic tests diff --git a/macro/beamtime/mcbm2018/MonitorDataRates.C b/macro/beamtime/mcbm2018/MonitorDataRates.C index 688e4293e633ae1146f6f358c6777595bb04a9a9..9b87cbe6b9980108091ad3e2f6158ded77349533 100644 --- a/macro/beamtime/mcbm2018/MonitorDataRates.C +++ b/macro/beamtime/mcbm2018/MonitorDataRates.C @@ -62,8 +62,8 @@ void MonitorDataRates(TString inFile = "", TString sHostname = "localhost", Int_ monitor->AddEqIdChannelNumber(0x1980, 960); // TOF 3 stack monitor->AddEqIdChannelNumber(0x1922, 960); // TOF 2 stack monitor->AddEqIdChannelNumber(0x1949, 48 + 8); // TOF guests - monitor->AddEqIdChannelNumber(0x18c5, 4); // T0 A - monitor->AddEqIdChannelNumber(0x1925, 3); // T0 B + monitor->AddEqIdChannelNumber(0x18c5, 4); // Bmon A + monitor->AddEqIdChannelNumber(0x1925, 3); // Bmon B // --- Source task CbmMcbm2018Source* source = new CbmMcbm2018Source(); @@ -76,7 +76,7 @@ void MonitorDataRates(TString inFile = "", TString sHostname = "localhost", Int_ source->AddUnpacker(monitor, 0x10, 9); //sDPB STS + MUCH source->AddUnpacker(monitor, 0x30, 9); //rDPB RICH source->AddUnpacker(monitor, 0x60, 9); //gDPB TOF - source->AddUnpacker(monitor, 0x90, 9); //gDPB T0 + source->AddUnpacker(monitor, 0x90, 9); //gDPB Bmon source->SetSubscriberHwm(10000); diff --git a/macro/beamtime/mcbm2018/MonitorPsd.C b/macro/beamtime/mcbm2018/MonitorPsd.C index 6c3b2cf4427ef0fbd1e164a683164e30c236989e..4700f7a6d76acaa3eac9e186abb8c6bd247f89b2 100644 --- a/macro/beamtime/mcbm2018/MonitorPsd.C +++ b/macro/beamtime/mcbm2018/MonitorPsd.C @@ -5,7 +5,7 @@ /** @file MCBM PSD DATA monitoring ** @author Nikolay Karpushkin <karpushkin@inr.ru> ** @date 09.10.2019 - ** Based on MonitorT0 by P.-A. Loizeau + ** Based on MonitorBmon by P.-A. Loizeau ** ROOT macro to read tsa files which have been produced with the new data transport ** Convert data into cbmroot format. ** Uses CbmMcbm2018Source as source task. @@ -67,7 +67,7 @@ void MonitorPsd(TString inFile = "", TString sHostname = "localhost", Int_t iSer } // else of if( "" != inFile ) - source->AddUnpacker(monitor_psd, 0x80, kPsd); //gDPB T0 + source->AddUnpacker(monitor_psd, 0x80, kPsd); //gDPB Bmon source->SetSubscriberHwm(1000); diff --git a/macro/beamtime/mcbm2018/MonitorRich.C b/macro/beamtime/mcbm2018/MonitorRich.C index 03a3c190b15ea6a04a16cd3290d279318605d62c..c35302d7c4ee84a94a838bc82ab287e5a0027a64 100644 --- a/macro/beamtime/mcbm2018/MonitorRich.C +++ b/macro/beamtime/mcbm2018/MonitorRich.C @@ -3,7 +3,7 @@ Authors: Andrey Lebedev [committer] */ /** @file MCBM RICH DATA monitoring - ** Based on MonitorT0 by P.-A. Loizeau + ** Based on MonitorBmon by P.-A. Loizeau ** ROOT macro to read tsa files which have been produced with the new data transport ** Convert data into cbmroot format. ** Uses CbmMcbm2018Source as source task. diff --git a/macro/beamtime/mcbm2018/MonitorTof.C b/macro/beamtime/mcbm2018/MonitorTof.C index 0b57abae680f89ac803785a98374487edc391de7..415e6fbef9ab1a9572dc11593b10a6856d8f30e6 100644 --- a/macro/beamtime/mcbm2018/MonitorTof.C +++ b/macro/beamtime/mcbm2018/MonitorTof.C @@ -92,7 +92,7 @@ void MonitorTof(TString inFile = "", TString sHostname = "localhost", Int_t iSer } source->AddUnpacker(test_monitor_tof, 0x60, 6); //gDPBs - source->AddUnpacker(test_monitor_tof, 0x90, 6); //gDPBs T0 + source->AddUnpacker(test_monitor_tof, 0x90, 6); //gDPBs Bmon // --- Run run = new FairRunOnline(source); diff --git a/macro/beamtime/mcbm2018/SpillRatePlot.C b/macro/beamtime/mcbm2018/SpillRatePlot.C index a81ce51cfa866c14b2db9b18a326dfcdfd5c2a62..ac3651c6d50039f217bf97caf7dec43d3dcc70ae 100644 --- a/macro/beamtime/mcbm2018/SpillRatePlot.C +++ b/macro/beamtime/mcbm2018/SpillRatePlot.C @@ -63,8 +63,8 @@ Bool_t SpillRatePlot(TString sFilename) 6e7, 7e7, 8e7, 9e7, 1e8, 2e8, 3e8, 4e8, 5e8, 6e8, 7e8, 8e8, 9e8, 1e9}; TH2* hMcbmHitsCountPerSpillTofVsDiam = new TH2D("hMcbmHitsCountPerSpillTofVsDiam", - "Hits count per spill as in TOF (2 DPBs) vs T0; Hit nb per spill " - "T0[]; Hit nb per spill TOF []; Spills []", + "Hits count per spill as in TOF (2 DPBs) vs Bmon; Hit nb per spill " + "Bmon[]; Hit nb per spill TOF []; Spills []", iNbBinsLog - 1, dBinsLog, iNbBinsLog - 1, dBinsLog); ///------------------------------------------------------------------ @@ -150,7 +150,7 @@ Bool_t SpillRatePlot(TString sFilename) hMcbmHitsCountPerSpillEvo->Draw("colz"); TCanvas* cSpillCountsComp = - new TCanvas("cSpillCountsComp", "Hits count per spill for each TOF VS same for T0-Diamond"); + new TCanvas("cSpillCountsComp", "Hits count per spill for each TOF VS same for Bmon-Diamond"); cSpillCountsComp->cd(); gPad->SetGridx(); diff --git a/macro/beamtime/mcbm2018/T0CoincPlotSingleRun.C b/macro/beamtime/mcbm2018/T0CoincPlotSingleRun.C deleted file mode 100644 index daccf5d8df50e0e299d8a3b4e03e920695079091..0000000000000000000000000000000000000000 --- a/macro/beamtime/mcbm2018/T0CoincPlotSingleRun.C +++ /dev/null @@ -1,148 +0,0 @@ -/* Copyright (C) 2019 Facility for Antiproton and Ion Research in Europe, Darmstadt - SPDX-License-Identifier: GPL-3.0-only - Authors: Pierre-Alain Loizeau [committer] */ - -Bool_t T0CoincPlotSingleRun(UInt_t uRunId) -{ - /// Obtaining the plots - TH1* tempH1 = NULL; - TH1* phStsT0; - TH1* phMuchT0; - TH1* phTofT0; - TH1* phRichT0; - - /// Open File - TFile* pFile = TFile::Open(Form("HistosTimeCheck_%03u.root", uRunId)); - gROOT->cd(); - - if (nullptr == pFile) return kFALSE; - - phStsT0 = new TH1D(); - tempH1 = (TH1*) (pFile->FindObjectAny("fT0StsDiff")); - if (NULL != tempH1) { - tempH1->Copy(*(phStsT0)); ///? - } // if( NULL != tempH1 ) - else - return kFALSE; - - phMuchT0 = new TH1D(); - tempH1 = (TH1*) (pFile->FindObjectAny("fT0MuchDiff")); - if (NULL != tempH1) { - tempH1->Copy(*(phMuchT0)); ///? - } // if( NULL != tempH1 ) - else - return kFALSE; - - phTofT0 = new TH1D(); - tempH1 = (TH1*) (pFile->FindObjectAny("fT0TofDiff")); - if (NULL != tempH1) { - tempH1->Copy(*(phTofT0)); ///? - } // if( NULL != tempH1 ) - else - return kFALSE; - - phRichT0 = new TH1D(); - tempH1 = (TH1*) (pFile->FindObjectAny("fT0RichDiff")); - if (NULL != tempH1) { - tempH1->Copy(*(phRichT0)); ///? - } // if( NULL != tempH1 ) - else - return kFALSE; - - /// Plotting: THStacks with all available detectors VS T0 - TCanvas* cT0Coinc = new TCanvas(Form("cT0Coinc_%03u", uRunId), Form("Time Coincidence with T0 in run %3u", uRunId)); - - THStack* pStacksT0Coinc = new THStack( - Form("stackT0Coinc_%02u", uRunId), Form("Time Coincidence with T0 in run %02u; tT0 - Tdet [ns]; Pairs []", uRunId)); - TLegend* legend = new TLegend(0.1, 0.7, 0.3, 0.9); - - phStsT0->SetLineColor(kBlack); - phMuchT0->SetLineColor(kRed); - phTofT0->SetLineColor(kBlue); - phRichT0->SetLineColor(kViolet); - - phStsT0->SetLineWidth(2); - phMuchT0->SetLineWidth(2); - phTofT0->SetLineWidth(2); - phRichT0->SetLineWidth(2); - - pStacksT0Coinc->Add(phStsT0); - pStacksT0Coinc->Add(phMuchT0); - pStacksT0Coinc->Add(phTofT0); - pStacksT0Coinc->Add(phRichT0); - - legend->AddEntry(phStsT0, "STS", "l"); - legend->AddEntry(phMuchT0, "MUCH", "l"); - legend->AddEntry(phTofT0, "TOF", "l"); - legend->AddEntry(phRichT0, "RICH", "l"); - - cT0Coinc->cd(); - gPad->SetGridx(); - gPad->SetGridy(); - gPad->SetLogy(); - pStacksT0Coinc->Draw("nostack,hist"); - legend->Draw(); - pStacksT0Coinc->GetXaxis()->SetRangeUser(-2000.0, 2000.0); - - /// Plotting: rescaled to baseline plots with all available detectors VS T0 - /// => TODO: fit baseline out of sync peak - Double_t dBaselineSts; - Double_t dBaselineMuch; - Double_t dBaselineTof; - Double_t dBaselineRich; - - /// TEMP solution: read bin at -5000 ns - dBaselineSts = phStsT0->GetBinContent(phStsT0->FindBin(-5000)); - dBaselineMuch = phMuchT0->GetBinContent(phMuchT0->FindBin(-5000)); - dBaselineTof = phTofT0->GetBinContent(phTofT0->FindBin(-5000)); - dBaselineRich = phRichT0->GetBinContent(phRichT0->FindBin(-5000)); - - TH1* phRescaledStsT0 = static_cast<TH1*>(phStsT0->Clone("hRescaledStsT0")); - TH1* phRescaledMuchT0 = static_cast<TH1*>(phMuchT0->Clone("hRescaledMuchT0")); - TH1* phRescaledTofT0 = static_cast<TH1*>(phTofT0->Clone("hRescaledTofT0")); - TH1* phRescaledRichT0 = static_cast<TH1*>(phRichT0->Clone("hRescaledRichT0")); - - phRescaledStsT0->Scale(1 / dBaselineSts); - phRescaledMuchT0->Scale(1 / dBaselineMuch); - phRescaledTofT0->Scale(1 / dBaselineTof); - phRescaledRichT0->Scale(1 / dBaselineRich); - - TCanvas* cT0CoincRescale = - new TCanvas(Form("cT0CoincRescale_%03u", uRunId), Form("Time Coincidence with T0 in run %3u", uRunId)); - - THStack* pStacksT0CoincRescale = - new THStack(Form("stackT0CoincRescale_%02u", uRunId), Form("Time Coincidence with T0 in run %02u; tT0 - Tdet [ns]; " - "Pairs nb rescaled [1/baseline]", - uRunId)); - TLegend* legendRescale = new TLegend(0.1, 0.7, 0.3, 0.9); - - phRescaledStsT0->SetLineColor(kBlack); - phRescaledMuchT0->SetLineColor(kRed); - phRescaledTofT0->SetLineColor(kBlue); - phRescaledRichT0->SetLineColor(kViolet); - - phRescaledStsT0->SetLineWidth(2); - phRescaledMuchT0->SetLineWidth(2); - phRescaledTofT0->SetLineWidth(2); - phRescaledRichT0->SetLineWidth(2); - - pStacksT0CoincRescale->Add(phRescaledStsT0); - pStacksT0CoincRescale->Add(phRescaledMuchT0); - pStacksT0CoincRescale->Add(phRescaledTofT0); - pStacksT0CoincRescale->Add(phRescaledRichT0); - - legendRescale->AddEntry(phRescaledStsT0, "STS", "l"); - legendRescale->AddEntry(phRescaledMuchT0, "MUCH", "l"); - legendRescale->AddEntry(phRescaledTofT0, "TOF", "l"); - legendRescale->AddEntry(phRescaledRichT0, "RICH", "l"); - - cT0CoincRescale->cd(); - gPad->SetGridx(); - gPad->SetGridy(); - gPad->SetLogy(); - pStacksT0CoincRescale->Draw("nostack,hist"); - legendRescale->Draw(); - pStacksT0CoincRescale->GetXaxis()->SetRangeUser(-2000.0, 2000.0); - - return kTRUE; -} diff --git a/macro/beamtime/mcbm2018/TofFeeThr.C b/macro/beamtime/mcbm2018/TofFeeThr.C index ba7fbf21d7de4520993235a284f3d5c7d325a2d5..505e2f1148136805a62de114534a30aad301bcfe 100644 --- a/macro/beamtime/mcbm2018/TofFeeThr.C +++ b/macro/beamtime/mcbm2018/TofFeeThr.C @@ -68,7 +68,7 @@ void TofFeeThr(TString inFile = "", TString sHostname = "localhost", TString sHi } source->AddUnpacker(test_monitor_tof, 0x60, 6); //gDPBs TOF - source->AddUnpacker(test_monitor_tof, 0x90, 6); //gDPBs T0 + source->AddUnpacker(test_monitor_tof, 0x90, 6); //gDPBs Bmon source->SetSubscriberHwm(1000); diff --git a/macro/beamtime/mcbm2018/TofTestFee.C b/macro/beamtime/mcbm2018/TofTestFee.C index 7f73acd1490f53f0c2944d4fa6e03f85ee25dbab..e9dfdf3b908ede4adb6b23a246175c334f28ad11 100644 --- a/macro/beamtime/mcbm2018/TofTestFee.C +++ b/macro/beamtime/mcbm2018/TofTestFee.C @@ -74,7 +74,7 @@ void TofTestFee(TString inFile = "", TString sHostname = "localhost", TString sH } source->AddUnpacker(test_monitor_tof, 0x60, 6); //gDPBs TOF - source->AddUnpacker(test_monitor_tof, 0x90, 6); //gDPBs T0 + source->AddUnpacker(test_monitor_tof, 0x90, 6); //gDPBs Bmon // --- Run run = new FairRunOnline(source); diff --git a/macro/beamtime/mcbm2018/ana_digi_cal.C b/macro/beamtime/mcbm2018/ana_digi_cal.C index c49c14b9920b9bf82fa78d15c27e60bc261c8749..fe378f4d6e44eeaaec781e86a0980fb913917582 100644 --- a/macro/beamtime/mcbm2018/ana_digi_cal.C +++ b/macro/beamtime/mcbm2018/ana_digi_cal.C @@ -95,7 +95,7 @@ void ana_digi_cal(Int_t nEvents = 10000000, Int_t calMode = 53, Int_t calSel = 0 // tofClust->SetTimePeriod(25600.); // ignore coarse time // tofClust->SetCorMode(iBugCor); // correct missing hits tofClust->SetIdMode(1); // calibrate on module level - // tofClust->SetDeadStrips(15,23); // declare dead strip for T0M3,Rpc0,Strip 23 + // tofClust->SetDeadStrips(15,23); // declare dead strip for BmonM3,Rpc0,Strip 23 // tofClust->SetDeadStrips(27,30); // declare dead strip for T6M0,Rpc1,Strip 30 // tofClust->SetDeadStrips(28,19); // declare dead strip for T7M0,Rpc0,Strip 19 //tofClust->SetDeadStrips(25,16); // declare non-existant diamond strip (#5) dead diff --git a/macro/beamtime/mcbm2018/ana_digi_cal_all.C b/macro/beamtime/mcbm2018/ana_digi_cal_all.C index 1c7e4e571fa0ad14409f89722ec4d976b7917aa2..7e6d3991b43c644be43d9d62da9c3f7d5cef7332 100644 --- a/macro/beamtime/mcbm2018/ana_digi_cal_all.C +++ b/macro/beamtime/mcbm2018/ana_digi_cal_all.C @@ -99,7 +99,7 @@ void ana_digi_cal_all(Int_t nEvents = 10000000, Int_t calMode = 53, Int_t calSel // tofClust->SetCorMode(iBugCor); // correct missing hits //tofClust->SetIdMode(0); // calibrate on counter level tofClust->SetIdMode(1); // calibrate on module level - // tofClust->SetDeadStrips(15,23); // declare dead strip for T0M3,Rpc0,Strip 23 + // tofClust->SetDeadStrips(15,23); // declare dead strip for BmonM3,Rpc0,Strip 23 //tofClust->SetDeadStrips(25,16); // declare non-existant diamond strip (#5) dead Int_t calSelRead = calSel; diff --git a/macro/beamtime/mcbm2018/ana_digi_cali.C b/macro/beamtime/mcbm2018/ana_digi_cali.C index 21f966774bf446d3740d91200707a3316968e43b..ef637ebd900625e32a6e4e858a4565d6311f5ea7 100644 --- a/macro/beamtime/mcbm2018/ana_digi_cali.C +++ b/macro/beamtime/mcbm2018/ana_digi_cali.C @@ -96,7 +96,7 @@ void ana_digi_cali(Int_t nEvents = 10000000, Int_t calMode = 53, Int_t calSel = // tofClust->SetTimePeriod(25600.); // ignore coarse time // tofClust->SetCorMode(iBugCor); // correct missing hits tofClust->SetIdMode(1); // calibrate on module level - // tofClust->SetDeadStrips(15,23); // declare dead strip for T0M3,Rpc0,Strip 23 + // tofClust->SetDeadStrips(15,23); // declare dead strip for BmonM3,Rpc0,Strip 23 // tofClust->SetDeadStrips(27,30); // declare dead strip for T6M0,Rpc1,Strip 30 // tofClust->SetDeadStrips(28,19); // declare dead strip for T7M0,Rpc0,Strip 19 //tofClust->SetDeadStrips(25,16); // declare non-existant diamond strip (#5) dead diff --git a/macro/beamtime/mcbm2018/build_events.C b/macro/beamtime/mcbm2018/build_events.C index 473d642a428914c5177fce812db188405d15a2c9..aa168a3b05caa32235eebbabbc98a13fbea6d176 100644 --- a/macro/beamtime/mcbm2018/build_events.C +++ b/macro/beamtime/mcbm2018/build_events.C @@ -1,6 +1,6 @@ -/* Copyright (C) 2019 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt +/* Copyright (C) 2019-2023 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt SPDX-License-Identifier: GPL-3.0-only - Authors: Florian Uhlig [orginator] */ + Authors: Florian Uhlig [committer] */ void build_events(Int_t nEvents = 1, UInt_t uRunId = 0, TString fileName = "", TString outDir = "data/") { @@ -49,7 +49,7 @@ void build_events(Int_t nEvents = 1, UInt_t uRunId = 0, TString fileName = "", T // eventBuilder->SetMaximumTimeGap(100.); eventBuilder->SetEventBuilderAlgo(EventBuilderAlgo::FixedTimeWindow); eventBuilder->SetFixedTimeWindow(50.); - eventBuilder->SetTriggerMinNumberT0(1); + eventBuilder->SetTriggerMinNumberBmon(1); eventBuilder->SetTriggerMinNumberSts(0); eventBuilder->SetTriggerMinNumberMuch(0); eventBuilder->SetTriggerMinNumberTof(1); diff --git a/macro/beamtime/mcbm2018/convert_tsa_gdpb.C b/macro/beamtime/mcbm2018/convert_tsa_gdpb.C index 799fe2fead9e2614b57e9c9db67da33caafc07e7..13b87af983797c3423baffcd059f8ff326b09109 100644 --- a/macro/beamtime/mcbm2018/convert_tsa_gdpb.C +++ b/macro/beamtime/mcbm2018/convert_tsa_gdpb.C @@ -55,7 +55,7 @@ void convert_tsa_gdpb(TString inFile = "", Int_t nrEvents = 0) CbmMcbm2018Source* source = new CbmMcbm2018Source(); source->SetFileName(inFile); source->AddUnpacker(raw_conv_gdpb, 0x60, kTof); //gDPB A & B & C - source->AddUnpacker(raw_conv_gdpb, 0x90, kTof); //gDPB T0 A & B + source->AddUnpacker(raw_conv_gdpb, 0x90, kTof); //gDPB Bmon A & B // --- Event header FairEventHeader* event = new CbmTbEvent(); diff --git a/macro/beamtime/mcbm2018/convert_tsa_mcbm.C b/macro/beamtime/mcbm2018/convert_tsa_mcbm.C index 5380836db4dada3b1dcd9e54d3aef63c5717b79e..aae9cb9a1e0e29e5e2d1eec011493d914b021975 100644 --- a/macro/beamtime/mcbm2018/convert_tsa_mcbm.C +++ b/macro/beamtime/mcbm2018/convert_tsa_mcbm.C @@ -62,7 +62,7 @@ void convert_tsa_mcbm(TString inFile = "", Int_t nrEvents = 0) source->SetFileName(inFile); source->AddUnpacker(raw_conv_sdpb, 0x10, kSts); //STS xyter from STS and MUCH source->AddUnpacker(raw_conv_gdpb, 0x60, kTof); //gDPB A & B & C - source->AddUnpacker(raw_conv_gdpb, 0x90, kTof); //gDPB T0 A & B + source->AddUnpacker(raw_conv_gdpb, 0x90, kTof); //gDPB Bmon A & B // --- Event header FairEventHeader* event = new CbmTbEvent(); diff --git a/macro/beamtime/mcbm2018/mT0Par.par b/macro/beamtime/mcbm2018/mBmonPar.par similarity index 100% rename from macro/beamtime/mcbm2018/mT0Par.par rename to macro/beamtime/mcbm2018/mBmonPar.par diff --git a/macro/beamtime/mcbm2018/unpack_tsa_build_events.C b/macro/beamtime/mcbm2018/unpack_tsa_build_events.C index f12d1c77af29d481690a44abc54b5037d4069cf1..54b56fd8f1b69d40a1c01947af775c654da6cb0c 100644 --- a/macro/beamtime/mcbm2018/unpack_tsa_build_events.C +++ b/macro/beamtime/mcbm2018/unpack_tsa_build_events.C @@ -72,7 +72,7 @@ void unpack_tsa_build_events(TString inFile = "", UInt_t uRunId = 0, UInt_t nrEv unpacker_tof->SetIgnoreOverlapMs(); // unpacker_tof ->SetDiamondDpbIdx( 2 ); /// Only for Dec 2018 data - unpacker_tof->SetSeparateArrayT0(); + unpacker_tof->SetSeparateArrayBmon(); switch (uRunId) { case 48: @@ -109,7 +109,7 @@ void unpack_tsa_build_events(TString inFile = "", UInt_t uRunId = 0, UInt_t nrEv source->AddUnpacker(unpacker_sts, 0x10, kSts); //STS xyter source->AddUnpacker(unpacker_much, 0x10, kMuch); //MUCH xyter source->AddUnpacker(unpacker_tof, 0x60, kTof); //gDPB A & B & C - source->AddUnpacker(unpacker_tof, 0x90, kTof); //gDPB T0 A & B + source->AddUnpacker(unpacker_tof, 0x90, kTof); //gDPB Bmon A & B source->EnableDataOutput(); // --- Event header @@ -132,7 +132,7 @@ void unpack_tsa_build_events(TString inFile = "", UInt_t uRunId = 0, UInt_t nrEv eventBuilder->SetMaximumTimeGap(100.); // eventBuilder->SetEventBuilderAlgo(EventBuilderAlgo::FixedTimeWindow); // eventBuilder->SetFixedTimeWindow(60.); - eventBuilder->SetTriggerMinNumberT0(1); + eventBuilder->SetTriggerMinNumberBmon(1); eventBuilder->SetTriggerMinNumberSts(0); eventBuilder->SetTriggerMinNumberMuch(0); eventBuilder->SetTriggerMinNumberTof(1); diff --git a/macro/beamtime/mcbm2018/unpack_tsa_check_time.C b/macro/beamtime/mcbm2018/unpack_tsa_check_time.C index 370e6f8a99f902406a44e73168185373c243ba55..c3f4802bccc9ca034e2d51d6c47390b257a2ef33 100644 --- a/macro/beamtime/mcbm2018/unpack_tsa_check_time.C +++ b/macro/beamtime/mcbm2018/unpack_tsa_check_time.C @@ -84,7 +84,7 @@ void unpack_tsa_check_time(TString inFile = "", TString sHostname = "", UInt_t u unpacker_rich->SetWriteOutputFlag(kFALSE); // unpacker_tof ->SetDiamondDpbIdx( 2 ); - unpacker_tof->SetSeparateArrayT0(); + unpacker_tof->SetSeparateArrayBmon(); switch (uRunId) { case 48: @@ -152,10 +152,10 @@ void unpack_tsa_check_time(TString inFile = "", TString sHostname = "", UInt_t u timeChecker->SetTofOffsetSearchRange(10000); timeChecker->SetRichOffsetSearchRange(10000); ; - if (uRunId < 87) timeChecker->SetT0PulserTotLimits(90, 100); // for runs <= 86 + if (uRunId < 87) timeChecker->SetBmonPulserTotLimits(90, 100); // for runs <= 86 else //if( uRunId < ) - timeChecker->SetT0PulserTotLimits(180, 210); // for runs > 86 - // else timeChecker->SetT0PulserTotLimits( 90, 100 ); // for runs <= 86 + timeChecker->SetBmonPulserTotLimits(180, 210); // for runs > 86 + // else timeChecker->SetBmonPulserTotLimits( 90, 100 ); // for runs <= 86 if (0 < uRunId) timeChecker->SetOutFilename(Form("HistosTimeCheck_%03u.root", uRunId)); run->AddTask(timeChecker); diff --git a/macro/beamtime/mcbm2018/unpack_tsa_mcbm.C b/macro/beamtime/mcbm2018/unpack_tsa_mcbm.C index a313504463eea7f0b700253244c9cb65b5bbb793..2a7c96e74c25c313a7a233ff1b8ea7564ebb82c7 100644 --- a/macro/beamtime/mcbm2018/unpack_tsa_mcbm.C +++ b/macro/beamtime/mcbm2018/unpack_tsa_mcbm.C @@ -86,7 +86,7 @@ void unpack_tsa_mcbm(TString inFile = "", UInt_t uRunId = 0, UInt_t nrEvents = 0 unpacker_rich->SetIgnoreOverlapMs(); // unpacker_tof ->SetDiamondDpbIdx( 2 ); /// Only for Dec 2018 data - unpacker_tof->SetSeparateArrayT0(); + unpacker_tof->SetSeparateArrayBmon(); switch (uRunId) { case 48: @@ -282,7 +282,7 @@ void unpack_tsa_mcbm(TString inFile = "", UInt_t uRunId = 0, UInt_t nrEvents = 0 source->AddUnpacker(unpacker_sts, 0x10, kSts); //STS xyter source->AddUnpacker(unpacker_much, 0x10, kMuch); //MUCH xyter source->AddUnpacker(unpacker_tof, 0x60, kTof); //gDPB A & B & C - source->AddUnpacker(unpacker_tof, 0x90, kTof); //gDPB T0 A & B + source->AddUnpacker(unpacker_tof, 0x90, kTof); //gDPB Bmon A & B source->AddUnpacker(unpacker_rich, 0x30, kRich); //RICH trb // --- Event header diff --git a/macro/beamtime/mcbm2018/unpack_tsa_tof.C b/macro/beamtime/mcbm2018/unpack_tsa_tof.C index 017396c3fa738c96c6e445d0289d222af37b426e..e17da746cdea2d06f09c1d6bde99a419295cdff2 100644 --- a/macro/beamtime/mcbm2018/unpack_tsa_tof.C +++ b/macro/beamtime/mcbm2018/unpack_tsa_tof.C @@ -58,7 +58,7 @@ void unpack_tsa_tof(TString inFile = "") unpacker_tof->SetIgnoreOverlapMs(); unpacker_tof->SetDiamondDpbIdx(2); - unpacker_tof->SetSeparateArrayT0(); + unpacker_tof->SetSeparateArrayBmon(); // --- Source task CbmMcbm2018Source* source = new CbmMcbm2018Source(); diff --git a/macro/beamtime/mcbm2019/CMakeLists.txt b/macro/beamtime/mcbm2019/CMakeLists.txt index 9f389a2b2f523948aca65642811f322159c94aa8..427c9653ff9284135d8b43c859fc1f4be8190034 100644 --- a/macro/beamtime/mcbm2019/CMakeLists.txt +++ b/macro/beamtime/mcbm2019/CMakeLists.txt @@ -20,7 +20,7 @@ GENERATE_ROOT_TEST_SCRIPT(${CBMROOT_SOURCE_DIR}/macro/beamtime/mcbm2019/check_st GENERATE_ROOT_TEST_SCRIPT(${CBMROOT_SOURCE_DIR}/macro/beamtime/mcbm2019/check_pulser.C ) # CbmMcbm2019CheckPulser.h GENERATE_ROOT_TEST_SCRIPT(${CBMROOT_SOURCE_DIR}/macro/beamtime/mcbm2019/build_events.C ) # CbmMcbm2018EventBuilder.h GENERATE_ROOT_TEST_SCRIPT(${CBMROOT_SOURCE_DIR}/macro/beamtime/mcbm2019/check_events.C ) # CbmCheckEvents.h -GENERATE_ROOT_TEST_SCRIPT(${CBMROOT_SOURCE_DIR}/macro/beamtime/mcbm2019/MonitorT0.C ) # CbmMcbm2018MonitorTaskT0 + CbmMcbm2018MonitorAlgoT +GENERATE_ROOT_TEST_SCRIPT(${CBMROOT_SOURCE_DIR}/macro/beamtime/mcbm2019/MonitorBmon.C ) # CbmMcbm2018MonitorTaskBmon + CbmMcbm2018MonitorAlgoT GENERATE_ROOT_TEST_SCRIPT(${CBMROOT_SOURCE_DIR}/macro/beamtime/mcbm2019/MonitorSts.C ) # CbmMcbm2018MonitorSts.h GENERATE_ROOT_TEST_SCRIPT(${CBMROOT_SOURCE_DIR}/macro/beamtime/mcbm2019/MonitorMuch.C ) # CbmMcbm2018MonitorMuchLite.h GENERATE_ROOT_TEST_SCRIPT(${CBMROOT_SOURCE_DIR}/macro/beamtime/mcbm2019/MonitorTof.C ) # CbmMcbm2018MonitorTaskTof + CbmMcbm2018MonitorAlgoTof @@ -47,7 +47,7 @@ set_tests_properties(${testname} PROPERTIES DEPENDS mcbm_convert_2019) Set(testname mcbm_check_timing_2019) Add_Test(${testname} ${CBMROOT_BINARY_DIR}/macro/beamtime/mcbm2019/check_timing.sh \"data/unp_mcbm_399.root\" 399 ) Set_Tests_Properties(${testname} PROPERTIES TIMEOUT "600") -Set_Tests_Properties(${testname} PROPERTIES PASS_REGULAR_EXPRESSION "Total number of T0 digis: 18") +Set_Tests_Properties(${testname} PROPERTIES PASS_REGULAR_EXPRESSION "Total number of Bmon digis: 18") Set_Tests_Properties(${testname} PROPERTIES PASS_REGULAR_EXPRESSION "Total number of Sts digis: 1061912") Set_Tests_Properties(${testname} PROPERTIES PASS_REGULAR_EXPRESSION "Total number of Much digis: 319732") Set_Tests_Properties(${testname} PROPERTIES PASS_REGULAR_EXPRESSION "Total number of Tof digis: 246711") @@ -94,7 +94,7 @@ set_tests_properties(${testname} PROPERTIES FIXTURES_REQUIRED ${fixture_built_ev set_tests_properties(${testname} PROPERTIES DEPENDS mcbm_build_event_2019) Set(testname mcbm_monit0_2019) -Add_Test(${testname} ${CBMROOT_BINARY_DIR}/macro/beamtime/mcbm2019/MonitorT0.sh \"${CBMROOT_SOURCE_DIR}/input/mcbm_run399_first20Ts.tsa\" ) +Add_Test(${testname} ${CBMROOT_BINARY_DIR}/macro/beamtime/mcbm2019/MonitorBmon.sh \"${CBMROOT_SOURCE_DIR}/input/mcbm_run399_first20Ts.tsa\" ) Set_Tests_Properties(${testname} PROPERTIES TIMEOUT "600") Set_Tests_Properties(${testname} PROPERTIES PASS_REGULAR_EXPRESSION "Test Passed;All ok") set_tests_properties(${testname} PROPERTIES DEPENDS mcbm_check_event_2019) diff --git a/macro/beamtime/mcbm2019/CheckDataFormatGdpb.C b/macro/beamtime/mcbm2019/CheckDataFormatGdpb.C index 26d14ddf323ae0533c05539d84804e6fad07717a..3a79c5137b728dbf741314939d07b3a5e8139099 100644 --- a/macro/beamtime/mcbm2019/CheckDataFormatGdpb.C +++ b/macro/beamtime/mcbm2019/CheckDataFormatGdpb.C @@ -75,7 +75,7 @@ void CheckDataFormatGdpb(TString inFile = "", TString sHostname = "localhost", I } source->AddUnpacker(test_monitor_tof, 0x60, ECbmModuleId::kTof); //gDPBs - source->AddUnpacker(test_monitor_tof, 0x90, ECbmModuleId::kTof); //gDPBs T0 + source->AddUnpacker(test_monitor_tof, 0x90, ECbmModuleId::kTof); //gDPBs Bmon // --- Run run = new FairRunOnline(source); diff --git a/macro/beamtime/mcbm2019/MonitorT0.C b/macro/beamtime/mcbm2019/MonitorBmon.C similarity index 81% rename from macro/beamtime/mcbm2019/MonitorT0.C rename to macro/beamtime/mcbm2019/MonitorBmon.C index 84dd222b0b2341cd03449d2518676c801063dc2f..5e882470d21c1b7d1850671008fa14045990a909 100644 --- a/macro/beamtime/mcbm2019/MonitorT0.C +++ b/macro/beamtime/mcbm2019/MonitorBmon.C @@ -14,8 +14,8 @@ // In order to call later Finish, we make this global FairRunOnline* run = NULL; -void MonitorT0(TString inFile = "", TString sHostname = "localhost", Int_t iServerHttpPort = 8080, - Int_t iServerRefreshRate = 100, UInt_t uRunId = 0, UInt_t nrEvents = 0) +void MonitorBmon(TString inFile = "", TString sHostname = "localhost", Int_t iServerHttpPort = 8080, + Int_t iServerRefreshRate = 100, UInt_t uRunId = 0, UInt_t nrEvents = 0) { TString srcDir = gSystem->Getenv("VMCWORKDIR"); @@ -37,7 +37,7 @@ void MonitorT0(TString inFile = "", TString sHostname = "localhost", Int_t iServ TList* parFileList = new TList(); TString paramDir = srcDir + "/macro/beamtime/mcbm2019/"; - TString paramFileTof = paramDir + "mT0Par.par"; + TString paramFileTof = paramDir + "mBmonPar.par"; TObjString* parTofFileName = new TObjString(paramFileTof); parFileList->Add(parTofFileName); @@ -49,12 +49,12 @@ void MonitorT0(TString inFile = "", TString sHostname = "localhost", Int_t iServ // ======================================================================== // ======================================================================== std::cout << std::endl; - std::cout << ">>> MonitorT0: Initialising..." << std::endl; - CbmMcbm2018MonitorTaskT0* monitor_t0 = new CbmMcbm2018MonitorTaskT0(); + std::cout << ">>> MonitorBmon: Initialising..." << std::endl; + CbmMcbm2018MonitorTaskBmon* monitor_t0 = new CbmMcbm2018MonitorTaskBmon(); monitor_t0->SetIgnoreOverlapMs(); monitor_t0->SetHistoryHistoSize(1800); - if (0 < uRunId) monitor_t0->SetHistoFilename(Form("data/HistosMonitorT0_%03u.root", uRunId)); + if (0 < uRunId) monitor_t0->SetHistoFilename(Form("data/HistosMonitorBmon_%03u.root", uRunId)); monitor_t0->SetPulserTotLimits(180, 210); // for runs > 86 // --- Source task @@ -65,10 +65,10 @@ void MonitorT0(TString inFile = "", TString sHostname = "localhost", Int_t iServ source->SetHostName(sHostname); } // else of if( "" != inFile ) - // Use kHodo since there is no entry for T0 in the enum yet + // Use kHodo since there is no entry for Bmon in the enum yet // source->AddUnpacker(monitor_t0, 0x60, 9 );//gDPB TOF - // source->AddUnpacker(monitor_t0, 0x90, 9 );//gDPB T0 - source->AddUnpacker(monitor_t0, 0x90, ECbmModuleId::kHodo); //gDPB T0 + // source->AddUnpacker(monitor_t0, 0x90, 9 );//gDPB Bmon + source->AddUnpacker(monitor_t0, 0x90, ECbmModuleId::kHodo); //gDPB Bmon source->SetSubscriberHwm(1000); @@ -95,7 +95,7 @@ void MonitorT0(TString inFile = "", TString sHostname = "localhost", Int_t iServ // --- Start run TStopwatch timer; timer.Start(); - std::cout << ">>> MonitorT0: Starting run..." << std::endl; + std::cout << ">>> MonitorBmon: Starting run..." << std::endl; if (0 == nrEvents) { run->Run(nEvents, 0); // run until end of input file } @@ -112,8 +112,8 @@ void MonitorT0(TString inFile = "", TString sHostname = "localhost", Int_t iServ Double_t rtime = timer.RealTime(); Double_t ctime = timer.CpuTime(); std::cout << std::endl << std::endl; - std::cout << ">>> MonitorT0: Macro finished successfully." << std::endl; - std::cout << ">>> MonitorT0: Real time " << rtime << " s, CPU time " << ctime << " s" << std::endl; + std::cout << ">>> MonitorBmon: Macro finished successfully." << std::endl; + std::cout << ">>> MonitorBmon: Real time " << rtime << " s, CPU time " << ctime << " s" << std::endl; std::cout << std::endl; /// --- Screen output for automatic tests diff --git a/macro/beamtime/mcbm2019/MonitorPsd.C b/macro/beamtime/mcbm2019/MonitorPsd.C index 54a0ac04589e25b56a1b003900b524dcde21337d..96bc769fea30abe54b3bfb3559ecc49514a4d47b 100644 --- a/macro/beamtime/mcbm2019/MonitorPsd.C +++ b/macro/beamtime/mcbm2019/MonitorPsd.C @@ -5,7 +5,7 @@ /** @file MCBM PSD DATA monitoring ** @author Nikolay Karpushkin <karpushkin@inr.ru> ** @date 09.10.2019 - ** Based on MonitorT0 by P.-A. Loizeau + ** Based on MonitorBmon by P.-A. Loizeau ** ROOT macro to read tsa files which have been produced with the new data transport ** Convert data into cbmroot format. ** Uses CbmMcbm2018Source as source task. @@ -73,7 +73,7 @@ void MonitorPsd(TString inFile = "", TString sHostname = "localhost", Int_t iSer } // else of if( "" != inFile ) - source->AddUnpacker(monitor_psd, 0x80, ECbmModuleId::kPsd); //gDPB T0 + source->AddUnpacker(monitor_psd, 0x80, ECbmModuleId::kPsd); //gDPB Bmon source->SetSubscriberHwm(1000); diff --git a/macro/beamtime/mcbm2019/MonitorRich.C b/macro/beamtime/mcbm2019/MonitorRich.C index 02ae590a3109ae6f508c44fd0069dab0b9044b27..241022587065ef08967fd7596fd220d51e1ce20e 100644 --- a/macro/beamtime/mcbm2019/MonitorRich.C +++ b/macro/beamtime/mcbm2019/MonitorRich.C @@ -3,7 +3,7 @@ Authors: Adrian Amatus Weber [committer] */ /** @file MCBM RICH DATA monitoring - ** Based on MonitorT0 by P.-A. Loizeau + ** Based on MonitorBmon by P.-A. Loizeau ** ROOT macro to read tsa files which have been produced with the new data transport ** Convert data into cbmroot format. ** Uses CbmMcbm2018Source as source task. diff --git a/macro/beamtime/mcbm2019/MonitorTof.C b/macro/beamtime/mcbm2019/MonitorTof.C index 8bfe2090a16356c2c64f25c6e015b8c0bdec642b..397bbf27694bdbde6855fd528ecc22ce5dc4f548 100644 --- a/macro/beamtime/mcbm2019/MonitorTof.C +++ b/macro/beamtime/mcbm2019/MonitorTof.C @@ -69,7 +69,7 @@ void MonitorTof(TString inFile = "", TString sHostname = "localhost", Int_t iSer } // else of if( "" != inFile ) source->SetSubscriberHwm(10); source->AddUnpacker(monitor_tof, 0x60, ECbmModuleId::kTof); //gDPBs - source->AddUnpacker(monitor_tof, 0x90, ECbmModuleId::kTof); //gDPBs T0 + source->AddUnpacker(monitor_tof, 0x90, ECbmModuleId::kTof); //gDPBs Bmon // --- Run run = new FairRunOnline(source); diff --git a/macro/beamtime/mcbm2019/MonitorTofPulser.C b/macro/beamtime/mcbm2019/MonitorTofPulser.C index 9e93987b10499fbc93c3f879d6ca3d779ca3a081..fdddf710e7cba6b548ccb37bfe1a17fde3276529 100644 --- a/macro/beamtime/mcbm2019/MonitorTofPulser.C +++ b/macro/beamtime/mcbm2019/MonitorTofPulser.C @@ -66,7 +66,7 @@ void MonitorTofPulser(TString inFile = "", TString sHostname = "etofin001", Int_ } // else of if( "" != inFile ) source->SetSubscriberHwm(10); source->AddUnpacker(monitor_tof, 0x60, ECbmModuleId::kTof); //gDPBs - source->AddUnpacker(monitor_tof, 0x90, ECbmModuleId::kTof); //gDPBs T0 + source->AddUnpacker(monitor_tof, 0x90, ECbmModuleId::kTof); //gDPBs Bmon // --- Run run = new FairRunOnline(source); diff --git a/macro/beamtime/mcbm2019/build_events.C b/macro/beamtime/mcbm2019/build_events.C index e6768006f10ca4b52012e6b98f8f70e1e7d94372..4b0ac4e7fcc24646d2cc545542650e24d38dd2e9 100644 --- a/macro/beamtime/mcbm2019/build_events.C +++ b/macro/beamtime/mcbm2019/build_events.C @@ -1,6 +1,6 @@ -/* Copyright (C) 2020 Facility for Antiproton and Ion Research in Europe, Darmstadt +/* Copyright (C) 2020-2023 Facility for Antiproton and Ion Research in Europe, Darmstadt SPDX-License-Identifier: GPL-3.0-only - Authors: Pierre-Alain Loizeau [orginator] */ + Authors: Pierre-Alain Loizeau [committer] */ void build_events(TString fileName, UInt_t uRunId = 0, Int_t nEvents = 0, TString outDir = "data/") { @@ -49,7 +49,7 @@ void build_events(TString fileName, UInt_t uRunId = 0, Int_t nEvents = 0, TStrin // eventBuilder->SetMaximumTimeGap(100.); eventBuilder->SetEventBuilderAlgo(EventBuilderAlgo::FixedTimeWindow); eventBuilder->SetFixedTimeWindow(50.); - eventBuilder->SetTriggerMinNumberT0(1); + eventBuilder->SetTriggerMinNumberBmon(1); eventBuilder->SetTriggerMinNumberSts(0); eventBuilder->SetTriggerMinNumberMuch(0); eventBuilder->SetTriggerMinNumberTof(1); diff --git a/macro/beamtime/mcbm2019/check_pulser.C b/macro/beamtime/mcbm2019/check_pulser.C index 62edc36e45db249fba2327527d42b2a42454f232..74849a32b1edbfaf7f9b8391148f2d0ed4d5d81f 100644 --- a/macro/beamtime/mcbm2019/check_pulser.C +++ b/macro/beamtime/mcbm2019/check_pulser.C @@ -47,7 +47,7 @@ void check_pulser(UInt_t uRunId = 0, Int_t nrEvents = 0, TString sDir = "data") // ------------------------------------------------------------------------ CbmMcbm2019CheckPulser* pulserChecker = new CbmMcbm2019CheckPulser(); - pulserChecker->SetT0PulserTotLimits(184, 191); + pulserChecker->SetBmonPulserTotLimits(184, 191); pulserChecker->SetStsPulserAdcLimits(31, 0); pulserChecker->SetMuchPulserAdcLimits(5, 10); pulserChecker->SetTofPulserTotLimits(184, 191); diff --git a/macro/beamtime/mcbm2019/check_timing.C b/macro/beamtime/mcbm2019/check_timing.C index 421fcdfb280a26df1252c148e40cedd13cd5547f..bb436d4783c6ed55d9fc3bddf2e897a0f27cdd47 100644 --- a/macro/beamtime/mcbm2019/check_timing.C +++ b/macro/beamtime/mcbm2019/check_timing.C @@ -48,7 +48,7 @@ void check_timing(TString fileName, UInt_t uRunId = 0, Int_t nEvents = 0, TStrin timeChecker->SetTofOffsetSearchRange(2000); timeChecker->SetRichOffsetSearchRange(1000); timeChecker->SetPsdOffsetSearchRange(10000); - timeChecker->SetT0PulserTotLimits(185, 191); + timeChecker->SetBmonPulserTotLimits(185, 191); if (0 < uRunId) timeChecker->SetOutFilename(Form("%sHistosTimeCheck_%03u.root", outDir.Data(), uRunId)); fRun->AddTask(timeChecker); diff --git a/macro/beamtime/mcbm2019/convert_tsa_gdpb.C b/macro/beamtime/mcbm2019/convert_tsa_gdpb.C index 748ba65c3b73d7aa97a3ca3c175755a4eb0039fe..529c0d37d1c78484b9bacb279c29e66115b134e3 100644 --- a/macro/beamtime/mcbm2019/convert_tsa_gdpb.C +++ b/macro/beamtime/mcbm2019/convert_tsa_gdpb.C @@ -55,7 +55,7 @@ void convert_tsa_gdpb(TString inFile = "", Int_t nrEvents = 0) CbmMcbm2018Source* source = new CbmMcbm2018Source(); source->SetFileName(inFile); source->AddUnpacker(raw_conv_gdpb, 0x60, ECbmModuleId::kTof); //gDPB A & B & C - source->AddUnpacker(raw_conv_gdpb, 0x90, ECbmModuleId::kTof); //gDPB T0 A & B + source->AddUnpacker(raw_conv_gdpb, 0x90, ECbmModuleId::kTof); //gDPB Bmon A & B // --- Event header FairEventHeader* event = new FairEventHeader(); diff --git a/macro/beamtime/mcbm2019/convert_tsa_mcbm.C b/macro/beamtime/mcbm2019/convert_tsa_mcbm.C index 5895409d355d28661a62ec8a2dce3c399df05ca3..88ec52bbed62ec45c5790cbdadaddbcf410fcef8 100644 --- a/macro/beamtime/mcbm2019/convert_tsa_mcbm.C +++ b/macro/beamtime/mcbm2019/convert_tsa_mcbm.C @@ -63,7 +63,7 @@ void convert_tsa_mcbm(TString inFile = "", Int_t nrEvents = 0) source->AddUnpacker(raw_conv_sdpb, 0x10, ECbmModuleId::kSts); //STS xyter from STS source->AddUnpacker(raw_conv_sdpb, 0x40, ECbmModuleId::kMuch); //STS xyter from MUCH source->AddUnpacker(raw_conv_gdpb, 0x60, ECbmModuleId::kTof); //gDPB A & B & C - source->AddUnpacker(raw_conv_gdpb, 0x90, ECbmModuleId::kTof); //gDPB T0 A & B + source->AddUnpacker(raw_conv_gdpb, 0x90, ECbmModuleId::kTof); //gDPB Bmon A & B // --- Event header FairEventHeader* event = new FairEventHeader(); diff --git a/macro/beamtime/mcbm2019/mT0Par.par b/macro/beamtime/mcbm2019/mBmonPar.par similarity index 100% rename from macro/beamtime/mcbm2019/mT0Par.par rename to macro/beamtime/mcbm2019/mBmonPar.par diff --git a/macro/beamtime/mcbm2019/unpack_pulser_mcbm.C b/macro/beamtime/mcbm2019/unpack_pulser_mcbm.C index 03d26fa0dbdc3a935dc3a5d2a564c27fc894d8e3..2468463d18d1a3a30d6b04adcf59475ebe959f17 100644 --- a/macro/beamtime/mcbm2019/unpack_pulser_mcbm.C +++ b/macro/beamtime/mcbm2019/unpack_pulser_mcbm.C @@ -103,7 +103,7 @@ void unpack_pulser_mcbm(TString inFile = "", UInt_t uRunId = 0, UInt_t nrEvents unpacker_sts->SetAdcCut(3); unpacker_sts->SeparatePulserOutput(kFALSE); - unpacker_tof->SetSeparateArrayT0(); + unpacker_tof->SetSeparateArrayBmon(); // ------------------------------ // // Enable Asic type for MUCH data. @@ -261,7 +261,7 @@ void unpack_pulser_mcbm(TString inFile = "", UInt_t uRunId = 0, UInt_t nrEvents source->AddUnpacker(unpacker_sts, 0x10, ECbmModuleId::kSts); //STS xyter source->AddUnpacker(unpacker_much, 0x40, ECbmModuleId::kMuch); //MUCH xyter source->AddUnpacker(unpacker_tof, 0x60, ECbmModuleId::kTof); //gDPB A & B & C - source->AddUnpacker(unpacker_tof, 0x90, ECbmModuleId::kTof); //gDPB T0 A & B + source->AddUnpacker(unpacker_tof, 0x90, ECbmModuleId::kTof); //gDPB Bmon A & B source->AddUnpacker(unpacker_rich, 0x30, ECbmModuleId::kRich); //RICH trb source->AddUnpacker(unpacker_psd, 0x80, ECbmModuleId::kPsd); //PSD @@ -274,7 +274,7 @@ void unpack_pulser_mcbm(TString inFile = "", UInt_t uRunId = 0, UInt_t nrEvents run->SetAutoFinish(kFALSE); CbmMcbm2019CheckPulser* pulserChecker = new CbmMcbm2019CheckPulser(); - pulserChecker->SetT0PulserTotLimits(184, 191); + pulserChecker->SetBmonPulserTotLimits(184, 191); pulserChecker->SetStsPulserAdcLimits(31, 0); pulserChecker->SetMuchPulserAdcLimits(5, 25); /// mCBM 2019 pulserChecker->SetTofPulserTotLimits(184, 191); diff --git a/macro/beamtime/mcbm2019/unpack_tsa_mcbm.C b/macro/beamtime/mcbm2019/unpack_tsa_mcbm.C index 7ba1ad77765727b2f04c29f01639545345f8a79a..e315e42afd55209c0e8a638399a0677cced5db46 100644 --- a/macro/beamtime/mcbm2019/unpack_tsa_mcbm.C +++ b/macro/beamtime/mcbm2019/unpack_tsa_mcbm.C @@ -95,7 +95,7 @@ void unpack_tsa_mcbm(TString inFile = "", UInt_t uRunId = 0, UInt_t nrEvents = 0 unpacker_rich->SetIgnoreOverlapMs(); unpacker_psd->SetIgnoreOverlapMs(); - unpacker_tof->SetSeparateArrayT0(); + unpacker_tof->SetSeparateArrayBmon(); // ------------------------------ // // Enable Asic type for MUCH data. @@ -253,7 +253,7 @@ void unpack_tsa_mcbm(TString inFile = "", UInt_t uRunId = 0, UInt_t nrEvents = 0 source->AddUnpacker(unpacker_sts, 0x10, ECbmModuleId::kSts); //STS xyter source->AddUnpacker(unpacker_much, 0x40, ECbmModuleId::kMuch); //MUCH xyter source->AddUnpacker(unpacker_tof, 0x60, ECbmModuleId::kTof); //gDPB A & B & C - source->AddUnpacker(unpacker_tof, 0x90, ECbmModuleId::kTof); //gDPB T0 A & B + source->AddUnpacker(unpacker_tof, 0x90, ECbmModuleId::kTof); //gDPB Bmon A & B source->AddUnpacker(unpacker_rich, 0x30, ECbmModuleId::kRich); //RICH trb source->AddUnpacker(unpacker_psd, 0x80, ECbmModuleId::kPsd); //PSD diff --git a/macro/beamtime/mcbm2019/unpack_tsa_mcbm_kronos.C b/macro/beamtime/mcbm2019/unpack_tsa_mcbm_kronos.C index 4431ebee9a2eafdd2a0c0dde5c8890849cbc5735..66e4ef5f8d92f9d7ba7a66fb23f86ba7582adb00 100644 --- a/macro/beamtime/mcbm2019/unpack_tsa_mcbm_kronos.C +++ b/macro/beamtime/mcbm2019/unpack_tsa_mcbm_kronos.C @@ -93,7 +93,7 @@ void unpack_tsa_mcbm_kronos(UInt_t uRunId = 0, UInt_t nrEvents = 0, TString outD unpacker_psd->SetIgnoreOverlapMs(); // unpacker_sts ->SetAdcCut( 3 ); - unpacker_tof->SetSeparateArrayT0(); + unpacker_tof->SetSeparateArrayBmon(); /* /// Mask all channels in FEB 1 end even channels in FEB 2 in mSTS for( UInt_t uChan = 0; uChan < 1024; ++uChan ) @@ -233,7 +233,7 @@ void unpack_tsa_mcbm_kronos(UInt_t uRunId = 0, UInt_t nrEvents = 0, TString outD source->AddUnpacker(unpacker_sts, 0x10, ECbmModuleId::kSts); //STS xyter source->AddUnpacker(unpacker_much, 0x40, ECbmModuleId::kMuch); //MUCH xyter source->AddUnpacker(unpacker_tof, 0x60, ECbmModuleId::kTof); //gDPB A & B & C - source->AddUnpacker(unpacker_tof, 0x90, ECbmModuleId::kTof); //gDPB T0 A & B + source->AddUnpacker(unpacker_tof, 0x90, ECbmModuleId::kTof); //gDPB Bmon A & B source->AddUnpacker(unpacker_rich, 0x30, ECbmModuleId::kRich); //RICH trb source->AddUnpacker(unpacker_psd, 0x80, ECbmModuleId::kPsd); //PSD diff --git a/macro/beamtime/mcbm2019/unpack_tsa_mcbm_mfles.C b/macro/beamtime/mcbm2019/unpack_tsa_mcbm_mfles.C index b9fa8e0ff03a38c549dd8ef209acb2f22d892cc4..83a84f0d09d33419eb1a09479a51b6a7c12b17f5 100644 --- a/macro/beamtime/mcbm2019/unpack_tsa_mcbm_mfles.C +++ b/macro/beamtime/mcbm2019/unpack_tsa_mcbm_mfles.C @@ -93,7 +93,7 @@ void unpack_tsa_mcbm_mfles(UInt_t uRunId = 0, UInt_t nrEvents = 0, TString outDi unpacker_psd->SetIgnoreOverlapMs(); unpacker_sts->SetAdcCut(3); - unpacker_tof->SetSeparateArrayT0(); + unpacker_tof->SetSeparateArrayBmon(); /* /// Mask channels with >10k mean rate in more than 1/2 of the runs unpacker_sts ->MaskNoisyChannel( 1, 65, true ); @@ -1601,7 +1601,7 @@ void unpack_tsa_mcbm_mfles(UInt_t uRunId = 0, UInt_t nrEvents = 0, TString outDi source->AddUnpacker(unpacker_sts, 0x10, ECbmModuleId::kSts); //STS xyter source->AddUnpacker(unpacker_much, 0x40, ECbmModuleId::kMuch); //MUCH xyter source->AddUnpacker(unpacker_tof, 0x60, ECbmModuleId::kTof); //gDPB A & B & C - source->AddUnpacker(unpacker_tof, 0x90, ECbmModuleId::kTof); //gDPB T0 A & B + source->AddUnpacker(unpacker_tof, 0x90, ECbmModuleId::kTof); //gDPB Bmon A & B /// Avoid unpacking runs with RICH calibration triggers in first file until unpacker fixed if (358 != uRunId && 361 != uRunId && 367 != uRunId && 369 != uRunId) source->AddUnpacker(unpacker_rich, 0x30, ECbmModuleId::kRich); //RICH trb diff --git a/macro/beamtime/mcbm2020/CMakeLists.txt b/macro/beamtime/mcbm2020/CMakeLists.txt index bc297189e424bbf5bc1f641df2be52137e7423e9..388151acf302de753cacd73697740d13250ace57 100644 --- a/macro/beamtime/mcbm2020/CMakeLists.txt +++ b/macro/beamtime/mcbm2020/CMakeLists.txt @@ -26,7 +26,7 @@ If(DEFINED ENV{RAW_DATA_PATH} ) GENERATE_ROOT_TEST_SCRIPT(${CBMROOT_SOURCE_DIR}/macro/beamtime/mcbm2020/mcbm_event_reco.C ) # Digi dt event building + Cluster Finding + Hit reconstruction, Event based GENERATE_ROOT_TEST_SCRIPT(${CBMROOT_SOURCE_DIR}/macro/beamtime/mcbm2020/mcbm_event_ana.C ) # TOF Track extension toward other detectors GENERATE_ROOT_TEST_SCRIPT(${CBMROOT_SOURCE_DIR}/macro/beamtime/mcbm2020/mcbm_tof_tracking.C ) # TOF Tracking, Event based - GENERATE_ROOT_TEST_SCRIPT(${CBMROOT_SOURCE_DIR}/macro/beamtime/mcbm2020/MonitorT0.C ) # CbmMcbm2018MonitorTaskT0 + CbmMcbm2018MonitorAlgoT0 + GENERATE_ROOT_TEST_SCRIPT(${CBMROOT_SOURCE_DIR}/macro/beamtime/mcbm2020/MonitorBmon.C ) # CbmMcbm2018MonitorTaskBmon + CbmMcbm2018MonitorAlgoBmon GENERATE_ROOT_TEST_SCRIPT(${CBMROOT_SOURCE_DIR}/macro/beamtime/mcbm2020/MonitorSts.C ) # CbmMcbm2018MonitorSts.h GENERATE_ROOT_TEST_SCRIPT(${CBMROOT_SOURCE_DIR}/macro/beamtime/mcbm2020/MonitorMuch.C ) # CbmMcbm2018MonitorMuchLite.h GENERATE_ROOT_TEST_SCRIPT(${CBMROOT_SOURCE_DIR}/macro/beamtime/mcbm2020/MonitorTrd.C ) # CbmMcbm2018UnpackerTaskTrd.h in monitor mode @@ -55,7 +55,7 @@ If(DEFINED ENV{RAW_DATA_PATH} ) Set(testname mcbm_check_timing_2020_${RUN}) Add_Test(${testname} ${CBMROOT_BINARY_DIR}/macro/beamtime/mcbm2020/check_timing.sh \"data/unp_mcbm_${RUN}.root\" ${RUN} ) Set_Tests_Properties(${testname} PROPERTIES TIMEOUT "600") - # Set_Tests_Properties(${testname} PROPERTIES PASS_REGULAR_EXPRESSION "Total number of T0 digis: 18") + # Set_Tests_Properties(${testname} PROPERTIES PASS_REGULAR_EXPRESSION "Total number of Bmon digis: 18") # Set_Tests_Properties(${testname} PROPERTIES PASS_REGULAR_EXPRESSION "Total number of Sts digis: 1061912") # Set_Tests_Properties(${testname} PROPERTIES PASS_REGULAR_EXPRESSION "Total number of Much digis: 319732") # Set_Tests_Properties(${testname} PROPERTIES PASS_REGULAR_EXPRESSION "Total number of Tof digis: 246711") @@ -163,7 +163,7 @@ If(DEFINED ENV{RAW_DATA_PATH} ) ### Monitors tests => Should run 1 by 1 after unpacker test to avoid concurrent access to tsa file Set(testname mcbm_monit0_2020_${RUN}) - Add_Test(${testname} ${CBMROOT_BINARY_DIR}/macro/beamtime/mcbm2020/MonitorT0.sh \"${RAW_DATA_PATH}/${RUN}_first20Ts.tsa\" ) + Add_Test(${testname} ${CBMROOT_BINARY_DIR}/macro/beamtime/mcbm2020/MonitorBmon.sh \"${RAW_DATA_PATH}/${RUN}_first20Ts.tsa\" ) Set_Tests_Properties(${testname} PROPERTIES TIMEOUT "300") Set_Tests_Properties(${testname} PROPERTIES PASS_REGULAR_EXPRESSION "Test Passed;All ok") set_tests_properties(${testname} PROPERTIES DEPENDS mcbm_unpack_2020_${RUN}) diff --git a/macro/beamtime/mcbm2020/CheckDataFormatGdpb.C b/macro/beamtime/mcbm2020/CheckDataFormatGdpb.C index 02dba35172bc3d38c625b0e82cdc8a5b002d0ed4..7c73f9ae2594a3dfda6c3934dccc6ac0334f220d 100644 --- a/macro/beamtime/mcbm2020/CheckDataFormatGdpb.C +++ b/macro/beamtime/mcbm2020/CheckDataFormatGdpb.C @@ -75,7 +75,7 @@ void CheckDataFormatGdpb(TString inFile = "", TString sHostname = "localhost", I } source->AddUnpacker(test_monitor_tof, 0x60, ECbmModuleId::kTof); //gDPBs - source->AddUnpacker(test_monitor_tof, 0x90, ECbmModuleId::kTof); //gDPBs T0 + source->AddUnpacker(test_monitor_tof, 0x90, ECbmModuleId::kTof); //gDPBs Bmon // --- Run run = new FairRunOnline(source); diff --git a/macro/beamtime/mcbm2020/MonitorT0.C b/macro/beamtime/mcbm2020/MonitorBmon.C similarity index 82% rename from macro/beamtime/mcbm2020/MonitorT0.C rename to macro/beamtime/mcbm2020/MonitorBmon.C index aa1eb6fce2c93110ff53b3b82e198d58691e531d..6c369d8064e2c295bd18cd294c100fdba464cd84 100644 --- a/macro/beamtime/mcbm2020/MonitorT0.C +++ b/macro/beamtime/mcbm2020/MonitorBmon.C @@ -14,8 +14,8 @@ // In order to call later Finish, we make this global FairRunOnline* run = NULL; -void MonitorT0(TString inFile = "", TString sHostname = "localhost", Int_t iServerHttpPort = 8080, - Int_t iServerRefreshRate = 100, UInt_t uRunId = 0, UInt_t nrEvents = 0) +void MonitorBmon(TString inFile = "", TString sHostname = "localhost", Int_t iServerHttpPort = 8080, + Int_t iServerRefreshRate = 100, UInt_t uRunId = 0, UInt_t nrEvents = 0) { TString srcDir = gSystem->Getenv("VMCWORKDIR"); @@ -36,7 +36,7 @@ void MonitorT0(TString inFile = "", TString sHostname = "localhost", Int_t iServ TList* parFileList = new TList(); TString paramDir = srcDir + "/macro/beamtime/mcbm2020/"; - TString paramFileTof = paramDir + "mT0Par.par"; + TString paramFileTof = paramDir + "mBmonPar.par"; TObjString* parTofFileName = new TObjString(paramFileTof); parFileList->Add(parTofFileName); @@ -48,12 +48,12 @@ void MonitorT0(TString inFile = "", TString sHostname = "localhost", Int_t iServ // ======================================================================== // ======================================================================== std::cout << std::endl; - std::cout << ">>> MonitorT0: Initialising..." << std::endl; - CbmMcbm2018MonitorTaskT0* monitor_t0 = new CbmMcbm2018MonitorTaskT0(); + std::cout << ">>> MonitorBmon: Initialising..." << std::endl; + CbmMcbm2018MonitorTaskBmon* monitor_t0 = new CbmMcbm2018MonitorTaskBmon(); monitor_t0->SetIgnoreOverlapMs(); monitor_t0->SetHistoryHistoSize(1800); - if (0 < uRunId) monitor_t0->SetHistoFilename(Form("data/HistosMonitorT0_%03u.root", uRunId)); + if (0 < uRunId) monitor_t0->SetHistoFilename(Form("data/HistosMonitorBmon_%03u.root", uRunId)); monitor_t0->SetPulserTotLimits(180, 210); // for runs > 86 // --- Source task @@ -64,8 +64,8 @@ void MonitorT0(TString inFile = "", TString sHostname = "localhost", Int_t iServ source->SetHostName(sHostname); } // else of if( "" != inFile ) - // Use kHodo since there is no entry for T0 in the enum yet - source->AddUnpacker(monitor_t0, 0x90, ECbmModuleId::kHodo); //gDPB T0 + // Use kHodo since there is no entry for Bmon in the enum yet + source->AddUnpacker(monitor_t0, 0x90, ECbmModuleId::kHodo); //gDPB Bmon source->SetSubscriberHwm(1000); @@ -90,7 +90,7 @@ void MonitorT0(TString inFile = "", TString sHostname = "localhost", Int_t iServ // --- Start run TStopwatch timer; timer.Start(); - std::cout << ">>> MonitorT0: Starting run..." << std::endl; + std::cout << ">>> MonitorBmon: Starting run..." << std::endl; if (0 == nrEvents) { run->Run(nEvents, 0); // run until end of input file } @@ -107,8 +107,8 @@ void MonitorT0(TString inFile = "", TString sHostname = "localhost", Int_t iServ Double_t rtime = timer.RealTime(); Double_t ctime = timer.CpuTime(); std::cout << std::endl << std::endl; - std::cout << ">>> MonitorT0: Macro finished successfully." << std::endl; - std::cout << ">>> MonitorT0: Real time " << rtime << " s, CPU time " << ctime << " s" << std::endl; + std::cout << ">>> MonitorBmon: Macro finished successfully." << std::endl; + std::cout << ">>> MonitorBmon: Real time " << rtime << " s, CPU time " << ctime << " s" << std::endl; std::cout << std::endl; /// --- Screen output for automatic tests diff --git a/macro/beamtime/mcbm2020/MonitorPsd.C b/macro/beamtime/mcbm2020/MonitorPsd.C index b9c4f2305d8361c4cd9e9e2829225ad04df9fa6f..80369c62f2c9ab554f1f6958f122d5650cbecc08 100644 --- a/macro/beamtime/mcbm2020/MonitorPsd.C +++ b/macro/beamtime/mcbm2020/MonitorPsd.C @@ -5,7 +5,7 @@ /** @file MCBM PSD DATA monitoring ** @author Nikolay Karpushkin <karpushkin@inr.ru> ** @date 09.10.2019 - ** Based on MonitorT0 by P.-A. Loizeau + ** Based on MonitorBmon by P.-A. Loizeau ** ROOT macro to read tsa files which have been produced with the new data transport ** Convert data into cbmroot format. ** Uses CbmMcbm2018Source as source task. @@ -76,7 +76,7 @@ void MonitorPsd(TString inFile = "", TString sHostname = "localhost", Int_t iSer } // else of if( "" != inFile ) - source->AddUnpacker(monitor_psd, 0x80, ECbmModuleId::kPsd); //gDPB T0 + source->AddUnpacker(monitor_psd, 0x80, ECbmModuleId::kPsd); //gDPB Bmon source->SetSubscriberHwm(1000); diff --git a/macro/beamtime/mcbm2020/MonitorRich.C b/macro/beamtime/mcbm2020/MonitorRich.C index 623f383de8e1fc731674637ca2ff9146fec39955..326c05f7ec6084ac57191dfce2027daab00544cd 100644 --- a/macro/beamtime/mcbm2020/MonitorRich.C +++ b/macro/beamtime/mcbm2020/MonitorRich.C @@ -3,7 +3,7 @@ Authors: Pierre-Alain Loizeau [committer] */ /** @file MCBM RICH DATA monitoring - ** Based on MonitorT0 by P.-A. Loizeau + ** Based on MonitorBmon by P.-A. Loizeau ** ROOT macro to read tsa files which have been produced with the new data transport ** Convert data into cbmroot format. ** Uses CbmMcbm2018Source as source task. diff --git a/macro/beamtime/mcbm2020/MonitorTof.C b/macro/beamtime/mcbm2020/MonitorTof.C index cc5d62a0a65453902afb21c1e901b07b326442ed..fa15786699412e89b0da29260d1dff8cb5f67e1f 100644 --- a/macro/beamtime/mcbm2020/MonitorTof.C +++ b/macro/beamtime/mcbm2020/MonitorTof.C @@ -69,7 +69,7 @@ void MonitorTof(TString inFile = "", TString sHostname = "localhost", Int_t iSer } // else of if( "" != inFile ) source->SetSubscriberHwm(10); source->AddUnpacker(monitor_tof, 0x60, ECbmModuleId::kTof); //gDPBs - source->AddUnpacker(monitor_tof, 0x90, ECbmModuleId::kTof); //gDPBs T0 + source->AddUnpacker(monitor_tof, 0x90, ECbmModuleId::kTof); //gDPBs Bmon // --- Run run = new FairRunOnline(source); diff --git a/macro/beamtime/mcbm2020/MonitorTofPulser.C b/macro/beamtime/mcbm2020/MonitorTofPulser.C index b2729ba783c0f3f532b00eb14aac07b418c6d9aa..2d47ec36445c93b3041e55107a4c962bb0e6826c 100644 --- a/macro/beamtime/mcbm2020/MonitorTofPulser.C +++ b/macro/beamtime/mcbm2020/MonitorTofPulser.C @@ -66,7 +66,7 @@ void MonitorTofPulser(TString inFile = "", TString sHostname = "etofin001", Int_ } // else of if( "" != inFile ) source->SetSubscriberHwm(10); source->AddUnpacker(monitor_tof, 0x60, ECbmModuleId::kTof); //gDPBs - source->AddUnpacker(monitor_tof, 0x90, ECbmModuleId::kTof); //gDPBs T0 + source->AddUnpacker(monitor_tof, 0x90, ECbmModuleId::kTof); //gDPBs Bmon // --- Run run = new FairRunOnline(source); diff --git a/macro/beamtime/mcbm2020/ana_digi_cal.C b/macro/beamtime/mcbm2020/ana_digi_cal.C index 2353d8d8a1a519d110e7d4ed96cb5422574efe80..4c1d4d67ee3ac1ed7f0a0e7b3076da155e45e9ec 100644 --- a/macro/beamtime/mcbm2020/ana_digi_cal.C +++ b/macro/beamtime/mcbm2020/ana_digi_cal.C @@ -103,7 +103,7 @@ void ana_digi_cal(Int_t nEvents = 10000000, Int_t calMode = 53, Int_t calSel = 0 // tofClust->SetCorMode(iBugCor); // correct missing hits //tofClust->SetIdMode(0); // calibrate on counter level tofClust->SetIdMode(1); // calibrate on module level - // tofClust->SetDeadStrips(15,23); // declare dead strip for T0M3,Rpc0,Strip 23 + // tofClust->SetDeadStrips(15,23); // declare dead strip for BmonM3,Rpc0,Strip 23 //tofClust->SetDeadStrips(25,16); // declare non-existant diamond strip (#5) dead Int_t calSelRead = calSel; diff --git a/macro/beamtime/mcbm2020/ana_digi_cal_all.C b/macro/beamtime/mcbm2020/ana_digi_cal_all.C index 1623dd5892b403dcb3f456e17570c1109372c49d..0b4e23f52229ef6bac3c769db1fdf1d087ca2c00 100644 --- a/macro/beamtime/mcbm2020/ana_digi_cal_all.C +++ b/macro/beamtime/mcbm2020/ana_digi_cal_all.C @@ -104,7 +104,7 @@ void ana_digi_cal_all(Int_t nEvents = 10000000, Int_t calMode = 53, Int_t calSel // tofClust->SetCorMode(iBugCor); // correct missing hits //tofClust->SetIdMode(0); // calibrate on counter level tofClust->SetIdMode(1); // calibrate on module level - // tofClust->SetDeadStrips(15,23); // declare dead strip for T0M3,Rpc0,Strip 23 + // tofClust->SetDeadStrips(15,23); // declare dead strip for BmonM3,Rpc0,Strip 23 //tofClust->SetDeadStrips(25,16); // declare non-existant diamond strip (#5) dead Int_t calSelRead = calSel; diff --git a/macro/beamtime/mcbm2020/ana_digi_cali.C b/macro/beamtime/mcbm2020/ana_digi_cali.C index f57e7f3fb9aff28fd5defc8735a81efe7993a852..68b06e0a1951904fa9225c8a8fab268e5bacf4f0 100644 --- a/macro/beamtime/mcbm2020/ana_digi_cali.C +++ b/macro/beamtime/mcbm2020/ana_digi_cali.C @@ -98,7 +98,7 @@ void ana_digi_cali(Int_t nEvents = 10000000, Int_t calMode = 53, Int_t calSel = // tofClust->SetCorMode(iBugCor); // correct missing hits //tofClust->SetIdMode(0); // calibrate on counter level tofClust->SetIdMode(1); // calibrate on module level - // tofClust->SetDeadStrips(15,23); // declare dead strip for T0M3,Rpc0,Strip 23 + // tofClust->SetDeadStrips(15,23); // declare dead strip for BmonM3,Rpc0,Strip 23 //tofClust->SetDeadStrips(25,16); // declare non-existant diamond strip (#5) dead Int_t calSelRead = calSel; diff --git a/macro/beamtime/mcbm2020/build_event_win.C b/macro/beamtime/mcbm2020/build_event_win.C index 8aecd079359ef78d47b89434bc7957771e3b6d91..f5de65771b6bb6ab5c65b6929196a6574308dee9 100644 --- a/macro/beamtime/mcbm2020/build_event_win.C +++ b/macro/beamtime/mcbm2020/build_event_win.C @@ -96,27 +96,27 @@ Bool_t build_event_win(UInt_t uRunId = 0, * kEventBuilderDetTof * kEventBuilderDetRich * kEventBuilderDetPsd - * kEventBuilderDetT0 + * kEventBuilderDetBmon */ - /// Change the selection window limits for T0 as ref + /// Change the selection window limits for Bmon as ref eventBuilder->SetTriggerWindow(ECbmModuleId::kSts, -50, 100); eventBuilder->SetTriggerWindow(ECbmModuleId::kMuch, -150, 50); eventBuilder->SetTriggerWindow(ECbmModuleId::kTrd, -50, 250); eventBuilder->SetTriggerWindow(ECbmModuleId::kTof, -50, 50); eventBuilder->SetTriggerWindow(ECbmModuleId::kRich, -50, 50); eventBuilder->SetTriggerWindow(ECbmModuleId::kPsd, -50, 50); - /// To get T0 Digis (seed + close digis) in the event + /// To get Bmon Digis (seed + close digis) in the event eventBuilder->SetTriggerWindow(ECbmModuleId::kBmon, -1, 10); /* /// Use TOF as reference eventBuilder->SetReferenceDetector( kEventBuilderDetTof ); - eventBuilder->AddDetector(kEventBuilderDetT0); + eventBuilder->AddDetector(kEventBuilderDetBmon); /// Change the selection window limits for TOF as ref /// => Should always be after changes of detector lists! - eventBuilder->SetTriggerWindow(ECbmModuleId::kT0, -150, 0); + eventBuilder->SetTriggerWindow(ECbmModuleId::kBmon, -150, 0); eventBuilder->SetTriggerWindow(ECbmModuleId::kSts, -50, 100); eventBuilder->SetTriggerWindow(ECbmModuleId::kMuch, -50, 200); eventBuilder->SetTriggerWindow(ECbmModuleId::kTrd, -50, 300); diff --git a/macro/beamtime/mcbm2020/build_events.C b/macro/beamtime/mcbm2020/build_events.C index c8b71e170725d69a879ccd3c3063c73f17df510b..829bbae24a8fc9a38b3a433718d93d5fc2826033 100644 --- a/macro/beamtime/mcbm2020/build_events.C +++ b/macro/beamtime/mcbm2020/build_events.C @@ -1,6 +1,6 @@ -/* Copyright (C) 2020 Facility for Antiproton and Ion Research in Europe, Darmstadt +/* Copyright (C) 2020-2023 Facility for Antiproton and Ion Research in Europe, Darmstadt SPDX-License-Identifier: GPL-3.0-only - Authors: Pierre-Alain Loizeau [orginator] */ + Authors: Pierre-Alain Loizeau [committer] */ void build_events(TString fileName, UInt_t uRunId = 0, Int_t nEvents = 0, TString outDir = "data/") { @@ -49,7 +49,7 @@ void build_events(TString fileName, UInt_t uRunId = 0, Int_t nEvents = 0, TStrin // eventBuilder->SetMaximumTimeGap(100.); eventBuilder->SetEventBuilderAlgo(EventBuilderAlgo::FixedTimeWindow); eventBuilder->SetFixedTimeWindow(50.); - eventBuilder->SetTriggerMinNumberT0(1); + eventBuilder->SetTriggerMinNumberBmon(1); eventBuilder->SetTriggerMinNumberSts(0); eventBuilder->SetTriggerMinNumberMuch(0); eventBuilder->SetTriggerMinNumberTof(1); diff --git a/macro/beamtime/mcbm2020/check_pulser.C b/macro/beamtime/mcbm2020/check_pulser.C index 8c141ef0b5ed7863b5d8cfac36ec7378365eab98..08011780d29e51455af9ad5c1a611a58a2f8d293 100644 --- a/macro/beamtime/mcbm2020/check_pulser.C +++ b/macro/beamtime/mcbm2020/check_pulser.C @@ -42,7 +42,7 @@ void check_pulser(UInt_t uRunId = 0, Int_t nrEvents = 0, TString sDir = "data") // ------------------------------------------------------------------------ CbmMcbm2019CheckPulser* pulserChecker = new CbmMcbm2019CheckPulser(); - pulserChecker->SetT0PulserTotLimits(184, 191); + pulserChecker->SetBmonPulserTotLimits(184, 191); pulserChecker->SetStsPulserAdcLimits(31, 0); pulserChecker->SetMuchPulserAdcLimits(5, 10); pulserChecker->SetTofPulserTotLimits(184, 191); diff --git a/macro/beamtime/mcbm2020/check_timing.C b/macro/beamtime/mcbm2020/check_timing.C index bd1d8ae989117e1a24f9183a71a60d268bbcbfbf..3b2c9ee0835de5fed3f5a9221fa0fffbc78502b6 100644 --- a/macro/beamtime/mcbm2020/check_timing.C +++ b/macro/beamtime/mcbm2020/check_timing.C @@ -41,7 +41,7 @@ void check_timing(TString fileName, UInt_t uRunId = 0, Int_t nEvents = 0, TStrin timeChecker->SetTofOffsetSearchRange(2000); timeChecker->SetRichOffsetSearchRange(1000); timeChecker->SetPsdOffsetSearchRange(10000); - timeChecker->SetT0PulserTotLimits(185, 191); + timeChecker->SetBmonPulserTotLimits(185, 191); timeChecker->SetNrTsForFit(-1); //Positive values: iterative peak fitting if (0 < uRunId) timeChecker->SetOutFilename(Form("%sHistosTimeCheck_%03u.root", outDir.Data(), uRunId)); fRun->AddTask(timeChecker); diff --git a/macro/beamtime/mcbm2020/check_timing_any.C b/macro/beamtime/mcbm2020/check_timing_any.C index cc8b86e337670cf431d14846c8e51e4c4fda1165..06e53874df2e428a84e0e73ad71036dc65ea6cb1 100644 --- a/macro/beamtime/mcbm2020/check_timing_any.C +++ b/macro/beamtime/mcbm2020/check_timing_any.C @@ -34,16 +34,16 @@ void check_timing_any(TString fileName, UInt_t uRunId = 0, Int_t nEvents = 0, TS // ------------------------------------------------------------------------ CbmMcbmCheckTimingTask* timeChecker = new CbmMcbmCheckTimingTask(); - /// Default is using T0 as reference + /// Default is using Bmon as reference /// With Pulser rejection /* - timeChecker->SetReferenceDetector( ECbmModuleId::kT0, "T0", + timeChecker->SetReferenceDetector( ECbmModuleId::kBmon, "Bmon", -1000., 1000., 320., 182, 190 ); */ /// With pulser selection /* - timeChecker->SetReferenceDetector( ECbmModuleId::kT0, "T0", + timeChecker->SetReferenceDetector( ECbmModuleId::kBmon, "Bmon", -1000., 1000., 320., 190, 182 ); */ @@ -51,13 +51,13 @@ void check_timing_any(TString fileName, UInt_t uRunId = 0, Int_t nEvents = 0, TS timeChecker->SetReferenceDetector(ECbmModuleId::kTof, "Tof"); timeChecker->RemoveCheckDetector(ECbmModuleId::kTof); - timeChecker->AddCheckDetector(ECbmModuleId::kBmon, "T0"); + timeChecker->AddCheckDetector(ECbmModuleId::kBmon, "Bmon"); /// Here swapping with MUCH /* timeChecker->SetReferenceDetector(ECbmModuleId::kMuch, "Much"); timeChecker->RemoveCheckDetector(ECbmModuleId::kMuch); - timeChecker->AddCheckDetector(ECbmModuleId::kT0, "T0"); + timeChecker->AddCheckDetector(ECbmModuleId::kBmon, "Bmon"); */ if (0 < uRunId) timeChecker->SetOutFilename(Form("%s/HistosTimeCheck_%03u.root", outDir.Data(), uRunId)); diff --git a/macro/beamtime/mcbm2020/find_spills.C b/macro/beamtime/mcbm2020/find_spills.C index a945c062783305ab01033580bc237ccf2ed11b37..b3389ac2115bb16d7707ec70820d88bdea1b5b5d 100644 --- a/macro/beamtime/mcbm2020/find_spills.C +++ b/macro/beamtime/mcbm2020/find_spills.C @@ -2,10 +2,10 @@ SPDX-License-Identifier: GPL-3.0-only Authors: Pierre-Alain Loizeau [committer] */ -/** @file MCBM spill detection with T0 +/** @file MCBM spill detection with Bmon ** @author Pierre-Alain Loizeau <p.-a.loizeau@gsi.de> ** @date 16.02.2021 - ** ROOT macro to read tsa files which have been produced in mCBM and use the T0 detector to + ** ROOT macro to read tsa files which have been produced in mCBM and use the Bmon detector to ** find the spill breaks beginning, middle and end TS index */ // In order to call later Finish, we make this global @@ -33,7 +33,7 @@ Bool_t find_spills(TString inFile = "", UInt_t uRunId = 0, TString sOutDir = "da TList* parFileList = new TList(); TString paramDir = srcDir + "/macro/beamtime/mcbm2020/"; - TString paramFileTof = paramDir + "mT0Par.par"; + TString paramFileTof = paramDir + "mBmonPar.par"; TObjString* parTofFileName = new TObjString(paramFileTof); parFileList->Add(parTofFileName); @@ -62,8 +62,8 @@ Bool_t find_spills(TString inFile = "", UInt_t uRunId = 0, TString sOutDir = "da source->SetHostName(sHostname); } // else of if( "" != inFile ) - // Use kHodo since there is no entry for T0 in the enum yet - source->AddUnpacker(spill_finder_t0, 0x90, ECbmModuleId::kHodo); //gDPB T0 + // Use kHodo since there is no entry for Bmon in the enum yet + source->AddUnpacker(spill_finder_t0, 0x90, ECbmModuleId::kHodo); //gDPB Bmon source->SetSubscriberHwm(1000); diff --git a/macro/beamtime/mcbm2020/find_spills_kronos.C b/macro/beamtime/mcbm2020/find_spills_kronos.C index 778ced4d89d40a4f70fd25fba5860c3a3a01b924..ede0983fa56a0d8fc763c6244eeef5d7a58630f0 100644 --- a/macro/beamtime/mcbm2020/find_spills_kronos.C +++ b/macro/beamtime/mcbm2020/find_spills_kronos.C @@ -2,10 +2,10 @@ SPDX-License-Identifier: GPL-3.0-only Authors: Pierre-Alain Loizeau [committer] */ -/** @file MCBM spill detection with T0, wrapper for lustre runs +/** @file MCBM spill detection with Bmon, wrapper for lustre runs ** @author Pierre-Alain Loizeau <p.-a.loizeau@gsi.de> ** @date 16.02.2021 - ** ROOT macro to read tsa files which have been produced in mCBM and use the T0 detector to + ** ROOT macro to read tsa files which have been produced in mCBM and use the Bmon detector to ** find the spill breaks beginning, middle and end TS index ** This wrapper macro provides all lustre paths + easy [0; n] run index mapping */ diff --git a/macro/beamtime/mcbm2020/mT0Par.par b/macro/beamtime/mcbm2020/mBmonPar.par similarity index 100% rename from macro/beamtime/mcbm2020/mT0Par.par rename to macro/beamtime/mcbm2020/mBmonPar.par diff --git a/macro/beamtime/mcbm2020/mcbm_build_and_reco.C b/macro/beamtime/mcbm2020/mcbm_build_and_reco.C index ceca3409cd0e6cb0dd0231116c27820c41ac6509..27a6ebb9de437afe217c7e6026cf132a094c769c 100644 --- a/macro/beamtime/mcbm2020/mcbm_build_and_reco.C +++ b/macro/beamtime/mcbm2020/mcbm_build_and_reco.C @@ -132,30 +132,30 @@ Bool_t mcbm_build_and_reco(UInt_t uRunId = 831, * kEventBuilderDetTof * kEventBuilderDetRich * kEventBuilderDetPsd - * kEventBuilderDetT0 + * kEventBuilderDetBmon */ - /// Use T0 as reference - /// The default (hardcoded) settings are T0 as reference detector and + /// Use Bmon as reference + /// The default (hardcoded) settings are Bmon as reference detector and /// STS, MUCH, TRD, TOF, RICH and PSD as selected detectors - /// Change the selection window limits for T0 as ref + /// Change the selection window limits for Bmon as ref eventBuilder->SetTriggerWindow(ECbmModuleId::kSts, -50, 100); eventBuilder->SetTriggerWindow(ECbmModuleId::kMuch, -150, 50); eventBuilder->SetTriggerWindow(ECbmModuleId::kTrd, -50, 250); eventBuilder->SetTriggerWindow(ECbmModuleId::kTof, -50, 50); eventBuilder->SetTriggerWindow(ECbmModuleId::kRich, -50, 50); eventBuilder->SetTriggerWindow(ECbmModuleId::kPsd, -50, 50); - /// To get T0 Digis (seed + close digis) in the event + /// To get Bmon Digis (seed + close digis) in the event eventBuilder->SetTriggerWindow(ECbmModuleId::kBmon, -1, 10); /* /// Use TOF as reference eventBuilder->SetReferenceDetector( kEventBuilderDetTof ); - eventBuilder->AddDetector(kEventBuilderDetT0); + eventBuilder->AddDetector(kEventBuilderDetBmon); /// Change the selection window limits for TOF as ref /// => Should always be after changes of detector lists! - eventBuilder->SetTriggerWindow(ECbmModuleId::kT0, -150, 0); + eventBuilder->SetTriggerWindow(ECbmModuleId::kBmon, -150, 0); eventBuilder->SetTriggerWindow(ECbmModuleId::kSts, -50, 100); eventBuilder->SetTriggerWindow(ECbmModuleId::kMuch, -50, 200); eventBuilder->SetTriggerWindow(ECbmModuleId::kTrd, -50, 300); diff --git a/macro/beamtime/mcbm2020/mcbm_event_ana.C b/macro/beamtime/mcbm2020/mcbm_event_ana.C index 442287da45f6b935f6d2d82228c487e335351a5b..5defa44d039bcc3cf939b58112c244f9c4431ddf 100644 --- a/macro/beamtime/mcbm2020/mcbm_event_ana.C +++ b/macro/beamtime/mcbm2020/mcbm_event_ana.C @@ -106,7 +106,7 @@ void mcbm_event_ana(UInt_t uRunId = 831, //eventBuilder->SetMaximumTimeGap(50.); eventBuilder->SetEventBuilderAlgo(EventBuilderAlgo::FixedTimeWindow); eventBuilder->SetFixedTimeWindow(200.); - eventBuilder->SetTriggerMinNumberT0(1); + eventBuilder->SetTriggerMinNumberBmon(1); //eventBuilder->SetTriggerMinNumberSts(0); eventBuilder->SetTriggerMinNumberMuch(1); eventBuilder->SetTriggerMinNumberTof(10); diff --git a/macro/beamtime/mcbm2020/mcbm_event_reco.C b/macro/beamtime/mcbm2020/mcbm_event_reco.C index 57331286060f44187cf6faefb7d1db835cd1225c..484c01cad0e67040504b4c7a291b4745558f01e9 100644 --- a/macro/beamtime/mcbm2020/mcbm_event_reco.C +++ b/macro/beamtime/mcbm2020/mcbm_event_reco.C @@ -114,7 +114,7 @@ Bool_t mcbm_event_reco(UInt_t uRunId = 831, //eventBuilder->SetMaximumTimeGap(50.); eventBuilder->SetEventBuilderAlgo(EventBuilderAlgo::FixedTimeWindow); eventBuilder->SetFixedTimeWindow(200.); - eventBuilder->SetTriggerMinNumberT0(1); + eventBuilder->SetTriggerMinNumberBmon(1); //eventBuilder->SetTriggerMinNumberSts(0); eventBuilder->SetTriggerMinNumberMuch(1); // eventBuilder->SetTriggerMinNumberTrd(1); diff --git a/macro/beamtime/mcbm2020/mcbm_event_reco_ana.C b/macro/beamtime/mcbm2020/mcbm_event_reco_ana.C index e242f794d6bf7a39ed7b1cd852d48e79bc3350a4..5a8ee43679e9ea6e421358b6bfbd3c8fe99d3167 100644 --- a/macro/beamtime/mcbm2020/mcbm_event_reco_ana.C +++ b/macro/beamtime/mcbm2020/mcbm_event_reco_ana.C @@ -72,7 +72,7 @@ void mcbm_event_reco_ana(Int_t runId = 831, Int_t nTimeslices = 1000) //eventBuilder->SetMaximumTimeGap(50.); eventBuilder->SetEventBuilderAlgo(EventBuilderAlgo::FixedTimeWindow); eventBuilder->SetFixedTimeWindow(200.); - eventBuilder->SetTriggerMinNumberT0(1); + eventBuilder->SetTriggerMinNumberBmon(1); //eventBuilder->SetTriggerMinNumberSts(0); eventBuilder->SetTriggerMinNumberMuch(1); eventBuilder->SetTriggerMinNumberTof(10); diff --git a/macro/beamtime/mcbm2020/mrich_reco.C b/macro/beamtime/mcbm2020/mrich_reco.C index 7ffa8c2ec9826bf13bdf3081f3da7e33a0554b40..9463986ac00acfadb70aee6a8b0b74fed962be6a 100644 --- a/macro/beamtime/mcbm2020/mrich_reco.C +++ b/macro/beamtime/mcbm2020/mrich_reco.C @@ -12,7 +12,7 @@ void mrich_reco(const string srcfolder = "/lustre/cbm/users/adrian/mcbmbeamtime/ const string& recoFile = Form("reco_mcbm_mar20_%d.root", runId); const Double_t eb_fixedTimeWindow {200.}; - const Int_t eb_TriggerMinNumberT0 {1}; + const Int_t eb_TriggerMinNumberBmon {1}; const Int_t eb_TriggerMinNumberSts {0}; const Int_t eb_TriggerMinNumberMuch {0}; const Int_t eb_TriggerMinNumberTof {10}; @@ -64,7 +64,7 @@ void mrich_reco(const string srcfolder = "/lustre/cbm/users/adrian/mcbmbeamtime/ // eventBuilder->SetMaximumTimeGap(100.); eventBuilder->SetEventBuilderAlgo(EventBuilderAlgo::FixedTimeWindow); eventBuilder->SetFixedTimeWindow(eb_fixedTimeWindow); - eventBuilder->SetTriggerMinNumberT0(eb_TriggerMinNumberT0); + eventBuilder->SetTriggerMinNumberBmon(eb_TriggerMinNumberBmon); eventBuilder->SetTriggerMinNumberSts(eb_TriggerMinNumberSts); eventBuilder->SetTriggerMinNumberMuch(eb_TriggerMinNumberMuch); eventBuilder->SetTriggerMinNumberTof(eb_TriggerMinNumberTof); @@ -149,7 +149,7 @@ void mrich_reco(const string srcfolder = "/lustre/cbm/users/adrian/mcbmbeamtime/ outfile << "Geometry: " << geoFile << std::endl; outfile << "Trigger:" << std::endl; outfile << " fixedTimeWindow :" << eb_fixedTimeWindow << std::endl; - outfile << " MinNumberT0 :" << eb_TriggerMinNumberT0 << std::endl; + outfile << " MinNumberBmon :" << eb_TriggerMinNumberBmon << std::endl; outfile << " MinNumberSts :" << eb_TriggerMinNumberSts << std::endl; outfile << " MinNumberMuch :" << eb_TriggerMinNumberMuch << std::endl; outfile << " MinNumberTof :" << eb_TriggerMinNumberTof << std::endl; diff --git a/macro/beamtime/mcbm2020/mtof_build_and_reco.C b/macro/beamtime/mcbm2020/mtof_build_and_reco.C index 0e69761644197e5dfeccee9ce3689033ef2faf74..69050f79bca173402520e530ddf0332831844d70 100644 --- a/macro/beamtime/mcbm2020/mtof_build_and_reco.C +++ b/macro/beamtime/mcbm2020/mtof_build_and_reco.C @@ -4,12 +4,12 @@ void mtof_build_and_reco_kronos(Int_t nEvents = -1, // number of Timeslices UInt_t uRunId = 831, TString setup = "mcbm_beam_2020_03", TString cCalId = "831.50.3.0", - Int_t iCalSet = 12022500, // calibration settings - TString outDir = "data/", - Double_t Tint = 50., // coincidence time interval - Double_t ReqTofMul = 10., // requested TOF digi multiplicity - Int_t iTrackMode = 2, // 2 for TofTracker - Double_t ReqT0Mul = 1.) + Int_t iCalSet = 12022500, // calibration settings + TString outDir = "data/", + Double_t Tint = 50., // coincidence time interval + Double_t ReqTofMul = 10., // requested TOF digi multiplicity + Int_t iTrackMode = 2, // 2 for TofTracker + Double_t ReqBmonMul = 1.) { // ======================================================================== // Adjust this part according to your requirements @@ -136,27 +136,27 @@ void mtof_build_and_reco_kronos(Int_t nEvents = -1, // number of Timeslices * kEventBuilderDetTof * kEventBuilderDetRich * kEventBuilderDetPsd - * kEventBuilderDetT0 + * kEventBuilderDetBmon */ - /// Change the selection window limits for T0 as ref + /// Change the selection window limits for Bmon as ref eventBuilder->SetTriggerWindow(ECbmModuleId::kSts, -50, 100); eventBuilder->SetTriggerWindow(ECbmModuleId::kMuch, -150, 50); eventBuilder->SetTriggerWindow(ECbmModuleId::kTrd, -250, 100); eventBuilder->SetTriggerWindow(ECbmModuleId::kTof, -Tint, Tint); eventBuilder->SetTriggerWindow(ECbmModuleId::kRich, -50, 50); eventBuilder->SetTriggerWindow(ECbmModuleId::kPsd, -50, 50); - /// To get T0 Digis (seed + close digis) in the event + /// To get Bmon Digis (seed + close digis) in the event eventBuilder->SetTriggerWindow(ECbmModuleId::kBmon, -1, 10); /* /// Use TOF as reference eventBuilder->SetReferenceDetector( kEventBuilderDetTof ); - eventBuilder->AddDetector( kEventBuilderDetT0 ); + eventBuilder->AddDetector( kEventBuilderDetBmon ); /// Change the selection window limits for TOF as ref /// => Should always be after changes of detector lists! - eventBuilder->SetTriggerWindow(ECbmModuleId::kT0, -150, 0); + eventBuilder->SetTriggerWindow(ECbmModuleId::kBmon, -150, 0); eventBuilder->SetTriggerWindow(ECbmModuleId::kSts, -50, 100); eventBuilder->SetTriggerWindow(ECbmModuleId::kMuch, -50, 200); eventBuilder->SetTriggerWindow(ECbmModuleId::kTrd, -50, 300); @@ -168,7 +168,7 @@ void mtof_build_and_reco_kronos(Int_t nEvents = -1, // number of Timeslices /// Change the trigger requirements /// => Should always be after changes of detector lists! /// --- Minimum - eventBuilder->SetTriggerMinNumber(ECbmModuleId::kBmon, ReqT0Mul); + eventBuilder->SetTriggerMinNumber(ECbmModuleId::kBmon, ReqBmonMul); eventBuilder->SetTriggerMinNumber(ECbmModuleId::kSts, 0); eventBuilder->SetTriggerMinNumber(ECbmModuleId::kMuch, 0); eventBuilder->SetTriggerMinNumber(ECbmModuleId::kTrd, 0); diff --git a/macro/beamtime/mcbm2020/mtof_build_and_reco_kronos.C b/macro/beamtime/mcbm2020/mtof_build_and_reco_kronos.C index defd43878f63f4c756b0648d1060fe00421b4575..61f9120fcf71352433510d26a4e638e430c82062 100644 --- a/macro/beamtime/mcbm2020/mtof_build_and_reco_kronos.C +++ b/macro/beamtime/mcbm2020/mtof_build_and_reco_kronos.C @@ -4,12 +4,12 @@ void mtof_build_and_reco_kronos(Int_t nEvents = -1, // number of Timeslices UInt_t uRunId = 831, TString setup = "mcbm_beam_2020_03", TString cCalId = "831.50.3.0", - Int_t iCalSet = 12022500, // calibration settings - TString outDir = "data/", - Double_t Tint = 50., // coincidence time interval - Double_t ReqTofMul = 10., // requested TOF digi multiplicity - Int_t iTrackMode = 2, // 2 for TofTracker - Double_t ReqT0Mul = 1.) + Int_t iCalSet = 12022500, // calibration settings + TString outDir = "data/", + Double_t Tint = 50., // coincidence time interval + Double_t ReqTofMul = 10., // requested TOF digi multiplicity + Int_t iTrackMode = 2, // 2 for TofTracker + Double_t ReqBmonMul = 1.) { // ======================================================================== // Adjust this part according to your requirements @@ -136,27 +136,27 @@ void mtof_build_and_reco_kronos(Int_t nEvents = -1, // number of Timeslices * kEventBuilderDetTof * kEventBuilderDetRich * kEventBuilderDetPsd - * kEventBuilderDetT0 + * kEventBuilderDetBmon */ - /// Change the selection window limits for T0 as ref + /// Change the selection window limits for Bmon as ref eventBuilder->SetTriggerWindow(ECbmModuleId::kSts, -50, 100); eventBuilder->SetTriggerWindow(ECbmModuleId::kMuch, -150, 50); eventBuilder->SetTriggerWindow(ECbmModuleId::kTrd, -250, 100); eventBuilder->SetTriggerWindow(ECbmModuleId::kTof, -Tint, Tint); eventBuilder->SetTriggerWindow(ECbmModuleId::kRich, -50, 50); eventBuilder->SetTriggerWindow(ECbmModuleId::kPsd, -50, 50); - /// To get T0 Digis (seed + close digis) in the event + /// To get Bmon Digis (seed + close digis) in the event eventBuilder->SetTriggerWindow(ECbmModuleId::kBmon, -1, 10); /* /// Use TOF as reference eventBuilder->SetReferenceDetector( kEventBuilderDetTof ); - eventBuilder->AddDetector( kEventBuilderDetT0 ); + eventBuilder->AddDetector( kEventBuilderDetBmon ); /// Change the selection window limits for TOF as ref /// => Should always be after changes of detector lists! - eventBuilder->SetTriggerWindow(ECbmModuleId::kT0, -150, 0); + eventBuilder->SetTriggerWindow(ECbmModuleId::kBmon, -150, 0); eventBuilder->SetTriggerWindow(ECbmModuleId::kSts, -50, 100); eventBuilder->SetTriggerWindow(ECbmModuleId::kMuch, -50, 200); eventBuilder->SetTriggerWindow(ECbmModuleId::kTrd, -50, 300); @@ -168,7 +168,7 @@ void mtof_build_and_reco_kronos(Int_t nEvents = -1, // number of Timeslices /// Change the trigger requirements /// => Should always be after changes of detector lists! /// --- Minimum - eventBuilder->SetTriggerMinNumber(ECbmModuleId::kBmon, ReqT0Mul); + eventBuilder->SetTriggerMinNumber(ECbmModuleId::kBmon, ReqBmonMul); eventBuilder->SetTriggerMinNumber(ECbmModuleId::kSts, 0); eventBuilder->SetTriggerMinNumber(ECbmModuleId::kMuch, 0); eventBuilder->SetTriggerMinNumber(ECbmModuleId::kTrd, 0); diff --git a/macro/beamtime/mcbm2020/mtof_reco.C b/macro/beamtime/mcbm2020/mtof_reco.C index b252118a20cc3e4878eea4296548c3796992533f..d675ea48ae6565c24bbd6ce4975634a1d17491a6 100644 --- a/macro/beamtime/mcbm2020/mtof_reco.C +++ b/macro/beamtime/mcbm2020/mtof_reco.C @@ -9,12 +9,12 @@ void mtof_reco(Int_t nEvents = -1, // number of Timeslices TString dataset = "data/unp_mcbm_831", TString setup = "mcbm_beam_2020_03", - TString cCalId = "831.50.3.0", - Int_t iCalSet = 12022500, // calibration settings - Double_t ReqTofMul = 5., // requested TOF digi multiplicity - Double_t Tint = 100., // coincidence time interval - Int_t iTrackMode = 2, // 2 for TofTracker - Double_t ReqT0Mul = 1.) + TString cCalId = "831.50.3.0", + Int_t iCalSet = 12022500, // calibration settings + Double_t ReqTofMul = 5., // requested TOF digi multiplicity + Double_t Tint = 100., // coincidence time interval + Int_t iTrackMode = 2, // 2 for TofTracker + Double_t ReqBmonMul = 1.) { // ======================================================================== // Adjust this part according to your requirements @@ -127,7 +127,7 @@ void mtof_reco(Int_t nEvents = -1, // number of Timeslices // eventBuilder->SetMaximumTimeGap(100.); eventBuilder->SetEventBuilderAlgo(EventBuilderAlgo::FixedTimeWindow); eventBuilder->SetFixedTimeWindow(Tint); - eventBuilder->SetTriggerMinNumberT0(ReqT0Mul); + eventBuilder->SetTriggerMinNumberBmon(ReqBmonMul); eventBuilder->SetTriggerMinNumberSts(0); eventBuilder->SetTriggerMinNumberMuch(0); eventBuilder->SetTriggerMinNumberTof(ReqTofMul); diff --git a/macro/beamtime/mcbm2020/unpack_check_time_mcbm_kronos.C b/macro/beamtime/mcbm2020/unpack_check_time_mcbm_kronos.C index 7e3fc9dcdee04828abdf6e4e63ac9970c9d018ee..88aa3508282c7e44ebef53678468bfa917aa503c 100644 --- a/macro/beamtime/mcbm2020/unpack_check_time_mcbm_kronos.C +++ b/macro/beamtime/mcbm2020/unpack_check_time_mcbm_kronos.C @@ -153,7 +153,7 @@ void unpack_check_time_mcbm_kronos(UInt_t uRunIdx = 99999, UInt_t nrEvents = 0, unpacker_sts->SetAdcCut(20); unpacker_much->SetAdcCut(20); - unpacker_tof->SetSeparateArrayT0(); + unpacker_tof->SetSeparateArrayBmon(); unpacker_sts->SetWriteOutputFlag(kFALSE); unpacker_much->SetWriteOutputFlag(kFALSE); @@ -529,7 +529,7 @@ void unpack_check_time_mcbm_kronos(UInt_t uRunIdx = 99999, UInt_t nrEvents = 0, source->AddUnpacker(unpacker_much, 0x50, ECbmModuleId::kMuch); //MUCH xyter if (isActiveTrd) source->AddUnpacker(unpacker_trdR, 0x40, ECbmModuleId::kTrd); // Trd source->AddUnpacker(unpacker_tof, 0x60, ECbmModuleId::kTof); //gDPB A & B & C - source->AddUnpacker(unpacker_tof, 0x90, ECbmModuleId::kTof); //gDPB T0 A & B + source->AddUnpacker(unpacker_tof, 0x90, ECbmModuleId::kTof); //gDPB Bmon A & B source->AddUnpacker(unpacker_rich, 0x30, ECbmModuleId::kRich); //RICH trb source->AddUnpacker(unpacker_psd, 0x80, ECbmModuleId::kPsd); //PSD @@ -560,7 +560,7 @@ void unpack_check_time_mcbm_kronos(UInt_t uRunIdx = 99999, UInt_t nrEvents = 0, timeChecker->SetTofOffsetSearchRange(10000); timeChecker->SetRichOffsetSearchRange(10000); timeChecker->SetPsdOffsetSearchRange(10000); - timeChecker->SetT0PulserTotLimits(185, 191); + timeChecker->SetBmonPulserTotLimits(185, 191); if (0 < uRunId) timeChecker->SetOutFilename(Form("%s/HistosTimeCheck_%03u.root", outDir.Data(), uRunId)); run->AddTask(timeChecker); diff --git a/macro/beamtime/mcbm2020/unpack_check_timing_any_mcbm.C b/macro/beamtime/mcbm2020/unpack_check_timing_any_mcbm.C index e2114809fff6547cb982e7025846e4c3758d7987..fb67803b00ef8b68082e12e1a19849944326991e 100644 --- a/macro/beamtime/mcbm2020/unpack_check_timing_any_mcbm.C +++ b/macro/beamtime/mcbm2020/unpack_check_timing_any_mcbm.C @@ -134,7 +134,7 @@ void unpack_check_timing_any_mcbm(TString inFile = "", UInt_t uRunId = 0, UInt_t // unpacker_sts->SetAdcCut(20); // unpacker_much->SetAdcCut(20); - unpacker_tof->SetSeparateArrayT0(); + unpacker_tof->SetSeparateArrayBmon(); unpacker_sts->SetWriteOutputFlag(kFALSE); unpacker_much->SetWriteOutputFlag(kFALSE); @@ -499,7 +499,7 @@ void unpack_check_timing_any_mcbm(TString inFile = "", UInt_t uRunId = 0, UInt_t source->AddUnpacker(unpacker_much, 0x50, ECbmModuleId::kMuch); //MUCH xyter if (isActiveTrd) source->AddUnpacker(unpacker_trdR, 0x40, ECbmModuleId::kTrd); // Trd source->AddUnpacker(unpacker_tof, 0x60, ECbmModuleId::kTof); //gDPB A & B & C - source->AddUnpacker(unpacker_tof, 0x90, ECbmModuleId::kTof); //gDPB T0 A & B + source->AddUnpacker(unpacker_tof, 0x90, ECbmModuleId::kTof); //gDPB Bmon A & B source->AddUnpacker(unpacker_rich, 0x30, ECbmModuleId::kRich); //RICH trb source->AddUnpacker(unpacker_psd, 0x80, ECbmModuleId::kPsd); //PSD @@ -522,13 +522,13 @@ void unpack_check_timing_any_mcbm(TString inFile = "", UInt_t uRunId = 0, UInt_t CbmMcbmCheckTimingTask* timeChecker = new CbmMcbmCheckTimingTask(); - /// Default is using T0 as reference + /// Default is using Bmon as reference /// With Pulser rejection timeChecker->SetReferenceDetector(ECbmModuleId::kBmon, "BMON", -1000., 1000., 320., 182, 190); /// With pulser selection /* - timeChecker->SetReferenceDetector( ECbmModuleId::kT0, "T0", + timeChecker->SetReferenceDetector( ECbmModuleId::kBmon, "Bmon", -1000., 1000., 320., 190, 182 ); */ @@ -536,7 +536,7 @@ void unpack_check_timing_any_mcbm(TString inFile = "", UInt_t uRunId = 0, UInt_t /* timeChecker->SetReferenceDetector( ECbmModuleId::kMuch, "Much" ); timeChecker->RemoveCheckDetector( ECbmModuleId::kMuch ); - timeChecker->AddCheckDetector( ECbmModuleId::kT0, "T0" ); + timeChecker->AddCheckDetector( ECbmModuleId::kBmon, "Bmon" ); */ if (0 < uRunId) timeChecker->SetOutFilename(Form("%s/HistosTimeCheck_%03u.root", outDir.Data(), uRunId)); run->AddTask(timeChecker); diff --git a/macro/beamtime/mcbm2020/unpack_pulser_mcbm.C b/macro/beamtime/mcbm2020/unpack_pulser_mcbm.C index 3034561ab9d412924498fb18e6e53970f12d9faa..0d719f19b5e84b09924a88a7a2b02cbd88f3f472 100644 --- a/macro/beamtime/mcbm2020/unpack_pulser_mcbm.C +++ b/macro/beamtime/mcbm2020/unpack_pulser_mcbm.C @@ -174,7 +174,7 @@ Bool_t unpack_pulser_mcbm(TString inFile = "", unpacker_sts->SetAdcCut(3); unpacker_sts->SeparatePulserOutput(kFALSE); - unpacker_tof->SetSeparateArrayT0(); + unpacker_tof->SetSeparateArrayBmon(); // ------------------------------ // // Enable Asic type for MUCH data. @@ -607,7 +607,7 @@ Bool_t unpack_pulser_mcbm(TString inFile = "", source->AddUnpacker(unpacker_much, 0x50, ECbmModuleId::kMuch); // MUCH xyter if (isActiveTrd) source->AddUnpacker(unpacker_trdR, 0x40, ECbmModuleId::kTrd); // Trd source->AddUnpacker(unpacker_tof, 0x60, ECbmModuleId::kTof); // gDPB TOF - source->AddUnpacker(unpacker_tof, 0x90, ECbmModuleId::kTof); // gDPB T0 + source->AddUnpacker(unpacker_tof, 0x90, ECbmModuleId::kTof); // gDPB Bmon source->AddUnpacker(unpacker_rich, 0x30, ECbmModuleId::kRich); // RICH trb source->AddUnpacker(unpacker_psd, 0x80, ECbmModuleId::kPsd); // PSD @@ -647,7 +647,7 @@ Bool_t unpack_pulser_mcbm(TString inFile = "", run->SetAutoFinish(kFALSE); CbmMcbm2019CheckPulser* pulserChecker = new CbmMcbm2019CheckPulser(); - pulserChecker->SetT0PulserTotLimits(182, 191); + pulserChecker->SetBmonPulserTotLimits(182, 191); pulserChecker->SetStsPulserAdcLimits(0, 31); pulserChecker->SetMuchPulserAdcLimits(5, 25); /// mCBM 2019 pulserChecker->SetTrdPulserChargeLimits(0, 100000); diff --git a/macro/beamtime/mcbm2020/unpack_pulser_mcbm_stsbinning.C b/macro/beamtime/mcbm2020/unpack_pulser_mcbm_stsbinning.C index 983b0d9ee864185558b530546e6ed674cd08f6bd..a66ac381e6187683bfddfe8d77a83b7db9a0d05d 100644 --- a/macro/beamtime/mcbm2020/unpack_pulser_mcbm_stsbinning.C +++ b/macro/beamtime/mcbm2020/unpack_pulser_mcbm_stsbinning.C @@ -125,7 +125,7 @@ void unpack_pulser_mcbm_stsbinning(UInt_t uRunId = 0, TString sHostname = "local unpacker_sts->SetAdcCut(3); unpacker_sts->SeparatePulserOutput(kFALSE); - unpacker_tof->SetSeparateArrayT0(); + unpacker_tof->SetSeparateArrayBmon(); unpacker_sts->SetBinningFwFlag(kTRUE); @@ -296,7 +296,7 @@ void unpack_pulser_mcbm_stsbinning(UInt_t uRunId = 0, TString sHostname = "local source->AddUnpacker(unpacker_much, 0x50, ECbmModuleId::kMuch); //MUCH xyter if (isActiveTrd) source->AddUnpacker(unpacker_trdR, 0x40, ECbmModuleId::kTrd); // Trd source->AddUnpacker(unpacker_tof, 0x60, ECbmModuleId::kTof); //gDPB A & B & C - source->AddUnpacker(unpacker_tof, 0x90, ECbmModuleId::kTof); //gDPB T0 A & B + source->AddUnpacker(unpacker_tof, 0x90, ECbmModuleId::kTof); //gDPB Bmon A & B source->AddUnpacker(unpacker_rich, 0x30, ECbmModuleId::kRich); //RICH trb source->AddUnpacker(unpacker_psd, 0x80, ECbmModuleId::kPsd); //PSD @@ -311,7 +311,7 @@ void unpack_pulser_mcbm_stsbinning(UInt_t uRunId = 0, TString sHostname = "local run->SetAutoFinish(kFALSE); CbmMcbm2019CheckPulser* pulserChecker = new CbmMcbm2019CheckPulser(); - pulserChecker->SetT0PulserTotLimits(182, 191); + pulserChecker->SetBmonPulserTotLimits(182, 191); pulserChecker->SetStsPulserAdcLimits(0, 31); pulserChecker->SetMuchPulserAdcLimits(5, 25); /// mCBM 2019 pulserChecker->SetTrdPulserChargeLimits(0, 100000); diff --git a/macro/beamtime/mcbm2020/unpack_tsa_mcbm.C b/macro/beamtime/mcbm2020/unpack_tsa_mcbm.C index 1c1843096fd1f15c62432493a15dafcdbbb5bf81..27842a2b53a6880870bf7b6a32ccc12844445796 100644 --- a/macro/beamtime/mcbm2020/unpack_tsa_mcbm.C +++ b/macro/beamtime/mcbm2020/unpack_tsa_mcbm.C @@ -165,7 +165,7 @@ Bool_t unpack_tsa_mcbm(TString inFile = "", unpacker_sts ->MaskNoisyChannel(3,770 , true ); - unpacker_tof->SetSeparateArrayT0(); + unpacker_tof->SetSeparateArrayBmon(); // ------------------------------ // // Enable Asic type for MUCH data. @@ -599,7 +599,7 @@ Bool_t unpack_tsa_mcbm(TString inFile = "", source->AddUnpacker(unpacker_much, 0x50, ECbmModuleId::kMuch); // MUCH xyter if (isActiveTrd) source->AddUnpacker(unpacker_trdR, 0x40, ECbmModuleId::kTrd); // Trd source->AddUnpacker(unpacker_tof, 0x60, ECbmModuleId::kTof); // gDPB TOF - source->AddUnpacker(unpacker_tof, 0x90, ECbmModuleId::kTof); // gDPB T0 + source->AddUnpacker(unpacker_tof, 0x90, ECbmModuleId::kTof); // gDPB Bmon source->AddUnpacker(unpacker_rich, 0x30, ECbmModuleId::kRich); // RICH trb source->AddUnpacker(unpacker_psd, 0x80, ECbmModuleId::kPsd); // PSD diff --git a/macro/beamtime/mcbm2020/unpack_tsa_mcbm_mfles.C b/macro/beamtime/mcbm2020/unpack_tsa_mcbm_mfles.C index 455129b1b323c2384c7a7108223b4be74a423e79..576eed12222a4faf7d41edb944020ee21fce8000 100644 --- a/macro/beamtime/mcbm2020/unpack_tsa_mcbm_mfles.C +++ b/macro/beamtime/mcbm2020/unpack_tsa_mcbm_mfles.C @@ -140,7 +140,7 @@ void unpack_tsa_mcbm_mfles(UInt_t uRunId = 0, UInt_t nrEvents = 0, TString outDi unpacker_sts ->MaskNoisyChannel(3,770 , true ); - unpacker_tof->SetSeparateArrayT0(); + unpacker_tof->SetSeparateArrayBmon(); // ------------------------------ // // Enable Asic type for MUCH data. @@ -596,7 +596,7 @@ void unpack_tsa_mcbm_mfles(UInt_t uRunId = 0, UInt_t nrEvents = 0, TString outDi source->AddUnpacker(unpacker_much, 0x50, ECbmModuleId::kMuch); // MUCH xyter if (isActiveTrd) source->AddUnpacker(unpacker_trdR, 0x40, ECbmModuleId::kTrd); // Trd source->AddUnpacker(unpacker_tof, 0x60, ECbmModuleId::kTof); // gDPB TOF - source->AddUnpacker(unpacker_tof, 0x90, ECbmModuleId::kTof); // gDPB T0 + source->AddUnpacker(unpacker_tof, 0x90, ECbmModuleId::kTof); // gDPB Bmon source->AddUnpacker(unpacker_rich, 0x30, ECbmModuleId::kRich); // RICH trb source->AddUnpacker(unpacker_psd, 0x80, ECbmModuleId::kPsd); // PSD diff --git a/macro/beamtime/mcbm2020/unpack_tsa_mcbm_stsbinning.C b/macro/beamtime/mcbm2020/unpack_tsa_mcbm_stsbinning.C index 89661c4583c1e9fa0d7399c3554c1ab702bea456..6091faa40a197b8216d5a05ab6efa431dfe5785c 100644 --- a/macro/beamtime/mcbm2020/unpack_tsa_mcbm_stsbinning.C +++ b/macro/beamtime/mcbm2020/unpack_tsa_mcbm_stsbinning.C @@ -94,7 +94,7 @@ void unpack_tsa_mcbm_stsbinning(TString inFile = "", UInt_t uRunId = 0, UInt_t n unpacker_sts->SetBinningFwFlag(kTRUE); - unpacker_tof->SetSeparateArrayT0(); + unpacker_tof->SetSeparateArrayBmon(); // ------------------------------ // // Enable Asic type for MUCH data. @@ -244,7 +244,7 @@ void unpack_tsa_mcbm_stsbinning(TString inFile = "", UInt_t uRunId = 0, UInt_t n source->AddUnpacker(unpacker_sts, 0x10, ECbmModuleId::kSts); //STS xyter source->AddUnpacker(unpacker_much, 0x40, ECbmModuleId::kMuch); //MUCH xyter source->AddUnpacker(unpacker_tof, 0x60, ECbmModuleId::kTof); //gDPB A & B & C - source->AddUnpacker(unpacker_tof, 0x90, ECbmModuleId::kTof); //gDPB T0 A & B + source->AddUnpacker(unpacker_tof, 0x90, ECbmModuleId::kTof); //gDPB Bmon A & B source->AddUnpacker(unpacker_rich, 0x30, ECbmModuleId::kRich); //RICH trb source->AddUnpacker(unpacker_psd, 0x80, ECbmModuleId::kPsd); //PSD diff --git a/macro/beamtime/mcbm2020/unpack_tsa_mcbm_stsmuchbinning.C b/macro/beamtime/mcbm2020/unpack_tsa_mcbm_stsmuchbinning.C index 19ada4bdb71e38cf98206ab952aae8560919e9ec..e52d842d87f4fa0be02717085d855b00dd485632 100644 --- a/macro/beamtime/mcbm2020/unpack_tsa_mcbm_stsmuchbinning.C +++ b/macro/beamtime/mcbm2020/unpack_tsa_mcbm_stsmuchbinning.C @@ -117,7 +117,7 @@ void unpack_tsa_mcbm_stsmuchbinning(TString inFile = "", UInt_t uRunId = 0, UInt unpacker_sts->SetBinningFwFlag(kTRUE); unpacker_much->SetBinningFwFlag(kTRUE); - unpacker_tof->SetSeparateArrayT0(); + unpacker_tof->SetSeparateArrayBmon(); // ------------------------------ // // Enable Asic type for MUCH data. @@ -268,7 +268,7 @@ void unpack_tsa_mcbm_stsmuchbinning(TString inFile = "", UInt_t uRunId = 0, UInt source->AddUnpacker(unpacker_much, 0x50, ECbmModuleId::kMuch); //MUCH xyter if (isActiveTrd) source->AddUnpacker(unpacker_trdR, 0x40, ECbmModuleId::kTrd); // Trd source->AddUnpacker(unpacker_tof, 0x60, ECbmModuleId::kTof); //gDPB A & B & C - source->AddUnpacker(unpacker_tof, 0x90, ECbmModuleId::kTof); //gDPB T0 A & B + source->AddUnpacker(unpacker_tof, 0x90, ECbmModuleId::kTof); //gDPB Bmon A & B source->AddUnpacker(unpacker_rich, 0x30, ECbmModuleId::kRich); //RICH trb source->AddUnpacker(unpacker_psd, 0x80, ECbmModuleId::kPsd); //PSD diff --git a/macro/beamtime/mcbm2020/unpack_tsa_mcbm_with_eb.C b/macro/beamtime/mcbm2020/unpack_tsa_mcbm_with_eb.C index 2b2f906c0f1337d0b03238ab4e7d0f9f7d0b5397..57dd7b5ddd54ddb0b59946eaee058b89483e6604 100644 --- a/macro/beamtime/mcbm2020/unpack_tsa_mcbm_with_eb.C +++ b/macro/beamtime/mcbm2020/unpack_tsa_mcbm_with_eb.C @@ -165,7 +165,7 @@ Bool_t unpack_tsa_mcbm_with_eb(TString inFile = "", unpacker_sts ->MaskNoisyChannel(3,770 , true ); - unpacker_tof->SetSeparateArrayT0(); + unpacker_tof->SetSeparateArrayBmon(); // ------------------------------ // // Enable Asic type for MUCH data. @@ -599,7 +599,7 @@ Bool_t unpack_tsa_mcbm_with_eb(TString inFile = "", source->AddUnpacker(unpacker_much, 0x50, ECbmModuleId::kMuch); // MUCH xyter if (isActiveTrd) source->AddUnpacker(unpacker_trdR, 0x40, ECbmModuleId::kTrd); // Trd source->AddUnpacker(unpacker_tof, 0x60, ECbmModuleId::kTof); // gDPB TOF - source->AddUnpacker(unpacker_tof, 0x90, ECbmModuleId::kTof); // gDPB T0 + source->AddUnpacker(unpacker_tof, 0x90, ECbmModuleId::kTof); // gDPB Bmon source->AddUnpacker(unpacker_rich, 0x30, ECbmModuleId::kRich); // RICH trb source->AddUnpacker(unpacker_psd, 0x80, ECbmModuleId::kPsd); // PSD @@ -652,27 +652,27 @@ Bool_t unpack_tsa_mcbm_with_eb(TString inFile = "", * kEventBuilderDetTof * kEventBuilderDetRich * kEventBuilderDetPsd - * kEventBuilderDetT0 + * kEventBuilderDetBmon */ - /// Change the selection window limits for T0 as ref + /// Change the selection window limits for Bmon as ref eventBuilder->SetTriggerWindow(ECbmModuleId::kSts, -50, 100); eventBuilder->SetTriggerWindow(ECbmModuleId::kMuch, -150, 50); eventBuilder->SetTriggerWindow(ECbmModuleId::kTrd, -50, 250); eventBuilder->SetTriggerWindow(ECbmModuleId::kTof, -50, 50); eventBuilder->SetTriggerWindow(ECbmModuleId::kRich, -50, 50); eventBuilder->SetTriggerWindow(ECbmModuleId::kPsd, -50, 50); - /// To get T0 Digis (seed + close digis) in the event + /// To get Bmon Digis (seed + close digis) in the event eventBuilder->SetTriggerWindow(ECbmModuleId::kBmon, -1, 10); /* /// Use TOF as reference eventBuilder->SetReferenceDetector( kEventBuilderDetTof ); - eventBuilder->AddDetector(kEventBuilderDetT0); + eventBuilder->AddDetector(kEventBuilderDetBmon); /// Change the selection window limits for TOF as ref /// => Should always be after changes of detector lists! - eventBuilder->SetTriggerWindow(ECbmModuleId::kT0, -150, 0); + eventBuilder->SetTriggerWindow(ECbmModuleId::kBmon, -150, 0); eventBuilder->SetTriggerWindow(ECbmModuleId::kSts, -50, 100); eventBuilder->SetTriggerWindow(ECbmModuleId::kMuch, -50, 200); eventBuilder->SetTriggerWindow(ECbmModuleId::kTrd, -50, 300); diff --git a/macro/beamtime/mcbm2021/MonitorT0.C b/macro/beamtime/mcbm2021/MonitorBmon.C similarity index 86% rename from macro/beamtime/mcbm2021/MonitorT0.C rename to macro/beamtime/mcbm2021/MonitorBmon.C index f90e6016a801d1b4868451a35a52ffe26c1ab405..acb12511a7aa09a2ab9085fea26ca4d1e5ff8500 100644 --- a/macro/beamtime/mcbm2021/MonitorT0.C +++ b/macro/beamtime/mcbm2021/MonitorBmon.C @@ -16,7 +16,7 @@ FairRunOnline* run = NULL; /// FIXME: Disable clang formatting to keep easy parameters overview /* clang-format off */ -void MonitorT0(TString inFile = "", +void MonitorBmon(TString inFile = "", TString sHostname = "cbmflesnode8:5558;cbmflesnode9:5559", Int_t iServerHttpPort = 8080, Int_t iServerRefreshRate = 100, @@ -44,7 +44,7 @@ void MonitorT0(TString inFile = "", TList* parFileList = new TList(); TString paramDir = srcDir + "/macro/beamtime/mcbm2021/"; - TString paramFileTof = paramDir + "mT0Par.par"; + TString paramFileTof = paramDir + "mBmonPar.par"; TObjString* parTofFileName = new TObjString(paramFileTof); parFileList->Add(parTofFileName); @@ -56,12 +56,12 @@ void MonitorT0(TString inFile = "", // ======================================================================== // ======================================================================== std::cout << std::endl; - std::cout << ">>> MonitorT0: Initialising..." << std::endl; - CbmMcbm2018MonitorTaskT0* monitor_t0 = new CbmMcbm2018MonitorTaskT0(); + std::cout << ">>> MonitorBmon: Initialising..." << std::endl; + CbmMcbm2018MonitorTaskBmon* monitor_t0 = new CbmMcbm2018MonitorTaskBmon(); monitor_t0->SetIgnoreOverlapMs(); monitor_t0->SetHistoryHistoSize(1800); - if (0 < uRunId) monitor_t0->SetHistoFilename(Form("data/HistosMonitorT0_%03u.root", uRunId)); + if (0 < uRunId) monitor_t0->SetHistoFilename(Form("data/HistosMonitorBmon_%03u.root", uRunId)); monitor_t0->SetPulserTotLimits(180, 210); // for runs > 86 // --- Source task @@ -72,8 +72,8 @@ void MonitorT0(TString inFile = "", source->SetHostName(sHostname); } // else of if( "" != inFile ) - // Use kHodo since there is no entry for T0 in the enum yet - source->AddUnpacker(monitor_t0, 0x90, ECbmModuleId::kHodo); //gDPB T0 + // Use kHodo since there is no entry for Bmon in the enum yet + source->AddUnpacker(monitor_t0, 0x90, ECbmModuleId::kHodo); //gDPB Bmon source->SetSubscriberHwm(1000); @@ -98,7 +98,7 @@ void MonitorT0(TString inFile = "", // --- Start run TStopwatch timer; timer.Start(); - std::cout << ">>> MonitorT0: Starting run..." << std::endl; + std::cout << ">>> MonitorBmon: Starting run..." << std::endl; if (0 == nrEvents) { run->Run(nEvents, 0); // run until end of input file } @@ -115,8 +115,8 @@ void MonitorT0(TString inFile = "", Double_t rtime = timer.RealTime(); Double_t ctime = timer.CpuTime(); std::cout << std::endl << std::endl; - std::cout << ">>> MonitorT0: Macro finished successfully." << std::endl; - std::cout << ">>> MonitorT0: Real time " << rtime << " s, CPU time " << ctime << " s" << std::endl; + std::cout << ">>> MonitorBmon: Macro finished successfully." << std::endl; + std::cout << ">>> MonitorBmon: Real time " << rtime << " s, CPU time " << ctime << " s" << std::endl; std::cout << std::endl; /// --- Screen output for automatic tests diff --git a/macro/beamtime/mcbm2021/MonitorPsd.C b/macro/beamtime/mcbm2021/MonitorPsd.C index bc5eac47510d609a471ac3fc0f88a0d4e54790b4..2404ae59dbd90f21439dadd4c4c9186097817697 100644 --- a/macro/beamtime/mcbm2021/MonitorPsd.C +++ b/macro/beamtime/mcbm2021/MonitorPsd.C @@ -5,7 +5,7 @@ /** @file MCBM PSD DATA monitoring ** @author Nikolay Karpushkin <karpushkin@inr.ru> ** @date 09.10.2019 - ** Based on MonitorT0 by P.-A. Loizeau + ** Based on MonitorBmon by P.-A. Loizeau ** ROOT macro to read tsa files which have been produced with the new data transport ** Convert data into cbmroot format. ** Uses CbmMcbm2018Source as source task. diff --git a/macro/beamtime/mcbm2021/MonitorRich.C b/macro/beamtime/mcbm2021/MonitorRich.C index c2828c31662779cc89f2d084c463c7d97ad7dfc6..fb043cc6ef052bffa5594486c3c1fb49cd6c1ae8 100644 --- a/macro/beamtime/mcbm2021/MonitorRich.C +++ b/macro/beamtime/mcbm2021/MonitorRich.C @@ -3,7 +3,7 @@ Authors: Pierre-Alain Loizeau [committer] */ /** @file MCBM RICH DATA monitoring - ** Based on MonitorT0 by P.-A. Loizeau + ** Based on MonitorBmon by P.-A. Loizeau ** ROOT macro to read tsa files which have been produced with the new data transport ** Convert data into cbmroot format. ** Uses CbmMcbm2018Source as source task. diff --git a/macro/beamtime/mcbm2021/MonitorTof.C b/macro/beamtime/mcbm2021/MonitorTof.C index 2746f8a494e88f086285d1d60776f0b9b4b843be..806583af8beefa234a6ac23e8d0bb169d5f78d34 100644 --- a/macro/beamtime/mcbm2021/MonitorTof.C +++ b/macro/beamtime/mcbm2021/MonitorTof.C @@ -82,7 +82,7 @@ void MonitorTof(TString inFile = "", } // else of if( "" != inFile ) source->SetSubscriberHwm(10); source->AddUnpacker(monitor_tof, 0x60, ECbmModuleId::kTof); //gDPBs - source->AddUnpacker(monitor_tof, 0x90, ECbmModuleId::kTof); //gDPBs T0 + source->AddUnpacker(monitor_tof, 0x90, ECbmModuleId::kTof); //gDPBs Bmon // --- Run run = new FairRunOnline(source); diff --git a/macro/beamtime/mcbm2021/check_timing_any.C b/macro/beamtime/mcbm2021/check_timing_any.C index 3be7176b8e9cd49a4e467d87ac7a024fafa5941e..1148f290f22e6c87e4202952287eb4de98b70ee0 100644 --- a/macro/beamtime/mcbm2021/check_timing_any.C +++ b/macro/beamtime/mcbm2021/check_timing_any.C @@ -34,29 +34,29 @@ void check_timing_any(TString fileName, UInt_t uRunId = 0, Int_t nEvents = 0, TS // ------------------------------------------------------------------------ CbmMcbmCheckTimingTask* timeChecker = new CbmMcbmCheckTimingTask(); - /// Default is using T0 as reference + /// Default is using Bmon as reference /// With Pulser rejection /* - timeChecker->SetReferenceDetector( ECbmModuleId::kT0, "T0", + timeChecker->SetReferenceDetector( ECbmModuleId::kBmon, "Bmon", -1000., 1000., 320., 182, 190 ); */ /// With pulser selection /* - timeChecker->SetReferenceDetector( ECbmModuleId::kT0, "T0", + timeChecker->SetReferenceDetector( ECbmModuleId::kBmon, "Bmon", -1000., 1000., 320., 190, 182 ); */ /// Here swapping with TOF timeChecker->SetReferenceDetector(ECbmModuleId::kPsd, "Psd", -300000, 300000, 320 * 300); timeChecker->RemoveCheckDetector(ECbmModuleId::kPsd); - //timeChecker->AddCheckDetector(ECbmModuleId::kT0, "T0"); + //timeChecker->AddCheckDetector(ECbmModuleId::kBmon, "Bmon"); /// Here swapping with MUCH /* timeChecker->SetReferenceDetector(ECbmModuleId::kMuch, "Much"); timeChecker->RemoveCheckDetector(ECbmModuleId::kMuch); - timeChecker->AddCheckDetector(ECbmModuleId::kT0, "T0"); + timeChecker->AddCheckDetector(ECbmModuleId::kBmon, "Bmon"); */ /// Remove detectors not present in 2021 diff --git a/macro/beamtime/mcbm2021/ini_Clusterizer.C b/macro/beamtime/mcbm2021/ini_Clusterizer.C index 33c93c44d1be7cbe14958846d7d97007bd0f59dd..4721f7be7aae35a10c9dfaacc7bd6bce805ec93e 100644 --- a/macro/beamtime/mcbm2021/ini_Clusterizer.C +++ b/macro/beamtime/mcbm2021/ini_Clusterizer.C @@ -32,7 +32,7 @@ void ini_Clusterizer(Int_t calMode = 53, Int_t calSel = 0, Int_t calSm = 900, In // tofClust->SetCorMode(iBugCor); // correct missing hits //tofClust->SetIdMode(0); // calibrate on counter level tofClust->SetIdMode(1); // calibrate on module level - // tofClust->SetDeadStrips(15,23); // declare dead strip for T0M3,Rpc0,Strip 23 + // tofClust->SetDeadStrips(15,23); // declare dead strip for BmonM3,Rpc0,Strip 23 //tofClust->SetDeadStrips(25,16); // declare non-existant diamond strip (#5) dead Int_t calSelRead = calSel; diff --git a/macro/beamtime/mcbm2021/mT0Par.par b/macro/beamtime/mcbm2021/mBmonPar.par similarity index 100% rename from macro/beamtime/mcbm2021/mT0Par.par rename to macro/beamtime/mcbm2021/mBmonPar.par diff --git a/macro/beamtime/mcbm2021/mcbm_event_reco.C b/macro/beamtime/mcbm2021/mcbm_event_reco.C index a8933241005d68db9c9d6b2b3c3e9289df2ecc41..e9ed2873f96feaa17d0739fb9851981828facfb5 100644 --- a/macro/beamtime/mcbm2021/mcbm_event_reco.C +++ b/macro/beamtime/mcbm2021/mcbm_event_reco.C @@ -67,7 +67,7 @@ Bool_t mcbm_event_reco(UInt_t uRunId = 1588, // --------------------------------------------- // ----- EventBuilder Settings---------------- - const Int_t eb_TriggerMinNumberT0 {0}; + const Int_t eb_TriggerMinNumberBmon {0}; const Int_t eb_TriggerMinNumberSts {0}; const Int_t eb_TriggerMinNumberMuch {0}; const Int_t eb_TriggerMinNumberTof {2}; @@ -529,7 +529,7 @@ Bool_t mcbm_event_reco(UInt_t uRunId = 1588, tofFindTracks->UseFitter(tofTrackFitter); tofFindTracks->SetCalOpt(iCalOpt); // 1 - update offsets, 2 - update walk, 0 - bypass tofFindTracks->SetCorMode(iGenCor); // valid options: 0,1,2,3,4,5,6, 10 - 19 - tofFindTracks->SetTtTarg(0.042); // target value Mar2021, after T0 fix (double stack run 1058) + tofFindTracks->SetTtTarg(0.042); // target value Mar2021, after Bmon fix (double stack run 1058) tofFindTracks->SetCalParFileName(cTrkFile); // Tracker parameter value file name tofFindTracks->SetBeamCounter(5, 0, 0); // default beam counter tofFindTracks->SetR0Lim(20.); diff --git a/macro/beamtime/mcbm2021/mcbm_inspect_alignment.C b/macro/beamtime/mcbm2021/mcbm_inspect_alignment.C index d05efabe7f354e98374bae1dd934a93323eb0891..85656808ebd18c282725abaa7cce6693410ec4d9 100644 --- a/macro/beamtime/mcbm2021/mcbm_inspect_alignment.C +++ b/macro/beamtime/mcbm2021/mcbm_inspect_alignment.C @@ -559,7 +559,7 @@ void mcbm_inspect_alignment(Int_t runId = 1588, Int_t nofEvents = 200) fHM->H1("fhTofHitsPerTrack")->Fill(tofTrack->GetNofHits()); //std::cout<< tofTrack->GetT0() << " " << tofTrack->GetTt() << " " << tofTrack->GetT0()-tofTrack->GetTt() <<std::endl; - fHM->H1("fhTofTracksT0")->Fill(tofTrack->GetT0() - eventStartTime); + fHM->H1("fhTofTracksBmon")->Fill(tofTrack->GetT0() - eventStartTime); fHM->H1("fhTofTracksTt")->Fill(tofTrack->GetTt()); // invers velocity fHM->H1("fhTofTracksVelocity")->Fill(1. / tofTrack->GetTt()); // invers velocity fHM->H1("fhTofTracksTdiff")->Fill(tofTrack->GetTime() - eventStartTime); @@ -607,14 +607,14 @@ void mcbm_inspect_alignment(Int_t runId = 1588, Int_t nofEvents = 200) CbmStsHit* closeStsHit = static_cast<CbmStsHit*>(fStsHit->At(closestStsIndx)); fHM->H1("fhTofTrackStsR")->Fill(closestStsR); - // 1.) calculate length from T0 to Sts Hit - auto stsT0Length = std::sqrt(std::pow((closeStsHit->GetX() - tofTrack->GetTrackX()), 2) - + std::pow((closeStsHit->GetY() - tofTrack->GetTrackY()), 2) - + std::pow((closeStsHit->GetZ() - 0.0), 2)); - fHM->H1("fhTofTracksLength")->Fill(stsT0Length); + // 1.) calculate length from Bmon to Sts Hit + auto stsBmonLength = std::sqrt(std::pow((closeStsHit->GetX() - tofTrack->GetTrackX()), 2) + + std::pow((closeStsHit->GetY() - tofTrack->GetTrackY()), 2) + + std::pow((closeStsHit->GetZ() - 0.0), 2)); + fHM->H1("fhTofTracksLength")->Fill(stsBmonLength); // 2.) calculate time in Tof system with length and velocity - auto stsTrackTime = stsT0Length * tofTrack->GetTt(); // time (of flight) in ns + auto stsTrackTime = stsBmonLength * tofTrack->GetTt(); // time (of flight) in ns fHM->H1("fhStsTrackTime")->Fill(stsTrackTime); // 3.) compare to Sts hit Time @@ -795,7 +795,7 @@ void initHists(CbmHistManager* fHM, Int_t nofEvents) fHM->Create1<TH1D>("fhTofTrackMulti", "fhTofTrackMulti;Tracks/Event;Entries", 20, -0.5, 19.5); fHM->Create1<TH1D>("fhTofHitsZ", "fhTofHitsZ;Z[cm];Entries", 100, 250, 300); fHM->Create1<TH1D>("fhTofHitsPerTrack", "fhTofHitsPerTrack;Hits/Track;Entries", 11, -0.5, 10.5); - fHM->Create1<TH1D>("fhTofTracksT0", "fhTofTracksT0;T0 time [ns];Entries", 100, -50, 50); + fHM->Create1<TH1D>("fhTofTracksBmon", "fhTofTracksBmon;Bmon time [ns];Entries", 100, -50, 50); fHM->Create1<TH1D>("fhTofTracksTime", "fhTofTracksTime;Track time [ns];Entries", 30000, -50, 3.0e8); fHM->Create1<TH1D>("fhTofTracksTt", "fhTofTracksTt;inv. velocity [ns/cm];Entries", 100, -50, 50); fHM->Create1<TH1D>("fhTofTracksVelocity", "fhTofTracksVelocity;velocity [cm/ns];Entries", 100, -50, 50); diff --git a/macro/beamtime/mcbm2021/unpack_tsa_mcbm.C b/macro/beamtime/mcbm2021/unpack_tsa_mcbm.C index 5d4105ea34145d1cdda61ab841a2d1f8d5607b53..d366cb7752f3b4c148d2fc486313a410641886c5 100644 --- a/macro/beamtime/mcbm2021/unpack_tsa_mcbm.C +++ b/macro/beamtime/mcbm2021/unpack_tsa_mcbm.C @@ -146,7 +146,7 @@ void unpack_tsa_mcbm(TString inFile = "", UInt_t uRunId = 0, UInt_t nrEvents = 0 unpacker_sts ->MaskNoisyChannel(3,770 , true ); - unpacker_tof->SetSeparateArrayT0(); + unpacker_tof->SetSeparateArrayBmon(); // ------------------------------ // // Enable Asic type for MUCH data. @@ -579,7 +579,7 @@ void unpack_tsa_mcbm(TString inFile = "", UInt_t uRunId = 0, UInt_t nrEvents = 0 source->AddUnpacker(unpacker_much, 0x50, ECbmModuleId::kMuch); // MUCH xyter if (isActiveTrd) source->AddUnpacker(unpacker_trdR, 0x40, ECbmModuleId::kTrd); // Trd source->AddUnpacker(unpacker_tof, 0x60, ECbmModuleId::kTof); // gDPB TOF - source->AddUnpacker(unpacker_tof, 0x90, ECbmModuleId::kTof); // gDPB T0 + source->AddUnpacker(unpacker_tof, 0x90, ECbmModuleId::kTof); // gDPB Bmon source->AddUnpacker(unpacker_rich, 0x30, ECbmModuleId::kRich); // RICH trb source->AddUnpacker(unpacker_psd, 0x80, ECbmModuleId::kPsd); // PSD diff --git a/macro/beamtime/mcbm2021/unpack_tsa_mcbm_kronos.C b/macro/beamtime/mcbm2021/unpack_tsa_mcbm_kronos.C index 7323d7cacd60e700129385c52e26074642f35ab6..a540a4cc95343fa021f5c728de2ee238df6e80da 100644 --- a/macro/beamtime/mcbm2021/unpack_tsa_mcbm_kronos.C +++ b/macro/beamtime/mcbm2021/unpack_tsa_mcbm_kronos.C @@ -172,7 +172,7 @@ void unpack_tsa_mcbm_kronos(UInt_t uRunIdx = 99999, UInt_t nrEvents = 0, TString unpacker_sts ->MaskNoisyChannel(3,770 , true ); - unpacker_tof->SetSeparateArrayT0(); + unpacker_tof->SetSeparateArrayBmon(); // ------------------------------ // // Enable Asic type for MUCH data. @@ -607,7 +607,7 @@ void unpack_tsa_mcbm_kronos(UInt_t uRunIdx = 99999, UInt_t nrEvents = 0, TString source->AddUnpacker(unpacker_much, 0x50, ECbmModuleId::kMuch); // MUCH xyter if (isActiveTrd) source->AddUnpacker(unpacker_trdR, 0x40, ECbmModuleId::kTrd); // Trd source->AddUnpacker(unpacker_tof, 0x60, ECbmModuleId::kTof); // gDPB TOF - source->AddUnpacker(unpacker_tof, 0x90, ECbmModuleId::kTof); // gDPB T0 + source->AddUnpacker(unpacker_tof, 0x90, ECbmModuleId::kTof); // gDPB Bmon source->AddUnpacker(unpacker_rich, 0x30, ECbmModuleId::kRich); // RICH trb source->AddUnpacker(unpacker_psd, 0x80, ECbmModuleId::kPsd); // PSD diff --git a/macro/beamtime/mcbm2022/CheckTimingSis18.C b/macro/beamtime/mcbm2022/CheckTimingSis18.C index c922fd18c19bf9cafd8527c1d6305902bc8f342c..e86304f338b3913c535d4cd927cd4e48e44ae283 100644 --- a/macro/beamtime/mcbm2022/CheckTimingSis18.C +++ b/macro/beamtime/mcbm2022/CheckTimingSis18.C @@ -281,7 +281,7 @@ void CheckTimingSis18(std::string sDigiFileName, std::string sEventFileName = "" std::vector<CbmRichDigi>* pVectRich = nullptr; TClonesArray* pArrayEvents = new TClonesArray("CbmEvent", 100); - pTree->SetBranchAddress("T0Digi", &pVectBmon); + pTree->SetBranchAddress(CbmBmonDigi::GetBranchName(), &pVectBmon); pTree->SetBranchAddress("StsDigi", &pVectSts); pTree->SetBranchAddress("MuchDigi", &pVectMuch); pTree->SetBranchAddress("TrdDigi", &pVectTrd); @@ -448,8 +448,8 @@ void CheckTimingSis18(std::string sDigiFileName, std::string sEventFileName = "" phCountsEvts->Fill(dEvtTimeInRun); /// Fill counts of selected Digis in each detector - if (-1 < pEvt->GetNofData(ECbmDataType::kT0Digi)) { - phCountsEvtBmon->Fill(dEvtTimeInRun, pEvt->GetNofData(ECbmDataType::kT0Digi)); + if (-1 < pEvt->GetNofData(ECbmDataType::kBmonDigi)) { + phCountsEvtBmon->Fill(dEvtTimeInRun, pEvt->GetNofData(ECbmDataType::kBmonDigi)); } if (-1 < pEvt->GetNofData(ECbmDataType::kStsDigi)) { phCountsEvtSts->Fill(dEvtTimeInRun, pEvt->GetNofData(ECbmDataType::kStsDigi)); diff --git a/macro/beamtime/mcbm2022/check_timing_any.C b/macro/beamtime/mcbm2022/check_timing_any.C index 52a5cd32368964cf23ab32e66dd89c97be5de0b1..e75594950564ffb7a02a02699ad444c03f91524d 100644 --- a/macro/beamtime/mcbm2022/check_timing_any.C +++ b/macro/beamtime/mcbm2022/check_timing_any.C @@ -34,30 +34,30 @@ void check_timing_any(TString fileName, UInt_t uRunId = 0, Int_t nEvents = 0, TS // ------------------------------------------------------------------------ CbmMcbmCheckTimingTask* timeChecker = new CbmMcbmCheckTimingTask(); - /// Default is using T0 as reference + /// Default is using Bmon as reference /// With Pulser rejection - timeChecker->SetReferenceDetector(ECbmModuleId::kBmon, "T0", -1000., 1000., 320., 182, 190); + timeChecker->SetReferenceDetector(ECbmModuleId::kBmon, "Bmon", -1000., 1000., 320., 182, 190); /// With pulser selection /* - timeChecker->SetReferenceDetector( ECbmModuleId::kT0, "T0", + timeChecker->SetReferenceDetector( ECbmModuleId::kBmon, "Bmon", -1000., 1000., 320., 190, 182 ); */ /// Here swapping with TOF // timeChecker->SetReferenceDetector(ECbmModuleId::kTof, "Tof", -3000, 3000, 3000); // timeChecker->RemoveCheckDetector(ECbmModuleId::kTof); - // timeChecker->AddCheckDetector(ECbmModuleId::kT0, "T0"); + // timeChecker->AddCheckDetector(ECbmModuleId::kBmon, "Bmon"); /// Here swapping with MUCH /* timeChecker->SetReferenceDetector(ECbmModuleId::kMuch, "Much"); timeChecker->RemoveCheckDetector(ECbmModuleId::kMuch); - timeChecker->AddCheckDetector(ECbmModuleId::kT0, "T0"); + timeChecker->AddCheckDetector(ECbmModuleId::kBmon, "Bmon"); */ /// Remove detectors not present in 2021 - //timeChecker->RemoveCheckDetector(ECbmModuleId::kT0); + //timeChecker->RemoveCheckDetector(ECbmModuleId::kBmon); timeChecker->RemoveCheckDetector(ECbmModuleId::kMuch); //timeChecker->SetReferenceDetector(ECbmModuleId::kPsd, "Psd", -300000, 300000, 320 * 300); timeChecker->RemoveCheckDetector(ECbmModuleId::kPsd); diff --git a/macro/beamtime/mcbm2022/ini_tof_clusterizer.C b/macro/beamtime/mcbm2022/ini_tof_clusterizer.C index 3a795c078817b9a819f81fb8a764fea72dc3fede..e485b0868b5888b7222bbecaafa50388518f0f0b 100644 --- a/macro/beamtime/mcbm2022/ini_tof_clusterizer.C +++ b/macro/beamtime/mcbm2022/ini_tof_clusterizer.C @@ -32,7 +32,7 @@ void ini_tof_clusterizer(Int_t calMode = 53, Int_t calSel = 0, Int_t calSm = 900 // tofClust->SetCorMode(iBugCor); // correct missing hits //tofClust->SetIdMode(0); // calibrate on counter level tofClust->SetIdMode(1); // calibrate on module level - // tofClust->SetDeadStrips(15,23); // declare dead strip for T0M3,Rpc0,Strip 23 + // tofClust->SetDeadStrips(15,23); // declare dead strip for BmonM3,Rpc0,Strip 23 //tofClust->SetDeadStrips(25,16); // declare non-existant diamond strip (#5) dead Int_t calSelRead = calSel; diff --git a/macro/beamtime/mcbm2022/mcbm_digievent_reco.C b/macro/beamtime/mcbm2022/mcbm_digievent_reco.C index c4651259ea16729156e4878366647198051c1cc2..30d68d4d542395bf568484565c6a346a6c6340a8 100644 --- a/macro/beamtime/mcbm2022/mcbm_digievent_reco.C +++ b/macro/beamtime/mcbm2022/mcbm_digievent_reco.C @@ -89,8 +89,8 @@ Bool_t mcbm_digievent_reco(UInt_t uRunId = 2365, // --------------------------------------------- // ----- EventBuilder Settings---------------- - const Int_t eb_TriggerMinNumberT0 {1}; - const Int_t eb_TriggerMaxNumberT0 {2}; + const Int_t eb_TriggerMinNumberBmon {1}; + const Int_t eb_TriggerMaxNumberBmon {2}; const Int_t eb_TriggerMinNumberSts {0}; const Int_t eb_TriggerMinNumberMuch {0}; const Int_t eb_TriggerMinNumberTof {16}; diff --git a/macro/beamtime/mcbm2022/mcbm_event.C b/macro/beamtime/mcbm2022/mcbm_event.C index 5ff69a43363e10a7946323db8aba05232d4efe5e..d5a94745f0cad746794e5af3d907491209977e57 100644 --- a/macro/beamtime/mcbm2022/mcbm_event.C +++ b/macro/beamtime/mcbm2022/mcbm_event.C @@ -114,7 +114,7 @@ Bool_t mcbm_event(std::string infile, break; } case 1: { - // default, Tof - T0 concidences (pulser) + // default, Tof - Bmon concidences (pulser) eb_TriggerMinNumberBmon = 1; eb_TriggerMaxNumberBMon = 1000; @@ -161,7 +161,7 @@ Bool_t mcbm_event(std::string infile, break; } case 3: { - // # Tof track trigger with T0 + // # Tof track trigger with Bmon eb_TriggerMinNumberBmon = 1; eb_TriggerMaxNumberBMon = 2; @@ -185,7 +185,7 @@ Bool_t mcbm_event(std::string infile, break; } case 4: { - // mCbm track trigger Tof, T0 & STS + // mCbm track trigger Tof, Bmon & STS eb_TriggerMinNumberBmon = 1; eb_TriggerMaxNumberBMon = 2; @@ -270,14 +270,14 @@ Bool_t mcbm_event(std::string infile, break; } case 7: { - /// PAL default: T0 + STS + TOF, only digi cut + /// PAL default: Bmon + STS + TOF, only digi cut eb_TriggerMinNumberBmon = 1; eb_TriggerMinNumberSts = 2; eb_TriggerMinNumberTof = 4; break; } case 8: { - // default, Tof - T0 concidences (pulser) + // default, Tof - Bmon concidences (pulser) eb_TriggerMinNumberBmon = 4; eb_TriggerMinNumberTof = 2; eb_TriggerMinLayersNumberTof = 1; @@ -290,14 +290,14 @@ Bool_t mcbm_event(std::string infile, break; } case 10: { - // # Tof track trigger with T0 + // # Tof track trigger with Bmon eb_TriggerMinNumberBmon = 1; eb_TriggerMinNumberTof = 8; eb_TriggerMinLayersNumberTof = 4; break; } case 11: { - // mCbm track trigger Tof, T0 & STS + // mCbm track trigger Tof, Bmon & STS eb_TriggerMinNumberBmon = 1; eb_TriggerMinNumberSts = 2; eb_TriggerMinNumberTof = 8; @@ -323,7 +323,7 @@ Bool_t mcbm_event(std::string infile, break; } case 14: { - /// PAL mCbm track trigger Tof, T0 & STS + /// PAL mCbm track trigger Tof, Bmon & STS eb_TriggerMinNumberBmon = 1; eb_TriggerMinNumberSts = 4; eb_TriggerMinNumberTof = 8; @@ -362,7 +362,7 @@ Bool_t mcbm_event(std::string infile, break; } case 16: { - // mCbm track trigger Tof, T0 & STS with STS monster events selector + // mCbm track trigger Tof, Bmon & STS with STS monster events selector eb_TriggerMinNumberBmon = 1; eb_TriggerMaxNumberBMon = 2; @@ -425,7 +425,7 @@ Bool_t mcbm_event(std::string infile, evBuildRaw->SetReferenceDetector(kRawEventBuilderDetTof); evBuildRaw->AddDetector(kRawEventBuilderDetBmon); - // Set T0 as reference detector + // Set Bmon as reference detector evBuildRaw->SetReferenceDetector(kRawEventBuilderDetBmon); evBuildRaw->AddDetector(kRawEventBuilderDetTof); diff --git a/macro/beamtime/mcbm2022/mcbm_event_reco.C b/macro/beamtime/mcbm2022/mcbm_event_reco.C index 7a3982a00be39ebe66f0463126c30194b9d8f308..33f164fcd2c10cbe2dba77e511e917e9f840af20 100644 --- a/macro/beamtime/mcbm2022/mcbm_event_reco.C +++ b/macro/beamtime/mcbm2022/mcbm_event_reco.C @@ -67,8 +67,8 @@ Bool_t mcbm_event_reco(UInt_t uRunId = 2391, // --------------------------------------------- // ----- EventBuilder Settings---------------- - const Int_t eb_TriggerMinNumberT0 {1}; - const Int_t eb_TriggerMaxNumberT0 {2}; + const Int_t eb_TriggerMinNumberBmon {1}; + const Int_t eb_TriggerMaxNumberBmon {2}; const Int_t eb_TriggerMinNumberSts {0}; const Int_t eb_TriggerMinNumberMuch {0}; const Int_t eb_TriggerMinNumberTof {16}; @@ -257,8 +257,8 @@ Bool_t mcbm_event_reco(UInt_t uRunId = 2391, if (!geoSetup->IsActive(ECbmModuleId::kSts)) evBuildRaw->RemoveDetector(kRawEventBuilderDetSts); if (!geoSetup->IsActive(ECbmModuleId::kTof)) evBuildRaw->RemoveDetector(kRawEventBuilderDetTof); - // Set T0 as reference detector - evBuildRaw->SetReferenceDetector(kRawEventBuilderDetT0); + // Set Bmon as reference detector + evBuildRaw->SetReferenceDetector(kRawEventBuilderDetBmon); // void SetTsParameters(double TsStartTime, double TsLength, double TsOverLength): // => TsStartTime=0, TsLength=128 + 1.28 ms in 2022, TsOverLength=1.28 ms (1MS) in mCBM2022 @@ -270,8 +270,8 @@ Bool_t mcbm_event_reco(UInt_t uRunId = 2391, evBuildRaw->SetTriggerMaxNumber(ECbmModuleId::kTof, -1); } - evBuildRaw->SetTriggerMinNumber(ECbmModuleId::kBmon, eb_TriggerMinNumberT0); - evBuildRaw->SetTriggerMaxNumber(ECbmModuleId::kBmon, eb_TriggerMaxNumberT0); + evBuildRaw->SetTriggerMinNumber(ECbmModuleId::kBmon, eb_TriggerMinNumberBmon); + evBuildRaw->SetTriggerMaxNumber(ECbmModuleId::kBmon, eb_TriggerMaxNumberBmon); //if (geoSetup->IsActive(ECbmModuleId::kSts)) { // evBuildRaw->SetTriggerMinNumber(ECbmModuleId::kSts, eb_TriggerMinNumberSts); @@ -568,7 +568,7 @@ Bool_t mcbm_event_reco(UInt_t uRunId = 2391, tofFindTracks->UseFitter(tofTrackFitter); tofFindTracks->SetCalOpt(iCalOpt); // 1 - update offsets, 2 - update walk, 0 - bypass tofFindTracks->SetCorMode(iGenCor); // valid options: 0,1,2,3,4,5,6, 10 - 19 - tofFindTracks->SetTtTarg(0.042); // target value Mar2021, after T0 fix (double stack run 1058) + tofFindTracks->SetTtTarg(0.042); // target value Mar2021, after Bmon fix (double stack run 1058) tofFindTracks->SetCalParFileName(cTrkFile); // Tracker parameter value file name tofFindTracks->SetBeamCounter(5, 0, 0); // default beam counter tofFindTracks->SetR0Lim(20.); diff --git a/macro/beamtime/mcbm2022/mcbm_event_reco_L1.C b/macro/beamtime/mcbm2022/mcbm_event_reco_L1.C index 4fde023e8fefee72892277e5485a929341a8f88a..4482012a19a367c9df6509931103e45f97c1ca76 100644 --- a/macro/beamtime/mcbm2022/mcbm_event_reco_L1.C +++ b/macro/beamtime/mcbm2022/mcbm_event_reco_L1.C @@ -258,9 +258,9 @@ Bool_t mcbm_event_reco_L1(UInt_t uRunId = 2570, // --------------------event builder--------------------------------------- // ----- EventBuilder Settings---------------- - // mCbm track trigger Tof, T0 & STS (case 4 of mcbm_unp_event.C) - const Int_t eb_TriggerMinNumberT0 {1}; - const Int_t eb_TriggerMaxNumberT0 {2}; + // mCbm track trigger Tof, Bmon & STS (case 4 of mcbm_unp_event.C) + const Int_t eb_TriggerMinNumberBmon {1}; + const Int_t eb_TriggerMaxNumberBmon {2}; const Int_t eb_TriggerMinNumberSts {2}; const Int_t eb_TriggerMinNumberStsLayers {1}; const Int_t eb_TriggerMinNumberMuch {1}; @@ -268,8 +268,8 @@ Bool_t mcbm_event_reco_L1(UInt_t uRunId = 2570, const Int_t eb_TriggerMinNumberTofLayers {4}; const Int_t eb_TriggerMinNumberRich {0}; - const Int_t eb_TrigWinMinT0 {-50}; - const Int_t eb_TrigWinMaxT0 {50}; + const Int_t eb_TrigWinMinBmon {-50}; + const Int_t eb_TrigWinMaxBmon {50}; const Int_t eb_TrigWinMinSts {-60}; const Int_t eb_TrigWinMaxSts {60}; const Int_t eb_TrigWinMinMuch {-100}; @@ -301,8 +301,8 @@ Bool_t mcbm_event_reco_L1(UInt_t uRunId = 2570, if (!bTOF || !geoSetup->IsActive(ECbmModuleId::kTof)) evBuildRaw->RemoveDetector(kRawEventBuilderDetTof); if (!bFSD || !geoSetup->IsActive(ECbmModuleId::kFsd)) evBuildRaw->RemoveDetector(kRawEventBuilderDetFsd); - // Set T0 as reference detector - evBuildRaw->SetReferenceDetector(kRawEventBuilderDetT0); + // Set Bmon as reference detector + evBuildRaw->SetReferenceDetector(kRawEventBuilderDetBmon); // For making MuCh as seed detector // evBuildRaw->SetReferenceDetector(kRawEventBuilderDetMuch); @@ -325,8 +325,8 @@ Bool_t mcbm_event_reco_L1(UInt_t uRunId = 2570, evBuildRaw->SetTriggerMaxNumber(ECbmModuleId::kTof, -1); } - evBuildRaw->SetTriggerMinNumber(ECbmModuleId::kBmon, eb_TriggerMinNumberT0); - evBuildRaw->SetTriggerMaxNumber(ECbmModuleId::kBmon, eb_TriggerMaxNumberT0); + evBuildRaw->SetTriggerMinNumber(ECbmModuleId::kBmon, eb_TriggerMinNumberBmon); + evBuildRaw->SetTriggerMaxNumber(ECbmModuleId::kBmon, eb_TriggerMaxNumberBmon); if (geoSetup->IsActive(ECbmModuleId::kSts)) { evBuildRaw->SetTriggerMinNumber(ECbmModuleId::kSts, eb_TriggerMinNumberSts); @@ -342,7 +342,7 @@ Bool_t mcbm_event_reco_L1(UInt_t uRunId = 2570, evBuildRaw->SetTriggerMaxNumber(ECbmModuleId::kRich, -1); } - evBuildRaw->SetTriggerWindow(ECbmModuleId::kBmon, eb_TrigWinMinT0, eb_TrigWinMaxT0); + evBuildRaw->SetTriggerWindow(ECbmModuleId::kBmon, eb_TrigWinMinBmon, eb_TrigWinMaxBmon); if (geoSetup->IsActive(ECbmModuleId::kTof)) evBuildRaw->SetTriggerWindow(ECbmModuleId::kTof, eb_TrigWinMinTof, eb_TrigWinMaxTof); if (geoSetup->IsActive(ECbmModuleId::kSts)) diff --git a/macro/beamtime/mcbm2022/mcbm_unp_event.C b/macro/beamtime/mcbm2022/mcbm_unp_event.C index 51a017e939ea3cfde2680b558fe5ef9d3757021d..ff719385174da4e1a91b6beeef40f005bad27eaf 100644 --- a/macro/beamtime/mcbm2022/mcbm_unp_event.C +++ b/macro/beamtime/mcbm2022/mcbm_unp_event.C @@ -119,7 +119,7 @@ Bool_t mcbm_unp_event(std::string infile, break; } case 1: { - // default, Tof - T0 concidences (pulser) + // default, Tof - Bmon concidences (pulser) eb_TriggerMinNumberBmon = 1; eb_TriggerMaxNumberBMon = 1000; @@ -166,7 +166,7 @@ Bool_t mcbm_unp_event(std::string infile, break; } case 3: { - // # Tof track trigger with T0 + // # Tof track trigger with Bmon eb_TriggerMinNumberBmon = 1; eb_TriggerMaxNumberBMon = 2; @@ -190,7 +190,7 @@ Bool_t mcbm_unp_event(std::string infile, break; } case 4: { - // mCbm track trigger Tof, T0 & STS + // mCbm track trigger Tof, Bmon & STS eb_TriggerMinNumberBmon = 1; eb_TriggerMaxNumberBMon = 2; @@ -275,14 +275,14 @@ Bool_t mcbm_unp_event(std::string infile, break; } case 7: { - /// PAL default: T0 + STS + TOF, only digi cut + /// PAL default: Bmon + STS + TOF, only digi cut eb_TriggerMinNumberBmon = 1; eb_TriggerMinNumberSts = 2; eb_TriggerMinNumberTof = 4; break; } case 8: { - // default, Tof - T0 concidences (pulser) + // default, Tof - Bmon concidences (pulser) eb_TriggerMinNumberBmon = 4; eb_TriggerMinNumberTof = 2; eb_TriggerMinLayersNumberTof = 1; @@ -295,14 +295,14 @@ Bool_t mcbm_unp_event(std::string infile, break; } case 10: { - // # Tof track trigger with T0 + // # Tof track trigger with Bmon eb_TriggerMinNumberBmon = 1; eb_TriggerMinNumberTof = 8; eb_TriggerMinLayersNumberTof = 4; break; } case 11: { - // mCbm track trigger Tof, T0 & STS + // mCbm track trigger Tof, Bmon & STS eb_TriggerMinNumberBmon = 1; eb_TriggerMinNumberSts = 2; eb_TriggerMinNumberTof = 8; @@ -328,7 +328,7 @@ Bool_t mcbm_unp_event(std::string infile, break; } case 14: { - /// PAL mCbm track trigger Tof, T0 & STS + /// PAL mCbm track trigger Tof, Bmon & STS eb_TriggerMinNumberBmon = 1; eb_TriggerMinNumberSts = 4; eb_TriggerMinNumberTof = 8; @@ -716,10 +716,10 @@ Bool_t mcbm_unp_event(std::string infile, // Set TOF as reference detector evBuildRaw->SetReferenceDetector(kRawEventBuilderDetTof); - evBuildRaw->AddDetector(kRawEventBuilderDetT0); + evBuildRaw->AddDetector(kRawEventBuilderDetBmon); - // Set T0 as reference detector - evBuildRaw->SetReferenceDetector(kRawEventBuilderDetT0); + // Set Bmon as reference detector + evBuildRaw->SetReferenceDetector(kRawEventBuilderDetBmon); evBuildRaw->AddDetector(kRawEventBuilderDetTof); // Remove detectors not there in 2022 @@ -800,8 +800,8 @@ Bool_t mcbm_unp_event(std::string infile, // Use standard MUCH digis evBuildRaw->ChangeMuchBeamtimeDigiFlag(); - // Set Det type to find T0 in TOF digis = Select storage of BMon digis - if (bBmoninTof) { evBuildRaw->SetT0InTofDetType(); } + // Set Det type to find Bmon in TOF digis = Select storage of BMon digis + if (bBmoninTof) { evBuildRaw->SetBmonInTofDetType(); } evBuildRaw->SetOutFilename(histosfilename); // evBuildRaw->SetOutputBranchPersistent("CbmEvent", kFALSE); diff --git a/macro/beamtime/mcbm2022/pulser_dt_full.C b/macro/beamtime/mcbm2022/pulser_dt_full.C index a15a293a7b9a4b07b44cc6e810841614dc8f3f8b..f7d4cc6e2ee6faa0db1b5e1f864658df2a312984 100644 --- a/macro/beamtime/mcbm2022/pulser_dt_full.C +++ b/macro/beamtime/mcbm2022/pulser_dt_full.C @@ -33,7 +33,7 @@ void pulser_dt_full(TString filename = "1935.digi.root", uint32_t uNbTs = 10) std::vector<CbmTofDigi> vNotPulserDigisTof {}; std::vector<CbmRichDigi> vNotPulserDigisRich {}; - tree->SetBranchAddress("T0Digi", &vDigisBmon); + tree->SetBranchAddress(CbmBmonDigi::GetBranchName(), &vDigisBmon); tree->SetBranchAddress("StsDigi", &vDigisSts); tree->SetBranchAddress("StsDigiPulser", &vDigisStsP); tree->SetBranchAddress("MuchDigi", &vDigisMuch); @@ -271,8 +271,8 @@ void pulser_dt_full(TString filename = "1935.digi.root", uint32_t uNbTs = 10) /// Bmon - TOF for (uint32_t uPulsBmonIdx = uLastFirstMatchBmon; uPulsBmonIdx < vPulserDigisBmon.size(); ++uPulsBmonIdx) { - double_t dBmonTime = vPulserDigisBmon[uPulsBmonIdx].GetTime(); - double_t dBmonDt = dBmonTime - dTofTime; + double_t dT0Time = vPulserDigisBmon[uPulsBmonIdx].GetTime(); + double_t dBmonDt = dT0Time - dTofTime; // Find beginning of match window (assume both vectors are fully time sorted) if (dBmonDt < -dHistoRange) { // @@ -390,8 +390,8 @@ void pulser_dt_full(TString filename = "1935.digi.root", uint32_t uNbTs = 10) /// Bmon - TOF for (uint32_t uBmonIdx = uLastFirstMatchBmon; uBmonIdx < vNotPulserDigisBmon.size(); ++uBmonIdx) { - double_t dBmonTime = vNotPulserDigisBmon[uBmonIdx].GetTime(); - double_t dBmonDt = dBmonTime - dTofTime; + double_t dT0Time = vNotPulserDigisBmon[uBmonIdx].GetTime(); + double_t dBmonDt = dT0Time - dTofTime; // Find beginning of match window (assume both vectors are fully time sorted) if (dBmonDt < -dHistoRange) { // diff --git a/macro/beamtime/pl_TIS.C b/macro/beamtime/pl_TIS.C index ae54252aef7bed304c56b8dded06f62d75461e07..6ede4af1e7785205442c5e17681874121ba61c35 100644 --- a/macro/beamtime/pl_TIS.C +++ b/macro/beamtime/pl_TIS.C @@ -140,12 +140,12 @@ void pl_TIS(Double_t dEffMin = 0.1, Double_t dEffMax = 1.01, TString sysinfo = " can->cd(5); gROOT->cd(); - hname = "hTISDT04D4best"; + hname = "hTISDBmon4D4best"; h2 = (TH2*) gROOT->FindObjectAny(hname); if (h2 != NULL) { h2->Draw("colz"); h2->GetYaxis()->SetTitleOffset(1.3); - h2pfx = (TProfile*) h2->ProfileX("hTISDT04D4best_pfs", 1, -1, "s"); + h2pfx = (TProfile*) h2->ProfileX("hTISDBmon4D4best_pfs", 1, -1, "s"); } else { cout << hname << " not found" << endl; @@ -153,7 +153,7 @@ void pl_TIS(Double_t dEffMin = 0.1, Double_t dEffMax = 1.01, TString sysinfo = " can->cd(6); h2pfx->Draw(); - TH1D* h2pfxes = (TH1D*) h2pfx->ProjectionX("hTISDT04D4best_RMS", "C=E"); + TH1D* h2pfxes = (TH1D*) h2pfx->ProjectionX("hTISDBmon4D4best_RMS", "C=E"); h2pfxes->Draw(""); h2pfxes->GetYaxis()->SetTitle("RMS(#Deltat) [ns]"); h2pfxes->GetYaxis()->SetTitleOffset(1.3); diff --git a/macro/beamtime/pulser2020/MonitorTof.C b/macro/beamtime/pulser2020/MonitorTof.C index 2c0a6945026bcf1f772640aae10fb8b9d5027579..e36ac549b0e7ee8bc30110117247783216922afe 100644 --- a/macro/beamtime/pulser2020/MonitorTof.C +++ b/macro/beamtime/pulser2020/MonitorTof.C @@ -67,7 +67,7 @@ void MonitorTof(TString inFile = "", TString sHostname = "localhost", Int_t iSer } // else of if( "" != inFile ) source->SetSubscriberHwm(10); source->AddUnpacker(monitor_tof, 0x60, ECbmModuleId::kTof); //gDPBs - source->AddUnpacker(monitor_tof, 0x90, ECbmModuleId::kTof); //gDPBs T0 + source->AddUnpacker(monitor_tof, 0x90, ECbmModuleId::kTof); //gDPBs Bmon // --- Run run = new FairRunOnline(source); diff --git a/macro/beamtime/pulser2020/mT0Par.par b/macro/beamtime/pulser2020/mBmonPar.par similarity index 100% rename from macro/beamtime/pulser2020/mT0Par.par rename to macro/beamtime/pulser2020/mBmonPar.par diff --git a/macro/beamtime/pulser2020/unpack_pulser_mcbm.C b/macro/beamtime/pulser2020/unpack_pulser_mcbm.C index 40cd97979758b43eade0550416fd50a85bba892c..ae1fc031f4a22a26c2c0fc859e59494b5e35d211 100644 --- a/macro/beamtime/pulser2020/unpack_pulser_mcbm.C +++ b/macro/beamtime/pulser2020/unpack_pulser_mcbm.C @@ -98,7 +98,7 @@ void unpack_pulser_mcbm(UInt_t uRunId = 0, TString sHostname = "localhost", UInt // unpacker_sts ->SetAdcCut( 3 ); unpacker_sts->SeparatePulserOutput(kFALSE); - unpacker_tof->SetSeparateArrayT0(); + unpacker_tof->SetSeparateArrayBmon(); switch (uRunId) { /* @@ -235,7 +235,7 @@ void unpack_pulser_mcbm(UInt_t uRunId = 0, TString sHostname = "localhost", UInt source->AddUnpacker(unpacker_sts, 0x10, ECbmModuleId::kSts); //STS xyter source->AddUnpacker(unpacker_much, 0x40, ECbmModuleId::kMuch); //MUCH xyter source->AddUnpacker(unpacker_tof, 0x60, ECbmModuleId::kTof); //gDPB A & B & C - source->AddUnpacker(unpacker_tof, 0x90, ECbmModuleId::kTof); //gDPB T0 A & B + source->AddUnpacker(unpacker_tof, 0x90, ECbmModuleId::kTof); //gDPB Bmon A & B source->AddUnpacker(unpacker_rich, 0x30, ECbmModuleId::kRich); //RICH trb source->AddUnpacker(unpacker_psd, 0x80, ECbmModuleId::kPsd); //PSD @@ -249,7 +249,7 @@ void unpack_pulser_mcbm(UInt_t uRunId = 0, TString sHostname = "localhost", UInt run->SetAutoFinish(kFALSE); CbmMcbm2019CheckPulser* pulserChecker = new CbmMcbm2019CheckPulser(); - pulserChecker->SetT0PulserTotLimits(184, 191); + pulserChecker->SetBmonPulserTotLimits(184, 191); pulserChecker->SetStsPulserAdcLimits(11, 15); // pulserChecker->SetMuchPulseradcLimits( 5, 25 ); /// mCBM 2019 pulserChecker->SetMuchPulseradcLimits(15, 20); /// EDC Setup diff --git a/macro/mcbm/mcbm_reco_event_tb.C b/macro/mcbm/mcbm_reco_event_tb.C index 8b3a7a845e75707cd610c7ec7c582b7bfc889200..597d1a302af9fa687aff54345360892222bd28d3 100644 --- a/macro/mcbm/mcbm_reco_event_tb.C +++ b/macro/mcbm/mcbm_reco_event_tb.C @@ -131,7 +131,7 @@ void mcbm_reco_event_tb(Int_t nEvents = 10, TString dataset = "data/mcbm_beam_20 // eventBuilder->SetMaximumTimeGap(100.); eventBuilder->SetEventBuilderAlgo(EventBuilderAlgo::FixedTimeWindow); eventBuilder->SetFixedTimeWindow(200.); - eventBuilder->SetTriggerMinNumberT0(1); + eventBuilder->SetTriggerMinNumberBmon(1); eventBuilder->SetTriggerMinNumberSts(0); eventBuilder->SetTriggerMinNumberMuch(0); eventBuilder->SetTriggerMinNumberTof(10); diff --git a/macro/mcbm/mcbm_reco_event_tb_nh.C b/macro/mcbm/mcbm_reco_event_tb_nh.C index 3d16a3a5fafc682b7137985372e235ebc03f37ec..b8d6619e5d346a60ecb286c1128df99a04fdf774 100644 --- a/macro/mcbm/mcbm_reco_event_tb_nh.C +++ b/macro/mcbm/mcbm_reco_event_tb_nh.C @@ -155,7 +155,7 @@ void mcbm_reco_event_tb_nh(Int_t nEvents = 10, TString RunId = "test", TString I // eventBuilder->SetMaximumTimeGap(100.); eventBuilder->SetEventBuilderAlgo(EventBuilderAlgo::FixedTimeWindow); eventBuilder->SetFixedTimeWindow(200.); - eventBuilder->SetTriggerMinNumberT0(0); + eventBuilder->SetTriggerMinNumberBmon(0); eventBuilder->SetTriggerMinNumberSts(0); eventBuilder->SetTriggerMinNumberMuch(0); eventBuilder->SetTriggerMinNumberTof(1); diff --git a/macro/psd/build_correlations_tof.C b/macro/psd/build_correlations_tof.C index 5b5e16d5d80469a86d819b4517b8aac14c3a096e..3799b002cfc0f69368ff9c507f2ea0b750d0b7b7 100644 --- a/macro/psd/build_correlations_tof.C +++ b/macro/psd/build_correlations_tof.C @@ -1,6 +1,6 @@ /* Copyright (C) 2020 Facility for Antiproton and Ion Research in Europe, Darmstadt SPDX-License-Identifier: GPL-3.0-only - Authors: Pierre-Alain Loizeau [orginator] */ + Authors: Pierre-Alain Loizeau [committer] */ //#include <FairParIo.h> #include <FairRuntimeDb.h> @@ -30,7 +30,7 @@ void build_correlations_tof(const string& digiFile = "/home/nikolay/FairRoot/cbm TList* parFileList = new TList(); const Double_t eb_fixedTimeWindow {200.}; - const Int_t eb_TriggerMinNumberT0 {0}; + const Int_t eb_TriggerMinNumberBmon {0}; const Int_t eb_TriggerMinNumberSts {0}; const Int_t eb_TriggerMinNumberMuch {0}; const Int_t eb_TriggerMinNumberTof {0}; @@ -103,7 +103,7 @@ void build_correlations_tof(const string& digiFile = "/home/nikolay/FairRoot/cbm CbmMcbm2018EventBuilder* eventBuilder = new CbmMcbm2018EventBuilder(); eventBuilder->SetEventBuilderAlgo(EventBuilderAlgo::FixedTimeWindow); eventBuilder->SetFixedTimeWindow(eb_fixedTimeWindow); - eventBuilder->SetTriggerMinNumberT0(eb_TriggerMinNumberT0); + eventBuilder->SetTriggerMinNumberBmon(eb_TriggerMinNumberBmon); eventBuilder->SetTriggerMinNumberSts(eb_TriggerMinNumberSts); eventBuilder->SetTriggerMinNumberMuch(eb_TriggerMinNumberMuch); eventBuilder->SetTriggerMinNumberTof(eb_TriggerMinNumberTof); @@ -139,7 +139,7 @@ void build_correlations_tof(const string& digiFile = "/home/nikolay/FairRoot/cbm //tofClust->SetEnableMatchPosScaling(kFALSE); // turn off projection to nominal target tofClust->SetYFitMin(1.E4); tofClust->SetIdMode(1); // calibrate on module level - //tofClust->SetDeadStrips(15,23); // declare dead strip for T0M3,Rpc0,Strip 23 + //tofClust->SetDeadStrips(15,23); // declare dead strip for BmonM3,Rpc0,Strip 23 TString cCalibFname = Form("/%s_set%09d_%02d_%01dtofClust.hst.root", cFileId.Data(), iCalSet, calMode, calSelRead); diff --git a/macro/rich/mcbm/beamtime/run_aerogel_analysis.C b/macro/rich/mcbm/beamtime/run_aerogel_analysis.C index 2e37d77a46cd0025073569403923252ee7c42bc9..8ec63ad00635cd2c8f22f1a51ff5e6afc0c5be43 100644 --- a/macro/rich/mcbm/beamtime/run_aerogel_analysis.C +++ b/macro/rich/mcbm/beamtime/run_aerogel_analysis.C @@ -55,7 +55,7 @@ void run_aerogel_analysis(const string& parFile = "/lustre/cbm/users/adrian/cbmg // eventBuilder->SetMaximumTimeGap(100.); eventBuilder->SetEventBuilderAlgo(EventBuilderAlgo::FixedTimeWindow); eventBuilder->SetFixedTimeWindow(200.); - eventBuilder->SetTriggerMinNumberT0(1); + eventBuilder->SetTriggerMinNumberBmon(1); eventBuilder->SetTriggerMinNumberSts(0); eventBuilder->SetTriggerMinNumberMuch(0); eventBuilder->SetTriggerMinNumberTof(10); diff --git a/macro/rich/mcbm/beamtime/run_reco_mcbm_real.C b/macro/rich/mcbm/beamtime/run_reco_mcbm_real.C index 8f93fe8b63323692b489c03f25aa3afe7f12e5e2..f316b66aba37552627562af007b48a05359dc2f2 100644 --- a/macro/rich/mcbm/beamtime/run_reco_mcbm_real.C +++ b/macro/rich/mcbm/beamtime/run_reco_mcbm_real.C @@ -38,7 +38,7 @@ void run_reco_mcbm_real(const string& parFile = "/lustre/nyx/cbm/users/adrian/d // eventBuilder->SetMaximumTimeGap(100.); eventBuilder->SetEventBuilderAlgo(EventBuilderAlgo::FixedTimeWindow); eventBuilder->SetFixedTimeWindow(200.); - eventBuilder->SetTriggerMinNumberT0(0); + eventBuilder->SetTriggerMinNumberBmon(0); eventBuilder->SetTriggerMinNumberSts(0); eventBuilder->SetTriggerMinNumberMuch(0); eventBuilder->SetTriggerMinNumberTof(10); diff --git a/macro/rich/mcbm/beamtime/run_reco_mcbm_real_wToF.C b/macro/rich/mcbm/beamtime/run_reco_mcbm_real_wToF.C index f0ecc49cb1668724f966ad6dc173021c7f28efc9..fb66f62de76e7c3e8c5ec1a4af117a26f96add9e 100644 --- a/macro/rich/mcbm/beamtime/run_reco_mcbm_real_wToF.C +++ b/macro/rich/mcbm/beamtime/run_reco_mcbm_real_wToF.C @@ -96,7 +96,7 @@ void run_reco_mcbm_real_wToF( // eventBuilder->SetMaximumTimeGap(100.); eventBuilder->SetEventBuilderAlgo(EventBuilderAlgo::FixedTimeWindow); eventBuilder->SetFixedTimeWindow(200.); - eventBuilder->SetTriggerMinNumberT0(1); + eventBuilder->SetTriggerMinNumberBmon(1); eventBuilder->SetTriggerMinNumberSts(0); eventBuilder->SetTriggerMinNumberMuch(0); eventBuilder->SetTriggerMinNumberTof(10); @@ -135,7 +135,7 @@ void run_reco_mcbm_real_wToF( //tofClust->SetEnableMatchPosScaling(kFALSE); // turn off projection to nominal target tofClust->SetYFitMin(1.E4); tofClust->SetIdMode(1); // calibrate on module level - // tofClust->SetDeadStrips(15,23); // declare dead strip for T0M3,Rpc0,Strip 23 + // tofClust->SetDeadStrips(15,23); // declare dead strip for BmonM3,Rpc0,Strip 23 Int_t calSelRead = calSel; diff --git a/macro/rich/mcbm/beamtime/run_reco_mcbm_real_wToF_dec19.C b/macro/rich/mcbm/beamtime/run_reco_mcbm_real_wToF_dec19.C index 5bfb3a04f8104c14adcd22cc6a96c451ef24f416..dbba49b0de3c334a7dc186e26832bc4de4aa3966 100644 --- a/macro/rich/mcbm/beamtime/run_reco_mcbm_real_wToF_dec19.C +++ b/macro/rich/mcbm/beamtime/run_reco_mcbm_real_wToF_dec19.C @@ -14,7 +14,7 @@ void run_reco_mcbm_real_wToF_dec19( int nEvents = 1000, const int taskId = 00005) { const Double_t eb_fixedTimeWindow {200.}; - const Int_t eb_TriggerMinNumberT0 {1}; + const Int_t eb_TriggerMinNumberBmon {1}; const Int_t eb_TriggerMinNumberSts {0}; const Int_t eb_TriggerMinNumberMuch {0}; const Int_t eb_TriggerMinNumberTof {10}; @@ -106,7 +106,7 @@ void run_reco_mcbm_real_wToF_dec19( // eventBuilder->SetMaximumTimeGap(100.); eventBuilder->SetEventBuilderAlgo(EventBuilderAlgo::FixedTimeWindow); eventBuilder->SetFixedTimeWindow(eb_fixedTimeWindow); - eventBuilder->SetTriggerMinNumberT0(eb_TriggerMinNumberT0); + eventBuilder->SetTriggerMinNumberBmon(eb_TriggerMinNumberBmon); eventBuilder->SetTriggerMinNumberSts(eb_TriggerMinNumberSts); eventBuilder->SetTriggerMinNumberMuch(eb_TriggerMinNumberMuch); eventBuilder->SetTriggerMinNumberTof(eb_TriggerMinNumberTof); @@ -145,7 +145,7 @@ void run_reco_mcbm_real_wToF_dec19( //tofClust->SetEnableMatchPosScaling(kFALSE); // turn off projection to nominal target tofClust->SetYFitMin(1.E4); tofClust->SetIdMode(1); // calibrate on module level - // tofClust->SetDeadStrips(15,23); // declare dead strip for T0M3,Rpc0,Strip 23 + // tofClust->SetDeadStrips(15,23); // declare dead strip for BmonM3,Rpc0,Strip 23 Int_t calSelRead = calSel; @@ -538,7 +538,7 @@ void run_reco_mcbm_real_wToF_dec19( outfile << "TofOutput :" << cOutFname << std::endl << std::endl; outfile << "Trigger:" << std::endl; outfile << " fixedTimeWindow :" << eb_fixedTimeWindow << std::endl; - outfile << " MinNumberT0 :" << eb_TriggerMinNumberT0 << std::endl; + outfile << " MinNumberBmon :" << eb_TriggerMinNumberBmon << std::endl; outfile << " MinNumberSts :" << eb_TriggerMinNumberSts << std::endl; outfile << " MinNumberMuch :" << eb_TriggerMinNumberMuch << std::endl; outfile << " MinNumberTof :" << eb_TriggerMinNumberTof << std::endl; diff --git a/macro/rich/mcbm/beamtime/run_reco_mcbm_real_wToF_jun21.C b/macro/rich/mcbm/beamtime/run_reco_mcbm_real_wToF_jun21.C index 99677f3f189e6243bb04a2658fc2512ec69f7835..503170b7d596fabc4189c5fe200b542012028ca3 100644 --- a/macro/rich/mcbm/beamtime/run_reco_mcbm_real_wToF_jun21.C +++ b/macro/rich/mcbm/beamtime/run_reco_mcbm_real_wToF_jun21.C @@ -19,7 +19,7 @@ void run_reco_mcbm_real_wToF_jun21(const string srcfolder = "/lustre/cbm/users/p // ----- EventBuilder Settings----------------------------------------- const Double_t eb_fixedTimeWindow {200.}; - const Int_t eb_TriggerMinNumberT0 {1}; + const Int_t eb_TriggerMinNumberBmon {1}; const Int_t eb_TriggerMinNumberSts {0}; const Int_t eb_TriggerMinNumberMuch {0}; const Int_t eb_TriggerMinNumberTof {10}; @@ -192,7 +192,7 @@ void run_reco_mcbm_real_wToF_jun21(const string srcfolder = "/lustre/cbm/users/p eventBuilder->SetMaximumTimeGap(200.); eventBuilder->SetEventBuilderAlgo(EventBuilderAlgo::FixedTimeWindow); eventBuilder->SetFixedTimeWindow(eb_fixedTimeWindow); - eventBuilder->SetTriggerMinNumberT0(eb_TriggerMinNumberT0); + eventBuilder->SetTriggerMinNumberBmon(eb_TriggerMinNumberBmon); eventBuilder->SetTriggerMinNumberSts(eb_TriggerMinNumberSts); eventBuilder->SetTriggerMinNumberMuch(eb_TriggerMinNumberMuch); eventBuilder->SetTriggerMinNumberTof(eb_TriggerMinNumberTof); @@ -1094,7 +1094,7 @@ void run_reco_mcbm_real_wToF_jun21(const string srcfolder = "/lustre/cbm/users/p outfile << "TofOutput :" << cFname << std::endl << std::endl; outfile << "Trigger:" << std::endl; outfile << " fixedTimeWindow :" << eb_fixedTimeWindow << std::endl; - outfile << " MinNumberT0 :" << eb_TriggerMinNumberT0 << std::endl; + outfile << " MinNumberBmon :" << eb_TriggerMinNumberBmon << std::endl; outfile << " MinNumberSts :" << eb_TriggerMinNumberSts << std::endl; outfile << " MinNumberMuch :" << eb_TriggerMinNumberMuch << std::endl; outfile << " MinNumberTof :" << eb_TriggerMinNumberTof << std::endl; diff --git a/macro/rich/mcbm/beamtime/run_reco_mcbm_real_wToF_mar20.C b/macro/rich/mcbm/beamtime/run_reco_mcbm_real_wToF_mar20.C index aac3d51352b704c4a5c157c86970bf394be59d2e..b6896ac25f5328fa38259a19ac6cb104ca71b1af 100644 --- a/macro/rich/mcbm/beamtime/run_reco_mcbm_real_wToF_mar20.C +++ b/macro/rich/mcbm/beamtime/run_reco_mcbm_real_wToF_mar20.C @@ -17,7 +17,7 @@ void run_reco_mcbm_real_wToF_mar20(const string srcfolder = "/lustre/cbm/users/a // ----- EventBuilder Settings----------------------------------------- const Double_t eb_fixedTimeWindow {200.}; - const Int_t eb_TriggerMinNumberT0 {1}; + const Int_t eb_TriggerMinNumberBmon {1}; const Int_t eb_TriggerMinNumberSts {0}; const Int_t eb_TriggerMinNumberMuch {0}; const Int_t eb_TriggerMinNumberTof {10}; @@ -174,7 +174,7 @@ void run_reco_mcbm_real_wToF_mar20(const string srcfolder = "/lustre/cbm/users/a eventBuilder->SetMaximumTimeGap(200.); eventBuilder->SetEventBuilderAlgo(EventBuilderAlgo::FixedTimeWindow); eventBuilder->SetFixedTimeWindow(eb_fixedTimeWindow); - eventBuilder->SetTriggerMinNumberT0(eb_TriggerMinNumberT0); + eventBuilder->SetTriggerMinNumberBmon(eb_TriggerMinNumberBmon); eventBuilder->SetTriggerMinNumberSts(eb_TriggerMinNumberSts); eventBuilder->SetTriggerMinNumberMuch(eb_TriggerMinNumberMuch); eventBuilder->SetTriggerMinNumberTof(eb_TriggerMinNumberTof); @@ -456,7 +456,7 @@ void run_reco_mcbm_real_wToF_mar20(const string srcfolder = "/lustre/cbm/users/a outfile << "TofOutput :" << cFname << std::endl << std::endl; outfile << "Trigger:" << std::endl; outfile << " fixedTimeWindow :" << eb_fixedTimeWindow << std::endl; - outfile << " MinNumberT0 :" << eb_TriggerMinNumberT0 << std::endl; + outfile << " MinNumberBmon :" << eb_TriggerMinNumberBmon << std::endl; outfile << " MinNumberSts :" << eb_TriggerMinNumberSts << std::endl; outfile << " MinNumberMuch :" << eb_TriggerMinNumberMuch << std::endl; outfile << " MinNumberTof :" << eb_TriggerMinNumberTof << std::endl; diff --git a/macro/rich/mcbm/beamtime/run_reco_mcbm_real_wToF_mar22.C b/macro/rich/mcbm/beamtime/run_reco_mcbm_real_wToF_mar22.C index 4522e170fce56a6666dac669517c1ece109a1160..8fa42ff9d96a8923fadf267a87abb8d6ca88462b 100644 --- a/macro/rich/mcbm/beamtime/run_reco_mcbm_real_wToF_mar22.C +++ b/macro/rich/mcbm/beamtime/run_reco_mcbm_real_wToF_mar22.C @@ -17,7 +17,7 @@ void run_reco_mcbm_real_wToF_mar22(const unsigned int runId = 1981, // used for // ----- EventBuilder Settings----------------------------------------- const Double_t eb_fixedTimeWindow {200.}; - const Int_t eb_TriggerMinNumberT0 {1}; + const Int_t eb_TriggerMinNumberBmon {1}; const Int_t eb_TriggerMinNumberSts {0}; const Int_t eb_TriggerMinNumberMuch {0}; const Int_t eb_TriggerMinNumberTof {4}; @@ -342,7 +342,7 @@ void run_reco_mcbm_real_wToF_mar22(const unsigned int runId = 1981, // used for tofFindTracks->UseFitter(tofTrackFitter); tofFindTracks->SetCalOpt(iCalOpt); // 1 - update offsets, 2 - update walk, 0 - bypass tofFindTracks->SetCorMode(iGenCor); // valid options: 0,1,2,3,4,5,6, 10 - 19 - tofFindTracks->SetTtTarg(0.042); // target value Mar2021, after T0 fix (double stack run 1058) + tofFindTracks->SetTtTarg(0.042); // target value Mar2021, after Bmon fix (double stack run 1058) tofFindTracks->SetCalParFileName(cTrkFile); // Tracker parameter value file name tofFindTracks->SetBeamCounter(5, 0, 0); // default beam counter tofFindTracks->SetR0Lim(20.); @@ -680,7 +680,7 @@ void run_reco_mcbm_real_wToF_mar22(const unsigned int runId = 1981, // used for outfile << "TofOutput :" << cFname << std::endl << std::endl; outfile << "Trigger:" << std::endl; outfile << " fixedTimeWindow :" << eb_fixedTimeWindow << std::endl; - outfile << " MinNumberT0 :" << eb_TriggerMinNumberT0 << std::endl; + outfile << " MinNumberBmon :" << eb_TriggerMinNumberBmon << std::endl; outfile << " MinNumberSts :" << eb_TriggerMinNumberSts << std::endl; outfile << " MinNumberMuch :" << eb_TriggerMinNumberMuch << std::endl; outfile << " MinNumberTof :" << eb_TriggerMinNumberTof << std::endl; diff --git a/macro/rich/mcbm/beamtime/run_reco_mcbm_real_wToF_mar22_iron.C b/macro/rich/mcbm/beamtime/run_reco_mcbm_real_wToF_mar22_iron.C index e903639f3ee71509f9ca165bafc607911e6aadfd..41932b8b27cd7ed2b54285ccb2edd45458499009 100644 --- a/macro/rich/mcbm/beamtime/run_reco_mcbm_real_wToF_mar22_iron.C +++ b/macro/rich/mcbm/beamtime/run_reco_mcbm_real_wToF_mar22_iron.C @@ -17,7 +17,7 @@ void run_reco_mcbm_real_wToF_mar22_iron(const unsigned int runId = 2160, // use // ----- EventBuilder Settings----------------------------------------- const Double_t eb_fixedTimeWindow {200.}; - const Int_t eb_TriggerMinNumberT0 {1}; + const Int_t eb_TriggerMinNumberBmon {1}; const Int_t eb_TriggerMinNumberSts {0}; const Int_t eb_TriggerMinNumberMuch {0}; const Int_t eb_TriggerMinNumberTof {4}; @@ -386,7 +386,7 @@ void run_reco_mcbm_real_wToF_mar22_iron(const unsigned int runId = 2160, // use tofFindTracks->UseFitter(tofTrackFitter); tofFindTracks->SetCalOpt(iCalOpt); // 1 - update offsets, 2 - update walk, 0 - bypass tofFindTracks->SetCorMode(iGenCor); // valid options: 0,1,2,3,4,5,6, 10 - 19 - tofFindTracks->SetTtTarg(0.042); // target value Mar2021, after T0 fix (double stack run 1058) + tofFindTracks->SetTtTarg(0.042); // target value Mar2021, after Bmon fix (double stack run 1058) tofFindTracks->SetCalParFileName(cTrkFile); // Tracker parameter value file name tofFindTracks->SetBeamCounter(5, 0, 0); // default beam counter tofFindTracks->SetR0Lim(20.); @@ -724,7 +724,7 @@ void run_reco_mcbm_real_wToF_mar22_iron(const unsigned int runId = 2160, // use outfile << "TofOutput :" << cFname << std::endl << std::endl; outfile << "Trigger:" << std::endl; outfile << " fixedTimeWindow :" << eb_fixedTimeWindow << std::endl; - outfile << " MinNumberT0 :" << eb_TriggerMinNumberT0 << std::endl; + outfile << " MinNumberBmon :" << eb_TriggerMinNumberBmon << std::endl; outfile << " MinNumberSts :" << eb_TriggerMinNumberSts << std::endl; outfile << " MinNumberMuch :" << eb_TriggerMinNumberMuch << std::endl; outfile << " MinNumberTof :" << eb_TriggerMinNumberTof << std::endl; diff --git a/macro/rich/mcbm/beamtime/run_reco_mcbm_real_wToF_mar22_iron_T0ref.C b/macro/rich/mcbm/beamtime/run_reco_mcbm_real_wToF_mar22_iron_Bmonref.C similarity index 98% rename from macro/rich/mcbm/beamtime/run_reco_mcbm_real_wToF_mar22_iron_T0ref.C rename to macro/rich/mcbm/beamtime/run_reco_mcbm_real_wToF_mar22_iron_Bmonref.C index 05dd77933d715fed072621c7b537f1888ab6d6a6..bcc329ca7fc3d411d297f547d70694b3fd739555 100644 --- a/macro/rich/mcbm/beamtime/run_reco_mcbm_real_wToF_mar22_iron_T0ref.C +++ b/macro/rich/mcbm/beamtime/run_reco_mcbm_real_wToF_mar22_iron_Bmonref.C @@ -2,9 +2,9 @@ SPDX-License-Identifier: GPL-3.0-only Authors: Florian Uhlig [committer] */ -void run_reco_mcbm_real_wToF_mar22_iron_T0ref(const unsigned int runId = 2160, // used for the output folder - int nEvents = 50, const int taskId = 11, - const string srcfolder = "/data/cbmroot/mcbmsource/macro/run/data/") +void run_reco_mcbm_real_wToF_mar22_iron_Bmonref(const unsigned int runId = 2160, // used for the output folder + int nEvents = 50, const int taskId = 11, + const string srcfolder = "/data/cbmroot/mcbmsource/macro/run/data/") { // ----- File names -------------------------------------------------- const string& digiFile = Form("%s/%4d.digi.root", srcfolder.c_str(), runId); @@ -20,8 +20,8 @@ void run_reco_mcbm_real_wToF_mar22_iron_T0ref(const unsigned int runId = 2160, // ----- EventBuilder Settings----------------------------------------- const Double_t eb_fixedTimeWindow {200.}; - const Int_t eb_TriggerMinNumberT0 {1}; - const Int_t eb_TriggerMaxNumberT0 {2}; + const Int_t eb_TriggerMinNumberBmon {1}; + const Int_t eb_TriggerMaxNumberBmon {2}; const Int_t eb_TriggerMinNumberSts {0}; const Int_t eb_TriggerMinNumberMuch {0}; const Int_t eb_TriggerMinNumberTof {16}; @@ -217,7 +217,7 @@ void run_reco_mcbm_real_wToF_mar22_iron_T0ref(const unsigned int runId = 2160, // Set TOF as reference detector //evBuildRaw->SetReferenceDetector(kRawEventBuilderDetTof); - evBuildRaw->SetReferenceDetector(kRawEventBuilderDetT0); + evBuildRaw->SetReferenceDetector(kRawEventBuilderDetBmon); // void SetTsParameters(double TsStartTime, double TsLength, double TsOverLength): TsStartTime=0, TsLength=256ms in 2021, TsOverLength=TS overlap, not used in mCBM2021 evBuildRaw->SetTsParameters(0.0, 1.28e8, 0.0); @@ -227,8 +227,8 @@ void run_reco_mcbm_real_wToF_mar22_iron_T0ref(const unsigned int runId = 2160, if (geoSetup->IsActive(ECbmModuleId::kTof)) evBuildRaw->SetTriggerMinLayersNumber(ECbmModuleId::kTof, eb_TriggerMinNumberTofLayers); - evBuildRaw->SetTriggerMinNumber(ECbmModuleId::kBmon, eb_TriggerMinNumberT0); - evBuildRaw->SetTriggerMaxNumber(ECbmModuleId::kBmon, eb_TriggerMaxNumberT0); + evBuildRaw->SetTriggerMinNumber(ECbmModuleId::kBmon, eb_TriggerMinNumberBmon); + evBuildRaw->SetTriggerMaxNumber(ECbmModuleId::kBmon, eb_TriggerMaxNumberBmon); if (geoSetup->IsActive(ECbmModuleId::kTof)) evBuildRaw->SetTriggerMaxNumber(ECbmModuleId::kTof, -1); //evBuildRaw->SetTriggerMinNumber(ECbmModuleId::kSts, eb_TriggerMinNumberSts); @@ -399,7 +399,7 @@ void run_reco_mcbm_real_wToF_mar22_iron_T0ref(const unsigned int runId = 2160, tofFindTracks->UseFitter(tofTrackFitter); tofFindTracks->SetCalOpt(iCalOpt); // 1 - update offsets, 2 - update walk, 0 - bypass tofFindTracks->SetCorMode(iGenCor); // valid options: 0,1,2,3,4,5,6, 10 - 19 - tofFindTracks->SetTtTarg(0.042); // target value Mar2021, after T0 fix (double stack run 1058) + tofFindTracks->SetTtTarg(0.042); // target value Mar2021, after Bmon fix (double stack run 1058) tofFindTracks->SetCalParFileName(cTrkFile); // Tracker parameter value file name tofFindTracks->SetBeamCounter(5, 0, 0); // default beam counter tofFindTracks->SetR0Lim(20.); @@ -738,8 +738,8 @@ void run_reco_mcbm_real_wToF_mar22_iron_T0ref(const unsigned int runId = 2160, outfile << "TofOutput :" << cFname << std::endl << std::endl; outfile << "Trigger:" << std::endl; outfile << " fixedTimeWindow :" << eb_fixedTimeWindow << std::endl; - outfile << " MinNumberT0 :" << eb_TriggerMinNumberT0 << std::endl; - outfile << " MaxNumberT0 :" << eb_TriggerMaxNumberT0 << std::endl; + outfile << " MinNumberBmon :" << eb_TriggerMinNumberBmon << std::endl; + outfile << " MaxNumberBmon :" << eb_TriggerMaxNumberBmon << std::endl; outfile << " MinNumberSts :" << eb_TriggerMinNumberSts << std::endl; outfile << " MinNumberMuch :" << eb_TriggerMinNumberMuch << std::endl; outfile << " MinNumberTof :" << eb_TriggerMinNumberTof << std::endl; diff --git a/macro/rich/mcbm/beamtime/run_reco_mcbm_real_wToF_mar22_iron_T0refnoTof.C b/macro/rich/mcbm/beamtime/run_reco_mcbm_real_wToF_mar22_iron_BmonrefnoTof.C similarity index 98% rename from macro/rich/mcbm/beamtime/run_reco_mcbm_real_wToF_mar22_iron_T0refnoTof.C rename to macro/rich/mcbm/beamtime/run_reco_mcbm_real_wToF_mar22_iron_BmonrefnoTof.C index c6dc77838fb529c5da6b4eb1391ef49b8fcf29aa..1d6219cd96589288321a63b659decdf2be7b8c95 100644 --- a/macro/rich/mcbm/beamtime/run_reco_mcbm_real_wToF_mar22_iron_T0refnoTof.C +++ b/macro/rich/mcbm/beamtime/run_reco_mcbm_real_wToF_mar22_iron_BmonrefnoTof.C @@ -2,9 +2,9 @@ SPDX-License-Identifier: GPL-3.0-only Authors: Florian Uhlig [committer] */ -void run_reco_mcbm_real_wToF_mar22_iron_T0refnoTof(const unsigned int runId = 2160, // used for the output folder - int nEvents = 10, const int taskId = 11, - const string srcfolder = "/data/cbmroot/mcbmsource/macro/run/data/") +void run_reco_mcbm_real_wToF_mar22_iron_BmonrefnoTof( + const unsigned int runId = 2160, // used for the output folder + int nEvents = 10, const int taskId = 11, const string srcfolder = "/data/cbmroot/mcbmsource/macro/run/data/") { // ----- File names -------------------------------------------------- const string& digiFile = Form("%s/%4d.digi.root", srcfolder.c_str(), runId); @@ -17,7 +17,7 @@ void run_reco_mcbm_real_wToF_mar22_iron_T0refnoTof(const unsigned int runId = 21 // ----- EventBuilder Settings----------------------------------------- const Double_t eb_fixedTimeWindow {200.}; - const Int_t eb_TriggerMinNumberT0 {1}; + const Int_t eb_TriggerMinNumberBmon {1}; const Int_t eb_TriggerMinNumberSts {0}; const Int_t eb_TriggerMinNumberMuch {0}; const Int_t eb_TriggerMinNumberTof {4}; @@ -210,7 +210,7 @@ void run_reco_mcbm_real_wToF_mar22_iron_T0refnoTof(const unsigned int runId = 21 // Set TOF as reference detector //evBuildRaw->SetReferenceDetector(kRawEventBuilderDetTof); - evBuildRaw->SetReferenceDetector(kRawEventBuilderDetT0); + evBuildRaw->SetReferenceDetector(kRawEventBuilderDetBmon); // void SetTsParameters(double TsStartTime, double TsLength, double TsOverLength): TsStartTime=0, TsLength=256ms in 2021, TsOverLength=TS overlap, not used in mCBM2021 evBuildRaw->SetTsParameters(0.0, 1.28e8, 0.0); @@ -218,7 +218,7 @@ void run_reco_mcbm_real_wToF_mar22_iron_T0refnoTof(const unsigned int runId = 21 // if (geoSetup->IsActive(ECbmModuleId::kTof)) // evBuildRaw->SetTriggerMinNumber(ECbmModuleId::kTof, eb_TriggerMinNumberTof); - evBuildRaw->SetTriggerMinNumber(ECbmModuleId::kBmon, eb_TriggerMinNumberT0); + evBuildRaw->SetTriggerMinNumber(ECbmModuleId::kBmon, eb_TriggerMinNumberBmon); // if (geoSetup->IsActive(ECbmModuleId::kTof)) evBuildRaw->SetTriggerMaxNumber(ECbmModuleId::kTof, -1); @@ -389,7 +389,7 @@ void run_reco_mcbm_real_wToF_mar22_iron_T0refnoTof(const unsigned int runId = 21 tofFindTracks->UseFitter(tofTrackFitter); tofFindTracks->SetCalOpt(iCalOpt); // 1 - update offsets, 2 - update walk, 0 - bypass tofFindTracks->SetCorMode(iGenCor); // valid options: 0,1,2,3,4,5,6, 10 - 19 - tofFindTracks->SetTtTarg(0.042); // target value Mar2021, after T0 fix (double stack run 1058) + tofFindTracks->SetTtTarg(0.042); // target value Mar2021, after Bmon fix (double stack run 1058) tofFindTracks->SetCalParFileName(cTrkFile); // Tracker parameter value file name tofFindTracks->SetBeamCounter(5, 0, 0); // default beam counter tofFindTracks->SetR0Lim(20.); @@ -727,7 +727,7 @@ void run_reco_mcbm_real_wToF_mar22_iron_T0refnoTof(const unsigned int runId = 21 outfile << "TofOutput :" << cFname << std::endl << std::endl; outfile << "Trigger:" << std::endl; outfile << " fixedTimeWindow :" << eb_fixedTimeWindow << std::endl; - outfile << " MinNumberT0 :" << eb_TriggerMinNumberT0 << std::endl; + outfile << " MinNumberBmon :" << eb_TriggerMinNumberBmon << std::endl; outfile << " MinNumberSts :" << eb_TriggerMinNumberSts << std::endl; outfile << " MinNumberMuch :" << eb_TriggerMinNumberMuch << std::endl; outfile << " MinNumberTof :" << eb_TriggerMinNumberTof << std::endl; diff --git a/macro/rich/mcbm/beamtime/run_reco_mcbm_real_wToF_mar22_iron_Tofref_wT0.C b/macro/rich/mcbm/beamtime/run_reco_mcbm_real_wToF_mar22_iron_Tofref_wBmon.C similarity index 97% rename from macro/rich/mcbm/beamtime/run_reco_mcbm_real_wToF_mar22_iron_Tofref_wT0.C rename to macro/rich/mcbm/beamtime/run_reco_mcbm_real_wToF_mar22_iron_Tofref_wBmon.C index 9b5c0d5d1c3c5c652be4cecd876529c62b14c50e..703d12406c752ac7eef8fc1e47d103a044be5bcb 100644 --- a/macro/rich/mcbm/beamtime/run_reco_mcbm_real_wToF_mar22_iron_Tofref_wT0.C +++ b/macro/rich/mcbm/beamtime/run_reco_mcbm_real_wToF_mar22_iron_Tofref_wBmon.C @@ -2,9 +2,9 @@ SPDX-License-Identifier: GPL-3.0-only Authors: Florian Uhlig [committer] */ -void run_reco_mcbm_real_wToF_mar22_iron_Tofref_wT0(const unsigned int runId = 2160, // used for the output folder - int nEvents = 10, const int taskId = 16, - const string srcfolder = "/data/cbmroot/mcbmsource/macro/run/data/") +void run_reco_mcbm_real_wToF_mar22_iron_Tofref_wBmon( + const unsigned int runId = 2160, // used for the output folder + int nEvents = 10, const int taskId = 16, const string srcfolder = "/data/cbmroot/mcbmsource/macro/run/data/") { // ----- File names -------------------------------------------------- const string& digiFile = Form("%s/%4d.digi.root", srcfolder.c_str(), runId); @@ -17,7 +17,7 @@ void run_reco_mcbm_real_wToF_mar22_iron_Tofref_wT0(const unsigned int runId = 21 // ----- EventBuilder Settings----------------------------------------- const Double_t eb_fixedTimeWindow {200.}; - const Int_t eb_TriggerMinNumberT0 {1}; + const Int_t eb_TriggerMinNumberBmon {1}; const Int_t eb_TriggerMinNumberSts {0}; const Int_t eb_TriggerMinNumberMuch {0}; const Int_t eb_TriggerMinNumberTof {4}; @@ -212,9 +212,9 @@ void run_reco_mcbm_real_wToF_mar22_iron_Tofref_wT0(const unsigned int runId = 21 // Set TOF as reference detector //evBuildRaw->SetReferenceDetector(kRawEventBuilderDetTof); evBuildRaw->SetReferenceDetector(kRawEventBuilderDetRich); - //evBuildRaw->SetReferenceDetector(kRawEventBuilderDetT0); - evBuildRaw->RemoveDetector(kRawEventBuilderDetT0); - //evBuildRaw->AddDetector(kRawEventBuilderDetT0); + //evBuildRaw->SetReferenceDetector(kRawEventBuilderDetBmon); + evBuildRaw->RemoveDetector(kRawEventBuilderDetBmon); + //evBuildRaw->AddDetector(kRawEventBuilderDetBmon); // void SetTsParameters(double TsStartTime, double TsLength, double TsOverLength): TsStartTime=0, TsLength=256ms in 2021, TsOverLength=TS overlap, not used in mCBM2021 evBuildRaw->SetTsParameters(0.0, 1.28e8, 0.0); @@ -222,8 +222,8 @@ void run_reco_mcbm_real_wToF_mar22_iron_Tofref_wT0(const unsigned int runId = 21 if (geoSetup->IsActive(ECbmModuleId::kTof)) evBuildRaw->SetTriggerMinNumber(ECbmModuleId::kTof, eb_TriggerMinNumberTof); - // evBuildRaw->SetTriggerMinNumber(ECbmModuleId::kT0, eb_TriggerMinNumberT0); - // evBuildRaw->SetTriggerMaxNumber(ECbmModuleId::kT0, -1); + // evBuildRaw->SetTriggerMinNumber(ECbmModuleId::kBmon, eb_TriggerMinNumberBmon); + // evBuildRaw->SetTriggerMaxNumber(ECbmModuleId::kBmon, -1); if (geoSetup->IsActive(ECbmModuleId::kTof)) evBuildRaw->SetTriggerMaxNumber(ECbmModuleId::kTof, -1); @@ -233,7 +233,7 @@ void run_reco_mcbm_real_wToF_mar22_iron_Tofref_wT0(const unsigned int runId = 21 evBuildRaw->SetTriggerMinNumber(ECbmModuleId::kRich, eb_TriggerMinNumberRich); evBuildRaw->SetTriggerMaxNumber(ECbmModuleId::kRich, -1); - //evBuildRaw->SetTriggerWindow(ECbmModuleId::kT0, -100, 100); + //evBuildRaw->SetTriggerWindow(ECbmModuleId::kBmon, -100, 100); if (geoSetup->IsActive(ECbmModuleId::kTof)) evBuildRaw->SetTriggerWindow(ECbmModuleId::kTof, -50, 50); if (geoSetup->IsActive(ECbmModuleId::kSts)) evBuildRaw->SetTriggerWindow(ECbmModuleId::kSts, -50, 50); if (geoSetup->IsActive(ECbmModuleId::kTrd)) evBuildRaw->SetTriggerWindow(ECbmModuleId::kTrd, -200, 200); @@ -395,7 +395,7 @@ void run_reco_mcbm_real_wToF_mar22_iron_Tofref_wT0(const unsigned int runId = 21 tofFindTracks->UseFitter(tofTrackFitter); tofFindTracks->SetCalOpt(iCalOpt); // 1 - update offsets, 2 - update walk, 0 - bypass tofFindTracks->SetCorMode(iGenCor); // valid options: 0,1,2,3,4,5,6, 10 - 19 - tofFindTracks->SetTtTarg(0.042); // target value Mar2021, after T0 fix (double stack run 1058) + tofFindTracks->SetTtTarg(0.042); // target value Mar2021, after Bmon fix (double stack run 1058) tofFindTracks->SetCalParFileName(cTrkFile); // Tracker parameter value file name tofFindTracks->SetBeamCounter(5, 0, 0); // default beam counter tofFindTracks->SetR0Lim(20.); @@ -734,7 +734,7 @@ void run_reco_mcbm_real_wToF_mar22_iron_Tofref_wT0(const unsigned int runId = 21 outfile << "TofOutput :" << cFname << std::endl << std::endl; outfile << "Trigger:" << std::endl; outfile << " fixedTimeWindow :" << eb_fixedTimeWindow << std::endl; - outfile << " MinNumberT0 :" << eb_TriggerMinNumberT0 << std::endl; + outfile << " MinNumberBmon :" << eb_TriggerMinNumberBmon << std::endl; outfile << " MinNumberSts :" << eb_TriggerMinNumberSts << std::endl; outfile << " MinNumberMuch :" << eb_TriggerMinNumberMuch << std::endl; outfile << " MinNumberTof :" << eb_TriggerMinNumberTof << std::endl; diff --git a/macro/rich/mcbm/beamtime/run_reco_mcbm_real_wToF_may22_Nickel_Bmon.C b/macro/rich/mcbm/beamtime/run_reco_mcbm_real_wToF_may22_Nickel_Bmon.C index dd32e8f95b839e56164af26b253b7691091e5dc4..edc9979598430ed46393ef8dbffeda788cd795e6 100644 --- a/macro/rich/mcbm/beamtime/run_reco_mcbm_real_wToF_may22_Nickel_Bmon.C +++ b/macro/rich/mcbm/beamtime/run_reco_mcbm_real_wToF_may22_Nickel_Bmon.C @@ -20,8 +20,8 @@ void run_reco_mcbm_real_wToF_may22_Nickel_Bmon(const unsigned int runId = 2160, // ----- EventBuilder Settings----------------------------------------- const Double_t eb_fixedTimeWindow {200.}; - const Int_t eb_TriggerMinNumberT0 {1}; - const Int_t eb_TriggerMaxNumberT0 {2}; + const Int_t eb_TriggerMinNumberBmon {1}; + const Int_t eb_TriggerMaxNumberBmon {2}; const Int_t eb_TriggerMinNumberSts {0}; const Int_t eb_TriggerMinNumberMuch {0}; const Int_t eb_TriggerMinNumberTof {16}; @@ -217,9 +217,9 @@ void run_reco_mcbm_real_wToF_may22_Nickel_Bmon(const unsigned int runId = 2160, // Set TOF as reference detector evBuildRaw->SetReferenceDetector(kRawEventBuilderDetTof); - // evBuildRaw->SetReferenceDetector(kRawEventBuilderDetT0); + // evBuildRaw->SetReferenceDetector(kRawEventBuilderDetBmon); - // evBuildRaw->AddDetector(kRawEventBuilderDetT0); + // evBuildRaw->AddDetector(kRawEventBuilderDetBmon); // void SetTsParameters(double TsStartTime, double TsLength, double TsOverLength): TsStartTime=0, TsLength=256ms in 2021, TsOverLength=TS overlap, not used in mCBM2021 evBuildRaw->SetTsParameters(0.0, 1.28e8, 0.0); @@ -228,8 +228,8 @@ void run_reco_mcbm_real_wToF_may22_Nickel_Bmon(const unsigned int runId = 2160, if (geoSetup->IsActive(ECbmModuleId::kTof)) evBuildRaw->SetTriggerMinLayersNumber(ECbmModuleId::kTof, eb_TriggerMinNumberTofLayers); - evBuildRaw->SetTriggerMinNumber(ECbmModuleId::kBmon, eb_TriggerMinNumberT0); - evBuildRaw->SetTriggerMaxNumber(ECbmModuleId::kBmon, eb_TriggerMaxNumberT0); + evBuildRaw->SetTriggerMinNumber(ECbmModuleId::kBmon, eb_TriggerMinNumberBmon); + evBuildRaw->SetTriggerMaxNumber(ECbmModuleId::kBmon, eb_TriggerMaxNumberBmon); if (geoSetup->IsActive(ECbmModuleId::kTof)) evBuildRaw->SetTriggerMaxNumber(ECbmModuleId::kTof, -1); // evBuildRaw->SetTriggerMinNumber(ECbmModuleId::kSts, eb_TriggerMinNumberSts); @@ -400,7 +400,7 @@ void run_reco_mcbm_real_wToF_may22_Nickel_Bmon(const unsigned int runId = 2160, tofFindTracks->UseFitter(tofTrackFitter); tofFindTracks->SetCalOpt(iCalOpt); // 1 - update offsets, 2 - update walk, 0 - bypass tofFindTracks->SetCorMode(iGenCor); // valid options: 0,1,2,3,4,5,6, 10 - 19 - tofFindTracks->SetTtTarg(0.042); // target value Mar2021, after T0 fix (double stack run 1058) + tofFindTracks->SetTtTarg(0.042); // target value Mar2021, after Bmon fix (double stack run 1058) tofFindTracks->SetCalParFileName(cTrkFile); // Tracker parameter value file name tofFindTracks->SetBeamCounter(5, 0, 0); // default beam counter tofFindTracks->SetR0Lim(20.); @@ -739,7 +739,7 @@ void run_reco_mcbm_real_wToF_may22_Nickel_Bmon(const unsigned int runId = 2160, outfile << "TofOutput :" << cFname << std::endl << std::endl; outfile << "Trigger:" << std::endl; outfile << " fixedTimeWindow :" << eb_fixedTimeWindow << std::endl; - outfile << " MinNumberT0 :" << eb_TriggerMinNumberT0 << std::endl; + outfile << " MinNumberBmon :" << eb_TriggerMinNumberBmon << std::endl; outfile << " MinNumberSts :" << eb_TriggerMinNumberSts << std::endl; outfile << " MinNumberMuch :" << eb_TriggerMinNumberMuch << std::endl; outfile << " MinNumberTof :" << eb_TriggerMinNumberTof << std::endl; diff --git a/macro/rich/mcbm/beamtime/run_reco_mcbm_real_wToF_nov19.C b/macro/rich/mcbm/beamtime/run_reco_mcbm_real_wToF_nov19.C index 60ac31f1256ea9a0c7b1eff78948c4d54435e984..0f5d0ebcd29e67d5be006229f5a7591b085e4a5c 100644 --- a/macro/rich/mcbm/beamtime/run_reco_mcbm_real_wToF_nov19.C +++ b/macro/rich/mcbm/beamtime/run_reco_mcbm_real_wToF_nov19.C @@ -89,7 +89,7 @@ void run_reco_mcbm_real_wToF_nov19( // eventBuilder->SetMaximumTimeGap(100.); eventBuilder->SetEventBuilderAlgo(EventBuilderAlgo::FixedTimeWindow); eventBuilder->SetFixedTimeWindow(200.); - eventBuilder->SetTriggerMinNumberT0(1); + eventBuilder->SetTriggerMinNumberBmon(1); eventBuilder->SetTriggerMinNumberSts(0); eventBuilder->SetTriggerMinNumberMuch(0); eventBuilder->SetTriggerMinNumberTof(10); @@ -128,7 +128,7 @@ void run_reco_mcbm_real_wToF_nov19( //tofClust->SetEnableMatchPosScaling(kFALSE); // turn off projection to nominal target tofClust->SetYFitMin(1.E4); tofClust->SetIdMode(1); // calibrate on module level - // tofClust->SetDeadStrips(15,23); // declare dead strip for T0M3,Rpc0,Strip 23 + // tofClust->SetDeadStrips(15,23); // declare dead strip for BmonM3,Rpc0,Strip 23 Int_t calSelRead = calSel; diff --git a/macro/rich/mcbm/beamtime/run_reco_mcbm_richOnly.C b/macro/rich/mcbm/beamtime/run_reco_mcbm_richOnly.C index dce3a69b7c55d77d521a62fc7dd6407d0bcd45b3..758009a774c4140e029e06718685e517e41241bd 100644 --- a/macro/rich/mcbm/beamtime/run_reco_mcbm_richOnly.C +++ b/macro/rich/mcbm/beamtime/run_reco_mcbm_richOnly.C @@ -12,7 +12,7 @@ void run_reco_mcbm_richOnly( const string& recoFile = Form("reco_mcbm_mar20_%d.root", runId); const Double_t eb_fixedTimeWindow {200.}; - const Int_t eb_TriggerMinNumberT0 {0}; + const Int_t eb_TriggerMinNumberBmon {0}; const Int_t eb_TriggerMinNumberSts {0}; const Int_t eb_TriggerMinNumberMuch {0}; const Int_t eb_TriggerMinNumberTof {0}; @@ -59,7 +59,7 @@ void run_reco_mcbm_richOnly( // eventBuilder->SetMaximumTimeGap(100.); eventBuilder->SetEventBuilderAlgo(EventBuilderAlgo::FixedTimeWindow); eventBuilder->SetFixedTimeWindow(eb_fixedTimeWindow); - eventBuilder->SetTriggerMinNumberT0(eb_TriggerMinNumberT0); + eventBuilder->SetTriggerMinNumberBmon(eb_TriggerMinNumberBmon); eventBuilder->SetTriggerMinNumberSts(eb_TriggerMinNumberSts); eventBuilder->SetTriggerMinNumberMuch(eb_TriggerMinNumberMuch); eventBuilder->SetTriggerMinNumberTof(eb_TriggerMinNumberTof); diff --git a/macro/rich/mcbm/beamtime/run_reco_mcbm_richOnly2021.C b/macro/rich/mcbm/beamtime/run_reco_mcbm_richOnly2021.C index cb4df8f09dcabf4bf7a433981d76c6a0dedc1937..e568767da4653f44d305bc4638d1aac8e6646275 100644 --- a/macro/rich/mcbm/beamtime/run_reco_mcbm_richOnly2021.C +++ b/macro/rich/mcbm/beamtime/run_reco_mcbm_richOnly2021.C @@ -11,7 +11,7 @@ void run_reco_mcbm_richOnly(const string srcfolder = "/lustre/cbm/users/adrian const string& recoFile = Form("reco_mcbm_mar20_%d.root", runId); const Double_t eb_fixedTimeWindow {200.}; - const Int_t eb_TriggerMinNumberT0 {0}; + const Int_t eb_TriggerMinNumberBmon {0}; const Int_t eb_TriggerMinNumberSts {0}; const Int_t eb_TriggerMinNumberMuch {0}; const Int_t eb_TriggerMinNumberTof {0}; @@ -58,7 +58,7 @@ void run_reco_mcbm_richOnly(const string srcfolder = "/lustre/cbm/users/adrian // eventBuilder->SetMaximumTimeGap(100.); eventBuilder->SetEventBuilderAlgo(EventBuilderAlgo::FixedTimeWindow); eventBuilder->SetFixedTimeWindow(eb_fixedTimeWindow); - eventBuilder->SetTriggerMinNumberT0(eb_TriggerMinNumberT0); + eventBuilder->SetTriggerMinNumberBmon(eb_TriggerMinNumberBmon); eventBuilder->SetTriggerMinNumberSts(eb_TriggerMinNumberSts); eventBuilder->SetTriggerMinNumberMuch(eb_TriggerMinNumberMuch); eventBuilder->SetTriggerMinNumberTof(eb_TriggerMinNumberTof); diff --git a/macro/rich/mcbm/beamtime/run_reco_mcbm_richOnly2022.C b/macro/rich/mcbm/beamtime/run_reco_mcbm_richOnly2022.C index 7881ad8fbbeffd66dff56891c3ccb78a8fe3df7d..663448458ff895342b568293af4925a6749f8949 100644 --- a/macro/rich/mcbm/beamtime/run_reco_mcbm_richOnly2022.C +++ b/macro/rich/mcbm/beamtime/run_reco_mcbm_richOnly2022.C @@ -10,7 +10,7 @@ void run_reco_mcbm_richOnly2022(const string srcfolder = "/data/cbmroot/cbmsou const string& recoFile = Form("reco_mcbm_mar22_%d.root", runId); const Double_t eb_fixedTimeWindow {200.}; - const Int_t eb_TriggerMinNumberT0 {0}; + const Int_t eb_TriggerMinNumberBmon {0}; const Int_t eb_TriggerMinNumberSts {0}; const Int_t eb_TriggerMinNumberMuch {0}; const Int_t eb_TriggerMinNumberTof {0}; @@ -60,7 +60,7 @@ void run_reco_mcbm_richOnly2022(const string srcfolder = "/data/cbmroot/cbmsou // // eventBuilder->SetMaximumTimeGap(100.); // eventBuilder->SetEventBuilderAlgo(EventBuilderAlgo::FixedTimeWindow); // eventBuilder->SetFixedTimeWindow(eb_fixedTimeWindow); - // eventBuilder->SetTriggerMinNumberT0(eb_TriggerMinNumberT0); + // eventBuilder->SetTriggerMinNumberBmon(eb_TriggerMinNumberBmon); // eventBuilder->SetTriggerMinNumberSts(eb_TriggerMinNumberSts); // eventBuilder->SetTriggerMinNumberMuch(eb_TriggerMinNumberMuch); // eventBuilder->SetTriggerMinNumberTof(eb_TriggerMinNumberTof); @@ -83,20 +83,20 @@ void run_reco_mcbm_richOnly2022(const string srcfolder = "/data/cbmroot/cbmsou evBuildRaw->RemoveDetector(kRawEventBuilderDetTrd2D); evBuildRaw->RemoveDetector(kRawEventBuilderDetSts); evBuildRaw->RemoveDetector(kRawEventBuilderDetTof); - evBuildRaw->RemoveDetector(kRawEventBuilderDetT0); + evBuildRaw->RemoveDetector(kRawEventBuilderDetBmon); // Set TOF as reference detector evBuildRaw->SetReferenceDetector(kRawEventBuilderDetRich); - //evBuildRaw->SetReferenceDetector(kRawEventBuilderDetT0); + //evBuildRaw->SetReferenceDetector(kRawEventBuilderDetBmon); - //evBuildRaw->AddDetector(kRawEventBuilderDetT0); + //evBuildRaw->AddDetector(kRawEventBuilderDetBmon); // void SetTsParameters(double TsStartTime, double TsLength, double TsOverLength): TsStartTime=0, TsLength=256ms in 2021, TsOverLength=TS overlap, not used in mCBM2021 evBuildRaw->SetTsParameters(0.0, 1.28e8, 0.0); //evBuildRaw->SetTriggerMinNumber(ECbmModuleId::kTof, eb_TriggerMinNumberTof); - // evBuildRaw->SetTriggerMinNumber(ECbmModuleId::kT0, eb_TriggerMinNumberT0); - // evBuildRaw->SetTriggerMaxNumber(ECbmModuleId::kT0, -1); + // evBuildRaw->SetTriggerMinNumber(ECbmModuleId::kBmon, eb_TriggerMinNumberBmon); + // evBuildRaw->SetTriggerMaxNumber(ECbmModuleId::kBmon, -1); //evBuildRaw->SetTriggerMaxNumber(ECbmModuleId::kTof, -1); @@ -106,7 +106,7 @@ void run_reco_mcbm_richOnly2022(const string srcfolder = "/data/cbmroot/cbmsou evBuildRaw->SetTriggerMinNumber(ECbmModuleId::kRich, eb_TriggerMinNumberRich); evBuildRaw->SetTriggerMaxNumber(ECbmModuleId::kRich, -1); - //evBuildRaw->SetTriggerWindow(ECbmModuleId::kT0, -100, 100); + //evBuildRaw->SetTriggerWindow(ECbmModuleId::kBmon, -100, 100); //if (geoSetup->IsActive(ECbmModuleId::kTof)) evBuildRaw->SetTriggerWindow(ECbmModuleId::kTof, -50, 50); //if (geoSetup->IsActive(ECbmModuleId::kSts)) evBuildRaw->SetTriggerWindow(ECbmModuleId::kSts, -50, 50); //if (geoSetup->IsActive(ECbmModuleId::kTrd)) evBuildRaw->SetTriggerWindow(ECbmModuleId::kTrd, -200, 200); diff --git a/macro/rich/run/run_reco.C b/macro/rich/run/run_reco.C index ffef6ba360a3bf08dc123f51599d35f8dcd82227..fd74221d42e1e68fea4475acbb1f17caae34d7d7 100644 --- a/macro/rich/run/run_reco.C +++ b/macro/rich/run/run_reco.C @@ -18,7 +18,7 @@ #include "CbmPVFinderKF.h" #include "CbmPrimaryVertexFinder.h" #include "CbmRecoSts.h" -#include "CbmRecoTzero.h" +#include "CbmRecoT0.h" #include "CbmRichHitProducer.h" #include "CbmRichReconstruction.h" #include "CbmSetup.h" @@ -168,7 +168,7 @@ void run_reco(TString traFile = "data/test.tra.root", TString parFile = "data/te // Set STS as reference detector evBuildRaw->SetReferenceDetector(kRawEventBuilderDetSts); // Make Bmon (previous reference detector) a selected detector (with default parameters) - evBuildRaw->AddDetector(kRawEventBuilderDetT0); + evBuildRaw->AddDetector(kRawEventBuilderDetBmon); // Use sliding window seed builder with STS //evBuildRaw->SetReferenceDetector(kRawEventBuilderDetUndef); @@ -342,10 +342,10 @@ void run_reco(TString traFile = "data/test.tra.root", TString parFile = "data/te } // ---------------------------------------------------------------------- - // ----- T0 reconstruction -------------------------------------------- - CbmRecoTzero* recoT0 = new CbmRecoTzero(); - run->AddTask(recoT0); - std::cout << "-I- " << myName << ": Added task " << recoT0->GetName() << std::endl; + // ----- Bmon reconstruction -------------------------------------------- + CbmRecoT0* recoBmon = new CbmRecoT0(); + run->AddTask(recoBmon); + std::cout << "-I- " << myName << ": Added task " << recoBmon->GetName() << std::endl; // ---------------------------------------------------------------------- // ----- Match reco to MC ------------------------------------------- diff --git a/macro/run/run_reco.C b/macro/run/run_reco.C index c040579e58fac6590ecf36047a1bd79993574da6..0f3fcecacb245b35e3570ae8407df8459d091a20 100644 --- a/macro/run/run_reco.C +++ b/macro/run/run_reco.C @@ -30,8 +30,8 @@ #include "CbmPVFinderKF.h" #include "CbmPrimaryVertexFinder.h" #include "CbmPsdHitProducer.h" -#include "CbmRecoBmon.h" #include "CbmRecoSts.h" +#include "CbmRecoT0.h" #include "CbmRichHitProducer.h" #include "CbmRichReconstruction.h" #include "CbmSetup.h" @@ -478,10 +478,10 @@ void run_reco(TString input = "", Int_t nTimeSlices = -1, Int_t firstTimeSlice = // ---------------------------------------------------------------------- - // ----- T0 reconstruction -------------------------------------------- - CbmRecoBmon* recoT0 = new CbmRecoBmon(); - run->AddTask(recoT0); - std::cout << "-I- : Added task " << recoT0->GetName() << std::endl; + // ----- Bmon reconstruction -------------------------------------------- + CbmRecoT0* recoBmon = new CbmRecoT0(); + run->AddTask(recoBmon); + std::cout << "-I- : Added task " << recoBmon->GetName() << std::endl; // ---------------------------------------------------------------------- } //? event-based reco diff --git a/reco/L1/CbmCaTimeSliceReader.h b/reco/L1/CbmCaTimeSliceReader.h index 29d07f3111a2bcf8a5d156da51f5b4e1d51c23e0..1cd565d605513f66ed0dd150ff2c65cc8ef9bafd 100644 --- a/reco/L1/CbmCaTimeSliceReader.h +++ b/reco/L1/CbmCaTimeSliceReader.h @@ -259,7 +259,7 @@ int cbm::ca::TimeSliceReader::ReadHitsForDetector() iStGeom = pDetInterface->GetTrackingStationIndex(pTofHit); // *** Additional cuts for TOF *** - // Skip T0 hits + // Skip Bmon hits if (5 == CbmTofAddress::GetSmType(pTofHit->GetAddress())) { continue; } // FIXME: Figure it out, if this cut is still needed (introduced a year ago for mCBM) diff --git a/reco/L1/CbmL1ReadEvent.cxx b/reco/L1/CbmL1ReadEvent.cxx index 03498cf157653331ed46ed4732c71827a56cc45f..5219a66bd95714aacd6da70ba307cdaf906b6be1 100644 --- a/reco/L1/CbmL1ReadEvent.cxx +++ b/reco/L1/CbmL1ReadEvent.cxx @@ -643,7 +643,7 @@ void CbmL1::ReadEvent(CbmEvent* event) if (0x00202806 == h->GetAddress() || 0x00002806 == h->GetAddress()) continue; // TODO: Why? (S.Zharko) - if (5 == CbmTofAddress::GetSmType(h->GetAddress())) continue; // Skip T0 hits from TOF + if (5 == CbmTofAddress::GetSmType(h->GetAddress())) continue; // Skip Bmon hits from TOF th.iStation = fpAlgo->GetParameters().GetStationIndexActive( CbmTofTrackingInterface::Instance()->GetTrackingStationIndex(h), ca::EDetectorID::kTof); diff --git a/reco/L1/qa/CbmCaInputQaBase.cxx b/reco/L1/qa/CbmCaInputQaBase.cxx index 025e791c682a8a9737df88de046e47a32aa3fc9a..bc1f7d0b6b799cbc7e33842358b3b1b13adc281d 100644 --- a/reco/L1/qa/CbmCaInputQaBase.cxx +++ b/reco/L1/qa/CbmCaInputQaBase.cxx @@ -336,7 +336,7 @@ void CbmCaInputQaBase<DetID>::FillHistograms() if constexpr (ca::EDetectorID::kTof == DetID) { auto address = pHit->GetAddress(); if (0x00202806 == address || 0x00002806 == address) { continue; } // TEST - if (5 == CbmTofAddress::GetSmType(address)) { continue; } // Skip T0 hits + if (5 == CbmTofAddress::GetSmType(address)) { continue; } // Skip Bmon hits } // ************************* diff --git a/reco/L1/qa/CbmCaInputQaSetup.h b/reco/L1/qa/CbmCaInputQaSetup.h index 2e8ebfe839a0a030af7ed2e0a0f062c5038606c4..f9a7664f48343ca9d10aca3e5161252d2c8c3930 100644 --- a/reco/L1/qa/CbmCaInputQaSetup.h +++ b/reco/L1/qa/CbmCaInputQaSetup.h @@ -127,7 +127,7 @@ namespace cbm::ca } auto address = pHit->GetAddress(); - // skip T0 hits + // skip Bmon hits if constexpr (ca::EDetectorID::kTof == DetID) { if (5 == CbmTofAddress::GetSmType(address)) { continue; } } diff --git a/reco/L1/qa/CbmCaInputQaTof.cxx b/reco/L1/qa/CbmCaInputQaTof.cxx index e96f4398f8747e07b9ce7877410a6c26fd87d2ea..4d82766cfeb865d44ed1056029e12cd8c5b7c375 100644 --- a/reco/L1/qa/CbmCaInputQaTof.cxx +++ b/reco/L1/qa/CbmCaInputQaTof.cxx @@ -224,7 +224,7 @@ InitStatus CbmCaInputQaTof::InitCanvases() // NOTE: SZh 11.09.2023: Causes memory overconsumption //for (int iSt = 0; iSt < fpDetInterface->GetNtrackingStations(); ++iSt) { // for (int iSmType = 0; iSmType < fDigiBdfPar->GetNbSmTypes(); ++iSmType) { - // if (iSmType == 5) { continue; } // skip T0 + // if (iSmType == 5) { continue; } // skip Bmon // for (int iSm = 0; iSm < fDigiBdfPar->GetNbSm(iSmType); ++iSm) { // for (int iRpc = 0; iRpc < fDigiBdfPar->GetNbRpc(iSmType); ++iRpc) { // for (int iCh = 0; iCh < fDigiBdfPar->GetNbChan(iSmType, iRpc); ++iCh) { @@ -279,7 +279,7 @@ InitStatus CbmCaInputQaTof::InitHistograms() fvph_hit_zx_vs_cell.resize(nSmTypes); fvph_hit_zy_vs_cell.resize(nSmTypes); for (int iSmType = 0; iSmType < nSmTypes; ++iSmType) { - if (iSmType == 5) { continue; } // skip T0 + if (iSmType == 5) { continue; } // skip Bmon MakeQaDirectory(Form("occup_cell/sm_type_%d", iSmType)); int nSm = fDigiBdfPar->GetNbSm(iSmType); int nRpc = fDigiBdfPar->GetNbRpc(iSmType); diff --git a/reco/detectors/rich/mcbm/CbmRichMCbmAerogelAna.cxx b/reco/detectors/rich/mcbm/CbmRichMCbmAerogelAna.cxx index 8c643852aedb940d4ace5210c1bf35fdddd3d97c..b255d14769895cd403615bc8d4ef9b23fa95e69a 100644 --- a/reco/detectors/rich/mcbm/CbmRichMCbmAerogelAna.cxx +++ b/reco/detectors/rich/mcbm/CbmRichMCbmAerogelAna.cxx @@ -97,10 +97,10 @@ InitStatus CbmRichMCbmAerogelAna::Init() // fTofTracks =(TClonesArray*) ioman->GetObject("TofTracks"); // if (nullptr == fTofTracks) { Fatal("CbmRichMCbmQaReal::Init", "No Tof Tracks!");} - // fT0Digis =(TClonesArray*) ioman->GetObject("CbmT0Digi"); - // if (nullptr == fT0Digis) { Fatal("CbmRichMCbmQaReal::Init", "No T0 Digis!");} + // fBmonDigis =(TClonesArray*) ioman->GetObject("CbmBmonDigi"); + // if (nullptr == fBmonDigis) { Fatal("CbmRichMCbmQaReal::Init", "No Bmon Digis!");} - //fT0Digis = ioman->InitObjectAs<std::vector<CbmTofDigi> const *>("T0Digi"); + //fBmonDigis = ioman->InitObjectAs<std::vector<CbmTofDigi> const *>("BmonDigi"); fCbmEvent = dynamic_cast<TClonesArray*>(ioman->GetObject("CbmEvent")); if (nullptr == fCbmEvent) { Fatal("fTofDigis::Init", "No Event!"); } diff --git a/reco/detectors/rich/mcbm/CbmRichMCbmQaReal.cxx b/reco/detectors/rich/mcbm/CbmRichMCbmQaReal.cxx index b7e93adc98230841a38eceff7c38550a8422fa21..cda9c7665f53911c28b9c910ef91b4a904f3dacc 100644 --- a/reco/detectors/rich/mcbm/CbmRichMCbmQaReal.cxx +++ b/reco/detectors/rich/mcbm/CbmRichMCbmQaReal.cxx @@ -66,7 +66,7 @@ double RichZPos = 355.2; CbmRichMCbmQaReal::CbmRichMCbmQaReal() : FairTask("CbmRichMCbmQaReal") - , fT0Digis(nullptr) + , fBmonDigis(nullptr) , fRichHits(nullptr) , fRichRings(nullptr) , fTofHits(nullptr) @@ -127,10 +127,10 @@ InitStatus CbmRichMCbmQaReal::Init() LOG(warning) << "CbmRichMCbmQaReal::Init: " << "No Tof Tracks!"; - fT0Digis = ioman->InitObjectAs<std::vector<CbmTofDigi> const*>("T0Digi"); - if (nullptr == fT0Digis) + fBmonDigis = ioman->InitObjectAs<std::vector<CbmTofDigi> const*>("BmonDigi"); + if (nullptr == fBmonDigis) LOG(warning) << "CbmRichMCbmQaReal::Init: " - << "No T0 Digis!"; + << "No Bmon Digis!"; fTSHeader = ioman->InitObjectAs<CbmTsEventHeader const*>("EventHeader."); if (nullptr == fTSHeader) @@ -218,10 +218,10 @@ void CbmRichMCbmQaReal::InitHistograms() fHM->Create1<TH1D>("fhStsDigisTimeLogZoom", "fhStsDigisTimeLogZoom;Time [ns];Entries", 400, 0., 0.); fHM->Create1<TH1D>("fhStsDigisTimeLogZoom2", "fhStsDigisTimeLogZoom2;Time [ns];Entries", 400, 0., 0.); - //T0 - fHM->Create1<TH1D>("fhT0DigisTimeLog", "fhT0DigisTimeLog;Time [ns];Entries", 400, 0., 0.); - fHM->Create1<TH1D>("fhT0DigisTimeLogZoom", "fhT0DigisTimeLogZoom;Time [ns];Entries", 400, 0., 0.); - fHM->Create1<TH1D>("fhT0DigisTimeLogZoom2", "fhT0DigisTimeLogZoom2;Time [ns];Entries", 400, 0., 0.); + //Bmon + fHM->Create1<TH1D>("fhBmonDigisTimeLog", "fhBmonDigisTimeLog;Time [ns];Entries", 400, 0., 0.); + fHM->Create1<TH1D>("fhBmonDigisTimeLogZoom", "fhBmonDigisTimeLogZoom;Time [ns];Entries", 400, 0., 0.); + fHM->Create1<TH1D>("fhBmonDigisTimeLogZoom2", "fhBmonDigisTimeLogZoom2;Time [ns];Entries", 400, 0., 0.); //TRD1D fHM->Create1<TH1D>("fhTrd1dDigisTimeLog", "fhTrd1dDigisTimeLog;Time [ns];Entries", 400, 0., 0.); @@ -533,9 +533,9 @@ void CbmRichMCbmQaReal::InitHistograms() fHM->Create2<TH2D>(Form("fhTofHitXZ_Station_%u", i), Form("fhTofHitXZ_Station_%u;Z [cm];X [cm];Entries", i), 350, -0.5, 349.5, 400, -50, 110); - fHM->Create1<TH1D>("fhT0DigiMultiplicity", "fhT0DigiMultiplicity;multiplicity; Entries", 16, -1.5, 14.5); - fHM->Create1<TH1D>("fhT0DigiTime", "fhT0DigiTime;time [ns]; Entries", 500, 0., 100.); - fHM->Create1<TH1D>("fhT0DigiTimeEvent", "fhT0DigiTimeEvent;time [ns]; Entries", 500, 0., 100.); + fHM->Create1<TH1D>("fhBmonDigiMultiplicity", "fhBmonDigiMultiplicity;multiplicity; Entries", 16, -1.5, 14.5); + fHM->Create1<TH1D>("fhBmonDigiTime", "fhBmonDigiTime;time [ns]; Entries", 500, 0., 100.); + fHM->Create1<TH1D>("fhBmonDigiTimeEvent", "fhBmonDigiTimeEvent;time [ns]; Entries", 500, 0., 100.); //Hit Time Plots if (fDoTimePlots) { @@ -618,9 +618,9 @@ void CbmRichMCbmQaReal::Exec(Option_t* /*option*/) fHM->H1("fhTrd2dDigisTimeLogZoom")->GetXaxis()->SetLimits(minTime, minTime + dTZoom1); fHM->H1("fhTrd2dDigisTimeLogZoom2")->GetXaxis()->SetLimits(minTime, minTime + dTZoom2); - fHM->H1("fhT0DigisTimeLog")->GetXaxis()->SetLimits(minTime, minTime + dT); - fHM->H1("fhT0DigisTimeLogZoom")->GetXaxis()->SetLimits(minTime, minTime + dTZoom1); - fHM->H1("fhT0DigisTimeLogZoom2")->GetXaxis()->SetLimits(minTime, minTime + dTZoom2); + fHM->H1("fhBmonDigisTimeLog")->GetXaxis()->SetLimits(minTime, minTime + dT); + fHM->H1("fhBmonDigisTimeLogZoom")->GetXaxis()->SetLimits(minTime, minTime + dTZoom1); + fHM->H1("fhBmonDigisTimeLogZoom2")->GetXaxis()->SetLimits(minTime, minTime + dTZoom2); fTSMinTime = tsStartTime; fDigiHitsInitialized = true; @@ -686,19 +686,19 @@ void CbmRichMCbmQaReal::Exec(Option_t* /*option*/) } { - Int_t nrT0Digis = 0; - if (fT0Digis) nrT0Digis = fT0Digis->size(); - //else if ( fT0DigiArr ) nrT0Digis = fT0DigiArr->GetEntriesFast(); - LOG(debug) << "T0Digis: " << nrT0Digis; - - for (Int_t iT0 = 0; iT0 < nrT0Digis; ++iT0) { - const CbmTofDigi* T0Digi = nullptr; - if (fT0Digis) T0Digi = &(fT0Digis->at(iT0)); - //else if ( fT0DigiArr ) T0Digi = dynamic_cast<const CbmTofDigi*>(fT0DigiArr->At(iT0)); - assert(T0Digi); - fHM->H1("fhT0DigisTimeLog")->Fill(T0Digi->GetTime() + TsTimeAfterStart); - fHM->H1("fhT0DigisTimeLogZoom")->Fill(T0Digi->GetTime() + TsTimeAfterStart); - fHM->H1("fhT0DigisTimeLogZoom2")->Fill(T0Digi->GetTime() + TsTimeAfterStart); + Int_t nrBmonDigis = 0; + if (fBmonDigis) nrBmonDigis = fBmonDigis->size(); + //else if ( fBmonDigiArr ) nrBmonDigis = fBmonDigiArr->GetEntriesFast(); + LOG(debug) << "BmonDigis: " << nrBmonDigis; + + for (Int_t iBmon = 0; iBmon < nrBmonDigis; ++iBmon) { + const CbmTofDigi* BmonDigi = nullptr; + if (fBmonDigis) BmonDigi = &(fBmonDigis->at(iBmon)); + //else if ( fBmonDigiArr ) BmonDigi = dynamic_cast<const CbmTofDigi*>(fBmonDigiArr->At(iBmon)); + assert(BmonDigi); + fHM->H1("fhBmonDigisTimeLog")->Fill(BmonDigi->GetTime() + TsTimeAfterStart); + fHM->H1("fhBmonDigisTimeLogZoom")->Fill(BmonDigi->GetTime() + TsTimeAfterStart); + fHM->H1("fhBmonDigisTimeLogZoom2")->Fill(BmonDigi->GetTime() + TsTimeAfterStart); } } } @@ -764,31 +764,31 @@ void CbmRichMCbmQaReal::Exec(Option_t* /*option*/) // unsigned int flagRich = 0; Double_t startTime = std::numeric_limits<Double_t>::max(); - fHM->H1("fhT0DigiMultiplicity")->Fill(ev->GetNofData(ECbmDataType::kT0Digi)); - //std::cout<<ev->GetNofData(ECbmDataType::kT0Digi)<<std::endl; - for (size_t j = 0; j < ev->GetNofData(ECbmDataType::kT0Digi); j++) { - auto iT0Digi = ev->GetIndex(ECbmDataType::kT0Digi, j); - const CbmTofDigi* T0Digi = nullptr; - if (fT0Digis) T0Digi = &(fT0Digis->at(iT0Digi)); - assert(T0Digi); - fHM->H1("fhT0DigiTimeEvent")->Fill(T0Digi->GetTime() - fCbmEventStartTime); + fHM->H1("fhBmonDigiMultiplicity")->Fill(ev->GetNofData(ECbmDataType::kBmonDigi)); + //std::cout<<ev->GetNofData(ECbmDataType::kBmonDigi)<<std::endl; + for (size_t j = 0; j < ev->GetNofData(ECbmDataType::kBmonDigi); j++) { + auto iBmonDigi = ev->GetIndex(ECbmDataType::kBmonDigi, j); + const CbmTofDigi* BmonDigi = nullptr; + if (fBmonDigis) BmonDigi = &(fBmonDigis->at(iBmonDigi)); + assert(BmonDigi); + fHM->H1("fhBmonDigiTimeEvent")->Fill(BmonDigi->GetTime() - fCbmEventStartTime); } - //std::cout<<"NofT0Digis in TS: "<< fT0Digis->size() <<std::endl; + //std::cout<<"NofBmonDigis in TS: "<< fBmonDigis->size() <<std::endl; Double_t minT0TimeDiff = std::numeric_limits<Double_t>::max(); //Double_t T0Time = std::numeric_limits<Double_t>::max(); - for (uint32_t j = 0; j < fT0Digis->size(); j++) { - const CbmTofDigi* T0Digi = nullptr; - if (fT0Digis) T0Digi = &(fT0Digis->at(j)); - assert(T0Digi); - Double_t timeDiffT0 = T0Digi->GetTime() - fCbmEventStartTime; - if (std::fabs(timeDiffT0) < std::fabs(minT0TimeDiff)) { - minT0TimeDiff = timeDiffT0; - //T0Time = T0Digi->GetTime(); + for (uint32_t j = 0; j < fBmonDigis->size(); j++) { + const CbmTofDigi* BmonDigi = nullptr; + if (fBmonDigis) BmonDigi = &(fBmonDigis->at(j)); + assert(BmonDigi); + Double_t timeDiffBmon = BmonDigi->GetTime() - fCbmEventStartTime; + if (std::fabs(timeDiffBmon) < std::fabs(minT0TimeDiff)) { + minT0TimeDiff = timeDiffBmon; + //T0Time = BmonDigi->GetTime(); } } - //std::cout<<"T0Digistime: "<< T0Time << " EventStartTime:" << fCbmEventStartTime <<" Time DIff: "<< minT0TimeDiff <<std::endl; - fHM->H1("fhT0DigiTime")->Fill(minT0TimeDiff); + //std::cout<<"BmonDigistime: "<< T0Time << " EventStartTime:" << fCbmEventStartTime <<" Time DIff: "<< minT0TimeDiff <<std::endl; + fHM->H1("fhBmonDigiTime")->Fill(minT0TimeDiff); Double_t meanRichHitTime = 0.; if (fDoTimePlots) { @@ -865,7 +865,7 @@ void CbmRichMCbmQaReal::Exec(Option_t* /*option*/) auto iTofHit = ev->GetIndex(ECbmDataType::kTofHit, k); CbmTofHit* tofHit = static_cast<CbmTofHit*>(fTofHits->At(iTofHit)); if (tofHit->GetTime() < startTime) { startTime = tofHit->GetTime(); /* flagRich = 0;*/ } - if (tofHit->GetZ() < 2.) continue; // Cut T0 away! + if (tofHit->GetZ() < 2.) continue; // Cut Bmon away! auto TofModulId = (tofHit->GetAddress() >> 4) & 0x3F; auto TofModulType = (tofHit->GetAddress() >> 11) & 0xF; @@ -1046,7 +1046,7 @@ void CbmRichMCbmQaReal::Exec(Option_t* /*option*/) for (size_t j = 0; j < ev->GetNofData(ECbmDataType::kTofHit); j++) { auto iTofHit = ev->GetIndex(ECbmDataType::kTofHit, j); CbmTofHit* tofHit = static_cast<CbmTofHit*>(fTofHits->At(iTofHit)); - if (tofHit->GetZ() < 2.) continue; // Cut T0 away! + if (tofHit->GetZ() < 2.) continue; // Cut Bmon away! fHM->H1("fhTofHitsZ")->Fill(tofHit->GetZ()); fHM->H2("fhTofHitsXZ")->Fill(tofHit->GetZ(), tofHit->GetX()); @@ -1132,7 +1132,7 @@ void CbmRichMCbmQaReal::Exec(Option_t* /*option*/) // if (fEventNum == 4) continue; // if (iTofHit > -1) continue; // const CbmTofHit* tofHit = static_cast<CbmTofHit*>(fTofHits->At(iTofHit)); - // if (tofHit->GetZ() < 2.) continue; // Cut T0 away! + // if (tofHit->GetZ() < 2.) continue; // Cut Bmon away! // fHM->H2("fhTofTrackHitRichHitX_oBetacuts_dtime")->Fill(richHit->GetX(), tofHit->GetX()); // fHM->H2("fhTofTrackHitRichHitY_oBetacuts_dtime")->Fill(richHit->GetY(), tofHit->GetY()); // } @@ -1489,17 +1489,17 @@ void CbmRichMCbmQaReal::DrawHist() TCanvas* c = fHM->CreateCanvas("rich_mcbm_richDigisTimeLog", "rich_mcbm_richDigisTimeLog", 1200, 1200); c->Divide(1, 2); c->cd(1); - DrawH1({fHM->H1("fhRichDigisTimeLog"), fHM->H1("fhTofDigisTimeLog"), fHM->H1("fhT0DigisTimeLog"), + DrawH1({fHM->H1("fhRichDigisTimeLog"), fHM->H1("fhTofDigisTimeLog"), fHM->H1("fhBmonDigisTimeLog"), fHM->H1("fhStsDigisTimeLog"), fHM->H1("fhTrd1dDigisTimeLog"), fHM->H1("fhTrd2dDigisTimeLog")}, - {"RICH", "TOF", "T0", "STS", "TRD", "TRD2D"}, kLinear, kLog, true, 0.87, 0.75, 0.99, 0.99); + {"RICH", "TOF", "Bmon", "STS", "TRD", "TRD2D"}, kLinear, kLog, true, 0.87, 0.75, 0.99, 0.99); gPad->SetLeftMargin(0.1); gPad->SetRightMargin(0.10); fHM->H1("fhStsDigisTimeLog")->GetYaxis()->SetTitleOffset(0.7); fHM->H1("fhStsDigisTimeLog")->SetMinimum(0.9); c->cd(2); - DrawH1({fHM->H1("fhRichDigisTimeLogZoom"), fHM->H1("fhTofDigisTimeLogZoom"), fHM->H1("fhT0DigisTimeLogZoom"), + DrawH1({fHM->H1("fhRichDigisTimeLogZoom"), fHM->H1("fhTofDigisTimeLogZoom"), fHM->H1("fhBmonDigisTimeLogZoom"), fHM->H1("fhStsDigisTimeLogZoom"), fHM->H1("fhTrd1dDigisTimeLogZoom"), fHM->H1("fhTrd2dDigisTimeLogZoom")}, - {"RICH", "TOF", "T0", "STS", "TRD", "TRD2D"}, kLinear, kLog, true, 0.87, 0.75, 0.99, 0.99); + {"RICH", "TOF", "Bmon", "STS", "TRD", "TRD2D"}, kLinear, kLog, true, 0.87, 0.75, 0.99, 0.99); gPad->SetLeftMargin(0.1); gPad->SetRightMargin(0.1); fHM->H1("fhStsDigisTimeLogZoom")->GetYaxis()->SetTitleOffset(0.7); @@ -1508,10 +1508,10 @@ void CbmRichMCbmQaReal::DrawHist() { fHM->CreateCanvas("rich_mcbm_richDigisTimeLog2", "rich_mcbm_richDigisTimeLog2", 1200, 600); - DrawH1({fHM->H1("fhRichDigisTimeLogZoom2"), fHM->H1("fhTofDigisTimeLogZoom2"), fHM->H1("fhT0DigisTimeLogZoom2"), + DrawH1({fHM->H1("fhRichDigisTimeLogZoom2"), fHM->H1("fhTofDigisTimeLogZoom2"), fHM->H1("fhBmonDigisTimeLogZoom2"), fHM->H1("fhStsDigisTimeLogZoom2"), fHM->H1("fhTrd1dDigisTimeLogZoom2"), fHM->H1("fhTrd2dDigisTimeLogZoom2")}, - {"RICH", "TOF", "T0", "STS", "TRD", "TRD2D"}, kLinear, kLog, true, 0.87, 0.75, 0.99, 0.99); + {"RICH", "TOF", "Bmon", "STS", "TRD", "TRD2D"}, kLinear, kLog, true, 0.87, 0.75, 0.99, 0.99); gPad->SetLeftMargin(0.1); gPad->SetRightMargin(0.1); fHM->H1("fhStsDigisTimeLogZoom2")->GetYaxis()->SetTitleOffset(0.7); @@ -1522,9 +1522,9 @@ void CbmRichMCbmQaReal::DrawHist() fHM->CreateCanvas("rich_mcbm_richDigisRingTimeLog", "rich_mcbm_richDigisRingTimeLog", 1200, 600); TH1D* copyRichDigi = (TH1D*) fHM->H1("fhRichDigisTimeLog")->Clone(); TH1D* copyRichRing = (TH1D*) fHM->H1("fhRichRingsTimeLog")->Clone(); - DrawH1({copyRichDigi, fHM->H1("fhTofDigisTimeLog"), fHM->H1("fhT0DigisTimeLog"), copyRichRing, + DrawH1({copyRichDigi, fHM->H1("fhTofDigisTimeLog"), fHM->H1("fhBmonDigisTimeLog"), copyRichRing, fHM->H1("fhStsDigisTimeLog"), fHM->H1("fhTrd1dDigisTimeLog"), fHM->H1("fhTrd2dDigisTimeLog")}, - {"RICH", "TOF", "T0", "RICH RING", "STS", "TRD", "TRD2D"}, kLinear, kLog, true, 0.83, 0.75, 0.99, 0.99); + {"RICH", "TOF", "Bmon", "RICH RING", "STS", "TRD", "TRD2D"}, kLinear, kLog, true, 0.83, 0.75, 0.99, 0.99); gPad->SetLeftMargin(0.1); gPad->SetRightMargin(0.1); copyRichDigi->GetYaxis()->SetTitleOffset(0.7); @@ -2211,15 +2211,15 @@ void CbmRichMCbmQaReal::DrawHist() } { - TCanvas* c = fHM->CreateCanvas("T0", "T0", 2400, 800); + TCanvas* c = fHM->CreateCanvas("Bmon", "Bmon", 2400, 800); //c->SetLogy(); c->Divide(3, 1); c->cd(1); - DrawH1(fHM->H1("fhT0DigiMultiplicity")); + DrawH1(fHM->H1("fhBmonDigiMultiplicity")); c->cd(2); - DrawH1(fHM->H1("fhT0DigiTime")); + DrawH1(fHM->H1("fhBmonDigiTime")); c->cd(3); - DrawH1(fHM->H1("fhT0DigiTimeEvent")); + DrawH1(fHM->H1("fhBmonDigiTimeEvent")); } } diff --git a/reco/detectors/rich/mcbm/CbmRichMCbmQaReal.h b/reco/detectors/rich/mcbm/CbmRichMCbmQaReal.h index 5c1aa9d1a375e7b32832a940726bc3bbfddd6ecf..aee62c5a5cfeb318be53d5d578d10fe3c96bccf2 100644 --- a/reco/detectors/rich/mcbm/CbmRichMCbmQaReal.h +++ b/reco/detectors/rich/mcbm/CbmRichMCbmQaReal.h @@ -142,8 +142,8 @@ public: private: CbmDigiManager* fDigiMan = nullptr; - //TClonesArray* fT0Digis; - const std::vector<CbmTofDigi>* fT0Digis = nullptr; + //TClonesArray* fBmonDigis; + const std::vector<CbmTofDigi>* fBmonDigis = nullptr; TClonesArray* fRichHits; diff --git a/reco/detectors/tof/CbmTofCalibrator.cxx b/reco/detectors/tof/CbmTofCalibrator.cxx index 54146e1a37aaae699d56cc20bf8babe65263ed53..2656b9fe49b7c6a34f01fd49384cc0348d84a8ab 100644 --- a/reco/detectors/tof/CbmTofCalibrator.cxx +++ b/reco/detectors/tof/CbmTofCalibrator.cxx @@ -256,7 +256,6 @@ Bool_t CbmTofCalibrator::CreateCalHist() Double_t TSumMax = 2.; //if(iSmType == 5) TSumMax *= 2.; // enlarge for diamond / beamcounter - fhCalTOff[iDetIndx] = new TH2F( Form("cal_SmT%01d_sm%03d_rpc%03d_TOff", iSmType, iSmId, iRpcId), Form("Clu T0 deviation of Rpc #%03d in Sm %03d of type %d; Strip []; TOff [ns]", iRpcId, iSmId, iSmType), diff --git a/reco/detectors/tof/CbmTofEventClusterizer.cxx b/reco/detectors/tof/CbmTofEventClusterizer.cxx index be5d21c4f377d4c9b73bb1bcba3ed116ec839fce..2536c3e4c6a203cb2bbbf1c438c7699c4847d4be 100644 --- a/reco/detectors/tof/CbmTofEventClusterizer.cxx +++ b/reco/detectors/tof/CbmTofEventClusterizer.cxx @@ -419,16 +419,16 @@ void CbmTofEventClusterizer::Exec(Option_t* option) LOG(info) << "New Ts " << iNbTs << ", size " << fEventsColl->GetSize() << " at " << fTsHeader->GetTsStartTime() << " with " << fEventsColl->GetEntriesFast() << " events, " << " Ev0 " << (int32_t) tEvent->GetNumber() << ", " << fDigiMan->GetNofDigis(ECbmModuleId::kTof) - << " TOF digis + " << fDigiMan->GetNofDigis(ECbmModuleId::kBmon) << " T0 digis "; + << " TOF digis + " << fDigiMan->GetNofDigis(ECbmModuleId::kBmon) << " Bmon digis "; } fTofDigiVec.clear(); //if (fTofDigisColl) fTofDigisColl->Clear("C"); //Int_t iNbDigis=0; (VF) not used - LOG(debug) << "TS event " << iEvent << " with " << tEvent->GetNofData(ECbmDataType::kT0Digi) << " Bmon and " + LOG(debug) << "TS event " << iEvent << " with " << tEvent->GetNofData(ECbmDataType::kBmonDigi) << " BMON and " << tEvent->GetNofData(ECbmDataType::kTofDigi) << " Tof digis "; - for (auto iDigi = 0; iDigi < (int) tEvent->GetNofData(ECbmDataType::kT0Digi); iDigi++) { - Int_t iDigiIndex = static_cast<Int_t>(tEvent->GetIndex(ECbmDataType::kT0Digi, iDigi)); + for (auto iDigi = 0; iDigi < (int) tEvent->GetNofData(ECbmDataType::kBmonDigi); iDigi++) { + Int_t iDigiIndex = static_cast<Int_t>(tEvent->GetIndex(ECbmDataType::kBmonDigi, iDigi)); CbmTofDigi tDigi(fDigiMan->Get<CbmBmonDigi>(iDigiIndex)); if (tDigi.GetType() != 5) { //LOG(fatal) << "Wrong T0 type " << tDigi.GetType() << ", Addr 0x" << std::hex << tDigi.GetAddress(); @@ -563,7 +563,7 @@ void CbmTofEventClusterizer::Exec(Option_t* option) } else { // MC /* - for (Int_t iDigi = 0; iDigi < fDigiMan->GetNofDigis(ECbmModuleId::kT0); iDigi++) { + for (Int_t iDigi = 0; iDigi < fDigiMan->GetNofDigis(ECbmModuleId::kBmon); iDigi++) { const CbmTofDigi* tDigi = fDigiMan->Get<CbmTofDigi>(iDigi); } */ @@ -689,12 +689,12 @@ Bool_t CbmTofEventClusterizer::RegisterInputs() return kFALSE; } if (fDigiMan->IsPresent(ECbmModuleId::kBmon)) { - LOG(info) << GetName() << ": separate T0 digi input!"; - //fT0DigiVec = fManager->InitObjectAs<std::vector<CbmTofDigi> const*>("TzdDigi"); + LOG(info) << GetName() << ": separate BMON digi input!"; + //fBmonDigiVec = fManager->InitObjectAs<std::vector<CbmTofDigi> const*>("TzdDigi"); } else { LOG(info) << "No separate BMON digi input found."; - } // if( ! fT0DigiVec ) + } // if( ! fBmonDigiVec ) fTrbHeader = (TTrbHeader*) fManager->GetObject("TofTrbHeader."); if (NULL == fTrbHeader) { @@ -2004,7 +2004,7 @@ Bool_t CbmTofEventClusterizer::CreateHistos() 1500, -750, 750, 1000, -500, 500); fhAllTrkMulPos = new TH2D("Clus_AllTrkMulPos", "Position of all clusters generating the cluster; X [cm]; Y [cm]", 1500, -750, 750, 1000, -500, 500); - fhMultiTrkProbPos = new TH2D("Clus_MultiTrkProbPos", + fhMultiTrkProbPos = new TH2D("Clus_MultiTrkProbPos", "Probability of having a cluster with multiple tracks as " "function of position; X [cm]; Y [cm]; Prob. [%]", 1500, -750, 750, 1000, -500, 500); diff --git a/reco/detectors/tof/CbmTofExtendTracks.cxx b/reco/detectors/tof/CbmTofExtendTracks.cxx index 4c30d873a81fbc42f7b4e3fcd3292378beb0abc5..810693da3ac2b901bc7a166ae33ce5f7df0efd39 100644 --- a/reco/detectors/tof/CbmTofExtendTracks.cxx +++ b/reco/detectors/tof/CbmTofExtendTracks.cxx @@ -584,7 +584,7 @@ void CbmTofExtendTracks::Exec(Option_t* opt) fiTS++; for (Int_t iEvent = 0; iEvent < fEventsColl->GetEntriesFast(); iEvent++) { CbmEvent* tEvent = dynamic_cast<CbmEvent*>(fEventsColl->At(iEvent)); - LOG(debug) << "Process TS event " << iEvent << " with " << tEvent->GetNofData(ECbmDataType::kT0Hit) << " T0, " + LOG(debug) << "Process TS event " << iEvent << " with " << tEvent->GetNofData(ECbmDataType::kBmonHit) << " T0, " << tEvent->GetNofData(ECbmDataType::kTofHit) << " TOF, " << tEvent->GetNofData(ECbmDataType::kStsHit) << " STS, " << tEvent->GetNofData(ECbmDataType::kMuchPixelHit) << " MUCH hits"; diff --git a/reco/detectors/tof/CbmTofHitMaker.cxx b/reco/detectors/tof/CbmTofHitMaker.cxx index d14bf4c6c1729721d434901ffa7b82505eb905ae..ce0dcdeee35d5f5e5f25c4b3c1f28e5ca67ef975 100644 --- a/reco/detectors/tof/CbmTofHitMaker.cxx +++ b/reco/detectors/tof/CbmTofHitMaker.cxx @@ -332,11 +332,11 @@ void CbmTofHitMaker::Exec(Option_t* option) fTofDigiVec.clear(); //if (fTofDigisColl) fTofDigisColl->Clear("C"); //Int_t iNbDigis=0; (VF) not used - LOG(debug) << "TS event " << iEvent << " with " << tEvent->GetNofData(ECbmDataType::kT0Digi) << " T0 and " + LOG(debug) << "TS event " << iEvent << " with " << tEvent->GetNofData(ECbmDataType::kBmonDigi) << " Bmon and " << tEvent->GetNofData(ECbmDataType::kTofDigi) << " Tof digis "; - for (size_t iDigi = 0; iDigi < tEvent->GetNofData(ECbmDataType::kT0Digi); iDigi++) { - Int_t iDigiIndex = static_cast<Int_t>(tEvent->GetIndex(ECbmDataType::kT0Digi, iDigi)); + for (size_t iDigi = 0; iDigi < tEvent->GetNofData(ECbmDataType::kBmonDigi); iDigi++) { + Int_t iDigiIndex = static_cast<Int_t>(tEvent->GetIndex(ECbmDataType::kBmonDigi, iDigi)); CbmTofDigi tDigi(fDigiMan->Get<CbmBmonDigi>(iDigiIndex)); if (tDigi.GetType() != 5) LOG(fatal) << "Wrong T0 type " << tDigi.GetType() << ", Addr 0x" << std::hex << tDigi.GetAddress(); @@ -477,9 +477,9 @@ Bool_t CbmTofHitMaker::RegisterInputs() LOG(error) << GetName() << ": No Tof digi input!"; return kFALSE; } - if (fDigiMan->IsPresent(ECbmModuleId::kBmon)) { LOG(info) << GetName() << ": found separate T0 digi input!"; } + if (fDigiMan->IsPresent(ECbmModuleId::kBmon)) { LOG(info) << GetName() << ": found separate Bmon digi input!"; } else { - LOG(info) << "No separate T0 digi input found."; + LOG(info) << "No separate Bmon digi input found."; } // if( ! fT0DigiVec ) fTrbHeader = (TTrbHeader*) fManager->GetObject("TofTrbHeader."); diff --git a/reco/detectors/trd/unpack/CbmTrdUnpackFaspAlgo.h b/reco/detectors/trd/unpack/CbmTrdUnpackFaspAlgo.h index bbabbe278bfcf8e5fdcfcb82b48079b98f5da986..007781bf304d27e07ac224d46f631c211ca74794 100644 --- a/reco/detectors/trd/unpack/CbmTrdUnpackFaspAlgo.h +++ b/reco/detectors/trd/unpack/CbmTrdUnpackFaspAlgo.h @@ -133,7 +133,7 @@ protected: /** @brief Time offset for digi wrt the TS start, expressed in 80 MHz clks. It contains: * - relative offset of the MS wrt the TS * - FASP epoch offset for current CROB - * - TRD2D system offset wrt to experiment time (e.g. T0) + * - TRD2D system offset wrt to experiment time (e.g. Bmon) */ ULong64_t fTime = 0; diff --git a/reco/eventbuilder/digis/CbmAlgoBuildRawEvents.cxx b/reco/eventbuilder/digis/CbmAlgoBuildRawEvents.cxx index 5366eb067de11bf37b8a33e304b181c309751a62..f0a7ca2eb11e21acea38ca38a199e0b85b5a9444 100644 --- a/reco/eventbuilder/digis/CbmAlgoBuildRawEvents.cxx +++ b/reco/eventbuilder/digis/CbmAlgoBuildRawEvents.cxx @@ -133,7 +133,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); - SetBmonEventTime(fCurrentEvent); + SetT0EventTime(fCurrentEvent); fEventVector.push_back(fCurrentEvent); fuCurEv++; @@ -355,7 +355,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); - SetBmonEventTime(fCurrentEvent); + SetT0EventTime(fCurrentEvent); fEventVector.push_back(fCurrentEvent); fuCurEv++; @@ -477,7 +477,7 @@ const CbmFsdDigi* CbmAlgoBuildRawEvents::GetDigi(UInt_t uDigi) template<> const CbmBmonDigi* CbmAlgoBuildRawEvents::GetDigi(UInt_t uDigi) { - return &((*fT0Digis)[uDigi]); + return &((*fBmonDigis)[uDigi]); } @@ -627,17 +627,17 @@ Bool_t CbmAlgoBuildRawEvents::HasTrigger(CbmEvent* event) return kTRUE; } -void CbmAlgoBuildRawEvents::SetBmonEventTime(CbmEvent* event) +void CbmAlgoBuildRawEvents::SetT0EventTime(CbmEvent* event) { - const int32_t iNbDigis = event->GetNofData(ECbmDataType::kT0Digi); + const int32_t iNbDigis = event->GetNofData(ECbmDataType::kBmonDigi); if (0 < iNbDigis) { - uint idx = event->GetIndex(ECbmDataType::kT0Digi, 0); + uint idx = event->GetIndex(ECbmDataType::kBmonDigi, 0); const CbmBmonDigi* pDigi = GetDigi<CbmBmonDigi>(idx); double eventTime = pDigi->GetTime(); for (int idigi = 1; idigi < iNbDigis; ++idigi) { - idx = event->GetIndex(ECbmDataType::kT0Digi, idigi); + idx = event->GetIndex(ECbmDataType::kBmonDigi, idigi); pDigi = GetDigi<CbmBmonDigi>(idx); if (nullptr == pDigi) continue; eventTime = std::min(pDigi->GetTime(), eventTime); @@ -854,7 +854,7 @@ bool CbmAlgoBuildRawEvents::CheckDataAvailable(ECbmModuleId detId) return fFsdDigis != nullptr; } case ECbmModuleId::kBmon: { - return fT0Digis != nullptr; + return fBmonDigis != nullptr; } default: { LOG(fatal) << "CbmAlgoBuildRawEvents::CheckDataAvailable => " @@ -893,7 +893,7 @@ UInt_t CbmAlgoBuildRawEvents::GetNofDigis(ECbmModuleId detId) return fFsdDigis->size(); } case ECbmModuleId::kBmon: { - return fT0Digis->size(); + return fBmonDigis->size(); } default: { LOG(fatal) << "CbmAlgoBuildRawEvents::GetNofDigis => " @@ -1261,7 +1261,7 @@ void CbmAlgoBuildRawEvents::FillHistos() double dTimeDiff = 1.E30; uint idx = evt->GetIndex(fvDets[uDetIdx].dataType, idigi); switch (fvDets[uDetIdx].dataType) { - case ECbmDataType::kT0Digi: { + case ECbmDataType::kBmonDigi: { auto pDigi = GetDigi<CbmBmonDigi>(idx); if (nullptr == pDigi) continue; dTimeDiff = pDigi->GetTime() - evt->GetStartTime(); @@ -1338,7 +1338,7 @@ void CbmAlgoBuildRawEvents::FillHistos() double dTimeDiff = 1.E30; uint idx = evt->GetIndex(fRefDet.dataType, idigi); switch (fRefDet.dataType) { - case ECbmDataType::kT0Digi: { + case ECbmDataType::kBmonDigi: { auto pDigi = GetDigi<CbmBmonDigi>(idx); if (nullptr == pDigi) continue; dTimeDiff = pDigi->GetTime() - evt->GetStartTime(); diff --git a/reco/eventbuilder/digis/CbmAlgoBuildRawEvents.h b/reco/eventbuilder/digis/CbmAlgoBuildRawEvents.h index 59b18342e8cdd16fb4e36b03532cc64afb2d59b5..9db01eb3cacbdee23810db65c2d1e9265576315c 100644 --- a/reco/eventbuilder/digis/CbmAlgoBuildRawEvents.h +++ b/reco/eventbuilder/digis/CbmAlgoBuildRawEvents.h @@ -117,7 +117,7 @@ static const RawEventBuilderDetector kRawEventBuilderDetPsd = static const RawEventBuilderDetector kRawEventBuilderDetFsd = RawEventBuilderDetector(ECbmModuleId::kFsd, ECbmDataType::kFsdDigi, "Fsd"); static const RawEventBuilderDetector kRawEventBuilderDetBmon = - RawEventBuilderDetector(ECbmModuleId::kBmon, ECbmDataType::kT0Digi, "Bmon"); + RawEventBuilderDetector(ECbmModuleId::kBmon, ECbmDataType::kBmonDigi, "Bmon"); static const RawEventBuilderDetector kRawEventBuilderDetUndef = RawEventBuilderDetector(); class CbmAlgoBuildRawEvents { @@ -198,7 +198,7 @@ public: std::vector<std::pair<TCanvas*, std::string>> GetCanvasVector() { return fvpAllCanvasPointers; } /// Set digi containers - void SetDigis(std::vector<CbmBmonDigi>* T0Digis) { fT0Digis = T0Digis; } + void SetDigis(std::vector<CbmBmonDigi>* BmonDigis) { fBmonDigis = BmonDigis; } void SetDigis(std::vector<CbmStsDigi>* StsDigis) { fStsDigis = StsDigis; } void SetDigis(std::vector<CbmMuchDigi>* MuchDigis) { @@ -257,7 +257,7 @@ private: void UpdateTimeWinBoundariesExtrema(); void UpdateWidestTimeWinRange(); - void SetBmonEventTime(CbmEvent* event); + void SetT0EventTime(CbmEvent* event); TFolder* outFolder; // oputput folder to store histograms @@ -296,7 +296,7 @@ private: /// Data input TClonesArray* fTimeSliceMetaDataArray = nullptr; //! - const std::vector<CbmBmonDigi>* fT0Digis = nullptr; + const std::vector<CbmBmonDigi>* fBmonDigis = 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/CbmBuildEventsIdeal.cxx b/reco/eventbuilder/digis/CbmBuildEventsIdeal.cxx index e0395f759c5dd696ce8d17b94731ae294355c748..932f4c944da12693af17e58651cbdabbda6e6a41 100644 --- a/reco/eventbuilder/digis/CbmBuildEventsIdeal.cxx +++ b/reco/eventbuilder/digis/CbmBuildEventsIdeal.cxx @@ -98,7 +98,7 @@ void CbmBuildEventsIdeal::Exec(Option_t*) case ECbmModuleId::kTof: digiType = ECbmDataType::kTofDigi; break; case ECbmModuleId::kPsd: digiType = ECbmDataType::kPsdDigi; break; case ECbmModuleId::kFsd: digiType = ECbmDataType::kFsdDigi; break; - case ECbmModuleId::kBmon: digiType = ECbmDataType::kT0Digi; break; + case ECbmModuleId::kBmon: digiType = ECbmDataType::kBmonDigi; break; default: break; } //? detector diff --git a/reco/eventbuilder/digis/CbmBuildEventsQa.cxx b/reco/eventbuilder/digis/CbmBuildEventsQa.cxx index eb519f69aeca771976d700efa082c295cabea47f..62b6fee117ed7f1151606191bbeb50d03bf86f83 100644 --- a/reco/eventbuilder/digis/CbmBuildEventsQa.cxx +++ b/reco/eventbuilder/digis/CbmBuildEventsQa.cxx @@ -462,7 +462,7 @@ void CbmBuildEventsQa::Finish() ECbmDataType CbmBuildEventsQa::GetDigiType(ECbmModuleId system) { switch (system) { - case ECbmModuleId::kBmon: return ECbmDataType::kT0Digi; + case ECbmModuleId::kBmon: return ECbmDataType::kBmonDigi; case ECbmModuleId::kMvd: return ECbmDataType::kMvdDigi; case ECbmModuleId::kSts: return ECbmDataType::kStsDigi; case ECbmModuleId::kRich: return ECbmDataType::kRichDigi; diff --git a/reco/eventbuilder/digis/CbmSeedFinderQa.cxx b/reco/eventbuilder/digis/CbmSeedFinderQa.cxx index e2a6ca41f5906622b5cb8c096170d7f997650e00..0302ba42d8fd284a3bc0b6444cb1e9f567c4c8d4 100644 --- a/reco/eventbuilder/digis/CbmSeedFinderQa.cxx +++ b/reco/eventbuilder/digis/CbmSeedFinderQa.cxx @@ -114,7 +114,7 @@ void CbmSeedFinderQa::FillQaSeedInfo(const int32_t WinStart, const int32_t WinEn const CbmMatch* digiMatch = &(vDigiMatch->at(iDigi)); digiCount++; if (digiMatch->GetNofLinks() == 0) { - //skip digis with no links to avoid T0 pollution + //skip digis with no links to avoid Bmon pollution noiseDigiCount++; continue; } @@ -161,7 +161,7 @@ void CbmSeedFinderQa::FillQaSeedInfo(const int32_t WinStart, const int32_t WinEn //correct digis in seed window for (int32_t iDigi = WinStart; iDigi <= WinEnd; iDigi++) { const CbmMatch* digiMatch = &(vDigiMatch->at(iDigi)); - if (digiMatch->GetNofLinks() == 0) { continue; } //skip digis with no links to avoid T0 pollution + if (digiMatch->GetNofLinks() == 0) { continue; } //skip digis with no links to avoid Bmon pollution const int32_t entry = digiMatch->GetMatchedLink().GetEntry(); if (entry != -1) // disregarding noise { @@ -177,7 +177,7 @@ void CbmSeedFinderQa::FillQaSeedInfo(const int32_t WinStart, const int32_t WinEn //found digis of matched event in seed window for (uint32_t iDigi = 0; iDigi < vDigiMatch->size(); iDigi++) { const CbmMatch* digiMatch = &(vDigiMatch->at(iDigi)); - if (digiMatch->GetNofLinks() == 0) { continue; } //skip digis with no links to avoid T0 pollution + if (digiMatch->GetNofLinks() == 0) { continue; } //skip digis with no links to avoid Bmon pollution const int matchedEvent = digiMatch->GetMatchedLink().GetEntry(); if (matchedEvent == seedMatch.GetMatchedLink().GetEntry()) { matchedEventDigiCount++; } } diff --git a/reco/eventbuilder/digis/CbmTaskBuildRawEvents.cxx b/reco/eventbuilder/digis/CbmTaskBuildRawEvents.cxx index a6976272347929b90400c662638378d5f54dcb9f..65ca582908a124ccb4574e2c5d794362c1e00659 100644 --- a/reco/eventbuilder/digis/CbmTaskBuildRawEvents.cxx +++ b/reco/eventbuilder/digis/CbmTaskBuildRawEvents.cxx @@ -132,7 +132,7 @@ InitStatus CbmTaskBuildRawEvents::Init() InitDigis(ECbmModuleId::kRich, &fRichDigis); InitDigis(ECbmModuleId::kPsd, &fPsdDigis); InitDigis(ECbmModuleId::kFsd, &fFsdDigis); - InitDigis(ECbmModuleId::kBmon, &fT0Digis); + InitDigis(ECbmModuleId::kBmon, &fBmonDigis); /// Register output (array of CbmEvent or vector of CbmDigiEvents) if (fbDigiEvtOut) { @@ -255,7 +255,7 @@ void CbmTaskBuildRawEvents::BuildEvents() ReadDigis(ECbmModuleId::kRich, fRichDigis); ReadDigis(ECbmModuleId::kPsd, fPsdDigis); ReadDigis(ECbmModuleId::kFsd, fFsdDigis); - ReadDigis(ECbmModuleId::kBmon, fT0Digis); + ReadDigis(ECbmModuleId::kBmon, fBmonDigis); //Fill seeds if (fSeedFinderSlidingWindow != nullptr) { FillSeedTimesFromSlidingWindow(); } @@ -368,7 +368,7 @@ void CbmTaskBuildRawEvents::FillSeedTimesFromSlidingWindow(const RawEventBuilder case ECbmModuleId::kRich: fSeedFinderSlidingWindow->FillSeedTimes(fRichDigis, fvDigiMatchQa); break; case ECbmModuleId::kPsd: fSeedFinderSlidingWindow->FillSeedTimes(fPsdDigis, fvDigiMatchQa); break; case ECbmModuleId::kFsd: fSeedFinderSlidingWindow->FillSeedTimes(fFsdDigis, fvDigiMatchQa); break; - case ECbmModuleId::kBmon: fSeedFinderSlidingWindow->FillSeedTimes(fT0Digis, fvDigiMatchQa); break; + case ECbmModuleId::kBmon: fSeedFinderSlidingWindow->FillSeedTimes(fBmonDigis, fvDigiMatchQa); break; default: break; } } @@ -387,7 +387,7 @@ Double_t CbmTaskBuildRawEvents::GetDigiTime(ECbmModuleId _system, UInt_t _entry) case ECbmModuleId::kRich: return (fRichDigis->at(_entry)).GetTime(); case ECbmModuleId::kPsd: return (fPsdDigis->at(_entry)).GetTime(); case ECbmModuleId::kFsd: return (fFsdDigis->at(_entry)).GetTime(); - case ECbmModuleId::kBmon: return (fT0Digis->at(_entry)).GetTime(); + case ECbmModuleId::kBmon: return (fBmonDigis->at(_entry)).GetTime(); default: break; } return -1; @@ -407,7 +407,7 @@ UInt_t CbmTaskBuildRawEvents::GetNofDigis(ECbmModuleId _system) case ECbmModuleId::kRich: return fRichDigis->size(); case ECbmModuleId::kPsd: return fPsdDigis->size(); case ECbmModuleId::kFsd: return fFsdDigis->size(); - case ECbmModuleId::kBmon: return fT0Digis->size(); + case ECbmModuleId::kBmon: return fBmonDigis->size(); default: break; } return 0; @@ -559,13 +559,14 @@ void CbmTaskBuildRawEvents::ExtractSelectedData(std::vector<CbmEvent*> vEvents) /// for each detector, find the data in the Digi vectors and copy them /// TODO: Template + loop on list of data types? - /// ==> T0 - uint32_t uNbDigis = (0 < event->GetNofData(ECbmDataType::kT0Digi) ? event->GetNofData(ECbmDataType::kT0Digi) : 0); + /// ==> Bmon + uint32_t uNbDigis = + (0 < event->GetNofData(ECbmDataType::kBmonDigi) ? event->GetNofData(ECbmDataType::kBmonDigi) : 0); if (0 < uNbDigis) { - auto startIt = fT0Digis->begin() + event->GetIndex(ECbmDataType::kT0Digi, 0); - auto stopIt = fT0Digis->begin() + event->GetIndex(ECbmDataType::kT0Digi, uNbDigis - 1); + auto startIt = fBmonDigis->begin() + event->GetIndex(ECbmDataType::kBmonDigi, 0); + auto stopIt = fBmonDigis->begin() + event->GetIndex(ECbmDataType::kBmonDigi, uNbDigis - 1); ++stopIt; - selEvent.fData.fT0.fDigis.assign(startIt, stopIt); + selEvent.fData.fBmon.fDigis.assign(startIt, stopIt); } /// ==> STS diff --git a/reco/eventbuilder/digis/CbmTaskBuildRawEvents.h b/reco/eventbuilder/digis/CbmTaskBuildRawEvents.h index 21a2dbb6ad750909a8904da859af58408b8f3fa1..00d6d79a2cef6bc419efef8ed68e5ed80cb10bdd 100644 --- a/reco/eventbuilder/digis/CbmTaskBuildRawEvents.h +++ b/reco/eventbuilder/digis/CbmTaskBuildRawEvents.h @@ -162,7 +162,7 @@ private: std::vector<CbmRichDigi>* fRichDigis = nullptr; std::vector<CbmPsdDigi>* fPsdDigis = nullptr; std::vector<CbmFsdDigi>* fFsdDigis = nullptr; - std::vector<CbmBmonDigi>* fT0Digis = nullptr; + std::vector<CbmBmonDigi>* fBmonDigis = nullptr; std::vector<Double_t>* fSeedTimes = nullptr; /** Create digi vector and pass to algo **/ diff --git a/reco/global/CMakeLists.txt b/reco/global/CMakeLists.txt index 8fbe9646b7ace5e23d2c095cbfd4ba22d1486ead..7f01a5c6827f69f4a86108619865648bd0b7bd1c 100644 --- a/reco/global/CMakeLists.txt +++ b/reco/global/CMakeLists.txt @@ -18,7 +18,7 @@ set(SRCS CbmGlobalTrackFitterIdeal.cxx CbmPVFinderIdeal.cxx CbmTrackMergerIdeal.cxx - CbmRecoBmon.cxx + CbmRecoT0.cxx #CbmTofMergerIdeal.cxx ) diff --git a/reco/global/CbmGlobalLinkDef.h b/reco/global/CbmGlobalLinkDef.h index 886564f0b1c9ea6c228ee8b38e5033be404668e9..53ea77af5c40ca097af840276b103039ec43a397 100644 --- a/reco/global/CbmGlobalLinkDef.h +++ b/reco/global/CbmGlobalLinkDef.h @@ -19,7 +19,7 @@ #pragma link C++ class CbmGlobalTrackFitterIdeal + ; #pragma link C++ class CbmPVFinderIdeal + ; #pragma link C++ class CbmTrackMergerIdeal + ; -#pragma link C++ class CbmRecoBmon + ; +#pragma link C++ class CbmRecoT0 + ; //#pragma link C++ class CbmTofMergerIdeal+; diff --git a/reco/global/CbmRecoBmon.cxx b/reco/global/CbmRecoT0.cxx similarity index 87% rename from reco/global/CbmRecoBmon.cxx rename to reco/global/CbmRecoT0.cxx index 37077787c00c5a4c74d7be9553ce0f3c935693f9..dd603697b14aea7114a70fec13f7dabaab9530b6 100644 --- a/reco/global/CbmRecoBmon.cxx +++ b/reco/global/CbmRecoT0.cxx @@ -1,9 +1,9 @@ -/* Copyright (C) 2022 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt +/* Copyright (C) 2022-2023 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt SPDX-License-Identifier: GPL-3.0-only Authors: Volker Friese [committer] */ -#include "CbmRecoBmon.h" +#include "CbmRecoT0.h" #include "CbmBmonDigi.h" #include "CbmEvent.h" @@ -27,17 +27,17 @@ using std::setw; // ----- Constructor --------------------------------------------------- -CbmRecoBmon::CbmRecoBmon(const char* name) : FairTask(name) {} +CbmRecoT0::CbmRecoT0(const char* name) : FairTask(name) {} // ------------------------------------------------------------------------- // ----- Destructor ---------------------------------------------------- -CbmRecoBmon::~CbmRecoBmon() {} +CbmRecoT0::~CbmRecoT0() {} // ------------------------------------------------------------------------- // ----- Initialization ------------------------------------------------ -InitStatus CbmRecoBmon::Init() +InitStatus CbmRecoT0::Init() { std::cout << std::endl; @@ -49,8 +49,8 @@ InitStatus CbmRecoBmon::Init() assert(ioman); // --- Get BmonDigi array - fT0Digis = ioman->InitObjectAs<const std::vector<CbmBmonDigi>*>("T0Digi"); - if (!fT0Digis) { + fBmonDigis = ioman->InitObjectAs<const std::vector<CbmBmonDigi>*>(CbmBmonDigi::GetBranchName()); + if (!fBmonDigis) { LOG(error) << GetName() << ": No BmonDigi array!"; return kERROR; } @@ -77,20 +77,20 @@ InitStatus CbmRecoBmon::Init() // ----- Public method Exec -------------------------------------------- -void CbmRecoBmon::Exec(Option_t*) +void CbmRecoT0::Exec(Option_t*) { // Timer TStopwatch timer; timer.Start(); - CbmRecoBmonMoniData tsMonitor {}; + CbmRecoT0MoniData tsMonitor {}; // Event loop Int_t nEvents = fEvents->GetEntriesFast(); for (Int_t iEvent = 0; iEvent < nEvents; iEvent++) { CbmEvent* event = dynamic_cast<CbmEvent*>(fEvents->At(iEvent)); assert(event); - Int_t nDigis = event->GetNofData(ECbmDataType::kT0Digi); + Int_t nDigis = event->GetNofData(ECbmDataType::kBmonDigi); double tzero = -999999.; switch (nDigis) { @@ -103,8 +103,8 @@ void CbmRecoBmon::Exec(Option_t*) // If there is exactly one BMON digi, take the event time from there case 1: { - uint32_t digiIndex = event->GetIndex(ECbmDataType::kT0Digi, 0); - tzero = fT0Digis->at(digiIndex).GetTime(); + uint32_t digiIndex = event->GetIndex(ECbmDataType::kBmonDigi, 0); + tzero = fBmonDigis->at(digiIndex).GetTime(); tsMonitor.fNumEvtsBmon1++; break; } @@ -142,7 +142,7 @@ void CbmRecoBmon::Exec(Option_t*) // ----- Public method Finish ------------------------------------------ -void CbmRecoBmon::Finish() +void CbmRecoT0::Finish() { double tExec = fMonitor.fExecTime / double(fMonitor.fNumTs); double evtsPerTs = double(fMonitor.fNumEvents) / double(fMonitor.fNumTs); @@ -163,4 +163,4 @@ void CbmRecoBmon::Finish() // ------------------------------------------------------------------------- -ClassImp(CbmRecoBmon) +ClassImp(CbmRecoT0) diff --git a/reco/global/CbmRecoBmon.h b/reco/global/CbmRecoT0.h similarity index 73% rename from reco/global/CbmRecoBmon.h rename to reco/global/CbmRecoT0.h index 421b3921e36b30529da998934b73f83c70dbd372..f4aa914a3fc03155147d29d77a2e24e9900f2372 100644 --- a/reco/global/CbmRecoBmon.h +++ b/reco/global/CbmRecoT0.h @@ -15,12 +15,12 @@ class TClonesArray; -/** @struct CbmRecoBmonMoniData - ** @brief Monitor data for T0 reconstruction +/** @struct CbmRecoT0MoniData + ** @brief Monitor data for Bmon reconstruction ** @author Volker Friese <v.friese@gsi.de> ** @since 10.11.2022 **/ -struct CbmRecoBmonMoniData { +struct CbmRecoT0MoniData { size_t fNumTs = 0; size_t fNumEvents = 0; size_t fNumEvtsBmon0 = 0; @@ -28,7 +28,7 @@ struct CbmRecoBmonMoniData { size_t fNumEvtsBmonn = 0; double fExecTime = 0.; - CbmRecoBmonMoniData& operator+=(const CbmRecoBmonMoniData& other) + CbmRecoT0MoniData& operator+=(const CbmRecoT0MoniData& other) { fNumTs += other.fNumTs; fNumEvents += other.fNumEvents; @@ -40,7 +40,7 @@ struct CbmRecoBmonMoniData { } }; -/** @class CbmRecoBmon +/** @class CbmRecoT0 ** @brief Task class for reconstruction of the event t0 ** @author Volker Friese <v.friese@gsi.de> ** @since 10.11.2022 @@ -48,7 +48,7 @@ struct CbmRecoBmonMoniData { ** The current implementation reads the t0 information from the TdzDigi object. t0 is set to -1. if ** no such object is in the event, and to -2. if there are several. **/ -class CbmRecoBmon : public FairTask { +class CbmRecoT0 : public FairTask { public: /** @brief Constructor @@ -56,11 +56,11 @@ public: ** @param name Name of task ** @param title Title of task **/ - CbmRecoBmon(const char* name = "RecoBmon"); + CbmRecoT0(const char* name = "RecoBmon"); /** @brief Destructor **/ - virtual ~CbmRecoBmon(); + virtual ~CbmRecoT0(); /** @brief Initialisation **/ @@ -77,14 +77,14 @@ public: private: // --- Data - const std::vector<CbmBmonDigi>* fT0Digis = nullptr; ///< BMON digis - TClonesArray* fEvents = nullptr; ///< CbmEvent + const std::vector<CbmBmonDigi>* fBmonDigis = nullptr; ///< BMON digis + TClonesArray* fEvents = nullptr; ///< CbmEvent // --- Monitor - CbmRecoBmonMoniData fMonitor = {}; ///< Monitor data + CbmRecoT0MoniData fMonitor = {}; ///< Monitor data - ClassDef(CbmRecoBmon, 1); + ClassDef(CbmRecoT0, 1); }; #endif diff --git a/reco/mq/CbmDevBuildEvents.cxx b/reco/mq/CbmDevBuildEvents.cxx index 7ae4ba650d3a8d79d7e3b80d085fd22a606012aa..94f8ed16898887a1492eb006b4e9af87f1122546 100644 --- a/reco/mq/CbmDevBuildEvents.cxx +++ b/reco/mq/CbmDevBuildEvents.cxx @@ -211,7 +211,7 @@ bool CbmDevBuildEvents::HandleData(FairMQParts& parts, int /*index*/) //fpAlgo->SetTsParameters(0, fTsMetaDataOut->GetDuration(), fTsMetaDataOut->GetOverlapDuration()); //} - LOG(debug) << "T0 Vector size: " << ts.fData.fT0.fDigis.size(); + LOG(debug) << "Bmon Vector size: " << ts.fData.fBmon.fDigis.size(); LOG(debug) << "STS Vector size: " << ts.fData.fSts.fDigis.size(); LOG(debug) << "MUCH Vector size: " << ts.fData.fMuch.fDigis.size(); LOG(debug) << "TRD Vector size: " << ts.fData.fTrd.fDigis.size(); diff --git a/reco/mq/CbmDevTrigger.cxx b/reco/mq/CbmDevTrigger.cxx index e2b00ffa3f5e7c3aeb16729da9c7a32e42b5de84..8af405350ab323db867da6d4fbfd7b011b10ef1b 100644 --- a/reco/mq/CbmDevTrigger.cxx +++ b/reco/mq/CbmDevTrigger.cxx @@ -97,7 +97,7 @@ bool CbmDevTrigger::HandleData(FairMQParts& parts, int /*index*/) boost::archive::binary_iarchive inputArchiveTS(issTS); inputArchiveTS >> ts; - LOG(debug) << "T0 Vector size: " << ts.fData.fT0.fDigis.size(); + LOG(debug) << "Bmon Vector size: " << ts.fData.fBmon.fDigis.size(); LOG(debug) << "STS Vector size: " << ts.fData.fSts.fDigis.size(); LOG(debug) << "MUCH Vector size: " << ts.fData.fMuch.fDigis.size(); LOG(debug) << "TRD Vector size: " << ts.fData.fTrd.fDigis.size(); diff --git a/reco/offline/steer/Run.cxx b/reco/offline/steer/Run.cxx index f23b09cc3c44c828d9b52662e73ca5a2f6332687..94d12c10bd808b7c2cf994656c5934f1e14affa1 100644 --- a/reco/offline/steer/Run.cxx +++ b/reco/offline/steer/Run.cxx @@ -126,7 +126,7 @@ namespace cbm::reco::offline fact.RegisterGlobalTracking(); // Global tracking fact.RegisterTrdPid(); // PID in TRD fact.RegisterRichReco(); // Local RICH reconstruction - fact.RegisterBmonReco(); // Reconstruction of T0 from BMON + fact.RegisterBmonReco(); // Reconstruction of Bmon from BMON } // --- Mode not defined diff --git a/reco/offline/steer/TaskFactory.cxx b/reco/offline/steer/TaskFactory.cxx index 8ca1560a188193cb1faaf474e6a0f6e314e67003..09916f94db88d290476376fa742e6c7fa0d995e9 100644 --- a/reco/offline/steer/TaskFactory.cxx +++ b/reco/offline/steer/TaskFactory.cxx @@ -22,8 +22,8 @@ #include "CbmMvdClusterfinder.h" #include "CbmMvdHitfinder.h" #include "CbmPVFinderKF.h" -#include "CbmRecoBmon.h" #include "CbmRecoSts.h" +#include "CbmRecoT0.h" #include "CbmRichHitProducer.h" #include "CbmRichReconstruction.h" #include "CbmSetup.h" @@ -325,7 +325,7 @@ namespace cbm::reco::offline void TaskFactory::RegisterBmonReco() { assert(fRun); - CbmRecoBmon* recoBmon = new CbmRecoBmon(); + CbmRecoT0* recoBmon = new CbmRecoT0(); fRun->AddTask(recoBmon); } // -------------------------------------------------------------------------- diff --git a/reco/offline/steer/TaskFactory.h b/reco/offline/steer/TaskFactory.h index 4dd3f1564b33f0ca631aa9292d28847a388a2437..5d80e35b26ddf23b7b3adcbfe8c17bd7444a9e69 100644 --- a/reco/offline/steer/TaskFactory.h +++ b/reco/offline/steer/TaskFactory.h @@ -42,7 +42,7 @@ namespace cbm::reco::offline void RegisterTrackEventBuilder(); /// Event building from tracks void RegisterTrdReco(); /// Local reconstruction for TRD void RegisterTrdPid(); /// PID with TRD - void RegisterBmonReco(); /// Reconstruction of T0 + void RegisterBmonReco(); /// Reconstruction of Bmon private: //members Run* fRun = nullptr; diff --git a/reco/tasks/CbmTaskBuildEvents.cxx b/reco/tasks/CbmTaskBuildEvents.cxx index 89928c7aacdda926c089722171e5556b100f6d86..37d805f735b4d42d75aea52c3ad638fcc6f8a8ef 100644 --- a/reco/tasks/CbmTaskBuildEvents.cxx +++ b/reco/tasks/CbmTaskBuildEvents.cxx @@ -231,7 +231,7 @@ size_t CbmTaskBuildEvents::GetNumDigis(const CbmDigiData& data, ECbmModuleId sys case ECbmModuleId::kTrd2d: result = data.fTrd2d.fDigis.size(); break; case ECbmModuleId::kTof: result = data.fTof.fDigis.size(); break; case ECbmModuleId::kPsd: result = data.fPsd.fDigis.size(); break; - case ECbmModuleId::kBmon: result = data.fT0.fDigis.size(); break; + case ECbmModuleId::kBmon: result = data.fBmon.fDigis.size(); break; default: result = 0; break; } return result; diff --git a/reco/tasks/CbmTaskMakeRecoEvents.cxx b/reco/tasks/CbmTaskMakeRecoEvents.cxx index 17a183b3231f8d1ccfd25103370327aa8b09d698..980398d6c1016b2d95515a59cf2d579b5b44db55 100644 --- a/reco/tasks/CbmTaskMakeRecoEvents.cxx +++ b/reco/tasks/CbmTaskMakeRecoEvents.cxx @@ -45,7 +45,7 @@ void CbmTaskMakeRecoEvents::Exec(Option_t*) if (!fDigiEvents) return; // --- Clear output arrays - fT0Digis->clear(); + fBmonDigis->clear(); fStsDigis->clear(); fRichDigis->clear(); fMuchDigis->clear(); @@ -64,7 +64,7 @@ void CbmTaskMakeRecoEvents::Exec(Option_t*) CbmEvent* recoEvent = new ((*fRecoEvents)[eventNr]) CbmEvent(eventNr); // --- Copy Bmon digis - FillTree<CbmBmonDigi>(digiEvent.fData.fT0.fDigis, fT0Digis, recoEvent, ECbmDataType::kT0Digi); + FillTree<CbmBmonDigi>(digiEvent.fData.fBmon.fDigis, fBmonDigis, recoEvent, ECbmDataType::kBmonDigi); // --- Copy STS digis FillTree<CbmStsDigi>(digiEvent.fData.fSts.fDigis, fStsDigis, recoEvent, ECbmDataType::kStsDigi); @@ -92,7 +92,7 @@ void CbmTaskMakeRecoEvents::Exec(Option_t*) stringstream logOut; logOut << setw(20) << left << GetName() << " ["; logOut << fixed << setw(8) << setprecision(1) << right << timer.RealTime() * 1000. << " ms] "; - logOut << "TS " << fNumTs << ", events " << fDigiEvents->size() << ", Digis: Bmon " << fT0Digis->size() << " STS " + logOut << "TS " << fNumTs << ", events " << fDigiEvents->size() << ", Digis: Bmon " << fBmonDigis->size() << " STS " << fStsDigis->size() << " RICH " << fRichDigis->size() << " MUCH " << fMuchDigis->size() << " TRD " << fTrdDigis->size() << " TOF " << fTofDigis->size() << " PSD " << fPsdDigis->size(); LOG(info) << logOut.str(); @@ -150,8 +150,8 @@ InitStatus CbmTaskMakeRecoEvents::Init() } // --- Bmon digis - fT0Digis = new std::vector<CbmBmonDigi>; - frm->RegisterAny("T0Digi", fT0Digis, kFALSE); + fBmonDigis = new std::vector<CbmBmonDigi>; + frm->RegisterAny("BmonDigi", fBmonDigis, kFALSE); // --- STS digis fStsDigis = new std::vector<CbmStsDigi>; diff --git a/reco/tasks/CbmTaskMakeRecoEvents.h b/reco/tasks/CbmTaskMakeRecoEvents.h index 70e5433f3d5e84831e76607336226b4fd5108fa1..f27c869518074204c3686c042aed3bc83c2247cc 100644 --- a/reco/tasks/CbmTaskMakeRecoEvents.h +++ b/reco/tasks/CbmTaskMakeRecoEvents.h @@ -93,7 +93,7 @@ private: // methods private: // members const std::vector<CbmDigiEvent>* fDigiEvents = nullptr; TClonesArray* fRecoEvents = nullptr; - std::vector<CbmBmonDigi>* fT0Digis = nullptr; + std::vector<CbmBmonDigi>* fBmonDigis = nullptr; std::vector<CbmStsDigi>* fStsDigis = nullptr; std::vector<CbmRichDigi>* fRichDigis = nullptr; std::vector<CbmMuchDigi>* fMuchDigis = nullptr; diff --git a/reco/tasks/CbmTaskTofClusterizer.cxx b/reco/tasks/CbmTaskTofClusterizer.cxx index 1c323ec22934cad09069393ac7ce290631215e21..ceb8b33eff3921ccdd79c58b1cc5c22ac4bced04 100644 --- a/reco/tasks/CbmTaskTofClusterizer.cxx +++ b/reco/tasks/CbmTaskTofClusterizer.cxx @@ -74,7 +74,7 @@ void CbmTaskTofClusterizer::Exec(Option_t* option) if (NULL != fTsHeader) LOG(info) << "New Ts " << iNbTs << ", size " << fEventsColl->GetSize() << " at " << fTsHeader->GetTsStartTime() << " with " << fEventsColl->GetEntriesFast() << " events, " << fDigiMan->GetNofDigis(ECbmModuleId::kTof) - << " TOF digis + " << fDigiMan->GetNofDigis(ECbmModuleId::kBmon) << " T0 digis "; + << " TOF digis + " << fDigiMan->GetNofDigis(ECbmModuleId::kBmon) << " Bmon digis "; TStopwatch timerTs; timerTs.Start(); @@ -89,11 +89,11 @@ void CbmTaskTofClusterizer::Exec(Option_t* option) for (int32_t iEvent = 0; iEvent < fEventsColl->GetEntriesFast(); iEvent++) { CbmEvent* tEvent = dynamic_cast<CbmEvent*>(fEventsColl->At(iEvent)); fTofDigiVec.clear(); - LOG(debug) << "TS event " << iEvent << " with " << tEvent->GetNofData(ECbmDataType::kT0Digi) << " T0 and " + LOG(debug) << "TS event " << iEvent << " with " << tEvent->GetNofData(ECbmDataType::kBmonDigi) << " Bmon and " << tEvent->GetNofData(ECbmDataType::kTofDigi) << " Tof digis "; - for (int32_t iDigi = 0; iDigi < tEvent->GetNofData(ECbmDataType::kT0Digi); iDigi++) { - int32_t iDigiIndex = static_cast<int32_t>(tEvent->GetIndex(ECbmDataType::kT0Digi, iDigi)); + for (int32_t iDigi = 0; iDigi < tEvent->GetNofData(ECbmDataType::kBmonDigi); iDigi++) { + int32_t iDigiIndex = static_cast<int32_t>(tEvent->GetIndex(ECbmDataType::kBmonDigi, iDigi)); CbmTofDigi tDigi(fDigiMan->Get<CbmBmonDigi>(iDigiIndex)); if (tDigi.GetType() != 5) { tDigi.SetAddress(0, 0, 0, 0, 5); // convert to Tof Address @@ -155,7 +155,7 @@ void CbmTaskTofClusterizer::Exec(Option_t* option) LOG(debug) << GetName() << "::Exec: real time=" << timerTs.RealTime() << " CPU time=" << timerTs.CpuTime(); fProcessTime += timerTs.RealTime(); fuNbDigis += fDigiMan->GetNofDigis(ECbmModuleId::kTof) // TOF - + fDigiMan->GetNofDigis(ECbmModuleId::kBmon); // T0 + + fDigiMan->GetNofDigis(ECbmModuleId::kBmon); // Bmon fuNbHits += fiHitStart; std::stringstream logOut; @@ -175,11 +175,11 @@ void CbmTaskTofClusterizer::Exec(Option_t* option) // also the internal data representations are changed to std::vectors. fTofDigiVec.clear(); - if (NULL != fT0DigiVec) { // 2022 data - for (int32_t iDigi = 0; iDigi < (int) (fT0DigiVec->size()); iDigi++) { - CbmTofDigi tDigi = fT0DigiVec->at(iDigi); + if (NULL != fBmonDigiVec) { // 2022 data + for (int32_t iDigi = 0; iDigi < (int) (fBmonDigiVec->size()); iDigi++) { + CbmTofDigi tDigi = fBmonDigiVec->at(iDigi); if (tDigi.GetType() != 5) - LOG(fatal) << "Wrong T0 type " << tDigi.GetType() << ", Addr 0x" << std::hex << tDigi.GetAddress(); + LOG(fatal) << "Wrong Bmon type " << tDigi.GetType() << ", Addr 0x" << std::hex << tDigi.GetAddress(); if (tDigi.GetSide() == 1) { // HACK for May22 setup tDigi.SetAddress(tDigi.GetSm(), tDigi.GetRpc(), tDigi.GetChannel() + 6, 0, tDigi.GetType()); } @@ -260,12 +260,12 @@ bool CbmTaskTofClusterizer::RegisterInputs() return false; } if (fDigiMan->IsPresent(ECbmModuleId::kBmon)) { - LOG(info) << GetName() << ": separate T0 digi input!"; - //fT0DigiVec = fManager->InitObjectAs<std::vector<CbmTofDigi> const*>("TzdDigi"); + LOG(info) << GetName() << ": separate Bmon digi input!"; + //fBmonDigiVec = fManager->InitObjectAs<std::vector<CbmTofDigi> const*>("TzdDigi"); } else { - LOG(info) << "No separate T0 digi input found."; - } // if( ! fT0DigiVec ) + LOG(info) << "No separate Bmon digi input found."; + } // if( ! fBmonDigiVec ) fTsHeader = fManager->InitObjectAs<CbmTsEventHeader const*>("EventHeader."); //for data if (NULL == fTsHeader) { LOG(info) << "CbmTaskTofClusterizer::RegisterInputs => Could not get TsHeader Object"; } diff --git a/reco/tasks/CbmTaskTofClusterizer.h b/reco/tasks/CbmTaskTofClusterizer.h index 049daf203a8a369142bb9865ef417cb00de086f0..549b3bd110de8e29c24f1f6b37128eb8953d3492 100644 --- a/reco/tasks/CbmTaskTofClusterizer.h +++ b/reco/tasks/CbmTaskTofClusterizer.h @@ -96,7 +96,7 @@ private: int fiHitStart = 0; bool bAddBeamCounterSideDigi = true; - std::vector<CbmTofDigi>* fT0DigiVec = nullptr; //! T0 Digis + std::vector<CbmTofDigi>* fBmonDigiVec = nullptr; //! Bmon Digis /** ** @brief Copy constructor. diff --git a/reco/tasks/CbmTaskTriggerDigi.cxx b/reco/tasks/CbmTaskTriggerDigi.cxx index bb10a77761af0751004662a5b7b993c865e7b751..355fb85745c7e23bcb252d0f65303f2d50b2adfb 100644 --- a/reco/tasks/CbmTaskTriggerDigi.cxx +++ b/reco/tasks/CbmTaskTriggerDigi.cxx @@ -177,9 +177,9 @@ std::vector<double> CbmTaskTriggerDigi::GetDigiTimes(ECbmModuleId system) break; } case ECbmModuleId::kBmon: { - result.resize(fTimeslice->fData.fT0.fDigis.size()); - auto it1 = fTimeslice->fData.fT0.fDigis.begin(); - auto it2 = fTimeslice->fData.fT0.fDigis.end(); + result.resize(fTimeslice->fData.fBmon.fDigis.size()); + auto it1 = fTimeslice->fData.fBmon.fDigis.begin(); + auto it2 = fTimeslice->fData.fBmon.fDigis.end(); std::transform(it1, it2, result.begin(), [](const CbmTofDigi& digi) { return digi.GetTime(); }); break; } diff --git a/sim/detectors/trd/CbmTrdDigitizer.cxx b/sim/detectors/trd/CbmTrdDigitizer.cxx index 023069fa2dc8a17bdd6f3edc496d081bbf9165fb..af9f1b4e812e372198f50449137448b343facd88 100644 --- a/sim/detectors/trd/CbmTrdDigitizer.cxx +++ b/sim/detectors/trd/CbmTrdDigitizer.cxx @@ -321,7 +321,7 @@ CbmTrdModuleSim* CbmTrdDigitizer::AddModule(Int_t detId) else SetUseFASP(); module = fModuleMap[moduleAddress] = new CbmTrdModuleSim2D(moduleAddress, lyId, orientation, UseFASP()); - // AB :: calibration wrt the Tof detector as the T0 simulation is still in development (14.07.2022) + // AB :: calibration wrt the Tof detector as the Bmon simulation is still in development (14.07.2022) module->SetTimeSysOffset(-400); Int_t rType(-1); if ((rType = geoHandler.GetRadiatorType(path)) >= 0) { diff --git a/sim/detectors/trd/CbmTrdModuleSim.h b/sim/detectors/trd/CbmTrdModuleSim.h index 777cae79e6f8d2ef775197c6bc88400a50339e3b..14a5f8ca55efce50580444611686e265a6222d59 100644 --- a/sim/detectors/trd/CbmTrdModuleSim.h +++ b/sim/detectors/trd/CbmTrdModuleSim.h @@ -93,7 +93,7 @@ protected: Int_t fPointId; ///< MC point id being processed Int_t fEventId; ///< MC event id being processed Int_t fInputId; ///< MC input file number - Int_t fTimeSysOffset = 0; ///< Time offset of TRD digis to align them with other detectors (T0, ToF) + Int_t fTimeSysOffset = 0; ///< Time offset of TRD digis to align them with other detectors (Bmon, ToF) Double_t fXYZ[3]; ///< MC position of the point in module coordinates CbmTrdDigitizer* fDigitizer; //! Pointer to digitizer