-- XuWeiWei - 2011-07-08

(1) 概述

将属于同一个投影面的Ecal1DCluster进行匹配,对这些1维的Cluster的重心进行直线拟合,从而构建出一个2维的Cluster。对两个投影平面进行分别进行匹配和拟合。

2DCluster

(2) 程序流程

对投影平面的for循环

  1. 获取投影proj的第一个Ecal1DCluter对象的指针ptr。推测Ecal1DCluster是按照投影平面进行链接的,通过ptrànext()来向后访问。在两个投影平面之间有一个空指针,于是可以用来做while循环。这个是与AMSEcalHit对象的链接相似的。
  2. 寻找同属于这一个投影平面的沉积能量最大的那个Ecal1DCluster,将它的指针赋给pshmax。将每一层的第一个Ecal1DCluster的指针赋给p1d[]数组。
  3. 从pshmax开始,向下搜索与之最匹配的Ecal1DCluster,匹配的策略是:
    1. 从每一层的第一个Ecal1DCluster开始(从p1d[]获得),逐个的进行比较。
    2. 先比较距离,调用Distance()函数,当距离小于阈值时才进行下一步。
    3. 比较2个Cluster的能量,找到能量最匹配的那个,并将其指针赋给p1c[]。
  4. 从pshmax开始,向上搜索,采用同样的策略进行匹配。
  5. 对p1c[]进行直线拟合,当拟合成功且Chi2小于阈值时,将p1c[]中的所有Ecal1DCluster的Status设置为USED。如果拟合不成功,则将pshmax的Status设置为DELETED。
  6. 构建AMSEcal2DCluster对象,调用_Fit()函数。将这个对象的指针加到链表中。
  7. 加上孤立的Ecal1DCluster。
    1. 从第一个Ecal1DCluster开始逐个检查,需满足如下的条件:
      不是坏的(BAD),未被使用(USED),不是由孤立的EcalHit构建的(JUNK)。
    2. 对每个满足条件的Ecal1DCluster,加到这样的Ecal2DCluster上:
      1. 二者在同一个投影平面。
      2. Ecal2DCluster拟合得到的直线在Ecal1DCluster所在的那层的交点,与Ecal1DCluster的重心的距离最短。 这个最短距离需要小于预设定的阈值。

Topic attachments
I Attachment History Action Size Date Who Comment
PNGPNG ecalcluster.PNG r1 manage 68.5 K 2011-07-08 - 10:52 XuWeiWei Ecal2DCluster biuld

This topic: CMS/AMS > WebHome > AMSEcalReconstruction > Ecal2DClusterR
Topic revision: r2 - 2011-07-08 - TangZhicheng
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback