Muon SimHit production (MuonSimHitProducer)

Complete: 3


The MuonSimHit production is "equivalent" to the muon g4SimHit production from GEANT-based simulation, in the sense that it produces exactly the same objects (a factor of X quicker, though), i.e.,

  • A collection of PSimHit with label "MuonCSCHits";
  • A collection of PSimHit with label "MuonDTHits";
  • A collection of PSimHit with label "MuonRPCHits";

These PSimHits contain the position of simulated hits (i.e. entry and exit points from the sensitive volumes), time-of-flight, precise ID of the detector element that was hit, and the particle ID of the particle that generated it. A description of the CSC, RPC and DT detector systems can be found on the SWGuideMuonSystemReco page.

The random number initialization for this step is to be included in the RandomNumberGeneratorService as follows,

     untracked uint32 MuonSimHits = 86487

together with the following .cfi include file:

# Muon SimHits 
   include "FastSimulation/MuonSimHitProducer/data/MuonSimHitProducer.cfi"

After this, standard sequences can be used to digitize the hits and produce Digis, RecHits, segments, muon tracks etc etc. For example, the next step after MuonSimHitProducer requires the following .cff include file:

# Muon Digis
   include "SimMuon/Configuration/data/SimMuon.cff"

,which produces muon Digi' s from the simulated hits in the CSC, DT and RPC detectors. The digitizers also need a random number initialization in the RandomNumberGeneratorService as follows,

    untracked uint32 muonDTDigis = 67673
    untracked uint32 muonCSCDigis = 525432
    untracked uint32 muonRPCDigis = 525432

These two .cfi/.cff configuration files are in turn included in

, as all other configuration files needed for a smooth running of the fast simulation code.

Common include files related to geometry, misalignment are grouped in a file named FastSimulation/Configuration/data/CommonInputs.cff (with Frontier conditions) or FastSimulation/Configuration/data/CommonInputsFake.cff (with Fake conditions, from CMSSW_1_7_0 onwards).

The sequence to produce muon SimHits is called muonSimHits and is to be included after = famosSimHits= (which produce the input muon tracks propagated through the tracker) and before mix (for the muon hits to be propagated to the rest of the simulation and reconstruction in the proper format), e.g.,

sequence famosWithTracksAndMuonHits = { 
In the above sequence, tracker tracks are also produced, and the famosMuonSequence simulates all digis and rechits, together with a reconstruction of stand-alone muons and global muons (available from CMSSW_1_6_8 onwards). Starting CMSSW_1_8_x, the following sequence is also defined:
sequence famosWithTracksAndMuons = { 

This sequence includes the standard muon ID and muon Isolation, which produces the standard reco::Muon collections that are designed for use in physics analyses.

Let's now examine the content of the MuonSimHitProducer.cfi configuration file, and what is left as a handle for the user, to switch on and off a number of effects, or even better, for the developer, for tuning and comparison with the GEANT-based simulation.

The Muon SimHit producer

We are planning to give the MuonSimHitProducer several customizable options:

  • dE/dx (only option for now: on) --> currently for every muon an average dE/dx is applied in the propagation from the tracker to the muon system
  • multiple scattering (only option for now: off)
  • the propagator that is used (only option for now: SteppingHelixPropagator)
  • radiation/showering of muons outside the tracker (only option for now: off)
  • simulation of exotic particles that can create hits in the muon system, for example heavy stable charged particles (only option for now: off)
  • (perhaps: simulation of hits from punch-through (only option for now: off))

The configuration file looks as follows:

module MuonSimHits = MuonSimHitProducer
    using MuonServiceProxy
    # Muons
    PSet MUONS =
   // Debug level
   untracked bool Debug = false 
   // What is to be produced // Dummy, for now:
   untracked bool ProduceL1Muons = false 
   untracked bool ProduceL3Muons = false 
   untracked bool ProduceGlobalMuons = true

   // The muon simtrack's must be taken from there
   string simModuleLabel = "famosSimHits"
   string simModuleProcess = "MuonSimTracks"

   // The reconstruted tracks must be taken from there
   string trackModuleLabel = "gsWithMaterialTracks"
   // Simulate  only simtracks in this eta range
   double MinEta = -2.4
   double MaxEta =  2.4


        PSet MuonTrajectoryUpdatorParameters = {
                double MaxChi2 = 1000 #25.0
                int32 Granularity = 0
                bool RescaleError = false
                double RescaleErrorFactor = 100.                

    PSet TRACKS = 
   // Set to true if the full pattern recognition was used
   // to reconstruct tracks in the tracker
   untracked bool FullPatternRecognition = false

Review status

Reviewer/Editor and Date (copy from screen) Comments
PatrickJanot - 14 November 2007 First (crude) version of the documention to encourage Martijn!
PatrickJanot - 18 June 2007 created template page

Responsible: AndreaPerrotta
Last reviewed by: Reviewer

Edit | Attach | Watch | Print version | History: r13 < r12 < r11 < r10 < r9 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r13 - 2011-05-03 - AndreaPerrotta

    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    CMSPublic All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2021 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback