#include <HBHEPulseShapeFlag.h>
Public Member Functions | |
void | Clear () |
HBHEPulseShapeFlagSetter () | |
HBHEPulseShapeFlagSetter (double MinimumChargeThreshold, double TS4TS5ChargeThreshold, 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, std::vector< double > TS4TS5UpperThreshold, std::vector< double > TS4TS5UpperCut, std::vector< double > TS4TS5LowerThreshold, std::vector< double > TS4TS5LowerCut, 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 |
double | mTS4TS5ChargeThreshold |
std::vector< std::pair< double, double > > | mTS4TS5LowerCut |
std::vector< std::pair< double, double > > | mTS4TS5UpperCut |
bool | mUseDualFit |
Definition at line 28 of file HBHEPulseShapeFlag.h.
HBHEPulseShapeFlagSetter::HBHEPulseShapeFlagSetter | ( | ) |
Definition at line 23 of file HBHEPulseShapeFlag.cc.
References mMinimumChargeThreshold, and mTS4TS5ChargeThreshold.
HBHEPulseShapeFlagSetter::HBHEPulseShapeFlagSetter | ( | double | MinimumChargeThreshold, |
double | TS4TS5ChargeThreshold, | ||
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, | ||
std::vector< double > | TS4TS5UpperThreshold, | ||
std::vector< double > | TS4TS5UpperCut, | ||
std::vector< double > | TS4TS5LowerThreshold, | ||
std::vector< double > | TS4TS5LowerCut, | ||
bool | UseDualFit, | ||
bool | TriangleIgnoreSlow | ||
) |
Definition at line 37 of file HBHEPulseShapeFlag.cc.
References i, Initialize(), mLambdaLinearCut, mLambdaRMS8MaxCut, mLeftSlopeCut, mMinimumChargeThreshold, mRightSlopeCut, mRightSlopeSmallCut, mTriangleIgnoreSlow, mTrianglePeakTS, mTS4TS5ChargeThreshold, mTS4TS5LowerCut, mTS4TS5UpperCut, mUseDualFit, and python.multivaluedict::sort().
HBHEPulseShapeFlagSetter::~HBHEPulseShapeFlagSetter | ( | ) |
Definition at line 102 of file HBHEPulseShapeFlag.cc.
|
private |
Definition at line 576 of file HBHEPulseShapeFlag.cc.
References alignCSCRings::e, i, python.multivaluedict::sort(), and mathSSE::sqrt().
Referenced by SetPulseShapeFlags().
|
private |
Definition at line 680 of file HBHEPulseShapeFlag.cc.
References first, i, and MessageLogger_cff::limit.
Referenced by SetPulseShapeFlags().
void HBHEPulseShapeFlagSetter::Clear | ( | ) |
Definition at line 107 of file HBHEPulseShapeFlag.cc.
|
private |
Definition at line 483 of file HBHEPulseShapeFlag.cc.
References CumulativeIdealPulse, alignCSCRings::e, and j.
Referenced by PerformDualNominalFit().
void HBHEPulseShapeFlagSetter::Initialize | ( | ) |
Definition at line 206 of file HBHEPulseShapeFlag.cc.
References HcalPulseShape::at(), CumulativeIdealPulse, HcalPulseShapes::hbShape(), i, and mCharge.
Referenced by HBHEPulseShapeFlagSetter().
|
private |
Definition at line 435 of file HBHEPulseShapeFlag.cc.
References CumulativeIdealPulse, DualNominalFitSingleTry(), i, and gen::k.
Referenced by SetPulseShapeFlags().
|
private |
Definition at line 619 of file HBHEPulseShapeFlag.cc.
References alignCSCRings::e, and i.
Referenced by SetPulseShapeFlags().
|
private |
Definition at line 368 of file HBHEPulseShapeFlag.cc.
References CumulativeIdealPulse, alignCSCRings::e, F(), i, and j.
Referenced by SetPulseShapeFlags().
|
private |
Definition at line 242 of file HBHEPulseShapeFlag.cc.
References TriangleFitResult::Chi2, i, TriangleFitResult::LeftSlope, mTrianglePeakTS, query::result, and TriangleFitResult::RightSlope.
Referenced by SetPulseShapeFlags().
void HBHEPulseShapeFlagSetter::SetPulseShapeFlags | ( | HBHERecHit & | hbhe, |
const HBHEDataFrame & | digi, | ||
const HcalCoder & | coder, | ||
const HcalCalibrations & | calib | ||
) |
Definition at line 112 of file HBHEPulseShapeFlag.cc.
References HcalCoder::adc2fC(), CalculateRMS8Max(), HcalQIESample::capid(), CheckPassFilter(), alignCSCRings::e, HcalCaloFlagLabels::HBHEFlatNoise, HcalCaloFlagLabels::HBHESpikeNoise, HcalCaloFlagLabels::HBHETriangleNoise, HcalCaloFlagLabels::HBHETS4TS5Noise, i, HBHERecHit::id(), HcalDetId::ietaAbs(), TriangleFitResult::LeftSlope, create_public_lumi_plots::log, mCharge, mLambdaLinearCut, mLambdaRMS8MaxCut, mLeftSlopeCut, mMinimumChargeThreshold, mRightSlopeCut, mRightSlopeSmallCut, mTriangleIgnoreSlow, mTrianglePeakTS, mTS4TS5ChargeThreshold, mTS4TS5LowerCut, mTS4TS5UpperCut, mUseDualFit, HcalCalibrations::pedestal(), PerformDualNominalFit(), PerformLinearFit(), PerformNominalFit(), PerformTriangleFit(), TriangleFitResult::RightSlope, HBHEDataFrame::sample(), CaloRecHit::setFlagField(), and HBHEDataFrame::size().
Referenced by HcalHitReconstructor::produce().
|
private |
Definition at line 71 of file HBHEPulseShapeFlag.h.
Referenced by DualNominalFitSingleTry(), Initialize(), PerformDualNominalFit(), and PerformNominalFit().
|
private |
Definition at line 60 of file HBHEPulseShapeFlag.h.
Referenced by Initialize(), and SetPulseShapeFlags().
|
private |
Definition at line 62 of file HBHEPulseShapeFlag.h.
Referenced by HBHEPulseShapeFlagSetter(), and SetPulseShapeFlags().
|
private |
Definition at line 63 of file HBHEPulseShapeFlag.h.
Referenced by HBHEPulseShapeFlagSetter(), and SetPulseShapeFlags().
|
private |
Definition at line 64 of file HBHEPulseShapeFlag.h.
Referenced by HBHEPulseShapeFlagSetter(), and SetPulseShapeFlags().
|
private |
Definition at line 57 of file HBHEPulseShapeFlag.h.
Referenced by HBHEPulseShapeFlagSetter(), and SetPulseShapeFlags().
|
private |
Definition at line 65 of file HBHEPulseShapeFlag.h.
Referenced by HBHEPulseShapeFlagSetter(), and SetPulseShapeFlags().
|
private |
Definition at line 66 of file HBHEPulseShapeFlag.h.
Referenced by HBHEPulseShapeFlagSetter(), and SetPulseShapeFlags().
|
private |
Definition at line 70 of file HBHEPulseShapeFlag.h.
Referenced by HBHEPulseShapeFlagSetter(), and SetPulseShapeFlags().
|
private |
Definition at line 59 of file HBHEPulseShapeFlag.h.
Referenced by HBHEPulseShapeFlagSetter(), PerformTriangleFit(), and SetPulseShapeFlags().
|
private |
Definition at line 58 of file HBHEPulseShapeFlag.h.
Referenced by HBHEPulseShapeFlagSetter(), and SetPulseShapeFlags().
|
private |
Definition at line 68 of file HBHEPulseShapeFlag.h.
Referenced by HBHEPulseShapeFlagSetter(), and SetPulseShapeFlags().
|
private |
Definition at line 67 of file HBHEPulseShapeFlag.h.
Referenced by HBHEPulseShapeFlagSetter(), and SetPulseShapeFlags().
|
private |
Definition at line 69 of file HBHEPulseShapeFlag.h.
Referenced by HBHEPulseShapeFlagSetter(), and SetPulseShapeFlags().