Migration of CMSSW software from 6_2_0 version to 7_0_4

What needs to be done:

  • Some more testing
  • Fix Raw Data Reader
  • Migrate some modules omitted in previous migration
  • Add CMS UATree producer
Raw Data Reader was not migrated due to changes in data format and project of Michał Żmuda.

Changes in configurations - general

To run your configurations, which are not in repository, you may need to make some changes:
In src/Configuration/TotemCommon/python/mixNoPU_cfi.py
+ mix.mixObjects.mixSH.crossingFrames = cms.untracked.vstring('MuonCSCHits',
+ 'MuonDTHits',
+ 'MuonRPCHits',
+ 'TotemHitsT1',
+ 'TotemHitsT2Gem',
+ 'TotemHitsRP')

In src/Configuration/TotemCommon/python/g4SimHits_cfi.py
Under Physics = cms.PSet( ... 
+         ElectronStepLimit         = cms.bool(False),
+         ElectronRangeTest         = cms.bool(False),
+         PositronStepLimit         = cms.bool(False),
+         MinStepLimit              = cms.double(1.0),

Under StackingAction = cms.PSet( ...
+         RusRoGammaEnergyLimit  = cms.double(5.0), ## (MeV)
+         RusRoEcalGamma         = cms.double(0.3),
+         RusRoHcalGamma         = cms.double(0.3),
+         RusRoMuonIronGamma     = cms.double(0.3),
+         RusRoPreShowerGamma    = cms.double(0.3),
+         RusRoCastorGamma       = cms.double(0.3),
+         RusRoWorldGamma        = cms.double(0.3)

In src/Configuration/TotemCommon/python/g4SimHits_cfi.py
+     UseMeasuredGeometryRecord = cms.untracked.bool(True),
This is because TOTEM uses MeasuredGeometryRecord instead of IdealGeometryRecord.

In src/Configuration/TotemCommon/python/g4SimHits_cfi.py 
-         LeaveScatteredProtons = cms.bool(True),  ##Leave intact protons after scattering for further near beam transport
-         LeaveOnlyScatteredProtons = cms.bool(False)  ##Leave only intact protons and reject all the other particles
+         LeaveScatteredProtons = cms.untracked.bool(True),  ##Leave intact protons after scattering for further near beam transport
+         LeaveOnlyScatteredProtons = cms.untracked.bool(False)  ##Leave only intact protons and reject all the other particles
This change was done to be CMS compatibile.

In Configuration/TotemStandardSequences/python/prodT1T2Default_cfg.py 
- process.g4SimHits.Generator.LeaveScatteredProtons = cms.bool(False)
+ process.g4SimHits.Generator.LeaveScatteredProtons = cms.untracked.bool(False)

Changes in configurations - merged configs

To make configurations work together, you should do the following:
  • create a root file with generated events
  • make configs treat this file as input
  • exclude generators from chain (if present).

In the example we're going to use:

  • prodT1T2pythiaMBbeta11energy450GeV_cfg.py (TOTEM part)
  • step1_MinBias_13TeV_cfi_py_GEN_SIM.py and step2_DIGI_L1_DIGI2RAW_HLT_RAW2DIGI_L1Reco_RECO.py (CMS part).
Note: All configs - both original and modified - can be found as attachments.

1. Create and store events. Changes with respect to "step1" config, which serves as base configuration (copy the internals of step1 and apply the changes).

Change process name so that cmsRun does not complain.
- process = cms.Process('SIM')
+ process = cms.Process('EVENTSPRODUCER')

Specify number of events to create
-     input = cms.untracked.int32(-1)
+     input = cms.untracked.int32(5)

Change output file name.
-     fileName = cms.untracked.string('file:MinbiasTest_GEN_SIM.root'),
+     fileName = cms.untracked.string('file:bare_events.root'),

- process.simulation_step = cms.Path(process.psim)
- process.genfiltersummary_step = cms.EndPath(process.genFilterSummary)
- process.endjob_step = cms.EndPath(process.endOfProcess)

Just generate and store events.
- process.schedule = cms.Schedule(process.genfiltersummary_step,process.simulation_step,process.endjob_step,process.RAWSIMoutput_step)
+ process.schedule = cms.Schedule(process.generation_step, process.RAWSIMoutput_step)

2. Modify TOTEM config

Read events from file
+ process.source = cms.Source("PoolSource",
+         fileNames = cms.untracked.vstring("file:bare_events.root")
+    )

Process all events from file
-   input = cms.untracked.int32(10)
+   input = cms.untracked.int32(-1)

Remove generator from module chain
-process.p1 = cms.Path(process.generator*process.SmearingGenerator*process.g4SimHits*process.mix*process.T1Digis*process.t1cluster*process.t1rechit*process.t1roads*process.t1tracks2*process.T2Digis*process.T2MCl*process.T2Hits*process.T2RoadPadFinder*process.T2TrackColl3*process.T2CC)

+process.p1 = cms.Path(process.SmearingGenerator*process.g4SimHits*process.mix*process.T1Digis*process.t1cluster*process.t1rechit*process.t1roads*process.t1tracks2*process.T2Digis*process.T2MCl*process.T2Hits*process.T2RoadPadFinder*process.T2TrackColl3*process.T2CC)

2. Modify CMS step1 config

-     input = cms.untracked.int32(50)
+    input = cms.untracked.int32(-1)

-  process.source = cms.Source("EmptySource")
+ process.source = cms.Source("PoolSource",
+ fileNames = cms.untracked.vstring("file:bare_events.root")
+ )

-    SelectEvents = cms.untracked.PSet(
-        SelectEvents = cms.vstring('generation_step')
-    )

- process.generation_step = cms.Path(process.pgen)

-  process.schedule = cms.Schedule(process.generation_step,process.genfiltersummary_step,process.simulation_step,process.endjob_step,process.RAWSIMoutput_step)
+ process.schedule = cms.Schedule(process.genfiltersummary_step,process.simulation_step,process.endjob_step,process.RAWSIMoutput_step)

No changes are needed for the step2 config.

-- PiotrSzymonSarnicki - 09 Sep 2014

Edit | Attach | Watch | Print version | History: r7 < r6 < r5 < r4 < r3 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r7 - 2014-09-22 - unknown
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    TOTEM 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