Hallo, the problem: I have an array of TLorentzVector defined, from which I want to build invariant masses of every possible pair: void ana() { ... TLorentzVector ph[10]; ... // the vector is filled in the meanwhile ... for(Int_t k1=0; k1<NumPh; k1++) { for(Int_t k2=k1+1;k2<NumPh; k2++) { TLorentzVector temp = ph[k1] + ph[k2]; invmass->Fill(temp.M()); } } } ... } ok, it's not very effective to have this temporary variable, which gets constructed and destructed, but it should run. I observed, that temp is initialized only in a few loops, in the rest the value of the loop(s) before is used, i.e. temp is some kind of static, but not totally. The code runs fine, when I move the declaration of temp just before the for()-loops. This behaviour starts with the first version of 2.23, before I had no such problems. Best regards, Volker Hejny -- Volker Hejny Tel: 02461/616853 ** Institut f. Kernphysik Fax: 02461/613930 ** ---------------------------------------------------------------- ** ** --- Forschungszentrum Juelich GmbH, D-52425 Juelich **
This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:43:43 MET