ATLAS Offline Software
Public Member Functions | Protected Member Functions | Protected Attributes | Private Attributes | List of all members
ZDCPrePulseFitWrapper Class Referenceabstract

#include <ZDCFitWrapper.h>

Inheritance diagram for ZDCPrePulseFitWrapper:
Collaboration diagram for ZDCPrePulseFitWrapper:

Public Member Functions

 ZDCPrePulseFitWrapper (std::shared_ptr< TF1 > wrapperTF1)
 
virtual void SetInitialPrePulse (float amp, float t0, float expamp, bool fixPrePulseToZero)=0
 
virtual void SetPrePulseT0Range (float tmin, float tmax)=0
 
virtual void SetPostPulseT0Range (float tmin, float tmax, float initialPostT0)=0
 
virtual unsigned int GetPreT0ParIndex () const =0
 
virtual float GetPreT0 () const =0
 
virtual float GetPreAmp () const =0
 
virtual float GetPostT0 () const =0
 
virtual float GetPostAmp () const =0
 
virtual float GetExpAmp () const =0
 
void Initialize (float initialAmp, float initialT0, float ampMin, float ampMax)
 
void Initialize (float initialAmp, float initialT0, float ampMin, float ampMax, float fitTmin, float fitTmax, float fitTRef)
 
virtual void DoInitialize (float initialAmp, float initialT0, float ampMin, float ampMax)=0
 
void SetAmpMinMax (float minAmp, float maxAmp)
 
void SetT0Range (float t0Min, float t0Max)
 
virtual void ConstrainFit ()=0
 
virtual void UnconstrainFit ()=0
 
virtual float GetAmplitude () const =0
 
virtual float GetAmpError () const =0
 
virtual float GetTime () const =0
 
virtual float GetTau1 () const =0
 
virtual float GetTau2 () const =0
 
float GetMinAmp () const
 
float GetMaxAmp () const
 
float GetTMin () const
 
float GetTMax () const
 
float GetT0Min () const
 
float GetT0Max () const
 
float GetTMinAdjust () const
 
virtual float GetBkgdMaxFraction () const =0
 
virtual float GetShapeParameter (size_t index) const =0
 
virtual double operator() (const double *x, const double *p)=0
 
virtual std::shared_ptr< TF1 > GetWrapperTF1 ()
 
virtual const TF1 * GetWrapperTF1 () const
 
virtual TF1 * GetWrapperTF1RawPtr () const
 

Protected Member Functions

virtual void SetT0FitLimits (float tMin, float tMax)=0
 

Protected Attributes

float m_preT0Min
 
float m_preT0Max
 

Private Attributes

std::shared_ptr< TF1 > m_wrapperTF1 {}
 
float m_tmin {0}
 
float m_tmax {0}
 
float m_ampMin {0}
 
float m_ampMax {0}
 
float m_t0Min {0}
 
float m_t0Max {0}
 
bool m_adjTLimitsEvent {false}
 
float m_tminAdjust {0}
 
float m_tempTmin {0}
 
float m_tempTmax {0}
 

Detailed Description

Definition at line 115 of file ZDCFitWrapper.h.

Constructor & Destructor Documentation

◆ ZDCPrePulseFitWrapper()

ZDCPrePulseFitWrapper::ZDCPrePulseFitWrapper ( std::shared_ptr< TF1 >  wrapperTF1)
inline

Definition at line 121 of file ZDCFitWrapper.h.

121  : ZDCFitWrapper(wrapperTF1)
122  {
123  m_preT0Min = GetTMin();
124  m_preT0Max = GetTMax();
125  }

Member Function Documentation

◆ ConstrainFit()

virtual void ZDCFitWrapper::ConstrainFit ( )
pure virtualinherited

◆ DoInitialize()

virtual void ZDCFitWrapper::DoInitialize ( float  initialAmp,
float  initialT0,
float  ampMin,
float  ampMax 
)
pure virtualinherited

◆ GetAmpError()

virtual float ZDCFitWrapper::GetAmpError ( ) const
pure virtualinherited

◆ GetAmplitude()

virtual float ZDCFitWrapper::GetAmplitude ( ) const
pure virtualinherited

