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
Conversation
@@ -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 $ |
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.
these should be removed, now after migration to git
Hi, |
// 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; |
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.
AssociationMap should be avoided for performance reasons. If every PFCandidate in the reference collection has a VoronoiBackground computed, then use ValueMap
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.
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.
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.
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)
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.
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...
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 |
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:
|
Hi. I indeed changed to ValueMap. |
@slava77 can you look if you are happy about these now? |
@yetkinyilmaz Please review the two recent comments and apply fixes. |
The following categories have been rejected by @slava77: Reconstruction @cms-git-reconstruction |
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 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: i.e. the requirement of jet type is not needed. On Aug 9, 2013, at 1:17 PM, slava77 wrote:
|
HI Sal and Roman, Could you please comment on possibility to change Thank you. Cheers
P.S. Feel free to reply to the github comment On 8/9/13 1:34 PM, yetkinyilmaz wrote:
Vyacheslav (Slava) Krutelyov |
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,
|
@slava77 test |
The changes to VirtualJetProducer should be fine for pp running, this bit isn't used at all. |
another test |
@yetkinyilmaz any further development for this? |
Hi. On Aug 16, 2013, at 10:25 AM, Giulio Eulisse 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, Cheers
On 8/16/13 11:21 AM, yetkinyilmaz wrote:
Vyacheslav (Slava) Krutelyov |
Hi Slava; On Aug 16, 2013, at 11:26 AM, slava77 wrote:
|
Can I just close this? |
Yes, Giulio, please close this, we will have a completely different branch for the pull request. On Sep 19, 2013, at 11:45 AM, Giulio Eulisse notifications@github.com wrote:
|
Add SimCalorimetry/CastorTechTrigProducer.
Migrate single lepton cfg and tree producer to Heppy
Adding tkMetPVchs_phi and metNoPU_phi
Taunu and hmm
…-sw#189) * Changes from Anders * code-formatted
…-sw#189) * Changes from Anders * code-formatted
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.