flamedisx.lxe_blocks package

Submodules

flamedisx.lxe_blocks.detection module

class flamedisx.lxe_blocks.detection.DetectElectrons(source)[source]

Bases: flamedisx.lxe_blocks.detection.DetectPhotonsOrElectrons

_compute(data_tensor, ptensor, electrons_produced, electrons_detected)[source]

Return (n_batch_events, …dimensions…) tensor

dimensions: Tuple[str] = ('electrons_produced', 'electrons_detected')

Names of dimensions of the block’s compute result

electron_acceptance = 1.0
static electron_detection_eff(drift_time, *, elife=452000.0, extraction_eff=0.96)[source]
extra_dimensions: Tuple[Tuple[str, bool]] = ()

Additional dimensions used in the block computation. Label True if they represent an internally contracted hidden variable; these will be added to inner_dimensions so domain tensors are calculated automatically. Label False otherwise; these will be added to bonus_dimensions. Thus, any additional domain tensors utilising them will need calculating via the block overriding _domain_dict_bonus())

model_functions: Tuple[str] = ('electron_detection_eff', 'electron_acceptance')

Names of model functions defined in this block

quanta_name: str = 'electron'
special_model_functions: Tuple[str] = ('electron_acceptance',)

Names of model functions that take an additional first argument (‘bonus arg’) defined in this block; must be a subset of model_functions

class flamedisx.lxe_blocks.detection.DetectPhotons(source)[source]

Bases: flamedisx.lxe_blocks.detection.DetectPhotonsOrElectrons

_compute(data_tensor, ptensor, photons_produced, photons_detected)[source]

Return (n_batch_events, …dimensions…) tensor

dimensions: Tuple[str] = ('photons_produced', 'photons_detected')

Names of dimensions of the block’s compute result

extra_dimensions: Tuple[Tuple[str, bool]] = ()

Additional dimensions used in the block computation. Label True if they represent an internally contracted hidden variable; these will be added to inner_dimensions so domain tensors are calculated automatically. Label False otherwise; these will be added to bonus_dimensions. Thus, any additional domain tensors utilising them will need calculating via the block overriding _domain_dict_bonus())

model_functions: Tuple[str] = ('photon_detection_eff', 'photon_acceptance', 'penning_quenching_eff')

Names of model functions defined in this block

static penning_quenching_eff(nph)[source]
photon_acceptance(photons_detected, min_photons=3)[source]
photon_detection_eff = 0.1
quanta_name: str = 'photon'
special_model_functions: Tuple[str] = ('photon_acceptance', 'penning_quenching_eff')

Names of model functions that take an additional first argument (‘bonus arg’) defined in this block; must be a subset of model_functions

flamedisx.lxe_blocks.double_pe module

class flamedisx.lxe_blocks.double_pe.MakeS1Photoelectrons(source)[source]

Bases: flamedisx.block_source.Block

_annotate(d)[source]

Add _min and _max for each dimension to d in-place

_compute(data_tensor, ptensor, photons_detected, photoelectrons_detected)[source]

Return (n_batch_events, …dimensions…) tensor

_simulate(d)[source]

Simulate extra columns in place.

Use the p_accepted column to modify acceptances; do not remove events here.

dimensions: Tuple[str] = ('photons_detected', 'photoelectrons_detected')

Names of dimensions of the block’s compute result

double_pe_fraction = 0.219
extra_dimensions: Tuple[Tuple[str, bool]] = ()

Additional dimensions used in the block computation. Label True if they represent an internally contracted hidden variable; these will be added to inner_dimensions so domain tensors are calculated automatically. Label False otherwise; these will be added to bonus_dimensions. Thus, any additional domain tensors utilising them will need calculating via the block overriding _domain_dict_bonus())

model_functions: Tuple[str] = ('double_pe_fraction',)

Names of model functions defined in this block

flamedisx.lxe_blocks.energy_spectrum module

class flamedisx.lxe_blocks.energy_spectrum.EnergySpectrum(source)[source]

Bases: flamedisx.block_source.FirstBlock

_compute(data_tensor, ptensor, **kwargs)[source]

Return (n_batch_events, …dimensions…) tensor

dimensions: Tuple[str] = ('energy',)

Names of dimensions of the block’s compute result

domain(data_tensor)[source]

Return dictionary mapping dimension -> domain

draw_positions(n_events, **params)[source]

Return dictionary with x, y, z, r, theta, drift_time randomly drawn.

draw_time(n_events, **params)[source]

Return n_events event_times drawn uniformaly between t_start and t_stop

drift_velocity = 0.0001335

Electron drift velocity in cm/ns

