#include "CxxUtils/checker_macros.h"
#include <TF1.h>
#include <memory>
Go to the source code of this file.
◆ ZDCFermiExpFit()
double ZDCFermiExpFit |
( |
const double * |
xvec, |
|
|
const double * |
pvec |
|
) |
| |
|
inline |
Definition at line 1209 of file ZDCFitWrapper.h.
1213 double amp =
pvec[0];
1215 double tau1 =
pvec[2];
1216 double tau2 =
pvec[3];
1219 double tauRatio = tau2 / tau1;
1220 double tauRatioMinunsOne = tauRatio - 1;
1222 double norm = (
std::pow(1. / tauRatioMinunsOne, 1. / (1 + tauRatio)) /
1223 ( 1 +
std::pow(1. / tauRatioMinunsOne, 1. / (1 + 1 / tauRatio))));
1225 double deltaT =
t -
t0;
1226 if (deltaT < 0) deltaT = 0;
1228 double expTerm =
std::exp(-deltaT / tau2);
1229 double fermiTerm = 1. / (1. +
std::exp(-(
t -
t0) / tau1));
1231 return amp * expTerm * fermiTerm /
norm +
C;
◆ ZDCFermiExpFitRefl()
double ZDCFermiExpFitRefl |
( |
const double * |
xvec, |
|
|
const double * |
pvec |
|
) |
| |
|
inline |
Definition at line 1234 of file ZDCFitWrapper.h.
1238 double amp =
pvec[0];
1240 double tau1 =
pvec[2];
1241 double tau2 =
pvec[3];
1244 double refldelay =
pvec[5];
1245 double reflFrac =
pvec[6];
1246 double reflwidth =
pvec[7];
1247 double delta =
pvec[8];
1249 double tauRatio = tau2 / tau1;
1250 double tauRatioMinunsOne = tauRatio - 1;
1252 double norm =
std::pow(1. / tauRatioMinunsOne, 1. / (1 + tauRatio)) /
1253 ( 1 +
std::pow(1. / tauRatioMinunsOne, 1. / (1 + 1 / tauRatio))) ;
1255 double deltaT =
t -
t0;
1256 if (deltaT < 0) deltaT = 0;
1261 double expTerm = delta +
std::exp(-deltaT / tau2);
1262 double fermiTerm = 1. / (1. +
std::exp(-(
t -
t0) / tau1));
1264 double deltaTRefl = deltaT - refldelay;
1265 double reflTerm = -reflFrac*amp*
std::exp(-0.5*deltaTRefl*deltaTRefl/reflwidth/reflwidth);
1267 return amp * expTerm * fermiTerm /
norm +
C + reflTerm;