#include <HBHEPulseShapeFlag.h>
Public Member Functions | |
void | Clear () |
HBHEPulseShapeFlagSetter () | |
HBHEPulseShapeFlagSetter (double MinimumChargeThreshold, double TS4TS5ChargeThreshold, double TS3TS4ChargeThreshold, double TS3TS4UpperChargeThreshold, double TS5TS6ChargeThreshold, double TS5TS6UpperChargeThreshold, double R45PlusOneRange, double R45MinusOneRange, unsigned int TrianglePeakTS, const std::vector< double > &LinearThreshold, const std::vector< double > &LinearCut, const std::vector< double > &RMS8MaxThreshold, const std::vector< double > &RMS8MaxCut, const std::vector< double > &LeftSlopeThreshold, const std::vector< double > &LeftSlopeCut, const std::vector< double > &RightSlopeThreshold, const std::vector< double > &RightSlopeCut, const std::vector< double > &RightSlopeSmallThreshold, const std::vector< double > &RightSlopeSmallCut, const std::vector< double > &TS4TS5UpperThreshold, const std::vector< double > &TS4TS5UpperCut, const std::vector< double > &TS4TS5LowerThreshold, const 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, bool newCharges=true) |
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 > | errors_ |
std::vector< double > | f1_ |
std::vector< double > | f2_ |
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 |
double | mR45MinusOneRange |
double | mR45PlusOneRange |
std::vector< std::pair< double, double > > | mRightSlopeCut |
std::vector< std::pair< double, double > > | mRightSlopeSmallCut |
bool | mTriangleIgnoreSlow |
int | mTrianglePeakTS |
double | mTS3TS4ChargeThreshold |
double | mTS3TS4UpperChargeThreshold |
double | mTS4TS5ChargeThreshold |
std::vector< std::pair< double, double > > | mTS4TS5LowerCut |
std::vector< std::pair< double, double > > | mTS4TS5UpperCut |
double | mTS5TS6ChargeThreshold |
double | mTS5TS6UpperChargeThreshold |
bool | mUseDualFit |
Definition at line 28 of file HBHEPulseShapeFlag.h.
HBHEPulseShapeFlagSetter::HBHEPulseShapeFlagSetter | ( | ) |
Definition at line 23 of file HBHEPulseShapeFlag.cc.
References mMinimumChargeThreshold, mR45MinusOneRange, mR45PlusOneRange, mTS3TS4ChargeThreshold, mTS3TS4UpperChargeThreshold, mTS4TS5ChargeThreshold, mTS5TS6ChargeThreshold, and mTS5TS6UpperChargeThreshold.
HBHEPulseShapeFlagSetter::HBHEPulseShapeFlagSetter | ( | double | MinimumChargeThreshold, |
double | TS4TS5ChargeThreshold, | ||
double | TS3TS4ChargeThreshold, | ||
double | TS3TS4UpperChargeThreshold, | ||
double | TS5TS6ChargeThreshold, | ||
double | TS5TS6UpperChargeThreshold, | ||
double | R45PlusOneRange, | ||
double | R45MinusOneRange, | ||
unsigned int | TrianglePeakTS, | ||
const std::vector< double > & | LinearThreshold, | ||
const std::vector< double > & | LinearCut, | ||
const std::vector< double > & | RMS8MaxThreshold, | ||
const std::vector< double > & | RMS8MaxCut, | ||
const std::vector< double > & | LeftSlopeThreshold, | ||
const std::vector< double > & | LeftSlopeCut, | ||
const std::vector< double > & | RightSlopeThreshold, | ||
const std::vector< double > & | RightSlopeCut, | ||
const std::vector< double > & | RightSlopeSmallThreshold, | ||
const std::vector< double > & | RightSlopeSmallCut, | ||
const std::vector< double > & | TS4TS5UpperThreshold, | ||
const std::vector< double > & | TS4TS5UpperCut, | ||
const std::vector< double > & | TS4TS5LowerThreshold, | ||
const std::vector< double > & | TS4TS5LowerCut, | ||
bool | UseDualFit, | ||
bool | TriangleIgnoreSlow | ||
) |
Definition at line 46 of file HBHEPulseShapeFlag.cc.
References i, Initialize(), mLambdaLinearCut, mLambdaRMS8MaxCut, mLeftSlopeCut, mMinimumChargeThreshold, mR45MinusOneRange, mR45PlusOneRange, mRightSlopeCut, mRightSlopeSmallCut, mTriangleIgnoreSlow, mTrianglePeakTS, mTS3TS4ChargeThreshold, mTS3TS4UpperChargeThreshold, mTS4TS5ChargeThreshold, mTS4TS5LowerCut, mTS4TS5UpperCut, mTS5TS6ChargeThreshold, mTS5TS6UpperChargeThreshold, and mUseDualFit.
HBHEPulseShapeFlagSetter::~HBHEPulseShapeFlagSetter | ( | ) |
Definition at line 123 of file HBHEPulseShapeFlag.cc.
|
private |
Definition at line 626 of file HBHEPulseShapeFlag.cc.
References alignCSCRings::e, i, RMS, and mathSSE::sqrt().
Referenced by SetPulseShapeFlags().
|
private |
Definition at line 730 of file HBHEPulseShapeFlag.cc.
References plotBeamSpotDB::first, i, and MessageLogger_cff::limit.
Referenced by SetPulseShapeFlags().
void HBHEPulseShapeFlagSetter::Clear | ( | ) |
Definition at line 128 of file HBHEPulseShapeFlag.cc.
|
private |
Definition at line 532 of file HBHEPulseShapeFlag.cc.
References CumulativeIdealPulse, alignCSCRings::e, errors_, f1_, f2_, and j.
Referenced by PerformDualNominalFit().
void HBHEPulseShapeFlagSetter::Initialize | ( | ) |
Definition at line 253 of file HBHEPulseShapeFlag.cc.
References HcalPulseShape::at(), CumulativeIdealPulse, HcalPulseShapes::hbShape(), i, and mCharge.
Referenced by HBHEPulseShapeFlagSetter().
|
private |
Definition at line 482 of file HBHEPulseShapeFlag.cc.
References CumulativeIdealPulse, DualNominalFitSingleTry(), i, cuy::isFirst, and relval_2017::k.
Referenced by SetPulseShapeFlags().
|
private |
Definition at line 669 of file HBHEPulseShapeFlag.cc.
References alignCSCRings::e, and i.
Referenced by SetPulseShapeFlags().
|
private |
Definition at line 415 of file HBHEPulseShapeFlag.cc.
References CumulativeIdealPulse, alignCSCRings::e, F(), i, and j.
Referenced by SetPulseShapeFlags().
|
private |
Definition at line 289 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 133 of file HBHEPulseShapeFlag.cc.
References HcalCoder::adc2fC(), CalculateRMS8Max(), HcalQIESample::capid(), CheckPassFilter(), alignCSCRings::e, HcalCaloFlagLabels::HBHEFlatNoise, HcalCaloFlagLabels::HBHEOOTPU, HcalCaloFlagLabels::HBHESpikeNoise, HcalCaloFlagLabels::HBHETriangleNoise, HcalCaloFlagLabels::HBHETS4TS5Noise, i, HBHERecHit::id(), HcalDetId::ietaAbs(), TriangleFitResult::LeftSlope, dqm-mbProfile::log, mCharge, mLambdaLinearCut, mLambdaRMS8MaxCut, mLeftSlopeCut, mMinimumChargeThreshold, mR45MinusOneRange, mR45PlusOneRange, mRightSlopeCut, mRightSlopeSmallCut, mTriangleIgnoreSlow, mTrianglePeakTS, mTS3TS4ChargeThreshold, mTS3TS4UpperChargeThreshold, mTS4TS5ChargeThreshold, mTS4TS5LowerCut, mTS4TS5UpperCut, mTS5TS6ChargeThreshold, mTS5TS6UpperChargeThreshold, mUseDualFit, HcalCalibrations::pedestal(), PerformDualNominalFit(), PerformLinearFit(), PerformNominalFit(), PerformTriangleFit(), TriangleFitResult::RightSlope, HBHEDataFrame::sample(), CaloRecHit::setFlagField(), and HBHEDataFrame::size().
Referenced by HcalHitReconstructor::produce().
|
private |
Definition at line 83 of file HBHEPulseShapeFlag.h.
Referenced by DualNominalFitSingleTry(), Initialize(), PerformDualNominalFit(), and PerformNominalFit().
|
private |
Definition at line 96 of file HBHEPulseShapeFlag.h.
Referenced by DualNominalFitSingleTry().
|
private |
Definition at line 94 of file HBHEPulseShapeFlag.h.
Referenced by DualNominalFitSingleTry().
|
private |
Definition at line 95 of file HBHEPulseShapeFlag.h.
Referenced by DualNominalFitSingleTry().
|
private |
Definition at line 72 of file HBHEPulseShapeFlag.h.
Referenced by Initialize(), and SetPulseShapeFlags().
|
private |
Definition at line 74 of file HBHEPulseShapeFlag.h.
Referenced by HBHEPulseShapeFlagSetter(), and SetPulseShapeFlags().
|
private |
Definition at line 75 of file HBHEPulseShapeFlag.h.
Referenced by HBHEPulseShapeFlagSetter(), and SetPulseShapeFlags().
|
private |
Definition at line 76 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 70 of file HBHEPulseShapeFlag.h.
Referenced by HBHEPulseShapeFlagSetter(), and SetPulseShapeFlags().
|
private |
Definition at line 69 of file HBHEPulseShapeFlag.h.
Referenced by HBHEPulseShapeFlagSetter(), and SetPulseShapeFlags().
|
private |
Definition at line 77 of file HBHEPulseShapeFlag.h.
Referenced by HBHEPulseShapeFlagSetter(), and SetPulseShapeFlags().
|
private |
Definition at line 78 of file HBHEPulseShapeFlag.h.
Referenced by HBHEPulseShapeFlagSetter(), and SetPulseShapeFlags().
|
private |
Definition at line 82 of file HBHEPulseShapeFlag.h.
Referenced by HBHEPulseShapeFlagSetter(), and SetPulseShapeFlags().
|
private |
Definition at line 71 of file HBHEPulseShapeFlag.h.
Referenced by HBHEPulseShapeFlagSetter(), PerformTriangleFit(), and SetPulseShapeFlags().
|
private |
Definition at line 67 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 64 of file HBHEPulseShapeFlag.h.
Referenced by HBHEPulseShapeFlagSetter(), and SetPulseShapeFlags().
|
private |
Definition at line 80 of file HBHEPulseShapeFlag.h.
Referenced by HBHEPulseShapeFlagSetter(), and SetPulseShapeFlags().
|
private |
Definition at line 79 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 66 of file HBHEPulseShapeFlag.h.
Referenced by HBHEPulseShapeFlagSetter(), and SetPulseShapeFlags().
|
private |
Definition at line 81 of file HBHEPulseShapeFlag.h.
Referenced by HBHEPulseShapeFlagSetter(), and SetPulseShapeFlags().