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
9class TTree;
10class EdbPattern;
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
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
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;
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;
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//------------------------------------------------------------------------------------
180class 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
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:273
Definition: EdbPattern.h:334
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
TTree * t
Definition: check_shower.C:4
s
Definition: check_shower.C:55
TOracleServerE * db
Definition: test_oracle.C:8
TFile * file
Definition: write_pvr.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