 |
ATLAS Offline Software
|
Go to the documentation of this file.
36 return StatusCode::SUCCESS;
47 auto new_scell_cont = std::make_unique<CaloCellContainer> ();
50 if ( not cellsHandle.isValid() ) {
54 return StatusCode::FAILURE;
64 badchannel = *larBadChan;
68 maskedchannel = *larBadChan;
72 ATH_MSG_DEBUG(
"Got a CaloCellContainer input with size : "<<scells_from_sg->
size());
73 if ( scells_from_sg->
empty() ) {
74 ATH_MSG_WARNING(
"Got an empty input collection, maybe the key is wrong : "
78 return StatusCode::SUCCESS;
81 const EventIDBase& EIHandle = context.eventID();
82 const unsigned int bcid = EIHandle.bunch_crossing_id();
84 new_scell_cont->reserve(scells_from_sg->
size());
86 for(
const auto *
sc : *scells_from_sg){
91 cell->setCaloDDE(dde);
98 bool saturation(
false);
102 if(
energy != 0. &&
sc->passTauSelection().at(0)) {
103 int Etau=
sc->tauEnergies().at(0);
105 cell->setProvenance(
cell->provenance()|0x200);
108 const std::vector< unsigned short >& bcids =
sc->bcids();
109 const std::vector< int >& energies =
sc->energies();
110 const std::vector< bool>& satur =
sc->satur();
111 for(
unsigned int i=0;
i<bcids.size();
i++) {
114 saturation = satur[
i];
128 cell->setProvenance(
cell->provenance()|0x80);
135 cell->setProvenance(
cell->provenance()|0x80);
142 cell->setProvenance(
cell->provenance()|0x40);
145 cell->setQuality((
unsigned short)saturation);
146 new_scell_cont->push_back(
cell );
150 return StatusCode::SUCCESS;
def retrieve(aClass, aKey=None)
bool good() const
Returns true if no problems at all (all bits at zero)
LArRAWtoSuperCell(const std::string &name, ISvcLocator *pSvcLocator)
Container class for LArRawSC.
IntegerProperty m_bcidOffset
Conditions-Data class holding LAr Bad Channel or Bad Feb information.
This class groups all DetDescr information related to a CaloCell. Provides a generic interface for al...
const CaloDetDescrElement * get_element(const Identifier &cellId) const
get element by its identifier
SG::ReadCondHandleKey< CaloSuperCellDetDescrManager > m_caloMgrKey
Geometry manager.
LArBC_t offlineStatus(const Identifier id) const
Query the status of a particular channel by offline ID This is the main client access method.
Definition of CaloDetDescrManager.
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
An algorithm that can be simultaneously executed in multiple threads.
CaloCell_ID::SUBCALO getSubCalo() const
cell subcalo
SG::ReadCondHandle< T > makeHandle(const SG::ReadCondHandleKey< T > &key, const EventContext &ctx=Gaudi::Hive::currentContext())
bool statusBad(PosType pb) const
Returns true if corresponding status bit its set
SG::WriteHandleKey< CaloCellContainer > m_sCellContainerOutKey
Property: SG key for the output supercell LAr channel container.
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
SG::ReadHandleKey< LArRawSCContainer > m_sCellContainerInKey
Property: SG key for the input calorimeter cell container.
::StatusCode StatusCode
StatusCode definition for legacy code.
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
SG::ReadCondHandleKey< LArBadChannelCont > m_maskedContKey
OTF Channel masking for Super-Cells.
const LArOnline_SuperCellID * m_laronline_id
SG::ReadCondHandleKey< LArBadChannelCont > m_bcContKey
Bad Channel masking for Super-Cells.
StatusCode initialize(bool used=true)
setEventNumber setTimeStamp bcid
StatusCode record(std::unique_ptr< T > data)
Record a const object to the store.
Data object for each calorimeter readout cell.
#define ATH_MSG_WARNING(x)
StatusCode execute(const EventContext &context) const
size_type size() const noexcept
Returns the number of elements in the collection.
bool empty() const noexcept
Returns true if the collection is empty.