Skip to content

Commit

Permalink
Merge pull request #33233 from bsunanda/Run3-sim83
Browse files Browse the repository at this point in the history
Run3 sim83 Attempt to unify the file definitions between FullSim and FastSim
  • Loading branch information
cmsbuild committed Mar 23, 2021
2 parents 63030a5 + 0de7d4d commit 28d9f7a
Show file tree
Hide file tree
Showing 8 changed files with 125 additions and 34 deletions.
17 changes: 3 additions & 14 deletions FastSimulation/Calorimetry/python/Calorimetry_cff.py
Expand Up @@ -5,6 +5,7 @@
#Global fast calorimetry parameters
from FastSimulation.Calorimetry.HcalResponse_cfi import *
from FastSimulation.Calorimetry.HSParameters_cfi import *
from Geometry.HcalSimData.HFParameters_cff import *
#from FastSimulation.Configuration.CommonInputs_cff import *

from FastSimulation.Calorimetry.ECALResponse_cfi import *
Expand Down Expand Up @@ -262,22 +263,13 @@
timeShiftHF = cms.vdouble(50.7, 52.5, 52.9, 53.9, 54.5, 55.1, 55.1, 55.7, 55.9, 56.1, 56.1, 56.1, 56.5),
),
HFShower = cms.PSet(
ProbMax = cms.double(1.0),
CFibre = cms.double(0.5),
OnlyLong = cms.bool(True)
HFShowerBlock = cms.PSet(refToPSet_ = cms.string("HFShowerBlock"))
),
HFShowerLibrary = cms.PSet(
useShowerLibrary = cms.untracked.bool(True),
useCorrectionSL = cms.untracked.bool(True),
FileName = cms.FileInPath('SimG4CMS/Calo/data/HFShowerLibrary_oldpmt_noatt_eta4_16en_v3.root'),
BackProbability = cms.double(0.2),
TreeEMID = cms.string('emParticles'),
TreeHadID = cms.string('hadParticles'),
Verbosity = cms.untracked.bool(False),
ApplyFiducialCut = cms.bool(True),
BranchEvt = cms.untracked.string(''),
BranchPre = cms.untracked.string(''),
BranchPost = cms.untracked.string('')
HFLibraryFileBlock = cms.PSet(refToPSet_ = cms.string("HFLibraryFileBlock"))
)
),
GFlash = cms.PSet(
Expand All @@ -299,6 +291,3 @@
FamosCalorimetryBlock.Calorimetry.HCAL.Digitizer = True

from Configuration.Eras.Modifier_run2_common_cff import run2_common
run2_common.toModify(FamosCalorimetryBlock.Calorimetry.HFShowerLibrary, FileName = 'SimG4CMS/Calo/data/HFShowerLibrary_npmt_noatt_eta4_16en_v4.root' )

run2_common.toModify(FamosCalorimetryBlock.Calorimetry.HFShower, ProbMax = 0.5 )
28 changes: 28 additions & 0 deletions Geometry/HcalSimData/python/HFParameters_cff.py
@@ -0,0 +1,28 @@
import FWCore.ParameterSet.Config as cms

# Several parameters needed for HF simulation

HFLibraryFileBlock = cms.PSet(
FileName = cms.FileInPath('SimG4CMS/Calo/data/HFShowerLibrary_oldpmt_noatt_eta4_16en_v3.root'),
BackProbability = cms.double(0.2),
TreeEMID = cms.string('emParticles'),
TreeHadID = cms.string('hadParticles'),
ApplyFiducialCut= cms.bool(True),
Verbosity = cms.untracked.bool(False),
BranchPost = cms.untracked.string(''),
BranchEvt = cms.untracked.string(''),
BranchPre = cms.untracked.string('')
)

HFShowerBlock = cms.PSet(
ProbMax = cms.double(1.0),
CFibre = cms.double(0.5),
OnlyLong = cms.bool(True)
)

##
## Change the HFShowerLibrary file from Run 2
##
from Configuration.Eras.Modifier_run2_common_cff import run2_common
run2_common.toModify( HFLibraryFileBlock, FileName = 'SimG4CMS/Calo/data/HFShowerLibrary_npmt_noatt_eta4_16en_v4.root' )
run2_common.toModify( HFShowerBlock, ProbMax = 0.5)
3 changes: 2 additions & 1 deletion SimG4CMS/Calo/src/HFFibre.cc
Expand Up @@ -18,7 +18,8 @@ HFFibre::HFFibre(const std::string& name,
const HcalSimulationParameters* hps,
edm::ParameterSet const& p)
: hcalConstant_(hcons), hcalsimpar_(hps) {
edm::ParameterSet m_HF = p.getParameter<edm::ParameterSet>("HFShower");
edm::ParameterSet m_HF =
(p.getParameter<edm::ParameterSet>("HFShower")).getParameter<edm::ParameterSet>("HFShowerBlock");
cFibre = c_light * (m_HF.getParameter<double>("CFibre"));

edm::LogVerbatim("HFShower") << "HFFibre:: Speed of light in fibre " << cFibre << " m/ns";
Expand Down
3 changes: 2 additions & 1 deletion SimG4CMS/Calo/src/HFShower.cc
Expand Up @@ -26,7 +26,8 @@ HFShower::HFShower(const std::string &name,
: hcalConstant_(hcons), chkFibre_(chk) {
edm::ParameterSet m_HF = p.getParameter<edm::ParameterSet>("HFShower");
applyFidCut_ = m_HF.getParameter<bool>("ApplyFiducialCut");
probMax_ = m_HF.getParameter<double>("ProbMax");
edm::ParameterSet m_HF2 = m_HF.getParameter<edm::ParameterSet>("HFShowerBlock");
probMax_ = m_HF2.getParameter<double>("ProbMax");

edm::LogVerbatim("HFShower") << "HFShower:: Maximum probability cut off " << probMax_ << " Check flag " << chkFibre_;

Expand Down
6 changes: 4 additions & 2 deletions SimG4CMS/Calo/src/HFShowerLibrary.cc
Expand Up @@ -25,10 +25,12 @@ HFShowerLibrary::HFShowerLibrary(const std::string& name,
const HcalSimulationParameters* hps,
edm::ParameterSet const& p)
: hcalConstant_(hcons), hf(nullptr), emBranch(nullptr), hadBranch(nullptr), npe(0) {
edm::ParameterSet m_HF = p.getParameter<edm::ParameterSet>("HFShower");
edm::ParameterSet m_HF =
(p.getParameter<edm::ParameterSet>("HFShower")).getParameter<edm::ParameterSet>("HFShowerBlock");
probMax = m_HF.getParameter<double>("ProbMax");

edm::ParameterSet m_HS = p.getParameter<edm::ParameterSet>("HFShowerLibrary");
edm::ParameterSet m_HS =
(p.getParameter<edm::ParameterSet>("HFShowerLibrary")).getParameter<edm::ParameterSet>("HFLibraryFileBlock");
edm::FileInPath fp = m_HS.getParameter<edm::FileInPath>("FileName");
std::string pTreeName = fp.fullPath();
backProb = m_HS.getParameter<double>("BackProbability");
Expand Down
3 changes: 2 additions & 1 deletion SimG4CMS/Calo/src/HFShowerParam.cc
Expand Up @@ -32,12 +32,13 @@ HFShowerParam::HFShowerParam(const std::string& name,
edm::ParameterSet const& p)
: hcalConstants_(hcons), fillHisto_(false) {
edm::ParameterSet m_HF = p.getParameter<edm::ParameterSet>("HFShower");
edm::ParameterSet m_HF2 = m_HF.getParameter<edm::ParameterSet>("HFShowerBlock");
pePerGeV_ = m_HF.getParameter<double>("PEPerGeV");
trackEM_ = m_HF.getParameter<bool>("TrackEM");
bool useShowerLibrary = m_HF.getParameter<bool>("UseShowerLibrary");
bool useGflash = m_HF.getParameter<bool>("UseHFGflash");
edMin_ = m_HF.getParameter<double>("EminLibrary");
onlyLong_ = m_HF.getParameter<bool>("OnlyLong");
onlyLong_ = m_HF2.getParameter<bool>("OnlyLong");
ref_index_ = m_HF.getParameter<double>("RefIndex");
double lambdaMean = m_HF.getParameter<double>("LambdaMean");
aperture_ = cos(asin(m_HF.getParameter<double>("Aperture")));
Expand Down
78 changes: 78 additions & 0 deletions SimG4CMS/Calo/test/python/runEta37_cfg.py
@@ -0,0 +1,78 @@
import FWCore.ParameterSet.Config as cms

from Configuration.Eras.Era_Run3_cff import Run3
process = cms.Process("PROD",Run3)
process.load("Configuration.Geometry.GeometryExtended2021Reco_cff")

#from Configuration.Eras.Era_Run3_dd4hep_cff import Run3_dd4hep
#process = cms.Process("PROD",Run3_dd4hep)
#process.load("Configuration.Geometry.GeometryDD4hepExtended2021Reco_cff")

process.load("SimGeneral.HepPDTESSource.pythiapdt_cfi")
process.load('FWCore.MessageService.MessageLogger_cfi')
process.load("IOMC.EventVertexGenerators.VtxSmearedGauss_cfi")
process.load("Configuration.StandardSequences.MagneticField_cff")
process.load("Configuration.EventContent.EventContent_cff")
process.load('Configuration.StandardSequences.Generator_cff')
process.load('Configuration.StandardSequences.SimIdeal_cff')
process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff"
)
from Configuration.AlCa.GlobalTag import GlobalTag
process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:phase1_2021_realistic', '')

process.MessageLogger.cerr.FwkReport.reportEvery = 5
if hasattr(process,'MessageLogger'):
process.MessageLogger.G4cerr=dict()
process.MessageLogger.HcalSim=dict()
process.MessageLogger.HFShower=dict()

process.load("IOMC.RandomEngine.IOMC_cff")
process.RandomNumberGeneratorService.generator.initialSeed = 456789
process.RandomNumberGeneratorService.g4SimHits.initialSeed = 9876
process.RandomNumberGeneratorService.VtxSmeared.initialSeed = 123456789

process.maxEvents = cms.untracked.PSet(
input = cms.untracked.int32(5)
)

process.source = cms.Source("EmptySource")

process.generator = cms.EDProducer("FlatRandomEGunProducer",
PGunParameters = cms.PSet(
PartID = cms.vint32(211),
MinEta = cms.double(4.25),
MaxEta = cms.double(4.25),
MinPhi = cms.double(-3.14159265359),
MaxPhi = cms.double(3.14159265359),
MinE = cms.double(30.0),
MaxE = cms.double(30.0)
),
Verbosity = cms.untracked.int32(0),
AddAntiParticle = cms.bool(False),
firstRun = cms.untracked.uint32(1)
)

process.output = cms.OutputModule("PoolOutputModule",
process.FEVTSIMEventContent,
fileName = cms.untracked.string('simevent030eta37.root')
)

process.Timing = cms.Service("Timing")

process.generation_step = cms.Path(process.pgen)
process.simulation_step = cms.Path(process.psim)
process.out_step = cms.EndPath(process.output)

process.g4SimHits.Physics.type = 'SimG4Core/Physics/FTFP_BERT_EMM'
#process.g4SimHits.G4Commands = ['/tracking/verbose 1']

# Schedule definition
process.schedule = cms.Schedule(process.generation_step,
process.simulation_step,
process.out_step
)

# filter all path with the production filter sequence
for path in process.paths:
getattr(process,path)._seq = process.generator * getattr(process,path)._seq

21 changes: 6 additions & 15 deletions SimG4Core/Application/python/g4SimHits_cfi.py
Expand Up @@ -5,6 +5,9 @@
## HF Raddam Dose Class in /SimG4CMS/Calo
from SimG4CMS.Calo.HFDarkeningParams_cff import *

## HF shower parameters
from Geometry.HcalSimData.HFParameters_cff import *

## This object is used to customise g4SimHits for different running scenarios

common_heavy_suppression = cms.PSet(
Expand Down Expand Up @@ -394,33 +397,23 @@
HFShower = cms.PSet(
common_UsePMT,
common_UseHF,
ProbMax = cms.double(1.0),
CFibre = cms.double(0.5),
PEPerGeV = cms.double(0.31),
TrackEM = cms.bool(False),
UseShowerLibrary = cms.bool(True),
UseHFGflash = cms.bool(False),
EminLibrary = cms.double(0.0),
OnlyLong = cms.bool(True),
LambdaMean = cms.double(350.0),
ApplyFiducialCut = cms.bool(True),
RefIndex = cms.double(1.459),
Aperture = cms.double(0.33),
ApertureTrapped = cms.double(0.22),
CosApertureTrapped= cms.double(0.5),
SinPsiMax = cms.untracked.double(0.5),
ParametrizeLast = cms.untracked.bool(False)
ParametrizeLast = cms.untracked.bool(False),
HFShowerBlock = cms.PSet(refToPSet_ = cms.string("HFShowerBlock"))
),
HFShowerLibrary = cms.PSet(
FileName = cms.FileInPath('SimG4CMS/Calo/data/HFShowerLibrary_oldpmt_noatt_eta4_16en_v3.root'),
BackProbability = cms.double(0.2),
TreeEMID = cms.string('emParticles'),
TreeHadID = cms.string('hadParticles'),
Verbosity = cms.untracked.bool(False),
ApplyFiducialCut= cms.bool(True),
BranchPost = cms.untracked.string(''),
BranchEvt = cms.untracked.string(''),
BranchPre = cms.untracked.string('')
HFLibraryFileBlock = cms.PSet(refToPSet_ = cms.string("HFLibraryFileBlock"))
),
HFShowerPMT = cms.PSet(
common_UsePMT,
Expand Down Expand Up @@ -604,8 +597,6 @@
## Change the HFShowerLibrary file from Run 2
##
from Configuration.Eras.Modifier_run2_common_cff import run2_common
run2_common.toModify( g4SimHits.HFShowerLibrary, FileName = 'SimG4CMS/Calo/data/HFShowerLibrary_npmt_noatt_eta4_16en_v4.root' )
run2_common.toModify( g4SimHits.HFShower, ProbMax = 0.5)

##
## Change HCAL numbering scheme in 2017
Expand Down

0 comments on commit 28d9f7a

Please sign in to comment.