A.F. BarfussRéunion de groupe - 31/03/20061 Commencer une analyse sur CAF Didacticiels et aide Framework : CAF, CAFE, etc. Installation Outils : fichier.

Slides:



Advertisements
Présentations similaires
Support.ebsco.com Guide dUtilisation Création dune collection locale.
Advertisements

Master Professionnelle Sciences et Techniques 2 juillet
« Les Mercredis du développement » Introduction Office « 12 » Présenté par Bernard Fedotoff Microsoft Regional Director Agilcom.
Au programme du jour …. Ce que vous navez pas encore vu Constantes et variables de classe Main et Tests Utilisation de lAPI Existence des packages Existence.
Au programme du jour …. Introduction à lhéritage Un concept important de la programmation objet Livraison de code Organisation des répertoires et packages.
UNIX Pour débutant. Applications En directNavigateurCourrierMode consoleFenêtrage http smtp ssh X protocoles - langages de programmation protocoles -
UNIX Pour débutant. Applications En directNavigateurCourrierMode consoleFenêtrage http smtp ssh X Protocoles de communication Protocoles de communication.
JXDVDTEK – Une DVDthèque en Java et XML
Outils de développements
LICENCE MIAGE Introduction Programmation Orientée Objet JAVA philippe
PHP mySQL Extension php_mysql. Connexion à une base de données Établir une connexion mysql_connect(string server, string username, string password) –permet.
Autorisations Utilisation eCATT
FLSI602 Génie Informatique et Réseaux
La configuration Apache 2.2 Lhébergement virtuel.
Introduction aux Web Services Partie 1. Technologies HTML-XML
1 GPA435 Systèmes dexploitation et programmation de système Copyright, 2000 © Tony Wong, Ph.D., ing. Chapitre 5 Interpréteur de commande, Bourne shell,
Unix Raymond Ripp.
1 ARCHITECTURE DACCÈS la méthode générale modèle de données définitions module daccès / modules métiers construction des modèles les modules daccès, les.
Licence GNU FDL - Version 1.5
Les requêtes La Requête est une méthode pour afficher les enregistrements qui répondent à des conditions spécifiques. La requête est donc un filtre.
Page 1 Introduction à ATEasy 3.0 Page 2 Quest ce quATEasy 3.0? n Ensemble de développement très simple demploi n Conçu pour développer des bancs de test.
44 Contrôle du déroulement du programme. 4-2 Objectifs A la fin de ce cours, vous serez capables de : Utiliser les constructions de prise de décision.
Ecole Supérieure Privée de ingénierie et de technologie année universitaire :2013/2014 Cross-Plateform Cours JavaScript.
e-Marque Traitement des fichiers
F Copyright © Oracle Corporation, Tous droits réservés. Créer des programmes avec Procedure Builder.
Module 4 : Création et gestion de comptes d'utilisateur
Création et gestion de comptes d'utilisateur
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 Procédures stockées CPI-SQLServer.
FICHIERS : Définition : Algorithme général:
© Glaus & Ruckstuhl TECFA Le Processeur Apache / FOP.
Subversion.
BIGDATA Stella Kemgang Samuel Quettier Dzung Nguyen Cyrille Meli
Utilisation avancée de linux
PHP & My SQL.
Master 1 ère année Sécurité des Systèmes Informatique 1 Compilation à partir du code source  Pouvoir installer un logiciel avant qu’il ne soit packager.
Date : Juillet 2014 Formation : TAI Formateur : Tayeb BENDJELTI
Programmation Système et Réseau (sous Linux)
PHP 3° PARTIE : GESTION DE FICHIERS ET DE REPERTOIRES
L'échelle relative d'énergie des jets et un peu plus …
KRIKORIAN Pierre HILMI Brahim
JDBC L'API JDBC est utilisée pour utilisée pour intéragir avec une base de données.
Scripts shell intro Un script bash est un fichier contenant une suite de commandes shell, exécutables par l'interpréteur (ici le programme /bin/bash),
1 Status… Rootuples provenant de TopAnalyze Première étude de W.
Chapitre 6.2 Les curseurs Cours SGBD 3A Mme hkimi Jihène
Créer des packages.
TSkim Un outil pour découper les arbres ROOT. Introduction De nombreuses expériences de physique stockent leurs données sous forme d’arbres ROOT. Une.
Module 12 : Implémentation de procédures stockées.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Les erreurs communes en Java.
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
SciTools Understand A Source Code Analysis and Metrics Tool
Unix Raymond Ripp.
Logs, backup, maintenance
Présentation du framework JSF (Java Server Faces) dans le modèle événementiel MVCII
Création du projet On commence comme d’habitude :
SCAN400 , envoi mail des résultats JDSEE, JDFIELD
Quattor : Opérations Courantes - G. Philippon/M. Jouvin4-5/2/2009Quattor : Opérations Courantes - G. Philippon Opérations courantes.
Systèmes d’exploitation
Gradle permet d'écrire des tâches de constructions dans un fichier de construction en utilisant le langage Groovy Il est possible.
 Formulaires HTML : traiter les entrées utilisateur
