Giter VIP home page Giter VIP logo

smash-analysis's People

Contributors

akschaefer avatar doliinychenko avatar elfnerhannah avatar gabriele-inghirami avatar hendrik1704 avatar janhammelmann avatar justinmohs avatar ngoetz avatar nilssass avatar renhirayama avatar stdnmr avatar thegarzo avatar vks avatar woolitzer avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

vks jaanita

smash-analysis's Issues

Experimental data for mT-spectra for AA is partly not plotted

As can be seen on the website with the plots, for example for protons for 7.7 GeV in the mT-spectra, no experimenal data is plotted although experimental data is available. This is related to a wrong parsing of the file names of files which were created from STAR data.

Change comparison to previous version for detailed balance

Reading the old results for detailed balance currently requires reading unicode strings in 'txt_io.py':

if 'detailed_balance' in path:
    # Unicode strings in first column. Data type needs to be specified.
    array = genfromtxt(f, missing_values='-', dtype='unicode', encoding='utf-8')

This is however only supported from numpy version 1.14.0 upwards, which is not preinstalled on Kronos and other machines. Hence, the build of the analysis suite fails as the installed version is too old and it needs to be updated manually. It would be nice to find a different representation for those unicode strings such that reading them in is also possible with an older version of numpy and users would not need to update their numpy version when attempting to run the analysis suite.

Add density check as a new target

Calculate the density in different setups and check if it has changed.
Setups to considere:

  • 2d density plot in the box
  • Density in the central cell in AuAu collisions

Add pT spectra for energy scan

Most available data for LHC energies are pT spectra. For better comparison it would be good to also include a pT spectra tab to the energy scan target.

Finding non default smash executable when using containers

In principle the following issue should apply to all cases in which the user has a permanent SMASH installation with dedicated system wide environment variables, but it is much more likely that it is found when using Singularity containers, e.g. in the Virgo Cluster.

When running the analyses, the SMASH executable is found by the cmake find_program command, which first searches in the default system directories and then in the additional directories in SMASH_PATH.
See: https://cmake.org/cmake/help/latest/command/find_program.html
So, when using a container, the pre-compiled SMASH version shipped with the container will be find first and used.
This is a problem when somebody wants to test a different SMASH branch, not the default stable one.

The first solution, which has been tested by Anna and me, is:

  • add the flag NO_DEFAULT_PATH in CMakeLists.txt when calling find_program : find_program(SMASH smash PATHS ${SMASH_PATH} NO_DEFAULT_PATH) and then, in the script run by SLURM, set and export the SMASH_PATH variable:
export SMASH_PATH=$smash_dir
cmake -DSMASH_PATH=$build_dir -DEXP_DATA=$EXP_DATA_DIR -B$output_dir -H$analysis_dir 

Another solution, that worked for me, but maybe not for Anna, is to prepend the path of the chosen non default SMASH installation to the PATH variable in the script run by SLURM, e.g.:

export PATH=$smash_dir:$PATH
cmake -DSMASH_PATH=$build_dir -DEXP_DATA=$EXP_DATA_DIR -B$output_dir -H$analysis_dir

without modifying CMakeLists.txt.

Exporting the updated PATH variable before starting the container does not work, because, as written in the Singularity documentation https://sylabs.io/guides/3.6/user-guide/environment_and_metadata.html, all environment variables are transmitted to the container, except PATH , PS1 (for the shell prompt) and LD_LIBRARY_PATH (for the location of the shared libraries), which are reset by the container. So, PATH must be set when already running the container. However, if needed, it is possible to override the default values by calling singularity with the --env option, but this solution looks more complicated than the others.

This issue applies also to the smash-analyis-extra repository, but I don't see the need to open a duplicated issue there. Once we have decided how to deal with this stuff, we can apply the same solution to the other repo.
@akschaefer @elfnerhannah @stdnmr

Make use of 'git describe' only if applicable

The function returning the version of the SMASH analysis uses git describeto determine the version. This command is however only valid if there are existing tags. The latter is the case if the repository is cloned, however not if the source files are downloaded as the download contains no history. Consequently, the analysis suite cannot be run if not cloned.

Include more LHC data points

Since SMASH-2.0 allows regular running at LHC energies, it would be good to enhance the data points for our energy scan target as much as possible.

Scaling of old results in energy scan pT-spectra wrong

During the review for PR #52 , we noticed that the scaling of the old results of pT-spectra is off in the energy scan target. These plots are not used for the report, but it should still be fixed. This is most likely a trivial fix.

Request to include flag "Is Final" in output files for particles

Hi!
While work with output-file (.root), generated with config option "Only_Final: No", it seems that it is impossible to distinguish final particles and not-final in this case. This situation could be fixed if there was some flag in output files that can separate final and intermedium particles, something like "Is Final". Is it possible to add this feature in the future SMASH release?

Elastic box results filename has changed

... therefore the old results extraction script has to be slightly changed. Old filename was just scatrate_vs_SETUP.txt. New filename is scatrate_vs_SETUP-geometric.txt (or stochastic).

Refs #1

Clean up detailed balance plots

The center panel of the detailed balance plots looks a bit messy and wobbles around a lot. They should be cleaned up by - for example - reducing the number of bins to make it smoother.

Distinguish all rho and omega origins in dilepton analysis

Currently not all rho and omega origin for rho/omega dilepton decays are recognised by the analysis due to the addtition of the mesonic resonances and some heavy baryonic resoances. At least the baryonic resonances should be added and the mesonic resonances should at least be counted as a single contribution. Right now, all of them fall into the other category not allowing any distinction.

