Loading [MathJax]/extensions/tex2jax.js
 |
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;
95 if (!hSCetRecoContainer.isValid()) {
96 ATH_MSG_ERROR(
"The requested SC ET reco container key could not be retrieved. !!!");
98 superCellRecoCont = hSCetRecoContainer.cptr();
99 ATH_MSG_DEBUG(
"SCetRecoContainer.size() " << hSCetRecoContainer->size());
113 bcid = ctx.eventID().bunch_crossing_id();
122 std::vector<std::vector<std::string> > nameHistos;
124 std::vector<std::string>
vec;
125 vec.push_back(
"superCellEt_"+layerName);
126 vec.push_back(
"superCelltime_"+layerName);
127 vec.push_back(
"superCellprovenance_"+layerName);
128 vec.push_back(
"superCellEta_"+layerName);
129 vec.push_back(
"superCellPhi_"+layerName);
130 vec.push_back(
"resolution_"+layerName);
131 vec.push_back(
"resolutionPass_"+layerName);
132 vec.push_back(
"resolutionHET_"+layerName);
133 vec.push_back(
"superCellEtRef_"+layerName);
134 vec.push_back(
"superCelltimeRef_"+layerName);
135 vec.push_back(
"superCellprovenanceRef_"+layerName);
136 vec.push_back(
"superCellEtDiff_"+layerName);
137 nameHistos.push_back(
vec);
147 std::vector<std::reference_wrapper<Monitored::IMonitoredVariable>>
variables;
149 for ( ; SCit!=SCit_e;++SCit) {
156 float SCet = superCell->
et();
159 unsigned iLyr, iLyrNS;
160 float SCt = superCell->
time();
169 float SCetRef = superCellRef->
et();
170 float SCetDiff = SCet - SCetRef;
172 float resolutionPass = -1000;
173 float resolutionHET = -1000;
175 if ( SCpassTime || SCpassPF ) resolutionPass =
resolution;
231 if ( SCpassTime || SCpassPF )
variables.push_back(LMSCtRef);
242 float SCetReco = superCellReco->
et();
243 float SCtimeReco = superCellReco->
time();
244 MSCtReco = SCtimeReco;
245 MSCetReco = SCetReco;
246 LMSCtReco = SCtimeReco;
260 return StatusCode::SUCCESS;
270 return StatusCode::SUCCESS;
282 if(!doDatabaseNoisePlot) {
284 return StatusCode::SUCCESS;
292 for ( ;
it!=it_e;++
it) {
296 if(!is_lar)
continue;
298 float celleta, cellphi;
299 unsigned iLyr, iLyrNS;
313 return StatusCode::SUCCESS;
320 for (
const auto&
c : input) {
349 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
std::vector< size_t > vec
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.
typename vecDetail::vec_typedef< T, N >::type vec
Define a nice alias for the vectorized type.
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