ROOT

De MaGridWiki
Aller à : Navigation, rechercher

N.B :

  • Ce tutoriel explique un exemple d’exécution de l'application ROOT sur la grille de calcul.
  • Ce tutoriel est adapté principalement à la VO nationale : magrid
  • L'utilisateur est supposé connecté à l'interface utilisateur (ex: ui2.cnrst.magrid.ma), authentifié (certificat valide) et autorisé (vo magrid).


Sommaire

Description de ROOT

ROOT est un logiciel écrit en C++, composée de différentes classes, chacunes ayant leur utilité pour différents aspects d’une analyse. Non seulement il peut dessiner des histogrammes ou des graphiques en 2 dimensions, il peut faire des calculs complexes, des opérations sur des quadri-vecteurs, de la manipulation d’image, des calculs statistiques et peut interagir avec d’autres programmes comme Python ou MySQL.


Description des inputs/outputs

  • Les inputs sont: exemple.C et le script exécutable root.sh.
  • Les outputs sont: plot.eps.
Fichier: exemple.C
{
// Create a new canvas.
  c1 = new TCanvas("c1","Dynamic Filling Example",200,10,600,900);
  c1->SetFillColor(42);
 
// Create a normal histogram and two TH1K histograms
  TH1 *hpx[3];
  hpx[0]    = new TH1F("hp0","Normal histogram",1000,-4,4);
  hpx[1]    = new TH1K("hk1","Nearest Neighbor of order 3",1000,-4,4);
  hpx[2]    = new TH1K("hk2","Nearest Neighbor of order 16",1000,-4,4,16);
  c1->Divide(1,3);
  Int_t j;
  for (j=0;j<3;j++) {
     c1->cd(j+1);
     gPad->SetFrameFillColor(33);
     hpx[j]->SetFillColor(48);
     hpx[j]->Draw();
  }
 
// Fill histograms randomly
  gRandom->SetSeed();
  Float_t px, py, pz;
  const Int_t kUPDATE = 10;
  for (Int_t i = 0; i <= 300; i++) {
     gRandom->Rannor(px,py);
     for (j=0;j<3;j++) {hpx[j]->Fill(px);}
  }
 
  for (j=0;j<3;j++) hpx[j]->Fit("gaus");
 
c1->SaveAs("plot.eps");
}


Récupérer le tag de ROOT sur le VO magrid

On fait appel au système d'information [1].

[elkharrim@ui2 testroot]$ lcg-infosites --vo magrid tag


Le fichier du job: root.jdl

Fichier: root.jdl
Executable = "root.sh";
StdOutput = "std.out";
StdError = "std.err";
InputSandbox = {"root.sh","exemple.C"};
OutputSandbox = {"std.out","std.err","plot.eps"};
Requirements = Member("VO-magrid-root_v5.14.00",other.GlueHostApplicationSoftwareRunTimeEnvironment);


Le fichier exécutable: root.sh

Fichier: root.sh
#!/bin/sh
source ${VO_MAGRID_SW_DIR}/setenv_root_v5.14.00.sh
 
root -b -q exemple.C

Soumettre le job

[2]

Récupérer les résultats du job

[3]

Jobs de longue durée

[4]

Navigation
Administrateur
Utilisateur
Applications
Autorité de Certification