ATLAS Offline Software
LArHECNoise.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #include "GaudiKernel/MsgStream.h"
6 #include "GaudiKernel/IToolSvc.h"
7 
9 
17 
19 
20 #include "Identifier/Range.h"
23 
25 
27 #include "LArRawEvent/LArDigit.h"
30 
33 
37 
38 #include "GaudiKernel/ITHistSvc.h"
39 #include "TTree.h"
40 
42 
44 
45 #include "LArCafJobs/LArHECNoise.h"
46 
47 #include <algorithm>
48 #include <math.h>
49 #include <functional>
50 #include <iostream>
51 
52 using namespace std;
53 using xAOD::EventInfo;
54 
57 
58 
59 LArHECNoise::LArHECNoise(const std::string& name,
60  ISvcLocator* pSvcLocator)
61  : AthAlgorithm(name, pSvcLocator),
62  m_thistSvc(nullptr),
63  m_tree(nullptr),
64  m_LArOnlineIDHelper(nullptr),
65  m_calocell_id(nullptr),
66  m_nt_run(0),
67  m_nt_evtId(0),
68  m_nt_evtCount(0),
69  m_nt_evtTime(0),
70  m_nt_evtTime_ns(0),
71  m_nt_lb(0),
72  m_nt_bcid(0),
73  m_nt_gain(0),
74  m_nt_side(0),
75  m_nt_samp(0),
76  m_nt_reg(0),
77  m_nt_ieta(0),
78  m_nt_iphi(0),
79  m_nt_quality(0),
80  m_nt_digi(),
81  m_nt_max(0),
82  m_nt_min(0),
83  m_nt_OID(0),
84  m_nt_avgMu(0),
85  m_nt_actMu(0),
86  m_nt_e(0),
87  m_nt_t(0),
88  m_nt_eta(0),
89  m_nt_phi(0),
90  m_nt_z(0),
91  m_nt_r(0),
92  m_nt_ped(0),
93  m_nt_pedRMS(0)
94  {
95 
96  // Trigger
97 
100  declareProperty("TriggerLines",m_TriggerLines={"L1_J5", "L1_J10", "L1_J12", "L1_J30", "L1_TAU5", "L1_TAU8", "L1_J5_EMPTY", "L1_J10_EMPTY", "L1_J12_EMPTY", "L1_J30_EMPTY", "L1_TAU5_EMPTY", "L1_TAU8_EMPTY", "L1_J5_FIRSTEMPTY", "L1_J10_FIRSTEMPTY", "L1_J12_FIRSTEMPTY", "L1_J30_FIRSTEMPTY", "L1_TAU5_FIRSTEMPTY", "L1_TAU8_FIRSTEMPTY"});
101 
102  declareProperty("MinDigitADC",m_MinDigitADC=20);
103  declareProperty("MaxDeltaT",m_MaxDeltaT=5);
104 
105  m_nt_prescale = new float[m_TriggerLines.size()];
106  m_nt_trigger = new bool[m_TriggerLines.size()];
107  }
108 
109 
111 
112 
114 
115  ATH_MSG_DEBUG ( "Initializing LArHECNoise" );
116 
117  // Trigger Decision Tool
118  CHECK(m_trigDec.retrieve());
119 
122 
123  // Retrieve online ID helper
124  const LArOnlineID* LArOnlineIDHelper = nullptr;
125  ATH_CHECK( detStore()->retrieve(LArOnlineIDHelper, "LArOnlineID") );
126  m_LArOnlineIDHelper = LArOnlineIDHelper;
127  ATH_MSG_DEBUG( " Found LArOnline Helper");
128 
129  // Retrieve ID helpers
130  ATH_CHECK( detStore()->retrieve (m_calocell_id, "CaloCell_ID") );
132 
134  ATH_CHECK( service("THistSvc", m_thistSvc) );
135 
137  m_tree = new TTree( "HECNoise", "HECNoise" );
138 
139  // General properties of events
140  m_tree->Branch("iRun",&m_nt_run,"iRun/I");// Event ID
141  m_tree->Branch("iEvent",&m_nt_evtId,"iEvent/I");// Event ID
142  m_tree->Branch("iEventCount",&m_nt_evtCount,"iEventCount/I");
143  m_tree->Branch("iTime",&m_nt_evtTime,"iTime/I");// Event time
144  m_tree->Branch("iTime_ns",&m_nt_evtTime_ns,"iTime_ns/I");// Event time in nanosecond
145  m_tree->Branch("iLB",&m_nt_lb,"iLB/I"); // LB
146  m_tree->Branch("iBCID",&m_nt_bcid,"iBCID/I"); // BCID
147  // prescale and trigger here
148  //const std::vector<float> &tp = m_nt_prescale;
149  //const std::vector<bool> &tt = m_nt_trigger;
150  for(unsigned i=0; i<m_TriggerLines.size(); ++i) {
151  //m_tree->Branch((m_TriggerLines[i]+"_Prescale").c_str(),&(tp[i]),(m_TriggerLines[i]+"_Prescale/F").c_str());
152  //m_tree->Branch((m_TriggerLines[i]+"_Trigger").c_str(),tt[i],(m_TriggerLines[i]+"_Trigger/O").c_str());
153  m_tree->Branch((m_TriggerLines[i]+"_Prescale").c_str(),&(m_nt_prescale[i]),(m_TriggerLines[i]+"_Prescale/F").c_str());
154  m_tree->Branch((m_TriggerLines[i]+"_Trigger").c_str(),&(m_nt_trigger[i]),(m_TriggerLines[i]+"_Trigger/I").c_str());
155  }
156  m_tree->Branch("avgMu",&m_nt_avgMu,"avgMu/F");
157  m_tree->Branch("actMu",&m_nt_actMu,"actMu/F");
158  m_tree->Branch("iGain",&m_nt_gain,"iGain/I");
159  m_tree->Branch("iOID",&m_nt_OID,"iOID/L");
160  m_tree->Branch("iSide",&m_nt_side,"iSide/I");
161  m_tree->Branch("iSamp",&m_nt_samp,"iSamp/I");
162  m_tree->Branch("iReg",&m_nt_reg,"iReg/I");
163  m_tree->Branch("iEta",&m_nt_ieta,"iEta/I");
164  m_tree->Branch("iPhi",&m_nt_iphi,"iPhi/I");
165  m_tree->Branch("iQuality",&m_nt_quality,"iQuality/I");
166  m_tree->Branch("e",&m_nt_e,"e/F");
167  m_tree->Branch("t",&m_nt_t,"t/F");
168  m_tree->Branch("eta",&m_nt_eta,"eta/F");
169  m_tree->Branch("phi",&m_nt_phi,"phi/F");
170  m_tree->Branch("z",&m_nt_z,"z/F");
171  m_tree->Branch("r",&m_nt_r,"r/F");
172  m_tree->Branch("Ped",&m_nt_ped,"Ped/F");
173  m_tree->Branch("PedRMS",&m_nt_pedRMS,"PedRMS/F");
174  m_tree->Branch("iDigi",m_nt_digi,"iDigi[32]/S");
175  m_tree->Branch("iMax",&m_nt_max,"iMax/I");
176  m_tree->Branch("iMin",&m_nt_min,"iMin/I");
177 
178  std::string treeName = "/HEC/HECNoise" ;
179  ATH_CHECK( m_thistSvc->regTree(treeName, m_tree) );
180 
181 
182  ATH_MSG_DEBUG ( "End of Initializing LArHECNoise" );
183 
184  return StatusCode::SUCCESS;
185 }
186 
188  ATH_MSG_DEBUG ( "in finalize()" );
189  return StatusCode::SUCCESS;
190 }
191 
192 
194 
195  ATH_MSG_DEBUG ( "in execute()" );
196 
197  for(unsigned i=0; i<m_TriggerLines.size(); ++i){
198  m_nt_prescale[i] = m_trigDec->getPrescale(m_TriggerLines[i]);
199  if (m_trigDec->isPassed(m_TriggerLines[i])){
200  m_nt_trigger[i] = true;
201  } else {
202  m_nt_trigger[i] = false;
203  }
204  }
205 
206  const xAOD::EventInfo* eventInfo = nullptr;
207  ATH_CHECK( evtStore()->retrieve(eventInfo) );
208 
209  m_nt_evtCount = 0;
210  const CaloCellContainer* cc = nullptr;
211  const LArRawChannelContainer* lraw = nullptr;
212  if (evtStore()->contains<CaloCellContainer>("AllCalo")) {
213  ATH_CHECK(evtStore()->retrieve(cc, "AllCalo"));
214  } else if (evtStore()->contains<LArRawChannelContainer>("LArRawChannels")){
215  ATH_CHECK(evtStore()->retrieve(lraw, "LArRawChannels"));
216  }
217 
219  const LArOnOffIdMapping* cabling{*cablingHdl};
220  if(!cabling) {
221  ATH_MSG_ERROR("Do not have mapping object " << m_cablingKey.key() );
222  return StatusCode::FAILURE;
223  }
224 
225 
227  const ILArPedestal* ped{*pedHdl};
228  if(!ped) {
229  ATH_MSG_ERROR("Do not have pedestal object " << m_pedKey.key() );
230  return StatusCode::FAILURE;
231  }
232 
234  ATH_CHECK(caloMgrHandle.isValid());
235  const CaloDetDescrManager* caloMgr = *caloMgrHandle;
236 
237 
238  const LArDigitContainer* ld = nullptr;
239  if (evtStore()->contains<LArDigitContainer>("LArDigitContainer")) {
240  ATH_CHECK(evtStore()->retrieve(ld, "LArDigitContainer"));
241  } else if (evtStore()->contains<LArDigitContainer>("LArDigitContainer_Thinned")) {
242  ATH_CHECK(evtStore()->retrieve(ld, "LArDigitContainer_Thinned"));
243  } else if (evtStore()->contains<LArDigitContainer>("FREE")) {
244  ATH_CHECK(evtStore()->retrieve(ld, "FREE"));
245  } else {
246  msg(MSG::WARNING) << "Neither LArDigitContainer nor LArDigitContainer_Thinned nor FREE present, not filling anything "<<endmsg;
247  return StatusCode::SUCCESS;
248  }
250  LArDigitContainer::const_iterator itDig = ld->begin();
251  LArDigitContainer::const_iterator itDig_e= ld->end();
252  const LArDigit* pLArDigit;
253 
254  for ( ; itDig!=itDig_e;++itDig) {
255  pLArDigit = *itDig;
256  HWIdentifier hid = pLArDigit->hardwareID();
257  if(! m_LArOnlineIDHelper->isHECchannel(hid)) continue; //and ld.gain() == 2:
258  int sigmax=0;
259  int sigmin=0;
260  int imax=0;
261  int imin=0;
262  short samp0= pLArDigit->samples()[0];
263  for(unsigned i=0; i<(pLArDigit->samples()).size(); ++i){
264  short samp=pLArDigit->samples()[i];
265  if( i < 32) m_nt_digi[i] = samp;
266  if(samp-samp0 > sigmax) {
267  sigmax = samp-samp0;
268  imax=i;
269  }
270  if( samp-samp0 < sigmin) {
271  sigmin = samp-samp0;
272  imin=i;
273  }
274  }
275  if( sigmax > m_MinDigitADC && sigmin < -m_MinDigitADC && ( (imin-imax) < m_MaxDeltaT || imin < imax)) {
276  m_nt_run = eventInfo->runNumber();
277  m_nt_evtId = eventInfo->eventNumber();
278  m_nt_evtTime = eventInfo->timeStamp();
279  m_nt_evtTime_ns = eventInfo->timeStampNSOffset();
280  m_nt_lb = eventInfo->lumiBlock();
281  m_nt_bcid = eventInfo->bcid();
284 
285  m_nt_evtCount += 1;
286  m_nt_gain = pLArDigit->gain();
287  Identifier oid = cabling->cnvToIdentifier(hid);
288  m_nt_OID = pLArDigit->channelID().get_compact();
289  m_nt_ped = ped->pedestal(pLArDigit->channelID(),pLArDigit->gain());
290  m_nt_pedRMS = ped->pedestalRMS(pLArDigit->channelID(),pLArDigit->gain());
291  m_nt_side = m_calocell_id->pos_neg(oid);
292  m_nt_samp = m_calocell_id->sampling(oid);
293  m_nt_reg = m_calocell_id->region(oid);
294  m_nt_ieta = m_calocell_id->eta(oid);
295  m_nt_iphi = m_calocell_id->phi(oid);
296  m_nt_max = imax;
297  m_nt_min = imin;
298  IdentifierHash ihash = m_calocell_id->calo_cell_hash(oid);
299  m_nt_e = 0.0;
300  m_nt_t = 0.0;
301  m_nt_quality = 0;
302  if(cc) {
303  const CaloCell *rcell = cc->findCell(ihash);
304  if(rcell->ID() != oid) {
305  msg(MSG::WARNING) <<"Cell iHash does not match ..."<<endmsg;
306  }else{
307  m_nt_e = rcell->e();
308  m_nt_t = rcell->time();
309  m_nt_quality = rcell->quality();
310  }
311  } else if(lraw) {
312  for(unsigned l=0; l<lraw->size(); ++l) {
313  if((*lraw)[l].identify() == hid) {
314  m_nt_e = (*lraw)[l].energy();
315  m_nt_t = (*lraw)[l].time()*1e-3;
316  m_nt_quality = (*lraw)[l].quality();
317  break;
318  }
319  }
320  }
321  const CaloDetDescrElement *cdde = caloMgr->get_element(oid);
322  if(cdde) {
323  m_nt_eta = cdde->eta();
324  m_nt_phi = cdde->phi();
325  m_nt_z = cdde->z();
326  m_nt_r = cdde->r();
327  }
328  m_tree->Fill();
329  }//found our digit
330  }//over digits
331 
332  return StatusCode::SUCCESS;
333 }
334 
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
LArHECNoise::m_nt_OID
long m_nt_OID
Definition: LArHECNoise.h:97
LArHECNoise::m_nt_e
float m_nt_e
Definition: LArHECNoise.h:100
DataModel_detail::const_iterator
Const iterator class for DataVector/DataList.
Definition: DVLIterator.h:82
LArEM_ID.h
LArHECNoise::m_LArOnlineIDHelper
const LArOnlineID * m_LArOnlineIDHelper
Definition: LArHECNoise.h:71
LArHECNoise::m_nt_ped
float m_nt_ped
Definition: LArHECNoise.h:106
xAOD::EventInfo
EventInfo_v1 EventInfo
Definition of the latest event info version.
Definition: IEventInfoCnvTool.h:17
CondAttrListCollection.h
This file defines the class for a collection of AttributeLists where each one is associated with a ch...
SG::ReadCondHandle
Definition: ReadCondHandle.h:44
xAOD::EventInfo_v1::eventNumber
uint64_t eventNumber() const
The current event's event number.
AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
ILArPedestal
Definition: ILArPedestal.h:12
CaloDetDescrElement
This class groups all DetDescr information related to a CaloCell. Provides a generic interface for al...
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:66
LArID_Exception.h
CaloDetDescrManager_Base::get_element
const CaloDetDescrElement * get_element(const Identifier &cellId) const
get element by its identifier
Definition: CaloDetDescrManager.cxx:159
Range.h
ReadCellNoiseFromCool.cabling
cabling
Definition: ReadCellNoiseFromCool.py:154
LArHECNoise::m_nt_reg
int m_nt_reg
Definition: LArHECNoise.h:90
LArDigit::samples
const std::vector< short > & samples() const
Definition: LArDigit.h:78
LArDigit::hardwareID
const HWIdentifier & hardwareID() const
Definition: LArDigit.h:66
LArHECNoise::m_caloMgrKey
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
Definition: LArHECNoise.h:72
CaloCell::e
virtual double e() const override final
get energy (data member) (synonym to method energy()
Definition: CaloCell.h:317
LArHECNoise::m_nt_t
float m_nt_t
Definition: LArHECNoise.h:101
LArHECNoise.h
UploadAMITag.l
list l
Definition: UploadAMITag.larcaf.py:158
LArHECNoise::m_nt_phi
float m_nt_phi
Definition: LArHECNoise.h:103
LArHECNoise::m_nt_min
int m_nt_min
Definition: LArHECNoise.h:96
SG::VarHandleKey::key
const std::string & key() const
Return the StoreGate ID for the referenced object.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:141
xAOD::EventInfo_v1::timeStampNSOffset
uint32_t timeStampNSOffset() const
Nanosecond time offset wrt. the time stamp.
LArHEC_ID.h
CaloCell::time
float time() const
get time (data member)
Definition: CaloCell.h:352
LArHECNoise::m_nt_bcid
int m_nt_bcid
Definition: LArHECNoise.h:86
AthenaAttributeList.h
LArHECNoise::m_TriggerLines
std::vector< std::string > m_TriggerLines
Definition: LArHECNoise.h:112
xAOD::EventInfo_v1::runNumber
uint32_t runNumber() const
The current event's run number.
CaloDetDescrManager.h
Definition of CaloDetDescrManager.
LArEventBitInfo.h
LArHECNoise::m_nt_evtTime_ns
int m_nt_evtTime_ns
Definition: LArHECNoise.h:84
CaloCell_ID.h
AthCommonDataStore< AthCommonMsg< Algorithm > >::detStore
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:95
LArHECNoise::initialize
virtual StatusCode initialize() override
Definition: LArHECNoise.cxx:113
AthCommonDataStore< AthCommonMsg< Algorithm > >::evtStore
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:85
LArHECNoise::m_tree
TTree * m_tree
Definition: LArHECNoise.h:62
LArHECNoise::m_nt_gain
int m_nt_gain
Definition: LArHECNoise.h:87
LArHECNoise::m_nt_ieta
int m_nt_ieta
Definition: LArHECNoise.h:91
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
LArDigit.h
LArHECNoise::m_pedKey
SG::ReadCondHandleKey< ILArPedestal > m_pedKey
Definition: LArHECNoise.h:65
LArHECNoise::m_nt_z
float m_nt_z
Definition: LArHECNoise.h:104
LArHECNoise::finalize
virtual StatusCode finalize() override
Definition: LArHECNoise.cxx:187
LArHECNoise::m_nt_r
float m_nt_r
Definition: LArHECNoise.h:105
LArDigit
Liquid Argon digit base class.
Definition: LArDigit.h:25
lumiFormat.i
int i
Definition: lumiFormat.py:92
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
INavigable4MomentumCollection.h
LArHECNoise::LArHECNoise
LArHECNoise(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Definition: LArHECNoise.cxx:59
LArHECNoise::m_nt_evtTime
int m_nt_evtTime
Definition: LArHECNoise.h:83
dumpFileToPlots.treeName
string treeName
Definition: dumpFileToPlots.py:20
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
CHECK
#define CHECK(...)
Evaluate an expression and check for errors.
Definition: Control/AthenaKernel/AthenaKernel/errorcheck.h:422
imax
int imax(int i, int j)
Definition: TileLaserTimingTool.cxx:33
xAOD::EventInfo_v1::lumiBlock
uint32_t lumiBlock() const
The current event's luminosity block number.
CaloDM_ID.h
AthAlgorithm
Definition: AthAlgorithm.h:47
CaloCell::quality
uint16_t quality() const
get quality (data member)
Definition: CaloCell.h:332
LArHECNoise::m_nt_avgMu
float m_nt_avgMu
Definition: LArHECNoise.h:98
xAOD::EventInfo_v1::averageInteractionsPerCrossing
float averageInteractionsPerCrossing() const
Average interactions per crossing for all BCIDs - for out-of-time pile-up.
Definition: EventInfo_v1.cxx:397
HWIdentifier.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
IdentifierHash.h
LArHECNoise::m_nt_evtCount
int m_nt_evtCount
Definition: LArHECNoise.h:82
SG::CondHandleKey::initialize
StatusCode initialize(bool used=true)
LArOnlineID
Definition: LArOnlineID.h:20
CaloCell::ID
Identifier ID() const
get ID (from cached data member) non-virtual and inline for fast access
Definition: CaloCell.h:279
LArHECNoise::m_nt_lb
int m_nt_lb
Definition: LArHECNoise.h:85
LArDigitContainer.h
CaloCellContainer.h
CaloCellContainer
Container class for CaloCell.
Definition: CaloCellContainer.h:55
EventInfo.h
LArHECNoise::m_MaxDeltaT
int m_MaxDeltaT
Definition: LArHECNoise.h:114
xAOD::EventInfo_v1
Class describing the basic event information.
Definition: EventInfo_v1.h:43
LArHECNoise::m_nt_eta
float m_nt_eta
Definition: LArHECNoise.h:102
Example_ReadSampleNoise.ped
ped
Definition: Example_ReadSampleNoise.py:45
LArHECNoise::m_nt_side
int m_nt_side
Definition: LArHECNoise.h:88
LArHECNoise::m_nt_run
int m_nt_run
Definition: LArHECNoise.h:80
LArHECNoise::m_MinDigitADC
int m_MinDigitADC
Definition: LArHECNoise.h:113
LArFCAL_ID.h
LArHECNoise::m_nt_iphi
int m_nt_iphi
Definition: LArHECNoise.h:92
LArDigit::gain
CaloGain::CaloGain gain() const
Definition: LArDigit.h:72
LArHECNoise::m_nt_pedRMS
float m_nt_pedRMS
Definition: LArHECNoise.h:107
DiTauMassTools::MaxHistStrategyV2::e
e
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:26
CaloLVL1_ID.h
CaloDetDescrManager
This class provides the client interface for accessing the detector description information common to...
Definition: CaloDetDescrManager.h:473
CaloCell
Data object for each calorimeter readout cell.
Definition: CaloCell.h:57
LArHECNoise::m_calocell_id
const CaloCell_ID * m_calocell_id
Definition: LArHECNoise.h:77
LArHECNoise::m_trigDec
PublicToolHandle< Trig::TrigDecisionTool > m_trigDec
Definition: LArHECNoise.h:68
CaloDetDescrElement::z
float z() const
cell z
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:367
LArHECNoise::m_nt_max
int m_nt_max
Definition: LArHECNoise.h:95
AthCommonMsg< Algorithm >::msg
MsgStream & msg() const
Definition: AthCommonMsg.h:24
LArDigitContainer
Container class for LArDigit.
Definition: LArDigitContainer.h:24
xAOD::EventInfo_v1::timeStamp
uint32_t timeStamp() const
POSIX time in seconds from 1970. January 1st.
LArHECNoise::execute
virtual StatusCode execute() override
Definition: LArHECNoise.cxx:193
IParticleContainer.h
LArDigit::channelID
const HWIdentifier & channelID() const
Definition: LArDigit.h:69
CaloDetDescrElement::eta
float eta() const
cell eta
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:344
LArHECNoise::m_nt_evtId
int m_nt_evtId
Definition: LArHECNoise.h:81
LArHECNoise::m_thistSvc
ITHistSvc * m_thistSvc
Definition: LArHECNoise.h:60
CaloDetDescrElement::phi
float phi() const
cell phi
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:346
LArHECNoise::m_nt_digi
short m_nt_digi[32]
Definition: LArHECNoise.h:94
LArOnlineID::isHECchannel
bool isHECchannel(const HWIdentifier id) const override final
Definition: LArOnlineID.cxx:734
CaloDetDescrElement::r
float r() const
cell r
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:348
LArHECNoise::m_nt_quality
int m_nt_quality
Definition: LArHECNoise.h:93
LArHECNoise::m_nt_actMu
float m_nt_actMu
Definition: LArHECNoise.h:99
LArHECNoise::m_nt_trigger
bool * m_nt_trigger
Definition: LArHECNoise.h:109
xAOD::EventInfo_v1::bcid
uint32_t bcid() const
The bunch crossing ID of the event.
LArHECNoise::~LArHECNoise
~LArHECNoise()
Definition: LArHECNoise.cxx:110
StoreGateSvc.h
LArHECNoise::m_nt_samp
int m_nt_samp
Definition: LArHECNoise.h:89
geometry_dat_to_json.ld
ld
Definition: geometry_dat_to_json.py:14
LArHECNoise::m_nt_prescale
float * m_nt_prescale
Definition: LArHECNoise.h:108
LArRawChannelContainer.h
CaloDetectorElements.h
Calo Subsystem specific Detector Elements + Dummy element for testing.
LArOnlineID.h
python.handimod.cc
int cc
Definition: handimod.py:523
LArHECNoise::m_cablingKey
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
Definition: LArHECNoise.h:64
LArRawChannelContainer
Container for LArRawChannel (IDC using LArRawChannelCollection)
Definition: LArRawChannelContainer.h:26
xAOD::EventInfo_v1::actualInteractionsPerCrossing
float actualInteractionsPerCrossing() const
Average interactions per crossing for the current BCID - for in-time pile-up.
Definition: EventInfo_v1.cxx:380