ECL Clustering Modes#
- class K0K0bar[source]#
Bases:
ValidationModeBaseClass- name: str | None = 'K0K0bar'#
- latex_str = '$e^+ e^- \\rightarrow K_S^0 K_L^0 \\gamma$'#
- plotting_strategies = ['multi_comparison_binned']#
- create_basf2_path(**kwargs)[source]#
Create the basf2 path for the validation of this mode. Consult the source for specifics on the validation steering.
- property base_particle_vars#
- property cluster_vars#
- generate_variables_for_list(particle_list: str, names: List[str], add_mc_matching: bool, variables: List[str])[source]#
- property analysis_validation_histograms: List[Histogram]#
The histograms defined for this mode are listed below.:
ClusterPhi_K0L
Label: \(\phi_{\mathrm{reco}}^{K_L^0}\)
Range: (-3.1416, 3.1416)
Unit: \(rad\)
Components:
Signal
cut: K_L0_reco_isSignal == 1.0
ClusterTheta_K0L
Label: \(\theta_{\mathrm{reco}}^{K_L^0}\)
Range: (0.0, 3.1416)
Unit: \(rad\)
Components:
Signal
cut: K_L0_reco_isSignal == 1.0
ClusterTiming_K0L
Label: \(clusterTiming\)
Range: (-100, 100)
Unit: \(ns\)
Components:
Signal
cut: K_L0_reco_isSignal == 1.0
ClusterE_K0L
Label: \(clusterE\)
Range: (0, 2)
Unit: \(GeV\)
Components:
Signal
cut: K_L0_reco_isSignal == 1.0
ClusterNHits_K0L
Label: \(clusterNHits\)
Range: (0, 30)
Unit: ``
Components:
Signal
cut: K_L0_reco_isSignal == 1.0
ClusterReg_K0L
Label: \(clusterReg\)
Range: (0, 13)
Unit: ``
Components:
Signal
cut: K_L0_reco_isSignal == 1.0
ClusterHasFailedTiming_K0L
Label: \(clusterHasFailedTiming\)
Range: (0, 1)
Unit: ``
Components:
Signal
cut: K_L0_reco_isSignal == 1.0
ClusterHasFailedErrorTiming_K0L
Label: \(clusterHasFailedErrorTiming\)
Range: (0, 1)
Unit: ``
Components:
Signal
cut: K_L0_reco_isSignal == 1.0
ClusterHasNPhotons_K0L
Label: \(clusterHasNPhotons\)
Range: (0, 1)
Unit: ``
Components:
Signal
cut: K_L0_reco_isSignal == 1.0
ClusterHasNeutralHadron_K0L
Label: \(clusterHasNeutralHadron\)
Range: (0, 1)
Unit: ``
Components:
Signal
cut: K_L0_reco_isSignal == 1.0
ClusterHasPulseShapeDiscrimination_K0L
Label: \(clusterHasPulseShapeDiscrimination\)
Range: (0, 1)
Unit: ``
Components:
Signal
cut: K_L0_reco_isSignal == 1.0
NECLClusterTrackMatches_K0L
Label: \(nECLClusterTrackMatches\)
Range: (0, 10)
Unit: ``
Components:
Signal
cut: K_L0_reco_isSignal == 1.0
- class KL0Efficiency[source]#
Bases:
ValidationModeBaseClass- name: str | None = 'KL0Efficiency'#
- latex_str = '$e^+ e^- \\rightarrow \\mu^+ \\mu^- \\gamma$'#
- plotting_strategies = ['particle_list_efficiency']#
- property base_particle_vars#
- property cluster_vars#
- property analysis_validation_histograms: List[Histogram]#
The histograms defined for this mode are listed below.:
EResolution_ISRPhoton
Label: \(\theta_{\mathrm{MC}}^{\pi^0}\)
Range: (0.0, 3.1415)
Unit: \(rad\)
Components:
Signal
cut: K_L0_isSignal == 1.0
EResolution_ISRPhoton
Label: \(\theta_{\mathrm{MC}}^{\pi^0}\)
Range: (0.0, 3.1415)
Unit: \(rad\)
Components:
Signal
cut: K_L0_isSignal == 1.0
- class bhabhaISR[source]#
Bases:
ValidationModeBaseClass- name: str | None = 'bhabhaISR'#
- latex_str = '$e^+ e^- \\rightarrow e^+ e^- \\gamma$'#
- plotting_strategies = ['multi_comparison_binned']#
- create_basf2_path(**kwargs)[source]#
Create the basf2 path for the validation of this mode. Consult the source for specifics on the validation steering.
- property base_particle_vars#
- property cluster_vars#
- generate_variables_for_list(particle_list: str, names: List[str], add_mc_matching: bool, variables: List[str])[source]#
- property analysis_validation_histograms: List[Histogram]#
The histograms defined for this mode are listed below.:
EResolution_ISRPhoton
Label: \((E_{\mathrm{reco}}-E_{\mathrm{MC}})/E_{\mathrm{MC}}\)
Range: (-2.0, 2.0)
Unit: ``
Components:
Signal
cut: gamma_reco_isSignal == 1.0
ClusterPhi_ISRPhoton
Label: \(\phi_{\mathrm{reco}}^{\gamma_{\mathrm{ISR}}}\)
Range: (-3.1416, 3.1416)
Unit: \(rad\)
Components:
Signal
cut: gamma_reco_isSignal == 1.0
ClusterTheta
Label: \(clusterTheta\)
Range: (0.0, 3.1416)
Unit: \(rad\)
Components:
Signal
cut: gamma_reco_isSignal == 1.0
ClusterTiming
Label: \(clusterTiming\)
Range: (-100, 100)
Unit: \(ns\)
Components:
Signal
cut: gamma_reco_isSignal == 1.0
MinC2TDist
Label: \(minC2TDist\)
Range: (0, 250)
Unit: \(cm\)
Components:
Signal
cut: gamma_reco_isSignal == 1.0
ClusterE1E9
Label: \(clusterE1E9\)
Range: (0, 1)
Unit: ``
Components:
Signal
cut: gamma_reco_isSignal == 1.0
Cluster9E21
Label: \(cluster9E21\)
Range: (0, 1)
Unit: ``
Components:
Signal
cut: gamma_reco_isSignal == 1.0
ClusterPSDMVA
Label: \(clusterPulseShapeDiscriminationMVA\)
Range: (0, 1)
Unit: ``
Components:
Signal
cut: gamma_reco_isSignal == 1.0
ClusterLAT
Label: \(clusterLAT\)
Range: (0, 1)
Unit: ``
Components:
Signal
cut: gamma_reco_isSignal == 1.0
ClusterE
Label: \(clusterE\)
Range: (0, 2)
Unit: \(GeV\)
Components:
Signal
cut: gamma_reco_isSignal == 1.0
ClusterNHits
Label: \(clusterNHits\)
Range: (0, 30)
Unit: ``
Components:
Signal
cut: gamma_reco_isSignal == 1.0
ClusterReg
Label: \(clusterReg\)
Range: (0, 13)
Unit: ``
Components:
Signal
cut: gamma_reco_isSignal == 1.0
ClusterSecondMoment
Label: \(clusterSecondMoment\)
Range: (0, 40)
Unit: ``
Components:
Signal
cut: gamma_reco_isSignal == 1.0
ClusterTrackMatch
Label: \(clusterTrackMatch\)
Range: (0, 1)
Unit: ``
Components:
Signal
cut: gamma_reco_isSignal == 1.0
ClusterZernikeMVA
Label: \(clusterZernikeMVA\)
Range: (0, 1)
Unit: ``
Components:
Signal
cut: gamma_reco_isSignal == 1.0
ClusterAbsZernikeMoment40
Label: \(clusterAbsZernikeMoment40\)
Range: (0, 1.7)
Unit: ``
Components:
Signal
cut: gamma_reco_isSignal == 1.0
ClusterAbsZernikeMoment51
Label: \(clusterAbsZernikeMoment51\)
Range: (0, 1.2)
Unit: ``
Components:
Signal
cut: gamma_reco_isSignal == 1.0
ClusterEoP
Label: \(clusterEoP\)
Range: (0, 2)
Unit: ``
Components:
Signal
cut: gamma_reco_isSignal == 1.0
ClusterHasFailedTiming
Label: \(clusterHasFailedTiming\)
Range: (0, 1)
Unit: ``
Components:
Signal
cut: gamma_reco_isSignal == 1.0
ClusterHasFailedErrorTiming
Label: \(clusterHasFailedErrorTiming\)
Range: (0, 1)
Unit: ``
Components:
Signal
cut: gamma_reco_isSignal == 1.0
ClusterHasNPhotons
Label: \(clusterHasNPhotons\)
Range: (0, 1)
Unit: ``
Components:
Signal
cut: gamma_reco_isSignal == 1.0
ClusterHasNeutralHadron
Label: \(clusterHasNeutralHadron\)
Range: (0, 1)
Unit: ``
Components:
Signal
cut: gamma_reco_isSignal == 1.0
ClusterHasPulseShapeDiscrimination
Label: \(clusterHasPulseShapeDiscrimination\)
Range: (0, 1)
Unit: ``
Components:
Signal
cut: gamma_reco_isSignal == 1.0
NECLClusterTrackMatches
Label: \(nECLClusterTrackMatches\)
Range: (0, 10)
Unit: ``
Components:
Signal
cut: gamma_reco_isSignal == 1.0
- class mumuISR[source]#
Bases:
ValidationModeBaseClass- name: str | None = 'mumuISR'#
- latex_str = '$e^+ e^- \\rightarrow \\mu^+ \\mu^- \\gamma$'#
- plotting_strategies = ['multi_comparison_binned']#
- create_basf2_path(**kwargs)[source]#
Create the basf2 path for the validation of this mode. Consult the source for specifics on the validation steering.
- property base_particle_vars#
- property cluster_vars#
- mask_dict = {'knunu_mask': ('', '[ [clusterReg == 1 and clusterE>0.080] or [clusterReg == 2 and clusterE>0.030] or [clusterReg == 3 and clusterE>0.060] ] and [minC2TDist>50] and [thetaInCDCAcceptance==1]'), 'kstartautau_mask': ('[dr < 2] and [abs(dz) < 4] and [pt > 0.2] and [thetaInCDCAcceptance==1]', '[[clusterReg==1 and E>0.08] or [clusterReg==2 and E > 0.03] or [clusterReg==3 and E > 0.06]] and [clusterNHits > 1.5] and [abs(clusterTiming) < 200] and [0.2967 < clusterTheta < 2.6180]'), 'loose_mask': ('', '[ [clusterReg == 1 and clusterE>0.080] or [clusterReg == 2 and clusterE>0.030] or [clusterReg == 3 and clusterE>0.060] ]'), 'tight_mask': ('', 'clusterNHits > 1.5 and 0.2967 < clusterTheta < 2.6180 and [ [clusterReg == 1 and clusterE>0.100] or [clusterReg == 2 and clusterE>0.060] or [clusterReg == 3 and clusterE>0.150]] and minC2TDist>20')}#
- base_roe_vars = ['nROE_Charged()', 'nROE_Photons()', 'nROE_NeutralHadrons()', 'roeE()', 'roeM()', 'roeP()', 'roeMbc()', 'roeDeltae()', 'roeEextra()']#
- add_ROE(path: Path, particle_list: str)[source]#
A convenience function to add Rest Of Event (ROE) variables to a particle list. Additionally adds various masked versions of the ROE
- Args:
path: The BASF2 path to add the ROE variables to.
particle_list: The name of the particle list to calculate the ROE with
- generate_variables_for_list(particle_list: str, names: List[str], add_mc_matching: bool, variables: List[str])[source]#
- property analysis_validation_histograms: List[Histogram]#
The histograms defined for this mode are listed below.:
EResolution_ISRPhoton
Label: \((E_{\mathrm{reco}}-E_{\mathrm{MC}})/E_{\mathrm{MC}}\)
Range: (-2.0, 2.0)
Unit: ``
Components:
Signal
cut: gamma_reco_isSignal == 1.0
ClusterPhi_ISRPhoton
Label: \(\phi_{\mathrm{reco}}^{\gamma_{\mathrm{ISR}}}\)
Range: (-3.1416, 3.1416)
Unit: \(rad\)
Components:
Signal
cut: gamma_reco_isSignal == 1.0
ClusterTheta
Label: \(clusterTheta\)
Range: (0.0, 3.1416)
Unit: \(rad\)
Components:
Signal
cut: gamma_reco_isSignal == 1.0
ClusterTiming
Label: \(clusterTiming\)
Range: (-100, 100)
Unit: \(ns\)
Components:
Signal
cut: gamma_reco_isSignal == 1.0
MinC2TDist
Label: \(minC2TDist\)
Range: (0, 250)
Unit: \(cm\)
Components:
Signal
cut: gamma_reco_isSignal == 1.0
ClusterE1E9
Label: \(clusterE1E9\)
Range: (0, 1)
Unit: ``
Components:
Signal
cut: gamma_reco_isSignal == 1.0
Cluster9E21
Label: \(cluster9E21\)
Range: (0, 1)
Unit: ``
Components:
Signal
cut: gamma_reco_isSignal == 1.0
ClusterPSDMVA
Label: \(clusterPulseShapeDiscriminationMVA\)
Range: (0, 1)
Unit: ``
Components:
Signal
cut: gamma_reco_isSignal == 1.0
ClusterLAT
Label: \(clusterLAT\)
Range: (0, 1)
Unit: ``
Components:
Signal
cut: gamma_reco_isSignal == 1.0
ClusterE
Label: \(clusterE\)
Range: (0, 2)
Unit: \(GeV\)
Components:
Signal
cut: gamma_reco_isSignal == 1.0
ClusterNHits
Label: \(clusterNHits\)
Range: (0, 30)
Unit: ``
Components:
Signal
cut: gamma_reco_isSignal == 1.0
ClusterReg
Label: \(clusterReg\)
Range: (0, 13)
Unit: ``
Components:
Signal
cut: gamma_reco_isSignal == 1.0
ClusterSecondMoment
Label: \(clusterSecondMoment\)
Range: (0, 40)
Unit: ``
Components:
Signal
cut: gamma_reco_isSignal == 1.0
ClusterTrackMatch
Label: \(clusterTrackMatch\)
Range: (0, 1)
Unit: ``
Components:
Signal
cut: gamma_reco_isSignal == 1.0
ClusterZernikeMVA
Label: \(clusterZernikeMVA\)
Range: (0, 1)
Unit: ``
Components:
Signal
cut: gamma_reco_isSignal == 1.0
ClusterAbsZernikeMoment40
Label: \(clusterAbsZernikeMoment40\)
Range: (0, 1.7)
Unit: ``
Components:
Signal
cut: gamma_reco_isSignal == 1.0
ClusterAbsZernikeMoment51
Label: \(clusterAbsZernikeMoment51\)
Range: (0, 1.2)
Unit: ``
Components:
Signal
cut: gamma_reco_isSignal == 1.0
ClusterEoP
Label: \(clusterEoP\)
Range: (0, 2)
Unit: ``
Components:
Signal
cut: gamma_reco_isSignal == 1.0
ClusterHasFailedTiming
Label: \(clusterHasFailedTiming\)
Range: (0, 1)
Unit: ``
Components:
Signal
cut: gamma_reco_isSignal == 1.0
ClusterHasFailedErrorTiming
Label: \(clusterHasFailedErrorTiming\)
Range: (0, 1)
Unit: ``
Components:
Signal
cut: gamma_reco_isSignal == 1.0
ClusterHasNPhotons
Label: \(clusterHasNPhotons\)
Range: (0, 1)
Unit: ``
Components:
Signal
cut: gamma_reco_isSignal == 1.0
ClusterHasNeutralHadron
Label: \(clusterHasNeutralHadron\)
Range: (0, 1)
Unit: ``
Components:
Signal
cut: gamma_reco_isSignal == 1.0
ClusterHasPulseShapeDiscrimination
Label: \(clusterHasPulseShapeDiscrimination\)
Range: (0, 1)
Unit: ``
Components:
Signal
cut: gamma_reco_isSignal == 1.0
NECLClusterTrackMatches
Label: \(nECLClusterTrackMatches\)
Range: (0, 10)
Unit: ``
Components:
Signal
cut: gamma_reco_isSignal == 1.0
- class photonEfficiency[source]#
Bases:
ValidationModeBaseClass- name: str | None = 'photonEfficiency'#
- latex_str = '$\\gamma$ from $B\\overline{B}$ events'#
- plotting_strategies = ['particle_list_efficiency']#
- property base_particle_vars#
- property cluster_vars#
- property analysis_validation_histograms: List[Histogram]#
The histograms defined for this mode are listed below.:
EResolution_ISRPhoton
Label: \(\theta_{\mathrm{MC}}^{\gamma}\)
Range: (0.0, 3.1415)
Unit: \(rad\)
Components:
Signal
cut: gamma_isSignal == 1.0
EResolution_ISRPhoton
Label: \(\theta_{\mathrm{MC}}^{\gamma}\)
Range: (0.0, 3.1415)
Unit: \(rad\)
Components:
Signal
cut: gamma_isSignal == 1.0
- class photonEnergyResolution[source]#
Bases:
ValidationModeBaseClass- name: str | None = 'photonEnergyResolution'#
- latex_str = '$\\gamma$ from $B\\overline{B}$ events'#
- plotting_strategies = ['resolution_fitting']#
- property base_particle_vars#
- property cluster_vars#
- property base_roe_vars#
- property analysis_validation_histograms: List[Histogram]#
The histograms defined for this mode are listed below.:
EResolution_ISRPhoton_Selection
Label: \(E_{\mathrm{reco}}^{\gamma}\)
Range: (0.0, 0.1)
Unit: \(GeV\)
Components:
Signal
cut: gamma_isSignal == 1.0 or gamma_isSignal == 0.0
- class photonReconstruction[source]#
Bases:
ValidationModeBaseClass- name: str | None = 'photonReconstruction'#
- latex_str = '$e^+ e^- \\rightarrow \\mu^+ \\mu^- \\gamma$'#
- plotting_strategies = ['multi_comparison_binned']#
- property base_particle_vars#
- property cluster_vars#
- generate_variables_for_list(particle_list: str, names: List[str], add_mc_matching: bool, variables: List[str])[source]#
- property analysis_validation_histograms: List[Histogram]#
The histograms defined for this mode are listed below.:
Theta
Label: \(clusterTheta\)
Range: (0.0, 3.1416)
Unit: \(rad\)
Components:
Signal
ClusterPhi
Label: \(clusterPhi\)
Range: (-3.14159, 3.14159)
Unit: \(rad\)
Components:
Signal
ClusterTiming
Label: \(clusterTiming\)
Range: (-100, 100)
Unit: \(ns\)
Components:
Signal
MinC2TDist
Label: \(minC2TDist\)
Range: (0, 250)
Unit: \(cm\)
Components:
Signal
ClusterE1E9
Label: \(clusterE1E9\)
Range: (0, 1)
Unit: ``
Components:
Signal
Cluster9E21
Label: \(cluster9E21\)
Range: (0, 1)
Unit: ``
Components:
Signal
ClusterPSDMVA
Label: \(clusterPulseShapeDiscriminationMVA\)
Range: (0, 1)
Unit: ``
Components:
Signal
ClusterLAT
Label: \(clusterLAT\)
Range: (0, 1)
Unit: ``
Components:
Signal
ClusterE
Label: \(clusterE\)
Range: (0, 2)
Unit: \(GeV\)
Components:
Signal
ClusterNHits
Label: \(clusterNHits\)
Range: (0, 30)
Unit: ``
Components:
Signal
ClusterReg
Label: \(clusterReg\)
Range: (0, 13)
Unit: ``
Components:
Signal
ClusterSecondMoment
Label: \(clusterSecondMoment\)
Range: (0, 40)
Unit: ``
Components:
Signal
ClusterTrackMatch
Label: \(clusterTrackMatch\)
Range: (0, 1)
Unit: ``
Components:
Signal
ClusterZernikeMVA
Label: \(clusterZernikeMVA\)
Range: (0, 1)
Unit: ``
Components:
Signal
ClusterAbsZernikeMoment40
Label: \(clusterAbsZernikeMoment40\)
Range: (0, 1.7)
Unit: ``
Components:
Signal
ClusterAbsZernikeMoment51
Label: \(clusterAbsZernikeMoment51\)
Range: (0, 1.2)
Unit: ``
Components:
Signal
ClusterEoP
Label: \(clusterEoP\)
Range: (0, 2)
Unit: ``
Components:
Signal
ClusterHasFailedTiming
Label: \(clusterHasFailedTiming\)
Range: (0, 1)
Unit: ``
Components:
Signal
ClusterHasFailedErrorTiming
Label: \(clusterHasFailedErrorTiming\)
Range: (0, 1)
Unit: ``
Components:
Signal
ClusterHasNPhotons
Label: \(clusterHasNPhotons\)
Range: (0, 1)
Unit: ``
Components:
Signal
ClusterHasNeutralHadron
Label: \(clusterHasNeutralHadron\)
Range: (0, 1)
Unit: ``
Components:
Signal
ClusterHasPulseShapeDiscrimination
Label: \(clusterHasPulseShapeDiscrimination\)
Range: (0, 1)
Unit: ``
Components:
Signal
MaxWeightedDistanceFromAverageECLTime
Label: \(maxWeightedDistanceFromAverageECLTime\)
Range: (0, 5000)
Unit: \(ns\)
Components:
Signal
NECLClusterTrackMatches
Label: \(nECLClusterTrackMatches\)
Range: (0, 10)
Unit: ``
Components:
Signal
beamBackgroundSuppressionScore
Label: \(beamBackgroundSuppressionScore\)
Range: (0, 1)
Unit: ``
Components:
Signal
fakePhotonSuppressionScore
Label: \(fakePhotonSuppressionScore\)
Range: (0, 1)
Unit: ``
Components:
Signal
- class pi0Efficiency[source]#
Bases:
ValidationModeBaseClass- name: str | None = 'pi0Efficiency'#
- latex_str = '$e^+ e^- \\rightarrow \\mu^+ \\mu^- \\gamma$'#
- plotting_strategies = ['particle_list_efficiency']#
- property base_particle_vars#
- property cluster_vars#
- property analysis_validation_histograms: List[Histogram]#
The histograms defined for this mode are listed below.:
EResolution_ISRPhoton
Label: \(\theta_{\mathrm{MC}}^{\pi^0}\)
Range: (0.0, 3.1415)
Unit: \(rad\)
Components:
Signal
cut: pi0_isSignal == 1.0
EResolution_ISRPhoton
Label: \(\theta_{\mathrm{MC}}^{\pi^0}\)
Range: (0.0, 3.1415)
Unit: \(rad\)
Components:
Signal
cut: pi0_isSignal == 1.0
- class pi0EnergyResolution[source]#
Bases:
ValidationModeBaseClass- name: str | None = 'pi0EnergyResolution'#
- latex_str = '$\\pi^0$ from $B\\overline{B}$ events'#
- plotting_strategies = ['resolution_fitting']#
- property base_particle_vars#
- property cluster_vars#
- property base_roe_vars#
- property analysis_validation_histograms: List[Histogram]#
The histograms defined for this mode are listed below.:
EResolution_pi0_Selection
Label: \(P_{\mathrm{reco}}^{\pi^0}\)
Range: (0.0, 2.5)
Unit: \(GeV\)
Components:
Signal