How to exclude sensors from the pattern recognition and how to use the VELO as a beam telescope.

DISCLAIMER: PatVeloFilterClusters does not remove sensors from PR but only clears clusters from the selected sensors. However, sensors are still present in the pattern recognition. This may be VERY important for the interpretation of results. (Tomas)

This article describes how to exclude sensors from the pattern recognition using the component PatVeloFilterClusters in the Pat/PatVelo package. The clusters in the excluded sensors will not be used in the pattern recognition but they will remain in the TES. The algorithm works with both the "default LHCb pattern recognition" and the generic track pattern recognition (PatVeloGeneric).


Make sure that you have a local version of PatVelo that includes PatVeloFilterClusters (v2r3 head or later). If not, getpack it! Recompile Brunel to make sure that everything works properly.


To use PatVeloFilterClusters you need to put it right after PatVeloLoadClusters in the Brunel run sequence.

The first step is therefore to locate in which options file you call PatVeloLoadClusters. If you can't find the options file in your Brunel options directory it's probably becuase it's called from Reco.opts, which is located somewhere else. If this is the case, look in your Brunel.opts file for the location of Reco.opts, and copy it to your local options directory. You also need to change the location of Reco.opts in the #include statement of Brunel.opts.

The next step is to edit Reco.opts (or whatever options file you are using to call PatVelo). Find the line where PatVeloLoadClusters is called and add PatVeloFilterClusters after it.

Before we continue it might be a good idea to make a test run with Brunel and verify that PatVeloFilterClusters actually is called.

If this works, the rest is very simple! The first step is to add the line

PatVeloFilterClusters.FilterSensors={i,j,k ... ,x,y,z};

to your main options file, where i,j,k etc are the sensor numbers you wish to exclude. To remove a module you have to enter the numbers i,i+64 where i is the module number. For example, if you want to exclude module 5 and sensor 95 the line should look like this:


Using PatVeloFilterClusters together with VeloTrackDataMonitor

The main purpose of PatVeloFilterClusters is to allow us to use parts of the VELO as a telescope, and study the cluster-track correlations in the sensors that where not included in the pattern recognition. VeloTrackDataMonitor provides histograms for the study of cluster-track correlations but the algorithm needs to be provided with information about which sensors that have been excluded. This is done with the option TestSensors:


This feature is only available in VeloTrackDataMonitor v1r4 and higher. If you are running Vetra v2r2 you need to check out v1r4 from CVS. For Vetra versions later than v2r2 this will not be necessary.

Adding fiducial cuts

The problem with excluding sensors from the pattern recognition is that you can end up in siutations where your track that points through a sensor with more than one cluster. In such cases, only one of the clusters in that sensor can be associated with the track. If we plot the residual between the track intercept point and all the clusters in our sensor we will end up with a lot of combinatorial background. To avoid this we can introduce fiducial cuts to select which clusters are interesting to look at. As a default, the track monitor code at the moment (v1r3) only provides a check if the track intercepts the active area of the sensor or not. For low cluster multiplicity scenarios like a testbeam this is probably enough, but if you want to add more cuts I suggest that you have a look in the method trackMonitor() in VeloTrackDataMonitor.cpp and add your own fiducial cuts. There are comments in the code to indicate where to add them.

-- Aras Papadelis - 17 July 2006

Edit | Attach | Watch | Print version | History: r5 < r4 < r3 < r2 < r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r5 - 2006-09-01 - TomasLastovicka
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    LHCb All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2023 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback