3.4.2 What is the aim?
When trying to improve things, it should be made clear
WITH REGARD TO WHAT we are trying to improve. This question needs to be answered and in case of the single pion files there is a neat solution to it:
The files contain also the standard "cluster calibrated" clusters - thus one can apply the official weight tables with their script and compare to what they get out when just summing the energies of these readymade clusters. When the same cuts and methods are used, there shouldn't be a difference (in principle). When then improving, it seems only natural that improving to the thus officially achieved linearity is the aim. And the follwing plots are some kind of check plots to see, whether the cuts and all of that are actually done correctly.
At the moment is is these cuts:
1. EM scale
sum over all cells
for(int i=0;i<Ncells;i++) //Loop over the CELLS for this event
{
Ene = Rec_energy_topoC[i]*cell_weight_topoC[i];
Ene_sum+=Ene;
}
2. topo_w cluster ---> summing the already weighted clusters in the Ntuple
sum over all weighted clusters
for(i=0;i<cl_nc_topo_w;i++)
{
Eweight_sum=Eweight_sum+cl_e_topo_w[i];
}
3. weight with cluster method ---> summing over all clusters and weighting them appropriately
for(int i=0;i<Ncells;i++) //Loop over the CELLS for this event
{
vol = (cellvol_topo_em[i]*cellweight_topo_em[i]);
if(vol!=0)
{ E_dens=TMath::Abs(Ene)/vol;}
else
{ E_dens=0.;
}
Int_t ieta=0;
for (ieta=0;ieta<NHistoEtaBins;ieta++) {
if (etacell >= HistoEtaBins[ieta]
&& etacell < HistoEtaBins[ieta+1])
break;
}
if ( ieta < NHistoEtaBins && weight_table[ieta][samp_id]) {
double lemax = (weight_table[ieta][samp_id]->GetXaxis())->GetXmax()-
0.5*((weight_table[ieta][samp_id]->GetXaxis())->GetXmax()-(weight_table[ieta][samp_id]->GetXaxis())->GetXmin())
/(weight_table[ieta][samp_id]->GetXaxis()->GetNbins());
double log10cluse = log10(cl_e_topo_em[cellcluster_id[i]]);
if ( log10cluse > lemax ) log10cluse = lemax;
int iBin = weight_table[ieta][samp_id]->FindBin(log10cluse,log10(TMath::Abs(E_dens)));
double num = weight_table[ieta][samp_id]->GetBinEntries(iBin);
if (num > 10 ) {
w = weight_table[ieta][samp_id]->GetBinContent(iBin);
}
else
{ w=1.; }
} // end if ( ieta < NHistoEtaBins && weight_table[ieta][samp_id])
else
{ w=1.; }
if (TMath::Abs(celleng_topo_em[i]) < 2*celltotnoise_topo_em[i] ) w=1.;
if (cl_reco_stat_topo[cellcluster_topo_em[i]-1]!=2) w=1.;
if (cl_e_topo_em[cellcluster_topo_em[i]-1]<0) w=1.;
Eweight=Ene*w;
Eweight_sum=Eweight_sum+(Float_t)Eweight;
}//end for(int i=0;i<Ncells;i++)
The linearity is always determined as Eweight_sum / Ene_sum . Then the linearities are compared by dividing Cluster by Topo_W results for the linearity. The difference is at the moment ca. 3% at most. Where the other 3% are coming from is a mystery to me - I tried to change all doubles to floats even. The resulting plot looks like that:
fig 1. difference in linearity between the methods
This is the actual difference (bin-by-bin, without normailsation) of the
linearity of the applied official weights and the sum of the calibrated topo clusters - they are identical within 0.2% - question is: Is that enough? And where do these differences come from?
I suppose it has to do with noise suppression and the exclusion of a subset of cells. BUT which?
Weight table used: H1ClusterCellWeights _20061117_RZG.root
Cuts when applying weights (noise related):
if (finite(sigma) &&sigma>0) {
ratio = Ene/sigma;
}
if (ratio<=2) w=1.;
if (celleng_topo_em[i]<0) w=1.;
if (E_dens<0) w=1.;
Cuts on the weights:
if (weights_table->GetBinEntries(binl)<10){
w=1.
}
double lemax = (weight_table[ieta][samp_id]->GetXaxis())->GetXmax()-0.5*((weight_table[ieta][samp_id]->GetXaxis())->GetXmax()
-(weight_table[ieta][samp_id]->GetXaxis())->GetXmin())/(weight_table[ieta][samp_id]->GetXaxis()->GetNbins());
double log10cluse = log10(cl_e_topo_em[cellcluster_id[i]]);
if ( log10cluse > lemax ) log10cluse = lemax;
fig2. Linearity achieved by summing up all the topo_w cluster in the single Pion files
fig.3 Linearity achieved by applying the weights from the official weight table file and then weighting the clusters and summing them up
-- Main.kristin - 07 May 2007