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

Detailed Description

An event container for time rawdata signals with fixed length.

The TRestRawSignalEvent ...

DOCUMENTATION TO BE WRITTEN (main description, figures, methods, data members)


Warning
⚠ REST is under continous development. This documentation is offered to you by the REST community. Your HELP is needed to keep this code up to date. Your feedback will be worth to support this software, please report any problems/suggestions you may find while using it at The REST Framework forum. You are welcome to contribute fixing typos, updating information or adding/proposing new contributions. See also our Contribution Guide.

RESTsoft - Software for Rare Event Searches with TPCs

History of developments:

2017-Feb: First concept (inspired by TRestDetectorSignalEvent) Javier Galan

Author
Javier Galan

Definition at line 40 of file TRestRawSignalEvent.h.

#include <TRestRawSignalEvent.h>

Inheritance diagram for TRestRawSignalEvent:
TRestEvent

Public Member Functions

void AddChargeToSignal (Int_t sgnlID, Int_t bin, Short_t value)
 
void AddSignal (TRestRawSignal &s)
 
TPad * DrawEvent (const TString &option="")
 This method draws current raw signal event in a TPad. More...
 
TPad * DrawSignal (Int_t signalID, const TString &option="")
 This method draws selected signalID by ID, with baseline range and points over threshold highlighted. More...
 
void DrawSignals (TPad *pad, const std::vector< Int_t > &signals)
 This method draws selected signal IDs, given by the vector passed as reference.
 
auto GetAuxiliar ()
 
Double_t GetAverageWidth (Double_t minPeakAmplitude=0)
 
Double_t GetBaseLineAverage ()
 
Double_t GetBaseLineSigmaAverage ()
 
Double_t GetIntegral ()
 
Double_t GetLowAverageWidth (Int_t nSignals=5, Double_t minPeakAmplitude=0)
 
Int_t GetLowestWidth (Double_t minPeakAmplitude=0)
 
TRestRawSignalGetMaxSignal ()
 
Double_t GetMaxTime ()
 
Double_t GetMaxValue ()
 
Double_t GetMinTime ()
 
Double_t GetMinValue ()
 
Int_t GetNumberOfSignals () const
 
TRestRawReadoutMetadataGetReadoutMetadata () const
 
Double_t GetRiseSlope ()
 
Double_t GetRiseTime ()
 
TRestRawSignalGetSignal (Int_t n)
 
TRestRawSignalGetSignalById (Int_t sid)
 
TRestRawSignalEvent GetSignalEventForType (const std::string &type) const
 
TRestRawSignalEvent GetSignalEventForTypes (const std::set< std::string > &types, const TRestRawReadoutMetadata *readoutMetadata=nullptr) const
 
std::vector< int > GetSignalIds ()
 
Int_t GetSignalIndex (Int_t signalID)
 
std::vector< TRestRawSignalGetSignals () const
 
Double_t GetSlopeIntegral ()
 
Double_t GetThresholdIntegral ()
 
Double_t GetTripleMaxIntegral ()
 
void Initialize ()
 
Bool_t isBaseLineInitialized ()
 
void PrintEvent ()
 
void PrintSignalIds ()
 
void RemoveSignalWithId (Int_t sId)
 
void SetAuxiliar (Double_t aux)
 
void SetBaseLineRange (Int_t from, Int_t to, std::string option="")
 
void SetBaseLineRange (TVector2 blRange, std::string option="")
 
void SetRange (Int_t from, Int_t to)
 
void SetRange (TVector2 range)
 
void SetTailPoints (Int_t p)
 
Bool_t signalIDExists (Int_t sID)
 
- Public Member Functions inherited from TRestEvent
virtual void CloneTo (TRestEvent *target)
 Clone the content of this TRestEvent object to another. More...
 
Int_t GetID () const
 
Int_t GetRunOrigin () const
 
TString GetSubEventTag () const
 
Int_t GetSubID () const
 
Int_t GetSubRunOrigin () const
 
Double_t GetTime () const
 
TTimeStamp GetTimeStamp () const
 
virtual void InitializeReferences (TRestRun *run)
 Initialize dynamical references when loading the event from a root file. More...
 
virtual void InitializeWithMetadata (TRestRun *run)
 
Bool_t isOk () const
 
virtual void PrintEvent () const
 
void SetEventInfo (TRestEvent *eve)
 
void SetID (Int_t id)
 
void SetOK (Bool_t state)
 
void SetRunOrigin (Int_t run_origin)
 
void SetState (Bool_t state)
 
void SetSubEventTag (const TString &tag)
 
void SetSubID (Int_t id)
 
void SetSubRunOrigin (Int_t sub_run_origin)
 
void SetTime (Double_t seconds, Double_t nanoseconds)
 
void SetTime (Double_t time)
 
void SetTimeStamp (const TTimeStamp &time)
 
 TRestEvent ()
 
virtual ~TRestEvent ()
 

Protected Attributes

Double_t fAuxiliar = 0
 
TVector2 fBaseLineRange = TVector2(-1, -1)
 
Double_t fMaxTime
 
Double_t fMaxValue
 
