51 {
52
53
54
55
56
57
58
59
61 int i;
64
66
69
71
72
73
75
76 double xbox, ybox,
min,
max, hichfit;
81
82
83
84
85 double par[6];
86 if ( ( Xscode == 30343 ) || ( Xscode == -30343 ) || ( Xscode == 30353 ) ||
87 ( Xscode == -30353 ) )
88 {
90
91
92 par[0] = 2.36816;
93
94 par[1] = 0.62325725;
95
96 par[2] = 2.2;
97
98 par[3] = -0.2109375;
99
100 par[4] = 2.7;
101
102 par[5] = 0.54;
103
104
105
106
107
108
109
110
111
112
113
114
115 }
116 else
117 {
118 report(
DEBUG,
"EvtGen" ) <<
"In EvtBtoXsEtap: Particle with id " << Xscode
119 << " is not a Xsd/u particle" << endl;
120 return;
121 }
122
123 double boxheight = par[5];
124 double boxwidth =
max -
min;
125
128 {
131 if ( xbox < par[2] )
132 {
133
134 hichfit =
135 ( 1 / sqrt( TwoPi * par[1] ) ) *
exp( -0.5 * pow( ( xbox - par[0] ) / par[1], 2 ) );
136
137
138
139
140
141 }
142 else
143 {
144 hichfit = par[3] * pow( ( xbox - par[4] ), 2 ) + par[5];
145
146 }
147 if ( ybox > hichfit ) {
mass[0] = 0.0; }
148 else {
mass[0] = xbox; }
149 }
150
151
152
153
155
157
158 return;
159}
EvtComplex exp(const EvtComplex &c)
ostream & report(Severity severity, const char *facility)
*********DOUBLE PRECISION m_pi INTEGER m_lenwt !max no of aux weights INTEGER m_phmax !maximum photon multiplicity ISR FSR *DOUBLE COMPLEX m_Pauli4 DOUBLE COMPLEX m_AmpBorn DOUBLE COMPLEX m_AmpBoxy DOUBLE COMPLEX m_AmpBorn1 DOUBLE COMPLEX m_AmpBorn2 DOUBLE COMPLEX m_AmpExpo2p DOUBLE COMPLEX m_Rmat DOUBLE COMPLEX m_BoxGZut !DOUBLE COMPLEX m_F1finPair2 !DOUBLE PRECISION m_Vcut DOUBLE PRECISION m_Alfinv DOUBLE PRECISION m_Lorin1 DOUBLE PRECISION m_Lorin2 DOUBLE PRECISION m_b
static const double twoPi
static double PhaseSpace(int ndaug, double mass[30], EvtVector4R p4[30], double mp)
static int getStdHep(EvtId id)
static double getMass(EvtId i)
void makeDaughters(int ndaug, EvtId *id)
virtual void init(EvtId part_n, const EvtVector4R &p4)=0
EvtParticle * getDaug(int i)