energies = <tf.Tensor: shape=(1000,), dtype=float32, numpy= array([ 0.        ,  0.01001001,  0.02002002,  0.03003003,  0.04004004,         0.05005005,  0.06006006,  0.07007007,  0.08008008,  0.09009009,         0.1001001 ,  0.1101101 ,  0.12012012,  0.13013013,  0.14014013,         0.15015015,  0.16016015,  0.17017016,  0.18018018,  0.19019018,         0.2002002 ,  0.2102102 ,  0.22022021,  0.23023023,  0.24024023,         0.25025025,  0.26026025,  0.27027026,  0.28028026,  0.29029027,         0.3003003 ,  0.3103103 ,  0.3203203 ,  0.3303303 ,  0.34034032,         0.35035035,  0.36036035,  0.37037036,  0.38038036,  0.39039037,         0.4004004 ,  0.4104104 ,  0.4204204 ,  0.4304304 ,  0.44044042,         0.45045042,  0.46046045,  0.47047046,  0.48048046,  0.49049047,         0.5005005 ,  0.5105105 ,  0.5205205 ,  0.5305305 ,  0.5405405 ,         0.5505505 ,  0.5605605 ,  0.5705705 ,  0.58058053,  0.5905906 ,         0.6006006 ,  0.6106106 ,  0.6206206 ,  0.6306306 ,  0.6406406 ,         0.6506506 ,  0.6606606 ,  0.6706706 ,  0.68068063,  0.69069064,         0.7007007 ,  0.7107107 ,  0.7207207 ,  0.7307307 ,  0.7407407 ,         0.7507507 ,  0.7607607 ,  0.7707707 ,  0.78078073,  0.79079074,         0.8008008 ,  0.8108108 ,  0.8208208 ,  0.8308308 ,  0.8408408 ,         0.8508508 ,  0.8608608 ,  0.8708708 ,  0.88088083,  0.89089084,         0.90090084,  0.9109109 ,  0.9209209 ,  0.9309309 ,  0.9409409 ,         0.9509509 ,  0.9609609 ,  0.9709709 ,  0.98098093,  0.99099094,         1.001001  ,  1.011011  ,  1.021021  ,  1.031031  ,  1.041041  ,         1.051051  ,  1.061061  ,  1.071071  ,  1.081081  ,  1.091091  ,         1.101101  ,  1.111111  ,  1.121121  ,  1.131131  ,  1.141141  ,         1.1511511 ,  1.1611611 ,  1.1711711 ,  1.1811812 ,  1.1911912 ,         1.2012012 ,  1.2112112 ,  1.2212212 ,  1.2312312 ,  1.2412412 ,         1.2512512 ,  1.2612612 ,  1.2712712 ,  1.2812812 ,  1.2912912 ,         1.3013012 ,  1.3113112 ,  1.3213212 ,  1.3313313 ,  1.3413413 ,         1.3513513 ,  1.3613613 ,  1.3713713 ,  1.3813813 ,  1.3913914 ,         1.4014014 ,  1.4114114 ,  1.4214214 ,  1.4314314 ,  1.4414414 ,         1.4514514 ,  1.4614614 ,  1.4714714 ,  1.4814814 ,  1.4914914 ,         1.5015014 ,  1.5115114 ,  1.5215214 ,  1.5315315 ,  1.5415415 ,         1.5515515 ,  1.5615615 ,  1.5715715 ,  1.5815815 ,  1.5915915 ,         1.6016016 ,  1.6116116 ,  1.6216216 ,  1.6316316 ,  1.6416416 ,         1.6516516 ,  1.6616616 ,  1.6716716 ,  1.6816816 ,  1.6916916 ,         1.7017016 ,  1.7117116 ,  1.7217216 ,  1.7317317 ,  1.7417417 ,         1.7517517 ,  1.7617617 ,  1.7717717 ,  1.7817817 ,  1.7917917 ,         1.8018017 ,  1.8118117 ,  1.8218218 ,  1.8318318 ,  1.8418418 ,         1.8518518 ,  1.8618618 ,  1.8718718 ,  1.8818818 ,  1.8918918 ,         1.9019018 ,  1.9119118 ,  1.9219218 ,  1.9319319 ,  1.9419419 ,         1.9519519 ,  1.9619619 ,  1.9719719 ,  1.9819819 ,  1.9919919 ,         2.002002  ,  2.012012  ,  2.022022  ,  2.032032  ,  2.042042  ,         2.052052  ,  2.062062  ,  2.072072  ,  2.082082  ,  2.092092  ,         2.102102  ,  2.112112  ,  2.122122  ,  2.132132  ,  2.142142  ,         2.152152  ,  2.162162  ,  2.172172  ,  2.182182  ,  2.192192  ,         2.202202  ,  2.212212  ,  2.222222  ,  2.232232  ,  2.242242  ,         2.252252  ,  2.262262  ,  2.272272  ,  2.282282  ,  2.292292  ,         2.3023021 ,  2.3123121 ,  2.3223221 ,  2.3323321 ,  2.3423421 ,         2.3523524 ,  2.3623624 ,  2.3723724 ,  2.3823824 ,  2.3923924 ,         2.4024024 ,  2.4124124 ,  2.4224224 ,  2.4324324 ,  2.4424424 ,         2.4524524 ,  2.4624624 ,  2.4724724 ,  2.4824824 ,  2.4924924 ,         2.5025024 ,  2.5125124 ,  2.5225224 ,  2.5325325 ,  2.5425425 ,         2.5525525 ,  2.5625625 ,  2.5725725 ,  2.5825825 ,  2.5925925 ,         2.6026025 ,  2.6126125 ,  2.6226225 ,  2.6326325 ,  2.6426425 ,         2.6526525 ,  2.6626625 ,  2.6726725 ,  2.6826825 ,  2.6926925 ,         2.7027025 ,  2.7127125 ,  2.7227225 ,  2.7327325 ,  2.7427425 ,         2.7527525 ,  2.7627625 ,  2.7727726 ,  2.7827828 ,  2.7927928 ,         2.8028028 ,  2.8128128 ,  2.8228228 ,  2.8328328 ,  2.8428428 ,         2.8528528 ,  2.8628628 ,  2.8728728 ,  2.8828828 ,  2.8928928 ,         2.9029028 ,  2.9129128 ,  2.9229228 ,  2.9329329 ,  2.9429429 ,         2.9529529 ,  2.9629629 ,  2.9729729 ,  2.9829829 ,  2.9929929 ,         3.003003  ,  3.013013  ,  3.023023  ,  3.033033  ,  3.043043  ,         3.053053  ,  3.063063  ,  3.073073  ,  3.083083  ,  3.093093  ,         3.103103  ,  3.113113  ,  3.123123  ,  3.133133  ,  3.143143  ,         3.153153  ,  3.163163  ,  3.173173  ,  3.183183  ,  3.193193  ,         3.2032032 ,  3.2132132 ,  3.2232232 ,  3.2332332 ,  3.2432432 ,         3.2532532 ,  3.2632632 ,  3.2732732 ,  3.2832832 ,  3.2932932 ,         3.3033032 ,  3.3133132 ,  3.3233232 ,  3.3333333 ,  3.3433433 ,         3.3533533 ,  3.3633633 ,  3.3733733 ,  3.3833833 ,  3.3933933 ,         3.4034033 ,  3.4134133 ,  3.4234233 ,  3.4334333 ,  3.4434433 ,         3.4534533 ,  3.4634633 ,  3.4734733 ,  3.4834833 ,  3.4934933 ,         3.5035033 ,  3.5135133 ,  3.5235233 ,  3.5335333 ,  3.5435433 ,         3.5535533 ,  3.5635633 ,  3.5735734 ,  3.5835834 ,  3.5935934 ,         3.6036034 ,  3.6136134 ,  3.6236234 ,  3.6336336 ,  3.6436436 ,         3.6536536 ,  3.6636636 ,  3.6736736 ,  3.6836836 ,  3.6936936 ,         3.7037036 ,  3.7137136 ,  3.7237236 ,  3.7337337 ,  3.7437437 ,         3.7537537 ,  3.7637637 ,  3.7737737 ,  3.7837837 ,  3.7937937 ,         3.8038037 ,  3.8138137 ,  3.8238237 ,  3.8338337 ,  3.8438437 ,         3.8538537 ,  3.8638637 ,  3.8738737 ,  3.8838837 ,  3.8938937 ,         3.9039037 ,  3.9139137 ,  3.9239237 ,  3.9339337 ,  3.9439437 ,         3.9539537 ,  3.9639637 ,  3.9739738 ,  3.9839838 ,  3.9939938 ,         4.004004  ,  4.014014  ,  4.024024  ,  4.034034  ,  4.044044  ,         4.054054  ,  4.064064  ,  4.074074  ,  4.084084  ,  4.094094  ,         4.104104  ,  4.114114  ,  4.124124  ,  4.134134  ,  4.144144  ,         4.154154  ,  4.164164  ,  4.174174  ,  4.184184  ,  4.194194  ,         4.204204  ,  4.214214  ,  4.224224  ,  4.234234  ,  4.244244  ,         4.254254  ,  4.264264  ,  4.2742743 ,  4.284284  ,  4.2942944 ,         4.304304  ,  4.3143144 ,  4.324324  ,  4.3343344 ,  4.344344  ,         4.3543544 ,  4.364364  ,  4.3743744 ,  4.384384  ,  4.3943944 ,         4.404404  ,  4.4144144 ,  4.424424  ,  4.4344344 ,  4.444444  ,         4.4544544 ,  4.464464  ,  4.4744744 ,  4.484484  ,  4.4944944 ,         4.504504  ,  4.5145144 ,  4.524524  ,  4.5345345 ,  4.544544  ,         4.5545545 ,  4.564564  ,  4.5745745 ,  4.584584  ,  4.5945945 ,         4.6046042 ,  4.6146145 ,  4.6246243 ,  4.6346345 ,  4.6446443 ,         4.6546545 ,  4.6646643 ,  4.6746745 ,  4.6846843 ,  4.6946945 ,         4.7047048 ,  4.7147145 ,  4.724725  ,  4.7347345 ,  4.744745  ,         4.7547545 ,  4.764765  ,  4.7747746 ,  4.784785  ,  4.7947946 ,         4.804805  ,  4.8148146 ,  4.824825  ,  4.8348346 ,  4.844845  ,         4.8548546 ,  4.864865  ,  4.8748746 ,  4.884885  ,  4.8948946 ,         4.904905  ,  4.9149146 ,  4.924925  ,  4.9349346 ,  4.944945  ,         4.9549546 ,  4.964965  ,  4.9749746 ,  4.984985  ,  4.9949946 ,         5.005005  ,  5.0150146 ,  5.025025  ,  5.0350347 ,  5.045045  ,         5.0550547 ,  5.065065  ,  5.0750747 ,  5.085085  ,  5.0950947 ,         5.105105  ,  5.1151147 ,  5.125125  ,  5.135135  ,  5.145145  ,         5.155155  ,  5.165165  ,  5.175175  ,  5.185185  ,  5.195195  ,         5.205205  ,  5.215215  ,  5.225225  ,  5.235235  ,  5.245245  ,         5.255255  ,  5.265265  ,  5.275275  ,  5.285285  ,  5.2952952 ,         5.305305  ,  5.3153152 ,  5.325325  ,  5.3353353 ,  5.345345  ,         5.3553553 ,  5.365365  ,  5.3753753 ,  5.385385  ,  5.3953953 ,         5.405405  ,  5.4154153 ,  5.425425  ,  5.4354353 ,  5.445445  ,         5.4554553 ,  5.465465  ,  5.4754753 ,  5.485485  ,  5.4954953 ,         5.505505  ,  5.5155153 ,  5.525525  ,  5.5355353 ,  5.545545  ,         5.5555553 ,  5.5655656 ,  5.5755754 ,  5.5855856 ,  5.5955954 ,         5.6056056 ,  5.6156154 ,  5.6256256 ,  5.6356354 ,  5.6456456 ,         5.6556554 ,  5.6656656 ,  5.6756754 ,  5.6856856 ,  5.6956954 ,         5.7057056 ,  5.7157154 ,  5.7257257 ,  5.7357354 ,  5.7457457 ,         5.7557554 ,  5.7657657 ,  5.7757754 ,  5.7857857 ,  5.7957954 ,         5.8058057 ,  5.8158154 ,  5.8258257 ,  5.8358355 ,  5.8458457 ,         5.8558555 ,  5.8658657 ,  5.8758755 ,  5.8858857 ,  5.8958955 ,         5.9059057 ,  5.9159155 ,  5.9259257 ,  5.9359355 ,  5.9459457 ,         5.9559555 ,  5.9659657 ,  5.9759755 ,  5.9859858 ,  5.995996  ,         6.006006  ,  6.016016  ,  6.026026  ,  6.036036  ,  6.046046  ,         6.056056  ,  6.066066  ,  6.076076  ,  6.086086  ,  6.096096  ,         6.106106  ,  6.116116  ,  6.126126  ,  6.136136  ,  6.146146  ,         6.156156  ,  6.166166  ,  6.176176  ,  6.186186  ,  6.196196  ,         6.206206  ,  6.216216  ,  6.226226  ,  6.236236  ,  6.246246  ,         6.256256  ,  6.266266  ,  6.276276  ,  6.286286  ,  6.296296  ,         6.306306  ,  6.316316  ,  6.326326  ,  6.336336  ,  6.346346  ,         6.356356  ,  6.366366  ,  6.376376  ,  6.386386  ,  6.396396  ,         6.4064064 ,  6.416416  ,  6.4264264 ,  6.436436  ,  6.4464464 ,         6.456456  ,  6.4664664 ,  6.476476  ,  6.4864864 ,  6.496496  ,         6.5065064 ,  6.516516  ,  6.5265265 ,  6.536536  ,  6.5465465 ,         6.556556  ,  6.5665665 ,  6.576576  ,  6.5865865 ,  6.5965962 ,         6.6066065 ,  6.6166162 ,  6.6266265 ,  6.6366363 ,  6.6466465 ,         6.6566563 ,  6.6666665 ,  6.6766763 ,  6.6866865 ,  6.6966963 ,         6.7067065 ,  6.7167163 ,  6.7267265 ,  6.7367363 ,  6.7467465 ,         6.7567563 ,  6.7667665 ,  6.7767763 ,  6.7867866 ,  6.7967963 ,         6.8068066 ,  6.8168163 ,  6.8268266 ,  6.836837  ,  6.8468466 ,         6.856857  ,  6.8668666 ,  6.876877  ,  6.8868866 ,  6.896897  ,         6.9069066 ,  6.916917  ,  6.9269266 ,  6.936937  ,  6.9469466 ,         6.956957  ,  6.9669666 ,  6.976977  ,  6.9869866 ,  6.996997  ,         7.0070066 ,  7.017017  ,  7.0270267 ,  7.037037  ,  7.0470467 ,         7.057057  ,  7.0670667 ,  7.077077  ,  7.0870867 ,  7.097097  ,         7.1071067 ,  7.117117  ,  7.1271267 ,  7.137137  ,  7.1471467 ,         7.157157  ,  7.1671667 ,  7.177177  ,  7.1871867 ,  7.197197  ,         7.2072067 ,  7.217217  ,  7.2272267 ,  7.237237  ,  7.2472467 ,         7.257257  ,  7.267267  ,  7.277277  ,  7.287287  ,  7.297297  ,         7.3073072 ,  7.317317  ,  7.3273273 ,  7.337337  ,  7.3473473 ,         7.357357  ,  7.3673673 ,  7.377377  ,  7.3873873 ,  7.397397  ,         7.4074073 ,  7.417417  ,  7.4274273 ,  7.437437  ,  7.4474473 ,         7.457457  ,  7.4674673 ,  7.477477  ,  7.4874873 ,  7.497497  ,         7.5075073 ,  7.517517  ,  7.5275273 ,  7.537537  ,  7.5475473 ,         7.557557  ,  7.5675673 ,  7.577577  ,  7.5875874 ,  7.597597  ,         7.6076074 ,  7.617617  ,  7.6276274 ,  7.637637  ,  7.6476474 ,         7.657657  ,  7.6676674 ,  7.677677  ,  7.6876874 ,  7.6976976 ,         7.7077074 ,  7.7177176 ,  7.7277274 ,  7.7377377 ,  7.7477474 ,         7.7577577 ,  7.7677674 ,  7.7777777 ,  7.7877874 ,  7.7977977 ,         7.8078074 ,  7.8178177 ,  7.8278275 ,  7.8378377 ,  7.8478475 ,         7.8578577 ,  7.8678675 ,  7.8778777 ,  7.8878875 ,  7.8978977 ,         7.9079075 ,  7.9179177 ,  7.9279275 ,  7.9379377 ,  7.9479475 ,         7.9579577 ,  7.9679675 ,  7.9779778 ,  7.9879875 ,  7.9979978 ,         8.008008  ,  8.018018  ,  8.028028  ,  8.038037  ,  8.048048  ,         8.058058  ,  8.068068  ,  8.078077  ,  8.088088  ,  8.098098  ,         8.108108  ,  8.118118  ,  8.128128  ,  8.138138  ,  8.148148  ,         8.158158  ,  8.168168  ,  8.178178  ,  8.188188  ,  8.198198  ,         8.208208  ,  8.218218  ,  8.228228  ,  8.238238  ,  8.248248  ,         8.258258  ,  8.268268  ,  8.278278  ,  8.288288  ,  8.298298  ,         8.308308  ,  8.318318  ,  8.328328  ,  8.338338  ,  8.348348  ,         8.358358  ,  8.368368  ,  8.378378  ,  8.388388  ,  8.398398  ,         8.408408  ,  8.418418  ,  8.428428  ,  8.438438  ,  8.448448  ,         8.458458  ,  8.468468  ,  8.478478  ,  8.488488  ,  8.498498  ,         8.508508  ,  8.518518  ,  8.528528  ,  8.538538  ,  8.548549  ,         8.558558  ,  8.568568  ,  8.578578  ,  8.588589  ,  8.5985985 ,         8.608608  ,  8.618618  ,  8.628629  ,  8.6386385 ,  8.648648  ,         8.658658  ,  8.668669  ,  8.6786785 ,  8.688688  ,  8.698698  ,         8.708709  ,  8.718719  ,  8.728728  ,  8.738738  ,  8.748749  ,         8.758759  ,  8.768768  ,  8.778778  ,  8.788789  ,  8.798799  ,         8.808808  ,  8.818818  ,  8.828829  ,  8.838839  ,  8.848848  ,         8.858858  ,  8.868869  ,  8.878879  ,  8.888888  ,  8.898898  ,         8.908909  ,  8.918919  ,  8.928928  ,  8.938938  ,  8.948949  ,         8.958959  ,  8.968968  ,  8.978979  ,  8.988989  ,  8.998999  ,         9.009008  ,  9.019019  ,  9.029029  ,  9.039039  ,  9.049048  ,         9.059059  ,  9.069069  ,  9.079079  ,  9.089088  ,  9.099099  ,         9.109109  ,  9.119119  ,  9.129128  ,  9.139139  ,  9.149149  ,         9.159159  ,  9.169168  ,  9.179179  ,  9.189189  ,  9.199199  ,         9.2092085 ,  9.219219  ,  9.229229  ,  9.239239  ,  9.2492485 ,         9.259259  ,  9.269269  ,  9.279279  ,  9.2892885 ,  9.299299  ,         9.309309  ,  9.319319  ,  9.329329  ,  9.339339  ,  9.349349  ,         9.359359  ,  9.369369  ,  9.379379  ,  9.389389  ,  9.399399  ,         9.4094095 ,  9.419419  ,  9.429429  ,  9.439439  ,  9.44945   ,         9.459459  ,  9.469469  ,  9.479479  ,  9.48949   ,  9.499499  ,         9.509509  ,  9.519519  ,  9.52953   ,  9.539539  ,  9.549549  ,         9.559559  ,  9.56957   ,  9.579579  ,  9.589589  ,  9.599599  ,         9.60961   ,  9.619619  ,  9.629629  ,  9.639639  ,  9.64965   ,         9.659659  ,  9.669669  ,  9.679679  ,  9.68969   ,  9.699699  ,         9.709709  ,  9.719719  ,  9.72973   ,  9.739739  ,  9.749749  ,         9.759759  ,  9.76977   ,  9.779779  ,  9.789789  ,  9.799799  ,         9.80981   ,  9.819819  ,  9.829829  ,  9.83984   ,  9.84985   ,         9.859859  ,  9.869869  ,  9.87988   ,  9.88989   ,  9.8998995 ,         9.909909  ,  9.91992   ,  9.92993   ,  9.9399395 ,  9.949949  ,         9.95996   ,  9.96997   ,  9.9799795 ,  9.989989  , 10.        ],       dtype=float32)>

