ATLAS Offline Software

The Cabling Services ( CaloTriggerTowerService of the present package, LArCablingService and TileCablingService ) are meant to provide the mapping between cells and Trigger Towers, between offline and online identifiers and other mappings.

What is provided by the CaloTriggerTowerService

Online TT channel to TT offline conversion, example:

try {
   HWIdentifier ttChannel = ...;
   Identifier ttId = cnvToIdentifier(ttChannel) ;
} 
catch(LArID_Exception& except) {
   msglog << MSG::ERROR << "LArID_Exception " << (std::string) except << endmsg ;
}

and TT offline id to TT online conversion, example:

try {
   Identifier ttOffId = ...;
   HWIdentifier ttOnlId = createTTChannelID(ttOffId)
} 
catch(LArID_Exception& except) {
   msglog << MSG::ERROR << "LArID_Exception " << (std::string) except << endmsg ;
}

Cell offline to Trigger Tower offline correspondance, example:

//
//... to which TT does this cell belong
//
Identifier cellId = ...;
Identifier ttId = m_cablingService->whichTTID(cellId);

Trigger Tower offline to cell offline correspondance, example:

Identifier ttId = ...;
//
//... fill a vector with offline identifier of cells belonging to offline tower ttId (offline id with layer info-- so called 'extended')
//
std::vector < Identifier > channelIdVec = m_cablingService->createCellIDvecLayer(ttId);
//
//... fill a vector with offline identifier of cells belonging to offline tower ttId (offline id without layer info)
//
std::vector < Identifier > channelIdVec = m_cablingService->createCellIDvecTT(ttId);

Channel online to Trigger Tower online correspondance
NOTA BENE: the mapping is actually stored in terms of offline<->offline correspondance, therefore the offline<->offline conversion is faster than the online<->online conversion below.
Example: