List of all members | Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Attributes | Private Types | Private Member Functions | Private Attributes
TopDownSelectorNS::TopDownSelector Class Reference

Module that re-implements top down selection algorithm by Olivier Deligny based on gap 2003-003. More...

#include <TopDownSelector.h>

Inheritance diagram for TopDownSelectorNS::TopDownSelector:
Inheritance graph
[legend]

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::StopwatchGetStopwatch ()
 
const utl::StopwatchGetStopwatch () 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)
 
 TopDownSelector ()
 
virtual ~TopDownSelector ()
 

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 Types

enum  TimeCorrectionType { eNone = 0, eAltitude = 1, eCurved = 2, eAltitudeCurved = 3 }
 

Private Member Functions

double CorrectTimeAltitude (int)
 
double CorrectTimeAltitudeCurv (int)
 
bool EstimateCore ()
 
double EstimatedAzimuth (const std::string &s)
 
double EstimatedZenith (const std::string &s)
 
void InitializeEvent ()
 
bool IsAligned ()
 
bool IsGoodSpaceConfig ()
 
bool IsGoodTimeConfig (TimeCorrectionType correctionType)
 
bool PatternRecovering ()
 
bool Recover3Stations ()
 
 REGISTER_MODULE ("TopDownSelector", TopDownSelector)
 
void RemoveDoublets ()
 
void RemoveEA ()
 
void RemoveIsolatedStations ()
 
void RemoveRandomStations ()
 
bool Select ()
 
bool TryRemovingStations (int)
 

Private Attributes

utl::Vector fAxis
 
utl::Vector fBarycenter
 
double fBaryTime
 
std::vector< unsigned int > fIndexes
 
bool fIsLastTimingIteration
 
unsigned int fNMaxRemovedStations
 
unsigned int fNMinStations
 
bool fRejectNonT4Events
 
std::vector< double > fResiduals
 
sevt::SEventfSEvent
 
std::vector< StationPairStatusfStations
 
double fT0
 
double fTCore
 
double fU
 
double fV
 
int fVerbose
 
double fXCore
 
double fYCore
 
double fZCore
 
double kAna3RatMin
 
double kAreaMax
 
double kAreaMin
 
double kBaryPower
 
double kCurv0
 
double kDistMax
 
double kIsoDist1
 
double kIsoDist2
 
double kIsoTime1
 
double kIsoTime2
 
double kTolRes
 
double kTolResM
 

Detailed Description

Module that re-implements top down selection algorithm by Olivier Deligny based on gap 2003-003.

I'm assuming all rejection of stations based on DAQ errors, bad altitude, external triggers are handled by the framework already. Sub threshold, 3-fold events and lightning rejection are missing as well, these should be added soon.

There is a bit more detail in the reference manual.
Author
Olivier Deligny
Javier Gonzalez
Date
31 Jan 2008

Definition at line 69 of file TopDownSelector.h.

Member Enumeration Documentation

enum fwk::VModule::InfoLevel
protectedinherited
Enumerator
eInfoNone 
eInfoFinal 
eInfoIntermediate 
eInfoDebug 

Definition at line 125 of file VModule.h.

enum fwk::VModule::ResultFlag
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.

Definition at line 60 of file VModule.h.

Enumerator
eNone 
eAltitude 
eCurved 
eAltitudeCurved 

Definition at line 106 of file TopDownSelector.h.

Different types of version info that can be retrieved from GetVersionInfo.

Enumerator
eFilename 
eRevisionNumber 
eDate 
eTime 
eLastEditor 

Definition at line 110 of file VModule.h.

Constructor & Destructor Documentation

TopDownSelector::TopDownSelector ( )

Definition at line 34 of file TopDownSelector.cc.

virtual TopDownSelectorNS::TopDownSelector::~TopDownSelector ( )
inlinevirtual

Definition at line 73 of file TopDownSelector.h.

Member Function Documentation

double TopDownSelector::CorrectTimeAltitude ( int  is)
private

Definition at line 414 of file TopDownSelector.cc.

References fStations, fU, fV, fZCore, is(), utl::kSpeedOfLight, max, and sqrt().

Referenced by IsGoodTimeConfig().

double TopDownSelector::CorrectTimeAltitudeCurv ( int  is)
private

Definition at line 424 of file TopDownSelector.cc.

References fStations, fU, fV, fZCore, is(), kCurv0, utl::kSpeedOfLight, max, std::pow(), and sqrt().

Referenced by IsGoodTimeConfig().

bool TopDownSelector::EstimateCore ( )
private
double TopDownSelector::EstimatedAzimuth ( const std::string &  s)
private

Definition at line 668 of file TopDownSelector.cc.

References degree, fU, and fV.

double TopDownSelector::EstimatedZenith ( const std::string &  s)
private

Definition at line 659 of file TopDownSelector.cc.

References degree, fU, fV, and sqrt().

Referenced by Select().

VModule::ResultFlag TopDownSelector::Finish ( )
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 111 of file TopDownSelector.cc.

References fwk::VModule::eSuccess, and INFO.

std::string fwk::VModule::GetResultFlagByName ( const ResultFlag  flag)
staticinherited
utl::Stopwatch& fwk::VModule::GetStopwatch ( )
inlineinherited

Definition at line 106 of file VModule.h.

References fwk::VModule::fStopwatch.

const utl::Stopwatch& fwk::VModule::GetStopwatch ( ) const
inlineinherited

Definition at line 107 of file VModule.h.

References fwk::VModule::fStopwatch.

std::string fwk::VModule::GetVersionInfo ( const VersionInfoType  v) const
inherited
VModule::ResultFlag TopDownSelector::Init ( )
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 50 of file TopDownSelector.cc.

References fwk::VModule::eSuccess, fNMaxRemovedStations, fNMinStations, fRejectNonT4Events, fVerbose, utl::Branch::GetChild(), utl::Branch::GetData(), utl::Branch::GetTopBranch(), INFO, kAna3RatMin, kAreaMax, kAreaMin, kBaryPower, kCurv0, kDistMax, kIsoDist1, kIsoDist2, kIsoTime1, kIsoTime2, kTolRes, and kTolResM.

void TopDownSelector::InitializeEvent ( )
private
void fwk::VModule::InitTiming ( )
inlineinherited

Definition at line 95 of file VModule.h.

References fwk::VModule::fStopwatch, and utl::Stopwatch::Reset().

bool TopDownSelector::IsAligned ( )
private

Definition at line 602 of file TopDownSelector.cc.

References fStations, is(), ns, and sqrt().

Referenced by PatternRecovering().

bool TopDownSelector::IsGoodSpaceConfig ( )
private

Definition at line 566 of file TopDownSelector.cc.

References fStations, fU, fV, fVerbose, fXCore, fYCore, ns, and std::pow().

Referenced by PatternRecovering().

bool TopDownSelector::IsGoodTimeConfig ( TimeCorrectionType  correctionType)
private
bool TopDownSelector::PatternRecovering ( )
private
bool TopDownSelector::Recover3Stations ( )
private
TopDownSelectorNS::TopDownSelector::REGISTER_MODULE ( "TopDownSelector"  ,
TopDownSelector   
)
private
void TopDownSelector::RemoveDoublets ( )
private
void TopDownSelector::RemoveEA ( )
private
void TopDownSelector::RemoveIsolatedStations ( )
private
void TopDownSelectorNS::TopDownSelector::RemoveRandomStations ( )
private
VModule::ResultFlag TopDownSelector::Run ( evt::Event event)
virtual
ResultFlag fwk::VModule::RunWithTiming ( evt::Event event)
inlineinherited
bool TopDownSelector::Select ( )
private
bool TopDownSelector::TryRemovingStations ( int  n)
private

Definition at line 337 of file TopDownSelector.cc.

References fIndexes, fStations, is(), and PatternRecovering().

Referenced by Select().

Member Data Documentation

utl::Vector TopDownSelectorNS::TopDownSelector::fAxis
private

Definition at line 82 of file TopDownSelector.h.

utl::Vector TopDownSelectorNS::TopDownSelector::fBarycenter
private

Definition at line 81 of file TopDownSelector.h.

Referenced by EstimateCore().

double TopDownSelectorNS::TopDownSelector::fBaryTime
private

Definition at line 80 of file TopDownSelector.h.

Referenced by EstimateCore(), and IsGoodTimeConfig().

std::vector<unsigned int> TopDownSelectorNS::TopDownSelector::fIndexes
private

Definition at line 128 of file TopDownSelector.h.

Referenced by Select(), and TryRemovingStations().

int fwk::VModule::fInfoLevel = 0
protectedinherited
bool TopDownSelectorNS::TopDownSelector::fIsLastTimingIteration
private

Definition at line 130 of file TopDownSelector.h.

Referenced by IsGoodTimeConfig(), PatternRecovering(), and Recover3Stations().

