CMS 3D CMS Logo

DTTime2DriftParametrization.h
Go to the documentation of this file.
1 #ifndef DTTime2DriftParametrization_H
2 #define DTTime2DriftParametrization_H
3 
12 #define N_alpha 11
13 #define N_By 5
14 #define N_Bz 5
15 #define N_Par_x 15
16 #define N_Sigma_t 7
17 
19 public:
22 
25 
27  typedef struct {
28  double v_drift, x_drift, delta_x, x_width_m, x_width_p;
29  } drift_distance; //FIXME: Why this typedef?
30 
39  double time, double alpha, double by, double bz, short interpolate, drift_distance *dx) const;
40 
49  double time, double alpha, double by, double bz, short interpolate, drift_distance *dx) const;
50 
51 private:
53  unsigned short MB_DT_drift_distance(
54  double time, double alpha, double by, double bz, drift_distance *DX, short interpolate) const;
55 
56  double MB_DT_dist(double, double *) const;
57  double MB_DT_delta_x(double, double *) const;
58  double MB_DT_sigma_t_m(double, double *) const;
59  double MB_DT_sigma_t_p(double, double *) const;
60 
61  unsigned short MB_DT_Check_boundaries(double distime, double alpha, double by, double bz, short ifl) const;
62 
64  double Var, unsigned short *pi, unsigned short *pj, short Initial, unsigned short N, const double *Values) const;
65 
66  void MB_DT_Get_grid_points(double alpha,
67  double by,
68  double bz,
69  unsigned short *p_alpha,
70  unsigned short *p_By,
71  unsigned short *p_Bz,
72  unsigned short *q_alpha,
73  unsigned short *q_By,
74  unsigned short *q_Bz) const;
75 
76  double MB_DT_MLInterpolation(double *al, double *by, double *bz, double *f) const;
77 
78  /*** Points of the grid ***/
79  static const double alpha_value[N_alpha];
80  static const double By_value[N_By];
81  static const double Bz_value[N_Bz];
82 
83  /*** Parameter values ***/
84  static const double fun_x[N_alpha][N_By][N_Bz][N_Par_x];
85  static const double fun_sigma_t[N_alpha][N_By][N_Bz][N_Sigma_t];
86 
87  /*** skew factor ***/
88  static const double velocitySkew;
89 };
90 #endif
N_Sigma_t
#define N_Sigma_t
Definition: DTTime2DriftParametrization.h:16
DTTime2DriftParametrization::MB_DT_sigma_t_p
double MB_DT_sigma_t_p(double, double *) const
DTTime2DriftParametrization::MB_DT_Get_grid_points
void MB_DT_Get_grid_points(double alpha, double by, double bz, unsigned short *p_alpha, unsigned short *p_By, unsigned short *p_Bz, unsigned short *q_alpha, unsigned short *q_By, unsigned short *q_Bz) const
N_Par_x
#define N_Par_x
Definition: DTTime2DriftParametrization.h:15
f
double f[11][100]
Definition: MuScleFitUtils.cc:78
DTTime2DriftParametrization::MB_DT_dist
double MB_DT_dist(double, double *) const
Definition: DTTime2DriftParametrization.cc:271
DTTime2DriftParametrization::MB_DT_Check_boundaries
unsigned short MB_DT_Check_boundaries(double distime, double alpha, double by, double bz, short ifl) const
protons_cff.time
time
Definition: protons_cff.py:35
alpha
float alpha
Definition: AMPTWrapper.h:105
DTTime2DriftParametrization::By_value
static const double By_value[5]
Definition: DTTime2DriftParametrization.h:80
DTTime2DriftParametrization::MB_DT_delta_x
double MB_DT_delta_x(double, double *) const
Definition: DTTime2DriftParametrization.cc:252
DTTime2DriftParametrization
Definition: DTTime2DriftParametrization.h:18
DTTime2DriftParametrization::~DTTime2DriftParametrization
virtual ~DTTime2DriftParametrization()
Destructor.
Definition: DTTime2DriftParametrization.cc:20
DTTime2DriftParametrization::MB_DT_sigma_t_m
double MB_DT_sigma_t_m(double, double *) const
common_cff.Var
def Var(expr, valtype, compression=None, doc=None, mcOnly=False, precision=-1)
Definition: common_cff.py:20
DTTime2DriftParametrization::drift_distance::x_width_p
double x_width_p
Definition: DTTime2DriftParametrization.h:28
N
#define N
Definition: blowfish.cc:9
DTTime2DriftParametrization::MB_DT_drift_distance
unsigned short MB_DT_drift_distance(double time, double alpha, double by, double bz, drift_distance *DX, short interpolate) const
Calculate drift distance and spread.
Definition: DTTime2DriftParametrization.cc:85
DTTime2DriftParametrization::fun_sigma_t
static const double fun_sigma_t[11][5][5][7]
Definition: DTTime2DriftParametrization.h:85
reco::JetExtendedAssociation::Values
std::vector< Value > Values
Definition: JetExtendedAssociation.h:28
DTTime2DriftParametrization::fun_x
static const double fun_x[11][5][5][15]
Definition: DTTime2DriftParametrization.h:84
DTTime2DriftParametrization::alpha_value
static const double alpha_value[11]
Definition: DTTime2DriftParametrization.h:79
N_alpha
#define N_alpha
Definition: DTTime2DriftParametrization.h:12
DTTime2DriftParametrization::Bz_value
static const double Bz_value[5]
Definition: DTTime2DriftParametrization.h:81
HiCaloJetParameters_cff.interpolate
interpolate
Definition: HiCaloJetParameters_cff.py:34
N_Bz
#define N_Bz
Definition: DTTime2DriftParametrization.h:14
DTTime2DriftParametrization::velocitySkew
static const double velocitySkew
Definition: DTTime2DriftParametrization.h:88
DTTime2DriftParametrization::MB_DT_Get_grid_values
void MB_DT_Get_grid_values(double Var, unsigned short *pi, unsigned short *pj, short Initial, unsigned short N, const double *Values) const
DTTime2DriftParametrization::DTTime2DriftParametrization
DTTime2DriftParametrization()
Constructor.
Definition: DTTime2DriftParametrization.cc:18
DTTime2DriftParametrization::MB_DT_MLInterpolation
double MB_DT_MLInterpolation(double *al, double *by, double *bz, double *f) const
N_By
#define N_By
Definition: DTTime2DriftParametrization.h:13
DTTime2DriftParametrization::drift_distance
Structure used to return output values.
Definition: DTTime2DriftParametrization.h:27
DTTime2DriftParametrization::computeDriftDistance_mode
bool computeDriftDistance_mode(double time, double alpha, double by, double bz, short interpolate, drift_distance *dx) const
Definition: DTTime2DriftParametrization.cc:22
pi
const Double_t pi
Definition: trackSplitPlot.h:36
DTTime2DriftParametrization::computeDriftDistance_mean
bool computeDriftDistance_mean(double time, double alpha, double by, double bz, short interpolate, drift_distance *dx) const
Definition: DTTime2DriftParametrization.cc:52
PVValHelper::dx
Definition: PVValidationHelpers.h:49