#include <QIE8Simulator.h>
Public Member Functions | |
double | controlOutput (double t) const |
double | getInputAmplitude () const |
double | getInputGain () const |
double | getInputIntegral () const |
const HcalInterpolatedPulse & | getInputSignal () const |
double | getInputStartTime () const |
double | getOutputGain () const |
double | getParameter (const unsigned which) const |
double | getPreampOutputCut () const |
const AbsElectronicODERHS & | getRHS () const |
unsigned long | getRunCount () const |
double | lastStopTime () const |
unsigned | nParameters () const |
double | preampOutput (double t) const |
double | preampPeakTime () const |
QIE8Simulator () | |
QIE8Simulator (const AbsElectronicODERHS &model, unsigned chargeNode, bool interpolateCubic=false, double preampOutputCut=-1.0e100, double inputGain=1.0, double outputGain=1.0) | |
unsigned | run (double dt, double tstop, double tDigitize, double *TS, unsigned lenTS) |
void | scaleInputSignal (const double s) |
void | setInitialConditions (const double *values, const unsigned len) |
void | setInputAmplitude (const double a) |
void | setInputGain (const double g) |
void | setInputIntegral (const double d) |
template<class Real > | |
void | setInputShape (const Real *values, const unsigned len) |
template<class Signal > | |
void | setInputSignal (const Signal &inputSignal) |
void | setInputStartTime (const double newStartTime) |
void | setLeadingParameters (const double *values, const unsigned len) |
void | setOutputGain (const double g) |
void | setParameter (const unsigned which, const double p) |
void | setPreampOutputCut (const double p) |
void | setRHS (const AbsElectronicODERHS &rhs, unsigned chargeNode, bool interpolateCubic=false) |
double | totalIntegratedCharge (double t) const |
void | zeroInitialConditions () |
Static Public Member Functions | |
static double | adcTSWidth () |
Static Public Attributes | |
static const unsigned | maxlen = HcalInterpolatedPulse::maxlen |
Private Member Functions | |
double | getCharge (const double t) const |
AbsElectronicODERHS & | modifiableRHS () |
void | validateGain () const |
Private Attributes | |
unsigned | chargeNode_ |
std::vector< double > | historyBuffer_ |
std::vector< double > | initialConditions_ |
double | inputGain_ |
bool | integrateToGetCharge_ |
double | outputGain_ |
double | preampOutputCut_ |
unsigned long | runCount_ |
RK4 | solver_ |
bool | useCubic_ |
Definition at line 11 of file QIE8Simulator.h.
QIE8Simulator::QIE8Simulator | ( | ) |
Definition at line 6 of file QIE8Simulator.cc.
QIE8Simulator::QIE8Simulator | ( | const AbsElectronicODERHS & | model, |
unsigned | chargeNode, | ||
bool | interpolateCubic = false , |
||
double | preampOutputCut = -1.0e100 , |
||
double | inputGain = 1.0 , |
||
double | outputGain = 1.0 |
||
) |
Definition at line 15 of file QIE8Simulator.cc.
References Exception, integrateToGetCharge_, AbsElectronicODERHS::invalidNode, ReggeGribovPartonMC_EposLHC_2760GeV_PbPb_cfi::model, validateGain(), and zeroInitialConditions().
|
inlinestatic |
double QIE8Simulator::controlOutput | ( | double | t | ) | const |
Definition at line 121 of file QIE8Simulator.cc.
References AbsElectronicODERHS::controlNode(), Exception, getRHS(), ConstantStepOdeSolver::interpolateCoordinate(), AbsElectronicODERHS::invalidNode, runCount_, solver_, submitPVValidationJobs::t, and useCubic_.
|
inlineprivate |
Definition at line 145 of file QIE8Simulator.h.
References chargeNode_, integrateToGetCharge_, ConstantStepOdeSolver::interpolateCoordinate(), ConstantStepOdeSolver::interpolateIntegrated(), submitPVResolutionJobs::q, solver_, submitPVValidationJobs::t, and useCubic_.
Referenced by run(), and totalIntegratedCharge().
|
inline |
Definition at line 91 of file QIE8Simulator.h.
References InterpolatedPulse< MaxLen >::getPeakValue(), getRHS(), inputGain_, and AbsElectronicODERHS::inputPulse().
|
inline |
|
inline |
Definition at line 96 of file QIE8Simulator.h.
References InterpolatedPulse< MaxLen >::getIntegral(), getRHS(), inputGain_, and AbsElectronicODERHS::inputPulse().
|
inline |
Definition at line 77 of file QIE8Simulator.h.
References getRHS(), and AbsElectronicODERHS::inputPulse().
|
inline |
Definition at line 101 of file QIE8Simulator.h.
References getRHS(), InterpolatedPulse< MaxLen >::getStartTime(), and AbsElectronicODERHS::inputPulse().
|
inline |
|
inline |
Definition at line 44 of file QIE8Simulator.h.
References AbsElectronicODERHS::getParameter(), getRHS(), and eostools::which().
Referenced by Mixins._Parameterizable::hasParameter().
|
inline |
|
inline |
Definition at line 29 of file QIE8Simulator.h.
References Exception, ConstantStepOdeSolver::getRHS(), and solver_.
Referenced by controlOutput(), getInputAmplitude(), getInputIntegral(), getInputSignal(), getInputStartTime(), getParameter(), nParameters(), preampOutput(), preampPeakTime(), setInitialConditions(), and zeroInitialConditions().
|
inline |
double QIE8Simulator::lastStopTime | ( | ) | const |
Definition at line 182 of file QIE8Simulator.cc.
References Exception, ConstantStepOdeSolver::lastMaxT(), runCount_, and solver_.
|
inlineprivate |
Definition at line 138 of file QIE8Simulator.h.
References Exception, ConstantStepOdeSolver::getRHS(), and solver_.
Referenced by run(), scaleInputSignal(), setInputAmplitude(), setInputIntegral(), setInputShape(), setInputSignal(), setInputStartTime(), setLeadingParameters(), and setParameter().
|
inline |
Definition at line 43 of file QIE8Simulator.h.
References getRHS(), and AbsElectronicODERHS::nParameters().
double QIE8Simulator::preampOutput | ( | double | t | ) | const |
Definition at line 111 of file QIE8Simulator.cc.
References Exception, getRHS(), ConstantStepOdeSolver::interpolateCoordinate(), AbsElectronicODERHS::invalidNode, outputGain_, AbsElectronicODERHS::outputNode(), runCount_, solver_, submitPVValidationJobs::t, and useCubic_.
double QIE8Simulator::preampPeakTime | ( | ) | const |
Definition at line 131 of file QIE8Simulator.cc.
References Exception, ConstantStepOdeSolver::getPeakTime(), getRHS(), AbsElectronicODERHS::invalidNode, AbsElectronicODERHS::outputNode(), runCount_, and solver_.
unsigned QIE8Simulator::run | ( | double | dt, |
double | tstop, | ||
double | tDigitize, | ||
double * | TS, | ||
unsigned | lenTS | ||
) |
Definition at line 35 of file QIE8Simulator.cc.
References adcTSWidth(), cms::cuda::assert(), AbsODERHS::calc(), chargeNode_, dt, Exception, getCharge(), historyBuffer_, initialConditions_, integrateToGetCharge_, AbsElectronicODERHS::invalidNode, ConstantStepOdeSolver::lastMaxT(), maxlen, modifiableRHS(), dqmiodumpmetadata::n, AbsElectronicODERHS::numberOfNodes(), outputGain_, preampOutputCut_, submitPVResolutionJobs::q, ConstantStepOdeSolver::run(), runCount_, ConstantStepOdeSolver::setHistory(), solver_, FrontierCondition_GT_autoExpress_cfi::t0, RandomServiceHelper::t1, ConstantStepOdeSolver::truncateCoordinate(), and mitigatedMETSequence_cff::U.
Referenced by DTWorkflow.DTWorkflow::all(), Types.EventID::cppID(), Types.LuminosityBlockID::cppID(), and o2olib.O2OTool::execute().
|
inline |
Definition at line 88 of file QIE8Simulator.h.
References AbsElectronicODERHS::inputPulse(), modifiableRHS(), and alignCSCRings::s.
void QIE8Simulator::setInitialConditions | ( | const double * | values, |
const unsigned | len | ||
) |
Definition at line 140 of file QIE8Simulator.cc.
References cms::cuda::assert(), c, Exception, getRHS(), mps_fire::i, initialConditions_, HLT_2022v12_cff::nExpected, AbsElectronicODERHS::numberOfNodes(), and contentValuesCheck::values.
|
inline |
Definition at line 93 of file QIE8Simulator.h.
References a, inputGain_, AbsElectronicODERHS::inputPulse(), modifiableRHS(), and InterpolatedPulse< MaxLen >::setPeakValue().
|
inline |
Definition at line 47 of file QIE8Simulator.h.
References g, inputGain_, and validateGain().
|
inline |
Definition at line 98 of file QIE8Simulator.h.
References ztail::d, inputGain_, AbsElectronicODERHS::inputPulse(), modifiableRHS(), and InterpolatedPulse< MaxLen >::setIntegral().
|
inline |
Definition at line 82 of file QIE8Simulator.h.
References inputGain_, AbsElectronicODERHS::inputPulse(), modifiableRHS(), InterpolatedPulse< MaxLen >::setShape(), and contentValuesCheck::values.
|
inline |
Definition at line 71 of file QIE8Simulator.h.
References inputGain_, AbsElectronicODERHS::inputPulse(), modifiableRHS(), and AbsElectronicODERHS::setInputPulse().
|
inline |
Definition at line 103 of file QIE8Simulator.h.
References AbsElectronicODERHS::inputPulse(), modifiableRHS(), and InterpolatedPulse< MaxLen >::setStartTime().
|
inline |
Definition at line 62 of file QIE8Simulator.h.
References modifiableRHS(), AbsElectronicODERHS::setLeadingParameters(), and contentValuesCheck::values.
|
inline |
Definition at line 51 of file QIE8Simulator.h.
References g, outputGain_, and validateGain().
|
inline |
Definition at line 61 of file QIE8Simulator.h.
References modifiableRHS(), AlCaHLTBitMon_ParallelJobs::p, AbsElectronicODERHS::setParameter(), and eostools::which().
Referenced by coreTools.RunOnData::__call__(), trackTools.MakeAODTrackCandidates::__call__(), runJetUncertainties.RunJetUncertainties::__call__(), metTools.AddMETCollection::__call__(), cmsswVersionTools.PickRelValInputFiles::__call__(), coreTools.RemoveMCMatching::__call__(), trackTools.MakePATTrackCandidates::__call__(), trigTools.SwitchOnTrigger::__call__(), runMETCorrectionsAndUncertainties.RunMETCorrectionsAndUncertainties::__call__(), trigTools.SwitchOnTriggerStandAlone::__call__(), tauTools.AddTauCollection::__call__(), trackTools.MakeTrackCandidates::__call__(), trigTools.SwitchOnTriggerMatching::__call__(), trigTools.SwitchOnTriggerMatchingStandAlone::__call__(), trigTools.SwitchOnTriggerMatchEmbedding::__call__(), jetTools.AddJetCollection::__call__(), jetTools.SwitchJetCollection::__call__(), jetTools.UpdateJetCollection::__call__(), jetTools.AddJetID::__call__(), jetTools.SetTagInfos::__call__(), and runMETCorrectionsAndUncertainties.RunMETCorrectionsAndUncertainties::jetConfiguration().
|
inline |
Definition at line 67 of file QIE8Simulator.h.
References AlCaHLTBitMon_ParallelJobs::p, and preampOutputCut_.
void QIE8Simulator::setRHS | ( | const AbsElectronicODERHS & | rhs, |
unsigned | chargeNode, | ||
bool | interpolateCubic = false |
||
) |
Definition at line 154 of file QIE8Simulator.cc.
References chargeNode_, Exception, integrateToGetCharge_, AbsElectronicODERHS::invalidNode, AbsElectronicODERHS::outputNode(), ConstantStepOdeSolver::setRHS(), solver_, useCubic_, and zeroInitialConditions().
double QIE8Simulator::totalIntegratedCharge | ( | double | t | ) | const |
Definition at line 188 of file QIE8Simulator.cc.
References Exception, getCharge(), outputGain_, runCount_, and submitPVValidationJobs::t.
|
private |
Definition at line 177 of file QIE8Simulator.cc.
References Exception, and inputGain_.
Referenced by QIE8Simulator(), setInputGain(), and setOutputGain().
void QIE8Simulator::zeroInitialConditions | ( | ) |
Definition at line 166 of file QIE8Simulator.cc.
References c, getRHS(), mps_fire::i, initialConditions_, and AbsElectronicODERHS::numberOfNodes().
Referenced by QIE8Simulator(), and setRHS().
|
private |
Definition at line 163 of file QIE8Simulator.h.
Referenced by getCharge(), run(), and setRHS().
|
private |
Definition at line 158 of file QIE8Simulator.h.
Referenced by run().
|
private |
Definition at line 157 of file QIE8Simulator.h.
Referenced by run(), setInitialConditions(), and zeroInitialConditions().
|
private |
Definition at line 160 of file QIE8Simulator.h.
Referenced by getInputAmplitude(), getInputGain(), getInputIntegral(), setInputAmplitude(), setInputGain(), setInputIntegral(), setInputShape(), setInputSignal(), and validateGain().
|
private |
Definition at line 164 of file QIE8Simulator.h.
Referenced by getCharge(), QIE8Simulator(), run(), and setRHS().
|
static |
Definition at line 13 of file QIE8Simulator.h.
Referenced by core.autovars.NTupleCollection::fillBranchesScalar(), core.autovars.NTupleCollection::fillBranchesVector(), core.autovars.NTupleCollection::get_cpp_declaration(), core.autovars.NTupleCollection::makeBranchesScalar(), core.autovars.NTupleCollection::makeBranchesVector(), and run().
|
private |
Definition at line 161 of file QIE8Simulator.h.
Referenced by getOutputGain(), preampOutput(), run(), setOutputGain(), and totalIntegratedCharge().
|
private |
Definition at line 159 of file QIE8Simulator.h.
Referenced by getPreampOutputCut(), run(), and setPreampOutputCut().
|
private |
Definition at line 162 of file QIE8Simulator.h.
Referenced by controlOutput(), getRunCount(), lastStopTime(), preampOutput(), preampPeakTime(), run(), and totalIntegratedCharge().
|
private |
Definition at line 156 of file QIE8Simulator.h.
Referenced by controlOutput(), getCharge(), getRHS(), lastStopTime(), modifiableRHS(), preampOutput(), preampPeakTime(), run(), and setRHS().
|
private |
Definition at line 165 of file QIE8Simulator.h.
Referenced by controlOutput(), getCharge(), preampOutput(), and setRHS().