unsigned int TopDownSelectorNS::TopDownSelector::fNMaxRemovedStations
private

Definition at line 129 of file TopDownSelector.h.

Referenced by Init(), and Select().

unsigned int TopDownSelectorNS::TopDownSelector::fNMinStations
private

Definition at line 129 of file TopDownSelector.h.

Referenced by Init(), PatternRecovering(), and Select().

bool TopDownSelectorNS::TopDownSelector::fRejectNonT4Events
private

Definition at line 92 of file TopDownSelector.h.

Referenced by Init(), and Run().

std::vector<double> TopDownSelectorNS::TopDownSelector::fResiduals
private

Definition at line 87 of file TopDownSelector.h.

Referenced by IsGoodTimeConfig().

sevt::SEvent* TopDownSelectorNS::TopDownSelector::fSEvent
private
std::vector<StationPairStatus> TopDownSelectorNS::TopDownSelector::fStations
private
double TopDownSelectorNS::TopDownSelector::fT0
private

Definition at line 126 of file TopDownSelector.h.

Referenced by IsGoodTimeConfig().

double TopDownSelectorNS::TopDownSelector::fTCore
private

Definition at line 127 of file TopDownSelector.h.

Referenced by EstimateCore().

double TopDownSelectorNS::TopDownSelector::fU
private
double TopDownSelectorNS::TopDownSelector::fV
private
int TopDownSelectorNS::TopDownSelector::fVerbose
private

Definition at line 91 of file TopDownSelector.h.

Referenced by EstimateCore(), Init(), IsGoodSpaceConfig(), IsGoodTimeConfig(), and Select().

double TopDownSelectorNS::TopDownSelector::fXCore
private

Definition at line 127 of file TopDownSelector.h.

Referenced by EstimateCore(), IsGoodSpaceConfig(), and IsGoodTimeConfig().

double TopDownSelectorNS::TopDownSelector::fYCore
private

Definition at line 127 of file TopDownSelector.h.

Referenced by EstimateCore(), IsGoodSpaceConfig(), and IsGoodTimeConfig().

double TopDownSelectorNS::TopDownSelector::fZCore
private

Definition at line 127 of file TopDownSelector.h.

Referenced by CorrectTimeAltitude(), CorrectTimeAltitudeCurv(), and EstimateCore().

double TopDownSelectorNS::TopDownSelector::kAna3RatMin
private

Definition at line 101 of file TopDownSelector.h.

Referenced by Init().

double TopDownSelectorNS::TopDownSelector::kAreaMax
private

Definition at line 100 of file TopDownSelector.h.

Referenced by Init(), and Recover3Stations().

double TopDownSelectorNS::TopDownSelector::kAreaMin
private

Definition at line 99 of file TopDownSelector.h.

Referenced by Init(), and Recover3Stations().

double TopDownSelectorNS::TopDownSelector::kBaryPower
private

Definition at line 93 of file TopDownSelector.h.

Referenced by EstimateCore(), and Init().

double TopDownSelectorNS::TopDownSelector::kCurv0
private

Definition at line 98 of file TopDownSelector.h.

Referenced by CorrectTimeAltitudeCurv(), and Init().

double TopDownSelectorNS::TopDownSelector::kDistMax
private

Definition at line 102 of file TopDownSelector.h.

Referenced by Init(), and Recover3Stations().

double TopDownSelectorNS::TopDownSelector::kIsoDist1
private

Definition at line 96 of file TopDownSelector.h.

Referenced by Init(), and RemoveIsolatedStations().

double TopDownSelectorNS::TopDownSelector::kIsoDist2
private

Definition at line 97 of file TopDownSelector.h.

Referenced by Init(), and RemoveIsolatedStations().

double TopDownSelectorNS::TopDownSelector::kIsoTime1
private

Definition at line 103 of file TopDownSelector.h.

Referenced by Init(), and RemoveIsolatedStations().

double TopDownSelectorNS::TopDownSelector::kIsoTime2
private

Definition at line 104 of file TopDownSelector.h.

Referenced by Init(), and RemoveIsolatedStations().

double TopDownSelectorNS::TopDownSelector::kTolRes
private

Definition at line 94 of file TopDownSelector.h.

Referenced by Init(), and IsGoodTimeConfig().

double TopDownSelectorNS::TopDownSelector::kTolResM
private

Definition at line 95 of file TopDownSelector.h.

Referenced by Init(), and IsGoodTimeConfig().


The documentation for this class was generated from the following files:

, generated on Tue Sep 26 2023.