Initiation au JavaScript
Module : Langage XML (21h)
QCM VBA.
Subversion.
D0 côté info D0 à FNAL  Données du RunII  Infrastructure matérielle  Infrasturucture logicielle  Monte Carlo à D0 D0 à Lyon  Production Monte Carlo.
1Boulogne Informatic Club PRESENTATION DE WINDOWS 10.
NICE.introduction ► ► Dans minix, toutes les processus utilisateurs s’exécutent avec la même priorité. ► ► Si en arrière fond, plusieurs processus intensifs.
Visual Information Solutions IDL 7.0 Pour une utilisation optimale d’IDL.
BABAR Georges Vasseur CEA Saclay, DSM/IRFU/SPP Workshop sur l’analyse des données au centre de calcul de Lyon 17 avril 2008.
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 4 Support de cours rédigé par Bernard COFFIN Université.
Transcription de la présentation:

A.F. BarfussRéunion de groupe - 31/03/20061 Commencer une analyse sur CAF Didacticiels et aide Framework : CAF, CAFE, etc. Installation Outils : fichier de configuration Ecrire son processeur Output et histogrammes Batch

A.F. BarfussRéunion de groupe - 31/03/20062 Page daccueil de CAF : Le didacticiel complet : Vancouver.pdf Un didacticiel sommaire sur les outils de base de CAF : d0.fnal.gov/Run2Physics/cs/caf/docs/tutorial_CAFTools.pdf Production de CAF trees : d0.fnal.gov/Run2Physics/cs/howto/tmb_analyze/TMBAnalyze.html Mailing list : archives : Didacticiels et aide

A.F. BarfussRéunion de groupe - 31/03/20063 CAF ? CAFE ?… CAF = Common Analysis Format. Structure arborescente ROOTesque. Voir structure : CAFe est le framework pour lanalyse. Ses fonctionnalités de base permettent lanalyse des CAF trees (packages cafe, cafe_sam). CAF UTILITIES est une boîte à outils standards pour réaliser les sélections courantes, appliquer des corrections à lefficacité des MC,… (packages caf_util, caf_mc_util) caf_tools contient des outils pour lancer des jobs en batch.

A.F. BarfussRéunion de groupe - 31/03/20064 Installation > setup D0RunII p –O SRT_QUAL=maxopt * > setup d0cvs > setenv LINK_SHARED yes > newrel –t p myworkarea > cd myworkarea > d0setwa > set path = ($SRT_PRIVATE_CONTEXT/shbin/$SRT_SUBDIR $path) > addpkg… (Voir ) Sils ne figurent pas sur la page web : (voir /D0/users/barfuss/180500WA/ /CVS/Tag) > addpkg cafe > addpkg tmb_tree > gmake (Message à ignorer : ERROR: multiply defined symbol: _moddi3 …) > cp caf_util/configs/test.config. > cp emid_cuts/support/emid_cuts.txt. >./test.config * Pour données p (3), CAF p18.03(5).00 En rouge, à saisir à chaque fois

A.F. BarfussRéunion de groupe - 31/03/20065 Pas de recompilation, un enregistrement suffit ! Ligne dexécution ordonnée des processeurs (petite liste page 16) page 16 Déclaration ordonnée des packages utilisés Spécifications pour chaque processeur (e.g. nombre de…) Lecture partielle des branches (gain de temps sensible) Déclaration des histogrammes (nom, binning,…) Organisation des fichiers et branches doutput (rootuples) contenant les objets sélectionnés Traitement possible dune liste de fichiers ou dun SAM dataset CAFe gère la boucle sur tous les événements. Fichier de configuration

