Hello all,
i have used a macro with aliroot v4-05-Release-p2.
Now i am using it with the current version of aliroot (head), and my output looks strange, e.g number of pads per cluster -114… Is there a mismatch with macro and aliroot classes? Do i have to change my macro (classes)?
Macro:
[code]{
TChain chain(“TreeR”);
char filename[200];
for (int i=0; i<1; i++){
sprintf(filename,"./cosmic_recpoints_200705XX.root/Event%d/TreeR",i);
cout << filename<<endl;
chain.Add(filename);
}
TObjArray *fclarray;
chain.SetBranchAddress(“TRDcluster”,&fclarray);
Int_t nEntries = (Int_t) chain.GetEntries();
cout<<"nEntries= "<<nEntries<<endl;
signal = new TNtuple(“sig”,“test”,“ientry:clus:t:q:x:y:z:ctr:det:clusize”);
Float_t signtp[10];
q_t = new TH1F(“q_t”,“Charge vs. Timebin all clusters”,30,-0.5,29.5);
for (Int_t iEntry = 0; iEntry < nEntries; iEntry++) {
chain.GetEvent(iEntry);
cout<<"chain.GetEvent(iEntry)= "<<chain.GetEvent(iEntry)<<endl;
cout <<"fclarray->GetEntriesFast()= "<<fclarray->GetEntriesFast()<<endl;
for (Int_t icl =0; icl<fclarray->GetEntriesFast();icl++){
cout <<"icl= "<<icl<<endl;
AliTRDcluster *cl = (AliTRDcluster*)fclarray->UncheckedAt(icl);
cout<<"cl= "<<cl<<endl;
if (!cl) continue;
Int_t localTimeBin=cl->GetLocalTimeBin();
Float_t charge = cl->GetQ();
Float_t lx = cl->GetX();
Float_t ly = cl->GetY();
Float_t lz = cl->GetZ();
Float_t pcenter = cl->GetCenter();
Int_t Npads = cl->GetNPads();
if(Npads==6) continue;
printf("charge= %f, lx= %f, ly= %f, lz= %f, pcenter= %f, Npads= %f \n",charge,lx,ly,lz,pcenter,Npads);
signtp[0]=Float_t(iEntry);
signtp[1]=Float_t(icl);
signtp[2]=Float_t(localTimeBin);
signtp[3]=Float_t(charge);
signtp[4]=Float_t(lx);
signtp[5]=Float_t(ly);
signtp[6]=Float_t(lz);
signtp[7]=Float_t(pcenter);
signtp[8]=Float_t(iEntry%540);
signtp[9]=Float_t(Npads);
signal->Fill(signtp);
q_t->Fill(localTimeBin,charge);
}
}
new TCanvas();
gPad->SetLogy();
q_t->GetXaxis()->SetTitle(“Time-Bin”);
q_t->GetYaxis()->SetTitle(“Charge”);
q_t->Draw();
//c1->SaveAs(“gifs/q_t.gif”);
TFile fclus(“cluster_cosmic_recpoints_200705XX.root”,“RECREATE”);
signal->Write();
fclus.Close();
}[/code]