[Solid_software] art experience
Ole Hansen
ole at jlab.org
Fri Mar 4 13:27:26 EST 2016
Hi Rich,
a bit of a late reply from me, but that you very much for the nice
writeup on getting started with art. I'll put a lot of this, modified
for the JLab environment, on the SoLID wiki.
BTW, there is quite a lot more programmer/expert-level documentation on
art beyond the workbook:
art wiki:
https://cdcvs.fnal.gov/redmine/projects/art/wiki
mu2e docs:
http://mu2e.fnal.gov/public/hep/computing/gettingstarted.shtml
especially the links in the section "Mu2e maintained documentation about
art and its tool chain"
Ole
On 02/25/2016 04:17 PM, Richard S. Holmes wrote:
> 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
> <mailto: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.
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ole.vcf
Type: text/x-vcard
Size: 321 bytes
Desc: not available
URL: <https://mailman.jlab.org/pipermail/solid_software/attachments/20160304/5a919894/attachment.vcf>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 230 bytes
Desc: OpenPGP digital signature
URL: <https://mailman.jlab.org/pipermail/solid_software/attachments/20160304/5a919894/attachment.sig>
More information about the Solid_software
mailing list