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

New DataFormat for the new Jet Reconstruction method in Heavy Ions #189

Closed
wants to merge 2 commits into from

Conversation

yetkinyilmaz
Copy link
Contributor

Part of the implementation for the new jet reconstruction (UE subtraction) software, presented in:
https://indico.cern.ch/conferenceDisplay.py?confId=254369

This is just the new data format (candidate-to-background map), independent of other packages. The actual producers are to be requested in a later pull request.

@@ -1,5 +1,5 @@
//
// $Id: Centrality.h,v 1.11 2010/08/14 17:06:50 nart Exp $
// $Id: Centrality.h,v 1.12 2010/08/23 16:42:01 nart Exp $
Copy link
Contributor

Choose a reason for hiding this comment

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

these should be removed, now after migration to git

@nclopezo
Copy link
Contributor

Hi,
I took CMSSW_7_0_X_2013-07-28-0200, pulled these changes, and ran the RelVals and unit tests, all tests passed.

// typedef edm::AssociationMap<edm::OneToValue<reco::PFCandidateCollection, reco::VoronoiBackground> > VoronoiBackgroundMap;
// typedef edm::AssociationMap<edm::OneToValue<reco::CandidateCollection, reco::VoronoiBackground> > VoronoiBackgroundMap;

typedef edm::AssociationMap<edm::OneToValue<reco::CandidateView, reco::VoronoiBackground> > VoronoiBackgroundMap;
Copy link
Contributor

Choose a reason for hiding this comment

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

AssociationMap should be avoided for performance reasons. If every PFCandidate in the reference collection has a VoronoiBackground computed, then use ValueMap

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Hi Slava;
I prefered AssociationMap because there was good enough documentation available for it.

https://twiki.cern.ch/twiki/bin/view/CMSPublic/WorkBookAssociationMap

Indeed, ValueMap may be better, but is there such documentation for it as well? Would it be compatible with the cases where the mapped Candidate collection is filtered after creating the map?
Thanks.

On Jul 29, 2013, at 3:00 PM, slava77 wrote:

In DataFormats/HeavyIonEvent/interface/VoronoiBackground.h:

  • double pt_corrected;
  • double mt_preeq;
  • double mt_posteq;
  • double mt_corrected;
  • double voronoi_area;
  • //RefVector of neighbors...

+};
+
+

  • // typedef edm::AssociationMap<edm::OneToValue<reco::PFCandidateCollection, reco::VoronoiBackground> > VoronoiBackgroundMap;
  • // typedef edm::AssociationMap<edm::OneToValue<reco::CandidateCollection, reco::VoronoiBackground> > VoronoiBackgroundMap;
    +
  • typedef edm::AssociationMap<edm::OneToValue<reco::CandidateView, reco::VoronoiBackground> > VoronoiBackgroundMap;
    AssociationMap should be avoided for performance reasons. If every PFCandidate in the reference collection has a VoronoiBackground computed, then use ValueMap


Reply to this email directly or view it on GitHub.

Copy link
Contributor

Choose a reason for hiding this comment

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

On 7/29/13 3:11 PM, yetkinyilmaz wrote:

In DataFormats/HeavyIonEvent/interface/VoronoiBackground.h:

  • double pt_corrected;
  • double mt_preeq;
  • double mt_posteq;
  • double mt_corrected;
  • double voronoi_area;
  • //RefVector of neighbors...

+};
+
+

  • // typedef edm::AssociationMap<edm::OneToValue<reco::PFCandidateCollection, reco::VoronoiBackground> > VoronoiBackgroundMap;
  • // typedef edm::AssociationMap<edm::OneToValue<reco::CandidateCollection, reco::VoronoiBackground> > VoronoiBackgroundMap;
    +
  • typedef edm::AssociationMap<edm::OneToValue<reco::CandidateView, reco::VoronoiBackground> > VoronoiBackgroundMap;

Hi Slava; I prefered AssociationMap because there was good enough
documentation available for it.
https://twiki.cern.ch/twiki/bin/view/CMSPublic/WorkBookAssociationMap
Indeed, ValueMap may be better, but is there such documentation for it
as well?

