FEDRA emulsion software from the OPERA Collaboration
EdbRunTracking.h
Go to the documentation of this file.
1#ifndef ROOT_EdbRunTracking
2#define ROOT_EdbRunTracking
5
10
11#include "EdbRun.h"
12#include "EdbPattern.h"
13#include "EdbLayer.h"
14#include "EdbRunAccess.h"
15
16class EdbPlateP;
17
20
21 public:
22
25
26 Float_t eDeltaRview;
27 Float_t eDeltaTheta;
30
33
34 Float_t eDeltaR;
35
37
38 Float_t ePulsMinBT;
40 Float_t eChi2MaxBT;
41
43
44 Float_t ePulsMinMT;
46 Float_t eChi2MaxMT;
47
50
54 Int_t eStatus;
55
56 Float_t eDegradPos;
57 Float_t eDegradSlope;
58
59 Int_t eIdp[4];
60 Int_t eIdf[4];
61
63
64 public:
65
68 EdbRunTracking(const char *fname) : EdbRunAccess(fname) { Set0(); };
69
70 virtual ~EdbRunTracking();
71
72 void Set0();
73 void SetCondMT(EdbScanCond &cond) { eCondMT = cond; }
74 void SetCondBT(EdbScanCond &cond) { eCondBT = cond; }
75
76 void SetPred(const EdbSegP &pred);
77
78 int UpdateFlag(int flag, int status);
79 static int GetBTHoles(int flag) { return(flag/10000); }
80 static int GetMTHoles(int flag) { return((flag/100)%100); }
81 int ExtrapolateCond(EdbScanCond &inputcond, int flag, EdbScanCond &outputcond );
82
83 int FindCompliments( EdbSegP &s, EdbPattern &pat, TObjArray &found, float chi2max, TArrayF &chiarr );
84
85 int FindCandidates( EdbSegP &spred, EdbPattern &fndbt, EdbPattern &fnds1, EdbPattern &fnds2 );
86 int FindCandidateMT( EdbPattern &fnds1, EdbPattern &fnds2, EdbSegP &fnd );
87 // int FindCandidateBT(EdbPattern &fndbt, EdbSegP &fnd );
88 int FindBestCandidate(EdbPattern &fndbt, EdbSegP &fnd,EdbPattern &cnd, float wmin, float wmindegrad, float chi2max);
89 int FindPrediction( EdbSegP &spred, EdbSegP &fndbt, EdbSegP &fnds1, EdbSegP &fnds2, EdbSegP &snewpred );
90
91 //void TransformToPlateRS( EdbPlateP &plate);
93
94 int FindTrack(EdbTrackP &pred,EdbTrackP &found, EdbPlateP &plate);
95
96 void Print();
97
98 //void Transform(const EdbAffine2D &aff);
99
100 static void CloseSBtree(TTree *tree);
101 static TTree *InitSBtree(const char *file_name="sbt.root", const char *mode="RECREATE");
102 bool UpdateSBtree( TTree &tsbt, int idp[4], int idf[4]);
103 bool GetSBtreeEntry( int entry, TTree &tsbt);
104
106 void CheckZ( float &z1, float &z2 );
107
108 ClassDef(EdbRunTracking,1) // helper class for access to the run data
109};
110
111#endif /* ROOT_EdbRunTracking */
112
TLegendEntry * entry
Definition: Canv_SYSTEMATICS_ALLCOMBINED__RMSEnergy__vs__Energy__ELECTRON.C:130
Definition: EdbPattern.h:273
Definition: EdbBrick.h:14
helper class for access to the run data
Definition: EdbRunAccess.h:23
helper class for access to the run data
Definition: EdbRunTracking.h:19
EdbPattern eScnd
basetracks candidates passed all cuts
Definition: EdbRunTracking.h:42
int FindTrack(EdbTrackP &pred, EdbTrackP &found, EdbPlateP &plate)
Definition: EdbRunTracking.cxx:575
void TransformFromPlateRS(EdbPlateP &plate)
Definition: EdbRunTracking.cxx:619
int ExtrapolateCond(EdbScanCond &inputcond, int flag, EdbScanCond &outputcond)
Definition: EdbRunTracking.cxx:107
Float_t ePulsMinDegradBT
(0)
Definition: EdbRunTracking.h:45
Float_t ePulsMinBT
(18)
Definition: EdbRunTracking.h:38
int FindCandidates(EdbSegP &spred, EdbPattern &fndbt, EdbPattern &fnds1, EdbPattern &fnds2)
Definition: EdbRunTracking.cxx:171
EdbSegP ePred
prediction
Definition: EdbRunTracking.h:51
void CheckZ(float &z1, float &z2)
Definition: EdbRunTracking.cxx:672
Float_t eDeltaR
(20)
Definition: EdbRunTracking.h:34
int GetSegmentsForDB(EdbSegP &s, EdbSegP &s1, EdbSegP &s2)
Definition: EdbRunTracking.cxx:689
EdbScanCond eCondMT
conditions for microtracks
Definition: EdbRunTracking.h:23
EdbRunTracking(const char *fname)
Definition: EdbRunTracking.h:68
EdbPattern eS2pre
Definition: EdbRunTracking.h:32
int UpdateFlag(int flag, int status)
Definition: EdbRunTracking.cxx:88
Int_t eIdp[4]
to read from sbt
Definition: EdbRunTracking.h:59
int FindBestCandidate(EdbPattern &fndbt, EdbSegP &fnd, EdbPattern &cnd, float wmin, float wmindegrad, float chi2max)
Definition: EdbRunTracking.cxx:309
EdbPattern eS1pre
the result of the preliminary selection of microtracks
Definition: EdbRunTracking.h:31
Float_t ePreliminaryPulsMinMT
(6) _ preliminary cuts to microtracks candidates for
Definition: EdbRunTracking.h:28
Float_t eChi2MaxMT
(1.6) maximum chi2 accepted between prediction and microtrack candidates
Definition: EdbRunTracking.h:46
Float_t eDeltaRview
(400)
Definition: EdbRunTracking.h:26
Float_t ePreliminaryChi2MaxMT
(1.6) / microtracks and basetracks selection
Definition: EdbRunTracking.h:29
EdbSegP eS
Definition: EdbRunTracking.h:52
static int GetBTHoles(int flag)
Definition: EdbRunTracking.h:79
static int GetMTHoles(int flag)
Definition: EdbRunTracking.h:80
EdbRunTracking()
Definition: EdbRunTracking.h:66
Int_t eStatus
-1-nothing, 0-bt, 1-mt1, 2-mt2
Definition: EdbRunTracking.h:54
int FindPrediction(EdbSegP &spred, EdbSegP &fndbt, EdbSegP &fnds1, EdbSegP &fnds2, EdbSegP &snewpred)
Definition: EdbRunTracking.cxx:326
bool UpdateSBtree(TTree &tsbt, int idp[4], int idf[4])
Definition: EdbRunTracking.cxx:480
Float_t ePulsMinMT
(10) mimimal number of grains accepted to select microtracks
Definition: EdbRunTracking.h:44
virtual ~EdbRunTracking()
void SetPred(const EdbSegP &pred)
Definition: EdbRunTracking.cxx:52
Float_t eDegradSlope
SigmaTX = SigmaTX(0) + degradSlope * bth.
Definition: EdbRunTracking.h:57
int FindCompliments(EdbSegP &s, EdbPattern &pat, TObjArray &found, float chi2max, TArrayF &chiarr)
Definition: EdbRunTracking.cxx:126
EdbScanCond eCondBT
conditions for basetracks
Definition: EdbRunTracking.h:24
void Print()
Definition: EdbRunTracking.cxx:66
Int_t eIdf[4]
Definition: EdbRunTracking.h:60
Float_t eChi2MaxBT
(1.5) maximum chi2 accepted between prediction and basetrack candidates
Definition: EdbRunTracking.h:40
static TTree * InitSBtree(const char *file_name="sbt.root", const char *mode="RECREATE")
Definition: EdbRunTracking.cxx:435
void SetCondMT(EdbScanCond &cond)
Definition: EdbRunTracking.h:73
EdbRunTracking(EdbRun *run)
Definition: EdbRunTracking.h:67
int FindCandidateMT(EdbPattern &fnds1, EdbPattern &fnds2, EdbSegP &fnd)
Definition: EdbRunTracking.cxx:288
EdbPattern eSpre
preliminary selected basetracks
Definition: EdbRunTracking.h:36
void Set0()
Definition: EdbRunTracking.cxx:27
static void CloseSBtree(TTree *tree)
Definition: EdbRunTracking.cxx:548
EdbSegP eNext
next prediction
Definition: EdbRunTracking.h:53
bool ePredictionScan
if true use GetPatternDataForPrediction( spred.ID(), side, pat ); in FindCandidates (default is false...
Definition: EdbRunTracking.h:62
Float_t eDegradPos
SigmaX = SigmaX(0) + degradPos * mth.
Definition: EdbRunTracking.h:56
Float_t ePulsMinDegradMT
(0)
Definition: EdbRunTracking.h:39
EdbSegP eS1
Definition: EdbRunTracking.h:52
Float_t eDeltaTheta
(0.15) slope acceptance
Definition: EdbRunTracking.h:27
EdbPattern eS2cnd
Definition: EdbRunTracking.h:49
bool GetSBtreeEntry(int entry, TTree &tsbt)
Definition: EdbRunTracking.cxx:516
EdbSegP eS2
found segments
Definition: EdbRunTracking.h:52
void SetCondBT(EdbScanCond &cond)
Definition: EdbRunTracking.h:74
EdbPattern eS1cnd
microtrack candidates passed all cuts
Definition: EdbRunTracking.h:48
Definition: EdbRun.h:75
Definition: EdbScanCond.h:10
Definition: EdbSegP.h:21
Definition: EdbPattern.h:113
EdbRun * run
Definition: check_raw.C:38
s
Definition: check_shower.C:55
EdbSegP * s1
Definition: tlg2couples.C:29
EdbSegP * s2
Definition: tlg2couples.C:30
const char * fname
Definition: mc2raw.cxx:41
Int_t plate
Definition: merge_Energy_SytematicSources_Electron.C:1