ATLAS Offline Software
InDetBeamSpotRooFit.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef INDET_INDETBEAMSPOTROOFIT_H
6 #define INDET_INDETBEAMSPOTROOFIT_H
7 
9 // Author jwalder@cern.ch
10 // Concrete implementation of the IInDetBeamSpotTool class
11 // for RooFit method of Beamspot determination.
13 
17 #include "CLHEP/Matrix/Vector.h"
18 #include "TMinuit.h"
19 #include "TMath.h"
20 #include "TTree.h"
21 #include <string>
22 #include <vector>
23 #include <RooAbsReal.h>
24 #include <RooRealVar.h>
25 #include "BeamSpotPdf.h"
26 #include "RooFitResult.h"
27 
28 namespace InDet {
34  virtual public IInDetBeamSpotTool {
35  public:
36  // Constructor
37  InDetBeamSpotRooFit( const std::string& type,
38  const std::string& name,
39  const IInterface* parent);
40  // Standard Destructor
41  virtual ~InDetBeamSpotRooFit() {}
42 
43  //Copy Constructor
45 
46 
47  //These are the member functions to keep:
48  virtual StatusCode initialize();
49  virtual StatusCode finalize();
50  virtual std::map<std::string,double> getCovMap() const;
51  virtual std::map<std::string,double> getParamMap() const;
52  virtual FitID getFitID() const { return RooFitLL; }
53  virtual FitStatus fit(std::vector< BeamSpot::VrtHolder >&);
54  IInDetBeamSpotTool *Clone() { return new InDetBeamSpotRooFit(*this); }
55  //std::string combineCuts( RooDataSet & );
56 
57  private:
58  //m_cov is the covariance matrix from the fit
59  TMatrixDSym m_cov;
60  //Fit parameter results
61  double m_ax;
62  double m_ay;
63  double m_k;
64  double m_mx;
65  double m_my;
66  double m_mz;
67  double m_rho;
68  double m_sx;
69  double m_sy;
70  double m_sz;
71  int m_nUsed;
72  std::vector< BeamSpot::VrtHolder > m_vertexData;
75  std::string m_vtxCutString;
76  double m_vtxResCut;
77  double m_kStart;
78  double m_rmsCutNum;
79  bool m_kConst;
80  };
81 }
82 
83 
84 
85 #endif
InDet::InDetBeamSpotRooFit::m_vertexCount
long m_vertexCount
Definition: InDetBeamSpotRooFit.h:73
InDet::InDetBeamSpotRooFit::getFitID
virtual FitID getFitID() const
A unique ID for the specific fit type.
Definition: InDetBeamSpotRooFit.h:52
InDet::InDetBeamSpotRooFit
A concrete implementation of IInDetBeamSpotTool, using primary vertex information to determine the po...
Definition: InDetBeamSpotRooFit.h:34
InDet::InDetBeamSpotRooFit::initialize
virtual StatusCode initialize()
Standard initialize.
Definition: InDetBeamSpotRooFit.cxx:48
InDet::InDetBeamSpotRooFit::m_vertexData
std::vector< BeamSpot::VrtHolder > m_vertexData
Definition: InDetBeamSpotRooFit.h:72
InDet::InDetBeamSpotRooFit::m_kConst
bool m_kConst
Definition: InDetBeamSpotRooFit.h:79
InDet::InDetBeamSpotRooFit::m_k
double m_k
Definition: InDetBeamSpotRooFit.h:63
InDet
DUMMY Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
InDet::InDetBeamSpotRooFit::m_vtxResCut
double m_vtxResCut
Definition: InDetBeamSpotRooFit.h:76
InDet::InDetBeamSpotRooFit::m_ay
double m_ay
Definition: InDetBeamSpotRooFit.h:62
IInDetBeamSpotTool.h
InDet::InDetBeamSpotRooFit::m_ax
double m_ax
Definition: InDetBeamSpotRooFit.h:61
InDet::InDetBeamSpotRooFit::m_vtxCutString
std::string m_vtxCutString
Definition: InDetBeamSpotRooFit.h:75
InDet::InDetBeamSpotRooFit::m_nUsed
int m_nUsed
Definition: InDetBeamSpotRooFit.h:71
InDet::IInDetBeamSpotTool::RooFitLL
@ RooFitLL
Definition: IInDetBeamSpotTool.h:51
InDet::InDetBeamSpotRooFit::getParamMap
virtual std::map< std::string, double > getParamMap() const
Definition: InDetBeamSpotRooFit.cxx:299
InDet::InDetBeamSpotRooFit::Clone
IInDetBeamSpotTool * Clone()
Definition: InDetBeamSpotRooFit.h:54
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
InDet::IInDetBeamSpotTool::FitStatus
FitStatus
Internally used enum for fit status.
Definition: IInDetBeamSpotTool.h:49
AthAlgTool.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
InDet::InDetBeamSpotRooFit::m_sz
double m_sz
Definition: InDetBeamSpotRooFit.h:70
InDet::InDetBeamSpotRooFit::m_rmsCutNum
double m_rmsCutNum
Definition: InDetBeamSpotRooFit.h:78
InDet::InDetBeamSpotRooFit::finalize
virtual StatusCode finalize()
Standard finalize.
Definition: InDetBeamSpotRooFit.cxx:53
InDet::InDetBeamSpotRooFit::m_sy
double m_sy
Definition: InDetBeamSpotRooFit.h:69
BeamSpotPdf.h
InDet::InDetBeamSpotRooFit::m_mx
double m_mx
Definition: InDetBeamSpotRooFit.h:64
InDet::InDetBeamSpotRooFit::m_rho
double m_rho
Definition: InDetBeamSpotRooFit.h:67
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
InDet::InDetBeamSpotRooFit::m_sx
double m_sx
Definition: InDetBeamSpotRooFit.h:68
InDet::InDetBeamSpotRooFit::m_fitStatus
FitStatus m_fitStatus
Definition: InDetBeamSpotRooFit.h:74
InDet::InDetBeamSpotRooFit::fit
virtual FitStatus fit(std::vector< BeamSpot::VrtHolder > &)
Attempt a to find a solution of the beamspot.
Definition: InDetBeamSpotRooFit.cxx:58
InDet::InDetBeamSpotRooFit::InDetBeamSpotRooFit
InDetBeamSpotRooFit(const std::string &type, const std::string &name, const IInterface *parent)
Definition: InDetBeamSpotRooFit.cxx:16
VertexType.h
InDet::InDetBeamSpotRooFit::getCovMap
virtual std::map< std::string, double > getCovMap() const
Definition: InDetBeamSpotRooFit.cxx:223
InDet::InDetBeamSpotRooFit::m_kStart
double m_kStart
Definition: InDetBeamSpotRooFit.h:77
InDet::InDetBeamSpotRooFit::m_my
double m_my
Definition: InDetBeamSpotRooFit.h:65
InDet::InDetBeamSpotRooFit::m_cov
TMatrixDSym m_cov
Definition: InDetBeamSpotRooFit.h:59
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
InDet::IInDetBeamSpotTool
Definition: IInDetBeamSpotTool.h:45
InDet::InDetBeamSpotRooFit::~InDetBeamSpotRooFit
virtual ~InDetBeamSpotRooFit()
Definition: InDetBeamSpotRooFit.h:41
InDet::IInDetBeamSpotTool::FitID
FitID
Beamspot determination type.
Definition: IInDetBeamSpotTool.h:51
AthAlgTool
Definition: AthAlgTool.h:26
InDet::InDetBeamSpotRooFit::m_mz
double m_mz
Definition: InDetBeamSpotRooFit.h:66