<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>COMPUTING ENVIRONMENT FOR THE SUPER-CHARM- TAU FACTORY DETECTOR PROJECT</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>M. Belozyorova</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>D. Maksimov</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>G. Razuvaev</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>A. Sukharev</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>V. Vorobyev</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>A. Zhadan</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>D. Zhadan</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>E-mail:</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>D.A.Maksimov@inp.nsk.su</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Budker Institute of Nuclear Physics</institution>
          ,
          <addr-line>11, akademika Lavrentieva prospect, Novosibirsk, 630090</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Maria Belozyorova</institution>
          ,
          <addr-line>Dmitry Maksimov, Georgiy Razuvaev, Andrey Sukharev, Vitaly Vorobyev, Anastasiia Zhadan, Daniil Zhadan</addr-line>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Novosibirsk State University</institution>
          ,
          <addr-line>1, Pirogova street, Novosibirsk, 630090</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2021</year>
      </pub-date>
      <fpage>5</fpage>
      <lpage>9</lpage>
      <abstract>
        <p>The project of the Super Charm-Tau (SCT) factory - a high-luminosity electron-positron collider for studying charmed hadrons and tau lepton - is proposed by Budker INP. The project implies single collision point equipped with a universal particle detector. The Aurora software framework has been developed for the SCT detector. It is based on trusted and widely used in high energy physics software packages, such as Gaudi, Geant4, and ROOT. At the same time, new ideas and developments are employed, in particular the Aurora project benefits a lot from the turnkey software for future colliders (Key4HEP) initiative. This paper describes the first release of the Aurora framework, summarizes its core technologies, structure and roadmap for the near future. From the hardware point of view the Budker INP general computing facility (BINP/GCF) providing the required computational and storage resources is described.</p>
      </abstract>
      <kwd-group>
        <kwd>Super Charm-Tau factory</kwd>
        <kwd>SCT</kwd>
        <kwd>Aurora framework</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        Proposed by Budker INP team Super Charm-Tau (SCT) factory [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] is a symmetric
electronpositron collider with a single collision point going to operate in the energy range between √s = 2 and
6 GeV. This energy range covers the charmonium family, several open charm hadrons thresholds and
the τ lepton threshold, thus providing the rich physics program. Projected luminosity of the collider is
1035 cm−2 s−1 . Maximal event rate to deliver to the data storage is expected to be more than 350 kHz
for operation at the J/ψ resonance. The collision point is equipped with a universal particle detector
covering nearly full solid angle (Figure 1). The detector contains all traditional subsystems.
      </p>
    </sec>
    <sec id="sec-2">
      <title>2. Computing infrastructure</title>
      <p>Computing infrastructure for the SCT project is provided by BINP General Computing
Facility (BINP/GCF), which has about two thousands of CPU cores, several hundreds TB of
HDD/SSD storage, and direct broadband connections to local area computing centers as well as to the
LHCone network. These resources are available to BINP groups, either local or participating in remote
experiments, and, in particular, to the SCT project. General scheme of the BINP/GCF and its external
connections is presented at Figure 2.</p>
    </sec>
    <sec id="sec-3">
      <title>3. Software</title>
      <p>From the software point of view, the SCT experiment is a typical heavy flavor factory
experiment. It requires a complete stack of relevant software, including: event generators, parametric
and full detector simulation, event reconstruction algorithms, online event interpretation for trigger
decisions, event data model (EDM), I/O interface to conditions data base, I/O interface to data
storage, offline data analysis algorithms, build system and release management software. These
components and their interconnections are usually referred to as the software framework.</p>
      <p>Main components of the full framework and its information flows are illustrated in Figure 3.
Although not all the components presented there are really mandatory at the detector design stage, we
must keep them in mind to make further framework development easier.</p>
      <sec id="sec-3-1">
        <title>We adopt the following guiding principles to work on the detector software:</title>
      </sec>
      <sec id="sec-3-2">
        <title>1. Rely on trusted existing solutions where it is possible. 377</title>
        <p>2.</p>
        <p>Adopt the best practices of collaborative software development, including the code style
