<!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>
      <journal-title-group>
        <journal-title>October</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>GEOMETRY DATABASE FOR THE CBM EXPERIMENT</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>E.P. Akishina</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>E.I. Alexandrov</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>I.N. Alexandrov</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>I.A. Filozova</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
          <xref ref-type="aff" rid="aff5">5</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>V. Friese</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>V.V. Ivanov</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
          <xref ref-type="aff" rid="aff4">4</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Dubna State University, Institute of system analysis and management</institution>
          ,
          <addr-line>19, Universitetskaya., Dubna, Moscow region, 141980</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Elena Akishina</institution>
          ,
          <addr-line>Evgeny Aleksandrov, Igor Aleksandrov, Irina Filozova, Volker Friese, Victor Ivanov</addr-line>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>GSI</institution>
          ,
          <addr-line>1 Planckstraße, Darmstadt, 64291</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>Laboratory of Information Technologies, Joint Institute for Nuclear Research</institution>
          ,
          <addr-line>6 Joliot-Curie, Dubna, Moscow region, 141980</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
        <aff id="aff4">
          <label>4</label>
          <institution>National Research Nuclear University “MEPhI”</institution>
          ,
          <addr-line>31, Kashirskoe shosse, Moscow, 115409</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
        <aff id="aff5">
          <label>5</label>
          <institution>Plekhanov Russian University of Economics</institution>
          ,
          <addr-line>36 Stremyanny per., Moscow, 117997</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2019</year>
      </pub-date>
      <volume>4</volume>
      <issue>2019</issue>
      <fpage>306</fpage>
      <lpage>310</lpage>
      <abstract>
        <p>The last improvements and updates of the Geometry Database (Geometry DB) for the CBM (Compressed Baryonic Matter) experiment are described. The geometry DB is an information system that supports the CBM geometry. The main purpose of the Geometry DB is to provide a storage of the CBM geometry and convenient tools for managing geometry modules assembling various versions of the CBM setup as a combination of geometry modules and additional files. There must be functionality to support different versions of the CBM setup. The ability of setup versions is added. A set of corresponding tools, i.e. a graphical user interface (GUI) and an application programming interface (API), was implemented. Users do not always require regular updates of local CBMRoot from the version control system to solve their tasks (such as simulation or reconstruction). The main goal of the new functionality is to automatically select the setup version when loading the geometry corresponding to the current user environment.</p>
      </abstract>
      <kwd-group>
        <kwd>CBM</kwd>
        <kwd>Geometry Database</kwd>
        <kwd>setup</kwd>
        <kwd>setup module</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        The acquisition, storage, processing and analysis of experimental and simulated data are an
