Conversation
|
this has >200 commits and many conflicts, could you please rebase? |
|
@davidrohr their dev is too old, rebasing produces lot of conflicts, I've sent to @fapfap69 instructions how to resolve them. |
|
@davidrohr |
|
@fapfap69 the conflicts are gone but you need apply clang-format. The "merging is blocked" message is there as fall all PRs which were not approved yet. |
|
Hi Ruben,
The Clang error that the system reports is :
! [remote rejected] HEAD -> alibot-cleanup-5606 (refusing to allow a Personal Access Token to create or update workflow `.github/workflows/code-formatting.yml` without `workflow` scope)
error: failed to push some refs to 'https://github.com/alibuild/AliceO2.git'
Error: Process completed with exit code 1.
that seems not related to 'format' errors of sources.
Could be an Authorization error ?
Could be that I'm not authorized to make pull requests ?
Now, I'm really balling out, because I don't known how to solve this issue ...
Cheers
Antonio
… Il giorno 4 mar 2021, alle ore 13:41, Ruben Shahoyan ***@***.***> ha scritto:
@fapfap69 the conflicts are gone but you need apply clang-format. The "merging is blocked" message is there as fall all PRs which were not approved yet.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.
|
|
@fapfap69 : Don't know why you say you don't understand the clang errors. BTW: You should also be able to do it locally by typing |
|
I would do simply do (having the alienv loaded unless the system-wide clang-format is used) |
|
@fapfap69 @gvolpe79 : I am testing this now with simulation, there are 2 workflows, and pass it to |
|
@fapfap69 from the tests I see that I have to add few standard functionalities to your workflow, please don't modify the WriteRawFromRootSpec.cxx to avoid the conflicts, I will fix also the options and open a PR in your repo. |
|
@shahor02 I was ready to push modificaations that includes your suggestions, nevertheless now I'll wait your pull request in order to integrate. |
|
@fapfap69 In fact I've implemented my suggestions since anyway had to add some standard features your PR was missing, but when trying to rebase your branch, I again got plenty of conflicts. I see that your branch contains lot of merges, commits from other people (e.g. this 42a83a6) and also your many of your commits are encountered multiple times. Apart from the change of options I asked above, I've done the following fixes: You were sending decoded digits as multiple messages withing single TF: , while they should be sent once after full decoding.Your recoflow always reads digits from the file, so it is not possible to run it e.g. with digits from decoded raw data: added options I see that you store in your digits the InteractionRecord. What is the reason for that? Your digits anyway contains the orbit and bc. |
Yes as I wrote in the ReadMe, my idea was to pipe workflows in order to perform different jobs, then for example o2-hmpid-read-raw-file-workflow : reads the raw file and produce a continous stream of raw pages
This is unclear for my ...
If you refer to the contents of root file, this give us the possibility to count the empty events
|
Such a modular approach is OK, but what it has to do with sending within 1 TF a message with the same OutputSpec ? This will at least confuse the downstream devices which expect it, if not destroy the synchronization with others devices.
Why don't you do the same what many other detectors do: produce a single vector of fired channels, e.g. https://github.com/AliceO2Group/AliceO2/blob/dev/DataFormats/Detectors/MUON/MID/include/DataFormatsMID/ColumnData.h and another vector (of triggers) which tells that start and the number of channel entries for this trigger in the 1st vector: Then you will have an access to the data of given trigger (which you don't have now) and don't need to store the same orbit/bc in every digits (will be stored in the trigger part). For empty data you will have the trigger part only, with 0 entries in the channels part. |
I understand it, then what are the boundary of a Time Frame ? I need to review the TF definition, is one TF contained into a raw file ?
Clearly the use of a table that drives the relation among Trigger & Digits is more efficient (I could improve that), but about the presence of trigger info (Orbit and BC) into the Digit structure, it is an heredity of RUN2 software, that we maintain (the overload of that info is 48 bits), clearly is the 50% of digit payload that is only 96 bits (I strongly reduce it packing the Pad address coordinates into a binary field structure) |
|
@fapfap69 The timeframe (somewhat simplified) from DPL point of view is what you receive or send with given Input- or OutputSpec within single run() call of DPL device. So, you should not issue multiple times the same {DataOrigin/DataDesc/SubSpec} from a single run() call. But I am not sure there is good documentation somewhere... For the digits format: I would suggest to store vector of channels with only vpad and Q, delegating the orbit/bc to this wrapper Digit (or Trigger) structure. Once this is decided/finalized, I'll proceed to CTF creation. BTW, there I'll need to break your dense 32bit mPad to shorter columns, to profit from entropy compression. Once you validate #5624, I'll merge it. Tested it locally with simulated data, works fine. Then, in separate PR, we can add the DetectorData part. |
|
@shahor02 in order to reduce the entropy, could be better that I close this pull request ? What do you think ? |
HMPID AliceO2 software v.0.4
Add the 'o2-hmpid-read-raw-file-workflow' to produce RAW HMPID file from ROOT file.