ATLAS Offline Software
Classes | Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
InDet::InDetBeamSpotFinder Class Reference

#include <InDetBeamSpotFinder.h>

Inheritance diagram for InDet::InDetBeamSpotFinder:
Collaboration diagram for InDet::InDetBeamSpotFinder:

Classes

struct  beamSpotNtuple_struct
 
struct  vertexNtuple_struct
 

Public Member Functions

 InDetBeamSpotFinder (const std::string &name, ISvcLocator *pSvcLocator)
 
virtual StatusCode initialize () override
 
virtual StatusCode execute () override
 
virtual StatusCode finalize () 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

bool passEventSelection (const xAOD::EventInfo &)
 
BeamSpot::Event readEvent (const xAOD::EventInfo &, const xAOD::VertexContainer &)
 
void writeToVertexTree (BeamSpot::Event &, BeamSpot::VrtHolder &)
 
void writeToBeamSpotTree (const IInDetBeamSpotTool *bs, std::vector< BeamSpot::Event > &, std::vector< BeamSpot::VrtHolder > &)
 
void sortEvents ()
 
StatusCode setupVertexTree ()
 
StatusCode setupBeamSpotTree ()
 
StatusCode performFits ()
 
bool iequals (const std::string &, const std::string &)
 
int min_lb (std::vector< BeamSpot::Event > &)
 
int max_lb (std::vector< BeamSpot::Event > &)
 
int min_run (std::vector< BeamSpot::Event > &)
 
int max_run (std::vector< BeamSpot::Event > &)
 
void convertVtxTypeNames ()
 
IInDetBeamSpotToolcloneTool (int)
 
bool passVertexSelection (const xAOD::Vertex *)
 
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

ServiceHandle< IToolSvc > m_toolSvc {this, "ToolSvc", "ToolSvc"}
 
ServiceHandle< ITHistSvc > m_thistSvc {this, "THistSvc", "THistSvc"}
 
ToolHandleArray< IInDetBeamSpotToolm_beamSpotToolList
 
SG::ReadCondHandleKey< BunchCrossingCondDatam_bcDataKey {this, "BunchCrossingCondDataKey", "BunchCrossingData" ,"SG Key of BunchCrossing CDO"}
 
SG::ReadHandleKey< xAOD::EventInfom_eventInfo {this, "EvtInfo", "EventInfo", "EventInfo name"}
 
SG::ReadHandleKey< xAOD::VertexContainerm_vertexContainer {this, "VertexContainer", "PrimaryVertices", "Vertex container name"}
 
unsigned int m_maxRunsPerFit
 
unsigned int m_maxEventsPerFit
 
unsigned int m_maxLBsPerFit
 
std::vector< unsigned int > m_BCIDsToAccept
 
bool m_writeVertexNtuple
 
std::string m_beamSpotNtupleName
 
TTree * m_root_bs =0
 
TTree * m_root_vrt =0
 
beamSpotNtuple_struct m_beamSpotNtuple
 
vertexNtuple_struct m_root_vtx
 
BeamSpotStatusCode m_BeamStatusCode
 
std::string m_vertexTreeName
 
std::vector< BeamSpot::Eventm_eventList
 
std::map< BeamSpot::ID, std::vector< BeamSpot::Event > > m_eventMap
 
std::vector< std::vector< BeamSpot::Event > > m_sortedEventList
 
std::vector< std::vector< BeamSpot::VrtHolder > > m_sortedVertices
 
int m_minTrackNum {}
 
int m_maxTrackNum {}
 
double m_maxChi2Vertex {}
 
double m_maxTransverseError {}
 
double m_maxAbsCorrelXY {}
 
double m_minVtxProb {}
 
unsigned int m_minVertexNum {}
 
std::vector< std::string > m_vertexTypeNames {}
 
std::vector< xAOD::VxType::VertexTypem_vertexTypes {}
 
bool m_useFilledBCIDsOnly {}
 
std::string m_fitSortingKey {}
 
bool m_writeAllVertices {}
 
unsigned long m_secondsPerFit {}
 
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 35 of file InDetBeamSpotFinder.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

◆ InDetBeamSpotFinder()

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

Definition at line 30 of file InDetBeamSpotFinder.cxx.

30  :
31  AthAlgorithm(name, pSvcLocator)
32 {
33  declareProperty( "BeamSpotToolList" , m_beamSpotToolList );
34  declareProperty( "RunRange" , m_maxRunsPerFit = 0 );
35  declareProperty( "LumiRange" , m_maxLBsPerFit = 0 );
36  declareProperty( "EventRange" , m_maxEventsPerFit = 0);
37  declareProperty( "UseBCID" , m_BCIDsToAccept );
38  declareProperty( "UseFilledBCIDsOnly", m_useFilledBCIDsOnly = true );
39  declareProperty( "MinTracksPerVtx", m_minTrackNum = 5);
40  declareProperty( "MaxTracksPerVtx", m_maxTrackNum = 1000000);
41  declareProperty( "MinVtxNum" , m_minVertexNum = 100);
42  declareProperty( "MaxVtxChi2" , m_maxChi2Vertex = 10);
43  declareProperty( "MaxTransverseErr", m_maxTransverseError=1000000);
44  declareProperty( "MaxAbsCorrelXY", m_maxAbsCorrelXY=0.8);
45  declareProperty( "VertexTypes" , m_vertexTypeNames);
46  declareProperty( "MinVtxProb" , m_minVtxProb=0.001);
47  declareProperty( "GroupFitsBy" , m_fitSortingKey = "none");
48  declareProperty( "VertexNtuple" , m_writeVertexNtuple = true);
49  declareProperty( "WriteAllVertices" , m_writeAllVertices=false);
50  declareProperty( "VertexTreeName" , m_vertexTreeName = "Vertices");
51  declareProperty( "SecondsPerFit", m_secondsPerFit = 1);
52 }

Member Function Documentation

◆ cloneTool()

InDet::IInDetBeamSpotTool * InDet::InDetBeamSpotFinder::cloneTool ( int  i)
private

Definition at line 440 of file InDetBeamSpotFinder.cxx.

440  {
441  IInDetBeamSpotTool * orig = &(*m_beamSpotToolList[i]);
442  IInDetBeamSpotTool * temp = orig->Clone();
443  return temp;
444 }

◆ convertVtxTypeNames()

void InDet::InDetBeamSpotFinder::convertVtxTypeNames ( )
private

Definition at line 205 of file InDetBeamSpotFinder.cxx.

205  {
206  if ( not m_vertexTypeNames.empty() ) {
207  for ( std::vector<std::string>::const_iterator it = m_vertexTypeNames.begin();
208  it != m_vertexTypeNames.end(); ++it) {
209  if ((*it) == "NoVtx") ;
210  else if ((*it) == "PriVtx") m_vertexTypes.push_back(xAOD::VxType::PriVtx);
211  else if ((*it) == "SecVtx") m_vertexTypes.push_back(xAOD::VxType::SecVtx);
212  else if ((*it) == "PileUp") m_vertexTypes.push_back(xAOD::VxType::PileUp);
213  else if ((*it) == "ConvVtx") m_vertexTypes.push_back(xAOD::VxType::ConvVtx);
214  else if ((*it) == "V0Vtx") m_vertexTypes.push_back(xAOD::VxType::V0Vtx);
215  else if ((*it) == "KinkVtx") m_vertexTypes.push_back(xAOD::VxType::KinkVtx);
216  else if ((*it) =="NotSpecified")m_vertexTypes.push_back(xAOD::VxType::NotSpecified) ;
217  }
218  ATH_MSG_INFO("Allowing " << m_vertexTypes.size() << " Vertex types" );
219  }
220  else {
221  ATH_MSG_DEBUG( "No selection based on vertexType will be done" );
222  }
223 }

◆ 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 InDet::InDetBeamSpotFinder::execute ( )
overridevirtual

Definition at line 76 of file InDetBeamSpotFinder.cxx.

76  {
79  if ( !passEventSelection( *eventInfo ) ) return StatusCode::SUCCESS;
80  BeamSpot::Event currentEvent = readEvent(*eventInfo, *vertexContainer);
81 
82  m_eventList.push_back( currentEvent );
83  if( m_writeVertexNtuple ){
84  for( auto & thisVertex: currentEvent.vertices){
85  if( thisVertex.passed || m_writeAllVertices ){
86  writeToVertexTree( currentEvent, thisVertex );
87  }
88  }
89  }
90  return StatusCode::SUCCESS;
91 }

◆ 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 }

◆ finalize()

StatusCode InDet::InDetBeamSpotFinder::finalize ( )
overridevirtual

Definition at line 93 of file InDetBeamSpotFinder.cxx.

93  {
94  ATH_MSG_DEBUG( "in finalize()" );
95  sortEvents();
97  return StatusCode::SUCCESS;
98 }

◆ iequals()

bool InDet::InDetBeamSpotFinder::iequals ( const std::string &  a,
const std::string &  b 
)
private

Definition at line 375 of file InDetBeamSpotFinder.cxx.

376 {
377  unsigned int sz = a.size();
378  if (b.size() != sz)
379  return false;
380  for (unsigned int i = 0; i < sz; ++i)
381  if (tolower(a[i]) != tolower(b[i]))
382  return false;
383  return true;
384 }

◆ initialize()

StatusCode InDet::InDetBeamSpotFinder::initialize ( )
overridevirtual

Definition at line 54 of file InDetBeamSpotFinder.cxx.

54  {
55  ATH_MSG_DEBUG( "in initialize()");
56  if ( m_beamSpotToolList.empty() ){
57  ATH_MSG_FATAL("FATAL ERROR: must provide at least one beamspot tool in beamSpotToolList");
58  return StatusCode::FAILURE;
59  }
60 
61  ATH_CHECK( m_thistSvc.retrieve() );
62  ATH_CHECK( m_toolSvc.retrieve() );
63 
65 
67  ATH_CHECK( m_vertexContainer.initialize() );
68 
69  for ( unsigned int i = 0; i < m_beamSpotToolList.size(); i++){ ATH_CHECK( m_beamSpotToolList[i].retrieve() );}
73  return StatusCode::SUCCESS;
74 }

◆ 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.

◆ max_lb()

int InDet::InDetBeamSpotFinder::max_lb ( std::vector< BeamSpot::Event > &  eventList)
private

Definition at line 451 of file InDetBeamSpotFinder.cxx.

451  {
452  const auto largestLbEvent=std::max_element(eventList.begin(),eventList.end(), lesserLumiBlock);
453  return largestLbEvent->lumiBlock;
454 }

◆ max_run()

int InDet::InDetBeamSpotFinder::max_run ( std::vector< BeamSpot::Event > &  eventList)
private

Definition at line 461 of file InDetBeamSpotFinder.cxx.

461  {
462  const auto largestRunEvent=std::max_element(eventList.begin(),eventList.end(), lesserRunNumber);
463  return largestRunEvent->runNumber;
464 }

◆ min_lb()

int InDet::InDetBeamSpotFinder::min_lb ( std::vector< BeamSpot::Event > &  eventList)
private

Definition at line 446 of file InDetBeamSpotFinder.cxx.

446  {
447  const auto smallestLbEvent=std::min_element(eventList.begin(),eventList.end(), lesserLumiBlock);
448  return smallestLbEvent->lumiBlock;
449 }

◆ min_run()

int InDet::InDetBeamSpotFinder::min_run ( std::vector< BeamSpot::Event > &  eventList)
private

Definition at line 456 of file InDetBeamSpotFinder.cxx.

456  {
457  const auto smallestRunEvent=std::min_element(eventList.begin(),eventList.end(), lesserRunNumber);
458  return smallestRunEvent->runNumber;
459 }

◆ 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.

◆ passEventSelection()

bool InDet::InDetBeamSpotFinder::passEventSelection ( const xAOD::EventInfo eventInfo)
private

Definition at line 225 of file InDetBeamSpotFinder.cxx.

225  {
226  const int bcid = eventInfo.bcid();
227  if ( m_useFilledBCIDsOnly) {
229  if ( !bcData->isFilled(bcid) ) return false;
230  }
231  if( m_BCIDsToAccept.begin() != m_BCIDsToAccept.end() )
232  return ( std::find(m_BCIDsToAccept.begin(), m_BCIDsToAccept.end(), bcid) != m_BCIDsToAccept.end());
233  else
234  return true;
235 }

◆ passVertexSelection()

bool InDet::InDetBeamSpotFinder::passVertexSelection ( const xAOD::Vertex vtx)
private

Definition at line 237 of file InDetBeamSpotFinder.cxx.

237  {
238  if(!vtx) { return false; }
239  if(m_vertexTypes.end() == std::find( m_vertexTypes.begin(), m_vertexTypes.end(), vtx->vertexType() ) ) { return false; }
240  if(vtx->chiSquared()/vtx->numberDoF() > m_maxChi2Vertex) { return false; }
241  if(static_cast<int>(vtx->nTrackParticles()) < m_minTrackNum ){ return false; }
242  if(static_cast<int>(vtx->nTrackParticles()) > m_maxTrackNum ){ return false; }
243  if(TMath::Prob(vtx->chiSquared(), vtx->numberDoF()) < m_minVtxProb ) { return false; }
244  if(vtx->covariancePosition()(0,0) <= 0 || vtx->covariancePosition()(1,1) <= 0 || vtx->covariancePosition()(2,2) <= 0 ) { return false; }
245  double maxTransverseError2 = m_maxTransverseError * m_maxTransverseError;
246  if(vtx->covariancePosition()(0,0) > maxTransverseError2 || vtx->covariancePosition()(1,1) > maxTransverseError2) {return false;}
247  return true;
248 }

◆ performFits()

StatusCode InDet::InDetBeamSpotFinder::performFits ( )
private

Definition at line 258 of file InDetBeamSpotFinder.cxx.

258  {
259  IInDetBeamSpotTool::FitStatus bsFitStatus;
260  std::vector<BeamSpot::VrtHolder> verticesToFit;
261 
262  for( auto & eventList: m_sortedEventList){
263  verticesToFit.clear();
264  for( const auto & thisEvent: eventList){
265  for( const auto & thisVertex: thisEvent.vertices){
266  if( thisVertex.passed ) {
267  verticesToFit.push_back( thisVertex );
268  }
269  }
270  }
271 
272  for( unsigned int j = 0; j < m_beamSpotToolList.size(); j++){
273  IInDetBeamSpotTool * bs(nullptr);
274  bs = cloneTool(j);
275  if(!bs){ return StatusCode::FAILURE; }
276  if(not verticesToFit.empty()) { bsFitStatus = bs->fit(verticesToFit); }
277  else { bsFitStatus = IInDetBeamSpotTool::unsolved; }
278 
281  m_BeamStatusCode.setAlgType( bs->getFitID() );
282  int fitStat;
283  if ( bsFitStatus == IInDetBeamSpotTool::successful)
284  fitStat = 3;
285  else if ( bsFitStatus == IInDetBeamSpotTool::problems)
286  fitStat = 1;
287  else if ( bsFitStatus == IInDetBeamSpotTool::failed || bsFitStatus == IInDetBeamSpotTool::unsolved)
288  fitStat = 0;
289  else
290  fitStat = 0;
292  if (bs->getParamMap()["sigmaX"] == 0 && bs->getParamMap()["sigmaY"] ==0 ) { m_BeamStatusCode.setFitWidth( false); }
293  else { m_BeamStatusCode.setFitWidth(true); }
294 
295  if(not eventList.empty()) writeToBeamSpotTree( bs, eventList, verticesToFit );
296  }
297  }
298  return StatusCode::SUCCESS;
299 }

◆ readEvent()

BeamSpot::Event InDet::InDetBeamSpotFinder::readEvent ( const xAOD::EventInfo eventInfo,
const xAOD::VertexContainer vertexContainer 
)
private

Definition at line 100 of file InDetBeamSpotFinder.cxx.

100  {
103  event.pileup = ceil(eventInfo.actualInteractionsPerCrossing());
104  event.runNumber = eventInfo.runNumber();
105  event.lumiBlock = eventInfo.lumiBlock();
106  event.bcid = eventInfo.bcid();
107  event.eventTime = eventInfo.timeStamp();
108  event.eventTime_NS = eventInfo.timeStampNSOffset();
109  event.eventNumber = eventInfo.eventNumber();
110  const EventInfo* BSeventInfo;
111  //This is required for pseudo lumiblocks
112 
113  if( evtStore()->retrieve(BSeventInfo) != StatusCode::SUCCESS){
114  ATH_MSG_ERROR("Cannot get event info.");
115  return event;
116  }
117  if (event.lumiBlock != BSeventInfo->event_ID()->lumi_block())
118  {
119  event.lumiBlock = BSeventInfo->event_ID()->lumi_block();
120  }
121 
122  for(const xAOD::Vertex* vtx:vertexContainer) {
123  if (vtx->vertexType() == xAOD::VxType::NoVtx) continue;
124  vertex.x = vtx->x();
125  vertex.y = vtx->y();
126  vertex.z = vtx->z();
127  vertex.vxx = vtx->covariancePosition()(0,0);
128  vertex.vxy = vtx->covariancePosition()(0,1);
129  vertex.vyy = vtx->covariancePosition()(1,1);
130  vertex.vzz = vtx->covariancePosition()(2,2);
131  vertex.vertexType = vtx->vertexType();
132  vertex.nTracks = vtx->nTrackParticles();
133  vertex.passed = passVertexSelection( vtx );
134  vertex.valid = vertex.passed;
135  //Remove vertices with wrong x-y correlation
136  if(vertex.vxy*vertex.vxy/vertex.vxx/vertex.vyy > 1.0 ||
137  vertex.vzz < 0. ||
138  vertex.vyy < 0. ||
139  vertex.vxx < 0.) {
140  ATH_MSG_DEBUG("Bad vertex: " << event.eventNumber << " " << vtx->vertexType() << " "
141  << vertex.x << " " << vertex.y << " " << vertex.z << " "
142  << vertex.vxx << " " << vertex.vyy << " " << vertex.vzz << " "
143  << vertex.nTracks << " " << vertex.vxy*vertex.vxy/vertex.vxx/vertex.vyy);
144  }
146  vertex.vzz < 0. ||
147  vertex.vyy < 0. ||
148  vertex.vxx < 0.) continue;
149  event.vertices.push_back( vertex );
150  }
151  return event;
152 }

◆ 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  }

◆ setupBeamSpotTree()

StatusCode InDet::InDetBeamSpotFinder::setupBeamSpotTree ( )
private

Definition at line 301 of file InDetBeamSpotFinder.cxx.

301  {
302  const std::string inRootID = "/INDETBEAMSPOTFINDER/";
303  const std::string sbs = "BeamSpotNt";//m_root_beamspotName;
304  m_root_bs = new TTree(sbs.data(),"Beamspot Solutions");
305  m_root_bs->Branch("bcid", &m_beamSpotNtuple.bcid,"bcid/I");
306  m_root_bs->Branch("pileup", &m_beamSpotNtuple.pileup,"pileup/I");
307  m_root_bs->Branch("defectWord", &m_beamSpotNtuple.defectWord, "defectWord/I");
308  m_root_bs->Branch("fill", &m_beamSpotNtuple.fill, "fill/I");
309  m_root_bs->Branch("lbEnd", &m_beamSpotNtuple.lbEnd, "lbEnd/I");
310  m_root_bs->Branch("lbStart", &m_beamSpotNtuple.lbStart, "lbStart/I");
311  m_root_bs->Branch("nEvents", &m_beamSpotNtuple.nEvents, "nEvents/I");
312  m_root_bs->Branch("nValid", &m_beamSpotNtuple.nValid, "nValid/I");
313  m_root_bs->Branch("nVtxAll", &m_beamSpotNtuple.nVtxAll, "nVtxAll/I");
314  m_root_bs->Branch("nVtxPrim", &m_beamSpotNtuple.nVtxPrim, "nVtxPrim/I");
315  m_root_bs->Branch("separation", &m_beamSpotNtuple.separation, "separation/I");
316  m_root_bs->Branch("status", &m_beamSpotNtuple.status, "status/I");
317  m_root_bs->Branch("timeEnd", &m_beamSpotNtuple.timeEnd, "timeEnd/I");
318  m_root_bs->Branch("timeStart", &m_beamSpotNtuple.timeStart, "timeStart/I");
319  m_root_bs->Branch("run", &m_beamSpotNtuple.run, "run/I");
320  m_root_bs->Branch("runEnd", &m_beamSpotNtuple.runEnd, "runEnd/I");
321 
322  for( auto &tool : m_beamSpotToolList ){
323  std::map<std::string,double> paramMap = tool->getParamMap();
324  std::map<std::string,double> covMap = tool->getCovMap();
325 
326  std::string slashD = "/D";
327  std::string keySlashD;
328 
329  //Loop over the parameters for a given fit tool, and create a branch for each if it doesn't exist
330  for( std::map<std::string,double>::iterator iter = paramMap.begin(); iter != paramMap.end(); ++iter){
331  std::string key = iter->first;
332  //double val = iter->second;
333  if( !(m_root_bs->GetBranch(key.c_str())) ){
335  keySlashD = key + slashD;
336  m_root_bs->Branch(key.c_str(), &m_beamSpotNtuple.paramMap[key], keySlashD.c_str());
337  }
338  }
339  //Loop over the covariance matrix for a given fit tool and create a branch for each element, if it doesn't already exist.
340  for( std::map<std::string,double>::iterator iter = covMap.begin(); iter != covMap.end(); ++iter){
341  const std::string & key = iter->first;
342  //double val = iter->second;
343  if( !(m_root_bs->GetBranch(key.c_str())) ){
345  keySlashD = key + slashD;
346  m_root_bs->Branch( key.c_str(), &m_beamSpotNtuple.covMap[key], keySlashD.c_str());
347  }
348  }
349  }
350  return m_thistSvc->regTree(inRootID+sbs,m_root_bs);
351 }

◆ setupVertexTree()

StatusCode InDet::InDetBeamSpotFinder::setupVertexTree ( )
private

Definition at line 250 of file InDetBeamSpotFinder.cxx.

250  {
251  const std::string inRootID = "/INDETBEAMSPOTFINDER/";
252  const std::string svrts = m_vertexTreeName;
253  m_root_vrt = new TTree(svrts.data(),"Vertices");
254  m_root_vrt->Branch("vrt",&m_root_vtx,"x/D:y:z:vxx:vxy:vyy:vzz:vType/i:run:lb:bcid:pileup:nTracks:eventNumber/l:eventTime:eventTime_NS:passed/O:valid");
255  return m_thistSvc->regTree(inRootID+svrts,m_root_vrt);
256 }

◆ sortEvents()

void InDet::InDetBeamSpotFinder::sortEvents ( )
private

Definition at line 154 of file InDetBeamSpotFinder.cxx.

154  {
155  for( const auto & thisEvent: m_eventList){
157  id.runNumber( (m_maxRunsPerFit > 0) ? thisEvent.runNumber : 0 );
158  id.lumiBlock( (m_maxLBsPerFit > 0) ? thisEvent.lumiBlock : 0 );
159  id.pileup ( iequals(m_fitSortingKey,"pileup") ? thisEvent.pileup : 0 );
160  id.bcid ( iequals(m_fitSortingKey,"bcid" ) ? thisEvent.bcid : 0 );
161  id.timeStamp( iequals(m_fitSortingKey,"time" ) ? thisEvent.eventTime/m_secondsPerFit : 0 );
162  m_eventMap[id].push_back( thisEvent );
163  }
164  auto iter = m_eventMap.begin();
165  BeamSpot::ID lastID = iter->first;
166  BeamSpot::ID currentID = iter->first;
167  unsigned int nRuns = 0;
168  unsigned int nLBs = 0;
169  unsigned int nFits = 1;
170  m_sortedEventList.resize( nFits );
171 
172  for( iter = m_eventMap.begin(); iter != m_eventMap.end(); ++iter){
173  currentID = iter->first;
174  if( iter == m_eventMap.begin() || currentID.runNumber() != lastID.runNumber() ){ nRuns++; }
175  if( iter == m_eventMap.begin() || currentID.lumiBlock() != lastID.lumiBlock() ){ nLBs++; }
176  if( currentID.timeStamp() != lastID.timeStamp() ||
177  currentID.pileup() != lastID.pileup()
178  || currentID.bcid() != lastID.bcid()
179  || ( m_maxRunsPerFit > 0 && nRuns > m_maxRunsPerFit )
180  || ( m_maxLBsPerFit > 0 && nLBs > m_maxLBsPerFit )){
181  ATH_MSG_INFO( "New Fit " << currentID.timeStamp() << "<--"<< lastID.timeStamp() << "\n\t"
182  << currentID.pileup() << " <-- " << lastID.pileup() << "\n\t"
183  << currentID.bcid() << " <-- " << lastID.bcid() << "\n\t"
184  << nRuns << " " << m_maxRunsPerFit << "\n\t"
185  << nLBs << " " << m_maxLBsPerFit );
186 
187  nFits++;
188  m_sortedEventList.resize(nFits);
189  nRuns = 1; nLBs = 1;
190  }
191  for( unsigned int i = 0; i < iter->second.size(); i++){
192  if( m_sortedEventList.at(nFits-1).size() == m_maxEventsPerFit && m_maxEventsPerFit > 0 ){
193  nFits++;
194  m_sortedEventList.resize(nFits);
195  nRuns = 1; nLBs = 1;
196  }
197 
198  m_sortedEventList.at(nFits-1).push_back( iter->second.at(i) );
199  }
200  lastID = iter->first;
201  }
202 }

◆ 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  }

◆ writeToBeamSpotTree()

void InDet::InDetBeamSpotFinder::writeToBeamSpotTree ( const IInDetBeamSpotTool bs,
std::vector< BeamSpot::Event > &  eventList,
std::vector< BeamSpot::VrtHolder > &  vertexList 
)
private

leave these here; illustrates coverity defect 29456 for( std::map<std::string,double>::iterator iter = m_beamSpotNtuple.paramMap.begin(); iter != m_beamSpotNtuple.paramMap.end(); ++iter){
std::string key = iter->first; iter->second = ( bs->getParamMap().find(key) == bs->getParamMap().end() ) ? 0 : bs->getParamMap()[key]; }

leave these here; illustrates coverity defect 29456 for( std::map<std::string,double>::iterator iter = m_beamSpotNtuple.covMap.begin(); iter != m_beamSpotNtuple.covMap.end(); ++iter){
std::string key = iter->first; iter->second = ( bs->getCovMap().find(key) == bs->getCovMap().end() ) ? 0 : bs->getCovMap()[key]; }

Definition at line 386 of file InDetBeamSpotFinder.cxx.

386  {
387  m_beamSpotNtuple.pileup = iequals(m_fitSortingKey,"pileup") ? eventList.at(0).pileup : 0;
388  m_beamSpotNtuple.bcid = iequals(m_fitSortingKey,"bcid") ? eventList.at(0).bcid : 0;
391  m_beamSpotNtuple.lbEnd = max_lb( eventList );
392  m_beamSpotNtuple.lbStart = min_lb( eventList );
393  m_beamSpotNtuple.nEvents = eventList.size();
394  m_beamSpotNtuple.nValid = vertexList.size();
395  unsigned int nVtxAll = 0;
396  unsigned int nVtxPrim = 0;
397  auto isPrimaryVertex=[](const BeamSpot::VrtHolder & vertex){ return (vertex.vertexType == xAOD::VxType::PriVtx); };
398  for( const auto & thisEvent : eventList){
399  const auto & theseVertices=thisEvent.vertices;
400  nVtxAll += theseVertices.size();
401  nVtxPrim+= std::count_if(theseVertices.begin(), theseVertices.end(), isPrimaryVertex);
402  }
403  m_beamSpotNtuple.nVtxAll = nVtxAll;
404  m_beamSpotNtuple.nVtxPrim = nVtxPrim;
405  m_beamSpotNtuple.run = min_run( eventList );
408  m_beamSpotNtuple.timeEnd = iequals(m_fitSortingKey,"time") ? eventList.back().eventTime : 0;
409  m_beamSpotNtuple.timeStart = iequals(m_fitSortingKey,"time") ? eventList.front().eventTime : 0;
410  m_beamSpotNtuple.runEnd = max_run( eventList );
411  const auto & bsToolParamMap = bs->getParamMap();
412  const auto & bsToolCovMap= bs->getCovMap();
413  for (auto & param:m_beamSpotNtuple.paramMap){
414  const std::string & key = param.first;
415  const auto & bsToolEquivalent =bsToolParamMap.find(key);
416  param.second = ( bsToolEquivalent == bsToolParamMap.end() ) ? 0 : bsToolEquivalent->second;
417  }
425  for (auto & covariance:m_beamSpotNtuple.covMap){
426  const std::string & key = covariance.first;
427  const auto & bsToolEquivalent = bsToolCovMap.find(key);
428  covariance.second = ( bsToolEquivalent == bsToolCovMap.end() ) ? 0 : bsToolEquivalent->second;
429  }
437  m_root_bs->Fill();
438 }

◆ writeToVertexTree()

void InDet::InDetBeamSpotFinder::writeToVertexTree ( BeamSpot::Event evt,
BeamSpot::VrtHolder vtx 
)
private

Definition at line 353 of file InDetBeamSpotFinder.cxx.

