ATLAS Offline Software
IInDetBeamSpotTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef INDET_IINDETBEAMSPOTTOOL_H
6 #define INDET_IINDETBEAMSPOTTOOL_H
7 
9 // Beamspot Abstract base class for beamspot determination
10 // Authors btamadio@lbl.gov, jwalder@cern.ch
11 // Beamspot fit tools are derived from IInDetBeamSpotTool
13 
14 #include "GaudiKernel/IAlgTool.h"
15 #include "xAODTracking/TrackingPrimitives.h" //for xAOD::VxType
16 #include <vector>
17 #include <map>
18 #include <string>
19 static const InterfaceID IID_IInDetBeamSpotTool("IInDetBeamSpotTool", 1 , 0);
20 
21 namespace BeamSpot {
22  struct VrtHolder {
23  VrtHolder():x(0.),y(0.),z(0.),vxx(0.),vxy(0.), vyy(0.), vzz(0.), vertexType(xAOD::VxType::NotSpecified),nTracks(0),passed(false),valid(false){}
24  double x,y,z;
25  double vxx, vxy, vyy, vzz;
27  unsigned int nTracks;
28  bool passed, valid;
29  };
30 }
31 
32 namespace BeamSpot{
33  struct Event {
34  unsigned int pileup, runNumber, lumiBlock, bcid;
35  unsigned long long eventNumber, eventTime, eventTime_NS;
36  std::vector<BeamSpot::VrtHolder> vertices;
37  };
38 }
39 
40 namespace InDet {
45  class IInDetBeamSpotTool : virtual public IAlgTool {
46  public:
47  virtual ~IInDetBeamSpotTool(){}
53  static const InterfaceID& interfaceID() { return IID_IInDetBeamSpotTool; }
54 
55  //General methods for all beamspot determination methods
56  virtual StatusCode initialize() = 0;
57  virtual StatusCode finalize() = 0;
58  virtual FitStatus fit(std::vector< BeamSpot::VrtHolder >& ) = 0;
59  virtual FitID getFitID() const = 0;
60 
61  virtual IInDetBeamSpotTool *Clone() = 0;
62  virtual std::map<std::string,double> getCovMap() const = 0;
63  virtual std::map<std::string,double> getParamMap() const = 0;
64  };
65 }
66 #endif
67 
BeamSpot::Event::eventTime_NS
unsigned long long eventTime_NS
Definition: IInDetBeamSpotTool.h:35
BeamSpot::Event::eventNumber
unsigned long long eventNumber
Definition: IInDetBeamSpotTool.h:35
BeamSpot::VrtHolder::vxy
double vxy
Definition: IInDetBeamSpotTool.h:25
InDet::IInDetBeamSpotTool::finalize
virtual StatusCode finalize()=0
Standard finalize.
InDet
DUMMY Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
BeamSpot::Event::vertices
std::vector< BeamSpot::VrtHolder > vertices
Definition: IInDetBeamSpotTool.h:36
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition: ICaloAffectedTool.h:24
InDet::IInDetBeamSpotTool::vertexLL
@ vertexLL
Definition: IInDetBeamSpotTool.h:51
InDet::IInDetBeamSpotTool::vertexChi2
@ vertexChi2
Definition: IInDetBeamSpotTool.h:51
BeamSpot::Event::pileup
unsigned int pileup
Definition: IInDetBeamSpotTool.h:34
InDet::IInDetBeamSpotTool::getFitID
virtual FitID getFitID() const =0
A unique ID for the specific fit type.
InDet::IInDetBeamSpotTool::RooFitLL
@ RooFitLL
Definition: IInDetBeamSpotTool.h:51
BeamSpot::Event::eventTime
unsigned long long eventTime
Definition: IInDetBeamSpotTool.h:35
xAOD::VxType::VertexType
VertexType
Vertex types.
Definition: TrackingPrimitives.h:569
BeamSpot::Event::runNumber
unsigned int runNumber
Definition: IInDetBeamSpotTool.h:34
InDet::IInDetBeamSpotTool::~IInDetBeamSpotTool
virtual ~IInDetBeamSpotTool()
Definition: IInDetBeamSpotTool.h:47
BeamSpot::VrtHolder::passed
bool passed
Definition: IInDetBeamSpotTool.h:28
InDet::IInDetBeamSpotTool::successful
@ successful
Definition: IInDetBeamSpotTool.h:49
BeamSpot::VrtHolder::valid
bool valid
Definition: IInDetBeamSpotTool.h:28
BeamSpot::VrtHolder::vzz
double vzz
Definition: IInDetBeamSpotTool.h:25
BeamSpot::VrtHolder::z
double z
Definition: IInDetBeamSpotTool.h:24
BeamSpot::Event::bcid
unsigned int bcid
Definition: IInDetBeamSpotTool.h:34
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
BeamSpot::VrtHolder::y
double y
Definition: IInDetBeamSpotTool.h:24
InDet::IInDetBeamSpotTool::problems
@ problems
Definition: IInDetBeamSpotTool.h:49
InDet::IInDetBeamSpotTool::FitStatus
FitStatus
Internally used enum for fit status.
Definition: IInDetBeamSpotTool.h:49
BeamSpot::VrtHolder::vertexType
xAOD::VxType::VertexType vertexType
Definition: IInDetBeamSpotTool.h:26
BeamSpot::VrtHolder::vyy
double vyy
Definition: IInDetBeamSpotTool.h:25
InDet::IInDetBeamSpotTool::unsolved
@ unsolved
Definition: IInDetBeamSpotTool.h:49
InDet::IInDetBeamSpotTool::failed
@ failed
Definition: IInDetBeamSpotTool.h:49
InDet::IInDetBeamSpotTool::interfaceID
static const InterfaceID & interfaceID()
Retrieve interface ID.
Definition: IInDetBeamSpotTool.h:53
InDet::IInDetBeamSpotTool::trackChi2
@ trackChi2
Definition: IInDetBeamSpotTool.h:51
InDet::IInDetBeamSpotTool::unknown
@ unknown
Definition: IInDetBeamSpotTool.h:51
BeamSpot::VrtHolder::vxx
double vxx
Definition: IInDetBeamSpotTool.h:25
InDet::IInDetBeamSpotTool::getCovMap
virtual std::map< std::string, double > getCovMap() const =0
InDet::IInDetBeamSpotTool::initialize
virtual StatusCode initialize()=0
Standard initialize.
InDet::IInDetBeamSpotTool::getParamMap
virtual std::map< std::string, double > getParamMap() const =0
InDet::IInDetBeamSpotTool::Clone
virtual IInDetBeamSpotTool * Clone()=0
BeamSpot::Event
Definition: IInDetBeamSpotTool.h:33
InDet::IInDetBeamSpotTool::fit
virtual FitStatus fit(std::vector< BeamSpot::VrtHolder > &)=0
Attempt a to find a solution of the beamspot.
InDet::IInDetBeamSpotTool
Definition: IInDetBeamSpotTool.h:45
BeamSpot::VrtHolder::x
double x
Definition: IInDetBeamSpotTool.h:24
BeamSpot::VrtHolder
Definition: IInDetBeamSpotTool.h:22
InDet::IInDetBeamSpotTool::FitID
FitID
Beamspot determination type.
Definition: IInDetBeamSpotTool.h:51
BeamSpot
Definition: IInDetBeamSpotTool.h:21
BeamSpot::VrtHolder::nTracks
unsigned int nTracks
Definition: IInDetBeamSpotTool.h:27
xAOD::VxType::NotSpecified
@ NotSpecified
Default value, no explicit type set.
Definition: TrackingPrimitives.h:577
TrackingPrimitives.h
BeamSpot::VrtHolder::VrtHolder
VrtHolder()
Definition: IInDetBeamSpotTool.h:23
BeamSpot::Event::lumiBlock
unsigned int lumiBlock
Definition: IInDetBeamSpotTool.h:34
InDet::IInDetBeamSpotTool::trackChi2Widths
@ trackChi2Widths
Definition: IInDetBeamSpotTool.h:51