TWiki> CMSPublic Web>SWGuideFlavorHistory (revision 6)EditAttachPDF
This page and the corresponding tools are under heavy construction

Flavor History

Here we present tools to determine the ultimate history of a given jet.

There can be several sources for a jet:

  • Gluon splitting.
  • Quark excitation.
  • Electroweak (or strong) resonance decay.
  • Hard scattering.

We present tools to decide which category an event falls into.

Bug Fix History

  • 09-March-23: Bug in W+c path description in V09-30-02, was not selecting W+c events. Fixed in V09-30-03.

Definitions of Categories

The categories we use are as follows:

  • Matrix Element: Status 3 parent with precisely 2 "grandparents" that is outside of the "initial" section (0-5) that has the same ID as the status 2 parton in question. NOTE: This is not the actual ultimate progenitor, but this is the signature of matrix element decays. The ultimate progenitor is the parent of the status 3 parton.

  • Flavor excitation: Almost the same as the matrix element classification, but has only one outgoing parton product instead of two.

  • Gluon splitting: Parent is a quark of a different flavor than the parton in question, or a gluon. Can come from either ISR or FSR.

  • True decay: Decays from a resonance like top, Higgs, etc.

Software

Prescription

A prescription to check out the Flavor History software in 2.1.0 is:

scramv1 p CMSSW CMSSW_2_2_3
cd CMSSW_2_2_3/src
cvs co -r V05-13-02 DataFormats/HepMCCandidate 
cvs co -r V09-30-03 PhysicsTools/HepMCCandAlgos

Flavor History Object

The Flavor History object is shown here. This object will store several objects:

  • Flavor Source: matrix element, flavor excitation, gluon splitting, or true decay.
  • Parton: The parton in question (status 2 quark, typically b or c).
  • Progenitor: The ultimate progenitor of that parton.
  • Sister: The sister of that parton.

In doing this, we can see that the cases in question will have the following characteristics:

  • Matrix element
    • Parton: b or c quark.
    • Progenitor: parton from the hard scatter.
    • Sister: the other daughter of the progenitor with the same flavor.
  • Flavor excitation
    • Parton: b or c quark.
    • Progenitor: parton from the hard scatter.
    • Sister: None.
  • Gluon splitting
    • Parton: b or c quark.
    • Progenitor: gluon from ISR or FSR.
    • Sister: the other daughter of the progenitor with the same flavor.
  • True decay
    • Parton: b or c quark.
    • Progenitor: Higgs, top, etc.
    • Sister: Depends on decay, but for instance a Higgs to b-bbar will have the other b as the sister.

Flavor History Event

This is a data type designed to make the content in Flavor History more accessible. It is linked here.

The interface to examine these objects is:

  // Get the number of b and c genjets that match to partons
  unsigned int         nb() const;
  unsigned int         nc() const

  // Accessor to maximum delta R between highest flavor constituent genjets
  double               deltaR() const;
  unsigned int         highestFlavor() const;

These are browsable in FWLite, for instance. They are also the values used in the filtering process. It also has an =STL=-style iterator interface.

Note that the kinematic quantities in the FlavorHistoryEvent object correspond to the matched GenJet, not the parton. This is to ensure that the partons in question will give rise to measurable jets. Therefore, the methods "nb" and "nc" correspond to the number of GenJets matched to b and c quarks, respectively, and the "deltaR" method is the delta R between the two GenJets matched to the same flavor. In the case of being matched to the same GenJet, then delta R returns 0. If there is no match for either this parton, or the sister, then the delta R method returns -1.

Flavor History Producer

The producer to create these objects is shown here. There is one file that will create both b and c parton histories linked here. This will create a FlavorHistoryEvent that the user can then select on.

Flavor History Filter

The filter to use these objects is shown here. This will take the FlavorHistoryEvent produced by the flavor history producer, and perform selection on its constituents.

The selection is based on the matched GenJets using the SISCone algorithm with a cone size of 0.5. The matching is simple delta R matching between the GenJets and the partons before the hadronization string in PYTHIA.

At the present, the filter will avoid overlaps based on the "delta R" method. In this method, the event is taken from the matrix element calculation if it contains two matched GenJets that are widely separated (i.e. are associated with two different jets). The event is taken from the parton shower calculation if it contains two matched GenJets that are very colinear (i.e. are associated with the same jet). The jet cone size is a parameter, and by default is taken to be 0.5.

The configuration file shown here creates the filters that can be used in analysis (see below).

Physics Analysis

Here we describe how to perform a physics analysis with these tools. The general procedure will be to take the filters (defined below) and run them over various Monte Carlo samples. The output paths should then be combined in your analysis with whatever weighting is appropriate.

Path Configuration

There is a configuration file shown here that will set up a group of paths that correspond to the hierarchical structure of the heavy flavor assignment. You can use these for your convenience.

If you type