◆ GetBkgdMaxFraction()

virtual float ZDCFitWrapper::GetBkgdMaxFraction ( ) const
pure virtualinherited

◆ GetExpAmp()

virtual float ZDCPrePulseFitWrapper::GetExpAmp ( ) const
pure virtual

◆ GetMaxAmp()

float ZDCFitWrapper::GetMaxAmp ( ) const
inlineinherited

Definition at line 87 of file ZDCFitWrapper.h.

87 {return m_ampMax;}

◆ GetMinAmp()

float ZDCFitWrapper::GetMinAmp ( ) const
inlineinherited

Definition at line 86 of file ZDCFitWrapper.h.

86 {return m_ampMin;}

◆ GetPostAmp()

virtual float ZDCPrePulseFitWrapper::GetPostAmp ( ) const
pure virtual

◆ GetPostT0()

virtual float ZDCPrePulseFitWrapper::GetPostT0 ( ) const
pure virtual

◆ GetPreAmp()

virtual float ZDCPrePulseFitWrapper::GetPreAmp ( ) const
pure virtual

◆ GetPreT0()

virtual float ZDCPrePulseFitWrapper::GetPreT0 ( ) const
pure virtual

◆ GetPreT0ParIndex()

virtual unsigned int ZDCPrePulseFitWrapper::GetPreT0ParIndex ( ) const
pure virtual

◆ GetShapeParameter()

virtual float ZDCFitWrapper::GetShapeParameter ( size_t  index) const
pure virtualinherited

◆ GetT0Max()

float ZDCFitWrapper::GetT0Max ( ) const
inlineinherited

Definition at line 97 of file ZDCFitWrapper.h.

97  {
98  if (m_adjTLimitsEvent) return m_tempTmax;
99  else return m_t0Max;
100  }

◆ GetT0Min()

float ZDCFitWrapper::GetT0Min ( ) const
inlineinherited

Definition at line 92 of file ZDCFitWrapper.h.

92  {
93  if (m_adjTLimitsEvent) return m_tempTmin;
94  else return m_t0Min;
95  }

◆ GetTau1()

virtual float ZDCFitWrapper::GetTau1 ( ) const
pure virtualinherited

◆ GetTau2()

virtual float ZDCFitWrapper::GetTau2 ( ) const
pure virtualinherited

◆ GetTime()

virtual float ZDCFitWrapper::GetTime ( ) const
pure virtualinherited

◆ GetTMax()

float ZDCFitWrapper::GetTMax ( ) const
inlineinherited

Definition at line 90 of file ZDCFitWrapper.h.

90 {return m_tmax;}

◆ GetTMin()

float ZDCFitWrapper::GetTMin ( ) const
inlineinherited

Definition at line 89 of file ZDCFitWrapper.h.

89 {return m_tmin;}

◆ GetTMinAdjust()

float ZDCFitWrapper::GetTMinAdjust ( ) const
inlineinherited

Definition at line 102 of file ZDCFitWrapper.h.

102 {return m_tminAdjust;}

◆ GetWrapperTF1() [1/2]

virtual std::shared_ptr<TF1> ZDCFitWrapper::GetWrapperTF1 ( )
inlinevirtualinherited

Definition at line 110 of file ZDCFitWrapper.h.

110 {return m_wrapperTF1;}

◆ GetWrapperTF1() [2/2]

virtual const TF1* ZDCFitWrapper::GetWrapperTF1 ( ) const
inlinevirtualinherited

Definition at line 111 of file ZDCFitWrapper.h.

111 {return m_wrapperTF1.get();}

◆ GetWrapperTF1RawPtr()

virtual TF1* ZDCFitWrapper::GetWrapperTF1RawPtr ( ) const
inlinevirtualinherited

Definition at line 112 of file ZDCFitWrapper.h.

112 {return m_wrapperTF1.get();}

◆ Initialize() [1/2]

void ZDCFitWrapper::Initialize ( float  initialAmp,
float  initialT0,
float  ampMin,
float  ampMax 
)
inherited

Definition at line 9 of file ZDCFitWrapper.cxx.

