[d2n-analysis-talk] Dependence of shower cluster identification on tracking in original BB code

MATTHEW R POSIK tua88437 at temple.edu
Fri Oct 15 10:32:53 EDT 2010


Hi all,

  So I went and took another look at the energy dependence of the preshower
location, because at the time I had a lot of back and forth between
Transversity BB lib and our d2n  lib. I replayed 100,000 events for a
negative 1-pass H2 and 3He run for the original preshower location currently
in our db this has the detector at

 x=0.0, y=0.0 and z=0.77m (in detector coords)

and again for the transversity preshower location, this was at

 x= -0.015m, y=0.0 z=0.97m (detector coords)

Here I only show the results for the 1-pass 3He run, because the 1-pass H2
showed the same behavior. There are 2 versions of each plot ones with
d2_xxxxx.png are with the current d2n preshower location and the ones
labeled trans_xxxxxx.png are with the transversity location. The
d2/trans_ps.png shows the preshower energy, this is identical between the 2
different preshower locations. The next thing that I checked is the
preshower cluster positions, d2/trans_clusloc.png these also seem to be
consistent. Finally I also checked the difference between the preshower
cluster X,Y and the reconstructed track onto the preshower, using a
projected track distance of 0.77m for d2_ps_trkdiff.png and 0.97m for
trans_ps_trkdiff.png. This plot shows a large resolution difference.

When I did go through the THaBBTotalShower class in our current db, there
was some reference to tracking in the Coarse() and Fine()   functions. It
seems like there was cluster matching, but was commented out, this can be
seen in the CoarseProcess(). I am not too sure what the FineProcess() is
doing however. The relevant code is as follows:

THaBBTotalShower::CoarseProcess(TClonesArray& tracks )
{
    // Reconstruct Clusters in shower and preshower detectors.
    // Then compute total shower energy and cluster ID.
    //
    // Valid fIDs:
    //       1   Matching clusters found.
    //       0   Clusters found, but separated too far
    //      -1   No cluster found in either shower or preshower or both
    //

    if( !IsOK() )
        return -1;

    fPreShower->CoarseProcess(tracks );
    fShower->CoarseProcess( tracks );

    fNclust = 0;

    //  if( ( fShower->GetNclust()+fPreShower->GetNclust() )> kMaxNClust )
cerr << "Error:  Too many clusters ( " << fShower->GetNclust() << " shower
and " << fPreShower->GetNclust() << " preshower ).  We are restricted to "
<< kMaxNClust << endl;
    for (int sh=0;sh<fShower->GetNclust();sh++) {
        Bool_t keep = false;
        Int_t ps = 0;
        while ((ps < fPreShower->GetNclust()) && (fNclust < kMaxNClust)) {
            double dx =
 fShower->GetClust(sh)->GetX()-fPreShower->GetClust(ps)->GetX();
            double dy =

 fShower->GetClust(sh)->GetY()-fPreShower->GetClust(ps)->GetY();
 if (TMath::Abs(dx)<fMaxDx && TMath::Abs(dy)<fMaxDy && (fNclust < kMa
xNClust)) {
                keep = true;
                fE[fNclust] = fShower->GetClust(sh)->GetE() +
fShower->GetClust(
ps)->GetE();
                fX[fNclust] = fShower->GetClust(sh)->GetX();
                fY[fNclust] = fShower->GetClust(sh)->GetY();
                fID[fNclust] = 1;
                fNclust++;            }
            ps++;
        }
   for (int ps=0;ps<fPreShower->GetNclust();ps++) {
        Bool_t keep = false;        Int_t sh = 0;
        while (!keep && sh < fShower->GetNclust()) {
            double dx =

 fShower->GetClust(sh)->GetX()-fPreShower->GetClust(ps)->GetX();
            double dy =

 fShower->GetClust(sh)->GetY()-fPreShower->GetClust(ps)->GetY();
            if (TMath::Abs(dx)<fMaxDx && TMath::Abs(dy)<fMaxDy)
                keep = true;
            sh++;
        }
        // This throws away if they cluster positions are not within some
range.
  Let's not do that for now
        //if (!keep)
        //      fPreShower->RemoveCluster(ps--);
    }


    return 0;
}//_____________________________________________________________________________
Int_t THaBBTotalShower::FineProcess( TClonesArray& tracks )
{
    // Fine processing.
    // Call fPreShower->FineProcess() and fShower->FineProcess() in turn.
    // Return return value of fShower->FineProcess().

    if( !IsOK() )
        return -1;

    fPreShower->FineProcess( tracks );
    return fShower->FineProcess( tracks );
}


-Matt

On Thu, Oct 14, 2010 at 6:15 PM, Brad Sawatzky <brads at jlab.org> wrote:

> Sorry I had to vanish today.  (I'm really looking forward to next monthwhen
> things should calm down some...)
>
> Anyway, I found a note from our meeting on 01 July 2010 where we saw
> that a change in the preshower location in the DB had a big effect on
> the shower vs. preshower histogram.  This was later traced to the the
> (old) shower class using the projected track information as a factor in
> its cluster identification.   (I think Diana recalled this episode just
> before I had to go.)
>
> Bottom line is that even in the old Shower code, the "total deposited
> energy" information reported by the Shower code can be influenced by the
> reconstructed track -- something that needs to be kept in mind.  That
> couples the shower energies to the behavior of the tracking code in a
> non-trivial way.
>
> -- Brad
>
> --
> Brad Sawatzky, PhD <brads at jlab.org>  -<>-  Jefferson Lab / Hall C / C111
> Ph: 757-269-5947  -<>-  Fax: 757-269-5235  -<>- Pager: brads-page at jlab.org
> The most exciting phrase to hear in science, the one that heralds new
>  discoveries, is not "Eureka!" but "That's funny..."   -- Isaac Asimov
> _______________________________________________
> d2n-analysis-talk mailing list
> d2n-analysis-talk at jlab.org
> https://mailman.jlab.org/mailman/listinfo/d2n-analysis-talk
>



-- 
Matthew Posik
Email: posik at temple.edu
Temple University Physics Dept.
Office: BA-319
Office #:  215-204-1331
WebSites:
Temple:
http://quarks.temple.edu/
d2n:
http://hallaweb.jlab.org/experiment/E06-014/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://mailman.jlab.org/pipermail/d2n-analysis-talk/attachments/20101015/92462f73/attachment-0001.html 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: d2_ps.png
Type: image/png
Size: 8465 bytes
Desc: not available
Url : https://mailman.jlab.org/pipermail/d2n-analysis-talk/attachments/20101015/92462f73/attachment-0006.png 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: trans_ps.png
Type: image/png
Size: 8465 bytes
Desc: not available
Url : https://mailman.jlab.org/pipermail/d2n-analysis-talk/attachments/20101015/92462f73/attachment-0007.png 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: d2_ps_clusloc.png
Type: image/png
Size: 7417 bytes
Desc: not available
Url : https://mailman.jlab.org/pipermail/d2n-analysis-talk/attachments/20101015/92462f73/attachment-0008.png 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: trans_ps_clusloc.png
Type: image/png
Size: 7417 bytes
Desc: not available
Url : https://mailman.jlab.org/pipermail/d2n-analysis-talk/attachments/20101015/92462f73/attachment-0009.png 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: d2_ps_trkdiff.png
Type: image/png
Size: 9468 bytes
Desc: not available
Url : https://mailman.jlab.org/pipermail/d2n-analysis-talk/attachments/20101015/92462f73/attachment-0010.png 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: trans_ps_trkdiff.png
Type: image/png
Size: 9463 bytes
Desc: not available
Url : https://mailman.jlab.org/pipermail/d2n-analysis-talk/attachments/20101015/92462f73/attachment-0011.png 


More information about the d2n-analysis-talk mailing list