A.F. BarfussRéunion de groupe - 31/03/20066 Fichier de configuration (suite) 1. Configuration générale Voir exemple p Sélecteurs dobjets : outils pour appliquer les critères de sélection classiques (nombre min, max, pT, JES, tri…) Voir exemple p Outils de qualité des données : fichiers contenant les mauvais runs et LBN pour le calo, le SMT, le CFT et les muons Voir exemple p Efficacité des coupures et statistiques Voir exemple p Création dhistogrammes et écriture du fichier skim.root Voir exemple p.21

A.F. BarfussRéunion de groupe - 31/03/20067 Ecrire son propre processeur Les sélecteurs et autres outils inclus dans les packages conviennent à une analyse standard. Mais il devient rapidement nécessaire détendre les fonctionnalités de ces processeurs pour un usage plus personnalisé. On peut toujours améliorer le code existant. Mais se pose alors le problème de la compatibilité au passage de version… Ecrire son propre processeur est donc la solution la plus flexible et la plus adaptée à lanalyse.

A.F. BarfussRéunion de groupe - 31/03/20068 Ecrire son propre processeur (suite) Il existe 2 types de processeurs : – ceux qui produisent des histos et qui doivent obligatoirement renvoyer true – ceux effectuant des coupures qui renvoient true pour garder lévénement ou false pour le rejeter Ils contiennent config.get pour récupérer les paramètres dans le fichier de configuration Ce quil faut faire pour quun nouveau processeur soit utilisable : – dans pkg/scripts/rootrc, +Plugin.Processor: myProc pkg::myProc… – ajouter son processeur à la liste des pkg/src/COMPONENTS Note : on peut aussi écrire son propre package, auquel cas il faut le lier dans include/, recompiler et lappeler dans test.config (cafe.Packages: …)

A.F. BarfussRéunion de groupe - 31/03/20069 Ecrire son propre processeur (suite) Un exemple de package fait maison (Samuel) à Lyon : /afs/in2p3.fr/home/s/scalvet/public/Btagging_p /mypackage Exemple dun processeur qui fait des coupures : AngleSelector constructeur : AngleSelector(const char *name); où name est le nom donné au processeur dans test.config. On y récupère aussi les paramètres fixés par test.config : _DeltaPhiMIN_JETMET_sup = config.get(DeltaPhiMIN_JETMET_sup, 180.); 180 est la valeur par défaut de _DeltaPhiMIN_JETMET_sup. pour récupérer une branche : _jetBranch = config.get(jetBranch, JCCB); processEvent récupère les objets (pointeur ou Collection ) true or false? une fois les objets récupérés, coupures et T ou F.

A.F. BarfussRéunion de groupe - 31/03/ Output et histogrammes Output : rootuple contenant les objets sélectionnés Histogrammes éventuellement dans un.root séparé cafe.Output: histos.root Comment traiter le résultat sous root : > autoroot.py tmb_tree cafe > root skim.root histos.root (ou, si ça ne marche pas : > $SRT_PUBLIC_CONTEXT/tmb_tree/tmb_tree/scripts/autoroot.py tmb_tree cafe) % TBrowser…

A.F. BarfussRéunion de groupe - 31/03/ Batch Tutorial complet p. 54 – 57 > setup caf_tools > runcafe –h …… Exemples à partir de myworkarea : > runcafe -clued0 --test.config > runcafe -cabsrv1 -outdir=/work/host/scratch --test.config > runcafe -cabsrv2 -def=caf_test_1 --test.config > runcafe -clued0 -tar=/path/my.tar.gz --test.config > … Temps dexécution

BACK UP

A.F. BarfussRéunion de groupe - 31/03/ Pour utiliser des fichiers sur HPSS : cafe.Input: stageinlist: mylist.list cafe.Stager: /afs/in2p3.fr/home/throng/d0/scripts/D0rfcp (cafe.StagingDirectory:.) Chaque fichier est alors copié sur le worker avant dêtre ouvert puis effacé lorsquil est fermé. Prévoir de lespace scratch pour le job ! HPSS

