CMS 3D CMS Logo

DTDriftTimeParametrization.h
Go to the documentation of this file.
1 #ifndef DTDriftTimeParametrization_H
2 #define DTDriftTimeParametrization_H
3 
19 #define N_alpha 11
20 #define N_By 5
21 #define N_Bz 5
22 #define N_Par_t 19
23 #define N_Sigma_t 7
24 
26 public:
29 
32 
34  typedef struct {
35  double v_drift, t_drift, delta_t, t_width_m, t_width_p;
36  } drift_time;
37 
39  unsigned short MB_DT_drift_time(
40  double x, double alpha, double by, double bz, short ifl, drift_time *DT, short interpolate) const;
41 
42 private:
43  double MB_DT_time(double, double *) const;
44  double MB_DT_delta_t(double, double *) const;
45  double MB_DT_sigma_t_m(double, double *) const;
46  double MB_DT_sigma_t_p(double, double *) const;
47 
48  unsigned short MB_DT_Check_boundaries(double distime, double alpha, double by, double bz, short ifl) const;
49 
51  double Var, unsigned short *pi, unsigned short *pj, short Initial, unsigned short N, const double *Values) const;
52 
53  void MB_DT_Get_grid_points(double alpha,
54  double by,
55  double bz,
56  unsigned short *p_alpha,
57  unsigned short *p_By,
58  unsigned short *p_Bz,
59  unsigned short *q_alpha,
60  unsigned short *q_By,
61  unsigned short *q_Bz) const;
62 
63  double MB_DT_MLInterpolation(double *al, double *by, double *bz, double *f) const;
64 
65  /*** Points of the grid ***/
66  static const double alpha_value[N_alpha];
67  static const double By_value[N_By];
68  static const double Bz_value[N_Bz];
69 
70  /*** Parameter values ***/
71  static const double fun_t[N_alpha][N_By][N_Bz][N_Par_t];
72  static const double fun_sigma_t[N_alpha][N_By][N_Bz][N_Sigma_t];
73 
74  /*** skew factor ***/
75  static const double velocitySkew;
76 };
77 #endif
DTDriftTimeParametrization::MB_DT_drift_time
unsigned short MB_DT_drift_time(double x, double alpha, double by, double bz, short ifl, drift_time *DT, short interpolate) const
Calculate drift time and spread.
Definition: DTDriftTimeParametrization.cc:32
N_alpha
#define N_alpha
Definition: DTDriftTimeParametrization.h:19
f
double f[11][100]
Definition: MuScleFitUtils.cc:78
DTDriftTimeParametrization::MB_DT_sigma_t_m
double MB_DT_sigma_t_m(double, double *) const
zMuMuMuonUserData.alpha
alpha
zGenParticlesMatch = cms.InputTag(""),
Definition: zMuMuMuonUserData.py:9
N_By
#define N_By
Definition: DTDriftTimeParametrization.h:20
DTDriftTimeParametrization::Bz_value
static const double Bz_value[5]
Definition: DTDriftTimeParametrization.h:68
DTDriftTimeParametrization
Definition: DTDriftTimeParametrization.h:25
DTDriftTimeParametrization::drift_time::v_drift
double v_drift
Definition: DTDriftTimeParametrization.h:35
DDAxes::x
DTDriftTimeParametrization::MB_DT_delta_t
double MB_DT_delta_t(double, double *) const
Definition: DTDriftTimeParametrization.cc:208
DTDriftTimeParametrization::fun_t
static const double fun_t[11][5][5][19]
Definition: DTDriftTimeParametrization.h:71
common_cff.Var
def Var(expr, valtype, compression=None, doc=None, mcOnly=False, precision=-1)
Definition: common_cff.py:20
DTDriftTimeParametrization::drift_time
Structure used to return output values.
Definition: DTDriftTimeParametrization.h:34
N
#define N
Definition: blowfish.cc:9
DTDriftTimeParametrization::~DTDriftTimeParametrization
virtual ~DTDriftTimeParametrization()
Destructor.
Definition: DTDriftTimeParametrization.cc:30
N_Par_t
#define N_Par_t
Definition: DTDriftTimeParametrization.h:22
DTDriftTimeParametrization::MB_DT_Check_boundaries
unsigned short MB_DT_Check_boundaries(double distime, double alpha, double by, double bz, short ifl) const
reco::JetExtendedAssociation::Values
std::vector< Value > Values
Definition: JetExtendedAssociation.h:28
GeomDetEnumerators::DT
Definition: GeomDetEnumerators.h:18
DTDriftTimeParametrization::DTDriftTimeParametrization
DTDriftTimeParametrization()
Constructor.
Definition: DTDriftTimeParametrization.cc:28
DTDriftTimeParametrization::MB_DT_MLInterpolation
double MB_DT_MLInterpolation(double *al, double *by, double *bz, double *f) const
HiCaloJetParameters_cff.interpolate
interpolate
Definition: HiCaloJetParameters_cff.py:34
DTDriftTimeParametrization::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
DTDriftTimeParametrization::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
N_Sigma_t
#define N_Sigma_t
Definition: DTDriftTimeParametrization.h:23
DTDriftTimeParametrization::MB_DT_time
double MB_DT_time(double, double *) const
Definition: DTDriftTimeParametrization.cc:203
N_Bz
#define N_Bz
Definition: DTDriftTimeParametrization.h:21
DTDriftTimeParametrization::velocitySkew
static const double velocitySkew
Definition: DTDriftTimeParametrization.h:75
DTDriftTimeParametrization::fun_sigma_t
static const double fun_sigma_t[11][5][5][7]
Definition: DTDriftTimeParametrization.h:72
DTDriftTimeParametrization::alpha_value
static const double alpha_value[11]
Definition: DTDriftTimeParametrization.h:66
DTDriftTimeParametrization::MB_DT_sigma_t_p
double MB_DT_sigma_t_p(double, double *) const
pi
const Double_t pi
Definition: trackSplitPlot.h:36
DTDriftTimeParametrization::By_value
static const double By_value[5]
Definition: DTDriftTimeParametrization.h:67