I'd just pick an example code in lxr, and follow from there.
This should be a simple enough example
https://cmssdt.cern.ch/SDT/lxr/source/RecoEgamma/EgammaIsolationAlgos/plugins/EgammaTowerIsolationProducer.cc#038

Would it be compatible with the cases where the mapped
Candidate collection is filtered after creating the map?

Please clarify how you plan to filter.
Will this be a vector of pointers to an old collection,
or will you store copies of original candidates in a new candidate
collection?
In the latter case, the history is lost and the map will have to be redone
to still be meaningful.

Cheers

    --slava

Thanks.
… <#>
On Jul 29, 2013, at 3:00 PM, slava77 wrote: In
DataFormats/HeavyIonEvent/interface/VoronoiBackground.h: > + double
pt_corrected; > + > + double mt_preeq; > + double mt_posteq; > + double
mt_corrected; > + > + double voronoi_area; > + //RefVector of
neighbors... > + > +}; > + > + > + // typedef
edm::AssociationMap<edm::OneToValue<reco::PFCandidateCollection,
reco::VoronoiBackground> > VoronoiBackgroundMap; > + // typedef
edm::AssociationMap<edm::OneToValue<reco::CandidateCollection,
reco::VoronoiBackground> > VoronoiBackgroundMap; > + > + typedef
edm::AssociationMap<edm::OneToValue<reco::CandidateView,
reco::VoronoiBackground> > VoronoiBackgroundMap; AssociationMap should
be avoided for performance reasons. If every PFCandidate in the
reference collection has a VoronoiBackground computed, then use ValueMap
— Reply to this email directly or view it on GitHub.


Reply to this email directly or view it on GitHub
https://github.com/cms-sw/cmssw/pull/189/files#r5448919.


Vyacheslav (Slava) Krutelyov
TAMU: Physics Dept Texas A&M MS4242, College Station, TX 77843-4242
CERN: 42-R-027
AIM/Skype: siava16 googleTalk: slava77@gmail.com
(630) 291-5128 Cell (US) +41 76 275 7116 Cell (CERN)


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 think this is ok, yeah, the filtering should be done by using Refs, which is fine in this case I think. To my understanding, the ValueMap works with the product key of the Refs, and it should be similar to what we've already implemented - even simpler! I had had a lot of hard time getting the dictionaries of the AssociationMap right...

@slava77
Copy link
Contributor

slava77 commented Jul 29, 2013

Looking at the content of this DF package, I think a lot of it needs a rewrite: the CentralityProvider is essentially a producer. It can't stay in the DataFormats. Appropriate algorithms should be implemented outside of the DF.

Since we need to backport to an old release (53X?) we can start with minimal changes and then have the modifications mentioned above implemented in 70X

@yetkinyilmaz
Copy link
Contributor Author

CentralityProvider is not a producer (it is not an ED module at all), it is more of an analysis tool. It cannot go into a producer plugin package (e.g. RecoHI/HiCentralityAlgos), because it is supposed to be included by other analysis code. If we want to move it, we will need a new analysis package, but this will be quite a major change. As you say, for the time being we can let it be as is, and the centrality experts can think about what is needed in re-organization of this, since I believe by now they may have motivations for new updates as well. I will contact them about this.

On Jul 29, 2013, at 3:12 PM, slava77 wrote:

Looking at the content of this DF package, I think a lot of it needs a rewrite: the CentralityProvider is essentially a producer. It can't stay in the DataFormats. Appropriate algorithms should be implemented outside of the DF.

Since we need to backport to an old release (53X?) we can start with minimal changes and then have the modifications mentioned above implemented in 70X


Reply to this email directly or view it on GitHub.

@ghost ghost assigned slava77 Aug 5, 2013
@yetkinyilmaz
Copy link
Contributor Author

Hi. I indeed changed to ValueMap.

@ktf
Copy link
Contributor

ktf commented Aug 9, 2013

@slava77 can you look if you are happy about these now?

@slava77
Copy link
Contributor

slava77 commented Aug 9, 2013

@yetkinyilmaz Please review the two recent comments and apply fixes.
If not too much trouble, please also get rid of the cvs Id lines
Thanks.

@cmsbuild
Copy link
Contributor

cmsbuild commented Aug 9, 2013

