Skip to content
3 changes: 3 additions & 0 deletions MC/config/PWGHF/ini/GeneratorHF_D2H_bbbar_Mode2_OmegaC.ini
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
#NEV_TEST> 10
### The external generator derives from GeneratorPythia8.
[GeneratorExternal]
fileName=${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGHF/external/generator/generator_pythia8_gaptriggered_hf.C
funcName=GeneratorPythia8GapTriggeredBeauty(1, -1.5, 1.5, -1.5, 1.5, {4332})

[GeneratorPythia8]
config=${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGHF/pythia8/generator/pythia8_charmhadronic_with_decays_Mode2.cfg
hooksFileName=${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGHF/pythia8/hooks/pythia8_userhooks_qqbar.C
hooksFuncName=pythia8_userhooks_bbbar(-1.5,1.5)
includePartonEvent=true
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
#NEV_TEST> 10
### The external generator derives from GeneratorPythia8.
[GeneratorExternal]
fileName=${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGHF/external/generator/generator_pythia8_gaptriggered_hf.C
funcName=GeneratorPythia8GapTriggeredBeauty(1, -1.5, 1.5, -1.5, 1.5, {4332})

[GeneratorPythia8]
config=${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGHF/pythia8/generator/pythia8_charmhadronic_OmegaC_NoDecay.cfg
hooksFileName=${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGHF/pythia8/hooks/pythia8_userhooks_qqbar.C
hooksFuncName=pythia8_userhooks_bbbar(-1.5,1.5)
includePartonEvent=true
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
#NEV_TEST> 10
### The external generator derives from GeneratorPythia8.
[GeneratorExternal]
fileName=${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGHF/external/generator/generator_pythia8_gaptriggered_hf.C
funcName=GeneratorPythia8GapTriggeredBeauty(1, -1.5, 1.5, -1.5, 1.5, {4332})

[GeneratorPythia8]
config=${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGHF/pythia8/generator/pythia8_charmhadronic_OmegaC_NoDecay_Mode2_pp_ref.cfg
hooksFileName=${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGHF/pythia8/hooks/pythia8_userhooks_qqbar.C
hooksFuncName=pythia8_userhooks_bbbar(-1.5,1.5)
includePartonEvent=true
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
#NEV_TEST> 10
### The external generator derives from GeneratorPythia8.
[GeneratorExternal]
fileName=${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGHF/external/generator/generator_pythia8_gaptriggered_hf.C
funcName=GeneratorPythia8GapTriggeredBeauty(1, -1.5, 1.5, -1.5, 1.5, {4132, 4232})

[GeneratorPythia8]
config=${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGHF/pythia8/generator/pythia8_charmhadronic_with_decays_Mode2.cfg
hooksFileName=${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGHF/pythia8/hooks/pythia8_userhooks_qqbar.C
hooksFuncName=pythia8_userhooks_bbbar(-1.5,1.5)
includePartonEvent=true
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
#NEV_TEST> 10
### The external generator derives from GeneratorPythia8.
[GeneratorExternal]
fileName=${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGHF/external/generator/generator_pythia8_gaptriggered_hf.C
funcName=GeneratorPythia8GapTriggeredBeauty(1, -1.5, 1.5, -1.5, 1.5, {4132})

[GeneratorPythia8]
config=${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGHF/pythia8/generator/pythia8_charmhadronic_XiC_NoDecay.cfg
hooksFileName=${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGHF/pythia8/hooks/pythia8_userhooks_qqbar.C
hooksFuncName=pythia8_userhooks_bbbar(-1.5,1.5)
includePartonEvent=true
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
#NEV_TEST> 10
### The external generator derives from GeneratorPythia8.
[GeneratorExternal]
fileName=${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGHF/external/generator/generator_pythia8_gaptriggered_hf.C
funcName=GeneratorPythia8GapTriggeredBeauty(1, -1.5, 1.5, -1.5, 1.5, {4132})

[GeneratorPythia8]
config=${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGHF/pythia8/generator/pythia8_charmhadronic_XiC_NoDecay_Mode2_pp_ref.cfg
hooksFileName=${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGHF/pythia8/hooks/pythia8_userhooks_qqbar.C
hooksFuncName=pythia8_userhooks_bbbar(-1.5,1.5)
includePartonEvent=true
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
#NEV_TEST> 10
### The external generator derives from GeneratorPythia8.
[GeneratorExternal]
fileName=${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGHF/external/generator/generator_pythia8_gaptriggered_hf.C
funcName=GeneratorPythia8GapTriggeredBeauty(1, -1.5, 1.5, -1.5, 1.5, {4232})

[GeneratorPythia8]
config=${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGHF/pythia8/generator/pythia8_charmhadronic_XiCplus_NoDecay.cfg
hooksFileName=${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGHF/pythia8/hooks/pythia8_userhooks_qqbar.C
hooksFuncName=pythia8_userhooks_bbbar(-1.5,1.5)
includePartonEvent=true
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
#NEV_TEST> 10
### The external generator derives from GeneratorPythia8.
[GeneratorExternal]
fileName=${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGHF/external/generator/generator_pythia8_gaptriggered_hf.C
funcName=GeneratorPythia8GapTriggeredBeauty(1, -1.5, 1.5, -1.5, 1.5, {4232})

[GeneratorPythia8]
config=${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGHF/pythia8/generator/pythia8_charmhadronic_XiCplus_NoDecay_Mode2_pp_ref.cfg
hooksFileName=${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGHF/pythia8/hooks/pythia8_userhooks_qqbar.C
hooksFuncName=pythia8_userhooks_bbbar(-1.5,1.5)
includePartonEvent=true
3 changes: 3 additions & 0 deletions MC/config/PWGHF/ini/GeneratorHF_D2H_ccbar_Mode2_OmegaC.ini
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
#NEV_TEST> 10
### The external generator derives from GeneratorPythia8.
[GeneratorExternal]
fileName=${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGHF/external/generator/generator_pythia8_gaptriggered_hf.C
funcName=GeneratorPythia8GapTriggeredCharm(1, -1.5, 1.5, -1.5, 1.5, {4332})

[GeneratorPythia8]
config=${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGHF/pythia8/generator/pythia8_charmhadronic_with_decays_Mode2.cfg
hooksFileName=${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGHF/pythia8/hooks/pythia8_userhooks_qqbar.C
hooksFuncName=pythia8_userhooks_ccbar(-1.5,1.5)
includePartonEvent=true
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
#NEV_TEST> 10
### The external generator derives from GeneratorPythia8.
[GeneratorExternal]
fileName=${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGHF/external/generator/generator_pythia8_gaptriggered_hf.C
funcName=GeneratorPythia8GapTriggeredCharm(1, -1.5, 1.5, -1.5, 1.5, {4332})

[GeneratorPythia8]
config=${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGHF/pythia8/generator/pythia8_charmhadronic_Omegac_to_Omega.cfg
config=${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGHF/pythia8/generator/pythia8_charmhadronic_OmegaC_NoDecay.cfg
hooksFileName=${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGHF/pythia8/hooks/pythia8_userhooks_qqbar.C
hooksFuncName=pythia8_userhooks_ccbar(-1.5,1.5)
includePartonEvent=true
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
#NEV_TEST> 10
### The external generator derives from GeneratorPythia8.
[GeneratorExternal]
fileName=${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGHF/external/generator/generator_pythia8_gaptriggered_hf.C
funcName=GeneratorPythia8GapTriggeredCharm(1, -1.5, 1.5, -1.5, 1.5, {4332})

[GeneratorPythia8]
config=${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGHF/pythia8/generator/pythia8_charmhadronic_OmegaC_NoDecay_Mode2_pp_ref.cfg
hooksFileName=${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGHF/pythia8/hooks/pythia8_userhooks_qqbar.C
hooksFuncName=pythia8_userhooks_ccbar(-1.5,1.5)
includePartonEvent=true
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
#NEV_TEST> 10
### The external generator derives from GeneratorPythia8.
[GeneratorExternal]
fileName=${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGHF/external/generator/generator_pythia8_gaptriggered_hf.C
funcName=GeneratorPythia8GapTriggeredCharm(1, -1.5, 1.5, -1.5, 1.5, {4132, 4232})

[GeneratorPythia8]
config=${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGHF/pythia8/generator/pythia8_charmhadronic_with_decays_Mode2.cfg
hooksFileName=${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGHF/pythia8/hooks/pythia8_userhooks_qqbar.C
hooksFuncName=pythia8_userhooks_ccbar(-1.5,1.5)
includePartonEvent=true
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
#NEV_TEST> 10
### The external generator derives from GeneratorPythia8.
[GeneratorExternal]
fileName=${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGHF/external/generator/generator_pythia8_gaptriggered_hf.C
funcName=GeneratorPythia8GapTriggeredCharm(1, -1.5, 1.5, -1.5, 1.5, {4132})

[GeneratorPythia8]
config=${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGHF/pythia8/generator/pythia8_charmhadronic_XiC_NoDecay.cfg
config=${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGHF/pythia8/generator/pythia8_charmhadronic_XiC_NoDecay.cfg
hooksFileName=${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGHF/pythia8/hooks/pythia8_userhooks_qqbar.C
hooksFuncName=pythia8_userhooks_ccbar(-1.5,1.5)
includePartonEvent=true
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
#NEV_TEST> 10
### The external generator derives from GeneratorPythia8.
[GeneratorExternal]
fileName=${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGHF/external/generator/generator_pythia8_gaptriggered_hf.C
funcName=GeneratorPythia8GapTriggeredCharm(1, -1.5, 1.5, -1.5, 1.5, {4132})

[GeneratorPythia8]
config=${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGHF/pythia8/generator/pythia8_charmhadronic_XiC_NoDecay_Mode2_pp_ref.cfg
hooksFileName=${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGHF/pythia8/hooks/pythia8_userhooks_qqbar.C
hooksFuncName=pythia8_userhooks_ccbar(-1.5,1.5)
includePartonEvent=true
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
#NEV_TEST> 10
### The external generator derives from GeneratorPythia8.
[GeneratorExternal]
fileName=${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGHF/external/generator/generator_pythia8_gaptriggered_hf.C
funcName=GeneratorPythia8GapTriggeredCharm(1, -1.5, 1.5, -1.5, 1.5, {4232})

[GeneratorPythia8]
config=${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGHF/pythia8/generator/pythia8_charmhadronic_XiCplus_NoDecay.cfg
hooksFileName=${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGHF/pythia8/hooks/pythia8_userhooks_qqbar.C
hooksFuncName=pythia8_userhooks_ccbar(-1.5,1.5)
includePartonEvent=true
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
#NEV_TEST> 10
### The external generator derives from GeneratorPythia8.
[GeneratorExternal]
fileName=${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGHF/external/generator/generator_pythia8_gaptriggered_hf.C
funcName=GeneratorPythia8GapTriggeredCharm(1, -1.5, 1.5, -1.5, 1.5, {4232})

[GeneratorPythia8]
config=${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGHF/pythia8/generator/pythia8_charmhadronic_XiCplus_NoDecay_Mode2_pp_ref.cfg
hooksFileName=${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGHF/pythia8/hooks/pythia8_userhooks_qqbar.C
hooksFuncName=pythia8_userhooks_ccbar(-1.5,1.5)
includePartonEvent=true
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
int External() {
std::string path{"o2sim_Kine.root"};

int checkPdgQuarkOne = 5;
int checkPdgQuark{5};

int checkPdgHadron{4332};
int checkHadronDecays{0};
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
int External() {
std::string path{"o2sim_Kine.root"};

int checkPdgQuarkOne = 5;
int checkPdgQuark{5};

int checkPdgHadron{4332};
int checkHadronDecays{0};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,17 @@ int External() {

std::vector<int> checkPdgHadron{4132, 4232};
std::map<int, std::vector<std::vector<int>>> checkHadronDecays{ // sorted pdg of daughters
{4132, {{211, 3312}}}, // Xic0
{4232, {{-313, 2212}, {-321, 3324}, {211, 211, 3312}, {-321, 211, 2212}}} // Xic+
{4132, {
{3312, 211}, // Xic0 -> Xi-, pi+
}},
{4232, {
{2212, -321, 211}, // Xic+ -> p, K-, pi+
{2212, -313}, // Xic+ -> p, Kbar^*(892)0
{3312, 211, 211}, // Xic+ -> Xi-, pi+, pi+
{2212, 333}, // Xic+ -> p, phi(1020)0
{3222, -211, 211}, // Xic+ -> Sigma+, pi-, pi+
{3324, 211}, // Xic+ -> Xi(1530)0, pi+
}},
};

TFile file(path.c_str(), "READ");
Expand Down Expand Up @@ -65,6 +74,7 @@ int External() {
std::sort(pdgsDecayAntiPart.begin(), pdgsDecayAntiPart.end());

for (auto &decay : checkHadronDecays[std::abs(pdg)]) {
std::sort(decay.begin(), decay.end());
if (pdgsDecay == decay || pdgsDecayAntiPart == decay) {
nSignalGoodDecay++;
break;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
int External() {
std::string path{"o2sim_Kine.root"};

int checkPdgQuarkOne = 5;
int checkPdgQuark{5};

int checkPdgHadron{4132};
int checkHadronDecays{0};
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
int External() {
std::string path{"o2sim_Kine.root"};

int checkPdgQuarkOne = 5;
int checkPdgQuark{5};

int checkPdgHadron{4132};
int checkHadronDecays{0};
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
int External() {
std::string path{"o2sim_Kine.root"};

int checkPdgQuarkOne = 5;
int checkPdgQuark{5};

int checkPdgHadron{4232};
int checkHadronDecays{0};
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
int External() {
std::string path{"o2sim_Kine.root"};

int checkPdgQuarkOne = 4;
int checkPdgQuark{4};

int checkPdgHadron{4332};
int checkHadronDecays{3334};
int checkHadronDecays{0};

TFile file(path.c_str(), "READ");
if (file.IsZombie()) {
Expand All @@ -19,7 +19,7 @@ int External() {
tree->SetBranchAddress("MCEventHeader.", &eventHeader);

int nEventsInj{};
int nQuarks{}, nSignals{}, nSignalGoodDecay{};
int nQuarks{}, nSignals{};
auto nEvents = tree->GetEntries();

for (int i = 0; i < nEvents; i++) {
Expand All @@ -44,10 +44,8 @@ int External() {
nSignals++; // count signal PDG

for (int j{track.getFirstDaughterTrackId()}; j <= track.getLastDaughterTrackId(); ++j) {
auto pdgDau = tracks->at(j).GetPdgCode();
if (std::abs(pdgDau) == checkHadronDecays) {
nSignalGoodDecay;
break;
if (j >= 0) {
checkHadronDecays += 1;
}
}
}
Expand All @@ -59,7 +57,7 @@ int External() {
std::cout << Form("# events injected with %d quark pair: ", checkPdgQuark) << nEventsInj << "\n";
std::cout << Form("# %d (anti)quarks: ", checkPdgQuark) << nQuarks << "\n";
std::cout <<"# signal hadrons: " << nSignals << "\n";
std::cout <<"# signal hadrons decaying in the correct channel: " << nSignalGoodDecay << "\n";
std::cout <<"# signal hadrons decaying : " << checkHadronDecays << "\n";

if (nEventsInj < nEvents) {
std::cerr << "Number of generated events with triggered events different than expected\n";
Expand All @@ -76,9 +74,8 @@ int External() {
return 1;
}

float fracForcedDecays = float(nSignalGoodDecay) / nSignals;
if (fracForcedDecays < 0.9) { // we put some tolerance (it should not happen, but to be conservative)
std::cerr << "Fraction of signals decaying into the correct channel " << fracForcedDecays << " lower than expected\n";
if (checkHadronDecays > 0) {
std::cerr << "Decayed OmegaC, it should never decay\n";
return 1;
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
int External() {
std::string path{"o2sim_Kine.root"};

int checkPdgQuarkOne = 4;
int checkPdgQuark{4};

int checkPdgHadron{4332};
int checkHadronDecays{0};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,17 @@ int External() {

std::vector<int> checkPdgHadron{4132, 4232};
std::map<int, std::vector<std::vector<int>>> checkHadronDecays{ // sorted pdg of daughters
{4132, {{211, 3312}}}, // Xic0
{4232, {{-313, 2212}, {-321, 3324}, {211, 211, 3312}, {-321, 211, 2212}}} // Xic+
{4132, {
{3312, 211}, // Xic0 -> Xi-, pi+
}},
{4232, {
{2212, -321, 211}, // Xic+ -> p, K-, pi+
{2212, -313}, // Xic+ -> p, Kbar^*(892)0
{3312, 211, 211}, // Xic+ -> Xi-, pi+, pi+
{2212, 333}, // Xic+ -> p, phi(1020)0
{3222, -211, 211}, // Xic+ -> Sigma+, pi-, pi+
{3324, 211}, // Xic+ -> Xi(1530)0, pi+
}},
};

TFile file(path.c_str(), "READ");
Expand Down Expand Up @@ -65,6 +74,7 @@ int External() {
std::sort(pdgsDecayAntiPart.begin(), pdgsDecayAntiPart.end());

for (auto &decay : checkHadronDecays[std::abs(pdg)]) {
std::sort(decay.begin(), decay.end());
if (pdgsDecay == decay || pdgsDecayAntiPart == decay) {
nSignalGoodDecay++;
break;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
int External() {
std::string path{"o2sim_Kine.root"};

int checkPdgQuarkOne = 4;
int checkPdgQuark{4};

int checkPdgHadron{4132};
int checkHadronDecays{0};
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
int External() {
std::string path{"o2sim_Kine.root"};

int checkPdgQuarkOne = 4;
int checkPdgQuark{4};

int checkPdgHadron{4132};
int checkHadronDecays{0};
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
int External() {
std::string path{"o2sim_Kine.root"};

int checkPdgQuarkOne = 4;
int checkPdgQuark{4};

int checkPdgHadron{4232};
int checkHadronDecays{0};
Expand Down