1 #ifndef _evt_ShowerSRecData_h_
2 #define _evt_ShowerSRecData_h_
5 #include <utl/Vector.h>
6 #include <utl/TimeStamp.h>
7 #include <utl/TimeInterval.h>
8 #include <utl/TabulatedFunctionErrors.h>
9 #include <utl/Histogram.h>
10 #include <utl/LameShadowPtr_fwd.h>
11 #include <utl/ShadowPtr.h>
12 #include <evt/RiseTime1000.h>
13 #include <evt/ShowerSRecDataQuantities.h>
14 #include <sevt/PlaneFrontRecData.h>
15 #include <sevt/SdFootprintData.h>
16 #include <utl/ParameterStorage.h>
17 #include <sevt/SEventConstants.h>
26 class ShowerScintillatorRecData;
94 void SetBeta(
const double beta,
const double error)
97 void SetGamma(
const double gamma,
const double error)
281 static const std::string&
CurrentModule() {
return fwk::RunController::GetInstance().GetCurrentModule(); }
static const double kLDFEstimateAndCurvature
double GetParameterError(const Parameter q) const
const evt::RiseTime1000 & GetRiseTime1000() const
bool GetParameterErrorLockStatus(const Parameter q) const
double GetSizeGeomagneticCorrError() const
utl::TabulatedFunctionErrors & GetLDF()
void MakeMPDHistogram(const int nBins, const double min, const double max)
double GetCorrelationXY() const
void SetCurvature(const double curvature, const double error)
gaussian curvature = 1 / Rc
int GetT5ClosestStation() const
ShowerSizeType GetShowerSizeType() const
const ShowerScintillatorRecData & GetScintillatorRecShower() const
double GetNKGFermiTau() const
double GetCurvatureError() const
bool HasMPDHistogram() const
void SetShowerSize(const double value, const double error)
static const double kPlaneFit3d
void SetBarycenter(const utl::Point &bary)
double fTimeResidualSpread
double GetAngleNdof() const
void SetPhiError(const double err)
double GetCurvature() const
gaussian curvature = 1 / Rc
void SetBeta(const double beta, const double error)
utl::ShadowPtr< evt::RiseTime1000 > fRiseTime1000
sevt::SdFootprintData & GetFootprintData()
void SetT5PosteriorActiveUUBNeighbors(const std::vector< int > &neigh)
bool IsT5ClosestStationUUB() const
double GetEnergyLDFSystematics() const
void SetSeedBarycenter(const utl::Point &b)
utl::Histogram< double > & GetMPDHistogram()
Interface class to access to the SD Reconstruction of a Shower.
void SetLDFOptimumDistance(const double rOpt)
bool fT5ClosestStationIsUUB
Interface class to access Shower Reconstructed parameters.
const utl::CoordinateSystemPtr & GetCoreCoordinateSystem() const
origin = GetCore(), z-axis = local vertical, x-axis = east
const utl::TabulatedFunctionErrors & GetLDF() const
utl::CoordinateSystemPtr fBarycenterCoordinateSystem
boost::tuple< double, double, double > Triple
Coordinate triple for easy getting or setting of coordinates.
const utl::Histogram< double > & GetMPDHistogram() const
std::vector< int > fT5PosteriorActiveNeighbors
double GetBetaError() const
const utl::TimeStamp & GetBarytime() const
double fSizeGeomagneticCorrError
void SetParameterCovariance(const Parameter q1, const Parameter q2, const double corr, const bool lock=true)
bool HasParameterError(const Parameter q) const
void SetT5PriorActiveNeighbors(const std::vector< int > &neigh)
double GetAngleChi2() const
double fLDFOptimumDistance
void SetS38(const double s38)
double fEnergyLDFSystematics
double GetSizeAtmosphericCorrError() const
void SetT5PosteriorActiveNeighbors(const std::vector< int > &neigh)
bool HasScintillatorRecShower() const
int GetT5HottestStation() const
bool HasParameter(const IndexEnum param) const
determine whether a parameter has been set
const utl::CoordinateSystemPtr & GetBarycenterCoordinateSystem() const
origin = GetBarycenter(), z-axis = local vertical, x-axis = east
double GetParameterCovariance(const Parameter q1, const Parameter q2) const
const std::vector< int > & GetT5PosteriorActiveNeighbors() const
const utl::Vector & GetCoreError() const
static const double kPlaneFitLinear2
void SetAngleChi2(const double chi2, const double ndof)
void SetCurvatureTimeOffset(const double ct0, const double ct0Error)
const std::vector< int > & GetT5PriorActiveUUBNeighbors() const
double GetShowerSize() const
void SetT5HottestStation(const int id)
const utl::Vector & GetSeedAxis() const
utl::CoordinateSystemPtr fShowerCoordinateSystem
const sevt::PlaneFrontRecData & GetPlaneFrontRecData() const
void SetT5PriorActiveUUBNeighbors(const std::vector< int > &neigh)
void MakePlaneFrontRecData()
void SetBetaSystematics(const double betasys)
void SetT5ClosestStation(const int id)
unsigned int GetT5PosteriorCoreTriangle() const
void SetLDFChi2(const double chi2, const double ndof)
double GetEnergyError() const
const utl::CoordinateSystemPtr & GetShowerCoordinateSystem() const
origin = GetCore(), z-axis = GetAxis(), x-axis = upstream
const std::vector< int > & GetReconstructionSeed() const
double GetBetaSystematics() const
A TimeStamp holds GPS second and nanosecond for some event.
void SetAngleErrors(const utl::Vector::Triple &u_v_w, const utl::Vector::Triple &sigma_u2_uv_v2)
void SetCorrelationThetaPhi(const double corr)
void SetTimeResidualMean(const double mean)
void SetBadPeriodId(const int id)
void SetT5ClosestStationIsUUB(const bool flag)
static const double kLDFSilentsAndCurvature
void SetIsTOTdMoPSSilent(const bool silent)
bool HasRiseTime1000() const
void SetCoreError(const utl::Vector &coreerr)
boost::shared_ptr< const CoordinateTransformer > CoordinateSystemPtr
Shared pointer for coordinate systems.
utl::ShadowPtr< sevt::PlaneFrontRecData > fPlaneFrontRecData
double GetParameter(const Parameter q) const
bool GetParameterLockStatus(const Parameter q) const
utl::TimeInterval fCoreTimeError
void SetParameter(const Parameter q, const double param, const bool lock=true)
const sevt::SdFootprintData & GetFootprintData() const
double GetCicRefAngle() const
double GetCurvatureTimeOffset() const
static const std::string & CurrentModule()
void SetSeedAxis(const utl::Vector &axis)
const utl::TimeStamp & GetCoreTime() const
time when shower front passes through the core point
void SetAxis(const utl::Vector &axis)
bool GetParameterCovarianceLockStatus(const Parameter q1, const Parameter q2) const
const utl::Point & GetBarycenter() const
void SetShowerSizeSystematics(const double sysError)
static const double kBary
sevt::ShowerSRecDataQuantities Parameter
double GetTimeResidualSpread() const
void SetThetaError(const double err)
ShowerScintillatorRecData & GetScintillatorRecShower()
double GetLDFRecStage() const
double GetCurvatureTimeOffsetError() const
void SetReconstructionSeed(const std::vector< int > &stations)
double GetThetaError() const
static const double kLDFSilents
double fCorrelationThetaPhi
const utl::Vector & GetAxis() const
std::vector< int > fT5PosteriorActiveUUBNeighbors
double GetSizeAtmosphericCorr() const
correction applied to the shower size due to the atmosphere and geomagnetic effect ...
double GetPhiError() const
double fSizeAtmosphericCorr
double GetLDFChi2() const
std::vector< Parameter > GetEnumVector() const
void SetCoreTime(const utl::TimeStamp &coreTime, const utl::TimeInterval &coreTimeErr)
utl::LameShadowPtr< evt::ShowerScintillatorRecData > fShowerScintillatorRecData
void SetEnergyLDFSystematics(const double sys)
void SetSizeGeomagneticCorr(const double what, const double whatEr)
const std::vector< int > & GetT5PriorActiveNeighbors() const
const utl::TimeInterval & GetCoreTimeError() const
double GetGammaError() const
bool HasParameter(const Parameter q) const
std::vector< std::pair< Parameter, Parameter > > GetCovarianceEnumVector() const
bool HasFootprintData() const
A TimeInterval is used to represent time elapsed between two events.
void SetTimeResidualSpread(const double spread)
static const double kLDFGamma
double GetLDFOptimumDistance() const
const char * GetShowerSizeLabel() const
void SetNumberOfActiveStations(const int nstations)
double GetCorrelationThetaPhi() const
void SetT5Trigger(const int t5)
bool HasPlaneFrontRecData() const
sevt::PlaneFrontRecData & GetPlaneFrontRecData()
void SetBarytime(const utl::TimeStamp &t)
utl::CoordinateSystemPtr fCoreCoordinateSystem
double GetShowerSizeError() const
void SetSizeAtmosphericCorr(const double what, const double whatEr)
const utl::Point & GetCorePosition() const
void SetCorePosition(const utl::Point &core)
double fSizeGeomagneticCorr
ShowerSizeType fShowerSizeType
std::vector< int > fT5PriorActiveNeighbors
double GetSizeGeomagneticCorr() const
Class to access shower scintillator reconstructed data.
void SetNKGFermiParameters(const double mu, const double tau)
void SetLDFLikelihood(const double likelihood)
~ShowerSRecData()=default
void SetShowerSizeType(const ShowerSizeType type)
void SetGamma(const double gamma, const double error)
utl::ShadowPtr< utl::TabulatedFunctionErrors > fLDF
utl::ShadowPtr< sevt::SdFootprintData > fFootprintData
evt::RiseTime1000 & GetRiseTime1000()
void SetEnergy(const double energy, const double error)
void MakeScintillatorRecShower()
double GetLDFNdof() const
void SetLDFRecStage(const double stage)
void SetT4Trigger(const int t4)
void DeleteParameterCovariance(const Parameter q1, const Parameter q2)
utl::ShadowPtr< utl::Histogram< double > > fMPDHistogram
int fNumberOfActiveStations
static const double kLDFLowerLimit
void SetCorrelationXY(const double corr)
static const double kLDFEstimate
static const double kLDFGlobalFit
double GetNKGFermiMu() const
double fShowerSizeSystematics
double GetTimeResidualMean() const
int GetNumberOfActiveStations() const
utl::ParameterStorage< Parameter > fParameterStorage
static const double kLDFBeta
std::vector< int > fReconstructionSeed
vector of 3 seed station Ids
double fCurvatureTimeOffset
bool HasParameterCovariance(const Parameter q1, const Parameter q2) const
double GetShowerSizeSystematics() const
double GetLDFLikelihood() const
void SetCicRefAngle(const double angle)
static const double kLDFAndCurvature
bool IsTOTdMoPSSilent() const
const std::vector< int > & GetT5PosteriorActiveUUBNeighbors() const
double fCurvatureTimeOffsetError
std::vector< int > fT5PriorActiveUUBNeighbors
void SetT5PosteriorCoreTriangle(const unsigned int type)
unsigned int fT5PosteriorCoreTriangle
const utl::Point & GetSeedBarycenter() const
bool HasShowerSizeType(const ShowerSizeType type) const
void DeleteParameter(const Parameter q)
utl::Point fSeedBarycenter
double fSizeAtmosphericCorrError
utl::Point GetShowerCenter() const
this only works if core, axis, and curvature are set
static const double kPlaneFitLinear
int GetBadPeriodId() const