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

Task class for minimum-bias event trigger from time-distribution of digi data. More...

#include <CbmTaskTriggerDigi.h>

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

Public Member Functions

 CbmTaskTriggerDigi ()
 Constructor.
 
 CbmTaskTriggerDigi (const CbmTaskTriggerDigi &)=delete
 Copy constructor (disabled)
 
virtual ~CbmTaskTriggerDigi ()
 Destructor.
 
virtual void Exec (Option_t *opt)
 Task execution.
 
virtual void Finish ()
 Finish timeslice.
 
CbmTaskTriggerDigioperator= (const CbmTaskTriggerDigi &)=delete
 Assignment operator (disabled)
 
void SetConfig (const cbm::algo::evbuild::DigiTriggerConfig &config)
 Configure the trigger algorithm.
 
void AddSystem (ECbmModuleId system)
 Add a detector system to the trigger algorithm.
 

Private Member Functions

virtual InitStatus Init ()
 Task initialisation.
 
template<class TDigi>
std::vector< double > GetDigiTimes (const CbmDigiBranchBase *digiBranch)
 Extract digi times from digi branch.
 
std::vector< double > GetDigiTimes (ECbmModuleId system)
 Extract digi times from CbmDigiTimeslice.
 
 ClassDef (CbmTaskTriggerDigi, 1)
 

Private Attributes

const CbmDigiTimeslicefTimeslice = nullptr
 
CbmDigiManagerfDigiMan = nullptr
 Input data (from unpacking)
 
std::vector< ECbmModuleIdfSystems {}
 Input data (from simulation)
 
std::vector< double > * fTriggers = nullptr
 
std::unique_ptr< cbm::algo::evbuild::TimeClusterTriggerfAlgo = nullptr
 Output data.
 
std::unique_ptr< cbm::algo::evbuild::DigiTriggerConfigfConfig = nullptr
 Algorithm.
 
double fTriggerWindow = 0.
 Configuration / parameters.
 
int32_t fMinNumDigis = 0
 
double fDeadTime = 0.
 
size_t fNumTs = 0
 
size_t fNumDigis = 0
 
size_t fNumTriggers = 0
 
double fTimeExtract = 0.
 
double fTimeFind = 0.
 
double fTimeTot = 0.
 

Detailed Description

Task class for minimum-bias event trigger from time-distribution of digi data.

Author
Volker Friese v.fri.nosp@m.ese@.nosp@m.gsi.d.nosp@m.e
Since
20.11.2021

The tasks calls algo::TimeClusterTrigger with the digi time distribution of the trigger detector.

TOFO: The current implementation is for STS only as trigger detector.

Definition at line 35 of file CbmTaskTriggerDigi.h.

Constructor & Destructor Documentation

◆ CbmTaskTriggerDigi() [1/2]

CbmTaskTriggerDigi::CbmTaskTriggerDigi ( )

Constructor.

Definition at line 28 of file CbmTaskTriggerDigi.cxx.

Referenced by CbmTaskTriggerDigi(), ClassDef(), and operator=().

◆ CbmTaskTriggerDigi() [2/2]

CbmTaskTriggerDigi::CbmTaskTriggerDigi ( const CbmTaskTriggerDigi & )
delete

Copy constructor (disabled)

References CbmTaskTriggerDigi().

◆ ~CbmTaskTriggerDigi()

CbmTaskTriggerDigi::~CbmTaskTriggerDigi ( )
virtual

Destructor.

Definition at line 32 of file CbmTaskTriggerDigi.cxx.

References fTriggers.

Member Function Documentation

◆ AddSystem()

void CbmTaskTriggerDigi::AddSystem ( ECbmModuleId system)
inline

Add a detector system to the trigger algorithm.

Parameters
systemSystem to be added

Definition at line 72 of file CbmTaskTriggerDigi.h.

References fSystems.

◆ ClassDef()

CbmTaskTriggerDigi::ClassDef ( CbmTaskTriggerDigi ,
1  )
private

References CbmTaskTriggerDigi().

◆ Exec()

void CbmTaskTriggerDigi::Exec ( Option_t * opt)
virtual

◆ Finish()

void CbmTaskTriggerDigi::Finish ( )
virtual

Finish timeslice.

Definition at line 201 of file CbmTaskTriggerDigi.cxx.

References fNumDigis, fNumTriggers, fNumTs, fTimeExtract, fTimeFind, and fTimeTot.

◆ GetDigiTimes() [1/2]

template<class TDigi>
std::vector< double > CbmTaskTriggerDigi::GetDigiTimes ( const CbmDigiBranchBase * digiBranch)
inlineprivate

