#include <RecoMuon/TrackingTools/interface/MuonChi2MeasurementEstimator.h>
Public Member Functions | |
virtual std::pair< bool, double > | estimate (const TrajectoryStateOnSurface &, const TransientTrackingRecHit &) const |
Chi2 estimator. | |
MuonChi2MeasurementEstimator (double dtMaxChi2, double cscMaxChi2, double rpcMaxChi2, double nSigma) | |
Constructor detector dependent. | |
MuonChi2MeasurementEstimator (double maxChi2, double nSigma=3.) | |
Constructor detector indipendent. | |
Private Attributes | |
Chi2MeasurementEstimator | theCSCChi2Estimator |
Chi2MeasurementEstimator | theDTChi2Estimator |
Chi2MeasurementEstimator | theRPCChi2Estimator |
MuonChi2MeasurementEstimator inherits from the Chi2MeasurementEstimatorBase class and uses 3 different estimators.
Definition at line 19 of file MuonChi2MeasurementEstimator.h.
MuonChi2MeasurementEstimator::MuonChi2MeasurementEstimator | ( | double | maxChi2, | |
double | nSigma = 3. | |||
) |
Constructor detector indipendent.
Definition at line 21 of file MuonChi2MeasurementEstimator.cc.
00022 :Chi2MeasurementEstimatorBase(maxChi2,nSigma), 00023 theDTChi2Estimator(maxChi2, nSigma), 00024 theCSCChi2Estimator(maxChi2, nSigma), 00025 theRPCChi2Estimator(maxChi2, nSigma){}
MuonChi2MeasurementEstimator::MuonChi2MeasurementEstimator | ( | double | dtMaxChi2, | |
double | cscMaxChi2, | |||
double | rpcMaxChi2, | |||
double | nSigma = 3. | |||
) |
Constructor detector dependent.
Definition at line 28 of file MuonChi2MeasurementEstimator.cc.
00029 :Chi2MeasurementEstimatorBase(dtMaxChi2,nSigma), 00030 theDTChi2Estimator(dtMaxChi2, nSigma), 00031 theCSCChi2Estimator(cscMaxChi2, nSigma), 00032 theRPCChi2Estimator(rpcMaxChi2, nSigma){}
std::pair< bool, double > MuonChi2MeasurementEstimator::estimate | ( | const TrajectoryStateOnSurface & | tsos, | |
const TransientTrackingRecHit & | recHit | |||
) | const [virtual] |
Chi2 estimator.
Implements Chi2MeasurementEstimatorBase.
Definition at line 36 of file MuonChi2MeasurementEstimator.cc.
References MuonSubdetId::CSC, MuonSubdetId::DT, Chi2MeasurementEstimator::estimate(), TrackingRecHit::geographicalId(), DetId::Muon, MuonSubdetId::RPC, theCSCChi2Estimator, theDTChi2Estimator, and theRPCChi2Estimator.
00037 { 00038 00039 DetId id = recHit.geographicalId(); 00040 00041 // chi2 choise based on recHit provenance 00042 if(id.det() == DetId::Muon){ 00043 if(id.subdetId() == MuonSubdetId::DT) 00044 return theDTChi2Estimator.estimate(tsos,recHit); 00045 else if(id.subdetId() == MuonSubdetId::CSC) 00046 return theCSCChi2Estimator.estimate(tsos,recHit); 00047 else if(id.subdetId() == MuonSubdetId::RPC) 00048 return theRPCChi2Estimator.estimate(tsos,recHit); 00049 else{ 00050 edm::LogWarning("Muon|RecoMuon|MuonChi2MeasurementEstimator") 00051 <<"RecHit with MuonId but not with a SubDetId neither from DT, CSC or rpc. [Use the parameters used for DTs]"; 00052 return theDTChi2Estimator.estimate(tsos,recHit); 00053 } 00054 } 00055 else{ 00056 edm::LogWarning("Muon|RecoMuon|MuonChi2MeasurementEstimator") 00057 <<"Rechit with a non-muon det id. [Use the parameters used for DTs]"; 00058 return theDTChi2Estimator.estimate(tsos,recHit); 00059 } 00060 }