Tensor listing energies this source can produce. Approximate the energy spectrum as a sequence of delta functions.

extra_dimensions: Tuple[Tuple[str, bool]] = ()

Additional dimensions used in the block computation. Label True if they represent an internally contracted hidden variable; these will be added to inner_dimensions so domain tensors are calculated automatically. Label False otherwise; these will be added to bonus_dimensions. Thus, any additional domain tensors utilising them will need calculating via the block overriding _domain_dict_bonus())

fv_high = 0.0

Maximum z value (-depth) at which events are allowed in cm

fv_low = -97.6

Minimum z value (-depth) at which events are allowed in cm Fiducial volume defaults to full (2t) XENON1T dimensions.

fv_radius = 47.9

Maximum radius at which events are allowed in cm Fiducial volume defaults to full (2t) XENON1T dimensions.

model_attributes: Tuple[str] = ('energies', 'fv_radius', 'fv_high', 'fv_low', 'drift_velocity', 't_start', 't_stop')

Additional attributes this Block will furnish the source with. These can be overriden by Source attributes, just like model functions.

mu_before_efficiencies(**params)[source]
random_truth(n_events, fix_truth=None, **params)[source]

Return pandas dataframe with event positions and times randomly drawn.

t_start = Timestamp('2019-09-01 08:28:00')

Earliest time at which events are allowed, datetime.datetime The default time boundaries are one year apart, starting and ending at Sept. 1, when the WIMP speed is average. The WIMP speed is also average at the halfway point.

t_stop = Timestamp('2020-09-01 08:28:00')

Last time at which events are allowed, datetime.datetime

validate_fix_truth(d)[source]

Clean fix_truth, ensure all needed variables are present Compute derived variables.

class flamedisx.lxe_blocks.energy_spectrum.FixedShapeEnergySpectrum(source)[source]

Bases: flamedisx.lxe_blocks.energy_spectrum.EnergySpectrum

For a source whose energy spectrum has the same shape throughout space and time.

If you add a rate variation with space, you must override draw_positions

and mu_before_efficiencies. If you add a rate variation with time, you must override draw_times. If you add a rate variation depending on both space and time, you must override all of random_truth!

By default, this uses a flat 0 - 10 keV spectrum, sampled at 1000 points.

_compute(data_tensor, ptensor, *, energy)[source]

Return (n_batch_events, …dimensions…) tensor

energy_spectrum_rate_multiplier = 1.0

Model function describing a rate multiplier to the energy spectrum. You probably have to update random_truth when modifying this!

model_attributes: Tuple[str] = ('rates_vs_energy', 'energies', 'fv_radius', 'fv_high', 'fv_low', 'drift_velocity', 't_start', 't_stop')

