- Data for fysikk
by Ørjan Silgjerd, modified
This is the presentation of the semester project in the course PHYS291 – Data for fysikk. All student projects should implement use of ROOT for data analysis . “ROOT is a modular scientific software framework. It provides all the functionalities needed to deal with big data processing, statistical analysis, visualisation and storage. It is mainly written in C++ but integrated with other languages such as Python and R.”
a user friendly GUI (Graphical User Interface) for opening data files
with the following measurements from a liquid fluid tank:
program code shall open the data files (when input is given from the
user through a push button in the GUI), where the data files are
collected. The data shall be calculated and presented as a averaged
value, and measurement error shall be calculated and presented. All
measurements shall be presented as numerical values and plotted in
the GUI vs time. A push button in the GUI for saving plot into file.
Test the program code with a dummy "measurement file" with
to code and data file:
files could be extracted to ROOT Macro folder/directory, start up
ROOT Terminal and run the application by typing .x tankmonitor.cpp.
is a ROOT C/C++ code with GUI.
application read measurement ASCII
files into vectors,
the user activates "Open file" button, and selects a
readable data file.
columns in the data file are
into vectors. (If the data files contain three columns, level,
temperature and pressure.
data is then plotted into height, temperature, and pressure graphs on
total mean and standard deviation for each plot is calculated and
presented into numerical indicators (in fact status bars are used
displaying number as string). The TH1 class is used to calculate mean
and RMS value that is said to be equal to estimated standard
real measurements files are lacking, the program can create pseudo
the "Test data" button, and the program writes then the
signal into arrays and thereafter into "pseudodata.txt" in
the “ROTsys” directory
The “Pring gr
numbers are implemented to generate some measurements noise and
randomness in signal behavior.
main frame or program window is fixed into 1024x768, that is regarded
is based on a ROOT example script, statusBar.C:
tankmonitor.cpp running is placed
with operator file buttons to left, graphs in center and indicators
good upgrade for this code would be;
adjustable main frame with floating canvas and
possibility to handle "live" measurement data, more or less
directly from the instruments via communication protocols.
multi-graph possibility, in order to evaluate and compare different
programming is time demanding, steels time , otherwise used on
programming the data analysis application. GUI also grow code lines
fast, making simple scripts unnecessary large.
is therefore recommended to avoid GUI when there is no demand or need
for that interface.
the experienced user ROOT's Command Line Interface is powerful and
more time efficient, compared to Graphical User Interface .
End of Page ---