Output Format

From TECHQM
Jump to navigationJump to search

In order to facilitate quantitative comparison between the different energy loss models a standard output format has been proposed. The format was created with human and machine readability in mind. Hopefully the organization of the file is clear; nevertheless a line-by-line explanation is:

  • Line 1: Code name and version
  • Lines 2-3: General comments
  • Line 4: Names of options used in code, column-separated (should be machine-readable strings; i.e. kmax1, kmax2, etc.)
  • Line 5: Description of options written in row above, column-separated
  • Lines 6-9: Input parameter in the first column, name and units in the second
  • Lines >9: columns given by (, P(), dN/dx, Pinel, Pel)
    • P() can of course be simply Pel if, say, dNdx = 0 identically, etc. To simplify machine readability, include all five columns even if, e.g., Pel = 0 identically.
  • Lines 10-11: coefficients of delta functions at eps = 0, 1
  • Lines >11: continuous part of the distributions

A truncated output example is:

# WHDGv0.9
# W. A. Horowitz, based on "Elastic, inelastic, and path length fluctuations in jet tomography"
# Simon Wicks, William Horowitz, Magdalena Djordjevic, Miklos Gyulassy, Nucl.Phys.A784:426-442,2007 [nucl-th/0512076]
# kmax1   	qmax1
# 2x(1-x)E	sqrt(3muE)
# 10      	pT (GeV)
# 5       	L (fm)
# 0.3     	alphas
# 300     	T (MeV)
0.0000E-99	0.0000E-99	0.0000E-99	1.8442E-01	0.0000E-99
1.0000E+00	1.8889E-01	0.0000E-99	7.4289E-02	0.0000E-99
-4.4500E-01	1.5140E-04	0.0000E-99	0.0000E-99	8.1796E-04
-4.4000E-01	1.7119E-04	0.0000E-99	0.0000E-99	9.1368E-04
-4.3500E-01	1.9432E-04	0.0000E-99	0.0000E-99	1.0198E-03
-4.3000E-01	2.2070E-04	0.0000E-99	0.0000E-99	1.1374E-03
.
.
.

(the full output file corresponding to this example can be found here; the plots associated with it are here).


Tools for reading data files

Included here as a tarball is some code to read data files in the above format and make that data available for use in analysis. The code is written in standard c++ and should be compilable on any platform. The code is still not complete and is under continued development by B. Cole. In particular, the code does not yet parse the numerical constants in the comment lines described above. That work should be completed by Cole shortly (as of Nov 11, 2008). in the near future, an "autoconf" make system will be added to facilitate compilation on any platform.

The simple code in the tarball defines a C++ class that parses out both data and comments lines from the partonic energy loss datafiles that adhere to the format described above. To construct an instance of the object, provide the data file name:

TQMDataFileParser parser("./data/WDHG/E100L2T150alf3q.dat");

To parse the data file execute the "parse" method:

parser.Parse();

The data is stored internally in the form of "DataLine"s, defined by the structure:

struct DataLine { // In order that the columns appear in the data file

 float x;
 float PepsTotal;
 float dNGdx;
 float PepsRad;
 float PepsColl;    
};

You can get the number of continuous data lines read from the file:

int numberOfLines = parser.GetLineCount();

You can check whether the parser corectly read the file or found a problem with the format

bool dataValid = parser.IsDataValid();

You can set a "verbose" flag prior to parsing to see a dump of the lines read from the file (for debugging purposes):

parser.SetVerbose();

You can get the model "tag" (the first comment line):

std::string tag = parser.GetModelTag();

You can get the concatenation of the second two lines giving a more complete description of the model

std::string description = parse.GetModelDescription();

Here's an example of a plot generated within ROOT from a WDHG data file: Example_WDHG_plot_fromdatafile.png

Back to Partonic Energy Loss