guidance and code reviewing procedure.
3. Be in touch with and contribute to the global community of the detector software developers.</p>
        <p>
          In particular, we follow the Key4HEP [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] project and we look forward to benefit from it.
        </p>
        <sec id="sec-3-2-1">
          <title>2.1 The framework</title>
          <p>
            The SCT detector software framework is based on Gaudi [
            <xref ref-type="bibr" rid="ref3">3</xref>
            ] and has name Aurora. It covers
all the aspects of software components interaction at runtime, including configuration, data exchange
and job running. The framework architecture follows the traditional scheme: it separates code and
data. Physics data are processed by Algorithms on event by event basis. An algorithm takes input data,
manipulates it and produces new output data. Some parts of this work may be delegated to Tools. The
framework provides data stores for data exchange between algorithms.
          </p>
          <p>Tools and algorithms are implemented with C++. Python is used for configuration and
steering scripts. The standard computing environment for the framework is Scientific Linux 7 at
x86_64 architecture, with GCC 9 as the main compiler. Python 2 is still used, however transition to
Python 3 is anticipated in the nearest future.</p>
          <p>The data flow in the processing chain is conventional. Events are generated by the chosen
generator, then injected into the simulation, yielding the event picture in the detector. The picture is
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
future) data. Reconstructed events are analyzed using corresponding high-level tools. On each stage of
this chain the intermediate data could be routed directly from one module to another, or stored and
read back later.</p>
        </sec>
        <sec id="sec-3-2-2">
          <title>2.2 Event Generators</title>
          <p>
            The required set of event generators should provide a reasonable description of e+e−
interactions in the energy range between 2 and 6 GeV. Generators can be divided into three categories
1. Exclusive decays of hadrons and tau lepton provided by the EvtGen [
            <xref ref-type="bibr" rid="ref4">4</xref>
            ] and Tauola [
            <xref ref-type="bibr" rid="ref5">5</xref>
            ].
Finalstate-radiation is simulated by the PHOTOS [
            <xref ref-type="bibr" rid="ref6">6</xref>
            ] generator.
2. Inclusive generators for e+e− → hadrons. This is a challenging task and only a preliminary
solution based on Pythia [
            <xref ref-type="bibr" rid="ref7">7</xref>
            ] generator is implemented at the moment.
          </p>
          <p>
            Generators for luminosity measurements and calibrations (MCGPJ [
            <xref ref-type="bibr" rid="ref8">8</xref>
            ], BabaYaga [
            <xref ref-type="bibr" rid="ref9">9</xref>
            ],
BBBREM [
            <xref ref-type="bibr" rid="ref10">10</xref>
            ], KKMC [
            <xref ref-type="bibr" rid="ref11">11</xref>
            ] and other).
          </p>
          <p>
            Primary generators produce output in the HepMC3 [
            <xref ref-type="bibr" rid="ref12">12</xref>
            ] format which is immediately
converted to SCT EDM and can be serialized or used as input to the SCT detector simulation
algorithm.
          </p>
        </sec>
        <sec id="sec-3-2-3">
          <title>2.3 Detector geometry description</title>
          <p>
            A uniform detector geometry description should be provided for all software modules thus
making sure the same geometry is used at all stages of data processing. Each detector subsystem has a
corresponding geometry software package. If there are several options for a subsystem, each option
has a separate package. The DD4Hep [
            <xref ref-type="bibr" rid="ref13">13</xref>
            ] toolkit is our choice for this task. The geometry description
consists of one or more XML files containing subsystem elements shapes, sizes, materials,
visualization attributes, readout parameters etc. The corresponding C++ class interprets the XML
description and creates all necessary objects.
          </p>
        </sec>
        <sec id="sec-3-2-4">
          <title>2.4 Detector response simulation</title>
          <p>
            This is actually a two-stage process. First, the detector simulation module uses Geant4 [
            <xref ref-type="bibr" rid="ref14">14</xref>
            ] for
particle propagation and hit generation. DD4Hep provides a special tool DDG4 to supply the
uniformed geometry description to Geant4.
          </p>
          <p>Digitization, i. e. conversion of hits generated by Geant4 to a form of data read from real
detector hardware (RawHit), is performed by ad-hoc algorithms, sometimes quite trivial, sometimes
rather complicated, developed by subsystems experts. The RawHit consists of an electronics channel
identifier and data “read” from the channel.</p>
        </sec>
        <sec id="sec-3-2-5">
          <title>2.5 Event reconstruction</title>
          <p>This is also two-level procedure. Basic reconstruction reads RawHit sets for the subsystem and
