REST-for-Physics  v2.3
Rare Event Searches ToolKit for Physics
Public Member Functions | Private Attributes
TRestRawSignalRecoverChannelsProcess Class Reference

Detailed Description

A process allowing to recover selected channels from a TRestRawSignalEvent.

The TRestRawSignalRecoverChannelsProcess allows to recover a selection of daq channel ids from a TRestRawSignalEvent. The dead channels must be known beforehand and the signal ids to be recovered must be specified through the corresponding section at the RML configuration file.

The following example will apply the recovery algorithm for the channels with signal ids 17,19,27 and 67. The signal ids must exist in the readout defined through the TRestDetectorReadout structure.

title="Recovering few channels" verboseLevel="debug" >
<parameter name="channelIds" value="{17,27,67}" />
A process allowing to recover selected channels from a TRestRawSignalEvent.

The dead channel reconstruction algorithm is for the moment very simple. The charge of the dead channel is directly calculated by using the charge of the adjacent readout channels, $s_i = 0.5 \times (s_{i-1} + s_{i+1})$

This process will access the information of the decoding stored in the TRestDetectorReadout definition to assure that the righ signal ids, corresponding to the adjacent channels, are used in the calculation.

Warning
This process will only be functional if the detectorlib was compiled. You may check if it is the case executing the command rest-config --libs, and checking the output shows -lRestDetector.

RESTsoft - Software for Rare Event Searches with TPCs

History of developments:

2017-November: First implementation of TRestRawSignalRecoverChannelsProcess. Javier Galan

Author
Javier Galan

Definition at line 29 of file TRestRawSignalRecoverChannelsProcess.h.

#include <TRestRawSignalRecoverChannelsProcess.h>

Inheritance diagram for TRestRawSignalRecoverChannelsProcess:
TRestLegacyProcess TRestEventProcess TRestMetadata

Public Member Functions

 ClassDefOverride (TRestRawSignalRecoverChannelsProcess, 1)
 
void PrintMetadata () override
 It prints out the process parameters stored in the metadata structure. More...
 
 TRestRawSignalRecoverChannelsProcess (char *configFilename)
 
- Public Member Functions inherited from TRestLegacyProcess
 ClassDefOverride (TRestLegacyProcess, 0)
 
void EndProcess () final
 To be executed at the end of the run (outside event loop) More...
 
RESTValue GetInputEvent () const final
 Get pointer to input event. Must be implemented in the derived class. More...
 
RESTValue GetOutputEvent () const final
 Get pointer to output event. Must be implemented in the derived class. More...
 
const char * GetProcessName () const final
 Returns the name of this process. More...
 
void InitProcess () final
 To be executed at the beginning of the run (outside event loop) More...
 
void PrintMetadata () override
 It prints out the process parameters stored in the metadata structure. More...
 
TRestEventProcessEvent (TRestEvent *eventInput) final
 Process one event. More...
 
 TRestLegacyProcess (char *cfgFileName)
 
- Public Member Functions inherited from TRestEventProcess
virtual Bool_t AddInputFile (const std::string &file)
 
bool ApplyCut ()
 
virtual void BeginOfEventProcess (TRestEvent *inputEvent=nullptr)
 Begin of event process, preparation work. Called right before ProcessEvent() More...
 
 ClassDefOverride (TRestEventProcess, 3)
 
virtual void EndOfEventProcess (TRestEvent *inputEvent=nullptr)
 End of event process. Nothing to do. Called directly after ProcessEvent() More...
 
virtual void EndProcess ()
 To be executed at the end of the run (outside event loop) More...
 
TRestAnalysisTreeGetAnalysisTree () const
 Return the local analysis tree (dummy) More...
 
TCanvas * GetCanvas () const
 Get canvas. More...
 
TRestAnalysisTreeGetFullAnalysisTree ()
 
virtual RESTValue GetInputEvent () const =0
 Get pointer to input event. Must be implemented in the derived class. More...
 
std::vector< std::string > GetListOfAddedObservables ()
 
virtual RESTValue GetOutputEvent () const =0
 Get pointer to output event. Must be implemented in the derived class. More...
 
virtual const char * GetProcessName () const =0
 
TRestRunGetRunInfo () const
 Return the pointer of the hosting TRestRun object. More...
 
virtual Long64_t GetTotalBytes () const
 
virtual Long64_t GetTotalBytesRead () const
 Interface to external file reading, get the read bytes. To be implemented in external processes. More...
 
virtual void InitFromConfigFile () override
 To make settings from rml file. This method must be implemented in the derived class. More...
 
virtual void InitProcess ()
 To be executed at the beginning of the run (outside event loop) More...
 
Bool_t isExternal () const
 Return whether this process is external process. More...
 
