Phase 2 Tracker Clusterizer

Phase2TrackerCluster data format

A new data format for the Phase2 Clusters has been implemented. The code is located in the DataFormat /Phase2TrackerCluster package (see

Each cluster is described by three properties:

  • firstDigi is a Phase2TrackerDigi instance that refers to the first digi that is hit in the cluster;
  • size is the size of the cluster;
  • threshold is a flag that is set if the cluster passed a defined threshold (compressed in the same variable as size).
Multiple functions are implemented to access those properties:
  • firstDigi() returns the Phase2TrackerDigi instance of the cluster;
  • firstRow() returns the first row of the cluster;
  • firstStrip() returns the first strip of the cluster (equivalent to firstRow());
  • column() returns the columns of the cluster;
  • edge() returns the edge of the cluster (equivalent to column());
  • size() returns the size of the cluster;
  • threshold() returns the threshold flag;
  • center() returns the center of the cluster along the strips;
  • barycenter() returns a std::pair that holds the barycenter of the cluster.

Installation of the package

The code for the phase2 clusterizer is available in CMSSW_6_2_0_SLHC25_patch1 or greater.

Use the package

To get an example of how to use the package run: --what upgrade -l 10800

or use the following cmsDriver command to use the correct geometry and workflow (taken from the files produced by the command above): step3 --conditions auto:upgradePLS3 -n 10 --eventcontent FEVTDEBUGHLT,DQM -s RAW2DIGI,L1Reco,RECO,VALIDATION,DQM --datatier GEN-SIM-RECO,DQMIO --customise SLHCUpgradeSimulations/Configuration/combinedCustoms.cust_2023Muondev --geometry Extended2023Muondev,Extended2023MuondevReco --magField 38T_PostLS1 --filein file:step2.root --fileout file:step3.root

Contents of the package

The package holds:

  • the algorithm for the clusterization (plugin & src folders)
  • a validation tool : test/

Clusterization algorithm

The Phase2 Clusterizer focuses on the PS and 2S modules and clusterizes the hits in only one direction (along the small side of the pixels/strips). This means that for the Pixel modules, hits that are spread over two rows will create two clusters.

Here is a brief description of the algorithm:

  1. The clusterizer looks at each module separatly and maps the digis on a 2D matrix.
  2. It then loops over each row. When it finds a hit it start a new cluster.
  3. The following adjacent hits are added to the cluster until the maximum width is reach of no more hits are present. (no inefficiencies or missing hits are introduced at the time)
  4. If the maximum width is reached a new cluster is started.
  5. Once the whole module is clusterized, if a maximum number of clusters per module is specified, some clusters are dropped (the last ones produced).
  6. If the user asked to produce simlinks between the clusters and the SimTracks, a function performs the association.
The clusterizer takes 4 parameters as input:
  • src - the input Digi collection;
  • maxClusterSize - the maximum width of a cluster. If the cluster is larger, it will be split in two. By default this paramter is equal to 8. Put it to -1 to ignore;
  • maxNumberClusters - the maximum number of clusters per module. Default value of -1 to ignore any limits;
  • clusterSimLink - tells the algorithm to create a link between the clusters and the SimTracks.

Use the phase2 clusters

The phase2 clusterizer produces a collection of Phase2TrackerCluster called siPhase2Clusters. It contains all the clusters for the PS and 2S modules and can be used exactly like the siPixelClusters collection of the old clusterizer.

Validation tool

A validation tool is present in the Phase2Clusterizer package. To use it, copy and modify the following file: SimTracker/SiPhase2Digitizer/test/

This script will generate a cluster_validation.root file which contains various histograms for each layer:

  • Number of clusters for the Pixels and Strips modules
  • Cluster size for the Pixels and Strips modules
  • Distribution of the clusters
  • ...


The new clusterizer cannot be fully integrated in the workflow chain yet. Indeed, some package require the presence of SiPixelCluster collections (old clusterizer) and do not offer the possibility to change the input paramter. Therefore, the old and new clusterizer run in parallel. The new clusterizer will only produce clusters for the PS and 2S modules, while the old one will clusterizer the whole tracker. Thus, one should be careful when using the cluster collections.

-- ThomasLenzi - 17 Sep 2014

Edit | Attach | Watch | Print version | History: r12 < r11 < r10 < r9 < r8 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r12 - 2015-03-24 - ThomasLenzi
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    CMSPublic All webs login

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