Problem copying a subset of a TClonesArray into another one


I am trying to copy a subset of a TClonesArray filled with a class (xsjet). The process works ok apart for one variable of that class (scale) that is an array. The array in the copy is filled with 0.

Below are the snippet of code.
Is there something obiously wrong that I am doing ?

Help very much appreciated.


class xsjet: public TObject {
~xsjet() {};

xsjet(const xsjet &);
xsjet & operator=(const xsjet &);

void clear();
friend ostream & operator << (ostream &s, const xsjet & j );

float et;
float etc;
float eta;
float etad;
float phi;
float emf;
float pt;
float px, py, pz, e;
float scale[4]; //l4, l5, l6, l7 corr

TClonesArray* _ntjetL4A = new TClonesArray(“xsjet”);
int nTJetL4=0;

//Loop over the ntuples jets and pick the relevant ones
for(int ijet=0; ijet<_jetA>GetEntries(); ijet++){
xsjet* _j = (xsjet*) _jetA->At(ijet);

if(_j->etc>15 && fabs(_j->etad)<2.0){
new ((_ntjetL4A)[nTJetL4++]) xsjet(_j);

Most likely in your implementation of xsjet(const xsjet &); you forgot to copy the values of the array.