-
Notifications
You must be signed in to change notification settings - Fork 12
Feature/adding blip to caf #155
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
base: develop
Are you sure you want to change the base?
Conversation
|
An associated branch in sbndcode (also feature/AddingBlipToCAF) has the updated libraries linking necessary to point here. Once this one is in a release we can delete the file copies in sbndcode |
|
Hi @Jjm321814 , is there a required PR in sbndcode to accompany this? If yes, please point me to that PR. Thanks! |
|
Also summoning @PetrilloAtWork to take a look if there's time, not sure if ICARUS has something similar to this? |
|
The related sbndcode changes are in SBNSoftware/sbndcode#871 but they depend on this PR, not the other way around. |
|
Adding a comment to each of these to track all 4 related PR. The changes to sbnobj, and sbnanaobj are fully independent of any other changes, so they can be approved first. sbndcode changes rely on sbnobj, so it will have to wait for the first approval. A later simple PR will delete the (now duplicated) class files in the BlipUtils folder here sbncode changes rely on both sbnobj and sbnanaobj, so that will have to wait for both of the first two approvals. |
|
Accidentally ran with the wrong blip tag and still produced a CAF file in sbndcode area, so I expect it will work with ICARUS but I can not test it. |
|
All the suggestions here have been committed. Every struct has doxygen comments, TVector3 has been generally replaced, and the few housekeeping comments have been accepted. |
|
Hi @PetrilloAtWork , it looks like Jacob has implemented all the changes requested. How does the PR look now? Thanks! |
|
I am happy with how the CAF look coming out of the 4 PR now. |
|
Calling reviewers to check if these PRs are OK, @PetrilloAtWork , @henrylay97 , @sungbinoh |
sungbinoh
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Everything looks good. Thank you very much!
| float EndHitTime = -999; ///< Depreciated | ||
| float StartTime = -999; ///< Minimum -1 sigma time of a hit in this cluster [us] | ||
| float EndTime = -999; ///< Max +1 sigma time of a hit in this cluster [us] | ||
| float Timespan = -999; ///< Hit cluster EndTime - StartTime [us] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Similar argument to SBNSoftware/sbnanaobj#173 (comment)
|
Hi @PetrilloAtWork , do the changes look good to you? Thanks! |
PetrilloAtWork
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Many, many thanks for adding the documentation!
I have added some suggested changes to its format here and there.
Now that I know isPrimary is a flag, I think the type of that variable should be bool rather than int.
But most important: the new classes still do not show a checksum in classes_def.xml. Either you have forgotten rebuilding and recommitting the changes to it, or the dictionary is not being generated at all (which would be surprising).
| <class name="art::Wrapper<std::vector<blip::Blip> >"/> | ||
| <class name="blip::Blip"/> | ||
| <class name="std::vector<blip::Blip>"/> | ||
| <class name="blip::HitClust"/> | ||
| <class name="vector<blip::HitClust>"/> | ||
| <class name="art::Wrapper<std::vector<blip::HitClust> >"/> | ||
| <class name="blip::TrueBlip"/> | ||
| <class name="std::map<int,TVector3>"/> | ||
| <class name="art::Assns<blip::Blip,recob::Hit,void>"/> | ||
| <class name="art::Assns<recob::Hit, blip::Blip,void>"/> | ||
| <class name="art::Assns<blip::Blip,recob::SpacePoint,void>"/> | ||
| <class name="art::Wrapper<art::Assns<blip::Blip,recob::Hit,void> >"/> | ||
| <class name="art::Wrapper<art::Assns<recob::Hit,blip::Blip,void> >"/> | ||
| <class name="art::Wrapper<art::Assns<blip::Blip,recob::SpacePoint,void> >"/> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Something is still amiss... have you rebuilt and then recommitted sbnobj/SBND/Blip/classes_def.xml? These items should show a checksum.
sbnobj/SBND/Blip/BlipDataTypes.h
Outdated
| float amp = -9; ///< Amplitude of hit [ADC] | ||
| float rms = -9; ///< RMS of hit shape [ticks] | ||
| int trkid = -9; ///< track ID from hit-track association object | ||
| int shwrid = -9; ///< Depreciated |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| int shwrid = -9; ///< Depreciated | |
| int shwrid = -9; ///< Deprecated |
It's about praying (depreco, I pray it to go away), not price (depretio, I lower the cost).
sbnobj/SBND/Blip/BlipDataTypes.h
Outdated
| * Most attributes are grabbed directly from the recob::hit, but some, like charge, involve extra processing. | ||
| */ | ||
| struct HitInfo { | ||
| int hitid = -9; ///< Index of hit in recob::hit vector |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Following the correct capitalisation enables Doxygen to create cross-references:
| int hitid = -9; ///< Index of hit in recob::hit vector | |
| int hitid = -9; ///< Index of hit in recob::Hit vector |
sbnobj/SBND/Blip/BlipDataTypes.h
Outdated
| int tpc = -9; ///< TPC containing hit. From geo::WireID | ||
| int plane = -9; ///< Plane containing hit. From geo::WireID | ||
| int wire = -9; ///< Wire containing hit. From geo::WireID | ||
| int chan = -9; ///< Channel ID containing hit. From recob::Hit->Channel() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should enable Doxygen to make a cross-reference:
| int chan = -9; ///< Channel ID containing hit. From recob::Hit->Channel() | |
| int chan = -9; ///< Channel ID containing hit. From recob::Hit::Channel() |
sbnobj/SBND/Blip/BlipDataTypes.h
Outdated
| int clustid = -9; ///< If this hit gets gathered into a cluster, what is the index of that cluster. All hits should be in a track or a cluster | ||
| int blipid = -9; ///< If this hit gets gathered into a blip, what is the index of that blip. | ||
| bool ismatch = false; ///< Depreciated | ||
| float integralADC = -999; ///< Integral area from the recob::hit [ADCs-ticks] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| float integralADC = -999; ///< Integral area from the recob::hit [ADCs-ticks] | |
| float integralADC = -999; ///< Integral area from the recob::Hit [ADCs-ticks] |
sbnobj/SBND/Blip/BlipDataTypes.h
Outdated
| std::set<int> HitIDs; ///< Index of the recob::hit objects making up this cluster | ||
| std::set<int> Wires; ///< Set of geo::wireIDs contributing hits to this cluster |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| std::set<int> HitIDs; ///< Index of the recob::hit objects making up this cluster | |
| std::set<int> Wires; ///< Set of geo::wireIDs contributing hits to this cluster | |
| std::set<int> HitIDs; ///< Index of the recob::Hit objects making up this cluster | |
| std::set<int> Wires; ///< Set of geo::WireID contributing hits to this cluster |
sbnobj/SBND/Blip/BlipDataTypes.h
Outdated
| std::set<int> Wires; ///< Set of geo::wireIDs contributing hits to this cluster | ||
| std::set<int> Chans; ///< Set of raw::ChannelID_t contributing hits to this cluster | ||
| std::set<int> G4IDs; ///< simb::MCParticle track ID contributing hits to this cluster | ||
| std::map<int,geo::Point_t> IntersectLocations; ///< Internal reconstruction variable for recording where hit-clusters on different planes would overlap //used to be TVector3 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same comment as above:
| std::map<int,geo::Point_t> IntersectLocations; ///< Internal reconstruction variable for recording where hit-clusters on different planes would overlap //used to be TVector3 | |
| std::map<int,geo::Point_t> IntersectLocations; ///< Internal reconstruction variable for recording where hit-clusters on different planes would overlap |
| float TimeTick = -999; ///< Average time of hitclusters making up blips. [tpc tick] | ||
| /*! | ||
| Hit cluster time is the charge-weighted average of the hit-peak times for hits in the cluster | ||
| */ | ||
| float Time = -999; ///< Average time of hitclusters making up blips. [us] | ||
| /*! | ||
| Hit cluster time is the charge-weighted average of the hit-peak times for hits in the cluster | ||
| */ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
More Doxygen-y:
| float TimeTick = -999; ///< Average time of hitclusters making up blips. [tpc tick] | |
| /*! | |
| Hit cluster time is the charge-weighted average of the hit-peak times for hits in the cluster | |
| */ | |
| float Time = -999; ///< Average time of hitclusters making up blips. [us] | |
| /*! | |
| Hit cluster time is the charge-weighted average of the hit-peak times for hits in the cluster | |
| */ | |
| /** | |
| * @brief Average time of hitclusters making up blips. [tpc tick] | |
| * | |
| * Hit cluster time is the charge-weighted average of the hit-peak times for hits in the cluster. | |
| */ | |
| float TimeTick = -999; | |
| /** | |
| * @brief Average time of hitclusters making up blips. [us] | |
| * | |
| * Hit cluster time is the charge-weighted average of the hit-peak times for hits in the cluster. | |
| */ | |
| float Time = -999; |
sbnobj/SBND/Blip/BlipDataTypes.h
Outdated
| float ProxTrkDist = -9; ///< 3-D distance to closest track, assuming the blip was concident with event trigger [cm] | ||
| /*! | ||
| for properly flash matched out-of-time tracks this distance will be wrong! The blips have no such flash matching ability as of yet | ||
| */ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| float ProxTrkDist = -9; ///< 3-D distance to closest track, assuming the blip was concident with event trigger [cm] | |
| /*! | |
| for properly flash matched out-of-time tracks this distance will be wrong! The blips have no such flash matching ability as of yet | |
| */ | |
| /** | |
| * @brief 3-D distance to closest track, assuming the blip was coincident with event trigger [cm] | |
| * | |
| * For properly flash matched out-of-time tracks this distance will be wrong! | |
| * The blips have no such flash matching ability as of yet. | |
| */ | |
| float ProxTrkDist = -9; |
sbnobj/SBND/Blip/BlipDataTypes.h
Outdated
| /*! | ||
| please note the blip X position is unreliable, so these distance and 3-d position derived variables may be incorrect | ||
| */ | ||
| geo::Point_t Position; ///< 3D position vector. Reconstructed with wrong t0! [cm] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| /*! | |
| please note the blip X position is unreliable, so these distance and 3-d position derived variables may be incorrect | |
| */ | |
| geo::Point_t Position; ///< 3D position vector. Reconstructed with wrong t0! [cm] | |
| /** | |
| * @brief 3D position vector. Reconstructed with wrong t0! [cm] | |
| * | |
| * Please note the blip X position is unreliable, | |
| * so these distance and 3-d position derived variables may be incorrect. | |
| */ | |
| geo::Point_t Position; |
|
Thanks, all the doxygen comments were accepted and implemented now. |
|
The checksum may be from pushing from my computer rather than a gpvm. Let me try to fix it |
|
Not sure whats going on with the checksums. Blip class and TrueBlip both get a checksum though. Otherwise all the outputs look good |
This is part of a large array of PR to add blip objects to CAF files.
Previously the key blip structs were defined in sbndcode and this PR simply moves them to sbnobj.