42#include "TGraphErrors.h"
43#include "TGraphAsymmErrors.h"
44#include "TMultiGraph.h"
46#include "TProfile2D.h"
48#include "TDirectory.h"
61 ,
m_trigDec(
"Trig::TrigDecisionTool/TrigDecisionTool")
67 declareInterface<IMonitorToolBase>(
this);
148 return StatusCode::SUCCESS;
171 }
else if (
section == 1 && side == 1) {
173 }
else if (
section == 1 && side == -1) {
195 uint32_t lvl1info = 0;
199 if (
evtStore()->retrieve(eventInfo).isFailure()) {
242 std::ostringstream
ss;
ss.str(
"");
262 if ((lvl1info >>
Trig_b7) & 1) {
265 for (
int exp = 0; exp <
Trig_b7; exp++) {
293 <<
" in TES. No checking if it is collision possible!" );
295 ATH_MSG_INFO(
"Will not try to read this container anymore!" );
306 for (
const TileCell* mbts_cell : *mbts_container) {
307 if (mbts_cell->energy() < 0.27 || TMath::Abs(mbts_cell->time()) < 1.e-5)
continue;
311 timeA += mbts_cell->time();
314 timeC += mbts_cell->time();
319 if (nHitsA > 1 && nHitsC > 1) {
334 <<
" failed! No checking if it is collision possible!" );
335 ATH_MSG_INFO(
"Will not try to read this container anymore!" );
345 for (
const CaloCell* cell : *cell_container) {
352 if (!tile_cell)
continue;
355 double time = tile_cell->
time();
356 double energy = tile_cell->
energy();
358 if (energy < 500.0 || TMath::Abs(time) < 1.e-5)
continue;
372 if (nHitsA > 1 && nHitsC > 1) {
388 for (
const std::string&
label : labels) {
389 axis->SetBinLabel(
bin,
label.c_str());
397 if (nLabels < 0)
return;
398 for (
unsigned int bin = 1;
bin <= (
unsigned int) nLabels; ++
bin) {
399 axis->SetBinLabel(
bin, (labels[
bin - 1]).c_str());
407 if (delta_lb < 1)
return;
408 int Nbins = histo->GetNbinsX();
409 double total_entries = 0.;
411 for (i = 1; i <= Nbins - delta_lb; i++) {
412 double entries = histo->GetBinEntries(i + delta_lb);
413 double content = histo->GetBinContent(i + delta_lb);
415 histo->SetBinEntries(i,
entries);
416 histo->SetBinContent(i, content *
entries);
417 histo->SetBinError(i, content * sqrt(
entries));
420 for (; i <= 100; i++) {
422 histo->SetBinEntries(i, 0.);
423 histo->SetBinContent(i, 0.);
424 histo->SetBinError(i, 0.);
428 histo->SetEntries(total_entries);
#define CHECK(...)
Evaluate an expression and check for errors.
TileContainer< TileCell > TileCellContainer
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
ServiceHandle< StoreGateSvc > & evtStore()
Container class for CaloCell.
Data object for each calorimeter readout cell.
float time() const
get time (data member)
double energy() const
get energy (data member)
uint32_t lumiBlock() const
The current event's luminosity block number.
uint32_t bcid() const
The bunch crossing ID of the event.
@ Tile
The Tile calorimeter.
uint16_t level1TriggerType() const
The Level-1 trigger type.
@ Error
The sub-detector issued an error.
uint32_t eventFlags(EventFlagSubDet subDet) const
Get the event flags for a particular sub-detector.
uint32_t runNumber() const
The current event's run number.
EventFlagErrorState errorState(EventFlagSubDet subDet) const
Get the error state for a particular sub-detector.
uint64_t eventNumber() const
The current event's event number.
std::string label(const std::string &format, int i)
EventInfo_v1 EventInfo
Definition of the latest event info version.