CbmRoot
|
#include <CbmDigiManager.h>
Public Member Functions | |
virtual | ~CbmDigiManager () |
template<class Digi > | |
const Digi * | Get (Int_t index) const |
Get a digi object. More... | |
const CbmMatch * | GetMatch (ECbmModuleId systemId, UInt_t index) const |
Get a match object. More... | |
InitStatus | Init () |
Initialisation. More... | |
void | SetBranchName (ECbmModuleId system, const char *name) |
Set the digi branch name for a system. More... | |
void | UseMuchBeamTimeDigi (Bool_t choice=kTRUE) |
Use CbmMuchBeamTimeDigi instead of CbmMuchDigi for MUCH. More... | |
Static Public Member Functions | |
static Int_t | GetNofDigis (ECbmModuleId systemId) |
static CbmDigiManager * | Instance () |
Static instance. More... | |
static Bool_t | IsPresent (ECbmModuleId systemId) |
Presence of a digi branch. More... | |
static Bool_t | IsMatchPresent (ECbmModuleId systemId) |
Presence of a digi match branch. More... | |
Private Member Functions | |
CbmDigiManager () | |
CbmDigiManager (const CbmDigiManager &)=delete | |
CbmDigiManager & | operator= (const CbmDigiManager &)=delete |
template<class Digi > | |
void | SetBranch () |
Set a digi branch. More... | |
ClassDef (CbmDigiManager, 5) | |
Private Attributes | |
std::map< ECbmModuleId, std::string > | fBranchNames {} |
Static Private Attributes | |
static std::map< ECbmModuleId, CbmDigiBranchBase * > | fBranches |
static CbmDigiManager * | fgInstance = nullptr |
static Bool_t | fIsInitialised = kFALSE |
static Bool_t | fUseMuchBeamTimeDigi = kFALSE |
Interface class to provide access to CbmDigis. The storage model (STL vector or TClonesArray) is abstracted from.
Definition at line 37 of file CbmDigiManager.h.
|
virtual |
|
private |
|
privatedelete |
Copy constructor forbidden
|
private |
|
inline |
Get a digi object.
index | Index of digi in its container |
Requirement to the template type Digi is that its pointer can be cast to CbmDigi* and that it has a static method GetSystem().
Definition at line 52 of file CbmDigiManager.h.
References fBranches, and fIsInitialised.
Referenced by CbmTrdClusterFinder::AddClusters(), CbmMcbm2018EventBuilder::AddDigiToSorter(), CbmStsAlgoAnaCluster::AnaSize1(), CbmStsAlgoAnaCluster::AnaSize2(), CbmStsAlgoAnaCluster::AnaSizeN(), CbmTofSimpClusterizer::BuildClusters(), CbmStsTrackFinder::CalculateEloss(), CbmCheckTiming::CheckIfSorted(), CbmMcbmCheckTimingAlgo::CheckInterSystemOffset(), CbmMcbm2019CheckPulser::CheckInterSystemOffset(), CbmCheckTiming::CheckTimeOrder(), CbmMuchClustering::ClearDigiCharges(), CbmMuchClustering::ClusteringA1(), CbmMuchClustering::ClusteringSL(), CbmMuchClustering::ClusteringWard(), CbmStsDigiSource::ConditionalRun(), CbmMuchFindHitsGem::CreateHits(), CbmMuchHitFinderQa::DigitizerQa(), CbmMuchHitFinderQa::Exec(), CbmTrdHitProducer::Exec(), CbmTrdQa::Exec(), CbmMvdClusterfinderTB::Exec(), CbmRichMCbmToTShifter::Exec(), CbmPsdMCbmQaReal::Exec(), CbmBuildEventsIdealNew::Exec(), CbmRichMCbmAerogelAna::Exec(), CbmPsdHitProducer::Exec(), CbmTrdHitDensityQa::Exec(), CbmRichMCbmQaRichOnly::Exec(), CbmMcbm2019CheckDigisSts::Exec(), CbmRichMCbmQaReal::Exec(), CbmMcbm2019CheckDigisMuch::Exec(), CbmCheckDigisNbCorr::Exec(), CbmTrdRecoQa::Exec(), CbmTrdClusterFinder::Exec(), CbmTofEventClusterizer::Exec(), CbmTrdOccupancyQa::Exec(), CbmMuchFindHitsGem::ExecClusteringPeaks(), CbmMuchFindHitsGem::ExecClusteringSimple(), CbmTofCalibrator::FillCalHist(), CbmMuchDigitizerQa::FillChargePerPoint(), CbmMcbm2019CheckTimingPairs::FillCorrBuffer(), CbmTofAnaTestbeam::FillHistos(), CbmMcbm2019CheckDtInDet::FillHistosPerDet(), CbmCheckTiming::FillHistosSelT0(), CbmRichUrqmdTest::FillRichRingNofHits(), CbmCheckTiming::FillSystemOffsetHistos(), CbmMcbm2019CheckPulser::FillSystemOffsetHistos(), CbmMcbmCheckTimingAlgo::FillTimeOffsetHistos(), CbmMuchFindHitsGem::FindClusters(), CbmMatchRecoToMC::GetMcTrackMotherIdsForRichHit(), CbmCheckEvents::GetTimeDiff(), CbmMcbm2019TimeWinEventBuilderAlgo::LoopOnSeeds(), CbmMatchRecoToMC::MatchHitsTof(), CbmRichUrqmdTest::NofHitsAndPoints(), CbmMuchHitFinderQa::OccupancyQa(), CbmMuchDigitizerQa::OccupancyQa(), CbmMuchDigitizerQa::PrintFrontLayerDigis(), CbmRichRecoTbQa::Process(), CbmRecoSts::ProcessData(), CbmPsdMCbmHitProducer::ProcessDigi(), CbmRichMCbmHitProducer::ProcessDigi(), CbmRichHitProducer::ProcessDigi(), CbmLitClusteringQa::ProcessDigis(), CbmStsDigitizeQa::ProcessDigisAndPoints(), CbmRichGeoTest::ProcessHits(), CbmMuchHitFinderQa::PullsQa(), DataTreeCbmInterface::ReadPSD(), CbmMcbm2019TimeWinEventBuilderAlgo::SearchMatches(), CbmMvdDetector::SendInputDigis(), CbmMuchClustering::SetDigiCharges(), CbmKFParticleFinderPID::SetRecoPID(), and CbmStsAlgoAnaCluster::WeightedMean().
const CbmMatch * CbmDigiManager::GetMatch | ( | ECbmModuleId | systemId, |
UInt_t | index | ||
) | const |
Get a match object.
System | identifier (ECbmModuleId) |
index | Index of digi/match in their container |
Definition at line 54 of file CbmDigiManager.cxx.
References fBranches, and fIsInitialised.
Referenced by CbmMuchHitFinderQa::ClusterDeconvQa(), CbmMuchHitFinderQa::DigitizerQa(), CbmBuildEventsIdeal::Exec(), CbmBuildEventsIdealNew::Exec(), CbmGlobalTrackingQA::Exec(), CbmMuchDigitizerQa::FillChargePerPoint(), CbmRichUrqmdTest::FillRichRingNofHits(), CbmRichRingFinderIdeal::GetEventIdForRichHit(), CbmMatchRecoToMC::GetMcTrackMotherIdsForRichHit(), CbmMatchRecoToMC::MatchClusters(), CbmMatchRecoToMC::MatchHitsMvd(), CbmMatchRecoToMC::MatchHitsTof(), CbmRichRecoTbQa::Process(), CbmLitClusteringQa::ProcessDigis(), CbmStsDigitizeQa::ProcessDigisAndPoints(), CbmRichGeoTest::ProcessHits(), CbmMuchHitFinderQa::PullsQa(), and CbmMuchHitFinderQa::StatisticsQa().
|
static |
Number of digis for a given system
System | identifier (ECbmModuleId) |
Definition at line 62 of file CbmDigiManager.cxx.
References fBranches, and fIsInitialised.
Referenced by CbmTofSimpClusterizer::BuildClusters(), CbmCheckTiming::CheckIfSorted(), CbmCheckTiming::CheckInterSystemOffset(), CbmMcbmCheckTimingAlgo::CheckInterSystemOffset(), CbmMcbm2019CheckPulser::CheckInterSystemOffset(), CbmCheckTiming::CheckTimeOrder(), CbmMuchClustering::ClearDigiCharges(), CbmStsDigiSource::ConditionalRun(), CbmMuchHitFinderQa::DigitizerQa(), CbmMuchHitFinderQa::Exec(), CbmMvdReadout::Exec(), CbmMuchClustering::Exec(), CbmBuildEventsIdeal::Exec(), CbmTrdQa::Exec(), CbmMvdClusterfinder::Exec(), CbmRichMCbmToTShifter::Exec(), CbmPsdMCbmQaReal::Exec(), CbmBuildEventsIdealNew::Exec(), CbmRichMCbmAerogelAna::Exec(), CbmPsdHitProducer::Exec(), CbmRichMCbmQaRichOnly::Exec(), CbmMcbm2019CheckDigisSts::Exec(), CbmTrdHitDensityQa::Exec(), CbmRichMCbmQaReal::Exec(), CbmMcbm2019CheckDigisMuch::Exec(), CbmCheckDigisNbCorr::Exec(), CbmMuchFindHitsGem::Exec(), CbmCheckEvents::Exec(), CbmTrdRecoQa::Exec(), CbmTofSimpClusterizer::Exec(), CbmTrdClusterFinder::Exec(), CbmTofEventClusterizer::Exec(), CbmTrdOccupancyQa::Exec(), CbmMuchDigitizerQa::FillChargePerPoint(), CbmMcbm2019CheckTimingPairs::FillCorrBuffer(), CbmLitClusteringQa::FillEventCounterHistograms(), CbmMcbm2019CheckDtInDet::FillHistosPerDet(), CbmCheckTiming::FillHistosSelT0(), CbmCheckTiming::FillSystemOffsetHistos(), CbmMcbm2019CheckPulser::FillSystemOffsetHistos(), CbmMcbmCheckTimingAlgo::FillTimeOffsetHistos(), CbmMuchFindHitsGem::FindClusters(), CbmMcbm2018EventBuilder::InitSorter(), CbmMcbm2019TimeWinEventBuilderAlgo::LoopOnSeeds(), CbmMatchRecoToMC::MatchHitsTof(), CbmMuchHitFinderQa::OccupancyQa(), CbmMuchDigitizerQa::OccupancyQa(), CbmMuchDigitizerQa::PrintFrontLayerDigis(), CbmRichRecoTbQa::Process(), CbmPsdMCbmHitProducer::ProcessData(), CbmRichMCbmHitProducer::ProcessData(), CbmRichHitProducer::ProcessData(), CbmRecoSts::ProcessData(), CbmLitClusteringQa::ProcessDigis(), CbmStsDigitizeQa::ProcessDigisAndPoints(), DataTreeCbmInterface::ReadPSD(), CbmMcbm2019TimeWinEventBuilderAlgo::SearchMatches(), CbmMvdDetector::SendInputDigis(), and CbmMuchClustering::SetDigiCharges().
InitStatus CbmDigiManager::Init | ( | ) |
Initialisation.
The input tree is checked for digi branches.
Definition at line 71 of file CbmDigiManager.cxx.
References fBranches, fIsInitialised, and fUseMuchBeamTimeDigi.
Referenced by CbmTrdModuleRecR::addClusters(), CbmMcbmCheckTimingAlgo::CheckDataPresence(), CbmStsDigitizeQa::Init(), CbmTrdHitProducer::Init(), CbmMuchHitFinderQa::Init(), CbmRichMCbmToTShifter::Init(), CbmPsdMCbmHitProducer::Init(), CbmRichRecoTbQa::Init(), CbmTrdQa::Init(), CbmPsdMCbmQaReal::Init(), CbmRichMCbmAerogelAna::Init(), CbmMcbm2019CheckDigisSts::Init(), CbmMcbm2019CheckDigisMuch::Init(), CbmPsdHitProducer::Init(), CbmCheckTiming::Init(), CbmCheckDigisNbCorr::Init(), CbmRichMCbmQaRichOnly::Init(), CbmRichMCbmQaReal::Init(), CbmTrdHitDensityQa::Init(), CbmRichMCbmHitProducer::Init(), CbmCheckEvents::Init(), CbmKF::Init(), CbmKFParticleFinderPID::Init(), CbmRichRingFinderIdeal::Init(), CbmBuildEventsIdeal::Init(), CbmMcbm2019CheckPulser::Init(), CbmMcbm2019CheckDtInDet::Init(), CbmMvdReadout::Init(), CbmRichHitProducer::Init(), CbmBuildEventsIdealNew::Init(), CbmRichUrqmdTest::Init(), CbmTofCalibrator::Init(), CbmMcbm2019CheckTimingPairs::Init(), CbmTrdRecoQa::Init(), CbmMvdHitfinder::Init(), CbmTofSimpClusterizer::Init(), CbmMvdClusterfinder::Init(), CbmRichGeoTest::Init(), CbmMuchDigitizerQa::Init(), CbmMvdClusterfinderTB::Init(), CbmMcbm2018EventBuilder::Init(), CbmMuchFindHitsGem::Init(), CbmTrdClusterFinder::Init(), CbmGlobalTrackingQA::Init(), CbmTrdOccupancyQa::Init(), CbmRecoSts::Init(), CbmHadronAnalysis::Init(), CbmMcbm2019TimeWinEventBuilderAlgo::InitAlgo(), DataTreeCbmInterface::InitInput(), CbmStsDigiSource::InitTask(), CbmMatchRecoToMC::ReadAndCreateDataBranches(), CbmMuchClustering::ReadDataBranches(), CbmLitMCTrackCreator::ReadDataBranches(), CbmTofAnaTestbeam::RegisterInputs(), and CbmTofEventClusterizer::RegisterInputs().
|
inlinestatic |
Static instance.
Definition at line 93 of file CbmDigiManager.h.
References CbmDigiManager(), and fgInstance.
Referenced by CbmTrdModuleRecR::addClusters(), CbmTrdClusterFinder::AddClusters(), CbmStsTrackFinder::CalculateEloss(), CbmMcbmCheckTimingAlgo::CheckDataPresence(), CbmStsDigiSource::ConditionalRun(), CbmTrdHitProducer::Exec(), CbmTrdQa::Exec(), CbmTrdHitDensityQa::Exec(), CbmTrdRecoQa::Exec(), CbmTrdClusterFinder::Exec(), CbmTrdOccupancyQa::Exec(), CbmStsDigitizeQa::Init(), CbmTrdHitProducer::Init(), CbmMuchHitFinderQa::Init(), CbmRichMCbmToTShifter::Init(), CbmPsdMCbmHitProducer::Init(), CbmRichRecoTbQa::Init(), CbmTrdQa::Init(), CbmPsdMCbmQaReal::Init(), CbmRichMCbmAerogelAna::Init(), CbmMcbm2019CheckDigisSts::Init(), CbmCheckTiming::Init(), CbmMcbm2019CheckDigisMuch::Init(), CbmPsdHitProducer::Init(), CbmCheckDigisNbCorr::Init(), CbmRichMCbmQaRichOnly::Init(), CbmRichMCbmQaReal::Init(), CbmTrdHitDensityQa::Init(), CbmRichMCbmHitProducer::Init(), CbmCheckEvents::Init(), CbmKF::Init(), CbmKFParticleFinderPID::Init(), CbmRichRingFinderIdeal::Init(), CbmBuildEventsIdeal::Init(), CbmMcbm2019CheckPulser::Init(), CbmMcbm2019CheckDtInDet::Init(), CbmMvdReadout::Init(), CbmRichHitProducer::Init(), CbmBuildEventsIdealNew::Init(), CbmRichUrqmdTest::Init(), CbmTofCalibrator::Init(), CbmMcbm2019CheckTimingPairs::Init(), CbmTrdRecoQa::Init(), CbmMvdHitfinder::Init(), CbmTofSimpClusterizer::Init(), CbmMvdClusterfinder::Init(), CbmRichGeoTest::Init(), CbmMuchDigitizerQa::Init(), CbmMvdClusterfinderTB::Init(), CbmMcbm2018EventBuilder::Init(), CbmMuchFindHitsGem::Init(), CbmTrdClusterFinder::Init(), CbmTrdOccupancyQa::Init(), CbmRecoSts::Init(), CbmGlobalTrackingQA::Init(), CbmHadronAnalysis::Init(), CbmMcbm2019TimeWinEventBuilderAlgo::InitAlgo(), DataTreeCbmInterface::InitInput(), CbmStsDigiSource::InitTask(), CbmMatchRecoToMC::ReadAndCreateDataBranches(), CbmMuchClustering::ReadDataBranches(), CbmLitMCTrackCreator::ReadDataBranches(), CbmTofAnaTestbeam::RegisterInputs(), and CbmTofEventClusterizer::RegisterInputs().
|
static |
Presence of a digi match branch.
System | identifier (ECbmModuleId) |
Definition at line 104 of file CbmDigiManager.cxx.
References fBranches.
Referenced by CbmBuildEventsIdeal::Exec(), CbmBuildEventsIdealNew::Exec(), CbmBuildEventsIdeal::Init(), CbmRichRingFinderIdeal::Init(), CbmBuildEventsIdealNew::Init(), CbmRichGeoTest::Init(), CbmGlobalTrackingQA::Init(), CbmMatchRecoToMC::MatchClusters(), CbmLitClusteringQa::ProcessDigis(), and CbmStsDigitizeQa::ReadDataBranches().
|
static |
Presence of a digi branch.
System | identifier (ECbmModuleId) |
Definition at line 112 of file CbmDigiManager.cxx.
References fBranches.
Referenced by CbmMcbm2019TimeWinEventBuilderAlgo::CheckDataAvailable(), CbmMcbmCheckTimingAlgo::CheckDataPresence(), CbmCheckTiming::CheckInterSystemOffset(), CbmCheckTiming::CheckTimeOrder(), CbmMcbm2019TimeWinEventBuilderAlgo::CheckTriggerConditions(), CbmMvdHitfinder::Exec(), CbmBuildEventsIdeal::Exec(), CbmPsdMCbmQaReal::Exec(), CbmBuildEventsIdealNew::Exec(), CbmRichMCbmQaReal::Exec(), CbmLitClusteringQa::FillEventCounterHistograms(), CbmTofAnaTestbeam::FillHistos(), CbmMcbm2018EventBuilder::HasTrigger(), CbmRichMCbmToTShifter::Init(), CbmPsdMCbmHitProducer::Init(), CbmPsdMCbmQaReal::Init(), CbmRichMCbmAerogelAna::Init(), CbmMcbm2019CheckDigisSts::Init(), CbmMcbm2019CheckDigisMuch::Init(), CbmCheckTiming::Init(), CbmPsdHitProducer::Init(), CbmRichMCbmQaRichOnly::Init(), CbmCheckDigisNbCorr::Init(), CbmRichMCbmQaReal::Init(), CbmCheckEvents::Init(), CbmRichMCbmHitProducer::Init(), CbmKF::Init(), CbmRichRingFinderIdeal::Init(), CbmKFParticleFinderPID::Init(), CbmMcbm2019CheckDtInDet::Init(), CbmMcbm2019CheckPulser::Init(), CbmMvdReadout::Init(), CbmRichHitProducer::Init(), CbmTofCalibrator::Init(), CbmMcbm2019CheckTimingPairs::Init(), CbmMvdHitfinder::Init(), CbmMvdClusterfinder::Init(), CbmRichGeoTest::Init(), CbmMvdClusterfinderTB::Init(), CbmMcbm2018EventBuilder::Init(), CbmGlobalTrackingQA::Init(), CbmRecoSts::Init(), CbmHadronAnalysis::Init(), CbmStsDigiSource::InitTask(), CbmLitClusteringQa::ProcessDigis(), CbmStsDigitizeQa::ReadDataBranches(), CbmTofAnaTestbeam::RegisterInputs(), CbmTofSimpClusterizer::RegisterInputs(), CbmTofEventClusterizer::RegisterInputs(), and CbmMvdDetector::SendInputDigis().
|
privatedelete |
Assignment operator forbidden
|
private |
Set a digi branch.
Definition at line 121 of file CbmDigiManager.cxx.
References CbmDigiBranchBase::ConnectToTree(), fBranches, fBranchNames, fUseMuchBeamTimeDigi, kMuch, and kTof.
|
inline |
Set the digi branch name for a system.
system | System identifier |
name | Branch name |
This can be used if the branch name in the input does not follow the convention (default).
Definition at line 120 of file CbmDigiManager.h.
References fBranchNames.
|
inline |
Use CbmMuchBeamTimeDigi instead of CbmMuchDigi for MUCH.
choice | If true, use CbmMuchBeamTimeDigi |
Temporary solution until the classes are unified.
Definition at line 130 of file CbmDigiManager.h.
References fUseMuchBeamTimeDigi.
Referenced by CbmMcbmCheckTimingAlgo::CheckDataPresence(), CbmCheckTiming::Init(), CbmMcbm2019CheckDigisMuch::Init(), CbmCheckEvents::Init(), CbmMcbm2019CheckDtInDet::Init(), CbmMcbm2019CheckPulser::Init(), CbmMcbm2019CheckTimingPairs::Init(), CbmMuchFindHitsGem::Init(), CbmMcbm2018EventBuilder::Init(), and CbmMcbm2019TimeWinEventBuilderAlgo::InitAlgo().
|
staticprivate |
Definition at line 136 of file CbmDigiManager.h.
Referenced by Get(), GetMatch(), GetNofDigis(), Init(), IsMatchPresent(), IsPresent(), SetBranch(), and ~CbmDigiManager().
|
private |
Definition at line 139 of file CbmDigiManager.h.
Referenced by SetBranch(), and SetBranchName().
|
staticprivate |
Definition at line 137 of file CbmDigiManager.h.
Referenced by Instance().
|
staticprivate |
Definition at line 138 of file CbmDigiManager.h.
Referenced by Get(), GetMatch(), GetNofDigis(), and Init().
|
staticprivate |
Definition at line 140 of file CbmDigiManager.h.
Referenced by Init(), SetBranch(), and UseMuchBeamTimeDigi().