Skip to content
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

Add ObjectSelectorStreamProducer template and use it for RecoTrackViewRefSelector #9904

Merged
merged 5 commits into from
Jul 2, 2015

Conversation

makortel
Copy link
Contributor

Here is an attempt to address @Dr15Jones' comment (#9201 (comment)) about ignored EDFilters (in tracking validation sequence). Basically the PR adds new ObjectSelector(Stream)Producer templates similar to current ObjectSelector(Stream) but being EDProducers (I'm not sure if the legacy-default is still "needed", I decided to include it only to have similar code structure as ObjectSelector(Stream)).

As a use case I added RecoTrackViewRefSelector (existing RecoTrack(Ref)Selectors take vector<Track> as an input, and I'll soon need anyway a version reading the input via View), and switched the tracking MC validation sequence to use it.

Tested in CMSSW_7_6_X_2015-06-24-2300, no changes expected in results.

@rovere @VinInn

makortel added 3 commits June 25, 2015 21:25
These EDProducer-variants are intended for cases where the event
filtering functionality will not be needed.
@cmsbuild
Copy link
Contributor

A new Pull Request was created by @makortel (Matti Kortelainen) for CMSSW_7_6_X.

Add ObjectSelectorStreamProducer template and use it for RecoTrackViewRefSelector

It involves the following packages:

CommonTools/RecoAlgos
CommonTools/UtilAlgos
DataFormats/TrackReco
Validation/RecoTrack

@cvuosalo, @monttj, @cmsbuild, @deguio, @slava77, @vadler, @danduggan can you please review it and eventually sign? Thanks.
@rappoccio, @ahinzmann, @abbiendi, @GiacomoSguazzoni, @jhgoh, @VinInn, @appeltel, @jdolen, @rovere, @wmtford, @gpetruc, @istaslis, @cerati, @dgulhan this is something you requested to watch as well.
You can sign-off by replying to this message having '+1' in the first line of your reply.
You can reject by replying to this message having '-1' in the first line of your reply.
If you are a L2 or a release manager you can ask for tests by saying 'please test' in the first line of a comment.
@Degano you are the release manager for this.
You can merge this pull request by typing 'merge' in the first line of your comment.

@slava77
Copy link
Contributor

slava77 commented Jun 26, 2015

@cmsbuild please test

@cmsbuild
Copy link
Contributor

The tests are being triggered in jenkins.

*/
template<typename Selector,
typename OutputCollection = typename ::helper::SelectedOutputCollectionTrait<typename Selector::collection>::type,
typename PostProcessor = ::helper::NullPostProcessor<OutputCollection, edm::EDProducer>,
Copy link
Contributor

Choose a reason for hiding this comment

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

Do we even want to leave a default edm::EDProducer here?
Can this be just "typename blah" ?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I don't disagree on dropping edm::EDProcucer. I'll then remove this header and make ObjectSelectorStreamProducer the main template definition.

Copy link
Contributor

Choose a reason for hiding this comment

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

in case edm::one or global instances of this template will be needed, maybe we should keep the generic definition.
I just didn't want to have the edm::EDProducer to be the default argument in the template args

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Right, taking out the default values for the template parameters of ObjectSelectorProducer (as the stream/global/one-ones would anyway have to give them explicitly) could be the most clear option.

Even with stream being the default, the one/global cases could still be instantiated from it (the only "penalty" wrt. current situation would be the inclusion of ".../stream/EDProducer.h" header where it is not strictly needed).

Anyway, I'll do an update with default values for template parameters of ObjectSelectorProducer removed.

@cmsbuild
Copy link
Contributor

@cmsbuild
Copy link
Contributor

cmsbuild commented Jul 2, 2015

This pull request is fully signed and it will be integrated in one of the next CMSSW_7_6_X IBs (tests are also fine). This pull request requires discussion in the ORP meeting before it's merged. @davidlange6, @Degano, @smuzaffar

@davidlange6
Copy link
Contributor

+1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants