#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 15 of file LASProfileJudge.h.
LASProfileJudge::LASProfileJudge | ( | ) |
void LASProfileJudge::EnableZeroFilter | ( | bool | zeroFilter | ) |
toggle the zero filter (passed from cfg file)
Definition at line 100 of file LASProfileJudge.cc.
References MessageLogger_cfi::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 132 of file LASProfileJudge.cc.
References LASModuleProfile::GetValue(), i, PFRecoTauDiscriminationByIsolation_cfi::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 205 of file LASProfileJudge.cc.
References LASModuleProfile::GetValue(), fftjetproducer_cfi::noiseLevel, PFRecoTauDiscriminationByIsolation_cfi::offset, profile, digi_MixPreMix_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 246 of file LASProfileJudge.cc.
References LASModuleProfile::GetValue(), PFRecoTauDiscriminationByIsolation_cfi::offset, overdriveThreshold, profile, and digi_MixPreMix_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 165 of file LASProfileJudge.cc.
References LASModuleProfile::GetValue(), fftjetproducer_cfi::noiseLevel, PFRecoTauDiscriminationByIsolation_cfi::offset, profile, digi_MixPreMix_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 34 of file LASProfileJudge.cc.
References GetNegativity(), IsNegativePeaksInProfile(), IsPeaksInProfile(), PFRecoTauDiscriminationByIsolation_cfi::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 63 of file LASProfileJudge.cc.
References GetNegativity(), IsNegativePeaksInProfile(), IsOverdrive(), IsPeaksInProfile(), isZeroFilter, PFRecoTauDiscriminationByIsolation_cfi::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 117 of file LASProfileJudge.cc.
References overdriveThreshold.
Referenced by LaserAlignment::LaserAlignment().
|
private |
Definition at line 32 of file LASProfileJudge.h.
Referenced by EnableZeroFilter(), JudgeProfile(), and LASProfileJudge().
|
private |
Definition at line 33 of file LASProfileJudge.h.
Referenced by IsOverdrive(), and SetOverdriveThreshold().
|
private |
Definition at line 30 of file LASProfileJudge.h.
Referenced by GetNegativity(), IsNegativePeaksInProfile(), IsOverdrive(), IsPeaksInProfile(), IsSignalIn(), and JudgeProfile().
|
private |
Definition at line 31 of file LASProfileJudge.h.
Referenced by IsNegativePeaksInProfile(), and IsPeaksInProfile().