FEDRA emulsion software from the OPERA Collaboration
EdbTrackFitter.h
Go to the documentation of this file.
1#ifndef ROOT_EdbTrackFitter
2#define ROOT_EdbTrackFitter
5
11
12#include "EdbPattern.h"
13
14class EdbScanCond;
15
16//______________________________________________________________________________
17class EdbTrackFitter : public TNamed {
18
19 private:
21
22 public:
23 float eX0;
24 float eM;
25 float ePdef;
26 float eTPb;
27 float ePcut;
29
30 public:
32 virtual ~EdbTrackFitter(){}
33
34 void SetNsegMax(int nseg) {eNsegMax=nseg;}
35 void SetDefaultBrick();
37 int FitTrackLine(const EdbTrackP &tr, float &x,float &y,float &z,float &tx,float &ty,float &w);
38
39 static float MaxKink(EdbTrackP &tr);
40 static float MeanKink(EdbTrackP &tr);
41 static float Theta( EdbSegP &s, EdbSegP &s1 );
42 static float Chi2Seg( EdbSegP *s1, EdbSegP *s2);
43 static float MaxChi2Seg(EdbTrackP &tr);
44 static float MeanChi2Seg(EdbTrackP &tr);
45 bool SplitTrack( EdbTrackP &t, EdbTrackP &t1, int isplit );
46 int SplitTrackByKink( EdbTrackP *t, TObjArray &tracks, float maxkink );
47 float PMS_KF(EdbTrackP &t, float p0=10., float probbest=0.5);
48
49 static float Chi2ACP( EdbSegP s1, EdbSegP s2, EdbScanCond &cond);
50 static float Chi2ASeg( EdbSegP &s1, EdbSegP &s2, EdbSegP &s, EdbScanCond &cond1, EdbScanCond &cond2);
51 static float Chi2PSeg( EdbSegP &s1, EdbSegP &s2, EdbSegP &seg, EdbScanCond &cond1, EdbScanCond &cond2);
52 static float Chi2ASegLL( EdbSegP &s1, EdbSegP &s2, EdbSegP &s, EdbScanCond &cond1, EdbScanCond &cond2);
53 float Chi2SegM( EdbSegP s1, EdbSegP s2, EdbSegP &s, EdbScanCond &cond1, EdbScanCond &cond2);
54 float Chi2SegMCS( const EdbSegP &s1, const EdbSegP &s2);
55 double ProbSegMCS(EdbSegP *s1, EdbSegP *s2);
56 void Print();
57
58 static int RMSprojXY(EdbTrackP &tr, float &ex, float &ey );
59
60 ClassDef(EdbTrackFitter,1) // track fitter
61};
62
63#endif /* ROOT_EdbTrackFitter */
TTree * tr
Definition: Shower_E_FromShowerRoot.C:5
Definition: EdbScanCond.h:10
Definition: EdbSegP.h:21
Definition: EdbTrackFitter.h:17
double ProbSegMCS(EdbSegP *s1, EdbSegP *s2)
Definition: EdbTrackFitter.cxx:288
bool SplitTrack(EdbTrackP &t, EdbTrackP &t1, int isplit)
Definition: EdbTrackFitter.cxx:458
int eNsegMax
max number of segments (for arrays allocation)
Definition: EdbTrackFitter.h:20
static float Chi2ACP(EdbSegP s1, EdbSegP s2, EdbScanCond &cond)
Definition: EdbTrackFitter.cxx:125
float eTPb
?
Definition: EdbTrackFitter.h:26
EdbTrackFitter()
Definition: EdbTrackFitter.cxx:37
static int RMSprojXY(EdbTrackP &tr, float &ex, float &ey)
Definition: EdbTrackFitter.cxx:572
float Chi2SegM(EdbSegP s1, EdbSegP s2, EdbSegP &s, EdbScanCond &cond1, EdbScanCond &cond2)
Definition: EdbTrackFitter.cxx:315
virtual ~EdbTrackFitter()
Definition: EdbTrackFitter.h:32
float PMS_KF(EdbTrackP &t, float p0=10., float probbest=0.5)
Definition: EdbTrackFitter.cxx:497
bool eDE_correction
take into account the energy loss or not
Definition: EdbTrackFitter.h:28
static float Chi2PSeg(EdbSegP &s1, EdbSegP &s2, EdbSegP &seg, EdbScanCond &cond1, EdbScanCond &cond2)
Definition: EdbTrackFitter.cxx:263
float eX0
rad length of the media [microns]
Definition: EdbTrackFitter.h:23
static float MeanChi2Seg(EdbTrackP &tr)
Definition: EdbTrackFitter.cxx:416
int SplitTrackByKink(EdbTrackP *t, TObjArray &tracks, float maxkink)
Definition: EdbTrackFitter.cxx:477
static float Theta(EdbSegP &s, EdbSegP &s1)
Definition: EdbTrackFitter.cxx:452
float ePdef
default momentum
Definition: EdbTrackFitter.h:25
static float Chi2ASegLL(EdbSegP &s1, EdbSegP &s2, EdbSegP &s, EdbScanCond &cond1, EdbScanCond &cond2)
Definition: EdbTrackFitter.cxx:170
static float MaxKink(EdbTrackP &tr)
Definition: EdbTrackFitter.cxx:429
static float Chi2ASeg(EdbSegP &s1, EdbSegP &s2, EdbSegP &s, EdbScanCond &cond1, EdbScanCond &cond2)
Definition: EdbTrackFitter.cxx:217
static float MaxChi2Seg(EdbTrackP &tr)
Definition: EdbTrackFitter.cxx:402
static float Chi2Seg(EdbSegP *s1, EdbSegP *s2)
Definition: EdbTrackFitter.cxx:62
float ePcut
minimal momentum?
Definition: EdbTrackFitter.h:27
float Chi2SegMCS(const EdbSegP &s1, const EdbSegP &s2)
Definition: EdbTrackFitter.cxx:293
static float MeanKink(EdbTrackP &tr)
Definition: EdbTrackFitter.cxx:442
int FitTrackLine(EdbTrackP &tr)
Definition: EdbTrackFitter.cxx:520
float eM
mass of the particle (if negative - use the mass setted in the track)
Definition: EdbTrackFitter.h:24
void SetNsegMax(int nseg)
Definition: EdbTrackFitter.h:34
void Print()
Definition: EdbTrackFitter.cxx:53
void SetDefaultBrick()
Definition: EdbTrackFitter.cxx:43
Definition: EdbPattern.h:113
TTree * t
Definition: check_shower.C:4
s
Definition: check_shower.C:55
TTree * tracks
Definition: check_tr.C:19
EdbSegP * s1
Definition: tlg2couples.C:29
EdbSegP * s2
Definition: tlg2couples.C:30
void w(int rid=2, int nviews=2)
Definition: test.C:27