10 {
11  // Clear the errors on the TF1 because retaining the errors seems to affect
12  // the convergence of fits
13  //
14  unsigned int npar = GetWrapperTF1()->GetNpar();
15  std::vector<double> zeroVec(npar, 0.0);
16  GetWrapperTF1()->SetParErrors(&zeroVec[0]);
17 
18  // If we adjusted the time range on the previous event, restore to default
19  //
20  if (m_adjTLimitsEvent) {
22 
23  m_adjTLimitsEvent = false;
24  m_tminAdjust = 0;
25  }
26 
27  SetAmpMinMax(ampMin, ampMax);
28 
29  DoInitialize(initialAmp, initialT0, ampMin, ampMax);
30 }

◆ Initialize() [2/2]

void ZDCFitWrapper::Initialize ( float  initialAmp,
float  initialT0,
float  ampMin,
float  ampMax,
float  fitTmin,
float  fitTmax,
float  fitTRef 
)
inherited

Definition at line 32 of file ZDCFitWrapper.cxx.

33 {
34  // Clear the errors on the TF1 because retaining the errors seems to affect
35  // the convergence of fits
36  //
37  unsigned int npar = GetWrapperTF1()->GetNpar();
38  std::vector<double> zeroVec(npar, 0.0);
39  GetWrapperTF1()->SetParErrors(&zeroVec[0]);
40 
41  m_adjTLimitsEvent = true;
42 
43  m_tminAdjust = fitTRef; // Note: this is the time corresponding to the sample used for presample subtraction
44 
45  m_tempTmin = std::max(m_t0Min, fitTmin);
46  m_tempTmax = std::min(m_t0Max, fitTmax);
47 
48  SetAmpMinMax(ampMin, ampMax);
50 
51  DoInitialize(initialAmp, initialT0, ampMin, ampMax);
52 }

◆ operator()()

virtual double ZDCFitWrapper::operator() ( const double *  x,
const double *  p 
)
pure virtualinherited

◆ SetAmpMinMax()

void ZDCFitWrapper::SetAmpMinMax ( float  minAmp,
float  maxAmp 
)
inlineinherited

Definition at line 63 of file ZDCFitWrapper.h.

64  {
65  m_ampMin = minAmp;
66  m_ampMax = maxAmp;
67  }

◆ SetInitialPrePulse()

virtual void ZDCPrePulseFitWrapper::SetInitialPrePulse ( float  amp,
float  t0,
float  expamp,
bool  fixPrePulseToZero 
)
pure virtual

◆ SetPostPulseT0Range()

virtual void ZDCPrePulseFitWrapper::SetPostPulseT0Range ( float  tmin,
float  tmax,
float  initialPostT0 
)
pure virtual

◆ SetPrePulseT0Range()

virtual void ZDCPrePulseFitWrapper::SetPrePulseT0Range ( float  tmin,
float  tmax 
)
pure virtual

◆ SetT0FitLimits()

virtual void ZDCFitWrapper::SetT0FitLimits ( float  tMin,
float  tMax 
)
protectedpure virtualinherited

◆ SetT0Range()

void ZDCFitWrapper::SetT0Range ( float  t0Min,
float  t0Max 
)
inlineinherited

Definition at line 69 of file ZDCFitWrapper.h.

70  {
71  m_t0Min = t0Min;
72  m_t0Max = t0Max;
73 
74  SetT0FitLimits(t0Min, t0Max);
75  }

◆ UnconstrainFit()

virtual void ZDCFitWrapper::UnconstrainFit ( )
pure virtualinherited

Member Data Documentation

◆ m_adjTLimitsEvent

bool ZDCFitWrapper::m_adjTLimitsEvent {false}
privateinherited

Definition at line 32 of file ZDCFitWrapper.h.

◆ m_ampMax

float ZDCFitWrapper::m_ampMax {0}
privateinherited

Definition at line 27 of file ZDCFitWrapper.h.

◆ m_ampMin

float ZDCFitWrapper::m_ampMin {0}
privateinherited

Definition at line 26 of file ZDCFitWrapper.h.

◆ m_preT0Max

float ZDCPrePulseFitWrapper::m_preT0Max
protected

Definition at line 119 of file ZDCFitWrapper.h.

◆ m_preT0Min

float ZDCPrePulseFitWrapper::m_preT0Min
protected

