text:
# Contents

## 1 Introduction

In the phenomenology of high-energy physics, the question of establishing uncertainties for theoretical predictions used in the interpretation of the experimental data is of high importance. For example, at the time of the experiments at LEP several workshops (see ) were devoted to this question. As the required precision is often high, theoretical predictions need to be presented in the form of Monte Carlo event generators; all detector effects can therefore be easily combined with the theoretical ones, using rejection methods.

Whenever possible, theoretical predictions are separated into individual building blocks, which are later combined into complicated Monte Carlo generator systems for the complete predictions. A good example of such a building block is the generation of a decay of a particle such as the $`\tau `$ lepton. While working on TAUOLA , we devised a set of tests that performed comparisons of results produced by two versions of the program. We realized that a test that compares all distributions of invariant masses built from the decay products of the $`\tau `$ lepton (in a particular decay channel) gives a valuable and quite complete answer.

In the present paper we document a new tool, MC-TESTER, which tests/compares in an automated way particle decays generated by two MC programs. The analysis consists of two steps. First, appropriate data have to be collected from a run of every tested program. To this end the libraries of MC-TESTER have to be loaded, a testing routine called, and an identifier of the particle to be analyzed has to be provided. Event after event, MC-TESTER will read data from consecutive event records (such as HEPEVT) and look for decays of the tested particle. Once found, a decay channel is identified from its decay products. On the first occurrence of the particular decay channel, it is added to a list of found decay modes; all histograms for invariant masses that can be formed of decay products are initialized and filled for the first time. For later occurrences, appropriate histograms are simply filled. At the end of the run all information is stored to a file.

In the second step, the results obtained from the two generation runs from two Monte Carlo programs are compared and a booklet is created. It includes a table of decay modes found in the two runs with corresponding branching ratios. For matching decay channels (present in outputs from both generators), comparison plots are provided. For each invariant mass distribution, histograms from the two runs are plotted; their ratio (after normalization) is also plotted in the same frame. The Shape Difference Parameter (SDP) is calculated and printed on the plot as well. The maximum of SDP over all plots for the given decay channel is printed in the table of decay modes as well.

The paper is organized as follows: section 2 explains how the first step of the program (generation) should be installed and executed. Section 3 explains the second step of the MC-TESTER action, namely the analysis; a description of the program output is also given in that section. Section 4 includes a description of the available algorithms for SDP calculation. Section 5 is devoted to the description of the package, directory organization, and technical information on its use; further details and explanation of input parameters may be found in the appendix. Section 6 closes the documentation with a discussion of package limitations and possible future extensions.

## 2 Installation and generation step

MC-TESTER is distributed in a form of an archive containing source files. Currently only Linux operating system is supported: other systems may be supported in the future if sufficient interest is found. We have checked MC-TESTER on Red Hat 6.1 and Red Hat 7.2 installations. In order to run MC-TESTER one needs:

* gcc 2.96 or 2.95.2 compiler suite with g++ and g77 installed,
* ROOT package properly installed and set up (please refer to  or ROOT\_INSTALL file in doc/ subdirectory for details),
* package.

After unpacking, one needs to compile MC-TESTER libraries using make command executed in its main directory. If completed successfully, the user is instructed how to proceed with the example tests. Examples for the MC-TESTER use based on the $`\tau `$ decay generators TAUOLA and PYTHIA are distributed together with the package; they reside in the examples-F77/ subdirectory.

MC-TESTER distribution is a complete, ready-to-use testing environment, with subdirectories dedicated to generation and analysis steps (see section 5.1 for details), and run-time parameters controlled by simple configuration files (SETUP.C \- see section 5.3 and the Appendix ).

The TAUOLA test (located in examples-F77/tauola/) is intended to show how MC-TESTER can be used to compare two versions of the same generator. The versions (CLEO and ALEPH) have been prepared using TAUOLA-PHOTOS-F package  and are placed in the gen1/ and gen2/ subdirectories.

In order to prepare this example, make in examples-F77/tauola/ directory should be executed. For two versions of TAUOLA, demo programs linked with the MC-TESTER’s libraries will be prepared, compiled and linked (gen1/tautest.exe and gen2/tautest.exe), and runs are ready for execution with make run1 or make run2, respectively. Alternatively, one may go to the subdirectory gen1/ or gen2/ and execute ./tautest.exe there.

The FORTRAN demo programs ( examples-F77/tauola/gen1/tautest.f and
examples-F77/tauola/gen2/tautest.f ) created from examples-F77/tauola/tautest.F at the pre-compilation step, initialize the TAUOLA and MC-TESTER. In particular, demos are set to generate $`100000`$ events. In the code, one can easily find (see also sections 5.5.1 and A.3.1) how the routines for MC-TESTER’s operation: MCTEST(MODE), MCSETUP(WHAT,VALUE) are called. At the end of generation, the MC-TESTER finalization routine MCTEST(1) stores the output file: mc-tester.root. The output data files (gen1/mc-tester.root and gen2/mc-tester.root) are then ready to be transferred to the MC-TESTER’s analysis part (see Section 3) using e.g. make move1, make move2 commands.

In order to perform a comparison test of $`\tau `$ decay in PYTHIA, one needs to compile and execute the code placed in examples-F77/pythia/. To compile the PYTHIA library and the main example program (the source code in pythiatest.f) one can execute the make command. To run it, the command make run can be executed (or directly pythiatest.exe). By default $`10000`$ events are set to be generated. As in the case of the TAUOLA example program, the output histograms are stored in the mc-tester.root file and may be copied to the analysis directory using the make move1 or make move2 commands.

It is possible to control the MC-TESTER’s parameters using the SETUP.C file. The syntax of the file is described briefly in section 5.3, and in the Appendix A.2. The SETUP.C file needs to be put in the directory from which generation program is being executed (usually it is the same directory in which binary executable file exist). Examples of SETUP.C files are already present in example generation directories: they are used to set the description of the generator being run.

The output data file is usually put in the directory in which generation program was executed. The name of the file and the path may however be changed using the SETUP.C file (see A.2.6, A.2.7).

The issue of the MC-TESTER use with “any” Monte Carlo generators is addressed in section 5.5. We want to stress, that it is relatively easy to use MC-TESTER with a Monte Carlo event generator, which the user wants to test: it is sufficient to link the MC-TESTER’s libraries, the ROOT libraries and to insert three subroutine calls into the user’s code: for the MC-TESTER initialization, finalization and analysis.

For the users interested in trying only the analysis part of MC-TESTER (Section 3), and to avoid a lengthy generation phase, a ready-to-use data files are provided in the directory examples-F77/pre-generated/. There, the MC-TESTER’s mc-tester.root files (produced by very long runs with TAUOLA and PYTHIA), are stored. To copy the files to the directories of the analysis step, the command make move can be used, similarly as explained above.

## 3 Analysis

Data files mc-tester.root, referred in the previous section are used to produce a booklet (Fig.1 and Fig.2) - a final results of the MC-TESTER action. For this purpose the directory analyze/ is prepared. Unlike the rest of MC-TESTER, the analysis code is not stored in the MC-TESTER’s libraries, but in a set of C++/ROOT macro routines. These routines make use of the MC-TESTER libraries and expect them in directory lib/ .

The two data files from the generation step are expected to be found in the analyze/prod1/ and analyze/prod2/ directories respectively (these locations and many more aspects of the analysis may be changed using the SETUP.C file, see section 5.3).

A simple make command in the analyze/ directory needs to be executed. As a result, the Postscript file tester.ps with the complete booklet is produced.

The booklet consist of:

* The title page giving details of performed tests, ID of a tested particle, names and a short description of the two programs under test, numbers of generated events and numbers of decay channels found in the two runs; see Fig. 1(a).
* The table of decay channels found with branching ratios from the two runs and maximum of the Shape Difference Parameter for all histograms defined for the channel; see Fig. 1(b),
* The table of content indicating a page number where plots for a given channel start.
* Plots of histograms of all invariant masses for all matching decay channels found in the two runs; see Fig. 2(a).

Along with the booklet, a ROOT output file mc-results.root is generated. It may be analyzed further, by the advanced user. A complete set of all plots of the booklet (in the .eps format) is also stored in subdirectory booklet/ .

### 3.1 Description of a single plot

The plots such as in Fig. 2(b) are the main part of the booklet. They allow for the visual estimation how a certain mass distribution compares between the two programs. There are three histograms in each plot. Two histograms with the distributions from the first and the second generator, are plotted in red and green (or darker/lighter grey), and a histogram of the ratio of the two (in black). The red and green colors are used consistently throughout the booklet to refer to the generators.

The left axis on the plot refers to the histogram of the ratio. This histogram is obtained from the division of the normalized histograms, therefore if the shapes of the two mass histograms match (even though they differ in statistic), the division histogram will be up to statistical fluctuations matching flat distribution at 1.0 . The division histogram is the first, visual comparison test.

The right axis of the plot refers to the contents of the mass histograms, therefore represents the number of entries in every single mass bin. These histograms are not normalized, and large differences in statistical samples will immediately show up. One will observe that the histogram with smaller number of entries will occupy small (negligible) part of the plot. The range on the right axis is chosen such, that both histograms will show up in full.

The total number of events found for a given channel in the runs of the two generators is printed in the booklet, just at the beginning of a section including plots for a channel (see Fig. 2(a)).

In the top-right corner of the plot (on yellow background), SDP (the Shape Difference Parameter) is printed.

## 4 Shape Difference Parameter calculation algorithms

