#include <C0HadEarlyEcalBar1.h>
Inheritance diagram for FastShower::C0HadEarlyEcalBar1:
Public Methods | |
C0HadEarlyEcalBar1 (IUpdatingGaussian *, IProcessedDist *, IInTail *) | |
C0HadEarlyEcalBar1 (const IConfigurer *, const std::string &) | |
virtual ISampler * | clone () const |
ISampler Interface. | |
virtual void | sample (const PolyArgs &, CoreSamples &) const |
sample and fill CoreSamples. | |
virtual double | lastValue (const CoreSamples &) const |
read back last deposit - used by monitoring code. | |
virtual void | components (IDebug::Cpts &) const |
Private Methods | |
double | evalTail (const PolyArgs &) const |
double | evalPeak (const PolyArgs &) const |
Private Attributes | |
SP< IUpdatingGaussian > | m_peak |
SP< IProcessedDist > | m_tail |
SP< IInTail > | m_inTail |
Static Private Attributes | |
const double | s_nSigma1 |
const double | s_nSigma2 |
const double | s_nSigma3 |
|
Definition at line 27 of file C0HadEarlyEcalBar1.cxx. Referenced by clone().
|
|
Definition at line 33 of file C0HadEarlyEcalBar1.cxx. References FastShower::IConfigurer::findIUG(), m_inTail, m_peak, m_tail, FastShower::IConfigurer::makeIInTail(), FastShower::IConfigurer::makeProcessedFlat(), and FastShower::DebugBase::text().
|
|
ISampler Interface.
Implements FastShower::ISampler. Definition at line 42 of file C0HadEarlyEcalBar1.cxx. References C0HadEarlyEcalBar1().
00042 { 00043 return new C0HadEarlyEcalBar1(*this); 00044 } |
|
sample and fill CoreSamples.
Implements FastShower::ISampler. Definition at line 47 of file C0HadEarlyEcalBar1.cxx. References FastShower::ParticleParameters::delPhi(), FastShower::ParticleParameters::energy(), evalPeak(), evalTail(), FastShower::CoreSamples::fill(), m_inTail, and FastShower::PolyArgs::pp().
00048 { 00049 00050 // 00051 double energy = pa.pp()->energy(); 00052 double aDelPhi = fabs(pa.pp()->delPhi()); 00053 // 00054 if ( energy<30.0 && aDelPhi>0.035 ){ 00055 cs.fill(this, evalPeak(pa)); 00056 }else{ 00057 if( m_inTail->operator()(pa) ){ 00058 cs.fill(this, evalTail(pa)); 00059 }else{ 00060 cs.fill(this, evalPeak(pa)); 00061 } 00062 } 00063 } |
|
read back last deposit - used by monitoring code.
Implements FastShower::ISampler. Definition at line 102 of file C0HadEarlyEcalBar1.cxx. References FastShower::CoreSamples::give().
00102 { 00103 return cs.give(this); 00104 } |
|
Reimplemented from FastShower::DebugBase. Definition at line 106 of file C0HadEarlyEcalBar1.cxx. References m_inTail, m_peak, and m_tail.
|
|
Definition at line 65 of file C0HadEarlyEcalBar1.cxx. References FastShower::ParticleParameters::energy(), m_peak, m_tail, FastShower::PolyArgs::pp(), s_nSigma1, s_nSigma2, and s_nSigma3. Referenced by sample().
00065 { 00066 00067 pair<double, double> peakParams = m_peak->parameters(pa); 00068 double peakMean = peakParams.first; 00069 double peakSigma = peakParams.second; 00070 00071 //calculate ther upper and lower limits of the tails 00072 // 00073 // tail 00074 double energy = pa.pp()->energy(); 00075 double uLimit = peakMean - s_nSigma1*peakSigma; 00076 uLimit = min(uLimit,1.0); 00077 uLimit = max(uLimit,0.0); 00078 // 00079 double lLimit; 00080 if (energy<30.0) { 00081 lLimit = 0.0; 00082 }else if (energy<70.0) { 00083 lLimit = peakMean - s_nSigma2*peakSigma; 00084 }else { 00085 lLimit = peakMean - s_nSigma3*peakSigma; 00086 } 00087 lLimit = max(lLimit,0.0); 00088 if(lLimit>uLimit){lLimit=0.0;} 00089 // 00090 if (!(uLimit-lLimit)>0.0) { 00091 lLimit = 0.0; 00092 uLimit = 1.0; 00093 } 00094 LinearProcessor lp( (uLimit-lLimit),lLimit ); 00095 return m_tail->sample(&lp); 00096 } |
|
Definition at line 98 of file C0HadEarlyEcalBar1.cxx. Referenced by sample().
00098 { 00099 return m_peak->sample(0.0, 100, 1.0, 100, pa); 00100 } |
|
Definition at line 80 of file C0HadEarlyEcalBar1.h. Referenced by C0HadEarlyEcalBar1(), components(), and evalTail(). |
|
Definition at line 81 of file C0HadEarlyEcalBar1.h. Referenced by C0HadEarlyEcalBar1(), components(), and evalTail(). |
|
Definition at line 82 of file C0HadEarlyEcalBar1.h. Referenced by C0HadEarlyEcalBar1(), components(), and sample(). |
|
Referenced by evalTail(). |
|
Referenced by evalTail(). |
|
Referenced by evalTail(). |