Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add eudaq producer #39

Open
wants to merge 3 commits into
base: development
Choose a base branch
from
Open

Add eudaq producer #39

wants to merge 3 commits into from

Conversation

maxbab1
Copy link
Collaborator

@maxbab1 maxbab1 commented Jul 12, 2024

Hi all,

I created this cleaner state of the eudaq producer, maybe now there is the time to ...

Let's talk about this when the VTX testbeam is running...

Copy link
Collaborator

@cbespin cbespin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just some initial remarks that I spotted. There is one big(ger) thing that we should talk about in due time

Comment on lines +85 to +90
def enable_ext_trigger(self):
self['cmd'].set_ext_trigger(True)

def disable_ext_trigger(self):
self['cmd'].set_ext_trigger(False)

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is this needed? As far as I see, this is only relevant for RD53A chips with AZ flavors, according to the firmware. Anyway, there are no trigger commands sent to the chip.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know to be honest. But i will put this to the list and when the setup is working reliably, we can test removing it and see if there is any effect (probably not)

# Send data of each trigger
for i in range(0, len(trigger_data) - 2):
dat = trigger_data[i]
glitch_detected = False
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What kind of glitch is this? I never observed a glitching trigger number that is bit-shifted by 1?

Comment on lines +34 to +36
'trigger_latency': 100, # latency of trigger in units of 25 ns (BCs)
'trigger_delay': 57, # trigger delay in units of 25 ns (BCs)
'trigger_length': 32, # length of trigger command (amount of consecutive BCs are read out)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

None of these are needed in an untriggered device and anyway not used / commented out.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You are right, i will clean this (and also the many comments regarding this)

Comment on lines +143 to +156
# The event building works in the following way
# Data from FIFO eg:
# D D D T0 D D D D T1 D D D D D T2 D D D T3 D D D D
# |<---0--->||<----1---->||<--2-->||<-------... (store for next execution)
# D ... data word, Tx ... Trigger word, |<-x->| ... EUDAQ event with trigger number x
# investigation of the Chip efficiency in a testbeam setup proved that when doing the event building in
# the way scetched above, some pixel hits got assigned with a wrong trigger number. Eg:
# D after T2 would actually still belong to T1 (shown by reconstruction with telescope setup)
# as an easy workaround we assign all the data to 2 trigger numbers
# with the scetch from above this looks like:
# D D D T0 D D D D T1 D D D D D T2 D D D T3 D D D D
# |<----------0---------->|
# |<--------1--------->|
# |<---------------------... next execution
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is something we should talk about and probably test during testbeam. With a proper veto length, triggers are vetoed in the TLU until all hit words are read out (effectively limiting the trigger rate, but to a very high value).
Hit duplication opens a lot of room for mistakes.

@cbespin
Copy link
Collaborator

cbespin commented Jul 12, 2024

Since 3e024f0 is not related to the (important) PR with an eudaq producer, please move this into its own PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants