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:

Linearity_difference_all.png

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;

RMSLinearity_difference_all_topow.jpg

fig2. Linearity achieved by summing up all the topo_w cluster in the single Pion files

RMSLinearity_difference_all_cluster.jpg

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

Topic attachments
I Attachment History Action Size Date Who Comment
PNGpng Linearity_difference_all.png r4 r3 r2 r1 manage 8.5 K 2007-08-28 - 16:53 KristinLohwasser  
JPEGjpg Linearity_difference_all3.jpg r1 manage 40.5 K 2007-05-07 - 15:31 UnknownUser  
JPEGjpg RMSLinearity_difference_all_cluster.jpg r1 manage 38.0 K 2007-05-07 - 20:06 UnknownUser  
JPEGjpg RMSLinearity_difference_all_topow.jpg r1 manage 37.8 K 2007-05-07 - 20:05 UnknownUser  
Edit | Attach | Watch | Print version | History: r12 < r11 < r10 < r9 < r8 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r12 - 2020-08-20 - TWikiAdminUser
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Sandbox/SandboxArchive All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2023 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback