FEDRA emulsion software from the OPERA Collaboration
EdbEDATabs.h
Go to the documentation of this file.
1 #ifndef __EDA_TABS_H__
2 #define __EDA_TABS_H__
3 
4 #include"EdbEDAUtil.h"
5 #include"EdbEDATrackSet.h"
6 #include"EdbEDASets.h"
7 
8 using namespace EdbEDAUtil;
9 
10 
12  private :
13  TGListBox *fListFiles;
14  TGListBox *fListFilesOpened;
15  TGTextEditor *fListFileEditor;
17 
18  public:
19 
20  EdbEDAListTab () {MakeGUI();}
21 
22  void ReviceFileList();
23  void ReadSelectedList();
24  void MakeGUI();
25  void WriteListFile();
26 };
27 
28 
29 
30 
31 
33  public:
34  int eNtrk;
35  int eVtxTrk;
36 
37  TGNumberEntryField *eGNEImpMax;
38  TGNumberEntryField *eGNEProbMinV;
39  TGNumberEntryField *eGNEDZmax;
40  TGNumberEntry *eGNEVNtrk;
41  TGCheckButton *eGCBUseMom;
42  TGCheckButton *eGCBUseSegPar;
43  TGComboBox *eGCBVtxTrk;
44 
45  TGCheckButton *eGCBAngularCut;
47  double eTX;
48  double eTY;
49  double eDT;
50 
52 
53  enum {
55  USE_ALL_TRACKS
56  };
57 
59  // initial values;
60  eDZmax = 5000.; // maximum z-gap in the track-vertex group
61  eProbMin = 0.001; // minimum acceptable probability for chi2-distance between tracks
62  eImpMax = 5.; // maximal acceptable impact parameter [microns] (for preliminary check)
63  eUseMom = false; // use or not track momentum for vertex calculations
64  eUseSegPar = true; // use only the nearest measured segments for vertex fit (as Neuchatel)
65  eQualityMode= 0; // vertex quality estimation method (0:=Prob/(sigVX^2+sigVY^2); 1:= inverse average track-vertex distance
66  eVtxTrk = USE_ALL_TRACKS;
67  eNtrk = 3;
68  eVTX = NULL;
69  MakeGUI();
70  }
71 
72  void MakeGUI();
73  void DoVertexing(EdbEDATrackSet *set = NULL);
74  void DoVertexingButton();
75  void SetVertices();
76  void Redraw();
77  void ApplyParams();
78 
79  void Clear();
80 
81  ClassDef(EdbEDAVertexTab,1) // vertexing control tab
82 };
83 
84 
85 
87  // Draw MC data set.
88  private:
89 
90  bool eLoaded;
91 
95  TGNumberEntry *fMCEvt;
96 
97  public:
98  EdbEDAMCTab() : eLoaded(kFALSE), eProc(0){
99  MakeGUI();
100  }
101 
102  void MakeGUI();
103  void ShowMCEvt();
104  void ShowMCEvtPP();
105  void ShowMCEvtMM();
106  void Draw(int iMCEvt);
107 };
108 
110 
111  private:
112  TGNumberEntry *fIplPropagateTo;
113  TGTextEntry *fManChkFile;
115  char manchkfile[50];
116 
120  int pred_run;
121  int pred_dx;
122  int pred_dy;
123 
124  TGCheckButton *fUseAngle;
125  TGNumberEntry *fIplFrom;
126  TGNumberEntry *fIplTo;
127  TGNumberEntryField *fPredRun;
128  TGNumberEntryField *fVolumeRun;
129  TGNumberEntryField *fVolumeDX;
130  TGNumberEntryField *fVolumeDY;
131  TGNumberEntryField *fTx;
132  TGNumberEntryField *fTy;
133 
134  TObjArray *preds;
135 
136  public:
138  IplPropagateTo(0),
139  pred_use_angle(0),
140  pred_ipl_from(0),
141  pred_ipl_to(0),
142  pred_run(2000),
143  pred_dx(3000),
144  pred_dy(3000){
145  preds = new TObjArray();
146  MakeGUI();
147  }
148 
149  void WritePred();
150  void MakeManChkPred();
151  void MakePredScanPred();
152  void MakeManChkPredGivenAngleFromVertex(int id = -999, double ax = 999, double ay = 999);
153  void RemoveFile();
154  void SetManChkFile(Long_t ipl);
155  void MakeGUI();
156 
157 };
158 
160  private:
161  TEveBrowser * browser;
162  TGMainFrame * frame;
163  TGNumberEntryField *fRun;
164 
165  EdbTrackP *eT0org, *eT1org, *eT0p, *eT1p; // store values for Redo
168  enum{ kNone, kConnect, kDisconnect, kRemoveSegment, kAttarchToVertex};
169 
170  public:
171  EdbEDAOperationTab(void);
172  void ConnectTracks(EdbTrackP *t0, EdbTrackP *t1);
173  void ConnectTracksButton(void);
174  void RemoveSegment(void);
175  void DisconnectTracks(void);
176  void Redo(void);
177  void DumpTracksButton(void);
178  void DumpTrack(EdbTrackP *t, FILE *fp=NULL, int run=99, int plate_coordinate=1);
179 
180  void AttachToVertex(EdbVertex *v, TObjArray *tracks);
181  void AttachToVertexButton();
182  void MoveToTrackSetButton();
183 
184 };
185 
186 
187 
188 class EdbEDATrackSetList: public TGTransientFrame {
189 
190  private:
191  TGVerticalFrame *fVerticalFrame;
192  TGListBox *fListBox;
193  TObjArray *fTrackSets;
194  int *fSelected;
195  public:
196  EdbEDATrackSetList(TObjArray *tracksets, int *iselected, char *message=NULL);
198  void SetSelected();
199 
200 
201  ClassDef(EdbEDATrackSetList, 0) // TrackSet List
202 };
203 
204 
205 
206 
207 
208 
209 #endif // __EDA_TABS_H__
Canv_RMSEnergy__vs__Energy SetSelected(Canv_RMSEnergy__vs__Energy)
TTree * t
Definition: check_shower.C:4
t Draw("sizeb>>NbBT", cut2)
Definition: EdbDataSet.h:180
Definition: EdbEDATabs.h:11
TGListBox * fListFilesOpened
Definition: EdbEDATabs.h:14
TGTextEditor * fListFileEditor
Definition: EdbEDATabs.h:15
TGListBox * fListFiles
Definition: EdbEDATabs.h:13
TGCheckButton * fCheck_list_clear_previous
Definition: EdbEDATabs.h:16
void WriteListFile()
EdbEDAListTab()
Definition: EdbEDATabs.h:20
Definition: EdbEDATabs.h:86
EdbEDATrackSet * eSet
Definition: EdbEDATabs.h:92
EdbEDAMCTab()
Definition: EdbEDATabs.h:98
bool eLoaded
Definition: EdbEDATabs.h:90
EdbDataProc * eProc
Definition: EdbEDATabs.h:93
EdbPVRec * ePVR
Definition: EdbEDATabs.h:94
TGNumberEntry * fMCEvt
Definition: EdbEDATabs.h:95
Definition: EdbEDATabs.h:159
TGMainFrame * frame
Definition: EdbEDATabs.h:162
EdbEDATrackSet * eSet
Definition: EdbEDATabs.h:166
int eLastOperation
Definition: EdbEDATabs.h:167
TGNumberEntryField * fRun
Definition: EdbEDATabs.h:163
TEveBrowser * browser
Definition: EdbEDATabs.h:161
EdbTrackP * eT0org
Definition: EdbEDATabs.h:165
Definition: EdbEDATabs.h:109
TGNumberEntry * fIplTo
Definition: EdbEDATabs.h:126
TGNumberEntryField * fTx
Definition: EdbEDATabs.h:131
int pred_run
Definition: EdbEDATabs.h:120
TGTextEntry * fManChkFile
Definition: EdbEDATabs.h:113
EdbEDAPredTab()
Definition: EdbEDATabs.h:137
int pred_ipl_to
Definition: EdbEDATabs.h:119
TGNumberEntryField * fPredRun
Definition: EdbEDATabs.h:127
TGNumberEntry * fIplFrom
Definition: EdbEDATabs.h:125
TGNumberEntryField * fVolumeDY
Definition: EdbEDATabs.h:130
TObjArray * preds
Definition: EdbEDATabs.h:134
TGNumberEntry * fIplPropagateTo
Definition: EdbEDATabs.h:112
int pred_dx
Definition: EdbEDATabs.h:121
TGCheckButton * fUseAngle
Definition: EdbEDATabs.h:124
int pred_dy
Definition: EdbEDATabs.h:122
TGNumberEntryField * fVolumeDX
Definition: EdbEDATabs.h:129
int pred_ipl_from
Definition: EdbEDATabs.h:118
int pred_use_angle
Definition: EdbEDATabs.h:117
TGNumberEntryField * fTy
Definition: EdbEDATabs.h:132
TGNumberEntryField * fVolumeRun
Definition: EdbEDATabs.h:128
int IplPropagateTo
Definition: EdbEDATabs.h:114
Definition: EdbEDATabs.h:188
int * fSelected
Definition: EdbEDATabs.h:194
TGVerticalFrame * fVerticalFrame
Definition: EdbEDATabs.h:191
TObjArray * fTrackSets
Definition: EdbEDATabs.h:193
TGListBox * fListBox
Definition: EdbEDATabs.h:192
Definition: EdbEDATrackSet.h:178
Definition: EdbEDATabs.h:32
TGComboBox * eGCBVtxTrk
Definition: EdbEDATabs.h:43
double eDT
Definition: EdbEDATabs.h:49
TGNumberEntryField * eGNEDZmax
Definition: EdbEDATabs.h:39
TGCheckButton * eGCBUseSegPar
Definition: EdbEDATabs.h:42
int eAngularCut
Definition: EdbEDATabs.h:46
int eVtxTrk
Definition: EdbEDATabs.h:35
TGCheckButton * eGCBUseMom
Definition: EdbEDATabs.h:41
TGCheckButton * eGCBAngularCut
Definition: EdbEDATabs.h:45
@ USE_CURRENT_TRACKS
Definition: EdbEDATabs.h:54
double eTY
Definition: EdbEDATabs.h:48
TGNumberEntry * eGNEVNtrk
Definition: EdbEDATabs.h:40
double eTX
Definition: EdbEDATabs.h:47
TGNumberEntryField * eGNEImpMax
Definition: EdbEDATabs.h:37
int eNtrk
Definition: EdbEDATabs.h:34
EdbEDAVertexTab()
Definition: EdbEDATabs.h:58
EdbEDATrackSet * eSet
Definition: EdbEDATabs.h:51
TGNumberEntryField * eGNEProbMinV
Definition: EdbEDATabs.h:38
Definition: EdbPVRec.h:148
Definition: EdbPattern.h:118
Definition: EdbVertex.h:194
Definition: EdbVertex.h:68
EdbScanSet * set
Definition: emtraceback.cpp:14
EdbRun * run
Definition: check_raw.C:38
TTree * tracks
Definition: check_tr.C:19
Definition: EdbEDAUtil.h:78
#define NULL
Definition: nidaqmx.h:84