ATLAS Offline Software
Classes | Functions | Variables
python.RatesScanTrigger Namespace Reference

Classes

class  RatesScanTrigger
 

Functions

def apply_pileup_correction (hist_cumulative, metadata)
 

Variables

 log
 

Function Documentation

◆ apply_pileup_correction()

def python.RatesScanTrigger.apply_pileup_correction (   hist_cumulative,
  metadata 
)
Apply pileup correction to cumulative histogram

Definition at line 14 of file RatesScanTrigger.py.

14 def apply_pileup_correction(hist_cumulative, metadata):
15  """Apply pileup correction to cumulative histogram"""
16 
17  BCR = metadata['bunchCrossingRate']
18  pileup = metadata['targetMu']
19 
20  # Create corrected histogram
21  hist_pileup_corrected = hist_cumulative.Clone(f"{hist_cumulative.GetName()}_pileup_corrected")
22 
23  # Apply pileup correction formula to each bin
24  for bin in range(1, hist_pileup_corrected.GetNbinsX() + 1):
25  bin_value = hist_cumulative.GetBinContent(bin)
26  P_scatter = bin_value / BCR / pileup
27  corrected_value = BCR * (1.0 - pow(1.0 - P_scatter, pileup))
28  hist_pileup_corrected.SetBinContent(bin, corrected_value)
29 
30  # Propagate errors
31  bin_error = hist_cumulative.GetBinError(bin)
32  if bin_value > 0:
33  error_scale = corrected_value / bin_value
34  hist_pileup_corrected.SetBinError(bin, bin_error * error_scale)
35  else:
36  hist_pileup_corrected.SetBinError(bin, 0)
37 
38  return hist_pileup_corrected
39 
40 

Variable Documentation

◆ log

python.RatesScanTrigger.log

Definition at line 11 of file RatesScanTrigger.py.

plotBeamSpotVxVal.range
range
Definition: plotBeamSpotVxVal.py:194
python.RatesScanTrigger.apply_pileup_correction
def apply_pileup_correction(hist_cumulative, metadata)
Definition: RatesScanTrigger.py:14
pow
constexpr int pow(int base, int exp) noexcept
Definition: ap_fixedTest.cxx:15