Belle II Software  release-05-01-25
SVDDefaultHotStripsImporter.py
1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3 
4 """
5 SVD Default HotStrips Calibration importer.
6 Script to Import Calibrations into a local DB
7 """
8 import basf2
9 from basf2 import *
10 from svd import *
11 import ROOT
12 from ROOT import Belle2
13 from ROOT.Belle2 import SVDHotStripsCalibrations
14 import datetime
15 import os
16 
17 now = datetime.datetime.now()
18 
19 
20 class defaultHotStripsImporter(basf2.Module):
21  '''default importer for hot strips'''
22 
23  def beginRun(self):
24  '''begin run'''
25 
27  # iov = IntervalOfValidity(0,0,-1,-1)
28 
29  payload = Belle2.SVDHotStripsCalibrations.t_payload(0, "HotStrips_default_" + str(now.isoformat()) + "_INFO:_noHotstrips")
30 
32 
33  for layer in geoCache.getLayers(Belle2.VXD.SensorInfoBase.SVD):
34  layerNumber = layer.getLayerNumber()
35  for ladder in geoCache.getLadders(layer):
36  ladderNumber = ladder.getLadderNumber()
37  for sensor in geoCache.getSensors(ladder):
38  sensorNumber = sensor.getSensorNumber()
39  for side in (0, 1):
40  Nstrips = 768
41  print("setting hot strips default value (0, good strip) for " +
42  str(layerNumber) + "." + str(ladderNumber) + "." + str(sensorNumber))
43 
44  if side == 0 and not layerNumber == 3: # non-L3 V side
45  Nstrips = 512
46 
47  for strip in range(0, Nstrips):
48  payload.set(layerNumber, ladderNumber, sensorNumber, bool(side), 1, 0)
49 
50  Belle2.Database.Instance().storeData(Belle2.SVDHotStripsCalibrations.name, payload, iov)
51 
52 
53 use_database_chain()
54 use_central_database("svd_onlySVDinGeoConfiguration")
55 use_local_database("localDB_defaultHotStripsCalibrations/database.txt", "localDB_defaultHotStripsCalibrations")
56 
57 main = create_path()
58 
59 # Event info setter - execute single event
60 eventinfosetter = register_module('EventInfoSetter')
61 eventinfosetter.param({'evtNumList': [1], 'expList': 0, 'runList': 0})
62 main.add_module(eventinfosetter)
63 
64 main.add_module("Gearbox") # , fileName="/geometry/Beast2_phase2.xml")
65 main.add_module("Geometry", components=['SVD']) # , useDB = True)
66 
67 main.add_module(defaultHotStripsImporter())
68 
69 # Show progress of processing
70 progress = register_module('Progress')
71 main.add_module(progress)
72 
73 # Process events
74 process(main)
SVDDefaultHotStripsImporter.defaultHotStripsImporter
Definition: SVDDefaultHotStripsImporter.py:20
Belle2::IntervalOfValidity::always
static IntervalOfValidity always()
Function that returns an interval of validity that is always valid, c.f.
Definition: IntervalOfValidity.h:72
SVDDefaultHotStripsImporter.defaultHotStripsImporter.beginRun
def beginRun(self)
Definition: SVDDefaultHotStripsImporter.py:23
Belle2::VXD::GeoCache::getInstance
static GeoCache & getInstance()
Return a reference to the singleton instance.
Definition: GeoCache.cc:215
Belle2::Database::Instance
static Database & Instance()
Instance of a singleton Database.
Definition: Database.cc:54
Belle2::SVDCalibrationsBase
base class for calibrations classes
Definition: SVDCalibrationsBase.h:36