File indexing completed on 2024-09-07 04:37:41
0001 #ifndef DTSegment_DTRefitAndCombineReco4D_h
0002 #define DTSegment_DTRefitAndCombineReco4D_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015 #include "RecoLocalMuon/DTSegment/src/DTRecSegment4DBaseAlgo.h"
0016
0017
0018
0019
0020 namespace edm {
0021 class ParameterSet;
0022 class EventSetup;
0023 }
0024 class DTSegmentUpdator;
0025
0026 class MuonGeometryRecord;
0027
0028
0029 #include <vector>
0030
0031
0032 #include "Geometry/DTGeometry/interface/DTGeometry.h"
0033 #include "FWCore/Framework/interface/ESHandle.h"
0034 #include "FWCore/Utilities/interface/ESGetToken.h"
0035 #include "FWCore/Framework/interface/FrameworkfwdMostUsed.h"
0036
0037
0038
0039
0040
0041
0042 class DTRefitAndCombineReco4D : public DTRecSegment4DBaseAlgo {
0043 public:
0044
0045 DTRefitAndCombineReco4D(const edm::ParameterSet &pset, edm::ConsumesCollector cc);
0046
0047
0048 ~DTRefitAndCombineReco4D() override {}
0049
0050
0051 edm::OwnVector<DTRecSegment4D> reconstruct() override;
0052
0053 std::string algoName() const override { return theAlgoName; }
0054
0055 void setES(const edm::EventSetup &setup) override;
0056
0057 void setDTRecHit1DContainer(edm::Handle<DTRecHitCollection> all1DHits) override {}
0058 void setDTRecSegment2DContainer(edm::Handle<DTRecSegment2DCollection> all2DSegments) override;
0059 void setChamber(const DTChamberId &chId) override;
0060 bool wants2DSegments() override { return true; }
0061
0062 protected:
0063 private:
0064 std::vector<DTChamberRecSegment2D> refitSuperSegments();
0065
0066 std::string theAlgoName;
0067
0068 double theMaxChi2forPhi;
0069
0070 bool debug;
0071
0072
0073
0074 edm::ESHandle<DTGeometry> theDTGeometry;
0075 const edm::ESGetToken<DTGeometry, MuonGeometryRecord> theDTGeometryToken;
0076
0077
0078
0079
0080
0081 DTSegmentUpdator *theUpdator;
0082
0083 const DTChamber *theChamber;
0084 std::vector<DTSLRecSegment2D> theSegments2DPhi1;
0085 std::vector<DTSLRecSegment2D> theSegments2DTheta;
0086 std::vector<DTSLRecSegment2D> theSegments2DPhi2;
0087 };
0088 #endif