#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 30 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 mps_fire::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 95 of file HBHEPulseShapeFlag.cc.
|
private |
Definition at line 453 of file HBHEPulseShapeFlag.cc.
References PixelTestBeamValidation_cfi::Charge, alignCSCRings::e, mps_fire::i, RMS, and mathSSE::sqrt().
Referenced by SetPulseShapeFlags().
|
private |
Definition at line 553 of file HBHEPulseShapeFlag.cc.
References first, mps_fire::i, PixelRegions::L1, PixelRegions::L2, and MessageLogger_cff::limit.
Referenced by SetPulseShapeFlags().
void HBHEPulseShapeFlagSetter::Clear | ( | ) |
Definition at line 99 of file HBHEPulseShapeFlag.cc.
|
private |
Definition at line 364 of file HBHEPulseShapeFlag.cc.
References CumulativeIdealPulse, alignCSCRings::e, errors_, f1_, f2_, and dqmiolumiharvest::j.
Referenced by PerformDualNominalFit().
void HBHEPulseShapeFlagSetter::Initialize | ( | ) |
Definition at line 103 of file HBHEPulseShapeFlag.cc.
References HcalPulseShape::at(), CumulativeIdealPulse, HcalPulseShapes::hbShape(), mps_fire::i, and mCharge.
Referenced by HBHEPulseShapeFlagSetter().
|
private |
Definition at line 319 of file HBHEPulseShapeFlag.cc.
References CumulativeIdealPulse, DualNominalFitSingleTry(), mps_fire::i, cuy::isFirst, and isotrackApplyRegressor::k.
Referenced by SetPulseShapeFlags().
|
private |
Definition at line 495 of file HBHEPulseShapeFlag.cc.
References alignCSCRings::e, and mps_fire::i.
Referenced by SetPulseShapeFlags().
|
private |
Definition at line 255 of file HBHEPulseShapeFlag.cc.
References CumulativeIdealPulse, alignCSCRings::e, F(), mps_fire::i, and dqmiolumiharvest::j.
Referenced by SetPulseShapeFlags().
|
private |
Definition at line 138 of file HBHEPulseShapeFlag.cc.
References TriangleFitResult::Chi2, mps_fire::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 117 of file HBHEPulseShapeFlag.h.
References HcalCoder::adc2fC(), CalculateRMS8Max(), CheckPassFilter(), alignCSCRings::e, HcalCaloFlagLabels::HBHEFlatNoise, HcalCaloFlagLabels::HBHEOOTPU, HcalCaloFlagLabels::HBHESpikeNoise, HcalCaloFlagLabels::HBHETriangleNoise, HcalCaloFlagLabels::HBHETS4TS5Noise, mps_fire::i, HBHERecHit::id(), HcalDetId::ietaAbs(), TriangleFitResult::LeftSlope, 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().
|
private |
Definition at line 92 of file HBHEPulseShapeFlag.h.
Referenced by DualNominalFitSingleTry(), Initialize(), PerformDualNominalFit(), and PerformNominalFit().
|
private |
Definition at line 106 of file HBHEPulseShapeFlag.h.
Referenced by DualNominalFitSingleTry().
|
private |
Definition at line 104 of file HBHEPulseShapeFlag.h.
Referenced by DualNominalFitSingleTry().
|
private |
Definition at line 105 of file HBHEPulseShapeFlag.h.
Referenced by DualNominalFitSingleTry().
|
private |
Definition at line 80 of file HBHEPulseShapeFlag.h.
Referenced by Initialize(), 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 84 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 78 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 85 of file HBHEPulseShapeFlag.h.
Referenced by HBHEPulseShapeFlagSetter(), and SetPulseShapeFlags().
|
private |
Definition at line 86 of file HBHEPulseShapeFlag.h.
Referenced by HBHEPulseShapeFlagSetter(), and SetPulseShapeFlags().
|
private |
Definition at line 91 of file HBHEPulseShapeFlag.h.
Referenced by HBHEPulseShapeFlagSetter(), and SetPulseShapeFlags().
|
private |
Definition at line 90 of file HBHEPulseShapeFlag.h.
Referenced by HBHEPulseShapeFlagSetter(), and SetPulseShapeFlags().
|
private |
Definition at line 79 of file HBHEPulseShapeFlag.h.
Referenced by HBHEPulseShapeFlagSetter(), PerformTriangleFit(), and SetPulseShapeFlags().
|
private |
Definition at line 75 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 72 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(), and SetPulseShapeFlags().
|
private |
Definition at line 74 of file HBHEPulseShapeFlag.h.
Referenced by HBHEPulseShapeFlagSetter(), and SetPulseShapeFlags().
|
private |
Definition at line 89 of file HBHEPulseShapeFlag.h.
Referenced by HBHEPulseShapeFlagSetter(), and SetPulseShapeFlags().