202{
203
205 int min_ncl=1;
206 if (! sscanf(option,"MIN_NCL") ) sscanf(option,"MIN_NCL=%d",&min_ncl);
207
208
209 Int_t ncl=0,fmin, fmax;
210 Float_t x0,y0,
z0,
vol,amin,amax, zmin, zmax;
212 eGrains->SetBranchAddress(
"ncl",&ncl);
214 eGrains->SetBranchAddress(
"x0",&x0);
215 eGrains->SetBranchAddress(
"y0",&y0);
218 eGrains->SetBranchAddress(
"amin",&amin);
219 eGrains->SetBranchAddress(
"amax",&amax);
220 eGrains->SetBranchAddress(
"zmin",&zmin);
221 eGrains->SetBranchAddress(
"zmax",&zmax);
222 eGrains->SetBranchAddress(
"fmin",&fmin);
223 eGrains->SetBranchAddress(
"fmax",&fmax);
224
225 int ngr=0;
227
231
232 float zlvl;
234
235 int nix,niy,niz,nie;
236
238 for(int ix=0; ix<nix; ix++) {
241 for(int iy=0; iy<niy; iy++) {
243 zlvl = -9999999.;
245 for(int iz=0; iz<niz; iz++) {
248 for(int ie=0; ie<nie; ie++) {
251
252 if( cl->
Z()-zlvl > 2.*
eBinZ ) {
253 if( ncl>0 ) {
254 if(ncl>=min_ncl) {
255
256 GrainStat2(
eClusters,x0,y0,
z0,
vol,amin,amax, zmin, zmax, fmin, fmax);
258 ngr++;
259 }
261 ncl=0;
262 }
263 }
265 ncl++;
267 }
268 }
269
270 if( ncl>0 ) {
271 if(ncl>=min_ncl) {
272
273 GrainStat2(
eClusters,x0,y0,
z0,
vol,amin,amax, zmin, zmax, fmin, fmax);
275 ngr++;
276 }
278 ncl=0;
279 }
280 }
281 }
282
284 printf("%d grains are selected\n",ngr);
285
286 return ngr;
287 }
TLegendEntry * entry
Definition: Canv_SYSTEMATICS_ALLCOMBINED__RMSEnergy__vs__Energy__ELECTRON.C:130
Float_t eBinZ
Definition: EdbGA.h:25
int GrainStat2(TClonesArray *clusters, float &x0, float &y0, float &z0, float &vol, float &amin, float &amax, float &zmin, float &zmax, int &fmin, int &fmax)
Definition: EdbGA.cxx:306
Long_t Value() const
Definition: TIndexCell.h:79
Int_t GetEntries() const
Definition: TIndexCell.h:82
TIndexCell const * At(Int_t narg, Int_t vind[]) const
Definition: TIndexCell.cpp:519