Extract digi times from digi branch.

Parameters
digiBranchDigi branch for one detector

Definition at line 86 of file CbmTaskTriggerDigi.h.

References fTimeExtract, and CbmDigiBranchBase::GetBranchContainer().

Referenced by Exec().

◆ GetDigiTimes() [2/2]

std::vector< double > CbmTaskTriggerDigi::GetDigiTimes ( ECbmModuleId system)
private

Extract digi times from CbmDigiTimeslice.

Parameters
systemDetector system (enum ECbmModuleId)
Returns
Vector of digi times for the specified system

Definition at line 135 of file CbmTaskTriggerDigi.cxx.

References fTimeslice, kBmon, kMuch, kPsd, kRich, kSts, kTof, and kTrd.

◆ Init()

InitStatus CbmTaskTriggerDigi::Init ( )
privatevirtual

◆ operator=()

CbmTaskTriggerDigi & CbmTaskTriggerDigi::operator= ( const CbmTaskTriggerDigi & )
delete

Assignment operator (disabled)

References CbmTaskTriggerDigi().

◆ SetConfig()

void CbmTaskTriggerDigi::SetConfig ( const cbm::algo::evbuild::DigiTriggerConfig & config)
inline

Configure the trigger algorithm.

Definition at line 64 of file CbmTaskTriggerDigi.h.

References fConfig.

Member Data Documentation

◆ fAlgo

std::unique_ptr<cbm::algo::evbuild::TimeClusterTrigger> CbmTaskTriggerDigi::fAlgo = nullptr
private

Output data.

Definition at line 116 of file CbmTaskTriggerDigi.h.

Referenced by Init().

◆ fConfig

std::unique_ptr<cbm::algo::evbuild::DigiTriggerConfig> CbmTaskTriggerDigi::fConfig = nullptr
private

Algorithm.

Definition at line 117 of file CbmTaskTriggerDigi.h.

Referenced by Init(), and SetConfig().

◆ fDeadTime

double CbmTaskTriggerDigi::fDeadTime = 0.
private

Definition at line 120 of file CbmTaskTriggerDigi.h.

◆ fDigiMan

CbmDigiManager* CbmTaskTriggerDigi::fDigiMan = nullptr
private

Input data (from unpacking)

Definition at line 113 of file CbmTaskTriggerDigi.h.

Referenced by Exec(), and Init().

◆ fMinNumDigis

int32_t CbmTaskTriggerDigi::fMinNumDigis = 0
private

Definition at line 119 of file CbmTaskTriggerDigi.h.

◆ fNumDigis

size_t CbmTaskTriggerDigi::fNumDigis = 0
private

Definition at line 122 of file CbmTaskTriggerDigi.h.

Referenced by Exec(), and Finish().

◆ fNumTriggers

size_t CbmTaskTriggerDigi::fNumTriggers = 0
private

Definition at line 123 of file CbmTaskTriggerDigi.h.

Referenced by Exec(), and Finish().

◆ fNumTs

size_t CbmTaskTriggerDigi::fNumTs = 0
private

Definition at line 121 of file CbmTaskTriggerDigi.h.

Referenced by Exec(), and Finish().

◆ fSystems

std::vector<ECbmModuleId> CbmTaskTriggerDigi::fSystems {}
private

Input data (from simulation)

Definition at line 114 of file CbmTaskTriggerDigi.h.

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

◆ fTimeExtract

double CbmTaskTriggerDigi::fTimeExtract = 0.
private

Definition at line 124 of file CbmTaskTriggerDigi.h.

Referenced by Finish(), and GetDigiTimes().

◆ fTimeFind

double CbmTaskTriggerDigi::fTimeFind = 0.
private

Definition at line 125 of file CbmTaskTriggerDigi.h.

Referenced by Exec(), and Finish().

◆ fTimeslice

const CbmDigiTimeslice* CbmTaskTriggerDigi::fTimeslice = nullptr
private

Definition at line 112 of file CbmTaskTriggerDigi.h.

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

◆ fTimeTot

double CbmTaskTriggerDigi::fTimeTot = 0.
private

Definition at line 126 of file CbmTaskTriggerDigi.h.

Referenced by Exec(), and Finish().

◆ fTriggers

std::vector<double>* CbmTaskTriggerDigi::fTriggers = nullptr
private

Definition at line 115 of file CbmTaskTriggerDigi.h.

Referenced by Exec(), Init(), and ~CbmTaskTriggerDigi().

◆ fTriggerWindow

double CbmTaskTriggerDigi::fTriggerWindow = 0.
private

Configuration / parameters.

Definition at line 118 of file CbmTaskTriggerDigi.h.


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