diff --git a/PhysicsAnalysis/EventTag/EventTagRawAlgs/src/RawInfoSummaryForTagWriter.cxx b/PhysicsAnalysis/EventTag/EventTagRawAlgs/src/RawInfoSummaryForTagWriter.cxx index d7e2d09bcabe7118131b95d3425e79a0604e7c67..7c4cc9a7a468b6b6d1e371af1b0737c33d82a35f 100644 --- a/PhysicsAnalysis/EventTag/EventTagRawAlgs/src/RawInfoSummaryForTagWriter.cxx +++ b/PhysicsAnalysis/EventTag/EventTagRawAlgs/src/RawInfoSummaryForTagWriter.cxx @@ -32,7 +32,6 @@ RawInfoSummaryForTagWriter::RawInfoSummaryForTagWriter(const std::string& name, declareProperty("TRT_DriftCircleContainerName", m_TRT_DriftCircleName="TRT_DriftCircles"); declareProperty("SCT_SpacePointName",m_sctSpacePointName="SCT_SpacePoints"); declareProperty("Pixel_SpacePointName",m_pixSpacePointName="PixelSpacePoints"); - declareProperty("BCM_RDOName", m_bcmRDOName="BCM_RDOs"); declareProperty("TRT_PhaseName", m_trtPhaseName="");//"TRT_Phase"); declareProperty("MBTSName",m_mbtsName="MBTSContainer"); declareProperty("MBTSCollTimeKey",m_MBTSCollTimeKey="MBTSCollisionTime"); @@ -72,12 +71,12 @@ StatusCode RawInfoSummaryForTagWriter::initialize() ATH_CHECK(m_MBTSCollTimeKey.initialize()); ATH_CHECK(m_sctSpacePointName.initialize()); ATH_CHECK(m_pixSpacePointName.initialize()); - ATH_CHECK(m_bcmRDOName.initialize()); ATH_CHECK(m_mbtsName.initialize()); ATH_CHECK(m_larCollTimeName.initialize()); if (!m_trtPhaseName.key().empty()) { ATH_CHECK(m_trtPhaseName.initialize()); } + ATH_CHECK(m_bcmRDOName.initialize(!m_bcmRDOName.key().empty())); ATH_CHECK(m_RISFTKey.initialize()); ATH_CHECK( m_fieldCacheCondObjInputKey.initialize() ); return StatusCode::SUCCESS; @@ -345,26 +344,28 @@ StatusCode RawInfoSummaryForTagWriter::execute() // BCM tag bit unsigned int bcmHit=0; + + if (!m_bcmRDOName.key().empty()) { + SG::ReadHandle<BCM_RDO_Container> bcmRDO(m_bcmRDOName); + int num_collect = bcmRDO->size(); + if ( num_collect != 16 ){ + ATH_MSG_WARNING (" Number of collections: " << num_collect); + } - SG::ReadHandle<BCM_RDO_Container> bcmRDO(m_bcmRDOName); - int num_collect = bcmRDO->size(); - if ( num_collect != 16 ){ - ATH_MSG_WARNING (" Number of collections: " << num_collect); + BCM_RDO_Container::const_iterator chan_itr = bcmRDO->begin(); + BCM_RDO_Container::const_iterator chan_itr_end = bcmRDO->end(); + for (; chan_itr != chan_itr_end; chan_itr++) { + // Loop over all BCM hits in this collection + BCM_RDO_Collection::const_iterator bcm_itr = (*chan_itr)->begin(); + BCM_RDO_Collection::const_iterator bcm_itr_end = (*chan_itr)->end(); + + for (; bcm_itr != bcm_itr_end; bcm_itr++) { + if ((*bcm_itr)->getPulse1Width() != 0 || (*bcm_itr)->getPulse2Width() != 0) { + bcmHit++; + } + } // end of loop over raw data + } // end of loop over collections } - - BCM_RDO_Container::const_iterator chan_itr = bcmRDO->begin(); - BCM_RDO_Container::const_iterator chan_itr_end = bcmRDO->end(); - for (; chan_itr != chan_itr_end; chan_itr++) { - // Loop over all BCM hits in this collection - BCM_RDO_Collection::const_iterator bcm_itr = (*chan_itr)->begin(); - BCM_RDO_Collection::const_iterator bcm_itr_end = (*chan_itr)->end(); - - for (; bcm_itr != bcm_itr_end; bcm_itr++) { - if ((*bcm_itr)->getPulse1Width() != 0 || (*bcm_itr)->getPulse2Width() != 0) { - bcmHit++; - } - } // end of loop over raw data - } // end of loop over collections RISFTobject->setBCMHit(bcmHit); diff --git a/PhysicsAnalysis/EventTag/EventTagRawAlgs/src/RawInfoSummaryForTagWriter.h b/PhysicsAnalysis/EventTag/EventTagRawAlgs/src/RawInfoSummaryForTagWriter.h index 0b8ff99c63651a41b710b10623ca797c6121fe1a..887d0ddef141c25fcd302f8e62795ec7c17a58fb 100644 --- a/PhysicsAnalysis/EventTag/EventTagRawAlgs/src/RawInfoSummaryForTagWriter.h +++ b/PhysicsAnalysis/EventTag/EventTagRawAlgs/src/RawInfoSummaryForTagWriter.h @@ -67,13 +67,13 @@ class RawInfoSummaryForTagWriter : public AthAlgorithm SG::ReadHandleKey<MBTSCollisionTime> m_MBTSCollTimeKey; SG::ReadHandleKey<SpacePointContainer> m_sctSpacePointName; SG::ReadHandleKey<SpacePointContainer> m_pixSpacePointName; - SG::ReadHandleKey<BCM_RDO_Container> m_bcmRDOName; SG::ReadHandleKey<TileCellContainer> m_mbtsName; SG::ReadHandleKey<LArCollisionTime> m_larCollTimeName; SG::ReadHandleKey<ComTime> m_trtPhaseName; + SG::ReadHandleKey<BCM_RDO_Container> m_bcmRDOName{ + this, "BCM_RDOKey", "BCM_RDOs", "SG key for BCM RDOs"}; SG::WriteHandleKey<RawInfoSummaryForTag> m_RISFTKey; - bool m_doClusterSums;//!< turn on/off the cluster sum in the tag (as it crashes if Tile is off) std::string m_mbtsContainerName;