Esempio n. 1
0
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)
Esempio n. 2
0
 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()]
Esempio n. 3
0
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()]
Esempio n. 4
0
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()]
Esempio n. 5
0
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]
Esempio n. 6
0
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():