Identifiers for the BFEM digiRootData files
Introduction

ACD/XGT

CAL

TKR 

Introduction

Identifying the detector elements is one of the key activities for reading and manipulating our data files.  This subject has often been fraught with confusion and nomenclature issues.  Hopefully what follows will give you a good introduction to how to identify the detectors stored with the raw Root files.

ACD/XGT

The Ids for the ACD and XGT are documented in the ACD Tile Cabling Document.

The ACD and XGT data is stored in arrays of AcdTile objects.  Both the ACDs and XGTs use an object called AcdId to store the unique identifier.  So, each AcdTile contains a member variable of type AcdId to identify itself.  The AcdId stores the base 10 Id as a binary value - where the bits identify the layer, face, row, and column of the ACD/XGT.  Please see this document on the ACD numbering convention for more information.  The AcdId class provides a number of member functions that will provide information about the placement of an ACD/XGT based upon its Id.

ACD Ids

Please note that when accessing an ACD tile by Id, one may either provide a proper AcdId object OR one may provide a base 10 value for the identifier - for example 011 would be 11.

XGT Ids

Please note that during the BFEM testing, different ids were used to identify the XGTs.  The Root files are using the  numbering convention provided in the ACD BFEM cabling document (aka Ritz id) to identify the XGTs.  Here is a mapping between the Ritz Ids and the ids used during testing.

Ritz ID Position Testing ID
2000 -x-y XGT2
2001 +x-y XGT1
2010 -x+y XGT3
2011 +x+y XGT0

When searching for XGTs in the Root files - you may only use the Ritz Ids to locate the XGTs.

CAL

The CAL logs are uniquely identified by tower, layer, and column - where tower layer and column are numbered according to the Ritz numbering convention.  Hence, the CAL layers are numbered from zero, where the 0th layer is the front most layer (closest to the TKR).  For each CAL log, the id is contained in an object of type LogId.  The LogId stores the tower, layer and column of the log in binary format.  The unique Id is determined using the tower, layer and column.  The LogId class provides member functions to return the tower, layer, and column of a particular LogId.

TKR

Here are 2 key definitions, as defined by the UCSC BFEM User's Guide:
Layer - "A set of detectors on one side of a tray forms a detector layer measuring X or Y of a track"

Plane - "is formed between 2 trays when one is stacked on the other; a top layer of the lower tray and a bottom layer of the upper tray forms an x-y plane"

The TKR data is organized in an array of objects called TkrLayers.  Each TkrLayer contains a list of hit strips.  Each TkrLayer corresponds to a single X or Y layer in the TKR.  To determine the identity of a specific TkrLayer, there are 3 useful routines:  getLayerNum( ), getPlaneNum( ), and getXY( ).

getLayerNum( )
returns the proper layer number for a TkrLayer
Note:  Layers are numbered according to the Ritz numbering convention, where layer==0 is the backmost layer (closest to the CAL)

getPlaneNum( ) returns the proper plane number of a given TkrLayer
Note:  Planes are numbered according to the Ritz numbering convention, where plane==0 is the backmost plane (closest to the CAL)

getXY( ) returns X == 0, if the layer measures X, and Y == 1, if the layer measures Y.