#include <TotemTimingRecHitProducerAlgorithm.h>
Classes | |
struct | RegressionResults |
Public Member Functions | |
void | build (const CTPPSGeometry &, const edm::DetSetVector< TotemTimingDigi > &, edm::DetSetVector< TotemTimingRecHit > &) override |
void | setCalibration (const PPSTimingCalibration &) |
TotemTimingRecHitProducerAlgorithm (const edm::ParameterSet &) | |
Public Member Functions inherited from TimingRecHitProducerAlgorithm< CTPPSGeometry, edm::DetSetVector< TotemTimingDigi >, edm::DetSetVector< TotemTimingRecHit > > | |
void | setCalibration (const PPSTimingCalibration &calib, const PPSTimingCalibrationLUT &calibLUT) |
TimingRecHitProducerAlgorithm (const edm::ParameterSet &iConfig) | |
virtual | ~TimingRecHitProducerAlgorithm ()=default |
Private Member Functions | |
float | constantFractionDiscriminator (const std::vector< float > &time, const std::vector< float > &data) |
int | fastDiscriminator (const std::vector< float > &data, float threshold) const |
RegressionResults | simplifiedLinearRegression (const std::vector< float > &time, const std::vector< float > &data, const unsigned int start_at, const unsigned int points) const |
Private Attributes | |
int | baselinePoints_ |
double | cfdFraction_ |
double | hysteresis_ |
double | lowPassFrequency_ |
bool | mergeTimePeaks_ |
TotemTimingRecHit::TimingAlgorithm | mode_ |
std::unique_ptr< TotemTimingConversions > | sampicConversions_ |
double | sampicOffset_ |
double | sampicSamplingPeriodNs_ |
double | saturationLimit_ |
int | smoothingPoints_ |
Static Private Attributes | |
static constexpr float | SINC_COEFFICIENT = M_PI * 2 / 7.8 |
Additional Inherited Members | |
Protected Attributes inherited from TimingRecHitProducerAlgorithm< CTPPSGeometry, edm::DetSetVector< TotemTimingDigi >, edm::DetSetVector< TotemTimingRecHit > > | |
bool | apply_calib_ |
Switch on/off the timing calibration. More... | |
const PPSTimingCalibration * | calib_ |
DB-loaded calibration object. More... | |
std::unique_ptr< reco::FormulaEvaluator > | calib_fct_ |
Timing correction formula. More... | |
const PPSTimingCalibrationLUT * | calibLUT_ |
double | ts_to_ns_ |
Conversion constant between time slice and absolute time (in ns) More... | |
Definition at line 25 of file TotemTimingRecHitProducerAlgorithm.h.
|
explicit |
Definition at line 20 of file TotemTimingRecHitProducerAlgorithm.cc.
|
overridevirtual |
Definition at line 40 of file TotemTimingRecHitProducerAlgorithm.cc.
References baselinePoints_, TotemTimingRecHit::CFD, constantFractionDiscriminator(), data, edm::DetSet< T >::emplace_back(), Exception, relativeConstraints::geom, DetGeomDesc::getDiamondDimensions(), mps_fire::i, input, TotemTimingRecHitProducerAlgorithm::RegressionResults::m, mode_, DetGeomDesc::name(), TotemTimingRecHit::NO_T_AVAILABLE, DetGeomDesc::parentZPosition(), TotemTimingRecHitProducerAlgorithm::RegressionResults::q, TotemTimingRecHitProducerAlgorithm::RegressionResults::rms, sampicConversions_, sampicOffset_, saturationLimit_, simplifiedLinearRegression(), submitPVValidationJobs::t, hcalRecHitTable_cff::time, DetGeomDesc::translation(), and DiamondDimensions::xHalfWidth.
Referenced by TotemTimingRecHitProducer::produce().
|
private |
Definition at line 187 of file TotemTimingRecHitProducerAlgorithm.cc.
References baselinePoints_, cfdFraction_, data, fastDiscriminator(), nano_mu_digi_cff::float, mps_fire::i, dqmiolumiharvest::j, lowPassFrequency_, SiStripPI::max, TotemTimingRecHit::NO_T_AVAILABLE, funct::sin(), SINC_COEFFICIENT, smoothingPoints_, DiMuonV_cfg::threshold, hcalRecHitTable_cff::time, and x.
Referenced by build().
|
private |
Definition at line 157 of file TotemTimingRecHitProducerAlgorithm.cc.
References data, hysteresis_, mps_fire::i, and DiMuonV_cfg::threshold.
Referenced by constantFractionDiscriminator().
void TotemTimingRecHitProducerAlgorithm::setCalibration | ( | const PPSTimingCalibration & | calib | ) |
Definition at line 34 of file TotemTimingRecHitProducerAlgorithm.cc.
References l1tEGammaCrystalsEmulatorProducer_cfi::calib, mergeTimePeaks_, sampicConversions_, and sampicSamplingPeriodNs_.
Referenced by TotemTimingRecHitProducer::produce().
|
private |
Definition at line 118 of file TotemTimingRecHitProducerAlgorithm.cc.
References data, mps_fire::i, SiStripPI::min, GetRecoTauVFromDQM_MC_cff::next, hiPixelPairStep_cff::points, funct::pow(), mysort::results, mathSSE::sqrt(), fftjetcommon_cfi::sx, fftjetcommon_cfi::sy, and hcalRecHitTable_cff::time.
Referenced by build().
|
private |
Definition at line 56 of file TotemTimingRecHitProducerAlgorithm.h.
Referenced by build(), and constantFractionDiscriminator().
|
private |
Definition at line 58 of file TotemTimingRecHitProducerAlgorithm.h.
Referenced by constantFractionDiscriminator().
|
private |
Definition at line 61 of file TotemTimingRecHitProducerAlgorithm.h.
Referenced by fastDiscriminator().
|
private |
Definition at line 60 of file TotemTimingRecHitProducerAlgorithm.h.
Referenced by constantFractionDiscriminator().
|
private |
Definition at line 55 of file TotemTimingRecHitProducerAlgorithm.h.
Referenced by setCalibration().
|
private |
Definition at line 64 of file TotemTimingRecHitProducerAlgorithm.h.
Referenced by build().
|
private |
Definition at line 53 of file TotemTimingRecHitProducerAlgorithm.h.
Referenced by build(), and setCalibration().
|
private |
Definition at line 62 of file TotemTimingRecHitProducerAlgorithm.h.
Referenced by build().
|
private |
Definition at line 63 of file TotemTimingRecHitProducerAlgorithm.h.
Referenced by setCalibration().
|
private |
Definition at line 57 of file TotemTimingRecHitProducerAlgorithm.h.
Referenced by build().
|
staticprivate |
Definition at line 51 of file TotemTimingRecHitProducerAlgorithm.h.
Referenced by constantFractionDiscriminator().
|
private |
Definition at line 59 of file TotemTimingRecHitProducerAlgorithm.h.
Referenced by constantFractionDiscriminator().