FEDRA emulsion software from the OPERA Collaboration
EdbSigma.h
Go to the documentation of this file.
1 #ifndef ROOT_EdbSigma
2 #define ROOT_EdbSigma
3 #include "TObject.h"
4 using namespace TMath;
5 
6 //---------------------------------------------------------------------------
7 class EdbSigma : public TObject
8 {
9  public:
10 
11  // grains measurement accuracy defines the "in view" bt and mt errors
12  double eSxy; // = 0.35 mean in-view grain accuracy xy
13  double eSz; // = 2. grains z-uncertainty "field depth"
14 
15  // geometry defines the "in-view" mt/bt accuracy:
16  double eDZem; // = 45.; emulsion thickness
17  double eDZbase; // = 210. emulsion base
18  double eDZcell; // =1300. plate-to plate distance
19 
20  // additional terms defines "in-zone" resolution
21  double eSxyZone; // "in-zone" microtrack position tolerance (local deformations)
22  double eSaZone; // "in-zone" microtrack angular tolrance (incorrect shrinkage+offsets)
23 
24  // additional terms defines "in-plate" resolution
25  double eSxyPlate; // "in-plate" basetrack position tolerance (XY plate deformations)
26  double eSaPlate; // "in-plate" basetrack angular tolrance (nonplanarity)
27 
28  // RS agreement: 0 - in-view (default); 1 - in-zone; 2-in-plate; 3-in-brick
29 
30  public:
31  EdbSigma() { Set0(); }
32  virtual ~EdbSigma() {}
33 
34  void Set0();
35 
36  double SqSum(double a, double b) {return Sqrt(a*a + b*b);}
37 
38  double DAL(double t, double sxy, double sz, double dz);
39  double DAT(double t, double sxy, double dz );
40  double DP (double t, double sxy, double da, double dz);
41 
42  double DALmt(double t );
43  double DATmt(double t );
44  double DPLmt(double t );
45  double DPTmt(double t );
46 
47  double DALbt(double t );
48  double DATbt(double t );
49  double DPLbt(double t );
50  double DPTbt(double t );
51 
52  double FDAL(double *x, double *par) { return DAL(*x, par[0], par[1], par[2]);}
53  double FDAT(double *x, double *par) { return DAT(*x, par[0], par[1]);}
54  double FDPLmt(double *x, double *par) {return DPLmt(*x);}
55  double FDALbt(double *x, double *par) {return DALbt(*x);}
56 
57  void Draw();
58 
59  ClassDef(EdbSigma,1) // segments accuracy functions
60 };
61 
62 #endif /* ROOT_EdbSigma */
brick dz
Definition: RecDispMC.C:107
void a()
Definition: check_aligned.C:59
TTree * t
Definition: check_shower.C:4
t Draw("sizeb>>NbBT", cut2)
Definition: EdbSigma.h:8
double eDZcell
Definition: EdbSigma.h:18
EdbSigma()
Definition: EdbSigma.h:31
double eDZem
Definition: EdbSigma.h:16
double eSaZone
Definition: EdbSigma.h:22
double eSz
Definition: EdbSigma.h:13
double eSxy
Definition: EdbSigma.h:12
void Set0()
virtual ~EdbSigma()
Definition: EdbSigma.h:32
double FDALbt(double *x, double *par)
Definition: EdbSigma.h:55
double eSaPlate
Definition: EdbSigma.h:26
double FDPLmt(double *x, double *par)
Definition: EdbSigma.h:54
double eSxyZone
Definition: EdbSigma.h:21
double FDAL(double *x, double *par)
Definition: EdbSigma.h:52
double eSxyPlate
Definition: EdbSigma.h:25
double eDZbase
Definition: EdbSigma.h:17
double SqSum(double a, double b)
Definition: EdbSigma.h:36
double FDAT(double *x, double *par)
Definition: EdbSigma.h:53