23
La catena di simulazione con ORCA 7 (Adattamento della presentazione di Stephan Wynhoff al Tracker Tutorial, 03/03/03)

La catena di simulazione con ORCA 7 (Adattamento della presentazione di Stephan Wynhoff al Tracker Tutorial, 03/03/03)

Embed Size (px)

Citation preview

Page 1: La catena di simulazione con ORCA 7 (Adattamento della presentazione di Stephan Wynhoff al Tracker Tutorial, 03/03/03)

La catena di simulazionecon ORCA 7

(Adattamento della presentazione di

Stephan Wynhoff al Tracker Tutorial, 03/03/03)

Page 2: La catena di simulazione con ORCA 7 (Adattamento della presentazione di Stephan Wynhoff al Tracker Tutorial, 03/03/03)

-2-Torino, 14-16 Aprile 2003

OutlineOutline

From Ntuple event file to fully digitised events

● Generation: cmkin (PYTHIA)● Simulation: cmsim ● Hitformatting: writeHits● Digitisation: writeAllDigis● “Winter Mode”

Page 3: La catena di simulazione con ORCA 7 (Adattamento della presentazione di Stephan Wynhoff al Tracker Tutorial, 03/03/03)

-3-Torino, 14-16 Aprile 2003

CMSIM

FZsignal

HEPEVTNtuple

ORCA 7

FZsignal

FZminbias

ROOT/IOSimHits/minbias

ROOT/IOSimHits/signal

ROOT/IODigis

Ntuple

G3Reader SimReader RecReader

MC generator

CMKIN

Production

Production User

The Analysis Chain

SimulationGeneration

Hitformatting Digitisation Analysis

Page 4: La catena di simulazione con ORCA 7 (Adattamento della presentazione di Stephan Wynhoff al Tracker Tutorial, 03/03/03)

-5-Torino, 14-16 Aprile 2003

CMKIN

● Interface to Pythia/Herwig/Isajet● Cfr. /afs/cern.ch/cms/cmsim/cmk002/examples/00README

● Will become and independent project (= expect changes)

> cmkin cmk002> cp –pr $CMK_EXAMPLES .> cd examples/make_ntpl_job> kine_make_ntpl_pyt.com

● Executable is created in $SCRATCH/kine_make_ntpl_pyt.exe

● Sample batch job in kine_make_ntpl_pyt.run

Page 5: La catena di simulazione con ORCA 7 (Adattamento della presentazione di Stephan Wynhoff al Tracker Tutorial, 03/03/03)

-6-Torino, 14-16 Aprile 2003

CMKIN: Action

● Cards for various processes (mostly with PYTHIA) on the production page:

http://cmsdoc.cern.ch/cms/production/www/html/general/

● Take bt_h300_ZZ2mu2ele_Id_238.txt and edit it

(cfr. ~namapane/public/Tutorial/day2/cmkin/)

● Run!$SCRATCH/kine_make_ntpl_pyt.exe < bt_h300_ZZ2mu2ele_Id_238.txt

Page 6: La catena di simulazione con ORCA 7 (Adattamento della presentazione di Stephan Wynhoff al Tracker Tutorial, 03/03/03)

-7-Torino, 14-16 Aprile 2003

CMSIM

http://cmsdoc.cern.ch/cmsim/cmsim.html

● Initialisation (cms131 – just released!)

> cmsim cms131

● Cards

http://cmsdoc.cern.ch/cms/production/www/html/general/

Take STANDARD_125_Id_42.txt and edit!(cfr. ~namapane/public/Tutorial/day2/cmsim/)

● Run

> $SRC/../bin/i386_linux22/cms131.exe < STANDARD_125_Id_42.txt

Page 7: La catena di simulazione con ORCA 7 (Adattamento della presentazione di Stephan Wynhoff al Tracker Tutorial, 03/03/03)

-8-Torino, 14-16 Aprile 2003

Examples/ExProductionExamples/ExProduction

FZsignal

FZminbias

SimHitsminbias

SimHitssignal

RecHits Ntuple

writeHits.cpp writeAllDigis.cpp

//all we need is to link the correct libraries//all we need is to link the correct libraries

//all we need is to link the correct libraries//all we need is to link the correct libraries

Populating the DB

Page 8: La catena di simulazione con ORCA 7 (Adattamento della presentazione di Stephan Wynhoff al Tracker Tutorial, 03/03/03)

-9-Torino, 14-16 Aprile 2003

Examples/ExProductionExamples/ExProduction BuildFile

<ignore> This is to write SimHits into a DB </ignore><environment> <Group name=G3Reader> <External ref=COBRA Use=CARF></Use>

<Group name=CaloHitWriter> <Use name=Calorimetry>

<ignore> To produce Muon barrel, endcap and RPC hits </ignore> <Group name=MuonHitWriter> <Use name=Muon> <ignore> To produce all Tracker hits </ignore> <Group name=TkHitWriter> <Use name=Tracker>

<bin file=writeHits.cpp></bin></environment>

<ignore> This is to write SimHits into a DB </ignore><environment> <Group name=G3Reader> <External ref=COBRA Use=CARF></Use>

<Group name=CaloHitWriter> <Use name=Calorimetry>

<ignore> To produce Muon barrel, endcap and RPC hits </ignore> <Group name=MuonHitWriter> <Use name=Muon> <ignore> To produce all Tracker hits </ignore> <Group name=TkHitWriter> <Use name=Tracker>

<bin file=writeHits.cpp></bin></environment>

writeHits

Reading of FZ files

● Magic in selecting SCRAM “Groups”

Page 9: La catena di simulazione con ORCA 7 (Adattamento della presentazione di Stephan Wynhoff al Tracker Tutorial, 03/03/03)

-10-Torino, 14-16 Aprile 2003

Examples/ExProductionExamples/ExProduction

.orcarc (cfr. ~namapane/public/Tutorial/day2/writeHits/)

Environment variables

setenv DETINPUT $CMS_PATH/oo/reconstruction/datafiles/cms131/cms131.rz

setenv DETINPUT $CMS_PATH/oo/reconstruction/datafiles/cms131/cms131.rz

MaxEvents = 100FZInputFiles = /castor/cern.ch/user/s/stw/cmsim/cms130/h300eemm.fzOutputDataSet = /System/SimHits/h300eemmGoPersistent = 1

MaxEvents = 100FZInputFiles = /castor/cern.ch/user/s/stw/cmsim/cms130/h300eemm.fzOutputDataSet = /System/SimHits/h300eemmGoPersistent = 1

Example FZ files in/castor/cern.ch/user/s/stw/cmsim/cms130

writeHits

ORCA 7_2_x works with cmsim v130/v131

eval `scram runtime -csh`eval `scram runtime -csh`

Page 10: La catena di simulazione con ORCA 7 (Adattamento della presentazione di Stephan Wynhoff al Tracker Tutorial, 03/03/03)

-11-Torino, 14-16 Aprile 2003

Action (1)

● Create HIT-files with 100 signal events with these cards

● Create HIT-files with 500 minbias events (for pileup):/castor/cern.ch/user/s/stw/cmsim/cms130/minbias.fzWrite in :

OutputDataSet = /System/SimHits/minbias

Page 11: La catena di simulazione con ORCA 7 (Adattamento della presentazione di Stephan Wynhoff al Tracker Tutorial, 03/03/03)

-12-Torino, 14-16 Aprile 2003

● High luminosity -> 20 minimumbias events in one bunch crossing

● Overlay crossings -5 to +3

● 200 min.bias for 1 signal event

● "recycle" min.bias events

Digitization and Pileup

Page 12: La catena di simulazione con ORCA 7 (Adattamento della presentazione di Stephan Wynhoff al Tracker Tutorial, 03/03/03)

-13-Torino, 14-16 Aprile 2003

Examples/ExProductionExamples/ExProduction BuildFile

<ignore> This is to write Digis/RecHits into a DB </ignore><environment> <Group name=G3> <Group name=SimReader> <External ref=COBRA Use=CARF></Use>

<ignore> To produce Calorimetry digis</ignore> <Group name=CaloHitReader> <Group name=CaloRHitWriter> <Group name=TriggerPrimitiveWriter> <Group name=CaloRHitReader> <Use name=Calorimetry>

<ignore> To produce all Muon digis</ignore> <Group name=MuonDigiWriter> <Use name=Muon> <ignore> To produce Tracker digis</ignore> <Group name=TkDigiWriter> <Use name=Tracker>

<bin file=writeAllDigis.cpp></bin></environment>

<ignore> This is to write Digis/RecHits into a DB </ignore><environment> <Group name=G3> <Group name=SimReader> <External ref=COBRA Use=CARF></Use>

<ignore> To produce Calorimetry digis</ignore> <Group name=CaloHitReader> <Group name=CaloRHitWriter> <Group name=TriggerPrimitiveWriter> <Group name=CaloRHitReader> <Use name=Calorimetry>

