Application of layer-by-layer clustering to a generalised calorimeter Chris Ainsley University of Cambridge General CALICE meeting 14-16 March 2005, NIU,

Slides:



Advertisements
Similar presentations
Use of G EANT 4 in CMS AIHENP’99 Crete, April 1999 Véronique Lefébure CERN EP/CMC.
Advertisements

LC Calorimeter Testbeam Requirements Sufficient data for Energy Flow algorithm development Provide data for calorimeter tracking algorithms  Help setting.
April 19th, 2010Philippe Doublet (LAL) Hadronic showers in the SiW ECAL (with 2008 FNAL data) Philippe Doublet.
PFA-Enhanced Dual Readout Crystal Calorimetry Stephen Magill - ANL Hans Wenzel - FNAL Outline : Motivation Detector Parameters Use of a PFA in Dual Readout.
Particle Flow Template Modular Particle Flow for the ILC Purity/Efficiency-based PFA PFA Module Reconstruction Jet Reconstruction Stephen Magill Argonne.
Testbeam Requirements for LC Calorimetry S. R. Magill for the Calorimetry Working Group Physics/Detector Goals for LC Calorimetry E-flow implications for.
Ties Behnke, Vasiliy Morgunov 1SLAC simulation workshop, May 2003 Pflow in SNARK: the next steps Ties Behnke, SLAC and DESY; Vassilly Morgunov, DESY and.
1Calice-UK Cambridge 9/9/05D.R. Ward David Ward Compare Feb’05 DESY data with Geant4 and Geant3 Monte Carlos. Work in progress – no definitive conclusions.
Some early attempts at PFA Dhiman Chakraborty. LCWS05 Some early attempts at PFA Dhiman Chakraborty2 Introduction Primarily interested in exploring the.
Towards a clustering algorithm for CALICE Chris Ainsley University of Cambridge General CALICE meeting 7-8 December 2004, DESY, Germany.
Marlin-based Algorithm for Geometry- Independent Clustering MAGIC : v01-03 Chris Ainsley (presented by David Ward) 3 rd ECFA ILC Workshop November.
Calice UK Meeting / 10/11/2004 D.R. Ward1 David Ward University of Cambridge Simulation Reconstruction Preparations for test beam UK software work.
A preliminary analysis of the CALICE test beam data Dhiman Chakraborty, NIU for the CALICE Collaboration LCWS07, Hamburg, Germany May 29 - June 3, 2007.
LPC Jet/Met meeting 1/12/2006L. Perera1 Jet/Calorimeter Cluster Energy Corrections – Status Goal: To improve the individual jet energy determination based.
1 Benchmarking the SiD Tim Barklow SLAC Sep 27, 2005.
PFA Development – Definitions and Preparation 0) Generate some events w/G4 in proper format 1)Check Sampling Fractions ECAL, HCAL separately How? Photons,
Cluster finding in CALICE calorimeters Chris Ainsley University of Cambridge, UK General CALICE meeting: simulation/reconstruction session 28  29 June.
Status of calorimeter simulations Mikhail Prokudin, ITEP.
Track Extrapolation/Shower Reconstruction in a Digital HCAL – ANL Approach Steve Magill ANL 1 st step - Track extrapolation thru Cal – substitute for Cal.
Progress with the Development of Energy Flow Algorithms at Argonne José Repond for Steve Kuhlmann and Steve Magill Argonne National Laboratory Linear Collider.
1 Tracking Reconstruction Norman A. Graf SLAC July 19, 2006.
0 Status of Shower Parameterisation code in Athena Andrea Dell’Acqua CERN PH-SFT.
LAV Software Status Emanuele Leonardi – Tommaso Spadaro Photon Veto WG meeting – 2015/03/24.
Summary of Simulation and Reconstruction Shaomin CHEN (Tsinghua University)  Framework and toolkit  Application in ILC detector design Jupiter/Satellites,
A flexible approach to cluster- finding in generic calorimeters of the FLC detector Chris Ainsley University of Cambridge, U.K. 2 nd ECFA Workshop: simulation/reconstruction.
Event Reconstruction in SiD02 with a Dual Readout Calorimeter Detector Geometry EM Calibration Cerenkov/Scintillator Correction Jet Reconstruction Performance.
PFA Template Concept Performance Mip Track and Interaction Point ID Cluster Pointing Algorithm Single Particle Tests of PFA Algorithms S. Magill ANL.
Development of a Particle Flow Algorithms (PFA) at Argonne Presented by Lei Xia ANL - HEP.
Two Density-based Clustering Algorithms L. Xia (ANL) V. Zutshi (NIU)
1 Calorimetry Simulations Norman A. Graf for the SLAC Group January 10, 2003.
Cluster finding in CALICE calorimeters Chris Ainsley University of Cambridge, UK LCWS 04: Simulation (reconstruction) parallel session 20 April 2004, Paris,
Positional and Angular Resolution of the CALICE Pre-Prototype ECAL Hakan Yilmaz.
LCWS06 Bangalore 13/3/06Mark Thomson 1 A Topologic Approach to Particle Flow “PandoraPFA” Mark Thomson University of Cambridge This Talk:  Philosophy.
A Clustering Algorithm for LumiCal Halina Abramowicz, Ronen Ingbir, Sergey Kananov, Aharon Levy, Iftach Sadeh Tel Aviv University DESY Collaboration High.
Interactions of hadrons in the SiW ECAL Towards paper Naomi van der Kolk.
1ECFA/Vienna 16/11/05D.R. Ward David Ward Compare these test beam data with Geant4 and Geant3 Monte Carlos. CALICE has tested an (incomplete) prototype.
05/04/06Predrag Krstonosic - Cambridge True particle flow and performance of recent particle flow algorithms.
PFAs – A Critical Look Where Does (my) SiD PFA go Wrong? S. R. Magill ANL ALCPG 10/04/07.
Bangalore, India1 Performance of GLD Detector Bangalore March 9 th -13 th, 2006 T.Yoshioka (ICEPP) on behalf of the.
13 July 2005 ACFA8 Gamma Finding procedure for Realistic PFA T.Fujikawa(Tohoku Univ.), M-C. Chang(Tohoku Univ.), K.Fujii(KEK), A.Miyamoto(KEK), S.Yamashita(ICEPP),
Photon reconstruction and matching Prokudin Mikhail.
3D Event reconstruction in ArgoNeuT Maddalena Antonello and Ornella Palamara 11 gennaio 20161M.Antonello - INFN, LNGS.
A Comparison Between Different Jet Algorithms for top mass Reconstruction Chris Tevlin University of Manchester (Supervisor - Mike Seymour) Atlas UK top.
1 D.Chakraborty – VLCW'06 – 2006/07/21 PFA reconstruction with directed tree clustering Dhiman Chakraborty for the NICADD/NIU software group Vancouver.
Presented by: Idan Aharoni
Ties Behnke: Event Reconstruction 1Arlington LC workshop, Jan 9-11, 2003 Event Reconstruction Event Reconstruction in the BRAHMS simulation framework:
Individual Particle Reconstruction The PFA Approach to Detector Development for the ILC Steve Magill (ANL) Norman Graf, Ron Cassell (SLAC)
Two-particle separation studies with a clustering algorithm for CALICE Chris Ainsley University of Cambridge CALICE (UK) meeting 10 November 2004, UCL.
Update on Diffractive Dijets Hardeep Bansil University of Birmingham 12/07/2013.
7/13/2005The 8th ACFA Daegu, Korea 1 T.Yoshioka (ICEPP), M-C.Chang(Tohoku), K.Fujii (KEK), T.Fujikawa (Tohoku), A.Miyamoto (KEK), S.Yamashita.
12/20/2006ILC-Sousei Annual KEK1 Particle Flow Algorithm for Full Simulation Study ILC-Sousei Annual KEK Dec. 20 th -22 nd, 2006 Tamaki.
John Marshall, 1 John Marshall, University of Cambridge LCD-WG2, July
ECAL Interaction layer PFA Template Track/CalCluster Association Track extrapolation Mip finding Shower interaction point Shower cluster pointing Shower.
Performance of jets algorithms in ATLAS
Predrag Krstonosic - ILC Valencia
Dual Readout Clustering and Jet Finding
slicPandora: slic + pandoraPFANew
Interactions of hadrons in the Si-W ECAL
Studies with PandoraPFA
Status of ECAL Optimization Study
Individual Particle Reconstruction
EFA/DHCal development at NIU
Marlin-based Algorithm for Geometry-Independent Clustering
Argonne National Laboratory
Detector Optimization using Particle Flow Algorithm
Michele Faucci Giannelli
Steve Magill Steve Kuhlmann ANL/SLAC Motivation
A clustering algorithm for a generalised calorimeter
LC Calorimeter Testbeam Requirements
Sheraton Waikiki Hotel
Presentation transcript:

Application of layer-by-layer clustering to a generalised calorimeter Chris Ainsley University of Cambridge General CALICE meeting March 2005, NIU, De Kalb, IL, USA

Chris Ainsley General CALICE meeting March 2005, NIU, De Kalb, IL, USA 2 Order of service Generalisation of any calorimeter design to cope with a layer-by-layer approach to clustering (recap): –Why generalise the calorimeter? –How can it be done? A layer-by-layer clustering algorithm for a generalised calorimeter: –Description in 3 parts. –Organisation of code. –Straightforward adaptation to alternative geometries. Summary.

Chris Ainsley General CALICE meeting March 2005, NIU, De Kalb, IL, USA 3 Generalising the calorimeter (1) Algorithms for calorimeter clustering exist, but tend to be tied to specific geometries. To compare relative merits of different detector designs, desirable to have an algorithm which requires minimal geometrical information  can depend only upon hit coordinates/energies. Could propagate clusters outwards using hit radii from IP (i.e. place hits on artificial spherical layers)…naturally geometry independent, but does not reflect physical detector layout → calorimeter will not be spherical! Moreover, space will most likely be sampled in planes of layers  would like to preserve the natural layer-indexing in propagating clusters outwards… …however, layers have different orientations in the barrel and the endcaps, as do different barrel staves  complications in ranking hits by layer index. To make use of layer indexing, need to address these in a geometry- independent way.

Chris Ainsley General CALICE meeting March 2005, NIU, De Kalb, IL, USA 4 Generalising the calorimeter (2) Layer index changes discontinuously at barrel/endcap boundary. On crossing, jumps from l to 1 (first Ecal layer). Define a “pseudolayer” index based on projected intersections of physical layers. Index varies smoothly across boundary. Pseudolayer index = layer index, except in overlap region.

Chris Ainsley General CALICE meeting March 2005, NIU, De Kalb, IL, USA 5 Generalising the calorimeter (3) Layer index changes discontinuously at boundary between overlapping barrel staves. On crossing, jumps from l to 1 (first Ecal layer. Again, define “pseudolayer” index from projected intersections of physical layers. Again, index varies smoothly across boundary. Again, pseudolayer index = layer index, except in overlap region.

Chris Ainsley General CALICE meeting March 2005, NIU, De Kalb, IL, USA 6 Generalising the calorimeter (4) For any (likely) geometry, can construct a generalised calorimeter from shells of rotationally-symmetric n-polygonal prisms, coaxial with z-axis. Each shell contains active cells of same pseudolayer index. Locations/orientations of pseudolayers automatically encoded from locations/orientations of physical layers (projected intersections). Only require as inputs: –barrelSymmetry = rotational symmetry of barrel; –phi _ 1 = orientation of barrel w.r.t. x-axis; –distanceToBarrelLayers[ecalLayers+hcalLayers+2] –= layer positions in barrel layers (“ +2 ” to constrain inside edge of first – pseudolayer and outside edge of last pseudolayer); and –distanceToEndcapLayers[ecalLayers+hcalLayers+2] –= layer positions in endcap layers; → as geometry-independent as it’s likely to get, while respecting the natural layer-indexing. Now just need a layer-by-layer clustering algorithm to exploit this…

Chris Ainsley General CALICE meeting March 2005, NIU, De Kalb, IL, USA 7 Clustering: stage 1 Form coarse clusters by tracking closely-related hits (> mipThreshold ) layer-by-layer through calorimeter: –for a candidate hit in a given layer, l, minimize the distance, d, w.r.t all (already clustered) hits in layer l  1; –if d < distMax for minimum d, assign candidate hit to same cluster as hit in layer l  1 which yields minimum; –if not, repeat with all hits in layer l  2, then, if necessary, layer l  3, etc., right through to layer l  layersToTrackBack ; –after iterating over all hits in layer l, seed new clusters with those still unassigned, grouping those within proxSeedMax of highest weighted remaining hit into same seed; –assign a direction cosine to each layer l hit: if in Ecal, calculate weighted centre of each cluster’s hits in layer l (weight by energy (analogue) or density (digital)); 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; –iterate outwards through layers.

Chris Ainsley General CALICE meeting March 2005, NIU, De Kalb, IL, USA 8 Clustering: stage 2 Try to merge backward-spiralling track-like cluster-fragments with the forward propagating clusters to which they belong: –for each hit in the terminating layer, l, of a candidate cluster fragment, calculate the distance, p, to each hit in nearby clusters in the same layer, and the angle, , between their direction cosines; –loop over all pairs of hits; –if, for any pair, both: p < proxMergeMax and cos  < cosGammaMax are satisfied, merge clusters together into one; –iterate over clusters.

Chris Ainsley General CALICE meeting March 2005, NIU, De Kalb, IL, USA 9 Clustering: stage 3 Try to merge low multiplicity cluster “halos” (hit multiplicity < clusterSizeMin ) which just fail the stage 1 cluster- continuation cuts: –for the highest weighted candidate hit in the seed layer, l, of a low multiplicity cluster, minimize the angle, , w.r.t all hits in layer l  1; –if tan  < tanBetaMax for minimum , merge the clusters containing the repsective hits into one; –if not, repeat with all hits in layer l  2, then, if necessary, layer l  3, etc., right through to layer l  layersToTrackBack ; –if still not, repeat above steps with the next highest weighted candidate hit of the low multiplicity cluster in the seed layer, etc.. –if still not, merge the low multiplicity cluster into the nearest cluster in the same layer, provided the two clusters contain hits separated by s < proxMergeMax ; –iterate over clusters.

Chris Ainsley General CALICE meeting March 2005, NIU, De Kalb, IL, USA 10 5 GeV  + event: 3 stages of clustering Clusters: stage 1 One backward-spiralling track and several halo clusters surround principal cluster. Clusters: stage 2Clusters: stage 3 Backward-spiralling track merged with principal cluster. Hal o clusters merged with principal cluster.

Chris Ainsley General CALICE meeting March 2005, NIU, De Kalb, IL, USA GeV Z → u,d,s jets event Reconstructed clusters True particle clusters

Chris Ainsley General CALICE meeting March 2005, NIU, De Kalb, IL, USA 12 How it’s coded in LCIO with MARLIN (1) Code structured as a series of “processors”, (requiring compilation) together with a steering file: my.steer (read at run-time). Processors to do the reconstruction: –CalorimeterConfig.cc → (re)sets calorimeter layer positions; –HitToCell.cc → merges same-cell hits (MC); –CellToStore.cc → stores cells above energy threshold (MC); –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 processor to access MC truth: –StoreOrderedToTrueCluster.cc → forms the true clusters. To apply algorithm to alternative detector designs, just need to modify parameters in CalorimeterConfig.cc and my.steer, then play → quite straightforward. Reconstruction code itself requires no modification. Recompilation necessary only for CalorimeterConfig.cc, and then only if layer positions change. All other detector parameters, and all clustering cuts, set at run-time in my.steer. Let’s see how …

Chris Ainsley General CALICE meeting March 2005, NIU, De Kalb, IL, USA 13 How it’s coded in LCIO with MARLIN (2) Example (section of) code from my.steer (e.g. based on CALICE design; Si/W Ecal, Fe/RPC Hcal): ProcessorType CalorimeterConfig detectorTypefull# detector type ("full" or "prototype") ecalLayers40# number of Ecal layers hcalLayers40# number of Hcal layers barrelSymmetry8# degree of rotational symmetry of barrel phi_190.0# phi offset of first barrel stave w.r.t. x-axis (in deg) ProcessorType CellToStore modea/d# analogue mode ("a") or digital mode ("d") for Ecal/Hcal # ("a/a", "a/d", "d/a" or "d/d") ecalMip # Ecal Mip energy (in GeV) hcalMip # Hcal Mip energy (in GeV) ecalMipThreshold # Ecal Mip threshold (in Mip units) hcalMipThreshold # Hcal Mip threshold (in Mip units) ProcessorType StoreOrderedToCluster1 layersToTrackBack80# number of layers to track back for cluster continuation distMax_ecal20.0# Ecal distance cut for cluster continuation (in mm) distMax_hcal30.0# Hcal distance cut for cluster continuation (in mm) proxSeedMax_ecal20.0# Ecal seed radius cut (in mm) proxSeedMax_hcal20.0# Hcal seed radius cut (in mm) ProcessorType Cluster1ToCluster2 proxMergeMax_ecal20.0# Ecal proximity cut for cluster merging (in mm) proxMergeMax_hcal20.0# Hcal proximity cut for cluster merging (in mm) cosGammaMax0.25# angular cut for cluster merging ProcessorType Cluster2ToCluster3 clusterSizeMin10# minimum cluster size to avert potential cluster merging layersToTrackBack80# number of layers to track back for cluster merging tanBetaMax6.0# angular cut for cluster merging proxSeedMax_ecal400.0# Ecal proximity cut for cluster merging (in mm) proxSeedMax_hcal400.0# Hcal proximity cut for cluster merging (in mm)

Chris Ainsley General CALICE meeting March 2005, NIU, De Kalb, IL, USA 14 How it’s coded in LCIO with MARLIN (3) Example (section of) code from CalorimeterConfig.cc (e.g. based on CALICE design): // Create collections for the barrel and endcap layer positions LCCollectionVec* distanceToBarrelLayersVec = new LCCollectionVec(LCIO::LCFLOATVEC); LCCollectionVec* distanceToEndcapLayersVec = new LCCollectionVec(LCIO::LCFLOATVEC); // Fill the collections with their positions (in mm) for(int l=0; l<=ecalLayers+hcalLayers+1; l++) { LCFloatVec* distanceToBarrelLayers = new LCFloatVec; LCFloatVec* distanceToEndcapLayers = new LCFloatVec; if(detectorType=="full") { // full detector if(l<=30) { // first 30 Ecal layers at a pitch of 3.9 mm (+ layer 0)  edit distanceToBarrelLayers->push_back( (3.9*l));  edit distanceToEndcapLayers->push_back( (3.9*l));  edit }  edit else if(l>30 && l<=ecalLayers) { // last 10 Ecal layers at a pitch of 6.7 mm  edit distanceToBarrelLayers->push_back( (6.7*(l-30)));  edit distanceToEndcapLayers->push_back( (6.7*(l-30)));  edit }  edit else { // 40 Hcal layers at a pitch of 24.5 mm (+ layer 81)  edit distanceToBarrelLayers->push_back( (24.5*(l-41)));  edit distanceToEndcapLayers->push_back( (24.5*(l-41)));  edit }  edit } else if(detectorType=="prototype") { … some more code … } // prototype detector distanceToBarrelLayersVec->push_back(distanceToBarrelLayers); distanceToEndcapLayersVec->push_back(distanceToEndcapLayers); } // And save the collections evt->addCollection(distanceToBarrelLayersVec, "distance _ barrellayers"); evt->addCollection(distanceToEndcapLayersVec, "distance _ endcaplayers");

Chris Ainsley General CALICE meeting March 2005, NIU, De Kalb, IL, USA 15 Summary & outlook Developed a scheme to enable a (pseudo)layer-by-(pseudo)layer clustering procedure to be applied to alternative calorimeter geometries without having to recode the algorithm itself. Straightforwardly applicable to any (likely) detector design comprising an n-fold rotationally symmetric barrel closed by endcaps → just need to specify n, barrel orientation, and layer positions. Proposed such an algorithm that utilizes the high granularity of the calorimeter cells to “track” clusters (pseudo)layer-by-(pseudo)layer outwards (and retrospectively deal with backward-spiralling off-shoots). Coded in C++; LCIO (v1.3) fully compliant → outputs cluster objects with pointers back to component hits and attributes. Code is modularised thanks to MARLIN  input parameters (set at run- time) kept distinct from reconstruction (pre-compiled). Will be publicly releasable pretty soon.

Chris Ainsley General CALICE meeting March 2005, NIU, De Kalb, IL, USA 16 The end That’s all folks…

Chris Ainsley General CALICE meeting March 2005, NIU, De Kalb, IL, USA 17 How the generalised detector shapes up Transverse sectionLongitudinal section Solid blue lines aligned along real, physical, sensitive layers. Dot-dashed magenta lines bound shell containing hits with same pseudolayer index, l. Pseudostaves automatically encoded by specifying n,  1 and R l and Z l (  l).

Chris Ainsley General CALICE meeting March 2005, NIU, De Kalb, IL, USA 18 Cluster-tracking between pseudolayers From the pseudobarrelFrom the pseudoendcap

Chris Ainsley General CALICE meeting March 2005, NIU, De Kalb, IL, USA 19 5 GeV  +  event at 3 cm separation Reconstructed clustersTrue particle clusters Energy calibrated (CALICE D09 detector) according to: E =  [(E Ecal; E Ecal; )/E mip + 20N Hcal ] GeV. Hits map mostly black  black (  + ) and red  red (  ) between reconstructed and true clusters. Fraction of event energy in 1:1 correspondence = = 98 %.

Chris Ainsley General CALICE meeting March 2005, NIU, De Kalb, IL, USA 20 5 GeV  +  event at 5 cm separation Reconstructed clustersTrue particle clusters Energy calibrated (CALICE D09 detector) according to: E =  [(E Ecal; E Ecal; )/E mip + 20N Hcal ] GeV. Hits map mostly black  black (  ) and red  red (  + ) between reconstructed and true clusters. Fraction of event energy in 1:1 correspondence = = 94 %.

Chris Ainsley General CALICE meeting March 2005, NIU, De Kalb, IL, USA 21 Energy calibrated (CALICE D09 detector) according to: E =  [(E Ecal; E Ecal; )/E mip + 20N Hcal ] GeV. Hits map mostly black  black (  + ) and red  red (n) between reconstructed and true clusters. Fraction of event energy in 1:1 correspondence = = 86 %. 5 GeV  + n event at 5 cm separation Reconstructed clustersTrue particle clusters

Chris Ainsley General CALICE meeting March 2005, NIU, De Kalb, IL, USA 22 5 GeV two-particle quality vs separation Goal: to distinguish charged clusters from neutral clusters in calorimeters e.g.  +  /  + n. Propose a figure of merit: Quality = fraction of event energy that maps in a 1:1 ratio between reconstructed and true clusters. Quality improves with separation (naturally).  +  separation at 5 GeV seems to be pretty good;  + n is somewhat tougher (n showers typically have relatively ill-defined shapes).

Chris Ainsley General CALICE meeting March 2005, NIU, De Kalb, IL, USA 23 Calibration of  +,  and n ++++n Energy calibrated (CALICE D09 detector) according to: E =  [(E Ecal; E Ecal; )/E mip + 20N Hcal ] GeV.