Presentation is loading. Please wait.

Presentation is loading. Please wait.

Silicon Tracker Digitization in MARLIN/DigiSim Framework (status)

Similar presentations


Presentation on theme: "Silicon Tracker Digitization in MARLIN/DigiSim Framework (status)"— Presentation transcript:

1 Silicon Tracker Digitization in MARLIN/DigiSim Framework (status)
S. Shulga LPP JINR, Dubna, Russia Francisk Skarina Gomel State University, Belarus ILC Summer Software Mini Workshop June 27/28, 2005

2 Contents Introductory words: why I use DigiSim
My proposition: directory tree in DigiSim BRAHMS lcio-events as input Processors for analysis Fixed/free parameters for tracker digitization Hit multimap processor Detector geometry parameters in user steering file Processor for digitization Si Pixel/Strip geometry parameters in user steering file Si Tracker digitization in “Zero” approximation Plans

3 Introductory words: LCIO is a manager of collection and events
SimCalorimeterHit RawCalorimeterHit CalorimeterHit SimTrackerHit TrackerRawData TrackerPulse TrackerData TrackerHit … Event = set of collections is main object of LCIO. LCIO has a list of predefined types of collection: common stages of processing and subdetectors. ecal hcal tpc vxd sit ftd fch List of collections is created in run-time with unique name defined by user. LCIO, as a manager, can create event ~ map[name collection]

4 Introductory words: MARLIN is a manager of processors
Processor of event is main object of MARLIN. MARLIN creates a list of types of processors. LCIOOutputProcessor AIDAProcessor CalDigiSimProcessor TraDigiSimProcessor CalHitMapProcessor TraHitMapProcessor ProcessorROOTTree ProcessorROOTGeom OutputProcessor CalHitMapProcessor EMDigiSimProcessor HADDigiSimProcessor TraHitMapProcessor vxdDigiSimProcessor sitDigiSimProcessor List of processors is created in run-time with unique name defined by user. MARLIN, as a manager, creates map of processors map[name processor]

5 Introductory words: DigiSim is a manager of hit modifiers
Hit modifier is a main object of DigiSim (G.Lima, Sim.Mini Workshop Dec, 2004) DigiSim creates a list of dedicated types of modifiers collection and common physics digi-processes. SmearedLinear GainDiscrimination CrossTalkModifier FunctionModifier TraSmearedLinear TraFunctionModifier List of modifiers is created in run-time with unique name defined by user. HADFixedGain HADThreshOnly HADGaussianGain HADDigiIdentity EMFixedGain EMThreshOnly EMGaussianGain EMDigiIdentity TraDigiIdentity DigiSim, as a manager, creates a map of modifiers map[name processor]

6 My first step: complicated directory tree in DigiSim
My first step: complicated directory tree in DigiSim. Aim: convenience of developer in case of number of files will be significantly increased ana – source codes for analysis processors * ProcessorROOTTree * ProcessorROOTGeom bin – object and executable files doc – documentation include – header files (for external usage) lib – library of package (for external usage) mak – command files, input/output/steer files src – source codes for digitization processors * Calorimeter * Globals * Tracker

7 Branches of directory tree in DigiSim (Calorimeter, G.Lima)
* Calorimeter – CalHitMapProcessor + CalHitMapMgr – CalDigiSimProcessor + CalHitModifier ~TempCalHit ~GainDiscrimination ~SmearedLinear ~FunctionModifier ~CrossTalkModifier * Globals * Tracker

8 Branches of directory tree in DigiSim (Tracker, current status)
* Tracker – TraHitMapProcessor + TraHitMapMgr ~TraDetectorGEOM – TraDigiSimProcessor + TraHitModifier ~TempTraHit ~TraSmearedLinear ~TraFunctionModifier

9 Brahms LCIO-events as input
New conditions to study detector with BRAHMS: – Separation of “simulation” and “reconstruction” – lcio-output in Brahms. Collection names of Brahms lcio-events : ecal, hcal, tpc, vxd, sit, ftd, fch, and subdetector names ECAL, HCAL, TPC, VXD, SIT, FTD, FCH

10 DigiSim: detector geometry
Detector geometry and Brahms event (sim.hits) obtained by DigiSim/ana/ProcessorROOTGeom VXD DigiSim: detector geometry TPC FCH FCH FTD SIT

11 The same event in 3d-view (ROOT interactive 3d-graphycs)

12 My second step: including processors for analysis in DigiSim: ProcessorROOTTree and ProcessorROOTGeom To create the pictures, shown above, it is necessary to do two steps: – switch on (make active) ProcessorROOTTree and then run job to create Root Tree; – switch on ProcessorROOTGeom and run job to pass to interactive Root session with picture, created by using Root Tree. Graphics part of “DigiSim/ana” codes uses ROOT classes: TShape, TSPHE, TTUBE, TNode

13 Si Tracker and Si FCH in DigiSim: fixed/free parameters
Fixed parameters number of subdetectors (4) and types of subdetectors – VXD (cylinder), SIT (cylinder), FTD (plane), FCH (plane) Free parameters (set in user steer.file) – names of subdetectors, layers, collections – number of layers – Si layer technology – pixels, strips – pixel/strip geometry parameters – layer geometry parameters

