#include <HBHEPulseShapeFlag.h>
Public Member Functions | |
void | Clear () |
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, bool setLegacyFlags=true) | |
void | Initialize () |
template<class Dataframe > | |
void | SetPulseShapeFlags (HBHERecHit &hbhe, const Dataframe &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 | mSetLegacyFlags |
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 29 of file HBHEPulseShapeFlag.h.
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, | ||
bool | setLegacyFlags = true |
||
) |
Definition at line 17 of file HBHEPulseShapeFlag.cc.
References i, Initialize(), mLambdaLinearCut, mLambdaRMS8MaxCut, mLeftSlopeCut, mMinimumChargeThreshold, mR45MinusOneRange, mR45PlusOneRange, mRightSlopeCut, mRightSlopeSmallCut, mSetLegacyFlags, mTriangleIgnoreSlow, mTrianglePeakTS, mTS3TS4ChargeThreshold, mTS3TS4UpperChargeThreshold, mTS4TS5ChargeThreshold, mTS4TS5LowerCut, mTS4TS5UpperCut, mTS5TS6ChargeThreshold, mTS5TS6UpperChargeThreshold, and mUseDualFit.
HBHEPulseShapeFlagSetter::~HBHEPulseShapeFlagSetter | ( | ) |
Definition at line 97 of file HBHEPulseShapeFlag.cc.
|
private |
Definition at line 480 of file HBHEPulseShapeFlag.cc.
References alignCSCRings::e, i, RMS, and mathSSE::sqrt().
Referenced by SetPulseShapeFlags().
|
private |
Definition at line 584 of file HBHEPulseShapeFlag.cc.
References plotBeamSpotDB::first, i, and MessageLogger_cff::limit.
Referenced by SetPulseShapeFlags().
void HBHEPulseShapeFlagSetter::Clear | ( | ) |
Definition at line 102 of file HBHEPulseShapeFlag.cc.
|
private |
Definition at line 386 of file HBHEPulseShapeFlag.cc.
References CumulativeIdealPulse, alignCSCRings::e, errors_, f1_, f2_, and j.
Referenced by PerformDualNominalFit().
void HBHEPulseShapeFlagSetter::Initialize | ( | ) |
Definition at line 107 of file HBHEPulseShapeFlag.cc.
References HcalPulseShape::at(), CumulativeIdealPulse, HcalPulseShapes::hbShape(), i, and mCharge.
Referenced by HBHEPulseShapeFlagSetter().
|
private |
Definition at line 336 of file HBHEPulseShapeFlag.cc.
References CumulativeIdealPulse, DualNominalFitSingleTry(), i, cuy::isFirst, and relval_2017::k.
Referenced by SetPulseShapeFlags().
|
private |
Definition at line 523 of file HBHEPulseShapeFlag.cc.
References alignCSCRings::e, and i.
Referenced by SetPulseShapeFlags().
|
private |
Definition at line 269 of file HBHEPulseShapeFlag.cc.
References CumulativeIdealPulse, alignCSCRings::e, F(), i, and j.
Referenced by SetPulseShapeFlags().
|
private |
Definition at line 143 of file HBHEPulseShapeFlag.cc.
References TriangleFitResult::Chi2, i, TriangleFitResult::LeftSlope, mTrianglePeakTS, mps_fire::result, and TriangleFitResult::RightSlope.
Referenced by SetPulseShapeFlags().
void HBHEPulseShapeFlagSetter::SetPulseShapeFlags | ( | HBHERecHit & | hbhe, |
const Dataframe & | digi, | ||
const HcalCoder & | coder, | ||
const HcalCalibrations & | calib | ||
) |
Definition at line 115 of file HBHEPulseShapeFlag.h.
References HcalCoder::adc2fC(), CalculateRMS8Max(), 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, mSetLegacyFlags, mTriangleIgnoreSlow, mTrianglePeakTS, mTS3TS4ChargeThreshold, mTS3TS4UpperChargeThreshold, mTS4TS5ChargeThreshold, mTS4TS5LowerCut, mTS4TS5UpperCut, mTS5TS6ChargeThreshold, mTS5TS6UpperChargeThreshold, mUseDualFit, HcalCalibrations::pedestal(), PerformDualNominalFit(), PerformLinearFit(), PerformNominalFit(), PerformTriangleFit(), TriangleFitResult::RightSlope, and CaloRecHit::setFlagField().
Referenced by HcalHitReconstructor::produce().
|
private |
Definition at line 89 of file HBHEPulseShapeFlag.h.
Referenced by DualNominalFitSingleTry(), Initialize(), PerformDualNominalFit(), and PerformNominalFit().
|
private |
Definition at line 102 of file HBHEPulseShapeFlag.h.
Referenced by DualNominalFitSingleTry().
|
private |
Definition at line 100 of file HBHEPulseShapeFlag.h.
Referenced by DualNominalFitSingleTry().
|
private |
Definition at line 101 of file HBHEPulseShapeFlag.h.
Referenced by DualNominalFitSingleTry().
|
private |
Definition at line 77 of file HBHEPulseShapeFlag.h.
Referenced by Initialize(), and SetPulseShapeFlags().
|
private |
Definition at line 79 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 81 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 75 of file HBHEPulseShapeFlag.h.
Referenced by HBHEPulseShapeFlagSetter(), and SetPulseShapeFlags().
|
private |
Definition at line 74 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 83 of file HBHEPulseShapeFlag.h.
Referenced by HBHEPulseShapeFlagSetter(), and SetPulseShapeFlags().
|
private |
Definition at line 88 of file HBHEPulseShapeFlag.h.
Referenced by HBHEPulseShapeFlagSetter(), and SetPulseShapeFlags().
|
private |
Definition at line 87 of file HBHEPulseShapeFlag.h.
Referenced by HBHEPulseShapeFlagSetter(), and SetPulseShapeFlags().
|
private |
Definition at line 76 of file HBHEPulseShapeFlag.h.
Referenced by HBHEPulseShapeFlagSetter(), PerformTriangleFit(), and SetPulseShapeFlags().
|
private |
Definition at line 72 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 85 of file HBHEPulseShapeFlag.h.
Referenced by HBHEPulseShapeFlagSetter(), and SetPulseShapeFlags().
|
private |
Definition at line 84 of file HBHEPulseShapeFlag.h.
Referenced by HBHEPulseShapeFlagSetter(), and SetPulseShapeFlags().
|
private |
Definition at line 73 of file HBHEPulseShapeFlag.h.
Referenced by HBHEPulseShapeFlagSetter(), and SetPulseShapeFlags().
|
private |
Definition at line 71 of file HBHEPulseShapeFlag.h.
Referenced by HBHEPulseShapeFlagSetter(), and SetPulseShapeFlags().
|
private |
Definition at line 86 of file HBHEPulseShapeFlag.h.
Referenced by HBHEPulseShapeFlagSetter(), and SetPulseShapeFlags().