Improve default plotting

Currently the default plotting produces weird/bad things, such as

image
image
(y-axis limits could be smaller on the latter)

I noticed this for the cross section targets, but we should check everything, so probably this has to be fixed in a case-by-case way. Also some plots would benefit from a log-scale either in x or y, or change the x variable from $\sqrt{s}$ to $p_\mathrm{lab}$ .

Unclear how to use generate_html.py

When running generate_html.py on a folder with plots, I get the following error:

Traceback (most recent call last):
  File "/home/steinberg/src/smash-analysis-new/test/report/generate_html.py", line 660, in <module>
    tree = reorder_tree(tree, source_dir.split('/')[-2])
IndexError: list index out of range

Apparently, the code makes some assumptions about the folder structure. However, they seem to be undocumented, so I don't know how invoke the script correctly.

Ideally, I think the code should be more robust and not make those assumptions.

Energy scan plotter does not work without some specific targets

I have tried using the energy scan for non-default targets (π⁻C and π⁻W), by commenting out the other run_one_energy commands in test/energy_scan/CMakeLists.txt. The runs and analysis work fine, but currently the plotter requires that:

  1. There is a target for pp at sqrt(s) = 2.695 GeV [lines 132/147 in the CMakeLists.txt]
  2. Any AuAu/PbPb target is present (doesn't matter which, but I did not find out why yet)

Also, when these conditions are met, the plotter works but doesn't use different colors for each new target, which is undesirable. For instance (nevermind the few targets and small statistics):

image
image
image

Furthermore, it would be interesting to make plotting targets for each individual system, rather than one make energy_scan_plots which demands runs for all present targets.

FOPI plotting produces error

The FOPI target fails during plotting:

[100%] Built target FOPI_pions_sims
Analyzing data for FOPI_pions.
Plotting data for FOPI_pions.
3.0
Traceback (most recent call last):
  File "/lustre/hyihp/ngoetz/smash-analysis/test/FOPI_pions/plot.py", line 42, in <module>
    smash_data = np.loadtxt(data_file, unpack=True)
  File "/usr/lib/python3/dist-packages/numpy/lib/npyio.py", line 1148, in loadtxt
    for x in read_data(_loadtxt_chunksize):
  File "/usr/lib/python3/dist-packages/numpy/lib/npyio.py", line 995, in read_data
    raise ValueError("Wrong number of columns at line %d"
ValueError: Wrong number of columns at line 3
make[3]: *** [test/FOPI_pions/CMakeFiles/FOPI_pions_plots.dir/build.make:74: test/FOPI_pions/FOPI_pions.pdf] Error 1
make[2]: *** [CMakeFiles/Makefile2:4919: test/FOPI_pions/CMakeFiles/FOPI_pions_plots.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:4926: test/FOPI_pions/CMakeFiles/FOPI_pions_plots.dir/rule] Error 2
make: *** [Makefile:2217: FOPI_pions_plots] Error 2

I assume that it could be related to the binary reader, though I am not sure. I assign this to @Hendrik1704 for now, but if you find that it is not related, you can also assign someone else.

Detailed balance KN_KDelta box size

Hey guys,
I got the following error running "Detailed balance KN_KDelta sims"

image

I remember implementing this exception to prevent SMASH from running into an infinite loop. Has anybody encountered some problems with this particular run before?

Fix p + p->p + p + eta cross section

The plot for the reconstruction of the p+p+eta cross section is broken. See for example here.

It cannot simply be solved by removing the eta from the list of unstable particles. In this case some assertion that the cross section is greater than 0 fails.

@stdnmr @vks

Do not redirect output to /dev/null

With the upcoming option to run smash completely silent, it is not necessary to redirect the output anymore. This will also be helpful for debugging the targets that use the redirection

/cc @akschaefer

Extend the analysis suite to higher energies

With increased performance of SMASH at high energies, the energy scan target can now also be run efficiently at higher energies. Therefore, we want to include energies up to 5.02 TeV.

Addition of an afterburner run

I think it would be useful to include two smooth hypersurface files for 200 GeV AuAu at RHIC and 5.02 TeV PbPb at LHC to run a SMASH afterburner to ensure that nothing changes there. This is a use case of many external groups, therefore I think it would be beneficial to keep track of changes.
@akschaefer and @thegarzo might have comments.

nonposy deprecated in latest matplotlib

In multiple plotting scripts of the analysis suite, nonposy keyword is used. This is not supported anymore in the latest versions of this library and should be updated. It has been replaced by nonpositve, which apparently does the same.

Error while building with Apple M1

While building smash-analysis I get an error from cmake. It seems to origin from FloatMath.

This is the error:

CMake Error at test/FOPI_pions/CMakeLists.txt:46 (run_one_energy):
  run_one_energy Function invoked with incorrect arguments for function
  named: run_one_energy

My system:

-Apple M1 Chip
-cmake version: 3.22.0

Create detailed balance targets for multi-particle reactions

I used modified detailed balance targets a lot for debugging of the multi-particle reactions and it is straight-forward and probably helpful to add them.

PR #22 is already a start, although I think I will replace it with one large PR including all the new targets.

Python packages error messages

I ran into minor things running the analysis suite on the goethe cluster for the first time:

The required module named yaml is the python module pyyaml, I think.

Further, one could add the required version to the error message when the module is not found at all. It's helpful to know which one to install.

I could quickly take care of that if you agree @akschaefer.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.