14 My third step: Hit map processor
Purposes: * to create convenient input for next (digi) processor * to read detector geometry information *Calorimeter: processor CalHitMapProcessor creates hit map [cellID, hit] (G.Lima, LC Simulation Mini Workshop, Dec 2004) * Si Tracker : processor TraHitMapProcessor creates hit multimap [layer_name, hits] Layer names: VXD1,…, SIT1,…, FTD1,…,FCH1,… .

15 Detector Geometry in user steering file – - parameters of TraHitMapProcessor
.begin TraHitMapProcessor # name of processor ProcessorType TraHitMapProcessor # type of processor # Par Detector NSubDets SubDet names … DETECTOR TESLA VXD SIT FTD FCH # Par SubDet Collection NLayers Layer names … VXD VXD vxd VXD1 VXD2 VXD3 VXD4 VXD5 SIT SIT sit SIT1 SIT2 FTD FTD ftd FTD1 FTD2 FTD3 FTD4 FTD5 FTD6 FTD7 … FTD14 FCH FCH fch FCH1 FCH2 FCH3 FCH4 FCH5 FCH6 … FCH10 # Par Name Layer parameters [cm] … VXD1 VXD VXD2 VXD SIT SIT SIT SIT FTD1 FTD FTD2 FTD FTD7 FTD FCHX FCHX .end

16 TraHitMapMgr: additional functions
to check of initial events : every hit must be in one of the layers ! to create hit multimap and detector geometry member in global scope to be used in the following steps

17 My fourth step: DigiSim processor for digitization
Purpose: transformation sim. hits to readout signals Calorimeter: processor CalDigiSimProcessor (G.Lima, LC Simulation Mini Workshop, Dec 2004) Si Tracker : processor TraDigiSimProcessor

18 Si pixel geometry in user steering file - - parameters of TraDigiSimProcessor
.begin sitDigSimProcessor # Par Type of processor ProcessorType TraDigiSimProcessor # Par Collection SubDet InputCollection sit SIT OutputCollection sitraw Raw2SimLinksCollection sitraw2sim # Par for coding/decoding hit pixels # Coding rule: cellID0=A1* Readout + column, cellID1=A2*K + row, K=A3*NSubDet + Layer # Par collection Subdet NSubDet A A A3 PixelCodParameters sit SIT PixRowColumnInReadout # Par Pixel size [micrometer] PixelRowColumnSize # Par Modifier names … ModifierNames TraDigiIdentity1 TraDigiIdentity2 # Par=Modifier name Modifier type Modifier parameters (floats) TraDigiIdentity TraSmearedLinear TraDigiIdentity TraSmearedLinear .end

19 Digitization in “Zero” approximation (Si Pixel)
Temporary hit map [cellID hit] represents digitization in “0” approximation cellID = pair[cellID0, cellID1] cellID0 = A1* Readout + column cellID1 = A2*K row K = A3*SubDet + layer A1, A2, A3 – coding parameters LCIO v01-05, collection: class TrackerRawDataImpl{ int _cellID0; int _cellID1; int _channelID; ShortVect _adc; }

20 Full list of the digitization physics processes (Si pixel) to be done
Landau fluctuations in thin material layers Drift of charge Diffusion of charge Lorenz drift in magnetic field Noise in hit pixel and noise pixels Inefficiencies Readout threshold

21 Plans Tracker digitization in “0-approximation” will be ready soon;
Simple digitization physics effects will be added; First step of reconstruction - clustering; Study dependences: resolution parameters vs. - subdetector geometry, - Si pixel/strip size and shape, - readout inefficiency, occupancy, trigger rate Using MOKKA lcio-events as input; Using common geometry access. More realistic digitization physics processes;

22 BACKUP

23 Branches of directory tree in DigiSim (detailed)
“make_release” : gmake –directory=../bin – makefile=../mak/GNUMakefile creates obj-files and exe-file in separated “bin” directory using GNUMakefile placed in “mak” “run” : ../bin/DigiSim.exe digi.steer placed in “mak” directory and runs exe-file from “bin” directory, using in/out and steer files placed in “mak” “GNUMakefile” contain full directory tree for compilation relative to directory “../bin”

24 TraHitMapProcessor and TraHitMapMgr (more detailed)
Constructor TraHitMapProcessor reads user steer.info and creates _mgr which is a “singleton” (static element) of class TraHitMapMgr. TraHitMapProcessor::Init() * transforms user information * send it to _mgr which ~ creates and fills Detector Geometry member _DG TraHitMapProcessor::processEvent( event ): * set event to _mgr * creates multimap [layer_name, hits] using geometry information and hit position

25 TraDigiSimProcessor (more detailed)
Constructor TraDigiSimProcessor reads user steer.info * names of input/output/relation LCIO-collections * Si pixel/strip user information (next slide) TraDigiSimProcessor::Init() * transforms user pixel information in a convenient form * fills pixel/strip geometry, using TraHitMapMgr * creates a map of hit modifiers TraDigiSimProcessor::processEvent( event )

26 TraDigiSimProcessor::processEvent( event )
Creates reference to the global scope hit multimap [layer_name hits] Creates pixel/strip/sublayer/redout geometrical map in global (static) detector geometry member TraHitMapMgr::DG Creates temporary hit map [cellID hit] Call processHits method for each modifier from map of modifiers to transform input temp. hit map output temp. hit map Creates output collection and add it to the event


Download ppt "Silicon Tracker Digitization in MARLIN/DigiSim Framework (status)"

Similar presentations


Ads by Google