Difference: StrippingIsolationTools (1 vs. 16)

Revision 162017-10-13 - JulienCogan

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

Isolation Tools in the LHCb Stripping framework

Line: 141 to 141
 These names must be clear, explanatory and simple. You should check with Anton and Chris before comitting to this package.

To be able to test the new variables after adding them to Phys/DaVinciTypes/Kernel/RelatedInfoNamed.h,

Changed:
<
<
you need to getpack and build Phys/LokiPhys package (or wait for DaVinci nightlies to be ready if running from nightlies).
>
>
you need to getpack and build Phys/LoKiPhys package (or wait for DaVinci nightlies to be ready if running from nightlies).
 This is the package that provides LoKi functor RELINFO and it takes the variable names from Phys/DaVinciTypes/Kernel/RelatedInfoNamed.h.

Testing your isolation tool

Revision 152017-05-22 - MichaelAlexander

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

Isolation Tools in the LHCb Stripping framework

Line: 137 to 137
 } %ENDSYNTAX%
Changed:
<
<
The enumerated types where the information are stored must be added to Phys/DaVinciTypes/Kernel/RelatedInfoMap.h.
>
>
The enumerated types where the information are stored must be added to Phys/DaVinciTypes/Kernel/RelatedInfoNamed.h.
 These names must be clear, explanatory and simple. You should check with Anton and Chris before comitting to this package.
Changed:
<
<
To be able to test the new variables after adding them to Phys/DaVinciTypes/Kernel/RelatedInfoMap.h,
>
>
To be able to test the new variables after adding them to Phys/DaVinciTypes/Kernel/RelatedInfoNamed.h,
 you need to getpack and build Phys/LokiPhys package (or wait for DaVinci nightlies to be ready if running from nightlies).
Changed:
<
<
This is the package that provides LoKi functor RELINFO and it takes the variable names from Phys/DaVinciTypes/Kernel/RelatedInfoMap.h.
>
>
This is the package that provides LoKi functor RELINFO and it takes the variable names from Phys/DaVinciTypes/Kernel/RelatedInfoNamed.h.
 

Testing your isolation tool

Revision 142017-05-05 - MerilReboud

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

Isolation Tools in the LHCb Stripping framework

Line: 51 to 51
 
    • TopSelection is the stripping line selection and the Location parameter stores the info on the B
    • Locations parameter stores the info for the daughter particles and takes selections or locations as input
  • The Location(s) strings are the places on the DST (in the TES) where the information will be stored. These are unique to the Stripping line and are only needed for when you and to read the information out. The information is stored at '/Event/MyStream/Phys/MyLine/MyLocation'
Changed:
<
<
>
>
 

Reading the isolation variables

Revision 132017-01-23 - NiklasStefanNolte

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

Isolation Tools in the LHCb Stripping framework

Line: 69 to 69
 } %ENDSYNTAX%
Changed:
<
<
Note that full TES path is needed for RELINFO, and not the shortened one such as 'Phys/MyLine/MyLocation'.
>
>
Shortened Paths like "Phys/...." can be passed to RELINFO aswell.
 

Developing new isolation variables

Revision 122015-04-21 - AntonPoluektov

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

Isolation Tools in the LHCb Stripping framework

Line: 69 to 69
 } %ENDSYNTAX%
Added:
>
>
Note that full TES path is needed for RELINFO, and not the shortened one such as 'Phys/MyLine/MyLocation'.
 

Developing new isolation variables

The isolation tools are stored in the package, Phys/IsolationTools.

Line: 138 to 140
 The enumerated types where the information are stored must be added to Phys/DaVinciTypes/Kernel/RelatedInfoMap.h. These names must be clear, explanatory and simple. You should check with Anton and Chris before comitting to this package.
Added:
>
>
To be able to test the new variables after adding them to Phys/DaVinciTypes/Kernel/RelatedInfoMap.h, you need to getpack and build Phys/LokiPhys package (or wait for DaVinci nightlies to be ready if running from nightlies). This is the package that provides LoKi functor RELINFO and it takes the variable names from Phys/DaVinciTypes/Kernel/RelatedInfoMap.h.
 

Testing your isolation tool

Revision 112014-09-24 - AlexShires

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

Isolation Tools in the LHCb Stripping framework

Line: 51 to 51
 
    • TopSelection is the stripping line selection and the Location parameter stores the info on the B
    • Locations parameter stores the info for the daughter particles and takes selections or locations as input
  • The Location(s) strings are the places on the DST (in the TES) where the information will be stored. These are unique to the Stripping line and are only needed for when you and to read the information out. The information is stored at '/Event/MyStream/Phys/MyLine/MyLocation'
Added:
>
>
 

Reading the isolation variables

Revision 102014-08-19 - AlexShires

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

Isolation Tools in the LHCb Stripping framework

Line: 15 to 15
 

Requirements:

  • Testing the configuration of the tools: DaVinci v36r0 onwards
Changed:
<
<
  • Testing the reading/writing : DaVinci HEAD (as of 13-08-14)
>
>
  • Testing the reading/writing : DaVinci HEAD (as of 13-08-14) :
SetupProject DaVinci --nightly lhcb-head and SetupProject DaVinci --nightly lhcb-head --build-env
 

Adding isolation variables to your stripping line

Revision 92014-08-13 - AlexShires

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

Isolation Tools in the LHCb Stripping framework

Line: 12 to 12
 Once your isolation algorithms are mature, then you can be confident to implement the algorithm in the stripping. This allows the algorithms to be run and for you candidates, with the additional isolation parameters, to be saved on muDST.
Changed:
<
<
  • Explain 'isolating' and 'non-isolating'!!!
  • Requirements: DaVinci v36r0 and onwards
>
>

Requirements:

  • Testing the configuration of the tools: DaVinci v36r0 onwards
  • Testing the reading/writing : DaVinci HEAD (as of 13-08-14)
 

Adding isolation variables to your stripping line

Line: 21 to 23
 These are configured in the constructor of the StrippingLine, through the RelatedInfoTools parameter:

%SYNTAX{syntax="python"}%

