CMS 3D CMS Logo

DTOccupancyClusterBuilder.h
Go to the documentation of this file.
1 #ifndef DTOccupancyClusterBuilder_H
2 #define DTOccupancyClusterBuilder_H
3 
11 #include "DTOccupancyPoint.h"
12 #include "DTOccupancyCluster.h"
13 
14 #include <set>
15 #include <map>
16 #include <vector>
17 #include <string>
18 
20 public:
23 
26 
27  // Operations
29  void addPoint(const DTOccupancyPoint& point);
30 
32  void buildClusters();
33 
35  void drawClusters(std::string canvasName);
36 
39 
40  bool isProblematic(DTLayerId layerId) const;
41 
42 protected:
43 private:
44  std::pair<DTOccupancyPoint, DTOccupancyPoint> getInitialPair();
45 
47 
48  void computeDistancesToCluster(const DTOccupancyCluster& cluster);
49 
50  bool buildNewCluster();
51 
52  void sortClusters();
53 
54  std::set<DTOccupancyPoint> thePoints;
55  std::map<double, std::pair<DTOccupancyPoint, DTOccupancyPoint> > theDistances;
56  std::map<double, DTOccupancyPoint> theDistancesFromTheCluster;
57  std::vector<DTOccupancyCluster> theClusters;
58  std::set<DTLayerId> theProblematicLayers;
59 
60  double maxMean;
61  double maxRMS;
62 };
63 
64 #endif
std::set< DTLayerId > theProblematicLayers
std::map< double, std::pair< DTOccupancyPoint, DTOccupancyPoint > > theDistances
std::map< double, DTOccupancyPoint > theDistancesFromTheCluster
DTOccupancyCluster getBestCluster() const
get the cluster correspondig to "normal" cell occupancy.
std::set< DTOccupancyPoint > thePoints
void drawClusters(std::string canvasName)
draw a TH2F histograms showing the clusters
bool isProblematic(DTLayerId layerId) const
virtual ~DTOccupancyClusterBuilder()
Destructor.
void computeDistancesToCluster(const DTOccupancyCluster &cluster)
void addPoint(const DTOccupancyPoint &point)
Add an occupancy point for a given layer.
void buildClusters()
build the clusters
std::pair< DTOccupancyPoint, DTOccupancyPoint > getInitialPair()
std::vector< DTOccupancyCluster > theClusters
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
Definition: invegas.h:5