ATLAS Offline Software
CaloClusterContainerCnv_p7.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 
8 
13 //#include "CaloUtils/CaloClusterSignalState.h"
14 //#include "CaloUtils/CaloClusterVertexCorrection.h"
16 
17 
18 namespace {
19 
20 inline
21 bool testbit (unsigned int x, unsigned int i)
22 {
23  return (x & (1U << i)) != 0;
24 }
25 
26 } // anonymous namespace
27 
28 
30  CaloClusterContainer* trans,
31  MsgStream &log) const
32 {
33  if (log.level() <= MSG::DEBUG) log<< MSG::DEBUG << "Reading CaloClusterContainerCnv_p7" << endmsg;
34 
35  // Use data pool for clusters to avoid calling constructor for each event
37 
38  trans->clear (SG::VIEW_ELEMENTS);
39  trans->reserve(pers->m_vec.size());
40 
43 
44  std::vector<float> temp_Moments;
45  Compressor A;
46  A.expandToFloat( pers->m_momentContainer.m_Mvalue, temp_Moments); // unpacks moments
47 
48  std::vector<float>::const_iterator i_mom = temp_Moments.begin();
49  std::vector<float>::const_iterator i_mom_e = temp_Moments.end();
50 
51  const std::vector<unsigned short>& keys = pers->m_momentContainer.m_Mkey;
52  unsigned int nkeys = keys.size();
53 
54  unsigned int c1=0;
55 
56  std::vector<float> tmp_badChannelEta;
57  std::vector<float> tmp_badChannelPhi;
58  Compressor B;
59  B.expandToFloat(pers->m_badEtaList,tmp_badChannelEta);
60  B.expandToFloat(pers->m_badPhiList,tmp_badChannelPhi);
61 
62 // raw 4-momentum state
63  std::vector<float> tmp_rawE;
64  std::vector<float> tmp_rawEtaPhiM;
65  Compressor C;
66  C.expandToFloat(pers->m_rawE,tmp_rawE);
67  std::vector<float>::const_iterator iraw1 = tmp_rawE.begin();
68  std::vector<float>::const_iterator iraw2 = tmp_rawE.end();
69 
70  Compressor D;
71  D.expandToFloat(pers->m_rawEtaPhiM,tmp_rawEtaPhiM);
72  std::vector<float>::const_iterator iraw3 = tmp_rawEtaPhiM.begin();
73  std::vector<float>::const_iterator iraw4 = tmp_rawEtaPhiM.end();
74 
75 // alternative calibration 4-momentum state
76  std::vector<float> tmp_altE;
77  std::vector<float> tmp_altEtaPhiM;
78  Compressor E;
79  E.expandToFloat(pers->m_altE,tmp_altE);
80  std::vector<float>::const_iterator ialt1 = tmp_altE.begin();
81  std::vector<float>::const_iterator ialt2 = tmp_altE.end();
82  Compressor F;
83  F.expandToFloat(pers->m_altEtaPhiM,tmp_altEtaPhiM);
84  std::vector<float>::const_iterator ialt3 = tmp_altEtaPhiM.begin();
85  std::vector<float>::const_iterator ialt4 = tmp_altEtaPhiM.end();
86 
87 
88  std::vector<short>::const_iterator ibad1 = pers->m_badClusIndexList.begin();
89  std::vector<short>::const_iterator ibad2 = pers->m_badClusIndexList.end();
90  int nbad=0;
91 
92  bool mom_overrun_err = false;
93  bool store_overrun_err = false;
94  bool raw_overrun_err = false;
95  size_t dataStore_size = pers->m_dataStore.size();
96 
97  bool fillBad=true;
98  if (tmp_badChannelEta.size() != pers->m_badClusIndexList.size() ||
99  tmp_badChannelPhi.size() != pers->m_badClusIndexList.size() ||
100  pers->m_badLayerStatusList.size() != pers->m_badClusIndexList.size()) {
101  log << MSG::WARNING << " problem to decode bad channel information, not filled..." << endmsg;
102  fillBad=false;
103  }
104 
105  short index=0;
106  for(;itp!=itp_e;++itp) {
107  index++;
108 
109  CaloCluster* transCluster = clusters.nextElementPtr();// Get next ptr for next cluster
110  persToTrans(&(*itp),transCluster,log); //Convert Cluster-quantities
111 
112  CaloSamplingData *trDS =&(transCluster->m_dataStore);
113 
114  trDS->m_varTypePattern = pers->m_varTypePattern;
115  int nVar=trDS->getNumberOfVariableTypes();
116  int nSamplings=trDS->getNumberOfSamplings();
117 
118  typedef CaloSamplingData::variable_key_type vartype;
119  typedef CaloSamplingData::sampling_key_type samptype;
120 
121  for (int i=0;i<nVar;++i) {// here loops to read them in ...
122  if (testbit (trDS->m_varTypePattern, i)) {
123 
124  // can be optimized: no decoding for each variable.
125  for (int j=0;j<nSamplings; ++j){
126 
127  if ( testbit(transCluster->m_samplingPattern, j) ){
128  float val;
129  if (c1 < dataStore_size)
130  val = pers->m_dataStore[c1++];
131  else {
132  val = 0;
133  if (!store_overrun_err) {
134  REPORT_MESSAGE_WITH_CONTEXT(MSG::WARNING,
135  "CaloClusterContainerCnv_p7")
136  << "Corrupted data: data store array overrun "
137  << pers->m_vec.size() << " clusters "
138  << nkeys << " moment keys "
139  << temp_Moments.size() << " total moments.";
140  store_overrun_err = true;
141  }
142  }
143  trDS->storeData(static_cast<vartype>(i),
144  static_cast<samptype>(j),
145  val);
146  }
147  else{
148 
149  trDS->removeVariable(static_cast<vartype>(i),
150  static_cast<samptype>(j));
151  //std::cout<<"a:0"<<"\t";
152  }
153  }
154  // std::cout<<std::endl;
155  }
156  else
157  trDS->removeVariable(static_cast<vartype>(i));
158  }
159 
160  transCluster->m_barrel= (bool)(0x001ff00f & transCluster->m_samplingPattern);
161  transCluster->m_endcap= (bool)(0x00e00ff0 & transCluster->m_samplingPattern);
162  // std::cout<<" <<< Read"<<std::endl;
163 
164 
165  //Convert moment store
167  for (unsigned short i=0;i<nkeys;++i) {
168  float val;
169  if (i_mom == i_mom_e) {
170  val = 0;
171  if (!mom_overrun_err) {
172  REPORT_MESSAGE_WITH_CONTEXT(MSG::WARNING,
173  "CaloClusterContainerCnv_p7")
174  << "Corrupted data: moment array overrun "
175  << pers->m_vec.size() << " clusters "
176  << nkeys << " moment keys "
177  << temp_Moments.size() << " total moments.";
178  mom_overrun_err = true;
179  }
180  }
181  else {
182  val = *i_mom;
183  ++i_mom;
184  }
185  transStore.insert (transStore.end(), CaloClusterMomentStore::moment_store::value_type( keys[i], val ) );
186  }
187  transCluster->m_momentStore.setMomentStore (std::move (transStore));
188 
189  // fill bad channel information
190  transCluster->resetBadChannel();
191  if (fillBad){
192  while (ibad1 != ibad2 && (*ibad1) ==index) {
193  float eta = tmp_badChannelEta[nbad] + transCluster->eta();
194  float phi = CaloPhiRange::fix(tmp_badChannelPhi[nbad] + transCluster->phi());
195  short status=pers->m_badLayerStatusList[nbad];
197  CaloBadChannel flag = CaloBadChannel( ((status>>8) & 0xff) );
199  // std::cout << " add bad channel data " << transCluster << " " << eta << " " << phi << " " << layer << " " << status << " " << flag.packedData() << std::endl;
200  transCluster->addBadChannel(data);
201  ++ibad1;
202  ++nbad;
203  }
204  }
205 
206 // fill raw E,eta,phi,M
207  if (iraw1 != iraw2) {
208  if (std::fabs(transCluster->e())>0.1) {
209  transCluster->m_rawE = (*iraw1) * transCluster->e();
210  }
211  else
212  transCluster->m_rawE = (*iraw1);
213  ++iraw1;
214  }
215  if (iraw3 != iraw4) {
216  transCluster->m_rawEta = (*iraw3) + transCluster->eta();
217  ++iraw3;
218  }
219  if (iraw3 != iraw4) {
220  transCluster->m_rawPhi = CaloPhiRange::fix((*iraw3)+transCluster->phi());
221  ++iraw3;
222  }
223  if (iraw3 == iraw4 && !raw_overrun_err) {
224  REPORT_MESSAGE_WITH_CONTEXT(MSG::WARNING,
225  "CaloClusterContainerCnv_p7")
226  << "Corrupted data: raw array overrun "
227  << pers->m_vec.size() << " clusters "
228  << tmp_rawE.size() << " raw values.";
229  raw_overrun_err = true;
230  }
231  if (iraw3 != iraw4) {
232  transCluster->m_rawM = (*iraw3);
233  ++iraw3;
234  }
235  //std::cout << " perstotrans rawE/eta/phi/M " << transCluster->m_rawE << " " << transCluster->m_rawEta << " " <<
236  // transCluster->m_rawPhi << " " << transCluster->m_rawM << std::endl;
237 
238 // fill alt calibrated E,eta,phi,M
239  if (ialt1 != ialt2) {
240  if (std::fabs(transCluster->e())>0.1) {
241  transCluster->m_altE = (*ialt1) * transCluster->e();
242  }
243  else
244  transCluster->m_altE = (*ialt1);
245  ++ialt1;
246  }
247  if (ialt3 != ialt4) {
248  transCluster->m_altEta = (*ialt3) + transCluster->eta();
249  ++ialt3;
250  }
251  if (ialt3 != ialt4) {
252  transCluster->m_altPhi = CaloPhiRange::fix((*ialt3)+transCluster->phi());
253  ++ialt3;
254  }
255  if (ialt3 == ialt4 && !raw_overrun_err) {
256  REPORT_MESSAGE_WITH_CONTEXT(MSG::WARNING,
257  "CaloClusterContainerCnv_p7")
258  << "Corrupted data: raw array overrun "
259  << pers->m_vec.size() << " clusters "
260  << tmp_altE.size() << " alt values.";
261  raw_overrun_err = true;
262  }
263  if (ialt3 != ialt4) {
264  transCluster->m_altM = (*ialt3);
265  ++ialt3;
266  }
267  //std::cout << " perstotrans altE/eta/phi/M " << transCluster->m_altE << " " << transCluster->m_altEta << " " <<
268  // transCluster->m_altPhi << " " << transCluster->m_altM << std::endl;
269 
270 
271  trans->push_back(transCluster);
272  }
273 
274  if (i_mom != i_mom_e && !mom_overrun_err) {
275  REPORT_MESSAGE_WITH_CONTEXT(MSG::WARNING,
276  "CaloClusterContainerCnv_p7")
277  << "Corrupted data: not all moments read "
278  << pers->m_vec.size() << " clusters "
279  << nkeys << " moment keys "
280  << temp_Moments.size() << " total moments "
281  << i_mom-temp_Moments.begin() << " read.";
282  }
283 
284  if (c1 != dataStore_size && !store_overrun_err) {
285  REPORT_MESSAGE_WITH_CONTEXT(MSG::WARNING,
286  "CaloClusterContainerCnv_p7")
287  << "Corrupted data: not all data store members read "
288  << dataStore_size << " elements "
289  << c1 << " read.";
290  }
291 
292  if (iraw1 != iraw2 && !raw_overrun_err) {
293  REPORT_MESSAGE_WITH_CONTEXT(MSG::WARNING,
294  "CaloClusterContainerCnv_p7")
295  << "Corrupted data: not all raw values read "
296  << pers->m_vec.size() << " clusters "
297  << tmp_rawE.size() << " raw values "
298  << iraw1-tmp_rawE.begin() << " read.";
299  }
300 
301  if (iraw3 != iraw4 && !raw_overrun_err) {
302  REPORT_MESSAGE_WITH_CONTEXT(MSG::WARNING,
303  "CaloClusterContainerCnv_p7")
304  << "Corrupted data: not all raw values read "
305  << pers->m_vec.size() << " clusters "
306  << tmp_rawEtaPhiM.size() << " raw values "
307  << iraw3-tmp_rawEtaPhiM.begin() << " read.";
308  }
309 
310  if (ialt1 != ialt2 && !raw_overrun_err) {
311  REPORT_MESSAGE_WITH_CONTEXT(MSG::WARNING,
312  "CaloClusterContainerCnv_p7")
313  << "Corrupted data: not all alt values read "
314  << pers->m_vec.size() << " clusters "
315  << tmp_altE.size() << " alt values "
316  << ialt1-tmp_altE.begin() << " read.";
317  }
318 
319  if (ialt3 != ialt4 && !raw_overrun_err) {
320  REPORT_MESSAGE_WITH_CONTEXT(MSG::WARNING,
321  "CaloClusterContainerCnv_p7")
322  << "Corrupted data: not all alt values read "
323  << pers->m_vec.size() << " clusters "
324  << tmp_altEtaPhiM.size() << " raw values "
325  << ialt3-tmp_altEtaPhiM.begin() << " read.";
326  }
327 
328 
329 
330  if (ibad1 != ibad2) {
331  REPORT_MESSAGE_WITH_CONTEXT(MSG::WARNING,
332  "CaloClusterContainerCnv_p7")
333  << "Corrupted data: not all bad data read "
334  << pers->m_badClusIndexList.size() << " bad values "
335  << nbad << " read.";
336  }
337 
338  //Convert TowerSegment
339  CaloTowerSeg seg;
341  trans->setTowerSeg (seg);
342 }
343 
344 
346  CaloClusterContainer_p7* /*pers*/,
347  MsgStream &log) const
348 {
349  log << MSG::ERROR << "Writing of CaloClusterContainerCnv_p7 not implemented any more" << endmsg;
350 }
351 
352 
353 
355  CaloCluster* trans,
356  MsgStream& log) const
357 {
359  trans->setBasicEnergy (pers->m_basicSignal);
360  trans->setTime (pers->m_time);
361  trans->m_samplingPattern=pers->m_samplingPattern;
362  trans->m_eta0=pers->m_eta0;
363  trans->m_phi0=pers->m_phi0;
364  trans->m_status = CaloRecoStatus(pers->m_caloRecoStatus);
365  trans->setClusterSize (pers->m_clusterSize);
366 
367  //Convert base class and element links
369  m_showerElementLinkCnv.persToTrans(&pers->m_dataLink,&trans->m_dataLink,log);
370  m_cellElementLinkCnv.persToTrans(&pers->m_cellLink,&trans->m_cellLink,log);
371  m_barcodeCnv.persToTrans(&pers->m_barcode, trans, log);
372 
373 }
374 
375 
376 
377 
380  MsgStream& log) const
381 {
382  pers->m_basicSignal=trans->getBasicEnergy();
383  pers->m_time=trans->getTime();
384  pers->m_samplingPattern=trans->m_samplingPattern;
385  pers->m_eta0=trans->eta0();
386  pers->m_phi0=trans->phi0();
387  pers->m_caloRecoStatus=trans->m_status.getStatusWord();
388  pers->m_clusterSize=trans->getClusterSize();
389 
390  //Convert base class and element links
391  P4EEtaPhiM tmp = *trans;
395  m_barcodeCnv.transToPers(trans, &pers->m_barcode, log);
396 }
DataVector::reserve
void reserve(size_type n)
Attempt to preallocate enough memory for a specified number of elements.
CaloClusterContainer_p7::m_badEtaList
std::vector< unsigned int > m_badEtaList
Definition: CaloClusterContainer_p7.h:59
CaloClusterContainer_p7::const_iterator
contType::const_iterator const_iterator
Definition: CaloClusterContainer_p7.h:44
data
char data[hepevt_bytes_allocation_ATLAS]
Definition: HepEvt.cxx:11
CaloCluster::phi0
double phi0() const
Returns raw of cluster seed.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:1186
CaloCluster::m_momentStore
CaloClusterMomentStore m_momentStore
cluster moments
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:480
TruthTest.itp
itp
Definition: TruthTest.py:46
CaloVariableType::VariableType
VariableType
Definition: CaloVariableType.h:15
CaloCluster::setTime
void setTime(double theTime)
Set cluster time.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:889
CaloCluster::m_altPhi
double m_altPhi
Stores calibrated (cell weight) signal.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:709
ElementLinkCnv_p3::persToTrans
void persToTrans(const PersLink_t &pers, Link_t &trans, MsgStream &log) const
CaloClusterContainer_p7::CaloCluster_p
Definition: CaloClusterContainer_p7.h:21
CaloClusterContainer_p7::CaloCluster_p::m_P4EEtaPhiM
P4EEtaPhiMFloat_p2 m_P4EEtaPhiM
Definition: CaloClusterContainer_p7.h:33
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:64
CaloClusterContainer_p7::m_rawE
std::vector< unsigned int > m_rawE
Definition: CaloClusterContainer_p7.h:63
CaloBadChannel.h
SG::VIEW_ELEMENTS
@ VIEW_ELEMENTS
this data object is a view, it does not own its elmts
Definition: OwnershipPolicy.h:18
CaloClusterContainer_p7::CaloCluster_p::m_caloRecoStatus
unsigned int m_caloRecoStatus
Definition: CaloClusterContainer_p7.h:30
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:79
index
Definition: index.py:1
CaloCluster::m_eta0
double m_eta0
Cluster seed
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:558
CaloClusterMomentStore::setMomentStore
virtual void setMomentStore(const moment_store &rMomStore)
Set internal store.
Definition: CaloClusterMomentStore.h:253
CaloClusterContainer
Storable container for CaloCluster.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloClusterContainer.h:37
CaloSamplingData::storeData
bool storeData(variable_key_type theVariable, sampling_key_type theSampling, value_type theData)
}
Definition: CaloSamplingData.cxx:109
extractSporadic.c1
c1
Definition: extractSporadic.py:134
DMTest::C
C_v1 C
Definition: C.h:26
P4EEtaPhiM
Definition: P4EEtaPhiM.h:25
CaloClusterContainerCnv_p7::m_caloTowerSegCnv
CaloTowerSegCnv_p1 m_caloTowerSegCnv
Definition: CaloClusterContainerCnv_p7.h:53
CaloClusterContainer_p7
Definition: CaloClusterContainer_p7.h:19
CaloClusterContainer_p7::CaloCluster_p::m_time
float m_time
Definition: CaloClusterContainer_p7.h:25
CaloSamplingData::m_varTypePattern
unsigned int m_varTypePattern
Definition: CaloSamplingData.h:117
CaloCluster::m_altE
double m_altE
Stores calibrated (cell weight) signal.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:705
P4EEtaPhiMCnv_p2::transToPers
virtual void transToPers(const P4EEtaPhiM *transObj, P4EEtaPhiMFloat_p2 *persObj, MsgStream &log) const override
Method creating the persistent representation P4EEtaPhiMFloat_p2 from its transient representation P4...
Definition: P4EEtaPhiMCnv_p2.cxx:38
CaloCluster::getBasicEnergy
virtual double getBasicEnergy() const
Access basic energy scale signal.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:876
CaloCluster::setDefaultSignalState
bool setDefaultSignalState(signalstate_t s)
Sets default signal state.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:865
CaloSamplingData::removeVariable
bool removeVariable(variable_key_type theVariable, sampling_key_type theSampling)
Remove a certain variable.
Definition: CaloSamplingData.h:248
CaloClusterContainer_p7::CaloCluster_p::m_phi0
float m_phi0
Definition: CaloClusterContainer_p7.h:27
x
#define x
AthenaBarCodeCnv_p1::transToPers
virtual void transToPers(const AthenaBarCodeImpl *transObj, AthenaBarCode_p1 *persObj, MsgStream &) const override
Definition: AthenaBarCodeCnv_p1.h:36
CaloClusterMomentContainer_p2::m_Mvalue
std::vector< unsigned int > m_Mvalue
Definition: CaloClusterMomentContainer_p2.h:19
AthenaBarCodeCnv_p1::persToTrans
virtual void persToTrans(const AthenaBarCode_p1 *persObj, AthenaBarCodeImpl *transObj, MsgStream &) const override
Definition: AthenaBarCodeCnv_p1.h:43
Compressor
Definition: Compressor.h:26
CaloTowerSegCnv_p1::persToTrans
void persToTrans(const CaloTowerSeg_p1 *, CaloTowerSeg *) const
Definition: CaloTowerSegCnv_p1.cxx:9
dqt_zlumi_alleff_HIST.A
A
Definition: dqt_zlumi_alleff_HIST.py:110
CaloClusterContainer_p7::CaloCluster_p::m_barcode
AthenaBarCode_p1 m_barcode
Definition: CaloClusterContainer_p7.h:34
CaloClusterContainer_p7::m_altE
std::vector< unsigned int > m_altE
Definition: CaloClusterContainer_p7.h:67
ElementLinkCnv_p3::transToPers
void transToPers(const Link_t &trans, PersLink_t &pers, const SG::ThinningCache *cache, MsgStream &log) const
CaloClusterNavigable::m_cellLink
cell_link_type m_cellLink
Local pointer to cell store.
Definition: CaloClusterNavigable.h:186
CaloCluster::m_dataLink
data_link_type m_dataLink
{
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:488
CaloSamplingData::getNumberOfSamplings
size_t getNumberOfSamplings() const
Set variable type pattern for this store.
Definition: CaloSamplingData.h:186
CaloClusterContainer_p7::m_towerSeg
CaloTowerSeg_p1 m_towerSeg
Definition: CaloClusterContainer_p7.h:52
CaloClusterContainerCnv_p7.h
CaloClusterContainer_p7::m_momentContainer
CaloClusterMomentContainer_p2 m_momentContainer
Definition: CaloClusterContainer_p7.h:51
Compressor.h
CaloClusterContainerCnv_p7::m_showerElementLinkCnv
ElementLinkCnv_p3< ElementLink< CaloShowerContainer > > m_showerElementLinkCnv
Definition: CaloClusterContainerCnv_p7.h:55
CaloCluster::m_phi0
double m_phi0
Cluster seed
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:560
CaloClusterContainer_p7::CaloCluster_p::m_clusterSize
unsigned int m_clusterSize
Definition: CaloClusterContainer_p7.h:31
Compressor::expandToFloat
void expandToFloat(const std::vector< unsigned int > &vc, std::vector< float > &vf)
Definition: Compressor.cxx:115
lumiFormat.i
int i
Definition: lumiFormat.py:92
CaloSampling::CaloSample
CaloSample
Definition: Calorimeter/CaloGeoHelpers/CaloGeoHelpers/CaloSampling.h:22
CaloSamplingData::getNumberOfVariableTypes
size_t getNumberOfVariableTypes() const
Return number of variable types.
Definition: CaloSamplingData.h:189
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
TRT::Hit::layer
@ layer
Definition: HitInfo.h:79
CaloCluster::m_endcap
bool m_endcap
Flag is true if at least one cell in EMB.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:551
CaloCluster::m_dataStore
CaloSamplingData m_dataStore
{\ brief Cached Stores
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:479
master.flag
bool flag
Definition: master.py:29
CaloClusterContainer_p7::CaloCluster_p::m_dataLink
ElementLinkInt_p3 m_dataLink
Definition: CaloClusterContainer_p7.h:37
CaloClusterContainerCnv_p7::transToPers
virtual void transToPers(const CaloClusterContainer *trans, CaloClusterContainer_p7 *pers, MsgStream &log) const override
Definition: CaloClusterContainerCnv_p7.cxx:345
CaloCluster::m_altM
double m_altM
Stores calibrated (cell weight) signal.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:711
CaloClusterContainerCnv_p7::m_cellElementLinkCnv
ElementLinkCnv_p3< ElementLink< CaloCellLinkContainer > > m_cellElementLinkCnv
Definition: CaloClusterContainerCnv_p7.h:56
CaloCluster
Principal data class for CaloCell clusters.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:79
CaloPhiRange.h
CaloPhiRange class declaration.
CaloCluster::m_rawM
double m_rawM
Stores raw signal.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:702
CaloClusterContainerCnv_p7::persToTrans
virtual void persToTrans(const CaloClusterContainer_p7 *pers, CaloClusterContainer *trans, MsgStream &log) const override
Definition: CaloClusterContainerCnv_p7.cxx:29
CaloCluster::m_samplingPattern
unsigned int m_samplingPattern
Sampling pattern.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:501
CaloClusterContainer_p7::m_altEtaPhiM
std::vector< unsigned int > m_altEtaPhiM
Definition: CaloClusterContainer_p7.h:68
CaloClusterContainer_p7::m_varTypePattern
unsigned int m_varTypePattern
Definition: CaloClusterContainer_p7.h:48
DeMoUpdate.tmp
string tmp
Definition: DeMoUpdate.py:1167
CaloPhiRange::fix
static double fix(double phi)
Definition: CaloPhiRange.cxx:14
DataVector::clear
void clear()
Erase all the elements in the collection.
CaloClusterContainer_p7::CaloCluster_p::m_eta0
float m_eta0
Definition: CaloClusterContainer_p7.h:26
DataPool.h
REPORT_MESSAGE_WITH_CONTEXT
#define REPORT_MESSAGE_WITH_CONTEXT(LVL, CONTEXT_NAME)
Report a message, with an explicitly specified context name.
Definition: Control/AthenaKernel/AthenaKernel/errorcheck.h:345
CaloCluster::m_rawPhi
double m_rawPhi
Stores raw signal.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:700
CaloClusterContainer_p7::m_badClusIndexList
std::vector< short > m_badClusIndexList
Definition: CaloClusterContainer_p7.h:57
CaloCluster::getTime
double getTime() const
Access cluster time.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:886
CaloClusterContainerCnv_p7::m_barcodeCnv
AthenaBarCodeCnv_p1 m_barcodeCnv
Definition: CaloClusterContainerCnv_p7.h:57
VP1PartSpect::E
@ E
Definition: VP1PartSpectFlags.h:21
errorcheck.h
Helpers for checking error return status codes and reporting errors.
DataVector::push_back
value_type push_back(value_type pElem)
Add an element to the end of the collection.
dqt_zlumi_alleff_HIST.B
B
Definition: dqt_zlumi_alleff_HIST.py:110
CaloClusterContainer_p7::m_dataStore
std::vector< float > m_dataStore
Definition: CaloClusterContainer_p7.h:49
CaloCompositeKineBase::m_status
CaloRecoStatus m_status
Calorimeter reconstruction status.
Definition: CaloCompositeKineBase.h:58
CaloCluster::m_altEta
double m_altEta
Stores calibrated (cell weight) signal.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:707
CaloSamplingData.h
CaloClusterBadChannelData
Definition: Calorimeter/CaloEvent/CaloEvent/CaloClusterBadChannelData.h:12
CaloClusterContainer_p7::m_badLayerStatusList
std::vector< short > m_badLayerStatusList
Definition: CaloClusterContainer_p7.h:58
CaloClusterContainer_p7::CaloCluster_p::m_samplingPattern
unsigned int m_samplingPattern
Definition: CaloClusterContainer_p7.h:29
CaloCluster::getClusterSize
unsigned int getClusterSize() const
Get cluster size.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:895
CaloClusterMomentStore::moment_store
std::map< moment_key, moment_value > moment_store
Internal moment store type.
Definition: CaloClusterMomentStore.h:35
CaloCluster::eta
virtual double eta() const
Retrieve eta independent of signal state.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:755
CaloClusterContainer_p7::m_rawEtaPhiM
std::vector< unsigned int > m_rawEtaPhiM
Definition: CaloClusterContainer_p7.h:64
Pythia8_RapidityOrderMPI.val
val
Definition: Pythia8_RapidityOrderMPI.py:14
CaloClusterMomentContainer_p2::m_Mkey
std::vector< unsigned short > m_Mkey
Definition: CaloClusterMomentContainer_p2.h:20
DEBUG
#define DEBUG
Definition: page_access.h:11
F
#define F(x, y, z)
Definition: MD5.cxx:112
python.CaloCondTools.log
log
Definition: CaloCondTools.py:20
RunTileMonitoring.clusters
clusters
Definition: RunTileMonitoring.py:133
CaloCluster::e
virtual double e() const
Retrieve energy independent of signal state.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:753
CaloCluster::setClusterSize
void setClusterSize(unsigned int theClusterSize)
Set cluster size.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:892
DataPool
a typed memory pool that saves time spent allocation small object. This is typically used by containe...
Definition: DataPool.h:47
CaloBadChannel
Definition: CaloBadChannel.h:8
P4SignalState::CALIBRATED
@ CALIBRATED
Definition: ISignalState.h:31
CaloRecoStatus::getStatusWord
virtual const store_type & getStatusWord() const
retrieve the entire status word
Definition: CaloRecoStatus.h:112
CaloCluster::m_rawE
double m_rawE
Stores raw signal.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:696
CaloCluster::eta0
double eta0() const
Returns raw of cluster seed.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:1180
CaloTowerSeg
Data object stores CaloTower segmentation.
Definition: CaloTowerSeg.h:37
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:790
merge.status
status
Definition: merge.py:17
CaloClusterContainer::setTowerSeg
virtual void setTowerSeg(const CaloTowerSeg &towerSeg)
Set tower segmentation into CaloClusterContainer.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloClusterContainer.h:101
CaloCluster::setBasicEnergy
virtual void setBasicEnergy(double theEnergy)
Set basic energy scale signal.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:883
CaloSamplingData
Simple data object to store all variables in calorimeter samplings.
Definition: CaloSamplingData.h:18
CaloClusterContainer_p7::CaloCluster_p::m_cellLink
ElementLinkInt_p3 m_cellLink
Definition: CaloClusterContainer_p7.h:38
xAOD::bool
setBGCode setTAP setLVL2ErrorBits bool
Definition: TrigDecision_v1.cxx:60
CaloClusterContainer_p7::m_vec
contType m_vec
Definition: CaloClusterContainer_p7.h:42
CaloCluster::addBadChannel
void addBadChannel(const CaloClusterBadChannelData &badChannel)
Add Bad channel information.
Definition: CaloCluster.cxx:1424
CaloCluster::m_barrel
bool m_barrel
Flag is true if at least one cell in EMB.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:549
CaloRecoStatus
reconstruction status indicator
Definition: CaloRecoStatus.h:12
CaloCluster::resetBadChannel
void resetBadChannel()
Reset Bad channel list.
Definition: CaloCluster.cxx:1429
CaloClusterContainerCnv_p7::m_P4EEtaPhiMCnv
P4EEtaPhiMCnv_p2 m_P4EEtaPhiMCnv
Definition: CaloClusterContainerCnv_p7.h:54
CaloClusterContainer_p7::m_badPhiList
std::vector< unsigned int > m_badPhiList
Definition: CaloClusterContainer_p7.h:60
CaloClusterContainer_p7::CaloCluster_p::m_basicSignal
float m_basicSignal
Definition: CaloClusterContainer_p7.h:24
CaloCluster::m_rawEta
double m_rawEta
Stores raw signal.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:698
P4EEtaPhiMCnv_p2::persToTrans
virtual void persToTrans(const P4EEtaPhiMFloat_p2 *persObj, P4EEtaPhiM *transObj, MsgStream &log) const override
Method creating the transient representation of P4EEtaPhiM from its persistent representation P4EEtaP...
Definition: P4EEtaPhiMCnv_p2.cxx:26
CaloCluster::phi
virtual double phi() const
Retrieve phi independent of signal state.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:759