MINT2
NamedDecayTreeList.cpp
Go to the documentation of this file.
1 // author: Jonas Rademacker (Jonas.Rademacker@bristol.ac.uk)
2 // status: Mon 9 Feb 2009 19:18:03 GMT
4 #include "Mint/AmpInitialiser.h"
6 #include "Mint/Utils.h"
7 
8 #include <fstream>
9 
10 using namespace std;
11 using namespace MINT;
12 
14 
16 
18 NamedDecayTreeList::getMe(const std::string& printopt){
19  bool verbose=false;
20  if(0 == __ptr){
21  std::string fname("AllKnownDecayTrees.txt");
22  ofstream os(fname.c_str());
23  __ptr = new NamedDecayTreeList;
24  if(verbose){
25  cout << "NamedDecayTreeList::getMe():"
26  << "\n\t> You just created a NamedDecayTreeList."
27  << "\n\t> You can find a list of all known decay trees in "
28  << "\n\t> " << fname << "." << endl;
29  }
30  __ptr->print(os);
31  os << endl;
32  os.close();
33  if(printopt == "printAlways" || printopt == "printFirstTime"){
34  __ptr->print();
35  cout << endl;
36  }
37  }else if(printopt == "printAlways"){ // are you mad?
38  __ptr->print();
39  cout << endl;
40  }
41  return __ptr;
42 }
44  makeDecayTreeList(); // D->f
45  // add_D_to_CPConjugates_forAll(); // D->fbar
46  // add_CPConjugates_forAll(); // Dbar -> fbar and Dbar ->f
47  // add_SpinZero_forAll(); // bgTest (for bg parameterisation)
48  // add_CLEO2012_forAll();
49 }
50 const AmpInitialiser& NamedDecayTreeList::find(const std::string& name
51  , bool& successFlag
52 ) const{
53  return keyFinder(name, _trees, dummyAmpInitialiser, successFlag);
54 }
55 
56 const AmpInitMap& NamedDecayTreeList::trees(const std::string& opt) const{
57  if(A_is_in_B("NoBgSpinZero", opt)) return _treesNoBgSpinZero;
58  else if(A_is_in_B("OnlyBgSpinZero", opt)) return _treesOnlyBgSpinZero;
59  else if(A_is_in_B("NoCLEO2012", opt)) return _treesNoCLEO2012;
60  else if(A_is_in_B("OnlyCLEO2012", opt)) return _treesOnlyCLEO2012;
61  else if("" == opt || A_is_in_B("ALL", opt)) return _trees;
62  else{
63  cout << "WARNING in NamedDecayTreeList::trees : Unrecognises option "
64  << opt
65  << "\n will return default tree (\"ALL\") "
66  << endl;
67  return _trees;
68  }
69 }
70 
72  std::string longest="";
73  for(AmpInitMap::const_iterator it=_trees.begin();
74  it != _trees.end();
75  it++){
76  if(it->first.size() > longest.size()) longest = it->first;
77  }
78  return longest;
79 }
80 
81 void NamedDecayTreeList::print(std::ostream& os) const{
82  os << "\nNamedDecayTreeMap: Printing all decays I know about\n"
83  << "^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n"
84  << "\n============================="
85  << endl;
86  int counter=0;
87  for(AmpInitMap::const_iterator it=_trees.begin();
88  it != _trees.end();
89  it++, counter++){
90  os << " (" << counter << ")"
91  << " \"" << it->first <<"\"\n";
92  os << it->second.tree();
93  os << "\n=============================";
94  os << endl;
95  }
96 }
97 
98 void NamedDecayTreeList::add(const AmpInitialiser& ai, const std::string& opt){
99  // formerly "multiAdd"
100  // operation with default option:
101  // For each decay
102  // D->f
103  // it also adds:
104  // Dbar -> f
105  // D -> fbar
106  // Dbar -> fbar
107  //
108  // and all that also in the version "BgSpinZero", and "CLEO2012".
109  // BgSpinZero has a spin-factor of "1" (as if all particles inolved
110  // had spin 0), which is what we usually use to parameterise
111  // non-resonant background. CLEO2012 is uses exactly the lineshapes
112  // uses for Lauren's KKpipi analysis (make sure you also use the
113  // same mass-width file if you want to reproduce the results
114  // exactly!)
115  bool dbThis=false;
116 
117  bool isBg=A_is_in_B("BgSpinZero",opt);
118  bool isCLEO2012=A_is_in_B("CLEO2012",opt);
119 
120  addSimple(ai, opt);
121  if(! isBg)addSimple(ai, opt + "BgSpinZero");
122  // if it already is a decay with the BgSpinZero option, then there's not point in adding it again.
123 
124 
125  if(! isCLEO2012)addSimple(ai, opt + "CLEO2012");
126  // if it already is a decay with the CLEO2012 option, then there's not point in adding it again.
127  if(dbThis) cout << "NamedDecayTreeList::add: just added D->f\t"
128  << ai.tree().oneLiner() << endl;
129 
130  DecayTree dt = ai.tree();
131 
132  if(dt.finalState().size()==4 && (dt.getDgtrTreePtr(0)->finalState().size()==3 || dt.getDgtrTreePtr(1)->finalState().size()==3) )
133  {
134  addSimple(ai, "SBW_" + opt);
135  addSimple(ai, "FermiPS_" + opt);
136  addSimple(ai, "HistoPS_" + opt);
137  }
138 
139  anti(dt); // CP conjugate
140  AmpInitialiser CPai(ai);
141  CPai.setTree(dt);
142  addSimple(CPai, opt);
143  if(! isBg) addSimple(CPai, opt + "BgSpinZero");
144  if(! isCLEO2012)addSimple(CPai, opt + "CLEO2012");
145  if(dt.finalState().size()==4 && (dt.getDgtrTreePtr(0)->finalState().size()==3 || dt.getDgtrTreePtr(1)->finalState().size()==3) )
146  {
147  addSimple(CPai, "SBW_" + opt);
148  addSimple(CPai, "FermiPS_" + opt);
149  addSimple(CPai, "HistoPS_" + opt);
150  }
151  if(dbThis) cout << "NamedDecayTreeList::add: just added Dbar->fbar\t"
152  << dt.oneLiner() << endl;
153 
154  if("0" == dt.getVal().charge()){
155  dt.getVal().antiThis(); // mum back to D0
156  AmpInitialiser DtoCPai(ai);
157  DtoCPai.setTree(dt);
158  addSimple(DtoCPai, opt);
159  if(! isBg) addSimple(DtoCPai, "BgSpinZero" + opt);
160  if(! isCLEO2012)addSimple(DtoCPai, "CLEO2012" + opt);
161  if(dt.finalState().size()==4 && (dt.getDgtrTreePtr(0)->finalState().size()==3 || dt.getDgtrTreePtr(1)->finalState().size()==3))
162  {
163  addSimple(DtoCPai, "SBW_" + opt);
164  addSimple(DtoCPai, "FermiPS_" + opt);
165  addSimple(DtoCPai, "HistoPS_" + opt);
166  }
167  if(dbThis) cout << "NamedDecayTreeList::add: just added D->fbar\t"
168  << dt.oneLiner() << endl;
169 
170  anti(dt); // and the CP conjugate of that, i.e. Dbar->original
171  AmpInitialiser DbarToOriginal(ai);
172  DbarToOriginal.setTree(dt);
173  addSimple(DbarToOriginal, opt);
174  if(! isBg) addSimple(DbarToOriginal, opt + "BgSpinZero");
175  if(! isCLEO2012)addSimple(DbarToOriginal, opt + "CLEO2012");
176  if(dt.finalState().size()==4 && (dt.getDgtrTreePtr(0)->finalState().size()==3 || dt.getDgtrTreePtr(1)->finalState().size()==3))
177  {
178  addSimple(DbarToOriginal, "SBW_" + opt);
179  addSimple(DbarToOriginal, "FermiPS_" + opt);
180  addSimple(DbarToOriginal, "HistoPS_" + opt);
181  }
182  if(dbThis) cout << "NamedDecayTreeList::add: just added Dbar->f\t"
183  << dt.oneLiner() << endl;
184  }
185 }
186 void NamedDecayTreeList::addSimple(const AmpInitialiser& ai, const std::string& opt){ // formerly "add"
187  // Note: This will not allow any duplicates - if you try to add a
188  // tree that already exits (same unique(!) name), it will replace
189  // the previous entry.
190  bool dbThis=false;
191 
192  //if(dbThis) cout << "adding tree with name " << name << endl;
193  AmpInitialiser nai(ai);
194  // NOT sure why I was doing this rather complicated
195  // option reading and writng, rather
196  // than simply adding opt to nai.. but maybe there was a reason.
197  // kept below in case there was...
198  // figured it out: so the order in which
199  // these appear in the name is well-defined.
200  if(A_is_in_B("CLEO2012",opt)){
201  nai.addLopt("CLEO2012");
202  }
203  if(A_is_in_B("BgSpinZero",opt)){
204  nai.addLopt("BgSpinZero");
205  }
206  if(A_is_in_B("FermiPS_",opt)){
207  nai.addLopt("FermiPS_");
208  }
209  if(A_is_in_B("HistoPS_",opt)){
210  nai.addLopt("HistoPS_");
211  }
212  if(A_is_in_B("SBW_",opt)){
213  nai.addLopt("SBW_");
214  }
215 
216  std::string name = nai.uniqueName();
217  if(dbThis) cout << "adding tree with name " << name << endl;
218  _trees[name] = nai;
219 
220  if(A_is_in_B("BgSpinZero",opt)) _treesOnlyBgSpinZero[name] = nai;
221  else _treesNoBgSpinZero[name] = nai;
222 
223  if(A_is_in_B("CLEO2012",opt)) _treesOnlyCLEO2012[name] = nai;
224  else _treesNoCLEO2012[name]=nai;
225 }
226 
227 /*
228  These have become obsolete because "add" now acts as previously
229  "multiAdd" and automatically adds all possible versions of the
230  decay. I've kept them here for now in case I need them at some
231  point.
232 
233 int NamedDecayTreeList::add_SpinZero_forAll(){ // bgTest
234  //
235  // The same D decaying
236  // but with spin zero (for background)
237  // Will add spin 0 amplitude with index [S]
238  // even if orignal decay was s-wave.
239 
240  for(AmpInitMap::const_iterator it=_trees.begin();
241  it != _trees.end();
242  it++){
243  AmpInitialiser ai = it->second;
244  DecayTree dt = ai.tree();
245  dt.getVal().setL(0);
246  //ai.setTree(dt);
247  addSimple(ai, "BgSpinZero");
248  }
249  return _trees.size();
250 }
251 
252 int NamedDecayTreeList::add_CLEO2012_forAll(){
253  //
254  // The same D decaying
255  // but with spin zero (for background)
256  // Will add spin 0 amplitude with index [S]
257  // even if orignal decay was s-wave.
258 
259  for(AmpInitMap::const_iterator it=_trees.begin();
260  it != _trees.end();
261  it++){
262  AmpInitialiser ai = it->second;
263  DecayTree dt = ai.tree();
264  addSimple(ai, "CLEO2012");
265  }
266  return _trees.size();
267 }
268 
269 
270 int NamedDecayTreeList::add_D_to_CPConjugates_forAll(){
271  //
272  // The same neutral D decaying
273  // decaying to the CP-conjugate decay.
274  //
275  // so for D->f, it adds D->fbar
276  //
277  // Might not always be physical, then leave
278  // Amplitude at zero (which is its default value).
279  //
280  // note that, if this procedure for some reason
281  // produces a decay chain that already exists,
282  // this doesn't matter and won't be entered
283  // twice due to the clever use of maps.
284  //
285  // This will do nothing for charged D (or B) decays.
286 
287  for(AmpInitMap::const_iterator it=_trees.begin();
288  it != _trees.end();
289  it++){
290  AmpInitialiser ai = it->second;
291  DecayTree dt = ai.tree();
292  if(dt.getVal().charge() != "0") continue; // --> way out
293 
294  anti(dt);
295  dt.getVal().antiThis(); // mum back to D0
296  ai.setTree(dt);
297  addSimple(ai);
298  }
299  return _trees.size();
300 }
301 
302 int NamedDecayTreeList::add_CPConjugates_forAll(){
303  //
304  //
305  // for D->f, this adds Dbar->fbar
306  // and for D->fbar, it adds Dbar->f
307  //
308  // note that, if this procedure for some reason
309  // produces a decay chain that already exists,
310  // this doesn't matter and won't be entered
311  // twice due to the clever use of maps.
312  //
313 
314  for(AmpInitMap::const_iterator it=_trees.begin();
315  it != _trees.end();
316  it++){
317  AmpInitialiser ai = it->second;
318  DecayTree dt = ai.tree();
319  anti(dt);
320  ai.setTree(dt);
321  addSimple(ai);
322  }
323  return _trees.size();
324 }
325 
326  */
327 
329  make3BodyList();
330  make3BodyListForRunningWidth();
331  make4BodyList();
332  return _trees.size();
333 }
334 
336  makeKsPiPiList();
337  makeKPiPiZeroList();
338  makeDplusToKKPiList();
339  makeB02DDKList();
340  makeBp2DDKList();
341  makePiPiPi0List();
342  makeKKPi0List();
343  return _trees.size();
344 }
345 
347  makeKpipiGammaList();
348  makeJpsiKpipiList();
349  makePsiKpipiList();
350  makeKKpipiList();
351  makeK3piList();
352  makeKsPiPiPizeroList();
353  make4PiList();
354  return _trees.size();
355 }
356 
357 
358 // ========================= 3 Body Decays ======================
360 
361  DecayTree* dk=0;
362 
363  // a1(1260)
364  dk = new DecayTree(20213);
365  dk->addDgtr(211, 113)->addDgtr(211,-211);
366  this->add(*dk);
367  this->add(AmpInitialiser(*dk, "GS"));
368  dk->getVal().setL(2);
369  this->add(*dk);
370  this->add(AmpInitialiser(*dk, "GS"));
371  delete dk;
372 
373  dk = new DecayTree(20213);
374  dk->addDgtr(211, 100113)->addDgtr(211,-211);
375  this->add(*dk);
376  this->add(AmpInitialiser(*dk, "GS"));
377  dk->getVal().setL(2);
378  this->add(*dk);
379  this->add(AmpInitialiser(*dk, "GS"));
380  delete dk;
381 
382  dk = new DecayTree(20213);
383  dk->addDgtr(211, 9010221)->addDgtr(211,-211);
384  this->add(*dk);
385  this->add(AmpInitialiser(*dk, "Flatte"));
386  delete dk;
387 
388  dk = new DecayTree(20213);
389  dk->addDgtr(211, 9000221)->addDgtr(211,-211);
390  this->add(*dk);
391  this->add(AmpInitialiser(*dk, "Bugg"));
392  delete dk;
393 
394  dk = new DecayTree(20213);
395  dk->addDgtr(211, 999001)->addDgtr(211,-211);
396  this->add(*dk);
397  this->add(AmpInitialiser(*dk, "Bugg"));
398  delete dk;
399 
400  dk = new DecayTree(20213);
401  dk->addDgtr(321, 323)->addDgtr(321,-211);
402  this->add(*dk);
403  delete dk;
404 
405  // pi(1300)
406  dk = new DecayTree(100211);
407  dk->addDgtr(211, 113)->addDgtr(211,-211);
408  this->add(*dk);
409  this->add(AmpInitialiser(*dk, "GS"));
410  delete dk;
411 
412  dk = new DecayTree(100211);
413  dk->addDgtr(211, 999001)->addDgtr(211,-211);
414  this->add(*dk);
415  this->add(AmpInitialiser(*dk, "Bugg"));
416  delete dk;
417 
418  dk = new DecayTree(100211);
419  dk->addDgtr(211, 9981)->addDgtr(211,-211);
420  this->add(*dk);
421  this->add(AmpInitialiser(*dk, "NonRes"));
422  delete dk;
423 
424  dk = new DecayTree(100211);
425  dk->addDgtr(211, 9993)->addDgtr(211,-211);
426  this->add(*dk);
427  this->add(AmpInitialiser(*dk, "NonRes"));
428  delete dk;
429 
430  //K1(1270)
431  dk = new DecayTree(10323);
432  dk->addDgtr(321, 113)->addDgtr(211,-211);
433  this->add(*dk);
434  this->add(AmpInitialiser(*dk, "GS"));
435  delete dk;
436 
437  dk = new DecayTree(10323);
438  dk->addDgtr(321, 223)->addDgtr(211,-211);
439  this->add(*dk);
440  delete dk;
441 
442  dk = new DecayTree(10323);
443  dk->addDgtr(211, 323)->addDgtr(321,-211);
444  this->add(*dk);
445  dk->getVal().setL(2);
446  this->add(*dk);
447  delete dk;
448 
449  dk = new DecayTree(10323);
450  dk->addDgtr(211, 10321)->addDgtr(321,-211);
451  this->add(*dk);
452  this->add(AmpInitialiser(*dk, "Lass"));
453  delete dk;
454 
455  dk = new DecayTree(10323);
456  dk->addDgtr(321, 9010221)->addDgtr(211,-211);
457  this->add(*dk);
458  this->add(AmpInitialiser(*dk, "Flatte"));
459  delete dk;
460 
461  //K1(1400)
462  dk = new DecayTree(20323);
463  dk->addDgtr(321, 113)->addDgtr(211,-211);
464  this->add(*dk);
465  this->add(AmpInitialiser(*dk, "GS"));
466  delete dk;
467 
468  dk = new DecayTree(20323);
469  dk->addDgtr(211, 323)->addDgtr(321,-211);
470  this->add(*dk);
471  dk->getVal().setL(2);
472  this->add(*dk);
473  delete dk;
474 
475  //K1*(1410)
476  dk = new DecayTree(100323);
477  dk->addDgtr(321, 113)->addDgtr(211,-211);
478  this->add(*dk);
479  this->add(AmpInitialiser(*dk, "GS"));
480  delete dk;
481 
482  dk = new DecayTree(100323);
483  dk->addDgtr(211, 323)->addDgtr(321,-211);
484  this->add(*dk);
485  delete dk;
486 
487  //K1*(1680)
488  dk = new DecayTree(30323);
489  dk->addDgtr(321, 113)->addDgtr(211,-211);
490  this->add(*dk);
491  this->add(AmpInitialiser(*dk, "GS"));
492  delete dk;
493 
494  dk = new DecayTree(30323);
495  dk->addDgtr(211, 323)->addDgtr(321,-211);
496  this->add(*dk);
497  delete dk;
498 
499 
500  return _trees.size();
501 }
502 
503 
504 
506 
507  //B0->D- D0 K+
508  DecayTree* dk=0;
509 
510  // B0->D- (D_s1(2536)->D0 K+)
511  dk = new DecayTree(511);
512  dk->addDgtr(-411, 10433)->addDgtr(421, 321);
513  this->add(*dk);
514  delete dk;
515 
516  // B0->D- (D_s2*(2573)->D0 K+)
517  dk = new DecayTree(511);
518  dk->addDgtr(-411, 435 )->addDgtr(421, 321);
519  this->add(*dk);
520  delete dk;
521 
522  // B0->D- (D_s1*(2700)->D0 K+)
523  dk = new DecayTree(511);
524  dk->addDgtr(-411, 9999915)->addDgtr(421, 321);
525  this->add(*dk);
526  delete dk;
527 
528  // B0->D- (D_sJ*(2860)->D0 K+)
529  dk = new DecayTree(511);
530  dk->addDgtr(-411,9999916 )->addDgtr(421, 321);
531  this->add(*dk);
532  delete dk;
533 
534  dk = new DecayTree(511);
535  dk->addDgtr(-411,9999917 )->addDgtr(421, 321);
536  this->add(*dk);
537  delete dk;
538 
539  // B0->D- (D_sJ*(3040)->D0 K+)
540  dk = new DecayTree(511);
541  dk->addDgtr(-411,9999918 )->addDgtr(421, 321);
542  this->add(*dk);
543  delete dk;
544 
545  dk = new DecayTree(511);
546  dk->addDgtr(-411,9999919 )->addDgtr(421, 321);
547  this->add(*dk);
548  delete dk;
549 
550  //non resonant
551  dk = new DecayTree(511);
552  dk->addDgtr(-411, 9993)->addDgtr(421, 321);
553  this->add(*dk);
554  this->add(AmpInitialiser(*dk, "NonRes"));
555  this->add(AmpInitialiser(*dk, "NonResExp"));
556  delete dk;
557 
558  dk = new DecayTree(511);
559  dk->addDgtr(421, 9993)->addDgtr(-411, 321);
560  this->add(*dk);
561  this->add(AmpInitialiser(*dk, "NonRes"));
562  this->add(AmpInitialiser(*dk, "NonResExp"));
563  delete dk;
564 
565  dk = new DecayTree(511);
566  dk->addDgtr(321, 9993)->addDgtr(421, -411);
567  this->add(*dk);
568  this->add(AmpInitialiser(*dk, "NonRes"));
569  this->add(AmpInitialiser(*dk, "NonResExp"));
570  delete dk;
571 
572  return _trees.size();
573 }
574 
576 
577  //B+->D0_bar D0 K+
578  DecayTree* dk=0;
579 
580  // B+->D0_bar (D_s1(2536)->D0 K+)
581  dk = new DecayTree(521);
582  dk->addDgtr(-421, 10433)->addDgtr(421, 321);
583  this->add(*dk);
584  delete dk;
585 
586  // B+->D0_bar (D_s2*(2573)->D0 K+)
587  dk = new DecayTree(521);
588  dk->addDgtr(-421, 435)->addDgtr(421, 321);
589  this->add(*dk);
590  delete dk;
591 
592  // B+->D0_bar (D_s1*(2700)->D0 K+)
593  dk = new DecayTree(521);
594  dk->addDgtr(-421, 9999915)->addDgtr(421, 321);
595  this->add(*dk);
596  delete dk;
597 
598  // B+->D0_bar (D_sJ*(2860)->D0 K+)
599  dk = new DecayTree(521);
600  dk->addDgtr(-421,9999916 )->addDgtr(421, 321);
601  this->add(*dk);
602  delete dk;
603 
604  dk = new DecayTree(521);
605  dk->addDgtr(-421,9999917 )->addDgtr(421, 321);
606  this->add(*dk);
607  delete dk;
608 
609  // B+->D0_bar (D_sJ*(3040)->D0 K+)
610  dk = new DecayTree(521);
611  dk->addDgtr(-421,9999918 )->addDgtr(421, 321);
612  this->add(*dk);
613  delete dk;
614 
615  dk = new DecayTree(521);
616  dk->addDgtr(-421,9999919 )->addDgtr(421, 321);
617  this->add(*dk);
618  delete dk;
619 
620  // B+->K+ (psi(3770)-> D D)
621  dk = new DecayTree(521);
622  dk->addDgtr(321, 30443)->addDgtr(421, -421);
623  this->add(*dk);
624  delete dk;
625 
626  // B+->K+ (chi_c2-> D D)
627  dk = new DecayTree(521);
628  dk->addDgtr(321, 100445)->addDgtr(421, -421);
629  this->add(*dk);
630  delete dk;
631 
632  // B+->K+ (psi(4040)-> D D)
633  dk = new DecayTree(521);
634  dk->addDgtr(321, 9000443)->addDgtr(421, -421);
635  this->add(*dk);
636  delete dk;
637 
638  // B+->K+ (psi(4160)-> D D)
639  dk = new DecayTree(521);
640  dk->addDgtr(321, 9010443)->addDgtr(421, -421);
641  this->add(*dk);
642  delete dk;
643 
644  // B+->K+ (psi(4415)-> D D)
645  dk = new DecayTree(521);
646  dk->addDgtr(321, 9020443)->addDgtr(421, -421);
647  this->add(*dk);
648  delete dk;
649 
650  //non resonant
651  dk = new DecayTree(521);
652  dk->addDgtr(-421, 9993)->addDgtr(421, 321);
653  this->add(*dk);
654  this->add(AmpInitialiser(*dk, "NonRes"));
655  this->add(AmpInitialiser(*dk, "NonResExp"));
656  delete dk;
657 
658  return _trees.size();
659 }
660 
662  /* according to list in
663  %\cite{Poluektov:2006ia}
664  \bibitem{Poluektov:2006ia}
665  A.~Poluektov {\it et al.} [Belle Collaboration],
666  %``Measurement of phi(3) with Dalitz plot analysis of B+ --> D(*) K(*)+
667  %decay,''
668  Phys.\ Rev.\ D {\bf 73} (2006) 112009
669  [arXiv:hep-ex/0604054].
670  %%CITATION = PHRVA,D73,112009;%%
671 
672  NOTE: sigma_1 and sigma_2 added by hand to ParticleProperties file in:
673  ParticleProperties/src/mass_width.csv
674  I gave them the following PDG IDs : sigma_1 999001, sigma_2 9992
675  */
676 
677  // D-> Ks pi pi
678 
679  // bool dbThis=false;
680  DecayTree* dk=0;
681 
682  // Ks sigma_1
683  dk = new DecayTree(421);
684  dk->addDgtr(310, 999001)->addDgtr(211, -211);
685  this->add(*dk);
686  delete dk;
687 
688  // Ks rho (770)
689  dk = new DecayTree(421);
690  dk->addDgtr(310, 113)->addDgtr(211, -211);
691  this->add(AmpInitialiser(*dk, "GS"));
692  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
693  this->add(*dk);
694  delete dk;
695 
696  // Ks omega
697  dk = new DecayTree(421);
698  dk->addDgtr(310, 223)->addDgtr(211, -211);
699  this->add(*dk);
700  delete dk;
701 
702  // Ks f0(980) [not used in BaBar fit, I think]
703  dk = new DecayTree(421);
704  dk->addDgtr(310, 9010221)->addDgtr(211, -211);
705  this->add(AmpInitialiser(*dk, "Flatte"));
706  this->add(*dk);
707  delete dk;
708 
709  // Ks omega ???
710  dk = new DecayTree(421);
711  dk->addDgtr(310, 9010221)->addDgtr(211, -211);
712  this->add(*dk);
713  delete dk;
714 
715  // Ks sigma_2
716  dk = new DecayTree(421);
717  dk->addDgtr(310, 999011)->addDgtr(211, -211);
718  this->add(*dk);
719  delete dk;
720 
721  // Ks f2(1270)
722  dk = new DecayTree(421);
723  dk->addDgtr(310, 225)->addDgtr(211, -211);
724  this->add(*dk);
725  delete dk;
726 
727  // Ks f0(1370)
728  dk = new DecayTree(421);
729  dk->addDgtr(310, 30221)->addDgtr(211, -211);
730  this->add(*dk);
731  delete dk;
732 
733  // Ks rho(1450)
734  dk = new DecayTree(421);
735  dk->addDgtr(310, 100113)->addDgtr(211, -211);
736  this->add(AmpInitialiser(*dk, "GS"));
737  this->add(*dk);
738  delete dk;
739 
740  //* D->Kspipi with K*
741 
742  // K*(892)+ pi-
743  dk = new DecayTree(421);
744  dk->addDgtr(-211, 323)->addDgtr(310, +211);
745  this->add(*dk);
746  delete dk;
747  // note: CP-conjugates (here: K*- pi+) are generated automatically
748 
749  // K*(1410)+ pi-
750  dk = new DecayTree(421);
751  dk->addDgtr(-211, 100323)->addDgtr(310, +211);
752  this->add(*dk);
753  delete dk;
754  // CP-conjugate automatically
755 
756  // K0*(1430)+ pi-
757  dk = new DecayTree(421);
758  dk->addDgtr(-211, 10321)->addDgtr(310, 211);
759  this->add(AmpInitialiser(*dk, "Lass"));// both options, Lass or BW
760  this->add(*dk);
761  delete dk;
762  // CP-conjugate automatically
763 
764  // K2*(1430)+ pi-
765  dk = new DecayTree(421);
766  dk->addDgtr(-211, 325)->addDgtr(310, 211);
767  this->add(*dk);
768  delete dk;
769  // CP-conjugate automatically
770 
771  // K2*(1680)+ pi-
772  dk = new DecayTree(421);
773  dk->addDgtr(-211, 30323)->addDgtr(310, 211);
774  this->add(*dk);
775  delete dk;
776  // CP-conjugate automatically
777 
778  // non-resonant:
779  dk = new DecayTree(421);
780  dk->addDgtr(310, 211, -211);
781  this->add(*dk);
782  delete dk;
783 
784  return _trees.size();
785 }
786 
788  DecayTree* dk=0;
789 
790  /*
791  // D->K*_3(1780)0bar(K- pi+) pi0
792  dk = new DecayTree(421);
793  dk->addDgtr(111, -317)->addDgtr(-321, 211);
794  this->add(*dk);
795  delete dk;
796  // D->K*_3(1780)-(K- pi0) pi+
797  dk = new DecayTree(421);
798  dk->addDgtr(211, -327)->addDgtr(-321, 111);
799  this->add(*dk);
800  delete dk;
801  (can't handle spin-3 resonances yet)
802  */
803 
804  // D->K*(1680)0bar(K- pi+) pi0
805  dk = new DecayTree(421);
806  dk->addDgtr(111, -30313)->addDgtr(-321, 211);
807  this->add(*dk);
808  delete dk;
809 
810  // D->K*(1680)-(K- pi0) pi+
811  dk = new DecayTree(421);
812  dk->addDgtr(211, -30323)->addDgtr(-321, 111);
813  this->add(*dk);
814  delete dk;
815 
816  // D->rho(1700)+(pi+pi0) K-
817  dk = new DecayTree(421);
818  dk->addDgtr(-321, 30213)->addDgtr(211, 111);
819  this->add(*dk);
820  delete dk;
821 
822  // D->rho(1450)+(pi+pi0) K-
823  dk = new DecayTree(421);
824  dk->addDgtr(-321, 100213)->addDgtr(211, 111);
825  this->add(*dk);
826  delete dk;
827 
828  // D->K*_2(1430)0bar(K- pi+) pi0
829  dk = new DecayTree(421);
830  dk->addDgtr(111, -315)->addDgtr(-321, 211);
831  this->add(*dk);
832  delete dk;
833 
834  // D->K*_2(1430)-(K- pi0) pi+
835  dk = new DecayTree(421);
836  dk->addDgtr(211, -325)->addDgtr(-321, 111);
837  this->add(*dk);
838  delete dk;
839 
840  // D->K*_0(1430)0bar(K- pi+) pi0
841  dk = new DecayTree(421);
842  dk->addDgtr(111, -10311)->addDgtr(-321, 211);
843  this->add(AmpInitialiser(*dk, "Lass"));// Lass
844  this->add(*dk);// BW
845  delete dk;
846 
847  // D->K*_0(1430)-(K- pi0) pi+
848  dk = new DecayTree(421);
849  dk->addDgtr(211, -10321)->addDgtr(-321, 111);
850  this->add(*dk);
851  delete dk;
852 
853  // D->K*bar(1410)0(K- pi+) pi0
854  dk = new DecayTree(421);
855  dk->addDgtr(111, -100313)->addDgtr(-321, 211);
856  this->add(*dk);
857  delete dk;
858 
859  // D->K*(1410)-(K- pi0) pi+
860  dk = new DecayTree(421);
861  dk->addDgtr(211, -100323)->addDgtr(-321, 111);
862  this->add(*dk);
863  delete dk;
864 
865  // D->K*(892)-(K-pi0) pi+
866  dk = new DecayTree(421);
867  dk->addDgtr(211, -323)->addDgtr(-321, 111);
868  this->add(*dk);
869  delete dk;
870 
871  // D->K*bar(892)0(K- pi+)
872  dk = new DecayTree(421);
873  dk->addDgtr(111, -313)->addDgtr(-321, 211);
874  this->add(*dk);
875  delete dk;
876 
877  // D->K- rho+(pi+ pi0)
878  dk = new DecayTree(421);
879  dk->addDgtr(-321, 213)->addDgtr(211, 111);
880  this->add(*dk);
881  delete dk;
882 
883  // non-resonant
884  dk = new DecayTree(421);
885  dk->addDgtr(-321, 211, 111);
886  this->add(*dk);
887  delete dk;
888 
889  return _trees.size();
890 
891 }
892 
893 // D+ to K- K+ pi+ (Matthew Charles)
894 
896  DecayTree* dk=0;
897 
898  // Resonances in (K- pi+)
899  // ----------------------
900 
901  // K*(892)0bar K+
902  dk = new DecayTree(411);
903  dk->addDgtr(321, -313)->addDgtr(-321, 211);
904  this->add(*dk);
905  delete dk;
906 
907  // K0*(1430)0bar K+
908  dk = new DecayTree(411);
909  dk->addDgtr(321, -10311)->addDgtr(-321, 211);
910  this->add(*dk);
911  delete dk;
912 
913  // K2*(1430)0bar K+
914  dk = new DecayTree(411);
915  dk->addDgtr(321, -315)->addDgtr(-321, 211);
916  this->add(*dk);
917  delete dk;
918 
919  // kappabar K+
920  dk = new DecayTree(411);
921  dk->addDgtr(321, -999041)->addDgtr(-321, 211);
922  this->add(*dk);
923  delete dk;
924 
925  // D+ -> (LASS in K- pi+) K+
926  // To make Mojito use a LASS parameterization, we have to
927  // choose K0*(1430) as the resonance, i.e.
928  // abs(pdg) = 10311 for K0*(1430)+
929  // abs(pdg) = 10321 for K0*(1430)0
930  dk = new DecayTree(411);
931  dk->addDgtr(321, -10311)->addDgtr(-321, 211);
932  this->add(AmpInitialiser(*dk, "Lass"));
933  delete dk;
934 
935  // non-resonant S-wave
936  dk = new DecayTree(411);
937  dk->addDgtr(321, 9981)->addDgtr(-321, 211);
938  this->add(*dk);
939  this->add(AmpInitialiser(*dk, "TopHats"));
940  delete dk;
941 
942  // Resonances in (K- K+)
943  // ---------------------
944 
945  // phi(1020) pi+
946  dk = new DecayTree(411);
947  dk->addDgtr(211, 333)->addDgtr(321, -321);
948  this->add(*dk);
949  delete dk;
950 
951  // phi(1680) pi+
952  dk = new DecayTree(411);
953  dk->addDgtr(211, 100333)->addDgtr(321, -321);
954  this->add(*dk);
955  delete dk;
956 
957  // a0(1450)0 pi+
958  dk = new DecayTree(411);
959  dk->addDgtr(211, 10111)->addDgtr(321, -321);
960  this->add(*dk);
961  delete dk;
962 
963  // Non-resonant
964  // ------------
965 
966  dk = new DecayTree(411);
967  dk->addDgtr(321, -321, 211);
968  this->add(*dk);
969  delete dk;
970 
971  // Done
972  return _trees.size();
973 }
974 
976  // D0 -> (rho(770)0 -> pi+ pi-) pi0.
977  DecayTree dkRho0Pi0(421) ;
978  dkRho0Pi0.addDgtr(111, 113)->addDgtr(211, -211) ;
979  add(dkRho0Pi0) ;
980 
981  // D0 -> (rho(770)+ -> pi+ pi0) pi-
982  DecayTree dkRhopPim(421) ;
983  dkRhopPim.addDgtr(-211, 213)->addDgtr(211, 111) ;
984  add(dkRhopPim) ;
985 
986  // D0 -> (rho(770)- -> pi- pi0) pi+
987  DecayTree dkRhomPip(421) ;
988  dkRhomPip.addDgtr(211, -213)->addDgtr(-211, 111) ;
989  add(dkRhomPip) ;
990 
991  // D0 -> (rho(1450)0 -> pi+ pi-) pi0
992  DecayTree dkRho0_1450Pi0(421) ;
993  dkRho0_1450Pi0.addDgtr(111, 100113)->addDgtr(211, -211) ;
994  add(dkRho0_1450Pi0) ;
995 
996  // D0 -> (rho(1450)+ -> pi+ pi0) pi-
997  DecayTree dkRhop_1450Pim(421) ;
998  dkRhop_1450Pim.addDgtr(-211, 100213)->addDgtr(211, 111) ;
999  add(dkRhop_1450Pim) ;
1000 
1001  // D0 -> (rho(1450)- -> pi- pi0) pi+
1002  DecayTree dkRhom_1450Pip(421) ;
1003  dkRhom_1450Pip.addDgtr(211, -100213)->addDgtr(-211, 111) ;
1004  add(dkRhom_1450Pip) ;
1005 
1006  // D0 -> (rho(1700)0 -> pi+ pi-) pi0
1007  DecayTree dkRho0_1700Pi0(421) ;
1008  dkRho0_1700Pi0.addDgtr(111, 30113)->addDgtr(211, -211) ;
1009  add(dkRho0_1700Pi0) ;
1010 
1011  // D0 -> (rho(1700)+ -> pi+ pi0) pi-
1012  DecayTree dkRhop_1700Pim(421) ;
1013  dkRhop_1700Pim.addDgtr(-211, 30213)->addDgtr(211, 111) ;
1014  add(dkRhop_1700Pim) ;
1015 
1016  // D0 -> (rho(1700)- -> pi- pi0) pi+
1017  DecayTree dkRhom_1700Pip(421) ;
1018  dkRhom_1700Pip.addDgtr(211, -30213)->addDgtr(-211, 111) ;
1019  add(dkRhom_1700Pip) ;
1020 
1021  // D0 -> (f0(980) -> pi+ pi-) pi0
1022  DecayTree dkf0_980Pi0(421) ;
1023  dkf0_980Pi0.addDgtr(111, 9010221)->addDgtr(211, -211) ;
1024  add(dkf0_980Pi0) ;
1025 
1026  // D0 -> (f0(1370) -> pi+ pi-) pi0
1027  DecayTree dkf0_1370Pi0(421) ;
1028  dkf0_1370Pi0.addDgtr(111, 30221)->addDgtr(211, -211) ;
1029  add(dkf0_1370Pi0) ;
1030 
1031  // D0 -> (f0(1500) -> pi+ pi-) pi0
1032  DecayTree dkf0_1500Pi0(421) ;
1033  dkf0_1500Pi0.addDgtr(111, 9030221)->addDgtr(211, -211) ;
1034  add(dkf0_1500Pi0) ;
1035 
1036  // D0 -> (f0(1710) -> pi+ pi-) pi0
1037  DecayTree dkf0_1710Pi0(421) ;
1038  dkf0_1710Pi0.addDgtr(111, 10331)->addDgtr(211, -211) ;
1039  add(dkf0_1710Pi0) ;
1040 
1041  // D0 -> (f2(1270) -> pi+ pi-) pi0
1042  DecayTree dkf2_1270Pi0(421) ;
1043  dkf2_1270Pi0.addDgtr(111, 225)->addDgtr(211, -211) ;
1044  add(dkf2_1270Pi0) ;
1045 
1046 
1047  return _trees.size() ;
1048 }
1049 
1051  //D0 -> (K*(892)+ -> K+ pi0) K-
1052  DecayTree dkKstKm(421);
1053  dkKstKm.addDgtr(-321,323)->addDgtr(321,111);
1054  add(dkKstKm);
1055 
1056  //D0 -> (K*(1410)+ -> K+ pi0) K-
1057  DecayTree dkKst_1410Km(421);
1058  dkKst_1410Km.addDgtr(-321,100323)->addDgtr(321,111);
1059  add(dkKst_1410Km);
1060 
1061  //D0 -> (K*(1430) -> K+ pi0(S)) K-, LASS model.
1062  DecayTree dkKstLASS(421);
1063  dkKstLASS.addDgtr(-321, 10321)->addDgtr(321, 111);
1064  add(dkKstLASS);
1065  add(AmpInitialiser(dkKstLASS, "Lass"));
1066 
1067  //D0 -> (phi(1020) -> K+ K-) pi0
1068  DecayTree dkPhiPi0(421);
1069  dkPhiPi0.addDgtr(111,333)->addDgtr(321,-321);
1070  add(dkPhiPi0);
1071 
1072  //D0 -> (f0(980) -> K+ K-) pi0
1073  DecayTree dkf0Pi0(421);
1074  dkf0Pi0.addDgtr(111,9010221)->addDgtr(321,-321);
1075  add(dkf0Pi0);
1076 
1077  //D0 -> (a0(980)0 -> K+ K-) pi0
1078  //Show the a0 contribution when it is included in place of the f0(980)?
1079  DecayTree dka0Pi0(421);
1080  dka0Pi0.addDgtr(111,9000111)->addDgtr(321,-321);
1081  add(dka0Pi0);
1082 
1083  //D0 -> (f2'(1525) -> K+ K-) pi0
1084  DecayTree dkf2Pi0(421);
1085  dkf2Pi0.addDgtr(111,335)->addDgtr(321,-321);
1086  add(dkf2Pi0);
1087 
1088  //D0 -> (K*(892)- -> K- pi0) K+
1089  DecayTree dkKstKp(421);
1090  dkKstKp.addDgtr(321,-323)->addDgtr(-321,111);
1091  add(dkKstKp);
1092 
1093  //D0 -> (K*(1410) -> K- pi0) K+
1094  DecayTree dkKst_1410Kp(421);
1095  dkKst_1410Kp.addDgtr(321,-100323)->addDgtr(-321,111);
1096  add(dkKst_1410Kp);
1097 
1098  //D0 -> (K- pi0(S)) ->
1099 
1100  return _trees.size();
1101 }
1102 
1103 
1104 //======================== 4 body decays ========================
1106 
1107  DecayTree* dk=0;
1108 
1109  // B->psi K1(1270); K1->K*(892) pi; K*->K pi
1110  dk = new DecayTree(521);
1111  dk->addDgtr(100443, 10323)->addDgtr(211, 313)->addDgtr(321,-211);
1112  this->add(*dk);
1113  this->add(AmpInitialiser(*dk, "MI_10323"));
1114  dk->getVal().setL(1);
1115  this->add(*dk);
1116  dk->getVal().setL(2);
1117  this->add(*dk);
1118  delete dk;
1119 
1120  dk = new DecayTree(521);
1121  DecayTree k1(10323);
1122  k1.getVal().setL(2);
1123  k1.addDgtr(211, 313)->addDgtr(321,-211);
1124  dk->addDgtr(100443);
1125  dk->addDgtr(&k1);
1126  this->add(*dk);
1127  dk->getVal().setL(1);
1128  this->add(*dk);
1129  dk->getVal().setL(2);
1130  this->add(*dk);
1131  delete dk;
1132 
1133  // B->psi K1(1270); K1->K rho(770); rho->pi pi
1134  dk = new DecayTree(521);
1135  dk->addDgtr(100443, 10323)->addDgtr(321, 113)->addDgtr(211,-211);
1136  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
1137  this->add(AmpInitialiser(*dk, "GS"));
1138  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
1139  this->add(AmpInitialiser(*dk, "MI_10323"));
1140  this->add(AmpInitialiser(*dk, "MI_10323GS"));
1141  this->add(*dk);
1142  dk->getVal().setL(1);
1143  this->add(*dk);
1144  this->add(AmpInitialiser(*dk, "GS"));
1145  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
1146  dk->getVal().setL(2);
1147  this->add(*dk);
1148  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
1149  this->add(AmpInitialiser(*dk, "GS"));
1150  delete dk;
1151 
1152  // B->psi K1(1270); K1->K omega; omega->pi pi
1153  dk = new DecayTree(521);
1154  dk->addDgtr(100443, 10323)->addDgtr(321, 223)->addDgtr(211,-211);
1155  this->add(*dk);
1156  delete dk;
1157 
1158  // B->psi K1(1270); K1->K sigma; sigma->pi pi
1159  dk = new DecayTree(521);
1160  dk->addDgtr(100443, 10323)->addDgtr(321, 9000221)->addDgtr(211,-211);
1161  this->add(*dk);
1162  this->add(AmpInitialiser(*dk, "Bugg"));
1163  dk->getVal().setL(1);
1164  this->add(*dk);
1165  this->add(AmpInitialiser(*dk, "Bugg"));
1166  dk->getVal().setL(2);
1167  this->add(*dk);
1168  this->add(AmpInitialiser(*dk, "Bugg"));
1169  delete dk;
1170 
1171  // B->psi K1(1270); K1-> K0^*(1430) pi; K0^*->K pi
1172  dk = new DecayTree(521);
1173  dk->addDgtr(100443, 10323)->addDgtr(211, 10311)->addDgtr(321,-211);
1174  this->add(AmpInitialiser(*dk, "Lass"));
1175  this->add(*dk);
1176  dk->getVal().setL(1);
1177  this->add(*dk);
1178  this->add(AmpInitialiser(*dk, "Lass"));
1179  dk->getVal().setL(2);
1180  this->add(*dk);
1181  this->add(AmpInitialiser(*dk, "Lass"));
1182  delete dk;
1183 
1184  // B->psi K1(1400); K1->K*(892) pi; K*->K pi
1185  dk = new DecayTree(521);
1186  dk->addDgtr(100443, 20323)->addDgtr(211, 313)->addDgtr(321,-211);
1187  this->add(*dk);
1188  dk->getVal().setL(1);
1189  this->add(*dk);
1190  dk->getVal().setL(2);
1191  this->add(*dk);
1192  delete dk;
1193 
1194  // B->psi K1(1400); K1->K rho(770); rho->pi pi
1195  dk = new DecayTree(521);
1196  dk->addDgtr(100443, 20323)->addDgtr(321, 113)->addDgtr(211,-211);
1197  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
1198  this->add(AmpInitialiser(*dk, "GS"));
1199  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
1200  this->add(*dk);
1201  dk->getVal().setL(1);
1202  this->add(*dk);
1203  this->add(AmpInitialiser(*dk, "GS"));
1204  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
1205  dk->getVal().setL(2);
1206  this->add(*dk);
1207  this->add(AmpInitialiser(*dk, "GS"));
1208  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
1209  delete dk;
1210 
1211  // B->psi K*(1410); K*(1410)->K*(892) pi; K*->K pi
1212  dk = new DecayTree(521);
1213  dk->addDgtr(100443, 100323)->addDgtr(211, 313)->addDgtr(321,-211);
1214  this->add(*dk);
1215  this->add(AmpInitialiser(*dk, "MI_100323"));
1216  dk->getVal().setL(1);
1217  this->add(*dk);
1218  dk->getVal().setL(2);
1219  this->add(*dk);
1220  delete dk;
1221 
1222  // B->psi K*(1410); K*->K rho(770); rho->pi pi
1223  dk = new DecayTree(521);
1224  dk->addDgtr(100443, 100323)->addDgtr(321, 113)->addDgtr(211,-211);
1225  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
1226  this->add(AmpInitialiser(*dk, "GS"));
1227  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
1228  this->add(AmpInitialiser(*dk, "MI_10323"));
1229  this->add(AmpInitialiser(*dk, "MI_10323GS"));
1230  this->add(AmpInitialiser(*dk, "MI_10323RhoOmegaGS"));
1231  this->add(*dk);
1232  dk->getVal().setL(1);
1233  this->add(*dk);
1234  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
1235  dk->getVal().setL(2);
1236  this->add(*dk);
1237  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
1238  delete dk;
1239 
1240  // B->psi K2*(1430); K2->K*(892) pi; K*->K pi
1241  dk = new DecayTree(521);
1242  dk->addDgtr(100443, 325)->addDgtr(211, 313)->addDgtr(321,-211);
1243  this->add(*dk);
1244  delete dk;
1245 
1246  // B->psi K2*(1430); K2->K rho(770); rho->pi pi
1247  dk = new DecayTree(521);
1248  dk->addDgtr(100443, 325)->addDgtr(321, 113)->addDgtr(211,-211);
1249  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
1250  this->add(AmpInitialiser(*dk, "GS"));
1251  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
1252  this->add(*dk);
1253  delete dk;
1254 
1255  // B->psi K(1460); K->K*(892) pi; K*->K pi
1256  dk = new DecayTree(521);
1257  dk->addDgtr(100443, 100321)->addDgtr(211, 313)->addDgtr(321,-211);
1258  this->add(*dk);
1259  this->add(AmpInitialiser(*dk, "MI_100321"));
1260  delete dk;
1261 
1262  // B->psi K(1460); K->K rho(770); rho->pi pi
1263  dk = new DecayTree(521);
1264  dk->addDgtr(100443, 100321)->addDgtr(321, 113)->addDgtr(211,-211);
1265  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
1266  this->add(AmpInitialiser(*dk, "GS"));
1267  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
1268  this->add(AmpInitialiser(*dk, "MI_100321"));
1269  this->add(AmpInitialiser(*dk, "MI_100321GS"));
1270  this->add(AmpInitialiser(*dk, "MI_100321RhoOmegaGS"));
1271  this->add(*dk);
1272  delete dk;
1273 
1274  // B->psi K(1460); K->K f0(980); f0->pi pi
1275  dk = new DecayTree(521);
1276  dk->addDgtr(100443, 100321)->addDgtr(321, 9010221)->addDgtr(211,-211);
1277  this->add(AmpInitialiser(*dk, "Flatte"));
1278  this->add(AmpInitialiser(*dk, "MI_100321"));
1279  this->add(AmpInitialiser(*dk, "MI_100321Flatte"));
1280  this->add(*dk);
1281  delete dk;
1282 
1283  // B->psi K(1460); K-> K0^*(1430) pi; K0^*->K pi
1284  dk = new DecayTree(521);
1285  dk->addDgtr(100443, 100321)->addDgtr(211, 10311)->addDgtr(321,-211);
1286  this->add(AmpInitialiser(*dk, "Lass"));
1287  this->add(AmpInitialiser(*dk, "MI_100321"));
1288  this->add(AmpInitialiser(*dk, "MI_100321Lass"));
1289  this->add(*dk);
1290  delete dk;
1291 
1292  // B->psi K2(1580); K2->K*(892) pi; K*->K pi
1293  dk = new DecayTree(521);
1294  dk->addDgtr(100443, 9000325)->addDgtr(211, 313)->addDgtr(321,-211);
1295  this->add(*dk);
1296  delete dk;
1297 
1298  // B->psi K2(1580); K2->K rho(770); rho->pi pi
1299  dk = new DecayTree(521);
1300  dk->addDgtr(100443, 9000325)->addDgtr(321, 113)->addDgtr(211,-211);
1301  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
1302  this->add(AmpInitialiser(*dk, "GS"));
1303  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
1304  this->add(*dk);
1305  delete dk;
1306 
1307  // B->psi K2(1580); K2->K f0(980); f2->pi pi
1308  dk = new DecayTree(521);
1309  dk->addDgtr(100443, 9000325)->addDgtr(321, 9010221)->addDgtr(211,-211);
1310  this->add(AmpInitialiser(*dk, "Flatte"));
1311  this->add(*dk);
1312  delete dk;
1313 
1314  // B->psi K2(1580); K2->K f2(1270); f2->pi pi
1315  dk = new DecayTree(521);
1316  dk->addDgtr(100443, 9000325)->addDgtr(321, 225)->addDgtr(211,-211);
1317  this->add(*dk);
1318  delete dk;
1319 
1320  // B->psi K2(1580); K2->K2*(1430) pi; K2*->K pi
1321  dk = new DecayTree(521);
1322  dk->addDgtr(100443, 9000325)->addDgtr(211, 315)->addDgtr(321,-211);
1323  this->add(*dk);
1324  delete dk;
1325 
1326  // B->psi K1(1650); K1->K*(892) pi; K*->K pi
1327  dk = new DecayTree(521);
1328  dk->addDgtr(100443, 9000323)->addDgtr(211, 313)->addDgtr(321,-211);
1329  this->add(*dk);
1330  dk->getVal().setL(1);
1331  this->add(*dk);
1332  dk->getVal().setL(2);
1333  this->add(*dk);
1334  delete dk;
1335 
1336  // B->psi K1(1650); K1->K rho(770); rho->pi pi
1337  dk = new DecayTree(521);
1338  dk->addDgtr(100443, 9000323)->addDgtr(321, 113)->addDgtr(211,-211);
1339  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
1340  this->add(AmpInitialiser(*dk, "GS"));
1341  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
1342  this->add(*dk);
1343  dk->getVal().setL(1);
1344  this->add(*dk);
1345  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
1346  dk->getVal().setL(2);
1347  this->add(*dk);
1348  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
1349  delete dk;
1350 
1351  // B->psi K1*(1680); K2->K*(892) pi; K*->K pi
1352  dk = new DecayTree(521);
1353  dk->addDgtr(100443, 30323)->addDgtr(211, 313)->addDgtr(321,-211);
1354  this->add(*dk);
1355  dk->getVal().setL(1);
1356  this->add(*dk);
1357  dk->getVal().setL(2);
1358  this->add(*dk);
1359  delete dk;
1360 
1361  // B->psi K1*(1680); K2->K rho(770); rho->pi pi
1362  dk = new DecayTree(521);
1363  dk->addDgtr(100443, 30323)->addDgtr(321, 113)->addDgtr(211,-211);
1364  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
1365  this->add(AmpInitialiser(*dk, "GS"));
1366  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
1367  this->add(*dk);
1368  dk->getVal().setL(1);
1369  this->add(*dk);
1370  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
1371  dk->getVal().setL(2);
1372  this->add(*dk);
1373  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
1374  delete dk;
1375 
1376  // B->psi K2(1770); K2->K*(892) pi; K*->K pi
1377  dk = new DecayTree(521);
1378  dk->addDgtr(100443, 10325)->addDgtr(211, 313)->addDgtr(321,-211);
1379  this->add(*dk);
1380  delete dk;
1381 
1382  // B->psi K2(1770); K2->K rho(770); rho->pi pi
1383  dk = new DecayTree(521);
1384  dk->addDgtr(100443, 10325)->addDgtr(321, 113)->addDgtr(211,-211);
1385  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
1386  this->add(AmpInitialiser(*dk, "GS"));
1387  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
1388  this->add(*dk);
1389  delete dk;
1390 
1391  // B->psi K2(1770); K2->K f0(980); f2->pi pi
1392  dk = new DecayTree(521);
1393  dk->addDgtr(100443, 10325)->addDgtr(321, 9010221)->addDgtr(211,-211);
1394  this->add(AmpInitialiser(*dk, "Flatte"));
1395  this->add(*dk);
1396  delete dk;
1397 
1398  // B->psi K2(1770); K2->K f2(1270); f2->pi pi
1399  dk = new DecayTree(521);
1400  dk->addDgtr(100443, 10325)->addDgtr(321, 225)->addDgtr(211,-211);
1401  this->add(*dk);
1402  delete dk;
1403 
1404  // B->psi K2(1770); K2->K2*(1430) pi; K2*->K pi
1405  dk = new DecayTree(521);
1406  dk->addDgtr(100443, 10325)->addDgtr(211, 315)->addDgtr(321,-211);
1407  this->add(*dk);
1408  delete dk;
1409 
1410  //Charmonia amplitudes:
1411  //------------------------
1412 
1413  // B->X(3872) K; X-> psi rho
1414  dk = new DecayTree(521);
1415  dk->addDgtr(321, 9999991)->addDgtr(100443, 113)->addDgtr(211,-211);
1416  this->add(*dk);
1417  this->add(AmpInitialiser(*dk, "GS"));
1418  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
1419  delete dk;
1420 
1421  // B->psi(4160) K; psi-> psi pi pi
1422  dk = new DecayTree(521);
1423  dk->addDgtr(321, 9010443)->addDgtr(100443, 9981)->addDgtr(211,-211);
1424  this->add(*dk);
1425  this->add(AmpInitialiser(*dk, "3Body"));
1426  delete dk;
1427  dk = new DecayTree(521);
1428  dk->addDgtr(321, 9010443)->addDgtr(100443, 9993)->addDgtr(211,-211);
1429  this->add(*dk);
1430  delete dk;
1431 
1432  // B->X(4260) K; X-> psi pi pi
1433  dk = new DecayTree(521);
1434  dk->addDgtr(321, 9999992)->addDgtr(100443, 9981)->addDgtr(211,-211);
1435  this->add(*dk);
1436  this->add(AmpInitialiser(*dk, "3Body"));
1437  delete dk;
1438  dk = new DecayTree(521);
1439  dk->addDgtr(321, 9999992)->addDgtr(100443, 9993)->addDgtr(211,-211);
1440  this->add(*dk);
1441  delete dk;
1442 
1443  // B->X(4260) K; X-> psi rho
1444  dk = new DecayTree(521);
1445  dk->addDgtr(321, 9999992)->addDgtr(100443, 113)->addDgtr(211,-211);
1446  this->add(*dk);
1447  this->add(AmpInitialiser(*dk, "GS"));
1448  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
1449  this->add(AmpInitialiser(*dk, "LS_10_GS"));
1450  this->add(AmpInitialiser(*dk, "LS_10_"));
1451  this->add(AmpInitialiser(*dk, "LS_11_GS"));
1452  this->add(AmpInitialiser(*dk, "LS_11_"));
1453  this->add(AmpInitialiser(*dk, "LS_12_GS"));
1454  this->add(AmpInitialiser(*dk, "LS_12_"));
1455  delete dk;
1456 
1457  // B->K X(4260); X->f0 psi; f0->pi pi
1458  dk = new DecayTree(521);
1459  dk->addDgtr(321, 9999992)->addDgtr(100443, 9010221)->addDgtr(211,-211);
1460  this->add(*dk);
1461  this->add(AmpInitialiser(*dk, "Flatte"));
1462  this->add(AmpInitialiser(*dk, "MI_9999992"));
1463  this->add(AmpInitialiser(*dk, "MI_9999992Flatte"));
1464  delete dk;
1465 
1466  // B->K X(4260); X->sigma psi; sigma->pi pi
1467  dk = new DecayTree(521);
1468  dk->addDgtr(321, 9999992)->addDgtr(100443, 9000221)->addDgtr(211,-211);
1469  this->add(*dk);
1470  this->add(AmpInitialiser(*dk, "Bugg"));
1471  this->add(AmpInitialiser(*dk, "MI_9999992"));
1472  this->add(AmpInitialiser(*dk, "MI_9999992Bugg"));
1473  delete dk;
1474 
1475  // B->X(4660) K; X-> psi pi pi
1476  dk = new DecayTree(521);
1477  dk->addDgtr(321, 9999914)->addDgtr(100443, 9981)->addDgtr(211,-211);
1478  this->add(*dk);
1479  this->add(AmpInitialiser(*dk, "3Body"));
1480  delete dk;
1481  dk = new DecayTree(521);
1482  dk->addDgtr(321, 9999914)->addDgtr(100443, 9993)->addDgtr(211,-211);
1483  this->add(*dk);
1484  delete dk;
1485 
1486  // B->K X(4260); X->f0 psi; f0->pi pi
1487  dk = new DecayTree(521);
1488  dk->addDgtr(321, 9999992)->addDgtr(100443, 9010221)->addDgtr(211,-211);
1489  this->add(*dk);
1490  this->add(AmpInitialiser(*dk, "Flatte"));
1491  delete dk;
1492 
1493  //Exotics:
1494  //------------------------
1495 
1496  //B->K* Z(3900)V
1497  dk = new DecayTree(521);
1498  DecayTree Ks(313);
1499  Ks.addDgtr(321,-211);
1500  DecayTree Z(9999994);
1501  Z.addDgtr(100443,211);
1502  dk->addDgtr(&Ks);
1503  dk->addDgtr(&Z);
1504  this->add(*dk);
1505  this->add(AmpInitialiser(*dk, "MI_9999994"));
1506  delete dk;
1507 
1508  dk = new DecayTree(521);
1509  Ks=DecayTree(9993);
1510  Ks.addDgtr(321,-211);
1511  Z=DecayTree(9999994);
1512  Z.addDgtr(100443,211);
1513  dk->addDgtr(&Ks);
1514  dk->addDgtr(&Z);
1515  this->add(*dk);
1516  delete dk;
1517 
1518  //B->K* Z(3900)A
1519  dk = new DecayTree(521);
1520  Ks=DecayTree(313);
1521  Ks.addDgtr(321,-211);
1522  Z=DecayTree(9999993);
1523  Z.addDgtr(100443,211);
1524  dk->addDgtr(&Ks);
1525  dk->addDgtr(&Z);
1526  this->add(*dk);
1527  this->add(AmpInitialiser(*dk, "MI_9999993"));
1528  delete dk;
1529 
1530  dk = new DecayTree(521);
1531  Ks=DecayTree(9993);
1532  Ks.addDgtr(321,-211);
1533  Z=DecayTree(9999993);
1534  Z.addDgtr(100443,211);
1535  dk->addDgtr(&Ks);
1536  dk->addDgtr(&Z);
1537  this->add(*dk);
1538  delete dk;
1539 
1540 
1541  //B->K* Z(3900)P
1542  dk = new DecayTree(521);
1543  Ks=DecayTree(313);
1544  Ks.addDgtr(321,-211);
1545  Z=DecayTree(9999995);
1546  Z.addDgtr(100443,211);
1547  dk->addDgtr(&Ks);
1548  dk->addDgtr(&Z);
1549  this->add(*dk);
1550  this->add(AmpInitialiser(*dk, "MI_9999995"));
1551  delete dk;
1552 
1553  //B->K* Z(4051)V
1554  dk = new DecayTree(521);
1555  Ks=DecayTree(313);
1556  Ks.addDgtr(321,-211);
1557  Z=DecayTree(9999912);
1558  Z.addDgtr(100443,211);
1559  dk->addDgtr(&Ks);
1560  dk->addDgtr(&Z);
1561  this->add(*dk);
1562  delete dk;
1563 
1564  dk = new DecayTree(521);
1565  Ks=DecayTree(9993);
1566  Ks.addDgtr(321,-211);
1567  Z=DecayTree(9999912);
1568  Z.addDgtr(100443,211);
1569  dk->addDgtr(&Ks);
1570  dk->addDgtr(&Z);
1571  this->add(*dk);
1572  delete dk;
1573 
1574  //B->K* Z(4051)A
1575  dk = new DecayTree(521);
1576  Ks=DecayTree(313);
1577  Ks.addDgtr(321,-211);
1578  Z=DecayTree(9999911);
1579  Z.addDgtr(100443,211);
1580  dk->addDgtr(&Ks);
1581  dk->addDgtr(&Z);
1582  this->add(*dk);
1583  dk->getVal().setL(1);
1584  this->add(*dk);
1585  dk->getVal().setL(2);
1586  this->add(*dk);
1587  delete dk;
1588 
1589  dk = new DecayTree(521);
1590  Ks=DecayTree(9993);
1591  Ks.addDgtr(321,-211);
1592  Z=DecayTree(9999911);
1593  Z.addDgtr(100443,211);
1594  dk->addDgtr(&Ks);
1595  dk->addDgtr(&Z);
1596  this->add(*dk);
1597  dk->getVal().setL(1);
1598  this->add(*dk);
1599  dk->getVal().setL(2);
1600  this->add(*dk);
1601  delete dk;
1602 
1603  //B->K* Z(4051)P
1604  dk = new DecayTree(521);
1605  Ks=DecayTree(313);
1606  Ks.addDgtr(321,-211);
1607  Z=DecayTree(9999913);
1608  Z.addDgtr(100443,211);
1609  dk->addDgtr(&Ks);
1610  dk->addDgtr(&Z);
1611  this->add(*dk);
1612  delete dk;
1613 
1614  dk = new DecayTree(521);
1615  Ks=DecayTree(9993);
1616  Ks.addDgtr(321,-211);
1617  Z=DecayTree(9999913);
1618  Z.addDgtr(100443,211);
1619  dk->addDgtr(&Ks);
1620  dk->addDgtr(&Z);
1621  this->add(*dk);
1622  delete dk;
1623 
1624  //B->K* Z(4239)
1625  dk = new DecayTree(521);
1626  Ks=DecayTree(313);
1627  Ks.addDgtr(321,-211);
1628  Z=DecayTree(9999996);
1629  Z.addDgtr(100443,211);
1630  dk->addDgtr(&Ks);
1631  dk->addDgtr(&Z);
1632  this->add(*dk);
1633  delete dk;
1634 
1635  dk = new DecayTree(521);
1636  Ks=DecayTree(9993);
1637  Ks.addDgtr(321,-211);
1638  Z=DecayTree(9999996);
1639  Z.addDgtr(100443,211);
1640  dk->addDgtr(&Ks);
1641  dk->addDgtr(&Z);
1642  this->add(*dk);
1643  delete dk;
1644 
1645  //B->K* Z(4430)
1646  dk = new DecayTree(521);
1647  Ks=DecayTree(313);
1648  Ks.addDgtr(321,-211);
1649  Z=DecayTree(9999997);
1650  Z.addDgtr(100443,211);
1651  dk->addDgtr(&Ks);
1652  dk->addDgtr(&Z);
1653  this->add(*dk);
1654  dk->getVal().setL(1);
1655  this->add(*dk);
1656  dk->getVal().setL(2);
1657  this->add(*dk);
1658  delete dk;
1659 
1660  dk = new DecayTree(521);
1661  Ks=DecayTree(9993);
1662  Ks.addDgtr(321,-211);
1663  Z=DecayTree(9999997);
1664  Z.addDgtr(100443,211);
1665  dk->addDgtr(&Ks);
1666  dk->addDgtr(&Z);
1667  this->add(*dk);
1668  dk->getVal().setL(1);
1669  this->add(*dk);
1670  dk->getVal().setL(2);
1671  this->add(*dk);
1672  delete dk;
1673 
1674  // B->K X(4260); X->Z pi; Z->psi pi
1675  dk = new DecayTree(521);
1676  dk->addDgtr(321, 9999992)->addDgtr(211, 9999993)->addDgtr(100443,-211);
1677  this->add(*dk);
1678  this->add(AmpInitialiser(*dk, "MI_9999992"));
1679  this->add(AmpInitialiser(*dk, "MI_9999993"));
1680  delete dk;
1681  dk = new DecayTree(521);
1682  dk->addDgtr(321, 9999992)->addDgtr(-211, 9999993)->addDgtr(100443,211);
1683  this->add(*dk);
1684  this->add(AmpInitialiser(*dk, "MI_9999992"));
1685  this->add(AmpInitialiser(*dk, "MI_9999993"));
1686  delete dk;
1687 
1688  dk = new DecayTree(521);
1689  dk->addDgtr(321, 9993)->addDgtr(211, 9999993)->addDgtr(100443,-211);
1690  this->add(*dk);
1691  delete dk;
1692  dk = new DecayTree(521);
1693  dk->addDgtr(321, 9993)->addDgtr(-211, 9999993)->addDgtr(100443,211);
1694  this->add(*dk);
1695  delete dk;
1696 
1697  //B->rho Z(3900)V
1698  dk = new DecayTree(521);
1699  DecayTree rho(113);
1700  rho.addDgtr(211,-211);
1701  Z= DecayTree(9999994);
1702  Z.addDgtr(100443,321);
1703  dk->addDgtr(&rho);
1704  dk->addDgtr(&Z);
1705  this->add(*dk);
1706  this->add(AmpInitialiser(*dk, "MI_9999994"));
1707  this->add(AmpInitialiser(*dk, "MI_9999994GS"));
1708  delete dk;
1709 
1710  //B->rho Z(3900)A
1711  dk = new DecayTree(521);
1712  rho=DecayTree(113);
1713  rho.addDgtr(211,-211);
1714  Z=DecayTree(9999993);
1715  Z.addDgtr(100443,321);
1716  dk->addDgtr(&rho);
1717  dk->addDgtr(&Z);
1718  this->add(*dk);
1719  this->add(AmpInitialiser(*dk, "MI_9999993"));
1720  this->add(AmpInitialiser(*dk, "MI_9999993GS"));
1721  delete dk;
1722 
1723  //B->rho Z(3900)P
1724  dk = new DecayTree(521);
1725  rho=DecayTree(113);
1726  rho.addDgtr(211,-211);
1727  Z=DecayTree(9999995);
1728  Z.addDgtr(100443,321);
1729  dk->addDgtr(&rho);
1730  dk->addDgtr(&Z);
1731  this->add(*dk);
1732  this->add(AmpInitialiser(*dk, "MI_9999995"));
1733  this->add(AmpInitialiser(*dk, "MI_9999995GS"));
1734  delete dk;
1735 
1736  //B->rho Z(4051)V
1737  dk = new DecayTree(521);
1738  rho=DecayTree(113);
1739  rho.addDgtr(211,-211);
1740  Z=DecayTree(9999912);
1741  Z.addDgtr(100443,321);
1742  dk->addDgtr(&rho);
1743  dk->addDgtr(&Z);
1744  this->add(*dk);
1745  delete dk;
1746 
1747  //B->rho Z(4051)A
1748  dk = new DecayTree(521);
1749  rho=DecayTree(113);
1750  rho.addDgtr(211,-211);
1751  Z=DecayTree(9999911);
1752  Z.addDgtr(100443,211);
1753  dk->addDgtr(&rho);
1754  dk->addDgtr(&Z);
1755  this->add(*dk);
1756  dk->getVal().setL(1);
1757  this->add(*dk);
1758  dk->getVal().setL(2);
1759  this->add(*dk);
1760  delete dk;
1761 
1762  //B->rho Z(4051)P
1763  dk = new DecayTree(521);
1764  rho=DecayTree(113);
1765  rho.addDgtr(211,-211);
1766  Z=DecayTree(9999913);
1767  Z.addDgtr(100443,211);
1768  dk->addDgtr(&rho);
1769  dk->addDgtr(&Z);
1770  this->add(*dk);
1771  delete dk;
1772 
1773  // B->pi+ X(4260); X->Z+ pi-; Z+->psi K+
1774  dk = new DecayTree(521);
1775  dk->addDgtr(211, 9999992)->addDgtr(-211, 9999993)->addDgtr(100443,321);
1776  this->add(*dk);
1777  this->add(AmpInitialiser(*dk, "MI_9999992"));
1778  this->add(AmpInitialiser(*dk, "MI_9999993"));
1779  delete dk;
1780 
1781  // B->pi- X(4260); X->Z- K+; Z-->psi pi-
1782  dk = new DecayTree(521);
1783  dk->addDgtr(-211, 9999992)->addDgtr(321, 9999993)->addDgtr(100443,-211);
1784  this->add(AmpInitialiser(*dk, "MI_9999992"));
1785  this->add(AmpInitialiser(*dk, "MI_9999993"));
1786  this->add(*dk);
1787  delete dk;
1788 
1789  // B->pi X(4260); X->K0* psi; K0*->K pi
1790  dk = new DecayTree(521);
1791  dk->addDgtr(211, 9999992)->addDgtr(100443, 10311)->addDgtr(321,-211);
1792  this->add(*dk);
1793  this->add(AmpInitialiser(*dk, "MI_9999992"));
1794  delete dk;
1795 
1796  // B->pi+ X(4660); X->Z+ pi-; Z+->psi K+
1797  dk = new DecayTree(521);
1798  dk->addDgtr(211, 9999914)->addDgtr(-211, 9999993)->addDgtr(100443,321);
1799  this->add(*dk);
1800  delete dk;
1801 
1802  // B->pi- X(4660); X->Z- K+; Z-->psi pi-
1803  dk = new DecayTree(521);
1804  dk->addDgtr(-211, 9999914)->addDgtr(321, 9999993)->addDgtr(100443,-211);
1805  this->add(*dk);
1806  delete dk;
1807 
1808  // B->K X(4660); X->f0 psi; f0->pi pi
1809  dk = new DecayTree(521);
1810  dk->addDgtr(321, 9999914)->addDgtr(100443, 9010221)->addDgtr(211,-211);
1811  this->add(*dk);
1812  this->add(AmpInitialiser(*dk, "Flatte"));
1813  delete dk;
1814 
1815  // B->K X(4660); X->sigma psi; sigma->pi pi
1816  dk = new DecayTree(521);
1817  dk->addDgtr(321, 9999914)->addDgtr(100443, 9000221)->addDgtr(211,-211);
1818  this->add(*dk);
1819  this->add(AmpInitialiser(*dk, "Bugg"));
1820  delete dk;
1821 
1822  // B->pi X(4660); X->K0* psi; K0*->K pi
1823  dk = new DecayTree(521);
1824  dk->addDgtr(211, 9999914)->addDgtr(100443, 10311)->addDgtr(321,-211);
1825  this->add(*dk);
1826  delete dk;
1827 
1828 
1829  // B->X(3872) K; X-> psi rho
1830  dk = new DecayTree(521);
1831  dk->addDgtr(321, 9999991)->addDgtr(100443, 113)->addDgtr(211,-211);
1832  this->add(*dk);
1833  this->add(AmpInitialiser(*dk, "GS"));
1834  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
1835  delete dk;
1836 
1837  // B->XP K; XP-> psi rho
1838  dk = new DecayTree(521);
1839  dk->addDgtr(321, 92)->addDgtr(100443, 113)->addDgtr(211,-211);
1840  this->add(*dk);
1841  this->add(AmpInitialiser(*dk, "GS"));
1842  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
1843  delete dk;
1844 
1845  dk = new DecayTree(521);
1846  dk->addDgtr(321, 97)->addDgtr(100443, 113)->addDgtr(211,-211);
1847  this->add(*dk);
1848  this->add(AmpInitialiser(*dk, "GS"));
1849  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
1850  delete dk;
1851 
1852  dk = new DecayTree(521);
1853  dk->addDgtr(321, 9991)->addDgtr(100443, 113)->addDgtr(211,-211);
1854  this->add(*dk);
1855  this->add(AmpInitialiser(*dk, "GS"));
1856  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
1857  delete dk;
1858 
1859  // B->XP pi; XP-> psi K*
1860  dk = new DecayTree(521);
1861  dk->addDgtr(211, 92)->addDgtr(100443, 313)->addDgtr(321,-211);
1862  this->add(*dk);
1863  delete dk;
1864 
1865  dk = new DecayTree(521);
1866  dk->addDgtr(211, 97)->addDgtr(100443, 313)->addDgtr(321,-211);
1867  this->add(*dk);
1868  delete dk;
1869 
1870  dk = new DecayTree(521);
1871  dk->addDgtr(211, 9991)->addDgtr(100443, 313)->addDgtr(321,-211);
1872  this->add(*dk);
1873  delete dk;
1874 
1875  // B->XS K; XS-> psi rho
1876  dk = new DecayTree(521);
1877  dk->addDgtr(321, 91)->addDgtr(100443, 113)->addDgtr(211,-211);
1878  this->add(*dk);
1879  this->add(AmpInitialiser(*dk, "GS"));
1880  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
1881  delete dk;
1882 
1883  dk = new DecayTree(521);
1884  dk->addDgtr(321, 96)->addDgtr(100443, 113)->addDgtr(211,-211);
1885  this->add(*dk);
1886  this->add(AmpInitialiser(*dk, "GS"));
1887  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
1888  delete dk;
1889 
1890  dk = new DecayTree(521);
1891  dk->addDgtr(321, 9981)->addDgtr(100443, 113)->addDgtr(211,-211);
1892  this->add(*dk);
1893  this->add(AmpInitialiser(*dk, "GS"));
1894  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
1895  delete dk;
1896 
1897  // B->XS pi; XS-> psi K*
1898  dk = new DecayTree(521);
1899  dk->addDgtr(211, 91)->addDgtr(100443, 313)->addDgtr(321,-211);
1900  this->add(*dk);
1901  delete dk;
1902 
1903  dk = new DecayTree(521);
1904  dk->addDgtr(211, 96)->addDgtr(100443, 313)->addDgtr(321,-211);
1905  this->add(*dk);
1906  delete dk;
1907  dk = new DecayTree(521);
1908  dk->addDgtr(211, 9981)->addDgtr(100443, 313)->addDgtr(321,-211);
1909  this->add(*dk);
1910  delete dk;
1911 
1912  // B->XA K; XA-> psi rho
1913  dk = new DecayTree(521);
1914  dk->addDgtr(321, 94)->addDgtr(100443, 113)->addDgtr(211,-211);
1915  this->add(*dk);
1916  this->add(AmpInitialiser(*dk, "GS"));
1917  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
1918  delete dk;
1919 
1920  dk = new DecayTree(521);
1921  dk->addDgtr(321, 99)->addDgtr(100443, 113)->addDgtr(211,-211);
1922  this->add(*dk);
1923  this->add(AmpInitialiser(*dk, "GS"));
1924  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
1925  delete dk;
1926 
1927  dk = new DecayTree(521);
1928  dk->addDgtr(321, 94)->addDgtr(100443, 113)->addDgtr(211,-211);
1929  this->add(*dk);
1930  this->add(AmpInitialiser(*dk, "GS"));
1931  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
1932  delete dk;
1933 
1934  // B->XA pi; XA-> psi K*
1935  dk = new DecayTree(521);
1936  dk->addDgtr(211, 9983)->addDgtr(100443, 313)->addDgtr(321,-211);
1937  this->add(*dk);
1938  delete dk;
1939 
1940  dk = new DecayTree(521);
1941  dk->addDgtr(211, 99)->addDgtr(100443, 313)->addDgtr(321,-211);
1942  this->add(*dk);
1943  delete dk;
1944 
1945  dk = new DecayTree(521);
1946  dk->addDgtr(211, 9983)->addDgtr(100443, 313)->addDgtr(321,-211);
1947  this->add(*dk);
1948  delete dk;
1949 
1950  // B->XV K; XV-> psi f2
1951  dk = new DecayTree(521);
1952  dk->addDgtr(321, 93)->addDgtr(100443, 225)->addDgtr(211,-211);
1953  this->add(*dk);
1954  delete dk;
1955 
1956  dk = new DecayTree(521);
1957  dk->addDgtr(321, 98)->addDgtr(100443, 225)->addDgtr(211,-211);
1958  this->add(*dk);
1959  delete dk;
1960 
1961  dk = new DecayTree(521);
1962  dk->addDgtr(321, 9993)->addDgtr(100443, 225)->addDgtr(211,-211);
1963  this->add(*dk);
1964  delete dk;
1965 
1966  // B->XV pi; XV-> psi K2*
1967  dk = new DecayTree(521);
1968  dk->addDgtr(211, 93)->addDgtr(100443, 315)->addDgtr(321,-211);
1969  this->add(*dk);
1970  delete dk;
1971 
1972  dk = new DecayTree(521);
1973  dk->addDgtr(211, 98)->addDgtr(100443, 315)->addDgtr(321,-211);
1974  this->add(*dk);
1975  delete dk;
1976 
1977  dk = new DecayTree(521);
1978  dk->addDgtr(211, 9993)->addDgtr(100443, 315)->addDgtr(321,-211);
1979  this->add(*dk);
1980  delete dk;
1981 
1982 
1983 
1984  //Single resonance amplitudes:
1985  //----------------------------
1986 
1987  // B->psi K1(1270); K1->K pi pi (non resonant)
1988  dk = new DecayTree(521);
1989  dk->addDgtr(100443, 10323)->addDgtr(211, 9993)->addDgtr(321,-211);
1990  this->add(*dk);
1991  this->add(AmpInitialiser(*dk, "NonRes"));
1992  this->add(AmpInitialiser(*dk, "NonResExp_10323"));
1993  delete dk;
1994  dk = new DecayTree(521);
1995  dk->addDgtr(100443, 10323)->addDgtr(321, 9993)->addDgtr(211,-211);
1996  this->add(*dk);
1997  this->add(AmpInitialiser(*dk, "NonRes"));
1998  this->add(AmpInitialiser(*dk, "NonResExp_10323"));
1999  delete dk;
2000  dk = new DecayTree(521);
2001  dk->addDgtr(100443, 10323)->addDgtr(-211, 9993)->addDgtr(321,211);
2002  this->add(*dk);
2003  this->add(AmpInitialiser(*dk, "NonRes"));
2004  this->add(AmpInitialiser(*dk, "NonResExp_10323"));
2005  delete dk;
2006 
2007  // B->psi K1(1270); K1->K pi pi (non resonant)
2008  dk = new DecayTree(521);
2009  dk->addDgtr(100443, 10323)->addDgtr(211, 9981)->addDgtr(321,-211);
2010  this->add(*dk);
2011  this->add(AmpInitialiser(*dk, "NonRes"));
2012  this->add(AmpInitialiser(*dk, "NonResExp_10323"));
2013  delete dk;
2014  dk = new DecayTree(521);
2015  dk->addDgtr(100443, 10323)->addDgtr(321, 9981)->addDgtr(211,-211);
2016  this->add(*dk);
2017  this->add(AmpInitialiser(*dk, "NonRes"));
2018  this->add(AmpInitialiser(*dk, "NonResExp_10323"));
2019  delete dk;
2020  dk = new DecayTree(521);
2021  dk->addDgtr(100443, 10323)->addDgtr(-211, 9981)->addDgtr(321,211);
2022  this->add(*dk);
2023  this->add(AmpInitialiser(*dk, "NonRes"));
2024  this->add(AmpInitialiser(*dk, "NonResExp_10323"));
2025  delete dk;
2026 
2027  // B->psi pi K*(892); K*->K pi
2028  dk = new DecayTree(521);
2029  dk->addDgtr(100443, 9983)->addDgtr(211, 313)->addDgtr(321,-211);
2030  this->add(*dk);
2031  this->add(AmpInitialiser(*dk, "NonRes"));
2032  this->add(AmpInitialiser(*dk, "NonResExp_9983"));
2033  this->add(AmpInitialiser(*dk, "MI_9983_"));
2034 
2035  // B->psi K rho(770); rho->pi pi
2036  dk = new DecayTree(521);
2037  dk->addDgtr(100443, 9983)->addDgtr(321, 113)->addDgtr(211,-211);
2038  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
2039  this->add(AmpInitialiser(*dk, "GS"));
2040  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
2041  this->add(*dk);
2042  this->add(AmpInitialiser(*dk, "NonRes"));
2043  this->add(AmpInitialiser(*dk, "NonResExp_9983"));
2044  this->add(AmpInitialiser(*dk, "NonResExp_9983GS"));
2045  this->add(AmpInitialiser(*dk, "MI_9983_"));
2046  this->add(AmpInitialiser(*dk, "MI_9983_GS"));
2047  dk->getVal().setL(1);
2048  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
2049  this->add(AmpInitialiser(*dk, "GS"));
2050  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
2051  this->add(*dk);
2052  this->add(AmpInitialiser(*dk, "NonRes"));
2053  this->add(AmpInitialiser(*dk, "NonResExp_9983"));
2054  this->add(AmpInitialiser(*dk, "NonResExp_9983GS"));
2055  delete dk;
2056 
2057  dk = new DecayTree(521);
2058  dk->addDgtr(100443, 9993)->addDgtr(321, 113)->addDgtr(211,-211);
2059  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
2060  this->add(AmpInitialiser(*dk, "GS"));
2061  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
2062  this->add(*dk);
2063  this->add(AmpInitialiser(*dk, "NonRes"));
2064  this->add(AmpInitialiser(*dk, "NonResExp_9993"));
2065  this->add(AmpInitialiser(*dk, "NonResExp_9993GS"));
2066  delete dk;
2067 
2068  dk = new DecayTree(521);
2069  dk->addDgtr(321, 9993)->addDgtr(100443, 113)->addDgtr(211,-211);
2070  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
2071  this->add(AmpInitialiser(*dk, "GS"));
2072  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
2073  this->add(*dk);
2074  this->add(AmpInitialiser(*dk, "NonRes"));
2075  this->add(AmpInitialiser(*dk, "NonResExp_9993"));
2076  this->add(AmpInitialiser(*dk, "NonResExp_9993GS"));
2077  delete dk;
2078 
2079  dk = new DecayTree(521);
2080  dk->addDgtr(321, 9983)->addDgtr(100443, 113)->addDgtr(211,-211);
2081  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
2082  this->add(AmpInitialiser(*dk, "GS"));
2083  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
2084  this->add(*dk);
2085  this->add(AmpInitialiser(*dk, "NonRes"));
2086  this->add(AmpInitialiser(*dk, "NonResExp_9983"));
2087  this->add(AmpInitialiser(*dk, "NonResExp_9983GS"));
2088  delete dk;
2089 
2090  //B-> NV rho
2091  dk = new DecayTree(521);
2092  DecayTree r1(9993);
2093  r1.addDgtr(100443,321);
2094  DecayTree r2(113);
2095  r2.addDgtr(211,-211);
2096  dk->addDgtr(&r1);
2097  dk->addDgtr(&r2);
2098  this->add(*dk);
2099  this->add(AmpInitialiser(*dk, "GS"));
2100  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
2101  this->add(AmpInitialiser(*dk, "NonRes"));
2102  this->add(AmpInitialiser(*dk, "NonResGS"));
2103  this->add(AmpInitialiser(*dk, "NonResExp_9993"));
2104  this->add(AmpInitialiser(*dk, "NonResExp_9993GS"));
2105  delete dk;
2106 
2107  //B-> NA rho
2108  dk = new DecayTree(521);
2109  r1=DecayTree(9983);
2110  r1.addDgtr(100443,321);
2111  r2=DecayTree(113);
2112  r2.addDgtr(211,-211);
2113  dk->addDgtr(&r1);
2114  dk->addDgtr(&r2);
2115  this->add(*dk);
2116  this->add(AmpInitialiser(*dk, "GS"));
2117  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
2118  this->add(AmpInitialiser(*dk, "NonRes"));
2119  this->add(AmpInitialiser(*dk, "NonResGS"));
2120  this->add(AmpInitialiser(*dk, "NonResExp_9983"));
2121  this->add(AmpInitialiser(*dk, "NonResExp_9983GS"));
2122  delete dk;
2123 
2124  //B-> NP rho
2125  dk = new DecayTree(521);
2126  r1=DecayTree(9991);
2127  r1.addDgtr(100443,321);
2128  r2=DecayTree(113);
2129  r2.addDgtr(211,-211);
2130  dk->addDgtr(&r1);
2131  dk->addDgtr(&r2);
2132  this->add(*dk);
2133  this->add(AmpInitialiser(*dk, "GS"));
2134  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
2135  this->add(AmpInitialiser(*dk, "NonRes"));
2136  this->add(AmpInitialiser(*dk, "NonResGS"));
2137  this->add(AmpInitialiser(*dk, "NonResExp_9991"));
2138  this->add(AmpInitialiser(*dk, "NonResExp_9991GS"));
2139  delete dk;
2140 
2141  //Non resonant amplitudes:
2142  //------------------------
2143 
2144  // B->psi (K pi pi)_S
2145  dk = new DecayTree(521);
2146  dk->addDgtr(100443, 9991)->addDgtr(321,9981)->addDgtr(211,-211);
2147  this->add(*dk);
2148  this->add(AmpInitialiser(*dk, "NonRes"));
2149  delete dk;
2150 
2151  //B-> psi NA ; NA-> NV P
2152  dk = new DecayTree(521);
2153  dk->addDgtr(100443, 9983)->addDgtr(321, 9993)->addDgtr(211,-211);
2154  this->add(AmpInitialiser(*dk, "NonRes"));
2155  this->add(AmpInitialiser(*dk, "NonResExp"));
2156  this->add(*dk);
2157  dk->getVal().setL(1);
2158  this->add(AmpInitialiser(*dk, "NonRes"));
2159  this->add(AmpInitialiser(*dk, "NonResExp"));
2160  this->add(*dk);
2161 
2162  dk = new DecayTree(521);
2163  dk->addDgtr(100443, 9983)->addDgtr(211, 9993)->addDgtr(321,-211);
2164  this->add(AmpInitialiser(*dk, "NonRes"));
2165  this->add(*dk);
2166  dk->getVal().setL(1);
2167  this->add(AmpInitialiser(*dk, "NonRes"));
2168  this->add(*dk);
2169 
2170  dk = new DecayTree(521);
2171  dk->addDgtr(100443, 9983)->addDgtr(-211, 9993)->addDgtr(321,211);
2172  this->add(*dk);
2173  this->add(AmpInitialiser(*dk, "NonResExp_9983"));
2174  dk->getVal().setL(1);
2175  this->add(*dk);
2176  this->add(AmpInitialiser(*dk, "NonResExp_9983"));
2177  delete dk;
2178 
2179  //B-> psi NV ; NV-> NV P
2180  dk = new DecayTree(521);
2181  dk->addDgtr(100443, 9993)->addDgtr(321, 9993)->addDgtr(211,-211);
2182  this->add(AmpInitialiser(*dk, "NonRes"));
2183  this->add(*dk);
2184  dk->getVal().setL(1);
2185  this->add(AmpInitialiser(*dk, "NonRes"));
2186  this->add(*dk);
2187 
2188  dk = new DecayTree(521);
2189  dk->addDgtr(100443, 9993)->addDgtr(211, 9993)->addDgtr(321,-211);
2190  this->add(AmpInitialiser(*dk, "NonRes"));
2191  this->add(*dk);
2192  dk->getVal().setL(1);
2193  this->add(AmpInitialiser(*dk, "NonRes"));
2194  this->add(*dk);
2195 
2196  dk = new DecayTree(521);
2197  dk->addDgtr(100443, 9993)->addDgtr(-211, 9993)->addDgtr(321,211);
2198  this->add(*dk);
2199  this->add(AmpInitialiser(*dk, "NonRes"));
2200  dk->getVal().setL(1);
2201  this->add(*dk);
2202  this->add(AmpInitialiser(*dk, "NonRes"));
2203 
2204  delete dk;
2205 
2206  //B-> P NV ; NV-> Jpsi NS
2207  dk = new DecayTree(521);
2208  dk->addDgtr(321, 9993)->addDgtr(100443, 9981)->addDgtr(211,-211);
2209  this->add(AmpInitialiser(*dk, "NonRes"));
2210  this->add(*dk);
2211  delete dk;
2212 
2213  dk = new DecayTree(521);
2214  dk->addDgtr(211, 9993)->addDgtr(100443, 9981)->addDgtr(321,-211);
2215  this->add(AmpInitialiser(*dk, "NonRes"));
2216  this->add(*dk);
2217  delete dk;
2218 
2219  dk = new DecayTree(521);
2220  dk->addDgtr(-211, 9993)->addDgtr(100443, 9981)->addDgtr(321,211);
2221  this->add(AmpInitialiser(*dk, "NonRes"));
2222  this->add(*dk);
2223  delete dk;
2224 
2225  //B-> psi NA ; NA-> NS P
2226  dk = new DecayTree(521);
2227  dk->addDgtr(100443, 9983)->addDgtr(321, 9981)->addDgtr(211,-211);
2228  this->add(*dk);
2229  this->add(AmpInitialiser(*dk, "NonRes"));
2230  dk = new DecayTree(521);
2231  dk->addDgtr(100443, 9983)->addDgtr(211, 9981)->addDgtr(321,-211);
2232  this->add(*dk);
2233  this->add(AmpInitialiser(*dk, "NonRes"));
2234  dk = new DecayTree(521);
2235  dk->addDgtr(100443, 9983)->addDgtr(-211, 9981)->addDgtr(321,211);
2236  this->add(*dk);
2237  this->add(AmpInitialiser(*dk, "NonRes"));
2238  delete dk;
2239 
2240  //B-> P NV ; NV-> psi NS
2241  dk = new DecayTree(521);
2242  dk->addDgtr(321, 9993)->addDgtr(100443, 9981)->addDgtr(211,-211);
2243  this->add(*dk);
2244  this->add(AmpInitialiser(*dk, "NonRes"));
2245  dk = new DecayTree(521);
2246  dk->addDgtr(211, 9993)->addDgtr(100443, 9981)->addDgtr(321,-211);
2247  this->add(*dk);
2248  this->add(AmpInitialiser(*dk, "NonRes"));
2249  dk = new DecayTree(521);
2250  dk->addDgtr(-211, 9993)->addDgtr(100443, 9981)->addDgtr(321,211);
2251  this->add(*dk);
2252  this->add(AmpInitialiser(*dk, "NonRes"));
2253  delete dk;
2254 
2255  //B-> NV NV
2256  dk = new DecayTree(521);
2257  r1=DecayTree(9993);
2258  r1.addDgtr(100443,321);
2259  r2=DecayTree(9993);
2260  r2.addDgtr(211,-211);
2261  dk->addDgtr(&r1);
2262  dk->addDgtr(&r2);
2263  this->add(*dk);
2264  this->add(AmpInitialiser(*dk, "NonRes"));
2265  delete dk;
2266  dk = new DecayTree(521);
2267  r1=DecayTree(9993);
2268  r1.addDgtr(100443,211);
2269  r2=DecayTree(9993);
2270  r2.addDgtr(321,-211);
2271  dk->addDgtr(&r1);
2272  dk->addDgtr(&r2);
2273  this->add(*dk);
2274  this->add(AmpInitialiser(*dk, "NonRes"));
2275  delete dk;
2276  dk = new DecayTree(521);
2277  r1=DecayTree(9993);
2278  r1.addDgtr(100443,-211);
2279  r2=DecayTree(9993);
2280  r2.addDgtr(321,211);
2281  dk->addDgtr(&r1);
2282  dk->addDgtr(&r2);
2283  this->add(*dk);
2284  this->add(AmpInitialiser(*dk, "NonRes"));
2285  delete dk;
2286 
2287  //B-> NA NV
2288  dk = new DecayTree(521);
2289  r1=DecayTree(9983);
2290  r1.addDgtr(100443,321);
2291  r2=DecayTree(9993);
2292  r2.addDgtr(211,-211);
2293  dk->addDgtr(&r1);
2294  dk->addDgtr(&r2);
2295  this->add(*dk);
2296  this->add(AmpInitialiser(*dk, "NonRes"));
2297  delete dk;
2298  dk = new DecayTree(521);
2299  r1=DecayTree(9983);
2300  r1.addDgtr(100443,211);
2301  r2=DecayTree(9993);
2302  r2.addDgtr(321,-211);
2303  dk->addDgtr(&r1);
2304  dk->addDgtr(&r2);
2305  this->add(*dk);
2306  this->add(AmpInitialiser(*dk, "NonRes"));
2307  delete dk;
2308  dk = new DecayTree(521);
2309  r1=DecayTree(9983);
2310  r1.addDgtr(100443,-211);
2311  r2=DecayTree(9993);
2312  r2.addDgtr(321,211);
2313  dk->addDgtr(&r1);
2314  dk->addDgtr(&r2);
2315  this->add(*dk);
2316  this->add(AmpInitialiser(*dk, "NonRes"));
2317  delete dk;
2318 
2319  //B-> NA NS
2320  dk = new DecayTree(521);
2321  r1=DecayTree(9983);
2322  r1.addDgtr(100443,321);
2323  r2=DecayTree(9981);
2324  r2.addDgtr(211,-211);
2325  dk->addDgtr(&r1);
2326  dk->addDgtr(&r2);
2327  this->add(*dk);
2328  this->add(AmpInitialiser(*dk, "NonRes"));
2329  delete dk;
2330  dk = new DecayTree(521);
2331  r1=DecayTree(9983);
2332  r1.addDgtr(100443,211);
2333  r2=DecayTree(9981);
2334  r2.addDgtr(321,-211);
2335  dk->addDgtr(&r1);
2336  dk->addDgtr(&r2);
2337  this->add(*dk);
2338  this->add(AmpInitialiser(*dk, "NonRes"));
2339  delete dk;
2340  dk = new DecayTree(521);
2341  r1=DecayTree(9983);
2342  r1.addDgtr(100443,-211);
2343  r2=DecayTree(9981);
2344  r2.addDgtr(321,211);
2345  dk->addDgtr(&r1);
2346  dk->addDgtr(&r2);
2347  this->add(*dk);
2348  this->add(AmpInitialiser(*dk, "NonRes"));
2349  delete dk;
2350 
2351  //B-> NP NS
2352  dk = new DecayTree(521);
2353  r1=DecayTree(9991);
2354  r1.addDgtr(100443,321);
2355  r2=DecayTree(9981);
2356  r2.addDgtr(211,-211);
2357  dk->addDgtr(&r1);
2358  dk->addDgtr(&r2);
2359  this->add(*dk);
2360  this->add(AmpInitialiser(*dk, "NonRes"));
2361  delete dk;
2362  dk = new DecayTree(521);
2363  r1=DecayTree(9991);
2364  r1.addDgtr(100443,211);
2365  r2=DecayTree(9981);
2366  r2.addDgtr(321,-211);
2367  dk->addDgtr(&r1);
2368  dk->addDgtr(&r2);
2369  this->add(*dk);
2370  this->add(AmpInitialiser(*dk, "NonRes"));
2371  delete dk;
2372  dk = new DecayTree(521);
2373  r1=DecayTree(9991);
2374  r1.addDgtr(100443,-211);
2375  r2=DecayTree(9981);
2376  r2.addDgtr(321,211);
2377  dk->addDgtr(&r1);
2378  dk->addDgtr(&r2);
2379  this->add(*dk);
2380  this->add(AmpInitialiser(*dk, "NonRes"));
2381  delete dk;
2382 
2383  // Done
2384  return _trees.size();
2385 }
2386 
2388 
2389  DecayTree* dk=0;
2390 
2391  // B->gamma K1(1270); K1->K*(892) pi; K*->K pi
2392  dk = new DecayTree(521);
2393  dk->addDgtr(22, 10323)->addDgtr(211, 313)->addDgtr(321,-211);
2394  this->add(*dk);
2395  this->add(AmpInitialiser(*dk, "PLUS"));
2396  this->add(AmpInitialiser(*dk, "MINUS"));
2397  dk->getVal().setL(1);
2398  this->add(*dk);
2399  this->add(AmpInitialiser(*dk, "PLUS"));
2400  this->add(AmpInitialiser(*dk, "MINUS"));
2401  dk->getVal().setL(2);
2402  this->add(*dk);
2403  this->add(AmpInitialiser(*dk, "PLUS"));
2404  this->add(AmpInitialiser(*dk, "MINUS"));
2405  delete dk;
2406 
2407  // B->gamma K1(1270); K1->K rho(770); rho->pi pi
2408  dk = new DecayTree(521);
2409  dk->addDgtr(22, 10323)->addDgtr(321, 113)->addDgtr(211,-211);
2410  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
2411  this->add(AmpInitialiser(*dk, "GS"));
2412  this->add(*dk);
2413  this->add(AmpInitialiser(*dk, "PLUS"));
2414  this->add(AmpInitialiser(*dk, "MINUS"));
2415  dk->getVal().setL(1);
2416  this->add(*dk);
2417  this->add(AmpInitialiser(*dk, "PLUS"));
2418  this->add(AmpInitialiser(*dk, "MINUS"));
2419  dk->getVal().setL(2);
2420  this->add(*dk);
2421  this->add(AmpInitialiser(*dk, "PLUS"));
2422  this->add(AmpInitialiser(*dk, "MINUS"));
2423  delete dk;
2424 
2425  // B->gamma K1(1270); K1-> K0^*(1430) pi; K0^*->K pi
2426  dk = new DecayTree(521);
2427  dk->addDgtr(22, 10323)->addDgtr(211, 10311)->addDgtr(321,-211);
2428  this->add(AmpInitialiser(*dk, "Lass"));
2429  this->add(*dk);
2430  this->add(AmpInitialiser(*dk, "PLUS"));
2431  this->add(AmpInitialiser(*dk, "MINUS"));
2432  delete dk;
2433 
2434  // B->gamma K1(1400); K1->K*(892) pi; K*->K pi
2435  dk = new DecayTree(521);
2436  dk->addDgtr(22, 20323)->addDgtr(211, 313)->addDgtr(321,-211);
2437  this->add(*dk);
2438  this->add(AmpInitialiser(*dk, "PLUS"));
2439  this->add(AmpInitialiser(*dk, "MINUS"));
2440  delete dk;
2441 
2442  // B->gamma K1(1400); K1->K rho(770); rho->pi pi
2443  dk = new DecayTree(521);
2444  dk->addDgtr(22, 20323)->addDgtr(321, 113)->addDgtr(211,-211);
2445  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
2446  this->add(AmpInitialiser(*dk, "GS"));
2447  this->add(*dk);
2448  delete dk;
2449 
2450  // B->gamma K*(1410); K*(1410)->K*(892) pi; K*->K pi
2451  dk = new DecayTree(521);
2452  dk->addDgtr(22, 100323)->addDgtr(211, 313)->addDgtr(321,-211);
2453  this->add(*dk);
2454  this->add(AmpInitialiser(*dk, "PLUS"));
2455  this->add(AmpInitialiser(*dk, "MINUS"));
2456  delete dk;
2457 
2458  // B->gamma K*(1410); K*->K rho(770); rho->pi pi
2459  dk = new DecayTree(521);
2460  dk->addDgtr(22, 100323)->addDgtr(321, 113)->addDgtr(211,-211);
2461  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
2462  this->add(AmpInitialiser(*dk, "GS"));
2463  this->add(*dk);
2464  this->add(AmpInitialiser(*dk, "PLUS"));
2465  this->add(AmpInitialiser(*dk, "MINUS"));
2466  delete dk;
2467 
2468  // B->gamma K2*(1430); K2->K*(892) pi; K*->K pi
2469  dk = new DecayTree(521);
2470  dk->addDgtr(22, 325)->addDgtr(211, 313)->addDgtr(321,-211);
2471  this->add(*dk);
2472  this->add(AmpInitialiser(*dk, "PLUS"));
2473  this->add(AmpInitialiser(*dk, "MINUS"));
2474  delete dk;
2475 
2476  // B->gamma K2*(1430); K2->K rho(770); rho->pi pi
2477  dk = new DecayTree(521);
2478  dk->addDgtr(22, 325)->addDgtr(321, 113)->addDgtr(211,-211);
2479  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
2480  this->add(AmpInitialiser(*dk, "GS"));
2481  this->add(*dk);
2482  this->add(AmpInitialiser(*dk, "PLUS"));
2483  this->add(AmpInitialiser(*dk, "MINUS"));
2484  delete dk;
2485 
2486  // B->gamma K2(1580); K2->K*(892) pi; K*->K pi
2487  dk = new DecayTree(521);
2488  dk->addDgtr(22, 9000325)->addDgtr(211, 313)->addDgtr(321,-211);
2489  this->add(*dk);
2490  this->add(AmpInitialiser(*dk, "PLUS"));
2491  this->add(AmpInitialiser(*dk, "MINUS"));
2492  delete dk;
2493 
2494  // B->gamma K2(1580); K2->K rho(770); rho->pi pi
2495  dk = new DecayTree(521);
2496  dk->addDgtr(22, 9000325)->addDgtr(321, 113)->addDgtr(211,-211);
2497  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
2498  this->add(AmpInitialiser(*dk, "GS"));
2499  this->add(*dk);
2500  this->add(AmpInitialiser(*dk, "PLUS"));
2501  this->add(AmpInitialiser(*dk, "MINUS"));
2502  delete dk;
2503 
2504  // B->gamma K2(1770); K2->K*(892) pi; K*->K pi
2505  dk = new DecayTree(521);
2506  dk->addDgtr(22, 10325)->addDgtr(211, 313)->addDgtr(321,-211);
2507  this->add(*dk);
2508  this->add(AmpInitialiser(*dk, "PLUS"));
2509  this->add(AmpInitialiser(*dk, "MINUS"));
2510  delete dk;
2511 
2512  // B->gamma K2(1770); K2->K rho(770); rho->pi pi
2513  dk = new DecayTree(521);
2514  dk->addDgtr(22, 10325)->addDgtr(321, 113)->addDgtr(211,-211);
2515  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
2516  this->add(AmpInitialiser(*dk, "GS"));
2517  this->add(*dk);
2518  this->add(AmpInitialiser(*dk, "PLUS"));
2519  this->add(AmpInitialiser(*dk, "MINUS"));
2520  delete dk;
2521 
2522  // B->gamma K2(1770); K2->K f0(980); f2->pi pi
2523  dk = new DecayTree(521);
2524  dk->addDgtr(22, 10325)->addDgtr(321, 9010221)->addDgtr(211,-211);
2525  this->add(AmpInitialiser(*dk, "Flatte"));
2526  this->add(*dk);
2527  this->add(AmpInitialiser(*dk, "PLUS"));
2528  this->add(AmpInitialiser(*dk, "MINUS"));
2529  delete dk;
2530 
2531  // B->gamma K2(1770); K2->K f2(1270); f2->pi pi
2532  dk = new DecayTree(521);
2533  dk->addDgtr(22, 10325)->addDgtr(321, 225)->addDgtr(211,-211);
2534  this->add(*dk);
2535  this->add(AmpInitialiser(*dk, "PLUS"));
2536  this->add(AmpInitialiser(*dk, "MINUS"));
2537  this->add(AmpInitialiser(*dk, "SBW_"));
2538  delete dk;
2539 
2540  // B->gamma K2(1770); K2->K2*(1430) pi; K2*->K pi
2541  dk = new DecayTree(521);
2542  dk->addDgtr(22, 10325)->addDgtr(211, 315)->addDgtr(321,-211);
2543  this->add(*dk);
2544  this->add(AmpInitialiser(*dk, "PLUS"));
2545  this->add(AmpInitialiser(*dk, "MINUS"));
2546  delete dk;
2547 
2548  // B->gamma K2(1820); K2->K*(892) pi; K*->K pi
2549  dk = new DecayTree(521);
2550  dk->addDgtr(22, 20325)->addDgtr(211, 313)->addDgtr(321,-211);
2551  this->add(*dk);
2552  this->add(AmpInitialiser(*dk, "PLUS"));
2553  this->add(AmpInitialiser(*dk, "MINUS"));
2554  delete dk;
2555 
2556  // B->gamma K2(1820); K2->K rho(770); rho->pi pi
2557  dk = new DecayTree(521);
2558  dk->addDgtr(22, 20325)->addDgtr(321, 113)->addDgtr(211,-211);
2559  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
2560  this->add(AmpInitialiser(*dk, "GS"));
2561  this->add(*dk);
2562  this->add(AmpInitialiser(*dk, "PLUS"));
2563  this->add(AmpInitialiser(*dk, "MINUS"));
2564  delete dk;
2565 
2566  // B->gamma K2(1820); K2->K omega; omega->pi pi
2567  dk = new DecayTree(521);
2568  dk->addDgtr(22, 20325)->addDgtr(321, 223)->addDgtr(211,-211);
2569  this->add(*dk);
2570  this->add(AmpInitialiser(*dk, "PLUS"));
2571  this->add(AmpInitialiser(*dk, "MINUS"));
2572  delete dk;
2573 
2574  // B->gamma K2(1820); K2->K f0(980); f2->pi pi
2575  dk = new DecayTree(521);
2576  dk->addDgtr(22, 20325)->addDgtr(321, 9010221)->addDgtr(211,-211);
2577  this->add(AmpInitialiser(*dk, "Flatte"));
2578  this->add(*dk);
2579  this->add(AmpInitialiser(*dk, "PLUS"));
2580  this->add(AmpInitialiser(*dk, "MINUS"));
2581  delete dk;
2582 
2583  // B->gamma K2(1820); K2->K f2(1270); f2->pi pi
2584  dk = new DecayTree(521);
2585  dk->addDgtr(22, 20325)->addDgtr(321, 225)->addDgtr(211,-211);
2586  this->add(*dk);
2587  this->add(AmpInitialiser(*dk, "PLUS"));
2588  this->add(AmpInitialiser(*dk, "MINUS"));
2589  this->add(AmpInitialiser(*dk, "SBW_"));
2590  delete dk;
2591 
2592  // B->gamma K2(1820); K2->K2*(1430) pi; K2*->K pi
2593  dk = new DecayTree(521);
2594  dk->addDgtr(22, 20325)->addDgtr(211, 315)->addDgtr(321,-211);
2595  this->add(*dk);
2596  this->add(AmpInitialiser(*dk, "PLUS"));
2597  this->add(AmpInitialiser(*dk, "MINUS"));
2598  delete dk;
2599 
2600  // B->gamma K2*(1980); K2->K*(892) pi; K*->K pi
2601  dk = new DecayTree(521);
2602  dk->addDgtr(22, 100325)->addDgtr(211, 313)->addDgtr(321,-211);
2603  this->add(*dk);
2604  this->add(AmpInitialiser(*dk, "PLUS"));
2605  this->add(AmpInitialiser(*dk, "MINUS"));
2606  delete dk;
2607 
2608  // B->gamma K2*(1980); K2->K rho(770); rho->pi pi
2609  dk = new DecayTree(521);
2610  dk->addDgtr(22, 100325)->addDgtr(321, 113)->addDgtr(211,-211);
2611  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
2612  this->add(AmpInitialiser(*dk, "GS"));
2613  this->add(*dk);
2614  this->add(AmpInitialiser(*dk, "PLUS"));
2615  this->add(AmpInitialiser(*dk, "MINUS"));
2616  delete dk;
2617 
2618  // B->gamma K2(2250); K2->K*(892) pi; K*->K pi
2619  dk = new DecayTree(521);
2620  dk->addDgtr(22, 9010325)->addDgtr(211, 313)->addDgtr(321,-211);
2621  this->add(*dk);
2622  this->add(AmpInitialiser(*dk, "PLUS"));
2623  this->add(AmpInitialiser(*dk, "MINUS"));
2624  delete dk;
2625 
2626  // B->gamma K2(2250); K2->K1*(1410) pi; K*->K pi
2627  dk = new DecayTree(521);
2628  dk->addDgtr(22, 9010325)->addDgtr(211, 100313)->addDgtr(321,-211);
2629  this->add(*dk);
2630  this->add(AmpInitialiser(*dk, "PLUS"));
2631  this->add(AmpInitialiser(*dk, "MINUS"));
2632  delete dk;
2633 
2634  // B->gammma K2(2250); K2->K rho(770); rho->pi pi
2635  dk = new DecayTree(521);
2636  dk->addDgtr(22, 9010325)->addDgtr(321, 113)->addDgtr(211,-211);
2637  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
2638  this->add(AmpInitialiser(*dk, "GS"));
2639  this->add(*dk);
2640  this->add(AmpInitialiser(*dk, "PLUS"));
2641  this->add(AmpInitialiser(*dk, "MINUS"));
2642  delete dk;
2643 
2644  // B->gamma K2(2250); K2->K f0(980); f2->pi pi
2645  dk = new DecayTree(521);
2646  dk->addDgtr(22, 9010325)->addDgtr(321, 9010221)->addDgtr(211,-211);
2647  this->add(AmpInitialiser(*dk, "Flatte"));
2648  this->add(*dk);
2649  this->add(AmpInitialiser(*dk, "PLUS"));
2650  this->add(AmpInitialiser(*dk, "MINUS"));
2651  delete dk;
2652 
2653  // B->gamma K2(2250); K2->K f2(1270); f2->pi pi
2654  dk = new DecayTree(521);
2655  dk->addDgtr(22, 9010325)->addDgtr(321, 225)->addDgtr(211,-211);
2656  this->add(*dk);
2657  this->add(AmpInitialiser(*dk, "PLUS"));
2658  this->add(AmpInitialiser(*dk, "MINUS"));
2659  delete dk;
2660 
2661  // B->gamma K2(2250); K2->K2*(1430) pi; K2*->K pi
2662  dk = new DecayTree(521);
2663  dk->addDgtr(22, 9010325)->addDgtr(211, 315)->addDgtr(321,-211);
2664  this->add(*dk);
2665  this->add(AmpInitialiser(*dk, "PLUS"));
2666  this->add(AmpInitialiser(*dk, "MINUS"));
2667  delete dk;
2668 
2669  //Non resonant amplitudes:
2670  //------------------------
2671 
2672  // B->gamma (K pi pi)_S
2673  dk = new DecayTree(521);
2674  dk->addDgtr(22, 9991)->addDgtr(321,9981)->addDgtr(211,-211);
2675  this->add(*dk);
2676  this->add(AmpInitialiser(*dk, "NonRes"));
2677  this->add(AmpInitialiser(*dk, "PLUS"));
2678  this->add(AmpInitialiser(*dk, "MINUS"));
2679  this->add(AmpInitialiser(*dk, "PLUSNonRes"));
2680  this->add(AmpInitialiser(*dk, "MINUSNonRes"));
2681  delete dk;
2682 
2683  //B->gamma NA ; NA-> NV P
2684  dk = new DecayTree(521);
2685  dk->addDgtr(22, 9983)->addDgtr(321, 9993)->addDgtr(211,-211);
2686  this->add(AmpInitialiser(*dk, "NonRes"));
2687  this->add(AmpInitialiser(*dk, "PLUS"));
2688  this->add(AmpInitialiser(*dk, "MINUS"));
2689  this->add(AmpInitialiser(*dk, "PLUSNonRes"));
2690  this->add(AmpInitialiser(*dk, "MINUSNonRes"));
2691  this->add(*dk);
2692  delete dk;
2693 
2694  dk = new DecayTree(521);
2695  dk->addDgtr(22, 9983)->addDgtr(211, 9993)->addDgtr(321,-211);
2696  this->add(AmpInitialiser(*dk, "NonRes"));
2697  this->add(AmpInitialiser(*dk, "PLUS"));
2698  this->add(AmpInitialiser(*dk, "MINUS"));
2699  this->add(AmpInitialiser(*dk, "PLUSNonRes"));
2700  this->add(AmpInitialiser(*dk, "MINUSNonRes"));
2701  this->add(*dk);
2702  delete dk;
2703 
2704  dk = new DecayTree(521);
2705  dk->addDgtr(22, 9983)->addDgtr(-211, 9993)->addDgtr(321,211);
2706  this->add(*dk);
2707  this->add(AmpInitialiser(*dk, "NonRes"));
2708  this->add(AmpInitialiser(*dk, "PLUS"));
2709  this->add(AmpInitialiser(*dk, "MINUS"));
2710  this->add(AmpInitialiser(*dk, "PLUSNonRes"));
2711  this->add(AmpInitialiser(*dk, "MINUSNonRes"));
2712  delete dk;
2713 
2714  // Done
2715  return _trees.size();
2716 }
2717 
2719 
2720  DecayTree* dk=0;
2721 
2722  // B->J/psi K1(1270); K1->K*(892) pi; K*->K pi
2723  dk = new DecayTree(521);
2724  dk->addDgtr(443, 10323)->addDgtr(211, 313)->addDgtr(321,-211);
2725  this->add(*dk);
2726  this->add(AmpInitialiser(*dk, "MI_10323"));
2727  this->add(AmpInitialiser(*dk, "PLUS"));
2728  this->add(AmpInitialiser(*dk, "ZERO"));
2729  this->add(AmpInitialiser(*dk, "MINUS"));
2730  dk->getVal().setL(1);
2731  this->add(*dk);
2732  dk->getVal().setL(2);
2733  this->add(*dk);
2734  delete dk;
2735 
2736  dk = new DecayTree(521);
2737  DecayTree k1(10323);
2738  k1.getVal().setL(2);
2739  k1.addDgtr(211, 313)->addDgtr(321,-211);
2740  dk->addDgtr(443);
2741  dk->addDgtr(&k1);
2742  this->add(*dk);
2743  this->add(AmpInitialiser(*dk, "PLUS"));
2744  this->add(AmpInitialiser(*dk, "ZERO"));
2745  this->add(AmpInitialiser(*dk, "MINUS"));
2746  this->add(AmpInitialiser(*dk, "MI_10323"));
2747  dk->getVal().setL(1);
2748  this->add(*dk);
2749  dk->getVal().setL(2);
2750  this->add(*dk);
2751  delete dk;
2752 
2753  dk = new DecayTree(521);
2754  dk->addDgtr(443, 10323)->addDgtr(211, 313)->addDgtr(321,-211);
2755  dk->getVal().setL(1);
2756  this->add(*dk);
2757  this->add(AmpInitialiser(*dk, "MI_10323"));
2758  this->add(AmpInitialiser(*dk, "PLUS"));
2759  this->add(AmpInitialiser(*dk, "ZERO"));
2760  this->add(AmpInitialiser(*dk, "MINUS"));
2761  delete dk;
2762 
2763  dk = new DecayTree(521);
2764  dk->addDgtr(443, 10323)->addDgtr(211, 313)->addDgtr(321,-211);
2765  dk->getVal().setL(2);
2766  this->add(*dk);
2767  this->add(AmpInitialiser(*dk, "MI_10323"));
2768  this->add(AmpInitialiser(*dk, "PLUS"));
2769  this->add(AmpInitialiser(*dk, "ZERO"));
2770  this->add(AmpInitialiser(*dk, "MINUS"));
2771  delete dk;
2772 
2773  // B->J/psi K1(1270); K1->K1*(1410) pi; K1*->K pi
2774  dk = new DecayTree(521);
2775  dk->addDgtr(443, 10323)->addDgtr(211, 100313)->addDgtr(321,-211);
2776  this->add(*dk);
2777  this->add(AmpInitialiser(*dk, "PLUS"));
2778  this->add(AmpInitialiser(*dk, "ZERO"));
2779  this->add(AmpInitialiser(*dk, "MINUS"));
2780  delete dk;
2781 
2782  dk = new DecayTree(521);
2783  k1=DecayTree(10323);
2784  k1.getVal().setL(2);
2785  k1.addDgtr(211, 313)->addDgtr(100321,-211);
2786  dk->addDgtr(443);
2787  dk->addDgtr(&k1);
2788  this->add(*dk);
2789  this->add(AmpInitialiser(*dk, "PLUS"));
2790  this->add(AmpInitialiser(*dk, "ZERO"));
2791  this->add(AmpInitialiser(*dk, "MINUS"));
2792  delete dk;
2793 
2794  dk = new DecayTree(521);
2795  dk->addDgtr(443, 10323)->addDgtr(211, 100313)->addDgtr(321,-211);
2796  dk->getVal().setL(1);
2797  this->add(*dk);
2798  this->add(AmpInitialiser(*dk, "PLUS"));
2799  this->add(AmpInitialiser(*dk, "ZERO"));
2800  this->add(AmpInitialiser(*dk, "MINUS"));
2801  delete dk;
2802 
2803  dk = new DecayTree(521);
2804  dk->addDgtr(443, 10323)->addDgtr(211, 100313)->addDgtr(321,-211);
2805  dk->getVal().setL(2);
2806  this->add(*dk);
2807  this->add(AmpInitialiser(*dk, "PLUS"));
2808  this->add(AmpInitialiser(*dk, "ZERO"));
2809  this->add(AmpInitialiser(*dk, "MINUS"));
2810  delete dk;
2811 
2812  // B->J/psi K1(1270); K1->K rho(770); rho->pi pi
2813  dk = new DecayTree(521);
2814  dk->addDgtr(443, 10323)->addDgtr(321, 113)->addDgtr(211,-211);
2815  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
2816  this->add(AmpInitialiser(*dk, "GS"));
2817  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
2818  this->add(*dk);
2819  this->add(AmpInitialiser(*dk, "PLUS"));
2820  this->add(AmpInitialiser(*dk, "ZERO"));
2821  this->add(AmpInitialiser(*dk, "MINUS"));
2822  this->add(AmpInitialiser(*dk, "MI_10323"));
2823  this->add(AmpInitialiser(*dk, "MI_10323GS"));
2824  this->add(AmpInitialiser(*dk, "MI_10323RhoOmegaGS"));
2825  dk->getVal().setL(1);
2826  this->add(*dk);
2827  this->add(AmpInitialiser(*dk, "PLUS"));
2828  this->add(AmpInitialiser(*dk, "ZERO"));
2829  this->add(AmpInitialiser(*dk, "MINUS"));
2830  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
2831  this->add(AmpInitialiser(*dk, "GS"));
2832  this->add(AmpInitialiser(*dk, "MI_10323"));
2833  this->add(AmpInitialiser(*dk, "MI_10323GS"));
2834  this->add(AmpInitialiser(*dk, "MI_10323RhoOmegaGS"));
2835  dk->getVal().setL(2);
2836  this->add(*dk);
2837  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
2838  this->add(AmpInitialiser(*dk, "GS"));
2839  this->add(AmpInitialiser(*dk, "MI_10323"));
2840  this->add(AmpInitialiser(*dk, "MI_10323GS"));
2841  this->add(AmpInitialiser(*dk, "MI_10323RhoOmegaGS"));
2842  this->add(AmpInitialiser(*dk, "PLUS"));
2843  this->add(AmpInitialiser(*dk, "ZERO"));
2844  this->add(AmpInitialiser(*dk, "MINUS"));
2845  delete dk;
2846 
2847  dk = new DecayTree(521);
2848  DecayTree K1(10323);
2849  K1.getVal().setL(2);
2850  K1.addDgtr(321, 113)->addDgtr(211,-211);
2851  dk->addDgtr(443);
2852  dk->addDgtr(&K1);
2853  this->add(*dk);
2854  this->add(AmpInitialiser(*dk, "PLUS"));
2855  this->add(AmpInitialiser(*dk, "ZERO"));
2856  this->add(AmpInitialiser(*dk, "MINUS"));
2857  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
2858  this->add(AmpInitialiser(*dk, "GS"));
2859  this->add(AmpInitialiser(*dk, "MI_10323"));
2860  this->add(AmpInitialiser(*dk, "MI_10323GS"));
2861  this->add(AmpInitialiser(*dk, "MI_10323RhoOmegaGS"));
2862  delete dk;
2863 
2864  // B->J/psi K1(1270); K1->K rho(770); rho->pi pi
2865  dk = new DecayTree(521);
2866  dk->addDgtr(443, 10323)->addDgtr(321, 113)->addDgtr(-211,211); // shouldn't make a difference to previous ones
2867  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
2868  this->add(AmpInitialiser(*dk, "GS"));
2869  this->add(*dk);
2870  this->add(AmpInitialiser(*dk, "PLUS"));
2871  this->add(AmpInitialiser(*dk, "ZERO"));
2872  this->add(AmpInitialiser(*dk, "MINUS"));
2873  dk->getVal().setL(1);
2874  this->add(*dk);
2875  this->add(AmpInitialiser(*dk, "PLUS"));
2876  this->add(AmpInitialiser(*dk, "ZERO"));
2877  this->add(AmpInitialiser(*dk, "MINUS"));
2878  dk->getVal().setL(2);
2879  this->add(*dk);
2880  this->add(AmpInitialiser(*dk, "PLUS"));
2881  this->add(AmpInitialiser(*dk, "ZERO"));
2882  this->add(AmpInitialiser(*dk, "MINUS"));
2883  delete dk;
2884 
2885  // B->J/psi K1(1270); K1->K omega; omega->pi pi
2886  dk = new DecayTree(521);
2887  dk->addDgtr(443, 10323)->addDgtr(321, 223)->addDgtr(211,-211);
2888  this->add(*dk);
2889  this->add(AmpInitialiser(*dk, "PLUS"));
2890  this->add(AmpInitialiser(*dk, "ZERO"));
2891  this->add(AmpInitialiser(*dk, "MINUS"));
2892  delete dk;
2893 
2894  // B->J/psi K1(1270); K1->K f0; f0->pi pi
2895  dk = new DecayTree(521);
2896  dk->addDgtr(443, 10323)->addDgtr(321, 9000221)->addDgtr(211,-211);
2897  this->add(*dk);
2898  this->add(AmpInitialiser(*dk, "PLUS"));
2899  this->add(AmpInitialiser(*dk, "ZERO"));
2900  this->add(AmpInitialiser(*dk, "MINUS"));
2901  this->add(AmpInitialiser(*dk, "Bugg"));
2902  this->add(AmpInitialiser(*dk, "MI_10323"));
2903  dk->getVal().setL(1);
2904  this->add(*dk);
2905  this->add(AmpInitialiser(*dk, "Bugg"));
2906  dk->getVal().setL(2);
2907  this->add(*dk);
2908  this->add(AmpInitialiser(*dk, "Bugg"));
2909  delete dk;
2910  dk = new DecayTree(521);
2911  dk->addDgtr(443, 10323)->addDgtr(321, 9010221)->addDgtr(211,-211);
2912  this->add(*dk);
2913  this->add(AmpInitialiser(*dk, "PLUS"));
2914  this->add(AmpInitialiser(*dk, "ZERO"));
2915  this->add(AmpInitialiser(*dk, "MINUS"));
2916  this->add(AmpInitialiser(*dk, "Flatte"));
2917  this->add(AmpInitialiser(*dk, "MI_10323"));
2918  this->add(AmpInitialiser(*dk, "MI_10323Flatte"));
2919  dk->getVal().setL(1);
2920  this->add(*dk);
2921  this->add(AmpInitialiser(*dk, "Flatte"));
2922  dk->getVal().setL(2);
2923  this->add(*dk);
2924  this->add(AmpInitialiser(*dk, "Flatte"));
2925  delete dk;
2926  dk = new DecayTree(521);
2927  dk->addDgtr(443, 10323)->addDgtr(321, 30221)->addDgtr(211,-211);
2928  this->add(*dk);
2929  this->add(AmpInitialiser(*dk, "PLUS"));
2930  this->add(AmpInitialiser(*dk, "ZERO"));
2931  this->add(AmpInitialiser(*dk, "MINUS"));
2932  this->add(AmpInitialiser(*dk, "MI_10323"));
2933  this->add(AmpInitialiser(*dk, "MI_10323Flatte"));
2934  this->add(AmpInitialiser(*dk, "Flatte"));
2935  dk->getVal().setL(1);
2936  this->add(*dk);
2937  this->add(AmpInitialiser(*dk, "Flatte"));
2938  dk->getVal().setL(2);
2939  this->add(*dk);
2940  this->add(AmpInitialiser(*dk, "Flatte"));
2941  delete dk;
2942 
2943  // B->J/Psi K1(1270); K1-> K0^*(1430) pi; K0^*->K pi
2944  dk = new DecayTree(521);
2945  dk->addDgtr(443, 10323)->addDgtr(211, 10311)->addDgtr(321,-211);
2946  this->add(AmpInitialiser(*dk, "Lass"));
2947  this->add(*dk);
2948  this->add(AmpInitialiser(*dk, "PLUS"));
2949  this->add(AmpInitialiser(*dk, "ZERO"));
2950  this->add(AmpInitialiser(*dk, "MINUS"));
2951  this->add(AmpInitialiser(*dk, "MI_10323"));
2952  this->add(AmpInitialiser(*dk, "MI_10323Lass"));
2953  dk->getVal().setL(1);
2954  this->add(*dk);
2955  this->add(AmpInitialiser(*dk, "Lass"));
2956  dk->getVal().setL(2);
2957  this->add(*dk);
2958  this->add(AmpInitialiser(*dk, "Lass"));
2959  delete dk;
2960 
2961  // B->J/Psi K1(1270); K1-> kappa(800) pi;
2962  dk = new DecayTree(521);
2963  dk->addDgtr(443, 10323)->addDgtr(211, 900311)->addDgtr(321,-211);
2964  this->add(*dk);
2965  this->add(AmpInitialiser(*dk, "PLUS"));
2966  this->add(AmpInitialiser(*dk, "ZERO"));
2967  this->add(AmpInitialiser(*dk, "MINUS"));
2968  this->add(AmpInitialiser(*dk, "MI_10323"));
2969  dk->getVal().setL(1);
2970  this->add(*dk);
2971  dk->getVal().setL(2);
2972  this->add(*dk);
2973  delete dk;
2974 
2975  // B->J/psi K1(1400); K1->K*(892) pi; K*->K pi
2976  dk = new DecayTree(521);
2977  dk->addDgtr(443, 20323)->addDgtr(211, 313)->addDgtr(321,-211);
2978  this->add(*dk);
2979  this->add(AmpInitialiser(*dk, "PLUS"));
2980  this->add(AmpInitialiser(*dk, "ZERO"));
2981  this->add(AmpInitialiser(*dk, "MINUS"));
2982  dk->getVal().setL(1);
2983  this->add(*dk);
2984  this->add(AmpInitialiser(*dk, "PLUS"));
2985  this->add(AmpInitialiser(*dk, "ZERO"));
2986  this->add(AmpInitialiser(*dk, "MINUS"));
2987  dk->getVal().setL(2);
2988  this->add(*dk);
2989  this->add(AmpInitialiser(*dk, "PLUS"));
2990  this->add(AmpInitialiser(*dk, "ZERO"));
2991  this->add(AmpInitialiser(*dk, "MINUS"));
2992  delete dk;
2993 
2994  dk = new DecayTree(521);
2995  K1=DecayTree(20323);
2996  K1.getVal().setL(2);
2997  K1.addDgtr(211, 313)->addDgtr(321,-211);
2998  dk->addDgtr(443);
2999  dk->addDgtr(&K1);
3000  this->add(*dk);
3001  this->add(AmpInitialiser(*dk, "PLUS"));
3002  this->add(AmpInitialiser(*dk, "ZERO"));
3003  this->add(AmpInitialiser(*dk, "MINUS"));
3004  delete dk;
3005 
3006  // B->J/psi K1(1400); K1->K rho(770); rho->pi pi
3007  dk = new DecayTree(521);
3008  dk->addDgtr(443, 20323)->addDgtr(321, 113)->addDgtr(211,-211);
3009  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
3010  this->add(AmpInitialiser(*dk, "GS"));
3011  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
3012  this->add(*dk);
3013  this->add(AmpInitialiser(*dk, "PLUS"));
3014  this->add(AmpInitialiser(*dk, "ZERO"));
3015  this->add(AmpInitialiser(*dk, "MINUS"));
3016  dk->getVal().setL(1);
3017  this->add(*dk);
3018  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
3019  this->add(AmpInitialiser(*dk, "GS"));
3020  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
3021  this->add(AmpInitialiser(*dk, "PLUS"));
3022  this->add(AmpInitialiser(*dk, "ZERO"));
3023  this->add(AmpInitialiser(*dk, "MINUS"));
3024  dk->getVal().setL(2);
3025  this->add(*dk);
3026  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
3027  this->add(AmpInitialiser(*dk, "GS"));
3028  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
3029  this->add(AmpInitialiser(*dk, "PLUS"));
3030  this->add(AmpInitialiser(*dk, "ZERO"));
3031  this->add(AmpInitialiser(*dk, "MINUS"));
3032  delete dk;
3033 
3034  dk = new DecayTree(521);
3035  K1=DecayTree(20323);
3036  K1.getVal().setL(2);
3037  K1.addDgtr(321, 113)->addDgtr(211,-211);
3038  dk->addDgtr(443);
3039  dk->addDgtr(&K1);
3040  this->add(*dk);
3041  this->add(AmpInitialiser(*dk, "PLUS"));
3042  this->add(AmpInitialiser(*dk, "ZERO"));
3043  this->add(AmpInitialiser(*dk, "MINUS"));
3044  delete dk;
3045 
3046  // B->J/psi K1(1400); K1->K omega; omega->pi pi
3047  dk = new DecayTree(521);
3048  dk->addDgtr(443, 20323)->addDgtr(321, 223)->addDgtr(211,-211);
3049  this->add(*dk);
3050  this->add(AmpInitialiser(*dk, "PLUS"));
3051  this->add(AmpInitialiser(*dk, "ZERO"));
3052  this->add(AmpInitialiser(*dk, "MINUS"));
3053  delete dk;
3054 
3055  //Non resonant amplitudes:
3056  //------------------------
3057 
3058  // B->J/psi (K pi pi)_S
3059  dk = new DecayTree(521);
3060  dk->addDgtr(443, 9991)->addDgtr(321,9981)->addDgtr(211,-211);
3061  this->add(*dk);
3062  this->add(AmpInitialiser(*dk, "NonRes"));
3063  this->add(AmpInitialiser(*dk, "NonResExp_9991"));
3064  this->add(AmpInitialiser(*dk, "NonResExp_9981"));
3065  this->add(AmpInitialiser(*dk, "NonResExp_9991_9981"));
3066  this->add(AmpInitialiser(*dk, "NonResPow_9991"));
3067  this->add(AmpInitialiser(*dk, "NonResPow_9981"));
3068  this->add(AmpInitialiser(*dk, "NonResPow_9991_9981"));
3069  delete dk;
3070 
3071  //B-> J/psi NA ; NA-> NV P
3072  dk = new DecayTree(521);
3073  dk->addDgtr(443, 9983)->addDgtr(321, 9993)->addDgtr(211,-211);
3074  this->add(AmpInitialiser(*dk, "NonResExp_9983"));
3075  this->add(AmpInitialiser(*dk, "NonRes"));
3076  this->add(AmpInitialiser(*dk, "NonResPhsp"));
3077  this->add(*dk);
3078  dk->getVal().setL(1);
3079  this->add(AmpInitialiser(*dk, "NonResExp_9983"));
3080  this->add(AmpInitialiser(*dk, "NonRes"));
3081  this->add(AmpInitialiser(*dk, "NonResPhsp"));
3082  this->add(*dk);
3083 
3084  dk = new DecayTree(521);
3085  dk->addDgtr(443, 9983)->addDgtr(211, 9993)->addDgtr(321,-211);
3086  this->add(AmpInitialiser(*dk, "NonResExp_9983"));
3087  this->add(AmpInitialiser(*dk, "NonRes"));
3088  this->add(*dk);
3089  dk->getVal().setL(1);
3090  this->add(AmpInitialiser(*dk, "NonResExp_9983"));
3091  this->add(AmpInitialiser(*dk, "NonRes"));
3092  this->add(*dk);
3093 
3094  dk = new DecayTree(521);
3095  dk->addDgtr(443, 9983)->addDgtr(-211, 9993)->addDgtr(321,211);
3096  this->add(*dk);
3097  this->add(AmpInitialiser(*dk, "NonResExp_9983"));
3098  this->add(AmpInitialiser(*dk, "NonRes"));
3099  dk->getVal().setL(1);
3100  this->add(*dk);
3101  this->add(AmpInitialiser(*dk, "NonResExp_9983"));
3102  this->add(AmpInitialiser(*dk, "NonRes"));
3103 
3104  delete dk;
3105 
3106  // B->J/psi K1(1400); K1->K f0; f0->pi pi
3107  dk = new DecayTree(521);
3108  dk->addDgtr(443, 20323)->addDgtr(321, 9000221)->addDgtr(211,-211);
3109  this->add(*dk);
3110  this->add(AmpInitialiser(*dk, "PLUS"));
3111  this->add(AmpInitialiser(*dk, "ZERO"));
3112  this->add(AmpInitialiser(*dk, "MINUS"));
3113  this->add(AmpInitialiser(*dk, "Bugg"));
3114  delete dk;
3115  dk = new DecayTree(521);
3116  dk->addDgtr(443, 20323)->addDgtr(321, 9010221)->addDgtr(211,-211);
3117  this->add(*dk);
3118  this->add(AmpInitialiser(*dk, "PLUS"));
3119  this->add(AmpInitialiser(*dk, "ZERO"));
3120  this->add(AmpInitialiser(*dk, "MINUS"));
3121  this->add(AmpInitialiser(*dk, "Flatte"));
3122  delete dk;
3123  dk = new DecayTree(521);
3124  dk->addDgtr(443, 20323)->addDgtr(321, 30221)->addDgtr(211,-211);
3125  this->add(*dk);
3126  this->add(AmpInitialiser(*dk, "PLUS"));
3127  this->add(AmpInitialiser(*dk, "ZERO"));
3128  this->add(AmpInitialiser(*dk, "MINUS"));
3129  this->add(AmpInitialiser(*dk, "Flatte"));
3130  delete dk;
3131 
3132  // B->J/Psi K1(1400); K1-> K0^*(1430) pi; K0^*->K pi
3133  dk = new DecayTree(521);
3134  dk->addDgtr(443, 20323)->addDgtr(211, 10311)->addDgtr(321,-211);
3135  this->add(AmpInitialiser(*dk, "Lass"));
3136  this->add(*dk);
3137  this->add(AmpInitialiser(*dk, "PLUS"));
3138  this->add(AmpInitialiser(*dk, "ZERO"));
3139  this->add(AmpInitialiser(*dk, "MINUS"));
3140  delete dk;
3141 
3142  // B->J/psi K*(1410); K*(1410)->K*(892) pi; K*->K pi
3143  dk = new DecayTree(521);
3144  dk->addDgtr(443, 100323)->addDgtr(211, 313)->addDgtr(321,-211);
3145  this->add(*dk);
3146  this->add(AmpInitialiser(*dk, "PLUS"));
3147  this->add(AmpInitialiser(*dk, "ZERO"));
3148  this->add(AmpInitialiser(*dk, "MINUS"));
3149  this->add(AmpInitialiser(*dk, "MI_100323"));
3150  dk->getVal().setL(1);
3151  this->add(*dk);
3152  dk->getVal().setL(2);
3153  this->add(*dk);
3154  delete dk;
3155 
3156  // B->J/psi K*(1410); K*->K rho(770); rho->pi pi
3157  dk = new DecayTree(521);
3158  dk->addDgtr(443, 100323)->addDgtr(321, 113)->addDgtr(211,-211);
3159  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
3160  this->add(AmpInitialiser(*dk, "GS"));
3161  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
3162  this->add(AmpInitialiser(*dk, "MI_100323"));
3163  this->add(AmpInitialiser(*dk, "MI_100323GS"));
3164  this->add(AmpInitialiser(*dk, "MI_100323RhoOmegaGS"));
3165  this->add(*dk);
3166  this->add(AmpInitialiser(*dk, "PLUS"));
3167  this->add(AmpInitialiser(*dk, "ZERO"));
3168  this->add(AmpInitialiser(*dk, "MINUS"));
3169  dk->getVal().setL(1);
3170  this->add(*dk);
3171  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
3172  dk->getVal().setL(2);
3173  this->add(*dk);
3174  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
3175  delete dk;
3176 
3177  // B->psi K(1460); K->K*(892) pi; K*->K pi
3178  dk = new DecayTree(521);
3179  dk->addDgtr(443, 100321)->addDgtr(211, 313)->addDgtr(321,-211);
3180  this->add(*dk);
3181  this->add(AmpInitialiser(*dk, "MI_100321"));
3182  delete dk;
3183 
3184  // B->psi K(1460); K->K rho(770); rho->pi pi
3185  dk = new DecayTree(521);
3186  dk->addDgtr(443, 100321)->addDgtr(321, 113)->addDgtr(211,-211);
3187  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
3188  this->add(AmpInitialiser(*dk, "GS"));
3189  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
3190  this->add(AmpInitialiser(*dk, "MI_10321"));
3191  this->add(AmpInitialiser(*dk, "MI_10321GS"));
3192  this->add(AmpInitialiser(*dk, "MI_10321RhoOmegaGS"));
3193  this->add(*dk);
3194  delete dk;
3195 
3196  // B->psi K(1460); K->K f0(980); f0->pi pi
3197  dk = new DecayTree(521);
3198  dk->addDgtr(443, 100321)->addDgtr(321, 9010221)->addDgtr(211,-211);
3199  this->add(AmpInitialiser(*dk, "MI_10323"));
3200  this->add(AmpInitialiser(*dk, "MI_10323Flatte"));
3201  this->add(AmpInitialiser(*dk, "Flatte"));
3202  this->add(*dk);
3203  delete dk;
3204 
3205  // B->psi K(1460); K-> K0^*(1430) pi; K0^*->K pi
3206  dk = new DecayTree(521);
3207  dk->addDgtr(443, 100321)->addDgtr(211, 10311)->addDgtr(321,-211);
3208  this->add(AmpInitialiser(*dk, "Lass"));
3209  this->add(AmpInitialiser(*dk, "MI_10323"));
3210  this->add(AmpInitialiser(*dk, "MI_10323Lass"));
3211  this->add(*dk);
3212  delete dk;
3213 
3214  // B->J/psi K2(1580); K2->K*(892) pi; K*->K pi
3215  dk = new DecayTree(521);
3216  dk->addDgtr(443, 9000325)->addDgtr(211, 313)->addDgtr(321,-211);
3217  this->add(*dk);
3218  this->add(AmpInitialiser(*dk, "PLUS"));
3219  this->add(AmpInitialiser(*dk, "ZERO"));
3220  this->add(AmpInitialiser(*dk, "MINUS"));
3221  dk->getVal().setL(2);
3222  this->add(*dk);
3223  this->add(AmpInitialiser(*dk, "PLUS"));
3224  this->add(AmpInitialiser(*dk, "ZERO"));
3225  this->add(AmpInitialiser(*dk, "MINUS"));
3226  delete dk;
3227 
3228  // B->J/psi K2(1580); K2->K1*(1410) pi; K*->K pi
3229  dk = new DecayTree(521);
3230  dk->addDgtr(443, 9000325)->addDgtr(211, 100313)->addDgtr(321,-211);
3231  this->add(*dk);
3232  this->add(AmpInitialiser(*dk, "PLUS"));
3233  this->add(AmpInitialiser(*dk, "ZERO"));
3234  this->add(AmpInitialiser(*dk, "MINUS"));
3235  dk->getVal().setL(2);
3236  this->add(*dk);
3237  this->add(AmpInitialiser(*dk, "PLUS"));
3238  this->add(AmpInitialiser(*dk, "ZERO"));
3239  this->add(AmpInitialiser(*dk, "MINUS"));
3240  delete dk;
3241 
3242  // B->J/psi K2(1580); K2->K rho(770); rho->pi pi
3243  dk = new DecayTree(521);
3244  dk->addDgtr(443, 9000325)->addDgtr(321, 113)->addDgtr(211,-211);
3245  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
3246  this->add(AmpInitialiser(*dk, "GS"));
3247  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
3248  this->add(*dk);
3249  this->add(AmpInitialiser(*dk, "PLUS"));
3250  this->add(AmpInitialiser(*dk, "ZERO"));
3251  this->add(AmpInitialiser(*dk, "MINUS"));
3252  dk->getVal().setL(2);
3253  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
3254  this->add(AmpInitialiser(*dk, "GS"));
3255  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
3256  this->add(*dk);
3257  this->add(AmpInitialiser(*dk, "PLUS"));
3258  this->add(AmpInitialiser(*dk, "ZERO"));
3259  this->add(AmpInitialiser(*dk, "MINUS"));
3260  delete dk;
3261 
3262  // B->J/psi K2(1580); K2->K omega; omega->pi pi
3263  dk = new DecayTree(521);
3264  dk->addDgtr(443, 9000325)->addDgtr(321, 223)->addDgtr(211,-211);
3265  this->add(*dk);
3266  this->add(AmpInitialiser(*dk, "PLUS"));
3267  this->add(AmpInitialiser(*dk, "ZERO"));
3268  this->add(AmpInitialiser(*dk, "MINUS"));
3269  delete dk;
3270 
3271  // B->J/psi K2(1580); K2->K f0(980); f2->pi pi
3272  dk = new DecayTree(521);
3273  dk->addDgtr(443, 9000325)->addDgtr(321, 9010221)->addDgtr(211,-211);
3274  this->add(AmpInitialiser(*dk, "Flatte"));
3275  this->add(*dk);
3276  this->add(AmpInitialiser(*dk, "PLUS"));
3277  this->add(AmpInitialiser(*dk, "ZERO"));
3278  this->add(AmpInitialiser(*dk, "MINUS"));
3279  delete dk;
3280 
3281  // B->J/psi K2(1580); K2->K f2(1270); f2->pi pi
3282  dk = new DecayTree(521);
3283  dk->addDgtr(443, 9000325)->addDgtr(321, 225)->addDgtr(211,-211);
3284  this->add(*dk);
3285  this->add(AmpInitialiser(*dk, "PLUS"));
3286  this->add(AmpInitialiser(*dk, "ZERO"));
3287  this->add(AmpInitialiser(*dk, "MINUS"));
3288  this->add(AmpInitialiser(*dk, "SBW_225_"));
3289  delete dk;
3290 
3291  // B->J/psi K2(1580); K2->K2*(1430) pi; K2*->K pi
3292  dk = new DecayTree(521);
3293  dk->addDgtr(443, 9000325)->addDgtr(211, 315)->addDgtr(321,-211);
3294  this->add(*dk);
3295  this->add(AmpInitialiser(*dk, "PLUS"));
3296  this->add(AmpInitialiser(*dk, "ZERO"));
3297  this->add(AmpInitialiser(*dk, "MINUS"));
3298 
3299  // B->J/psi K2(1770); K2->K*(892) pi; K*->K pi
3300  dk = new DecayTree(521);
3301  dk->addDgtr(443, 10325)->addDgtr(211, 313)->addDgtr(321,-211);
3302  this->add(*dk);
3303  this->add(AmpInitialiser(*dk, "PLUS"));
3304  this->add(AmpInitialiser(*dk, "ZERO"));
3305  this->add(AmpInitialiser(*dk, "MINUS"));
3306  this->add(AmpInitialiser(*dk, "MI_10325"));
3307  dk->getVal().setL(2);
3308  this->add(*dk);
3309  this->add(AmpInitialiser(*dk, "PLUS"));
3310  this->add(AmpInitialiser(*dk, "ZERO"));
3311  this->add(AmpInitialiser(*dk, "MINUS"));
3312  this->add(AmpInitialiser(*dk, "MI_10325"));
3313  delete dk;
3314 
3315  // B->J/psi K2(1770); K2->K1*(1410) pi; K*->K pi
3316  dk = new DecayTree(521);
3317  dk->addDgtr(443, 10325)->addDgtr(211, 100313)->addDgtr(321,-211);
3318  this->add(*dk);
3319  this->add(AmpInitialiser(*dk, "PLUS"));
3320  this->add(AmpInitialiser(*dk, "ZERO"));
3321  this->add(AmpInitialiser(*dk, "MINUS"));
3322  this->add(AmpInitialiser(*dk, "MI_10325"));
3323  dk->getVal().setL(2);
3324  this->add(*dk);
3325  this->add(AmpInitialiser(*dk, "PLUS"));
3326  this->add(AmpInitialiser(*dk, "ZERO"));
3327  this->add(AmpInitialiser(*dk, "MINUS"));
3328  this->add(AmpInitialiser(*dk, "MI_10325"));
3329  delete dk;
3330 
3331  // B->J/psi K2(1770); K2->K rho(770); rho->pi pi
3332  dk = new DecayTree(521);
3333  dk->addDgtr(443, 10325)->addDgtr(321, 113)->addDgtr(211,-211);
3334  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
3335  this->add(AmpInitialiser(*dk, "GS"));
3336  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
3337  this->add(*dk);
3338  this->add(AmpInitialiser(*dk, "MI_10325"));
3339  this->add(AmpInitialiser(*dk, "MI_10325GS"));
3340  this->add(AmpInitialiser(*dk, "MI_10325RhoOmegaGS"));
3341  this->add(AmpInitialiser(*dk, "PLUS"));
3342  this->add(AmpInitialiser(*dk, "ZERO"));
3343  this->add(AmpInitialiser(*dk, "MINUS"));
3344  dk->getVal().setL(2);
3345  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
3346  this->add(AmpInitialiser(*dk, "GS"));
3347  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
3348  this->add(*dk);
3349  this->add(AmpInitialiser(*dk, "MI_10325"));
3350  this->add(AmpInitialiser(*dk, "MI_10325GS"));
3351  this->add(AmpInitialiser(*dk, "MI_10325RhoOmegaGS"));
3352  this->add(AmpInitialiser(*dk, "PLUS"));
3353  this->add(AmpInitialiser(*dk, "ZERO"));
3354  this->add(AmpInitialiser(*dk, "MINUS"));
3355  delete dk;
3356 
3357  // B->J/psi K2(1770); K2->K omega; omega->pi pi
3358  dk = new DecayTree(521);
3359  dk->addDgtr(443, 10325)->addDgtr(321, 223)->addDgtr(211,-211);
3360  this->add(*dk);
3361  this->add(AmpInitialiser(*dk, "PLUS"));
3362  this->add(AmpInitialiser(*dk, "ZERO"));
3363  this->add(AmpInitialiser(*dk, "MINUS"));
3364  delete dk;
3365 
3366  // B->J/psi K2(1770); K2->K f0(980); f2->pi pi
3367  dk = new DecayTree(521);
3368  dk->addDgtr(443, 10325)->addDgtr(321, 9010221)->addDgtr(211,-211);
3369  this->add(AmpInitialiser(*dk, "Flatte"));
3370  this->add(AmpInitialiser(*dk, "MI_10325"));
3371  this->add(AmpInitialiser(*dk, "MI_10325Flatte"));
3372  this->add(*dk);
3373  this->add(AmpInitialiser(*dk, "PLUS"));
3374  this->add(AmpInitialiser(*dk, "ZERO"));
3375  this->add(AmpInitialiser(*dk, "MINUS"));
3376  delete dk;
3377 
3378  // B->J/psi K2(1770); K2->K f2(1270); f2->pi pi
3379  dk = new DecayTree(521);
3380  dk->addDgtr(443, 10325)->addDgtr(321, 225)->addDgtr(211,-211);
3381  this->add(*dk);
3382  this->add(AmpInitialiser(*dk, "PLUS"));
3383  this->add(AmpInitialiser(*dk, "ZERO"));
3384  this->add(AmpInitialiser(*dk, "MINUS"));
3385  this->add(AmpInitialiser(*dk, "MI_10325"));
3386  delete dk;
3387 
3388  // B->J/psi K2(1770); K2->K2*(1430) pi; K2*->K pi
3389  dk = new DecayTree(521);
3390  dk->addDgtr(443, 10325)->addDgtr(211, 315)->addDgtr(321,-211);
3391  this->add(*dk);
3392  this->add(AmpInitialiser(*dk, "PLUS"));
3393  this->add(AmpInitialiser(*dk, "ZERO"));
3394  this->add(AmpInitialiser(*dk, "MINUS"));
3395  this->add(AmpInitialiser(*dk, "MI_10325"));
3396  delete dk;
3397 
3398  // B->J/psi K2(1820); K2->K*(892) pi; K*->K pi
3399  dk = new DecayTree(521);
3400  dk->addDgtr(443, 20325)->addDgtr(211, 313)->addDgtr(321,-211);
3401  this->add(*dk);
3402  this->add(AmpInitialiser(*dk, "PLUS"));
3403  this->add(AmpInitialiser(*dk, "ZERO"));
3404  this->add(AmpInitialiser(*dk, "MINUS"));
3405  dk->getVal().setL(2);
3406  this->add(*dk);
3407  this->add(AmpInitialiser(*dk, "PLUS"));
3408  this->add(AmpInitialiser(*dk, "ZERO"));
3409  this->add(AmpInitialiser(*dk, "MINUS"));
3410  delete dk;
3411 
3412  // B->J/psi K2(1820); K2->K1*(1410) pi; K*->K pi
3413  dk = new DecayTree(521);
3414  dk->addDgtr(443, 20325)->addDgtr(211, 100313)->addDgtr(321,-211);
3415  this->add(*dk);
3416  this->add(AmpInitialiser(*dk, "PLUS"));
3417  this->add(AmpInitialiser(*dk, "ZERO"));
3418  this->add(AmpInitialiser(*dk, "MINUS"));
3419  dk->getVal().setL(2);
3420  this->add(*dk);
3421  this->add(AmpInitialiser(*dk, "PLUS"));
3422  this->add(AmpInitialiser(*dk, "ZERO"));
3423  this->add(AmpInitialiser(*dk, "MINUS"));
3424  delete dk;
3425 
3426  // B->J/psi K2(1820); K2->K rho(770); rho->pi pi
3427  dk = new DecayTree(521);
3428  dk->addDgtr(443, 20325)->addDgtr(321, 113)->addDgtr(211,-211);
3429  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
3430  this->add(AmpInitialiser(*dk, "GS"));
3431  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
3432  this->add(*dk);
3433  this->add(AmpInitialiser(*dk, "PLUS"));
3434  this->add(AmpInitialiser(*dk, "ZERO"));
3435  this->add(AmpInitialiser(*dk, "MINUS"));
3436  dk->getVal().setL(2);
3437  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
3438  this->add(AmpInitialiser(*dk, "GS"));
3439  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
3440  this->add(*dk);
3441  this->add(AmpInitialiser(*dk, "PLUS"));
3442  this->add(AmpInitialiser(*dk, "ZERO"));
3443  this->add(AmpInitialiser(*dk, "MINUS"));
3444  delete dk;
3445 
3446  // B->J/psi K2(1820); K2->K omega; omega->pi pi
3447  dk = new DecayTree(521);
3448  dk->addDgtr(443, 20325)->addDgtr(321, 223)->addDgtr(211,-211);
3449  this->add(*dk);
3450  this->add(AmpInitialiser(*dk, "PLUS"));
3451  this->add(AmpInitialiser(*dk, "ZERO"));
3452  this->add(AmpInitialiser(*dk, "MINUS"));
3453  delete dk;
3454 
3455  // B->J/psi K2(1820); K2->K f0(980); f2->pi pi
3456  dk = new DecayTree(521);
3457  dk->addDgtr(443, 20325)->addDgtr(321, 9010221)->addDgtr(211,-211);
3458  this->add(AmpInitialiser(*dk, "Flatte"));
3459  this->add(*dk);
3460  this->add(AmpInitialiser(*dk, "PLUS"));
3461  this->add(AmpInitialiser(*dk, "ZERO"));
3462  this->add(AmpInitialiser(*dk, "MINUS"));
3463  delete dk;
3464 
3465  // B->J/psi K2(1820); K2->K f2(1270); f2->pi pi
3466  dk = new DecayTree(521);
3467  dk->addDgtr(443, 20325)->addDgtr(321, 225)->addDgtr(211,-211);
3468  this->add(*dk);
3469  this->add(AmpInitialiser(*dk, "PLUS"));
3470  this->add(AmpInitialiser(*dk, "ZERO"));
3471  this->add(AmpInitialiser(*dk, "MINUS"));
3472  delete dk;
3473 
3474  // B->J/psi K2(1820); K2->K2*(1430) pi; K2*->K pi
3475  dk = new DecayTree(521);
3476  dk->addDgtr(443, 20325)->addDgtr(211, 315)->addDgtr(321,-211);
3477  this->add(*dk);
3478  this->add(AmpInitialiser(*dk, "PLUS"));
3479  this->add(AmpInitialiser(*dk, "ZERO"));
3480  this->add(AmpInitialiser(*dk, "MINUS"));
3481  delete dk;
3482 
3483  // B->J/psi K2(2250); K2->K*(892) pi; K*->K pi
3484  dk = new DecayTree(521);
3485  dk->addDgtr(443, 9010325)->addDgtr(211, 313)->addDgtr(321,-211);
3486  this->add(*dk);
3487  this->add(AmpInitialiser(*dk, "PLUS"));
3488  this->add(AmpInitialiser(*dk, "ZERO"));
3489  this->add(AmpInitialiser(*dk, "MINUS"));
3490  dk->getVal().setL(2);
3491  this->add(*dk);
3492  this->add(AmpInitialiser(*dk, "PLUS"));
3493  this->add(AmpInitialiser(*dk, "ZERO"));
3494  this->add(AmpInitialiser(*dk, "MINUS"));
3495  delete dk;
3496 
3497  // B->J/psi K2(2250); K2->K1*(1410) pi; K*->K pi
3498  dk = new DecayTree(521);
3499  dk->addDgtr(443, 9010325)->addDgtr(211, 100313)->addDgtr(321,-211);
3500  this->add(*dk);
3501  this->add(AmpInitialiser(*dk, "PLUS"));
3502  this->add(AmpInitialiser(*dk, "ZERO"));
3503  this->add(AmpInitialiser(*dk, "MINUS"));
3504  dk->getVal().setL(2);
3505  this->add(*dk);
3506  this->add(AmpInitialiser(*dk, "PLUS"));
3507  this->add(AmpInitialiser(*dk, "ZERO"));
3508  this->add(AmpInitialiser(*dk, "MINUS"));
3509  delete dk;
3510 
3511  // B->J/psi K2(2250); K2->K rho(770); rho->pi pi
3512  dk = new DecayTree(521);
3513  dk->addDgtr(443, 9010325)->addDgtr(321, 113)->addDgtr(211,-211);
3514  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
3515  this->add(AmpInitialiser(*dk, "GS"));
3516  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
3517  this->add(*dk);
3518  this->add(AmpInitialiser(*dk, "PLUS"));
3519  this->add(AmpInitialiser(*dk, "ZERO"));
3520  this->add(AmpInitialiser(*dk, "MINUS"));
3521  dk->getVal().setL(2);
3522  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
3523  this->add(AmpInitialiser(*dk, "GS"));
3524  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
3525  this->add(*dk);
3526  this->add(AmpInitialiser(*dk, "PLUS"));
3527  this->add(AmpInitialiser(*dk, "ZERO"));
3528  this->add(AmpInitialiser(*dk, "MINUS"));
3529  delete dk;
3530 
3531  // B->J/psi K2(2250); K2->K omega; omega->pi pi
3532  dk = new DecayTree(521);
3533  dk->addDgtr(443, 9010325)->addDgtr(321, 223)->addDgtr(211,-211);
3534  this->add(*dk);
3535  this->add(AmpInitialiser(*dk, "PLUS"));
3536  this->add(AmpInitialiser(*dk, "ZERO"));
3537  this->add(AmpInitialiser(*dk, "MINUS"));
3538  delete dk;
3539 
3540  // B->J/psi K2(2250); K2->K f0(980); f2->pi pi
3541  dk = new DecayTree(521);
3542  dk->addDgtr(443, 9010325)->addDgtr(321, 9010221)->addDgtr(211,-211);
3543  this->add(AmpInitialiser(*dk, "Flatte"));
3544  this->add(*dk);
3545  this->add(AmpInitialiser(*dk, "PLUS"));
3546  this->add(AmpInitialiser(*dk, "ZERO"));
3547  this->add(AmpInitialiser(*dk, "MINUS"));
3548  delete dk;
3549 
3550  // B->J/psi K2(2250); K2->K f2(1270); f2->pi pi
3551  dk = new DecayTree(521);
3552  dk->addDgtr(443, 9010325)->addDgtr(321, 225)->addDgtr(211,-211);
3553  this->add(*dk);
3554  this->add(AmpInitialiser(*dk, "PLUS"));
3555  this->add(AmpInitialiser(*dk, "ZERO"));
3556  this->add(AmpInitialiser(*dk, "MINUS"));
3557  delete dk;
3558 
3559  // B->J/psi K2(2250); K2->K2*(1430) pi; K2*->K pi
3560  dk = new DecayTree(521);
3561  dk->addDgtr(443, 9010325)->addDgtr(211, 315)->addDgtr(321,-211);
3562  this->add(*dk);
3563  this->add(AmpInitialiser(*dk, "PLUS"));
3564  this->add(AmpInitialiser(*dk, "ZERO"));
3565  this->add(AmpInitialiser(*dk, "MINUS"));
3566  delete dk;
3567 
3568  // B->J/psi K2*(1430); K2->K*(892) pi; K*->K pi
3569  dk = new DecayTree(521);
3570  dk->addDgtr(443, 325)->addDgtr(211, 313)->addDgtr(321,-211);
3571  this->add(*dk);
3572  this->add(AmpInitialiser(*dk, "PLUS"));
3573  this->add(AmpInitialiser(*dk, "ZERO"));
3574  this->add(AmpInitialiser(*dk, "MINUS"));
3575  delete dk;
3576 
3577  // B->J/psi K2*(1430); K2->K rho(770); rho->pi pi
3578  dk = new DecayTree(521);
3579  dk->addDgtr(443, 325)->addDgtr(321, 113)->addDgtr(211,-211);
3580  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
3581  this->add(AmpInitialiser(*dk, "GS"));
3582  this->add(*dk);
3583  this->add(AmpInitialiser(*dk, "PLUS"));
3584  this->add(AmpInitialiser(*dk, "ZERO"));
3585  this->add(AmpInitialiser(*dk, "MINUS"));
3586  delete dk;
3587 
3588  // B->J/psi K2*(1430); K2->K omega; omega->pi pi
3589  dk = new DecayTree(521);
3590  dk->addDgtr(443, 325)->addDgtr(321, 223)->addDgtr(211,-211);
3591  this->add(*dk);
3592  this->add(AmpInitialiser(*dk, "PLUS"));
3593  this->add(AmpInitialiser(*dk, "ZERO"));
3594  this->add(AmpInitialiser(*dk, "MINUS"));
3595  delete dk;
3596 
3597  // B->J/psi K2*(1980); K2->K*(892) pi; K*->K pi
3598  dk = new DecayTree(521);
3599  dk->addDgtr(443, 100325)->addDgtr(211, 313)->addDgtr(321,-211);
3600  this->add(*dk);
3601  this->add(AmpInitialiser(*dk, "PLUS"));
3602  this->add(AmpInitialiser(*dk, "ZERO"));
3603  this->add(AmpInitialiser(*dk, "MINUS"));
3604  this->add(AmpInitialiser(*dk, "MI_100325"));
3605  delete dk;
3606 
3607  // B->J/psi K2*(1980); K2->K rho(770); rho->pi pi
3608  dk = new DecayTree(521);
3609  dk->addDgtr(443, 100325)->addDgtr(321, 113)->addDgtr(211,-211);
3610  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
3611  this->add(AmpInitialiser(*dk, "GS"));
3612  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
3613  this->add(AmpInitialiser(*dk, "MI_100325"));
3614  this->add(AmpInitialiser(*dk, "MI_100325GS"));
3615  this->add(AmpInitialiser(*dk, "MI_100325RhoOmegaGS"));
3616  this->add(*dk);
3617  this->add(AmpInitialiser(*dk, "PLUS"));
3618  this->add(AmpInitialiser(*dk, "ZERO"));
3619  this->add(AmpInitialiser(*dk, "MINUS"));
3620  delete dk;
3621 
3622  // B->J/psi K2*(1980); K2->K omega; omega->pi pi
3623  dk = new DecayTree(521);
3624  dk->addDgtr(443, 100325)->addDgtr(321, 223)->addDgtr(211,-211);
3625  this->add(*dk);
3626  this->add(AmpInitialiser(*dk, "PLUS"));
3627  this->add(AmpInitialiser(*dk, "ZERO"));
3628  this->add(AmpInitialiser(*dk, "MINUS"));
3629  delete dk;
3630 
3631  // B->J/psi K1*(1680); K2->K*(892) pi; K*->K pi
3632  dk = new DecayTree(521);
3633  dk->addDgtr(443, 30323)->addDgtr(211, 313)->addDgtr(321,-211);
3634  this->add(*dk);
3635  this->add(AmpInitialiser(*dk, "PLUS"));
3636  this->add(AmpInitialiser(*dk, "ZERO"));
3637  this->add(AmpInitialiser(*dk, "MINUS"));
3638  dk->getVal().setL(1);
3639  this->add(*dk);
3640  dk->getVal().setL(2);
3641  this->add(*dk);
3642  delete dk;
3643 
3644  // B->J/psi K1*(1680); K2->K rho(770); rho->pi pi
3645  dk = new DecayTree(521);
3646  dk->addDgtr(443, 30323)->addDgtr(321, 113)->addDgtr(211,-211);
3647  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
3648  this->add(AmpInitialiser(*dk, "GS"));
3649  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
3650  this->add(*dk);
3651  this->add(AmpInitialiser(*dk, "PLUS"));
3652  this->add(AmpInitialiser(*dk, "ZERO"));
3653  this->add(AmpInitialiser(*dk, "MINUS"));
3654  dk->getVal().setL(1);
3655  this->add(*dk);
3656  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
3657  dk->getVal().setL(2);
3658  this->add(*dk);
3659  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
3660  delete dk;
3661 
3662  // B->J/psi K1*(1680); K2->K omega; omega->pi pi
3663  dk = new DecayTree(521);
3664  dk->addDgtr(443, 30323)->addDgtr(321, 223)->addDgtr(211,-211);
3665  this->add(*dk);
3666  this->add(AmpInitialiser(*dk, "PLUS"));
3667  this->add(AmpInitialiser(*dk, "ZERO"));
3668  this->add(AmpInitialiser(*dk, "MINUS"));
3669  delete dk;
3670 
3671  // B->J/psi K1(1650); K1->K*(892) pi; K*->K pi
3672  dk = new DecayTree(521);
3673  dk->addDgtr(443, 9000323)->addDgtr(211, 313)->addDgtr(321,-211);
3674  this->add(*dk);
3675  this->add(AmpInitialiser(*dk, "PLUS"));
3676  this->add(AmpInitialiser(*dk, "ZERO"));
3677  this->add(AmpInitialiser(*dk, "MINUS"));
3678  dk->getVal().setL(1);
3679  this->add(*dk);
3680  dk->getVal().setL(2);
3681  this->add(*dk);
3682  delete dk;
3683 
3684  dk = new DecayTree(521);
3685  k1=DecayTree(9000323);
3686  k1.getVal().setL(2);
3687  k1.addDgtr(211, 313)->addDgtr(321,-211);
3688  dk->addDgtr(443);
3689  dk->addDgtr(&k1);
3690  this->add(*dk);
3691  this->add(AmpInitialiser(*dk, "PLUS"));
3692  this->add(AmpInitialiser(*dk, "ZERO"));
3693  this->add(AmpInitialiser(*dk, "MINUS"));
3694  delete dk;
3695 
3696  dk = new DecayTree(521);
3697  dk->addDgtr(443, 9000323)->addDgtr(211, 313)->addDgtr(321,-211);
3698  dk->getVal().setL(1);
3699  this->add(*dk);
3700  this->add(AmpInitialiser(*dk, "PLUS"));
3701  this->add(AmpInitialiser(*dk, "ZERO"));
3702  this->add(AmpInitialiser(*dk, "MINUS"));
3703  delete dk;
3704 
3705  dk = new DecayTree(521);
3706  dk->addDgtr(443, 9000323)->addDgtr(211, 313)->addDgtr(321,-211);
3707  dk->getVal().setL(2);
3708  this->add(*dk);
3709  this->add(AmpInitialiser(*dk, "PLUS"));
3710  this->add(AmpInitialiser(*dk, "ZERO"));
3711  this->add(AmpInitialiser(*dk, "MINUS"));
3712  delete dk;
3713 
3714  // B->J/psi K1(1650); K1->K1*(1410) pi; K1*->K pi
3715  dk = new DecayTree(521);
3716  dk->addDgtr(443, 9000323)->addDgtr(211, 100313)->addDgtr(321,-211);
3717  this->add(*dk);
3718  this->add(AmpInitialiser(*dk, "PLUS"));
3719  this->add(AmpInitialiser(*dk, "ZERO"));
3720  this->add(AmpInitialiser(*dk, "MINUS"));
3721  delete dk;
3722 
3723  dk = new DecayTree(521);
3724  k1=DecayTree(9000323);
3725  k1.getVal().setL(2);
3726  k1.addDgtr(211, 313)->addDgtr(100321,-211);
3727  dk->addDgtr(443);
3728  dk->addDgtr(&k1);
3729  this->add(*dk);
3730  this->add(AmpInitialiser(*dk, "PLUS"));
3731  this->add(AmpInitialiser(*dk, "ZERO"));
3732  this->add(AmpInitialiser(*dk, "MINUS"));
3733  delete dk;
3734 
3735  dk = new DecayTree(521);
3736  dk->addDgtr(443, 9000323)->addDgtr(211, 100313)->addDgtr(321,-211);
3737  dk->getVal().setL(1);
3738  this->add(*dk);
3739  this->add(AmpInitialiser(*dk, "PLUS"));
3740  this->add(AmpInitialiser(*dk, "ZERO"));
3741  this->add(AmpInitialiser(*dk, "MINUS"));
3742  delete dk;
3743 
3744  dk = new DecayTree(521);
3745  dk->addDgtr(443, 9000323)->addDgtr(211, 100313)->addDgtr(321,-211);
3746  dk->getVal().setL(2);
3747  this->add(*dk);
3748  this->add(AmpInitialiser(*dk, "PLUS"));
3749  this->add(AmpInitialiser(*dk, "ZERO"));
3750  this->add(AmpInitialiser(*dk, "MINUS"));
3751  delete dk;
3752 
3753  // B->J/psi K1(1650); K1->K rho(770); rho->pi pi
3754  dk = new DecayTree(521);
3755  dk->addDgtr(443, 9000323)->addDgtr(321, 113)->addDgtr(211,-211);
3756  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
3757  this->add(AmpInitialiser(*dk, "GS"));
3758  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
3759  this->add(*dk);
3760  this->add(AmpInitialiser(*dk, "PLUS"));
3761  this->add(AmpInitialiser(*dk, "ZERO"));
3762  this->add(AmpInitialiser(*dk, "MINUS"));
3763  dk->getVal().setL(1);
3764  this->add(*dk);
3765  this->add(AmpInitialiser(*dk, "PLUS"));
3766  this->add(AmpInitialiser(*dk, "ZERO"));
3767  this->add(AmpInitialiser(*dk, "MINUS"));
3768  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
3769  dk->getVal().setL(2);
3770  this->add(*dk);
3771  this->add(AmpInitialiser(*dk, "PLUS"));
3772  this->add(AmpInitialiser(*dk, "ZERO"));
3773  this->add(AmpInitialiser(*dk, "MINUS"));
3774  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
3775  delete dk;
3776 
3777  dk = new DecayTree(521);
3778  K1=DecayTree(10323);
3779  K1.getVal().setL(2);
3780  K1.addDgtr(321, 113)->addDgtr(211,-211);
3781  dk->addDgtr(443);
3782  dk->addDgtr(&K1);
3783  this->add(*dk);
3784  this->add(AmpInitialiser(*dk, "PLUS"));
3785  this->add(AmpInitialiser(*dk, "ZERO"));
3786  this->add(AmpInitialiser(*dk, "MINUS"));
3787  delete dk;
3788 
3789  // B->J/psi K1(1650); K1->K omega; omega->pi pi
3790  dk = new DecayTree(521);
3791  dk->addDgtr(443, 9000323)->addDgtr(321, 223)->addDgtr(211,-211);
3792  this->add(*dk);
3793  this->add(AmpInitialiser(*dk, "PLUS"));
3794  this->add(AmpInitialiser(*dk, "ZERO"));
3795  this->add(AmpInitialiser(*dk, "MINUS"));
3796  delete dk;
3797 
3798  // B->J/psi K1(1650); K1->K f0; f0->pi pi
3799  dk = new DecayTree(521);
3800  dk->addDgtr(443, 9000323)->addDgtr(321, 9000221)->addDgtr(211,-211);
3801  this->add(*dk);
3802  this->add(AmpInitialiser(*dk, "PLUS"));
3803  this->add(AmpInitialiser(*dk, "ZERO"));
3804  this->add(AmpInitialiser(*dk, "MINUS"));
3805  this->add(AmpInitialiser(*dk, "Bugg"));
3806  delete dk;
3807  dk = new DecayTree(521);
3808  dk->addDgtr(443, 9000323)->addDgtr(321, 9010221)->addDgtr(211,-211);
3809  this->add(*dk);
3810  this->add(AmpInitialiser(*dk, "PLUS"));
3811  this->add(AmpInitialiser(*dk, "ZERO"));
3812  this->add(AmpInitialiser(*dk, "MINUS"));
3813  this->add(AmpInitialiser(*dk, "Flatte"));
3814  delete dk;
3815  dk = new DecayTree(521);
3816  dk->addDgtr(443, 9000323)->addDgtr(321, 30221)->addDgtr(211,-211);
3817  this->add(*dk);
3818  this->add(AmpInitialiser(*dk, "PLUS"));
3819  this->add(AmpInitialiser(*dk, "ZERO"));
3820  this->add(AmpInitialiser(*dk, "MINUS"));
3821  this->add(AmpInitialiser(*dk, "Flatte"));
3822  delete dk;
3823 
3824  // B->J/Psi K1(1650); K1-> K0^*(1430) pi; K0^*->K pi
3825  dk = new DecayTree(521);
3826  dk->addDgtr(443, 9000323)->addDgtr(211, 10311)->addDgtr(321,-211);
3827  this->add(AmpInitialiser(*dk, "Lass"));
3828  this->add(*dk);
3829  this->add(AmpInitialiser(*dk, "PLUS"));
3830  this->add(AmpInitialiser(*dk, "ZERO"));
3831  this->add(AmpInitialiser(*dk, "MINUS"));
3832  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
3833  delete dk;
3834 
3835  // B->J/Psi K1(1650); K1-> kappa(800) pi; K0^*->K pi
3836  dk = new DecayTree(521);
3837  dk->addDgtr(443, 9000323)->addDgtr(211, 900311)->addDgtr(321,-211);
3838  this->add(*dk);
3839  this->add(AmpInitialiser(*dk, "PLUS"));
3840  this->add(AmpInitialiser(*dk, "ZERO"));
3841  this->add(AmpInitialiser(*dk, "MINUS"));
3842  delete dk;
3843 
3844  // B->psi(2S) K; psi(2S)-> J/psi pi pi (non resonant)
3845  dk = new DecayTree(521);
3846  dk->addDgtr(321, 100443)->addDgtr(443, 9981)->addDgtr(211,-211);
3847  this->add(*dk);
3848  this->add(AmpInitialiser(*dk, "PLUS"));
3849  this->add(AmpInitialiser(*dk, "ZERO"));
3850  this->add(AmpInitialiser(*dk, "MINUS"));
3851  this->add(AmpInitialiser(*dk, "3Body"));
3852  delete dk;
3853  dk = new DecayTree(521);
3854  dk->addDgtr(321, 9100443)->addDgtr(443, 9981)->addDgtr(211,-211);
3855  this->add(*dk);
3856  this->add(AmpInitialiser(*dk, "PLUS"));
3857  this->add(AmpInitialiser(*dk, "ZERO"));
3858  this->add(AmpInitialiser(*dk, "MINUS"));
3859  this->add(AmpInitialiser(*dk, "3Body"));
3860  delete dk;
3861 
3862  // B->X(3872) K; X-> J/psi pi pi
3863  dk = new DecayTree(521);
3864  dk->addDgtr(321, 9999991)->addDgtr(443, 9993)->addDgtr(211,-211);
3865  this->add(*dk);
3866  this->add(AmpInitialiser(*dk, "PLUS"));
3867  this->add(AmpInitialiser(*dk, "ZERO"));
3868  this->add(AmpInitialiser(*dk, "MINUS"));
3869  this->add(AmpInitialiser(*dk, "3Body"));
3870  delete dk;
3871  // B->X(3872) K; X-> J/psi rho
3872  dk = new DecayTree(521);
3873  dk->addDgtr(321, 9999991)->addDgtr(443, 113)->addDgtr(211,-211);
3874  this->add(*dk);
3875  this->add(AmpInitialiser(*dk, "PLUS"));
3876  this->add(AmpInitialiser(*dk, "ZERO"));
3877  this->add(AmpInitialiser(*dk, "MINUS"));
3878  this->add(AmpInitialiser(*dk, "GS"));
3879  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
3880  delete dk;
3881 
3882  // B->X(4260) K; X-> J/psi pi pi
3883  dk = new DecayTree(521);
3884  dk->addDgtr(321, 9999992)->addDgtr(443, 9981)->addDgtr(211,-211);
3885  this->add(*dk);
3886  this->add(AmpInitialiser(*dk, "MI_9999992"));
3887  this->add(AmpInitialiser(*dk, "NonRes"));
3888  this->add(AmpInitialiser(*dk, "NonResExp"));
3889  delete dk;
3890  dk = new DecayTree(521);
3891  dk->addDgtr(321, 9999992)->addDgtr(443, 9993)->addDgtr(211,-211);
3892  this->add(*dk);
3893  this->add(AmpInitialiser(*dk, "NonRes"));
3894  this->add(AmpInitialiser(*dk, "NonResExp"));
3895  this->add(AmpInitialiser(*dk, "MI_9999992"));
3896  delete dk;
3897 
3898  // B->K X(4260); X->sigma psi; sigma->pi pi
3899  dk = new DecayTree(521);
3900  dk->addDgtr(321, 9999992)->addDgtr(443, 9000221)->addDgtr(211,-211);
3901  this->add(*dk);
3902  this->add(AmpInitialiser(*dk, "MI_9999992"));
3903  this->add(AmpInitialiser(*dk, "MI_9999992Bugg"));
3904  this->add(AmpInitialiser(*dk, "Bugg"));
3905  delete dk;
3906 
3907  // B->X(4260) K; X-> J/psi rho
3908  dk = new DecayTree(521);
3909  dk->addDgtr(321, 9999992)->addDgtr(443, 113)->addDgtr(211,-211);
3910  this->add(*dk);
3911  this->add(AmpInitialiser(*dk, "PLUS"));
3912  this->add(AmpInitialiser(*dk, "ZERO"));
3913  this->add(AmpInitialiser(*dk, "MINUS"));
3914  this->add(AmpInitialiser(*dk, "GS"));
3915  this->add(AmpInitialiser(*dk, "LS_10_GS"));
3916  this->add(AmpInitialiser(*dk, "LS_10_"));
3917  this->add(AmpInitialiser(*dk, "LS_11_GS"));
3918  this->add(AmpInitialiser(*dk, "LS_11_"));
3919  this->add(AmpInitialiser(*dk, "LS_12_GS"));
3920  this->add(AmpInitialiser(*dk, "LS_12_"));
3921  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
3922  delete dk;
3923 
3924  // B->K X(4260); X->Z pi; Z->J/psi pi
3925  dk = new DecayTree(521);
3926  dk->addDgtr(321, 9999992)->addDgtr(211, 9999993)->addDgtr(443,-211);
3927  this->add(*dk);
3928  this->add(AmpInitialiser(*dk, "PLUS"));
3929  this->add(AmpInitialiser(*dk, "ZERO"));
3930  this->add(AmpInitialiser(*dk, "MINUS"));
3931  this->add(AmpInitialiser(*dk, "MI_9999992"));
3932  this->add(AmpInitialiser(*dk, "MI_9999993"));
3933  delete dk;
3934  dk = new DecayTree(521);
3935  dk->addDgtr(321, 9999992)->addDgtr(-211, 9999993)->addDgtr(443,211);
3936  this->add(*dk);
3937  this->add(AmpInitialiser(*dk, "PLUS"));
3938  this->add(AmpInitialiser(*dk, "ZERO"));
3939  this->add(AmpInitialiser(*dk, "MINUS"));
3940  this->add(AmpInitialiser(*dk, "MI_9999992"));
3941  this->add(AmpInitialiser(*dk, "MI_9999993"));
3942  delete dk;
3943 
3944  dk = new DecayTree(521);
3945  dk->addDgtr(321, 9993)->addDgtr(211, 9999993)->addDgtr(443,-211);
3946  this->add(*dk);
3947  this->add(AmpInitialiser(*dk, "PLUS"));
3948  this->add(AmpInitialiser(*dk, "ZERO"));
3949  this->add(AmpInitialiser(*dk, "MINUS"));
3950  delete dk;
3951  dk = new DecayTree(521);
3952  dk->addDgtr(321, 9993)->addDgtr(-211, 9999993)->addDgtr(443,211);
3953  this->add(*dk);
3954  this->add(AmpInitialiser(*dk, "PLUS"));
3955  this->add(AmpInitialiser(*dk, "ZERO"));
3956  this->add(AmpInitialiser(*dk, "MINUS"));
3957  delete dk;
3958 
3959  // B->K X(4260); X->f0 J/psi; f0->pi pi
3960  dk = new DecayTree(521);
3961  dk->addDgtr(321, 9999992)->addDgtr(443, 9010221)->addDgtr(211,-211);
3962  this->add(*dk);
3963  this->add(AmpInitialiser(*dk, "PLUS"));
3964  this->add(AmpInitialiser(*dk, "ZERO"));
3965  this->add(AmpInitialiser(*dk, "MINUS"));
3966  this->add(AmpInitialiser(*dk, "Flatte"));
3967  this->add(AmpInitialiser(*dk, "MI_9999992"));
3968  this->add(AmpInitialiser(*dk, "MI_9999992Flatte"));
3969  delete dk;
3970 
3971  dk = new DecayTree(521);
3972  dk->addDgtr(321, 9999992)->addDgtr(443, 9000221)->addDgtr(211,-211);
3973  this->add(*dk);
3974  this->add(AmpInitialiser(*dk, "Bugg"));
3975  this->add(AmpInitialiser(*dk, "MI_9999992"));
3976  this->add(AmpInitialiser(*dk, "MI_9999992Bugg"));
3977  delete dk;
3978 
3979  // B->X(4660) K; X-> J/psi pi pi
3980  dk = new DecayTree(521);
3981  dk->addDgtr(321, 9999914)->addDgtr(443, 9981)->addDgtr(211,-211);
3982  this->add(*dk);
3983  this->add(AmpInitialiser(*dk, "NonRes"));
3984  this->add(AmpInitialiser(*dk, "NonResExp"));
3985  delete dk;
3986  dk = new DecayTree(521);
3987  dk->addDgtr(321, 9999914)->addDgtr(443, 9993)->addDgtr(211,-211);
3988  this->add(*dk);
3989  this->add(AmpInitialiser(*dk, "NonRes"));
3990  this->add(AmpInitialiser(*dk, "NonResExp"));
3991  delete dk;
3992 
3993  // B->K X(4660); X->sigma psi; sigma->pi pi
3994  dk = new DecayTree(521);
3995  dk->addDgtr(321, 9999914)->addDgtr(443, 9000221)->addDgtr(211,-211);
3996  this->add(*dk);
3997  this->add(AmpInitialiser(*dk, "Bugg"));
3998  delete dk;
3999 
4000  // B->X(4660) K; X-> J/psi rho
4001  dk = new DecayTree(521);
4002  dk->addDgtr(321, 9999914)->addDgtr(443, 113)->addDgtr(211,-211);
4003  this->add(*dk);
4004  this->add(AmpInitialiser(*dk, "GS"));
4005  this->add(AmpInitialiser(*dk, "LS_10_GS"));
4006  this->add(AmpInitialiser(*dk, "LS_10_"));
4007  this->add(AmpInitialiser(*dk, "LS_11_GS"));
4008  this->add(AmpInitialiser(*dk, "LS_11_"));
4009  this->add(AmpInitialiser(*dk, "LS_12_GS"));
4010  this->add(AmpInitialiser(*dk, "LS_12_"));
4011  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
4012  delete dk;
4013 
4014  // B->K X(4660); X->Z pi; Z->J/psi pi
4015  dk = new DecayTree(521);
4016  dk->addDgtr(321, 9999914)->addDgtr(211, 9999993)->addDgtr(443,-211);
4017  this->add(*dk);
4018  delete dk;
4019  dk = new DecayTree(521);
4020  dk->addDgtr(321, 9999914)->addDgtr(-211, 9999993)->addDgtr(443,211);
4021  this->add(*dk);
4022  delete dk;
4023 
4024  // B->K X(4660); X->f0 J/psi; f0->pi pi
4025  dk = new DecayTree(521);
4026  dk->addDgtr(321, 9999914)->addDgtr(443, 9010221)->addDgtr(211,-211);
4027  this->add(*dk);
4028  this->add(AmpInitialiser(*dk, "Flatte"));
4029  delete dk;
4030 
4031  dk = new DecayTree(521);
4032  dk->addDgtr(321, 9999914)->addDgtr(443, 9000221)->addDgtr(211,-211);
4033  this->add(*dk);
4034  this->add(AmpInitialiser(*dk, "Bugg"));
4035  delete dk;
4036 
4037  // B->psi(4040) K; psi-> J/psi pi pi
4038  dk = new DecayTree(521);
4039  dk->addDgtr(321, 9000443)->addDgtr(443, 9981)->addDgtr(211,-211);
4040  this->add(*dk);
4041  this->add(AmpInitialiser(*dk, "PLUS"));
4042  this->add(AmpInitialiser(*dk, "ZERO"));
4043  this->add(AmpInitialiser(*dk, "MINUS"));
4044  this->add(AmpInitialiser(*dk, "3Body"));
4045  delete dk;
4046  dk = new DecayTree(521);
4047  dk->addDgtr(321, 9000443)->addDgtr(443, 9993)->addDgtr(211,-211);
4048  this->add(*dk);
4049  this->add(AmpInitialiser(*dk, "PLUS"));
4050  this->add(AmpInitialiser(*dk, "ZERO"));
4051  this->add(AmpInitialiser(*dk, "MINUS"));
4052  delete dk;
4053  // B->psi(4040) K; psi(4040)-> J/psi rho
4054  dk = new DecayTree(521);
4055  dk->addDgtr(321, 9000443)->addDgtr(443, 113)->addDgtr(211,-211);
4056  this->add(*dk);
4057  this->add(AmpInitialiser(*dk, "PLUS"));
4058  this->add(AmpInitialiser(*dk, "ZERO"));
4059  this->add(AmpInitialiser(*dk, "MINUS"));
4060  this->add(AmpInitialiser(*dk, "GS"));
4061  this->add(AmpInitialiser(*dk, "LS_10_GS"));
4062  this->add(AmpInitialiser(*dk, "LS_10_"));
4063  this->add(AmpInitialiser(*dk, "LS_11_GS"));
4064  this->add(AmpInitialiser(*dk, "LS_11_"));
4065  this->add(AmpInitialiser(*dk, "LS_12_GS"));
4066  this->add(AmpInitialiser(*dk, "LS_12_"));
4067  delete dk;
4068  // B->K psi(4040)); psi(4040)->Z pi; Z->J/psi pi
4069  dk = new DecayTree(521);
4070  dk->addDgtr(321, 9000443)->addDgtr(211, 9999993)->addDgtr(443,-211);
4071  this->add(*dk);
4072  this->add(AmpInitialiser(*dk, "PLUS"));
4073  this->add(AmpInitialiser(*dk, "ZERO"));
4074  this->add(AmpInitialiser(*dk, "MINUS"));
4075  delete dk;
4076  dk = new DecayTree(521);
4077  dk->addDgtr(321, 9000443)->addDgtr(-211, 9999993)->addDgtr(443,211);
4078  this->add(*dk);
4079  this->add(AmpInitialiser(*dk, "PLUS"));
4080  this->add(AmpInitialiser(*dk, "ZERO"));
4081  this->add(AmpInitialiser(*dk, "MINUS"));
4082  delete dk;
4083  // B->K psi(4040); psi(4040)->f0 J/psi; f0->pi pi
4084  dk = new DecayTree(521);
4085  dk->addDgtr(321, 9000443)->addDgtr(443, 9010221)->addDgtr(211,-211);
4086  this->add(*dk);
4087  this->add(AmpInitialiser(*dk, "PLUS"));
4088  this->add(AmpInitialiser(*dk, "ZERO"));
4089  this->add(AmpInitialiser(*dk, "MINUS"));
4090  this->add(AmpInitialiser(*dk, "Flatte"));
4091  delete dk;
4092  //
4093  // B->psi(4160) K; psi-> J/psi pi pi
4094  dk = new DecayTree(521);
4095  dk->addDgtr(321, 9010443)->addDgtr(443, 9981)->addDgtr(211,-211);
4096  this->add(*dk);
4097  this->add(AmpInitialiser(*dk, "PLUS"));
4098  this->add(AmpInitialiser(*dk, "ZERO"));
4099  this->add(AmpInitialiser(*dk, "MINUS"));
4100  this->add(AmpInitialiser(*dk, "3Body"));
4101  delete dk;
4102  dk = new DecayTree(521);
4103  dk->addDgtr(321, 9010443)->addDgtr(443, 9993)->addDgtr(211,-211);
4104  this->add(*dk);
4105  this->add(AmpInitialiser(*dk, "PLUS"));
4106  this->add(AmpInitialiser(*dk, "ZERO"));
4107  this->add(AmpInitialiser(*dk, "MINUS"));
4108  delete dk;
4109  // B->psi(4160) K; psi-> J/psi rho
4110  dk = new DecayTree(521);
4111  dk->addDgtr(321, 9010443)->addDgtr(443, 113)->addDgtr(211,-211);
4112  this->add(*dk);
4113  this->add(AmpInitialiser(*dk, "PLUS"));
4114  this->add(AmpInitialiser(*dk, "ZERO"));
4115  this->add(AmpInitialiser(*dk, "MINUS"));
4116  this->add(AmpInitialiser(*dk, "GS"));
4117  this->add(AmpInitialiser(*dk, "LS_10_GS"));
4118  this->add(AmpInitialiser(*dk, "LS_10_"));
4119  this->add(AmpInitialiser(*dk, "LS_11_GS"));
4120  this->add(AmpInitialiser(*dk, "LS_11_"));
4121  this->add(AmpInitialiser(*dk, "LS_12_GS"));
4122  this->add(AmpInitialiser(*dk, "LS_12_"));
4123  delete dk;
4124  // B->K psi(4160); psi->Z pi; Z->J/psi pi
4125  dk = new DecayTree(521);
4126  dk->addDgtr(321, 9010443)->addDgtr(211, 9999993)->addDgtr(443,-211);
4127  this->add(*dk);
4128  this->add(AmpInitialiser(*dk, "PLUS"));
4129  this->add(AmpInitialiser(*dk, "ZERO"));
4130  this->add(AmpInitialiser(*dk, "MINUS"));
4131  delete dk;
4132  dk = new DecayTree(521);
4133  dk->addDgtr(321, 9010443)->addDgtr(-211, 9999993)->addDgtr(443,211);
4134  this->add(*dk);
4135  this->add(AmpInitialiser(*dk, "PLUS"));
4136  this->add(AmpInitialiser(*dk, "ZERO"));
4137  this->add(AmpInitialiser(*dk, "MINUS"));
4138  delete dk;
4139  // B->K psi(4160); psi->f0 J/psi; f0->pi pi
4140  dk = new DecayTree(521);
4141  dk->addDgtr(321, 9010443)->addDgtr(443, 9010221)->addDgtr(211,-211);
4142  this->add(*dk);
4143  this->add(AmpInitialiser(*dk, "PLUS"));
4144  this->add(AmpInitialiser(*dk, "ZERO"));
4145  this->add(AmpInitialiser(*dk, "MINUS"));
4146  this->add(AmpInitialiser(*dk, "Flatte"));
4147  delete dk;
4148  //
4149  // B->psi(4415) K; psi-> J/psi pi pi
4150  dk = new DecayTree(521);
4151  dk->addDgtr(321, 9020443)->addDgtr(443, 9981)->addDgtr(211,-211);
4152  this->add(*dk);
4153  this->add(AmpInitialiser(*dk, "PLUS"));
4154  this->add(AmpInitialiser(*dk, "ZERO"));
4155  this->add(AmpInitialiser(*dk, "MINUS"));
4156  this->add(AmpInitialiser(*dk, "3Body"));
4157  delete dk;
4158  dk = new DecayTree(521);
4159  dk->addDgtr(321, 9020443)->addDgtr(443, 9993)->addDgtr(211,-211);
4160  this->add(*dk);
4161  this->add(AmpInitialiser(*dk, "PLUS"));
4162  this->add(AmpInitialiser(*dk, "ZERO"));
4163  this->add(AmpInitialiser(*dk, "MINUS"));
4164  delete dk;
4165  // B->psi(4415) K; psi-> J/psi rho
4166  dk = new DecayTree(521);
4167  dk->addDgtr(321, 9020443)->addDgtr(443, 113)->addDgtr(211,-211);
4168  this->add(*dk);
4169  this->add(AmpInitialiser(*dk, "PLUS"));
4170  this->add(AmpInitialiser(*dk, "ZERO"));
4171  this->add(AmpInitialiser(*dk, "MINUS"));
4172  this->add(AmpInitialiser(*dk, "GS"));
4173  this->add(AmpInitialiser(*dk, "LS_10_GS"));
4174  this->add(AmpInitialiser(*dk, "LS_10_"));
4175  this->add(AmpInitialiser(*dk, "LS_11_GS"));
4176  this->add(AmpInitialiser(*dk, "LS_11_"));
4177  this->add(AmpInitialiser(*dk, "LS_12_GS"));
4178  this->add(AmpInitialiser(*dk, "LS_12_"));
4179  delete dk;
4180  // B->K psi(4415); psi->Z pi; Z->J/psi pi
4181  dk = new DecayTree(521);
4182  dk->addDgtr(321, 9020443)->addDgtr(211, 9999993)->addDgtr(443,-211);
4183  this->add(*dk);
4184  this->add(AmpInitialiser(*dk, "PLUS"));
4185  this->add(AmpInitialiser(*dk, "ZERO"));
4186  this->add(AmpInitialiser(*dk, "MINUS"));
4187  delete dk;
4188  dk = new DecayTree(521);
4189  dk->addDgtr(321, 9020443)->addDgtr(-211, 9999993)->addDgtr(443,211);
4190  this->add(*dk);
4191  this->add(AmpInitialiser(*dk, "PLUS"));
4192  this->add(AmpInitialiser(*dk, "ZERO"));
4193  this->add(AmpInitialiser(*dk, "MINUS"));
4194  delete dk;
4195  // B->K psi(4415); psi->f0 J/psi; f0->pi pi
4196  dk = new DecayTree(521);
4197  dk->addDgtr(321, 9020443)->addDgtr(443, 9010221)->addDgtr(211,-211);
4198  this->add(*dk);
4199  this->add(AmpInitialiser(*dk, "PLUS"));
4200  this->add(AmpInitialiser(*dk, "ZERO"));
4201  this->add(AmpInitialiser(*dk, "MINUS"));
4202  this->add(AmpInitialiser(*dk, "Flatte"));
4203  delete dk;
4204 
4205  //B->K* Z(3900)V
4206  dk = new DecayTree(521);
4207  DecayTree Ks(313);
4208  Ks.addDgtr(321,-211);
4209  DecayTree Z(9999994);
4210  Z.addDgtr(443,211);
4211  dk->addDgtr(&Ks);
4212  dk->addDgtr(&Z);
4213  this->add(*dk);
4214  this->add(AmpInitialiser(*dk, "MI_9999994"));
4215  delete dk;
4216 
4217  dk = new DecayTree(521);
4218  Ks=DecayTree(9993);
4219  Ks.addDgtr(321,-211);
4220  Z=DecayTree(9999994);
4221  Z.addDgtr(443,211);
4222  dk->addDgtr(&Ks);
4223  dk->addDgtr(&Z);
4224  this->add(*dk);
4225  delete dk;
4226 
4227  //B->K* Z(3900)A
4228  dk = new DecayTree(521);
4229  Ks=DecayTree(313);
4230  Ks.addDgtr(321,-211);
4231  Z=DecayTree(9999993);
4232  Z.addDgtr(443,211);
4233  dk->addDgtr(&Ks);
4234  dk->addDgtr(&Z);
4235  this->add(*dk);
4236  this->add(AmpInitialiser(*dk, "MI_9999993"));
4237  delete dk;
4238 
4239  dk = new DecayTree(521);
4240  Ks=DecayTree(9993);
4241  Ks.addDgtr(321,-211);
4242  Z=DecayTree(9999993);
4243  Z.addDgtr(443,211);
4244  dk->addDgtr(&Ks);
4245  dk->addDgtr(&Z);
4246  this->add(*dk);
4247  delete dk;
4248 
4249 
4250  //B->K* Z(3900)P
4251  dk = new DecayTree(521);
4252  Ks=DecayTree(313);
4253  Ks.addDgtr(321,-211);
4254  Z=DecayTree(9999995);
4255  Z.addDgtr(443,211);
4256  dk->addDgtr(&Ks);
4257  dk->addDgtr(&Z);
4258  this->add(*dk);
4259  this->add(AmpInitialiser(*dk, "MI_9999995"));
4260  delete dk;
4261 
4262  //B->K* Z(4051)V
4263  dk = new DecayTree(521);
4264  Ks=DecayTree(313);
4265  Ks.addDgtr(321,-211);
4266  Z=DecayTree(9999912);
4267  Z.addDgtr(443,211);
4268  dk->addDgtr(&Ks);
4269  dk->addDgtr(&Z);
4270  this->add(*dk);
4271  delete dk;
4272 
4273  dk = new DecayTree(521);
4274  Ks=DecayTree(9993);
4275  Ks.addDgtr(321,-211);
4276  Z=DecayTree(9999912);
4277  Z.addDgtr(443,211);
4278  dk->addDgtr(&Ks);
4279  dk->addDgtr(&Z);
4280  this->add(*dk);
4281  delete dk;
4282 
4283  //B->K* Z(4051)A
4284  dk = new DecayTree(521);
4285  Ks=DecayTree(313);
4286  Ks.addDgtr(321,-211);
4287  Z=DecayTree(9999911);
4288  Z.addDgtr(443,211);
4289  dk->addDgtr(&Ks);
4290  dk->addDgtr(&Z);
4291  this->add(*dk);
4292  dk->getVal().setL(1);
4293  this->add(*dk);
4294  dk->getVal().setL(2);
4295  this->add(*dk);
4296  delete dk;
4297 
4298  dk = new DecayTree(521);
4299  Ks=DecayTree(9993);
4300  Ks.addDgtr(321,-211);
4301  Z=DecayTree(9999911);
4302  Z.addDgtr(443,211);
4303  dk->addDgtr(&Ks);
4304  dk->addDgtr(&Z);
4305  this->add(*dk);
4306  dk->getVal().setL(1);
4307  this->add(*dk);
4308  dk->getVal().setL(2);
4309  this->add(*dk);
4310  delete dk;
4311 
4312  //B->K* Z(4051)P
4313  dk = new DecayTree(521);
4314  Ks=DecayTree(313);
4315  Ks.addDgtr(321,-211);
4316  Z=DecayTree(9999913);
4317  Z.addDgtr(443,211);
4318  dk->addDgtr(&Ks);
4319  dk->addDgtr(&Z);
4320  this->add(*dk);
4321  delete dk;
4322 
4323  dk = new DecayTree(521);
4324  Ks=DecayTree(9993);
4325  Ks.addDgtr(321,-211);
4326  Z=DecayTree(9999913);
4327  Z.addDgtr(443,211);
4328  dk->addDgtr(&Ks);
4329  dk->addDgtr(&Z);
4330  this->add(*dk);
4331  delete dk;
4332 
4333  //B->K* Z(4239)
4334  dk = new DecayTree(521);
4335  Ks=DecayTree(313);
4336  Ks.addDgtr(321,-211);
4337  Z=DecayTree(9999996);
4338  Z.addDgtr(443,211);
4339  dk->addDgtr(&Ks);
4340  dk->addDgtr(&Z);
4341  this->add(*dk);
4342  delete dk;
4343 
4344  dk = new DecayTree(521);
4345  Ks=DecayTree(9993);
4346  Ks.addDgtr(321,-211);
4347  Z=DecayTree(9999996);
4348  Z.addDgtr(443,211);
4349  dk->addDgtr(&Ks);
4350  dk->addDgtr(&Z);
4351  this->add(*dk);
4352  delete dk;
4353 
4354  //B->K* Z(4430)
4355  dk = new DecayTree(521);
4356  Ks=DecayTree(313);
4357  Ks.addDgtr(321,-211);
4358  Z=DecayTree(9999997);
4359  Z.addDgtr(443,211);
4360  dk->addDgtr(&Ks);
4361  dk->addDgtr(&Z);
4362  this->add(*dk);
4363  dk->getVal().setL(1);
4364  this->add(*dk);
4365  dk->getVal().setL(2);
4366  this->add(*dk);
4367  delete dk;
4368 
4369  dk = new DecayTree(521);
4370  Ks=DecayTree(9993);
4371  Ks.addDgtr(321,-211);
4372  Z=DecayTree(9999997);
4373  Z.addDgtr(443,211);
4374  dk->addDgtr(&Ks);
4375  dk->addDgtr(&Z);
4376  this->add(*dk);
4377  dk->getVal().setL(1);
4378  this->add(*dk);
4379  dk->getVal().setL(2);
4380  this->add(*dk);
4381  delete dk;
4382 
4383  //B->rho Z(3900)V
4384  dk = new DecayTree(521);
4385  DecayTree rho(113);
4386  rho.addDgtr(211,-211);
4387  Z= DecayTree(9999994);
4388  Z.addDgtr(443,321);
4389  dk->addDgtr(&rho);
4390  dk->addDgtr(&Z);
4391  this->add(*dk);
4392  this->add(AmpInitialiser(*dk, "MI_9999994"));
4393  this->add(AmpInitialiser(*dk, "MI_9999994GS"));
4394  delete dk;
4395 
4396  //B->rho Z(3900)A
4397  dk = new DecayTree(521);
4398  rho=DecayTree(113);
4399  rho.addDgtr(211,-211);
4400  Z=DecayTree(9999993);
4401  Z.addDgtr(443,321);
4402  dk->addDgtr(&rho);
4403  dk->addDgtr(&Z);
4404  this->add(*dk);
4405  this->add(AmpInitialiser(*dk, "MI_9999993"));
4406  this->add(AmpInitialiser(*dk, "MI_9999993GS"));
4407  dk->getVal().setL(1);
4408  this->add(*dk);
4409  dk->getVal().setL(2);
4410  this->add(*dk);
4411  delete dk;
4412 
4413  //B->rho Z(3900)P
4414  dk = new DecayTree(521);
4415  rho=DecayTree(113);
4416  rho.addDgtr(211,-211);
4417  Z=DecayTree(9999995);
4418  Z.addDgtr(443,321);
4419  dk->addDgtr(&rho);
4420  dk->addDgtr(&Z);
4421  this->add(*dk);
4422  this->add(AmpInitialiser(*dk, "MI_9999995"));
4423  this->add(AmpInitialiser(*dk, "MI_9999995GS"));
4424  delete dk;
4425 
4426  // B->pi+ X(4260); X->Z+ pi-; Z+->psi K+
4427  dk = new DecayTree(521);
4428  dk->addDgtr(211, 9999992)->addDgtr(-211, 9999993)->addDgtr(443,321);
4429  this->add(*dk);
4430  this->add(AmpInitialiser(*dk, "MI_9999992"));
4431  this->add(AmpInitialiser(*dk, "MI_9999993"));
4432  delete dk;
4433 
4434  // B->pi- X(4260); X->Z- K+; Z-->psi pi-
4435  dk = new DecayTree(521);
4436  dk->addDgtr(-211, 9999992)->addDgtr(321, 9999993)->addDgtr(443,-211);
4437  this->add(AmpInitialiser(*dk, "MI_9999992"));
4438  this->add(AmpInitialiser(*dk, "MI_9999993"));
4439  this->add(*dk);
4440  delete dk;
4441 
4442  // B->pi X(4260); X->K0* psi; K0*->K pi
4443  dk = new DecayTree(521);
4444  dk->addDgtr(211, 9999992)->addDgtr(443, 10311)->addDgtr(321,-211);
4445  this->add(*dk);
4446  this->add(AmpInitialiser(*dk, "MI_9999992"));
4447  delete dk;
4448 
4449 
4450  // B->XP K; XP-> psi rho
4451  dk = new DecayTree(521);
4452  dk->addDgtr(321, 92)->addDgtr(443, 113)->addDgtr(211,-211);
4453  this->add(*dk);
4454  this->add(AmpInitialiser(*dk, "GS"));
4455  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
4456  delete dk;
4457 
4458  dk = new DecayTree(521);
4459  dk->addDgtr(321, 97)->addDgtr(443, 113)->addDgtr(211,-211);
4460  this->add(*dk);
4461  this->add(AmpInitialiser(*dk, "GS"));
4462  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
4463  delete dk;
4464 
4465  dk = new DecayTree(521);
4466  dk->addDgtr(321, 9991)->addDgtr(443, 113)->addDgtr(211,-211);
4467  this->add(*dk);
4468  this->add(AmpInitialiser(*dk, "GS"));
4469  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
4470  delete dk;
4471 
4472  // B->XP pi; XP-> psi K*
4473  dk = new DecayTree(521);
4474  dk->addDgtr(211, 92)->addDgtr(443, 313)->addDgtr(321,-211);
4475  this->add(*dk);
4476  delete dk;
4477 
4478  dk = new DecayTree(521);
4479  dk->addDgtr(211, 97)->addDgtr(443, 313)->addDgtr(321,-211);
4480  this->add(*dk);
4481  delete dk;
4482 
4483  dk = new DecayTree(521);
4484  dk->addDgtr(211, 9991)->addDgtr(443, 313)->addDgtr(321,-211);
4485  this->add(*dk);
4486  delete dk;
4487 
4488  // B->XS K; XS-> psi rho
4489  dk = new DecayTree(521);
4490  dk->addDgtr(321, 91)->addDgtr(443, 113)->addDgtr(211,-211);
4491  this->add(*dk);
4492  this->add(AmpInitialiser(*dk, "GS"));
4493  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
4494  delete dk;
4495 
4496  dk = new DecayTree(521);
4497  dk->addDgtr(321, 96)->addDgtr(443, 113)->addDgtr(211,-211);
4498  this->add(*dk);
4499  this->add(AmpInitialiser(*dk, "GS"));
4500  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
4501  delete dk;
4502 
4503  dk = new DecayTree(521);
4504  dk->addDgtr(321, 9981)->addDgtr(443, 113)->addDgtr(211,-211);
4505  this->add(*dk);
4506  this->add(AmpInitialiser(*dk, "GS"));
4507  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
4508  delete dk;
4509 
4510  // B->XS pi; XS-> psi K*
4511  dk = new DecayTree(521);
4512  dk->addDgtr(211, 91)->addDgtr(443, 313)->addDgtr(321,-211);
4513  this->add(*dk);
4514  delete dk;
4515 
4516  dk = new DecayTree(521);
4517  dk->addDgtr(211, 96)->addDgtr(443, 313)->addDgtr(321,-211);
4518  this->add(*dk);
4519  delete dk;
4520  dk = new DecayTree(521);
4521  dk->addDgtr(211, 9981)->addDgtr(443, 313)->addDgtr(321,-211);
4522  this->add(*dk);
4523  delete dk;
4524 
4525  // B->XA K; XA-> psi rho
4526  dk = new DecayTree(521);
4527  dk->addDgtr(321, 94)->addDgtr(443, 113)->addDgtr(211,-211);
4528  this->add(*dk);
4529  this->add(AmpInitialiser(*dk, "GS"));
4530  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
4531  delete dk;
4532 
4533  dk = new DecayTree(521);
4534  dk->addDgtr(321, 99)->addDgtr(443, 113)->addDgtr(211,-211);
4535  this->add(*dk);
4536  this->add(AmpInitialiser(*dk, "GS"));
4537  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
4538  delete dk;
4539 
4540  dk = new DecayTree(521);
4541  dk->addDgtr(321, 94)->addDgtr(443, 113)->addDgtr(211,-211);
4542  this->add(*dk);
4543  this->add(AmpInitialiser(*dk, "GS"));
4544  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
4545  delete dk;
4546 
4547  // B->XA pi; XA-> psi K*
4548  dk = new DecayTree(521);
4549  dk->addDgtr(211, 9983)->addDgtr(443, 313)->addDgtr(321,-211);
4550  this->add(*dk);
4551  delete dk;
4552 
4553  dk = new DecayTree(521);
4554  dk->addDgtr(211, 99)->addDgtr(443, 313)->addDgtr(321,-211);
4555  this->add(*dk);
4556  delete dk;
4557 
4558  dk = new DecayTree(521);
4559  dk->addDgtr(211, 9983)->addDgtr(443, 313)->addDgtr(321,-211);
4560  this->add(*dk);
4561  delete dk;
4562 
4563  // B->XV K; XV-> psi f2
4564  dk = new DecayTree(521);
4565  dk->addDgtr(321, 93)->addDgtr(443, 225)->addDgtr(211,-211);
4566  this->add(*dk);
4567  delete dk;
4568 
4569  dk = new DecayTree(521);
4570  dk->addDgtr(321, 98)->addDgtr(443, 225)->addDgtr(211,-211);
4571  this->add(*dk);
4572  delete dk;
4573 
4574  dk = new DecayTree(521);
4575  dk->addDgtr(321, 9993)->addDgtr(443, 225)->addDgtr(211,-211);
4576  this->add(*dk);
4577  delete dk;
4578 
4579  // B->XV pi; XV-> psi K2*
4580  dk = new DecayTree(521);
4581  dk->addDgtr(211, 93)->addDgtr(443, 315)->addDgtr(321,-211);
4582  this->add(*dk);
4583  delete dk;
4584 
4585  dk = new DecayTree(521);
4586  dk->addDgtr(211, 98)->addDgtr(443, 315)->addDgtr(321,-211);
4587  this->add(*dk);
4588  delete dk;
4589 
4590  dk = new DecayTree(521);
4591  dk->addDgtr(211, 9993)->addDgtr(443, 315)->addDgtr(321,-211);
4592  this->add(*dk);
4593  delete dk;
4594 
4595 
4596  //Non resonant amplitudes:
4597  //------------------------
4598 
4599  // B->psi (K pi pi)_S
4600  dk = new DecayTree(521);
4601  dk->addDgtr(443, 9991)->addDgtr(321,9981)->addDgtr(211,-211);
4602  this->add(*dk);
4603  this->add(AmpInitialiser(*dk, "NonRes"));
4604  this->add(AmpInitialiser(*dk, "NonResExp_9991"));
4605  this->add(AmpInitialiser(*dk, "NonResExp_9981"));
4606  this->add(AmpInitialiser(*dk, "NonResExp_9991_9981"));
4607  this->add(AmpInitialiser(*dk, "NonResPow_9991"));
4608  this->add(AmpInitialiser(*dk, "NonResPow_9981"));
4609  this->add(AmpInitialiser(*dk, "NonResPow_9991_9981"));
4610  this->add(AmpInitialiser(*dk, "MI_9991"));
4611  delete dk;
4612 
4613  //B-> J/psi NA ; NA-> NV P
4614  dk = new DecayTree(521);
4615  dk->addDgtr(443, 9983)->addDgtr(321, 9993)->addDgtr(211,-211);
4616  this->add(AmpInitialiser(*dk, "NonResExp_9983"));
4617  this->add(AmpInitialiser(*dk, "NonRes"));
4618  this->add(AmpInitialiser(*dk, "NonResPhsp"));
4619  this->add(*dk);
4620  dk->getVal().setL(1);
4621  this->add(AmpInitialiser(*dk, "NonResExp_9983"));
4622  this->add(AmpInitialiser(*dk, "NonRes"));
4623  this->add(AmpInitialiser(*dk, "NonResPhsp"));
4624  this->add(*dk);
4625 
4626  dk = new DecayTree(521);
4627  dk->addDgtr(443, 9983)->addDgtr(211, 9993)->addDgtr(321,-211);
4628  this->add(AmpInitialiser(*dk, "NonResExp_9983"));
4629  this->add(AmpInitialiser(*dk, "NonRes"));
4630  this->add(*dk);
4631  dk->getVal().setL(1);
4632  this->add(AmpInitialiser(*dk, "NonResExp_9983"));
4633  this->add(AmpInitialiser(*dk, "NonRes"));
4634  this->add(*dk);
4635 
4636  dk = new DecayTree(521);
4637  dk->addDgtr(443, 9983)->addDgtr(-211, 9993)->addDgtr(321,211);
4638  this->add(*dk);
4639  this->add(AmpInitialiser(*dk, "NonResExp_9983"));
4640  this->add(AmpInitialiser(*dk, "NonRes"));
4641  dk->getVal().setL(1);
4642  this->add(*dk);
4643  this->add(AmpInitialiser(*dk, "NonResExp_9983"));
4644  this->add(AmpInitialiser(*dk, "NonRes"));
4645 
4646  delete dk;
4647 
4648  //B-> J/psi NV ; NV-> NV P
4649  dk = new DecayTree(521);
4650  dk->addDgtr(443, 9993)->addDgtr(321, 9993)->addDgtr(211,-211);
4651  this->add(AmpInitialiser(*dk, "NonResExp_9993"));
4652  this->add(AmpInitialiser(*dk, "NonRes"));
4653  this->add(AmpInitialiser(*dk, "NonResPhsp"));
4654  this->add(*dk);
4655  dk->getVal().setL(1);
4656  this->add(AmpInitialiser(*dk, "NonResExp_9993"));
4657  this->add(AmpInitialiser(*dk, "NonRes"));
4658  this->add(AmpInitialiser(*dk, "NonResPhsp"));
4659  dk->getVal().setL(2);
4660  this->add(AmpInitialiser(*dk, "NonResExp_9993"));
4661  this->add(AmpInitialiser(*dk, "NonRes"));
4662  this->add(AmpInitialiser(*dk, "NonResPhsp"));
4663  this->add(*dk);
4664  delete dk;
4665 
4666  dk = new DecayTree(521);
4667  dk->addDgtr(443, 9993)->addDgtr(211, 9993)->addDgtr(321,-211);
4668  this->add(AmpInitialiser(*dk, "NonResExp_9993"));
4669  this->add(AmpInitialiser(*dk, "NonRes"));
4670  this->add(*dk);
4671  dk->getVal().setL(1);
4672  this->add(AmpInitialiser(*dk, "NonResExp_9993"));
4673  this->add(AmpInitialiser(*dk, "NonRes"));
4674  this->add(*dk);
4675  dk->getVal().setL(2);
4676  this->add(AmpInitialiser(*dk, "NonResExp_9993"));
4677  this->add(AmpInitialiser(*dk, "NonRes"));
4678  this->add(AmpInitialiser(*dk, "NonResPhsp"));
4679  delete dk;
4680 
4681  dk = new DecayTree(521);
4682  dk->addDgtr(443, 9993)->addDgtr(-211, 9993)->addDgtr(321,211);
4683  this->add(*dk);
4684  this->add(AmpInitialiser(*dk, "NonResExp_9993"));
4685  this->add(AmpInitialiser(*dk, "NonRes"));
4686  dk->getVal().setL(1);
4687  this->add(*dk);
4688  this->add(AmpInitialiser(*dk, "NonResExp_9993"));
4689  this->add(AmpInitialiser(*dk, "NonRes"));
4690  dk->getVal().setL(2);
4691  this->add(AmpInitialiser(*dk, "NonResExp_9993"));
4692  this->add(AmpInitialiser(*dk, "NonRes"));
4693  this->add(AmpInitialiser(*dk, "NonResPhsp"));
4694  delete dk;
4695 
4696  //B-> P NV ; NV-> Jpsi NS
4697  dk = new DecayTree(521);
4698  dk->addDgtr(321, 9993)->addDgtr(443, 9981)->addDgtr(211,-211);
4699  this->add(AmpInitialiser(*dk, "NonResExp_9993"));
4700  this->add(AmpInitialiser(*dk, "NonRes"));
4701  this->add(AmpInitialiser(*dk, "NonResPhsp"));
4702  this->add(*dk);
4703  delete dk;
4704 
4705  dk = new DecayTree(521);
4706  dk->addDgtr(211, 9993)->addDgtr(443, 9981)->addDgtr(321,-211);
4707  this->add(AmpInitialiser(*dk, "NonResExp_9993"));
4708  this->add(AmpInitialiser(*dk, "NonRes"));
4709  this->add(AmpInitialiser(*dk, "NonResPhsp"));
4710  this->add(*dk);
4711  delete dk;
4712 
4713  dk = new DecayTree(521);
4714  dk->addDgtr(-211, 9993)->addDgtr(443, 9981)->addDgtr(321,211);
4715  this->add(AmpInitialiser(*dk, "NonResExp_9993"));
4716  this->add(AmpInitialiser(*dk, "NonRes"));
4717  this->add(AmpInitialiser(*dk, "NonResPhsp"));
4718  this->add(*dk);
4719  delete dk;
4720 
4721  //B-> J/psi NA ; NA-> NS P
4722  dk = new DecayTree(521);
4723  dk->addDgtr(443, 9983)->addDgtr(321, 9981)->addDgtr(211,-211);
4724  this->add(*dk);
4725  this->add(AmpInitialiser(*dk, "NonRes"));
4726  this->add(AmpInitialiser(*dk, "NonResExp_9983"));
4727  dk = new DecayTree(521);
4728  dk->addDgtr(443, 9983)->addDgtr(211, 9981)->addDgtr(321,-211);
4729  this->add(*dk);
4730  this->add(AmpInitialiser(*dk, "NonRes"));
4731  this->add(AmpInitialiser(*dk, "NonResExp_9983"));
4732  dk = new DecayTree(521);
4733  dk->addDgtr(443, 9983)->addDgtr(-211, 9981)->addDgtr(321,211);
4734  this->add(*dk);
4735  this->add(AmpInitialiser(*dk, "NonRes"));
4736  this->add(AmpInitialiser(*dk, "NonResExp_9983"));
4737  delete dk;
4738 
4739  //B-> P NV ; NV-> J/psi NS
4740  dk = new DecayTree(521);
4741  dk->addDgtr(321, 9993)->addDgtr(443, 9981)->addDgtr(211,-211);
4742  this->add(*dk);
4743  this->add(AmpInitialiser(*dk, "NonRes"));
4744  dk = new DecayTree(521);
4745  dk->addDgtr(211, 9993)->addDgtr(443, 9981)->addDgtr(321,-211);
4746  this->add(*dk);
4747  this->add(AmpInitialiser(*dk, "NonRes"));
4748  dk = new DecayTree(521);
4749  dk->addDgtr(-211, 9993)->addDgtr(443, 9981)->addDgtr(321,211);
4750  this->add(*dk);
4751  this->add(AmpInitialiser(*dk, "NonRes"));
4752  delete dk;
4753 
4754  //B-> NV NV
4755  dk = new DecayTree(521);
4756  DecayTree r1(9993);
4757  r1.addDgtr(443,321);
4758  DecayTree r2(9993);
4759  r2.addDgtr(211,-211);
4760  dk->addDgtr(&r1);
4761  dk->addDgtr(&r2);
4762  this->add(*dk);
4763  this->add(AmpInitialiser(*dk, "NonRes"));
4764  delete dk;
4765  dk = new DecayTree(521);
4766  r1=DecayTree(9993);
4767  r1.addDgtr(443,211);
4768  r2=DecayTree(9993);
4769  r2.addDgtr(321,-211);
4770  dk->addDgtr(&r1);
4771  dk->addDgtr(&r2);
4772  this->add(*dk);
4773  this->add(AmpInitialiser(*dk, "NonRes"));
4774  delete dk;
4775  dk = new DecayTree(521);
4776  r1=DecayTree(9993);
4777  r1.addDgtr(443,-211);
4778  r2=DecayTree(9993);
4779  r2.addDgtr(321,211);
4780  dk->addDgtr(&r1);
4781  dk->addDgtr(&r2);
4782  this->add(*dk);
4783  this->add(AmpInitialiser(*dk, "NonRes"));
4784  delete dk;
4785 
4786  //B-> NA NV
4787  dk = new DecayTree(521);
4788  r1=DecayTree(9983);
4789  r1.addDgtr(443,321);
4790  r2=DecayTree(9993);
4791  r2.addDgtr(211,-211);
4792  dk->addDgtr(&r1);
4793  dk->addDgtr(&r2);
4794  this->add(*dk);
4795  this->add(AmpInitialiser(*dk, "NonRes"));
4796  delete dk;
4797  dk = new DecayTree(521);
4798  r1=DecayTree(9983);
4799  r1.addDgtr(443,211);
4800  r2=DecayTree(9993);
4801  r2.addDgtr(321,-211);
4802  dk->addDgtr(&r1);
4803  dk->addDgtr(&r2);
4804  this->add(*dk);
4805  this->add(AmpInitialiser(*dk, "NonRes"));
4806  delete dk;
4807  dk = new DecayTree(521);
4808  r1=DecayTree(9983);
4809  r1.addDgtr(443,-211);
4810  r2=DecayTree(9993);
4811  r2.addDgtr(321,211);
4812  dk->addDgtr(&r1);
4813  dk->addDgtr(&r2);
4814  this->add(*dk);
4815  this->add(AmpInitialiser(*dk, "NonRes"));
4816  delete dk;
4817 
4818  //B-> NA NS
4819  dk = new DecayTree(521);
4820  r1=DecayTree(9983);
4821  r1.addDgtr(443,321);
4822  r2=DecayTree(9981);
4823  r2.addDgtr(211,-211);
4824  dk->addDgtr(&r1);
4825  dk->addDgtr(&r2);
4826  this->add(*dk);
4827  this->add(AmpInitialiser(*dk, "NonRes"));
4828  delete dk;
4829  dk = new DecayTree(521);
4830  r1=DecayTree(9983);
4831  r1.addDgtr(443,211);
4832  r2=DecayTree(9981);
4833  r2.addDgtr(321,-211);
4834  dk->addDgtr(&r1);
4835  dk->addDgtr(&r2);
4836  this->add(*dk);
4837  this->add(AmpInitialiser(*dk, "NonRes"));
4838  delete dk;
4839  dk = new DecayTree(521);
4840  r1=DecayTree(9983);
4841  r1.addDgtr(443,-211);
4842  r2=DecayTree(9981);
4843  r2.addDgtr(321,211);
4844  dk->addDgtr(&r1);
4845  dk->addDgtr(&r2);
4846  this->add(*dk);
4847  this->add(AmpInitialiser(*dk, "NonRes"));
4848  delete dk;
4849 
4850  //B-> NP NS
4851  dk = new DecayTree(521);
4852  r1=DecayTree(9991);
4853  r1.addDgtr(443,321);
4854  r2=DecayTree(9981);
4855  r2.addDgtr(211,-211);
4856  dk->addDgtr(&r1);
4857  dk->addDgtr(&r2);
4858  this->add(*dk);
4859  this->add(AmpInitialiser(*dk, "NonRes"));
4860  delete dk;
4861  dk = new DecayTree(521);
4862  r1=DecayTree(9991);
4863  r1.addDgtr(443,211);
4864  r2=DecayTree(9981);
4865  r2.addDgtr(321,-211);
4866  dk->addDgtr(&r1);
4867  dk->addDgtr(&r2);
4868  this->add(*dk);
4869  this->add(AmpInitialiser(*dk, "NonRes"));
4870  delete dk;
4871  dk = new DecayTree(521);
4872  r1=DecayTree(9991);
4873  r1.addDgtr(443,-211);
4874  r2=DecayTree(9981);
4875  r2.addDgtr(321,211);
4876  dk->addDgtr(&r1);
4877  dk->addDgtr(&r2);
4878  this->add(*dk);
4879  this->add(AmpInitialiser(*dk, "NonRes"));
4880  delete dk;
4881 
4882  /*
4883  //B->J/psi K pi pi (non resonant)
4884  dk = new DecayTree(521);
4885  dk->addDgtr(321, 9993)->addDgtr(443, 9981)->addDgtr(211,-211);
4886  this->add(*dk);
4887  this->add(AmpInitialiser(*dk, "PLUS"));
4888  this->add(AmpInitialiser(*dk, "ZERO"));
4889  this->add(AmpInitialiser(*dk, "MINUS"));
4890  delete dk;
4891  dk = new DecayTree(521);
4892  dk->addDgtr(221, 9993)->addDgtr(443, 9981)->addDgtr(321,-211);
4893  this->add(*dk);
4894  delete dk;
4895  dk = new DecayTree(521);
4896  dk->addDgtr(-211, 9993)->addDgtr(443, 9981)->addDgtr(211,321);
4897  this->add(*dk);
4898  delete dk;
4899  dk = new DecayTree(521);
4900  dk->addDgtr(443, 9983)->addDgtr(211, 9993)->addDgtr(321,-211);
4901  this->add(*dk);
4902  delete dk;
4903  */
4904 
4905  //Single resonance amplitudes:
4906  //----------------------------
4907 
4908  // B->J/psi K1(1270); K1->K pi pi (non resonant)
4909  dk = new DecayTree(521);
4910  dk->addDgtr(443, 10323)->addDgtr(211, 9993)->addDgtr(321,-211);
4911  this->add(*dk);
4912  this->add(AmpInitialiser(*dk, "PLUS"));
4913  this->add(AmpInitialiser(*dk, "ZERO"));
4914  this->add(AmpInitialiser(*dk, "MINUS"));
4915  this->add(AmpInitialiser(*dk, "NonRes"));
4916  this->add(AmpInitialiser(*dk, "NonResExp_10323"));
4917  delete dk;
4918  dk = new DecayTree(521);
4919  dk->addDgtr(443, 10323)->addDgtr(321, 9993)->addDgtr(211,-211);
4920  this->add(*dk);
4921  this->add(AmpInitialiser(*dk, "PLUS"));
4922  this->add(AmpInitialiser(*dk, "ZERO"));
4923  this->add(AmpInitialiser(*dk, "MINUS"));
4924  this->add(AmpInitialiser(*dk, "NonRes"));
4925  this->add(AmpInitialiser(*dk, "NonResExp_10323"));
4926  delete dk;
4927  dk = new DecayTree(521);
4928  dk->addDgtr(443, 10323)->addDgtr(-211, 9993)->addDgtr(321,211);
4929  this->add(*dk);
4930  this->add(AmpInitialiser(*dk, "PLUS"));
4931  this->add(AmpInitialiser(*dk, "ZERO"));
4932  this->add(AmpInitialiser(*dk, "MINUS"));
4933  this->add(AmpInitialiser(*dk, "NonRes"));
4934  this->add(AmpInitialiser(*dk, "NonResExp_10323"));
4935  delete dk;
4936 
4937  // B->J/psi K1(1270); K1->K pi pi (non resonant)
4938  dk = new DecayTree(521);
4939  dk->addDgtr(443, 10323)->addDgtr(211, 9981)->addDgtr(321,-211);
4940  this->add(*dk);
4941  this->add(AmpInitialiser(*dk, "PLUS"));
4942  this->add(AmpInitialiser(*dk, "ZERO"));
4943  this->add(AmpInitialiser(*dk, "MINUS"));
4944  this->add(AmpInitialiser(*dk, "NonRes"));
4945  this->add(AmpInitialiser(*dk, "NonResExp_10323"));
4946  delete dk;
4947  dk = new DecayTree(521);
4948  dk->addDgtr(443, 10323)->addDgtr(321, 9981)->addDgtr(211,-211);
4949  this->add(*dk);
4950  this->add(AmpInitialiser(*dk, "PLUS"));
4951  this->add(AmpInitialiser(*dk, "ZERO"));
4952  this->add(AmpInitialiser(*dk, "MINUS"));
4953  this->add(AmpInitialiser(*dk, "NonRes"));
4954  this->add(AmpInitialiser(*dk, "NonResExp_10323"));
4955  delete dk;
4956  dk = new DecayTree(521);
4957  dk->addDgtr(443, 10323)->addDgtr(-211, 9981)->addDgtr(321,211);
4958  this->add(*dk);
4959  this->add(AmpInitialiser(*dk, "PLUS"));
4960  this->add(AmpInitialiser(*dk, "ZERO"));
4961  this->add(AmpInitialiser(*dk, "MINUS"));
4962  this->add(AmpInitialiser(*dk, "NonRes"));
4963  this->add(AmpInitialiser(*dk, "NonResExp_10323"));
4964  delete dk;
4965 
4966  // B->J/psi K f2(1270); f2->pi pi
4967  dk = new DecayTree(521);
4968  dk->addDgtr(443, 9975)->addDgtr(321, 225)->addDgtr(211,-211);
4969  this->add(*dk);
4970  this->add(AmpInitialiser(*dk, "NonRes"));
4971  this->add(AmpInitialiser(*dk, "NonResExp_9975"));
4972 
4973  // B->J/psi pi K2*(1430); K2*->K pi
4974  dk = new DecayTree(521);
4975  dk->addDgtr(443, 9975)->addDgtr(211, 315)->addDgtr(321,-211);
4976  this->add(*dk);
4977  this->add(AmpInitialiser(*dk, "NonRes"));
4978  this->add(AmpInitialiser(*dk, "NonResExp_9975"));
4979  delete dk;
4980 
4981  // B->J/psi pi K*(892); K*->K pi
4982  dk = new DecayTree(521);
4983  dk->addDgtr(443, 9983)->addDgtr(211, 313)->addDgtr(321,-211);
4984  this->add(*dk);
4985  this->add(AmpInitialiser(*dk, "NonRes"));
4986  this->add(AmpInitialiser(*dk, "NonResExp_9983"));
4987 
4988  // B->J/psi K rho(770); rho->pi pi
4989  dk = new DecayTree(521);
4990  dk->addDgtr(443, 9983)->addDgtr(321, 113)->addDgtr(211,-211);
4991  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
4992  this->add(AmpInitialiser(*dk, "GS"));
4993  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
4994  this->add(*dk);
4995  this->add(AmpInitialiser(*dk, "NonRes"));
4996  this->add(AmpInitialiser(*dk, "NonResExp_9983"));
4997  this->add(AmpInitialiser(*dk, "NonResExp_9983GS"));
4998  dk->getVal().setL(1);
4999  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
5000  this->add(AmpInitialiser(*dk, "GS"));
5001  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
5002  this->add(*dk);
5003  this->add(AmpInitialiser(*dk, "NonRes"));
5004  this->add(AmpInitialiser(*dk, "NonResExp_9983"));
5005  this->add(AmpInitialiser(*dk, "NonResExp_9983GS"));
5006  delete dk;
5007 
5008  dk = new DecayTree(521);
5009  dk->addDgtr(443, 9993)->addDgtr(321, 113)->addDgtr(211,-211);
5010  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
5011  this->add(AmpInitialiser(*dk, "GS"));
5012  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
5013  this->add(*dk);
5014  this->add(AmpInitialiser(*dk, "NonRes"));
5015  this->add(AmpInitialiser(*dk, "NonResExp_9993"));
5016  this->add(AmpInitialiser(*dk, "NonResExp_9993GS"));
5017  dk->getVal().setL(1);
5018  this->add(AmpInitialiser(*dk, "GS"));
5019  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
5020  this->add(*dk);
5021  dk->getVal().setL(2);
5022  this->add(AmpInitialiser(*dk, "GS"));
5023  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
5024  this->add(*dk);
5025  delete dk;
5026 
5027  dk = new DecayTree(521);
5028  dk->addDgtr(321, 9993)->addDgtr(443, 113)->addDgtr(211,-211);
5029  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
5030  this->add(AmpInitialiser(*dk, "GS"));
5031  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
5032  this->add(*dk);
5033  this->add(AmpInitialiser(*dk, "NonRes"));
5034  this->add(AmpInitialiser(*dk, "NonResExp_9993"));
5035  this->add(AmpInitialiser(*dk, "NonResExp_9993GS"));
5036  delete dk;
5037 
5038  dk = new DecayTree(521);
5039  dk->addDgtr(321, 9983)->addDgtr(443, 113)->addDgtr(211,-211);
5040  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
5041  this->add(AmpInitialiser(*dk, "GS"));
5042  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
5043  this->add(*dk);
5044  this->add(AmpInitialiser(*dk, "NonRes"));
5045  this->add(AmpInitialiser(*dk, "NonResExp_9983"));
5046  this->add(AmpInitialiser(*dk, "NonResExp_9983GS"));
5047  delete dk;
5048 
5049  //B-> NV rho
5050  dk = new DecayTree(521);
5051  r1=DecayTree(9993);
5052  r1.addDgtr(443,321);
5053  r2=DecayTree(113);
5054  r2.addDgtr(211,-211);
5055  dk->addDgtr(&r1);
5056  dk->addDgtr(&r2);
5057  this->add(*dk);
5058  this->add(AmpInitialiser(*dk, "GS"));
5059  this->add(AmpInitialiser(*dk, "NonRes"));
5060  this->add(AmpInitialiser(*dk, "NonResGS"));
5061  this->add(AmpInitialiser(*dk, "NonResExp_9993"));
5062  this->add(AmpInitialiser(*dk, "NonResExp_9993GS"));
5063  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
5064  delete dk;
5065 
5066  //B-> NA rho
5067  dk = new DecayTree(521);
5068  r1=DecayTree(9983);
5069  r1.addDgtr(443,321);
5070  r2=DecayTree(113);
5071  r2.addDgtr(211,-211);
5072  dk->addDgtr(&r1);
5073  dk->addDgtr(&r2);
5074  this->add(*dk);
5075  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
5076  this->add(AmpInitialiser(*dk, "GS"));
5077  this->add(AmpInitialiser(*dk, "NonRes"));
5078  this->add(AmpInitialiser(*dk, "NonResGS"));
5079  this->add(AmpInitialiser(*dk, "NonResExp_9983"));
5080  this->add(AmpInitialiser(*dk, "NonResExp_9983GS"));
5081  delete dk;
5082 
5083  //B-> NP rho
5084  dk = new DecayTree(521);
5085  r1=DecayTree(9991);
5086  r1.addDgtr(443,321);
5087  r2=DecayTree(113);
5088  r2.addDgtr(211,-211);
5089  dk->addDgtr(&r1);
5090  dk->addDgtr(&r2);
5091  this->add(*dk);
5092  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
5093  this->add(AmpInitialiser(*dk, "GS"));
5094  this->add(AmpInitialiser(*dk, "NonRes"));
5095  this->add(AmpInitialiser(*dk, "NonResGS"));
5096  this->add(AmpInitialiser(*dk, "NonResExp_9991"));
5097  this->add(AmpInitialiser(*dk, "NonResExp_9991GS"));
5098  delete dk;
5099 
5100  // B->K J/psi f0->pi pi
5101  dk = new DecayTree(521);
5102  dk->addDgtr(321, 9993)->addDgtr(443, 9010221)->addDgtr(211,-211);
5103  this->add(*dk);
5104  this->add(AmpInitialiser(*dk, "Flatte"));
5105  delete dk;
5106 
5107  dk = new DecayTree(521);
5108  dk->addDgtr(443, 9983)->addDgtr(321, 9010221)->addDgtr(211,-211);
5109  this->add(*dk);
5110  this->add(AmpInitialiser(*dk, "Flatte"));
5111  delete dk;
5112 
5113  // Done
5114  return _trees.size();
5115 }
5116 
5118  bool dbThis=false;
5119 
5120  DecayTree* dk=0;
5121 
5122  // D->KK pipi
5123 
5124  // D->K1(1270)K-, K1(1270)->rho(770)K+
5125  dk = new DecayTree(421);
5126  dk->addDgtr(-321, 10323)->addDgtr(+321, 113)->addDgtr(211, -211);
5127  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
5128  this->add(*dk);
5129  if(dbThis) cout << "first decay: " << *dk << endl;
5130  delete dk;
5131 
5132  // D->K1(1270)K-, K1(1270)->omega(782)K+
5133  dk = new DecayTree(421);
5134  dk->addDgtr(-321, 10323)->addDgtr(+321, 223)->addDgtr(211, -211);
5135  this->add(*dk);
5136  if(dbThis) cout << "first decay: " << *dk << endl;
5137  delete dk;
5138 
5139 
5140  //D->K1(1270)K-, K1(1270)->K0*(1430)pi+
5141  dk = new DecayTree(421);
5142  dk->addDgtr(-321, 10323)->addDgtr(211, 10311)->addDgtr(321, -211);
5143  this->add(AmpInitialiser(*dk, "Lass"));
5144  this->add(*dk);
5145  if(dbThis) cout << "2nd decay: " << *dk << endl;
5146  delete dk;
5147 
5148  // name="D->K1(1270)K-, K1(1270)->K0*(892)pi+";
5149  dk = new DecayTree(421);
5150  dk->addDgtr(-321, 10323)->addDgtr(211, 313)->addDgtr(321, -211);
5151  this->add(*dk);
5152  if(dbThis) cout << "3rd decay: " << *dk << endl;
5153  delete dk;
5154 
5155  // K1(1400) K-, K1(1400) -> K0*(892) pi+
5156  dk = new DecayTree(421);
5157  dk->addDgtr(-321, 20323)->addDgtr(211, 313)->addDgtr(321, -211);
5158  add(*dk);
5159  if(dbThis) cout << "4th decay: " << *dk << endl;
5160  delete dk;
5161 
5162  // K0*(892) K0*(892)~
5163  dk = new DecayTree(421);
5164  dk->addDgtr( 313)->addDgtr( 321, -211);
5165  dk->addDgtr(-313)->addDgtr(-321, 211);
5166  add(*dk);
5167  if(dbThis) cout << "5th decay: " << *dk << endl;
5168  delete dk;
5169 
5170  // phi(1020) rho(770)
5171  dk = new DecayTree(421);
5172  dk->addDgtr( 333)->addDgtr( 321, -321);
5173  dk->addDgtr(-113)->addDgtr(-211, 211);
5174  add(AmpInitialiser(*dk, "RHO_OMEGA"));
5175  add(*dk);
5176  if(dbThis) cout << "6th decay: " << *dk << endl;
5177  delete dk;
5178  // phi(1020) rho(770) P wave
5179  dk = new DecayTree(421);
5180  dk->addDgtr( 333)->addDgtr( 321, -321);
5181  dk->addDgtr(-113)->addDgtr(-211, 211);
5182  dk->getVal().setL(1);
5183  add(AmpInitialiser(*dk, "RHO_OMEGA"));
5184  add(*dk);
5185  if(dbThis) cout << "6th decay: " << *dk << endl;
5186  delete dk;
5187  // phi(1020) rho(770) D-wave
5188  dk = new DecayTree(421);
5189  dk->addDgtr( 333)->addDgtr( 321, -321);
5190  dk->addDgtr(-113)->addDgtr(-211, 211);
5191  dk->getVal().setL(2);
5192  add(AmpInitialiser(*dk, "RHO_OMEGA"));
5193  add(*dk);
5194  if(dbThis) cout << "6th decay: " << *dk << endl;
5195  delete dk;
5196 
5197  // phi(1020) omega(782)
5198  dk = new DecayTree(421);
5199  dk->addDgtr( 333)->addDgtr( 321, -321);
5200  dk->addDgtr(223)->addDgtr(-211, 211);
5201  add(*dk);
5202  if(dbThis) cout << "6th decay: " << *dk << endl;
5203  delete dk;
5204 
5205  // phi(1020) f2(782)
5206  dk = new DecayTree(421);
5207  dk->addDgtr( 333)->addDgtr( 321, -321);
5208  dk->addDgtr( 225)->addDgtr(-211, 211);
5209  add(*dk);
5210  if(dbThis) cout << "6th decay: " << *dk << endl;
5211  delete dk;
5212  // phi(1020) f2(782) D wave
5213  dk = new DecayTree(421);
5214  dk->addDgtr( 333)->addDgtr( 321, -321);
5215  dk->getVal().setL(2);
5216  dk->addDgtr( 225)->addDgtr(-211, 211);
5217  add(*dk);
5218  if(dbThis) cout << "6th decay: " << *dk << endl;
5219  delete dk;
5220 
5221  // f2(782) + non-res S-wave
5222  dk = new DecayTree(421);
5223  dk->addDgtr(9981)->addDgtr( 321, -321);
5224  dk->addDgtr( 225)->addDgtr(-211, 211);
5225  add(*dk);
5226  if(dbThis) cout << "6th decay: " << *dk << endl;
5227  delete dk;
5228 
5229  // KK rho(770)
5230  dk = new DecayTree(421);
5231  dk->addDgtr( 321, -321);
5232  dk->addDgtr(-113)->addDgtr(-211, 211);
5233  add(AmpInitialiser(*dk, "RHO_OMEGA"));
5234  add(*dk);
5235  if(dbThis) cout << "7th decay: " << *dk << endl;
5236  delete dk;
5237 
5238  // KK omega(783)
5239  dk = new DecayTree(421);
5240  dk->addDgtr( 321, -321);
5241  dk->addDgtr(223)->addDgtr(-211, 211);
5242  add(*dk);
5243  if(dbThis) cout << "7th decay: " << *dk << endl;
5244  delete dk;
5245 
5246  // phi(1020) pi pi
5247  dk = new DecayTree(421);
5248  dk->addDgtr( 333)->addDgtr( 321, -321);
5249  dk->addDgtr(-211, 211);
5250  add(*dk);
5251  if(dbThis) cout << "8th decay: " << *dk << endl;
5252  delete dk;
5253 
5254  // K0*(892) K+ pi-
5255  dk = new DecayTree(421);
5256  dk->addDgtr( 321, -211);
5257  dk->addDgtr(-313)->addDgtr(-321, 211);
5258  add(*dk);
5259  if(dbThis) cout << "9th decay: " << *dk << endl;
5260  delete dk;
5261 
5262  // K0*(892) K- pi+
5263  dk = new DecayTree(421);
5264  dk->addDgtr(-321, +211);
5265  dk->addDgtr( 313)->addDgtr( 321, -211);
5266  add(*dk);
5267  if(dbThis) cout << "10th decay: " << *dk << endl;
5268  delete dk;
5269 
5270  // D0->f(0)(980) pipi
5271  dk = new DecayTree(421);
5272  dk->addDgtr( 9010221)->addDgtr( -321, +321);
5273  dk->addDgtr( -211, 211);
5274  add(AmpInitialiser(*dk, "FocusFlatte"));
5275  add(AmpInitialiser(*dk, "Flatte"));
5276  add(*dk);
5277  if(dbThis) cout << "11th decay: " << *dk << endl;
5278  delete dk;
5279 
5280 
5281  // D0->f(0)(980) NonResVbar0(pi-,pi+)
5282  dk = new DecayTree(421);
5283  dk->addDgtr(-9993)->addDgtr( -211, 211);
5284  dk->addDgtr( 9010221)->addDgtr( -211, +211);
5285  add(AmpInitialiser(*dk, "FocusFlatte"));
5286  add(AmpInitialiser(*dk, "Flatte"));
5287  add(*dk);
5288  if(dbThis) cout << "11th decay: " << *dk << endl;
5289  delete dk;
5290 
5291 
5292  // f(0)(980) KK
5293  dk = new DecayTree(421);
5294  dk->addDgtr( 9010221)->addDgtr( -211, +211);
5295  dk->addDgtr( 321, -321);
5296  add(AmpInitialiser(*dk, "Flatte"));
5297  add(*dk);
5298  if(dbThis) cout << "12th decay: " << *dk << endl;
5299  delete dk;
5300 
5301  // adding non-resonant amplitudes
5302 
5303  // phi(1020) NonRes Scalar,
5304  dk = new DecayTree(421);
5305  dk->addDgtr( 333)->addDgtr( 321, -321);
5306  dk->addDgtr(9981)->addDgtr(-211, 211);
5307  add(*dk);
5308  if(dbThis) cout << "somethingth decay: " << *dk << endl;
5309  delete dk;
5310 
5311  // phi(1020) NonRes V, in S-wave
5312  dk = new DecayTree(421);
5313  dk->addDgtr( 333)->addDgtr( 321, -321);
5314  dk->addDgtr(9993)->addDgtr(-211, 211);
5315  add(*dk);
5316  if(dbThis) cout << "somethingth decay: " << *dk << endl;
5317  delete dk;
5318 
5319  // phi(1020) NonRes V in P wave laurens
5320  dk = new DecayTree(421);
5321  dk->addDgtr( 333)->addDgtr( 321, -321);
5322  dk->addDgtr(9993)->addDgtr(-211, 211);
5323  dk->getVal().setL(1);
5324  add(*dk);
5325  if(dbThis) cout << "somethingth decay: " << *dk << endl;
5326  delete dk;
5327 
5328  // phi(1020) NonRes V, in D wave laurens
5329  dk = new DecayTree(421);
5330  dk->addDgtr( 333)->addDgtr( 321, -321);
5331  dk->addDgtr(9993)->addDgtr(-211, 211);
5332  dk->getVal().setL(2);
5333  add(*dk);
5334  if(dbThis) cout << "somethingth decay: " << *dk << endl;
5335  delete dk;
5336 
5337  // NonRes S rho(770)
5338  dk = new DecayTree(421);
5339  dk->addDgtr( 9981)->addDgtr( 321, -321);
5340  dk->addDgtr(-113)->addDgtr(-211, 211);
5341  add(*dk);
5342  if(dbThis) cout << "somethingth decay: " << *dk << endl;
5343  delete dk;
5344 
5345  // NonRes V rho(770) S wave laurens
5346  dk = new DecayTree(421);
5347  dk->addDgtr( 9993)->addDgtr( 321, -321);
5348  dk->addDgtr(-113)->addDgtr(-211, 211);
5349  add(*dk);
5350  if(dbThis) cout << "somethingth decay: " << *dk << endl;
5351  delete dk;
5352 
5353  // NonRes V rho(770) P wave laurens
5354  dk = new DecayTree(421);
5355  dk->addDgtr( 9993)->addDgtr( 321, -321);
5356  dk->addDgtr(-113)->addDgtr(-211, 211);
5357  dk->getVal().setL(1);
5358  add(*dk);
5359  if(dbThis) cout << "somethingth decay: " << *dk << endl;
5360  delete dk;
5361 
5362  // NonRes V rho(770) D wave laurens
5363  dk = new DecayTree(421);
5364  dk->addDgtr( 9993)->addDgtr( 321, -321);
5365  dk->addDgtr(-113)->addDgtr(-211, 211);
5366  dk->getVal().setL(2);
5367  add(*dk);
5368  if(dbThis) cout << "somethingth decay: " << *dk << endl;
5369  delete dk;
5370 
5371  // NonRes VS
5372  dk = new DecayTree(421);
5373  dk->addDgtr(9981)->addDgtr( 211, -211);
5374  dk->addDgtr(9993)->addDgtr(321, -321);
5375  add(*dk);
5376  if(dbThis) cout << "somethingth decay: " << *dk << endl;
5377  delete dk;
5378 
5379  // NonRes VV in S wave lauren
5380  dk = new DecayTree(421);
5381  dk->addDgtr( 9993)->addDgtr( 211, -211);
5382  dk->addDgtr(9993)->addDgtr(321, -321);
5383  add(*dk);
5384  if(dbThis) cout << "somethingth decay: " << *dk << endl;
5385  delete dk;
5386 
5387  // NonRes VV in P wave lauren
5388  dk = new DecayTree(421);
5389  dk->addDgtr( 9993)->addDgtr( 211, -211);
5390  dk->addDgtr(9993)->addDgtr(321, -321);
5391  dk->getVal().setL(1);
5392  add(*dk);
5393  if(dbThis) cout << "somethingth decay: " << *dk << endl;
5394  delete dk;
5395 
5396  // NonRes VV D wave lauren
5397  dk = new DecayTree(421);
5398  dk->addDgtr( 9993)->addDgtr( 211, -211);
5399  dk->addDgtr(9993)->addDgtr(321, -321);
5400  dk->getVal().setL(2);
5401  add(*dk);
5402  if(dbThis) cout << "somethingth decay: " << *dk << endl;
5403  delete dk;
5404 
5405  // NonRes VS
5406  dk = new DecayTree(421);
5407  dk->addDgtr(9981)->addDgtr( 321, -211);
5408  dk->addDgtr(9993)->addDgtr(211, -321);
5409  add(*dk);
5410 
5411  // non-Res VV in S wave
5412  dk = new DecayTree(421);
5413  dk->addDgtr( 9993)->addDgtr( 321, -211);
5414  dk->addDgtr(9993)->addDgtr(211, -321);
5415  add(*dk);
5416  if(dbThis) cout << "somethingth decay: " << *dk << endl;
5417  delete dk;
5418 
5419  // NonRes VV in P wave lauren
5420  dk = new DecayTree(421);
5421  dk->addDgtr(9993)->addDgtr(321, -211);
5422  dk->addDgtr(9993)->addDgtr(211, -321);
5423  dk->getVal().setL(1);
5424  add(*dk);
5425  if(dbThis) cout << "somethingth decay: " << *dk << endl;
5426  delete dk;
5427 
5428  // NonRes VV in D wave lauren
5429  dk = new DecayTree(421);
5430  dk->addDgtr( 9993)->addDgtr( 321, -211);
5431  dk->addDgtr(9993)->addDgtr(211, -321);
5432  dk->getVal().setL(2);
5433  add(*dk);
5434  if(dbThis) cout << "somethingth decay: " << *dk << endl;
5435  delete dk;
5436 
5437  // K0*(892) NonRes S
5438  dk = new DecayTree(421);
5439  dk->addDgtr( 313)->addDgtr( 321, -211);
5440  dk->addDgtr(9981)->addDgtr(-321, 211);
5441  add(*dk);
5442  if(dbThis) cout << "5th decay: " << *dk << endl;
5443  delete dk;
5444 
5445  // K0*(892) NonRes V in S wave
5446  dk = new DecayTree(421);
5447  dk->addDgtr( 313)->addDgtr( 321, -211);
5448  dk->addDgtr(9993)->addDgtr(-321, 211);
5449  add(*dk);
5450  if(dbThis) cout << "5th decay: " << *dk << endl;
5451  delete dk;
5452 
5453  // K0*(892) NonRes V in P wave
5454  dk = new DecayTree(421);
5455  dk->addDgtr( 313)->addDgtr( 321, -211);
5456  dk->addDgtr(9993)->addDgtr(-321, 211);
5457  dk->getVal().setL(1);
5458  add(*dk);
5459  if(dbThis) cout << "5th decay: " << *dk << endl;
5460  delete dk;
5461 
5462  // K0*(892) NonRes V D wave
5463  dk = new DecayTree(421);
5464  dk->addDgtr( 313)->addDgtr( 321, -211);
5465  dk->addDgtr(9993)->addDgtr(-321, 211);
5466  dk->getVal().setL(2);
5467  add(*dk);
5468  if(dbThis) cout << "5th decay: " << *dk << endl;
5469  delete dk;
5470 
5471 
5472  // adding the non-resonant tensors
5473 
5474  // phi(1020) NonRes Tensor P wave
5475  dk = new DecayTree(421);
5476  dk->addDgtr( 333)->addDgtr( 321, -321); // spin 1
5477  dk->addDgtr(9985)->addDgtr(-211, 211); // spin 2
5478  add(*dk);
5479  if(dbThis) cout << "somethingth decay: " << *dk << endl;
5480  delete dk;
5481 
5482  // phi(1020) NonRes Tensor D wave
5483  dk = new DecayTree(421);
5484  dk->addDgtr( 333)->addDgtr( 321, -321);
5485  dk->addDgtr(9985)->addDgtr(-211, 211);
5486  dk->getVal().setL(2);
5487  add(*dk);
5488  if(dbThis) cout << "somethingth decay: " << *dk << endl;
5489  delete dk;
5490 
5491  // NonRes Tensor rho(770) P wave
5492  dk = new DecayTree(421);
5493  dk->addDgtr( 9985)->addDgtr( 321, -321); // spin 2
5494  dk->addDgtr(-113)->addDgtr(-211, 211); // spin 1
5495  add(*dk);
5496  if(dbThis) cout << "somethingth decay: " << *dk << endl;
5497  delete dk;
5498 
5499  // NonRes Tensor rho(770) D wave laurens
5500  dk = new DecayTree(421);
5501  dk->addDgtr( 9985)->addDgtr( 321, -321);
5502  dk->addDgtr(-113)->addDgtr(-211, 211);
5503  dk->getVal().setL(2);
5504  add(*dk);
5505  if(dbThis) cout << "somethingth decay: " << *dk << endl;
5506  delete dk;
5507 
5508  // NonRes TV in P wave
5509  dk = new DecayTree(421);
5510  dk->addDgtr( 9985)->addDgtr( 211, -211); // spin 2
5511  dk->addDgtr(9993)->addDgtr(321, -321); // spin 1
5512  add(*dk);
5513  if(dbThis) cout << "somethingth decay: " << *dk << endl;
5514  delete dk;
5515 
5516  // NonRes VT in P wave lauren
5517  dk = new DecayTree(421);
5518  dk->addDgtr( 9993)->addDgtr( 211, -211); // spin 1
5519  dk->addDgtr(9985)->addDgtr(321, -321); // spin 2
5520  add(*dk);
5521  if(dbThis) cout << "somethingth decay: " << *dk << endl;
5522  delete dk;
5523 
5524  // NonRes TV D wave lauren
5525  dk = new DecayTree(421);
5526  dk->addDgtr( 9985)->addDgtr( 211, -211);
5527  dk->addDgtr(9993)->addDgtr(321, -321);
5528  dk->getVal().setL(2);
5529  add(*dk);
5530  if(dbThis) cout << "somethingth decay: " << *dk << endl;
5531  delete dk;
5532  // NonRes VT in D wave lauren
5533  dk = new DecayTree(421);
5534  dk->addDgtr( 9993)->addDgtr( 211, -211);
5535  dk->addDgtr(9985)->addDgtr(321, -321);
5536  dk->getVal().setL(2);
5537  add(*dk);
5538  if(dbThis) cout << "somethingth decay: " << *dk << endl;
5539  delete dk;
5540 
5541  // NonRes TV in P wave lauren
5542  dk = new DecayTree(421);
5543  dk->addDgtr( 9985)->addDgtr( 321, -211);
5544  dk->addDgtr(9993)->addDgtr(211, -321);
5545  add(*dk);
5546  if(dbThis) cout << "somethingth decay: " << *dk << endl;
5547  delete dk;
5548 
5549  // NonRes TV in D wave lauren
5550  dk = new DecayTree(421);
5551  dk->addDgtr( 9985)->addDgtr( 321, -211);
5552  dk->addDgtr(9993)->addDgtr(211, -321);
5553  dk->getVal().setL(2);
5554  add(*dk);
5555  if(dbThis) cout << "somethingth decay: " << *dk << endl;
5556  delete dk;
5557 
5558 
5559  // K0*(892) NonRes T in P wave
5560  dk = new DecayTree(421);
5561  dk->addDgtr( 313)->addDgtr( 321, -211);
5562  dk->addDgtr(9985)->addDgtr(-321, 211);
5563  add(*dk);
5564  if(dbThis) cout << "5th decay: " << *dk << endl;
5565  delete dk;
5566 
5567  // K0*(892) NonRes T D wave
5568  dk = new DecayTree(421);
5569  dk->addDgtr( 313)->addDgtr( 321, -211);
5570  dk->addDgtr(9985)->addDgtr(-321, 211);
5571  dk->getVal().setL(2);
5572  add(*dk);
5573  if(dbThis) cout << "5th decay: " << *dk << endl;
5574  delete dk;
5575 
5576  //----- TS:
5577  // NonRes TS
5578  dk = new DecayTree(421);
5579  dk->addDgtr(9985)->addDgtr( 211, -211);
5580  dk->addDgtr(9981)->addDgtr(321, -321);
5581  add(*dk);
5582  if(dbThis) cout << "somethingth decay: " << *dk << endl;
5583  delete dk;
5584  // NonRes TS
5585  dk = new DecayTree(421);
5586  dk->addDgtr(9981)->addDgtr( 211, -211);
5587  dk->addDgtr(9985)->addDgtr(321, -321);
5588  add(*dk);
5589  if(dbThis) cout << "somethingth decay: " << *dk << endl;
5590  delete dk;
5591  // NonRes TS
5592  dk = new DecayTree(421);
5593  dk->addDgtr(9985)->addDgtr( 321, -211);
5594  dk->addDgtr(9981)->addDgtr(211, -321);
5595  add(*dk);
5596  if(dbThis) cout << "somethingth decay: " << *dk << endl;
5597  delete dk;
5598 
5599  /* non-resonant with topology D->R1 P1, R1->R2 P2, R2->P3 P4
5600  D->nonResP K-nonResP -> nonResVector pi+
5601  nonResVector -> K+pi-
5602  (need to implement spin factor for this)
5603  dk = new DecayTree(421);
5604  dk->addDgtr(-321, 9991)->addDgtr(211, 9993)->addDgtr(321, -211);
5605  add(*dk);
5606  if(dbThis) cout << "somethingth decay: " << *dk << endl;
5607  delete dk;
5608  */
5609 
5610  // non-resonant KK pipi
5611  dk = new DecayTree(421);
5612  dk->addDgtr(321, -321, 211, -211);
5613  add(*dk);
5614  delete dk;
5615 
5616  //Added by Matt 30/01/13
5617  // name="D->K*(1410)+K-, K*(1410)+->K0*(892)pi+";
5618  dk = new DecayTree(421);
5619  dk->addDgtr(-321, 100323)->addDgtr(211, 313)->addDgtr(321, -211);
5620  this->add(*dk);
5621  if(dbThis) cout << "K*(1410) decay: " << *dk << endl;
5622  delete dk;
5623 
5624  // K0*(892) K0*(892)~ [P-wave]
5625  dk = new DecayTree(421);
5626  dk->addDgtr( 313)->addDgtr( 321, -211);
5627  dk->addDgtr(-313)->addDgtr(-321, 211);
5628  dk->getVal().setL(1);
5629  add(*dk);
5630  if(dbThis) cout << "K*0 K*0bar decay " << *dk << endl;
5631  delete dk;
5632 
5633 
5634  // K0*(892) Non-Res-V0 [P-wave]
5635  dk = new DecayTree(421);
5636  dk->addDgtr( 313)->addDgtr( 321, -211);
5637  dk->addDgtr(9993)->addDgtr(-321,211);
5638  dk->getVal().setL(1);
5639  add(*dk);
5640  if(dbThis) cout << "K0*(892) Non-Res-V0 [P-wave]" << *dk << endl;
5641  delete dk;
5642 
5643 
5644  return _trees.size();
5645 }
5646 
5648  bool dbThis=false;
5649 
5650  DecayTree* dk=0;
5651  DecayTree* R1=0;
5652  // non-resonant K-pipipi
5653  dk = new DecayTree(421);
5654  dk->addDgtr(-321, 211, 211, -211);
5655  add(*dk);
5656  delete dk;
5657 
5658  // K- a1(1260)
5659  dk = new DecayTree(421);
5660  dk->addDgtr( -321);
5661  R1 = new DecayTree(20213); // the a1
5662  R1->addDgtr(211, 113)->addDgtr( 211,-211);
5663  dk->addDgtr(R1);
5664  add(AmpInitialiser(*dk, "RHO_OMEGA"));
5665  add(*dk);
5666  delete dk;
5667  // now the one where the a1->rho pi is D-wave:
5668  dk = new DecayTree(421);
5669  dk->addDgtr( -321);
5670  R1->getVal().setL(2);
5671  dk->addDgtr(R1);
5672  add(*dk);
5673  if(dbThis) cout << "12th decay: " << *dk << endl;
5674  delete dk;
5675  delete R1; // (dk stored a copy)
5676 
5677  // K-resonances -------------
5678  // ^^^^^^^^^^^^
5679  //
5680  // K1 1270 channels:
5681  // pi K1(1270)->K rho
5682  dk = new DecayTree(421);
5683  R1 = new DecayTree(-10323);
5684  // dk->addDgtr(211 , -10323)->addDgtr( -321,113 )->addDgtr( 211,-211);
5685  dk->addDgtr(211);
5686  R1->addDgtr( -321,113 )->addDgtr( 211,-211);
5687  dk->addDgtr(R1);
5688  add(AmpInitialiser(*dk, "RHO_OMEGA"));
5689  add(*dk);
5690  delete dk;
5691  // now K1->rho as D wave
5692  dk = new DecayTree(421);
5693  dk->addDgtr(211);
5694  R1->getVal().setL(2);
5695  dk->addDgtr(R1);
5696  add(*dk);
5697  if(dbThis) cout << "13th decay: " << *dk << endl;
5698  delete dk;
5699  delete R1;
5700 
5701  // the following, with the +10323 instead of -10323, is actually a typo,
5702  // but kept for backward compatibility:
5703  // pi K1(1270)
5704  dk = new DecayTree(421);
5705  dk->addDgtr(211 , 10323)->addDgtr( -321,113 )->addDgtr( 211,-211);
5706  add(AmpInitialiser(*dk, "RHO_OMEGA"));
5707  add(*dk);
5708  if(dbThis) cout << "13th decay: " << *dk << endl;
5709  delete dk;
5710 
5711  // pi K1(1270)->omega K
5712  dk = new DecayTree(421);
5713  dk->addDgtr(211 , -10323)->addDgtr( -321, 223)->addDgtr( 211,-211);
5714  add(*dk);
5715  if(dbThis) cout << "13th decay: " << *dk << endl;
5716 
5717  // Added by Molina on Friday 29th January 2010
5718  // K(1)(1270)(->rho(->pi+,pi-),K-) pi+
5719  dk = new DecayTree(421);
5720  R1 = new DecayTree(10313);
5721  R1->addDgtr(-321,113)->addDgtr(211,-211);
5722  dk->addDgtr(211);
5723  dk->addDgtr(R1);
5724  add(*dk);
5725  delete dk;
5726  // now the same with K1->D wave
5727  dk = new DecayTree(421);
5728  R1->getVal().setL(2);
5729  dk->addDgtr(211);
5730  dk->addDgtr(R1);
5731  add(*dk);
5732  if(dbThis) cout << "61st decay: " << *dk << endl;
5733  delete dk;
5734  delete R1;
5735 
5736  // pi K1(1270)->f0(1370) K
5737  dk = new DecayTree(421);
5738  dk->addDgtr(211 , -10323)->addDgtr( -321, 30221)->addDgtr( 211,-211);
5739  add(AmpInitialiser(*dk, "RHO_OMEGA"));
5740  add(*dk);
5741  if(dbThis) cout << "13th decay: " << *dk << endl;
5742  delete dk;
5743 
5744  // pi K1(1270)->"non-res 3-body"
5745  // could be anything. I model it as...
5746  // K1 -> K Scalar, Scalar->pipi...
5747  dk = new DecayTree(421);
5748  dk->addDgtr(211 , -10323)->addDgtr( -321, 9981)->addDgtr( 211,-211);
5749  add(*dk);
5750  if(dbThis) cout << "13th decay: " << *dk << endl;
5751  delete dk;
5752 
5753  // ... and K1 -> pi- Scalar, Scalar->K- pi+
5754  dk = new DecayTree(421);
5755  dk->addDgtr(211 , -10323)->addDgtr( -211, 9981)->addDgtr( 211,-321);
5756  add(*dk);
5757  if(dbThis) cout << "13th decay: " << *dk << endl;
5758  delete dk;
5759 
5760  // same with nonResV
5761  dk = new DecayTree(421);
5762  R1 = new DecayTree(-10323);
5763  dk->addDgtr(211);
5764  R1->addDgtr( -321, 9993)->addDgtr( 211,-211);
5765  dk->addDgtr(R1);
5766  add(*dk);
5767  delete dk;
5768  // now the same with K1->D wave
5769  dk = new DecayTree(421);
5770  R1->getVal().setL(2);
5771  dk->addDgtr(211);
5772  dk->addDgtr(R1);
5773  add(*dk);
5774  if(dbThis) cout << "13th decay: " << *dk << endl;
5775  delete dk;
5776  delete R1;
5777 
5778  // same with nonResV
5779  dk = new DecayTree(421);
5780  R1 = new DecayTree(-10323);
5781  dk->addDgtr(211);
5782  R1->addDgtr( -211, 9993)->addDgtr( 211,-321);;
5783  dk->addDgtr(R1);
5784  add(*dk);
5785  delete dk;
5786  // now the same with K1->D wave
5787  dk = new DecayTree(421);
5788  R1->getVal().setL(2);
5789  dk->addDgtr(211);
5790  dk->addDgtr(R1);
5791  add(*dk);
5792  if(dbThis) cout << "13th decay: " << *dk << endl;
5793  delete dk;
5794  delete R1;
5795 
5796 
5797  // pi K1(1270)->K(1430)->Kpi // K1->K(1430)pi can only be spin 1 (or 3, 5...)
5798  dk = new DecayTree(421);
5799  dk->addDgtr(211 , -10323)->addDgtr( -211, -10311)->addDgtr( 211, -321);
5800  add(AmpInitialiser(*dk, "RHO_OMEGA"));
5801  add(*dk);
5802  if(dbThis) cout << "13th decay: " << *dk << endl;
5803  delete dk;
5804 
5805  // pi K1(1400)->K*(892)pi
5806  dk = new DecayTree(421);
5807  R1 = new DecayTree(-20323);
5808  dk->addDgtr(211);
5809  R1->addDgtr( -211, -313)->addDgtr( 211, -321);
5810  dk->addDgtr(R1);
5811  add(*dk);
5812  delete dk;
5813  // now the same with K1->D wave
5814  R1->getVal().setL(2);
5815  dk = new DecayTree(421);
5816  dk->addDgtr(211);
5817  dk->addDgtr(R1);
5818  add(*dk);
5819  if(dbThis) cout << "13th decay: " << *dk << endl;
5820  delete dk;
5821  delete R1;
5822 
5823  // K*bar(892) rho S, P, D-wave
5824  dk = new DecayTree(421);
5825  dk->addDgtr( -313)->addDgtr( -321, +211);
5826  dk->addDgtr(113)->addDgtr(-211, 211);
5827  add(AmpInitialiser(*dk, "RHO_OMEGA"));
5828  add(AmpInitialiser(*dk, ""));
5829  dk->getVal().setL(1);
5830  add(AmpInitialiser(*dk, "RHO_OMEGA"));
5831  add(AmpInitialiser(*dk, ""));
5832  dk->getVal().setL(2);
5833  add(AmpInitialiser(*dk, "RHO_OMEGA"));
5834  add(AmpInitialiser(*dk, ""));
5835  if(dbThis) cout << "16th decay: " << *dk << endl;
5836  delete dk;
5837 
5838  // K*bar(892) omega(782) S, P, D
5839  dk = new DecayTree(421);
5840  dk->addDgtr(-313)->addDgtr(-321,211);
5841  dk->addDgtr(223)->addDgtr(211,-211);
5842  add(*dk);
5843  dk->getVal().setL(1);
5844  add(*dk);
5845  dk->getVal().setL(2);
5846  add(*dk);
5847  if(dbThis) cout << "57th decay: " << *dk << endl;
5848  delete dk;
5849 
5850 
5851  // K*bar(892) non-res scalar
5852  dk = new DecayTree(421);
5853  dk->addDgtr( -313)->addDgtr( -321, +211);
5854  dk->addDgtr(9981)->addDgtr(-211, 211);
5855  add(*dk);
5856  delete dk;
5857 
5858  // K*bar(892) non-res vector (in relative S, P, D wave)
5859  dk = new DecayTree(421);
5860  dk->addDgtr( -313)->addDgtr( -321, +211);
5861  dk->addDgtr(9993)->addDgtr(-211, 211);
5862  add(*dk);
5863  dk->getVal().setL(1);
5864  add(*dk);
5865  dk->getVal().setL(2);
5866  add(*dk);
5867  delete dk;
5868 
5869 
5870  // Added by Molina on Wednesday 13th January 2010
5871  // pi- K1(1270)+, K1(1270)->pi+ K*(892)0 pi+, K*(892)0->pi+ K-
5872  // this decay makes no sense -leave it in for backward compatibility for now
5873  dk = new DecayTree(421); // mark for removal.
5874  dk->addDgtr(-211, 10323)->addDgtr(211, 313)->addDgtr(211, -321);
5875  add(*dk);
5876  if(dbThis) cout << "18th decay: " << *dk << endl;
5877  delete dk;
5878 
5879 
5880  // that makes more sense:
5881  // pi+ K1(1270)-, K1(1270)-->pi+ K*(892)0bar, K*(892)0bar->pi+ K-
5882  // this decay makes no sense -leave it in for backward compatibility for now
5883  dk = new DecayTree(421);
5884  dk->addDgtr(211, -10323)->addDgtr(-211, -313)->addDgtr(211, -321);
5885  add(*dk);
5886  if(dbThis) cout << "18th decay: " << *dk << endl;
5887  delete dk;
5888 
5889 
5890 
5891  // Added by Molina on Thursday 14th January 2010
5892  // K*bar(892) f0(980)
5893  dk = new DecayTree(421);
5894  dk->addDgtr(-313)->addDgtr(-321,211);
5895  dk->addDgtr(9010221)->addDgtr(211,-211);
5896  add(*dk);
5897  if(dbThis) cout << "20th decay: " << *dk << endl;
5898  delete dk;
5899 
5900  // Added by Molina on Thursday 14th January 2010
5901  // K*bar(892) f2(1270) P, D wave
5902  dk = new DecayTree(421);
5903  dk->addDgtr(-313)->addDgtr(-321,211);
5904  dk->addDgtr( 225)->addDgtr(211,-211);
5905  // dk->getVal().setL(1);
5906  add(*dk);
5907  dk->getVal().setL(2);
5908  add(*dk);
5909  if(dbThis) cout << "21st decay: " << *dk << endl;
5910  delete dk;
5911 
5912 
5913  // D0->f(2)(1270)0(->pi+,pi-),Kappa-bar(->K-,pi+)
5914  dk = new DecayTree(421);
5915  dk->addDgtr(-999041)->addDgtr( -321, +211);
5916  dk->addDgtr( 225)->addDgtr( -211, +211);
5917  add(*dk);
5918  if(dbThis) cout << "18th decay: " << *dk << endl;
5919 
5920  // D0->f(2)(1270)0(->pi+,pi-),NonResV0(->pi-,pi+)
5921  dk = new DecayTree(421);
5922  dk->addDgtr(225)->addDgtr( -211, +211);
5923  dk->addDgtr(9993)->addDgtr(-211, +211);
5924  add(*dk);
5925 
5926  // D0->f(2)(1270)0(->pi+,pi-),NonResT0(->pi-,pi+)
5927  // dk = new DecayTree(421);
5928  // dk->addDgtr(225)->addDgtr( -211, +211);
5929  // dk->addDgtr(9985)->addDgtr(-211, +211);
5930  // add(*dk);
5931 
5932 
5933  // D0->f(2)(1430)0(->pi+,pi-),K*(892)bar0(->K-,pi+) P, D
5934  dk = new DecayTree(421);
5935  dk->addDgtr( -313)->addDgtr( -321, +211);
5936  dk->addDgtr(9000225)->addDgtr(-211, 211);
5937  add(*dk);
5938  dk->getVal().setL(2);
5939  add(*dk);
5940  if(dbThis) cout << "18th decay: " << *dk << endl;
5941  delete dk;
5942 
5945  //dk = new DecayTree(421);
5946  //dk->addDgtr(-313)->addDgtr(-321,211);
5947  //dk->addDgtr(225)->addDgtr(211,-211);
5948  //dk->getVal().setL(2);
5949  //add(*dk);
5950  //if(dbThis) cout << "23rd decay: " << *dk << endl;
5951  //delete dk;
5952 
5953  // Added by Molina on Thursday 14th January 2010
5954  // K*bar(892) f0(1370)
5955  dk = new DecayTree(421);
5956  dk->addDgtr(-313)->addDgtr(-321,211);
5957  dk->addDgtr(30221)->addDgtr(211,-211);
5958  add(*dk);
5959  if(dbThis) cout << "24th decay: " << *dk << endl;
5960  delete dk;
5961 
5962  // Added by Molina on Thursday 14th January 2010
5963  // K*bar(1410) NonResS(pi+ pi-)
5964  dk = new DecayTree(421);
5965  dk->addDgtr(-100313)->addDgtr(-321,211);
5966  dk->addDgtr(9981)->addDgtr(211,-211);
5967  add(*dk);
5968  if(dbThis) cout << "25th decay: " << *dk << endl;
5969  delete dk;
5970 
5971  // Added by Molina on Thursday 14th January 2010
5972  // K*bar(1430)0 NonResS(pi+ pi-)
5973  //dk = new DecayTree(421);
5974  //dk->addDgtr(-10311)->addDgtr(-321,211); Not possible because D0 is a pseudoscalar so it can't decay
5975  //dk->addDgtr(9981)->addDgtr(211,-211); into 2 scalars (K(0)*(1430) and NonResS are scalars).
5976  //add(*dk);
5977  //if(dbThis) cout << "26th decay: " << *dk << endl;
5978  //delete dk;
5979 
5980  // Added by Molina on Thursday 14th January 2010
5981  // K*bar(1430)2 NonResS(pi+ pi-)
5982  dk = new DecayTree(421);
5983  dk->addDgtr(-315)->addDgtr(-321,211);
5984  dk->addDgtr(9981)->addDgtr(211,-211);
5985  add(*dk);
5986  if(dbThis) cout << "27th decay: " << *dk << endl;
5987  delete dk;
5988 
5989  // Added by Molina on Thursday 14th January 2010
5990  // K*bar(1680) NonResS(pi+ pi-)
5991  dk = new DecayTree(421);
5992  dk->addDgtr(-30313)->addDgtr(-321,211);
5993  dk->addDgtr(9981)->addDgtr(211,-211);
5994  add(*dk);
5995  if(dbThis) cout << "28th decay: " << *dk << endl;
5996  delete dk;
5997 
5998  // Added by Molina on Friday 15th January 2010
5999  // K*bar(1430)0 rho(770)(pi+ pi-)
6000  dk = new DecayTree(421);
6001  dk->addDgtr(-10311)->addDgtr(-321,211);
6002  dk->addDgtr(113)->addDgtr(211,-211);
6003  add(*dk);
6004  cout << " name of mystery decay " << uniqueName(*dk) << endl;
6005  if(dbThis) cout << "29th decay: " << *dk << endl;
6006  delete dk;
6007 
6008  // K*bar(892) sigma_1
6009  dk = new DecayTree(421);
6010  dk->addDgtr(-313)->addDgtr(-321,211);
6011  dk->addDgtr(999001)->addDgtr(211,-211);
6012  add(*dk);
6013  if(dbThis) cout << "60th decay: " << *dk << endl;
6014  delete dk;
6015 
6016  // K*bar(892) sigma_2
6017  dk = new DecayTree(421);
6018  dk->addDgtr(-313)->addDgtr(-321,211);
6019  dk->addDgtr(999011)->addDgtr(211,-211);
6020  add(*dk);
6021  if(dbThis) cout << "60th decay: " << *dk << endl;
6022  delete dk;
6023 
6024  // K*bar(892) + non res:
6025  // ^^^^^^^^^^^^^^^^^^^^^
6026  //
6027  // Added by Molina on Friday 29th January 2010
6028  // K*bar(892) NonResS
6029  dk = new DecayTree(421);
6030  dk->addDgtr(-313)->addDgtr(-321,211);
6031  dk->addDgtr(9981)->addDgtr(211,-211);
6032  add(*dk);
6033  if(dbThis) cout << "60th decay: " << *dk << endl;
6034  delete dk;
6035 
6036  // Added by Molina on Monday 18th January 2010
6037  // K*bar(892)0 NonResV(pi+ pi-) S, P, D
6038  dk = new DecayTree(421);
6039  dk->addDgtr(-313)->addDgtr(-321,211);
6040  dk->addDgtr(9993)->addDgtr(211,-211);
6041  add(*dk);
6042  dk->getVal().setL(1);
6043  add(*dk);
6044  dk->getVal().setL(2);
6045  add(*dk);
6046  if(dbThis) cout << "30th decay: " << *dk << endl;
6047  delete dk;
6048 
6049  // Added by Molina on Monday 18th January 2010
6050  // K*bar(892)0 NonResT(pi+ pi-), P, D
6051  dk = new DecayTree(421);
6052  dk->addDgtr(-313)->addDgtr(-321,211);
6053  dk->addDgtr(9985)->addDgtr(211,-211);
6054  add(*dk);
6055  dk->getVal().setL(2);
6056  add(*dk);
6057  if(dbThis) cout << "33th decay: " << *dk << endl;
6058  delete dk;
6059 
6060 
6061  // kappba rho
6062  dk = new DecayTree(421);
6063  dk->addDgtr(-999041)->addDgtr( -321, +211);
6064  dk->addDgtr(113)->addDgtr(-211, 211);
6065  add(*dk);
6066  if(dbThis) cout << "16th decay: " << *dk << endl;
6067  delete dk;
6068 
6069  // rho(770) + nonres
6070  // Added by Molina on Thursday 29th April 2010
6071  // rho(770)(->pi+ pi-) NonResS(K- pi+)
6072  dk = new DecayTree(421);
6073  dk->addDgtr(113)->addDgtr(211,-211);
6074  dk->addDgtr(9981)->addDgtr(-321,211);
6075  add(*dk);
6076  if(dbThis) cout << "62nd decay: " << *dk << endl;
6077  delete dk;
6078 
6079  // Added by Molina on Monday 18th January 2010
6080  // rho(770) NonResV (to K- pi+) S, P, D
6081  dk = new DecayTree(421);
6082  dk->addDgtr(9993)->addDgtr(-321,211);
6083  dk->addDgtr(113)->addDgtr(211,-211);
6084  add(*dk);
6085  dk->getVal().setL(1);
6086  add(*dk);
6087  dk->getVal().setL(2);
6088  add(*dk);
6089  if(dbThis) cout << "35th decay: " << *dk << endl;
6090  delete dk;
6091 
6092  // Added by Molina on Monday 18th January 2010
6093  // rho(770) NonResT (to K- pi+) P, D
6094  dk = new DecayTree(421);
6095  dk->addDgtr(9985)->addDgtr(-321,211);
6096  dk->addDgtr(113)->addDgtr(211,-211);
6097  add(*dk);
6098  dk->getVal().setL(2);
6099  add(*dk);
6100  if(dbThis) cout << "38th decay: " << *dk << endl;
6101  delete dk;
6102 
6103  // omega + nonres
6104  // omega(782)(->pi+ pi-) NonResS(K- pi+)
6105  dk = new DecayTree(421);
6106  dk->addDgtr(223)->addDgtr(211,-211);
6107  dk->addDgtr(9981)->addDgtr(-321,211);
6108  add(*dk);
6109  if(dbThis) cout << "62nd decay: " << *dk << endl;
6110  delete dk;
6111 
6112  // omega(782) NonResV (to K- pi+) S, P, D
6113  dk = new DecayTree(421);
6114  dk->addDgtr(9993)->addDgtr(-321,211);
6115  dk->addDgtr(223)->addDgtr(211,-211);
6116  add(*dk);
6117  dk->getVal().setL(1);
6118  add(*dk);
6119  dk->getVal().setL(2);
6120  add(*dk);
6121  if(dbThis) cout << "35th decay: " << *dk << endl;
6122  delete dk;
6123 
6124  // omega(782) NonResT (to K- pi+) P, D
6125  dk = new DecayTree(421);
6126  dk->addDgtr(9985)->addDgtr(-321,211);
6127  dk->addDgtr(223)->addDgtr(211,-211);
6128  add(*dk);
6129  dk->getVal().setL(2);
6130  add(*dk);
6131  if(dbThis) cout << "38th decay: " << *dk << endl;
6132  delete dk;
6133 
6134 
6135  // Added by Molina on Monday 18th January 2010
6136  // K*bar(1410) NonResV(pi+ pi-) S, P, D
6137  dk = new DecayTree(421);
6138  dk->addDgtr(-100313)->addDgtr(-321,211);
6139  dk->addDgtr(9993)->addDgtr(211,-211);
6140  add(*dk);
6141  dk->getVal().setL(1);
6142  add(*dk);
6143  dk->getVal().setL(2);
6144  add(*dk);
6145  if(dbThis) cout << "40th decay: " << *dk << endl;
6146  delete dk;
6147 
6148 
6149  // Added by Molina on Monday 18th January 2010
6150  // K*bar(1410) NonResT(pi+ pi-) P, D
6151  dk = new DecayTree(421);
6152  dk->addDgtr(-100313)->addDgtr(-321,211);
6153  dk->addDgtr(9985)->addDgtr(211,-211);
6154  add(*dk);
6155  dk->getVal().setL(2);
6156  add(*dk);
6157  if(dbThis) cout << "43th decay: " << *dk << endl;
6158  delete dk;
6159 
6160  // Added by Molina on Monday 18th January 2010
6161  // K*bar(1430)0 NonResV(pi+ pi-)
6162  dk = new DecayTree(421);
6163  dk->addDgtr(-10311)->addDgtr(-321,211);
6164  dk->addDgtr(9993)->addDgtr(211,-211);
6165  add(*dk);
6166  if(dbThis) cout << "45th decay: " << *dk << endl;
6167  delete dk;
6168 
6169  // Added by Molina on Monday 18th January 2010
6170  // K*bar(1430)0 NonResT(pi+ pi-)
6171  dk = new DecayTree(421);
6172  dk->addDgtr(-10311)->addDgtr(-321,211);
6173  dk->addDgtr(9985)->addDgtr(211,-211);
6174  add(*dk);
6175  if(dbThis) cout << "48th decay: " << *dk << endl;
6176  delete dk;
6177 
6178  // Added by Molina on Monday 18th January 2010
6179  // K*bar(1430)2 NonResV(pi+ pi-) P, D
6180  dk = new DecayTree(421);
6181  dk->addDgtr(-315)->addDgtr(-321,211);
6182  dk->addDgtr(9993)->addDgtr(211,-211);
6183  add(*dk);
6184  dk->getVal().setL(2);
6185  add(*dk);
6186  if(dbThis) cout << "50th decay: " << *dk << endl;
6187  delete dk;
6188 
6189  // Added by Molina on Monday 18th January 2010
6190  // K*bar(1680) NonResV(pi+ pi-) S, P, D
6191  dk = new DecayTree(421);
6192  dk->addDgtr(-30313)->addDgtr(-321,211);
6193  dk->addDgtr(9993)->addDgtr(211,-211);
6194  add(*dk);
6195  dk->getVal().setL(1);
6196  add(*dk);
6197  dk->getVal().setL(2);
6198  add(*dk);
6199  if(dbThis) cout << "52th decay: " << *dk << endl;
6200  delete dk;
6201 
6202  // Added by Molina on Monday 18th January 2010
6203  // K*bar(1680) NonResT(pi+ pi-) P, D
6204  dk = new DecayTree(421);
6205  dk->addDgtr(-30313)->addDgtr(-321,211);
6206  dk->addDgtr(9985)->addDgtr(211,-211);
6207  add(*dk);
6208  dk->getVal().setL(2);
6209  add(*dk);
6210  if(dbThis) cout << "55th decay: " << *dk << endl;
6211  delete dk;
6212 
6213  // Added by Molina on Monday 18th January 2010
6214  // K*bar(892) rho(1450) S, P, D
6215  dk = new DecayTree(421);
6216  dk->addDgtr(-313)->addDgtr(-321,211);
6217  dk->addDgtr(100113)->addDgtr(211,-211);
6218  add(*dk);
6219  dk->getVal().setL(1);
6220  add(*dk);
6221  dk->getVal().setL(2);
6222  add(*dk);
6223  if(dbThis) cout << "57th decay: " << *dk << endl;
6224  delete dk;
6225 
6226  // Added by Molina on Friday 29th January 2010
6227  // K(1)(1270)(->rho(->pi+,pi-),K-) pi+
6228  dk = new DecayTree(421);
6229  dk->addDgtr(10313)->addDgtr(-321,113)->addDgtr(211,-211);
6230  dk->addDgtr(211);
6231  add(*dk);
6232  if(dbThis) cout << "61st decay: " << *dk << endl;
6233  delete dk;
6234 
6235  return _trees.size();
6236 }
6237 
6238 //=========================================================================
6239 // create the decay of the type D0->Kspipipiz
6240 //=========================================================================
6242  // provided by Loic Esteve
6243  bool dbThis=false;
6244  int decayCtr = 1;
6245  DecayTree* dk=0;
6246 
6247  if (dbThis) {
6248  cout << "----------------------------------------" << endl;
6249  cout << "Now doing D0 -> KS pi pi pi0 decays" << endl;
6250  cout << "----------------------------------------" << endl;
6251  }
6252 
6253  // non-resonant Kspipipiz
6254  dk = new DecayTree(421);
6255  dk->addDgtr(310, 211, -211, 111);
6256  add(*dk);
6257  if(dbThis) cout << "Decay #" << decayCtr++ << endl << *dk << endl;
6258  delete dk;
6259 
6260  // K*-(892) rho+(770)
6261  dk = new DecayTree(421);
6262  dk->addDgtr(-323)->addDgtr(310, -211);
6263  dk->addDgtr(213)->addDgtr(211, 111);
6264  // how to put longitudinal vs transverse here ?
6265  add(*dk);
6266  if(dbThis) cout << "Decay #" << decayCtr++ << endl << *dk << endl;
6267  delete dk;
6268 
6269  // K0bar omega
6270  // Mint doesn't know how to build the amplitude for this one since omega -> 3pi
6271  // I am using the three amplitudes omega -> (rhopi)0 for now
6272  // Thu Oct 15 16:09:56 2009
6273  // dk = new DecayTree(421);
6274  // dk->addDgtr(310,223)->addDgtr(211, -211, 111);
6275  // if(dbThis) cout << "Decay #" << decayCtr++ << endl << *dk << endl;
6276  // add(*dk);
6277  // delete dk;
6278 
6279  // K0bar omega, omega -> rho0 pi0
6280  dk = new DecayTree(421);
6281  dk->addDgtr(310,223)->addDgtr(111, 113)->addDgtr(211,-211);
6282  if(dbThis) cout << "Decay #" << decayCtr++ << endl << *dk << endl;
6283  add(*dk);
6284  delete dk;
6285 
6286  // K0bar omega, omega -> rho+ pi-
6287  dk = new DecayTree(421);
6288  dk->addDgtr(310,223)->addDgtr(-211, 213)->addDgtr(211,111);
6289  if(dbThis) cout << "Decay #" << decayCtr++ << endl << *dk << endl;
6290  add(*dk);
6291  delete dk;
6292 
6293  // K0bar omega, omega -> rho- pi+
6294  dk = new DecayTree(421);
6295  dk->addDgtr(310,223)->addDgtr(211, -213)->addDgtr(-211,111);
6296  if(dbThis) cout << "Decay #" << decayCtr++ << endl << *dk << endl;
6297  add(*dk);
6298  delete dk;
6299 
6300 
6301  // K*0bar rho0
6302  dk = new DecayTree(421);
6303  dk->addDgtr(-313)->addDgtr(310, 111);
6304  dk->addDgtr(113)->addDgtr(211, -211);
6305  // how to specify transverse amplitude here ? I could just put S and
6306  // D waves for now just playing around but this will need some fixing
6307  // one day if I am to use the MARK-III numbers for realistic events
6308  add(*dk);
6309  if(dbThis) cout << "Decay #" << decayCtr++ << endl << *dk << endl;
6310  delete dk;
6311 
6312  //D->K1(1270)-pi+, without any subresonant structure
6313  // dk = new DecayTree(421);
6314  // dk->addDgtr(211, -10323)->addDgtr(-211, 310, 111);
6315  // add(*dk);
6316  // if(dbThis) cout << "Decay #" << decayCtr++ << endl << *dk << endl;
6317  // delete dk;
6318 
6319  //D->K1(1270)-pi+, K1(1270)->K0*(1430)pi-
6320  dk = new DecayTree(421);
6321  dk->addDgtr(211, -10323)->addDgtr(-211, -10311)->addDgtr(310, 111);
6322  add(*dk);
6323  if(dbThis) cout << "Decay #" << decayCtr++ << endl << *dk << endl;
6324  delete dk;
6325 
6326  //D->K1(1270)-pi+, K1(1270)->K0*(1430)-pi0
6327  dk = new DecayTree(421);
6328  dk->addDgtr(211, -10323)->addDgtr(111, -10321)->addDgtr(310, -211);
6329  add(*dk);
6330  if(dbThis) cout << "Decay #" << decayCtr++ << endl << *dk << endl;
6331  delete dk;
6332 
6333  // name="D->K1(1270)-pi+, K1(1270)->K0*(892)pi-";
6334  dk = new DecayTree(421);
6335  dk->addDgtr(211, -10323)->addDgtr(-211, -313)->addDgtr(310, 111);
6336  add(*dk);
6337  if(dbThis) cout << "Decay #" << decayCtr++ << endl << *dk << endl;
6338  delete dk;
6339 
6340  // name="D->K1(1270)-pi+, K1(1270)->K*(892)- pi0";
6341  dk = new DecayTree(421);
6342  dk->addDgtr(211, -10323)->addDgtr(111, -323)->addDgtr(310, -211);
6343  add(*dk);
6344  if(dbThis) cout << "Decay #" << decayCtr++ << endl << *dk << endl;
6345  delete dk;
6346 
6347  // name="D->K1(1270)-pi+, K1(1270)->rho-K0";
6348  dk = new DecayTree(421);
6349  dk->addDgtr(211, -10323)->addDgtr(310, -213)->addDgtr(-211, 111);
6350  add(*dk);
6351  if(dbThis) cout << "Decay #" << decayCtr++ << endl << *dk << endl;
6352  delete dk;
6353 
6354  // K*0bar pi+ pi-
6355  dk = new DecayTree(421);
6356  dk->addDgtr(211);
6357  dk->addDgtr(-211,-313)->addDgtr(310, 111);
6358  add(*dk);
6359  if(dbThis) cout << "Decay #" << decayCtr++ << endl << *dk << endl;
6360  delete dk;
6361 
6362  return _trees.size();
6363 
6364 }
6365 //=========================================================================
6366 // create the decay of the type D0-> pi pi pi pi
6367 //=========================================================================
6369  // T.McKetterick
6370  bool dbThis=false;
6371 
6372  DecayTree* dk=0;
6373  DecayTree* a1=0;
6374 
6375  //D0 -> NV NT
6376  dk = new DecayTree(421);
6377  dk->addDgtr(9993)->addDgtr(211, -211);
6378  dk->addDgtr(9985)->addDgtr(211, -211);
6379  add(*dk);
6380  add(AmpInitialiser(*dk, "NonRes"));
6381  add(AmpInitialiser(*dk, "NonResExp"));
6382  delete dk;
6383 
6384  //D0 -> NV NS
6385  dk = new DecayTree(421);
6386  dk->addDgtr(9993)->addDgtr(211, -211);
6387  dk->addDgtr(9981)->addDgtr(211, -211);
6388  add(*dk);
6389  add(AmpInitialiser(*dk, "NonRes"));
6390  add(AmpInitialiser(*dk, "NonResExp"));
6391  add(AmpInitialiser(*dk, "MI_9983"));
6392  add(AmpInitialiser(*dk, "MI_9983NonResExp"));
6393  add(AmpInitialiser(*dk, "MI_9981"));
6394  add(AmpInitialiser(*dk, "MI_9981NonResExp"));
6395  delete dk;
6396 
6397  //D0 -> NV NS
6398  dk = new DecayTree(421);
6399  dk->addDgtr(9993)->addDgtr(-211, -211);
6400  dk->addDgtr(9981)->addDgtr(211, 211);
6401  add(*dk);
6402  add(AmpInitialiser(*dk, "NonRes"));
6403  add(AmpInitialiser(*dk, "NonResExp"));
6404  add(AmpInitialiser(*dk, "MI_9983"));
6405  add(AmpInitialiser(*dk, "MI_9983NonResExp"));
6406  add(AmpInitialiser(*dk, "MI_9981"));
6407  add(AmpInitialiser(*dk, "MI_9981NonResExp"));
6408  delete dk;
6409 
6410  //D0 -> NS NS
6411  dk = new DecayTree(421);
6412  dk->addDgtr(9981)->addDgtr(211, 211);
6413  dk->addDgtr(9981)->addDgtr(-211, -211);
6414  add(*dk);
6415  add(AmpInitialiser(*dk, "NonRes"));
6416  add(AmpInitialiser(*dk, "NonResExp"));
6417  delete dk;
6418 
6419  //D0 -> NS sigma
6420  dk = new DecayTree(421);
6421  dk->addDgtr(999001)->addDgtr(211, -211);
6422  dk->addDgtr(9981)->addDgtr(211, -211);
6423  add(*dk);
6424  add(AmpInitialiser(*dk, "NonRes"));
6425  add(AmpInitialiser(*dk, "NonResExp"));
6426  add(AmpInitialiser(*dk, "Bugg"));
6427  add(AmpInitialiser(*dk, "NonResExp"));
6428  delete dk;
6429 
6430  //D0 -> NS sigma
6431  dk = new DecayTree(421);
6432  dk->addDgtr(30221)->addDgtr(211, -211);
6433  dk->addDgtr(9981)->addDgtr(211, -211);
6434  add(*dk);
6435  add(AmpInitialiser(*dk, "NonRes"));
6436  add(AmpInitialiser(*dk, "NonResExp"));
6437  add(AmpInitialiser(*dk, "Bugg"));
6438  add(AmpInitialiser(*dk, "NonResExp"));
6439  delete dk;
6440 
6441  //D0 -> NV NV
6442  dk = new DecayTree(421);
6443  dk->addDgtr(9993)->addDgtr(211, -211);
6444  dk->addDgtr(9993)->addDgtr(211, -211);
6445  add(*dk);
6446  add(AmpInitialiser(*dk, "NonRes"));
6447  add(AmpInitialiser(*dk, "NonResExp"));
6448  dk->getVal().setL(1);
6449  add(*dk);
6450  add(AmpInitialiser(*dk, "NonRes"));
6451  add(AmpInitialiser(*dk, "NonResExp"));
6452  dk->getVal().setL(2);
6453  add(*dk);
6454  add(AmpInitialiser(*dk, "NonRes"));
6455  add(AmpInitialiser(*dk, "NonResExp"));
6456  delete dk;
6457 
6458  //D0 -> NV NV
6459  dk = new DecayTree(421);
6460  dk->addDgtr(9993)->addDgtr(211, 211);
6461  dk->addDgtr(9993)->addDgtr(-211, -211);
6462  add(*dk);
6463  add(AmpInitialiser(*dk, "NonRes"));
6464  add(AmpInitialiser(*dk, "NonResExp"));
6465  dk->getVal().setL(1);
6466  add(*dk);
6467  add(AmpInitialiser(*dk, "NonRes"));
6468  add(AmpInitialiser(*dk, "NonResExp"));
6469  dk->getVal().setL(2);
6470  add(*dk);
6471  add(AmpInitialiser(*dk, "NonRes"));
6472  add(AmpInitialiser(*dk, "NonResExp"));
6473  delete dk;
6474 
6475  //D0 -> NV rho
6476  dk = new DecayTree(421);
6477  dk->addDgtr(9993)->addDgtr(211, -211);
6478  dk->addDgtr(113)->addDgtr(211, -211);
6479  add(*dk);
6480  add(AmpInitialiser(*dk, "NonResGS"));
6481  add(AmpInitialiser(*dk, "NonResExpGS"));
6482  dk->getVal().setL(1);
6483  add(*dk);
6484  add(AmpInitialiser(*dk, "NonResGS"));
6485  add(AmpInitialiser(*dk, "NonResExpGS"));
6486  dk->getVal().setL(2);
6487  add(*dk);
6488  add(AmpInitialiser(*dk, "NonResGS"));
6489  add(AmpInitialiser(*dk, "NonResExpGS"));
6490  delete dk;
6491 
6492  //D0 -> NA pi-, NA->NV pi+
6493  dk = new DecayTree(421);
6494  dk->addDgtr(-211, 9983)->addDgtr(211, 9993)->addDgtr(211, -211);
6495  add(*dk);
6496  add(AmpInitialiser(*dk, "NonRes"));
6497  add(AmpInitialiser(*dk, "NonResExp"));
6498  add(AmpInitialiser(*dk, "MI_9983"));
6499  add(AmpInitialiser(*dk, "MI_9983NonResExp"));
6500  delete dk;
6501 
6502  //D0 -> NA pi-, NA->NT pi+
6503  dk = new DecayTree(421);
6504  dk->addDgtr(-211, 9983)->addDgtr(211, 9985)->addDgtr(211, -211);
6505  add(*dk);
6506  add(AmpInitialiser(*dk, "NonRes"));
6507  add(AmpInitialiser(*dk, "NonResExp"));
6508  add(AmpInitialiser(*dk, "MI_9983"));
6509  add(AmpInitialiser(*dk, "MI_9983NonResExp"));
6510  delete dk;
6511 
6512  //D0 -> NA pi-, NA->rho pi+
6513  dk = new DecayTree(421);
6514  dk->addDgtr(-211, 9983)->addDgtr(211, 113)->addDgtr(211, -211);
6515  add(*dk);
6516  add(AmpInitialiser(*dk, "NonResGS"));
6517  add(AmpInitialiser(*dk, "NonResPowGS"));
6518  add(AmpInitialiser(*dk, "NonResExpGS"));
6519  delete dk;
6520 
6521  dk = new DecayTree(421);
6522  dk->addDgtr(-211, 9983)->addDgtr(211, 100113)->addDgtr(211, -211);
6523  add(*dk);
6524  add(AmpInitialiser(*dk, "NonRes"));
6525  add(AmpInitialiser(*dk, "NonResPow"));
6526  add(AmpInitialiser(*dk, "NonResExp"));
6527  delete dk;
6528 
6529  dk = new DecayTree(421);
6530  a1 = new DecayTree(9983);
6531  a1->getVal().setL(2);
6532  a1->addDgtr(211, 113)->addDgtr(211, -211);
6533  dk->addDgtr(-211), dk->addDgtr(a1);
6534  add(*dk);
6535  this->add(AmpInitialiser(*dk, "GS"));
6536  add(AmpInitialiser(*dk, "NonResGS"));
6537  add(AmpInitialiser(*dk, "NonResPowGS"));
6538  add(AmpInitialiser(*dk, "NonResExpGS"));
6539  delete a1;
6540  delete dk;
6541 
6542  dk = new DecayTree(421);
6543  a1 = new DecayTree(9983);
6544  a1->getVal().setL(2);
6545  a1->addDgtr(211, 100113)->addDgtr(211, -211);
6546  dk->addDgtr(-211), dk->addDgtr(a1);
6547  add(*dk);
6548  add(AmpInitialiser(*dk, "NonRes"));
6549  add(AmpInitialiser(*dk, "NonResPow"));
6550  add(AmpInitialiser(*dk, "NonResExp"));
6551  delete a1;
6552  delete dk;
6553 
6554  //D0 -> NA pi-, NA->sigma pi+
6555  dk = new DecayTree(421);
6556  dk->addDgtr(-211, 9983)->addDgtr(211, 999001)->addDgtr(211, -211);
6557  add(*dk);
6558  add(AmpInitialiser(*dk, "NonRes"));
6559  add(AmpInitialiser(*dk, "NonResExp"));
6560  add(AmpInitialiser(*dk, "NonResBugg"));
6561  add(AmpInitialiser(*dk, "NonResExpBugg"));
6562  add(AmpInitialiser(*dk, "Bugg"));
6563  delete dk;
6564 
6565  //D0 -> NA pi-, NA->f0(1370) pi+
6566  dk = new DecayTree(421);
6567  dk->addDgtr(-211, 9983)->addDgtr(211, 30221)->addDgtr(211, -211);
6568  add(*dk);
6569  add(AmpInitialiser(*dk, "NonRes"));
6570  add(AmpInitialiser(*dk, "NonResExp"));
6571  add(AmpInitialiser(*dk, "NonResBugg"));
6572  add(AmpInitialiser(*dk, "NonResExpBugg"));
6573  delete dk;
6574 
6575  //D0 -> NA pi-, NA->f2(1270) pi+
6576  dk = new DecayTree(421);
6577  dk->addDgtr(-211, 9983)->addDgtr(211, 225)->addDgtr(211, -211);
6578  add(*dk);
6579  add(AmpInitialiser(*dk, "NonRes"));
6580  add(AmpInitialiser(*dk, "NonResExp"));
6581  delete dk;
6582 
6583  //D0 -> NV pi-, NV->rho pi+
6584  dk = new DecayTree(421);
6585  dk->addDgtr(-211, 9993)->addDgtr(211, 113)->addDgtr(211, -211);
6586  add(*dk);
6587  add(AmpInitialiser(*dk, "NonResGS"));
6588  add(AmpInitialiser(*dk, "NonResPowGS"));
6589  add(AmpInitialiser(*dk, "NonResExpGS"));
6590  delete dk;
6591 
6592  dk = new DecayTree(421);
6593  dk->addDgtr(-211, 9993)->addDgtr(211, 100113)->addDgtr(211, -211);
6594  add(*dk);
6595  add(AmpInitialiser(*dk, "NonRes"));
6596  add(AmpInitialiser(*dk, "NonResPow"));
6597  add(AmpInitialiser(*dk, "NonResExp"));
6598  delete dk;
6599 
6600  //D0 -> NPT pi-, NPT->rho pi+
6601  dk = new DecayTree(421);
6602  dk->addDgtr(-211, 9975)->addDgtr(211, 113)->addDgtr(211, -211);
6603  add(*dk);
6604  add(AmpInitialiser(*dk, "NonResGS"));
6605  add(AmpInitialiser(*dk, "NonResPowGS"));
6606  add(AmpInitialiser(*dk, "NonResExpGS"));
6607  delete dk;
6608 
6609  dk = new DecayTree(421);
6610  dk->addDgtr(-211, 9975)->addDgtr(211, 100113)->addDgtr(211, -211);
6611  add(*dk);
6612  add(AmpInitialiser(*dk, "NonRes"));
6613  add(AmpInitialiser(*dk, "NonResPow"));
6614  add(AmpInitialiser(*dk, "NonResExp"));
6615  delete dk;
6616 
6617  //D0 -> NPT pi-, NPT->sigma pi+
6618  dk = new DecayTree(421);
6619  dk->addDgtr(-211, 9975)->addDgtr(211, 999001)->addDgtr(211, -211);
6620  add(*dk);
6621  add(AmpInitialiser(*dk, "NonRes"));
6622  add(AmpInitialiser(*dk, "NonResExp"));
6623  add(AmpInitialiser(*dk, "NonResBugg"));
6624  add(AmpInitialiser(*dk, "NonResExpBugg"));
6625  add(AmpInitialiser(*dk, "Bugg"));
6626  delete dk;
6627 
6628  //D0 -> NPT pi-, NPT->f0(1370) pi+
6629  dk = new DecayTree(421);
6630  dk->addDgtr(-211, 9975)->addDgtr(211, 30221)->addDgtr(211, -211);
6631  add(*dk);
6632  add(AmpInitialiser(*dk, "NonRes"));
6633  add(AmpInitialiser(*dk, "NonResExp"));
6634  add(AmpInitialiser(*dk, "NonResBugg"));
6635  add(AmpInitialiser(*dk, "NonResExpBugg"));
6636  delete dk;
6637 
6638  //D0 -> NPT pi-, NPT->f2(1270) pi+
6639  dk = new DecayTree(421);
6640  dk->addDgtr(-211, 9975)->addDgtr(211, 225)->addDgtr(211, -211);
6641  add(*dk);
6642  add(AmpInitialiser(*dk, "NonRes"));
6643  add(AmpInitialiser(*dk, "NonResExp"));
6644  delete dk;
6645 
6646  //D0 -> NT pi-, NT->rho pi+
6647  dk = new DecayTree(421);
6648  dk->addDgtr(-211, 9985)->addDgtr(211, 113)->addDgtr(211, -211);
6649  add(*dk);
6650  add(AmpInitialiser(*dk, "NonResGS"));
6651  add(AmpInitialiser(*dk, "NonResPowGS"));
6652  add(AmpInitialiser(*dk, "NonResExpGS"));
6653  delete dk;
6654 
6655  dk = new DecayTree(421);
6656  dk->addDgtr(-211, 9985)->addDgtr(211, 100113)->addDgtr(211, -211);
6657  add(*dk);
6658  add(AmpInitialiser(*dk, "NonRes"));
6659  add(AmpInitialiser(*dk, "NonResPow"));
6660  add(AmpInitialiser(*dk, "NonResExp"));
6661  delete dk;
6662 
6663  //D0 -> NT pi-, NT->f2(1270) pi+
6664  dk = new DecayTree(421);
6665  dk->addDgtr(-211, 9985)->addDgtr(211, 225)->addDgtr(211, -211);
6666  add(*dk);
6667  add(AmpInitialiser(*dk, "NonRes"));
6668  add(AmpInitialiser(*dk, "NonResExp"));
6669  delete dk;
6670 
6671  //D0 -> NT NT
6672  dk = new DecayTree(421);
6673  dk->addDgtr(9985)->addDgtr(211, -211);
6674  dk->addDgtr(9985)->addDgtr(211, -211);
6675  add(*dk);
6676  add(AmpInitialiser(*dk, "NonRes"));
6677  add(AmpInitialiser(*dk, "NonResExp"));
6678  delete dk;
6679 
6680  //D0 -> NT NT
6681  dk = new DecayTree(421);
6682  dk->addDgtr(9985)->addDgtr(211, 211);
6683  dk->addDgtr(9985)->addDgtr(-211, -211);
6684  add(*dk);
6685  add(AmpInitialiser(*dk, "NonRes"));
6686  add(AmpInitialiser(*dk, "NonResExp"));
6687  delete dk;
6688 
6689  //D0 -> NT f2
6690  dk = new DecayTree(421);
6691  dk->addDgtr(9985)->addDgtr(211, -211);
6692  dk->addDgtr(225)->addDgtr(211, -211);
6693  add(*dk);
6694  add(AmpInitialiser(*dk, "NonRes"));
6695  add(AmpInitialiser(*dk, "NonResExp"));
6696  add(AmpInitialiser(*dk, "HistoPS_225"));
6697  delete dk;
6698 
6699  //D0 -> a1(1260)pi-, a1(1260)->rho(770)pi+, rho->pi+pi- [S-WAVE]
6700  dk = new DecayTree(421);
6701  dk->addDgtr(-211, 20213)->addDgtr(211, 113)->addDgtr(211, -211);
6702  add(*dk);
6703  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
6704  this->add(AmpInitialiser(*dk, "GS"));
6705  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
6706  this->add(AmpInitialiser(*dk, "MI_20213"));
6707  this->add(AmpInitialiser(*dk, "MI_20213GS"));
6708  delete dk;
6709 
6710  //D0 -> a1(1260)pi-, a1(1260)->rho(770)pi+, rho->pi+pi- [D-WAVE decay of a1]
6711  dk = new DecayTree(421);
6712  a1 = new DecayTree(20213);
6713  a1->getVal().setL(2);
6714  a1->addDgtr(211, 113)->addDgtr(211, -211);
6715  dk->addDgtr(-211), dk->addDgtr(a1);
6716  add(*dk);
6717  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
6718  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
6719  this->add(AmpInitialiser(*dk, "GS"));
6720  this->add(AmpInitialiser(*dk, "MI_20213"));
6721  this->add(AmpInitialiser(*dk, "MI_20213GS"));
6722  delete a1;
6723  delete dk;
6724 
6725  //D0 -> a1(1260)pi-, a1(1260)->rho(1450)pi+, rho->pi+pi- [S-WAVE]
6726  dk = new DecayTree(421);
6727  dk->addDgtr(-211, 20213)->addDgtr(211, 100113)->addDgtr(211, -211);
6728  add(*dk);
6729  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
6730  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
6731  this->add(AmpInitialiser(*dk, "GS"));
6732  this->add(AmpInitialiser(*dk, "MI_20213"));
6733  delete dk;
6734 
6735  //D0 -> a1(1260)pi-, a1(1260)->rho(1450)pi+, rho->pi+pi- [D-WAVE decay of a1]
6736  dk = new DecayTree(421);
6737  a1 = new DecayTree(20213);
6738  a1->getVal().setL(2);
6739  a1->addDgtr(211, 100113)->addDgtr(211, -211);
6740  dk->addDgtr(-211), dk->addDgtr(a1);
6741  add(*dk);
6742  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
6743  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
6744  this->add(AmpInitialiser(*dk, "GS"));
6745  this->add(AmpInitialiser(*dk, "MI_20213"));
6746  delete a1;
6747  delete dk;
6748 
6749  //D0 -> a1(1260)pi-, a1(1260)->sigma_1 pi+
6750  dk = new DecayTree(421);
6751  dk->addDgtr(-211, 20213)->addDgtr(211,999001)->addDgtr(211, -211);
6752  add(*dk);
6753  this->add(AmpInitialiser(*dk, "Bugg"));
6754  this->add(AmpInitialiser(*dk, "MI_20213"));
6755  this->add(AmpInitialiser(*dk, "MI_20213Bugg"));
6756  this->add(AmpInitialiser(*dk, "MI_999001"));
6757  delete dk;
6758 
6759  //D0 -> a1(1260)pi-, a1(1260)->f2(1270) pi+, rho->pi+pi-
6760  dk = new DecayTree(421);
6761  dk->addDgtr(-211, 20213)->addDgtr(211,225)->addDgtr(211, -211);
6762  add(*dk);
6763  this->add(AmpInitialiser(*dk, "HistoPS_225"));
6764  add(AmpInitialiser(*dk, "HistoPS_225"));
6765  delete dk;
6766 
6767  //D0 -> a1(1260)pi-, a1(1260)->f0(1370) pi+
6768  dk = new DecayTree(421);
6769  dk->addDgtr(-211, 20213)->addDgtr(211,30221)->addDgtr(211, -211);
6770  add(*dk);
6771  add(AmpInitialiser(*dk, "HistoPS_30221"));
6772  add(AmpInitialiser(*dk, "Bugg"));
6773  delete dk;
6774 
6775  //D0 -> a1(1260)pi-, a1(1260)->f0(980) pi+
6776  dk = new DecayTree(421);
6777  dk->addDgtr(-211, 20213)->addDgtr(211,9010221)->addDgtr(211, -211);
6778  add(*dk);
6779  this->add(AmpInitialiser(*dk,"Flatte"));
6780  delete dk;
6781 
6782  //D0 -> a1(1260)pi-, a1(1260)->NS pi+
6783  dk = new DecayTree(421);
6784  dk->addDgtr(-211, 20213)->addDgtr(211,9981)->addDgtr(211, -211);
6785  add(*dk);
6786  this->add(AmpInitialiser(*dk,"NonRes"));
6787  this->add(AmpInitialiser(*dk,"NonResExp"));
6788  this->add(AmpInitialiser(*dk,"TopHats"));
6789  delete dk;
6790 
6791  //D0 -> a1(1420)pi-, a1(1420)->f0(980) pi+
6792  dk = new DecayTree(421);
6793  dk->addDgtr(-211, 99920213)->addDgtr(211,9010221)->addDgtr(211, -211);
6794  add(*dk);
6795  this->add(AmpInitialiser(*dk,"Flatte"));
6796  delete dk;
6797 
6798  //D0 -> a1Bkg pi-, a1->rho(770)pi+, rho->pi+pi- [S-WAVE]
6799  dk = new DecayTree(421);
6800  dk->addDgtr(-211, 920213)->addDgtr(211, 113)->addDgtr(211, -211);
6801  add(*dk);
6802  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
6803  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
6804  this->add(AmpInitialiser(*dk, "GS"));
6805  delete dk;
6806 
6807  //D0 -> a1Bkg pi-, a1->rho(770)pi+, rho->pi+pi- [D-WAVE decay of a1]
6808  dk = new DecayTree(421);
6809  a1 = new DecayTree(920213);
6810  a1->getVal().setL(2);
6811  a1->addDgtr(211, 113)->addDgtr(211, -211);
6812  dk->addDgtr(-211), dk->addDgtr(a1);
6813  add(*dk);
6814  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
6815  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
6816  this->add(AmpInitialiser(*dk, "GS"));
6817  delete a1;
6818  delete dk;
6819 
6820  //D0 -> a1Bkg pi-, a1->rho(1450)pi+, rho->pi+pi- [S-WAVE]
6821  dk = new DecayTree(421);
6822  dk->addDgtr(-211, 920213)->addDgtr(211, 100113)->addDgtr(211, -211);
6823  add(*dk);
6824  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
6825  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
6826  this->add(AmpInitialiser(*dk, "GS"));
6827  delete dk;
6828 
6829  //D0 -> a1Bkg pi-, a1->rho(1450)pi+, rho->pi+pi- [D-WAVE decay of a1]
6830  dk = new DecayTree(421);
6831  a1 = new DecayTree(920213);
6832  a1->getVal().setL(2);
6833  a1->addDgtr(211, 100113)->addDgtr(211, -211);
6834  dk->addDgtr(-211), dk->addDgtr(a1);
6835  add(*dk);
6836  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
6837  this->add(AmpInitialiser(*dk, "GS"));
6838  delete a1;
6839  delete dk;
6840 
6841  //D0 -> a1Bkg pi-, a1->sigma_1 pi+, rho->pi+pi-
6842  dk = new DecayTree(421);
6843  dk->addDgtr(-211, 920213)->addDgtr(211,999001)->addDgtr(211, -211);
6844  add(*dk);
6845  this->add(AmpInitialiser(*dk, "Bugg"));
6846  delete dk;
6847 
6848  //D0 -> a1Bkg pi-, a1->f2(1270) pi+, rho->pi+pi-
6849  dk = new DecayTree(421);
6850  dk->addDgtr(-211, 920213)->addDgtr(211,225)->addDgtr(211, -211);
6851  add(*dk);
6852  delete dk;
6853 
6854  //D0 -> a1Bkg pi-, a1->f0(1370) pi+
6855  dk = new DecayTree(421);
6856  dk->addDgtr(-211, 920213)->addDgtr(211,30221)->addDgtr(211, -211);
6857  add(*dk);
6858  delete dk;
6859 
6860 
6861  //D0 -> a1(1640) pi-, a1->rho(770)pi+, rho->pi+pi- [S-WAVE]
6862  dk = new DecayTree(421);
6863  dk->addDgtr(-211, 9920213)->addDgtr(211, 113)->addDgtr(211, -211);
6864  add(*dk);
6865  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
6866  this->add(AmpInitialiser(*dk, "GS"));
6867  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
6868  this->add(AmpInitialiser(*dk, "SBW_"));
6869  this->add(AmpInitialiser(*dk, "MI_9920213"));
6870  this->add(AmpInitialiser(*dk, "MI_9920213GS"));
6871  delete dk;
6872 
6873  //D0 -> a1(1640) pi-, a1->rho(770)pi+, rho->pi+pi- [D-WAVE decay of a1]
6874  dk = new DecayTree(421);
6875  a1 = new DecayTree(9920213);
6876  a1->getVal().setL(2);
6877  a1->addDgtr(211, 113)->addDgtr(211, -211);
6878  dk->addDgtr(-211), dk->addDgtr(a1);
6879  add(*dk);
6880  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
6881  this->add(AmpInitialiser(*dk, "GS"));
6882  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
6883  this->add(AmpInitialiser(*dk, "MI_9920213"));
6884  delete a1;
6885  delete dk;
6886 
6887  //D0 -> a1(1640) pi-, a1->rho(1450)pi+, rho->pi+pi- [S-WAVE]
6888  dk = new DecayTree(421);
6889  dk->addDgtr(-211, 9920213)->addDgtr(211, 100113)->addDgtr(211, -211);
6890  add(*dk);
6891  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
6892  this->add(AmpInitialiser(*dk, "GS"));
6893  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
6894  this->add(AmpInitialiser(*dk, "SBW_"));
6895  delete dk;
6896 
6897  //D0 -> a1(1640) pi-, a1->rho(1450)pi+, rho->pi+pi- [D-WAVE decay of a1]
6898  dk = new DecayTree(421);
6899  a1 = new DecayTree(9920213);
6900  a1->getVal().setL(2);
6901  a1->addDgtr(211, 100113)->addDgtr(211, -211);
6902  dk->addDgtr(-211), dk->addDgtr(a1);
6903  add(*dk);
6904  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
6905  this->add(AmpInitialiser(*dk, "GS"));
6906  delete a1;
6907  delete dk;
6908 
6909  //D0 -> a1(1640) pi-, a1(1640)->sigma_1 pi+, rho->pi+pi-
6910  dk = new DecayTree(421);
6911  dk->addDgtr(-211, 9920213)->addDgtr(211,999001)->addDgtr(211, -211);
6912  add(*dk);
6913  this->add(AmpInitialiser(*dk, "Bugg"));
6914  this->add(AmpInitialiser(*dk, "MI_9920213"));
6915  this->add(AmpInitialiser(*dk, "MI_9920213Bugg"));
6916  delete dk;
6917 
6918  //D0 -> a1(1640) pi-, a1(1640)->f2(1270) pi+, rho->pi+pi-
6919  dk = new DecayTree(421);
6920  dk->addDgtr(-211, 9920213)->addDgtr(211,225)->addDgtr(211, -211);
6921  add(*dk);
6922  this->add(AmpInitialiser(*dk, "HistoPS_225"));
6923  add(AmpInitialiser(*dk, "HistoPS_225"));
6924  delete dk;
6925 
6926  //D0 -> a1(1640) pi-, a1(1640)->f0(1370) pi+
6927  dk = new DecayTree(421);
6928  dk->addDgtr(-211, 9920213)->addDgtr(211,30221)->addDgtr(211, -211);
6929  add(*dk);
6930  add(AmpInitialiser(*dk, "HistoPS_30221"));
6931  delete dk;
6932 
6933  //D0 -> rho(770)rho(770), rho(770)->pi+pi- [S-WAVE]
6934  dk = new DecayTree(421);
6935  dk->addDgtr(113)->addDgtr(211, -211);
6936  dk->addDgtr(113)->addDgtr(211, -211);
6937  add(*dk);
6938  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
6939  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
6940  this->add(AmpInitialiser(*dk, "GS"));
6941  delete dk;
6942 
6943  //D0 -> rho(770)rho(770), rho(770)->pi+pi- [P-WAVE]
6944  dk = new DecayTree(421);
6945  dk->addDgtr(113)->addDgtr(211, -211);
6946  dk->addDgtr(113)->addDgtr(211, -211);
6947  dk->getVal().setL(1);
6948  add(*dk);
6949  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
6950  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
6951  this->add(AmpInitialiser(*dk, "GS"));
6952  delete dk;
6953 
6954  //D0 -> rho(770)rho(770), rho(770)->pi+pi- [D-WAVE]
6955  dk = new DecayTree(421);
6956  dk->addDgtr(113)->addDgtr(211, -211);
6957  dk->addDgtr(113)->addDgtr(211, -211);
6958  dk->getVal().setL(2);
6959  add(*dk);
6960  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
6961  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
6962  this->add(AmpInitialiser(*dk, "GS"));
6963  delete dk;
6964 
6965  //D0 -> rho(1450)rho(770), rho(770)->pi+pi- [S-WAVE]
6966  dk = new DecayTree(421);
6967  dk->addDgtr(100113)->addDgtr(211, -211);
6968  dk->addDgtr(113)->addDgtr(211, -211);
6969  add(*dk);
6970  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
6971  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
6972  this->add(AmpInitialiser(*dk, "GS"));
6973  delete dk;
6974 
6975  //D0 -> rho(1450)rho(770), rho(770)->pi+pi- [P-WAVE]
6976  dk = new DecayTree(421);
6977  dk->addDgtr(100113)->addDgtr(211, -211);
6978  dk->addDgtr(113)->addDgtr(211, -211);
6979  dk->getVal().setL(1);
6980  add(*dk);
6981  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
6982  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
6983  this->add(AmpInitialiser(*dk, "GS"));
6984  delete dk;
6985 
6986  //D0 -> rho(1450)rho(770), rho(770)->pi+pi- [D-WAVE]
6987  dk = new DecayTree(421);
6988  dk->addDgtr(100113)->addDgtr(211, -211);
6989  dk->addDgtr(113)->addDgtr(211, -211);
6990  dk->getVal().setL(2);
6991  add(*dk);
6992  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
6993  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
6994  this->add(AmpInitialiser(*dk, "GS"));
6995  delete dk;
6996 
6997  //D0 -> rho(1450)rho(1450), rho(770)->pi+pi- [S-WAVE]
6998  dk = new DecayTree(421);
6999  dk->addDgtr(100113)->addDgtr(211, -211);
7000  dk->addDgtr(100113)->addDgtr(211, -211);
7001  add(*dk);
7002  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
7003  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
7004  this->add(AmpInitialiser(*dk, "GS"));
7005  delete dk;
7006 
7007  //D0 -> rho(1450)rho(1450), rho(1450)->pi+pi- [P-WAVE]
7008  dk = new DecayTree(421);
7009  dk->addDgtr(100113)->addDgtr(211, -211);
7010  dk->addDgtr(100113)->addDgtr(211, -211);
7011  dk->getVal().setL(1);
7012  add(*dk);
7013  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
7014  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
7015  this->add(AmpInitialiser(*dk, "GS"));
7016  delete dk;
7017 
7018  //D0 -> rho(1450)rho(1450), rho(770)->pi+pi- [D-WAVE]
7019  dk = new DecayTree(421);
7020  dk->addDgtr(100113)->addDgtr(211, -211);
7021  dk->addDgtr(100113)->addDgtr(211, -211);
7022  dk->getVal().setL(2);
7023  add(*dk);
7024  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
7025  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
7026  this->add(AmpInitialiser(*dk, "GS"));
7027  delete dk;
7028 
7029  //D0 -> f0(980)pi-pi+, f0(980)->pi+pi-
7030  dk = new DecayTree(421);
7031  dk->addDgtr(9010221)->addDgtr(211, -211);
7032  dk->addDgtr(9010221)->addDgtr(211, -211);
7033  add(*dk);
7034  add(AmpInitialiser(*dk, "Flatte"));
7035  delete dk;
7036 
7037  //D0 -> f0(980)pi-pi+, NS
7038  dk = new DecayTree(421);
7039  dk->addDgtr(9010221)->addDgtr(211, -211);
7040  dk->addDgtr(9981)->addDgtr(211, -211);
7041  add(*dk);
7042  add(AmpInitialiser(*dk, "NonResExpFlatte"));
7043  add(AmpInitialiser(*dk, "Flatte"));
7044  delete dk;
7045 
7046  dk = new DecayTree(421);
7047  dk->addDgtr(9010221)->addDgtr(211, -211);
7048  dk->addDgtr(9991)->addDgtr(211, -211);
7049  add(*dk);
7050  add(AmpInitialiser(*dk, "NonResExpFlatte"));
7051  add(AmpInitialiser(*dk, "Flatte"));
7052  delete dk;
7053 
7054  //D0 -> f0(1370)pi-pi+, f0(980)->pi+pi-
7055  dk = new DecayTree(421);
7056  dk->addDgtr(30221)->addDgtr(211, -211);
7057  dk->addDgtr(9010221)->addDgtr(211, -211);
7058  add(*dk);
7059  add(AmpInitialiser(*dk, "Flatte"));
7060  add(AmpInitialiser(*dk, "FlatteBugg"));
7061  add(AmpInitialiser(*dk, "FlatteHistoPS_30221"));
7062  add(AmpInitialiser(*dk, "HistoPS_30221"));
7063  delete dk;
7064 
7065  //D0 -> f0(1500)pi-pi+, f0(980)->pi+pi-
7066  dk = new DecayTree(421);
7067  dk->addDgtr(9030221)->addDgtr(211, -211);
7068  dk->addDgtr(9010221)->addDgtr(211, -211);
7069  add(*dk);
7070  add(AmpInitialiser(*dk, "Flatte"));
7071  add(AmpInitialiser(*dk, "FlatteBugg"));
7072  delete dk;
7073 
7074  //D0 -> f0(1370)pi-pi+, f0(1370)->pi+pi-
7075  dk = new DecayTree(421);
7076  dk->addDgtr(30221)->addDgtr(211, -211);
7077  dk->addDgtr(30221)->addDgtr(211, -211);
7078  add(*dk);
7079  add(AmpInitialiser(*dk, "Bugg"));
7080  add(AmpInitialiser(*dk, "HistoPS_30221"));
7081  delete dk;
7082 
7083  //D0 -> f0(1370)pi-pi+, f0(1500)->pi+pi-
7084  dk = new DecayTree(421);
7085  dk->addDgtr(9030221)->addDgtr(211, -211);
7086  dk->addDgtr(30221)->addDgtr(211, -211);
7087  add(*dk);
7088  add(AmpInitialiser(*dk, "Bugg"));
7089  add(AmpInitialiser(*dk, "HistoPS_30221"));
7090  delete dk;
7091 
7092  //D0 -> f0(1500)pi-pi+, f0(1500)->pi+pi-
7093  dk = new DecayTree(421);
7094  dk->addDgtr(9030221)->addDgtr(211, -211);
7095  dk->addDgtr(9030221)->addDgtr(211, -211);
7096  add(*dk);
7097  add(AmpInitialiser(*dk, "Bugg"));
7098  delete dk;
7099 
7100  //D0 -> sigma_1 pi-pi+, sigma_1->pi+pi-
7101  dk = new DecayTree(421);
7102  dk->addDgtr(999001)->addDgtr(211, -211);
7103  dk->addDgtr(999001)->addDgtr(211, -211);
7104  add(*dk);
7105  this->add(AmpInitialiser(*dk, "Bugg"));
7106  this->add(AmpInitialiser(*dk, "MI_999001"));
7107  delete dk;
7108 
7109  //D0 -> f0(980)->pi-pi+, sigma_1->pi+pi-
7110  dk = new DecayTree(421);
7111  dk->addDgtr(9010221)->addDgtr(211, -211);
7112  dk->addDgtr(999001)->addDgtr(211, -211);
7113  add(*dk);
7114  this->add(AmpInitialiser(*dk, "Flatte"));
7115  this->add(AmpInitialiser(*dk, "BuggFlatte"));
7116  this->add(AmpInitialiser(*dk, "MI_999001Flatte"));
7117  this->add(AmpInitialiser(*dk, "Bugg"));
7118  this->add(AmpInitialiser(*dk, "MI_999001"));
7119  delete dk;
7120 
7121  //D0 -> f0(1370)->pi-pi+, sigma_1->pi+pi-
7122  dk = new DecayTree(421);
7123  dk->addDgtr(30221)->addDgtr(211, -211);
7124  dk->addDgtr(999001)->addDgtr(211, -211);
7125  add(*dk);
7126  this->add(AmpInitialiser(*dk, "Bugg"));
7127  this->add(AmpInitialiser(*dk, "MI_999001"));
7128  add(AmpInitialiser(*dk, "HistoPS_30221"));
7129  add(AmpInitialiser(*dk, "BuggHistoPS_30221"));
7130  delete dk;
7131 
7132  //D0 -> f0(1500)->pi-pi+, sigma_1->pi+pi-
7133  dk = new DecayTree(421);
7134  dk->addDgtr(9030221)->addDgtr(211, -211);
7135  dk->addDgtr(999001)->addDgtr(211, -211);
7136  add(*dk);
7137  this->add(AmpInitialiser(*dk, "Bugg"));
7138  this->add(AmpInitialiser(*dk, "MI_999001"));
7139  delete dk;
7140 
7141  //D0 -> sigma_1 pi-pi+, NS->pi+pi-
7142  dk = new DecayTree(421);
7143  dk->addDgtr(9981)->addDgtr(211, -211);
7144  dk->addDgtr(999001)->addDgtr(211, -211);
7145  add(*dk);
7146  this->add(AmpInitialiser(*dk, "Bugg"));
7147  this->add(AmpInitialiser(*dk, "NonResExp"));
7148  this->add(AmpInitialiser(*dk, "BuggNonResExp"));
7149  if(dbThis) cout << "sixth decay: " << *dk << endl;
7150  delete dk;
7151 
7152  //D0 -> pi+pi-pi+pi- Added by JBenton
7153  dk = new DecayTree(421);
7154  dk->addDgtr(211, -211, 211, -211);
7155  add(*dk);
7156  delete dk;
7157 
7158  //D0 -> a1(1260)pi-, a1(1260)->omega(782) pi+, rho->pi+pi- Added by JBenton
7159  dk = new DecayTree(421);
7160  dk->addDgtr(-211, 20213)->addDgtr(211,223)->addDgtr(211, -211);
7161  add(*dk);
7162  delete dk;
7163 
7164  //D0 -> omega(782)omega(782), omega(782)->pi+pi- Added by JBenton
7165  dk = new DecayTree(421);
7166  dk->addDgtr(223)->addDgtr(211, -211);
7167  dk->addDgtr(223)->addDgtr(211, -211);
7168  add(*dk);
7169  delete dk;
7170 
7171  //D0 -> omega(782)rho(770), rho(770)->pi+pi- Added by JBenton
7172  dk = new DecayTree(421);
7173  dk->addDgtr(223)->addDgtr(211, -211);
7174  dk->addDgtr(113)->addDgtr(211, -211);
7175  add(*dk);
7176  delete dk;
7177 
7178  //D0 -> sigma_1 rho(770), rho(770)->pi+pi- Added by JBenton
7179  dk = new DecayTree(421);
7180  dk->addDgtr(999001)->addDgtr(211, -211);
7181  dk->addDgtr(113)->addDgtr(211, -211);
7182  add(*dk);
7183  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
7184  this->add(AmpInitialiser(*dk, "GS"));
7185  this->add(AmpInitialiser(*dk, "Bugg"));
7186  this->add(AmpInitialiser(*dk, "BuggGS"));
7187  this->add(AmpInitialiser(*dk, "BuggRHO_OMEGA"));
7188  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
7189  this->add(AmpInitialiser(*dk, "BuggRhoOmegaGS"));
7190  this->add(AmpInitialiser(*dk, "MI_999001"));
7191  this->add(AmpInitialiser(*dk, "MI_999001GS"));
7192  delete dk;
7193 
7194  //D0 -> f0(980) rho(770), rho(770)->pi+pi-
7195  dk = new DecayTree(421);
7196  dk->addDgtr(9010221)->addDgtr(211, -211);
7197  dk->addDgtr(113)->addDgtr(211, -211);
7198  add(*dk);
7199  this->add(AmpInitialiser(*dk, "GS"));
7200  this->add(AmpInitialiser(*dk, "Flatte"));
7201  this->add(AmpInitialiser(*dk, "FlatteGS"));
7202  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
7203  this->add(AmpInitialiser(*dk, "FlatteRhoOmegaGS"));
7204  delete dk;
7205 
7206  //D0 -> f0(1370) rho(770), rho(770)->pi+pi-
7207  dk = new DecayTree(421);
7208  dk->addDgtr(30221)->addDgtr(211, -211);
7209  dk->addDgtr(113)->addDgtr(211, -211);
7210  add(*dk);
7211  this->add(AmpInitialiser(*dk, "GS"));
7212  this->add(AmpInitialiser(*dk, "Bugg"));
7213  this->add(AmpInitialiser(*dk, "BuggGS"));
7214  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
7215  this->add(AmpInitialiser(*dk, "BuggRhoOmegaGS"));
7216  add(AmpInitialiser(*dk, "HistoPS_30221"));
7217  add(AmpInitialiser(*dk, "GSHistoPS_30221"));
7218  delete dk;
7219 
7220  //D0 -> f0(1500) rho(770), rho(770)->pi+pi-
7221  dk = new DecayTree(421);
7222  dk->addDgtr(9030221)->addDgtr(211, -211);
7223  dk->addDgtr(113)->addDgtr(211, -211);
7224  add(*dk);
7225  this->add(AmpInitialiser(*dk, "GS"));
7226  this->add(AmpInitialiser(*dk, "Bugg"));
7227  this->add(AmpInitialiser(*dk, "BuggGS"));
7228  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
7229  this->add(AmpInitialiser(*dk, "BuggRhoOmegaGS"));
7230  delete dk;
7231 
7232  //D0 -> rho(770) pi-pi+, rho(770)->NonRes pi+pi- Added by JBenton
7233  dk = new DecayTree(421);
7234  dk->addDgtr(113)->addDgtr(211, -211);
7235  dk->addDgtr(9993)->addDgtr(211, -211);
7236  add(*dk);
7237  add(AmpInitialiser(*dk, "NonResExp"));
7238  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
7239  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
7240  this->add(AmpInitialiser(*dk, "GS"));
7241  if(dbThis) cout << "eleventh decay: " << *dk << endl;
7242  delete dk;
7243 
7244  //D0 -> omega(782) pi-pi+, omega(782)->NonRes pi+pi- Added by JBenton
7245  dk = new DecayTree(421);
7246  dk->addDgtr(223)->addDgtr(211, -211);
7247  dk->addDgtr(9993)->addDgtr(211, -211);
7248  add(*dk);
7249  delete dk;
7250 
7251  // D0 -> f0(1370) pi-pi+, fo(1370)->NonRes pi+pi-
7252  dk = new DecayTree(421);
7253  dk->addDgtr(30221)->addDgtr(211, -211);
7254  dk->addDgtr(9993)->addDgtr(211, -211);
7255  add(*dk);
7256  add(AmpInitialiser(*dk, "NonResExp"));
7257  add(AmpInitialiser(*dk, "HistoPS_30221"));
7258  delete dk;
7259 
7260  // D0 -> f0(1370)Bkg pi-pi+, fo(1370)->NonRes pi+pi-
7261  dk = new DecayTree(421);
7262  dk->addDgtr(930221)->addDgtr(211, -211);
7263  dk->addDgtr(9993)->addDgtr(211, -211);
7264  add(*dk);
7265  add(AmpInitialiser(*dk, "NonResExp"));
7266  delete dk;
7267 
7268  // D0 -> rho(1450) pi-pi+, rho(1450)->NonRes pi+pi-
7269  dk = new DecayTree(421);
7270  dk->addDgtr(100113)->addDgtr(211, -211);
7271  dk->addDgtr(9993)->addDgtr(211, -211);
7272  add(*dk);
7273  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
7274  this->add(AmpInitialiser(*dk, "GS"));
7275  delete dk;
7276 
7277  // added on 9 Oct 2013, using new/refurbished spin factors (mainly tensor/pseudo tensor)
7278 
7279  // D0 -> pi(1300)+ pi-, pi(1300)+ ->rho(770) pi+, rhp(770) -> pi+pi-
7280  dk = new DecayTree(421);
7281  dk->addDgtr(-211,100211)->addDgtr(211, 113)->addDgtr(211, -211);
7282  add(*dk);
7283  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
7284  this->add(AmpInitialiser(*dk, "GS"));
7285  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
7286  this->add(AmpInitialiser(*dk, "MI_100211"));
7287  delete dk;
7288 
7289  // D0 -> pi(1300)+ pi-, pi(1300)+ ->sigma pi+
7290  dk = new DecayTree(421);
7291  dk->addDgtr(-211,100211)->addDgtr(211, 999001)->addDgtr(211, -211);
7292  add(*dk);
7293  this->add(AmpInitialiser(*dk, "Bugg"));
7294  this->add(AmpInitialiser(*dk, "MI_999001"));
7295  this->add(AmpInitialiser(*dk, "MI_100211"));
7296  delete dk;
7297 
7298  // D0 -> pi(1300)+ pi-, pi(1300)+ ->NS pi+
7299  dk = new DecayTree(421);
7300  dk->addDgtr(-211,100211)->addDgtr(211, 9981)->addDgtr(211, -211);
7301  add(*dk);
7302  add(AmpInitialiser(*dk, "NonResExp"));
7303  this->add(AmpInitialiser(*dk, "MI_100211"));
7304  delete dk;
7305 
7306  // D0 -> pi(1300)+ pi-, pi(1300)+ ->NV pi+
7307  dk = new DecayTree(421);
7308  dk->addDgtr(-211,100211)->addDgtr(211, 9993)->addDgtr(211, -211);
7309  add(*dk);
7310  this->add(AmpInitialiser(*dk, "MI_100211"));
7311  delete dk;
7312 
7313  // D0 -> pi(1600)+ pi-, pi(1600)+ ->rho(770) pi+, rhp(770) -> pi+pi-
7314  dk = new DecayTree(421);
7315  dk->addDgtr(-211,9010213)->addDgtr(211, 113)->addDgtr(211, -211);
7316  add(*dk);
7317  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
7318  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
7319  this->add(AmpInitialiser(*dk, "GS"));
7320  delete dk;
7321 
7322  // D0 -> pi(1600)+ pi-, pi(1600)+ ->sigma pi+
7323  dk = new DecayTree(421);
7324  dk->addDgtr(-211,9010213)->addDgtr(211, 999001)->addDgtr(211, -211);
7325  add(*dk);
7326  this->add(AmpInitialiser(*dk, "Bugg"));
7327  delete dk;
7328 
7329  // D0 -> pi(1600)+ pi-, pi(1600)+ ->NS pi+
7330  dk = new DecayTree(421);
7331  dk->addDgtr(-211,9010213)->addDgtr(211, 9981)->addDgtr(211, -211);
7332  add(*dk);
7333  add(AmpInitialiser(*dk, "NonResExp"));
7334  delete dk;
7335 
7336  // D0 -> pi(1600)+ pi-, pi(1600)+ ->NV pi+
7337  dk = new DecayTree(421);
7338  dk->addDgtr(-211,9010213)->addDgtr(211, 9993)->addDgtr(211, -211);
7339  add(*dk);
7340  delete dk;
7341 
7342  // D0 -> pi(1600)+ pi-, pi(1600)+ ->NV pi+
7343  dk = new DecayTree(421);
7344  dk->addDgtr(-211,9010213)->addDgtr(211, 225)->addDgtr(211, -211);
7345  add(*dk);
7346  delete dk;
7347 
7348  // D-> f2(1270) NS
7349  dk = new DecayTree(421);
7350  dk->addDgtr(225)->addDgtr(211, -211);
7351  dk->addDgtr(9981)->addDgtr(211, -211);
7352  add(*dk);
7353  add(AmpInitialiser(*dk, "NonResExp"));
7354  add(AmpInitialiser(*dk, "HistoPS_225"));
7355  delete dk;
7356 
7357  dk = new DecayTree(421);
7358  dk->addDgtr(225)->addDgtr(211, -211);
7359  dk->addDgtr(9991)->addDgtr(211, -211);
7360  add(*dk);
7361  add(AmpInitialiser(*dk, "NonResExp"));
7362  add(AmpInitialiser(*dk, "HistoPS_225"));
7363  delete dk;
7364 
7365  // D-> f2(1270) sigma
7366  dk = new DecayTree(421);
7367  dk->addDgtr(225)->addDgtr(211, -211);
7368  dk->addDgtr(999001)->addDgtr(211, -211);
7369  add(*dk);
7370  add(AmpInitialiser(*dk, "Bugg"));
7371  add(AmpInitialiser(*dk, "BuggHistoPS_225"));
7372  add(AmpInitialiser(*dk, "HistoPS_225"));
7373  delete dk;
7374 
7375  // D-> f2(1270) f0(980)
7376  dk = new DecayTree(421);
7377  dk->addDgtr(225)->addDgtr(211, -211);
7378  dk->addDgtr(9010221)->addDgtr(211, -211);
7379  add(*dk);
7380  add(AmpInitialiser(*dk, "Flatte"));
7381  add(AmpInitialiser(*dk, "HistoPS_225"));
7382  add(AmpInitialiser(*dk, "FlatteHistoPS_225"));
7383  delete dk;
7384 
7385  // D-> f2(1270) f0(1370)
7386  dk = new DecayTree(421);
7387  dk->addDgtr(225)->addDgtr(211, -211);
7388  dk->addDgtr(30221)->addDgtr(211, -211);
7389  add(*dk);
7390  add(AmpInitialiser(*dk, "Bugg"));
7391  add(AmpInitialiser(*dk, "BuggHistoPS_225"));
7392  add(AmpInitialiser(*dk, "HistoPS_225"));
7393  add(AmpInitialiser(*dk, "HistoPS_225"));
7394  add(AmpInitialiser(*dk, "HistoPS_225_HistoPS_30221"));
7395  add(AmpInitialiser(*dk, "HistoPS_30221"));
7396  delete dk;
7397 
7398  // D-> f2(1270) f0(1500)
7399  dk = new DecayTree(421);
7400  dk->addDgtr(225)->addDgtr(211, -211);
7401  dk->addDgtr(9030221)->addDgtr(211, -211);
7402  add(*dk);
7403  add(AmpInitialiser(*dk, "Bugg"));
7404  add(AmpInitialiser(*dk, "BuggHistoPS_225"));
7405  add(AmpInitialiser(*dk, "HistoPS_225"));
7406  delete dk;
7407 
7408  // D-> f2(1270) rho
7409  dk = new DecayTree(421);
7410  dk->addDgtr(225)->addDgtr(211, -211);
7411  dk->addDgtr(113)->addDgtr(211, -211);
7412  add(*dk);
7413  add(AmpInitialiser(*dk, "GS"));
7414  add(AmpInitialiser(*dk, "HistoPS_225"));
7415  add(AmpInitialiser(*dk, "GSHistoPS_225"));
7416  dk->getVal().setL(2);
7417  add(*dk);
7418  add(AmpInitialiser(*dk, "GS"));
7419  add(AmpInitialiser(*dk, "HistoPS_225"));
7420  add(AmpInitialiser(*dk, "GSHistoPS_225"));
7421  delete dk;
7422 
7423  // D-> f2(1270) f2(1270)
7424  dk = new DecayTree(421);
7425  dk->addDgtr(225)->addDgtr(211, -211);
7426  dk->addDgtr(225)->addDgtr(211, -211);
7427  add(*dk);
7428  this->add(AmpInitialiser(*dk, "HistoPS_225"));
7429  add(AmpInitialiser(*dk, "HistoPS_225"));
7430  dk->getVal().setL(1);
7431  add(*dk);
7432  this->add(AmpInitialiser(*dk, "HistoPS_225"));
7433  add(AmpInitialiser(*dk, "HistoPS_225"));
7434  dk->getVal().setL(2);
7435  add(*dk);
7436  this->add(AmpInitialiser(*dk, "HistoPS_225"));
7437  add(AmpInitialiser(*dk, "HistoPS_225"));
7438  delete dk;
7439 
7440  // D->a2(1320) pi, a2(1320)->rho pi, rho->pi pi
7441  dk = new DecayTree(421);
7442  dk->addDgtr(-211, 215)->addDgtr(211, 113)->addDgtr(-211, 211);
7443  add(*dk);
7444  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
7445  this->add(AmpInitialiser(*dk, "GS"));
7446  this->add(AmpInitialiser(*dk, "SBW_"));
7447  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
7448  delete dk;
7449 
7450  // D->a2(1320) pi, a2(1320)->f2(1270) pi, f2-> rho pi
7451  // (kinematically challenged, but broad resonances)
7452  dk = new DecayTree(421);
7453  dk->addDgtr(-211, 215)->addDgtr(211, 225)->addDgtr(-211, 211);
7454  add(*dk);
7455  this->add(AmpInitialiser(*dk, "SBW_"));
7456  this->add(AmpInitialiser(*dk, "HistoPS_225"));
7457  delete dk;
7458 
7459  // D->a2(1700) pi, a2(1700)->f2(1270) pi, f2-> rho pi
7460  dk = new DecayTree(421);
7461  dk->addDgtr(-211, 100215)->addDgtr(211, 225)->addDgtr(-211, 211);
7462  add(*dk);
7463  delete dk;
7464 
7465  // pseudo tensor modes with pi2(1670)
7466  // D -> pi2(1670) pi, pi2->f2(1270) pi, f2->pipi
7467  dk = new DecayTree(421);
7468  dk->addDgtr(-211, 10215)->addDgtr(211, 225)->addDgtr(211, -211);
7469  add(*dk);
7470  this->add(AmpInitialiser(*dk, "HistoPS_225"));
7471  delete dk;
7472 
7473  // D -> pi2(1670) pi, pi2->f0(600) pi, f0(600)->pipi
7474  dk = new DecayTree(421);
7475  dk->addDgtr(-211, 10215)->addDgtr(211, 999001)->addDgtr(211, -211);
7476  this->add(AmpInitialiser(*dk, "Bugg"));
7477  add(*dk);
7478  delete dk;
7479 
7480  // D -> pi2(1670) pi, pi2->rho pi
7481  dk = new DecayTree(421);
7482  dk->addDgtr(-211, 10215)->addDgtr(211, 113)->addDgtr(211, -211);
7483  add(*dk);
7484  this->add(AmpInitialiser(*dk, "RHO_OMEGA"));
7485  this->add(AmpInitialiser(*dk, "GS"));
7486  this->add(AmpInitialiser(*dk, "RhoOmegaGS"));
7487  delete dk;
7488 
7489  // D -> pi(1300) pi, pi(1300)->f(600) pi (trivial spin factor)
7490  dk = new DecayTree(421);
7491  dk->addDgtr(-211, 100211)->addDgtr(211, 9000221)->addDgtr(-211,211);
7492  this->add(AmpInitialiser(*dk, "Bugg"));
7493  add(*dk);
7494  delete dk;
7495 
7496  // D->a1(1260) pi, a1 -> f2(1270) pi
7497  dk = new DecayTree(421);
7498  dk->addDgtr(-211, 20213)->addDgtr(211, 225)->addDgtr(211, -211);
7499  add(*dk);
7500  add(AmpInitialiser(*dk, "HistoPS_225"));
7501  delete dk;
7502 
7503 
7504  // D0 -> omega3(1670)- pi+, omega3(1670)- ->rho(770) pi-, rhp(770) -> pi+pi-
7505  /*dk = new DecayTree(421);
7506  dk->addDgtr(-211,227)->addDgtr(211, 113)->addDgtr(211, -211);
7507  add(*dk);
7508  delete dk;
7509  */
7510  return _trees.size();
7511 }
7512 
7513 std::ostream& operator<<(std::ostream& os, const NamedDecayTreeList& ndtl){
7514  ndtl.print(os);
7515  return os;
7516 }
7517 
7518 //
7519 
const AmpInitialiser & find(const std::string &name, bool &successFlag) const
void add(const AmpInitialiser &tree, const std::string &opt="ALL")
static NamedDecayTreeList * __ptr
void anti(DecayTree &dt)
Definition: DecayTree.cpp:16
MINT::counted_ptr< DDTree< ValueType > > addDgtr(const DDTree< ValueType > *treePtr)
Definition: DDTree.h:211
std::string uniqueName() const
const DecayTree & tree() const
const ValueType & getVal() const
Definition: DDTree.h:102
std::string charge() const
static AmpInitialiser dummyAmpInitialiser
bool A_is_in_B(const std::string &a, const std::string &b)
Definition: Utils.cpp:34
MINT::const_counted_ptr< DDTree< ValueType > > getDgtrTreePtr(int i) const
Definition: DDTree.h:114
void setL(int l)
Definition: DecayTreeItem.h:61
const Val & keyFinder(const Key &k, const std::map< Key, Val > &m, const Val &dummy, bool &successFlag)
Definition: Utils.h:20
static NamedDecayTreeList * getMe(const std::string &printopt="printNever")
void setTree(const DecayTree &dt_in)
const AmpInitMap & trees(const std::string &opt="ALL") const
std::string getLongestName() const
std::vector< const ValueType * > finalState() const
Definition: DDTree.h:293
void print(std::ostream &os=std::cout) const
std::ostream & operator<<(std::ostream &os, const NamedDecayTreeList &ndtl)
void oneLiner(std::stringstream &seam, int generation=0) const
Definition: DDTree.h:375
void addSimple(const AmpInitialiser &tree, const std::string &opt="ALL")
DDTree< DecayTreeItem > DecayTree
Definition: DecayTree.h:35
std::map< std::string, AmpInitialiser > AmpInitMap
void addLopt(const std::string &lopt_in)
std::string uniqueName(const DecayTree &dt_in)
Definition: DecayTree.cpp:27