ATLAS Offline Software
HIMonitoringZdcTool.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3  */
4 
5 
7 #include "HIMonitoringZdcTool.h"
10 
11 #include "TStyle.h"
12 
13 #include "LWHists/TH2D_LW.h"
14 
16  HIMonitoringZdcTool(const std::string& type, const std::string& name,
17  const IInterface* parent) : ManagedMonitorToolBase(type, name, parent) {
18 }
19 
21 }
22 
23 // Description: Used for rebooking unmanaged histograms
25  return StatusCode::SUCCESS;
26 }
27 
28 // Description: Used for re-booking managed histograms
31  // book histograms that are only made in the online environment...
32  }
33 
35  // book histograms that are only relevant for cosmics data...
36  }
37 
38  book_hist();
39 
40  return StatusCode::SUCCESS;
41 }
42 
44  StatusCode sc;
45 
46  const xAOD::ZdcModuleContainer* zdcs = 0;
47 
48  sc = evtStore()->retrieve(zdcs, "ZdcModules");
49  if (sc.isFailure()) {
50  ATH_MSG_ERROR("Could not find Zdc");
51  return StatusCode::FAILURE;
52  } else {
53  ATH_MSG_INFO("Zdcs retrieved from StoreGate");
54 // std::cout << "Number of zdcs " << zdcs->size() << std::endl;
55  }
56 
59 
60  for (; zdc_itr != zdc_end; ++zdc_itr) {
61  // removed since using unused amplitudes
62  }
63 
64  return StatusCode::SUCCESS;
65 }
66 
68 {
69  //functionality removed
70  return StatusCode::SUCCESS;
71 }
72 
75  std::string path = "HeavyIon/ZDC";
76 
77  std::stringstream nameEM_HAD1;
78  std::stringstream nameHAD1_HAD2;
79  std::stringstream nameHAD2_HAD3;
80  std::stringstream histnameamp;
81  std::stringstream histnameampG0;
82  std::stringstream histnameampG1;
83  std::stringstream histnameg0d0;
84  std::stringstream histnameg1d0;
85  std::stringstream histnameg0d1;
86  std::stringstream histnameg1d1;
87  std::stringstream nameSumSideAmp;
88  std::stringstream nameSumSideAmpG1;
89  std::stringstream nameSumSideAmpG0;
90  std::stringstream nameSideAC;
91 
92  nameSideAC.str("");
93  nameSideAC << "hSideA_sideC";
94  m_hSideAC = TH2D_LW::create(nameSideAC.str().c_str(), nameSideAC.str().c_str(), 4097, -5, 40965, 4097, -5, 40965);
95  regHist(m_hSideAC, path, run).ignore();
96 /*
97  nameSideAC.str("");
98  nameSideAC<<"h_NEW_SideA_sideC";
99  m_hSideAC_NEW = TH2D_LW::create(nameSideAC.str().c_str(),
100  nameSideAC.str().c_str(),10241,-0.5,10240.5,10241,-0.5,10240.5);
101  regHist(m_hSideAC_NEW, path, run).ignore();
102  */
103  for (int k = 0; k < s_Nside; k++) {
104  nameEM_HAD1.str("");
105  nameEM_HAD1 << "hEM_HAD1_side" << k;
106  m_hEM_HAD1[k] = TH2D_LW::create(nameEM_HAD1.str().c_str(),
107  nameEM_HAD1.str().c_str(), 1025, -5, 10245, 1025, -5, 10245);
108  regHist(m_hEM_HAD1[k], path, run).ignore();
109 /*
110  nameEM_HAD1.str("");
111  nameEM_HAD1<<"h_NEW_EM_HAD1_side"<<k;
112  m_hEM_HAD1_NEW[k] =
113  TH2D_LW::create(nameEM_HAD1.str().c_str(),nameEM_HAD1.str().c_str(),10241,-0.5,10240.5,10241,-0.5,10240.5);
114  regHist(m_hEM_HAD1_NEW[k], path, run).ignore();
115  */
116  nameHAD1_HAD2.str("");
117  nameHAD1_HAD2 << "hHAD1_HAD2_side" << k;
118  m_hHAD1_HAD2[k] = TH2D_LW::create(nameHAD1_HAD2.str().c_str(),
119  nameHAD1_HAD2.str().c_str(), 1025, -5, 10245, 1025, -5, 10245);
120  regHist(m_hHAD1_HAD2[k], path, run).ignore();
121 /*
122  nameHAD1_HAD2.str("");
123  nameHAD1_HAD2<<"h_NEW_HAD1_HAD2_side"<<k;
124  m_hHAD1_HAD2_NEW[k] =
125  TH2D_LW::create(nameHAD1_HAD2.str().c_str(),nameHAD1_HAD2.str().c_str(),10241,-0.5,10240.5,10241,-0.5,10240.5);
126  regHist(m_hHAD1_HAD2_NEW[k], path, run).ignore();
127  */
128  nameHAD2_HAD3.str("");
129  nameHAD2_HAD3 << "hHAD2_HAD3_side" << k;
130  m_hHAD2_HAD3[k] = TH2D_LW::create(nameHAD2_HAD3.str().c_str(),
131  nameHAD2_HAD3.str().c_str(), 1025, -5, 10245, 1025, -5, 10245);
132  regHist(m_hHAD2_HAD3[k], path, run).ignore();
133 /*
134  nameHAD2_HAD3.str("");
135  nameHAD2_HAD3<<"h_NEW_HAD2_HAD3_side"<<k;
136  m_hHAD2_HAD3_NEW[k] =
137  TH2D_LW::create(nameHAD2_HAD3.str().c_str(),nameHAD2_HAD3.str().c_str(),10241,-0.5,10240.5,10241,-0.5,10240.5);
138  regHist(m_hHAD2_HAD3_NEW[k], path, run).ignore();
139  */
140  nameSumSideAmp.str("");
141  nameSumSideAmp << "hSumSideAmp_side" << k;
142  m_hSumSideAmp[k] = new TH1D(nameSumSideAmp.str().c_str(), nameSumSideAmp.str().c_str(), 4097, -5, 40965);
143  regHist(m_hSumSideAmp[k], path, run).ignore();
144 /*
145  nameSumSideAmp.str("");
146  nameSumSideAmp<<"h_NEW_SumSideAmp_side"<<k;
147  hSumSideAmp_NEW[k] = new TH1D(nameSumSideAmp.str().c_str(), nameSumSideAmp.str().c_str(),40961,-0.5,40960.5);
148  regHist(hSumSideAmp_NEW[k], path, run).ignore();
149  */
150  nameSumSideAmpG0.str("");
151  nameSumSideAmpG0 << "hSumSideAmpG0_side" << k;
152  m_hSumSideAmpG0[k] = new TH1D(nameSumSideAmpG0.str().c_str(), nameSumSideAmpG0.str().c_str(), 4097, -0.5, 4096.5);
153  regHist(m_hSumSideAmpG0[k], path, run).ignore();
154 
155  nameSumSideAmpG1.str("");
156  nameSumSideAmpG1 << "hSumSideAmpG1_side" << k;
157  m_hSumSideAmpG1[k] = new TH1D(nameSumSideAmpG1.str().c_str(), nameSumSideAmpG1.str().c_str(), 4097, -0.5, 4096.5);
158  regHist(m_hSumSideAmpG1[k], path, run).ignore();
159 
160  for (int i = 0; i < s_Nmod; i++) {
161  histnameamp.str("");
162  histnameamp << "h_amplitude_mod" << i << "_side" << k;
163  m_hamp[i][k] = new TH1D(histnameamp.str().c_str(), histnameamp.str().c_str(), 1025, -5, 10245);
164  regHist(m_hamp[i][k], path, run).ignore();
165  /*
166  histnameamp.str("");
167  histnameamp<<"h_NEW_amplitude_mod"<<i<<"_side"<<k;
168  m_hamp_NEW[i][k] = new TH1D(histnameamp.str().c_str(), histnameamp.str().c_str(), 10241,-0.5,10240.5);
169  regHist(m_hamp_NEW[i][k], path, run).ignore();
170  */
171  histnameampG0.str("");
172  histnameampG0 << "h_amplitudeG0_mod" << i << "_side" << k;
173  m_hampG0[i][k] = new TH1D(histnameampG0.str().c_str(), histnameampG0.str().c_str(), 1025, -0.5, 1024.5);
174  regHist(m_hampG0[i][k], path, run).ignore();
175 
176  histnameampG1.str("");
177  histnameampG1 << "h_amplitudeG1_mod" << i << "_side" << k;
178  m_hampG1[i][k] = new TH1D(histnameampG1.str().c_str(), histnameampG1.str().c_str(), 1025, -0.5, 1024.5);
179  regHist(m_hampG1[i][k], path, run).ignore();
180  }
181  }
182 }
DataModel_detail::const_iterator
Const iterator class for DataVector/DataList.
Definition: DVLIterator.h:82
athena.path
path
python interpreter configuration --------------------------------------—
Definition: athena.py:126
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
ManagedMonitorToolBase
Provides functionality for users to implement and save histograms, ntuples, and summary data,...
Definition: ManagedMonitorToolBase.h:74
HIMonitoringZdcTool::book_hist
void book_hist()
*** FCal sum Et *** ///
Definition: HIMonitoringZdcTool.cxx:74
TH2D_LW.h
HIMonitoringZdcTool::m_hampG1
TH1D * m_hampG1[s_Nmod][s_Nside]
Definition: HIMonitoringZdcTool.h:47
AthenaMonManager::cosmics
@ cosmics
Definition: AthenaMonManager.h:58
TH1D
Definition: rootspy.cxx:342
HIMonitoringZdcTool::m_hSumSideAmpG1
TH1D * m_hSumSideAmpG1[s_Nside]
Definition: HIMonitoringZdcTool.h:51
HIMonitoringZdcTool::bookHistogramsRecurrent
virtual StatusCode bookHistogramsRecurrent()
An inheriting class should either override this function, bookHists() or bookHistograms().
Definition: HIMonitoringZdcTool.cxx:24
ManagedMonitorToolBase::m_dataType
AthenaMonManager::DataType_t m_dataType
Definition: ManagedMonitorToolBase.h:901
HIMonitoringZdcTool::~HIMonitoringZdcTool
virtual ~HIMonitoringZdcTool()
Definition: HIMonitoringZdcTool.cxx:20
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
HIMonitoringZdcTool::m_hSideAC
TH2D_LW * m_hSideAC
Definition: HIMonitoringZdcTool.h:55
AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:85
HIMonitoringZdcTool::m_hHAD1_HAD2
TH2D_LW * m_hHAD1_HAD2[s_Nside]
Definition: HIMonitoringZdcTool.h:53
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
lumiFormat.i
int i
Definition: lumiFormat.py:92
HIMonitoringZdcTool::m_hampG0
TH1D * m_hampG0[s_Nmod][s_Nside]
Definition: HIMonitoringZdcTool.h:46
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthenaMonManager::online
@ online
Definition: AthenaMonManager.h:49
test_pyathena.parent
parent
Definition: test_pyathena.py:15
AthenaMonManager.h
run
Definition: run.py:1
HIMonitoringZdcTool::m_hSumSideAmpG0
TH1D * m_hSumSideAmpG0[s_Nside]
Definition: HIMonitoringZdcTool.h:50
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
ManagedMonitorToolBase::m_environment
AthenaMonManager::Environment_t m_environment
Definition: ManagedMonitorToolBase.h:902
HIMonitoringZdcTool::procHistograms
virtual StatusCode procHistograms()
An inheriting class should either override this function or finalHists().
Definition: HIMonitoringZdcTool.cxx:67
HIMonitoringZdcTool::m_hHAD2_HAD3
TH2D_LW * m_hHAD2_HAD3[s_Nside]
Definition: HIMonitoringZdcTool.h:54
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
HIMonitoringZdcTool::HIMonitoringZdcTool
HIMonitoringZdcTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition: HIMonitoringZdcTool.cxx:16
HIMonitoringZdcTool::s_Nmod
static constexpr int s_Nmod
Definition: HIMonitoringZdcTool.h:35
HIMonitoringZdcTool.h
DataVector::end
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
HIMonitoringZdcTool::fillHistograms
virtual StatusCode fillHistograms()
An inheriting class should either override this function or fillHists().
Definition: HIMonitoringZdcTool.cxx:43
HIMonitoringZdcTool::m_hamp
TH1D * m_hamp[s_Nmod][s_Nside]
histograms
Definition: HIMonitoringZdcTool.h:44
ZdcModule.h
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
HIMonitoringZdcTool::m_hSumSideAmp
TH1D * m_hSumSideAmp[s_Nside]
Definition: HIMonitoringZdcTool.h:48
HIMonitoringZdcTool::m_hEM_HAD1
TH2D_LW * m_hEM_HAD1[s_Nside]
Definition: HIMonitoringZdcTool.h:52
HIMonitoringZdcTool::s_Nside
static constexpr int s_Nside
Definition: HIMonitoringZdcTool.h:38
TH2D_LW::create
static TH2D_LW * create(const char *name, const char *title, unsigned nbinsx, const double &xmin, const double &xmax, unsigned nbinsy, const double &ymin, const double &ymax)
Definition: TH2D_LW.cxx:33
ZdcModuleContainer.h
ManagedMonitorToolBase::regHist
virtual StatusCode regHist(TH1 *h, const std::string &system, Interval_t interval, MgmtAttr_t histo_mgmt=ATTRIB_MANAGED, const std::string &chain="", const std::string &merge="")
Registers a TH1 (including TH2, TH3, and TProfile) to be included in the output stream using logical ...
Definition: ManagedMonitorToolBase.cxx:1454
DataVector::begin
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
fitman.k
k
Definition: fitman.py:528
HIMonitoringZdcTool::bookHistograms
virtual StatusCode bookHistograms()
An inheriting class should either override this function or bookHists().
Definition: HIMonitoringZdcTool.cxx:29