|
ATLAS Offline Software
|
Go to the documentation of this file.
16 #include <GaudiKernel/MsgStream.h>
17 #include <GaudiKernel/StatusCode.h>
27 m_histsDirectoryName (
"AFP/"),
29 m_lumiBlockMuTool(
"LumiBlockMuTool/LumiBlockMuTool")
47 if (stationMon.retrieve().isFailure())
50 stationMon->setAllLayersParent(
this);
55 return StatusCode::FAILURE;
65 managedBookingLumiBlock,
66 "h_timeOverThresholdMeanp",
67 "Mean hitstime over threshold per plane",
69 timeOverThresholdMean->
profile()->SetYTitle(
"mean time-over-threshold");
73 managedBookingLumiBlock,
74 "h_hitsPerPlaneScaledMean",
75 "Mean number of hits in an event per plane",
77 hitsPerPlaneScaledMean->
profile()->SetYTitle(
"Mean number of hits in an event.");
81 managedBookingLumiBlock,
82 "h_hitsPerPlaneScaledHotSpotMean",
83 "Mean number of hits in a hotspot in an event per plane",
85 hitsPerPlaneScaledHotSpotMean->
profile()->SetYTitle(
"Mean number of hits in hotspot in an event");
89 return StatusCode::SUCCESS;
95 return StatusCode::SUCCESS;
102 station->bookHistograms(
this);
106 return StatusCode::SUCCESS;
114 bool matchStation =
false;
116 if (station->stationID() == hit->stationID()) {
117 station->fillHistograms(*hit);
130 return StatusCode::SUCCESS;
141 totalPlanes += station->layersMonitors().size();
144 outputHistTitle.data(),
145 totalPlanes, - 0.5, totalPlanes + 0.5);
152 for (
const ToolHandle<IAFPSiLayerMonitor>&
layer : station->layersMonitors()) {
153 std::stringstream binName;
154 binName<<
"st."<<station->stationID();
155 binName<<
"/lay."<<
layer->layerID();
156 axis->SetBinLabel (binCounter, binName.str().data());
161 const double errorSq =
hist->GetMeanError()*
hist->GetMeanError();
162 const double entriesSq =
hist->GetEntries()*
hist->GetEntries();
164 const double meanError = sqrt( errorSq*entriesSq + (valueSq/
hist->GetEntries()) );
168 outputHist->SetBinError(binCounter, meanError);
171 ATH_MSG_WARNING (
"Missing "<<
layer->makeHistName(inputHistName)<<
" does not exist, but is needed for a summary.");
185 station->endOfLumiBlock(
this);
195 return StatusCode::SUCCESS;
Property holding a SG store/key/clid from which a ReadHandle is made.
Base class for summary distributions (showing mean value for each plane)
void mean(std::vector< double > &bins, std::vector< double > &values, const std::vector< std::string > &files, const std::string &histname, const std::string &tplotname, const std::string &label="")
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Class representing a hit in silicon detector.
virtual double hitsInEventHotSpotScaled() const =0
Number of hits in hot-spot corrected for pile-up.
Class managing (booking and filling) summary distributions.
def TProfile(*args, **kwargs)
::StatusCode StatusCode
StatusCode definition for legacy code.
void book() const
Executes AFPSiLayerSummaryProfileBase::book() method on all objects in AFPSiLayerSummaryManager::m_ba...
Definitions of AFP stations identification numbers.
AFPSiLayerSummaryProfileBase * createSummaryEventEnd(AFPHitsMonitorTool *parentTool, const ManagedMonitorToolBase::MonGroup &monGrp, const std::string &name, const std::string &title, T(IAFPSiLayerMonitor::*value)() const)
Creates a new monitoring object of type AFPSiLayerSummaryProfileEventEnd adds to AFPSiLayerSummaryMan...
float timeOverThreshold() const
Time over threshold of signal for a pixel.
#define ATH_MSG_WARNING(x)
AFPSiLayerSummaryProfileBase * createSummaryHits(AFPHitsMonitorTool *parentTool, const ManagedMonitorToolBase::MonGroup &monGrp, const std::string &name, const std::string &title, T(xAOD::AFPSiHit::*value)() const)
Creates a new monitoring object of type AFPSiLayerSummaryProfileHit adds to AFPSiLayerSummaryManager:...
TProfile * profile()
Returns the profile object m_profile.
virtual double hitsInEventScaled() const =0
Returns number of pixels fired in an event corrected for pile-up.