Other electronics/main

Table Of Contents

Previous topic

Truth Parameters

Next topic

Trigger Simulation

This Page

Daya Bay Links

Content Skeleton

Electronics Simulation


The Electronics Simulation is in the ElecSim package. It takes an SimHeader as input and produces an ElecHeader, which will be read in by the Trigger Simulation package. The position where ElecSim fit in the full simulation chain is given in figure fig-electronics-simchain. The data model used in ElecSim is summarized in the UML form in figure fig-electronics-elecsimuml.



Electronics Simulation Chain


UML for data model in ElecSim.


There are two algorithms. They are listed in table Algorithms and their properties.

Algorithms and their properties.
Algorithm Name Property Defualt
7*EsFrontEndAlg SimLocation SimHeaderLocationDefault
2-3 Detectors DayaBayAD1(2,3,4)
2-3 PmtTool EsPmtEffectPulseTool
2-3 RpcTool EsIdealPulseTool
2-3 FeeTool EsIdealFeeTool
2-3 FecTool EsIdealFecTool
2-3 MaxSimulationTime 50 us


Tools are declared as properties in the algorithms in the previous section. Two kinds of tools are present in the EleSim package. They are:

  • Hit tools: these types of tools take SimHitHeader as input and generate ElecPulseHeader.
  • FEE/FEC tools: these tools takes the output from hit tools in ElecPulseHeader and create ElecCrate. The foundation of these tools are the hardware of FEE for AD and FEC(Front-end Card) for RPC electronics.

Hit Tools

FEE Tool: EsIdealFeeTool

The properties is summaried in table Properties declared in EsIdealFeeTool..

Properties declared in EsIdealFeeTool.
Property Default
CableSvcName StaticCableSvc
SimDataSvcName StaticSimDataSvc
TriggerWindowCycles Dayabay::TriggerWindowCylces
NoiseBool true
NoiseAmp 0.5mV

Pulses(ElecPulse) generated in HitTools are first mapped to channels in each FEE board via CableSvc service. For each channel, pulses are then converted and time-sequenced to create two analog signals to simulate real signals in FEE. The two major analog signals are RawSignal and shapedSignal. The following shows the generation steps.

  • pmt Analog Signal (m_pmtPulse(nSample) vector<double> **): each pulse (**ElePulse) is converted to a pmt analog signal(m_pmtPulse(nSample)) according to an ideal pmt waveform parametrization given in equation (1).
  • Shaped PMT Signal(m_shapedPmtPulse(nSample)): the pmt analog signal (m_pmtPulse(nSample) is convoluted with shaper transfer function to get the shaper output analog singal (shapedPmtPulse(nSample)).
  • RawSignal (RawSignal(simSamples) vector<double>): represents the time sequenced pmt signal with gaussian distributed noises included. This RawSignal is sent to discriminator to form multiplicit and TDC values. Analogsum is also based on this RawSignal.
  • shapedSignal(shapedSignal(SimSample) vector<double>) is composed of time- sequenced shapedPMTsignals(shapedPmtPulse).

\displaystyle V(t) = VoltageScale \cdot \frac{(e^{-t/t_0} -e^{-t/t_1})}{(t_1 -t_0)}\\
\displaystyle t_0 = 3.6 ns\\
\displaystyle t_1 =  5.4 ns

Multiplicity Generation and TDC

Multiplicity at hit Clock i for one FEE board is the sum of the hitHold signal(hitHold vector<int>) at the hit Clock hitHold(i) for all the hitted channels in the FEE channel. Figure fig-electronics-npmtgen shows the flow on how the hitHold signals are generated. One example of two 1 p.e. pulses are shown in figure fig-electronics-npmtgenexample.



: hitHold signal generation sequence. Analog Signals are shown in the black box. And ditigal signals are shown in blue boxes. On the right hand side, related functions or comments are listed to specify the convertion between different signals.


: An example of convertions from tdcSignal to hitHold Signal. The the label in Y axis is only for the analog signal tdcSignal and the Threshold line.

ADC Generation

Simulation Constant

Simulation constants based on electronics hardware is defined in dybgaudi/DataModel/Conventions/Conventions/Electronics.h Table table-elecsim-const summaries the major vaiables defined and their hardwired values.

Variable Defined Value
BaseFrequency 40\cdot1E6 (hz)
TdcCycle 16
AdcCycle 1
EsumCycle 5
NhitCycle 2
preTimeTolerance 300ns
postTimeTolerance 10us
TriggerWindowCycle 8


latexparser did not recognize : multirow cline