353  {
354  m_root_vtx.x = vtx.x;
355  m_root_vtx.y = vtx.y;
356  m_root_vtx.z = vtx.z;
357  m_root_vtx.vxx = vtx.vxx;
358  m_root_vtx.vxy = vtx.vxy;
359  m_root_vtx.vyy = vtx.vyy;
360  m_root_vtx.vzz = vtx.vzz;
362  m_root_vtx.run = evt.runNumber;
363  m_root_vtx.lb = evt.lumiBlock;
364  m_root_vtx.bcid = evt.bcid;
365  m_root_vtx.pileup = evt.pileup;
366  m_root_vtx.nTracks = vtx.nTracks;
367  m_root_vtx.passed = vtx.passed;
368  m_root_vtx.valid = vtx.valid;
369  m_root_vtx.eventNumber = evt.eventNumber;
370  m_root_vtx.eventTime = evt.eventTime;
371  m_root_vtx.eventTime_NS = evt.eventTime_NS;
372  m_root_vrt->Fill();
373 }

Member Data Documentation

◆ m_bcDataKey

SG::ReadCondHandleKey<BunchCrossingCondData> InDet::InDetBeamSpotFinder::m_bcDataKey {this, "BunchCrossingCondDataKey", "BunchCrossingData" ,"SG Key of BunchCrossing CDO"}
private

Definition at line 50 of file InDetBeamSpotFinder.h.

◆ m_BCIDsToAccept

std::vector<unsigned int> InDet::InDetBeamSpotFinder::m_BCIDsToAccept
private

Definition at line 63 of file InDetBeamSpotFinder.h.

◆ m_beamSpotNtuple

beamSpotNtuple_struct InDet::InDetBeamSpotFinder::m_beamSpotNtuple
private

Definition at line 87 of file InDetBeamSpotFinder.h.

◆ m_beamSpotNtupleName

std::string InDet::InDetBeamSpotFinder::m_beamSpotNtupleName
private

Definition at line 66 of file InDetBeamSpotFinder.h.

◆ m_beamSpotToolList

ToolHandleArray<IInDetBeamSpotTool> InDet::InDetBeamSpotFinder::m_beamSpotToolList
private

Definition at line 48 of file InDetBeamSpotFinder.h.

◆ m_BeamStatusCode

BeamSpotStatusCode InDet::InDetBeamSpotFinder::m_BeamStatusCode
private

Definition at line 89 of file InDetBeamSpotFinder.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_eventInfo

SG::ReadHandleKey<xAOD::EventInfo> InDet::InDetBeamSpotFinder::m_eventInfo {this, "EvtInfo", "EventInfo", "EventInfo name"}
private

Definition at line 53 of file InDetBeamSpotFinder.h.

◆ m_eventList

std::vector<BeamSpot::Event> InDet::InDetBeamSpotFinder::m_eventList
private

Definition at line 92 of file InDetBeamSpotFinder.h.

◆ m_eventMap

std::map< BeamSpot::ID, std::vector<BeamSpot::Event> > InDet::InDetBeamSpotFinder::m_eventMap
private

Definition at line 93 of file InDetBeamSpotFinder.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_fitSortingKey

std::string InDet::InDetBeamSpotFinder::m_fitSortingKey {}
private

Definition at line 131 of file InDetBeamSpotFinder.h.

◆ m_maxAbsCorrelXY

double InDet::InDetBeamSpotFinder::m_maxAbsCorrelXY {}
private

Definition at line 118 of file InDetBeamSpotFinder.h.

◆ m_maxChi2Vertex

double InDet::InDetBeamSpotFinder::m_maxChi2Vertex {}
private

Definition at line 116 of file InDetBeamSpotFinder.h.

◆ m_maxEventsPerFit

unsigned int InDet::InDetBeamSpotFinder::m_maxEventsPerFit
private

Definition at line 60 of file InDetBeamSpotFinder.h.

◆ m_maxLBsPerFit

unsigned int InDet::InDetBeamSpotFinder::m_maxLBsPerFit
private

Definition at line 61 of file InDetBeamSpotFinder.h.

◆ m_maxRunsPerFit

unsigned int InDet::InDetBeamSpotFinder::m_maxRunsPerFit
private

Definition at line 59 of file InDetBeamSpotFinder.h.

◆ m_maxTrackNum

int InDet::InDetBeamSpotFinder::m_maxTrackNum {}
private

Definition at line 115 of file InDetBeamSpotFinder.h.

◆ m_maxTransverseError

double InDet::InDetBeamSpotFinder::m_maxTransverseError {}
private

Definition at line 117 of file InDetBeamSpotFinder.h.

◆ m_minTrackNum

int InDet::InDetBeamSpotFinder::m_minTrackNum {}
private

Definition at line 114 of file InDetBeamSpotFinder.h.

◆ m_minVertexNum

unsigned int InDet::InDetBeamSpotFinder::m_minVertexNum {}
private

Definition at line 120 of file InDetBeamSpotFinder.h.

◆ m_minVtxProb

double InDet::InDetBeamSpotFinder::m_minVtxProb {}
private

Definition at line 119 of file InDetBeamSpotFinder.h.

◆ m_root_bs

TTree* InDet::InDetBeamSpotFinder::m_root_bs =0
private

Definition at line 68 of file InDetBeamSpotFinder.h.

◆ m_root_vrt

TTree* InDet::InDetBeamSpotFinder::m_root_vrt =0
private

Definition at line 69 of file InDetBeamSpotFinder.h.

◆ m_root_vtx

vertexNtuple_struct InDet::InDetBeamSpotFinder::m_root_vtx
private

Definition at line 88 of file InDetBeamSpotFinder.h.

◆ m_secondsPerFit

unsigned long InDet::InDetBeamSpotFinder::m_secondsPerFit {}
private

Definition at line 137 of file InDetBeamSpotFinder.h.

◆ m_sortedEventList

std::vector<std::vector<BeamSpot::Event> > InDet::InDetBeamSpotFinder::m_sortedEventList
private

Definition at line 94 of file InDetBeamSpotFinder.h.

◆ m_sortedVertices

std::vector<std::vector<BeamSpot::VrtHolder> > InDet::InDetBeamSpotFinder::m_sortedVertices
private

Definition at line 95 of file InDetBeamSpotFinder.h.

◆ m_thistSvc

ServiceHandle<ITHistSvc> InDet::InDetBeamSpotFinder::m_thistSvc {this, "THistSvc", "THistSvc"}
private

Definition at line 47 of file InDetBeamSpotFinder.h.

◆ m_toolSvc

ServiceHandle<IToolSvc> InDet::InDetBeamSpotFinder::m_toolSvc {this, "ToolSvc", "ToolSvc"}
private

Definition at line 46 of file InDetBeamSpotFinder.h.

◆ m_useFilledBCIDsOnly

bool InDet::InDetBeamSpotFinder::m_useFilledBCIDsOnly {}
private

Definition at line 130 of file InDetBeamSpotFinder.h.

◆ m_varHandleArraysDeclared

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

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vertexContainer

SG::ReadHandleKey<xAOD::VertexContainer> InDet::InDetBeamSpotFinder::m_vertexContainer {this, "VertexContainer", "PrimaryVertices", "Vertex container name"}
private

Definition at line 55 of file InDetBeamSpotFinder.h.

◆ m_vertexTreeName

std::string InDet::InDetBeamSpotFinder::m_vertexTreeName
private

Definition at line 91 of file InDetBeamSpotFinder.h.

◆ m_vertexTypeNames

std::vector<std::string> InDet::InDetBeamSpotFinder::m_vertexTypeNames {}
private

Definition at line 122 of file InDetBeamSpotFinder.h.

◆ m_vertexTypes

std::vector<xAOD::VxType::VertexType> InDet::InDetBeamSpotFinder::m_vertexTypes {}
private

Definition at line 123 of file InDetBeamSpotFinder.h.

◆ m_vhka

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

Definition at line 398 of file AthCommonDataStore.h.

◆ m_writeAllVertices

