Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ALICE 3: Add xicc injector for pp and PbPb #1688

Merged
merged 10 commits into from
Jul 29, 2024
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions MC/config/ALICE3/ini/tests/xicc_PbPb.C
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
int External()
{
std::string path{"o2sim_Kine.root"};

TFile file(path.c_str(), "READ");
if (file.IsZombie()) {
std::cerr << "Cannot open ROOT file " << path << "\n";
return 1;
}

auto tree = (TTree *)file.Get("o2sim");
if (!tree) {
std::cerr << "Cannot find tree o2sim in file " << path << "\n";
return 1;
}
std::vector<o2::MCTrack> *tracks{};
tree->SetBranchAddress("MCTrack", &tracks);

auto nEvents = tree->GetEntries();
auto nSelected = tree->Scan("MCTrack.GetPdgCode()", "MCTrack.GetPdgCode() == 4422");
if (nSelected == 0) {
std::cerr << "No event of interest\n";
return 1;
}
return 0;
}
26 changes: 26 additions & 0 deletions MC/config/ALICE3/ini/tests/xicc_pp.C
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
int External()
{
std::string path{"o2sim_Kine.root"};

TFile file(path.c_str(), "READ");
if (file.IsZombie()) {
std::cerr << "Cannot open ROOT file " << path << "\n";
return 1;
}

auto tree = (TTree *)file.Get("o2sim");
if (!tree) {
std::cerr << "Cannot find tree o2sim in file " << path << "\n";
return 1;
}
std::vector<o2::MCTrack> *tracks{};
tree->SetBranchAddress("MCTrack", &tracks);

auto nEvents = tree->GetEntries();
auto nSelected = tree->Scan("MCTrack.GetPdgCode()", "MCTrack.GetPdgCode() == 4422");
if (nSelected == 0) {
std::cerr << "No event of interest\n";
return 1;
}
return 0;
}
6 changes: 6 additions & 0 deletions MC/config/ALICE3/ini/xicc_PbPb.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
[GeneratorExternal]
fileName=${O2DPG_ROOT}/MC/config/ALICE3/pythia8/generator_pythia8_gun_PbPb.C
funcName=generateNativeXiCC()

[GeneratorPythia8]
config=${O2DPG_ROOT}/MC/config/ALICE3/pythia8/generator/config_custom_xicc.cfg
6 changes: 6 additions & 0 deletions MC/config/ALICE3/ini/xicc_pp.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
[GeneratorExternal]
fileName=${O2DPG_ROOT}/MC/config/ALICE3/pythia8/generator_pythia8_gun_pp.C
funcName=generateNativeXiCC()

[GeneratorPythia8]
config=${O2DPG_ROOT}/MC/config/ALICE3/pythia8/generator/config_custom_xicc.cfg
51 changes: 51 additions & 0 deletions MC/config/ALICE3/pythia8/generator/config_custom_xicc.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
### Xi_c
#4232:all = Xic+ Xic- 2 3 0 2.46793 0. 0. 0. 10
4422:all = XiCC AntiXiCC 2 6 0 3.6212 0. 0. 0. 10

### Omega_c
#4332:all = Omega_c0 Omega_cbar0 2 0 0 2.69520 0. 0. 0. 10
4432:all = Omega_cc Omega_ccbar 2 3 0 3.746 0. 0. 0. 10
4444:all = Omega_ccc Omega_cccbar 4 6 0 4.797 0. 0. 0. 10

ProcessLevel:all = off

### changing the ctau value in mm/c
### use scaling based on Lambda, Xi, Omega progression
4332:tau0=0.08000000000
4432:tau0=0.04980000000
4444:tau0=0.02496000000
4422:tau0=0.07675
4232:tau0=0.132

### add OmegaC decay absent in PYTHIA8 decay table
4332:addChannel = 1 1 0 3334 211
4432:addChannel = 1 1 0 4332 211
4444:oneChannel = 1 1 0 4432 211

4422:addChannel = 1 1 0 4232 211
4422:onMode = off
4422:onIfMatch = 4232 211

### add OmegaC decay absent in PYTHIA8 decay table
4232:addChannel = 1 0.0001 0 3312 211 211
4232:onMode = off
4232:onIfMatch = 3312 211 211

