Reconstructed Hits
Reconstructed HCal hits are available as CalorimeterHit objects. This page summarizes the information stored in the various fields of this class.
Amplitude
The amplitude ( CalorimeterHit::getEnergy() ) is provided in linearized MIPs.
CalorimeterHit hit; // a reconstructed HCal hit float energy_MIP = hit.getEnergy(); // read energy
3D position
The position information accessible via CalorimeterHit::getPosition() refers to the (x,y,z) coordinate of the center of the respective calorimeter cell in the official CALICE coordinate frame. Units are mm. !
CalorimeterHit hit; // a reconstructed HCal hit float pos[3] = hit.getPosition(); // read position
Geometrical and hardware cell index
Two different types of information are encoded in the cell index [note that this only applies to reconstructed Hcal hits, policy is different for the Ecal or TCMT]:
lcio::CalorimeterHit::getCellID0() returns an index to be interpreted by the CALICE::HcalCellIndex class, and which encodes geometrical indices i (horizontal), j (vertical), and l (layer). More information on the geometry can be found here.
CalorimeterHit hit; // a reconstructed HCal hit HcalCellIndex geomIndex( hit.getCellID0() ); // create an HcalCellIndex to decode the information int i = geomIndex.getTileColumn(); // horizontal index, starting from 1 int j = geomIndex.getTileRow(); // vertical index, starting from 1 int k = geomIndex.getLayerIndex(); // layer, starting from 1
lcio::CalorimeterHit::getCellID1() returns an index to be interpreted by the CALICE::HcalTileIndex class, which encodes the hardware address in terms of module number, chip, and channel. In principle, the HcalTileIndex class also allows encoding of the SiPM number (which is redundant to module, chip, channel), but this information is currently not filled.
CalorimeterHit hit; // a reconstructed Hcal hit HcalTileIndex hwIndex( hit.getCellID1() ); // create an HcalTileIndex to decode the information int module = hwIndex.getModule(); // module number ( 1 to 38 ) int chip = hwIndex.getChip(); // chip ( 0 to 12 ) int channel = hwIndex.getChannel(); // channel ( 0 to 17 ) int sipm = hwIndex.getSipm(); // SiPM number, will return 0 at the moment
