Table of Contents |
---|
The web start version of WIRED can be started from the WIRED page on the data portal:
...
Node that the folder's primary key is explicitly passed as part of the URL. This URL is routed to the xxxwired4.jsp file in the DataPortalWired web application, which dynamically creates the JNLP file to be used to start WIRED. For example the JNLP file created for the above link is:
Code Block |
---|
<jnlp spec="1.0" codebase="http://glast-ground.slac.stanford.edu/DataPortalWired/" version="0.8.3.2"> <information> <title>GLAST WIRED4</title> <vendor>JAS 3 Team</vendor> <homepage href="http://jas.freehep.org"/> <description>JAS3 Data Analysis Studio - WIRED4/GLAST configuration</description> <description kind="short">A framework for data analysis and event visualization.</description> <icon href="jas3.png"/> <offline-allowed /> <shortcut> <desktop/> <menu submenu="GLAST"/> </shortcut> </information> <security> <all-permissions /> </security> <resources> <j2se version="1.4+" max-heap-size="256m" /> <property name="jnlp.jas3" value="true" /> <property name="freehep.app.title" value="JAS3: GLAST-WIRED4"/> <property name="freehep.app.userPrefDir" value="{user.home}/.Glast-Wired4/4.1/user.properties"/> <property name="freehep.app.org.freehep.application.studio.user.extensions" value="{user.home}/.Glast-Wired4/extensions"/> <property name="freehep.app.hep.wired.heprep.plugin.new.view" value="true"/> <property name="freehep.app.hep.wired.glast.plugin.open" value="true"/> <property name="freehep.app.showWelcomePageAtStart" value="false"/> <property name="freehep.app.hep.wired.glast.gleam.defaultRunEventServer" value="http://glast-ground.slac.stanford.edu/DataPortalWired//EventFinder"/> <property name="freehep.app.hep.wired.glast.gleam.defaultDatasetFinderServer" value="http://glast-ground.slac.stanford.edu/DataPortalWired//DatasetFinder"/> <property name="freehep.app.hep.wired.glast.gleam.runEventServer.folder" value="11628535"/> <property name="freehep.app.hep.wired.glast.gleam.defaultScript" value="/u/gl/glast/heprepserver/4.1/ssh_gleam_server"/> <property name="freehep.user.hep.wired.heprep.heprepPanel" value="hep.wired.heprep.projection.ParallelProjection$XZ"/> <property name="hep.wired.corbaheprep.cacheable" value="Geometry3D"/> <jar href="jars/aida-dev.jar" /> <jar href="jars/aida.jar" /> <jar href="jars/BrowserLauncher2.jar" /> <jar href="jars/freehep-base-2.1-SNAPSHOT.jar" /> <jar href="jars/freehep-graphics2d.jar" /> <jar href="jars/freehep-graphicsio-cgm.jar" /> <jar href="jars/freehep-graphicsio-emf.jar" /> <jar href="jars/freehep-graphicsio-gif.jar" /> <jar href="jars/freehep-graphicsio-pdf.jar" /> <jar href="jars/freehep-graphicsio-ppm.jar" /> <jar href="jars/freehep-graphicsio-ps.jar" /> <jar href="jars/freehep-graphicsio-svg.jar" /> <jar href="jars/freehep-graphicsio-swf.jar" /> <jar href="jars/freehep-graphicsio.jar" /> <jar href="jars/freehep-hep.jar" /> <jar href="jars/freehep-heprep.jar" /> <jar href="jars/freehep-heprep1.jar" /> <jar href="jars/freehep-jheprep.jar" /> <jar href="jars/freehep-jheprep1-adapter.jar" /> <jar href="jars/freehep-jheprep1.jar" /> <jar href="jars/HepRep.jar" /> <jar href="jars/jas-plotter.jar" /> <jar href="jars/jas3.jar" main="true" /> <jar href="jars/jc.jar" /> <jar href="jars/jdom.jar" /> <jar href="jars/jel.jar" /> <jar href="jars/jlfgr.jar" /> <jar href="jars/jsch.jar" /> <jar href="jars/jxl.jar" /> <jar href="jars/kxml2.jar" /> <jar href="jars/openide-lookup.jar" /> <jar href="jars/optimizers.jar" /> <jar href="jars/RecordLoop.jar" /> <jar href="jars/wired-glast-1.1-SNAPSHOT.jar" /> <jar href="jars/wired-hepeventserver.jar" /> <jar href="jars/wired-base-4.1-SNAPSHOT.jar" /> <jar href="jars/wired-corbaheprepclient-1.0.4-SNAPSHOT.jar" /> <jar href="jars/jprocman.jar" /> <jar href="jars/WiredPlugin.jar" /> </resources> <resources os="Mac OS X"> <jar href="jars/macosx/MacOSXPlugin.jar" /> <property name="apple.laf.useScreenMenuBar" value="true" /> <property name="apple.awt.showGrowBox" value="true" /> <property name="apple.awt.brushMetalLook" value="false" /> </resources> <application-desc main-class="org.freehep.jas.JAS3"/> </jnlp> |
Note in particular several properties are passed to WIRED:
Property | Value | Comment |
---|---|---|
freehep.app.hep.wired.glast.gleam.defaultRunEventServer | http://glast-ground.slac.stanford.edu/DataPortalWired//EventFinder | Tells WIRED what web service to use to look for events |
freehep.app.hep.wired.glast.gleam.defaultDatasetFinderServer | http://glast-ground.slac.stanford.edu/DataPortalWired//DatasetFinder | Tells WIRED what web service to use to look for datasets |
freehep.app.hep.wired.glast.gleam.runEventServer.folder | 11628535 | The primary key of the data catalog folder |
freehep.app.hep.wired.glast.gleam.defaultScript | /u/gl/glast/heprepserver/4.1/ssh_gleam_server | The script used to start Gleam |
This servlet is used by WIRED to find which data catalog folders have an eventComponents meta-data, and the value of that meta-data. It queries the data catalog and returns the available event components for each folder. Example:
http://glast-ground.slac.stanford.edu/DataPortalWired//DatasetFinder
returns a list of all folders which contain browseable events with 3 components per line:
An example return line:
Code Block |
---|
11655378 /MC-Tasks/ServiceChallenge/GRBgrid-GR-v13r9p20/runs digi=digi,reco=recon,mc=mc
|
This servlet is used to look up specific files to open, given a folder, the eventComponents and the run and event number. (Note that the event number is not currently used, the data catalog just assumes that all events for a given run live in the same file). Example:
returns the following:
Code Block |
---|
#Results for run=0 event=111 folder=11641713
#Wed Sep 07 17:08:25 PDT 2011
reco=root\://glast-rdr//glast/mc/ServiceChallenge/allGamma-GR-v14r8/recon/allGamma-GR-v14r8-000000-recon.root
event=111
digi=root\://glast-rdr//glast/mc/ServiceChallenge/allGamma-GR-v14r8/digi/allGamma-GR-v14r8-000000-digi.root
mc=root\://glast-rdr//glast/mc/ServiceChallenge/allGamma-GR-v14r8/mc/allGamma-GR-v14r8-000000-mc.root
run=0
|
WIRED uses the information it was passed via the JNLP file, and the web services described above, to find which files should be opened to access a particular event. It then communicates this information to Gleam via the HEPREP Corba service. In particular it sends the following command to open files:
Code Block |
---|
open:rootfilename:root://glast-rdr//glast/mc/ServiceChallenge/allGamma-GR-v14r8/mc/allGamma-GR-v14r8-000000-mc.root;root://glast-rdr//glast/mc/ServiceChallenge/allGamma-GR-v14r8/digi/allGamma-GR-v14r8-000000-digi.root;root://glast-rdr//glast/mc/ServiceChallenge/allGamma-GR-v14r8/recon/allGamma-GR-v14r8-000000-recon.root;
|
And then the following command to ask for a specific event:
Code Block |
---|
eventId:0-111
next
|
This is all done in hep.wired.glast.HepEventServerRecordSource