v1, v2 calculation for mcpico

ParfenovPeter 6a9277e99b Added small correction in the urqmd2mcpico.C 3 gadi atpakaļ
FlowANA.C 2ac114911f Added constants for comparison with STAR, now 8 centrality classes are used 4 gadi atpakaļ
FlowANA.h 69012d72c9 First commit 4 gadi atpakaļ
FlowANA_test.C 69012d72c9 First commit 4 gadi atpakaļ
FlowANA_test.h 69012d72c9 First commit 4 gadi atpakaļ
GraphFlow.C f5a2f24025 v2,v1 ready mpd 4 gadi atpakaļ
README.md dbc925f776 Small fix in README file 3 gadi atpakaļ
ReadFlow.C f5a2f24025 v2,v1 ready mpd 4 gadi atpakaļ
ReadRes.C 69012d72c9 First commit 4 gadi atpakaļ
main_proc.C f5a2f24025 v2,v1 ready mpd 4 gadi atpakaļ
main_proc_test.C 69012d72c9 First commit 4 gadi atpakaļ
res2.C 2ac114911f Added constants for comparison with STAR, now 8 centrality classes are used 4 gadi atpakaļ
urqmd2mcpico.C 6a9277e99b Added small correction in the urqmd2mcpico.C 3 gadi atpakaļ

README.md

Quick information with step-by-step instruction


The FlowANA package is a set of macros that performs experimental-like flow measurements (v1, v2) using the event plane method. The input data format is standard ROOT TTree (called mcpico).

Requirements:

  • gcc compiler with c++11 support (>=4.8.1)
  • ROOT ver. 6

Obtaining the code

    git clone https://devel.mephi.ru/PEParfenov/FlowANA.git
    cd FlowANA/

Usage

Structure of the input file format

The input file format will be described - mcpico. It is a standard TTree class object (called mctree) in the ROOT file, so no additional libraries are required.

The list of the branches in the mcpico format are as follows:

  • float bimp - impact parameter (in fm);
  • int npart - number of participants in the AA collision;
  • float phi2 - event plane angle for v2 (also reaction plane angle, or just 0 could be stored) (in rad);
  • float phi3 - event plane angle for v3 (also reaction plane angle, or just 0 could be stored) (in rad);
  • float ecc2 - second order participant eccentricity (also 0 could be stored);
  • float ecc3 - third order participant eccentricity (also 0 could be stored);
  • int nh - number of hadrons (initial nucleons and produced particles) in the AA collision;
  • float momx[nh] - x-projection of the particle's momentum (in GeV/c);
  • float momy[nh] - y-projection of the particle's momentum (in GeV/c);
  • float momz[nh] - z-projection of the particle's momentum (in GeV/c);
  • float ene[nh] - energy of the particle's momentum (in GeV);
  • int pdg[nh] - pdg code of the particle;
  • int hid[nh] - history id of the particle in case of the analysis of the secondary particles (also 0 could be stored);
  • short charge[nh] - charge of the particle.

The lines with the bold text are the ones that will be used in the FlowANA procedures. One can write their variations of the mcpico file format with emphasized branches, and FlowANA should be working with them.

Conversion from the model data file to mcpico

The example of the converter from UrQMD (ver. 3.4) f14 file format (output.f14) to mcpico file is macro named urqmd2mcpico.C. One can use it to convert output.f14 from the UrQMD model to the mcpico format suitable for FlowANA:

    root -l -b -q urqmd2mcpico.C+'("<path>/output.f14", "./mcpico.root")'

Flow measurements

FlowANA allows to measure v1 and v2 using the event plane method. There are 5 sets of the sub-events in total from which event plane angles are defined. Their selection is presented in FlowANA.C macro (lines 523-545).

The main procedure in FlowANA.C should be performed two times:

  1. Measurement of the resolution correction factor;
  2. Measurement of the anisotropic flow (v1, v2).

1. Resolution correction factor

To perform a measurement, one can run the macro:

    root -l -b -q main_proc.C+'("<path>/filelist","output_resolution.root")'

Where <path>/filelist is the standard file containing list of mcpico files. One can easily create such filelist using standard bash commands:

    ls <path-to-mcpico-files>/*.root > <path>/filelist

After that, one should use res2.C macro to calculate resolution correction factors. Before that, the resulting output_resolution.root (both path and a file name) should be put in the res2.C macro (line 56). To calculate resolutions (for all sets of sub-events), one can do the following:

    root -l -b -q res2.C'()'

The macro will print out and plot the needed values. One should copy and paste them into FlowANA.C macro (lines 720-725). After that step, the correct resolution values are set, and the v1, v2 measurements can be done.

2. Anisotropic flow measurements

This step is similar to the previous one:

    root -l -b -q main_proc.C+'("<path>/filelist","output_flow.root")'

Plots of the results

1. Resolution correction factor

One can plot the centrality dependence of resolution correction factors as a set of TGraphErrors using ReadRes.C macro:

    root -l -b -q ReadRes.C'("output_resolution.root")'

2. Anisotropic flow measurements

The example of how to plot v2(pT) dependences in TGraphErrors (and save them to the ROOT file) is shown in ReadFlow.C macro:

    root -l -b -q ReadFlow.C'("output_flow.root")'

The resulting TGraphErrors will be saved in v2_graphs.root ROOT file together with v2_cent1040.pdf.