CPSDigiChunk -- contains calibrated strip energies from the central preshower detector The CPSDigiChunk serves as the input chunk to CPSReco. Its data consist of a list of hit strips and their calibrated energies. The input format is the same whether the data are real or come from a Monte Carlo simulation. Energies recorded in the CPSDigiChunk have been calibrated and are in units of GeV. If the energy in a particular strip saturated the electronic readout, that energy is tagged as negative. (What is stored is the saturated energy times -1.) The information below is excerpted from the CPSReco documentation, D0 note 4014. The complete document can be found on the web at http://kuhep4.phsx.ukans.edu/~baringer/cps/CPSReco.htm CPSDigiChunk, the chunk that holds the input data As the name suggests, the CPSDigiChunk class is set up as an event data model (edm) chunk that is made persistent in the event record using D0OM. (CPSDigiChunk inherits from edm::AbsChunk.) The main data item is the DigiMap, defined in a typedef as "map." The calibrated energy of a strip is stored in a map (STL container) as a floating point variable indexed to the CPSCellID object that identifies the strip. (See below for information about the CPSCellID class) The DigiMap is used as the input to the cluster finding algorithm in CPSReco. The access method "const DigiMap& get_Ref2Map() const" will get a reference to the whole map. One can then use a DigiMap::const_iterator to iterate through the entries in the map. One can test whether the map is empty using the bool variable given by the method "empty()." The energy for a particular strip can be accessed using the method "get_Energy(CPSCellID c)." The chunk history variables, EnvID, RCPID and ChunkID, are also stored in the chunk. Access methods return a list of these edm ID's. The standard edm method "void printChunk(ostream& out)" is provided for printing the chunk. The code for CPSDigiChunk can be found in the cvs module cpsdigi_evt. CPSCellID, a simple class that identifies a strip A simple class, CPSCellID, is used to uniquely specify a strip in the CPS detector. Two integers that give the layer number and strip number specify the strip. The allowed layer numbers are 1 (x layer), 2 (u layer) and 3 (v layer). Strip numbers run from 1 to 1280 in the +z hemisphere and -1 to -1280 in the -z hemisphere. Strips n and -n represent the same physical strip, with the sign indicating the readout end. The CPSCellID class has methods "layer_No()" and "strip_No()" to provide access to the layer and strip number. The == and < operations are defined, and a bool method "valid()" tells you whether the Cell ID is a proper one. The code for CPSCellID can be found in the cvs module cps_util.