ATLAS Offline Software
Loading...
Searching...
No Matches
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>
19static const InterfaceID IID_IInDetBeamSpotTool("IInDetBeamSpotTool", 1 , 0);
20
21namespace 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;
29 };
30}
31
32namespace 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
40namespace InDet {
45 class IInDetBeamSpotTool : virtual public IAlgTool {
46 public:
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
static const InterfaceID IID_IInDetBeamSpotTool("IInDetBeamSpotTool", 1, 0)
Abstract class for all beamspot determination algorithms.
FitStatus
Internally used enum for fit status.
virtual StatusCode initialize()=0
Standard initialize.
virtual FitID getFitID() const =0
A unique ID for the specific fit type.
virtual StatusCode finalize()=0
Standard finalize.
FitID
Beamspot determination type.
virtual FitStatus fit(std::vector< BeamSpot::VrtHolder > &)=0
Attempt a to find a solution of the beamspot.
virtual IInDetBeamSpotTool * Clone()=0
static const InterfaceID & interfaceID()
Retrieve interface ID.
virtual std::map< std::string, double > getCovMap() const =0
virtual std::map< std::string, double > getParamMap() const =0
Primary Vertex Finder.
VertexType
Vertex types.
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
unsigned long long eventTime_NS
std::vector< BeamSpot::VrtHolder > vertices
unsigned long long eventNumber
unsigned int runNumber
unsigned long long eventTime
unsigned int lumiBlock
xAOD::VxType::VertexType vertexType