-
Notifications
You must be signed in to change notification settings - Fork 18
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
This is meant to address the issue reported in issue #39 #40
Conversation
A new Pull Request was created by @SFBayLaser (Tracy Usher) for develop. It involves the following packages: larwirecell @LArSoft/level-1-managers, @LArSoft/level-2-managers can you please review it and eventually sign? Thanks. cms-bot commands are listed here |
The code-checks are being triggered in jenkins. |
-code-checks
Then commit the changes and push them to your PR branch. |
@SFBayLaser please run clang format as suggested |
Wow! I am surprised there is a problem here... I modified one line of code (see comparison) and made no other changes so am really not understanding why it is failing clang-format. |
@SFBayLaser, you need to setup
|
Pull request #40 was updated. @LArSoft/level-1-managers, @LArSoft/level-2-managers can you please check and sign again. |
The code-checks are being triggered in jenkins. |
Ok, I didn't realize we cared about fitting into the columns of an IBM card... should be good now. |
+code-checks |
Thanks, @SFBayLaser. The clang-format file sets a width of 100 characters (a little wider than the IBM 80 limit), and it also places spaces around operators (like |
trigger build |
The tests are being triggered in jenkins. |
As you say, no perfect format! Generally, I find the clang format hard to read but that is personal preference... and I'm not tasked with maintaining all of this! ;-) |
+LArSoft tests OK on slf7 for c7:prof |
+LArSoft tests OK on slf7 for e20:prof |
-icarus tests failed, with build warning,, with ignored warning for build, on slf7 for e20:prof |
-sbnd tests warning, with build warning,, with ignored warning for build, on slf7 for e20:prof |
-dune tests tests warning, with build warning,, with ignored warning for build, on slf7 for e20:prof |
-uboone tests warning on slf7 for e20:prof |
ICARUS build failure unrelated to this PR. I believe there are updates in icarusalg for other things that collided here. |
@brettviren do you approve this PR? |
@SFBayLaser Hi Tracy. I'm not following the goal of this change. I would expect the user to set the I think this PR will change the definition of what DepoFluxWriter claims to provide. |
Hi @brettviren, the goal is to have the truth information contained in the SimChannels to match to, for example, hit information. In practice, the SimChannel information is in units of "TDC counts" while the hit information is returned in units of "ticks". Using ICARIUS as the example, the difference between the two is an offset - ticks are one unit on a waveform (for ICARUS that is 400 ns but I don't think this matters) with the first bin of the waveform tick = 0. TDC counts are the same in terms of bin size (400 ns) but the start is referenced to a "tdc clock start time). The document you provided describes how to include these offsets, I believe this has been done correctly in our json definitions:
}, nin=1, nout=1, uses=tools.anodes+[tools.field]);
I did not find any other way to include the offsets needed for ICARUS and produce correct results... happy to be shown that I am wrong... |
I should add that there is some urgency to try to resolve this issue quickly... The ML effort on ICARUS needs this to be able to start working again, we have a collaboration meeting in 1 month and would like to be able to demonstrate the ML effort is ready for the start of Run 3 (which nominally starts the beginning of November). Thanks for helping to push this forward! |
Hi again, @SFBayLaser I believe you want the This additional offset can simply be included in the definition of the
If this does not provide what you need, let's discuss more. If it does give you what you need then I'm inclined to not merge this PR. The reason is that with this PR the user will implicitly get an unexpected arbitrary time offset (the |
Ok, will try and report back. It looks like it will do what I need at the expense of using the window_start time in two places in the json file. I might suggest the documentation be updated to make that point as a user like me might not have thought of it. |
Thanks @SFBayLaser and @brettviren ! |
@SFBayLaser Thanks so much for the thorough checks. About the lack of reproducibility: this has a known cause which can actually be corrected in configuration. But to do that in a user-friendly way needs a little C++ work. For reference, details are in this issue. |
See #39
Generally, tbin is a short int in the range of a few "bins"... the offsets can be large (and event negative) and, if negative, will give nonsensical results for the tdc value. In comparing to the old SimChannel output module (DepoSetSimChannelSink) it seems clear that instead of simple "tbin" one really needs to substitite "m_tbins(tbin)/jm_tbins.binsize()".
Testing with ICARUS simlations in standard form give expected results with this change.