FEDRA emulsion software from the OPERA Collaboration
EdbPVRec.h
Go to the documentation of this file.
1#ifndef ROOT_EdbPVRec
2#define ROOT_EdbPVRec
5
11
12#include "THashList.h"
13#include "EdbPattern.h"
14#include "TIndexCell.h"
15#include "EdbLayer.h"
16#include "EdbScanCond.h"
17#include "EdbSegCouple.h"
18
19class EdbAffine2D;
20class TIndexCell;
21class EdbVertex;
22class EdbVTA;
23class TIndex2;
24class EdbScanSet;
25
26//______________________________________________________________________________
27class EdbPatCouple : public TObject {
28
29 private:
30
31 Int_t eID[2];
32
34
37
38 Float_t eOffset[4];
40 Float_t eSigma[4];
41
43
44 TObjArray *eSegCouples; //
45 // TClonesArray *eSegCouples; //
46
48
49 float eZlink;
50
53
54 float eChi2Max;
55
57
58 public:
61
62 void SetID(int id1, int id2) { eID[0]=id1; eID[1]=id2; }
63 void SetOffsetsMax(float ox, float oy)
64 { eXoffsetMax=ox; eYoffsetMax=oy; }
65 void SetOffset( float o1,float o2, float o3, float o4 )
66 { eOffset[0]=o1; eOffset[1]=o2; eOffset[2]=o3; eOffset[3]=o4; }
67 void SetSigma( float s1,float s2, float s3, float s4 )
68 { eSigma[0]=s1; eSigma[1]=s2; eSigma[2]=s3; eSigma[3]=s4; }
69 void SetZlink(float z) {eZlink=z;}
70
71 void SetPat1(EdbPattern *pat1) { ePat1=pat1; }
72 void SetPat2(EdbPattern *pat2) { ePat2=pat2; }
73
74 void SetCond(EdbScanCond *cond) { eCond=cond; }
75
76 EdbAffine2D *GetAff() {return eAff;}
77 EdbScanCond *Cond() {return eCond;}
78
79 float Zlink() const {return eZlink;}
80 int Ncouples() const { if(eSegCouples) return eSegCouples->GetEntriesFast();
81 else return 0; }
82 void ClearSegCouples() { if(eSegCouples) eSegCouples->Clear(); }
83
84 EdbSegCouple *AddSegCouple(int id1, int id2);
86 { return (EdbSegCouple *)(eSegCouples->At(i)); }
87 void RemoveSegCouple(EdbSegCouple *sc) { SafeDelete(sc); }
88
89 EdbPattern *Pat1() { return ePat1; }
90 EdbPattern *Pat2() { return ePat2; }
91
92
93
94 int LinkSlow( float chi2max );
95 int LinkFast();
97 int DiffPat( EdbPattern *pat1, EdbPattern *pat2,
98 Long_t vdiff[4]);
99
100 int DiffPatCell( TIndexCell *cel1, TIndexCell *cel2,
101 Long_t vdiff[4]);
102
103 void SetCHI2mode(int m) { eCHI2mode=m; }
104 int CHI2mode() const { return eCHI2mode; }
105 float Chi2Pz0(EdbSegCouple *scp);
106 float Chi2A(EdbSegCouple *scp, int iprob=1);
107 float Chi2A(EdbSegP *s1, EdbSegP *s2, int iprob=1);
108 float Chi2KF(EdbSegCouple *scp);
109
110 int FillCHI2();
111 int FillCHI2P();
112
113 int SelectIsolated();
114 int CutCHI2P(float chimax);
115 int SortByCHI2P();
116 void PrintCouples();
117
118 int Align(int alignFlag);
119 //int AlignAff(EdbPattern *pat1, EdbPattern *pat2, Long_t vdiff[4]);
120 int FindOffset0(float xmax, float ymax);
121 int FindOffset01(float xmax, float ymax);
122 int FindOffset1(float xmax, float ymax);
123 int FindOffset( EdbPattern *pat1, EdbPattern *pat2, Long_t vdiff[4]);
124 void CalculateAffXY(int alignFlag);
125 void CalculateAffXYZ(float z, int alignFlag);
126
127 void FillCell_XYaXaY( EdbScanCond *cond, float zlink, int id=0 );
128 void FillCell_XYaXaY( EdbPattern *pat, EdbScanCond *cond, float dz,
129 float stepx, float stepy );
130
131 int ID1() const { return eID[0]; }
132 int ID2() const { return eID[1]; }
133
134 float OffsetX() const { return eOffset[0]; }
135 float OffsetY() const { return eOffset[1]; }
136 float OffsetTX() const { return eOffset[2]; }
137 float OffsetTY() const { return eOffset[3]; }
138
139 float SigmaX() const { return eSigma[0]; }
140 float SigmaY() const { return eSigma[1]; }
141 float SigmaTX() const { return eSigma[2]; }
142 float SigmaTY() const { return eSigma[3]; }
143
144 ClassDef(EdbPatCouple,1) // couple of patterns to be aligned
145};
146
147//______________________________________________________________________________
149
150 private:
151
152 TObjArray *ePatCouples;
153
154 float eChi2Max;
155 Long_t eVdiff[4];
157
159
160 public:
161 TObjArray *eTracks;
162 TObjArray *eVTX;
163
164 public:
165 EdbPVRec();
166 ~EdbPVRec();
167
168 void DummyCycle();
169
170 void FillCell( float stepx, float stepy, float steptx,float stepty);
172 EdbScanCond const *GetScanCond() { return eScanCond; }
173
174 void SetBinsCheck(int nx, int ny, int ntx, int nty)
175 { eVdiff[0]=nx; eVdiff[1]=ny; eVdiff[2]=ntx; eVdiff[3]=nty; }
176 EdbPatCouple *AddCouple(int id1, int id2);
177 void AddCouple(EdbPatCouple *c) { ePatCouples->Add(c); }
178 void SetCouples();
179 void ResetCouples();
180 void DeleteCouples() { if(ePatCouples) ePatCouples->Delete(); }
181 void SetCouplesAll();
182 void SetCouplesPeriodic(int istart, int iperiod);
183 void SetCouplesExclude(TArrayI &exclude);
184
185 float Chi2Max( ) const { return eChi2Max; }
186 void SetChi2Max(float chi) { eChi2Max=chi; }
187
188 Int_t Ncouples() const {return ePatCouples?ePatCouples->GetEntriesFast():0;}
189
190 EdbPatCouple *GetCouple(int i) const { if(ePatCouples)
191 return (EdbPatCouple *)(ePatCouples->At(i));
192 else return 0; }
193
195
196 void ResetTracks();
197 float Chi2Fast(EdbSegP &s1, EdbSegP &s2);
198 int MergeTracks(int maxgap=2);
199 int MergeTracks1(int maxgap);
200 int MakeTracks(int nsegments=2, int flag=0);
201 void FitTracks(float p=10., float mass=0.139, TObjArray *gener = 0,
202 int design=0);
203 Int_t Ntracks() const {return eTracks ? eTracks->GetEntriesFast() : 0;}
204
205 int LinkSlow();
206 int Link();
207 int Align(int alignFlag);
208 int AlignOld(int alignFlag);
209 int AlignPlates( EdbScanSet &sci, EdbScanSet &sca, const char *reportdir=0);
210
211 // int AlignA();
212 // int LinkTracks();
213 void FillTracksCellFast();
214 void AddCouplesToTracks(EdbPatCouple *pc, TIndex2 &itracks );
215 void AddCouplesToTracksM(EdbPatCouple *pc, TIndex2 &itracks );
216 void FillTracksCell2();
217 void FillTracksCell1();
218 void FillTracksCell();
219 int MakeHoles(int ort);
220 int InsertHole( const EdbSegP *s1, const EdbSegP *s2, int pid );
222 int CollectSegment1(TIndexCell *ct, THashList *cross);
223 int SelectLongTracks(int nsegments);
224
225 int MakeSummaryTracks();
226 int FineCorrXY(int ipat, EdbAffine2D &aff, int flag);
227 int FineCorrTXTY(int ipat, EdbAffine2D &aff);
228 int FineCorrZ(int ipat, float &dz);
229 int FineCorrZnew();
230 int FineCorrShr(int ipat, float &shr);
231
232 int FineCorrF(int ipat, EdbAffine2D &aff, EdbAffine2D &afft );
233
234 void SetSegmentsTracks();
235
236 void SetOffsetsMax(float ox, float oy);
237 void SetSegmentsErrors();
238 void SetSegmentErrors( EdbSegP &seg );
239 void SetSegmentProbability( EdbSegP &seg );
240
241 EdbTrackP* GetTrack(int i) const {return eTracks ? (EdbTrackP*)(eTracks->At(i)) : 0;}
242 EdbTrackP* FindTrack(int id) const;
243
244 EdbSegP* FindSegment(int PlateID, int SegmentID) const;
245
247 if (!eTracks) eTracks = new TObjArray();
248 eTracks->Add(track);
249 }
250
251 void AddVertex(EdbVertex *vtx) {
252 if(!eVTX) eVTX = new TObjArray();
253 eVTX->Add((TObject*)vtx);
254 }
255 Int_t Nvtx() const {return eVTX ? eVTX->GetEntriesFast() : 0;}
256 EdbVertex *GetVertex(Int_t &i) {return eVTX ? (EdbVertex*)eVTX->At(i) : 0;}
257
258 inline TObjArray* GetTracks() {return eTracks;}
259 inline TObjArray* GetVertices() {return eVTX;}
260
261 Int_t NSeg();
262
263
264 int ExtractDataVolumeSeg( EdbTrackP &tr, TObjArray &arr,
265 float binx, float bint );
266 int ExtractDataVolumeSegAll( TObjArray &arr );
267
268 int CombTracks( int nplmin, int ngapMax, float probMin=0.01 );
269
270 int PropagateTracks(int nplmax, int nplmin, float probMin = 0.05,
271 int ngapMax = 3, int design = 0 );
272 int PropagateTrack( EdbTrackP &tr, bool followZ, float probMin = 0.05,
273 int ngapMax = 3, int design = 0 );
274
275 static double ProbeSeg( const EdbTrackP *s1, EdbTrackP *s2,
276 const float X0=5810. );
277 static double ProbeSeg( const EdbTrackP *s1, EdbSegP *s2,
278 const float X0=5810. );
279 static double ProbeSeg( const EdbSegP *s1, EdbSegP *s2,
280 const float X0=5810., const float mass=0.1396 );
281
282 static bool AttachSeg( EdbTrackP& tr, EdbSegP *s,
283 const float X0, const float ProbMin, float &prob );
284
289 void SetScanIDPatSeg(EdbID id);
290 void SetScanIDTrackSeg(EdbID id);
291
292 float Xmin();
293 float Xmax();
294 float Ymin();
295 float Ymax();
296 //float Zmin();
297 //float Zmax();
298
299 void InsertTrack( const EdbTrackP &t );
300 void PrintSummary();
301
302 ClassDef(EdbPVRec,1) // Patterns Volume reconstructor
303};
304#endif /* ROOT_EdbPVRec */
SVector< T, 3 > cross(const SVector< T, 3 > &lhs, const SVector< T, 3 > &rhs)
Definition: Functions.hh:283
brick dz
Definition: RecDispMC.C:107
brick X0
Definition: RecDispMC.C:112
int design
Definition: RecDispMC.C:90
EdbScanCond * scan
Definition: RecDispNU.C:117
TTree * tr
Definition: Shower_E_FromShowerRoot.C:5
Definition: EdbAffine.h:17
Definition: EdbID.h:7
Definition: EdbPVRec.h:148
int AlignOld(int alignFlag)
Definition: EdbPVRec.cxx:1280
int InsertHole(const EdbSegP *s1, const EdbSegP *s2, int pid)
Definition: EdbPVRec.cxx:1730
Long_t eVdiff[4]
how many ajenced bins should be taken into account
Definition: EdbPVRec.h:155
TObjArray * GetTracks()
Definition: EdbPVRec.h:258
int FineCorrXY(int ipat, EdbAffine2D &aff, int flag)
Definition: EdbPVRec.cxx:2094
void SetSegmentsErrors()
Definition: EdbPVRec.cxx:1129
void DummyCycle()
Definition: EdbPVRec.cxx:1171
int FineCorrTXTY(int ipat, EdbAffine2D &aff)
Definition: EdbPVRec.cxx:2125
int CollectSegment1(TIndexCell *ct, THashList *cross)
Definition: EdbPVRec.cxx:1662
int ExtractDataVolumeSegAll(TObjArray &arr)
Definition: EdbPVRec.cxx:2881
void SetCouples()
Definition: EdbPVRec.cxx:934
void SetScanIDTrackSeg(EdbID id)
Definition: EdbPVRec.cxx:2991
int LinkSlow()
Definition: EdbPVRec.cxx:1152
static double ProbeSeg(const EdbTrackP *s1, EdbTrackP *s2, const float X0=5810.)
Definition: EdbPVRec.cxx:2658
float eChi2Max
Definition: EdbPVRec.h:154
int FineCorrZ(int ipat, float &dz)
Definition: EdbPVRec.cxx:2156
int ExtractDataVolumeSeg(EdbTrackP &tr, TObjArray &arr, float binx, float bint)
Definition: EdbPVRec.cxx:2856
int MakeTracks(int nsegments=2, int flag=0)
Definition: EdbPVRec.cxx:1989
TIndexCell * eTracksCell
Definition: EdbPVRec.h:158
int Align(int alignFlag)
Definition: EdbPVRec.cxx:1210
void AddCouplesToTracks(EdbPatCouple *pc, TIndex2 &itracks)
Definition: EdbPVRec.cxx:1403
void SetBinsCheck(int nx, int ny, int ntx, int nty)
Definition: EdbPVRec.h:174
EdbPatCouple * GetCouple(int i) const
Definition: EdbPVRec.h:190
int FineCorrZnew()
Definition: EdbPVRec.cxx:2189
void AddCouplesToTracksM(EdbPatCouple *pc, TIndex2 &itracks)
Definition: EdbPVRec.cxx:1439
void SetSegmentErrors(EdbSegP &seg)
Definition: EdbPVRec.cxx:1099
void SetSegmentProbability(EdbSegP &seg)
Definition: EdbPVRec.cxx:1116
EdbSegP * FindSegment(int PlateID, int SegmentID) const
Definition: EdbPVRec.cxx:901
void SetCouplesPeriodic(int istart, int iperiod)
Definition: EdbPVRec.cxx:982
EdbScanCond const * GetScanCond()
Definition: EdbPVRec.h:172
int SelectLongTracks(int nsegments)
Definition: EdbPVRec.cxx:2294
EdbPVRec()
=============================================================================
Definition: EdbPVRec.cxx:857
float Chi2Max() const
Definition: EdbPVRec.h:185
float Xmin()
Definition: EdbPVRec.cxx:1044
int MergeTracks(int maxgap=2)
Definition: EdbPVRec.cxx:1745
~EdbPVRec()
Definition: EdbPVRec.cxx:870
void FillTracksCellFast()
Definition: EdbPVRec.cxx:1361
EdbVertex * GetVertex(Int_t &i)
Definition: EdbPVRec.h:256
void FillTracksCell2()
Definition: EdbPVRec.cxx:1578
int MakeHoles(int ort)
Definition: EdbPVRec.cxx:1683
int CombTracks(int nplmin, int ngapMax, float probMin=0.01)
Definition: EdbPVRec.cxx:2345
int FineCorrF(int ipat, EdbAffine2D &aff, EdbAffine2D &afft)
Definition: EdbPVRec.cxx:2039
void SetSegmentsTracks()
Definition: EdbPVRec.cxx:2474
void SetCouplesExclude(TArrayI &exclude)
Definition: EdbPVRec.cxx:1010
void SetChi2Max(float chi)
Definition: EdbPVRec.h:186
Int_t NSeg()
Definition: EdbPVRec.cxx:2913
int MakeSummaryTracks()
Definition: EdbPVRec.cxx:2280
TObjArray * eVTX
array of vertex
Definition: EdbPVRec.h:162
void FillTracksCell()
Definition: EdbPVRec.cxx:1319
Int_t Ntracks() const
Definition: EdbPVRec.h:203
TObjArray * ePatCouples
patterns couples
Definition: EdbPVRec.h:152
void ResetCouples()
Definition: EdbPVRec.cxx:950
TObjArray * eTracks
Definition: EdbPVRec.h:161
EdbPatCouple * AddCouple(int id1, int id2)
Definition: EdbPVRec.cxx:916
void AddVertex(EdbVertex *vtx)
Definition: EdbPVRec.h:251
void SetCouplesAll()
Definition: EdbPVRec.cxx:975
void PrintSummary()
Definition: EdbPVRec.cxx:3038
float Chi2Fast(EdbSegP &s1, EdbSegP &s2)
Definition: EdbPVRec.cxx:1845
int FineCorrShr(int ipat, float &shr)
Definition: EdbPVRec.cxx:2251
void FillCell(float stepx, float stepy, float steptx, float stepty)
Definition: EdbPVRec.cxx:1092
int Link()
Definition: EdbPVRec.cxx:1187
float Xmax()
Definition: EdbPVRec.cxx:1056
void InsertTrack(const EdbTrackP &t)
Definition: EdbPVRec.cxx:3007
void AddCouple(EdbPatCouple *c)
Definition: EdbPVRec.h:177
void SetScanIDPatSeg(EdbID id)
Definition: EdbPVRec.cxx:2976
Int_t Nvtx() const
Definition: EdbPVRec.h:255
float Ymax()
Definition: EdbPVRec.cxx:1080
Int_t Ncouples() const
Definition: EdbPVRec.h:188
int AlignPlates(EdbScanSet &sci, EdbScanSet &sca, const char *reportdir=0)
Definition: EdbPVRec.cxx:1229
int MergeTracks1(int maxgap)
Definition: EdbPVRec.cxx:1762
float Ymin()
Definition: EdbPVRec.cxx:1068
TObjArray * GetVertices()
Definition: EdbPVRec.h:259
void DeleteCouples()
Definition: EdbPVRec.h:180
EdbSegP * AddSegment(EdbSegP &s)
Definition: EdbPVRec.cxx:2925
TIndexCell * GetTracksCell() const
Definition: EdbPVRec.h:194
static bool AttachSeg(EdbTrackP &tr, EdbSegP *s, const float X0, const float ProbMin, float &prob)
Definition: EdbPVRec.cxx:2754
int PropagateTrack(EdbTrackP &tr, bool followZ, float probMin=0.05, int ngapMax=3, int design=0)
Definition: EdbPVRec.cxx:2569
EdbTrackP * FindTrack(int id) const
Definition: EdbPVRec.cxx:893
int PropagateTracks(int nplmax, int nplmin, float probMin=0.05, int ngapMax=3, int design=0)
Definition: EdbPVRec.cxx:2487
EdbPattern * GetPatternByPID(int pid)
Definition: EdbPVRec.cxx:2902
void SetScanCond(EdbScanCond *scan)
Definition: EdbPVRec.h:171
void FillTracksCell1()
Definition: EdbPVRec.cxx:1516
int CollectSegment(TIndexCell *ct, TIndexCell *cross)
Definition: EdbPVRec.cxx:1641
void FitTracks(float p=10., float mass=0.139, TObjArray *gener=0, int design=0)
Definition: EdbPVRec.cxx:1893
int AddSegments(EdbPVRec &ali)
Definition: EdbPVRec.cxx:2947
EdbTrackP * GetTrack(int i) const
Definition: EdbPVRec.h:241
EdbScanCond * eScanCond
scanning conditions (sigma, puls, etc)
Definition: EdbPVRec.h:156
void SetOffsetsMax(float ox, float oy)
Definition: EdbPVRec.cxx:925
void AddTrack(EdbTrackP *track)
Definition: EdbPVRec.h:246
void ResetTracks()
Definition: EdbPVRec.cxx:963
Definition: EdbPVRec.h:27
Float_t eOffset[4]
Definition: EdbPVRec.h:38
float SigmaTY() const
Definition: EdbPVRec.h:142
float OffsetTY() const
Definition: EdbPVRec.h:137
EdbSegCouple * GetSegCouple(int i) const
Definition: EdbPVRec.h:85
float eXoffsetMax
Definition: EdbPVRec.h:51
float OffsetX() const
Definition: EdbPVRec.h:134
void SetOffset(float o1, float o2, float o3, float o4)
Definition: EdbPVRec.h:65
EdbPattern * ePat1
Definition: EdbPVRec.h:35
void SetPat2(EdbPattern *pat2)
Definition: EdbPVRec.h:72
void RemoveSegCouple(EdbSegCouple *sc)
Definition: EdbPVRec.h:87
int FindOffset0(float xmax, float ymax)
Definition: EdbPVRec.cxx:183
int eCHI2mode
algorithm used for chi2 calculation
Definition: EdbPVRec.h:56
EdbSegCouple * AddSegCouple(int id1, int id2)
Definition: EdbPVRec.cxx:119
EdbPattern * Pat1()
Definition: EdbPVRec.h:89
EdbPattern * Pat2()
Definition: EdbPVRec.h:90
float Chi2Pz0(EdbSegCouple *scp)
Definition: EdbPVRec.cxx:404
EdbPattern * ePat2
Definition: EdbPVRec.h:36
float Chi2KF(EdbSegCouple *scp)
Definition: EdbPVRec.cxx:304
int Align(int alignFlag)
Definition: EdbPVRec.cxx:534
int eCoupleType
1 - up/down link; 0 - plate-to-plate
Definition: EdbPVRec.h:33
int CheckSegmentsDuplication(EdbPattern *pat)
Definition: EdbPVRec.cxx:620
Float_t eSigma[4]
expected pat<->pat sigma after alignment
Definition: EdbPVRec.h:40
EdbAffine2D * GetAff()
Definition: EdbPVRec.h:76
void SetCond(EdbScanCond *cond)
Definition: EdbPVRec.h:74
int DiffPatCell(TIndexCell *cel1, TIndexCell *cel2, Long_t vdiff[4])
Definition: EdbPVRec.cxx:713
void PrintCouples()
Definition: EdbPVRec.cxx:128
float SigmaTX() const
Definition: EdbPVRec.h:141
float eChi2Max
Definition: EdbPVRec.h:54
EdbAffine2D * eAff
affine transformation as: pat2 = pat1->Transform(aff)
Definition: EdbPVRec.h:42
~EdbPatCouple()
Definition: EdbPVRec.cxx:110
int FillCHI2P()
Definition: EdbPVRec.cxx:266
EdbScanCond * Cond()
Definition: EdbPVRec.h:77
int ID2() const
Definition: EdbPVRec.h:132
void ClearSegCouples()
Definition: EdbPVRec.h:82
void SetOffsetsMax(float ox, float oy)
Definition: EdbPVRec.h:63
TObjArray * eSegCouples
Definition: EdbPVRec.h:44
float eZlink
at this z patterns should be linked (aligned)
Definition: EdbPVRec.h:49
int FindOffset(EdbPattern *pat1, EdbPattern *pat2, Long_t vdiff[4])
Definition: EdbPVRec.cxx:207
int SelectIsolated()
Definition: EdbPVRec.cxx:472
void SetSigma(float s1, float s2, float s3, float s4)
Definition: EdbPVRec.h:67
int ID1() const
Definition: EdbPVRec.h:131
void SetCHI2mode(int m)
Definition: EdbPVRec.h:103
int FindOffset01(float xmax, float ymax)
Definition: EdbPVRec.cxx:191
int FindOffset1(float xmax, float ymax)
Definition: EdbPVRec.cxx:199
int DiffPat(EdbPattern *pat1, EdbPattern *pat2, Long_t vdiff[4])
Definition: EdbPVRec.cxx:698
void CalculateAffXY(int alignFlag)
Definition: EdbPVRec.cxx:173
float Chi2A(EdbSegCouple *scp, int iprob=1)
Definition: EdbPVRec.cxx:331
void SetZlink(float z)
Definition: EdbPVRec.h:69
int CHI2mode() const
Definition: EdbPVRec.h:104
int LinkFast()
Definition: EdbPVRec.cxx:666
float Zlink() const
Definition: EdbPVRec.h:79
float SigmaX() const
Definition: EdbPVRec.h:139
void FillCell_XYaXaY(EdbScanCond *cond, float zlink, int id=0)
Definition: EdbPVRec.cxx:807
int FillCHI2()
Definition: EdbPVRec.cxx:288
float OffsetY() const
Definition: EdbPVRec.h:135
int SortByCHI2P()
Definition: EdbPVRec.cxx:491
void SetID(int id1, int id2)
Definition: EdbPVRec.h:62
EdbScanCond * eCond
Definition: EdbPVRec.h:47
float SigmaY() const
Definition: EdbPVRec.h:140
float OffsetTX() const
Definition: EdbPVRec.h:136
int CutCHI2P(float chimax)
Definition: EdbPVRec.cxx:452
void CalculateAffXYZ(float z, int alignFlag)
Definition: EdbPVRec.cxx:139
float eYoffsetMax
Definition: EdbPVRec.h:52
int LinkSlow(float chi2max)
Definition: EdbPVRec.cxx:587
void SetPat1(EdbPattern *pat1)
Definition: EdbPVRec.h:71
int Ncouples() const
Definition: EdbPVRec.h:80
Int_t eID[2]
id-s of patterns in volume
Definition: EdbPVRec.h:31
Definition: EdbPattern.h:273
Definition: EdbPattern.h:334
Definition: EdbScanCond.h:10
Definition: EdbScanSet.h:11
Definition: EdbSegCouple.h:17
Definition: EdbSegP.h:21
Definition: EdbPattern.h:113
Definition: EdbVertex.h:26
Definition: EdbVertex.h:69
simple index class for fast search in linear cases
Definition: EdbMath.h:50
sort collection with attributes
Definition: TIndexCell.h:19
Definition: bitview.h:14
EdbPVGen * gener
Definition: gen.C:2
int pid[1000]
Definition: m2track.cpp:13
TTree * t
Definition: check_shower.C:4
s
Definition: check_shower.C:55
EdbPVRec * ali
Definition: test_oracle.C:9
EdbSegP * s1
Definition: tlg2couples.C:29
EdbSegP * s2
Definition: tlg2couples.C:30
float mass
Definition: check_vertex.C:21
p
Definition: testBGReduction_AllMethods.C:8