PyDianaIO¶
- pydiana.tools.pydianaIO.alias_compare(variable, list1, dict_alias={'ADC2mV': 'RunDataLoader@ChannelRunData.fADC2mV', 'Baseline': 'BaselineModule@BaselineData.fBaseline', 'BaselineFlatRMS': 'BaselineModule@BaselineData.fBaselineFlatRMS', 'BaselineRMS': 'BaselineModule@BaselineData.fBaselineRMS', 'BaselineSlope': 'BaselineModule@BaselineData.fBaselineSlope', 'BiOT_Fast': 'COFBiComponent@AmplitudeFast.fValue', 'BiOT_Slow': 'COFBiComponent@AmplitudeSlow.fValue', 'Channel': 'DAQ@PulseInfo.fChannelId', 'ClockNumber': 'RunDataLoader@ThermalDetector.fTdClock.fValue', 'CoincidenceData_Alpha': 'AlphaDelayedCoincidence@CoincidenceData.', 'CoincidenceData_OFTime': 'Coincidence_OFTime@CoincidenceData.', 'CoincidenceData_RawTime': 'Coincidence_RawTime@CoincidenceData.', 'CoincidenceData_Side': 'SideCoincidence@CoincidenceData.', 'CoincidenceData_Sync': 'Coincidence_Sync@CoincidenceData.', 'CoincidenceData_SyncPSA': 'Coincidence_SyncPSA@CoincidenceData.', 'CryptedEnergy': 'EnergyBlinding@CryptedEnergy.', 'Daughter': 'FilterResult@Passed.fValue', 'DecayTime': 'PulseBasicParameters@Parameters.fDecayTime', 'Energy': 'ApplyCalibration@Energy.fValue', 'EnergyDecorrOF': 'ApplyCalibration_DecorrOF@Energy.fValue', 'EnergyDecorrOFWoH': 'ApplyCalibration_DecorrOF_WoH@Energy.fValue', 'EnergyNewOF': 'ApplyCalibration_NewOF@Energy.fValue', 'EnergyNewOFWoH': 'ApplyCalibration_NewOF_WoH@Energy.fValue', 'EnergyUncertainty': 'ApplyCalibration@EnergyUncertainty.fValue', 'EnergyUncertaintyDecorrOF': 'ApplyCalibration_DecorrOF@EnergyUncertainty.fValue', 'EnergyUncertaintyDecorrOFWoH': 'ApplyCalibration_DecorrOF_WoH@Uncertainty.fValue', 'EnergyUncertaintyNewOF': 'ApplyCalibration_NewOF@EnergyUncertainty.fValue', 'EnergyUncertaintyNewOFWoH': 'ApplyCalibration_NewOF_WoH@EnergyUncertainty.fValue', 'EnergyUncertaintyWoH': 'ApplyCalibration_WoH@EnergyUncertainty.fValue', 'EnergyUncertainty_OF': 'ApplyCalibration_OF@EnergyUncertainty.fValue', 'EnergyUncertainty_OF_WoH': 'ApplyCalibration_OF_WoH@EnergyUncertainty.fValue', 'EnergyUncertainty_wOF': 'ApplyCalibration_wOF@EnergyUncertainty.fValue', 'EnergyUncertainty_wOF_WoH': 'ApplyCalibration_wOF_WoH@EnergyUncertainty.fValue', 'EnergyWoH': 'ApplyCalibration_WoH@Energy.fValue', 'Energy_OF': 'ApplyCalibration_OF@Energy.fValue', 'Energy_OF_WoH': 'ApplyCalibration_OF_WoH@Energy.fValue', 'Energy_wOF': 'ApplyCalibration_wOF@Energy.fValue', 'Energy_wOF_WoH': 'ApplyCalibration_wOF_WoH@Energy.fValue', 'EventNumber': 'DAQ@Header.fEventNumber', 'Floor': 'RunDataLoader@ThermalDetector.fTdFloor.fValue', 'FullWindowBaseline': 'BaselineModule_FullWindow@BaselineData.fBaseline', 'FullWindowBaselineFlatRMS': 'BaselineModule_FullWindow@BaselineData.fBaselineFlatRMS', 'FullWindowBaselineRMS': 'BaselineModule_FullWindow@BaselineData.fBaselineRMS', 'FullWindowBaselineSlope': 'BaselineModule_FullWindow@BaselineData.fBaselineSlope', 'GoodForStandardAnalysis': 'BadForAnalysis_GoodForStandardAnalysis@Passed.fValue', 'GoodForWoHAnalysis': 'BadForAnalysis_GoodForWoHAnalysis@Passed.fValue', 'IsBolometer': 'RunDataLoader@ChannelRunData.fIsBolometer', 'IsNoise': 'DAQ@PulseInfo.fMasterSample.GetIsNoise()', 'IsPulser': 'DAQ@PulseInfo.fMasterSample.GetIsPulser()', 'IsReversed': 'DAQ@PulseInfo.fMasterSample.GetIsReversed()', 'IsSaturatedHigh': 'PulseBasicParameters@Parameters.fIsSaturatedHigh', 'IsSaturatedLow': 'PulseBasicParameters@Parameters.fIsSaturatedLow', 'IsSide': 'DAQ@PulseInfo.fMasterSample.GetIsSide()', 'IsSignal': 'DAQ@PulseInfo.fMasterSample.GetIsSignal()', 'IsStab': 'FindMultipleTrendsByBruteForce@Selected.fValue', 'IsThermometer': 'RunDataLoader@ChannelRunData.fIsThermometer', 'IsVeto': 'DAQ@PulseInfo.fMasterSample.GetIsVeto()', 'MaxBaseline': 'PulseBasicParameters@MaxBaseline.fValue', 'MaxBaselineInWindow': 'PulseBasicParameters@MaxBaselineInWindow.fValue', 'MaxMinInWindow': 'PulseBasicParameters@MaxMinInWindow.fValue', 'MaxPosition': 'PulseBasicParameters@Parameters.fMaxPosition', 'Mother': 'FilterInInterval@Passed.fValue', 'Multiplicity_Alpha': 'AlphaDelayedCoincidence@CoincidenceData.fMultiplicity', 'Multiplicity_OFTime': 'Coincidence_OFTime@CoincidenceData.fMultiplicity', 'Multiplicity_OFTime_Sync_10ms': 'Coincidence_OFTime_Sync_10ms@CoincidenceData.fMultiplicity', 'Multiplicity_OFTime_Sync_10ms_150keV': 'Coincidence_OFTime_Sync_10ms_150keV@CoincidenceData.fMultiplicity', 'Multiplicity_OFTime_Sync_20ms': 'Coincidence_OFTime_Sync_20ms@CoincidenceData.fMultiplicity', 'Multiplicity_RawTime': 'Coincidence_RawTime@CoincidenceData.fMultiplicity', 'Multiplicity_RawTimeNoChiCut': 'Coincidence_RawTimeNoChiCut@CoincidenceData.fMultiplicity', 'Multiplicity_RawTime_NoChi_50perc': 'Coincidence_RawTime_NoChi_50perc@CoincidenceData.fMultiplicity', 'Multiplicity_RawTime_newCoinc_50perc': 'Coincidence_RawTime_newCoinc_50perc@CoincidenceData.fMultiplicity', 'Multiplicity_Side': 'SideCoincidence@CoincidenceData.fMultiplicity', 'Multiplicity_Sync': 'Coincidence_Sync@CoincidenceData.fMultiplicity', 'Multiplicity_SyncPSA': 'Coincidence_SyncPSA@CoincidenceData.fMultiplicity', 'NormBaselineSlope': 'ApplyShapeNormalization@NormBaselineSlope.fValue', 'NormDecayTime': 'ApplyShapeNormalization@NormDecayTime.fValue', 'NormDelay': 'ApplyShapeNormalization@NormDelay.fValue', 'NormRiseTime': 'ApplyShapeNormalization@NormRiseTime.fValue', 'NormTVL': 'ApplyShapeNormalization@NormTVL.fValue', 'NormTVR': 'ApplyShapeNormalization@NormTVR.fValue', 'NsTime': 'DAQ@Header.fTime.fFromStartRunNs', 'NumberOfPulses': 'BCountPulses@CountPulsesData.fNumberOfPulses', 'OF_Amplitude': 'FilteredPulseAmplitude_OF@Amplitude.fValue', 'OF_DecayTime': 'FilteredPulseAmplitude_OF@OFData.fDecayTime', 'OF_Delay': 'FilteredPulseAmplitude_OF@OFData.fDelay', 'OF_FDAmplitude': 'FilteredPulseAmplitude_OF@OFData.fFDAmplitude', 'OF_RiseTime': 'FilteredPulseAmplitude_OF@OFData.fRiseTime', 'OF_SecondAmplitude': 'FilteredPulseAmplitude_OF@OFData.fSecondAmplitude', 'OF_SecondDelay': 'FilteredPulseAmplitude_OF@OFData.fSecondDelay', 'OF_TVL': 'FilteredPulseAmplitude_OF@OFData.fTVL', 'OF_TVR': 'FilteredPulseAmplitude_OF@OFData.fTVR', 'OT_Amplitude': 'OTAnalysis@Amplitude.fValue', 'OT_ChiSquare': 'OTAnalysis@FitChiSquare.fValue', 'OT_Time': 'OTAnalysis@FitTime.fValue', 'OrderInMultiple_Alpha': 'AlphaDelayedCoincidence@CoincidenceData.fOrderInMultiple', 'OrderInMultiple_OFTime': 'Coincidence_OFTime@CoincidenceData.fOrderInMultiple', 'OrderInMultiple_OFTime_Sync_10ms': 'Coincidence_OFTime_Sync_10ms@CoincidenceData.fOrderInMultiple', 'OrderInMultiple_OFTime_Sync_10ms_150keV': 'Coincidence_OFTime_Sync_10ms_150keV@CoincidenceData.fOrderInMultiple', 'OrderInMultiple_OFTime_Sync_20ms': 'Coincidence_OFTime_Sync_20ms@CoincidenceData.fOrderInMultiple', 'OrderInMultiple_RawTime': 'Coincidence_RawTime@CoincidenceData.fOrderInMultiple', 'OrderInMultiple_Side': 'SideCoincidence@CoincidenceData.fOrderInMultiple', 'OrderInMultiple_Sync': 'Coincidence_Sync@CoincidenceData.fOrderInMultiple', 'OrderInMultiple_SyncPSA': 'Coincidence_SyncPSA@CoincidenceData.fOrderInMultiple', 'PSAMDistance': 'MahalanobisDistance_PSA@Distance.fValue', 'PSAMDistance_5Component': 'MahalanobisDistance_PSA_5Component@Distance.fValue', 'Position': 'RunDataLoader@ThermalDetector.fTdPos.fValue', 'Position_X': 'RunDataLoader@ThermalDetector.fTdX.fValue', 'Position_Y': 'RunDataLoader@ThermalDetector.fTdY.fValue', 'Position_Z': 'RunDataLoader@ThermalDetector.fTdZ.fValue', 'Q0NDBDAggressiveEnergy': 'Q0SelectEnergy_Q0NDBDAggressive@Energy.fValue', 'Q0NDBDAggressiveVariable': 'Q0SelectEnergy_Q0NDBDAggressive@SelectedEnergyBranch.fValue', 'Q0NDBDModConservativeEnergy': 'Q0SelectEnergy_Q0NDBDModConservative@Energy.fValue', 'Q0NDBDModConservativeVariable': 'Q0SelectEnergy_Q0NDBDModConservative@SelectedEnergyBranch.fValue', 'Q0NDBDOfficialEnergy': 'Q0SelectEnergy_Q0NDBD@Energy.fValue', 'Q0NDBDOfficialVariable': 'Q0SelectEnergy_Q0NDBD@SelectedEnergyBranch.fValue', 'QNDBDOfficialEnergy': 'EnergySelector_QNDBD@Energy.fValue', 'QNDBDOfficialEnergyVariable': 'EnergySelector_QNDBD@SelectedEnergyBranch.fValue', 'RejectBadIntervals': 'RejectBadIntervals@Passed.fValue', 'RejectBadIntervals_AntiCoincidence': 'RejectBadIntervals_AntiCoincidence@Passed.fValue', 'RejectBadIntervals_Final': 'RejectBadIntervals_WithFirstIteration@Passed.fValue', 'RiseTime': 'PulseBasicParameters@Parameters.fRiseTime', 'Run': 'DAQ@Header.fRun', 'SamplingFrequency': 'RunDataLoader@ChannelRunData.fSamplingFrequency', 'SingleTrigger': 'SampleInfoFilter@Passed.fValue', 'StabAmplitude': 'CorrectAmplitudes@Amplitude.fValue', 'StartRunUnixTime': 'DAQ@Header.fTime.fStartRunUnix', 'StartSourceRunUnixTime': 'SourceRunTime@StartSourceRunUnix.fStartRunUnix', 'StartSourceRunUnixTime_newCoinc_50perc': 'SourceRunTime_newCoinc_50perc@StartSourceRunUnix.fStartRunUnix', 'ThermistorRanking': 'ThermistorRanking@Rank.fValue', 'Time': 'DAQ@Header.fTime.fFromStartRunNs/1e09', 'TimeSinceEvent_DifferentChannel': 'CoincidenceTiming@Timing.fTimeSinceEvent_DifferentChannel', 'TimeSinceEvent_SameChannel': 'CoincidenceTiming@Timing.fTimeSinceEvent_SameChannel', 'TimeSinceHeaterEvent_DifferentChannel': 'CoincidenceTiming_Heater@Timing.fTimeSinceEvent_DifferentChannel', 'TimeSinceHeaterEvent_SameChannel': 'CoincidenceTiming_Heater@Timing.fTimeSinceEvent_SameChannel', 'TimeSinceSignalEvent_DifferentChannel': 'CoincidenceTiming_Signal@Timing.fTimeSinceEvent_DifferentChannel', 'TimeSinceSignalEvent_SameChannel': 'CoincidenceTiming_Signal@Timing.fTimeSinceEvent_SameChannel', 'TimeUntilEvent_DifferentChannel': 'CoincidenceTiming@Timing.fTimeUntilEvent_DifferentChannel', 'TimeUntilEvent_SameChannel': 'CoincidenceTiming@Timing.fTimeUntilEvent_SameChannel', 'TimeUntilHeaterEvent_DifferentChannel': 'CoincidenceTiming_Heater@Timing.fTimeUntilEvent_DifferentChannel', 'TimeUntilHeaterEvent_SameChannel': 'CoincidenceTiming_Heater@Timing.fTimeUntilEvent_SameChannel', 'TimeUntilSignalEvent_DifferentChannel': 'CoincidenceTiming_Signal@Timing.fTimeUntilEvent_DifferentChannel', 'TimeUntilSignalEvent_SameChannel': 'CoincidenceTiming_Signal@Timing.fTimeUntilEvent_SameChannel', 'TotalEnergy_Alpha': 'AlphaDelayedCoincidence@TotalEnergy.fValue', 'TotalEnergy_OFTime': 'Coincidence_OFTime@TotalEnergy.fValue', 'TotalEnergy_OFTime_Sync_10ms': 'Coincidence_OFTime_Sync_10ms@TotalEnergy.fValue', 'TotalEnergy_OFTime_Sync_10ms_150keV': 'Coincidence_OFTime_Sync_10ms_150keV@TotalEnergy.fValue', 'TotalEnergy_OFTime_Sync_20ms': 'Coincidence_OFTime_Sync_20ms@TotalEnergy.fValue', 'TotalEnergy_RawTime': 'Coincidence_RawTime@TotalEnergy.fValue', 'TotalEnergy_Side': 'SideCoincidence@TotalEnergy.fValue', 'TotalEnergy_Sync': 'Coincidence_Sync@TotalEnergy.fValue', 'TotalEnergy_SyncPSA': 'Coincidence_SyncPSA@TotalEnergy.fValue', 'Tower': 'RunDataLoader@ThermalDetector.fTdTower.fValue'})[source]¶
Function for converting a variable alias to a complete variable path
- Parameters:
variable (string with the variable to convert) --
list1 (array-like of lists with the datafile aliases) --
dict_alias (dictionary of the aliases (keys = aliases, values = variable path)) --
- Return type:
Complete path to variable or '' if not found.
- pydiana.tools.pydianaIO.alias_reader(alias_files=None)[source]¶
Function for importing the aliases. If no file is specified in automatically reads the cfg/aliases.txt files present in DIANA_INSTALL and DIANA_EXT_INSTALL.
- Parameters:
alias_files (array-like with all the paths to the alias files to be used. If only one file to be used it can be inserted as a simple string.) --
- Return type:
dictionary with keys as the aliases and the elements as the path to the variable
- pydiana.tools.pydianaIO.apply_cuts(cuts, datafile)[source]¶
Function for getting cuts on datafile. Readapted from ROOT's TTreePlayer->CopyTree.
- Parameters:
cuts (string with cuts) --
datafile (QChain instance on which to evaluate the cuts) --
- Return type:
Array with indexes of the events that pass the cuts
- pydiana.tools.pydianaIO.check_legacy(variable, legacy=False)[source]¶
Function for checking if the variable needs to be read with the legacy method or not
- Parameters:
variable (string with the name of the variable) --
legacy (bool that overides check) --
- Return type:
True if it's a legacy variable, False if not
- pydiana.tools.pydianaIO.find_all_files(datafile)[source]¶
Function for finding all files to include in the analysis. :type datafile:
str:param datafile: :type datafile: String containing the path to the file- Return type:
list with all the files to use
- pydiana.tools.pydianaIO.get_all_aliases(datafile)[source]¶
Function for getting all the aliases in the .root files
- Parameters:
datafile (QChain instance of the opened file) --
- Return type:
List with all the aliases
- pydiana.tools.pydianaIO.get_all_branches(datafile)[source]¶
Function for getting all the branches in the .root files
- Parameters:
datafile (QChain instance of the opened file) --
- Return type:
List with all the branches
- pydiana.tools.pydianaIO.get_all_content(datafile, verbose=False)[source]¶
Function for getting all the info in the .root files
- Parameters:
datafile (QChain instance of the opened file) --
- Return type:
List with all the info
- pydiana.tools.pydianaIO.get_all_leaves(datafile)[source]¶
Function for getting all the leaves in the .root files
- Parameters:
datafile (QChain instance of the opened file) --
- Return type:
List with all the leaves
- pydiana.tools.pydianaIO.get_average_noise(an_input, dataset, chan, owner='NoiseAvgPowerSpectrum', extralabel=None, verbose=False)[source]¶
Function for importing the average noise power spectrum.
- Parameters:
an_input (String with the path to the average noise power spectrum) --
chan (Integer indicating the channel number) --
extralabel (string indicating the extralabel used for the average noise power spectrum) --
- Return type:
array with the values of the noise power spectrum in ADC units
- pydiana.tools.pydianaIO.get_average_pulse(ap_input, dataset, chan, owner='AveragePulses', extralabel=None, verbose=False)[source]¶
Function for importing the average pulse.
- Parameters:
ap_input (String with the path to the average pulse) --
chan (Integer indicating the channel number) --
extralabel (string indicating the extralabel used for the average pulse) --
- Return type:
vector with the average pulse in ADC units
- pydiana.tools.pydianaIO.get_channel_run_data(filename, ch, run, rundataowner='DAQ')[source]¶
Method for getting the channel rundata
- Parameters:
filename (String with path to file to be read) --
ch (Int with channel number) --
run (Int with run number.) --
- Return type:
Channel run data
- pydiana.tools.pydianaIO.get_custom_class_from_event(datafile, owner, label, cut=None)[source]¶
Utility Function for getting classes from datafile with selection.
- Parameters:
datafile (QChain instance with the datafile) --
owner (string with the owner of the pulse) --
label (string with the label of the pulse) --
cut (either array with indexes of pulses to keep or string with cut) --
- Return type:
2D array with the results. Returns none if no pulses are found
- pydiana.tools.pydianaIO.get_durations(listfile, verbose=False, printres=False)[source]¶
Method for getting the duration of a datafile (taken from rundata). The result is returned in hours.
- pydiana.tools.pydianaIO.get_noise_covariance(covinput, dataset, owner='NoiseCrossPowerSpectrum', extralabel=None, verbose=False)[source]¶
Function for importing the noise covariance.
- Parameters:
covinput (String with the path to the file containing the noise covariance matrix (usually same as average noise power spectrum)) --
dataset (int with the dataset) --
owner (owner of the noise covariance matrix) --
extralabel (string indicating the extralabel used for the covariance matrix) --
- Return type:
Instance of QChannelCovariance
- pydiana.tools.pydianaIO.get_pulse_info(datafile, cut=None, owner='DAQ')[source]¶
Utility Function for getting classes from datafile with selection.
- Parameters:
datafile (QChain instance with the datafile) --
owner (string with the owner of the pulse) --
cut (either array with indexes of pulses to keep or string with cut) --
- Return type:
2D array with the pulse infos. Returns none if no pulses are found
- pydiana.tools.pydianaIO.get_pulses(datafile, cut=None, owner='DAQ', label='Pulse.')[source]¶
Function for getting pulses from Diana .root file
- Parameters:
datafile (QChain instance with the datafile) --
cuts (string implementing the cuts) --
owner (string with the owner of the pulse) --
label (string with the label of the pulse) --
- Return type:
2D array with the pulses. Returns none if no pulses are found
- pydiana.tools.pydianaIO.get_pulses_with_index(datafile, indexes=None, owner='DAQ', label='Pulse.')[source]¶
Function for getting pulses with cuts and indexes.
- Parameters:
datafile (QChain instance with the datafile) --
indexes (list of pulses to get withing the ones selected by the cuts) --
owner (string with the owner of the pulse) --
label (string with the label of the pulse) --
- Return type:
2D array with the pulses. Returns none if no pulses are found
- pydiana.tools.pydianaIO.get_random_pulses(datafile, num, cuts='', owner='DAQ', label='Pulse.')[source]¶
Function for getting random pulses from dataset.
- Parameters:
datafile (QChain instance with the datafile) --
cuts (string implementing the cuts) --
num (number of random pulses to be fetched within the ones that pass the cuts) --
owner (string with the owner of the pulse) --
label (string with the label of the pulse) --
- Return type:
2D array with the pulses. Returns none if no pulses are found
- pydiana.tools.pydianaIO.get_run_data(filename, run, rundataowner='DAQ')[source]¶
Method for getting rundata.
- Parameters:
filename (String with path to file to be read) --
run (Int with run number.) --
rundataowner (string with run data owner) --
- Return type:
Run data
- pydiana.tools.pydianaIO.get_subtree(datafiles, cuts)[source]¶
Method to get elements of tree that respect cuts
- Parameters:
datafile (QChain instance with cuts to be applied to) --
cuts (string with cuts to be imposed) --
- Return type:
QChain instance with elements that passed cut selection
- pydiana.tools.pydianaIO.old_read_var(variable, datafile, cuts='', dtypes=(<class 'float'>, ))[source]¶
Function for reading a variable from the root file
- Parameters:
variable (string containing the name of the variable) --
datafile (QChain instance (given from the openfile function)) --
cuts (String containing the cuts to select the wanted variables) --
dtypes (array-like of types used to convert the read values (the variables are read as floats by default and then are converted from the first to the last type indicated)) --
- Return type:
tuple of the values of that variable
- pydiana.tools.pydianaIO.openfile(datafile)[source]¶
Function for opening Diana data files. If a .root file is provided that is the only file provided, if a .list file all the .root files linked (directly or indirectly) from the .list files will be included.
- Parameters:
datafile (String containing the path to the file) --
- Returns:
datafiles
- Return type:
QChain instance used to read the file (analogous to a TChain or TTree from root, can be thought of as the pointer to the file)
- pydiana.tools.pydianaIO.parse_listfile(inputfile)[source]¶
Function for parsing a .list file (not a nested reading).
- Parameters:
(str) (inputfile) --
- Returns:
dict containing the following structure: {'datapath':<datapath written in file>,'listfiles':<list of .list files>,'rootfiles':<list of .root files>}
- pydiana.tools.pydianaIO.read_var(variable, datafile, cuts='', dtypes=(<class 'float'>, ), dict_alias={'ADC2mV': 'RunDataLoader@ChannelRunData.fADC2mV', 'Baseline': 'BaselineModule@BaselineData.fBaseline', 'BaselineFlatRMS': 'BaselineModule@BaselineData.fBaselineFlatRMS', 'BaselineRMS': 'BaselineModule@BaselineData.fBaselineRMS', 'BaselineSlope': 'BaselineModule@BaselineData.fBaselineSlope', 'BiOT_Fast': 'COFBiComponent@AmplitudeFast.fValue', 'BiOT_Slow': 'COFBiComponent@AmplitudeSlow.fValue', 'Channel': 'DAQ@PulseInfo.fChannelId', 'ClockNumber': 'RunDataLoader@ThermalDetector.fTdClock.fValue', 'CoincidenceData_Alpha': 'AlphaDelayedCoincidence@CoincidenceData.', 'CoincidenceData_OFTime': 'Coincidence_OFTime@CoincidenceData.', 'CoincidenceData_RawTime': 'Coincidence_RawTime@CoincidenceData.', 'CoincidenceData_Side': 'SideCoincidence@CoincidenceData.', 'CoincidenceData_Sync': 'Coincidence_Sync@CoincidenceData.', 'CoincidenceData_SyncPSA': 'Coincidence_SyncPSA@CoincidenceData.', 'CryptedEnergy': 'EnergyBlinding@CryptedEnergy.', 'Daughter': 'FilterResult@Passed.fValue', 'DecayTime': 'PulseBasicParameters@Parameters.fDecayTime', 'Energy': 'ApplyCalibration@Energy.fValue', 'EnergyDecorrOF': 'ApplyCalibration_DecorrOF@Energy.fValue', 'EnergyDecorrOFWoH': 'ApplyCalibration_DecorrOF_WoH@Energy.fValue', 'EnergyNewOF': 'ApplyCalibration_NewOF@Energy.fValue', 'EnergyNewOFWoH': 'ApplyCalibration_NewOF_WoH@Energy.fValue', 'EnergyUncertainty': 'ApplyCalibration@EnergyUncertainty.fValue', 'EnergyUncertaintyDecorrOF': 'ApplyCalibration_DecorrOF@EnergyUncertainty.fValue', 'EnergyUncertaintyDecorrOFWoH': 'ApplyCalibration_DecorrOF_WoH@Uncertainty.fValue', 'EnergyUncertaintyNewOF': 'ApplyCalibration_NewOF@EnergyUncertainty.fValue', 'EnergyUncertaintyNewOFWoH': 'ApplyCalibration_NewOF_WoH@EnergyUncertainty.fValue', 'EnergyUncertaintyWoH': 'ApplyCalibration_WoH@EnergyUncertainty.fValue', 'EnergyUncertainty_OF': 'ApplyCalibration_OF@EnergyUncertainty.fValue', 'EnergyUncertainty_OF_WoH': 'ApplyCalibration_OF_WoH@EnergyUncertainty.fValue', 'EnergyUncertainty_wOF': 'ApplyCalibration_wOF@EnergyUncertainty.fValue', 'EnergyUncertainty_wOF_WoH': 'ApplyCalibration_wOF_WoH@EnergyUncertainty.fValue', 'EnergyWoH': 'ApplyCalibration_WoH@Energy.fValue', 'Energy_OF': 'ApplyCalibration_OF@Energy.fValue', 'Energy_OF_WoH': 'ApplyCalibration_OF_WoH@Energy.fValue', 'Energy_wOF': 'ApplyCalibration_wOF@Energy.fValue', 'Energy_wOF_WoH': 'ApplyCalibration_wOF_WoH@Energy.fValue', 'EventNumber': 'DAQ@Header.fEventNumber', 'Floor': 'RunDataLoader@ThermalDetector.fTdFloor.fValue', 'FullWindowBaseline': 'BaselineModule_FullWindow@BaselineData.fBaseline', 'FullWindowBaselineFlatRMS': 'BaselineModule_FullWindow@BaselineData.fBaselineFlatRMS', 'FullWindowBaselineRMS': 'BaselineModule_FullWindow@BaselineData.fBaselineRMS', 'FullWindowBaselineSlope': 'BaselineModule_FullWindow@BaselineData.fBaselineSlope', 'GoodForStandardAnalysis': 'BadForAnalysis_GoodForStandardAnalysis@Passed.fValue', 'GoodForWoHAnalysis': 'BadForAnalysis_GoodForWoHAnalysis@Passed.fValue', 'IsBolometer': 'RunDataLoader@ChannelRunData.fIsBolometer', 'IsNoise': 'DAQ@PulseInfo.fMasterSample.GetIsNoise()', 'IsPulser': 'DAQ@PulseInfo.fMasterSample.GetIsPulser()', 'IsReversed': 'DAQ@PulseInfo.fMasterSample.GetIsReversed()', 'IsSaturatedHigh': 'PulseBasicParameters@Parameters.fIsSaturatedHigh', 'IsSaturatedLow': 'PulseBasicParameters@Parameters.fIsSaturatedLow', 'IsSide': 'DAQ@PulseInfo.fMasterSample.GetIsSide()', 'IsSignal': 'DAQ@PulseInfo.fMasterSample.GetIsSignal()', 'IsStab': 'FindMultipleTrendsByBruteForce@Selected.fValue', 'IsThermometer': 'RunDataLoader@ChannelRunData.fIsThermometer', 'IsVeto': 'DAQ@PulseInfo.fMasterSample.GetIsVeto()', 'MaxBaseline': 'PulseBasicParameters@MaxBaseline.fValue', 'MaxBaselineInWindow': 'PulseBasicParameters@MaxBaselineInWindow.fValue', 'MaxMinInWindow': 'PulseBasicParameters@MaxMinInWindow.fValue', 'MaxPosition': 'PulseBasicParameters@Parameters.fMaxPosition', 'Mother': 'FilterInInterval@Passed.fValue', 'Multiplicity_Alpha': 'AlphaDelayedCoincidence@CoincidenceData.fMultiplicity', 'Multiplicity_OFTime': 'Coincidence_OFTime@CoincidenceData.fMultiplicity', 'Multiplicity_OFTime_Sync_10ms': 'Coincidence_OFTime_Sync_10ms@CoincidenceData.fMultiplicity', 'Multiplicity_OFTime_Sync_10ms_150keV': 'Coincidence_OFTime_Sync_10ms_150keV@CoincidenceData.fMultiplicity', 'Multiplicity_OFTime_Sync_20ms': 'Coincidence_OFTime_Sync_20ms@CoincidenceData.fMultiplicity', 'Multiplicity_RawTime': 'Coincidence_RawTime@CoincidenceData.fMultiplicity', 'Multiplicity_RawTimeNoChiCut': 'Coincidence_RawTimeNoChiCut@CoincidenceData.fMultiplicity', 'Multiplicity_RawTime_NoChi_50perc': 'Coincidence_RawTime_NoChi_50perc@CoincidenceData.fMultiplicity', 'Multiplicity_RawTime_newCoinc_50perc': 'Coincidence_RawTime_newCoinc_50perc@CoincidenceData.fMultiplicity', 'Multiplicity_Side': 'SideCoincidence@CoincidenceData.fMultiplicity', 'Multiplicity_Sync': 'Coincidence_Sync@CoincidenceData.fMultiplicity', 'Multiplicity_SyncPSA': 'Coincidence_SyncPSA@CoincidenceData.fMultiplicity', 'NormBaselineSlope': 'ApplyShapeNormalization@NormBaselineSlope.fValue', 'NormDecayTime': 'ApplyShapeNormalization@NormDecayTime.fValue', 'NormDelay': 'ApplyShapeNormalization@NormDelay.fValue', 'NormRiseTime': 'ApplyShapeNormalization@NormRiseTime.fValue', 'NormTVL': 'ApplyShapeNormalization@NormTVL.fValue', 'NormTVR': 'ApplyShapeNormalization@NormTVR.fValue', 'NsTime': 'DAQ@Header.fTime.fFromStartRunNs', 'NumberOfPulses': 'BCountPulses@CountPulsesData.fNumberOfPulses', 'OF_Amplitude': 'FilteredPulseAmplitude_OF@Amplitude.fValue', 'OF_DecayTime': 'FilteredPulseAmplitude_OF@OFData.fDecayTime', 'OF_Delay': 'FilteredPulseAmplitude_OF@OFData.fDelay', 'OF_FDAmplitude': 'FilteredPulseAmplitude_OF@OFData.fFDAmplitude', 'OF_RiseTime': 'FilteredPulseAmplitude_OF@OFData.fRiseTime', 'OF_SecondAmplitude': 'FilteredPulseAmplitude_OF@OFData.fSecondAmplitude', 'OF_SecondDelay': 'FilteredPulseAmplitude_OF@OFData.fSecondDelay', 'OF_TVL': 'FilteredPulseAmplitude_OF@OFData.fTVL', 'OF_TVR': 'FilteredPulseAmplitude_OF@OFData.fTVR', 'OT_Amplitude': 'OTAnalysis@Amplitude.fValue', 'OT_ChiSquare': 'OTAnalysis@FitChiSquare.fValue', 'OT_Time': 'OTAnalysis@FitTime.fValue', 'OrderInMultiple_Alpha': 'AlphaDelayedCoincidence@CoincidenceData.fOrderInMultiple', 'OrderInMultiple_OFTime': 'Coincidence_OFTime@CoincidenceData.fOrderInMultiple', 'OrderInMultiple_OFTime_Sync_10ms': 'Coincidence_OFTime_Sync_10ms@CoincidenceData.fOrderInMultiple', 'OrderInMultiple_OFTime_Sync_10ms_150keV': 'Coincidence_OFTime_Sync_10ms_150keV@CoincidenceData.fOrderInMultiple', 'OrderInMultiple_OFTime_Sync_20ms': 'Coincidence_OFTime_Sync_20ms@CoincidenceData.fOrderInMultiple', 'OrderInMultiple_RawTime': 'Coincidence_RawTime@CoincidenceData.fOrderInMultiple', 'OrderInMultiple_Side': 'SideCoincidence@CoincidenceData.fOrderInMultiple', 'OrderInMultiple_Sync': 'Coincidence_Sync@CoincidenceData.fOrderInMultiple', 'OrderInMultiple_SyncPSA': 'Coincidence_SyncPSA@CoincidenceData.fOrderInMultiple', 'PSAMDistance': 'MahalanobisDistance_PSA@Distance.fValue', 'PSAMDistance_5Component': 'MahalanobisDistance_PSA_5Component@Distance.fValue', 'Position': 'RunDataLoader@ThermalDetector.fTdPos.fValue', 'Position_X': 'RunDataLoader@ThermalDetector.fTdX.fValue', 'Position_Y': 'RunDataLoader@ThermalDetector.fTdY.fValue', 'Position_Z': 'RunDataLoader@ThermalDetector.fTdZ.fValue', 'Q0NDBDAggressiveEnergy': 'Q0SelectEnergy_Q0NDBDAggressive@Energy.fValue', 'Q0NDBDAggressiveVariable': 'Q0SelectEnergy_Q0NDBDAggressive@SelectedEnergyBranch.fValue', 'Q0NDBDModConservativeEnergy': 'Q0SelectEnergy_Q0NDBDModConservative@Energy.fValue', 'Q0NDBDModConservativeVariable': 'Q0SelectEnergy_Q0NDBDModConservative@SelectedEnergyBranch.fValue', 'Q0NDBDOfficialEnergy': 'Q0SelectEnergy_Q0NDBD@Energy.fValue', 'Q0NDBDOfficialVariable': 'Q0SelectEnergy_Q0NDBD@SelectedEnergyBranch.fValue', 'QNDBDOfficialEnergy': 'EnergySelector_QNDBD@Energy.fValue', 'QNDBDOfficialEnergyVariable': 'EnergySelector_QNDBD@SelectedEnergyBranch.fValue', 'RejectBadIntervals': 'RejectBadIntervals@Passed.fValue', 'RejectBadIntervals_AntiCoincidence': 'RejectBadIntervals_AntiCoincidence@Passed.fValue', 'RejectBadIntervals_Final': 'RejectBadIntervals_WithFirstIteration@Passed.fValue', 'RiseTime': 'PulseBasicParameters@Parameters.fRiseTime', 'Run': 'DAQ@Header.fRun', 'SamplingFrequency': 'RunDataLoader@ChannelRunData.fSamplingFrequency', 'SingleTrigger': 'SampleInfoFilter@Passed.fValue', 'StabAmplitude': 'CorrectAmplitudes@Amplitude.fValue', 'StartRunUnixTime': 'DAQ@Header.fTime.fStartRunUnix', 'StartSourceRunUnixTime': 'SourceRunTime@StartSourceRunUnix.fStartRunUnix', 'StartSourceRunUnixTime_newCoinc_50perc': 'SourceRunTime_newCoinc_50perc@StartSourceRunUnix.fStartRunUnix', 'ThermistorRanking': 'ThermistorRanking@Rank.fValue', 'Time': 'DAQ@Header.fTime.fFromStartRunNs/1e09', 'TimeSinceEvent_DifferentChannel': 'CoincidenceTiming@Timing.fTimeSinceEvent_DifferentChannel', 'TimeSinceEvent_SameChannel': 'CoincidenceTiming@Timing.fTimeSinceEvent_SameChannel', 'TimeSinceHeaterEvent_DifferentChannel': 'CoincidenceTiming_Heater@Timing.fTimeSinceEvent_DifferentChannel', 'TimeSinceHeaterEvent_SameChannel': 'CoincidenceTiming_Heater@Timing.fTimeSinceEvent_SameChannel', 'TimeSinceSignalEvent_DifferentChannel': 'CoincidenceTiming_Signal@Timing.fTimeSinceEvent_DifferentChannel', 'TimeSinceSignalEvent_SameChannel': 'CoincidenceTiming_Signal@Timing.fTimeSinceEvent_SameChannel', 'TimeUntilEvent_DifferentChannel': 'CoincidenceTiming@Timing.fTimeUntilEvent_DifferentChannel', 'TimeUntilEvent_SameChannel': 'CoincidenceTiming@Timing.fTimeUntilEvent_SameChannel', 'TimeUntilHeaterEvent_DifferentChannel': 'CoincidenceTiming_Heater@Timing.fTimeUntilEvent_DifferentChannel', 'TimeUntilHeaterEvent_SameChannel': 'CoincidenceTiming_Heater@Timing.fTimeUntilEvent_SameChannel', 'TimeUntilSignalEvent_DifferentChannel': 'CoincidenceTiming_Signal@Timing.fTimeUntilEvent_DifferentChannel', 'TimeUntilSignalEvent_SameChannel': 'CoincidenceTiming_Signal@Timing.fTimeUntilEvent_SameChannel', 'TotalEnergy_Alpha': 'AlphaDelayedCoincidence@TotalEnergy.fValue', 'TotalEnergy_OFTime': 'Coincidence_OFTime@TotalEnergy.fValue', 'TotalEnergy_OFTime_Sync_10ms': 'Coincidence_OFTime_Sync_10ms@TotalEnergy.fValue', 'TotalEnergy_OFTime_Sync_10ms_150keV': 'Coincidence_OFTime_Sync_10ms_150keV@TotalEnergy.fValue', 'TotalEnergy_OFTime_Sync_20ms': 'Coincidence_OFTime_Sync_20ms@TotalEnergy.fValue', 'TotalEnergy_RawTime': 'Coincidence_RawTime@TotalEnergy.fValue', 'TotalEnergy_Side': 'SideCoincidence@TotalEnergy.fValue', 'TotalEnergy_Sync': 'Coincidence_Sync@TotalEnergy.fValue', 'TotalEnergy_SyncPSA': 'Coincidence_SyncPSA@TotalEnergy.fValue', 'Tower': 'RunDataLoader@ThermalDetector.fTdTower.fValue'}, legacy=False, verbose=False)[source]¶
Function for reading a tuple for a diana root file.
- Parameters:
variable (string with the variable to read) --
datafile (Either QChain instance of the file/files to read) --
cuts (String containing the cuts to select the wanted variables) --
dtypes (array-like of types used to convert the read values (the variables are read as floats by default and then are converted from the first to the last type indicated)) --
dict_alias (dictionary of the aliases (keys = aliases, values = variable path)) --
legacy (boolean indicating if one must use old_read_var function) --
- Return type:
array with the requested variable, or None if variable not found or cuts not passed
- pydiana.tools.pydianaIO.read_vars(variables, datafile, cuts='', dict_alias={'ADC2mV': 'RunDataLoader@ChannelRunData.fADC2mV', 'Baseline': 'BaselineModule@BaselineData.fBaseline', 'BaselineFlatRMS': 'BaselineModule@BaselineData.fBaselineFlatRMS', 'BaselineRMS': 'BaselineModule@BaselineData.fBaselineRMS', 'BaselineSlope': 'BaselineModule@BaselineData.fBaselineSlope', 'BiOT_Fast': 'COFBiComponent@AmplitudeFast.fValue', 'BiOT_Slow': 'COFBiComponent@AmplitudeSlow.fValue', 'Channel': 'DAQ@PulseInfo.fChannelId', 'ClockNumber': 'RunDataLoader@ThermalDetector.fTdClock.fValue', 'CoincidenceData_Alpha': 'AlphaDelayedCoincidence@CoincidenceData.', 'CoincidenceData_OFTime': 'Coincidence_OFTime@CoincidenceData.', 'CoincidenceData_RawTime': 'Coincidence_RawTime@CoincidenceData.', 'CoincidenceData_Side': 'SideCoincidence@CoincidenceData.', 'CoincidenceData_Sync': 'Coincidence_Sync@CoincidenceData.', 'CoincidenceData_SyncPSA': 'Coincidence_SyncPSA@CoincidenceData.', 'CryptedEnergy': 'EnergyBlinding@CryptedEnergy.', 'Daughter': 'FilterResult@Passed.fValue', 'DecayTime': 'PulseBasicParameters@Parameters.fDecayTime', 'Energy': 'ApplyCalibration@Energy.fValue', 'EnergyDecorrOF': 'ApplyCalibration_DecorrOF@Energy.fValue', 'EnergyDecorrOFWoH': 'ApplyCalibration_DecorrOF_WoH@Energy.fValue', 'EnergyNewOF': 'ApplyCalibration_NewOF@Energy.fValue', 'EnergyNewOFWoH': 'ApplyCalibration_NewOF_WoH@Energy.fValue', 'EnergyUncertainty': 'ApplyCalibration@EnergyUncertainty.fValue', 'EnergyUncertaintyDecorrOF': 'ApplyCalibration_DecorrOF@EnergyUncertainty.fValue', 'EnergyUncertaintyDecorrOFWoH': 'ApplyCalibration_DecorrOF_WoH@Uncertainty.fValue', 'EnergyUncertaintyNewOF': 'ApplyCalibration_NewOF@EnergyUncertainty.fValue', 'EnergyUncertaintyNewOFWoH': 'ApplyCalibration_NewOF_WoH@EnergyUncertainty.fValue', 'EnergyUncertaintyWoH': 'ApplyCalibration_WoH@EnergyUncertainty.fValue', 'EnergyUncertainty_OF': 'ApplyCalibration_OF@EnergyUncertainty.fValue', 'EnergyUncertainty_OF_WoH': 'ApplyCalibration_OF_WoH@EnergyUncertainty.fValue', 'EnergyUncertainty_wOF': 'ApplyCalibration_wOF@EnergyUncertainty.fValue', 'EnergyUncertainty_wOF_WoH': 'ApplyCalibration_wOF_WoH@EnergyUncertainty.fValue', 'EnergyWoH': 'ApplyCalibration_WoH@Energy.fValue', 'Energy_OF': 'ApplyCalibration_OF@Energy.fValue', 'Energy_OF_WoH': 'ApplyCalibration_OF_WoH@Energy.fValue', 'Energy_wOF': 'ApplyCalibration_wOF@Energy.fValue', 'Energy_wOF_WoH': 'ApplyCalibration_wOF_WoH@Energy.fValue', 'EventNumber': 'DAQ@Header.fEventNumber', 'Floor': 'RunDataLoader@ThermalDetector.fTdFloor.fValue', 'FullWindowBaseline': 'BaselineModule_FullWindow@BaselineData.fBaseline', 'FullWindowBaselineFlatRMS': 'BaselineModule_FullWindow@BaselineData.fBaselineFlatRMS', 'FullWindowBaselineRMS': 'BaselineModule_FullWindow@BaselineData.fBaselineRMS', 'FullWindowBaselineSlope': 'BaselineModule_FullWindow@BaselineData.fBaselineSlope', 'GoodForStandardAnalysis': 'BadForAnalysis_GoodForStandardAnalysis@Passed.fValue', 'GoodForWoHAnalysis': 'BadForAnalysis_GoodForWoHAnalysis@Passed.fValue', 'IsBolometer': 'RunDataLoader@ChannelRunData.fIsBolometer', 'IsNoise': 'DAQ@PulseInfo.fMasterSample.GetIsNoise()', 'IsPulser': 'DAQ@PulseInfo.fMasterSample.GetIsPulser()', 'IsReversed': 'DAQ@PulseInfo.fMasterSample.GetIsReversed()', 'IsSaturatedHigh': 'PulseBasicParameters@Parameters.fIsSaturatedHigh', 'IsSaturatedLow': 'PulseBasicParameters@Parameters.fIsSaturatedLow', 'IsSide': 'DAQ@PulseInfo.fMasterSample.GetIsSide()', 'IsSignal': 'DAQ@PulseInfo.fMasterSample.GetIsSignal()', 'IsStab': 'FindMultipleTrendsByBruteForce@Selected.fValue', 'IsThermometer': 'RunDataLoader@ChannelRunData.fIsThermometer', 'IsVeto': 'DAQ@PulseInfo.fMasterSample.GetIsVeto()', 'MaxBaseline': 'PulseBasicParameters@MaxBaseline.fValue', 'MaxBaselineInWindow': 'PulseBasicParameters@MaxBaselineInWindow.fValue', 'MaxMinInWindow': 'PulseBasicParameters@MaxMinInWindow.fValue', 'MaxPosition': 'PulseBasicParameters@Parameters.fMaxPosition', 'Mother': 'FilterInInterval@Passed.fValue', 'Multiplicity_Alpha': 'AlphaDelayedCoincidence@CoincidenceData.fMultiplicity', 'Multiplicity_OFTime': 'Coincidence_OFTime@CoincidenceData.fMultiplicity', 'Multiplicity_OFTime_Sync_10ms': 'Coincidence_OFTime_Sync_10ms@CoincidenceData.fMultiplicity', 'Multiplicity_OFTime_Sync_10ms_150keV': 'Coincidence_OFTime_Sync_10ms_150keV@CoincidenceData.fMultiplicity', 'Multiplicity_OFTime_Sync_20ms': 'Coincidence_OFTime_Sync_20ms@CoincidenceData.fMultiplicity', 'Multiplicity_RawTime': 'Coincidence_RawTime@CoincidenceData.fMultiplicity', 'Multiplicity_RawTimeNoChiCut': 'Coincidence_RawTimeNoChiCut@CoincidenceData.fMultiplicity', 'Multiplicity_RawTime_NoChi_50perc': 'Coincidence_RawTime_NoChi_50perc@CoincidenceData.fMultiplicity', 'Multiplicity_RawTime_newCoinc_50perc': 'Coincidence_RawTime_newCoinc_50perc@CoincidenceData.fMultiplicity', 'Multiplicity_Side': 'SideCoincidence@CoincidenceData.fMultiplicity', 'Multiplicity_Sync': 'Coincidence_Sync@CoincidenceData.fMultiplicity', 'Multiplicity_SyncPSA': 'Coincidence_SyncPSA@CoincidenceData.fMultiplicity', 'NormBaselineSlope': 'ApplyShapeNormalization@NormBaselineSlope.fValue', 'NormDecayTime': 'ApplyShapeNormalization@NormDecayTime.fValue', 'NormDelay': 'ApplyShapeNormalization@NormDelay.fValue', 'NormRiseTime': 'ApplyShapeNormalization@NormRiseTime.fValue', 'NormTVL': 'ApplyShapeNormalization@NormTVL.fValue', 'NormTVR': 'ApplyShapeNormalization@NormTVR.fValue', 'NsTime': 'DAQ@Header.fTime.fFromStartRunNs', 'NumberOfPulses': 'BCountPulses@CountPulsesData.fNumberOfPulses', 'OF_Amplitude': 'FilteredPulseAmplitude_OF@Amplitude.fValue', 'OF_DecayTime': 'FilteredPulseAmplitude_OF@OFData.fDecayTime', 'OF_Delay': 'FilteredPulseAmplitude_OF@OFData.fDelay', 'OF_FDAmplitude': 'FilteredPulseAmplitude_OF@OFData.fFDAmplitude', 'OF_RiseTime': 'FilteredPulseAmplitude_OF@OFData.fRiseTime', 'OF_SecondAmplitude': 'FilteredPulseAmplitude_OF@OFData.fSecondAmplitude', 'OF_SecondDelay': 'FilteredPulseAmplitude_OF@OFData.fSecondDelay', 'OF_TVL': 'FilteredPulseAmplitude_OF@OFData.fTVL', 'OF_TVR': 'FilteredPulseAmplitude_OF@OFData.fTVR', 'OT_Amplitude': 'OTAnalysis@Amplitude.fValue', 'OT_ChiSquare': 'OTAnalysis@FitChiSquare.fValue', 'OT_Time': 'OTAnalysis@FitTime.fValue', 'OrderInMultiple_Alpha': 'AlphaDelayedCoincidence@CoincidenceData.fOrderInMultiple', 'OrderInMultiple_OFTime': 'Coincidence_OFTime@CoincidenceData.fOrderInMultiple', 'OrderInMultiple_OFTime_Sync_10ms': 'Coincidence_OFTime_Sync_10ms@CoincidenceData.fOrderInMultiple', 'OrderInMultiple_OFTime_Sync_10ms_150keV': 'Coincidence_OFTime_Sync_10ms_150keV@CoincidenceData.fOrderInMultiple', 'OrderInMultiple_OFTime_Sync_20ms': 'Coincidence_OFTime_Sync_20ms@CoincidenceData.fOrderInMultiple', 'OrderInMultiple_RawTime': 'Coincidence_RawTime@CoincidenceData.fOrderInMultiple', 'OrderInMultiple_Side': 'SideCoincidence@CoincidenceData.fOrderInMultiple', 'OrderInMultiple_Sync': 'Coincidence_Sync@CoincidenceData.fOrderInMultiple', 'OrderInMultiple_SyncPSA': 'Coincidence_SyncPSA@CoincidenceData.fOrderInMultiple', 'PSAMDistance': 'MahalanobisDistance_PSA@Distance.fValue', 'PSAMDistance_5Component': 'MahalanobisDistance_PSA_5Component@Distance.fValue', 'Position': 'RunDataLoader@ThermalDetector.fTdPos.fValue', 'Position_X': 'RunDataLoader@ThermalDetector.fTdX.fValue', 'Position_Y': 'RunDataLoader@ThermalDetector.fTdY.fValue', 'Position_Z': 'RunDataLoader@ThermalDetector.fTdZ.fValue', 'Q0NDBDAggressiveEnergy': 'Q0SelectEnergy_Q0NDBDAggressive@Energy.fValue', 'Q0NDBDAggressiveVariable': 'Q0SelectEnergy_Q0NDBDAggressive@SelectedEnergyBranch.fValue', 'Q0NDBDModConservativeEnergy': 'Q0SelectEnergy_Q0NDBDModConservative@Energy.fValue', 'Q0NDBDModConservativeVariable': 'Q0SelectEnergy_Q0NDBDModConservative@SelectedEnergyBranch.fValue', 'Q0NDBDOfficialEnergy': 'Q0SelectEnergy_Q0NDBD@Energy.fValue', 'Q0NDBDOfficialVariable': 'Q0SelectEnergy_Q0NDBD@SelectedEnergyBranch.fValue', 'QNDBDOfficialEnergy': 'EnergySelector_QNDBD@Energy.fValue', 'QNDBDOfficialEnergyVariable': 'EnergySelector_QNDBD@SelectedEnergyBranch.fValue', 'RejectBadIntervals': 'RejectBadIntervals@Passed.fValue', 'RejectBadIntervals_AntiCoincidence': 'RejectBadIntervals_AntiCoincidence@Passed.fValue', 'RejectBadIntervals_Final': 'RejectBadIntervals_WithFirstIteration@Passed.fValue', 'RiseTime': 'PulseBasicParameters@Parameters.fRiseTime', 'Run': 'DAQ@Header.fRun', 'SamplingFrequency': 'RunDataLoader@ChannelRunData.fSamplingFrequency', 'SingleTrigger': 'SampleInfoFilter@Passed.fValue', 'StabAmplitude': 'CorrectAmplitudes@Amplitude.fValue', 'StartRunUnixTime': 'DAQ@Header.fTime.fStartRunUnix', 'StartSourceRunUnixTime': 'SourceRunTime@StartSourceRunUnix.fStartRunUnix', 'StartSourceRunUnixTime_newCoinc_50perc': 'SourceRunTime_newCoinc_50perc@StartSourceRunUnix.fStartRunUnix', 'ThermistorRanking': 'ThermistorRanking@Rank.fValue', 'Time': 'DAQ@Header.fTime.fFromStartRunNs/1e09', 'TimeSinceEvent_DifferentChannel': 'CoincidenceTiming@Timing.fTimeSinceEvent_DifferentChannel', 'TimeSinceEvent_SameChannel': 'CoincidenceTiming@Timing.fTimeSinceEvent_SameChannel', 'TimeSinceHeaterEvent_DifferentChannel': 'CoincidenceTiming_Heater@Timing.fTimeSinceEvent_DifferentChannel', 'TimeSinceHeaterEvent_SameChannel': 'CoincidenceTiming_Heater@Timing.fTimeSinceEvent_SameChannel', 'TimeSinceSignalEvent_DifferentChannel': 'CoincidenceTiming_Signal@Timing.fTimeSinceEvent_DifferentChannel', 'TimeSinceSignalEvent_SameChannel': 'CoincidenceTiming_Signal@Timing.fTimeSinceEvent_SameChannel', 'TimeUntilEvent_DifferentChannel': 'CoincidenceTiming@Timing.fTimeUntilEvent_DifferentChannel', 'TimeUntilEvent_SameChannel': 'CoincidenceTiming@Timing.fTimeUntilEvent_SameChannel', 'TimeUntilHeaterEvent_DifferentChannel': 'CoincidenceTiming_Heater@Timing.fTimeUntilEvent_DifferentChannel', 'TimeUntilHeaterEvent_SameChannel': 'CoincidenceTiming_Heater@Timing.fTimeUntilEvent_SameChannel', 'TimeUntilSignalEvent_DifferentChannel': 'CoincidenceTiming_Signal@Timing.fTimeUntilEvent_DifferentChannel', 'TimeUntilSignalEvent_SameChannel': 'CoincidenceTiming_Signal@Timing.fTimeUntilEvent_SameChannel', 'TotalEnergy_Alpha': 'AlphaDelayedCoincidence@TotalEnergy.fValue', 'TotalEnergy_OFTime': 'Coincidence_OFTime@TotalEnergy.fValue', 'TotalEnergy_OFTime_Sync_10ms': 'Coincidence_OFTime_Sync_10ms@TotalEnergy.fValue', 'TotalEnergy_OFTime_Sync_10ms_150keV': 'Coincidence_OFTime_Sync_10ms_150keV@TotalEnergy.fValue', 'TotalEnergy_OFTime_Sync_20ms': 'Coincidence_OFTime_Sync_20ms@TotalEnergy.fValue', 'TotalEnergy_RawTime': 'Coincidence_RawTime@TotalEnergy.fValue', 'TotalEnergy_Side': 'SideCoincidence@TotalEnergy.fValue', 'TotalEnergy_Sync': 'Coincidence_Sync@TotalEnergy.fValue', 'TotalEnergy_SyncPSA': 'Coincidence_SyncPSA@TotalEnergy.fValue', 'Tower': 'RunDataLoader@ThermalDetector.fTdTower.fValue'}, legacy=False, verbose=True, useTQDM=False)[source]¶
Function for reading a tuple for a diana root file.
- Parameters:
variables (array-like of strings containing the name of the variables to fetch. If dictionary, the values must be the names of the variables to search and the keys the name to be shown in the resulting dataframe) --
datafile (Either QChain instance of the file/files to read) --
cuts (String containing the cuts to select the wanted variables) --
dict_alias (dictionary of the aliases (keys = aliases, values = variable path)) --
legacy (boolean indicating if one must use old_read_var function) --
- Return type:
Pandas dataframe with all the requested variables, or None if no events pass the cuts.
- pydiana.tools.pydianaIO.var_autocomplete(variable, dict_content, dict_alias={'ADC2mV': 'RunDataLoader@ChannelRunData.fADC2mV', 'Baseline': 'BaselineModule@BaselineData.fBaseline', 'BaselineFlatRMS': 'BaselineModule@BaselineData.fBaselineFlatRMS', 'BaselineRMS': 'BaselineModule@BaselineData.fBaselineRMS', 'BaselineSlope': 'BaselineModule@BaselineData.fBaselineSlope', 'BiOT_Fast': 'COFBiComponent@AmplitudeFast.fValue', 'BiOT_Slow': 'COFBiComponent@AmplitudeSlow.fValue', 'Channel': 'DAQ@PulseInfo.fChannelId', 'ClockNumber': 'RunDataLoader@ThermalDetector.fTdClock.fValue', 'CoincidenceData_Alpha': 'AlphaDelayedCoincidence@CoincidenceData.', 'CoincidenceData_OFTime': 'Coincidence_OFTime@CoincidenceData.', 'CoincidenceData_RawTime': 'Coincidence_RawTime@CoincidenceData.', 'CoincidenceData_Side': 'SideCoincidence@CoincidenceData.', 'CoincidenceData_Sync': 'Coincidence_Sync@CoincidenceData.', 'CoincidenceData_SyncPSA': 'Coincidence_SyncPSA@CoincidenceData.', 'CryptedEnergy': 'EnergyBlinding@CryptedEnergy.', 'Daughter': 'FilterResult@Passed.fValue', 'DecayTime': 'PulseBasicParameters@Parameters.fDecayTime', 'Energy': 'ApplyCalibration@Energy.fValue', 'EnergyDecorrOF': 'ApplyCalibration_DecorrOF@Energy.fValue', 'EnergyDecorrOFWoH': 'ApplyCalibration_DecorrOF_WoH@Energy.fValue', 'EnergyNewOF': 'ApplyCalibration_NewOF@Energy.fValue', 'EnergyNewOFWoH': 'ApplyCalibration_NewOF_WoH@Energy.fValue', 'EnergyUncertainty': 'ApplyCalibration@EnergyUncertainty.fValue', 'EnergyUncertaintyDecorrOF': 'ApplyCalibration_DecorrOF@EnergyUncertainty.fValue', 'EnergyUncertaintyDecorrOFWoH': 'ApplyCalibration_DecorrOF_WoH@Uncertainty.fValue', 'EnergyUncertaintyNewOF': 'ApplyCalibration_NewOF@EnergyUncertainty.fValue', 'EnergyUncertaintyNewOFWoH': 'ApplyCalibration_NewOF_WoH@EnergyUncertainty.fValue', 'EnergyUncertaintyWoH': 'ApplyCalibration_WoH@EnergyUncertainty.fValue', 'EnergyUncertainty_OF': 'ApplyCalibration_OF@EnergyUncertainty.fValue', 'EnergyUncertainty_OF_WoH': 'ApplyCalibration_OF_WoH@EnergyUncertainty.fValue', 'EnergyUncertainty_wOF': 'ApplyCalibration_wOF@EnergyUncertainty.fValue', 'EnergyUncertainty_wOF_WoH': 'ApplyCalibration_wOF_WoH@EnergyUncertainty.fValue', 'EnergyWoH': 'ApplyCalibration_WoH@Energy.fValue', 'Energy_OF': 'ApplyCalibration_OF@Energy.fValue', 'Energy_OF_WoH': 'ApplyCalibration_OF_WoH@Energy.fValue', 'Energy_wOF': 'ApplyCalibration_wOF@Energy.fValue', 'Energy_wOF_WoH': 'ApplyCalibration_wOF_WoH@Energy.fValue', 'EventNumber': 'DAQ@Header.fEventNumber', 'Floor': 'RunDataLoader@ThermalDetector.fTdFloor.fValue', 'FullWindowBaseline': 'BaselineModule_FullWindow@BaselineData.fBaseline', 'FullWindowBaselineFlatRMS': 'BaselineModule_FullWindow@BaselineData.fBaselineFlatRMS', 'FullWindowBaselineRMS': 'BaselineModule_FullWindow@BaselineData.fBaselineRMS', 'FullWindowBaselineSlope': 'BaselineModule_FullWindow@BaselineData.fBaselineSlope', 'GoodForStandardAnalysis': 'BadForAnalysis_GoodForStandardAnalysis@Passed.fValue', 'GoodForWoHAnalysis': 'BadForAnalysis_GoodForWoHAnalysis@Passed.fValue', 'IsBolometer': 'RunDataLoader@ChannelRunData.fIsBolometer', 'IsNoise': 'DAQ@PulseInfo.fMasterSample.GetIsNoise()', 'IsPulser': 'DAQ@PulseInfo.fMasterSample.GetIsPulser()', 'IsReversed': 'DAQ@PulseInfo.fMasterSample.GetIsReversed()', 'IsSaturatedHigh': 'PulseBasicParameters@Parameters.fIsSaturatedHigh', 'IsSaturatedLow': 'PulseBasicParameters@Parameters.fIsSaturatedLow', 'IsSide': 'DAQ@PulseInfo.fMasterSample.GetIsSide()', 'IsSignal': 'DAQ@PulseInfo.fMasterSample.GetIsSignal()', 'IsStab': 'FindMultipleTrendsByBruteForce@Selected.fValue', 'IsThermometer': 'RunDataLoader@ChannelRunData.fIsThermometer', 'IsVeto': 'DAQ@PulseInfo.fMasterSample.GetIsVeto()', 'MaxBaseline': 'PulseBasicParameters@MaxBaseline.fValue', 'MaxBaselineInWindow': 'PulseBasicParameters@MaxBaselineInWindow.fValue', 'MaxMinInWindow': 'PulseBasicParameters@MaxMinInWindow.fValue', 'MaxPosition': 'PulseBasicParameters@Parameters.fMaxPosition', 'Mother': 'FilterInInterval@Passed.fValue', 'Multiplicity_Alpha': 'AlphaDelayedCoincidence@CoincidenceData.fMultiplicity', 'Multiplicity_OFTime': 'Coincidence_OFTime@CoincidenceData.fMultiplicity', 'Multiplicity_OFTime_Sync_10ms': 'Coincidence_OFTime_Sync_10ms@CoincidenceData.fMultiplicity', 'Multiplicity_OFTime_Sync_10ms_150keV': 'Coincidence_OFTime_Sync_10ms_150keV@CoincidenceData.fMultiplicity', 'Multiplicity_OFTime_Sync_20ms': 'Coincidence_OFTime_Sync_20ms@CoincidenceData.fMultiplicity', 'Multiplicity_RawTime': 'Coincidence_RawTime@CoincidenceData.fMultiplicity', 'Multiplicity_RawTimeNoChiCut': 'Coincidence_RawTimeNoChiCut@CoincidenceData.fMultiplicity', 'Multiplicity_RawTime_NoChi_50perc': 'Coincidence_RawTime_NoChi_50perc@CoincidenceData.fMultiplicity', 'Multiplicity_RawTime_newCoinc_50perc': 'Coincidence_RawTime_newCoinc_50perc@CoincidenceData.fMultiplicity', 'Multiplicity_Side': 'SideCoincidence@CoincidenceData.fMultiplicity', 'Multiplicity_Sync': 'Coincidence_Sync@CoincidenceData.fMultiplicity', 'Multiplicity_SyncPSA': 'Coincidence_SyncPSA@CoincidenceData.fMultiplicity', 'NormBaselineSlope': 'ApplyShapeNormalization@NormBaselineSlope.fValue', 'NormDecayTime': 'ApplyShapeNormalization@NormDecayTime.fValue', 'NormDelay': 'ApplyShapeNormalization@NormDelay.fValue', 'NormRiseTime': 'ApplyShapeNormalization@NormRiseTime.fValue', 'NormTVL': 'ApplyShapeNormalization@NormTVL.fValue', 'NormTVR': 'ApplyShapeNormalization@NormTVR.fValue', 'NsTime': 'DAQ@Header.fTime.fFromStartRunNs', 'NumberOfPulses': 'BCountPulses@CountPulsesData.fNumberOfPulses', 'OF_Amplitude': 'FilteredPulseAmplitude_OF@Amplitude.fValue', 'OF_DecayTime': 'FilteredPulseAmplitude_OF@OFData.fDecayTime', 'OF_Delay': 'FilteredPulseAmplitude_OF@OFData.fDelay', 'OF_FDAmplitude': 'FilteredPulseAmplitude_OF@OFData.fFDAmplitude', 'OF_RiseTime': 'FilteredPulseAmplitude_OF@OFData.fRiseTime', 'OF_SecondAmplitude': 'FilteredPulseAmplitude_OF@OFData.fSecondAmplitude', 'OF_SecondDelay': 'FilteredPulseAmplitude_OF@OFData.fSecondDelay', 'OF_TVL': 'FilteredPulseAmplitude_OF@OFData.fTVL', 'OF_TVR': 'FilteredPulseAmplitude_OF@OFData.fTVR', 'OT_Amplitude': 'OTAnalysis@Amplitude.fValue', 'OT_ChiSquare': 'OTAnalysis@FitChiSquare.fValue', 'OT_Time': 'OTAnalysis@FitTime.fValue', 'OrderInMultiple_Alpha': 'AlphaDelayedCoincidence@CoincidenceData.fOrderInMultiple', 'OrderInMultiple_OFTime': 'Coincidence_OFTime@CoincidenceData.fOrderInMultiple', 'OrderInMultiple_OFTime_Sync_10ms': 'Coincidence_OFTime_Sync_10ms@CoincidenceData.fOrderInMultiple', 'OrderInMultiple_OFTime_Sync_10ms_150keV': 'Coincidence_OFTime_Sync_10ms_150keV@CoincidenceData.fOrderInMultiple', 'OrderInMultiple_OFTime_Sync_20ms': 'Coincidence_OFTime_Sync_20ms@CoincidenceData.fOrderInMultiple', 'OrderInMultiple_RawTime': 'Coincidence_RawTime@CoincidenceData.fOrderInMultiple', 'OrderInMultiple_Side': 'SideCoincidence@CoincidenceData.fOrderInMultiple', 'OrderInMultiple_Sync': 'Coincidence_Sync@CoincidenceData.fOrderInMultiple', 'OrderInMultiple_SyncPSA': 'Coincidence_SyncPSA@CoincidenceData.fOrderInMultiple', 'PSAMDistance': 'MahalanobisDistance_PSA@Distance.fValue', 'PSAMDistance_5Component': 'MahalanobisDistance_PSA_5Component@Distance.fValue', 'Position': 'RunDataLoader@ThermalDetector.fTdPos.fValue', 'Position_X': 'RunDataLoader@ThermalDetector.fTdX.fValue', 'Position_Y': 'RunDataLoader@ThermalDetector.fTdY.fValue', 'Position_Z': 'RunDataLoader@ThermalDetector.fTdZ.fValue', 'Q0NDBDAggressiveEnergy': 'Q0SelectEnergy_Q0NDBDAggressive@Energy.fValue', 'Q0NDBDAggressiveVariable': 'Q0SelectEnergy_Q0NDBDAggressive@SelectedEnergyBranch.fValue', 'Q0NDBDModConservativeEnergy': 'Q0SelectEnergy_Q0NDBDModConservative@Energy.fValue', 'Q0NDBDModConservativeVariable': 'Q0SelectEnergy_Q0NDBDModConservative@SelectedEnergyBranch.fValue', 'Q0NDBDOfficialEnergy': 'Q0SelectEnergy_Q0NDBD@Energy.fValue', 'Q0NDBDOfficialVariable': 'Q0SelectEnergy_Q0NDBD@SelectedEnergyBranch.fValue', 'QNDBDOfficialEnergy': 'EnergySelector_QNDBD@Energy.fValue', 'QNDBDOfficialEnergyVariable': 'EnergySelector_QNDBD@SelectedEnergyBranch.fValue', 'RejectBadIntervals': 'RejectBadIntervals@Passed.fValue', 'RejectBadIntervals_AntiCoincidence': 'RejectBadIntervals_AntiCoincidence@Passed.fValue', 'RejectBadIntervals_Final': 'RejectBadIntervals_WithFirstIteration@Passed.fValue', 'RiseTime': 'PulseBasicParameters@Parameters.fRiseTime', 'Run': 'DAQ@Header.fRun', 'SamplingFrequency': 'RunDataLoader@ChannelRunData.fSamplingFrequency', 'SingleTrigger': 'SampleInfoFilter@Passed.fValue', 'StabAmplitude': 'CorrectAmplitudes@Amplitude.fValue', 'StartRunUnixTime': 'DAQ@Header.fTime.fStartRunUnix', 'StartSourceRunUnixTime': 'SourceRunTime@StartSourceRunUnix.fStartRunUnix', 'StartSourceRunUnixTime_newCoinc_50perc': 'SourceRunTime_newCoinc_50perc@StartSourceRunUnix.fStartRunUnix', 'ThermistorRanking': 'ThermistorRanking@Rank.fValue', 'Time': 'DAQ@Header.fTime.fFromStartRunNs/1e09', 'TimeSinceEvent_DifferentChannel': 'CoincidenceTiming@Timing.fTimeSinceEvent_DifferentChannel', 'TimeSinceEvent_SameChannel': 'CoincidenceTiming@Timing.fTimeSinceEvent_SameChannel', 'TimeSinceHeaterEvent_DifferentChannel': 'CoincidenceTiming_Heater@Timing.fTimeSinceEvent_DifferentChannel', 'TimeSinceHeaterEvent_SameChannel': 'CoincidenceTiming_Heater@Timing.fTimeSinceEvent_SameChannel', 'TimeSinceSignalEvent_DifferentChannel': 'CoincidenceTiming_Signal@Timing.fTimeSinceEvent_DifferentChannel', 'TimeSinceSignalEvent_SameChannel': 'CoincidenceTiming_Signal@Timing.fTimeSinceEvent_SameChannel', 'TimeUntilEvent_DifferentChannel': 'CoincidenceTiming@Timing.fTimeUntilEvent_DifferentChannel', 'TimeUntilEvent_SameChannel': 'CoincidenceTiming@Timing.fTimeUntilEvent_SameChannel', 'TimeUntilHeaterEvent_DifferentChannel': 'CoincidenceTiming_Heater@Timing.fTimeUntilEvent_DifferentChannel', 'TimeUntilHeaterEvent_SameChannel': 'CoincidenceTiming_Heater@Timing.fTimeUntilEvent_SameChannel', 'TimeUntilSignalEvent_DifferentChannel': 'CoincidenceTiming_Signal@Timing.fTimeUntilEvent_DifferentChannel', 'TimeUntilSignalEvent_SameChannel': 'CoincidenceTiming_Signal@Timing.fTimeUntilEvent_SameChannel', 'TotalEnergy_Alpha': 'AlphaDelayedCoincidence@TotalEnergy.fValue', 'TotalEnergy_OFTime': 'Coincidence_OFTime@TotalEnergy.fValue', 'TotalEnergy_OFTime_Sync_10ms': 'Coincidence_OFTime_Sync_10ms@TotalEnergy.fValue', 'TotalEnergy_OFTime_Sync_10ms_150keV': 'Coincidence_OFTime_Sync_10ms_150keV@TotalEnergy.fValue', 'TotalEnergy_OFTime_Sync_20ms': 'Coincidence_OFTime_Sync_20ms@TotalEnergy.fValue', 'TotalEnergy_RawTime': 'Coincidence_RawTime@TotalEnergy.fValue', 'TotalEnergy_Side': 'SideCoincidence@TotalEnergy.fValue', 'TotalEnergy_Sync': 'Coincidence_Sync@TotalEnergy.fValue', 'TotalEnergy_SyncPSA': 'Coincidence_SyncPSA@TotalEnergy.fValue', 'Tower': 'RunDataLoader@ThermalDetector.fTdTower.fValue'}, verbose=False)[source]¶
Function for searching the best possible match of inserted variable.
- Parameters:
variable (string with the variable to search) --
datafile (QChain instance of the opened datafile) --
dict_alias (dictionary of the aliases (keys = aliases, values = variable path)) --
- Return type:
String with best possible match of variable