/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Generator/BesEvtGen/BesEvtGen-00-03-58/src/EvtGen/EvtGenBase/EvtDalitzPoint.hh

Go to the documentation of this file.
00001 /*******************************************************************************
00002  * Project: BaBar detector at the SLAC PEP-II B-factory
00003  * Package: EvtGenBase
00004  *    File: $Id: EvtDalitzPoint.hh,v 1.1.1.2 2007/10/26 05:03:14 pingrg Exp $
00005  *  Author: Alexei Dvoretskii, dvoretsk@slac.stanford.edu, 2001-2002
00006  *
00007  * Copyright (C) 2002 Caltech
00008  *******************************************************************************/
00009 
00010 // This class describes the complete kinematics of the Dalitz decay.
00011 // It holds all the six invariant momentum products, three daughter
00012 // particle masses and three invariant masses of pairs of particles.
00013 // This description is completely symmetric with respect to particle 
00014 // permutations.
00015 //
00016 // Another way to slice the six coordinate is to make a transformation 
00017 // to the mass of the decaying particle. The four masses make up a 
00018 // Dalitz plot. The other two are coordinates of a point in the plot.
00019 
00020 #ifndef EVT_DALITZ_POINT_HH
00021 #define EVT_DALITZ_POINT_HH
00022 
00023 #include "EvtGenBase/EvtCyclic3.hh"
00024 #include "EvtGenBase/EvtDalitzCoord.hh"
00025 #include "EvtGenBase/EvtDalitzPlot.hh"
00026 
00027 class EvtDalitzPoint {
00028 
00029 public:
00030 
00031   EvtDalitzPoint();
00032   EvtDalitzPoint(double mA, double mB, double mC, 
00033                  double qAB, double qBC, double qCA);
00034   EvtDalitzPoint(double mA, double mB, double mC, 
00035                  EvtCyclic3::Pair i, double qres, double qhel, double qsum);
00036   EvtDalitzPoint(const EvtDalitzPlot&, const EvtDalitzCoord&);
00037   EvtDalitzPoint(const EvtDalitzPoint& other);
00038   ~EvtDalitzPoint();
00039 
00040   EvtDalitzCoord getDalitzPoint(EvtCyclic3::Pair i, EvtCyclic3::Pair j) const;
00041   EvtDalitzPlot  getDalitzPlot() const;
00042 
00043   double q(EvtCyclic3::Pair) const;
00044   double bigM() const;
00045   double m(EvtCyclic3::Index) const;
00046 
00047   // Zemach variables
00048 
00049   double qres(EvtCyclic3::Pair i) const;
00050   double qhel(EvtCyclic3::Pair i) const;
00051   double qsum() const;
00052 
00053   // Kinematic quantities
00054   //
00055   // pp  - 4 momentum product
00056   // e,p,cosTh - energy/moementum in rest-frame of j
00057 
00058 
00059   double qMin(EvtCyclic3::Pair i, EvtCyclic3::Pair j) const;
00060   double qMax(EvtCyclic3::Pair i, EvtCyclic3::Pair j) const;
00061   double pp(EvtCyclic3::Index i, EvtCyclic3::Index j) const; 
00062   double e(EvtCyclic3::Index i, EvtCyclic3::Pair j) const;
00063   double p(EvtCyclic3::Index i, EvtCyclic3::Pair j) const;
00064   double cosTh(EvtCyclic3::Pair pairAng, EvtCyclic3::Pair pairRes) const;
00065 
00066   bool isValid() const;
00067 
00068   void print() const;
00069 
00070 private:
00071 
00072   double _mA, _mB, _mC;     // masses
00073   double _qAB, _qBC, _qCA;  // masses squared
00074 };
00075 
00076 #endif

Generated on Tue Nov 29 23:12:12 2016 for BOSS_7.0.2 by  doxygen 1.4.7