4 from basf2
import create_path, set_log_level, B2ERROR, B2INFO, LogLevel, process, statistics
6 from simulation
import add_simulation
7 from svd
import add_svd_simulation
26 if argvs[1] ==
'phase2':
29 elif argvs[1] ==
'phase3':
32 elif argvs[1] ==
'phase31':
36 B2ERROR(
'The argument can be either phase2, phase3 or phase31')
39 B2ERROR(
'No argument given specifying the running phase')
40 print(
'Usage: basf2 ' + argvs[0] +
' phase2/phase3/phase31 [scaleFactor=1 ' +
41 'PXDmode=ungated/gated]')
47 scaleFactor = float(argvs[2])
51 if len(argvs) > 3
and argvs[3] ==
'gated':
56 if 'BELLE2_BACKGROUND_MIXING_DIR' not in os.environ:
57 B2ERROR(
'BELLE2_BACKGROUND_MIXING_DIR variable is not set - it must contain the path to BG samples')
60 bg = glob.glob(os.environ[
'BELLE2_BACKGROUND_MIXING_DIR'] +
'/*.root')
62 B2ERROR(
'No root files found in folder ' + os.environ[
'BELLE2_BACKGROUND_MIXING_DIR'])
65 B2INFO(
'Making BG overlay sample for ' + argvs[1] +
' with ECL compression = ' +
66 str(compression) +
' and PXD in ' + mode +
' mode')
67 B2INFO(
'Using background samples from folder ' + os.environ[
'BELLE2_BACKGROUND_MIXING_DIR'])
68 B2INFO(
'With scaling factor: ' + str(scaleFactor))
70 set_log_level(LogLevel.WARNING)
76 main.add_module(
'EventInfoSetter', evtNumList=[100], expList=[expNo])
79 main.add_module(
'Gearbox')
82 main.add_module(
'Geometry')
86 main.add_module(
'BeamBkgMixer', backgroundFiles=bg, overallScaleFactor=scaleFactor,
87 minTimePXD=-20000.0, maxTimePXD=20000.0)
90 main.add_module(
'PXDInjectionVetoEmulator')
93 main.add_module(
'PXDDigitizer')
96 main.add_module(
'BeamBkgMixer', backgroundFiles=bg, overallScaleFactor=scaleFactor)
99 main.add_module(
'PXDDigitizer', IntegrationWindow=
False)
102 add_svd_simulation(main)
105 main.add_module(
'CDCDigitizer')
108 main.add_module(
'TOPDigitizer')
111 main.add_module(
'ARICHDigitizer')
114 main.add_module(
'ECLDigitizer', WaveformMaker=
True, CompressionAlgorithm=compression)
117 main.add_module(
'KLMDigitizer')
120 branches = [
'PXDDigits',
'SVDShaperDigits',
'CDCHits',
'TOPDigits',
121 'ARICHDigits',
'ECLWaveforms',
'KLMDigits']
123 branches += [
'PXDInjectionBGTiming']
124 main.add_module(
'RootOutput', outputFileName=
'BGforOverlay.root', branchNames=branches)
127 main.add_module(
'Progress')