13 namespace JPP {
using namespace JSIRENE; }
22 static const double Ma = 72.425;
23 static const double Mb = -49.417;
24 static const double Mc = 5.858;
25 static const double Md = 207.252;
26 static const double Me = 132.784;
27 static const double Mf = -10.277;
28 static const double Mg = -19.441;
29 static const double Mh = 58.598;
30 static const double Mi = 53.161;
31 static const double Mkref = 2.698;
33 static const double Mlc = (Ma-Mf)/Mkref;
35 double num, denom, lognp, Ee, logE;
45 num = Me + Md*logE + Mc*
pow(logE,2) + Mb*
pow(logE,3) + Ma *
pow(logE,4) + Mlc*
pow(logE,5);
46 denom = Mi + Mh*logE + Mg*
pow(logE,2) + Mf*
pow(logE,3) + Mlc*
pow(logE,4);
53 Ee =
pow(10.0, lognp-Mkref);
60 static const double eleca = 1.33356e5;
61 static const double elecb = 1.66113e2;
62 static const double elecc = 16.4949;
63 static const double elecd = 1.5385e5;
64 static const double elece = 6.04871e5;
66 return (eleca*ekin+elecb) *
exp(-ekin/elecc) + (elecd*ekin+elece)* (1.-
exp(-ekin/elecc));
71 static const double pia = 0.538346;
72 static const double pib = 1.32041;
73 static const double pic = 0.737415;
74 static const double pid = -0.813861;
75 static const double pie = -2.22444;
76 static const double pif = -2.15795;
77 static const double pig = -6.47242;
78 static const double pih = -2.7567;
79 static const double pix = 8.83498;
86 const double lek=
log(ekin);
87 return (pib*1e5*ekin + (
pow(ekin,(1.-1./pic))) * (pid*1e4 + 1e4*pie*lek + 1e4*pif*
pow(lek,2) + 1e3*pig*
pow(lek,3) + 1e2*pih*
pow(lek,4)))/
ngamma_elec(ekin);
94 static const double ka = 12.7537;
95 static const double kb = -1.052;
96 static const double kc = 3.49559;
97 static const double kd = 16.7914;
98 static const double ke = -0.355066;
99 static const double kf = 2.77116;
102 return (1e4*ka*(ekin+kb)*(1.-
exp(-ekin/kc)) + 1e4*(kd*ekin+ke)*
exp(-ekin/kc))/
ngamma_elec(ekin);
110 static const double k0sa = 0.351242;
111 static const double k0sb = 0.613076;
112 static const double k0sc = 6.24682;
113 static const double k0sd = 2.8858;
115 return (k0sa*1e5 + k0sb*1e5*ekin + ekin*k0sc*1e4*
log(k0sd + 1./ekin))/
ngamma_elec(ekin);
121 static const double k0la = 2.18152;
122 static const double k0lb = -0.632798;
123 static const double k0lc = 0.999514;
124 static const double k0ld = 1.36052;
125 static const double k0le = 4.22484;
126 static const double k0lf = -0.307859;
129 return (1e4*k0la + ekin*1e5*k0lb*
log(ekin) + 1e5*k0lc*
pow(ekin,1.5))/
ngamma_elec(ekin);
131 return (ekin*k0ld*1e5 +
pow(ekin,1.-1./k0le)*k0lf*1e5)/
ngamma_elec(ekin);
137 static const double pa = 12.1281;
138 static const double pb = -17.1528;
139 static const double pc = 0.573158;
140 static const double pd = 34.1436;
141 static const double pe = -0.28944;
142 static const double pf = -13.2619;
143 static const double pg = 24.1357;
145 return (1e4*(pa*ekin+pb)*(1.-
exp(-ekin/pc)) + 1e4*(pd*ekin +pe+ pf*
pow(ekin,2) + pg*
pow(ekin,3))*
exp(-ekin/pc)) /
ngamma_elec(ekin);
151 static const double na = 1.24605;
152 static const double nb = 0.63819;
153 static const double nc = -0.802822;
154 static const double nd = -0.935327;
155 static const double ne = -6.1126;
156 static const double nf = -1.96894;
157 static const double ng = 0.716954;
158 static const double nh = 2.68246;
159 static const double ni = -9.39464;
160 static const double nj = 15.0737;
163 const double lek=
log(ekin);
164 return (na*1e5*ekin + 1e3*
pow(ekin,1.-1./nb) * (100.*nc+100.*nd*lek + 10.*ne*
pow(lek,2) + 11.*nf*
pow(lek,3)))/
ngamma_elec(ekin);
166 return (1e3*ng + 1e4*nh*ekin + 1e4*ni*
pow(ekin,2) + 1e4*nj*
pow(ekin,3))/
ngamma_elec(ekin);
173 inline double opa_efrac(
const int ipart,
const double ekin)
177 double etemp, weight_part;
226 else if (ekin >= 1e7)
230 const double wp40 = weight_part;
233 return whex - (whe40-wp40)*(7.-
log10(ekin))/5.398;
245 inline double pythia(
const int type,
const double E)
248 float ekin = (float) E;
double weight_klong(const double ekin)
double opa_weight_high_e(const double ekin)
double weight_proton(const double ekin)
const JParticle & getPDG(const int pdg) const
Get particle corresponding to given PDG code.
static const JPythia pythia
Function object for relative light yield as a function of GEANT particle code.
double ngamma_elec(const double ekin)
double weight_pion(const double ekin)
static const JPDB & getInstance()
Get particle data book.
double weight_kaon(const double ekin)
set_variable E_E log10(E_{fit}/E_{#mu})"
T pow(const T &x, const double y)
Power .
int geant
GEANT code of particle.
double opa_efrac(const int ipart, const double ekin)
double weight_kshort(const double ekin)
then cat $TRIPOD_INITIAL<< EOF1 256877.5 4743716.7-2438.42 256815.5 4743395.0-2435.53 257096.2 4743636.0-2439.5EOFfiif[[!-f $DETECTOR]];then JEditDetector-a $DETECTOR_INITIAL-s"-1 addz -6.9"-o $DETECTOR--!eval`JPrintDetector-a $DETECTOR-O SUMMARY`for STRING in ${STRINGS[*]};do set_variable MODULE`getModule-a $DETECTOR-L"$STRING 0"`JEditDetector-a $DETECTOR-M"$MODULE setz -2.9"-o $DETECTOR--!donefiif[[!-f $TRIPOD]];then cp-p $TRIPOD_INITIAL $TRIPODfiJAcoustics.sh $DETECTOR_IDcat > acoustics_trigger_parameters txt<< EOFQ=0.0;TMax_s=0.020;numberOfHits=90;EOFJAcousticsEventBuilder.sh $DETECTOR $RUNS[*]INPUT_FILES=(`ls KM3NeT_ ${(l:8::0::0:) DETECTOR_ID}_0 *${^RUNS}_event.root`) cd $WORKDIRif[!$HOMEDIR-ef $WORKDIR];then cp-p $HOMEDIR/$DETECTOR $WORKDIR cp-p $HOMEDIR/${^ACOUSTICS_KEYS}.txt $WORKDIR cp-p $HOMEDIR/${^INPUT_FILES}$WORKDIRfisource $JPP_DIR/examples/JAcoustics/acoustics-fit-toolkit.shtimer_startinitialise stage_b 1 0 100.0e-6 0.002 0.1 0 > &stage log
double weight_neutron(const double ekin)
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable STRING $argv[2] set_array QUANTILES set_variable FORMULA *[0] exp(-0.5 *(x-[1])*(x-[1])/([2]*[2]))" set_variable MODULE `getModule -a $DETECTOR -L "$STRING 0"` source JAcousticsToolkit.sh typeset -A TRIPODS get_tripods $WORKDIR/tripod.txt TRIPODS XMEAN