Introduction

The Super Charm-Tau (SCT) factory is an electron-positron collider project planned to be built under Budker INP leadership in Russia, with peak luminosity of \(10^{35}\,{\hbox {cm}^{-2}\, \hbox {s}^{-1}}\) and center of mass energy ranging from 3 to 7 GeV. The total integrated luminosity expected to be acquired during the experiment operation is approximately \({10}\,{\hbox {ab}^{-1}}\) [1,2,3]. One of the key features of the project is a high level (80–90%)  electron beam longitudinal polarization at the interaction point, which will be equipped with a universal particle detector. The proposed combination of collider and high performance detector would allow a series of precise experiments and tests of the Standard Model (SM), particularly to make a systematic study of hadrons consisting of u, d, s and c quarks, including exotic states, and \(\mathcal{C}\mathcal{P}\)-violation in systems of charm hadrons or \(\tau\) leptons, as well as charge lepton flavour violation. For more details the reader is referred to [1] and [2].

Super Charm-Tau Detector

The SCT detector is envisaged to be an almost full solid angle detector with 1.5 T axial magnetic field provided by a superconducting magnet, consisting of tracking system, charged particles identification system, electromagnetic calorimeter, and muon system, as shown in the Fig. 1.

Fig. 1
figure 1

The SCT detector cut-off view. Muon system hits (see subsect. "Muon System") are shown in the cut out area

At this stage of the project, the detector construction is not finalized yet. Several options are under consideration for various subsystems, enumerated below.

The tracking system encloses the beams collision point and consists of inner and outer trackers. The inner tracker options under consideration are a silicon strip tracker, a cylindrical microgaseous detector, and a time-projection chamber. The main tracker is represented by a drift chamber (DC). Two options are considered: a classical DC with axial and stereo layers and full stereo low material budget DC, both being able to provide \(\hbox {d}E\,/\,\hbox {d}x\) measurement and cluster counting. The main option for the particle identification (PID) is focusing aerogel ring imaging Cherenkov (FARICH) system. It is surrounded by pure CsI crystal electromagnetic calorimeter. All these systems are placed inside a superconducting solenoid magnet. Iron plates of the magnet yoke serve as absorbers for the multi-layered muon system based on plastic scintillators.

Offline Software

The SCT experiment requires a complete stack of relevant software which would provide event generation, parametric and full detector simulation, event digitization and reconstruction algorithms, event data model (EDM), high-level data analysis tools and tests to enable complete analyses. Such a set is usually referred to as a framework. A well-defined and stable computing environment is essential for the framework development and reliable operation.

The SCT detector software framework Aurora [4, 5] is generally inspired by ATLAS Athena [6]. It is based on the de-facto high energy physics (HEP) standard Gaudi [7] and covers all aspects of interaction of different software components at runtime, including configuration, data exchange and job running. The framework components are inherited from Gaudi. These are:

  • an Algorithm. It takes input data, manipulates it and produces new output data. This component contains main logic of the program. Usually an algorithm delegates certain aspects of its work to Tools.

  • a Tool. Tools are classes that help other components do their job.

  • a Service. This component is initialized once and then is used by several Algorithms or Tools. Examples of services are a messaging service, random number generation service, job option service.

The framework components are implemented with C++, while Python is used for configuration and steering scripts. Aurora is structured in packages, each package being responsible for a certain scope, for instance, a package for a subsystem geometry description or event reconstruction. A package contains whatever set of Algorithms/Tools/Services necessary for its tasks.

The data flow in the processing chain is conventional. Events are generated by the generator chosen as most appropriate to the studies, then injected into the simulation, yielding energy deposits in the relevant detector subsystems. The deposits are processed with digitization modules, their output data format being exactly the same as it would be for the real detector hardware. Thus the reconstruction could operate with either simulated or real, in the future, data. Reconstructed events are analysed using corresponding high-level tools. At each stage of this chain the intermediate data could be routed directly from one module to another, or stored and read back later.

The SCT detector event data model is implemented as C++ plain-old-data (POD) objects. The EDM objects are defined in a single yaml [8] file. The PODIO [9] package is used to generate actual C++ classes and provides a serialization mechanisms to store/retrieve data from/to ROOT [10] files. The EDM is not finalized yet, as the software development process often requires introduction of new and adjustment of existing data types.

Simulation: Full, Parametric and Fast

The detector simulation is one of the primary key elements to fulfil the experimental physical program starting from the detector design and finishing with analysis. The simulation should address following tasks:

  • Evaluation of detector response to signal and background primary events.

  • Establishment of event selection criteria.

  • Estimate the expected accuracy of physical results.

  • Optimization of detector subsystems, setting the performance requirements.

It should also provide sensible data input to development, debugging and testing other parts of the software like event reconstruction and analysis tools.

The level of detail of the simulation can be either parametric, fast or full, with combinations of these basic types possible.

Full simulation aims to reproduce the detector response very similar to the experimental one. Such a simulation is usually based on detailed description of detector materials, on propagation of particles through the experimental apparatus, and on physics processes that occurs while they do so, for example electromagnetic interactions and particle decays. Aurora utilizes Geant4 toolkit [11,12,13] for this task. Unlike other kinds of simulation, the full simulation output should be digitized and reconstructed before analysis.

Parametric simulation relies on analytic functions to convert primary generated particle characteristics to reconstructed ones. This kind of simulation does not depend on particular detector subsystem realization, generally dropping the geometry, amount of materials, and hits overlaying. The  SimpleSctParSim  package of parametric simulation has been developed within the Aurora project.

There are several parametric simulation packages available for experiments at high energies (\(\sqrt{s}\,\geqslant {100}\,{\hbox {GeV}}\)), for instance, PAPAS (The Parametrized Particle Simulation) [14] is used for simulation of e+e- colliders, while Delphes [15] designed for hadron beams collision events. The energies below \({10}\,{\hbox {GeV}}\) could be studied with the Chinese Super Tau Charm Factoriy project fast simulation [16].

Fast simulation is utilized for specific subsystem cases, and still mostly uses analytic functions to get detector response. However, the complexity of such functions increases compared to the parametric simulation case, accounting for the detector geometry and time of particle propagation, yet not directly describing interactions with matter.

The fast simulation packages listed in Sect. "Fast Simulation Software Structure" are developed within the Aurora framework and are aimed to be used for preliminary analyses and various detector subsystems effectiveness evaluation.

Fast Simulation Software Structure

Following the Aurora architecture and the principle of separation of concerns the SCT fast simulation consists of four packages:

  •  SctParSimAlg—the main algorithm.

  •  SctParSimCpp—this package contains helper classes, in particular to work with geometry.

  •  SctParSimTools—this package is comprised of detector subsystem implementations. At the moment, drift chamber, FARICH PID system, calorimeter and muon system have been implemented.

  •  SctParSimInterfaces—this package contains subsystems interfaces for the tools from  SctParSimTools .

The  SctParSimAlg  package consists of a single class with the same name. For each particle from the input collection, it calls the detector subsystems tools depending on if the particle charged or not, then gathers all the responses into output collections (see Fig. 2).

Fig. 2
figure 2

Fast simulation scheme. Primary data is routed to the simulation using Aurora mechanisms either from a file or directly from a generator

 SctParSimAlg  is accompanied by examples, which show the package operation within the Aurora framework, namely reading primary generated data and storing results, interaction with primary particles generators and physics analysis tools.

The detector subsystems are included in the  SctParSimTools  package. Each detector subsystem is described as either a single right circular hollow cylinder or multiple cylinders. For example, the drift chamber is associated with a single tube, while the calorimeter has central part and two endcaps.

The main algorithm parameters and the detector subsystems involved are set through the algorithm properties. This allows user to configure the parameters from the script that runs the simulation.

The package  SctParSimCpp  contains two classes:  SctHelix  to describe charged particles tracks with helices (due to detector axial magnetic field) and  SctLine—neutrals with straight lines. Besides these two classes, the  Crosser  namespace is defined within the package. A set of functions to calculate geometric intersections of tracks with cylinders and tubes is provided in this namespace.

To run the fast simulation one should use a Python script, where the  SctParSim  instance is created, tuned, and passed to the Aurora top algorithm for execution.  SctParSim  algorithms and tools properties can be accessed within the script as attributes of a Python class. A script example is presented in appendix A.

Implemented Subsystems and Their Parametrizations

The fast simulation implements the DC-based tracker, FARICH, pCsI calorimeter and muon systems. Their parametrizations are described below.

Tracker

