22 L1Extrapolate(tmp_T, z, qp0, fld);
23 double dx = mc[0] - tmp_T.x[0];
24 double dy = mc[1] - tmp_T.y[0];
25 double dtx = mc[2] - tmp_T.tx[0];
26 double dty = mc[3] - tmp_T.ty[0];
27 double dqp = mc[4] - tmp_T.qp[0];
30 double stx =
sqrt(tmp_T.
C22[0]);
31 double sty =
sqrt(tmp_T.
C33[0]);
32 double sqp =
sqrt(tmp_T.
C44[0]);
37 h_res_qp[i][j][k]->Fill(dqp / mc[4]);
47 static bool first_call = 1;
49 TDirectory* curdir = gDirectory;
52 gDirectory->mkdir(
"L1ALGO");
53 gDirectory->cd(
"L1ALGO");
54 for (
int ist = 0; ist < algo->NStations; ist++) {
56 sprintf(stname,
"%i", ist);
57 gDirectory->mkdir(stname);
58 gDirectory->cd(stname);
62 const char* stepname[3] = {
"D0",
"Ref",
"Sec"};
63 for (
int istep = 0; istep < 3; istep++) {
64 gDirectory->mkdir(stepname[istep]);
65 gDirectory->cd(stepname[istep]);
67 h_ndoublets[ist][istep] =
new TH1F(
"h_ndoublets",
"h_ndoublets", 50, 0, 5000);
69 const char* lmr[3] = {
"left",
"middle",
"right"};
70 for (
int ilmr = 0; ilmr < 3; ilmr++) {
71 gDirectory->mkdir(lmr[ilmr]);
72 gDirectory->cd(lmr[ilmr]);
74 h_pick_res_x[ist][ilmr][istep] =
new TH1F(
"h_pick_res_x",
"h_pick_res_x", 100, -2, 3);
75 h_pick_res_y[ist][ilmr][istep] =
new TH1F(
"h_pick_res_y",
"h_pick_res_y", 100, -1, 1);
76 h_pick_pull_x[ist][ilmr][istep] =
new TH1F(
"h_pick_pull_x",
"h_pick_pull_x", 100, -10, 10);
77 h_pick_pull_y[ist][ilmr][istep] =
new TH1F(
"h_pick_pull_y",
"h_pick_pull_y", 100, -10, 10);
78 h_res_x[ist][ilmr][istep] =
new TH1F(
"h_res_x",
"h_res_x", 100, -.01, .01);
79 h_res_y[ist][ilmr][istep] =
new TH1F(
"h_res_y",
"h_res_y", 100, -.1, .1);
80 h_res_tx[ist][ilmr][istep] =
new TH1F(
"h_res_tx",
"h_res_tx", 100, -.01, .01);
81 h_res_ty[ist][ilmr][istep] =
new TH1F(
"h_res_ty",
"h_res_ty", 100, -.01, .01);
82 h_res_qp[ist][ilmr][istep] =
new TH1F(
"h_res_qp",
"h_res_qp", 100, -.1, .1);
83 h_pull_x[ist][ilmr][istep] =
new TH1F(
"h_pull_x",
"h_pull_x", 100, -10, 10);
84 h_pull_y[ist][ilmr][istep] =
new TH1F(
"h_pull_y",
"h_pull_y", 100, -10, 10);
85 h_pull_tx[ist][ilmr][istep] =
new TH1F(
"h_pull_tx",
"h_pull_tx", 100, -10, 10);
86 h_pull_ty[ist][ilmr][istep] =
new TH1F(
"h_pull_ty",
"h_pull_ty", 100, -10, 10);
87 h_pull_qp[ist][ilmr][istep] =
new TH1F(
"h_pull_qp",
"h_pull_qp", 100, -10, 10);
friend fvec sqrt(const fvec &a)
TH1F * h_pull_y[20][3][3]
TH1F * h_res_tx[20][3][3]
TH1F * h_res_ty[20][3][3]
TH1F * h_res_qp[20][3][3]
TH1F * h_pull_qp[20][3][3]
TH1F * h_pick_pull_x[20][3][3]
TH1F * h_pull_ty[20][3][3]
void Pulls(int i, int j, int k, double *mc, TrackParamV &T, fvec qp0, ca::FieldRegion &fld)
TH1F * h_pull_x[20][3][3]
TH1F * h_pull_tx[20][3][3]
TH1F * h_ndoublets[20][3]
TH1F * h_pick_res_y[20][3][3]
TH1F * h_pick_pull_y[20][3][3]
TH1F * h_pick_res_x[20][3][3]
static CbmL1 * Instance()
Pointer to CbmL1 instance.
T C00() const
Individual getters for covariance matrix elements.