v 1.2 of Nov 18, 2005 This (growing) document tries to tie the EGAMMA Ntuple objects to the algorithms and code that does the reconstruction. Please send comments/suggestions to Yuri Gershtein at gerstein@fnal.gov EBC block ---------- objects EgammaBasicCluster (EgammaClusters package) variables filled are defined in HEgammaBasicCluster (EgammaClusters package) role in software: all significant energy deposits make it into basic clusters. It's the first stage in electron and photon finding. BasicClusters found by BasicIsland (below) are later used for calculating isolation in EM calorimeter. The reconstruction of these objects is done in package EgammaBasicClusters. Module EgammaBasicReco (inherits from COBRA classes so it's invoked at execution time) queries for objects reconstructed by "EGBCluster" algorithm version "1.0", which would trigger the reconstruction. The algorithm's module is in the same package, and is called EGBClusterRecAlgo (inherits from EgammaHAnalyzer, EgammaAnalysis package, which all algorithms inherit from. It is set up in a way that all reconstructed objects automatically get histogrammed) This algorithm is actually two algorithms (see constructor of EGBClusterRecAlgo), EgammaBasicIsland and EgammaBasicHybrid. Those are referred to as "island" and "hybrid"algorithms. They live in package EgammaClusters. Both algorithms start with reconstructed crystal energies (CalRecoHit) and make EgammaBasicClusters. They are described in detail in Daq TDR and CMS Note 2001/034 "Island" algorithm is a "bump finder". It starts from the highest energy unused crystal and adds adjacent crystals to it. The addition stops when the adjacent crystal has eighther no energy at all (indicating end of the cluster) or has higher energy than the current crystal (indicating that there is another bump nearby that would be reconstructed separately) "Hybrid" algorithm is a supercluster algorithm. After finding a crystal above 1.0 GeV (hardwired in the code) it makes dominos of 3x1 or 5x1 crystals in eta-phi space, one centered on the seed crystal and others centered on the crystals in +- Nstep in phi direction. Nstep is hardwired to be 10. Size 3x1 is chosen if the center crystal Et is less than 1.0 GeV and 5x1 is chosen otherwise. Dominos with energy below 0.1 GeV are eliminated. Adjacent dominoes make sub-clusters (they are split sccording to peaks anv valleys in the attempt to describe the sub-structure of the supercluster) After that, disconnected sub-cluesters with energy below 0.35 GeV are eliminated as well. Hybrid algorithms has no configurable parameters, the island algorithm has a configurable threshold (separate for barrel and endcap, names are "EGBasicIsland:BarrelSeedThr" and "EGBasicIsland:EndcapSeedThr", with default values, correspondingly 0.5 GeV and 0.18 GeV) which can be defined in your .orcarc file. It defines the minimal energy of the crystal to be considered as a seed for a cluster. Another configurable is "PositionCorrect" which determines if the log position correction would be applied to the cluster. The code that does the correction is EGBLogPosCorr and lives in EgammaClusters package. There are other corrections that could be applied to the BasicClusters. There is a EGBBasketBorderCorr which corrects for cracks between 5x5 modules. It is not called anywhere in the 8_2_0 code, as the details of implementation is being worked on (Kati Lassila) Basic Clusters remember the chi2 of the energy reconstruction of individual crystals from time frames. The crystal's chi2 are energy weighted to give the BasicCluster chi2. EGC block ---------- objects EgammaCluster (EgammaClusters package) variables filled are defined in HEgammaCluster (EgammaClusters package) role in software: these are the "seeds" of superclusters (i.e. reconstructed electrons and photons). The reconstruction of these objects is done in package EgammaBasicClusters. Module EgammaBasicReco (inherits from COBRA classes so it's invoked at execution time) queries for objects reconstructed by "EGCluster" algorithm version "1.0", which would trigger the reconstruction. The algorithm's module is in the same package, and is called EGClusterRecAlgo (inherits from EgammaHAnalyzer, EgammaAnalysis package, which all algorithms inherit from. It is set up in a way that all reconstructed objects automatically get histogrammed) The algorithm itself is called EGSCSeedGenerator and it works with EgammaBasicClusters. It lives in EgammaClusters package. All EgammaCluster's are copies of EgammaBasicCluster's, with many shape variables calculated. In barrel, only "hybrid" clusters are taken, in endcap - only "island" clusters. The purpose is to prepare for finding "super-clusters". (a.k.a. "brem recovery") It has one configurable parameter "EGSCSeedGenerator:EtCut" which determines the minimum transverse energy that an EgammaBasicCluster must have to make an EgammaCluster. Its default value is 4.0 GeV HoE (i.e. "hadronicity") is calculated for EgammaClusters (HoeCalculator in EgammaClusters package). The algorithm finds the highest energy crystal, and then adds cell energies in all hadronic layers behind it. As far as I can tell, only one hadronic tower ever enters into HoE calculation. Also, shape variables are calculated, cee, cep and cpp. Disc1, Disc2 and Disc3 are placeholders for pi0 discriminators. EGSC block ---------- objects EgammaSuperCluster (ClusterTools package) variables are defined in HEgammaSuperCluster (ClusterTools package) role in software: those are fully reconstructed clusters in EM calorimeter. This is final for the barrel, for endcap preshower clusters are also added (see EgammaEndcapCluster in EEC block below) The reconstructions of these objects is done in package EgammaSuperClusters. Module EgammaReco (inherits from COBRA classes so it's invoked at execution time) queries for objects reconstructed by "EGSCluster" algorithm version "1.0", which would trigger the reconstruction. The algorithm's module is in the same package, and is called EGSuperClusterRecAlgo (inherits from EgammaHAnalyzer, EgammaAnalysis package, which all algorithms inherit from. It is set up in a way that all reconstructed objects automatically get histogrammed). The algorithm itself is called EgammaBremRecovery. It lives in ClusterTools package. It uses both EgammaCluster and EgammaBasicCluster, and lives in ClusterTools. EgammaClusters are taken as seeds, and adds all EgammaBasicClusters that are close in eta-phi. If the EgammaCluster has been produced by "island" algorithm, "close" means that |eta(seed)-eta(cluster)|