Due to the availability of the full geometric description [17], the classical DC tracker is implemented within the fast simulation, still allowing to adjust some parameters to be able to study another DC option too.

Inner tracker options are not studied well enough to provide an adequate parametrization. Hence, the whole tracker is represented only as a drift chamber. The DC inner radius is reduced to overlay the inner tracker space and recover sensitivity to soft tracks.

The DC model is based on wire structures reproducing 10 superlayers of 4 hexagonal cell layers each, where four superlayers are axial and the other six are stereo. Layers are described by cylinders without cell structure. The inner tracker is emulated with additional 4 stereo and 8 axial layers.

Fig. 3
figure 3

Track geometry parameters

The transverse momentum resolution is expressed as

$$\begin{aligned} \sigma _\perp = p_\perp \sqrt{(a p_\perp )^2 + b^2}, \end{aligned}$$
(1)

where \(p_\perp\) is the particle transverse momentum (all momenta in this subsection equations are in \({\hbox {GeV}\, / \, c})\), a and b—resolution coefficients defined with the help of stand-alone simulation [17] as

$$\begin{aligned} a= & {} a_0 \frac{ {L_0}^2 }{ L^2 } \sqrt{\frac{N_{l}+1}{N+1}}, \end{aligned}$$
(2)
$$\begin{aligned} b= & {} {\frac{ {}{0.0539}{} }{ \beta B}} \times {{(1 + \cos ^2 \theta )}^\frac{3}{4} \times \frac{ ( 1 + 0.038 \ln {\frac{L_{\text {tr}}}{X_0}}) }{ \sqrt{LX_0 \sin {\theta }}} }. \end{aligned}$$
(3)

In above formulae, \(N_{l}\) is the number of DC sensitive layers, N—the number of tracker hits, \(a_0 = 2.12 \times 10^{-3}c/\,\hbox {GeV},L_0\)—the DC thickness as difference between its outer and inner radii, L—distance passed by a particle inside the DC, \(L_{\text {tr}}\)—track length in the DC (all distances in meters), \(\beta\)—particle velocity normalized to the speed of light, B—magnetic field in tesla, \(\theta\)—particle polar angle, \(X_0\)—average radiation length of wires and \({\hbox {He}\, {:}\, \hbox {C}_{3}\,\hbox {H}_{8}} = 6: 4\) gas mixture over the DC volume (\(X_0 = {187}\,{\hbox {m}}\)). Parameters L, \(L_0\) and \(\theta\) are illustrated in the Fig. 3. The number N of hits is calculated as the number of layers crossed by a particle. If a particle makes more than one full revolution, only first revolution hits are counted. If a particle produces less than 7 DC hits, its track is considered to be not reconstructed due to lack of information.

The polar angle DC resolution \(\sigma _\theta\) is defined as a quadratic sum of multi-scattering component \(\sigma _\theta ^{MS}\) and spatial resolution \(\sigma _\theta ^{0}\):

