1 #include <fwk/LocalCoordinateSystem.h>
2 #include <evt/ShowerScintillatorRecData.h>
3 #include <utl/AugerException.h>
4 #include <utl/ErrorLogger.h>
5 #include <utl/TabulatedFunctionErrors.h>
7 #include <utl/Deprecator.h>
8 #include <utl/ParameterStorage.h>
10 #include <utl/LameShadowPtr_imp.h>
11 #include <evt/ShowerSRecData.h>
26 const double ShowerSRecData::kBary = 0.5;
27 const double ShowerSRecData::kPlaneFitLinear = 1;
28 const double ShowerSRecData::kPlaneFitLinear2 = 1.1;
29 const double ShowerSRecData::kPlaneFit3d = 1.2;
30 const double ShowerSRecData::kLDFEstimate = 2;
31 const double ShowerSRecData::kLDFEstimateAndCurvature = 2.5;
32 const double ShowerSRecData::kLDF = 3;
33 const double ShowerSRecData::kLDFAndCurvature = 3.5;
34 const double ShowerSRecData::kLDFSilents = 4;
35 const double ShowerSRecData::kLDFSilentsAndCurvature = 4.5;
36 const double ShowerSRecData::kLDFGlobalFit = 5;
37 const double ShowerSRecData::kLDFBeta = 0.1;
38 const double ShowerSRecData::kLDFGamma = 0.01;
39 const double ShowerSRecData::kLDFLowerLimit = 0.001;
43 ShowerSRecData::GetShowerCenter()
47 return fCore + fAxis/fCurvature;
54 ShowerSRecData::MakeLDF()
57 ERROR(
"LDF exists. Not replacing");
64 ShowerSRecData::MakeMPDHistogram(
const int nBins,
const double min,
const double max)
82 switch (fShowerSizeType) {
83 case eS1000:
return "S1000";
84 case eS450:
return "S450";
85 case eN19:
return "N19";
86 case eS300:
return "S300";
96 ShowerSRecData::MakeScintillatorRecShower()
98 if (!fShowerScintillatorRecData)
101 ERROR(
"ScintillatorRecShower already exists - Not replacing");
106 ShowerSRecData::GetBarycenterCoordinateSystem()
109 if (!fBarycenterCoordinateSystem)
111 return fBarycenterCoordinateSystem;
116 ShowerSRecData::GetCoreCoordinateSystem()
119 if (!fCoreCoordinateSystem)
121 return fCoreCoordinateSystem;
129 if (!fShowerCoordinateSystem) {
130 const auto& coreCS = GetCoreCoordinateSystem();
131 const double theta = GetAxis().GetTheta(coreCS);
132 const double phi = GetAxis().GetPhi(coreCS);
133 fShowerCoordinateSystem = CoordinateSystem::RotationY(theta, CoordinateSystem::RotationZ(phi, coreCS));
135 return fShowerCoordinateSystem;
#define LAMESHADOWPTR_INST(_T_...)
Interface class to access to the SD Reconstruction of a Shower.
CoordinateSystemPtr GetShowerCoordinateSystem(const double theta, const double phi, const Point &core)
boost::shared_ptr< const CoordinateTransformer > CoordinateSystemPtr
Shared pointer for coordinate systems.
boost::tuple< double, double, double > Triple
Coordinate triple for easy getting or setting of coordinates.
void PropagateAxisErrors(const Vector::Triple &u_v_w, const Vector::Triple &sigma_u2_uv_v2, double &thetaError, double &phiError, double &thetaPhiCorrelation)
string GetShowerSizeLabel(const LDFFitConfig &config)
Class to access shower scintillator reconstructed data.
static Policy::type Create(const utl::Point &theOrigin)
Create the standard local coordinate system for a Point.
#define ERROR(message)
Macro for logging error messages.