Difference: LHCbSTEmulator (9 vs. 10)

Revision 102009-01-20 - AnneKeune

Line: 1 to 1
 
META TOPICPARENT name="LHCbST"

The ST TELL1 Emulator

Changed:
<
<
This page contains information about the ST TELL1 Emulator and how to use it within the new Vetra release v6r1. The current version of the emulator used is ST/STTELL1Algorithms v3r2. Information on how to run the old Emulator (v2r1, using jobOptions or local Database and without 2nd order header correction) can be found here.
>
>
This page contains information about the ST TELL1 Emulator and how to use it within the Vetra environment (v6r2 and up). The current version of the emulator used is ST/STTELL1Algorithms v3r4. Information on how to run the old Emulator (v2r1, using jobOptions or local Database and without 2nd order header correction) can be found here.
  The packages used by the Emulator are:
Changed:
<
<
  • ST/STTELL1Algorithms (v3r2)
  • Tell1/TELL1Engine (v1r4)
  • DAQ/Tell1Kernel (v1r4)
>
>
  • ST/STTELL1Algorithms (v3r4)
  • Tell1/TELL1Engine (v2r0)
  • DAQ/Tell1Kernel (v1r5)
 
Changed:
<
<
The Emulator is included in the new Vetra release v6r1, thus there is no need anymore to install these packages locally. We can run the
>
>
The Emulator is included in the Vetra release, thus there is no need to install these packages locally. We can run the
 Emulator within the Vetra environment.
Changed:
<
<
STTELL1Algorithms contains the following 3 algorithms:
>
>
STTELL1Algorithms contains the following 4 algorithms:
 
  • Pedestal Subtraction (Including Pedestal Update and Header Correction)
  • Common Mode Suppression
  • Zero Suppression
Added:
>
>
  • Monitoring
 
Changed:
<
<
These algorithms function as a wrapping around the C-code written processes (supplied by Guido), which can be found in the TELL1Engine package. STTELL1Algorithms is the only package which is specific to the ST. Both TELL1Engine and Tell1Kernel are also used by the Velo.
>
>
The first three algorithms function as a wrapping around the C-code written processes (supplied by Guido), which can be found in the TELL1Engine package. STTELL1Algorithms is the only package which is specific to the ST. Both TELL1Engine and Tell1Kernel are also used by the Velo.
  Before running the Emulator the raw data must be decoded. This is done using the STFullDecoding algorithm (ST/STOnline). To run the Emulator add the following lines to the options file:
Line: 32 to 33
  Another important algorithm is "RawBanktoSTClusterAlg" (ST/STDAQ). With this algorithm clusters are decoded. To compare TELL1 clusters with Emulator clusters, this algorithm needs to be run twice. Once to decode the clusters in the ZS bank and once to decode the clusters created by the ClusterMaker of the Emulator. For the second, the rawEventLocation needs to be set to "Emu/RawEvent" and as output location you can set the clusterLocation to "Emu/IT/Clusters".
Added:
>
>
Only after this the Monitoring can be run. The monitoring is generally used as a debugging tool. It dumps all information on clusters, but if you like also NZS information etc, in a large TTree. If you choose also to monitor the NZS information, you should put the output in a /tmp location. Here follow the options which can be set.
 

Job Options

The jobOptions which can be set in the Emulator are:
Changed:
<
<
STTELL1PedestalSubtractor STTELL1LCMS STTELL1ClusterMaker
InputDataLoc
(STTELL1DataLocation::TTFull)

OutputDataLoc (STTELL1DataLocation::TTPedSubADCs)
SubPedsLoc (STTELL1DataLocation::TTSubPeds)
ReadoutTool ("TTReadoutTool")
DetType ("TT")
CondPath ("CondDB")
InputDataLoc (STTELL1DataLocation::TTPedSubADCs)
OutputDataLoc (STTELL1DataLocation::TTLCMSADCs)


