#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 mps_fire::i, Initialize(), HBHEPulseShapeFlagSetter_cfi::MinimumChargeThreshold, mLambdaLinearCut, mLambdaRMS8MaxCut, mLeftSlopeCut, mMinimumChargeThreshold, mR45MinusOneRange, mR45PlusOneRange, mRightSlopeCut, mRightSlopeSmallCut, mSetLegacyFlags, mTriangleIgnoreSlow, mTrianglePeakTS, mTS3TS4ChargeThreshold, mTS3TS4UpperChargeThreshold, mTS4TS5ChargeThreshold, mTS4TS5LowerCut, mTS4TS5UpperCut, mTS5TS6ChargeThreshold, mTS5TS6UpperChargeThreshold, mUseDualFit, HBHEPulseShapeFlagSetter_cfi::R45MinusOneRange, HBHEPulseShapeFlagSetter_cfi::R45PlusOneRange, HBHEPulseShapeFlagSetter_cfi::TriangleIgnoreSlow, hcalLocalReco_cff::TrianglePeakTS, HBHEPulseShapeFlagSetter_cfi::TS3TS4ChargeThreshold, HBHEPulseShapeFlagSetter_cfi::TS3TS4UpperChargeThreshold, HBHEPulseShapeFlagSetter_cfi::TS4TS5ChargeThreshold, HBHEPulseShapeFlagSetter_cfi::TS5TS6ChargeThreshold, HBHEPulseShapeFlagSetter_cfi::TS5TS6UpperChargeThreshold, and HBHEPulseShapeFlagSetter_cfi::UseDualFit.
HBHEPulseShapeFlagSetter::~HBHEPulseShapeFlagSetter | ( | ) |
Definition at line 97 of file HBHEPulseShapeFlag.cc.
|
private |
Definition at line 480 of file HBHEPulseShapeFlag.cc.
References MillePedeFileConverter_cfg::e, mps_fire::i, RMS, and mathSSE::sqrt().
Referenced by SetPulseShapeFlags().
|
private |
Definition at line 584 of file HBHEPulseShapeFlag.cc.
References plotBeamSpotDB::first, mps_fire::i, createfilelist::int, and MessageLogger_cfi::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 pfMuonSelector_cfi::Chi2, CumulativeIdealPulse, MillePedeFileConverter_cfg::e, errors_, f1_, and f2_.
Referenced by PerformDualNominalFit().
void HBHEPulseShapeFlagSetter::Initialize | ( | ) |
Definition at line 107 of file HBHEPulseShapeFlag.cc.
References HcalPulseShape::at(), CumulativeIdealPulse, HcalPulseShapes::hbShape(), mps_fire::i, and mCharge.
Referenced by HBHEPulseShapeFlagSetter().
|
private |
Definition at line 336 of file HBHEPulseShapeFlag.cc.
References pfMuonSelector_cfi::Chi2, CumulativeIdealPulse, DualNominalFitSingleTry(), mps_fire::i, createfilelist::int, cuy::isFirst, and gen::k.
Referenced by SetPulseShapeFlags().
|
private |
Definition at line 523 of file HBHEPulseShapeFlag.cc.
References pfMuonSelector_cfi::Chi2, DefaultAlgorithms_cff::Deviation, MillePedeFileConverter_cfg::e, mps_fire::i, eeNoiseFilter_cfi::Intercept, and eeNoiseFilter_cfi::Slope.
Referenced by SetPulseShapeFlags().
|
private |
Definition at line 269 of file HBHEPulseShapeFlag.cc.
References pfMuonSelector_cfi::Chi2, CumulativeIdealPulse, MillePedeFileConverter_cfg::e, F(), mps_fire::i, and createfilelist::int.
Referenced by SetPulseShapeFlags().
|
private |
Definition at line 143 of file HBHEPulseShapeFlag.cc.
References pfMuonSelector_cfi::Chi2, TriangleFitResult::Chi2, mps_fire::i, createfilelist::int, 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(), MillePedeFileConverter_cfg::e, HcalCaloFlagLabels::HBHEFlatNoise, HcalCaloFlagLabels::HBHEOOTPU, HcalCaloFlagLabels::HBHESpikeNoise, HcalCaloFlagLabels::HBHETriangleNoise, HcalCaloFlagLabels::HBHETS4TS5Noise, mps_fire::i, HBHERecHit::id(), HcalDetId::ietaAbs(), TriangleFitResult::LeftSlope, cmsBatch::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().