MINT2
SpinFactors4Body_ScalarsAndVectors.h
Go to the documentation of this file.
1 #ifndef SPINFACTORSSSS_FOURBODY_SCALARS_AND_VECTORS_HH
2 #define SPINFACTORSSSS_FOURBODY_SCALARS_AND_VECTORS_HH
3 // author: Jonas Rademacker (Jonas.Rademacker@bristol.ac.uk)
4 // status: Mon 9 Feb 2009 19:18:13 GMT
5 
6 // These come from:
7 // D. Coffman et al: "Resonant substructure in Kbar pi pi pi decays of D mesons"
8 // Physical Review D, Vol 45, Number 7, page 2196
9 // The spin factors are in Table II, page 2201.
10 
12 #include "Mint/IDalitzEvent.h"
13 
14 #include "Mint/DecayTree.h"
15 #include "Mint/SpinFactor.h"
16 #include "Mint/counted_ptr.h"
17 #include <iostream>
18 
19 
20 // ==========================================
21 
24  public:
26  : SpinFactorTrivial(){}
27 
29  static const DecayTree& getExampleDecay();
30  virtual const DecayTree& exampleDecay();
31  virtual std::string name() const{
32  return "SpinFactor4:SF_DtoPP0_PtoSP1_StoP3P4-trivialSpinFactor";
33  }
34 };
35 // ==========================================
36 
39  public:
41  : SpinFactorTrivial(){}
42 
44  static const DecayTree& getExampleDecay();
45  virtual const DecayTree& exampleDecay();
46  virtual std::string name() const{
47  return "SpinFactor4:SF_DtoS1S2_S1toP1P2_S2toP3P4-trivialSpinFactor";
48  }
49 };
50 
51 // ==========================================
52 
53 class SF_DtoPP1P2_PtoP3P4 : public SpinFactorTrivial{ //Laurens wide Ks Spin
55  public:
57  : SpinFactorTrivial(){}
58 
60  static const DecayTree& getExampleDecay();
61  virtual const DecayTree& exampleDecay();
62  virtual std::string name() const{
63  return "SpinFactor4:SF_DtoPP1P2_PtoP3P4-trivialSpinFactor";
64  }
65 };
66 
67 // ==========================================
68 
70  protected:
73 
74  virtual bool parseTree(const DalitzEventPattern& pat);
75 
76  public:
77  virtual void printYourself(std::ostream& os=std::cout) const;
79  : SpinFactor(theDecay, 4)
80  , P(0), V(0)
81  {
82  }
83 
85  virtual double getVal(IDalitzEvent& evt);
86 
87  virtual std::string name() const{
88  return "SpinFactor4:SF_DtoPP0_PtoVP1_VtoP2P3("
89  + theDecay().oneLiner() + ")";
90  }
91 
92  static const DecayTree& getExampleDecay();
93  virtual const DecayTree& exampleDecay();
94 
95 };
96 
97 // ==========================================
98 
100  protected:
101  // static DecayTree* _exampleDecay;
103 
104  virtual bool parseTree(const DalitzEventPattern& pat);
105 
106  public:
107  virtual void printYourself(std::ostream& os=std::cout) const=0;
109  : SpinFactor(theDecay, 4)
110  , A(0), V(0)
111  {
112  }
113 
115  virtual double getVal(IDalitzEvent& evt)=0;
116 
117  virtual const DecayTree& exampleDecay()=0;
118  virtual std::string name() const{
119  return "SpinFactor4:SF_DtoAP0_AtoVP1_VtoP2P3_BASE("
120  + theDecay().oneLiner() + ")";
121  }
122 
123 };
124 // ==========================================
125 
127  protected:
129  public:
130  virtual void printYourself(std::ostream& os=std::cout) const;
133  {
134  }
135 
137  virtual double getVal(IDalitzEvent& evt);
138 
139  static const DecayTree& getExampleDecay();
140  virtual const DecayTree& exampleDecay();
141  virtual std::string name() const{
142  return "SpinFactor4:SF_DtoAP0_AtoVP1D_VtoP2P3("
143  + theDecay().oneLiner() + ")";
144  }
145 
146 };
147 // ==========================================
148 
150  protected:
152  public:
153  virtual void printYourself(std::ostream& os=std::cout) const;
156  {
157  }
158 
160  virtual double getVal(IDalitzEvent& evt);
161 
162  static const DecayTree& getExampleDecay();
163  virtual const DecayTree& exampleDecay();
164  virtual std::string name() const{
165  return "SpinFactor4:SF_DtoAP0_AtoVP1Dwave_VtoP2P3("
166  + theDecay().oneLiner() + ")";
167  }
168 
169 };
170 
171 
172 // ==========================================
173 
175  protected:
178 
179  virtual bool parseTree(const DalitzEventPattern& pat);
180 
181  public:
182  virtual void printYourself(std::ostream& os=std::cout) const;
184  : SpinFactor(theDecay, 4)
185  , A(0), S(0)
186  {
187  }
188 
190  virtual double getVal(IDalitzEvent& evt);
191 
192  static const DecayTree& getExampleDecay();
193  virtual const DecayTree& exampleDecay();
194  virtual std::string name() const{
195  return "SpinFactor4:SF_DtoAP0_AtoSP1_StoP2P3("
196  + theDecay().oneLiner() + ")";
197  }
198 
199 };
200 
201 // ==========================================
202 
204  protected:
205  // static DecayTree* _exampleDecayS;
207 
208  virtual bool parseTree(const DalitzEventPattern& pat);
209 
210  public:
211  virtual void printYourself(std::ostream& os=std::cout) const=0;
213  : SpinFactor(theDecay, 4)
214  , V1(0), V2(0)
215  {
216  }
217 
219  virtual double getVal(IDalitzEvent& evt)=0;
220 
221  virtual const DecayTree& exampleDecay()=0;
222  virtual std::string name() const{
223  return "SpinFactor4:SF_DtoV1V2_V1toP0P1_V1toP2P3_BASE("
224  + theDecay().oneLiner() + ")";
225  }
226 
227 };
228 
229 // -----------------------------------------------
230 
233 
234  public:
235  virtual void printYourself(std::ostream& os=std::cout) const;
238  {
239 // printYourself();
240  }
241 
243  virtual double getVal(IDalitzEvent& evt);
244 
245  static const DecayTree& getExampleDecay();
246  virtual const DecayTree& exampleDecay();
247  virtual std::string name() const{
248  return "SpinFactor4:SF_DtoV1V2_V1toP0P1_V1toP2P3_S("
249  + theDecay().oneLiner() + ")";
250  }
251 };
252 // -----------------------------------------------
253 
256 
257  public:
258  virtual void printYourself(std::ostream& os=std::cout) const;
261  {
262 // printYourself();
263  }
264 
266  virtual double getVal(IDalitzEvent& evt);
267 
268  static const DecayTree& getExampleDecay();
269  virtual const DecayTree& exampleDecay();
270  virtual std::string name() const{
271  return "SpinFactor4:SF_DtoV1V2_V1toP0P1_V1toP2P3_P("
272  + theDecay().oneLiner() + ")";
273  }
274 };
275 // -----------------------------------------------
276 
279  public:
280  virtual void printYourself(std::ostream& os=std::cout) const;
283  {
284 // printYourself();
285  }
286 
288  virtual double getVal(IDalitzEvent& evt);
289 
290  static const DecayTree& getExampleDecay();
291  virtual const DecayTree& exampleDecay();
292  virtual std::string name() const{
293  return "SpinFactor4:SF_DtoV1V2_V1toP0P1_V1toP2P3_D("
294  + theDecay().oneLiner() + ")";
295  }
296 };
297 
298 // ==========================================
299 
301  protected:
304 
305  virtual bool parseTree(const DalitzEventPattern& pat);
306 
307  public:
308  virtual void printYourself(std::ostream& os=std::cout) const;
310  : SpinFactor(theDecay, 4)
311  , V2(0)
312  {
313  }
314 
316  virtual double getVal(IDalitzEvent& evt);
317 
318  static const DecayTree& getExampleDecay();
319  virtual const DecayTree& exampleDecay();
320  virtual std::string name() const{
321  return "SpinFactor4:SF_DtoV1V2_V1toP0P1_V1toP2P3_S_nonResV1("
322  + theDecay().oneLiner() + ")";
323  }
324 };
325 
326 // ==========================================
327 
329  protected:
332 
333  virtual bool parseTree(const DalitzEventPattern& pat);
334 
335  public:
336  virtual void printYourself(std::ostream& os=std::cout) const;
338  : SpinFactor(theDecay, 4)
339  , V(0), S(0)
340  {
341  }
342 
344  virtual double getVal(IDalitzEvent& evt);
345 
346  static const DecayTree& getExampleDecay();
347  virtual const DecayTree& exampleDecay();
348  virtual std::string name() const{
349  return "SpinFactor4:SF_DtoVS_VtoP0P1_StoP2P3("
350  + theDecay().oneLiner() + ")";
351  }
352 };
353 
354 // ==========================================
355 
357  protected:
360 
361  virtual bool parseTree(const DalitzEventPattern& pat);
362 
363  public:
364  virtual void printYourself(std::ostream& os=std::cout) const;
366  : SpinFactor(theDecay, 4)
367  , S(0)
368  {
369  }
370 
372  virtual double getVal(IDalitzEvent& evt);
373 
374  static const DecayTree& getExampleDecay();
375  virtual const DecayTree& exampleDecay();
376  virtual std::string name() const{
377  return "SpinFactor4:SF_DtoVS_VtoP0P1_StoP2P3_nonResV("
378  + theDecay().oneLiner() + ")";
379  }
380 };
381 
382 //===========================================
383 
385  // author: Loic Esteve
386 protected:
389 
390  virtual bool parseTree(const DalitzEventPattern& pat);
391 
392 public:
393  virtual void printYourself(std::ostream& os=std::cout) const;
395  : SpinFactor(theDecay, 4)
396  , V1(0), V2(0)
397  {
398  }
399 
401  virtual double getVal(IDalitzEvent& evt);
402 
403  static const DecayTree& getExampleDecay();
404  virtual const DecayTree& exampleDecay();
405  virtual std::string name() const{
406  return "SpinFactor4:SF_DtoV1P0_V1toV2P1_V2toP2P3("
407  + theDecay().oneLiner() + ")";
408  }
409 
410 };
411 
412 
413 // ==========================================
414 
415 
416 // ==========================================
417 
418 // -----------------------------------------------
419 
420 
421 /*
422 class SF_DtoAP1_AtoSP2_StoP3P4 : public SpinFactor{
423  public:
424  SF_DtoAP1_AtoSP2_StoP3P4(IDalitzEventAccess* events)
425  : SpinFactor(events)
426  {}
427 }
428 class SF_DtoV1V2_V1toP1P2_V2toP3P4_S : public SpinFactor{
429  public:
430  SF_DtoV1V2_V1toP1P2_V2toP3P4_S(IDalitzEventAccess* events)
431  : SpinFactor(events)
432  {}
433 }
434 class SF_DtoVS_VtoP1P2_StoP3P4 : public SpinFactor{
435  public:
436  SF_DtoVS_VtoP1P2_StoP3P4(IDalitzEventAccess* events)
437  : SpinFactor(events)
438  {}
439 }
440 
441 */
442 #endif
443 //
virtual void printYourself(std::ostream &os=std::cout) const =0
virtual bool parseTree(const DalitzEventPattern &pat)
virtual std::string name() const
SF_DtoVS_VtoP0P1_StoP2P3(const AssociatedDecayTree &theDecay)
virtual void printYourself(std::ostream &os=std::cout) const
SF_DtoV1V2_V1toP0P1_V1toP2P3_D(const AssociatedDecayTree &theDecay)
MINT::const_counted_ptr< AssociatedDecayTree > V1
MINT::const_counted_ptr< AssociatedDecayTree > V1
SF_DtoVS_VtoP0P1_StoP2P3_nonResV(const AssociatedDecayTree &theDecay)
virtual void printYourself(std::ostream &os=std::cout) const
virtual void printYourself(std::ostream &os=std::cout) const
MINT::const_counted_ptr< AssociatedDecayTree > V
virtual bool parseTree(const DalitzEventPattern &pat)
virtual double getVal(IDalitzEvent &evt)
SF_DtoV1V2_V1toP0P1_V1toP2P3_BASE(const AssociatedDecayTree &theDecay)
virtual void printYourself(std::ostream &os=std::cout) const
MINT::const_counted_ptr< AssociatedDecayTree > V
virtual double getVal(IDalitzEvent &evt)
virtual bool parseTree(const DalitzEventPattern &pat)
virtual bool parseTree(const DalitzEventPattern &pat)
virtual bool parseTree(const DalitzEventPattern &pat)
virtual void printYourself(std::ostream &os=std::cout) const
virtual const DecayTree & exampleDecay()=0
MINT::const_counted_ptr< AssociatedDecayTree > A
SF_DtoV1V2_V1toP0P1_V1toP2P3_S(const AssociatedDecayTree &theDecay)
static const DecayTree & getExampleDecay()
MINT::const_counted_ptr< AssociatedDecayTree > S
MINT::const_counted_ptr< AssociatedDecayTree > V2
virtual const DecayTree & exampleDecay()
SF_DtoPP0_PtoVP1_VtoP2P3(const AssociatedDecayTree &theDecay)
SF_DtoAP0_AtoVP1_VtoP2P3_BASE(const AssociatedDecayTree &theDecay)
MINT::const_counted_ptr< AssociatedDecayTree > A
SF_DtoV1V2_V1toP0P1_V1toP2P3_S_nonResV1(const AssociatedDecayTree &theDecay)
virtual bool parseTree(const DalitzEventPattern &pat)
virtual void printYourself(std::ostream &os=std::cout) const
virtual bool parseTree(const DalitzEventPattern &pat)
MINT::const_counted_ptr< AssociatedDecayTree > V2
MINT::const_counted_ptr< AssociatedDecayTree > V
SF_DtoAP0_AtoVP1_VtoP2P3(const AssociatedDecayTree &theDecay)
SF_DtoV1P0_V1toV2P1_V2toP2P3(const AssociatedDecayTree &theDecay)
SF_DtoAP0_AtoSP1_StoP2P3(const AssociatedDecayTree &theDecay)
virtual void printYourself(std::ostream &os=std::cout) const
const AssociatedDecayTree & theDecay() const
Definition: SpinFactor.h:50
MINT::const_counted_ptr< AssociatedDecayTree > P
virtual bool parseTree(const DalitzEventPattern &pat)
MINT::const_counted_ptr< AssociatedDecayTree > S
virtual void printYourself(std::ostream &os=std::cout) const
virtual void printYourself(std::ostream &os=std::cout) const
MINT::const_counted_ptr< AssociatedDecayTree > S
void oneLiner(std::stringstream &seam, int generation=0) const
Definition: DDTree.h:375
virtual double getVal(IDalitzEvent &evt)=0
virtual void printYourself(std::ostream &os=std::cout) const =0
virtual double getVal(IDalitzEvent &evt)
virtual double getVal(IDalitzEvent &evt)=0
virtual void printYourself(std::ostream &os=std::cout) const
virtual const DecayTree & exampleDecay()=0
MINT::const_counted_ptr< AssociatedDecayTree > V2
SF_DtoAP0_AtoVP1Dwave_VtoP2P3(const AssociatedDecayTree &theDecay)
SF_DtoV1V2_V1toP0P1_V1toP2P3_P(const AssociatedDecayTree &theDecay)
virtual double getVal(IDalitzEvent &evt)
virtual void printYourself(std::ostream &os=std::cout) const