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

the shower axis finder More...

#include "FdAxisFinderOG/FdAxisFinder.h"

Inheritance diagram for FdAxisFinderOG::FdAxisFinder:
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)
 

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

void AxisFirstGuess (fevt::Eye &eye)
 
bool CheckForLasers (evt::Event &event)
 
void FillPoints (fevt::Eye &eye)
 
void FindAxis (fevt::Eye &eye)
 
void FindAxisLaser (fevt::Eye &eye)
 
bool ReadmitPixel (fevt::Eye &eye)
 
 REGISTER_MODULE ("FdAxisFinderOG", FdAxisFinder)
 
bool RejectPixel (fevt::Eye &eye)
 
void RemoveOutliers (fevt::Eye &eye)
 

Static Private Member Functions

static void MinuitFitFunc (int &npar, double *gin, double &f, double *par, int iflag)
 
static void MinuitFitFuncLaser (int &npar, double *gin, double &f, double *par, int iflag)
 

Private Attributes

double fChi0
 
double fChi0Error
 
double fChi0First
 
double fCovariance [3][3]
 
bool fIsBlob
 True if the time extension is < fMinimumTimeExtension;. More...
 
double fMinimumTimeExtension
 
unsigned int fMinPixels
 Minimum number of pixels to continue with time fit. More...
 
bool fMinuitFailed
 flag failure of minuit More...
 
double fRpError
 
double fRpFirst
 
double fSelectAndRecLasers
 
double fSigmasLimit
 
double fT0
 
double fT0Error
 
double fT0First
 
double fTolerance
 

Static Private Attributes

static double fChi2 =0
 
static fevt::EyefCurEye =0
 
static int fDebuging
 switch for debuging More...
 
static bool fIsCeleste = false
 
static bool fIsRamiro = false
 
static unsigned int fNDof =0
 
static double fRp =0
 
static utl::Vector fSDP = utl::Vector()
 

Detailed Description

the shower axis finder

Author
Stefano Argir�
Date
19 Sep 2003

Definition at line 37 of file FdAxisFinder.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.

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.

Member Function Documentation

void FdAxisFinder::AxisFirstGuess ( fevt::Eye eye)
private

Find a first guess for parameters T0 chi0 Rp, finding a best fit to a parabolic functions whose parameters are related to the wanted ones chi0 = chimed + 2* atan(-a2/a1) Rp = -2*c*a1^3/(a1^2+a2^2) T0 = a0 - 2*a2*a1^2/(a1^2+a2^2)

see gap 2003-045

Definition at line 723 of file FdAxisFinder.cc.

References degree, fevt::PixelRecData::GetChi_i(), utl::TimeInterval::GetInterval(), utl::TimeInterval::GetNanoSecond(), fevt::Pixel::GetRecData(), fevt::Eye::GetRecData(), fevt::PixelRecData::GetT_i(), fevt::PixelRecData::GetT_iError(), fevt::PixelRecData::GetTotalCharge(), utl::kPi, utl::kSpeedOfLight, utl::m, sqrt(), fevt::EyeRecData::TimeFitPixelsBegin(), and fevt::EyeRecData::TimeFitPixelsEnd().

bool FdAxisFinder::CheckForLasers ( evt::Event event)
private
void FdAxisFinder::FillPoints ( fevt::Eye eye)
private
void FdAxisFinder::FindAxis ( fevt::Eye eye)
private

Definition at line 350 of file FdAxisFinder.cc.

References degree, ERROR, fRp(), fRpError(), UnivRecNS::npar, and WARNING.

void FdAxisFinder::FindAxisLaser ( fevt::Eye eye)
private
VModule::ResultFlag FdAxisFinder::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 668 of file FdAxisFinder.cc.

References io::eSuccess.

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 FdAxisFinder::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 99 of file FdAxisFinder.cc.

References degree, fdet::FTimeFitModel::eRealisticAtm, ERROR, io::eSuccess, fdet::FTimeFitModel::eVacuumAtm, utl::Branch::GetChild(), utl::Branch::GetData(), utl::Branch::GetTopBranch(), INFO, ns, and fdet::FTimeFitModel::SetModel().

void fwk::VModule::InitTiming ( )
inlineinherited

Definition at line 95 of file VModule.h.

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

