PandaRoot
BSEmcOnlineFeatureExtractionProcess Class Referenceabstract

Online feature extraction process intended as baseclass. Online like, but not actually online. More...

#include <BSEmcOnlineFeatureExtractionProcess.h>

Inheritance diagram for BSEmcOnlineFeatureExtractionProcess:
PndProcess BSEmcBwEndcapOnlineFeatureExtraction BSEmcFwEndcapOnlineFeatureExtraction

Public Member Functions

 BSEmcOnlineFeatureExtractionProcess ()
 
virtual ~BSEmcOnlineFeatureExtractionProcess ()
 
virtual void SetDetectorName (const std::string &t_detectorName)
 Set the Detector name. Important, as most EmcParameter need to know for which detector they need to be fetched (each Emc Subdetector has its own set of parameters) More...
 
virtual void RequestDataContainer (PndContainerRegister *t_register)
 Pass the container register to the process, and get the processes container requirements. More...
 
virtual void GetDataContainer (PndContainerRegister *t_register)
 Pass the container register to the process, and set the processes container requirements. More...
 
virtual void SetupParameters (const PndParameterRegister *t_parameterRegister)
 Fetch all parameters from the PndParameterRegister. More...
 
virtual void Process ()
 The actual data transformation (digitizing, clustering, etc.) should be defined here. More...
 
void SetStorageOfData (Bool_t t_val)
 
void SetPSA (BSEmcAbsPSA *t_psa)
 
std::vector< BSEmcDigi * > ExtractDigis (const std::vector< const BSEmcMultiWaveform *> &t_waveforms) const
 
void SetMCDepositBranchName (const TString &t_branchname)
 
void SetWaveformBranchName (const TString &t_branchname)
 
void SetDigiBranchName (const TString &t_branchname)
 
- Public Member Functions inherited from PndProcess
 PndProcess ()
 
 PndProcess (const std::string &t_processname)
 
virtual ~PndProcess ()
 
const std::vector< std::string > & GetListOfRequiredParameters () const
 Get the List Of Required Parameters. More...
 
virtual void PreProcess ()
 PreProcess() is called before the actual Process() call in each event. More...
 
virtual void PostProcess ()
 Immediately after calling Process() PostProcess() is called for cleanup of internal process data, or if not needed, to end the time and memory increase measurement started by PreProcess() More...
 
virtual void TearDown ()
 Last actions at the end of the run. More...
 

Protected Member Functions

virtual Double_t GetTimeStamp (const BSEmcWaveform *t_waveform, Double_t t_digi_time) const
 
virtual BSEmcDigi::eGAIN GetGainType (const BSEmcWaveform *t_waveform, Int_t t_deposit) const =0
 
 ClassDef (BSEmcOnlineFeatureExtractionProcess, 1)
 

Protected Attributes

Double_t fTimebunchCutTime {0}
 
TString fMCDepositBranchName {""}
 
TString fWaveformBranchName {""}
 
TString fDigiBranchName {""}
 
PndMutableContainerI< BSEmcDigi > * fDigiArray {nullptr}
 
PndContainerI< BSEmcMultiWaveform > * fWaveformArray {}
 
Double_t fEnergyDigiThreshold {0}
 
BSEmcAbsPSAfPSA {nullptr}
 
- Protected Attributes inherited from PndProcess
std::vector< std::string > fParameterList {}
 Parameter names required by this PndProcess. Needs to be populated in derived class. More...
 
std::string fDetectorName {""}
 Set Detector name this PndProcess transforms data for. Required for example by EMC Processes to fetch right parameters. More...
 
std::string fProcessName {"PndProcess"}
 Name of current PndProcess (for debugging) More...
 
TStopwatch fTimer {}
 Timer to monitor Process() time. More...
 
Double_t fTotalTime {0}
 Time taken by this Process' Process() More...
 
ProcInfo_t fProcInfo
 Helper to access cpu process Memory Info. More...
 
Long_t fLastMemSize
 

Detailed Description

Online feature extraction process intended as baseclass. Online like, but not actually online.

Derived processes only need to implement and set the PSA that should be used. Extracts Features (energy and time) from BSEmcMultiWaveform objects and creates BSEmcDigis out of those Features

Author
Ph. Mahlberg mahlb.nosp@m.erg@.nosp@m.hiskp.nosp@m..uni.nosp@m.-bonn.nosp@m..de, process changes -> Ben Salisbury salis.nosp@m.bury.nosp@m.@hisk.nosp@m.p.un.nosp@m.i-bon.nosp@m.n.de

Definition at line 38 of file BSEmcOnlineFeatureExtractionProcess.h.

Constructor & Destructor Documentation

◆ BSEmcOnlineFeatureExtractionProcess()

BSEmcOnlineFeatureExtractionProcess::BSEmcOnlineFeatureExtractionProcess ( )

◆ ~BSEmcOnlineFeatureExtractionProcess()

virtual BSEmcOnlineFeatureExtractionProcess::~BSEmcOnlineFeatureExtractionProcess ( )
virtual

Member Function Documentation

◆ ClassDef()

BSEmcOnlineFeatureExtractionProcess::ClassDef ( BSEmcOnlineFeatureExtractionProcess  ,
 
)
protected

◆ ExtractDigis()