An analysis performed by MC-TESTER consists of comparisons of distributions in every possible invariant mass constructed over every (sub-)set of decay products of every decay channel. Already in our example of the comparison of the decays of the $`\tau `$ lepton, we encounter 30 distinct decay modes. Realizing that for a typical (5 body) decay channel the algorithm defines 26 distinct distributions, we may be faced up with an analysis of thousands of plots. It is therefore convenient to define a single measure (which we call the Shape Difference Parameter (SDP)), measuring the difference between the same distributions from the two programs. Later, for every analyzed channel, the maximum of SDP over all pairs of distributions, from the two programs can be found and printed in the review table of our package (in the last column in the Fig.1(b)).

We admit, that we were unable to find any universal, reasonable choice for SDP. Depending on the user’s particular need, the choice of an algorithm will be different. Also, shapes of the distributions (which depends on the decaying channel) may affect the choice. On the other hand, the main purpose of SDP is to draw user attention to decay channel where the differences of predictions from the two programs differ maximally. That is why, we believe, the choice of SDP in many cases will not be of prime importance. At present, in our package we provide three options, which we have found useful in work on the TAUOLA Monte Carlo. For unsatisfied user, they will serve, at least, as examples to develop a new one. Let us list available tests:

* MCTest01 $``$ exclusive surface (subsection 4.2),
* MCTest02 $``$ non-uniformity of the histograms ratio (subsection 4.3),
* MCTest03 $``$ Kolmogorov compatibility test (subsection 4.4).

In the following subsections, we provide intuitive definitions, followed by the detailed ones. Some illustrative examples, helpful to understand differences can be found in subsections 4.2.2 and 4.3.2.

### 4.1 How to set a particular test

The source code for the three tests included with MC-TESTER are placed in src/ directory, and compiled in the libMCTester library.

The choice of the appropriate code is done in the file SETUP.C of the directory analyze/ .

To employ one of the provided tests, it is sufficient to specify it (by its name) in the SETUP.C file, i.e.

Setup::user\_analysis = MCTest02;

The user may provide a custom analysis code in form of a ROOT macro (refer to section 5.4). We recommend putting the code in a single file in the directory analyze/ . An example of the user-provided code may be found in analyze/MyAnalysis.C. One performs this step using the following code in the SETUP.C file:

gInterpreter-\>LoadMacro("./MyAnalysis.C");

