Skip to content

Commit 9bd89aa

Browse files
authored
Streamline LF injector/GT, add eta window trigger (#1247)
* Streamline LF injector/GT, add eta window trigger * Add 900 GeV triggered for strangeness studies * Use const members * Add json support
1 parent 956a378 commit 9bd89aa

8 files changed

Lines changed: 292 additions & 92 deletions
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
[GeneratorExternal]
2+
fileName=${O2DPG_ROOT}/MC/config/PWGLF/pythia8/generator_pythia8_LF.C
3+
# funcName=generateLFTriggered("${O2DPG_ROOT}/MC/config/PWGLF/pythia8/generator/strangeparticlelist.gun", 0)
4+
funcName=generateLFTriggered("${O2DPG_ROOT}/MC/config/PWGLF/pythia8/generator/strangeparticlelist.gun", 4)
5+
6+
[GeneratorPythia8] # if triggered then this will be used as the background event
7+
config=${O2DPG_ROOT}/MC/config/PWGLF/pythia8/generator/pythia8_inel_pp900gev.cfg
8+
9+
[DecayerPythia8]
10+
config[0]=${O2DPG_ROOT}/MC/config/common/pythia8/decayer/base.cfg
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
int External()
2+
{
3+
std::string path{"o2sim_Kine.root"};
4+
int numberOfInjectedSignalsPerEvent{1};
5+
std::vector<int> injectedPDGs = {
6+
3334,
7+
-3334,
8+
3312,
9+
-3312};
10+
11+
auto nInjection = injectedPDGs.size();
12+
13+
TFile file(path.c_str(), "READ");
14+
if (file.IsZombie()) {
15+
std::cerr << "Cannot open ROOT file " << path << "\n";
16+
return 1;
17+
}
18+
19+
auto tree = (TTree*)file.Get("o2sim");
20+
if (!tree) {
21+
std::cerr << "Cannot find tree o2sim in file " << path << "\n";
22+
return 1;
23+
}
24+
std::vector<o2::MCTrack>* tracks{};
25+
tree->SetBranchAddress("MCTrack", &tracks);
26+
27+
std::vector<int> nSignal;
28+
for (int i = 0; i < nInjection; i++) {
29+
nSignal.push_back(0);
30+
}
31+
32+
auto nEvents = tree->GetEntries();
33+
for (int i = 0; i < nEvents; i++) {
34+
auto check = tree->GetEntry(i);
35+
for (int idxMCTrack = 0; idxMCTrack < tracks->size(); ++idxMCTrack) {
36+
auto track = tracks->at(idxMCTrack);
37+
auto pdg = track.GetPdgCode();
38+
auto it = std::find(injectedPDGs.begin(), injectedPDGs.end(), pdg);
39+
int index = std::distance(injectedPDGs.begin(), it); // index of injected PDG
40+
if (it != injectedPDGs.end()) // found
41+
{
42+
// count signal PDG
43+
nSignal[index]++;
44+
}
45+
}
46+
}
47+
std::cout << "--------------------------------\n";
48+
std::cout << "# Events: " << nEvents << "\n";
49+
for (int i = 0; i < nInjection; i++) {
50+
std::cout << "# Injected nuclei \n";
51+
std::cout << injectedPDGs[i] << ": " << nSignal[i] << "\n";
52+
if (nSignal[i] == 0) {
53+
std::cerr << "No generated: " << injectedPDGs[i] << "\n";
54+
return 1; // At least one of the injected particles should be generated
55+
}
56+
}
57+
return 0;
58+
}
Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
# PDG N ptMin ptMax genDecayed
2-
1000010020 10 0.2 10
3-
-1000010020 10 0.2 10
4-
1000010030 10 0.2 10
5-
-1000010030 10 0.2 10
6-
1000020030 10 0.2 10
7-
-1000020030 10 0.2 10
8-
1000020040 10 0.2 10
9-
-1000020040 10 0.2 10
1+
# PDG N ptMin ptMax etaMin etaMax genDecayed
2+
1000010020 10 0.2 10 -1.2 1.2
3+
-1000010020 10 0.2 10 -1.2 1.2
4+
1000010030 10 0.2 10 -1.2 1.2
5+
-1000010030 10 0.2 10 -1.2 1.2
6+
1000020030 10 0.2 10 -1.2 1.2
7+
-1000020030 10 0.2 10 -1.2 1.2
8+
1000020040 10 0.2 10 -1.2 1.2
9+
-1000020040 10 0.2 10 -1.2 1.2
Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
1-
# PDG N ptMin ptMax DecayByGenerator
2-
313 10 0.2 10 genDecayed
3-
-313 10 0.2 10 genDecayed
4-
323 10 0.2 10 genDecayed
5-
-323 10 0.2 10 genDecayed
6-
333 10 0.2 10 genDecayed
7-
9010221 10 0.2 10 genDecayed
8-
113 10 0.2 10 genDecayed
9-
213 10 0.2 10 genDecayed
10-
-213 10 0.2 10 genDecayed
11-
3114 10 0.2 10 genDecayed
12-
-3114 10 0.2 10 genDecayed
13-
3224 10 0.2 10 genDecayed
14-
-3224 10 0.2 10 genDecayed
15-
3124 10 0.2 10 genDecayed
16-
-3124 10 0.2 10 genDecayed
17-
3324 10 0.2 10 genDecayed
18-
-3324 10 0.2 10 genDecayed
19-
10323 10 0.2 10 genDecayed
20-
-10323 10 0.2 10 genDecayed
1+
# PDG N ptMin ptMax etaMin etaMax DecayByGenerator
2+
313 10 0.2 10 -1.2 1.2 genDecayed
3+
-313 10 0.2 10 -1.2 1.2 genDecayed
4+
323 10 0.2 10 -1.2 1.2 genDecayed
5+
-323 10 0.2 10 -1.2 1.2 genDecayed
6+
333 10 0.2 10 -1.2 1.2 genDecayed
7+
9010221 10 0.2 10 -1.2 1.2 genDecayed
8+
113 10 0.2 10 -1.2 1.2 genDecayed
9+
213 10 0.2 10 -1.2 1.2 genDecayed
10+
-213 10 0.2 10 -1.2 1.2 genDecayed
11+
3114 10 0.2 10 -1.2 1.2 genDecayed
12+
-3114 10 0.2 10 -1.2 1.2 genDecayed
13+
3224 10 0.2 10 -1.2 1.2 genDecayed
14+
-3224 10 0.2 10 -1.2 1.2 genDecayed
15+
3124 10 0.2 10 -1.2 1.2 genDecayed
16+
-3124 10 0.2 10 -1.2 1.2 genDecayed
17+
3324 10 0.2 10 -1.2 1.2 genDecayed
18+
-3324 10 0.2 10 -1.2 1.2 genDecayed
19+
10323 10 0.2 10 -1.2 1.2 genDecayed
20+
-10323 10 0.2 10 -1.2 1.2 genDecayed
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
# PDG N ptMin ptMax genDecayed
2-
3334 1 0.2 10
3-
-3334 1 0.2 10
4-
3312 1 0.2 10
5-
-3312 1 0.2 10
1+
# PDG N ptMin ptMax etaMin etaMax genDecayed
2+
3334 1 0.2 10 -1.2 1.2
3+
-3334 1 0.2 10 -1.2 1.2
4+
3312 1 0.2 10 -1.2 1.2
5+
-3312 1 0.2 10 -1.2 1.2
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
{
2+
"omega-": {
3+
"pdg": 3334,
4+
"n": 1,
5+
"ptMin": 0.2,
6+
"ptMax": 10,
7+
"etaMin": -1.2,
8+
"etaMax": 1.2,
9+
"genDecayed": false
10+
},
11+
"antiomega+": {
12+
"pdg": -3334,
13+
"n": 1,
14+
"ptMin": 0.2,
15+
"ptMax": 10,
16+
"etaMin": -1.2,
17+
"etaMax": 1.2,
18+
"genDecayed": false
19+
},
20+
"xi-": {
21+
"pdg": 3312,
22+
"n": 1,
23+
"ptMin": 0.2,
24+
"ptMax": 10,
25+
"etaMin": -1.2,
26+
"etaMax": 1.2,
27+
"genDecayed": false
28+
},
29+
"antixi+": {
30+
"pdg": -3312,
31+
"n": 1,
32+
"ptMin": 0.2,
33+
"ptMax": 10,
34+
"etaMin": -1.2,
35+
"etaMax": 1.2,
36+
"genDecayed": false
37+
}
38+
}

0 commit comments

Comments
 (0)