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 HcalHPD type #17326

Merged
merged 2 commits into from
Feb 10, 2017
Merged

Add HcalHPD type #17326

merged 2 commits into from
Feb 10, 2017

Conversation

kpedro88
Copy link
Contributor

Based on discussions in #17311, this PR adds an "HcalHPD" type to the HcalSiPMType enum. This is done in order to access per-channel photoelectronsToAnalog values for HPDs from the database, repurposing the SiPMParameters object. The hardcode conditions are updated appropriately. All other values for SiPM-related quantities will be set to dummy values, since they will not be used for HPDs.

I tested the effect of this PR locally by changing the photoelectronsToAnalog value in Hcal_Conditions_forGlobalTag_cff and observing changes in digi, rechit, etc. distributions. No changes in central workflows are expected.

Updates to the database conditions for HCAL will follow separately. Removal of the photoelectronsToAnalog Python parameter in hcalSimParameters_cfi may also follow separately.

attn: @abdoulline, @mariadalfonso

@cmsbuild
Copy link
Contributor

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

It involves the following packages:

CalibCalorimetry/HcalAlgos
CalibCalorimetry/HcalPlugins
CalibFormats/HcalObjects

@ghellwig, @arunhep, @cerminar, @cmsbuild, @franzoni, @mmusich, @davidlange6 can you please review it and eventually sign? Thanks.
@ghellwig, @mariadalfonso, @tocheng this is something you requested to watch as well.
@davidlange6, @smuzaffar you are the release manager for this.

cms-bot commands are listed here #13028

@kpedro88
Copy link
Contributor Author

@cmsbuild please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Jan 30, 2017

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-any-integration/17507/console Started: 2017/01/30 19:28

@cmsbuild
Copy link
Contributor

@cmsbuild
Copy link
Contributor

Comparison job queued.

@cmsbuild
Copy link
Contributor

@abdoulline
Copy link

@franzoni , @arunhep,

Giovanni and Arun, this is a technical amendment/extension to correctly describe what has already been submitted to Plan 0 conditions, namely
enum HcalSiPMType {..., HcalHPD=7}

https://hypernews.cern.ch/HyperNews/CMS/get/calibrations/2808.html

Please, approve.

@kpedro88
Copy link
Contributor Author

kpedro88 commented Feb 9, 2017

@franzoni , @arunhep please sign

@kpedro88
Copy link
Contributor Author

@franzoni, @arunhep ping
@davidlange6 this is important for HCAL reco development and also will conflict with changes I have to make for Plan1, so please merge ASAP

else theType = HcalHPD;
} else if (fId.genericSubdet() == HcalGenericDetId::HcalGenOuter) {
if(useHOUpgrade_) theType = HcalHOHamamatsu;
else theType = HcalHPD;
}

Choose a reason for hiding this comment

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

Hi @kpedro88
sorry for coming to this only now.
I try to understand the change of the logic here:
It looks to me as if the new enum type is used in case of useHOUpgrade == false or useHEUpgrade == false, i.e. it is only valid for past runs?
Where is this type then used and what purpose does it serve?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

We still have HPDs installed in the HB and HE. The hardcode conditions are intended to be used for development/testing for any HCAL scenario, not just future ones.

This type will be used to store HPD photoelectronToAnalog value in the database, as discussed in #17311 and https://hypernews.cern.ch/HyperNews/CMS/get/calibrations/2808.html.

@@ -35,7 +35,7 @@
qieSlope = cms.vdouble(0.912,0.917,0.922,0.923),
mcShape = cms.int32(125),
recoShape = cms.int32(105),
photoelectronsToAnalog = cms.double(0.0),
photoelectronsToAnalog = cms.double(0.3305),
darkCurrent = cms.vdouble(0.0),

Choose a reason for hiding this comment

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

The rest of the code changes looks like really just related to the additional enum, but what is the rationale behind this configuration parameter change?
Why does this value needs to be changed?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Previously this value was only stored in Python (https://github.com/cms-sw/cmssw/blob/CMSSW_9_0_X/SimCalorimetry/HcalSimProducers/python/hcalSimParameters_cfi.py). Now it will be used in Method 2 reconstruction as well as digi simulation, so it will be taken from the database as noted in my above comment and the PR description. Once this PR and the conditions updates are accepted, the Python config can be cleaned up to reduce duplication.

@@ -48,7 +48,7 @@
qieSlope = cms.vdouble(0.912,0.916,0.920,0.922),
mcShape = cms.int32(125),
recoShape = cms.int32(105),
photoelectronsToAnalog = cms.double(0.0),
photoelectronsToAnalog = cms.double(0.3305),
darkCurrent = cms.vdouble(0.0),

Choose a reason for hiding this comment

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

see above

@ghellwig
Copy link

@kpedro88 thanks for the clarifications!
I just have one final question for my understanding: As it seems, the class HcalDbHardcode is meant to avoid hard-coded values, but why is it still called hardcode? Is this just a historical choice or am I missing something here?
Sorry to ask such basic questions, but I am not yet very familiar with the HCAL code.

@kpedro88
Copy link
Contributor Author

Originally, all the values in HcalDbHardcode were actually hardcoded in C++. I've modernized it to be configurable in Python for many values (not all) over the past few years. The old name was retained because no one cared enough to change it.

@ghellwig
Copy link

+1
thanks @kpedro88

@cmsbuild
Copy link
Contributor

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

@slava77
Copy link
Contributor

slava77 commented Feb 10, 2017

@davidlange6
this is one of the PRs needed for the HCAL M2 update and will need a sequence of events to happen from this PR to GT update to take effect on physics result.
Please merge or comment at your earliest.

@davidlange6
Copy link
Contributor

davidlange6 commented Feb 10, 2017 via email

@davidlange6
Copy link
Contributor

+1

@cmsbuild cmsbuild merged commit b5bc9b2 into cms-sw:CMSSW_9_0_X Feb 10, 2017
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.

6 participants