Definition at line 118 of file ZDCFitWrapper.h.

◆ m_t0Max

float ZDCFitWrapper::m_t0Max {0}
privateinherited

Definition at line 30 of file ZDCFitWrapper.h.

◆ m_t0Min

float ZDCFitWrapper::m_t0Min {0}
privateinherited

Definition at line 29 of file ZDCFitWrapper.h.

◆ m_tempTmax

float ZDCFitWrapper::m_tempTmax {0}
privateinherited

Definition at line 35 of file ZDCFitWrapper.h.

◆ m_tempTmin

float ZDCFitWrapper::m_tempTmin {0}
privateinherited

Definition at line 34 of file ZDCFitWrapper.h.

◆ m_tmax

float ZDCFitWrapper::m_tmax {0}
privateinherited

Definition at line 24 of file ZDCFitWrapper.h.

◆ m_tmin

float ZDCFitWrapper::m_tmin {0}
privateinherited

Definition at line 23 of file ZDCFitWrapper.h.

◆ m_tminAdjust

float ZDCFitWrapper::m_tminAdjust {0}
privateinherited

Definition at line 33 of file ZDCFitWrapper.h.

◆ m_wrapperTF1

std::shared_ptr<TF1> ZDCFitWrapper::m_wrapperTF1 {}
privateinherited

Definition at line 21 of file ZDCFitWrapper.h.


The documentation for this class was generated from the following file:
ZDCFitWrapper::ZDCFitWrapper
ZDCFitWrapper(const std::shared_ptr< TF1 > &wrapperTF1)
Definition: ZDCFitWrapper.h:43
ZDCFitWrapper::m_wrapperTF1
std::shared_ptr< TF1 > m_wrapperTF1
Definition: ZDCFitWrapper.h:21
ZDCFitWrapper::m_tmin
float m_tmin
Definition: ZDCFitWrapper.h:23
ZDCFitWrapper::SetT0FitLimits
virtual void SetT0FitLimits(float tMin, float tMax)=0
max
#define max(a, b)
Definition: cfImp.cxx:41
ZDCFitWrapper::DoInitialize
virtual void DoInitialize(float initialAmp, float initialT0, float ampMin, float ampMax)=0
ZDCPrePulseFitWrapper::m_preT0Max
float m_preT0Max
Definition: ZDCFitWrapper.h:119
ZDCFitWrapper::m_ampMin
float m_ampMin
Definition: ZDCFitWrapper.h:26
ZDCFitWrapper::m_t0Max
float m_t0Max
Definition: ZDCFitWrapper.h:30
ZDCFitWrapper::GetWrapperTF1
virtual std::shared_ptr< TF1 > GetWrapperTF1()
Definition: ZDCFitWrapper.h:110
ZDCFitWrapper::m_adjTLimitsEvent
bool m_adjTLimitsEvent
Definition: ZDCFitWrapper.h:32
ZDCFitWrapper::m_tempTmax
float m_tempTmax
Definition: ZDCFitWrapper.h:35
ZDCFitWrapper::m_ampMax
float m_ampMax
Definition: ZDCFitWrapper.h:27
ZDCFitWrapper::GetTMin
float GetTMin() const
Definition: ZDCFitWrapper.h:89
min
#define min(a, b)
Definition: cfImp.cxx:40
ZDCFitWrapper::m_t0Min
float m_t0Min
Definition: ZDCFitWrapper.h:29
ZDCFitWrapper::m_tminAdjust
float m_tminAdjust
Definition: ZDCFitWrapper.h:33
ZDCFitWrapper::m_tmax
float m_tmax
Definition: ZDCFitWrapper.h:24
ZDCFitWrapper::SetAmpMinMax
void SetAmpMinMax(float minAmp, float maxAmp)
Definition: ZDCFitWrapper.h:63
ZDCFitWrapper::GetTMax
float GetTMax() const
Definition: ZDCFitWrapper.h:90
ZDCPrePulseFitWrapper::m_preT0Min
float m_preT0Min
Definition: ZDCFitWrapper.h:118
ZDCFitWrapper::m_tempTmin
float m_tempTmin
Definition: ZDCFitWrapper.h:34