A simple module to reconstruct the light flux at the apertures. More...
#include "FdApertureLightFinderOG/FdApertureLightFinder.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) |
Static Public Attributes | |
static const double | kGainVariance |
static const double | kPhoton2Pe |
static const double | kTelescopeMaxTheta = 89*utl::degree |
static const double | kTelescopeMinTheta = 59*utl::degree |
Protected Types | |
enum | InfoLevel { eInfoNone = 0, eInfoFinal = 1, eInfoIntermediate = 2, eInfoDebug = 3 } |
Protected Attributes | |
int | fInfoLevel = 0 |
Private Member Functions | |
void | CombineAndFillFluxes (fevt::Eye &eye, const std::deque< double > &fluoTime, const std::deque< double > &fluoFlux, const std::deque< double > &vfluoFlux, const std::deque< double > &vBackground) |
bool | FindLightFlux (fevt::Eye &eye) |
bool | FindSignalTimeRange (const fevt::Eye &eye) |
double | FindZeta (const fevt::Eye &eye, double initZeta, double finZeta, double stepZeta) const |
unsigned int | GetMaxOffset (const fevt::Eye &eye) const |
Get the maximum time offset of the telescopes in the event. More... | |
bool | IsNearBorder (const utl::Vector &direction, const fdet::Telescope &telescope, double zeta) const |
REGISTER_MODULE ("FdApertureLightOG", FdApertureLightFinder) | |
Private Attributes | |
double | fmaxZetaAngle |
double | fminZetaAngle |
int | fnEquivMin |
minimum number of equivalent Poisson events More... | |
int | fnProfMax |
maximum number of profile bins More... | |
double | fSafetyMargin |
double | fstepZetaAngle |
double | fTStart |
Start of Shower relative to T0. More... | |
double | fTStop |
End of Shower relative to T0. More... | |
A simple module to reconstruct the light flux at the apertures.
Definition at line 45 of file FdApertureLightFinderOG/FdApertureLightFinder.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 |
Combines and fills light fluxes
Definition at line 411 of file FdApertureLightFinderOG/FdApertureLightFinder.cc.
References utl::TabulatedFunctionErrors::Clear(), fevt::FdConstants::eBackground, fevt::FdConstants::eFluorTotal, fevt::FdConstants::eTotal, fevt::EyeRecData::GetLightFlux(), fevt::Eye::GetRecData(), fevt::EyeRecData::HasLightFlux(), fevt::EyeRecData::MakeLightFlux(), ns, utl::TabulatedFunctionErrors::PushBack(), and sqrt().
|
private |
Definition at line 133 of file FdApertureLightFinderOG/FdApertureLightFinder.cc.
References Angle(), degree, evt::ShowerFRecData::GetAxis(), fdet::Telescope::GetCamera(), fevt::EyeRecData::GetChiZero(), evt::ShowerFRecData::GetCorePosition(), fdet::Pixel::GetDiaPhoton2PEFactor(), fdet::Telescope::GetDiaphragmArea(), fdet::Pixel::GetDirection(), fdet::FDetector::GetEye(), fdet::Eye::GetEyeCoordinateSystem(), fevt::EyeRecData::GetFRecShower(), fdet::Camera::GetGainVariance(), utl::Vector::GetMag(), fdet::FDetector::GetPixel(), fdet::Eye::GetPosition(), fevt::Eye::GetRecData(), fdet::FDetector::GetReferenceLambda(), fevt::EyeRecData::GetRp(), utl::Trace< T >::GetStart(), utl::Trace< T >::GetStop(), fdet::FDetector::GetTelescope(), utl::BasicVector< HepVector >::GetTheta(), fevt::EyeRecData::GetTZero(), INFO, utl::kSpeedOfLight, utl::Vector::Normalize(), ns, std::pow(), fevt::EyeRecData::SetZeta(), sqrt(), fevt::Eye::TelescopesBegin(), and fevt::Eye::TelescopesEnd().
|
private |
Definition at line 364 of file FdApertureLightFinderOG/FdApertureLightFinder.cc.
References fdet::FDetector::GetChannel(), fdet::Channel::GetFADCBinSize(), fevt::PixelRecData::GetPulseStart(), fevt::PixelRecData::GetPulseStop(), fevt::Eye::GetRecData(), fevt::Eye::GetTelescope(), fevt::EyeRecData::TimeFitPixelsBegin(), and fevt::EyeRecData::TimeFitPixelsEnd().
|
private |
Find the angle zeta that maximizes S/N
Definition at line 601 of file FdApertureLightFinderOG/FdApertureLightFinder.cc.
References degree, evt::ShowerFRecData::GetAxis(), fdet::Telescope::GetCamera(), fevt::EyeRecData::GetChiZero(), evt::ShowerFRecData::GetCorePosition(), fdet::Pixel::GetDiaPhoton2PEFactor(), fdet::Pixel::GetDirection(), fdet::FDetector::GetEye(), fdet::Eye::GetEyeCoordinateSystem(), fevt::EyeRecData::GetFRecShower(), fdet::Camera::GetGainVariance(), fevt::Eye::GetId(), utl::Vector::GetMag(), fdet::FDetector::GetPixel(), fdet::Eye::GetPosition(), fevt::Eye::GetRecData(), fdet::FDetector::GetReferenceLambda(), fevt::EyeRecData::GetRp(), utl::Trace< T >::GetStart(), utl::Trace< T >::GetStop(), fdet::FDetector::GetTelescope(), utl::BasicVector< HepVector >::GetTheta(), fevt::EyeRecData::GetTZero(), utl::BasicVector< HepVector >::GetX(), utl::BasicVector< HepVector >::GetY(), utl::BasicVector< HepVector >::GetZ(), INFO, utl::kSpeedOfLight, utl::Vector::Normalize(), ns, std::pow(), sqrt(), fevt::Eye::TelescopesBegin(), and fevt::Eye::TelescopesEnd().
|
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 126 of file FdApertureLightFinderOG/FdApertureLightFinder.cc.
References io::eSuccess.
|
private |
Get the maximum time offset of the telescopes in the event.
Definition at line 577 of file FdApertureLightFinderOG/FdApertureLightFinder.cc.
References fevt::Eye::TelescopesBegin(), and fevt::Eye::TelescopesEnd().
|
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 61 of file FdApertureLightFinderOG/FdApertureLightFinder.cc.
References ERROR, io::eSuccess, utl::Branch::GetChild(), utl::Branch::GetData(), and utl::Branch::GetTopBranch().
|
inlineinherited |
Definition at line 95 of file VModule.h.
References fwk::VModule::fStopwatch, and utl::Stopwatch::Reset().
|
private |
Check if the light spot centered in direction and of radius zeta touches the borders of the camera
Definition at line 557 of file FdApertureLightFinderOG/FdApertureLightFinder.cc.
References Angle(), fdet::Telescope::OutOfBorderPixelsBegin(), and fdet::Telescope::OutOfBorderPixelsEnd().
|
private |
|
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 86 of file FdApertureLightFinderOG/FdApertureLightFinder.cc.
References io::eSuccess, fevt::FEvent::EyesBegin(), fevt::FEvent::EyesEnd(), fevt::Eye::GetRecData(), evt::Event::HasFEvent(), fevt::EyeRecData::HasFRecShower(), fevt::Eye::HasRecData(), and INFO.
|
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().
|
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().
|
private |
Definition at line 65 of file FdApertureLightFinderOG/FdApertureLightFinder.h.
|
private |
Definition at line 66 of file FdApertureLightFinderOG/FdApertureLightFinder.h.
|
private |
minimum number of equivalent Poisson events
Definition at line 99 of file FdApertureLightFinderOG/FdApertureLightFinder.h.
|
private |
maximum number of profile bins
Definition at line 101 of file FdApertureLightFinderOG/FdApertureLightFinder.h.
|
private |
Definition at line 68 of file FdApertureLightFinderOG/FdApertureLightFinder.h.
|
private |
Definition at line 67 of file FdApertureLightFinderOG/FdApertureLightFinder.h.
|
private |
Start of Shower relative to T0.
Definition at line 94 of file FdApertureLightFinderOG/FdApertureLightFinder.h.
|
private |
End of Shower relative to T0.
Definition at line 96 of file FdApertureLightFinderOG/FdApertureLightFinder.h.
|
static |
Definition at line 55 of file FdApertureLightFinderOG/FdApertureLightFinder.h.
|
static |
Definition at line 54 of file FdApertureLightFinderOG/FdApertureLightFinder.h.
|
static |
Definition at line 56 of file FdApertureLightFinderOG/FdApertureLightFinder.h.
|
static |
Definition at line 57 of file FdApertureLightFinderOG/FdApertureLightFinder.h.