Difference: SWGuideHeavyIonEvtMixing (5 vs. 6)

Revision 62009-10-30 - PhilipAllfrey

Line: 1 to 1
 
META TOPICPARENT name="SWGuideHeavyIon"

Mixing Signal Events into Heavy Ion Background

Complete: 5
Changed:
<
<
>
>
 
Changed:
<
<

Instructions for generating, simulating and mixing signal event

>
>

Goal of this page

The aim of this page is to provide instructions for generating, simulating and mixing a signal event into a heavy ion background event
 
Changed:
<
<

Quick Instructions

>
>

Code and tags

The code which does the mixing has been incorporated into the standard MixingModule, which lives in SimGeneral/MixingModule, since release CMSSW_3_3_0. There is no need for additional CVS tags.
 
Changed:
<
<
Heavy Ion mixing job can be created in two ways, by either using cmsDriver.py command, or writing a cfg yourself.
>
>

Quick Instructions

The configuration file (cfg) for a heavy-ion mixing job can be created in two ways, by either using the cmsDriver.py command, or writing the cfg yourself.
 

Using cmsDriver.py

Changed:
<
<
You can create a configuration with the following command:
>
>
You can create a configuration file with the following command:
 
cmsDriver.py Pyquen_DiJet_pt80to120_4TeV_cfi.py \
--himix --scenario HeavyIons \

Line: 27 to 28
 --no_exec
Changed:
<
<
This configuration mixes dijets into heavy ion background, and runs up to RECO. The particularities are:
  • The input generator cfi has to be defined with label "hiSignal", rather than "generator".
>
>
This configuration mixes dijets into heavy ion background, and runs up to RECO. The signal event is specified in the input cfi file (here Pyquen_DiJet_pt80to120_4TeV_cfi.py). The background event into which it should be mixed is specified by the --filein parameter. Further details to nore are:
  • In the input generator cfi, (Pyquen_DiJet_pt80to120_4TeV_cfi.py in the example above ), the generator module has to be defined with label "hiSignal", rather than "generator".
 
  • The GEN sequence must be run with the option "hiSignal", by typing it as "GEN:hiSignal" among sequences.
  • The option "--himix" must be used.
  • Scenario "HeavyIons" must be specified.
  • A process name (of your choice) has to be specified in order not to clash with previous processes that ran on the events.
Changed:
<
<
You can modify all other parameters as you like. You can look at SWGuidePyReleaseValidationOptions for cmsDriver.py details.

Writing a custom configuration

  • Create a PoolSource that opens an input (heavy ion background) file. Make sure you drop the previously produced DIGI, RAW etc. of the background event. You need only the GEN and SIM info from this file:
>
>
You can modify all other parameters as you like. See SWGuidePyReleaseValidationOptions for cmsDriver.py details.
 
Added:
>
>

Writing a custom configuration file

  • Create a PoolSource that opens an input (heavy ion background) file. Make sure you drop the previously produced DIGI, RAW etc. of the background event. You need only the GEN and SIM info from this file:
 
process.source = cms.Source("PoolSource",
    fileNames = cms.untracked.vstring('inputfile.root'),

Line: 52 to 49
 )
Changed:
<
<

  • Load a generator particularly configured for mixing:
>
>
  • Load a generator particularly configured for mixing, for example:
 
process.load('Configuration.Generator.Pyquen_GammaJet_pt20_4TeV_cfi')
Line: 95 to 89
 

Other possibilities you may need

Mixing in Gen-Level only

Changed:
<
<
>
>
For some studies it may be sufficient to mix the signal and background events at the generator level, rather than the SIM level as for the cases above. To do this
 
  • Load only standard GEN sequences.
Changed:
<
<
  • For mixing, use mixGenNoPU from HiEventMixing, by not loading; but importing.
>
>
process.load('Configuration/StandardSequences/Services_cff')
process.load('Configuration/StandardSequences/Generator_cff')
 
Added:
>
>
  • For mixing, use mixGenNoPU from HiEventMixing, not by loading; but importing.
 
from SimGeneral.MixingModule.HiEventMixing_cff import *
process.mix = mixGenHI

Line: 106 to 104
 process.pmix = cms.Path(process.mix)
Changed:
<
<

Running NoPileUp on hiSignal

>
>

Running NoPileUp on hiSignal

 
Changed:
<
<
You may want to take the already simulated signal events, which are mixed into HI background reconstructed, and run RECO on them without the heavy ion background. It is possible to save the RECO output of both mixed and signal-only event in the same file. Heere are the instructions to do it:
>
>
You may want to take the already simulated signal events, which have been mixed into HI background and reconstructed, and run RECO on them without the heavy ion background. It is possible to save the RECO output of both mixed and signal-only event in the same file. Here are the instructions to do it:
 
Changed:
<
<
  • For now, you need to check out the HEAD of SimGeneral/MixingModule from the CVS.
  • Create a PoolSource that drops the DIGI, RAW, and local RECO of the input file.
  • Load only standard GEN, SIM, DIGI sequences.
  • For mixing, load HiEventMixing and change parameters to use only the signal:
>
>
  • For now (CMSSW_3_3_X or 3_4_0_preX) , you need to check out the HEAD of SimGeneral/MixingModule from the CVS.
cvs co SimGeneral/MixingModule
scramv1 b

  • In your configuration file, create a PoolSource that drops the DIGI, RAW, and local RECO of the input file.
process.source = cms.Source("PoolSource",
    fileNames = cms.untracked.vstring('inputfile.root'),
    inputCommands = cms.untracked.vstring(
        'drop *_*_*_DIGI',
        'drop *_*_*_RAW',
        'drop *_*_*_RECO'),
    dropDescendantsOfDroppedBranches = cms.untracked.bool(False)
)
 
Added:
>
>
  • Load only standard GEN, SIM, DIGI sequences.
 

Added:
>
>
process.load('Configuration/StandardSequences/Services_cff') process.load('Configuration/StandardSequences/Generator_cff') process.load('Configuration/StandardSequences/Sim_cff') process.load('Configuration/StandardSequences/Digi_cff')
 
Added:
>
>
  • For mixing, load HiEventMixing and change parameters to use only the signal:

 process.load("SimGeneral.MixingModule.HiEventMixing_cff") process.mix.srcGEN = ["hiSignal"]
Changed:
<
<
process.mix.srcSIM = ["hSignalG4SimHits"]
>
>
process.mix.srcSIM = ["hiSignalG4SimHits"]
 

  • Run standard DIGI, L1, RAW, RawToDigi sequences.
Added:
>
>
process.p = cms.Path(process.mix*process.doAllDigi*process.L1Emulator*process.DigiToRaw*process.RawToDigi)
 
Deleted:
<
<
If you want to keep both Mixed ans Signal-only reconstruction objects, then you need new names for the Signal-only RECO objects. This is also easy:
 
Changed:
<
<
  • Load standard RECO for heavy ions, but AFTER that, load the extra reco for hiSignal.
>
>
If you want to keep both Mixed and Signal-only reconstruction objects, then you need new names for the Signal-only RECO objects. This is also easy:
 
Added:
>
>
  • Load standard RECO for heavy ions, but AFTER that, load the extra reco for hiSignal.
 
process.load('Configuration/StandardSequences/ReconstructionHeavyIons_cff')
process.load('RecoHI.Configuration.Reconstruction_hiSignal_cff')

Line: 143 to 163
 

Configuration Examples

Changed:
<
<
http://cmssw.cvs.cern.ch/cgi-bin/cmssw.cgi/UserCode/CmsHi/Utilities/scripts/mixDiJet_reco.sh?view=markup
>
>
The directory UserCode/CmsHi/Utilities/scripts contains some scripts with correctly-formed cmsDriver.py commands for mixing, e.g.
 

Related Links

Deleted:
<
<
  \ No newline at end of file
Added:
>
>

Contact

Review status

Reviewer/Editor and Date Comments
YetkinYilmaz - 29 Oct 2009 updated contents as part of documentation review

Responsible: YetkinYilmaz

 \ No newline at end of file
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback