Framework for Raw Data Thomas Kuhr Offline Week 29/06/2004.
-
Upload
kristina-hall -
Category
Documents
-
view
213 -
download
1
Transcript of Framework for Raw Data Thomas Kuhr Offline Week 29/06/2004.
![Page 1: Framework for Raw Data Thomas Kuhr Offline Week 29/06/2004.](https://reader035.fdocuments.net/reader035/viewer/2022072015/56649edc5503460f94bed707/html5/thumbnails/1.jpg)
Framework forRaw Data
Thomas Kuhr
Offline Week
29/06/2004
![Page 2: Framework for Raw Data Thomas Kuhr Offline Week 29/06/2004.](https://reader035.fdocuments.net/reader035/viewer/2022072015/56649edc5503460f94bed707/html5/thumbnails/2.jpg)
2
Motivation
Why do we need simulated raw data?Reasonable estimate of data volume
and structure for Computing Data Challenge
Development and verification of reconstruction code starting from raw data Reconstruction of real data Next Physics Data Challenge
![Page 3: Framework for Raw Data Thomas Kuhr Offline Week 29/06/2004.](https://reader035.fdocuments.net/reader035/viewer/2022072015/56649edc5503460f94bed707/html5/thumbnails/3.jpg)
3
SDigits
Overview
Detector
Trigger
DAQ Raw Data
Clusters Tracks ESD
DigitsSDigitsHits
HLT
Simulation Reconstruction
Online Offline
Mon
te C
arl
oR
eal D
ata
Particles
![Page 4: Framework for Raw Data Thomas Kuhr Offline Week 29/06/2004.](https://reader035.fdocuments.net/reader035/viewer/2022072015/56649edc5503460f94bed707/html5/thumbnails/4.jpg)
4
Raw Data Format• DDL Files:
– One directory per event: rawN– One binary file per DDL: DET_DDLID.ddl– File contains DDL data header and payloadEquivalent to data sent over DDL
• DATE:– One date file with many events– Equipment and event headers addedEquivalent to DAQ output (without alimdc)
• Root:– One root file with many eventsEquivalent to recorded raw data
![Page 5: Framework for Raw Data Thomas Kuhr Offline Week 29/06/2004.](https://reader035.fdocuments.net/reader035/viewer/2022072015/56649edc5503460f94bed707/html5/thumbnails/5.jpg)
5
User Interface
• Run full simulation and write raw data for all detectors: AliSimulation sim; sim.SetWriteRawData(“ALL”); sim.Run();
• Optional second argument:raw data file name (date or root)
• Shortcut method: sim.WriteRawData(“TRD PMD”,“raw.root”);
• Equivalent to: sim.WriteRawFiles(“TRD PMD”); sim.ConvertRawFilesToDate(“raw.date”); sim.ConvertDateToRoot(“raw.date”, “raw.root”);
![Page 6: Framework for Raw Data Thomas Kuhr Offline Week 29/06/2004.](https://reader035.fdocuments.net/reader035/viewer/2022072015/56649edc5503460f94bed707/html5/thumbnails/6.jpg)
6
Implementation
• AliSimulation calls virtual method of detector: void AliModule::Digits2Raw();
• Digits2Raw method:– Create one file per DDL: DET_DDLID.ddl– Write DDL data header (AliRawDataHeader)
• Set data size (AliRawDataHeader.fSize)• Indicate valid data
(AliRawDataHeader.SetAttribute(0))– Write raw data of current event
• Order of channels?
• Raw data DDL files → DATE file: program dateStream (put it on afs?)
• DATE file → root file: program alimdc
![Page 7: Framework for Raw Data Thomas Kuhr Offline Week 29/06/2004.](https://reader035.fdocuments.net/reader035/viewer/2022072015/56649edc5503460f94bed707/html5/thumbnails/7.jpg)
7
Statushttp://aliweb.cern.ch/people/cheshkov/rawdata.html
![Page 8: Framework for Raw Data Thomas Kuhr Offline Week 29/06/2004.](https://reader035.fdocuments.net/reader035/viewer/2022072015/56649edc5503460f94bed707/html5/thumbnails/8.jpg)
8
Reading of Raw Data
Separate two tasks:
• Reading of raw data (stored in different formats) into memory→ Independent of content Raw reader classes
• Interpretation of raw data→ Specific to each detector Raw stream classes
![Page 9: Framework for Raw Data Thomas Kuhr Offline Week 29/06/2004.](https://reader035.fdocuments.net/reader035/viewer/2022072015/56649edc5503460f94bed707/html5/thumbnails/9.jpg)
9
AliRawReader
• Base class for reading raw data of one event• Virtual methods: Bool_t ReadHeader(); Bool_t ReadNextData(UChar_t*& data); Bool_t ReadNextInt(UInt_t& data); Bool_t Reset(); void Select(Int_t detectorID, …); UInt_t GetType() const; Int_t GetDDLID() const; Int_t GetDataSize() const; …
• Derived classes: AliRawReaderFiles, AliRawReaderDate, AliRawReaderRoot
![Page 10: Framework for Raw Data Thomas Kuhr Offline Week 29/06/2004.](https://reader035.fdocuments.net/reader035/viewer/2022072015/56649edc5503460f94bed707/html5/thumbnails/10.jpg)
10
AliDETRawStream
• Interpretation of detector specific raw data• Iterator over digits AliDETRawStream(AliRawReader*); Bool_t Next(); Int_t GetSector() const; Int_t GetRow() const; Int_t GetPad() const; Int_t GetTime() const; Int_t GetSignal() const;
• Raw stream classes for TPC and ITS in RAW module, for TRD and PMD in detector modules
![Page 11: Framework for Raw Data Thomas Kuhr Offline Week 29/06/2004.](https://reader035.fdocuments.net/reader035/viewer/2022072015/56649edc5503460f94bed707/html5/thumbnails/11.jpg)
11
Raw Data Reading Classes
AliRawReader
AliRawReaderFiles
AliRawReaderDate
AliRawReaderRoot
AliTPCRawStream
AliPMDRawStream
AliDETRawStream
TPC digits
PMD digits
DET digits
TPC_0.ddlTRD_1024.ddlPMD_3072.ddl
raw.date
raw.root
![Page 12: Framework for Raw Data Thomas Kuhr Offline Week 29/06/2004.](https://reader035.fdocuments.net/reader035/viewer/2022072015/56649edc5503460f94bed707/html5/thumbnails/12.jpg)
12
SDigits
Reconstruction of Real Data
Detector
Trigger
DAQ Raw Data
Clusters Tracks ESD
DigitsSDigitsHits
HLT
Simulation Reconstruction
Online Offline
Mon
te C
arl
oR
eal D
ata
Particles
![Page 13: Framework for Raw Data Thomas Kuhr Offline Week 29/06/2004.](https://reader035.fdocuments.net/reader035/viewer/2022072015/56649edc5503460f94bed707/html5/thumbnails/13.jpg)
13
Proposal: User Interface
• Use raw data DDL files in directory dir: AliReconstruction rec; rec.Run(“dir/”);
• Use DATE file raw.date: rec.Run(“raw.date”);
• Use root file raw.root (extension “.root”): rec.Run(“raw.root”);
![Page 14: Framework for Raw Data Thomas Kuhr Offline Week 29/06/2004.](https://reader035.fdocuments.net/reader035/viewer/2022072015/56649edc5503460f94bed707/html5/thumbnails/14.jpg)
14
Proposal: Implementation
• Extend virtual interface of AliReconstructor: void Reconstruct(AliRunLoader*, AliRawReader*) const; void FillESD(AliRunLoader*, AliRawReader*, AliESD*) const;
• Loop over events inside or outside Reconstruct method?
• Functionality of AliRawReader has to be extended for inside loop
![Page 15: Framework for Raw Data Thomas Kuhr Offline Week 29/06/2004.](https://reader035.fdocuments.net/reader035/viewer/2022072015/56649edc5503460f94bed707/html5/thumbnails/15.jpg)
15
Open Questions
galice.root file has to be created with
- Loaders
- Detector parameters / geometries
- Magnetic field
- AliRun object ?
- …
Run database ?
![Page 16: Framework for Raw Data Thomas Kuhr Offline Week 29/06/2004.](https://reader035.fdocuments.net/reader035/viewer/2022072015/56649edc5503460f94bed707/html5/thumbnails/16.jpg)
16
Summary
• Simulation of raw data is vital• 3 formats of raw data:
DDL files, DATE, root• AliSimulation provides framework for
raw data simulation• Reading of raw data with
AliRawReader and raw stream classes• Framework for reconstruction of real
data proposed• Some open questions to be solved