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

#include <RdStationPolarizationRejector.h>

Inheritance diagram for RdStationPolarizationRejector::RdStationPolarizationRejector:
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 () override
 Finish: invoked at end of the run (NOT end of the event) More...
 
void GetCovarianceMatrix (const evt::Event &event, double covarianceMatrix[3], const evt::ShowerRRecData &rShower, const utl::CoordinateSystemPtr &cs)
 
void GetLocalPolMaxima (double &pol1, double &pol2, const double angleToMagneticField, double maxChargeExcess)
 
double GetProbability ()
 
TVector3 GetStationPositionvxBvxvxB (const utl::Point stationPosition, const utl::Point &corePosition, const utl::RadioGeometryUtilities &)
 
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 () override
 Initialize: invoked at beginning of run (NOT beginning of event) More...
 
void InitTiming ()
 
fwk::VModule::ResultFlag Run (evt::Event &event) override
 Run: invoked once per event. More...
 
ResultFlag RunWithTiming (evt::Event &event)
 
void SetMaxChargeExcess (double aMax)
 
void SetMinChargeExcess (double aMin)
 
void SetProbability (double prob)
 

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 CheckZenith (const double zenith, const double azimuth)
 
void GetCoreErrorEllipse (utl::Point &semiMajorAxis, utl::Point &semiMinorAxis, const utl::Point &corePosition, const double covarianceMatrix[3], const utl::CoordinateSystemPtr &cs)
 
void GetCoreErrorEllipsevxBvxvxB (TVector3 &semiMajorAxisvxBvxvxB, TVector3 &semiMinorAxisvxBvxvxB, double &rotationAngleInVxB, const utl::Point &semiMajorAxis, const utl::Point &semiMinorAxis, const utl::Point &corePosition, const utl::RadioGeometryUtilities &rdGeometryUtilities)
 
TVector3 GetEfieldInShowerPlane (const utl::Vector &efield, const utl::CoordinateSystemPtr &cs, const utl::RadioGeometryUtilities &rdGeometryUtilities)
 
void GetErrorEllipseTangentPoints (TVector3 &ellipseTangentPoint1, TVector3 &ellipseTangentPoint2, const TVector3 &stationPositionvxBvxvxB, const TVector3 &semiMajorAxisVxB, const TVector3 &semiMinorAxisVxB, const double rotationAngle)
 
double GetMaxChargeExcess (const double zenith, const double distToAxis, const double semiMajorAxisLength)
 
double GetMinChargeExcess (const double zenith, const double distToAxis, const double semiMajorAxisLength)
 
double GetPolAngleUncertainty (const double signalToNoise, const TVector3 efield, const double noiseVxB, const double noiseVxVxB)
 
double GetTangentPol (const TVector3 &stationPositionvxBvxvxB, const TVector3 &tangentPoint, const double chargeExcess, const double angleToMagneticField)
 
bool IsStationInErrorEllipse (const TVector3 &stationPositionvxBvxvxB, const TVector3 &semiMajorAxisVxB, const TVector3 &semiMinorAxisVxB, const double rotationAngle)
 
 REGISTER_MODULE ("RdStationPolarizationRejector", RdStationPolarizationRejector)
 

Private Attributes

double fChiSquared = 0
 
bool fConstantChargeExcess = false
 
double fMaxBeta = 0
 
double fMaxChargeExcess = 0
 
double fMaxChargeExcess30 [20]
 
double fMaxChargeExcess40 [20]
 
double fMaxChargeExcess50 [20]
 
double fMaxChargeExcess60 [20]
 
double fMaxSigmaBeta = 0
 
double fMaxZenith [12]
 
double fMinChargeExcess = 0
 
double fMinChargeExcess30 [20]
 
double fMinChargeExcess40 [20]
 
double fMinChargeExcess50 [20]
 
double fMinChargeExcess60 [20]
 
int fNoiseErrorModel = 0
 
double fProbability = 0
 
bool fZenithCut = false
 

Detailed Description

Definition at line 28 of file RdStationPolarizationRejector.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

bool RdStationPolarizationRejector::RdStationPolarizationRejector::CheckZenith ( const double  zenith,
const double  azimuth 
)
private

Definition at line 373 of file RdStationPolarizationRejector.cc.

References utl::degree.

fwk::VModule::ResultFlag RdStationPolarizationRejector::RdStationPolarizationRejector::Finish ( )
overridevirtual

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 681 of file RdStationPolarizationRejector.cc.

References io::eSuccess.

