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

#include <SpacePointAnalysis.h>

Inheritance diagram for SpacePointAnalysis:
Collaboration diagram for SpacePointAnalysis:

Public Member Functions

 SpacePointAnalysis (const std::string &name, ISvcLocator *pSvcLocator)
 
 ~SpacePointAnalysis ()
 
virtual StatusCode initialize () override final
 
virtual StatusCode execute () override final
 
virtual unsigned int cardinality () const override
 
virtual StatusCode sysInitialize () override
 Override sysInitialize. More...
 
virtual const DataObjIDColl & extraOutputDeps () const override
 Return the list of extra output dependencies. 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 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
 

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

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

SG::ReadHandleKey< SpacePointContainerm_inputKey {this, "InputKey", "PixelSpacePoints", "Key of input space points"}
 
SG::ReadHandleKey< SpacePointOverlapCollectionm_inputOverlapKey {this, "InputOverlapKey", "OverlapSpacePoints", "Key of input for overlap space points"}
 
const PixelIDm_pixelID {}
 
const SCT_IDm_stripID {}
 
std::vector< int > * m_barrelEndcap {}
 
std::vector< int > * m_layerDisk {}
 
std::vector< int > * m_phiModule {}
 
std::vector< int > * m_etaModule {}
 
std::vector< int > * m_sideModule {}
 
std::vector< int > * m_isInnermost {}
 
std::vector< int > * m_isNextToInnermost {}
 
std::vector< int > * m_isOverlap {}
 
std::vector< double > * m_eta {}
 
std::vector< double > * m_globalX {}
 
std::vector< double > * m_globalY {}
 
std::vector< double > * m_globalZ {}
 
std::vector< double > * m_globalCovXX {}
 
std::vector< double > * m_globalCovYY {}
 
std::vector< double > * m_globalCovZZ {}
 
std::vector< double > * m_globalCovXY {}
 
std::vector< double > * m_globalCovXZ {}
 
std::vector< double > * m_globalCovYX {}
 
std::vector< double > * m_globalCovYZ {}
 
std::vector< double > * m_globalCovZX {}
 
std::vector< double > * m_globalCovZY {}
 
TH2 * m_h_globalZR {}
 
TH1 * m_h_etaSpacePoint {}
 
TTree * m_tree {}
 
StringProperty m_ntupleFileName {this, "NtupleFileName", "/ntuples/file1", "Output filename"}
 
StringProperty m_ntupleDirName {this, "NtupleDirectoryName", "/SpacePointAnalysis/", "Directory name in output file"}
 
StringProperty m_ntupleTreeName {this, "NtupleTreeName", "SpacePointAna", "Tree name in output file"}
 
StringProperty m_path {this, "HistPath", "/SpacePointAnalysis/", "Full path in output file"}
 
ServiceHandle< ITHistSvc > m_thistSvc { this, "THistSvc", "THistSvc", "Histogramming svc" }
 
BooleanProperty m_usePixel {this, "UsePixel", true, "enable use of pixel ID or SCT ID"}
 
BooleanProperty m_useOverlap {this, "UseOverlap", true, "enable use of overlap for SCT ID"}
 
DataObjIDColl m_extendedExtraObjects
 
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

Definition at line 26 of file SpacePointAnalysis.h.

Member Typedef Documentation

◆ StoreGateSvc_t

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

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ SpacePointAnalysis()

SpacePointAnalysis::SpacePointAnalysis ( const std::string &  name,
ISvcLocator *  pSvcLocator 
)

Definition at line 20 of file SpacePointAnalysis.cxx.

21 : AthAlgorithm(name, pSvcLocator) {}

◆ ~SpacePointAnalysis()

SpacePointAnalysis::~SpacePointAnalysis ( )
inline

Definition at line 30 of file SpacePointAnalysis.h.

30 {}

Member Function Documentation

◆ cardinality()

virtual unsigned int SpacePointAnalysis::cardinality ( ) const
inlineoverridevirtual

Definition at line 34 of file SpacePointAnalysis.h.

