A module to perform Hybrid Reconstruction. More...
#include "HybridGeometryFinderOG/HybridGeometryFinder.h"
Public Types | |
enum | ResultFlag { eSuccess, eFailure, eBreakLoop, eContinueLoop } |
Flag returned by module methods to the RunController. More... | |
enum | VersionInfoType { eFilename = 1, eRevisionNumber = 2, eDate = 3, eTime = 4, eLastEditor = 5 } |
Different types of version info that can be retrieved from GetVersionInfo. More... | |
Public Member Functions | |
fwk::VModule::ResultFlag | Finish () |
Finish: invoked at end of the run (NOT end of the event) More... | |
utl::Stopwatch & | GetStopwatch () |
const utl::Stopwatch & | GetStopwatch () const |
std::string | GetVersionInfo (const VersionInfoType v) const |
Retrieve different sorts of module version info. More... | |
fwk::VModule::ResultFlag | Init () |
Initialize: invoked at beginning of run (NOT beginning of event) More... | |
void | InitTiming () |
fwk::VModule::ResultFlag | Run (evt::Event &event) |
Run: invoked once per event. More... | |
ResultFlag | RunWithTiming (evt::Event &event) |
Static Public Member Functions | |
static std::string | GetResultFlagByName (const ResultFlag flag) |
Protected Types | |
enum | InfoLevel { eInfoNone = 0, eInfoFinal = 1, eInfoIntermediate = 2, eInfoDebug = 3 } |
Protected Attributes | |
int | fInfoLevel = 0 |
Private Member Functions | |
bool | FindAxisHybrid (fevt::Eye &eye) |
bool | ReadmitPixel (fevt::Eye &eye) |
REGISTER_MODULE ("HybridGeometryFinderOG", HybridGeometryFinder) | |
bool | RejectPixel (fevt::Eye &eye) |
Static Private Member Functions | |
static void | MinuitFitFuncHybrid (int &npar, double *const gin, double &f, double *const par, const int iflag) |
Private Attributes | |
double | fChi0 |
double | fChi0_test [2] |
double | fChi0Error |
double | fChi0Error_test [2] |
double | fChi2TimeFit_test [2] |
double | fCovariance [3][3] |
double | fCovariance_test1 [3][3] |
double | fCovariance_test2 [3][3] |
int | fHotStationId_test [2] |
int | fNDofTimeFit_test [2] |
bool | fOptimize |
int | fround_test [2] |
double | fRp |
double | fRp_test [2] |
double | fRpError |
double | fRpError_test [2] |
double | fSigmasLimit |
double | fT0 |
double | fT0_test [2] |
double | fT0Error |
double | fT0Error_test [2] |
double | fTolerance |
double | fUseNthStation |
Static Private Attributes | |
static int | fCeleste =0 |
static double | fChi2TimeFit =0 |
static evt::Event * | fCurEvent = 0 |
static fevt::Eye * | fCurEye = 0 |
static int | fDebuging = 0 |
static double | fDistanceStationSDP = 2000. |
static bool | fFoundAxis =false |
static int | fHotStationId = 1 |
static int | fHybridCore = 0 |
static int | fNDofTimeFit =0 |
static double | fNsCorrection =0 |
static int | fround = 1 |
static double | fSdHybridOffset = 0 |
static utl::Vector | fSDP = utl::Vector() |
static double | fsignal_max = 0 |
static double | fsignal_max_pre = 0 |
static double | fStationAxisDistance = 9999.9 |
static int | fTriggeredStations = 1 |
static double | fVerticalCurvature = 0. |
A module to perform Hybrid Reconstruction.
Definition at line 42 of file HybridGeometryFinderOG/HybridGeometryFinder.h.
|
protectedinherited |
|
inherited |
Flag returned by module methods to the RunController.
Enumerator | |
---|---|
eSuccess |
Report success to RunController. |
eFailure |
Report failure to RunController, causing RunController to terminate execution. |
eBreakLoop |
Break current loop. It works for nested loops too! |
eContinueLoop |
Skip remaining modules in the current loop and continue with next iteration of the loop. |
|
inherited |
|
private |
Definition at line 692 of file HybridGeometryFinderOG/HybridGeometryFinder.cc.
References ERROR, fRp(), fRpError(), UnivRecNS::npar, and WARNING.
|
virtual |
Finish: invoked at end of the run (NOT end of the event)
This method is for things that should be done at the end of the run (for example, closing files or writing out histograms) {You must override this method in your concrete module}
Implements fwk::VModule.
Definition at line 1214 of file HybridGeometryFinderOG/HybridGeometryFinder.cc.
References io::eSuccess.
|
staticinherited |
Definition at line 8 of file VModule.cc.
References fwk::VModule::eBreakLoop, fwk::VModule::eContinueLoop, fwk::VModule::eFailure, and fwk::VModule::eSuccess.
Referenced by fwk::RunController::DoNextInSequence(), fwk::RunController::FinishBranch(), and fwk::RunController::InitBranch().
|
inlineinherited |
Definition at line 106 of file VModule.h.
References fwk::VModule::fStopwatch.
|
inlineinherited |
Definition at line 107 of file VModule.h.
References fwk::VModule::fStopwatch.
|
inherited |
Retrieve different sorts of module version info.
Definition at line 26 of file VModule.cc.
Referenced by fwk::CentralConfig::GetConfig(), ThresholdCalculatorKG::ThresholdCalculator::Init(), fdDoubleBumpFinder::FdDoubleBumpFinder::Init(), LaserGeneratorNA::LaserGenerator::Init(), LaserLightSimulatorNA::LaserLightSimulator::Init(), FdElectronicsSimulatorOG::FdElectronicsSimulator::Init(), TelescopeSimulatorKG::TelescopeSimulator::Init(), TelescopeSimulatorKG2::TelescopeSimulator::Init(), SdSimpleSimKG::SdSimpleSim::Init(), ShowerPhotonGeneratorOG::ShowerPhotonGenerator::Init(), and testRunController::testModuleVersionInfo().
|
virtual |
Initialize: invoked at beginning of run (NOT beginning of event)
This method is for things that should be done once at the beginning of a run (for example, booking histograms, performing calculations that need to be done only once, initializing parameters) {You must override this method in your concrete module}
Implements fwk::VModule.
Definition at line 106 of file HybridGeometryFinderOG/HybridGeometryFinder.cc.
References fdet::FTimeFitModel::eRealisticAtm, ERROR, io::eSuccess, fdet::FTimeFitModel::eVacuumAtm, utl::Branch::GetChild(), utl::Branch::GetData(), fdet::FTimeFitModel::GetModelName(), fwk::CentralConfig::GetTopBranch(), INFO, utl::m, and fdet::FTimeFitModel::SetModel().
|
inlineinherited |
Definition at line 95 of file VModule.h.
References fwk::VModule::fStopwatch, and utl::Stopwatch::Reset().
|
staticprivate |
Definition at line 767 of file HybridGeometryFinderOG/HybridGeometryFinder.cc.
References utl::abs(), Angle(), utl::cross(), fSDP(), fevt::PixelRecData::GetChi_i(), utl::BasicVector< HepVector >::GetCosTheta(), utl::TimeStamp::GetGPSNanoSecond(), utl::TimeStamp::GetGPSSecond(), sevt::Station::GetId(), utl::TimeInterval::GetInterval(), utl::Vector::GetMag(), utl::TimeInterval::GetNanoSecond(), fevt::EyeRecData::GetNTimeFitPixels(), sdet::Station::GetPosition(), sevt::Station::GetRecData(), sevt::StationRecData::GetSignalStartTime(), fevt::PixelRecData::GetT_i(), fevt::PixelRecData::GetT_iError(), fdet::FTimeFitModel::GetTimeAtAperture(), sevt::StationRecData::GetTotalSignal(), utl::BasicVector< HepVector >::GetX(), utl::BasicVector< HepVector >::GetY(), utl::BasicVector< HepVector >::GetZ(), sevt::Station::IsCandidate(), sdet::Station::IsDense(), sevt::Station::IsSilent(), utl::kPi, utl::kSpeedOfLight, utl::nanosecond, sevt::SEvent::StationsBegin(), sevt::SEvent::StationsEnd(), fevt::EyeRecData::TimeFitPixelsBegin(), and fevt::EyeRecData::TimeFitPixelsEnd().
|
private |
Check that the pixel is within an angular distance (fTolerance) from the SDP and that the t_i deviation from the expected one is less than 10 Sigmas away , add it to the list of pixels to be used for Axis determination
Definition at line 1057 of file HybridGeometryFinderOG/HybridGeometryFinder.cc.
References fevt::EyeRecData::AddTimeFitPixel(), Angle(), fRp(), fSDP(), fevt::PixelRecData::GetChi_i(), fdet::Pixel::GetDirection(), fevt::Pixel::GetId(), fevt::Eye::GetId(), utl::TimeInterval::GetInterval(), utl::TimeInterval::GetNanoSecond(), fevt::Pixel::GetRecData(), fevt::Eye::GetRecData(), fevt::PixelRecData::GetT_i(), fevt::PixelRecData::GetT_iError(), fevt::Pixel::GetTelescopeId(), fdet::FTimeFitModel::GetTimeAtAperture(), utl::kPi, fevt::EyeRecData::PulsedPixelsBegin(), fevt::EyeRecData::PulsedPixelsEnd(), fevt::EyeRecData::TimeFitPixelsBegin(), and fevt::EyeRecData::TimeFitPixelsEnd().
|
private |
|
private |
Check that the pixel is within an angular distance (fTolerance) from the SDP and that the t_i deviation from the expected one is no more than fSigmas away , remove on by one from the list of pixels to be used for Axis determination
Definition at line 1131 of file HybridGeometryFinderOG/HybridGeometryFinder.cc.
References fRp(), fSDP(), fevt::PixelRecData::GetChi_i(), fevt::Pixel::GetId(), fevt::Eye::GetId(), utl::TimeInterval::GetInterval(), utl::TimeInterval::GetNanoSecond(), fevt::EyeRecData::GetNTimeFitPixels(), fevt::Pixel::GetRecData(), fevt::Eye::GetRecData(), fevt::PixelRecData::GetT_i(), fevt::PixelRecData::GetT_iError(), fevt::Pixel::GetTelescopeId(), fdet::FTimeFitModel::GetTimeAtAperture(), fevt::EyeRecData::RemoveTimeFitPixel(), fevt::EyeRecData::TimeFitPixelsBegin(), and fevt::EyeRecData::TimeFitPixelsEnd().
|
virtual |
Run: invoked once per event.
This method is for things that should be done once per event {You must override this method in your concrete module}
Implements fwk::VModule.
Definition at line 154 of file HybridGeometryFinderOG/HybridGeometryFinder.cc.
References utl::abs(), evt::ShowerFRecData::AddStationId(), utl::cross(), utl::deg, degree, io::eSuccess, fevt::FEvent::EyesBegin(), fevt::FEvent::EyesEnd(), fRp(), fRpError(), fSDP(), fevt::EyeRecData::GetChiZero(), fevt::EyeRecData::GetFRecShower(), fevt::Eye::GetId(), utl::AxialVector::GetMag2(), fevt::EyeRecData::GetNPulsedPixels(), fevt::EyeRecData::GetNTimeFitPixels(), fevt::Eye::GetRecData(), fevt::EyeRecData::GetRp(), fevt::EyeRecData::GetSDP(), fevt::EyeRecData::GetTZero(), evt::Event::HasFEvent(), fevt::EyeRecData::HasFRecShower(), fevt::Eye::HasRecData(), evt::Event::HasRecShower(), evt::Event::HasSEvent(), INFO, utl::kPi, utl::m, fevt::EyeRecData::MakeFRecShower(), evt::Event::MakeRecShower(), utl::Vector::Normalize(), ns, evt::ShowerRecData::SetAxis(), evt::ShowerFRecData::SetAxis(), fevt::TelescopeRecData::SetChiZero(), fevt::EyeRecData::SetChiZero(), evt::ShowerRecData::SetCorePosition(), evt::ShowerFRecData::SetCorePosition(), evt::ShowerFRecData::SetCoreTime(), fevt::TelescopeRecData::SetRp(), fevt::EyeRecData::SetRp(), evt::ShowerFRecData::SetSDTimeResidual(), fevt::TelescopeRecData::SetTimeFitChiSquare(), fevt::EyeRecData::SetTimeFitChiSquare(), fevt::TelescopeRecData::SetTimeFitCorrelations(), fevt::EyeRecData::SetTimeFitCorrelations(), fevt::TelescopeRecData::SetTZero(), fevt::EyeRecData::SetTZero(), fevt::Eye::TelescopesBegin(), fevt::Eye::TelescopesEnd(), and WARNING.
|
inlineinherited |
Definition at line 98 of file VModule.h.
References fwk::VModule::fStopwatch, fwk::VModule::Run(), utl::Stopwatch::Start(), and utl::Stopwatch::Stop().
Referenced by fwk::RunController::DoNextInSequence().
|
staticprivate |
Definition at line 85 of file HybridGeometryFinderOG/HybridGeometryFinder.h.
|
private |
Definition at line 87 of file HybridGeometryFinderOG/HybridGeometryFinder.h.
|
private |
Variables used to store the results while deciding which station to use in the hybrid reconstruction
Definition at line 99 of file HybridGeometryFinderOG/HybridGeometryFinder.h.
|
private |
Definition at line 88 of file HybridGeometryFinderOG/HybridGeometryFinder.h.
|
private |
Definition at line 100 of file HybridGeometryFinderOG/HybridGeometryFinder.h.
|
staticprivate |
Definition at line 61 of file HybridGeometryFinderOG/HybridGeometryFinder.h.
|
private |
Definition at line 107 of file HybridGeometryFinderOG/HybridGeometryFinder.h.
|
private |
Definition at line 93 of file HybridGeometryFinderOG/HybridGeometryFinder.h.
|
private |
Definition at line 105 of file HybridGeometryFinderOG/HybridGeometryFinder.h.
|
private |
Definition at line 106 of file HybridGeometryFinderOG/HybridGeometryFinder.h.
|
staticprivate |
Definition at line 95 of file HybridGeometryFinderOG/HybridGeometryFinder.h.
|
staticprivate |
Definition at line 115 of file HybridGeometryFinderOG/HybridGeometryFinder.h.
|
staticprivate |
Definition at line 65 of file HybridGeometryFinderOG/HybridGeometryFinder.h.
|
staticprivate |
Definition at line 74 of file HybridGeometryFinderOG/HybridGeometryFinder.h.
|
staticprivate |
Definition at line 113 of file HybridGeometryFinderOG/HybridGeometryFinder.h.
|
staticprivate |
Definition at line 69 of file HybridGeometryFinderOG/HybridGeometryFinder.h.
|
private |
Definition at line 109 of file HybridGeometryFinderOG/HybridGeometryFinder.h.
|
staticprivate |
Definition at line 64 of file HybridGeometryFinderOG/HybridGeometryFinder.h.
|
protectedinherited |
Definition at line 123 of file VModule.h.
Referenced by RdChannelASCIINoiseImporterRD::RdChannelASCIINoiseImporterRD::Init(), Rd2dLDFFitter::Rd2dLDFFitter::Init(), RdChannelNoiseImporter_AERA::RdChannelNoiseImporter_AERA::Init(), and Rd2dLDFFitter::Rd2dLDFFitter::Run().
|
staticprivate |
Definition at line 62 of file HybridGeometryFinderOG/HybridGeometryFinder.h.
|
private |
Definition at line 108 of file HybridGeometryFinderOG/HybridGeometryFinder.h.
|
staticprivate |
Definition at line 58 of file HybridGeometryFinderOG/HybridGeometryFinder.h.
|
private |
Choosing between the first and second hot station
Definition at line 83 of file HybridGeometryFinderOG/HybridGeometryFinder.h.
|
staticprivate |
Definition at line 67 of file HybridGeometryFinderOG/HybridGeometryFinder.h.
|
private |
Definition at line 110 of file HybridGeometryFinderOG/HybridGeometryFinder.h.
|
private |
Definition at line 91 of file HybridGeometryFinderOG/HybridGeometryFinder.h.
|
private |
Definition at line 103 of file HybridGeometryFinderOG/HybridGeometryFinder.h.
|
private |
Definition at line 92 of file HybridGeometryFinderOG/HybridGeometryFinder.h.
|
private |
Definition at line 104 of file HybridGeometryFinderOG/HybridGeometryFinder.h.
|
staticprivate |
Definition at line 70 of file HybridGeometryFinderOG/HybridGeometryFinder.h.
|
staticprivate |
Definition at line 60 of file HybridGeometryFinderOG/HybridGeometryFinder.h.
|
private |
pixel not used in hybrid-time fit if its T_i is over fSigmasLimit away
Definition at line 79 of file HybridGeometryFinderOG/HybridGeometryFinder.h.
|
staticprivate |
Definition at line 72 of file HybridGeometryFinderOG/HybridGeometryFinder.h.
|
staticprivate |
Definition at line 73 of file HybridGeometryFinderOG/HybridGeometryFinder.h.
|
staticprivate |
Definition at line 71 of file HybridGeometryFinderOG/HybridGeometryFinder.h.
|
private |
Definition at line 89 of file HybridGeometryFinderOG/HybridGeometryFinder.h.
|
private |
Definition at line 101 of file HybridGeometryFinderOG/HybridGeometryFinder.h.
|
private |
Definition at line 90 of file HybridGeometryFinderOG/HybridGeometryFinder.h.
|
private |
Definition at line 102 of file HybridGeometryFinderOG/HybridGeometryFinder.h.
|
private |
max distance of pixel to SDP to be readmitted for hybrid-time fit
Definition at line 77 of file HybridGeometryFinderOG/HybridGeometryFinder.h.
|
staticprivate |
Definition at line 68 of file HybridGeometryFinderOG/HybridGeometryFinder.h.
|
private |
force the hybrid-time to use the Nth hottest station (fUseNthStation)
Definition at line 81 of file HybridGeometryFinderOG/HybridGeometryFinder.h.
|
staticprivate |
Definition at line 75 of file HybridGeometryFinderOG/HybridGeometryFinder.h.