ATLAS Offline Software
Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
TBClusterMaker Class Reference

simple cone cluster maker for TB data analysis. More...

#include <TBClusterMaker.h>

Inheritance diagram for TBClusterMaker:
Collaboration diagram for TBClusterMaker:

Public Member Functions

 TBClusterMaker (const std::string &type, const std::string &name, const IInterface *parent)
 
virtual StatusCode execute (const EventContext &ctx, xAOD::CaloClusterContainer *theClusters) const override
 Execute on an entire collection of clusters. More...
 
virtual StatusCode initialize () override
 
virtual StatusCode finalize () override
 
virtual StatusCode execute (const EventContext &ctx, xAOD::CaloClusterContainer *collection) const=0
 Execute on an entire collection of clusters. More...
 
virtual StatusCode execute (xAOD::CaloClusterContainer *collection) final
 Execute on an entire collection of clusters. More...
 
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
 
const ServiceHandle< StoreGateSvc > & evtStore () const
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
 
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc. More...
 
virtual StatusCode sysInitialize () override
 Perform system initialization for an algorithm. More...
 
virtual StatusCode sysStart () override
 Handle START transition. More...
 
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles. More...
 
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles. More...
 
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T > &t)
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &)
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, T &property, const std::string &doc="none")
 Declare a new Gaudi property. More...
 
void updateVHKA (Gaudi::Details::PropertyBase &)
 
MsgStream & msg () const
 
MsgStream & msg (const MSG::Level lvl) const
 
bool msgLvl (const MSG::Level lvl) const
 
virtual StatusCode execute (xAOD::CaloClusterContainer *collection) final
 Execute on an entire collection of clusters. More...
 

Static Public Member Functions

static const InterfaceID & interfaceID ()
 Standard Gaudi interface ID method. More...
 

Protected Member Functions

void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution More...
 
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce (T &h)
 
void extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps)
 Add StoreName to extra input/output deps as needed. More...
 

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t
 

Private Member Functions

StatusCode setupLookupTables ()
 Setup lookup tables. More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyArrayType &)
 specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleType &)
 specialization for handling Gaudi::Property<SG::VarHandleBase> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &t, const SG::NotHandleType &)
 specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
 

Private Attributes

std::vector< CaloSampling::CaloSamplem_samplings
 Vectors containing the list of used samplings and corresponding cone cuts; list of used calorimeters. More...
 
std::vector< float > m_coneCuts
 
std::vector< CaloCell_ID::SUBCALOm_calos
 
std::vector< float > m_samplingConeCuts
 Map of cone cuts for calorimeter samplings. More...
 
float m_cellCut
 Threshold cut on cell energy in sigma noise units. More...
 
float m_seedCut
 Threshold cut on seed cell energy in sigma noise units to find the 1st approximation of cluster \( \eta, \phi \). More...
 
float m_deltaR
 Maximal claster position shift at the current step to stop iterations. More...
 
int m_maxIter
 Maximal number of iterations to find cluster position. More...
 
bool m_fixClusterPosition
 Flag to fix cluster position ( \( \eta,\phi \)) from JO file. More...
 
float m_eta0
 Cluster \( \eta,\phi \)) set in JO file. More...
 
float m_phi0
 
bool m_CellEnergyInADC
 True if cell enrgy is in ADC counts, default = FALSE. More...
 
const CaloCell_IDm_calo_id
 Services. More...
 
SG::ReadCondHandleKey< CaloNoisem_elecNoiseKey { this, "ElecNoiseKey", "electronicNoise", "SG key for electronic noise" }
 
std::string m_caloCellContainerName
 Names. More...
 
std::string m_clusterContainerName
 
std::vector< std::string > m_samplingNames
 
std::map< std::string, CaloSampling::CaloSamplem_samplingFromNameLookup
 
std::map< CaloSampling::CaloSample, CaloCell_ID::SUBCALOm_caloLookup
 
std::vector< float > m_adcToMeV
 
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default) More...
 
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default) More...
 
std::vector< SG::VarHandleKeyArray * > m_vhka
 
bool m_varHandleArraysDeclared
 

Detailed Description

simple cone cluster maker for TB data analysis.

Version
$Id: TBClusterMaker.h,v 1.2 2009-04-17 09:51:30 pavol Exp $
Author
Andrey Minaenko minae.nosp@m.nko@.nosp@m.ihep..nosp@m.ru
Date
01-September-2005 Make clusters using simple cone algorithm with the sampling dependent cone size Like all other cluster maker tools this class derives from CaloClusterMakerTool.

Definition at line 31 of file TBClusterMaker.h.

Member Typedef Documentation

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< AlgTool > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ TBClusterMaker()

TBClusterMaker::TBClusterMaker ( const std::string &  type,
const std::string &  name,
const IInterface *  parent 
)

Definition at line 20 of file TBClusterMaker.cxx.

