2 #include <evt/ShowerFRecData.h>
5 #include <fevt/EyeHeader.h>
6 #include <fevt/FEvent.h>
7 #include <fevt/EyeRecData.h>
9 #include <det/Detector.h>
12 #include <fdet/FDetector.h>
14 #include <fwk/RunController.h>
26 namespace FdProfileConstrainedGeometryFit {
37 FdProfileConstrainedGeometryFit::Finish()
48 FEvent& fevent =
event.GetFEvent();
53 end = fevent.
EyesEnd(ComponentSelector::eHasData); eye != end; ++eye) {
54 if (!eye->HasRecData() ||
55 !eye->GetRecData().HasFRecShower() ||
56 det::Detector::GetInstance().GetFDetector().GetEye(*eye).IsVirtual() ||
57 eye->GetRecData().GetTimeFitNDof() <=0)
60 cout <<
"PCGF for eye " << eye->GetId() <<
" ...\n";
61 if (fPCGFitter.Run(*eye)) {
64 eye->SetStatus(ComponentSelector::eDeSelected);
67 cout <<
"PCGF for eye " << eye->GetId() <<
" DONE\n";
71 ++fwk::RunController::GetInstance().GetRunData().GetNamedCounters()[
"FdProfileConstrainedGeometryFit/Good"];
80 FdProfileConstrainedGeometryFit::FitTimingOfGivenGeometry(
const Eye& eye)
86 cout <<
"Parameters from Axis Finder:\n"
89 "Rp: " << eyeRec.
GetRp()/
m <<
"\t"
97 cout <<
"scanning Chi_0\n";
99 for (
int i = 0; i <= 180; ++i) {
100 cout << i <<
" degrees\n";
102 chi0reg(i*
degree, chi2, rp, t0);
103 cout <<
"Rp: " << rp/
m <<
"\t"
104 "T0: " << t0/
ns <<
"\t"
105 "Chi^2_t: " << chi2 <<
"\t";
Fluorescence Detector Eye Event.
double GetChiZero() const
EyeIterator EyesEnd(const ComponentSelector::Status status)
void Init()
Initialise the registry.
boost::filter_iterator< ComponentSelector, AllEyeIterator > EyeIterator
selective Eye iterators
EyeIterator EyesBegin(const ComponentSelector::Status status)
Top of Fluorescence Detector event hierarchy.
Eye-specific shower reconstruction data.
double GetTimeFitChiSquare() const
ResultFlag
Flag returned by module methods to the RunController.
fevt::EyeRecData & GetRecData()
Reconstructed data for this eye.