1 #ifndef RecoMuon_MuonSeedGenerator_SETFilter_H 2 #define RecoMuon_MuonSeedGenerator_SETFilter_H 18 #include "CLHEP/Matrix/Vector.h" 19 #include "CLHEP/Vector/ThreeVector.h" 70 bool fwfit_SET( std::vector < SeedCandidate> & validSegmentsSet_in,
71 std::vector < SeedCandidate> & validSegmentsSet_out);
74 bool buildTrajectoryMeasurements(
SeedCandidate * validSegmentsSet,
100 inline bool goodState()
const {
return totalChambers >= 2 &&
101 ((dtChambers + cscChambers) >0 );}
104 std::vector<const DetLayer*>
layers()
const {
return theDetLayers;}
123 void incrementChamberCounters(
const DetLayer *layer);
130 double findChi2(
double pX,
double pY,
double pZ,
131 const CLHEP::Hep3Vector& r3T,
135 bool detailedOutput);
137 double findMinChi2(
unsigned int iSet,
const CLHEP::Hep3Vector& r3T,
139 std::vector < TrajectoryStateOnSurface > &lastUpdatedTSOS_Vect,
142 double chi2AtSpecificStep(CLHEP::Hep3Vector &foot,
143 const CLHEP::Hep3Vector& r3T,
147 bool detailedOutput);
150 std::vector <CLHEP::Hep3Vector> find3MoreStartingPoints(CLHEP::Hep3Vector &key_foot,
151 const CLHEP::Hep3Vector& r3T,
154 std::pair <double,double> findParabolaMinimum(std::vector <double> &quadratic_var,
155 std::vector <double> &quadratic_chi2);
158 void pickElements(std::vector <double> &chi2Feet,
159 unsigned int & high,
unsigned int & second_high,
unsigned int & low);
161 CLHEP::Hep3Vector reflectFoot(std::vector <CLHEP::Hep3Vector> & feet,
162 unsigned int key_foot,
double scale );
164 void nDimContract(std::vector <CLHEP::Hep3Vector> & feet,
unsigned int low);
std::string thePropagatorName
the propagator name
TrajectoryStateOnSurface theLastUpdatedTSOS
the trajectory state on the last available surface
FreeTrajectoryState lastUpdatedFTS() const
the last free trajectory state
CLHEP::Hep3Vector momentum
TrajectoryStateOnSurface theLastButOneUpdatedTSOS
the trajectory state on the last but one available surface
Trajectory::DataContainer trajectoryMeasurementsInTheSet
std::string theBWLightFitterName
void setLastButOneUpdatedTSOS(TrajectoryStateOnSurface tsos)
Set the last but one TSOS.
TrajectoryStateOnSurface lastUpdatedTSOS() const
the Trajectory state on the last surface of the fitting
std::vector< const DetLayer * > layers() const
return the layer used for the refit
int getTotalChamberUsed() const
int getDTChamberUsed() const
const DetLayer * lastDetLayer() const
return the last det layer
std::vector< TrajectoryMeasurement > DataContainer
NavigationDirection theFitDirection
the propagation direction
int getCSCChamberUsed() const
bool useSegmentsInTrajectory
std::vector< ConstRecHitPointer > ConstRecHitContainer
int getRPCChamberUsed() const
const MuonServiceProxy * theService
edm::ESHandle< TrajectoryFitter > theBWLightFitter
used in the SET BW fit
MuonTransientTrackingRecHit::MuonRecHitContainer theSet
std::vector< const DetLayer * > theDetLayers
the det layer used in the reconstruction
void reset(double vett[256])
std::vector< MuonRecHitPointer > MuonRecHitContainer
void setLastUpdatedTSOS(TrajectoryStateOnSurface tsos)
Set the last TSOS.