![]() |
![]() |
#include <HBHEPulseShapeFlag.h>
Public Member Functions | |
void | Clear () |
HBHEPulseShapeFlagSetter () | |
HBHEPulseShapeFlagSetter (double MinimumChargeThreshold, unsigned int TrianglePeakTS, std::vector< double > LinearThreshold, std::vector< double > LinearCut, std::vector< double > RMS8MaxThreshold, std::vector< double > RMS8MaxCut, std::vector< double > LeftSlopeThreshold, std::vector< double > LeftSlopeCut, std::vector< double > RightSlopeThreshold, std::vector< double > RightSlopeCut, std::vector< double > RightSlopeSmallThreshold, std::vector< double > RightSlopeSmallCut, bool UseDualFit, bool TriangleIgnoreSlow) | |
void | Initialize () |
void | SetPulseShapeFlags (HBHERecHit &hbhe, const HBHEDataFrame &digi, const HcalCoder &coder, const HcalCalibrations &calib) |
~HBHEPulseShapeFlagSetter () | |
Private Member Functions | |
double | CalculateRMS8Max (const std::vector< double > &Charge) |
bool | CheckPassFilter (double Charge, double Discriminant, std::vector< std::pair< double, double > > &Cuts, int Side) |
double | DualNominalFitSingleTry (const std::vector< double > &Charge, int Offset, int Distance) |
double | PerformDualNominalFit (const std::vector< double > &Charge) |
double | PerformLinearFit (const std::vector< double > &Charge) |
double | PerformNominalFit (const std::vector< double > &Charge) |
TriangleFitResult | PerformTriangleFit (const std::vector< double > &Charge) |
Private Attributes | |
std::vector< double > | CumulativeIdealPulse |
std::vector< double > | mCharge |
std::vector< std::pair< double, double > > | mLambdaLinearCut |
std::vector< std::pair< double, double > > | mLambdaRMS8MaxCut |
std::vector< std::pair< double, double > > | mLeftSlopeCut |
double | mMinimumChargeThreshold |
std::vector< std::pair< double, double > > | mRightSlopeCut |
std::vector< std::pair< double, double > > | mRightSlopeSmallCut |
bool | mTriangleIgnoreSlow |
int | mTrianglePeakTS |
bool | mUseDualFit |
Definition at line 28 of file HBHEPulseShapeFlag.h.
HBHEPulseShapeFlagSetter::HBHEPulseShapeFlagSetter | ( | ) |
Definition at line 23 of file HBHEPulseShapeFlag.cc.
HBHEPulseShapeFlagSetter::HBHEPulseShapeFlagSetter | ( | double | MinimumChargeThreshold, |
unsigned int | TrianglePeakTS, | ||
std::vector< double > | LinearThreshold, | ||
std::vector< double > | LinearCut, | ||
std::vector< double > | RMS8MaxThreshold, | ||
std::vector< double > | RMS8MaxCut, | ||
std::vector< double > | LeftSlopeThreshold, | ||
std::vector< double > | LeftSlopeCut, | ||
std::vector< double > | RightSlopeThreshold, | ||
std::vector< double > | RightSlopeCut, | ||
std::vector< double > | RightSlopeSmallThreshold, | ||
std::vector< double > | RightSlopeSmallCut, | ||
bool | UseDualFit, | ||
bool | TriangleIgnoreSlow | ||
) |
Definition at line 36 of file HBHEPulseShapeFlag.cc.
References i, and python.multivaluedict::sort().
HBHEPulseShapeFlagSetter::~HBHEPulseShapeFlagSetter | ( | ) |
Definition at line 87 of file HBHEPulseShapeFlag.cc.
|
private |
Definition at line 548 of file HBHEPulseShapeFlag.cc.
References ExpressReco_HICollisions_FallBack::e, i, python.multivaluedict::sort(), and mathSSE::sqrt().
|
private |
Definition at line 652 of file HBHEPulseShapeFlag.cc.
References first, i, and MessageLogger_cff::limit.
void HBHEPulseShapeFlagSetter::Clear | ( | ) |
Definition at line 92 of file HBHEPulseShapeFlag.cc.
|
private |
Definition at line 455 of file HBHEPulseShapeFlag.cc.
References ExpressReco_HICollisions_FallBack::e, and j.
void HBHEPulseShapeFlagSetter::Initialize | ( | ) |
Definition at line 178 of file HBHEPulseShapeFlag.cc.
References HcalPulseShapes::Shape::at(), HcalPulseShapes::hbShape(), and i.
|
private |
Definition at line 407 of file HBHEPulseShapeFlag.cc.
|
private |
Definition at line 591 of file HBHEPulseShapeFlag.cc.
References ExpressReco_HICollisions_FallBack::Deviation, ExpressReco_HICollisions_FallBack::e, and i.
|
private |
Definition at line 340 of file HBHEPulseShapeFlag.cc.
References ExpressReco_HICollisions_FallBack::e, i, and j.
|
private |
Definition at line 214 of file HBHEPulseShapeFlag.cc.
References TriangleFitResult::Chi2, i, TriangleFitResult::LeftSlope, query::result, and TriangleFitResult::RightSlope.
void HBHEPulseShapeFlagSetter::SetPulseShapeFlags | ( | HBHERecHit & | hbhe, |
const HBHEDataFrame & | digi, | ||
const HcalCoder & | coder, | ||
const HcalCalibrations & | calib | ||
) |
Definition at line 97 of file HBHEPulseShapeFlag.cc.
References HcalCoder::adc2fC(), HcalQIESample::capid(), ExpressReco_HICollisions_FallBack::e, HcalCaloFlagLabels::HBHEFlatNoise, HcalCaloFlagLabels::HBHESpikeNoise, HcalCaloFlagLabels::HBHETriangleNoise, i, TriangleFitResult::LeftSlope, funct::log(), HcalCalibrations::pedestal(), TriangleFitResult::RightSlope, HBHEDataFrame::sample(), CaloRecHit::setFlagField(), and HBHEDataFrame::size().
Referenced by HcalHitReconstructor::produce().
|
private |
Definition at line 63 of file HBHEPulseShapeFlag.h.
|
private |
Definition at line 54 of file HBHEPulseShapeFlag.h.
|
private |
Definition at line 56 of file HBHEPulseShapeFlag.h.
|
private |
Definition at line 57 of file HBHEPulseShapeFlag.h.
|
private |
Definition at line 58 of file HBHEPulseShapeFlag.h.
|
private |
Definition at line 52 of file HBHEPulseShapeFlag.h.
|
private |
Definition at line 59 of file HBHEPulseShapeFlag.h.
|
private |
Definition at line 60 of file HBHEPulseShapeFlag.h.
|
private |
Definition at line 62 of file HBHEPulseShapeFlag.h.
|
private |
Definition at line 53 of file HBHEPulseShapeFlag.h.
|
private |
Definition at line 61 of file HBHEPulseShapeFlag.h.