CMS 3D CMS Logo

CSCSegAlgoDF.h
Go to the documentation of this file.
1 #ifndef CSCSegment_CSCSegAlgoDF_h
2 #define CSCSegment_CSCSegAlgoDF_h
3 
40 
41 #include <deque>
42 #include <vector>
43 
46 class CSCSegFit;
47 
49 public:
51 
52  typedef std::vector<int> LayerIndex;
53  typedef std::vector<const CSCRecHit2D*> ChamberHitContainer;
54  typedef std::vector<const CSCRecHit2D*>::const_iterator ChamberHitContainerCIt;
55  typedef std::deque<bool> BoolContainer;
56 
58  explicit CSCSegAlgoDF(const edm::ParameterSet& ps);
59 
61  ~CSCSegAlgoDF() override;
62 
67  std::vector<CSCSegment> buildSegments(const ChamberHitContainer& rechits);
68 
72  std::vector<CSCSegment> run(const CSCChamber* aChamber, const ChamberHitContainer& rechits) override;
73 
74 private:
76 
89  void tryAddingHitsToSegment(const ChamberHitContainer& rechitsInChamber,
92  const LayerIndex& layerIndex);
93 
97  void flagHitsAsUsed(const ChamberHitContainer& rechitsInChamber);
98 
102  void pruneFromResidual(void);
103 
104  bool isHitNearSegment(const CSCRecHit2D* h) const;
105  bool addHit(const CSCRecHit2D* hit, int layer);
106  void updateParameters(void);
107  bool hasHitOnLayer(int layer) const;
108  void compareProtoSegment(const CSCRecHit2D* h, int layer);
109  void dumpSegment(const CSCSegment& seg) const;
110 
111  // Member variables
115 
117 
120 
121  // input from .cfi file
122  bool debug;
125  // bool testSeg;
126  bool Pruning;
129  // float nSigmaFromSegment;
131  // int muonsPerChamberMax;
132  double dRPhiFineMax;
133  double dPhiFineMax;
134  float tanPhiMax;
135  float tanThetaMax;
136  float chi2Max;
138 
142 };
143 
144 #endif
CSCSegAlgoDF::maxRatioResidual
float maxRatioResidual
Definition: CSCSegAlgoDF.h:137
CSCSegAlgoDF::sfit_
CSCSegFit * sfit_
Definition: CSCSegAlgoDF.h:141
CSCSegAlgoDF::chi2Max
float chi2Max
Definition: CSCSegAlgoDF.h:136
CSCSegAlgoDF::BoolContainer
std::deque< bool > BoolContainer
Definition: CSCSegAlgoDF.h:55
CSCSegAlgoDF::tanPhiMax
float tanPhiMax
Definition: CSCSegAlgoDF.h:134
testProducerWithPsetDescEmpty_cfi.i2
i2
Definition: testProducerWithPsetDescEmpty_cfi.py:46
CSCSegAlgoDF::ChamberHitContainer
std::vector< const CSCRecHit2D * > ChamberHitContainer
Definition: CSCSegAlgoDF.h:53
CSCSegmentAlgorithm
Definition: CSCSegmentAlgorithm.h:23
CSCSegAlgoDF::dPhiFineMax
double dPhiFineMax
Definition: CSCSegAlgoDF.h:133
CSCSegAlgoDF::debug
bool debug
Definition: CSCSegAlgoDF.h:122
CSCSegAlgoDF
Definition: CSCSegAlgoDF.h:48
testProducerWithPsetDescEmpty_cfi.i1
i1
Definition: testProducerWithPsetDescEmpty_cfi.py:45
CSCSegAlgoDF::tanThetaMax
float tanThetaMax
Definition: CSCSegAlgoDF.h:135
CSCSegAlgoDF::addHit
bool addHit(const CSCRecHit2D *hit, int layer)
Definition: CSCSegAlgoDF.cc:423
CSCSegFit
Definition: CSCSegFit.h:30
CSCSegAlgoShowering
Definition: CSCSegAlgoShowering.h:26
CSCSegAlgoDF::compareProtoSegment
void compareProtoSegment(const CSCRecHit2D *h, int layer)
Definition: CSCSegAlgoDF.cc:483
CSCSegAlgoDF::run
std::vector< CSCSegment > run(const CSCChamber *aChamber, const ChamberHitContainer &rechits) override
Definition: CSCSegAlgoDF.cc:65
CSCSegAlgoDF::minHitsPerSegment
int minHitsPerSegment
Definition: CSCSegAlgoDF.h:130
CSCSegAlgoDF::theChamber
const CSCChamber * theChamber
Definition: CSCSegAlgoDF.h:113
CSCSegAlgoDF::buildSegments
std::vector< CSCSegment > buildSegments(const ChamberHitContainer &rechits)
Definition: CSCSegAlgoDF.cc:109
CSCSegAlgoDF::showering_
CSCSegAlgoShowering * showering_
Definition: CSCSegAlgoDF.h:140
CSCChamber
Definition: CSCChamber.h:22
CSCSegAlgoPreClustering
Definition: CSCSegAlgoPreClustering.h:20
CSCSegAlgoDF::CSCSegAlgoDF
CSCSegAlgoDF(const edm::ParameterSet &ps)
Constructor.
Definition: CSCSegAlgoDF.cc:34
HI_PhotonSkim_cff.rechits
rechits
Definition: HI_PhotonSkim_cff.py:76
h
CSCSegAlgoDF::updateParameters
void updateParameters(void)
Definition: CSCSegAlgoDF.cc:448
CSCSegAlgoDF::usedHits
BoolContainer usedHits
Definition: CSCSegAlgoDF.h:114
CSCSegment
Definition: CSCSegment.h:21
phase1PixelTopology::layer
constexpr std::array< uint8_t, layerIndexSize > layer
Definition: phase1PixelTopology.h:99
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
CSCSegAlgoDF::minLayersApart
int minLayersApart
Definition: CSCSegAlgoDF.h:127
CSCSegAlgoDF::dumpSegment
void dumpSegment(const CSCSegment &seg) const
Definition: CSCSegAlgoDF.cc:608
CSCSegAlgoDF::protoSegment
ChamberHitContainer protoSegment
Definition: CSCSegAlgoDF.h:118
CSCSegAlgoDF::tryAddingHitsToSegment
void tryAddingHitsToSegment(const ChamberHitContainer &rechitsInChamber, const ChamberHitContainerCIt i1, const ChamberHitContainerCIt i2, const LayerIndex &layerIndex)
Utility functions.
Definition: CSCSegAlgoDF.cc:290
CSCSegAlgoDF::nHitsPerClusterIsShower
int nHitsPerClusterIsShower
Definition: CSCSegAlgoDF.h:128
edm::ParameterSet
Definition: ParameterSet.h:47
CSCRecHit2D
Definition: CSCRecHit2D.h:18
CSCSegAlgoDF::preCluster_
CSCSegAlgoPreClustering * preCluster_
Definition: CSCSegAlgoDF.h:139
CSCSegAlgoDF::isHitNearSegment
bool isHitNearSegment(const CSCRecHit2D *h) const
Definition: CSCSegAlgoDF.cc:381
CSCSegAlgoDF::minHitsForPreClustering
int minHitsForPreClustering
Definition: CSCSegAlgoDF.h:124
CSCSegAlgoDF::flagHitsAsUsed
void flagHitsAsUsed(const ChamberHitContainer &rechitsInChamber)
Definition: CSCSegAlgoDF.cc:524
CSCSegAlgoDF::secondSeedHits
ChamberHitContainer secondSeedHits
Definition: CSCSegAlgoDF.h:119
CSCSegAlgoDF::pruneFromResidual
void pruneFromResidual(void)
Definition: CSCSegAlgoDF.cc:549
CSCSegAlgoDF::closeHits
ChamberHitContainer closeHits
Definition: CSCSegAlgoDF.h:116
CSCSegAlgoDF::Pruning
bool Pruning
Definition: CSCSegAlgoDF.h:126
CSCSegAlgoDF::preClustering
bool preClustering
Definition: CSCSegAlgoDF.h:123
CSCSegmentAlgorithm.h
CSCRecHit2D.h
CSCSegAlgoDF::hasHitOnLayer
bool hasHitOnLayer(int layer) const
Definition: CSCSegAlgoDF.cc:466
CSCSegAlgoDF::ChamberHitContainerCIt
std::vector< const CSCRecHit2D * >::const_iterator ChamberHitContainerCIt
Definition: CSCSegAlgoDF.h:54
CSCSegAlgoDF::LayerIndex
std::vector< int > LayerIndex
Typedefs.
Definition: CSCSegAlgoDF.h:52
CSCSegAlgoDF::~CSCSegAlgoDF
~CSCSegAlgoDF() override
Destructor.
Definition: CSCSegAlgoDF.cc:57
CSCSegAlgoDF::myName
const std::string myName
Definition: CSCSegAlgoDF.h:112
hit
Definition: SiStripHitEffFromCalibTree.cc:88
CSCSegAlgoDF::dRPhiFineMax
double dRPhiFineMax
Definition: CSCSegAlgoDF.h:132