std::vector<BSEmcDigi *> BSEmcOnlineFeatureExtractionProcess::ExtractDigis ( const std::vector< const BSEmcMultiWaveform *> &  t_waveforms) const

Referenced by SetPSA().

◆ GetDataContainer()

virtual void BSEmcOnlineFeatureExtractionProcess::GetDataContainer ( PndContainerRegister )
virtual

Pass the container register to the process, and set the processes container requirements.

Parameters
t_register

Reimplemented from PndProcess.

◆ GetGainType()

virtual BSEmcDigi::eGAIN BSEmcOnlineFeatureExtractionProcess::GetGainType ( const BSEmcWaveform t_waveform,
Int_t  t_deposit 
) const
protectedpure virtual

◆ GetTimeStamp()

virtual Double_t BSEmcOnlineFeatureExtractionProcess::GetTimeStamp ( const BSEmcWaveform t_waveform,
Double_t  t_digi_time 
) const
protectedvirtual

◆ Process()

virtual void BSEmcOnlineFeatureExtractionProcess::Process ( )
virtual

The actual data transformation (digitizing, clustering, etc.) should be defined here.

Implements PndProcess.

◆ RequestDataContainer()

virtual void BSEmcOnlineFeatureExtractionProcess::RequestDataContainer ( PndContainerRegister )
virtual

Pass the container register to the process, and get the processes container requirements.

Parameters
t_register

Reimplemented from PndProcess.

◆ SetDetectorName()

virtual void BSEmcOnlineFeatureExtractionProcess::SetDetectorName ( const std::string &  t_detectorname)
virtual

Set the Detector name. Important, as most EmcParameter need to know for which detector they need to be fetched (each Emc Subdetector has its own set of parameters)

Parameters
t_detectorname

Reimplemented from PndProcess.

Reimplemented in BSEmcBwEndcapOnlineFeatureExtraction, and BSEmcFwEndcapOnlineFeatureExtraction.

◆ SetDigiBranchName()

void BSEmcOnlineFeatureExtractionProcess::SetDigiBranchName ( const TString &  t_branchname)
inline

◆ SetMCDepositBranchName()

void BSEmcOnlineFeatureExtractionProcess::SetMCDepositBranchName ( const TString &  t_branchname)
inline

◆ SetPSA()

void BSEmcOnlineFeatureExtractionProcess::SetPSA ( BSEmcAbsPSA t_psa)
inline

Definition at line 50 of file BSEmcOnlineFeatureExtractionProcess.h.

References ExtractDigis(), and fPSA.

◆ SetStorageOfData()

void BSEmcOnlineFeatureExtractionProcess::SetStorageOfData ( Bool_t  t_val)

◆ SetupParameters()

virtual void BSEmcOnlineFeatureExtractionProcess::SetupParameters ( const PndParameterRegister t_parameter)
virtual

Fetch all parameters from the PndParameterRegister.

Parameters
t_parameter

Implements PndProcess.

Reimplemented in BSEmcBwEndcapOnlineFeatureExtraction, and BSEmcFwEndcapOnlineFeatureExtraction.

◆ SetWaveformBranchName()

void BSEmcOnlineFeatureExtractionProcess::SetWaveformBranchName ( const TString &  t_branchname)
inline

Member Data Documentation

◆ fDigiArray

PndMutableContainerI<BSEmcDigi>* BSEmcOnlineFeatureExtractionProcess::fDigiArray {nullptr}
protected

Definition at line 67 of file BSEmcOnlineFeatureExtractionProcess.h.

◆ fDigiBranchName

TString BSEmcOnlineFeatureExtractionProcess::fDigiBranchName {""}
protected

Definition at line 65 of file BSEmcOnlineFeatureExtractionProcess.h.

Referenced by SetDigiBranchName().

◆ fEnergyDigiThreshold

Double_t BSEmcOnlineFeatureExtractionProcess::fEnergyDigiThreshold {0}
protected

Definition at line 70 of file BSEmcOnlineFeatureExtractionProcess.h.

◆ fMCDepositBranchName

TString BSEmcOnlineFeatureExtractionProcess::fMCDepositBranchName {""}
protected

Definition at line 63 of file BSEmcOnlineFeatureExtractionProcess.h.

Referenced by SetMCDepositBranchName().

◆ fPSA

BSEmcAbsPSA* BSEmcOnlineFeatureExtractionProcess::fPSA {nullptr}
protected

Definition at line 72 of file BSEmcOnlineFeatureExtractionProcess.h.

Referenced by SetPSA().

◆ fTimebunchCutTime

Double_t BSEmcOnlineFeatureExtractionProcess::fTimebunchCutTime {0}
protected

Definition at line 61 of file BSEmcOnlineFeatureExtractionProcess.h.

◆ fWaveformArray

PndContainerI<BSEmcMultiWaveform>* BSEmcOnlineFeatureExtractionProcess::fWaveformArray {}
protected

Definition at line 68 of file BSEmcOnlineFeatureExtractionProcess.h.

◆ fWaveformBranchName

TString BSEmcOnlineFeatureExtractionProcess::fWaveformBranchName {""}
protected

Definition at line 64 of file BSEmcOnlineFeatureExtractionProcess.h.

Referenced by SetWaveformBranchName().


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