#include <LASProfileJudge.h>
Public Member Functions | |
void | EnableZeroFilter (bool) |
bool | IsSignalIn (const LASModuleProfile &, double) |
bool | JudgeProfile (const LASModuleProfile &, double) |
LASProfileJudge () | |
void | SetOverdriveThreshold (unsigned int) |
Private Member Functions | |
double | GetNegativity (int) |
bool | IsNegativePeaksInProfile (int) |
bool | IsOverdrive (int) |
bool | IsPeaksInProfile (int) |
Private Attributes | |
bool | isZeroFilter |
unsigned int | overdriveThreshold |
LASModuleProfile | profile |
std::pair< unsigned int, double > | thePeak |
check if a LASModuleProfile is usable for being stored and fitted
Definition at line 14 of file LASProfileJudge.h.
LASProfileJudge::LASProfileJudge | ( | ) |
void LASProfileJudge::EnableZeroFilter | ( | bool | zeroFilter | ) |
toggle the zero filter (passed from cfg file)
Definition at line 79 of file LASProfileJudge.cc.
References EcnaPython_AdcPeg12_S1_10_R170298_1_0_150_Dee0::cerr, and isZeroFilter.
Referenced by LaserAlignment::LaserAlignment().
|
private |
In case of too high laser intensities, the APV baselines tend to drop down. here, the strip amplitudes in the area around the signal region are summed to return a variable which can indicate this.
Definition at line 97 of file LASProfileJudge.cc.
References LASModuleProfile::GetValue(), mps_fire::i, hltrates_dqm_sourceclient-live_cfg::offset, and profile.
Referenced by IsSignalIn(), and JudgeProfile().
|
private |
sometimes when the laser intensity is too high the APVs get confused and a negative peak (dip) shows up. this is filtered here.
Definition at line 161 of file LASProfileJudge.cc.
References PDRates::average, LASModuleProfile::GetValue(), hltrates_dqm_sourceclient-live_cfg::offset, profile, digitizers_cfi::strip, and thePeak.
Referenced by IsSignalIn(), and JudgeProfile().
|
private |
check if peak in signal region is too high; this can cause baseline distortions and therefore position bias
Definition at line 197 of file LASProfileJudge.cc.
References LASModuleProfile::GetValue(), hltrates_dqm_sourceclient-live_cfg::offset, overdriveThreshold, profile, and digitizers_cfi::strip.
Referenced by JudgeProfile().
|
private |
If the laser intensity is too small, there's no peak at all. Here we look if any strip is well above noise level.
Definition at line 125 of file LASProfileJudge.cc.
References PDRates::average, LASModuleProfile::GetValue(), hltrates_dqm_sourceclient-live_cfg::offset, profile, digitizers_cfi::strip, and thePeak.
Referenced by IsSignalIn(), and JudgeProfile().
bool LASProfileJudge::IsSignalIn | ( | const LASModuleProfile & | aProfile, |
double | offset | ||
) |
Check if a LASModuleProfile indicates that the module has been hit, i.e. contains a visible signal or is even distorted by too high laser amplitude. This method doesn't care if the profile is usable for analysis.
Definition at line 24 of file LASProfileJudge.cc.
References GetNegativity(), IsNegativePeaksInProfile(), IsPeaksInProfile(), hltrates_dqm_sourceclient-live_cfg::offset, profile, and mps_fire::result.
Referenced by LaserAlignment::produce().
bool LASProfileJudge::JudgeProfile | ( | const LASModuleProfile & | aProfile, |
double | offset = 0. |
||
) |
Check if a LASModuleProfile is usable for being stored, i.e. contains a visible signal & no baseline distortions
Definition at line 45 of file LASProfileJudge.cc.
References GetNegativity(), IsNegativePeaksInProfile(), IsOverdrive(), IsPeaksInProfile(), isZeroFilter, hltrates_dqm_sourceclient-live_cfg::offset, profile, and mps_fire::result.
Referenced by LaserAlignment::produce().
void LASProfileJudge::SetOverdriveThreshold | ( | unsigned int | aThreshold | ) |
set the threshold for overdriven profiles (passed from cfg file)
Definition at line 90 of file LASProfileJudge.cc.
References overdriveThreshold.
Referenced by LaserAlignment::LaserAlignment().
|
private |
Definition at line 30 of file LASProfileJudge.h.
Referenced by EnableZeroFilter(), JudgeProfile(), and LASProfileJudge().
|
private |
Definition at line 31 of file LASProfileJudge.h.
Referenced by IsOverdrive(), and SetOverdriveThreshold().
|
private |
Definition at line 28 of file LASProfileJudge.h.
Referenced by GetNegativity(), IsNegativePeaksInProfile(), IsOverdrive(), IsPeaksInProfile(), IsSignalIn(), and JudgeProfile().
|
private |
Definition at line 29 of file LASProfileJudge.h.
Referenced by IsNegativePeaksInProfile(), and IsPeaksInProfile().