FEDRA emulsion software from the OPERA Collaboration
TOracleServerE2WFB.h
Go to the documentation of this file.
1 #ifndef ROOT_TOracleServerE2WFB
2 #define ROOT_TOracleServerE2WFB
3 
4 #include "TOracleServerE2.h"
5 #include "EdbView.h"
6 #include "EdbBrick.h"
7 #include "TObjString.h"
8 
9 class TTree;
10 class EdbPattern;
11 class EdbPatternsVolume;
12 
13 //------------------------------------------------------------------------------------
15 
16  public:
17 
18  Bool_t eDoCommit; // true - commit current transaction (default is false)
19  TString eLab;
20  TString eLa;
21 
22  public:
23  TOracleServerE2WFB(const char *db, const char *uid, const char *pw):TOracleServerE2(db, uid, pw) {Set0();}
25 
26  void Set0();
27  Int_t MyQuery(const char *sqlquery); // to be moved into parent class?
28  Int_t SetTransactionRW() {return MyQuery("SET TRANSACTION READ WRITE");}
29  Bool_t FinishTransaction();
30 
31  const char *Timestamp();
32 
33  ULong64_t IfEventRec( ULong64_t id_eventbrick );
34  ULong64_t IfEventBrick( ULong64_t id_eventbrick, const char *id_set );
35  Int_t AddEventBrick(const char *databrick);
36  Int_t AddPlate(ULong64_t id_eventbrick, const char *dataplate);
37  Int_t AddTemplateMarkSets(const char *datamarks);
38 
39  ULong64_t AddProcessOperationBrick(
40  ULong64_t id_machine,
41  ULong64_t id_programsettings,
42  ULong64_t id_requester,
43  ULong64_t id_eventbrick,
44  ULong64_t id_parent_operation,
45  const char *starttime,
46  const char *notes);
47 
48  ULong64_t AddFeedbackReconstruction(ULong64_t id_eventbrick, ULong64_t id_processoperation);
49  ULong64_t AddFeedbackReconstructionTest(ULong64_t id_eventbrick, ULong64_t id_processoperation);
50 
51  Int_t AddFeedbackVertex
52  (
53  ULong64_t id_eventbrick,
54  ULong64_t id_reconstruction,
55  Int_t id_vertex,
56  Float_t posx,
57  Float_t posy,
58  Float_t posz,
59  const char *isprimary,
60  const char *ischarm,
61  const char *istau,
62  const char *outofbrick
63  );
64 
65  Int_t AddFeedbackTrack(
66  ULong64_t id_eventbrick,
67  ULong64_t id_reconstruction,
68  Int_t id_track,
69  Int_t id_upvtx,
70  Int_t id_downvtx,
71  Float_t x,
72  Float_t y,
73  Float_t z,
74  Float_t sx,
75  Float_t sy,
76  const char *manual,
77  const char *particle,
78  const char *scanback,
79  const char *darkness,
80  Float_t upip,
81  Float_t downip,
82  Float_t p,
83  Float_t pmin,
84  Float_t pmax,
85  const char *outofbrick,
86  Int_t lastplate,
87  Float_t rslopet,
88  Float_t rslopel,
89  Float_t rmsslopet,
90  Float_t rmsslopel,
91  Int_t kinkplatedown,
92  Int_t kinkplateup,
93  const char *decaysearch,
94  ULong64_t event
95  );
96 
97  Int_t AddFeedbackSegment(
98  ULong64_t id_eventbrick,
99  ULong64_t id_reconstruction,
100  Int_t id_plate,
101  Int_t id_track,
102  const char *tracktype,
103  Float_t posx,
104  Float_t posy,
105  Float_t posz,
106  Float_t slopex,
107  Float_t slopey,
108  Int_t grains,
109  const char *trackmode
110  );
111  Int_t CloseFeedbackDataset( ULong64_t id_operation,
112  const char *endtime
113  );
114 
115  const char *Ostr(ULong64_t num);
116  const char *Ostr(Int_t num);
117  void Print();
118 
119  ClassDef(TOracleServerE2WFB,1) // write feedback files into central DB directly
120 };
121 
122  struct fbsegment {
123  Int_t id_plate;
124  Float_t x;
125  Float_t y;
126  Float_t z;
127  Float_t sx;
128  Float_t sy;
129  Int_t type; // 0=BT, 1=microT top, 2=microT bottom
130  Int_t irec; //0 Automatic, 1 SB, 2 Manual
131  Int_t grains;
132  };
133 
134  struct fbtrack {
135  Int_t id_track;
136  Int_t id_upvtx;
137  Int_t id_downvtx;
138  Float_t x;
139  Float_t y;
140  Float_t z;
141  Float_t sx;
142  Float_t sy;
143  Float_t upip;
144  Float_t downip;
145  Float_t p;
146  Float_t pmin;
147  Float_t pmax;
148  Int_t isman;
149  Int_t type; // 1-muon, 2-charm, 3-electron, 4 e+e-, 5 tau
150  Int_t scanback;
151  Int_t darkness;
152  Int_t ofb; // 1=pass through, 2=edge out, 0 others
153  Int_t lastplate; // 1= pass though, n=edge out track last plate, 0 others
154  Int_t nseg;
155  Float_t rmsslopet;
156  Float_t rmsslopel;
157  Float_t rslopet;
158  Float_t rslopel;
160  Int_t kinkplateup;
161  Int_t flag; // 1-primary, 2 - e+e-, 3-lowmom, 4-sf to do, 5-sf done
163  };
164 
165  struct fbvertex {
166  //VTX X Y Z Pri Cha Tau NDow Nup OfB
167  Int_t idvtx;
168  Float_t x;
169  Float_t y;
170  Float_t z;
171  Int_t isprim;
172  Int_t ischarm;
173  Int_t istau;
174  Int_t ndown;
175  Int_t nup;
176  Int_t ofb; //1-dead, 0-ok
178  };
179 //------------------------------------------------------------------------------------
180 class EdbFeedback : public TObject {
181 
182  public:
183 
185  ULong64_t eIdMachine; // as 6000000000010002
186  ULong64_t eIdProgramsettings; // as 81000100000000087
187  ULong64_t eIdRequester; // as 6000000000100375
188  ULong64_t eBrick;
189  ULong64_t eEventBrick;
190  ULong64_t eEvent;
191  ULong64_t eProcOp;
192  ULong64_t eRecID;
193 
194  Int_t eERROR; // 0 by default, 1 if error happened
195  int eNvtxLim; // limit for vtx array size
196  int eNvtx; // number of vertices
197  int eNtrLim; // limit for tracks array size
198  int eNtr; // number of tracks
201 
202  public:
203  EdbFeedback();
205 
206  int ReadFBFile( const char *file );
207  fbvertex *ReadVertex( const char *str );
208  fbtrack *ReadTrack( const char *str );
209  fbsegment *ReadSegment( FILE *f );
210 
211  void Print();
212  void PrintFB();
213  void Print( fbvertex *v );
214  void Print( fbtrack *t );
215  void Print( fbsegment *s );
216 
217  int InitDB(const char *conn, const char *user, const char *pwd);
218  int LoadFBintoDB();
219 
220  const char *DecayFlag(int flag);
221  const char *Ofb(int ofb);
222  const char *PartType(int parttype);
223  const char *Darkness(int drk);
224 
225  const char *SegmentRecMode(int mode);
226  const char *SegmentType(int type);
227 
228  ClassDef(EdbFeedback,1) // feedback container class
229 };
230 
231 #endif
232 
FILE * f
Definition: RecDispMC.C:150
TTree * t
Definition: check_shower.C:4
Definition: TOracleServerE2WFB.h:180
ULong64_t eEvent
Definition: TOracleServerE2WFB.h:190
const char * PartType(int parttype)
Definition: TOracleServerE2WFB.cxx:582
EdbFeedback()
array of tracks
Definition: TOracleServerE2WFB.cxx:422
int ReadFBFile(const char *file)
Definition: TOracleServerE2WFB.cxx:602
ULong64_t eProcOp
Definition: TOracleServerE2WFB.h:191
const char * Ofb(int ofb)
Definition: TOracleServerE2WFB.cxx:573
int LoadFBintoDB()
Definition: TOracleServerE2WFB.cxx:465
fbtrack ** eT
array of vertices
Definition: TOracleServerE2WFB.h:200
fbtrack * ReadTrack(const char *str)
Definition: TOracleServerE2WFB.cxx:679
ULong64_t eEventBrick
Definition: TOracleServerE2WFB.h:189
ULong64_t eBrick
Definition: TOracleServerE2WFB.h:188
fbsegment * ReadSegment(FILE *f)
Definition: TOracleServerE2WFB.cxx:701
const char * SegmentType(int type)
Definition: TOracleServerE2WFB.cxx:553
const char * DecayFlag(int flag)
Definition: TOracleServerE2WFB.cxx:562
ULong64_t eIdMachine
Definition: TOracleServerE2WFB.h:185
int eNtrLim
Definition: TOracleServerE2WFB.h:197
ULong64_t eRecID
Definition: TOracleServerE2WFB.h:192
const char * SegmentRecMode(int mode)
Definition: TOracleServerE2WFB.cxx:545
fbvertex * ReadVertex(const char *str)
Definition: TOracleServerE2WFB.cxx:667
const char * Darkness(int drk)
Definition: TOracleServerE2WFB.cxx:593
void PrintFB()
Definition: TOracleServerE2WFB.cxx:720
int InitDB(const char *conn, const char *user, const char *pwd)
Definition: TOracleServerE2WFB.cxx:457
ULong64_t eIdProgramsettings
Definition: TOracleServerE2WFB.h:186
int eNvtx
Definition: TOracleServerE2WFB.h:196
ULong64_t eIdRequester
Definition: TOracleServerE2WFB.h:187
TOracleServerE2WFB * eDB
Definition: TOracleServerE2WFB.h:184
int eNvtxLim
Definition: TOracleServerE2WFB.h:195
Int_t eERROR
Definition: TOracleServerE2WFB.h:194
~EdbFeedback()
Definition: TOracleServerE2WFB.h:204
fbvertex ** eV
Definition: TOracleServerE2WFB.h:199
void Print()
Definition: TOracleServerE2WFB.cxx:440
int eNtr
Definition: TOracleServerE2WFB.h:198
Definition: EdbPattern.h:280
Definition: EdbPattern.h:348
Definition: TOracleServerE2WFB.h:14
void Print()
Definition: TOracleServerE2WFB.cxx:20
Int_t AddFeedbackTrack(ULong64_t id_eventbrick, ULong64_t id_reconstruction, Int_t id_track, Int_t id_upvtx, Int_t id_downvtx, Float_t x, Float_t y, Float_t z, Float_t sx, Float_t sy, const char *manual, const char *particle, const char *scanback, const char *darkness, Float_t upip, Float_t downip, Float_t p, Float_t pmin, Float_t pmax, const char *outofbrick, Int_t lastplate, Float_t rslopet, Float_t rslopel, Float_t rmsslopet, Float_t rmsslopel, Int_t kinkplatedown, Int_t kinkplateup, const char *decaysearch, ULong64_t event)
Definition: TOracleServerE2WFB.cxx:302
ULong64_t AddFeedbackReconstruction(ULong64_t id_eventbrick, ULong64_t id_processoperation)
Definition: TOracleServerE2WFB.cxx:245
ULong64_t IfEventRec(ULong64_t id_eventbrick)
Definition: TOracleServerE2WFB.cxx:114
Int_t AddFeedbackVertex(ULong64_t id_eventbrick, ULong64_t id_reconstruction, Int_t id_vertex, Float_t posx, Float_t posy, Float_t posz, const char *isprimary, const char *ischarm, const char *istau, const char *outofbrick)
Definition: TOracleServerE2WFB.cxx:275
Int_t AddFeedbackSegment(ULong64_t id_eventbrick, ULong64_t id_reconstruction, Int_t id_plate, Int_t id_track, const char *tracktype, Float_t posx, Float_t posy, Float_t posz, Float_t slopex, Float_t slopey, Int_t grains, const char *trackmode)
Definition: TOracleServerE2WFB.cxx:364
Int_t AddEventBrick(const char *databrick)
Definition: TOracleServerE2WFB.cxx:75
Bool_t eDoCommit
Definition: TOracleServerE2WFB.h:18
Int_t MyQuery(const char *sqlquery)
Definition: TOracleServerE2WFB.cxx:59
~TOracleServerE2WFB()
Definition: TOracleServerE2WFB.h:24
const char * Timestamp()
Definition: TOracleServerE2WFB.cxx:27
Int_t AddPlate(ULong64_t id_eventbrick, const char *dataplate)
Definition: TOracleServerE2WFB.cxx:138
TString eLa
as "NAPOLI"
Definition: TOracleServerE2WFB.h:20
Int_t CloseFeedbackDataset(ULong64_t id_operation, const char *endtime)
Definition: TOracleServerE2WFB.cxx:398
Int_t SetTransactionRW()
Definition: TOracleServerE2WFB.h:28
ULong64_t AddFeedbackReconstructionTest(ULong64_t id_eventbrick, ULong64_t id_processoperation)
Definition: TOracleServerE2WFB.cxx:212
ULong64_t IfEventBrick(ULong64_t id_eventbrick, const char *id_set)
Definition: TOracleServerE2WFB.cxx:88
TOracleServerE2WFB(const char *db, const char *uid, const char *pw)
as "NA"
Definition: TOracleServerE2WFB.h:23
const char * Ostr(ULong64_t num)
Definition: TOracleServerE2WFB.cxx:33
TString eLab
Definition: TOracleServerE2WFB.h:19
ULong64_t AddProcessOperationBrick(ULong64_t id_machine, ULong64_t id_programsettings, ULong64_t id_requester, ULong64_t id_eventbrick, ULong64_t id_parent_operation, const char *starttime, const char *notes)
Definition: TOracleServerE2WFB.cxx:168
Int_t AddTemplateMarkSets(const char *datamarks)
Definition: TOracleServerE2WFB.cxx:153
Bool_t FinishTransaction()
Definition: TOracleServerE2WFB.cxx:46
Definition: TOracleServerE2.h:13
grains()
Definition: grains.C:3
int event
Definition: shower_tr.C:25
Definition: TOracleServerE2WFB.h:122
Float_t sx
Definition: TOracleServerE2WFB.h:127
Float_t sy
Definition: TOracleServerE2WFB.h:128
Float_t x
Definition: TOracleServerE2WFB.h:124
Int_t id_plate
Definition: TOracleServerE2WFB.h:123
Float_t y
Definition: TOracleServerE2WFB.h:125
Float_t z
Definition: TOracleServerE2WFB.h:126
Int_t grains
Definition: TOracleServerE2WFB.h:131
Int_t irec
Definition: TOracleServerE2WFB.h:130
Int_t type
Definition: TOracleServerE2WFB.h:129
Definition: TOracleServerE2WFB.h:134
Int_t flag
Definition: TOracleServerE2WFB.h:161
Int_t scanback
Definition: TOracleServerE2WFB.h:150
Float_t sy
Definition: TOracleServerE2WFB.h:142
Int_t type
Definition: TOracleServerE2WFB.h:149
fbsegment ** segments
Definition: TOracleServerE2WFB.h:162
Float_t rmsslopel
Definition: TOracleServerE2WFB.h:156
Int_t darkness
Definition: TOracleServerE2WFB.h:151
Int_t lastplate
Definition: TOracleServerE2WFB.h:153
Int_t kinkplateup
Definition: TOracleServerE2WFB.h:160
Float_t rslopet
Definition: TOracleServerE2WFB.h:157
Int_t kinkplatedown
Definition: TOracleServerE2WFB.h:159
Float_t pmax
Definition: TOracleServerE2WFB.h:147
Int_t id_track
Definition: TOracleServerE2WFB.h:135
Float_t p
Definition: TOracleServerE2WFB.h:145
Int_t nseg
Definition: TOracleServerE2WFB.h:154
Float_t upip
Definition: TOracleServerE2WFB.h:143
Float_t rmsslopet
Definition: TOracleServerE2WFB.h:155
Int_t id_upvtx
Definition: TOracleServerE2WFB.h:136
Float_t sx
Definition: TOracleServerE2WFB.h:141
Float_t x
Definition: TOracleServerE2WFB.h:138
Float_t y
Definition: TOracleServerE2WFB.h:139
Float_t pmin
Definition: TOracleServerE2WFB.h:146
Int_t isman
Definition: TOracleServerE2WFB.h:148
Float_t rslopel
Definition: TOracleServerE2WFB.h:158
Float_t z
Definition: TOracleServerE2WFB.h:140
Float_t downip
Definition: TOracleServerE2WFB.h:144
Int_t ofb
Definition: TOracleServerE2WFB.h:152
Int_t id_downvtx
Definition: TOracleServerE2WFB.h:137
Definition: TOracleServerE2WFB.h:165
Float_t x
Definition: TOracleServerE2WFB.h:168
Int_t isprim
Definition: TOracleServerE2WFB.h:171
Int_t ofb
Definition: TOracleServerE2WFB.h:176
fbtrack ** tracks
Definition: TOracleServerE2WFB.h:177
Float_t z
Definition: TOracleServerE2WFB.h:170
Int_t ndown
Definition: TOracleServerE2WFB.h:174
Int_t nup
Definition: TOracleServerE2WFB.h:175
Int_t ischarm
Definition: TOracleServerE2WFB.h:172
Int_t idvtx
Definition: TOracleServerE2WFB.h:167
Int_t istau
Definition: TOracleServerE2WFB.h:173
Float_t y
Definition: TOracleServerE2WFB.h:169
p
Definition: testBGReduction_AllMethods.C:8
Int_t type
Definition: testBGReduction_By_ANN.C:15
TOracleServerE * db
Definition: test_oracle.C:8
EdbSegP * s
Definition: tlg2pattern.C:32
TFile * file
Definition: write_pvr.C:3