The IVF will run out-of-the-box in CMSSW_5_3_11. If unsure, you can check out the following two packages:
cvs co -r V02-02-06 RecoVertex/AdaptiveVertexFinder cvs co -r V01-10-02 RecoBTag/SecondaryVertex
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 ZSV/BAnalysis UserCode/ZSV/BAnalysis/ scram b -c
Last command needed to update really old IVF package config files to BuildFile.xml files.
In order to get the IVF to work one has to perform inclusive vertexing by including inclusiveVertexing_cff.py:
process.load('RecoVertex/AdaptiveVertexFinder/inclusiveVertexing_cff')
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 adaptive vertex finder package:
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):
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:
These refitted vertices are then again merged depending on their significance in distance and the fraction of tracks they share:
The optimised vertices undergo a b-vertex filter:
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:
partly used in VHbb ntuples:
Carlotta's code:
twiki documentation:
CMSSW:
none
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 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