![]() |
AliRoot Core
v5-06-30 (35d6c57)
|
Cluster finder in MUON arm of ALICE. More...
#include <AliMUONClusterFinderPeakCOG.h>
Public Member Functions | |
AliMUONClusterFinderPeakCOG (Bool_t plot, AliMUONVClusterFinder *clusterFinder) | |
virtual | ~AliMUONClusterFinderPeakCOG () |
virtual Bool_t | NeedSegmentation () const |
It needs segmentation. More... | |
virtual Bool_t | Prepare (Int_t detElemId, TObjArray *pads[2], const AliMpArea &area, const AliMpVSegmentation *seg[2]) |
virtual AliMUONCluster * | NextCluster () |
virtual void | Print (Option_t *opt="") const |
![]() | |
AliMUONVClusterFinder () | |
virtual | ~AliMUONVClusterFinder () |
virtual Bool_t | Prepare (Int_t detElemId, TObjArray *pads[2], const AliMpArea &area) |
virtual Bool_t | UsePad (const AliMUONPad &pad) |
virtual void | SetChargeHints (Double_t, Double_t) |
Private Member Functions | |
AliMUONClusterFinderPeakCOG (const AliMUONClusterFinderPeakCOG &rhs) | |
Not implemented. More... | |
AliMUONClusterFinderPeakCOG & | operator= (const AliMUONClusterFinderPeakCOG &rhs) |
Not implemented. More... | |
Bool_t | WorkOnPreCluster () |
AliMUONCluster * | CheckPrecluster (const AliMUONCluster &cluster) |
Check precluster to simplify it (if possible), and return the simplified cluster. More... | |
AliMUONCluster * | CheckPreclusterTwoCathodes (AliMUONCluster *cluster) |
Bool_t | Overlap (const AliMUONPad &pad, const AliMUONPad &pixel) |
Checks whether a pad and a pixel have an overlapping area. More... | |
void | BuildPixArray (AliMUONCluster &cluster) |
build array of pixels More... | |
void | BuildPixArrayOneCathode (AliMUONCluster &cluster) |
void | PadOverHist (Int_t idir, Int_t ix0, Int_t iy0, AliMUONPad *pad, TH2D *h1, TH2D *h2) |
void | RemovePixel (Int_t i) |
AliMUONPad * | Pixel (Int_t i) const |
Int_t | FindLocalMaxima (TObjArray *pixArray, Int_t *localMax, Double_t *maxVal) |
void | FlagLocalMax (TH2D *hist, Int_t i, Int_t j, Int_t *isLocalMax) |
void | FindCluster (AliMUONCluster &cluster, const Int_t *localMax, Int_t iMax) |
void | PadsInXandY (AliMUONCluster &cluster, Int_t &nInX, Int_t &nInY) const |
void | CheckOverlaps () |
Private Attributes | |
AliMUONVClusterFinder * | fPreClusterFinder |
! the pre-clustering worker More... | |
AliMUONCluster * | fPreCluster |
! current pre-cluster More... | |
TObjArray | fClusterList |
! clusters corresponding to the current pre-cluster More... | |
Int_t | fEventNumber |
! current event being processed More... | |
Int_t | fDetElemId |
! current DE being processed More... | |
Int_t | fClusterNumber |
! current cluster number More... | |
const AliMpVSegmentation * | fkSegmentation [2] |
! new segmentation More... | |
TH2D * | fHistAnode |
! histo for peak search More... | |
TObjArray * | fPixArray |
! collection of pixels More... | |
Int_t | fDebug |
! debug level More... | |
Bool_t | fPlot |
! whether we should plot thing (for debug only, quite slow!) More... | |
Int_t | fNClusters |
! total number of clusters More... | |
Int_t | fNAddVirtualPads |
! number of clusters for which we added virtual pads More... | |
Static Private Attributes | |
static const Int_t | fgkZero = 0x0 |
pad "basic" state More... | |
static const Int_t | fgkMustKeep = 0x1 |
do not kill (for pixels) More... | |
static const Int_t | fgkUseForFit = 0x10 |
should be used for fit More... | |
static const Int_t | fgkOver = 0x100 |
processing is over More... | |
static const Int_t | fgkModified = 0x1000 |
modified pad charge More... | |
static const Int_t | fgkCoupled = 0x10000 |
coupled pad More... | |
static const Double_t | fgkZeroSuppression = 6 |
average zero suppression value More... | |
static const Double_t | fgkDistancePrecision = 1e-3 |
used to check overlaps and so on More... | |
static const TVector2 | fgkIncreaseSize |
idem More... | |
static const TVector2 | fgkDecreaseSize |
idem More... | |
Cluster finder in MUON arm of ALICE.
Clusterizer class based on simple peak finder
Pre-clustering is handled by AliMUONPreClusterFinder From a precluster a pixel array is built, and its local maxima are used to get pads and compute pad center of gravity.
Definition at line 28 of file AliMUONClusterFinderPeakCOG.h.
AliMUONClusterFinderPeakCOG::AliMUONClusterFinderPeakCOG | ( | Bool_t | plot, |
AliMUONVClusterFinder * | clusterFinder | ||
) |
Constructor
Definition at line 69 of file AliMUONClusterFinderPeakCOG.cxx.
|
virtual |
Destructor
Definition at line 92 of file AliMUONClusterFinderPeakCOG.cxx.
|
private |
Not implemented.
|
private |
build array of pixels
Build pixel array
Definition at line 510 of file AliMUONClusterFinderPeakCOG.cxx.
Referenced by WorkOnPreCluster().
|
private |
Build the pixel array
Definition at line 529 of file AliMUONClusterFinderPeakCOG.cxx.
Referenced by BuildPixArray().
|
private |
For debug only : check if some pixels overlap...
Definition at line 470 of file AliMUONClusterFinderPeakCOG.cxx.
|
private |
Check precluster to simplify it (if possible), and return the simplified cluster.
Check precluster in order to attempt to simplify it (mostly for two-cathode preclusters)
Definition at line 251 of file AliMUONClusterFinderPeakCOG.cxx.
Referenced by WorkOnPreCluster().
|
private |
Check two-cathode cluster
Definition at line 285 of file AliMUONClusterFinderPeakCOG.cxx.
Referenced by CheckPrecluster().
|
private |
Find pixel cluster around local maximum iMax and pick up pads overlapping with it
Definition at line 787 of file AliMUONClusterFinderPeakCOG.cxx.
Referenced by WorkOnPreCluster().
|
private |
Find local maxima in pixel space
Definition at line 682 of file AliMUONClusterFinderPeakCOG.cxx.
Referenced by WorkOnPreCluster().
|
private |
Flag pixels (whether or not local maxima)
Definition at line 753 of file AliMUONClusterFinderPeakCOG.cxx.
Referenced by FindLocalMaxima().
|
inlinevirtual |
It needs segmentation.
Reimplemented from AliMUONVClusterFinder.
Definition at line 35 of file AliMUONClusterFinderPeakCOG.h.
|
virtual |
Return next cluster
Implements AliMUONVClusterFinder.
Definition at line 138 of file AliMUONClusterFinderPeakCOG.cxx.
|
private |
Not implemented.
Protected assignement operator
Definition at line 925 of file AliMUONClusterFinderPeakCOG.cxx.
|
private |
Checks whether a pad and a pixel have an overlapping area.
Check if the pad and the pixel overlaps
Definition at line 237 of file AliMUONClusterFinderPeakCOG.cxx.
Referenced by FindCluster().
|
private |
"Span" pad over histogram in the direction idir
Definition at line 635 of file AliMUONClusterFinderPeakCOG.cxx.
Referenced by BuildPixArrayOneCathode().
|
private |
Find number of pads in X and Y-directions (excluding virtual ones and overflows)
Definition at line 937 of file AliMUONClusterFinderPeakCOG.cxx.
|
private |
Returns pixel at index i
Definition at line 968 of file AliMUONClusterFinderPeakCOG.cxx.
Referenced by CheckOverlaps(), and RemovePixel().
|
virtual |
Prepare for clustering
Reimplemented from AliMUONVClusterFinder.
Definition at line 103 of file AliMUONClusterFinderPeakCOG.cxx.
|
virtual |
printout
Definition at line 976 of file AliMUONClusterFinderPeakCOG.cxx.
|
private |
Remove pixel at index i
Definition at line 958 of file AliMUONClusterFinderPeakCOG.cxx.
|
private |
Starting from a precluster, builds a pixel array, and then extract clusters from this array
Definition at line 185 of file AliMUONClusterFinderPeakCOG.cxx.
Referenced by NextCluster().
|
private |
! clusters corresponding to the current pre-cluster
Definition at line 95 of file AliMUONClusterFinderPeakCOG.h.
Referenced by FindCluster(), NextCluster(), and Prepare().
|
private |
! current cluster number
Definition at line 99 of file AliMUONClusterFinderPeakCOG.h.
Referenced by NextCluster(), and Prepare().
|
private |
! debug level
Definition at line 105 of file AliMUONClusterFinderPeakCOG.h.
Referenced by CheckPreclusterTwoCathodes(), FindCluster(), FindLocalMaxima(), and WorkOnPreCluster().
|
private |
! current DE being processed
Definition at line 98 of file AliMUONClusterFinderPeakCOG.h.
Referenced by CheckPreclusterTwoCathodes(), FindCluster(), Prepare(), and WorkOnPreCluster().
|
private |
! current event being processed
Definition at line 97 of file AliMUONClusterFinderPeakCOG.h.
Referenced by Prepare(), and WorkOnPreCluster().
|
staticprivate |
coupled pad
Definition at line 84 of file AliMUONClusterFinderPeakCOG.h.
|
staticprivate |
idem
Definition at line 91 of file AliMUONClusterFinderPeakCOG.h.
Referenced by CheckOverlaps(), CheckPreclusterTwoCathodes(), and Overlap().
|
staticprivate |
used to check overlaps and so on
Definition at line 89 of file AliMUONClusterFinderPeakCOG.h.
Referenced by BuildPixArrayOneCathode(), FindCluster(), and PadOverHist().
|
staticprivate |
idem
Definition at line 90 of file AliMUONClusterFinderPeakCOG.h.
|
staticprivate |
modified pad charge
Definition at line 83 of file AliMUONClusterFinderPeakCOG.h.
|
staticprivate |
do not kill (for pixels)
Definition at line 80 of file AliMUONClusterFinderPeakCOG.h.
|
staticprivate |
processing is over
Definition at line 82 of file AliMUONClusterFinderPeakCOG.h.
|
staticprivate |
should be used for fit
Definition at line 81 of file AliMUONClusterFinderPeakCOG.h.
Referenced by PadsInXandY().
|
staticprivate |
pad "basic" state
Definition at line 79 of file AliMUONClusterFinderPeakCOG.h.
Referenced by PadsInXandY().
|
staticprivate |
average zero suppression value
Definition at line 88 of file AliMUONClusterFinderPeakCOG.h.
|
private |
! histo for peak search
Definition at line 103 of file AliMUONClusterFinderPeakCOG.h.
Referenced by FindCluster(), FindLocalMaxima(), and WorkOnPreCluster().
|
private |
! new segmentation
Definition at line 101 of file AliMUONClusterFinderPeakCOG.h.
Referenced by CheckPreclusterTwoCathodes(), and Prepare().
|
private |
! number of clusters for which we added virtual pads
Definition at line 109 of file AliMUONClusterFinderPeakCOG.h.
Referenced by ~AliMUONClusterFinderPeakCOG().
|
private |
! total number of clusters
Definition at line 108 of file AliMUONClusterFinderPeakCOG.h.
Referenced by ~AliMUONClusterFinderPeakCOG().
|
private |
! collection of pixels
Definition at line 104 of file AliMUONClusterFinderPeakCOG.h.
Referenced by BuildPixArray(), BuildPixArrayOneCathode(), CheckOverlaps(), FindLocalMaxima(), Pixel(), RemovePixel(), WorkOnPreCluster(), and ~AliMUONClusterFinderPeakCOG().
|
private |
! whether we should plot thing (for debug only, quite slow!)
Definition at line 106 of file AliMUONClusterFinderPeakCOG.h.
Referenced by WorkOnPreCluster().
|
private |
! current pre-cluster
Definition at line 94 of file AliMUONClusterFinderPeakCOG.h.
Referenced by CheckPreclusterTwoCathodes(), NextCluster(), Print(), and WorkOnPreCluster().
|
private |
! the pre-clustering worker
Definition at line 93 of file AliMUONClusterFinderPeakCOG.h.
Referenced by NextCluster(), Prepare(), and ~AliMUONClusterFinderPeakCOG().