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.

Slides:



Advertisements
Présentations similaires
BASE DE DONNEES CFAO Qu’est-ce que la B.D.
Advertisements

Introduction Rétro ingénierie d’interfaces graphiques
– Spanning Tree Protocol (STP)‏
Introduction: Concepts de la programmation
Introduction au langage C++
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.
Guide rapide pour le gestionnaire Etape
Premiers pas avec Apache Ant Par Guillaume BITAUDEAU Le 16/10/2003.
Module 6 : Gestion et analyse du système DNS
Intégration du système de production LHCb sur la DataGRID V. Garonne, CPPM, Marseille Réunion DataGRID France, 13 fv fév
Outils de développements
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
simulateur de réseau de machines UML connectées par WiFi mode ad-hoc
Copyright © 2004, SAS Institute Inc. All rights reserved. Processus Stockés SAS une perspective analytique Sylvain Tremblay SAS Canada 25 avril 2006.
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.
1 Lyon juin 2008 Articuler l'enseignement et la formation... ou comment aider à la formation dans l'action. L'exemple du site PEGASE.
Cours d’Automatique MASTER OIV
Product Lifecycle Management où La gestion du cycle de vie du produit
Introduction : Compilation et Traduction
Atelier ADOMOCA Nov 2007 Hervé Le Berre Larborescence du projet Mocage.
Chap 4 Les bases de données et le modèle relationnel
JDBC ou comment manipuler une base de données en Java ?
L’utilisation des bases de données
Projet de C – Matrices creuses
Conception des Réalisé par : Nassim TIGUENITINE.
LAL Service Informatique Stage Informatique 1 Le système Unix l Multitâche, multi-utilisateur, partage des ressources l Universel : machines, portabilité.
CSI3525: Concepts des Langages de Programmation Notes # 6: Langages de Programmation Fonctionelle II: Introduction au ML.
Etats des lieux (un début …) sur lergonomie de Méso-NH Soline Bielli Réunion Méso-NH 11 mai 2010.
Un outil de travail Collaboratif CVS IRD - Centre de Bretagne.
09/02/09 Analyse distribuée Une plongée dans PyROOT et l’accès aux données : CPU et réseau.
Présenté par : Attia Hamza Merzouk Abdelkrim 2003/2004
UTILISATION DE LINUX. LINUX 2 UTILISATION DE LINUX Différences Windows-Linux Le prix La licence Le choix des distributions Les applications Les utilisateurs.
Programmation Système et Réseau (sous Linux)
JDBC L'API JDBC est utilisée pour utilisée pour intéragir avec une base de données.
Bases de données Open Source Pierre Crépieux 13/03/2008.
Créer des packages.
Bootstrap pour l’ELNEJ. Aujourd’hui on vous présente B O O T S T R A P On dicutera des principes de base On va examiner le tableau de variances pour proportions.
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
1 Registration Physique Séminaire du Master Davide Bazzi Université de Fribourg
Plan Qu’est-ce que Windows Server 2008 ?
CONSULTER permet toujours d’explorer le protocole sans y apporter de modification. Pour MODIFIER le protocole, il faut indiquer le motif de cette.
Master 1 ère année Sécurité des Systèmes Informatique 1 Gestion de modules  Un module est un morceau de code qui peut être chargé à la volée dans le noyau.
Unix Raymond Ripp.
Transfert des données de paramétrage MICROMASTER vers le STARTER V4. 1
Logs, backup, maintenance
Module 3 : Création d'un domaine Windows 2000
1 Système d’exploitation Les scripts csh 1 ère Année Année Tienté HSU.
Présentation rapide de l’état des outils IPSL Marie-Alice Foujols Octobre 2005.
Gestion Parc Informatique Client UNIX Rémy Chaumard – BTSIRIS2 – projet GPI client UNIX – revue n1.
Point sur les données et les outils.  3 géométries différentes. ▪ Du début des shifts au 6 août :30 exclus ▪ Du 6 août :30 au 17 août 2011.
Palaiseau Réunion CCIN2P3/LCG 22/07/2004 Distribution des données CMS Distribution des données et préparation de l’analyse Production MC distribuée et.
Créer une base de données
S. Domas Système d’Exploitation Make et la construction d’exécutables 1ère annéeIUT Belfort-Montbéliard.
SKY.
Adobe Illustrator Création vectorielle.
Search IM Nouvelle Interface adCenter Avril 2007.
Pour mieux vieillir ensemble EndNote 102 Gérer et bonifier une bibliothèque Par Marie-Marthe Gagnon Bibliothécaire Mars 2015.
D0 côté info D0 à FNAL  Données du RunII  Infrastructure matérielle  Infrasturucture logicielle  Monte Carlo à D0 D0 à Lyon  Production Monte Carlo.
TD N°5: Une GPAO pour l’usine Odyssée
29 mars 2006J-P Meyer1 Evaluation des besoins en infrastructures et réseau  Evaluation des besoins en infrastructures  Evaluation des besoins réseau.
Mini-Workshop PCI 2012 Préparer par : Encadrer par :
BABAR Georges Vasseur CEA Saclay, DSM/IRFU/SPP Workshop sur l’analyse des données au centre de calcul de Lyon 17 avril 2008.
C. Charlot, LLR Ecole Polytechnique DC04 CMS Objectif numéro 1: préparation du traitement offline Différent des productions MC précédentes Mise en route.
Framework de reconstruction et d’analyse pour Micromegas Jean Jacquemier 27 janvier 2008.
FACTORY systemes Module 7 Page 7-1 Les outils clients non Wonderware FORMATION InSQL 7.0.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Monitoring dans EGEE Frederic Schaer ( Judit.
Un outil pour découper les arbres ROOT
Transcription de la présentation:

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 activité récurrente des chercheurs consiste à établir des critères pour définir quels événements physiques sont intéressants, et à extraire des fichiers ROOT les données attachées à ces événements particuliers. TSkim a été développé pour les y aider. Initialement un ensemble de scripts PERL et ROOT pour l’expérience FERMI, l'outil est à présent devenu suffisamment général et élaboré pour s’ouvrir à d'autres expériences, notamment CMS.

Plan Motivation Utilisation TSkim pour CMS Epilogue

Motivation Faciliter la manipulation de données complexes Factoriser les bonnes pratiques ROOT Réduire la duplication répétée des données à l’aide de listes

Organisation des données 2 15 m_runId m_eventId m_runId m_eventId EvtRun EvtEventId

Bonnes pratiques ROOT Optimiser les performance : s’efforcer de ne lire que les branches utiles, s’efforcer de ne lire chaque fichier qu’une seule fois, sélectionner l’option « Fast » quand c’est approprié. Détecter certains cas pathologiques : des changements inattendus dans la structure des branches, des Run/Event IDs dans le désordre, des Run/Event IDs trop grands.

Utilisation Configuration et entrées/sorties. Détails sur les fichiers de configuration, les variables d’environnement, les executables externes.

Config/Entrées/Sorties de TSkim TSkim MetaData.txtLibraryList.txtFileList.txtBranchList.txtEventList.txt BeamTest_X.root libDataDescription.so BeamTest_X.root DataSet.root SkimmedData_digi.root SkimmedData_reco.root SkimmedData_tuple.root SkimmedData_jobinfo.root

Exemple de job csh> setenv ROOTSYS /…/v c/root csh> setenv TS_META_DATA.../MetaData.txt csh> setenv TS_INPUT_LIBRARY_LIST.../LibraryList.txt csh> setenv TS_INPUT_FILE_LIST.../FileList.txt csh> setenv TS_INPUT_BRANCH_LIST.../BranchList.txt csh> setenv TS_INPUT_EVENT_LIST.../EventList.txt csh> setenv TS_DATA_TYPES "digi:reco:tuple:jobinfo" csh> setenv TS_OUT_DIR $PWD csh> tskim

Types de données #! SECTION MetaData (tuple.treeName) Tuple (tuple.runIdBranchName) EvtRun (tuple.eventIdBranchName) EvtEventId (jobinfo.treeName) jobinfo (digi.treeName) Digi (digi.runIdBranchName) m_runId (digi.eventIdBranchName) m_eventId (digi.topBranchName) DigiEvent (digi.topBranchType) DigiEvent (digi.libName) libdigi.so MetaData.txt

#! SECTION Files (tuple:jobinfo)/nfs/u35/dc08/Zjets-10_0000_tuple.root (tuple:jobinfo)/nfs/u35/dc08/Zjets-10_0001_tuple.root (tuple:jobinfo)… (tuple:jobinfo)/nfs/u35/dc08/Zjets-10_0008_tuple.root (tuple:jobinfo)/nfs/u35/dc08/Zjets-10_0009_tuple.root (digi)/nfs/u35/dc08/Zjets-10_0000_digi.root (digi)/nfs/u35/dc08/Zjets-10_0001_digi.root (digi)… (digi)/nfs/u35/dc08/Zjets-10_0008_digi.root (digi)/nfs/u35/dc08/Zjets-10_0009_digi.root Fichiers ROOT d’entrée TS_DATA_DIRS = /nfs/u35 : … : … FERMI_TASK = dc08/Zjets FERMI_RUN_MIN = 0 FERMI_RUN_MAX = 9 root://… rfio://… FileList.txt TS_DATA_COMMAND ?

#! SECTION Libraries /nfs/u09/builds/rh9_gcc32/DataFormats/310pre7/libcommon.so (digi)/nfs/u09/builds/rh9_gcc32/DataFormats/310pre7/libdigi.so (recon)/nfs/u09/builds/rh9_gcc32/DataFormats/310pre7/libreco.so Bibliothèques C++ précompilées TS_LIB_DIRS = /nfs/u09/builds/rh9_gcc32/ : … : … TS_LIB_DIR = DataFormats/310pre7 Pour Fermi, mécanisme de détection automatique de la version à partir d’un objet « entête » stocké dans tous les fichiers. LibraryList.txt TS_LIB_COMMAND ?

Sélection des branches #! SECTION Branches (tuple) -* (tuple) +PtT* (tuple) +Cal* (digi) +m_eventId (digi) +m_runId (digi) +m_acd (digi) -m_cal (digi) … BranchList.txt

Sélection des évènements #! SECTION Events #! 2000 entries in original dataset. #! 7 events after cut: TS_TCUT = "TkMomentum>200" TS_TCUT_DATA_TYPE = tuple EventList.txt En l’absence de TCUT et de liste d’évènements, TSkim fusionne les données.

Utilisation d’un fichier CEL TSkim MetaData.txtLibraryList.txt FileList.txt BranchList.txtTCUTSkData_digi.root SkData_tuple.root SkData_jobinfo.root BeamTest_X.root libDataDescription.so BeamTest_X.root DataSet.root SkData.cel.root

TSkim pour CMS Pour quoi faire ? Qu’est-ce qui manque ? Prototype en préparation

Pour quoi faire ? Les productions centralisées de “skims” officiels ?  CMS a déjà une infrastructure. Les filtrages de données des utilisateurs finaux, à un stade où ils ne sont plus dépendants de CMSSW, et n’utilisent plus que ROOT  Vrai besoin pour compenser l’absence de CMSSW.

Qu’est-ce qui manque ? Une interface utilisateur simplifiée, ne passant plus par des variables d’environnement, mais par des options de ligne de commande ? Une connexion avec DBS. Une bibliothèque C++ pour manipuler les fichiers CEL.

Prototype tskim.py \ -rel 3_1_0_pre7 \ -set RelValQCD_Pt_80_120 -tiers GEN-SIM-RECO \ -cut

Epilogue Conclusions Références

Conclusions En production pour FERMI. Prototype en préparation pour CMS. On recherche des utilisateurs pilotes.

Références /afs/cern.ch/user/c/chamont/… …/w1/TSkim/bin/tskim.py