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

Performs calibration and signal analysis of the SD event. More...

#include "SdCalibratorOG/SdCalibrator.h"

Inheritance diagram for SdCalibratorOG::SdCalibrator:
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 ()
 
fwk::VModule::ResultFlag Run (evt::Event &event) override
 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 Types

typedef std::pair< double, double > PairD
 

Private Member Functions

void ApplyTimeCorrection (sevt::Station &station)
 Calculate corrected nanosecond from raw GPS parameter. More...
 
int BuildSignals (sevt::Station &station) const
 
bool BuildSignals (sevt::PMT &pmt, const unsigned int traceLength, const int saturationValue) const
 
void CalculatePeakAndCharge (sevt::Station &station)
 
bool ComputeBaseline (const sevt::Station &station, sevt::PMT &pmt, const sdet::PMTConstants::PMTGain gain) const
 
bool ComputeBaselines (sevt::Station &station) const
 
void ComputeShapeRiseFallPeak (sevt::PMTRecData &pmtRecData, const double binTiming, const unsigned int startBin, const unsigned int startIntegration, const unsigned int endIntegration, const double traceIntegral) const
 
bool CopySmallPMTCalibData (sevt::Station &station)
 
bool IsTestStation (const int id) const
 
bool MakeComponentVEMTraces (sevt::PMT &pmt) const
 
void MakeFlatBaseline (sevt::PMT &pmt, const sdet::PMTConstants::PMTGain gain) const
 
bool MergeSignals (sevt::Station &station) const
 
 REGISTER_MODULE ("SdCalibratorOG", SdCalibrator)
 
bool SelectSignal (sevt::Station &station) const
 
void SumPMTComponents (sevt::Station &station) const
 
void TreatSaturated (sevt::Station &station) const
 

Private Attributes

bool fApplyBackwardFlatPieceCheck = false
 
int fBinsBeforeStartForSPMT = 0
 
double fChargeFitChi2Accept = 0
 
double fChargeFitShoulderHeadRatio = 0
 
double fChargeHistogramToMIPFactor = 0
 
double fChargeHistogramToVEMFactor = 0
 
double fChargeOnlineToMIPFactor = 0
 
double fChargeOnlineToVEMFactor = 0
 
bool fDecreaseLGFlatPieceTolerance = false
 
PairD fFallTimeFractions {0, 0}
 
int fFindSignalBinsAboveThreshold = 0
 
double fFindSignalThreshold = 0
 
bool fIncludeWaterCherenkovDetectorInScintillatorStartStopDetermination = false
 
bool fIsUUB = false
 
double fPeakFitChi2Accept = 0
 
PairD fPeakFitRange {0, 0}
 
double fPeakHistogramToMIPFactor = 0
 
double fPeakHistogramToVEMFactor = 0
 
double fPeakOnlineToMIPFactor = 0
 
double fPeakOnlineToVEMFactor = 0
 
double fPMTSummationCutoff = 0
 
PairD fRiseTimeFractions {0, 0}
 
PairD fShapeFitRangeBefore12 {0, 0}
 
PairD fShapeFitRangeSince12 {0, 0}
 
std::set< int > fTestStations
 
bool fToldYaCharge = false
 
bool fToldYaPeak = false
 
bool fToldYaShape = false
 
bool fTreatHGLGEqualInSignalSearch = false
 
const utl::TimeRange kCommsCrisis {utl::TimeStamp{928378815}, utl::TimeStamp{942375615}}
 

Detailed Description

Performs calibration and signal analysis of the SD event.

Module does the following:


Differences to CDAS v3r2:

Author
Stefano Argiro
Darko Veberic
Xavier Bertou
Date
08 Oct 2003
30 Sep 2004 update, CDAS v3r2 sync
20 Oct 2004 update, CDAS v3r4 sync
05 Apr 2005 update, CDAS v4r0 sync, not much changed
02 Oct 2007 update based on Xavier's code in CDAS v4r6

Definition at line 68 of file SdCalibrator.h.

Member Typedef Documentation

typedef std::pair<double, double> SdCalibratorOG::SdCalibrator::PairD
private

