You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Thanks a lot for sharing MoMEMta code to public. I have recently migrated from MadWeight to MoMEMta, and want to know more about features of MoMEMta.
In particular, I would like to get two different weights from two different ways of pairing b-quarks and leptons in di-leptonic ttbar events. The authors kindly put an example code "tt_fullyleptonic.cc". The authors explained (https://arxiv.org/abs/1805.08555) that MoMEMta considers all possible combinations and takes an average of weights. Since for my purpose I didn't want that, so I turned off this feature by setting:
Dear MoMEMta team,
Thanks a lot for sharing MoMEMta code to public. I have recently migrated from MadWeight to MoMEMta, and want to know more about features of MoMEMta.
In particular, I would like to get two different weights from two different ways of pairing b-quarks and leptons in di-leptonic ttbar events. The authors kindly put an example code "tt_fullyleptonic.cc". The authors explained (https://arxiv.org/abs/1805.08555) that MoMEMta considers all possible combinations and takes an average of weights. Since for my purpose I didn't want that, so I turned off this feature by setting:
lua_parameters.set("USE_PERM", false);
Then I compute two weights as following:
// combination 1
MoMEMta weight(configuration.freeze());
// Electron
Particle electron { "electron", LorentzVector(lep1.Px(), lep1.Py(), lep1.Pz(), lep1.E() ), -11 };
// b-quark
Particle b1 { "bjet1", LorentzVector( bjet1.Px(), bjet1.Py(), bjet1.Pz(), bjet1.E() ), 5 };
// Muon
Particle muon { "muon", LorentzVector( lep2.Px(), lep2.Py(), lep2.Pz(), lep2.E() ), +13 };
// Anti b-quark
Particle b2 { "bjet2", LorentzVector( bjet2.Px(), bjet2.Py(), bjet2.Pz(), bjet2.E() ), -5 };
std::vector<std::pair<double, double>> weights = weight.computeWeights({muon, electron, b1, b2});
Now to get the weight from the other combination, I just swapped the momenta of two b-quarks:
// b-quark
Particle b1 { "bjet1", LorentzVector( bjet2.Px(), bjet2.Py(), bjet2.Pz(), bjet2.E() ), 5 };
// Anti b-quark
Particle b2 { "bjet2", LorentzVector( bjet1.Px(), bjet1.Py(), bjet1.Pz(), bjet1.E() ), -5 };
and computed the weight:
std::vector<std::pair<double, double>> weights = weight.computeWeights({muon, electron, b1, b2});
Could you please give me some comment on whether it is correct thing to do? Should I make an additional change?
Thank you very much.
Best wishes,
Jeonghan
The text was updated successfully, but these errors were encountered: