sipm-characterisation 0.1.0
SiPM characterisation for ePIC — IV/DCR/gain, laser, readout, irradiation
Loading...
Searching...
No Matches
fine_analysis.h File Reference
#include "analysis_utils.h"
Include dependency graph for fine_analysis.h:

Go to the source code of this file.

Typedefs

typedef std::tuple< double, double, doublekFineTuneParamsType
 Data Structures ------------------------------------------------------------------------------------------------------—.
 

Functions

template<typename TH2_Type = TH2F>
TH2_Type * build_fine_tune_raw_histogram (std::vector< TString > kInputFileNames, TString kRunTag, TString kOutputFileName, bool kRecalculate)
 Functions ------------------------------------------------------------------------------------------------------— — Declaration — — Fine tune.
 
template<typename TH2_Type = TH2F>
TH2_Type * build_fine_tune_raw_histogram (TString kRunTag, TString kOutputFileName, bool kRecalculate)
 
template<typename TH2_Type = TH2F>
TH2_Typerun_fine_tune_analysis (TString kRunTag, TString kOutputFileName, TString kOutputGraphics, bool kRecalculate)
 
kFineTuneParamsType get_fine_calibration (global_identifier_t kFilters)
 — — Getter & Setters
 
double get_fine_calibration_min (global_identifier_t kFilters)
 
double get_fine_calibration_max (global_identifier_t kFilters)
 
double get_fine_calibration_offset (global_identifier_t kFilters)
 
template<typename TH2_Type = TH2F>
TH2_Typeget_fine_tune_parameters (TString kRunTag)
 Get stored fine tune parameters from calibration file.
 
template<typename TH2_Type = TH2F>
TH2_Typeget_fine_tune_raw_histogram (TString kRunTag)
 Get the raw histograms for calibration.
 
TH1Dget_fine_tune_raw_histogram (global_identifier_t kFilters)
 
void set_fine_calibration (global_identifier_t kFilters, double kCalibrationMin, double kCalibrationMax, double kCalibrationOffset)
 
void set_fine_calibration_min (global_identifier_t kFilters, double kCalibrationMin)
 
void set_fine_calibration_max (global_identifier_t kFilters, double kCalibrationMax)
 
void set_fine_calibration_offset (global_identifier_t kFilters, double kCalibrationOffset)
 
void set_fine_calibration (global_identifier_t kFilters)
 Recover calibration from saved file.
 
void set_fine_analysis_fit_function (TH1D *histo, int riseThreshold=1, int dropThreshold=1, int max_step=-3, int min_step=3)
 @Chiara Fraticelli
 
template<typename TH2_Type = TH2F>
void set_fine_tune_raw_histogram (TString kRunTag, TH2_Type *kFineTuneRawHistogram)
 
void set_fine_tune_raw_histogram (TString kRunTag)
 
template<typename TH2_Type = TH2F>
void set_fine_tune_raw_histogram (global_identifier_t kFilters, TH2_Type *kFineTuneRawHistogram)
 
void set_fine_tune_raw_histogram (global_identifier_t kFilters)
 
double calculate_calibrated_phase (int kFineParameter, double kCalibrationMin, double kCalibrationMax, double kCalibrationOffset)
 — — Calibration function
 
double calculate_calibrated_phase (int kFineParameter, global_identifier_t kFilters)
 
double calculate_calibrated_phase (int kFineParameter, TString kRunTag, int kGlobalIndex)
 
template<typename TH1_Type = TH1F>
int get_fit_bump (TH1_Type *histo, double critical_value, int bin_step)
 @Chiara Fraticelli
 
void raw_delta_fine_tune_offset (TString kRunTag, int kGlobalIndex, TH2F &hFine_Offset_All)
 
template<typename TH2_Type = TH2F, typename TH3_Type = TH3F>
TH2_Typerun_fine_tune_offset_analysis (TString kRunTag, TString kOutputFileName, TString kOutputGraphics, bool kRecalculate)
 
template<typename TH3_Type = TH3F>
void check_fine_tune_effect (TString kRunTag, TH3_Type &hFine_Check_Tune_Phas, TH3_Type &hFine_Check_Tune_Fine, TH3_Type &hFine_Check_TRaw_Phas, TH3_Type &hFine_Check_TRaw_Fine)
 NEW THINGS TO INTEGRATE ------—.
 

Variables

std::map< global_identifier_t, kFineTuneParamsTypekFineTuneParameters
 
std::map< TString, TH2F * > kFineTuneRawHistograms
 
bool kIgnoreFix = false
 Variables ------------------------------------------------------------------------------------------------------— — General.
 
const int kMaximumOffsetCalibIteration = 4
 
const float kEspilonOffsets = 0.001
 
const float kEspilonOffMean = 0.001
 
const TString output_preprocess_fine_analysis_directory = output_preprocess_directory + TString("/FineAnalysis/")
 
const TString output_preprocess_fine_analysis_file_raw = output_preprocess_fine_analysis_directory + TString("/%s/FineTuneRaw.root")
 
