Art2 Changes » History » Version 6

Version 5 (Gavin Davies, 02/27/2018 09:14 AM) → Version 6/14 (Erica Smith, 02/27/2018 11:03 AM)

h1. 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.

h2. FHICL changes

An extensive list of fhicl deprecations is listed on the "art redmine page": under "Deprecations". "Depreactions".
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

h2. CAFAna macros

h3. Compilation

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:


h3. 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)

h3. Fitting errors

If you are fitting a histogram and getting the error message

<pre>Warning in <Fit>: Fit data is empty</pre>

but your histogram is not empty, check to see if your bin errors are equal to 0 with <pre>h->Print("all");</pre>

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 <pre>h->Sumw2(kFALSE);</pre> should solve the problem.

h3. 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.