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
FdSDPFinderOG::FdSDPFinder Class Reference

A simple SDP Finder. More...

#include "FdSDPFinderOG/FdSDPFinder.h"

Inheritance diagram for FdSDPFinderOG::FdSDPFinder:
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)
 
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 EstimateChi_i (fevt::Eye &eye)
 
void FindSDP (fevt::Eye &eye)
 
utl::AxialVector FindSDPFirstGuess (fevt::Eye &eye)
 
bool IsIsolated (const fevt::Pixel &, const fevt::Eye &eye)
 
void ReadmitPixel (fevt::Eye &eye)
 
 REGISTER_MODULE ("FdSDPFinderOG", FdSDPFinder)
 
void RemoveNoise (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)
 

Private Attributes

bool fFirstGuessFromCharge
 
bool fGoodEvent
 
double fIsolationLimit
 Time limit for pixel isolation. More...
 
double fMaxDistance
 maximum allowed distance of pixel from trial SDP More...
 
unsigned int fMinPixels
 minimum number of pixels to perform reconstruction More...
 
utl::Vector fSDP
 
double fSDPCorrThetaPhi
 
utl::Vector fSDPFirstGuess
 
double fSDPPhiError
 
double fSDPThetaError
 

Static Private Attributes

static double fChi2 =0
 
static fevt::EyefCurEye =0
 
static unsigned int fNDof =0
 

Detailed Description

A simple SDP Finder.

Author
Stefano Argiro'
Date
11 Sep 2003

Definition at line 37 of file FdSDPFinder.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 FdSDPFinder::EstimateChi_i ( fevt::Eye eye)
private
void FdSDPFinder::FindSDP ( fevt::Eye eye)
private
utl::AxialVector FdSDPFinder::FindSDPFirstGuess ( fevt::Eye eye)
private
VModule::ResultFlag FdSDPFinder::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 219 of file FdSDPFinder.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 FdSDPFinder::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 54 of file FdSDPFinder.cc.

References ERROR, io::eSuccess, utl::Branch::GetChild(), utl::Branch::GetData(), utl::Branch::GetTopBranch(), and INFO.

void fwk::VModule::InitTiming ( )
inlineinherited

Definition at line 95 of file VModule.h.

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

bool FdSDPFinder::IsIsolated ( const fevt::Pixel pixel,
const fevt::Eye eye 
)
private
void FdSDPFinder::MinuitFitFunc ( int &  npar,
double *  gin,
double &  f,
double *  par,
int  iflag 
)
staticprivate

/brief Minimization function The function to be minimized by Minuit. The sum of the angular distances of each pixel from a trial SDP defined by its $\theta$ and $\phi$.

\[ \chi^2 = \sum_i \frac{\frac{\pi}{2} - \arccos (\overrightarrow n _ {sdp} \cdot \overrightarrow v_i)} {\sigma_i ^2} \]

where $\sigma_i = \frac{1}{q_i} $ and $ q_i $ is the pixel charge

Definition at line 801 of file FdSDPFinder.cc.

References Angle(), degree, fdet::Pixel::GetDirection(), fdet::Eye::GetEyeCoordinateSystem(), fevt::Pixel::GetRecData(), fevt::PixelRecData::GetTotalCharge(), utl::kPi, fevt::EyeRecData::SDPPixelsBegin(), and fevt::EyeRecData::SDPPixelsEnd().

void FdSDPFinder::ReadmitPixel ( fevt::Eye eye)
private

Check that the pixel is within an angular distance < from the trial SDP. If so, add it to the list of pixels to be used for SDP determination

Definition at line 520 of file FdSDPFinder.cc.

References utl::abs(), fevt::EyeRecData::AddSDPPixel(), Angle(), fdet::Pixel::GetDirection(), fevt::Pixel::GetId(), fevt::Eye::GetRecData(), utl::kPi, fevt::EyeRecData::PulsedPixelsBegin(), fevt::EyeRecData::PulsedPixelsEnd(), fevt::EyeRecData::SDPPixelsBegin(), and fevt::EyeRecData::SDPPixelsEnd().

FdSDPFinderOG::FdSDPFinder::REGISTER_MODULE ( "FdSDPFinderOG"  ,
FdSDPFinder   
)
private
void FdSDPFinder::RemoveNoise ( fevt::Eye eye)
private

Check that the pixel is within an angular distance < from the trial SDP. If so, add it to the list of pixels to be used for SDP determination

Definition at line 493 of file FdSDPFinder.cc.

References utl::abs(), Angle(), fdet::Pixel::GetDirection(), fevt::Eye::GetRecData(), utl::kPi, fevt::EyeRecData::RemoveSDPPixel(), fevt::EyeRecData::SDPPixelsBegin(), and fevt::EyeRecData::SDPPixelsEnd().

void FdSDPFinder::RemoveOutliers ( fevt::Eye eye)
private
VModule::ResultFlag FdSDPFinder::Run ( evt::Event event)
virtual
ResultFlag fwk::VModule::RunWithTiming ( evt::Event event)
inlineinherited

Member Data Documentation

double FdSDPFinder::fChi2 =0
staticprivate

Definition at line 66 of file FdSDPFinder.h.

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

Definition at line 58 of file FdSDPFinder.h.

bool FdSDPFinderOG::FdSDPFinder::fFirstGuessFromCharge
private

use track bed charge for SDP first guess (number of pixels otherwise)

Definition at line 75 of file FdSDPFinder.h.

bool FdSDPFinderOG::FdSDPFinder::fGoodEvent
private

Definition at line 79 of file FdSDPFinder.h.

int fwk::VModule::fInfoLevel = 0
protectedinherited
double FdSDPFinderOG::FdSDPFinder::fIsolationLimit
private

Time limit for pixel isolation.

Definition at line 78 of file FdSDPFinder.h.

double FdSDPFinderOG::FdSDPFinder::fMaxDistance
private

maximum allowed distance of pixel from trial SDP

Definition at line 72 of file FdSDPFinder.h.

unsigned int FdSDPFinderOG::FdSDPFinder::fMinPixels
private

minimum number of pixels to perform reconstruction

Definition at line 70 of file FdSDPFinder.h.

unsigned int FdSDPFinder::fNDof =0
staticprivate

Definition at line 67 of file FdSDPFinder.h.

utl::Vector FdSDPFinderOG::FdSDPFinder::fSDP
private

Definition at line 60 of file FdSDPFinder.h.

double FdSDPFinderOG::FdSDPFinder::fSDPCorrThetaPhi
private

Definition at line 65 of file FdSDPFinder.h.

utl::Vector FdSDPFinderOG::FdSDPFinder::fSDPFirstGuess
private

Definition at line 61 of file FdSDPFinder.h.

double FdSDPFinderOG::FdSDPFinder::fSDPPhiError
private

Definition at line 64 of file FdSDPFinder.h.

double FdSDPFinderOG::FdSDPFinder::fSDPThetaError
private

Definition at line 63 of file FdSDPFinder.h.


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

, generated on Tue Sep 26 2023.