User Tools

Site Tools


ntuple:ivf

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
ntuple:ivf [2013/09/26 16:54] – [Work flow] clangentuple:ivf [2013/10/23 17:48] – [Steps for MSSM Hbb analysis] clange
Line 6: Line 6:
   cvs co -r V01-10-02 RecoBTag/SecondaryVertex   cvs co -r V01-10-02 RecoBTag/SecondaryVertex
  
-For a very low-level analysis (which is also partly outdated and therefore not recommended) need to check out two additional packages:+To use the same approach as the VHbb group, one also needs to check out two additional packages:
  
-  #cvs co -d IVF/BCandidateProducer UserCode/BbCorrelation/CMSSW/BAnalysis/BCandidateProducer +  cvs co -d IVF/BCandidateProducer UserCode/BbCorrelation/CMSSW/BAnalysis/BCandidateProducer 
-  #cvs co -d ZSV/BAnalysis UserCode/ZSV/BAnalysis/ +  cvs co -d ZSV/BAnalysis UserCode/ZSV/BAnalysis/ 
-  #scram b -c+  scram b -c
  
 Last command needed to update really old IVF package config files to BuildFile.xml files. Last command needed to update really old IVF package config files to BuildFile.xml files.
  
-==== Work flow ====+===== Work flow ===== 
 + 
 +==== General vertexing ====
  
 In order to get the IVF to work one has to perform inclusive vertexing by including [[https://github.com/cms-sw/cmssw/blob/CMSSW_5_3_X/RecoVertex/AdaptiveVertexFinder/python/inclusiveVertexing_cff.py|inclusiveVertexing_cff.py]]: In order to get the IVF to work one has to perform inclusive vertexing by including [[https://github.com/cms-sw/cmssw/blob/CMSSW_5_3_X/RecoVertex/AdaptiveVertexFinder/python/inclusiveVertexing_cff.py|inclusiveVertexing_cff.py]]:
Line 20: Line 22:
   process.load('RecoVertex/AdaptiveVertexFinder/inclusiveVertexing_cff')   process.load('RecoVertex/AdaptiveVertexFinder/inclusiveVertexing_cff')
  
-The IVF runs on pre-selected vertices. These are selected using the inclusive vertex finder from the [[https://github.com/cms-sw/cmssw/tree/CMSSW_5_3_X/RecoVertex/AdaptiveVertexFinder|adaptive vertex finder package]]:+The IVF runs on pre-selected vertices. After a coarse pre-clustering based on track distances and angles, vertices are reconstructed with the Adaptive fitter (outlier resistant, iterative procedure). This is done using the inclusive vertex finder from the [[https://github.com/cms-sw/cmssw/tree/CMSSW_5_3_X/RecoVertex/AdaptiveVertexFinder|adaptive vertex finder package]]:
  
   * Source code: [[https://github.com/cms-sw/cmssw/blob/CMSSW_5_3_X/RecoVertex/AdaptiveVertexFinder/plugins/InclusiveVertexFinder.cc|InclusiveVertexFinder.cc]]   * Source code: [[https://github.com/cms-sw/cmssw/blob/CMSSW_5_3_X/RecoVertex/AdaptiveVertexFinder/plugins/InclusiveVertexFinder.cc|InclusiveVertexFinder.cc]]
   * Configuration file: [[https://github.com/cms-sw/cmssw/blob/CMSSW_5_3_X/RecoVertex/AdaptiveVertexFinder/python/inclusiveVertexFinder_cfi.py|inclusiveVertexFinder_cfi.py]]   * Configuration file: [[https://github.com/cms-sw/cmssw/blob/CMSSW_5_3_X/RecoVertex/AdaptiveVertexFinder/python/inclusiveVertexFinder_cfi.py|inclusiveVertexFinder_cfi.py]]
  
-These vertices are then merged depending on their significance in distance and the fraction of tracks they share:+These vertices are then merged depending on their significance in distance and the fraction of tracks they share (in particular vertices with a large fraction of common tracks are merged):
  
   * Source code: [[https://github.com/cms-sw/cmssw/blob/CMSSW_5_3_X/RecoVertex/AdaptiveVertexFinder/plugins/VertexMerger.cc|VertexMerger.cc]]   * Source code: [[https://github.com/cms-sw/cmssw/blob/CMSSW_5_3_X/RecoVertex/AdaptiveVertexFinder/plugins/VertexMerger.cc|VertexMerger.cc]]
Line 33: Line 35:
     * minSignificance = 2     * minSignificance = 2
  
-In the next step it is made sure that all tracks belong to one vertex only:+In the next step it is made sure that all tracks belong either to a secondary vertex or the primary vertex only optimising the assignment of tracks to vertices, followed by another vertex fit:
  
   * [[https://github.com/cms-sw/cmssw/blob/CMSSW_5_3_X/RecoVertex/AdaptiveVertexFinder/plugins/TrackVertexArbitrator.cc|TrackVertexArbitrator.cc]]   * [[https://github.com/cms-sw/cmssw/blob/CMSSW_5_3_X/RecoVertex/AdaptiveVertexFinder/plugins/TrackVertexArbitrator.cc|TrackVertexArbitrator.cc]]
   * [[https://github.com/cms-sw/cmssw/blob/CMSSW_5_3_X/RecoVertex/AdaptiveVertexFinder/python/trackVertexArbitrator_cfi.py|trackVertexArbitrator_cfi.py]]   * [[https://github.com/cms-sw/cmssw/blob/CMSSW_5_3_X/RecoVertex/AdaptiveVertexFinder/python/trackVertexArbitrator_cfi.py|trackVertexArbitrator_cfi.py]]
  
-These vertices are then merged depending on their significance in distance and the fraction of tracks they share:+These refitted vertices are then again merged depending on their significance in distance and the fraction of tracks they share:
  
   * Source code: [[https://github.com/cms-sw/cmssw/blob/CMSSW_5_3_X/RecoVertex/AdaptiveVertexFinder/plugins/VertexMerger.cc|VertexMerger.cc]]   * Source code: [[https://github.com/cms-sw/cmssw/blob/CMSSW_5_3_X/RecoVertex/AdaptiveVertexFinder/plugins/VertexMerger.cc|VertexMerger.cc]]
Line 46: Line 48:
     * minSignificance = 10     * minSignificance = 10
  
-==== Useful links ==== +==== b-vertex filtering ==== 
-partly used in VHbb ntuples:  + 
-  *https://twiki.cern.ch/twiki/bin/viewauth/CMS/VHbbAnalysisNewCode#NtupleV42_CMSSW_5_3_3_patch2+The optimised vertices undergo a b-vertex filter: 
 + 
 +  * Source code: [[https://github.com/cms-sw/cmssw/blob/CMSSW_5_3_X/RecoBTag/SecondaryVertex/plugins/BVertexFilter.cc|BVertexFilter.cc]] 
 +  * Configuration file: [[https://github.com/cms-sw/cmssw/blob/CMSSW_5_3_X/RecoBTag/SecondaryVertex/python/bVertexFilter_cfi.py|bVertexFilter_cfi.py]] 
 + 
 +==== b to charm decay vertex merging ==== 
 + 
 +The b-to-charm decay vertex merging attempts to identify B to D meson decays and merges them based on DeltaR, the vertex mass, the angle between them and the relative transverse momentum: 
 + 
 +  * Source code: [[https://github.com/cms-sw/cmssw/blob/CMSSW_5_3_X/RecoBTag/SecondaryVertex/plugins/BtoCharmDecayVertexMerger.cc|BtoCharmDecayVertexMerger.cc]] 
 +  * Configuration file: [[https://github.com/cms-sw/cmssw/blob/CMSSW_5_3_X/RecoBTag/SecondaryVertex/python/bToCharmDecayVertexMerger_cfi.py|bToCharmDecayVertexMerger_cfi.py]] 
 + 
 +===== Useful links ===== 
 +partly used in VHbb ntuples: 
 +  * VHbb recipe: https://twiki.cern.ch/twiki/bin/viewauth/CMS/VHbbAnalysisNewCode#NtupleV42_CMSSW_5_3_3_patch2
   * http://cmssw.cvs.cern.ch/cgi-bin/cmssw.cgi/UserCode/VHbbAnalysis/HbbAnalyzer/test/patData.py?revision=1.9&view=markup   * http://cmssw.cvs.cern.ch/cgi-bin/cmssw.cgi/UserCode/VHbbAnalysis/HbbAnalyzer/test/patData.py?revision=1.9&view=markup
  
Line 56: Line 72:
  
 twiki documentation: twiki documentation:
-  * https://twiki.cern.ch/twiki/bin/viewauth/CMS/CSVIVF 
   * official recipe: https://twiki.cern.ch/twiki/bin/viewauth/CMS/InclusiveVertexFinderRecipes   * official recipe: https://twiki.cern.ch/twiki/bin/viewauth/CMS/InclusiveVertexFinderRecipes
-  * VHbb recipe: https://twiki.cern.ch/twiki/bin/viewauth/CMS/VHbbAnalysisNewCode+  * combination with CSV tagger: https://twiki.cern.ch/twiki/bin/viewauth/CMS/CSVIVF
  
 CMSSW: CMSSW:
-  * http://cmssw.cvs.cern.ch/cgi-bin/cmssw.cgi/CMSSW/RecoVertex/AdaptiveVertexFinder/+  * https://github.com/cms-sw/cmssw/blob/CMSSW_5_3_X/RecoVertex/AdaptiveVertexFinder
 +  * https://github.com/cms-sw/cmssw/blob/CMSSW_5_3_X/RecoBTag/SecondaryVertex/
 ===== Current errors ===== ===== Current errors =====
  
 none none
 +
 +
 +===== Steps for MSSM Hbb analysis ===
 +
 +  cvs co -r V02-02-06 RecoVertex/AdaptiveVertexFinder
 +  cvs co -r V01-10-02 RecoBTag/SecondaryVertex
 +  
 +Check for details of information:
 +  RecoBTag/SecondaryVertex/test/runIVFAnalyzer_cff.py
 +  RecoBTag/SecondaryVertex/test/IVFAnalyzer.cc
 +  
 +And voila:
 +
 +  The bdiscriminators below will be written to the jet collection in the PATtuple (default is all, see PatAlgos/PhysicsTools/python/tools/jetTools.py)
 +  jetBProbabilityBJetTags
 +  jetProbabilityBJetTags
 +  trackCountingHighPurBJetTags
 +  trackCountingHighEffBJetTags
 +  simpleSecondaryVertexHighEffBJetTags
 +  simpleSecondaryVertexHighPurBJetTags
 +  simpleInclusiveSecondaryVertexHighEffBJetTags
 +  simpleInclusiveSecondaryVertexHighPurBJetTags
 +  combinedSecondaryVertexBJetTags
 +  combinedSecondaryVertexMVABJetTags
 +  softMuonBJetTags
 +  softMuonByPtBJetTags
 +  softMuonByIP3dBJetTags
 +  simpleSecondaryVertexNegativeHighEffBJetTags
 +  simpleSecondaryVertexNegativeHighPurBJetTags
 +  negativeTrackCountingHighEffJetTags
 +  negativeTrackCountingHighPurJetTags
 +  combinedInclusiveSecondaryVertexBJetTags
 +  combinedMVABJetTags
 +  doubleSecondaryVertexHighEffBJetTags
 +
ntuple/ivf.txt · Last modified: 2013/10/23 18:00 by clange