33 resonances_done = kFALSE;
40 static_br_thresh = 1111.;
54 if (!resonances_done) {
59 pdmutil->
AddSubGroup(
"dalitz_zetenyi_wolf",
"Dalitz decay from Zetenyi/Wolf, nucl-th/0202047v1",
"decay_models");
60 pdmutil->
SetGroup(
"dalitz_zetenyi_wolf");
66 "dgdm from Zetenyi/Wolf", -1);
67 newmodel->
setGm(0.793);
68 pdmutil->
Add(newmodel);
72 "dgdm from Zetenyi/Wolf", -1);
73 newmodel->
setGm(0.139);
74 pdmutil->
Add(newmodel);
79 "dgdm from Zetenyi/Wolf", -1);
80 newmodel->
setGm(0.634);
81 pdmutil->
Add(newmodel);
86 "dgdm from Zetenyi/Wolf", -1);
87 newmodel->
setGm(0.719);
88 pdmutil->
Add(newmodel);
92 "dgdm from Zetenyi/Wolf", -1);
93 newmodel->
setGm(0.098);
94 pdmutil->
Add(newmodel);
99 "dgdm from Zetenyi/Wolf", -1);
100 newmodel->
setGm(0.549);
101 pdmutil->
Add(newmodel);
123 resonances_done = kTRUE;
128 if (strcmp (command,
"flat_generator") == 0) {
133 pdmutil->
AddSubGroup(
"generators",
"Generator models",
"root");
136 TF1 *
flat =
new TF1(
"flat",
"1", 0, 1);
139 Int_t particlekey = -1;
143 while (
makeDataBase()->MakeListIterator(header,
"snpart",
"slink", &particlekey)) {
149 while ((
makeStaticData()->GetParticleNChannelsByKey(particlekey)>0) &&
150 (
makeDataBase()->MakeListIterator(particlekey,
"pnmodes",
"link", &decaykey))) {
158 id->Append(
"_generator_");
159 for (
int p=1;
p<=tid[0];
p++) {
161 if (
p != tid[0])
id->Append(
"_");
165 id->Append(
"#generator#");
166 for (
int p=1;
p<=tid[0];
p++) {
168 if (
p != tid[0])
id->Append(
"#");
170 id->Append(
"&generator");
182 pmodel->EnableWeighting();
187 pmodel->SetExpectedWeightMean(-1);
188 Info(
"ExecCommand",
"Model <%s> uses dGamma/dM for the branching ratio",
192 Warning(
"ExecCommand",
"Primary model not found");
200 }
else if (strcmp (command,
"static_br_thresh") == 0) {
202 static_br_thresh = value;
205 }
else if (strcmp (command,
"krivoruchenko") == 0) {
207 if (kriv1)
return kTRUE;
212 "dgdm from Krivoruchenko", -1);
215 "dgdm from Krivoruchenko", -1);
220 pdmutil->
AddSubGroup(
"vmd",
"VMD form factors",
"root");
224 "Iachello ff for D+ -> p e+e-", -1);
225 pdmutil->
Add(vmd_newmodel);
226 vmd_newmodel =
new PDeltaDalitzFF(
"D0_iachello_ff@D0_to_n_dilepton/formfactor",
227 "Iachello ff for D0 -> n e+e-", -1);
228 pdmutil->
Add(vmd_newmodel);
232 pdmutil->
AddSubGroup(
"qed",
"QED form factors",
"root");
236 "QED ff for D+ -> p e+e-", -1);
238 qed_newmodel->
SetCC(3.0, 0, 0);
239 pdmutil->
Add(qed_newmodel);
240 qed_newmodel =
new PDeltaDalitzFF(
"D0_qed_ff@D0_to_n_dilepton/formfactor",
241 "QED ff for D0 -> n e+e-", -1);
243 qed_newmodel->
SetCC(3.0,0,0);
244 pdmutil->
Add(qed_newmodel);
ClassImp(PBeamLineSimulation) PBeamLineSimulation
PDataBase * makeDataBase()
PDistributionManagerUtil * makeDistributionManagerUtil()
#define VERSION_GENERATOR_MC
PDynamicData * makeDynamicData()
PStaticData * makeStaticData()
PDalitzModPlugin(const Char_t *id, const Char_t *de)
Bool_t ExecCommand(const char *command, Double_t value)
Int_t GetEntry(const char *name)
static int IsDalitz(const int &id, const int &i1, const int &i2)
void SetCC(Double_t a, Double_t b, Double_t c)
PDistributionCollection()
Bool_t RequiresPlugin(const char *name)
int Add(PDistribution *dist)
Int_t AddSubGroup(const Char_t *id, const Char_t *de, const Char_t *sub)
void SetGroup(const Char_t *id)
Int_t pid[MAX_PARTICLE_LIST]
PChannelModel * GetDecayModelByKey(Int_t key)
void setGm(Double_t my_g_Em)
int AddDecay(int didx, const char *name, const char *parent, const char *daughters, double br)
int GetParticleIDByKey(int key)
void GetDecayModeByKey(const int, int *n)
PFermiMomentumDD * pmodel
PInclusiveModel * dilepton_generator