917{
920
922 if (!
eD->
eVerRec) {printf(
"Error: EdbDisplay:AddAsTrackToVertex: EdbVertexRec not defined, use SetVerRec(...)\n"); fflush(
stdout);
return;}
924 {
927 {
928
929 printf("No working vertex selected!\n");
931 return;
932 }
934 {
935
936 printf("Segment already belong to a track!\n");
938 return;
939 }
942 {
945 int i = 0, n = 0;
946 for(i=0; i<ntr; i++)
947 {
949 {
951 n++;
952 }
953 }
954 if (n < 2)
955 {
958 {
961 }
962 else
963 {
966 }
967 printf("Can't create working copy of the vertex!\n");
969 return;
970 }
971
973 {
976 {
979 }
980 else
981 {
984 }
985 printf("Can't create working copy of the vertex!\n");
987 return;
988 }
989 }
990 else
991 {
992
996 int i = 0, n = 0;
997 for(i=0; i<ntr; i++)
998 {
1000 {
1002 n++;
1003 }
1004 }
1005 if (n < 2)
1006 {
1009 {
1013 }
1014 else
1015 {
1018 }
1019 printf("Can't create working copy of the vertex!\n");
1021 return;
1022 }
1023
1025 {
1028 {
1032 }
1033 else
1034 {
1037 }
1038 printf("Can't create working copy of the vertex!\n");
1040 return;
1041 }
1042 }
1050 float ImpMaxSave = (
eD->
eVerRec)->eImpMax;
1052 float ProbMinSave = (
eD->
eVerRec)->eProbMin;
1054
1056 {
1059
1061
1066 sprintf(
text,
"New %-4d %-4d %-8.1f %-8.1f %-8.1f %-6.1f %-7.1f %-7.5f",
1067 eW->
ID(), eW->
N(), eW->
VX(), eW->
VY(), eW->
VZ(), eW->
V()->
dist(),
1071 {
1076 sprintf(
text,
"Pre %-4d %-4d %-8.1f %-8.1f %-8.1f %-6.1f %-7.1f %-7.5f",
1077 eW->
ID(), eW->
N(), eW->
VX(), eW->
VY(), eW->
VZ(), eW->
V()->
dist(),
1081 }
1082 else
1083 {
1087 {
1091 }
1092 }
1093
1096 {
1097
1099 }
1102 if (ePreviousSaved) delete ePreviousSaved;
1103 ePreviousSaved = 0;
1106 }
1107 else
1108 {
1109 printf(
"Track not added! May be Prob < ProbMin=%f. Change ProbMin with 'TrackParams' button!\n",
eD->
eTProbMin);
1111 delete Tr;
1114 {
1118 }
1119 else
1120 {
1123 }
1126 return;
1127 }
1128 }
1129}
TText * text
Definition: Canv_SYSTEMATICS_ALLCOMBINED__RMSEnergy__vs__Energy__ELECTRON.C:164
virtual void Draw(Option_t *option="")
Definition: EdbDisplayBase.cxx:787
virtual void DrawOldBut(char *text)
Definition: EdbDisplayBase.cxx:1048
virtual void DrawNewVTX(char *text)
Definition: EdbDisplayBase.cxx:971
virtual void DrawNewBut(char *text)
Definition: EdbDisplayBase.cxx:1108
virtual void DrawPreVTX(char *text)
Definition: EdbDisplayBase.cxx:949
virtual void DrawAcc()
Definition: EdbDisplayBase.cxx:1154
virtual void DrawUnd()
Definition: EdbDisplayBase.cxx:1138
virtual void DrawPreBut(char *text)
Definition: EdbDisplayBase.cxx:1078
virtual void DrawCan()
Definition: EdbDisplayBase.cxx:1170
Double_t eM
track mass (creation from segment, propagation)
Definition: EdbDisplay.h:64
TObjArray * eArrV
array of vertices to be drawn
Definition: EdbDisplay.h:44
void DrawVTXTracks(char *type, EdbVertex *v=0)
Definition: EdbDisplay.cxx:4084
Double_t eTProbMin
Minimal probability for interactive add track.
Definition: EdbDisplay.h:66
EdbVertex * ePrevious
saved previous vertex modifications
Definition: EdbDisplay.h:50
EdbVertexRec * eVerRec
Definition: EdbDisplay.h:41
Int_t eIndVert
Index of selected vertex in ArrV.
Definition: EdbDisplay.h:57
TList eCreatedTracks
list of tracks, created during vertex operations
Definition: EdbDisplay.h:59
TObjArray * eArrTr
array of tracks to be drawn
Definition: EdbDisplay.h:43
EdbVertex * eVertex
current selected vertex
Definition: EdbDisplay.h:49
Double_t eTImpMax
Maximal impact for interactive add track.
Definition: EdbDisplay.h:65
Bool_t eWait_Answer
set TRUE when answer received
Definition: EdbDisplay.h:56
Double_t eP
track momentum (creation from segment, propagation)
Definition: EdbDisplay.h:63
EdbVertex * eWorking
working vertex
Definition: EdbDisplay.h:48
Int_t Track() const
Definition: EdbSegP.h:150
Float_t Z() const
Definition: EdbSegP.h:153
void SetP(float p)
Definition: EdbSegP.h:133
Definition: EdbPattern.h:113
void AddVTA(EdbVTA *vta)
Definition: EdbPattern.cxx:450
int FitTrackKFS(bool zmax=false, float X0=5810., int design=0)
Definition: EdbPattern.cxx:722
Definition: EdbVertex.h:26
void SetZpos(int zpos)
Definition: EdbVertex.h:55
Definition: EdbVertex.h:69
Int_t ID() const
Definition: EdbVertex.h:126
Float_t VX() const
Definition: EdbVertex.h:133
void SetID(int ID=0)
Definition: EdbVertex.h:156
VERTEX::Vertex * V() const
Definition: EdbVertex.h:154
Int_t N() const
Definition: EdbVertex.h:121
Float_t VY() const
Definition: EdbVertex.h:134
Float_t VZ() const
Definition: EdbVertex.h:135
unsigned short int ndf() const
degrees of freedom of vertex fit
Definition: VtVertex.C:238
float chi2() const
$\chi^2$ of vertex fit
Definition: VtVertex.C:236
double rmsDistAngle() const
calc rms dist and rms angle
Definition: VtVertex.C:1073
double dist() const
available after call to rmsDistAngle()
float prob() const
upper tail $\chi^2$ probability
Definition: VtVertex.C:237
float mass
Definition: check_vertex.C:21
float momentum
Definition: check_vertex.C:20