|
ATLAS Offline Software
|
Go to the documentation of this file.
6 #include "Identifier/Identifier.h"
22 return StatusCode::SUCCESS;
30 return StatusCode::SUCCESS;
47 ATH_MSG_INFO (
" Could not get pointer to Cell Container ");
51 return StatusCode::SUCCESS;
69 ATH_MSG_DEBUG (
"*** Start loop over CaloCells in LArCollisionTimeAlg");
70 for (; first_cell != end_cell; ++first_cell)
75 double eta = (*first_cell)->eta();
76 if (std::fabs(
eta)<1.5)
continue;
78 uint16_t provenance = (*first_cell)->provenance();
90 if ( (provenance & mask1) !=
cut1 && (provenance & 0x3C00) != 0x3000 && !
m_isMC)
continue;
91 if ( (provenance & 0x2C00) != 0x2000 &&
m_isMC)
continue;
93 const double energy= (*first_cell)->energy();
94 const double noise=noiseCDO->
getNoise(cellID,(*first_cell)->gain());
97 if (signif < 5.)
continue;
103 if (ecut<0.)
continue;
104 if (
energy<ecut)
continue;
106 double time = (*first_cell)->time();
121 if (ncellA>0) timeA = timeA/((
float)(ncellA));
122 if (ncellC>0) timeC = timeC/((
float)(ncellC));
129 ATH_MSG_DEBUG(
" ncellA, ncellA, energyA, energyC, timeA, timeC " << ncellA <<
" " << ncellC <<
" " << energyA <<
" " << energyC <<
" " << timeA <<
" " << timeC);
130 auto larTime = std::make_unique<LArCollisionTime>(ncellA,ncellC,energyA,energyC,timeA,timeC);
132 if (! larTimeWH.
put (std::move (larTime)) ) {
137 return StatusCode::SUCCESS;
def retrieve(aClass, aKey=None)
Const iterator class for DataVector/DataList.
virtual StatusCode execute(const EventContext &ctx) const override final
standard Athena-Algorithm method
bool is_lar_fcal(Identifier id) const
Scalar eta() const
pseudorapidity method
SG::WriteHandleKey< LArCollisionTime > m_collTimeName
int calo_sample(const Identifier id) const
returns an int taken from Sampling enum and describing the subCalo to which the Id belongs.
bool is_tile(const Identifier id) const
test if the id belongs to the Tiles
float getNoise(const IdentifierHash h, const int gain) const
Accessor by IdentifierHash and gain.
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
Gaudi::Property< int > m_minCells
::StatusCode StatusCode
StatusCode definition for legacy code.
bool is_em_endcap_inner(const Identifier id) const
test if the id belongs to the EM Endcap inner wheel
Gaudi::Property< float > m_timeCut
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
virtual bool isValid() override final
Can the handle be successfully dereferenced?
SG::ReadCondHandleKey< CaloNoise > m_noiseCDOKey
Gaudi::Property< bool > m_isMC
StatusCode initialize(bool used=true)
virtual StatusCode finalize() override final
standard Athena-Algorithm method
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
StatusCode record(std::unique_ptr< T > data)
Record a const object to the store.
def time(flags, cells_name, *args, **kw)
#define ATH_MSG_WARNING(x)
const CaloCell_ID * m_calo_id
Gaudi::Property< bool > m_iterCut
const_pointer_type put(std::unique_ptr< T > data, bool returnExisting=false) const
Record an object to the store.
virtual StatusCode initialize() override final
standard Athena-Algorithm method
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
virtual void setFilterPassed(bool state, const EventContext &ctx) const
SG::ReadHandleKey< CaloCellContainer > m_cellsContName