# -*- makefile -*- (for emacs syntax highlighting) # # This is a TrgConfig file, which is read by the TrgConfig parser to # load the TrgConfig interface. About the syntax of the TrgConfig # file see the TrgConfig(5) man page; about retrieving it from the # configuration database, see getTrgConfig(1). # # TrgConfig represents the single, authoritative source for the # configuration of the Level 1 and Level 3 Trigger systems. It is # used to configure the trigger logic and parameters of the GLT # (Global Trigger) lines, the auxiliary (software trigger and gate # module) lines, the trigger mask and prescale factors of the FCT # (Fast Control and Timing System), the execution web of input lines, # scripts and output lines of the Level 3 trigger, and the prescale # factors and flags of the OEP (Online Event Processing) lines. # # Contact: Rainer Bartoldus # # Modification Log: # 03-Mar-2006 RB Special configuration replacing the HER/LER # injection samples with an SVT radiation sample # line that collects bursts to diagnose PEP-II # vaccuum instabilities. # 10-Nov-2005 RB First version serving the FCT trigger mask. # 29-Jul-2004 RB Revision of the z-Trigger configuration. # 29-Jul-2004 RB First configuration for the z-Trigger. # For earlier configuration logs check # Physics-86.tcl, stored under key 4896. # GltObjects = nU nG nG* nE nY nM nM* nEM nA nA* nB nB* nZ nZt nZk nZ' nEZ: #' L1Lines = # # Name GLT Cut Priority # 3B&2A&1Z&2M: ( nB>=3 and nA>=2 and nZ>=1 and nM>=2 ) number= 1 prescale=1 width=15 delay=0 3B&2A&2Z: ( nB>=3 and nA>=2 and nZ>=2 ) number= 2 prescale=1 width=15 delay=0 3B&B*&1G&1Z: ( nB>=3 and nB*>=1 and nG>=1 and nZ>=1 ) number= 3 prescale=1 width=15 delay=0 2E: ( nE>=2 ) number= 4 prescale=1 width=15 delay=0 EM*: ( nEM>=1 ) number= 5 prescale=1 width=15 delay=0 G*: ( nG*>=1 ) number= 6 prescale=1 width=15 delay=0 D2&1E&1Z: ( nB>=2 and nA>=1 and nE>=1 and nZ>=1 ) number= 7 prescale=1 width=15 delay=0 1Y&1B: ( nY>=1 and nB>=1 ) number= 8 prescale=1 width=15 delay=0 B*&1A&1Z': ( nB*>=1 and nA>=1 and nZ'>=1 ) number= 9 prescale=1 width=15 delay=0 3M&D2&1Z: ( nM>=3 and nB>=2 and nA>=1 and nZ>=1 ) number=10 prescale=1 width=15 delay=0 4M: ( nM>=4 ) number=11 prescale=1 width=15 delay=0 3M&M*: ( nM>=3 and nM*>=1 ) number=12 prescale=1 width=15 delay=0 2M&1A&1Z'&1Zt: ( nM>=2 and nA>=1 and nZ'>=1 and nZt>=1 ) number=13 prescale=1 width=15 delay=0 M*&5U: ( nM*>=1 and nU>=5 ) number=14 prescale=1 width=15 delay=0 2Zt&1A: ( nZt>=2 and nA>=1 ) number=15 prescale=1 width=15 delay=0 3M: ( nM>=3 ) number=16 prescale=4 width=15 delay=0 3B&2A: ( nB>=3 and nA>=2 ) number=17 prescale=8 width=15 delay=0 M*&1Z: ( nM*>=1 and nZ>=1 ) number=18 prescale=4 width=15 delay=0 1Z: ( nZ>=1 ) number=19 prescale=64 width=15 delay=0 D2*&1M: ( nB*>=1 and nA>=1 and nM>=1 ) number=20 prescale=16 width=15 delay=0 2M: ( nM>=2 ) number=21 prescale=60 width=15 delay=0 D2: ( nB>=2 and nA>=1 ) number=22 prescale=96 width=15 delay=0 1B: ( nB>=1 ) number=23 prescale=0 width=15 delay=0 1M: ( nM>=1 ) number=24 prescale=0 width=15 delay=0 SVTradiationsample: hardware number=25 sourcecalpulser: hardware number=27 prescale=1 disable lightpulser: hardware number=28 prescale=1 disable cyclic1: cyclic number=29 prescale=1 rate=1 cyclic10: cyclic number=30 prescale=1 rate=10 HERinjection: hardware number=31 prescale=1 disable LERinjection: hardware number=32 prescale=1 disable FctTimePoints = # swap these back? LERInjectionTimePoint: LERinjection HERInjectionTimePoint: HERinjection L3InputLines = L3InputOpen: 3B&2A&1Z&2M or 3B&2A&2Z or 3B&B*&1G&1Z or 2E or EM* or G* or D2&1E&1Z or 1Y&1B or B*&1A&1Z' or 3M&D2&1Z or 4M or 3M&M* or 2M&1A&1Z'&1Zt or M*&5U or 2Zt&1A or 3M or 3B&2A or M*&1Z or 1Z or D2*&1M or 2M or D2 or 1B or 1M or SVTradiationsample or sourcecalpulser or lightpulser or cyclic1 or cyclic10 or HERinjection or LERinjection L3InputPhysics: 3B&2A&1Z&2M or 3B&2A&2Z or 3B&B*&1G&1Z or 2E or EM* or G* or D2&1E&1Z # or 1Y&1B or B*&1A&1Z' or 3M&D2&1Z or 4M or 3M&M* or 2M&1A&1Z'&1Zt or M*&5U or 2Zt&1A or 3M or 3B&2A or M*&1Z or 1Z or D2*&1M or 2M or D2 # or 1B or 1M L3InputCyclic1: cyclic1 L3InputCyclic10: cyclic10 L3InputInjection: HERinjection or LERinjection L3InputRadiationSample: SVTradiationsample L3Sequences = L3DSequence: L3ESequence: L3Modules = # Dch filters L3DIP1TrackFilter: L3DIPTrackFilterProto { nTracksCut = 1 d0Cut = 1.0 z0Cut = 7.0 ptCut = 0.600 } L3DIP2TrackFilter: L3DIPTrackFilterProto { nTracksCut = 2 d0Cut = 1.5 z0Cut = 10.0 ptCut = 0.250 } # Emc filters L3EHighEnergyFilter: L3EClusterFilterProto { nClustersCut = 2 xClusterCut = 0.0662 } L3EHighMultiplicityFilter: L3EClusterFilterProto { nClustersCut = 4 xClusterCut = 0. } # Bhabha veto L3TBhabha1ProngVetoFilter: L3TBhabha1ProngVetoFilterProto L3TBhabha2ProngVetoFilter: L3TBhabha2ProngVetoFilterProto # Bhabha accept filters L3TBhabhaAcceptFilter: L3TBhabhaAcceptFilterProto L3TRadiativeBhabhaFilter: L3TRadiativeBhabhaFilterProto L3TVirtualComptonFilter: L3TVirtualComptonFilterProto L3EBhabhaFilter: L3EBhabhaFilterProto # Online luminosity L3TOnlineLumiFilter: L3TOnlineLumiFilterProto # Gamma gamma final state L3TGammaGammaFilter: L3TGammaGammaFilterProto # Physics filters L3THadronicAFilter: L3THadronicFilterProto { r2Cut = 0.95 } L3THadronicBFilter: L3THadronicFilterProto { r2Cut = 0.40 } # Calibration filters L3TMuPairFilter: L3TMuPairFilterProto L3TPhiGammaFilter: L3TPhiGammaFilterProto L3TCosmic2ProngFilter: L3TCosmic2ProngFilterProto L3TWideCosmic2ProngFilter: L3TCosmic2ProngFilterProto { d0Cut = 12.0 } # Monitors L3TBoostMonitor: L3TBoostMonitorProto L3TBoostMonitorCosmics: L3TBoostMonitorProto { doBoost = 0 } L3TBoostMonitorUncorrected: L3TBoostMonitorProto { doCorrection = 0 } L3TBeamSpotMonitor: L3TBeamSpotMonitorProto L3TDataflowDamageFilter: L3TDataflowDamageFilterProto L3TRateLimitingFilter: L3TRateLimitingFilterProto # Binned prescalers L3TBinnedPrescaler: L3TBinnedPrescalerProto # Injection filters L3TLERTimePointAFilter: L3TTimePoint2DFilterProto { # fctTimePointName = LERInjectionTimePoint revolutionMinCut = 0 revolutionMaxCut = 49 # 50 * 873 / 119 MHz = 367 us phase119MinCut = 0 phase119MaxCut = 872 # all phases } L3TLERTimePointBFilter: L3TTimePoint2DFilterProto { # fctTimePointName = LERInjectionTimePoint revolutionMinCut = 0 revolutionMaxCut = 1249 # 1250 * 873 / 119 MHz = 9.2 ms phase119MinCut = 330 phase119MaxCut = 480 # phases near the injection bunch } L3THERTimePointAFilter: L3TTimePoint2DFilterProto { # fctTimePointName = HERInjectionTimePoint revolutionMinCut = 0 revolutionMaxCut = 149 # 150 * 873 / 119 MHz = 1.1 ms phase119MinCut = 0 phase119MaxCut = 872 # all phases } L3THERTimePointBFilter: L3TTimePoint2DFilterProto { # fctTimePointName = HERInjectionTimePoint revolutionMinCut = 0 revolutionMaxCut = 1999 # 2000 * 873 / 119 MHz = 14.7 ms phase119MinCut = 572 phase119MaxCut = 700 # phases near the injection bunch } # Injection veto L3TLERTimePointVetoFilter: L3TTimePoint2DFilterProto { # fctTimePointName = LERInjectionTimePoint revolutionMinCut = 0 revolutionMaxCut = 4088 # 4089 * 873 / 119 MHz = 30 ms negate = 1 } L3THERTimePointVetoFilter: L3TTimePoint2DFilterProto { # fctTimePointName = HERInjectionTimePoint revolutionMinCut = 0 revolutionMaxCut = 4088 # 4089 * 873 / 119 MHz = 30 ms negate = 1 } # Time point monitoring L3TLERTimePointMonitor: L3TTimePointMonitorProto { # fctTimePointName = LERInjectionTimePoint } L3THERTimePointMonitor: L3TTimePointMonitorProto { # fctTimePointName = HERInjectionTimePoint } L3TLERTimePointOrderingFilter: L3TTimePointOrderingFilterProto { # fctTimePointName = LERInjectionTimePoint } L3THERTimePointOrderingFilter: L3TTimePointOrderingFilterProto { # fctTimePointName = HERInjectionTimePoint } L3TLEROnlyTimePointFilter: L3TTimePoint2DFilterProto { # fctTimePointName = LERInjectionTimePoint revolutionMinCut = 0 revolutionMaxCut = 13631 # 13632 * 873 / 119 MHz = 100 ms } L3THEROnlyTimePointFilter: L3TTimePoint2DFilterProto { # fctTimePointName = HERInjectionTimePoint revolutionMinCut = 0 revolutionMaxCut = 13631 # 13632 * 873 / 119 MHz = 100 ms } L3TLERBhabhaTimePointFilter: L3TTimePoint2DFilterProto { # fctTimePointName = LERInjectionTimePoint revolutionMinCut = 0 revolutionMaxCut = 13631 # 13632 * 873 / 119 MHz = 100 ms } L3THERBhabhaTimePointFilter: L3TTimePoint2DFilterProto { # fctTimePointName = HERInjectionTimePoint revolutionMinCut = 0 revolutionMaxCut = 13631 # 13632 * 873 / 119 MHz = 100 ms } L3Scripts = IP1TrackScript: L3InputPhysics { L3DSequence L3DIP1TrackFilter } IP2TrackScript: L3InputPhysics { L3DSequence L3DIP2TrackFilter } Cosmic2ProngScript: L3InputPhysics { L3DSequence L3TCosmic2ProngFilter } WideCosmic2ProngScript: L3InputPhysics { L3DSequence L3TWideCosmic2ProngFilter } OnlineLumiScript: L3InputPhysics { L3DSequence L3TOnlineLumiFilter } EHighMultiplicityScript: L3InputPhysics { L3ESequence L3EHighMultiplicityFilter } EHighEnergyScript: L3InputPhysics { L3ESequence L3EHighEnergyFilter } Bhabha1ProngVetoScript: L3InputPhysics { L3DSequence L3ESequence L3TBhabha1ProngVetoFilter } Bhabha2ProngVetoScript: L3InputPhysics { L3DSequence L3ESequence L3TBhabha2ProngVetoFilter } BhabhaScript: L3InputOpen { L3DSequence L3ESequence L3TBhabhaAcceptFilter } RadiativeBhabhaScript: L3InputOpen { L3DSequence L3ESequence L3TRadiativeBhabhaFilter } MuPairScript: L3InputPhysics { L3DSequence L3ESequence L3TMuPairFilter } HadronicAScript: L3InputPhysics { L3DSequence L3THadronicAFilter } HadronicBScript: L3InputPhysics { L3DSequence L3THadronicBFilter } VirtualComptonScript: L3InputOpen { L3DSequence L3ESequence L3TVirtualComptonFilter } EmcBhabhaScript: L3InputOpen { L3ESequence L3EBhabhaFilter } GammaGammaScript: L3InputOpen { L3DSequence L3ESequence L3TGammaGammaFilter } PhiGammaScript: L3InputPhysics { L3DSequence L3ESequence L3TPhiGammaFilter } BoostMonitorScript: L3InputPhysics { L3DSequence L3TBoostMonitor } BoostMonitorCosmicsScript: L3InputPhysics { L3DSequence L3TBoostMonitorCosmics } BoostMonitorUncorrectedScript: L3InputPhysics { L3DSequence L3TBoostMonitorUncorrected } BeamSpotMonitorScript: L3InputPhysics { L3DSequence L3TBeamSpotMonitor } DataflowDamageScript: L3InputOpen { L3TDataflowDamageFilter } RateLimitedDataflowDamageScript: L3InputOpen { L3TDataflowDamageFilter L3TRateLimitingFilter } L1OpenScript: L3InputOpen { } Cyclic1Script: L3InputCyclic1 { } Cyclic10Script: L3InputCyclic10 { } InjectionScript: L3InputInjection { } RadiationSampleScript: L3InputRadiationSample { } # Event Reconstruction physics window LERTimePointAScript: L3InputOpen { L3TLERTimePointAFilter } LERTimePointBScript: L3InputOpen { L3TLERTimePointBFilter } HERTimePointAScript: L3InputOpen { L3THERTimePointAFilter } HERTimePointBScript: L3InputOpen { L3THERTimePointBFilter } # Prompt Calibration veto LERTimePointVetoScript: L3InputOpen { L3TLERTimePointVetoFilter } HERTimePointVetoScript: L3InputOpen { L3THERTimePointVetoFilter } TimePointVetoScript: L3InputOpen { L3TLERTimePointVetoFilter L3THERTimePointVetoFilter } # Time point monitors LERTimePointMonitorScript: L3InputOpen { L3TLERTimePointMonitor L3TLERTimePointOrderingFilter L3TLEROnlyTimePointFilter } HERTimePointMonitorScript: L3InputOpen { L3THERTimePointMonitor L3THERTimePointOrderingFilter L3THEROnlyTimePointFilter } LERBhabhaTimePointScript: L3InputOpen { L3DSequence L3ESequence L3TBhabhaAcceptFilter L3TLERTimePointOrderingFilter L3TLERBhabhaTimePointFilter } HERBhabhaTimePointScript: L3InputOpen { L3DSequence L3ESequence L3TBhabhaAcceptFilter L3THERTimePointOrderingFilter L3THERBhabhaTimePointFilter } OepInputLines = L3OutDch: prescale=1 enable L3OutEmc: prescale=1 enable L3OutDchEmcPreVeto: prescale=50 enable L3OutBhabha: prescale=1000 enable L3OutBhabhaFlat: prescale=1 enable L3OutRadiativeBhabha: prescale=1 enable L3OutMuPair: prescale=1 enable L3OutCalibHadron: prescale=1 enable L3OutEmcBhabha: prescale=1 enable L3OutVirtualCompton: prescale=1 enable L3OutGammaGamma: prescale=1 enable L3OutPhiGamma: prescale=1 enable L3OutCosmic: prescale=1 enable L3OutWideCosmic: prescale=1 enable L3OutLumi: prescale=1000 enable L3OutDataflowDamage: prescale=1 enable L3OutL1Open: prescale=200 enable L3OutCyclic1: prescale=1 enable L3OutInjection: prescale=1 enable L3OutRadiationSample: prescale=1 enable L3OutInhibit: prescale=1000 enable L3OutBackground: prescale=1 enable L3OutputLines = # Physics lines L3OutDch: (IP1TrackScript or IP2TrackScript) and !Bhabha1ProngVetoScript and !Bhabha2ProngVetoScript L3OutEmc: (EHighMultiplicityScript or EHighEnergyScript) and !Bhabha1ProngVetoScript and !Bhabha2ProngVetoScript L3OutDchEmcPreVeto: IP1TrackScript or IP2TrackScript or EHighMultiplicityScript or EHighEnergyScript # Prompt Calibration lines L3OutBhabha: BhabhaScript L3OutRadiativeBhabha: RadiativeBhabhaScript L3OutMuPair: MuPairScript L3OutCalibHadron: HadronicAScript or HadronicBScript # Other calibration lines L3OutEmcBhabha: EmcBhabhaScript and !BhabhaScript L3OutVirtualCompton: VirtualComptonScript L3OutGammaGamma: GammaGammaScript L3OutPhiGamma: PhiGammaScript L3OutCosmic: Cosmic2ProngScript L3OutWideCosmic: WideCosmic2ProngScript L3OutLumi: OnlineLumiScript # Diagnostics lines L3OutDataflowDamage: RateLimitedDataflowDamageScript L3OutL1Open: L1OpenScript L3OutCyclic1: Cyclic1Script L3OutInjection: InjectionScript L3OutRadiationSample: RadiationSampleScript L3OutInhibit: TimePointVetoScript OepPrescaleLines = L3OutBhabhaFlat: L3OutBhabha L3TBinnedPrescaler #{ 1 [0.9] 1 [1.543] 2 [1.724] 3 [1.905] 4 [2.087] 7 [2.268] 13 [2.500] 13 } #{ 3 [0.9] 3 [1.543] 6 [1.724] 9 [1.905] 12 [2.087] 21 [2.268] 39 [2.500] 39 } #{ 4 [0.9] 4 [1.543] 8 [1.724] 12 [1.905] 16 [2.087] 28 [2.268] 52 [2.500] 52 } #{ 5 [0.9] 5 [1.543] 10 [1.724] 15 [1.905] 20 [2.087] 35 [2.268] 65 [2.500] 65 } { 6 [0.9] 6 [1.543] 12 [1.724] 18 [1.905] 24 [2.087] 42 [2.268] 78 [2.500] 78 } # The effective cross section of the flattened Bhabha line, using the # minimal prescales below, is close to 10 nb. This results in 10 Hz # output at 1 x 10^33 cm^-2 s^1. # # Minimal prescales: # { 1 [0.9] 1 [1.543] 2 [1.724] 3 [1.905] 4 [2.087] 7 [2.268] 13 [2.500] 13 } # # The following additional prescale factors keep the output rate # between 10 - 15 Hz. # # 1.00 - 1.50 x 10^33 : 1 # 2.00 - 3.00 x 10^33 : 2 # 3.00 - 4.50 x 10^33 : 3 # 4.00 - 6.00 x 10^33 : 4 # 5.00 - 7.50 x 10^33 : 5 # 6.00 - 9.00 x 10^33 : 6 # 7.00 - 10.5 x 10^33 : 7 # Weighted prescaler L3OutBackground: L3OutCyclic1 L3OutLumi prescale=300