270 likes | 387 Views
Dimuon arm, station 1 Mapping, AliRoot. D. Guez, I. Hrivnacova, M. MacCormick IPN, Orsay ALICE Offline Meeting, CERN, 10 March 2003. Outline. Mapping What is mapping ? Design, Implementation File structure AliRoot MUONv2 – detailed geometry for Station 1
E N D
Dimuon arm, station 1Mapping, AliRoot D. Guez, I. Hrivnacova, M. MacCormick IPN, Orsay ALICE Offline Meeting, CERN, 10 March 2003
Outline • Mapping • What is mapping ? • Design, Implementation • File structure • AliRoot • MUONv2 – detailed geometry for Station 1 • Segmentation and Response classes • Modifications to existing MUON code ALICE Offline Meeting, CERN, 10 March 2003
MappingWhat is mapping ? • MUON St1 chamber • Composed of two cathode planes and anode wires • Plane = 57344 pads • Each pad has its channel that passes the signal to the electronics • For data analysis and detailed simulation – need the exact topology of the pads • Task of mapping: • Position (x, y) => Pad characteristics • Pad => Position in the plane ALICE Offline Meeting, CERN, 10 March 2003
MappingMapping Clients • Test-beam (TB2 – TestBeam ToolBox) • Used for online monitoring • Test-beam data analysis • Program “Offline” (Saclay) • Simulation program (AliRoot) • User • On the test bench a user can interactively interrogate the mapping program • The mapping package has been developed as an autonomous package based only on Root • Not included in AliRoot ALICE Offline Meeting, CERN, 10 March 2003
Stations 1 and 2 MappingDesign Plane Pad Sector Motif ALICE Offline Meeting, CERN, 10 March 2003
Row Row segment ALICE Offline Meeting, CERN, 10 March 2003
MappingDesign • Class hierarchy follows the physical design of the cathode plane • Plane elements (entities): • Pad = smallest element (copper rectangle) • Motif = repeatedly placed ensemble of pads (in most cases rectangular) with given characteristics • Row segment = a segment of a row of motifs containing motifs of the same type • Row = row of motifs composed of row segments • Zone = region of the plane with pads of the same dimension • Sector = plane quadrant • Plane = whole plane, composed of 4 sector positions ALICE Offline Meeting, CERN, 10 March 2003
MappingClass categories • Basic • elementary and utility classes, abstract base classes • MIntPair, MArea, MPad, MVIterator, MVSegmentation, MTransformer, MFiles • Motif • MVMotif, MMotif, MMotifSpecial, MMotifType, MMotifPosition, MMotifMap, … • Sector • MVRowSegment, MRowSegment, MRowSegmentSpecial, MRow, MZone, MSubZone, MReader, MSector • Plane • MSectorPosition, MPlane • Graphics • MVPainter, MMotifPainter, MSectorPainter, … ALICE Offline Meeting, CERN, 10 March 2003
MappingClass categories ALICE Offline Meeting, CERN, 10 March 2003
MappingSegmentation classes • Front-end classes for the client code • MVSegmentation – interface • MSegmentation, MPlaneSegmentation ALICE Offline Meeting, CERN, 10 March 2003
MappingIterator classes • Iteration over pads • Over a rectangular area, in physical elements (motif, sector, plane) • MVPadIterator - interface • MMotifTypePadIterator, MSectorPadIterator, MPlaneAreaPlaneIterator, … ALICE Offline Meeting, CERN, 10 March 2003
MappingFiles structure • Mapping subdirectories: • config, doc, data, macro, source • tmp, lib – created at compilation time • Source • Structured according to class categories • Each subdirectory: makefile, include, src • Data • Input data files in two directories: • bending_plane, non-bending_plane • Config - common makefiles • Macro - test Root macros • Doc – history, README, DataFilesFormat ALICE Offline Meeting, CERN, 10 March 2003
MappingInput Data Files • All input parameters in ASCII data files: • zones.dat • layout of the sector • zones-special.dat • layout of special zones • motifX.dat (where X = A, B, C, … (motif type)) • Motif type characteristics, electronics wiring • motifPosX.dat • mapping between indices in motifX.dat to (i,j) local to motif ALICE Offline Meeting, CERN, 10 March 2003
MappingTest Suite • When developing code – a test macro written for each new part of the code • 15 test macros • Automated testing procedure • test_suite.pl • Perl script that runs all test macros and compares the output with the reference output which is stored in macro/out_reference directory ALICE Offline Meeting, CERN, 10 March 2003
MappingGraphics ALICE Offline Meeting, CERN, 10 March 2003
MappingInstallation • Download • From alisoft CVS server: • cvs -d :pserver:cvs@alisoft.cern.ch:/soft/cvsroot co mapping • Environment • MINSTALL – path to mapping package • MPSYSTEM – platform + compiler (used G4 convention) • ROOTSYS – path to Root • Compilation • cd mapping/source • gmake install • Test • cd mapping/macro • root • root [0] .x testXYZ.C ALICE Offline Meeting, CERN, 10 March 2003
AliRootNew classes *MUONSt1* • New classes for MUON Station1 have been included in AliRoot • Use of the mapping package • Makes AliRoot dependent on this external software • New classes are included in AliRoot compilation only if the MINSTALL variable is set • No need to install mapping when running with the default MUONv1 version • In AliRoot nightly builds the new classes could be included ALICE Offline Meeting, CERN, 10 March 2003
AliRootMUONv2 • Detailed geometry of MUON Station1 and the frame • AliMUONv2 is derived from AliMUONv1 • Geometry of the other stations is build by AliMUONv1 • Verification of geometry • Visualization: Geant3 geometry GUI, GraXML • Geant4 geometry verification tests • Still going on ALICE Offline Meeting, CERN, 10 March 2003
AliRootMUONv2 Dimuon arm ALICE Offline Meeting, CERN, 10 March 2003
AliRootMUONv2 Dimuon arm Station1 ALICE Offline Meeting, CERN, 10 March 2003
AliRootMUONv2 Dimuon arm Station1 quadrant ALICE Offline Meeting, CERN, 10 March 2003
AliRootMUONSt1Segmentation • Derived from AliSegmentation • Use of mapping segmentation and iterator classes ALICE Offline Meeting, CERN, 10 March 2003
AliRootMUONSt1Response • Derived from MUON response classes • Use of mapping segmentation ALICE Offline Meeting, CERN, 10 March 2003
AliRootMUONSt1Response • Utility classes • The MUONSt1Response configuration is defined via ASCII data files using the ‘rules’ • A ‘rule’ is a relationship between electronic channels and the parameter to be applied • Any electronics channel parameter can be individually (or collectively) controlled • Pedestals, noise levels, on/off • Can come from DATE or be user generated • Can use ADC “sticky bits” ALICE Offline Meeting, CERN, 10 March 2003
AliRootModifications to existing classes (1) • AliMUONFactory • Completely redesigned • BuildStation(AliMUON* where, Int_t stationNumber) • New public function • Enables each station to be configured separately • Build(AliMUON* where, const char* what) • The long function (configuring all stations) has been split into private functions for each station • The factory can now be used for configuring selected chambers only ALICE Offline Meeting, CERN, 10 March 2003
AliRootModifications to existing classes (2) • AliMUONv1 • A derived class can switch off geometry construction for selected stations and provide its own geometry • In this approach the geometry can be overridden by one derived class only – it is not possible to construct detailed geometry for each station in separate classes • Separation of geometry construction for each station to a new class would be a better solution • Proposed already by G. Martinez in dimuon offline mailing list • Modification in StepManager() • Use of added protected function GetChamberId(volId) • To enable the definition of more than one sensitive volume identifier per chamber ALICE Offline Meeting, CERN, 10 March 2003
Summary • New code for dimuon Station1 has been presented: • Mapping - as a stand-alone package • MUONv2, MUONSt1* classes in AliRoot • We would be interested to see if the mapping package can be reused also elsewhere • New code available from alisoft CVS • Thanks to Peter Hristov the mapping module has been imported from our local CVS (keeping history/versions of all files) • Mapping installation is needed to run AliRoot with the new code • Not needed when running with the default Config.C ALICE Offline Meeting, CERN, 10 March 2003