FEDRA emulsion software from the OPERA Collaboration
EdbSegCouple.h
Go to the documentation of this file.
1#ifndef ROOT_EdbSegCouple
2#define ROOT_EdbSegCouple
3
6
12
14#include "EdbSegP.h"
15
16//______________________________________________________________________________
17class EdbSegCouple : public TObject {
18
19 private:
20 Int_t eID1, eID2;
21 Float_t eCHI2;
22 Float_t eCHI2P;
23 Int_t eN1, eN2;
24 Int_t eN1tot, eN2tot;
25
26 public:
30 bool eIsOwner;
31
32 private:
33 static int egSortFlag;
34
35 public:
37 EdbSegCouple(const EdbSegCouple &sc );
38 EdbSegCouple( int id1, int id2 )
39 { Set0();eID1=id1;eID2=id2; eCHI2=0; eCHI2P=0; eN1=0; eN2=0; }
41
42 void Set0();
43 void SetN1(int n1) {eN1=n1;}
44 void SetN2(int n2) {eN2=n2;}
45 void SetN1tot(int n) {eN1tot=n;}
46 void SetN2tot(int n) {eN2tot=n;}
47 void SetCHI2(float chi2) {eCHI2=chi2;}
48 void SetCHI2P(float chi2) {eCHI2P=chi2;}
49
50 void Print();
51
52 static void SetSortFlag(int s=0);
53 static int SortFlag() {return egSortFlag;}
54
55 int ID1() const {return eID1;}
56 int ID2() const {return eID2;}
57 int N1() const {return eN1;}
58 int N2() const {return eN2;}
59 int N1tot() const {return eN1tot;}
60 int N2tot() const {return eN2tot;}
61 float CHI2() const {return eCHI2;}
62 float CHI2P() const {return eCHI2P;}
63
64 //ULong_t Hash() const { return fValue; }
65 Bool_t IsEqual(const TObject *obj) const
66 { return
67 (ID1()==((EdbSegCouple*)obj)->ID1())&&
68 (ID2()==((EdbSegCouple*)obj)->ID2()); }
69 Bool_t IsSortable() const { return kTRUE; }
70 Int_t Compare(const TObject *obj) const;
71
72 ClassDef(EdbSegCouple,1) // couple of segments
73};
74#endif /* ROOT_EdbSegCouple */
Definition: EdbSegCouple.h:17
void SetN1(int n1)
Definition: EdbSegCouple.h:43
~EdbSegCouple()
Definition: EdbSegCouple.cxx:37
void SetN2(int n2)
Definition: EdbSegCouple.h:44
Bool_t IsSortable() const
Definition: EdbSegCouple.h:69
EdbSegP * eS
the result of the fit
Definition: EdbSegCouple.h:27
static int SortFlag()
Definition: EdbSegCouple.h:53
void SetN1tot(int n)
Definition: EdbSegCouple.h:45
Int_t eN1tot
Definition: EdbSegCouple.h:24
EdbSegP * eS2
Definition: EdbSegCouple.h:29
Int_t eN2
n1,n2 - is rating of the segment (starting from 1)
Definition: EdbSegCouple.h:23
Int_t eN2tot
total number of entries for the segment
Definition: EdbSegCouple.h:24
EdbSegCouple(int id1, int id2)
Definition: EdbSegCouple.h:38
void Print()
Definition: EdbSegCouple.cxx:68
void Set0()
Definition: EdbSegCouple.cxx:45
void SetN2tot(int n)
Definition: EdbSegCouple.h:46
void SetCHI2P(float chi2)
Definition: EdbSegCouple.h:48
Int_t eID1
Definition: EdbSegCouple.h:20
Bool_t IsEqual(const TObject *obj) const
Definition: EdbSegCouple.h:65
int N2tot() const
Definition: EdbSegCouple.h:60
int ID2() const
Definition: EdbSegCouple.h:56
Int_t Compare(const TObject *obj) const
Definition: EdbSegCouple.cxx:74
void SetCHI2(float chi2)
Definition: EdbSegCouple.h:47
static int egSortFlag
0: chi2p only; 1: N1()*10000+N2()*10000000 + CHI2()/100
Definition: EdbSegCouple.h:33
Float_t eCHI2P
fast chi2 estimation used for couples selection
Definition: EdbSegCouple.h:22
float CHI2P() const
Definition: EdbSegCouple.h:62
int N1() const
Definition: EdbSegCouple.h:57
bool eIsOwner
Definition: EdbSegCouple.h:30
static void SetSortFlag(int s=0)
Definition: EdbSegCouple.cxx:62
Int_t eID2
Definition: EdbSegCouple.h:20
Int_t eN1
Definition: EdbSegCouple.h:23
int N1tot() const
Definition: EdbSegCouple.h:59
Float_t eCHI2
final chi2 calculation based on the linked track
Definition: EdbSegCouple.h:21
int ID1() const
Definition: EdbSegCouple.h:55
EdbSegP * eS1
pointers - useful when all segments are in memory
Definition: EdbSegCouple.h:28
int N2() const
Definition: EdbSegCouple.h:58
float CHI2() const
Definition: EdbSegCouple.h:61
Definition: EdbSegP.h:21
s
Definition: check_shower.C:55
Float_t chi2
Definition: testBGReduction_By_ANN.C:14