File indexing completed on 2026-08-06 09:20:06
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021 #ifndef EVTLAMBDACPHH_HH
0022 #define EVTLAMBDACPHH_HH
0023
0024 #include "EvtGenBase/EvtComplex.hh"
0025 #include "EvtGenBase/EvtDecayAmp.hh"
0026 #include "EvtGenBase/EvtResonance2.hh"
0027 #include "EvtGenBase/EvtVector4R.hh"
0028
0029 #include <string>
0030 #include <vector>
0031
0032 class EvtParticle;
0033
0034
0035
0036
0037 class EvtLambdacPHH : public EvtDecayAmp {
0038 public:
0039 EvtLambdacPHH();
0040
0041 std::string getName() override;
0042 EvtDecayBase* clone() override;
0043
0044 void init() override;
0045 void initProbMax() override;
0046 void decay( EvtParticle* p ) override;
0047
0048 protected:
0049
0050 enum LcResLabel
0051 {
0052 NonReson = 0,
0053 Kstar,
0054 Delta,
0055 Lambda
0056 };
0057
0058
0059 std::vector<EvtComplex> calcResAmpTerms( EvtLambdacPHH::LcResLabel resIndex,
0060 const EvtResonance2& res,
0061 double norm ) const;
0062
0063 EvtComplex DecayAmp3( EvtLambdacPHH::LcResLabel resonance, int m,
0064 int mprime, double theta_res, double phi_res,
0065 double theta_prime_daughter_res,
0066 double phi_prime_daughter_res ) const;
0067
0068 EvtComplex fampl3( double amplitude_res, double phi_res, int spinMother,
0069 int m_spinMother, int m_prime_spinMother,
0070 double theta_res, float spin_res, float m_spin_res,
0071 float m_prime_spin_res, double theta_daughter_res,
0072 double phi_prime_daughter_res ) const;
0073
0074
0075 void calcNormalisations();
0076
0077 void getFitFractions();
0078
0079
0080 double getACos( double num, double denom ) const;
0081 double getASin( double num, double denom ) const;
0082
0083 private:
0084
0085 int _d1, _d2, _d3;
0086
0087
0088 double _Nplusplus, _Nplusminus, _Nminusplus, _Nminusminus;
0089 double _phiNplusplus, _phiNplusminus, _phiNminusplus, _phiNminusminus;
0090 double _E1, _phiE1, _E2, _phiE2, _E3, _phiE3, _E4, _phiE4;
0091 double _F1, _phiF1, _F2, _phiF2, _H1, _phiH1, _H2, _phiH2;
0092
0093 double _NRNorm, _KstarNorm, _DeltaNorm, _LambdaNorm;
0094 double _KstarM, _KstarW, _KstarR;
0095 double _DeltaM, _DeltaW, _DeltaR;
0096 double _LambdaM, _LambdaW, _LambdaR;
0097 double _Lambda_cR;
0098
0099 EvtVector4R _zprime, _p4_Lambda_c;
0100 double _zpMag, _p4_Lambdac_Mag;
0101 };
0102
0103 #endif