Framework de reconstruction et d’analyse pour Micromegas Jean Jacquemier 27 janvier 2008
Sommaire ◦Analyse du code existant. ◦Nouveau Framework. Objectifs et besoins. Méthodologie objet. Format XML pour le fichier configuration. ◦Doxygen: documentation du code source. ◦Subversion: un outil de développement collaboratif.
Reconstruction et analyse. 1/2 code existant Newrec.C (.h) ◦ Lecture de la configuration du détecteur utilisée pendant le « run » dans un ficher texte. Ce fichier est peu lisible et l’ajout de nouveaux paramètres est compliqué. Il est impossible d’inverser l’ordre des lignes dans le fichier. ◦ Reconstruction d’évènements pour des chambres gassiplex 96 et 384 voies. L’ordre des chambres Gassiplex 96 et 384 est figé. ◦ Fonction « mapping » permet de convertir un channel id en un coordonnées spatiales.
Reconstruction et analyse. 2/2 code existant NewEvent.C (.h) ◦ Définition des classes: Channel EventHeader -> pas utilisée Event HistoManager
Nouveau Framework 1/3 Objectifs et besoins ◦ A l’aide d’un seul et même framework, il faut pouvoir : 1/ reconstruire les évènements d’un Run avec: plusieurs modèles de chambres ( Gassiplex, HardRock … ) plusieurs modèles de canaux électroniques plusieurs formats pour les fichiers d’entrées (Centaure, CrossDac …) autoriser toutes les combinaisons de placement des chambres. 2/ fournir des outils pour l’analyse des données.
Nouveau Framework 2/3 Méthodologie objet ◦ Utilisation de la méthodologie objet pour: décrire les détecteurs micromegas et les outils de reconstruction et d’analyse sous forme d’objets. Des objets « métiers » qui représentent chaque « sous- ensemble » du détecteur et du run. Des objets « fonctionnels » qui aident à la reconstruction des évènements et à l’analyse des résultats.
Nouveau Framework 2/3 Méthodologie objet
Nouveau Framework 3/3 Fichier de configuration XML
Générateur de documentation Doygen Site officiel: Doxygen Micromegas LAPP
Subversion: Outil de développement collaboratif1/2 Site officiel: Successeur de CVS Gestion du développement collaboratif: Partage du code source Gestion des différentes versions du code de développement Peut être utilisé pour autre chose que du code source. Dépôt SVN pour Micromegas LAPP: Accès en lecture:
Subversion: Outil de développement collaboratif2/2 Utiliser une variable d’environnement pour l’url du dépôt: setenv SVNMICROMEGAS Commandes principales: svn list $SVNMICROMEGAS svn co $SVNMICROMEGAS svn status svn commit svn update 3 branches principales pour chaque projet: - trunk :branche principale qui contient le code en cours de développement - tags : contient les versions « taggées » du code - branches: utilisées pour les développements parallèles ou les patches