51 theMaxMean(singlePoint.
mean()),
52 theMaxRMS(singlePoint.
rms()),
53 theMeanSum(singlePoint.
mean()),
54 theRMSSum(singlePoint.
rms()) {
71 LogTrace(
"DTDQM|DTMonitorClient|DTOccupancyTest|DTOccupancyCluster")
72 <<
" Add a point to the cluster: mean: " << anotherPoint.
mean()
73 <<
" rms: " << anotherPoint.
rms() << endl;
75 LogTrace(
"DTDQM|DTMonitorClient|DTOccupancyTest|DTOccupancyCluster") <<
" point is valid" << endl;
98 double dist = 99999999;
100 for(vector<DTOccupancyPoint>::const_iterator
pt =
thePoints.begin();
103 if(distance < dist) {
137 int nBinsY,
double minY,
double maxY,
int fillColor)
const {
138 TH2F *
histo =
new TH2F(histoName.c_str(),histoName.c_str(),
139 nBinsX, minX, maxX, nBinsY, minY, maxY);
140 histo->SetFillColor(fillColor);
141 for(vector<DTOccupancyPoint>::const_iterator
pt =
thePoints.begin();
143 histo->Fill((*pt).mean(), (*pt).rms());
180 double radius_squared = 0;
181 for(vector<DTOccupancyPoint>::const_iterator pt_i =
thePoints.begin();
183 for(vector<DTOccupancyPoint>::const_iterator pt_j =
thePoints.begin();
185 radius_squared += TMath::Power(pt_i->distance(*pt_j),2);
188 radius_squared = radius_squared/(2*TMath::Power(
thePoints.size()+1,2));
201 for(vector<DTOccupancyPoint>::const_iterator
point =
thePoints.begin();
203 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)