ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitAna/scripts/GSFFitPatch.patch
Revision: 1.2
Committed: Mon May 31 23:04:56 2010 UTC (14 years, 11 months ago) by bendavid
Branch: MAIN
CVS Tags: Mit_032, Mit_031, Mit_025c_branch2, Mit_025c_branch1, Mit_030, Mit_029c, Mit_029b, Mit_030_pre1, Mit_029a, Mit_029, Mit_029_pre1, Mit_028a, Mit_025c_branch0, Mit_028, Mit_027a, Mit_027, Mit_026, Mit_025e, Mit_025d, Mit_025c, Mit_025b, Mit_025a, Mit_025, Mit_025pre2, Mit_024b, Mit_025pre1, Mit_024a, Mit_024, Mit_023, Mit_022a, Mit_022, Mit_020d, TMit_020d, Mit_020c, Mit_021, Mit_021pre2, Mit_021pre1, Mit_020b, Mit_020a, Mit_020, Mit_020pre1, Mit_018, Mit_017, Mit_017pre3, Mit_017pre2, Mit_017pre1, Mit_016, Mit_015b, Mit_015a, Mit_015, Mit_014e, Mit_014d, Mit_014c, Mit_014b, Mit_014a, HEAD
Branch point for: Mit_025c_branch
Changes since 1.1: +15 -3 lines
Log Message:
update setup script and patches

File Contents

# Content
1 Index: RecoVertex/GaussianSumVertexFit/interface/GsfVertexTrackCompatibilityEstimator.h
2 ===================================================================
3 RCS file: /cvs_server/repositories/CMSSW/CMSSW/RecoVertex/GaussianSumVertexFit/interface/GsfVertexTrackCompatibilityEstimator.h,v
4 retrieving revision 1.3
5 diff -r1.3 GsfVertexTrackCompatibilityEstimator.h
6 12a13
7 > #include "RecoVertex/KalmanVertexFit/interface/KalmanVertexUpdator.h"
8 51a53,56
9 > virtual BDpair estimate(const reco::Vertex & vertex,
10 > const reco::TransientTrack & track,
11 > const reco::TransientTrack & ckfTrack) const;
12 >
13 63a69
14 > KalmanVertexUpdator<5> kalmanUpdater;
15 Index: RecoVertex/GaussianSumVertexFit/src/GsfVertexTrackCompatibilityEstimator.cc
16 ===================================================================
17 RCS file: /cvs_server/repositories/CMSSW/CMSSW/RecoVertex/GaussianSumVertexFit/src/GsfVertexTrackCompatibilityEstimator.cc,v
18 retrieving revision 1.5
19 diff -r1.5 GsfVertexTrackCompatibilityEstimator.cc
20 53a54,55
21 > const TrajectoryStateOnSurface &tsos = track.stateOnSurface(linP);
22 > if (!tsos.isValid()) return BDpair(false,-1.);
23 55c57
24 < lTrackFactory.linearizedTrackState(linP, track);
25 ---
26 > lTrackFactory.linearizedTrackState(linP, track, tsos);
27 73a76,122
28 > std::pair<bool, double>
29 > GsfVertexTrackCompatibilityEstimator::estimate(const reco::Vertex & vertex,
30 > const reco::TransientTrack & track, const reco::TransientTrack & ckfTrack) const
31 > {
32 > // GlobalPoint linP(vertex.position().x(), vertex.position().z(),vertex.position().z());
33 > GlobalPoint linP(Basic3DVector<float> (vertex.position()));
34 >
35 > const TrajectoryStateOnSurface &tsos = track.stateOnSurface(linP);
36 > if (!tsos.isValid()) return BDpair(false,-1.);
37 > RefCountedLinearizedTrackState linTrack =
38 > lTrackFactory.linearizedTrackState(linP, track, tsos);
39 > GlobalError err(vertex.covariance());
40 > VertexState vState(linP, err);
41 > RefCountedVertexTrack vertexTrack = vTrackFactory.vertexTrack(linTrack, vState);
42 >
43 > LinearizedTrackStateFactory lTrackFactoryCkf;
44 > const TrajectoryStateOnSurface &tsosCkf = ckfTrack.impactPointState();
45 > if (!tsosCkf.isValid()) return BDpair(false,-1.);
46 > RefCountedLinearizedTrackState linTrackCkf =
47 > lTrackFactoryCkf.linearizedTrackState(linP, ckfTrack, tsosCkf);
48 > RefCountedVertexTrack vertexTrackCkf = vTrackFactory.vertexTrack(linTrackCkf, vState);
49 >
50 >
51 > vector<RefCountedVertexTrack> initialTracks;
52 > initialTracks.push_back(vertexTrack);
53 > initialTracks.push_back(vertexTrackCkf);
54 >
55 > CachingVertex<5> cachingVertex(linP, err, initialTracks,
56 > vertex.chi2());
57 >
58 > //remove ckf track corresponding to the gsf track from vertex before computing gsf track compatibility
59 > if (find(vertex.tracks_begin(), vertex.tracks_end(), ckfTrack.trackBaseRef()) != vertex.tracks_end()) {
60 > cachingVertex = kalmanUpdater.remove(cachingVertex, vertexTrackCkf);
61 > if (!cachingVertex.isValid()) return BDpair(false,-1.);
62 > }
63 >
64 > // FIXME: this should work also for tracks without a persistent ref.
65 > // const TrackTransientTrack* ttt = dynamic_cast<const TrackTransientTrack*>(track.basicTransientTrack());
66 > // if ((ttt!=0) &&
67 > if (find(vertex.tracks_begin(), vertex.tracks_end(), track.trackBaseRef()) != vertex.tracks_end())
68 > {
69 > return estimateFittedTrack(cachingVertex, vertexTrack);
70 > } else {
71 > return estimateNFittedTrack(cachingVertex, vertexTrack);
72 > }
73 > }
74 >