1 #ifndef CSCSegment_CSCSegAlgoRU_h 2 #define CSCSegment_CSCSegAlgoRU_h 27 #include <Math/Functions.h> 28 #include <Math/SVector.h> 29 #include <Math/SMatrix.h> 52 typedef ROOT::Math::SVector<double,6>
SVector6;
81 std::vector<CSCSegment>
run(
const CSCChamber* aChamber,
const ChamberHitContainer& rechits)
override{
return buildSegments(aChamber, rechits); }
89 std::unique_ptr<CSCSegFit>
sfit =
nullptr;
113 const BoolContainer& used,
const LayerIndex& layerIndex,
114 const ChamberHitContainerCIt i1,
const ChamberHitContainerCIt i2)
const;
125 void flagHitsAsUsed(
const AlgoState& aState,
const ChamberHitContainer& rechitsInChamber,BoolContainer& used)
const;
bool areHitsCloseInR(const AlgoState &aState, const CSCRecHit2D *h1, const CSCRecHit2D *h2) const
Utility functions.
ROOT::Math::SVector< double, 6 > SVector6
Typedefs.
std::vector< const CSCRecHit2D * >::const_iterator ChamberHitContainerCIt
bool areHitsCloseInGlobalPhi(const AlgoState &aState, const CSCRecHit2D *h1, const CSCRecHit2D *h2) const
float phiAtZ(const AlgoState &aState, float z) const
bool replaceHit(AlgoState &aState, const CSCRecHit2D *h, int layer) const
ChamberHitContainer proto_segment
std::unique_ptr< CSCSegFit > sfit
void tryAddingHitsToSegment(AlgoState &aState, const ChamberHitContainer &rechitsInChamber, const BoolContainer &used, const LayerIndex &layerIndex, const ChamberHitContainerCIt i1, const ChamberHitContainerCIt i2) const
bool isSegmentGood(const AlgoState &aState, const ChamberHitContainer &rechitsInChamber) const
void baseline(AlgoState &aState, int n_seg_min) const
bool isHitNearSegment(const AlgoState &aState, const CSCRecHit2D *h) const
void increaseProtoSegment(AlgoState &aState, const CSCRecHit2D *h, int layer, int chi2_factor) const
CSCSegAlgoRU(const edm::ParameterSet &ps)
Constructor.
std::vector< const CSCRecHit2D * > ChamberHitContainer
std::vector< bool > BoolContainer
std::vector< int > LayerIndex
void updateParameters(AlgoState &aState) const
void compareProtoSegment(AlgoState &aState, const CSCRecHit2D *h, int layer) const
bool addHit(AlgoState &aState, const CSCRecHit2D *hit, int layer) const
Utility functions.
float fit_r_phi(const AlgoState &aState, const SVector6 &points, int layer) const
std::vector< CSCSegment > buildSegments(const CSCChamber *aChamber, const ChamberHitContainer &rechits) const
float fitX(const AlgoState &aState, SVector6 points, SVector6 errors, int ir, int ir2, float &chi2_str) const
void flagHitsAsUsed(const AlgoState &aState, const ChamberHitContainer &rechitsInChamber, BoolContainer &used) const
std::vector< CSCSegment > run(const CSCChamber *aChamber, const ChamberHitContainer &rechits) override
bool hasHitOnLayer(const AlgoState &aState, int layer) const
~CSCSegAlgoRU() override
Destructor.