D0root version v9.1
v00-09-50 (02-04-2004) [Ariel]
Fix bug in constrained track parameters of VertexKalmanFitter class. This
affects V0Finder mass resolution.
v00-09-47 (01-15-2004) [Ariel]
Put back MUON branch in BphysicsAnalysis::Process_diMuons method. The branch was removed -by mistake- by going from v9.0 to v9.1.
v00-09-45 (01-14-2004) [Xiaojian, Ralf]
Bug fix in BphysicsAnalysis::Process_diMuons method. The maximum number
of Jpsi's was 50 instead of 5, leading to a crash.
Vertexing
Add AATrack beam spot information for primary vertex search.
A new BeamSpotMap class has been introduced to read the average beam spot position from AATrack database. Version 02.10.05 of AATrack is needed.
Here is an example of use:
| |
D0BeamSpot beamSpot;
FILE * beamSpotDataBase = fopen("AATrack/dat/beamSpot-2.09","r");
BeamSpotMap beamMap(beamSpotDataBase);
//event loop
_readEvent->getRunAndEventNumber(runnum,evtnum);
if(runnum!=oldrunnum) {
cout << "New RUN number = " << runnum << endl;
oldrunnum = runnum;
if(beamMap.GetBeam(runnum,beamSpot)) {
beamSpot.print();
pvFinder->SetBeamSpot(&beamSpot);
} else {
cout << "Run not found in data-base" << endl;
cout << "Using previous run average beam position" << endl;
}
}
|
|
where pvFinder is the 1-pass VertexGlobalFinder class.
Beam Spot Primary Vertex Constraint fit
The 9.1 version of PrimaryVertexGlobalFinder has a built-in beam-spot constraint of 30um. Using this constraint the vertex resolution improves from 38 to 25 microns.
Here is an example of use:
| |
PrimaryVertexFinder* pvFinder =
new PrimaryVertexGlobalFinder(0.5, // minimum track pT.
0.5, // dca_xy wrt beam spot.
3.0, // dca_xy significance wrt beam spot.
2.0, // deltaZ track-clustering.
2.0, // smt ladders + F wedges hits.
10.0, // vertex chi2.
10.0, // track chi2.
beamConstraint // beam spot constraint fit.
);
|
|
where beamConstraint is set to 0 (false) by default.
Speed-up
Vertex fitting is faster in v9. See Improvements on Kalman Primary Vertex Fitting talk for more details.
The following script installs, compiles, and runs a test of the code.
In order to run the script, you first need to create a new release area:
//Create release area
//----------------------------------
kinit
newrel -t p14.05.02 mydir
cd mydir
d0setwa
source Maked0root_v9.1.csh
from mydir directory:
root runBphysicsAnalysis_TMBtree.C
This command will create an instance of the class BphysicsAnalysis called "b".
To see the list of available methods please look at
d0root_btag/analysis/BphysicsAnalysis.h
To create a B-rtuple with information about J/Psi, X state, and B->J/Psi K+ vertices, do:
b->Process_diMuons("myOutputFileName", muon_pt, PVbeamConstraint);
where
- "myOutputFileName" is the name of the output root tree.
- muon_pt is the minimum global muon pT in GeV/c, by default 1.5 GeV/c.
- PVbeamConstraint is set to 0 (false) by default.
- All Loose muons are considered
In order to open the ROOT-tuple and plot the J/Psi invariant mass and lifetime,
do:
root myOutputFileName.root
tree->Draw("PSI.mass","PSI.mass>2 && PSI.mass<4")
tree->Draw("PSI.lifetime","PSI.mass>2.8 && PSI.mass<3.3")
Please send questions/comments/improvements/ or report problems to the
d0root mailing listor Ariel Schwartzman and Gordon Watts
Back to Vertex fitting and finding in ROOT page
Last updated: 11-21-2003
Ariel Schwartzman