mice model and micerun

12
1 Malcolm Ellis - Software Meeting - 17th Ma y 2006 MICE Model and MICERun MiceModel: Overall Model that is used throughout G4MICE to represent any stage of the experiment in any level of detail. Representations of the model are produced for specific purposes (e.g. Simulation: GEANT4, Reconstruction: RecPack, Visualisation: HepRep, X11, ???) Scheme was proposed in SW meeting of April 2004, and resurrected in SW meeting at Osaka this year. First version of code and sample files were committed as MiceModules_T20060517 This talk will describe the code and sample files that currently exist and list the steps needed to extend this for use within G4MICE. Initially plan to only use it for “DetectorsOnly” type of work (e.g. KEK Test beam analysis). Once validated as correct and stable, will move to full use including cooling channel and beam line.

Upload: tyler-reilly

Post on 30-Dec-2015

45 views

Category:

Documents


2 download

DESCRIPTION

MICE Model and MICERun. MiceModel: Overall Model that is used throughout G4MICE to represent any stage of the experiment in any level of detail. Representations of the model are produced for specific purposes (e.g. Simulation: GEANT4, Reconstruction: RecPack, Visualisation: HepRep, X11, ???) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: MICE Model and MICERun

1Malcolm Ellis - Software Meeting - 17th May 2006

MICE Model and MICERun

MiceModel: Overall Model that is used throughout G4MICE to

represent any stage of the experiment in any level of detail.

Representations of the model are produced for specific purposes (e.g. Simulation: GEANT4, Reconstruction: RecPack, Visualisation: HepRep, X11, ???)

Scheme was proposed in SW meeting of April 2004, and resurrected in SW meeting at Osaka this year.

First version of code and sample files were committed as MiceModules_T20060517

This talk will describe the code and sample files that currently exist and list the steps needed to extend this for use within G4MICE.

Initially plan to only use it for “DetectorsOnly” type of work (e.g. KEK Test beam analysis).

Once validated as correct and stable, will move to full use including cooling channel and beam line.

Page 2: MICE Model and MICERun

2Malcolm Ellis - Software Meeting - 17th May 2006

Model vs Representation

We need a single “Model” of any given setup in MICE (or any MICE test beam).

For different applications (e.g. Simulation, Reconstruction, Visualisation) application specific “Representations” are derived from this one model.

This allows us to guarantee that (for e.g.) the geometry used in the Reconstruction is the same as that for the Simulation (if we want it to be).

Each representation extracts the information from the model that is needed for that particular task.

Page 3: MICE Model and MICERun

3Malcolm Ellis - Software Meeting - 17th May 2006

MICERun

Added to Interface Analogous to MICEEvent, however is the place where

classes that live for longer than an event will live: MiceModule (the MICE modeling class) Calibration classes Decoding classes Analysis classes? etc...

Page 4: MICE Model and MICERun

4Malcolm Ellis - Software Meeting - 17th May 2006

MiceModule

Found in the Config package. A MiceModule represents a sub-component of MICE at

any level and may have a “Mother” module and/or one or more “Daughter” modules.

Each MiceModule has a name, a physical shape (a simple way of describing the rough volume occupied and orientation, etc), a position, an orientation and any number of “Properties” which can be of type bool, int, double or string.

The SciFi tracker can be represented at two extremes by either:

A single MiceModule which represents the solenoid’s position and orientation

Every individual fibre, represented as core plus two layers of cladding, in every plane, in every station, with carbon fibre support arms, etc, etc, etc..

More likely: something in between these two!

Page 5: MICE Model and MICERun

5Malcolm Ellis - Software Meeting - 17th May 2006

Properties

Properties are for component specific properties that the Modeling code does not need to understand, but which one or more representations will need to know.

Examples: Simulation:

Radiation length Composition Density

Reconstruction: Station number Plane number

Visualisation: Colour

Not all representations will need to know about all properties, and a property can always be added without breaking the existing functionality of any representation (e.g. add colour to an object has no effect on simulation)

Properties will also be used in the same way as existing data cards to define the detailed geometries of complicated objects, e.g. torispherical absorbers.

Page 6: MICE Model and MICERun

6Malcolm Ellis - Software Meeting - 17th May 2006

Files

For a given configuration of detectors and other hardware, there will exist a configuration file that lists the location of each module and its orientation and the name of a file describing that module.

Each module can then have zero or more sub modules described in it, again giving their location with respect to this module.

Each module can return its location and orientation with respect to any other module that it is inside of, up to and including the global coordinate system (i.e. “MICE hall”).

In this manner, alignment is achieved by (for example) placing a given station in a given tracker at a slightly different from nominal position and/or orientation.

This can also be used to make Simulation studies of the effects of misalignments, etc...

Page 7: MICE Model and MICERun

7Malcolm Ellis - Software Meeting - 17th May 2006

MICEFILES

Latest tag expects a new environment variable:

setenv MICEFILES ${MICESRC}/FILES/ This is used in the MiceModule code in

order to know where in the tree to the right it should look for configuration and module information.

A single MiceModule instance is made in the MICERun from a configuration:

MiceModule* module = new MiceModule( "KEKOctober2005/KekOctoberTrackerOnly.dat" );

It then reads that file and loads all the Modules that have been referred to into a tree of MiceModules hanging below this highest level instance.

Page 8: MICE Model and MICERun

8Malcolm Ellis - Software Meeting - 17th May 2006

Volume Types

Currently only two types supported, can be extended as required:

Cylinder – A Cylinder defined as having its circular faces perpendicular to the z axis with a given radius and length.

Box – A regular box defined as an extent along the X, Y and Z axes.

The volumes are defined by the physical extents. The module then has a location of the centre of this

volume and the orientation allows it to be rotated arbitrarily from the definition above.

These volumes are NOT meant to provide an Engineering drawing level of accuracy!

Rather, they indicate the approximate volume occupied by the module and aid in simple representations.

More complicated representations will make use of module specific properties.

Page 9: MICE Model and MICERun

9Malcolm Ellis - Software Meeting - 17th May 2006

Sample Configuration

A first (incorrect and incomplete!) version of a configuration has been committed to represent the KEK test beam configuration.

An application “MiceModules” has been added to enable testing and development of this code.

The main configuration file looks like:

// FILES/Models/Configurations/KEKOctober2005/KekOctoberTrackerOnly.dat//// A model of the KEK test beam setup in which only the 4 station tracker// prototype is described//// M.Ellis 16th May 2006

Configuration KekOctoberTrackerOnly{ Module Tracker/KekFourStationTracker.dat { Position 0.0 0.0 0.0 mm Rotation 0.0 0.0 0.0 degrees }}

Page 10: MICE Model and MICERun

10Malcolm Ellis - Software Meeting - 17th May 2006

Module Definitions

// FILES/Models/Modules/Tracker/KekFourStationTracker.dat//// Definition of the tracker module for the four station prototype// tested in the KEK pi2 beam line in October 2006//// M.Ellis 16th May 2006

Module KekFourStationTracker{ Volume Cylinder Dimensions 50.0 150.0 cm PropertyDouble MagneticField 0.0 PropertyDouble RedColour 1.0 PropertyDouble GreenColour 1.0 PropertyDouble BlueColour 1.0 Module Tracker/KekStationB.dat { Position 0.0 0.0 475.0 mm Rotation 0.0 0.0 0.0 degrees } Module Tracker/KekStationA.dat { Position 0.0 0.0 -73.0 mm Rotation 0.0 0.0 0.0 degrees } Module Tracker/KekStationC.dat { Position 0.0 0.0 -325.0 mm Rotation 0.0 0.0 0.0 degrees } Module Tracker/KekStationD.dat { Position 0.0 0.0 -475.0 mm Rotation 0.0 0.0 0.0 degrees }}

// FILES/Models/Modules/Tracker/KekStationD.dat//// Definition of Station D as used in the four station tracker prorotype// in the KEK test beam of October 2006//// M.Ellis 16th May 2006

Module KekStationD{ Volume Cylinder Dimensions 30.0 0.5 cm PropertyInt Station 2 Module Tracker/KekViewX.dat { Position 0.0 0.0 -0.5 cm Rotation 0.0 0.0 0.0 degrees } Module Tracker/KekViewV.dat { Position 0.0 0.0 0.0 cm Rotation 0.0 0.0 120.0 degrees } Module Tracker/KekViewW.dat { Position 0.0 0.0 0.5 cm Rotation 0.0 0.0 -120.0 degrees }}

Page 11: MICE Model and MICERun

11Malcolm Ellis - Software Meeting - 17th May 2006

Tree of Modules

MiceModule class has a simple printTree method which dumps the information that has been instantiated in a given module and all its daughters.

Example from the KEK configuration (a fraction of the full output):

Configuration KekOctoberTrackerOnlyHas 1 daughter: Module KekFourStationTracker is at position (0,0,0) Volume is a Cylinder with Radius 500 and Length 1500 Double property BlueColour has the value 1 Double property GreenColour has the value 1 Double property MagneticField has the value 0 Double property RedColour has the value 1 Has 4 daughters: Module KekStationB is at position (0,0,475) Volume is a Cylinder with Radius 300 and Length 5 Integer property Station has the value 2 Has 3 daughters: Module KekViewX is at position (0,0,-5) Volume is a Cylinder with Radius 300 and Length 1.5 Integer property View has the value 2 Double property BlueColour has the value 1 Double property Pitch has the value 0.422 Has 1 daughter: Module CentralFibre is at position (0,0,0) Volume is a Cylinder with Radius 0.175 and Length 300 Module KekViewV is at position (0,0,0) Volume is a Cylinder with Radius 300 and Length 1.5 Integer property View has the value 1 Double property Pitch has the value 0.422 Double property RedColour has the value 1 Has 1 daughter: Module CentralFibre is at position (0,0,0) Volume is a Cylinder with Radius 0.175 and Length 300 Module KekViewW is at position (0,0,5) Volume is a Cylinder with Radius 300 and Length 1.5 Integer property View has the value 3 Double property GreenColour has the value 1 Double property Pitch has the value 0.422 Has 1 daughter: Module CentralFibre is at position (0,0,0) Volume is a Cylinder with Radius 0.175 and Length 300

Page 12: MICE Model and MICERun

12Malcolm Ellis - Software Meeting - 17th May 2006

Next Steps

Need someone (Lara?) to test and fix where necessary the MiceModule code.

Extend visualisation representation of MiceModule (see Visualisation talk) for use in checking models.

Tracker group (Aron, Atsushi, Hideyuki, Makoto and Malcolm) work on complete and correct description of the KEK tracker test setup (tracker, solenoid, TOF, defining counters, etc)

Migration to use of MiceModule as already described in the Reconstruction plan talk.