const TString output_preprocess_fine_analysis_file_rslt = output_preprocess_fine_analysis_directory + TString("/%s/FineTuneResults.root")
 
const TString output_preprocess_fine_analysis_file_offset_raw = output_preprocess_fine_analysis_directory + TString("/%s/FineTuneOffsetRaw.root")
 
const TString output_preprocess_fine_analysis_file_offset_rslt = output_preprocess_fine_analysis_directory + TString("/%s/FineTuneOffsetResults.root")
 
const TString output_preprocess_fine_analysis_file_check = output_preprocess_fine_analysis_directory + TString("/%s/FineTuneResultsCheck.root")
 
const TString output_preprocess_fine_analysis_graphics_dir = output_preprocess_fine_analysis_directory + TString("/%s/FitCheck/")
 
TF1fine_analysis_fit_function = new TF1("fine_analysis_fit_function", "[0]*(1./(exp((x-[1])/[2])+1))*(1./(exp(([3]-x)/[4])+1))", 20., 150.)
 

Typedef Documentation

◆ kFineTuneParamsType

Data Structures ------------------------------------------------------------------------------------------------------—.

Function Documentation

◆ build_fine_tune_raw_histogram() [1/2]

template<typename TH2_Type = TH2F>
TH2_Type * build_fine_tune_raw_histogram ( std::vector< TString >  kInputFileNames,
TString  kRunTag,
TString  kOutputFileName,
bool  kRecalculate 
)

Functions ------------------------------------------------------------------------------------------------------— — Declaration — — Fine tune.

— Implementation — — Fine tune

Check the output has already been produced

(Re)Calculate if requested

histogram with fine distribution

Loop on filenames

Load File

Load Tree

Get Entries and loop to fill histogram

Save custom output

◆ build_fine_tune_raw_histogram() [2/2]

template<typename TH2_Type = TH2F>
TH2_Type * build_fine_tune_raw_histogram ( TString  kRunTag,
TString  kOutputFileName,
bool  kRecalculate 
)

◆ calculate_calibrated_phase() [1/3]

double calculate_calibrated_phase ( int  kFineParameter,
double  kCalibrationMin,
double  kCalibrationMax,
double  kCalibrationOffset 
)

— — Calibration function

Base calibration function implementation

Checking the parameter given is within calibration range

Calculate the fine tune calibration from MAX and MIN values

TODO: This is a TEMPORARY FIX to avoid overlap regions

Correct by offset calibration

◆ calculate_calibrated_phase() [2/3]

double calculate_calibrated_phase ( int  kFineParameter,
global_identifier_t  kFilters 
)

◆ calculate_calibrated_phase() [3/3]

double calculate_calibrated_phase ( int  kFineParameter,
TString  kRunTag,
int  kGlobalIndex 
)

◆ check_fine_tune_effect()

template<typename TH3_Type = TH3F>
void check_fine_tune_effect ( TString  kRunTag,
TH3_Type hFine_Check_Tune_Phas,
TH3_Type hFine_Check_Tune_Fine,
TH3_Type hFine_Check_TRaw_Phas,
TH3_Type hFine_Check_TRaw_Fine 
)

NEW THINGS TO INTEGRATE ------—.

Loop on data

Taking first hit w/ assumption of coincidence

Second loop

Taking first hit w/ assumption of coincidence

◆ get_fine_calibration()

kFineTuneParamsType get_fine_calibration ( global_identifier_t  kFilters)

— — Getter & Setters

Cache the fine tune parameters if they are not stored

◆ get_fine_calibration_max()

double get_fine_calibration_max ( global_identifier_t  kFilters)

◆ get_fine_calibration_min()

double get_fine_calibration_min ( global_identifier_t  kFilters)

◆ get_fine_calibration_offset()

double get_fine_calibration_offset ( global_identifier_t  kFilters)

◆ get_fine_tune_parameters()

template<typename TH2_Type = TH2F>
TH2_Type * get_fine_tune_parameters ( TString  kRunTag)

Get stored fine tune parameters from calibration file.

Check the output has already been produced

Return calibration

◆ get_fine_tune_raw_histogram() [1/2]

TH1D * get_fine_tune_raw_histogram ( global_identifier_t  kFilters)

◆ get_fine_tune_raw_histogram() [2/2]

template<typename TH2_Type = TH2F>
TH2_Type * get_fine_tune_raw_histogram ( TString  kRunTag)

Get the raw histograms for calibration.

◆ get_fit_bump()

template<typename TH1_Type = TH1F>
int get_fit_bump ( TH1_Type histo,
double  critical_value,
int  bin_step 
)

@Chiara Fraticelli

◆ raw_delta_fine_tune_offset()

void raw_delta_fine_tune_offset ( TString  kRunTag,
int  kGlobalIndex,
TH2F hFine_Offset_All 
)

Loop on data

Selecting timing chips

Taking first hit w/ assumption of coincidence

Second loop

Channel Selection

◆ run_fine_tune_analysis()

template<typename TH2_Type = TH2F>
TH2_Type * run_fine_tune_analysis ( TString  kRunTag,
TString  kOutputFileName,
TString  kOutputGraphics,
bool  kRecalculate 
)

Check the output has already been produced

(Re)Calculate if requested

Run in Batch mode

Load Files

Create output

Loop on found infos

Save custom output

Run in Batch mode

◆ run_fine_tune_offset_analysis()

template<typename TH2_Type = TH2F, typename TH3_Type = TH3F>
TH2_Type * run_fine_tune_offset_analysis ( TString  kRunTag,
TString  kOutputFileName,
TString  kOutputGraphics,
bool  kRecalculate 
)

Check the output has already been produced

(Re)Calculate if requested

(Re)Calculate if requested

Run in Batch mode

histogram with delta time distribution

Blank calibration

Load data & loop on found infos

Recover basic info

Re-assign mean correction

Check iteration limit conidtion

Plot check

Save custom output

Run in Batch mode

◆ set_fine_analysis_fit_function()

void set_fine_analysis_fit_function ( TH1D histo,
int  riseThreshold = 1,
int  dropThreshold = 1,
int  max_step = -3,
int  min_step = 3 
)

@Chiara Fraticelli

◆ set_fine_calibration() [1/2]

void set_fine_calibration ( global_identifier_t  kFilters)

Recover calibration from saved file.

◆ set_fine_calibration() [2/2]

void set_fine_calibration ( global_identifier_t  kFilters,
double  kCalibrationMin,
double  kCalibrationMax,
double  kCalibrationOffset 
)

◆ set_fine_calibration_max()

void set_fine_calibration_max ( global_identifier_t  kFilters,
double  kCalibrationMax 
)

◆ set_fine_calibration_min()

void set_fine_calibration_min ( global_identifier_t  kFilters,
double  kCalibrationMin 
)

◆ set_fine_calibration_offset()

void set_fine_calibration_offset ( global_identifier_t  kFilters,
double  kCalibrationOffset 
)

◆ set_fine_tune_raw_histogram() [1/4]

void set_fine_tune_raw_histogram ( global_identifier_t  kFilters)

◆ set_fine_tune_raw_histogram() [2/4]

template<typename TH2_Type = TH2F>
void set_fine_tune_raw_histogram ( global_identifier_t  kFilters,
TH2_Type kFineTuneRawHistogram 
)

◆ set_fine_tune_raw_histogram() [3/4]

void set_fine_tune_raw_histogram ( TString  kRunTag)

◆ set_fine_tune_raw_histogram() [4/4]

template<typename TH2_Type = TH2F>
void set_fine_tune_raw_histogram ( TString  kRunTag,
TH2_Type kFineTuneRawHistogram 
)

Variable Documentation

◆ fine_analysis_fit_function

TF1* fine_analysis_fit_function = new TF1("fine_analysis_fit_function", "[0]*(1./(exp((x-[1])/[2])+1))*(1./(exp(([3]-x)/[4])+1))", 20., 150.)

◆ kEspilonOffMean

const float kEspilonOffMean = 0.001

◆ kEspilonOffsets

const float kEspilonOffsets = 0.001

◆ kFineTuneParameters

◆ kFineTuneRawHistograms

std::map<TString,TH2F*> kFineTuneRawHistograms

◆ kIgnoreFix

bool kIgnoreFix = false

Variables ------------------------------------------------------------------------------------------------------— — General.

◆ kMaximumOffsetCalibIteration

const int kMaximumOffsetCalibIteration = 4

◆ output_preprocess_fine_analysis_directory

const TString output_preprocess_fine_analysis_directory = output_preprocess_directory + TString("/FineAnalysis/")

◆ output_preprocess_fine_analysis_file_check

const TString output_preprocess_fine_analysis_file_check = output_preprocess_fine_analysis_directory + TString("/%s/FineTuneResultsCheck.root")

◆ output_preprocess_fine_analysis_file_offset_raw

const TString output_preprocess_fine_analysis_file_offset_raw = output_preprocess_fine_analysis_directory + TString("/%s/FineTuneOffsetRaw.root")

◆ output_preprocess_fine_analysis_file_offset_rslt

const TString output_preprocess_fine_analysis_file_offset_rslt = output_preprocess_fine_analysis_directory + TString("/%s/FineTuneOffsetResults.root")

◆ output_preprocess_fine_analysis_file_raw

const TString output_preprocess_fine_analysis_file_raw = output_preprocess_fine_analysis_directory + TString("/%s/FineTuneRaw.root")

◆ output_preprocess_fine_analysis_file_rslt

const TString output_preprocess_fine_analysis_file_rslt = output_preprocess_fine_analysis_directory + TString("/%s/FineTuneResults.root")

◆ output_preprocess_fine_analysis_graphics_dir

const TString output_preprocess_fine_analysis_graphics_dir = output_preprocess_fine_analysis_directory + TString("/%s/FitCheck/")