177{
178 if( gSystem->AccessPathName(rwdname, kReadPermission) ) {
179 Log(1,
"AddRWD",
"ERROR! Can not access file %s",rwdname);
180 return 0;
181 }
182
183 Bool_t addcl(true);
184 Bool_t addclframe(false);
185 Bool_t addareasum(false);
186
187 if (strstr(options,"NOCL") ) addcl=false;
188 if (strstr(options,"CLFRAME") ) addclframe=true;
189 if (strstr(options,"SUM") ) addareasum=true;
190
191 const char *key=0;
192 int cutcl=0;
193 if( (key = strstr(options,"CUTCL")) ) sscanf(key+5,"%d",&cutcl);
194
197
199 if (
ReadFragment((
void**)&pFrag, (
char*)rwdname) != 1)
return false;
200
203 int fclusters;
204 int vclusters;
206 int tr_clusters;
207 int puls ;
208
211
213 fclusters = 0;
215 for (
s = 0;
s < 2;
s++) {
216 for (v = 0; v < pFrag->Fragment.CountOfViews; v++) {
217 rwdView = &(pFrag->Fragment.pViews[v]);
218 vclusters=0;
220
233
236
240
242
243 for( int nlvl=0; nlvl<nframes; nlvl++ )
246
249 tr_clusters = rwdTrack->
Grains;
250 if( cutcl>0 && tr_clusters<cutcl) continue;
251 if (addareasum) puls = rwdTrack->
Grains + (2000000>rwdTrack->
AreaSum?rwdTrack->
AreaSum:2000000)*1000;
252 else puls = rwdTrack->
Grains ;
253
256 else
258
265
267
268
269 if (addcl && rwdTrack->
pGrains ) {
270 float volume = 0;
271 int frameId = 0;
272 for (
p=0;
p<tr_clusters;
p++) {
273 if (addclframe) {
274 for(int nlvl=frameId;nlvl<nframes;nlvl++) {
276 frameId=nlvl;
277 break;
278 }
279 }
280 }
285 volume,
286 frameId,
288 }
289 }
292 vclusters += tr_clusters;
293 }
295 fclusters += vclusters;
296 };
297 };
298
299 cout<<"Fragment:"<<fragID<<"\tmicrotracks: "
300 <<
tracks<<
"\tclusters: "<<fclusters<<endl;
301 cout << flush;
302
304#ifndef WIN32
305 delete pFrag;
306#endif
307 return true;
308}
brick dz
Definition: RecDispMC.C:107
segment of the track
Definition: EdbSegment.h:63
void Set(float x, float y, float z, float tx, float ty, float dz=0, int side=0, int puls=0, int id=0)
Definition: EdbSegment.cxx:93
void SetSigma(float sx, float sy)
Definition: EdbSegment.h:85
EdbViewHeader * GetHeader() const
Definition: EdbView.h:163
EdbSegment * AddSegment(float x, float y, float z, float tx, float ty, float dz=0, int side=0, int puls=0, int id=-1)
Definition: EdbView.h:231
EdbCluster * AddCluster(EdbCluster *c)
Definition: EdbView.h:225
void AddFrame(int id, float z, int ncl=0, int npix=0)
Definition: EdbView.cxx:268
void Clear()
Definition: EdbView.cxx:79
int ReadFragment(void **ppData, char *name)
Definition: dataIO.cpp:89
TTree * t
Definition: check_shower.C:4
s
Definition: check_shower.C:55
TTree * tracks
Definition: check_tr.C:19
float Y
Definition: Track2.h:13
unsigned short Area
Definition: Track2.h:11
float Z
Definition: Track2.h:14
float X
Definition: Track2.h:12
Definition: vscan_ds.h:106
float Z
Definition: TVectors.h:11
float X
Definition: TVectors.h:9
float Y
Definition: TVectors.h:10
float Sigma
Definition: Track2.h:26
TVector Slope
Definition: Track2.h:25
unsigned Grains
Definition: Track2.h:20
unsigned AreaSum
Definition: Track2.h:21
Grain * pGrains
Definition: Track2.h:22
TVector Intercept
Definition: Track2.h:24
int Clusters
Definition: VSRawData.h:49
float Z
Definition: VSRawData.h:50
int Count
Definition: VSRawData.h:54
struct t_LayerInfo * pLayerInfo
Definition: VSRawData.h:55
float TopInt
Definition: VSRawData.h:43
float TopExt
Definition: VSRawData.h:42
float BottomExt
Definition: VSRawData.h:45
float BottomInt
Definition: VSRawData.h:44
Definition: VSRawData.h:35
float Y[2]
Definition: VSRawData.h:37
float MapX[2]
Definition: VSRawData.h:38
Track2 * pTracks[2]
Definition: VSRawData.h:59
float X[2]
Definition: VSRawData.h:37
float MapY[2]
Definition: VSRawData.h:38
float ImageMat[2][2][2]
Definition: VSRawData.h:39
int TCount[2]
Definition: VSRawData.h:58
int TileY
Definition: VSRawData.h:36
struct VS_View2::t_Layers2 Layers[2]
struct VS_View2::t_RelevantZs2 RelevantZs
int TileX
Definition: VSRawData.h:36
p
Definition: testBGReduction_AllMethods.C:8