Skip to content

Conversation

@Sangbaek
Copy link
Collaborator

@Sangbaek Sangbaek commented Aug 6, 2025

What's this PR about?

Related to the issue #338 ,

@bobae0124 developed a timeline for the DAQ config, such as ATOF pedestals, when there is timeline_daq config, such as

/volatile/clas12/bobaekim/clas12-timeline/outfiles/alert-daqconfig/timeline_daqconfig/

How was timeline_daqconfig prepared?

The timeline_daqconfig was from evio2xml output.

The next thing is probably to add this step somewhere in the script, rather than bash command lines.

Copy link
Member

Choose a reason for hiding this comment

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

please put the changes you want in qtl-analysis, not a new script

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

We are not using any of .hipo output, produced by qtl-histogram. Should we still need qtl-analysis?

Copy link
Member

Choose a reason for hiding this comment

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

please put the changes you want in run_analysis.groovy, not a new script

Copy link
Collaborator Author

@Sangbaek Sangbaek Aug 6, 2025

Choose a reason for hiding this comment

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

Again, it's not analysis of histogram from qtl-histogram. Does it have to be in run_analysis.groovy?

println([name,timelineArg,engine.getClass().getSimpleName(),inputDir])
def fnames = []
inputDir.traverse {
if(it.name.endsWith('.daq.config') && it.name.contains(name))
Copy link
Member

Choose a reason for hiding this comment

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

what produces these *.daq.config files?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Probably evio2xml -maxevents 0 /cache/clas12/rg-l/data/clas_0[run]/clas_0[run].evio.00000 | grep PETIROC_REG_VTH_TIME >> [run]/out_ALERT_[run].daq.config

Copy link
Collaborator Author

@Sangbaek Sangbaek Aug 6, 2025

Choose a reason for hiding this comment

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

It's not even in a hipo format. It's just txt file like,

PETIROC_REG_VTH_TIME               200 # Use value below ~400 for ALERT ATOF signals
#PETIROC_REG_VTH_TIME                 500 # Use value above ~400 for Pulser Injector signals
PETIROC_REG_VTH_TIME               200 # Use value below ~400 for ALERT ATOF signals
#PETIROC_REG_VTH_TIME                 500 # Use value above ~400 for Pulser Injector signals
PETIROC_REG_VTH_TIME  312
PETIROC_REG_VTH_TIME  312
PETIROC_REG_VTH_TIME  304
PETIROC_REG_VTH_TIME  304
PETIROC_REG_VTH_TIME  306
PETIROC_REG_VTH_TIME  306
PETIROC_REG_VTH_TIME  310
PETIROC_REG_VTH_TIME  310
PETIROC_REG_VTH_TIME  296
PETIROC_REG_VTH_TIME  296
PETIROC_REG_VTH_TIME  306
PETIROC_REG_VTH_TIME  306
PETIROC_REG_VTH_TIME  300
PETIROC_REG_VTH_TIME  300
PETIROC_REG_VTH_TIME  316
PETIROC_REG_VTH_TIME  316
PETIROC_REG_VTH_TIME  286
PETIROC_REG_VTH_TIME  286
PETIROC_REG_VTH_TIME  294
PETIROC_REG_VTH_TIME  294
PETIROC_REG_VTH_TIME  298
PETIROC_REG_VTH_TIME  298
PETIROC_REG_VTH_TIME  324
PETIROC_REG_VTH_TIME  324
PETIROC_REG_VTH_TIME  302
PETIROC_REG_VTH_TIME  302
PETIROC_REG_VTH_TIME  344
PETIROC_REG_VTH_TIME  344
PETIROC_REG_VTH_TIME  304
PETIROC_REG_VTH_TIME  304
PETIROC_REG_VTH_TIME 114
PETIROC_REG_VTH_TIME 114
PETIROC_REG_VTH_TIME 50
PETIROC_REG_VTH_TIME 50
PETIROC_REG_VTH_TIME 306
PETIROC_REG_VTH_TIME 306
PETIROC_REG_VTH_TIME 434
PETIROC_REG_VTH_TIME 434
PETIROC_REG_VTH_TIME 82
PETIROC_REG_VTH_TIME 82
PETIROC_REG_VTH_TIME 306
PETIROC_REG_VTH_TIME 306
PETIROC_REG_VTH_TIME 210
PETIROC_REG_VTH_TIME 210
PETIROC_REG_VTH_TIME 242
PETIROC_REG_VTH_TIME 242
PETIROC_REG_VTH_TIME 482
PETIROC_REG_VTH_TIME 482
PETIROC_REG_VTH_TIME 402
PETIROC_REG_VTH_TIME 402
PETIROC_REG_VTH_TIME 338
PETIROC_REG_VTH_TIME 338
PETIROC_REG_VTH_TIME 138
PETIROC_REG_VTH_TIME 138
PETIROC_REG_VTH_TIME 466
PETIROC_REG_VTH_TIME 466
PETIROC_REG_VTH_TIME 106
PETIROC_REG_VTH_TIME 106
PETIROC_REG_VTH_TIME 50
PETIROC_REG_VTH_TIME 50

@c-dilks c-dilks linked an issue Aug 6, 2025 that may be closed by this pull request
@Sangbaek
Copy link
Collaborator Author

Sangbaek commented Aug 6, 2025

In conclusion, pipeline is totally different from qtl-analysis, which takes .hipo file from qtl-histogram. This is the first set of run daq config, which has never run before. I suggest a separate script and directory, because of the same reason we have a separate qtl-physics for physics timeline from qtl-histogram+qtl-analysis for detector timeline.

The daq config is fixed when we take the data, and it doesn't have to be produced every time we update detector timeline.

@c-dilks
Copy link
Member

c-dilks commented Aug 8, 2025

The diff between qtl-daqconfig and qtl-analysis is very small, and similarly for run_analysis.groovy and run_daqconfig.groovy; putting the changes that you need in the existing scripts should be straightforward, whereas copying these scripts and making minimal changes is a serious DRY violation.

I think it's perfectly fine to make qtl-histogram create text files and have qtl-analysis read them; this is done in the qtl-histogram -> qtl-physics sequence already.

Note that qtl-physics is currently a kluge, needed until I can re-implement the qa-physics/ code more cleanly in src/, after which qtl-analysis will also create physics timelines and qtl-phyics can finally be removed. That will take quite some time, though.

@Sangbaek Sangbaek changed the title First daq config timeline feat: first daq config timeline Dec 16, 2025
@Sangbaek Sangbaek marked this pull request as draft December 21, 2025 22:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

A timeline of the DAQ configurations

3 participants