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

#include <MdLDFFinder.h>

Inheritance diagram for MdLDFFinderAG::MdLDFFinder:
Inheritance graph
[legend]

Public Types

enum  LDFType { eKascadeGrande, eUndef_I, eUndef_II }
 Kind of possible ldf functions to be used. More...
 
enum  MinMethodType { eLikelihood, eLikelihood2, eLikelihood3 }
 Kind of possible minimization criteria to be used. More...
 
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

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...
 
VModule::ResultFlag Init ()
 Initialize: invoked at beginning of run (NOT beginning of event) More...
 
void InitTiming ()
 
 MdLDFFinder ()
 
VModule::ResultFlag Run (evt::Event &e)
 Run: invoked once per event. More...
 
ResultFlag RunWithTiming (evt::Event &event)
 
 ~MdLDFFinder ()
 

Static Public Member Functions

static std::string GetResultFlagByName (const ResultFlag flag)
 

Static Public Attributes

static const char *const kLDFTags [] = { "KascadeGrande", "ToBeDef_I", "ToBeDef_II" }
 Tags for the types of LDF. More...
 
static const char *const kMinMethodTags [] = { "Likelihood", "Likelihood2", "Likelihood3" }
 Tags for the types of MinMethod. More...
 

Protected Types

enum  InfoLevel { eInfoNone = 0, eInfoFinal = 1, eInfoIntermediate = 2, eInfoDebug = 3 }
 

Protected Attributes

int fInfoLevel = 0
 

Private Member Functions

double CalculateBeta (const double theta) const
 
double CalculateChi2 (const CounterList counters, const std::vector< double > parameters, const utl::Point rCore, const utl::Vector rAxis) const
 
size_t CalculateDegreesOfFreedom (const CounterList, const std::vector< bool >) const
 
double CalculateRho0Seed (const CounterList counters, const utl::Point rCore, const utl::Vector rAxis) const
 Estimate inital parameters. More...
 
void FillModulesShowerPlaneDistances (const evt::ShowerSRecData &, const mdet::MDetector &, mevt::MEvent &)
 
void FillReconstructedParameters (evt::ShowerMRecData &, const ROOT::Minuit2::MnUserParameterState &, double)
 
void FillTabulatedFunction (evt::ShowerMRecData &, const std::vector< double > &fPars, const std::vector< double > &fErrPars)
 
bool FixBetaFlag (const CounterList, const utl::Point &, const utl::Vector &) const
 
unsigned int GetFreeParIndex (const std::vector< ROOT::Minuit2::MinuitParameter >, unsigned int) const
 
 REGISTER_MODULE ("MdLDFFinderAG", MdLDFFinder)
 
CounterList SelectCandidateCounters (mevt::MEvent &)
 Fill the minimizer with the candidate modules from the event No efforr is made hare that the statuses of counters and modules are correct. This has to be checked in the event selector. More...
 
CounterList SelectSilentCounters (mevt::MEvent &)
 
void SetLdfResiduals (CounterList counters, const std::vector< double > parameters, const utl::Point rCore, const utl::Vector rAxis) const
 

Private Attributes

double fA0
 For beta parameterization: beta(theta) = a0 + a1 * sec(theta) + a2 * sec^2(theta) More...
 
double fA1
 
double fA2
 
double fCounterSpacings1
 
double fCounterSpacings2
 
double fCounterSpacings3
 
unsigned int fCountersToFixBeta
 
bool fFixBeta
 
bool fFixCoreFromSd
 
std::unique_ptr< VLDFFunctorfLDF
 Object performing the LDF and MinMethod evaluation. More...
 
LDFType fLDFType
 LDF and Minimization Method Types. More...
 
double fLowLimToRelaxBeta
 
std::unique_ptr
< VMinMethodFunctor
fMinimizer
 
MinMethodType fMinMethodType
 
double fReferenceDistance
 
size_t fSaturationLimit
 
size_t fSilentLimit
 
double fUppLimToRelaxBeta
 
bool fUseSaturated
 
bool fUseSilent
 
const mdet::MDetectormDetector
 
utl::CoordinateSystemPtr siteCS
 Make detector data and coordinate system available to all methods. More...
 

Detailed Description

Definition at line 33 of file MdLDFFinder.h.

Member Enumeration Documentation

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

Definition at line 125 of file VModule.h.

Kind of possible ldf functions to be used.

Enumerator
eKascadeGrande 

Kascade-Grande LDF, see...

eUndef_I 

Undefined I

eUndef_II 

Undefined II

Definition at line 37 of file MdLDFFinder.h.

Kind of possible minimization criteria to be used.

Enumerator
eLikelihood 

Original likelihood (Poisson)

eLikelihood2 

Profile likelihood (Binomial with time windows)

eLikelihood3 

Likelihood (Binomial infinite window and corner-clipping correction)

Definition at line 46 of file MdLDFFinder.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.

Constructor & Destructor Documentation

MdLDFFinderAG::MdLDFFinder::MdLDFFinder ( )

Definition at line 58 of file MdLDFFinder.cc.

MdLDFFinderAG::MdLDFFinder::~MdLDFFinder ( )

Definition at line 62 of file MdLDFFinder.cc.

Member Function Documentation

double MdLDFFinderAG::MdLDFFinder::CalculateBeta ( const double  theta) const
private

Definition at line 504 of file MdLDFFinder.cc.

References std::pow().

double MdLDFFinderAG::MdLDFFinder::CalculateChi2 ( const CounterList  counters,
const std::vector< double >  parameters,
const utl::Point  rCore,
const utl::Vector  rAxis 
) const
private
size_t MdLDFFinderAG::MdLDFFinder::CalculateDegreesOfFreedom ( const CounterList  counters,
const std::vector< bool >  parameterFlags 
) const
private

Definition at line 696 of file MdLDFFinder.cc.

References mevt::Counter::ModulesBegin(), and mevt::Counter::ModulesEnd().

double MdLDFFinderAG::MdLDFFinder::CalculateRho0Seed ( const CounterList  counters,
const utl::Point  rCore,
const utl::Vector  rAxis 
) const
private

Estimate inital parameters.

Definition at line 512 of file MdLDFFinder.cc.

References utl::cross(), mevt::Counter::GetId(), utl::AxialVector::GetMag(), mevt::Counter::GetMuonDensity(), and max.

void MdLDFFinderAG::MdLDFFinder::FillModulesShowerPlaneDistances ( const evt::ShowerSRecData sRecShower,
const mdet::MDetector mdet,
mevt::MEvent me 
)
private
void MdLDFFinderAG::MdLDFFinder::FillReconstructedParameters ( evt::ShowerMRecData mRecShower,
const ROOT::Minuit2::MnUserParameterState &  MnParState,
double  zcore 
)
private
void MdLDFFinderAG::MdLDFFinder::FillTabulatedFunction ( evt::ShowerMRecData mRecShower,
const std::vector< double > &  fPars,
const std::vector< double > &  fErrPars 
)
private
VModule::ResultFlag MdLDFFinderAG::MdLDFFinder::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 298 of file MdLDFFinder.cc.

References io::eSuccess.

bool MdLDFFinderAG::MdLDFFinder::FixBetaFlag ( const CounterList  counters,
const utl::Point rCore,
const utl::Vector rAxis 
) const
private
unsigned int MdLDFFinderAG::MdLDFFinder::GetFreeParIndex ( const std::vector< ROOT::Minuit2::MinuitParameter >  minuitParameters,
unsigned int  globalIndex 
) const
private

Definition at line 483 of file MdLDFFinder.cc.

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 MdLDFFinderAG::MdLDFFinder::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 67 of file MdLDFFinder.cc.

References utl::ConsecutiveEnumFactory< EnumType, last, tags, NoConversionPolicy, first >::Create(), ERROR, io::eSuccess, fwk::CentralConfig::GetInstance(), fwk::CentralConfig::GetTopBranch(), INFO, Likelihood(), utl::LoadConfig(), and utl::m.

void fwk::VModule::InitTiming ( )
inlineinherited

Definition at line 95 of file VModule.h.

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

MdLDFFinderAG::MdLDFFinder::REGISTER_MODULE ( "MdLDFFinderAG"  ,
MdLDFFinder   
)
private
VModule::ResultFlag MdLDFFinderAG::MdLDFFinder::Run ( evt::Event event)
virtual
ResultFlag fwk::VModule::RunWithTiming ( evt::Event event)
inlineinherited
CounterList MdLDFFinderAG::MdLDFFinder::SelectCandidateCounters ( mevt::MEvent me)
private

Fill the minimizer with the candidate modules from the event No efforr is made hare that the statuses of counters and modules are correct. This has to be checked in the event selector.

Definition at line 571 of file MdLDFFinder.cc.

References mevt::MEvent::CountersBegin(), and mevt::MEvent::CountersEnd().

