ATLAS Software eine beispielorientierte Einführung



Ähnliche Dokumente
Software Engineering in der Praxis

Inhaltsverzeichnis. 1 Einleitung. Literatur. 1.1 CVS (Concurrent Version System) [Pru03, Zee02, Ced05]

Datensicherung. Mögliche Vorgehensweisen:

Die Projek*ools. Files, Git, Tickets & Time

peer-to-peer Dateisystem Synchronisation

Sourcecodeverwaltung

Datensicherung und Wiederherstellung

Konfigurationsanleitung Access Control Lists (ACL) Funkwerk. Copyright Stefan Dahler Oktober 2008 Version 1.0.

Übung: Verwendung von Java-Threads

MailUtilities: Remote Deployment - Einführung

Von SVN zu Git. Daniel Willmann cbna

Praktikum Ingenieurinformatik (PI)

Einführung in Subversion

CVS. The open standard for version control. (Concurrent Versions System) Maik Zemann CVS

Software-Lizenzierung und Aktivierung: Verteilen von Software mit Apple Remote Desktop

1 Installation QTrans V2.0 unter Windows NT4

White Paper. Konfiguration und Verwendung des Auditlogs Winter Release

Upgrade-Leitfaden. Apparo Fast Edit. Wechsel von Version 2 auf Version oder Wechsel von Version auf Version 3.0.

Samsung Large Format Display

Anleitung zum erstellen einer PDF-Datei aus Microsoft Word

Generating Fingerprints of Network Servers and their Use in Honeypots. Thomas Apel

Anbindung des Onyx Editors an das Lernmanagementsystem OLAT Anwendungsdokumentation

Anleitung zum Prüfen von WebDAV

Team- Entwicklung unter Eclipse

Teamschool Installation/ Konvertierungsanleitung

1 Voraussetzungen für Einsatz des FRITZ! LAN Assistenten

Kurzanleitung zu. von Daniel Jettka

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein:

Multisite Setup. mit Nutzung von Subversion. Drupal Voice Chat

Versionsverwaltung mit Mercurial für Einsteiger

Installation des GeoShop Redirector für Apache (Stand ) ================================================================

Tutorial Windows XP SP2 verteilen

Agenda. Ziel Problematik OS-Installation Softwareverteilung Inventarisierung Stufenplan

Software-Engineering Grundlagen des Software-Engineering 7.3 Sourcecode-Verwaltung mit Versionsmanagement-Systemen Einführung in Subversion (SVN)

Verteiltes Persistenz-System. Mykhaylo Kabalkin

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein:

Moodle aktuell halten mit Git

Powermanager Server- Client- Installation

Eine Anleitung, wie Sie Mozilla Thunderbird 2 installieren und konfigurieren können. Installation Erstkonfiguration... 4

Installationsanleitungen

Support-Tipp Mai Release Management in Altium Designer

Installation, Konfiguration und Nutzung des WLAN auf PDA FujitsuSiemens Pocket Loox 720

Konfigurationsanleitung Fax over IP (T.38) und CAPI Fax Server (T.30) Graphical User Interface (GUI) Seite - 1 -

Dokumentation HIS WebShop CDShop Modul v1.00 Seite 1/10. CDShop Modul v1.00. Dokumentations-Release

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

Options- und Freitext-Modul Update-Anleitung

WebDAV-Zugang unter Windows 7 mit NetDrive

Installation Blockdruck WEB. Version 3.1.1

HowTo: Einrichtung & Management von APs mittels des DWC-1000

IMAP und POP. Internet Protokolle WS 12/13 Niklas Teich Seite 1

Python SVN-Revision 12

Whitepaper. Produkt: combit Relationship Manager / address manager. Dateiabgleich im Netzwerk über Offlinedateien

NetSeal Pro. Installations- und Bedienungsanweisung. Printserver L1 USB. Höns-Electronic GmbH & Co KG Bremen

Einrichtung Secure-FTP

Installation von Wordpress

Möglichkeiten des Parallelbetriebs der VR-NetWorld Software Parallelbetrieb VR-NetWorld Software 4.4x und Version 5.0 ab der 2. Beta!

ABB i-bus KNX. Software-Information. Melde- und Bedientableau. Typ: MT 701.2

OP-LOG

Security. Stefan Dahler. 6. Zone Defense. 6.1 Einleitung

Versionsverwaltung mit SVN

