1 #ifndef CSCSegment_CSCSegAlgoST_h
2 #define CSCSegment_CSCSegAlgoST_h
41 typedef std::vector < std::vector<const CSCRecHit2D* > >
Segments;
86 double theWeight(
double coordinate_1,
double coordinate_2,
double coordinate_3,
float layer_1,
float layer_2,
float layer_3);
91 void ChooseSegments2a(std::vector< ChamberHitContainer > & best_segments,
int best_seg);
97 void ChooseSegments3(std::vector< ChamberHitContainer > & best_segments, std::vector< float > & best_weight,
int best_seg);
double yweightPenaltyThreshold
double protoChiUCorrection
Allow to correct the error matrix.
bool preClustering_useChaining
bool passCondNumber
The number to fource the Covariance.
void doSlopesAndChi2(void)
std::vector< ChamberHitContainer > Psegments_noL5
std::vector< float > curv_noL2_A
void correctTheCovMatrix(CLHEP::HepMatrix &IC)
const CSCChamber * theChamber
std::vector< float > weight_noL4_A
void correctTheCovX(void)
std::vector< std::vector< const CSCRecHit2D * > > clusterHits(const CSCChamber *aChamber, ChamberHitContainer &rechits)
std::vector< float > curv_noL6_A
std::vector< std::vector< const CSCRecHit2D * > > Segments
void ChooseSegments2(int best_seg)
void ChooseSegments3(int best_seg)
std::vector< float > weight_noL3_B
std::vector< ChamberHitContainer > Psegments_noL1
CSCSegAlgoST(const edm::ParameterSet &ps)
Constructor.
bool isGoodToMerge(bool isME11a, ChamberHitContainer &newChain, ChamberHitContainer &oldChain)
std::vector< ChamberHitContainer > chosen_Psegments
std::vector< ChamberHitContainer > Psegments
ChamberHitContainer protoSegment
double condSeed1_
Correct the error matrix for the condition number.
LocalVector protoDirection
std::vector< float > weight_noL3_A
CSCSegAlgoShowering * showering_
virtual ~CSCSegAlgoST()
Destructor.
double covAnyNumber_
Allow to use any number for covariance for all RecHits.
std::vector< ChamberHitContainer > Psegments_noLx
double curvePenaltyThreshold
std::vector< ChamberHitContainer > Psegments_noL4
std::vector< float > weight_A
std::vector< float > weight_noL1_B
std::vector< CSCSegment > buildSegments2(ChamberHitContainer rechits)
std::vector< CSCSegment > prune_bad_hits(const CSCChamber *aChamber, std::vector< CSCSegment > &segments)
std::vector< float > curv_noL5_A
std::vector< ChamberHitContainer > Psegments_noL6
unsigned maxContrIndex
Chi^2 normalization for the initial fit.
std::vector< const CSCRecHit2D * > ChamberHitContainer
Typedefs.
void flipErrors(AlgebraicSymMatrix &) const
std::vector< ChamberHitContainer > Psegments_noL2
std::vector< float > weight_noL5_A
bool passCondNumber_2
Passage the condition number calculations.
AlgebraicSymMatrix weightMatrix(void) const
std::vector< float > weight_noL1_A
std::vector< float > curv_noL4_A
std::vector< float > weight_noL2_A
std::vector< float > chosen_weight_A
bool correctCov_
Correct the Error Matrix.
ChamberHitContainer Psegments_hits
void findDuplicates(std::vector< CSCSegment > &segments)
std::vector< float > curv_noL1_A
void fillChiSquared(void)
AlgebraicSymMatrix calculateError(void) const
bool covToAnyNumberAll_
Allow to use any number for covariance (by hand)
double theWeight(double coordinate_1, double coordinate_2, double coordinate_3, float layer_1, float layer_2, float layer_3)
Utility functions.
std::deque< bool > BoolContainer
std::vector< float > curv_A
bool prePrun_
The index of the worst x RecHit in Chi^2-X method.
void ChooseSegments(void)
std::vector< std::vector< const CSCRecHit2D * > > chainHits(const CSCChamber *aChamber, ChamberHitContainer &rechits)
CLHEP::HepSymMatrix AlgebraicSymMatrix
std::vector< float > weight_noL5_B
std::vector< float > weight_B
float a_yweightPenaltyThreshold[5][5]
void ChooseSegments2a(std::vector< ChamberHitContainer > &best_segments, int best_seg)
std::vector< double > e_Cxx
CLHEP::HepMatrix derivativeMatrix(void) const
void fillLocalDirection(void)
std::vector< CSCSegment > run(const CSCChamber *aChamber, ChamberHitContainer rechits)
std::vector< float > weight_noL6_A
std::vector< float > weight_noL2_B
bool covToAnyNumber_
The correction parameters.
std::vector< float > weight_noLx_A
std::vector< float > curv_noL3_A
std::vector< float > weight_noL6_B
std::vector< CSCSegment > buildSegments(ChamberHitContainer rechits)
ChamberHitContainer PAhits_onLayer[6]
LocalPoint protoIntercept
std::vector< float > weight_noL4_B
std::vector< ChamberHitContainer > Psegments_noL3
double chi2Norm_3D_
Chi^2 normalization for the corrected fit.