/////////////////////////////////////////////// // // Jan-2025 E. Nacher --> macro_hist04.C // //se compila como cualquier código en C++, crea un ejecutable //para compilar: g++ -o macro4 macro_hist04.C `root-config --cflags --glibs` // /////////////////////////////////////////////// #include #include #include #include #include using namespace std; int main(int argc, char **argv) { // Inicializar la aplicación de ROOT TApplication app("app", &argc, argv); // Creamos el histograma con 10 bines TH1F *hist = new TH1F("hist", "Ejemplo de histograma", 10, 0.5, 10.5); // Rellenamos el histograma con valores hist->SetBinContent(1, 3); // Bin 1 -> 3 hist->SetBinContent(2, 2); // Bin 2 -> 2 hist->SetBinContent(3, 5); // Bin 3 -> 5 hist->SetBinContent(4, 8); // Bin 4 -> 8 hist->SetBinContent(5, 6); // Bin 5 -> 6 hist->SetBinContent(6, 3); // Bin 6 -> 3 hist->SetBinContent(7, 2); // Bin 7 -> 2 hist->SetBinContent(8, 2); // Bin 8 -> 2 hist->SetBinContent(9, 1); // Bin 9 -> 1 hist->SetBinContent(10, 0); // Bin 10 -> 0 // Opciones de estilo para el histograma hist->SetFillColor(kBlue); hist->SetLineColor(kBlack); hist->SetLineWidth(2); // Creamos un canvas dividido en 2 partes TCanvas *c1 = new TCanvas("c1", "Canvas", 800, 600); c1->Divide(1, 2); // Dibujamos el histograma en la parte superior c1->cd(1); // Selecc el primer pad hist->Draw(); // Creamos las funciones sin(x) y cos(x) TF1 *sinFunc = new TF1("sinFunc", "sin(x)", 0, 10); TF1 *cosFunc = new TF1("cosFunc", "cos(x)", 0, 10); // Opciones de estilo para las funciones sinFunc->SetLineColor(kRed); sinFunc->SetLineWidth(2); cosFunc->SetLineColor(kBlue); cosFunc->SetLineWidth(2); // Dibujamos las funciones en la parte inferior c1->cd(2); // Selecc el segundo pad sinFunc->Draw(); cosFunc->Draw("SAME"); // Ejecutamos el loop de la aplicación de ROOT app.Run(); cout << "Ha terminado la aplicación" << endl; return 0; }