The full path name to the analysis code may be specified as a parameter (in this case: the file MyAnalysis.C from the current directory.

One should note that loading the macro file does not automatically select the test function to be used by MC-TESTER. After loading the macro, one needs to specify explicitly the name of the function to be used, as directed above. Therefore, one may have a set of various test functions in a single file and then select them by name.

As an example, assume we have the MyTests.C file with the following functions defined in it:

* double CompatibilityTest( TH1D\*,TH1D\*);
* double MyMCTest( TH1D\*,TH1D\*);
* double AreaTest( TH1D\*,TH1D\*);

To load this macro file and select the MyMCTest function, one needs to put the following lines in the SETUP.C file:

gInterpreter-\>LoadMacro("./MyTests.C");

Setup::user\_analysis = MyMCTest;

### 4.2 MCTest01 $``$ exclusive surface

This test determines the size of the area under the two compared, normalized to unity histograms, which is not simultaneously under the two of them. Estimates of the statistical fluctuations are subtracted bin-by-bin. The test gives SDP equal to $`0`$ when the compared histograms are statistically identical, and SDP equals $`2`$ when the histograms are completely disjoint.

#### 4.2.1 Detailed definition

For every bin of the two histograms (of the equal number of bins) we calculate,

$$\mathrm{\Delta }_i=|_1N_i{}_{2}{}^{}N_{i}^{}|;_1N_i=\frac{{}_{1}{}^{}n_{i}^{}}{_j{}_{1}{}^{}n_{j}^{}};_2N_i=\frac{{}_{2}{}^{}n_{i}^{}}{_j{}_{2}{}^{}n_{j}^{}};$$
(1)
where $`{}_{1}{}^{}n_{i}^{}`$ and $`{}_{2}{}^{}n_{i}^{}`$ denote the content of the bin $`i`$ respectively of the histogram no.1 and no.2, the $`\mathrm{\Delta }_i`$ – the bin content difference is prone to statistical fluctuations. The standard deviation of the bin contents equals

$${}_{1,2}{}^{}\sigma _{i}^{}={}_{1,2}{}^{}N_{i}^{}\sqrt{\frac{(1{}_{1,2}{}^{}N_{i}^{})}{{}_{1,2}{}^{}n_{i}^{}}}.$$
(2)
As in the case of the tests of the Monte Carlo programs, generation of sufficiently large sample is usually not a problem, to avoid statistical fluctuations, we will take instead of $`\mathrm{\Delta }_i`$,

$$\stackrel{~}{\mathrm{\Delta }}_i=\{\begin{array}{cc}\hfill \mathrm{\Delta }_i\kappa {}_{1}{}^{}\sigma _{i}^{}\kappa {}_{2}{}^{}\sigma _{i}^{}:& \mathrm{\Delta }_i\kappa {}_{1}{}^{}\sigma _{i}^{}\kappa {}_{2}{}^{}\sigma _{i}^{}0\hfill \\ \hfill 0:& \mathrm{\Delta }_i\kappa {}_{1}{}^{}\sigma _{i}^{}\kappa {}_{2}{}^{}\sigma _{i}^{}<0.\hfill \end{array}$$
(3)
Finally:

$$\mathrm{𝚂𝙳𝙿}=\underset{i}{}\stackrel{~}{\mathrm{\Delta }}_i,$$
(4)
and as default we take $`\kappa =3`$.

#### 4.2.2 Results and interpretation of MCTest01

The geometrical principle of the test is to estimate an exclusive part of the area under the two (normalized to $`1`$) histograms. That is, this part under each of them, which is not simultaneously under the another. A convenient solution to put a result and a statistical error into a single number requires some modification. We choose simply to subtract, bin by bin, the statistical error for the bin contribution to $`\mathrm{𝚂𝙳𝙿}`$ as given in formula (3). With the increasing $`\kappa `$ the test will be less sensitive to the statistical fluctuations of the compared histograms, and at the same time it will tend to more and more underestimate $`\mathrm{𝚂𝙳𝙿}`$. In the limit of infinite samples the results will be independent of $`\kappa `$.

In Fig. 3 we compare two histograms of $`10^7`$ entries, generated from the analytic distributions of the disjoint surface of $`0.2`$ . For this we obtain SDP=0.177. SDP is slightly underestimated. In Fig. 4 for the histograms generated from the same analytic distributions, but with $`10^4`$ entries we obtain SDP=0.00139. This is not a surprise because of the small statistics. With our assumption of $`\kappa =3`$ the histograms are found to be almost statistically equal. If our choice were $`\kappa =1`$, the test would return SDP=0.0746. The large numerical size of SDP is originated from statistical fluctuation.

In our second example, we take two analytic distribution which are completely disjoint and we generate from them the histograms (Fig. 5) of the samples of $`10^6`$ events. SDP=1.97 in this case. Even for such a high statistic and the clear separation, our test does not provide SDP=2. If, as in Fig. 6, we take $`1000`$ events, SDP=1.46.

Note that our test, in general, provides the larger and larger SDP with the increasing samples; on the other hand, SDP would decrease with the increasing number of bins and the constant statistics.

### 4.3 MCTest02 $``$ non-uniformity of the histograms ratio

The aim of this test is to measure, how far from a constant is a ratio of two histograms. The difference of this test with respect to the previous one is, that it weights equally all bins, and is not focused on the most populated bins as in the previous case. The test returns SDP=0 when the compared histograms are statistically identical. In general case, in the limit of infinitely large samples, it returns the surface between two lines: the ratio of the two (normalized) histograms (see e.g. the black line and the left scale on Fig.2(d)) and the constant line at 1.

#### 4.3.1 Detailed definition

The test goes bin-by-bin. For every bin we calculate first $`{}_{1,2}{}^{}N_{i}^{}`$ and $`{}_{1,2}{}^{}\sigma _{i}^{}`$ as given in formulas (1) and (2) . Later, to remove statistical fluctuations, we shift the results toward each other

$$\stackrel{~}{{}_{1}{}^{}N_{i}^{}}=\{\begin{array}{cc}\hfill {}_{1}{}^{}N_{i}^{}\kappa {}_{1}{}^{}\sigma _{i}^{}:& {}_{1}{}^{}N_{i}^{}{}_{2}{}^{}N_{i}^{}0\hfill \\ \hfill {}_{1}{}^{}N_{i}^{}+\kappa {}_{1}{}^{}\sigma _{i}^{}:& {}_{1}{}^{}N_{i}^{}{}_{2}{}^{}N_{i}^{}<0,\hfill \end{array}$$
(5)
and

$$\stackrel{~}{{}_{2}{}^{}N_{i}^{}}=\{\begin{array}{cc}\hfill {}_{2}{}^{}N_{i}^{}\kappa {}_{2}{}^{}\sigma _{i}^{}:& {}_{2}{}^{}N_{i}^{}{}_{1}{}^{}N_{i}^{}0\hfill \\ \hfill {}_{2}{}^{}N_{i}^{}+\kappa {}_{2}{}^{}\sigma _{i}^{}:& {}_{2}{}^{}N_{i}^{}{}_{1}{}^{}N_{i}^{}<0.\hfill \end{array}$$
(6)
Finally, if the shift was larger than the original difference, we set the contribution of the bin to zero, with the $`\mathrm{\Theta }_i`$ function:

$$\mathrm{\Theta }_i=\{\begin{array}{cc}\hfill 0:& (_2N_i{}_{1}{}^{}N_{i}^{})(\stackrel{~}{{}_{2}{}^{}N_{i}^{}}\stackrel{~}{{}_{1}{}^{}N_{i}^{}})<0\hfill \\ \hfill 1:& (_2N_i{}_{1}{}^{}N_{i}^{})(\stackrel{~}{{}_{2}{}^{}N_{i}^{}}\stackrel{~}{{}_{1}{}^{}N_{i}^{}})0.\hfill \end{array}$$
(7)
It is now straightforward to calculate

$$\mathrm{𝚂𝙳𝙿}=\frac{1}{N_{bin}}\underset{i}{}\left(\frac{\stackrel{~}{{}_{1}{}^{}N_{i}^{}}}{\stackrel{~}{{}_{2}{}^{}N_{i}^{}}}+\frac{\stackrel{~}{{}_{2}{}^{}N_{i}^{}}}{\stackrel{~}{{}_{1}{}^{}N_{i}^{}}}2\right)\mathrm{\Theta }_i,$$
(8)
where $`N_{bin}`$ denotes the number of bins in the histogram.

#### 4.3.2 Results and interpretation of MCTest02

To better visualize the difference between MCTest01 and MCTest02 we provide Figs. 7 and 8. The distributions in Fig. 7 give smaller SDP from MCTest01 than from MCTest02. Fig. 8 shows the histograms generated from the same analytical distribution, but with the $`200`$ times lower statistics. The situation is now reversed and SDP is larger with MCTest01. This is because in the less populated bins, even though the two distributions differ by a sizable factor, the statistics is small and the differences drop out as statistically not significant.

### 4.4 MCTest03$``$ Kolmogorov compatibility test

In some applications, such as checks of proper installation into broader environment of a code for the particle decay, we may be interested if indeed after installation, all distributions remained unchanged. For that purpose Kolmogorov compatibility test is suitable. It calculates a probability $`p`$ that the two histograms have the same shape. As this test is implemented and documented as a standard function of ROOT , we will use it for the time being, and skip a description as well. We simply take SDP=$`1p`$. Test returns SDP=$`0`$ if two distributions are identical, in other cases it returns the probability of being different.

## 5 Package organization

This section contains technical details concerning MC-TESTER and should be used as a quick reference. Further details may be found in the Appendix and in files placed in the doc/ subdirectory.

### 5.1 Directory tree

\- contains documentation.

\- includes example programs in F77:

\- using the TAUOLA generator;

\- using the PYTHIA/JetSet generator;

\- results of generation with high statistics.

\- examples in C++ (none at the moment).

\- analysis step is performed in this directory, the analysis code is contained in a set of ROOT macros:

\- contains data files (mc-tester.root) with the results of the generation phase produced by the two compared generators should be put here;

\- is created during the analysis step. It contains the result histograms in the form of .eps files.

\- includes universal C++ interface to F77 event records (i.e. HEPEVT,LUJETS,PYJETS).

\- links to C++ include files.

\- contains compiled libraries needed by MC-TESTER. Both the static and dynamic libraries are provided.

\- contains the source code for MC-TESTER.

\- platform-dependent support files; currently only for Linux.

### 5.2 Libraries

From a point of view of a programmer, MC-TESTER is seen as a set of two libraries: libMCTester and libHEPEvent. These libraries may be found in the lib/ directory.

The library libMCTester contains all the code needed by the generation step; it is also required at the analysis step, i.e. it contains routines for the Shape Difference Parameter estimator.

The libHEPEvent library contains a unified C++ interface for various F77 HEP Monte Carlo event record standards . Its first implementation was realized during work on photos+ , a C++ implementation of F77 algorithm for QED radiative corrections . In the current version of the MC-TESTER, it provides a unified access to the HEPEVT (HEPEVT with $`4000`$ DOUBLE PRECISION matrices is used<sup>1</sup><sup>1</sup>1 To tune the size or precision of the HEPEVT or LUJETS/PYJETS used in MC-TESTER, to match your code, see README in the include/ directory.) , LUJETS and PYJETS standards, enabling MC-TESTER to be used with variety of Monte Carlo event generators, based on those event record standards.

We intend to extend this interface (and therefore MC-TESTER) to serve various future event standards, used by F77, C++ or Java -based event generators.

The source code of libMCTester is placed in the src/ directory; libHEPEvent is stored in the HEPEvent/ directory.

### 5.3 Format and syntax of the SETUP.C file

The SETUP.C file is a C++ ROOT macro file, which controls the MC-TESTER’s settings. It is read and executed during initialization of both phases of a MC-TESTER run: the generation and the analysis. The file needs to be put in the same directory in which a run is executed, i.e. in the directory in which executable is being run for the generation phase, and in the analyze/ directory in the case of analysis. The setup file needs to have a correct C++ syntax. Although any code (acceptable by ROOT) may be put into the file, the main purpose of the file is to set up the MC-TESTER parameters. Majority of these parameters are stored in a static class called Setup, thus the most common lines inside the SETUP.C file have the form:
Setup::SomeSetting=somevalue;  The SETUP.C file needs to begin with ”{” and end with ”}” characters. No definition of a function name is needed. Comment characters that may be used inside SETUP.C are the ones allowed by C++: ”//” (two slashes) marks out that a string following them is a comment; ”/\*” starts a comment which may span over any number of lines, and needs to be terminated by the ”\*/” string. All text contained between these two markers is treated as a comment. Comments in the form of ”//” may be nested inside ”/\* \*/” comments. Each line that is not a comment, i.e. that is a C++ statement, needs to be ended by the semicolon ”;” character.

A trivial SETUP.C file, may look as follows:

{

/\**************************************/

/\* This is SETUP.C file for MC-TESTER \*/

/\**************************************/

// Some dummy variable

double x=1.2345;
}

One may put any call to a standard C library function inside the SETUP.C file, i.e. one may freely use the printf() call or the C++ cout\< \< streams to output strings of the text to the screen. Alternatively, one can read the content of any file using the fopen, fscanf, fclose calls, etc. Usually, there is no need to put #include statements, as majority of them is already preloaded by the ROOT interpreter.

The most important settings are presented in the Table 1.

The complete list of parameters may be found in the Appendix. It may also be found in the doc/README.SETUP file.

### 5.4 User-defined Shape Difference Parameter algorithms

In order to employ the user-defined analysis routine, one has to write a ROOT macro file in C++, with a function which accepts pointers to two histograms of TH1D class, and returns double. For example:

double MyTest(TH1D \*h1, TH1D \*h2)
$`\{`$
double value=1.0 - h1-\>KolmogorovTest(h2);
return value;
$`\}`$

An analysis function gets copies of histograms from two generators as the h1 and h2 parameters, so it may perform any modifications on them (i.e. normalizations, divisions, etc.). The function should be saved in the directory analyze/ in the file MyAnalysis.C. Its invocation has to be uncommented in SETUP.C in analyze/, and invocation to the standard one has to be commented out. One may also specify the full pathname to the analysis code. For details, see the Appendix.

### 5.5 How to make MC-TESTER run with other generators

#### 5.5.1 The case of F77

The MC-TESTER routines may be called directly from the F77 code, though all the routines are written in C++. ”F77 wrappers” are provided to access transparently the MC-TESTER routines.

As a starting point, one should follow examples-F77/tauola/tautest.F
and examples-F77/pythia/pythiatest.f

From within a FORTRAN code, one has the access to MC-TESTER using the MCTEST subroutine, which accepts a single, integer parameter:

* $`1`$ : initialization; must be called at the beginning
* $`0`$ : generation step; should be called every time when HEPEVT is filled with a new event.
* $`1`$ : finalization; closes output files, etc.
* $`20`$ : makes a printout of the currently used event record.

Please refer to comments in the Appendix A.3 or in the /doc/README.SETUP.F77 for the detailed description of other F77 utility functions, which control the MC-TESTER setup.

In order to use the MC-TESTER routines, one needs to link two MC-TESTER libraries and a subset of the ROOT libraries. The MC-TESTER’s libraries may be found in the lib/ directory. There exist both the static (.a) and dynamic (.so) versions of the libraries:

* libHEPEvent.so $``$ contains the C++ interface to HEPevent record structures
* libMCTester.so $``$ contains the MC-TESTER code.

The set of the ROOT libraries needed by MC-TESTER may be obtained by executing

* $ROOTSYS/bin/root-config --libs .

One could also add the following line to a Makefile:

* ROOTLIBS := $(shell $(ROOTSYS)/bin/root-config --libs) ,

then specify the linking of $(ROOTLIBS). It may also be required to link the F77 library: one should append -lg2c at a linking step, and use g++ as a linker rather than g77.

Before execution of a program linked with MC-TESTER, one should prepare SETUP.C file, and put it in the same directory as executable file. For details, please refer to section 5.3.

The results of the generation step are put in the file mc-tester.root in the directory of the executable. This output file should be moved (copied) to the MC-TESTER’s analyze/prod1/ or analyze/prod2/ directory to proceed with the analysis step.

#### 5.5.2 The case of C++

Although we currently do not provide any example in C++, the infrastructure for connecting MC-TESTER to a C++ generator is already in place.

Settings for the MC-TESTER parameters are done using a singleton Setup class. All the settings in the SETUP.C macro file, as described in the section 5.3 refer to this object.

Inside the tested Monte Carlo analysis, it is sufficient to issue calls to the following three routines:

* MC\_Initialize(): initializes MC-TESTER. All changes to the Setup should be commenced before a call to this function is invoked.
* MC\_Analyze(int particle): performs the analysis of the event record specified in the Setup::EVENT variable; particle parameter should be the PDG code of the decaying particle one wants to analyze<sup>2</sup><sup>2</sup>2Please note that unlike in the case of the FORTRAN MCTEST(0) function, one needs to specify the PDG code – the code from Setup is not passed automatically; i.e. one should use MC\_Analyze(Setup::decay\_particle); .
* MC\_Finalize(): writes the results to the output file.

One may also make use of the utility function Setup::SetHistogramDefaults(int nbins, double min\_bin, double max\_bin) to configure the size and the range of histograms (A.2.12).

As in the case of F77 generators, one needs to link the MC-TESTER’s libraries and a subset of ROOT libraries. The HEPEvent library  is intended to serve as a universal interface to future event record standards in C++. All event record standards included in the current version of HEPEvent library, i.e. HEPEVT, LUJETS and PYJETS may directly be used in user’s C++ code.

## 6 Outlook

We have found that MC-TESTER is useful for some tests of libraries of particles decays, but its tests are not complete from the physics point of view. It also has some technical limitations. In the following let us list these points, which can, in some cases, be fixed in the future versions of MC-TESTER.

1. The program constructs distributions out of stable decay products of the particle under study. It ignores intermediate states in the cascade formed from the decaying particle.
2. The program does not analyze distributions in Lorentz invariants built with the help of totally antisymmetric (Levi-Civita) tensor. It is thus blind to some effects of parity non-conservation.
3. Information on the spin state of the decaying particle is usually not available in common blocks such as HEPEVT. To keep MC-TESTER modular, and to avoid a multitude of options, we omit effects of decaying particle polarization. Our choice of distributions is blind to these effects anyway.
4. The main advantage of MC-TESTER is that it can be used with ‘any’ production generator in an automated way, providing a tool for quick tests. However, the final state event record has to be stored in one of the following common blocks: HEPEVT, LUJETS, PYJETS  of FORTRAN. Further possibilities, in particular data structures of C++, are not included at present.
5. If multiplicity of the particular decay channel is very high and/or there is a lot of decay channels, the program may find it difficult to allocate memory. An analysis of a decay channel with 8 or more decay products produces thousands of histograms, which causes data files to be huge and the analysis step to be long. In the current version, the user is not warned about possible problems. We observe that a machine with a sufficient amount of memory may cope with an analysis of large-multiplicity decay channels; however, the analysis process may take a long time (tens of minutes on a 2 GHz machine). There may also be problems with producing a booklet with a few thousands of histograms: one may run out of disk space. Therefore we advise users to restrain from the analysis of high multiplicity decay channels in the current version of MC-TESTER. In the PYTHIA example, we switch off the decay channels with higher decay multiplicities (greater than 7).
6. For some settings/types of the linker, all the input event records (the common blocks HEPEVT, LUJETS, PYJETS) may be loaded simultaneously, even if only one of them is used. To avoid problems with memory allocation, their size should be checked and adjusted to match declarations in the user’s program and/or other libraries loaded.
7. The present version of MC-TESTER uses the ROOT package for the purpose of histograming, input/output, etc. Another similar package could in principle replace ROOT.

Thanks to the interactions with the first users, we envisage the extension of the MC-TESTER with the following functionalities already in the next release:

* Allow automatic histogram re-binning (see variable nbins table 1) at the analysis step. Any common integer divider for the dimensions of the two compared histograms will be allowed.
* A list of the particles to be treated as stable as well as a list of the decay products not be taken into account (e.g. $`\pi ^0\gamma \gamma `$ decays) will be introduced<sup>3</sup><sup>3</sup>3At present MC-TESTER constructs distributions from the final (stable) decay products of the analyzed particle..
* Introduction of a new parameter to limit the depth of a decay tree to be analyzed (e.g. at most, only secondary decay products of the analyzed particle will be taken and then treated as stable).

### 6.1 Recent updates and extensions

From the ”to be introduced” options listed above, we have managed to implement the suppression of decays of particles with certain PDG code (e.g. $`\pi _0`$) into present release (v.1.1) of the MC-TESTER (please refer to the Appendix A.2.17 for details).

The MC-TESTER has recently been proposed as the tool for the Linear Collider Workshop  for comparisons of Monte Carlo predictions for $`2n`$; (n=4,6,8) body generators. Some changes were necessary.

First, the possibility to process the program input was introduced. The scattering event of the form $`p_1p_2q_1\mathrm{}q_n`$ can be replaced by the decay-like chain : $`Pp_2q_1\mathrm{}q_n`$, where $`P=p_1+2\times p_2`$ . The first incoming particle (of momentum $`p_1`$) is replaced by the $`P`$, the ”mother” of all other particles, including second beam ($`p_2`$). One obtains the event record with decay tree-like structure, i.e. standard event record for MC-TESTER use. This extension is easily customizable, the user may switch it on or modify using the C++ macro files: for details refer to README.EVENT-ANALYSIS and README.LC files in the /doc directory. With the help of this macro, the user may introduce other pre-processing of the event record as well. Note, that in every case the event record will only be modified locally, inside MC-TESTER.

The second extension prepared for the Linear Collider Workshop allows to quantify the difference of predictions of two programs for $`p_1p_2`$ ( or $`p`$ ) $``$ anything process. This is done with the help of two real numbers, which can be later analyzed if comparison of more than two programs is performed.

The first number $`T_1`$ represents the difference due to branching ratios from program A and B. It is calculated using the following formula:

$$T_1=\underset{i}{}max(|Br_i^ABr_i^B|\kappa \sqrt{\sigma ^2(Br_i^A)+\sigma ^2(Br_i^B)};0),$$
(9)
(statistical fluctuations subtracted, in a similar way as in formula 3). The second one:

$$T_2=\underset{i}{}\frac{Br_i^A+Br_i^B}{2}(SDP_i^{max})$$
(10)
consists of the weighted sum of maximal shape difference parameter calculated for all channels. The weight is given by the average of the branching ratios (calculated for $`i`$ channel ).

The values of $`T_1`$, $`T_2`$ are printed under the table of decay channels (page 2 of the booklet). They are also stored/appended to MC-TESTER.DAT file in the analysis directory for further use. The format of data in this file ( Comma Separated Values (CSV), containing descriptions of generators and the $`T_1`$, $`T_2`$ values) allows for easy processing by any data analysis tool or programming language.

For the example of the Workshop-like use see examples-F77/pythia.Lin-Col directory.

## Acknowledgments

We thank Thorsten Ohl for suggestions concerning functional extension of the MC-TESTER package. We thank Swagato Banerjee, Stanisław Jadach and Wiesław Płaczek for valuable remarks.

This work is partially supported by the BMBF (WTZ) project number POL 01/103. One of the authors (T. P.) would like to thank the “Marie Curie Programme” of the European Commission for a fellowship.

## Appendix A Appendix: MC-TESTER setup and input parameters

The values of the parameters used by MC-TESTER are controlled using the SETUP.C file. Some parameters may also be controlled using FORTRAN77 interface routines (Section A.3.1). This provides a runtime control over all parameters, yet allowing the user not to have SETUP.C at all. One should note that SETUP.C has always precedence over the values set using F77 code: it is always looked for in the execution directory.

Any parameter, not set using either of the methods, will have a reasonable default value, which is quoted in the parameter’s description below.

### A.1 Format and use of the SETUP.C file

Please refer to section 5.3

### A.2 Definition of parameters in the SETUP.C file

There are three sets of settings inside MC-TESTER to be distinguished: the ones specific to the generation phase, the ones specific to the analysis phase and the ones that are used in both phases<sup>4</sup><sup>4</sup>4Some parameters from the generation ¿ phase (i.e. the description of generators) are stored inside ¿ an output data file. However, again for reasons of runtime control, their ¿ values may be altered at the analysis time using the SETUP.C file in ¿ the analysis directory.. We describe them quoting the scope of their use.

#### A.2.1 Setup::decay\_particle

Type: int

Scope: generation

Default: 15 ($`\tau ^{}`$)

DESCRIPTION: the PDG code of a particle, which decay channels we want to analyze.

Example of use:

Setup::decay\_particle = -521; //analyze B0 decays.

#### A.2.2 Setup::EVENT

Type: HEPEvent\*

Scope: generation

Default: (HEPEVT)

DESCRIPTION: the F77 event format used by generator. It must be supported by the HEPEvent library. The possible values are: HEPEVT (format: 4000 entries, double precision), LUJETS (as in PYTHIA 5.7), PYJETS (as in PYTHIA 6)

To change the format of the event record standards used by MC-TESTER (the size of arrays and the precision) please refer to the include/README file.

Example of use:

Setup::EVENT=&LUJETS;

#### A.2.3 Setup::stage

Type: int

Scope: generation, analysis

Default: -

DESCRIPTION: Indicates whether this is a generation or analysis stage, and which generator is being used: 0 = the analysis stage; 1 = the generation phase for the generator 1; 2 = the generation phase for the generator 2.
This setting, is responsible for deciding which description specified by the SETUP.C settings will be saved at the generation phase. It is automatically set to $`0`$ at the analysis stage and needs to be set by the user’s program to 1 or 2 at the generation phase (it is automatically reset to 1 if 0 occurs at the generation phase).<sup>5</sup><sup>5</sup>5One of the trick in which it may be introduced to two versions of the code, may be observed in the TAUOLA example program, where the ”template” F77 code is preprocessed to produce two versions of the source codes, each having a different stage set by means of the F77 interface (see doc/README.SETUP.F77 for details).

Please note that at the analysis step one may freely replace the data files from the generation steps. The description in the SETUP.C file referring to the generator 1 will be applied to the data file in the subdirectory analyze/prod1/ and the ones that refer to the generator 2 will apply to the data in analyze/prod2/.

Example of use: (none)

#### A.2.4 Setup::gen1\_desc\_1 , Setup::gen1\_desc\_2, Setup::gen1\_desc\_3

Type: char\*

Scope: generation, analysis

Default: \[some default text with warnings\]

DESCRIPTION: Up to three lines containing the description of the first of used generators. These lines will appear on the first page of the booklet produced at the analysis step. Any proper sequences may be introduced inside, however one needs to note the fact, that \ (slash) sign is interpreted as an escape character in C/C++, so one needs to use \\ (double slash) to introduce ”\” into output. See the example of the use below. When specified at the generation step, this text will be saved in the output file. If the corresponding SETUP.C file will not alter these variables at the analysis phase, the text will appear on the first page of the booklet. However if these variables are being set in SETUP.C in the analysis phase, they will have a precedence over the ones stored in the generation files, so one may control the text appearing in the booklet without need to re-run the generation process.

Example of use:

Setup::gen1\_desc\_1="PYTHIA version 5.7, JetSet version 7.4; p-p at 14 TeV, $Z^0$ production";

Setup::gen1\_desc\_2="$Z^0$ decays to $\\tau^-$ exclusively. No $\\pi$ decays, No ISR/FSR.";

Setup::gen1\_desc\_3="{\\tt You may replace this text in SETUP.C file.}";

#### A.2.5 Setup::gen2\_desc\_1, Setup::gen2\_desc\_2, Setup::gen2\_desc\_3

Type: char\*

Scope: generation, analysis

Default: \[some default text with warning\]

DESCRIPTION: The same as above, for the second generator.

Example of use:

Setup::gen2\_desc\_1="TAUOLA LIBRARY: VERSION AA.BB";

Setup::gen2\_desc\_2=".............................";

Setup::gen2\_desc\_3="{\\tt You may replace this text in SETUP.C file in analysis dir.}";

#### A.2.6 Setup::result1\_path

Type: char\*

Scope: generation

Default: (set automatically to ”./mc-tester.root”)

DESCRIPTION: Sets the path and a file name of the data file produced at the generation phase. Note that the path (absolute or relative) AND the filename needs to be specified. Also take into account that the analysis step requires generation output files to be placed in certain directories (analyze/prod1, analyze/prod2) and to be named ”mc-tester.root”.

Example of use:

Setup::result1\_path = "/a/path/to/results/mc-tester.root"

#### A.2.7 Setup::result2\_path

Type: char\*

Scope: generation

Default: (set automatically to ”./mc-tester.root”)

DESCRIPTION: The same as above, for the second generator.

Example of use:

Setup::result2\_path = "../prod/mc-tester.root"

#### A.2.8 Setup::order\_matters

Type: int

Scope: generation

Default: 0

DESCRIPTION: This switch (values 0 or 1) specifies the behavior of a routine which searches for decay channels inside event records. By default (value: 0), the order in which decay products are written in an event record is not important. However for debugging purposes it may be useful to distinguish the order used by two generators. In that case, for example, \[pi- pi0 pi+\] will be other decay channel than \[pi+ pi- pi0\]. At default behavior, when the order is not taken into account, particles are sorted according to their PDG code, and regrouped in such a way that antiparticles stay just after corresponding particles. Example of use:

Setup::order\_matters = 1;

#### A.2.9 Setup::nbins

Type: 2-D array: int\[MAX\_DECAY\_MULTIPLICITY\]\[MAX\_DECAY\_MULTIPLICITY\]

Scope: generation

Default: 120

DESCRIPTION: Setup::nbins\[n\]\[m\] specifies the number of bins in histogram of m-body invariant in the n-body decay mode. Look at the example below to get it clarified. For setting default values to the whole range, use the Setup::SetHistogramDefaults() function described below.
The maximum number of decay products is equal to MAX\_DECAY\_MULTIPLICITY$``$1, because arrays in C/C++ are indexed starting from 0. Nevertheless, we follow the convention to refer to the arrays indexes using the numbers of bodies in decay channel<sup>6</sup><sup>6</sup>6 Elements with indexes equal to 0 are valid from C/C++ point of view, but not used. Elements with indexes 1 are not used either: there are no 1-body decays.. The MAX\_DECAY\_MULTIPLICITY constant is defined in the src/Setup.H source file, to be $`20`$ . In case you need to analyze more complex decay channels, you need to change this setting and recompile MC-Tester, however we hope it is not very likely to happen.

Example of use:

// Assume that you need to analyze 5-body decays more thoroughly.

// In all 5-body decay channels, you are especially interested

// in analysis of histograms of mass of 3-body subsystems.

// Thus, you’d like to have the histograms more detailed:

Setup::nbins=256;

#### A.2.10 Setup::bin\_min

Type: 2-D array: double\[MAX\_DECAY\_MULTIPLICITY\]\[MAX\_DECAY\_MULTIPLICITY\]

Scope: generation

Default: 0.0

DESCRIPTION: Setup::bin\_min\[n\]\[m\] specifies the minimum bin value for histogram of m-body invariant in the n-body decay mode. Look at the example below and the description of Setup::nbins above for clarification.

Example of use:

// Assume that you need to analyze 5-body decays more thoroughly.

// In all 5-body decay channels, you are especially interested

// in analysis of histograms of mass of 3-body subsystems.

// You know that the mass of all subsystems will not be lower

// that 3.0GeV, and so should be the lower bound of histograms

Setup::bin\_min=3.0;

#### A.2.11 Setup::bin\_max

Type: 2-D array: double\[MAX\_DECAY\_MULTIPLICITY\]\[MAX\_DECAY\_MULTIPLICITY\]

Scope: generation

Default: 2.0

DESCRIPTION: Setup::bin\_max\[n\]\[m\] specifies the maximum bin value for histogram of m-body invariant in the n-body decay mode. Look at the example below and the description of Setup::nbins above for clarification.

Example of use:

// Assume that you need to analyze 5-body decays more thoroughly.

// In all 5-body decay channels, you are especially interested

// in analysis of histograms of mass of 3-body subsystems.

// You know that the mass of all subsystems will not exceed

// 4.5GeV, and so should be the upper bound of histograms

Setup::bin\_max=4.5;

#### A.2.12 Setup::SetHistogramDefaults(int nbins, double min\_bin, double max\_bin);

Type: function (static method of Setup class)

Scope: generation

DESCRIPTION: Sets up the default values for the number of bins, the minimum and maximum bin for all the histograms.

Note: the dimensions and ranges of histograms processed at analysis step need to be the same!<sup>7</sup><sup>7</sup>7The possibility to automatically re-bin the histograms will be introduced in next release of MC-TESTER.

Example of use:

int default\_nbin=100;

double default\_min\_bin=0.0;

double default\_max\_bin=2.0;

Setup::SetHistogramDefaults(default\_nbin, default\_min\_bin, default\_max\_bin);

#### A.2.13 Setup::gen1\_path

Type: char\*

Scope: analysis

Default: \[set at the generation step to the current directory\]

DESCRIPTION: This variable contains the path at which the first generator was run, therefore indicates where the result file comes from. It is being initialized at the generation step, however one may change it at the analysis step to any other string. This path is printed at the first page of the booklet. It is also used to search for a file named ”version”. If it exists at the path pointed by this variable, its contents are also printed in the booklet. The version file is supposed to contain a short, one line description of a version of the code used by the generator, i.e. in TAUOLA example it contains the strings ”ALEPH” or ”CLEO” indicating two different branches of the generator code, which are being tested.

Example of use:

Setup::gen1\_path = "/my/new/path/of/first\_generator"

#### A.2.14 Setup::gen2\_path

Type: char\*

Scope: analysis

Default: \[set at the generation step to the current directory\]

DESCRIPTION: The same as above, for second generator.

Example of use:

Setup::gen2\_path = "/my/new/path/of/second\_generator"

#### A.2.15 Setup::user\_analysis

Type: function pointer: double (\*)(TH1D\*,TH1D\*)

Scope: analysis

Default: None - needs explicit specification in SETUP.C.

DESCRIPTION: Indicates a user-provided function to be used at the analysis step to calculate SDP. We recommend to adopt the choice of the function to your analysis. Please refer to section 4.

Example of use:

///// Setup analysis code (load it from file and set up)

gInterpreter-\>LoadMacro("./MyAnalysis.C");

Setup::user\_analysis=MyAnalysis;

printf("Using Analysis code from file ./MyAnalysis.C \n");

#### A.2.16 Setup::user\_event\_analysis

Type: pointer to object: UserEventAnalysis\*

Scope: generation

Default: None - functionality switched off

DESCRIPTION: Allows to specify the object (inheriting from UserEventAnalysis class), which performs custom operations on event record.

Please refer to files README.EVENT-ANALYSIS and README-LC.

Example of use:

Setup::user\_event\_analysis=new LC\_EventAnalysis();

#### A.2.17 Setup::SuppressDecay(int pdg);

Type: function (static method of Setup class)

Scope: generation

DESCRIPTION: Suppresses decays of particles with PDG code given by the parameter. The MC-TESTER will treat these particles as if they were stable.

Note: a maximum of 100 types of particles may be specified;

Example of use:

Setup::SuppressDecay(111); // suppress pi0 decays

### A.3  F77 interface of MC-TESTER.

A set of FORTRAN77 subroutines was provided to allow modification of some MC-TESTER parameters. These functions are implemented in C++, but can be called from the FORTRAN program.

#### A.3.1 SUBROUTINE MCSETUP( WHAT, VALUE)

INTEGER WHAT

INTEGER VALUE

Description and parameters:

WHAT: specifies what kind of value needs to be set

* WHAT=0 : Event record structure to be used:

+ VALUE=0 COMMON/HEPEVT/ in the 4k-D format
    + VALUE=1 COMMON/LUJETS/ (i.e. Pythia 5.7)
    + VALUE=2 COMMON/PYJETS/ (i.e. Pythia 6)
* WHAT=1 : the generation stage:

+ VALUE=1 or 2 for the first and the second generator, respectively.
    Look at the TAUOLA example – the stage is introduced to two version of the code using a preprocessor.
* WHAT=2 :

+ VALUE= the PDG code of a particle, which decays we analyze.

#### A.3.2 SUBROUTINE MCSETUPHBINS(VALUE)

INTEGER VALUE

Description and parameters:

Sets up the number of bins in histograms.

#### A.3.3 SUBROUTINE MCSETUPHMIN(VALUE)

DOUBLE PRECISION VALUE

Description and parameters:

Sets up the value of the minimum bin in histograms.

#### A.3.4 SUBROUTINE MCSETUPHMAX(VALUE)

DOUBLE PRECISION VALUE

Description and parameters:

Sets up the value of the maximum bin in histograms.

#### A.3.5 SUBROUTINE MCSETUPHIST(NBODY,NHIST,NBINS,MINBIN,MAXBIN)

INTEGER NBODY,NHIST,NBINS

DOUBLE PRECISION MINBIN,MAXBIN

Description and parameters:

Sets up the parameters for histograms of NHIST-body subsystems in NBODY-bodies decay channel. NBINS is the number of bins, MINBIN is the minimum bin value, MAXBIN is the maximum bin value.


format: text

text:
# Anisotropic Colossal Magnetoresistance Effects in Fe1-xCuxCr2S4

## I Introduction

Manganites, especially LaMnO3 and relatives, are known for their unusual transport and magnetic properties since more than 50 years.Jonker and van Santen (1950); van Santen and Jonker (1950) However, the appreciation and intensive interest is a recent development, which started with the giant magnetoresistance (actually named colossal magnetoresistance, CMR) in thin films of La2/3Ba1/3MnO3, published by von Helmolt et al. in 1993,von Helmolt et al. (1993) even though a negative magnetoresistance of nearly 20 % was discovered in bulk La0.69Pb0.31MnO3 by Searle and Wang already in 1970.Searle and Wang (1970) Soon after the onset of the renewed interest in these materials, it was realized that the theoretical framework used in the past to understand the manganites’ behaviour does not survive a quantitative analysis.Millis et al. (1995); Salamon and Marcelo (2001) The complexity of the problem led to the perception that manganites are prototypical for correlated electron systems, where spin, charge and orbital degrees of freedom are strongly coupled. These couplings lead to a failure of the classical approach, which neglects some interactions for simplification, and opens the way for a complete range of new physics. As a consequence the experimental and theoretical studies of manganites and related compounds give the unique opportunity of getting a deeper understanding of the fundamental physics responsible for phenomena like colossal magnetoresistance or high-temperature superconductivity.

Looking for new materials exhibiting a CMR effect, the substitution of oxygen with the isoelectronic sulphur seems to be a promising way.Ramirez (1997) Magnetoresistance effects in some chalcogenide spinels were reported previously by Watanabe Watanabe (1973) and Ando Ando et al. (1979). An elaborately review about this is given in Ref. van Stapele, 1982. Since the CMR is associated with a double-exchange mechanism, the rediscovery of a CMR effect in the chalcospinel FeCr2S4,Ramirez et al. (1997) which is neither oxide nor perovskite, opened a wide field for the further exploration and exploitation of magnetoresistance effects.

FeCr2S4 is a ferrimagnetic semiconductor, crystallizing in the normal spinel structure, where the Cr ions occupy the octahedral and the Fe ions the tetrahedral sites.Haacke and Beegle (1967) The Fe- and the Cr-sublattices are aligned antiparallel in the ferrimagnetic state. In single-crystalline FeCr2S4 the Curie temperature is $`T_C=167`$ K and around $`T_\mathrm{C}`$ a negative magnetoresistance is observed.Ramirez et al. (1997) Doping with non-magnetic Cu on the Fe site, Fe1-xCuxCr2S4 ($`x0.5`$), shifts the Curie temperature upwards accompanied by a decreasing magnetoresistance without changing substantially the magnetic properties.Haacke and Beegle (1967)

Polycrystalline samples of Fe1-xCuxCr2S4 were first synthesized in the fifties and sixties of the last century. Hahn et al. (1956) To explain the physical properties two competing models with different valences of the involved ions were proposed. Lotgering et al.Lotgering et al. (1969) developed a model considering a monovalent Cu+-ion over the whole concentration range, while Goodenough Goodenough (1969) postulated divalent Cu2+ for the concentration range $`0.5<x1`$. Furthermore the existence of monovalent S- was discussed at these times.Lotgering et al. (1969)

Mößbauer-spectroscopy studies reveal divalent Fe2+ ions in FeCr2S4, but trivalent Fe3+ in Fe0.5Cu0.5Cr2S4.Haacke and Noizik (1968); Chen et al. (1999) X-ray photoelectron-spectroscopy measurements show that Cu is monovalent in Fe0.5Cu0.5Cr2S4 and in CuCr2Se4, which means it is in a $`3d^{10}`$ state Tsurkan et al. (2000). NMR-measurements and band-structure calculations lead to the same conclusion for the Cu valence in CuIr2S4.Matsuno et al. (1997); Radaelli et al. (2002) All samples under investigation in this study were prepared as described in Ref. Tsurkan et al., 2000 and found to contain only divalent S. Therefore Cu existing only in the non-magnetic $`3d^{10}`$ state and divalent S only is assumed. The later discussion adopts this assumption.

## II Experimental Methods

Single crystals of Cu-substituted FeCr2S4 were grown by the chemical transport-reaction method from polycrystalline material obtained by a solid-state reaction. In this paper samples with Cu-concentrations $`x=0.05`$, $`0.1`$, $`0.2`$, $`0.3`$, $`0.4`$, and $`0.5`$ are studied.

The X-ray diffraction measurements were performed with a Stoe X-ray diffractometer. Single crystals were powdered and diffraction spectra were taken from $`35^{}`$ to $`130^{}`$ and analyzed with the Visual XPOW software.

The magnetic properties were measured using a superconducting quantum interference device (SQUID) magnetometer (Quantum Design) in the temperature range $`1.8T400`$ K in external fields up to 70 kOe. In addition ferromagnetic (or better ferrimagnetic) resonance (FMR) measurements were carried out at X-band frequencies (9.4 GHz) with a Bruker ELEXSYS E500-CW spectrometer using a continuous Helium gas-flow cryostat (Oxford Instruments) for temperatures $`4.2T300\mathrm{K}`$. For the FMR experiments thin polished disks prepared in $`(110)`$ plane orientation with about 1 mm diameter and 0.05 mm thickness were used.

The electrical resistivity was measured in an Oxford 4He cryostat equipped with a superconducting magnet capable of magnetic fields up to 16 T. Conventional dc four-point techniques were used with currents between 0.5 and 500 $`\mu `$A at temperatures $`2T300\mathrm{K}`$. Gold wire with a diameter of $`25\mu `$m and silver paint were used to prepare the electrical contacts. The contact resistance was always between $`20`$ and $`70\mathrm{\Omega }`$. To prevent problems occurring due to aging of the contacts, leading to a contact resistance several orders of magnitudes higher, the measurements were performed immediately after preparing the contacts.

Hydrostatic pressure was produced in a conventional Be-Cu clamp type cell using fluorinert™ as a pressure medium. The pressure at low temperatures was determined from the shift of the inductively measured $`T_\mathrm{C}`$ of a small piece of lead, located in immediate proximity to the sample. The width of the superconducting transition of Pb did not exceed 15 mK, indicating good hydrostatic conditions and providing an estimate of the pressure-measurement uncertainty, $`\pm 0.4`$ kbar. The pressure at room temperature was determined from the pressure dependence of the resistivity of a manganin wire placed inside the cell.

## III Experimental Results

### III.1 X-ray Diffraction

In FeCr2S4 the substitution of Fe by Cu leads to a linear dependence of the lattice parameter of the cubic spinel structure on the Cu concentration following Vegard’s law, as shown in figure 1. In addition, the X-ray studies of powdered single crystals confirmed single-phase material with no detectable parasitic phases.

### III.2 Magnetization

The Curie temperatures $`T_\mathrm{C}`$ of Fe1-xCuxCr2S4 are listed in table 1, as determined by the kink-point-method Arrott (1971) from magnetization measurements, and the room temperature resistivity, which will be discussed in section IV.2. The Curie temperature $`T_\mathrm{C}`$ increases with the Cu-concentration $`x`$. The same trend has been observed for polycrystalline samples,Haacke and Beegle (1967) though for higher Cu concentrations $`T_\mathrm{C}`$ remains at a lower value in single crystals. Figure 2 shows the magnetization, $`M`$, for Fe0.95Cu0.05Cr2S4 versus the magnetic field, $`H`$, at $`T=4.2`$ K and $`T=130`$ K, respectively. At $`T=4.2`$ K the magnetic anisotropy is clearly observed. For the easy magnetization axis $`100`$ the saturation is already reached at $`2`$ kOe whereas for the hard axis $`111`$ and the intermediate axis $`110`$ saturation only occurs at $`43`$ kOe. The temperature dependence of the anisotropy field $`H_A`$, defined by the magnetic field where saturation is reached for all three directions, is shown in the inset of figure 2. It decreases monotonically with increasing temperature and vanishes at $`T_\mathrm{C}`$.

### III.3 FMR-Measurements

For a more detailed analysis of the magnetic anisotropy we performed ferromagnetic resonance (FMR) measurements, which will be published in a separate paper. Here we confine ourselves to the presentation of one illustrative result, which nicely reflects the evolution of the anisotropy with increasing Cu concentration and can be explained on the base of the FMR results published recently for FeCr2S4 single crystals.Tsurkan et al. (2001b) For the samples under investigation ($`0<x0.5`$) the FMR line exhibits an analogous behavior to the pure compound $`x=0`$. Figure 3 shows the temperature dependence of the resonance field $`H_{\mathrm{res}}`$ for several Cu concentrations below the Curie temperature. The static magnetic field was applied along an $`111`$ or $`100`$ axis within the $`(110)`$ plane of the disk-shaped samples and the magnetic microwave field was applied perpendicular to the plane. This geometry allows measurements at different orientations of the static field in the plane without change of the demagnetization contributions to the resonance condition.Kittel (1947, 1948) Just below the Curie temperature the resonance field $`H_{\mathrm{res}}`$ is approximately isotropic given by the Larmor frequency $`\nu =\gamma H_{\mathrm{res}}`$, with the microwave frequency $`\nu `$ and the gyromagnetic ratio $`\gamma `$ determined by the g-values of the two sublattices.Gurevich and Melkov (1996) With decreasing temperature one observes first a slight shift to smaller fields due to the demagnetization but then a strongly anisotropic behavior appears. For the magnetic field applied along the easy $`100`$ axis, the resonance line shifts to low fields and disappears at a finite temperature as shown exemplarily for $`x=0.05`$ and $`x=0.5`$. For the field applied parallel to the hard $`111`$ axis, the resonance field shifts to higher fields. A similar shift to higher fields is observed for orientation along the intermediate $`110`$ axis (not shown in figure 3). The maximum shift at low temperatures decreases with increasing Cu concentration.

This result is directly related to the decrease of the magnetic anisotropy. Neglecting the demagnetization effects, which turn out to be small compared to the anisotropy field at low temperatures Tsurkan et al. (2001b) and taking into account only the first-order cubic anisotropy field $`H_\mathrm{A}=K_1/M`$, where $`K_1`$ is the first-order cubic anisotropy constant, the resonance conditions read for $`100`$ and $`111`$ orientation, respectively:Gurevich and Melkov (1996)

$`{\displaystyle \frac{\nu }{\gamma }}=H_{\mathrm{res}}^{100}+2H_\mathrm{A},`$
$`{\displaystyle \frac{\nu }{\gamma }}=H_{\mathrm{res}}^{111}{\displaystyle \frac{4}{3}}H_\mathrm{A}.`$ (1)
Hence, the resonance shift $`H_{\mathrm{res}}\nu /\gamma `$ from the Larmor frequency is proportional to the anisotropy field. For $`H||100`$ the shift is negative and the resonance disappears at zero field. However, the shift is positive for $`H||111`$ and can be followed down to lowest temperatures, only limited by the field range, which is accessible to the electromagnet. For this reason we can directly compare the temperature dependence of the anisotropy field calculated from the magnetization measurements for $`x=0.05`$ (inset of figure 2) with the temperature dependence of the FMR shift and use the results from FMR to determine the anisotropy field for all Cu concentrations. This clearly indicates the continuous decrease of the magnetic anisotropy with increasing Cu concentration.

### III.4 Electrical Resistivity

Figure 4 shows a semi-logarithmic plot of the resistivity of Fe1-xCuxCr2S4 normalized by the room-temperature resistivity and multiplied with the Cu concentrations $`x=0.05`$, $`0.1`$, $`0.2`$, $`0.3`$, $`0.4`$, and $`0.5`$, to enable the identification of the different concentrations. The absolute values of the resistivity at room temperature are summarized in table 1. One should keep in mind that such absolute values are given with a large uncertainty. The given error of $`10\%`$ is the error due to the determination of the geometric factor. A similar order of magnitude and tendency of concentration dependence of the values given here was observed in single crystals by Haacke and Beegle.Haacke and Beegle (1968)

The resistivity of Fe1-xCuxCr2S4 ($`x0.5`$) exhibits a non-monotonic behavior with a local maximum slightly above and a broad minimum below $`T_\mathrm{C}`$. The resistivity increases strongly at low temperatures, indicating the insulating ground state of the system. The existence of the local extrema is in agreement with the results in FeCr2S4.Ramirez et al. (1997); Watanabe (1973); Tsurkan et al. (2001a)

The resistivity of Fe0.95Cu0.05Cr2S4 is plotted in figure 5 (a) for different magnetic fields, 0, 50, 100 and 140 kOe. The magnetic field is applied along the hard axis ($`111`$-direction), the current is applied in $`110`$-direction. The maximum in the vicinity of the Curie temperature $`T_\mathrm{C}`$ slightly shifts to higher temperatures, while the minimum remains at a constant temperature with increasing magnetic field. The concentrations $`x=0.1`$, 0.2, 0.3, and 0.5 show a similar dependence on magnetic field.

The resistivity of Fe0.95Cu0.05Cr2S4 was also measured under hydrostatic pressure. In figure 5 (b) the resistivity of Fe0.95Cu0.05Cr2S4 for different pressures up to $`16.1`$ kbar is shown. Under a pressure of $`16.1`$ kbar the resistivity is reduced by $`37\%`$ at room temperature. The minimum as well as the local maximum are shifted to higher temperatures (see figure 9 (b) for $`T_{\mathrm{max}}`$ and $`\frac{dT_{\mathrm{max}}}{dp}`$).

## IV Discussion

### IV.1 The ionic picture: Triple exchange model

The system Fe1-xCuxCr2S4 can be divided in two different concentration regimes $`0x0.5`$ and $`0.5<x1`$ with different physical properties. The concentration range $`0.5<x1`$ will be treated in a forthcoming paper.

In the region $`x0.5`$ the valences of the ions can be described by the formula

$$\mathrm{Fe}_{12x}^{2+}\mathrm{Fe}_x^{3+}\mathrm{Cu}_x^+\mathrm{Cr}_2^{3+}\mathrm{S}_4^2.$$
(2)
This description was already given by Lotgering et al.Lotgering et al. (1969) and Goodenough.Goodenough (1969) As a conduction mechanism Palmer and Greaves proposed a triple-exchange model.Palmer and Greaves (1999) In this model the electrical conduction is established via hopping between Fe2+ and Fe3+. An illustration is given in figure 6. Fe2+ has six $`3d`$-electrons, where the sixth electron is located in the $`e_g`$-band with the spin antiparallel to the spins of the other five electrons of Fe and parallel to the Cr-moments, which define the direction of the magnetization. The single electron in the Fe’s spin-up $`e_g`$-band hops with an exchange mechanism, similar to the well-known double-exchange,Zener and Heikes (1953) via a $`p`$-orbital of the sulphur to Cr, providing an additional electron on the Cr site leading to an intermediate Cr2+ state. From there it proceeds via the second S to the Fe3+, changing the valence to Fe2+. Because of its antiparallel alignment to the remaining $`d`$-electron spins of the Fe, the spin of the hopping electron is parallel to the spin of the electrons in the Cr $`3d`$-band.Palmer and Greaves (1999)

The observed temperature and magnetic field dependence of the resistivity for $`0<x<0.5`$ can be explained by the triple-exchange model. In the paramagnetic region above $`T_\mathrm{C}`$ semi-conducting behaviour due to thermal activated hopping is observed. At $`T_\mathrm{C}`$ the system enters the magnetically ordered state and the Cr and Fe spins are aligned antiparallel, stimulating the hopping via the triple-exchange mechanism and leading to a positive temperature slope of the resistivity. For the absolute values of the resistivity one would expect a minimum at a Cu concentration $`x\frac{1}{3}`$, where an equal amount of Fe2+ and Fe3+ exists. The values for the resistivity given in table 1 show a broad minimum between $`x=0.1`$ and $`0.3`$. This is an indication, that the system cannot be described by an pure ionic picture only. Thus, in the next section a description in a band picture will be given.

The attempts to fit the low-temperature increase of the resistivity with an Arrhenius- ($`\rho \mathrm{exp}\left(\frac{T_0}{T}\right)`$) or a variable-range hopping law ($`\rho \mathrm{exp}\left(\left(\frac{T_0}{T}\right)^{\frac{1}{4}}\right)`$) failed. The rise of the resistivity is weaker than either a simple Arrhenius- or variable-range hopping law and probably cannot be explained by only a single mechanism alone. In the whole temperature regime, variable range hopping is assumed to be the relevant conduction mechanism. But below the ordering temperature the triple exchange enhances the conductivity compared to the simple variable-range hopping process, correlated with the magnetic anisotropy. Also in the ordered phase, there might be additional contributions to the resistivity from magnon scattering which increases with increasing temperature.

### IV.2 The band picture: Fe1-xCuxCr2S4 as a half metal

We assume the Fermi-edge to be located within the Fe spin-up $`e_g`$-band, as it is shown in figure 6. This assumption is supported by band-calculations of Park et al., who describe Fe1-xCuxCr2S4 as a half-metallic ferromagnet.Park et al. (1999) The half-metallic ferromagnetic state is realized, if all spins are fully polarized forming one metallic and one insulating band.de Groot et al. (1983) From their calculations Park et al. expected a metallic ground state for FeCr2S4. The metallic ground state is changed by Coulomb interactions splitting the Fe $`e_g`$ band, leading to a Mott-insulator.Park et al. (1999) In addition this splitting is supported by the Jahn-Teller effect Feiner (1982), which is peculiar to Fe2+ ions and shown by Mössbauer experiments.Spender and Morrish (1972). At higher temperatures near $`T_\mathrm{C}`$ the thermal activation is high enough to overcome the band splitting, which leads to the observed positive temperature gradient in the resistivity below $`T_\mathrm{C}`$. Above $`T_\mathrm{C}`$ the spins are not ordered anymore and a simple hopping conductivity is established.

Substituting Fe by Cu empties the Fe2+ $`e_g`$ spin-up band and, thus, destroys the band splitting, which explains the strong decrease of the resistivity in the concentration range up to $`10\%`$. Further substitution of Fe with Cu empties the Fe2+ $`e_g`$ spin-up band, reducing the number of charge carriers and, thus, leads to an eventual increase of the resistivity with increasing $`x`$.

At $`x=0.5`$ all Fe ions should be trivalent and an insulating ground state is found (although Park et al. assume Cu2+).Park et al. (1999) Nevertheless, in the region below $`T_\mathrm{C}`$ a positive temperature gradient of the resistivity is found. To understand this, one has to look on the concentration range $`x0.5`$. Here we assume a double-exchange mechanism between Cr3+ and Cr4+ via S, as proposed by Lotgering et al.Lotgering (1964) Slight off-stoichiometries in Fe0.5Cu0.5Cr2S4 can lead to either that not all Fe2+-ions are changed completely to Fe3+ or that already at concentrations $`x<0.5`$ Cr3+-ions start to be turned in Cr4+ and, thus, give the possibility to process double-exchange in the ordered regime below $`T_\mathrm{C}`$.

Cu+ is in $`3d^{10}`$-state and therefore has a closed $`d`$-shell. That is why in the ionic picture Cu is not supposed to contribute to the conductivity. In the band picture the $`t_{2g}`$\- and $`e_g`$-band are completely filled, thus also in this case no contribution to the conductivity is expected.

### IV.3 Influence of the magnetic field

The magnetic order is anisotropic due to a strong spin-orbit coupling of the tetrahedral Fe2+ ions in the $`3d^6`$-state.Feiner (1982); Hoekstra et al. (1972); Goldstein et al. (1976) The $`6^{th}`$ $`d`$-electron located in the $`e_g`$-band (see figure 6) perturbs the symmetry of the charge distribution. This leads to a preferred orientation of the orbitals and with the spin-orbit-coupling to the observed magnetic anisotropy.

In figure 7 (a) the magnetoresistance $`MR:=\frac{\rho (0\mathrm{k}\mathrm{O}\mathrm{e})\rho (50\mathrm{k}\mathrm{O}\mathrm{e})}{\rho (0\mathrm{k}\mathrm{O}\mathrm{e})}`$ of Fe1-xCuxCr2S4 is displayed. Note, that in our definition $`MR>0`$ if $`\rho (H)<\rho (0)`$. For all concentrations the field was applied along the hard axis $`111`$. As the magnetic field aligns the spins, the triple-exchange is enhanced and the conductivity grows. This enhancement is most pronounced at $`T_\mathrm{C}`$ due to the onset of spontaneous order and decreases to lower temperatures. At the Curie temperature $`T_\mathrm{C}`$ a peak arises, which was theoretically predicted in metals Campbell and Fert (1982) and is smeared out with increasing Cu-concentration. The maximum of the magnetoresistance vs the Cu-concentration $`x`$ is drawn in figure 7 (b). It drops from $`9.6\%`$ at $`x=0.05`$ to $`4.6\%`$ at $`x=0.5`$. In the region between 100 and 35 K the magnetoresistance changes its sign and its absolute value grows up to $`63\%`$ at $`T=4`$ K for $`x=0.05`$. The values of the magnetoresistance at $`T=4`$ K in dependence of the Cu-concentration $`x`$ are plotted in figure 7 (c). With increasing Cu concentration the magnitude of the magnetoresistance is reduced from $`63\%`$ at $`x=0.05`$ to $`8.4\%`$ at $`x=0.5`$. Using the idea of triple exchange, the last results indicate that obviously the magnetic field, applied along the hard axis, leads to a weak distortion of the $`e_g`$-orbital of Fe out of its preferred direction, reducing the overlap between the orbitals that participate in the hopping process, and therefore to the observed enhancement of the resistance in a magnetic field.

Applying a magnetic field along the easy axis allows the Fe $`e_g`$ orbital to remain in its favored direction and so the overlap between the $`e_g`$ orbital of Fe and the orbital of S is not changed significantly. In this case the magnetoresistance remains positive to lower temperatures, as it is shown in figure 8. There the magnetoresistance of Fe0.95Cu0.05Cr2S4 and Fe0.9Cu0.1Cr2S4 is displayed with the magnetic field applied along the easy and along the hard axis. When applying the field along the easy axis, the magnetoresistance exhibits a weak maximum. It changes sign at significantly lower temperatures than upon application of the field along the hard axis only for the sample with Cu concentration $`x=0.1`$. This change of sign may result from small misorientations of the sample in the magnetic field, due to the experimental conditions.

### IV.4 Influence of hydrostatic pressure

In Ref. Tsurkan et al., 2001a was shown that by the application of pressure the Curie temperature $`T_\mathrm{C}`$ is shifted to higher temperatures as indicated by the shift of the temperature of the local maximum $`T_{\mathrm{max}}`$ of the $`\rho (T)`$ curves. Therefore we conclude that the same effect works for the Cu-doped compounds, and the shift of $`T_{\mathrm{max}}`$ can be taken as the shift of $`T_\mathrm{C}`$.

The pressure dependence of the resistivity of Fe0.95Cu0.05Cr2S4 at $`T=290`$ K is drawn in figure 9 (a). At a pressure of approximately $`8`$ kbar the resistivity has declined about $`37\%`$ from its value at ambient pressure. For higher pressures $`\rho (290\mathrm{K})`$ stays constant. On the other hand, the temperature of the local maximum in the $`\rho (T)`$ curve (see figure 5 (b)) increases stronger with pressures above $`8`$ kbar, as shown in figure 9 (b). Therefore one can assume that the effect of hydrostatic pressure is changed, when a critical value $`p8`$ kbar is exceeded. In contrast to La1-xSrxMnO3, where a linear pressure dependence was found,Moritomo et al. (1995) in the present system two different pressure regimes with different pressure gradients in $`T_{\mathrm{max}}`$ are in place.

Figure 10 displays the effect of pressure on the electrical resistance ($`PR`$), which is defined in analogy to the magnetoresistance $`MR`$ as $`PR:=\frac{\rho (0\mathrm{kbar})\rho (p)}{\rho (0\mathrm{kbar})}`$. There are two remarkable features: first of all, at the Curie temperature $`T_\mathrm{C}`$ a peak, similar to the magnetoresistance, arises, however, second the value of $`PR`$ does not change sign at low temperatures and its absolute value increases up to $`100\%`$.

The application of hydrostatic pressure is expected to increase the overlap between the orbitals and to broaden the bands, resulting in an enhanced mobility of the charge carriers and a reduction of the energy gap between the bands. This yields an enhanced electric conductivity, which is illustrated in figure 10. Similar behavior was found in manganites, for example in polycrystalline La1-xCaxMnO3.Neumeier et al. (1995) If one would approximately describe the different conducting mechanisms with different hopping laws, a reduction of the hopping barriers automatically yields the strong increase of the $`PR`$ value at low temperatures. However, it is necessary to bear in mind that the pressure is relatively moderate in the present study. Thus its effect on the hopping barriers is not expected to be such large and one has to look for an other mechanism. For example the pressure might affect the Jahn-Teller distortion and this way reinforce the conductivity.

## V Conclusion

In this paper X-ray, magnetization, FMR and resistivity data from single crystals of Fe1-xCuxCr2S4 are presented. The results are discussed in a hopping model, where the conductivity is explained by triple-exchange mechanisms for the concentration range $`x<0.5`$ and double-exchange for $`x0.5`$.

Applying an external magnetic field or hydrostatic pressure to the system ($`x0.5`$) has qualitatively an analogous effect for temperatures around the Curie temperature $`T_\mathrm{C}`$: the overlap of the orbitals is enhanced and the bands are broadened. Thus the conductivity increases, while $`T_\mathrm{C}`$ is shifted upward. At lower temperatures this similarity of the effect of an external magnetic field and hydrostatic pressure vanishes. While the value of $`PR`$ shows a strong upturn at low temperatures, in the magnetoresistance a strong anisotropy arises. Applying the magnetic field along the hard axis leads to a strong negative magnetoresistance, while applying the field along the easy axis results in a flat maximum in the magnetoresistance. Since the origin of this unusual feature is still unclear, further investigations of the electronic and orbital correlations in Fe1-xCuxCr2S4 are needed and a promising challenge for future experiments and theoretical calculations.

###### Acknowledgements.

We would like to thank V. Sidorov for his assistance in the pressure measurements. This work was supported by the BMBF via VDI/EKM, FKZ 13N6917/18 and by DFG within SFB 484 (Augsburg). Work at Los Alamos was performed under the auspices of the U.S. DOE.