process.load("PhysicsTools.HepMCCandAlgos.flavorHistoryPaths_cfi")
then you will have 11 paths appended to "process" corresponding to the different HF samples.

The hierarchy is:

  1. W+bb with >= 2 jets from the ME (dr > 0.5)
  2. W+b or W+bb with 1 jet from the ME
  3. W+cc from the ME (dr > 0.5)
  4. W+c or W+cc with 1 jet from the ME
  5. W+bb with 1 jet from the parton shower (dr == 0.0)
  6. W+cc with 1 jet from the parton shower (dr == 0.0)
  7. W+bb with >= 2 partons but 1 jet from the ME (dr == 0.0)
  8. W+cc with >= 2 partons but 1 jet from the ME (dr == 0.0)
  9. W+bb with >= 2 partons but 2 jets from the PS (dr > 0.5)
  10. W+cc with >= 2 partons but 2 jets from the PS (dr > 0.5)
  11. Veto of all the previous (W+ light jets)

Note that paths 1-6, plus sample 11, are the paths you will use in your analysis. Paths 7-10 are for debugging purposes only.

Assigning Physics Content

The physics content of the samples for your analysis should break down as follows:

  • W+bb :
    • From the "V+QQ" sample: Paths 1 and 2 (for the matrix element contribution).
    • From the "W+jets" sample: Path 5 (for the gluon splitting contribution).
  • W+cc :
    • From the "V+QQ" sample: Paths 3 and 4 (for the matrix element contribution).
    • From the "W+Jets" sample: Path 6 (for the gluon splitting contribution).
  • W+c
    • From the "W+c" sample: Path 4 (for true flavor excitation).
  • W+light flavor:
    • From the "W+jets" sample: Path 11 (veto of all heavy flavor content).

The remainder of the paths (7-10) are defined for studies and completeness. They contain samples of phase space that are unreliable (such as using the matrix element calculation in the "colinear" case, or using the parton shower in the case of widely separated partons), and hence should be discarded for the analysis.

Full recipes for Summer 08/Fall 08

The above procedure has been checked in the Fall 08 pre-production samples here:

  • /VQQ-madgraph/Fall08_IDEAL_V9_v1_pre-production/GEN-SIM-RECO
  • /WJets-madgraph/Fall08_IDEAL_V9_v1_pre-production/GEN-SIM-RECO

We created private PAT-tuples out of these files with the default 2.2.0 PAT by following the recipe here. We used the following analysis cuts in the PAT:

process.selectedLayer1Jets.cut = cms.string('et > 20.0 & abs(eta) < 2.5 & nConstituents > 0')
process.selectedLayer1Muons.cut = cms.string('pt > 30.0 & abs(eta) < 5.0')
process.countLayer1Leptons.minNumber = cms.uint32(1)
process.countLayer1Jets.minNumber = cms.uint32(1)

With these cuts, we obtain the following output from our path output at the end of the job:

V+QQ:

TrigReport ---------- Path   Summary ------------
TrigReport  Trig Bit#        Run     Passed     Failed      Error Name
TrigReport     1    0      21999      21999          0          0 p
TrigReport     1    1      21999      10177      11822          0 wc
TrigReport     1    2      21999       2790      19209          0 wb
TrigReport     1    3      21999        534      21465          0 wbb_comp
TrigReport     1    4      21999          3      21996          0 wcc_gs_comp
TrigReport     1    5      21999        581      21418          0 wjets
TrigReport     1    6      21999          1      21998          0 wbb_gs
TrigReport     1    7      21999       2428      19571          0 wcc_comp
TrigReport     1    8      21999       5767      16232          0 wcc
TrigReport     1    9      21999       3265      18734          0 wbb
TrigReport     1   10      21999          4      21995          0 wcc_gs
TrigReport     1   11      21999          0      21999          0 wbb_gs_comp


W+Jets:

TrigReport ---------- Path   Summary ------------
TrigReport  Trig Bit#        Run     Passed     Failed      Error Name
TrigReport     1    0      12765      12765          0          0 p
TrigReport     1    1      12765      12753         12          0 wc
TrigReport     1    2      12765          0      12765          0 wb
TrigReport     1    3      12765          0      12765          0 wbb_comp
TrigReport     1    4      12765         50      12715          0 wcc_gs_comp
TrigReport     1    5      12765      11788        977          0 wjets
TrigReport     1    6      12765          7      12758          0 wbb_gs
TrigReport     1    7      12765          0      12765          0 wcc_comp
TrigReport     1    8      12765         12      12753          0 wcc
TrigReport     1    9      12765          0      12765          0 wbb
TrigReport     1   10      12765         57      12708          0 wcc_gs
TrigReport     1   11      12765         27      12738          0 wbb_gs_comp

-- SalvatoreRRappoccio - 06 Aug 2008

Edit | Attach | Watch | Print version | History: r12 | r8 < r7 < r6 < r5 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r6 - 2009-03-23 - unknown
 
    • 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-2021 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