fairroot
C++ simulation, reconstruction and analysis framework for particle physics experiments
Science Score: 49.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 3 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (17.9%) to scientific vocabulary
Keywords
Repository
C++ simulation, reconstruction and analysis framework for particle physics experiments
Basic Info
- Host: GitHub
- Owner: FairRootGroup
- License: other
- Language: C++
- Default Branch: master
- Homepage: http://fairroot.gsi.de
- Size: 208 MB
Statistics
- Stars: 63
- Watchers: 20
- Forks: 97
- Open Issues: 78
- Releases: 59
Topics
Metadata Files
README.md
FairRoot
The FairRoot framework
A simulation, reconstruction and analysis framework that is based on the ROOT system. The user can create simulated data and/or perform analysis with the same framework. Geant3 and Geant4 transport engines are supported, however the user code that creates simulated data do not depend on a particular Monte Carlo engine. The framework delivers base classes which enable the users to construct their detectors and /or analysis tasks in a simple way, it also delivers some general functionality like track visualization. Moreover an interface for reading magnetic field maps is also implemented.
License
FairRoot is distributed under the terms of the GNU Lesser General Public Licence version 3 (LGPLv3).
Release information
Please see : https://github.com/FairRootGroup/FairRoot/releases
Getting started
Please see : fairroot.gsi.de for details.
Using the Project template
FairRoot delivers various project templates that can be used as a starting point for anybody who would like to build simulation and reconstruction with FairRoot. The project Templates are located in the FairRoot/templates directory.
Optional change of output tree name
By default, the name of the tree in output ROOT file is "cbmsim". In case you want to change it for your Project, you need to create "config" folder inside of top source directory of the Project and place there "rootmanager.dat" text file with following single line: "treename=nameyouchose":
bash
cd PROJECT_TOP_DIR
mkdir config
echo 'treename=name_you_chose' > config/rootmanager.dat
It is also possible to set the folder/tree names using corresponding (SetFolderName()/SetTreeName()) methods of the FairRootManager.
Step by Step installation
Install FairSoft
Install FairRoot
```bash
Set the shell variable SIMPATH to the FairSoft installation directory
export SIMPATH=~/fairinstall/FairSoft/install [setenv SIMPATH ~/fairinstall/FairSoft/install]
cd ~/fairinstall git clone -b dev https://github.com/FairRootGroup/FairRoot.git cd FairRoot mkdir build cd build cmake -DCMAKEINSTALLPREFIX="~/fairinstall/FairRoot/install" .. make make install ```
To run the tests do:
```bash
To run test: make new shell, do not define SIMPATH
cd ~/fair_install/FairRoot/build make test ```
Install the template:
you need to copy the project template to you own directory
```bash
# Set the shell variable FAIRROOTPATH to the FairRoot installation directory
export SIMPATH=~/fair_install/FairSoft/install
[setenv SIMPATH ~/fair_install/FairSoft/install]
export FAIRROOTPATH=~/fair_install/FairRoot/install
[setenv FAIRROOTPATH ~/fair_install/FairRoot/install]
cd ~/fair_install
cp -rf FairRoot/templates/project_root_containers MyTest
cd MyTest
./rename.sh MyExperiment MyExp det
# Please call the script with three parameters. The first one is the
# name of the project. The second one is the prefix in front of
# the class names. and some directories. So this second parameter
# shouldn't be to long. The third parameter is the name of the
# detector you want to implement.
# As an example the if you want to create a project for the Panda
# experiment and you want to implement a Straw Tube Tracker (stt)
# you would call the script in the following way.
# ./rename.sh Panda Pnd stt
mkdir build
cd build
cmake ../MyExperiment
make
. ./config.sh [or source config.csh]
```
Now you can for example simulate some events and run the event display:
```bash
root -q ../macro/run_sim.C
root ../macro/eventDisplay.C
// Click on "FairEventManager" (in the top-left pane)
// Click on the "Info" tab (on top of the bottom-left pane)
// Increase the "Current Event" to >0 to see the events
root [1] .q
```
Generating Doxygen documentation
If the flage -DBUILD_DOXYGEN=ON is set when calling cmake, the doxygen documentation will be generated when calling make. The generated html files can then be found in "build/doxygen/doc/html"
Doxygen documantation is also available online here
Owner
- Name: FairRoot Group at GSI
- Login: FairRootGroup
- Kind: organization
- Email: m.al-turany@gsi.de
- Location: GSI Darmstadt/ Germany
- Website: fairroot.gsi.de
- Repositories: 37
- Profile: https://github.com/FairRootGroup
CodeMeta (codemeta.json)
{
"@context": "https://doi.org/10.5063/schema/codemeta-2.0",
"@type": "SoftwareSourceCode",
"name": "FairRoot",
"description": "<p>A simulation, reconstruction and analysis framework that is based on the ROOT system. The user can create simulated data and/or perform analysis with the same framework. Geant3 and Geant4 transport engines are supported, however the user code that creates simulated data do not depend on a particular monte carlo engine. The framework delivers base classes which enable the users to construct their detectors and /or analysis tasks in a simple way, it also delivers some general functionality like track visualization. Moreover an interface for reading magnetic field maps is also implemented.</p>",
"license": "https://spdx.org/licenses/LGPL-3.0-only",
"softwareVersion": "19.0.0",
"datePublished": "2012-05-25",
"keywords": [
"geant4",
"c-plus-plus",
"cmake",
"reconstruction",
"vmc",
"modular",
"analysis",
"simulation"
],
"maintainer": {
"@type": "Person",
"familyName": "Karabowicz",
"givenName": "Radoslaw"
},
"readme": "https://github.com/FairRootGroup/FairRoot/blob/master/README.md",
"codeRepository": "https://github.com/FairRootGroup/FairRoot/",
"identifier": "https://doi.org/10.5281/zenodo.3896282",
"issueTracker": "https://github.com/FairRootGroup/FairRoot/issues",
"author": [
{
"@type": "Person",
"@id": "https://orcid.org/0000-0002-8071-4497",
"givenName": "Mohammad",
"familyName": "Al-Turany"
},
{
"@type": "Person",
"@id": "https://orcid.org/0009-0005-4083-2711",
"givenName": "Radoslaw",
"familyName": "Karabowicz"
},
{
"@type": "Person",
"@id": "https://orcid.org/0000-0003-3787-1910",
"givenName": "Dennis",
"familyName": "Klein"
},
{
"@type": "Person",
"@id": "https://orcid.org/0000-0002-7537-2875",
"givenName": "Dmytro",
"familyName": "Kresan"
},
{
"@type": "Person",
"@id": "https://orcid.org/0000-0002-6249-155X",
"givenName": "Alexey",
"familyName": "Rybalchenko"
},
{
"@type": "Person",
"@id": "https://orcid.org/0000-0002-5321-8404",
"givenName": "Christian",
"familyName": "Tacke"
},
{
"@type": "Person",
"@id": "https://orcid.org/0009-0005-3057-8561",
"givenName": "Florian",
"familyName": "Uhlig"
}
],
"contributor": [
{
"@type": "Person",
"givenName": "Laurent",
"familyName": "Aphecetche"
},
{
"@type": "Person",
"givenName": "Arya",
"familyName": "Babai"
},
{
"@type": "Person",
"givenName": "Dario",
"familyName": "Berzano"
},
{
"@type": "Person",
"givenName": "Denis",
"familyName": "Bertini"
},
{
"@type": "Person",
"givenName": "Sebastien",
"familyName": "Binet"
},
{
"@type": "Person",
"givenName": "Susanna",
"familyName": "Costanza"
},
{
"@type": "Person",
"givenName": "Giulio",
"familyName": "Eulisse"
},
{
"@type": "Person",
"givenName": "Volker",
"familyName": "Friese"
},
{
"@type": "Person",
"givenName": "Konstantin",
"familyName": "Gertsenberger"
},
{
"@type": "Person",
"givenName": "Ivana",
"familyName": "Hřivnáčová"
},
{
"@type": "Person",
"givenName": "Roman",
"familyName": "Klasen"
},
{
"@type": "Person",
"givenName": "Ralf",
"familyName": "Kliemt"
},
{
"@type": "Person",
"givenName": "Philipp",
"familyName": "Klenze"
},
{
"@type": "Person",
"givenName": "Thorsten",
"familyName": "Kollegger"
},
{
"@type": "Person",
"givenName": "Ilse",
"familyName": "Koenig"
},
{
"@type": "Person",
"givenName": "Mikolaj",
"familyName": "Krzewicki"
},
{
"@type": "Person",
"givenName": "Lia",
"familyName": "Lavezzi"
},
{
"@type": "Person",
"givenName": "Evgeny",
"familyName": "Lavrik"
},
{
"@type": "Person",
"givenName": "Oliver",
"familyName": "Lantwin"
},
{
"@type": "Person",
"givenName": "Anar",
"familyName": "Manafov"
},
{
"@type": "Person",
"givenName": "Jan",
"familyName": "Mayer"
},
{
"@type": "Person",
"givenName": "Gvozden",
"familyName": "Neskovic"
},
{
"@type": "Person",
"givenName": "Sebastian",
"familyName": "Neubert"
},
{
"@type": "Person",
"givenName": "Egor",
"familyName": "Ovcharenko"
},
{
"@type": "Person",
"givenName": "Carmelo",
"familyName": "Pellegrino"
},
{
"@type": "Person",
"givenName": "Loizeau",
"familyName": "Pierre-Alain"
},
{
"@type": "Person",
"givenName": "Stefan",
"familyName": "Pflueger"
},
{
"@type": "Person",
"givenName": "Matthias",
"familyName": "Richter"
},
{
"@type": "Person",
"givenName": "Fons",
"familyName": "Rademakers"
},
{
"@type": "Person",
"givenName": "David",
"familyName": "Rohr"
},
{
"@type": "Person",
"givenName": "Ruben",
"familyName": "Shahoyan"
},
{
"@type": "Person",
"givenName": "Tobias",
"familyName": "Stockmanns"
},
{
"@type": "Person",
"givenName": "Andrey",
"familyName": "Ustyuzhanin"
},
{
"@type": "Person",
"givenName": "Barthélémy",
"familyName": "von Haller"
},
{
"@type": "Person",
"@id": "https://orcid.org/0000-0002-7006-7986",
"givenName": "Yanzhao",
"familyName": "Wang"
},
{
"@type": "Person",
"givenName": "Sandro",
"familyName": "Wenzel"
},
{
"@type": "Person",
"givenName": "Daniel",
"familyName": "Wielanek"
},
{
"@type": "Person",
"givenName": "Nicolas",
"familyName": "Winckler"
},
{
"@type": "Person",
"givenName": "Lorenzo",
"familyName": "Zanetti"
}
]
}
GitHub Events
Total
- Issues event: 8
- Watch event: 5
- Issue comment event: 45
- Push event: 18
- Pull request review comment event: 15
- Pull request review event: 37
- Pull request event: 17
- Fork event: 3
- Create event: 1
Last Year
- Issues event: 8
- Watch event: 5
- Issue comment event: 45
- Push event: 18
- Pull request review comment event: 15
- Pull request review event: 37
- Pull request event: 17
- Fork event: 3
- Create event: 1
Issues and Pull Requests
Last synced: 4 months ago
All Time
- Total issues: 5
- Total pull requests: 9
- Average time to close issues: about 2 months
- Average time to close pull requests: 21 days
- Total issue authors: 2
- Total pull request authors: 4
- Average comments per issue: 0.2
- Average comments per pull request: 1.44
- Merged pull requests: 5
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 5
- Pull requests: 9
- Average time to close issues: about 2 months
- Average time to close pull requests: 21 days
- Issue authors: 2
- Pull request authors: 4
- Average comments per issue: 0.2
- Average comments per pull request: 1.44
- Merged pull requests: 5
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- dennisklein (15)
- YanzhaoW (7)
- LeoFoorm (3)
- mgoncerz (2)
- TobiasStockmanns (2)
- ChristianTackeGSI (2)
- klenze (1)
- cdevanne (1)
- karabowi (1)
- jose-luis-rs (1)
- pbelecky (1)
- emssay (1)
- fuhlig1 (1)
Pull Request Authors
- ChristianTackeGSI (46)
- dennisklein (17)
- fuhlig1 (9)
- karabowi (8)
- YanzhaoW (3)
- rbx (2)
- TobiasStockmanns (1)
- cvilelahep (1)
- DanielWielanek (1)
- jose-luis-rs (1)