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 }
23 class DTSegmentUpdator;
24 //class DTSegmentCleaner;
25 
26 // C++ Headers
27 #include <vector>
28 //#include <utility>
29 
32 
33 // ======================================================================
34 class DTSegmentCand;
36 class DTHitPairForFit;
37 
38 // Class DTCombinatorialPatternReco4D Interface
39 
41 
42  public:
43 
46 
49 
51  virtual edm::OwnVector<DTRecSegment4D> reconstruct();
52 
53  virtual std::string algoName() const { return theAlgoName; }
54 
55  virtual void setES(const edm::EventSetup& setup);
56  virtual void setDTRecHit1DContainer(edm::Handle<DTRecHitCollection> all1DHits);
57  virtual void setDTRecSegment2DContainer(edm::Handle<DTRecSegment2DCollection> all2DSegments);
58  virtual void setChamber(const DTChamberId &chId);
59  virtual bool wants2DSegments(){return !allDTRecHits;}
60 
61  protected:
62 
63  private:
64  std::vector<DTSegmentCand*> buildPhiSuperSegmentsCandidates(std::vector<std::shared_ptr<DTHitPairForFit>> &pairPhiOwned);
65  DTRecSegment4D* segmentSpecialZed(const DTRecSegment4D* seg);
66 
68 
69  bool debug;
70  // DTSegmentUpdator* theUpdator; // the updator and fitter
71  // DTSegmentCleaner* theCleaner; // the cleaner
72 
74 
75  // The reconstruction 2D algorithm
76  // For the 2D reco I use thei reconstructor!
78 
79  // the updator
81 
83 
84  //the input type
88 
89  // std::vector<DTRecHit1D> the1DPhiHits;
90  std::vector<DTSLRecSegment2D> theSegments2DTheta;
91  std::vector<DTRecHit1DPair> theHitsFromPhi1;
92  std::vector<DTRecHit1DPair> theHitsFromTheta;
93  std::vector<DTRecHit1DPair> theHitsFromPhi2;
94 };
95 #endif
DTCombinatorialPatternReco * the2DAlgo
def setup(process, global_tag, zero_tesla=False)
Definition: GeneralSetup.py:1
std::vector< DTRecHit1DPair > theHitsFromPhi2
virtual std::string algoName() const
std::vector< DTRecHit1DPair > theHitsFromPhi1
std::vector< DTSLRecSegment2D > theSegments2DTheta
std::vector< DTRecHit1DPair > theHitsFromTheta
edm::ESHandle< DTGeometry > theDTGeometry
HLT enums.