Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Analysis with Geant4 and AIDA Tony Johnson SLAC-Geant4 Workshop February 2002 Tony Johnson."— 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 AIDA = Abstract Interfaces for Data Analysis AIDA User Code (e.g. Geant 4) Analysis Tool 1 Analysis Tool 2

3 Why AIDA? Goal Goal Provide the user with a powerful set of interfaces which can be used regardless of which underlying analysis tool they are using.Provide the user with a powerful set of interfaces which can be used regardless of which underlying analysis tool they are using. Advantages Advantages The user will only need to learn one set of interfaces even if they use more than one tool.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.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).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, Currently two versions of the AIDA interfaces exist, one for Javaone for Java one for C++one for C++ The two interfaces are as identical as the underlying languages will permit. The two interfaces are as identical as the underlying languages will permit.

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

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

6 Example AIDA program

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

8 AIDA with Geant4 AIDA allows Geant4 examples to illustrate analysis techniques with choosing a single analysis tool 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 The T01 tutorial has been set up to use AIDA for analysis By default links with a dummy implementation of AIDA By default links with a dummy implementation of AIDA Switching to a real AIDA implementation is easy, just set environment variables and relink Switching to a real AIDA implementation is easy, just set environment variables and relink source setup-analysis # (or source setup-analysis.csh)source setup-analysis # (or source setup-analysis.csh) makemake../../bin/$G4SYSTEM/T01app novis.mac../../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: 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 T01AnalysisManagerstatic T01AnalysisManager* getInstance() - Get the (singleton) instance of T01AnalysisManager IHistogramFactory* getHistogramFactory() - Used for creating histogramsIHistogramFactory* getHistogramFactory() - Used for creating histograms ITupleFactory* getTupleFactory() - Used for create tuplesITupleFactory* getTupleFactory() - Used for create tuples ICloudFactory* getCloudFactory() - Used for creating clouds (unbinned histograms)ICloudFactory* getCloudFactory() - Used for creating clouds (unbinned histograms) IPlotter* createPlotter() - Create a Plotter (used for displaying histograms and clouds)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. 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.AIDA Users GuideAIDA Users Guide

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

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

13 Available HistogramsHistos update in real time

14 Wired Event Display shows current event

15 Conclusions Look at T01 source code Look at T01 source code T01AnalysisManagerT01AnalysisManager T01EventActionT01EventAction AIDA Users Guide AIDA Users Guide On CD, or at: http://aida.freehep.org/lib/doc/UsersGuide/ind ex.shtmlOn CD, or at: http://aida.freehep.org/lib/doc/UsersGuide/ind ex.shtml http://aida.freehep.org/lib/doc/UsersGuide/ind ex.shtml http://aida.freehep.org/lib/doc/UsersGuide/ind ex.shtml AIDA Web Site AIDA Web Site http://aida.freehep.org/http://aida.freehep.org/http://aida.freehep.org/


Download ppt "Analysis with Geant4 and AIDA Tony Johnson SLAC-Geant4 Workshop February 2002 Tony Johnson."

Similar presentations


Ads by Google