The web start version of WIRED can be started from the WIRED page on the data portal:
http://glast-ground.slac.stanford.edu/DataPortalWired/?tab=Wired
or from the "Browse Events with WIRED" link on some data catalog pages, e.g.:
http://glast-ground.slac.stanford.edu/DataCatalog/
In all cases a data catalog folder is passed to WIRED at start up, and this folder is subsequently used to search for run/events. The ability of a particular data catalog folder to be used as a source of events for WIRED is flagged by the existence of a eventComponents meta-data item on the folder. The value of this meta-data tells WIRED which groups hold the different event components, for example:
Name |
Value |
Type |
---|---|---|
eventComponents |
digi=digi,reco=recon,mc=mc |
STRING |
When WIRED is started it is via a link of the form:
http://glast-ground.slac.stanford.edu/DataPortalWired/wired4.jnlp?folder=11628535
Node that the folder's primary key is explicitly passed as part of the URL. This URL is routed to the wired4.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:
<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:
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:
#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:
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:
eventId:0-111 next
This is all done in hep.wired.glast.HepEventServerRecordSource