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

This module is the fitter for the CAF collector TOPLaserCalibratorCollector. More...

#include <TOPLocalCalFitter.h>

Inheritance diagram for TOPLocalCalFitter:
Collaboration diagram for TOPLocalCalFitter:

Public Types

enum  EResult {
  c_OK ,
  c_Iterate ,
  c_NotEnoughData ,
  c_Failure ,
  c_Undefined
}
 The result of calibration. More...
 

Public Member Functions

 TOPLocalCalFitter ()
 Constructor.
 
virtual ~TOPLocalCalFitter ()
 Destructor.
 
void setMinEntries (int minEntries)
 Sets the minimum number of entries to perform the calibration in one channel.
 
void setOutputFileName (const std::string &output)
 Sets the name of the output root file.
 
void setFitConstraintsFileName (const std::string &fitConstraints)
 Sets the name of the root file containing the laser MC time corrections and the fit constraints. More...
 
void setTTSFileName (const std::string &TTSData)
 Sets the name of the root file containing the TTS parameters.
 
void setFitMode (const std::string &fitterMode)
 Sets the fitter mode. More...
 
void fitInAmpliduteBins (bool isFitInAmplitudeBins)
 Enables the fit amplitude bins. More...
 
std::string getPrefix () const
 Get the prefix used for getting calibration data.
 
bool checkPyExpRun (PyObject *pyObj)
 Checks that a PyObject can be successfully converted to an ExpRun type. More...
 
Calibration::ExpRun convertPyExpRun (PyObject *pyObj)
 Performs the conversion of PyObject to ExpRun. More...
 
std::string getCollectorName () const
 Alias for prefix. More...
 
void setPrefix (const std::string &prefix)
 Set the prefix used to identify datastore objects.
 
void setInputFileNames (PyObject *inputFileNames)
 Set the input file names used for this algorithm from a Python list. More...
 
PyObject * getInputFileNames ()
 Get the input file names used for this algorithm and pass them out as a Python list of unicode strings.
 
std::vector< Calibration::ExpRun > getRunListFromAllData () const
 Get the complete list of runs from inspection of collected data.
 
RunRange getRunRangeFromAllData () const
 Get the complete RunRange from inspection of collected data.
 
IntervalOfValidity getIovFromAllData () const
 Get the complete IoV from inspection of collected data.
 
void fillRunToInputFilesMap ()
 Fill the mapping of ExpRun -> Files.
 
std::string getGranularity () const
 Get the granularity of collected data.
 
EResult execute (std::vector< Calibration::ExpRun > runs={}, int iteration=0, IntervalOfValidity iov=IntervalOfValidity())
 Runs calibration over vector of runs for a given iteration. More...
 
EResult execute (PyObject *runs, int iteration=0, IntervalOfValidity iov=IntervalOfValidity())
 Runs calibration over Python list of runs. Converts to C++ and then calls the other execute() function.
 
std::list< Database::DBImportQuery > & getPayloads ()
 Get constants (in TObjects) for database update from last execution.
 
std::list< Database::DBImportQuerygetPayloadValues ()
 Get constants (in TObjects) for database update from last execution but passed by VALUE.
 
bool commit ()
 Submit constants from last calibration into database.
 
bool commit (std::list< Database::DBImportQuery > payloads)
 Submit constants from a (potentially previous) set of payloads.
 
const std::string & getDescription () const
 Get the description of the algoithm (set by developers in constructor)
 
bool loadInputJson (const std::string &jsonString)
 Load the m_inputJson variable from a string (useful from Python interface). The rturn bool indicates success or failure.
 
const std::string dumpOutputJson () const
 Dump the JSON string of the output JSON object.
 
const std::vector< Calibration::ExpRun > findPayloadBoundaries (std::vector< Calibration::ExpRun > runs, int iteration=0)
 Used to discover the ExpRun boundaries that you want the Python CAF to execute on. This is optional and only used in some.
 
