Download presentation
Presentation is loading. Please wait.
Published byCarmela Barone Modified over 5 years ago
1
J. Adamczewski, M. Al-Turany, D. Bertini, H.G. Essel
DVEE-Seminar GSI Online Offline Object Oriented Go4 The GO4 Event Classes J. Adamczewski, M. Al-Turany, D. Bertini, H.G. Essel Go4 -
2
Contents Go4: Software layers and architecture
Go4 Analysis framework concepts Base classes for user event structures Getting data from MBS and .lmd Example: Euroball Outlook: User analysis in Go4 GUI Summary Go4 -
3
Go4 Package Layers MBS ROOT Go4 Framework User Analysis Go4 GUI
Go4TaskHandler Go4 Analysis Qt Library Go4 Event Go4ThreadManager Interface MBS ROOT Go4 -
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 -
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 -
6
} Event service classes Interface to MBS: Root File implementation:
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 -
7
Event classes diagram User classes TGo4EventSource TGo4EventElement
TGo4EventStore TGo4EventProcessor TGo4FileSource TGo4FileStore User classes TUserEventProcessor TGo4MbsSource TGo4MbsEvent TUserEvent Go4 -
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 -
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 -
10
Analysis step Previous Step TGo4EventFactory TGo4FileSource
TUserEvent1 TUserEventFactory_1 CreateEventSource() CreateInputEvent() CreateEventProcessor() CreateOutputEvent() CreateEventStore() TUserEventProcessor TUserEvent2 Next Step TGo4FileStore Go4 -
11
Analysis framework * TGo4Analysis TGo4AnalysisStep TGo4EventFactory
register objects TUserAnalysis TUserAnalysis() ~TUserAnalysis() UserEventFunc() UserPreLoop() UserPostLoop() TUserEventFactory_1 may use TUserEventFactory_n TExternalAnalysis Go4 -
12
Example analysis: Euroball
Step1 Step2 event processors elements sources analysis framework event factories store Go4 -
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 -
14
Analysis in Go4 GUI Go4 -
15
Analysis in Go4 GUI Go4 -
16
connect analysis client
Using Go4 components connect analysis client Go4Analysis Go4GUI subclassing TGo4Analysis subclassing TGo4Analysis, register objects (TTree, TH1) Go4Analysis Steps user event factories Go4Events user event subclasses other analysis framework (HADES) Go4Event I/O (MBS, .lmd) Go4 -
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 of Go4 in spring 2002! Go4 -
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.