CbmRoot
Loading...
Searching...
No Matches
CbmStsHitAna Class Reference

Task for detailed charge-size analysis of STS hits. More...

#include <CbmStsHitAna.h>

Inheritance diagram for CbmStsHitAna:
[legend]
Collaboration diagram for CbmStsHitAna:
[legend]

Public Member Functions

 CbmStsHitAna ()
 
 ~CbmStsHitAna ()=default
 
 CbmStsHitAna (std::string cal_par_file)
 Constructor.
 
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.
 
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
 
CbmCutMapfAnalysisCuts {nullptr}
 
int fRunId {-1}
 

Private Member Functions

void BookHistograms (int32_t)
 
void ProcessEvent (CbmEvent *)
 Process an Cbm events It filters event based on the provided CbmCutMap.
 
void ProcessHit (CbmStsHit *hit, bool belong_to_trk=false)
 Process an STS hit It filters hits based on the provided CbmCutMap and fill the corresponding histogram.
 
void ProcessGlobalTrack (CbmGlobalTrack *)
 Process an STS hit attached to a Track It filters hits based on the provided CbmCutMap and check the track filters.
 
 ClassDef (CbmStsHitAna, 1)
 

Private Attributes

uint32_t fMaxCluSize {10}
 
std::vector< const char * > fHitModifier
 
std::unique_ptr< CbmStsParSetModulefModuleParSet
 
std::string fCalibrationFile
 
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}
 

Detailed Description

Task for detailed charge-size analysis of STS hits.

This class inherits from FairTask and CbmStsAnaBase and is designed to perform detailed analysis of charge and size correlations in STS (Silicon Tracking System) hits.

Key functionalities include:

  • Charge Correlation: Analyzes the correlation of charge between the p-side and n-side of STS sensors.
  • Time Correlation: Analyzes the correlation of time between the p-side and n-side cluster forming a hit.
  • Cluster Size Correlation: Evaluates the size correlation between p-side and n-side clusters.
  • Charge vs. Size Analysis: Performs charge versus cluster size studies separately for each sensor side.
  • Hit Type Separation: All analyses are performed separately for:
    • All hits (all) - includes all reconstructed hits.
    • Track hits (trk) - includes only hits associated with reconstructed tracks.

Definition at line 51 of file CbmStsHitAna.h.

Constructor & Destructor Documentation

◆ CbmStsHitAna() [1/2]

CbmStsHitAna::CbmStsHitAna ( )

Definition at line 13 of file CbmStsHitAna.cxx.

References fHitModifier.

Referenced by ClassDef().

◆ ~CbmStsHitAna()

CbmStsHitAna::~CbmStsHitAna ( )
default

◆ CbmStsHitAna() [2/2]

CbmStsHitAna::CbmStsHitAna ( std::string cal_par_file)

Constructor.

Parameters
cal_par_filecharge calibration file

Definition at line 15 of file CbmStsHitAna.cxx.

References fHitModifier.

Member Function Documentation

◆ BookHistograms()

◆ ClassDef() [1/2]

CbmStsAnaBase::ClassDef ( CbmStsAnaBase ,
1  )
protectedinherited

References CbmStsAnaBase().

◆ ClassDef() [2/2]

CbmStsHitAna::ClassDef ( CbmStsHitAna ,
1  )
private

References CbmStsHitAna().

◆ DrawResults()

virtual void CbmStsAnaBase::DrawResults ( )
inlinevirtualinherited

Virtual function to draw analysis results.

Reimplemented in CbmStsTimeCal.

Definition at line 65 of file CbmStsAnaBase.h.

◆ Exec()

void CbmStsHitAna::Exec ( Option_t * )

◆ Finish()

void CbmStsHitAna::Finish ( )

◆ Init()

◆ LoadSetup()

◆ ProcessEvent()

void CbmStsHitAna::ProcessEvent ( CbmEvent * evt)
private

Process an Cbm events It filters event based on the provided CbmCutMap.

Definition at line 99 of file CbmStsHitAna.cxx.

References CbmStsAnaBase::fAnalysisCuts, fGlbTrkArray, fStsHitArray, CbmEvent::GetIndex(), CbmEvent::GetNofData(), kGlobalTrack, kStsHit, ProcessGlobalTrack(), and ProcessHit().

Referenced by Exec().

◆ ProcessGlobalTrack()

◆ ProcessHit()

void CbmStsHitAna::ProcessHit ( CbmStsHit * hit,
bool belong_to_trk = false )
private

Process an STS hit It filters hits based on the provided CbmCutMap and fill the corresponding histogram.

Parameters
hitStsHit to proccess
belong_to_trkSpecify that the hit belongs to a track, branching the histogram filling

Definition at line 118 of file CbmStsHitAna.cxx.

References BookHistograms(), CbmStsAnaBase::fAddressBook, CbmStsAnaBase::fAnalysisCuts, CbmStsAnaBase::fH1D, CbmStsAnaBase::fH2D, fHitModifier, fStsCluArray, CbmHit::GetAddress(), cbm_sts_utils::GetHitChargeAsy(), cbm_sts_utils::GetHitChargeB(), cbm_sts_utils::GetHitChargeF(), cbm_sts_utils::GetHitCluSizeB(), cbm_sts_utils::GetHitCluSizeF(), cbm_sts_utils::GetHitTimeB(), cbm_sts_utils::GetHitTimeF(), CbmPixelHit::GetX(), and CbmPixelHit::GetY().

Referenced by Exec(), ProcessEvent(), and ProcessGlobalTrack().

◆ SaveToFile()

void CbmStsAnaBase::SaveToFile ( )
protectedinherited

◆ SetCutMap()

void CbmStsAnaBase::SetCutMap ( CbmCutMap * map)
inherited

Set the cut map for analysis.

Parameters
cutMapPointer to the CbmCutMap object.

Definition at line 21 of file CbmStsAnaBase.cxx.

References fAnalysisCuts.

◆ UserAlignment()

void CbmStsAnaBase::UserAlignment ( const std::map< int32_t, std::vector< double > > & user_mat)
inlineinherited

User defined sensor translations.

Parameters
user_matInput translations.

Definition at line 60 of file CbmStsAnaBase.h.

References fUserAlignment.

Member Data Documentation

◆ entry_

◆ fAddressBook

◆ fAnalysisCuts

◆ fCalibrationFile

std::string CbmStsHitAna::fCalibrationFile
private

Definition at line 70 of file CbmStsHitAna.h.

Referenced by Init().

◆ fCanvas

std::map<std::string, std::unique_ptr<TCanvas> > CbmStsAnaBase::fCanvas
protectedinherited

Definition at line 75 of file CbmStsAnaBase.h.

◆ fCbmEvtArray

TClonesArray* CbmStsHitAna::fCbmEvtArray {nullptr}
private

Definition at line 72 of file CbmStsHitAna.h.

Referenced by Exec(), and Init().

◆ fFirstZStrip

std::unordered_map<int32_t, int> CbmStsAnaBase::fFirstZStrip
protectedinherited

Definition at line 82 of file CbmStsAnaBase.h.

Referenced by LoadSetup().

◆ fG1D

std::map<std::string, std::unique_ptr<TGraphErrors> > CbmStsAnaBase::fG1D
protectedinherited

◆ fGlbTrkArray

TClonesArray* CbmStsHitAna::fGlbTrkArray {nullptr}
private

Definition at line 74 of file CbmStsHitAna.h.

Referenced by Init(), and ProcessEvent().

◆ fH1D

◆ fH2D

◆ fH2DShared

std::map<std::string, std::shared_ptr<TH2D> > CbmStsAnaBase::fH2DShared
protectedinherited

Definition at line 74 of file CbmStsAnaBase.h.

Referenced by CbmEventVertexDca::BookHistograms(), and SaveToFile().

◆ fHitModifier

std::vector<const char*> CbmStsHitAna::fHitModifier
private

Definition at line 67 of file CbmStsHitAna.h.

Referenced by BookHistograms(), CbmStsHitAna(), CbmStsHitAna(), Init(), and ProcessHit().

◆ fMaxCluSize

uint32_t CbmStsHitAna::fMaxCluSize {10}
private

Definition at line 66 of file CbmStsHitAna.h.

Referenced by BookHistograms().

◆ fMchTrkArray

TClonesArray* CbmStsHitAna::fMchTrkArray {nullptr}
private

Definition at line 77 of file CbmStsHitAna.h.

Referenced by Init(), and ProcessGlobalTrack().

◆ fModuleParSet

std::unique_ptr<CbmStsParSetModule> CbmStsHitAna::fModuleParSet
private

Definition at line 69 of file CbmStsHitAna.h.

Referenced by BookHistograms(), and Init().

◆ fRchTrkArray

TClonesArray* CbmStsHitAna::fRchTrkArray {nullptr}
private

Definition at line 76 of file CbmStsHitAna.h.

Referenced by Init(), and ProcessGlobalTrack().

◆ fReportFile

std::unique_ptr<TFile> CbmStsAnaBase::fReportFile
protectedinherited

Definition at line 69 of file CbmStsAnaBase.h.

Referenced by CbmStsTimeCal::DrawResults(), and CbmStsTimeCal::Init().

◆ fRunId

int CbmStsAnaBase::fRunId {-1}
protectedinherited

Definition at line 86 of file CbmStsAnaBase.h.

Referenced by CbmStsTimeCal::CbmStsTimeCal(), and CbmStsTimeCal::Init().

◆ fStsCluArray

TClonesArray* CbmStsHitAna::fStsCluArray {nullptr}
private

Definition at line 82 of file CbmStsHitAna.h.

Referenced by Init(), and ProcessHit().

◆ fStsGeoInfo

◆ fStsHitArray

TClonesArray* CbmStsHitAna::fStsHitArray {nullptr}
private

Definition at line 81 of file CbmStsHitAna.h.

Referenced by Exec(), Init(), ProcessEvent(), and ProcessGlobalTrack().

◆ fStsTrkArray

TClonesArray* CbmStsHitAna::fStsTrkArray {nullptr}
private

Definition at line 75 of file CbmStsHitAna.h.

Referenced by Init(), and ProcessGlobalTrack().

◆ fTofTrkArray

TClonesArray* CbmStsHitAna::fTofTrkArray {nullptr}
private

Definition at line 79 of file CbmStsHitAna.h.

Referenced by Init(), and ProcessGlobalTrack().

◆ fTrdTrkArray

TClonesArray* CbmStsHitAna::fTrdTrkArray {nullptr}
private

Definition at line 78 of file CbmStsHitAna.h.

Referenced by Init(), and ProcessGlobalTrack().

◆ fUserAlignment

std::map<int32_t, std::vector<double> > CbmStsAnaBase::fUserAlignment
protectedinherited

Definition at line 80 of file CbmStsAnaBase.h.

Referenced by UserAlignment().

◆ nb_sts_station_

int CbmStsAnaBase::nb_sts_station_ {8}
protectedinherited

The documentation for this class was generated from the following files: