USCInter/TankResponse.h
Go to the documentation of this file.
1 #ifndef _USCInterTankResponseNS_USCInterTankResponse_h_
2 #define _USCInterTankResponseNS_USCInterTankResponse_h_
3 
4 #include <tls/VTankResponse.h>
5 
6 #include <utl/SplineInterpolator.h>
7 #include <utl/AugerUnits.h>
8 
9 
10 namespace utl {
11  class Branch;
12 }
13 
14 namespace USCInterTankResponseNS {
15 
19 
20 
22 
23  public:
24  static TankResponse& GetInstance(const utl::Branch branch);
25 
26  virtual double PDF(const double signal, const double theta, const double r, const ulong muons) const;
27 
28  virtual double CDF(const double threshold, const double theta, const double r, const ulong muons) const;
29 
30  virtual double Mean(const double theta, const double r, const ulong muons) const;
31 
32  virtual double StDev(const double theta, const double r, const ulong muons) const;
33 
34  virtual double GetThetaMin() const { return GetThetaMinDeg()*utl::degree; }
35  virtual double GetThetaMax() const { return GetThetaMaxDeg()*utl::degree; }
36 
37  virtual double GetRadiusMin() const { return pow(10, GetLogrMin())*utl::meter; }
38  virtual double GetRadiusMax() const { return pow(10, GetLogrMax())*utl::meter; }
39 
40  private:
41  TankResponse() = default;
42  TankResponse(const utl::Branch branch);
43 
44  virtual ~TankResponse() = default;
46 
47  private:
48  unsigned long GetMaxMuonNumber() const { return 8; }
49 
50  double GetThetaMinDeg() const { return 60; }
51 
52  double GetThetaMaxDeg() const { return 88; }
53 
54  double GetLogrMin() const { return 2; }
55 
56  double GetLogrMax() const { return 3.75; }
57 
58  static const int NBIN = 2860;
59 
60  bool fSimulationMode = true;
61  double fDS = 0;
62  double fTriggerParameters[2][2] = { { 0 } };
63  double fProbNoTriggerSilent[2][16][30] = { { { 0 } } };
64  USCTankModel fUSCTankModel[8]; // 8 is the number of muons!
67 
68  };
69 
70 }
71 
72 
73 #endif
virtual double StDev(const double theta, const double r, const ulong muons) const
Standard deviation of signal, given fixed number of muons.
TankResponse & operator=(const TankResponse &)
unsigned long ulong
Definition: VTankResponse.h:28
double pow(const double x, const unsigned int i)
virtual double PDF(const double signal, const double theta, const double r, const ulong muons) const
PDF of signal, given a fixed number of muons.
virtual double Mean(const double theta, const double r, const ulong muons) const
Average signal, given fixed number of muons.
Class representing a document branch.
Definition: Branch.h:107
Interface class for coupling different tank response calculations into the reconstruction code...
Definition: VTankResponse.h:26
virtual double GetThetaMax() const
Largest zenith angle at which the tank response is defined.
constexpr double meter
Definition: AugerUnits.h:81
utl::Spline::Interpolator2D USCSigmaTankModel
constexpr double degree
virtual double GetRadiusMin() const
Smallest radial distance at which the tank response is defined.
virtual double GetThetaMin() const
Smallest zenith angle at which the tank response is defined.
utl::Spline::VectorInterpolator2D USCTankModel
virtual double GetRadiusMax() const
Largest radial distance at which the tank response is defined.
virtual double CDF(const double threshold, const double theta, const double r, const ulong muons) const
Probability of signal begin smaller than smax, given a fixed number of muons.
utl::Spline::Interpolator2D USCAvgTankModel

, generated on Tue Sep 26 2023.