CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
01_customise_select_zmumu_and_replace.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 # cuts: ---------------------------------------------------------------------
4 
5 runOnTheGrid = False
6 
7 # Events to process
8 events_to_process=-1
9 
10 TauolaNoPolar = cms.PSet(
11  UseTauolaPolarization = cms.bool(False)
12 )
13 TauolaPolar = cms.PSet(
14  UseTauolaPolarization = cms.bool(True)
15 )
16 
19 TauolaDefaultInputCards.InputCards.mdtau = cms.int32(102);
20 
21 # Note: currently this is just a sketch and should not be used
22 from IOMC.RandomEngine.RandomServiceHelper import RandomNumberServiceHelper
23 
24 
25 # ------------------------------------------------------------------------------
26 
27 def customise(process):
28  if hasattr(process, "RandomNumberGeneratorService"):
29  randSvc = RandomNumberServiceHelper(process.RandomNumberGeneratorService)
30  randSvc.populate()
31 
32  process._Process__name="SELECTION"
33  process.LoadAllDictionaries = cms.Service("LoadAllDictionaries")
34  process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(True) )
35  #process.Tracer = cms.Service("Tracer")
36 
37  process.TFileService = cms.Service("TFileService",
38  fileName = cms.string("histo.root"),
39  closeFileFast = cms.untracked.bool(True)
40  )
41 
42  process.load("ElectroWeakAnalysis.ZReco.dimuons_SkimPaths_cff")
43  #process.load("ElectroWeakAnalysis.Skimming.dimuons_SkimPaths_cff")
44  process.schedule.insert(len(process.schedule)-1,process.dimuonsPath)
45 
46  # Output module configuration
47  #process.load("ElectroWeakAnalysis.Skimming.dimuonsOutputModule_cfi")
48 
49  process.load("TrackingTools.TrackAssociator.default_cfi")
50 
51  process.selectMuons = cms.EDProducer('SelectReplacementCandidates',
52  process.TrackAssociatorParameterBlock,
53  muonInputTag = cms.InputTag("muons")
54  )
55 
56  process.prepareMuonsPath = cms.Path(process.selectMuons)
57  process.schedule.insert(len(process.schedule)-1,process.prepareMuonsPath)
58  process.load("Configuration.StandardSequences.SimulationRandomNumberGeneratorSeeds_cff")
59  process.RandomNumberGeneratorService.newSource = cms.PSet(
60  initialSeed = cms.untracked.uint32(12345),
61  engineName = cms.untracked.string('HepJamesRandom')
62  )
63  process.load("IOMC/RandomEngine/IOMC_cff")
64 
65  process.load("Configuration.StandardSequences.SimulationRandomNumberGeneratorSeeds_cff")
66  process.RandomNumberGeneratorService.newSource = cms.PSet(
67  initialSeed = cms.untracked.uint32(12345),
68  engineName = cms.untracked.string('HepJamesRandom')
69  )
70  process.RandomNumberGeneratorService.theSource = cms.PSet(
71  initialSeed = cms.untracked.uint32(12345),
72  engineName = cms.untracked.string('HepJamesRandom')
73  )
74 
75  process.newSource = cms.EDProducer("MCParticleReplacer",
76  src = cms.InputTag("muons"),
77  beamSpotSrc = cms.InputTag("dummy"),
78  primaryVertexLabel = cms.InputTag("dummy"),
79  hepMcSrc = cms.InputTag("generatorSmeared"),
80 
81  algorithm = cms.string("ZTauTau"), # "ParticleGun", "ZTauTau", "CommissioningGun"
82  hepMcMode = cms.string("new"), # "new" for new HepMCProduct with taus and decay products,
83  # "replace" for replacing muons in the existing HepMCProcuct
84  # commissioning
85  verbose = cms.bool(False),
86 
87  CommissioningGun = cms.PSet(
88  maxMuonEta = cms.double(2.1),
89  minMuonPt = cms.double(5.)
90  ),
91 
92 
93  ZTauTau = cms.PSet(
94  TauolaOptions = cms.PSet(
95  TauolaPolar,
96  InputCards = cms.PSet
97  (
98  pjak1 = cms.int32(0),
99  pjak2 = cms.int32(0),
100  mdtau = cms.int32(102)
101  )
102  ),
103  filterEfficiency = cms.untracked.double(1.0),
104  pythiaHepMCVerbosity = cms.untracked.bool(False),
105  generatorMode = cms.string("Tauola"), # "Tauola", "Pythia" (not implemented yet)
106 
107  )
108  )
109 
110 
111  process.insertNewSourcePath = cms.Path(process.newSource)
112  process.schedule.insert(len(process.schedule)-1,process.insertNewSourcePath)
113 
114  process.options = cms.untracked.PSet( SkipEvent = cms.untracked.vstring('ProductNotFound') )
115 
116  if runOnTheGrid:
117  process.source.fileNames=cms.untracked.vstring(__FILE_NAMES__)
118  process.source.skipEvents=cms.untracked.uint32(__SKIP_EVENTS__)
119  process.maxEvents.input = cms.untracked.int32(__MAX_EVENTS__)
120  process.output.fileName=cms.untracked.string("output.root")
121 
122  process.filterNumHepMCEvents = cms.EDFilter('EmptyEventsFilter',
123  minEvents=cms.untracked.int32(2),
124  target=cms.untracked.int32(1)
125  )
126  process.filterNumHepMCEventsPath = cms.Path(process.filterNumHepMCEvents)
127  process.schedule.insert(len(process.schedule)-1,process.filterNumHepMCEventsPath)
128 
129  process.output.SelectEvents = cms.untracked.PSet(SelectEvents = cms.vstring('filterNumHepMCEventsPath'))
130  process.output.outputCommands = cms.untracked.vstring(
131  "drop *_*_*_*",
132  "keep edmHepMCProduct_*_*_*",
133  "keep CaloTowersSorted_*_*_*",
134  "keep recoMuons_*_*_*",
135  "keep recoCaloMETs_met_*_*",
136  "keep *_overlay_*_*",
137  "keep *_selectMuons_*_*",
138  "keep *_selectMuonsForMuonMuonReplacement_*_*",
139  "keep EBDigiCollection_*_*_*",
140  "keep EEDigiCollection_*_*_*",
141  "keep ESDataFramesSorted_*_*_*",
142  "keep DTLayerIdDTDigiMuonDigiCollection_*_*_*",
143  "keep CSCDetIdCSCStripDigiMuonDigiCollection_*_*_*",
144  "keep CSCDetIdCSCWireDigiMuonDigiCollection_*_*_*",
145  "keep CSCDetIdCSCComparatorDigiMuonDigiCollection_*_*_*",
146  "keep RPCDetIdRPCDigiMuonDigiCollection_*_*_*",
147  "keep HBHEDataFramesSorted_*_*_*",
148  "keep HFDataFramesSorted_*_*_*",
149  "keep HODataFramesSorted_*_*_*",
150  "keep *_hcalDigis_*_*",
151  "keep SiStripDigiedmDetSetVector_*_*_*",
152  "keep PixelDigiedmDetSetVector_*_*_*"
153  )
154  #print process.schedule
155  print process.dumpPython()
156  return(process)
return((rh^lh)&mask)