1 / 17

J. Adamczewski , M. Al-Turany, D. Bertini, H.G. Essel

DVEE-Seminar . G SI O nline O ffline O bject O riented. G o 4. The GO4 Event Classes. J. Adamczewski , M. Al-Turany, D. Bertini, H.G. Essel. Contents. G o 4 : Software layers and architecture G o 4 Analysis framework concepts Base classes for user event structures

aimon
Télécharger la présentation

J. Adamczewski , M. Al-Turany, D. Bertini, H.G. Essel

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. DVEE-Seminar GSIOnlineOfflineObjectOriented Go4 The GO4 Event Classes J. Adamczewski, M. Al-Turany, D. Bertini, H.G. Essel Go4 - http://go4.gsi.de

  2. Contents • Go4: Software layers and architecture • Go4Analysis framework concepts • Base classes for user event structures • Getting data from MBS and .lmd • Example: Euroball • Outlook: User analysisin Go4 GUI • Summary Go4 - http://go4.gsi.de

  3. Go4 Analysis Go4 Event Interface Go4 Package Layers Go4 Framework User Analysis Go4 GUI Go4TaskHandler Qt Library Go4ThreadManager MBS ROOT Go4 - http://go4.gsi.de

  4. Go4 Framework concepts • Based on standard ROOT system • Online and Offline Framework • Batch mode and interactive mode (GUI) may run same analysis • Any user analysis may be adopted Go4 provides interfaces (base classes) to „plug-in“ user event classes and analysis Go4 implements all general services Go4 - http://go4.gsi.de

  5. Event Base classes • TGo4EventElement: Event structure (input and output event) • TGo4EventSource:Fills event structure with data • TGo4EventStore:Stores event structure • TGo4EventProcessor:Converts input event into output event; subclass of TGo4EventSource • TGo4EventFactory: Defines the user implementations of all the above at initialization Go4 - http://go4.gsi.de

  6. Event service classes • Interface to MBS: • TGo4MbsEvent, TGo4MbsSubEvent (format 10,1) • TGo4MbsFile (read from *.lmd) • TGo4MbsEventServer • TGo4MbsStream (connect to MBS) • TGo4MbsTransport • TGo4RevServ (connect to remote event server) • Root File implementation: • TGo4FileSource, TGo4FileStore • TGo4TreeSource, TGo4TreeStore } Go4 - http://go4.gsi.de

  7. TGo4EventElement TGo4MbsSource TGo4EventStore TGo4EventSource TGo4EventProcessor TGo4FileStore TGo4FileSource TUserEventProcessor TGo4MbsEvent TUserEvent User classes Event classes diagram Go4 - http://go4.gsi.de

  8. Example: reading from MBS Short_t idfield[2]= {0,1}; TGo4EventElement* event = new TGo4MbsEvent(2, idfield, 1); TGo4EventSource* input=0; TGo4EventStore* output=0; //////////// MBS LISTMODE FILE input= new TGo4MbsFile("/s/adamczew/ebtest.lmd"); /////////// MBS TRANSPORT // input= new TGo4MbsTransport("r2f-2"); /////////// MBS STREAM // input= new TGo4MbsStream("r2f-2"); /////////// MBS EVENTSERVER // input= new TGo4MbsEventServer("r2f-2"); /////////// REMOTE EVENT SERVER // input= new TGo4RevServ("r2f-2"); output = new TGo4FileStore("MbsEvents",1,5); event->SetEventSource(input); for(Int_t t=0; t<maxevents; ++t) { event->Clear(); Int_t ermess=event->Fill(); //.. do something with event here // ... output->Store(event);// write to root file } Go4 - http://go4.gsi.de

  9. Analysis framework • TGo4Analysis baseclass: • Analysis setup (chain of analysis steps) • Object organization, dynamic histograms • Implicit / explicit event loop • Virtual methods to be defined in user analysis subclass • TGo4AnalysisStep:defines one stage of the analysis, implements event classes • User designs own subclass of TGo4Analysis Go4 - http://go4.gsi.de

  10. Previous Step TUserEvent1 TGo4EventFactory TUserEvent2 TGo4FileSource TGo4FileStore TUserEventProcessor CreateEventSource() CreateInputEvent() CreateEventProcessor() CreateOutputEvent() CreateEventStore() TUserEventFactory_1 Next Step Analysis step Go4 - http://go4.gsi.de

  11. TGo4Analysis TGo4AnalysisStep TUserEventFactory_1 TUserEventFactory_n TGo4EventFactory TExternalAnalysis TUserAnalysis() ~TUserAnalysis() UserEventFunc() UserPreLoop() UserPostLoop() TUserAnalysis Analysis framework * register objects may use Go4 - http://go4.gsi.de

  12. Step1 Step2 event processors event sources analysis framework event elements event store event factories Example analysis: Euroball Go4 - http://go4.gsi.de

  13. Analysis in Go4 GUI • TGo4AnalysisClient: • runs analysis in multithreading mode • connects to a (remote) process which runs the GUI • TGo4GUI: • non-blocking, multithreading • launches analysis client as remote process • Based on Qt graphics library and ROOT Go4 - http://go4.gsi.de

  14. Analysis in Go4 GUI Go4 - http://go4.gsi.de

  15. Analysis in Go4 GUI Go4 - http://go4.gsi.de

  16. connect analysis client subclassing TGo4Analysis Go4GUI Go4Analysis Go4Events Go4Analysis Steps subclassing TGo4Analysis, register objects (TTree, TH1) user event factories user event subclasses other analysis framework (HADES) Go4Event I/O (MBS, .lmd) Using Go4 components Go4 - http://go4.gsi.de

  17. Summary • Go4 is ready for use • Event classes already under test by >5 experiments (any feedback is welcome!) • Go4 components offer different levels of integration • Go4 is flexible: external analysis (Hades) can run in multithreaded framework • Powerful Qt-GUI exists, is being improved • First official release ofGo4in spring 2002! Go4 - http://go4.gsi.de

More Related