Title: The MUON trigger in AliRoot
1The MUON trigger in AliRoot
- Overview
- Geometry
- Segmentation
- Chamber response
- Decision
- Outputs
- How to run
- Future developments
2Overview
- AliMUONChamberTrigger,
- AliMUONTriggerGeometryBuilder,
- AliMUONSegmentationTrigger,
- AliMUONSegmentationTriggerX,
- AliMUONSegmentationTriggerY,
- AliMUONResponseTrigger,
- AliMUONResponseTriggerV1,
- AliMUONTriggerConstants,
- AliMUONTriggerLut,
- AliMUONTriggerDecision,
- AliMUONTriggerCircuit,
- AliMUONLocalTrigger,
- AliMUONGlobalTrigger,
- AliMUONTriggerTrack,
- MUONTriggerLut.root,
- MUONTriggerLutPtCal.root,
- MUONtrigger.C,
- MUONTriggerLut.C
- MUONTestTrigger.C,
- 14 classes
- 2 root files
- 4 macros
- framework for geometry, segmentation,
digitalization, clusterization reconstruction
heritated from tracking
3Geometry
- AliMUONTriggerGeometryBuilder
- very compact thanks to design
- all planes identical, scaling with zpos/zpos1
- 5 chamber types per plane
- makes use of the virtual envelopes (Eric, Gines,
Ivana)
4Segmentation
- AliMUONSegmentationTrigger
- AliMUONSegmentationTriggerX, AliMUONSegmentationTr
iggerY
- loop over 2 63 modules
- assign X Y strips according to
AliMUONTriggerConstants
5Segmentation (frames)
6Segmentation (strips)
7Chamber Response
- AliMUONChamberTrigger,
- AliMUONResponseTrigger, AliMUONResponseTriggerV1
- digits are flagged according to ToF
- a digit is taken into account into L0 decision if
ToF lt 75 ns - default chamber response AliMUONResponseTrigger
- a hit fires one and only one strip
- realistic response AliMUONResponseTriggerV1
- a hit can fire several strips according to a
parameterization of the cluster-size measured in
test-beam (ALICE INT/DIM/01-04). this response
can be activated in AliMUONFactory
8Display hits, digits color code
- this digit will not be taken into account into
L0 decision - this hit fires 2 strips
9L0 Trigger Decision
- AliMUONTriggerDecision,
- AliMUONTriggerCircuit, AliMUONTriggerLut
- feed TriggerCircuits with digits (a
TriggerCircuit is a standalone L0 trigger
board) - loop over TriggerCircuits
- get X Y answers of L0 trigger (see algorithm
in L0-PRR ALICE EN/2003-010) - get L0 local answer (Xstrip11, Ystrip11, dev,
sign, pt) - get global answer (number of single -, single ,
single undefined, unlike-sign pairs, like-sign
pairs, with All pt, Low pt, High pt)
- X Y algo. are copy paste from FPGA of L0
trigger board - ? powerful for debugging both software hardware
- pt is given from LUTs
10pt calculation
- AliMUONTriggerLut, MUONTriggerLut.root
- for each combination of (circuit, Xstrip11,
Ystrip11, deviation) we need to know whether the
corresponding pt is larger than 1 GeV/c (low pt
cut) and larger than 2 GeV/c (high pt cut) - this pt can be calculated via
fast procedure but does not take into account
field asymmetries energy losses
11Realistic pt estimation (currently in
AliRoot)B.Forestier PhD Thesis
- shoot 1 GeV/c and 2 GeV/c pt muons into the
spectrometer - get deviation corresponding to each triplets
(circuit, Xstrip11, Ystrip11) - store output in 4D histograms (MUONTriggerLut.roo
t)
in AliRoot, AliMUONTriggerDecision reads
MUONTriggerLut.root via AliMUONTriggerLut
old LUT can be re-activated
(MUONTriggerLutPtCal.root) and re-generated
(MUONTriggerLut.C)
12How to run (local global trigger answer)
- MUONtrigger.C, AliMUONLocalTrigger,
AliMUONGlobalTrigger
- from ALICE_ROOT/MUON/README
- IMPORTANT!!!
- create write digits
- create write raw clusters
- create write trigger response
at this step local global trigger answers are
written in TreeR of MUON.RecPoints.root
13Getting more information online
from fDebug of AliMUONTriggerDecision
14How to retrieve local global trigger answers
1 from a TBrowser
15How to retrieve local global trigger answers
2 from MUONdisplay
Trigger button reads global trigger information
from MUON.RecPoints.root and prints it in the
terminal
16How to retrieve local global trigger answers
3 from MUONCheck.C
loop over events, reads global local trigger
information from MUON.RecPoints.root and prints
it in the terminal
17Making tracks with trigger info (1)
MUONTriggerTracker.C, AliMUONTriggerTrack,
AliMUONEventReconstructor
- loop over local triggers
- build human readable info.
- fill TreeT of MUON.Tracks.root
AliMUONEventReconstructor from Dr.Finck
18Making tracks with trigger info (2)
- X pos on MC11
- Y pos on MC11
- Theta X
- Theta Y
- Global trigger (Long_t)
19Future developments
20The MUON trigger in reality
- 234 Local Trigger Boards
- adopted official numbering (PRR)
- all identical
- 10 configuration switches
- up-down neighbors are connected
- 3 trigger levels (local, regional, global)
21The MUON trigger in AliRoot
- 234 TriggerCircuits (equivalent to standalone
Local Trigger Boards) - numbering from AliMUONTriggerConstants
(different from reality) - (some) switches are hard-coded in the Loadxxx
methods - some other switches are not defined (e.g. no
connections needed between 2 circuits since, in
contrast to a local board, a circuit has, by
definition, all needed information to deliver its
local trigger decision) - regional global trigger levels not implemented
in a realistic way (regional trigger skipped,
global trigger loop over 234 TriggerCircuits)
22What cannot be done with the present version of
the code
- easily assign a TriggerCircuit to a local board
(because of different numbering) - estimate the effect of mismatching in a local
board configuration (because switches are
hard-coded) - estimate the effect of a non-working local board
on the global trigger performances (because some
switches are not simulated) - investigate regional algorithm performances
23To do list
- redefine TriggerCircuit numbering like in
reality - redefine TriggerCircuit objects as closer to
real local boards - switches (data members) to be read from a
database (234?10 entries) - define a new interface between digits
TriggerCircuits - allow TriggerCircuits to talk between each other
via switches - simulate 16 virtual crates, fill-in the
corresponding TriggerCicuits, implement regional
global trigger algorithms like in reality
note needs Local2Global Global2Local to be
implemented first