Skip to content

Commit 442253e

Browse files
authored
Update HiggsMakeDecay_tool.cc
Fixed a bug with setting the boolean for the new form factor
1 parent 95f6a37 commit 442253e

1 file changed

Lines changed: 13 additions & 13 deletions

File tree

sbncode/EventGenerator/MeVPrtl/Tools/Higgs/HiggsMakeDecay_tool.cc

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,6 @@ class HiggsMakeDecay : public IMeVPrtlDecay {
7373
double fReferenceRayDistance;
7474
double fReferenceHiggsMass;
7575
double fReferenceHiggsMixing;
76-
bool fNewFormFactor;
7776
double fReferenceHiggsEnergy;
7877
double fReferenceHiggsKaonEnergy;
7978

@@ -83,6 +82,7 @@ class HiggsMakeDecay : public IMeVPrtlDecay {
8382
bool fAllowMuonDecay;
8483
bool fAllowPionDecay;
8584
bool fAllowPi0Decay;
85+
bool fNewFormFactor;
8686
bool fAddTimeOfFlight;
8787

8888
};
@@ -128,34 +128,34 @@ double MuonPartialWidth(double higs_mass, double mixing) {
128128
return LeptonPartialWidth(Constants::Instance().muon_mass, higs_mass, mixing);
129129
}
130130

131-
double PionPartialWidth(double pion_mass, double higs_mass, double mixing) {
131+
double PionPartialWidth(double pion_mass, double higs_mass, double mixing, bool use_new_ff) {
132132
if (pion_mass * 2 >= higs_mass) return 0.;
133133

134134
double higgs_vev = Constants::Instance().higgs_vev;
135135

136136
double form_factor = 0.;
137-
if (fNewFormFactor) {
137+
if (use_new_ff) {
138138
// New, improved form factor based on the plot in arXiv:1909.11670v4
139139
// This form factor is significnatly different than in older versions
140140
// The expression is a fit to the Fig. 1 left panel in arXiv:1909.11670v4
141141
form_factor = pow(0.289 * pow(higs_mass - 2 * Constants::Instance().pizero_mass,1.5),0.5);
142142
}
143143
else {
144144
// Old form factor
145-
(2. / 9.) * higs_mass * higs_mass + (11. / 9.) * pion_mass * pion_mass;
145+
form_factor = (2. / 9.) * higs_mass * higs_mass + (11. / 9.) * pion_mass * pion_mass;
146146
}
147147

148148
double width = (mixing * mixing * 3 * form_factor * form_factor / (32 * M_PI * higgs_vev * higgs_vev * higs_mass)) * pow(1- 4. * pion_mass * pion_mass / (higs_mass * higs_mass), 1. / 2.);
149149

150150
return width;
151151
}
152152

153-
double PiPlusPartialWidth(double higs_mass, double mixing) {
154-
return 2*PionPartialWidth(Constants::Instance().piplus_mass, higs_mass, mixing);
153+
double PiPlusPartialWidth(double higs_mass, double mixing, bool use_new_ff) {
154+
return 2*PionPartialWidth(Constants::Instance().piplus_mass, higs_mass, mixing, use_new_ff);
155155
}
156156

157-
double PiZeroPartialWidth(double higs_mass, double mixing) {
158-
return PionPartialWidth(Constants::Instance().pizero_mass, higs_mass, mixing);
157+
double PiZeroPartialWidth(double higs_mass, double mixing, bool use_new_ff) {
158+
return PionPartialWidth(Constants::Instance().pizero_mass, higs_mass, mixing, use_new_ff);
159159
}
160160

161161
HiggsMakeDecay::HiggsMakeDecay(fhicl::ParameterSet const &pset):
@@ -177,14 +177,14 @@ void HiggsMakeDecay::configure(fhicl::ParameterSet const &pset)
177177
fReferenceRayDistance = pset.get<double>("ReferenceRayDistance", 0.);
178178
fReferenceHiggsMass = pset.get<double>("ReferenceHiggsMass", -1);
179179
fReferenceHiggsMixing = pset.get<double>("ReferenceHiggsMixing", -1);
180-
fNewFormFactor = pset.get<bool>("NewFormFactor", -1);
181180
fReferenceHiggsEnergy = pset.get<double>("ReferenceHiggsEnergy", -1);
182181
fReferenceHiggsKaonEnergy = pset.get<double>("ReferenceHiggsEnergyFromKaonEnergy", -1.);
183182

184183
fAllowElectronDecay = pset.get<bool>("AllowElectronDecay", true);
185184
fAllowMuonDecay = pset.get<bool>("AllowMuonDecay", true);
186185
fAllowPionDecay = pset.get<bool>("AllowPionDecay", true);
187186
fAllowPi0Decay = pset.get<bool>("AllowPi0Decay", true);
187+
fNewFormFactor = pset.get<bool>("NewFormFactor", true);
188188
fAddTimeOfFlight = pset.get<bool>("AddTimeOfFlight", true);
189189

190190
if (fReferenceHiggsEnergy < 0. && fReferenceHiggsKaonEnergy > 0.) {
@@ -197,8 +197,8 @@ void HiggsMakeDecay::configure(fhicl::ParameterSet const &pset)
197197
// Get each partial width
198198
double width_elec = ElectronPartialWidth(fReferenceHiggsMass, fReferenceHiggsMixing);
199199
double width_muon = MuonPartialWidth(fReferenceHiggsMass, fReferenceHiggsMixing);
200-
double width_piplus = PiPlusPartialWidth(fReferenceHiggsMass, fReferenceHiggsMixing);
201-
double width_pizero = PiZeroPartialWidth(fReferenceHiggsMass, fReferenceHiggsMixing);
200+
double width_piplus = PiPlusPartialWidth(fReferenceHiggsMass, fReferenceHiggsMixing, fNewFormFactor);
201+
double width_pizero = PiZeroPartialWidth(fReferenceHiggsMass, fReferenceHiggsMixing, fNewFormFactor);
202202

203203
// total lifetime
204204
double lifetime_ns = Constants::Instance().hbar / (width_elec + width_muon + width_piplus + width_pizero);
@@ -253,8 +253,8 @@ bool HiggsMakeDecay::Decay(const MeVPrtlFlux &flux, const TVector3 &in, const TV
253253
// Get each partial width
254254
double width_elec = ElectronPartialWidth(flux.mass, mixing);
255255
double width_muon = MuonPartialWidth(flux.mass, mixing);
256-
double width_piplus = PiPlusPartialWidth(flux.mass, mixing);
257-
double width_pizero = PiZeroPartialWidth(flux.mass, mixing);
256+
double width_piplus = PiPlusPartialWidth(flux.mass, mixing, fNewFormFactor);
257+
double width_pizero = PiZeroPartialWidth(flux.mass, mixing, fNewFormFactor);
258258

259259
// total lifetime
260260
double lifetime_ns = Constants::Instance().hbar / (width_elec + width_muon + width_piplus + width_pizero);

0 commit comments

Comments
 (0)