### force the OmegaC to decay in the Omega_c -> Omega pi channel
4332:onMode = off
4332:onIfMatch = 3334 211
4432:onMode = off
4432:onIfMatch = 4332 211
4444:onMode = off
4444:onIfMatch = 4432 211

#boundless decays
ParticleDecays:limitTau0 off

#do other decays via geant3, etc
310:onMode = off
3122:onMode = off
3112:onMode = off
3222:onMode = off
3312:onMode = off
3334:onMode = off
21 changes: 21 additions & 0 deletions MC/config/ALICE3/pythia8/generator/pythia8_hi.cmnd
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
### beams
Beams:idA 1000822080 # Pb
Beams:idB 1000822080 # Pb
Beams:eCM 5520. # GeV

### heavy-ion settings (valid for Pb-Pb 5520 only)
HeavyIon:SigFitNGen = 0
HeavyIon:SigFitDefPar = 13.88,1.84,0.22,0.0,0.0,0.0,0.0,0.0
HeavyIon:bWidth = 14.48

### processes (apparently not to be defined)

### decays
ParticleDecays:limitTau0 on
ParticleDecays:tau0Max 0.001

! 2) Seed settings
! Seed is set inside the generator
! If run on the grid, seed is set to job id
! If run locally, seed is set to 0
Random:setSeed = on ! Random seed on
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We may no longer need the seeding part. All o2::eventgen::GeneratorPythia8 will be seeded automatically from now on.

61 changes: 61 additions & 0 deletions MC/config/ALICE3/pythia8/generator/pythia8_pp.cmnd
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
! WithMPI_MPIBased.cmnd.
! This file contains the More QCD scheme colour reconnection settings scenario
! to be read in for a Pythia8 run.
! Lines beginning with a "!" are comments.
! Author: Renan Acconcia

!pythia default
!Last update: 01/08/2018
!Only Inelastic events: INEL

! 1) Settings related to output in init(), next() and stat().
Init:showChangedSettings = on ! list changed settings
!Init:showChangedParticleData = off ! list changed particle data
!Next:numberCount = 0 ! print message every n events
!Next:numberShowInfo = 0 ! print event information n times
!Next:numberShowProcess = 1 ! print process record n times
!Next:numberShowEvent = 1 ! print event record n times

! 2) Seed settings
! Seed is set inside the generator
! If run on the grid, seed is set to job id
! If run locally, seed is set to 0
Random:setSeed = on ! Random seed on

! 3) Tunes settings
! Tune:preferLHAPDF = 2 ! Using LHAPDF 6
StringPT:sigma = 0.335
StringZ:aLund = 0.36
StringZ:bLund = 0.56
StringFlav:probQQtoQ = 0.078
StringFlav:ProbStoUD = 0.2
StringFlav:probQQ1toQQ0join = 0.0275,0.0275,0.0275,0.0275

MultiPartonInteractions:pT0Ref = 2.12

BeamRemnants:remnantMode = 1
BeamRemnants:saturation = 5

ColourReconnection:mode = 1
ColourReconnection:allowDoubleJunRem = off
ColourReconnection:m0 = 2.9
ColourReconnection:allowJunctions = on
ColourReconnection:junctionCorrection = 1.43
ColourReconnection:timeDilationMode = 0

! 5) Settings for the softQCD-process generation. NSD scenario.
SoftQCD:nonDiffractive = on ! Non Diffractive on
SoftQCD:singleDiffractive = on ! Single Diffractive on
SoftQCD:doubleDiffractive = on ! Double Diffractive on
SoftQCD:centralDiffractive = on ! Central Diffractive on
SoftQCD:elastic = off ! Elastic off

! 6) Decay Supression
ParticleDecays:limitTau0 = on ! Only particles with tau0 < tau0Max are decayed.
ParticleDecays:tau0Max = 0.001 ! Tau0Max = 3. mm/c

! 7) Beam parameter settings. Values below agree with default ones.
!this is default do not need to be specified
Beams:idA = 2212 ! first beam, p = 2212, pbar = -2212
Beams:idB = 2212 ! second beam, p = 2212, pbar = -2212
Beams:eCM = 14000.0 //energy
Loading