218 if (!kaon.kaon_pdg)
return false;
221 if (
fKDAROnly && (kaon.mom.P() > 1
e-3 || kaon.pos.Z() < 72000.))
return false;
224 std::cout <<
"found KDAR, skipping to next event\n";
227 if (
fKDIFandBeamline && (kaon.mom.P() <= 1
e-3 && kaon.pos.Z() >= 72000.))
return false;
231 higgs.pos_beamcoord = kaon.pos;
232 higgs.pos = kaon.pos;
239 double kaon_mass = kaon.mom.M();
240 double higs_mass =
fM;
241 double pion_mass = TDatabasePDG::Instance()->GetParticle(
PionPdg(kaon.kaon_pdg))->Mass();
244 if (kaon_mass - pion_mass < higs_mass)
return false;
252 mom.SetVectM(kaon_frame_momentum, higs_mass);
253 mom.Boost(kaon.mom.BoostVector());
255 higgs.mom_beamcoord = mom;
260 higgs.kmom_beamcoord = kaon.mom;
262 higgs.kmom = kaon.mom;
266 weight = kaon.weight /
SMKaonBR(kaon.kaon_pdg);
267 if (kaon.kaon_pdg == 130 ) {
268 weight = weight *
fKLBR;
271 weight = weight *
fKPBR;
275 higgs.sec = higgs.kmom - higgs.mom;
276 higgs.sec_beamcoord = higgs.kmom_beamcoord - higgs.mom_beamcoord;
282 higgs.kaon_pdg = kaon.kaon_pdg;
284 higgs.secondary_pdg =
PionPdg(kaon.kaon_pdg);
285 higgs.equiv_enu =
EnuLab(flux.fnecm, higgs.kmom, higgs.pos);
double fMixingAngle
Mixing angle of dark higgs.
bool fIgnoreParentDecayTime
double fM
Mass of Higgs [GeV].
double higgs_momentum(double kaon_mass, double pion_mass, double higs_mass)
double SMKaonBR(int kaon_pdg)
TLorentzVector BeamOrigin()
TVector3 RandomUnitVector()
double EnuLab(double enucm, TLorentzVector meson_mom, TLorentzVector meson_pos)
int PionPdg(int kaon_pdg)
BEGIN_PROLOG could also be cout