Presentation is loading. Please wait.

Presentation is loading. Please wait.

G.Barrand, LAL-Orsay G4/analysis. G.Barrand, LAL-Orsay What is “analysis” ? Histogram, Tuple, Fitter, Function, Plotter.

Similar presentations


Presentation on theme: "G.Barrand, LAL-Orsay G4/analysis. G.Barrand, LAL-Orsay What is “analysis” ? Histogram, Tuple, Fitter, Function, Plotter."— Presentation transcript:

1 G.Barrand, LAL-Orsay G4/analysis

2 G.Barrand, LAL-Orsay What is “analysis” ? Histogram, Tuple, Fitter, Function, Plotter.

3 G.Barrand, LAL-Orsay What is “analysis” ? Languages Data Vis Analysis GUI Histo, Fitter,… Analysis = conjunction of everything !!!! Storage Net

4 G.Barrand, LAL-Orsay Huge turnover of facilities C++, java Data OpenGL, Inventor, j3D Objectivity, ? Analysis Gtk, Qt, awt, SWING Histo, Fitter,… Net How to face ?

5 G.Barrand, LAL-Orsay The TUniverse ? TC++ TVis TIO TAnalysis TGUI THisto, TFitter,… TNet TUniverse -> leave the real world ! (Zf77-Universe whilst the world migrates toward OO,…) TData TGeant

6 G.Barrand, LAL-Orsay Have architectures able to evolve and that permits to share the work. Abstract interfaces are one part of the solution (others are standards : XML, IDL, OpenGL, etc…) What else ?

7 G.Barrand, LAL-Orsay Abstract interfaces Plotter(IHistogram) IHistogram { int dimensions() = 0; int entries() = 0; …. } A plotter in a dll does not depend of a concrete implementation of histogram -> modularity ! Sharing the work assumes an agreement over IHistogram.

8 G.Barrand, LAL-Orsay Abstract interfaces exist in : JAS, Lizard, OpenScientist, Gaudi,… AIDA : the set of agreed one ! (?) AIDA : IHistogram1D, 2D, Factory. Take care of what you buy ! Agreed interfaces or interfaces of a specific analysis environment ? No agreement -> can’t share the work. AIDA

9 G.Barrand, LAL-Orsay Difficulties : –Agreement take times : because analysis things had never been really formalised ! –Burden of historical design mistakes of well established first generation of analysis tools. –The TUniverse do not want (obviously) to discuss ! AIDA difficulties

10 G.Barrand, LAL-Orsay IHistogram1D : IHistogram { void fill(double,double) = 0; … } Must it define only the “user interface” to histograms ? Must it be the interface designed by architects to reach interoperabilities of implementations ? Must it be the interface of the histogram embedded in a framework (then having store, vis,… methods) ? Exa, IHistogram

11 G.Barrand, LAL-Orsay Did not take party for such or such analysis environment. Does Geant4 collaboration have to take party for such or such set of abstract interfaces ? If answer is yes, it should be for a set of collaborative agreed ones ! Geant4 and analysis

12 G.Barrand, LAL-Orsay Agreed interfaces permit to do something G4Kernel JAS G4AnalysisManager AAIDA G4AnalysisManager = gateway toward analysis systems. (G4VisManager hub for graphics systems) First draft design get out from Naruto workshop. OpenScientist ? Lizard

13 G.Barrand, LAL-Orsay MyAnalysisManager : G4AnalysisManager { IHistogram1D* fEnteringEnergy; MyAnalysisManager(const G4String& aSystem) { RegisterAnalysisSystem(new G4JasSystem); RegisterAnalysisSystem(new G4OpenScientistSystem); … IHistogramFactory* hFac = GetHistogramFactory(aSystem); fEnteringEnergy = hFac->createHistogram1D(“Entering energy”,100,0,0.002); } void MyAnalysisManager::Step(G4Step *aStep) { double energy = …; fEnteringEnergy->fill(energy); } void EndOfRun(G4Run* aRun) { Store();} MyAnalysisManager v0

14 G.Barrand, LAL-Orsay void main() { G4AnalysisManager* am = new MyAnalysisManager (“JAS”); runManager->SetUserAction(new MyStepping(am)); runManager->SetUserAction(new MyRun(am)); … } MyStepping { G4AnalysisManager* fAM; MyStepping(G4AnalysisManager* aAM) :fAM(aAM){} void UserSteppingAction(G4Step* aStep) { fAM->Step(aStep); } } Analysis concentrated in ONE CLASS. Usage

15 G.Barrand, LAL-Orsay Source/analysis/management : G4AnalysisManager > ? No dependencies of the kernel toward analysis ! G4AnalysisManager IS NOT AN ANALYSIS SYSTEM. Source/analysis

16 G.Barrand, LAL-Orsay Suppress Registration of systems ? Use dynamic loading of implementations by hooking “factories” ? G4AnalysisManager :: IAnalysisManager IAnalysisManager methods ? v1 ? After (non?)discussion

17 G.Barrand, LAL-Orsay What are you buying at this workshop ? Agreed interfaces or interfaces of a specific analysis environment ? XrayTel

18 G.Barrand, LAL-Orsay XrayTel already shakes G4AM v0… –The Stepping action analysis does not rely only on the G4Step received in argument. –The analysis uses tuples… ITuple (and then IStorage) not yet in the set of agreed interfaces ! XrayTel & G4AnalysisManager v0

19 G.Barrand, LAL-Orsay Does Geant4 collaboration have to take party for a set of abstract interfaces ? If answer is yes, it should be for a set of collaborative agreed ones ! Then


Download ppt "G.Barrand, LAL-Orsay G4/analysis. G.Barrand, LAL-Orsay What is “analysis” ? Histogram, Tuple, Fitter, Function, Plotter."

Similar presentations


Ads by Google