CounterList MdLDFFinderAG::MdLDFFinder::SelectSilentCounters ( mevt::MEvent me)
private

Definition at line 552 of file MdLDFFinder.cc.

References mevt::MEvent::CountersBegin(), and mevt::MEvent::CountersEnd().

void MdLDFFinderAG::MdLDFFinder::SetLdfResiduals ( CounterList  counters,
const std::vector< double >  parameters,
const utl::Point  rCore,
const utl::Vector  rAxis 
) const
private

Member Data Documentation

double MdLDFFinderAG::MdLDFFinder::fA0
private

For beta parameterization: beta(theta) = a0 + a1 * sec(theta) + a2 * sec^2(theta)

Definition at line 148 of file MdLDFFinder.h.

double MdLDFFinderAG::MdLDFFinder::fA1
private

Definition at line 149 of file MdLDFFinder.h.

double MdLDFFinderAG::MdLDFFinder::fA2
private

Definition at line 150 of file MdLDFFinder.h.

double MdLDFFinderAG::MdLDFFinder::fCounterSpacings1
private

Definition at line 141 of file MdLDFFinder.h.

double MdLDFFinderAG::MdLDFFinder::fCounterSpacings2
private

Definition at line 142 of file MdLDFFinder.h.

double MdLDFFinderAG::MdLDFFinder::fCounterSpacings3
private

Definition at line 143 of file MdLDFFinder.h.

unsigned int MdLDFFinderAG::MdLDFFinder::fCountersToFixBeta
private

Definition at line 135 of file MdLDFFinder.h.

bool MdLDFFinderAG::MdLDFFinder::fFixBeta
private

Definition at line 134 of file MdLDFFinder.h.

bool MdLDFFinderAG::MdLDFFinder::fFixCoreFromSd
private

Definition at line 159 of file MdLDFFinder.h.

int fwk::VModule::fInfoLevel = 0
protectedinherited
std::unique_ptr<VLDFFunctor> MdLDFFinderAG::MdLDFFinder::fLDF
private

Object performing the LDF and MinMethod evaluation.

Definition at line 169 of file MdLDFFinder.h.

LDFType MdLDFFinderAG::MdLDFFinder::fLDFType
private

LDF and Minimization Method Types.

Definition at line 164 of file MdLDFFinder.h.

double MdLDFFinderAG::MdLDFFinder::fLowLimToRelaxBeta
private

Definition at line 138 of file MdLDFFinder.h.

std::unique_ptr<VMinMethodFunctor> MdLDFFinderAG::MdLDFFinder::fMinimizer
private

Definition at line 170 of file MdLDFFinder.h.

MinMethodType MdLDFFinderAG::MdLDFFinder::fMinMethodType
private

Definition at line 165 of file MdLDFFinder.h.

double MdLDFFinderAG::MdLDFFinder::fReferenceDistance
private

Definition at line 152 of file MdLDFFinder.h.

size_t MdLDFFinderAG::MdLDFFinder::fSaturationLimit
private

Definition at line 157 of file MdLDFFinder.h.

size_t MdLDFFinderAG::MdLDFFinder::fSilentLimit
private

Definition at line 154 of file MdLDFFinder.h.

double MdLDFFinderAG::MdLDFFinder::fUppLimToRelaxBeta
private

Definition at line 139 of file MdLDFFinder.h.

bool MdLDFFinderAG::MdLDFFinder::fUseSaturated
private

Definition at line 156 of file MdLDFFinder.h.

bool MdLDFFinderAG::MdLDFFinder::fUseSilent
private

Definition at line 153 of file MdLDFFinder.h.

const char *const MdLDFFinderAG::MdLDFFinder::kLDFTags = { "KascadeGrande", "ToBeDef_I", "ToBeDef_II" }
static

Tags for the types of LDF.

Definition at line 43 of file MdLDFFinder.h.

const char *const MdLDFFinderAG::MdLDFFinder::kMinMethodTags = { "Likelihood", "Likelihood2", "Likelihood3" }
static

Tags for the types of MinMethod.

Definition at line 52 of file MdLDFFinder.h.

const mdet::MDetector* MdLDFFinderAG::MdLDFFinder::mDetector
private

Definition at line 176 of file MdLDFFinder.h.

utl::CoordinateSystemPtr MdLDFFinderAG::MdLDFFinder::siteCS
private

Make detector data and coordinate system available to all methods.

Definition at line 175 of file MdLDFFinder.h.


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

, generated on Tue Sep 26 2023.