template<>
std::shared_ptr< TTree > getObjectPtr (const std::string &name, const std::vector< Calibration::ExpRun > &requestedRuns)
 Specialization of getObjectPtr<TTree>.
 

Protected Member Functions

void setupOutputTreeAndFile ()
 prepares the output tree
 
void loadMCInfoTrees ()
 loads the TTS parameters and the MC truth info
 
void determineFitStatus ()
 determines if the constant obtained by the fit are good or not
 
void fitChannel (short, short, TH1 *)
 Fits the laser light on one channel.
 
void fitPulser (TH1 *, TH1 *)
 Fits the two pulsers.
 
void calculateChennelT0 ()
 Calculates the commonT0 calibration after the fits have been done. More...
 
virtual EResult calibrate () override
 Runs the algorithm on events. More...
 
void setInputFileNames (std::vector< std::string > inputFileNames)
 Set the input file names used for this algorithm. More...
 
virtual bool isBoundaryRequired (const Calibration::ExpRun &)
 Given the current collector data, make a decision about whether or not this run should be the start of a payload boundary.
 
virtual void boundaryFindingSetup (std::vector< Calibration::ExpRun >, int)
 If you need to make some changes to your algorithm class before 'findPayloadBoundaries' is run, make them in this function.
 
virtual void boundaryFindingTearDown ()
 Put your algorithm back into a state ready for normal execution if you need to.
 
const std::vector< Calibration::ExpRun > & getRunList () const
 Get the list of runs for which calibration is called.
 
int getIteration () const
 Get current iteration.
 
std::vector< std::string > getVecInputFileNames () const
 Get the input file names used for this algorithm as a STL vector.
 
template<class T >
std::shared_ptr< T > getObjectPtr (const std::string &name, const std::vector< Calibration::ExpRun > &requestedRuns)
 Get calibration data object by name and list of runs, the Merge function will be called to generate the overall object.
 
template<class T >
std::shared_ptr< T > getObjectPtr (std::string name)
 Get calibration data object (for all runs the calibration is requested for) This function will only work during or after execute() has been called once.
 
template<>
shared_ptr< TTree > getObjectPtr (const string &name, const vector< ExpRun > &requestedRuns)
 We cheekily cast the TChain to TTree for the returned pointer so that the user never knows Hopefully this doesn't cause issues if people do low level stuff to the tree...
 
std::string getGranularityFromData () const
 Get the granularity of collected data.
 
void saveCalibration (TClonesArray *data, const std::string &name)
 Store DBArray payload with given name with default IOV.
 
void saveCalibration (TClonesArray *data, const std::string &name, const IntervalOfValidity &iov)
 Store DBArray with given name and custom IOV.
 
void saveCalibration (TObject *data)
 Store DB payload with default name and default IOV.
 
void saveCalibration (TObject *data, const IntervalOfValidity &iov)
 Store DB payload with default name and custom IOV.
 
void saveCalibration (TObject *data, const std::string &name)
 Store DB payload with given name with default IOV.
 
void saveCalibration (TObject *data, const std::string &name, const IntervalOfValidity &iov)
 Store DB payload with given name and custom IOV.
 
void updateDBObjPtrs (const unsigned int event, const int run, const int experiment)
 Updates any DBObjPtrs by calling update(event) for DBStore.
 
void setDescription (const std::string &description)
 Set algorithm description (in constructor)
 
void clearCalibrationData ()
 Clear calibration data.
 
Calibration::ExpRun getAllGranularityExpRun () const
 Returns the Exp,Run pair that means 'Everything'. Currently unused.
 
void resetInputJson ()
 Clears the m_inputJson member variable.
 
void resetOutputJson ()
 Clears the m_outputJson member variable.
 
template<class T >
void setOutputJsonValue (const std::string &key, const T &value)
 Set a key:value pair for the outputJson object, expected to used interally during calibrate()
 
template<class T >
const T getOutputJsonValue (const std::string &key) const
 Get a value using a key from the JSON output object, not sure why you would want to do this.
 
template<class T >
const T getInputJsonValue (const std::string &key) const
 Get an input JSON value using a key. The normal exceptions are raised when the key doesn't exist.
 
