[Solid_software] art experience
Richard S. Holmes
rsholmes at syr.edu
Thu Feb 25 16:17:46 EST 2016
Turns out the event display works if I try it on the Linux box's screen
rather than ssh to it on my Mac. Progress of a sort.
On Thu, Feb 25, 2016 at 3:40 PM, Richard S. Holmes <rsholmes at syr.edu> wrote:
> I've been trying out art. (It's supposed to be in italics, *art*, but I'm
> not about to start doing that.) I started off by downloading the Workbook
>
>
>> https://web.fnal.gov/project/ArtDoc/_layouts/15/WopiFrame.aspx?sourcedoc=%2Fproject%2FArtDoc%2FShared%20Documents%2Fart-documentation%2Epdf&action=view
>
>
> and started reading. Then I started installing based on Appendix B.
>
> At first I tried installing on my Mac, which runs OS X 10.8 (Snow
> Leopard). Appendix B seems to say the version supported for OS X 10.9
> (Mavericks) would probably run on 10.8, but I got errors and after getting
> a response to a post on the art users mailing list telling me it was due to
> the OS I decided to abandon that. (I will very soon by replacing my Mac
> with a new one running OS X 10.11 (El Capitan) but art isn't supported on
> that either, yet. I'm going from too old to too new.)
>
> So instead I installed art on a CentOS machine, specifically
> OSRELEASE=Linux_CentOS6.5-x86_64-gcc4.4.7.
>
> One thing to notice is they want you (or at least the documentation
> expects you) to use bash, not tcsh. This is fine with me, I much prefer
> bash, but JLab seems to be pretty tcsh-centric.
>
> Installation went like this:
>
> mkdir -p art/products
>> cd art/products/
>> mkdir ../tmp
>> cd ../tmp
>> curl -O http://scisoft.fnal.gov/scisoft/bundles/tools/pullProducts
>> chmod u+x pullProducts
>> ./pullProducts ~rsholmes/art/products slf6 toyExperiment-v0_00_29 s14-e7
>> debug
>> cd ..
>> rm -rf tmp
>
>
> All of this worked. I didn't time it but I'd guess it took on the order of
> 30 minutes. The resulting art/products directory and its subdirectories
> came to a total of 4.2G disk usage.
>
> (There is a gotcha here however: Appendix B says you can do pullProducts
> with prof, debug, or both (to get profile, debug, or both versions). I just
> did debug. However, the workbook examples assume prof. For a while I was
> able to get along by specifying debug instead of prof in command lines, but
> eventually I hit a place where prof is evidently assumed in a shell script.
> I gave up and installed the prof version at that point. That took about 15
> minutes; many of the products already existed from the pullProducts debug
> done earlier. Total disk usage in the products directory and subdirectories
> after this was 5.4G.)
>
> Next I created a setup script, again following Appendix B. I chose to put
> it in the art directory; I also chose to create subdirectories art/output
> and art/working. (For a serious installation I'd probably use our data/work
> disk instead of the home disk for these directories.) Here is my setup
> script:
>
> source /home/rsholmes/art/products/setup
>> export ART_WORKBOOK_OUTPUT_BASE=/home/rsholmes/art/output
>> export ART_WORKBOOK_WORKING_BASE=/home/rsholmes/art/working
>> export ART_WORKBOOK_QUAL=s14:e7
>
>
> Following this I went back to Chapter 9 and followed the procedure in
> 9.6.1.1 and successfully ran art!
>
> mep1[pre-built]$ art -c hello.fcl >& output/hello.log
>> mep1[pre-built]$
>> mep1[pre-built]$
>> mep1[pre-built]$ cat output/hello.log
>> %MSG-i MF_INIT_OK: art 18-Feb-2016 15:14:34 EST JobSetup
>> Messagelogger initialization complete.
>> %MSG
>> 18-Feb-2016 15:14:35 EST Initiating request to open file
>> inputFiles/input01.art
>> 18-Feb-2016 15:14:35 EST Successfully opened file inputFiles/input01.art
>> Begin processing the 1st record. run: 1 subRun: 0 event: 1 at 18-Feb-2016
>> 15:14:35 EST
>> Hello World! This event has the id: run: 1 subRun: 0 event: 1
>> Hello World! This event has the id: run: 1 subRun: 0 event: 2
>> Hello World! This event has the id: run: 1 subRun: 0 event: 3
>> Hello World! This event has the id: run: 1 subRun: 0 event: 4
>> Hello World! This event has the id: run: 1 subRun: 0 event: 5
>> Hello World! This event has the id: run: 1 subRun: 0 event: 6
>> Hello World! This event has the id: run: 1 subRun: 0 event: 7
>> Hello World! This event has the id: run: 1 subRun: 0 event: 8
>> Hello World! This event has the id: run: 1 subRun: 0 event: 9
>> Hello World! This event has the id: run: 1 subRun: 0 event: 10
>> 18-Feb-2016 15:14:35 EST Closed file inputFiles/input01.art
>> TrigReport ---------- Event Summary ------------
>> TrigReport Events total = 10 passed = 10 failed = 0
>> TrigReport ------ Modules in End-Path: end_path ------------
>> TrigReport Trig Bit# Visited Passed Failed Error Name
>> TrigReport 0 0 10 10 0 0 hi
>> TimeReport ---------- Time Summary ---[sec]----
>> TimeReport CPU = 0.000680 Real = 0.000000
>> Art has completed and will exit with status 0.
>
>
> From there on through Chapter 18 things went smoothly. There were a few
> places where evidently the Workbook hasn't caught up with the software and
> things were a little different than expected. (For instance: In chapter 10
> they introduce the artmod tool, and say it will write a (superfluous)
> destructor definition by default. But it didn't.) Generally these were easy
> to spot and not consequential.
>
> Chapter 19, the last chapter (3D Event Displays), was a no go: art -c
> fcl/EventDisplay3D/eventDisplay01.fcl crashed immediately on my machine:
>
> A cet::exception is going through WorkerT<EDAnalyzer>:
>
> %MSG
>> %MSG-s ArtException: EventDisplay3D:eventDisplay at BeginJob 25-Feb-2016
>> 14:39:55 EST ModuleConstruction
>> cet::exception caught in art
>> ---- OtherArt BEGIN
>> ---- FatalRootError BEGIN
>> Fatal Root Error: @SUB=TEveViewer::SpawnGLViewer
>> Insufficient support from the graphics hardware. Aborting.
>> A cet::exception is going through WorkerT<EDAnalyzer>:
>> Module type=EventDisplay3D, Module label=eventDisplay, Parameter Set ID=4e83570561ae955c6e64bec8e95d3950e1e15a1a,
>> Process name=eventDisplay01,
>> Release Version=v1_15_01, Pass ID=, Main Parameter Set
>> ID=6c07a5d87929f54bec85265c36ad9a3edcd450a8
>> ---- FatalRootError END
>> ---- OtherArt END
>> %MSG
>> Art has completed and will exit with status 1.
>
>
> I have no idea how or if I can fix this.
>
> Up to that point, though, everything pretty much worked, as noted. The
> documentation, which mostly consists only of the (incomplete) Workbook at
> this time, is very good. It's 450+ pages with a lot left to be written. It
> mostly tells you how to run art and write user analysis modules for it.
> Writing the experiment-specific (SoLID) code for the users to use would go
> well beyond that, of course.
>
> It looks well designed to me and the code seems clean. This, by the way,
> is the first time I've looked at C++11. From what I can tell most of what's
> been added is fairly arcane stuff I don't know if I'd ever have a use for.
> I do like, though, that we finally have range-based for loops:
>
> for ( GenParticle const& gen : *gens ){
>
> ...
>
> }
>
>
> The functionality of art seems very good. As Ole has pointed out, the
> FHiCL control language doesn't allow for doing things like computing
> parameters; if you need to do that you might have to e.g. write a Python
> script to generate FHiCL files. On the other hand FHiCL is, it seems to me,
> a cleaner and easier to read/maintain way of driving analysis tasks than
> Perl/Python/shell scripts, long multi-option command lines, and gcard
> files.
>
> So far art looks like a good framework choice for SoLID to me.
>
> --
> - Richard S. Holmes
> Physics Department
> Syracuse University
> Syracuse, NY 13244
> 315-443-5977
>
--
- Richard S. Holmes
Physics Department
Syracuse University
Syracuse, NY 13244
315-443-5977
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.jlab.org/pipermail/solid_software/attachments/20160225/fc3c1d9f/attachment-0001.html>
More information about the Solid_software
mailing list