Документ взят из кэша поисковой машины. Адрес оригинального документа : http://zebu.uoregon.edu/~uochep/talks/talks04/et-l1-12-04.pdf
Дата изменения: Tue Dec 21 20:56:39 2004
Дата индексирования: Tue Oct 2 11:40:37 2012
Кодировка:

Поисковые слова: solar cycle
L1 Simulation Upgrade

December 6th, 2004 BaBar Collaboration Meeting SLAC

Eric Torrence University of Oregon

Eric Torrence

1/15

December 2004


Phase 0 (Now)

DchDigis

EmcDigis EmtSim

trgDC

L1Accept

This IS the current SP6 (14.4.X)

Base simulation code unchanged, but interface elements are updated (Digis, TsfLUT) Remaining changes are inside "black blob"
Eric Torrence 2/15 December 2004


Phase I

DchDigis TsfSim BltSim ZpdSim

EmcDigis EmtSim

Glt Interface GltSim Deployed Validated Written In Progress L1Accept

Immediate simulation goal Needed to simulate Run5 data (SP7) GLT single biggest code concern

Eric Torrence

3/15

December 2004


Phase II

DchDigis TsfSim BltSim PtdSim BltSim ZpdSim

EmcDigis EmtSim TrigConfig

Glt Interface Deployed Validated Written In Progress GltSim L1Accept

Full L1Sim upgrade (the final solution) Needed for SP8 (Spring `05)

Old PTD code will be validation challenge

Eric Torrence

4/15

December 2004


configDB Issues TSF · LUT loading modified (Rainer) · L1DctConfigLoader replaces L1Dct56bitTsfLutLoader - 5/6 bit as required · New 6bit LUT? (probably longer term)

ZPD · Change in philosophy Previous: Basic params + full memory map Now: Basic params only, generate full map · Simulation changes minor · More serious issue for online · Still needs to be installed in configDB?

BLT · BLT mask structure understood · Object needs to be written and installed Jamie has been working hard on configDB issues...
Eric Torrence 5/15 December 2004


Simulation Config

class L1DctEnv { L1DctGeom* L1DTsfLutArray* L1DZpdLut* L1DBltMask* ... }

Config Interface

getL1DctGeom(); getL1DTsfLut(); getL1DZpdLut(); getL1DBltMask();

Proxies stored in configDict, although user never needs to know that Interface remains even if underlying details change (L1DctGeom is actually hard-coded)

Need to modify simulation code to use BLT mask and latency values More on that in a moment...

Eric Torrence

6/15

December 2004


Config Loading L3 needs TSF LUT, but nothing else Non-Sim Version
L1TOepEnvSequence (AppUserBuild* forWhom) { BdbConfigInitSequence( forWhom ); forWhom->add( new L1DctBuildEnv() ); forWhom->add( new L1EmtBuildEnv() ); } // Load TSF LUT forWhom->add(new L1DctConfigLoader());

Sim Version
L1TOepSimEnvSequence (AppUserBuild* forWhom){ forWhom->add(new L1DctBuildEnv); forWhom->add(new L1EmtBuildEnv);

}

// Load TSF, ZPD, BLT, ... forWhom->add(new L1DctConfigLoader()); forWhom->add(new L1DctOtherConfigLoader());

Separate module per board, or...? Better home for this Sequence? Currently called directly from Moose/AppUserBuild
Eric Torrence 7/15 December 2004


Latencies DAQ Data

to GLT No explicit simulation of hardware latencies Input parameters to simulation · Hardware processing time (sim-only) Different for GLT and DAQ Different for various DAQ objects · DAQ delay (configDB) DAQ: config delay + sim parameters Must line up properly in L1A window GLT: config delay (is there one?) + sim Must line up properly at GLT input

Simulation latency numbers are conditions data Probably will be hard-wired for now
Eric Torrence 8/15 December 2004


Latency Concerns

Latency Units · DAQ delays are fundamentally integers · Different clocks used in different boards Significant chance to mix clk4/clk8/clk16... Make simLatency L1SimTickClock object?

Latency Precision · Adjustable parameter in simulation · Want to match data distributions How much precision is necessary?

L1A

Make all sim latency numbers clk8 or clk16?
Eric Torrence 9/15 December 2004


TSF - BLT Data Path · DW Segments converted to SC hit patterns · BLT reducer performed within TSF · Ambiguity in documentation Seg 1 Seg2 delay What if segments are in same SC, and second has higher weight? stretch to BLT by SC

Eric Torrence

10/15

December 2004


Digi Making Code

After L1Accept, must create DAQ simulation and apply L1A window Forgot to ever write ZPD modules...

· L1DZpdInputDigi - Needed translation from cell number into cell hit map. Done · L1DZpdTrackDigi - cellLocation and cellPhi are not currently being simulated. Skip for now? · L1DZpdDecisionDigi - most important. Done · L1DZpdStatusDigi - simulate for completeness

Need to track down TSF/ZPD window numbers Will these ever change?
Eric Torrence 11/15 December 2004


GLT Inputs

At Match and Combine All are in timebuffers, one object per tick · BLT TB _bltA, _bltB; · ZPD (new stretcher added) TB _zpd; · EMT TB _emt; · PTD - still to be finalized

Timebuffer tools make it easy/accurate to convert clk4 <-> clk8

Need to apply latencies at this point

Eric Torrence

12/15

December 2004


Simulation Output
2004/12/06 12.24
60 400 40 20 0 300 200 100 0 100 200 300 400 TSF segments 0 6 7 8 9 10 11 BLT digis

400 400 200 0 200

10

20

30 40 ZPD DM digis

0

40

60

80

100 120 ZPD IN digis

60 40 20 0

0

20

40

60 80 ZPD TK digis

Not obviously wrong, need some data ntuples...

Eric Torrence

13/15

December 2004


Simulation Output II
2004/12/06 12.34

100 75 50 25 0 0 5 10 15 TSF Segs/evt vs tick

1 0.75 0.5 0.25 0 0 5 10 15 BLT/evt vs tick

8 6 4 2 0 0 5 10 15 ZPD DM/evt vs tick

8 6 4 2 0 0 5 10 15 ZPD IN/evt vs tick

10 5 0

0

5

10 15 ZPD TR/evt vs tick

Not digested or checked Starting point for latency tuning

Eric Torrence

14/15

December 2004


Remaining Work Now Critical - SP7 · GLT simulation code · Finish configuration objects · Install current objects into configDB · TSF -> BLT data path validation · System validation (MooseApp) · Latency simulation and tuning · Documentation... Near Future - SP8 · Finish PTD simulation · trigConfig modifications · tcl-based old/new switching

Eric Torrence

15/15

December 2004