void RdStationPolarizationRejector::RdStationPolarizationRejector::GetCoreErrorEllipse ( utl::Point semiMajorAxis,
utl::Point semiMinorAxis,
const utl::Point corePosition,
const double  covarianceMatrix[3],
const utl::CoordinateSystemPtr cs 
)
private
void RdStationPolarizationRejector::RdStationPolarizationRejector::GetCoreErrorEllipsevxBvxvxB ( TVector3 &  semiMajorAxisvxBvxvxB,
TVector3 &  semiMinorAxisvxBvxvxB,
double &  rotationAngleInVxB,
const utl::Point semiMajorAxis,
const utl::Point semiMinorAxis,
const utl::Point corePosition,
const utl::RadioGeometryUtilities rdGeometryUtilities 
)
private
void RdStationPolarizationRejector::RdStationPolarizationRejector::GetCovarianceMatrix ( const evt::Event event,
double  covarianceMatrix[3],
const evt::ShowerRRecData rShower,
const utl::CoordinateSystemPtr cs 
)
TVector3 RdStationPolarizationRejector::RdStationPolarizationRejector::GetEfieldInShowerPlane ( const utl::Vector efield,
const utl::CoordinateSystemPtr cs,
const utl::RadioGeometryUtilities rdGeometryUtilities 
)
private
void RdStationPolarizationRejector::RdStationPolarizationRejector::GetErrorEllipseTangentPoints ( TVector3 &  ellipseTangentPoint1,
TVector3 &  ellipseTangentPoint2,
const TVector3 &  stationPositionvxBvxvxB,
const TVector3 &  semiMajorAxisVxB,
const TVector3 &  semiMinorAxisVxB,
const double  rotationAngle 
)
private

Definition at line 583 of file RdStationPolarizationRejector.cc.

References std::pow(), and sqrt().

void RdStationPolarizationRejector::RdStationPolarizationRejector::GetLocalPolMaxima ( double &  pol1,
double &  pol2,
const double  angleToMagneticField,
double  maxChargeExcess 
)

Definition at line 618 of file RdStationPolarizationRejector.cc.

double RdStationPolarizationRejector::RdStationPolarizationRejector::GetMaxChargeExcess ( const double  zenith,
const double  distToAxis,
const double  semiMajorAxisLength 
)
private

Definition at line 274 of file RdStationPolarizationRejector.cc.

References utl::degree.

double RdStationPolarizationRejector::RdStationPolarizationRejector::GetMinChargeExcess ( const double  zenith,
const double  distToAxis,
const double  semiMajorAxisLength 
)
private

Definition at line 323 of file RdStationPolarizationRejector.cc.

References utl::degree.

double RdStationPolarizationRejector::RdStationPolarizationRejector::GetPolAngleUncertainty ( const double  signalToNoise,
const TVector3  efield,
const double  noiseVxB,
const double  noiseVxVxB 
)
private

Definition at line 660 of file RdStationPolarizationRejector.cc.

References utl::deg, utl::degree, INFODebug, std::pow(), and sqrt().

double RdStationPolarizationRejector::RdStationPolarizationRejector::GetProbability ( )
inline

Definition at line 39 of file RdStationPolarizationRejector.h.

References fProbability.

std::string fwk::VModule::GetResultFlagByName ( const ResultFlag  flag)
staticinherited
TVector3 RdStationPolarizationRejector::RdStationPolarizationRejector::GetStationPositionvxBvxvxB ( const utl::Point  stationPosition,
const utl::Point corePosition,
const utl::RadioGeometryUtilities rdGeometryUtilities 
)
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.

double RdStationPolarizationRejector::RdStationPolarizationRejector::GetTangentPol ( const TVector3 &  stationPositionvxBvxvxB,
const TVector3 &  tangentPoint,
const double  chargeExcess,
const double  angleToMagneticField 
)
private

Definition at line 631 of file RdStationPolarizationRejector.cc.

References sqrt().

std::string fwk::VModule::GetVersionInfo ( const VersionInfoType  v) const
inherited
fwk::VModule::ResultFlag RdStationPolarizationRejector::RdStationPolarizationRejector::Init ( )
overridevirtual

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 35 of file RdStationPolarizationRejector.cc.

References io::eSuccess, utl::Branch::GetChild(), utl::Branch::GetData(), fwk::CentralConfig::GetInstance(), fwk::CentralConfig::GetTopBranch(), and INFODebug.

void fwk::VModule::InitTiming ( )
inlineinherited

Definition at line 95 of file VModule.h.

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

bool RdStationPolarizationRejector::RdStationPolarizationRejector::IsStationInErrorEllipse ( const TVector3 &  stationPositionvxBvxvxB,
const TVector3 &  semiMajorAxisVxB,
const TVector3 &  semiMinorAxisVxB,
const double  rotationAngle 
)
private

Definition at line 561 of file RdStationPolarizationRejector.cc.

RdStationPolarizationRejector::RdStationPolarizationRejector::REGISTER_MODULE ( "RdStationPolarizationRejector"  ,
RdStationPolarizationRejector   
)
private
fwk::VModule::ResultFlag RdStationPolarizationRejector::RdStationPolarizationRejector::Run ( evt::Event event)
overridevirtual
ResultFlag fwk::VModule::RunWithTiming ( evt::Event event)
inlineinherited
void RdStationPolarizationRejector::RdStationPolarizationRejector::SetMaxChargeExcess ( double  aMax)
inline

Definition at line 36 of file RdStationPolarizationRejector.h.

References fMaxChargeExcess.

void RdStationPolarizationRejector::RdStationPolarizationRejector::SetMinChargeExcess ( double  aMin)
inline

Definition at line 37 of file RdStationPolarizationRejector.h.

References fMinChargeExcess.

void RdStationPolarizationRejector::RdStationPolarizationRejector::SetProbability ( double  prob)

Definition at line 410 of file RdStationPolarizationRejector.cc.

Member Data Documentation

double RdStationPolarizationRejector::RdStationPolarizationRejector::fChiSquared = 0
private

Definition at line 54 of file RdStationPolarizationRejector.h.

bool RdStationPolarizationRejector::RdStationPolarizationRejector::fConstantChargeExcess = false
private

Definition at line 50 of file RdStationPolarizationRejector.h.

int fwk::VModule::fInfoLevel = 0
protectedinherited
double RdStationPolarizationRejector::RdStationPolarizationRejector::fMaxBeta = 0
private

Definition at line 55 of file RdStationPolarizationRejector.h.

double RdStationPolarizationRejector::RdStationPolarizationRejector::fMaxChargeExcess = 0
private

Definition at line 51 of file RdStationPolarizationRejector.h.

Referenced by SetMaxChargeExcess().

double RdStationPolarizationRejector::RdStationPolarizationRejector::fMaxChargeExcess30[20]
private
Initial value:
= { 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.45, 0.38, 0.34, 0.32, 0.29,
0.21, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3 }

Definition at line 61 of file RdStationPolarizationRejector.h.

double RdStationPolarizationRejector::RdStationPolarizationRejector::fMaxChargeExcess40[20]
private
Initial value:
= { 0.37, 0.37, 0.32, 0.32, 0.33, 0.33, 0.33, 0.35, 0.35, 0.31,
0.31, 0.28, 0.25, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3 }

Definition at line 65 of file RdStationPolarizationRejector.h.

double RdStationPolarizationRejector::RdStationPolarizationRejector::fMaxChargeExcess50[20]
private
Initial value:
= { 0.25, 0.25, 0.25, 0.25, 0.26, 0.3, 0.3, 0.35, 0.35, 0.33, 0.33,
0.32, 0.32, 0.24, 0.24, 0.23, 0.22, 0.22, 0.22, 0.22 }

Definition at line 69 of file RdStationPolarizationRejector.h.

double RdStationPolarizationRejector::RdStationPolarizationRejector::fMaxChargeExcess60[20]
private
Initial value:
= { 0.03, 0.03, 0.05, 0.08, 0.1, 0.12, 0.13, 0.15, 0.17, 0.18, 0.19,
0.2, 0.2, 0.2, 0.21, 0.21, 0.22, 0.22, 0.21, 0.21 }

Definition at line 73 of file RdStationPolarizationRejector.h.

double RdStationPolarizationRejector::RdStationPolarizationRejector::fMaxSigmaBeta = 0
private

Definition at line 56 of file RdStationPolarizationRejector.h.

double RdStationPolarizationRejector::RdStationPolarizationRejector::fMaxZenith[12]
private
Initial value:
= { 60. * utl::degree, 70. * utl::degree, 70. * utl::degree, 70. * utl::degree,
70. * utl::degree, 60. * utl::degree, 50. * utl::degree, 50. * utl::degree,
50. * utl::degree, 50. * utl::degree, 50. * utl::degree, 50. * utl::degree }

Definition at line 77 of file RdStationPolarizationRejector.h.

double RdStationPolarizationRejector::RdStationPolarizationRejector::fMinChargeExcess = 0
private

Definition at line 52 of file RdStationPolarizationRejector.h.

Referenced by SetMinChargeExcess().

double RdStationPolarizationRejector::RdStationPolarizationRejector::fMinChargeExcess30[20]
private
Initial value:
= { 0.0, 0.1, 0.1, 0.08, 0.05, 0.02, 0.01, 0.0, 0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 }

Definition at line 63 of file RdStationPolarizationRejector.h.

double RdStationPolarizationRejector::RdStationPolarizationRejector::fMinChargeExcess40[20]
private
Initial value:
= { 0.0, 0.09, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.05, 0.05, 0.05, 0.0,
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 }

Definition at line 67 of file RdStationPolarizationRejector.h.

double RdStationPolarizationRejector::RdStationPolarizationRejector::fMinChargeExcess50[20]
private
Initial value:
= { 0.0, 0.0, 0.0, 0.0, 0.05, 0.05, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1,
0.1, 0.05, 0.05, 0.0, 0.0, 0.0, 0.0, 0.0 }

Definition at line 71 of file RdStationPolarizationRejector.h.

double RdStationPolarizationRejector::RdStationPolarizationRejector::fMinChargeExcess60[20]
private
Initial value:
= { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0, 0.0, 0.0 }

Definition at line 75 of file RdStationPolarizationRejector.h.

int RdStationPolarizationRejector::RdStationPolarizationRejector::fNoiseErrorModel = 0
private

Definition at line 58 of file RdStationPolarizationRejector.h.

double RdStationPolarizationRejector::RdStationPolarizationRejector::fProbability = 0
private

Definition at line 53 of file RdStationPolarizationRejector.h.

Referenced by GetProbability().

bool RdStationPolarizationRejector::RdStationPolarizationRejector::fZenithCut = false
private

Definition at line 57 of file RdStationPolarizationRejector.h.


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

, generated on Tue Sep 26 2023.