# Configuration file for residual studies. from os.path import join, abspath from sys import path import pickle from Gaudi.Configuration import * from Configurables import Kepler cdir = "eos/lhcb/testbeam/velo/timepix3/LabData/TP/SurrogateParameterFiles/" cfile = {"W0009_J04" : [ cdir+"S20_Coarse64_26022015_SpidrTime_surrog_fitpars_perpix_NNsmoothingON.dat" ], "W0009_H08,W0009_D09,W0009_E09": [ cdir+"T2_200V_TestPulse_SpidrTime_130315_CHIP0_surrog_fitpars_perpix_NNsmoothingON.dat", cdir+"T2_200V_TestPulse_SpidrTime_130315_CHIP1_surrog_fitpars_perpix_NNsmoothingON.dat", cdir+"T2_200V_TestPulse_SpidrTime_130315_CHIP2_surrog_fitpars_perpix_NNsmoothingON.dat"] } PATH_TO_OPTS= abspath('/afs/cern.ch/user/c/chombach/cmtuser/KEPLER/KEPLER_HEAD/Tb/Kepler/options/ResStudies/') path.append( PATH_TO_OPTS ) 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 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) TbAlignment().MaskedPlanes = duts TbAlignment().PrintConfiguration = True TbAlignment().ResCutInit = 1.3 TbAlignment().ResCut = 0.06 TbAlignment().NIterations = 6 TbAlignment().AlignmentTechnique = "Millepede" 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 ]