53 theMaxMean(singlePoint.
mean()),
54 theMaxRMS(singlePoint.
rms()),
55 theMeanSum(singlePoint.
mean()),
56 theRMSSum(singlePoint.
rms()) {
79 LogTrace(
"DTDQM|DTMonitorClient|DTOccupancyTest|DTOccupancyCluster")
80 <<
" Add a point to the cluster: mean: " << anotherPoint.
mean()
81 <<
" rms: " << anotherPoint.
rms() << endl;
83 LogTrace(
"DTDQM|DTMonitorClient|DTOccupancyTest|DTOccupancyCluster") <<
" point is valid" << endl;
106 double dist = 99999999;
108 for(vector<DTOccupancyPoint>::const_iterator pt =
thePoints.begin();
111 if(distance < dist) {
145 int nBinsY,
double minY,
double maxY,
int fillColor)
const {
146 TH2F *
histo =
new TH2F(histoName.c_str(),histoName.c_str(),
148 histo->SetFillColor(fillColor);
149 for(vector<DTOccupancyPoint>::const_iterator pt =
thePoints.begin();
151 histo->Fill((*pt).mean(), (*pt).rms());
217 double radius_squared = 0;
218 for(vector<DTOccupancyPoint>::const_iterator pt_i =
thePoints.begin();
220 for(vector<DTOccupancyPoint>::const_iterator pt_j =
thePoints.begin();
222 radius_squared += TMath::Power(pt_i->distance(*pt_j),2);
225 radius_squared = radius_squared/(2*TMath::Power(
thePoints.size()+1,2));
239 for(vector<DTOccupancyPoint>::const_iterator
point =
thePoints.begin();
241 ret.insert((*point).layerId());
bool isValid() const
Check if the cluster candidate satisfies the quality requirements.
double mean() const
average cell occupancy in the layer
DTOccupancyCluster(const DTOccupancyPoint &firstPoint, const DTOccupancyPoint &secondPoint)
Constructor.
double deltaMean(const DTOccupancyPoint &anotherPoint) const
TH2F * getHisto(std::string histoName, int nBinsX, double minX, double maxX, int nBinsY, double minY, double maxY, int fillColor) const
get a TH2F displaying the cluster
double computeAverageRMS(const DTOccupancyPoint &onePoint, const DTOccupancyPoint &anotherPoint)
double maxMean() const
max average cell occupancy of the layers in the cluster
double deltaRMS(const DTOccupancyPoint &anotherPoint) const
double averageRMS() const
average RMS of the cell occpuancy distributions of the layers in the cluster
double rms() const
RMS of the distribution of the cell occupancies in the layer.
double computeMinRMS(const DTOccupancyPoint &onePoint, const DTOccupancyPoint &anotherPoint)
double maxRMS() const
max RMS of the cell occpuancy distributions of the layers in the cluster
std::vector< DTOccupancyPoint > thePoints
bool addPoint(const DTOccupancyPoint &anotherPoint)
double averageMean() const
average cell occupancy of the layers in the cluster
int nPoints() const
of layers belonging to the cluster
virtual ~DTOccupancyCluster()
Destructor.
double distance(const DTOccupancyPoint &anotherPoint) const
distance from another point in the 2D plane
std::set< DTLayerId > getLayerIDs() const
bool clusterIsLessThan(const DTOccupancyCluster &clusterOne, const DTOccupancyCluster &clusterTwo)
for DTOccupancyCluster sorting
double distance(const DTOccupancyPoint &point) const
*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
bool qualityCriterion(const DTOccupancyPoint &firstPoint, const DTOccupancyPoint &secondPoint)