$$\begin{aligned} \sigma _\theta ^{MS}&= \frac{ {}{0.014}{} }{ \beta p } \sqrt{ \frac{L_{tr} }{ X_0 } } \left( 1 + 0.038 \ln \frac{L_{tr}}{X_0} \right) , \end{aligned}$$
(4)
$$\begin{aligned} \sigma _\theta ^0&= {\left\{ \begin{array}{ll} {}{1.281\times10^{-3}}{} / \sqrt{N_z}, &{} \theta \leqslant \theta _0 \\ {}{3.08\times10^{-3}}{} \sin ^2 \theta \,/ \sqrt{N_z}, &{} \theta > \theta _0 \end{array}\right. }, \end{aligned}$$
(5)

where p—momentum in \(\hbox {GeV}\,/\,c\), \(N_z\)—the number of z-coordinate measurements by stereo layers, and \(\theta _0 = {}{40.16^{\circ }}{}\) corresponds to the polar angle of the DC outer edge (see Fig. 3). Full momentum p resolution is defined as

$$\begin{aligned} \sigma _p = p \sqrt{a^2 {p_\perp }^2 + b^2 + \cot ^2 \theta \times {\sigma _\theta }^2}, \end{aligned}$$
(6)

where resolution coefficients a and b come from equations 2 and 3 correspondingly. The resulting simulated momentum resolution is shown in Fig. 4.

Fig. 4
figure 4

Momentum resolution as a function of momentum depending on polar angle for simulated pions. Blue, red and green lines—results for tracks with \(\theta = {}{90^{\circ }}{}\), 60° and 45°. Solid lines—fast simulation; dotted lines—SCT chamber standalone simulation [17]

In addition to momentum measurement both DC variants could provide two particle identification options: \(\hbox {d}E/\,\hbox {d}x\) measurement and cluster counting.

The mean value of specific ionization loss is calculated using modified Bethe-Bloch equation tuned to BaBar experimental data [18] of truncated mean \(\hbox {d}E/\,\hbox {d}x\) dependence on \(\beta\) and \(\gamma\).

$$\begin{aligned}&BB ( \beta , \gamma ) = \frac{22.88}{\beta ^{2.012}} \bigg ( 17.99 - \beta ^{2.012} - \nonumber \\&\quad - 0.2906 \ln \left( \frac{ 1 + {}{3.655\times10^{-19}}{} (\beta \gamma )^{8.513} }{ 1 + 0.2848 (\beta \gamma )^{8.513} } \right) \bigg ). \end{aligned}$$
(7)

The \(\hbox {d}E/\,\hbox {d}x\) resolution is described by an empirical BaBar equation [18]

$$\begin{aligned} \frac{ \sigma _{\hbox {d}E/\,\hbox {d}x} }{ \left\langle \hbox {d}E/\,\hbox {d}x \right\rangle } =&0.05 \left[ \frac{N_{\text {hot}}}{N_0} \right] ^{-0.6594} \left[ \frac{L_{\text {tr}}}{L_0} \right] ^{-0.2844} \nonumber \\&\times \left( 1 + 0.01054 ( x - 5.632 )^2 \right) \nonumber \\&\times \left( 1 + 0.007135 ( p_\perp - 4.141 )^2 \right) , \end{aligned}$$
(8)

where \(N_0 = 40\), \(L_0 = 100\), \(N_{\text {hot}}\) is defined as the number of active hits on a track, \(L_{\text {tr}}\)—track length in \({\hbox {cm}}\), \(p_\perp\)—transverse momentum in \(\hbox {GeV}\,/\,c\) and \(x = BB( \beta , \gamma )\,/\,BB_{\min } ( \beta , \gamma ) - 1\). Simulated \(\hbox {d}E/\,\hbox {d}x\) is shown in Fig. 5.

The number \(N_{cl}\) of ionization clusters is generated by Poisson distribution with the mean value

$$\begin{aligned} \lambda = \frac{ \hbox {d}E/\,\hbox {d}x }{{ \hbox {d}E/\,\hbox {d}x }_{\min }} L_{\text {tr}} \delta _{\text {cl}}, \end{aligned}$$
(9)

where \(\delta _{\text {cl}}\) is the expected specific number of ionization clusters for a minimum ionizing particle. Then \(N_{\text {cl}}\) is normalized to \(L_{\text {tr}}\) to obtain the specific number of clusters \(\hbox {d}N_{cl}\,/\,\hbox {d}x\). An example of \(\hbox {d}N_{cl}\,/\,\hbox {d}x\) for \(\delta _{\text {cl}} = {12.5}/ \,{\hbox {cm}}\) corresponding to the “non-classical” DC option \({\hbox {He}\, {:}\, \hbox {iC}_{4}\,\hbox {H}_{10}} = 9: 1\) gas mixture (see [19]) is shown in Fig. 6.

Fig. 5
figure 5

\(\hbox {d}E\,/\,\hbox {d}x\) vs MC particle momentum: \(\mu\) (green), \(\pi\) (red), K (violet) and p (orange)

Fig. 6
figure 6

\(\hbox {d}N_{cl}\,/\,\hbox {d}x\) vs MC particle momentum: \(\mu\) (green), \(\pi\) (red), K (violet) and p (orange)

Likelihood

The tracker provides two sets of likelihoods \(\textsf{L}\), one for \(\hbox {d}E\,/\,\hbox {d}x\) and one for \(\hbox {d}N_{cl}\,/\,\hbox {d}x\). Hypothesis of measured track kind h is one of e, \(\mu\), \(\pi\), K, or proton for each set. Specific energy loss is described by \(\textsf{L} ( h; \, p, \, \hbox {d}E\,/\,\hbox {d}x)\) , ionization cluster density by \(\textsf{L} ( h; \,p, \, \hbox {d}N_{cl}\,/\,\hbox {d}x )\).

Output

The tracker response contains measured particle momentum, specific ionization loss and number of ionization clusters, and corresponding likelihoods. Momentum \(\textbf{p}\) is calculated in the point of closest approach of track helix to the z-axis.

FARICH

The FARICH option is well studied, enabling use of stand-alone full simulation based on beam test results with FARICH module prototype [20].

The calculation of FARICH subsystem response begins with emulation of the expected number \(N_{\text {ph.}\,\text {e.,}\,\text {0}}\) of detected photoelectrons as a function of the impact angle in \(\rho\)-z plane and velocity. The function is based on the full simulation study and includes not only the actual Cherenkov photons contribution, but also electronic noise effects. The parameter \(N_{\text {ph.}\,\text {e.}}\) is generated from a Poisson distribution around parameter \(N_{\text {ph.}\,\text {e.,}\,\text {0}}\). If \(N_{\text {ph.}\,\text {e.}}\) is less than 4, then it is assumed that the corresponding Cherenkov ring is not reconstructed, and velocity can not be determined. Otherwise, for \(N_{\text {ph.}\,\text {e.}} \geqslant 4\), the ring is reconstructed. The generated normalized velocity \(\beta\) is smeared by Gaussian distribution with standard deviation taken from results of the full simulation. The dependence of \(N_{\text {ph.}\,\text {e.}}\) and \(\beta\) on incident particle momentum is shown in Fig. 7.

Fig. 7
figure 7

FARICH response to different particles kinds: \(\mu\) (green), \(\pi\) (red), K (violet) and p (brown)

Likelihood

FARICH provides up to two measurements per one track: \(N_{\text {ph.}\,\text {e.}}\) and/or \(\beta\). When only \(N_{\text {ph.}\,\text {e.}}\) is measured, the likelihood is \(\textsf{L}(h) = \textsf{L}( h; \, p, \, N_{\text {ph.}\,\text {e.}})\), where h is the particle type hypothesis. When both \(\beta\) and \(N_{\text {ph.}\,\text {e.}}\) are available, \(\textsf{L} = \textsf{L}( h; \, p, \, N_{\text {ph.}\,\text {e.}}) \times \textsf{L}( h; \, p, \, \beta )\).

Output

FARICH simulation yields number of expected \(N_{\text {ph.}\,\text {e.,}\,\text {0}}\) and registered \(N_{\text {ph.}\,\text {e.}}\) photoelectrons, measured \(\beta\) and its error.

Calorimeter

The calorimeter is based on pure CsI scintillating crystals of approximately \({33\,\mathrm{\,}}{\hbox {cm}}\,\times {6}\,{\hbox {cm}}\,\times {6}\,{\hbox {cm}}\) in size. Its characteristics are studied with test beams [21] and stand-alone simulations [22].

Energy Resolution

The calorimeter energy resolution \(\sigma _E\) is described by the sum in quadrature

$$\begin{aligned} \frac{\sigma _E}{E} = \sigma _0 \oplus \frac{ \sigma _4 }{\root 4 \of {E}} \oplus \frac{ \sigma _2 }{\sqrt{E}} \oplus \frac{ \sigma _1 }{E}, \end{aligned}$$
(10)

where the term \(\sigma _4\) corresponds to the fluctuation of electromagnetic shower leakage, \(\sigma _2\) corresponds to the statistics of photoelectrons, and \(\sigma _1\) represents electronic noises. The current prototype gives the constant term \(\sigma _0 = 0\), \(\sigma _4 = {1.9}{\%}\), \(\sigma _2 = {0.33}{\%}\) and \(\sigma _1 = {0.11}{\%}\) (see [21]). The obtained energy resolution dependence on photon energy is shown in Fig. 8.

Cluster Size

The size of a cluster is characterized by its radius. Photons and \(e^\pm\) produce electromagnetic showers with the cluster radius of \({12}\,{\hbox {cm}}\), which corresponds to 3 Molière radii of CsI \(R_M = {3.57}\,{\hbox {cm}}\) or \(4 \times 4\) crystals, while for minimally ionizing particles \({6}\,{\hbox {cm}}\) is taken to cover about \(2\times 2\) crystals.

Nuclear interactions of hadrons in the calorimeter are neglected.

Angular Resolution

The particle entrance point \((r, \theta , \varphi )\) to the calorimeter is used to reconstruct the cluster position \((r^\prime , \theta ^\prime , \varphi ^\prime )\), where the azimuthal and polar angles are smeared by resolution function corresponding to Gaussian functions with mean equal to zero and standard deviations \(\sigma _\theta\) and \(\sigma _\varphi\) correspondingly. The parameters \(\sigma _\theta\) and \(\sigma _\varphi\) depend on energy and \(\theta\) of a particle, with dependence obtained from Geant4 simulation of the calorimeter [22]. Figure 9 presents simulated azimuthal angle resolution.

Calorimeter information is used to calculate neutral particle momentum.

Fig. 8
figure 8

Calorimeter energy resolution (points) and experimental result from [21] (line)

Fig. 9
figure 9

Calorimeter azimuth angular resolution: different series corresponds to energies expressed in \({\hbox {MeV}}\) at the plot

Muon System

The muon system tool relies on results of the full Geant4 simulation of the detector produced with Aurora. Multidimensional histograms with the system response for muons and charged pions were prepared as input to the fast simulation. An illustration of a single muon event with muon system elements being hit is shown in Fig. 1. The phase space of total particle momentum (index i) and polar angle (index j) is divided into bins \(A_{ijl}\). Index l corresponds to the most outer muon system layer with energy deposition more than 1 MeV (no requirements on time applied). If a particle does not produce any significant hits in the muon system, l is set to zero. In that way each region of p-\(\theta\) space has an associated one-dimensional l-histogram with 9 bins (see Fig. 10), which is used to generate the muon system output in the fast simulation. For all particles, except muons and charged pions, the muon system response is set to zero at the moment.

Fig. 10
figure 10

The last fired muon-system layer depending on a particle momentum, for particles with polar angle \(\theta = \pi / 3\)

Likelihood

The likelihood \(\textsf{L} ( l; \, p, \, \theta )\) for \(\mu\) and \(\pi\) is determined from the response distribution histograms described above. For other hypothesis, namely electron, kaon and proton, \(\textsf{L}\) is set to 1, if there is no signal in the muon system, otherwise \(\textsf{L} = 0\).

Event Reconstruction

When all particles are processed by detector subsystems tools, the reconstruction algorithm merges information from calorimeter and tracking system according to the following:

  • Geometrically overlapping calorimeter clusters are merged, and their parameters, such as energy, time, coordinate, and size are recalculated. This way a pool of non-overlapping clusters is formed.

  • Each reconstructed track is prolonged to the calorimeter. If the track crosses a cluster from the pool, the cluster becomes associated with the track and removed from the pool.

  • All calorimeter clusters not attached to tracks are interpreted as neutral.

Particle Identification

The fast simulation provides a set of standard classifiers to distinguish between different types of charged particles: \(e^{\pm }\) likeness, \(\mu /\pi\), \(\pi /K\) and K/p separation. All numbers lay in the range [0, 1]. For each subsystem s we form a pair of likelihoods \(\textsf{L}_i\) and \(\textsf{L}_j\) — probability to obtain response \(r_s\) for measured momentum \(\textbf{p}\)—for two hypothesises \(H_i\) and \(H_j\). Then we can calculate how much \(H_i\) is preferred to \(H_j\):

$$\begin{aligned} \textsf{F}_{ij} ( \textbf{p} ) = \frac{ \prod _s \textsf{L}_i( r_s, \, \textbf{p} ) }{ \prod _s \textsf{L}_i( r_s, \, {p} ) + \prod _s \textsf{L}_j( r_s, \, \textbf{p} )}. \end{aligned}$$
(11)

\(\textsf{F}\) is monotonically transformed likelihood ratio \(\textsf{R} = \textsf{L}_j / \textsf{L}_i\): \(\textsf{F} = 1 / ( 1 + \textsf{R} )\), and it can be interpreted as normalized likelihood ratio or likelihood fraction.

Fig. 11
figure 11

The relative likelihood \(\textsf{F}_{\mu \pi }\) (see eq. 11) (d) constructed by combining the FARICH (c) and \(\hbox {d}E\,/\,\hbox {d}x\) (b) information with the track momentum \(p_{\text {MC}} = 1.6 \hbox {GeV}/ \,c\).  (a) Shows correlation of \(\beta\) and \(\hbox {d}E\,/\,\hbox {d}x\)

An example of likelihoods ratios \({F}\) for \(\mu\)/\(\pi\) and \(\pi\)/K hypothesis, using \(\hbox {d}E\,/\,\hbox {d}x\) and FARICH information at \(p_{\text {MC}} = 1.6 \hbox {GeV}/ \,c\), is shown in Fig. 11.

Results and Examples

Here we demonstrate several tasks where the fast simulation package would be useful and how it can be used within Aurora framework.

Performance

The fast simulation package performance is compared to the full simulation. In the Aurora release 2.0.0 the full simulation uses the Geant4 version 10.07.p03, includes at least basic geometry description for each detector subsystem, and is expected to consume up to about two times more computing resources in the final variant. Test samples of ten thousand inclusive \(J/\psi\) events are used to measure the performance. Mean spent time t per event and dispersion of t, as well as algorithm initialization time \(t_{\text {init}}\) with its dispersion are summarized in Table 1. Currently, the fast simulation requires \(\sim 150\) times less time per event than the full simulation. One should also keep in mind that this comparison does not account for digitization and reconstruction stages mandatory in the full simulation chain analysis.

Table 1 Simulation performance: mean time t spent per event and its RMS, mean initialization time \(t_{\text {init}}\) and its RMS, obtained with inclusive \(J/\psi\) events

Particle Separation Power

Using the fast simulation one can study how performance of different subsystems affect the particle separation power. These studies have been performed with the previous version of simulation software, and the results are previously published [23, 24]. For instance, primary muons and pions were generated with momentum up to \(3.5\, \hbox {GeV}/ \, c\) with polar angle \(\theta = {}{90^{\circ }}{}\). We use \(\textsf{F}_{\mathrm{d}E\,/\,\mathrm{d}x}\) and \(\textsf{F}_{\mathrm{d}N_{cl}\,/\,\mathrm{d}x}\) likelihoods ratios to estimate a selection efficiency dependence on initial momentum keeping signal/background ratio fixed to 2, 5, and 10, and assuming the initial number of both event types to be equal. The comparison of \(\hbox {d}E\,/\,\hbox {d}x\) and \(\hbox {d}N_{cl}\,/\,\hbox {d}x\) options is shown in Fig. 12.

Fig. 12
figure 12

Muon selection efficiency for several \(\mu\)-signal to \(\pi\)-background rates (shown near the lines). Red lines represents \(\hbox {d}N_{cl}\,/\,\hbox {d}x\), while greens—\(\hbox {d}E\,/\,\hbox {d}x\)

Overlapping Clusters in the Calorimeter

Cluster overlapping in the calorimeter leads to inefficiency of particle reconstruction. The effect is demonstrated with \(e^+ e^- \rightarrow \pi ^0 \gamma\) events with \(\pi ^0 \rightarrow \gamma \gamma\). The efficiency \(\varepsilon _{3 \gamma }\) of all three photon reconstruction is studied as a function of center of mass energy \(\sqrt{s}\) and radius of electromagnetic cluster. The later can be changed through the following line in configuration file:

figure a

The result is shown in Fig. 13. The efficiency \(\varepsilon _{3\gamma }\) is limited by the calorimeter geometrical acceptance.

Fig. 13
figure 13

3 photon reconstruction efficiency \(\varepsilon _{3\gamma }\) in process \(e^+ e^- \rightarrow \pi ^0 \gamma \rightarrow 3 \gamma\) for different EM-shower cluster sizes (shown on the plot in \(\hbox {cm}\))

The peak detector occupancy is expected to be about 300 kHz at \(J/\psi\) resonance. Issues associated with overlapping clusters and calorimeter showers shape are obviously important and will be addressed in future work.

\(J /{\psi}\) Two-Photon Invariant Mass Spectrum

The invariant mass of two photons \(M_{\text {inv}} (\gamma \gamma )\) is investigated using inclusive \(J/\psi\) decays to study the expected kinematic spectra (Fig. 14). Two prominent peaks, corresponding to \(\pi ^0\) and \(\eta\) mesons, are visible. The upper half of the \(\pi ^0\) peak is approximated by Gaussian and the \(\eta\) peak with side bands by a sum of a Gaussian and exponential function to show the mass resolution.

Fig. 14
figure 14

Invariant masses of two photons in decays of \(J/\psi\). Red lines show fit of \(\pi ^0\) and \(\eta\) mesons peaks

Reconstruction of \(D^0\) Mesons from \({\psi}(3770)\) Decays

The decay \(\psi (3770)\) to \(D^0 \bar{D^0}\) is a good source of D-mesons pairs, with D-meson momentum around \(287\,\hbox {MeV}/ \,c\) at the lab frame. Here we demonstrate \(D^0\) reconstruction in two final states \(D^0 \rightarrow K^- \pi ^+\) and \(D^0 \rightarrow 2(\pi ^+ \pi ^-)\). The dataset of \(\psi (3770)\) decays, which corresponds to one day of SCT operation, was generated using EvtGen [25] primary generator and passed through the fast simulation.

Using the analysis tool available in Aurora we reconstruct all pairs of \(K^- \pi ^+\) with and without limitations on \(\textsf{F}_{K \pi } > 0.2\) and \(\textsf{F}_{\mu \pi } < 0.8\) for pions, and \(\textsf{F}_{K \pi } < 0.8\) for kaons. Obtained \(K^- \pi ^+\) invariant mass spectra with different selection criteria are presented in Fig. 15. It demonstrate how PID cuts help to purify the \(D^0 \rightarrow K^- \pi ^+\) signal, providing the detection efficiency about \({85}{\%}\).

Fig. 15
figure 15

Reconstruction \(D^0 \rightarrow K^- \pi ^+\) from inclusive decay of \(\psi (3770)\). Blue line—no PID cuts, red—K cut, green—\(\pi\) cut, violet—K and \(\pi\) cuts

The four charged pion final state of the \(D^0\) meson is selected by invariant mass and by momentum magnitude for tracks with \(\textsf{F}_{K \pi } < 0.8\) by applying \(1.84< M / (\hbox {GeV}/ \,c^{2}) < 1.88\) and \(0.27< p / (\hbox {GeV}/ \,c) < 0.3\). The \(\pi ^+ \pi ^- \pi ^+ \pi ^-\) final state is resulted from Cabibbo-favoured decay \(D^0 \rightarrow (K^0_{\text {S}} \rightarrow \pi ^+ \pi ^-) \pi ^+ \pi ^-\) and single Cabibbo-suppressed decay \(D^0 \rightarrow 2(\pi ^+ \pi ^-)\). The \(K^0_{\text {S}} \pi ^+ \pi ^-\) enriched sample is obtained requiring one \(M_{\text {inv}} (\pi ^+ \pi ^-)\) to be around \(K^0_{\text {S}}\) mass, while the Cabibbo-suppressed sample is produced forbidding \(M_{\text {inv}} (\pi ^+ \pi ^-)\) be around \(K^0_{\text {S}}\) mass and vetoing events with pions approaching closer than \({1}\,{\hbox {mm}}\) to the beam crossing point. An internal dynamics of the decays \(D^0 \rightarrow 2(\pi ^+ \pi ^-)\) and \(D^0 \rightarrow K^0_S \pi ^+ \pi ^-\) could be studied using distributions of \(M_{\text {inv}} (\pi ^+ \pi ^-)\). Corresponding spectra are shown in Fig. 16. In states with \(K^0_{\text {S}}\) one will easily see \(K^0_{\text {S}}\), \(\rho ^0(770)\), \(\omega (782)\), \(f_0(980)\) and \(f_0(1370)\) resonance contributions, while \(K^0_{\text {S}}\)-less state shows \(\rho ^0 (770)\).

Fig. 16
figure 16

Reconstruction of \(D^0 \rightarrow 2(\pi ^+ \pi ^-)\) from inclusive decay of \(\psi (3770)\)

Conclusion and Outlook

In this paper we briefly describe the software environment of the SCT detector and formulate tasks arising before simulation. Some of these tasks are successfully solved with help of the fast simulation packages integrated into the SCT software framework. The internal logic of the fast simulation and package usage within the framework are shown. Main detector sensitive subsystems have been implemented relying on different detector response parameterization approaches. This implementation can be considered as a set of examples and templates for further package development, e.g. the introduction of an inner tracker [26] or FDIRC as a PID option [27]. Several examples of fast simulation application are provided to show opening possibilities of physical analysis and detector options studies.