Pixel Primary Vertex Finding and Tagging

Complete: 5

Contents

Algorithm description

The primary vertex finder algorithm that uses just the pixel detectors' information to find a fast vertex in the z-dimension is documented in CMS Note 2006/026. The algorithm is very quick, so is used in the HLT. The currently implemented algorithm is the so-called "divisive method."

The algorithm proceeds in three stages:

  1. pixel triplets are formed
  2. tracks are formed from the triplets
  3. the tracks are clustered together based on their z0 at the point of closest approach, and vertexes are formed.
  4. the vertexes are sorted (in decreasing order) according to sum of p_T^2 of tracks contributing to vertex
The result is a collection of vertices with attached tracks. The first vertex in the collection is tagged as the primary vertex of the event (ie the one with the largest sum p_T^2).

Contact persons

This code was ported from ORCA by Aaron Dominguez and Carl Lundstedt of the University of Nebraska -- Lincoln. You should contact them if you have questions. The ORCA code was originally written by Susanna Cucciarelli, Marcin Konecki, Danek Kotlinski and Teddy Todorov.

Modules and Default config files

The modules to put into your path are pixelTracks to produce the PixelTracks and pixelVertices to produce the vertexes.

After you checkout the code, in RecoPixelVertexing/PixelVertexFinding/python and RecoPixelVertexing/PixelTrackFitting/python you will find the default config files.

If you include these in your main config file, you will get pixel standalone tracks and vertexes in your event record.

  • PixelTracks_cff.py and PixelTracks_cfi.py : Runs pixel standalone tracking, puts a track collection into the event with a label "pixelTracks"
  • PixelVertexes_cff.py and PixelVertexes_cfi.py: Runs pixel standalone vertexing using this track collection. Makes a vertex collection with a label "pixelVertices"

Tutorial Instructions for CMSSW_3_3_3:

The fastest way to test PixelVertexFinding in CMSSW_3_3_X is to use standard DQM tools, the same used for Offline Primary Vertex with full tracks. To do this:
scramv1 p CMSSW CMSSW_3_3_3
cd CMSSW_3_3_3/src
eval `scramv1 runtime -csh`
addpkg Validation/RecoB
cd Validation/RecoB/test
In the following we will NOT rerun pixelVertexing, but we will inspect what is in a RECO preprocessed sample (in this case, a 3_3_3 TTbar Relval). You have then to tweak the python dqmPVVertexing_cfg.py to analyze not offline PrimaryVertices, but the pixel ones. This means you have to add to the python
process.pvMonitor.vertexLabel = "pixelVertices"
which switches to the pixel PV. Then, you need to put a relevant RECO sample, as found on DBS. For this tutorial, you can use the file
/store/relval/CMSSW_3_3_3/RelValTTbar/GEN-SIM-RECO/MC_31X_V9-v2/0002/D84DEA71-0CD2-DE11-AB3C-002618943958.root'
which you need to insert in place of the one already there.

At this point, you can run the test

cmsRun dqmPVVertexing_cfg.py
After some time, you will get a root file with a name similar to DQM_V0001_R000000001__POG__BTAG__PV.root You can open it via bare root:
root -l DQM_V0001_R000000001__POG__BTAG__PV.root
new TBrowser
Navigating into the folder hierarchy, you will find a folder named pixelVertices, which contains many plots, a few of them referenced here:

* Number of reconstructed vertices:
Screen_shot_2009-11-23_at_15.57.45.png

  • Number of reconstruced tracks in the candidate PV:
    Screen_shot_2009-11-23_at_15.57.58.png

  • z posiztion of the PV candidate:
    Screen_shot_2009-11-23_at_15.58.27.png


Review status

Reviewer/Editor and Date (copy from screen) Comments
JennyWilliams - 05 Dec 2006 tidied, added completeness bar, responsible/review fields.
AaronDominguez - 11 Jan 2007 Small changes for clarity. 99.9 percent done.
TommasoBoccali - 23 Nov 2009 Update to CMSSW_3_3_X

Responsible: AaronDominiguez
Last reviewed by: AaronDominguez - 14 Dec 2006

Edit | Attach | Watch | Print version | History: r30 < r29 < r28 < r27 < r26 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r30 - 2009-11-23 - TommasoBoccali
 
    • 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