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

Task for reconstructing the beam spot using STS hits. More...

#include <CbmStsRecoBeamSpot.h>

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

Public Member Functions

 CbmStsRecoBeamSpot ()=default
 
 ~CbmStsRecoBeamSpot ()=default
 
void AddTarget (CbmTarget *target=nullptr)
 Add a CbmTarget object to the list of targets.
 
void AddTarget (std::string trg_name="", CbmTarget *target=nullptr)
 Add a CbmTarget object to the list of targets with a key as trg_name.
 
void Exec (Option_t *)
 
InitStatus Init ()
 
void FinishTask ()
 
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 BeamSpotReco ()
 Reconstruct the beam spot at each target planes.
 
void BookHistograms ()
 
TVector3 ExtrapolateTrackTo (CbmPixelHit *, CbmPixelHit *, CbmTarget *)
 Extrapolate a track-let to a target plane.
 
void ProcessEvent (CbmEvent *)
 Process an Cbm events It filters event based on the provided CbmCutMap.
 
void ProcessStsTrack (CbmGlobalTrack *)
 Process an STS track.
 
void ProcessHit (CbmStsHit *)
 Process an STS hit It filters hits based on the provided CbmCutMap.
 
 ClassDef (CbmStsRecoBeamSpot, 1)
 

Private Attributes

double fSampleRangeXmin {-10}
 
double fSampleRangeXmax {+10}
 
double fSampleRangeYmin {-10}
 
double fSampleRangeYmax {+10}
 
double fSampleRangeZmin {-10}
 
double fSampleRangeZmax {+10}
 
double fSampleBinSizeX {0.01}
 
double fSampleBinSizeY {0.01}
 
double fSampleBinSizeZ {0.01}
 
std::vector< CbmStsTrack * > fStsTrks
 
std::map< int32_t, std::vector< CbmStsHit * > > fStsHits
 
std::map< std::string, CbmTarget * > fTargets
 
TClonesArray * fCbmEvtArray {nullptr}
 
TClonesArray * fStsTrkArray {nullptr}
 
TClonesArray * fStsHitArray {nullptr}
 
TClonesArray * fStsCluArray {nullptr}
 

Detailed Description

Task for reconstructing the beam spot using STS hits.

This class inherits from FairTask and CbmStsAnaBase. It provides functionality for reconstructing the beam spot at different planes defined by CbmTarget using STS hits.

Definition at line 36 of file CbmStsRecoBeamSpot.h.

Constructor & Destructor Documentation

◆ CbmStsRecoBeamSpot()

CbmStsRecoBeamSpot::CbmStsRecoBeamSpot ( )
default

Referenced by ClassDef().

◆ ~CbmStsRecoBeamSpot()

CbmStsRecoBeamSpot::~CbmStsRecoBeamSpot ( )
default

Member Function Documentation

◆ AddTarget() [1/2]

void CbmStsRecoBeamSpot::AddTarget ( CbmTarget * target = nullptr)

Add a CbmTarget object to the list of targets.

Position and rotation are the only relevant members of such class for this task.

Parameters
targetCbmTarget ptr to be added

Definition at line 9 of file CbmStsRecoBeamSpot.cxx.

References AddTarget().

Referenced by AddTarget().

◆ AddTarget() [2/2]

void CbmStsRecoBeamSpot::AddTarget ( std::string trg_name = "",
CbmTarget * target = nullptr )

Add a CbmTarget object to the list of targets with a key as trg_name.

Parameters
trg_namekey under which the
targetwill be stored. If the key is an empty string, added targets will be named as target_<n_of_targets>.

Definition at line 10 of file CbmStsRecoBeamSpot.cxx.

References fTargets.

◆ BeamSpotReco()

void CbmStsRecoBeamSpot::BeamSpotReco ( )
private

Reconstruct the beam spot at each target planes.

Definition at line 94 of file CbmStsRecoBeamSpot.cxx.

References cos(), ExtrapolateTrackTo(), CbmStsAnaBase::fH2D, fStsHits, fTargets, and CbmStsAnaBase::nb_sts_station_.

Referenced by Exec().

◆ BookHistograms()

◆ ClassDef() [1/2]

CbmStsAnaBase::ClassDef ( CbmStsAnaBase ,
1  )
protectedinherited

References CbmStsAnaBase().

◆ ClassDef() [2/2]

CbmStsRecoBeamSpot::ClassDef ( CbmStsRecoBeamSpot ,
1  )
private

References CbmStsRecoBeamSpot().

◆ 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 CbmStsRecoBeamSpot::Exec ( Option_t * )

◆ ExtrapolateTrackTo()

TVector3 CbmStsRecoBeamSpot::ExtrapolateTrackTo ( CbmPixelHit * hit_0,
CbmPixelHit * hit_1,
CbmTarget * trg )
private

Extrapolate a track-let to a target plane.

Definition at line 76 of file CbmStsRecoBeamSpot.cxx.

References CbmTarget::GetPosition(), CbmTarget::GetRotation(), CbmPixelHit::GetX(), CbmPixelHit::GetY(), and CbmHit::GetZ().

Referenced by BeamSpotReco().

◆ FinishTask()

void CbmStsRecoBeamSpot::FinishTask ( )

Definition at line 132 of file CbmStsRecoBeamSpot.cxx.

References CbmStsAnaBase::SaveToFile().

◆ Init()

InitStatus CbmStsRecoBeamSpot::Init ( )

◆ LoadSetup()

◆ ProcessEvent()

void CbmStsRecoBeamSpot::ProcessEvent ( CbmEvent * evt)
private

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

Definition at line 135 of file CbmStsRecoBeamSpot.cxx.

References fStsHitArray, CbmEvent::GetIndex(), CbmEvent::GetNofData(), kStsHit, and ProcessHit().

Referenced by Exec().

◆ ProcessHit()

void CbmStsRecoBeamSpot::ProcessHit ( CbmStsHit * hit)
private

Process an STS hit It filters hits based on the provided CbmCutMap.

Definition at line 146 of file CbmStsRecoBeamSpot.cxx.

References CbmStsAnaBase::fAnalysisCuts, fStsCluArray, fStsHits, CbmHit::GetAddress(), CbmStsAddress::GetElementId(), and kStsUnit.

Referenced by Exec(), and ProcessEvent().

◆ ProcessStsTrack()

void CbmStsRecoBeamSpot::ProcessStsTrack ( CbmGlobalTrack * )
private

Process an STS track.

◆ 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

◆ fCanvas

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

Definition at line 75 of file CbmStsAnaBase.h.

◆ fCbmEvtArray

TClonesArray* CbmStsRecoBeamSpot::fCbmEvtArray {nullptr}
private

Definition at line 85 of file CbmStsRecoBeamSpot.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

◆ 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().

◆ 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().

◆ fSampleBinSizeX

double CbmStsRecoBeamSpot::fSampleBinSizeX {0.01}
private

Definition at line 75 of file CbmStsRecoBeamSpot.h.

Referenced by BookHistograms().

◆ fSampleBinSizeY

double CbmStsRecoBeamSpot::fSampleBinSizeY {0.01}
private

Definition at line 76 of file CbmStsRecoBeamSpot.h.

Referenced by BookHistograms().

◆ fSampleBinSizeZ

double CbmStsRecoBeamSpot::fSampleBinSizeZ {0.01}
private

Definition at line 77 of file CbmStsRecoBeamSpot.h.

Referenced by BookHistograms().

◆ fSampleRangeXmax

double CbmStsRecoBeamSpot::fSampleRangeXmax {+10}
private

Definition at line 68 of file CbmStsRecoBeamSpot.h.

Referenced by BookHistograms().

◆ fSampleRangeXmin

double CbmStsRecoBeamSpot::fSampleRangeXmin {-10}
private

Definition at line 67 of file CbmStsRecoBeamSpot.h.

Referenced by BookHistograms().

◆ fSampleRangeYmax

double CbmStsRecoBeamSpot::fSampleRangeYmax {+10}
private

Definition at line 70 of file CbmStsRecoBeamSpot.h.

Referenced by BookHistograms().

◆ fSampleRangeYmin

double CbmStsRecoBeamSpot::fSampleRangeYmin {-10}
private

Definition at line 69 of file CbmStsRecoBeamSpot.h.

Referenced by BookHistograms().

◆ fSampleRangeZmax

double CbmStsRecoBeamSpot::fSampleRangeZmax {+10}
private

Definition at line 72 of file CbmStsRecoBeamSpot.h.

Referenced by BookHistograms().

◆ fSampleRangeZmin

double CbmStsRecoBeamSpot::fSampleRangeZmin {-10}
private

Definition at line 71 of file CbmStsRecoBeamSpot.h.

Referenced by BookHistograms().

◆ fStsCluArray

TClonesArray* CbmStsRecoBeamSpot::fStsCluArray {nullptr}
private

Definition at line 88 of file CbmStsRecoBeamSpot.h.

Referenced by Init(), and ProcessHit().

◆ fStsGeoInfo

◆ fStsHitArray

TClonesArray* CbmStsRecoBeamSpot::fStsHitArray {nullptr}
private

Definition at line 87 of file CbmStsRecoBeamSpot.h.

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

◆ fStsHits

std::map<int32_t, std::vector<CbmStsHit*> > CbmStsRecoBeamSpot::fStsHits
private

Definition at line 80 of file CbmStsRecoBeamSpot.h.

Referenced by BeamSpotReco(), and ProcessHit().

◆ fStsTrkArray

TClonesArray* CbmStsRecoBeamSpot::fStsTrkArray {nullptr}
private

Definition at line 86 of file CbmStsRecoBeamSpot.h.

◆ fStsTrks

std::vector<CbmStsTrack*> CbmStsRecoBeamSpot::fStsTrks
private

Definition at line 79 of file CbmStsRecoBeamSpot.h.

◆ fTargets

std::map<std::string, CbmTarget*> CbmStsRecoBeamSpot::fTargets
private

Definition at line 82 of file CbmStsRecoBeamSpot.h.

Referenced by AddTarget(), BeamSpotReco(), BookHistograms(), and Init().

◆ 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: