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 [GeV]
19# CRF_energy_cut0 [ECLCRFinder]: seed energy cut [GeV]
20# CRF_energy_cut1 [ECLCRFinder]: growth energy cut [GeV]
21# CRF_energy_cut2 [ECLCRFinder]: digit energy cut [GeV]
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 [GeV]
26# CRF_timeCut_maxEnergy1 [ECLCRFinder]: max energy for growth time cut [GeV]
27# CRF_timeCut_maxEnergy2 [ECLCRFinder]: max energy for digit time cut [GeV]
28# F_clusterEnergyCutMin [ECLFinalizer]: min energy for cluster [GeV]
29
30from ROOT import Belle2 # noqa: make Belle2 namespace available
31from ROOT.Belle2 import ECLClusteringParameters, Database, IntervalOfValidity
32import array
33
34parameters = ECLClusteringParameters()
35parameters.setLMEnergyCut(0.020)
36
37CRF_energy_cut = array.array('d', [0.020, 0.020, 0.0005])
38parameters.setCRFEnergyCut(CRF_energy_cut)
39
40CRF_time_cut = array.array('d', [400.0, 400.0, 99999.0])
41parameters.setCRFTimeCut(CRF_time_cut)
42
43CRF_timeCut_maxEnergy = array.array('d', [99999.0, 99999.0, 0.0])
44parameters.setCRFTimeCutMaxEnergy(CRF_timeCut_maxEnergy)
45
46parameters.setFClusterEnergyCutMin(0.020)
47
48database = Database.Instance()
49
50iov = IntervalOfValidity(0, 0, -1, -1)
51database.storeData('ECLClusteringParameters', parameters, iov)