ATLAS Offline Software
Loading...
Searching...
No Matches
ZDC Namespace Reference

Classes

struct  BySideTypeMod
class  IZdcAnalysisTool
class  IZdcRecTool
class  IZdcTrigValidTool
class  RPDAnalysisTool
struct  RPDConfig
class  RPDDataAnalyzer
class  RpdSubtractCentroidTool
class  ZdcAnalysisTool
class  ZdcLEDAnalysisTool
class  ZDCLEDModuleResults
class  ZdcRecTool
class  ZdcTrigValidTool

Functions

float nullPileupFunc (unsigned int)
void helpResetFuncs (std::span< std::function< float(unsigned int)> > v)
double SincInterp (const double *xvec, const double *pvec)
double SincInterp (double *xvec, double *pvec)
double FermiExpFit (double *xvec, double *pvec)
BySideTypeMod sideA (1)
BySideTypeMod sideC (-1)
BySideTypeMod sideAC (0)
BySideTypeMod sideA_HadPix (1, 1, 1)
BySideTypeMod sideC_HadPix (-1, 1, 1)
float getAmplitudeSum (const xAOD::ZdcModuleContainer *in, std::function< bool(const xAOD::ZdcModule *)> incFunction, std::string suffix="")
float getAmplitudeSumG0 (const xAOD::ZdcModuleContainer *in, std::function< bool(const xAOD::ZdcModule *)> incFunction, std::string suffix="")
float getAmplitudeSumG1 (const xAOD::ZdcModuleContainer *in, std::function< bool(const xAOD::ZdcModule *)> incFunction)

Function Documentation

◆ FermiExpFit()

double ZDC::FermiExpFit ( double * xvec,
double * pvec )

Definition at line 184 of file ZdcRecTool.cxx.

185{
186 const float offsetScale = 3;
187
188 double t = xvec[0];
189
190 double amp = pvec[0];
191 double t0 = pvec[1];
192 double tau1 = pvec[2];
193 double tau2 = pvec[3];
194
195 double tauRatio = tau2/tau1;
196 double tauRatioMinunsOne = tauRatio - 1;
197
198 double norm = ( std::exp(-offsetScale/tauRatio)*pow(1./tauRatioMinunsOne, 1./(1 + tauRatio))/
199 ( 1 + pow(1./tauRatioMinunsOne, 1./(1 + 1/tauRatio))) );
200
201 double deltaT = t - (t0 - offsetScale*tau1);
202 if (deltaT < 0) deltaT = 0;
203
204 double expTerm = std::exp(-deltaT/tau2);
205 double fermiTerm = 1./(1. + std::exp(-(t - t0)/tau1));
206
207 return amp*expTerm*fermiTerm/norm;
208}
std::array< fp_t, 2 > pvec
static Double_t t0
constexpr int pow(int base, int exp) noexcept

◆ getAmplitudeSum()

float ZDC::getAmplitudeSum ( const xAOD::ZdcModuleContainer * in,
std::function< bool(const xAOD::ZdcModule *)> incFunction,
std::string suffix = "" )

◆ getAmplitudeSumG0()

float ZDC::getAmplitudeSumG0 ( const xAOD::ZdcModuleContainer * in,
std::function< bool(const xAOD::ZdcModule *)> incFunction,
std::string suffix = "" )

◆ getAmplitudeSumG1()

float ZDC::getAmplitudeSumG1 ( const xAOD::ZdcModuleContainer * in,
std::function< bool(const xAOD::ZdcModule *)> incFunction )

◆ helpResetFuncs()

void ZDC::helpResetFuncs ( std::span< std::function< float(unsigned int)> > v)

Definition at line 17 of file RPDDataAnalyzer.cxx.

17 {
18 std::function<float(unsigned int)> f (nullPileupFunc);
19 std::fill(v.begin(), v.end(), f);
20}
float nullPileupFunc(unsigned int)

◆ nullPileupFunc()

float ZDC::nullPileupFunc ( unsigned int )

Definition at line 13 of file RPDDataAnalyzer.cxx.

13 {
14 return 0;
15}

◆ sideA()

BySideTypeMod ZDC::sideA ( 1 )

◆ sideA_HadPix()

BySideTypeMod ZDC::sideA_HadPix ( 1 ,
1 ,
1  )

◆ sideAC()

BySideTypeMod ZDC::sideAC ( 0 )

◆ sideC()

BySideTypeMod ZDC::sideC ( - 1)

◆ sideC_HadPix()

BySideTypeMod ZDC::sideC_HadPix ( - 1,
1 ,
1  )

◆ SincInterp() [1/2]

double ZDC::SincInterp ( const double * xvec,
const double * pvec )

Definition at line 11 of file ZdcSincInterp.cxx.

12{
13 // pvec are the sample values
14 double ret = 0;
15 double T = pvec[0]; // deltaT
16 double t = xvec[0];
17 for (int isamp = 0; isamp < 7; isamp++)
18 {
19 double arg = (t - isamp * T) / T;
20 if (arg != 0.0)
21 {
22 ret += pvec[isamp + 1] * std::sin(TMath::Pi() * arg) / (TMath::Pi() * arg);
23 }
24 }
25 return ret;
26}

◆ SincInterp() [2/2]

double ZDC::SincInterp ( double * xvec,
double * pvec )

Definition at line 167 of file ZdcRecTool.cxx.

168{
169 // pvec are the sample values
170 double ret = 0;
171 double T = pvec[0]; // deltaT
172 double t = xvec[0];
173 for (int isamp = 0;isamp<7;isamp++)
174 {
175 double arg = (t - isamp*T)/T;
176 if (arg!=0.0)
177 {
178 ret += pvec[isamp+1] * std::sin(TMath::Pi()*arg)/(TMath::Pi()*arg);
179 }
180 }
181 return ret;
182}