FEDRA emulsion software from the OPERA Collaboration
EdbEDAShowerTab.h
Go to the documentation of this file.
1 #ifndef __EDA_ShowerTab_H__
2 #define __EDA_ShowerTab_H__
3 
4 #include "EdbEDA.h"
5 #include "EdbShowerRec.h"
6 #include "EdbShowerAlg.h" // new: changed name from ShowAlg to ShowerAlg
7 #include <TG3DLine.h>
8 #include "EdbPVRQuality.h"
9 
11 private:
12 
13  // The ShowerRec object:
15 
16  // The InitiatorBT array. Has to be variable otherwise it
17  // will be out of scope:
18  TObjArray* eInBTArray;
19 
20  // Two Pointers for the EdbPVRec object:
23 
24  EdbPVRec* pvrec_cleaned_linkedtracks; // "fake" pvrec object with adapted BG quality cut in it.
25  EdbPVRec* pvrec_cleaned_cpfiles; // "fake" pvrec object with adapted BG quality cut in it.
26  EdbPVRec* pvrec_cleaned; // (==generic cleaned)
27 
28 
29  // One Pointer for the generic EdbPVRec object:
30  // This is the object where ALWASY the shower reco is performed!
32 
33 
34  // Buttons and so on:
35  TGComboBox* eComboBox_Parameter;
37  TGCheckButton* eCheckButtonUseTSData;
38  TGCheckButton* eCheckButtonDrawShowers;
40  TGNumberEntry* eNumberEntry_ParaValue;
42 
43  TGMainFrame *eParamWindow;
44 
45  // Various Variables used for settings:
46  Bool_t eUseTSData;
47  Bool_t eIsAliLoaded;
49 
50  Bool_t eDrawShowers;
52 
54 
55 
56  // An own Shower array. Not the one of the ShowerRec object:
57  Int_t eNShowers;
58  TObjArray* RecoShowerArray;
59 
60  // Actual Shower (current one, either for drawing or printing)
62 
63 
64 
65 public:
66 
68 
69  // -----------------------------------
70  void MakeGUI();
72  void LoadShowerRecEdbPVRec();
73  void CheckPVRec();
74  void SetPVRecFromFile();
75 
76  void CheckBTDensity(EdbPVRec *pvr, TObjArray *tracks);
77  void CheckBTDensityCanv(EdbPVRec *pvr = NULL, TObjArray *tracks = NULL);
79 
80  void CheckQualitycut();
81  void CheckCosmicReco();
82 
83  void CheckAndSetPVRGeneric();
84 
85 
86  void SetInBTFromSelected();
88  cout << "EdbEDAShowerTab::WARNING: SetInBTFromLinkedTracks() not yet implemented." << endl;
89  //eShowerRec->SetInBTArray(NULL); /// TODO
90  }
91  void CheckInBT();
92 
93  void Reco();
94  void Reset();
95 
96  void FindPairings();
97  void FindPairingsNewAlgo();
98  Bool_t CheckPairDuplications(Int_t nmax, Int_t SegPID,Int_t SegID,Int_t Seg2PID,Int_t Seg2ID,TArrayI* SegmentPIDArray,TArrayI* SegmentIDArray,TArrayI* Segment2PIDArray,TArrayI* Segment2IDArray);
99 
101  cout << "DBG1"<<endl;
103  cout << "DBG2"<<endl;
104  return;
105  }
108  return;
109  }
110 
114  return;
115  }
118  return;
119  }
120 
121  void SetParaSetHighNBT();
122  void SetParaSetHighPur();
123 
124  void ReadComboBoxParameter();
125  void SetNumberEntryShowerRecParameter(Double_t val);
126 
128 
129 
130 
131  void DrawShower(int iShowerNr,bool eClearShower=0);
132  void DrawShower();
133  void DrawShowerAll();
134  void DrawSingleShower(EdbTrackP* shower);
135  void DrawShowerPrevious();
136  void DrawShowerNext();
137 
138  void DrawShowers(); // For the toggle Button!
139 
140  void Button1() {
141  printf("**************** NOT IMPLEMETED *************************\n");
142  }
143  void Button2() {
144  printf("Button2\n");
145  }
146  void Button3() {
147  PrintShower();
148  printf("Print\n");
149  }
150  void Help();
151 
152  void GO(); // Make EVERY POSSIBLE OPTIONS!! ....still to be done...
153 
154  void PrintShower();
155  void PrintActualShower();
156  void PlotShower();
157 
158  void PrintQualityCutSetting();
159 
160 
161  //-------------------------------------------------------------------------------------------
162  // Usually already decleared in EdbEdaPlotTab, but since this is for now only of interest
163  // of shower tab we redeclarate it here....
164  TCanvas * CreateCanvas(char *plot_name) {
165  // --- Create an embedded canvas
166  gEve->GetBrowser()->StartEmbedding(1);
167  gROOT->ProcessLineFast("new TCanvas");
168  TCanvas *c1 = (TCanvas*) gPad;
169  gEve->GetBrowser()->StopEmbedding(plot_name);
170  return c1;
171  }
172  //-------------------------------------------------------------------------------------------
173  double CalcdR_NoPropagation(EdbSegP* s1,EdbSegP* stest);
174  double CalcdR_WithPropagation(EdbSegP* s1,EdbSegP* stest);
175  double CalcdTheta(EdbSegP* s1,EdbSegP* s2);
176 
177  ClassDef(EdbEDAShowerTab,0) // Tab for accessibililty to Shower-rec.
178 
179 };
180 
181 
182 
183 
184 #endif //__EDA_ShowerTab_H__
185 
Definition: EdbEDAShowerTab.h:10
TGCheckButton * eCheckButtonUseTSData
Definition: EdbEDAShowerTab.h:37
TGMainFrame * eParamWindow
Definition: EdbEDAShowerTab.h:43
void PrintShower()
Definition: EdbEDAShowerTab.C:653
void PrintShowerRecParameters()
Definition: EdbEDAShowerTab.h:112
TObjArray * RecoShowerArray
Definition: EdbEDAShowerTab.h:58
void DrawShower()
Definition: EdbEDAShowerTab.C:577
void PrintActualShower()
Definition: EdbEDAShowerTab.C:661
EdbTrackP * eShower
Definition: EdbEDAShowerTab.h:61
void Reset()
Definition: EdbEDAShowerTab.C:643
void CheckQualitycut()
Definition: EdbEDAShowerTab.C:454
Bool_t CheckPairDuplications(Int_t nmax, Int_t SegPID, Int_t SegID, Int_t Seg2PID, Int_t Seg2ID, TArrayI *SegmentPIDArray, TArrayI *SegmentIDArray, TArrayI *Segment2PIDArray, TArrayI *Segment2IDArray)
Definition: EdbEDAShowerTab.C:1208
void Button3()
Definition: EdbEDAShowerTab.h:146
TCanvas * CreateCanvas(char *plot_name)
Definition: EdbEDAShowerTab.h:164
void CheckBTDensityUsingEdbPVRQuality()
Definition: EdbEDAShowerTab.C:1521
Bool_t eDrawShowers
Definition: EdbEDAShowerTab.h:50
void ResetShowerRecParameters()
Definition: EdbEDAShowerTab.h:116
double CalcdTheta(EdbSegP *s1, EdbSegP *s2)
Definition: EdbEDAShowerTab.C:1237
Bool_t eIspvrec_cleaned
Definition: EdbEDAShowerTab.h:48
EdbPVRec * pvrec_cleaned_linkedtracks
Definition: EdbEDAShowerTab.h:24
void DrawShowerAll()
Definition: EdbEDAShowerTab.C:582
void Button2()
Definition: EdbEDAShowerTab.h:143
TObjArray * eInBTArray
Definition: EdbEDAShowerTab.h:18
EdbPVRec * pvrec_cleaned
Definition: EdbEDAShowerTab.h:26
Int_t eNShowers
Definition: EdbEDAShowerTab.h:57
EdbPVRec * pvrec_cpfiles
Definition: EdbEDAShowerTab.h:22
void ChangeShowerRecParameters()
Definition: EdbEDAShowerTab.C:530
TGComboBox * eComboBox_ParameterQualitySetting
Definition: EdbEDAShowerTab.h:36
void PrintShowerRecRecoShowerArray()
Definition: EdbEDAShowerTab.h:106
double CalcdR_NoPropagation(EdbSegP *s1, EdbSegP *stest)
Definition: EdbEDAShowerTab.C:1222
void CheckBTDensityCanv(EdbPVRec *pvr=NULL, TObjArray *tracks=NULL)
Definition: EdbEDAShowerTab.C:790
void SetInBTFromSelected()
Definition: EdbEDAShowerTab.C:442
void CheckAndSetPVRGeneric()
Definition: EdbEDAShowerTab.C:1532
void Help()
Definition: EdbEDAShowerTab.C:1460
TGCheckButton * eCheckButtonDrawShowers
Definition: EdbEDAShowerTab.h:38
void CheckCosmicReco()
Definition: EdbEDAShowerTab.C:1248
void FindPairingsNewAlgo()
Definition: EdbEDAShowerTab.C:968
void PrintShowerRecInBT()
Definition: EdbEDAShowerTab.h:100
EdbShowerRec * eShowerRec
Definition: EdbEDAShowerTab.h:14
void DrawSingleShower(EdbTrackP *shower)
Definition: EdbEDAShowerTab.C:670
void DrawShowers()
Definition: EdbEDAShowerTab.C:572
void SetPVRecFromFile()
Definition: EdbEDAShowerTab.C:268
EdbPVRec * pvrec_linkedtracks
Definition: EdbEDAShowerTab.h:21
void Reco()
Definition: EdbEDAShowerTab.C:463
double CalcdR_WithPropagation(EdbSegP *s1, EdbSegP *stest)
Definition: EdbEDAShowerTab.C:1226
void ReadComboBoxParameter()
Definition: EdbEDAShowerTab.C:538
EdbPVRec * pvrec_generic
Definition: EdbEDAShowerTab.h:31
TGNumberEntry * eTGNumberEntryDrawShowerNr
Definition: EdbEDAShowerTab.h:41
void FindPairings()
Definition: EdbEDAShowerTab.C:1037
void SetParaSetHighNBT()
Definition: EdbEDAShowerTab.C:554
Bool_t eUseTSData
Definition: EdbEDAShowerTab.h:46
void DrawShowerNext()
Definition: EdbEDAShowerTab.C:593
Bool_t eCheckQualitycut
Definition: EdbEDAShowerTab.h:51
void CheckBTDensity(EdbPVRec *pvr, TObjArray *tracks)
Definition: EdbEDAShowerTab.C:690
TGComboBox * eComboBox_Parameter
Definition: EdbEDAShowerTab.h:35
void MakeParameterWindowQualitySettings()
Definition: EdbEDAShowerTab.C:1387
void LoadShowerRecEdbPVRec()
Definition: EdbEDAShowerTab.C:337
void PlotShower()
Definition: EdbEDAShowerTab.C:1362
TGNumberEntry * eNumberEntry_ParaValue
Definition: EdbEDAShowerTab.h:40
void PrintQualityCutSetting()
Definition: EdbEDAShowerTab.C:1439
Int_t eQualityCutSetting
Definition: EdbEDAShowerTab.h:53
TGCheckButton * eCheckButtonCheckQualitycut
Definition: EdbEDAShowerTab.h:39
EdbEDAShowerTab()
Definition: EdbEDAShowerTab.C:235
void SetParaSetHighPur()
Definition: EdbEDAShowerTab.C:562
void SetInBTFromLinkedTracks()
Definition: EdbEDAShowerTab.h:87
void GO()
Definition: EdbEDAShowerTab.C:1452
void SetNumberEntryShowerRecParameter(Double_t val)
Definition: EdbEDAShowerTab.C:550
void Button1()
Definition: EdbEDAShowerTab.h:140
void CheckPVRec()
Definition: EdbEDAShowerTab.C:292
EdbPVRec * pvrec_cleaned_cpfiles
Definition: EdbEDAShowerTab.h:25
void CheckInBT()
Definition: EdbEDAShowerTab.C:447
void DrawShowerPrevious()
Definition: EdbEDAShowerTab.C:586
Bool_t eIsAliLoaded
Definition: EdbEDAShowerTab.h:47
void ReadComboBoxParameterQualitySetting()
Definition: EdbEDAShowerTab.C:1512
Definition: EdbPVRec.h:148
Definition: EdbSegP.h:18
Definition: EdbShowerRec.h:25
void PrintParameters()
Definition: EdbShowerRec.cxx:4844
void PrintInitiatorBTs()
Definition: EdbShowerRec.cxx:2422
void PrintRecoShowerArray()
Definition: EdbShowerRec.cxx:3475
void ResetAlgoParameters()
Definition: EdbShowerRec.cxx:4804
Definition: EdbPattern.h:118
TCanvas * c1
Definition: energy.C:13
TTree * tracks
Definition: check_tr.C:19
#define NULL
Definition: nidaqmx.h:84
new TCanvas()
EdbSegP * s1
Definition: tlg2pattern.C:30
EdbSegP * s2
Definition: tlg2pattern.C:31