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 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()]
# This file provides an example how to configure the algorithm TbTracking from Configurables import TbTracking TbTracking().MinNClusters = 7 TbTracking().SearchRadius = 1 TbTracking().VolumeAngle = 0.015 TbTracking().SearchVolume = "diabolo" TbTracking().TimeWindow = 150 TbTracking().nComboCut = 300 # O(100) for speed. TbTracking( ).SearchVolumeFillAlgorithm = "adap_seq" # {seq, adap_seq}. Adap faster. TbTracking().Monitoring = True TbTracking().SearchPlanes = [4, 3, 5] # TbTracking().MaskedPlanes = []
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 TbTracking # Exclude DUTs from the pattern recognition. TbTracking().MaskedPlanes = duts # Require clusters on all telescope planes. TbTracking().MinNClusters = 8 from Configurables import TbClusterPlots # Set the reference plane. TbClusterPlots().ReferencePlane = 3 TbClusterPlots().ParametersDifferenceXY = ('', -10., 10., 200) from Configurables import TbAlignment # Set the number of tracks to process. TbAlignment().NTracks = 10000 # Set the reference plane (fixed position). TbAlignment().ReferencePlane = 3 # Set the degrees of freedom (x, y, z, rx, ry, rz). TbAlignment().DoFs = [1, 1, 0, 1, 1, 1] TbAlignment().ParametersResidualsXY = ("", -0.2, 0.2, 100)
from Gaudi.Configuration import * trackFitToolName = "TbKalmanTrackFit" from Configurables import TbTracking TbTracking().TrackFitTool = trackFitToolName from Configurables import TbTrackPlots TbTrackPlots().TrackFitTool = trackFitToolName from Configurables import TbSimpleTracking #TbSimpleTracking().TrackFitTool = trackFitToolName from Configurables import TbVertexTracking #TbVertexTracking().TrackFitTool = trackFitToolName from Configurables import TbAlignment # TbAlignment().TrackFitTool = trackFitToolName
from Configurables import Kepler # Add TbAlignment to the Telescope sequence. Kepler().Alignment = True #chombach modifications from Configurables import TbEventBuilder # Skip noise events. TbEventBuilder().MinPlanesWithHits = 5 # List of devices under test duts = [4] from Configurables import TbTracking # Exclude DUTs from the pattern recognition. TbTracking().MaskedPlanes = duts # Require clusters on all telescope planes. TbTracking().MinNClusters = 8 from Configurables import TbAlignment TbAlignment().AlignmentTechnique = "Millepede" # Set the number of tracks to process. TbAlignment().NTracks = 10000 # Set the reference plane (fixed position). TbAlignment().ReferencePlane = 3 # Set the degrees of freedom (x, y, z, rx, ry, rz). TbAlignment().DoFs = [0, 0, 1, 0, 0, 0] TbAlignment().ParametersResidualsXY = ("", -0.2, 0.2, 100) TbAlignment().MaskedPlanes = duts TbAlignment().PrintConfiguration = True TbAlignment().ResCutInit = 1.3
RUN = '9187' if int(RUN) < 2000: path += 'July' elif int(RUN) < 2815: path += 'Oct' elif int(RUN) < 4000: path += 'Nov' else: path += 'Dec' path += '2014' Kepler().InputFiles = [path + '/RawData/Run' + RUN + '/'] Kepler().PixelConfigFile = ["eos/lhcb/testbeam/velo/timepix3/July2014/RootFiles/Run1236/Conditions/PixelConfig.dat"] Kepler().AlignmentFile = path + '/RootFiles/Run' + RUN + '/Conditions/Alignment' + RUN + 'mille.dat' #Kepler().AlignmentFile = 'ResStudies/Alignments/dut/Alignment2509.dat' Kepler().HistogramFile= 'Kepler_histos_' + RUN + '.root' # Set the number of events to run over Kepler().EvtMax = 1000 # Set the configuration of the individual algorithms, e. g. from Configurables import TbEventBuilder #TbEventBuilder().MinPlanesWithHits = 5 from Configurables import TbClustering TbClustering().PrintConfiguration = True from Configurables import TbTracking TbTracking().PrintConfiguration = True
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)
from Gaudi.Configuration import * from Configurables import Kepler Kepler().InputFiles = ["eos/lhcb/testbeam/velo/timepix3/July2014/RawData/Run1062/"] Kepler().PixelConfigFile = "eos/lhcb/testbeam/velo/timepix3/July2014/RootFiles/Run1062/Conditions/PixelMask.dat" Kepler().EvtMax = 100 Kepler().WriteTuples = False Kepler().Monitoring = False Kepler().Alignment = True Kepler().AlignmentFile = "Alignment.dat" from Configurables import TbTrackPlots TbTrackPlots().ParametersResidualsXY = ("",-0.1,0.1,2000) from Configurables import TbAlignment, TbTracking TbAlignment().PrintConfiguration = True TbAlignment().FitStrategy = 1 TbAlignment().ReferencePlane = 3 TbAlignment().MaskedPlanes = TbTracking().MaskedPlanes TbAlignment().OutputLevel = INFO
from Gaudi.Configuration import * from Configurables import Kepler from Configurables import TbEventBuilder TbEventBuilder().MinPlanesWithHits = 2 TbEventBuilder().PrintFreq = 100 TbEventBuilder().Monitoring = True Kepler().EvtMax = 5000 Kepler( ).AlignmentFile = "eos/lhcb/testbeam/velo/timepix3/Dec2014/RootFiles/Run4012/Conditions/Alignment4012.dat" from Configurables import TbTracking TbTracking().PrintConfiguration = True TbTracking().MinNClusters = 3 TbTracking().SearchRadius = 0.5 TbTracking().VolumeAngle = 0.2 TbTracking().TimeWindow = 75 TbTracking().Monitoring = False TbTracking().SearchPlanes = [2, 3] TbTracking().MaskedPlanes = [] from Configurables import TbTrackPlots
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() ]