Int_t LoadSectionMetadata () override
 This method does some preparation of xml section. More...
 
virtual void NotifyAnalysisTreeReset ()
 In case the analysis tree is reset(switched to new file), some process needs to have action. More...
 
virtual Bool_t OpenInputFiles (const std::vector< std::string > &files)
 
virtual TRestEventProcessEvent (TRestEvent *inputEvent)=0
 Process one event. More...
 
std::vector< std::string > ReadObservables ()
 
void RegisterAllObservables (Bool_t value=true)
 
virtual Bool_t ResetEntry ()
 
void SetAnalysisTree (TRestAnalysisTree *tree)
 Set analysis tree of this process, then add observables to it.
 
void SetCanvasSize (Int_t x, Int_t y)
 Set canvas size. More...
 
void SetFriendProcess (TRestEventProcess *p)
 Add friendly process to this process.
 
void SetObservableValidation (bool validate)
 
void SetParallelProcess (TRestEventProcess *p)
 Add parallel process to this process.
 
void SetRunInfo (TRestRun *r)
 Set TRestRun for this process. More...
 
Bool_t singleThreadOnly () const
 Return whether this process is single std::thread only. More...
 
 TRestEventProcess ()
 
 ~TRestEventProcess ()
 

Private Attributes

std::vector< Int_t > fChannelIds
 

Additional Inherited Members

- Protected Types inherited from TRestEventProcess
enum  REST_Process_Output { No_Output , Observable , Internal_Var , Full_Output }
 
- Protected Member Functions inherited from TRestEventProcess
void BeginPrintProcess ()
 [name, cut range]
 
void CreateCanvas ()
 Create the canvas. More...
 
void EndPrintProcess ()
 
TRestEventProcessGetFriend (const std::string &nameOrType)
 
TRestEventProcessGetFriendLive (const std::string &nameOrType)
 
template<class T >
T * GetMetadata ()
 Get a metadata object from the host TRestRun. More...
 
TRestMetadataGetMetadata (const std::string &nameOrType)
 
size_t GetNumberOfParallelProcesses () const
 
template<class T >
GetObservableValue (const std::string &name)
 
TRestEventProcessGetParallel (int i)
 
template<class T >
std::vector< T > GetParallelDataMembers (T *member_of_process)
 Get a list of data members from parallel processes which is same to this process's certain data member. More...
 
template<class T >
void SetObservableValue (const std::string &name, const T &value)
 Set observable value for AnalysisTree. More...
 
- Protected Attributes inherited from TRestEventProcess
TRestAnalysisTreefAnalysisTree = nullptr
 
TCanvas * fCanvas = nullptr
 < Canvas for some viewer event More...
 
TVector2 fCanvasSize
 Canvas size. More...
 
std::vector< std::pair< std::string, TVector2 > > fCuts
 Stores cut definitions. Any listed observables should be in the range. More...
 
bool fDynamicObs = false
 It defines whether to use added observables only or all the observables appear in the code. More...
 
bool fIsExternal = false
 It defines if the process reads event data from an external source. More...
 
std::map< std::string, int > fObservablesDefined
 Stores the list of all the appeared process observables in the code. More...
 
std::map< std::string, int > fObservablesUpdated
 Stores the list of process observables updated when processing this event. More...
 
bool fReadOnly = false
 not used, keep for compatibility More...
 
TRestRunfRunInfo = nullptr
 < Pointer to TRestRun object where to find metadata. More...
 
bool fSingleThreadOnly = false
 
bool fValidateObservables = false
 It defines if observable names should be added to the validation list. More...
 

Constructor & Destructor Documentation

◆ TRestRawSignalRecoverChannelsProcess() [1/2]

TRestRawSignalRecoverChannelsProcess::TRestRawSignalRecoverChannelsProcess ( )
inline

Definition at line 42 of file TRestRawSignalRecoverChannelsProcess.h.

◆ TRestRawSignalRecoverChannelsProcess() [2/2]

TRestRawSignalRecoverChannelsProcess::TRestRawSignalRecoverChannelsProcess ( char *  configFilename)
inline

Definition at line 47 of file TRestRawSignalRecoverChannelsProcess.h.

Member Function Documentation

◆ PrintMetadata()

void TRestRawSignalRecoverChannelsProcess::PrintMetadata ( )
inlineoverridevirtual

It prints out the process parameters stored in the metadata structure.

Reimplemented from TRestLegacyProcess.

Definition at line 34 of file TRestRawSignalRecoverChannelsProcess.h.

Field Documentation

◆ fChannelIds

std::vector<Int_t> TRestRawSignalRecoverChannelsProcess::fChannelIds
private

Definition at line 31 of file TRestRawSignalRecoverChannelsProcess.h.


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