void FdAxisFinder::MinuitFitFunc ( int &  npar,
double *  gin,
double &  f,
double *  par,
int  iflag 
)
staticprivate
void FdAxisFinder::MinuitFitFuncLaser ( int &  npar,
double *  gin,
double &  f,
double *  par,
int  iflag 
)
staticprivate
bool FdAxisFinder::ReadmitPixel ( fevt::Eye eye)
private
FdAxisFinderOG::FdAxisFinder::REGISTER_MODULE ( "FdAxisFinderOG"  ,
FdAxisFinder   
)
private
bool FdAxisFinder::RejectPixel ( fevt::Eye eye)
private
void FdAxisFinder::RemoveOutliers ( fevt::Eye eye)
private
VModule::ResultFlag FdAxisFinder::Run ( evt::Event event)
virtual
ResultFlag fwk::VModule::RunWithTiming ( evt::Event event)
inlineinherited

Member Data Documentation

double FdAxisFinderOG::FdAxisFinder::fChi0
private

Definition at line 64 of file FdAxisFinder.h.

double FdAxisFinderOG::FdAxisFinder::fChi0Error
private

Definition at line 65 of file FdAxisFinder.h.

double FdAxisFinderOG::FdAxisFinder::fChi0First
private

Definition at line 73 of file FdAxisFinder.h.

double FdAxisFinder::fChi2 =0
staticprivate

Definition at line 61 of file FdAxisFinder.h.

double FdAxisFinderOG::FdAxisFinder::fCovariance[3][3]
private

Definition at line 70 of file FdAxisFinder.h.

fevt::Eye * FdAxisFinder::fCurEye =0
staticprivate

Definition at line 96 of file FdAxisFinder.h.

int FdAxisFinder::fDebuging
staticprivate

switch for debuging

Definition at line 94 of file FdAxisFinder.h.

int fwk::VModule::fInfoLevel = 0
protectedinherited
bool FdAxisFinderOG::FdAxisFinder::fIsBlob
private

True if the time extension is < fMinimumTimeExtension;.

Definition at line 88 of file FdAxisFinder.h.

bool FdAxisFinder::fIsCeleste = false
staticprivate

Definition at line 97 of file FdAxisFinder.h.

bool FdAxisFinder::fIsRamiro = false
staticprivate

Definition at line 98 of file FdAxisFinder.h.

double FdAxisFinderOG::FdAxisFinder::fMinimumTimeExtension
private

minimum allowed difference between t_i_max and t_i_min; If below, the event is probably a lightning , blob or similar

Definition at line 85 of file FdAxisFinder.h.

unsigned int FdAxisFinderOG::FdAxisFinder::fMinPixels
private

Minimum number of pixels to continue with time fit.

Definition at line 91 of file FdAxisFinder.h.

bool FdAxisFinderOG::FdAxisFinder::fMinuitFailed
private

flag failure of minuit

Definition at line 100 of file FdAxisFinder.h.

unsigned int FdAxisFinder::fNDof =0
staticprivate

Definition at line 62 of file FdAxisFinder.h.

double FdAxisFinder::fRp =0
staticprivate

Definition at line 68 of file FdAxisFinder.h.

double FdAxisFinderOG::FdAxisFinder::fRpError
private

Definition at line 69 of file FdAxisFinder.h.

double FdAxisFinderOG::FdAxisFinder::fRpFirst
private

Definition at line 74 of file FdAxisFinder.h.

utl::Vector FdAxisFinder::fSDP = utl::Vector()
staticprivate

Definition at line 60 of file FdAxisFinder.h.

double FdAxisFinderOG::FdAxisFinder::fSelectAndRecLasers
private

Definition at line 81 of file FdAxisFinder.h.

double FdAxisFinderOG::FdAxisFinder::fSigmasLimit
private

pixel not used in time fit if its T_i is over fSigmasLimit away

Definition at line 80 of file FdAxisFinder.h.

double FdAxisFinderOG::FdAxisFinder::fT0
private

Definition at line 66 of file FdAxisFinder.h.

double FdAxisFinderOG::FdAxisFinder::fT0Error
private

Definition at line 67 of file FdAxisFinder.h.

double FdAxisFinderOG::FdAxisFinder::fT0First
private

Definition at line 72 of file FdAxisFinder.h.

double FdAxisFinderOG::FdAxisFinder::fTolerance
private

max distance of pixel to SDP to take part in time fit

Definition at line 77 of file FdAxisFinder.h.


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

, generated on Tue Sep 26 2023.