FairRoot/PandaRoot
|
Searches for local maxima in a cluster. More...
#include <PndEmc2DLocMaxFinder.h>
Public Member Functions | |
PndEmc2DLocMaxFinder (Int_t verbose=0) | |
virtual | ~PndEmc2DLocMaxFinder () |
virtual InitStatus | Init () |
Init Task. More... | |
virtual void | Exec (Option_t *opt) |
Runs the task. More... | |
void | SetStorageOfData (Bool_t p=kTRUE) |
void | SetPersistency (Bool_t val=kTRUE) |
Bool_t | GetPersistency () |
Protected Member Functions | |
virtual void | SetParContainers () |
virtual bool | isALocalMax (const PndEmcDigi *const, const PndEmcCluster *const, const PndEmcCoordIndexSet &amongstTheseNeighbours) const |
Check if digi is a local maximum in its cluster. More... | |
Private Member Functions | |
void | getNeighbourDigis (PndEmcCoordIndexSet &, PndEmcCoordIndexSet &, int, std::map< Int_t, Int_t >) const |
Get the TCIs of neighbor digis. More... | |
PndEmc2DLocMaxFinder (const PndEmc2DLocMaxFinder &) | |
PndEmc2DLocMaxFinder & | operator= (const PndEmc2DLocMaxFinder &) |
ClassDef (PndEmc2DLocMaxFinder, 2) | |
Private Attributes | |
TClonesArray * | fClusterArray |
TClonesArray * | fDigiArray |
PndEmcGeoPar * | fGeoPar |
Geometry parameter container. More... | |
PndEmcDigiPar * | fDigiPar |
Digitisation parameter container. More... | |
PndEmcRecoPar * | fRecoPar |
Reconstruction parameter container. More... | |
Double_t | fMaxECut |
Double_t | fNeighbourECut |
Double_t | fCutSlope |
Double_t | fCutOffset |
Double_t | fERatioCorr |
Int_t | fTheNeighbourLevel |
Searches for local maxima in a cluster.
Definition at line 41 of file PndEmc2DLocMaxFinder.h.
PndEmc2DLocMaxFinder::PndEmc2DLocMaxFinder | ( | Int_t | verbose = 0 | ) |
Definition at line 51 of file PndEmc2DLocMaxFinder.cxx.
References PndPersistencyTask::SetPersistency().
|
virtual |
Definition at line 60 of file PndEmc2DLocMaxFinder.cxx.
|
private |
|
private |
|
virtual |
Runs the task.
For each cluster the local maxima digis are determined and added to the cluster.
opt | unused |
Definition at line 151 of file PndEmc2DLocMaxFinder.cxx.
References PndEmcCluster::addLocalMax(), fClusterArray, fDigiArray, fTheNeighbourLevel, getNeighbourDigis(), PndEmcMapper::GetTCI(), PndEmcMapper::Instance(), isALocalMax(), PndEmcCluster::LocalMaxMap(), PndEmcCluster::Maxima(), and PndEmcCluster::MemberDigiMap().
|
private |
Get the TCIs of neighbor digis.
[out] | allDigiNeighbours | TCIs of the neighbors |
[in,out] | currentDigiNeighbours | TCI of the digi for which the neighbors are to be found. Gets cleared. |
neighbourLevel | ignored | |
theClusterDigis | std::map of detector IDs and digi index in TClonesArray, as returned by PndEmcCluster::MemberDigiMap(). |
Definition at line 291 of file PndEmc2DLocMaxFinder.cxx.
References PndEmcMapper::GetTCI(), PndEmcMapper::Instance(), and PndEmcTwoCoordIndex::IsNeighbour().
Referenced by Exec().
|
inlineinherited |
Definition at line 32 of file PndPersistencyTask.h.
References PndPersistencyTask::fPersistency.
Referenced by PndLmdPixelHitProducerFast::GetPersistance(), PndMdtDigitization::Init(), PndMdtHitProducerIdeal::Init(), PndMdtClusterTask::Init(), PndFtsHitProducerRealFast::Init(), PndDiscTaskReconstruction::Init(), PndRichHitProducer::Init(), PndSttHitProducerRealFast::Init(), PndSttHelixHitProducer::Init(), PndDiscTaskPID::Init(), PndIdealTrackFinder::Init(), PndSttMvdGemTracking::Init(), PndMdtTrkProducer::Init(), PndFtsHitProducerRealFull::Init(), PndLmdPixelClusterTask::Init(), PndSttHitProducerRealFull::Init(), PndLmdStripClusterTask::Init(), PndEmcApdHitProducer::Init(), PndMissingPzCleanerTask::Init(), PndEmcMakeRecoHit::Init(), PndEmcMakeClusterOnline::Init(), PndTrackSmearTask::Init(), PndEmcFWEndcapTimebasedWaveforms::Init(), PndSttHitProducerIdeal::Init(), PndEmcFWEndcapDigi::Init(), PndFtsHitProducerIdeal::Init(), PndEmcMakeCluster::Init(), PndMdtPointsToWaveform::Init(), PndDiscTaskDigitization::Init(), PndEmcMakeDigi::Init(), PndSdsTimeWalkCorrTask::Init(), PndLmdPixelHitProducerFast::Init(), PndDrcHitFinder::Init(), PndRichHitFinder::Init(), PndEmcMakeCorr::Init(), PndFtofHitProducerIdeal::Init(), PndEmcHitsToWaveform::Init(), PndSciTDigiTask::Init(), PndDrcHitProducerIdeal::Init(), PndSdsHitProducerIdeal::Init(), PndSciTHitProducerIdeal::Init(), PndEmcHitProducer::Init(), PndRecoMultiKalmanTask2::Init(), PndDrcHitProducerReal::Init(), PndDskFLGHitProducerIdeal::Init(), PndEmcTmpWaveformToDigi::Init(), PndDrcDigiTask::Init(), PndEmcWaveformToDigi::Init(), PndSttMatchTracks::Init(), PndEmcWaveformToCalibratedDigi::Init(), PndTrkTracking2::Init(), PndSttFindTracks::Init(), PndEmcMultiWaveformToCalibratedDigi::Init(), PndDrcTimeDigiTask::Init(), PndRecoKalmanTask2::Init(), PndEmcExpClusterSplitter::Init(), PndSdsNoiseProducer::Init(), PndFtsHoughTrackerTask::Init(), PndEmcPhiBumpSplitter::Init(), PndSdsHybridHitProducer::Init(), PndSdsIdealRecoTask::Init(), PndRecoMultiKalmanTask::Init(), PndSdsIdealClusterTask::Init(), PndRecoKalmanTask::Init(), PndSdsStripHitProducerDif::Init(), PndSdsStripHitProducer::Init(), PndGemDigitize::Init(), PndGemFindHits::Init(), PndSdsPixelClusterTask::Init(), PndSdsStripClusterTask::Init(), PndMvdGemTrackFinderOnHits::Init(), PndBarrelTrackFinder::Init(), PndEmcFullDigiTask::PndEmcFullDigiTask(), PndEmcMakeBump::PndEmcMakeBump(), PndUnassignedHitsTask::RegisterBranches(), PndMvdClusterTask::SetPersistance(), PndMvdDigiTask::SetPersistance(), PndEmcMakeBump::SetStorageOfData(), and PndEmcFullDigiTask::StoreDigi().
|
virtual |
Init Task.
Prepares the TClonesArray of PndEmcDigi and PndEmcCluster for reading.
kSUCCESS | success |
Definition at line 75 of file PndEmc2DLocMaxFinder.cxx.
References fClusterArray, fCutOffset, fCutSlope, fDigiArray, fERatioCorr, fGeoPar, fMaxECut, fNeighbourECut, fRecoPar, fTheNeighbourLevel, PndEmcRecoPar::GetCutOffset(), PndEmcRecoPar::GetCutSlope(), PndEmcRecoPar::GetERatioCorr(), PndEmcRecoPar::GetMaxECut(), PndEmcRecoPar::GetNeighbourECut(), PndEmcRecoPar::GetTheNeighbourLevel(), PndEmcGeoPar::InitEmcMapper(), and PndEmcStructure::Instance().
|
protectedvirtual |
Check if digi is a local maximum in its cluster.
Test to see whether the given Digi is a local maximum, within the set of crystals given in "amongstTheseNeighbours". Note that this set need all be crystals that actually were within the cluster.
Determines if theDigi
is a local maximum amongst its neigbors given in amongstTheseNeighbours
. The digi not only needs to have a higher energy than the neighbors, but has to also be above PndEmcRecoPar::GetMaxECut() and conditions for the ratio of digi energy and neighbor energies have to be fullfilled (see graph/comment in Init()).
theDigi | Digi to check |
theCluster | Cluster of the digi |
amongstTheseNeighbours | Neighbors of the digi |
true | Digi fullfills conditions to be considered a local maximum. |
Definition at line 220 of file PndEmc2DLocMaxFinder.cxx.
References Bool_t, digi, Double_t, fCutOffset, fCutSlope, fDigiArray, fERatioCorr, fMaxECut, fNeighbourECut, fVerbose, PndEmcDigi::GetEnergy(), PndEmcDigi::GetPhiInt(), PndEmcDigi::GetThetaInt(), and PndEmcCluster::MemberDigiMap().
Referenced by Exec().
|
private |
|
protectedvirtual |
Get parameter containers
Definition at line 318 of file PndEmc2DLocMaxFinder.cxx.
References fDigiPar, fGeoPar, fRecoPar, and run.
|
inlineinherited |
Definition at line 31 of file PndPersistencyTask.h.
References PndPersistencyTask::fPersistency, and val.
Referenced by barrelTrackFinder(), digi_complete(), digi_complete_newSTT(), digiOnly_complete(), PndBarrelTrackFinder::PndBarrelTrackFinder(), PndCATracking::PndCATracking(), PndDrcHitFinder::PndDrcHitFinder(), PndEmc2DLocMaxFinder(), PndEmcExpClusterSplitter::PndEmcExpClusterSplitter(), PndEmcFullDigiTask::PndEmcFullDigiTask(), PndEmcFWEndcapDigi::PndEmcFWEndcapDigi(), PndEmcFWEndcapTimebasedWaveforms::PndEmcFWEndcapTimebasedWaveforms(), PndEmcHitProducer::PndEmcHitProducer(), PndEmcHitsToWaveform::PndEmcHitsToWaveform(), PndEmcMakeBump::PndEmcMakeBump(), PndEmcMakeCluster::PndEmcMakeCluster(), PndEmcMakeClusterOnline::PndEmcMakeClusterOnline(), PndEmcMakeDigi::PndEmcMakeDigi(), PndEmcMakeRecoHit::PndEmcMakeRecoHit(), PndEmcMultiWaveformToCalibratedDigi::PndEmcMultiWaveformToCalibratedDigi(), PndEmcPhiBumpSplitter::PndEmcPhiBumpSplitter(), PndEmcTmpWaveformToDigi::PndEmcTmpWaveformToDigi(), PndEmcWaveformToCalibratedDigi::PndEmcWaveformToCalibratedDigi(), PndEmcWaveformToDigi::PndEmcWaveformToDigi(), PndFtofHitProducerIdeal::PndFtofHitProducerIdeal(), PndFtsCATracking::PndFtsCATracking(), PndFtsHitProducerIdeal::PndFtsHitProducerIdeal(), PndFtsHitProducerRealFast::PndFtsHitProducerRealFast(), PndFtsHitProducerRealFull::PndFtsHitProducerRealFull(), PndFtsHoughTrackerTask::PndFtsHoughTrackerTask(), PndGemDigitize::PndGemDigitize(), PndGemFindHits::PndGemFindHits(), PndIdealTrackFinder::PndIdealTrackFinder(), PndLmdPixelClusterTask::PndLmdPixelClusterTask(), PndLmdPixelHitProducerFast::PndLmdPixelHitProducerFast(), PndMdtClusterTask::PndMdtClusterTask(), PndMdtDigitization::PndMdtDigitization(), PndMdtHitProducerIdeal::PndMdtHitProducerIdeal(), PndMdtPointsToWaveform::PndMdtPointsToWaveform(), PndMdtTrkProducer::PndMdtTrkProducer(), PndMissingPzCleanerTask::PndMissingPzCleanerTask(), PndMvdGemTrackFinderOnHits::PndMvdGemTrackFinderOnHits(), PndMvdHitProducerIdeal::PndMvdHitProducerIdeal(), PndMvdPixelClusterTask::PndMvdPixelClusterTask(), PndMvdTimeWalkCorrTask::PndMvdTimeWalkCorrTask(), PndMvdToPix4ClusterTask::PndMvdToPix4ClusterTask(), PndRecoKalmanTask::PndRecoKalmanTask(), PndRecoKalmanTask2::PndRecoKalmanTask2(), PndRecoMultiKalmanTask::PndRecoMultiKalmanTask(), PndRecoMultiKalmanTask2::PndRecoMultiKalmanTask2(), PndRichHitFinder::PndRichHitFinder(), PndRichHitProducer::PndRichHitProducer(), PndSciTDigiTask::PndSciTDigiTask(), PndSciTHitProducerIdeal::PndSciTHitProducerIdeal(), PndSdsHitProducerIdeal::PndSdsHitProducerIdeal(), PndSdsHybridHitProducer::PndSdsHybridHitProducer(), PndSdsIdealClusterTask::PndSdsIdealClusterTask(), PndSdsIdealRecoTask::PndSdsIdealRecoTask(), PndSdsNoiseProducer::PndSdsNoiseProducer(), PndSdsPixelClusterTask::PndSdsPixelClusterTask(), PndSdsStripClusterTask::PndSdsStripClusterTask(), PndSdsStripHitProducer::PndSdsStripHitProducer(), PndSdsTimeWalkCorrTask::PndSdsTimeWalkCorrTask(), PndSttFindTracks::PndSttFindTracks(), PndSttHelixHitProducer::PndSttHelixHitProducer(), PndSttHitProducerIdeal::PndSttHitProducerIdeal(), PndSttHitProducerRealFast::PndSttHitProducerRealFast(), PndSttHitProducerRealFull::PndSttHitProducerRealFull(), PndSttMatchTracks::PndSttMatchTracks(), PndSttMvdGemTracking::PndSttMvdGemTracking(), PndTrackSmearTask::PndTrackSmearTask(), PndTrkTracking2::PndTrkTracking2(), reco(), reco_complete(), reco_complete_gf2(), reco_complete_newSTT(), reco_complete_sec(), recoideal_complete(), PndMvdClusterTask::SetPersistance(), PndMvdDigiTask::SetPersistance(), PndLmdPixelHitProducerFast::SetPersistance(), PndSdsHitProducerIdeal::SetPersistance(), PndSttMvdGemTracking::SetPersistenc(), PndMdtClusterTask::SetPersistence(), PndSttHelixHitProducer::SetPersistence(), PndMissingPzCleanerTask::SetPersistence(), PndFtsHitProducerRealFast::SetPersistence(), PndFtsHitProducerRealFull::SetPersistence(), PndSttHitProducerIdeal::SetPersistence(), PndSttHitProducerRealFull::SetPersistence(), PndSttHitProducerRealFast::SetPersistence(), PndFtsHitProducerIdeal::SetPersistence(), PndTrackSmearTask::SetPersistence(), PndSciTHitProducerIdeal::SetPersistence(), PndIdealTrackFinder::SetPersistence(), PndSttMatchTracks::SetPersistence(), PndSttFindTracks::SetPersistence(), PndFtsHoughTrackerTask::SetPersistence(), PndTrkTracking2::SetPersistence(), PndEmcMakeRecoHit::SetStorageOfData(), PndEmcMakeClusterOnline::SetStorageOfData(), PndEmcFWEndcapDigi::SetStorageOfData(), PndEmcFWEndcapTimebasedWaveforms::SetStorageOfData(), PndEmcMakeDigi::SetStorageOfData(), PndMdtPointsToWaveform::SetStorageOfData(), SetStorageOfData(), PndEmcMakeCluster::SetStorageOfData(), PndEmcHitsToWaveform::SetStorageOfData(), PndEmcMakeBump::SetStorageOfData(), PndEmcTmpWaveformToDigi::SetStorageOfData(), PndEmcWaveformToDigi::SetStorageOfData(), PndEmcWaveformToCalibratedDigi::SetStorageOfData(), PndEmcMultiWaveformToCalibratedDigi::SetStorageOfData(), PndEmcExpClusterSplitter::SetStorageOfData(), PndEmcPhiBumpSplitter::SetStorageOfData(), standard_tracking(), and PndEmcFullDigiTask::StoreDigi().
|
inline |
Definition at line 52 of file PndEmc2DLocMaxFinder.h.
References p, and PndPersistencyTask::SetPersistency().
Referenced by digi_sttcombi().
|
private |
Input array of PndEmcClusters
Definition at line 73 of file PndEmc2DLocMaxFinder.h.
|
private |
Definition at line 85 of file PndEmc2DLocMaxFinder.h.
Referenced by Init(), and isALocalMax().
|
private |
Definition at line 84 of file PndEmc2DLocMaxFinder.h.
Referenced by Init(), and isALocalMax().
|
private |
Input array of PndEmcDigis
Definition at line 75 of file PndEmc2DLocMaxFinder.h.
Referenced by Exec(), Init(), and isALocalMax().
|
private |
Digitisation parameter container.
Definition at line 78 of file PndEmc2DLocMaxFinder.h.
Referenced by SetParContainers().
|
private |
Definition at line 86 of file PndEmc2DLocMaxFinder.h.
Referenced by Init(), and isALocalMax().
|
private |
Geometry parameter container.
Definition at line 77 of file PndEmc2DLocMaxFinder.h.
Referenced by Init(), and SetParContainers().
|
private |
Definition at line 82 of file PndEmc2DLocMaxFinder.h.
Referenced by Init(), and isALocalMax().
|
private |
Definition at line 83 of file PndEmc2DLocMaxFinder.h.
Referenced by Init(), and isALocalMax().
|
private |
Reconstruction parameter container.
Definition at line 79 of file PndEmc2DLocMaxFinder.h.
Referenced by Init(), and SetParContainers().
|
private |
Definition at line 87 of file PndEmc2DLocMaxFinder.h.