diff --git a/fles/mcbm2018/tasks/CbmMcbm2019TimeWinEventBuilderAlgo.cxx b/fles/mcbm2018/tasks/CbmMcbm2019TimeWinEventBuilderAlgo.cxx index 0973a3c480ff57888936ed8949403ea7e9cdb03a..81a28a95742eb6e77a2dc86519863708196732e4 100644 --- a/fles/mcbm2018/tasks/CbmMcbm2019TimeWinEventBuilderAlgo.cxx +++ b/fles/mcbm2018/tasks/CbmMcbm2019TimeWinEventBuilderAlgo.cxx @@ -10,6 +10,7 @@ /// CBM headers #include "CbmEvent.h" #include "CbmMuchBeamTimeDigi.h" +#include "CbmMuchDigi.h" #include "CbmPsdDigi.h" #include "CbmRichDigi.h" #include "CbmStsDigi.h" @@ -49,7 +50,9 @@ Bool_t CbmMcbm2019TimeWinEventBuilderAlgo::InitAlgo() { // Get a pointer to the previous already existing data level fDigiMan = CbmDigiManager::Instance(); - fDigiMan->UseMuchBeamTimeDigi(); + if (fbUseMuchBeamtimeDigi) { + fDigiMan->UseMuchBeamTimeDigi(); + } // if (fbUseMuchBeamtimeDigi) fDigiMan->Init(); /// Check if reference detector data are available @@ -177,7 +180,12 @@ void CbmMcbm2019TimeWinEventBuilderAlgo::BuildEvents() { break; } // case ECbmModuleId::kSts: case ECbmModuleId::kMuch: { - LoopOnSeeds<CbmMuchBeamTimeDigi>(); + if (fbUseMuchBeamtimeDigi) { + LoopOnSeeds<CbmMuchBeamTimeDigi>(); + } // if (fbUseMuchBeamtimeDigi) + else { + LoopOnSeeds<CbmMuchDigi>(); + } // else of if (fbUseMuchBeamtimeDigi) break; } // case ECbmModuleId::kMuch: case ECbmModuleId::kTrd: { @@ -234,7 +242,7 @@ void CbmMcbm2019TimeWinEventBuilderAlgo::LoopOnSeeds() { || (dOverlapSize < fdWidestTimeWinRange)) { LOG(warning) << "CbmMcbm2019TimeWinEventBuilderAlgo::LoopOnSeeds => " << Form("Event window not fitting in TS overlap, risk of " - "incomplete events: %f %f %f %llu", + "incomplete events: %f %f %f %f", fdEarliestTimeWinBeg, fdLatestTimeWinEnd, fdWidestTimeWinRange, @@ -350,7 +358,13 @@ void CbmMcbm2019TimeWinEventBuilderAlgo::CheckSeed(Double_t dSeedTime, break; } // case ECbmModuleId::kSts: case ECbmModuleId::kMuch: { - SearchMatches<CbmMuchBeamTimeDigi>(dSeedTime, fRefDet); + if (fbUseMuchBeamtimeDigi) { + SearchMatches<CbmMuchBeamTimeDigi>(dSeedTime, fRefDet); + } // if (fbUseMuchBeamtimeDigi) + else + { + SearchMatches<CbmMuchDigi>(dSeedTime, fRefDet); + } // else of if (fbUseMuchBeamtimeDigi) break; } // case ECbmModuleId::kMuch: case ECbmModuleId::kTrd: { @@ -399,7 +413,12 @@ void CbmMcbm2019TimeWinEventBuilderAlgo::CheckSeed(Double_t dSeedTime, break; } // case ECbmModuleId::kSts: case ECbmModuleId::kMuch: { - SearchMatches<CbmMuchBeamTimeDigi>(dSeedTime, *det); + if (fbUseMuchBeamtimeDigi) { + SearchMatches<CbmMuchBeamTimeDigi>(dSeedTime, *det); + } // if (fbUseMuchBeamtimeDigi) + else { + SearchMatches<CbmMuchDigi>(dSeedTime, *det); + } // else of if (fbUseMuchBeamtimeDigi) break; } // case ECbmModuleId::kMuch: case ECbmModuleId::kTrd: { diff --git a/fles/mcbm2018/tasks/CbmMcbm2019TimeWinEventBuilderAlgo.h b/fles/mcbm2018/tasks/CbmMcbm2019TimeWinEventBuilderAlgo.h index 2173184714abd3a75899a7c0f980e5e37fb37c1e..b6ed8a64568ee722b8fb0bbef9268da8ee30112f 100644 --- a/fles/mcbm2018/tasks/CbmMcbm2019TimeWinEventBuilderAlgo.h +++ b/fles/mcbm2018/tasks/CbmMcbm2019TimeWinEventBuilderAlgo.h @@ -158,7 +158,7 @@ public: Double_t dTsOverLength) { fdTsStartTime = dTsStartTime; fdTsLength = dTsLength; - fdTsOverLength = fdTsOverLength; + fdTsOverLength = dTsOverLength; } /// Control flags @@ -167,6 +167,10 @@ public: fbIgnoreTsOverlap = bFlagIn; } + void ChangeMuchBeamtimeDigiFlag(Bool_t bFlagIn = kFALSE) { + fbUseMuchBeamtimeDigi = bFlagIn; + } + /// For monitor algos void AddHistoToVector(TNamed* pointer, std::string sFolder = "") { fvpAllHistoPointers.push_back( @@ -213,9 +217,10 @@ private: static constexpr Double_t kdDefaultTimeWinEnd = 100.0; /// User parameters - /// Control flags + /// Control flags Bool_t fbIgnoreTsOverlap = kFALSE; //! Ignore data in Overlap part of the TS Bool_t fbFillHistos {kTRUE}; //! Switch ON/OFF filling of histograms + Bool_t fbUseMuchBeamtimeDigi = kTRUE; //! Switch between the MUCH digi classes /// Event building mode and detectors selection EOverlapMode fOverMode {EOverlapMode::AllowOverlap}; diff --git a/fles/mcbm2018/tasks/CbmMcbm2019TimeWinEventBuilderTask.cxx b/fles/mcbm2018/tasks/CbmMcbm2019TimeWinEventBuilderTask.cxx index 56792605a7303f52c0bbeac5ac659183dd21714a..34291a8cb20634010c462b8b49c20c35960abe18 100644 --- a/fles/mcbm2018/tasks/CbmMcbm2019TimeWinEventBuilderTask.cxx +++ b/fles/mcbm2018/tasks/CbmMcbm2019TimeWinEventBuilderTask.cxx @@ -185,6 +185,9 @@ void CbmMcbm2019TimeWinEventBuilderTask::SetEventOverlapMode( void CbmMcbm2019TimeWinEventBuilderTask::SetIgnoreTsOverlap(Bool_t bFlagIn) { if (nullptr != fpAlgo) fpAlgo->SetIgnoreTsOverlap(bFlagIn); } +void CbmMcbm2019TimeWinEventBuilderTask::ChangeMuchBeamtimeDigiFlag(Bool_t bFlagIn) { + if (nullptr != fpAlgo) fpAlgo->ChangeMuchBeamtimeDigiFlag(bFlagIn); +} //---------------------------------------------------------------------- diff --git a/fles/mcbm2018/tasks/CbmMcbm2019TimeWinEventBuilderTask.h b/fles/mcbm2018/tasks/CbmMcbm2019TimeWinEventBuilderTask.h index 2c3b87dd97d41d6555e6c0b085402f6ef20deb59..b670b8e5f7bd457b0f5603283b226cb89e3f07d9 100644 --- a/fles/mcbm2018/tasks/CbmMcbm2019TimeWinEventBuilderTask.h +++ b/fles/mcbm2018/tasks/CbmMcbm2019TimeWinEventBuilderTask.h @@ -79,6 +79,8 @@ public: void SetEventOverlapMode(EOverlapMode mode); void SetIgnoreTsOverlap(Bool_t bFlagIn); + void ChangeMuchBeamtimeDigiFlag(Bool_t bFlagIn = kFALSE); + private: void FillOutput(); void SaveHistos();