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
ntuple:ivf [2013/09/26 15:51] clangentuple:ivf [2013/10/23 18:00] (current) – [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]] 
 +  * Configuration file: [[https://github.com/cms-sw/cmssw/blob/CMSSW_5_3_X/RecoVertex/AdaptiveVertexFinder/python/vertexMerger_cfi.py|vertexMerger_cfi.py]] 
 +  * using the standard config: 
 +    * maxFraction = 0.7 
 +    * minSignificance = 2 
 + 
 +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/python/trackVertexArbitrator_cfi.py|trackVertexArbitrator_cfi.py]] 
 + 
 +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 33: Line 48:
     * minSignificance = 10     * minSignificance = 10
  
 +==== b-vertex filtering ====
  
 +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]]
  
-==== Useful links ==== +==== b to charm decay vertex merging ==== 
-partly used in VHbb ntuples:  + 
-  *https://twiki.cern.ch/twiki/bin/viewauth/CMS/VHbbAnalysisNewCode#NtupleV42_CMSSW_5_3_3_patch2+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 46: 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
 +  
 +Replace ''PhysicsTools/PatAlgos/python/tools/jetTools.py'' by this [[https://twiki.cern.ch/twiki/pub/CMS/InclusiveVertexFinderRecipes/jetTools.py.txt|version]].
 +
 +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.1380203507.txt.gz · Last modified: 2013/09/26 15:51 by clange