Skip to content

Commit 53423d1

Browse files
committed
Merge pull request cms-sw#2295 from VinInn/Matcher
Reco speedup -- Matcher
2 parents bb9633f + e9c33bb commit 53423d1

File tree

29 files changed

+414
-430
lines changed

29 files changed

+414
-430
lines changed

CalibTracker/SiPixelErrorEstimation/src/SiPixelErrorEstimation.cc

+1
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
#include "SimDataFormats/Track/interface/SimTrackContainer.h"
2626

2727
#include "DataFormats/SiStripDetId/interface/SiStripDetId.h"
28+
#include "Geometry/TrackerGeometryBuilder/interface/StripGeomDetUnit.h"
2829

2930
#include "CalibTracker/SiStripCommon/interface/SiStripDetInfoFileReader.h"
3031
#include "FWCore/ParameterSet/interface/FileInPath.h"

CommonTools/Utils/test/testCutParser.cc

+2-3
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ void testCutParser::checkAll() {
8383
reco::TrackBase::CovarianceMatrix cov(e, e + 15);
8484
trk = reco::Track(chi2, ndof, v, p, -1, cov);
8585

86-
hitOk = SiStripRecHit2D(LocalPoint(1,1), LocalError(1,1,1), 0, SiStripRecHit2D::ClusterRef());
86+
hitOk = SiStripRecHit2D(LocalPoint(1,1), LocalError(1,1,1), 0, 0, SiStripRecHit2D::ClusterRef());
8787

8888
edm::TypeWithDict t(typeid(reco::Track));
8989
o = edm::ObjectWithDict(t, & trk);
@@ -196,8 +196,7 @@ void testCutParser::checkAll() {
196196
checkHit( "hasPositionAndError" , false, hitThrow );
197197
CPPUNIT_ASSERT(hitOk.localPosition().x() == 1);
198198
checkHit( ".99 < localPosition.x < 1.01", true, hitOk);
199-
CPPUNIT_ASSERT_THROW(hitThrow.localPosition().x(), cms::Exception);
200-
CPPUNIT_ASSERT_THROW( checkHit(".99 < localPosition.x < 1.01", true, hitThrow) , cms::Exception);
199+
checkHit( ".99 < localPosition.x < 1.01", false, hitThrow);
201200

202201
// check underscores
203202
checkHit("cluster_regional.isNull()",true,hitOk);

DataFormats/TrackerRecHit2D/doc/TrackerRecHit2D.doc

-3
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ This package contains the RecHit and RecHit collection definition for pixel and
2020
\subsection interface Public interface
2121
<!-- List the classes that are provided for use in other packages (if any) -->
2222

23-
- BaseSiTrackerRecHit2DLocalPos Base class for silicon detector RecHits.
2423
- SiPixelRecHitCollectionfwd
2524
- SiPixelRecHitCollection Collection of Pixel RecHits
2625
- SiPixelRecHitfwd
@@ -31,8 +30,6 @@ This package contains the RecHit and RecHit collection definition for pixel and
3130
- SiStripRecHit2DLocalPos Class for silicon strip detector RecHits. It contains a reference to the corresponding SiStripCluster.
3231
- SiStripRecHit2DMatchedLocalPosCollectionfwd
3332
- SiStripRecHit2DMatchedLocalPosCollection Collection of matched ilicon strip detector RecHits.
34-
- SiStripRecHit2DMatchedLocalPosfwd
35-
- SiStripRecHit2DMatchedLocalPos Class for silicon strip detector matched RecHits. It contains a reference to the corresponding SiStripRecHit2DLocalPos of mono and stereo detectors.
3633

3734
\subsection modules Modules
3835
<!-- Describe modules implemented in this package and their parameter set -->

DataFormats/TrackerRecHit2D/interface/BaseSiTrackerRecHit2DLocalPos.h

-44
This file was deleted.

DataFormats/TrackerRecHit2D/interface/BaseTrackerRecHit.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,9 @@ class BaseTrackerRecHit : public TrackingRecHit {
4343
// verify that hits can share clusters...
4444
inline bool sameDetModule(TrackingRecHit const & hit) const;
4545

46-
virtual LocalPoint localPosition() const GCC11_FINAL;
46+
virtual LocalPoint localPosition() const GCC11_FINAL { return pos_;}
4747

48-
virtual LocalError localPositionError() const GCC11_FINAL;
48+
virtual LocalError localPositionError() const GCC11_FINAL { return err_;}
4949

5050
bool hasPositionAndError() const GCC11_FINAL;
5151

DataFormats/TrackerRecHit2D/interface/SiStripRecHit2D.h

+9-9
Original file line numberDiff line numberDiff line change
@@ -21,24 +21,25 @@ class SiStripRecHit2D GCC11_FINAL : public TrackerSingleRecHit {
2121
sigmaPitch_(-1.) {}
2222

2323

24-
SiStripRecHit2D( const LocalPoint& pos, const LocalError& err,
24+
SiStripRecHit2D( const LocalPoint& pos, const LocalError& err, float isigmaPitch,
2525
const DetId& id,
2626
OmniClusterRef const& clus) :
2727
TrackerSingleRecHit(pos,err,id, clus),
28-
sigmaPitch_(-1.) {}
28+
sigmaPitch_(isigmaPitch) {}
2929

30-
SiStripRecHit2D( const LocalPoint& pos, const LocalError& err,
30+
SiStripRecHit2D( const LocalPoint& pos, const LocalError& err, float isigmaPitch,
3131
const DetId& id,
3232
ClusterRef const& clus) :
3333
TrackerSingleRecHit(pos,err,id, clus),
34-
sigmaPitch_(-1.) {}
34+
sigmaPitch_(isigmaPitch) {}
3535

3636

37-
SiStripRecHit2D(const LocalPoint& pos, const LocalError& err,
37+
SiStripRecHit2D(const LocalPoint& pos, const LocalError& err, float isigmaPitch,
3838
const DetId& id,
3939
ClusterRegionalRef const& clus) :
4040
TrackerSingleRecHit(pos,err,id, clus),
41-
sigmaPitch_(-1.) {}
41+
sigmaPitch_(isigmaPitch) {}
42+
4243

4344
ClusterRef cluster() const { return cluster_strip() ; }
4445
void setClusterRef(ClusterRef const & ref) {setClusterStripRef(ref);}
@@ -49,14 +50,13 @@ class SiStripRecHit2D GCC11_FINAL : public TrackerSingleRecHit {
4950
virtual void getKfComponents( KfComponentsHolder & holder ) const { getKfComponents2D(holder); }
5051

5152

52-
double sigmaPitch() const { return sigmaPitch_;}
53-
void setSigmaPitch(double sigmap) const { sigmaPitch_=sigmap;}
53+
float sigmaPitch() const { return sigmaPitch_;}
5454

5555

5656
private:
5757

5858
/// cache for the matcher....
59-
mutable double sigmaPitch_; // transient....
59+
float sigmaPitch_; // transient....
6060

6161

6262
};

DataFormats/TrackerRecHit2D/src/BaseSiTrackerRecHit2DLocalPos.cc

-63
This file was deleted.

DataFormats/TrackerRecHit2D/src/BaseTrackerRecHit.cc

+2-12
Original file line numberDiff line numberDiff line change
@@ -25,22 +25,12 @@ bool BaseTrackerRecHit::hasPositionAndError() const {
2525
(pos_.x() != 0) || (pos_.y() != 0) || (pos_.z() != 0);
2626
}
2727

28-
LocalPoint BaseTrackerRecHit::localPosition() const {
29-
if (!hasPositionAndError()) throwExceptionUninitialized("localPosition");
30-
return pos_;
31-
}
32-
33-
LocalError BaseTrackerRecHit::localPositionError() const{
34-
if (!hasPositionAndError()) throwExceptionUninitialized("localPositionError");
35-
return err_;
36-
}
37-
3828

3929

4030
void
4131
BaseTrackerRecHit::getKfComponents1D( KfComponentsHolder & holder ) const
4232
{
43-
if (!hasPositionAndError()) throwExceptionUninitialized("getKfComponents");
33+
// if (!hasPositionAndError()) throwExceptionUninitialized("getKfComponents");
4434
AlgebraicVector1 & pars = holder.params<1>();
4535
pars[0] = pos_.x();
4636

@@ -57,7 +47,7 @@ BaseTrackerRecHit::getKfComponents1D( KfComponentsHolder & holder ) const
5747
void
5848
BaseTrackerRecHit::getKfComponents2D( KfComponentsHolder & holder ) const
5949
{
60-
if (!hasPositionAndError()) throwExceptionUninitialized("getKfComponents");
50+
//if (!hasPositionAndError()) throwExceptionUninitialized("getKfComponents");
6151
AlgebraicVector2 & pars = holder.params<2>();
6252
pars[0] = pos_.x();
6353
pars[1] = pos_.y();

DataFormats/TrackerRecHit2D/src/classes.h

-3
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
#ifndef TrackerRecHit2D_CLASSES_H
22
#define TrackerRecHit2D_CLASSES_H
33

4-
//obsolete: still needed for backcomp??
5-
#include "DataFormats/TrackerRecHit2D/interface/BaseSiTrackerRecHit2DLocalPos.h"
6-
74
#include "DataFormats/TrackerRecHit2D/interface/OmniClusterRef.h"
85
#include "DataFormats/TrackerRecHit2D/interface/SiStripRecHit2DCollection.h"
96
#include "DataFormats/TrackerRecHit2D/interface/SiStripRecHit1DCollection.h"

DataFormats/TrackerRecHit2D/src/classes_def.xml

-5
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,4 @@
11
<lcgdict>
2-
<class name="BaseSiTrackerRecHit2DLocalPos" ClassVersion="10">
3-
<version ClassVersion="10" checksum="1111914457"/>
4-
<field name="pos_" transient="true" />
5-
<field name="err_" transient="true" />
6-
</class>
72
<class name="GSSiTrackerRecHit2DLocalPos" ClassVersion="10">
83
<version ClassVersion="10" checksum="2474445311"/>
94
</class>

RecoEgamma/EgammaElectronAlgos/interface/SiStripElectronSeedGenerator.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@
4444
#include "TrackingTools/PatternTools/interface/TrajectoryStateUpdator.h"
4545
#include "TrackingTools/KalmanUpdators/interface/KFUpdator.h"
4646

47-
#include "RecoLocalTracker/SiStripRecHitConverter/interface/SiStripRecHitMatcher.h"
4847
#include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h"
4948
#include "RecoTracker/TkDetLayers/interface/GeometricSearchTracker.h"
5049
#include "TrackingTools/TransientTrackingRecHit/interface/TransientTrackingRecHit.h"
@@ -62,6 +61,7 @@ class KFUpdator;
6261
class MeasurementTracker;
6362
class MeasurementTrackerEvent;
6463
class NavigationSchool;
64+
class SiStripRecHitMatcher;
6565

6666
class SiStripElectronSeedGenerator
6767
{

RecoLocalTracker/SiStripRecHitConverter/interface/SSEMatcher.h

+2-17
Original file line numberDiff line numberDiff line change
@@ -54,14 +54,7 @@ void SiStripRecHitMatcher::doubleMatch(MonoIterator monoRHiter, MonoIterator mon
5454
const SiStripRecHit2D & secondHit = CollectorHelper::stereoHit(seconditer);
5555

5656
double sigmap22 =secondHit.sigmaPitch();
57-
if (sigmap22<0) {
58-
LocalError tmpError( secondHit.localPositionErrorFast());
59-
HelpertRecHit2DLocalPos::updateWithAPE(tmpError, *partnerstripdet);
60-
MeasurementError errorstereoRH=partnertopol.measurementError(secondHit.localPositionFast(),tmpError);
61-
62-
double pitch=partnertopol.localPitch(secondHit.localPositionFast());
63-
secondHit.setSigmaPitch(sigmap22=errorstereoRH.uu()*pitch*pitch);
64-
}
57+
6558

6659

6760
double STEREOpointX=partnertopol.measurementPosition( secondHit.localPositionFast()).x();
@@ -163,15 +156,7 @@ void SiStripRecHitMatcher::doubleMatch(MonoIterator monoRHiter, MonoIterator mon
163156

164157
// FIXME: here for test...
165158
double sigmap12 = monoRH.sigmaPitch();
166-
if (sigmap12<0) {
167-
168-
LocalError tmpError(monoRH.localPositionErrorFast());
169-
HelpertRecHit2DLocalPos::updateWithAPE(tmpError,*stripdet);
170-
MeasurementError errormonoRH=topol.measurementError(monoRH.localPositionFast(),tmpError);
171-
172-
double pitch=topol.localPitch(monoRH.localPositionFast());
173-
monoRH.setSigmaPitch(sigmap12=errormonoRH.uu()*pitch*pitch);
174-
}
159+
175160

176161
//float code
177162
float fc1(c1), fs1(s1);

0 commit comments

Comments
 (0)