Betriebssystem Windows - SSH Secure Shell Client

1CONFIGURATION MANAGEMENT

COSA. Portal Client Installation JAVA J2SE / JRE Version 1.4.2_09, Stand Copyright

SharePoint Workspace 2010 Installieren & Konfigurieren

Michael Flachsel. Das SAN an der TUB. Aufbau und Funktion. 15. November 2007

Anleitung zur CITRIX-Receiver Installation.

VORSCHAUBILDER NEU GENERIEREN FÜR SHOPWARE 4.0

SVN Windows Howto. Inhaltsverzeichnis. 1 Revisionsgeschichte

eprints-anwendertreffen 2013

CVS-Einführung. Sebastian Mancke,

Anwenden eines Service Packs auf eine Workstation

4D Server v12 64-bit Version BETA VERSION

Kurzanleitung zu XML2DB

Installationsbeschreibung Import / ATLAS / PV Zollsystem für die EDV-Abteilung

LabView7Express Gerätesteuerung über LAN in einer Client-Serverkonfiguration. 1. Steuerung eines VI über LAN

Workshop: Eigenes Image ohne VMware-Programme erstellen

Planung für Organisation und Technik

Neue Funktionen im GUI für PC-DMIS V3.x 4.x Seite 1 von 8

Gibt Daten im erweiterten Format aus. Dies beinhaltet die Angabe von Zugriffsrechten, Besitzer, Länge, Zeitpunkt der letzten Änderung und mehr.

Bedienungsanleitung PC-Konfigurationssoftware des ID Inclinometers

Buildsystem. Maven & Scons. Controls Entwicklungsforum Januar 2012

desk.modul : WaWi- Export

Einführung in die Informatik Tools

Sichern des Home-Pools-Verzeichnisses via SFTP

Persönliches Adressbuch

Um ein solches Dokument zu erzeugen, muss eine Serienbriefvorlage in Word erstellt werden, das auf die von BüroWARE erstellte Datei zugreift.

Installation / Aktualisierung von Druckertreibern unter Windows 7

Dokumentation...Datenbank Außenlager

xgu 2.0 Installationsanleitung Installationsanleitung Excel Add-In zu ASTAG GU Kalkulationsgrundlage Bern, 19. August 2014 Version: 01.

Im Folgenden wird die Konfiguration der DIME Tools erläutert. Dazu zählen die Dienste TFTP Server, Time Server, Syslog Daemon und BootP Server.

Datenbanken auf Sybase SQL-Anywhere

git & git-flow Jens Sandmann Warpzone Münster e.v. Jens Sandmann (WZ) git & git-flow / 31

Task: Nmap Skripte ausführen

BMC Control M Tipps & Tricks 2. Martin Dienstl, BMC Software martin_dienstl@bmc.com

mobilepoi 0.91 Demo Version Anleitung Das Software Studio Christian Efinger Erstellt am 21. Oktober 2005

Über die Internetseite Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt.

Wireless & Management

Predictive Modeling Markup Language. Thomas Morandell

Transkript:

ATLAS Software eine beispielorientierte Einführung Aktuelle Probleme der experimentellen Teilchenphysik WS 2009 / 10 Lehrstuhl für Physik und ihre Didaktik

Athena-Klassen Algorithms Aufruf der Tools und Anwendung der Tools auf Data Objects Möglichst wenige Operationen innerhalb von Algorithmen, Trennung von Tools und Algorithmen (Verzeichnisse) Tools Jede Funktion, die außerhalb des Tools verfügbar sein soll, muss im Interface (Schnittstelle) des Software- Package definiert werden Data Objects Container mit Informationen Services Ermöglichen den Zugriff auf Tools und Data Objects

Beispiele für Packages

Erste Schritte Account unter LXPLUS bash oder zsh-shell ssh -X username@lxplus.cern.ch Erzeugung vom Verzeichnis cmthome im Home-Verzeichnis Editieren einer eigenen requirements-datei set CMTSITE CERN set SITEROOT /afs/cern.ch macro ATLAS_DIST_AREA ${SITEROOT}/atlas/software/dist macro ATLAS_TEST_AREA ${HOME}/testarea use AtlasLogin AtlasLogin-* $(ATLAS_DIST_AREA) Setup von CMT-Version source /afs/cern.ch/sw/contrib/cmt/vlr20p20080222/mgr/setup.sh cmt config Bei jeder neuen Sitzung (Athena-Laufzeitumgebung): source $HOME/cmthome/setup.sh -tag=15.6.1,setup,32 Wechsel ins Verzeichnis $TestArea

