Download presentation
Presentation is loading. Please wait.
Published byPhillip Bennett Modified over 9 years ago
1
October 10-12, 2002YS@ROOT_Workshop 1 AliRoot: I/O organisation ROOT in the ALICE experiment I/O Structure Run-Time Data-Exchange
2
2 October 10-12, 2002 YS@ROOT_Workshop Event generator Geometry Transport model AliRoot, the cartoon
3
3 October 10-12, 2002 YS@ROOT_Workshop The Geometry 12 independent detectors which cooperate to track and identify particles
4
4 October 10-12, 2002 YS@ROOT_Workshop AliRoot Layout Structure of the framework reflects the ALICE experiment sub-structure STEER coordinates the cooperation between detectors
5
5 October 10-12, 2002 YS@ROOT_Workshop The Data Structure the data to reflect the detector sub-structure
6
6 October 10-12, 2002 YS@ROOT_Workshop Structure of « raw » data: gAlice: Run Info TBranch : PHOS TBranch : ITS TClonesArrayTParticles TClonesArray PHOS.Hits.root ITS.Hits.root galice.root 1 common TFile + 1 TFile per detector TTree 0,…i,…,n : kinematics TTree 0,…i,…,n : hits TreeH 0,…i,…,n : hits +1 TTree per event
7
7 October 10-12, 2002 YS@ROOT_Workshop
8
8 October 10-12, 2002 YS@ROOT_Workshop Reconstruction Tasks RecParticle Tracks PHOS Hits SDigits Digits RecPoints ITS Detector stand alone tasks Tracks RecPoints Tracks TPC Detectors collaborate Hits SDigits ITS Underlying event Signal event Merging
9
9 October 10-12, 2002 YS@ROOT_Workshop Structure of a task:TTask Clusterizer:TTask (per detector) Clusterizer::Exec(){ User code ; } Digitizer:TTask (per detector) Digitizer::Exec(){ User code ; } root> AliEMCALDigitizer d; root> d.ExecuteTask() Reconstructioner:TTask ALICE 1…12 root> AliReconstructioner r; root> r.ExecuteTask() Reconstructioner:TTask (per detector) root> AliEMCALReconstructioner r; root> r.ExecuteTask() root> AliEMCALClusterizer c; root> c.ExecuteTask()
10
10 October 10-12, 2002 YS@ROOT_Workshop Structure of reconstructed data TBranch v1,…vn TClonesArray SDigits.root Reco.root TTree 0,…i,…n Each task generates one TFile 1 event per TTree task versioning in TBranch ITS.SDigits.root PHOS.SDigits.root PHOS.Reco.root ITS.Reco.root Detector wise splitting
11
11 October 10-12, 2002 YS@ROOT_Workshop
12
12 October 10-12, 2002 YS@ROOT_Workshop Run-time Data-Exchange Post transient data to a white board Structure the white board according to detector sub-structure & tasks results Each detector is responsible for posting its data Tasks access data from the white board Detectors cooperate through the white board
13
13 October 10-12, 2002 YS@ROOT_Workshop Run-time Data-Exchange Post transient data to a white board : make use of TFolder : Unix-dir like structure root dir //Folders Direct search: TObject * TFolder::FindObjectAny(name) ; Add a folder: TFolder::AddFolder(name) ; Add any object: TFolder::Add(Tobject *) ;
14
14 October 10-12, 2002 YS@ROOT_Workshop Run-time Data-Exchange Structure the white board according to detector sub-structure & tasks results
15
15 October 10-12, 2002 YS@ROOT_Workshop Run-time Data-Exchange Each detector is responsible for posting its data: delegate all the transactions to a singleton object, one per detector root> AliPHOSGetter *gime = AliPHOSGetter::GetInstance(common_filename) ; root> gime->Event(n) ;// one event at the time root> TClonesArray digits = gime->Digits() ;
16
16 October 10-12, 2002 YS@ROOT_Workshop Run-time Data-Exchange Structure the white board according to detector sub-structure & tasks results
17
17 October 10-12, 2002 YS@ROOT_Workshop Run-time Data-Exchange Tasks access data from the white board Detectors cooperate through the white board Have a general getter that has a list of detector and executes tasks recursively AliGetter * gime = AliGetter::GetInstance() ; AliPHOSGetter *gimeP = AliPHOSGetter::GetInstance() ; AliEMCALGetter *gimeE = AliEMCALGetter::GetInstance() ; gime->Add(gimeP, gimeE) ; gime->Event(n) ; for (i=0; i RecParticles()->GetEntries(); i++) for (j=0; j RecParticles()->GetEntries(); j++) if( AreBack2Back(gimeP->RecParticle(i), gimeE->RecParticle(j)) ) njets++ ;
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.