Belle II Software development
eclWriteClusteringParameters.py
1#!/usr/bin/env python
2
3
10
11# eclWriteClusteringParameters creates an eclClusteringParameters payload
12# from the values specified in the steering file.
13#
14# usage:
15# basf2 eclWriteClusteringParameters.py
16#
17# where the parameters are:
18# LM_energy_cut [ECLLocalMaximumFinder]: Seed energy cut [MeV]
19# CRF_energy_cut0 [ECLCRFinder]: seed energy cut [MeV]
20# CRF_energy_cut1 [ECLCRFinder]: growth energy cut [MeV]
21# CRF_energy_cut2 [ECLCRFinder]: digit energy cut [MeV]
22# CRF_time_cut0 [ECLCRFinder]: seed time cut [ns]
23# CRF_time_cut1 [ECLCRFinder]: growth time cut [ns]
24# CRF_time_cut2 [ECLCRFinder]: digit time cut [ns]
25# CRF_timeCut_maxEnergy0 [ECLCRFinder]: max energy for seed time cut [MeV]
26# CRF_timeCut_maxEnergy1 [ECLCRFinder]: max energy for growth time cut [MeV]
27# CRF_timeCut_maxEnergy2 [ECLCRFinder]: max energy for digit time cut [MeV]
28
29from ROOT import Belle2 # noqa: make Belle2 namespace available
30from ROOT.Belle2 import ECLClusteringParameters, Database, IntervalOfValidity
31import array
32
33parameters = ECLClusteringParameters()
34parameters.setLMEnergyCut(20.0)
35
36CRF_energy_cut = array.array('d', [20.0, 20.0, 0.5])
37parameters.setCRFEnergyCut(CRF_energy_cut)
38
39CRF_time_cut = array.array('d', [400.0, 400.0, 99999.0])
40parameters.setCRFTimeCut(CRF_time_cut)
41
42CRF_timeCut_maxEnergy = array.array('d', [99999.0, 99999.0, 0.0])
43parameters.setCRFTimeCutMaxEnergy(CRF_timeCut_maxEnergy)
44
45database = Database.Instance()
46
47iov = IntervalOfValidity(0, 0, -1, -1)
48database.storeData('ECLClusteringParameters', parameters, iov)