RdHASLDFFitter.h
Go to the documentation of this file.
1 #ifndef _RdHASLDFFitter_RdHASLDFFitter_h_
2 #define _RdHASLDFFitter_RdHASLDFFitter_h_
3 
4 #include <fwk/VModule.h>
5 #include <utl/PhysicalFunctions.h>
6 
7 #include <string>
8 
9 
10 namespace RdHASLDFFitter {
11 
12  class RdHASLDFFitter : public fwk::VModule {
13 
14  public:
15  fwk::VModule::ResultFlag Init() override;
16  fwk::VModule::ResultFlag Run(evt::Event& event) override;
18 
19  private:
20  // Parameter for energy calibration Srad -> Eem
21  double fS19 = 0;
22  double fGamma = 0;
23 
24  // Parameter for density correction Erad -> Srad
25  double fAvgDensity = 0;
26  double fp0 = 0;
27  double fp1 = 0;
28 
29  // correction factor to S19
31 
32  unsigned int fMinimumNumberOfStations = 0;
33 
34  bool fFitDistanceToXmax = true;
35  bool fFitCore = true;
36 
39 
40  std::string fXmaxType;
43  std::string fFitDirection;
44 
45  bool fUseSaturatedStations = false;
47  bool fUseSoftExponent = true;
48 
50 
51  int fSuccessfulFits = 0;
52  int fFailedFits = 0;
53 
54  bool GetXmaxEstimator(const evt::Event& event, double& xmax) const;
55 
56  void ElectromagneticEnergy(const double sRad, const double sRadErr,
57  double& electromagneticEnergyRec, double& electromagneticEnergyRecErr, const double zenith) const;
58 
59  void RadiationDensityCorrection(const double densityMax, const double densityMaxErr,
60  double& radiationDensityCorrection, double& radiationDensityCorrectionErr) const;
61 
62  REGISTER_MODULE("RdHASLDFFitter", RdHASLDFFitter);
63 
64  };
65 
66 }
67 
68 
69 #endif
REGISTER_MODULE("RdHASLDFFitter", RdHASLDFFitter)
fwk::VModule::ResultFlag Run(evt::Event &event) override
Run: invoked once per event.
bool fApplyParametricCorrectionToElectromagneticEnergyUncertainty
void ElectromagneticEnergy(const double sRad, const double sRadErr, double &electromagneticEnergyRec, double &electromagneticEnergyRecErr, const double zenith) const
HadronicInteractionModel
fwk::VModule::ResultFlag Init() override
Initialize: invoked at beginning of run (NOT beginning of event)
Module interface.
Definition: VModule.h:53
utl::HadronicInteractionModel fHadronicInteractionModel
bool GetXmaxEstimator(const evt::Event &event, double &xmax) const
ResultFlag
Flag returned by module methods to the RunController.
Definition: VModule.h:60
void RadiationDensityCorrection(const double densityMax, const double densityMaxErr, double &radiationDensityCorrection, double &radiationDensityCorrectionErr) const
fwk::VModule::ResultFlag Finish() override
Finish: invoked at end of the run (NOT end of the event)

, generated on Tue Sep 26 2023.