ATLAS Offline Software
RPC_RDOAnalysis.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 
6 #include "RPC_RDOAnalysis.h"
7 #include "StoreGate/ReadHandle.h"
8 
9 #include "TTree.h"
10 #include "TString.h"
11 
12 #include <algorithm>
13 #include <math.h>
14 #include <functional>
15 #include <iostream>
16 
17 RPC_RDOAnalysis::RPC_RDOAnalysis(const std::string& name, ISvcLocator *pSvcLocator)
18  : AthAlgorithm(name, pSvcLocator)
19  , m_inputKey("RPCPAD")
20  , m_inputTruthKey("RPC_SDO")
21  , m_rpcID(0)
22  , m_status(0)
23  , m_err(0)
24  , m_onlineID(0)
25  , m_lvl1ID(0)
26  , m_bcID(0)
27  , m_sector(0)
28  , m_coinRpcID(0)
29  , m_coinOnID(0)
30  , m_coinCrc(0)
31  , m_coinFel1ID(0)
32  , m_coinFebcID(0)
33  , m_firedBcID(0)
34  , m_firedTime(0)
35  , m_firedIjk(0)
36  , m_firedChan(0)
37  , m_firedOvl(0)
38  , m_firedThr(0)
39  , m_sdoID(0)
40  , m_sdoWord(0)
41  , m_xPos(0)
42  , m_yPos(0)
43  , m_zPos(0)
44  , m_barcode(0)
45  , m_eventIndex(0)
46  , m_radius(0)
47  , m_localZ(0)
48  , m_barcode_vec(0)
49  , m_eventIndex_vec(0)
50  , m_radius_vec(0)
51  , m_localZ_vec(0)
52 
53  , m_h_rpcID(0)
54  , m_h_status(0)
55  , m_h_err(0)
56  , m_h_onlineID(0)
57  , m_h_lvl1ID(0)
58  , m_h_bcID(0)
59  , m_h_sector(0)
60  , m_h_coinRpcID(0)
61  , m_h_coinOnID(0)
62  , m_h_coinCrc(0)
63  , m_h_coinFel1ID(0)
64  , m_h_coinFebcID(0)
65  , m_h_firedBcID(0)
66  , m_h_firedTime(0)
67  , m_h_firedIjk(0)
68  , m_h_firedChan(0)
69  , m_h_firedOvl(0)
70  , m_h_firedThr(0)
71  , m_h_sdoID(0)
72  , m_h_sdoWord(0)
73  , m_h_xPos(0)
74  , m_h_yPos(0)
75  , m_h_zPos(0)
76  , m_h_barcode(0)
77  , m_h_eventIndex(0)
78  , m_h_radius(0)
79  , m_h_localZ(0)
80 
81  , m_tree(0)
82  , m_ntupleFileName("/ntuples/file1")
83  , m_ntupleDirName("/RPC_RDOAnalysis/")
84  , m_ntupleTreeName("RPC_RDOAna")
85  , m_path("/RPC_RDOAnalysis/")
86  , m_thistSvc("THistSvc", name)
87 {
88  declareProperty("InputKey", m_inputKey);
89  declareProperty("InputTruthKey", m_inputTruthKey);
90  declareProperty("NtupleFileName", m_ntupleFileName);
91  declareProperty("NtupleDirectoryName", m_ntupleDirName);
92  declareProperty("NtupleTreeName", m_ntupleTreeName);
93  declareProperty("HistPath", m_path);
94 }
95 
97  ATH_MSG_DEBUG( "Initializing RPC_RDOAnalysis" );
98 
99  // This will check that the properties were initialized
100  // properly by job configuration.
103 
104  ATH_CHECK(m_thistSvc.retrieve());
105 
106  m_tree = new TTree(TString(m_ntupleTreeName), "RPC_RDOAna");
107  std::string fullNtupleName = m_ntupleFileName + m_ntupleDirName + m_ntupleTreeName;
108  ATH_CHECK(m_thistSvc->regTree(fullNtupleName, m_tree));
109  if (m_tree) {
110  m_tree->Branch("rpcID", &m_rpcID);
111  m_tree->Branch("status", &m_status);
112  m_tree->Branch("err", &m_err);
113  m_tree->Branch("onlineID", &m_onlineID);
114  m_tree->Branch("lvl1ID", &m_lvl1ID);
115  m_tree->Branch("bcID", &m_bcID);
116  m_tree->Branch("sector", &m_sector);
117  m_tree->Branch("coinRpcID", &m_coinRpcID);
118  m_tree->Branch("coinOnID", &m_coinOnID);
119  m_tree->Branch("coinCrc", &m_coinCrc);
120  m_tree->Branch("coinFel1ID", &m_coinFel1ID);
121  m_tree->Branch("coinFebcID", &m_coinFebcID);
122  m_tree->Branch("firedBcID", &m_firedBcID);
123  m_tree->Branch("firedTime", &m_firedTime);
124  m_tree->Branch("firedIjk", &m_firedIjk);
125  m_tree->Branch("firedChan", &m_firedChan);
126  m_tree->Branch("firedOvl", &m_firedOvl);
127  m_tree->Branch("firedThr", &m_firedThr);
128  m_tree->Branch("sdoID", &m_sdoID);
129  m_tree->Branch("sdoWord", &m_sdoWord);
130  m_tree->Branch("xPos", &m_xPos);
131  m_tree->Branch("yPos", &m_yPos);
132  m_tree->Branch("zPos", &m_zPos);
133  m_tree->Branch("barcode", &m_barcode);
134  m_tree->Branch("eventIndex", &m_eventIndex);
135  m_tree->Branch("radius", &m_radius);
136  m_tree->Branch("localZ", &m_localZ);
137  m_tree->Branch("barcode_vec", &m_barcode_vec);
138  m_tree->Branch("eventIndex_vec", &m_eventIndex_vec);
139  m_tree->Branch("radius_vec", &m_radius_vec);
140  m_tree->Branch("localZ_vec", &m_localZ_vec);
141  }
142  else {
143  ATH_MSG_ERROR("No tree found!");
144  }
145 
146  // HISTOGRAMS
147  m_h_rpcID = new TH1F("h_rpcID", "RPC Pad ID", 100, 0, 1e19);
148  m_h_rpcID->StatOverflows();
149  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_rpcID->GetName(), m_h_rpcID));
150 
151  m_h_status = new TH1F("h_status", "RPC Pad Status", 100, 0, 10);
152  m_h_status->StatOverflows();
153  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_status->GetName(), m_h_status));
154 
155  m_h_err = new TH1F("h_err", "RPC Pad error code", 100, 0, 10);
156  m_h_err->StatOverflows();
157  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_err->GetName(), m_h_err));
158 
159  m_h_onlineID = new TH1F("h_onlineID", "RPC Pad online ID", 100, 0, 10);
160  m_h_onlineID->StatOverflows();
161  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_onlineID->GetName(), m_h_onlineID));
162 
163  m_h_lvl1ID = new TH1F("h_lvl1ID", "RPC Pad LVL1 ID", 100, 0, 10);
164  m_h_lvl1ID->StatOverflows();
165  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_lvl1ID->GetName(), m_h_lvl1ID));
166 
167  m_h_bcID = new TH1F("h_bcID", "RPC Pad BCID", 100, 0, 10);
168  m_h_bcID->StatOverflows();
169  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_bcID->GetName(), m_h_bcID));
170 
171  m_h_sector = new TH1F("h_sector", "RPC Pad Sector", 100, 0, 75);
172  m_h_sector->StatOverflows();
173  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_sector->GetName(), m_h_sector));
174 
175  m_h_coinRpcID = new TH1F("h_coinRpcID", "CM Pad ID", 100, 0, 1e19);
176  m_h_coinRpcID->StatOverflows();
177  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_coinRpcID->GetName(), m_h_coinRpcID));
178 
179  m_h_coinOnID = new TH1F("h_coinOnID", "CM Online ID", 100, 0, 10);
180  m_h_coinOnID->StatOverflows();
181  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_coinOnID->GetName(), m_h_coinOnID));
182 
183  m_h_coinCrc = new TH1F("h_coinCrc", "CM CRC", 100, 0, 300);
184  m_h_coinCrc->StatOverflows();
185  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_coinCrc->GetName(), m_h_coinCrc));
186 
187  m_h_coinFel1ID = new TH1F("h_coinFel1ID", "CM FEL1ID", 100, 0, 10);
188  m_h_coinFel1ID->StatOverflows();
189  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_coinFel1ID->GetName(), m_h_coinFel1ID));
190 
191  m_h_coinFebcID = new TH1F("h_coinFebcID", "CM FEBCID", 100, 0, 10);
192  m_h_coinFebcID->StatOverflows();
193  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_coinFebcID->GetName(), m_h_coinFebcID));
194 
195  m_h_firedBcID = new TH1F("h_firedBcID", "Fired Channel BCID", 100, 0, 10);
196  m_h_firedBcID->StatOverflows();
197  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_firedBcID->GetName(), m_h_firedBcID));
198 
199  m_h_firedTime = new TH1F("h_firedTime", "Fired Channel time", 100, 0, 10);
200  m_h_firedTime->StatOverflows();
201  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_firedTime->GetName(), m_h_firedTime));
202 
203  m_h_firedIjk = new TH1F("h_firedIjk", "Fired Channel ijk", 100, 0, 10);
204  m_h_firedIjk->StatOverflows();
205  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_firedIjk->GetName(), m_h_firedIjk));
206 
207  m_h_firedChan = new TH1F("h_firedChan", "Fired Channel number", 100, 0, 35);
208  m_h_firedChan->StatOverflows();
209  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_firedChan->GetName(), m_h_firedChan));
210 
211  m_h_firedOvl = new TH1F("h_firedOvl", "Fired Channel overlap", 100, 0, 10);
212  m_h_firedOvl->StatOverflows();
213  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_firedOvl->GetName(), m_h_firedOvl));
214 
215  m_h_firedThr = new TH1F("h_firedThr", "Fired Channel threshold", 100, 0, 5);
216  m_h_firedThr->StatOverflows();
217  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_firedThr->GetName(), m_h_firedThr));
218 
219  m_h_sdoID = new TH1F("h_sdoID", "sdoID", 100, 0, 1e19);
220  m_h_sdoID->StatOverflows();
221  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_sdoID->GetName(), m_h_sdoID));
222 
223  m_h_sdoWord = new TH1F("h_sdoWord", "sdoWord", 100, 0, 10);
224  m_h_sdoWord->StatOverflows();
225  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_sdoWord->GetName(), m_h_sdoWord));
226 
227  m_h_xPos = new TH1F("h_xPos", "Global x-position (SDO)", 100, -15000, 15000);
228  m_h_xPos->StatOverflows();
229  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_xPos->GetName(), m_h_xPos));
230 
231  m_h_yPos = new TH1F("h_yPos", "Global y-position (SDO)", 100, -15000, 15000);
232  m_h_yPos->StatOverflows();
233  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_yPos->GetName(), m_h_yPos));
234 
235  m_h_zPos = new TH1F("h_zPos", "Global z-position (SDO)", 100, -15000, 15000);
236  m_h_zPos->StatOverflows();
237  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_zPos->GetName(), m_h_zPos));
238 
239  m_h_barcode = new TH1F("h_barcode", "Barcode (SDO)", 100, 0, 2.2e9);
240  m_h_barcode->StatOverflows();
241  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_barcode->GetName(), m_h_barcode));
242 
243  m_h_eventIndex = new TH1F("h_eventIndex", "Event index (SDO)", 100, 0, 1000);
244  m_h_eventIndex->StatOverflows();
245  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_eventIndex->GetName(), m_h_eventIndex));
246 
247  m_h_radius = new TH1F("h_radius", "Radius (SDO)", 100, 0, 1);
248  m_h_radius->StatOverflows();
249  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_radius->GetName(), m_h_radius));
250 
251  m_h_localZ = new TH1F("h_localZ", "Local z-position (SDO)", 100, -250, 250);
252  m_h_localZ->StatOverflows();
253  ATH_CHECK(m_thistSvc->regHist(m_path + m_h_localZ->GetName(), m_h_localZ));
254 
255  return StatusCode::SUCCESS;
256 }
257 
259  ATH_MSG_DEBUG( "In RPC_RDOAnalysis::execute()" );
260 
261  m_rpcID->clear();
262  m_status->clear();
263  m_err->clear();
264  m_onlineID->clear();
265  m_lvl1ID->clear();
266  m_bcID->clear();
267  m_sector->clear();
268  m_coinRpcID->clear();
269  m_coinOnID->clear();
270  m_coinCrc->clear();
271  m_coinFel1ID->clear();
272  m_coinFebcID->clear();
273  m_firedBcID->clear();
274  m_firedTime->clear();
275  m_firedIjk->clear();
276  m_firedChan->clear();
277  m_firedOvl->clear();
278  m_firedThr->clear();
279  m_sdoID->clear();
280  m_sdoWord->clear();
281  m_xPos->clear();
282  m_yPos->clear();
283  m_zPos->clear();
284  m_barcode->clear();
285  m_eventIndex->clear();
286  m_radius->clear();
287  m_localZ->clear();
288  m_barcode_vec->clear();
289  m_eventIndex_vec->clear();
290  m_radius_vec->clear();
291  m_localZ_vec->clear();
292 
293  // RPC Pad
295  if(p_RPCpadCont.isValid()) {
296  // loop over RPC pad container
297  RpcPadContainer::const_iterator rpc_itr(p_RPCpadCont->begin());
298  const RpcPadContainer::const_iterator rpc_end(p_RPCpadCont->end());
299  for ( ; rpc_itr != rpc_end; ++rpc_itr ) {
300  const Identifier rpcID((*rpc_itr)->identify());
301  const unsigned short int padStat((*rpc_itr)->status());
302  const unsigned short int padErr((*rpc_itr)->errorCode());
303  const unsigned short int padOnID((*rpc_itr)->onlineId());
304  const unsigned short int padLVL1ID((*rpc_itr)->lvl1Id());
305  const unsigned short int padBCID((*rpc_itr)->bcId());
306  const int padSec((*rpc_itr)->sector());
307 
308  const unsigned long long rpcID_int = rpcID.get_compact();
309  m_rpcID->push_back(rpcID_int);
310  m_status->push_back(padStat);
311  m_err->push_back(padErr);
312  m_onlineID->push_back(padOnID);
313  m_lvl1ID->push_back(padLVL1ID);
314  m_bcID->push_back(padBCID);
315  m_sector->push_back(padSec);
316 
317  m_h_rpcID->Fill(rpcID_int);
318  m_h_status->Fill(padStat);
319  m_h_err->Fill(padErr);
320  m_h_onlineID->Fill(padOnID);
321  m_h_lvl1ID->Fill(padLVL1ID);
322  m_h_bcID->Fill(padBCID);
323  m_h_sector->Fill(padSec);
324 
325  // RPC Coincidence Matrix
326  const RpcPad* p_rpcCoin(*rpc_itr);
327  RpcPad::const_iterator rpcCoin_itr(p_rpcCoin->begin());
328  const RpcPad::const_iterator rpcCoin_end(p_rpcCoin->end());
329  for ( ; rpcCoin_itr != rpcCoin_end; ++rpcCoin_itr ) {
330  const Identifier coinRpcID((*rpcCoin_itr)->identify());
331  const unsigned short int coinOnID((*rpcCoin_itr)->onlineId());
332  const unsigned short int coinCrc((*rpcCoin_itr)->crc());
333  const unsigned short int coinFel1ID((*rpcCoin_itr)->fel1Id());
334  const unsigned short int coinFebcID((*rpcCoin_itr)->febcId());
335 
336  const unsigned long long coinRpcID_int = coinRpcID.get_compact();
337  m_coinRpcID->push_back(coinRpcID_int);
338  m_coinOnID->push_back(coinOnID);
339  m_coinCrc->push_back(coinCrc);
340  m_coinFel1ID->push_back(coinFel1ID);
341  m_coinFebcID->push_back(coinFebcID);
342 
343  m_h_coinRpcID->Fill(coinRpcID_int);
344  m_h_coinOnID->Fill(coinOnID);
345  m_h_coinCrc->Fill(coinCrc);
346  m_h_coinFel1ID->Fill(coinFel1ID);
347  m_h_coinFebcID->Fill(coinFebcID);
348 
349  // RPC Fired Channel
350  const RpcCoinMatrix *p_rpcFired(*rpcCoin_itr);
351  RpcCoinMatrix::const_iterator rpcFired_itr(p_rpcFired->begin());
352  const RpcCoinMatrix::const_iterator rpcFired_end(p_rpcFired->end());
353  for ( ; rpcFired_itr != rpcFired_end; ++rpcFired_itr ) {
354  const unsigned short int firedBcID((*rpcFired_itr)->bcid());
355  const unsigned short int firedTime((*rpcFired_itr)->time());
356  const unsigned short int firedIjk((*rpcFired_itr)->ijk());
357  const unsigned short int firedChan((*rpcFired_itr)->channel());
358  const unsigned short int firedOvl((*rpcFired_itr)->ovl());
359  const unsigned short int firedThr((*rpcFired_itr)->thr());
360 
361  m_firedBcID->push_back(firedBcID);
362  m_firedTime->push_back(firedTime);
363  m_firedIjk->push_back(firedIjk);
364  m_firedChan->push_back(firedChan);
365  m_firedOvl->push_back(firedOvl);
366  m_firedThr->push_back(firedThr);
367 
368  m_h_firedBcID->Fill(firedBcID);
369  m_h_firedTime->Fill(firedTime);
370  m_h_firedIjk->Fill(firedIjk);
371  m_h_firedChan->Fill(firedChan);
372  m_h_firedOvl->Fill(firedOvl);
373  m_h_firedThr->Fill(firedThr);
374 
375  }
376  }
377  }
378  }
379 
380  // SimData
382  if(simDataMapRPC.isValid()) {
383  MuonSimDataCollection::const_iterator sdo_itr(simDataMapRPC->begin());
384  const MuonSimDataCollection::const_iterator sdo_end(simDataMapRPC->end());
385 
386  std::vector<int> barcode_vec;
387  std::vector<int> eventIndex_vec;
388  std::vector<double> radius_vec;
389  std::vector<float> localZ_vec;
390  for ( ; sdo_itr != sdo_end; ++sdo_itr ) {
391  const Identifier sdoID((*sdo_itr).first);
392  const MuonSimData& sdo((*sdo_itr).second);
393 
394  const unsigned long long sdoID_int = sdoID.get_compact();
395  const int sdoWord(sdo.word());
396  const Amg::Vector3D gPos(sdo.globalPosition());
397  const float xPos(gPos.x());
398  const float yPos(gPos.y());
399  const float zPos(gPos.z());
400 
401  m_sdoID->push_back(sdoID_int);
402  m_sdoWord->push_back(sdoWord);
403  m_xPos->push_back(xPos);
404  m_yPos->push_back(yPos);
405  m_zPos->push_back(zPos);
406 
407  m_h_sdoID->Fill(sdoID_int);
408  m_h_sdoWord->Fill(sdoWord);
409  m_h_xPos->Fill(xPos);
410  m_h_yPos->Fill(yPos);
411  m_h_zPos->Fill(zPos);
412 
413  // loop over deposits
414  const std::vector<MuonSimData::Deposit>& deposits = sdo.getdeposits();
415  std::vector<MuonSimData::Deposit>::const_iterator dep_itr(deposits.begin());
416  const std::vector<MuonSimData::Deposit>::const_iterator dep_end(deposits.end());
417  for ( ; dep_itr != dep_end; ++dep_itr ) {
418  const HepMcParticleLink& particleLink = (*dep_itr).first;
419  const int bar(HepMC::barcode(particleLink)); // FIXME barcode-based
420  const int eventIx(particleLink.eventIndex());
421  const MuonMCData& data = (*dep_itr).second;
422  const double radius(data.firstEntry());
423  const float localZ(data.secondEntry());
424 
425  m_barcode->push_back(bar);
426  m_eventIndex->push_back(eventIx);
427  m_radius->push_back(radius);
428  m_localZ->push_back(localZ);
429 
430  m_h_barcode->Fill(bar);
431  m_h_eventIndex->Fill(eventIx);
432  m_h_radius->Fill(radius);
433  m_h_localZ->Fill(localZ);
434 
435  barcode_vec.push_back(bar);
436  eventIndex_vec.push_back(eventIx);
437  radius_vec.push_back(radius);
438  localZ_vec.push_back(localZ);
439  }
440  m_barcode_vec->push_back(barcode_vec);
441  m_eventIndex_vec->push_back(eventIndex_vec);
442  m_radius_vec->push_back(radius_vec);
443  m_localZ_vec->push_back(localZ_vec);
444  barcode_vec.clear();
445  eventIndex_vec.clear();
446  radius_vec.clear();
447  localZ_vec.clear();
448  }
449  }
450 
451  if (m_tree) {
452  m_tree->Fill();
453  }
454 
455  return StatusCode::SUCCESS;
456 }
457 
459  return StatusCode::SUCCESS;
460 }
RPC_RDOAnalysis::m_firedChan
std::vector< unsigned short int > * m_firedChan
Definition: RPC_RDOAnalysis.h:54
RPC_RDOAnalysis::m_bcID
std::vector< unsigned short int > * m_bcID
Definition: RPC_RDOAnalysis.h:42
data
char data[hepevt_bytes_allocation_ATLAS]
Definition: HepEvt.cxx:11
RPC_RDOAnalysis::m_zPos
std::vector< float > * m_zPos
Definition: RPC_RDOAnalysis.h:63
MuonSimData::word
int word() const
Definition: MuonSimData.h:89
RPC_RDOAnalysis::m_h_coinCrc
TH1 * m_h_coinCrc
Definition: RPC_RDOAnalysis.h:84
RPC_RDOAnalysis::m_h_coinOnID
TH1 * m_h_coinOnID
Definition: RPC_RDOAnalysis.h:83
DataModel_detail::const_iterator
Const iterator class for DataVector/DataList.
Definition: DVLIterator.h:82
RPC_RDOAnalysis::m_h_firedBcID
TH1 * m_h_firedBcID
Definition: RPC_RDOAnalysis.h:88
RPC_RDOAnalysis::m_h_status
TH1 * m_h_status
Definition: RPC_RDOAnalysis.h:75
RPC_RDOAnalysis::m_path
std::string m_path
Definition: RPC_RDOAnalysis.h:109
RPC_RDOAnalysis::m_sector
std::vector< int > * m_sector
Definition: RPC_RDOAnalysis.h:43
RPC_RDOAnalysis::m_barcode
std::vector< int > * m_barcode
Definition: RPC_RDOAnalysis.h:65
RPC_RDOAnalysis::m_h_firedThr
TH1 * m_h_firedThr
Definition: RPC_RDOAnalysis.h:93
RPC_RDOAnalysis::m_localZ_vec
std::vector< std::vector< float > > * m_localZ_vec
Definition: RPC_RDOAnalysis.h:72
RPC_RDOAnalysis::initialize
virtual StatusCode initialize() override final
Definition: RPC_RDOAnalysis.cxx:96
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:70
AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
RPC_RDOAnalysis::m_ntupleTreeName
std::string m_ntupleTreeName
Definition: RPC_RDOAnalysis.h:108
RPC_RDOAnalysis::m_h_barcode
TH1 * m_h_barcode
Definition: RPC_RDOAnalysis.h:100
RPC_RDOAnalysis::m_coinFel1ID
std::vector< unsigned short int > * m_coinFel1ID
Definition: RPC_RDOAnalysis.h:48
RPC_RDOAnalysis::m_h_err
TH1 * m_h_err
Definition: RPC_RDOAnalysis.h:76
RPC_RDOAnalysis::m_h_yPos
TH1 * m_h_yPos
Definition: RPC_RDOAnalysis.h:98
RPC_RDOAnalysis::m_eventIndex_vec
std::vector< std::vector< int > > * m_eventIndex_vec
Definition: RPC_RDOAnalysis.h:70
Identifier::get_compact
value_type get_compact() const
Get the compact id.
MuonSimData::getdeposits
const std::vector< Deposit > & getdeposits() const
Definition: MuonSimData.h:94
RPC_RDOAnalysis::m_h_coinFel1ID
TH1 * m_h_coinFel1ID
Definition: RPC_RDOAnalysis.h:85
RPC_RDOAnalysis::m_thistSvc
ServiceHandle< ITHistSvc > m_thistSvc
Definition: RPC_RDOAnalysis.h:110
RPC_RDOAnalysis::m_err
std::vector< unsigned short int > * m_err
Definition: RPC_RDOAnalysis.h:39
RpcCoinMatrix
Definition: RpcCoinMatrix.h:20
RPC_RDOAnalysis::m_h_radius
TH1 * m_h_radius
Definition: RPC_RDOAnalysis.h:102
RPC_RDOAnalysis::m_eventIndex
std::vector< int > * m_eventIndex
Definition: RPC_RDOAnalysis.h:66
RPC_RDOAnalysis::m_status
std::vector< unsigned short int > * m_status
Definition: RPC_RDOAnalysis.h:38
RPC_RDOAnalysis::m_h_firedOvl
TH1 * m_h_firedOvl
Definition: RPC_RDOAnalysis.h:92
RPC_RDOAnalysis::m_h_onlineID
TH1 * m_h_onlineID
Definition: RPC_RDOAnalysis.h:77
RPC_RDOAnalysis::m_ntupleDirName
std::string m_ntupleDirName
Definition: RPC_RDOAnalysis.h:107
RPC_RDOAnalysis::m_tree
TTree * m_tree
Definition: RPC_RDOAnalysis.h:105
RPC_RDOAnalysis::m_sdoWord
std::vector< int > * m_sdoWord
Definition: RPC_RDOAnalysis.h:60
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
RPC_RDOAnalysis::m_firedThr
std::vector< unsigned short int > * m_firedThr
Definition: RPC_RDOAnalysis.h:56
RPC_RDOAnalysis::m_h_firedChan
TH1 * m_h_firedChan
Definition: RPC_RDOAnalysis.h:91
RPC_RDOAnalysis::m_firedBcID
std::vector< unsigned short int > * m_firedBcID
Definition: RPC_RDOAnalysis.h:51
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
RPC_RDOAnalysis::m_yPos
std::vector< float > * m_yPos
Definition: RPC_RDOAnalysis.h:62
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
HepMC::barcode
int barcode(const T *p)
Definition: Barcode.h:16
RPC_RDOAnalysis::m_ntupleFileName
std::string m_ntupleFileName
Definition: RPC_RDOAnalysis.h:106
m_path
std::string m_path
the path being used
Definition: OutputStreamData.cxx:88
RPC_RDOAnalysis::finalize
virtual StatusCode finalize() override final
Definition: RPC_RDOAnalysis.cxx:458
RPC_RDOAnalysis::m_h_firedIjk
TH1 * m_h_firedIjk
Definition: RPC_RDOAnalysis.h:90
RPC_RDOAnalysis::m_sdoID
std::vector< unsigned long long > * m_sdoID
Definition: RPC_RDOAnalysis.h:59
RPC_RDOAnalysis::m_coinCrc
std::vector< unsigned short int > * m_coinCrc
Definition: RPC_RDOAnalysis.h:47
RPC_RDOAnalysis::m_h_lvl1ID
TH1 * m_h_lvl1ID
Definition: RPC_RDOAnalysis.h:78
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
IdentifiableContainerMT::end
const_iterator end() const
return const_iterator for end of container
Definition: IdentifiableContainerMT.h:239
RPC_RDOAnalysis::m_h_rpcID
TH1 * m_h_rpcID
Definition: RPC_RDOAnalysis.h:74
IdentifiableContainerMT::const_iterator
Definition: IdentifiableContainerMT.h:79
IdentifiableContainerMT::begin
const_iterator begin() const
return const_iterator for first entry
Definition: IdentifiableContainerMT.h:233
SG::VarHandleKey::initialize
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:103
RPC_RDOAnalysis::m_coinRpcID
std::vector< unsigned long long > * m_coinRpcID
Definition: RPC_RDOAnalysis.h:45
AthAlgorithm
Definition: AthAlgorithm.h:47
SG::ReadHandle::isValid
virtual bool isValid() override final
Can the handle be successfully dereferenced?
RPC_RDOAnalysis::m_h_firedTime
TH1 * m_h_firedTime
Definition: RPC_RDOAnalysis.h:89
RPC_RDOAnalysis::m_firedTime
std::vector< unsigned short int > * m_firedTime
Definition: RPC_RDOAnalysis.h:52
RPC_RDOAnalysis::m_h_coinFebcID
TH1 * m_h_coinFebcID
Definition: RPC_RDOAnalysis.h:86
RPC_RDOAnalysis::m_inputKey
SG::ReadHandleKey< RpcPadContainer > m_inputKey
Definition: RPC_RDOAnalysis.h:35
python.SystemOfUnits.bar
int bar
Definition: SystemOfUnits.py:188
RPC_RDOAnalysis.h
RPC_RDOAnalysis::m_h_sdoWord
TH1 * m_h_sdoWord
Definition: RPC_RDOAnalysis.h:96
RPC_RDOAnalysis::m_h_xPos
TH1 * m_h_xPos
Definition: RPC_RDOAnalysis.h:97
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
RPC_RDOAnalysis::m_h_localZ
TH1 * m_h_localZ
Definition: RPC_RDOAnalysis.h:103
RPC_RDOAnalysis::m_radius_vec
std::vector< std::vector< double > > * m_radius_vec
Definition: RPC_RDOAnalysis.h:71
RPC_RDOAnalysis::m_coinFebcID
std::vector< unsigned short int > * m_coinFebcID
Definition: RPC_RDOAnalysis.h:49
MuonSimData
Definition: MuonSimData.h:62
RPC_RDOAnalysis::m_firedOvl
std::vector< unsigned short int > * m_firedOvl
Definition: RPC_RDOAnalysis.h:55
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
ParticleGun_SamplingFraction.radius
radius
Definition: ParticleGun_SamplingFraction.py:96
RpcPad
Definition: RpcPad.h:21
DataVector::end
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
RPC_RDOAnalysis::m_onlineID
std::vector< unsigned short int > * m_onlineID
Definition: RPC_RDOAnalysis.h:40
RPC_RDOAnalysis::m_h_coinRpcID
TH1 * m_h_coinRpcID
Definition: RPC_RDOAnalysis.h:82
RPC_RDOAnalysis::m_firedIjk
std::vector< unsigned short int > * m_firedIjk
Definition: RPC_RDOAnalysis.h:53
LVL1::gFEXPos
Definition: gFexPos.h:11
RPC_RDOAnalysis::m_h_sdoID
TH1 * m_h_sdoID
Definition: RPC_RDOAnalysis.h:95
RPC_RDOAnalysis::m_rpcID
std::vector< unsigned long long > * m_rpcID
Definition: RPC_RDOAnalysis.h:37
python.TrigEgammaMonitorHelper.TH1F
def TH1F(name, title, nxbins, bins_par2, bins_par3=None, path='', **kwargs)
Definition: TrigEgammaMonitorHelper.py:24
RPC_RDOAnalysis::m_h_sector
TH1 * m_h_sector
Definition: RPC_RDOAnalysis.h:80
RPC_RDOAnalysis::m_barcode_vec
std::vector< std::vector< int > > * m_barcode_vec
Definition: RPC_RDOAnalysis.h:69
RPC_RDOAnalysis::m_h_eventIndex
TH1 * m_h_eventIndex
Definition: RPC_RDOAnalysis.h:101
ReadHandle.h
Handle class for reading from StoreGate.
RPC_RDOAnalysis::m_lvl1ID
std::vector< unsigned short int > * m_lvl1ID
Definition: RPC_RDOAnalysis.h:41
RPC_RDOAnalysis::m_coinOnID
std::vector< unsigned short int > * m_coinOnID
Definition: RPC_RDOAnalysis.h:46
RPC_RDOAnalysis::RPC_RDOAnalysis
RPC_RDOAnalysis(const std::string &name, ISvcLocator *pSvcLocator)
Definition: RPC_RDOAnalysis.cxx:17
RPC_RDOAnalysis::execute
virtual StatusCode execute() override final
Definition: RPC_RDOAnalysis.cxx:258
RPC_RDOAnalysis::m_h_zPos
TH1 * m_h_zPos
Definition: RPC_RDOAnalysis.h:99
RPC_RDOAnalysis::m_h_bcID
TH1 * m_h_bcID
Definition: RPC_RDOAnalysis.h:79
RPC_RDOAnalysis::m_inputTruthKey
SG::ReadHandleKey< MuonSimDataCollection > m_inputTruthKey
Definition: RPC_RDOAnalysis.h:36
RPC_RDOAnalysis::m_localZ
std::vector< float > * m_localZ
Definition: RPC_RDOAnalysis.h:68
RPC_RDOAnalysis::m_radius
std::vector< double > * m_radius
Definition: RPC_RDOAnalysis.h:67
DataVector::begin
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
MuonMCData
Definition: MuonSimData.h:42
MuonSimData::globalPosition
const Amg::Vector3D globalPosition() const
Definition: MuonSimData.h:113
RPC_RDOAnalysis::m_xPos
std::vector< float > * m_xPos
Definition: RPC_RDOAnalysis.h:61
Identifier
Definition: IdentifierFieldParser.cxx:14