ReadoutTool ("TTReadoutTool")
DetType ("TT")
CondPath ("CondDB")
ConvergenceLimit (0)
InputDataLoc (STTELL1DataLocation::TTLCMSADCs)




ReadoutTool ("TTReadoutTool")
DetType ("TT")
CondPath ("CondDB")
ConvergenceLimit (0)
>
>
STTELL1PedestalSubtractor STTELL1LCMS STTELL1ClusterMaker STTELL1Monitoring
InputDataLoc
(STTELL1DataLocation::TTFull)
OutputDataLoc
(STTELL1DataLocation::TTPedSubADCs)
SubPedsLoc
(STTELL1DataLocation::TTSubPeds)
TELL1PedestalBankLoc
(STTELL1DataLocation::TTPedestal)
DetType ("TT")
CondPath ("CondDB")
UseTELL1PedestalBank (false)
InputDataLoc
(STTELL1DataLocation::TTPedSubADCs)
OutputDataLoc
(STTELL1DataLocation::TTLCMSADCs)




DetType ("TT")
CondPath ("CondDB")

ConvergenceLimit (0)
InputDataLoc (STTELL1DataLocation::TTLCMSADCs)






DetType ("TT")
CondPath ("CondDB")

ConvergenceLimit (0)








DetType ("TT")
CondPath ("CondDB")

ConvergenceLimit (0)
RootName ("tree.root")
MCTruth (false)
IncludeZS (true)
IncludeNZS (false)
  The ConvergenceLimit is the number of events used to calculate a good pedestal. For these events only the Pedestal Subtraction algorithm will run. Only when the ConvergenceLimit is reached will the CMS and the ClusterMaker run. (Example: If a strip is off, i.e. it always has ADC 0 and we start with subtracting the default value of 128 (see next section), then it takes the Pedestal Update about 12000 events to get the pedestal to the right value of 0.)
Line: 64 to 67
 The CMS Thresholds per strip are set in the CMS_threshold vector.

STTELL1ClusterMaker
Changed:
<
<
Hit_threshold, size:3072
Confirmation_threshold, size:48
SpillOver_threshold, size: 48
PP_max_clusters
ZS_enable
>
>
Hit_threshold, size:3072
Confirmation_threshold, size:48
SpillOver_threshold, size: 48
PP_max_clusters
ZS_enable
Disable_beetles_0_11, size:12
Disable_beetles_12_23, size:12
Disable_links_per_beetle_0_11, size:12
Disable_links_per_beetle_12_23, size:12
 
Changed:
<
<
To enable the ZS process set ZS_enable to 1. There are three thresholds used in the ZS process: The Hit_threshold is per individual strip and thus the charge of each strip in a cluster needs to exceed this threshold. The total charge of the cluster needs to exceed the Confirmation_threshold. When the total charge of the clusters is higher than the SpillOver_threshold the SpillOver bit is set. Both Confirmation_threshold as SpillOver_threshold can be set per processing channel (64 strips), but clusters are searched for per beetle (128 strips).
>
>
To enable the ZS process set ZS_enable to 1. There are three thresholds used in the ZS process: The Hit_threshold is per individual strip and thus the charge of each strip in a cluster needs to exceed this threshold. The total charge of the cluster needs to exceed the Confirmation_threshold. When the total charge of the clusters is higher than the SpillOver_threshold the SpillOver bit is set. Both Confirmation_threshold as SpillOver_threshold can be set per processing channel (64 strips), but clusters are searched for per beetle (128 strips). The 'Disable_beetles' are simply set with either 1 or 0. However, the 'Disable_links_per_beetle' needs a number between 0 (no links disabled) and F (all links disabled).
 

Setting up the Conditions Database

Changed:
<
<
In order to use the database, Vetra v6r1 needs to be installed: getpack Tell1/Vetra v6r1.
>
>
In order to use the database, Vetra v6r3 needs to be installed: getpack Tell1/Vetra v6r3.
 There are 2 steps we need to take. First, we need to create our own file with configuration parameters. This is done by going to the python folder and running:
 
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