25  m_cellCut(-99999.),
26  m_seedCut(5.),
27  m_deltaR(0.02),
28  m_maxIter(4),
29  m_CellEnergyInADC(false),
30  m_calo_id(0)
31 {
32  // CaloCell Container Name
33  declareProperty("caloCellContainerName",m_caloCellContainerName="AllCalo");
34  // Names of used calorimeter samplings
35  declareProperty("samplingNames",m_samplingNames);
36  // Cone cuts for each (!!) sampling used
37  declareProperty("coneCuts",m_coneCuts);
38  // Cut on a cell energy in sigma noise units
39  declareProperty("cellCut",m_cellCut);
40  // Cut on a seed cell energy in sigma noise units
41  declareProperty("seedCut",m_seedCut);
42  // Maximal claster position shift at the current step to stop iterations
43  declareProperty("deltaR",m_deltaR);
44  // Maximal number of iterations to find cluster
45  declareProperty("maxIterations",m_maxIter);
46  // True if cell enrgy is in ADC counts, default = FALSE
47  declareProperty("CellEnergyInADC",m_CellEnergyInADC);
48  // Flag to fix cluster position ( \f$ \eta,\phi \f$) from JO file
49  declareProperty("fixClusterPosition",m_fixClusterPosition=false);
50  // Cluster \f$ \eta \f$) from JO file
51  declareProperty("etaCluster",m_eta0=99.);
52  // Cluster \f$ \phi \f$) from JO file
53  declareProperty("phiCluster",m_phi0=99.);
54 
55 }

Member Function Documentation

◆ declareGaudiProperty() [1/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleKeyArrayType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKeyArray>

Definition at line 170 of file AthCommonDataStore.h.

172  {
173  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
174  hndl.value(),
175  hndl.documentation());
176 
177  }

◆ declareGaudiProperty() [2/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleKeyType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKey>

Definition at line 156 of file AthCommonDataStore.h.

158  {
159  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
160  hndl.value(),
161  hndl.documentation());
162 
163  }

◆ declareGaudiProperty() [3/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleBase>

Definition at line 184 of file AthCommonDataStore.h.

186  {
187  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
188  hndl.value(),
189  hndl.documentation());
190  }

◆ declareGaudiProperty() [4/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  t,
const SG::NotHandleType  
)
inlineprivateinherited

specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray>

Definition at line 199 of file AthCommonDataStore.h.

200  {
201  return PBASE::declareProperty(t);
202  }

◆ declareProperty() [1/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleBase hndl,
const std::string &  doc,
const SG::VarHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation string for the property.

This is the version for types that derive from SG::VarHandleBase. The property value object is put on the input and output lists as appropriate; then we forward to the base class.

Definition at line 245 of file AthCommonDataStore.h.

249  {
250  this->declare(hndl.vhKey());
251  hndl.vhKey().setOwner(this);
252 
253  return PBASE::declareProperty(name,hndl,doc);
254  }

◆ declareProperty() [2/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleKey hndl,
const std::string &  doc,
const SG::VarHandleKeyType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation string for the property.

This is the version for types that derive from SG::VarHandleKey. The property value object is put on the input and output lists as appropriate; then we forward to the base class.

Definition at line 221 of file AthCommonDataStore.h.

225  {
226  this->declare(hndl);
227  hndl.setOwner(this);
228 
229  return PBASE::declareProperty(name,hndl,doc);
230  }

◆ declareProperty() [3/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleKeyArray hndArr,
const std::string &  doc,
const SG::VarHandleKeyArrayType  
)
inlineinherited

Definition at line 259 of file AthCommonDataStore.h.

263  {
264 
265  // std::ostringstream ost;
266  // ost << Algorithm::name() << " VHKA declareProp: " << name
267  // << " size: " << hndArr.keys().size()
268  // << " mode: " << hndArr.mode()
269  // << " vhka size: " << m_vhka.size()
270  // << "\n";
271  // debug() << ost.str() << endmsg;
272 
273  hndArr.setOwner(this);
274  m_vhka.push_back(&hndArr);
275 
276  Gaudi::Details::PropertyBase* p = PBASE::declareProperty(name, hndArr, doc);
277  if (p != 0) {
278  p->declareUpdateHandler(&AthCommonDataStore<PBASE>::updateVHKA, this);
279  } else {
280  ATH_MSG_ERROR("unable to call declareProperty on VarHandleKeyArray "
281  << name);
282  }
283 
284  return p;
285 
286  }

◆ declareProperty() [4/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc,
const SG::NotHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation string for the property.

This is the generic version, for types that do not derive from SG::VarHandleKey. It just forwards to the base class version of declareProperty.

Definition at line 333 of file AthCommonDataStore.h.

337  {
338  return PBASE::declareProperty(name, property, doc);
339  }

◆ declareProperty() [5/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc = "none" 
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation string for the property.

This dispatches to either the generic declareProperty or the one for VarHandle/Key/KeyArray.

Definition at line 352 of file AthCommonDataStore.h.

355  {
356  typedef typename SG::HandleClassifier<T>::type htype;
357  return declareProperty (name, property, doc, htype());
358  }

◆ declareProperty() [6/6]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( Gaudi::Property< T > &  t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

145  {
146  typedef typename SG::HandleClassifier<T>::type htype;
148  }

◆ detStore()

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< AlgTool > >::detStore ( ) const
inlineinherited

The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 95 of file AthCommonDataStore.h.

95 { return m_detStore; }

◆ evtStore() [1/2]

ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore ( )
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 85 of file AthCommonDataStore.h.

85 { return m_evtStore; }

◆ evtStore() [2/2]

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore ( ) const
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 90 of file AthCommonDataStore.h.

90 { return m_evtStore; }

◆ execute() [1/4]

virtual StatusCode CaloClusterCollectionProcessor::execute

Execute on an entire collection of clusters.

Parameters
collectionThe container of clusters. param ctx The event context.

◆ execute() [2/4]

StatusCode TBClusterMaker::execute ( const EventContext &  ctx,
xAOD::CaloClusterContainer collection 
) const
overridevirtual

Execute on an entire collection of clusters.

Parameters
collectionThe container of clusters. param ctx The event context.

Implements CaloClusterCollectionProcessor.

Definition at line 125 of file TBClusterMaker.cxx.

127 {
128  MsgStream log(msgSvc(), name());
129  log << MSG::DEBUG << "in execute()" << endmsg;
130 
132 
134  // Data Access //
136 
137  // CaloCells
138  const CaloCellContainer* cellContainer;
139  StatusCode sc
140  = evtStore()->retrieve(cellContainer, m_caloCellContainerName);
141  if (sc.isFailure()) {
142  log << MSG::ERROR
143  << "cannot allocate CaloCellContainer with key <"
144  << m_caloCellContainerName << ">" << endmsg;
145  return sc;
146  }
147  log << MSG::DEBUG << "CaloCellContainer container size = " <<
148  cellContainer->size() << endmsg;
149 
150  std::unique_ptr<xAOD::CaloCluster> Cluster;
151  double cluEta=0,cluPhi=0,cluNorm = 0;
152  double cluEta0=0,cluPhi0=0,cluNorm0 = 0;
153  bool clusterPositionFound = false;
154  if (m_fixClusterPosition) {
155  clusterPositionFound = true;
156  cluEta0 = m_eta0;
157  cluPhi0 = m_phi0;
158  //m_numCluIterationsConverged++;
159  }
160  int nIter = 0;
161  for (; nIter<m_maxIter+1; nIter++) {
162  // loop over calorimeters
163  for (CaloCell_ID::SUBCALO calo : m_calos) {
164  // loop over cells of the current calorimeter
165  CaloCellContainer::const_iterator itc= cellContainer->beginConstCalo(calo);
166  int cindex=cellContainer->indexFirstCellCalo(calo);
167  for (; itc!=cellContainer->endConstCalo(calo); ++itc,++cindex) {
168  const CaloCell* cell = (*itc);
169  double e = cell->energy();
170  double noiseRMS = elecNoise->getNoise(cell->ID(), cell->gain());
171  if(noiseRMS <= 0.) noiseRMS = 0.0001;
172  double eSigma = e/noiseRMS;
174  if (m_CellEnergyInADC) eSigma *= m_adcToMeV[idSample];
175  if (!clusterPositionFound) {
176  // find cluster position
177  if (nIter == 0) { // use seed cells
178  if (eSigma < m_seedCut) continue;
179  log << MSG::DEBUG <<"smp,eta,phi,e,eSigma= "
180  <<idSample<<" "<<cell->eta()<<" "<<cell->phi()<<" "<<
181  e<<" "<<eSigma<<" "<<endmsg;
182  double phiRef=0.;
183  if (cluNorm0 == 0) {
184  cluPhi0 = e*cell->phi();
185  phiRef=cell->phi();
186  }
187  else cluPhi0 += e*proxim(cell->phi(),phiRef);
188  cluEta0 += e*cell->eta();
189  cluNorm0 += e;
190  } // nIter == 0
191  else {
192  double dist = sqrt(pow(cluPhi0-proxim(cell->phi(),cluPhi0),2)
193  +pow(cluEta0-cell->eta(),2));
194  if (dist > m_samplingConeCuts[idSample]) continue;
195  if (eSigma < m_cellCut) continue;
196  //if (e>0.) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
197  if (eSigma > 2.) {
198  cluPhi += e*proxim(cell->phi(),cluPhi0);
199  cluEta += e*cell->eta();
200  cluNorm += e;
201  }
202  }
203  }
204  else {
205  // fill the cluster
206  double dist = sqrt(pow(cluPhi0-proxim(cell->phi(),cluPhi0),2)
207  +pow(cluEta0-cell->eta(),2));
208  if (dist > m_samplingConeCuts[idSample]) continue;
209  if (eSigma < m_cellCut) continue;
210  // if (!Cluster) Cluster = new CaloCluster(cluEta0,cluPhi0);
211  if (!Cluster) Cluster = CaloClusterStoreHelper:: makeCluster(cellContainer,cluEta0,cluPhi0,xAOD::CaloCluster::SW_7_11);
212  //makeCluster();
213  //Cluster->addCell(cellContainer,cell,1.);
214  Cluster->addCell(cindex,1.);
215  log << MSG::DEBUG <<"smp,e,eSigma= "
216  <<idSample<<" "<<e<<" "<<eSigma<<" "<<endmsg;
217  }
218  } // end of loop over cells of the current calorimeter
219  } // end of loop over calorimeters
220  if (clusterPositionFound) break;
221  if (nIter==0) {
222  if (cluNorm0 == 0.) {
223  //m_numSeedCellNotFound++;
224  log << MSG::INFO << "No seed cell found" << endmsg;
225  return StatusCode::SUCCESS;
226  }
227  cluPhi0 /= cluNorm0;
228  cluEta0 /= cluNorm0;
229  log << MSG::DEBUG << "nIter=0: cluEta0,cluPhi0,cluNorm0= " << cluEta0
230  << " " << cluPhi0 << " " << cluNorm0 << endmsg;
231  continue;
232  }
233  if (cluNorm == 0.) {
234  log << MSG::ERROR << "cluNorm = 0.: should never be" << endmsg;
235  return StatusCode::SUCCESS;
236  }
237  cluPhi /= cluNorm;
238  cluEta /= cluNorm;
239  double dist = sqrt(pow(cluPhi0-proxim(cluPhi,cluPhi0),2)
240  +pow(cluEta0-cluEta,2));
241  if (dist < m_deltaR) {
242  clusterPositionFound = true;
243  //m_numCluIterationsConverged++;
244  }
245  else if (nIter == m_maxIter-1) {
246  clusterPositionFound = true;
247  //m_numCluIterationsNonConverged++;
248  log << MSG::DEBUG << "Maximal number of iterations reached" << endmsg;
249  log << MSG::DEBUG << "cluEta0,cluPhi0,cluNorm0= " << cluEta0 << " " <<
250  cluPhi0 << " " << cluNorm0 << endmsg;
251  log << MSG::DEBUG << "cluEta,cluPhi,cluNorm= " << cluEta << " " <<
252  cluPhi << " " << cluNorm << endmsg;
253  }
254  cluEta0 = cluEta;
255  cluPhi0 = cluPhi;
256  cluNorm0 = cluNorm;
257  cluEta=0.; cluPhi=0.; cluNorm = 0.;
258  } // end of loop over iterations
259 
260  if (Cluster) {
261  // ** Calclulate Kine **
262  CaloClusterKineHelper::calculateKine(Cluster.get(),false,true); //No weight at this point!
263  log<<MSG::DEBUG<<"Cluster eta0, phi0= "<<Cluster->eta0()<<" "<<
264  Cluster->phi0();
265  log<<MSG::DEBUG<<" Cluster #cells, E, eta, phi= "<<
266  Cluster->clusterSize()<<" "<<Cluster->e()<<" "<<
267  Cluster->eta()<<" "<<Cluster->phi()<<endmsg;
268  log<<MSG::DEBUG<<"In samplings: #samp E eta(etasize) phi(phisize):"
269  <<endmsg;
270  //std::vector<CaloSampling::CaloSample>::const_iterator
271  //it=m_samplings.begin();
272  //for(;it!=m_samplings.end();it++) {
273  // CaloSampling::CaloSample smp=*it;
274  // if (!Cluster->is_valid_sampling(smp)) continue;
275  //log<<MSG::DEBUG<<"Valid= "<<Cluster->is_valid_sampling(smp)<<endmsg;
276  //log<<MSG::DEBUG<<"#"<<smp<<" "<<Cluster->eSample(smp)<<" ";
277  //log<<MSG::DEBUG<<"#"<<smp<<" "<<Cluster->eSample(smp)<<" "<<
278  // Cluster->etaSample(smp)<<"("<<Cluster->etasize(smp)<<") "<<
279  // Cluster->phiSample(smp)<<"("<<Cluster->phisize(smp)<<") ";
280  //}
281  //log<<MSG::DEBUG<<endmsg;
282  clusCont->push_back(std::move(Cluster));
283  return StatusCode::SUCCESS;
284  } else {
285  log << MSG::ERROR << "Cluster not found: should never be here!" << endmsg;
286  return StatusCode::SUCCESS;
287  }
288 
289 }

◆ execute() [3/4]

virtual StatusCode CaloClusterCollectionProcessor::execute
inlinefinal

Execute on an entire collection of clusters.

Parameters
collectionThe container of clusters. (deprecated)

Definition at line 49 of file CaloClusterCollectionProcessor.h.

50  {
51  return execute (Gaudi::Hive::currentContext(), collection);
52  }

◆ execute() [4/4]

virtual StatusCode CaloClusterCollectionProcessor::execute ( xAOD::CaloClusterContainer collection)
inlinefinalvirtualinherited

Execute on an entire collection of clusters.

Parameters
collectionThe container of clusters. (deprecated)

Definition at line 49 of file CaloClusterCollectionProcessor.h.

50  {
51  return execute (Gaudi::Hive::currentContext(), collection);
52  }

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::extraDeps_update_handler ( Gaudi::Details::PropertyBase &  ExtraDeps)
protectedinherited

Add StoreName to extra input/output deps as needed.

use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given

◆ finalize()

StatusCode TBClusterMaker::finalize ( )
overridevirtual

Definition at line 291 of file TBClusterMaker.cxx.

291  {
292 
293  MsgStream log(msgSvc(), name());
294  log << MSG::DEBUG << "in finalize()" << endmsg;
295 
296  //log << MSG::INFO << "Total number of found clusters = " <<
297  // m_numCluIterationsConverged + m_numCluIterationsNonConverged << endmsg;
298  //log << MSG::INFO << "Numbers of clusters with converged/non-converged " <<
299  // "iteration procedure = " << m_numCluIterationsConverged << "/" <<
300  // m_numCluIterationsNonConverged<<endmsg;
301  //log << MSG::INFO << " Seed cells were not found in " << m_numSeedCellNotFound
302  // << " events" << endmsg;
303 
304  return StatusCode::SUCCESS;
305 }

◆ initialize()

StatusCode TBClusterMaker::initialize ( )
overridevirtual

Definition at line 60 of file TBClusterMaker.cxx.

60  {
61 
62  MsgStream log(msgSvc(), name());
63  log << MSG::INFO << "in initialize()" << endmsg;
64 
65  // Get pointer to CaloCell_ID:
66  ATH_CHECK(detStore()->retrieve(m_calo_id, "CaloCell_ID"));
68 
69  // setup calorimeter module and sampling lookup tables
70  if ((this->setupLookupTables()).isFailure()) {
71  log << MSG::FATAL
72  << "problems performing setup of module and sampling lookup tables"
73  << endmsg;
74  return StatusCode::FAILURE;
75  }
76 
77  // fill map with cone cuts
78  if (m_samplingNames.size() <= 0) {
79  log << MSG::FATAL << "List of samplings is not supplied" << endmsg;
80  return StatusCode::FAILURE;
81  }
82  if (m_samplingNames.size() != m_coneCuts.size()) {
83  log << MSG::FATAL << "Number of cone cuts = " << m_coneCuts.size() <<
84  " does not correspond to the number of samplings = " <<
85  m_samplings.size() << endmsg;
86  return StatusCode::FAILURE;
87  }
88 
89  log << MSG::INFO << "Included calorimeter samplings(coneCuts): ";
90  std::vector<std::string>::const_iterator sampling = m_samplingNames.begin();
91  std::vector<float>::const_iterator cut = m_coneCuts.begin();
93  for (; sampling != m_samplingNames.end(); ++sampling, ++cut) {
95  if (idSamp == CaloSampling::Unknown) {
96  log << MSG::FATAL << " Unknown sampling: \042" << *sampling << "\042 "
97  << endmsg;
98  return StatusCode::FAILURE;
99  }
100  log << MSG::INFO << "\042" << *sampling << "\042"
101  << "(" << *cut << ") ";
102  m_samplings.push_back(idSamp);
103  m_samplingConeCuts[idSamp] = *cut;
104  CaloCell_ID::SUBCALO idCalo = m_caloLookup[idSamp];
106  for (;it!=m_calos.end();++it) if (*it == idCalo) break;
107  if (it == m_calos.end()) m_calos.push_back(idCalo);
108  }
109  log << MSG::INFO << endmsg;
110  log << MSG::INFO << "Included calorimeters: " << m_calos << endmsg;
111  if (m_fixClusterPosition && (m_eta0 == 99. || m_phi0 == 99.)) {
112  log << MSG::FATAL << " Cluster position is fixed but (eta, phi) are not "
113  << "supplied in the JO file" << endmsg;
114  return StatusCode::FAILURE;
115  }
116  // Clear counters
117  //m_numSeedCellNotFound=0;
118  //m_numCluIterationsConverged=0;
119  //m_numCluIterationsNonConverged=0;
120 
121  return StatusCode::SUCCESS;
122 }

◆ inputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< AlgTool > >::inputHandles ( ) const
overridevirtualinherited

Return this algorithm's input handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ interfaceID()

static const InterfaceID& CaloClusterCollectionProcessor::interfaceID ( )
inlinestaticinherited

Standard Gaudi interface ID method.

Definition at line 58 of file CaloClusterCollectionProcessor.h.

58 {return IID_CaloClusterCollectionProcessor;}

◆ msg() [1/2]

MsgStream& AthCommonMsg< AlgTool >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

24  {
25  return this->msgStream();
26  }

◆ msg() [2/2]

MsgStream& AthCommonMsg< AlgTool >::msg ( const MSG::Level  lvl) const
inlineinherited

Definition at line 27 of file AthCommonMsg.h.

27  {
28  return this->msgStream(lvl);
29  }

◆ msgLvl()

bool AthCommonMsg< AlgTool >::msgLvl ( const MSG::Level  lvl) const
inlineinherited

Definition at line 30 of file AthCommonMsg.h.

30  {
31  return this->msgLevel(lvl);
32  }

◆ outputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< AlgTool > >::outputHandles ( ) const
overridevirtualinherited

Return this algorithm's output handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ renounce()

std::enable_if_t<std::is_void_v<std::result_of_t<decltype(&T::renounce)(T)> > && !std::is_base_of_v<SG::VarHandleKeyArray, T> && std::is_base_of_v<Gaudi::DataHandle, T>, void> AthCommonDataStore< AthCommonMsg< AlgTool > >::renounce ( T &  h)
inlineprotectedinherited

Definition at line 380 of file AthCommonDataStore.h.

381  {
382  h.renounce();
383  PBASE::renounce (h);
384  }

◆ renounceArray()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::renounceArray ( SG::VarHandleKeyArray handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364  {
365  handlesArray.renounce();
366  }

◆ setupLookupTables()

StatusCode TBClusterMaker::setupLookupTables ( )
private

Setup lookup tables.

Definition at line 307 of file TBClusterMaker.cxx.

307  {
308 
309  m_samplingFromNameLookup["PreSamplerB"] = CaloSampling::PreSamplerB; // electromagnetic barrel
313  m_samplingFromNameLookup["PreSamplerE"] = CaloSampling::PreSamplerE; // electromagnetic endcap
317  m_samplingFromNameLookup["HEC0"] = CaloSampling::HEC0; // hadronic endcap
321  m_samplingFromNameLookup["TileBar0"] = CaloSampling::TileBar0; // tile barrel
324  m_samplingFromNameLookup["TileGap1"] = CaloSampling::TileGap1; // tile gap scintillators
327  m_samplingFromNameLookup["TileExt0"] = CaloSampling::TileExt0; // tile extended barrel
334 
335  // fill calo lookup table
360 
361  // fill ADC to MeV conversion map (for HIGH gain !!)
371 
372  return StatusCode::SUCCESS;
373 }

◆ sysInitialize()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysInitialize ( )
overridevirtualinherited

Perform system initialization for an algorithm.

We override this to declare all the elements of handle key arrays at the end of initialization. See comments on updateVHKA.

Reimplemented in DerivationFramework::CfAthAlgTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and asg::AsgMetadataTool.

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysStart ( )
overridevirtualinherited

Handle START transition.

We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.

◆ updateVHKA()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::updateVHKA ( Gaudi::Details::PropertyBase &  )
inlineinherited

Definition at line 308 of file AthCommonDataStore.h.

308  {
309  // debug() << "updateVHKA for property " << p.name() << " " << p.toString()
310  // << " size: " << m_vhka.size() << endmsg;
311  for (auto &a : m_vhka) {
312  std::vector<SG::VarHandleKey*> keys = a->keys();
313  for (auto k : keys) {
314  k->setOwner(this);
315  }
316  }
317  }

Member Data Documentation

◆ m_adcToMeV

std::vector<float> TBClusterMaker::m_adcToMeV
private

Definition at line 100 of file TBClusterMaker.h.

◆ m_calo_id

const CaloCell_ID* TBClusterMaker::m_calo_id
private

Services.

Definition at line 88 of file TBClusterMaker.h.

◆ m_caloCellContainerName

std::string TBClusterMaker::m_caloCellContainerName
private

Names.

Definition at line 94 of file TBClusterMaker.h.

◆ m_caloLookup

std::map<CaloSampling::CaloSample, CaloCell_ID::SUBCALO> TBClusterMaker::m_caloLookup
private

Definition at line 99 of file TBClusterMaker.h.

◆ m_calos

std::vector<CaloCell_ID::SUBCALO> TBClusterMaker::m_calos
private

Definition at line 51 of file TBClusterMaker.h.

◆ m_cellCut

float TBClusterMaker::m_cellCut
private

Threshold cut on cell energy in sigma noise units.

Definition at line 59 of file TBClusterMaker.h.

◆ m_CellEnergyInADC

bool TBClusterMaker::m_CellEnergyInADC
private

True if cell enrgy is in ADC counts, default = FALSE.

Definition at line 85 of file TBClusterMaker.h.

◆ m_clusterContainerName

std::string TBClusterMaker::m_clusterContainerName
private

Definition at line 95 of file TBClusterMaker.h.

◆ m_coneCuts

std::vector<float> TBClusterMaker::m_coneCuts
private

Definition at line 50 of file TBClusterMaker.h.

◆ m_deltaR

float TBClusterMaker::m_deltaR
private

Maximal claster position shift at the current step to stop iterations.

Definition at line 69 of file TBClusterMaker.h.

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_elecNoiseKey

SG::ReadCondHandleKey<CaloNoise> TBClusterMaker::m_elecNoiseKey { this, "ElecNoiseKey", "electronicNoise", "SG key for electronic noise" }
private

Definition at line 90 of file TBClusterMaker.h.

◆ m_eta0

float TBClusterMaker::m_eta0
private

Cluster \( \eta,\phi \)) set in JO file.

Definition at line 81 of file TBClusterMaker.h.

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_fixClusterPosition

bool TBClusterMaker::m_fixClusterPosition
private

Flag to fix cluster position ( \( \eta,\phi \)) from JO file.

Definition at line 77 of file TBClusterMaker.h.

◆ m_maxIter

int TBClusterMaker::m_maxIter
private

Maximal number of iterations to find cluster position.

Definition at line 73 of file TBClusterMaker.h.

◆ m_phi0

float TBClusterMaker::m_phi0
private

Definition at line 82 of file TBClusterMaker.h.

◆ m_samplingConeCuts

std::vector<float> TBClusterMaker::m_samplingConeCuts
private

Map of cone cuts for calorimeter samplings.

Definition at line 55 of file TBClusterMaker.h.

◆ m_samplingFromNameLookup

std::map<std::string, CaloSampling::CaloSample> TBClusterMaker::m_samplingFromNameLookup
private

Definition at line 98 of file TBClusterMaker.h.

◆ m_samplingNames

std::vector<std::string> TBClusterMaker::m_samplingNames
private

Definition at line 96 of file TBClusterMaker.h.

◆ m_samplings

std::vector<CaloSampling::CaloSample> TBClusterMaker::m_samplings
private

Vectors containing the list of used samplings and corresponding cone cuts; list of used calorimeters.

Definition at line 49 of file TBClusterMaker.h.

◆ m_seedCut

float TBClusterMaker::m_seedCut
private

Threshold cut on seed cell energy in sigma noise units to find the 1st approximation of cluster \( \eta, \phi \).

Definition at line 64 of file TBClusterMaker.h.

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< AlgTool > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

std::vector<SG::VarHandleKeyArray*> AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
privateinherited

Definition at line 398 of file AthCommonDataStore.h.


The documentation for this class was generated from the following files:
CaloClusterStoreHelper::makeCluster
static std::unique_ptr< xAOD::CaloCluster > makeCluster(const CaloCellContainer *cellCont)
Creates a valid CaloCluster with a private Aux-Store and CellLink container.
Definition: CaloClusterStoreHelper.cxx:13
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
xAOD::CaloCluster_v1::phi0
flt_t phi0() const
Returns raw of cluster seed.
xAOD::CaloCluster_v1::phi
virtual double phi() const
The azimuthal angle ( ) of the particle.
Definition: CaloCluster_v1.cxx:256
GetLCDefs::Unknown
@ Unknown
Definition: GetLCDefs.h:21
TBClusterMaker::m_maxIter
int m_maxIter
Maximal number of iterations to find cluster position.
Definition: TBClusterMaker.h:73
CaloCell_Base_ID::LARFCAL
@ LARFCAL
Definition: CaloCell_Base_ID.h:46
DataModel_detail::const_iterator
Const iterator class for DataVector/DataList.
Definition: DVLIterator.h:82
CaloCell_ID_FCS::TileExt2
@ TileExt2
Definition: FastCaloSim_CaloCell_ID.h:39
constants.EMB1
int EMB1
Definition: Calorimeter/CaloClusterCorrection/python/constants.py:53
ReadCellNoiseFromCool.cell
cell
Definition: ReadCellNoiseFromCool.py:53
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
TBClusterMaker::m_cellCut
float m_cellCut
Threshold cut on cell energy in sigma noise units.
Definition: TBClusterMaker.h:59
python.Constants.FATAL
int FATAL
Definition: Control/AthenaCommon/python/Constants.py:19
SG::ReadCondHandle
Definition: ReadCondHandle.h:44
AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
TBClusterMaker::m_deltaR
float m_deltaR
Maximal claster position shift at the current step to stop iterations.
Definition: TBClusterMaker.h:69
CaloCell_ID_FCS::TileExt0
@ TileExt0
Definition: FastCaloSim_CaloCell_ID.h:37
CaloCell_ID_FCS::TileBar1
@ TileBar1
Definition: FastCaloSim_CaloCell_ID.h:32
CaloClusterCollectionProcessor::execute
virtual StatusCode execute(const EventContext &ctx, xAOD::CaloClusterContainer *collection) const =0
Execute on an entire collection of clusters.
conifer::pow
constexpr int pow(int x)
Definition: conifer.h:20
proxim
double proxim(double b, double a)
Definition: proxim.h:17
skel.it
it
Definition: skel.GENtoEVGEN.py:423
TBClusterMaker::m_elecNoiseKey
SG::ReadCondHandleKey< CaloNoise > m_elecNoiseKey
Definition: TBClusterMaker.h:91
CaloCellContainer::beginConstCalo
CaloCellContainer::const_iterator beginConstCalo(CaloCell_ID::SUBCALO caloNum) const
get const iterators on cell of just one calo
Definition: CaloCellContainer.cxx:119
CaloCell_ID_FCS::FCAL1
@ FCAL1
Definition: FastCaloSim_CaloCell_ID.h:41
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
Definition: AthCommonDataStore.h:390
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
std::vector< SG::VarHandleKeyArray * > m_vhka
Definition: AthCommonDataStore.h:398
TBClusterMaker::m_seedCut
float m_seedCut
Threshold cut on seed cell energy in sigma noise units to find the 1st approximation of cluster .
Definition: TBClusterMaker.h:64
TBClusterMaker::m_adcToMeV
std::vector< float > m_adcToMeV
Definition: TBClusterMaker.h:100
CaloCell_Base_ID::LARHEC
@ LARHEC
Definition: CaloCell_Base_ID.h:46
TBClusterMaker::m_samplingFromNameLookup
std::map< std::string, CaloSampling::CaloSample > m_samplingFromNameLookup
Definition: TBClusterMaker.h:98
CaloCell_ID_FCS::HEC2
@ HEC2
Definition: FastCaloSim_CaloCell_ID.h:29
CaloCell_Base_ID::calo_sample
int calo_sample(const Identifier id) const
returns an int taken from Sampling enum and describing the subCalo to which the Id belongs.
Definition: CaloCell_Base_ID.cxx:141
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
CaloCell_ID_FCS::TileGap3
@ TileGap3
Definition: FastCaloSim_CaloCell_ID.h:36
xAOD::CaloCluster_v1::SW_7_11
@ SW_7_11
Definition: CaloCluster_v1.h:105
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
AthCommonDataStore< AthCommonMsg< AlgTool > >::detStore
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:95
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
xAOD::CaloCluster_v1::clusterSize
ClusterSize clusterSize() const
Get cluster size.
Definition: CaloCluster_v1.cxx:364
AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:85
CaloCellContainer::indexFirstCellCalo
int indexFirstCellCalo(const CaloCell_ID::SUBCALO caloNum) const
index of first cell of given calorimeter (-1 if none).
Definition: CaloCellContainer.cxx:137
TBClusterMaker::m_samplings
std::vector< CaloSampling::CaloSample > m_samplings
Vectors containing the list of used samplings and corresponding cone cuts; list of used calorimeters.
Definition: TBClusterMaker.h:49
AthCommonDataStore
Definition: AthCommonDataStore.h:52
CaloCell_ID_FCS::HEC1
@ HEC1
Definition: FastCaloSim_CaloCell_ID.h:28
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
constants.EMB2
int EMB2
Definition: Calorimeter/CaloClusterCorrection/python/constants.py:54
StdJOSetup.msgSvc
msgSvc
Provide convenience handles for various services.
Definition: StdJOSetup.py:36
xAOD::CaloCluster_v1::eta
virtual double eta() const
The pseudorapidity ( ) of the particle.
Definition: CaloCluster_v1.cxx:251
CaloSampling::CaloSample
CaloSample
Definition: Calorimeter/CaloGeoHelpers/CaloGeoHelpers/CaloSampling.h:22
CaloCell_ID_FCS::TileBar0
@ TileBar0
Definition: FastCaloSim_CaloCell_ID.h:31
TBClusterMaker::m_calos
std::vector< CaloCell_ID::SUBCALO > m_calos
Definition: TBClusterMaker.h:51
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
TBClusterMaker::setupLookupTables
StatusCode setupLookupTables()
Setup lookup tables.
Definition: TBClusterMaker.cxx:307
CaloCell_ID_FCS::TileGap2
@ TileGap2
Definition: FastCaloSim_CaloCell_ID.h:35
CaloCell_Base_ID::SUBCALO
SUBCALO
enumeration of sub calorimeters
Definition: CaloCell_Base_ID.h:46
BindingsTest.cut
cut
This script demonstrates how to call a C++ class from Python Also how to use PyROOT is shown.
Definition: BindingsTest.py:13
test_pyathena.parent
parent
Definition: test_pyathena.py:15
TBClusterMaker::m_samplingNames
std::vector< std::string > m_samplingNames
Definition: TBClusterMaker.h:96
constants.EME1
int EME1
Definition: Calorimeter/CaloClusterCorrection/python/constants.py:55
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
CaloCell_Base_ID::TILE
@ TILE
Definition: CaloCell_Base_ID.h:46
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
TBClusterMaker::m_phi0
float m_phi0
Definition: TBClusterMaker.h:82
CaloCell_ID_FCS::TileGap1
@ TileGap1
Definition: FastCaloSim_CaloCell_ID.h:34
AthAlgTool::AthAlgTool
AthAlgTool()
Default constructor:
SG::VarHandleKeyArray::renounce
virtual void renounce()=0
SG::HandleClassifier::type
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Definition: HandleClassifier.h:54
TBClusterMaker::m_fixClusterPosition
bool m_fixClusterPosition
Flag to fix cluster position ( ) from JO file.
Definition: TBClusterMaker.h:77
TBClusterMaker::m_samplingConeCuts
std::vector< float > m_samplingConeCuts
Map of cone cuts for calorimeter samplings.
Definition: TBClusterMaker.h:55
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
TBClusterMaker::m_CellEnergyInADC
bool m_CellEnergyInADC
True if cell enrgy is in ADC counts, default = FALSE.
Definition: TBClusterMaker.h:85
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
CaloCell_ID_FCS::TileExt1
@ TileExt1
Definition: FastCaloSim_CaloCell_ID.h:38
CaloCell_ID_FCS::EME3
@ EME3
Definition: FastCaloSim_CaloCell_ID.h:26
SG::CondHandleKey::initialize
StatusCode initialize(bool used=true)
TBClusterMaker::m_calo_id
const CaloCell_ID * m_calo_id
Services.
Definition: TBClusterMaker.h:88
CaloSampling::getNumberOfSamplings
static constexpr unsigned int getNumberOfSamplings()
Get number of available samplings.
Definition: Calorimeter/CaloGeoHelpers/CaloGeoHelpers/CaloSampling.h:30
CaloCellContainer
Container class for CaloCell.
Definition: CaloCellContainer.h:55
TBClusterMaker::m_caloLookup
std::map< CaloSampling::CaloSample, CaloCell_ID::SUBCALO > m_caloLookup
Definition: TBClusterMaker.h:99
TBClusterMaker::m_caloCellContainerName
std::string m_caloCellContainerName
Names.
Definition: TBClusterMaker.h:94
CaloCell_ID_FCS::HEC0
@ HEC0
Definition: FastCaloSim_CaloCell_ID.h:27
TBClusterMaker::m_eta0
float m_eta0
Cluster ) set in JO file.
Definition: TBClusterMaker.h:81
xAOD::CaloCluster_v1::eta0
flt_t eta0() const
Returns raw of cluster seed.
DiTauMassTools::MaxHistStrategyV2::e
e
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:26
a
TList * a
Definition: liststreamerinfos.cxx:10
h
CaloCell
Data object for each calorimeter readout cell.
Definition: CaloCell.h:57
TBClusterMaker::execute
virtual StatusCode execute(const EventContext &ctx, xAOD::CaloClusterContainer *theClusters) const override
Execute on an entire collection of clusters.
Definition: TBClusterMaker.cxx:125
CaloCell_ID_FCS::PreSamplerE
@ PreSamplerE
Definition: FastCaloSim_CaloCell_ID.h:23
CaloCell_ID_FCS::PreSamplerB
@ PreSamplerB
Definition: FastCaloSim_CaloCell_ID.h:19
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
DEBUG
#define DEBUG
Definition: page_access.h:11
xAOD::CaloCluster_v1::addCell
bool addCell(const unsigned index, const double weight)
Method to add a cell to the cluster (Beware: Kinematics not updated!)
Definition: CaloCluster_v1.h:771
python.CaloCondTools.log
log
Definition: CaloCondTools.py:20
CaloCellContainer::endConstCalo
CaloCellContainer::const_iterator endConstCalo(CaloCell_ID::SUBCALO caloNum) const
Definition: CaloCellContainer.cxx:133
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:616
CaloClusterKineHelper::calculateKine
static void calculateKine(xAOD::CaloCluster *clu, const bool useweight=true, const bool updateLayers=true, const bool useGPUCriteria=false)
Helper class to calculate cluster kinematics based on cells.
Definition: CaloClusterKineHelper.cxx:223
declareProperty
#define declareProperty(n, p, h)
Definition: BaseFakeBkgTool.cxx:15
CaloCell_ID_FCS::FCAL2
@ FCAL2
Definition: FastCaloSim_CaloCell_ID.h:42
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:790
CaloCell_ID_FCS::HEC3
@ HEC3
Definition: FastCaloSim_CaloCell_ID.h:30
CaloCell_Base_ID::LAREM
@ LAREM
Definition: CaloCell_Base_ID.h:46
CaloCell_ID_FCS::FCAL0
@ FCAL0
Definition: FastCaloSim_CaloCell_ID.h:40
CaloCell_ID_FCS::EMB3
@ EMB3
Definition: FastCaloSim_CaloCell_ID.h:22
DataVector::size
size_type size() const noexcept
Returns the number of elements in the collection.
CaloCell_ID_FCS::TileBar2
@ TileBar2
Definition: FastCaloSim_CaloCell_ID.h:33
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
TBClusterMaker::m_coneCuts
std::vector< float > m_coneCuts
Definition: TBClusterMaker.h:50
xAOD::CaloCluster_v1::e
virtual double e() const
The total energy of the particle.
Definition: CaloCluster_v1.cxx:265
constants.EME2
int EME2
Definition: Calorimeter/CaloClusterCorrection/python/constants.py:56
fitman.k
k
Definition: fitman.py:528