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 in CCE degradation and add HGCal to aging customizations #19896
Changes from all commits
878a7f7
3a1032e
6e27795
c4c482a
5ca16ac
40e02b0
2f99a60
ba14747
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -8,6 +8,16 @@ def getHcalDigitizer(process): | |
return process.mix.digitizers.hcal | ||
return None | ||
|
||
def getHGCalDigitizer(process,section): | ||
if hasattr(process,'mix') and hasattr(process.mix,'digitizers'): | ||
if section == 'EE' and hasattr(process.mix.digitizers,'hgceeDigitizer'): | ||
return process.mix.digitizers.hgceeDigitizer | ||
elif section == 'FH' and hasattr(process.mix.digitizers,'hgchefrontDigitizer'): | ||
return process.mix.digitizers.hgchefrontDigitizer | ||
elif section == 'BH' and hasattr(process.mix.digitizers,'hgchebackDigitizer'): | ||
return process.mix.digitizers.hgchebackDigitizer | ||
return None | ||
|
||
# change assumptions about lumi rate | ||
def setScenarioHLLHC(module,scenarioHLLHC): | ||
if scenarioHLLHC=="nominal": | ||
|
@@ -49,6 +59,13 @@ def ageHF(process,turnon): | |
process.es_hardcode.HFRecalibration = cms.bool(turnon) | ||
return process | ||
|
||
def agedHGCal(process): | ||
from SimCalorimetry.HGCalSimProducers.hgcalDigitizer_cfi import HGCal_setEndOfLifeNoise | ||
HGCal_setEndOfLifeNoise(getHGCalDigitizer(process,'EE')) | ||
HGCal_setEndOfLifeNoise(getHGCalDigitizer(process,'FH')) | ||
HGCal_setEndOfLifeNoise(getHGCalDigitizer(process,'BH')) | ||
return process | ||
|
||
# needs lumi to set proper ZS thresholds (tbd) | ||
def ageSiPM(process,turnon,lumi): | ||
process.es_hardcode.hbUpgrade.doRadiationDamage = turnon | ||
|
@@ -182,14 +199,17 @@ def customise_aging_1000(process): | |
def customise_aging_3000(process): | ||
process=ageHcal(process,3000,5.0e34,"nominal") | ||
process=ageEcal(process,3000,5.0e34) | ||
process=agedHGCal(process) | ||
return process | ||
|
||
def customise_aging_3000_ultimate(process): | ||
process=ageHcal(process,3000,7.5e34,"ultimate") | ||
process=ageEcal(process,3000,7.5e34) | ||
process=agedHGCal(process) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. the aging model doesn't depend at all on the luminosity? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @lgray still curious about this... There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Right now I only have two data points and no indication of how they scale, if there's saturation of any effects, etc. |
||
return process | ||
|
||
def customise_aging_4500_ultimate(process): | ||
process=ageHcal(process,4500,7.5e34,"ultimate") | ||
process=ageEcal(process,4500,7.5e34) | ||
process=agedHGCal(process) | ||
return process |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -87,6 +87,9 @@ class HGCDigitizerBase { | |
|
||
//noise level | ||
std::vector<float> noise_fC_; | ||
|
||
//charge collection efficiency | ||
std::vector<double> cce_; | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. cce_ is used as an argument in myFEelectronics_->runShaper(), which requires a float. |
||
|
||
//front-end electronics model | ||
std::unique_ptr<HGCFEElectronics<DFr> > myFEelectronics_; | ||
|
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.
@lgray : is this the only place where the saturation bug fix is, isn't it?
are you sure this method setWord is used today? I could not find any caller...