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 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. 3
0
def patch():
    from Configurables import TbTrackPlots, TbCombatBuilder, TbClustering, TbTracking
    seq.Members = [
        TbCombatBuilder(),
        TbClustering(),
        TbTracking(),
        TbAlignment()
    ]
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
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()]
Esempio n. 6
0
 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()]
Esempio n. 7
0
    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]
Esempio n. 8
0
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
Esempio n. 9
0
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()
    ]