Added:
>
>
StrippingLine( ...
  RelatedInfoTools = [
Changed:
<
<
{. 'Type' : 'RelInfoConeVariables', #This is the tool to run 'ConeAngle' : 1.5, # This is a configurable parameter of the tool 'Variables' : ['CONEANGLE', 'CONEMULT', 'CONEPTASYM'],. #These are the variables to write out 'RecursionLevel' : 1,. # This is how far down the decay chain to run the tool 'Location' : "ConeVariableInfo" # These are the locations where the information will be written },. ] %ENDSYNTAX% and %SYNTAX{syntax="python"}% RelatedInfoTools = [ {. 'Type' : 'RelInfoConeVariables', #This is the tool to run 'ConeAngle' : 1.5, # This is a configurable parameter of the tool 'Variables' : ['CONEANGLE', 'CONEMULT', 'CONEPTASYM'],. #These are the variables to write out 'RecursionLevel' : 1,. # This is how far down the decay chain to run the tool 'Locations' : { # These are the locations where the information will be written selPromptDstar : 'P2CVDstar1',. selD02hhmumu : 'P2CVD1',. "StdAllLoosePions" : 'P2CVpi1' }. },.
>
>
{ 'Type' : 'RelInfoConeVariables', 'ConeAngle' : 0.5, 'Variables' : ['CONEANGLE', 'CONEMULT', 'CONEPTASYM'], 'RecursionLevel' : 1, 'Locations' : { selPromptDstar : 'P2CVDstar2', selD02hhmumu : 'P2CVD2', 'Phys/StdAllNoPIDsPions' : 'P2CVpi2', } }, { 'Type' : 'RelInfoConeVariables', 'ConeAngle' : 0.5, 'Variables' : ['CONEANGLE', 'CONEMULT', 'CONEPTASYM'], 'TopSelection' : selD02hhmumu, 'Location' : 'P2CVD' },
  ]

%ENDSYNTAX%

Line: 53 to 46
 
  • Uses the RelInfoConeVariables tool
  • Calculates the parameters 'CONEANGLE', 'CONEMULT', 'CONEPTASYM'
  • Recursion level of 1 implies that the Tool calculates the variables for the head of the decay chain and the first direct daughters.
Changed:
<
<
  • Location parameter stores the info on the B
  • Locations parameter stores the info for the daughter particles
  • These strings are the places on the DST (in the TES) where the information will be stored. These are unique to the Stripping line and are only needed for when you and to read the information out. The information is stored at '/Event/MyStream/Phys/MyLine/MyLocation'
>
>
  • There are two options for running the RelatedInfo tools
    • TopSelection is the stripping line selection and the Location parameter stores the info on the B
    • Locations parameter stores the info for the daughter particles and takes selections or locations as input
  • The Location(s) strings are the places on the DST (in the TES) where the information will be stored. These are unique to the Stripping line and are only needed for when you and to read the information out. The information is stored at '/Event/MyStream/Phys/MyLine/MyLocation'
 

Reading the isolation variables

Line: 97 to 91
 Example testing script
  • /afs/cern.ch/work/a/ashires/public/Isolation/DVBu2LLKstripping.py
Changed:
<
<

Implementation

>
>

Implementation

  At the moment, there are two implementations in Phys/IsolationTools for you to look at.
  • RelInfoVertexIsolationBDT

Revision 82014-08-13 - PatrickOwen

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

Isolation Tools in the LHCb Stripping framework

Line: 95 to 95
 

Example testing script

Changed:
<
<
  • /afs/cern.ch/work/a/ashires/public/Isolation/DVBu2LLKStripping.py
>
>
  • /afs/cern.ch/work/a/ashires/public/Isolation/DVBu2LLKstripping.py
 

Implementation

Revision 72014-08-08 - AlexShires

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

Isolation Tools in the LHCb Stripping framework

Line: 151 to 151
 
Added:
>
>

Script

<!-- SyntaxHighlightingPlugin -->
# Now build the stream
from StrippingConf.StrippingStream import StrippingStream
stream = StrippingStream("Test")
stream.OutputLevel = 1

# Append your line
from StrippingSelections.StrippingBu2LLK import Bu2LLKConf
from StrippingSelections.StrippingBu2LLK import default_config

import copy
default_config_noiso    = copy.deepcopy(default_config['CONFIG'])
default_config_basiciso = copy.deepcopy(default_config['CONFIG'])
default_config_vtxiso   = copy.deepcopy(default_config['CONFIG'])
default_config_trkiso   = copy.deepcopy(default_config['CONFIG'])

default_config_noiso["RelatedInfoTools"]    = []
default_config_basiciso["RelatedInfoTools"] = [
                                        {'Type': 'RelInfoVertexIsolation'
                                            , 'Location':'VtxIsoInfo' }
                                       , {'Type': 'RelInfoConeVariables'
                                            , 'Location':'ConeIsoInfo' }
                                        ]
default_config_vtxiso["RelatedInfoTools"]   = [
                                        {'Type': 'RelInfoVertexIsolationBDT'
                                            , 'Location':'VtxIsoBDTInfo' }
                                        #{'Type': 'RelInfoConeVariables'
                                        #    , 'Location':'ConeIsoInfo' }
                                        ]
default_config_trkiso["RelatedInfoTools"]   = [
                                            { 'Type': 'RelInfoTrackIsolationBDT'
                                            , 'Locations': { 'StdLooseMuons'
                                                : "MuonTrackIsoBDTInfo" }
                                        #    {'Type': 'RelInfoConeVariables'
                                        #    , 'Location':'ConeIsoInfo' }
                                            }
                                            ]

print default_config_noiso

Bu2LLKBuilder = Bu2LLKConf( name="Bu2LLK", config=default_config_noiso )
Bu2LLKBuilder1 = Bu2LLKConf( name="Bu2LLK_noiso", config=default_config_noiso )
Bu2LLKBuilder2 = Bu2LLKConf( name="Bu2LLK_basicso", config=default_config_basiciso )
Bu2LLKBuilder3 = Bu2LLKConf( name="Bu2LLK_vtxbdtiso", config=default_config_vtxiso )
Bu2LLKBuilder4 = Bu2LLKConf( name="Bu2LLK_trkbdtiso", config=default_config_trkiso )

lines = Bu2LLKBuilder.lines()
lines1 = Bu2LLKBuilder1.lines()
lines2 = Bu2LLKBuilder2.lines()
lines3 = Bu2LLKBuilder3.lines()
lines4 = Bu2LLKBuilder4.lines()

print lines[2].name(), lines2[2].name()
#sublines = [ line for line in Bu2LLKBuilder.lines() if "mm" in line ]
stream.appendLines( ( [lines[2]
        , lines1[2]
        , lines2[2]
        , lines3[2]
        , lines4[2]
        ])  )

sc = StrippingConf( Streams = [ stream ],
                    MaxCandidates = 2000,
                    AcceptBadEvents = False,
                    BadEventSelection = filterBadEvents,
                    TESPrefix = 'Strip'
                    )

DaVinci().appendToMainSequence( [ sc.sequence() ] )
<!-- end SyntaxHighlightingPlugin -->
 -- AlexShires - 22 Jul 2014

Revision 62014-08-07 - AlexShires

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

Isolation Tools in the LHCb Stripping framework

Line: 27 to 27
  'ConeAngle' : 1.5, # This is a configurable parameter of the tool 'Variables' : ['CONEANGLE', 'CONEMULT', 'CONEPTASYM'],. #These are the variables to write out 'RecursionLevel' : 1,. # This is how far down the decay chain to run the tool
Added:
>
>
'Location' : "ConeVariableInfo" # These are the locations where the information will be written },. ] %ENDSYNTAX% and %SYNTAX{syntax="python"}% RelatedInfoTools = [ {. 'Type' : 'RelInfoConeVariables', #This is the tool to run 'ConeAngle' : 1.5, # This is a configurable parameter of the tool 'Variables' : ['CONEANGLE', 'CONEMULT', 'CONEPTASYM'],. #These are the variables to write out 'RecursionLevel' : 1,. # This is how far down the decay chain to run the tool
  'Locations' : { # These are the locations where the information will be written selPromptDstar : 'P2CVDstar1',. selD02hhmumu : 'P2CVD1',.
Line: 40 to 53
 
  • Uses the RelInfoConeVariables tool
  • Calculates the parameters 'CONEANGLE', 'CONEMULT', 'CONEPTASYM'
  • Recursion level of 1 implies that the Tool calculates the variables for the head of the decay chain and the first direct daughters.
Changed:
<
<
  • Locations are the places on the DST (in the TES) where the information will be stored. These are unique to the Stripping line and are only needed for when you and to read the information out.
  • To calculate the information for teh B, use

<!-- SyntaxHighlightingPlugin -->
Location = "Particle2ConeVariablesLocation"
<!-- end SyntaxHighlightingPlugin -->
>
>
  • Location parameter stores the info on the B
  • Locations parameter stores the info for the daughter particles
  • These strings are the places on the DST (in the TES) where the information will be stored. These are unique to the Stripping line and are only needed for when you and to read the information out. The information is stored at '/Event/MyStream/Phys/MyLine/MyLocation'
 

Reading the isolation variables

Line: 59 to 69
 from Configurables import LoKi__Hybrid__TupleTool LoKi_Cone = LoKi__Hybrid__TupleTool( 'LoKi_Cone') LoKi_Cone.Variables = {
Changed:
<
<
"Dstar_CONEANGLE" : "RELINFO('/Event/Bhadron/Phys/MyLine/P2CVDstar1', 'CONEANGLE', -1.)"
>
>
"Dstar_CONEANGLE" : "RELINFO('/Event/MyStream/Phys/MyLine/MyLocation', 'CONEANGLE', -1.)"
 } %ENDSYNTAX%
Line: 74 to 84
 
  • Variables you want to calculate.
  • Code to calculate the variables (should be able to run in a TupleTool beforehand)
Changed:
<
<
Packages for development in DaVinci v35r1:
>
>
Packages for development in DaVinci v36r0:
  %SYNTAX{syntax="bash"}%
Changed:
<
<
Phys/IsolationTools head Phys/DaVinciTools head Phys/MVADictTools head Phys/StrippingConf head Phys/StrippingUtils head Phys/StrippingSelections head Phys/DaVinciTypes head Phys/LoKiTypes head Event/PhysEvent head Kernel/LHCbKernel head TMVAWeights head
>
>
Phys/IsolationTools head #package to add the tools Phys/RelatedInfoTools head #package with examples Phys/DaVinciTypes head #package containing the enums TMVAWeights head #package for the BDT weights files
 %ENDSYNTAX% *

Revision 52014-08-07 - AlexShires

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

Isolation Tools in the LHCb Stripping framework

Line: 13 to 13
 This allows the algorithms to be run and for you candidates, with the additional isolation parameters, to be saved on muDST.

  • Explain 'isolating' and 'non-isolating'!!!
Changed:
<
<
  • Requirements: DaVinci v35r2 and onwards!
>
>
  • Requirements: DaVinci v36r0 and onwards
 

Adding isolation variables to your stripping line

Line: 23 to 23
 %SYNTAX{syntax="python"}% RelatedInfoTools = [ {.
Changed:
<
<
'Type' : 'RelInfoConeVariables', 'ConeAngle' : 1.5, 'Variables' : ['CONEANGLE', 'CONEMULT', 'CONEPTASYM'],. 'RecursionLevel' : 1,. 'Locations' : {
>
>
'Type' : 'RelInfoConeVariables', #This is the tool to run 'ConeAngle' : 1.5, # This is a configurable parameter of the tool 'Variables' : ['CONEANGLE', 'CONEMULT', 'CONEPTASYM'],. #These are the variables to write out 'RecursionLevel' : 1,. # This is how far down the decay chain to run the tool 'Locations' : { # These are the locations where the information will be written
  selPromptDstar : 'P2CVDstar1',. selD02hhmumu : 'P2CVD1',. "StdAllLoosePions" : 'P2CVpi1'
Line: 41 to 41
 
  • Calculates the parameters 'CONEANGLE', 'CONEMULT', 'CONEPTASYM'
  • Recursion level of 1 implies that the Tool calculates the variables for the head of the decay chain and the first direct daughters.
  • Locations are the places on the DST (in the TES) where the information will be stored. These are unique to the Stripping line and are only needed for when you and to read the information out.
Added:
>
>
  • To calculate the information for teh B, use

<!-- SyntaxHighlightingPlugin -->
Location = "Particle2ConeVariablesLocation"
<!-- end SyntaxHighlightingPlugin -->
 

Reading the isolation variables

Line: 51 to 56
 %ENDSYNTAX% e.g. %SYNTAX{syntax="python"}%
Changed:
<
<
RELINFO('/Event/Bhadron/Phys/MyLine/P2CVDstar1', 'CONEANGLE', -1.)
>
>
from Configurables import LoKi__Hybrid__TupleTool LoKi_Cone = LoKi__Hybrid__TupleTool( 'LoKi_Cone') LoKi_Cone.Variables = { "Dstar_CONEANGLE" : "RELINFO('/Event/Bhadron/Phys/MyLine/P2CVDstar1', 'CONEANGLE', -1.)" }
 %ENDSYNTAX%

Developing new isolation variables

Revision 42014-07-29 - AlexShires

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

Isolation Tools in the LHCb Stripping framework

Line: 44 to 44
 

Reading the isolation variables

Changed:
<
<
The additional information stored by the RelatedInfo tools can be red out using the RELINFO loki functor.
>
>
The additional information stored by the RelatedInfo tools can be read out using the RELINFO loki functor.
  %SYNTAX{syntax="python"}% RELINFO('full TES location', 'variable', default_value)

Revision 32014-07-29 - AlexShires

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

Isolation Tools in the LHCb Stripping framework

Line: 13 to 13
 This allows the algorithms to be run and for you candidates, with the additional isolation parameters, to be saved on muDST.

  • Explain 'isolating' and 'non-isolating'!!!
Added:
>
>
  • Requirements: DaVinci v35r2 and onwards!
 

Adding isolation variables to your stripping line

Line: 62 to 65
 
  • Variables you want to calculate.
  • Code to calculate the variables (should be able to run in a TupleTool beforehand)
Added:
>
>
Packages for development in DaVinci v35r1:

<!-- SyntaxHighlightingPlugin -->
Phys/IsolationTools head
Phys/DaVinciTools head
Phys/MVADictTools head
Phys/StrippingConf head
Phys/StrippingUtils head
Phys/StrippingSelections head
Phys/DaVinciTypes head
Phys/LoKiTypes head
Event/PhysEvent head
Kernel/LHCbKernel head
TMVAWeights head
<!-- end SyntaxHighlightingPlugin -->
*

Example testing script

  • /afs/cern.ch/work/a/ashires/public/Isolation/DVBu2LLKStripping.py
 

Implementation

At the moment, there are two implementations in Phys/IsolationTools for you to look at.

Revision 22014-07-25 - AlexShires

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

Isolation Tools in the LHCb Stripping framework

Revision 12014-07-22 - AlexShires

Line: 1 to 1
Added:
>
>
META TOPICPARENT name="StrippingLines"

Isolation Tools in the LHCb Stripping framework

Contents

Introduction

Isolating your signal decay from other tracks in LHCb has been shown to help reject partially reconstructed background decays. Most isolation algorithms require the other tracks in the event, and moving to MicroDST means that the tracks are not retained as part of the event. Once your isolation algorithms are mature, then you can be confident to implement the algorithm in the stripping. This allows the algorithms to be run and for you candidates, with the additional isolation parameters, to be saved on muDST.

  • Explain 'isolating' and 'non-isolating'!!!

Adding isolation variables to your stripping line

These are configured in the constructor of the StrippingLine, through the RelatedInfoTools parameter:

<!-- SyntaxHighlightingPlugin -->
RelatedInfoTools = [
        {.
          'Type' : 'RelInfoConeVariables',
          'ConeAngle' : 1.5,
          'Variables' : ['CONEANGLE', 'CONEMULT', 'CONEPTASYM'],.
          'RecursionLevel' : 1,.
          'Locations' : {
            selPromptDstar : 'P2CVDstar1',.
            selD02hhmumu   : 'P2CVD1',.
            "StdAllLoosePions" : 'P2CVpi1'
          }.
        },.
      ]
<!-- end SyntaxHighlightingPlugin -->

Here, the code configures the isolation variables as follows: * Uses the RelInfoConeVariables tool * Calculates the parameters 'CONEANGLE', 'CONEMULT', 'CONEPTASYM' * Recursion level of 1 implies that the Tool calculates the variables for the head of the decay chain and the first direct daughters. * Locations are the places on the DST (in the TES) where the information will be stored. These are unique to the Stripping line and are only needed for when you and to read the information out.

Reading the isolation variables

The additional information stored by the RelatedInfo tools can be red out using the RELINFO loki functor.

<!-- SyntaxHighlightingPlugin -->
RELINFO('full TES location', 'variable', default_value)
<!-- end SyntaxHighlightingPlugin -->
e.g.
<!-- SyntaxHighlightingPlugin -->
RELINFO('/Event/Bhadron/Phys/MyLine/P2CVDstar1', 'CONEANGLE', -1.)
<!-- end SyntaxHighlightingPlugin -->

Developing new isolation variables

The isolation tools are stored in the package, Phys/IsolationTools.

Requirements

The requirements you need to write an Isolation tool are the following

* Variables you want to calculate. * Code to calculate the variables (should be able to run in a TupleTool beforehand)

Implementation

At the moment, there are two implementations in Phys/IsolationTools for you to look at. * RelInfoVertexIsolationBDT * RelInfoTrackIsolationBDT

in Phys/DaVinciTools, there are the tools

  • RelInfoConeVariables
  • RelInfoVertexIsolation

The relevant bits of code that you need to port across are

<!-- SyntaxHighlightingPlugin -->
m_map.clear();

    std::vector<short int>::const_iterator ikey;
    for (ikey = m_keys.begin(); ikey != m_keys.end(); ikey++) {

        float value = 0;
        switch (*ikey) {
            case RelatedInfoNamed::VTXISOBDTHARDFIRSTVALUE : value = m_bdt1; break;
            case RelatedInfoNamed::VTXISOBDTHARDSECONDVALUE  : value = m_bdt2; break;
            case RelatedInfoNamed::VTXISOBDTHARDTHIRDVALUE   : value = m_bdt3; break;
            case RelatedInfoNamed::VTXISOBDTSOFTFIRSTVALUE : value = m_bdt1; break;
            case RelatedInfoNamed::VTXISOBDTSOFTSECONDVALUE  : value = m_bdt2; break;
            case RelatedInfoNamed::VTXISOBDTSOFTTHIRDVALUE   : value = m_bdt3; break;

        }

        if (msgLevel(MSG::DEBUG)) debug() << "  Inserting key = " << *ikey << ", value = " << value << " into map" << endreq;
        m_map.insert( std::make_pair( *ikey, value) );
    }
<!-- end SyntaxHighlightingPlugin -->

and

<!-- SyntaxHighlightingPlugin -->
LHCb::RelatedInfoMap* RelInfoVertexIsolationBDT::getInfo(void) {
    return &m_map;
}
<!-- end SyntaxHighlightingPlugin -->

The enumerated types where the information are stored must be added to Phys/DaVinciTypes/Kernel/RelatedInfoMap.h. These names must be clear, explanatory and simple. You should check with Anton and Chris before comitting to this package.

Testing your isolation tool

You must test your isolation tool before it is used in the stripping. There must not be any memory leaks, excessively long performance and it must compile cleanly without any errors or warnings. This is production code and must be treated with respect.

* StrippingLines * LHCbCodeAnalysisTools

-- AlexShires - 22 Jul 2014

 
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