LCOV - code coverage report
Current view: top level - TEvtGen/EvtGen/EvtGenModels - EvtD0mixDalitz.hh (source / functions) Hit Total Coverage
Test: coverage.info Lines: 0 10 0.0 %
Date: 2016-06-14 17:26:59 Functions: 0 9 0.0 %

          Line data    Source code
       1             : /*****************************************************************************
       2             :  * Project: BaBar detector at the SLAC PEP-II B-factory
       3             :  * Package: EvtGenModels
       4             :  *    File: $Id: EvtD0mixDalitz.hh,v 1.1 2009-03-16 16:49:00 robbep Exp $
       5             :  *
       6             :  * Description:
       7             :  *   The D0mixDalitz model, with many resonances and mixing implemented.
       8             :  *
       9             :  * Modification history:
      10             :  *   Jordi Garra Ticó     2008/07/03         File created
      11             :  *****************************************************************************/
      12             : 
      13             : #ifndef __EVTD0MIXDALITZ_HH__
      14             : #define __EVTD0MIXDALITZ_HH__
      15             : 
      16             : #include "EvtGenBase/EvtComplex.hh"
      17             : #include "EvtGenBase/EvtPDL.hh"
      18             : #include "EvtGenBase/EvtId.hh"
      19             : #include "EvtGenBase/EvtDecayAmp.hh"
      20             : #include "EvtGenBase/EvtDalitzPoint.hh"
      21             : #include "EvtGenBase/EvtSpinType.hh"
      22             : #include "EvtGenBase/EvtDalitzReso.hh"
      23             : #include "EvtGenBase/EvtCyclic3.hh"
      24             : 
      25             : 
      26             : class EvtD0mixDalitz : public EvtDecayAmp
      27             : {
      28             : private:
      29             :   int _d1;
      30             :   int _d2;
      31             :   int _d3;
      32             : 
      33             :   // Mixing parameters.
      34             :   double _x;
      35             :   double _y;
      36             : 
      37             :   // q/p CP violation in the mixing.
      38             :   EvtComplex _qp;
      39             : 
      40             :   // Checker of the decay mode.
      41             :   bool _isKsPiPi;
      42             :   bool _isRBWmodel;
      43             : 
      44             :   // Useful constants.
      45             :   static const EvtSpinType::spintype& _SCALAR;
      46             :   static const EvtSpinType::spintype& _VECTOR;
      47             :   static const EvtSpinType::spintype& _TENSOR;
      48             : 
      49             :   static const EvtDalitzReso::CouplingType& _EtaPic;
      50             :   static const EvtDalitzReso::CouplingType& _PicPicKK;
      51             : 
      52             :   static const EvtDalitzReso::NumType& _RBW;
      53             :   static const EvtDalitzReso::NumType& _GS;
      54             :   static const EvtDalitzReso::NumType& _KMAT;
      55             : 
      56             :   static const EvtCyclic3::Pair& _AB;
      57             :   static const EvtCyclic3::Pair& _AC;
      58             :   static const EvtCyclic3::Pair& _BC;
      59             : 
      60             :   // Values to be read or computed based on values in the evt.pdl file.
      61             :   // IDs of the relevant particles.
      62             :   EvtId _D0;
      63             :   EvtId _D0B;
      64             :   EvtId _KM;
      65             :   EvtId _KP;
      66             :   EvtId _K0;
      67             :   EvtId _K0B;
      68             :   EvtId _KL;
      69             :   EvtId _KS;
      70             :   EvtId _PIM;
      71             :   EvtId _PIP;
      72             : 
      73             :   // Masses of the relevant particles.
      74             :   double _mD0;
      75             :   double _mKs;
      76             :   double _mPi;
      77             :   double _mK;
      78             : 
      79             :   // Life time and decay rate.
      80             :   double _ctau;
      81             :   double _gamma;
      82             : 
      83             :   // Some useful integrals over the Dalitz plot.
      84             :   EvtComplex _iChi;
      85             :   EvtComplex _iChi2;
      86             : 
      87             :   void readPDGValues();
      88             :   EvtComplex dalitzKsPiPi( const EvtDalitzPoint& point );
      89             :   EvtComplex dalitzKsKK  ( const EvtDalitzPoint& point );
      90             : 
      91             :   // Time evolution functions for hamiltonian eigenstates.
      92             :   //    Negative exponential part removed.
      93             :   EvtComplex h1( const double& ct ) const;
      94             :   EvtComplex h2( const double& ct ) const;
      95             : 
      96             :   void reportInvalidAndExit() const
      97             :   {
      98           0 :     report( Severity::Error, "EvtD0mixDalitz" ) << "EvtD0mixDalitz: Invalid mode." << std::endl;
      99           0 :     exit( 1 );
     100             :   }
     101             : public:
     102           0 :   EvtD0mixDalitz() : _d1( 0 ), _d2( 0 ), _d3( 0 ),
     103           0 :                      _x( 0. ), _y( 0. ), _qp( 1. ),
     104           0 :                      _isKsPiPi( false ), _isRBWmodel( true )
     105           0 :   {}
     106             : 
     107           0 :   virtual ~EvtD0mixDalitz() {};
     108             : 
     109             :   // One-line inline functions.
     110           0 :   std::string   getName() { return "D0MIXDALITZ";      }
     111           0 :   EvtDecayBase* clone()   { return new EvtD0mixDalitz; }
     112           0 :   void initProbMax()      { setProbMax( 5200. );       }
     113             : 
     114             :   void init();
     115             :   void decay( EvtParticle* p );
     116             : };
     117             : 
     118             : #endif
     119             : 

Generated by: LCOV version 1.11