Definition at line 107 of file SdCalibrator.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 SdCalibratorOG::SdCalibrator::ApplyTimeCorrection ( sevt::Station station)
private

Calculate corrected nanosecond from raw GPS parameter.

Definition at line 311 of file SdCalibrator.cc.

References sevt::Station::GetGPSData(), sevt::StationGPSData::GetTick(), and utl::nanosecond.

int SdCalibratorOG::SdCalibrator::BuildSignals ( sevt::Station station) const
private
bool SdCalibratorOG::SdCalibrator::BuildSignals ( sevt::PMT pmt,
const unsigned int  traceLength,
const int  saturationValue 
) const
private
void SdCalibratorOG::SdCalibrator::CalculatePeakAndCharge ( sevt::Station station)
private
bool SdCalibratorOG::SdCalibrator::ComputeBaseline ( const sevt::Station station,
sevt::PMT pmt,
const sdet::PMTConstants::PMTGain  gain 
) const
private
bool SdCalibratorOG::SdCalibrator::ComputeBaselines ( sevt::Station station) const
private
void SdCalibratorOG::SdCalibrator::ComputeShapeRiseFallPeak ( sevt::PMTRecData pmtRecData,
const double  binTiming,
const unsigned int  startBin,
const unsigned int  startIntegration,
const unsigned int  endIntegration,
const double  traceIntegral 
) const
private
bool SdCalibratorOG::SdCalibrator::CopySmallPMTCalibData ( sevt::Station station)
private
fwk::VModule::ResultFlag SdCalibratorOG::SdCalibrator::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 73 of file SdCalibrator.h.

References fwk::VModule::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 SdCalibratorOG::SdCalibrator::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 88 of file SdCalibrator.cc.

References ERROR, io::eSuccess, utl::Branch::GetChild(), utl::Branch::GetData(), fwk::CentralConfig::GetInstance(), fwk::CentralConfig::GetTopBranch(), INFO, SdEventSelectorOG::IsInRange(), and utl::Join().

void fwk::VModule::InitTiming ( )
inlineinherited

Definition at line 95 of file VModule.h.

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

bool SdCalibratorOG::SdCalibrator::IsTestStation ( const int  id) const
inlineprivate

Definition at line 102 of file SdCalibrator.h.

References fTestStations, and utl::Is().

bool SdCalibratorOG::SdCalibrator::MakeComponentVEMTraces ( sevt::PMT pmt) const
private
void SdCalibratorOG::SdCalibrator::MakeFlatBaseline ( sevt::PMT pmt,
const sdet::PMTConstants::PMTGain  gain 
) const
private
bool SdCalibratorOG::SdCalibrator::MergeSignals ( sevt::Station station) const
private
SdCalibratorOG::SdCalibrator::REGISTER_MODULE ( "SdCalibratorOG"  ,
SdCalibrator   
)
private
VModule::ResultFlag SdCalibratorOG::SdCalibrator::Run ( evt::Event event)
overridevirtual
ResultFlag fwk::VModule::RunWithTiming ( evt::Event event)
inlineinherited
bool SdCalibratorOG::SdCalibrator::SelectSignal ( sevt::Station station) const
private
void SdCalibratorOG::SdCalibrator::SumPMTComponents ( sevt::Station station) const
private
void SdCalibratorOG::SdCalibrator::TreatSaturated ( sevt::Station station) const
private

Member Data Documentation

bool SdCalibratorOG::SdCalibrator::fApplyBackwardFlatPieceCheck = false
private

Definition at line 128 of file SdCalibrator.h.

int SdCalibratorOG::SdCalibrator::fBinsBeforeStartForSPMT = 0
private

Definition at line 131 of file SdCalibrator.h.

double SdCalibratorOG::SdCalibrator::fChargeFitChi2Accept = 0
private

Definition at line 115 of file SdCalibrator.h.

double SdCalibratorOG::SdCalibrator::fChargeFitShoulderHeadRatio = 0
private

Definition at line 114 of file SdCalibrator.h.

double SdCalibratorOG::SdCalibrator::fChargeHistogramToMIPFactor = 0
private

Definition at line 119 of file SdCalibrator.h.

double SdCalibratorOG::SdCalibrator::fChargeHistogramToVEMFactor = 0
private

Definition at line 117 of file SdCalibrator.h.

double SdCalibratorOG::SdCalibrator::fChargeOnlineToMIPFactor = 0
private

Definition at line 118 of file SdCalibrator.h.

double SdCalibratorOG::SdCalibrator::fChargeOnlineToVEMFactor = 0
private

Definition at line 116 of file SdCalibrator.h.

bool SdCalibratorOG::SdCalibrator::fDecreaseLGFlatPieceTolerance = false
private

Definition at line 129 of file SdCalibrator.h.

PairD SdCalibratorOG::SdCalibrator::fFallTimeFractions {0, 0}
private

Definition at line 123 of file SdCalibrator.h.

int SdCalibratorOG::SdCalibrator::fFindSignalBinsAboveThreshold = 0
private

Definition at line 126 of file SdCalibrator.h.

double SdCalibratorOG::SdCalibrator::fFindSignalThreshold = 0
private

Definition at line 125 of file SdCalibrator.h.

bool SdCalibratorOG::SdCalibrator::fIncludeWaterCherenkovDetectorInScintillatorStartStopDetermination = false
private

Definition at line 130 of file SdCalibrator.h.

int fwk::VModule::fInfoLevel = 0
protectedinherited
bool SdCalibratorOG::SdCalibrator::fIsUUB = false
private

Definition at line 137 of file SdCalibrator.h.

double SdCalibratorOG::SdCalibrator::fPeakFitChi2Accept = 0
private

Definition at line 109 of file SdCalibrator.h.

PairD SdCalibratorOG::SdCalibrator::fPeakFitRange {0, 0}
private

Definition at line 108 of file SdCalibrator.h.

double SdCalibratorOG::SdCalibrator::fPeakHistogramToMIPFactor = 0
private

Definition at line 113 of file SdCalibrator.h.

double SdCalibratorOG::SdCalibrator::fPeakHistogramToVEMFactor = 0
private

Definition at line 111 of file SdCalibrator.h.

double SdCalibratorOG::SdCalibrator::fPeakOnlineToMIPFactor = 0
private

Definition at line 112 of file SdCalibrator.h.

double SdCalibratorOG::SdCalibrator::fPeakOnlineToVEMFactor = 0
private

Definition at line 110 of file SdCalibrator.h.

double SdCalibratorOG::SdCalibrator::fPMTSummationCutoff = 0
private

Definition at line 105 of file SdCalibrator.h.

PairD SdCalibratorOG::SdCalibrator::fRiseTimeFractions {0, 0}
private

Definition at line 122 of file SdCalibrator.h.

PairD SdCalibratorOG::SdCalibrator::fShapeFitRangeBefore12 {0, 0}
private

Definition at line 120 of file SdCalibrator.h.

PairD SdCalibratorOG::SdCalibrator::fShapeFitRangeSince12 {0, 0}
private

Definition at line 121 of file SdCalibrator.h.

std::set<int> SdCalibratorOG::SdCalibrator::fTestStations
private

Definition at line 124 of file SdCalibrator.h.

Referenced by IsTestStation().

bool SdCalibratorOG::SdCalibrator::fToldYaCharge = false
private

Definition at line 134 of file SdCalibrator.h.

bool SdCalibratorOG::SdCalibrator::fToldYaPeak = false
private

Definition at line 133 of file SdCalibrator.h.

bool SdCalibratorOG::SdCalibrator::fToldYaShape = false
private

Definition at line 135 of file SdCalibrator.h.

bool SdCalibratorOG::SdCalibrator::fTreatHGLGEqualInSignalSearch = false
private

Definition at line 127 of file SdCalibrator.h.

const utl::TimeRange SdCalibratorOG::SdCalibrator::kCommsCrisis {utl::TimeStamp{928378815}, utl::TimeStamp{942375615}}
private

Definition at line 139 of file SdCalibrator.h.


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

, generated on Tue Sep 26 2023.