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
Risetime1000::Risetime1000LLL Class Reference

This module calculates the risetime for an event. More...

#include <Risetime1000LLL.h>

Inheritance diagram for Risetime1000::Risetime1000LLL:
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...
 
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 ()
 
 Risetime1000LLL ()=default
 
fwk::VModule::ResultFlag Run (evt::Event &event) override
 Run: invoked once per event. More...
 
ResultFlag RunWithTiming (evt::Event &event)
 
virtual ~Risetime1000LLL ()
 

Static Public Member Functions

static std::string GetResultFlagByName (const ResultFlag flag)
 

Static Public Attributes

static double fgRisetime = -1
 
static double fgRisetimeError = -1
 
static double fgRisetimeReducedChi2 = -1
 
static RisetimeResultsLLLfgRisetimeResults = nullptr
 

Protected Types

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

Protected Attributes

int fInfoLevel = 0
 
float fRiseTimeStartFraction = 0.1
 
float fRiseTimeStopFraction = 0.5
 

Private Member Functions

double FitEventRiseTime ()
 
double RecalculateRiseTime (const sevt::Station &station)
 
 REGISTER_MODULE ("Risetime1000LLL", Risetime1000LLL)
 

Private Attributes

sevt::StationConstants::SignalComponent fComponent = sevt::StationConstants::eTotal
 
float fDistanceToInterpolateFitResult = 1000*utl::meter
 
bool fDoRiseTimeFit = true
 
bool fForceRiseTimeRecalculation = false
 
bool fIncludeSaturatedForRiseTimeFit = false
 
float fMaximumDistanceForRiseTimeFit = 1600*utl::meter
 
float fMinimumDistanceForRiseTimeFit = 0*utl::meter
 
float fMinimumSignalForRiseTimeFit = 10
 
unsigned int fRejectedStations = 0
 
std::string fRTWeightingFunction
 
TFormula * fRTWeights = nullptr
 
bool fUseDLECorrectedTrace
 

Detailed Description

This module calculates the risetime for an event.

Typically this is a value interpolated from a fit to the individual risetimes of each candidate station in the shower plane. An option to recalculate the risetime of each station is provided.

Author
M. Healy
D. Barnhill
Date
27 September 2004

Definition at line 62 of file Risetime1000LLL.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.

Constructor & Destructor Documentation

Risetime1000::Risetime1000LLL::Risetime1000LLL ( )
default
Risetime1000LLL::~Risetime1000LLL ( )
virtual

Definition at line 113 of file Risetime1000LLL.cc.

Member Function Documentation

fwk::VModule::ResultFlag Risetime1000::Risetime1000LLL::Finish ( )
inlineoverridevirtual

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 71 of file Risetime1000LLL.h.

References fwk::VModule::eSuccess.

double Risetime1000LLL::FitEventRiseTime ( )
private

Using the risetimes from individual stations fit a quadratic function with a 40 ns offset at r = 0 meters. The return value is the risetime interpolated at 1000 meters from the shower core.

Note
This method depends on setting the risetime, an error, an asymmetery correction, and passing quality cuts. See the XML config file for some details.

Definition at line 358 of file Risetime1000LLL.cc.

References INFO, km, utl::m, GeomAsymNS::nPar, ns, utl::s, and sqrt().

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 Risetime1000LLL::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 121 of file Risetime1000LLL.cc.

References sevt::StationConstants::eDirectLightSubtracted, ERROR, io::eSuccess, sevt::StationConstants::eTotal, INFO, and utl::m.

void fwk::VModule::InitTiming ( )
inlineinherited

Definition at line 95 of file VModule.h.

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

double Risetime1000LLL::RecalculateRiseTime ( const sevt::Station station)
private
Risetime1000::Risetime1000LLL::REGISTER_MODULE ( "Risetime1000LLL"  ,
Risetime1000LLL   
)
private
VModule::ResultFlag Risetime1000LLL::Run ( evt::Event event)
overridevirtual

Run: invoked once per event.

This method is for things that should be done once per event {You must override this method in your concrete module}

Implements fwk::VModule.

Definition at line 198 of file Risetime1000LLL.cc.

References sevt::StationRecData::eLowGainSaturated, sevt::StationRecData::eLowSignal, sevt::StationRecData::eNotCandidate, sevt::StationRecData::eNotInRing, io::eSuccess, Risetime1000::StationRisetimeDataLLL::fStationId, utl::g, evt::Event::HasRecShower(), evt::Event::HasSEvent(), INFO, km, utl::m, and utl::Sqr().

ResultFlag fwk::VModule::RunWithTiming ( evt::Event event)
inlineinherited

Member Data Documentation

sevt::StationConstants::SignalComponent Risetime1000::Risetime1000LLL::fComponent = sevt::StationConstants::eTotal
private

Definition at line 108 of file Risetime1000LLL.h.

float Risetime1000::Risetime1000LLL::fDistanceToInterpolateFitResult = 1000*utl::meter
private

Definition at line 99 of file Risetime1000LLL.h.

bool Risetime1000::Risetime1000LLL::fDoRiseTimeFit = true
private

Definition at line 101 of file Risetime1000LLL.h.

bool Risetime1000::Risetime1000LLL::fForceRiseTimeRecalculation = false
private

Definition at line 102 of file Risetime1000LLL.h.

double Risetime1000LLL::fgRisetime = -1
static

Definition at line 74 of file Risetime1000LLL.h.

double Risetime1000LLL::fgRisetimeError = -1
static

Definition at line 75 of file Risetime1000LLL.h.

double Risetime1000LLL::fgRisetimeReducedChi2 = -1
static

Definition at line 76 of file Risetime1000LLL.h.

RisetimeResultsLLL * Risetime1000LLL::fgRisetimeResults = nullptr
static

Definition at line 77 of file Risetime1000LLL.h.

bool Risetime1000::Risetime1000LLL::fIncludeSaturatedForRiseTimeFit = false
private

Definition at line 100 of file Risetime1000LLL.h.

int fwk::VModule::fInfoLevel = 0
protectedinherited
float Risetime1000::Risetime1000LLL::fMaximumDistanceForRiseTimeFit = 1600*utl::meter
private

Definition at line 98 of file Risetime1000LLL.h.

float Risetime1000::Risetime1000LLL::fMinimumDistanceForRiseTimeFit = 0*utl::meter
private

Definition at line 97 of file Risetime1000LLL.h.

float Risetime1000::Risetime1000LLL::fMinimumSignalForRiseTimeFit = 10
private

Definition at line 96 of file Risetime1000LLL.h.

unsigned int Risetime1000::Risetime1000LLL::fRejectedStations = 0
private

Definition at line 93 of file Risetime1000LLL.h.

float Risetime1000::Risetime1000LLL::fRiseTimeStartFraction = 0.1
protected

Definition at line 82 of file Risetime1000LLL.h.

float Risetime1000::Risetime1000LLL::fRiseTimeStopFraction = 0.5
protected

Definition at line 83 of file Risetime1000LLL.h.

std::string Risetime1000::Risetime1000LLL::fRTWeightingFunction
private

Definition at line 103 of file Risetime1000LLL.h.

TFormula* Risetime1000::Risetime1000LLL::fRTWeights = nullptr
private

Definition at line 92 of file Risetime1000LLL.h.

bool Risetime1000::Risetime1000LLL::fUseDLECorrectedTrace
private

Definition at line 89 of file Risetime1000LLL.h.


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

, generated on Tue Sep 26 2023.