|
CbmRoot
|
Task for estimating the spatial resolution of the STS detector using track-hit residuals. More...
#include <CbmStsResolution.h>
Public Member Functions | |
| CbmStsResolution ()=default | |
| ~CbmStsResolution ()=default | |
| CbmStsResolution (double) | |
| Constructor. | |
| InitStatus | Init () |
| void | Exec (Option_t *) |
| void | Finish () |
| void | SetInputType (InputType type) |
| void | EnableRefSensor (int32_t) |
| void | SetMinTrkHitQ (double q) |
| void | TrackUseTwoSts () |
| 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. | |
| virtual void | DrawResults () |
| Virtual function to draw analysis results. | |
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 () |
| void | ProcessEvent (CbmEvent *) |
| Process an Cbm events It filters event based on the provided CbmCutMap. | |
| void | ProcessHit (CbmStsHit *) |
| Process an STS hit It filters hits based on the provided CbmCutMap. | |
| void | ProcessGlobalTrack (CbmGlobalTrack *trk) |
| void | BuildResidual () |
| ClassDef (CbmStsResolution, 1) | |
Private Attributes | |
| double | fImpactParMax {-1} |
| double | fTrkHitQmin {-1} |
| std::vector< CbmGlobalTrack * > | fGlbTrks |
| std::map< int32_t, std::vector< CbmStsHit * > > | fStsHits |
| InputType | fInputType = InputType::kEventMode |
| bool | tracking_use_two_sts_ {false} |
| std::vector< int32_t > | fActiveRefSensors |
| TClonesArray * | fCbmEvtArray {nullptr} |
| TClonesArray * | fGlbTrkArray {nullptr} |
| TClonesArray * | fStsTrkArray {nullptr} |
| TClonesArray * | fRchTrkArray {nullptr} |
| TClonesArray * | fMchTrkArray {nullptr} |
| TClonesArray * | fTrdTrkArray {nullptr} |
| TClonesArray * | fTofTrkArray {nullptr} |
| TClonesArray * | fStsHitArray {nullptr} |
| TClonesArray * | fStsCluArray {nullptr} |
Task for estimating the spatial resolution of the STS detector using track-hit residuals.
The CbmStsResolution class is responsible for calculating the residuals between the hits in the Silicon Tracking System (STS) and the corresponding reconstructed tracks. These residuals are used to estimate the spatial resolution of the STS detector.
The class produces a set of 2D histograms showing the distribution of residuals as a function of the reconstructed hit coordinates. These histograms provide insight into the detector's resolution performance across different spatial regions.
If functon EnableRefSensor() is called during analysis configuration, the residuals will be only produced when the track hit the selected sensors. This is especially useful to restrict bad performing sensors.
The residuals can be computed using two approaches:
":all": All hits are used for the residual calculation. (large combinatoric)":trk": Only the hits clsosest to the extrapolation point is used (selection bias, less combinatoric).It can be configured using the CbmCutMap class. Additionally, the user can set a minimum charge threshold for the STS hits attached to the track and set a cut to the maximun value for the impact parameter.
The class is planned to be extended with functionality to support track refitting using only STS hits, which would allow for improved and more localized resolution studies decoupled from the global tracking performance.
Inherits from:
FairTask: Base class for FairRoot tasks, enabling integration with the FAIR framework.CbmStsAnaBase: Provides STS-specific analysis utilities and interfaces. Definition at line 69 of file CbmStsResolution.h.
|
default |
Referenced by ClassDef().
|
default |
| CbmStsResolution::CbmStsResolution | ( | double | d_max | ) |
|
private |
Definition at line 18 of file CbmStsResolution.cxx.
References CbmStsAnaBase::fH2D, CbmStsAnaBase::fStsGeoInfo, cbm_sts_utils::kStsDx, and cbm_sts_utils::kStsDy.
Referenced by Init().
|
private |
Definition at line 100 of file CbmStsResolution.cxx.
References fActiveRefSensors, fGlbTrks, CbmStsAnaBase::fH2D, fImpactParMax, fStsCluArray, fStsHitArray, fStsHits, fStsTrkArray, fTrkHitQmin, CbmHit::GetAddress(), CbmStsAddress::GetElementId(), cbm_sts_utils::GetHitCharge(), CbmStsTrack::GetStsHitIndex(), CbmPixelHit::GetX(), CbmPixelHit::GetY(), CbmHit::GetZ(), kStsUnit, and tracking_use_two_sts_.
Referenced by Exec(), and ProcessEvent().
|
protectedinherited |
References CbmStsAnaBase().
|
private |
References CbmStsResolution().
|
inlinevirtualinherited |
Virtual function to draw analysis results.
Reimplemented in CbmStsTimeCal.
Definition at line 65 of file CbmStsAnaBase.h.
| void CbmStsResolution::EnableRefSensor | ( | int32_t | address | ) |
Definition at line 232 of file CbmStsResolution.cxx.
References fActiveRefSensors.
| void CbmStsResolution::Exec | ( | Option_t * | ) |
Definition at line 285 of file CbmStsResolution.cxx.
References BuildResidual(), CbmStsAnaBase::entry_, fCbmEvtArray, fGlbTrkArray, fInputType, fStsHitArray, kEventMode, kMCEventMode, kMCTimeMode, kTimeMode, ProcessEvent(), ProcessGlobalTrack(), and ProcessHit().
| void CbmStsResolution::Finish | ( | ) |
Definition at line 355 of file CbmStsResolution.cxx.
References CbmStsAnaBase::SaveToFile().
| InitStatus CbmStsResolution::Init | ( | ) |
Definition at line 328 of file CbmStsResolution.cxx.
References BookHistograms(), fCbmEvtArray, fGlbTrkArray, fMchTrkArray, fRchTrkArray, fStsCluArray, fStsHitArray, fStsTrkArray, fTofTrkArray, fTrdTrkArray, and CbmStsAnaBase::LoadSetup().
|
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 |
Process an Cbm events It filters event based on the provided CbmCutMap.
Definition at line 80 of file CbmStsResolution.cxx.
References BuildResidual(), CbmStsAnaBase::fAnalysisCuts, fGlbTrkArray, fStsHitArray, CbmEvent::GetIndex(), CbmEvent::GetNofData(), kGlobalTrack, kStsHit, ProcessGlobalTrack(), and ProcessHit().
Referenced by Exec().
|
private |
Definition at line 234 of file CbmStsResolution.cxx.
References CbmStsAnaBase::fAnalysisCuts, fGlbTrks, fMchTrkArray, fRchTrkArray, fStsTrkArray, fTofTrkArray, fTrdTrkArray, CbmGlobalTrack::GetChi2(), CbmGlobalTrack::GetMuchTrackIndex(), CbmGlobalTrack::GetNDF(), CbmGlobalTrack::GetRichRingIndex(), CbmGlobalTrack::GetStsTrackIndex(), CbmGlobalTrack::GetTofTrackIndex(), CbmGlobalTrack::GetTrdTrackIndex(), kGlobalTrackChi2, kGlobalTrackMuchSize, kGlobalTrackMvdSize, kGlobalTrackPval, kGlobalTrackRichSize, kGlobalTrackStsSize, kGlobalTrackTofSize, and kGlobalTrackTrdSize.
Referenced by Exec(), and ProcessEvent().
|
private |
Process an STS hit It filters hits based on the provided CbmCutMap.
Definition at line 220 of file CbmStsResolution.cxx.
References CbmStsAnaBase::fAnalysisCuts, fStsCluArray, fStsHits, CbmHit::GetAddress(), CbmStsAddress::GetElementId(), and kStsUnit.
Referenced by Exec(), and ProcessEvent().
|
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.
|
inline |
Definition at line 82 of file CbmStsResolution.h.
References fInputType.
|
inline |
Definition at line 86 of file CbmStsResolution.h.
References fTrkHitQmin.
|
inline |
Definition at line 88 of file CbmStsResolution.h.
References tracking_use_two_sts_.
|
inlineinherited |
User defined sensor translations.
| user_mat | Input translations. |
Definition at line 60 of file CbmStsAnaBase.h.
References fUserAlignment.
|
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().
|
private |
Definition at line 101 of file CbmStsResolution.h.
Referenced by BuildResidual(), and EnableRefSensor().
|
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 103 of file CbmStsResolution.h.
|
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 105 of file CbmStsResolution.h.
Referenced by Exec(), Init(), and ProcessEvent().
|
private |
Definition at line 94 of file CbmStsResolution.h.
Referenced by BuildResidual(), and ProcessGlobalTrack().
|
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 91 of file CbmStsResolution.h.
Referenced by BuildResidual(), and CbmStsResolution().
|
private |
Definition at line 97 of file CbmStsResolution.h.
Referenced by Exec(), and SetInputType().
|
private |
Definition at line 108 of file CbmStsResolution.h.
Referenced by Init(), and ProcessGlobalTrack().
|
private |
Definition at line 107 of file CbmStsResolution.h.
Referenced by Init(), and ProcessGlobalTrack().
|
protectedinherited |
Definition at line 69 of file CbmStsAnaBase.h.
Referenced by CbmStsTimeCal::DrawResults(), and CbmStsTimeCal::Init().
|
protectedinherited |
Definition at line 86 of file CbmStsAnaBase.h.
Referenced by CbmStsTimeCal::CbmStsTimeCal(), and CbmStsTimeCal::Init().
|
private |
Definition at line 113 of file CbmStsResolution.h.
Referenced by BuildResidual(), Init(), and ProcessHit().
|
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 112 of file CbmStsResolution.h.
Referenced by BuildResidual(), Exec(), Init(), and ProcessEvent().
|
private |
Definition at line 95 of file CbmStsResolution.h.
Referenced by BuildResidual(), and ProcessHit().
|
private |
Definition at line 106 of file CbmStsResolution.h.
Referenced by BuildResidual(), Init(), and ProcessGlobalTrack().
|
private |
Definition at line 110 of file CbmStsResolution.h.
Referenced by Init(), and ProcessGlobalTrack().
|
private |
Definition at line 109 of file CbmStsResolution.h.
Referenced by Init(), and ProcessGlobalTrack().
|
private |
Definition at line 92 of file CbmStsResolution.h.
Referenced by BuildResidual(), and SetMinTrkHitQ().
|
protectedinherited |
Definition at line 80 of file CbmStsAnaBase.h.
Referenced by UserAlignment().
|
protectedinherited |
Definition at line 77 of file CbmStsAnaBase.h.
Referenced by CbmStsRecoBeamSpot::BeamSpotReco(), CbmStsCorrelation::BuildCorrelation(), and LoadSetup().
|
private |
Definition at line 99 of file CbmStsResolution.h.
Referenced by BuildResidual(), and TrackUseTwoSts().