The following categories have been rejected by @slava77: Reconstruction

@cms-git-reconstruction

@yetkinyilmaz
Copy link
Contributor Author

Yes, I am doing that.

However, in the meanwhile the rest of the reconstruction code got almost ready. Do you think it's a better idea to trash this pull request completely and start with another branch that has all related packages? namely:

DataFormats/HeavyIonEvent
RecoHI/HiJetAlgos
RecoJets/JetProducers

I had told you initially that JetProducers was to be untouched, but I later realized, it has been missing a minor (3 lines removed) but important update:

yetkinyilmaz@6e74af5

i.e. the requirement of jet type is not needed.

On Aug 9, 2013, at 1:17 PM, slava77 wrote:

@yetkinyilmaz Please review the two recent comments and apply fixes.
If not too much trouble, please also get rid of the cvs Id lines
Thanks.


Reply to this email directly or view it on GitHub.

@slava77
Copy link
Contributor

slava77 commented Aug 9, 2013

HI Sal and Roman,

Could you please comment on possibility to change
RecoJets/JetProducers/plugins/VirtualJetProducer.cc
as in
yetkinyilmaz@6e74af5

Thank you.

Cheers

    --slava

P.S. Feel free to reply to the github comment

On 8/9/13 1:34 PM, yetkinyilmaz wrote:

Yes, I am doing that.

However, in the meanwhile the rest of the reconstruction code got almost
ready. Do you think it's a better idea to trash this pull request
completely and start with another branch that has all related packages?
namely:

DataFormats/HeavyIonEvent
RecoHI/HiJetAlgos
RecoJets/JetProducers

I had told you initially that JetProducers was to be untouched, but I
later realized, it has been missing a minor (3 lines removed) but
important update:

yetkinyilmaz@6e74af5

i.e. the requirement of jet type is not needed.

On Aug 9, 2013, at 1:17 PM, slava77 wrote:

@yetkinyilmaz Please review the two recent comments and apply fixes.
If not too much trouble, please also get rid of the cvs Id lines
Thanks.


Reply to this email directly or view it on GitHub.


Reply to this email directly or view it on GitHub
#189 (comment).


Vyacheslav (Slava) Krutelyov
TAMU: Physics Dept Texas A&M MS4242, College Station, TX 77843-4242
CERN: 42-R-027
AIM/Skype: siava16 googleTalk: slava77@gmail.com
(630) 291-5128 Cell (US) +41 76 275 7116 Cell (CERN)


@slava77
Copy link
Contributor

slava77 commented Aug 9, 2013

Hi Yetkin,

Thanks for the follow up.

I think you can as well merge the rest together with the data formats.

Considering the coding violations in the DF and trying to minimize the backport volume,
I suggest to do the following:

  • once you have your producers ready, make a pull request based on that to your target production release branch (53X, is it?)
  • after that fix the code violations in the DF package (move all algorithmic stuff outside of DF, see https://twiki.cern.ch/twiki/bin/view/CMSPublic/SWGuideCreatingNewProducts for possible dependencies in a DF subsystem)
  • this fixed version can then go to the development cycle (70X)
    We can discuss this at the release planning today

@slava77
Copy link
Contributor

slava77 commented Aug 9, 2013

@slava77 test

@rappoccio
Copy link
Contributor

The changes to VirtualJetProducer should be fine for pp running, this bit isn't used at all.

@slava77
Copy link
Contributor

slava77 commented Aug 9, 2013

another test

@ktf
Copy link
Contributor

ktf commented Aug 16, 2013

@yetkinyilmaz any further development for this?

@yetkinyilmaz
Copy link
Contributor Author

Hi.
We had changed the plans a bit, there will be more updates before this branch is merged with 7_X. This will take some time, I am estimating like ~2 weeks, since the developers are more urgently focused on the 5_3_X implementation. Therefore if you prefer, we can cancel this merge request and come up with a new one when it's ready.

On Aug 16, 2013, at 10:25 AM, Giulio Eulisse wrote:

@yetkinyilmaz any further development for this?


Reply to this email directly or view it on GitHub.

@slava77
Copy link
Contributor

slava77 commented Aug 16, 2013

Hi Yetkin,

You should be able to close it, id that's desired.

If the following additions will be based on this pull request commits,
I'd rather this sticks around as rejected and modified later,
but it depends on your development area/preference,
if you would rather start from scratch.
If it stays,
Giulio may want to change the milestone to pre4 to match the ~2 weeks ETA.

Cheers

    --slava

On 8/16/13 11:21 AM, yetkinyilmaz wrote:

Hi.
We had changed the plans a bit, there will be more updates before this
branch is merged with 7_X. This will take some time, I am estimating
like ~2 weeks, since the developers are more urgently focused on the
5_3_X implementation. Therefore if you prefer, we can cancel this merge
request and come up with a new one when it's ready.

On Aug 16, 2013, at 10:25 AM, Giulio Eulisse wrote:

@yetkinyilmaz any further development for this?


Reply to this email directly or view it on GitHub.


Reply to this email directly or view it on GitHub
#189 (comment).


Vyacheslav (Slava) Krutelyov
TAMU: Physics Dept Texas A&M MS4242, College Station, TX 77843-4242
CERN: 42-R-027
AIM/Skype: siava16 googleTalk: slava77@gmail.com
(630) 291-5128 Cell (US) +41 76 275 7116 Cell (CERN)


@yetkinyilmaz
Copy link
Contributor Author

Hi Slava;
yes, rejecting and changing the target is also good, and it's ok to work with the existing branch.

On Aug 16, 2013, at 11:26 AM, slava77 wrote:

Hi Yetkin,

You should be able to close it, id that's desired.

If the following additions will be based on this pull request commits,
I'd rather this sticks around as rejected and modified later,
but it depends on your development area/preference,
if you would rather start from scratch.
If it stays,
Giulio may want to change the milestone to pre4 to match the ~2 weeks ETA.

Cheers

--slava

On 8/16/13 11:21 AM, yetkinyilmaz wrote:

Hi.
We had changed the plans a bit, there will be more updates before this
branch is merged with 7_X. This will take some time, I am estimating
like ~2 weeks, since the developers are more urgently focused on the
5_3_X implementation. Therefore if you prefer, we can cancel this merge
request and come up with a new one when it's ready.

On Aug 16, 2013, at 10:25 AM, Giulio Eulisse wrote:

@yetkinyilmaz any further development for this?


Reply to this email directly or view it on GitHub.


Reply to this email directly or view it on GitHub
#189 (comment).


Vyacheslav (Slava) Krutelyov
TAMU: Physics Dept Texas A&M MS4242, College Station, TX 77843-4242
CERN: 42-R-027
AIM/Skype: siava16 googleTalk: slava77@gmail.com
(630) 291-5128 Cell (US) +41 76 275 7116 Cell (CERN)



Reply to this email directly or view it on GitHub.

@ktf
Copy link
Contributor

ktf commented Sep 19, 2013

Can I just close this?

@yetkinyilmaz
Copy link
Contributor Author

Yes, Giulio, please close this, we will have a completely different branch for the pull request.
Sorry, barely getting used to git, but hopefully soon we will converge.

On Sep 19, 2013, at 11:45 AM, Giulio Eulisse notifications@github.com wrote:

Can I just close this?


Reply to this email directly or view it on GitHub.

@ktf ktf closed this Sep 19, 2013
nclopezo pushed a commit to nclopezo/cmssw that referenced this pull request Nov 21, 2014
Add SimCalorimetry/CastorTechTrigProducer.
parbol pushed a commit to parbol/cmssw that referenced this pull request Mar 5, 2015
Migrate single lepton cfg and tree producer to Heppy
arizzi added a commit to arizzi/cmssw that referenced this pull request Sep 30, 2015
Adding tkMetPVchs_phi and metNoPU_phi
mariadalfonso pushed a commit to mariadalfonso/cmssw that referenced this pull request Jan 26, 2018
mandrenguyen added a commit to mandrenguyen/cmssw that referenced this pull request Mar 18, 2019
emily-tsai11 pushed a commit to emily-tsai11/cmssw that referenced this pull request Nov 15, 2022
rgoldouz pushed a commit to rgoldouz/cmssw that referenced this pull request Dec 15, 2022
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.

None yet

6 participants