Common beam properties interface for generators

From GlueXWiki
Revision as of 07:35, 13 December 2018 by Jrsteven (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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)

CobremsGenerator

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) 

CCDB

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.