|
CbmRoot
|
Task for time calibration of STS hits. More...
#include <CbmStsTimeCal.h>
Public Member Functions | |
| CbmStsTimeCal ()=default | |
| ~CbmStsTimeCal ()=default | |
| CbmStsTimeCal (ECbmModuleId system, double lower_lim=-60, double upper_lim=+60) | |
| Parameterized constructor. | |
| CbmStsTimeCal (int run_id, ECbmModuleId system, double lower_lim, double upper_lim) | |
| Parameterized constructor. | |
| void | SetWalkFile (std::string par_file) |
| Set parameter file used during unpacking. | |
| InitStatus | Init () |
| void | Exec (Option_t *) |
| void | Finish () |
| void | SetCutMap (CbmCutMap *map) |
| Set the cut map for analysis. | |
| void | UserAlignment (const std::map< int32_t, std::vector< double > > &user_mat) |
| User defined sensor translations. | |
Protected Member Functions | |
| void | LoadSetup () |
| Load the STS setup and fill the map with XYZ boundaries for each STS setup element. It maps the first z strip for each module depending on the size of the sensor. | |
| void | SaveToFile () |
| It write all mapped objects to the FairRunAna sink file. | |
| ClassDef (CbmStsAnaBase, 1) | |
Protected Attributes | |
| uint | entry_ {0} |
| std::unique_ptr< TFile > | fReportFile |
| std::unordered_set< int32_t > | fAddressBook |
| std::map< std::string, std::unique_ptr< TGraphErrors > > | fG1D |
| std::map< std::string, std::unique_ptr< TH1D > > | fH1D |
| std::map< std::string, std::unique_ptr< TH2D > > | fH2D |
| std::map< std::string, std::shared_ptr< TH2D > > | fH2DShared |
| std::map< std::string, std::unique_ptr< TCanvas > > | fCanvas |
| int | nb_sts_station_ {8} |
| std::unordered_map< int32_t, std::vector< double > > | fStsGeoInfo |
| std::map< int32_t, std::vector< double > > | fUserAlignment |
| std::unordered_map< int32_t, int > | fFirstZStrip |
| CbmCutMap * | fAnalysisCuts {nullptr} |
| int | fRunId {-1} |
Private Member Functions | |
| void | BookHistograms (int32_t address) |
| Book histograms. | |
| void | CheckTimeWalk () |
| Extract Time Walk parameters. | |
| double | FindModuleOffset (int32_t) |
| Extract Time general offset for a given module. | |
| double | FindGlobalOffset () |
| Find a common offset for STS setup. It is taken as the average of the time offset for ADC > 25 for the setup module with the narrower dt distribution. | |
| template<class Digi> | |
| void | CheckTiming () |
| Check timing for a specific digi type It fills StsDigi time difference respect to fRefSystem Digis histograms. | |
| void | InitTimeWalkMap (int32_t address) |
| Initialized the Time Walk map. | |
| void | LoadWalkFromFile () |
| Load the time calibration parameters from user define file. | |
| void | WriteYAML () |
| Write parameters file in YAML format. | |
| void | DrawResults () |
| Virtual function to draw analysis results. | |
| ClassDef (CbmStsTimeCal, 1) | |
Private Attributes | |
| double | fGlobalTimeOffset {0} |
| double | fTimeWindowMin {-60} |
| double | fTimeWindowMax {+60} |
| const double | kStsClock {3.125} |
| std::string | fParFile {""} |
| std::string | fOutputPath {""} |
| std::map< int, std::map< int, std::vector< double > > > | fWalkMapRaw |
| cbm::algo::sts::WalkMap | fWalkMap |
| std::unique_ptr< TFile > | fReportOffset |
| std::unique_ptr< TFile > | fReportFit |
| ECbmModuleId | fRefSystem {ECbmModuleId::kBmon} |
| CbmDigiManager * | fDigiManager {nullptr} |
| TClonesArray * | fCbmEvtArray {nullptr} |
Task for time calibration of STS hits.
STS Digi-level time calibration task for ASIC and ADC synchronization.
This class inherits from FairTask and CbmStsAnaBase. It provides functionality for calibrating the time of STS hits.
This class derives from FairTask and CbmStsAnaBase, and performs time calibration of the STS (Silicon Tracking System) by determining precise time offsets for each ASIC and ADC. The calibration removes time walk effects to improve timing accuracy.
Key features:
This task is essential for achieving precise timing synchronization across all readout electronics in the STS subsystem.
Definition at line 75 of file CbmStsTimeCal.h.
|
default |
Referenced by ClassDef().
|
default |
| CbmStsTimeCal::CbmStsTimeCal | ( | ECbmModuleId | system, |
| double | lower_lim = -60, | ||
| double | upper_lim = +60 ) |
Parameterized constructor.
| system | reference detector for time |
| lower_lim | lower boundary for time difference between |
| system | digis and STS digis (default: -60). |
| upper_lim | lower boundary for time difference between |
| system | digis and STS digis (default: +60). |
Definition at line 35 of file CbmStsTimeCal.cxx.
References fRefSystem, fTimeWindowMax, and fTimeWindowMin.
| CbmStsTimeCal::CbmStsTimeCal | ( | int | run_id, |
| ECbmModuleId | system, | ||
| double | lower_lim, | ||
| double | upper_lim ) |
Parameterized constructor.
| system | reference detector for time |
| lower_lim | lower boundary for time difference between |
| system | digis and STS digis (default: -60). |
| upper_lim | lower boundary for time difference between |
| system | digis and STS digis (default: +60). |
Definition at line 42 of file CbmStsTimeCal.cxx.
References fRefSystem, CbmStsAnaBase::fRunId, fTimeWindowMax, and fTimeWindowMin.
|
private |
Book histograms.
| address | The module address for which histograms will be booked. |
Definition at line 111 of file CbmStsTimeCal.cxx.
References CbmStsAnaBase::fAddressBook, CbmStsAnaBase::fH2D, fRefSystem, fTimeWindowMax, fTimeWindowMin, CbmStsAddress::GetElementId(), kStsClock, kStsLadder, kStsModule, kStsUnit, and cbm::util::ToString().
Referenced by CheckTiming().
|
private |
Extract Time Walk parameters.
Definition at line 404 of file CbmStsTimeCal.cxx.
References FitStsTime::Draw(), CbmStsAnaBase::fAddressBook, CbmStsAnaBase::fG1D, CbmStsAnaBase::fH2D, FindModuleOffset(), FitStsTime::fit_ptr, fRefSystem, fReportFit, fTimeWindowMax, fTimeWindowMin, fWalkMapRaw, cbm::util::ToString(), and FitStsTime::use_fit_result.
Referenced by Finish().
|
private |
Check timing for a specific digi type It fills StsDigi time difference respect to fRefSystem Digis histograms.
Definition at line 160 of file CbmStsTimeCal.cxx.
References BookHistograms(), CbmStsAnaBase::fAddressBook, CbmStsAnaBase::fAnalysisCuts, fDigiManager, CbmStsAnaBase::fH2D, fTimeWindowMax, fTimeWindowMin, CbmStsDigi::GetAddress(), CbmStsDigi::GetChannel(), CbmTofAddress::GetChannelSide(), InitTimeWalkMap(), kBmonDigiSide, and kSts.
Referenced by Exec().
|
protectedinherited |
References CbmStsAnaBase().
|
private |
References CbmStsTimeCal().
|
privatevirtual |
Virtual function to draw analysis results.
Reimplemented from CbmStsAnaBase.
Definition at line 574 of file CbmStsTimeCal.cxx.
References CbmStsAnaBase::fAddressBook, CbmStsAnaBase::fG1D, CbmStsAnaBase::fH2D, and CbmStsAnaBase::fReportFile.
Referenced by Finish().
| void CbmStsTimeCal::Exec | ( | Option_t * | ) |
Definition at line 148 of file CbmStsTimeCal.cxx.
References CheckTiming(), CbmStsAnaBase::entry_, fRefSystem, kBmon, kRich, and kTof.
|
private |
Find a common offset for STS setup. It is taken as the average of the time offset for ADC > 25 for the setup module with the narrower dt distribution.
Definition at line 474 of file CbmStsTimeCal.cxx.
References CbmStsAnaBase::fAddressBook, and CbmStsAnaBase::fG1D.
|
private |
Extract Time general offset for a given module.
Definition at line 377 of file CbmStsTimeCal.cxx.
References FitStsTime::Draw(), CbmStsAnaBase::fH2D, fReportOffset, FitStsTime::time_offset, and FitStsTime::use_fit_result.
Referenced by CheckTimeWalk().
| void CbmStsTimeCal::Finish | ( | ) |
Definition at line 549 of file CbmStsTimeCal.cxx.
References CheckTimeWalk(), DrawResults(), CbmStsAnaBase::fH1D, CbmStsAnaBase::fH2D, fWalkMapRaw, CbmStsAnaBase::SaveToFile(), and WriteYAML().
| InitStatus CbmStsTimeCal::Init | ( | ) |
Definition at line 51 of file CbmStsTimeCal.cxx.
References fCbmEvtArray, fDigiManager, fOutputPath, fRefSystem, CbmStsAnaBase::fReportFile, fReportFit, fReportOffset, CbmStsAnaBase::fRunId, CbmDigiManager::Instance(), kSts, and LoadWalkFromFile().
|
private |
Initialized the Time Walk map.
| address | The module address for which the initialization is done |
Definition at line 80 of file CbmStsTimeCal.cxx.
References fWalkMap, and fWalkMapRaw.
Referenced by CheckTiming().
|
protectedinherited |
Load the STS setup and fill the map with XYZ boundaries for each STS setup element. It maps the first z strip for each module depending on the size of the sensor.
Definition at line 27 of file CbmStsAnaBase.cxx.
References fFirstZStrip, fStsGeoInfo, CbmStsElement::GetAddress(), CbmStsElement::GetDaughter(), CbmStsSetup::GetModule(), CbmStsElement::GetNofDaughters(), CbmStsSetup::GetNofModules(), CbmStsSetup::GetNofStations(), CbmStsElement::GetPnode(), CbmStsSetup::GetStation(), CbmStsStation::GetXmax(), CbmStsStation::GetXmin(), CbmStsStation::GetYmax(), CbmStsStation::GetYmin(), CbmStsStation::GetZ(), CbmStsSetup::Init(), CbmStsSetup::Instance(), CbmStsSetup::IsInit(), and nb_sts_station_.
Referenced by CbmEventVertexDca::Init(), CbmStsCorrelation::Init(), CbmStsEfficiency::Init(), CbmStsHitAna::Init(), CbmStsRecoBeamSpot::Init(), and CbmStsResolution::Init().
|
private |
Load the time calibration parameters from user define file.
Definition at line 99 of file CbmStsTimeCal.cxx.
References fGlobalTimeOffset, fParFile, fWalkMap, and cbm::util::yaml::ReadFromFile().
Referenced by Init().
|
protectedinherited |
It write all mapped objects to the FairRunAna sink file.
Definition at line 95 of file CbmStsAnaBase.cxx.
References fG1D, fH1D, fH2D, fH2DShared, and gr.
Referenced by CbmSpillCheck::Finish(), CbmStsChannelQA::Finish(), CbmStsCorrelation::Finish(), CbmStsHitAna::Finish(), CbmStsResolution::Finish(), CbmStsTimeCal::Finish(), CbmEventVertexDca::FinishTask(), CbmStsEfficiency::FinishTask(), and CbmStsRecoBeamSpot::FinishTask().
|
inherited |
Set the cut map for analysis.
| cutMap | Pointer to the CbmCutMap object. |
Definition at line 21 of file CbmStsAnaBase.cxx.
References fAnalysisCuts.
| void CbmStsTimeCal::SetWalkFile | ( | std::string | par_file | ) |
Set parameter file used during unpacking.
| file_name | full/relative path to the parameters file |
Definition at line 93 of file CbmStsTimeCal.cxx.
References fParFile.
|
inlineinherited |
User defined sensor translations.
| user_mat | Input translations. |
Definition at line 60 of file CbmStsAnaBase.h.
References fUserAlignment.
|
private |
Write parameters file in YAML format.
| o_path | output folder where to save the file |
Definition at line 514 of file CbmStsTimeCal.cxx.
References fGlobalTimeOffset, fOutputPath, and fWalkMapRaw.
Referenced by Finish().
|
protectedinherited |
Definition at line 68 of file CbmStsAnaBase.h.
Referenced by CbmEventVertexDca::Exec(), CbmStsChannelQA::Exec(), CbmStsCorrelation::Exec(), CbmStsEfficiency::Exec(), CbmStsHitAna::Exec(), CbmStsRecoBeamSpot::Exec(), CbmStsResolution::Exec(), and CbmStsTimeCal::Exec().
|
protectedinherited |
Definition at line 70 of file CbmStsAnaBase.h.
Referenced by CbmStsChannelQA::BookHistograms(), CbmStsTimeCal::BookHistograms(), CbmStsChannelQA::CheckDeadChannels(), CbmStsChannelQA::CheckNoisyChannels(), CbmStsTimeCal::CheckTimeWalk(), CbmStsTimeCal::CheckTiming(), CbmStsTimeCal::DrawResults(), CbmStsChannelQA::Exec(), CbmStsTimeCal::FindGlobalOffset(), CbmStsChannelQA::GenerateReport(), and CbmStsHitAna::ProcessHit().
|
protectedinherited |
Definition at line 84 of file CbmStsAnaBase.h.
Referenced by CbmStsTimeCal::CheckTiming(), CbmStsEfficiency::Exec(), CbmStsRecoBeamSpot::Exec(), CbmEventVertexDca::ProcessEvent(), CbmStsCorrelation::ProcessEvent(), CbmStsHitAna::ProcessEvent(), CbmStsResolution::ProcessEvent(), CbmEventVertexDca::ProcessGlobalTrack(), CbmStsEfficiency::ProcessGlobalTrack(), CbmStsHitAna::ProcessGlobalTrack(), CbmStsResolution::ProcessGlobalTrack(), CbmStsCorrelation::ProcessHit(), CbmStsEfficiency::ProcessHit(), CbmStsHitAna::ProcessHit(), CbmStsRecoBeamSpot::ProcessHit(), CbmStsResolution::ProcessHit(), and SetCutMap().
|
protectedinherited |
Definition at line 75 of file CbmStsAnaBase.h.
|
private |
Definition at line 123 of file CbmStsTimeCal.h.
Referenced by Init().
|
private |
Definition at line 121 of file CbmStsTimeCal.h.
Referenced by CheckTiming(), and Init().
|
protectedinherited |
Definition at line 82 of file CbmStsAnaBase.h.
Referenced by LoadSetup().
|
protectedinherited |
Definition at line 71 of file CbmStsAnaBase.h.
Referenced by CbmSpillCheck::BookHistograms(), CbmStsTimeCal::CheckTimeWalk(), CbmStsTimeCal::DrawResults(), CbmSpillCheck::Exec(), CbmStsTimeCal::FindGlobalOffset(), CbmSpillCheck::Finish(), and SaveToFile().
|
private |
Definition at line 106 of file CbmStsTimeCal.h.
Referenced by LoadWalkFromFile(), and WriteYAML().
|
protectedinherited |
Definition at line 72 of file CbmStsAnaBase.h.
Referenced by CbmEventVertexDca::BookHistograms(), CbmStsEfficiency::BookHistograms(), CbmStsHitAna::BookHistograms(), CbmEventVertexDca::CheckVertex(), CbmSpillCheck::Finish(), CbmStsChannelQA::Finish(), CbmStsCorrelation::Finish(), CbmStsHitAna::Finish(), CbmStsTimeCal::Finish(), CbmEventVertexDca::ProcessEvent(), CbmStsEfficiency::ProcessEvent(), CbmStsEfficiency::ProcessGlobalTrack(), CbmStsHitAna::ProcessHit(), and SaveToFile().
|
protectedinherited |
Definition at line 73 of file CbmStsAnaBase.h.
Referenced by CbmStsRecoBeamSpot::BeamSpotReco(), CbmEventVertexDca::BookHistograms(), CbmStsChannelQA::BookHistograms(), CbmStsCorrelation::BookHistograms(), CbmStsEfficiency::BookHistograms(), CbmStsHitAna::BookHistograms(), CbmStsRecoBeamSpot::BookHistograms(), CbmStsResolution::BookHistograms(), CbmStsTimeCal::BookHistograms(), CbmStsCorrelation::BuildCorrelation(), CbmStsResolution::BuildResidual(), CbmStsChannelQA::CheckDeadChannels(), CbmStsEfficiency::CheckEfficiency(), CbmStsChannelQA::CheckNoisyChannels(), CbmStsTimeCal::CheckTimeWalk(), CbmStsTimeCal::CheckTiming(), CbmEventVertexDca::CheckVertex(), CbmStsTimeCal::DrawResults(), CbmStsEfficiency::Efficiency(), CbmStsChannelQA::Exec(), CbmStsTimeCal::FindModuleOffset(), CbmSpillCheck::Finish(), CbmStsChannelQA::Finish(), CbmStsCorrelation::Finish(), CbmStsHitAna::Finish(), CbmStsTimeCal::Finish(), CbmStsChannelQA::GenerateReport(), CbmStsEfficiency::ProcessHit(), CbmStsHitAna::ProcessHit(), and SaveToFile().
|
protectedinherited |
Definition at line 74 of file CbmStsAnaBase.h.
Referenced by CbmEventVertexDca::BookHistograms(), and SaveToFile().
|
private |
Definition at line 111 of file CbmStsTimeCal.h.
Referenced by Init(), and WriteYAML().
|
private |
Definition at line 110 of file CbmStsTimeCal.h.
Referenced by LoadWalkFromFile(), and SetWalkFile().
|
private |
Definition at line 119 of file CbmStsTimeCal.h.
Referenced by BookHistograms(), CbmStsTimeCal(), CbmStsTimeCal(), CheckTimeWalk(), Exec(), and Init().
|
protectedinherited |
Definition at line 69 of file CbmStsAnaBase.h.
Referenced by CbmStsTimeCal::DrawResults(), and CbmStsTimeCal::Init().
|
private |
Definition at line 117 of file CbmStsTimeCal.h.
Referenced by CheckTimeWalk(), and Init().
|
private |
Definition at line 116 of file CbmStsTimeCal.h.
Referenced by FindModuleOffset(), and Init().
|
protectedinherited |
Definition at line 86 of file CbmStsAnaBase.h.
Referenced by CbmStsTimeCal::CbmStsTimeCal(), and CbmStsTimeCal::Init().
|
protectedinherited |
Definition at line 78 of file CbmStsAnaBase.h.
Referenced by CbmStsCorrelation::BookHistograms(), CbmStsEfficiency::BookHistograms(), CbmStsHitAna::BookHistograms(), CbmStsRecoBeamSpot::BookHistograms(), CbmStsResolution::BookHistograms(), CbmStsEfficiency::CheckEfficiency(), CbmStsEfficiency::FinishTask(), and LoadSetup().
|
private |
Definition at line 108 of file CbmStsTimeCal.h.
Referenced by BookHistograms(), CbmStsTimeCal(), CbmStsTimeCal(), CheckTimeWalk(), and CheckTiming().
|
private |
Definition at line 107 of file CbmStsTimeCal.h.
Referenced by BookHistograms(), CbmStsTimeCal(), CbmStsTimeCal(), CheckTimeWalk(), and CheckTiming().
|
protectedinherited |
Definition at line 80 of file CbmStsAnaBase.h.
Referenced by UserAlignment().
|
private |
Definition at line 114 of file CbmStsTimeCal.h.
Referenced by InitTimeWalkMap(), and LoadWalkFromFile().
|
private |
Definition at line 113 of file CbmStsTimeCal.h.
Referenced by CheckTimeWalk(), Finish(), InitTimeWalkMap(), and WriteYAML().
|
private |
Definition at line 109 of file CbmStsTimeCal.h.
Referenced by BookHistograms().
|
protectedinherited |
Definition at line 77 of file CbmStsAnaBase.h.
Referenced by CbmStsRecoBeamSpot::BeamSpotReco(), CbmStsCorrelation::BuildCorrelation(), and LoadSetup().