added filter option to the HelixFilter + added track sequences for low p e-/e+ from the Stopping Target#36
Conversation
…e point of closest approach (w.r.t. the DS axis)
|
Does he pre-scaling involve randomness? |
| TrkFitFlag _goodh; // helix fit flag | ||
| std::string _trigPath; | ||
| bool _prescaleUsingD0Phi; | ||
| std::vector<float> _prescalerPar; |
There was a problem hiding this comment.
A small struct would be better here - give the 3 parameters meaning names. You can write fcl helper functions that allow you to read a table into a struct with a single function call in the calling code. Let me know if you want to see an example.
|
Hi Rob,
thanks! Could you please show me an example? I know how to crate a struct with functions, but I’m not sure I know how you want me to implement the code with the parameter-set.
Thanks,
Gianantonio Pezzullo, Ph.D.
giani.pezzu@gmail.com
**********************************************************************************************************
Address: Department of Physics, Yale University, 56 Hillhouse, New Haven, CT-06511, USA
**********************************************************************************************************
… On Oct 22, 2019, at 9:18 PM, Rob Kutschke ***@***.***> wrote:
@kutschke commented on this pull request.
In TrkFilters/src/HelixFilter_module.cc <#36 (comment)>:
> @@ -56,31 +56,37 @@ namespace mu2e
double _bz0;
TrkFitFlag _goodh; // helix fit flag
std::string _trigPath;
+ bool _prescaleUsingD0Phi;
+ std::vector<float> _prescalerPar;
A small struct would be better here - give the 3 parameters meaning names. You can write fcl helper functions that allow you to read a table into a struct with a single function call in the calling code. Let me know if you want to see an example.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub <#36?email_source=notifications&email_token=AGCD3EB554AU4K6C5MJNFG3QP6Q6JA5CNFSM4JDZSS2KYY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOCI3OTKA#pullrequestreview-305588648>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AGCD3EFCLPUCFYI7QJXACBLQP6Q6JANCNFSM4JDZSS2A>.
|
|
Hi Giani,
Use these as a model:
GeneralUtilities/inc/ParameterSetHelpers.hh
GeneralUtilities/src/ParameterSetHelpers.cc
For example, the above let's you get a CLHEP::Hep3Vector from a fcl sequence of 3 values.
This model lets you do:
MyType _foo;
and in the intiailizer:
_foo( pset.get<MyType>("preScaleParams")),
where preScaleParams might look like:
preScaleParams : { fraction : 0.5 frequency : 3.0 phase : 1.5707 }
Rob
… On Oct 22, 2019, at 10:35 PM, Gianantonio Pezzullo ***@***.***> wrote:
Hi Rob,
thanks! Could you please show me an example? I know how to crate a struct with functions, but I’m not sure I know how you want me to implement the code with the parameter-set.
Thanks,
Gianantonio Pezzullo, Ph.D.
***@***.***
**********************************************************************************************************
Address: Department of Physics, Yale University, 56 Hillhouse, New Haven, CT-06511, USA
**********************************************************************************************************
> On Oct 22, 2019, at 9:18 PM, Rob Kutschke ***@***.***> wrote:
>
> @kutschke commented on this pull request.
>
> In TrkFilters/src/HelixFilter_module.cc <#36 (comment)>:
>
> > @@ -56,31 +56,37 @@ namespace mu2e
> double _bz0;
> TrkFitFlag _goodh; // helix fit flag
> std::string _trigPath;
> + bool _prescaleUsingD0Phi;
> + std::vector<float> _prescalerPar;
> A small struct would be better here - give the 3 parameters meaning names. You can write fcl helper functions that allow you to read a table into a struct with a single function call in the calling code. Let me know if you want to see an example.
>
> —
> You are receiving this because you authored the thread.
> Reply to this email directly, view it on GitHub <#36?email_source=notifications&email_token=AGCD3EB554AU4K6C5MJNFG3QP6Q6JA5CNFSM4JDZSS2KYY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOCI3OTKA#pullrequestreview-305588648>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AGCD3EFCLPUCFYI7QJXACBLQP6Q6JANCNFSM4JDZSS2A>.
>
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.
|
|
This is a particular rescaling that, for the IPA e- case, allows to have a uniform occupancy of the tracker volume. No randomness is involved.
In our current trigger sequences, we use two prescalesr: one at the beginning of the sequence and one at the end. The latter one allows to make the scaling on the “good events” that passed the series of filters within the sequence, while the first one will be needed in case we need to reduce the total execution time of the online reconstruction. I guess, we want to introduce randomness at the first prescaler, but that is not the topic of this pull-request.
Cheers,
Gianantonio Pezzullo, Ph.D.
giani.pezzu@gmail.com
**********************************************************************************************************
Address: Department of Physics, Yale University, 56 Hillhouse, New Haven, CT-06511, USA
**********************************************************************************************************
… On Oct 22, 2019, at 9:09 PM, Rob Kutschke ***@***.***> wrote:
Does he pre-scaling involve randomness?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub <#36?email_source=notifications&email_token=AGCD3EHJMNR2AZ34YYZQAJLQP6P6HA5CNFSM4JDZSS2KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEB7WFHA#issuecomment-545219228>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AGCD3EBBMWJ5QC6KV3WV2J3QP6P6HANCNFSM4JDZSS2A>.
|
| @@ -95,6 +101,13 @@ namespace mu2e | |||
| return true; | |||
| } | |||
|
|
|||
There was a problem hiding this comment.
You could make the parameter const
int HelixFilter::evalIPAPresc(const float &phi0){
| _goodh (pset.get<vector<string> >("helixFitFlag",vector<string>{"HelixOK"})), | ||
| _trigPath (pset.get<std::string>("triggerPath")), | ||
| _prescaleUsingD0Phi(pset.get<bool> ("prescaleUsingD0Phi",false)), | ||
| _prescalerPar (pset.get< vector<float> >("prescalerPar", vector<float>{6.2, 0.9675, 0.1396})), |
There was a problem hiding this comment.
Please include a description in comment of what these parameters are. This would be 'automatic' if the code were upgraded to validated fcl.
| @@ -1,10 +0,0 @@ | |||
| MinNStrawHits 15 | |||
There was a problem hiding this comment.
Is it normal that so many files get deleted in trigger commits? It makes me wonder if we're mis-using the repo.
There was a problem hiding this comment.
Hi Dave,
I deleted the old .config files that are no longer used. Only the file with the list of the trigger sequences is a .config, all the others are fcl files
|
Hi Everyone,
Giani just told me privately that his code builds but does not run. I have a guess at the problem and expect a fix soon.
So it is not ready to merge.
Giani: in the future please ask questions like that using the github tools - that way people know that it's not ready to merge.
Rob
… On Oct 24, 2019, at 12:27 AM, Bertrand Echenard ***@***.***> wrote:
@bechenard approved this pull request.
Looks good to me
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.
|
|
Hi,
sorry about that. The code crashes when running a specific trigger line (tprHelixCalibIPADeM). We are still investigating how to fix the bug. I just pushed some cleanup I made in the code.
Cheers,
Gianantonio Pezzullo, Ph.D.
giani.pezzu@gmail.com
**********************************************************************************************************
Address: Department of Physics, Yale University, 56 Hillhouse, New Haven, CT-06511, USA
**********************************************************************************************************
… On Oct 24, 2019, at 9:52 AM, Rob Kutschke ***@***.***> wrote:
Hi Everyone,
Giani just told me privately that his code builds but does not run. I have a guess at the problem and expect a fix soon.
So it is not ready to merge.
Giani: in the future please ask questions like that using the github tools - that way people know that it's not ready to merge.
Rob
> On Oct 24, 2019, at 12:27 AM, Bertrand Echenard ***@***.***> wrote:
>
> @bechenard approved this pull request.
>
> Looks good to me
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub, or unsubscribe.
>
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub <#36?email_source=notifications&email_token=AGCD3EFQ6OHMZ3ZR24Z2EGLQQGSCVA5CNFSM4JDZSS2KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOECFDJRI#issuecomment-545928389>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AGCD3EGGWA5UMMF3HMMKONLQQGSCVANCNFSM4JDZSS2A>.
|
|
Hi, I implemented all the fixes needed. Thanks for the patience, Giani |
added an option to the HelixFilter that allows prescaling the result based on the phi of the point of closest approach; the function used results from Michael Whalen studies of the IPA e-.
added IPA-calib track sequence and track sequences for selecting low-p e-/e+ generated in the Stopping Target