CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
BSpdfsFcn.h
Go to the documentation of this file.
1 #ifndef BeamSpotProducer_BSpdfsFcn_h
2 #define BeamSpotProducer_BSpdfsFcn_h
3 
16 #include "Minuit2/FCNBase.h"
17 
19 
20 #include <iostream>
21 #include <string>
22 
23 class BSpdfsFcn : public ROOT::Minuit2::FCNBase {
24 
25  public:
26  // cache the current data
27  void SetData(std::vector < BSTrkParameters > a_BSvector){
28 
29  fBSvector = a_BSvector;
30 
31  };
32  // define pdfs to use
33  void SetPDFs(std::string usepdfs) {
34  fusepdfs = usepdfs;
35  }
36 
37  virtual double operator() (const std::vector<double>&) const;
38  virtual double Up() const {return 1.;}
39 
40  private:
41 
42  double PDFGauss_d(double z, double d, double sigmad,
43  double phi, const std::vector<double>& parms) const;
44  double PDFGauss_d_resolution(double z, double d,
45  double phi, double pt, const std::vector<double>& parms) const;
46 
47  double PDFGauss_z(double z, double sigmaz, const std::vector<double>& parms) const;
48 
49  std::string fusepdfs;
50  std::vector < BSTrkParameters > fBSvector;
51 
52  static const int fPar_X0 = 0; //
53  static const int fPar_Y0 = 1; //
54  static const int fPar_Z0 = 2; // position of luminosity peak in z
55  static const int fPar_SigmaZ = 3; // sigma in z of the beam
56  static const int fPar_dxdz = 4; //
57  static const int fPar_dydz = 5; //
58  static const int fPar_SigmaBeam = 6; //
59  static const int fPar_c0 = 7; //
60  static const int fPar_c1 = 8; //
61 
62  //static const int fPar_Z0 = 0; // index of position of luminosity peak in z
63  //static const int fPar_SigmaZ = 1; // index of sigma in z of the beam
64  //static const int fPar_X0 = 2; //
65  //static const int fPar_Y0 = 3; //
66  //static const int fPar_dxdz = 4; //
67  //static const int fPar_dydz = 5; //
68  //static const int fPar_SigmaBeam = 6; //
69  //static const int fPar_c0 = 7; //
70  //static const int fPar_c1 = 8; //
71 
72 };
73 
74 #endif
std::vector< BSTrkParameters > fBSvector
Definition: BSpdfsFcn.h:50
static const int fPar_dydz
Definition: BSpdfsFcn.h:57
static const int fPar_Y0
Definition: BSpdfsFcn.h:53
static const int fPar_X0
Definition: BSpdfsFcn.h:52
static const int fPar_dxdz
Definition: BSpdfsFcn.h:56
void SetPDFs(std::string usepdfs)
Definition: BSpdfsFcn.h:33
static const int fPar_c0
Definition: BSpdfsFcn.h:59
double PDFGauss_d(double z, double d, double sigmad, double phi, const std::vector< double > &parms) const
Definition: BSpdfsFcn.cc:21
double PDFGauss_z(double z, double sigmaz, const std::vector< double > &parms) const
Definition: BSpdfsFcn.cc:67
static const int fPar_SigmaZ
Definition: BSpdfsFcn.h:55
double double double z
static const int fPar_SigmaBeam
Definition: BSpdfsFcn.h:58
virtual double operator()(const std::vector< double > &) const
Definition: BSpdfsFcn.cc:88
virtual double Up() const
Definition: BSpdfsFcn.h:38
static const int fPar_c1
Definition: BSpdfsFcn.h:60
double PDFGauss_d_resolution(double z, double d, double phi, double pt, const std::vector< double > &parms) const
Definition: BSpdfsFcn.cc:43
std::string fusepdfs
Definition: BSpdfsFcn.h:49
static const int fPar_Z0
Definition: BSpdfsFcn.h:54
void SetData(std::vector< BSTrkParameters > a_BSvector)
Definition: BSpdfsFcn.h:27
Definition: DDAxes.h:10