#include <CSCSegAlgoShowering.h>
Public Types | |
typedef std::vector< const CSCRecHit2D * > | ChamberHitContainer |
Public Member Functions | |
CSCSegAlgoShowering (const edm::ParameterSet &ps) | |
Constructor. More... | |
CSCSegment | showerSeg (const CSCChamber *aChamber, const ChamberHitContainer &rechits) |
virtual | ~CSCSegAlgoShowering () |
Destructor. More... | |
Private Member Functions | |
bool | addHit (const CSCRecHit2D *hit, int layer) |
AlgebraicSymMatrix | calculateError (void) const |
void | compareProtoSegment (const CSCRecHit2D *h, int layer) |
CLHEP::HepMatrix | derivativeMatrix (void) const |
void | flipErrors (AlgebraicSymMatrix &) const |
bool | hasHitOnLayer (int layer) const |
bool | isHitNearSegment (const CSCRecHit2D *h) const |
Utility functions. More... | |
void | pruneFromResidual () |
void | updateParameters (void) |
AlgebraicSymMatrix | weightMatrix (void) const |
Private Attributes | |
float | chi2Max |
bool | debug |
double | dPhiFineMax |
double | dRPhiFineMax |
float | maxDPhi |
float | maxDTheta |
float | maxRatioResidual |
int | minHitsPerSegment |
const std::string | myName |
double | protoChi2 |
LocalVector | protoDirection |
LocalPoint | protoIntercept |
ChamberHitContainer | protoSegment |
float | protoSlope_u |
float | protoSlope_v |
float | tanPhiMax |
float | tanThetaMax |
const CSCChamber * | theChamber |
class CSCSegAlgoShowering
Handle case where too many hits are reconstructed in the chamber, even after preclustering for normal segment reconstruction to properly handle these. In this case, determine the average local (x,y) for each layer and find the hit closest to that localpoint for that given layer. From these hits, reconstruct a segment. The idea is to give the reconstruction (seeding) a valid starting point for the kalman filter.
Definition at line 24 of file CSCSegAlgoShowering.h.
typedef std::vector<const CSCRecHit2D*> CSCSegAlgoShowering::ChamberHitContainer |
Definition at line 28 of file CSCSegAlgoShowering.h.
|
explicit |
Constructor.
Definition at line 28 of file CSCSegAlgoShowering.cc.
References dPhiFineMax, dRPhiFineMax, edm::ParameterSet::getParameter(), maxDPhi, maxDTheta, maxRatioResidual, tanPhiMax, and tanThetaMax.
|
virtual |
|
private |
Definition at line 301 of file CSCSegAlgoShowering.cc.
References convertSQLiteXML::ok, and protoSegment.
Referenced by compareProtoSegment().
|
private |
Definition at line 517 of file CSCSegAlgoShowering.cc.
References funct::A, derivativeMatrix(), query::result, weightMatrix(), and create_public_pileup_plots::weights.
Referenced by showerSeg().
|
private |
Definition at line 433 of file CSCSegAlgoShowering.cc.
References addHit(), convertSQLiteXML::ok, protoChi2, protoDirection, protoIntercept, protoSegment, protoSlope_u, protoSlope_v, and updateParameters().
Referenced by showerSeg().
|
private |
Definition at line 490 of file CSCSegAlgoShowering.cc.
References CSCChamber::layer(), makeMuonMisalignmentScenario::matrix, protoSegment, theChamber, GeomDet::toGlobal(), GeomDet::toLocal(), detailsBasic3DVector::z, and PV3DBase< T, PVType, FrameType >::z().
Referenced by calculateError().
|
private |
|
private |
|
private |
Utility functions.
Definition at line 264 of file CSCSegAlgoShowering.cc.
References SiPixelRawToDigiRegional_cfi::deltaPhi, dPhiFineMax, dRPhiFineMax, CSCChamber::layer(), M_PI, PV3DBase< T, PVType, FrameType >::phi(), protoIntercept, protoSlope_u, protoSlope_v, dttmaxenums::R, mathSSE::sqrt(), theChamber, GeomDet::toGlobal(), GeomDet::toLocal(), PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), detailsBasic3DVector::z, and PV3DBase< T, PVType, FrameType >::z().
Referenced by showerSeg().
|
private |
Definition at line 555 of file CSCSegAlgoShowering.cc.
References j, CSCChamber::layer(), maxRatioResidual, protoIntercept, protoSegment, protoSlope_u, protoSlope_v, mathSSE::sqrt(), theChamber, GeomDet::toGlobal(), GeomDet::toLocal(), updateParameters(), findQualityFiles::v, PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), detailsBasic3DVector::z, and PV3DBase< T, PVType, FrameType >::z().
Referenced by showerSeg().
CSCSegment CSCSegAlgoShowering::showerSeg | ( | const CSCChamber * | aChamber, |
const ChamberHitContainer & | rechits | ||
) |
Definition at line 52 of file CSCSegAlgoShowering.cc.
References calculateError(), compareProtoSegment(), diffTreeTool::diff, dPhi(), flipErrors(), h, i, customizeTrackingMonitorSeedNumber::idx, isHitNearSegment(), CSCChamber::layer(), PV3DBase< T, PVType, FrameType >::mag(), maxDPhi, maxDTheta, n, PV3DBase< T, PVType, FrameType >::phi(), protoChi2, protoDirection, protoIntercept, protoSegment, protoSlope_u, protoSlope_v, pruneFromResidual(), mathSSE::sqrt(), groupFilesInBlocks::temp, theChamber, PV3DBase< T, PVType, FrameType >::theta(), GeomDet::toGlobal(), GeomDet::toLocal(), csvLumiCalc::unit, updateParameters(), x, PV3DBase< T, PVType, FrameType >::x(), detailsBasic3DVector::y, PV3DBase< T, PVType, FrameType >::y(), detailsBasic3DVector::z, and PV3DBase< T, PVType, FrameType >::z().
Referenced by CSCSegAlgoST::buildSegments(), and CSCSegAlgoDF::buildSegments().
|
private |
Definition at line 323 of file CSCSegAlgoShowering.cc.
References CSCChamber::layer(), LogDebug, AlCaHLTBitMon_ParallelJobs::p, protoChi2, protoIntercept, protoSegment, protoSlope_u, protoSlope_v, theChamber, GeomDet::toGlobal(), GeomDet::toLocal(), findQualityFiles::v, PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), detailsBasic3DVector::z, and PV3DBase< T, PVType, FrameType >::z().
Referenced by compareProtoSegment(), pruneFromResidual(), and showerSeg().
|
private |
Definition at line 467 of file CSCSegAlgoShowering.cc.
References makeMuonMisalignmentScenario::matrix, and protoSegment.
Referenced by calculateError().
|
private |
Definition at line 72 of file CSCSegAlgoShowering.h.
|
private |
Definition at line 66 of file CSCSegAlgoShowering.h.
|
private |
Definition at line 69 of file CSCSegAlgoShowering.h.
Referenced by CSCSegAlgoShowering(), and isHitNearSegment().
|
private |
Definition at line 68 of file CSCSegAlgoShowering.h.
Referenced by CSCSegAlgoShowering(), and isHitNearSegment().
|
private |
Definition at line 76 of file CSCSegAlgoShowering.h.
Referenced by CSCSegAlgoShowering(), and showerSeg().
|
private |
Definition at line 75 of file CSCSegAlgoShowering.h.
Referenced by CSCSegAlgoShowering(), and showerSeg().
|
private |
Definition at line 73 of file CSCSegAlgoShowering.h.
Referenced by CSCSegAlgoShowering(), and pruneFromResidual().
|
private |
Definition at line 67 of file CSCSegAlgoShowering.h.
|
private |
Definition at line 55 of file CSCSegAlgoShowering.h.
|
private |
Definition at line 62 of file CSCSegAlgoShowering.h.
Referenced by compareProtoSegment(), showerSeg(), and updateParameters().
|
private |
Definition at line 63 of file CSCSegAlgoShowering.h.
Referenced by compareProtoSegment(), and showerSeg().
|
private |
Definition at line 61 of file CSCSegAlgoShowering.h.
Referenced by compareProtoSegment(), isHitNearSegment(), pruneFromResidual(), showerSeg(), and updateParameters().
|
private |
Definition at line 58 of file CSCSegAlgoShowering.h.
Referenced by addHit(), compareProtoSegment(), derivativeMatrix(), pruneFromResidual(), showerSeg(), updateParameters(), and weightMatrix().
|
private |
Definition at line 59 of file CSCSegAlgoShowering.h.
Referenced by compareProtoSegment(), isHitNearSegment(), pruneFromResidual(), showerSeg(), and updateParameters().
|
private |
Definition at line 60 of file CSCSegAlgoShowering.h.
Referenced by compareProtoSegment(), isHitNearSegment(), pruneFromResidual(), showerSeg(), and updateParameters().
|
private |
Definition at line 70 of file CSCSegAlgoShowering.h.
Referenced by CSCSegAlgoShowering().
|
private |
Definition at line 71 of file CSCSegAlgoShowering.h.
Referenced by CSCSegAlgoShowering().
|
private |
Definition at line 56 of file CSCSegAlgoShowering.h.
Referenced by derivativeMatrix(), isHitNearSegment(), pruneFromResidual(), showerSeg(), and updateParameters().