ATLAS Offline Software
Loading...
Searching...
No Matches
LArPhysWaveHECTool.cxx File Reference
#include "LArCalibUtils/LArPhysWaveHECTool.h"
#include "LArIdentifier/LArOnline_SuperCellID.h"
#include <gsl/gsl_integration.h>
#include <gsl/gsl_errno.h>
#include <TGraphSmooth.h>
#include <iostream>
#include <fstream>
#include <vector>
#include <cmath>
Include dependency graph for LArPhysWaveHECTool.cxx:

Go to the source code of this file.

Classes

struct  gsl_f_params
struct  usertim

Functions

static Double_t Tp (Double_t *t, Double_t *par)
static Double_t Tp_gsl (Double_t *t, Double_t *par)
static Double_t DTp (Double_t *t, Double_t *par)
static Double_t Tp4 (Double_t t)
static Double_t Tp5_gsl (Double_t t)
static Double_t Tp4_gsl (Double_t t)
static Double_t Tp5 (Double_t t)
static Double_t Tc (Double_t t)
Double_t normalize (TF1 *func, Double_t *rampl=NULL, Double_t from=0., Double_t to=0., Double_t step=1.)
Double_t normalize_prof (TProfile *histo, Double_t *rampl=NULL)
static Double_t f4_g (Double_t *x, Double_t *par)
static Double_t f5_g (Double_t *x, Double_t *par)
static double f4_gsl (double x, void *par)
static double f5_gsl (double x, void *par)
void Smooth_new (Double_t *x, Double_t *y, Double_t *yref, Int_t ymax)
void SmootKern (Double_t *x, Double_t *y, Int_t ymax, Double_t band=10.)
static Double_t P (Double_t *tt, Double_t *par)
static Double_t Rd (Double_t t)
static Double_t Ro (Double_t t)
static double f4_gsl (Double_t x, void *par)
static double f5_gsl (Double_t x, void *par)

Variables

 ATLAS_NO_CHECK_FILE_THREAD_SAFETY
const int NMAX =1000
static Double_t tau0
static Double_t taup
static Double_t tauz
static Double_t taus
static Double_t rc
static Double_t rz
static Double_t rs
static Double_t sp
static Double_t s0
static Double_t sz
static Double_t ss
static Double_t sc
static Double_t fs
static Double_t tdr
static Double_t tc
static Double_t a
static Double_t t0
static Double_t al
static Double_t x [NMAX]
static Double_t y [NMAX]
static Double_t STEP
static Double_t * pref = NULL
static TSpline3 * splin = NULL
int LArWaveFlag =0
int Tp4_gsl_err_counter =0
int Tp5_gsl_err_counter =0

Function Documentation

◆ DTp()

Double_t DTp ( Double_t * t,
Double_t * par )
static

Definition at line 325 of file LArPhysWaveHECTool.cxx.

326{
327 static Double_t res,t;
328
329 static TF1 *ff=NULL;
330 static TGraph *gg=NULL;
331 static Double_t xx[21],yy[21];
332 static Int_t j;
333
334 if(*tt < t0) return 0.;
335 t = *tt;
336
337 if(ff==NULL) ff=new TF1("ff","pol2",0.,800.);
338 if(gg==NULL) gg=new TGraph(11,xx,yy);
339
340
341 ff->SetRange(*tt-5.,*tt+5.);
342 for(j=-10; j<=10; ++j) {
343 res = t + j/2.;
344 gg->SetPoint(j+10,t+j/2.,Tp(&res,par));
345 }
346 if(gg->GetFunction("ff")) gg->GetFunction("ff")->Delete();
347 gg->Fit("ff","QRI0");
348 res = 2*t*ff->GetParameter(2) + ff->GetParameter(1);
349
350
351 return res;
352}
std::pair< std::vector< unsigned int >, bool > res
static Double_t Tp(Double_t *t, Double_t *par)
static Double_t t0

◆ f4_g()

Double_t f4_g ( Double_t * x,
Double_t * par )
static

Definition at line 625 of file LArPhysWaveHECTool.cxx.

626{
627 static Double_t t;
628
629 t = par[0];
630
631 return Tc(*x) * Rd(t - *x);
632}
static Double_t Tc(Double_t t)
static Double_t Rd(Double_t t)
#define x

◆ f4_gsl() [1/2]

double f4_gsl ( double x,
void * par )
static

◆ f4_gsl() [2/2]

double f4_gsl ( Double_t x,
void * par )
static

Definition at line 504 of file LArPhysWaveHECTool.cxx.

505{
506 struct gsl_f_params * params = (struct gsl_f_params *)par;
507 static Double_t t;
508
509 t = params -> a;
510
511
512 return Tc(x) * Rd(t - x);
513}
static Double_t a

◆ f5_g()

Double_t f5_g ( Double_t * x,
Double_t * par )
static

Definition at line 651 of file LArPhysWaveHECTool.cxx.

652{
653 static Double_t t;
654
655 t = par[0];
656
657 return Tc(*x) * Ro(t - *x);
658}
static Double_t Ro(Double_t t)

◆ f5_gsl() [1/2]

double f5_gsl ( double x,
void * par )
static

◆ f5_gsl() [2/2]

double f5_gsl ( Double_t x,
void * par )
static

Definition at line 594 of file LArPhysWaveHECTool.cxx.

595{
596 struct gsl_f_params * params = (struct gsl_f_params *)par;
597 static Double_t t;
598
599 t = params -> a;
600
601 return Tc(x) * Ro(t - x);
602}

◆ normalize()

Double_t normalize ( TF1 * func,
Double_t * rampl = NULL,
Double_t from = 0.,
Double_t to = 0.,
Double_t step = 1. )

Definition at line 825 of file LArPhysWaveHECTool.cxx.

827{
828 static Double_t amax, tmax,t, ampl;
829 static Double_t t1,t2,tt1,tt2;
830 static Int_t i;
831
832 if((from == to) || (from > to))
833 func->GetRange(t1,t2);
834 else {
835 func->GetRange(tt1,tt2);
836 if(from>tt1) t1 = from; else t1 = tt1;
837 if(to<tt2) t2 = to; else t2 = tt2;
838 }
839
840 amax = 0; tmax = t1;
841 for(t=t1; t<=t2; t+=step)
842 {
843 if(func->Eval(t) > amax) {
844 amax = func->Eval(t); tmax = t;
845 }
846 }
847 Double_t x[20], y[20];
848 i=0;
849 for(t=tmax-5; t<tmax+5; ++t) {
850 x[i] = t;
851 y[i] = func->Eval(t);
852 ++i;
853 }
854 TGraph *g = new TGraph(10,x,y);
855 g->Fit("pol2","QIE0");
856 tmax = - g->GetFunction("pol2")->GetParameter(1) / (2 *g->GetFunction("pol2")->GetParameter(2));
857 amax = g->GetFunction("pol2")->Eval(tmax);
858
859 ampl = func->GetParameter(1);
860 if(amax != 0) func->SetParameter(1,ampl/amax);
861 else tmax = 0;
862 cout << "Normalize: tmax="<<tmax << " ampl=" << ampl<<" amax="<<amax << endl;
863 if(rampl != NULL) *rampl = amax;
864 g->Delete();
865 return tmax;
866}
#define y
std::vector< ALFA_RawDataContainer_p1 > t2
std::vector< ALFA_RawDataCollection_p1 > t1
CONT to(RANGE &&r)
Definition ranges.h:39

◆ normalize_prof()

Double_t normalize_prof ( TProfile * histo,
Double_t * rampl = NULL )

Definition at line 868 of file LArPhysWaveHECTool.cxx.

869{
870 Double_t amax, tmax, x, y, err;
871 Int_t nbins,i, j, nent;
872 amax = histo->GetBinContent(0);
873 tmax = histo->GetBinCenter(0);
874 nbins = histo->GetNbinsX();
875 for(i=1; i<nbins; i++)
876 {
877 if(amax < histo->GetBinContent(i))
878 {
879 amax = histo->GetBinContent(i);
880 tmax = histo->GetBinCenter(i);
881 }
882 }
883
884 histo->Fit("pol2","0QI","",tmax-10., tmax+10.);
885 tmax = - histo->GetFunction("pol2")->GetParameter(1) / (2 * histo->GetFunction("pol2")->GetParameter(2));
886 amax = histo->GetFunction("pol2")->Eval(tmax);
887 TProfile *htmp = new TProfile(*histo);
888 histo->Reset();
889 for(i=0; i<=nbins; i++)
890 {
891 if(htmp->GetBinEntries(i) == 0) continue;
892 x = htmp->GetBinCenter(i);
893 y = htmp->GetBinContent(i);
894 nent=int(htmp->GetBinEntries(i));
895 err = htmp->GetBinError(i);
896// Hack for stupid root v.3, which do not like the one entries in profile histo
897 for(j=0; j<7; ++j) {
898 if(nent != 0) {
899 histo->Fill(x,y/amax+sqrt(2)*err/nent);
900 histo->Fill(x,y/amax-sqrt(2)*err/nent);
901 } else {
902 histo->Fill(x,y/amax+sqrt(2)*err);
903 histo->Fill(x,y/amax-sqrt(2)*err);
904 }
905 }
906 }
907
908 if(rampl != NULL) *rampl = amax;
909
910 return tmax;
911}

◆ P()

Double_t P ( Double_t * tt,
Double_t * par )
static

Definition at line 280 of file LArPhysWaveHECTool.cxx.

281{
282 return par[1]*splin->Eval(*tt+par[0]);
283}
static TSpline3 * splin

◆ Rd()

Double_t Rd ( Double_t t)
static

Definition at line 285 of file LArPhysWaveHECTool.cxx.

286{
287 static Double_t res;
288
289 if(t<0 || t>tdr) return 0;
290
291 res = rc*((1+sc*al*tdr)*exp(-t*sc*al)-1) + rz*((1+sz*tdr)*exp(-t*sz)-1);
292 res += rs*((1+ss*tdr)*exp(-t*ss)-1) - 1;
293 res *= fs/tdr;
294
295 return res;
296}
static Double_t rs
static Double_t sz
static Double_t fs
static Double_t ss
static Double_t tdr
static Double_t al
static Double_t sc
static Double_t rc
static Double_t rz

◆ Ro()

Double_t Ro ( Double_t t)
static

Definition at line 298 of file LArPhysWaveHECTool.cxx.

299{
300 static Double_t res;
301
302 if(t<tdr) return 0;
303
304 res = rc*((1+sc*al*tdr)*exp(-t*sc*al) - exp((tdr-t)*sc*al));
305 res += rz*((1+sz*tdr)*exp(-t*sz) - exp((tdr-t)*sz));
306 res += rs*((1+ss*tdr)*exp(-t*ss) - exp((tdr-t)*ss));
307 res *= fs/tdr;
308
309 return res;
310}

◆ Smooth_new()

void Smooth_new ( Double_t * x,
Double_t * y,
Double_t * yref,
Int_t ymax )

Definition at line 925 of file LArPhysWaveHECTool.cxx.

926{
927// Smoothing the difference between the yref and y,
928// then y = y + smoothed differnce
929// repeating few times
930 static Double_t *dif = NULL;
931 static Int_t i,j;
932
933 if(dif) delete[] dif;
934 dif = new Double_t[ymax];
935 for(j=0; j<4; ++j) {
936 for(i=0; i<ymax; ++i) dif[i] = y[i] - yref[i];
937 SmootKern(x,dif,ymax, 10.);
938 for(i=0; i<ymax; ++i) yref[i] += dif[i];
939 }
940}
void SmootKern(Double_t *x, Double_t *y, Int_t ymax, Double_t band=10.)
double ymax
Definition listroot.cxx:64

◆ SmootKern()

void SmootKern ( Double_t * x,
Double_t * y,
Int_t ymax,
Double_t band = 10. )

Definition at line 912 of file LArPhysWaveHECTool.cxx.

913{
914 Double_t *xx, *yy;
915 TGraph *g=new TGraph(ymax,x,y);
916 TGraphSmooth *gs = new TGraphSmooth();
917 TGraph *g1 = gs->SmoothKern(g,"normal",band);
918 xx = g1->GetX(); yy = g1->GetY();
919 for(Int_t i=0; i<g->GetN(); ++i) {
920 x[i] = xx[i]; y[i] = yy[i];
921 }
922 delete g; delete gs;
923}

◆ Tc()

Double_t Tc ( Double_t t)
static

Definition at line 312 of file LArPhysWaveHECTool.cxx.

313{
314 static Double_t res;
315
316 if(t<t0) return 0;
317
318 res = splin->Eval(t);
319
320
321 return res;
322}

◆ Tp()

Double_t Tp ( Double_t * t,
Double_t * par )
static

Definition at line 354 of file LArPhysWaveHECTool.cxx.

355{
356 static Double_t res;
357 static Double_t t,t1,t4,t5;
358
359 if(*tt < t0 + par[0]) return 0;
360// if(par[0] < 0) return 0;
361
362 t = *tt - par[0];
363 taus = par[2];
364
365// Redefinition of poles
366
367 sp = 1/taup; s0 = 1/tau0; sz = 1/tauz; ss = 1/taus; sc = 1/tc;
368 //
369// Coefficients
370
371 rc = pow(al,3)*sc*sc + al*al*(-sc*sc-sc*s0-sc*sp);
372 rc += al*(sc*s0+sc*sp+sp*s0) - sp*s0;
373 rc /= -al*(al*al*sc*sc + al*(-sc*ss-sc*sz) + sz*ss);
374
375 rz = sz*sz*(sc+s0+sp) - pow(sz,3) - sz*sc*(s0+sp) + sp*s0*(sc-sz);
376 rz /= sz*(al*(-sc*sz+sc*ss) + sz*sz - sz*ss);
377
378 rs = -ss*ss*(sc+s0+sp-ss) + sc*ss*(s0+sp) + ss*sp*s0 - sc*sp*s0;
379 rs /= ss*(al*(-sc*sz+sc*ss) + sz*ss - ss*ss);
380
381 fs = sz*ss / (s0*sp);
382
383 t1 = fs*Tc(t);
384
385 t4 = Tp4(t); t5 = Tp5(t);
386 res = t1 + t4 + t5;
387
388 return par[1]*res;
389}
static Double_t sp
static Double_t tauz
static Double_t taus
static Double_t Tp5(Double_t t)
static Double_t taup
static Double_t s0
static Double_t Tp4(Double_t t)
static Double_t tc
static Double_t tau0
constexpr int pow(int base, int exp) noexcept
std::vector< LUCID_RawDataContainer_p1 > t4
std::vector< LUCID_Digit_p2 > t5

◆ Tp4()

Double_t Tp4 ( Double_t t)
static

Definition at line 607 of file LArPhysWaveHECTool.cxx.

608{
609 static Double_t a,b;//, par[1];
610 static const Double_t epsrel = 0.001;
611 static TF1 *fun4 = NULL;
612
613 if(fun4 == NULL) fun4 = new TF1("fun4",&f4_g,0.,NMAX,1);
614
615 a = t - tdr;
616 b = t;
617
618
619 fun4->SetParameter(0,t);
620 return fun4->Integral(a,b,epsrel);
621
622}
static Double_t f4_g(Double_t *x, Double_t *par)
const int NMAX

◆ Tp4_gsl()

Double_t Tp4_gsl ( Double_t t)
static

Definition at line 429 of file LArPhysWaveHECTool.cxx.

430{
431 static Double_t a,b;
432
433
434
435 //BEG: variables for QAWO
436 static double L;
437 static const double omega=0.0;
438 static const size_t n=100;
439 static const size_t limit=1001; // "n" must be < limit
440 static const double epsabs=0.0;
441 static double epsrel=1e-10;
442 double abserr;
443 static gsl_integration_workspace *w=0;
444 static gsl_integration_qawo_table *wf=0;
445 //END: variables for QAWO
446
447 struct gsl_f_params params = {t};
448 gsl_function gsl_func;
449
450 a = t - tdr;
451 if(a < t0) a = t0;
452 b = t;
453
454 //for gsl_integration_qawo:
455 L=b-a;
456 if(!w) w = gsl_integration_workspace_alloc(limit);
457 if(!wf) wf=gsl_integration_qawo_table_alloc(omega,L,GSL_INTEG_COSINE,n);
458
459 gsl_integration_qawo_table_set_length(wf, L);
460 //end of gsl_integration_qawo
461
462 gsl_func.function = &f4_gsl;
463 gsl_func.params = &params;
464 double result;
465
466 // set off automatic GSL error handling
467 gsl_set_error_handler_off();
468 // set integration precision
469 if(b>t0+130) epsrel=1e-8;
470 else epsrel=1e-10;
471
472 unsigned short int INTEGRAL_ITER=0;
473 const unsigned short int INTEGRAL_ITER_MAX=10;
474 int status=-1;
475
476 // compute integral with the starting high precision
477 while((status!=0 || INTEGRAL_ITER==0) && INTEGRAL_ITER<INTEGRAL_ITER_MAX){
478 status = gsl_integration_qawo (&gsl_func,a, epsabs, epsrel,limit,w,wf,&result,&abserr);
479
480 // if failes, descrease the precision
481 if(status == GSL_EROUND) epsrel*=10;
482 // if different error from GSL_EROUND, annonce integration ERROR
483 else if(status!=0){
485 std::cout<< "WARNING Tp4_gsl:QAWO ERROR (not roundoff): status="<<gsl_strerror(status)<<" ERRcode="<<status << " LArWaveFlag set to -1 !!"<< std::endl ;
486 status=0;
487 LArWaveFlag=-1;
489 }
490 INTEGRAL_ITER++;
491 }
492 //if iteration of integration reaches the limit (=> bad precision) set LArWaveFlag to -1
493 if(INTEGRAL_ITER==INTEGRAL_ITER_MAX && status!=0){
494 std::cout<<"WARNING Integration of Tp4_gsl FAILED !!!! #iterations reached the MAXIMUM!!! status="<<gsl_strerror(status)<<" ERRcode="<<status << " LArWaveFlag set to -1 !!"<<std::endl ;
495 LArWaveFlag=-1;
496 }
497
498
499 return result;
500
501}
int Tp4_gsl_err_counter
int LArWaveFlag
static double f4_gsl(double x, void *par)
status
Definition merge.py:16

◆ Tp5()

Double_t Tp5 ( Double_t t)
static

Definition at line 635 of file LArPhysWaveHECTool.cxx.

636{
637 static Double_t b;//, par[1];
638 static const Double_t a = 0., epsrel = 0.001;
639 static TF1 *fun5 = NULL;
640
641 if(fun5 == NULL) fun5 = new TF1("fun5",&f5_g,0.,NMAX,1);
642
643 b = t - tdr;
644 fun5->SetParameter(0,t);
645 return fun5->Integral(a,b,epsrel);
646}
static Double_t f5_g(Double_t *x, Double_t *par)

◆ Tp5_gsl()

Double_t Tp5_gsl ( Double_t t)
static

Definition at line 517 of file LArPhysWaveHECTool.cxx.

518{
519 if(t<t0 + tdr) return 0.;
520 Double_t b;
521
522
523
524 //BEG: variables for QAWO
525 static double L;
526 static const double omega=0.0;
527 static const size_t n=100;
528 static const size_t limit=1001; // "n" must be < limit
529 static const double epsabs=0.0;
530 static double epsrel = 1e-10;
531 double abserr;
532 static gsl_integration_workspace *w=0;
533 static gsl_integration_qawo_table *wf=0;
534 //END: variables for QAWO
535
536 struct gsl_f_params params = {t};
537 gsl_function gsl_func;
538 double a = 0.;
539 b = t - tdr;
540
541 //for gsl_integration_qawo:
542 L=b-a;
543 if(!w) w = gsl_integration_workspace_alloc(limit);
544 if(!wf) wf=gsl_integration_qawo_table_alloc(omega,L,GSL_INTEG_COSINE,n);
545
546 gsl_integration_qawo_table_set_length(wf, L);
547 //end of gsl_integration_qawo
548
549 gsl_func.function = &f5_gsl;
550 gsl_func.params = &params;
551
552
553
554 // set off automatic GSL error handling
555 gsl_set_error_handler_off();
556 // set integration precision
557 if(b>t0+60) epsrel=1e-8; // behinde the peak = tale region
558 else epsrel=1e-10; // peak/amplitude region
559
560 double result;
561 unsigned short int INTEGRAL_ITER=0;
562 const unsigned short int INTEGRAL_ITER_MAX=10;
563 int status=-1;
564
565 while((status!=0 || INTEGRAL_ITER==0) && INTEGRAL_ITER<INTEGRAL_ITER_MAX){
566 status = gsl_integration_qawo (&gsl_func,a, epsabs, epsrel,limit,w,wf,&result,&abserr);
567 // if failes, descrease the precision
568 if(status == GSL_EROUND) epsrel*=10;
569 // if different error from GSL_EROUND, annonce integration ERROR
570 else if(status!=0){
572 std::cout <<"WARNING: Tp5_gsl:QAWO ERROR (not roundoff): status="<<gsl_strerror(status)<<" ERRcode="<<status << " LArWaveFlag set to -1 !!"<< std::endl ;
573 status=0;
574 LArWaveFlag=-1;
576 }
577 INTEGRAL_ITER++;
578 }
579 //if iteration of integration reaches the limit (=> bad precision) set LArWaveFlag to -1
580 if(INTEGRAL_ITER==INTEGRAL_ITER_MAX && status!=0){
581 std::cout<<"WARNING: Integration of Tp5_gsl FAILED: #iterations reached the MAXIMUM!!!! status="<<gsl_strerror(status)<<" ERRcode="<<status << " LArWaveFlag set to -1 !!"<<std::endl ;
582 LArWaveFlag=-1;
583 }
584
585
586
587 return result;
588
589}
static double f5_gsl(double x, void *par)
int Tp5_gsl_err_counter

◆ Tp_gsl()

Double_t Tp_gsl ( Double_t * t,
Double_t * par )
static

Definition at line 391 of file LArPhysWaveHECTool.cxx.

392{
393 static Double_t res;
394 static Double_t t,t1,t4,t5;
395
396 if(*tt < t0 + par[0]) return 0;
397
398 t = *tt - par[0];
399 taus = par[2];
400
401// Redefinition of poles
402
403 sp = 1/taup; s0 = 1/tau0; sz = 1/tauz; ss = 1/taus; sc = 1/tc;
404 //
405// Coefficients
406
407 rc = pow(al,3)*sc*sc + al*al*(-sc*sc-sc*s0-sc*sp);
408 rc += al*(sc*s0+sc*sp+sp*s0) - sp*s0;
409 rc /= -al*(al*al*sc*sc + al*(-sc*ss-sc*sz) + sz*ss);
410
411 rz = sz*sz*(sc+s0+sp) - pow(sz,3) - sz*sc*(s0+sp) + sp*s0*(sc-sz);
412 rz /= sz*(al*(-sc*sz+sc*ss) + sz*sz - sz*ss);
413
414 rs = -ss*ss*(sc+s0+sp-ss) + sc*ss*(s0+sp) + ss*sp*s0 - sc*sp*s0;
415 rs /= ss*(al*(-sc*sz+sc*ss) + sz*ss - ss*ss);
416
417 fs = sz*ss / (s0*sp);
418
419 t1 = fs*Tc(t);
420
421 t4 = Tp4_gsl(t); t5 = Tp5_gsl(t);
422 res = t1 + t4 + t5;
423
424 return par[1]*res;
425}
static Double_t Tp4_gsl(Double_t t)
static Double_t Tp5_gsl(Double_t t)

Variable Documentation

◆ a

Double_t a
static

Definition at line 38 of file LArPhysWaveHECTool.cxx.

◆ al

Double_t al
static

Definition at line 38 of file LArPhysWaveHECTool.cxx.

◆ ATLAS_NO_CHECK_FILE_THREAD_SAFETY

ATLAS_NO_CHECK_FILE_THREAD_SAFETY

Definition at line 17 of file LArPhysWaveHECTool.cxx.

◆ fs

Double_t fs
static

Definition at line 37 of file LArPhysWaveHECTool.cxx.

◆ LArWaveFlag

int LArWaveFlag =0

Definition at line 57 of file LArPhysWaveHECTool.cxx.

◆ NMAX

const int NMAX =1000

Definition at line 22 of file LArPhysWaveHECTool.cxx.

◆ pref

Double_t * pref = NULL
static

Definition at line 39 of file LArPhysWaveHECTool.cxx.

◆ rc

Double_t rc
static

Definition at line 37 of file LArPhysWaveHECTool.cxx.

◆ rs

Double_t rs
static

Definition at line 37 of file LArPhysWaveHECTool.cxx.

◆ rz

Double_t rz
static

Definition at line 37 of file LArPhysWaveHECTool.cxx.

◆ s0

Double_t s0
static

Definition at line 37 of file LArPhysWaveHECTool.cxx.

◆ sc

Double_t sc
static

Definition at line 37 of file LArPhysWaveHECTool.cxx.

◆ sp

Double_t sp
static

Definition at line 37 of file LArPhysWaveHECTool.cxx.

◆ splin

TSpline3* splin = NULL
static

Definition at line 51 of file LArPhysWaveHECTool.cxx.

◆ ss

Double_t ss
static

Definition at line 37 of file LArPhysWaveHECTool.cxx.

◆ STEP

Double_t STEP
static

Definition at line 39 of file LArPhysWaveHECTool.cxx.

◆ sz

Double_t sz
static

Definition at line 37 of file LArPhysWaveHECTool.cxx.

◆ t0

Double_t t0
static

Definition at line 38 of file LArPhysWaveHECTool.cxx.

◆ tau0

Double_t tau0
static

Definition at line 37 of file LArPhysWaveHECTool.cxx.

◆ taup

Double_t taup
static

Definition at line 37 of file LArPhysWaveHECTool.cxx.

◆ taus

Double_t taus
static

Definition at line 37 of file LArPhysWaveHECTool.cxx.

◆ tauz

Double_t tauz
static

Definition at line 37 of file LArPhysWaveHECTool.cxx.

◆ tc

Double_t tc
static

Definition at line 38 of file LArPhysWaveHECTool.cxx.

◆ tdr

Double_t tdr
static

Definition at line 38 of file LArPhysWaveHECTool.cxx.

◆ Tp4_gsl_err_counter

int Tp4_gsl_err_counter =0

Definition at line 57 of file LArPhysWaveHECTool.cxx.

◆ Tp5_gsl_err_counter

int Tp5_gsl_err_counter =0

Definition at line 57 of file LArPhysWaveHECTool.cxx.

◆ x

Double_t x[NMAX]
static

Definition at line 39 of file LArPhysWaveHECTool.cxx.

◆ y

Double_t y[NMAX]
static

Definition at line 39 of file LArPhysWaveHECTool.cxx.