Start eines Athena-Jobs Für Standardaufgaben ohne Veränderung des zugrunde liegenden Quellcodes Athena Laufzeitumgebung starten Überprüfung durch type athena (Rückgabe athena.py) Erzeugung eines run-verzeichnisses in $TestArea Job Options in eigenes Verzeichnis kopieren get_files -jo HelloWorldOptions.py Starten des Jobs athena.py HelloWorldOptions.py Job Options als Python-Skripte Grundlagen von Python: Beispiel1, Beispiel2

HelloWorldOptions.py Import von Basis-Klassen, Def. von Package und Algorithmus from AthenaCommon.AlgSequence import AlgSequence job = AlgSequence() from AthExHelloWorld.AthExHelloWorldConf import HelloAlg job += HelloAlg( "HelloWorld" ) # 1 alg, named "HelloWorld" Ausgabe-Level (job.helloworld.outputlevel = INFO) Zahl der Events / Schleifen (theapp.evtmax = 10) Name zur Übergabe von Variablen an Alg. (HelloWorld = job.helloworld) Übergabe von Variablen an Alg. (HelloWorld.MyInt = 42) Übergabe von Variablen an Tool from AthExHelloWorld.AthExHelloWorldConf import HelloTool ToolSvc += HelloTool( "PublicHello" ) HelloWorld.MyPublicHelloTool = ToolSvc.PublicHello HelloWorld.MyPrivateHelloTool = HelloTool( "HelloTool" )

CMT Software ''Configuration Mangement Tool'' Entwickelt am LAL (Linear Accelerator Laboratory) bei Paris Einsatz in physikalischer Grundlagenforschung (LHCb, Virgo, Planck, Auger, GLAST) Organisation der Software in Packages und Verzeichnisse Build-Prozess Tests und Erzeugung von Dokumentation Auswahl der Work Area Verändern der Compiler Optionen ''Aufräumen'' der Binaries Anpassen der Umgebungsvariablen

AFS (Andrew File System) OpenAFS von Transarc / IBM vermarktet Erlaubt Zugang zu Dateien in einer heterogenen, stark verteilten Umgebung bei Authentifizierung durch Kerberos AFS-Zelle: Zusammenfassung von Servern zu einem ''zusammenhängenden'' Dateisystem (z.b. /afs/cern.ch) Cache Manager kopiert / hält ''Datenblöcke'' von empfangenen Dateien im lokalen Speicher Spätere Zugriffe viel schneller als über das Netzwerk Protokolle TCP/IP Zugriffsrechte: ''Access control list'' für jedes Verzeichnis Nutzer-Dateiverzeichnisse unter /afs/cern.ch

SVN Versionsmangement Ersatz von CVS (Concurrent Versioning System) seit 24.05.2009 Vorteile gegenüber CVS Geschwindigkeit (lokale Kopie der Repository Version) Nur komplette, konsistene Änderung am Repository akzeptiert (oder abgelehnt) Unterschiede auf Binary-Ebene darstellbar Unterstützung für verschiedene Repositories Vereinfachung von Verzeichnisverzweigungsstrukturen Verbesserung beim Logging von Revisionen

SVN Repository Struktur ATLAS offline und High Level Trigger: atlasoff Nutzer und Gruppen: atlasuser Dokumente: atlasdocs Versionen (Unterverzeichnisse) eines Package: Trunk: Version mit den letzten Modifikationen von Verzeichnissen cmt, doc, Package, share, src, test Tags: Stabile Version des gesamten Package (Snapshot) Beispiel: MuonHitTest-00-01-02 Branch: Entwicklungsversion basierend auf einer speziellen Tag-Version

Package MuonHitTest: Trunk-Strukur Spezielle Header -Bibliotheken in C++ (z.b. MDTHitsValAlg.h) requirements, setup-skripte Dokumentation Standard JobOption Skripte C++ Quellcode Verzeichnis zu Testzwecken Auflistung von Veränderungen der Software in diesem Package Empfohlen: Erzeugung eines run-verzeichnisses für eigene JobOptions und Ergebnisse

