1 / 15

A clustering algorithm for a generalised calorimeter

A clustering algorithm for a generalised calorimeter. Chris Ainsley University of Cambridge <ainsley@hep.phy.cam.ac.uk>. LC Simulation Workshop 9 - 10 December 2004, DESY, Germany. Order of service. Layer-by-layer approach to clustering. Separation of nearby charged/neutral clusters.

beant
Download Presentation

A clustering algorithm for a generalised calorimeter

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A clustering algorithm for a generalised calorimeter Chris Ainsley University of Cambridge <ainsley@hep.phy.cam.ac.uk> LC Simulation Workshop 9-10 December 2004, DESY, Germany

  2. Order of service • Layer-by-layer approach to clustering. • Separation of nearby charged/neutral clusters. • Application to a generalised calorimeter. • Clustering a Z event in the full CALICE calorimeter. • Coding in the LCIO framework. • Summary. LC Simulation Workshop 9-10 December 2004, DESY, Germany

  3. Layer-by-layer clustering: the algorithm • Form clusters by tracking closely-related hits (> 1/3 mip) layer-by-layer through calorimeter: • for a given hit j in a given layer l, minimize the distance d w.r.t all hits k in layer l-1; • if d < dist_max_ecal (Ecal) or dist_max_hcal (Hcal) for minimum d, assign hit j to same cluster as hit k which yields minimum; • if not, repeat with all hits in layer l-2, then, if necessary, layer l-3, etc., right through to first layer of Ecal; • after iterating over all hits j, seed new clusters with those still unassigned, grouping those within prox_seed_max into same seed; • if in Ecal, calculate weighted centre of each cluster’s hits in layer l (weight by energy (analogue) or density (digital)) and assign a direction cosine to each hit along the line joining its cluster’s centre in the seed layer (or (0,0,0) if it’s a seed) to its cluster’s centre in layer l; • if in Hcal, assign a direction cosine to each hit along the line from the hit to which each is linked (or (0,0,0) if it’s a seed) to the hit itself; • try to recover backward-spiralling track-like, and low multiplicity ‘halo’, cluster fragments … LC Simulation Workshop 9-10 December 2004, DESY, Germany

  4. 5 GeV + event at 3 cm separation Reconstructed clusters True particle clusters • Cell-size = 1×1 cm2 (Si/W Ecal; RPC Hcal). • dist_max_ecal = 2.0 cm; dist_max_hcal = 3.0 cm. • 98 % of event energy maps black black (+) and redred() . LC Simulation Workshop 9-10 December 2004, DESY, Germany

  5. Same event, different clustering cuts Reconstructed clusters True particle clusters • dist_max_ecal = 3.0 cm; dist_max_hcal = 1.0 cm. • Now 78 % of event energy maps blackred()and red black (+). • 22 % “confusion”. LC Simulation Workshop 9-10 December 2004, DESY, Germany

  6. Layer-by-layer clustering in a generalised detector • Approach requires layer index to vary smoothly: e.g. in TESLA detector, index changes abruptly • at stave boundaries in Ecal barrel (layers overlap at 45°); • at barrel/endcap boundaries in Ecal & Hcal (layers overlap at 90°). • To apply layer-by-layer clustering, need a scheme to overcome this. • Achieved by replacing layer index with pseudolayer index in regions where layer index discontinuities occur. • Same-pseudolayer indexed hits defined by closed shells of octagonal prisms coaxial with z-axis. • Simple extension to cope with any arbitrary n-fold rotationally-symmetric, layered calorimeter: octagonal prisms → n-polygonal prisms. • Locations/orientations of shells automatically set by locations/orientations of real, physical, sensitive layers. • Just takes n and layer-spacings in barrel and endcaps as input. LC Simulation Workshop 9-10 December 2004, DESY, Germany

  7. How the generalised detector shapes up Transverse section Longitudinal section • Solid blue lines aligned along real, physical, sensitive layers. • Dot-dashed magenta lines bound shell containing hits with same pseudolayer index, l. • Pseudostavesautomatically encoded by specifying n, f1 and Rl and Zl( l). LC Simulation Workshop 9-10 December 2004, DESY, Germany

  8. 91 GeV Z → u,d,s jets event Reconstructed clusters True particle clusters • Reconstruction in full detector (Si/W Ecal; RPC Hcal). • dist_max_ecal = 2.0 cm; dist_max_hcal = 3.0 cm. • Good 1:1 correspondence between reconstructed and true clusters (5 highest energy clusters shown). LC Simulation Workshop 9-10 December 2004, DESY, Germany

  9. Modules to do the reconstruction: CalorimeterConfig.cc → (re)defines calorimeter layer positions; HitToCell.cc → merges same-cell hits; CellToStore.cc → stores cells above energy threshold; StoreCalibration.cc → calibrates the stored cell energies; StoreToStoreOrdered.cc → ranks stored cells by weight in each pseudolayer (in preparation for clustering); StoreOrderedToCluster1.cc → does the coarse cluster reconstruction; Cluster1ToCluster2.cc → attempts matching of backward-spiralling track-like cluster fragments onto forward-propagating parent clusters; Cluster2ToCluster3.cc → attempts to reunite low multiplicity “halo’ cluster fragments with parent clusters. Additional module to access MC truth: StoreOrderedToMCParticle.cc → forms the true clusters. Plotting modules: ClusterToClusterOrdered.cc → ranks reconstructed clusters by energy in each pseudostave (in preparation for plotting); PlotRecoClusters.cc → plots reconstructed clusters colour-correlated with energy-rank in pseudostave; MCParticleToMCParticleOrdered.cc → ranks true clusters by energy in each pseudostave (in preparation for plotting); PlotTrueClusters.cc → plots true clusters colour-correlated with energy-rank in pseudostave; PlotPerformance.cc → plots the distribution of energy between true and reconstructed clusters. Clustering in LCIO: a modular approach LC Simulation Workshop 9-10 December 2004, DESY, Germany

  10. Modifying the detector • Given detector configuration, clustering governed by global constants set in header file LCIOFrameSteer.h  ‘tweaks’ go in here. • Layer positions fed in through CalorimeterConfig.cc. • To apply algorithm to new detector designs, just need to modify these two files. • Let’s see how … LC Simulation Workshop 9-10 December 2004, DESY, Germany

  11. Set the detector parameters: constintnlayers_ecal = 40; // number of Ecal (pseudo)layers constintnlayers_hcal = 40; // number of Hcal (pseudo)layers constintnpseudostaves_barrel = 8; // degree of rotational symmetry of barrel constdoublephi_1 = M_PI/2.; // azimuthal angle of first barrel (pseudo)stave Set the Ecal type: conststringecal = “siw”; // “siw” => Si/W Ecal // “maps” => MAPS Ecal Set the Hcal type: conststringhcal = “rpc”; // “rpc” => Fe/RPC Hcal // “scint” => Fe/scintillator Hcal Set the mode of operation: conststringmode = “a/d”; // “a/a” => analogue Ecal / analogue Hcal // “a/d” => analogue Ecal / digital Hcal // “d/a” => digital Ecal / analogue Hcal // “d/d” => digital Ecal / digital Hcal Set the clustering cuts: constdoubledist_max_ecal = 20.0 ; // mm // maximum “d” for cluster continuity across Ecal // layers constdoubledist_max_hcal = 30.0 ; // mm // maximum “d” for cluster continuity across Hcal // layers constdoubleprox_seed_max = 20.0 ; // mm // maximum radius of new cluster seed constdoubleprox_merge_max = 20.0; // mm // maximum proximity for backward-spiralling track- // matching constdoublecos_gamma_max = 0.25; // minimum angle between direction cosines for // backward-spiralling track-matching constintcluster_size_min = 10; // maximum cluster size to be considered “halo’ constdoubletan_beta_max = 6.0; // maximum angle for ‘halo’ recovery Snippets of code from LCIOFrameSteer.h LC Simulation Workshop 9-10 December 2004, DESY, Germany

  12. Set the layer positions in the r- and z-directions (e.g. TESLA TDR design): // Create collections for the r and z layers LCCollectionVec* siteOfRLayerVec = new LCCollectionVec(LCIO::LCFLOATVEC); LCCollectionVec* siteOfZLayerVec = new LCCollectionVec(LCIO::LCFLOATVEC); // Fill the collections with their positions for (int l=0; l<=1+nlayers_ecal+nlayers_hcal; l++) { LCFloatVec* siteOfRLayer = new LCFloatVec; LCFloatVec* siteOfZLayer = new LCFloatVec; if (l<=30) { // layers 1-30 (Ecal) + layer 0 siteOfRLayer->push_back(1698.85+(3.9* l)); siteOfZLayer->push_back(2831.10+(3.9* l)); } else if (l >30 && l<=nlayers_ecal) { // 31-40 (Ecal) siteOfRLayer->push_back(1815.85+(6.7* (l -30))); siteOfZLayer->push_back(2948.10+(6.7* (l -30))); } else { // layers 41-80 (Hcal) + layer 81 siteOfRLayer->push_back(1931.25+(24.5* (l -41))); siteOfZLayer->push_back(3039.25+(24.5* (l -41))); } siteOfRLayerVec->push_back(siteOfRLayer); siteOfZLayerVec->push_back(siteOfZLayer); } // And save the collections evt->addCollection(siteOfRLayerVec,"site_rlayers"); evt->addCollection(siteOfZLayerVec, "site_zlayers"); Snippets of code from CalorimeterConfig.cc LC Simulation Workshop 9-10 December 2004, DESY, Germany

  13. Summary & outlook • R&D on clustering algorithm for generalised calorimeter on-going. • Approach utilizes the high granularity of the calorimeter cells to “track” clusters (pseudo)layer-by-(pseudo)layer. • Pseudolayer concept  flexibility to cope with alternative layered geometries without having to recode algorithm itself. • Applicable to any (likely) detector design comprising an n-fold rotationally symmetric barrel closed by endcaps → just to specify need n and layer-spacings. • Written in C++; LCIO (v1.3) compliant; modularised  input parameters kept distinct from reconstruction. • Will aim to make code publicly available soon. LC Simulation Workshop 9-10 December 2004, DESY, Germany

  14. The end That’s all folks… LC Simulation Workshop 9-10 December 2004, DESY, Germany

  15. Cluster-tracking between pseudolayers From the pseudobarrel From the pseudoendcap LC Simulation Workshop 9-10 December 2004, DESY, Germany

More Related