diff --git a/core/base/CbmDigiManager.cxx b/core/base/CbmDigiManager.cxx index 1d0e7f400344ef0103dd72c5db0f932e5f3a4b9a..f868b40d5c8b8e29efc45ad1d427bbcd62db2814 100644 --- a/core/base/CbmDigiManager.cxx +++ b/core/base/CbmDigiManager.cxx @@ -167,6 +167,41 @@ template <class Digi> void CbmDigiManager::SetBranch() { delete branch; } + // Special cases for mCBM TOF + if ( systemId == ECbmModuleId::kTof) { + if ( fBranches.find(systemId) == fBranches.end() ) { + branchName = "TofCalDigi"; + branch = new CbmDigiBranch<Digi>(branchName.c_str()); + if ( branch->ConnectToTree() ) { + LOG(info) << "DigiManager: Search branch " << branchName << " for class " + << className << ": successful"; + fBranches[systemId] = branch; + } else { + LOG(info) << "DigiManager: Search branch " << branchName << " for class " + << className << ": failed"; + delete branch; + } + } + if ( fBranches.find(systemId) == fBranches.end() ) { + branchName = "CbmTofDigi"; + branch = new CbmDigiBranch<Digi>(branchName.c_str()); + if ( branch->ConnectToTree() ) { + LOG(info) << "DigiManager: Search branch " << branchName << " for class " + << className << ": successful"; + fBranches[systemId] = branch; + } else { + LOG(info) << "DigiManager: Search branch " << branchName << " for class " + << className << ": failed"; + delete branch; + } + } + if ( fBranches.find(systemId) == fBranches.end() ) { + branchName = "CbmTofCalDigi"; + branch = new CbmDigiBranch<Digi>(branchName.c_str()); + if ( branch->ConnectToTree() ) fBranches[systemId] = branch; + else delete branch; + } + } } // -------------------------------------------------------------------------