Another problem:
when I make a selection by means of a TEventList in a tree, I
encountered a strange problem: when operating on a clone if this tree
and performing a Draw() method, I got NOTHING...
here is the code I used, to see if there are some mistakes:
Int_t h, t, sel_entries, sel_entries1;
Text_t sel_head[100], sel_tail[100];
sprintf (sel_head, "fPhi >= %f && fPhi <= %f", phimin, phimax);
TEventList el("el", "list from fPoints");
sel_entries = fPoints->Draw(">>el", sel_head);
Int_t *entry = el.GetList();
cout << sel_entries << " points in the selected phi interval" << endl;
for (h = 0; h < sel_entries; h++) {
// if (!((h*100)%10)) cout << "\rProcessing :" << h * 100 /
sel_entries << "%" << flush;
fPoints->GetEntry(entry[h]);
sprintf (sel_tail, "fPhi >= %f && fPhi <= %f && fLayer == %d &&
fTheta <= %f && fTheta >= %f", phimin, phimax, head->fLayer+1,
head->fTheta - fTheta, head->fTheta + fTheta);
tails->Reset();
sel_entries1 = tails->Draw("fGX:fGY:fGZ", sel_tail, "goff");
cout << "\r" << sel_entries1 << " points that could be related
with entry " << entry[h] << flush;
Double_t *gotX = tails->GetV1();
Double_t *gotY = tails->GetV2();
Double_t *gotZ = tails->GetV3();
for (t = 0; t < sel_entries1; t++) {
// if (tail->fLayer - head->fLayer != 1) continue;
// if (tail->DeltaTheta(head) >= fTheta) continue;
unit = new AliITStreeNeuron(head->fGX, head->fGY, head->fGZ,
gotX[t], gotY[t], gotZ[t], h, t);
cout << unit->fCurv << endl;
if (unit->fCurv > curvmax) continue;
unit->fActivation = gRandom->Rndm() * (max - min) + min;
fNeurons->Fill();
}
}
Here, the problem is that the sel_entries1 has value 0 (which I didn't
expect)....
Regards.
Alberto
This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:51:04 MET