G/PCGFitter.h
Go to the documentation of this file.
1 #ifndef _FdProfileConstrainedGeometryFitPG_PCGFitter_h_
2 #define _FdProfileConstrainedGeometryFitPG_PCGFitter_h_
3 
4 #include <utl/Minou.h>
5 
6 #include "ChiZeroRegression.h"
7 #include "ProfileChi2.h"
8 #include "ApertureLight.h"
9 
10 #include <evt/Event.h>
11 
12 #include <fevt/Eye.h>
13 #include <fevt/EyeRecData.h>
14 
15 #include "../FdApertureLightFinderKG/FdApertureLightFinder.h"
16 
17 
18 namespace FdProfileConstrainedGeometryFitPG {
19 
27  class PCGFitter : public utl::Minou::Base {
28  public:
29  PCGFitter() : Base({{"chi0"}}) { }
30 
31  void Init();
32 
39  double operator()(const std::vector<double>& par);
40 
42  bool Run(fevt::Eye &eye);
43 
44  public:
49  };
50 
51  protected:
55 
60  bool fPrescan;
61  bool fScanOnly;
62  double fScanStep;
63  double fScanStart;
64  double fScanStop;
67  bool fRealAtm;
68  bool fDeex;
70  unsigned int fTelId;
71  bool fPrecise;
73 
74  fevt::Eye& CopyEye(const fevt::Eye& eye, evt::Event& eventCopy) const;
75 
77  bool ScanChi0(fevt::Eye &eye,
78  double step = 1*utl::degree,
79  double from = 10*utl::degree,
80  double to = 170*utl::degree,
81  int level = 0);
82 
83 
84  double CombinedChi2 (const double chi0, double &rp, double &rpErr, double &t0, double &t0Err,
85  const fevt::PCGFData::EPCGFStatus status,
86  const bool verbose = false);
87 
88  bool Prescan(const double step, double &from, double &to);
89 
90  bool Underground(const double chi0, const double rp, const fevt::Eye &eye);
91 
92  void FillParams(fevt::Eye& eyeCopy,
93  const double chi0, const double chi0Err, const double rp, const double rpErr,
94  const double t0, const double t0Err) const;
95 
96  void FillParams(fevt::Eye& eyeCopy, const double chi0, const double rp, const double t0) const;
97 
98  bool AdjustGeometry(fevt::Eye& eyeCopy) const;
99 
100  private:
101  std::vector<fevt::PCGFData> fPCGFData;
102  };
103 
104 }
105 
106 
107 #endif
Fluorescence Detector Eye Event.
Definition: FEvent/Eye.h:29
bool Underground(const double chi0, const double rp, const fevt::Eye &eye)
Definition: G/PCGFitter.cc:104
double CombinedChi2(const double chi0, double &rp, double &rpErr, double &t0, double &t0Err, const fevt::PCGFData::EPCGFStatus status, const bool verbose=false)
Definition: G/PCGFitter.cc:181
bool ScanChi0(fevt::Eye &eye, double step=1 *utl::degree, double from=10 *utl::degree, double to=170 *utl::degree, int level=0)
Definition: G/PCGFitter.cc:521
void Init()
Initialise the registry.
bool AdjustGeometry(fevt::Eye &eyeCopy) const
Definition: G/PCGFitter.cc:711
FdApertureLightFinderKG::FdApertureLightFinder fApertureLightFinder
Definition: G/PCGFitter.h:56
fevt::Eye & CopyEye(const fevt::Eye &eye, evt::Event &eventCopy) const
Definition: G/PCGFitter.cc:668
void FillParams(fevt::Eye &eyeCopy, const double chi0, const double chi0Err, const double rp, const double rpErr, const double t0, const double t0Err) const
Definition: G/PCGFitter.cc:679
double operator()(const std::vector< double > &par)
Definition: G/PCGFitter.cc:167
constexpr double degree
bool Prescan(const double step, double &from, double &to)
Definition: G/PCGFitter.cc:482
A simple module to reconstruct the light flux at the apertures.
std::vector< fevt::PCGFData > fPCGFData
Definition: G/PCGFitter.h:101

, generated on Tue Sep 26 2023.