Double_t fMinTime
 
Double_t fMinValue
 
TVector2 fRange = TVector2(-1, -1)
 
std::vector< TRestRawSignalfSignal
 
TGraph * gr
 
- Protected Attributes inherited from TRestEvent
Int_t fEventID
 Event identification number.
 
TTimeStamp fEventTime
 Absolute event time.
 
Bool_t fOk
 Flag to be used by processes to define an event status. fOk=true is the default.
 
TPad * fPad
 
TRestRunfRun = nullptr
 
Int_t fRunOrigin
 Run ID number of the event.
 
Int_t fSubEventID
 Sub-Event identification number.
 
TString fSubEventTag
 A short length label to identify the sub-Event.
 
Int_t fSubRunOrigin
 Sub-run ID number of the event.
 

Private Member Functions

void SetMaxAndMin ()
 

Additional Inherited Members

- Protected Member Functions inherited from TRestEvent
void RestartPad (Int_t nElements)
 

Member Function Documentation

◆ AddChargeToSignal()

void TRestRawSignalEvent::AddChargeToSignal ( Int_t  signalID,
Int_t  bin,
Short_t  value 
)

Perhaps we should not subtract baselines on a TRestRawSignal. Just consider it in the observables calculation if a baseline range is provided in the argument (as it is done in InitializeThresholdIntegral). This method should be probably removed.

Definition at line 289 of file TRestRawSignalEvent.cxx.

◆ DrawEvent()

TPad * TRestRawSignalEvent::DrawEvent ( const TString &  option = "")
virtual

This method draws current raw signal event in a TPad.

This method receives an optional argument as string that allows to control which signals will be plotted. Different options can be passed to the string by separated the options using colons, as "option1:option2:option3".

The following options are allowed:

  1. from-to: It imposes that only the signal entries on the specified range will be plotted.
  2. ids[startId,endId] or signalRangeID[startId,endId]: It imposes that the signal ids drawn are inside the given range. Giving the range using - symbol (as in previous option) is also allowed. I.e. ids[10-20].
  1. onlyGoodSignals[pointTh,signalTh,nOver]: It imposes that only signals where points were identified over the threshold will be plotted. The parameters provided are the parameters given to the method TRestRawSignal::InitializePointsOverThreshold.
    Warning
    When using this option baseLineRange option must also be defined.
  2. baseLineRange[start,end]: It defines the bin range (start,end) where the baseline will be calculated.
  3. printIDs: Prints by screen the ID of plotted signals.

If no option is given, all signals will be plotted.

Example 1:

DrawEvent("0-10:onlyGoodSignals[3.5,1.5,7]:baseLineRange[20,150]:printIDs");
TPad * DrawEvent(const TString &option="")
This method draws current raw signal event in a TPad.

Example 2:

DrawEvent("signalRangeID[800,900]:onlyGoodSignals[3.5,1.5,7]:baseLineRange[20,150]");

Example 3:

DrawEvent("ids[800,900]:printIDs");

Reimplemented from TRestEvent.

Definition at line 413 of file TRestRawSignalEvent.cxx.

◆ DrawSignal()

TPad * TRestRawSignalEvent::DrawSignal ( Int_t  signalID,
const TString &  option = "" 
)

This method draws selected signalID by ID, with baseline range and points over threshold highlighted.

In order to compute points over threshold the following parameters should be provided:

goodSignals[pointTh,signalTh,nOver]: These parameters are the ones needed to call the method TRestRawSignal::InitializePointsOverThreshold.

Warning
When using this option baseLineRange option must also be defined.

baseLineRange[start,end]: It defines the bin range (start,end) where the baseline will be calculated.

Example 1:

DrawEvent(100,"goodSignals[3.5,1.5,7]:baseLineRange[20,150]");

Definition at line 692 of file TRestRawSignalEvent.cxx.

◆ GetThresholdIntegral()

Double_t TRestRawSignalEvent::GetThresholdIntegral ( )

The result if this method depends on InitializePointsOverThreshold. Arguments are given there.

Definition at line 136 of file TRestRawSignalEvent.cxx.

◆ Initialize()

void TRestRawSignalEvent::Initialize ( )
virtual

Run to initialize event data. To be re-implemented in derived class, you may want to call the base class at the end of the re-implemented, by calling TRestEvent::Initialize();

Implements TRestEvent.

Definition at line 83 of file TRestRawSignalEvent.cxx.

◆ SetBaseLineRange() [1/2]

void TRestRawSignalEvent::SetBaseLineRange ( Int_t  from,
Int_t  to,
std::string  option = "" 
)
inline

It sets the range to be used for the baseline calculation and calls TRestRawSignal::CalculateBaseLine()

Definition at line 88 of file TRestRawSignalEvent.h.

◆ SetBaseLineRange() [2/2]

void TRestRawSignalEvent::SetBaseLineRange ( TVector2  blRange,
std::string  option = "" 
)
inline

It sets the range to be used for the baseline calculation and calls TRestRawSignal::CalculateBaseLine()

Definition at line 82 of file TRestRawSignalEvent.h.


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