Skip to content

Commit ae88dc2

Browse files
authored
Merge pull request #32 from JETSCAPE/XSCAPE-1.1.3-RC
Xscape 1.1.3 rc
2 parents de2dfc9 + a920082 commit ae88dc2

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+1971
-60
lines changed

.github/workflows/plot_observables.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ on:
44
push:
55
branches:
66
- main
7-
- XSCAPE-1.1.2-RC
7+
- XSCAPE-1.1.3-RC
88

99
env:
1010
PULL_NUMBER: ${{ github.event.number }}

.github/workflows/smash_test_completes.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@ on:
44
pull_request:
55
branches:
66
- main
7-
- XSCAPE-1.1.2-RC
7+
- XSCAPE-1.1.3-RC
88

99
push:
1010
branches:
1111
- main
12-
- XSCAPE-1.1.2-RC
12+
- XSCAPE-1.1.3-RC
1313

1414
env:
1515
REPO_NAME: ${{ github.event.repository.name }}

.github/workflows/test-build-external.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@ on:
44
pull_request:
55
branches:
66
- main
7-
- XSCAPE-1.1.2-RC
7+
- XSCAPE-1.1.3-RC
88

99
push:
1010
branches:
1111
- main
12-
- XSCAPE-1.1.2-RC
12+
- XSCAPE-1.1.3-RC
1313

1414
env:
1515
REPO_NAME: ${{ github.event.repository.name }}

.github/workflows/test-events-PbPb.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@ on:
44
pull_request:
55
branches:
66
- main
7-
- XSCAPE-1.1.2-RC
7+
- XSCAPE-1.1.3-RC
88

99
push:
1010
branches:
1111
- main
12-
- XSCAPE-1.1.2-RC
12+
- XSCAPE-1.1.3-RC
1313

1414
env:
1515
REPO_NAME: ${{ github.event.repository.name }}

.github/workflows/test-events-Pythia-Isr-Dat.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@ on:
66
pull_request:
77
branches:
88
- main
9-
- XSCAPE-1.1.2-RC
9+
- XSCAPE-1.1.3-RC
1010

1111
push:
1212
branches:
1313
- main
14-
- XSCAPE-1.1.2-RC
14+
- XSCAPE-1.1.3-RC
1515

1616
env:
1717
REPO_NAME: ${{ github.event.repository.name }}

.github/workflows/test-events-Pythia-Isr-Hadron.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@ on:
44
pull_request:
55
branches:
66
- main
7-
- XSCAPE-1.1.2-RC
7+
- XSCAPE-1.1.3-RC
88

99
push:
1010
branches:
1111
- main
12-
- XSCAPE-1.1.2-RC
12+
- XSCAPE-1.1.3-RC
1313

1414
env:
1515
REPO_NAME: ${{ github.event.repository.name }}

.github/workflows/test-events-Pythia-Isr-Parton.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@ on:
44
pull_request:
55
branches:
66
- main
7-
- XSCAPE-1.1.2-RC
7+
- XSCAPE-1.1.3-RC
88

99
push:
1010
branches:
1111
- main
12-
- XSCAPE-1.1.2-RC
12+
- XSCAPE-1.1.3-RC
1313

1414
env:
1515
REPO_NAME: ${{ github.event.repository.name }}

.github/workflows/test-events-brick.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@ on:
44
pull_request:
55
branches:
66
- main
7-
- XSCAPE-1.1.2-RC
7+
- XSCAPE-1.1.3-RC
88
- brick_matter_lbt
99

1010
push:
1111
branches:
1212
- main
13-
- XSCAPE-1.1.2-RC
13+
- XSCAPE-1.1.3-RC
1414
- brick_matter_lbt
1515

1616
env:

.github/workflows/test-events-pp.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@ on:
44
pull_request:
55
branches:
66
- main
7-
- XSCAPE-1.1.2-RC
7+
- XSCAPE-1.1.3-RC
88

99
push:
1010
branches:
1111
- main
12-
- XSCAPE-1.1.2-RC
12+
- XSCAPE-1.1.3-RC
1313

1414
env:
1515
REPO_NAME: ${{ github.event.repository.name }}

README.md

+5-8
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# X-SCAPE 1.1.2
1+
# X-SCAPE 1.1.3
22

33
The X-ion collisions with a Statistically and Computationally Advanced Program Envelope (X-SCAPE) is the enhanced (and 2nd) project of the JETSCAPE
44
collaboration which extends the framework to include small systems created in p-A and p-p collisions, lower energy heavy-ion collisions and electron-Ion collisions.
@@ -75,16 +75,14 @@ An example reading an ascii output file is provided:
7575
./build/readerTest
7676
```
7777

78-
which reads in the generated showers does some DFS search and shows the output. You can generate an output graph format which can be easily visualized using graphViz or other tools like Gephi (GUI for free for Mac) or more advanced, graph-tools (Python) and many more. Furthermore, as a "closure" test, the FastJet core package (compiled in our JetScape library) is used to perform a simple jetfinding (on the "final" partons, in graph language, incoming partons in a vertex with no outgoing partons/childs), and since the "shower" is perfectly collinear the jet pT is identical to the hard process parton pT (modulo some random new partons/roots in the final state, see above).
78+
which reads in the generated showers does some DFS search and shows the output. You can generate an output graph format which can be easily visualized using graphViz or other tools like Gephi (GUI for free for Mac) or more advanced, graph-tools (Python) and many more. Furthermore, as a "closure" test, the FastJet core package (compiled in our JetScape library) is used to perform a simple jetfinding (on the "final" partons, in graph language, incoming partons in a vertex with no outgoing partons/childs), and since the "shower" is perfectly collinear the jet pT is identical to the hard process parton pT (modulo some random new partons/roots in the final state, see above).
7979

8080
## JETSCAPE Tunes
8181

82-
Currently, there exists a pp tune [PP19](https://arxiv.org/abs/1910.05481), which can be run by:
83-
```bash
84-
./runJetscape ../config/jetscape_user_PP19.xml
85-
```
82+
There are several JETSCAPE tunes from publications available.
83+
The XML files to reproduce the results are available in the `config/publications_config` directory.
84+
Please see [JETSCAPE Tunes](config/publications_config/README.md) for more information.
8685

87-
Tuning of Pb-Pb is ongoing.
8886
Several example hydro profiles can be downloaded using `examples/get_hydroSample*`.
8987

9088
## X-SCAPE modules (New)
@@ -243,7 +241,6 @@ More material on the physics behind JETSCAPE and how to use it can be found in t
243241
## Troubleshooting
244242

245243
If you encounter a problem, please report the issue [here](https://github.com/JETSCAPE/JETSCAPE/issues).
246-
Please be sure to include enough information so that we can reproduce your issue: your platform, JETSCAPE version, configuration file, and anything else that may be relevant.
247244

248245
# Contributing
249246

config/jetscape_main.xml

+17-1
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,14 @@
3030
<JetScapeWriterRootHepMC> off </JetScapeWriterRootHepMC>
3131
<JetScapeWriterFinalStatePartonsAscii> off </JetScapeWriterFinalStatePartonsAscii>
3232
<JetScapeWriterFinalStateHadronsAscii> off </JetScapeWriterFinalStateHadronsAscii>
33+
<JetScapeWriterQnVectorAscii>off</JetScapeWriterQnVectorAscii>
34+
<QnVector_pTmin>0</QnVector_pTmin>
35+
<QnVector_pTmax>6</QnVector_pTmax>
36+
<QnVector_NpT>30</QnVector_NpT>
37+
<QnVector_rapmin>-4</QnVector_rapmin>
38+
<QnVector_rapmax>4</QnVector_rapmax>
39+
<QnVector_Nrap>80</QnVector_Nrap>
40+
<QnVector_Norder>7</QnVector_Norder>
3341
<write_pthat> 0 </write_pthat>
3442

3543
<!-- Random Settings. For now, just a global seed. -->
@@ -151,7 +159,8 @@
151159
<matter_on> 1 </matter_on>
152160
<Q0> 2.0 </Q0>
153161
<T0> 0.16 </T0>
154-
<!--if negative vir_factor: parton 3-momentum of hard parton is used to compute initial virtuality in shower; if positive: transverse momentum of parton is used-->
162+
<!--if initial_virtuality_pT == 1: pT of hard parton is used to compute initial virtuality in shower, initial_virtuality_pT == 0: use parton 3-momentum-->
163+
<initial_virtuality_pT> 1 </initial_virtuality_pT>
155164
<vir_factor> 0.25 </vir_factor>
156165
<in_vac> 1 </in_vac>
157166
<recoil_on> 0 </recoil_on>
@@ -236,6 +245,10 @@
236245

237246
<!-- Create liquifier -->
238247
<Liquefier>
248+
<!--threshold_energy_switch = 1, use e_threshold; threshold_energy_switch = 0, use |e_threshold|*T-->
249+
<threshold_energy_switch>1</threshold_energy_switch>
250+
<e_threshold>2.0</e_threshold>
251+
239252
<!-- CausalLiquefier -->
240253
<CausalLiquefier>
241254
<name>CausalLiquefier</name>
@@ -412,6 +425,9 @@
412425
<!-- hadron species list 0: PDG 2005; 1: UrQMD; 2: SMASH -->
413426
<afterburner_type>1</afterburner_type>
414427

428+
<include_deltaf_shear>1</include_deltaf_shear>
429+
<include_deltaf_bulk>1</include_deltaf_bulk>
430+
<deltaf_type>20</deltaf_type>
415431
<number_of_repeated_sampling>1</number_of_repeated_sampling>
416432
<Perform_resonance_decays>1</Perform_resonance_decays>
417433
</iSS>

config/publications_config/README.md

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# JETSCAPE Tunes
2+
3+
Currently, the following tunes are available:
4+
5+
- PP [arXiv:1910.05481](https://arxiv.org/abs/1910.05481)
6+
7+
- AA (soft) [arXiv:2011.01430](https://arxiv.org/pdf/2011.01430)
8+
9+
- AA (hard) [arXiv:2204.01163](https://arxiv.org/pdf/2204.01163)
10+
11+
The different tunes can be run by:
12+
```
13+
./runJetscape ../config/publications_config/arXiv_number/jetscape_user_system_arXiv.xml
14+
```
15+
16+
17+
## Instructions for adding XML files
18+
19+
When a new JETSCAPE paper is published, please add the XML file(s) to `publications_config/arXiv_#` and name the corresponding XML files similar to this one from the PP tune: `jetscape_user_PP_1910.05481.xml`.
20+
Specify the system (PP, AA, PA, ...) and put the arXiv number in the name.
21+
22+
If there is more information needed to reproduce the results an additional `README.md` file can be placed in the directory for the publication.
23+
24+
When XML files are added to the repository, an entry should be added in this file.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# arXiv:2011.01430
2+
3+
The `jetscape_user_AA_2011.01430.xml` file contains one specific parameter set
4+
from the runs in [arXiv:2011.01430](https://arxiv.org/pdf/2011.01430).
5+
See table II in there, which summarizes the MAP parameters for the different runs.
6+
7+
The `cross-section` parameter for Trento has to be 4.2 for 200 GeV and 6.4 for
8+
the 2.76 TeV run.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# arXiv:2102.11337
2+
3+
This XML file requires pre calculated hydro evolutions from file.

external_packages/get_smash.sh

+3-4
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ cd smash/smash_code
2121
mkdir build
2222
cd build
2323
cmake .. -DPythia_CONFIG_EXECUTABLE=${PYTHIA8DIR}/bin/pythia8-config
24-
number_of_cores=`nproc --all`
25-
number_of_cores_to_compile=$(( ${number_of_cores} > 20 ? 20 : ${number_of_cores} ))
26-
echo "Compiling SMASH using ${number_of_cores_to_compile} cores."
27-
make -j${number_of_cores} smash_shared
24+
num_cores=${1:-1}
25+
echo "Compiling SMASH using ${num_cores} cores."
26+
make -j${num_cores} smash_shared

src/CMakeLists.txt

+13
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,19 @@ set (SOURCES ${SOURCES} ${frameworksources} )
1616
# list (REMOVE_ITEM SOURCES ${CMAKE_SOURCE_DIR}/src/framework/JetScapeWriterAsciiGZ.cc)
1717
# endif()
1818

19+
# Include the endian test
20+
include(TestBigEndian)
21+
test_big_endian(IS_BIG_ENDIAN)
22+
23+
# Add endian-specific definitions based on the test result
24+
if(IS_BIG_ENDIAN)
25+
message(STATUS "Big endian architecture detected.")
26+
add_definitions(-DBIG_ENDIAN_ARCHITECTURE)
27+
else()
28+
message(STATUS "Little endian architecture detected.")
29+
add_definitions(-DLITTLE_ENDIAN_ARCHITECTURE)
30+
endif()
31+
1932
if(NOT "${HEPMC_FOUND}")
2033
list (REMOVE_ITEM SOURCES ${CMAKE_SOURCE_DIR}/src/framework/JetScapeWriterHepMC.cc)
2134
endif()

src/framework/JetScape.cc

+3
Original file line numberDiff line numberDiff line change
@@ -803,6 +803,7 @@ void JetScape::DetermineWritersFromXML() {
803803
std::string outputFilenameRootHepMC = outputFilename;
804804
std::string outputFilenameFinalStatePartonsAscii = outputFilename;
805805
std::string outputFilenameFinalStateHadronsAscii = outputFilename;
806+
std::string outputFilenameQnVectorAscii = outputFilename;
806807

807808
// Check if each writer is enabled, and if so add it to the task list
808809
CheckForWriterFromXML("JetScapeWriterAscii",
@@ -817,6 +818,8 @@ void JetScape::DetermineWritersFromXML() {
817818
outputFilenameFinalStatePartonsAscii.append("_final_state_partons.dat"));
818819
CheckForWriterFromXML("JetScapeWriterFinalStateHadronsAscii",
819820
outputFilenameFinalStateHadronsAscii.append("_final_state_hadrons.dat"));
821+
CheckForWriterFromXML("JetScapeWriterQnVectorAscii",
822+
outputFilenameQnVectorAscii.append("_QnVector.dat"));
820823

821824
// Check for custom writers
822825
tinyxml2::XMLElement *element =

src/framework/JetScapeModuleBase.h

-1
Original file line numberDiff line numberDiff line change
@@ -260,7 +260,6 @@ class RegisterJetScapeModule : public JetScapeModuleFactory {
260260
public:
261261
/// Registers the name of the module to map to a function that can create the module
262262
RegisterJetScapeModule(std::string const &s) {
263-
//std::cout << "Registering " << s << " to the map" << std::endl;
264263
getMap()->insert(std::make_pair(s, &createT<T>));
265264
}
266265
};

src/framework/JetScapeParticles.cc

+78
Original file line numberDiff line numberDiff line change
@@ -551,4 +551,82 @@ Photon &Photon::operator=(const Photon &ph) {
551551
return *this;
552552
}
553553

554+
// ---------------
555+
// Qvector (soft particles)
556+
// ---------------
557+
558+
Qvector::Qvector(double pt_min, double pt_max, int npt, double y_min, double y_max, int ny, int norder, int pid, int rapidity_type): pt_min_(pt_min), pt_max_(pt_max), npt_(npt), y_min_(y_min), y_max_(y_max), ny_(ny), ncols_(norder*4+3),norder_(norder), pid_(pid), rapidity_type_(rapidity_type) {
559+
dpt_ = (pt_max - pt_min) / npt ;
560+
dy_ = (y_max - y_min) / ny ;
561+
hist_.resize(npt, std::vector<std::vector<double>>(ny, std::vector<double>(ncols_, 0.0)));
562+
gridpT_.reserve(npt);
563+
gridy_.reserve(ny);
564+
total_num_ = 0;
565+
566+
for (int i = 0; i < npt; ++i) {
567+
gridpT_.push_back(pt_min_ + (i+0.5) * dpt_);
568+
}
569+
570+
for (int i = 0; i < ny; ++i) {
571+
gridy_.push_back(y_min_ + (i+0.5)* dy_);
572+
}
573+
}
574+
575+
void Qvector::fill(double pt_in, double y_in, int col_in, double val) {
576+
int idx = static_cast<int>(floor((pt_in - pt_min_) / dpt_));
577+
int idy = static_cast<int>(floor((y_in - y_min_) / dy_));
578+
if (idx >= 0 && idx < npt_ && idy >= 0 && idy < ny_ && col_in >= 0 && col_in < ncols_) {
579+
hist_[idx][idy][col_in] += val;
580+
if (col_in == 5) total_num_++;
581+
} else {
582+
//std::cerr << "Out of bounds in Qn vector" << std::endl;
583+
}
584+
}
585+
586+
void Qvector::fill_particle(const shared_ptr<Hadron>& h){
587+
double phi= h->phi();
588+
double pT = h->perp();
589+
double y = h->eta();
590+
if(rapidity_type_) y = h->rap();
591+
double Et = h->Et();
592+
593+
fill(pT,y,0,pT);
594+
fill(pT,y,1,pT*pT);
595+
fill(pT,y,2,y);
596+
fill(pT,y,3,y*y);
597+
fill(pT,y,4,Et);
598+
599+
fill(pT,y,5,1);
600+
fill(pT,y,6,1*1);
601+
602+
603+
604+
for(int iorder=1 ; iorder<norder_ ; iorder++){
605+
fill(pT, y, 4*iorder + 3, cos(iorder*phi));
606+
fill(pT, y, 4*iorder + 4, sin(iorder*phi));
607+
fill(pT, y, 4*iorder + 5, cos(iorder*phi)*cos(iorder*phi));
608+
fill(pT, y, 4*iorder + 6, sin(iorder*phi)*sin(iorder*phi));
609+
}
610+
}
611+
612+
double Qvector::get_pt(int idx) const {
613+
if (idx < 0 || idx >= npt_) {
614+
std::cerr << "Index out of bounds in pt array of Qvector" << std::endl;
615+
return -1;
616+
}
617+
return gridpT_[idx];
618+
}
619+
620+
double Qvector::get_y(int idx) const {
621+
if (idx < 0 || idx >= ny_) {
622+
std::cerr << "Index out of bounds in y array of Qvector" << std::endl;
623+
return -1;
624+
}
625+
return gridy_[idx];
626+
}
627+
628+
void Qvector::set_header(std::string a){
629+
header_ = a;
630+
}
631+
554632
} // namespace Jetscape

0 commit comments

Comments
 (0)