integral part of a physical experiment. The use of information systems makes a significant contribution
to the automation of the physical experiment. Physical parameters and data in experimental studies
directly depend on the design of the selected detectors. In high-energy physics there are no major
experiments without the use of information systems for various purposes. Such information systems
keep the detectors geometry as databases, which store and process all the data about the composition
and the structure of detectors. The motivation of this development is described in [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. The information
system CBM Geometry DB solves the following main tasks: storing CBM modules, loading geometry
modules for the setup construction, assembling the setup from stored modules and supporting the
setup versioning. The development is carried out according to the document “User Requirements
Document (URD)” [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
      </p>
    </sec>
    <sec id="sec-2">
      <title>2. General description of the CBM Geometry DB</title>
      <p>This information system is specific and determined by the method of assembling various CBM
configuration options. The setup consists of a set of setup modules and additional elements. Additional
elements include the detailed information on the distribution of the magnetic field inside and around
the dipole magnet and a list of materials that make up the CBM installation.</p>
      <p>
        The issues of developing the requirements and the design of the Geometry DB were presented
in detail in the papers [
        <xref ref-type="bibr" rid="ref1 ref2 ref3 ref4">1-4</xref>
        ]. The keynote concepts are:
      </p>
      <sec id="sec-2-1">
        <title>Geometry Module — ROOT file with the detector geometry content. Setup Module — Geometry module, link to the mother geometry module, its placement in the mother module (transformation matrix).</title>
      </sec>
      <sec id="sec-2-2">
        <title>Setup — Combination of setup modules, representing the full CBM geometry.</title>
        <p>The CBM Geometry DB is oriented to three types of users: Lead Developer, Developer and
CBM user. A Lead Developer is a coordinator who is responsible for the entire Geometry DB and has
maximum access rights. Managing the setup (delete any setup, create a new one and approve it) is
allowed only for the Lead Developer.</p>
        <p>A Developer is a person responsible for only one of the setup modules. Both the Developer
and the Lead Developer can create, edit or delete the setup module.</p>
        <p>A CBM user can view the content of the Geometry DB; download the full setup or one setup
module that belongs to this setup into the local file system; load the setup into the CBM ROOT
framework.</p>
        <p>The module “Configure Access” was realized. It manages user accounts, configures
administration rights and authorization rules.</p>
        <p>
          According to the Geometry DB functional model [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ], the system provides interfaces to view,
retrieve and update modules and setups; allows one to store the setup as a combination of setup
modules, the magnetic field and materials and save setup modules as ROOT files and the
Transformation matrix.
        </p>
        <p>
          The general object model of the system and the logical Entity-Relationship Diagram were
presented in the papers [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ] and [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ] in detail.
        </p>
        <p>The Geometry DB is implemented as a distributed system. The web server, the database
interface, the Database Management System and source data are located on the server host. The local
database and software CBMROOT are placed at the user workstation. The CBM user interacts only
with the local DB (a replica of the master DB).</p>
        <p>The system is implemented as GUI (web interface) and API. The web interface provides the
following functions: View, Edit and Download. API is implemented as a macros set of the ROOT
environment and provides getting the List of setups, Loading setup. Any macro can be used as an
executable file or called from other ROOT macros.</p>
        <p>Usually the requirements change during the process of the informational system transfer into
the production stage, so the system needs to be refined. Therefore, some changes were made and are
described below.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Design and implementation updates</title>
      <p>The main changes in the Geometry DB are made as a reaction to users’ requests, and the most
significant one is as follows. Physicists in the CBM collaboration use some software releases in the
svn system. There was an agreement that geometry root files would have names that included the
name of the whole software system. However, geometry root files are changed more frequently than
the whole software release. As a result, geometry root files have the same name, but have different
contents of the file and differ only in the svn revision. A user can check out geometry files with some
revision value, but cannot not be sure which revision number will be used to maintain consistency of
the entire geometry. A user can use the latest geometry files with the same name, but sometimes a user
uses some old version of the whole software. In addition, users who do not work on geometry
improvements want to use some geometry that can be loaded by default using only the file name.
Thus, we need to keep some additional parameter in the database, by means of which we can
distinguish between geometries that have the same name (or the tag name in case of a database). We
should also implement some rules on how to select the correct instance of the root file by default
without using this new parameter.</p>
      <p>
        The revision parameter was added in the setup entity to improve the setup flexibility:
Setup(#id, stag, description, author, status, lastmodified, revision).
According to URD [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], each setup is uniquely identified by a tag value. However, a user have to work
with a set of different versions of the setup under the same tag value. All geometry versions related to
this tag value should be saved in the database. The decision was to link the setup version with the svn
revision number of CBMRoot. Thus, a user is able to load the geometry by tag and revision values. In
case of the absence of the revision parameter, the geometry corresponding to the svn revision number
of CBMRoot installed on the user workstation is loaded by default. If a user does not use the version
control system in his CBMRoot environment, the geometry corresponding to the latest version is
downloaded. The web form for the new setup submission allows one to display and input the value
for the setup revision (Fig.1).
      </p>
      <p>The Edit Service on the web interface was extended with a tool ‘Make a copy of the
setup’. This tool creates a new setup on the basis of the existing one. It allows a user to quickly create
a setup by editing the existing one. Fig.2 illustrates a fragment of the web interface for creating a new
setup sis100_electron revision 14986 based on the existing one.</p>
      <p>
        The available macros are described in [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. A new parameter revision was added at the macros
signature. For example, the macro bool loadSetup(const char* setupTag, const char*
moduleName,long revision) loads the setup into the CBM ROOT environment by the module Id. The
geometry can be used in the ROOT framework afterwards. Return FALSE if the setup is not loaded,
and TRUE if loading is successful.
      </p>
      <p>The revision value of -1 means getting the revision number from local svn or the last one (if
svn does not exist). This functionality allows one to automatically select the setup version during
geometry loading (the geometry that corresponds to the current user environment).</p>
      <p>The set of macros was expanded with two new ones. A new macro loadSetupByURL(const
char* setupTag, const char* moduleName, long revision, const char* url) loads
the setup into the CBM ROOT framework. The Geometry can be used in the ROOT framework
afterwards. The macro loadSetupByURL allows a user to load the setup that has the status Created.
This functionality is useful for a developer to test the setup before accepting.</p>
      <p>The second implemented macro installLocalDB installs the sql replica of the full geometry
on the user workstation.</p>
    </sec>
    <sec id="sec-4">
      <title>4. Conclusion</title>
      <p>The Geometry DB was developed for the CBM collaboration, and database improvements
based on users’ requests are in progress. One of the main changes is the addition of a revision number
for the setup object in order to improve the database flexibility and convenience in use. GUI and API
were updated accordingly. The svn revision of the whole CBMRoot software was used in order to
automate this process. LoadSetupByURL macros were added as well. Using these macros is
convenient when creating and testing new setup objects.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>E.</given-names>
            <surname>Akishina</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Alexandrov</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Alexandrov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I.</given-names>
            <surname>Filozova</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Friese</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Ivanov</surname>
          </string-name>
          .
          <article-title>Experience of the Development of the Geometry Database for the CBM Experiment//EPJ Web Conf</article-title>
          ., Volume
          <volume>214</volume>
          ,
          <year>2019</year>
          . - DOI: https://doi.org/10.1051/epjconf/201921402030.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>E.</given-names>
            <surname>Akishina</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Alexandrov</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Alexandrov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I.</given-names>
            <surname>Filozova</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Friese</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Ivanov</surname>
          </string-name>
          ,
          <article-title>User Requirements Document of the Geometry DB for the CBM experiment, electronic publishing</article-title>
          . Available at: http://ltjds.jinr.ru/record/69336?ln=
          <source>en (accessed 30.10</source>
          .
          <year>2018</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>E.</given-names>
            <surname>Akishina</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Alexandrov</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Alexandrov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I.</given-names>
            <surname>Filozova</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Friese</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Ivanov</surname>
          </string-name>
          .
          <article-title>Status of the geometry database for the CBM experiment</article-title>
          ,
          <source>CEUR Workshop Proceedings</source>
          , Vol-
          <volume>2023</volume>
          , pp.
          <fpage>144</fpage>
          -
          <lpage>154</lpage>
          (
          <year>2017</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>E.</given-names>
            <surname>Akishina</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Alexandrov</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Alexandrov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I.</given-names>
            <surname>Filozova</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Friese</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Ivanov</surname>
          </string-name>
          .
          <article-title>Development of the Geometry Database for the CBM Experiment</article-title>
          ,
          <source>PEPAN Letters</source>
          ,
          <volume>1</volume>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>