Additional attributes this Block will furnish the source with. These can be overriden by Source attributes, just like model functions.

model_functions: Tuple[str] = ('energy_spectrum_rate_multiplier',)

Names of model functions defined in this block

mu_before_efficiencies(**params)[source]
rates_vs_energy = <tf.Tensor: shape=(1000,), dtype=float32, numpy= array([1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.],       dtype=float32)>

Tensor listing the number of events for each energy the souce produces Recall we approximate energy spectra by a sequence of delta functions.

exception flamedisx.lxe_blocks.energy_spectrum.InvalidEventTimes[source]

Bases: Exception

class flamedisx.lxe_blocks.energy_spectrum.SpatialRateEnergySpectrum(source)[source]

Bases: flamedisx.lxe_blocks.energy_spectrum.FixedShapeEnergySpectrum

draw_positions(n_events, **params)[source]

Return dictionary with x, y, z, r, theta, drift_time drawn from the spatial rate histogram.

energy_spectrum_rate_multiplier(x, y, z)[source]

Convert a string or number to a floating point number, if possible.

frozen_model_functions: ty.Tuple[str] = ('energy_spectrum_rate_multiplier',)

Frozen model functions defined in this block

model_attributes: ty.Tuple[str] = ('spatial_hist', 'rates_vs_energy', 'energies', 'fv_radius', 'fv_high', 'fv_low', 'drift_velocity', 't_start', 't_stop')

