Skip to content

Commit 7f27251

Browse files
Add JJ config for gap 3 test production (#2289)
* Fix typo in comment * Add JJ config for gap 3 test production
1 parent 22f8bf4 commit 7f27251

File tree

3 files changed

+81
-1
lines changed

3 files changed

+81
-1
lines changed
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
### jet-jet production with MB Gap 3 for pp anchored to Pb-Pb periods
2+
### The external generator derives from GeneratorPythia8.
3+
[GeneratorExternal]
4+
fileName = ${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGGAJE/external/generator/generator_pythia8_gaptrigger_jets_hook.C
5+
funcName = getGeneratorPythia8GapGenJE(3,"${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGGAJE/pythia8/generator/pythia8_minbias_pp5360GeV.cfg","${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGGAJE/pythia8/generator/pythia8_jet_pp5360GeV.cfg")
6+
7+
[GeneratorPythia8]
8+
config=${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGGAJE/pythia8/generator/pythia8_jet_pp5360GeV.cfg
9+
includePartonEvent=true

MC/config/PWGGAJE/ini/tests/GeneratorJE_gapgen2_hook_pp13600GeV.C

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
int External() {
22
std::string path{"o2sim_Kine.root"};
33

4-
float ratioTrigger = 1./2; // one event triggered out of 5
4+
float ratioTrigger = 1./2; // one event triggered out of 2
55

66

77
TFile file(path.c_str(), "READ");
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
int External() {
2+
std::string path{"o2sim_Kine.root"};
3+
4+
float ratioTrigger = 1./3; // one event triggered out of 3
5+
6+
7+
TFile file(path.c_str(), "READ");
8+
if (file.IsZombie()) {
9+
std::cerr << "Cannot open ROOT file " << path << "\n";
10+
return 1;
11+
}
12+
13+
auto tree = (TTree *)file.Get("o2sim");
14+
std::vector<o2::MCTrack> *tracks{};
15+
tree->SetBranchAddress("MCTrack", &tracks);
16+
o2::dataformats::MCEventHeader *eventHeader = nullptr;
17+
tree->SetBranchAddress("MCEventHeader.", &eventHeader);
18+
19+
int nEventsMB{}, nEventsJetJet{};
20+
float sumWeightsMB{}, sumWeightsJetJet{};
21+
int sumTracks{};
22+
auto nEvents = tree->GetEntries();
23+
24+
for (int i = 0; i < nEvents; i++) {
25+
tree->GetEntry(i);
26+
27+
// check subgenerator information and event weights
28+
if (eventHeader->hasInfo(o2::mcgenid::GeneratorProperty::SUBGENERATORID)) {
29+
bool isValid = false;
30+
int subGeneratorId = eventHeader->getInfo<int>(o2::mcgenid::GeneratorProperty::SUBGENERATORID, isValid);
31+
if (eventHeader->hasInfo(o2::dataformats::MCInfoKeys::weight)) {
32+
float weight = eventHeader->getInfo<float>(o2::dataformats::MCInfoKeys::weight,isValid);
33+
if (subGeneratorId == 0) {
34+
nEventsMB++;
35+
sumWeightsMB += weight;
36+
}
37+
else if (subGeneratorId == 1) {
38+
nEventsJetJet++;
39+
sumWeightsJetJet += weight;
40+
}
41+
}
42+
}
43+
sumTracks += tracks->size();
44+
}
45+
46+
std::cout << "--------------------------------\n";
47+
std::cout << "# Events: " << nEvents << "\n";
48+
std::cout << "# MB events: " << nEventsMB << "\n";
49+
std::cout << " sum of weights for MB events: " << sumWeightsMB << "\n";
50+
std::cout << "# Jet-jet events " << nEventsJetJet << "\n";
51+
std::cout << " sum of weights jet-jet events: " << sumWeightsJetJet << "\n";
52+
std::cout << "# tracks summed over all events (jet-jet + MB): " << sumTracks << "\n";
53+
54+
if (nEventsMB < nEvents * (1 - ratioTrigger) * 0.95 || nEventsMB > nEvents * (1 - ratioTrigger) * 1.05) { // we put some tolerance since the number of generated events is small
55+
std::cerr << "Number of generated MB events different than expected\n";
56+
return 1;
57+
}
58+
if (nEventsJetJet < nEvents * ratioTrigger * 0.95 || nEventsJetJet > nEvents * ratioTrigger * 1.05) {
59+
std::cerr << "Number of jet-jet generated events different than expected\n";
60+
return 1;
61+
}
62+
if(nEventsMB < sumWeightsMB * 0.95 || nEventsMB > sumWeightsMB * 1.05) {
63+
std::cerr << "Weights of MB events do not = 1 as expected\n";
64+
return 1;
65+
}
66+
if(sumTracks < 1) {
67+
std::cerr << "No tracks in simulated events\n";
68+
return 1;
69+
}
70+
return 0;
71+
}

0 commit comments

Comments
 (0)