FEDRA emulsion software from the OPERA Collaboration
EdbScanCond.h
Go to the documentation of this file.
1#ifndef ROOT_EdbScanCond
2#define ROOT_EdbScanCond
3
4#include "TNamed.h"
5#include "TMatrixD.h"
6#include "TF1.h"
7#include "TMath.h"
8
9//______________________________________________________________________________
10class EdbScanCond : public TNamed {
14 private:
15
17 Float_t eSigmaXgr;
18 Float_t eSigmaYgr;
19 Float_t eSigmaZgr;
20
22 Float_t eDegrad;
23
24 Float_t eSigmaX0;
25 Float_t eSigmaY0;
26 Float_t eSigmaZ0;
27 Float_t eSigmaTX0;
28 Float_t eSigmaTY0;
29
31
32 Float_t ePuls0[2];
33 Float_t ePuls04[2];
34
35 Float_t eBinX,eBinY;
36 Float_t eBinTX,eBinTY; //
37
38 Float_t eChi2Max; //
39 Float_t eChi2PMax; //
40 Int_t eChi2Mode;
41
42 Float_t eOffX, eOffY;
44
45 Float_t eRadX0;
46
47 public:
48
50
51 public:
53 virtual ~EdbScanCond(){}
54
55 void SetDefault();
56
57 void SetRadX0( float x0 ) {eRadX0=x0;}
58 float RadX0() const {return eRadX0;}
59
60 void SetSigmaGR( float sx, float sy, float sz )
61 { eSigmaXgr=sx; eSigmaYgr=sy; eSigmaZgr=sz; }
62 void SetSigma0( float x, float y, float tx, float ty )
63 { eSigmaX0=x; eSigmaY0=y; eSigmaTX0=tx; eSigmaTY0=ty; }
64 void SetSigma0( const char *str ) ;
65 void SetBins(float bx, float by, float btx, float bty)
66 { eBinX=bx; eBinY=by; eBinTX=btx; eBinTY=bty; }
67
68 void SetOffset( float x, float y ) {eOffX=x; eOffY=y;}
69 float OffX() const {return eOffX;}
70 float OffY() const {return eOffY;}
71 void SetDegrad( float d ) {eDegrad=d;}
72 void SetSigmaZ0( float z ) {eSigmaZ0=z;}
73
74 void SetPulsRamp0( float p1, float p2 ) {ePuls0[0]=p1; ePuls0[1]=p2;}
75 void SetPulsRamp04( float p1, float p2 ) {ePuls04[0]=p1; ePuls04[1]=p2;}
76 void SetPulsRamp0( const char *str );
77 void SetPulsRamp04( const char *str );
78 float BinX() const {return eBinX;}
79 float BinY() const {return eBinY;}
80 float BinTX() const {return eBinTX;}
81 float BinTY() const {return eBinTY;}
82
85 float Chi2Max() const {return eChi2Max;}
86 float Chi2PMax() const {return eChi2PMax;}
87
88 void SetChi2Mode(int mode) {eChi2Mode=mode;}
89 int Chi2Mode() const {return eChi2Mode;}
90
91 float StepX(float dz) const;
92 float StepY(float dz) const;
93 float StepTX(float tx) const { return BinTX()*SigmaTX(tx); }
94 float StepTY(float ty) const { return BinTY()*SigmaTY(ty); }
95
96 float SigmaXgr() const { return eSigmaXgr; }
97 float SigmaYgr() const { return eSigmaYgr; }
98 float SigmaZgr() const { return eSigmaZgr; }
99
100 float Degrad() const { return eDegrad; }
101
102 float SigmaX(float ax) const { return eSigmaX0*(1. + TMath::Abs(ax)*eDegrad); }
103 float SigmaY(float ay) const { return eSigmaY0*(1. + TMath::Abs(ay)*eDegrad); }
104 float SigmaZ(float ax, float ay) const
105 { return eSigmaZ0; } // TODO
106 float SigmaTX(float ax) const { return eSigmaTX0*(1. + TMath::Abs(ax)*eDegrad); }
107 float SigmaTY(float ay) const { return eSigmaTY0*(1. + TMath::Abs(ay)*eDegrad); }
109 float SigmaTXf(float ax) const { return eSigmaTX0*TMath::Sqrt(1. + ax*ax*eDegrad*eDegrad); }
110 float SigmaTYf(float ay) const { return eSigmaTY0*TMath::Sqrt(1. + ay*ay*eDegrad*eDegrad); }
111
112 float Ramp(float x, float x1, float x2) const;
113
114 float ProbSeg( float tx, float ty, float puls) const;
115 float ProbSeg( float t, float puls) const;
116
117 void DefineLLFunction( const char *str );
118 float ProbLL( float tx, float ty, float puls) const;
119 float ProbLL( float t, float puls) const;
120
121 void FillErrorsCov( float tx,float ty, TMatrixD &cov );
122
123 void Print() const;
124
125 ClassDef(EdbScanCond,1) // Scanning Conditions Parameters
126};
127
128#endif /* ROOT_EdbScanCond */
void d()
Definition: RecDispEX.C:381
brick dz
Definition: RecDispMC.C:107
Definition: EdbScanCond.h:10
float BinTX() const
Definition: EdbScanCond.h:80
float SigmaTX(float ax) const
Definition: EdbScanCond.h:106
Float_t eSigmaZgr
Definition: EdbScanCond.h:19
Float_t eChi2Max
Definition: EdbScanCond.h:38
Int_t eChi2Mode
mode of coupling chi2 calculation (default is 0)
Definition: EdbScanCond.h:40
float OffY() const
Definition: EdbScanCond.h:70
Float_t ePuls0[2]
puls height parametrizations:
Definition: EdbScanCond.h:32
Float_t eSigmaX0
[microns] Parameters at 0 angle
Definition: EdbScanCond.h:24
Float_t eChi2PMax
Definition: EdbScanCond.h:39
float Chi2PMax() const
Definition: EdbScanCond.h:86
Float_t eSigmaXgr
grain:
Definition: EdbScanCond.h:17
float StepTX(float tx) const
Definition: EdbScanCond.h:93
float ProbLL(float tx, float ty, float puls) const
Definition: EdbScanCond.cxx:145
Float_t eDegrad
segment:
Definition: EdbScanCond.h:22
float SigmaZ(float ax, float ay) const
Definition: EdbScanCond.h:104
float Degrad() const
Definition: EdbScanCond.h:100
Float_t eSigmaTY0
["rad"]
Definition: EdbScanCond.h:28
void SetOffset(float x, float y)
Definition: EdbScanCond.h:68
float SigmaTXf(float ax) const
full functions for sigmaTX(TX) - use them for simulation
Definition: EdbScanCond.h:109
float SigmaTY(float ay) const
Definition: EdbScanCond.h:107
void SetDefault()
Definition: EdbScanCond.cxx:16
float Chi2Max() const
Definition: EdbScanCond.h:85
float OffX() const
Definition: EdbScanCond.h:69
void SetPulsRamp0(float p1, float p2)
Definition: EdbScanCond.h:74
Float_t eBinTY
Definition: EdbScanCond.h:36
float Ramp(float x, float x1, float x2) const
Definition: EdbScanCond.cxx:104
Float_t eSigmaYgr
Definition: EdbScanCond.h:18
void SetChi2Max(float chi2)
Definition: EdbScanCond.h:83
virtual ~EdbScanCond()
Definition: EdbScanCond.h:53
void SetDegrad(float d)
Definition: EdbScanCond.h:71
float SigmaX(float ax) const
Definition: EdbScanCond.h:102
Float_t ePuls04[2]
Definition: EdbScanCond.h:33
void Print() const
Definition: EdbScanCond.cxx:50
float BinTY() const
Definition: EdbScanCond.h:81
float StepY(float dz) const
Definition: EdbScanCond.cxx:97
float SigmaXgr() const
Definition: EdbScanCond.h:96
void FillErrorsCov(float tx, float ty, TMatrixD &cov)
Definition: EdbScanCond.cxx:161
float StepX(float dz) const
Definition: EdbScanCond.cxx:90
void SetChi2Mode(int mode)
Definition: EdbScanCond.h:88
void SetSigmaGR(float sx, float sy, float sz)
Definition: EdbScanCond.h:60
void SetSigma0(float x, float y, float tx, float ty)
Definition: EdbScanCond.h:62
void SetBins(float bx, float by, float btx, float bty)
Definition: EdbScanCond.h:65
Float_t eBinX
Definition: EdbScanCond.h:35
float SigmaTYf(float ay) const
Definition: EdbScanCond.h:110
float ProbSeg(float tx, float ty, float puls) const
Definition: EdbScanCond.cxx:119
Float_t eSigmaZ0
z - uncertancy
Definition: EdbScanCond.h:26
EdbScanCond()
==============================================================================
Definition: EdbScanCond.cxx:10
Float_t eOffX
Definition: EdbScanCond.h:42
float SigmaYgr() const
Definition: EdbScanCond.h:97
void SetSigmaZ0(float z)
Definition: EdbScanCond.h:72
float SigmaY(float ay) const
Definition: EdbScanCond.h:103
Float_t eOffY
Definition: EdbScanCond.h:42
Float_t eBinTX
Definition: EdbScanCond.h:36
void SetPulsRamp04(float p1, float p2)
Definition: EdbScanCond.h:75
Float_t eRadX0
radiation length for ECC media [microns]
Definition: EdbScanCond.h:45
Float_t eBinY
bins [normalized to Sigma()]
Definition: EdbScanCond.h:35
float BinX() const
Definition: EdbScanCond.h:78
float RadX0() const
Definition: EdbScanCond.h:58
void DefineLLFunction(const char *str)
Definition: EdbScanCond.cxx:135
void SetRadX0(float x0)
Definition: EdbScanCond.h:57
float StepTY(float ty) const
Definition: EdbScanCond.h:94
int Chi2Mode() const
Definition: EdbScanCond.h:89
float BinY() const
Definition: EdbScanCond.h:79
float SigmaZgr() const
Definition: EdbScanCond.h:98
Float_t eSigmaTX0
["rad"]
Definition: EdbScanCond.h:27
Float_t eSigmaY0
[microns] SigmaX = S0*(1+eDegrad*Ax)
Definition: EdbScanCond.h:25
void SetChi2PMax(float chi2)
Definition: EdbScanCond.h:84
TF1 * eLikelihoodMT
the likelihood function used for microtrack probablility estimation
Definition: EdbScanCond.h:49
TTree * t
Definition: check_shower.C:4
Float_t chi2
Definition: testBGReduction_By_ANN.C:14