This is a list of things that should be expected when trying to make and run icemc.
1. The directory includes a Makefile.arch, but seems to have lost it’s
StandardDefinitions.mk, which was necessary in previous versions. Is it no
longer necessary?
2. When you try to execute “./icemc” it tries to make an
“outputs/coherent_sum_data_file.root” object. But “outputs” is not a default
directory, so it will fail: “SysError in <TFile::TFile>: file
outputs/coherent_sum_data_file.root can not be opened (No such
file or directory)”.
3. The default settings for inputs.conf have the “Apply impulse response to
digitizer path: 1” enabled. However, this can only be done if the Anita tools are
sourced: “Signal chain impulse response can only be applied when
the Anita tools are sourced”. So “icemc” will not run out of the box for a more
“casual” user without anitaBuildTool. See anitaBuildTools for installation. \
4. When we source the anita3 input file “./icemc -i inputs.anita3.conf” it has
both the apply impulse response digitizer and apply impulse response trigger enabled
by default. This is in direct contradiction to the GitHub documentation where its says
these are not enabled. Because of this it does not run (since these require the anitaBuildTools). The default should not be
enabled.
5. If the user forgets to set the environment variables “ICEMC_SRC_DIR”,
“ICEMC_BUILD_DIR”, and to update the LD_LIBRARY_PATH as instructed on the
GitHub, the code will proceed as if everything is fine by printing the following message:
“Warning! Could not find environment variable ICEMC_SRC_DIR.
Will guess icemc source directory is present working directory”.
However, the code will segfault. When one sets up the
environment variables correctly first, icemc will execute and produce the correct
output files. If icemc cannot actually run without the environment variables set
correctly (which is fine if that's the intentional design decision), then the error
messages are misleading, and should be removed and icemc should return 0 for the
user and tell them to set the variables.
|