def combatRun(): from Configurables import TbCombatBuilder TbCombatBuilder().CombatInputFile0 = "/afs/cern.ch/user/v/vifranco/public/Run31100003_SAMPLE.txt" TbCombatBuilder().ReadoutFormat = "RelaxD" # TbCombatBuilder().CombatInputFile1 = "/afs/cern.ch/user/v/vifranco/cmtuser/KEPLER/KEPLER_HEAD/240614_30V_TH500_100ms_merge.dat" seq = GaudiSequencer("Telescope") seq.Members = [TbCombatBuilder(), TbClustering(), TbTracking()] TbCombatBuilder().PrintFreq = 5000 TbCombatBuilder().NumberArms = 2 TbTracking().MinNClusters = 6 TbTracking().SearchRadius = 2 TbTracking().VolumeAngle = 0.0015 TbTracking().SearchPlanes = [3,5] TbTracking().SearchVolume = "diabolo" TbTracking().MaxChi2 = 2000000. TbTracking().ViewerEventNum = 100 TbTracking().ViewerTimeLow = 0 TbTracking().ViewerTimeUp = 2000000 #TbTracking().ViewerOutput = True TbTracking().CombatRun = True seq = GaudiSequencer("Monitoring") from Configurables import TbHitMonitor, TbClusterPlots, TbTrackPlots seq.Members = [TbHitMonitor(), TbClusterPlots(),TbTrackPlots()] TbTrackPlots().ParametersResidualsXY = ("", -1.0, 1.0, 200) TbTrackPlots().ParametersXY = ("", -2, 16, 200) TbClusterPlots().ParametersXY = ("", -2, 16, 200)
def configureMonitoring(self, seq): from Configurables import TbHitMonitor, TbClusterPlots, TbTrackPlots if self.getProp("Tracking") == True: seq.Members += [TbHitMonitor(), TbClusterPlots(), TbTrackPlots()] from Configurables import TbTriggerMonitor seq.Members += [TbTriggerMonitor()] from Configurables import TbDUTMonitor seq.Members += [TbDUTMonitor()] else: seq.Members += [TbHitMonitor(), TbClusterPlots()]
def combatRun(): from Configurables import TbEventBuilder, TbClustering seq = GaudiSequencer("Telescope") seq.Members = [TbEventBuilder(), TbClustering()] seq = GaudiSequencer("Monitoring") from Configurables import TbHitMonitor, TbClusterPlots, TbTrackPlots seq.Members = [TbHitMonitor(), TbClusterPlots()]
def sim(): seq = GaudiSequencer("Telescope") # TestMC options. from Configurables import TbTestMC TbTestMC().doMisAlign = False TbTestMC().NTracks = 200 TbTestMC().RunDuration = 10000 TbTestMC().NNoiseClusters = 0 TbTestMC().HitTimeJitter = 20 TbTestMC().ClusterPosnError = 0.001 TbTestMC().ClusterADCMPV = 300.0 # Ish. TbTestMC().ChargeSharingWidth = 0.033 # Best not to change much. TbTestMC().ThresholdCut = 20 TbTestMC().ForceEfficiency = True #TbTestMC().InitAlignment = "Alignment_perfect.dat" #TbTestMC().InitAlignment = Alignment_raw.dat # TbClustering options. from Configurables import TbClustering TbClustering().TimeWindow = 200 # TbTracking options. from Configurables import TbTracking TbTracking().TimeWindow = 300 TbTracking().SearchRadius = 1 TbTracking().MinNClusters = 7 TbTracking().Monitoring = True TbTracking().SearchVolume = "cylinder" # {cylinder, diabolo} # TbTracking speed options. TbTracking().nComboCut = 1000 # O(10) for speed. TbTracking( ).SearchVolumeFillAlgorithm = "adap_seq" # {seq, adap_seq}. Adap faster. seq.Members = [TbTestMC(), TbClustering(), TbTracking()] seq = GaudiSequencer("Monitoring") from Configurables import TbClusterPlots, TbTrackPlots seq.Members = [TbClusterPlots(), TbTrackPlots()]
from Runs import Runs pickled_runs = PATH_TO_OPTS + '/Runs.pkl' runs = pickle.load(open(pickled_runs)) block = runs.BLOCKS[0] rdut = runs.RUNS[block][0].DUT #runs = Runs('A','run') if runs.TYPE == 'survey': Kepler().Alignment = True Kepler().EvtMax = 100 from Configurables import TbClusterPlots # Set the reference plane. TbClusterPlots().ReferencePlane = 3 # Widen the range of the difference histograms if needed. TbClusterPlots().ParametersDifferenceXY = ('', -30., 30., 600) from Configurables import TbAlignment TbAlignment().AlignmentTechnique = "survey" from Configurables import TbEventBuilder TbEventBuilder().MinPlanesWithHits = 5 elif runs.TYPE == 'mille': Kepler().Alignment = True Kepler().EvtMax = 100 # List of devices under test duts = [4]
from Configurables import Kepler Kepler().Alignment = True Kepler().EvtMax = 30000 from Configurables import TbAlignment TbAlignment().ReferencsvePlane = "Chip1" TbAlignment().DuT = "" TbAlignment().AlignmentTechnique = "Millepede" TbAlignment().DoFs = [1, 1, 0, 1, 1, 1] TbAlignment().ParametersResidualsXY = ("", -0.8, 0.8, 200) TbAlignment().MaskedPlanes = [] TbAlignment().PrintConfiguration = True from Configurables import TbClusterPlots TbClusterPlots().ParametersDifferenceRot = ("", -.5, 0.5, 200) TbClusterPlots().ParametersDifferenceXY = ("", -7, 7, 200) TbClusterPlots().ParametersXY = ("", -1., 15, 280) TbClusterPlots().ReferencePlane = 2 TbClusterPlots().FillComparisonPlots = True from Configurables import TbTrackPlots, TbCombatBuilder, TbClustering, TbTracking TbTrackPlots().ParametersResidualsXY = ("", -0.8, 0.8, 200) seq = GaudiSequencer("Telescope") seq.Members = [TbCombatBuilder(), TbClustering(), TbTracking(), TbAlignment()] from Configurables import TbTracking TbTracking().MaskedPlanes = [] def patch():