What are these BFEM Root Classes anyway?
We are using Root I/O to store our data, just as we did for the testbeam.
It is our intention to store all useful BFEM data in Root files: raw event data, housekeeping and reconstruction.
What are some of the advantages of using Root files?
Fast I/O
Data Compression -- based on the gzip algorithm
Handles complex objects and relationships between those objects. Here is a picture.
Our Root classes define the structure of our raw, recon, and housekeeping data stored in our Root files.
How do we generate Root files?

For details about the conversion from G4 into IRF files, please see Martin's description.
What do we do with these Root files?
Using Root interactively (similar in principle to IDL or PAW), one can manipulate the data contained in Root files and produce pretty pictures...
For our IDL users...we have Root2IDL: reads a Root file and generates IDL structures...then you can produce pretty pictures...
Much more discussion is necessary...perhaps at an upcoming meeting...
Root macros and examples...
IDL routines to perform typical functions.
How do we extract HSK data for a particular event?
What is Ready?
The TBEvent (Raw Root Classes) classes from the testbeam are functional and available from the SLAC CVS repository... NOTE: The classes do not yet contain all the upgrades for the BFEM.
Upgrade to Root 3.00.06 is in progress - which means we can use Root 3.00.06 to write out our Root files...and Root 3.00.06 will also read in our "old" test beam files generated using earlier versions of Root.
The testbeam version of the Recon Root classes are available within the tb_recon and TBIOROOT packages. We hope to extract these classes and put them into a separate package.
Current Status of the BFEM Root Class definitions. More details...
Thanks to those who took the time to provide suggestions for the Root classes.
To Do:
RAW Data Classes -- plan to freeze the classes by next Thursday April 5th, please send in your comments. Each subsystem should "bless" their particular Root classes. Please take look at the Root files Thomas generated available through this FTP site. Here is a description of their contents.
XGTs
What should be in the Root files? Just an id and PHA? what about recon? or housekeeping?
XGTs need to be added to the G4 IRF files for conversion...This requires some steps:
ROOTWriter needs geometry information for XGTs and IRF identifiers -- Heather
There are 4 XGTs (50 x 50 x 100), 250 mm above top of TKR - as described in Feb 27, 2001 document "Detector Geometry used for the Geant 4 Balloon Test Simulator".
XGT data needs to be added to the G4 IRF -- Taka?
A new Root class needs to be created to store XGT data or we re-use the existing ACD class -- Heather
ROOTWriter must be updated to handle the XGT data and store it into the Raw Root file -- Heather
ACD tiles
NOTE: The ACDs will now be identified according to the ids specified in the Ritz ACD tile numbering document. So here are the ids that will be assigned in the Raw Root Classes.
Can the G4 simulation also use this numbering scheme for the ACD tiles? NOTE: this does note affect the ACD id number used in the IRF file...the IRF uses a different numbering convention...
"Big" ACD tile...this is also missing from the geometry description used by ROOTWriter
Add the tile to the geometry description used by RW and assign an id number to it. -- Heather
Update the G4 => IRF converter to include the "Big" ACD tile -- Taka?
Monte Carlo
Core group will provide the format for the Monte Carlo (MC) IRF data.
G4 team can then update the G4 => IRF converter to store MC data. -- poor Taka!
A new Root class for Monte Carlo data needs to be created. -- Heather
Where to get Geant particle Ids?
ROOTWriter must be updated to handle the MC data. -- Heather
CAL
ROOTWriter will be fixed to properly assign the log ids to adhere to Steve's numbering conventions for all detectors.
Will G4 also be using the accepted log numbering scheme?
TKR
Is the orientation of the X and Y axes as defined in the BFEM TKR user's guide the same as the X and Y orientation for the full BFEM instrument? Want to make sure the strip ids are assigned correctly.
Trigger
Provide a flag that denotes the type of trigger... BFEM has 4 (?) possible triggers
Event Header
Add in the GPS time.
Add in G4 random number seed... any suggestions about how this data gets into ROOTWriter... IRF does not currently have a way to handle random number seeds...
Recon Root Classes
We have the TBEM Recon Root classes....more work to come after the Raw Root classes are settled.
New Acd Recon class needs to be created - there was no such class in the testbeam.
Cal Recon classes will probably require some modifications....need to discuss this with the CAL group.
Housekeeping Root Classes
Much more work is needed to define the Root classes
ROOTWriter need to be modified to handle HSK data.