bool InDet::InDetBeamSpotFinder::m_writeAllVertices {}
private

Definition at line 133 of file InDetBeamSpotFinder.h.

◆ m_writeVertexNtuple

bool InDet::InDetBeamSpotFinder::m_writeVertexNtuple
private

Definition at line 65 of file InDetBeamSpotFinder.h.


The documentation for this class was generated from the following files:
InDet::InDetBeamSpotFinder::m_writeVertexNtuple
bool m_writeVertexNtuple
Definition: InDetBeamSpotFinder.h:65
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
InDet::InDetBeamSpotFinder::beamSpotNtuple_struct::lbStart
int lbStart
Definition: InDetBeamSpotFinder.h:72
InDet::InDetBeamSpotFinder::m_vertexTypes
std::vector< xAOD::VxType::VertexType > m_vertexTypes
Definition: InDetBeamSpotFinder.h:123
InDet::InDetBeamSpotFinder::convertVtxTypeNames
void convertVtxTypeNames()
Definition: InDetBeamSpotFinder.cxx:205
InDet::InDetBeamSpotFinder::cloneTool
IInDetBeamSpotTool * cloneTool(int)
Definition: InDetBeamSpotFinder.cxx:440
InDet::InDetBeamSpotFinder::vertexNtuple_struct::eventNumber
unsigned long long eventNumber
Definition: InDetBeamSpotFinder.h:83
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x)
Definition: AthMsgStreamMacros.h:34
InDet::InDetBeamSpotFinder::vertexNtuple_struct::run
unsigned int run
Definition: InDetBeamSpotFinder.h:82
fitman.sz
sz
Definition: fitman.py:527
BeamSpot::VrtHolder::vxy
double vxy
Definition: IInDetBeamSpotTool.h:25
xAOD::Vertex_v1::nTrackParticles
size_t nTrackParticles() const
Get the number of tracks associated with this vertex.
Definition: Vertex_v1.cxx:270
InDet::InDetBeamSpotFinder::m_BCIDsToAccept
std::vector< unsigned int > m_BCIDsToAccept
Definition: InDetBeamSpotFinder.h:63
InDet::InDetBeamSpotFinder::min_run
int min_run(std::vector< BeamSpot::Event > &)
Definition: InDetBeamSpotFinder.cxx:456
InDet::InDetBeamSpotFinder::vertexNtuple_struct::vxx
double vxx
Definition: InDetBeamSpotFinder.h:80
SG::ReadCondHandle
Definition: ReadCondHandle.h:44
InDet::InDetBeamSpotFinder::max_lb
int max_lb(std::vector< BeamSpot::Event > &)
Definition: InDetBeamSpotFinder.cxx:451
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
InDet::InDetBeamSpotFinder::m_useFilledBCIDsOnly
bool m_useFilledBCIDsOnly
Definition: InDetBeamSpotFinder.h:130
find
std::string find(const std::string &s)
return a remapped string
Definition: hcg.cxx:135
xAOD::EventInfo_v1::eventNumber
uint64_t eventNumber() const
The current event's event number.
InDet::InDetBeamSpotFinder::m_vertexContainer
SG::ReadHandleKey< xAOD::VertexContainer > m_vertexContainer
Definition: InDetBeamSpotFinder.h:56
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:70
AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
InDet::BeamSpotStatusCode::setAlgType
void setAlgType(int type)
Definition: BeamSpotStatusCode.h:45
xAOD::VxType::V0Vtx
@ V0Vtx
Vertex from V0 decay.
Definition: TrackingPrimitives.h:575
InDet::InDetBeamSpotFinder::m_maxLBsPerFit
unsigned int m_maxLBsPerFit
Definition: InDetBeamSpotFinder.h:61
InDet::InDetBeamSpotFinder::passEventSelection
bool passEventSelection(const xAOD::EventInfo &)
Definition: InDetBeamSpotFinder.cxx:225
InDet::BeamSpotStatusCode::clearWord
void clearWord()
Definition: BeamSpotStatusCode.h:57
skel.it
it
Definition: skel.GENtoEVGEN.py:396
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
InDet::InDetBeamSpotFinder::vertexNtuple_struct::pileup
unsigned int pileup
Definition: InDetBeamSpotFinder.h:82
BeamSpot::Event::vertices
std::vector< BeamSpot::VrtHolder > vertices
Definition: IInDetBeamSpotTool.h:36
InDet::BeamSpotStatusCode::getWord
int getWord() const
Definition: BeamSpotStatusCode.h:59
LArG4FSStartPointFilter.evt
evt
Definition: LArG4FSStartPointFilter.py:42
InDet::InDetBeamSpotFinder::m_bcDataKey
SG::ReadCondHandleKey< BunchCrossingCondData > m_bcDataKey
Definition: InDetBeamSpotFinder.h:51
InDet::InDetBeamSpotFinder::vertexNtuple_struct::vzz
double vzz
Definition: InDetBeamSpotFinder.h:80
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
xAOD::EventInfo_v1::timeStampNSOffset
uint32_t timeStampNSOffset() const
Nanosecond time offset wrt. the time stamp.
InDet::InDetBeamSpotFinder::m_maxEventsPerFit
unsigned int m_maxEventsPerFit
Definition: InDetBeamSpotFinder.h:60
InDet::InDetBeamSpotFinder::vertexNtuple_struct::z
double z
Definition: InDetBeamSpotFinder.h:80
InDet::InDetBeamSpotFinder::m_eventInfo
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfo
Definition: InDetBeamSpotFinder.h:54
xAOD::Vertex_v1::vertexType
VxType::VertexType vertexType() const
The type of the vertex.
xAOD::VxType::NoVtx
@ NoVtx
Dummy vertex. TrackParticle was not used in vertex fit.
Definition: TrackingPrimitives.h:570
xAOD::EventInfo_v1::runNumber
uint32_t runNumber() const
The current event's run number.
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
IDTPMcnv.htype
htype
Definition: IDTPMcnv.py:27
InDet::InDetBeamSpotFinder::m_writeAllVertices
bool m_writeAllVertices
Definition: InDetBeamSpotFinder.h:133
InDet::InDetBeamSpotFinder::m_thistSvc
ServiceHandle< ITHistSvc > m_thistSvc
Definition: InDetBeamSpotFinder.h:47
AthCommonDataStore< AthCommonMsg< Algorithm > >::evtStore
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:85
InDet::InDetBeamSpotFinder::sortEvents
void sortEvents()
Definition: InDetBeamSpotFinder.cxx:154
BeamSpot::VrtHolder::passed
bool passed
Definition: IInDetBeamSpotTool.h:28
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
InDet::InDetBeamSpotFinder::beamSpotNtuple_struct::timeEnd
int timeEnd
Definition: InDetBeamSpotFinder.h:74
InDet::IInDetBeamSpotTool::successful
@ successful
Definition: IInDetBeamSpotTool.h:49
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
InDet::BeamSpotStatusCode::setFitStatus
void setFitStatus(int status)
Definition: BeamSpotStatusCode.h:38
BeamSpot::VrtHolder::valid
bool valid
Definition: IInDetBeamSpotTool.h:28
event
POOL::TEvent event(POOL::TEvent::kClassAccess)
BeamSpot::VrtHolder::vzz
double vzz
Definition: IInDetBeamSpotTool.h:25
InDet::InDetBeamSpotFinder::beamSpotNtuple_struct::runEnd
int runEnd
Definition: InDetBeamSpotFinder.h:74
AthCommonDataStore< AthCommonMsg< Algorithm > >::outputHandles
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
BeamSpot::VrtHolder::z
double z
Definition: IInDetBeamSpotTool.h:24
lumiFormat.i
int i
Definition: lumiFormat.py:85
InDet::InDetBeamSpotFinder::beamSpotNtuple_struct::nVtxAll
int nVtxAll
Definition: InDetBeamSpotFinder.h:73
InDet::InDetBeamSpotFinder::beamSpotNtuple_struct::nEvents
int nEvents
Definition: InDetBeamSpotFinder.h:73
InDet::InDetBeamSpotFinder::beamSpotNtuple_struct::covMap
std::map< std::string, double > covMap
Definition: InDetBeamSpotFinder.h:76
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
xAOD::VxType::SecVtx
@ SecVtx
Secondary vertex.
Definition: TrackingPrimitives.h:572
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
InDet::InDetBeamSpotFinder::vertexNtuple_struct::lb
unsigned int lb
Definition: InDetBeamSpotFinder.h:82
InDet::InDetBeamSpotFinder::beamSpotNtuple_struct::paramMap
std::map< std::string, double > paramMap
Definition: InDetBeamSpotFinder.h:75
BeamSpot::VrtHolder::y
double y
Definition: IInDetBeamSpotTool.h:24
BeamSpot::ID::lumiBlock
unsigned int lumiBlock() const
Definition: BeamSpotID.h:14
InDet::IInDetBeamSpotTool::problems
@ problems
Definition: IInDetBeamSpotTool.h:49
BeamSpot::ID::timeStamp
unsigned long timeStamp() const
Definition: BeamSpotID.h:17
EventInfo::event_ID
EventID * event_ID()
the unique identification of the event.
Definition: EventInfo/EventInfo/EventInfo.h:224
tolower
void tolower(std::string &s)
Definition: AthenaSummarySvc.cxx:111
InDet::IInDetBeamSpotTool::FitStatus
FitStatus
Internally used enum for fit status.
Definition: IInDetBeamSpotTool.h:49
InDet::InDetBeamSpotFinder::vertexNtuple_struct::passed
bool passed
Definition: InDetBeamSpotFinder.h:84
InDet::InDetBeamSpotFinder::min_lb
int min_lb(std::vector< BeamSpot::Event > &)
Definition: InDetBeamSpotFinder.cxx:446
xAOD::VxType::PriVtx
@ PriVtx
Primary vertex.
Definition: TrackingPrimitives.h:571
InDet::InDetBeamSpotFinder::m_root_bs
TTree * m_root_bs
Definition: InDetBeamSpotFinder.h:68
InDet::InDetBeamSpotFinder::setupBeamSpotTree
StatusCode setupBeamSpotTree()
Definition: InDetBeamSpotFinder.cxx:301
InDet::InDetBeamSpotFinder::beamSpotNtuple_struct::run
int run
Definition: InDetBeamSpotFinder.h:74
InDet::InDetBeamSpotFinder::beamSpotNtuple_struct::fill
int fill
Definition: InDetBeamSpotFinder.h:72
InDet::InDetBeamSpotFinder::m_maxChi2Vertex
double m_maxChi2Vertex
Definition: InDetBeamSpotFinder.h:116
InDet::InDetBeamSpotFinder::m_eventList
std::vector< BeamSpot::Event > m_eventList
Definition: InDetBeamSpotFinder.h:92
BeamSpot::ID::bcid
unsigned int bcid() const
Definition: BeamSpotID.h:16
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
InDet::InDetBeamSpotFinder::m_root_vtx
vertexNtuple_struct m_root_vtx
Definition: InDetBeamSpotFinder.h:88
BeamSpot::VrtHolder::vertexType
xAOD::VxType::VertexType vertexType
Definition: IInDetBeamSpotTool.h:26
BeamSpot::VrtHolder::vyy
double vyy
Definition: IInDetBeamSpotTool.h:25
xAOD::VxType::KinkVtx
@ KinkVtx
Kink vertex.
Definition: TrackingPrimitives.h:576
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
InDet::InDetBeamSpotFinder::m_vertexTreeName
std::string m_vertexTreeName
Definition: InDetBeamSpotFinder.h:91
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
InDet::IInDetBeamSpotTool::unsolved
@ unsolved
Definition: IInDetBeamSpotTool.h:49
InDet::InDetBeamSpotFinder::passVertexSelection
bool passVertexSelection(const xAOD::Vertex *)
Definition: InDetBeamSpotFinder.cxx:237
InDet::InDetBeamSpotFinder::vertexNtuple_struct::bcid
unsigned int bcid
Definition: InDetBeamSpotFinder.h:82
InDet::InDetBeamSpotFinder::performFits
StatusCode performFits()
Definition: InDetBeamSpotFinder.cxx:258
InDet::InDetBeamSpotFinder::writeToVertexTree
void writeToVertexTree(BeamSpot::Event &, BeamSpot::VrtHolder &)
Definition: InDetBeamSpotFinder.cxx:353
InDet::IInDetBeamSpotTool::failed
@ failed
Definition: IInDetBeamSpotTool.h:49
InDet::InDetBeamSpotFinder::m_sortedEventList
std::vector< std::vector< BeamSpot::Event > > m_sortedEventList
Definition: InDetBeamSpotFinder.h:94
InDet::InDetBeamSpotFinder::beamSpotNtuple_struct::defectWord
int defectWord
Definition: InDetBeamSpotFinder.h:72
xAOD::EventInfo_v1::lumiBlock
uint32_t lumiBlock() const
The current event's luminosity block number.
InDet::InDetBeamSpotFinder::vertexNtuple_struct::y
double y
Definition: InDetBeamSpotFinder.h:80
InDet::InDetBeamSpotFinder::m_beamSpotNtuple
beamSpotNtuple_struct m_beamSpotNtuple
Definition: InDetBeamSpotFinder.h:87
BeamSpot::ID
Definition: BeamSpotID.h:10
InDet::InDetBeamSpotFinder::m_maxRunsPerFit
unsigned int m_maxRunsPerFit
Definition: InDetBeamSpotFinder.h:59
BeamSpot::ID::runNumber
unsigned int runNumber() const
Definition: BeamSpotID.h:13
InDet::InDetBeamSpotFinder::readEvent
BeamSpot::Event readEvent(const xAOD::EventInfo &, const xAOD::VertexContainer &)
Definition: InDetBeamSpotFinder.cxx:100
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
InDet::InDetBeamSpotFinder::writeToBeamSpotTree
void writeToBeamSpotTree(const IInDetBeamSpotTool *bs, std::vector< BeamSpot::Event > &, std::vector< BeamSpot::VrtHolder > &)
Definition: InDetBeamSpotFinder.cxx:386
InDet::InDetBeamSpotFinder::vertexNtuple_struct::vxy
double vxy
Definition: InDetBeamSpotFinder.h:80
InDet::InDetBeamSpotFinder::m_fitSortingKey
std::string m_fitSortingKey
Definition: InDetBeamSpotFinder.h:131
xAOD::VxType::PileUp
@ PileUp
Pile-up vertex.
Definition: TrackingPrimitives.h:573
InDet::InDetBeamSpotFinder::m_eventMap
std::map< BeamSpot::ID, std::vector< BeamSpot::Event > > m_eventMap
Definition: InDetBeamSpotFinder.h:93
InDet::InDetBeamSpotFinder::beamSpotNtuple_struct::lbEnd
int lbEnd
Definition: InDetBeamSpotFinder.h:72
BeamSpot::VrtHolder::vxx
double vxx
Definition: IInDetBeamSpotTool.h:25
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
id
SG::auxid_t id
Definition: Control/AthContainers/Root/debug.cxx:220
InDet::BeamSpotStatusCode::setFitWidth
void setFitWidth(bool fitWidth)
Definition: BeamSpotStatusCode.h:52
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
plotBeamSpotMon.b
b
Definition: plotBeamSpotMon.py:77
EventInfo
This class provides general information about an event. Event information is provided by the accessor...
Definition: EventInfo/EventInfo/EventInfo.h:43
AtlCoolConsole.tool
tool
Definition: AtlCoolConsole.py:453
SG::CondHandleKey::initialize
StatusCode initialize(bool used=true)
xAOD::bcid
setEventNumber setTimeStamp bcid
Definition: EventInfo_v1.cxx:133
InDet::InDetBeamSpotFinder::beamSpotNtuple_struct::nVtxPrim
int nVtxPrim
Definition: InDetBeamSpotFinder.h:73
xAOD::Vertex_v1::numberDoF
float numberDoF() const
Returns the number of degrees of freedom of the vertex fit as float.
InDet::InDetBeamSpotFinder::m_root_vrt
TTree * m_root_vrt
Definition: InDetBeamSpotFinder.h:69
InDet::InDetBeamSpotFinder::beamSpotNtuple_struct::nValid
int nValid
Definition: InDetBeamSpotFinder.h:73
AthAlgorithm::m_extendedExtraObjects
DataObjIDColl m_extendedExtraObjects
Definition: AthAlgorithm.h:79
InDet::InDetBeamSpotFinder::m_maxTrackNum
int m_maxTrackNum
Definition: InDetBeamSpotFinder.h:115
Trk::vertex
@ vertex
Definition: MeasurementType.h:21
InDet::InDetBeamSpotFinder::vertexNtuple_struct::nTracks
unsigned int nTracks
Definition: InDetBeamSpotFinder.h:82
InDet::InDetBeamSpotFinder::m_maxAbsCorrelXY
double m_maxAbsCorrelXY
Definition: InDetBeamSpotFinder.h:118
a
TList * a
Definition: liststreamerinfos.cxx:10
BeamSpot::Event
Definition: IInDetBeamSpotTool.h:33
xAOD::Vertex_v1::chiSquared
float chiSquared() const
Returns the of the vertex fit as float.
h
xAOD::Vertex_v1
Class describing a Vertex.
Definition: Vertex_v1.h:42
InDet::InDetBeamSpotFinder::vertexNtuple_struct::x
double x
Definition: InDetBeamSpotFinder.h:80
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
InDet::InDetBeamSpotFinder::beamSpotNtuple_struct::status
int status
Definition: InDetBeamSpotFinder.h:74
InDet::InDetBeamSpotFinder::m_beamSpotToolList
ToolHandleArray< IInDetBeamSpotTool > m_beamSpotToolList
Definition: InDetBeamSpotFinder.h:48
InDet::BeamSpotStatusCode::setOnlineStatus
void setOnlineStatus(bool isOnline)
Definition: BeamSpotStatusCode.h:31
InDet::InDetBeamSpotFinder::m_minVertexNum
unsigned int m_minVertexNum
Definition: InDetBeamSpotFinder.h:120
InDet::InDetBeamSpotFinder::beamSpotNtuple_struct::timeStart
int timeStart
Definition: InDetBeamSpotFinder.h:74
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:623
xAOD::EventInfo_v1::timeStamp
uint32_t timeStamp() const
POSIX time in seconds from 1970. January 1st.
InDet::InDetBeamSpotFinder::max_run
int max_run(std::vector< BeamSpot::Event > &)
Definition: InDetBeamSpotFinder.cxx:461
InDet::InDetBeamSpotFinder::beamSpotNtuple_struct::bcid
int bcid
Definition: InDetBeamSpotFinder.h:72
InDet::InDetBeamSpotFinder::vertexNtuple_struct::eventTime
unsigned long long eventTime
Definition: InDetBeamSpotFinder.h:83
BeamSpot::VrtHolder::x
double x
Definition: IInDetBeamSpotTool.h:24
InDet::InDetBeamSpotFinder::setupVertexTree
StatusCode setupVertexTree()
Definition: InDetBeamSpotFinder.cxx:250
BeamSpot::VrtHolder
Definition: IInDetBeamSpotTool.h:22
AthAlgorithm::AthAlgorithm
AthAlgorithm()
Default constructor:
InDet::InDetBeamSpotFinder::vertexNtuple_struct::eventTime_NS
unsigned long long eventTime_NS
Definition: InDetBeamSpotFinder.h:83
InDet::InDetBeamSpotFinder::vertexNtuple_struct::vyy
double vyy
Definition: InDetBeamSpotFinder.h:80
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:798
xAOD::VxType::ConvVtx
@ ConvVtx
Conversion vertex.
Definition: TrackingPrimitives.h:574
InDet::InDetBeamSpotFinder::beamSpotNtuple_struct::separation
int separation
Definition: InDetBeamSpotFinder.h:74
LHEF::Writer
Pythia8::Writer Writer
Definition: Prophecy4fMerger.cxx:12
InDet::InDetBeamSpotFinder::m_toolSvc
ServiceHandle< IToolSvc > m_toolSvc
Definition: InDetBeamSpotFinder.h:46
InDet::InDetBeamSpotFinder::vertexNtuple_struct::vType
xAOD::VxType::VertexType vType
Definition: InDetBeamSpotFinder.h:81
InDet::InDetBeamSpotFinder::vertexNtuple_struct::valid
bool valid
Definition: InDetBeamSpotFinder.h:84
xAOD::EventInfo_v1::bcid
uint32_t bcid() const
The bunch crossing ID of the event.
InDet::InDetBeamSpotFinder::m_minTrackNum
int m_minTrackNum
Definition: InDetBeamSpotFinder.h:114
InDet::InDetBeamSpotFinder::m_minVtxProb
double m_minVtxProb
Definition: InDetBeamSpotFinder.h:119
BeamSpot::VrtHolder::nTracks
unsigned int nTracks
Definition: IInDetBeamSpotTool.h:27
BeamSpot::ID::pileup
unsigned int pileup() const
Definition: BeamSpotID.h:15
xAOD::VxType::NotSpecified
@ NotSpecified
Default value, no explicit type set.
Definition: TrackingPrimitives.h:577
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
InDet::InDetBeamSpotFinder::beamSpotNtuple_struct::pileup
int pileup
Definition: InDetBeamSpotFinder.h:72
InDet::InDetBeamSpotFinder::m_BeamStatusCode
BeamSpotStatusCode m_BeamStatusCode
Definition: InDetBeamSpotFinder.h:89
InDet::InDetBeamSpotFinder::m_secondsPerFit
unsigned long m_secondsPerFit
Definition: InDetBeamSpotFinder.h:137
InDet::InDetBeamSpotFinder::m_vertexTypeNames
std::vector< std::string > m_vertexTypeNames
Definition: InDetBeamSpotFinder.h:122
fitman.k
k
Definition: fitman.py:528
InDet::InDetBeamSpotFinder::m_maxTransverseError
double m_maxTransverseError
Definition: InDetBeamSpotFinder.h:117
xAOD::EventInfo_v1::actualInteractionsPerCrossing
float actualInteractionsPerCrossing() const
Average interactions per crossing for the current BCID - for in-time pile-up.
Definition: EventInfo_v1.cxx:380
ServiceHandle< ICondSvc >
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37
InDet::InDetBeamSpotFinder::iequals
bool iequals(const std::string &, const std::string &)
Definition: InDetBeamSpotFinder.cxx:375