ATLAS Offline Software
Classes | Functions
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

unsigned int 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 }

◆ 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::fill(v.begin(), v.end(), nullPileupFunc);
19 }

◆ nullPileupFunc()

unsigned int ZDC::nullPileupFunc ( unsigned int  )

Definition at line 13 of file RPDDataAnalyzer.cxx.

13  {
14  return 0;
15 }

◆ sideA()

BySideTypeMod ZDC::sideA ( )

◆ sideA_HadPix()

BySideTypeMod ZDC::sideA_HadPix ( ,
,
 
)

◆ sideAC()

BySideTypeMod ZDC::sideAC ( )

◆ sideC()

BySideTypeMod ZDC::sideC ( 1)

◆ sideC_HadPix()

BySideTypeMod ZDC::sideC_HadPix ( 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 }
PlotCalibFromCool.norm
norm
Definition: PlotCalibFromCool.py:100
conifer::pow
constexpr int pow(int x)
Definition: conifer.h:20
ALFA_EventTPCnv_Dict::t0
std::vector< ALFA_RawData_p1 > t0
Definition: ALFA_EventTPCnvDict.h:42
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
drawFromPickle.exp
exp
Definition: drawFromPickle.py:36
fill
void fill(H5::Group &out_file, size_t iterations)
Definition: test-hdf5-writer.cxx:95
create_dcsc_inputs_sqlite.arg
list arg
Definition: create_dcsc_inputs_sqlite.py:48
python.PyAthena.v
v
Definition: PyAthena.py:154
pvec
std::array< fp_t, 2 > pvec
Definition: FPGATrackSimLLPDoubletHoughTransformTool.cxx:9
drawFromPickle.sin
sin
Definition: drawFromPickle.py:36
ZDC::nullPileupFunc
unsigned int nullPileupFunc(unsigned int)
Definition: RPDDataAnalyzer.cxx:13
TSU::T
unsigned long long T
Definition: L1TopoDataTypes.h:35