José Miguel Ladino Méndez - Maestría en Ciencias Astronomía - UNAL

LACoNGA Physics - Ciencia de Datos - Tarea-Clase-08-datos

Documento ROOT C++ para convertir .csv data a .root

Realizado desde la maquina virtual de Atlas-Open-Data-ubuntu-2020-v4 a través de Oracle VM VirtualBox.

Datos .csv con las temperaturas, las luminosidades, los radios, las magnitudes absolutas, los tipos, los colores y las correspondientes clasificaciónes espectrales de 240 estrellas (base de datos de Kaggle).

In [1]:
%jsroot on
In [2]:
TString dir = gSystem->UnixPathName(__FILE__);
dir.ReplaceAll("stars.C","");
dir.ReplaceAll("/./","/");
In [3]:
TFile *f = new TFile("starsmod.root","RECREATE");
In [4]:
TTree *tree = new TTree("ntuple","data from csv file");
// The file inside has ---->  Indice, Temperature (K),  Luminosity(L/Lo),  Radius(R/Ro),  Absolute magnitude(Mv), Star type,  Star color,  Spectral Class
tree->ReadFile("starsmod.csv","index/I:Temperature/F:Luminosity/F:Radius/F:Absolute_magnitude/F:Star_type/C:Star_color/C:Spectral_Class/C",',');
f->Write();
Warning in <TTree::ReadStream>: Couldn't read formatted data in "Temperature(K)" for branch Temperature on line 1; ignoring line
Warning in <TTree::ReadStream>: Read too few columns (2 < 8) in line 1; ignoring line
In [5]:
TFile *_file0 = TFile::Open("starsmod.root");