Download presentation
Presentation is loading. Please wait.
Published byEllen Stone Modified over 9 years ago
1
Requirements for the O2 reconstruction framework R.Shahoyan, 14/08/2015 1
2
Base track model AliRoot AliExternalTrackParam AliVTrack AliVParticle Tobject 192 B in total, well optimized, fully sufficient for propagation in barrel. The size can be halved by going to Float_t (but keeping calculations in Double_t) In most algorithms TObject functionality is not used, at most to attach it to TClonesArray (but STL is more efficient) → ideally would prefer class with multiple inheritance, e.g. AliTrackT : public TObject, public TrackParam NON-TObject TrackParam implements track specific functionality (to be used in algorithms). Compatible with HLT needs (which uses 2 versions: with and w/o covariance matrix) AliTrackT is used mostly for persistency. FairRoot FairTrackParamH(FairRoot/trackbase/) FairTrackPar Tobject 640 B in total Lot of data members which we don’t use FairTrackParam (FairRoot/base/event/) Tobject Equivalent of AliExternalTrackParam but defined for forward tracks (might be good for MFT, MUON). Both miss propagation methods implementation? 2
3
RecoParam framework Absent in FairRoot? AliRoot AliRecoParam : container for AliDetectorRecoParams for every event type Can be ported to AliceO2 almost as it is (just change TObjArray with random order to fixed array of AliDetectorRecoParams ) Vertex base class AliVertexESD can be ported as it is Clusterizer, Tracker base classes Absent in FairRoot? In Aliroot used for Containers/IO of digits/clusters of specific detector: this functionality must be kept also in AliceO2 Generic track propagation routines with material correction: can be moved Utilities class Access to vertex: in O2 in general will be >1 vertex, can be accessed directly from Event container. → Start with very light base class, used to register the tracker + IO 3
4
Digit, Cluster AliRoot AliITSdigit TObject 112 B in total, most of memory spent on 2 fixed size (10) arrays to store hits and labels references. AliDigit TObject 32 B in total, fixed size (3) array to store labels AliCluster TObject 56 B in total, fixed size (3) array to store labels Alignment support → Size of 3 labels might be too few for generic digit, size of 10 is too much. → MC labels are used in very small part of digits/clusters algorithm, still take most of memory, shall we consider dedicated object to hold MC references, to which digits/clusters will refer to by index? Slower in access, more efficient in memory usage. FairRoot Digit(Alice02/its/) FairTampStamp FaitMultiLinkData_Interface TObject 128 B B in total, of which 80 is TimeStamp Labels are stored in std::vector → dynamic objects kill advantages of using TClonesArrays or STL containers Do we really need to waste so much memory on per-digit labels which are common for large groups of digits? If yes, can’t we instead use an index of the TimeStamps object describing the whole group. 4
5
Alignment framework AliRoot AliAlignObjParams AliAlignObj Shift/rotation parametets + matrix representation for single alignment volume. Interfaced to TGeo access methods (by ID or symbolic name) and alignment mechanisms via TGeoHMatrix AliceO2 MisalignmentParameter (Alice02/its/) FairParGenericSet Array shift/rotations parameters for multiple volumes set Mechanism not clear (not implemented yet?) Material query support AliRoot AliTrackerBase::MeanMaterialBudget(xyz0,xzy1) Very precise but extremely slow TGeo query for all information we need in tracking (needs some fixes) MaterialMap.C: LUT on cylindrical mesh, “demo” development by Andrei, single slice only, identical to LUTs used in detectors classes Need to implement configurable LUT stacks for thick layers. FairRoot FairMesh + FairRadGridManager ? Not sure intended for reconstruction-time per track query 5
6
Alignment framework AliRoot AliAlignObjParams AliAlignObj Shift/rotation parameters + matrix representation for single alignment volume. Interfaced to TGeo access methods (by ID or symbolic name) and alignment mechanisms via TGeoHMatrix AliceO2 MisalignmentParameter (Alice02/its/) FairParGenericSet Array shift/rotations parameters for multiple volumes set Mechanism not clear (not implemented yet?) Material query support AliRoot AliTrackerBase::MeanMaterialBudget(xyz0,xzy1) Very precise but extremely slow TGeo query for all information we need in tracking (needs some fixes) MaterialMap.C: LUT on cylindrical mesh, “demo” development by Andrei, single slice only, identical to LUTs used in detectors classes Need to implement configurable LUT stacks for thick layers. FairRoot FairMesh + FairRadGridManager ? Not sure intended for reconstruction-time per track query 6
7
7 Output event container It will take some time to define optimal final event format, also depends on still unknown HW parameters (affecting pile-up expectations) In near future we need it mostly as a placeholder where trackers / vertexers could write/read their output. → Start with generic container for arbitrary time slice, on which we can exercise even separation: array of tracks + primary vertices + secondary vertices
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.