diff --git a/Configuration/Applications/python/ConfigBuilder.py b/Configuration/Applications/python/ConfigBuilder.py index c36be5e70bd0d..6053392ebdec7 100644 --- a/Configuration/Applications/python/ConfigBuilder.py +++ b/Configuration/Applications/python/ConfigBuilder.py @@ -1339,7 +1339,7 @@ def prepare_GEN(self, sequence = None): elif isinstance(theObject, cms.Sequence) or isinstance(theObject, cmstypes.ESProducer): self._options.inlineObjets+=','+name - if sequence == self.GENDefaultSeq or sequence == 'pgen_genonly' or ( sequence == 'pgen_hi' and 'generator' in genModules): + if sequence == self.GENDefaultSeq or sequence == 'pgen_genonly' or ( sequence == 'pgen_himix' or sequence == 'pgen_hi'): if 'ProductionFilterSequence' in genModules and ('generator' in genModules or 'hiSignal' in genModules): self.productionFilterSequence = 'ProductionFilterSequence' elif 'generator' in genModules: @@ -1469,6 +1469,7 @@ def prepare_DIGI2RAW(self, sequence = None): if "DIGIPREMIX" in self.stepMap.keys(): self.executeAndRemember("process.esDigiToRaw.Label = cms.string('mix')") ##terrible hack - bypass zero suppression self.executeAndRemember("process.SiStripDigiToRaw.FedReadoutMode = cms.string('PREMIX_RAW')") ##special readout mode for StripTracker + return def prepare_REPACK(self, sequence = None): diff --git a/Configuration/Generator/python/Pyquen_DiJet_pt80to120_2760GeV_cfi.py b/Configuration/Generator/python/Pyquen_DiJet_pt80to120_2760GeV_cfi.py index 787b53ae9746f..3ce9bf9980993 100644 --- a/Configuration/Generator/python/Pyquen_DiJet_pt80to120_2760GeV_cfi.py +++ b/Configuration/Generator/python/Pyquen_DiJet_pt80to120_2760GeV_cfi.py @@ -2,7 +2,7 @@ from Configuration.Generator.PyquenDefaultSettings_cff import * -hiSignal = cms.EDFilter("PyquenGeneratorFilter", +generator = cms.EDFilter("PyquenGeneratorFilter", collisionParameters, qgpParameters, pyquenParameters, @@ -19,7 +19,7 @@ bMax = cms.double(0.0) ## max impact param (fm); valid only if cflag_!=0 ) -hiSignal.embeddingMode = True +generator.embeddingMode = False configurationMetadata = cms.untracked.PSet( version = cms.untracked.string('$Revision: 1.2 $'), @@ -27,4 +27,4 @@ annotation = cms.untracked.string('PYQUEN quenched dijets (80 < pt-hat < 120 GeV) at sqrt(s) = 2.76TeV') ) -ProductionFilterSequence = cms.Sequence(hiSignal) \ No newline at end of file +ProductionFilterSequence = cms.Sequence(generator) diff --git a/Configuration/Generator/python/Pyquen_GammaJet_pt20_2760GeV_cfi.py b/Configuration/Generator/python/Pyquen_GammaJet_pt20_2760GeV_cfi.py index c465bfbea5035..44277edc5353a 100644 --- a/Configuration/Generator/python/Pyquen_GammaJet_pt20_2760GeV_cfi.py +++ b/Configuration/Generator/python/Pyquen_GammaJet_pt20_2760GeV_cfi.py @@ -2,7 +2,7 @@ from Configuration.Generator.PyquenDefaultSettings_cff import * -hiSignal = cms.EDFilter("PyquenGeneratorFilter", +generator = cms.EDFilter("PyquenGeneratorFilter", collisionParameters, qgpParameters, pyquenParameters, @@ -22,7 +22,7 @@ bMax = cms.double(0.0) ## max impact param (fm); valid only if cflag_!=0 ) -hiSignal.embeddingMode = True +generator.embeddingMode = False configurationMetadata = cms.untracked.PSet( version = cms.untracked.string('$Revision: 1.3 $'), @@ -30,4 +30,4 @@ annotation = cms.untracked.string('PYQUEN quenched gamma-jets (pt-hat > 20 GeV) at sqrt(s) = 2.76TeV') ) -ProductionFilterSequence = cms.Sequence(hiSignal) +ProductionFilterSequence = cms.Sequence(generator) diff --git a/Configuration/Generator/python/Pyquen_ZeemumuJets_pt10_2760GeV_cfi.py b/Configuration/Generator/python/Pyquen_ZeemumuJets_pt10_2760GeV_cfi.py index 3310bf5a39eea..87603a9c987d4 100644 --- a/Configuration/Generator/python/Pyquen_ZeemumuJets_pt10_2760GeV_cfi.py +++ b/Configuration/Generator/python/Pyquen_ZeemumuJets_pt10_2760GeV_cfi.py @@ -2,7 +2,7 @@ from Configuration.Generator.PyquenDefaultSettings_cff import * -hiSignal = cms.EDFilter("PyquenGeneratorFilter", +generator = cms.EDFilter("PyquenGeneratorFilter", collisionParameters, qgpParameters, pyquenParameters, @@ -22,7 +22,7 @@ bMax = cms.double(0.0) ## max impact param (fm); valid only if cflag_!=0 ) -hiSignal.embeddingMode = True +generator.embeddingMode = False configurationMetadata = cms.untracked.PSet( version = cms.untracked.string('$Revision: 1.3 $'), @@ -30,4 +30,4 @@ annotation = cms.untracked.string('PYQUEN Z->mumu and Z->ee (pt-hat > 10 GeV) at sqrt(s) = 2.76TeV') ) -ProductionFilterSequence = cms.Sequence(hiSignal) \ No newline at end of file +ProductionFilterSequence = cms.Sequence(generator) diff --git a/Configuration/PyReleaseValidation/python/ConfigBuilder.py b/Configuration/PyReleaseValidation/python/ConfigBuilder.py index 1eec4529400cf..a52781e6a21aa 100644 --- a/Configuration/PyReleaseValidation/python/ConfigBuilder.py +++ b/Configuration/PyReleaseValidation/python/ConfigBuilder.py @@ -1336,7 +1336,7 @@ def prepare_GEN(self, sequence = None): elif isinstance(theObject, cms.Sequence) or isinstance(theObject, cmstypes.ESProducer): self._options.inlineObjets+=','+name - if sequence == self.GENDefaultSeq or sequence == 'pgen_genonly' or ( sequence == 'pgen_hi' and 'generator' in genModules): + if sequence == self.GENDefaultSeq or sequence == 'pgen_genonly' or ( sequence == 'pgen_himix' or sequence == 'pgen_hi'): if 'ProductionFilterSequence' in genModules and ('generator' in genModules or 'hiSignal' in genModules): self.productionFilterSequence = 'ProductionFilterSequence' elif 'generator' in genModules: diff --git a/Configuration/StandardSequences/python/Generator_cff.py b/Configuration/StandardSequences/python/Generator_cff.py index ed18e9d8766e3..1ad0ddbaa4962 100644 --- a/Configuration/StandardSequences/python/Generator_cff.py +++ b/Configuration/StandardSequences/python/Generator_cff.py @@ -59,14 +59,10 @@ # hiGenJets = cms.Sequence(hiGenParticlesForJets*hiRecoGenJets) - from PhysicsTools.HepMCCandAlgos.HiGenParticles_cfi import * pgen_hi = cms.Sequence(cms.SequencePlaceholder("randomEngineStateProducer")+VertexSmearing+hiGenParticles+hiGenJets) - -from SimGeneral.MixingModule.MatchVtx_cfi import * - -pgen_himix = cms.Sequence(cms.SequencePlaceholder("randomEngineStateProducer")+matchVtx+hiGenParticles+hiGenJets) +pgen_himix = cms.Sequence(cms.SequencePlaceholder("randomEngineStateProducer")+cms.SequencePlaceholder("mix")+VertexSmearing+hiGenParticles+hiGenJets) fixGenInfo = cms.Sequence(GeneInfo * genJetMET) diff --git a/Configuration/StandardSequences/python/Mixing.py b/Configuration/StandardSequences/python/Mixing.py index 12c8e290186db..708016e1f2ba1 100644 --- a/Configuration/StandardSequences/python/Mixing.py +++ b/Configuration/StandardSequences/python/Mixing.py @@ -50,7 +50,8 @@ def addMixingScenario(label,dict): addMixingScenario("E8TeV_AVE_16_BX_50ns",{'file': 'SimGeneral.MixingModule.mix_POISSON_average_cfi','BX':50, 'B': (-3,2), 'N': 16}) addMixingScenario("E8TeV_AVE_10_BX_50ns_300ns_spread",{'file':'SimGeneral.MixingModule.mix_E8TeV_AVE_10_BX_50ns_300ns_spread_cfi'}) addMixingScenario("E8TeV_AVE_10_BX_25ns_300ns_spread",{'file':'SimGeneral.MixingModule.mix_E8TeV_AVE_10_BX_25ns_300ns_spread_cfi'}) -addMixingScenario("HiMix",{'file': 'SimGeneral.MixingModule.HiEventMixing_cff'}) +addMixingScenario("HiMix",{'file': 'SimGeneral.MixingModule.HiMix_cff'}) +addMixingScenario("HiMixGEN",{'file': 'SimGeneral.MixingModule.HiMixGEN_cff'}) addMixingScenario("HighLumiPileUp",{'file': 'SimGeneral.MixingModule.mixHighLumPU_cfi'}) addMixingScenario("InitialLumiPileUp",{'file': 'SimGeneral.MixingModule.mixInitialLumPU_cfi'}) addMixingScenario("LowLumiPileUp",{'file': 'SimGeneral.MixingModule.mixLowLumPU_cfi'}) diff --git a/Configuration/StandardSequences/python/VtxSmeared.py b/Configuration/StandardSequences/python/VtxSmeared.py index cc057c9c6e3e2..5614812fe9055 100644 --- a/Configuration/StandardSequences/python/VtxSmeared.py +++ b/Configuration/StandardSequences/python/VtxSmeared.py @@ -26,8 +26,11 @@ 'Realistic2p76TeV2011Collision': 'IOMC.EventVertexGenerators.VtxSmearedRealistic2p76TeV2011Collision_cfi', 'Realistic2p76TeV2013Collision': 'IOMC.EventVertexGenerators.VtxSmearedRealistic2p76TeV2013Collision_cfi', 'Centered7TeV2011Collision': 'IOMC.EventVertexGenerators.VtxSmearedCentered7TeV2011Collision_cfi', - 'RealisticHI2011Collision': 'IOMC.EventVertexGenerators.VtxSmearedRealisticHI2011Collision_cfi', - 'Realistic8TeVCollisionPPbBoost': 'GeneratorInterface.HiGenCommon.VtxSmearedRealisticPPbBoost8TeVCollision_cff', + 'Realistic5TeVPPbBoost': 'GeneratorInterface.HiGenCommon.VtxSmearedRealistic5TeVPPbBoost_cff', + 'Realistic5TeVPPbBoostReversed': 'GeneratorInterface.HiGenCommon.VtxSmearedRealistic5TeVPPbBoostReversed_cff', + 'MatchHI': 'GeneratorInterface.HiGenCommon.VtxSmearedMatchHI_cff', + 'Match5TeVPPbBoost': 'GeneratorInterface.HiGenCommon.VtxSmearedMatch5TeVPPbBoost_cff', + 'Match5TeVPPbBoostReversed': 'GeneratorInterface.HiGenCommon.VtxSmearedMatch5TeVPPbBoostReversed_cff', 'HLLHC' : 'IOMC.EventVertexGenerators.VtxSmearedHLLHC_cfi', 'ShiftedCollision2015' : 'IOMC.EventVertexGenerators.VtxSmearedShiftedCollision2015_cfi', 'NominalCollision2015' : 'IOMC.EventVertexGenerators.VtxSmearedNominalCollision2015_cfi' diff --git a/GeneratorInterface/HiGenCommon/python/VtxSmearedMatch5TeVPPbBoostReversed_cff.py b/GeneratorInterface/HiGenCommon/python/VtxSmearedMatch5TeVPPbBoostReversed_cff.py new file mode 100644 index 0000000000000..86b9d4eac37f4 --- /dev/null +++ b/GeneratorInterface/HiGenCommon/python/VtxSmearedMatch5TeVPPbBoostReversed_cff.py @@ -0,0 +1,9 @@ +import FWCore.ParameterSet.Config as cms + +from IOMC.EventVertexGenerators.VtxSmearedParameters_cfi import * +VtxSmeared = cms.EDProducer("MixBoostEvtVtxGenerator", + useCF = cms.untracked.bool(True), + signalLabel = cms.InputTag("generator"), + mixLabel = cms.InputTag("mix","generator"), + Beta=cms.double(0.434) + ) diff --git a/GeneratorInterface/HiGenCommon/python/VtxSmearedMatch5TeVPPbBoost_cff.py b/GeneratorInterface/HiGenCommon/python/VtxSmearedMatch5TeVPPbBoost_cff.py new file mode 100644 index 0000000000000..d1c2e9c9595e0 --- /dev/null +++ b/GeneratorInterface/HiGenCommon/python/VtxSmearedMatch5TeVPPbBoost_cff.py @@ -0,0 +1,9 @@ +import FWCore.ParameterSet.Config as cms + +from IOMC.EventVertexGenerators.VtxSmearedParameters_cfi import * +VtxSmeared = cms.EDProducer("MixBoostEvtVtxGenerator", + useCF = cms.untracked.bool(True), + signalLabel = cms.InputTag("generator"), + mixLabel = cms.InputTag("mix","generator"), + Beta=cms.double(-0.434) + ) diff --git a/GeneratorInterface/HiGenCommon/python/VtxSmearedMatchHI_cff.py b/GeneratorInterface/HiGenCommon/python/VtxSmearedMatchHI_cff.py new file mode 100644 index 0000000000000..d9eca1e1fbdb7 --- /dev/null +++ b/GeneratorInterface/HiGenCommon/python/VtxSmearedMatchHI_cff.py @@ -0,0 +1,8 @@ +import FWCore.ParameterSet.Config as cms + +from IOMC.EventVertexGenerators.VtxSmearedParameters_cfi import * +VtxSmeared = cms.EDProducer("MixEvtVtxGenerator", + useCF = cms.untracked.bool(True), + signalLabel = cms.InputTag("generator"), + mixLabel = cms.InputTag("mix","generator") + ) diff --git a/GeneratorInterface/HiGenCommon/python/VtxSmearedRealistic5TeVPPbBoostReversed_cff.py b/GeneratorInterface/HiGenCommon/python/VtxSmearedRealistic5TeVPPbBoostReversed_cff.py new file mode 100644 index 0000000000000..db6c1691a3838 --- /dev/null +++ b/GeneratorInterface/HiGenCommon/python/VtxSmearedRealistic5TeVPPbBoostReversed_cff.py @@ -0,0 +1,22 @@ +import FWCore.ParameterSet.Config as cms + +from IOMC.EventVertexGenerators.VtxSmearedParameters_cfi import * + +Realistic5TeVPPbBoostReversedVtxSmearingParameters= cms.PSet( + + Phi = cms.double(0.0), + BetaStar = cms.double(80.0), + Emittance = cms.double(6.25e-07), + Alpha = cms.double(0.0), + SigmaZ = cms.double(8.0), + TimeOffset = cms.double(0.0), + X0 = cms.double(0.2440), + Y0 = cms.double(0.3929), + Z0 = cms.double(0.4145), + Beta=cms.double(0.434) +) + +VtxSmeared = cms.EDProducer("BetaBoostEvtVtxGenerator", + VtxSmearedCommon, + Realistic5TeVPPbBoostReversedVtxSmearingParameters +) diff --git a/GeneratorInterface/HiGenCommon/python/VtxSmearedRealistic5TeVPPbBoost_cff.py b/GeneratorInterface/HiGenCommon/python/VtxSmearedRealistic5TeVPPbBoost_cff.py new file mode 100644 index 0000000000000..29f141dbe53b5 --- /dev/null +++ b/GeneratorInterface/HiGenCommon/python/VtxSmearedRealistic5TeVPPbBoost_cff.py @@ -0,0 +1,22 @@ +import FWCore.ParameterSet.Config as cms + +from IOMC.EventVertexGenerators.VtxSmearedParameters_cfi import * + +Realistic5TeVPPbBoostReversedVtxSmearingParameters= cms.PSet( + + Phi = cms.double(0.0), + BetaStar = cms.double(80.0), + Emittance = cms.double(6.25e-07), + Alpha = cms.double(0.0), + SigmaZ = cms.double(8.0), + TimeOffset = cms.double(0.0), + X0 = cms.double(0.2440), + Y0 = cms.double(0.3929), + Z0 = cms.double(0.4145), + Beta=cms.double(-0.434) +) + +VtxSmeared = cms.EDProducer("BetaBoostEvtVtxGenerator", + VtxSmearedCommon, + Realistic5TeVPPbBoostReversedVtxSmearingParameters +) diff --git a/PhysicsTools/HepMCCandAlgos/plugins/GenParticleProducer.cc b/PhysicsTools/HepMCCandAlgos/plugins/GenParticleProducer.cc index 2d654604c5aff..1290cb4af8738 100755 --- a/PhysicsTools/HepMCCandAlgos/plugins/GenParticleProducer.cc +++ b/PhysicsTools/HepMCCandAlgos/plugins/GenParticleProducer.cc @@ -97,13 +97,8 @@ GenParticleProducer::GenParticleProducer( const ParameterSet & cfg ) : produces >().setBranchAlias( alias + "BarCodes" ); } - if(doSubEvent_){ - vectorSrcTokens_ = vector_transform(cfg.getParameter >( "srcVector" ), [this](std::string const & label){return mayConsume(InputTag(label));}); - // produces(); - }else if(useCF_) { - mixToken_ = mayConsume >(InputTag(cfg.getParameter( "mix" ),"generator")); - srcToken_ = mayConsume(cfg.getUntrackedParameter( "src" , InputTag(cfg.getParameter( "mix" ),"generator"))); - } else srcToken_ = mayConsume(cfg.getParameter( "src" )); + if(useCF_) mixToken_ = mayConsume >(InputTag(cfg.getParameter( "mix" ),"generator")); + else srcToken_ = mayConsume(cfg.getParameter( "src" )); } GenParticleProducer::~GenParticleProducer() { @@ -159,9 +154,13 @@ void GenParticleProducer::produce( Event& evt, const EventSetup& es ) { evt.getByToken(mixToken_,cf); cfhepmcprod = new MixCollection(cf.product()); npiles = cfhepmcprod->size(); + LogDebug("GenParticleProducer")<<"npiles : "<getObject(icf).GetEvent()->particles_size()<getObject(icf).GetEvent()->particles_size(); } + LogDebug("GenParticleProducer")<<"totalSize : "< handle; @@ -194,6 +193,7 @@ void GenParticleProducer::produce( Event& evt, const EventSetup& es ) { /// fill indices if(doSubEvent_ || useCF_){ for(size_t ipile = 0; ipile < npiles; ++ipile){ + LogDebug("GenParticleProducer")<<"mixed object ipile : "<getObject(ipile).GetEvent(); else mc = heps[ipile]->GetEvent(); @@ -203,10 +203,10 @@ void GenParticleProducer::produce( Event& evt, const EventSetup& es ) { const HepMC::HeavyIon * hi = mc->heavy_ion(); if(hi && hi->Ncoll_hard() > 1) isHI = true; size_t num_particles = mc->particles_size(); + LogDebug("GenParticleProducer")<<"num_particles : "< using namespace edm; using namespace std; @@ -73,11 +74,9 @@ MixEvtVtxGenerator::MixEvtVtxGenerator( const ParameterSet& pset ) if(useRecVertex) useCF_ = 0; else{ useCF_ = pset.getUntrackedParameter("useCF",false); - cfLabel = consumes >(pset.getUntrackedParameter("mixLabel",edm::InputTag("mixGen","generator"))); + cfLabel = consumes >(pset.getParameter("mixLabel")); } signalLabel = consumes(pset.getParameter("signalLabel")); - hiLabel = consumes(pset.getParameter("heavyIonLabel")); - } @@ -94,23 +93,22 @@ HepMC::FourVector* MixEvtVtxGenerator::getVertex( Event& evt){ HepMC::GenVertex* genvtx = 0; const HepMC::GenEvent* inev = 0; - //cout<<" use CF "< > cf; evt.getByToken(cfLabel,cf); MixCollection mix(cf.product()); if(mix.size() < 2){ - cout<<"Less than 2 sub-events, mixing seems to have failed!"< input; evt.getByToken(signalLabel,input); inev = input->GetEvent(); @@ -118,11 +116,9 @@ HepMC::FourVector* MixEvtVtxGenerator::getVertex( Event& evt){ genvtx = inev->signal_process_vertex(); if(!genvtx){ - //cout<<"No Signal Process Vertex!"<particles_begin(); HepMC::GenEvent::particle_const_iterator ptend=inev->particles_end(); while(!genvtx || ( genvtx->particles_in_size() == 1 && pt != ptend ) ){ - //if(!genvtx) cout<<"No Gen Vertex!"<production_vertex(); ++pt; @@ -137,9 +133,8 @@ HepMC::FourVector* MixEvtVtxGenerator::getVertex( Event& evt){ if(!fVertex){ fVertex = new HepMC::FourVector(); - //cout<<" creating new vertex "<set(aX,aY,aZ,aT); @@ -159,21 +154,6 @@ HepMC::FourVector* MixEvtVtxGenerator::getRecVertex( Event& evt){ aY = input->begin()->position().y() + vtxOffset[1]; aZ = input->begin()->position().z() + vtxOffset[2]; - /* - std::cout << "reco::Vertex = " << input->begin()->position().x() - << ", " << input->begin()->position().y() - << ", " << input->begin()->position().z() - << std::endl; - - std::cout << "offset = " << vtxOffset[0] - << ", " << vtxOffset[1] - << ", " << vtxOffset[2] - << std::endl; - - std::cout << "embedded GEN vertex = " << aX - << ", " << aY << ", " << aZ << std::endl; - - */ if(!fVertex) fVertex = new HepMC::FourVector(); fVertex->set(10.0*aX,10.0*aY,10.0*aZ,0.0); // HepMC positions in mm (RECO in cm) @@ -191,7 +171,9 @@ void MixEvtVtxGenerator::produce( Event& evt, const EventSetup& ) // generate new vertex & apply the shift // - + if(HepMCEvt->isVtxGenApplied()) throw cms::Exception("MatchVtx") + <<"Signal HepMCProduct is not compatible for embedding - it's vertex is already smeared." + <applyVtxGen( useRecVertex ? getRecVertex(evt) : getVertex(evt) ) ; // HepMCEvt->boostToLab( GetInvLorentzBoost(), "vertex" ); diff --git a/SimGeneral/MixingModule/python/HiEventMixing_cff.py b/SimGeneral/MixingModule/python/HiEventMixing_cff.py index 57146e7a6697d..1430f9871dc12 100644 --- a/SimGeneral/MixingModule/python/HiEventMixing_cff.py +++ b/SimGeneral/MixingModule/python/HiEventMixing_cff.py @@ -1,115 +1,69 @@ import FWCore.ParameterSet.Config as cms -from SimGeneral.MixingModule.mixObjects_cfi import * -eventEmbeddingSourceParameters = cms.PSet( - nbPileupEvents = cms.PSet( - averageNumber = cms.double(1.0) - ), - seed = cms.int32(325), - type = cms.string('fixed'), - sequential = cms.untracked.bool(True) -) -eventEmbeddingMixParameters = cms.PSet( +# configuration to model pileup for initial physics phase +from SimGeneral.MixingModule.mixObjects_cfi import theMixObjects +from SimGeneral.MixingModule.mixPoolSource_cfi import * +from SimGeneral.MixingModule.digitizers_cfi import * + +FileNames = cms.untracked.vstring(['/store/relval/CMSSW_7_2_0_pre7/RelValQCD_Pt_80_120_13/GEN-SIM/PRE_LS172_V11-v1/00000/16547ECB-9C4B-E411-A815-0025905964BC.root', '/store/relval/CMSSW_7_2_0_pre7/RelValQCD_Pt_80_120_13/GEN-SIM/PRE_LS172_V11-v1/00000/86C3C326-9F4B-E411-903D-0025905A48EC.root', '/store/relval/CMSSW_7_2_0_pre7/RelValQCD_Pt_80_120_13/GEN-SIM/PRE_LS172_V11-v1/00000/C48D8223-9F4B-E411-BC37-0026189438DC.root', '/store/relval/CMSSW_7_2_0_pre7/RelValQCD_Pt_80_120_13/GEN-SIM/PRE_LS172_V11-v1/00000/D070AB62-9D4B-E411-9766-002618FDA207.root']) + +mixGen = cms.EDProducer("MixingModule", + digitizers = cms.PSet(), LabelPlayback = cms.string(''), - playback = cms.untracked.bool(False), maxBunch = cms.int32(0), - minBunch = cms.int32(0), - Label = cms.string(''), - bunchspace = cms.int32(125), + minBunch = cms.int32(0), ## in terms of 25 nsec + bunchspace = cms.int32(1), ##ns mixProdStep1 = cms.bool(False), mixProdStep2 = cms.bool(False), - useCurrentProcessOnly = cms.bool(False) - ) -simEventEmbeddingMixParameters = cms.PSet( - eventEmbeddingMixParameters, - mixObjects = cms.PSet( - mixCH = cms.PSet( - mixCaloHits - ), - mixTracks = cms.PSet( - mixSimTracks - ), - mixVertices = cms.PSet( - mixSimVertices - ), - mixSH = cms.PSet( - mixSimHits + + playback = cms.untracked.bool(False), + useCurrentProcessOnly = cms.bool(False), + + input = cms.SecSource("PoolSource", + nbPileupEvents = cms.PSet( + averageNumber = cms.double(1.0) ), - mixHepMC = cms.PSet( - mixHepMCProducts - ) - ) -) -genEventEmbeddingMixParameters = cms.PSet( - eventEmbeddingMixParameters, + type = cms.string('fixed'), + sequential = cms.untracked.bool(False), + fileNames = FileNames + ), + mixObjects = cms.PSet( - mySet = cms.PSet( - input = cms.VInputTag(cms.InputTag("generator"), cms.InputTag("secsource")), + mixHepMC = cms.PSet( + input = cms.VInputTag(cms.InputTag("generator")), + makeCrossingFrame = cms.untracked.bool(True), type = cms.string('HepMCProduct') - ) - ) + ) + ), ) -mixSim = cms.EDProducer("MixingModule", - simEventEmbeddingMixParameters, - input = cms.SecSource("PoolRASource", - eventEmbeddingSourceParameters, - fileNames = cms.untracked.vstring('rfio:/castor/cern.ch/cms/store/cmshi/mc/sim/hydjet_sim_x2_c10_d20080425/hydjet_sim_x2_c10_d20080425_r000002.root') - ) - ) - - -mixGen = cms.EDProducer("MixingModule", - genEventEmbeddingMixParameters, - input = cms.SecSource("PoolRASource", - eventEmbeddingSourceParameters, - fileNames = cms.untracked.vstring('rfio:/castor/cern.ch/cms/store/cmshi/mc/sim/hydjet_sim_x2_c10_d20080425/hydjet_sim_x2_c10_d20080425_r000002.root') - ) - ) - - - -mixGenNoPU = cms.EDProducer("MixingModule", - genEventEmbeddingMixParameters) - -mixSimNoPU = cms.EDProducer("MixingModule", - simEventEmbeddingMixParameters) +# How to?? +#for a in self.aliases: delattr(self, a) +# here?? -#Parameters for Signal-Only digitization in Heavy Ion Mixing - -noMix = mixSimNoPU.clone() -noMix.mixObjects.mixHepMC.input = cms.VInputTag(cms.InputTag("hiSignal")) - -noMix.mixObjects.mixCH.input = cms.VInputTag(cms.InputTag("hiSignalG4SimHits","CaloHitsTk"), cms.InputTag("hiSignalG4SimHits","CastorBU"), - cms.InputTag("hiSignalG4SimHits","CastorFI"), cms.InputTag("hiSignalG4SimHits","CastorPL"), cms.InputTag("hiSignalG4SimHits","CastorTU"), - cms.InputTag("hiSignalG4SimHits","EcalHitsEB"), cms.InputTag("hiSignalG4SimHits","EcalHitsEE"), cms.InputTag("hiSignalG4SimHits","EcalHitsES"), - cms.InputTag("hiSignalG4SimHits","EcalTBH4BeamHits"), cms.InputTag("hiSignalG4SimHits","HcalHits"), - cms.InputTag("hiSignalG4SimHits","HcalTB06BeamHits"), cms.InputTag("hiSignalG4SimHits","ZDCHITS")) +mix = cms.EDProducer("MixingModule", + digitizers = cms.PSet(theDigitizers), + LabelPlayback = cms.string('mixGen'), + maxBunch = cms.int32(0), + minBunch = cms.int32(0), ## in terms of 25 nsec -noMix.mixObjects.mixSH.input = cms.VInputTag(cms.InputTag("hiSignalG4SimHits","BSCHits"), cms.InputTag("hiSignalG4SimHits","FP420SI"), cms.InputTag("hiSignalG4SimHits","MuonCSCHits"), - cms.InputTag("hiSignalG4SimHits","MuonDTHits"), cms.InputTag("hiSignalG4SimHits","MuonRPCHits"), - cms.InputTag("hiSignalG4SimHits","TotemHitsRP"), cms.InputTag("hiSignalG4SimHits","TotemHitsT1"), - cms.InputTag("hiSignalG4SimHits","TotemHitsT2Gem"), cms.InputTag("hiSignalG4SimHits","TrackerHitsPixelBarrelHighTof"), - cms.InputTag("hiSignalG4SimHits","TrackerHitsPixelBarrelLowTof"), cms.InputTag("hiSignalG4SimHits","TrackerHitsPixelEndcapHighTof"), - cms.InputTag("hiSignalG4SimHits","TrackerHitsPixelEndcapLowTof"), cms.InputTag("hiSignalG4SimHits","TrackerHitsTECHighTof"), - cms.InputTag("hiSignalG4SimHits","TrackerHitsTECLowTof"), cms.InputTag("hiSignalG4SimHits","TrackerHitsTIBHighTof"), - cms.InputTag("hiSignalG4SimHits","TrackerHitsTIBLowTof"), cms.InputTag("hiSignalG4SimHits","TrackerHitsTIDHighTof"), - cms.InputTag("hiSignalG4SimHits","TrackerHitsTIDLowTof"), cms.InputTag("hiSignalG4SimHits","TrackerHitsTOBHighTof"), - cms.InputTag("hiSignalG4SimHits","TrackerHitsTOBLowTof")) + bunchspace = cms.int32(1), ##ns + mixProdStep1 = cms.bool(False), + mixProdStep2 = cms.bool(False), -noMix.mixObjects.mixTracks.input = cms.VInputTag(cms.InputTag("hiSignalG4SimHits")) -noMix.mixObjects.mixVertices.input = cms.VInputTag(cms.InputTag("hiSignalG4SimHits")) + playback = cms.untracked.bool(True), + useCurrentProcessOnly = cms.bool(False), + input = cms.SecSource("PoolSource", + nbPileupEvents = cms.PSet( + averageNumber = cms.double(1.0) + ), + type = cms.string('fixed'), + sequential = cms.untracked.bool(False), + fileNames = FileNames + ), + mixObjects = cms.PSet(theMixObjects) +) -mixGenHI = cms.EDProducer("HiMixingModule", - genEventEmbeddingMixParameters, - signalTag = cms.vstring("hiSignal","hiSignalG4SimHits"), - srcGEN = cms.vstring("hiSignal","generator") - ) +mixVal = mixGen.clone(playback = cms.untracked.bool(True),LabelPlayback = cms.string('mixGen')) -mix = cms.EDProducer("HiMixingModule", - simEventEmbeddingMixParameters, - signalTag = cms.vstring("hiSignal","hiSignalG4SimHits"), - srcGEN = cms.vstring("hiSignal","generator"), - srcSIM = cms.vstring("hiSignalG4SimHits","g4SimHits") - ) diff --git a/SimGeneral/MixingModule/python/HiMixGEN_cff.py b/SimGeneral/MixingModule/python/HiMixGEN_cff.py new file mode 100644 index 0000000000000..0b8c3c47fde9a --- /dev/null +++ b/SimGeneral/MixingModule/python/HiMixGEN_cff.py @@ -0,0 +1,41 @@ +import FWCore.ParameterSet.Config as cms + +# configuration to model pileup for initial physics phase +from SimGeneral.MixingModule.mixObjects_cfi import theMixObjects +from SimGeneral.MixingModule.mixPoolSource_cfi import * + +FileNames = cms.untracked.vstring(['/store/relval/CMSSW_7_2_0_pre7/RelValQCD_Pt_80_120_13/GEN-SIM/PRE_LS172_V11-v1/00000/16547ECB-9C4B-E411-A815-0025905964BC.root', '/store/relval/CMSSW_7_2_0_pre7/RelValQCD_Pt_80_120_13/GEN-SIM/PRE_LS172_V11-v1/00000/86C3C326-9F4B-E411-903D-0025905A48EC.root', '/store/relval/CMSSW_7_2_0_pre7/RelValQCD_Pt_80_120_13/GEN-SIM/PRE_LS172_V11-v1/00000/C48D8223-9F4B-E411-BC37-0026189438DC.root', '/store/relval/CMSSW_7_2_0_pre7/RelValQCD_Pt_80_120_13/GEN-SIM/PRE_LS172_V11-v1/00000/D070AB62-9D4B-E411-9766-002618FDA207.root']) + +mix = cms.EDProducer("MixingModule", + digitizers = cms.PSet(), + LabelPlayback = cms.string(''), + maxBunch = cms.int32(0), + minBunch = cms.int32(0), ## in terms of 25 nsec + bunchspace = cms.int32(1), ##ns + mixProdStep1 = cms.bool(False), + mixProdStep2 = cms.bool(False), + + playback = cms.untracked.bool(False), + useCurrentProcessOnly = cms.bool(False), + + input = cms.SecSource("PoolSource", + nbPileupEvents = cms.PSet( + averageNumber = cms.double(1.0) + ), + type = cms.string('fixed'), + sequential = cms.untracked.bool(False), + fileNames = FileNames + ), + + mixObjects = cms.PSet( + mixHepMC = cms.PSet( + input = cms.VInputTag(cms.InputTag("generator")), + makeCrossingFrame = cms.untracked.bool(True), + type = cms.string('HepMCProduct') + ) + ), +) + +mixGen = cms.Sequence(mix) + + diff --git a/SimGeneral/MixingModule/python/HiMix_cff.py b/SimGeneral/MixingModule/python/HiMix_cff.py new file mode 100644 index 0000000000000..e10e55418bf40 --- /dev/null +++ b/SimGeneral/MixingModule/python/HiMix_cff.py @@ -0,0 +1,39 @@ +import FWCore.ParameterSet.Config as cms + +# configuration to model pileup for initial physics phase +from SimGeneral.MixingModule.mixObjects_cfi import theMixObjects +from SimGeneral.MixingModule.mixPoolSource_cfi import * +from SimGeneral.MixingModule.digitizers_cfi import * + +FileNames = cms.untracked.vstring(['/store/relval/CMSSW_7_2_0_pre7/RelValQCD_Pt_80_120_13/GEN-SIM/PRE_LS172_V11-v1/00000/16547ECB-9C4B-E411-A815-0025905964BC.root', '/store/relval/CMSSW_7_2_0_pre7/RelValQCD_Pt_80_120_13/GEN-SIM/PRE_LS172_V11-v1/00000/86C3C326-9F4B-E411-903D-0025905A48EC.root', '/store/relval/CMSSW_7_2_0_pre7/RelValQCD_Pt_80_120_13/GEN-SIM/PRE_LS172_V11-v1/00000/C48D8223-9F4B-E411-BC37-0026189438DC.root', '/store/relval/CMSSW_7_2_0_pre7/RelValQCD_Pt_80_120_13/GEN-SIM/PRE_LS172_V11-v1/00000/D070AB62-9D4B-E411-9766-002618FDA207.root']) + +# How to?? +#for a in self.aliases: delattr(self, a) +# here?? + +mix = cms.EDProducer("MixingModule", + digitizers = cms.PSet(theDigitizers), + LabelPlayback = cms.string('mix'), + maxBunch = cms.int32(0), + minBunch = cms.int32(0), ## in terms of 25 nsec + + bunchspace = cms.int32(1), ##ns + mixProdStep1 = cms.bool(False), + mixProdStep2 = cms.bool(False), + + playback = cms.untracked.bool(True), + useCurrentProcessOnly = cms.bool(False), + + input = cms.SecSource("PoolSource", + nbPileupEvents = cms.PSet( + averageNumber = cms.double(1.0) + ), + type = cms.string('fixed'), + sequential = cms.untracked.bool(False), + fileNames = FileNames + ), + mixObjects = cms.PSet(theMixObjects) +) + + +