const nlohmann::json & getInputJsonObject () const
 Get the entire top level JSON object. We explicitly say this must be of object type so that we might pick.
 
bool inputJsonKeyExists (const std::string &key) const
 Test for a key in the input JSON object.
 

Protected Attributes

std::vector< Calibration::ExpRun > m_boundaries
 When using the boundaries functionality from isBoundaryRequired, this is used to store the boundaries. It is cleared when.
 

Private Member Functions

std::string getExpRunString (Calibration::ExpRun &expRun) const
 Gets the "exp.run" string repr. of (exp,run)
 
std::string getFullObjectPath (const std::string &name, Calibration::ExpRun expRun) const
 constructs the full TDirectory + Key name of an object in a TFile based on its name and exprun
 

Private Attributes

int m_minEntries = 50
 Minimum number of entries to perform the fit. More...
 
std::string m_output = "laserFitResult.root"
 Name of the output file.
 
std::string m_fitConstraints
 File with the TTS parametrization. More...
 
std::string m_TTSData
 File with the Fit constraints and MC info. More...
 
std::string m_fitterMode = "calibration"
 Fit mode. More...
 
bool m_isFitInAmplitudeBins = false
 Enables the fit in amplitude bins.
 
std::vector< float > m_binEdges = {50, 100, 130, 160, 190, 220, 250, 280, 310, 340, 370, 400, 430, 460, 490, 520, 550, 580, 610, 640, 670, 700, 800, 900, 1000, 1200, 1500, 2000}
 Amplitude bins.
 
TFile * m_inputTTS = nullptr
 File containing m_treeTTS.
 
TFile * m_inputConstraints = nullptr
 File containing m_treeConstraints.
 
TTree * m_treeTTS = nullptr
 Input to the fitter. More...
 
TTree * m_treeConstraints
 Input to the fitter. More...
 
TFile * m_histFile = nullptr
 Output of the fitter. More...
 
TTree * m_fitTree = nullptr
 Output of the fitter. More...
 
TTree * m_timewalkTree
 Output of the fitter. More...
 
float m_mean2 = 0
 Position of the second gaussian of the TTS parametrization with respect to the first one.
 
float m_sigma1 = 0
 Width of the first gaussian on the TTS parametrization.
 
float m_sigma2 = 0
 Width of the second gaussian on the TTS parametrization.
 
float m_f1 = 0
 Fraction of the first gaussian on the TTS parametrization.
 
float m_f2 = 0
 Fraction of the second gaussian on the TTS parametrization.
 
short m_pixelRow = 0
 Pixel row.
 
short m_pixelCol = 0
 Pixel column.
 
float m_peakTimeConstraints = 0
 Time of the main laser peak in the MC simulation (aka MC correction)

 
float m_deltaTConstraints = 0
 Distance between the main and the secondary laser peak.
 
float m_fractionConstraints = 0
 Fraction of the main peak.
 
float m_timeExtraConstraints = 0
 Position of the guassian used to describe the extra peak on the timing distribution tail.
 
float m_sigmaExtraConstraints = 0
 Width of the guassian used to describe the extra peak on the timing distribution tail.
 
float m_alphaExtraConstraints = 0.
 alpha parameter of the tail of the extra peak.
 
float m_nExtraConstraints = 0.
 parameter n of the tail of the extra peak
 
float m_timeBackgroundConstraints = 0.
 Position of the gaussian used to describe the background, w/ respect to peakTime.
 
float m_sigmaBackgroundConstraints = 0.
 Sigma of the gaussian used to describe the background.
 
float m_binLowerEdge = 0
 Lower edge of the amplitude bin in which this fit is performed.
 
float m_binUpperEdge = 0
 Upper edge of the amplitude bin in which this fit is performed.
 
short m_channel = 0
 Channel number (0-511)
 
short m_slot = 0
 Slot ID (1-16)
 
short m_row = 0
 Pixel row.
 
short m_col = 0
 Pixel column.
 
float m_peakTime = 0
 Fitted time of the main (i.e. More...
 
float m_deltaT
 Time difference between the main peak and the secondary peak. More...
 
float m_sigma = 0.
 Gaussian time resolution, fitted.
 
float m_fraction = 0.
 Fraction of events in the secondary peak.
 
float m_yieldLaser = 0.
 Total number of laser hits from the fitting function integral.
 
float m_histoIntegral = 0.
 Integral of the fitted histogram.
 
float m_peakTimeErr = 0
 Statistical error on peakTime.
 
float m_deltaTErr = 0
 Statistical error on deltaT.
 
float m_sigmaErr = 0.
 Statistical error on sigma.
 
float m_fractionErr = 0.
 Statistical error on fraction.
 
float m_yieldLaserErr = 0.
 Statistical error on yield.
 
float m_timeExtra = 0.
 Position of the extra peak seen in the timing tail, w/ respect to peakTime.
 
float m_sigmaExtra = 0.
 Gaussian sigma of the extra peak in the timing tail

 
float m_yieldLaserExtra = 0.
 Integral of the extra peak.
 
float m_alphaExtra = 0.
 alpha parameter of the tail of the extra peak.
 
float m_nExtra = 0.
 parameter n of the tail of the extra peak
 
float m_timeBackground = 0.
 Position of the gaussian used to describe the background, w/ respect to peakTime.
 
float m_sigmaBackground = 0.
 Sigma of the gaussian used to describe the background.
 
float m_yieldLaserBackground = 0.
 Integral of the background gaussian.
 
float m_fractionMC = 0.
 Fraction of events in the secondary peak form the MC simulation.
 
float m_deltaTMC = 0.
 Time difference between the main peak and the secondary peak in the MC simulation.
 
float m_peakTimeMC
 Time of the main peak in teh MC simulation, i.e. More...
 
float m_chi2 = 0
 Reduced chi2 of the fit.
 
float m_rms = 0
 RMS of the histogram used for the fit.
 
float m_channelT0
 Raw, channelT0 calibration, defined as peakTime-peakTimeMC. More...
 
float m_channelT0Err = 0.
 Statistical error on channelT0.
 
float m_firstPulserTime = 0.
 Average time of the first electronic pulse respect to the reference pulse, from a Gaussian fit.
 
float m_firstPulserSigma = 0.
 Time resolution from the fit of the first electronic pulse, from a Gaussian fit.
 
float m_secondPulserTime
 Average time of the second electronic pulse respect to the reference pulse, from a gaussian fit. More...
 
float m_secondPulserSigma = 0.
 Time resolution from the fit of the first electronic pulse, from a Gaussian fit.
 
short m_fitStatus = 1
 Fit quality flag, propagated to the constants. More...
 
std::vector< std::string > m_inputFileNames
 List of input files to the Algorithm, will initially be user defined but then gets the wildcards expanded during execute()
 
std::map< Calibration::ExpRun, std::vector< std::string > > m_runsToInputFiles
 Map of Runs to input files. Gets filled when you call getRunRangeFromAllData, gets cleared when setting input files again.
 
std::string m_granularityOfData
 Granularity of input data. This only changes when the input files change so it isn't specific to an execution.
 
ExecutionData m_data
 Data specific to a SINGLE execution of the algorithm. Gets reset at the beginning of execution.
 
std::string m_description {""}
 Description of the algorithm.
 
std::string m_prefix {""}
 The name of the TDirectory the collector objects are contained within.
 
nlohmann::json m_jsonExecutionInput = nlohmann::json::object()
 Optional input JSON object used to make decisions about how to execute the algorithm code.
 
nlohmann::json m_jsonExecutionOutput = nlohmann::json::object()
 Optional output JSON object that can be set during the execution by the underlying algorithm code.
 

Static Private Attributes

static const Calibration::ExpRun m_allExpRun = make_pair(-1, -1)
 allExpRun
 

Detailed Description

This module is the fitter for the CAF collector TOPLaserCalibratorCollector.

It analyzes the tree containing the timing of the laser and pulser hits produced by the collector, returning a tree with the fit results and the histograms for each channel. It can be used to produce both channelT0 calibrations and to analyze the daily, low statistics laser runs

Definition at line 27 of file TOPLocalCalFitter.h.

Member Enumeration Documentation

◆ EResult

enum EResult
inherited

The result of calibration.

Enumerator
c_OK 

Finished successfuly =0 in Python.

c_Iterate 

Needs iteration =1 in Python.

c_NotEnoughData 

Needs more data =2 in Python.

c_Failure 

Failed =3 in Python.

c_Undefined 

Not yet known (before execution) =4 in Python.

Definition at line 40 of file CalibrationAlgorithm.h.

Member Function Documentation

◆ calculateChennelT0()

void calculateChennelT0 ( )
protected

Calculates the commonT0 calibration after the fits have been done.

It also saves the constants in a localDB and in the output tree

Definition at line 475 of file TOPLocalCalFitter.cc.

476 {
477  int nEntries = m_fitTree->GetEntries();
478  if (nEntries != 8192) {
479  B2ERROR("fitTree does not contain an entry wit a fit result for each channel. Found " << nEntries <<
480  " instead of 8192. Perhaps you tried to run the commonT0 calculation before finishing the fitting?");
481  return;
482  }
483 
484  // Create and fill the TOPCalChannelT0 object.
485  // This part is mostly copy-pasted from the DB importer used up to Jan 2020
486  auto* channelT0 = new TOPCalChannelT0();
487  short nCal[16] = {0};
488  for (int i = 0; i < nEntries; i++) {
489  m_fitTree->GetEntry(i);
490  channelT0->setT0(m_slot, m_channel, m_peakTime - m_peakTimeMC, m_peakTimeErr);
491  if (m_fitStatus == 0) {
492  nCal[m_slot - 1]++;
493  } else {
494  channelT0->setUnusable(m_slot, m_channel);
495  }
496  }
497 
498  // Normalize the constants
499  channelT0->suppressAverage();
500 
501  // create the localDB
502  saveCalibration(channelT0);
503 
504  short nCalTot = 0;
505  B2INFO("Summary: ");
506  for (int iSlot = 1; iSlot < 17; iSlot++) {
507  B2INFO("--> Number of calibrated channels on Slot " << iSlot << " : " << nCal[iSlot - 1] << "/512");
508  B2INFO("--> Cal on ch 1, 256 and 511: " << channelT0->getT0(iSlot, 0) << ", " << channelT0->getT0(iSlot,
509  257) << ", " << channelT0->getT0(iSlot, 511));
510  nCalTot += nCal[iSlot - 1];
511  }
512 
513  B2RESULT("Channel T0 calibration constants imported to database, calibrated channels: " << nCalTot << "/ 8192");
514 
515 
516  // Loop again on the output tree to save the constants there too, adding two more branches.
517  TBranch* channelT0Branch = m_fitTree->Branch<float>("channelT0", &m_channelT0);
518  TBranch* channelT0ErrBranch = m_fitTree->Branch<float>("channelT0Err", &m_channelT0Err);
519 
520  for (int i = 0; i < nEntries; i++) {
521  m_fitTree->GetEntry(i);
522  m_channelT0 = channelT0->getT0(m_slot, m_channel);
523  m_channelT0Err = channelT0->getT0Error(m_slot, m_channel);
524  channelT0Branch->Fill();
525  channelT0ErrBranch->Fill();
526  }
527  return ;
528 
529 }
void saveCalibration(TClonesArray *data, const std::string &name)
Store DBArray payload with given name with default IOV.
Channel T0 calibration constants for all 512 channels of 16 modules.
short m_fitStatus
Fit quality flag, propagated to the constants.
float m_peakTimeMC
Time of the main peak in teh MC simulation, i.e.
float m_peakTimeErr
Statistical error on peakTime.
short m_channel
Channel number (0-511)
float m_channelT0Err
Statistical error on channelT0.
float m_peakTime
Fitted time of the main (i.e.
float m_channelT0
Raw, channelT0 calibration, defined as peakTime-peakTimeMC.
TTree * m_fitTree
Output of the fitter.

◆ calibrate()

CalibrationAlgorithm::EResult calibrate ( )
overrideprotectedvirtual

Runs the algorithm on events.

Currently, it always returns c_OK despite of the actual result of the fitting procedure. This is not an issue since this moduleis not intended to be used in the automatic calibration.

Implements CalibrationAlgorithm.

Definition at line 533 of file TOPLocalCalFitter.cc.

◆ checkPyExpRun()

bool checkPyExpRun ( PyObject *  pyObj)
inherited

Checks that a PyObject can be successfully converted to an ExpRun type.

Checks if the PyObject can be converted to ExpRun.

Definition at line 28 of file CalibrationAlgorithm.cc.

◆ convertPyExpRun()

ExpRun convertPyExpRun ( PyObject *  pyObj)
inherited

Performs the conversion of PyObject to ExpRun.

Converts the PyObject to an ExpRun. We've preoviously checked the object so this assumes a lot about the PyObject.

Definition at line 70 of file CalibrationAlgorithm.cc.

◆ execute()

CalibrationAlgorithm::EResult execute ( std::vector< Calibration::ExpRun >  runs = {},
int  iteration = 0,
IntervalOfValidity  iov = IntervalOfValidity() 
)
inherited

Runs calibration over vector of runs for a given iteration.

You can also specify the IoV to save the database payload as. By default the Algorithm will create an IoV from your requested ExpRuns, or from the overall ExpRuns of the input data if you haven't specified ExpRuns in this function.

No checks are performed to make sure that a IoV you specify matches the data you ran over, it simply labels the IoV to commit to the database later.

Definition at line 114 of file CalibrationAlgorithm.cc.

◆ fitInAmpliduteBins()

void fitInAmpliduteBins ( bool  isFitInAmplitudeBins)
inline

Enables the fit amplitude bins.


Definition at line 85 of file TOPLocalCalFitter.h.

86  {
87  m_isFitInAmplitudeBins = isFitInAmplitudeBins;
88  }
bool m_isFitInAmplitudeBins
Enables the fit in amplitude bins.

◆ getCollectorName()

std::string getCollectorName ( ) const
inlineinherited

Alias for prefix.

For convenience and less writing, we say developers to set this to default collector module name in constructor of base class. One can however use the dublets of collector+algorithm multiple times with different settings. To bind these together correctly, the prefix has to be set the same for algo and collector. So we call the setter setPrefix rather than setModuleName or whatever. This getter will work out of the box for default cases -> return the name of module you have to add to your path to collect data for this algorihtm.

Definition at line 164 of file CalibrationAlgorithm.h.

◆ setFitConstraintsFileName()

void setFitConstraintsFileName ( const std::string &  fitConstraints)
inline

Sets the name of the root file containing the laser MC time corrections and the fit constraints.

If the monitoringFit option is used (low statistics sample), this file must be the result of an high-statistics fit.

Definition at line 51 of file TOPLocalCalFitter.h.

◆ setFitMode()

void setFitMode ( const std::string &  fitterMode)
inline

Sets the fitter mode.

The options are 'calibration' (default), 'monitoring' or 'MC'. The mode affects the number of parameters that are fixed. Use calibration if you are fitting a large sample (1 M events or more) to derive a set of channelT0 calibrations. Use monitoring if you are fitting a smaller sample. The light path fractions and the tail parameters will be constrained according to the constraint file you passed to the fitter (usually teh result fo a high-statistics fit). Use MC to fit the MC sample and calculate a new set of prism corrections. No parameter is fixed, but the tail components are removed form the fit.

Definition at line 70 of file TOPLocalCalFitter.h.

◆ setInputFileNames() [1/2]

void setInputFileNames ( PyObject *  inputFileNames)
inherited

Set the input file names used for this algorithm from a Python list.

Set the input file names used for this algorithm and resolve the wildcards.

Definition at line 166 of file CalibrationAlgorithm.cc.

◆ setInputFileNames() [2/2]

void setInputFileNames ( std::vector< std::string >  inputFileNames)
protectedinherited

Set the input file names used for this algorithm.

Set the input file names used for this algorithm and resolve the wildcards.

Definition at line 194 of file CalibrationAlgorithm.cc.

Member Data Documentation

◆ m_channelT0

float m_channelT0
private
Initial value:
=
0.

Raw, channelT0 calibration, defined as peakTime-peakTimeMC.

This constant is not yet normalized to the average constant in the slot, since that part is currently done by the DB importer. When the DB import functionalities will be added to this module, it will be set to the proper channeT0

Definition at line 200 of file TOPLocalCalFitter.h.

◆ m_deltaT

float m_deltaT
private
Initial value:
=
0

Time difference between the main peak and the secondary peak.

Can be either fixed to the MC value or fitted.

Definition at line 169 of file TOPLocalCalFitter.h.

◆ m_fitConstraints

std::string m_fitConstraints
private
Initial value:
=
"/group/belle2/group/detector/TOP/calibration/MCreferences/LaserMCParameters.root"

File with the TTS parametrization.

Definition at line 121 of file TOPLocalCalFitter.h.

◆ m_fitStatus

short m_fitStatus = 1
private

Fit quality flag, propagated to the constants.

1 if fit did not converge, 0 if it is fine.

Definition at line 211 of file TOPLocalCalFitter.h.

◆ m_fitterMode

std::string m_fitterMode = "calibration"
private

Fit mode.

Can be 'calibration', 'monitoring' or 'MC'

Definition at line 125 of file TOPLocalCalFitter.h.

◆ m_fitTree

TTree* m_fitTree = nullptr
private

Output of the fitter.

The tree containg the fit results.

Definition at line 135 of file TOPLocalCalFitter.h.

◆ m_histFile

TFile* m_histFile = nullptr
private

Output of the fitter.

The file containing the output trees and histograms

Definition at line 134 of file TOPLocalCalFitter.h.

◆ m_minEntries

int m_minEntries = 50
private

Minimum number of entries to perform the fit.

Currently not used

Definition at line 119 of file TOPLocalCalFitter.h.

◆ m_peakTime

float m_peakTime = 0
private

Fitted time of the main (i.e.

latest) peak

Definition at line 168 of file TOPLocalCalFitter.h.

◆ m_peakTimeMC

float m_peakTimeMC
private
Initial value:
=
0.

Time of the main peak in teh MC simulation, i.e.

time of propagation of the light in the prism. This factor is used to get the channelT0 calibration

Definition at line 194 of file TOPLocalCalFitter.h.

◆ m_secondPulserTime

float m_secondPulserTime
private
Initial value:
=
0.

Average time of the second electronic pulse respect to the reference pulse, from a gaussian fit.

Definition at line 207 of file TOPLocalCalFitter.h.

◆ m_timewalkTree

TTree* m_timewalkTree
private
Initial value:
=
nullptr

Output of the fitter.

The tree containg the fit results to be used to study timewalk and asymptotic time resolution.

Definition at line 136 of file TOPLocalCalFitter.h.

◆ m_treeConstraints

TTree* m_treeConstraints
private
Initial value:
=
nullptr

Input to the fitter.

A tree containing the laser MC corrections and all the paraeters to be fixed in the fit

Definition at line 132 of file TOPLocalCalFitter.h.

◆ m_treeTTS

TTree* m_treeTTS = nullptr
private

Input to the fitter.

A tree containing the TTS parametrization for each channel

Definition at line 131 of file TOPLocalCalFitter.h.

◆ m_TTSData

std::string m_TTSData
private
Initial value:
=
"/group/belle2/group/detector/TOP/calibration/MCreferences/TTSParametrization.root"

File with the Fit constraints and MC info.

Definition at line 123 of file TOPLocalCalFitter.h.


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