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 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 patch(): from Configurables import TbTrackPlots, TbCombatBuilder, TbClustering, TbTracking seq.Members = [ TbCombatBuilder(), TbClustering(), TbTracking(), TbAlignment() ]
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()]
def egRun(): from Configurables import TbEventBuilder, TbTrackPlots, TbCalibration, TbVisualiserOutput from Configurables import TbClustering, TbClusterPlots, TbSimpleTracking, TbHitMonitor from Configurables import TbClusterAssociator, TbEfficiency, TbDUTMonitor TbEventBuilder().PrintFreq = 10 TbSimpleTracking().TimeWindow = 6 TbSimpleTracking().MaxDistance = 0 TbSimpleTracking().MinPlanes = 7 TbSimpleTracking().MaskedPlanes = [DUT_id, 4] TbSimpleTracking().MaxOpeningAngle = 0.005 TbSimpleTracking().RecheckTrack = True TbSimpleTracking().ChargeCutLow = 0 TbSimpleTracking().DoOccupancyCut = True TbSimpleTracking().MaxClusterSize = 20 TbSimpleTracking().MaxOccupancy = 7 # not inclusive TbTrackPlots().MaskedPlanes = [DUT_id, 4] TbClusterAssociator().DUTs = [DUT_id] TbDUTMonitor().DUTs = [DUT_id] TbClusterAssociator().TimeWindow = 10 TbClusterAssociator().XWindow = allowance TbEfficiency().CheckHitDUT = True TbEfficiency().CheckHitAlivePixel = True TbEfficiency().DUT = DUT_id TbEfficiency().TakeDeadPixelsFromFile = True TbEfficiency().nTotalTracks =500000 TbEfficiency().MaxChi = 2 seq = GaudiSequencer("Telescope") seq.Members = [TbEventBuilder(), TbClustering(), TbSimpleTracking(), TbClusterAssociator(), TbEfficiency()] #seq.Members = [TbEventBuilder()] seq = GaudiSequencer("Monitoring") from Configurables import TbHitMonitor, TbClusterPlots, TbTrackPlots #seq.Members = [TbHitMonitor(), TbClusterPlots(), TbTrackPlots(), TbDUTMonitor(), TbVisualiserOutput()] seq.Members = [TbDUTMonitor()]
def configureTelescope(self, seq): if self.getProp("Sim") == False: from Configurables import TbEventBuilder seq.Members += [TbEventBuilder()] else: from Configurables import TbTestMC seq.Members += [TbTestMC()] from Configurables import TbClustering seq.Members += [TbClustering()] if self.getProp("Tracking") == True: from Configurables import TbSimpleTracking, TbTracking trackingSeq = GaudiSequencer("Tracking") if self.getProp("UseSimpleTracking") == True: trackingSeq.Members = [TbSimpleTracking()] else: trackingSeq.Members = [TbTracking()] seq.Members += [trackingSeq] from Configurables import TbTriggerAssociator seq.Members += [TbTriggerAssociator()] from Configurables import TbClusterAssociator seq.Members += [TbClusterAssociator()] if self.getProp("Alignment") == True: from Configurables import TbAlignment seq.Members += [TbAlignment()]
from Configurables import TbMillepede TbMillepede().OutputLevel = 2 from Configurables import TbEventBuilder TbEventBuilder().MinPlanesWithHits = 5 elif runs.TYPE == 'dut': Kepler().Alignment = True Kepler().EvtMax = 100 from Configurables import TbAlignment TbAlignment().AlignmentTechnique = "Millepede" TbAlignment().MilleDUT = True TbAlignment().DeviceToAlign = 4 TbAlignment().DoFs = [1, 1, 0, 1, 1, 1] # Set the number of tracks to process. TbAlignment().NTracks = 10000 from Configurables import TbEventBuilder TbEventBuilder().MinPlanesWithHits = 5 elif runs.TYPE == 'run': Kepler().Alignment = False Kepler().EvtMax = 1000 from Configurables import TbClustering TbClustering().PrintConfiguration = True from Configurables import TbTracking TbTracking().PrintConfiguration = True Kepler().PixelConfigFile = cfile[rdut]
from Configurables import Kepler from Configurables import TbClusterAssociator TbClusterAssociator().DUTs = [4] TbClusterAssociator().XWindow = 0.1 TbClusterAssociator().TimeWindow = 35 from Configurables import TbEventBuilder TbEventBuilder().PrintHeader = True TbEventBuilder().MinPlanesWithHits = 8 TbEventBuilder().PrintFreq = 50 TbEventBuilder().Monitoring = True TbEventBuilder().ForceCaching = False from Configurables import TbClustering TbClustering().SearchDist = 2 from Configurables import TbSimpleTracking Kepler().UseSimpleTracking = True TbSimpleTracking().MinPlanes = 8 TbSimpleTracking().MaskedPlanes = [4] from Configurables import TbTrackPlots TbTrackPlots().ParametersSlope = ("", -0.01, 0.01, 1000) TbTrackPlots().ParametersResidualsXY = ("", -0.055, 0.055, 500) TbTrackPlots().ParametersXY = ("", 0, 15, 500) from Configurables import TbTriggerMonitor TbTriggerMonitor().OutputLevel = ERROR
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(): from Configurables import TbTrackPlots, TbCombatBuilder, TbClustering, TbTracking seq.Members = [ TbCombatBuilder(), TbClustering(), TbTracking(), TbAlignment() ]