CMS 3D CMS Logo

DTCombinatorialPatternReco4D.h
Go to the documentation of this file.
1 #ifndef DTSegment_DTCombinatorialPatternReco4D_h
2 #define DTSegment_DTCombinatorialPatternReco4D_h
3 
13 // Base Class Headers
15 
17 
18 // Collaborating Class Declarations
19 namespace edm {
20  class ParameterSet;
21  class EventSetup;
22 } // namespace edm
23 class DTSegmentUpdator;
24 class MuonGeometryRecord;
25 //class DTSegmentCleaner;
26 
27 // C++ Headers
28 #include <vector>
29 //#include <utility>
30 
35 
36 // ======================================================================
37 class DTSegmentCand;
39 class DTHitPairForFit;
40 
41 // Class DTCombinatorialPatternReco4D Interface
42 
44 public:
47 
50 
53 
54  std::string algoName() const override { return theAlgoName; }
55 
56  void setES(const edm::EventSetup& setup) override;
59  void setChamber(const DTChamberId& chId) override;
60  bool wants2DSegments() override { return !allDTRecHits; }
61 
62 protected:
63 private:
64  std::vector<DTSegmentCand*> buildPhiSuperSegmentsCandidates(
65  std::vector<std::shared_ptr<DTHitPairForFit>>& pairPhiOwned);
67 
69 
70  bool debug;
71  // DTSegmentUpdator* theUpdator; // the updator and fitter
72  // DTSegmentCleaner* theCleaner; // the cleaner
73 
76 
77  // The reconstruction 2D algorithm
78  // For the 2D reco I use thei reconstructor!
80 
81  // the updator
83 
85 
86  //the input type
90 
91  // std::vector<DTRecHit1D> the1DPhiHits;
92  std::vector<DTSLRecSegment2D> theSegments2DTheta;
93  std::vector<DTRecHit1DPair> theHitsFromPhi1;
94  std::vector<DTRecHit1DPair> theHitsFromTheta;
95  std::vector<DTRecHit1DPair> theHitsFromPhi2;
96 };
97 #endif
DTCombinatorialPatternReco * the2DAlgo
void setDTRecSegment2DContainer(edm::Handle< DTRecSegment2DCollection > all2DSegments) override
edm::OwnVector< DTRecSegment4D > reconstruct() override
Operations.
std::vector< DTRecHit1DPair > theHitsFromPhi2
void setChamber(const DTChamberId &chId) override
std::string algoName() const override
DTRecSegment4D * segmentSpecialZed(const DTRecSegment4D *seg)
Build a 4d segment with a zed component made by just one hits.
void setDTRecHit1DContainer(edm::Handle< DTRecHitCollection > all1DHits) override
edm::ESGetToken< DTGeometry, MuonGeometryRecord > theDTGeometryToken
std::vector< DTRecHit1DPair > theHitsFromPhi1
std::vector< DTSLRecSegment2D > theSegments2DTheta
~DTCombinatorialPatternReco4D() override
Destructor.
void setES(const edm::EventSetup &setup) override
std::vector< DTRecHit1DPair > theHitsFromTheta
edm::ESHandle< DTGeometry > theDTGeometry
std::vector< DTSegmentCand * > buildPhiSuperSegmentsCandidates(std::vector< std::shared_ptr< DTHitPairForFit >> &pairPhiOwned)
HLT enums.
DTCombinatorialPatternReco4D(const edm::ParameterSet &pset, edm::ConsumesCollector)
Constructor.