This repository documents the code used in the analysis of my paper on how to avoid measuring false fluctuations signals. The paper used UrQMD simulations of Au+Au collisions at
This code was written to be run on Brookhaven National Lab's RCF computing clusters.
Before making any paper figures, you first need to generate UrQMD samples.
setup 64bits
cd generateUrQMD/Change the number of jobs in conf.mk, line 2. Each job simulates 8000 collisions.
Set the collision center-of-mass energy per nucleon in urqmd.cc line 54.
rm nohup.out
make
make clone
nohup ./queue_daemon > nohup.out &Once all the jobs have finished, run
bash pull_data.shAnd check that the root files are in the directory roots/
Our UrQMD files are now generated and we can move on to processing them.
This section describes how to generate the figures in the paper
First create event trees of proton number given pT and y cuts, refMult3, nPart, and impact parameter.
setup 32bits
cd generateTrees/Update the energy in EnergyConfig.h.
Clean the directory.
./clean.shAnd compile:
makeNow generate the file list of UrQMD files you generated:
realpath ../generateUrQMD/roots/*.root > UrQMD.list
Check that the file list name in each of the Analysis*.xml files matches this name.
Update the paths in Analysis*.xml.
All of these figures use a 0.2 percent (fraction=0.002) pileup rate. Make sure you ran make as instructed above, and do:
./submitSinglePileupRate.shThis generates files in outdir/. We need to combine these, excluding TTrees:
hadd -T PileupFigures.root outdir/*0.002pileupRate.rootThis file contains several histograms.
- The histogram to reproduce Figure 1 is named
refMult3AndProtons_all - The histograms for Figure 6 are named
refMult3_0(no pileup) andrefMult3_1(with pileup). - The baseline TH2 in Figure 7 is named
refMult3AndProtons_all. The AB panel is supplemented withrefMult3AndProtons_singledouble, the BA panel is supplemented withrefMult3AndProtons_doublesingle, and the BB panel is supplemented withrefMult3AndProtons_doubledouble. - The histograms for the left side of Figure 9 are named
npAA,npAB,npBA, andnpBB. - The analysis window shown on the right side of Figure 10 is contained in the histogram titled
hpT_y.
To calculate the cumulants for the right side of Figure 9, and the left side of Figure 10, do the following:
cd ../calculateCumulants/
setup 64bits
cp calc_toymodel1.cc calc.cc
makeCreate a filelist with the root files generated in the previous step:
realpath ../generateTrees/outdir/*0.002pileupRate.root > file.listTo generate the cumulants that went into the right side of Figure 9, do
./run 0for panel AA./run 1for panel AB./run 2for panel BA./run 3for panel BB
To generate the cumulants used in the left side of Figure 10, do
./run 0for the truth./run 8for p>1.5GeV./run 9for p>1.6GeV./run 10for p>1.7GeV./run 11for p>1.8GeV./run 12for p>1.9GeV
First create event trees of proton number given pT and y cuts, refMult3, nPart, and impact parameter.
setup 32bits
cd generateTrees/Update the energy in EnergyConfig.h.
Clean the directory.
./clean.shAnd compile:
makeNow generate the file list of UrQMD files you generated:
realpath ../generateUrQMD/roots/*.root > UrQMD.list
Check that the file list name in each of the Analysis*.xml files matches this name.
Update the paths in Analysis*.xml.
All of these figures use a 1 percent (fraction=0.01) detector failure rate. Make sure you ran make as instructed above, and do:
./submitSingleFailureRate.shThis generates files in outdir/. We need to combine these, excluding TTrees:
hadd -T FailureFigures.root outdir/*0.01failureRate.rootThis file contains several histograms.
- The baseline TH2 in Figure 7 is named
refMult3AndProtons_all. The AB panel is supplemented withrefMult3AndProtons_godbad, the BA panel is supplemented withrefMult3AndProtons_badgod, and the BB panel is supplemented withrefMult3AndProtons_badbad. - The histograms for the left side of Figure 12 are named
npAA,npAB,npBA, andnpBB. - The analysis window shown on the right side of Figure 13 is contained in the histogram titled
hpT_y.
To calculate the cumulants for the right side of Figure 12, and the left side of Figure 13, do the following:
cd ../calculateCumulants/
setup 64bits
cp calc_toymodel2.cc calc.cc
makeCreate a filelist with the root files generated in the previous step:
realpath ../generateTrees/outdir/*0.01failureRate.root > file.listTo generate the cumulants that went into the right side of Figure 12, do
./run 0for panel AA./run 1for panel AB./run 2for panel BA./run 3for panel BB
To generate the cumulants used in the left side of Figure 13, do
./run 0for the truth./run 11for p>1.7GeV./run 12for p>1.8GeV./run 13for p>1.9GeV./run 14for p>2.0GeV./run 15for p>2.1GeV
First generate trees:
setup 32bits
cd generateTrees/Clean the directory.
./clean.shAnd compile:
makeCheck that the file list name in each of the Analysis*.xml files matches this name.
Update the paths in Analysis*.xml.
To generate the histograms used in Figure 2 of the paper, make sure you ran make as instructed above, and do:
./Calc_Fig2Check for the output root file: outdir/Figure2Sample.root.
The histograms in Figure 2 had about 500k samples each. The normal histogram is named gausProtons, and the leptokurtotic one is named kurtoticProtons. Draw these on the same canvas to reproduce the figure.
To calculate the cumulants, set up with:
cd ../calculateCumulants/
setup 64bits
cp calc_fig2.cc calc.cc
makeCreate a filelist with just the root file from the previous step:
realpath ../generateTrees/outdir/Figure2Sample.* > file.listTo calculate the cumulants for the gaussian histogram do:
./run 0To calculate the cumulants for the leptokurtotic histogram do:
./run 1The pileup fractions used in Figure 11 were:
- 0.00001
- 0.00002
- 0.00005
- 0.0001
- 0.0002
- 0.0005
- 0.001
- 0.002
- 0.005
- 0.01
First create event trees of proton number given pT and y cuts, refMult3, nPart, and impact parameter.
setup 32bits
cd generateTrees/Update the energy in EnergyConfig.h.
Clean the directory.
./clean.shAnd compile:
makeNow generate the file list of UrQMD files you generated:
realpath ../generateUrQMD/roots/*.root > UrQMD.list
Check that the file list name in each of the Analysis*.xml files matches this name.
Update the paths in Analysis*.xml.
Make sure you ran make as instructed above, and do:
./submitPileupScan.shOnce all the jobs have finished, calculate the cumulants by doing the following:
cd ../calculateCumulants/
setup 64bits
cp calc_toymodel1.cc calc.cc
makeNo need to create a new filelist or delete an old one. Just do
nohup ./submitPileupScan.sh > nohup_pileupscan.out &The output files are in the Output directory.
The failure rates used in Figure 14 were:
- 0.00001
- 0.00002
- 0.00005
- 0.0001
- 0.0002
- 0.0005
- 0.001
- 0.002
- 0.005
- 0.01
First create event trees of proton number given pT and y cuts, refMult3, nPart, and impact parameter.
setup 32bits
cd generateTrees/Update the energy in EnergyConfig.h.
Clean the directory.
./clean.shAnd compile:
makeNow generate the file list of UrQMD files you generated:
realpath ../generateUrQMD/roots/*.root > UrQMD.list
Check that the file list name in each of the Analysis*.xml files matches this name.
Update the paths in Analysis*.xml.
Make sure you ran make as instructed above, and do:
./submitFailureScan.shOnce all the jobs have finished, calculate the cumulants by doing the following:
cd ../calculateCumulants/
setup 64bits
cp calc_toymodel2.cc calc.cc
makeNo need to create a new filelist or delete an old one. Just do
nohup ./submitFailureScan.sh > nohup_failurescan.out &The output files are in the Output directory.