<ignore> To produce all Muon digis</ignore> <Group name=MuonDigiWriter> <Use name=Muon> <ignore> To produce Tracker digis</ignore> <Group name=TkDigiWriter> <Use name=Tracker>

<bin file=writeAllDigis.cpp></bin></environment>

writeAllDigis

Reading of SimHits

Page 13: La catena di simulazione con ORCA 7 (Adattamento della presentazione di Stephan Wynhoff al Tracker Tutorial, 03/03/03)

-14-Torino, 14-16 Aprile 2003

Examples/ExProductionExamples/ExProduction

.orcarc (cfr. ~namapane/public/Tutorial/day2/writeAllDigis/)

No Environment variables in addition toeval `scram runtime –csh`

InputCollections=/System/SimHits/h300eemm/h300eemmOutputDataSet = /System/Pileup2x1033/h300eemm

PUGenerator:Collection = /System/SimHits/minbias/minbiasPUGenerator:AverageEvents = 3.46PUGenerator:MinBunch = -5 PUGenerator:MaxBunch = 3PUGenerator:FirstEvent = -2

InputCollections=/System/SimHits/h300eemm/h300eemmOutputDataSet = /System/Pileup2x1033/h300eemm

PUGenerator:Collection = /System/SimHits/minbias/minbiasPUGenerator:AverageEvents = 3.46PUGenerator:MinBunch = -5 PUGenerator:MaxBunch = 3PUGenerator:FirstEvent = -2

WriteAllDigis

Default is No Pileup

Page 14: La catena di simulazione con ORCA 7 (Adattamento della presentazione di Stephan Wynhoff al Tracker Tutorial, 03/03/03)

-15-Torino, 14-16 Aprile 2003

.orcarcCaloRecHit:EcalBarrel = 1 CaloRecHit:EcalEndcap = 1 CaloRecHit:HcalBarrel = 1 CaloRecHit:Preshower = 1 Ecal:Barrel:noise = 0.03Ecal:Barrel:threshold = 0.06Ecal:Endcap:noise = 0.15Ecal:Endcap:threshold = 0.30Hcal:noise = 0.0006Hcal:threshold = 0.300Presh:noise = 0.000015Presh:threshold = 0.000054Calo:Preshower:MinBunch=-2 Calo:Preshower:MaxBunch=1

Muon:Barrel:MinBunch = 0Muon:Barrel:MaxBunch = 0

EcalTrigPrim:Threshold = 0.3HcalTrigPrim:Threshold = 0.3

GoPersistent = 1

CaloRecHit:EcalBarrel = 1 CaloRecHit:EcalEndcap = 1 CaloRecHit:HcalBarrel = 1 CaloRecHit:Preshower = 1 Ecal:Barrel:noise = 0.03Ecal:Barrel:threshold = 0.06Ecal:Endcap:noise = 0.15Ecal:Endcap:threshold = 0.30Hcal:noise = 0.0006Hcal:threshold = 0.300Presh:noise = 0.000015Presh:threshold = 0.000054Calo:Preshower:MinBunch=-2 Calo:Preshower:MaxBunch=1

Muon:Barrel:MinBunch = 0Muon:Barrel:MaxBunch = 0

EcalTrigPrim:Threshold = 0.3HcalTrigPrim:Threshold = 0.3

GoPersistent = 1

(continued)

Page 15: La catena di simulazione con ORCA 7 (Adattamento della presentazione di Stephan Wynhoff al Tracker Tutorial, 03/03/03)

-16-Torino, 14-16 Aprile 2003

Action (2)

● Fully digitize 10 events with these cards!

Page 16: La catena di simulazione con ORCA 7 (Adattamento della presentazione di Stephan Wynhoff al Tracker Tutorial, 03/03/03)

-17-Torino, 14-16 Aprile 2003

Reading DIGIs

● Warning! Groups for all objects written are needed in the BuildFile for a reading application

● Example – Examples/Statistics/ExDigiStatistics

<ignore> This is to read Digis/RecHits </ignore><environment> <Group name=G3> <Group name=RecReader> <External ref=COBRA Use=CARF>

<Group name=CaloRecHitReader> <Use name=Calorimetry>

<Group name=MuonDigiReader> <Use name=Muon> <Group name=TrackerDigiReader> <Use name=Tracker>

<bin file=ExDigiStatistics.cpp></bin></environment>

<ignore> This is to read Digis/RecHits </ignore><environment> <Group name=G3> <Group name=RecReader> <External ref=COBRA Use=CARF>

<Group name=CaloRecHitReader> <Use name=Calorimetry>

<Group name=MuonDigiReader> <Use name=Muon> <Group name=TrackerDigiReader> <Use name=Tracker>

<bin file=ExDigiStatistics.cpp></bin></environment>

reading of digitized events

ORCA 7.1.X

Page 17: La catena di simulazione con ORCA 7 (Adattamento della presentazione di Stephan Wynhoff al Tracker Tutorial, 03/03/03)

-18-Torino, 14-16 Aprile 2003

Action!

● Try Examples/Statistics/ExDigiStatistics!● Write your own .orcarc file!!!

● Try Workspace to see how many pile-up events we have!

Page 18: La catena di simulazione con ORCA 7 (Adattamento della presentazione di Stephan Wynhoff al Tracker Tutorial, 03/03/03)

-19-Torino, 14-16 Aprile 2003

Winter Mode

● Main interest for “production”● Decouples METADATA creation from EVENTDATA

creation● Three steps per dataset

● create an empty METADATA structure● process event samples in parallel

● jobs are fully independent (no locks)● crashed jobs can be simply re-started

● construct METADATA with COBRA tools after all jobs finished

● Examples/ExProduction/writeDigi_WinterMode*

Page 19: La catena di simulazione con ORCA 7 (Adattamento della presentazione di Stephan Wynhoff al Tracker Tutorial, 03/03/03)

-20-Torino, 14-16 Aprile 2003

Try out…

● Check scripts in ~namapane/public/Tutorial/day2/winter

● writeDigi_WinterMode.init● Only once

● writeDigi_WinterMode.job● Several times…

● writeDigi_WinterMode.finalize● Once, in the DB directory

Page 20: La catena di simulazione con ORCA 7 (Adattamento della presentazione di Stephan Wynhoff al Tracker Tutorial, 03/03/03)

-21-Torino, 14-16 Aprile 2003

WinterMode - Init

● Usual digitization cards plus:

● Blue: shared by all WinterMode steps

● Red: specific for initialization

Winter = 1EVD:Default = OnDemandEvents:EVDCreate = PreAllocateCollections:EVDCreate = PreAllocate

InitDataSet = 1

Winter = 1EVD:Default = OnDemandEvents:EVDCreate = PreAllocateCollections:EVDCreate = PreAllocate

InitDataSet = 1

Page 21: La catena di simulazione con ORCA 7 (Adattamento della presentazione di Stephan Wynhoff al Tracker Tutorial, 03/03/03)

-22-Torino, 14-16 Aprile 2003

WinterMode - Jobs

● Usual digitization cards plus:

● Blue: shared by all WinterMode steps

● Red: specific for jobs – use different run numbers!

Winter = 1EVD:Default = OnDemandEvents:EVDCreate = PreAllocateCollections:EVDCreate = PreAllocate

OutputRunNumber = 123

Winter = 1EVD:Default = OnDemandEvents:EVDCreate = PreAllocateCollections:EVDCreate = PreAllocate

OutputRunNumber = 123

Page 22: La catena di simulazione con ORCA 7 (Adattamento della presentazione di Stephan Wynhoff al Tracker Tutorial, 03/03/03)

-23-Torino, 14-16 Aprile 2003

WinterMode – Finalize

● Runs special COBRA applications

● Blue: in loop over all jobs

● Red: Upates METADATA for all attached runs

● Example: e4726b2a4b2611d783fd0040f45cca94.runid

cp XXX.runid .orcarcAttachRun OWNERNAME DATASETNAME

FixColl OWNERNAME DATASETNAME

cp XXX.runid .orcarcAttachRun OWNERNAME DATASETNAME

FixColl OWNERNAME DATASETNAME

CARF:ResumeRun=RUNS.META.PileupTk1024;h300eemmRuns;Run1 EVD0_Collections.h300eemm.PileupTk1034;Collections_e4726b2a4b2611d783fd0040f45cca94;LeafMetaCollection

CARF:ResumeRun=RUNS.META.PileupTk1024;h300eemmRuns;Run1 EVD0_Collections.h300eemm.PileupTk1034;Collections_e4726b2a4b2611d783fd0040f45cca94;LeafMetaCollection

Page 23: La catena di simulazione con ORCA 7 (Adattamento della presentazione di Stephan Wynhoff al Tracker Tutorial, 03/03/03)

-24-Torino, 14-16 Aprile 2003

Caveats!

● data written with one (pre-)release is probably unreadable with the next (pre-)release

● data written with one compiler (gcc-2.95.2) is unreadable with any other (gcc-3.2)

● Most BuildFiles currently require changes