Skip to content

Commit 2bbbb64

Browse files
committed
Add generator tests for gap-trigger scan
1 parent bc2326e commit 2bbbb64

8 files changed

Lines changed: 345 additions & 0 deletions

MC/config/PWGLF/ini/tests/GeneratorLFCascadesInJets_pp536TeV.C renamed to MC/config/PWGLF/ini/tests/GeneratorLFCascadesInJets_pp536TeV_gap2.C

File renamed without changes.
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: 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: 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+
}

MC/config/PWGLF/ini/tests/GeneratorLFV0sInJets_pp536TeV.C renamed to MC/config/PWGLF/ini/tests/GeneratorLFV0sInJets_pp536TeV_gap2.C

File renamed without changes.
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
int External()
2+
{
3+
std::string path{"o2sim_Kine.root"};
4+
int numberOfInjectedSignalsPerEvent{1};
5+
std::vector<int> injectedPDGs = {
6+
310, // K0S
7+
3122, // Lambda
8+
-3122 // Anti-Lambda
9+
};
10+
auto nInjection = injectedPDGs.size();
11+
12+
TFile file(path.c_str(), "READ");
13+
if (file.IsZombie()) {
14+
std::cerr << "Cannot open ROOT file " << path << "\n";
15+
return 1;
16+
}
17+
18+
auto tree = (TTree*)file.Get("o2sim");
19+
if (!tree) {
20+
std::cerr << "Cannot find tree o2sim in file " << path << "\n";
21+
return 1;
22+
}
23+
std::vector<o2::MCTrack>* tracks{};
24+
tree->SetBranchAddress("MCTrack", &tracks);
25+
26+
std::vector<int> nSignal;
27+
for (int i = 0; i < nInjection; i++) {
28+
nSignal.push_back(0);
29+
}
30+
31+
auto nEvents = tree->GetEntries();
32+
for (int i = 0; i < nEvents; i++) {
33+
auto check = tree->GetEntry(i);
34+
for (int idxMCTrack = 0; idxMCTrack < tracks->size(); ++idxMCTrack) {
35+
auto track = tracks->at(idxMCTrack);
36+
auto pdg = track.GetPdgCode();
37+
auto it = std::find(injectedPDGs.begin(), injectedPDGs.end(), pdg);
38+
int index = std::distance(injectedPDGs.begin(), it); // index of injected PDG
39+
if (it != injectedPDGs.end()) // found
40+
{
41+
// count signal PDG
42+
nSignal[index]++;
43+
}
44+
}
45+
}
46+
std::cout << "--------------------------------\n";
47+
std::cout << "# Events: " << nEvents << "\n";
48+
for (int i = 0; i < nInjection; i++) {
49+
std::cout << "# Injected nuclei \n";
50+
std::cout << injectedPDGs[i] << ": " << nSignal[i] << "\n";
51+
if (nSignal[i] == 0) {
52+
std::cerr << "No generated: " << injectedPDGs[i] << "\n";
53+
return 1; // At least one of the injected particles should be generated
54+
}
55+
}
56+
return 0;
57+
}
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
int External()
2+
{
3+
std::string path{"o2sim_Kine.root"};
4+
int numberOfInjectedSignalsPerEvent{1};
5+
std::vector<int> injectedPDGs = {
6+
310, // K0S
7+
3122, // Lambda
8+
-3122 // Anti-Lambda
9+
};
10+
auto nInjection = injectedPDGs.size();
11+
12+
TFile file(path.c_str(), "READ");
13+
if (file.IsZombie()) {
14+
std::cerr << "Cannot open ROOT file " << path << "\n";
15+
return 1;
16+
}
17+
18+
auto tree = (TTree*)file.Get("o2sim");
19+
if (!tree) {
20+
std::cerr << "Cannot find tree o2sim in file " << path << "\n";
21+
return 1;
22+
}
23+
std::vector<o2::MCTrack>* tracks{};
24+
tree->SetBranchAddress("MCTrack", &tracks);
25+
26+
std::vector<int> nSignal;
27+
for (int i = 0; i < nInjection; i++) {
28+
nSignal.push_back(0);
29+
}
30+
31+
auto nEvents = tree->GetEntries();
32+
for (int i = 0; i < nEvents; i++) {
33+
auto check = tree->GetEntry(i);
34+
for (int idxMCTrack = 0; idxMCTrack < tracks->size(); ++idxMCTrack) {
35+
auto track = tracks->at(idxMCTrack);
36+
auto pdg = track.GetPdgCode();
37+
auto it = std::find(injectedPDGs.begin(), injectedPDGs.end(), pdg);
38+
int index = std::distance(injectedPDGs.begin(), it); // index of injected PDG
39+
if (it != injectedPDGs.end()) // found
40+
{
41+
// count signal PDG
42+
nSignal[index]++;
43+
}
44+
}
45+
}
46+
std::cout << "--------------------------------\n";
47+
std::cout << "# Events: " << nEvents << "\n";
48+
for (int i = 0; i < nInjection; i++) {
49+
std::cout << "# Injected nuclei \n";
50+
std::cout << injectedPDGs[i] << ": " << nSignal[i] << "\n";
51+
if (nSignal[i] == 0) {
52+
std::cerr << "No generated: " << injectedPDGs[i] << "\n";
53+
return 1; // At least one of the injected particles should be generated
54+
}
55+
}
56+
return 0;
57+
}
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
int External()
2+
{
3+
std::string path{"o2sim_Kine.root"};
4+
int numberOfInjectedSignalsPerEvent{1};
5+
std::vector<int> injectedPDGs = {
6+
310, // K0S
7+
3122, // Lambda
8+
-3122 // Anti-Lambda
9+
};
10+
auto nInjection = injectedPDGs.size();
11+
12+
TFile file(path.c_str(), "READ");
13+
if (file.IsZombie()) {
14+
std::cerr << "Cannot open ROOT file " << path << "\n";
15+
return 1;
16+
}
17+
18+
auto tree = (TTree*)file.Get("o2sim");
19+
if (!tree) {
20+
std::cerr << "Cannot find tree o2sim in file " << path << "\n";
21+
return 1;
22+
}
23+
std::vector<o2::MCTrack>* tracks{};
24+
tree->SetBranchAddress("MCTrack", &tracks);
25+
26+
std::vector<int> nSignal;
27+
for (int i = 0; i < nInjection; i++) {
28+
nSignal.push_back(0);
29+
}
30+
31+
auto nEvents = tree->GetEntries();
32+
for (int i = 0; i < nEvents; i++) {
33+
auto check = tree->GetEntry(i);
34+
for (int idxMCTrack = 0; idxMCTrack < tracks->size(); ++idxMCTrack) {
35+
auto track = tracks->at(idxMCTrack);
36+
auto pdg = track.GetPdgCode();
37+
auto it = std::find(injectedPDGs.begin(), injectedPDGs.end(), pdg);
38+
int index = std::distance(injectedPDGs.begin(), it); // index of injected PDG
39+
if (it != injectedPDGs.end()) // found
40+
{
41+
// count signal PDG
42+
nSignal[index]++;
43+
}
44+
}
45+
}
46+
std::cout << "--------------------------------\n";
47+
std::cout << "# Events: " << nEvents << "\n";
48+
for (int i = 0; i < nInjection; i++) {
49+
std::cout << "# Injected nuclei \n";
50+
std::cout << injectedPDGs[i] << ": " << nSignal[i] << "\n";
51+
if (nSignal[i] == 0) {
52+
std::cerr << "No generated: " << injectedPDGs[i] << "\n";
53+
return 1; // At least one of the injected particles should be generated
54+
}
55+
}
56+
return 0;
57+
}

0 commit comments

Comments
 (0)