CbmRoot
|
#include <CbmTrdRawToDigiFitR.h>
Public Member Functions | |
CbmTrdRawToDigiFitR () | |
default Constructor with messages | |
CbmTrdRawToDigiFitR (const CbmTrdRawToDigiFitR &)=delete | |
Copy constructor - not implemented! | |
CbmTrdRawToDigiFitR | operator= (const CbmTrdRawToDigiFitR &) |
Assignment operator - not implemented! | |
virtual | ~CbmTrdRawToDigiFitR () |
Destructor. | |
ULong64_t | GetBinTimeShift (const std::vector< std::int16_t > *) |
Get the Bin Time Shift value. | |
Float_t | GetMaxAdcValue (const std::vector< std::int16_t > *) |
Get the MaxAdc value. | |
std::shared_ptr< TF1 > | GetResponseFunc () |
Get the Response Function object. | |
virtual void | SetNrOfPresamples (UInt_t value) |
Set the Nr Of Presamples. | |
virtual void | SetShapingOrder (std::uint8_t value) |
Set the Shaping Order. | |
virtual void | SetShapingTime (Double_t value) |
Set and fix the Shaping Time. | |
virtual void | SetBinTimeshift (Double_t value) |
Set and fix the Bin Timeshift value. | |
virtual void | SetChargeToMaxAdcCal (Double_t value) |
Set the Charge Calibration. | |
void | SetFitRange (UInt_t start, UInt_t end) |
Set the Fit Range. | |
ClassDef (CbmTrdRawToDigiFitR, 2) | |
std::unique_ptr< CbmTrdDigi > | MakeDigi (const std::vector< std::int16_t > *samples, Int_t padChNr, Int_t uniqueModuleId, ULong64_t time, CbmTrdDigi::eTriggerType triggerType, Int_t errClass) |
Get digi from input values. Implemented in the derived classes. | |
Float_t | GetBaseline (const std::vector< std::int16_t > *samples) |
Get the Baseline value. | |
std::shared_ptr< CbmTrdSpadic > | GetSpadicObject () |
Get the spadic class. | |
UInt_t | GetNrOfPresamples () |
Get the Nr Of Presamples. | |
void | SetSpadicObject (std::shared_ptr< CbmTrdSpadic > spadic) |
Set the spadic class. | |
ClassDef (CbmTrdRawToDigiBaseR, 2) | |
Static Public Member Functions | |
static CbmTrdDigi::eTriggerType | GetDigiTriggerType (Spadic::eTriggerType tt) |
Get the Digi Trigger Type from the raw message triggertype. | |
Protected Attributes | |
UInt_t | fNrOfPresamples = CbmTrdSpadic::GetNrOfPresamples() |
Number of presamples before the signal starts (SPADIC default 2) | |
ULong64_t | fCurrentTimeshift = 0 |
Bin timeshift for the current sample set in [ns]. | |
std::shared_ptr< CbmTrdSpadic > | fSpadic = std::make_shared<CbmTrdSpadic>() |
Private Member Functions | |
void | fitResponse (const std::vector< std::int16_t > *samples) |
Perform the fit of the input signal. | |
void | fixExtractionPars () |
Fix the extraction parameters to the default values. | |
void | fixExtractionPar (CbmTrdSpadic::eResponsePars ipar) |
Fix the passed extraction parameter (wrapper function) | |
Private Attributes | |
std::shared_ptr< TF1 > | fResponseFunc = CbmTrdSpadic::GetResponseFunc() |
Response function. | |
UInt_t | fFitRangeStart = fNrOfPresamples |
First sample that is used for the fit. | |
UInt_t | fFitRangeEnd = 10 |
Last sample that is used for the fit. | |
Definition at line 31 of file CbmTrdRawToDigiFitR.h.
CbmTrdRawToDigiFitR::CbmTrdRawToDigiFitR | ( | ) |
default Constructor with messages
Definition at line 15 of file CbmTrdRawToDigiFitR.cxx.
References fixExtractionPars().
|
delete |
Copy constructor - not implemented!
|
inlinevirtual |
Destructor.
Definition at line 53 of file CbmTrdRawToDigiFitR.h.
|
inherited |
CbmTrdRawToDigiFitR::ClassDef | ( | CbmTrdRawToDigiFitR | , |
2 | ) |
|
private |
Perform the fit of the input signal.
samples |
Definition at line 58 of file CbmTrdRawToDigiFitR.cxx.
References fFitRangeEnd, fFitRangeStart, fResponseFunc, CbmTrdRawToDigiBaseR::GetBaseline(), CbmTrdSpadic::kBinTimeshift, and CbmTrdSpadic::kInputCharge.
Referenced by GetBinTimeShift().
|
private |
Fix the passed extraction parameter (wrapper function)
Definition at line 52 of file CbmTrdRawToDigiFitR.cxx.
References fResponseFunc.
Referenced by fixExtractionPars().
|
private |
Fix the extraction parameters to the default values.
Fix NrPresamples, ShapingOrder and ShapingTime to the default values Can still be overwritten by the setter functions
Definition at line 37 of file CbmTrdRawToDigiFitR.cxx.
References fixExtractionPar(), fResponseFunc, CbmTrdSpadic::GetClockCycle(), CbmTrdSpadic::kBinTimeshift, CbmTrdSpadic::kChargeToMaxAdcCal, CbmTrdSpadic::kNrPresamples, CbmTrdSpadic::kShapingOrder, and CbmTrdSpadic::kShapingTime.
Referenced by CbmTrdRawToDigiFitR().
|
inherited |
Get the Baseline value.
The digi charge is an unsigned. Hence, we need to get the baseline to 0
samples |
Definition at line 17 of file CbmTrdRawToDigiBaseR.cxx.
References CbmTrdRawToDigiBaseR::fNrOfPresamples, and CbmTrdRawToDigiBaseR::fSpadic.
Referenced by fitResponse(), CbmTrdRawToDigiLookUpCorrR::GetBinTimeShift(), and CbmTrdRawToDigiMaxAdcR::GetMaxAdcValue().
|
virtual |
Get the Bin Time Shift value.
samples |
Implements CbmTrdRawToDigiBaseR.
Definition at line 26 of file CbmTrdRawToDigiFitR.cxx.
References fitResponse(), fResponseFunc, and CbmTrdSpadic::kBinTimeshift.
|
staticinherited |
Get the Digi Trigger Type from the raw message triggertype.
tt |
Definition at line 36 of file CbmTrdRawToDigiBaseR.cxx.
References Spadic::kGlobal, Spadic::kNeigh, CbmTrdDigi::kNeighbor, CbmTrdDigi::kNTrg, Spadic::kSandN, CbmTrdDigi::kSelf, and Spadic::kSelf.
Referenced by CbmTrdUnpackAlgoLegacy2020R::makeDigi(), CbmTrdUnpackAlgoR::makeDigi(), and CbmTrdUnpackAlgoR::makeDigi().
|
virtual |
Get the MaxAdc value.
samples |
Implements CbmTrdRawToDigiBaseR.
Definition at line 18 of file CbmTrdRawToDigiFitR.cxx.
References fResponseFunc, and CbmTrdSpadic::kInputCharge.
|
inlineinherited |
Get the Nr Of Presamples.
Definition at line 103 of file CbmTrdRawToDigiBaseR.h.
References CbmTrdRawToDigiBaseR::fNrOfPresamples.
|
inline |
Get the Response Function object.
Definition at line 76 of file CbmTrdRawToDigiFitR.h.
References fResponseFunc.
|
inlineinherited |
Get the spadic class.
Definition at line 96 of file CbmTrdRawToDigiBaseR.h.
References CbmTrdRawToDigiBaseR::fSpadic.
|
inherited |
Get digi from input values. Implemented in the derived classes.
Get digi from the input values. The methods how a timeshift within the bins is estimated and how the input charge to the asic is extracted are implemented in the derived classes
samples | Adc samples |
padChNr | Channel number of the pad |
uniqueModuleId | unique Id of the module |
time | Absolute time [ns]. |
triggerType | SPADIC trigger type see CbmTrdTriggerType. |
errClass | SPADIC signal error parametrization based on message type. |
Definition at line 52 of file CbmTrdRawToDigiBaseR.cxx.
References CbmTrdRawToDigiBaseR::fCurrentTimeshift, CbmTrdRawToDigiBaseR::fSpadic, CbmTrdRawToDigiBaseR::GetBinTimeShift(), and CbmTrdRawToDigiBaseR::GetMaxAdcValue().
CbmTrdRawToDigiFitR CbmTrdRawToDigiFitR::operator= | ( | const CbmTrdRawToDigiFitR & | ) |
Assignment operator - not implemented!
|
inlinevirtual |
Set and fix the Bin Timeshift value.
value |
Definition at line 114 of file CbmTrdRawToDigiFitR.h.
References fResponseFunc, and CbmTrdSpadic::kBinTimeshift.
|
inlinevirtual |
Set the Charge Calibration.
value |
Definition at line 124 of file CbmTrdRawToDigiFitR.h.
References fResponseFunc, and CbmTrdSpadic::kChargeToMaxAdcCal.
|
inline |
Set the Fit Range.
start | |
end |
Definition at line 135 of file CbmTrdRawToDigiFitR.h.
References fFitRangeEnd, and fFitRangeStart.
|
inlinevirtual |
Set the Nr Of Presamples.
value |
Reimplemented from CbmTrdRawToDigiBaseR.
Definition at line 83 of file CbmTrdRawToDigiFitR.h.
References CbmTrdRawToDigiBaseR::fNrOfPresamples, fResponseFunc, and CbmTrdSpadic::kNrPresamples.
|
inlinevirtual |
Set the Shaping Order.
value |
Definition at line 94 of file CbmTrdRawToDigiFitR.h.
References fResponseFunc, and CbmTrdSpadic::kShapingOrder.
|
inlinevirtual |
Set and fix the Shaping Time.
value |
Definition at line 104 of file CbmTrdRawToDigiFitR.h.
References fResponseFunc, and CbmTrdSpadic::kShapingTime.
|
inlineinherited |
Set the spadic class.
spadic |
Definition at line 126 of file CbmTrdRawToDigiBaseR.h.
References CbmTrdRawToDigiBaseR::fSpadic.
|
protectedinherited |
Bin timeshift for the current sample set in [ns].
Definition at line 146 of file CbmTrdRawToDigiBaseR.h.
Referenced by CbmTrdRawToDigiLookUpCorrR::GetMaxAdcValue(), and CbmTrdRawToDigiBaseR::MakeDigi().
|
private |
Last sample that is used for the fit.
Definition at line 185 of file CbmTrdRawToDigiFitR.h.
Referenced by fitResponse(), and SetFitRange().
|
private |
First sample that is used for the fit.
Definition at line 179 of file CbmTrdRawToDigiFitR.h.
Referenced by fitResponse(), and SetFitRange().
|
protectedinherited |
Number of presamples before the signal starts (SPADIC default 2)
Definition at line 140 of file CbmTrdRawToDigiBaseR.h.
Referenced by CbmTrdRawToDigiBaseR::GetBaseline(), CbmTrdRawToDigiBaseR::GetNrOfPresamples(), CbmTrdRawToDigiBaseR::SetNrOfPresamples(), SetNrOfPresamples(), and CbmTrdRawToDigiLookUpCorrR::SetNrOfPresamples().
|
private |
Response function.
Spadic obejct internal response function. Use the Getter to access the function and set/fix/etc. parameters.
Definition at line 157 of file CbmTrdRawToDigiFitR.h.
Referenced by fitResponse(), fixExtractionPar(), fixExtractionPars(), GetBinTimeShift(), GetMaxAdcValue(), GetResponseFunc(), SetBinTimeshift(), SetChargeToMaxAdcCal(), SetNrOfPresamples(), SetShapingOrder(), and SetShapingTime().
|
protectedinherited |
Definition at line 148 of file CbmTrdRawToDigiBaseR.h.
Referenced by CbmTrdRawToDigiLookUpCorrR::createAnalyticLookUpTables(), CbmTrdRawToDigiBaseR::GetBaseline(), CbmTrdRawToDigiLookUpCorrR::GetBinTimeShift(), CbmTrdRawToDigiBaseR::GetSpadicObject(), CbmTrdRawToDigiBaseR::MakeDigi(), and CbmTrdRawToDigiBaseR::SetSpadicObject().