Belle II Software  release-08-01-10
TOPGainEfficiencyCalculatorModule Class Reference

Module for channel-by-channel gain/efficiency analysis. More...

#include <TOPGainEfficiencyCalculatorModule.h>

Inheritance diagram for TOPGainEfficiencyCalculatorModule:
Collaboration diagram for TOPGainEfficiencyCalculatorModule:

Public Types

enum  { c_NParameterGainFit = 6 }
 enum for the number of parameters used in fitting charge distribution
 
enum  {
  c_NPlotsPerChannel = 3 ,
  c_NChannelPerPage = 4
}
 enum for the number of channels to show the result plots per page in an output PDF file
 
enum  EHistogramType {
  c_LoadForFitHeight = 1 ,
  c_LoadHitRateHeight = 2 ,
  c_LoadForFitIntegral = 3 ,
  c_LoadHitRateIntegral = 4
}
 enum for LoadHistograms switch. More...
 
enum  EModulePropFlags {
  c_Input = 1 ,
  c_Output = 2 ,
  c_ParallelProcessingCertified = 4 ,
  c_HistogramManager = 8 ,
  c_InternalSerializer = 16 ,
  c_TerminateInAllProcesses = 32 ,
  c_DontCollectStatistics = 64
}
 Each module can be tagged with property flags, which indicate certain features of the module. More...
 
typedef ModuleCondition::EAfterConditionPath EAfterConditionPath
 Forward the EAfterConditionPath definition from the ModuleCondition.
 

Public Member Functions

 TOPGainEfficiencyCalculatorModule ()
 Constructor.
 
virtual ~TOPGainEfficiencyCalculatorModule ()
 Destructor.
 
virtual void initialize () override
 Load time vs charge 2D histogram from a given input file (paramter "inputFile") and prepare hit timing and pulse charge distribution for each channel.
 
virtual void beginRun () override
 The main processes, fitting charge distribution and calculating gain/efficiency, are done in this function.
 
virtual void event () override
 This will be empty as the all the processes are done in beginRun() function thus input file can be a dummy file.
 
virtual void endRun () override
 Draw plots to show fitting results for each channel and save them into a given PDF file (outputPDFFile).
 
virtual void terminate () override
 Termination action. More...
 
virtual void defineHisto () override
 Define TTree branches to store fit results for each channel This TTree is saved in an output file given by "histoFileName" parameter of "HistoManager" module.
 
void LoadHistograms (const std::string &histotype)
 Load 2D histograms from a given input file (output of TOPLaserHitSelector) and create timing and charge distribution as projection histograms for the x- and y-axis, respectively. More...
 
void FitHistograms (EHistogramType LoadHisto)
 Fit charge (or integrated charged) distribution to calculate gain and efficiency for each channel.
 
void DummyFillBranch (EHistogramType LoadHisto)
 Fill Dummy for Branch. More...
 
void DrawResult (const std::string &histotype, EHistogramType LoadHisto)
 Draw results of gain/efficiency calculation for each channel to a given output file.
 
virtual std::vector< std::string > getFileNames (bool outputFiles)
 Return a list of output filenames for this modules. More...
 
const std::string & getName () const
 Returns the name of the module. More...
 
const std::string & getType () const
 Returns the type of the module (i.e. More...
 
const std::string & getPackage () const
 Returns the package this module is in.
 
const std::string & getDescription () const
 Returns the description of the module.
 
void setName (const std::string &name)
 Set the name of the module. More...
 
void setPropertyFlags (unsigned int propertyFlags)
 Sets the flags for the module properties. More...
 
LogConfiggetLogConfig ()
 Returns the log system configuration.
 
void setLogConfig (const LogConfig &logConfig)
 Set the log system configuration.
 
void setLogLevel (int logLevel)
 Configure the log level.
 
void setDebugLevel (int debugLevel)
 Configure the debug messaging level.
 
void setAbortLevel (int abortLevel)
 Configure the abort log level.
 
void setLogInfo (int logLevel, unsigned int logInfo)
 Configure the printed log information for the given level. More...
 
void if_value (const std::string &expression, const std::shared_ptr< Path > &path, EAfterConditionPath afterConditionPath=EAfterConditionPath::c_End)
 Add a condition to the module. More...
 
void if_false (const std::shared_ptr< Path > &path, EAfterConditionPath afterConditionPath=EAfterConditionPath::c_End)
 A simplified version to add a condition to the module. More...
 
void if_true (const std::shared_ptr< Path > &path, EAfterConditionPath afterConditionPath=EAfterConditionPath::c_End)
 A simplified version to set the condition of the module. More...
 
bool hasCondition () const
 Returns true if at least one condition was set for the module.
 
const ModuleConditiongetCondition () const
 Return a pointer to the first condition (or nullptr, if none was set)
 
const std::vector< ModuleCondition > & getAllConditions () const
 Return all set conditions for this module.
 
bool evalCondition () const
 If at least one condition was set, it is evaluated and true returned if at least one condition returns true. More...
 
std::shared_ptr< PathgetConditionPath () const
 Returns the path of the last true condition (if there is at least one, else reaturn a null pointer). More...
 
Module::EAfterConditionPath getAfterConditionPath () const
 What to do after the conditional path is finished. More...
 
std::vector< std::shared_ptr< Path > > getAllConditionPaths () const
 Return all condition paths currently set (no matter if the condition is true or not).
 
bool hasProperties (unsigned int propertyFlags) const
 Returns true if all specified property flags are available in this module. More...
 
bool hasUnsetForcedParams () const
 Returns true and prints error message if the module has unset parameters which the user has to set in the steering file.
 
const ModuleParamListgetParamList () const
 Return module param list.
 
template<typename T >
ModuleParam< T > & getParam (const std::string &name) const
 Returns a reference to a parameter. More...
 
bool hasReturnValue () const
 Return true if this module has a valid return value set.
 
int getReturnValue () const
 Return the return value set by this module. More...
 
std::shared_ptr< PathElementclone () const override
 Create an independent copy of this module. More...
 
std::shared_ptr< boost::python::list > getParamInfoListPython () const
 Returns a python list of all parameters. More...
 

Static Public Member Functions

static double TOPGainFunc (double *var, double *par)
 Fit function of pulse charge (or charnge) distribution for channel(pixel)-by-channel gain extraction, given by "[0]*pow(x-[4],[1])*exp(-pow(x-[4],[2])/[3])" smeared by Gaussian with a constant sigma to consider baseline fluctuation.
 
static double FindPeakForSmallerXThan (TH1 *histo, double xmax=0)
 Find peak and return its position for a limited range of x (x smaller than the given value (xmax))
 
static void exposePythonAPI ()
 Exposes methods of the Module class to Python.
 

Protected Member Functions

virtual void def_initialize ()
 Wrappers to make the methods without "def_" prefix callable from Python. More...
 
virtual void def_beginRun ()
 Wrapper method for the virtual function beginRun() that has the implementation to be used in a call from Python.
 
virtual void def_event ()
 Wrapper method for the virtual function event() that has the implementation to be used in a call from Python.
 
virtual void def_endRun ()
 This method can receive that the current run ends as a call from the Python side. More...
 
virtual void def_terminate ()
 Wrapper method for the virtual function terminate() that has the implementation to be used in a call from Python.
 
void setDescription (const std::string &description)
 Sets the description of the module. More...
 
void setType (const std::string &type)
 Set the module type. More...
 
template<typename T >
void addParam (const std::string &name, T &paramVariable, const std::string &description, const T &defaultValue)
 Adds a new parameter to the module. More...
 
template<typename T >
void addParam (const std::string &name, T &paramVariable, const std::string &description)
 Adds a new enforced parameter to the module. More...
 
void setReturnValue (int value)
 Sets the return value for this module as integer. More...
 
void setReturnValue (bool value)
 Sets the return value for this module as bool. More...
 
void setParamList (const ModuleParamList &params)
 Replace existing parameter list.
 

Private Member Functions

std::list< ModulePtrgetModules () const override
 no submodules, return empty list
 
std::string getPathString () const override
 return the module name.
 
void setParamPython (const std::string &name, const boost::python::object &pyObj)
 Implements a method for setting boost::python objects. More...
 
void setParamPythonDict (const boost::python::dict &dictionary)
 Implements a method for reading the parameter values from a boost::python dictionary. More...
 

Private Attributes

TTree * m_tree = 0
 ntuple to store summary
 
std::vector< TBranch * > m_branch [4]
 ntuple to store summary of gain using height distribution. More...
 
TH2F * m_timeChargeHistogram [c_NChannelPerPMT] = {}
 2D histogram of hit timing and pulse charge (or charge), taken from an output file of TOPLaserHitSelector
 
TH1D * m_timeHistogram [c_NChannelPerPMT] = {}
 hit timing distribution, extracted from m_timeChargeHistogram as a projection along its x-axis. More...
 
TH1D * m_chargeHistogram [c_NChannelPerPMT] = {}
 pulse charge distribution, extracted from m_timeChargeHistogram as a projection along its y-axis with timing cut. More...
 
TH1F * m_nCalPulseHistogram
 histogram to store the number of events with calibration pulse(s) identified for each asic (1,024) in total More...
 
TF1 * m_funcForLaser [c_NChannelPerPMT] = {}
 array of TF1 pointer to store fit function for hit timing distribution
 
TF1 * m_funcForFitRange [c_NChannelPerPMT] = {}
 array of TF1 pointer to store fit function for pulse charge distribution, defined only for fit region
 
TF1 * m_funcForFullRange [c_NChannelPerPMT] = {}
 array of TF1 pointer to store fit function for pulse charge distribution, defined only for full range of pulse charge
 
std::string m_inputFile = ""
 input file containing timing vs charge 2D histograms (output of TOPLaserHitSelector)
 
std::string m_outputPDFFile
 output PDF file to store plots of 2D histogram, timing, and charge distribution for each channel More...
 
std::string m_fitoption
 charge histograms fitting option. More...
 
short m_targetSlotId = 0
 slot ID
 
short m_targetPmtId = 0
 PMT ID.
 
short m_targetPmtChId = -1
 PMT channel ID.
 
short m_hvDiff = 0
 HV difference from nominal HV value. More...
 
float m_fitHalfWidth = 1.
 half fit width for direct laser hit peak in [ns] unit
 
float m_threshold = 100
 pulse charge threshold, which defines lower limit of fit region and efficiency calculation
 
float m_thresholdForIntegral
 pulse integral threshold, which defines lower limit of fit region and efficiency calculation More...
 
float m_p0HeightIntegral = -50.0
 Parameter from p0 + x*p1 function that fits height-integral distribution.
 
float m_p1HeightIntegral = 6.0
 Parameter from p0 + x*p1 function that fits height-integral distribution.
 
float m_fitMax = 0
 upper limit of fit region for pulse charge distribution, determined based on m_fracFit value
 
float m_fracFit = 0.99
 fraction of events which are covered by an area [0,m_fitMax]
 
float m_initialP0 = (float)(-1.)
 initial value of the fit parameter p0
 
float m_initialP1 = (float)(-1.)
 initial value of the fit parameter p1
 
float m_initialP2 = (float)(-1.)
 initial value of the fit parameter p2
 
float m_initialX0 = (float)(-1.)
 initial value of the fit parameter x0
 
float m_pedestalSigma = 10.
 sigma of pedestal
 
short m_pixelId = 0
 pixel ID, calculated from PMT ID and PMT channel ID
 
short m_pmtChId = 0
 PMT channel ID.
 
float m_hitTiming = 0
 timing of laser direct photon hits, given by Gaussian fit mean
 
float m_hitTimingSigma = 0
 Gaussian fit sigma for a peak of laser direct photons in hit timing distribution.
 
int m_nEntries = 0
 entries of pulse charge distribution
 
int m_nCalPulse = 0
 the number of events with calibration pulse(s) identified
 
int m_nOverflowEvents = 0
 the number of events outside histogram range
 
float m_meanPulseHeight = 0
 histogram mean of pulse height distribution
 
float m_meanPulseHeightError = 0
 histogram mean error of pulse height distribution
 
float m_gain = 0
 calculated gain from fitting of pulse charge distribution
 
float m_efficiency = 0
 calculated efficiency from fitting of pulse charge distribution
 
float m_p0 = 0
 fit result of p0
 
float m_p1 = 0
 fit result of p1
 
float m_p2 = 0
 fit result of p2
 
float m_x0 = 0
 fit result of x0
 
float m_p0Error = 0
 fit error of p0
 
float m_p1Error = 0
 fit error of p1
 
float m_p2Error = 0
 fit error of p2
 
float m_x0Error = 0
 fit error of x0
 
float m_chisquare = 0
 chi2 of fitting
 
int m_ndf = 0
 NDF of fitting.
 
float m_funcFullRangeIntegral = 0
 integral of fit function for its full range

 
float m_funcFitRangeIntegral = 0
 integral of fit function for a range [threshold, fitMax]
 
float m_histoFitRangeIntegral = 0
 integral of histogram for a range [threshold, fitMax]
 
float m_histoMeanAboveThre = 0
 mean of histogram above threshold, ignore overflow bin
 
std::string m_name
 The name of the module, saved as a string (user-modifiable)
 
std::string m_type
 The type of the module, saved as a string.
 
std::string m_package
 Package this module is found in (may be empty).
 
std::string m_description
 The description of the module.
 
unsigned int m_propertyFlags
 The properties of the module as bitwise or (with |) of EModulePropFlags.
 
LogConfig m_logConfig
 The log system configuration of the module.
 
ModuleParamList m_moduleParamList
 List storing and managing all parameter of the module.
 
bool m_hasReturnValue
 True, if the return value is set.
 
int m_returnValue
 The return value.
 
std::vector< ModuleConditionm_conditions
 Module condition, only non-null if set.
 

Detailed Description

Module for channel-by-channel gain/efficiency analysis.

2D histograms of hit timing and charge (integral or pulse height), crated by TOPLaserHitSelectorModule,

Definition at line 35 of file TOPGainEfficiencyCalculatorModule.h.

Member Enumeration Documentation

◆ EHistogramType

enum for LoadHistograms switch.

CS means Charge Share. IsoratedHit is used for gain calc. and IncludePrimaryCS is used for efficiency calc..

Definition at line 52 of file TOPGainEfficiencyCalculatorModule.h.

52  { c_LoadForFitHeight = 1, c_LoadHitRateHeight = 2,
53  c_LoadForFitIntegral = 3, c_LoadHitRateIntegral = 4
54  };

◆ EModulePropFlags

enum EModulePropFlags
inherited

Each module can be tagged with property flags, which indicate certain features of the module.

Enumerator
c_Input 

This module is an input module (reads data).

c_Output 

This module is an output module (writes data).

c_ParallelProcessingCertified 

This module can be run in parallel processing mode safely (All I/O must be done through the data store, in particular, the module must not write any files.)

c_HistogramManager 

This module is used to manage histograms accumulated by other modules.

c_InternalSerializer 

This module is an internal serializer/deserializer for parallel processing.

c_TerminateInAllProcesses 

When using parallel processing, call this module's terminate() function in all processes().

This will also ensure that there is exactly one process (single-core if no parallel modules found) or at least one input, one main and one output process.

c_DontCollectStatistics 

No statistics is collected for this module.

Definition at line 77 of file Module.h.

Member Function Documentation

◆ clone()

std::shared_ptr< PathElement > clone ( ) const
overridevirtualinherited

Create an independent copy of this module.

Note that parameters are shared, so changing them on a cloned module will also affect the original module.

Implements PathElement.

Definition at line 179 of file Module.cc.

◆ def_endRun()

virtual void def_endRun ( )
inlineprotectedvirtualinherited

This method can receive that the current run ends as a call from the Python side.

For regular C++-Modules that forwards the call to the regular endRun() method.

Reimplemented in PyModule.

Definition at line 439 of file Module.h.

◆ def_initialize()

virtual void def_initialize ( )
inlineprotectedvirtualinherited

Wrappers to make the methods without "def_" prefix callable from Python.

Overridden in PyModule. Wrapper method for the virtual function initialize() that has the implementation to be used in a call from Python.

Reimplemented in PyModule.

Definition at line 420 of file Module.h.

◆ evalCondition()

bool evalCondition ( ) const
inherited

If at least one condition was set, it is evaluated and true returned if at least one condition returns true.

If no condition or result value was defined, the method returns false. Otherwise, the condition is evaluated and true returned, if at least one condition returns true. To speed up the evaluation, the condition strings were already parsed in the method if_value().

Returns
True if at least one condition and return value exists and at least one condition expression was evaluated to true.

Definition at line 96 of file Module.cc.

◆ getAfterConditionPath()

Module::EAfterConditionPath getAfterConditionPath ( ) const
inherited

What to do after the conditional path is finished.

(defaults to c_End if no condition is set)

Definition at line 133 of file Module.cc.

◆ getConditionPath()

std::shared_ptr< Path > getConditionPath ( ) const
inherited

Returns the path of the last true condition (if there is at least one, else reaturn a null pointer).


Definition at line 113 of file Module.cc.

◆ getFileNames()

virtual std::vector<std::string> getFileNames ( bool  outputFiles)
inlinevirtualinherited

Return a list of output filenames for this modules.

This will be called when basf2 is run with "--dry-run" if the module has set either the c_Input or c_Output properties.

If the parameter outputFiles is false (for modules with c_Input) the list of input filenames should be returned (if any). If outputFiles is true (for modules with c_Output) the list of output files should be returned (if any).

If a module has sat both properties this member is called twice, once for each property.

The module should return the actual list of requested input or produced output filenames (including handling of input/output overrides) so that the grid system can handle input/output files correctly.

This function should return the same value when called multiple times. This is especially important when taking the input/output overrides from Environment as they get consumed when obtained so the finalized list of output files should be stored for subsequent calls.

Reimplemented in RootOutputModule, StorageRootOutputModule, and RootInputModule.

Definition at line 134 of file Module.h.

◆ getName()

const std::string& getName ( ) const
inlineinherited

Returns the name of the module.

This can be changed via e.g. set_name() in the steering file to give more useful names if there is more than one module of the same type.

For identifying the type of a module, using getType() (or type() in Python) is recommended.

Definition at line 187 of file Module.h.

◆ getParamInfoListPython()

std::shared_ptr< boost::python::list > getParamInfoListPython ( ) const
inherited

Returns a python list of all parameters.

Each item in the list consists of the name of the parameter, a string describing its type, a python list of all default values and the description of the parameter.

Returns
A python list containing the parameters of this parameter list.

Definition at line 279 of file Module.cc.

◆ getReturnValue()

int getReturnValue ( ) const
inlineinherited

Return the return value set by this module.

This value is only meaningful if hasReturnValue() is true

Definition at line 381 of file Module.h.

◆ getType()

const std::string & getType ( ) const
inherited

Returns the type of the module (i.e.

class name minus 'Module')

Definition at line 41 of file Module.cc.

◆ hasProperties()

bool hasProperties ( unsigned int  propertyFlags) const
inherited

Returns true if all specified property flags are available in this module.

Parameters
propertyFlagsOred EModulePropFlags which should be compared with the module flags.

Definition at line 160 of file Module.cc.

◆ if_false()

void if_false ( const std::shared_ptr< Path > &  path,
EAfterConditionPath  afterConditionPath = EAfterConditionPath::c_End 
)
inherited

A simplified version to add a condition to the module.

Please note that successive calls of this function will add more than one condition to the module. If more than one condition results in true, only the last of them will be used.

Please be careful: Avoid creating cyclic paths, e.g. by linking a condition to a path which is processed before the path where this module is located in.

It is equivalent to the if_value() method, using the expression "<1". This method is meant to be used together with the setReturnValue(bool value) method.

Parameters
pathShared pointer to the Path which will be executed if the return value is false.
afterConditionPathWhat to do after executing 'path'.

Definition at line 85 of file Module.cc.

◆ if_true()

void if_true ( const std::shared_ptr< Path > &  path,
EAfterConditionPath  afterConditionPath = EAfterConditionPath::c_End 
)
inherited

A simplified version to set the condition of the module.

Please note that successive calls of this function will add more than one condition to the module. If more than one condition results in true, only the last of them will be used.

Please be careful: Avoid creating cyclic paths, e.g. by linking a condition to a path which is processed before the path where this module is located in.

It is equivalent to the if_value() method, using the expression ">=1". This method is meant to be used together with the setReturnValue(bool value) method.

Parameters
pathShared pointer to the Path which will be executed if the return value is true.
afterConditionPathWhat to do after executing 'path'.

Definition at line 90 of file Module.cc.

◆ if_value()

void if_value ( const std::string &  expression,
const std::shared_ptr< Path > &  path,
EAfterConditionPath  afterConditionPath = EAfterConditionPath::c_End 
)
inherited

Add a condition to the module.

Please note that successive calls of this function will add more than one condition to the module. If more than one condition results in true, only the last of them will be used.

See https://confluence.desy.de/display/BI/Software+ModCondTut or ModuleCondition for a description of the syntax.

Please be careful: Avoid creating cyclic paths, e.g. by linking a condition to a path which is processed before the path where this module is located in.

Parameters
expressionThe expression of the condition.
pathShared pointer to the Path which will be executed if the condition is evaluated to true.
afterConditionPathWhat to do after executing 'path'.

Definition at line 79 of file Module.cc.

◆ setDescription()

void setDescription ( const std::string &  description)
protectedinherited

Sets the description of the module.

Parameters
descriptionA description of the module.

Definition at line 214 of file Module.cc.

◆ setLogInfo()

void setLogInfo ( int  logLevel,
unsigned int  logInfo 
)
inherited

Configure the printed log information for the given level.

Parameters
logLevelThe log level (one of LogConfig::ELogLevel)
logInfoWhat kind of info should be printed? ORed combination of LogConfig::ELogInfo flags.

Definition at line 73 of file Module.cc.

◆ setName()

void setName ( const std::string &  name)
inlineinherited

Set the name of the module.

Note
The module name is set when using the REG_MODULE macro, but the module can be renamed before calling process() using the set_name() function in your steering file.
Parameters
nameThe name of the module

Definition at line 214 of file Module.h.

◆ setParamPython()

void setParamPython ( const std::string &  name,
const boost::python::object &  pyObj 
)
privateinherited

Implements a method for setting boost::python objects.

The method supports the following types: list, dict, int, double, string, bool The conversion of the python object to the C++ type and the final storage of the parameter value is done in the ModuleParam class.

Parameters
nameThe unique name of the parameter.
pyObjThe object which should be converted and stored as the parameter value.

Definition at line 234 of file Module.cc.

◆ setParamPythonDict()

void setParamPythonDict ( const boost::python::dict &  dictionary)
privateinherited

Implements a method for reading the parameter values from a boost::python dictionary.

The key of the dictionary has to be the name of the parameter and the value has to be of one of the supported parameter types.

Parameters
dictionaryThe python dictionary from which the parameter values are read.

Definition at line 249 of file Module.cc.

◆ setPropertyFlags()

void setPropertyFlags ( unsigned int  propertyFlags)
inherited

Sets the flags for the module properties.

Parameters
propertyFlagsbitwise OR of EModulePropFlags

Definition at line 208 of file Module.cc.

◆ setReturnValue() [1/2]

void setReturnValue ( bool  value)
protectedinherited

Sets the return value for this module as bool.

The bool value is saved as an integer with the convention 1 meaning true and 0 meaning false. The value can be used in the steering file to divide the analysis chain into several paths.

Parameters
valueThe value of the return value.

Definition at line 227 of file Module.cc.

◆ setReturnValue() [2/2]

void setReturnValue ( int  value)
protectedinherited

Sets the return value for this module as integer.

The value can be used in the steering file to divide the analysis chain into several paths.

Parameters
valueThe value of the return value.

Definition at line 220 of file Module.cc.

◆ setType()

void setType ( const std::string &  type)
protectedinherited

Set the module type.

Only for use by internal modules (which don't use the normal REG_MODULE mechanism).

Definition at line 48 of file Module.cc.

Member Data Documentation

◆ m_branch

std::vector<TBranch*> m_branch[4]
private

ntuple to store summary of gain using height distribution.

It will be merged to m_tree

Definition at line 138 of file TOPGainEfficiencyCalculatorModule.h.

◆ m_chargeHistogram

TH1D* m_chargeHistogram[c_NChannelPerPMT] = {}
private

pulse charge distribution, extracted from m_timeChargeHistogram as a projection along its y-axis with timing cut.

Used gain/efficiency calculation.

Definition at line 142 of file TOPGainEfficiencyCalculatorModule.h.

◆ m_fitoption

std::string m_fitoption
private
Initial value:
=
"L"

charge histograms fitting option.

type R for chisquare fit. type L for likelihood fit(default)

Definition at line 153 of file TOPGainEfficiencyCalculatorModule.h.

◆ m_hvDiff

short m_hvDiff = 0
private

HV difference from nominal HV value.

Use it when you analyze HV scan data.

Definition at line 159 of file TOPGainEfficiencyCalculatorModule.h.

◆ m_nCalPulseHistogram

TH1F* m_nCalPulseHistogram
private
Initial value:
=
0

histogram to store the number of events with calibration pulse(s) identified for each asic (1,024) in total

Definition at line 143 of file TOPGainEfficiencyCalculatorModule.h.

◆ m_outputPDFFile

std::string m_outputPDFFile
private
Initial value:
=
""

output PDF file to store plots of 2D histogram, timing, and charge distribution for each channel

Definition at line 150 of file TOPGainEfficiencyCalculatorModule.h.

◆ m_thresholdForIntegral

float m_thresholdForIntegral
private
Initial value:
=
550

pulse integral threshold, which defines lower limit of fit region and efficiency calculation

Definition at line 163 of file TOPGainEfficiencyCalculatorModule.h.

◆ m_timeHistogram

TH1D* m_timeHistogram[c_NChannelPerPMT] = {}
private

hit timing distribution, extracted from m_timeChargeHistogram as a projection along its x-axis.

Used to define direct laser photon hit timing

Definition at line 141 of file TOPGainEfficiencyCalculatorModule.h.


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