34 { return 1; }

◆ declareGaudiProperty() [1/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Algorithm > >::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< Algorithm > >::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< Algorithm > >::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< Algorithm > >::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< Algorithm > >::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< Algorithm > >::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< Algorithm > >::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< Algorithm > >::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< Algorithm > >::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< Algorithm > >::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< Algorithm > >::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< Algorithm > >::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< Algorithm > >::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()

StatusCode SpacePointAnalysis::execute ( )
finaloverridevirtual

Definition at line 80 of file SpacePointAnalysis.cxx.

80  {
81  ATH_MSG_DEBUG(" In SpacePointAnalysis::execute()" );
82 
83  m_barrelEndcap->clear();
84  m_layerDisk->clear();
85  m_phiModule->clear();
86  m_etaModule->clear();
87  m_sideModule->clear();
88  m_isInnermost->clear();
89  m_isNextToInnermost->clear();
90  m_isOverlap->clear();
91  m_eta->clear();
92  m_globalX->clear();
93  m_globalY->clear();
94  m_globalZ->clear();
95  m_globalCovXX->clear();
96  m_globalCovYY->clear();
97  m_globalCovZZ->clear();
98  m_globalCovXY->clear();
99  m_globalCovXZ->clear();
100  m_globalCovYX->clear();
101  m_globalCovYZ->clear();
102  m_globalCovZX->clear();
103  m_globalCovZY->clear();
104 
105  const EventContext& ctx = Algorithm::getContext();
106 
108  if(spContainer.isValid()) {
109  for( const SpacePointCollection* spCollection : *spContainer) {
110  if (!spCollection) continue;
111  for( const Trk::SpacePoint* spacePoint : *spCollection) {
112  const Identifier idColl(spCollection->identify());
113  const int brlEc(m_usePixel ? m_pixelID->barrel_ec(idColl) : m_stripID->barrel_ec(idColl));
114  const int layerDisk(m_usePixel ? m_pixelID->layer_disk(idColl) : m_stripID->layer_disk(idColl));
115  const int phiMod(m_usePixel ? m_pixelID->phi_module(idColl) : m_stripID->phi_module(idColl));
116  const int etaMod(m_usePixel ? m_pixelID->eta_module(idColl) : m_stripID->eta_module(idColl));
117  const int side(m_usePixel ? 0 : m_stripID->side(idColl));
118 
119  bool isInnermost = m_usePixel ? (layerDisk==0) : false;
120  bool isNextToInnermost = m_usePixel ? ((layerDisk==1) or (brlEc!=0 and layerDisk==2)) : false;
121 
122  m_barrelEndcap->push_back(brlEc);
123  m_layerDisk->push_back(layerDisk);
124  m_phiModule->push_back(phiMod);
125  m_etaModule->push_back(etaMod);
126  m_sideModule->push_back(side);
127  m_isInnermost->push_back(int(isInnermost));
128  m_isNextToInnermost->push_back(int(isNextToInnermost));
129  m_isOverlap->push_back(0);
130 
131  auto globalPos = spacePoint->globalPosition();
132  auto globalCov = spacePoint->globCovariance();
133 
134  m_eta->push_back(globalPos.eta());
135  m_globalX->push_back(globalPos.x());
136  m_globalY->push_back(globalPos.y());
137  m_globalZ->push_back(globalPos.z());
138 
139  m_globalCovXX->push_back(globalCov(0,0));
140  m_globalCovYY->push_back(globalCov(1,1));
141  m_globalCovZZ->push_back(globalCov(2,2));
142  m_globalCovXY->push_back(globalCov(0,1));
143  m_globalCovXZ->push_back(globalCov(0,2));
144  m_globalCovYX->push_back(globalCov(1,0));
145  m_globalCovYZ->push_back(globalCov(1,2));
146  m_globalCovZX->push_back(globalCov(2,0));
147  m_globalCovZY->push_back(globalCov(2,1));
148 
149  m_h_globalZR->Fill(globalPos.z(), globalPos.perp());
150  m_h_etaSpacePoint->Fill(globalPos.eta());
151 
152  }
153  }
154  } else {
155  ATH_MSG_FATAL("Unable to get SpacePointContainer: " << m_inputKey.key());
156  }
157 
158  if (not m_usePixel and m_useOverlap) {
160  if (spCollection.isValid()) {
161  for( const Trk::SpacePoint* spacePoint : *spCollection) {
162  const IdentifierHash hashId(spacePoint->elementIdList().first);
163  const Identifier idColl = m_stripID->wafer_id(hashId);
164 
165  const int brlEc(m_stripID->barrel_ec(idColl));
166  const int layerDisk(m_stripID->layer_disk(idColl));
167  const int phiMod(m_stripID->phi_module(idColl));
168  const int etaMod(m_stripID->eta_module(idColl));
169  const int side(m_stripID->side(idColl));
170 
171  const bool isInnermost(false);
172  const bool isNextToInnermost(false);
173 
174  m_barrelEndcap->push_back(brlEc);
175  m_layerDisk->push_back(layerDisk);
176  m_phiModule->push_back(phiMod);
177  m_etaModule->push_back(etaMod);
178  m_sideModule->push_back(side);
179  m_isInnermost->push_back(int(isInnermost));
180  m_isNextToInnermost->push_back(int(isNextToInnermost));
181  m_isOverlap->push_back(1);
182 
183  auto globalPos = spacePoint->globalPosition();
184  auto globalCov = spacePoint->globCovariance();
185 
186  m_eta->push_back(globalPos.eta());
187  m_globalX->push_back(globalPos.x());
188  m_globalY->push_back(globalPos.y());
189  m_globalZ->push_back(globalPos.z());
190 
191  m_globalCovXX->push_back(globalCov(0,0));
192  m_globalCovYY->push_back(globalCov(1,1));
193  m_globalCovZZ->push_back(globalCov(2,2));
194  m_globalCovXY->push_back(globalCov(0,1));
195  m_globalCovXZ->push_back(globalCov(0,2));
196  m_globalCovYX->push_back(globalCov(1,0));
197  m_globalCovYZ->push_back(globalCov(1,2));
198  m_globalCovZX->push_back(globalCov(2,0));
199  m_globalCovZY->push_back(globalCov(2,1));
200 
201  m_h_globalZR->Fill(globalPos.z(), globalPos.perp());
202  m_h_etaSpacePoint->Fill(globalPos.eta());
203 
204  }
205  } else {
206  ATH_MSG_FATAL("Unable to get SpacePointContainer: " << m_inputOverlapKey.key());
207  }
208  }
209 
210  if (m_tree) {
211  m_tree->Fill();
212  }
213 
214  return StatusCode::SUCCESS;
215 }

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< Algorithm > >::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

◆ extraOutputDeps()

const DataObjIDColl & AthAlgorithm::extraOutputDeps ( ) const
overridevirtualinherited

Return the list of extra output dependencies.

This list is extended to include symlinks implied by inheritance relations.

Definition at line 50 of file AthAlgorithm.cxx.

51 {
52  // If we didn't find any symlinks to add, just return the collection
53  // from the base class. Otherwise, return the extended collection.
54  if (!m_extendedExtraObjects.empty()) {
56  }
57  return Algorithm::extraOutputDeps();
58 }

◆ initialize()

StatusCode SpacePointAnalysis::initialize ( )
finaloverridevirtual

Definition at line 23 of file SpacePointAnalysis.cxx.

23  {
24  ATH_MSG_DEBUG( "Initializing SpacePointAnalysis" );
25 
27 
29 
30  if (m_usePixel)
31  ATH_CHECK(detStore()->retrieve(m_pixelID, "PixelID"));
32  else
33  ATH_CHECK(detStore()->retrieve(m_stripID, "SCT_ID"));
34 
35  ATH_CHECK(m_thistSvc.retrieve());
36 
37  m_tree = new TTree(TString(m_ntupleTreeName.value()), "SpacePointAna");
38  std::string fullNtupleName = m_ntupleFileName.value() + m_ntupleDirName.value() + m_ntupleTreeName.value();
39  ATH_CHECK(m_thistSvc->regTree(fullNtupleName, m_tree));
40 
41  if (m_tree) {
42  m_tree->Branch("barrelEndcap", &m_barrelEndcap);
43  m_tree->Branch("layerDisk", &m_layerDisk);
44  m_tree->Branch("phiModule", &m_phiModule);
45  m_tree->Branch("etaModule", &m_etaModule);
46  m_tree->Branch("sideModule", &m_sideModule);
47  m_tree->Branch("isInnermost", &m_isInnermost);
48  m_tree->Branch("isNextToInnermost", &m_isNextToInnermost);
49  m_tree->Branch("isOverlap", &m_isOverlap);
50  m_tree->Branch("eta", &m_eta);
51  m_tree->Branch("globalX", &m_globalX);
52  m_tree->Branch("globalY", &m_globalY);
53  m_tree->Branch("globalZ", &m_globalZ);
54  m_tree->Branch("globalCovXX", &m_globalCovXX);
55  m_tree->Branch("globalCovYY", &m_globalCovYY);
56  m_tree->Branch("globalCovZZ", &m_globalCovZZ);
57  m_tree->Branch("globalCovXY", &m_globalCovXY);
58  m_tree->Branch("globalCovXZ", &m_globalCovXZ);
59  m_tree->Branch("globalCovYX", &m_globalCovYX);
60  m_tree->Branch("globalCovYZ", &m_globalCovYZ);
61  m_tree->Branch("globalCovZX", &m_globalCovZX);
62  m_tree->Branch("globalCovZY", &m_globalCovZY);
63 
64  } else {
65  ATH_MSG_ERROR("No tree found!");
66  }
67 
68  m_h_globalZR = new TH2F("h_globalZR","h_globalZR; z [mm]; r [mm]",1500,-3000.,3000,1500,0.,1500);
69  ATH_CHECK(m_thistSvc->regHist(m_path.value() + m_h_globalZR->GetName(), m_h_globalZR));
70 
71  m_h_etaSpacePoint = new TH1F("m_h_etaSpacePoint","m_h_etaSpacePoint; space point #eta",100, -5, 5);
72  ATH_CHECK(m_thistSvc->regHist(m_path.value() + m_h_etaSpacePoint->GetName(), m_h_etaSpacePoint));
73 
74  if (m_usePixel and m_useOverlap)
75  ATH_MSG_INFO("No overlap collection when enabled for pixel space points! Check your configuration if needed.");
76 
77  return StatusCode::SUCCESS;
78 }

◆ inputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< Algorithm > >::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.

◆ msg() [1/2]

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

Definition at line 24 of file AthCommonMsg.h.

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

◆ msg() [2/2]

MsgStream& AthCommonMsg< Algorithm >::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< Algorithm >::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< Algorithm > >::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< Algorithm > >::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< Algorithm > >::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  }

◆ sysInitialize()

StatusCode AthAlgorithm::sysInitialize ( )
overridevirtualinherited

Override sysInitialize.

Override sysInitialize from the base class.

Loop through all output handles, and if they're WriteCondHandles, automatically register them and this Algorithm with the CondSvc

Scan through all outputHandles, and if they're WriteCondHandles, register them with the CondSvc

Reimplemented from AthCommonDataStore< AthCommonMsg< Algorithm > >.

Reimplemented in AthAnalysisAlgorithm, AthFilterAlgorithm, PyAthena::Alg, and AthHistogramAlgorithm.

Definition at line 66 of file AthAlgorithm.cxx.

66  {
68 
69  if (sc.isFailure()) {
70  return sc;
71  }
72  ServiceHandle<ICondSvc> cs("CondSvc",name());
73  for (auto h : outputHandles()) {
74  if (h->isCondition() && h->mode() == Gaudi::DataHandle::Writer) {
75  // do this inside the loop so we don't create the CondSvc until needed
76  if ( cs.retrieve().isFailure() ) {
77  ATH_MSG_WARNING("no CondSvc found: won't autoreg WriteCondHandles");
78  return StatusCode::SUCCESS;
79  }
80  if (cs->regHandle(this,*h).isFailure()) {
81  sc = StatusCode::FAILURE;
82  ATH_MSG_ERROR("unable to register WriteCondHandle " << h->fullKey()
83  << " with CondSvc");
84  }
85  }
86  }
87  return sc;
88 }

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< Algorithm > >::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< Algorithm > >::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_barrelEndcap

std::vector<int>* SpacePointAnalysis::m_barrelEndcap {}
private

Definition at line 42 of file SpacePointAnalysis.h.

◆ m_detStore

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

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_eta

std::vector<double>* SpacePointAnalysis::m_eta {}
private

Definition at line 50 of file SpacePointAnalysis.h.

◆ m_etaModule

std::vector<int>* SpacePointAnalysis::m_etaModule {}
private

Definition at line 45 of file SpacePointAnalysis.h.

◆ m_evtStore

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

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_extendedExtraObjects

DataObjIDColl AthAlgorithm::m_extendedExtraObjects
privateinherited

Definition at line 79 of file AthAlgorithm.h.

◆ m_globalCovXX

std::vector<double>* SpacePointAnalysis::m_globalCovXX {}
private

Definition at line 54 of file SpacePointAnalysis.h.

◆ m_globalCovXY

std::vector<double>* SpacePointAnalysis::m_globalCovXY {}
private

Definition at line 57 of file SpacePointAnalysis.h.

◆ m_globalCovXZ

std::vector<double>* SpacePointAnalysis::m_globalCovXZ {}
private

Definition at line 58 of file SpacePointAnalysis.h.

◆ m_globalCovYX

std::vector<double>* SpacePointAnalysis::m_globalCovYX {}
private

Definition at line 59 of file SpacePointAnalysis.h.

◆ m_globalCovYY

std::vector<double>* SpacePointAnalysis::m_globalCovYY {}
private

Definition at line 55 of file SpacePointAnalysis.h.

◆ m_globalCovYZ

std::vector<double>* SpacePointAnalysis::m_globalCovYZ {}
private

Definition at line 60 of file SpacePointAnalysis.h.

◆ m_globalCovZX

std::vector<double>* SpacePointAnalysis::m_globalCovZX {}
private

Definition at line 61 of file SpacePointAnalysis.h.

◆ m_globalCovZY

std::vector<double>* SpacePointAnalysis::m_globalCovZY {}
private

Definition at line 62 of file SpacePointAnalysis.h.

◆ m_globalCovZZ

std::vector<double>* SpacePointAnalysis::m_globalCovZZ {}
private

Definition at line 56 of file SpacePointAnalysis.h.

◆ m_globalX

std::vector<double>* SpacePointAnalysis::m_globalX {}
private

Definition at line 51 of file SpacePointAnalysis.h.

◆ m_globalY

std::vector<double>* SpacePointAnalysis::m_globalY {}
private

Definition at line 52 of file SpacePointAnalysis.h.

◆ m_globalZ

std::vector<double>* SpacePointAnalysis::m_globalZ {}
private

Definition at line 53 of file SpacePointAnalysis.h.

◆ m_h_etaSpacePoint

TH1* SpacePointAnalysis::m_h_etaSpacePoint {}
private

Definition at line 65 of file SpacePointAnalysis.h.

◆ m_h_globalZR

TH2* SpacePointAnalysis::m_h_globalZR {}
private

Definition at line 64 of file SpacePointAnalysis.h.

◆ m_inputKey

SG::ReadHandleKey<SpacePointContainer> SpacePointAnalysis::m_inputKey {this, "InputKey", "PixelSpacePoints", "Key of input space points"}
private

Definition at line 37 of file SpacePointAnalysis.h.

◆ m_inputOverlapKey

SG::ReadHandleKey<SpacePointOverlapCollection> SpacePointAnalysis::m_inputOverlapKey {this, "InputOverlapKey", "OverlapSpacePoints", "Key of input for overlap space points"}
private

Definition at line 38 of file SpacePointAnalysis.h.

◆ m_isInnermost

std::vector<int>* SpacePointAnalysis::m_isInnermost {}
private

Definition at line 47 of file SpacePointAnalysis.h.

◆ m_isNextToInnermost

std::vector<int>* SpacePointAnalysis::m_isNextToInnermost {}
private

Definition at line 48 of file SpacePointAnalysis.h.

◆ m_isOverlap

std::vector<int>* SpacePointAnalysis::m_isOverlap {}
private

Definition at line 49 of file SpacePointAnalysis.h.

◆ m_layerDisk

std::vector<int>* SpacePointAnalysis::m_layerDisk {}
private

Definition at line 43 of file SpacePointAnalysis.h.

◆ m_ntupleDirName

StringProperty SpacePointAnalysis::m_ntupleDirName {this, "NtupleDirectoryName", "/SpacePointAnalysis/", "Directory name in output file"}
private

Definition at line 69 of file SpacePointAnalysis.h.

◆ m_ntupleFileName

StringProperty SpacePointAnalysis::m_ntupleFileName {this, "NtupleFileName", "/ntuples/file1", "Output filename"}
private

Definition at line 68 of file SpacePointAnalysis.h.

◆ m_ntupleTreeName

StringProperty SpacePointAnalysis::m_ntupleTreeName {this, "NtupleTreeName", "SpacePointAna", "Tree name in output file"}
private

Definition at line 70 of file SpacePointAnalysis.h.

◆ m_path

StringProperty SpacePointAnalysis::m_path {this, "HistPath", "/SpacePointAnalysis/", "Full path in output file"}
private

Definition at line 71 of file SpacePointAnalysis.h.

◆ m_phiModule

std::vector<int>* SpacePointAnalysis::m_phiModule {}
private

Definition at line 44 of file SpacePointAnalysis.h.

◆ m_pixelID

const PixelID* SpacePointAnalysis::m_pixelID {}
private

Definition at line 39 of file SpacePointAnalysis.h.

◆ m_sideModule

std::vector<int>* SpacePointAnalysis::m_sideModule {}
private

Definition at line 46 of file SpacePointAnalysis.h.

◆ m_stripID

const SCT_ID* SpacePointAnalysis::m_stripID {}
private

Definition at line 40 of file SpacePointAnalysis.h.

◆ m_thistSvc

ServiceHandle<ITHistSvc> SpacePointAnalysis::m_thistSvc { this, "THistSvc", "THistSvc", "Histogramming svc" }
private

Definition at line 72 of file SpacePointAnalysis.h.

◆ m_tree

TTree* SpacePointAnalysis::m_tree {}
private

Definition at line 67 of file SpacePointAnalysis.h.

◆ m_useOverlap

BooleanProperty SpacePointAnalysis::m_useOverlap {this, "UseOverlap", true, "enable use of overlap for SCT ID"}
private

Definition at line 75 of file SpacePointAnalysis.h.

◆ m_usePixel

BooleanProperty SpacePointAnalysis::m_usePixel {this, "UsePixel", true, "enable use of pixel ID or SCT ID"}
private

Definition at line 74 of file SpacePointAnalysis.h.

◆ m_varHandleArraysDeclared

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

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

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

Definition at line 398 of file AthCommonDataStore.h.


The documentation for this class was generated from the following files:
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
SpacePointAnalysis::m_globalCovXZ
std::vector< double > * m_globalCovXZ
Definition: SpacePointAnalysis.h:58
Trk::SpacePoint
Definition: Tracking/TrkEvent/TrkSpacePoint/TrkSpacePoint/SpacePoint.h:35
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x)
Definition: AthMsgStreamMacros.h:34
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
SpacePointAnalysis::m_globalCovZX
std::vector< double > * m_globalCovZX
Definition: SpacePointAnalysis.h:61
SpacePointAnalysis::m_ntupleTreeName
StringProperty m_ntupleTreeName
Definition: SpacePointAnalysis.h:70
PixelID::barrel_ec
int barrel_ec(const Identifier &id) const
Values of different levels (failure returns 0)
Definition: PixelID.h:619
SG::ReadHandle< SpacePointContainer >
SpacePointAnalysis::m_pixelID
const PixelID * m_pixelID
Definition: SpacePointAnalysis.h:39
AthCommonDataStore::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
SpacePointAnalysis::m_isOverlap
std::vector< int > * m_isOverlap
Definition: SpacePointAnalysis.h:49
SpacePointAnalysis::m_isInnermost
std::vector< int > * m_isInnermost
Definition: SpacePointAnalysis.h:47
SpacePointAnalysis::m_globalZ
std::vector< double > * m_globalZ
Definition: SpacePointAnalysis.h:53
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_evtStore
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
Definition: AthCommonDataStore.h:390
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_vhka
std::vector< SG::VarHandleKeyArray * > m_vhka
Definition: AthCommonDataStore.h:398
SpacePointAnalysis::m_barrelEndcap
std::vector< int > * m_barrelEndcap
Definition: SpacePointAnalysis.h:42
SpacePointAnalysis::m_globalCovYY
std::vector< double > * m_globalCovYY
Definition: SpacePointAnalysis.h:55
SCT_ID::barrel_ec
int barrel_ec(const Identifier &id) const
Values of different levels (failure returns 0)
Definition: SCT_ID.h:728
SCT_ID::phi_module
int phi_module(const Identifier &id) const
Definition: SCT_ID.h:740
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
SG::VarHandleKey::key
const std::string & key() const
Return the StoreGate ID for the referenced object.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:141
python.TrigEgammaMonitorHelper.TH2F
def TH2F(name, title, nxbins, bins_par2, bins_par3, bins_par4, bins_par5=None, bins_par6=None, path='', **kwargs)
Definition: TrigEgammaMonitorHelper.py:45
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
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
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
IDTPMcnv.htype
htype
Definition: IDTPMcnv.py:29
TRT::Hit::side
@ side
Definition: HitInfo.h:83
SpacePointAnalysis::m_globalY
std::vector< double > * m_globalY
Definition: SpacePointAnalysis.h:52
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
AthCommonDataStore
Definition: AthCommonDataStore.h:52
AthAlgorithm::sysInitialize
virtual StatusCode sysInitialize() override
Override sysInitialize.
Definition: AthAlgorithm.cxx:66
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
AthCommonDataStore< AthCommonMsg< Algorithm > >::outputHandles
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
SpacePointAnalysis::m_usePixel
BooleanProperty m_usePixel
Definition: SpacePointAnalysis.h:74
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
SpacePointAnalysis::m_globalX
std::vector< double > * m_globalX
Definition: SpacePointAnalysis.h:51
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
SpacePointAnalysis::m_sideModule
std::vector< int > * m_sideModule
Definition: SpacePointAnalysis.h:46
SpacePointAnalysis::m_useOverlap
BooleanProperty m_useOverlap
Definition: SpacePointAnalysis.h:75
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
SG::VarHandleKey::initialize
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:103
SpacePointAnalysis::m_etaModule
std::vector< int > * m_etaModule
Definition: SpacePointAnalysis.h:45
SpacePointAnalysis::m_h_etaSpacePoint
TH1 * m_h_etaSpacePoint
Definition: SpacePointAnalysis.h:65
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
SpacePointAnalysis::m_globalCovXX
std::vector< double > * m_globalCovXX
Definition: SpacePointAnalysis.h:54
PixelID::layer_disk
int layer_disk(const Identifier &id) const
Definition: PixelID.h:626
PixelID::eta_module
int eta_module(const Identifier &id) const
Definition: PixelID.h:651
SpacePointAnalysis::m_ntupleDirName
StringProperty m_ntupleDirName
Definition: SpacePointAnalysis.h:69
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
SpacePointAnalysis::m_inputKey
SG::ReadHandleKey< SpacePointContainer > m_inputKey
Definition: SpacePointAnalysis.h:37
SCT_ID::layer_disk
int layer_disk(const Identifier &id) const
Definition: SCT_ID.h:734
SpacePointAnalysis::m_eta
std::vector< double > * m_eta
Definition: SpacePointAnalysis.h:50
SpacePointAnalysis::m_tree
TTree * m_tree
Definition: SpacePointAnalysis.h:67
SpacePointAnalysis::m_h_globalZR
TH2 * m_h_globalZR
Definition: SpacePointAnalysis.h:64
SpacePointAnalysis::m_globalCovXY
std::vector< double > * m_globalCovXY
Definition: SpacePointAnalysis.h:57
AthAlgorithm::m_extendedExtraObjects
DataObjIDColl m_extendedExtraObjects
Definition: AthAlgorithm.h:79
a
TList * a
Definition: liststreamerinfos.cxx:10
SpacePointAnalysis::m_ntupleFileName
StringProperty m_ntupleFileName
Definition: SpacePointAnalysis.h:68
h
SpacePointAnalysis::m_path
StringProperty m_path
Definition: SpacePointAnalysis.h:71
SpacePointAnalysis::m_inputOverlapKey
SG::ReadHandleKey< SpacePointOverlapCollection > m_inputOverlapKey
Definition: SpacePointAnalysis.h:38
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
SpacePointCollection
Definition: SpacePointCollection.h:40
SCT_ID::eta_module
int eta_module(const Identifier &id) const
Definition: SCT_ID.h:746
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:623
SpacePointAnalysis::m_layerDisk
std::vector< int > * m_layerDisk
Definition: SpacePointAnalysis.h:43
SpacePointAnalysis::m_globalCovZZ
std::vector< double > * m_globalCovZZ
Definition: SpacePointAnalysis.h:56
SCT_ID::side
int side(const Identifier &id) const
Definition: SCT_ID.h:752
AthAlgorithm::AthAlgorithm
AthAlgorithm()
Default constructor:
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:798
python.TrigEgammaMonitorHelper.TH1F
def TH1F(name, title, nxbins, bins_par2, bins_par3=None, path='', **kwargs)
Definition: TrigEgammaMonitorHelper.py:24
SpacePointAnalysis::m_globalCovYX
std::vector< double > * m_globalCovYX
Definition: SpacePointAnalysis.h:59
LHEF::Writer
Pythia8::Writer Writer
Definition: Prophecy4fMerger.cxx:12
SpacePointAnalysis::m_thistSvc
ServiceHandle< ITHistSvc > m_thistSvc
Definition: SpacePointAnalysis.h:72
SCT_ID::wafer_id
Identifier wafer_id(int barrel_ec, int layer_disk, int phi_module, int eta_module, int side) const
For a single side of module.
Definition: SCT_ID.h:464
IdentifierHash
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
Definition: IdentifierHash.h:25
fillSCTHists.etaMod
etaMod
Definition: fillSCTHists.py:23
SpacePointAnalysis::m_globalCovYZ
std::vector< double > * m_globalCovYZ
Definition: SpacePointAnalysis.h:60
PixelID::phi_module
int phi_module(const Identifier &id) const
Definition: PixelID.h:644
SpacePointAnalysis::m_stripID
const SCT_ID * m_stripID
Definition: SpacePointAnalysis.h:40
SpacePointAnalysis::m_isNextToInnermost
std::vector< int > * m_isNextToInnermost
Definition: SpacePointAnalysis.h:48
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
SpacePointAnalysis::m_phiModule
std::vector< int > * m_phiModule
Definition: SpacePointAnalysis.h:44
fitman.k
k
Definition: fitman.py:528
SpacePointAnalysis::m_globalCovZY
std::vector< double > * m_globalCovZY
Definition: SpacePointAnalysis.h:62
ServiceHandle< ICondSvc >
Identifier
Definition: IdentifierFieldParser.cxx:14