|
ATLAS Offline Software
|
Go to the documentation of this file.
12 #include "CaloDetDescr/CaloDetDescrElement.h"
14 #include "Identifier/Identifier.h"
69 return StatusCode::SUCCESS;
82 return StatusCode::SUCCESS;
87 if(!superCellRefCont){
89 return StatusCode::SUCCESS;
99 if (!hSCetRecoContainer.isValid()) {
100 ATH_MSG_ERROR(
"The requested SC ET reco container key could not be retrieved. !!!");
102 superCellRecoCont = hSCetRecoContainer.cptr();
103 ATH_MSG_DEBUG(
"SCetRecoContainer.size() " << hSCetRecoContainer->size());
115 bcid = ctx.eventID().bunch_crossing_id();
129 std::vector<std::reference_wrapper<Monitored::IMonitoredVariable>>
variables;
131 for ( ; SCit!=SCit_e;++SCit) {
138 float SCet = superCell->
et();
141 unsigned iLyr, iLyrNS;
142 float SCt = superCell->
time();
151 float SCetRef = superCellRef->
et();
152 float SCetDiff = SCet - SCetRef;
154 float resolutionPass = -1000;
155 float resolutionHET = -1000;
157 if ( SCpassTime || SCpassPF ) resolutionPass =
resolution;
213 if ( SCpassTime || SCpassPF )
variables.push_back(LMSCtRef);
224 float SCetReco = superCellReco->
et();
225 float SCtimeReco = superCellReco->
time();
226 MSCtReco = SCtimeReco;
227 MSCetReco = SCetReco;
228 LMSCtReco = SCtimeReco;
242 return StatusCode::SUCCESS;
252 return StatusCode::SUCCESS;
264 if(!doDatabaseNoisePlot) {
266 return StatusCode::SUCCESS;
274 for ( ;
it!=it_e;++
it) {
278 if(!is_lar)
continue;
280 float celleta, cellphi;
281 unsigned iLyr, iLyrNS;
295 return StatusCode::SUCCESS;
302 for (
const auto&
c :
input) {
331 const unsigned side=(celleta>0) ? 0 : 1;
def retrieve(aClass, aKey=None)
bool is_lar_em_endcap_inner() const
cell belongs to the inner wheel of EM end cap
Const iterator class for DataVector/DataList.
SG::ReadHandleKey< CaloCellContainer > m_superCellContainerRefKey
int region(const Identifier id) const
LAr field values (NOT_VALID == invalid request)
bool is_lar(Identifier id) const
This class groups all DetDescr information related to a CaloCell. Provides a generic interface for al...
BooleanProperty m_doSCReco
BooleanProperty m_doDatabaseNoiseVsEtaPhi
const std::string & key() const
Return the StoreGate ID for the referenced object.
FloatProperty m_thresholdsForResolution
uint16_t provenance() const
get provenance (data member)
const CaloCell_ID * m_calo_id
bool empty() const
Test if the key is blank.
StringArrayProperty m_layerNames
float time() const
get time (data member)
float getNoise(const IdentifierHash h, const int gain) const
Accessor by IdentifierHash and gain.
double resolution[nGasTypes][nParametersResolution]
SG::ReadHandleKey< CaloCellContainer > m_superCellContainerKey
Definition of CaloDetDescrManager.
float eta_raw() const
cell eta_raw
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
Base class for Athena Monitoring Algorithms.
SG::ReadCondHandleKey< BunchCrossingCondData > m_bcDataKey
Property: Bunch crossing data (MC only) (conditions input).
Identifier identify() const override final
cell identifier
Gaudi::Property< std::string > m_MonGroupName
LArSuperCellMonAlg(const std::string &name, ISvcLocator *pSvcLocator)
::StatusCode StatusCode
StatusCode definition for legacy code.
virtual StatusCode fillHistograms(const EventContext &ctx) const override final
adds event to the monitoring histograms
const CaloDetDescrElement * caloDDE() const
get pointer to CaloDetDescrElement (data member)
void tolower(std::string &s)
@ BunchCrossings
Distance in units of 25 nanoseconds.
virtual double et() const override final
get et
void fill(const ToolHandle< GenericMonitoringTool > &groupHandle, std::vector< std::reference_wrapper< Monitored::IMonitoredVariable >> &&variables) const
Fills a vector of variables to a group by reference.
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
std::string strToLower(const std::string &input) const
int distanceFromFront(const bcid_type bcid, const BunchDistanceType type=NanoSec) const
The distance of the specific bunch crossing from the front of the train.
const CaloCell * findCell(const IdentifierHash theHash) const
fast find method given identifier hash.
bool test(const uint16_t prov, const LArProvenance check)
IdentifierHash identifyHash() const override final
cell subcalo hash same as subcalo_hash(), but kept for backward compatibility
StatusCode initialize(bool used=true)
setEventNumber setTimeStamp bcid
Wrapper to avoid constant divisions when using units.
Container class for CaloCell.
virtual StatusCode initialize() override
initialize
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
Data object for each calorimeter readout cell.
CaloCell_ID::CaloSample getSampling() const
cell sampling
virtual StatusCode initialize() override final
initialize
SG::ReadHandleKey< CaloCellContainer > m_superCellContainerRecoKey
SG::ReadCondHandleKey< CaloNoise > m_noiseCDOKey
BooleanProperty m_removeMasked
const std::map< unsigned, LayerEnumNoSides > m_caloSamplingToLyrNS
Declare a monitored scalar variable.
void getHistoCoordinates(const CaloDetDescrElement *dde, float &celleta, float &cellphi, unsigned &iLyr, unsigned &iLyrNS) const
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
float phi_raw() const
cell phi_raw
StatusCode createPerJobHistograms(const CaloCellContainer *cellcont, const CaloNoise *noisep) const