00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 from DybAlg.FilterAlgs import FilterAlg, CoincidenceFilterAlg
00012 import GaudiKernel.SystemOfUnits as units
00013
00014 def configure():
00015 return
00016
00017 def run(app):
00018 '''
00019 Add filtering algorithm to the job
00020 '''
00021
00022 reconFilter = FilterAlg("ReconFilter")
00023 reconFilter.OutputLevel = 1
00024 reconFilter.ClearStore = True
00025 reconFilter.StorePath = "/Event/Rec/RecHeader"
00026 app.addAlgorithm(reconFilter)
00027
00028
00029 singlesReadoutFilter = FilterAlg("SinglesReadoutFilter")
00030 singlesReadoutFilter.OutputLevel = 1
00031
00032 singlesReadoutFilter.ClearStore = False
00033 singlesReadoutFilter.StorePath = "/Event/Readout/ReadoutHeader"
00034 singlesReadoutFilter.Prescale = 0.01
00035 app.addAlgorithm(singlesReadoutFilter)
00036
00037
00038 coincFilter = CoincidenceFilterAlg("CoincidenceFilter")
00039 coincFilter.OutputLevel = 1
00040
00041 coincFilter.StorePaths = ["/Event/Readout/ReadoutHeader",
00042 "/Event/SimReadout/SimReadoutHeader",
00043 "/Event/SimTrig/SimTrigHeader",
00044 "/Event/Elec/ElecHeader",
00045 "/Event/Sim/SimHeader",
00046 "/Event/Gen/GenHeader"]
00047 coincFilter.CoincidenceWindow = 15.0 * units.millisecond
00048
00049
00050
00051
00052
00053 coincFilter.DetectorNames = ["DayaBayAD1", "DayaBayAD2"]
00054
00055 coincFilter.SaveIntermediate = True
00056
00057
00058 coincFilter.SaveNeighbors = True
00059 coincFilter.NeighborWindow = 1.0 * units.microsecond
00060 app.addAlgorithm(coincFilter)
00061 pass