Package MuonHitTest: Check Out Möglichkeit der Veränderung bestehender Software (lokal in Laufzeitumgebung des Nutzers) Anzeige der aktuellen Version (des letzten Tags) cmt show versions MuonSpectrometer/MuonValidation/MuonHitTest Kopie des Package mit Angabe der Version in Verzeichnis $TestArea cmt co -r MuonHitTest-00-00-24 MuonSpectrometer/MuonValidation/ MuonHitTest Veränderung von Quellcode im Verzeichnis $TestArea/MuonSpectrometer/MuonValidation/MuonHitTest/src Im Verzeichnis.../cmt: cmt config (erzeugt setup.sh und Makefile) source setup.sh gmake (Komplieren, neue lokale Binaries)

Package MuonHitTest: Run Ausführen der JobOptions durch athena.py JobOptions.py Beispiel ReadMuonHitTest_AtlasGeo200.py: Include-Files Flags Detektorbeschreibung über GeoModel-Version Input-Files (xxx.pool.root) Zahl von Events Verwendete Algorithmen mit Übergabeparametern Ausgabe-Files mit Format (xxx.root bzw. xxx.aan.root)

Dokumentation: Twiki-Seiten Web-basierte Dokumentation für (große) Kollaborationen WikiNames: Zusammenhängende Wörter mit Großbuchstaben werden automatisch als Thema erkannt und mit Link versehen Modifikationen: Zuerst TWiki-Account Edit / Attach Versionskontrolle Testmöglichkeit Sandbox Beispiel: Validierung der Myonspektrometer-Geometrie mit Package MuonHitTest Erweiterungen durch Plugins, z.b. MathModePlugin, LatexModePlugin

ATLAS- Simulationskette

Event Generation Anhand JobOptions für Z->mu mu get_files -jo MC8.105145.PythiaZmumu.py Verwendung der Athena- Pythia- Schnittstelle Import der Standard-Pythia-Einstellungen (MC8_Pythia_Common.py) Liste von Pythia-Befehlen: "pysubs msel 0" (Nutzer spezifiziert alle Zerfallskanäle selbst) "pysubs msub 1 1" (Harter Prozess zur Erzeugung von Z-Bosonen) "pysubs ckin 1 60.0" (Minimale invariante Masse) "pydat3 mdme 184 1 1" (Auswahl Zerfallskanal Z->mu mu) Schnitt auf Lepton-Pt und Lepton-Eta (LeptonFilter.Ptcut = 5000, LeptonFilter.Etacut = 2.8) Anzahl von generierten Events (evgenconfig.minevents = 100)

Event Generation- Job Transforms Aufruf durch ''transform script'' csc_evgen08new_trf.py mit Param. 105145 (Run number, für physikalischen Prozess) 1 (Erstes Event in Output-Datei) -1 (Maximale Anzahl von Events, hier spez. In JobOptions) 1324354657 (Basis für Zufallszahlengenerator)./MC8.105145.PythiaZmumu.py (JobOptions mit Einstellungen) /tmp/$user/105145.pool.root (Output-Datei) Überprüfung der erzeugten Events durch get_files -jo readgeneventfrompool.py (zunächst Anpassung an vorher erzeugte Output-Datei) athena.py readgeneventfrompool.py > dumpmc.log

Event Generation- Output Ausgabe eines Teils von dumpmc.log:

Simulation und Digitalisierung Transform script csc_simul_trf.py mit Param. 105145.pool.root Input-Datei nach Event Generation hits.pool.root Simulierte Detektor-HITs rdo.pool.root Digitalisierte Dektor-RDOs 2 Zahl der Events 0 Auslassen von Events 1324354656 Basis für Zufallszahlengenerator ATLAS-GEO-06-00-00 Version der Detektor-Beschreibung 100 ''Offset'' Zufallszahlengenerator 1000 ''Offset'' Zufallszahlengenerator

Rekonstruktion Transform script csc_reco_trf.py mit Param. rdo.pool.root RDO-Input (Ergebnis von Digitalisierung) esd.pool.root Ausgabeformat: Event Summary Data aod.pool.root Ausgabeformat: Analysis Object Data ntuple.root Ausgabeformat: Root-NTupel 2 Zahl der Events ATLAS-GEO-06-00-00 Version für Detektorbeschreibung DEFAULT Konfiguration für Trigger

Literatur ATLASRegularComputingTutorial CMTTool AFS-Filesystem CERN TWiki