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

HGCal Eras using recommended methods #14168

Merged
merged 4 commits into from Apr 28, 2016

Conversation

kpedro88
Copy link
Contributor

This PR addresses comments from @Dr15Jones on #13992 and attempts to follow best practices as described in SWGuideCmsDriverEras.

I think this will need to be rebased once #14165 is merged and it's not essential for pre3 anyway (since #13992 works for immediate needs), so no need to test at the moment. Primarily posting now to see if @Dr15Jones has any more comments to address.

@cmsbuild
Copy link
Contributor

A new Pull Request was created by @kpedro88 (Kevin Pedro) for CMSSW_8_1_X.

It involves the following packages:

CalibCalorimetry/HcalPlugins
Configuration/StandardSequences
RecoLocalCalo/Configuration
RecoParticleFlow/Configuration
RecoParticleFlow/PFClusterProducer
SimCalorimetry/Configuration
SimCalorimetry/EcalTrigPrimProducers
SimCalorimetry/HcalZeroSuppressionProducers
SimG4Core/Configuration
SimGeneral/Configuration
SimGeneral/MixingModule
SimMuon/Configuration
SimMuon/RPCDigitizer

@civanch, @cvuosalo, @mdhildreth, @cmsbuild, @rekovic, @franzoni, @cerminar, @slava77, @mmusich, @mulhearn, @davidlange6 can you please review it and eventually sign? Thanks.
@ghellwig, @mmarionncern, @abbiendi, @argiro, @battibass, @makortel, @wmtan, @GiacomoSguazzoni, @rafaellopesdesa, @rovere, @lgray, @Martin-Grunewald, @jhgoh, @tocheng, @cerati, @VinInn, @trocino, @dgulhan, @bachtis this is something you requested to watch as well.
@slava77, @Degano, @smuzaffar you are the release manager for this.

cms-bot commands are list here #13028

@kpedro88
Copy link
Contributor Author

attn: @lgray

obj.outputCommands.append('keep *_HGCalUncalibRecHit_*_*')
_phase2_RecoLocalCaloFEVT_outputCommands = RecoLocalCaloFEVT.outputCommands
_phase2_RecoLocalCaloFEVT_outputCommands.append('keep *_HGCalRecHit_*_*')
_phase2_RecoLocalCaloFEVT_outputCommands.append('keep *_HGCalUncalibRecHit_*_*')
Copy link
Contributor

Choose a reason for hiding this comment

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

Does this create a copy of RecoLocalCaloFEVT.outputCommands (I'd say no but I could be wrong)? If not, I would do the following

eras.phase2_hgcal.toReplaceWith(RecoLocalCaloFEVT, RecoLocalCaloFEVT.clone(
    outputCommands = RecoLocalCaloFEVT.outputCommands + [
        'keep *_HGCalRecHit_*_*',
        'keep *_HGCalUncalibRecHit_*_*'
    ]
))

(of course it can be done via a temporary object and using append if you prefer, I prefer to avoid them if reasonable)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@makortel - yes, it is intended to create a copy and then append to the copy. I guess I can understand the desire to avoid temporary objects, but I think using toModify here is a little nicer than toReplaceWith... @Dr15Jones, any preference?

Copy link
Contributor

@makortel makortel Apr 20, 2016

Choose a reason for hiding this comment

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

@kpedro88 My main concern is that does the assignment _phase2_RecoLocalCaloFEVT_outputCommands = RecoLocalCaloFEVT.outputCommands create a copy or not (I fear not). A simplified example

import FWCore.ParameterSet.Config as cms
foo = cms.vstring("foo")
bar = foo # corresponds "_phase2_RecoLocalCaloFEVT_outputCommands = RecoLocalCaloFEVT.outputCommands"
bar.append("bar")
print foo
# prints "foo" and "bar"

Temporary object I think is more a matter of style, I mostly wanted to give an example how to avoid it.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@makortel - Ah, that is probably a shortcoming of my Python knowledge. I'll figure out a way to fix it.

Copy link
Contributor

Choose a reason for hiding this comment

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

Assignment in python is not a copy. The way I think about it is all python variables are essentially pointers. so when you do a = b, a and b both point to the same python object.

@Dr15Jones
Copy link
Contributor

I'm done with all my comments

@kpedro88
Copy link
Contributor Author

@Dr15Jones thanks, I'll fix all of those. I didn't know about the dict syntax for toModify, that is a lot nicer.

@cmsbuild
Copy link
Contributor

Pull request #14168 was updated. @civanch, @cvuosalo, @mdhildreth, @cmsbuild, @rekovic, @franzoni, @cerminar, @slava77, @mmusich, @mulhearn, @davidlange6 can you please check and sign again.

@kpedro88
Copy link
Contributor Author

@Dr15Jones all comments addressed. I also defined a separate HGCal local reconstruction sequence and put it in its own cff for better organization.

@Dr15Jones
Copy link
Contributor

Looks good to me. Thanks for all your effort!

@cmsbuild
Copy link
Contributor

Pull request #14168 was updated. @civanch, @cvuosalo, @mdhildreth, @cmsbuild, @rekovic, @franzoni, @cerminar, @slava77, @mmusich, @mulhearn, @davidlange6 can you please check and sign again.

@cmsbuild
Copy link
Contributor

Pull request #14168 was updated. @civanch, @cvuosalo, @mdhildreth, @cmsbuild, @rekovic, @franzoni, @cerminar, @slava77, @mmusich, @mulhearn, @davidlange6 can you please check and sign again.

@kpedro88
Copy link
Contributor Author

@vandreev11 noticed the HCAL upgrade RecHit collections were not kept in the output, so I decided it was easiest just to add them here.

@kpedro88
Copy link
Contributor Author

@cmsbuild please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Apr 26, 2016

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-any-integration/12652/console

@cmsbuild
Copy link
Contributor

@cmsbuild
Copy link
Contributor

@kpedro88
Copy link
Contributor Author

It should really be ready for signatures now... @mmusich, @mulhearn, @slava77, @civanch, @davidlange6

@civanch
Copy link
Contributor

civanch commented Apr 27, 2016

+1

@mmusich
Copy link
Contributor

mmusich commented Apr 27, 2016

+1
alca affected only via CalibCalorimetry/HcalPlugins/python/Hcal_Conditions_forGlobalTag_cff.py
@kpedro88 for my education when do we expect to have the hardcode conditions migrated to DB?

@kpedro88
Copy link
Contributor Author

@mmusich - there are a lot of answers to that question...

For 2016, hopefully as soon as possible. We're testing things privately now.

For 2017, we won't have real conditions until we know what devices/boards/etc. we're installing... so we'll rely on the hardcode for a while, at least. At some point, we may make a set of "fake" average conditions for the DB.

For 2019/2023 studies, we'll continue to rely on the hardcode conditions primarily, as far as I know. They offer a lot of flexibility to cope with geometry changes, etc. automatically. (And with the configurability I've recently added, they can be used to test various electronics scenarios as well.)

@slava77
Copy link
Contributor

slava77 commented Apr 27, 2016

+1

for #14168 ef38181

  • changes in python configurations are in line with the description
  • jenkins test pass and comparisons with baseline show no differences (phase2 workflows are not running)
  • local tests show that expanded configs are essentially unchanged, as expected
    • Run2 step3 from 25202 gets PSets from hgceeDigitizer and similar, no changes in loaded modules
    • 2017 step3 from 10024 gets PSets from hgceeDigitizer and similar and also the HGCAL and HBHE/HF upgrade reco are loaded. There is no unscheduled setup pruning of configs. So, the extra modules loaded should be somewhat harmless.
    • Phase2 step2 from 11024 gets the update in the event content to keep the hbhe/hf upgrade products, and reconstruction_fromRECO_noTracking now correctly contains hbhe/hf and hgcal modules; otherwise, the expanded configuration is unchanged

@davidlange6 davidlange6 merged commit 3072726 into cms-sw:CMSSW_8_1_X Apr 28, 2016
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

8 participants