uses them to restore positional/energetic/temporal information forming corresponding reconstructed
hits. Each subsystem group should provide a basic reconstruction package for its subsystem.</p>
          <p>
            Then, the reconstructed hits are combined in a subsystem or in several subsystems to form
tracks, clusters or some another high-level objects. Among the options for the track reconstruction
package GenFit [
            <xref ref-type="bibr" rid="ref15">15</xref>
            ] and ACTS [
            <xref ref-type="bibr" rid="ref16">16</xref>
            ] are considered at the moment.
          </p>
        </sec>
      </sec>
      <sec id="sec-3-3">
        <title>Calorimeter reconstruction is based on a generic topo-cluster technique.</title>
        <sec id="sec-3-3-1">
          <title>2.6 Parametric detector model</title>
          <p>A parametric simulation is a tool to receive a detector response without detailed description of
interaction of particles with matter. The detector response is obtained using random numbers whose
distribution density is described with a small set of parameters.</p>
          <p>The parametric simulation yields the detector response in the SCT EDM format thus allowing
to analyze its result in the same manner as the result of the full simulation.</p>
        </sec>
        <sec id="sec-3-3-2">
          <title>2.7 Offline data analysis</title>
          <p>The Analysis module implements high-level tools for the offline analysis of reconstructed
events. The analysis procedure is candidate-based meaning that candidates of the process of interest
(e. g. D0 → K−π+ decay) are searched in each event, and necessary information is saved for each
candidate. The guiding principles behind software for the offline analysis are: 1) the analysis tools
should implement all required data manipulations, 2) the analysis tools should be easy to use, 3) an
analysis should be easily reproducible, and 4) the analysis result should be in a standardized format.
These principles imply that a user would be forced to use only provided high-level tools and not
process low-level data him or herself and impose strict requirements to the analysis tool: to be
versatile, extendable, and user-friendly.</p>
          <p>The following features are implemented in the Analysis module at the moment: accessing
reconstructed final-state-particles (input for the analysis), formation of candidate list for arbitrary
particle decay, imposing selection criteria, applying kinematic constraints to reconstructed particle
decays, saving the resulting information to a flat ROOT TTree for further analysis (analysis output).</p>
        </sec>
      </sec>
      <sec id="sec-3-4">
        <title>The Analysis module is going to be permanently improved and extended.</title>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>3. Conclusion</title>
      <p>The SCT software development goes on promptly, for both the core framework and
subsystem-specific parts, with more experimental groups joining the activity. Some of the framework
components are absent yet (for instance, the conditions database), being irrelevant at the present stage
of the project.</p>
      <p>The Aurora framework now contains all tools minimally required at the present stage of the
SCT detector project development. All described software is available as Aurora 1.0.1 release since
June 2021.</p>
    </sec>
    <sec id="sec-5">
      <title>4. Acknowledgments</title>
      <p>
        We are grateful to the Belle II collaboration for access to the Belle II detector software [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ].
