Art2 Changes » History » Version 6

« Previous - Version 6/14 (diff) - Next » - Current version
Erica Smith, 02/27/2018 11:03 AM

art2 Changes

In February 2018 we made the long-awaited move to art2 and ROOT6
Specifically upgrading from art v1_17_01 --> art v2_09_06
This also brought along upgrade of nutools v1_21_11 --> v2_18_01

We now pull novaddt/novadaq packages into novasoft instead of using ups products that contain these

Tensorflow is now available in the offline for deep learning development efforts.

FHICL changes

An extensive list of fhicl deprecations is listed on the art redmine page under "Deprecations".
Specific fhicl changes of note in novasoft are the following:

services.user.myService: {...}           --> services.myService: {...}
services.Timing: {...}                   --> services.TimeTracker: {...}
services.SimpleMemoryCheck: {...}        --> services.MemoryTracker: {...}
services.MemoryTracker.ignoreTotal: ".." --> No longer used
SelectEvents.SelectEvents: [...]         --> SelectEvents: [...]
debugModules: "*"  --> debugModules: ["*"] 

Make a note for cases that use
services.scheduler.fileMode              --> Contact artists for details

CAFAna macros


Don't be alarmed by the increase in the number of files produced when compiling CAFAna macros.
You should see three as opposed to the previous 2 that look like this:

Compiling test.C produces:


Compilation errors

One gets more useful error messaging when running a macro with missing arguments.

Info in <TUnixSystem::ACLiC>: creating shared library /nova/app/users/gsdavies/dev/./
input_line_84:2:2: error: no matching function for call to 'DataMCNDLoad_nus17'
././DataMCNDLoad_nus17.C:53:6: note: candidate function not viable: requires single argument 'outfile', but no
      arguments were provided
void DataMCNDLoad_nus17(std::string outfile)

Fitting errors

If you are fitting a histogram and getting the error message

Warning in <Fit>: Fit data is empty

but your histogram is not empty, check to see if your bin errors are equal to 0 with


which will output something like this:

TH1.Print Name  = cafanauniq86, Entries= 1, Total sum= 102.998
 fSumw[0]=0, x=-1.10917, error=0

If they are 0, setting

should solve the problem.

TTreeFormula support only 2 level of variables size collections

If you are seeing warnings similar to:

Warning in <TTreeFormula::DefinedVariable>: TTreeFormula support only 2 level of variables size collections.  Assuming '@' notation for the collection bpf.
Warning in <TTreeFormula::DefinedVariable>: Missing class for rec.vtx.elastic[0].fuzzyk.png[0]!

This is due to accessing more than 2 vectors in your variable (in this example: vertices, prongs, tracks). These warnings are harmless and your macro should complete as expected.