Common beam properties interface for generators
There are many generators located in the halld_sim repository that can use a common interface to beam properties used in event generation, such as Flux and Polarization vs. photon beam energy. The UTILITIES library was created to manage this common interface, with a new class BeamProperties that returns a histogram of photon flux and polarization for use in event generation and (in the future) amplitude analysis fits.
Note 1: This new interface was initially released in halld_sim ver3.7.0 and has been tested with AmpTools ver0.9.4 and gluex_MCWrapper ver2.0.4, and should not be used with earlier versions of these dependencies.
Note 2: See example generator configuration files to find the 2 lines that need to be changed to utilize the new beam configuration files in MCWrapper (i.e. 'define beamconfig filename' and then supplying the beamconfig variable to the amplitude).
Note 3: In your MCWrapper config file, you can set the FLUX_TO_GEN flag to: 'ccdb', 'cobrems', or the path and file name which contains a histogram of the flux you want to use.
Relevant new features
- Most generators now have 3 options for the photon flux: CobremsGenerator, CCDB, or External ROOT histogram file.
- genr8 can use a non-monoenergetic photon beam
- generators that use polarization in the amplitude can use an external ROOT histogram for polarization vs beam energy (e.g. from TPOL), in addition to the usual CobremsGenerator or fixed polarization value
Options for photon flux (with example configuration files)
Theoretical calculation of photon beam flux and polarization, given a set of input parameters (similar to this calculator tool).
# Photon beam configuration file to be used with UTILITIES/BeamProperties, # which utilizes UTILITIES/CobremsGenerator to generate flux and polarization # distributions ElectronBeamEnergy 11.6 # electron beam energy CoherentPeakEnergy 8.8 # coherent peak energy PhotonBeamLowEnergy 3.0 # photon beam low energy PhotonBeamHighEnergy 11.6 # photon beam high energy Emittance 10.e-9 # electron beam emittance RadiatorThickness 50.e-6 # radiator thickness in m CollimatorDiameter 0.005 # meters CollimatorDistance 76.0 # meters PolarizationAngle 0.0 # linear polarization angle (degrees)
Photon beam flux measured by the Pair Spectrometer (PS), and stored in CCDB. Requires the the run number for the CCDB query and that the flux has been measured (and entered in CCDB) for that run. Note: The PS beam energy range is limited (typically Eγ > 6.5 GeV), so this option will not generator events below some minimum energy.
# Photon beam configuration file to be used with UTILITIES/BeamProperties, # which reads PS flux from CCDB to be used for event generation CCDBRunNumber 30730 # run number for CCDB query ROOTFluxFile ccdb # flag to use CCDB for flux PhotonBeamLowEnergy 6.0 # photon beam low energy PhotonBeamHighEnergy 11.6 # photon beam high energy PolarizationAngle 0.0 # linear polarization angle (degrees) PolarizationMagnitude 0.4 # fixed linear polarization magnitude
External ROOT histogram file
Photon beam flux and polarization vs beam energy from an external ROOT histogram file. The source of these flux and polarization values are up to the user, but could include measured PS flux or polarization measured by the TPOL.
# Photon beam configuration file to be used with UTILITIES/BeamProperties, # which loads flux and polarization histograms from external ROOT files ROOTFluxFile sp17PSflux.root # flux ROOT file name (eg. from PS flux analysis) ROOTFluxName tagged_flux # flux histogram name in ROOTFluxFile ROOTPolFile sp17TPol.root # polarization ROOT file name (eg. from TPOL analysis) ROOTPolName hPol0 # polarization histogram name in ROOTPolFile PhotonBeamLowEnergy 3.0 # photon beam low energy bound for event generation PhotonBeamHighEnergy 11.5 # photon beam high energy bound for event generation PolarizationAngle 0.0 # linear polarization angle (degrees)
Notes on generators not fully implemented
- gen_2pi_amp and gen_2pi_primakoff: needs to use beam config file in amplitude definition for polarization, but should consult with authors first
- bggen, bggen_jpsi: fortran-based generators, use fortran version of cobrems calculator. Need to consult with authors if we should implement common interface.
- gen_ee, gen_ee_hb: read external ROOT histograms as input for photon flux. Should be able to transition to common interface, but not implemented.