1 / 15

Analysis with Geant4 and AIDA

Analysis with Geant4 and AIDA. Tony Johnson SLAC-Geant4 Workshop February 2002 Tony Johnson. What is AIDA?. AIDA = Abstract Interfaces for Data Analysis. Analysis Tool 1. AIDA. User Code (e.g. Geant 4). Analysis Tool 2. Why AIDA?. Goal

kato-haley
Download Presentation

Analysis with Geant4 and AIDA

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Analysis with Geant4 and AIDA Tony Johnson SLAC-Geant4 Workshop February 2002 Tony Johnson

  2. What is AIDA? • AIDA = Abstract Interfaces for Data Analysis Analysis Tool 1 AIDA User Code (e.g. Geant 4) Analysis Tool 2

  3. Why AIDA? • Goal • Provide the user with a powerful set of interfaces which can be used regardless of which underlying analysis tool they are using. • Advantages • The user will only need to learn one set of interfaces even if they use more than one tool. • By pooling the experiences of several different development teams we will be able to develop a more complete solution to the data analysis problem. • Different analysis tools built using AIDA will be able to interoperate, for example by exchanging objects in a common storage format (initially XML). • Currently two versions of the AIDA interfaces exist, • one for Java • one for C++ • The two interfaces are as identical as the underlying languages will permit.

  4. Who is AIDA? • Many people have contributed • Key Players • Guy Barrand (LAL) • Mark Dönszelmann (CERN/SLAC) • Tony Johnson (SLAC) • Andreas Pfeiffer (CERN) • Tools Represented • Anaphne/LHC++/Lizard, GAUDI, FreeHEP, JAS, Open Scientist, COLT, WIRED

  5. What does AIDA currently support? • Histograms (1D, 2D and 3D) • Filling; Data Extraction; Arithmetic; Slices; Projections • Clouds (unbinned histograms) (1D, 2D and 3D) • Rebinnable histograms; scatterplot; unbinned fits. • N-Tuples (with varying types of columns) • Filling; Data Extraction; Filters; Evaluators; Projections • Functions and Fitting (still needs work) • Plotter • Display of Histograms, Clouds, Functions; Regions, Overlays • Trees • Folders; storage/persistency (.aida, database…) • XML Persistency (.aida files)

  6. Example AIDA program

  7. What AIDA Compliant Tools exist? • Current Version of AIDA is 2.2.1 • Tools • C++ • Open Scientist 8.0 http://www.lal.in2p3.fr/OpenScientist/ • Anaphne http://anaphe.web.cern.ch/anaphe/ • AIDA-JNI 1.0 http://java.freehep.org/lib/freehep/doc/aida/ • Java • JAIDA http://java.freehep.org/lib/freehep/doc/aida/ • XML • AIDA DIM for JAS http://jas.freehep.org/ • JAS Tuple Explorer http://jas.freehep.org/Documentation/TupleExplorer • All tools do not yet support all features • More contributors/implementers welcome

  8. AIDA with Geant4 • AIDA allows Geant4 examples to illustrate analysis techniques with choosing a single analysis tool • The T01 tutorial has been set up to use AIDA for analysis • By default links with a dummy implementation of AIDA • Switching to a real AIDA implementation is easy, just set environment variables and relink • source setup-analysis # (or source setup-analysis.csh) • make • ../../bin/$G4SYSTEM/T01app novis.mac

  9. Simple GUI build into JAIDA T01 also creates a T01.aida file which can be analyzed offline.

  10. Adding to T01 Analysis • T01AnalysisManager - This class is a simple wrapper around the AIDA factories used to create Histograms, Plotters and Tuples. You should not need to modify this class, but you may want to take a look at it to understand what it is doing. The useful methods it defines are: • static T01AnalysisManager* getInstance() - Get the (singleton) instance of T01AnalysisManager • IHistogramFactory* getHistogramFactory() - Used for creating histograms • ITupleFactory* getTupleFactory() - Used for create tuples • ICloudFactory* getCloudFactory()- Used for creating clouds (unbinned histograms) • IPlotter* createPlotter() - Create a Plotter (used for displaying histograms and clouds) • T01EventAction - This is where the user defined analysis is performed. After reading the AIDA Users Guide the code here should be fairly self explanatory. A good exercise would be to add you own histograms and display them using the plotter, or add your own columns to the Tuple.

  11. Future GUI/Analysis/Visualization • Currently • Visualization • GUI • Analysis • Are separate categories within Geant4 • This makes sense for G4 designers • But perhaps not for users • We hope to combine AIDA/GAG/Wired/JAS to form unified UI

  12. Geant 4 menu. Used to start G4 executable Command Arguments Currently Available Commands G4 Output

  13. Available Histograms Histos update in real time

  14. Wired Event Display shows current event

  15. Conclusions • Look at T01 source code • T01AnalysisManager • T01EventAction • AIDA Users Guide • On CD, or at: http://aida.freehep.org/lib/doc/UsersGuide/index.shtml • AIDA Web Site • http://aida.freehep.org/

More Related