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.

◆ CbmTaskTriggerDigi() [2/2]

CbmTaskTriggerDigi::CbmTaskTriggerDigi ( const CbmTaskTriggerDigi & )
delete

Copy constructor (disabled)

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

◆ 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

◆ Init()

InitStatus CbmTaskTriggerDigi::Init ( )
privatevirtual

◆ operator=()

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

Assignment operator (disabled)

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