Additional attributes this Block will furnish the source with. These can be overriden by Source attributes, just like model functions.

setup()[source]

Do any necessary initialization.

Called after the block’s attributes have been properly overriden by source attributes, if specified.

spatial_hist: multihist.Histdd

multihist.Histdd of events/bin produced by this source. Axes can be either (r, theta, z) or (x, y, z). Do not apply any normalization yourself, flamedisx will multiply by appropriate physical bin volume factors.

class flamedisx.lxe_blocks.energy_spectrum.VariableEnergySpectrum(source)[source]

Bases: flamedisx.lxe_blocks.energy_spectrum.EnergySpectrum

For a source for which the entire energy spectrum (not just the rate)

depends on observables (e.g. reconstruction position or time).

You must implement both energy_spectrum and random_truth.

Note that you cannot draw homogeneous positions/times first, then

energies, if your energy spectrum depends on positions/time.

_compute(data_tensor, ptensor, *, energy)[source]

Return (n_batch_events, …dimensions…) tensor

energy_spectrum(event_time)[source]
model_functions: Tuple[str] = ('energy_spectrum',)

Names of model functions defined in this block

mu_before_efficiencies(**params)[source]
random_truth(n_events, fix_truth=None, **params)[source]

Return pandas dataframe with event positions and times randomly drawn.

class flamedisx.lxe_blocks.energy_spectrum.WIMPEnergySpectrum(source)[source]

Bases: flamedisx.lxe_blocks.energy_spectrum.VariableEnergySpectrum

array_columns: Tuple[str] = (('energy_spectrum', 99),)

Names of columns this block expects to be array-valued

static bin_centers(x)[source]
clip_j2000_times(ts)[source]

Return J2000 time(s) ts, clipped to the range of the energy-time histogram. If times are more than one day out, raises InvalidEventTimes.

Parameters

ts – J2000 timestamp, or array of timestamps

energy_edges = array([ 0.7       ,  0.73084288,  0.76304473,  0.79666544,  0.83176752,         0.86841624,  0.90667975,  0.9466292 ,  0.98833887,  1.03188632,         1.07735253,  1.12482203,  1.1743831 ,  1.22612789,  1.28015263,         1.33655776,  1.39544817,  1.45693337,  1.52112768,  1.58815048,         1.65812638,  1.73118551,  1.80746372,  1.88710284,  1.97025095,         2.05706268,  2.14769945,  2.24232978,  2.34112964,  2.44428275,         2.55198092,  2.6644244 ,  2.78182229,  2.90439287,  3.03236406,         3.16597383,  3.30547061,  3.45111379,  3.6031742 ,  3.76193457,         3.92769013,  4.10074909,  4.28143324,  4.47007856,  4.66703583,         4.87267129,  5.0873673 ,  5.31152309,  5.54555546,  5.78989959,         6.04500984,  6.31136056,  6.58944702,  6.87978633,  7.18291835,         7.49940675,  7.82984002,  8.1748326 ,  8.53502598,  8.91108994,         9.30372374,  9.71365749, 10.14165343, 10.5885074 , 11.05505033,        11.54214972, 12.05071132, 12.58168079, 13.13604543, 13.71483608,        14.31912897, 14.95004776, 15.60876563, 16.29650743, 17.014552  ,        17.76423451, 18.54694898, 19.36415083, 20.21735962, 21.10816185,        22.03821395, 23.00924532, 24.02306154, 25.08154778, 26.18667226,        27.3404899 , 28.5451462 , 29.80288116, 31.11603351, 32.487045  ,        33.91846497, 35.4129551 , 36.97329435, 38.6023841 , 40.30325359,        42.07906552, 43.93312196, 45.86887045, 47.88991044, 50.        ])

Bin edges to use for energy histogram. Centers of the bins correspond to allowed energies.

energy_spectrum(event_time)[source]
frozen_model_functions: Tuple[str] = ('energy_spectrum',)

Frozen model functions defined in this block

model_attributes: Tuple[str] = ('pretend_wimps_dont_modulate', 'mw', 'sigma_nucleon', 'n_time_bins', 'energy_edges', 'energies', 'fv_radius', 'fv_high', 'fv_low', 'drift_velocity', 't_start', 't_stop')

Additional attributes this Block will furnish the source with. These can be overriden by Source attributes, just like model functions.

mu_before_efficiencies(**params)[source]
mw = 1000.0

WIMP Mass in GeV/c^2

n_time_bins = 24

Number of time bins to use for annual modulation computation

pretend_wimps_dont_modulate = False

If set to True, the energy spectrum at each time will be set to its average over the data taking period.

random_truth(n_events, fix_truth=None, **params)[source]

Draw n_events random energies and times from the energy/ time spectrum and add them to the data dict.

setup()[source]

Do any necessary initialization.

Called after the block’s attributes have been properly overriden by source attributes, if specified.

sigma_nucleon = 1e-45

WIMP-nucleon cross-section in cm^2

flamedisx.lxe_blocks.final_signals module

class flamedisx.lxe_blocks.final_signals.MakeS1(source)[source]

Bases: flamedisx.lxe_blocks.final_signals.MakeFinalSignals

_compute(data_tensor, ptensor, photoelectrons_detected, s1)[source]

Return (n_batch_events, …dimensions…) tensor

dimensions: Tuple[str] = ('photoelectrons_detected', 's1')

Names of dimensions of the block’s compute result

extra_dimensions: Tuple[Tuple[str, bool]] = ()

Additional dimensions used in the block computation. Label True if they represent an internally contracted hidden variable; these will be added to inner_dimensions so domain tensors are calculated automatically. Label False otherwise; these will be added to bonus_dimensions. Thus, any additional domain tensors utilising them will need calculating via the block overriding _domain_dict_bonus())

model_functions: Tuple[str] = ('photoelectron_gain_mean', 'photoelectron_gain_std', 's1_acceptance', 'reconstruction_bias_s1')

Names of model functions defined in this block

photoelectron_gain_mean = 1.0
photoelectron_gain_std = 0.5
quanta_name: str = 'photoelectron'
static reconstruction_bias_s1(sig)[source]

Dummy method for pax s2 reconstruction bias mean. Overwrite it in source specific class. See x1t_sr1.py for example.

s1_acceptance(s1, s1_min=2, s1_max=70)[source]
signal_name: str = 's1'
special_model_functions: Tuple[str] = ('reconstruction_bias_s1',)

Names of model functions that take an additional first argument (‘bonus arg’) defined in this block; must be a subset of model_functions

class flamedisx.lxe_blocks.final_signals.MakeS2(source)[source]

Bases: flamedisx.lxe_blocks.final_signals.MakeFinalSignals

_compute(data_tensor, ptensor, electrons_detected, s2)[source]

Return (n_batch_events, …dimensions…) tensor

dimensions: Tuple[str] = ('electrons_detected', 's2')

Names of dimensions of the block’s compute result

static electron_gain_mean(z, *, g2=20)[source]
electron_gain_std = 5.0
extra_dimensions: Tuple[Tuple[str, bool]] = ()

Additional dimensions used in the block computation. Label True if they represent an internally contracted hidden variable; these will be added to inner_dimensions so domain tensors are calculated automatically. Label False otherwise; these will be added to bonus_dimensions. Thus, any additional domain tensors utilising them will need calculating via the block overriding _domain_dict_bonus())

model_functions: Tuple[str] = ('electron_gain_mean', 'electron_gain_std', 's2_acceptance', 'reconstruction_bias_s2')

Names of model functions defined in this block

quanta_name: str = 'electron'
static reconstruction_bias_s2(sig)[source]

Dummy method for pax s2 reconstruction bias mean. Overwrite it in source specific class. See x1t_sr1.py for example.

s2_acceptance(s2, s2_min=2, s2_max=6000)[source]
signal_name: str = 's2'
special_model_functions: Tuple[str] = ('reconstruction_bias_s2',)

Names of model functions that take an additional first argument (‘bonus arg’) defined in this block; must be a subset of model_functions

flamedisx.lxe_blocks.quanta_generation module

class flamedisx.lxe_blocks.quanta_generation.MakeERQuanta(source)[source]

Bases: flamedisx.block_source.Block

_annotate(d)[source]

Add _min and _max for each dimension to d in-place

_calculate_dimsizes_special()[source]

Re-calculate dimension size and steps differently for any dimensions; will need to override _calculate_dimsizes_special() within a block

_compute(data_tensor, ptensor, quanta_produced, energy, rate_vs_energy, quanta_produced_noStep, energy_noStep)[source]

Return (n_batch_events, …dimensions…) tensor

_domain_dict_bonus(d)[source]

Calculate any additional intenal tensors arising from the use of bonus_dimensions in a block. Override within block

_simulate(d)[source]

Simulate extra columns in place.

Use the p_accepted column to modify acceptances; do not remove events here.

depends_on: Tuple[Tuple[Tuple[str], str]] = ((('energy',), 'rate_vs_energy'),)

Blocks whose result this block expects as an extra keyword argument to compute. Specify as ((block_dims, argument_name), …), where block_dims is the dimensions-tuple of the block, and argument_name the expected name of the compute keyword argument.

dimensions: Tuple[str] = ('quanta_produced', 'energy')

Names of dimensions of the block’s compute result

extra_dimensions: Tuple[Tuple[str, bool]] = (('quanta_produced_noStep', False),)

Additional dimensions used in the block computation. Label True if they represent an internally contracted hidden variable; these will be added to inner_dimensions so domain tensors are calculated automatically. Label False otherwise; these will be added to bonus_dimensions. Thus, any additional domain tensors utilising them will need calculating via the block overriding _domain_dict_bonus())

model_functions: Tuple[str] = ('work',)

Names of model functions defined in this block

work = 0.0137
class flamedisx.lxe_blocks.quanta_generation.MakeNRQuanta(source)[source]

Bases: flamedisx.block_source.Block

_annotate(d)[source]

Add _min and _max for each dimension to d in-place

_calculate_dimsizes_special()[source]

Re-calculate dimension size and steps differently for any dimensions; will need to override _calculate_dimsizes_special() within a block

_compute(data_tensor, ptensor, quanta_produced, energy, rate_vs_energy, quanta_produced_noStep, energy_noStep)[source]

Return (n_batch_events, …dimensions…) tensor

_domain_dict_bonus(d)[source]

Calculate any additional intenal tensors arising from the use of bonus_dimensions in a block. Override within block

_simulate(d)[source]

Simulate extra columns in place.

Use the p_accepted column to modify acceptances; do not remove events here.

depends_on: Tuple[Tuple[Tuple[str], str]] = ((('energy',), 'rate_vs_energy'),)

Blocks whose result this block expects as an extra keyword argument to compute. Specify as ((block_dims, argument_name), …), where block_dims is the dimensions-tuple of the block, and argument_name the expected name of the compute keyword argument.

dimensions: Tuple[str] = ('quanta_produced', 'energy')

Names of dimensions of the block’s compute result

extra_dimensions: Tuple[Tuple[str, bool]] = (('quanta_produced_noStep', False),)

Additional dimensions used in the block computation. Label True if they represent an internally contracted hidden variable; these will be added to inner_dimensions so domain tensors are calculated automatically. Label False otherwise; these will be added to bonus_dimensions. Thus, any additional domain tensors utilising them will need calculating via the block overriding _domain_dict_bonus())

static lindhard_l(e, lindhard_k=<tf.Tensor: shape=(), dtype=float32, numpy=0.138>)[source]

Return Lindhard quenching factor at energy e in keV

model_functions: Tuple[str] = ('work', 'lindhard_l')

Names of model functions defined in this block

special_model_functions: Tuple[str] = ('lindhard_l',)

Names of model functions that take an additional first argument (‘bonus arg’) defined in this block; must be a subset of model_functions

work = 0.0137

flamedisx.lxe_blocks.quanta_splitting module

class flamedisx.lxe_blocks.quanta_splitting.MakePhotonsElectronsBetaBinomial(source)[source]

Bases: flamedisx.lxe_blocks.quanta_splitting.MakePhotonsElectronsBinomial

do_pel_fluct = True
model_functions: Tuple[str] = ('p_electron', 'p_electron_fluctuation')

Names of model functions defined in this block

static p_electron_fluctuation(nq)[source]
special_model_functions: Tuple[str] = ('p_electron', 'p_electron_fluctuation')

Names of model functions that take an additional first argument (‘bonus arg’) defined in this block; must be a subset of model_functions

class flamedisx.lxe_blocks.quanta_splitting.MakePhotonsElectronsBinomial(source)[source]

Bases: flamedisx.block_source.Block

_annotate(d)[source]

Add _min and _max for each dimension to d in-place

_compute(data_tensor, ptensor, electrons_produced, photons_produced, quanta_produced, rate_vs_quanta)[source]

Return (n_batch_events, …dimensions…) tensor

_simulate(d)[source]

Simulate extra columns in place.

Use the p_accepted column to modify acceptances; do not remove events here.

depends_on: Tuple[Tuple[Tuple[str], str]] = ((('quanta_produced',), 'rate_vs_quanta'),)

Blocks whose result this block expects as an extra keyword argument to compute. Specify as ((block_dims, argument_name), …), where block_dims is the dimensions-tuple of the block, and argument_name the expected name of the compute keyword argument.

dimensions: Tuple[str] = ('electrons_produced', 'photons_produced')

Names of dimensions of the block’s compute result

do_pel_fluct = False
extra_dimensions: Tuple[Tuple[str, bool]] = ()

Additional dimensions used in the block computation. Label True if they represent an internally contracted hidden variable; these will be added to inner_dimensions so domain tensors are calculated automatically. Label False otherwise; these will be added to bonus_dimensions. Thus, any additional domain tensors utilising them will need calculating via the block overriding _domain_dict_bonus())

model_functions: Tuple[str] = ('p_electron',)

Names of model functions defined in this block

p_electron = 0.5
special_model_functions: Tuple[str] = ('p_electron',)

Names of model functions that take an additional first argument (‘bonus arg’) defined in this block; must be a subset of model_functions

Module contents