We also thank the FCCSW project [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ] and ATLAS experiment [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ].
      </p>
      <p>This work was supported by RSF grant 19-72-20114.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>V. V.</given-names>
            <surname>Anashin</surname>
          </string-name>
          et al.
          <source>(SCT Colaboration)</source>
          , Super
          <string-name>
            <surname>Charm-Tau</surname>
            <given-names>Factory</given-names>
          </string-name>
          ,
          <article-title>Conceptual design report (draft), part one (physics program, detector</article-title>
          ), https://ctd.inp.nsk.su/wiki/images/4/ 47/CDR2_ScTau_en_vol1.
          <string-name>
            <surname>pdf</surname>
          </string-name>
          (
          <year>2018</year>
          ), accessed 2021-
          <volume>02</volume>
          -25
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <article-title>[2] Key4HEP: Turnkey Software for Future Colliders</article-title>
          , https://github.com/key4hep, accessed
          <year>2021</year>
          -
          <volume>02</volume>
          -26
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>The</given-names>
            <surname>Gaudi project at</surname>
          </string-name>
          <string-name>
            <surname>CERN</surname>
          </string-name>
          , http://gaudi.web.cern.ch/gaudi/, accessed 2021-
          <volume>02</volume>
          -25
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>EvtGen</given-names>
            <surname>Monte</surname>
          </string-name>
          <article-title>Carlo event generator</article-title>
          , https://evtgen.hepforge.org/, accessed 2021-
          <volume>02</volume>
          -25
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Tauola</surname>
          </string-name>
          , http://tauolapp.web.cern.ch/tauolapp/, accessed 2021-
          <volume>02</volume>
          -25
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Photos</surname>
          </string-name>
          , http://photospp.web.cern.ch/photospp/, accessed 2021-
          <volume>02</volume>
          -25
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>T.</given-names>
            <surname>Sjöstrand</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Mrenna</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Skands</surname>
          </string-name>
          ,
          <source>Comput. Phys. Commun. 178</source>
          <volume>852</volume>
          (
          <year>2008</year>
          ), arXiv:
          <fpage>1410</fpage>
          .3012, http://home.thep.lu.se/~torbjorn/Pythia.html
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>A. B.</given-names>
            <surname>Arbuzov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G. V.</given-names>
            <surname>Fedotovich</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F. V.</given-names>
            <surname>Ignatov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E. A.</given-names>
            <surname>Kuraev</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. L.</given-names>
            <surname>Sibidanov</surname>
          </string-name>
          ,
          <source>Eur. Phys. J. C</source>
          <volume>46</volume>
          ,
          <issue>689</issue>
          (
          <year>2006</year>
          ),
          <source>arXiv:hep-ph/0504233</source>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>G.</given-names>
            <surname>Balossini</surname>
          </string-name>
          ,
          <string-name>
            <surname>C. M. Carloni Calame</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          <string-name>
            <surname>Montagna</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          <string-name>
            <surname>Nicrosini</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Piccinini</surname>
          </string-name>
          , Nucl.
          <source>Phys. B758</source>
          <volume>227</volume>
          -
          <fpage>253</fpage>
          (
          <year>2006</year>
          ),
          <source>arXiv:hep-ph/0607181</source>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>R.</given-names>
            <surname>Kleissa</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Burkhardt</surname>
          </string-name>
          ,
          <source>Comput. Phys. Commun. 81</source>
          <volume>372</volume>
          (
          <year>1994</year>
          ),
          <source>arXiv:hep-ph/9401333</source>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>S.</given-names>
            <surname>Jadach</surname>
          </string-name>
          et al.,
          <source>Comput. Phys. Commun. 130</source>
          <volume>260</volume>
          (
          <year>2000</year>
          ),
          <source>arXiv:hep-ph/9912214</source>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>A.</given-names>
            <surname>Buckley</surname>
          </string-name>
          et al.,
          <source>Comput. Phys. Commun. 260</source>
          <volume>107310</volume>
          (
          <year>2021</year>
          ), arXiv:
          <year>1912</year>
          .08005, http://hepsoftware.org/e/hepmc3
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <article-title>Detector Description Toolkit for dd4hep/</article-title>
          , accessed 2021-
          <volume>02</volume>
          -25 Physics, https://dd4hep.web.cern.ch/
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <article-title>Geant4 simulation toolkit</article-title>
          , https://geant4.web.cern.ch/, accessed 2021-
          <volume>02</volume>
          -25
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>GenFit</given-names>
            <surname>Package</surname>
          </string-name>
          , https://github.com/GenFit/GenFit, accessed
          <year>2021</year>
          -
          <volume>02</volume>
          -25
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>Acts</given-names>
            <surname>Common Tracking Software</surname>
          </string-name>
          , https://github.com/acts-project/acts, accessed
          <year>2021</year>
          -
          <volume>02</volume>
          -25
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>T.</given-names>
            <surname>Kuhr</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Pulvermacher</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Ritter</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Hauth</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Braun</surname>
          </string-name>
          ,
          <source>Computing and Software for Big Science</source>
          <volume>3</volume>
          ,
          <string-name>
            <surname>Article</surname>
            <given-names>number</given-names>
          </string-name>
          :
          <volume>1</volume>
          (
          <issue>2018</issue>
          ),
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          <source>[18] Software for the accessed 2021-02-26</source>
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <surname>The</surname>
            <given-names>ATLAS Experiment</given-names>
          </string-name>
          , https://atlas.cern/, accessed 2021-
          <volume>02</volume>
          -25 http://hep-fcc.github.io/FCCSW/,
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>