A.F. BarfussRéunion de groupe - 31/03/ Triggers Quels triggers pour mon état final ?

A.F. BarfussRéunion de groupe - 31/03/ Calcul de luminosité Avec loutil lm_tools > setup lm_tools > getLuminosity source [flags] [options] [input files] lm_tools documentation: getLuminosity Avec loutil lm_access > addpkg -h lm_access > gmake lm_access Si erreur à la compilation concernant lm_access_interface, ajouter aussi ce package dans myworkarea ( addpkg -h lm_access_interface ). Pour lexécuter, il est également nécessaire de faire setup d0_config. Access Luminosity information:

Liste de quelques processeurs Retour PackageProcesseurFonctioncafe.Run:Utilisation caf_util *Selector Sélecteurs dobjets (* = Electron, Muon, Jet, MET, Vertex,…) JetSelector (myjet) myjet.From: JCCB myjet.pT: 25. CafeDataQuality Processor Supprime les evts bruités CafeDataQualityPr ocessor(mydq) mydq.dqdef: filedq.dqdef ApplyJES Applique les corrections JES à une liste de jets ApplyJES(myjes) myjes.Tree: OutputTreeName myjes.doJESMU: false cafe Fork Exécute les processeurs en parallèle Fork(myfork) myfork.Run: Group(gr1) Group(gr2) Group Exécute tous ses proc. fils en séquence jusquà un false Group(gr1)gr1: JetSelector(myjet) Hist1D(h) Hist*D Trace des histos *=1, 2,3Hist1D(jetpT) jetpT.Bins: 100, 0., 100. jetpT.Draw:selectedJets.pT Stat Collecte les stats des sélections et affiche les efficacités Stat(eff) eff.Output: test eff.Update: 1000 Trigger Sélectionne les evts triggésTrigger(DiEMEvts)DiEMEvts.Triggers: 2EM_HI Write Ecrit les fichiers doutputWrite(skim)skim.File: skim.root Passed Affiche le nombre devts qui ont passé la coupure. Passed cafe.Run: EventFlags(myFlags) Passed Pages web : /devel/doc/html/index.html

Commande dexécution Déclaration des packages Configuration générale Retour # commentaire

Prenons lexemple des jets : Sélecteurs dobjets Retour

Il existe des fichiers contenant les bad LBN et bad runs pour tous les sous-systèmes : Cependant, on peut les utiliser séparément : Outils de qualité des données Retour

Outil de calcul de lefficacité : Loutput est un fichier html : Efficacité Retour

Méthodes plutôt intuitives… : Création dhistogrammes Écriture du fichier Retour

Batch > runcafe [ options ] [ -- arguments ] Runcafe -help|-h|--helpprint this help -dest= submit job to destination [ required ] currently: clued0, cabsrv1, cabsrv2 -clued0shortcut for -dest=clued0 -cabsrv1shortcut for -dest=cabsrv1 -cabsrv2shortcut for -dest=cabsrv2 -def= SAM dataset definition [ default: ] -filelist= File with filename list [ default: ] -project= SAM project name [ default: rhauser_[date] ] -jobs= number of parallel SAM jobs [ default: 1 ] -exec= name of executable [ default: cafe ] -name= name of job in batch system [ default: run_jobs.sh ] -outhost= name of output host [ default: hostname ] -outdir= name of output directory [ default: pwd ] -outfiles='...'list of files/directories to copy back as result -inputdir= name of input directory [ default: pwd ] -tar= alternative.tar.gz file for input directory -infiles='...'list of input files/directories to copy in -queue= name of queue in batch system -debugprint out debug statements of script All command line parameter after the -- are assumed to be arguments to the executable runcafe

Temps dexécution Batch Question : dois-je faire un sous-skim des événements EM1TRK ? – terminaux 3GHz sélectionnent les runs par flags à ~8kHz – sélection par triggers à ~6kHz – sélection par expression arbitraire 500 à 1kHz Le conseil de Slava : Au lieu de vous embêter à faire des sous- skims géants, utilisez vos critères spécifiques et nécrivez que les événements qui vous intéressent.