Skip to content
Merged
Show file tree
Hide file tree
Changes from all 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
10 changes: 10 additions & 0 deletions MC/config/PWGLF/ini/GeneratorLFStrangenessTriggered_900gev.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
[GeneratorExternal]
fileName=${O2DPG_ROOT}/MC/config/PWGLF/pythia8/generator_pythia8_LF.C
# funcName=generateLFTriggered("${O2DPG_ROOT}/MC/config/PWGLF/pythia8/generator/strangeparticlelist.gun", 0)
funcName=generateLFTriggered("${O2DPG_ROOT}/MC/config/PWGLF/pythia8/generator/strangeparticlelist.gun", 4)

[GeneratorPythia8] # if triggered then this will be used as the background event
config=${O2DPG_ROOT}/MC/config/PWGLF/pythia8/generator/pythia8_inel_pp900gev.cfg

[DecayerPythia8]
config[0]=${O2DPG_ROOT}/MC/config/common/pythia8/decayer/base.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
int External()
{
std::string path{"o2sim_Kine.root"};
int numberOfInjectedSignalsPerEvent{1};
std::vector<int> injectedPDGs = {
3334,
-3334,
3312,
-3312};

auto nInjection = injectedPDGs.size();

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);

std::vector<int> nSignal;
for (int i = 0; i < nInjection; i++) {
nSignal.push_back(0);
}

auto nEvents = tree->GetEntries();
for (int i = 0; i < nEvents; i++) {
auto check = tree->GetEntry(i);
for (int idxMCTrack = 0; idxMCTrack < tracks->size(); ++idxMCTrack) {
auto track = tracks->at(idxMCTrack);
auto pdg = track.GetPdgCode();
auto it = std::find(injectedPDGs.begin(), injectedPDGs.end(), pdg);
int index = std::distance(injectedPDGs.begin(), it); // index of injected PDG
if (it != injectedPDGs.end()) // found
{
// count signal PDG
nSignal[index]++;
}
}
}
std::cout << "--------------------------------\n";
std::cout << "# Events: " << nEvents << "\n";
for (int i = 0; i < nInjection; i++) {
std::cout << "# Injected nuclei \n";
std::cout << injectedPDGs[i] << ": " << nSignal[i] << "\n";
if (nSignal[i] == 0) {
std::cerr << "No generated: " << injectedPDGs[i] << "\n";
return 1; // At least one of the injected particles should be generated
}
}
return 0;
}
18 changes: 9 additions & 9 deletions MC/config/PWGLF/pythia8/generator/nuclei.gun
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# PDG N ptMin ptMax genDecayed
1000010020 10 0.2 10
-1000010020 10 0.2 10
1000010030 10 0.2 10
-1000010030 10 0.2 10
1000020030 10 0.2 10
-1000020030 10 0.2 10
1000020040 10 0.2 10
-1000020040 10 0.2 10
# PDG N ptMin ptMax etaMin etaMax genDecayed
1000010020 10 0.2 10 -1.2 1.2
-1000010020 10 0.2 10 -1.2 1.2
1000010030 10 0.2 10 -1.2 1.2
-1000010030 10 0.2 10 -1.2 1.2
1000020030 10 0.2 10 -1.2 1.2
-1000020030 10 0.2 10 -1.2 1.2
1000020040 10 0.2 10 -1.2 1.2
-1000020040 10 0.2 10 -1.2 1.2
40 changes: 20 additions & 20 deletions MC/config/PWGLF/pythia8/generator/resonancelist.gun
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
# PDG N ptMin ptMax DecayByGenerator
313 10 0.2 10 genDecayed
-313 10 0.2 10 genDecayed
323 10 0.2 10 genDecayed
-323 10 0.2 10 genDecayed
333 10 0.2 10 genDecayed
9010221 10 0.2 10 genDecayed
113 10 0.2 10 genDecayed
213 10 0.2 10 genDecayed
-213 10 0.2 10 genDecayed
3114 10 0.2 10 genDecayed
-3114 10 0.2 10 genDecayed
3224 10 0.2 10 genDecayed
-3224 10 0.2 10 genDecayed
3124 10 0.2 10 genDecayed
-3124 10 0.2 10 genDecayed
3324 10 0.2 10 genDecayed
-3324 10 0.2 10 genDecayed
10323 10 0.2 10 genDecayed
-10323 10 0.2 10 genDecayed
# PDG N ptMin ptMax etaMin etaMax DecayByGenerator
313 10 0.2 10 -1.2 1.2 genDecayed
-313 10 0.2 10 -1.2 1.2 genDecayed
323 10 0.2 10 -1.2 1.2 genDecayed
-323 10 0.2 10 -1.2 1.2 genDecayed
333 10 0.2 10 -1.2 1.2 genDecayed
9010221 10 0.2 10 -1.2 1.2 genDecayed
113 10 0.2 10 -1.2 1.2 genDecayed
213 10 0.2 10 -1.2 1.2 genDecayed
-213 10 0.2 10 -1.2 1.2 genDecayed
3114 10 0.2 10 -1.2 1.2 genDecayed
-3114 10 0.2 10 -1.2 1.2 genDecayed
3224 10 0.2 10 -1.2 1.2 genDecayed
-3224 10 0.2 10 -1.2 1.2 genDecayed
3124 10 0.2 10 -1.2 1.2 genDecayed
-3124 10 0.2 10 -1.2 1.2 genDecayed
3324 10 0.2 10 -1.2 1.2 genDecayed
-3324 10 0.2 10 -1.2 1.2 genDecayed
10323 10 0.2 10 -1.2 1.2 genDecayed
-10323 10 0.2 10 -1.2 1.2 genDecayed
10 changes: 5 additions & 5 deletions MC/config/PWGLF/pythia8/generator/strangeparticlelist.gun
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# PDG N ptMin ptMax genDecayed
3334 1 0.2 10
-3334 1 0.2 10
3312 1 0.2 10
-3312 1 0.2 10
# PDG N ptMin ptMax etaMin etaMax genDecayed
3334 1 0.2 10 -1.2 1.2
-3334 1 0.2 10 -1.2 1.2
3312 1 0.2 10 -1.2 1.2
-3312 1 0.2 10 -1.2 1.2
38 changes: 38 additions & 0 deletions MC/config/PWGLF/pythia8/generator/strangeparticlelistgun.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
{
"omega-": {
"pdg": 3334,
"n": 1,
"ptMin": 0.2,
"ptMax": 10,
"etaMin": -1.2,
"etaMax": 1.2,
"genDecayed": false
},
"antiomega+": {
"pdg": -3334,
"n": 1,
"ptMin": 0.2,
"ptMax": 10,
"etaMin": -1.2,
"etaMax": 1.2,
"genDecayed": false
},
"xi-": {
"pdg": 3312,
"n": 1,
"ptMin": 0.2,
"ptMax": 10,
"etaMin": -1.2,
"etaMax": 1.2,
"genDecayed": false
},
"antixi+": {
"pdg": -3312,
"n": 1,
"ptMin": 0.2,
"ptMax": 10,
"etaMin": -1.2,
"etaMax": 1.2,
"genDecayed": false
}
}
Loading